Hi All
We have designed our own H/W based on DM8168.
In this board we are facing some NAND related issues. that is
the bad blocks keep on getting increases and finaly system reports
the running out of disk space error while trying to write something on Disk.
Board Information
=================
TI8168-GP rev 2.1
ARM clk: 987MHz
DDR clk: 675MHz
I2C: ready
DRAM: 2 GiB
NAND: HW ECC BCH8 Selected
256 MiB
====================
Flash Chip Used : MT29F2G16ABAEA
GPMC Settings in uBoot.
#define M_NAND_GPMC_CONFIG1 0x00001810
#define M_NAND_GPMC_CONFIG2 0x001e1e00
#define M_NAND_GPMC_CONFIG3 0x001e1e00
#define M_NAND_GPMC_CONFIG4 0x16051807
#define M_NAND_GPMC_CONFIG5 0x00151e1e
#define M_NAND_GPMC_CONFIG6 0x16000f80
#define M_NAND_GPMC_CONFIG7 0x00000008
root@iVDO-Intuit:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00260000 00020000 "U-Boot"
mtd1: 00020000 00020000 "U-Boot Env"
mtd2: 00440000 00020000 "Kernel"
mtd3: 06400000 00020000 "FS1"
mtd4: 06420000 00020000 "FS2"
mtd5: 00100000 00020000 "FPGA"
mtd6: 03020000 00020000 "Reserved"
root@iVDO-Intuit:~# mtd_debug info /dev/mtd0
mtd.type = MTD_NANDFLASH
mtd.flags = MTD_CAP_NANDFLASH
mtd.size = 2490368 (2M)
mtd.erasesize = 131072 (128K)
mtd.writesize = 2048 (2K)
mtd.oobsize = 64
regions = 0
For other mtd's the size (mtd.size) will vary
Keep on we are getting the following error message and disk got filled.
Read of newly-erased block at 0x04360000 failed: -74. Putting on bad_list
Read of newly-erased block at 0x04360000 failed: -74. Putting on bad_list
JFFS2: marking eraseblock at 04360000 as bad
we have run the following nand test which are given in Kernel(/drivers/mtd/tests).
mtd_nandecctest.ko
mtd_oobtest.ko
mtd_pagetest.ko
mtd_readtest.ko
mtd_speedtest.ko
mtd_stresstest.ko
mtd_subpagetest.ko
mtd_torturetest.ko
FYI: we have run the same test in TI EVM - Rev-E board also.
and we got the same errors what we got in my board.
we have attached the nand test results
1. nand_test_results.txt --> custom board results
2. DM8168_EVM_nand_test.txt --> TI EVM board results
Please Help us to fix this issue.
Thanks a lot
root@iVDO-Intuit:/opt/nandtest# dmesg ================================================= mtd_speedtest: MTD device: 0 mtd_speedtest: MTD device size 2490368, eraseblock size 131072, page size 2048, count of eraseblocks 19, pages per eraseblock 64, OOB size 64 mtd_speedtest: scanning for bad eraseblocks mtd_speedtest: scanned 19 eraseblocks, 0 are bad mtd_speedtest: testing eraseblock write speed mtd_speedtest: eraseblock write speed is 3684 KiB/s mtd_speedtest: testing eraseblock read speed mtd_speedtest: eraseblock read speed is 2708 KiB/s mtd_speedtest: testing page write speed mtd_speedtest: page write speed is 3668 KiB/s mtd_speedtest: testing page read speed mtd_speedtest: page read speed is 2714 KiB/s mtd_speedtest: testing 2 page write speed mtd_speedtest: 2 page write speed is 3679 KiB/s mtd_speedtest: testing 2 page read speed mtd_speedtest: 2 page read speed is 2714 KiB/s mtd_speedtest: Testing erase speed mtd_speedtest: erase speed is 162133 KiB/s mtd_speedtest: finished ================================================= ================================================= root@iVDO-Intuit:/opt/nandtest# insmod mtd_nandecctest.ko root@iVDO-Intuit:/opt/nandtest# dmesg mtd_nandecctest: ok - nand-ecc-256 mtd_nandecctest: ok - nand-ecc-512 ================================================= ================================================= 0b80: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00ba0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00bc0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00be0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00c00: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00c20: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00c40: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00c60: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00c80: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00ca0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00cc0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00ce0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00d00: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00d20: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00d40: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00d60: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00d80: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00da0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00dc0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00de0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00e00: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00e20: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00e40: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00e60: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00e80: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00ea0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00ec0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00ee0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00f00: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00f20: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00f40: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00f60: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00f80: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00fa0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00fc0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00fe0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff mtd_readtest: finished with errors mtd_readtest: error -74 occurred ================================================= root@iVDO-Intuit:/opt/nandtest# insmod mtd_oobtest.ko root@iVDO-Intuit:/opt/nandtest# dmesg ================================================= mtd_oobtest: MTD device: 0 mtd_oobtest: MTD device size 2490368, eraseblock size 131072, page size 2048, count of eraseblocks 19, pages per eraseblock 64, OOB size 64 mtd_oobtest: scanning for bad eraseblocks mtd_oobtest: scanned 19 eraseblocks, 0 are bad mtd_oobtest: test 1 of 5 mtd_oobtest: erasing whole device mtd_oobtest: erased 19 eraseblocks mtd_oobtest: writing OOBs of whole device mtd_oobtest: written up to eraseblock 0 mtd_oobtest: written 19 eraseblocks mtd_oobtest: verifying all eraseblocks mtd_oobtest: verified up to eraseblock 0 mtd_oobtest: verified 19 eraseblocks mtd_oobtest: test 2 of 5 mtd_oobtest: erasing whole device mtd_oobtest: erased 19 eraseblocks mtd_oobtest: writing OOBs of whole device mtd_oobtest: written up to eraseblock 0 mtd_oobtest: written 19 eraseblocks mtd_oobtest: verifying all eraseblocks mtd_oobtest: verified up to eraseblock 0 mtd_oobtest: error: verify failed at 0x80000 mtd_oobtest: verified 19 eraseblocks mtd_oobtest: test 3 of 5 mtd_oobtest: erasing whole device mtd_oobtest: erased 19 eraseblocks mtd_oobtest: writing OOBs of whole device mtd_oobtest: written up to eraseblock 0 mtd_oobtest: written 19 eraseblocks mtd_oobtest: verifying all eraseblocks mtd_oobtest: verified up to eraseblock 0 mtd_oobtest: verified 19 eraseblocks mtd_oobtest: test 4 of 5 mtd_oobtest: erasing whole device mtd_oobtest: erased 19 eraseblocks mtd_oobtest: attempting to start write past end of OOB mtd_oobtest: an error is expected... mtd_oobtest: error occurred as expected mtd_oobtest: attempting to start read past end of OOB mtd_oobtest: an error is expected... mtd_oobtest: error occurred as expected mtd_oobtest: attempting to write past end of device mtd_oobtest: an error is expected... mtd_oobtest: error occurred as expected mtd_oobtest: attempting to read past end of device mtd_oobtest: an error is expected... mtd_oobtest: error: read past end of device mtd_oobtest: attempting to write past end of device mtd_oobtest: an error is expected... mtd_oobtest: error occurred as expected mtd_oobtest: attempting to read past end of device mtd_oobtest: an error is expected... mtd_oobtest: error: read past end of device mtd_oobtest: test 5 of 5 mtd_oobtest: erasing whole device mtd_oobtest: erased 19 eraseblocks mtd_oobtest: writing OOBs of whole device mtd_oobtest: written up to eraseblock 0 mtd_oobtest: written up to eraseblock 0 mtd_oobtest: written 18 eraseblocks mtd_oobtest: verifying all eraseblocks mtd_oobtest: verified up to eraseblock 0 mtd_oobtest: verified 18 eraseblocks mtd_oobtest: finished with 3 errors ================================================= ================================================= root@iVDO-Intuit:/opt/nandtest# insmod mtd_pagetest.ko insmod: error inserting 'mtd_pagetest.ko': -1 Bad message root@iVDO-Intuit:/opt/nandtest# ================================================= mtd_pagetest: MTD device: 0 mtd_pagetest: MTD device size 2490368, eraseblock size 131072, page size 2048, count of eraseblocks 19, pages per eraseblock 64, OOB size 64 mtd_pagetest: scanning for bad eraseblocks mtd_pagetest: scanned 19 eraseblocks, 0 are bad mtd_pagetest: erasing whole device mtd_pagetest: erased 19 eraseblocks mtd_pagetest: writing whole device mtd_pagetest: written up to eraseblock 0 mtd_pagetest: written 19 eraseblocks mtd_pagetest: verifying all eraseblocks mtd_pagetest: verified up to eraseblock 0 mtd_pagetest: verified 19 eraseblocks mtd_pagetest: crosstest mtd_pagetest: reading page at 0x0 mtd_pagetest: reading page at 0x25f800 mtd_pagetest: reading page at 0x0 mtd_pagetest: verifying pages read at 0x0 match mtd_pagetest: crosstest ok mtd_pagetest: erasecrosstest mtd_pagetest: erasing block 0 mtd_pagetest: writing 1st page of block 0 mtd_pagetest: reading 1st page of block 0 mtd_pagetest: verifying 1st page of block 0 mtd_pagetest: erasing block 0 mtd_pagetest: writing 1st page of block 0 mtd_pagetest: erasing block 18 mtd_pagetest: reading 1st page of block 0 mtd_pagetest: verifying 1st page of block 0 mtd_pagetest: erasecrosstest ok mtd_pagetest: erasetest mtd_pagetest: erasing block 0 mtd_pagetest: writing 1st page of block 0 mtd_pagetest: erasing block 0 mtd_pagetest: reading 1st page of block 0 mtd_pagetest: error: read failed at 0x0 mtd_pagetest: error -74 occurred ================================================= ================================================= root@iVDO-Intuit:/opt/nandtest# insmod mtd_subpagetest.ko insmod: error inserting 'mtd_subpagetest.ko': -1 Bad message ================================================= mtd_subpagetest: MTD device: 0 mtd_subpagetest: MTD device size 2490368, eraseblock size 131072, page size 2048, subpage size 512, count of eraseblocks 0, pages per eraseblock 0, OOB size 64 mtd_subpagetest: scanning for bad eraseblocks mtd_subpagetest: scanned 19 eraseblocks, 0 are bad mtd_subpagetest: erasing whole device mtd_subpagetest: erased 19 eraseblocks mtd_subpagetest: writing whole device mtd_subpagetest: written up to eraseblock 0 mtd_subpagetest: written 19 eraseblocks mtd_subpagetest: verifying all eraseblocks mtd_subpagetest: verified up to eraseblock 0 mtd_subpagetest: verified 19 eraseblocks mtd_subpagetest: erasing whole device mtd_subpagetest: erased 19 eraseblocks mtd_subpagetest: verifying all eraseblocks for 0xff mtd_subpagetest: verified up to eraseblock 0 mtd_subpagetest: verified 19 eraseblocks mtd_subpagetest: writing whole device mtd_subpagetest: written up to eraseblock 0 mtd_subpagetest: written 19 eraseblocks mtd_subpagetest: verifying all eraseblocks mtd_subpagetest: error: read failed at 0xc00 mtd_subpagetest: error -74 occurred ================================================= ================================================= root@iVDO-Intuit:/opt/nandtest# insmod mtd_stresstest.ko insmod: error inserting 'mtd_stresstest.ko': -1 Bad message root@iVDO-Intuit:/opt/nandtest# ================================================= mtd_stresstest: MTD device: 0 mtd_stresstest: MTD device size 2490368, eraseblock size 131072, page size 2048, count of eraseblocks 19, pages per eraseblock 64, OOB size 64 mtd_stresstest: scanning for bad eraseblocks mtd_stresstest: scanned 19 eraseblocks, 0 are bad mtd_stresstest: doing operations mtd_stresstest: 0 operations done mtd_stresstest: 1024 operations done mtd_stresstest: 2048 operations done mtd_stresstest: 3072 operations done mtd_stresstest: 4096 operations done mtd_stresstest: error: read failed at 0x24c7ea mtd_stresstest: error -74 occurred ================================================= root@iVDO-Intuit:/opt/nandtest# insmod mtd_torturetest.ko insmod: error inserting 'mtd_torturetest.ko': -1 Invalid parameters root@iVDO-Intuit:/opt/nandtest# dmesg ================================================= mtd_torturetest: Warning: this program is trying to wear out your flash, stop it if this is not wanted. mtd_torturetest: MTD device: 0 mtd_torturetest: torture 32 eraseblocks (8-39) of mtd0 mtd_torturetest: write verify enabled mtd_torturetest: block_isbad() returned -22 for EB 19 mtd_torturetest: finished after 0 erase cycles mtd_torturetest: error -22 occurred during torturing ================================================= root@iVDO-Intuit:/opt/nandtest#
================================================= mtd_speedtest: MTD device: 0 mtd_speedtest: MTD device size 2490368, eraseblock size 131072, page size 2048, count of eraseblocks 19, pages per eraseblock 64, OOB s ize 64 mtd_speedtest: scanning for bad eraseblocks mtd_speedtest: scanned 19 eraseblocks, 0 are bad mtd_speedtest: testing eraseblock write speed mtd_speedtest: eraseblock write speed is 3587 KiB/s mtd_speedtest: testing eraseblock read speed mtd_speedtest: eraseblock read speed is 2693 KiB/s mtd_speedtest: testing page write speed mtd_speedtest: page write speed is 3571 KiB/s mtd_speedtest: testing page read speed mtd_speedtest: page read speed is 2690 KiB/s mtd_speedtest: testing 2 page write speed mtd_speedtest: 2 page write speed is 3581 KiB/s mtd_speedtest: testing 2 page read speed mtd_speedtest: 2 page read speed is 2708 KiB/s mtd_speedtest: Testing erase speed mtd_speedtest: erase speed is 270222 KiB/s mtd_speedtest: finished ================================================= root@dm816x-evm:/opt/nandtest# insmod mtd_nandecctest.ko mtd_nandecctest: ok - nand-ecc-256 mtd_nandecctest: ok - nand-ecc-512 ================================================= ================================================= 00e00: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00e20: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00e40: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00e60: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00e80: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00ea0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00ec0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00ee0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00f00: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00f20: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00f40: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00f60: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00f80: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00fa0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00fc0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00fe0: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff mtd_readtest: finished with errors mtd_readtest: error -74 occurred ================================================= insmod: error inserting 'mtd_readtest.ko': -1 Bad message ================================================= ================================================= mtd_pagetest: MTD device: 0 mtd_pagetest: MTD device size 2490368, eraseblock size 131072, page size 2048, count of eraseblocks 19, pages per eraseblock 64, OOB si ze 64 mtd_pagetest: scanning for bad eraseblocks mtd_pagetest: scanned 19 eraseblocks, 0 are bad mtd_pagetest: erasing whole device mtd_pagetest: erased 19 eraseblocks mtd_pagetest: writing whole device mtd_pagetest: written up to eraseblock 0 mtd_pagetest: written 19 eraseblocks mtd_pagetest: verifying all eraseblocks mtd_pagetest: verified up to eraseblock 0 mtd_pagetest: verified 19 eraseblocks mtd_pagetest: crosstest mtd_pagetest: reading page at 0x0 mtd_pagetest: reading page at 0x25f800 mtd_pagetest: reading page at 0x0 mtd_pagetest: verifying pages read at 0x0 match mtd_pagetest: crosstest ok mtd_pagetest: erasecrosstest mtd_pagetest: erasing block 0 mtd_pagetest: writing 1st page of block 0 mtd_pagetest: reading 1st page of block 0 mtd_pagetest: verifying 1st page of block 0 mtd_pagetest: erasing block 0 mtd_pagetest: writing 1st page of block 0 mtd_pagetest: erasing block 18 mtd_pagetest: reading 1st page of block 0 mtd_pagetest: verifying 1st page of block 0 mtd_pagetest: erasecrosstest ok mtd_pagetest: erasetest mtd_pagetest: erasing block 0 mtd_pagetest: writing 1st page of block 0 mtd_pagetest: erasing block 0 mtd_pagetest: reading 1st page of block 0 mtd_pagetest: error: read failed at 0x0 mtd_pagetest: error -74 occurred ================================================= insmod: error inserting 'mtd_pagetest.ko': -1 Bad message ================================================= ================================================= mtd_pagetest: MTD device: 0 mtd_pagetest: MTD device size 2490368, eraseblock size 131072, page size 2048, count of eraseblocks 19, pages per eraseblock 64, OOB si ze 64 mtd_pagetest: scanning for bad eraseblocks mtd_pagetest: scanned 19 eraseblocks, 0 are bad mtd_pagetest: erasing whole device mtd_pagetest: erased 19 eraseblocks mtd_pagetest: writing whole device mtd_pagetest: written up to eraseblock 0 mtd_pagetest: written 19 eraseblocks mtd_pagetest: verifying all eraseblocks mtd_pagetest: verified up to eraseblock 0 mtd_pagetest: verified 19 eraseblocks mtd_pagetest: crosstest mtd_pagetest: reading page at 0x0 mtd_pagetest: reading page at 0x25f800 mtd_pagetest: reading page at 0x0 mtd_pagetest: verifying pages read at 0x0 match mtd_pagetest: crosstest ok mtd_pagetest: erasecrosstest mtd_pagetest: erasing block 0 mtd_pagetest: writing 1st page of block 0 mtd_pagetest: reading 1st page of block 0 mtd_pagetest: verifying 1st page of block 0 mtd_pagetest: erasing block 0 mtd_pagetest: writing 1st page of block 0 mtd_pagetest: erasing block 18 mtd_pagetest: reading 1st page of block 0 mtd_pagetest: verifying 1st page of block 0 mtd_pagetest: erasecrosstest ok mtd_pagetest: erasetest mtd_pagetest: erasing block 0 mtd_pagetest: writing 1st page of block 0 mtd_pagetest: erasing block 0 mtd_pagetest: reading 1st page of block 0 mtd_pagetest: error: read failed at 0x0 mtd_pagetest: error -74 occurred ================================================= insmod: error inserting 'mtd_pagetest.ko': -1 Bad message ================================================= ================================================= mtd_subpagetest: MTD device: 0 mtd_subpagetest: MTD device size 2490368, eraseblock size 131072, page size 2048, subpage size 512, count of eraseblocks 0, pages per e raseblock 0, OOB size 64 mtd_subpagetest: scanning for bad eraseblocks mtd_subpagetest: scanned 19 eraseblocks, 0 are bad mtd_subpagetest: erasing whole device mtd_subpagetest: erased 19 eraseblocks mtd_subpagetest: writing whole device mtd_subpagetest: written up to eraseblock 0 mtd_subpagetest: written 19 eraseblocks mtd_subpagetest: verifying all eraseblocks mtd_subpagetest: verified up to eraseblock 0 mtd_subpagetest: verified 19 eraseblocks mtd_subpagetest: erasing whole device mtd_subpagetest: erased 19 eraseblocks mtd_subpagetest: verifying all eraseblocks for 0xff mtd_subpagetest: verified up to eraseblock 0 mtd_subpagetest: verified 19 eraseblocks mtd_subpagetest: writing whole device mtd_subpagetest: written up to eraseblock 0 mtd_subpagetest: written 19 eraseblocks mtd_subpagetest: verifying all eraseblocks mtd_subpagetest: error: read failed at 0xc00 mtd_subpagetest: error -74 occurred ================================================= insmod: error inserting 'mtd_subpagetest.ko': -1 Bad message ================================================= ================================================= mtd_stresstest: MTD device: 0 mtd_stresstest: MTD device size 2490368, eraseblock size 131072, page size 2048, count of eraseblocks 19, pages per eraseblock 64, OOB size 64 mtd_stresstest: scanning for bad eraseblocks mtd_stresstest: scanned 19 eraseblocks, 0 are bad mtd_stresstest: doing operations mtd_stresstest: 0 operations done mtd_stresstest: 1024 operations done mtd_stresstest: 2048 operations done mtd_stresstest: error: read failed at 0x2207f8 mtd_stresstest: error -74 occurred ================================================= insmod: error inserting 'mtd_stresstest.ko': -1 Bad message ================================================= ================================================= mtd_torturetest: Warning: this program is trying to wear out your flash, stop it if this is not wanted. mtd_torturetest: MTD device: 0 mtd_torturetest: torture 32 eraseblocks (8-39) of mtd0 mtd_torturetest: write verify enabled mtd_torturetest: block_isbad() returned -22 for EB 19 mtd_torturetest: finished after 0 erase cycles mtd_torturetest: error -22 occurred during torturing ================================================= insmod: error inserting 'mtd_torturetest.ko': -1 Invalid parameters
Regards
R.Abdul Rahman