[PATCH] [MTD] NAND : SFTL (Simple Flash Transration Layer)

katsuki.uwatoko at toshiba.co.jp katsuki.uwatoko at toshiba.co.jp
Thu Dec 15 06:38:55 EST 2011


> From:     Matthieu CASTET <matthieu.castet at parrot.com>
> Date:     Wed, 14 Dec 2011 10:29:57 +0100
:
> > SFTL is a flash translation layer for NAND Flash on mtd_blkdevs
> > interface.  This is mainly-useful for read-oriented use (ex. a storage
> > for a boot image) because this provides simple wear-leveling and
> > scrubbing. The features are:
> > 
> >  * sftl provides wear-leveling (not static wear-leveling) and scrubbing.
> >  * sftl has one erase block size cache.
> >  * sftl uses 6 bytes in OOB for a logical address, status, version.
> >  * the erase block scan at init is fast.
> >  * a unit of read/write from/to MTD is an erase block.
> > 
> What's the advantage over ubi and/or mtd over ubi.

Time of the scan at init is faster, because this reads oob of a page 
in each erase block normally. 

The flash space overhead is smaller, because this does not have headers 
which UBI has. As you know, UBI uses 1 or 2 pages for the headers per 
one erase block in addition to bad block management. In the case of 
smallpage (512B) NAND and 16KB erase block w/o subpage write support, 
the overhead of UBI is approximately 6%. The overhead of sftl is only 
for bad block management.

So I think this is suitable for a boot image including a compressed 
rootfs (ex. squashfs and cramfs) or a compressed kernel.

Regards,
-- 
UWATOKO Katsuki


More information about the linux-mtd mailing list