SSD Reliability and Protection
Keywords
SSD reliabilityNAND flashECCBCHLDPCRAINRAID-5RAID-6Diff-RAIDReed-SolomonLRCerasure codingfail-slowcorrelated failureAsk ChatGPT
Prerequisites
Related Papers
Progress
Sign in to track your progress.
NAND flash 本質上是不可靠的儲存媒介,要把它變成存重要資料的 SSD,靠的是一層又一層的編碼保護。這堂課用三層架構學習 SSD 的保護:in-device 這層介紹 BCH 到 LDPC 的演進、LDPC 的 fail-slow 行為、以及用 RAIN 對抗 die 故障。cross-device 這層解釋為什麼 RAID-5 搬到 SSD 上會引發 lockstep failure,以及 Diff-RAID 怎麼用「故意不公平」把故障時間強迫錯開。cross-node 這層說明當瓶頸從容量變成網路頻寬之後,Reed-Solomon 為什麼不夠用、LRC 的 local plus global parity 怎麼用一點 overhead 換到一半的修復流量。
Pro Tip: 開啟 YouTube 中文字幕。
參考資料:
- Differential RAID: Rethinking RAID for SSD reliability
- Erasure Coding in Windows Azure Storage
- Errors in Flash-Memory-Based Solid-State Drives: Analysis, Mitigation, and Recovery
- ReadGuard: Integrated SSD Management for Priority-Aware Read Performance Differentiation
Key Concepts
我能分辨 EDC、ECC、EC 三種編碼各自的能力與用途
我理解 SSD 的三層保護架構(in-device、cross-device、cross-node),以及每一層對應的設計目標
我能說明 BCH 與 LDPC 的差異:hard decision 對 soft decision、fail-stop 對 fail-slow
我能解釋 Diff-RAID 為什麼故意不公平
我理解跨節點儲存的優化目標從「容量稀缺」變成「頻寬稀缺」
我理解 LRC 的 local + global parity 兩層設計