NAND subsector writing problem

Alex Samoutin
2003-01-30T00:39:47Z

Hello,

I've implemented hardware driver for Toshiba TC5818AFT NAND flash . (I took
Jan 27 snapshot of MTD drivers).

When I do write and read using "nandwrite/nanddump" utilities - it is look
like all working fine. However "nandtest" showed me error message during
subsector writing (see log below). Can I use jffs2 with this type of
problem or I have to fix it? (And may be you know - what can cause this
error?)

Thanks.

Alex.

debian:/home/util# ./nandtest /dev/mtd1
MTD_open
MTD_ioctl
This will erase the first block of device, continue? y

Performing FlashMTD_ioctl
Erase of lengthnand_erase: start = 0x00200000, len = 16384
16384 at offset 0...
MTD_read
OK
Test if block was erased...
nand_read_ecc: from = 0x00200000, len = 512
MTD_ioctl
nand_read_oob: from = 0x00200000, len = 16
MTD_read

[..censored..]

nand_read_ecc: from = 0x00203e00, len = 512
MTD_ioctl
nand_read_oob: from = 0x00203e00, len = 16
OK
Writing 512 byte sectors...
MTD_write
nand_write_ecc: to = 0x00200800, len = 512
MTD_write
nand_write_ecc: to = 0x00200a00, len = 512
MTD_write
nand_write_ecc: to = 0x00200c00, len = 512
MTD_write
nand_write_ecc: to = 0x00200e00, len = 512
OK MTD_read

Reading 512 byte sectors...
nand_read_ecc: from = 0x00200800, len = 512
MTD_read
nand_read_ecc: from = 0x00200a00, len = 512
MTD_read
nand_read_ecc: from = 0x00200c00, len = 512
MTD_read
nand_read_ecc: from = 0x00200e00, len = 512
OK MTD_write

Testing subsector writing... nand_write_ecc: to = 0x00200190, len = 112
MTD_write
nand_write_ecc: to = 0x00200064, len = 100
nand_write_page: Failed write verify, page 0x00001001 pwrite: Input/output
error <6>
MTD_close
nand_sync: called