電荷流失的兩條路徑
3D 企業級 TLC 把 3 bit 編碼進八個閾值電壓態,相鄰態之間的間隔只有百毫伏量級。電荷流失主要走兩條路:隧穿氧化層的缺陷輔助洩漏,以及讀取時字線高壓帶來的讀擾動。前者隨時間與溫度單調累積,後者隨讀次數累積。兩者疊加的結果是閾值分佈整體偏移並變寬;當分佈重疊區超出 ECC 的糾錯能力,就直接表現為 UBER 惡化。企業級產品要守住 UBER ≤1 扇區/10^18 bits 讀這一目標,靠的不是某一次強糾錯,而是把分佈始終壓在可糾範圍內。
寫壞一次,保持力就短一截
擦寫循環在氧化層裡留下的陷阱不會完全恢復,壽命末期的塊,其保持力窗口比新塊短得多。這解釋了為什麼耐久與保持力必須放在一起談:J750 規劃的 1 DWPD 與 J770 規劃的 3 DWPD 對應完全不同的循環消耗速度,而 5 年質保期內的 UBER 目標是二者共同約束的結果。這些數值都是產品定義/EVT 階段的目標值,介質分檔策略需要隨表徵資料一起迭代。落到實現上,韌體按塊的累計循環數分檔,對高循環塊採用更保守的刷新閾值與更強的糾錯配置。
刷新應該由軟資訊觸發,而不是定時器
後臺刷新不是定時任務。韌體持續取樣每個塊的原始錯誤率與最優讀電壓偏移量:當偏移量越過閾值,先嚐試讀重試與電壓校準把分佈拉回;只有校準之後錯誤率仍在上升,才把該塊排入重寫佇列。上電還要處理一類特殊情況——長期斷電存放的盤無法感知期間經過了多少時間與溫度,只能在首次訪問時用更密集的取樣重建判斷,再決定是否觸發大範圍校準。
刷新的代價必須計入壽命預算
每一次刷新都是一次真實寫入,佔用的是主機看不見的耐久預算。冷資料佔比高的場景尤其敏感:Q7 的 J760Q 與 J760QD 物件導向儲存、備份與歸檔,資料寫入之後長期不動;Q9 的 J960Q 與 J960QD 面向 AI 檢查點與超大容量陣列,歷史檢查點同樣會在盤上長期駐留。這兩類負載下,寫放大的主要來源有可能是刷新而不是垃圾回收。可行的取捨是把刷新粒度做細,只重寫確實劣化的頁所在的塊,把刷新窗口排程到主機 IO 的空閒期,並通過 Telemetry 把刷新引起的寫入量單獨暴露出來,讓容量與壽命規劃能看見這部分開銷。
