固态硬盘的垃圾回收方法
【专利摘要】本发明适用于存储【技术领域】,提供了一种固态硬盘的垃圾回收方法,所述方法包括:根据固态硬盘的存储参数,建立虚拟地址;建立所述固态硬盘的逻辑地址与虚拟地址的映射关系,以及所述虚拟地址与物理地址的映射关系;垃圾回收时,将回收处理的第一数据块的有效数据搬移到第二数据块;更新被搬移的有效数据的虚拟地址与物理地址的映射关系;复写所述被搬移的有效数据的逻辑地址。本发明基于两级地址映射,可以在垃圾收集搬移有效数据时只需考虑第二级地址(虚拟地址到物理地址)的映射关系,提高了固态硬盘的垃圾收集效率,有效降低读写延时。
【专利说明】固态硬盘的垃圾回收方法【技术领域】
[0001]本发明涉及存储【技术领域】,尤其涉及一种固态硬盘的垃圾回收方法。
【背景技术】
[0002]固态硬盘(SSD)主要是由存储单元(NAND FLASH芯片)阵列组成,因此具有读写速度快,防震抗摔性,无噪音,低功耗等优点。但由于NAND FLASH芯片具有与传统机械硬盘不同的固有特性:1、先擦除,后读写。2、擦除以块(BLOCK)为最小单位,读写以页(PAGE)为最小单位。所以固体硬盘对于数据的复写不支持“原地更新”,必须做垃圾收集,把无效数据占据的物理空间回收回来,供下次写入有效数据使用。
[0003]参见图1A~图1C所示的现有技术的垃圾回收过程,进行垃圾收集前,逻辑地址LO映射到物理地址PO,即{L0->P0};进行垃圾回收时,把有效数据从物理地址PO搬移到了物理地址P1,更新映射关系,此时把逻辑地址LO映射到物理地址P1{L0->P1};复写逻辑地址L0,映射关系变成把逻辑地址LO映射到物理地址P2 {L0->P2}。从以上分析步骤可以看出,这种现有的基于一级地址映射的方法,在搬移物理地址PO的数据的时候,不能立即响应复写逻辑地址LO的操作,必须等待数据搬移完成,才能响应复写LO的操作,导致延时。
[0004]综上可知,现有的固态硬盘的垃圾回收方法,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
【发明内容】
[0005]针对上述的缺陷,本 发明的目的在于提供一种固态硬盘的垃圾回收方法,可以提高固态硬盘的垃圾收集效率,有效降低读写延时。
[0006]为了实现上述目的,本发明提供一种固态硬盘的垃圾回收方法,所述方法包括:
[0007]根据固态硬盘的存储参数,建立虚拟地址;
[0008]建立所述固态硬盘的逻辑地址与虚拟地址的映射关系,以及所述虚拟地址与物理地址的映射关系;
[0009]垃圾回收时,将回收处理的第一数据块的有效数据搬移到第二数据块;
[0010]更新被搬移的有效数据的虚拟地址与物理地址的映射关系;
[0011]复写所述被搬移的有效数据的逻辑地址。
[0012]根据本发明的固态硬盘的垃圾回收方法,所述复写所述被搬移的有效数据的逻辑地址的步骤包括:
[0013]对所述逻辑地址分配新的虚拟地址及新的物理地址;
[0014]建立所述逻辑地址与新的虚拟地址及新的物理地址的映射关系。
[0015]根据本发明的固态硬盘的垃圾回收方法,所述将回收处理的第一数据块的有效数据搬移到第二数据块步骤与所述复写所述被搬移的有效数据的逻辑地址步骤同时执行。
[0016]本发明通过在固态硬盘中建立虚拟地址,并维护固态硬盘的逻辑地址与虚拟地址的映射关系,以及所述虚拟地址与物理地址的映射关系。固态硬盘进行垃圾回收时,将回收处理的第一数据块的有效数据搬移到第二数据块,并更新被搬移的有效数据的虚拟地址与物理地址的映射关系。优选的,在搬移数据时,本发明即可以复写所述被搬移的有效数据的逻辑地址,借此提高固态硬盘的垃圾收集效率,有效降低读写延时。
【专利附图】
【附图说明】
[0017]图1A是现有技术一实施例的垃圾回收前数据映射示意图;
[0018]图1B是现有技术一实施例的垃圾回收后数据映射示意图;
[0019]图1C是现有技术一实施例的逻辑地址复写后数据映射示意图;
[0020]图2是本发明的固态硬盘的垃圾回收方法流程图;
[0021]图3A是本发明一实施例的垃圾回收前数据映射示意图;
[0022]图3B是本发明一实施例的垃圾回收后数据映射示意图;
[0023]图3C是本发明一实施例的逻辑地址复写后数据映射示意图。
【具体实施方式】
[0024]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0025]参见图2,本发明提供了一种固态硬盘的垃圾回收方法,该方法应用于固态硬盘,可有效降低读写延时。具体的该方法包括:
[0026]步骤S201,根据固态硬盘的存储参数,建立虚拟地址。所述固态硬盘的参数包括存储容量、原始映射关系等。
[0027]步骤S202,建立所述固态硬盘的逻辑地址与虚拟地址的映射关系,以及所述虚拟地址与物理地址的映射关系。
[0028]现有的固态硬盘的数据映射关系如图1A所示,本发明通过引入虚拟地址,改变数据映射关系。如图3A所示,固态硬盘在进行垃圾收集前,数据的两级映射关系为逻辑地址LO映射到虚拟地址VO,VO映射到物理地址PO,即{L0->V0->P0}。
[0029]步骤S203,垃圾回收时,将回收处理的第一数据块的有效数据搬移到第二数据块。
[0030]步骤S204,更新被搬移的有效数据的虚拟地址与物理地址的映射关系。
[0031]本发明将第一数据块的有效数据页搬移后,有效数据的物理地址会发生改变,对应的映射关系也会发生改变。具体的,如图3B,把有效数据从物理地址PO搬移到了物理地址Pl,更新第二级的地址映射关系为{V0->P1},第一级映射关系不变,新的映射关系为{L0->V0->P1}。
[0032]步骤S205,复写所述被搬移的有效数据的逻辑地址。
[0033]结合图3C,复写逻辑地址L0,分配新的虚拟地址Vl及新的物理地址P2,更新映射关系为{L0->V1->P2}。
[0034]本发明在垃圾回收时不仅回收物理地址,同时也回收虚拟地址,因此,在对数据的逻辑地址进行复写时,对所述逻辑地址分配新的虚拟地址及新的物理地址,并建立所述逻辑地址与新的虚拟地址及新的物理地址的映射关系。
[0035]优选的是,本发明的一级地址和二级地址的分配各自独立,互不干扰。基于两级地址的垃圾收集方法,仅仅只需考虑第二级地址的映射关系,而与第一级地址无关。因此,进行垃圾回收时,可以在进行数据搬移的过程同时进行复写操作,即可以立即响应复写逻辑地址LO的操作,不需等待垃圾回收数据搬移完成,借此避免等待延时。
[0036]综上所述,本发明通过在固态硬盘中建立虚拟地址,并维护固态硬盘的逻辑地址与虚拟地址的映射关系,以及所述虚拟地址与物理地址的映射关系。固态硬盘进行垃圾回收时,将回收处理的第一数据块的有效数据搬移到第二数据块,并更新被搬移的有效数据的虚拟地址与物理地址的映射关系。优选的,在搬移数据时,本发明即可以复写所述被搬移的有效数据的逻辑地址,借此提高固态硬盘的垃圾收集效率,有效降低读写延时。
[0037]当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
【权利要求】
1.一种固态硬盘的垃圾回收方法,其特征在于,所述方法包括: 根据固态硬盘的存储参数,建立虚拟地址; 建立所述固态硬盘的逻辑地址与虚拟地址的映射关系,以及所述虚拟地址与物理地址的映射关系; 垃圾回收时,将回收处理的第一数据块的有效数据搬移到第二数据块; 更新被搬移的有效数据的虚拟地址与物理地址的映射关系; 复写所述被搬移的有效数据的逻辑地址。
2.根据权利要求1所述的固态硬盘的垃圾回收方法,其特征在于,所述复写所述被搬移的有效数据的逻辑地址的步骤包括: 对所述逻辑地址分配新的虚拟地址及新的物理地址; 建立所述逻辑地址与新的虚拟地址及新的物理地址的映射关系。
3.根据权利要求1或2所述的固态硬盘的垃圾回收方法,其特征在于,所述将回收处理的第一数据块的有效数据搬移到第二数据块步骤与所述复写所述被搬移的有效数据的逻辑地址步骤同时执行。
【文档编号】G06F12/08GK103744798SQ201310695546
【公开日】2014年4月23日 申请日期:2013年12月17日 优先权日:2013年12月17日
【发明者】陈均杰 申请人:记忆科技(深圳)有限公司