Enabling Large-Scale Storage in Sensor Networks with the Coffee

advertisement
Enabling Large-Scale Storage in
Sensor Networks with the Coffee
File System
ISPN 2009
Lawrence
Introduction

Motivation



Existing storage systems access the flash
memory directly and ad hoc, or use too much
RAM to handle large flash memories.
Storage abstractions
Meet the need for a generic, high speed, flashbased file system that is feasible for a wide rage
of sensor devices.
Storage In Sensor Network

Storage Centricity




From communication-centric to storage-centric
Batching data for saving energy
Delay-tolerant v.s. delay-sensitive(ex. fire alarm)
Storage-centric sensor net require storage
facilities.
Storage In Sensor Network(Cont.)

Using Storage as Virtual Memory



Use the flash as swap area.
VM requires faster storage systems.
Require storage manage application:
1. Wear leveling
2. Garbage collection
3. Space allocation

In this paper, there is a storage abstraction
allocation that suit for above requirements.
Storage In Sensor Network(Cont.)

Flash memory semantics


Some part (called erase sectors) must be
erased before overwriting.
Flash memory: 1.NOR flash (good for read)
2.NAND flash (good for storage)
COFFEE



Coffee is a portable, high-speed file system
for sensor device equipped with flash
memories.
Micro logs to handle file modifications.
Use a small footprint: each open file O(1)
RAM.
COFFEE (Cont.)




Design principles
Memory and code size constraints.
Small memory footprints-regardless of the
file sizes.
Rule:



1.divided into erase sectors of size
2.Erease sets all bits to 1
3.Programming switches a subset of the bits in a
page from 1 to 0.
COFFEE (Cont.)
COFFEE (Cont.)

Page Structure


A file is stored as a contiguous group
Page Allocation Algorithm: first-fit policy.

Minimizing metadata in the RAM

(metadata in first page of file)

Locating File
File cache for locations.
 If not in cache => cache miss
(sequentially scan)


Garbage Collection

Wear Leveling Policy



What is wear leveling
Erase too much -> memory corrupt
Method: delay garbage collection until a space
reservation request cannot be fulfilled.
Evaluation
Conclusion

Coffee’s high throughput and low latency
make it a suitable underlying layer for
storage abstractions.
Download