抑制逻辑页碎片产生的方法及系统技术方案

技术编号:9990958 阅读:96 留言:0更新日期:2014-05-02 04:18
本发明专利技术适用于存储技术领域,提供了一种抑制逻辑页碎片产生的方法,包括:对垃圾回收时读取的物理页中的有效逻辑页进行标识并析取,每个物理页的连续有效逻辑页对应一数据块;将具有连续的有效逻辑页,且所述有效逻辑页的数目相同的数据块分为一类,将所述数据块按有效逻辑页数目大小排列为一个链表;获取所述有效逻辑页的数目最大的第一数据块,记录所述第一数据块的有效逻辑页数目M及每个物理页包含逻辑页数目P,若M小于P,则获取有效逻辑页数目为N的第二数据块,其中N是满足(M+N)的值不大于P的最大整数;将所述第一数据块和第二数据块合并为第三数据块。借此,本发明专利技术可以在垃圾回收过程中,有效地抑制碎片的产生。

【技术实现步骤摘要】
【专利摘要】本专利技术适用于存储
,提供了一种抑制逻辑页碎片产生的方法,包括:对垃圾回收时读取的物理页中的有效逻辑页进行标识并析取,每个物理页的连续有效逻辑页对应一数据块;将具有连续的有效逻辑页,且所述有效逻辑页的数目相同的数据块分为一类,将所述数据块按有效逻辑页数目大小排列为一个链表;获取所述有效逻辑页的数目最大的第一数据块,记录所述第一数据块的有效逻辑页数目M及每个物理页包含逻辑页数目P,若M小于P,则获取有效逻辑页数目为N的第二数据块,其中N是满足(M+N)的值不大于P的最大整数;将所述第一数据块和第二数据块合并为第三数据块。借此,本专利技术可以在垃圾回收过程中,有效地抑制碎片的产生。【专利说明】抑制逻辑页碎片产生的方法及系统
本专利技术涉及存储
,尤其涉及一种抑制逻辑页碎片产生的方法及系统。
技术介绍
目前,固态硬盘(SSD)中Host端对数据的操作单位往往比NAND的物理页要小,现行很多技术在Host和NAND之间加入了逻辑页层,如图1所示(LP,Logic Page),从而减小操作数据的粒度,降低写放大,提高了写速度和SSD的使用寿命。但逻辑页引入的同时,因减小了连续数据的最大粒度,会造成连续数据(逻辑页)的分散,如图2。分散的逻辑页直接降低了连续读的速度,因为读连续的逻辑页时,原本只需要对一个物理页的读可能会被分散到多个物理页,影响了读的并发性和效率。逻辑页碎片产生的一个主要原因是SSD的垃圾回收。垃圾回收是SSD中操作频率很高且必需的功能,它负责整合有效的数据,从而为新数据腾出足够的空间。逻辑页被整合到物理页时,势必造成原本连续的逻辑页被分割,从而分散到不同的物理页中,形成碎片,如图3所示。综上可知,现有的抑制逻辑页碎片产生的方法,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
技术实现思路
针对上述的缺陷,本专利技术的目的在于提供一种抑制逻辑页碎片产生的方法及系统,可有效抑制垃圾回收时碎片的产生。为了实现上述目的,本专利技术提供一种抑制逻辑页碎片产生的方法,所述方法包括:对垃圾回收时读取的物理页中的有效逻辑页进行标识并析取,每个物理页的连续有效逻辑页对应一数据块;按照下述规则对所述数据块进行分类:具有连续的有效逻辑页,且所述有效逻辑页的数目相同的数据块分为一类,将所述数据块按有效逻辑页数目大小排列为一个链表;获取所述有效逻辑页的数目最大的第一数据块,记录所述第一数据块的有效逻辑页数目M及每个物理页包含逻辑页数目P,若M小于P,则获取有效逻辑页数目为N的第二数据块,其中N是满足(M+N)的值不大于P的最大整数;将所述第一数据块和第二数据块合并为第三数据块。根据本专利技术的抑制逻辑页碎片产生的方法,所述方法还包括:若所述第三数据块的有效逻辑页的数目(M+N)的值不为P,则搜索所述链表中其它有效逻辑页数目不为P的第四数据块,并从该第四数据块拆分出一个有效逻辑页数目为(P-M-N)的第五数据块;将所述第三数据块与第五数据块合并。根据本专利技术的抑制逻辑页碎片产生的方法,所述第四数据块是所述链表中最接近链表末端的数据块。本专利技术还提供一种抑制逻辑页碎片产生的系统,包括:析取标识模块,用于对垃圾回收时读取的物理页中的有效逻辑页进行标识并析取,每个物理页的连续有效逻辑页对应一数据块;分类模块,用于按照下述规则对所述数据块进行分类:具有连续的有效逻辑页,且所述有效逻辑页的数目相同的数据块分为一类,将所述数据块按有效逻辑页数目大小排列为一个链表;获取模块,用于获取所述有效逻辑页的数目最大的第一数据块,记录所述第一数据块的有效逻辑页数目M及每个物理页包含逻辑页数目P,若M小于P,则获取有效逻辑页数目为N的第二数据块,其中N是满足(M+N)的值不大于P的最大整数;合并模块,用于将所述第一数据块和第二数据块合并为第三数据块。根据本专利技术的抑制逻辑页碎片产生的系统,所述获取模块进一步用于所述第三数据块的有效逻辑页的数目(M+N)的值不为P时,搜索所述链表中其它有效逻辑页数目不为P的第四数据块,并从该第四数据块拆分出一个有效逻辑页数目为(P-M-N)的第五数据块; 所述合并模块进一步用于将所述第三数据块与第五数据块合并。根据本专利技术的抑制逻辑页碎片产生的系统,所述第四数据块是所述链表中最接近链表末端的数据块。本专利技术通过对垃圾回收时的物理页进行拆分组合,具体的将有效逻辑页的数目相同的数据块作为一类,并按大小顺序排列为链表。从链表头部开始扫描,数据块的有效逻辑页数目不满物理页的大小的,则获取其它满足有效逻辑页数目的数据块进行合并,优选的,如果合并后的数据块也不满足物理页的大小,则可进一步拆分合并数据块,借此在垃圾回收过程中,尽量确保原本连续的逻辑页被整合到同一个物理页中,有效地抑制了碎片的产生。在必需分割连续逻辑页时,优先选择小块的连续页,以将碎片的影响降到最低,提高固态硬盘的读性能。【专利附图】【附图说明】图1是现有技术一实施例的逻辑页映射示意图;图2是现有技术另一实施例的逻辑页读取示意图;图3是现有技术另一实施例的垃圾回收示意图;图4是本专利技术一实施例的抑制逻辑页碎片产生的系统结构示意图;图5A是本专利技术一实施例的逻辑页的析取分类示意图;图5B是本专利技术一实施例的逻辑页合并示意图;图5C是本专利技术一实施例的逻辑页余项拆并示意图;图6是本专利技术一实施例的抑制逻辑页碎片产生的方法流程图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。在固态硬盘的应用中,垃圾回收负责将数据块(Block)中分散的有效逻辑页整合到新的数据块中,从而释放旧的数据块,为新数据提供足够的空间。垃圾回收一般分批次处理数据,每一批数据先是读取块中的有效逻辑页,整合为完成的物理页后再写入NAND,而本专利技术则主要工作于数据整合阶段。参见图4,本专利技术提供了一种抑制逻辑页碎片产生的系统,该系统100主要应用于固态硬盘的垃圾回收,其包括析取标识模块10、分类模块20、获取模块30以及合并模块40,其中:析取标识模块10,用于对垃圾回收时读取的物理页中的有效逻辑页进行标识并析取,每个物理页的连续有效逻辑页对应一数据块。具体的,本专利技术在垃圾回收读出一批物理页后,需要对其中的有效数据进行析取。结合图5A的上半部分,示意图中假定每个物理页有4个逻辑页,并把有效页进行标识(数字)。如果同一个物理页中有连续的逻辑页,则用1、2、3、4表示其连续关系。若不便区分同一个物理页中的连续逻辑页,则可以将这个物理页里的所有逻辑页假定为连续的。分类模块20,用于按照下述规则对所述数据块进行分类:具有连续的有效逻辑页,且所述有效逻辑页的数目相同的数据块分为一类,结合图5A所示的下半部分,将所述数据块按有效逻辑页数目大小排列为一个链表。获取模块30,用于获取所述有效逻辑页的数目最大的第一数据块,记录所述第一数据块的有效逻辑页数目M及每个物理页包含逻辑页数目P,若M小于P,则获取有效逻辑页数目为N的第二数据块,其中N是满足(M+N)的值不大于P的最大整数。结合图5B,本实施例中假定每个物理页有8个逻辑页,即P=8。将前述排列获取的链表从左到右平本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:卞爱华王猛徐伟华
申请(专利权)人:记忆科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1