Non-Random Bit errors on freshly erased Micron Flash

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi There !

We using a Xilinx Zynq Ultrascale+ (Arasan NAND controller) with
MT29F4G08AB Micron Flash. The strange thing I observe is that after a
flash_eraseall there are 4 bit errors on each page (2048bytes), always
in the same locations, see below -


ZynqMP> md 0x10000000 200

10000000: ffffffff ffffffff ffffffff ffffffff    ................

10000010: ffffffff ffffffff ffffffff ffffffff    ................

10000020: ffffffff ffffffff ffffffff ffffffff    ................

10000030: ffffffff ffffffff ffffffff ffffffff    ................

10000040: ffffffff ffffffff ffffffff ffffffff    ................

10000050: ffffffff ffffffff ffffffff ffffffff    ................

10000060: ffffffff ffffffff ffffffff ffffffff    ................

10000070: ffffffff ffffffff ffffffff ffffffff    ................

10000080: ffffffff ffffffff ffffffff ffffffff    ................

10000090: ffffffff ffffffff ffffffff ffffffff    ................

100000a0: ffffffff ffffffff ffffffff ffffffff    ................

100000b0: ffffffff ffffffff ffffffff ffffffff    ................

100000c0: ffffffff ffffffff ffffffff ffffffff    ................

100000d0: ffffffff ffffffff ffffffff ffffffff    ................

100000e0: ffffffff ffffffff ffffffff ffffffff    ................

100000f0: ffffffff ffffffff ffffffff ffffffff    ................

10000100: ffffffff ffffffff ffffffff ffffffff    ................

10000110: ffffffff ffffffff ffffffff ffffffff    ................

10000120: ffffffff ffffffff ffffffff ffffffff    ................

10000130: ffffffff ffffffff ffffffff ffffffff    ................

10000140: ffffffff ffffffff ffffffff ffffffff    ................

10000150: ffffffff ffffffff ffffffff ffffffff    ................

10000160: ffffffff ffffffff ffffffff ffffffff    ................

10000170: ffffffff ffffffff ffffffff ffffffff    ................

10000180: ffffffff ffffffff ffffffff ffffffff    ................

10000190: ffffffff ffffffff ffffffff ffffffff    ................

100001a0: ffffffff ffffffff ffffffff ffffffff    ................

100001b0: ffffffff dfffffff ffffffff ffffffff    ................
//433rd Byte is missing MSB

100001c0: ffffffff ffffffff ffffffff ffffffff    ................

100001d0: ffffffff ffffffff ffffffff ffffffff    ................

100001e0: ffffffff ffffffff ffffffff ffffffff    ................

100001f0: ffffffff ffffffff ffffffff ffffffff    ................

10000200: ffffffff ffffffff ffffffff ffffffff    ................

10000210: ffffffff ffffffff ffffffff ffffffff    ................

10000220: ffffffff ffffffff ffffffff ffffffff    ................

10000230: ffffffff ffffffff ffffffff ffffffff    ................

10000240: ffffffff ffffffff ffffffff ffffffff    ................

10000250: ffffffff ffffffff ffffffff ffffffff    ................

10000260: ffffffff ffffffff ffffffff ffffffff    ................

10000270: ffffffff ffffffff ffffffff ffffffff    ................

10000280: ffffffff ffffffff ffffffff ffffffff    ................

10000290: ffffffff ffffffff ffffffff ffffffff    ................

100002a0: ffffffff ffffffff ffffffff ffffffff    ................

100002b0: ffffffff ffffffff ffffffff ffffffff    ................

100002c0: ffffffff ffffffff ffffffff ffffffff    ................

100002d0: ffffffff ffffffff ffffffff ffffffff    ................

100002e0: ffffffff ffffffff ffffffff ffffffff    ................

100002f0: ffffffff ffffffff ffffffff ffffffff    ................

10000300: ffffffff ffffffff ffffffff ffffffff    ................

10000310: ffffffff ffffffff ffffffff ffffffff    ................

10000320: ffffffff ffffffff ffffffff ffffffff    ................

10000330: ffffffff ffffffff ffffffff ffffffff    ................

10000340: ffffffff ffffffff ffffffff ffffffff    ................

10000350: ffffffff ffffffff ffffffff ffffffff    ................

10000360: ffffffff ffffffff ffffffff ffffffff    ................

10000370: ffffffff ffffffff ffffffff ffffffff    ................

10000380: ffffffff ffffffff ffffffff ffffffff    ................

10000390: ffffffff ffffffff ffffffff ffffffff    ................

100003a0: ffffffff ffffffff ffffffff ffffffff    ................

100003b0: ffffffff dfffffff ffffffff ffffffff    ................
//945th Byte missing MSB

100003c0: ffffffff ffffffff ffffffff ffffffff    ................

100003d0: ffffffff ffffffff ffffffff ffffffff    ................

etc,

The offset of the byte errors can be found using this equation  0x1B1
+ (200 * N)

Given the fact that this is not random in nature I have ruled out
actual NAND cell bit errors as a possible cause. Problem is that I'm
not sure what could cause a problem like this.. I'm guessing something
is wrong with the 4bit BCH ECC configuration, but I'm not sure how to
proceed.

Any advice or hints would be greatly appreciated as I've already spent
two weeks on this

Thanks in advance,

/Otto

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux