天天看點

FTL(flash transform layer)基礎

Nand Flash結構:

FTL(flash transform layer)基礎
FTL(flash transform layer)基礎

A device contains one or more targets 

A target is controlled by one CE# signal

A target is organized into one or more LUNs 

1 Die = 1 LUN(Logical unit number)

FTL(flash transform layer)基礎

FTL子產品結構

FTL(flash transform layer)基礎

FTL功能

  1. 位址映射管理。閃存裝置對外是一個黑盒子,裡面內建了Nand Flash和FTL等,上層應用使用邏輯位址來通路,FTL把邏輯位址映射到不同實體位址上,管理着每個邏輯位址最新的資料存放的實體位置,如圖1。
  2. 垃圾回收。随着資料的寫入,閃存裝置上有些塊的部分資料已經無效了,需要把有效的資料從塊上搬走,然後擦除用來接收新的資料。
  3. 磨損均衡和壞塊管理。因為每個塊的P/E次數是有限的,某些塊可能被重複使用而損壞了,而有些塊資料很少被通路,是以一直沒有進行操作過。為了避免這種情況,FTL加入磨損均衡的功能,大緻是通過控制垃圾回收和空塊池的管理,進而平衡每個塊的使用次數,最理想是所有塊一起達到磨損門檻值。

    由于Flash本身就存在部分壞塊,在使用的過程中部分塊會變壞,是以FTL在管理的時候需要避開這些無用塊,把使用後變得不穩定塊上的資料及時拷貝到穩定位置。

FTL(flash transform layer)基礎

FTL(flash transform layer)基礎
FTL(flash transform layer)基礎
FTL(flash transform layer)基礎

如果想開發或者學習FTL的源碼Code base,請聯系QQ:2951105561,有償購買!

繼續閱讀