Intel
®
81341 and 81342 I/O Processors
December 2007
Developer’s Manual
Order Number: 315037-002US
623
DDR SDRAM Memory Controller—Intel
®
81341 and 81342
7.5.2
Multi-bit Error Detection
When a multi-bit error occurs during a read or write transaction and error reporting is
enabled, the DMCU sets DMCISR[0] or DMCISR[1] which asserts an interrupt to the
core. Upon receiving an interrupt, the core knows the interrupt was caused by a
multi-bit error by polling the DELOGx registers.
When DMCU detects a multi-bit error during a read cycle and ECC calculation is enabled
in the DECCR, the DMCU target aborts the transaction in the NIBPTQ or SIBPTQ,
indicating to the internal bus masters that an unrecoverable error has been detected.
For direct port transactions issued by the Application DMAs, when a multi-bit error is
detected during a read cycle, the DMCU signals a target abort to the agent. The DMCU
records the error type in DELOGx and the address in DEARx.
When DMCU detects a multi-bit error during a write
24
cycle and error reporting is
enabled in the DECCR, the DMCU records the first multi-bit error by programming
DELOGx and DEARx. The DMCU generates new ECC with the data before sending it on
DQ[63:0]
so the contents of memory after the read-modify-write cycle are corrupted
with correct ECC.
When a second error occurs before software clears the first by resetting DMCISR[0] or
DMCISR[1], the error is recorded in the remaining DELOGx/DEARx register. When none
are available, the error is not logged but the DMCU carries out the action described in
.
It is interrupt handler responsibility to decide how to handle this error condition and
clear the DMCISR.
24.Any error condition during a write cycle actually occurs while performing the read portion of a
read-modify-write on a partial write. See
Section 7.3.4.1, “DDR ECC Generation” on page 608
for
details.