13.07.2015 Views

Intel 80312 I/O Companion Chip - ECEE

Intel 80312 I/O Companion Chip - ECEE

Intel 80312 I/O Companion Chip - ECEE

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Intel</strong> ® <strong>80312</strong> I/O <strong>Companion</strong> <strong>Chip</strong>Memory Controller3.2.4.4 ScrubbingWhen error reporting is enabled in the ECCR and the MCU detects a nibble, single-bit, ordouble-bit error, the MCU stores the address in ECARx and the syndrome in ELOGx. Softwaredecides how to proceed through an interrupt handler. By registering the address in ECARx,software can identify the faulty DIMM.For details about the MCU error conditions and how the MMR registers are affected, refer toSection 3.4, “Interrupts/Error Conditions” on page 3-41.Fixing the data error in memory is called scrubbing. The <strong>Intel</strong> ® <strong>80312</strong> I/O companion chip relieson software scrubbing. Once the MCU detects an error during a read, the MCU writes the addresswhere the error occurred in the ECARx register, updates the ELOGx register with informationregarding the error and interrupts the <strong>Intel</strong> ® 80200 processor with an IRQ# interrupt. The <strong>Intel</strong> ®80200 processor decides how to fix the error through an interrupt handler. Software could decide toperform the scrubbing on:• the data location that failed• theentirerowofthedatathatfailed• the entire memoryThe interrupt handler should perform the following actions.1. Turn off ECC error reporting.Note:Since the scrubbing routine reads the failed location in order to fix the single-bit error, a second error isreported. Therefore, software should disable single-bit ECC reporting (ECCR[0]) during the scrubbingroutine.2. Read the MCISR register and store the results. Determine which ECAR/ELOG register theMCU used to record the ECC error. Note: This is a read clear register.3. Check the ELOGx register for information about the ECC error. Determine when the error is asingle bit or multi-bit error. Double-bit or nibble errors cannot be fixed. When it’s a single-biterror, continue.4. Do an atomic read, modify, write to the address specified in the ECARx register. The error isfixed by the MCU when it reads the memory location and stores the value in the register, thenthe corrected data is written back to the memory location.5. Turn on ECC error reporting.6. Exit from ISR.7. Read from the address specified in the ECARx register again.8. When no errors are reported (through an interrupt), the scrubbing procedure worked.9. When another error is generated, treat this as a multi-bit error.Developer’s Manual 3-31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!