CN102508788A - Ssd及ssd垃圾回收方法和装置 - Google Patents

Ssd及ssd垃圾回收方法和装置 Download PDF

Info

Publication number
CN102508788A
CN102508788A CN2011102978621A CN201110297862A CN102508788A CN 102508788 A CN102508788 A CN 102508788A CN 2011102978621 A CN2011102978621 A CN 2011102978621A CN 201110297862 A CN201110297862 A CN 201110297862A CN 102508788 A CN102508788 A CN 102508788A
Authority
CN
China
Prior art keywords
data block
data
block
ssd
grade
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011102978621A
Other languages
English (en)
Other versions
CN102508788B (zh
Inventor
周伟台
杨继涛
柯乔
张琴
李欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN201110297862.1A priority Critical patent/CN102508788B/zh
Publication of CN102508788A publication Critical patent/CN102508788A/zh
Application granted granted Critical
Publication of CN102508788B publication Critical patent/CN102508788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种SSD及SSD垃圾回收方法和装置。该方法包括根据SSD中每个数据块内包含的有效读写单元的个数,将所述SSD中的数据块划分为至少一个等级,使得位于相同等级的数据块包含的有效读写单元的个数相同;当对SSD中的数据块内的数据进行更新时,如果更新前的数据所在的数据块和更新后的数据所在的数据块不同,则对更新前的数据所在的数据块的等级以及更新后的数据所在的数据块的等级均进行更新;当需要垃圾回收时,对更新后的位于第一等级的数据块进行回收,其中,所述第一等级中的数据块是包含有效读写单元的个数最少的数据块。本发明实施例可以提高SSD垃圾回收速度。

Description

SSD及SSD垃圾回收方法和装置
技术领域
本发明涉及存储技术,尤其涉及一种SSD及SSD垃圾回收方法和装置。
背景技术
固态硬盘(Solid State Drive,SSD)是由控制单元和固态存储单元(NANDFlash)组成的硬盘。固态硬盘采用NAND Flash芯片存储数据,数据写入之前需要对NAND Flash芯片进行擦除操作,擦除操作的基本单位为块(Block),每个Block包含若干个页(Page),Page是数据读写操作的基本单元。以写操作对应的数据在写操作前后均保存在SSD中为例,完成一次写操作分两步:首先将数据写入已经擦除过的Page(即空白Page),再将原先存放该数据的Page标记为无效。被标记为无效的Page未经擦除前不能再次被写入,这样的Page称为垃圾Page。通常,SSD初始时会预留一部分空白Page供新的写入操作,在这些空白Page耗尽前必须及时启动回收,回收那些被标记为无效的垃圾Page,这个过程被称为垃圾回收。由于擦除的基本单位是Block,且实际操作中Block中不可能全是无效Page,为达到回收无效Page的目的,需要先将Block中的有效Page中的数据搬移走,然后再将该Block擦除。由于搬移有效Page也会消耗一部分空白Page,因此回收一个Block得到的有效可用空间仅等于原来的无效Page数。
相比于来自主机的数据写,回收操作本身带来了额外的后台数据搬移,这就是通常所说的写放大。写放大越小,整个SSD的性能就越好,同时磨损也会越小,这就要求回收效率尽可能高,即每次挑选出包含最少有效Page的Block进行回收。但是,挑选出最优的Block,即包含最少有效Page的Block,并不是一件容易的事情。现有技术中通常是采用局部或全部遍历比较的方式,这样可以一次选取出局部或全部最优的一个或若干个Block,但这个过程需要的时间较长。
发明内容
本发明实施例是提供一种SSD及SSD垃圾回收方法和装置,用以解决现有技术中存在的查询最优Block所需时间较长的问题。
本发明实施例提供了一种SSD垃圾回收方法,包括:
根据SSD中每个数据块内包含的有效读写单元的个数,将所述SSD中的数据块划分为至少一个等级,使得位于相同等级的数据块包含的有效读写单元的个数相同,其中,所述有效读写单元是指数据块内除空白读写单元和被标记为无效的读写单元之外的读写单元,所述被标记为无效的读写单元是指回收前不能再次被写入的读写单元;
当对SSD中的数据块内的数据进行更新时,如果更新前的数据所在的数据块和更新后的数据所在的数据块不同,则对更新前的数据所在的数据块的等级以及更新后的数据所在的数据块的等级均进行更新;
当需要垃圾回收时,对更新后的位于第一等级的数据块进行回收,其中,所述第一等级中的数据块是包含有效读写单元的个数最少的数据块。
本发明实施例提供一种SSD垃圾回收装置,包括:
等级管理模块,用于根据SSD中每个数据块内包含的有效读写单元的个数,将所述SSD中的数据块划分为至少一个等级,使得位于相同等级的数据块包含的有效读写单元的个数相同,其中,所述有效读写单元是指数据块内除空白读写单元和被标记为无效的读写单元之外的读写单元,所述被标记为无效的读写单元是指回收前不能再次被写入的读写单元;当对SSD中的数据块内的数据进行更新时,如果更新前的数据所在的数据块和更新后的数据所在的数据块不同,则对更新前的数据所在的数据块的等级以及更新后的数据所在的数据块的等级均进行更新;
回收模块,用于当需要垃圾回收时,对更新后的位于第一等级的数据块进行回收,其中,所述第一等级中的数据块是包含有效读写单元的个数最少的数据块。
本发明实施例提供一种SSD,包括:上述的SSD垃圾回收装置,还包括:
存储单元,用于存储数据,所述数据被划分为多个数据块,每个数据块包括多个读写单元;
缓存单元,用于将所述SSD垃圾回收装置管理的每个等级中的数据块的信息进行存储。
由上述技术方案可知,本发明实施例通过对数据块划分等级,并根据等级回收数据块,可以降低查找最优Block所需的时间,进而加速垃圾回收速度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中写操作的流程示意图;
图2为本发明第一实施例的方法流程示意图;
图3为本发明实施例中块的组织示意图;
图4为本发明实施例中数据更新过程中的示意图;
图5为本发明实施例中数据更新完毕的示意图;
图6为本发明实施例中进行垃圾回收的示意图;
图7为本发明第二实施例的方法流程示意图;
图8为本发明实施例中等级链表的保存示意图;
图9为本发明第三实施例的装置的结构示意图;
图10为本发明第四实施例的SSD的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好地理解本发明实施例,首先对数据的写操作进行描述。
图1为本发明实施例中写操作的流程示意图,参见图1,主机可以采用如下方式更新数据:
1,更新数据z。假设,Block A的第一个Page中保存有待更新的数据z,用Data z(old)表示,Block A的最后一个Page未使用(即该Page为空白Page)。此时,新数据直接写入Block A的最后一个Page,用Data z(new)。在写入新数据z后,将最后一个Page标记为有效,将第一个Page标记为无效。此时更新在同一个Block内部完成。
2,更新数据y。假设,旧的数据y保存在Block A的第二个Page中,用Data y(old)表示,且Block A中所有Page全部使用完,需要获取一个新的空白Block B。此时,将新数据写入Block B的第一个Page,用Data y(new)表示。在写入新数据y后,将Block B的第一个Page标记为有效,将Block A的第二个Page标记为无效。此时更新在两个Block内完成。
对于需要新写入Block B中的Block A中的其他数据,可以参照上述对y的更新过程进行更新处理。
3,垃圾回收,搬移数据x。假设Block C为挑选出来正在回收的Block,其大部分都是无效(invalid)的Page,需要将Block C的第二个Page中的数据x搬移到Block B的空白Page(第三个Page)中。此时,将Block C中的数据x读出并写入Block B中,两个Block中的数据x均用Data x(same)表示。并且,将Block C的第二个Page标记为无效,将Block B的第三个Page标记为有效。当Block C中的有效数据全部搬走后,可以将其擦除作为新的空白Block供写操作使用。
回收搬移的数据和主机的新数据均写入同一个空白Block中。
在擦除一个Block(如Block C)作为新的空白Block之前,首先需要确定一个用于擦除的Block,如首先需要确定出上述的Block C。现有技术中可以采用遍历的方式,而本发明实施例采用如下方式。
图2为本发明第一实施例的方法流程示意图,包括:
步骤21:根据SSD中每个数据块内包含的有效读写单元的个数,将所述SSD中的数据块划分为至少一个等级,使得位于相同等级的数据块包含的有效读写单元的个数相同,其中,所述有效读写单元是指数据块内除空白读写单元和被标记为无效的读写单元之外的读写单元,所述被标记为无效的读写单元是指回收前不能再次被写入的读写单元;当对SSD中的数据块内的数据进行更新时,如果更新前的数据所在的数据块和更新后的数据所在的数据块不同,则对更新前的数据所在的数据块的等级以及更新后的数据所在的数据块的等级均进行更新;
进一步地,如果更新前的数据所在的数据块和更新后的数据所在的数据块相同,则保持所述更新前的数据以及所述更新后的数据所在的数据块的等级;
步骤22:当需要垃圾回收时,对更新后的位于第一等级的数据块进行回收,其中,所述第一等级中的数据块是包含有效读写单元的个数最少的数据块。
本实施例通过对数据块划分等级,并根据等级回收数据块,可以降低查找最优Block所需的时间,进而加速垃圾回收速度。
进一步地,上述的读写单元可以具有不同的粒度,例如,一个读写单元为一个Page、多个Page或者小于一个Page等。本发明实施例中将以Page为例。
另外,以读写单元为Page为例,有效Page是指除被标记为无效的Page和空白Page之外的Page,以上述读写数据为例,新数据写入的Page就是有效Page,也是标记为有效的Page。
为了在垃圾回收时挑选出最优的Block,即包含最少有效Page的Block进行回收,本发明实施例根据有效读写单元的个数进行等级划分,以便确定出最优的Block。
假设一个块(Block)内包含64个Page,则一个Block可能具有65种状态中的一种。该65种状态分别对应:有0个有效Page(即全是被标记为无效的Page或者仅包括被标记为无效的Page和空白Page)、有1个有效Page、有2个有效Page,...全是有效Page。
之后可以将具有同一个状态的Block组织成同一个等级。例如,Block1和Block2均是有1个有效Page,则将Block1和Block2组织成同一个等级。
例如,图3为本发明实施例中块的组织示意图,参见图3,Level n包括的块分别为Block a、Block b、Block c等,Level n+1包括的块分别为Block x、Block y、Block z等。
可以理解的是,上述划分的等级的个数与每一个Block对应的状态的个数是相同的。例如,上述的Block对应65种状态,则上述划分的等级为65种。
另外,参见图3,为了更新方便,本发明实施例以双向链表方式组织同一个等级内的Block。有多少个等级则对应多少个双向链表。
需要说明的是,上述的等级的数值可以具体是根据包含的有效的读写单元的个数依次排列。例如,将包含0个有效Page的Block划分到Level 0,将包含1个有效Page的Block划分到Level 1,将包含2个有效Page的Block划分到Level 2,依次类推,直至包含全是有效Page的Block划分到Level 64。
每当数据更新时,可能需要更新源Block(即更新前的数据所在的Block)和目的Block(即更新后的数据所在的Block)所在的有效等级。此时,源Block中的有效Page减小1,目的Block中的有效Page增加1。对应地,源Block将降级,目的Block将升级。
需要说明的是,Block可以在使用完成后一次更新,不用每个Page都操作一次。另外,若源Block与目的Block重叠则该Block的等级不用更新。
图4为本发明实施例中数据更新过程中的示意图,参见图4,假设Blocky需要更新,即Block y为源Block,则将Block y从Level n+1删除,并添加到Level n。
图5为本发明实施例中数据更新完毕的示意图,参见图5,Level n中增加了Block y,而Level n+1中删除了Block y。
其中,该垃圾回收操作可以由剩余的空白Block数触发,当剩余空白Block低于某阈值时启动回收以便空白Block(Page)消耗与回收达到平衡。
启动回收时,是回收包含有效读写单元的个数最少的Block。例如,上述描述中Level 0是包含有效Page最少的等级,则从Level 0(也就是上述的第一等级)中进行Block回收。
进一步地,若包含有效读写单元最少的等级为空则再往下一等级获取直至获得到回收的块。图6为本发明实施例中进行垃圾回收的示意图,如图6所示,Level 0~Level n-1均为空,则从Level n中进行回收。其中,在回收时可以按照顺序回收,例如,顺序去除链表的第一个Block a进行回收即可。此时的Block a必然是包含有效Page最少的Block。
上述按Page粒度划分Block只是一种实现特例,在实际应用中,可以根据需要进行Block等级划分,等级划分的粒度可大于Page、也可以小于Page。如以4个Page为粒度进行等级划分,甚至不同的等级可包含不同的Page数,这可根据实际业务以及SSD初始预留的空白空间多少灵活调整。
等级划分粒度越小,回收效率就越高,这样就有能减少额外Page的搬移、写放大比较小,性能比较高。另一方面,划分粒度增大可大大减小数据更新过程中Block有效等级的维护开销。实际上,对大多数应用来说并不需要太精细的划分即可满足需求。
进一步地,本实施例通过双向链表管理同一个等级的Block,可以使得等级更新时更方便。本实施例数据更新过程相比全局遍历筛选最优Block或回收非最优Block将降低不必要的数据搬移,对性能提升和稳定的效果是非常明显的。本实施例回收的总是有效Page最少的Block、搬移的数据量总是最少的、写放大总是最小的,当然性能也是最高的。本实施例的等级链表维护伴随平常的写操作进行,开销分摊到每个或每几个写IO,不会因为回收挑选Block耗时长带来性能波动,一旦空白Block的回收和使用达到平衡,整个SSD的性能将达到稳定值。
图7为本发明第二实施例的方法流程示意图,本实施例中,每组Block等级链表管理一定物理空间内的所有Block,存储数据的物理空间可以是NAND Flash芯片的一部分或组合,如每颗NAND Flash或每个Channel为一个独立的物理空间。链表的维护由SSD控制单元负责,软硬件实现均可。
步骤71:NAND Flash进行数据保存。
例如,主机将数据保存到NAND Flash中,该NAND Flash中可以划分出多个Block,每个Block包括多个Page,数据读写的基本单位可以为Page。控制单元可以对该NAND Flash内保存的数据进行读、写、擦等操作。
步骤72:SSD控制单元根据其管理的NAND Flash内的所有的Block包含的有效Page的个数建立等级链表,并根据数据更新情况对等级链表进行更新。
其中,控制单元通常位于SSD控制芯片内部。可以负责解析主机命令;分配缓存单元;实现逻辑地址与物理地址的映射;协调垃圾回收与主机业务等。
步骤73:缓存单元保存控制单元维护的等级链表。
其中,缓存单元可以暂存数据(如主机读写数据、垃圾回收过程中的中间数据等)、以及各种表项信息(如逻辑地址与物理地址的映射关系、Block磨损及使用信息、Block等级链表等)。通常缓存单元由SSD控制芯片外挂高速存储器(如SDRAM、DDR...)实现,在高性能企业级SSD中缓存容量可达到数百MB。
Block等级链表存放在缓存单元中,业务运行过程中更新等级等操作体现为控制单元对缓存单元进行读写。为节约存储单元空间,构建Block链表时可用存储单元地址隐含表示Block号,存储单元内则存放于该Block相关的前后Block号。每个物理空间占用一段独立的缓存空间,建立独立的Block等级链表组,每组包含若干等级的Block链表。
图8为本发明实施例中等级链表的保存示意图,参见图8,以一块物理空间内的一条链表为例说明Block 0~Block n均在一条链表的情况。
本实施例中,参见图8中的表格,用存储单元地址代表Block号,存储单元存放与该Block相邻的前后Block号,从而组成双向链表。例如,Block 1的地址为Offset 1,Block 1的前后Block分别为Block 0(表格中为0)和Block2(表格中为2)。根据Block号和缓存单元基地址Base Address可实现快速寻址。除各级链表外,需各级链表对应的头尾Block号存放在缓存单元另一个固定位置,便于Block获取和添加操作快速寻址。即,图8中上半部分示意的链表存储情况对应的链表结构示意可以如图8的下半部分所示。
本实施例在上一实施例的基础上,通过存储单元地址隐含表示Block号,存储单元内存储该Block相关的前后Block号,可以节省存储单元空间。
图9为本发明第三实施例的装置的结构示意图,该装置可以具体为执行上述方法的装置,该装置可以位于SSD控制单元中,该装置包括等级管理模块91和回收模块92;等级管理模块91用于根据SSD中每个数据块内包含的有效读写单元的个数,将所述SSD中的数据块划分为至少一个等级,使得位于相同等级的数据块包含的有效读写单元的个数相同,其中,所述有效读写单元是指数据块内除空白读写单元和被标记为无效的读写单元之外的读写单元,所述被标记为无效的读写单元是指回收前不能再次被写入的读写单元;当对SSD中的数据块内的数据进行更新时,如果更新前的数据所在的数据块和更新后的数据所在的数据块不同,则对更新前的数据所在的数据块的等级以及更新后的数据所在的数据块的等级均进行更新;回收模块92用于当需要垃圾回收时,对更新后的位于第一等级的数据块进行回收,其中,所述第一等级中的数据块是包含有效读写单元的个数最少的数据块。
可以是,所述等级管理模块具体用于:每个读写单元内的数据更新时则更新一次等级,或者,每个数据块内的数据更新完毕时更新一次等级。
可以是,所述回收模块具体用于:当剩余空白数据块的个数低于设定的阈值时,按照第一等级内的数据块的排列顺序,依次对所述第一等级内的数据块进行回收。
上述的读写单元的粒度等于页、小于页,或者大于页。
本实施例通过对数据块划分等级并根据等级回收,可以降低查找最优Block所需的时间,进而加速垃圾回收速度。
图10为本发明第四实施例的SSD的结构示意图,包括存储单元101、SSD垃圾回收装置102和缓存单元103;存储单元101用于存储数据,所述数据被划分为多个数据块,每个数据块包括多个读写单元;SSD垃圾回收装置102可以如图9所示;缓存单元103用于将所述SSD控制单元管理的每个等级中包括的数据块的信息进行存储。
该缓存单元可以具体用于将所述SSD控制单元管理的每个等级中的数据块的信息采用双向链表形式进行存储。
进一步地,所述缓存单元具体用于对应每个等级,将该等级中的每个数据块存储在与该数据块的编号对应的存储单元中,且所述存储单元中保存双向链表中与该数据块相邻的两个数据块的编号。
该存储单元可以是NAND Flash或每个Channel。
本实施例通过对数据块划分等级并根据等级回收,可以降低查找最优Block所需的时间,进而加速垃圾回收速度。
可以理解的是,上述方法及设备中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种SSD垃圾回收方法,其特征在于,包括:
根据SSD中每个数据块内包含的有效读写单元的个数,将所述SSD中的数据块划分为至少一个等级,使得位于相同等级的数据块包含的有效读写单元的个数相同,其中,所述有效读写单元是指数据块内除空白读写单元和被标记为无效的读写单元之外的读写单元,所述被标记为无效的读写单元是指回收前不能再次被写入的读写单元;
当对SSD中的数据块内的数据进行更新时,如果更新前的数据所在的数据块和更新后的数据所在的数据块不同,则对更新前的数据所在的数据块的等级以及更新后的数据所在的数据块的等级均进行更新;
当需要垃圾回收时,对更新后的位于第一等级的数据块进行回收,其中,所述第一等级中的数据块是包含有效读写单元的个数最少的数据块。
2.根据权利要求1所述的方法,其特征在于,还包括:
将每个等级中的数据块的信息进行存储,且位于相同等级的数据块的信息采用双向链表形式组织。
3.根据权利要求2所述的方法,其特征在于,所述将每个等级中的数据块的信息进行存储包括:
对应每个等级,将该等级中的每个数据块的信息存储在与该数据块的编号对应的存储单元中,且所述存储单元中保存双向链表中与该数据块相邻的两个数据块的编号。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述需要垃圾回收,包括:
当剩余空白数据块的个数低于设定的阈值时,则需要垃圾回收。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述对更新后的位于第一等级的数据块进行回收,包括:
按照第一等级内的数据块的排列顺序,依次对所述第一等级内的数据块进行回收。
6.一种SSD垃圾回收装置,其特征在于,包括:
等级管理模块,用于根据SSD中每个数据块内包含的有效读写单元的个数,将所述SSD中的数据块划分为至少一个等级,使得位于相同等级的数据块包含的有效读写单元的个数相同,其中,所述有效读写单元是指数据块内除空白读写单元和被标记为无效的读写单元之外的读写单元,所述被标记为无效的读写单元是指回收前不能再次被写入的读写单元;当对SSD中的数据块内的数据进行更新时,如果更新前的数据所在的数据块和更新后的数据所在的数据块不同,则对更新前的数据所在的数据块的等级以及更新后的数据所在的数据块的等级均进行更新;
回收模块,用于当需要垃圾回收时,对更新后的位于第一等级的数据块进行回收,其中,所述第一等级中的数据块是包含有效读写单元的个数最少的数据块。
7.根据权利要求6所述的装置,其特征在于,所述回收模块具体用于:当剩余空白数据块的个数低于设定的阈值时,按照第一等级内的数据块的排列顺序,依次对所述第一等级内的数据块进行回收。
8.一种SSD,其特征在于,包括:
如权利要求6或7所述的SSD垃圾回收装置;还包括:
存储单元,用于存储数据,所述数据被划分为多个数据块,每个数据块包括多个读写单元;
缓存单元,用于将所述SSD垃圾回收装置管理的每个等级中的数据块的信息进行存储。
9.根据权利要求8所述的SSD,其特征在于,所述缓存单元具体用于将所述SSD控制单元管理的每个等级中的数据块的信息采用双向链表形式进行存储。
10.根据权利要求9所述的SSD,其特征在于,所述缓存单元具体用于对应每个等级,将该等级中的每个数据块存储在与该数据块的编号对应的存储单元中,且所述存储单元中保存双向链表中与该数据块相邻的两个数据块的编号。
CN201110297862.1A 2011-09-28 2011-09-28 Ssd及ssd垃圾回收方法和装置 Active CN102508788B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110297862.1A CN102508788B (zh) 2011-09-28 2011-09-28 Ssd及ssd垃圾回收方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110297862.1A CN102508788B (zh) 2011-09-28 2011-09-28 Ssd及ssd垃圾回收方法和装置

Publications (2)

Publication Number Publication Date
CN102508788A true CN102508788A (zh) 2012-06-20
CN102508788B CN102508788B (zh) 2014-12-10

Family

ID=46220879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110297862.1A Active CN102508788B (zh) 2011-09-28 2011-09-28 Ssd及ssd垃圾回收方法和装置

Country Status (1)

Country Link
CN (1) CN102508788B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799535A (zh) * 2012-06-29 2012-11-28 记忆科技(深圳)有限公司 固态硬盘的数据处理方法及固态硬盘
CN103135946A (zh) * 2013-03-25 2013-06-05 中国人民解放军国防科学技术大学 基于ssd的大规模存储系统中的文件布局方法
CN104462181A (zh) * 2014-10-08 2015-03-25 记忆科技(深圳)有限公司 一种ssd后端数据通路管理加速模块及ssd设备
CN104615550A (zh) * 2015-01-27 2015-05-13 华为技术有限公司 一种存储设备坏块的处理方法、装置及存储设备
CN105740162A (zh) * 2015-12-31 2016-07-06 上海盈方微电子有限公司 应用于nand存储器的nftl数据存储系统及方法
CN105843746A (zh) * 2015-01-12 2016-08-10 广明光电股份有限公司 固态硬盘的写入方法
CN106445740A (zh) * 2016-09-22 2017-02-22 深圳市先天海量信息技术有限公司 固态硬盘中nand闪存数据的控制方法及控制系统
CN106528000A (zh) * 2016-12-02 2017-03-22 郑州云海信息技术有限公司 一种数据存储装置及其读写性能优化方法、系统
CN106528004A (zh) * 2016-12-14 2017-03-22 湖南国科微电子股份有限公司 提高DRAM less SSD垃圾回收效率的方法、Block及垃圾回收系统
WO2017143972A1 (zh) * 2016-02-25 2017-08-31 中兴通讯股份有限公司 数据处理方法及装置
CN107391774A (zh) * 2017-09-15 2017-11-24 厦门大学 基于重复数据删除的日志文件系统的垃圾回收方法
CN107844432A (zh) * 2017-11-22 2018-03-27 深圳忆联信息系统有限公司 一种固态硬盘动态垃圾回收的方法及固态硬盘
CN108776614A (zh) * 2018-05-03 2018-11-09 华为技术有限公司 存储块的回收方法和装置
CN109977031A (zh) * 2017-12-27 2019-07-05 成都华为技术有限公司 固态硬盘垃圾回收的方法和固态硬盘
CN110362500A (zh) * 2019-06-03 2019-10-22 深圳市金泰克半导体有限公司 一种固态硬盘垃圾回收方法、装置、固态硬盘和存储介质
WO2020172821A1 (zh) * 2019-02-27 2020-09-03 华为技术有限公司 固态硬盘写放大优化方法
CN112015338A (zh) * 2020-08-19 2020-12-01 山东大学 一种非易失性存储器查表巡检方法
CN114721972A (zh) * 2022-06-09 2022-07-08 深圳佰维存储科技股份有限公司 垃圾回收方法、装置、可读存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050141312A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Non-volatile memory and method with non-sequential update block management
CN1687904A (zh) * 2005-06-16 2005-10-26 北京航空航天大学 智能卡存储环境的控制方法
US20110022778A1 (en) * 2009-07-24 2011-01-27 Lsi Corporation Garbage Collection for Solid State Disks
WO2011055935A2 (ko) * 2009-11-05 2011-05-12 Kim Namcheol 실시간 자동 파일 백업을 위한 방법과 시스템
CN102147767A (zh) * 2011-04-26 2011-08-10 记忆科技(深圳)有限公司 固态硬盘垃圾收集参数动态调整方法及其系统
CN102193866A (zh) * 2010-03-17 2011-09-21 索尼公司 存储装置和存储系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050141312A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Non-volatile memory and method with non-sequential update block management
CN1687904A (zh) * 2005-06-16 2005-10-26 北京航空航天大学 智能卡存储环境的控制方法
US20110022778A1 (en) * 2009-07-24 2011-01-27 Lsi Corporation Garbage Collection for Solid State Disks
WO2011055935A2 (ko) * 2009-11-05 2011-05-12 Kim Namcheol 실시간 자동 파일 백업을 위한 방법과 시스템
CN102193866A (zh) * 2010-03-17 2011-09-21 索尼公司 存储装置和存储系统
CN102147767A (zh) * 2011-04-26 2011-08-10 记忆科技(深圳)有限公司 固态硬盘垃圾收集参数动态调整方法及其系统

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799535A (zh) * 2012-06-29 2012-11-28 记忆科技(深圳)有限公司 固态硬盘的数据处理方法及固态硬盘
CN103135946A (zh) * 2013-03-25 2013-06-05 中国人民解放军国防科学技术大学 基于ssd的大规模存储系统中的文件布局方法
CN104462181B (zh) * 2014-10-08 2017-12-19 记忆科技(深圳)有限公司 一种ssd后端数据通路管理加速模块及ssd设备
CN104462181A (zh) * 2014-10-08 2015-03-25 记忆科技(深圳)有限公司 一种ssd后端数据通路管理加速模块及ssd设备
CN105843746A (zh) * 2015-01-12 2016-08-10 广明光电股份有限公司 固态硬盘的写入方法
CN104615550A (zh) * 2015-01-27 2015-05-13 华为技术有限公司 一种存储设备坏块的处理方法、装置及存储设备
CN109783017B (zh) * 2015-01-27 2021-05-18 华为技术有限公司 一种存储设备坏块的处理方法、装置及存储设备
CN109783017A (zh) * 2015-01-27 2019-05-21 华为技术有限公司 一种存储设备坏块的处理方法、装置及存储设备
CN105740162B (zh) * 2015-12-31 2018-08-07 上海盈方微电子有限公司 应用于nand存储器的nftl数据存储系统及方法
CN105740162A (zh) * 2015-12-31 2016-07-06 上海盈方微电子有限公司 应用于nand存储器的nftl数据存储系统及方法
CN107122124A (zh) * 2016-02-25 2017-09-01 中兴通讯股份有限公司 数据处理方法及装置
WO2017143972A1 (zh) * 2016-02-25 2017-08-31 中兴通讯股份有限公司 数据处理方法及装置
CN107122124B (zh) * 2016-02-25 2021-06-15 中兴通讯股份有限公司 数据处理方法及装置
CN106445740A (zh) * 2016-09-22 2017-02-22 深圳市先天海量信息技术有限公司 固态硬盘中nand闪存数据的控制方法及控制系统
CN106528000A (zh) * 2016-12-02 2017-03-22 郑州云海信息技术有限公司 一种数据存储装置及其读写性能优化方法、系统
CN106528004A (zh) * 2016-12-14 2017-03-22 湖南国科微电子股份有限公司 提高DRAM less SSD垃圾回收效率的方法、Block及垃圾回收系统
CN107391774A (zh) * 2017-09-15 2017-11-24 厦门大学 基于重复数据删除的日志文件系统的垃圾回收方法
CN107844432A (zh) * 2017-11-22 2018-03-27 深圳忆联信息系统有限公司 一种固态硬盘动态垃圾回收的方法及固态硬盘
CN109977031A (zh) * 2017-12-27 2019-07-05 成都华为技术有限公司 固态硬盘垃圾回收的方法和固态硬盘
CN108776614A (zh) * 2018-05-03 2018-11-09 华为技术有限公司 存储块的回收方法和装置
WO2020172821A1 (zh) * 2019-02-27 2020-09-03 华为技术有限公司 固态硬盘写放大优化方法
CN113490922A (zh) * 2019-02-27 2021-10-08 华为技术有限公司 固态硬盘写放大优化方法
CN113490922B (zh) * 2019-02-27 2023-07-18 华为技术有限公司 固态硬盘写放大优化方法
CN110362500A (zh) * 2019-06-03 2019-10-22 深圳市金泰克半导体有限公司 一种固态硬盘垃圾回收方法、装置、固态硬盘和存储介质
CN110362500B (zh) * 2019-06-03 2023-06-20 深圳市金泰克半导体有限公司 一种固态硬盘垃圾回收方法、装置、固态硬盘和存储介质
CN112015338A (zh) * 2020-08-19 2020-12-01 山东大学 一种非易失性存储器查表巡检方法
CN114721972A (zh) * 2022-06-09 2022-07-08 深圳佰维存储科技股份有限公司 垃圾回收方法、装置、可读存储介质及电子设备
CN114721972B (zh) * 2022-06-09 2022-11-11 深圳佰维存储科技股份有限公司 垃圾回收方法、装置、可读存储介质及电子设备

Also Published As

Publication number Publication date
CN102508788B (zh) 2014-12-10

Similar Documents

Publication Publication Date Title
CN102508788B (zh) Ssd及ssd垃圾回收方法和装置
CN101169751B (zh) 具有闪存设备的系统及其数据恢复方法
CN101582052B (zh) 存储器模组及于存储器模组中实现平均磨损的方法
CN102012867B (zh) 资料储存系统
CN102981963B (zh) 一种固态盘的闪存转换层的实现方法
CN101233480B (zh) 用于索引直接存储数据文件的可重新编程的非易失性存储器中的文件数据的方法、设备和系统
CN101236789B (zh) 检测静态数据区、磨损均衡和合并数据单元的方法和装置
CN102135942B (zh) 一种存储设备中实现损耗均衡的方法及存储设备
CN102163175B (zh) 一种基于局部性分析的混合地址映射方法
CN104484283B (zh) 一种降低固态硬盘写放大的方法
CN101241471A (zh) 快闪存储器系统及其垃圾收集方法
CN101606133A (zh) 具有连续逻辑地址空间接口的直接数据文件系统的使用
CN103455432A (zh) 用来管理一记忆装置的方法以及其相关的记忆装置
US10402317B2 (en) Data storage device and flash memory control method
CN102298555A (zh) 基于nand技术的模块化闪存管理系统
CN106557432B (zh) 缓冲存储器管理方法、存储器控制电路单元及存储装置
CN107092563B (zh) 一种垃圾回收方法及装置
CN101493794A (zh) 一种闪存数据处理方法及装置
CN105718530A (zh) 文件存储系统及其文件存储控制方法
CN110531927B (zh) 一种基于块分级的垃圾回收方法及非易失性的存储设备
CN107817945B (zh) 一种混合内存结构的数据读取方法和系统
CN112860594B (zh) 一种固态盘地址重映射方法、设备及固态盘
CN103970669A (zh) 用于加速在固态设备中的回收操作的物理到逻辑地址映射
US20100318726A1 (en) Memory system and memory system managing method
CN103279366A (zh) 固态硬盘及掉电后基于固态硬盘快速开机的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Applicant before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD. TO: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220907

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.