最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

徹底搞清SSD原理: TLC能擦寫3000次, 為什么1T SSD 只能寫 600T?

2023-03-21 21:58 作者:LuvLetter  | 我要投稿

嚴格來說, 我們口頭說的「寫入次數(shù)只有 N 次」代表的是「NAND 上的某種 Cell 的 P/E(編程/擦除)有 N 次」.

更可靠的描述是:?按照特定的寫入模式(如 JESD-219 或者純順序?qū)懭?, 這塊 SSD 能有多少寫入量(TBW); 或者在一定年限內(nèi), 以特定的寫入模式, 每天能完成多少次全盤寫入(DWPD).

至于 SSD 為什么有壽命限制, 這就要說到 SSD 的 NAND 芯片的底層結(jié)構(gòu), 也就是浮柵晶體管的特性.

這里引用下面這個專欄的部分內(nèi)容:?一刀:NAND系列-Threshold Voltage & Vt Distribution

簡單來說:?浮柵晶體管內(nèi)電子的多少, 會影響到下面溝道通過電流的閾值電壓.

好比說我現(xiàn)在有個 SLC 的 Cell, 我給他加一個 3.5V 電壓.

  • 如果有電流通過, 代表 3.5V 大于了 VT1 狀態(tài)的電壓范圍, 即意味著當前浮柵內(nèi)電子不多, 是沒有充電的擦除后狀態(tài), 即代表了狀態(tài)「1」.

  • 反之若沒有電流通過, 說明當前浮柵是充了電的狀態(tài), 閾值電壓 VT0 大于讀取的 3.5V, 代表了編程的狀態(tài)「0」.

如果我們能實現(xiàn)更多的讀取電壓, 讓充電電壓更高, 擦除放電的更徹底, 從而實現(xiàn)更高的精度, 那就意味著我們能用一個 cell 表示更多 bit 的狀態(tài).

但是這樣做的問題就是:

  1. 更多狀態(tài)的判斷依賴更高的精度(信噪比), 而隨著編程/擦除的過程, 浮柵兩側(cè)絕緣氧化物的損耗, 電子的保留能力會下降, 導致信噪比會顯著下降

  2. 編程到特定電壓、讀取更多的狀態(tài)會更麻煩, 表現(xiàn)為速度下降

  3. 最高狀態(tài)的充電電壓更高, 擦除放電的電壓更低, 會更加劇浮柵兩側(cè)絕緣氧化物的損耗

這就是為什么 NAND 單個 cell 從 SLC 時代的 SLC 標稱 10 萬次, 掉到 MLC 的一萬次, 再掉到 TLC 的三千次和一千次.

從閾值電壓分布的角度看, 經(jīng)歷一定次數(shù)的 PE 后, 狀態(tài)之間的分界就不是那么明顯了, 此時就無法判斷這個 cell 是什么狀態(tài)了.

但是, TLC 不代表他不能當作 SLC 使用. TLC Cell 還是可以像 SLC 那樣, 只用一個特定電壓的充電狀態(tài).?只要始終把 TLC Cell 當 SLC 用, 這樣就可以獲得與普通 SLC 近似甚至是更好的壽命.

但是 NAND 可不能按照 Cell 寫入. 實際上的 NAND Cell 之間會編組成字線、再組成 Page 頁.?

其中 Page 是 NAND 上最小寫入單位, 而一系列 Page 之間共享用于擦除的襯底, 這就組成了最小擦除單位 Block 塊.

就比如下面這個 nand 一個頁面有 2K 字節(jié)+64 字節(jié)的 ECC 校驗(校驗掛了說明這個頁面所在的塊可能有問題了), 然后一個塊有 64 個頁面. 上面的頁面要按順序?qū)懭? 然后一起擦除.

這樣的編程/擦除模式就需要特殊的寫入策略, 如下圖所示.

于是就引出了另外一個問題:?既然NAND編程、擦除的粒度會大于用戶 IO 操作的大小, 那在用戶眼里看來可能寫了 1GB, 但可能消耗掉了 0.8billion 的 P/E 次數(shù),?相當于消耗了 2.4GB 的寫入壽命. 寫入被放大到了順序?qū)懭氲?2.4 倍.

而且如剛才所說, TLC/QLC Cell 的寫入速度較慢, 所以有的廠商為了 SSD 達到更好的順序?qū)懭胄阅? 主控除了調(diào)用專用的 pSLC 模擬區(qū)域進行加速, 可能還會調(diào)用用戶的TLC區(qū)域、以SLC模式寫入, 然后還要以 TLC 模式寫回.

這樣在用戶看來寫了 1GB, 實際等效寫入了 4GB (1GB 會以 SLC 模式寫在原來 3GB 的 TLC 區(qū)域上, 然后轉(zhuǎn)寫到另外 1GB 的 TLC 區(qū)域), 寫入放大高達 4 倍.

但是如果只用 OP 預留區(qū)域里面的 pSLC 空間寫入, 雖然一個 cell 的容量只有 TLC 模式的 1/3, 但是壽命是 TLC Cell 的 30 倍多.

比如 3GB的 TLC 做成 1GB 的 pSLC, 能承受 100TB 的寫入量, 而 3GB TLC 只能承受 9TB, 兩者差了一個數(shù)量級.

所以根據(jù)各種 SSD 的設計(變量和開關), 有一張表格總結(jié)了上述做法對寫入放大影響.

當然, 我們現(xiàn)實中的寫入肯定不是完全理想的順序?qū)懭? 也總有廠商實現(xiàn)了比較差的垃圾回收策略, 或者激進的全盤 SLC 模擬導致更快折壽.

這就是為什么 SSD 廠商的保修有兩個條件:?

  • 一定年限(常見如五年)

  • 一定條件的寫入量(常見為 JESD-219 下的壽命表現(xiàn))

所以之前很多人用 PCEVA 的 1TB SSD 寫入 3000TB 論證如今的 SSD 很耐用, 實際上忽視了他們的順序?qū)懭霚y試方法的寫入放大 WAF=1.?

因此這里就有個比較令人糾結(jié)的地方:

  • SSD 標稱耐久度一般是通過 JESD-219 計算而來(理論上考慮了高端 SSD 大 OP 帶來的壽命加成, 當然也會根據(jù)產(chǎn)品定位適當削減壽命, 從而降低售后成本)

  • 當前健康度通常是按照磨損程度報告(但也有會參考主機寫入量, 看具體實現(xiàn))

  • 計算保修的時候看的是主機寫入量

所以像 PCEVA 的 3PB 寫入測試, 順序?qū)懙?1PB 的時候理論上都大于了廠商標稱壽命, 也就是會喪失保修. 但是由于磨損平衡的存在, 絕大多數(shù) block 并沒有到 P/E 極限, 不會產(chǎn)生壞塊導致重分配, 健康度并沒有全部歸零.

按照健康度消耗的比例, 可以估算出至少有三款產(chǎn)品得到 3PB 才掉到 0% 的健康度, 正好是 1TB*3000 次寫入.

但是, PCEVA 3PB 寫入測試總結(jié)的時候說「官方標稱耐久度...是未考慮寫入放大倍率的主機寫入量標準」是錯誤的.

就如我剛才所說, 他們「沒有注意到廠商標稱耐久度一般是通過 JESD-219 計算而來的 footnote」. 因此總結(jié)的前提是錯誤的, 「當前原廠3D TLC閃存普遍具備3000PE以上的擦寫壽命,“倒退式發(fā)展”的論調(diào)可休矣」的結(jié)論也就無法成立.

所以為什么會倒退式發(fā)展呢? 看下寫入放大表就知道了:

  • 主控策略、性能存在問題, 垃圾回收表現(xiàn)不好

  • 預留 pSLC 減少, 影響垃圾回收, 重復寫入?yún)^(qū)磨損更多(less endurance)

  • 主控的磨損平衡實現(xiàn)較差

  • 緩外寫入慢, 從而不得不開啟全盤模擬 SLC 緩解性能, 造成寫入放大

這些問題其實都指向了一個問題: cost down, 廠商為了省錢而縮水了很多性能, 雖然消費者一定程度上也能受惠于 cost down 帶來的成本下降, 但 QoS 也由此更加明顯, 換句話說就是一分錢一分貨

順帶這里至于最近討論熱度較高的 SWAP 磨損 SSD 的問題, 這里再做一些補充.

之所以可以通過「主機寫入量/健康度消耗百分比」得到「預期寫入量壽命」, 以及通過「使用時間/健康度消耗百分比」得到「預期壽命時間」, 這個邏輯建立在兩個前提:

  • 用戶的寫入量代表了真實場景下的各種寫入

  • 測試時間時間越長, 越具有代表性, 隨機誤差也越低

  • 至于討論較多的 SWAP 問題, 由于 ARM64 平臺頁面大小為 16KiB, 等于 TLC SSD 原生的 16KiB頁面, 大于 pSLC 頁面; 加上內(nèi)核的頁面交換可以實現(xiàn)一個小的 buffer 聚合多個壓縮后的頁面轉(zhuǎn)入外存, 所以寫入放大是有限的

  • 原則上,?回報的健康度基于區(qū)塊的磨損程度得出, 代表了真實情況下的磨損, 體現(xiàn)了寫入放大

  • 不管是 Mac 還是 iPhone, 都可以使用診斷工具輸出蘋果存儲主控 ASP 的日志, 可以看到 intermediate 代表的 10K PE 的 pSLC 區(qū)域, 以及 TLC 模式的 User 區(qū)域都是 2% 的磨損程度, 反映到 SSD 壽命(used percentage)為 2%

反而有的人張口用 PCEVA 的 3PB 寫入論證 SSD 壽命, 其實是不符合實際的. 畢竟真實的工況可不是如此理想的順序?qū)懭?

而且根據(jù) asp 的 log 可以得出 NAND 上真實的字節(jié)數(shù)量, 可以發(fā)現(xiàn)蘋果 SSD 的物理容量, 大于標稱 1000 進制 GB 數(shù)(如 256 GB)對應的 1024 進制 GiB 數(shù)(256GB 對應 256GiB). 也就是 OP 預留量大于傳統(tǒng)的 7.4% 水平.

如 512GiB 對應 549,755,813,888 bytes(約 549.8GB), 實際上 512GB 的 M2 MBA 物理上有 581GB, 雖然用戶到手只有 500.5GB, 但是這樣算起來 OP 的比例是 16%, M1 Max 的 Mac Studio SSD 的 OP 更是達到了 25% 的水平.



徹底搞清SSD原理: TLC能擦寫3000次, 為什么1T SSD 只能寫 600T?的評論 (共 條)

分享到微博請遵守國家法律
大新县| 宾阳县| 丁青县| 和林格尔县| 瑞丽市| 始兴县| 普陀区| 盐池县| 隆安县| 定州市| 玛纳斯县| 临澧县| 奇台县| 孟州市| 扎鲁特旗| 凉山| 青岛市| 潞西市| 双柏县| 新郑市| 赫章县| 泽普县| 敦化市| 二连浩特市| 高阳县| 湖南省| 庄浪县| 汕头市| 高要市| 四川省| 通化市| 新邵县| 长治市| 卢湾区| 宣武区| 灌南县| 隆子县| 南靖县| 康保县| 南京市| 乐都县|