nand_base.c:nand_get_flash_type() test results
Angus CLARK
angus.clark at st.com
Wed Oct 12 11:26:44 EDT 2011
Hi All,
While attempting to add support for some of the more recent NAND devices, I
ended up refactoring nand_get_flash_type() code. The refactoring was primarily
aimed at simplifying the way in which the growing number 'READID' decoding
exceptions could be accommodated.
The refactored code was tested on the data found at
http://www.linux-mtd.infradead.org/nand-data/nanddata.html, with a few extra
devices added along the way (179 devices in total).
I thought I would share the results here, partly for anyone else who might be
interested, but also to judge whether it would be worth me porting the code for
inclusion in mtd-2.6 (I currently work on a 2.6.32 derived tree!).
The results are attached as a CSV file, with a few selected results included
in-line below.
Notes:
[1] The table presents the results from 3 versions of nand_get_flash_type():
'mtd-2.6' - from the Linux-MTD git tree
'l2-mtd-2.6' - from Artem's 'MTD ML' git tree
'devel-mtd' - my development code
[2] Devices listed in table as "ONFI-only" were not tested
[3] Toshiba devices were not tested, since the datasheets only include the
decode table, not the actual READID signatures.
[4] The results assume "NAND_SCAN_BYTE1AND6" is valid and correct (affecting
ST/Numonyx LP NAND devices). (See previous emails on this topic!)
[5] "don't care" READID bytes are treated as 0xff, since this provides the best
indication of when the data is relied upon incorrectly. This is perhaps a bit
unfair to the existing code, since often the devices will output 0x00 for "don't
care" bytes, which causes far fewer errors in practice.
Sample results:
Name READID #CS Size Page OOB BLK BW C Bad Block
--------------------------------------------------------------------------------
HY27US1612(1/2)B 0xAD56 1 : 64 512 16 16 x16 1 1st+2nd/6th
mtd-2.6 : 64 512 16 16 x16 1 1st+2nd/1st FAIL
l2-mtd-2.6 : 64 512 16 16 x16 1 1st+2nd/1st FAIL
devel-mtd : 64 512 16 16 x16 1 1st+2nd/6th PASS
H27UAG8T2A 0xADD594254441 1 : 2048 4096 224 512 x8 2 last/1st
mtd-2.6 : 2048 2048 64 256 x8 2 last/1st FAIL
l2-mtd-2.6 : 2048 2048 64 256 x8 2 last/1st FAIL
devel-mtd : 2048 4096 224 512 x8 2 last/1st PASS
H27UBG8T2A 0xADD7949A7442 1 : 4096 8192 448 2048 x8 2 1st+last/1st
mtd-2.6 : 4096 4096 64 128 x8 2 last/1st FAIL
l2-mtd-2.6 : 4096 4096 64 128 x8 2 last/1st FAIL
devel-mtd : 4096 8192 448 2048 x8 2 1st+last/1st PASS
K9K8G08U0B 0xECDC519558 1 : 1024 2048 64 128 x8 1 1st+2nd/1st
mtd-2.6 : 512 2048 64 128 x8 1 1st+2nd/1st FAIL
l2-mtd-2.6 : 512 2048 64 128 x8 1 1st+2nd/1st FAIL
devel-mtd : 1024 2048 64 128 x8 1 1st+2nd/1st PASS
K9GBG08U0M 0xECD794725442 1 : 4096 8192 436 1024 x8 2 1st+last/1st
mtd-2.6 : 4096 8192 436 1024 x8 2 last/1st FAIL
l2-mtd-2.6 : 4096 8192 436 1024 x8 2 last/1st FAIL
devel-mtd : 4096 8192 436 1024 x8 2 1st+last/1st PASS
NAND01GR3B2B 0x20A18015 1 : 128 2048 64 128 x8 1 1st/1st+6th
mtd-2.6 : 128 2048 64 128 x8 1 1st/1st+6th PASS
l2-mtd-2.6 : 128 2048 64 128 x8 1 1st/1st FAIL
devel-mtd : 128 2048 64 128 x8 1 1st/1st+6th PASS
Cheers,
Angus
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: nand_get_flash_type-results.csv
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20111012/22dadaa3/attachment-0001.ksh>
More information about the linux-mtd
mailing list