用于镜像多维RAID的方法和系统技术方案

技术编号:12267746 阅读:103 留言:0更新日期:2015-10-31 14:47
一种用于存储数据的方法。所述方法包括接收写入数据的请求,确定用于数据的存储模式是镜像模式,基于存储模式在RAID网格中选择要写入数据的独立器件冗余阵列(RAID)网格位置,将数据写入到存储器,更新数据结构以指示该RAID网格位置被填充,以及确定数据网格被填充;基于该确定,确定持久性储存器中对应于RAID网格位置的第一物理地址和第二物理地址;将数据写入到持久性储存器中对应于第一物理地址的第一物理位置并将数据写入到持久性储存器中对应于第二物理地址的第二物理位置,以及将与数据网格相关联的奇偶值写入到持久性储存器。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】用于镜像多维RAID的方法和系统
技术介绍
为了针对存储系统中的潜在数据损耗进行保护,实施复制方案常常是有利的。当 前复制方案只能在不能读取存储系统内的数据之前维持有限的错误量。
技术实现思路
-般地,在一个方面,本专利技术涉及一种非临时计算机可读介质,其包括指令,当该 指令被处理器执行时执行一种方法,该方法用于存储数据,该方法包括接收写入数据的请 求,确定用于数据的存储模式,其中,用于数据的存储模式是镜像模式,基于该存储模式来 选择要写入数据的RAID网格中的独立器件冗余阵列(RAID)网格位置,将数据写入存储 器,其中,该数据被临时地存储在存储器中,更新数据结构以指示该RAID网格位置被填充, 使用数据结构来确定RAID网格中的数据网格是否被填充,其中,RAID网格位置在数据网 格中,基于数据网格被填充的确定:使用数据来计算用于RAID网格的奇偶值,确定对应于 RAID网格位置的持久性储存器中的第一物理地址,确定对应于RAID网格位置的持久性储 存器中的第二物理地址,将数据写入对应于第一物理地址的持久性储存器中的第一物理位 置,将数据写入对应于第二物理地址的持久性储存器中的第二物理位置,以及将与数据网 格相关联的奇偶值写入到持久性储存器。 -般地,在一个方面,本专利技术涉及一种非临时计算机可读介质,其包括指令,当该 指令被处理器执行时执行一种方法,该方法用于获得重构数据,该方法包括接收对于数据 的第一请求,识别与数据相关联的独立器件冗余阵列(RAID)网格中的网格位置,其中,该 网格位置与第一物理位置和第二物理位置相关联,进行用于网格位置的存储模式是镜像模 式的第一确定,基于第一确定,进行第一物理位置被占用的第二确定,基于第二确定,向第 二物理位置发布对于数据的第二请求,以及响应于第二请求,从第二物理位置接收数据,其 中,该网格位置与虚拟条纹相关联,其中,该虚拟条纹与第一物理条纹和第二物理条纹相关 联,其中,第一物理位置是第一物理条纹的一部分,并且第二物理位置是第二物理条纹的一 部分。 根据以下描述和所附权利要求,本专利技术的其它方面将是显而易见的。【附图说明】 图1示出了根据本专利技术的一个实施方式的系统。 图2A示出了根据本专利技术的一个实施方式的RAID网格。 图2B示出了根据本专利技术的一个实施方式的虚拟和物理条纹。 图2C示出了根据本专利技术的一个实施方式的存储模块。 图3A示出了根据本专利技术的一个实施方式的RAID立方体和RAID立方体的各种视 图。 图3B - 3C示出了根据本专利技术的一个实施方式的示例性RAID立方体和RAID网格。 图4A - 4B示出了根据本专利技术的一个实施方式的数据结构。 图5A - 5C示出了根据本专利技术的一个实施方式的流程图。 图6A - 6C示出了根据本专利技术的一个或多个实施方式的示例。 图7A - 7B示出了根据本专利技术的一个或多个实施方式的流程图。 图8A - 8E示出了根据本专利技术的一个或多个实施方式的示例。【具体实施方式】 现在将参考附图来详细地描述本专利技术的特定实施方式。在本专利技术的实施方式的以 下详细描述中,阐述了许多特定细节以便提供本专利技术的更透彻理解。然而,对于本领域的技 术人员将而言将显而易见的是可在没有这些特定细节的情况下实施本专利技术。在其它情况 下,未详细地描述众所周知的特征以避免不必要地使本描述复杂化。 在图1 一8E的以下描述中,在本专利技术的各种实施方式中,相对于附图描述的任何 部件可等同于相对于任何其它图描述的一个或多个类似名称的部件。简洁地,将不会相对 于每个图重复这些部件的描述。因此,通过引用而结合每个图的部件的每个实施方式并假 定为可选地存在于具有一个或多个类似名称的部件的每个图内。另外,根据本专利技术的各种 实施方式,图的部件的任何描述将被解释为除相对于任何其它图中的相应类似名称部件所 述的实施方式之外、与之相结合或作为其替代可实现的可选实施方式。 -般地,本专利技术的实施方式涉及用于使用在网格位置水平实现镜像的多维RAID 方案来复制数据的方法和系统。更具体地,本专利技术的实施方式提供了一种用于实现2D RAID 方案和3D RAID方案的方法和系统,其中的2D RAID方案和3D RAID方案均在网格位置水 平实现镜像。 使用2D RAID方案,当在给定RAID条纹中存在超过两个错误时,可恢复存储在实 现此类RAID方案的RAID网格内的数据。相似地,使用3D RAID方案,当在给定RAID条纹 中存在超过两个错误时,可利用3D RAID方案恢复存储在实现此类RAID方案的RAID立方 体内的数据。在本专利技术的各种实施方式中,当在超过一个独立故障域(IFD)中存在故障时, 能够恢复所有数据。此外,通过使得能够在网格位置水平实现镜像,本专利技术的实施方式在缓 解与从持久性储存器访问数据有关的潜在延迟问题的同时提供复制/冗余的附加水平。 在本专利技术的一个或多个实施方式中,IFD对应于故障模式,其导致给定位置处的数 据不可访问。每个IFD对应于存储阵列中的故障的独立模式。例如,如果将数据存储在NAND 闪存中,其中,NAND闪存是存储模块(其包括多个NAND管芯)的一部分,则IFD可以是(i) 存储模块,(ii)通道(即被存储模块中的存储模块控制器(未示出)用来向NAND闪存写 入数据的通道),以及(iii)NAND闪存管芯。 出于本专利技术的目的,如这里所使用的术语"RAID"指的是"独立器件冗余阵列"。相 应的,可使用任何类型的持久性存储器件来实现本专利技术的实施方式,其中,可基于本专利技术的 实施方式(参见例如图2B - 4B)使RAID网格位置(参见例如图2A)跨一个或多个持久性 存储器分布。 图1示出了根据本专利技术的一个实施方式的系统。如图1中所示,该系统包括一个 或多个客户端(100A、100M)、RAID控制器(104)、存储器(106)、可选地FPGA(102)以及存储 阵列(108)。 在本专利技术的一个实施方式中,客户端(100AU00M)是任何系统或在系统上执行的 过程,其包括用以向RAID控制器(104)发布读请求或写请求的功能。在本专利技术的一个实施 方式中,每个客户端(100AU00M)可包括处理器(未示出)、存储器(未示出)和持久性储 存器(未示出)。在本专利技术的一个实施方式中,RAID控制器(104)被配置成实现多维RAID 方案,其包括以与多维RAID方案一致的方式(参见图5A - 5C)向存储阵列写入数据并以与 多维RAID方案一致的方式(参见图7A - 7B)从存储阵列读取数据(包括重构数据)。在 本专利技术的一个实施方式中,RAID控制器(104)包括被配置成执行指令以实现本专利技术的一个 或多个实施方式的处理器,其中,该指令被存储在位于RAID控制器(104)内或被操作连接 到RAID控制器(104)的非临时计算机可读介质(未示出)上。替换地,可使用硬件来实现 RAID控制器(104)。本领域的技术人员将认识到可使用软件和/或硬件的任何组合来实现 RAID 控制器(104)。 在本专利技术的一个实施方式中,RAID控制器(104)被操作连接到存储器(106)。存储 器(106)可以是任何易失性存储器,包括但不限于动态随机存取存储器(DRAM)、同步DRAM、本文档来自技高网...
用于镜像多维RAID的方法和系统

【技术保护点】
一种非临时计算机可读介质,所述非临时计算机可读介质包括指令,当所述指令被处理器执行时执行一种方法,所述方法用于存储数据,所述方法包括:接收写入数据的请求;确定用于所述数据的存储模式,其中,用于所述数据的所述存储模式是镜像模式;基于所述存储模式选择用以写入所述数据的独立器件冗余阵列(RAID)网格中的RAID网格位置;将所述数据写入存储器,其中,所述数据被临时地存储在所述存储器中;更新数据结构以指示所述RAID网格位置被填充;使用所述数据结构来确定所述RAID网格中的数据网格是否被填充,其中,所述RAID网格位置在所述数据网格中;基于确定所述数据网格被填充,来:使用所述数据计算用于所述RAID网格的奇偶值;确定对应于所述RAID网格位置的持久性储存器中的第一物理地址,确定对应于所述RAID网格位置的所述持久性储存器中的第二物理地址,将所述数据写入对应于所述第一物理地址的所述持久性储存器中的第一物理位置;将所述数据写入对应于所述第二物理地址的所述持久性储存器中的第二物理位置;以及将与数据网格相关联的所述奇偶值写入所述持久性储存器。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:J·S·邦威克M·W·夏皮罗
申请(专利权)人:DSSD股份有限公司
类型:发明
国别省市:美国;US

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

1