[Tinyos Core WG] Updates to BlockStorage

David Gay dgay42 at gmail.com
Thu Sep 21 16:49:19 PDT 2006


On 9/21/06, Jonathan Hui <jhui at archrock.com> wrote:
> It might make it easier to write a BlockStorage implementation. But it
> was the NAND flash were we thought the changes might be less desirable
> for users of BlockStorage. Unless the NAND flash has support for ECC,
> bad-block mapping, etc. then it could potentially push all of this
> management to the user of BlockStorage. The tep doesn't say anything
> about what kind of data-integrity promises an implementation should
> make. Am I right? or is my perception of NAND flash a little out-dated?

Hmm. As far as I'm concerned, BlockStorage is supposed to be
essentially reliable (i.e., a bunch of successful writes followed by a
succesful sync should be re-readable w/o loss in normal
circumstances). I expect implementations of BlockStorage for NAND to
be somewhat challenging, not so much because of ECC and bad-block
mapping (the former isn't "hard" once someone else has figured out ECC
codes ;-)), but mostly because of the following restriction on NAND
flash:

Each block written at most N (typically N=1) between erases of each
sector - how do you deal with random writes? Especially when you must
be able to reread the data you've just written. Of course you could
use a reasonable sized cache and rewrite sectors a lot, but that seems
unappealing (though this isn't really any different than what the
at45db is doing...).

David


More information about the Tinyos-2.0wg mailing list