bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit 0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit 0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit 0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit 0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit 0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit 0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit 0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit 0
Row 0
Row 1
Row 2
Row 3
Row 252
Row 253
Row 254
Row 255
P1o
P1o
P1o
P1o
P1e
P2o
P2o
P4o
P8e
P8o
P8e
P8o
P8e
P8o
P8e
P8o
P16e
P16o
P16e
P16o
P1024e
P1024o
256 Bytes input
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Row 0
Row 1
Row 2
Row 3
Row 252
Row 253
Row 254
Row 255
P1o
P1e
P1o
P1e
P1o
P1e
P1o
P2o
P2e
P2o
P2e
P4o
P4e
P8o
P8o
P8o
P8o
P16o
P16o
P1024o
256 byte input
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
Row 0
Row 1
Row 2
Row 3
Row 252
Row 253
Row 254
Row 255
P1o
P2o
P2o
P1o
P1o
P1o
P8e
P8e
P8e
P8e
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
Row 0
Row 1
Row 2
Row 3
Row 252
Row 253
Row 254
Row 255
P1o
P2o
P2o
P1o
P1o
P1o
P8e
P8e
P8e
P8e
P16e
P16e
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
P1o
P2o
P2o
P1o
P1o
P1o
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
P1o
P2o
P2o
P1o
P1o
P1o
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1 bit0
bit7
bit5
bit3
bit1 bit0
bit7
bit5
bit3
bit1 bit0
bit7
bit5
bit3
bit1 bit0
P1o
P2o
P2o
P1o
P1o
P1o
P8e
P8e
P16e
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
bit7
bit5
bit3
bit1
P1o
P2o
P2o
P1o
P1o
P1o
GPMC
For line parities, the bits of each new data are XORed together, and line parity bits are computed as:
P8e = row0 XOR row2 XOR row4 XOR ... XOR row254
P8o = row1 XOR row3 XOR row5 XOR ... XOR row255
P16e = row0 XOR row1 XOR row4 XOR row5 XOR ... XOR row252 XOR row 253
P16o = row2 XOR row3 XOR row6 XOR row7 XOR ... XOR row254 XOR row 255
Unused parity bits in the result registers are cleared to 0.
Figure 7-32. Hamming Code Accumulation Algorithm (2 of 2)
shows ECC computation for a 256-byte data stream (read or write). The result includes six
column parity bits (P1o-P2o-P4o for odd parities, and P1e-P2e-P4e for even parities) and sixteen row
parity bits (P8o-P16o-P32o--P1024o for odd parities, and P8e-P16e-P32e--P1024e for even parities).
Figure 7-33. ECC Computation for a 256-Byte Data Stream (Read or Write)
312
Memory Subsystem
SPRUH73H – October 2011 – Revised April 2013
Copyright © 2011–2013, Texas Instruments Incorporated