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