[Tinyos-Storage WG] Today
Deepak Ganesan
dganesan at cs.umass.edu
Fri May 4 08:03:58 PDT 2007
Folks,
Reminder that we have a teleconf in about an hour.
If folks have read up the TEPs that David Moss sent out, we can start
with a discussion of the "Platform Independent Interface" (TEP 128).
In particular, it would be good to make sure that such an interface
can be used whether we have a NOR flash, NAND flash or MMC card. If
the Stanford folks want to use the same interface for FRAM, please
take a look and see if it would work.
A few questions that came up while reading it:
1. Should we separate VolumeSettings and FlashSettings, so that the
former gives information about the current volume whereas the latter
gives general flash-specific information, like the type of flash
(NAND, NOR, MMC).
2. VolumeSettings currently does not expose page size in flash, only
write unit size. "PageSize" and "WriteUnitSize" can be different for
different flashes. PageSize gives the upper layer information about
the maximum size of a buffer for read/write efficiency. Anything
larger than a page incurs multiple reads/writes. WriteSize is the
minimum sized buffer that can be written at any time. For a NOR
flash, WriteUnitSize is 1 byte, whereas for a NAND flash,
WriteUnitSize is much larger, and may be equal to a page size of a
fraction of it (typically a third or fourth of a page).
3. Should DirectStorage ensure that the number of bytes written is a
multiple of WriteUnitSize, and FAIL if the write length ("len") is
less not a multiple of WriteUnitSize?
4. NAND flashes have a special metadata unit for each page (16
bytes), which is used by file systems like YAFFS to store bad block
info and other metadata about a page. Can we define an interface to
this metadata (PageMetadata) but clearly specify that this is a "non-
portable" interface that is useful only for NAND flashes (similar to
DirectModify)
5. Are we assuming that a volume will be written into sequentially?
Non-sequential writes can be a problem for NAND, but is not a problem
for NOR.
6. I like the idea of having a buffering layer below DirectStorage,
which can be useful when the storage chip does not have on-chip
buffers (MMCs and the AT flash have on-board buffers). Should we
include a FlashBuffer interface as well?
Deepak
More information about the Tinyos-Storage
mailing list