Academic Journals Database
Disseminating quality controlled scientific knowledge

Deterministic Service Guarantees for NAND Flash using Partial Block Cleaning

Author(s): Siddharth Choudhuri | Tony Givargis

Journal: Journal of Software
ISSN 1796-217X

Volume: 4;
Issue: 7;
Start page: 728;
Date: 2009;
Original page

Keywords: NAND flash | Embedded Systems | Storage | QoS | Determinism | Real-Time | File Systems

Current generation embedded systems are capable of running applications that were realm of desktop systems a few years ago. Along with sophisticated processors, affordable storage due to NAND flash continues to be one of the enabling technologies driving the proliferation of embedded systems. NAND flash has its idiosyncrasies (eg: bulk erase, wearleveling) which results in a nonlinear and unpredictable read/write access times. In case of application domains such as streaming multimedia and real-time systems, a deterministic read/write access time is desired during design time. We propose a novel NAND flash translation layer called GFTL that guarantees fixed upper bounds (worst case service rates) for reads and writes that are comparable to a theoretical ideal case. Such guarantees are made possible by eliminating sources of non-determinism in GFTL design and using partial block cleaning. GFTL performs garbage collection in partial steps by dividing the garbage collection of a single block into several chunks, thereby interleaving and hiding the garbage collection latency while servicing requests. Further, GFTL guarantees are independent of flash utilization, size or state. Along with theoretical bounds, benchmark results show the efficacy of our approach. Based on experiments, GFTL requires an additional 16% of total blocks for flash management. A proof for additional blocks required is provided for a general case. GFTL service guarantees can be calculated from flash specifications. Thus, with GFTL a designer can determine the service guarantees and size requirements apriori, during design time.
Save time & money - Smart Internet Solutions      Why do you need a reservation system?