8-Bit / 12-Bit / 16-Bit Ecc Programming Guide (Encoding) - Samsung S5PC110 Manual

Risc microprocessor
Table of Contents

Advertisement

S5PC110_UM

4.3.9 8-BIT / 12-BIT / 16-BIT ECC PROGRAMMING GUIDE (ENCODING)

1. To use 8/ 12/ 16-bit ECC in software mode, set the MsgLength(NFECCCONF[25:16]) to 511(512byte
message length) and the ECCType to "001/100/101"(enable 8/12/16-bit ECC, respectively). ECC module
generates ECC parity code for 512 byte write data. Therefore, reset ECC value by writing the InitMECC
(NFECCCONT[2]) bit as '1' before writing data, and clear the MainECCLock(NFCONT[7]) bit to '0'(Unlock)
before writing data.
2. Whenever data is written, the corresponding 8/12/16-bit ECC module generates ECC parity code internally.
3. After you finish writing 512bbyte data (This does not include spare area data), the parity codes are
automatically updated to the NFECCPRG0 ~ NFECCPRGECC6 registers. If you use a NAND Flash memory
having 512 byte page, you can program these values to spare area. However, if you use a NAND Flash
memory more than 512-byte page, you cannot program immediately. In this case, you must copy these ECC
parity codes to other memory like DRAM. After writing all main data, you can write the copied ECC values to
spare area.
The parity codes have self-correctable information including parity code itself.
Table below shows the ECC parity size:
4. To generate spare area ECC parity code for meta data, the steps are same (from 1 ~ 3), except setting the
MsgLenght(NFECCCONF[25:16]) to the size that you prefer. When you set InitMECC(NFECCCONT[2]), all
ECC parity codes generated for main data are cleared. Therefore, you should copy the ECC parity codes for
main data.
NOTE: You should set the ECC parity conversion codes to check free page error. For more information about, refer to
4.3.11
ECC type
8-bit ECC
12-bit ECC
16-bit ECC
4 NAND FLASH CONTROLLER
Size of ECC Parity Codes
13 byte
20 byte
26 byte
4-10

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents