With error correction enabled, the error correction method is selectable. The available methods are correction by repair, correction by enhanced repair, and correction by replace. The controller corrects errors using the method you selected. The correction possibilities are:
Correction by Repair
• Correction by repair for one-bit errors. The ECC syndrome is used to identify the exact location of the error in a frame. The frame containing the error is read, the relevant bit inverted, and the frame is written back. This is signaled as correctable.
Correction by Enhanced Repair
• Correction by repair for one-bit and two-bit adjacent errors. For one-bit errors, the behavior is identical to correction by repair. For two-bit errors, an enhanced CRC-based algorithm capable of correcting two-bit adjacent errors is used. The frame containing the error is read, the relevant bits inverted, and the frame is written back. This is signaled as correctable.
Correction by Replace
• Correction by replace for one-bit and multi-bit errors. The frame containing the error is read. The controller requests replacement data for the entire frame from the Fetch Interface. When the replacement data is available, the controller compares the damaged frame with the replacement frame to identify the location of the errors. Then, the replacement data is written back. This is signaled as correctable.
The difference between repair, enhanced repair, and replace methods becomes clear when considering what happens in the uncommon case of errors involving more bits than can be corrected by the repair or enhanced repair methods. In these cases, the repair or enhanced repair methods does not yield a successful correction. However, if such errors are corrected by the replace method, the error is correctable regardless of how many bits were affected.
The fundamental trade-off between the methods is error correction success rate versus the cost of adding or increasing data storage requirements. Using correction by repair as the baseline for comparison:
• Correction by enhanced repair provides superior correction capability through use of additional block RAM to store frame-level CRCs.
• Correction by replace provides ultimate correction capability through the addition of external SPI flash to store “golden” frame replacement data.
EasyPath™ devices are not compatible with the error correction by replace method.