LDPC Codes
AdvancedAdvanced

LDPC Codes

Keywords

LDPCparity-check matrixsparse matrixTanner graphvariable nodecheck nodebelief propagationhard decisionsoft decisionbit error rateAsk ChatGPT

Progress

Sign in to track your progress.

在 error-coding-basics 中我們學到了 error correction 的基本原理,而在 SSD pillar 的 nand-flash 單元中我們了解到 NAND flash cell 隨著 P/E cycle 增加會逐漸劣化、bit error rate 會持續上升,因此現代 SSD 需要非常強大的 error correction code,這就是 LDPC(Low-Density Parity-Check)code 被廣泛採用的原因。我們會介紹 LDPC code 的核心結構:一個 sparse parity-check matrix H,其中大部分元素為零,這個稀疏特性使得解碼演算法能夠高效運作。透過 Tanner graph 的圖形化表示,我們可以直觀理解 variable node 與 check node 之間的關係,並在此基礎上介紹 belief-propagation decoding 演算法如何透過在圖上反覆傳遞機率訊息來逐步收斂到正確的 codeword。最後我們會討論 hard-decision 與 soft-decision decoding 的差異:hard-decision 只使用每個 cell 讀出的 0 或 1,而 soft-decision 則利用 NAND flash 的 multi-level voltage sensing 來取得每個 bit 的信賴度資訊,大幅提升糾錯能力,但也需要更多次的 flash read 操作與更高的解碼運算量。

Key Concepts

我理解 LDPC code 的核心結構是一個 sparse parity-check matrix H,其中大部分元素為零,這個稀疏特性使得解碼演算法能夠高效運作

我理解如何透過 Tanner graph 將 parity-check matrix 視覺化為 variable node 與 check node 的二部圖,以直觀理解編碼結構

我理解 belief propagation 演算法如何在 Tanner graph 上透過反覆傳遞機率訊息來逐步收斂到正確的 codeword

我了解 hard-decision decoding 與 soft-decision decoding 的差異:hard-decision 只使用 0/1 的判定值,而 soft-decision 利用類比電壓資訊提供每個 bit 的信賴度,糾錯能力更強但運算成本更高

我知道為什麼現代 SSD 需要 LDPC 這類強大的 ECC:隨著 NAND flash cell 的 P/E cycle 增加與製程微縮,bit error rate 持續上升,傳統的 BCH code 已不足以應對

Recommended Resources

Test Your Understanding