diff options
author | Benoît Thébaudeau <benoit.thebaudeau@advansee.com> | 2012-11-16 20:20:54 +0100 |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2012-11-26 15:41:29 -0600 |
commit | 3287f6d3858faee768a7c47515bd21914ad591a2 (patch) | |
tree | 389079aae420c3b0b05a64b7c7dc2fb557334744 /doc/README.nand | |
parent | 8156f732ee49fc4d91aef1ce09fb6679b3a23c0c (diff) | |
download | u-boot-imx-3287f6d3858faee768a7c47515bd21914ad591a2.zip u-boot-imx-3287f6d3858faee768a7c47515bd21914ad591a2.tar.gz u-boot-imx-3287f6d3858faee768a7c47515bd21914ad591a2.tar.bz2 |
nand: Add torture feature
This patch adds a NAND Flash torture feature, which is useful as a block stress
test to determine if a block is still good and reliable (or should be marked as
bad), e.g. after a write error.
This code is ported from mtd-utils' lib/libmtd.c.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Cc: Scott Wood <scottwood@freescale.com>
[scottwood@freescale.com: removed unnec. ifdef and unwrapped error strings]
Signed-off-by: Scott Wood <scottwood@freescale.com>
Diffstat (limited to 'doc/README.nand')
-rw-r--r-- | doc/README.nand | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/README.nand b/doc/README.nand index c130189..a1a511c 100644 --- a/doc/README.nand +++ b/doc/README.nand @@ -108,6 +108,9 @@ Configuration Options: CONFIG_CMD_NAND Enables NAND support and commmands. + CONFIG_CMD_NAND_TORTURE + Enables the torture command (see description of this command below). + CONFIG_MTD_NAND_ECC_JFFS2 Define this if you want the Error Correction Code information in the out-of-band data to be formatted to match the JFFS2 file system. @@ -213,6 +216,24 @@ Miscellaneous and testing commands: DANGEROUS!!! Factory set bad blocks will be lost. Use only to remove artificial bad blocks created with the "markbad" command. + "torture offset" + Torture block to determine if it is still reliable. + Enabled by the CONFIG_CMD_NAND_TORTURE configuration option. + This command returns 0 if the block is still reliable, else 1. + If the block is detected as unreliable, it is up to the user to decide to + mark this block as bad. + The analyzed block is put through 3 erase / write cycles (or less if the block + is detected as unreliable earlier). + This command can be used in scripts, e.g. together with the markbad command to + automate retries and handling of possibly newly detected bad blocks if the + nand write command fails. + It can also be used manually by users having seen some NAND errors in logs to + search the root cause of these errors. + The underlying nand_torture() function is also useful for code willing to + automate actions following a nand->write() error. This would e.g. be required + in order to program or update safely firmware to NAND, especially for the UBI + part of such firmware. + NAND locking command (for chips with active LOCKPRE pin) |