NAND介質工程

LDPC 兩級糾錯:硬判決的延遲預算與軟判決的觸發代價

作者:軍航科工半導體LDPC / 軟判決 / 硬判決

原始誤碼率隨 P/E 循環、保持時間和讀干擾移動,糾錯必須按壽命末期條件定標。硬判決要做到延遲不可感知,軟判決用多次重讀換來一個數量級的糾錯能力,代價是尾延遲——兩級之間的觸發率控制才是設計重點。

誤碼率是一條會移動的曲線

NAND 的原始誤碼率不是常數。它隨擦寫循環累積上升,隨資料保持時間延長上升,隨同一塊被讀取的次數上升,還會因為讀取時的結溫偏離編程時的結溫而上升。這幾個因素可以疊加。因此糾錯能力不能按新盤狀態定標,必須按壽命末期的最惡劣組合來定,否則盤在第四、第五年會出現看似突然的可靠性劣化。

第一級:硬判決必須做到不可感知

硬判決路徑上,主控拿到每個單元 1 bit 的判決結果,交給 LDPC 解碼器按最小和演算法迭代。這一級是純硬體實現且迭代次數有上限,原因很直接:J750/J770 規劃的 QD1 4KB 隨機讀平均延遲為 65 µs,整個讀路徑包含 NAND 陣列讀出、通道傳輸、糾錯和主機側返回,留給糾錯的預算只有幾微秒量級。任何需要韌體介入的處理都會破壞這個預算。

第二級:用讀次數換糾錯能力

硬判決失敗後,主控對同一頁施加多組偏移讀電壓重複讀取,把非零即一的判決變成對數似然比的多級量化。資訊量增加使糾錯能力大約提高一個數量級,但每一次額外讀取都是完整的 NAND 陣列訪問,單次糾錯時間從微秒級跳到百微秒甚至毫秒級。軟判決因此是尾延遲的主要來源之一,它的價值在於兜底,觸發率必須壓到極低。

與讀電壓跟蹤、Read Retry 的分工

三種手段是遞進關係而不是並列。自適應讀電壓跟蹤按塊的擦寫次數和保持時間預測最優參考電壓,從源頭壓低誤碼率;Read Retry 在換電壓重讀這一層解決問題,不動解碼器;軟判決是最後一道。把跟蹤做準,前兩級就能吸收絕大多數場景,軟判決只在少數老化塊上被喚醒。反過來,如果電壓跟蹤偷懶,軟判決觸發率上升,P99.9 延遲會立刻惡化。

UBER 目標如何反推設計餘量

UBER ≤1 扇區/10^18 bits 讀 這個目標決定了碼率、冗餘位元組數和迭代上限的取值。冗餘佔用物理 NAND 空間,冗餘越大使用者可見容量越低,這是容量與可靠性之間的直接交換。J750(1 DWPD)與 J770(3 DWPD)共用同一介質與同一解碼器,差異來自預留空間和寫入策略,而糾錯餘量按 J770 的壽命末期條件統一定標,讓兩條產品線共享一套已驗證的糾錯配置。

關鍵詞
LDPC軟判決硬判決對數似然比UBER讀電壓跟蹤尾延遲軍航科工