一种基于块组结构的FTL优化方法与流程

文档序号:17656312发布日期:2019-05-15 22:02阅读:来源:国知局

技术特征:

1.一种基于块组结构的FTL优化方法,包括:

在闪存架构上将若干块(block)组成一个块组(block-group),其为连续物理块的集合,使得每个分组(plane)上有若干个块组,块组内有冗余的预留块,以用于在块组内部进行垃圾回收;

建立基于块组的地址映射,该地址映射为二次映射,其中第一次映射是全局映射,即逻辑块组号(LGN)到物理块组号(PGN)的映射关系;第二次映射为局部映射表,其中每个块组维护一个局部映射,用于保存相应块组中逻辑偏移量与物理偏移量的映射关系;其中,映射建立方式为:将连续的逻辑页仅分配到不同的通道,而不是分配到不同的块组,以此方式建立地址映射。

2.根据权利要求1所述的一种基于块组结构的FTL优化方法,其中,所述映射建立方式具体为:

CN=LPN%a (1)

PPN=PGN×n×f+Poffset (4)

其中,a为通道数,f为每个块上的页数,n为块组数量,β为预留空间比例,LPN为逻辑页号,PPN为物理页号,LGN为逻辑块组号,PGN为物理块组号,Loffset为逻辑偏移量,CN为通道号,

3.根据权利要求1或2所述的一种基于块组结构的FTL优化方法,其中,所述物理块组内部的冗余的预留块为预留空间,其在物理上分配给每一个块组,分配给块组的预留空间与对应的块组在物理上连续,即每个块组中的物理页要多于分配给块组的逻辑页,优选是平均分配至各块组。

4.根据权利要求3所述的一种基于块组结构的FTL优化方法,其中,所述第一次映射即建立逻辑块组号(LGN)与物理块组号(PGN)的映射关系具体为:当FTL接收到文件系统下发的读写命令时,如果命令是写,则计算出通道号,并在该通道中顺序寻找一个空闲的块组,FTL为每一个通道维护一个上次分配的物理块组号(PGN),初始化为0,从维护的物理块组号(PGN)开始向高地址寻找空闲的块组,如果寻找到通道末尾,则从头开始寻找,将找到块组的物理块组号(PGN)分配给逻辑块组号(LGN),并修改全局映射表,建立逻辑块组号(LGN)与物理块组号(PGN)的映射关系。

5.根据权利要求4所述的一种基于块组结构的FTL优化方法,其中,所述第二次映射即建立逻辑偏移量(Loffset)与物理偏移量(Poffset)的映射关系,具体为:当FTL接收到文件系统下发的读写命令时,如果命令是写,则寻找一个空闲页分配给该逻辑偏移量(Loffset),FTL为每一个块组维护一个活跃块,用于分配空闲页,第一次选择块组中的第一个块作为活跃块,每个块组在同一时间只有一个活跃块,不含有有效页的块为空闲块,其他块为非活跃块,当活跃块中空闲页消耗完,顺序选择下一个全为空闲页的块作为活跃块;当寻找到块组的末尾,从头开始寻找;活跃块的空闲页分配过程是顺序进行的,从块的第一页开始,顺序将空闲页分配给逻辑偏移量(Loffset),并修改局部映射表,即可建立逻辑偏移量(Loffset)与物理偏移量(Poffset)的对应关系。

6.根据权利要求5所述的一种基于块组结构的FTL优化方法,其中元数据缓存管理具体如下:

(1)接收到文件系统下发的命令,获取地址映射解析的逻辑偏移量(Loffset),判断逻辑块组号(LGN)对应的逻辑偏移量(Loffset)的映射信息是否在缓存中,如果在,转入步骤(4);否则转入步骤(2);

(2)从闪存设备中读取相应的元数据加入LRU队列,判断元数据LRU队列的空间是否写满,如果写满转入步骤(3);否则转入步骤(4);

(3)如果队列尾部的元数据没有修改过,转入步骤(4);否则将其写入闪存设备;

(4)将逻辑块组号(LGN)对应的元数据调整到LRU队列头部,结束。

7.根据权利要求6所述的一种基于块组结构的FTL优化方法,在写操作完成后,如果当前进行写操作块组中的空闲页占整个块组比例小于阈值时,则触发垃圾回收。

8.根据权利要求7所述的一种基于块组结构的FTL优化方法,其中,所述垃圾回收具体步骤如下:

(1)写操作完成时,如果有活跃块发生了替换且旧的活跃块为全失效块,转入步骤(2);否则转入步骤(3);

(2)对旧的活跃块进行擦除操作,转入步骤(3);

(3)如果当前进行写操作的块组的空闲页页数在块组中所占比例如果小于所述阈值,转入步骤(4);否则转入步骤(7);

(4)当前块组的局部映射表信息如果都在缓存中,转入步骤(6);否则转入步骤(5);

(5)从闪存设备中读出当前进行垃圾回收的块组的局部映射表,暂存在缓存中,转入步骤(6);

(6)通过块组的页有效状态表统计每个块的有效页数,选择有效页最少的非活跃块作为牺牲块,将其中的有效页迁移到活跃块中,迁移完成后,对牺牲块进行擦除操作,修改相应元数据,并写回,释放临时缓存空间;

(7)结束此次垃圾回收。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1