FTL(flash transform layer)基础

时间:2022-09-06 16:35:47

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,有偿购买!