nand_verify_pages — [GENERIC] verify the chip contents after a write
int nand_verify_pages ( | struct mtd_info * | mtd, |
struct nand_chip * | this, | |
int | page, | |
int | numpages, | |
u_char * | oob_buf, | |
struct nand_oobinfo * | oobsel, | |
int | chipnr, | |
int | oobmode) ; |
mtd
MTD device structure
this
NAND chip structure
page
startpage inside the chip, must be called with (page & this->pagemask)
numpages
number of pages to verify
oob_buf
out of band data buffer
oobsel
out of band selecttion structre
chipnr
number of the current chip
oobmode
1 = full buffer verify, 0 = ecc only
The NAND device assumes that it is always writing to a cleanly erased page. Hence, it performs its internal write verification only on bits that transitioned from 1 to 0. The device does NOT verify the whole page on a byte by byte basis. It is possible that the page was not completely erased or the page is becoming unusable due to wear. The read with ECC would catch the error later when the ECC page check fails, but we would rather catch it early in the page write stage. Better to write no data than invalid data.