[OBORONA-SPAM] Re: inode checkpoints

Artem B. Bityuckiy abityuckiy at yandex.ru
Mon Oct 4 09:26:03 EDT 2004


> 
> Yes and no.  It makes sense for any flash device that you can't write to
> the same page multiple times without an erase in between.  NAND is
> certainly the largest group of such devices.  There are others that have
> this behavior as well.  See cfi_cmdset_0020.c.

The original idea of ICPs (inode checkpoint) is to improve JFFS2 
performance on NAND not because the page can't be written lots of times.
The NAND flash specific is that there is constant delay when accessing 
any page.

For example consider TOSHIBA TC5DxM82A1xxxx 8-bit 256 Mbit NAND flash.
Page access delay is 25 microsecs.
Read cycle is 50 nanosecs.

When you read 3 bytes from this NAND flash and these bytes are situated 
in one page (consequently), you will spent about 25 microsecs + 50 * 3 
nanosecs.
But when you read those 3 bytes from the same NAND flash and these bytes 
are situated in three different pages, you will spent about 25*3 
microsecs + 50 * 3 nanosecs.

So, when the inode cache is built, we read node headers from *different 
pages*. But if there is checkpoint, we read from few pages. This is the 
main idea.

But in case of regular file inodes we also save *additional* time since 
we don't check the *data* CRC for those nodes, which are in 
checkpoint(s). In case of the directory inode there is no such 
additional time savings.

-- 
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.




More information about the linux-mtd mailing list