Is this a necessity? wouldn't it be better to have several "open"
blocks, used for various needs? say one for storing inodes and
checkpoints, another for storing data? maybe this is a bad example,
but I'm sute it's possible to think of a better one.
On Fri, Apr 26, 2013 at 12:11 AM, Charles Manning <
cdhmanning@gmail.com> wrote:
> On Thursday 25 April 2013 01:28:40 Zavi wrote:
>> I've been reading on MLC flash lately, and saw that erase blocks must
>> be written sequentially. Does this mean that YAFFS2 manages a single
>> MLC chip so that there is only one "open" erase block used for writing
>> in every point in time? and only when it is filled can data be written
>> to an other erase block?
>
> Yes
>
> Yaffs2 is log structured which means it writes as a sequential log. That means
> it only writes sequentially to one block at a time. When that block is full
> it finds another block to write to.
>
> The blocks that are written are not necessarily sequential, but writes within
> a block are.
>
> Yaffs2 will generally fill a block before moving to another block, but there
> are some exceptions:
> * If there is an error.
> * On every remount it starts with a new block.
>
> -- CHarles