4-Bit Ecc Programming Guide (Decoding) - Samsung S5PC110 Manual

Risc microprocessor
Table of Contents

Advertisement

S5PC110_UM

4.3.8 4-BIT ECC PROGRAMMING GUIDE (DECODING)

1. To use 4-bit ECC in software mode, set the MsgLength to 0 (512-byte message length) and the ECCType to
"10" (enable 4-bit ECC). ECC module generates ECC parity code for 512-byte read data. Therefore, to reset
ECC value write the InitMECC (NFCONT[5]) bit as '1' and clear the MainECCLock (NFCONT[7]) bit to
'0'(Unlock) before reading data.
MainECCLock (NFCONT[7]) bit controls whether ECC Parity code is generated or not.
2. Whenever data is read, the 4-bit ECC module generates ECC parity code internally.
3. After you complete reading 512-byte (not including spare area data), you must read parity codes. MLC ECC
module needs parity codes to detect whether error bits have occurred or not. Therefore, you must read ECC
parity code immediately after reading 512-byte. After ECC parity code is read, 4-bit ECC engine starts
searching for error internally. 4-bit ECC error searching engine needs minimum of 155 cycles to find any error.
During this time, you can continue reading main data from external NAND Flash memory. Use
ECCDecDone(NFSTAT[6]) to check whether ECC decoding is completed or not.
4. When ECCDecDone (NFSTAT[6]) is set ('1'), NFECCERR0 indicates whether error bit exists or not. If any
error exists, refer NFECCERR0/1 and NFMLCBITPT registers to fix.
5. If you have more main data to read, go back to step 1.
6. To check meta data error, set the MsgLength to 1 (24-byte message length) and the ECCType to '1' (enable
4-bit ECC). ECC module generates ECC parity code for 512-byte read data. Therefore, you must reset ECC
value by writing the InitMECC (NFCONT[5]) bit as '1' and clear the MainECCLock (NFCONT[7]) bit to
'0'(Unlock) before reading data.
MainECCLock (NFCONT[7]) bit controls whether ECC Parity code is generated or not.
7. Whenever data is read, the 4-bit ECC module generates ECC parity code internally.
8. After you complete reading 512-byte (not include spare area data), you must read parity codes. 4-bit ECC
module needs parity codes to detect whether error bits have occurred or not. Therefore, ensure to read ECC
parity codes immediately after reading 512-byte. After ECC parity code is read, 4-bit ECC engine starts
searching for error internally. 4-bit ECC error searching engine needs minimum of 155 cycles to find any error.
During this time, you can continue reading main data from external NAND Flash memory. Use
ECCDecDone(NFSTAT[6]) to check whether ECC decoding is completed or not.
9. When ECCDecDone (NFSTAT[6]) is set ('1'), NFECCERR0 indicates whether error bit exists or not. If any
error exists, you can fix it by referring to NFECCERR0/1 and NFMLCBITPT registers.
4 NAND FLASH CONTROLLER
4-9

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents