SPRZ452I july 2018 – may 2023 AM6526 , AM6528 , AM6546 , AM6548
DDRSS: DDR Controller ECC Scrubbing Feature Can Cause DRAM Data Corruption
AM65x SR 2.1, SR 2.0, SR 1.0
The DDR controller implements a built-in ECC scrubbing feature that is used for correcting single-bit errors in the DRAM. When this feature is enabled (DDRCTL_ECCCFG0[4] DIS_SCRUB = 0), the controller schedules an ECC scrub operation when a single-bit error is detected. However, in some cases, the ECC scrub operation can lead to accidental auto-correction of two-bit errors in an another DRAM location, thus corrupting the data inside the DRAM.
The ECC scrubbing feature inside the DDR controller must be kept disabled at all times by setting DIS_SCRUB = 1 in the DDR controller's ECC Configuraion 0 (DDRCTRL_ECCCFG0) register.