【技术实现步骤摘要】
背景专利
本专利技术涉及用于存储和访问闪存系统中的数据的系统和方法。专利技术背景也被称为SSD的固态驱动器是利用NAND闪存设备作为存储元件的数据存储设备。一般,它们具有在一端上接受主机命令并在另一端上传递主机命令到NAND闪存的SSD控制器。NAND闪存是当被断电时保留数据的一种类型的非易失性存储设备。SSD控制器通过NAND接口访问NAND闪存设备。NAND闪存设备包括多个闪存块或块,每个块分成多个页面。NAND闪存具有对写操作的根本性限制:闪存页面必须在写可发生之前被擦除,且擦除必须在闪存块粒度中被完成。这个特征产生必要的无用单元收集(GC)——读闪存块,丢弃无效数据(无用单元),通过将有效数据写到另一闪存块来保留它,并擦除第一块以使它为新的即将开始的写做准备的操作。无用单元收集可能消耗很多读/写带宽并引起写放大(WA),这减小NAND闪存寿命。在常规基于NAND的存储器中,数据总是有效的,直到被明确地删除为止。GC必须保留还没有被删除的所有数据。SSD卖方因此必须执行超额供给(OP),其保留总存储容量的一部分用于GC使用。OP可将WA减小到某个水平,但 ...
【技术保护点】
一种方法,包括:由存储器设备控制器对多个存储器块执行多个读操作,所述多个存储器块中的每个块存储一个或多个数据对象,每个读操作引用在所述多个存储器块的一个中的所述数据对象中的一个;由所述存储器设备控制器响应于检测到在所述一个或多个存储器块中的所述一个或多个数据对象的一部分满足无效标准而使所述一个或多个数据对象的所述部分无效;由所述存储器设备控制器为所述多个存储器块中的每个块计算随着所述每个块的所述一个或多个对象被读取的新近性而增加的新近性度量;由所述存储器设备控制器为所述多个存储器块中的每个块计算随着所述每个块的所述一个或多个对象的有效与无效对象之比而增加的有效性度量;由所述 ...
【技术特征摘要】
2015.09.10 US 14/850,4471.一种方法,包括:由存储器设备控制器对多个存储器块执行多个读操作,所述多个存储器块中的每个块存储一个或多个数据对象,每个读操作引用在所述多个存储器块的一个中的所述数据对象中的一个;由所述存储器设备控制器响应于检测到在所述一个或多个存储器块中的所述一个或多个数据对象的一部分满足无效标准而使所述一个或多个数据对象的所述部分无效;由所述存储器设备控制器为所述多个存储器块中的每个块计算随着所述每个块的所述一个或多个对象被读取的新近性而增加的新近性度量;由所述存储器设备控制器为所述多个存储器块中的每个块计算随着所述每个块的所述一个或多个对象的有效与无效对象之比而增加的有效性度量;由所述存储器设备控制器识别来自所述多个存储器块的一个或多个最低度量块,所述一个或多个最低度量块每个具有比所述多个存储器块的未包括在所述最低度量块中的其余部分更低的组合新近性度量和有效性度量;以及在对所述多个存储器块的所述其余部分执行无用单元收集之前由所述存储器设备控制器对所述一个或多个最低度量块执行无用单元收集。2.如权利要求1所述的方法,还包括:由所述存储器设备控制器对所述多个读操作中的每个读操作将条目插在热列表的顶部处,所述条目引用由所述每个读操作引用的所述多个存储器块的所述一个中的所述数据对象中的所述一个;其中为所述多个存储器块中的每个块计算所述新近性度量包括计算所述每个块的所述一个或多个对象的有效且在热列表中的数量与所述每个块的所述一个或多个对象的有效的数量之比。3.如权利要求2所述的方法,其中对所述一个或多个最低度量块执行无用单元收集还包括:针对所述最低度量块中的每个块,使所述每个块的所述一个或多个对象中的不在所述热列表中的任何对象无效。4.如权利要求3所述的方法,其中所述热列表是最近最少使用的(LRU)列表的上半部分。5.如权利要求2所述的方法,还包括:其中计算所述多个存储器块中的每个块的所述有效性度量包括计算所述每个块的所述一个或多个对象的既有效又在热列表中的数量与所述每个块的所述一个或多个对象的有效的数量之比。6.如权利要求5所述的方法,其中识别来自所述多个存储器块的所述一个或多个最低度量块——所述一个或多个最低度量块每个具有比所述多个存储器块的未包括在所述最低度量块中的其余部分更低的组合新近性度量和有效性度量——还包括将所述组合新近性度量和有效性度量计算为所述新近性度量和所述有效性度量的乘积。7.如权利要求6所述的方法,还包括:对于所述多个存储器块中的每个块:由所述存储器设备控制器计算所述每个块的所述组合新近性度量和有效性度量;以及根据所述每个块的所述组合新近性度量和有效性度量将所述每个块分配到多个仓中的仓,所述多个仓中的所述仓具有与其相关的、包括所述每个块的所述组合新近性度量和有效性度量的值范围;其中识别所述最低度量块包括识别与所述多个仓的其它仓比较具有与其相关的最低值范围并具有分配到其的所述多个块中的至少一个块的所述多个仓中的仓。8.如权利要求7所述的方法,其中将所述每个块分配到所述多个仓中的所述仓包括将对所述每个块的引用添加到与所述仓相关的链表。9.如权利要求7所述的方法,还包括响应于所述每个块的所述一个或多个数据对象中的未在所述热列表中的数据对象被读取而计算所述每个块的所述组合新近性度量和有效性度量。10.如权利要求9所述的方法,还包括对于每个读操作:(a)计算响应于插入引用由所述每个读操作引用的所述多个存储器块的所述一个中的所述数据对象中的所述一个的所述条目而从所述热列表移动的所述多个存储器块中的任何块的已更新的组合新近性度量和有效性度量;以及(b)将响应于插入引用由所述每个读操作引用的所述多个存储器块的所述一个中的所述数据对象中的所述一个的所述条目而从所述热列表移动的所述多个存储器块中的任何块分配到相应于所述已更新的组合新近性度量和有效性度量的所述多个仓中的仓。11...
【专利技术属性】
技术研发人员:欧阳湘勇,尹钟万,苏什玛·迪万德拉帕,
申请(专利权)人:蜂巢数据有限公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。