nand: Proper definition of "extra" OOB regions? (4x interleaved, then one bulk user)
lede at allycomm.com
Thu Jun 13 19:54:05 PDT 2019
On 6/13/19 6:12 PM, Chuanhong Guo wrote:
> On Fri, Jun 14, 2019 at 3:33 AM Jeff Kletsky<lede at allycomm.com> wrote:
>> Examining supported chips with similar OOB layouts with multiple
>> sections then an "additional" area, such as the GigaDevice GD5FxGQ4xA,
>> was not terribly insightful. The GD5F1GQ4UAY datasheet marks the
>> upper 64-byte region as "reserved", in contrast to "User meta data"
>> and it is not described in the current `gigadevice.c`. As such,
>> it isn't convincing evidence that it was omitted as "not required",
>> because it was marked "reserved", or perhaps for some other reason.
>> As a side note, the datasheet also marks the first byte of each region
>> as "reserved", which is not reflected in the current `gigadevice.c`,
>> which includes it in the free region for sections 1-3.
> The datasheet I found back then marked the first byte as "reserved for
> bad block mark" and the first 4 bytes of other regions are marked as
> "user meta data 1". And I wrote the ecc region code accordingly.
> I've put the one I found in the attachment.
> Chuanhong Guo
The datasheet kindly provided by Chuanhong Gou is labeled GD5F1GQ4UAYIG,
with a DID of 0xf1, matching the code in gigadevice.c.
It shows a 64-byte OOB area, verifying the correct layout in the code.
The one I referenced was labeled GD5F1GQ4UAY, which shows a 128-byte OOB.
The first 64 bytes organized nearly identically to the above, with
the remaining 64 bytes marked "Reserved".
The ordering information on both datasheets decodes the IG suffix as
Industrial,Green. This makes the two indistinguishable by appearance.
A chip sold as GD5F1GQ4UAYIG apparently could have been either variant.
Both datasheets on the "Read ID (9FH)" page show the DID to be 0xf1.
Contradicting itself, the 128-byte datasheet also gives a parenthetical
note on the "Commands Description" page with a DID of 0x10.
I'm just glad I wasn't dealing with these on a production run!
More information about the linux-mtd