快閃記憶體控制器
快閃記憶體控制器或稱快閃記憶體控制器、快閃記憶體主控晶片(英語: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.0 1.1 Flash Memory Guide (PDF). kingston.com. [7 March 2013]. (原始內容存檔 (PDF)於2021-02-24).
- ^ 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 .
- ^ TLC闪存寿命再探. mydrivers.com. [2012-11-19]. (原始內容存檔於2019-09-10).
- ^ SSDs - Write Amplification, TRIM and GC (PDF). OCZ Technology. [2010-05-31]. (原始內容 (PDF)存檔於2012-05-26).