快閃記憶體控制器

快閃記憶體控制器

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

初始設置


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

讀取寫入和擦除規範


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

磨損均衡和快閃記憶體使用壽命


快閃記憶體有可承受有限數目的擦除周期,就是說快閃記憶體有擦寫次數限制。如果一個程序去反覆擦除寫入同一快閃記憶體單元,會過早地結束該單元的生命,從而出現壞道故障。出於這個原因,快閃記憶體控制器使用的技術稱為磨損均衡法,在SSD快閃記憶體塊的所有寫入動作儘可能有序地均勻於每一個快閃記憶體單元上。在一個完美的理論方案里,這將使每一塊被寫入的快閃記憶體單元最後同時到達其最大的壽命。快閃記憶體控制器會監察每一個快閃記憶體單元的使用次數,當文件需要寫入時,使用次數較少的快閃記憶體單元會被優先選用。當用戶刪除文件時,實際上並沒有刪除只是在分區表等記錄刪除標識以提高壽命。任何對快閃記憶體的寫入操作就是在減少其壽命,快閃記憶體控制器限制不能通過一般方法重複寫入同一快閃記憶體單元,其會輪流讓快閃記憶體單元被執行寫入動作,我們可以根據生產廠家給出的默認參數得出大致的可使用時長:
• 計算:一個快閃記憶體大儲存檔有128GB實際容量,查看該產品的快閃記憶體顆粒為1000次刷寫壽命
• 則:總可刷寫量 = 128GB x 1000 = 128000GB
• 假設:平均每日日常使用會刷寫50GB容量
• 估算使用壽命 = 128000GB ÷ 50GB/天 = 2560天 ≈ 7年
當然這只是估算,不過也可以看出使用壽命與快閃記憶體容量、快閃記憶體顆粒和工作環境有關。

碎片文件整理


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