[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