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

通过追踪和利用二级映射索引重复利用固态驱动器块制造技术

技术编号:11408325 阅读:96 留言:0更新日期:2015-05-06 07:34
本发明专利技术涉及一种固态驱动器的重复利用的方法。该方法包括为重复利用选择逻辑快,所述逻辑块包括多个跨越多个闪存裸片的页面。该方法还包括检索与为重复利用选择的逻辑快相关联的地址映射索引记录。对每个储存在地址映射索引记录中的地址映射索引,该重复利用的方法检索具体的地址映射索引引用的一组地址映射条目,确定是否逻辑块内的任何页面被该组地址映射条目引用,如果逻辑块内至少一个页面被该组地址映射条目引用,该方法将这至少一个页面写入一不同的逻辑块。该方法进一步包括清除逻辑块内的所述多个页面。

【技术实现步骤摘要】
通过追踪和利用二级映射索引重复利用固态驱动器块
本专利技术涉及数据存储领域,尤其涉及固态存储设备。
技术介绍
固态驱动器(SSD)是利用集成电路组件作为存储器来持久储存数据的数据存储设备。SSD没有活动的机械组件,使它与传统的机电磁盘,如硬盘驱动器或是软盘,区分开来。与机电磁盘相比,SSDs典型地不易受物理震动的影响,运行更平稳,存取时间和等待时间更短。
技术实现思路
相应的,本公开的一个实施例是固态驱动器的重复利用方法。该方法包括为重复利用选择一个逻辑块,其中,该逻辑块包括多个跨越多个闪存裸片(die)的页面。该方法还包括检索与为重复利用而选择的逻辑块相关联的地址映射索引记录。对存储在地址映射索引记录的每个具体的地址映射索引,该重复利用方法检索一组引用该具体地址映射索引的地址映射条目,决定是否在逻辑块中的每个页面被该组地址映射条目引用,并且如果至少一个在逻辑块中的页面被该组地址映射条目引用,则该方法将该至少一个页面写入一个不同的逻辑块。该方法进一步包括清除逻辑块内的多个页面。该公开的另一个实施例是利用二级映射追踪逻辑地址到物理地址映射的固态驱动器的重复利用方法。该方法包括为重复利用选择一个逻辑块,该逻辑块包括多个跨越多个闪存裸片的页面。该方法还包括检索与为重复利用而选择的逻辑块相关联的二级映射(SLM)索引记录。对每个具体的存储在SLM索引记录中的SLM索引,重复利用方法检索一个被该具体SLM索引引用的SLM页面,确定是否在该逻辑块内的每个页面都被SLM页面内的映射条目引用,并且如果在该逻辑块内的至少一个页面被SLM页面中的映射条目引用,则该方法写入该至少一个页面到另一个不同的逻辑块中。该方法进一步包括清除逻辑块内的所述多个页面。该公开的另一个实施例是一个固态驱动器。该固态驱动器包括多个闪存裸片。该多个闪存裸片的每个闪存裸片包括多个块,并且该多个块的每个块进一步包括多个提供数据存储的多个页面。该固态驱动器还包括用于管理固态驱动器的回收利用操作的控制器。该重复利用操作以逻辑块为单位执行,并且该控制器依照前边所述的重复利用方法执行该重复利用过程。上述的概括说明和以下的详细说明都应该被理解为是该专利技术的典型例子和起解释作用的例子,并不能限制本专利技术。包含在说明书内并组成说明书的一部分的图示,阐述了该专利技术的具体实施例,并和概括说明共同解释该专利技术的原料。附图简要说明通过参考下列附图,本领域技术人员可更好地理解本专利技术多个特点:图1是本实施例所述的固态驱动器的数据块的示意图;图2是本实施例所述的管理的逻辑块和/或逻辑文件段的多个闪存裸片(dies)/闪存芯片的块和页面的示意图(参考R-块);图3是本实施例所述的物理地址映射的二级逻辑地址;图4是本实施例所述的管理R块的多个闪存裸片/闪存芯片的块和页面以及储存二级映射(SLM)索引记录的指定储存区域的示意图;图5是本实施例所述的R-块以及R-块的SLM索引记录和SLM页面的关系示意图;图6是本实施例所述的基于R-块的重复利用程序的SLM索引记录的流程示意图。具体实施方式现在根据附图对所公开的实施例进行详细说明。固态驱动器(SSD)利用集成电路组件作为存储器来持久储存数据。比如,闪存设备(例如,NAND型闪存以及类似设备)可以作为储存媒介。NAND型闪存将信息存储在由浮栅晶体管制备的阵列存储单元内。传统的单级单元(SLC)设备中每个单元仅存储一比特信息。一些新的闪存,比如多级单元(MLC)设备,包括三级单元(TLC)设备,通过选择多能级电荷应用到单元浮栅中可以使每个单元储存更多的信息。一个典型的闪存包括多个块,而且每个块包括多个页面。基本的闪存读/写单元是在典型的实现中有8KB的页面。在传统的实现中,在数据被写入一个具体的页面之前,该页面应首先被清除,并且一次一块执行清除程序。因此,当新数据需要被重新写入一个具体页面时,包括该具体页面的整个块必须首先被清除。可以预期上述引用的页面可以使用物理页面地址方案或是逻辑页面地址(LPA)方案而得到解决。图1是一组发给闪存的写请求的示意图。比如,在102情况下,逻辑页面地址0被写入页面0。随后,逻辑页面地址4和逻辑页面地址10被分别写入页面1和页面2。如果数据请求者(比如,主机)需要再次写入逻辑页面地址0,新的数据需要被写入另一个页面。在该实例中,新的数据被写入如图所示的104所引用的页面3。此时,逻辑页面地址0存储在页面3中,当下次主机读取逻辑页面地址0时,SSD的固件知道应该从页面3而不是页面0中读取(也就是,第一种情况不再有效)。在这种情况下,包含在页面0中的数据被称为垃圾。值得注意的是,储存不再有效的数据实例的页面在被释放/清除之前是不可用的。然而,当数据以页面(由多个单元组成)为单位写入SSD时,只能以被称为块(由多个页面组成)的大单位来清除SSD。此外,在某些实施例中,如图2,在逻辑片和/或逻辑段中管理位于跨越不同闪裸片/闪存晶芯片的块中的多个页面。在本公开中,这些逻辑片和/或逻辑段被称为R-块(或逻辑块)。如图2所示,R块作为贯穿一个闪存200的所有芯片的逻辑片或是逻辑段。比如,在一个有R闪存裸片的SSD中,每个闪存裸片有N个块,来自每个闪存裸片的每个R-块作为第i个块聚集在一起,作为一个总数为N的R-块。再比如,在一个有R闪存裸片的SSD中,每个R闪存裸片都有N个块,每个R-块作为来自于每个闪存裸片第i个和i+1个块,作为一个总数为N/2的R-块。上述的R-块是为了说明问题是可以预期的。在不脱离本公开的思想和范围情况下,在逻辑片或是逻辑块中,可以通过其他各式各样的方式安排和管理贯穿至少两个闪存裸片的块。当主机(数据请求者)连续向SSD中写入数据时,大量逻辑页面地址(LPAs)会被重写,并且每个重写的逻辑页面地址会被存储在不同的位置。为了正常运行,SSD固件/控制器(以下被称为控制器)必须追踪逻辑页面地址的最新的位置。在某些实施例中,地址映射被维护以记录逻辑页面地址和它们的物理地址之间的映射。用上述R-块安排和管理SSD,逻辑页面地址和它们的物理地址之间的映射通过二级(或多级)映射维护是可预想到的。比如,如图3所示,第一层映射(FLM)302可以被用于存储多个第二级映射(SLM)页面304的物理地址,每一个SLM页面304均可以被用于存储一组逻辑到物理地址映射条目。以这种方式,为一个具体的LPA获取物理地址信息,较小FLM页面可以被快速访问以定位一个具体的包含该具体的LPA物理地址信息的SLM页面。然后该具体的SLM页面可以被访问以获取相应的物理地址信息。可以注意到,为了清晰,在本公开中用于存储一组逻辑到物理地址映射条目的SLM页面被称为“SLM页面”,以区别于在SSD中的页面(如,图1和2所示)在SSD中的页面被称为“存储页面”,“主机页面”,或“页面”。还可以注意到,SSD控制器需要时常执行被称为重复利用或垃圾回收的程序以重复利用可用空间。在实施过程中,用R-块安排和管理SSD以重复利用一个具体的原始R-块,SSD控制器需要从原始R-块中找到所有有效的页面并且将它们转移到一个不同的R-块,然后,该原始R-块可以作为一个自由的R-块被清除和重新利用。然而,在给定R-块中的有效页面和它们的位置不容易被确定,尤其当本文档来自技高网...
通过追踪和利用二级映射索引重复利用固态驱动器块

【技术保护点】
一种固态驱动器的重复利用方法,该方法包括:为重复利用选择一逻辑块,所述逻辑块包括多个跨越多个闪存裸片的页面;检索一地址映射索引记录,该地址映射索引记录与为重复利用选择的所述逻辑快相关联;对存储在所述地址映射索引记录内的每个具体地址映射索引执行以下步骤:    检索所述具体地址映射索引引用的一组地址映射条目;确定是否该逻辑块内的任何页面被该组地址映射条目引用;以及响应确定至少一个页面被该组地址映射条目引用,将所述至少一个页面写入一不同的逻辑块;以及清除该逻辑块内的所述多个页面。

【技术特征摘要】
1.一种固态驱动器的重复利用方法,该方法包括:为重复利用选择一逻辑块,所述逻辑块包括多个跨越多个闪存裸片的页面;检索一地址映射索引记录,该地址映射索引记录与为重复利用选择的所述逻辑块相关联;对存储在所述地址映射索引记录内的每个具体地址映射索引执行以下步骤:检索所述具体地址映射索引引用的一组地址映射条目;处理包含在所述逻辑块内的多个页面中的每一页面且确定包含在该逻辑块内的所述多个页面中的任何页面是否被该组地址映射条目引用;以及响应确定包含在该逻辑块内的所述多个页面中的至少一个页面被该组地址映射条目引用,将所述至少一个页面写入一不同的逻辑块;以及清除该逻辑块内的所述多个页面。2.根据权利要求1所述的方法,其中该地址映射通过利用二级映射实现且每组地址映射条目被组织成二级映射页面。3.根据权利要求1所述的方法,其进一步包括:当该逻辑块被写入时,在与该逻辑块相关联的所述地址映射索引记录中记录所述至少一个地址映射索引,所述至少一个地址映射索引引用至少一个引用该逻辑块中的页面的地址映射条目。4.根据权利要求1所述的方法,其进一步包括:更新与该逻辑块相关联的所述地址映射条目记录。5.根据权利要求4所述的方法,其中更新与该逻辑块相关联的所述地址映射条目记录包括:检索与该逻辑块相关联的所述地址映射条目记录;对存储在所述地址映射索引记录内的每个具体地址映射索引执行以下步骤:检索所述具体地址映射索引引用一组地址映射条目;确定是否该逻辑块内的任何页面被该组地址映射条目引用;以及响应确定没有页面被该组地址映射条目引用,将该具体地址映射索引从所述地址映射索引记录中移除。6.根据权利要求1所述的方法,其中所述固态驱动器包括多个逻辑块,所述多个逻辑块中的每个逻辑块与一地址映射索引记录唯一地关联。7.根据权利要求6所述的方法,其中为选择至少一个地址映射索引记录进行更新制定一选择标准,该选择标准包括以下至少一个:与所述地址映射索引记录相关联的所述逻辑块的有效页面数,或与所述地址映射索引记录相关联的所述逻辑块的原始有效页面数和当前有效页面数之间的差。8.一种固态驱动器的重复利用的方法,该固态驱动器利用二级映射以追踪逻辑地址到物理地址映射,该方法包括:为重复利用选择一逻辑块,所述逻辑块包括多个跨越多个闪存裸片的页面;检索与为重复利用选择的该逻辑块相关联的二级映射SLM索引记录;对存储在所述二级映射SLM索引记录的每个具体SLM索引执行以下步骤:检索被所述具体SLM索引引用的SLM页面;处理包含在所述逻辑块内的多个页面中的每一页面且确定包含在该逻辑块内的所述多个页面中的任何页面是否被所述SLM页面内的映射条目引用;以及响应确定包含在该逻辑块内的所述多个页面中的至少一个页面被所述SLM页面的映射条目引用,将所述至少一个页面写入到一不同的逻辑块;以及清除该逻辑块内的所述多个页面。9.根据权利要求8所述的方法,其进一步包括:当该逻辑块被写入时,记录至少一个与该逻辑块相关联的所述SLM索引记录内的SLM索引,所述至少一个SLM索引引用至少一个引用该逻辑块内的页面的SLM页面。10.根据权利要求8所述的方法,其进一步包括:更新与该逻辑块相关联的所述SLM索引记录。11.根据权利要求10所述的方法,其中更新与该逻辑块相关联的所述SLM索引记录包括:检索与该逻辑块相关联的所述SLM索引...

【专利技术属性】
技术研发人员:许鹏亚历克斯·贾·庆·邓马利昭束南山
申请(专利权)人:LSI公司
类型:发明
国别省市:美国;US

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

1