• Home
  • Raw
  • Download

Lines Matching +full:nand +full:- +full:ecc +full:- +full:mode

2 NAND Error-correction Code
8 Having looked at the linux mtd/nand Hamming software ECC engine driver
11 After that the speed was increased by 35-40%.
22 NAND flash (at least SLC one) typically has sectors of 256 bytes.
23 However NAND flash is not extremely reliable so some error detection
31 As I said before the ecc calculation is performed on sectors of 256
41 Back to ecc.
63 - cp0 is the parity that belongs to all bit0, bit2, bit4, bit6.
69 - cp2 is the parity over bit0, bit1, bit4 and bit5
70 - cp3 is the parity over bit2, bit3, bit6 and bit7.
71 - cp4 is the parity over bit0, bit1, bit2 and bit3.
72 - cp5 is the parity over bit4, bit5, bit6 and bit7.
78 - rp0 is the parity of all even bytes (0, 2, 4, 6, ... 252, 254)
79 - rp1 is the parity of all odd bytes (1, 3, 5, 7, ..., 253, 255)
80 - rp2 is the parity of all bytes 0, 1, 4, 5, 8, 9, ...
82 - rp3 is covers the half rp2 does not cover (bytes 2, 3, 6, 7, 10, 11, ...)
83 - for rp4 the rule is cover 4 bytes, skip 4 bytes, cover 4 bytes, skip 4 etc.
86 - and rp5 covers the other half, so bytes 4, 5, 6, 7, 12, 13, 14, 15, 20, ..
90 - rp6 covers 8 bytes then skips 8 etc
91 - rp7 skips 8 bytes then covers 8 etc
92 - rp8 covers 16 bytes then skips 16 etc
93 - rp9 skips 16 bytes then covers 16 etc
94 - rp10 covers 32 bytes then skips 32 etc
95 - rp11 skips 32 bytes then covers 32 etc
96 - rp12 covers 64 bytes then skips 64 etc
97 - rp13 skips 64 bytes then covers 64 etc
98 - rp14 covers 128 bytes then skips 128
99 - rp15 skips 128 bytes then covers 128
105 ECC Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
107 ECC 0 rp07 rp06 rp05 rp04 rp03 rp02 rp01 rp00
108 ECC 1 rp15 rp14 rp13 rp12 rp11 rp10 rp09 rp08
109 ECC 2 cp5 cp4 cp3 cp2 cp1 cp0 1 1
115 Oh well, I'm graphically challenged, so suffer with me for a moment :-)
175 not going to bring me a Nobel prize :-)
289 In step 1 we moved from bit-wise calculation to byte-wise calculation.
310 that the I/O buffers in the nand driver are aligned properly (and
538 Measurements showed this was a good move. The run-time roughly halved
657 Not a big change, but every penny counts :-)
682 further there is still room to optimize the generation of the ecc codes.
731 the calculated ecc. If all bytes are 0 there is no problem. If 11 bits
733 error in the given ecc code.
740 (gcc 4.2, -O3)
746 The gain when calculating the ecc is tremendous. Om my development hardware
747 a speedup of a factor of 18 for ecc calculation was achieved. On a test on an
751 5 (big endian mode, gcc 4.1.2, -O3)