struct nand_chip int page_shift; u_char *data_buf; u_char *data_cache; int cache_page; u_char ecc_code_buf[6] u_char reserved[2]; ... uint oobblock; uint oobsize; uint eccsize; int bus16; };
field | 설명 |
data_buf | oobblock+oobsize. eg. 528 |
oobblock | OOB를 제외한 페이지의 크기 eg. 512 |
oobsize | OOB의 크기 eg. 16 |
OOB 영역의 비트 | 설명 |
비트 0 | JFFS2_OOB_?ECCPOS0 |
비트 1 | JFFS2_OOB_?ECCPOS1 |
비트 2 | JFFS2_OOB_?ECCPOS2 |
비트 3 | JFFS2_OOB_?ECCPOS3 |
비트 4 | ECCVALID_POS |
비트 5 | BADBLOCK_POS |
비트 6 | JFFS2_OOB_?ECCPOS4 |
비트 7 | JFFS2_OOB_?ECCPOS5 |
비트 8 | cleanmarker. 0x85 |
비트 9 | cleanmarker. 0x19 |
비트 10 | cleanmarker. 0x03 |
비트 11 | cleanmarker. 0x20 |
비트 12 | cleanmarker. 0x08 |
비트 13-15 | cleanmarker. 0x00 |