
6-22
MPC106 PCIB/MC User's Manual
MOTOROLA
from memory. The MPC106 then generates new parity for the merged double word and
writes the data and parity to memory. If page mode retention is enabled (PGMAX
≠
0), the
MPC106 keeps the memory in page mode for the read-modify-write sequence.
Since the processor drives all eight parity bits during 60x burst writes to system memory,
these transactions go directly to the DRAMs with no performance penalty. All other
transactions are unaffected and operate as in normal parity mode.
6.3.9 ECC
As an alternative to simple parity, the MPC106 supports ECC for the data path between the
MPC106 and system memory. ECC not only allows the MPC106 to detect errors in the
memory data path, but also allows the MPC106 to correct single-bit errors in the 64-bit data
path. The ECC logic in the MPC106 detects and corrects all single-bit errors and detects all
double-bit errors and all errors within a nibble. Other errors may be detected, but are not
guaranteed to be corrected. Multibit errors are always reported. However, when a single-bit
error occurs, the single-bit error counter register is incremented and its value compared to
the single-bit error trigger register. If the values are not equal, no error is reported; if the
values are equal, then an error is reported. Thus, the single-bit error registers may be
programmed such that minor faults with memory are corrected and ignored, but a
catastrophic memory failure generates an interrupt.
The MPC106 supports concurrent ECC for the DRAM/EDO data path and parity for the
60x processor/L2 cache data path. ECC and parity may be independently enabled or
disabled. The eight signals used for ECC (PAR[0–7]) are also used for 60x processor/L2
cache parity. The MPC106 checks ECC on all memory reads (provided ECC_EN = 1), and
generates parity on all 60x processor reads that are latched by the L2 cache (provided
PCKEN = 1). The parity path and data path buffers effectively isolate the ECC (106 to/from
memory) transactions from the parity (106 to/from 60x/L2) transactions.
6.3.9.1 DRAM/EDO Interface Timing with ECC
When ECC is enabled, the time required to check/generate the ECC codes increases access
latency. Figure 6-11 through Figure 6-13 illustrate DRAM/EDO timing for various types of
accesses with ECC enabled; see Figure 6-11 for a DRAM burst read operation, Figure 6-12
for an EDO burst read operation, and Figure 6-13 for a single-beat write operation.
For processor burst reads from system memory, checking the ECC codes for errors requires
an additional two clock cycles for the first data returned, and at least four clock cycles for
subsequent beats. If an asynchronous L2 cache is used in the system, then the subsequent
beats require a minimum of five clock cycles. These requirements do not depend on the
buffer type or whether DRAM or EDO is used for system memory.