CN1280702C - 配置用于独立磁盘冗余阵列存储系统的存储器及其操作方法 - Google Patents
配置用于独立磁盘冗余阵列存储系统的存储器及其操作方法 Download PDFInfo
- Publication number
- CN1280702C CN1280702C CNB2004100053556A CN200410005355A CN1280702C CN 1280702 C CN1280702 C CN 1280702C CN B2004100053556 A CNB2004100053556 A CN B2004100053556A CN 200410005355 A CN200410005355 A CN 200410005355A CN 1280702 C CN1280702 C CN 1280702C
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- write operation
- raid
- storer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 claims abstract description 20
- 238000012360 testing method Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 5
- 238000012956 testing procedure Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004615 ingredient Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04H—BUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
- E04H17/00—Fencing, e.g. fences, enclosures, corrals
- E04H17/02—Wire fencing, e.g. made of wire mesh
- E04H17/06—Parts for wire fences
- E04H17/08—Anchoring means therefor, e.g. specially-shaped parts entering the ground; Struts or the like
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3485—Performance evaluation by tracing or monitoring for I/O devices
-
- E—FIXED CONSTRUCTIONS
- E04—BUILDING
- E04H—BUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
- E04H17/00—Fencing, e.g. fences, enclosures, corrals
- E04H17/02—Wire fencing, e.g. made of wire mesh
- E04H17/10—Wire fencing, e.g. made of wire mesh characterised by the way of connecting wire to posts; Droppers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Architecture (AREA)
- Structural Engineering (AREA)
- Civil Engineering (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明涉及一种具有存储器的设备,可与虚拟化RAID控制器工作,以通过测试多个I/O操作的性能特性来确定最佳I/O配置。
Description
技术领域
本发明涉及配置用于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内,一个或多个交换机连接各设备,并且在主机和存储设备之间通过SAN提供路由。SAN虚拟化存储设备从而确保连接到SAN的存储设备的互操作性。虚拟化SAN中的存储设备的一个特性是存储设备的实际实现细节对于SAN中的其他设备可能是未知的。例如,SAN中的主机可能不能确定连至SAN的存储设备是实现为单磁盘还是RAID存储系统。虚拟化SAN中的存储设备还允许将数据分散到多个存储设备,包括多个RAID存储系统上,从而进一步提高性能和可靠性。这使用可以连至SAN中的交换机的存储工具(storageappliance)如IBM TotalStorage(总存储)虚拟化引擎来实现。最好高速缓冲存储器不集成在存储设备如RAID存储系统内,而是在SAN内单独实现,从而当将数据分散到多个SAN存储设备上时可以使用它们。例如,可以在连至SAN内的交换机的存储工具内实现高速缓冲存储器。
在高速缓冲存储器不与RAID存储系统的RAID控制器相集成并且例如通过SAN虚拟化RAID控制器的情况下,RAID存储系统的特定数据带大小和对齐特性不容易用于高速缓冲存储器。将高速缓冲存储器与虚拟化RAID控制器相分离导致的一个问题是不能采用适当的数据带大小和对齐特性来自动配置高速缓冲存储器,因为这些特性对于高速缓冲存储器是未知的,并且必须人工进行配置或者根本不进行配置。不适当的数据带大小和对齐特性的后果包括由于写入操作不太可能是适当数据带对齐的而导致遇到读取-修改-写入问题的可能性增大。因此最好是提供一种减轻传统存储系统的这些问题的系统和方法。
发明内容
因此,在第一方面,本发明提供一种可与虚拟化RAID控制器工作的具有存储器的设备,包含:用于执行多个I/O操作的装置,其中所述I/O操作包括向RAID控制器写入数据块;用于测试所述多个I/O操作的性能特性的装置;和用于响应所述测试而设置后续I/O操作的最优I/O配置的装置,其中所述I/O配置包括数据长度和数据对齐。这提供一个优点是向虚拟化RAID控制器写入存储在存储器中的数据的写入操作具有适当的长度和对齐,以提供数据带对齐写入而不遇到读取-修改-写入问题。
最好,存储器是高速缓冲存储器。
最好,性能特性是响应时间。
因此在第二方面,本发明提供一种用于操作可与虚拟化RAID控制器工作、具有存储器的设备的方法,包括以下步骤:执行多个I/O操作,其中所述I/O操作包括向RAID控制器写入数据块;测试所述多个I/O操作的性能特性;以及响应于所述测试步骤,设置后续I/O操作的最优I/O配置,其中所述I/O配置包括数据长度和数据对齐。
附图说明
现在将参照附图仅作为示例来描述本发明的优选实施例,其中:
图1是本发明优选实施例中的存储区域网(SAN)的结构示意图;
图2是虚拟存储设备的示例结构示意图;
图3是在其之间将图2的存储块进行数据条分割的图1所示的存储设备阵列的示例结构示意图;
图4是示出当向虚拟存储设备写入时由存储工具发起的写入操作的各组成部分的方框图;以及
图5是示出用于配置图1的存储工具以向图2的虚拟存储设备提供数据带对齐写入操作的方法的流程图。
具体实施方式
图1是本发明优选实施例中的存储区域网(SAN)102的结构示意图。SAN102包括交换机106,其中,交换机106包括存储工具1062。在本优选实施例中,存储工具1062是IBM TotalStorage虚拟化引擎。存储工具1062包括存储器10622、数据带大小属性10624以及数据带对齐属性10626。在本优选实施例中,存储器10622是高速缓冲存储器。可选地,存储器10622是输入缓冲器或输出缓冲器。数据带大小属性10624和数据带对齐属性10626是存储工具1062的配置参数。SAN 102将主机104连接到RAID存储系统108。在本优选实施例中,主机104是计算机系统。RAID存储系统108包括RAID控制器1082和存储设备阵列1084。在本优选实施例中,存储设备阵列1084是磁盘阵列。RAID控制器1082使用数据条分割来将数据分散到存储设备阵列1084上。RAID控制器1082还为存储在存储设备阵列1084上的数据维护奇偶信息。使用这些技术,RAID控制器1082提供对作为单个虚拟存储设备的存储设备阵列1084的可靠访问。
图2是虚拟存储设备20的示例结构示意图。虚拟存储设备不是物理存储设备-相反,它表示通过RAID控制器1082提供给SAN 102和主机104的存储设备阵列1084。虚拟存储设备20包括存储块202、204、206和208的顺序列表,它们均是存储固定数据量的存储单元。存储块202、204、206和208各自具有存储容量,表示它们可以存储的数据字节数,并且存储块202、204、206和208的每个的存储容量均相同。如图3所示和如下所述,存储块202、204、206和208由RAID控制器1082在存储设备阵列1084之间进行数据条分割。
图3是在其之间将图2的存储块202、204、206和208进行数据条分割的图1所示的存储设备阵列1084的示例结构示意图。存储设备阵列1084包括单独存储设备30、32和34。存储在虚拟存储设备20中的数据由RAID控制器1082在存储设备阵列1084之间进行数据条分割。数据带36包括分别存储在存储设备30、32和34上的数据条302、322以及奇偶数据条342。在本示例结构中,数据条302、322和奇偶数据条342均包含两个存储块。因此,虚拟存储设备20如下在存储设备阵列1084之间进行数据条分割:存储块202和204存储在存储设备30上的数据条302中;并且存储块206和208存储在存储设备32上的数据条322中。另外,RAID控制器1082在存储设备34上维护奇偶数据条342。奇偶数据条342包括两个存储奇偶数据的存储块3422和3424。奇偶数据是由RAID控制器1082使用异或(XOR)逻辑运算器来算出的。存储在存储块3422内的奇偶数据是存储在存储块202中的数据与存储在存储块206中的数据的异或。存储在存储块3424内的奇偶数据是存储在存储块204中的数据与存储在存储块208中的数据的异或。在出现单个故障点例如存储设备30或32之一出现故障的情况下,可以使用奇偶数据条342来重新生成数据带36中的丢失数据条。
工作时,主机104可以与RAID存储系统108一起工作,从而主机104能够执行对虚拟存储设备20的输入和输出(I/O)操作。对虚拟存储设备20的I/O操作通过交换机106和存储工具1062来发生。交换机106将I/O操作引导到使用存储器10622对虚拟存储设备20执行数据带对齐写入操作的存储工具1062。当存储工具1062对虚拟存储设备20执行I/O操作时,RAID控制器1082将I/O操作转换成存储设备阵列1084上的I/O操作。RAID存储系统108和RAID控制器1082可以称作是由SAN 102中的交换机106和存储工具1062虚拟化。
图4是示出当向虚拟存储设备20写入时由存储工具1062发起的写入操作402的各组成部分的方框图。写入操作402包括要写入到虚拟存储设备20的数据单元404。写入操作402还包括数据大小参数406。数据大小参数406的值是要写入到虚拟存储设备20的数据单元404的大小的量度,并且可以表达为虚拟存储设备20的存储块数。写入操作402还包括块参数408。块参数408的值标识应向虚拟存储设备20的存储块202、204、206或208中的哪一个写入数据单元404。特定写入操作的数据大小参数406和块参数408的组合称作写入操作402的参数元组(tuple)。工作时,写入操作402使得数据单元404以块参数408所标识的存储块开始写入到虚拟存储设备20。本领域的技术人员应该熟悉,在向存储设备中的初始存储块写入大于存储块容量的数据单元的情况下,使用以初始存储块开始的顺序存储块集合来存储该数据单元。
为了让存储工具1062使用存储器10622向虚拟存储设备20提供数据带对齐写入操作,需要使用RAID控制器1082的适当数据带大小属性10624和数据带对齐属性10626配置存储工具1062。这些参数可以由存储工具1062通过分析向虚拟存储设备20的一系列写入操作的性能来确定,其中,每个写入操作均具有不同的参数元组。在本优选实施例中,这些写入操作是在RAID存储系统108另外空闲的时候发生的。
图5是示出用于配置图1的存储工具1062以向图2的虚拟存储设备20提供数据带对齐写入操作的方法的流程图。图5的方法由存储工具1062执行,并且涉及向虚拟存储设备20的重复写入操作。在步骤500,编译由多个参数元组构成的集合,其中,每个参数元组包括数据大小参数506和块参数508的不同组合。步骤502发起对参数元组集合中的各参数元组进行循环。在步骤504,对于每个参数元组,存储工具1062以该参数元组作为写入参数执行向虚拟存储设备20的写入操作。在步骤506,执行写入操作的性能测量并对此进行记录。在本优选实施例中,性能测量包括测量完成步骤504的写入操作所花的时间。性能测量可以记录到存储工具1062的存储设备如随机存取存储器(未示出)中。步骤508继续对各参数元组的循环。在步骤510,从每个写入操作的性能记录中确定性能最佳的写入操作。在本优选实施例中,性能最佳的写入操作确定为完成所花时间最少的写入操作。在确定性能最佳的写入操作中,识别对应的参数元组。随后,在步骤512,将存储工具1062配置成使得数据带大小10624的值设为性能最佳的写入操作的数据大小参数406的值,并且把数据带对齐10626的值配置成性能最佳的写入操作的块参数408。
根据性能最佳的写入操作的参数元组采用数据带大小10624和数据带对齐10626参数配置存储工具1062支持存储工具1062使用存储器10622作为高速缓冲存储器来执行数据带对齐写入操作。存储工具1062的数据带对齐写入操作将不会遇到读取-修改-写入问题,从而提高I/O性能。
作为示例,现在将针对下表给出的三个参数元组的集合来考虑图5的方法。
参数元组 | 数据大小参数406 | 块参数408 |
Q | 三个块 | 虚拟存储设备20中的块204 |
R | 两个块 | 虚拟存储设备20中的块202 |
S | 四个块 | 虚拟存储设备20中的块202 |
在步骤500,如表1所示定义参数元组Q、R和S的集合。步骤502发起对各参数元组的循环,以参数元组Q开始。在步骤504,存储工具1062采用参数元组Q作为写入参数来执行向虚拟存储设备20的写入操作。因此,发生写入操作,其中,在虚拟存储设备20的存储块204上写入三个数据块。现在参照图2,参数元组Q的写入操作导致数据写入到虚拟存储设备20中的存储块204、206和208中。该写入操作由RAID控制器1082转换成存储设备阵列1084上的写入操作。现在参照图3,参数元组Q的写入操作导致数据写入到存储设备阵列1084中数据条302的存储块204以及数据条322的存储块206和208。因此,不是整个数据带36被写入(存储块202未被写入),并且必须使用读取-修改-写入处理来更新奇偶数据条342以反映对存储块204、206和208的改变。更新奇偶数据条的后果是增大完成参数元组Q的写入操作所需的时间,从而降低在步骤506测量和记录的写入操作性能。在步骤508,循环继续到如下所述的下一个参数元组R。
在步骤504,存储工具1062采用参数元组R作为写入参数来执行向虚拟存储设备20的写入操作。因此,发生写入操作,其中,在虚拟存储设备20的存储块202上写入两个数据块。现在参照图2,参数元组R的写入操作导致数据写入到虚拟存储设备20中的存储块202和204。该写入操作由RAID控制器1082转换成存储设备阵列1084上的写入操作。现在参照图3,参数元组R的写入操作导致数据写入到存储设备阵列1084中的数据条302的存储块202和204。因此,不是整个数据带36被写入(存储块206和208未被写入),并且必须使用读取-修改-写入处理来更新奇偶数据条342以反映对存储块202和204的改变。更新奇偶数据条的后果是增加了完成参数元组R的写入操作所需的时间,从而降低在步骤506测量和记录的写入操作性能。在步骤508,循环继续到如下所述的下一个参数元组S。
在步骤504,存储工具1062采用参数元组S作为写入参数来执行向虚拟存储设备20的写入操作。因此,发生写入操作,其中,在虚拟存储设备20的存储块202上写入四个数据块。现在参照图2,参数元组S的写入操作导致数据写入到虚拟存储设备20中的存储块202、204、206和208。该写入操作由RAID控制器1082转换成存储设备阵列1084上的写入操作。现在参照图3,参数元组S的写入操作导致数据写入到存储设备阵列1084中的数据条302的存储块202和204以及数据条322的存储块206和208中。因此,写入整个数据带36并且由RAID控制器1082计算奇偶数据条342。由于参数元组S的写入操作没有遇到读取-修改-写入问题,因此在步骤506测量和记录的写入操作性能高。在步骤508,由于所有三个参数元组Q、R和S均被处理,因此循环终止。
在步骤510,根据各写入操作的性能记录确定性能最佳的写入操作。在本例中,参数元组Q和R的写入操作遇到读取-修改-写入问题,因此具有低性能。参数元组S的写入操作没有遇到读取-修改-写入问题,因此由于完成它所需的时间最少而是性能最高的写入操作。随后在步骤512,将存储工具1062配置成使数据带大小10624的值被设成性能最佳的写入操作的数据大小参数406的值,并且将数据带对齐10626的值配置成性能最佳的写入操作的块参数408。因此,将数据带大小10624的值设成四个块的大小,并且将数据带对齐10626的值设成虚拟存储设备20中的块202。
Claims (11)
1.一种可与虚拟化RAID控制器工作的具有存储器的设备,包含:
用于执行多个I/O操作的装置,其中所述I/O操作包括向RAID控制器写入数据块;
用于测试所述多个I/O操作的性能特性的装置;和
用于响应所述测试而设置后续I/O操作的最优I/O配置的装置,其中所述I/O配置包括数据长度和数据对齐。
2.如权利要求1所述的设备,其中所述存储器是高速缓冲存储器。
3.如权利要求1所述的设备,其中所述存储器是输入缓冲器。
4.如权利要求1所述的设备,其中所述存储器是输出缓冲器。
5.如权利要求1所述的设备,其中所述性能特性是响应时间。
6.一种用于操作可与虚拟化RAID控制器工作、具有存储器的设备的方法,包括以下步骤:
执行多个I/O操作,其中所述I/O操作包括向RAID控制器写入数据块;
测试所述多个I/O操作的性能特性;以及
响应于所述测试步骤,设置后续I/O操作的最优I/O配置,其中所述I/O配置包括数据长度和数据对齐。
7.如权利要求6所述的方法,其中所述方法是在RAID控制器空闲的时候执行的。
8.如权利要求6所述的方法,其中所述存储器是高速缓冲存储器。
9.如权利要求6所述的方法,其中所述存储器是输入缓冲器。
10.如权利要求6所述的方法,其中所述存储器是输出缓冲器。
11.如权利要求6所述的方法,其中所述性能特性是响应时间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0309538.7 | 2003-04-26 | ||
GB0309538A GB2400935B (en) | 2003-04-26 | 2003-04-26 | Configuring memory for a raid storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1542600A CN1542600A (zh) | 2004-11-03 |
CN1280702C true CN1280702C (zh) | 2006-10-18 |
Family
ID=33042180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100053556A Expired - Fee Related CN1280702C (zh) | 2003-04-26 | 2004-02-11 | 配置用于独立磁盘冗余阵列存储系统的存储器及其操作方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7191285B2 (zh) |
JP (2) | JP2004326759A (zh) |
KR (1) | KR100637779B1 (zh) |
CN (1) | CN1280702C (zh) |
GB (1) | GB2400935B (zh) |
TW (1) | TWI266187B (zh) |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040011532A1 (en) * | 2002-07-16 | 2004-01-22 | White Jack D. | Combined rod guide and rod rotator device |
US8560671B1 (en) | 2003-10-23 | 2013-10-15 | Netapp, Inc. | Systems and methods for path-based management of virtual servers in storage network environments |
US20060095138A1 (en) * | 2004-06-09 | 2006-05-04 | Csaba Truckai | Composites and methods for treating bone |
US7678116B2 (en) | 2004-12-06 | 2010-03-16 | Dfine, Inc. | Bone treatment systems and methods |
US7559932B2 (en) * | 2004-12-06 | 2009-07-14 | Dfine, Inc. | Bone treatment systems and methods |
US7682378B2 (en) | 2004-11-10 | 2010-03-23 | Dfine, Inc. | Bone treatment systems and methods for introducing an abrading structure to abrade bone |
US20060100706A1 (en) * | 2004-11-10 | 2006-05-11 | Shadduck John H | Stent systems and methods for spine treatment |
DE102005023258A1 (de) * | 2004-11-16 | 2006-11-23 | Fan Separator Gmbh | Drehtrommel zur aeroben Erwärmung rieselfähiger Feststoffe |
US8562607B2 (en) * | 2004-11-19 | 2013-10-22 | Dfine, Inc. | Bone treatment systems and methods |
US20060122614A1 (en) * | 2004-12-06 | 2006-06-08 | Csaba Truckai | Bone treatment systems and methods |
US8070753B2 (en) * | 2004-12-06 | 2011-12-06 | Dfine, Inc. | Bone treatment systems and methods |
US7722620B2 (en) | 2004-12-06 | 2010-05-25 | Dfine, Inc. | Bone treatment systems and methods |
US7717918B2 (en) * | 2004-12-06 | 2010-05-18 | Dfine, Inc. | Bone treatment systems and methods |
US7302522B2 (en) * | 2004-12-27 | 2007-11-27 | Lsi Corporation | Optimizing I/O performance in a RAID subsystem using an adaptive maximum request size for a logical drive |
CN100354833C (zh) * | 2005-01-14 | 2007-12-12 | 英业达股份有限公司 | San系统异常情况下的保护方法 |
CN100388239C (zh) * | 2005-01-18 | 2008-05-14 | 英业达股份有限公司 | 在线增加廉价磁盘冗余阵列磁盘数量的方法与系统 |
JP2007011673A (ja) * | 2005-06-30 | 2007-01-18 | Fujitsu Ltd | ホスト間データ転送方法、プログラム及びシステム |
US8540723B2 (en) | 2009-04-14 | 2013-09-24 | Dfine, Inc. | Medical system and method of use |
US9066769B2 (en) | 2005-08-22 | 2015-06-30 | Dfine, Inc. | Bone treatment systems and methods |
US8777479B2 (en) | 2008-10-13 | 2014-07-15 | Dfine, Inc. | System for use in bone cement preparation and delivery |
US20070118144A1 (en) * | 2005-09-01 | 2007-05-24 | Csaba Truckai | Systems for sensing retrograde flows of bone fill material |
CN100336007C (zh) * | 2005-09-29 | 2007-09-05 | 威盛电子股份有限公司 | 磁盘阵列数据写入方法 |
JP4817783B2 (ja) | 2005-09-30 | 2011-11-16 | 富士通株式会社 | Raidシステム及びそのリビルド/コピーバック処理方法 |
JP4472617B2 (ja) * | 2005-10-28 | 2010-06-02 | 富士通株式会社 | Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法 |
US7451354B2 (en) * | 2006-01-06 | 2008-11-11 | International Business Business Machines | Apparatus and method to configure, format, and test, a data storage subsystem product |
US20070214314A1 (en) * | 2006-03-07 | 2007-09-13 | Reuter James M | Methods and systems for hierarchical management of distributed data |
US7415574B2 (en) * | 2006-07-05 | 2008-08-19 | Cisco Technology, Inc. | Dynamic, on-demand storage area network (SAN) cache |
US8046629B1 (en) * | 2006-07-24 | 2011-10-25 | Marvell World Trade Ltd. | File server for redundant array of independent disks (RAID) system |
US7676702B2 (en) * | 2006-08-14 | 2010-03-09 | International Business Machines Corporation | Preemptive data protection for copy services in storage systems and applications |
US8696679B2 (en) | 2006-12-08 | 2014-04-15 | Dfine, Inc. | Bone treatment systems and methods |
WO2008097855A2 (en) * | 2007-02-05 | 2008-08-14 | Dfine, Inc. | Bone treatment systems and methods |
JP4347351B2 (ja) * | 2007-02-15 | 2009-10-21 | 富士通株式会社 | データ暗号化装置、データ復号化装置、データ暗号化方法、データ復号化方法およびデータ中継装置 |
US8065398B2 (en) * | 2007-03-19 | 2011-11-22 | Network Appliance, Inc. | Method and apparatus for application-driven storage provisioning on a unified network storage system |
US7882393B2 (en) * | 2007-03-28 | 2011-02-01 | International Business Machines Corporation | In-band problem log data collection between a host system and a storage system |
US8556910B2 (en) | 2007-04-03 | 2013-10-15 | Dfine, Inc. | Bone treatment systems and methods |
WO2008137428A2 (en) | 2007-04-30 | 2008-11-13 | Dfine, Inc. | Bone treatment systems and methods |
US7779308B2 (en) * | 2007-06-21 | 2010-08-17 | International Business Machines Corporation | Error processing across multiple initiator network |
US7856022B1 (en) * | 2007-06-28 | 2010-12-21 | Emc Corporation | Non-disruptive data migration with external virtualization engine |
US9597118B2 (en) | 2007-07-20 | 2017-03-21 | Dfine, Inc. | Bone anchor apparatus and method |
EP2248003A1 (en) * | 2007-12-31 | 2010-11-10 | Netapp, Inc. | System and method for automatic storage load balancing in virtual server environments |
US9445854B2 (en) * | 2008-02-01 | 2016-09-20 | Dfine, Inc. | Bone treatment systems and methods |
EP2252336B1 (en) | 2008-02-28 | 2014-06-25 | Dfine, Inc. | Bone treatment systems and methods |
US9180416B2 (en) | 2008-04-21 | 2015-11-10 | Dfine, Inc. | System for use in bone cement preparation and delivery |
US8171339B2 (en) * | 2008-06-02 | 2012-05-01 | International Business Machines Corporation | Testing a virtualised storage system in response to disk exercising commands |
JP2010009548A (ja) * | 2008-06-30 | 2010-01-14 | Toshiba Corp | 記憶装置、制御装置、記憶システム、および記憶方法 |
TW201028845A (en) * | 2009-01-16 | 2010-08-01 | Inventec Corp | RAID testing method and testing system |
US8266501B2 (en) * | 2009-09-29 | 2012-09-11 | Micron Technology, Inc. | Stripe based memory operation |
US8495289B2 (en) * | 2010-02-24 | 2013-07-23 | Red Hat, Inc. | Automatically detecting discrepancies between storage subsystem alignments |
US10922225B2 (en) | 2011-02-01 | 2021-02-16 | Drobo, Inc. | Fast cache reheat |
WO2012106418A2 (en) * | 2011-02-01 | 2012-08-09 | Drobo, Inc. | System, apparatus, and method supporting asymmetrical block-level redundant storage |
US20120278527A1 (en) * | 2011-04-26 | 2012-11-01 | Byungcheol Cho | System architecture based on hybrid raid storage |
US20120278550A1 (en) * | 2011-04-26 | 2012-11-01 | Byungcheol Cho | System architecture based on raid controller collaboration |
US9176670B2 (en) * | 2011-04-26 | 2015-11-03 | Taejin Info Tech Co., Ltd. | System architecture based on asymmetric raid storage |
JP2012252485A (ja) * | 2011-06-02 | 2012-12-20 | Nec Corp | 記憶制御装置、及び、記憶制御方法 |
US8650471B2 (en) * | 2011-06-28 | 2014-02-11 | Dell Products L.P. | System and method for look-aside parity based raid |
US8327185B1 (en) | 2012-03-23 | 2012-12-04 | DSSD, Inc. | Method and system for multi-dimensional raid |
US9411817B2 (en) * | 2013-09-23 | 2016-08-09 | Google Inc. | Programmatically choosing preferred storage parameters for files in large-scale distributed storage systems based on desired file reliability or availability |
US9477679B2 (en) * | 2013-09-20 | 2016-10-25 | Google Inc. | Programmatically choosing preferred storage parameters for files in large-scale distributed storage systems |
CN103645995B (zh) * | 2013-12-04 | 2016-12-07 | 华为技术有限公司 | 写数据的方法及装置 |
US9830110B2 (en) * | 2014-06-20 | 2017-11-28 | Dell Products, Lp | System and method to enable dynamic changes to virtual disk stripe element sizes on a storage controller |
US9917790B2 (en) | 2014-07-31 | 2018-03-13 | Microsoft Technology Licensing, Llc | Storage device access mediation |
JP6540068B2 (ja) * | 2015-02-10 | 2019-07-10 | 富士通株式会社 | ストレージ制御装置、制御方法、および制御プログラム |
US10466913B2 (en) | 2015-04-29 | 2019-11-05 | EMC IP Holding Company LLC | Method and system for replicating and using grid level metadata in a storage system |
US10254992B2 (en) * | 2015-04-30 | 2019-04-09 | International Business Machines Corporation | Rebalancing data storage in a dispersed storage network |
US9740440B2 (en) * | 2015-05-21 | 2017-08-22 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Separating a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array |
WO2016190891A1 (en) * | 2015-05-23 | 2016-12-01 | Hewlett Packard Enterprise Development Lp | Translate data operations based on data stripe size |
US10127113B1 (en) | 2016-03-31 | 2018-11-13 | EMC IP Holding Company LLC | Method and system for checkerboard RAID |
US12001676B2 (en) | 2016-09-01 | 2024-06-04 | Samsung Electronics Co., Ltd. | Storage device and host for the same |
US10969960B2 (en) * | 2016-09-01 | 2021-04-06 | Samsung Electronics Co., Ltd. | Storage device and host for the same |
US10339062B2 (en) | 2017-04-28 | 2019-07-02 | EMC IP Holding Company LLC | Method and system for writing data to and read data from persistent storage |
US10289491B1 (en) | 2017-04-28 | 2019-05-14 | EMC IP Holding Company LLC | Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance |
US10614019B2 (en) | 2017-04-28 | 2020-04-07 | EMC IP Holding Company LLC | Method and system for fast ordered writes with target collaboration |
US10466930B2 (en) | 2017-04-28 | 2019-11-05 | EMC IP Holding Company LLC | Method and system for fast ordered writes with atomic multicast |
CN109683817A (zh) * | 2018-12-14 | 2019-04-26 | 浪潮电子信息产业股份有限公司 | 一种数据写入方法、系统及电子设备和存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3747788B2 (ja) * | 1993-06-21 | 2006-02-22 | 株式会社日立製作所 | 計算機システムおよび二次記憶装置 |
US5615335A (en) * | 1994-11-10 | 1997-03-25 | Emc Corporation | Storage system self-test apparatus and method |
US5623598A (en) * | 1994-11-22 | 1997-04-22 | Hewlett-Packard Company | Method for identifying ways to improve performance in computer data storage systems |
JP3201219B2 (ja) | 1995-05-29 | 2001-08-20 | 三菱電機株式会社 | 入出力処理システム |
JP3400297B2 (ja) | 1997-06-04 | 2003-04-28 | 株式会社日立製作所 | 記憶サブシステムおよび記憶サブシステムのデータコピー方法 |
US6567889B1 (en) * | 1997-12-19 | 2003-05-20 | Lsi Logic Corporation | Apparatus and method to provide virtual solid state disk in cache memory in a storage controller |
JPH11203055A (ja) * | 1998-01-09 | 1999-07-30 | Alps Electric Co Ltd | ディスクアレイ装置 |
WO2000067250A2 (en) * | 1999-05-03 | 2000-11-09 | 3Ware Company | Methods and systems for mirrored disk arrays |
US6629158B1 (en) * | 2000-02-16 | 2003-09-30 | International Business Machines Corporation | System, apparatus, and method for configuring an array controller |
JP3557994B2 (ja) * | 2000-04-05 | 2004-08-25 | 日本電気株式会社 | ファイルデータ格納装置及び方法並びに記録媒体 |
US6687765B2 (en) * | 2001-01-16 | 2004-02-03 | International Business Machines Corporation | System, method, and computer program for explicitly tunable I/O device controller |
US6665743B2 (en) * | 2001-04-18 | 2003-12-16 | International Business Machines Corporation | Method, system, and program for initializing a storage space |
US20030135609A1 (en) * | 2002-01-16 | 2003-07-17 | Sun Microsystems, Inc. | Method, system, and program for determining a modification of a system resource configuration |
-
2003
- 2003-04-26 GB GB0309538A patent/GB2400935B/en not_active Expired - Fee Related
-
2004
- 2004-02-11 CN CNB2004100053556A patent/CN1280702C/zh not_active Expired - Fee Related
- 2004-03-23 US US10/806,620 patent/US7191285B2/en not_active Expired - Fee Related
- 2004-03-24 TW TW093108024A patent/TWI266187B/zh not_active IP Right Cessation
- 2004-04-06 JP JP2004112539A patent/JP2004326759A/ja active Pending
- 2004-04-19 KR KR1020040026774A patent/KR100637779B1/ko not_active IP Right Cessation
-
2007
- 2007-01-08 US US11/620,758 patent/US20070113008A1/en not_active Abandoned
-
2009
- 2009-04-23 JP JP2009104812A patent/JP2009163773A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2004326759A (ja) | 2004-11-18 |
KR100637779B1 (ko) | 2006-10-25 |
US20070113008A1 (en) | 2007-05-17 |
TW200500856A (en) | 2005-01-01 |
US7191285B2 (en) | 2007-03-13 |
KR20040092424A (ko) | 2004-11-03 |
US20040225926A1 (en) | 2004-11-11 |
TWI266187B (en) | 2006-11-11 |
GB2400935B (en) | 2006-02-15 |
GB2400935A (en) | 2004-10-27 |
CN1542600A (zh) | 2004-11-03 |
JP2009163773A (ja) | 2009-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1280702C (zh) | 配置用于独立磁盘冗余阵列存储系统的存储器及其操作方法 | |
US8726070B2 (en) | System and method for information handling system redundant storage rebuild | |
US6647460B2 (en) | Storage device with I/O counter for partial data reallocation | |
KR100392382B1 (ko) | 동적 크기 변경 및 메타 데이터 양의 최소화를 위한 논리볼륨 관리 방법 | |
US7424582B2 (en) | Storage system, formatting method and computer program to enable high speed physical formatting | |
KR100974043B1 (ko) | 디스크 데이터 기억 시스템의 유지보수비를 결정하기 위한주문형 비용량성 기반 방법, 장치 및 컴퓨터 프로그램 | |
US8516204B2 (en) | Memory control device and method for controlling the same | |
US9996557B2 (en) | Database storage system based on optical disk and method using the system | |
US8930745B2 (en) | Storage subsystem and data management method of storage subsystem | |
KR970022765A (ko) | 알에이아이디(raid) 제어기 및 데이터 기록 방법 | |
US20140075240A1 (en) | Storage apparatus, computer product, and storage control method | |
CN103534688B (zh) | 数据恢复方法、存储设备和存储系统 | |
US8037332B2 (en) | Quad-state power-saving virtual storage controller | |
US20070101188A1 (en) | Method for establishing stable storage mechanism | |
TWI820689B (zh) | 磁帶庫階層式儲存管理之方法、相關電腦程式產品及電腦系統 | |
US20080250269A1 (en) | System and Method for Improving Rebuild Speed Using Data in Disk Block | |
US10705853B2 (en) | Methods, systems, and computer-readable media for boot acceleration in a data storage system by consolidating client-specific boot data in a consolidated boot volume | |
CN108984353B (zh) | 基于Vdbench构造热点数据测试数据分层的方法 | |
US11163482B2 (en) | Dynamic performance-class adjustment for storage drives | |
US20200411111A1 (en) | Dynamic writes-per-day adjustment for storage drives | |
JPH06214722A (ja) | ディスクアレイ装置のデータ格納方式 | |
CN117608470A (zh) | 一种数据存储方法及服务器 | |
JP5962145B2 (ja) | ディスクアレイ装置、ディスクアレイコントローラ、ログ出力方法およびプログラム | |
CN1425983A (zh) | 可适用多重磁碟阵列系统的阵列配置检验方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20061018 Termination date: 20190211 |