[PATCH] Test for multi-bit error correction
Artem Bityutskiy
dedekind1 at gmail.com
Thu Aug 30 03:00:33 EDT 2012
On Wed, 2012-08-29 at 17:26 +1000, Iwo Mergler wrote:
> This tests ECC biterror recovery on a single NAND page. Mostly intended
> to test ECC hardware and low-level NAND driver.
>
> There are two test modes:
>
> 0 - artificially inserting bit errors until the ECC fails
> This is the default method and fairly quick. It should
> be independent of the quality of the FLASH.
>
> 1 - re-writing the same pattern repeatedly until the ECC fails.
> This method relies on the physics of NAND FLASH to eventually
> generate '0' bits if '1' has been written sufficient times. Depending
> on the NAND, the first bit errors will appear after 1000 or
> more writes and then will usually snowball, reaching the limits
> of the ECC quickly.
Aiaiai! [1] [2]
dedekind $ ~/git/maintaining$ ./verify ../l2-mtd/ gen < ~/tmp/iwo.mbox
Tested the patch(es) on top of the following commits:
6936e9d Quick fixes - applied by aiaiai
994b677 mtd: nand: Added a device flag for subpage read support
c2e1dbb mtd: orion_nand: remove <mach/hardware.h> include
d314b3b mtd: bcm47part driver for BCM47XX chipsets
--------------------------------------------------------------------------------
Failed to build the following commit for configuration "arm-omap2plus_defconfig" (architecture arm)":
049c1f5 Test for multi-bit error correction
drivers/mtd/tests/mtd_nandbiterrs.c: In function 'rewrite_page':
drivers/mtd/tests/mtd_nandbiterrs.c:152:18: error: 'MTD_OOB_RAW' undeclared (first use in this function)
drivers/mtd/tests/mtd_nandbiterrs.c:152:18: note: each undeclared identifier is reported only once for each function it appears in
make[4]: *** [drivers/mtd/tests/mtd_nandbiterrs.o] Error 1
--------------------------------------------------------------------------------
Failed to build the following commit for configuration "i386_defconfig" (architecture i386)":
049c1f5 Test for multi-bit error correction
drivers/mtd/tests/mtd_nandbiterrs.c: In function ‘rewrite_page’:
drivers/mtd/tests/mtd_nandbiterrs.c:152:18: error: ‘MTD_OOB_RAW’ undeclared (first use in this function)
drivers/mtd/tests/mtd_nandbiterrs.c:152:18: note: each undeclared identifier is reported only once for each function it appears in
make[4]: *** [drivers/mtd/tests/mtd_nandbiterrs.o] Error 1
--------------------------------------------------------------------------------
Failed to build the following commit for configuration "ia64_defconfig" (architecture ia64)":
049c1f5 Test for multi-bit error correction
drivers/mtd/tests/mtd_nandbiterrs.c: In function 'rewrite_page':
drivers/mtd/tests/mtd_nandbiterrs.c:152:18: error: 'MTD_OOB_RAW' undeclared (first use in this function)
drivers/mtd/tests/mtd_nandbiterrs.c:152:18: note: each undeclared identifier is reported only once for each function it appears in
make[4]: *** [drivers/mtd/tests/mtd_nandbiterrs.o] Error 1
--------------------------------------------------------------------------------
Successfully built configuration "m68k-m5208evb_defconfig,m68k,m68k-linux-", no issues
--------------------------------------------------------------------------------
Failed to build the following commit for configuration "mips64_defconfig" (architecture mips)":
049c1f5 Test for multi-bit error correction
drivers/mtd/tests/mtd_nandbiterrs.c: In function 'rewrite_page':
drivers/mtd/tests/mtd_nandbiterrs.c:152:18: error: 'MTD_OOB_RAW' undeclared (first use in this function)
drivers/mtd/tests/mtd_nandbiterrs.c:152:18: note: each undeclared identifier is reported only once for each function it appears in
make[4]: *** [drivers/mtd/tests/mtd_nandbiterrs.o] Error 1
--------------------------------------------------------------------------------
Successfully built configuration "mips-bcm63xx_defconfig,mips,mips-linux-", no issues
--------------------------------------------------------------------------------
Failed to build the following commit for configuration "ppc32_defconfig" (architecture powerpc)":
049c1f5 Test for multi-bit error correction
drivers/mtd/tests/mtd_nandbiterrs.c: In function 'rewrite_page':
drivers/mtd/tests/mtd_nandbiterrs.c:152:18: error: 'MTD_OOB_RAW' undeclared (first use in this function)
drivers/mtd/tests/mtd_nandbiterrs.c:152:18: note: each undeclared identifier is reported only once for each function it appears in
make[4]: *** [drivers/mtd/tests/mtd_nandbiterrs.o] Error 1
--------------------------------------------------------------------------------
Failed to build the following commit for configuration "ppc64_defconfig" (architecture powerpc)":
049c1f5 Test for multi-bit error correction
drivers/mtd/tests/mtd_nandbiterrs.c: In function 'rewrite_page':
drivers/mtd/tests/mtd_nandbiterrs.c:152:18: error: 'MTD_OOB_RAW' undeclared (first use in this function)
drivers/mtd/tests/mtd_nandbiterrs.c:152:18: note: each undeclared identifier is reported only once for each function it appears in
make[4]: *** [drivers/mtd/tests/mtd_nandbiterrs.o] Error 1
--------------------------------------------------------------------------------
Failed to build the following commit for configuration "x86_64_defconfig" (architecture x86_64)":
049c1f5 Test for multi-bit error correction
drivers/mtd/tests/mtd_nandbiterrs.c:152:18: error: ‘MTD_OOB_RAW’ undeclared (first use in this function)
drivers/mtd/tests/mtd_nandbiterrs.c:152:18: note: each undeclared identifier is reported only once for each function it appears in
make[4]: *** [drivers/mtd/tests/mtd_nandbiterrs.o] Error 1
--------------------------------------------------------------------------------
checkpatch.pl has some complaints:
--------------------------------------------------------------------------------
checkpatch.pl results for patch "[PATCH] Test for multi-bit error correction"
WARNING:LONG_LINE: line over 80 characters
#320: FILE: drivers/mtd/tests/mtd_nandbiterrs.c:270:
+ msg("After %d biterrors per subpage, read reported error %d\n",
WARNING:LONG_LINE: line over 80 characters
#328: FILE: drivers/mtd/tests/mtd_nandbiterrs.c:278:
+ msg("ECC failure, read data is incorrect despite read success\n");
WARNING:LONG_LINE: line over 80 characters
#382: FILE: drivers/mtd/tests/mtd_nandbiterrs.c:332:
+ msg("Implausible number of bit errors corrected\n");
WARNING:LONG_LINE: line over 80 characters
#401: FILE: drivers/mtd/tests/mtd_nandbiterrs.c:351:
+ msg("ECC failure, read data is incorrect despite read success\n");
total: 0 errors, 4 warnings, 464 lines checked
--------------------------------------------------------------------------------
WARNING:LONG_LINE: line over 80 characters
#320: FILE: drivers/mtd/tests/mtd_nandbiterrs.c:270:
+ msg("After %d biterrors per subpage, read reported error %d\n",
WARNING:LONG_LINE: line over 80 characters
#328: FILE: drivers/mtd/tests/mtd_nandbiterrs.c:278:
+ msg("ECC failure, read data is incorrect despite read success\n");
WARNING:LONG_LINE: line over 80 characters
#382: FILE: drivers/mtd/tests/mtd_nandbiterrs.c:332:
+ msg("Implausible number of bit errors corrected\n");
WARNING:LONG_LINE: line over 80 characters
#401: FILE: drivers/mtd/tests/mtd_nandbiterrs.c:351:
+ msg("ECC failure, read data is incorrect despite read success\n");
total: 0 errors, 4 warnings, 464 lines checked
--------------------------------------------------------------------------------
References:
1. http://git.infradead.org/users/dedekind/aiaiai.git
2. http://git.infradead.org/users/dedekind/maintaining.git
--
Best Regards,
Artem Bityutskiy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20120830/3f4af217/attachment.sig>
More information about the linux-mtd
mailing list