[Yaffs-archive] RE: Block Status Question
Brad Beveridge
Brad.Beveridge@trimble.co.nz
Wed, 11 Jun 2003 13:47:39 +1200
I think it is because ECC can correct a 1 bit error. The =
yaffs_isBlockBad function doesn't bother to do ECC so it is possible =
that there is a 1 bit error in the block status byte. Counting the bits =
< 7 implies that 2 bits are bad & there is no chance that ECC will fix =
it.
Side note - if what I say is correct, perhaps the tags should be ECC =
fixed (if bits < 8) & then checked against 0xFF, otherwise it would be =
possible for the block status byte to have a single bit error, but also =
other bytes of the tag to have errors - which would also invalidate the =
ECC check?
Ie,=20
if (countBits < 7)
return 1;
else
if (countBits !=3D 0xFF)
{
ecc_correct_tags
if (corrected_status !=3D 0xFF)
}
Cheers
Brad
> -----Original Message-----
> From: Jim Muchow [mailto:james.muchow@qlogic.com]=20
> Sent: Wednesday, 11 June 2003 4:20 a.m.
> To: yaffs@toby-churchill.org
> Subject: Block Status Question
>=20
>=20
> In yaffs_IsBlockBad() a test is made for the number of bits
> in each byte. The original test for 0xFF is #if'd out.
>=20
> The test for failure is less than 7. Shouldn't this be 8?
> What am I missing?
>=20
> JM
>=20
>=20
> --------------------------------------------------------------
> -------------------------
> This mailing list is hosted by Toby Churchill open software=20
(www.toby-churchill.org). If mailing list membership is no longer wanted =
you can remove yourself from the list by=20
sending an email to yaffs-request@toby-churchill.org with the text =
"unsubscribe"=20
(without the quotes) as the subject.=20
---------------------------------------------------------------------------------------
This mailing list is hosted by Toby Churchill open software (www.toby-churchill.org).
If mailing list membership is no longer wanted you can remove yourself from the list by
sending an email to yaffs-request@toby-churchill.org with the text "unsubscribe"
(without the quotes) as the subject.