nand: WARNING: a0000000.nand: the ECC used on your system (1b/256B) is too weak compared to the one required by the NAND chip (4b/512B)
Miquel Raynal
miquel.raynal at bootlin.com
Thu Jun 17 23:43:26 PDT 2021
Hi Christophe,
Christophe Leroy <christophe.leroy at csgroup.eu> wrote on Thu, 17 Jun
2021 19:17:05 +0200:
> Hello Miquel,
>
> I have a board running latest kernel with the following NAND:
>
> [ 1.523076] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda
> [ 1.529505] nand: Micron MT29F2G08ABAEAWP
> [ 1.533526] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB siz
> e: 64
> [ 1.541196] nand: WARNING: a0000000.nand: the ECC used on your system (1b/256
> B) is too weak compared to the one required by the NAND chip (4b/512B)
>
> Until now I was using kernel 4.14 and I was having no problem, allthough it was also exhibiting the following (less detailed) warning
Yes, I decided to give more info of what is the minimum ECC scheme that
should be used and what is the one being applied.
> [ 0.591009] nand: WARNING: a0000000.nand: the ECC used on your system is too weak compared to the one required by the NAND chip
>
> Now and then I'm using one of the latest kernels (Today is 5.13-rc6), and sometime in one of the 5.x releases, I started to get errors like:
>
> [ 5.098265] ecc_sw_hamming_correct: uncorrectable ECC error
> [ 5.103859] ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 60
> bytes from PEB 99:59824, read only 60 bytes, retry
> [ 5.525843] ecc_sw_hamming_correct: uncorrectable ECC error
> [ 5.531571] ecc_sw_hamming_correct: uncorrectable ECC error
> [ 5.537490] ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 30
> 73 bytes from PEB 107:108976, read only 3073 bytes, retry
> [ 5.691121] ecc_sw_hamming_correct: uncorrectable ECC error
> [ 5.696709] ecc_sw_hamming_correct: uncorrectable ECC error
> [ 5.702426] ecc_sw_hamming_correct: uncorrectable ECC error
> [ 5.708141] ecc_sw_hamming_correct: uncorrectable ECC error
> [ 5.714103] ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 30
> 35 bytes from PEB 107:25144, read only 3035 bytes, retry
> [ 20.523689] random: crng init done
> [ 21.892130] ecc_sw_hamming_correct: uncorrectable ECC error
> [ 21.897730] ubi0 warning: ubi_io_read: error -74 (ECC error) while reading 13
> 94 bytes from PEB 116:75776, read only 1394 bytes, retry
>
> Most of the time, when the reading of the file fails, I just have to read it once more and it gets read without that error.
It really looks like a regular bitflip happening "sometimes". Is this a
board which already had a life? What are the usage counters (UBI should
tell you this) compared to the official endurance of your chip (see the
datasheet)?
> What am I supposed to do to avoid the ECC weakness warning at startup and to fix that ECC error issue ?
I honestly don't think the errors come from the 5.1x kernels given the
above logs. If you flash back your old 4.14 I am pretty sure you'll
have the same errors at some point.
NAND really is a fragile storage medium, not following in a production
environment the minimum ECC scheme (there is a real difference between
1/256 vs 4/512) really leads to complicated solutions like this one,
unfortunately...
Thanks,
Miquèl
More information about the linux-mtd
mailing list