当前位置: 首页 > 专利查询>LSI公司专利>正文

固态驱动器的主动回收制造技术

技术编号:11158817 阅读:85 留言:0更新日期:2015-03-18 14:46
本发明专利技术涉及固态驱动器的主动回收。公开了一种固态驱动器和固态驱动器的主动回收方法。固态驱动器包括多个块,所述多个块的每一个块包括多个页。该方法的步骤包括:接收来自一数据请求者的一读请求;识别包含所述读请求所请求的数据的至少一个页;确定是否所述至少一个页属于被识别为主动回收的块;当所述至少一个页属于被识别为主动回收的所述块时,将所述至少一个页写入一不同的块;以及响应所述读请求,将所述至少一个页发送至所述数据请求者。这种主动回收过程是在减少了有效页数量的源块上执行。因此,当源块需要被擦除时,垃圾回收过程并不需要读取和写入已经被写入目标块的页,从而减少总的处理时间。

【技术实现步骤摘要】

本专利技术涉及数据存储领域,特别是固态存储设备。
技术介绍
固态驱动器(SSD)是一种数据存储设备,其使用集成电路组件作为存储器永久存储数据。与传统的机电式磁盘(如硬盘驱动器或软盘)的区别是,固态驱动器(SSD)没有运动机械部件。与机电磁盘相比,SSD通常不易受物理撞击,运行更安静,有较低的访问时间以及更短的延迟。
技术实现思路
本公开的一个实施例涉及一种用于固态驱动器的主动回收的方法。所述固态驱动器包括的多个块(block),所述多个块中的每一个块包括多个页(page)。该方法的步骤包括:从数据请求者接收一读请求;识别包含所述读请求所请求的数据的至少一个页;确定是否所述至少一个页属于被识别为主动回收的块;当所述至少一个页属于被识别为主动回收的所述块时,将所述至少一个页写入一不同的块;以及响应所述读请求,将所述至少一个页发送至所述数据请求者。本专利技术的另一个实施例涉及一种固态驱动器。所述固态驱动器包括用于提供数据存储的多个块,其中,所述多个块中的每一个块包括多个页。所述固态驱动器还包括一控制器,用于控制所述固态驱动器的操作,其中,一旦从数据请求者接收一读请求,所述控制器被构形用以:识别包含所述读请求所请求的数据的至少一个页;确定是否所述至少一个页属于被识别为主动回收的块;当所述至少一个页属于被识别为主动回收的所述块时,将所述至少一个页写入一不同的块;以及响应所述读请求,将所述至少一个页发送至所述数据请求者。本公开的再一实施例涉及一种固态驱动器。所述固态驱动器包括用于提供数据存储的多个块,其中,所述多个块中的每一个块包括多个页。所述固态驱动器还包括一有效的页计数表,用于保持所述固态驱动器的所述多个块中的每一个块的有效页计数;一主动回收表,用于识别被考虑主动回收的所述多个块的一子集,其中,基于所述多个块的每一个块的所述有效页计数识别所述被考虑主动回收的所述块的所述子集;以及一控制器,用于控制所述固态驱动器的操作。一旦从数据请求者接收一读请求,所述控制器被构形用以:识别包含所述读请求所请求的数据的至少一个页;确定是否所述至少一个页属于被识别为主动回收的块;当所述至少一个页属于被识别为主动回收的所述块时,将所述至少一个页写入一不同的块;以及响应所述读请求,将所述至少一个页发送至所述数据请求者。应理解的是,前面的一般描述和下面的详细描述是示例性和说明性的不应限制本专利技术的权利。附图说明图被并入说明书中并构成本说明书的一部分,说明本专利技术的实施例,并与一般的描述一起用于解释本专利技术原理。附图说明本专利技术的众多优点可以被本领域技术人员更好地理解,在本领域中,通过参考附图进一步详细说明:图1图示了固态驱动器的数据块和固态驱动器利用的地址映射;图2图示了固态驱动器的垃圾回收过程;图3是说明用于提供固态驱动器的主动回收的方法的流程图;以及图4是描绘了图3的固态驱动器的方框图。具体实施方式参考下面进行详细说明,对本专利技术的优选实施例,其示例在附图中示出本专利技术。固态驱动器(SSD)使用集成电路组件作为存储器来存储永久数据。例如,闪存设备(例如,NAND型闪存等),可以作为存储介质。NAND闪存由浮栅晶体管将信息存储在存储单元阵列。在传统的单级单元(SLC)的装置中,每个单元只存储一个比特的信息。一些较新闪速存储器,被称为多级单元(MLC)的设备,包括三重级单元(TLC)的设备,通过在应用于其单元的浮栅的多能级电荷之间选择,可以每单元存储一个以上比特(bit)。典型的闪存由多个块(block)组成,每个块包含多个页(page)。基本的闪存存储器读/写单元是页,这通常是在一个示例性实施8KB。在常规实施中,数据在被写入到一特定的页之前,该页必须先被擦除,擦除过程是一次执行一个块。因此,当新的数据需要被改写到一个特定的页时,包含该特定的页的整个块必须首先被擦除。可以设想,上述提及的页可以使用上物理页地址方案或逻辑页地址(LPA)方案编址。图1描绘示出了发给闪速存储器的一系列写请求。例如,在实例102中LPA 0被写入页(Page)0。随后,LPA 4和LPA 10分别被写入到页1和页2。如果数据请求者(例如,主机)需要再次写入LPA 0,新的数据需要被写入到另一页。在这个例子中,新的数据被写入到页3,以104表示。这时,LPA 0被存储在页3,下一次,当主机读取LPA 0是从页2,而不是页2(即,第一个实例将不再有效)。在这种情况下,页0包含的数据被称为垃圾。值得注意的是,当主机继续将数据写入到SSD时,大量LPAs将被重写,每个重写的LPA的将被存储在不同的位置。SSD固件必须跟踪最新的LPAs的位置,才能正常工作。例如,在映射106可以被保持以记录LPAs与它们的物理地址之间的映射,如图1所示。还应该注意到,不再有效的存储数据实例的页不能使用,直到它们被释放/擦除。然而,当数据被写入闪速存储器中被称为页(由多个单元组成)的单位(unit),闪速存储器只能以被称为块(由多个页组成)的大单位被擦除。图2示出描述了这个过程。如202所示,四个页,A至D,被写入块(Block)X。只要有空闲的页,各页可以在任何时候被写入到相同的块。随后,如204所示,假设四个新的页,E至H,以及四个取代页,A'至D',被写入块X。原始页A至D现在是无效的(包含过期数据),但他们不能被重写,直到整个块被删除,使用如206示的被称为垃圾回收的过程。更具体地说,为了写入具有过期数据的页(例如,A到D),所有有效的页(例如E至H和A'至D')需要先被读取和写入到一个新的块(例如,块Y),然后块X可以被擦除。值得注意的是,需要从源块中读取所有页后将有效的页写入新的块浪费资源和时间。本公开的实施例,提供固态驱动器的主动回收的方法和系统。更具体地,数据被有条件地回收,作为响应于来自主机的读命令的一部分。如果被主机请求的当前的一个特定的页满足一定条件,则SSD可以读取所述特定的页的数据并将该页重入另一个块,提供主动的回收过程消耗更少的资源和处理时间。根据本公开的一个实施例,SSD固件保持SSD中每个块的有效页计数的记录。此记录可以保持在数据结构中,例如表或类似物,简称为有效页计数表(VPC)。每次接收特定的页的写入请求时,SSD固件/控制器将先确定该页是否已被之前写入。如果它已被之前写入,则SSD固件将找到包含该特定的页的块并在VPC表中减去该块的有效页计数1。然后,SSD固件将该页写入新的块,并在VPC表中创建一新的VPC条目,以跟踪该新块的有效页计数。总体上参看图3和图4。图3示出了用于提供SSD主动回收的方法300的流程图,以及图4示出根据本公开的一个实施例中的SSD 400的方框图。步骤302首先搜索VPC表402以找到一预定数量的块,其具有最少数量的有效页。随后,在步骤304,具有最少数量的有效页的所述块被添加到主动回收表404。在示例性实施例中,预定数量的块搜索是10个。然而,应当理解,不脱离本专利技术的精神和范围的情况下,这个数字可能会有所不同。可替换的,步骤302本文档来自技高网...
固态驱动器的主动回收

【技术保护点】
一种提供固态驱动器的主动回收的方法,所述固态驱动器包括多个块且所述多个块的每一个块包括多个页,所述方法包括:接收来自一数据请求者的一读请求;识别包含所述读请求所请求的数据的至少一个页;确定是否所述至少一个页属于被识别为主动回收的块;当所述至少一个页属于被识别为主动回收的所述块时,将所述至少一个页写入一不同的块;以及响应所述读请求,将所述至少一个页发送至所述数据请求者。

【技术特征摘要】
1.一种提供固态驱动器的主动回收的方法,所述固态驱动器包括多个块且所述多个块的每一个块包括多个页,所述方法包括:
接收来自一数据请求者的一读请求;
识别包含所述读请求所请求的数据的至少一个页;
确定是否所述至少一个页属于被识别为主动回收的块;
当所述至少一个页属于被识别为主动回收的所述块时,将所述至少一个页写入一不同的块;以及
响应所述读请求,将所述至少一个页发送至所述数据请求者。
2.根据权利要求1所述的方法,进一步包括:
保持所述固态驱动器的所述多个块的每一个块的一有效页计数。
3.根据权利要求2所述的方法,进一步包括:
基于所述多个块的每一个块的所示有效页计数,识别用于主动回收的一预定数量的块。
4.根据权利要求3所述的方法,其中,当一块在具有最少数量的有效页的所述预定数量的块中时,该块被识别为主动回收。
5.根据权利要求2所述的方法,其中,当一块的所述有效页计数低于一预定阈值时,该块被识别为主动回收。
6.根据权利要求1所述的方法,其中,所述至少一个页被写入的所述不同的块不被识别为主动回收。
7.根据权利要求1所述的方法,其中,所述至少一个页被写入的所述不同的块是一新的块。
8.一种固态驱动器,包括:
用于提供数据存储的多个块,其中,所述多个块的每一个块包括多个页;以及
一控制器,其用于控制所述固态驱动器的操作,其中,一旦从数据请求者接收一读请求,所述控制器被构形用以:
识别包含所述读请求所请求的数据的至少一个页;
确定是否所述至少一个页属于被识别为主动回收的块;
当所述至少一个页属于被识别为主动回收的所述块时,将所述至少一个页写入一不同的块;以及
响应所述读请求,将所述至少一个页发送至所述数据请求者。
9.根据权利要求8所述的固态驱动器,进一步包括:
一有效的页计数表,其用于保持所述固态驱动器的所述多个块中的每一个块的有效页计数。
10.根据权利要求9所述的固态驱动器,进一步包括:
一主动回收表,其用于识别被考虑主动回收的所述多个块的一子集,其中,基于所述多个块的每一个块的所述有效页计数识别所述被考虑主动回收的所述块的所述子集。
11.根据权利要求10所述的固态驱动...

【专利技术属性】
技术研发人员:许鹏马利昭
申请(专利权)人:LSI公司
类型:发明
国别省市:美国;US

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

1