Abstract
From cloud databases to large-scale data analytics, modern applications exploit solid state drives (SSD)'s low latency to write an enormous amount of short-lived data. These data do not require the strong data protection typical SSDs use to reliably store data for a guaranteed period. In recent years, SSD's density has been growing rapidly at the cost of degraded reliability, forcing SSD vendors to trade endurance and performance for stronger error protection. An intuitive question to ask is, 'What if the SSD can identify these short-lived data to save the tax of over-protection?' In this article, we answer affirmatively with a novel co-design called, ZoneLife, which exposes the data lifetime semantics from applications to the SSD. ZoneLife enables the SSD to select the optimal error-correction code (ECC) out of multiple codes of different strengths. As a result, the SSD can store short-lived data with significantly less resources. ZoneLife efficiently translates the data addresses of different lifetimes with a multigranularity flash-translation-layer (FTL). Existing systems can easily adopt ZoneLife with localized modifications because ZoneLife's host driver API generalizes Linux's write hint interface, and its device firmware utilizes the popular Zone Namespace interface. ZoneLife is evaluated with several representative database and cloud workloads, and the results show noticeable improvements in SSD's endurance and write throughput.
Original language | English |
---|---|
Pages (from-to) | 2488-2499 |
Number of pages | 12 |
Journal | IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems |
Volume | 42 |
Issue number | 8 |
DOIs | |
State | Published - 1 Aug 2023 |
Keywords
- Data integrity
- error analysis
- error correction codes (ECCs)
- flash memories
- hardware
- operating systems
- standards