BABOL: A Software-Defined NAND Flash Controller
Kibin Park, Alberto Lerner, Sangjin Lee, Philippe Bonnet, Yong Ho Song, Philippe Cudré-Mauroux, Jungwook Choi
摘要
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.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper7
- Reducing solid-state drive read latency by optimizing read-retryJisung Park, Myungsuk Kim, Myoungjun Chun, Lois Orosa 等ASPLOS 2021 · 被引用 66 次
- FlashNeuron: SSD-Enabled Large-Batch Training of Very Deep Neural NetworksJonghyun Bae, Jongsung Lee, Yunho Jin, Sam Son 等FAST 2021 · 被引用 64 次
- Flash-Cosmos: In-Flash Bulk Bitwise Operations Using Inherent Computation Capability of NAND Flash MemoryJisung Park, Roknoddin Azizi, Geraldo F. Oliveira, Mohammad Sadrosadati 等MICRO 2022 · 被引用 53 次
- Prolonging 3D NAND SSD lifetime via read latency relaxationChun-Yi Liu, Yunju Lee, Myoungsoo Jung, Mahmut Taylan Kandemir 等ASPLOS 2021 · 被引用 35 次
- Networked SSD: Flash Memory Interconnection Network for High-Bandwidth SSDJiho Kim, Seokwon Kang, Yongjun Park, John KimMICRO 2022 · 被引用 18 次
相关 Paper
- Learning to Drive Software-Defined Solid-State DrivesDaixuan Li, Jinghan Sun, Jian HuangMICRO 2023 · 被引用 5 次
- Decoupled SSD: Rethinking SSD Architecture through Network-based Flash ControllersJiho Kim, Myoungsoo Jung, John KimISCA 2023 · 被引用 10 次
- lODA: A Host/Device Co-Design for Strong Predictability Contract on Modern Flash StorageHuaicheng Li, Martin L. Putra, Ronald Shi, Xing Lin 等SOSP 2021 · 被引用 36 次
- Programming an SSD Controller to Support Batched Writes for Variable-Size PagesJaeyoung Do, Chen Luo, David B. LometICDE 2021 · 被引用 4 次
- ZNS: Avoiding the Block Interface Tax for Flash-based SSDsMatias Bjørling, Abutalib Aghayev, Hans Holmberg, Aravind Ramesh 等USENIX ATC 2021 · 被引用 221 次
