[U-Boot] [PATCH resend V2 1/3] mtd: nand: mxs support oobsize bigger than 512

Scott Wood
2015-07-31T17:07:50Z

On Tue, 2015-07-21 at 16:15 +0800, Peng Fan wrote:
> If ecc chunk data size is 512 and oobsize is bigger than 512, there is
> a chance that block_mark_bit_offset conflicts with bch ecc area.
>
> The following graph is modified from kernel gpmi-nand.c driver with
> each data block 512 bytes. We can see that Block Mark conflicts with
> ecc area from bch view. We can enlarge the ecc chunk size to avoid
> this problem to those oobsize which is larger than 512.

Enlarge it by how much? What does the layout look like in that case?

>
> | P |
> |<----------------------------------------------------------------->|
> | |
> | (Block Mark) |
> | P' | | | |
> |<--------------------------------------------------->| D | | O'|
> | |<--------->| |<->|
> V V V V V
> +---+--------------+-+--------------+-+--------------+-+----------+-+---+
> | M | data |E| data |E| data |E| data |E| |
> +---+--------------+-+--------------+-+--------------+-+----------+-+---+
> ^ ^
> | O |
> |<---------------->|
>
> P : the page size for BCH module.
> E : The ECC strength.
> G : the length of Galois Field.
> N : The chunk count of per page.
> M : the metasize of per page.
> C : the ecc chunk size, aka the "data" above.
> P': the nand chip's page size.
> O : the nand chip's oob size.
> O': the free oob.

"D" is in the diagram but not the key. "G", "N", and "C" are in the key but
not the diagram.

What is "the metasize of per page"?

-Scott