用于跨存储设备写入数据的方法和系统的制作方法_3

文档序号:8269678阅读:来源:国知局
,其例示了更新请求;将被存储的第二数据是已经存储的第一数据(例如参考图1在纠删码系统中写入的、或者参考图2在纠删码系统中更新的数据)的更新。
[0059]在步骤S170处,检测一个或多个存储设备的故障,也就是说,存储在(一个或多个)存储设备上的数据和奇偶校验块不能再被访问。这些块因此被认为已丢失。
[0060]启动在出故障的一个或多个存储设备上存储的数据和奇偶校验块的重建。可以根据用户动作或者由系统触发重建丢失块的决定。
[0061]重建被执行如下。在步骤S180处,识别幸存的数据和奇偶校验块的位置。这由一个或多个布置节点执行。例如,一个布置节点可以在布置元数据中识别一个或多个发生故障的存储设备的逻辑地址空间,并因此识别存储在不受此故障影响的逻辑地址空间上的所有幸存块。
[0062]一旦识别出幸存块,则(一个或多个)布置节点从识别出的位置取回(步骤S190)幸存数据和奇偶校验块,并将这些取回的块发送(步骤S200)到负责重建丢失数据的一个或多个RAID控制器,如本领域已知的那样。应理解的是,布置节点仅向RAID控制器发送利用其实现的纠删码编码的幸存块。
[0063]然后,在步骤S210处,从取回的幸存数据和奇偶校验块一块接一块地重建丢失数据和奇偶校验块。
[0064]之后将计算出的块存储在替代发生故障的(一个或多个)存储设备的一个或多个存储设备上。这可以如参考步骤S70和S80所讨论的那样来执行。
[0065]图6是根据本发明的实施例的适合于实现布置节点、和/或例如在将布置元数据存储在计算机上运行的数据库上的情况下存储并管理布置元数据的计算机系统的框图。根据本发明的实施例的计算机系统(901)包括被连接到总线(900)的CPU(904)和主存储器(902)。可以将总线(900)连接到显示控制器(912),显示控制器(912)被连接到诸如IXD监视器的显示器(914)。显示器(914)可以被用来显示关于计算机系统的信息。总线(900)也通过诸如IDE、SATA等控制器的设备控制器(906)连接到诸如硬盘(908)或DVD(910)的存储设备。计算机系统还可以适合于托管用于执行根据本发明的方法的几个RAID控制器(906) ;RAID控制器通常连接到总线(900)。总线(900)还可以通过键盘/鼠标控制器(910)或USB控制器(未示出)连接到键盘(922)和鼠标(924)。总线还可以连接到例如符合以太网(注册商标)协议的通信控制器(918)。通信控制器(918)可以被用来将计算机系统(901)与网络(916)物理地连接。
[0066]附图中的流程图和框图示出根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意的是,在有些替代性实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
【主权项】
1.一种用于在纠删码系统中跨存储设备写入数据的方法,其中所述方法包括: -从第一数据计算(S30)第一数据块和第一奇偶校验块,所述第一数据将被存储在所述系统中,其中所述计算由一个或多个控制器执行,所述控制器中的每一个是独立磁盘冗余阵列控制器; -通过使用一个或多个布置节点来提供(S60)计算出的第一数据块和第一奇偶校验块在所述存储设备中的位置,所述布置节点被配置成管理数据块和奇偶校验块在所述存储设备上的布置方案。
2.如权利要求1所述的方法,还包括: -根据由所述一个或多个控制器使用的纠删码,选择(S50)由所述一个或多个布置节点管理的布置方案。
3.如权利要求1至2中任一项所述的方法,其中提供计算出的第一数据块和第一奇偶校验块的位置还包括: -将由所述一个或多个布置节点提供的位置存储(S70)在布置元数据中,所述布置元数据对于每个数据块和每个奇偶校验块包括所述系统中的块的逻辑地址空间与所述存储设备中的块的物理地址空间之间的映射。
4.如权利要求1至3中任一项所述的方法,还包括: -将所述第一数据块和所述第一奇偶校验块发送(S40)到所述一个或多个布置节点; -将所发送的第一数据块和第一奇偶校验块存储(S80)在识别出的位置上。
5.如权利要求1至4中任一项所述的方法,其中将被存储的第二数据是已经存储的第一数据的更新,还包括: -由所述一个或多个控制器向所述一个或多个布置节点请求(SllO)将被更新的第一数据块和第一奇偶校验块; -向所述一个或多个控制器提供(S120)所请求的将被更新的第一数据块和第一奇偶校验块;以及 -通过根据将被更新的第二数据修改所提供的第一数据块和第一奇偶校验块,来计算(S130)第二数据块和第二奇偶校验块。
6.如权利要求5所述的方法,还包括: -将计算出的第二数据块和第二奇偶校验块发送(S140)到所述一个或多个布置节点; -将所述第二数据块和第二奇偶校验块存储(S160)在识别出的位置上。
7.如权利要求6所述的方法,还包括在发送计算出的第二数据块和第二奇偶校验块之N /.1IJ: -由所述一个或多个布置节点识别(S150)计算出的第二数据块和第二奇偶校验块在所述存储系统中的位置。
8.如权利要求1至7中任一项所述的方法,还包括: -检测(S170) —个或多个存储设备发生故障; -由所述一个或多个布置节点启动存储在发生故障的所述一个或多个存储设备上的数据块和奇偶校验块的重建。
9.如权利要求8所述的方法,其中启动数据块和奇偶校验块的重建包括: -由所述一个或多个布置节点识别(S180)幸存的数据块和奇偶校验块的位置; -由所述一个或多个布置节点取回(S190)存储在识别出的位置处的幸存的数据块和奇偶校验块; -将取回的幸存的数据块和奇偶校验块发送(S200)到所述一个或多个控制器; -从取回的幸存的数据块和奇偶校验块重建(S210)丢失的数据块和丢失的奇偶校验块。
10.一种用于跨存储设备写入数据的纠删码系统,所述系统包括一个或多个独立磁盘冗余阵列控制器(20)和一个或多个布置节点(40),所述布置节点被配置成管理数据块和奇偶校验块在所述存储设备上的布置方案,所述系统适于执行权利要求1至9中任一项的方法。
11.如权利要求10所述的系统,其中所述一个或多个布置节点管理分簇布置方案。
12.如权利要求10至11中任一项所述的系统,其中所述系统包括实现不同的纠删码的至少两个控制器。
13.如权利要求10至12中任一项所述的系统,其中所述系统运行包括用于实现所述一个或多个布置节点的代码模块的计算机程序。
【专利摘要】本公开提出了用于跨存储设备写入数据的方法和系统。所述方法包括:从第一数据计算第一数据块和第一奇偶校验块,所述第一数据将被存储在系统中,其中所述计算由一个或多个控制器执行,所述控制器中的每一个是独立磁盘冗余阵列控制器;以及通过使用一个或多个布置节点来提供计算出的第一数据块和第一奇偶校验块在存储设备中的位置,所述布置节点被配置成管理数据块和奇偶校验块在所述存储设备上的布置方案。
【IPC分类】G06F3-06, G06F11-10
【公开号】CN104598162
【申请号】CN201410599222
【发明人】V·文卡特桑, I·伊利亚迪斯
【申请人】国际商业机器公司
【公开日】2015年5月6日
【申请日】2014年10月30日
【公告号】US20150121169
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1