閃存控制器

快閃記憶體控制器或稱閃存控制器閃存主控芯片(英語:Flash Memory Controller)管理存儲在閃存中的數據,並與計算機或電子設備進行通信。一般快閃記憶體控制器可設計為工作在低占空比的環境,如SD卡CF卡,或其他類似的媒體,數碼相機,個人數位助理(PDA),移動電話等使用閃存控制器與個人電腦通過USB低占空比端口溝通。閃存控制器也可以設計為高占空比的環境,如用於電腦系統作為關鍵數據存儲、清理任務等企業級存儲陣列的固態硬盤(SSD)上。[1]

初始設置

在閃存存儲設備最初被製造出來的時候,閃存控制器首先會格式化閃存才能投入到工作中。因製作工藝問題,任何閃存製成時都或多或少有壞的記憶體單元,為確保設備運行正常,控制器能檢測出已壞不能工作的快閃記憶體單元,並分配備用單元將壞的單元取代。控制器會指定某些部分的單元用於存儲固件驅動、特定存儲設備的操作格式和控制器其它特殊功能等。閃存控制器接着會創建的目錄結構,控制器管理邏輯扇區的請求轉換為實際的閃存芯片的物理位置上。[1]

讀取寫入和擦除規範

當系統或設備需要讀取數據或將數據寫入到閃存,它會與閃存控制器進行溝通。一些結構簡單的設備,如SD卡和USB閃存驅動器通常有一個閃速存儲器芯片同時連接數的限制操作,其會限制各個閃速存儲器芯片的速度。相反,一個高性能的固態硬盤將有多達100個或更多的控制器模組在矩陣組織並行通信路徑里,使可能比一個單一的閃存芯片的速度快許多倍。[來源請求]

均衡損耗和閃存使用壽命

閃存有可承受有限數目的擦除周期,就是說閃存有擦寫次數限制。如果一個程序去反覆擦除寫入同一閃存單元,會過早地結束該單元的生命,從而出現壞道故障。出於這個原因,閃存控制器使用的技術稱為均衡損耗法,在SSD閃存塊的所有寫入動作儘可能有序地均勻於每一個閃存單元上。在一個完美的理論方案里,這將使每一塊被寫入的閃存單元最後同時到達其最大的壽命。閃存控制器會監察每一個閃存單元的使用次數,當文件需要寫入時,使用次數較少的閃存單元會被優先選用。當用戶刪除文件時,實際上並沒有刪除只是在分區表等記錄刪除標識以提高壽命。[2]任何對閃存的寫入操作就是在減少其壽命,閃存控制器限制不能通過一般方法重複寫入同一閃存單元,其會輪流讓閃存單元被執行寫入動作,我們可以根據生產廠家給出的默認參數得出大致的可使用時長

  • 計算:一個閃存大儲存盤有128GB實際容量,查看該產品的閃存顆粒為1000次刷寫壽命[3]
  • 則:總可刷寫量 = 128GB x 1000 = 128000GB
  • 假設:平均每日日常使用會刷寫50GB容量
  • 估算使用壽命 = 128000GB ÷ 50GB/天 = 2560天 ≈ 7年

當然這只是估算,不過也可以看出使用壽命與閃存容量、閃存顆粒和工作環境有關。

碎片文件整理

一般使用閃存盤時,是不需要定時對閃存盤裡的碎片文件進行整理的,因為閃存盤的閃存控制器會自主完成該操作。一旦每塊閃存單元都已被寫入一次,閃存控制器將會標記碎片文件做成的文件間隙所占用的單元為陳舊單元,即不再有當前的數據。這些單元中的數據換成正等待被刪除,新的數據可以被寫入。這是一個過程被稱為碎片回收(GC)。所有的SSD、CF卡和其他閃存設備將包括某種程度的垃圾收集。不同的閃存控制器所整理的速度不同。[4]相對於一般機械硬盤,亂序儲存的文件並不影響閃存盤的讀寫速度,因為閃存盤不使用磁頭讀寫,沒有頻繁划動磁頭導致讀寫速度減慢這一影響因素。

注釋

  1. ^ 1.0 1.1 Flash Memory Guide (PDF). kingston.com. [7 March 2013]. (原始內容存檔 (PDF)於2021-02-24). 
  2. ^ Chang, Li-Pin. On Efficient Wear Leveling for Large Scale Flash Memory Storage Systems. National ChiaoTung University, HsinChu, Taiwan. 2007-03-11. CiteSeerX: 10.1.1.103.4903 . 
  3. ^ TLC闪存寿命再探. mydrivers.com. [2012-11-19]. (原始內容存檔於2019-09-10). 
  4. ^ SSDs - Write Amplification, TRIM and GC (PDF). OCZ Technology. [2010-05-31]. (原始內容 (PDF)存檔於2012-05-26). 

參看