多流日志重播制造技术

技术编号:17211755 阅读:15 留言:0更新日期:2018-02-07 23:00
一种用于闪存存储系统的间接重播的方法,所述方法包括在主机流中,将数据写入闪存存储系统的块集。对主机块集分配从最近关闭的主机块集增加的主序列号。该方法包括将间接日志写入与所分配的主序列号相关联的每个主机块集。该方法包括在垃圾回收(GC)流中,将数据写入闪存存储系统的其他块集。基于最近关闭的主机块集对GC块集分配主序列号,并对GC块集分配从最近关闭的GC块集增加的次序列号。该方法包括将间接日志写入与分配的主序列号和次序列号相关联的每个GC块集。通过重播以主序列号和次序列号为顺序的块集的日志来构造间接表。

Multi stream log replay

A method of indirect replay for a flash memory system. The method is included in a host stream to write the data into a block set of a flash memory storage system. The host block set assigns the main sequence number from the recently closed host block set. The method includes writing an indirect log in each host block that is associated with the assigned main sequence number. This method includes writing data into other blocks of the flash memory storage system in the garbage collection (GC) stream. Based on the recently closed host block set, the main sequence number is assigned to the GC block set, and the GC block set is assigned a secondary sequence number from the recently closed GC block set. This method includes writing an indirect log in each GC block that is associated with the assigned main sequence number and the secondary sequence number. An indirect table is constructed by rebroadcasting the log of the block set in order of the main sequence number and the sequence number.

【技术实现步骤摘要】
多流日志重播
本公开涉及闪存存储设备,并且更具体地,涉及为闪存存储设备恢复间接系统。
技术介绍
用于闪存存储设备的间接系统针对每个主机可访问逻辑块地址(logicalblockaddress,LBA)跟踪闪存存储器设备上的物理位置。在闪存存储设备断电并在电源恢复时再次启动后,间接系统恢复到间接系统在断电之前的状态,被称为间接重播或重播的处理。间接重播通常利用与用户数据一起记录的新的写入或写入增量的日志将间接系统的快照的组合用作一个整体。但是,基于快照的重播可能会提高固件的复杂性,因为必须管理快照和日志记录之间的同步。由于快照所需的资源,运行时性能可能会受到影响。当使用快照来重播时,启动时性能也可能受损。
技术实现思路
本技术避免使用针对重播的快照。从写入增量(deltas)重播整个闪存存储设备。本技术还允许在多流系统中的无快照重播。根据本技术的方面,提供了一种用于重播闪存存储设备的方法。该方法包括在主流中,将数据写入到存储设备的第一多个块集。该方法包括将各个主序列号分配给所述第一多个块集的每个块集,其中所述各个主序列号是从被分配给所述第一多个块集的最近关闭的块集的先前主序列号增加的。该方法还包括将各个间接日志写入到所述第一多个块集的每一个,其中所述各个间接日志对应于被写入(例如,写入增量)到各个块集的数据并且与被分配给所述各个块集的所述各个主序列号相关联。该方法还包括在与所述主流同时操作的次流中,将数据写入到所述存储设备的第二多个块集。该方法包括将各个主-次序列号分配给所述第二多个块集的每个块集,其中所述各个主-次序列号包含被分配给所述第一多个块集的最近关闭的块集的先前主序列号以及从所述第二多个块集中的最近关闭的块集增加的各个次序列号。该方法还包括将各个间接日志写入到所述第二多个块集中的每一个,其中所述各个间接日志对应于被写入到所述各个块集的数据并且与被分配给所述各个块集的所述各个主-次序列号相关联。该方法还包括通过重播来自所述第一多个块集和所述第二多个块集的间接日志来在所述存储设备的存储器中构造间接表,所述第一多个块集和第二多个块集首先根据各个主序列号并且其次根据各个次序列号来排序。根据本技术的方面,提供了闪存存储设备。闪存存储设备包括存储器、多个闪存设备、和控制器。闪存设备每个都含有被分成块的存储器单元,并且通过组合来自每个闪存设备的块将多个闪存设备组织成块集。控制器被配置为在主机流中,将数据写入到所述闪存存储系统的第一多个块集。控制器被配置为将各个主序列号分配给所述第一多个块集的每个块集,其中所述各个主序列号是从被分配给所述第一多个块集的最近关闭的块集的先前主序列号增加的。控制器还被配置为将各个间接日志写入到所述第一多个块集的每一个,其中所述各个间接日志对应于被写入到各个块集的数据并且与被分配给所述各个块集的所述各个主序列号相关联。控制器还被配置为在与所述主机流同时操作的垃圾收集流中,将数据写入到所述闪存存储系统的第二多个块集。控制器被配置为将各个主-次序列号分配给所述第二多个块集的每个块集,其中所述各个主-次序列号包含被分配给所述第一多个块集的最近关闭的块集的先前主序列号以及从所述第二多个块集中的最近关闭的块集增加的各个次序列号。控制器还被配置为将各个间接日志写入到所述第二多个块集中的每一个,其中所述各个间接日志对应于被写入到所述各个块集的数据并且与被分配给所述各个块集的所述各个主-次序列号相关联。控制器还被配置为通过重播来自所述第一多个块集和所述第二多个块集的间接日志来在所述存储器中构造间接表,所述第一多个块集和第二多个块集首先根据各个主序列号并且其次根据各个次序列号来排序。根据本技术的方面,提供了一种用可执行指令编码的机器可读介质。当处理器执行所述指令时,所述指令使处理器进行操作。该操作包括在主流中,将数据写入到存储设备的第一多个块集。该操作包括将各个主序列号分配给所述第一多个块集的每个块集,其中所述各个主序列号是从被分配给所述第一多个块集的最近关闭的块集的先前主序列号增加的。该操作还包括将各个间接日志写入到所述第一多个块集的每一个,其中所述各个间接日志对应于被写入到各个块集的数据并且与被分配给所述各个块集的所述各个主序列号相关联。该操作还包括在与所述主流同时操作的次流中,将数据写入到所述存储设备的第二多个块集。该操作包括将各个主-次序列号分配给所述第二多个块集的每个块集,其中所述各个主-次序列号包含被分配给所述第一多个块集的最近关闭的块集的先前主序列号以及从所述第二多个块集中的最近关闭的块集增加的各个次序列号。该操作还包括将各个间接日志写入到所述第二多个块集中的每一个,其中所述各个间接日志对应于被写入到所述各个块集的数据并且与被分配给所述各个块集的所述各个主-次序列号相关联。该操作包括通过重播来自所述第一多个块集和所述第二多个块集的间接日志来在所述存储设备的存储器中构造间接表,所述第一多个块集和第二多个块集首先根据各个主序列号并且其次根据各个次序列号来排序。应当理解,从下面的详细描述中,本技术的其他配置对本领域技术人员将容易地变得显而易见,其中通过说明的方式示出和描述了本技术的各种配置。如将认识到的,本技术能够具有其他和不同的配置,并且其多个细节能够具有在各种其他方面的修改,而全部不脱离本技术的范围。因此,附图和详细描述在本质上被认为是说明性的而不是限制性的。附图说明图1是示出根据本技术的方面的闪存存储设备的组件的框图。图2A是根据本技术的方面的针对主流和次流的块集标识符(identifier,ID)的图。图2B示出了具有针对图2A的块集的对应的主/次序列号的块集ID。图3是根据本技术的方面的日志的图。图4是说明根据本技术的方面的用于针对闪存存储系统的重播的方法的流程图。具体实施方式以下阐述的详细描述旨在作为本技术的各种配置的描述,并不旨在表示可以实践本技术的唯一配置。附图并入本文,并构成详细描述的一部分。详细描述包括用于提供对本技术的全面了解的目的的具体细节。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实践本技术。在某些情况下,以框图的形式示出众所周知的结构和组件,为了避免模糊本技术的概念。图1是说明根据本技术的方面的闪存存储系统110的组件的框图。如图1所描述的,闪存存储系统110包括接口115、控制器120、存储器125和闪存设备130A-130N。接口115促进闪存存储系统110和主机150之间的数据、命令和/或控制信号的通信。控制器120控制闪存存储系统110的操作以根据从主机150接收的命令在闪存设备130中的一个中存储和检索数据。可以是随机存取存储器(randomaccessmemory,RAM)的存储器125为控制器120提供临时存储空间以处理命令并在主机150与闪存设备130A-130N之间传送数据。下面更详细地描述这些部件的每一个的操作。接口115提供主机150和闪存存储系统110之间的物理和电连接。接口115被配置为经由物理和电连接促进主机150和闪存存储系统110之间的数据、命令和/或控制信号的通信。与接口115的连接和通信可以基于诸如通用串行总线(UniversalSerialBus,USB)、小型计算机系统接口(SmallCo本文档来自技高网...
多流日志重播

【技术保护点】
一种方法,包含:在主流中,将数据写入到存储设备的第一多个块集;将各个主序列号分配给所述第一多个块集的每个块集,其中所述各个主序列号是从被分配给所述第一多个块集的最近关闭的块集的先前主序列号增加的;将各个间接日志写入到所述第一多个块集的每一个,其中所述各个间接日志对应于被写入到各个块集的数据并且与被分配给所述各个块集的所述各个主序列号相关联;在与所述主流同时操作的次流中,将数据写入到所述存储设备的第二多个块集;将各个主‑次序列号分配给所述第二多个块集的每个块集,其中所述各个主‑次序列号包含被分配给所述第一多个块集的最近关闭的块集的先前主序列号以及从所述第二多个块集中的最近关闭的块集增加的各个次序列号;将各个间接日志写入到所述第二多个块集中的每一个,其中所述各个间接日志对应于被写入到所述各个块集的数据并且与被分配给所述各个块集的所述各个主‑次序列号相关联;以及通过重播来自所述第一多个块集和所述第二多个块集的间接日志来在所述存储设备的存储器中构造间接表,所述第一多个块集和第二多个块集首先根据各个主序列号并且其次根据各个次序列号来排序。

【技术特征摘要】
2016.07.27 US 15/221,5471.一种方法,包含:在主流中,将数据写入到存储设备的第一多个块集;将各个主序列号分配给所述第一多个块集的每个块集,其中所述各个主序列号是从被分配给所述第一多个块集的最近关闭的块集的先前主序列号增加的;将各个间接日志写入到所述第一多个块集的每一个,其中所述各个间接日志对应于被写入到各个块集的数据并且与被分配给所述各个块集的所述各个主序列号相关联;在与所述主流同时操作的次流中,将数据写入到所述存储设备的第二多个块集;将各个主-次序列号分配给所述第二多个块集的每个块集,其中所述各个主-次序列号包含被分配给所述第一多个块集的最近关闭的块集的先前主序列号以及从所述第二多个块集中的最近关闭的块集增加的各个次序列号;将各个间接日志写入到所述第二多个块集中的每一个,其中所述各个间接日志对应于被写入到所述各个块集的数据并且与被分配给所述各个块集的所述各个主-次序列号相关联;以及通过重播来自所述第一多个块集和所述第二多个块集的间接日志来在所述存储设备的存储器中构造间接表,所述第一多个块集和第二多个块集首先根据各个主序列号并且其次根据各个次序列号来排序。2.根据权利要求1所述的方法,其中,构造所述间接表还包含:根据各个主序列号来对所述第一多个块集排序;根据各个主序列号来对所述第二多个块集排序;以及根据各个次序列号来对所述第二多个块集中具有相同主序列号的块集排序。3.根据权利要求2所述的方法,其中,构造所述间接表还包含:重播来自所排序的第一多个块集的每个块集的间接日志,直到所重播的块集的主序列号与所排序的第二多个块集中的最旧的主序列号匹配;以及重播来自所排序的第二多个块集的每个块集的间接日志,直到具有与最旧的主序列号匹配的主序列号的所有块集已经被重播。4.根据权利要求1所述的方法,其中,构造所述间接表还包含:将所述第一多个块集和所述第二多个块集组合成第三多个块集;根据各个主序列号来对所述第三多个块集排序;根据各个次序列号来对所述第二多个块集中具有相同主序列号的块集排序;以及重播来自所排序的第三多个块集的每个块集的间接日志。5.根据权利要求1所述的方法,还包含:在与所述主流同时操作的第二主流中,将数据写入到所述存储设备的第三多个块集;将各个主序列号分配给所述第三多个块集的每个块集,其中所述各个主序列号是从被分配给所述第一多个块集或所述第三多个块集的最近关闭的块集的先前主序列号增加的;以及将各个间接日志写入到所述第三多个块集中的每一个。6.根据权利要求5所述的方法,其中所述主-次序列号包含被分配给所述第一多个块集或第三多个块集的最近关闭的块集的先前主序列号。7.根据权利要求5所述的方法,其中所述主-次序列号包含被分配给所述第一多个块集的最近关闭的块集与所述第三多个块集的最近关闭的块集之间的较旧的块集的先前主序列号。8.根据权利要求5所述的方法,其中所述主流对应于主机流,所述第二主流对应于第二主机流,并且所述次流对应于垃圾收集流。9.根据权利要求1所述的方法,其中所述主流对应于主机流,并且所述次流对应于垃圾收集流。10.根据权利要求9所述的方法,其中所述垃圾收集流为所述第二多个块集选择具有比所分配的主-次序列号的主序列号小的各个主序列号的块集。11.根据权利要求1所述的方法,其中响应于启动所述存储设备,构造所述间接表。12.一种闪存存储系统,包含:存储器;多个闪存设备;以及控制器,所述控制器被配置为:在主机流中,将数据写入到所述闪存存储系统的第一多个块集;将各个主序列号分配给所述第一多个块集的每个块集,其中所述各个主序列号是从被分配给所述第一多个块集的最近关闭的块集的先前主序列号增加的;将各个间接日志写入到所述第一多个块集的每一个,其中所述各个间接日志对应于被写入到各个块集的数据并且与被分配给所述各个块集的所述各个主序列号相关联;在与所述主机流同时操作的垃圾收集流中,将数据写入到所述闪存存储系统的第二多个块集;将各个主-次序列号分...

【专利技术属性】
技术研发人员:DG德雷尔CC麦坎布里奇P彼得森S苏巴拉奥
申请(专利权)人:西部数据技术公司
类型:发明
国别省市:美国,US

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

1