闪存转换层

更新时间:2023-04-01 17:32

快闪存储器(Flash Memory)具有以下的硬件特性:一个记忆单元经过写入(program),将可由逻辑1变成逻辑0,但无法再经由写入将此单元回复到逻辑1,需经过抹除(erase)才可回复逻辑1。一般快闪存储器中抹除的最小单位称为block,读取(read)和写入的最小单位称为sector,一个block的大小远大于一个sector。抹除的操作时间一般大于读取和写入的操作时间。

简介

快闪存储器(Flash Memory)具有以下的硬件特性:

因为以上的硬件特性,快闪存储器的写入往往需要耗费大量的时间在抹除操作上。因此在快闪存储器档案系统中,会经由快闪存储器转换层(Flash Translation Layer)来进行对读、写、抹除操作的管理。 一般快闪存储器转换层需要包含的功能有:

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的方式中,每一个logical sector,都可以对应到一个physical sector。此方式具有最好的快闪存储器存取效率,但缺点是mapping table的大小将会很大。对于嵌入式的应用而言,RAM memory是昂贵的资源,越大的mapping table,将导致越高的成本。

在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的方式中,同时使用了block与sector mapping的方式。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}