電荷是怎麼被“讀”壞的
讀取某一頁時,同一 Block 內其他字線必須被抬到高於所有編程狀態的通過電壓 Vpass,才能讓未選中的單元導通。這個電壓持續施加,會向電荷儲存層注入少量電子。單次影響可以忽略,但同一 Block 被反覆讀取上萬次之後,那些從未被寫過的相鄰頁,閾值電壓分佈會整體右移,離被讀頁最近的幾條字線偏移最明顯。表現出來就是一個反直覺的現象:資料一直沒動,原始誤碼率卻在緩慢爬升。
計數粒度是一道後設資料預算題
防護的前提是知道哪個 Block 讀得多。最簡單的做法是每 Block 一個讀計數器,超閾值就整塊搬走。粒度更細的做法按字線組或子塊計數,能顯著減少不必要的遷移,代價是後設資料體積和更新開銷同步上升——這些計數器要麼常駐 DRAM 佔用本就緊張的空間,要麼週期性落盤,而且掉電後必須能恢復到一個偏保守的安全值。工程上通常分層處理:粗粒度計數常駐,細粒度資訊只在候選 Block 上按需展開。
閾值定早定晚都要付代價
閾值定低,遷移頻繁,讀密集負載被自己觸發的搬移寫放大反噬,對 1 DWPD 定位的 J750 這類產品尤其不划算;閾值定高,頁面誤碼率跨過 LDPC 硬判決的能力邊界,落進軟判決路徑,單次讀取延遲從 65 µs 量級跳到明顯更高的水平,最先崩掉的就是 P99.9。更穩的判據不是只看計數:讓計數決定“什麼時候去看一眼”,讓後臺巡檢讀到的實際誤碼率決定“要不要現在搬”。
對讀密集負載意味著什麼
CDN 回源、推理側的模型權重讀取、向量索引這類負載的共同特徵是熱資料集合小而訪問高度集中,恰好是讀干擾最容易累積的形態。X7/X9 這類定位後設資料、日誌與快取層的產品,因為寫入耐久高、資料週轉快,天然規避掉一部分風險;而資料長期駐留的容量型盤更依賴讀計數與後臺刷新的配合。相關策略目前在 EVT 階段以定向讀壓力指令碼驗證,資料完整性目標為 UBER ≤1 扇區/10^18 bits 讀。
