配置用于独立磁盘冗余阵列存储系统的存储器及其操作方法技术方案

技术编号:3062998 阅读:134 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种具有存储器的设备,可与虚拟化RAID控制器工作,以通过测试多个I/O操作的性能特性来确定最佳I/O配置。

【技术实现步骤摘要】

本专利技术涉及配置用于RAID存储系统的存储器,特别涉及配置包括虚拟化RAID控制器和分离存储器(detached memory)的RAID存储系统的存储器。
技术介绍
在存储系统中,独立存储设备阵列可以配置成使用称作RAID(RedundantArray of Independent Disks,独立磁盘冗余阵列)的技术来作为单个虚拟存储设备工作。配置成与RAID存储系统一起工作的计算机系统能够如同RAID存储系统是单个存储设备一样对RAID存储系统执行输入和输出(I/O)操作(如读取和写入操作)。RAID存储系统包括独立存储设备的阵列和RAID控制器。RAID控制器提供独立存储设备阵列的虚拟化视图(view)-这意味着独立存储设备阵列看上去如同具有存储单元(storage element)顺序列表的单个虚拟存储设备。存储单元通常称作存储块,而存储在其内的数据称作数据块。I/O操作关于虚拟存储设备中的一个或多个存储块来限定。当对虚拟存储设备执行I/O操作时,RAID控制器将I/O操作映射到独立存储设备阵列上。为了虚拟化存储设备阵列并且映射I/O操作,RAID控制器可以采用如论文“A Case forRedundant Arrays of Inexpensive Disks(RAID)(廉价磁盘冗余阵列(RAID)的情况)”(D.Patterson等人,1988)所述的标准RAID技术。下面将考虑这些技术中的一些技术。在作为单个虚拟存储设备提供存储设备阵列的虚拟化视图中,RAID控制器的一个功能是将虚拟存储设备中的数据块分散到阵列上。为此,一种实现方法是使用称作数据条分割(striping)的技术。数据条分割涉及以循环方式将数据块分散到多个存储设备上。当在RAID存储系统中存储数据块时,将称作“数据条(strip)”的多个数据块存储在每个存储设备中。数据条的大小可以由具体RAID实现来确定或者可以是可配置的。由存储在第一存储设备上的第一数据条和存储在随后存储设备中的随后数据条组成的一行数据条称作“数据带”(stripe)。数据带的大小是组成数据带的所有数据条的总大小。与单个存储设备相比,以这种方式使用多个独立存储设备来存储数据块提供高性能I/O操作,因为在I/O操作期间多个存储设备可以并行操作。物理存储设备如磁盘存储设备公知具有较差的可靠性,并且RAID控制器的另一个功能是提供可靠存储系统。提供可靠性的一种技术是将校验信息随同数据一起存储在独立存储设备阵列中。检验信息是一种冗余信息,它允许重新生成由于单个故障点例如这些设备的阵列中有一个存储设备出现故障而变得不可读的数据。不可读数据可以通过组合可读数据和冗余校验信息来重新生成。校验信息是作为占据数据带中的单个数据条的奇偶数据来记录的,并且它是通过对数据带中的所有数据条执行异或(XOR)逻辑运算来算出的。例如,包括数据条A、B和C的数据带还由作为A XOR B XOR C算出的奇偶数据条来补充。在存储系统中出现单个故障点的情况下,可以使用奇偶数据带来重新生成不可访问的数据条。例如,如果将包括数据条A、B、C和PARITY的数据带分别存储到四个独立存储设备W、X、Y和Z上,并且存储设备X出现故障,则存储在设备X上的数据条B将不可访问。数据条B可以通过XOR计算根据其余数据条和PARITY数据条来计算。此恢复计算为A XOR C XOR PARITY=B。对于在出现故障的情况下有效的校验信息,需要它是正确的并且对它进行维护。因此,在RAID存储系统中改变数据必须通过对校验信息的适当改变来反映。由于下述原因,在数据改变影响小于整个数据带大小的数据单元(称作“小量写入”)的情况下,这可能是繁重的。考虑使用数据条分割技术的带有RAID控制器的RAID存储系统,其中每个数据带包括多个数据条和一个奇偶数据条。如果该系统配置成存储系统虚拟视图(虚拟存储设备)中的单个块对应于单个数据条,则向虚拟存储设备写入单个块的操作由RAID控制器实现为在RAID数据带中写入单个数据条的操作。数据带中单个数据条的改变必须通过对相应奇偶数据条的适当改变来反映。因此,必须重新计算数据带的奇偶数据条。为了重新计算奇偶数据条,必须从现有奇偶数据中排除数据带中被覆写的数据条(“旧”数据条)。这可以通过对奇偶数据和旧数据条执行XOR运算来实现。而且,替换数据条(“新”数据条)必须包括在奇偶数据中,从而创建修改后的奇偶数据条。这可以通过对奇偶数据和新数据条执行XOR运算来实现。随后,修改后的奇偶数据条和新数据条必须写在数据带内。因此,为了将替换数据条写到现有数据带,则需要执行下列操作两次读取操作(旧数据条和奇偶数据条);修改奇偶数据条;以及两次写入操作(新数据条和修改后的奇偶数据条)。这种执行小量写入的方法由于维护校验信息的一致性所需的附加读取和写入操作而导致RAID存储系统的性能降低。这称作小量写入操作的读取-修改-写入问题。由于上述小量写入操作的性能问题,最好是当向RAID存储系统写入时覆写一个或多个完整数据带,从而避免维护现有校验信息的需要。为了让写入操作覆写一个或多个完整数据带,则所要写入到RAID存储系统的数据单元需要具有适当的大小,即数据带大小(除去奇偶数据条)的倍数。为了覆写一个或多个完整数据带,还需要将数据单元写入到与RAID数据带中的第一数据条相对应的RAID存储设备虚拟视图中的块上。向与RAID数据带中第一数据条之外的任何数据条相对应的块的写入操作包括写入作为小量写入操作的数据带的一部分。确保写入操作对应于RAID数据带中的第一数据条称作“数据带对齐(alignment)”。因此,为了保证写入操作完全覆写一个或多个RAID数据带,它必须满足给定RAID存储系统的数据带大小和对齐标准。满足这些标准的写入操作称作“数据带对齐写入”。数据带对齐写入不需要维护RAID数据带中的现有校验信息,因为一个或多个数据带被新写入的数据完全替换,并且对于此新数据计算新校验信息,作为写入操作的一部分。确保向RAID存储系统的所有写入操作是数据带对齐将通过消除小量写入的读取-修改-写入问题而提高性能。向RAID存储系统的写入操作将不是总是数据带对齐的,并且由于通过定义小量写入操作涉及大小小于完整RAID数据带的数据单元,因此小量写入操作绝对不是数据带对齐的。现有RAID存储系统可以采用诸如高速缓冲存储器的存储器,其中,聚集多个小量写入操作成为构成完整数据带的单个写入操作。因而,小量写入的集合可以是数据带对齐的,并且写入到RAID存储设备。为了让该高速缓冲存储器有效,它必须配置成在包括数据带大小和对齐的多个RAID存储系统参数内工作。这些参数可以针对不同RAID存储系统而不同,并且典型地针对由不同厂商提供的RAID存储系统而不同。经常地,高速缓冲存储器集成在RAID控制器内,从而容易地由用户或控制器本身采用适当的数据带大小和对齐参数配置它。日益地,RAID存储系统在诸如存储区域网(SAN)的结构中本身变得虚拟化。SAN包括链接一个或多个服务器到一个或多个存储设备的网络。SAN中的存储设备可以包括实现为RAID存储系统的虚拟存储设备。在SAN内,一个或多个交换机连接各设备,并且在主机和存储本文档来自技高网...

【技术保护点】
一种具有存储器的设备,可与虚拟化RAID控制器工作,以通过测试多个I/O操作的性能特性来确定最佳I/O配置,其中,所述I/O操作的每一个均包括向RAID控制器写入数据块,并且其中所述I/O配置包括数据长度和数据对齐。

【技术特征摘要】
GB 2003-4-26 0309538.71.一种具有存储器的设备,可与虚拟化RAID控制器工作,以通过测试多个I/O操作的性能特性来确定最佳I/O配置,其中,所述I/O操作的每一个均包括向RAID控制器写入数据块,并且其中所述I/O配置包括数据长度和数据对齐。2.如权利要求1所述的设备,其中所述存储器是高速缓冲存储器。3.如权利要求1所述的设备,其中所述存储器是输入缓冲器。4.如权利要求1所述的设备,其中所述存储器是输出缓冲器。5.如权利要求1所述的设备,其中所述性能特性是响应时间。6.一种用于操作可与虚拟化RAID控制器工作、具有存储器的设备的方法,包括以下步骤执行多个I/O操作,其中所述I...

【专利技术属性】
技术研发人员:威廉J斯凯尔斯霍华德C兰金尼古拉斯M奥罗克
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利