Loading [MathJax]/extensions/MathMenu.js
BABOL: A Software-Defined NAND Flash Controller | IEEE Conference Publication | IEEE Xplore

Abstract:

NAND Flash Storage Controllers are a crucial component of Solid State Drives (SSDs). They provide an abstraction of Flash packages to the SSD firmware by translating high...Show More

Abstract:

NAND Flash Storage Controllers are a crucial component of Solid State Drives (SSDs). They provide an abstraction of Flash packages to the SSD firmware by translating high-level operations, such as a Page Program or a Block Erase, into lowlevel signals. In theory, the Open NAND Flash Interface (ONFI) specification standardizes this interface. In practice, however, every package supports optimized versions of the standard operations as well as non-standard operations. Writing a controller that exploits these optimizations is the only way to obtain competitive performance, but it makes for a highly intricate, error-prone, and non-portable controller development process. Compounding the issue is the fact that new generations of Flash packages are produced yearly, and non-standard optimization techniques are often presented in the literature. Modifying rigid hardware controllers to support these advancements is extremely challenging, making it difficult to rapidly prototype new SSDs and exploit the full potential of Flash memory. To address this, we propose Babol, a software-defined Flash controller architecture that provides generic hardware building blocks that can be flexibly combined via software to express complex, package-optimized Flash operations. We implemented two flavors of BABOL in an FPGA setting and experimented with several commercial off-the-shelf Flash packages. Our results show that the flexibility that Babol brings far outweighs the marginal amounts of performance and area it requires. We open source our controller, including its unique software programming environment, which we believe can make SSD controller development more productive for seasoned SSD Architects and make prototyping accessible for newcomers who want to join the field.
Date of Conference: 02-06 November 2024
Date Added to IEEE Xplore: 03 February 2025
ISBN Information:

ISSN Information:

Conference Location: Austin, TX, USA

Funding Agency:


I. Introduction

NAND Flash is the de facto storage medium for dataintensive applications [3], [6], [19], [28], [53], [58] and fast storage [16], [26], [30], [36]. This is due in no small part to the high number of variations into which Flash memory can be packaged. For instance, the Flash Arrays, which are the fundamental building blocks of Flash storage, can be made of cells that hold one, two, three, or even four bits of information. These arrays can be built into planar or 3D structures providing a variety of address space sizes, and several of those arrays can be present in what is called a multi-plane package. These geometry details, which are nicely explained elsewhere [2], [40], [41], unlock many possibilities on how an SSD can optimize the performance, longevity, and energy consumption of its underlying Flash storage [13], [15], [38], [49].

Contact IEEE to Subscribe

References

References is not available for this document.