Ssd技术协助的存储系统快照的制作方法

文档序号:6595685阅读:229来源:国知局
专利名称:Ssd技术协助的存储系统快照的制作方法
SSD技术协助的存储系统快照相关申请的交叉引用无
背景技术
1.发明领域本发明通常涉及基于固态存储器的闪存技术。2.相关技术说明RAID (独立冗余磁盘阵列)是用来提高性能并提供容错的存储系统。RAID是两个或多个硬盘和包括该RAID功能的专用磁盘控制器的集合。RAID通过磁盘条带化来改善性能,其横越多个驱动器插入字节或字节组,因而同时读写超过一个磁盘(如,RAID 0)。通过镜像或奇偶校验实现容错。镜像是对在两个驱动器上的数据100%的复制(如,RAID 1)。RAID存储系统的卷是虚拟磁盘驱动器。该卷表现为附属于RAID存储系统的计算机系统的磁盘驱动器。RAID系统中的卷可分布在数个物理硬盘中,可完全被包含作为单个物理驱动器的一部分,或可被映射在该RAID系统中其它虚拟驱动器范围内。外壳是容纳一个或多个物理磁盘驱动器的物理结构壳体。该外壳可同样包括RAID控制器或可包括存储器连接硬件以能使附属的计算机和RAID控制器来与容纳在该外壳中的物理硬盘通信。逻辑单元(LU)是SCSI术语,用于在SCSI外围设备内的可寻址实体。在通过该SCSI协议可外部寻址的RAID存储系统内的卷,通常被寻址作为逻辑单元并分配了逻辑单元号(LUN)指定器。RAID系统内的卷因此有时被称为LUNs。存储区域网(SAN)通常将多个服务器连接到多个存储装置和存储系统。在一些 SAN中,存储装置自己能够将数据复制到其它存储装置用来备份而没有任何计算机处理花费。SAN网络允许数据在计算机和存储系统之间以高外围通道速度传送。主机适配器,也称为“控制器”或“主机总线适配器”,是将一个或多个外部单元连接到计算机的装置。主机适配器同样能够将该计算机连接到SAN。其通常是插入总线的扩展卡。SCSI、SAS、光纤通道,iSCSI和无限带宽是将它们的控制器称为主机适配器的外部接口的示例。主机可以是计算机,该计算机运行应用程序并访问附属于该计算机或通过SAN 附属的存储系统和装置。闪存(NAND和NOR两种类型)是非易失性存储器。闪存的一个限制在于尽管可对其以随机访问方式每次一字节或字(NOR)或每次一页(NAND)读出或编程,其必须每次擦除一“块”。闪存(特别是NOR闪存)给予了随机访问读和编程操作,但不能给予任意随机访问的重写或擦除操作。另一个限制在于闪存具有有限数量的擦写周期。大多商业上可获得的闪存产品,特别是NOR类型,肯定承受大约100,000次写擦周期。NAND闪存出现两种类型单层单元(SLC)和多层单元(MLC)。SLC NAND闪存每层存储了一比特,而MLC NAND闪存能够每层存储超过一比特。SLC NAND闪存具有等同于NOR闪存的写寿命,100, 000次写擦周期,而MLC闪存写寿命是10,000次写擦周期或更少。NAND闪存比NOR省钱,擦写上NAND 快于NOR。
NAND闪存页是存储器的最小单元,存储器可被写或读,通常大小为2048字节。该闪存的最小可擦除单元为块。典型的块包括64页或128K字节。NAND闪存架构由东芝 (Toshiba)于1989年引入。这些存储器的访问非常类似于块装置,如硬盘或存储卡。每一个块由多个页构成。该页通常为512或2,048或4,096字节大小。与每一个页相关的为较少字节(通常为12-16字节),其应用作误差检测和纠错校验和的存储。典型的块大小包括32个512字节的页,每一个用于16kiB大小的块;64个2,048字节的页,每一个用于 128kiB大小的块;64个4,096字节的页,每一个用于25^dB大小的块;1 个4,096字节的页,每一个用于5UkiB大小的块。当以页为基础执行读和编程时,只能以块为基础执行擦除。固态磁盘或装置(SSD)是使用固态技术用来将其信息存储并提供经过存储接口访问该已存储信息的装置。SSD快于使用旋转盘的硬盘驱动器,因为不存在机械延迟,在没有读/写头移动以及没有旋转盘等待时,当处于传统驱动器中时。SSD比硬盘更凸凹不平。 SSD可使用非易失性存储器;或SSD可使用易失性DRAM或SRAM存储器,其在电源故障时由磁盘驱动器或UPS系统进行备份,所有这些是该SSD系统的一部分。传统存储系统能够执行在存储系统和子系统中数据的时间点(point-in-time) 拷贝,被称为时间拷贝或快照。该快照的一个目的是允许备份操作运行,当该应用程序继续使用该数据的当前拷贝时。该快照的另一个用处是允许在该数据的拷贝上进行数据挖掘而没有影响该激活数据集正进行的使用。进行快照的技术是“写时拷贝”和“写时重定向”,这里进一步进行解释。基于闪存的SSD将数据放在它们的内部物理装置上,根据为如性能和耗损均衡的参数优化数据放置的算法。这些SSD保留了映射或查找表,该表将数据地址在它们的逻辑驱动器或单元和该SSD内的物理装置之间进行相关和转换。类似于RAID系统,SSD保留了映射或查找表,该表将数据地址在它们的逻辑驱动器或单元和该SSD内的物理装置之间进行相关和转换。在SSD中,在非易失性存储器中的数据被分段成页,通常为128K的数据块, 其中存在多个数据段,每一个保持了大约2K数据。在数据(如,数据段)、页和闪存块(非易失性存储器的区域,X,Y,Z等)之间的对应关系被保留在一个或多个映射表中,其可由硬件使用以查找该数据的正确地址。但是,在与本发明比较时,这些映射表仅仅指向该数据的当前拷贝,其不用来创建快照。现有技术中所缺少的是一种为固态装置(SSD)实施时间拷贝或快照的改进系统的方法和设备,如本发明中所述。

发明内容
相应地,本发明的一个方面是一种用于固态装置(SSD)的改进时间拷贝或快照的方法和设备。本发明的一个方面是提供使用SSD最佳能力的时间拷贝或快照。本发明的另一个方面是将更新机制结合在存储系统中发现的具有快照特征的基于闪存的固态存储器中。本发明的又一个方面是公开该非易失性存储器与查找表一起使用,用来得到实施时间点拷贝或快照的改进方法。
本发明的进一步的方面是使用基于闪存的SSD在写时重定向时展现的功能并将该功能扩展以包括附加使用合适的查找表,做出该SSD驱动器的较早状态的时间点快照的能力。本发明的再一个方面是公开在一个或多个SSD上存储数据的存储系统,其能够使用基于SSD的快照机制实施并使用系统等级数据快照,在被存储在一个或多个SSD上的数据集上。该系统等级数据快照可能是本领域所公知的整体上与存储系统相关的任意数据。上述所有优点的总和,与此处所述发明所公开和原有的众多其它优点一起,创建了与现有技术比较的改进。从与附图一起考虑时的下列具体说明的思考中,本发明的上述和许多其它特征和附属优点将变得清楚。


参考附图将对本发明的优选实施方案进行具体描述。此处公开的是实现本发明的最佳当前已知模式的具体描述。本说明书并没有以限制意义被使用,而是仅仅用作描述本发明一般原理的目的。该具体描述的分段标题和整体组织仅为方便目的而不是要限制本发明。图1示出诸如本发明的闪存装置内部的两个闪存块在数据被写入之前示意图。图2是如本发明中所发现的闪存地址转换的查找表。图3示出诸如本发明的闪存装置内部的两个闪存块在新数据被写入时示意图。图4示出诸如本发明的闪存装置内部的两个闪存块在写操作完成后示意图。图5是本发明所述的如本发明中所发现的闪存地址转换的查找表在写操作后的查找表。图6a和6b示出为写之前的当前值和时间点拷贝在本发明中的闪存地址转换的两个查找表的使用。图7是本发明的顶层流程图。图8是本发明进行快照的更具体的流程图。本领域技术人员应当理解,使用本发明的教导,在附图中所示的变化的实施方案没有背离此处本发明的精神。在这些图中,在不同图内具有相同编号的参考标记的元件指示了先前定义的等同元件的出现。
具体实施例方式本发明优选为运行在专用集成电路或ASIC中的固件。本发明可位于固件、软件、 硬件或其中任意组合中;在控制器芯片、ASIC或母板卡中,以及优选地位于SSD自身中;在包括具有SSD的本发明的任意情况的任意SSD系统中,无论该系统是否封装为一个单元或数个单元。本发明所提供的功能将更可能是硬件和软件的组合。硬件和软件的类型将取决于该实施方式。通过实例而不限制的方式,使用固件、磁盘控制器芯片、ASIC和卡的逻辑单元实施方式是可能的,当是内建于具有软件驱动和主机总线适配器的Linux系统中逻辑单元时。另外,可使用任意软件工具用来编写和编译本发明,可以任意计算机语言来对其编写,如C,包括面向对象语言如C++。进一步地,可由通用计算机系统来替换该固件,如具有主和辅助存储器储存的计算机。通常,基于用来构建并实施本发明软件的语言,该软件可以具有任意数量的类、功能、子程序、对象、变量、模板、模块、代码行、代码部分和结构(共同地和一般地,由此处的流程图所示出,“处理步骤”,“步骤”,“指令”,“过程”,“块”,“块步骤”,“应用软件”,“模块”或“软件模块”)用来以此处所述和所教的连续过程实现本发明,以及可能是独立的软件应用程序或在另一软件应用程序内所使用或由另一软件应用程序所调用。可构建该软件过程或软件模块使得在该应用程序中代码的一部分实施了多个功能, 当例如在面向对象编程时(如,重载允许过程)。该转换同样实现为多个软件模块或处理步骤可被构建以实施此处所述单个处理步骤的功能,而不失去本发明的普遍性。在本发明的处理步骤的任意阶段,中间值、变量和数据可被存入为以后由该程序使用。通常,本发明的方法和设备可使用任意类型的硬件以运行实现本发明的软件,不仅是在集成电路芯片中的固件,也包括但不限于个人计算机、ARM处理器、XScale处理器、DSP、ASIC或可编程平台 ASIC、FPGA、GPP、微处理器、大型机、具有存储器的专业电路,或任意其它硬件的兼容件或虚拟机。回来注意图1,该图示出诸如本发明的闪存装置内部的两个闪存块在数据被写入之前示意图。使用NAND技术的固态驱动器通常不将最新写入的数据置于该数据的先前拷贝上。使用当前技术,可被擦除的数据最少数量是128K的用户数据。该128K的块被分段成观页,其是操作中可写入的用户数据的最少数量。SSD通常将最新写入的数据置于不同于该相同数据的先前写入拷贝的位置。图1示出了简化的示例。已将多个数据段写入了闪存块X。闪存块Y被擦除并准备被写入。这些在图1中示出,在数据被写入之前。图2是如本发明中所发现的闪存地址转换的映射或查找表。为了 SSD内部的SSD 控制器的便利,该表将与图2的行头内发现的数个片段信息相关,包括在什么闪存块(如, 闪存块X或Y)中发现了哪一个特定数据(如,数据段),以及在该闪存块(对应于该SSD中的逻辑块)内发现的数据在什么页。其它类型信息,如,版本号,也可被展现,当该示意图是简化示例时。表可包括指针。从软件的角度来看,“地址”可以是“指针”。因此地址表是指针表。等同表将是任意实施相同功能的类似结构;和/或任意包括保持另一变量地址的变量的等同数据构成。进一步地,可能有在同时保持多个快照的若干对表。回来注意图3,示出了在新数据被写入时诸如本发明的SSD的闪存装置内部的两个闪存块X,Y的示意图。该闪存装置接收了来自程序的写命令,该程序由外部硬件为数据段210和211所驱动,如由箭头301,302指示的标记为“新数据段210”和“新数据段211”。 该闪存装置接收了该段210和211的新数据并将它们写入如图3所示的闪存块Y的预先擦除区域,如在所示的页1和页2的区域。闪存块X未改变。在写入闪存块Y后,修改图3中闪存块X的页以显示在闪存块X中的块210和211的数据现在是旧数据。其通过标志“旧数据”在图3中指出,当在图3的闪存块X中的“旧数据段210”和“旧数据段211”中,在页 1和页6处时。图4示出了诸如本发明的闪存装置的内部两个闪存块在先前所述的写操作完成后的示意图。在此点闪存装置将把其数据映射表更新为指向闪存块Y,作为数据段210和 211的位置。该数据段的旧拷贝将保留在闪存块X中直到整个闪存块X被重新请求并擦除以准备再次使用。在该闪存装置中的地址转换表随后被更新为数据段210和211的新地址, 如图5中所示。如本身所公知的一样,磁盘阵列子系统支持称为时间点拷贝或快照的特征。为了完成数据快照,该阵列将使用“写时拷贝(copy on write) ”或“写时重定向(redirect on write) ”快照机制以将该用户数据的最初和最新写入备份都预留。两种方法都使用指针指向与该闪存装置地址转换表类似的数据。典型的快照方法将未变数据的普通拷贝保留在其最初位置用于该存储卷和其快照二者。该存储系统将把旧数据拷贝到新位置当接收到写操作时(写时拷贝方法)或该存储系统将把该新数据写入该新位置(写时重定向方法)。在二种情况中,该存储系统管理该数据集使得对于该存储系统的用户,显现出存在该卷的时间点拷贝,与该卷的最新版本一起。在存储系统等级实施快照的当前方法具有的一个问题是对性能的较大负面影响。 例如,当使用写时拷贝方法时,对于从主机接收到的每一写命令,存储系统必须从最初位置读出旧的数据,将该旧数据拷贝到该快照位置,并随后将新数据写入最初位置。在该点处的写时重定向快照的情况中,当终止快照时,必须将该快照位置上的新数据拷贝回最初位置中。在本发明中,由于SSD固有地留下了用户数据的先前拷贝,可根据该发明的教导来使用它以将当前数据和快照数据都存储,至少不损失实施该快照的性能。当根据本发明的教导来修改时,SSD实质上为每一个接收到的写命令执行写时重定向。通过增加附加的地址转换表,其中该表能指向具有多个映射表的闪存装置中的数据的先前版本,闪存装置能提供到在该装置所存储的数据的多个时间点拷贝的访问。因此,对于本发明,参照这些图,闪存装置接收命令以存储早于写操作210和211 的时间点拷贝的数据。闪存装置保留图2的查找表所示的地址查找表的拷贝,当该指针指向时间点拷贝的地址时。在更新卷时,保留了该数据的当前值(SSD的当前状态,包括响应写命令将数据写在SSD上的结果),如图5的闪存地址转换表所示。修改SSD以包括两个查找表闪存装置保留二个表的备份,只要其具有该快照的空间,以及该快照不通过一些其它动作来结束。其在图6的两个表中示出,其显示了用于本发明中闪存地址转换的两个查找表的使用,用于当前值和用于时间点拷贝(SSD的较早状态的快照),在写之前。图6(a)示出了在该写操作后的该地址转换表,相似于先前所述的图5,而6 (b)示出了早于该写动作的该地址转换表,该快照或时间点拷贝,相似于先前所述的图2。图7本发明的方法的高层流程图。该发明可实施该方法通过控制SSD的硬件,软件和/或固件的任意组合,并根据此处概述的步骤和指令来动作。在步骤700处,标记为“开始”,本发明的程序启动。流程进行到标记为“接收命令”的块702,其中闪存装置接收到命令,如写命令、快照命令或其它类型的命令,并触发电路或指令运行,和/或存储结果,或一般地设置标志或设置数据标记。该命令可以是写命令、或其可以是快照命令以将时间点拷贝(快照)的数据存入存储装置。如果接收到这样的快照命令,则设置标志、数据或其它数据标记以指示将要进行快照;这些被设置的数据可包括提供给硬件的信号或指令以触发快照事件。快照不像写命令那样频繁;通常在存储系统中,在任意某一时刻单个快照或少数快照可以是激活的。流程进行到标记为“写命令? ”的菱形步骤704。在SSD接收命令后,如在决定菱形步骤704中所示,如果该命令不是写命令,则该程序的流程进行到沿着“否”分支到达标记为“处理其它命令”的步骤块706,或者,如果该命令是写命令,则沿着“是”分支到达标记为“在进行快照? ”的块708。在决定菱形708,标记为“在进行快照? ”,可启动快照,如接续的图8所进一步描述的一样。如果未进行快照,S卩,尚未接收到任何快照命令,流程继续沿着该“否”分支到达标记为“处理写命令”的步骤块710,其中处理任意普通写命令(缺少快照),以及随后流程继续到标记为“更新当前视图数据指针”的步骤块712,其中更新了该SSD当前值的数据指针, 如本领域本身所公知的一样。但是,如果在进行快照,流程继续沿着该“是”分支进行到标记为“预留当前数据和指针”的步骤块714,其中闪存装置保留该闪存中地址的查找表的拷贝,沿着图2或图6(b) 的路线,使用该指针指向该时间点(快照)的地址。随后处理该写命令,如标记为“处理写命令”的步骤块716中所示,以及流程进行到标记为“更新当前视图和快照拷贝表”的步骤块718,其中存储器中的卷被更新以反映该当前值(在写之后),沿着图5或图6 (a)的路线。 使用本发明,由于SSD操作的固有方式,按照该SSD所做的写命令进行快照,如果参照性能方面的任意更多昂贵开销,其没有那么多。通过使用两个表,可能使用该SSD装置的固有能力来为每一个接收到的写命令实现写时重定向,以及,用来将该写时重定向定向到以构建快照,无论何时需要时,以仅仅使用两个表的开销,如图6(a)和(b)中所示并来自此处的教导。因此当更新该两个表时,以及接收到该快照并将流程控制返回到正常情况,到该开始处,步骤块700。此时回来注意图8,其中示出了根据本发明进行快照的方法的更具体但仍高层的流程图。在启动快照过程之前,SSD保留指向如图2所示数据的当前指针的一个表。该方法开始于标记为“开始”的步骤800并进行到标记为“接收命令”的步骤块802,其中检查快照命令,以及,如果已经收到了这样的命令,流程进行到标记为“启动快照命令”的步骤块804, 其中本发明的系统从设置标记(如,标识或指令)以指示是否将进行快照的合适装置处检查已接收到了快照命令。如果将进行快照,流程随后沿着“是”分支进行到标记为“建立快照指针表。设置快照进度标识”的步骤块806,其中在图7中概述了这些步骤,实施块714, 716和718,其能够包括建立第二个表(图6(b))作为该当前值表(如图6(a))的补充。该第二个表(图6b)将保留指向在处理该快照命令时刻的数据的视图的指针。另外,该SSD 控制器将不会重新使用在该快照表中记录的页。如果未启动任意快照命令,流程进行到步骤决定菱形808,标记为“终止快照命令? ”,其中可接收命令用来处理另一个命令,如跟随该“否”分支到的标记为“处理其它命令”的步骤块810,或,如果已经进行了先前的快照但其期望终止或擦除它,则流程沿着该 “是”分支进行到标记为“丢弃快照指针表。清除快照进度标识”的步骤块812,其中通过丢弃与该快照相关的任意表能够终止快照,如丢弃快照指针的表,以及清除任意快照在进行中或将进行快照的进度标识、数据或标记。丢弃图6(b)中的表,以及不在图6(a)中的图 6(b)中的旧数据,如在闪存块X中的块210和211的旧拷贝,准许被丢弃在擦除闪存块X用来重新使用时。这样的步骤被认作终止该快照命令。在图8中所示的所有路径中,流程能够随后返回到该开始处,块800。
关于本发明的访问,为获得采用此处所述方式的两个表,可通过多种装置来提高访问。例如,该闪存装置能够通过其装置端口上的SSD中第二逻辑单元或通过SSD上附加端口访问时间点拷贝。在另一实施方案中,SSD能够经过唯一命令集来提供访问。可使用当主机提供特定命令时将触发快照的软件或固件来提供RAID系统或主机适配器。本发明的又一个方面是在存储系统中利用本发明将数据存储在一个或多个SSD 上,以使用本发明的基于SSD的快照机制来实施和使用存储在一个或多个SSD上的数据集上的系统等级数据快照。该系统等级数据快照可能是整体上与存储系统相关的任意数据, 如本领域本身公知的一样。尽管已根据上述优选实施方案来描述了本发明,上述优选实施方案的众多修改和 /或补充从此处的教导处对于一个本领域技术人员来说将是显而易见的。例如,当清楚地提及SSDs时,任意与SSD相同方式运行的存储装置能够用来替换以取代SSD。进一步地, 普通技术人员能够进行对写时拷贝的存储介质的适合修改,如果该装置按此处每一个教导来运行。使用此处教导的普通技术人员甚至能够修改常用旋转盘的硬盘驱动器(HDD),其使用写时拷贝以实施类似于本发明的功能;这将比使用几何运算的常用HDD需要更多的工作,不是用表替换数据,而是一个能够将映射表容量置于它们中,与此处教导一起来创建本发明的实施方案。既然这样,该HDD控制器将功能上等同于SSD控制器,以及因此能够被称作如为权利要求的目的,具有的不同是,其运行在替换固态存储器的旋转磁盘上。期望的是将本发明的范围扩展到所有这样的修改和/或补充,以及本发明的范围为以下所述的权利要求独自进行限定。
权利要求
1.一种用于存储装置的快照的系统,包括一存储装置,其包括用于地址转换的一第一映射表,在一写动作之前由该存储装置保留数据,和用于地址转换的一第二映射表,在一写动作之后由该存储装置保留数据;其中该存储装置能够通过该第一和第二映射表保留的所述数据进行该存储装置的时间点拷贝。
2.如权利要求1所述的本发明,其中 该存储装置是一固态磁盘(SSD);该第一映射表保留与该SSD的一快照相关的数据,以及该第二映射表保留与该SSD当前值相关的数据,其中该SSD使用该第一和第二映射表以构建该SSD的一快照。
3.如权利要求2所述的本发明,其中该SSD响应接收的一写命令执行一写入并响应执行写命令使用数据更新该第一和第二映射表。
4.如权利要求3所述的本发明,其中该SSD为接收到的该写命令执行一写时重定向,并使用指示该SSD当前值的数据更新该第二映射表。
5.如权利要求4所述的本发明,其中该SSD使用指示该写命令之前的该SSD的时间点拷贝的数据更新该第一映射表,和提供多个第一和第二映射表用以创建多个快照。
6.如权利要求3所述的本发明,其中该SSD设置数据以指示将要创建的快照;和该SSD为接收到的该写命令执行一写时重定向。
7.如权利要求6所述的本发明,其中该SSD响应该SSD设置的指示将要创建的快照的数据更新该第一和第二映射表。
8.如权利要求7所述的本发明,其中驻留在该SSD中的固件,该固件用于更新该第一和第二映射表;和多个SSD,其用于在存储系统上将数据存储在至少一个该SSD上,以使能够在该SSD中存储的数据集上实现系统等级数据快照的创建。
9.如权利要求4所述的本发明,其中用于设置数据标记的装置被展现以触发快照;该SSD使用指示该写时重定向之前的该SSD的时间点拷贝的数据更新该第一映射表;和,该SSD使用指示该SSD的该当前值的数据更新该第二映射表。
10.如权利要求9所述的本发明,进一步包括能够实现多个快照的创建的多个第一和第二映射表; 用于建立具有指向数据的指针的该第一和第二映射表的装置,和用于终止一快照的装置,包括用于丢弃一快照表的装置;和多个SSD,其用于在存储系统上将数据存储在至少一个该SSD上,以使能够在该SSD中存储的数据集上实现系统等级数据快照的创建。
11.如权利要求3所述的本发明,进一步包括多个SSD,其用于在存储系统上将数据存储在至少一个该SSD上,以使能够在该SSD中存储的数据集上实现系统等级数据快照的创建。
12.一种用于固态磁盘快照的方法,包括步骤 将数据存储在一固态磁盘(SSD)上;为该SSD的地址转换提供一第一映射表;和, 为该SSD的地址转换提供一第二映射表;其中所述SSD能够通过保留在该第一和第二映射表中的数据进行该SSD的时间点拷贝。
13.如权利要求12所述的方法,包括步骤 将与该SSD的快照相关的数据存入该第一映射表; 将与该SSD当前值相关的数据存入该第二映射表;使用该第一和第二映射表中的所述数据创建该SSD的快照。
14.如权利要求13所述的方法,包括步骤 执行一写命令;检查一快照命令,并在接收到一快照命令后实施该快照的构建。
15.如权利要求14所述的方法,包括步骤 为该写命令执行一写时重定向;使用指示该写时重定向之前该SSD的一时间点拷贝的数据更新该第一映射表; 提供多个快照的创建,用于将数据存储在至少一个该SSD上的存储系统上;和, 能够在至少一个该多个SSD上在存储在该SSD中的数据集上实现系统等级数据快照的创建。
16.如权利要求15所述的方法,包括步骤 检查该写命令之前的快照命令;终止该快照命令;和,提供多个第一和第二映射表以能够实现同时多个快照的创建。
17.如权利要求13所述的方法,包括步骤 检查一快照命令;检查一写命令,并为该写命令执行一写时重定向;检查是否响应该快照命令启动一时间点拷贝,以及如果接收到该快照命令,则实施该启动时间点拷贝,而如果未接收到该快照命令,则终止该快照命令。
18.如权利要求17所述的方法,包括步骤如果该快照命令被终止,则清除来自该第一映射表的数据; 提供多个第一和第二映射表以能够实现同时多个快照的创建;和, 使用与当前值相关的数据更新该第二映射表。
19.如权利要求13所述的方法,包括步骤 检查一快照命令;检查一写命令,并为该写命令执行一写时重定向;检查是否响应该快照命令启动一时间点拷贝,如果接收到该快照命令,则实施该启动时间点拷贝;使用指示早于该写时重定向的SSD时间点拷贝的数据更新该第一映射表; 如果接收到一快照备份,则使用与该当前值相关的数据更新该第二映射表;和, 提供多个第一和第二映射表以能够实现同时多个快照的创建。
20. 一种用于创建SSD存储系统的时间点拷贝的系统,包括 包括一 SSD的装置,其用于存储数据;所述SSD存储装置具有包括一第一查找表的地址转换装置,所述第一查找表保留与该 SSD的时间点拷贝相关的数据;所述SSD存储装置具有包括一第二查找表的地址转换装置,所述第二查找表保留与该 SSD当前值相关的数据;数据写入装置,所述数据写入装置包括执行一写时重定向的装置; 其中,所述SSD使用该第一和第二查找表以构建该SSD的一快照; 设置数据标记以指示是否创建快照的装置;响应指示创建快照的所述设置数据标记装置,使用数据指针更新所述第一和第二查找表的装置;在多个SSD上提供多个第一和第二查找表,以能够实现多个快照的创建; 能够在至少一个该多个SSD上在存储在该SSD中的数据集上创建系统等级数据快照的装置;和,响应终止快照的命令终止快照数据的装置。
全文摘要
一种用于创建使用固态磁盘(SSD)的存储系统的快照的方法和设备。SSD中的多个映射表存储需要创建SSD的一个或多个时间点快照和当前值的数据。响应写命令,SSD执行其正常写处理并将其映射表更新以指示该SSD当前值,以及附加地将最初数据保留在指向该最初数据的指针表中,作为该SSD的较早状态的快照。在优选实施方案中,使用将数据写入新位置的SSD固有能力来实施时间点拷贝,在实施快照中带来没有或很少的性能损耗。
文档编号G06F13/00GK102239480SQ200980148791
公开日2011年11月9日 申请日期2009年3月30日 优先权日2008年12月17日
发明者布莱恩·马卡基, 布雷特·S·韦伯, 杰夫·韦林, 约翰·迪特里奇, 蒂莫西·E·霍格伦德, 默罕默德·厄尔-巴塔尔 申请人:Lsi公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1