Re: Why is PEB not erased before writing???

Thomas Gleixner
2007-02-20T09:30:01Z

On Tue, 2007-02-20 at 12:07 +0530, Brijesh Singh wrote:
> I tried to overwrite same block.
> Ubi should call erase before overwriting the data block.But it didn't.
> UBI simply wrote the block again.That will write garbage for a flash.
> So who will call erase??Is it the application's responsibility to call
> erase before writing at same location???
>
> I am stuck here because my concept was,
> ubi will check if we are re-writing the same PEB.
> If yes,UBI will erase the block and then write the same block.

Applications and UBI kernel users have no access to physical erase
blocks. They look at logical erase blocks. UBI manages the translation
of logical to physical blocks. If you write to the same logical erase
block again UBI will just write to a different physical erase block and
erase the previous PEB later on. The internal management guarantees that
the application looks only at the newest written block and not at the
older one.

tglx