Al realizar transacciones de escritura y lectura en los puertos MPFE del controlador de memoria dura (HMC), puede observar que las transacciones de lectura se realizan antes que las transacciones de escritura, incluso cuando la prioridad de escritura es mayor. Como resultado, los datos de lectura pueden ser incorrectos.
Por ejemplo, si los puertos MPFE de la HMC están configurados de la siguiente manera:
El puerto 0 se configura como de solo escritura, la prioridad establecida en 7 y el peso se establece en 0
El puerto 1 está configurado como de solo lectura, la prioridad establecida en 1 y el peso establecido en 0
Si realiza una solicitud de escritura en el puerto 0 para dirigir 'addr0' con los datos 'data0' y una solicitud de lectura en el puerto 1 para dirigirse a 'addr0' simultáneamente, la lectura de datos siempre debe ser 'data0'. Hay un problema en la HMC donde los datos de lectura no son los esperados.
La solución consiste en retrasar la realización de solicitudes de lectura a un intervalo de direcciones hasta que se completen todas las solicitudes de escritura al mismo intervalo de direcciones. Un enfoque alternativo es leer desde una región de la memoria diferente a la que se está escribiendo.