对硬内存控制器 (HMC) MPFE 端口执行写入和读取事务时,您可能会观察到读事务在写入事务之前执行,即使写入优先级更高。因此,读取的数据可能不正确。
例如,如果 HMC MPFE 端口设置如下:
端口 0 配置为只写,优先级设置为 7,权重设置为 0
端口 1 配置为只读,优先级设置为 1,权重设置为 0
如果在端口 0 上执行写入请求以使用数据“data0”寻址“addr0”,在端口 1 上执行读取请求以同时对“addr0”进行寻址,则数据读回应始终为“data0”。HMC 中存在读取数据不符合预期的问题。
解决方法是延迟对地址范围执行读取请求,直到对同一地址范围的所有写入请求都完成。另一种方法是从与要写入的区域不同的内存区域读取。