引言:
TBW(Total Bytes Written)是衡量閃存存儲器壽命和耐用性的重要指標。但由于寫入放大的影響,實際TBW值可能會偏離理論值。本文將介紹TBW的概念以及寫入放大系數,并探討如何降低寫入放大對存儲器的影響。
TBW:
TBW代表在整個閃存存儲器的使用壽命內,可以寫入的總字節數。它等于存儲產品的容量乘以PE(Program/Erase)次數。然而,由于寫入放大現象,實際寫入的數據量與期望寫入的數據量不一致。
比如"MK-米客方德"的64GB工業級存儲卡耐用性高達 1920 TBW,3萬次 P/E周期
寫入放大系數:
寫入放大系數是一個衡量閃存存儲器性能的指標,它表示實際寫入到存儲介質中的數據量與主機請求寫入的數據量之間的比率。造成寫入放大的主要原因是閃存的工作原理,涉及到存儲介質的組織結構,包括page、block、plane、die和閃存片等。
SD NAND、SD Card、eMMC、SSD的組成:
Page(頁面):通常大小為4KB。其他的有2K,8K,16K
Block(塊):通常由64個page組成,有些是128個。
Plane(平面):多個block組成。
寫入放大過程:
當主機請求寫入一個較小的數據塊時,閃存可能需要先讀取整個block,并將原有數據和新數據一起寫入到新的block中,然后再將原有的block擦除。這個過程導致實際寫入的數據量大于主機請求的數據量,從而產生了寫入放大。
寫入放大系數的計算:
寫入放大系數的計算需要每次寫入同樣大小的文件,在相同的時間間隔內進行,然后計算實際寫入的數據量與期望寫入的數據量之間的比率。
如何減少寫入放大系數:
為了降低寫入放大系數,可以采取以下方法:
1,塊對齊寫入:確保主機寫入的數據是以閃存塊為單位進行的,這樣可以避免跨多個閃存塊的寫入操作,減少數據冗余。
2,塊擦除:在更新閃存塊之前,先執行塊擦除操作。這樣可以確保整個閃存塊為空白狀態,避免原有數據和新數據的合并寫入。
3,垃圾回收:定期進行垃圾回收操作,將無效或已刪除的數據塊清除掉。垃圾回收可以整理閃存存儲,減少數據碎片,從而降低寫入放大系數。
4,數據合并:在閃存中,不同數據塊之間可能存在空白區域。將新寫入的數據合并到這些空白區域中,而不是單獨寫入新的數據塊,可以減少數據冗余。
5,寫入放大感知算法:實現寫入放大感知的算法,通過調整寫入策略和數據管理,盡量減少寫入放大的發生。
6,使用高質量的閃存控制器:選擇性能良好的閃存控制器,它可以更好地管理寫入操作,減少不必要的寫入。
7,避免頻繁的小寫入:盡量避免頻繁地進行小塊的寫入操作,而是優先進行較大塊的寫入,從而降低寫入放大。
8,使用SLC NAND:選擇SLC(Single-Level Cell)閃存而不是MLC(Multi-Level Cell)或TLC(Triple-Level Cell)閃存。SLC閃存通常有較低的寫入放大系數,但相應的成本也更高。
總結:
所以一般的存儲產品的TBW值是由PE,容量和寫入放大系數決定,
“TBW=PE*容量/寫入放大系數”
為了最大效率的利用TBW,寫入的數據要以page為單位,大于或者少于這個數據都會造成TBW的浪費。
減少寫入放大系數對于提高存儲器性能和延長壽命至關重要。合理的數據管理、寫入策略和硬件選擇是實現這一目標的關鍵。根據具體情況,選擇適合的優化策略,將為存儲設備提供更好的性能和可靠性。
審核編輯 黃宇
-
閃存
+關注
關注
16文章
1777瀏覽量
114811 -
存儲卡
+關注
關注
0文章
250瀏覽量
28168
發布評論請先 登錄
相關推薦
評論