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.