複製鏈接
請複製以下鏈接發送給好友

閃存轉換層

鎖定
快閃存儲器(Flash Memory)具有以下的硬件特性:一個記憶單元經過寫入(program),將可由邏輯1變成邏輯0,但無法再經由寫入將此單元回覆到邏輯1,需經過抹除(erase)才可回覆邏輯1。一般快閃存儲器中抹除的最小單位稱為block,讀取(read)和寫入的最小單位稱為sector,一個block的大小遠大於一個sector。抹除的操作時間一般大於讀取和寫入的操作時間。
中文名
閃存轉換層
外文名
Flash Memory

目錄

  1. 1 簡介

閃存轉換層簡介

快閃存儲器(Flash Memory)具有以下的硬件特性:
  • 一個記憶單元經過寫入(program),將可由邏輯1變成邏輯0,但無法再經由寫入將此單元回覆到邏輯1,需經過抹除(erase)才可回覆邏輯1。
  • 一般快閃存儲器中抹除的最小單位稱為block,讀取(read)和寫入的最小單位稱為sector,一個block的大小遠大於一個sector。
  • 抹除的操作時間一般大於讀取和寫入的操作時間。
因為以上的硬件特性,快閃存儲器的寫入往往需要耗費大量的時間在抹除操作上。因此在快閃存儲器檔案系統中,會經由快閃存儲器轉換層(Flash Translation Layer)來進行對讀、寫、抹除操作的管理。 一般快閃存儲器轉換層需要包含的功能有:
  • Logical-to-physical address mapping
  • 斷電回覆(Power-off recovery)
  • 耗損平均(Wear-leveling)
Logical-to-physical address mapping
快閃存儲器轉換層(Flash Translation Layer)中最核心的部分,是logical-to-physical address mapping table。由快閃存儲器的硬件特性可知,一個已寫入的sector,需經過抹除後,方可再寫入(reprogram)新的資料。然而,抹除的最小單位block卻遠大於寫入的最小單位sector,即使只是想要更新一個block當中某一個sector的資料,我們仍需要做整個block的抹除。此時,若想要保存此block中其他sector的資料,則需要在抹除前事先搬移到其他block,若有n次搬移需進行,則將再花費n次read以及n次program的操作,耗費相當多的時間。
因此,快閃存儲器轉換層中運用了logical-to-physical address mapping table,當某個logical sector所對應到的physical sector中已寫入資料時,FTL會將此寫入資料導向到另外一個空的physical sector當中,並將此logical與physical sector的對應關係,更新到mapping table當中。若要讀取此logical sector的資料時,FTL會根據mapping table當中的資訊,找到所對應的physical sector。
在實作上,logical-to-physical address mapping的設計將決定對快閃存儲器的操作效率。其中,若抹除的次數越多,則快閃存儲器檔案系統的效能將會越差。另外,在嵌入式的應用中,許多設計是將mapping table存放在RAM memory中,因此mapping table的大小也是在設計時的考量重點。
依照address mapping設計方式的不同,可分成以下三大類:
  • Sector Mapping
在sector mapping的方式中,每一個logical sector,都可以對應到一個physical sector。此方式具有最好的快閃存儲器存取效率,但缺點是mapping table的大小將會很大。對於嵌入式的應用而言,RAM memory是昂貴的資源,越大的mapping table,將導致越高的成本。
  • Block Mapping
在block mapping的方式中,每一個logical block對應到一個physical block。在block mapping方式中,mapping table只記錄了logical block和physical block的對應資訊,因此mapping table的大小減少很多。而要找到一個logical sector所對應到的physical sector時,只要找到在對應的physical block中同樣offset的位置即可。
  • Hybrid Mapping
在hybrid mapping的方式中,同時使用了block與sector mapping的方式。 [1] 
參考資料
  • 1.    James M. Conrad; Alexander G. Dean (September 2011). Embedded Systems, An Introduction Using the Renesas RX62N Microcontroller. Micrium. ISBN 978-1935-7729-96.