Beim Ausführen von Schreib- und Lesetransaktionen an den MPFE-Ports des Hard Memory Controller (HMC) können Sie beobachten, dass die Lesetransaktionen vor den Schreibtransaktionen ausgeführt werden, selbst wenn die Schreibpriorität höher ist. Daher können die gelesenen Daten falsch sein.
Zum Beispiel, wenn Ihre HMC MPFE-Ports wie folgt eingestellt sind:
Port0 ist schreibgeschützt konfiguriert, die Priorität ist auf 7 und die Gewichtung auf 0 gesetzt
Port1 ist schreibgeschützt konfiguriert, die Priorität ist auf 1 und die Gewichtung auf 0 gesetzt
Wenn Sie gleichzeitig eine Schreibanforderung auf Port0 ausführen, um 'addr0' mit den Daten 'data0' zu adressieren, und eine Leseanforderung auf Port1, um 'addr0' zu adressieren, sollte das Zurücklesen der Daten immer 'data0' sein. In der HMC gibt es ein Problem, bei dem die gelesenen Daten nicht den Erwartungen entsprechen.
Die Problemumgehung besteht darin, die Ausführung von Leseanforderungen für einen Adressbereich zu verzögern, bis alle Schreibanforderungen an denselben Adressbereich abgeschlossen sind. Ein alternativer Ansatz besteht darin, aus einem anderen Speicherbereich zu lesen als dem, in den geschrieben wird.