JP2009163773A - Raidストレージ・システム用にメモリを構成すること - Google Patents
Raidストレージ・システム用にメモリを構成すること Download PDFInfo
- Publication number
- JP2009163773A JP2009163773A JP2009104812A JP2009104812A JP2009163773A JP 2009163773 A JP2009163773 A JP 2009163773A JP 2009104812 A JP2009104812 A JP 2009104812A JP 2009104812 A JP2009104812 A JP 2009104812A JP 2009163773 A JP2009163773 A JP 2009163773A
- Authority
- JP
- Japan
- Prior art keywords
- storage
- data
- storage device
- parameter
- value
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 238000012360 testing method Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Classifications
-
- 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/06—Parts for wire fences
- E04H17/08—Anchoring means therefor, e.g. specially-shaped parts entering the ground; Struts or the like
-
- 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)
- Tests Of Electronic Circuits (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
【課題】仮想RAIDコントローラからキャッシュ・メモリを分離すると、適切なストライプ・サイズおよび調整特性でキャッシュ・メモリを自動的に構成することができない。
【解決手段】複数のI/O操作の性能特性をテストすることによって最適なI/O構成を決定する仮想RAIDコントローラとともに動作可能なメモリを有する装置であり、I/O操作がそれぞれRAIDコントローラにデータ・ブロックを書き込むことを含み、I/O構成がデータ長およびデータ調整を含む。
【選択図】図1
【解決手段】複数のI/O操作の性能特性をテストすることによって最適なI/O構成を決定する仮想RAIDコントローラとともに動作可能なメモリを有する装置であり、I/O操作がそれぞれRAIDコントローラにデータ・ブロックを書き込むことを含み、I/O構成がデータ長およびデータ調整を含む。
【選択図】図1
Description
本発明は、RAIDストレージ・システム用にメモリを構成することに関し、より詳細には、仮想RAIDコントローラおよび分離したメモリを含むRAIDストレージ・システム用にメモリを構成することに関する。
ストレージ・システムでは、RAID(Redundant Array ofIndependent
Disks)として知られる技術を用いて、独立した記憶装置アレイを単一の仮想記憶装置として動作するように構成することができる。RAIDストレージ・システムとともに動作するように構成されたコンピュータ・システムでは、RAIDストレージ・システムが単一の記憶装置であるかのように、RAIDストレージ・システム上で(読取りおよび書込み操作などの)I/O(入出力)操作を行うことができる。RAIDストレージ・システムは、独立した記憶装置アレイおよびRAIDコントローラを含む。RAIDコントローラにより、独立した記憶装置アレイの仮想ビューが得られる。すなわち、独立した記憶装置アレイが、記憶要素のシーケンシャル・リストを備えた単一の仮想記憶装置に見える。一般に、これらの記憶要素は記憶ブロックとして知られ、記憶ブロック中に記憶されたデータはデータ・ブロックとして知られている。I/O操作は、仮想記憶装置内の1つまたは複数の記憶ブロックに関して有効となる。仮想記憶装置上でI/O操作を実施する際、RIADコントローラは、独立した記憶装置アレイ上にI/O操作をマップする。記憶装置アレイを仮想化し、I/O操作をマップするために、RIADコントローラは、ディー・パターソン(D.Patterson)ら、「RAID(Redundant Arrays of Inexpensive Disks)の事例(A
Case forRedundant Array of Inexpensive Disks(RAID))」、1988年の論文で論じられている標準のRAID技術を用いることができる。以下にこれらの技術の一部を検討する。
Disks)として知られる技術を用いて、独立した記憶装置アレイを単一の仮想記憶装置として動作するように構成することができる。RAIDストレージ・システムとともに動作するように構成されたコンピュータ・システムでは、RAIDストレージ・システムが単一の記憶装置であるかのように、RAIDストレージ・システム上で(読取りおよび書込み操作などの)I/O(入出力)操作を行うことができる。RAIDストレージ・システムは、独立した記憶装置アレイおよびRAIDコントローラを含む。RAIDコントローラにより、独立した記憶装置アレイの仮想ビューが得られる。すなわち、独立した記憶装置アレイが、記憶要素のシーケンシャル・リストを備えた単一の仮想記憶装置に見える。一般に、これらの記憶要素は記憶ブロックとして知られ、記憶ブロック中に記憶されたデータはデータ・ブロックとして知られている。I/O操作は、仮想記憶装置内の1つまたは複数の記憶ブロックに関して有効となる。仮想記憶装置上でI/O操作を実施する際、RIADコントローラは、独立した記憶装置アレイ上にI/O操作をマップする。記憶装置アレイを仮想化し、I/O操作をマップするために、RIADコントローラは、ディー・パターソン(D.Patterson)ら、「RAID(Redundant Arrays of Inexpensive Disks)の事例(A
Case forRedundant Array of Inexpensive Disks(RAID))」、1988年の論文で論じられている標準のRAID技術を用いることができる。以下にこれらの技術の一部を検討する。
単一の仮想記憶装置として記憶装置アレイの仮想ビューを提供する際、RAIDコントローラの機能は、仮想記憶装置内でアレイ全体にわたってデータ・ブロックを分散させることである。これを実現する一方法は、ストライピングとして知られる技術を用いることである。ストライピングは、複数の記憶装置全体にわたってデータ・ブロックを順番に分散させるというものである。RAIDストレージ・システム内にデータ・ブロックを記憶させるとき、各記憶装置中にストリップとして知られる複数のデータ・ブロックを記憶させる。ストリップのサイズは、個々のRAIDの実施形態によって決まることもあるし、構成可能とすることもできる。第1記憶装置上に記憶された第1ストリップおよび後続の記憶装置に記憶された後続のストリップを含むストリップ列は、ストライプとして知られている。ストライプのサイズは、ストライプを構成するすべてのストリップの合計サイズである。このようにしてデータ・ブロックを記憶するのに複数の独立した記憶装置を使用すると、複数の記憶装置がI/O操作中に並列に動作し得るので、単一の記憶装置に比べて高性能のI/O操作が行われる。
ディスク型記憶装置などの物理的な記憶装置は信頼性が低いことで知られており、RAIDコントローラの別の機能は、信頼性のあるストレージ・システムを提供することである。信頼性を高めるための一技法は、独立した記憶装置アレイ内にデータとともにチェック情報を記憶させることである。チェック情報は、このような装置アレイ内の1つの記憶装置の障害など、単一障害点(single
point of failure)のために読取り不能になったデータを再生成することができる冗長情報である。可読データと冗長チェック情報の組合せから読取り不能データを再生成する。チェック情報は、ストライプ中の1つのストリップを占めるパリティ・データとして記録し、そのストライプ中のすべてのデータ・ストリップにXOR(排他的論理和)論理演算子を適用することによって計算する。たとえば、データ・ストリップA、BおよびCを含むストライプに、A XOR B XOR Cとして演算したパリティ・ストリップをさらに付加する。ストレージ・システムにおける単一障害点時に、このパリティ・ストリップを用いてアクセス不能なデータ・ストリップを再生成する。たとえば、4つの独立した記憶装置W、X、YおよびZ全体にわたってそれぞれデータ・ストリップA、BおよびCならびにPARITYを含むストライプを記憶させ、記憶装置Xに障害が発生した場合、装置X上に記憶させたストリップBはアクセス不能になるであろう。ストリップBは、残りのデータ・ストリップおよびPARITYストリップからXOR演算によって計算することができる。この復元演算は、A XOR C XOR PARITY=Bとなる。
point of failure)のために読取り不能になったデータを再生成することができる冗長情報である。可読データと冗長チェック情報の組合せから読取り不能データを再生成する。チェック情報は、ストライプ中の1つのストリップを占めるパリティ・データとして記録し、そのストライプ中のすべてのデータ・ストリップにXOR(排他的論理和)論理演算子を適用することによって計算する。たとえば、データ・ストリップA、BおよびCを含むストライプに、A XOR B XOR Cとして演算したパリティ・ストリップをさらに付加する。ストレージ・システムにおける単一障害点時に、このパリティ・ストリップを用いてアクセス不能なデータ・ストリップを再生成する。たとえば、4つの独立した記憶装置W、X、YおよびZ全体にわたってそれぞれデータ・ストリップA、BおよびCならびにPARITYを含むストライプを記憶させ、記憶装置Xに障害が発生した場合、装置X上に記憶させたストリップBはアクセス不能になるであろう。ストリップBは、残りのデータ・ストリップおよびPARITYストリップからXOR演算によって計算することができる。この復元演算は、A XOR C XOR PARITY=Bとなる。
障害時にチェック情報を有効にするためには、そのチェック情報が正確であり、かつ維持されていることが必要である。したがって、RAIDストレージ・システム中のデータの変更を、チェック情報を適切に変更することによって反映させなければならない。これは、データの変更により、(「スモール書込み」として知られる)ストライプ全体よりもサイズが小さいデータ・ユニットが影響を受ける場合、以下に説明する理由から負担になり得る。ストライピング技術を用いるRAIDコントローラを備え、各ストライプがデータ・ストリップおよびパリティ・ストリップを含むRAIDストレージ・システムを考える。このようなシステムを、ストレージ・システム(仮想記憶装置)の仮想ビュー内の単一ブロックが単一データ・ストリップに相当するように構成する場合、仮想記憶装置に単一ブロックを書き込む操作は、RAIDストライプ中の単一ストリップの書込み操作としてRAIDコントローラによって実施される。ストライプ中の単一ストリップの変更は、対応するパリティ・ストリップを適切に変更することによって反映させなければならない。すなわち、このストライプ用のパリティ・ストリップを再計算しなければならない。パリティ・ストリップを再計算するには、ストライプ中で上書きされるデータ・ストリップ(「旧」データ・ストリップ)を、現在のパリティ・データから取り除かなければならない。これは、パリティ・データおよび旧データ・ストリップに対してXOR演算を実施することによって行うことができる。さらに、改変パリティ・ストリップを生成するために、このパリティ・データに更新データ・ストリップ(「新」データ・ストリップ)を含めなければならない。これは、パリティ・データおよび新データ・ストリップに対してXOR演算を実施することによって行うことができる。その後、改変されたパリティ・ストリップおよび新データ・ストリップをストライプ中に書き込まなければならない。したがって、現在のストライプを更新ストライプに書き換えるために、(旧データ・ストリップおよびパリティ・ストリップの)2回の読取り操作、パリティ・ストリップの改変、(新データ・ストリップおよび改変されたパリティ・ストリップの)2回の書込み操作を行う必要がある。スモール書込みを行うこの手法では、チェック情報の整合性を維持するために必要な追加の読取りおよび書込み操作のために、RAIDストレージ・システムの性能の低下が生じる。これは、スモール書込み操作のリード・モディファイ・ライト問題として周知のものである。
上記で概略を説明したようにスモール書込み操作と性能が密接に関係しているため、RAIDストレージ・システムに書き込む際に、1つまたは複数の完全なストライプを上書きして、現在のチェック情報を維持する必要をなくすことが好ましい。1つまたは複数の完全なストライプを上書きする書込み操作を行うために、RAIDストレージ・システムに書き込むデータ・ユニットが、適切なサイズのもの、すなわち(パリティ・ストリップを除く)ストライプ・サイズの倍数であることが必要である。1つまたは複数の完全なストライプを上書きするためには、データ・ユニットを、RAIDストライプ中の第1ストリップに対応するRAID記憶装置の仮想ビュー内のブロックに書き込むことも必要である。RAIDストライプ中の第1ストリップ以外の任意のストリップに対応するブロックに書き込む操作は、ストライプの一部に書込みを行うことを含み、これはスモール書込み操作になる。RAIDストライプ中の第1ストリップに対応するように書込み操作を行うことは、「ストライプ調整(stripe
alignment)」として知られている。このように、書込み操作により、1つまたは複数のRAIDストライプを確実に完全に上書きするには、ストライプが、所与のRAIDストレージ・システムのストライプ・サイズおよび調整基準を満たさなければならない。これらの基準を満たす書込み操作は、「ストライプ調整した書込み」として知られている。ストライプ調整した書込みでは、RAIDストライプ中の現在のチェック情報を維持する必要がない。というのは、1つまたは複数のストライプが、新たに書き込まれたデータに完全に置き換わり、書込み操作の一環として、この新しいデータ用に新しいチェック情報が計算されるからである。RAIDストレージ・システムへのすべての書込み操作がストライプ調整したものとなるようにすると、スモール書込みのリード・モディファイ・ライト問題がなくなることによって性能が向上する。
alignment)」として知られている。このように、書込み操作により、1つまたは複数のRAIDストライプを確実に完全に上書きするには、ストライプが、所与のRAIDストレージ・システムのストライプ・サイズおよび調整基準を満たさなければならない。これらの基準を満たす書込み操作は、「ストライプ調整した書込み」として知られている。ストライプ調整した書込みでは、RAIDストライプ中の現在のチェック情報を維持する必要がない。というのは、1つまたは複数のストライプが、新たに書き込まれたデータに完全に置き換わり、書込み操作の一環として、この新しいデータ用に新しいチェック情報が計算されるからである。RAIDストレージ・システムへのすべての書込み操作がストライプ調整したものとなるようにすると、スモール書込みのリード・モディファイ・ライト問題がなくなることによって性能が向上する。
RAIDストレージ・システムへの書込み操作は、必ずしもストライプ調整しているとは限らず、スモール書込み操作は、完全なRAIDストライプよりもサイズが小さいデータ・ユニットを含むというその定義上、常にストライプ調整していない。既存のRAIDストレージ・システムでは、複数のスモール書込み操作を単一の書込み操作に集約して完全なストライプを構成するキャッシュなどのメモリを使用することができる。その後、スモール書込みの集合体をストライプ調整させ、RAID記憶装置に書き込むことができる。このようなキャッシュ・メモリを有効にするためには、ストライプのサイズおよび調整を含めて、RAIDストレージ・システムのパラメータで動作するようにキャッシュ・メモリ構成しなければならない。これらのパラメータは、異なるRAIDストレージ・システムでは異なり、一般に、異なる業者が提供するRAIDストレージ・システムでは異なる。使用者またはコントローラ自体によってキャッシュ・メモリが容易に適切なストライプ・サイズおよび調整のパラメータで構成されるように、しばしばキャッシュ・メモリをRAIDコントローラ内に統合する。
RAIDストレージ・システム自体が、SAN(ストレージ・エリア・ネットワーク)などの構成内にしだいに仮想化されつつある。SANは、1つまたは複数のサーバを1つまたは複数の記憶装置に接続するネットワークを含む。SAN内の記憶装置は、RAIDストレージ・システムとして実施される仮想記憶装置を含み得る。SAN内では、1つまたは複数のスイッチにより各装置が接続され、SANを介してホストと記憶装置の間の経路が提供される。SANにより記憶装置が仮想化されて、SANに接続された装置の相互運用性が確保される。ある記憶装置の実際の実装の細部を、SAN内の他の装置には未知とすることができることがSANにおける記憶装置の仮想化の特徴である。たとえば、SAN内のホストは、SANに接続された記憶装置が、単一のディスクとして実装されているのか、あるいはRAIDストレージ・システムとして実装されているのかを判別することができない。SAN内で記憶装置を仮想化すると、多数のRAIDストレージ・システムを含めて、多数の記憶装置全体にわたってデータを分散させ、それによって、性能および信頼性をさらに向上させることもできる。これは、SAN内のスイッチに接続することができる米国IBM社のTotalStorage Virtualization Engineなどのストレージ・アプライアンスを使用して実現される。キャッシュ・メモリは、RAIDストレージ・システムなどの記憶装置内に統合せず、SAN内で独立に実装して、複数のSAN記憶装置全体にわたってデータを分散させるときに使用できることが望ましい。たとえば、キャッシュ・メモリは、SAN内のスイッチに接続されたストレージ・アプライアンス内に実装することができる。
ディー・パターソン(D. Patterson)ら、「RAID(RedundantArraysof Inexpensive Disks)の事例(A Case for Redundant Array of Inexpensive Disks(RAID))」、1988年
RAIDストレージ・システムのRAIDコントローラにキャッシュ・メモリを統合せず、RAIDコントローラをSANなどで仮想化する場合、RAIDストレージ・システムの個々のストライプ・サイズおよび調整特性を、すぐにキャッシュ・メモリに利用することはできない。仮想RAIDコントローラからキャッシュ・メモリを分離すると、適切なストライプ・サイズおよび調整特性でキャッシュ・メモリを自動的に構成することができないという問題が生じる。というのは、キャッシュ・メモリにはこれらの特性が未知だからであり、手動で構成を行わなければならないか、あるいは全く行わないことになる。ストライプ・サイズおよび調整構成が不適切だと、おそらくは書込み操作が正しくストライプ調整されないので、リード・モディファイ・ライト問題が生じる可能性が高まる。したがって、従来型ストレージ・システムのこれらの問題を軽減するシステムおよび方法を提供することが望ましい。
したがって、本発明は、第1態様で、複数のI/O操作の性能特性をテストすることによって最適なI/O構成を決定する仮想RAIDコントローラとともに動作可能なメモリを有する装置を提供する。前記I/O操作はそれぞれ、RAIDコントローラにデータ・ブロックを書き込むことを含み、前記I/O構成は、データ長およびデータ調整を含む。こうすると、メモリ中に記憶されたデータを仮想RAIDコントローラに書き込む操作が、適切な長さおよび適切に調整されたものとなり、それによって、リード・モディファイ・ライト問題が生じることなく、ストライプ調整した書込みが行われるという利点が得られる。
好ましくは、このメモリはキャッシュである。
好ましくは、性能特性は応答時間である。
したがって、本発明は、第2態様で、仮想RAIDコントローラとともに動作可能なメモリを有する装置を動作させる方法を提供する。この方法は、RAIDコントローラにデータ・ブロックを書き込むことを含む複数のI/O操作を実施するステップと、前記複数のI/O操作の性能特性をテストするステップと、前記テスト・ステップに応答して、後続のI/O操作に対してデータ長およびデータ調整を含む最適なI/O構成を設定するステップとを含む。
さらに、本発明は、第3態様で、データ処理システム上で実行されるときに、上記方法を実施するようにデータ処理システムに命令する、コンピュータ可読記憶媒体上に記憶されたコンピュータ・プログラム・コードを含むコンピュータ・プログラム製品を提供する。
次に、添付の図面を参照して、単なる例として本発明の好ましい実施形態を説明する。
図1は、本発明の好ましい実施形態におけるSAN(ストレージ・エリア・ネットワーク)102の構成を示す概略図である。SAN102は、ストレージ・アプライアンス1062を備えるスイッチ106を含む。好ましい実施形態では、ストレージ・アプライアンス1062は、米国IBM社のTotalStorage Virtualization Engineである。ストレージ・アプライアンス1062は、メモリ10622、ストライプ・サイズ属性10624およびストライプ調整属性10626を含む。好ましい実施形態では、メモリ10622はキャッシュである。あるいは、メモリ10622は、入力バッファまたは出力バッファである。ストライプ・サイズ属性10624およびストライプ調整属性10626は、ストレージ・アプライアンス1062の構成パラメータである。SAN102は、RAIDストレージ・システム108にホスト104を接続する。好ましい実施形態では、ホスト104は、コンピュータ・システムである。RAIDストレージ・システム108は、RAIDコントローラ1082および記憶装置アレイ1084を備える。好ましい実施形態では、記憶装置アレイ1084は、ディスク・アレイである。RAIDコントローラ1082は、ストライピングを利用して、記憶装置アレイ1084全体にわたってデータを分散させる。RAIDコントローラ1082は、記憶装置アレイ1084上に記憶されたデータ用のパリティ情報も維持する。これらの技術を用いて、RAIDコントローラ1082により、単一の仮想記憶装置としての記憶装置アレイ1084に確実にアクセスすることができる。
図2は、仮想記憶装置20の構成例を示す概略図である。この仮想記憶装置は、物理的な記憶装置ではなく、RAIDコントローラ1082によってSAN102およびホスト104に提示される記憶装置アレイ1084を表す。仮想記憶装置20は、それぞれに固定された大きさのデータを記憶する記憶要素である記憶ブロック202、204、206および208のシーケンシャル・リストを備える。記憶ブロック202、204、206および208はそれぞれ、それらが記憶することができるデータ・バイト数を表す記憶容量を有し、各記憶ブロック202、204、206および208の記憶容量は同じである。図3に示すように、記憶ブロック202、204、206および208は、RAIDコントローラ1082によって記憶装置アレイ1084全体にわたってストライプされており、それを以下で説明する。
図3は、図1の記憶装置アレイ1084の構成例を示す概略図であり、それ全体にわたって、図2の記憶ブロック202、204、206および208がストライプされている。記憶装置アレイ1084は、個々の記憶装置30、32および34を備える。仮想記憶装置20内に記憶されるデータは、RAIDコントローラ1082によって記憶装置アレイ1084全体にわたってストライプされる。データ・ストライプ36は、記憶装置30、32および34上にそれぞれ記憶されたストリップ302、322およびパリティ・ストリップ342を含む。この例の構成では、ストリップ302、322およびパリティ・ストリップ342はそれぞれ、2つの記憶ブロックを含む。したがって、仮想記憶装置20は、以下のように記憶装置アレイ1084全体にわたってストライプされる。すなわち、記憶ブロック202および204が、記憶装置30のストリップ302中に記憶され、記憶ブロック206および208が、記憶装置32のストリップ322中に記憶される。さらに、RAIDコントローラ1082により、記憶装置34上にパリティ・ストリップ342が保持される。パリティ・ストリップ342は、パリティ・データを記憶する2つの記憶ブロック3422および3424を含む。このパリティ・データは、RAIDコントローラ1082によって、XOR(排他的論理和)論理演算子を用いて演算される。記憶ブロック3422内に記憶されたパリティ・データは、記憶ブロック202内に記憶されたデータと記憶ブロック206内に記憶されたデータのXORである。記憶ブロック3424内に記憶されたパリティ・データは、記憶ブロック204内に記憶されたデータと記憶ブロック208内に記憶されたデータのXORである。記憶装置30または32の一方に障害が生じるなどの単一障害点時に、パリティ・ストリップ342を用いて、ストライプ36中で失われたストリップを再生成することができる。
動作においては、ホスト104は、ホスト104が仮想記憶装置20との間でI/O(入出力)操作を実施することができるように、RAIDストレージ・システム108とともに動作可能である。仮想記憶装置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は、SAN102内のスイッチ106およびストレージ・アプライアンス1062によって仮想化されていると言える。
図4は、ストレージ・アプライアンス1062が仮想記憶装置20に書込みを行うときに開始する書込み操作402の構成要素を示すブロック図である。書込み操作402は、仮想記憶装置20に書き込まれるデータ・ユニット404を含む。書込み操作402は、データ・サイズ・パラメータ406も含む。データ・サイズ・パラメータ406の値は、仮想記憶装置20に書き込まれるデータ・ユニット404のサイズの尺度であり、仮想記憶装置20の複数の記憶ブロックで表すことができる。書込み操作402は、ブロック・パラメータ408も含む。ブロック・パラメータ408の値により、仮想記憶装置20内の記憶ブロック202、204、206または208のどれにデータ・ユニット404を書き込むべきなのかが識別される。個々の書込み操作用のデータ・サイズ・パラメータ406とブロック・パラメータ408の組合せを、書込み操作402用のパラメータ・タプル(parameter-tuple)と称する。動作においては、書込み操作402により、データ・ユニット404が、ブロック・パラメータ408で識別された記憶ブロックで始まる仮想記憶装置20に書き込まれる。当業者にはよく知られているように、記憶装置内の最初の記憶ブロックに記憶ブロックの容量よりも大きいデータ・ユニットを書き込む場合、最初の記憶ブロックで始まるシーケンシャル記憶ブロックの集合体を使用してデータ・ユニットを記憶させる。
ストレージ・アプライアンス1062が、メモリ10622を使用して仮想記憶装置20にストライプ調整した書込み操作を行うには、RAIDコントローラ1082に対して、適切なストライプ・サイズ属性10624およびストライプ調整属性10626でストレージ・アプライアンス1062を構成する必要がある。これらのパラメータは、ストレージ・アプライアンス1062が、それぞれ異なるパラメータ・タプルを有する一連の仮想記憶装置20への書込み操作の性能を分析することによって決まる。好ましい実施形態では、これらの書込み操作は、RAIDストレージ・システム108がその他の操作を行っていないときに行われる。
図5は、図2の仮想記憶装置20にストライプ調整した書込み操作が行われるように、図1のストレージ・アプライアンス1062を構成する方法を示す流れ図である。図5の方法は、ストレージ・アプライアンス1062によって実施されるものであり、仮想記憶装置20に繰り返し書込み操作を行うというものである。ステップ500で、それぞれ異なる組合せのデータ・サイズ・パラメータ406およびブロック・パラメータ408を含む多数のパラメータ・タプルの1組をまとめる。ステップ502で、このパラメータ・タプルの組の各パラメータ・タプルを通して行うループを開始する。ステップ504で、各パラメータ・タプルごとに、ストレージ・アプライアンス1062が、書込みパラメータとしてパラメータ・タプルを用いて仮想記憶装置20に書込み操作を実施する。ステップ506で、書込み操作の性能を測定し記録する。好ましい実施形態では、この性能の測定は、ステップ504の書込み操作が完了するのにかかる時間を測定することを含む。この性能測定値は、ストレージ・アプライアンス1062の記憶装置、たとえば(図示しない)ランダム・アクセス・メモリに記録することができる。ステップ508では、各パラメータ・タプルを通して行うループを継続する。ステップ510で、各書込み操作の性能の記録から最も性能のよい書込み操作を識別する。好ましい実施形態では、書込み操作が完了する時間が最も短いものが最も性能のよい書込み操作になるように決定する。最も性能のよい書込み操作を識別するとき、対応するパラメータ・タプルを識別する。その後、ステップ512で、ストライプ・サイズ10624の値が、最も性能のよい書込み操作のデータ・サイズ・パラメータ406の値に設定され、ストライプ調整10626の値が、最も性能のよい書込み操作のブロック・パラメータ408に設定されるようにストレージ・アプライアンス1062を構成する。
最も性能のよい書込み操作のパラメータ・タプルでストライプ・サイズ10624およびストライプ調整10626のパラメータでストレージ・アプライアンス1062を構成すると、キャッシュとしてメモリ10622を使用して、ストレージ・アプライアンス1062により書込み操作がストライプ調整される。ストレージ・アプライアンス1062によるストライプ調整した書込み操作では、リード・モディファイ・ライト問題が発生せず、それによってI/O性能が向上する。
次に、図5の方法の例として、以下の表に概略を記載する1組の3つのパラメータ・タプルについて検討する。
ステップ500で、1組のパラメータ・タプルQ、RおよびSを表1に概略を記載するように定義する。ステップ502で、パラメータ・タプルQで始まる各パラメータ・タプルを通して行うループを開始する。ステップ504で、ストレージ・アプライアンス1062は、書込みパラメータとしてパラメータ・タプルQを用いて仮想記憶装置20に書込み操作を実施する。すなわち、仮想記憶装置20内の記憶ブロック204に3ブロックのデータが書き込まれる書込み操作を行う。次に、図2を参照すると、パラメータ・タプルQについての書込み操作により、仮想記憶装置20内の記憶ブロック204、206および208にデータが書き込まれる。この書込み操作は、RAIDコントローラ1082によって、記憶装置アレイ1084全体にわたる書込み操作に変換される。次に、図3を参照すると、パラメータ・タプルQについての書込み操作により、記憶装置アレイ1084内のストリップ302の記憶ブロック204ならびにストリップ322の記憶ブロック206および208にデータが書き込まれる。その結果、ストライプ36全体には書き込まれず(記憶ブロック202には書き込まれない)、リード・モディファイ・ライト処理を用いて、記憶ブロック204、206および208の変更を反映するようにパリティ・ストリップ342を更新しなければならない。パリティ・ストリップを更新すると、パラメータ・タプルQについての書込み操作を完了するのに必要な時間が増加するように作用し、そのため、ステップ506で測定し記録する書込み操作の性能が低下する。ステップ508で、ループが、以下に概略を説明する次のパラメータ・タプルRに進む。
ステップ504で、ストレージ・アプライアンス1062は、書込みパラメータとしてパラメータ・タプルRを用いて仮想記憶装置20に書込み操作を実施する。すなわち、仮想記憶装置20内の記憶ブロック202に2ブロックのデータが書き込まれる書込み操作を行う。次に、図2を参照すると、パラメータ・タプルRについての書込み操作により、仮想記憶装置20内の記憶ブロック202および204にデータが書き込まれる。この書込み操作は、RAIDコントローラ1082によって、記憶装置アレイ1084全体にわたる書込み操作に変換される。次に、図3を参照すると、パラメータ・タプルRについての書込み操作により、記憶装置アレイ1084内のストリップ302の記憶ブロック202および204にデータが書き込まれる。その結果、ストライプ36全体には書き込まれず(記憶ブロック206および208には書き込まれない)、リード・モディファイ・ライト処理を用いて、記憶ブロック202および204の変更を反映するようにパリティ・ストリップ342を更新しなければならない。パリティ・ストリップを更新すると、パラメータ・タプルRについての書込み操作を完了するのに必要な時間が増加するように作用し、そのため、ステップ506で測定し記録する書込み操作の性能が低下する。ステップ508で、ループが、以下に概略を説明する次のパラメータ・タプルSに進む。
ステップ504で、ストレージ・アプライアンス1062は、書込みパラメータとしてパラメータ・タプルSを用いて仮想記憶装置20に書込み操作を実施する。すなわち、仮想記憶装置20内の記憶ブロック202に4ブロックのデータが書き込まれる書込み操作を行う。次に、図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で測定し記録する。3つのパラメータ・タプルQ、RおよびSがすべて処理されたので、ステップ508でループが終了する。
ステップ510で、各書込み操作の性能の記録から最も性能のよい書込み操作を識別する。この例では、パラメータ・タプルQおよびRについての書込み操作ではリード・モディファイ・ライト問題が生じ、その結果、性能が低くなる。パラメータ・タプルSについての書込み操作ではリード・モディファイ・ライト問題が発生せず、その結果、完了するのにかかる時間が最も短いので、性能が最も高い書込み操作になる。その後、ステップ512で、ストライプ・サイズ10624の値が、最も性能のよい書込み操作のデータ・サイズ・パラメータ406の値に設定され、ストライプ調整10626の値が、最も性能のよい書込み操作のブロック・パラメータ408に設定されるようにストレージ・アプライアンス1062が構成される。すなわち、ストライプ・サイズ10624の値は4ブロック・サイズに設定され、ストライプ調整10626の値は仮想記憶装置20内のブロック202に設定される。
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)複数のI/O操作の性能特性をテストすることによって最適なI/O構成を決定する仮想RAIDコントローラとともに動作可能なメモリを有する装置であって、前記I/O操作がそれぞれ、前記RAIDコントローラにデータ・ブロックを書き込むことを含み、前記I/O構成がデータ長およびデータ調整を含む、装置。
(2)前記メモリがキャッシュである、上記(1)に記載の装置。
(3)前記メモリが入力バッファである、上記(1)に記載の装置。
(4)前記メモリが出力バッファである、上記(1)に記載の装置。
(5)前記性能特性が応答時間である、上記(1)に記載の装置。
(6)仮想RAIDコントローラとともに動作可能なメモリを有する装置を動作させる方法であって、
前記RAIDコントローラにデータ・ブロックを書き込むことを含む複数のI/O操作を実施するステップと、
前記複数のI/O操作の性能特性をテストするステップと、
前記テスト・ステップに応答して、データ長およびデータ調整を含む、後続のI/O操作に最適なI/O構成を設定するステップとを含む、方法。
(7)前記RAIDコントローラが他の操作を行っていないときに行う、上記(6)に記載の方法。
(8)前記メモリがキャッシュである、上記(6)に記載の方法。
(9)前記メモリが入力バッファである、上記(6)に記載の方法。
(10)前記メモリが出力バッファである、上記(6)に記載の方法。
(11)前記性能特性が応答時間である、上記(6)に記載の方法。
(12)データ処理システム上で実行されるときに、上記(6)に記載の方法を実施するように前記データ処理システムに命令する、コンピュータ可読記憶媒体上に記憶されたコンピュータ・プログラム・コードを含むコンピュータ・プログラム製品。
(2)前記メモリがキャッシュである、上記(1)に記載の装置。
(3)前記メモリが入力バッファである、上記(1)に記載の装置。
(4)前記メモリが出力バッファである、上記(1)に記載の装置。
(5)前記性能特性が応答時間である、上記(1)に記載の装置。
(6)仮想RAIDコントローラとともに動作可能なメモリを有する装置を動作させる方法であって、
前記RAIDコントローラにデータ・ブロックを書き込むことを含む複数のI/O操作を実施するステップと、
前記複数のI/O操作の性能特性をテストするステップと、
前記テスト・ステップに応答して、データ長およびデータ調整を含む、後続のI/O操作に最適なI/O構成を設定するステップとを含む、方法。
(7)前記RAIDコントローラが他の操作を行っていないときに行う、上記(6)に記載の方法。
(8)前記メモリがキャッシュである、上記(6)に記載の方法。
(9)前記メモリが入力バッファである、上記(6)に記載の方法。
(10)前記メモリが出力バッファである、上記(6)に記載の方法。
(11)前記性能特性が応答時間である、上記(6)に記載の方法。
(12)データ処理システム上で実行されるときに、上記(6)に記載の方法を実施するように前記データ処理システムに命令する、コンピュータ可読記憶媒体上に記憶されたコンピュータ・プログラム・コードを含むコンピュータ・プログラム製品。
20 仮想記憶装置
30 記憶装置
32 記憶装置
34 記憶装置
36 データ・ストライプ
102 ストレージ・エリア・ネットワーク(SAN)
104 ホスト
106 スイッチ
108 RAIDストレージ・システム
202 記憶ブロック
204 記憶ブロック
206 記憶ブロック
208 記憶ブロック
302 ストリップ
322 ストリップ
342 パリティ・ストリップ
402 書込み操作
404 データ・ユニット
406 データ・サイズ・パラメータ
408 ブロック・パラメータ
1062 ストレージ・アプライアンス
1082 RAIDコントローラ
1084 記憶装置アレイ
3422 記憶ブロック
3424 記憶ブロック
10622 メモリ
10624 ストライプ・サイズ属性
10626 ストライプ調整属性
30 記憶装置
32 記憶装置
34 記憶装置
36 データ・ストライプ
102 ストレージ・エリア・ネットワーク(SAN)
104 ホスト
106 スイッチ
108 RAIDストレージ・システム
202 記憶ブロック
204 記憶ブロック
206 記憶ブロック
208 記憶ブロック
302 ストリップ
322 ストリップ
342 パリティ・ストリップ
402 書込み操作
404 データ・ユニット
406 データ・サイズ・パラメータ
408 ブロック・パラメータ
1062 ストレージ・アプライアンス
1082 RAIDコントローラ
1084 記憶装置アレイ
3422 記憶ブロック
3424 記憶ブロック
10622 メモリ
10624 ストライプ・サイズ属性
10626 ストライプ調整属性
Claims (8)
- 複数の独立した記憶装置(30,32,34)を備えた記憶装置アレイ(1084)を仮想記憶装置(20)としてホスト(104)に提供するRAIDコントローラ(1082)を通じて、複数の入出力(以下、I/O)操作(402)を実施するにあたり、ストライプ・サイズの値(10624)及びデータ調整の値(10626)を維持できる装置であって、
前記I/O操作がそれぞれ、前記仮想記憶装置(20)内の記憶ブロック(202,204,206または208)に関する、データ・ユニット(404)のデータ・サイズ・パラメータ(406)と、記憶ブロック(202,204,206または208)のどれにデータ・ユニット(404)を書き込むべきかを識別するブロック・パラメータ(408)との組合せ(パラメータ・タプル)を含んでいて、
前記RAIDコントローラによって、前記複数のI/O操作がそれぞれ前記記憶装置アレイ上でのI/O操作に変換され、
複数のI/O操作が実施されることを通じて、測定された記録から所望の性能のI/O操作が識別されて、ストライプ・サイズの値(10624)がその所望の性能のI/O操作のデータ・サイズ・パラメータ(406)の値に設定され、データ調整の値(10626)がその所望の性能のI/O操作のブロック・パラメータ(408)の値に設定される、
前記装置。 - ストレージ・エリア・ネットワーク(以下、SAN)(102)内のスイッチ(106)に接続されて、前記スイッチ内のストレージ・アプライアンス(1062)を使用して実現される、請求項1に記載の装置。
- 複数の独立した記憶装置(30,32,34)を備えた記憶装置アレイ(1084)を仮想記憶装置(20)としてホスト(104)に提供するRAIDコントローラ(1082)を通じて、複数の入出力(以下、I/O)操作(402)を実施するにあたり、ストライプ・サイズの値(10624)及びデータ調整の値(10626)を維持できる装置について、当該装置を動作させる方法であって、
前記I/O操作がそれぞれ、前記仮想記憶装置(20)内の記憶ブロック(202,204,206または208)に関する、データ・ユニット(404)のデータ・サイズ・パラメータ(406)と、記憶ブロック(202,204,206または208)のどれにデータ・ユニット(404)を書き込むべきかを識別するブロック・パラメータ(408)との組合せ(パラメータ・タプル)を含んでいて、
前記RAIDコントローラによって、前記複数のI/O操作をそれぞれ前記記憶装置アレイ上でのI/O操作に変換するステップと、
複数のI/O操作を実施して、前記複数のI/O操作の性能を測定して記録するステップと、
測定された記録から所望の性能のI/O操作を識別して、ストライプ・サイズの値(10624)をその所望の性能のI/O操作のデータ・サイズ・パラメータ(406)の値に設定し、データ調整の値(10626)をその所望の性能のI/O操作のブロック・パラメータ(408)の値に設定するステップとを有する、
前記方法。 - 前記RAIDコントローラが他の操作を行っていないときに行う、請求項3に記載の方法。
- 前記性能が応答時間である、請求項3に記載の方法。
- 前記装置がストレージ・エリア・ネットワーク(SAN)の構成内に仮想化されていて、SAN内のスイッチ(106)内のストレージ・アプライアンス(1062)を使用して動作させる、請求項3〜5の何れかに記載の方法。
- 請求項3〜6の何れかに記載の方法の各ステップを実施させるためのコンピュータ・プログラム・コードを含む、コンピュータ・プログラム。
- 複数の独立した記憶装置(30,32,34)を備えた記憶装置アレイ(1084)を仮想記憶装置(20)としてホスト(104)に提供するRAIDコントローラ(1082)を通じて、複数の入出力(以下、I/O)操作(402)を実施するにあたり、ストライプ・サイズの値(10624)及びデータ調整の値(10626)を維持できるストレージ・アプライアンス(1062)であって、
前記I/O操作がそれぞれ、前記仮想記憶装置(20)内の記憶ブロック(202,204,206または208)に関する、データ・ユニット(404)のデータ・サイズ・パラメータ(406)と、記憶ブロック(202,204,206または208)のどれにデータ・ユニット(404)を書き込むべきかを識別するブロック・パラメータ(408)との組合せ(パラメータ・タプル)を含んでいて、
前記RAIDコントローラによって、前記複数のI/O操作がそれぞれ前記記憶装置アレイ上でのI/O操作に変換され、
複数のI/O操作が実施されることを通じて、測定された記録から所望の性能のI/O操作が識別されて、ストライプ・サイズの値(10624)がその所望の性能のI/O操作のデータ・サイズ・パラメータ(406)の値に設定され、データ調整の値(10626)がその所望の性能のI/O操作のブロック・パラメータ(408)の値に設定される、
前記ストレージ・アプライアンス(1062)。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0309538A GB2400935B (en) | 2003-04-26 | 2003-04-26 | Configuring memory for a raid storage system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004112539A Division JP2004326759A (ja) | 2003-04-26 | 2004-04-06 | Raidストレージ・システム用にメモリを構成すること |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009163773A true JP2009163773A (ja) | 2009-07-23 |
Family
ID=33042180
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004112539A Pending JP2004326759A (ja) | 2003-04-26 | 2004-04-06 | Raidストレージ・システム用にメモリを構成すること |
JP2009104812A Pending JP2009163773A (ja) | 2003-04-26 | 2009-04-23 | Raidストレージ・システム用にメモリを構成すること |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004112539A Pending JP2004326759A (ja) | 2003-04-26 | 2004-04-06 | Raidストレージ・システム用にメモリを構成すること |
Country Status (6)
Country | Link |
---|---|
US (2) | US7191285B2 (ja) |
JP (2) | JP2004326759A (ja) |
KR (1) | KR100637779B1 (ja) |
CN (1) | CN1280702C (ja) |
GB (1) | GB2400935B (ja) |
TW (1) | TWI266187B (ja) |
Families Citing this family (73)
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 |
US7559932B2 (en) | 2004-12-06 | 2009-07-14 | Dfine, Inc. | Bone treatment systems and methods |
US7678116B2 (en) | 2004-12-06 | 2010-03-16 | 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 |
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 |
US20060122614A1 (en) * | 2004-12-06 | 2006-06-08 | Csaba Truckai | 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 | ホスト間データ転送方法、プログラム及びシステム |
US8777479B2 (en) | 2008-10-13 | 2014-07-15 | Dfine, Inc. | System for use in bone cement preparation and delivery |
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 |
US20090012525A1 (en) * | 2005-09-01 | 2009-01-08 | Eric Buehlmann | Devices and systems for delivering 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 |
US8109933B2 (en) | 2007-04-03 | 2012-02-07 | 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 |
WO2009088435A1 (en) * | 2007-12-31 | 2009-07-16 | 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 |
US20120198152A1 (en) * | 2011-02-01 | 2012-08-02 | 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 |
US9176670B2 (en) * | 2011-04-26 | 2015-11-03 | Taejin Info Tech Co., Ltd. | System architecture based on asymmetric raid storage |
US20120278550A1 (en) * | 2011-04-26 | 2012-11-01 | Byungcheol Cho | System architecture based on raid controller collaboration |
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 |
US10969960B2 (en) * | 2016-09-01 | 2021-04-06 | Samsung Electronics Co., Ltd. | Storage device and host for the same |
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 |
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 |
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 | 浪潮电子信息产业股份有限公司 | 一种数据写入方法、系统及电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08328759A (ja) * | 1995-05-29 | 1996-12-13 | Mitsubishi Electric Corp | 入出力処理システム |
JPH11203055A (ja) * | 1998-01-09 | 1999-07-30 | Alps Electric Co Ltd | ディスクアレイ装置 |
JP2001273176A (ja) * | 1993-06-21 | 2001-10-05 | Hitachi Ltd | 計算機システムおよび二次記憶装置 |
JP2001290681A (ja) * | 2000-04-05 | 2001-10-19 | Nec Corp | ファイルデータ格納装置及び方法並びに記録媒体 |
JP2002358168A (ja) * | 2001-04-18 | 2002-12-13 | Internatl Business Mach Corp <Ibm> | 記憶装置の設定方法、システム及び製品 |
JP2003521759A (ja) * | 1999-05-03 | 2003-07-15 | 3ウェア カンパニー | ミラーリング・ディスク・アレイのための方法およびシステム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
US6629158B1 (en) * | 2000-02-16 | 2003-09-30 | International Business Machines Corporation | System, apparatus, and method for configuring an array controller |
US6687765B2 (en) * | 2001-01-16 | 2004-02-03 | International Business Machines Corporation | System, method, and computer program for explicitly tunable I/O device controller |
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
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001273176A (ja) * | 1993-06-21 | 2001-10-05 | Hitachi Ltd | 計算機システムおよび二次記憶装置 |
JPH08328759A (ja) * | 1995-05-29 | 1996-12-13 | Mitsubishi Electric Corp | 入出力処理システム |
JPH11203055A (ja) * | 1998-01-09 | 1999-07-30 | Alps Electric Co Ltd | ディスクアレイ装置 |
JP2003521759A (ja) * | 1999-05-03 | 2003-07-15 | 3ウェア カンパニー | ミラーリング・ディスク・アレイのための方法およびシステム |
JP2001290681A (ja) * | 2000-04-05 | 2001-10-19 | Nec Corp | ファイルデータ格納装置及び方法並びに記録媒体 |
JP2002358168A (ja) * | 2001-04-18 | 2002-12-13 | Internatl Business Mach Corp <Ibm> | 記憶装置の設定方法、システム及び製品 |
Also Published As
Publication number | Publication date |
---|---|
CN1280702C (zh) | 2006-10-18 |
US20040225926A1 (en) | 2004-11-11 |
KR20040092424A (ko) | 2004-11-03 |
TW200500856A (en) | 2005-01-01 |
TWI266187B (en) | 2006-11-11 |
US7191285B2 (en) | 2007-03-13 |
JP2004326759A (ja) | 2004-11-18 |
GB2400935B (en) | 2006-02-15 |
US20070113008A1 (en) | 2007-05-17 |
KR100637779B1 (ko) | 2006-10-25 |
GB2400935A (en) | 2004-10-27 |
CN1542600A (zh) | 2004-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009163773A (ja) | Raidストレージ・システム用にメモリを構成すること | |
US9122410B2 (en) | Storage system comprising function for changing data storage mode using logical volume pair | |
US9588856B2 (en) | Restoring redundancy in a storage group when a storage device in the storage group fails | |
US7386758B2 (en) | Method and apparatus for reconstructing data in object-based storage arrays | |
US10664367B2 (en) | Shared storage parity on RAID | |
US8046537B2 (en) | Virtualization engine and method, system, and computer program product for managing the storage of data | |
US8250335B2 (en) | Method, system and computer program product for managing the storage of data | |
JP5537976B2 (ja) | 大容量ディスクドライブの使用方法及び装置 | |
US7774643B2 (en) | Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array | |
US7467269B2 (en) | Storage apparatus and storage apparatus control method | |
US20070162692A1 (en) | Power controlled disk array system using log storage area | |
US20060155944A1 (en) | System and method for data migration and shredding | |
JPWO2006123416A1 (ja) | ディスク故障復旧方法及びディスクアレイ装置 | |
CN106168920B (zh) | 控制包括只读闪速数据存储设备的独立磁盘冗余阵列 | |
US7346733B2 (en) | Storage apparatus, system and method using a plurality of object-based storage devices | |
US8949528B2 (en) | Writing of data of a first block size in a raid array that stores and mirrors data in a second block size | |
US11210024B2 (en) | Optimizing read-modify-write operations to a storage device by writing a copy of the write data to a shadow block | |
JPH09288547A (ja) | アレイ型記憶装置 | |
US8510507B2 (en) | Data storage mirroring using virtual mirror | |
JP2006178926A (ja) | 複数のオブジェクトベースのストレージ装置を使用したストレージ装置、システム、および方法 | |
US20180307427A1 (en) | Storage control apparatus and storage control method | |
JP6957845B2 (ja) | ストレージ制御装置及びストレージ装置 | |
US11544005B2 (en) | Storage system and processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110719 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120207 |