On Tuesday 24 May 2005 02:17, Sergei Sharonov wrote:
> > Two things that can be done to improve the situation at the low level:
> > 1) Ensure that the whole page write is being done as a single
> > write at the mtd level (ie. writing the data and oob as separate
> > operations is not good).
>
> Hmm... I would think separate writes would be a good idea - then we
> have a guarantee that data write has completed. That is if crc on tags
> is good then no power failure has occurred during data write. On the
> other
> hand if we do a write in one gulp then valid crc on tags does not prove
> that data is ok. So:
> 1. In case of separate writes:
> - no need to check ecc on data at scan time
> - must check erase status before write (we do that anyway) since data
> may
> be written and oob not. Come to think of it we have to do it only on
> first allocation.
> 2. In case of a single write:
> - good crc on tags does not guarantee good ecc on data since it may be
> a partial write.
>
> So what is the problem with two separate writes (data and oob)?
Seperate write are a bad idea because it is much slower. Two writes instead
of one == 400uS instead of 200uS.
It still would not fix the problem since you could still get any corruptions.
-- Charles