Regarding latest EUCLEAN/bitflip_threshold patchset
Mike Dunn
mikedunn at newsguy.com
Wed May 16 14:09:21 EDT 2012
On 05/15/2012 11:49 PM, Brian Norris wrote:
>
> My out-of-tree driver increments ecc_stats.corrected.
>
I should have said "currently no in-tree driver incremenst stats" :)
> Hmm, well 041e4575 was designed without much of a window into how
> others really needed it, as I didn't know of others who had the same
> features. My hardware has its own threshold features that can be used
> to mask bitflips; it has ECC that covers OOB at the same time as the
> page data; when reading OOB only, it actually reads the page data as
> well, in order to perform ECC properly. So when I report bitflips from
> read_oob, I'm reporting the bitflips for the entire page+OOB sector.
> But due to my hardware-based threshold, this only is reported for a
> high number of bitflips.
Ha! This complicates the issue even more, since reading the whole page *will*
give you useful information on block wear.
Based on my (admittedly liimited) knowledge, my impression is that we should
just not bother with EUCLEAN for oob-only reads. Reading the whole page for
oob-only ops is a special case, and using a separate ECC scheme intended for
oob-only does not provide useful bitflip data.
>
> So, I'm not sure how to properly reconcile the new threshold code, the
> nand_do_read_oob() EUCLEAN and EBADMSG, and various schemes for
> OOB-only ECC (or the common case of no ECC for OOB-only). I'll try to
> give this some more thought and get back to you. But please comment if
> my feedback so far stirs any ideas with you guys. Perhaps 041e4575 was
> not as clean as I thought in the first place.
It's hard to be clean in a messy environment :)
Thanks Brian,
Mike
More information about the linux-mtd
mailing list