[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