用于独立磁盘冗余阵列(raid)系统的文件服务器的制作方法

文档序号:6455971阅读:142来源:国知局
专利名称:用于独立磁盘冗余阵列(raid)系统的文件服务器的制作方法
技术领域
本发明涉及独立磁盘冗余阵列(RAID)系统。
背景技术
在此提供的背景技术描述是为了一般地呈现本发明的背景。到本背景技术部分所描述的程度的、目前所提名的发明人的工作,以及另一方面在递交时不能作为现有技术的该描述的多个方面,既没有明确地也没有隐含地被承认是与本发明相对的现有技术。
独立磁盘冗余阵列(RAID)系统将数据冗余地存储在多个硬盘上。在某些RAID级别中,数据块被分割并被存储在不同的磁盘上,这縮短了数据存储和取回的等待时间。多个磁盘还趋向于增大平均无故障时间(MTBF)并且增强容错性。
RAID系统类似于如单个逻辑硬盘驱动器那样的访问或主机设备。RAID系统可以采用硬盘分条(striping),这涉及将每个驱动器的存储空间分割为单元。单元的大小将根据应用在从扇区(512字节)到至多若干兆字节的范围内变化。所有磁盘的分条通常是交错的并且是顺序编址的。
除了非冗余阵列(RAID-O)夕卜,还有多种类型的RAID系统。在RAID-0中,采用分条然而没有数据冗余。其提供最佳的性能然而没有容错性。在RAID-1中,使用磁盘镜像而非分条并且至少需要两个驱动器来
7在存储数据期间实现复制。因为可以同时读取任一个磁盘,所以读性能得 到改善。写性能与单个磁盘存储相同。RAID-1在多用户系统中提供最佳 的性能以及最佳的容错性。
在RAID-2中,使用跨磁盘的分条。某些磁盘存储错误检查和纠正 (ECC)信息。在RAID-3中,使用分条并且一个驱动器专用于存储奇偶 校验信息。嵌入的错误检查(ECC)信息用于检查错误。通过计算记录在 其他驱动器上的信息的异或(XOR)来完成数据恢复。因为I/O操作同时 寻址所有的驱动器,所以RAID-3不能够使I/O交叠(overlap)。因此, RAID-3最适用于具有长记录应用的单用户系统。
在RAID-4中,使用大分条。可以从任一单个驱动器中读取记录。这 允许针对读操作使I/O交叠。因为写操作更新奇偶校验驱动器,所以不能 够使I/O交叠。在RAID-5中,使用旋转奇偶阵列(rotating parity array),这解决了 RAID-4的写限制。因此,读和写操作可以是交叠的。 RAID-5存储奇偶校验信息然而并不使用冗余数据。然而,奇偶校验信息 可以用于重构数据。RAID-5至少需要三个并且一般是五个用于该阵列的 磁盘。RAID-5最适用于性能不是很关键的或者执行较少写操作的多用户 系统。
除了使用在不同驱动器上分布的第二奇偶校验方案外,RAID-6与 RAID-5类似。RAID-6提供高容错性以及高驱动故障耐受性。在RAID-7 中,使用实时的嵌入式操作系统和控制器。RAID-7使用经由高速总线的 高速缓存以及独立计算机的其他特性。
RAID-10组合RAID-0禾B RAID-1 。存在两种子类型在RAID-0+1 中,数据被组织为多个磁盘上的分条,然后产生分条化的磁盘组的镜像;
而在RAID-l+0中,产生数据的镜像然后镜像被分条化。
在RAID-50 (或RAID-5+0)中,使用一系列RAID-5的组。这些组被 以RAID-0的方式分条化从而改善RAID-5的性能而不减弱数据保护。在 RAID-53 (或RAID-5+3)中,(RAID-0类型中的)分条被用于RAID-3 的虚拟磁盘块。这提供了比RAID-3更高的性能然而花费了更高成本。
当主机设备发送要存储的数据块时,针对所选RAID方法来执行
8RAID处理。RAID处理可以包括所选RAID级别的冗余和恢复处理(例如 错误检查和纠正(ECC))和/或其他处理。
在一种方法中,单个中央处理单元(CPU)从另一设备接收数据块。 CPU负责包括ECC的所有RAID处理。就这种方法而言,因为与ECC有 关的处理可能是变化的并且耗时的,所以CPU可能通常在速率上限制了数 据存储。换言之,CPU中的处理可能引发瓶颈并且增大等待时间。由于使 用单个CPU,所以需要在完成了针对一个数据块的RAID构造之后,才能 对后一数据块进行处理。

发明内容
一种独立磁盘冗余阵列(RAID)系统包括N个存储阵列,其中N个 存储阵列每个包括目标处理模块和1到M个硬盘驱动器,其中M和N是 大于1的整数。数据处理模块将针对第一数据块的第一数据存储请求指定 给多个目标处理模块中的第一目标处理模块,以处理第一数据块的错误检 查和纠正(ECC)数据。多个目标处理模块中的这一个目标处理模块将第 一数据块的第一部分和与第一数据块相关联的ECC数据发送到多个目标处 理模块中的另 一 目标处理模块。
在其他特征中,由多个目标处理模块中的另一 目标处理模块接收到的 ECC数据与该第一部分相对应。接口接收第一数据块并且将第一数据块转 发到数据处理模块。该接口包括网络接口、千兆比特以太网网络接口和数 据总线中的至少一个。交换模块在数据处理模块和N个存储阵列之间并且 在N个存储阵列之间交换数据。该交换模块包括多端口高速交换机。数据 处理模块将针对第二数据块的第二数据存储请求指定给用于处理第二数据 块的ECC数据的第二目标处理模块,其中,第二目标处理模块将第二数据 块的第一部分和与第二数据块相关联的ECC数据发送到多个目标处理模块 中的第三目标处理模块。在多个目标处理模块中的这一个目标处理模块和 第二目标处理模块中,以交叠的方式分别对第一数据块和第二数据块进行 处理。
在其他特征中,数据处理模块包括接口、存储器和至少一个处理器。
9数据处理模块对第一数据块执行文件系统(FS)协议功能。FS协议包括
网络文件服务器(NFS)和通用因特网文件服务器(CIFS)中的至少一 个。数据处理模块确定要应用于第一数据块的RAID存储级别。数据处理 模块将第一数据块映射到N个存储阵列中的所选一个存储阵列,并且更新 用于N个存储阵列的存储映射。
在其他特征中,当数据处理模块接收到数据取回请求时,数据处理模 块将数据取回请求指定给多个目标处理模块中的第一 目标处理模块。多个 目标处理模块中的第一 目标处理模块从多个目标处理模块中的其他目标处 理模块取回与数据取回请求相对应的数据,并且取回与数据中的有错误的 部分相关的ECC数据。
在其他特征中,多个目标处理模块中的第一目标处理模块通过使用 ECC数据来对所述部分执行数据恢复。当数据处理模块接收到数据取回请 求时,数据处理模块将数据取回消息发送到具有与数据取回请求相对应的 数据的目标处理模块。这些目标处理模块取回与数据取回请求相对应的数 据和与数据中的有错误的部分相关的ECC数据。目标处理模块将与数据取 回请求相对应的取回的数据和ECC数据发送到数据处理模块,并且其中, 数据处理模块通过使用ECC数据来对所述部分执行数据恢复。这些目标处 理模块通过使用ECC数据来对所述部分执行数据恢复。
一种独立磁盘冗余阵列(RAID)系统包括N个存储阵列,其中N个 存储阵列每个包括目标处理模块和1到M个硬盘驱动器,其中M和N是 大于1的整数。数据处理模块以非交叠(non-overlap)的方式将针对数据 块的错误检查和纠正(ECC)处理选择性地指定给多个目标处理模块中的 所选多个目标处理模块。交换模块提供数据处理模块和N个存储阵列之间 的以及N个存储阵列中的每个存储阵列和N个存储阵列中的其他存储阵列 之间的通信路径。
在其他特征中,数据处理模块将针对第一数据块的数据存储请求指定 给多个目标处理模块中的用于处理第一数据块的ECC数据的一个目标处理 模块,并且其中,多个目标处理模块中的这一个目标处理模块将第一数据 块的第一部分和与第一数据块相关联的ECC数据发送到多个目标处理模块中的另一 目标处理模块。由多个目标处理模块中的另一 目标处理模块接收 到的ECC数据与该第一部分相对应。接口接收数据块并且将数据块转发到 数据处理模块。该接口包括网络接口、千兆比特以太网网络接口和数据总 线中的至少一个。
在其他特征中,交换模块包括多端口高速交换机。交换模块包括以大 于或等于1千兆比特每秒的速度进行操作的多端口交换机。交换模块包括 多端口千兆比特以太网交换机。数据处理模块将针对第二数据块的第二数 据存储请求指定给用于处理第二数据块的ECC数据的第二目标处理模块, 其中,第二目标处理模块将第二数据块的第一部分和与第二数据块相关联
的ECC数据发送到多个目标处理模块中的第三目标处理模块。
在其他特征中,在多个目标处理模块中的这一个目标处理模块和第二 目标处理模块中,以交叠的方式分别对第一数据块和第二数据块进行处 理。数据处理模块包括接口、存储器和至少一个处理器,并且其中,数据
处理模块对第一数据块执行文件系统(FS)协议功能。FS协议包括网络 文件服务器(NFS)和通用因特网文件服务器(CIFS)中的至少一个。数 据处理模块确定要应用于数据块的RAID存储级别。数据处理模块将数据 块映射到N个存储阵列中的所选多个存储阵列,并且更新用于N个存储阵 列的存储映射。
在其他特征中,当数据处理模块接收到数据取回请求时,数据处理模 块将数据取回请求指定给多个目标处理模块中的第一目标处理模块。多个 目标处理模块中的第一 目标处理模块从多个目标处理模块中的其他目标处 理模块请求与数据取回请求相对应的数据,并且请求与数据中的有错误的 部分相关的ECC数据。多个目标处理模块中的第一目标处理模块通过使用 ECC数据来对所述部分执行数据恢复。
在其他特征中,当数据处理模块接收到数据取回请求时,数据处理模 块将数据取回消息发送到具有与数据取回请求相对应的数据的目标处理模 块。这些目标处理模块取回与数据取回请求相对应的数据和与数据中的有 错误的部分相关的ECC数据。这些目标处理模块将与数据取回请求相对应 的取回的数据和ECC数据发送到数据处理模块,并且其中,数据处理模块通过使用ECC数据来对所述部分执行数据恢复。这些目标处理模块通过使 用ECC数据来对所述部分执行数据恢复。
根据下文中所提供的详细描述,本发明的应用的更多方面将变得清 楚。应理解,详细描述和特定示例虽然指示了本发明的优选实施例,但是 仅意欲用于说明而非意欲限制本发明的范围。


根据详细描述和附图,本发明将得到更充分的理解,其中
图1是根据本发明的RAID系统的原理框图2A是数据处理模块的原理框图; 图2B是目标处理模块的原理框图2C是示例性目标处理模块的更详细的原理框图3是示出对数据块进行的处理的原理框图4是示出对数据块进行的处理的原理框图5是示出对数据块进行的处理的原理框图6示出对数据库进行的处理的定时;
图7是示出用于处理要存储的数据块的方法的流程图8A和图8B是示出通过由数据处理模块所执行的ECC处理来取回 数据块的示例性方法的流程图9A和图9B是示出通过由多个目标处理模块中的相应目标处理模块 所执行的ECC处理来取回数据块的示例性方法的流程图;以及
图10是示出通过由多个目标处理模块中的所选一个目标处理模块所 执行的ECC处理来取回数据块的示例性方法的流程图。
具体实施例方式
以下描述本质上仅是示例性的并且决非意欲限制本发明、其应用或使 用。为了清楚起见,在附图中将使用相同标号来标识相同元件。在此使用 的术语模块、电路和/或设备指专用集成电路(ASIC)、电子电路、执行 一个或多个软件和固件程序的处理器(共享、专用或组处理器)和存储
12器、组合逻辑电路和/或提供所描述的功能的其他适当组件。在此使用的短
语"A、 B和C的至少一个"应当被解释为表示逻辑(A or B or C),该 逻辑使用非排他性逻辑或。应理解,可以以不同顺序来执行方法中的步骤 而不会改变本发明的原理。
现参考图1,示出了独立磁盘冗余阵列(RAID)系统100。接口 104 接收要存储在RAID系统100中的数据块。例如,接口 104可以是诸如千 兆比特以太网网络接口、数据总线等之类的高速接口,然而其也可以是任 何其他类型的接口。数据处理模块108执行部分的RAID处理。换言之, 数据处理模块108从接口 104接收数据块并且对数据执行操作系统(OS) 和文件系统(FS)协议功能。例如,FS协议可以包括网络文件服务器 (NFS)、通用因特网文件服务器(CIFS)和/或其他适当的协议。数据处 理模块108将冗余和恢复处理(例如错误检查和纠正(ECC))分发给其 他的目标处理设备,这将在下文中进行描述。
数据处理模块108与交换模块112进行通信。仅作为示例,交换模块 112可以是诸如纵横制(crossbar)交换机、千兆比特交换机或千兆比特以 太网交换机之类的多端口高速交换机。交换模块112可以交换被组织为数 据分组的数据。应理解,交换模块112与硬连线连接相比提供了可量测性 和灵活性。
交换模块112又与两个或多个存储阵列120-1、 120-2、...和120-X (总的称作存储阵列120)进行通信,其中X是大于1的整数。每个存储 阵列120分别包括目标处理模块122-1、 122-2、...和122-X (总的称作目 标处理模块122)和一个或多个硬盘驱动器(HDD) 124-11、 124-12、... 和124-XY (总的称作HDD 124),其中Y是大于零的整数。应理解,每 个存储阵列120中的存储阵列12Q和HDD 124的数目可以变化以允许调节 规模。
现参考图2A,更详细地示出了示例性数据处理模块108。数据处理模 块108经由接口 104接收用于数据存储的数据块。数据处理模块108可以 包括接口 150、存储器154和一个或多个处理器156。
数据处理模块108可以确定要应用的RAID存储级别,负责与FS相关的处理,可以将数据块映射到存储阵列,将RAID冗余和恢复处理(例 如错误检查和纠正(ECC))指定给所选目标处理模块,并且可以更新存 储映射,等等。
被指定执行RAID冗余和恢复处理的目标处理模块122从数据处理模 块108接收指令。所选目标处理模块122针对所指定的数据块生成错误检 查和纠正(ECC)。 一旦完成,目标处理模块122就通过基于由数据处理 模块108所提供的RAID指令,将数据块的多个部分和/或ECC数据选择 性地发送到其他阵列中用于存储的其他目标处理模块,来执行数据分摊 (data spreading)。某些数据和ECC数据也可以被本地存储。
同时,可以针对其他的数据块将RAID冗余和恢复处理指定给其他的 目标处理模块122。其他的目标处理模块122以交叠的方式处理其他数据 块的ECC。因为数据处理模块108并不处理任何待存储的数据块的ECC, 所以数据处理模块108不再引发瓶颈。与数据处理模块108相关联的存储 器154可以存储并更新存储阵列120中数据的全局驱动映射158。
现参考图2B,每个目标处理模块122可以包括RAID构造模块168和 RAID取回模块170。 RAID构造模块168处理ECC。 RAID取回模块170 处理RAID取回请求,这将在下文中进行描述。
RAID构造模块170处理将被存储在与所选目标处理模块122相关联 的本地驱动器124上的数据块的多个部分的ECC。此外,RAID构造模块 170为与远程存储阵列120相关联的远程驱动器处理ECC。 RAID指令模 块172生成用于其他目标处理的RAID指令,并且可以处理从其他的目标 处理模块122接收到的RAID指令。RAID指令模块172可以与RAID构造 模块170相结合。
与除所选目标处理模块外的目标处理模块相关联的远程存储阵列120 存储从所选目标处理模块接收到的数据和/或ECC数据。远程存储阵列 120可以简单地遵照由所选目标处理模块122发出的RAID指令。
应理解,由远程存储阵列120所执行的处理量明显低于由目标处理模 块122所执行的RAID构造处理。这使得远程存储阵列120的目标处理模 块122能够用于以交叠的方式针对其他数据块来处理RAID构造。
14现参考图2C,更详细地示出了示例性目标处理模块122。目标处理模
块122经由交换模块112接收来自数据处理模块的执行RAID构造的请求 和/或由远程目标处理模块所发送的RAID指令。目标处理模块122包括接 口 178、存储器182和一个或多个处理器184。
现参考图3,在使用中,在数据处理模块108处经由接口 104接收到 了第一数据块200-1。数据处理模块1Q8对该数据块执行OS和FS协议功 能。数据处理模块108将数据块指定给与存储阵列120之一相关联的目标 处理模块122。此外,目标处理模块122可以确定要应用的RAID存储级 别,可以将数据块映射到存储阵列,可以更新存储映射,等等。
例如,第一数据块200-1可以被指定给第一存储阵列120-1的目标处 理模块122-1。所选目标处理模块122-1生成该数据的ECC。在存储阵列 120-1生成第一数据块的ECC的同时,数据处理模块108经由接口 104接 收第二数据块200-2。数据处理模块108将第二数据块指定给与存储阵列 120-2相关联的目标处理模块122-2以生成ECC。
交叠地处理针对数据块的RAID构造处理可以针对附加的数据块200-P持续,直到所有的目标处理模块都在处理数据块为止。因此,与其他方 法相比,吞吐量可以得到显著提高。
现参考图4和图5,更详细地示出了对数据块200-1的处理。在进行 了处理之后,数据处理模块108将数据块200-1发送到存储阵列120-1的 目标处理模块122-1。数据处理模块108还可以更新驱动映射。目标处理 模块122-1处理该数据块的ECC。目标处理模块122-1可以将与数据块 200-1相关联的某些数据存储在与存储阵列120-1相关联的本地驱动器124 上。此外,目标处理模块122-1可以将RAID指令、数据和/或ECC数据发 送到与其他存储阵列相关联的目标处理模块122-2、…以及122-X。远程存 储阵列120-2、...以及120-X中的其他的目标处理模块122-2、...以及122-X简单地遵照RAID指令并且具有有限的处理负荷,这使得这些远程存储 阵列120-2、...以及120-X的目标处理模块122-2、...以及122-X能够处理 其他数据块的ECC。
在图5中,在目标处理模块122-1处理第一数据块200-1的ECC的同时,数据处理模块108接收第二数据块200-2。数据处理模块108将第二 数据块200-2指定给与存储阵列120-2相关联的目标处理模块122-2。附加 的数据块200-P可以被指定给其他存储阵列120的目标处理模块122。
现参考图6,在250处一般地示出数据块的示例性RAID处理。这种 类型的RAID处理可能遇到瓶颈,其减少了数据接入和取回的次数。在 252处示出了根据本发明某些实现方式的数据处理。数据块的RAID构造 可以花费可变的时间量。根据本发明的RAID系统即使在存储请求之一花 费了明显更长的处理时间量时也可以连续处理数据块。
现在参考图7,示出了用于在数据存储请求期间操作RAID系统的方 法。控制在步骤300处开始。在步骤302,控制判断是否在数据处理模块 108处接收到了要存储的数据块。如果步骤302为真,那么在步骤304, 数据处理模块108将针对该数据块的ECC处理指定给多个目标处理模块 122之一。数据处理模块108还可以更新全局驱动映射并且可以执行上述 的其他功能。在步骤306,所选目标处理模块处理该数据块的ECC。所选 目标处理模块可以将RAID指令、数据和/或ECC数据发送到与远程存储 阵列相关联的远程目标处理模块。控制在步骤310处结束。
现参考图8A到图10,示出了各种用于数据取回的示例性方法。为了 取回数据,可以在取回过程中检测到错误时执行ECC处理。这些错误可以 由存储与错误相关联的子块的硬盘驱动器检测出来。 一旦检测到,就可以 由相同的目标处理模块、所选一个目标处理模块和/或数据处理模块来本地 地执行ECC恢复。
在图8A和图8B中,示出了对取回数据的示例性方法进行说明的流程 图。在这种实现方式中,由数据处理模块来执行针对具有ECC错误的数据 的ECC处理。在图8A中,控制在步骤320处开始并且前进到步骤322, 在步骤322,数据处理模块判断其是否接收到了数据取回请求。如果步骤 322为真,那么在步骤324,数据处理模块向所有具有与该数据取回请求 相关联的数据的目标处理模块发送广播消息。可替代地,数据处理模块可 以使用映射,并且将各条消息独立地发送给每个目标处理模块。
在步骤326,数据处理模块判断其是否从目标处理模块接收到了有错
16误的数据块(以及有错误数据的相应ECC数据)。如果步骤326为真,那 么数据处理模块使用ECC数据来恢复该数据。在步骤326和步骤327之后 进行步骤328,在步骤328,数据处理模块将纠正后的数据发送给请求设 备。如果错误不能够被纠正,那么数据处理模块可以发送错误消息和/或重 试取回。控制在步骤329处结束。
在图8B中,控制在步骤330处开始并且前进到步骤332。在步骤 332,目标处理模块判断其是否从数据处理模块接收到了数据取回请求。 在步骤334,目标处理模块将与该取回请求相关的数据取回并发送到数据 处理模块。在步骤336,目标处理模块判断是否在子块中检测出了错误。 如果步骤336为真,那么目标处理模块将与该子块有关的ECC数据发送到 数据处理模块。在步骤336和步骤337之后进行步骤338,在步骤338, 控制判断是否发送了与该数据取回请求相关的所有数据。如果还没有,那 么控制返回到步骤334。如果步骤338为真,那么控制在步骤339处结 束。
在图9A和图9B中,示出了对取回数据块的示例性方法进行说明的流 程图。在这种实现方式中,由多个目标处理模块中存储数据的相应目标处 理模块来执行ECC处理。在图9A中,控制在步骤340处开始。在步骤 342,数据处理模块判断其是否接收到了数据取回请求。如果步骤342为 真,那么在步骤344,数据处理模块向所有的目标处理模块发送广播消 息。可替代地,数据处理模块可以基于映射向目标处理模块发送个体消 息。在步骤348,数据处理模块接收数据并将数据转发给请求设备。控制 在步骤349处结束。
在图9B中,控制在步骤350处开始。在步骤352,目标处理模块判断 其是否接收到了数据取回请求。如果步骤352为真,那么在步骤354,目 标处理模块将子块中与该取回请求有关的数据发送给数据处理模块。在步 骤356,控制判断是否在子块中检测到了错误。如果步骤356为真,那么 控制继续到步骤357并且处理ECC以恢复数据然后发送恢复后的数据。如 果数据不能够被恢复,那么错误消息可以被发送和/或执行重试。控制从步 骤356和步骤357继续到步骤358。在步骤358,控制 17有与该数据取回请求相关联的子块。如果还没有,那么控制返回到步骤
354。否则控制在步骤359处结束。
在图10中,示出了对取回数据块的示例性方法进行说明的流程图。 在这种实现方式中,可以由目标处理模块中所选那个来执行数据恢复。控 制在步骤360处开始并且前进到步骤361。在步骤361,数据处理模块判 断其是否接收到了数据取回请求。如果步骤361为真,那么在步骤362, 数据处理模块将数据取回指定给目标处理模块之一。所选目标处理模块和/ 或数据处理模块从远程目标处理模块请求数据。
在步骤364,远程目标处理模块将与该取回请求相关的数据子块发送 给所选目标处理模块。类似地,所选目标处理模块从本地驱动器取回与该 取回请求相关的数据。可替代地,远程目标处理模块在没有错误的情况下 可以直接将数据发送给数据处理模块。如果有错误,那么远程目标处理模 块可以将数据发送给所选目标处理模块用于数据恢复。
对于每个远程目标处理模块,在步骤366,远程目标处理模块判断是 否在数据子块之一中检测到了错误。如果步骤366为真,那么远程目标处 理模块将与该子块相关联的ECC数据发送给所选目标处理模块。没有错误 的数据子块可以被发送给目标处理模块或数据处理模块。
控制从步骤366和步骤367继续到步骤368。在步骤368,与远程目 标处理模块相关联的控制判断是否发送了所有的数据子块。在步骤370, 所选目标处理模块将ECC数据用于数据恢复,换言之即用于纠正错误。所 选目标处理模块将数据转发给数据处理模块。在步骤372,数据处理模块 将恢复后的数据转发给请求设备。
本领域中的技术人员现在从前述描述中可以理解能够以各种形式来实 现本发明的广义的教导。因此,虽然本发明包括具体的实施例,但是本发 明的真实范围不因因此受限,因为在研究了附图、说明书和以下的权利要 求后,其他的修改对于技术实践者而言将是显而易见的。
权利要求
1.一种独立磁盘冗余阵列(RAID)系统,包括N个存储阵列,其中所述N个存储阵列每个包括目标处理模块;和1到M个硬盘驱动器,其中M和N是大于1的整数;以及数据处理模块,其将针对第一数据块的第一数据存储请求指定给所述目标处理模块中的一个目标处理模块,以处理所述第一数据块的错误检查和纠正(ECC)数据,并且其中,所述目标处理模块中的所述一个目标处理模块将所述第一数据块的第一部分和与所述第一数据块相关联的ECC数据发送到所述目标处理模块中的另一目标处理模块。
2. 根据权利要求1所述的RAID系统,其中,由所述目标处理模块中 的所述另一目标处理模块接收到的所述ECC数据与所述第一部分相对应。
3. 根据权利要求1所述的RAID系统,还包括接收所述第一数据块并 且将所述第一数据块转发到所述数据处理模块的接口 。
4. 根据权利要求3所述的RAID系统,其中,所述接口包括以下至少 一种网络接口、千兆比特以太网网络接口和数据总线。
5. 根据权利要求1所述的RAID系统,还包括在所述数据处理模块和 所述N个存储阵列之间、并且在所述N个存储阵列之间交换数据的交换模 块。
6. 根据权利要求5所述的RAID系统,其中,所述交换模块包括多端 口高速交换机。
7. 根据权利要求1所述的RAID系统,其中,所述数据处理模块将针 对第二数据块的第二数据存储请求指定第二目标处理模块,以处理所述第 二数据块的ECC数据,其中,所述第二目标处理模块将所述第二数据块的 第一部分和与所述第二数据块相关联的ECC数据发送到所述目标处理模块 中的第三目标处理模块。
8. 根据权利要求7所述的RAID系统,其中,所述第一数据块和所述第二数据块是在所述目标处理模块中的所述一个目标处理模块和所述第二 目标处理模块中以交叠的方式被分别处理的。
9. 根据权利要求1所述的RAID系统,其中,所述数据处理模块包括 接口、存储器和至少一个处理器。
10. 根据权利要求1所述的RAID系统,其中,所述数据处理模块对所 述第一数据块执行文件系统(FS)协议功能。
11. 根据权利要求9所述的RAID系统,其中,所述FS协议包括下述 至少一种网络文件服务器(NFS),通用因特网文件服务器(CIFS)。
12. 根据权利要求1所述的RAID系统,其中,所述数据处理模块确定 要应用于所述第一数据块的RAID存储级别。
13. 根据权利要求1所述的RAID系统,其中,所述数据处理模块将所 述第一数据块映射到所述N个存储阵列中的所选存储阵列,并且更新用于 所述N个存储阵列的存储映射。
14. 根据权利要求1所述的RAID系统,其中,当所述数据处理模块接 收到数据取回请求时,所述数据处理模块将所述数据取回请求指定给所述 目标处理模块中的第一 目标处理模块,其中,所述目标处理模块中的所述第一 目标处理模块从所述目标处理 模块中的其他目标处理模块取回与所述数据取回请求相对应的数据,并且 取回与所述数据中的有错误的部分相关的ECC数据,以及其中,所述目标处理模块中的所述第一 目标处理模块通过使用所述 ECC数据来对所述部分执行数据恢复。
15. 根据权利要求1所述的RAID系统,其中,当所述数据处理模块接 收到数据取回请求时,所述数据处理模块将数据取回消息发送到具有与所 述数据取回请求相对应的数据的所述目标处理模块。
16. 根据权利要求15所述的RAID系统,其中,所述目标处理模块取 回与所述数据取回请求相对应的所述数据和与所述数据中的有错误的部分 相关的ECC数据。
17. 根据权利要求16所述的RAID系统,其中,所述目标处理模块将与所述数据取回请求相对应的所取回的数据和所述ECC数据发送到所述数 据处理模块,并且其中,所述数据处理模块使用所述ECC数据来对所述部 分执行数据恢复。
18. 根据权利要求16所述的RAID系统,其中,所述目标处理模块使 用所述ECC数据来对所述部分执行数据恢复。
19. 一种独立磁盘冗余阵列(RAID)系统,包括 N个存储阵列,其中所述N个存储阵列每个包括目标处理模块;和1到M个硬盘驱动器,其中M和N是大于1的整数; 数据处理模块,其以非交叠的方式将针对数据块的错误检查和纠正 (ECC)处理选择性地指定给所述目标处理模块中的所选多个目标处理模 块;以及交换模块,其提供所述数据处理模块和所述N个存储阵列之间的、以 及所述N个存储阵列中的每个存储阵列和所述N个存储阵列中的其他存储 阵列之间的通信路径。
20. 根据权利要求19所述的RAID系统,其中,所述数据处理模块将 针对第一数据块的数据存储请求指定给所述目标处理模块中的用于处理所 述第一数据块的ECC数据的一个目标处理模块,并且其中,所述目标处理 模块中的所述一个目标处理模块将所述第一数据块的第一部分和与所述第 一数据块相关联的ECC数据发送到所述目标处理模块中的另一 目标处理模 块。
21. 根据权利要求20所述的RAID系统,其中,由所述目标处理模块 中的所述另一目标处理模块接收到的所述ECC数据与所述第一部分相对 应。
22. 根据权利要求19所述的RAID系统,还包括接收所述数据块并且 将所述数据块转发到所述数据处理模块的接口,其中,所述接口包括网络 接口 、千兆比特以太网网络接口和数据总线中的至少一个。
23. 根据权利要求19所述的RAID系统,其中,所述交换模块包括多 端口高速交换机。
24. 根据权利要求19所述的RAID系统,其中,所述交换模块包括以大于或等于1千兆比特每秒的速度进行操作的多端口交换机。
25. 根据权利要求19所述的RAID系统,其中,所述交换模块包括多 端口千兆比特以太网交换机。
26. 根据权利要求20所述的RAID系统,其中,所述数据处理模块将 针对第二数据块的第二数据存储请求指定给第二目标处理模块,以处理所 述第二数据块的ECC数据,其中,所述第二目标处理模块将所述第二数据 块的第一部分和与所述第二数据块相关联的ECC数据发送到所述目标处理 模块中的第三目标处理模块。
27. 根据权利要求26所述的RAID系统,其中,在所述目标处理模块 中的所述一个目标处理模块和所述第二目标处理模块中,以交叠的方式分 别对所述第一数据块和所述第二数据块进行处理。
28. 根据权利要求19所述的RAID系统,其中,所述数据处理模块包 括接口、存储器和至少一个处理器,并且其中,所述数据处理模块对所述 第一数据块执行文件系统(FS)协议功能。
29. 根据权利要求28所述的RAID系统,其中,所述FS协议包括网 络文件服务器(NFS)和通用因特网文件服务器(CIFS)中的至少一个。
30. 根据权利要求19所述的RAID系统,其中,所述数据处理模块确 定要应用于所述数据块的RAID存储级别。
31. 根据权利要求19所述的RAID系统,其中,所述数据处理模块将 所述数据块映射到所述N个存储阵列中的所选多个存储阵列,并且更新用 于所述N个存储阵列的存储映射。
32. 根据权利要求19所述的RAID系统,其中,当所述数据处理模块 接收到数据取回请求时,所述数据处理模块将所述数据取回请求指定给所 述目标处理模块中的第一 目标处理模块,其中,所述目标处理模块中的所述第一 目标处理模块从所述目标处理 模块中的其他目标处理模块请求与所述数据取回请求相对应的数据,并且 请求与所述数据中的有错误的部分相关的ECC数据,以及其中,所述目标处理模块中的所述第一目标处理模块通过使用所述ECC数据来对所述部分执行数据恢复。
33. 根据权利要求19所述的RAID系统,其中,当所述数据处理模块 接收到数据取回请求时,所述数据处理模块将数据取回消息发送到具有与 所述数据取回请求相对应的数据的所述目标处理模块。
34. 根据权利要求33所述的RAID系统,其中,所述目标处理模块取 回与所述数据取回请求相对应的所述数据和与所述数据中的有错误的部分 相关的ECC数据。
35. 根据权利要求34所述的RAID系统,其中,所述目标处理模块将 与所述数据取回请求相对应的所取回的数据和所述ECC数据发送到所述数 据处理模块,并且其中,所述数据处理模块通过使用所述ECC数据来对所 述部分执行数据恢复。
36. 根据权利要求34所述的RAID系统,其中,所述目标处理模块通 过使用所述ECC数据来对所述部分执行数据恢复。
全文摘要
一种独立磁盘冗余阵列(RAID)系统包括N个存储阵列。N个存储阵列每个都包括目标处理模块和1到M个硬盘驱动器,其中M和N是大于1的整数。数据处理模块将针对第一数据块的第一数据存储请求指定给多个目标处理模块中的第一目标处理模块,以处理第一数据块的错误检查和纠正(ECC)数据。多个目标处理模块中的这一个目标处理模块将第一数据块的第一部分和与第一数据块相关联的ECC数据发送到多个目标处理模块中的另一目标处理模块。
文档编号G06F11/10GK101652752SQ200780035418
公开日2010年2月17日 申请日期2007年7月17日 优先权日2006年7月24日
发明者潘塔斯·苏塔迪嘉 申请人:马维尔国际贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1