Does UBI still place a just-tortured block first in the free block list?
Artem Bityutskiy
dedekind1 at gmail.com
Tue Jul 1 07:53:24 PDT 2014
Hi Atlant,
On Tue, 2014-07-01 at 09:11 -0400, Atlant Schmidt wrote:
> Folks:
>
> Several years ago, the behavior of UBI was that if a block
> failed to write, UBI would torture-test the block (with 0x5A
> and 0xA5 patterns) and if the block passed the torture test,
> it would be placed at the top of the list of available blocks.
Not sure, eraseblocks are stored in an RB-tree tree which is indexed by
the erase counter. Then UBI picks those with smaller erase counters
first.
> With this algorithm, UBI would attempt to again use the just-
> tortured block for the data that was still waiting to be written.
> But because the write failures were often data-dependent, in
> our experience, the block would frequently again fail to store
> the data to be written. It would be tortured again, passed again,
> and the cycle would repeat. We've seen this cycle continue for
> minutes at a time.
Sounds like a possible scenario, if the PEB in question has low erase
counter.
> Is the algorithm still the same? Or is the just-tortured block
> now placed at the bottom of the list of available blocks so that
> it will only show up again later (when the data to be written
> will probably be different)?
I am not sure about the list you are talking about, do you just assume
there is a list or you mean a specific list?
I do not think this part of UBI changed for the last several years.
--
Best Regards,
Artem Bityutskiy
More information about the linux-mtd
mailing list