From: Josh Wu <josh.wu@atmel.com>
To: <linux-mtd@lists.infradead.org>
Subject: Re: help with mtd-test failures?
Date: Sun, 4 Jan 2015 16:15:58 +0800 [thread overview]
Message-ID: <54A8F6BE.50708@atmel.com> (raw)
In-Reply-To: <CALupW3DMys5qLTw_3t9P0JG64oPgQXa4Lh9M7X5_0yUmLhqGdg@mail.gmail.com>
Hi, Steve
On 1/3/2015 10:34 AM, Steve deRosier wrote:
> Hi all,
>
> In doing my due dillegence on my system, I decided to run the
> mtd-tests. I'm getting a few failures that I'd like your help in
> understanding.
>
> The one that worries me comes from mtd_oobtest:
>
> # modprobe mtd_oobtest dev=7
> mtd_oobtest: error: verify failed at 0x880000
> mtd_oobtest: error: verify failed at 0xe80000
>
> The most worrysome thing about this is the fact that the result isn't
> consistant. sometimes I get no failures, and sometimes they're at
> different spots.
I think this should be related with nand flash's bitflips. As atmel nand
driver just use standard oob write/read functions from nand_base.c.
That means there is no ecc protection for mtd_oobtest.
So if there has any nand bitflip happens in the oob area, then
mtd-oobtest will be failed.
How often does the failures comes?
I tested on my at91sam9g25ek board (nand is: 29F2G08AAD) about 20 times,
no error happened.
> I'll put the kmesg output later.
>
> The other one is less concerning, but what do these failures from
> mtd_nandecctest indicate?
>
> mtd_nandecctest: ok - no-bit-error-256
> mtd_nandecctest: ok - single-bit-error-in-data-correct-256
> mtd_nandecctest: ok - single-bit-error-in-ecc-correct-256
> uncorrectable error :
> mtd_nandecctest: ok - double-bit-error-in-data-detect-256
> uncorrectable error :
> mtd_nandecctest: ok - single-bit-error-in-data-and-ecc-detect-256
> uncorrectable error :
> mtd_nandecctest: ok - double-bit-error-in-ecc-detect-256
> mtd_nandecctest: ok - no-bit-error-512
> mtd_nandecctest: ok - single-bit-error-in-data-correct-512
> mtd_nandecctest: ok - single-bit-error-in-ecc-correct-512
> uncorrectable error :
> mtd_nandecctest: ok - double-bit-error-in-data-detect-512
> uncorrectable error :
> mtd_nandecctest: ok - single-bit-error-in-data-and-ecc-detect-512
> uncorrectable error :
> mtd_nandecctest: ok - double-bit-error-in-ecc-detect-512
>
> I'm not very concerned because I believe from looking at the comments
> that this doesn't actually utilize my hardware but is a software ECC
> test and I'm using a hardware-based ECC.
yes, this one is a software ecc test.
Best Regards,
Josh Wu
>
> My kernel version is 3.8. I'm running on an Atmel SAM9G25 processor
> with a Micron MT29F1G08ABBEAH4 SLC NAND.
>
> All of the rest of the tests ran perfectly. And, are there any other
> tests I should run to validate my hardware, kernel/driver setup, or
> UBIFS?
>
> The kmesg for the mtd_oobtest:
>
> =================================================
> mtd_oobtest: MTD device: 7
> mtd_oobtest: MTD device size 39845888, eraseblock size 131072,
> page size 2048, count of eraseblocks 304, pages per eraseblock 64, OOB
> size 64
> mtd_oobtest: scanning for bad eraseblocks
> mtd_oobtest: scanned 304 eraseblocks, 0 are bad
> mtd_oobtest: test 1 of 5
> mtd_oobtest: erasing whole device
> mtd_oobtest: erased 304 eraseblocks
> mtd_oobtest: writing OOBs of whole device
> mtd_oobtest: written up to eraseblock 0
> mtd_oobtest: written up to eraseblock 256
> mtd_oobtest: written 304 eraseblocks
> mtd_oobtest: verifying all eraseblocks
> mtd_oobtest: verified up to eraseblock 0
> mtd_oobtest: verified up to eraseblock 256
> mtd_oobtest: verified 304 eraseblocks
> mtd_oobtest: test 2 of 5
> mtd_oobtest: erasing whole device
> mtd_oobtest: erased 304 eraseblocks
> mtd_oobtest: writing OOBs of whole device
> mtd_oobtest: written up to eraseblock 0
> mtd_oobtest: written up to eraseblock 256
> mtd_oobtest: written 304 eraseblocks
> mtd_oobtest: verifying all eraseblocks
> mtd_oobtest: verified up to eraseblock 0
> mtd_oobtest: error: verify failed at 0x880000
> mtd_oobtest: error: verify failed at 0xe80000
> mtd_oobtest: verified up to eraseblock 256
> mtd_oobtest: verified 304 eraseblocks
> mtd_oobtest: test 3 of 5
> mtd_oobtest: erasing whole device
> mtd_oobtest: erased 304 eraseblocks
> mtd_oobtest: writing OOBs of whole device
> mtd_oobtest: written up to eraseblock 0
> mtd_oobtest: written up to eraseblock 256
> mtd_oobtest: written 304 eraseblocks
> mtd_oobtest: verifying all eraseblocks
> mtd_oobtest: verified up to eraseblock 0
> mtd_oobtest: verified up to eraseblock 256
> mtd_oobtest: verified 304 eraseblocks
> mtd_oobtest: test 4 of 5
> mtd_oobtest: erasing whole device
> mtd_oobtest: erased 304 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 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 occurred as expected
> mtd_oobtest: test 5 of 5
> mtd_oobtest: erasing whole device
> mtd_oobtest: erased 304 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 up to eraseblock 256
> mtd_oobtest: written up to eraseblock 256
> mtd_oobtest: written 303 eraseblocks
> mtd_oobtest: verifying all eraseblocks
> mtd_oobtest: verified up to eraseblock 0
> mtd_oobtest: verified up to eraseblock 256
> mtd_oobtest: verified 303 eraseblocks
> mtd_oobtest: finished with 2 errors
> =================================================
>
> Thanks,
> - Steve
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2015-01-04 8:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-03 2:34 help with mtd-test failures? Steve deRosier
2015-01-04 8:15 ` Josh Wu [this message]
2015-01-09 5:05 ` Steve deRosier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54A8F6BE.50708@atmel.com \
--to=josh.wu@atmel.com \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.