JP3266277B2 - 階層記憶管理システムのための変換式raid - Google Patents
階層記憶管理システムのための変換式raidInfo
- Publication number
- JP3266277B2 JP3266277B2 JP53760498A JP53760498A JP3266277B2 JP 3266277 B2 JP3266277 B2 JP 3266277B2 JP 53760498 A JP53760498 A JP 53760498A JP 53760498 A JP53760498 A JP 53760498A JP 3266277 B2 JP3266277 B2 JP 3266277B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- blocks
- parity
- raid
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1014—Compression, i.e. RAID systems with parity using compression techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
ムに関し、詳細には、しばしば「RAID」と呼ばれるredu
ndant array of independent storage devicesの管理に
関する。
の必要は、大容量記憶装置を必要とする。一般的な記憶
装置は、回転式の磁気ハード・ディスク装置であり、多
数の部品を含む複雑な機械装置は、故障しやすい。通常
のコンピュータ・システムには、そのような装置が複数
含まれる。単一の記憶装置の故障が、そのシステムにと
って非常に破壊的な事象になる可能性がある。多数のシ
ステムが、故障した装置が修復されるか交換され、失わ
れたデータが復元されるまで動作できなくなる。
性になるのにつれて、それに対応する記憶装置の記憶容
量、速度および信頼性の向上が必要になってきた。記憶
容量を増やすために単純に記憶装置を追加すると、それ
に対応してどれか1つの装置が故障する確率が高まる。
その一方で、既存の装置のサイズを増やすと、他の改良
がなければ、速度が低下し、信頼性は改良されない傾向
がある。
成された、直接アクセス記憶装置のアレイにかなりの関
心が集まっている。このような装置を、一般に「RAID
(Redundant Array of Independent)または(Inexpens
ive)Disks)」と称する。異なる形の冗長性をもたらす
さまざまの種類のRAIDが、1988年6月、ACM SIGMOD Co
nferenceに提出されたパターソン(Patterson)、ギブ
ソン(Gibson)およびカッツ(Katz)による論文「A Ca
se for Redundant Arrays of Inexpensive Disks(RAI
D)」に記載されている。パターソン他は、レベル1な
いし5と呼ばれる5つの種類にRAIDを分類した。このパ
ターソンの用語は、産業界の標準になっている。
ク駆動装置によって、単一のより大きい高価な駆動装置
の容量を実現できるというものである。小型の複数の駆
動装置は、すべてが同時にデータを読み書み(「アクセ
ス」)するので高速にもなる。最後に、小型の駆動装置
はコストが非常に低いので、余分の(冗長な)ディスク
駆動装置を含めることが可能であり、これとなんらかの
記憶管理技法を組み合わせることによって、ある小型駆
動装置が故障した場合に、システムがその駆動装置に記
憶されたデータを復元できるようになる。したがって、
RAIDを用いると、容量、性能および信頼性を高めること
ができる。RAIDが、市場で受け入れられるにつれて、そ
の使用が小容量駆動装置に限れられなくなり、RAIDシス
テムは、現在は、すべての容量の記憶装置を用いて構成
されている。さらに、RAIDシステムは、光ディスク駆動
装置、磁気テープ駆動装置、フロッピ・ディスク駆動装
置など、他の種類の記憶装置を用いて構成することがで
きる。本明細書で使用する用語「RAID」または「RAIDシ
ステム」を、特定の種類の記憶装置に制限されると解釈
してはならない。
ラーリング構成である。RAID−1メモリ構造によれば、
データの単位のそれぞれが、アレイ内の2つの独立の記
憶装置に記憶される。したがって、1つの装置が故障し
た場合に、第2の装置からデータを復元することができ
る。第1図は、RAID−1メモリ構造に従って記憶された
データを示す図である。第1図からわかるように、装置
1に記憶される情報(A、B、C、D)は、装置2に
「ミラーリング」される(A'、B'、C'、D')。同様に、
装置3に記憶される情報(E、F、G、H)は、装置4
にミラーリングされ(E'、F'、G'、H')、装置5に記憶
される情報(I、J、K、L)は、装置6にミラーリン
グされる(I'、J'、K'、L')。
−3、RAID−4、RAID−5)では、データ冗長性のため
にパリティ・レコードが使用される。パリティ・レコー
ドは、アレイ内の異なる記憶装置の特定の位置に記憶さ
れるすべてのデータ・レコードの排他的論理和から形成
される。言い換えると、N台の記憶装置のアレイでは、
記憶装置の特定の位置にあるデータのブロックの各ビッ
トが、(N−1)台の記憶装置のグループのその位置の
他のすべてのビットとの排他的論理和をとられて、パリ
ティ・ビットのブロックが作られる。パリティ・ブロッ
クは、残り(N番目)の記憶装置の同一位置に記憶され
る。このアレイの記憶装置が故障した場合、故障した装
置のある位置に含まれるデータは、残りの装置の同一位
置のデータ・ブロックとそれに対応するパリティ・ブロ
ックの排他的論理和をとることによって再生成できる。
クチュエータのすべてが、同時に動作して、各駆動装置
の同一位置にあるデータにアクセスする。RAID−4およ
びRAID−5は、さらに、ディスク駆動装置内で独立に動
作する読み書きアクチュエータという特徴を有する。言
い換えると、ディスク駆動装置の読み書きヘッドのそれ
ぞれが、アレイ内の他の装置がデータにアクセスしてい
るかどうかに無関係に、ディスク上の任意の位置のデー
タにアクセスすることができる。
され、各ブロックが、異なる記憶装置に記憶される。本
明細書の目的に関して、用語「ブロック」は、データの
1つまたは複数のセクタを含むデータのコヒーレントな
単位を指し、このデータは、単一の記憶装置から独立に
アクセス可能である。そのような1つのRAID−4メモリ
構造を含む情報を、「ストライプ」と称する。各ストラ
イプには、アレイの複数の装置202aないし202fに記憶さ
れた情報の一部が含まれる。本明細書の目的に関して、
用語「ストライプ」は、ブロックの組をさし、各ブロッ
クは、他の記憶装置のそれぞれに含まれる他のそれぞれ
のブロックのアドレスに関連するアドレスに記憶される
ことが好ましいが、その代わりに、ブロックの組を含
み、ブロックのそれぞれ(または一部)を、他の装置に
記憶される他のブロックのアドレスに関連しないアドレ
スに記憶することができる。第2図に、RAID−4に従っ
て記憶されたデータの4つのストライプ、204a、204b、
204c、204dを示す。第2図からわかるように、1つのス
トライプ204aには、装置1に記憶されるデータ・ブロッ
ク201、装置2に記憶されるデータ・ブロック203、装置
3に記憶されるデータ・ブロック205、装置4に記憶さ
れるデータ・ブロック207、および、装置5に記憶され
るデータ・ブロック209が含まれる。さらに、1つの装
置202fは、パリティ・ブロック211の「パリティ」情報
の記憶専用である。他の装置のそれぞれには、ユーザ情
報が記憶される。記憶装置のどれかが故障した場合、故
障した装置に記憶されていた情報は、他の装置のそれぞ
れに記憶されているストライプの残りの情報の論理的排
他的論理和をとることによって復元できる。
・アレイ(すなわちRAID−4またはRAID−5)で遭遇す
る問題の1つが、データ・ブロックが書き込まれる時に
必ずパリティ・ブロックが更新されることに関連するオ
ーバーヘッドである。たとえば、装置1のブロック201
の情報を変更する(すなわち、「新しいデータ」を書き
込んで「古いデータ」を更新する)時には、通常は、古
いデータ、パリティ・ブロック211からの古いパリティ
情報および新しいデータの排他的論理和をとって、更新
されたパリティ情報が作られる。新しいデータと新しい
パリティは、それぞれのブロックに書き込まれる。これ
らの動作は、さまざまな順序で実行することができる
が、通常は、データが更新されるたびに、2つのブロッ
クを読み取り(古いデータと古いパリティの両方)、2
つのブロックを書き込む(新しいデータと新しいパリテ
ィ)ことが必要になる。キャッシュおよび他の技法を使
用することでこの問題を軽減することができるが、RAID
−4システムのパリティ・ディスクは、激しく使用され
るようになる傾向を有する。
785号明細書には、パリティ・ブロックがアレイ内のデ
ィスク記憶装置の間で実質的に均等に分配されるタイプ
の独立読み書きアレイが記載されている。パターソン他
は、この種類のアレイをRAID−5と呼んだ。第3図に、
RAID−5構成を示す。パリティ・ブロックを分配するこ
とによって、パリティ更新の重荷が、多少均等にアレイ
内のディスク間で共用されるようになり、したがって、
通常はRAID−5システムならびにRAID−4システムでは
データを書くための同一のread−modify−write(読取
−変更−書込)動作が使用されるにもかかわらず、単一
の専用ディスク駆動装置ですべてのパリティ・レコード
が維持される時に発生する可能性がある潜在的な性能ボ
トルネックが回避される。RAID−5は、パターソンによ
って記載された最も高度なレベルのRAIDである。
特性を有し、それゆえに、他のフォーマットのどれより
も特定のデータの記憶に適したものになる可能性があ
る。それと同時に、例外なく優れている単一のフォーマ
ットは存在しない。たとえば、記憶の1バイトあたりの
コストという観点からは、RAID−1は最も高価であり、
パリティ保護されたRAIDはより安価であり、冗長性のな
い記憶装置はさらに安価である。冗長性のない記憶装置
とRAID−1は、一般に、パリティ保護されたフォーマッ
トでのデータの更新の難しさから、パリティ保護された
記憶装置より高速である。パリティ保護されたフォーマ
ットとミラーリング・フォーマットの両方が、冗長であ
るが、ミラーリングは、2つの記憶装置が故障した場合
に、故障した2つの装置に同一の情報が記憶されていな
い限り、これらの2つの装置に記憶された情報のすべて
を回復することができるという点で多少ながらもより堅
牢である。たとえば、第1図を参照すると、装置1と装
置3の両方が故障した場合に、この2つの装置に記憶さ
れていた情報は、装置2と装置4に記憶されたままにな
っている。したがって、故障した記憶装置に含まれるデ
ータを復元することができる。しかし、パリティ保護さ
れた構成の場合、故障した2台の装置に含まれるデータ
のすべてが失われる。というのは、パリティ保護された
構成では、1台の故障した装置に記憶されていた情報を
再構成するために、N−1台の装置からの情報が使用可
能であることが必要になるからである。このNは、RAID
−4ストライプの装置の総数である。
さおよび必要な空間のトレードオフを行う必要があるの
で、アレイの少なくとも一部を非冗長、一部をミラーリ
ング、一部をパリティ保護に割り振ることができると有
利である。アレイの一部をあるフォーマットまたは別の
フォーマットに動的に割り振る(すなわち、アレイの一
部をあるフォーマットから別のフォーマットに変換し、
逆変換する)能力は、さらに有利である。このような変
換は、まず再フォーマットされるアレイの一部からのす
べてのデータをバッファ(アレイ内またはアレイの外部
のいずれかとすることができる)にコピーし、その後、
アレイのその部分を再フォーマットし、新しいフォーマ
ットでデータをコピー・バックすることによって実行で
きる。しかし、データをバッファにコピーする処理は、
かなりのオーバーヘッドを必要とする。
記憶するための拡張された方法および装置を提供するこ
とである。
のためのより柔軟性のある記憶サブシステムを提供する
ことである。
で記憶装置の冗長アレイを管理するための拡張された方
法および装置を提供することである。
のユーザの必要に合致するようにコンピュータ・システ
ムの記憶サブシステムを再構成する能力を拡張すること
である。
はRAID−5のいずれかに効率的に変換し、逆変換するた
めのシステムおよび方法を提供することである。
ートするようにフォーマットすることのできる記憶装置
のアレイが含まれる。本発明の好ましい実施形態によれ
ば、アレイ内の各記憶装置に、複数のブロックが記憶さ
れ、アレイ内の記憶空間は、ストライプと呼ばれるブロ
ックの組に分割される。アレイ・コントローラは、異な
るメモリ構造に従う独立のストライプのフォーマッティ
ングをサポートする。具体的に言うと、好ましい実施形
態でサポートされるメモリ構造は、非冗長、ミラーリン
グ、およびパリティ保護(RAID−4またはRAID−5)で
ある。ミラーリングされた(RAID−1)情報の1つまた
は複数のストライプが、RAID−4またはRAID−5のいず
れかの情報の等しい数のストライプに変換され、逆変換
され、情報の移動が最小化されることが好ましい。
5つの状態すなわち(1)EMPTY(空)、(2)DATA
(データ)、(3)PARITY(パリティ)、(4)COPY
(コピー)または(5)FREE(空き)のうちの1つで存
在する。アレイ内の記憶ブロックの各ストライプは、7
つの状態のうちの1つで存在し、7つのストライプ状態
は、ブロックの状態に依存する。ストライプ状態のうち
の3つが非冗長、2つがパリティ保護であり、2つでミ
ラーリングが使用される。いくつかの定義済みの状態遷
移だけが可能である。記憶装置のブロックは、ユーザ情
報を危険にさらすことなくRAIDコントローラがそのブロ
ックの情報を変更できる時(すなわち、記憶された情報
がユーザ情報でもパリティ情報でもなく、パリティの生
成に使用されなかった時)に、EMPTYブロックとして指
定されることが好ましい。記憶装置のブロックは、その
ブロックがユーザ情報の記憶のために予約されている時
に、DATAブロックとして指定されることが好ましい。記
憶装置のブロックは、そこに記憶された情報が、同一ス
トライプに含まれるDATAブロックのそれぞれの論理的排
他的論理和(XOR)の結果である時に、PARITYブロック
として指定されることが好ましい。記憶装置のブロック
は、そこに記憶された情報が、同一ストライプの別の装
置のDATAブロックに記憶された情報のコピーである場合
に、COPYブロックとして指定されることが好ましい。記
憶装置のブロックは、ユーザ情報が現在そこに記憶され
ていないが、そこに記憶された情報が、ストライプ内の
関連するPARITYブロックの値の決定に使用されたので、
その情報をRAID−4(5)のread−modify−writeシー
ケンスに従って変更しなければならない場合に、FREEブ
ロックとして指定されることが好ましい。
する、すなわち、第1記憶装置に第1コピー、第2装置
に第2コピーを記憶する。ブロックの第1コピーは、DA
TAブロックとして指定されることが好ましく、ブロック
の第2コピーは、COPYブロックとして指定されることが
好ましい。好ましい実施形態によれば、DATAブロックの
情報とCOPYブロックの情報の両方が、異なる記憶装置に
記憶されるが、関連するDATAブロックとCOPYブロック
は、同一ストライプ内として指定される。したがって、
RAID−1情報のストライプには、同数のDATAブロックと
COPYブロックが含まれることが好ましく、アレイ内の記
憶装置の数は、偶数であることが好ましい。すなわち、
各ストライプは、アレイ内の各装置から1つのブロック
から構成することができる。アレイ内の記憶装置の数が
奇数の場合、各DATAブロックが対応するCOPYブロックを
必要とするので、ストライプに記憶装置のすべてより少
ない数のデータが含まれるか、各ストライプ内に奇数の
ブロックが存在しなければならない。
た状態のストライプは、RAID−1ストライプ内の1ブロ
ックをPARITYブロックとして指定し、いくつかの状況情
報を変更することによって、パリティ保護された状態
(RAID−4またはRAID−5)に変換される。この場合、
データの移動は不要である。
ング状態への変換が行われる場合には、状態テーブルに
よって、変換が許容される遷移の規則が定義される。ス
トライプ内の各DATAブロックに関連するCOPYブロックを
作成するのに十分な未使用空間(EMPTY状態またはFREE
状態)が存在しなければならない。RAID−1情報のDATA
ブロックおよび関連するCOPYブロックの両方が、同一の
ストライプ内に存在することが好ましいので、変換され
るストライプ(「変換」ストライプ)に記憶された情報
が、ストライプの容量の半分以上を必要とする場合に
は、残されるDATAブロックに関連するCOPYブロックのた
めの余地を作るために、少なくとも一部の情報を別のス
トライプに移動しなければならない。情報が移動される
ストライプ(「受取り側」ストライプ)のそれぞれが、
受取り側ストライプがRAID−1に従って構成される場合
に、DATAブロックおよび関連するCOPYブロックの両方を
記憶するのに十分な余地を有する必要がある。その代わ
りに、データの一部を、パリティ保護された受取り側ス
トライプまたは保護されない受取り側ストライプに移動
することができ、この場合、受取り側ストライプにはデ
ータを記憶するのに十分な余地があれば十分である。DA
TAブロックのコピーが作成され、ストライプ状況が更新
される。
たデータを示す図である。
ータを示す図である。
ータを示す図である。
テムを示す図である。
よるデータ・ブロックの状況および使用法をマッピング
するのに使用されるデータ構造を示す図である。
に接続された記憶装置にデータを書き込むために実行さ
れるステップの流れ図である。
のストライプの可能な状況変化を示す状態図である。
ングされた構造(RAID−1)としてフォーマットされて
いるアレイの一部をパリティ保護された構造(RAID−4
またはRAID−5)に変換するために実行されるステップ
の流れ図である。
プ901がRAID−1構造としてフォーマットされたアレイ9
00を示す図である。
1構造として構成されたストライプがパリティ保護され
たストライプに変換された後の、第9図のアレイを示す
図である。
れたストライプ(RAID−4またはRAID−5)をミラーリ
ングされた構造(RAID−1)に変換する方法を示す流れ
図である。
プをパリティ保護されたストライプ(RAID−4またはRA
ID−5)に変換する方法を示す流れ図である。
憶装置を有するアレイを示す図である。
による再構成可能なRAID記憶システムが示されている。
通常のRAID構成の場合と同様に、好ましい実施形態のRA
IDシステム400には、複数の記憶装置401aないし401fが
含まれる。好ましい実施形態では、記憶装置401aないし
401fは、直接アクセス記憶装置(DASD)であり、具体的
には、回転式磁気ハード・ディスク駆動装置記憶装置で
あるが、その代わりに他の種類の記憶装置を使用するこ
とができることを理解されたい。第4図では、便宜上6
台のDASDが図示されているが、本発明によるアレイに
は、3台以上の装置を含めることができることを理解さ
れたい。RAIDコントローラ403が、記憶装置401aないし4
01fに結合される。本発明の好ましい実施形態によれ
ば、RAIDコントローラ403には、ランダム・アクセス・
メモリ(RAM)410とプログラム可能なマイクロプロセッ
サ412が含まれる。データ消失の確率をさらに低下させ
るために、RAM410の一部またはすべてを不揮発性とする
ことができる。マイクロプロセッサ412は、アレイの動
作、具体的には本明細書に記載の方法によるあるフォー
マットから別のフォーマットへの記憶装置の組の変換を
制御する制御プログラム413を実行する。制御プログラ
ム413は、メモリ410に常駐した状態で図示されている
が、その代わりに、読取専用メモリ(ROM)チップなど
の別の制御記憶メモリに常駐することができることを理
解されたい。制御プログラムは、磁気フロッピ・ディス
ク、磁気テープ、光ディスクなどの任意選択の別の周辺
装置からメモリ410にロードすることができ、ホスト・
システム404からダウンロードすることができる。RAID
コントローラ403は、ホスト・システム404からコマンド
と情報を受け取ることが好ましい。ホスト・システム40
4は、プログラムされた汎用ディジタル・コンピュータ
を含む、通常のRAIDシステムに結合することができるな
んらかの装置とすることができる。コマンドによって、
RAIDコントローラ403は、そのコマンドに関連して受け
取った情報をDASDのアレイに記憶するように指示され
る。さらに、コマンドによって、情報を非冗長フォーマ
ット、RAID−1フォーマット、RAID−4フォーマットま
たはRAID−5フォーマットのうちのどれ従って記憶する
かを指示することができる。代替案では、RAIDコントロ
ーラ403が、ホスト・プロセッサからの案内なしに、受
け取った情報を非冗長形式とRAID−1、RAID−4または
RAID−5に従ううちのどれで記憶するかを決定する。
のアレイに結合することができる。しかし、好ましい実
施形態では、同時に複数のDASDにデータを伝送すること
のできる接続を設ける。本発明の任意選択の実施形態に
よれば、テープ・アレイなどの任意選択の周辺記憶装置
405も、RAIDコントローラ403に結合される。テープ・ア
レイを用いると、コントローラが、アレイのDASD内の空
間を解放するために、頻繁に使用されない情報をDASDア
レイから外に移動できるようになる。任意選択として、
周辺記憶装置405は、参照によって本明細書に組み込ま
れる、本明細書と同一の譲受人に譲渡される米国特許出
願番号第07/879621号明細書に記載されているように、
書き込まれるデータの一時キャッシュとして使用される
DASDとすることができる。
−5の両方のフォーマットではなく、いずれかが使用さ
れる。しかし、代替実施形態では、RAIDコントローラ40
3は、RAID−1、RAID−4またはRAID−5のいずれかに
従って情報を記憶することができるものとすることがで
きる。当業者であれば、RAIDコントローラ403が、アレ
イのどの部分が各構成に割り振られているかを知らなけ
ればならないことを理解するであろう。たとえば、アレ
イの一部が、RAID−1による情報の記憶に割り振られ、
アレイの一部が、RAID−5による情報の記憶に割り振ら
れている場合、コントローラ403は、どの部分がどのフ
ォーマットに割り振られているかを意識しなければなら
ない。
なる部分がどのように使用されるかが記録される。デー
タ・ディレクトリ411には、アレイ内のブロックの現在
の状況すなわち、各ブロックがDATA、COPY、PARITY、EM
PTYまたはFREEのうちのどのブロックであるかと、各ス
トライプのデータ冗長性の形式(ミラーリング、パリテ
ィ保護または非冗長)が記憶される。データ・ディレク
トリ411には、追加情報ならびにアレイのさまざまな部
分の使用法を判定するのに必要な情報を記憶することが
できる。停電または構成要素消失の場合の回復を可能に
するために、データ・ディレクトリ411の冗長コピー
(図示せず)が別の位置(たとえば、DASDのうちの1つ
のの指定された場所または別の周辺装置405上)に存在
するか、データ・ディレクトリ411をRAM410の不揮発部
分に記憶することが好ましい。
よる、前述の目的に使用されるデータ・ディレクトリ41
1内のデータ構造のうちの3つを示す図である。第5A図
は、ストライプ状態テーブルを示す図であり、第5B図
は、ブロック状況テーブルを示す図であり、第5C図は、
ホスト・アドレス・マッピング・テーブルを示す図であ
る。ストライプ状態テーブル501には、複数の項目が含
まれ、各項目には、ストライプ・アドレス・フィールド
502と、ストライプ状態フィールド503が含まれる。スト
ライプ・アドレス・フィールド502には、記憶装置での
ストライプのブロックの開始アドレスが記憶される。好
ましい実施形態では、すべてのブロックが同一サイズで
あり、ストライプのすべてのブロックが、それぞれの記
憶装置内で同一のアドレスにあり、したがって、単一の
開始アドレスを識別するだけで、ストライプを識別する
のに十分である。ストライプ状態フィールド503には、
ストライプの現在の状態が含まれ、可能な状態は、第6
図に関連して下で詳細に説明する。
の複数の項目が含まれる。ブロック状況テーブル521の
各項目には、ストライプ識別子フィールド523、装置ID
フィールド524、状況フィールド525、バージョン番号フ
ィールド526および対装置フィールド527が含まれる。ス
トライプ識別子フィールド523は、そのブロックを含む
ストライプを識別するフィールドであり、たとえば、ス
トライプ状態テーブル501の対応する項目を指すポイン
タとすることができる。装置IDフィールド524には、そ
のブロックを含むDASDの識別子が含まれる。各ストライ
プには、どのDASDでも1つを超えないブロックが含まれ
るので、ストライプとDASDを指定することが、ブロック
の指定には十分である。状況フィールド525には、ブロ
ックの使用状況(DATA、COPY、PARITY、FREEまたはEMPT
Y)が記録される。バージョン番号フィールド526には、
バージョン番号が記録される。バージョン番号は、デー
タ更新のたびに増分され、冗長ブロックが同期化されて
いるかどうかの判定に使用される。対装置フィールド52
7は、記憶装置のミラーリングされたブロックの場合は
対にされたブロックを識別し、パリティ保護されたデー
タ・ブロックの場合はパリティ・ブロックを識別するフ
ィールドである。対装置フィールドは、たとえば、対に
されたブロックまたはパリティ・ブロックに対応するブ
ロック状況マップ・テーブル項目を指すポインタとする
か、装置識別子とすることができる。
スト・アドレスをブロックにマッピングするテーブルで
ある。好ましい実施形態によれば、ホスト・コンピュー
タ・システムは、記憶サブシステムを単一の大きいアド
レス範囲とみなす。特定のアドレスを読み書きするため
の、ホストからのコマンドは、記憶装置IDとその記憶装
置内のアドレスを参照するように変換しなければならな
いが、これは、ホスト・アドレス・マッピング・テーブ
ル541を用いて達成される。ホスト・アドレス・マッピ
ング・テーブル541には、ホスト・システムによってア
ドレッシングされるブロックごとに1つの複数の項目が
含まれる。各項目には、ホスト・システム・アドレス・
フィールド542とブロック識別子フィールド543が含ま
れ、ブロック識別子フィールドには、ブロックを識別す
るブロック状況テーブル521内の項目を指すポインタが
含まれる。
すものであり、データ構造の多数の変形が可能であるこ
とを理解されたい。たとえば、ホスト・コンピュータ・
システムが、ブロックの物理位置を追跡し、RAIDコント
ローラ403内のホスト・アドレス・マッピング・テーブ
ルを不要にすることが可能である。データ構造は、1つ
の大きいテーブル、連係リストまたはさまざまな他の形
式として構成することがでできる。さらに、実施の正確
な形態に応じて、一部のフィールドが不要になるか、追
加のフィールドが必要になる場合がある。さらに、上で
説明したデータ構造は、RAIDコントローラ403によって
使用される唯一のデータ構造であるとは限らないことを
理解されたい。たとえば、RAIDコントローラ403は、記
憶装置上で割振りに使用できる空き空間のリストを有す
ることが好ましい。これには、FREEまたはEMPTYの状況
を有するブロックだけではなく、DATAブロックのうちの
まだ割り振られていない部分を含めることができる。
ステム404から受け取るデータ・アクセス・コマンド
(データの読取または書込)に応答する。ホスト・シス
テム404からのデータ・アクセス・コマンドには、読み
取るブロック(または、セクタなど、ブロックの一部)
のアドレスが含まれる。ホストからのアドレスは、ホス
ト・アドレス・マッピング・テーブル541内の項目にア
クセスするのに使用される。ブロック識別子フィールド
543が、所望のブロックに対応するブロック状況テーブ
ル521内の項目を指す。コントローラは、この項目にア
クセスして、装置IDフィールド524から記憶装置識別子
を取得し、ストライプ識別子フィールド523からストラ
イプ識別子を取得する。これらによって、読み取るべき
ブロックが識別される。その後、RAIDコントローラ403
は、適当な記憶装置に読取コマンドを発行し、記憶装置
内の所望のデータのアドレスを渡す。
コントローラ403が、現在のブロック使用法を確認しな
ければならず、(b)書込動作によってストライプ状態
の変化が引き起こされる可能性があるからである。第6
図は、書込動作を実行する際にRAIDコントローラ403に
よって実行されるステップの流れ図である。ホスト・シ
ステム404からの書込コマンドに応答して、RAIDコント
ローラ403は、ストライプ状態テーブル501、ブロック状
況テーブル521およびホスト・アドレス・マッピング・
テーブル541を参照して、読取動作に関して上で説明し
たように、記憶装置IDと所望のブロックのアドレスを判
定する(ステップ601)。さらに、コントローラは、ス
トライプ状態テーブル501のストライプ状態フィールド5
03から、ストライプの現在の状況を判定する(ステップ
602)。
して下で完全に説明する。ストライプの現在の状態に応
じて、3つの可能な分岐のうちの1つが採用される。現
在の状態が保護されていない状況(番号5、6または
7)のいずれかである場合には、RAIDコントローラ403
は、適当な記憶装置に単純に書込コマンドを発行し、記
憶装置内でデータが書き込まれるアドレスを渡す(ステ
ップ605)。
いずれかである場合には、RAIDコントローラ403は、ま
ず、ミラーリングされたデータを含む適当な記憶装置に
書込コマンドを発行する(ステップ610)。その後、RAI
Dコントローラ403は、ミラーリングされたデータを含む
ブロックのバージョン番号フィールド526を増分する
(ステップ611)。その後、RAIDコントローラ403は、対
装置フィールド527からミラーリングされたデータのコ
ピーを含む装置の装置IDを見つけ、コピーを含む記憶装
置に書き込みコマンドを発行する(ステップ612)。完
了時に、コピーを含むブロックのバージョン番号フィー
ルド526を、元のデータを含むブロックのバージョン番
号と等しい値に増分する(ステップ613)。
は4)のいずれかである場合には、RAIDコントローラ40
3は、まずデータを含む記憶装置からデータを読み取り
(ステップ620)、このデータと新たに書き込まれるデ
ータの排他的論理和をとって、一時的変更マスクを生成
し(ステップ621)、新しいデータを記憶装置に書き込
み、バージョン番号フィールドを増分する(ステップ62
2)。その後、RAIDコントローラ403は、対装置フィール
ド527からパリティを含む装置の識別を取得し、このパ
リティ装置から古いパリティ・ブロックを読み取り(ス
テップ625)、この古いパリティ・データと変更マスク
の排他的論理和をとって新しいパリティ・データを生成
し(ステップ626)、新しいデータをパリティ・ブロッ
クに書き込み(ステップ627)、パリティ・ブロックの
バージョン番号フィールドを増分する。
変化が発生したかどうかを判定する。すなわち、データ
が、FREEまたはEMPTYの状況を有するブロックに書き込
まれた場合には、その状況をDATAに変更しなければなら
ない(ステップ630)。ブロックの状況が変化した場
合、ストライプの状況も変化している可能性がある。し
たがって、コントローラは、ストライプの状況の変化が
発生したかどうかを判定し、その変更を反映するように
ストライプ状態フィールド503を更新する(ステップ63
1)。可能な変更とそのトリガになる事象は、第7図に
関連して下で説明する。
しやすくするために簡略化されており、本発明の理解に
必須ではない追加の動作を読取または書込と共に実行で
きることを理解されたい。具体的に言うと、RAIDコント
ローラ403は、性能改善のために常駐キャッシュ・メモ
リを有することができ、この場合、通常は、記憶装置か
らの読取またはこれへの書込の前に、キャッシュの内容
が検査される。その代わりに、RAIDコントローラ403
で、書込動作を一時的にキャッシュ記憶するために、外
部ログ記録装置を使用することができる。
フォーマットのいずれかで記憶できるほかに、好ましい
実施形態のRAIDコントローラ403は、あるRAIDフォーマ
ットに従ってすでに情報が記憶されているアレイの部分
を別のRAIDフォーマットに再割振りすることができるよ
うに、アレイを再割振りすることができる。たとえば、
RAID−1に従って情報を記憶するように割り振られてい
るアレイの部分を、RAID−5に従って情報を記憶するよ
うに再割振りすることができる。アレイのその部分に記
憶される情報は、その後、RAID−5に従って再フォーマ
ットされる。
ォーマットへの変換をサポートするために、状態(スト
ライプ状態テーブル501に記憶される)に、各ストライ
プが関連付けられ、状態変化の定義済みの組が、事前に
定義された事象に応答して許可される、一般に、状態変
化を引き起こす事象は、いくつかのデータ書込動作、い
くつかの空間解放の要求(すなわち、既存ブロック内の
データの破棄)および、ストライプのRAIDフォーマット
の変更要求である。第7図に、可能な状態と可能な状態
変化を示す状態図を示す。
プに書き込まれたデータが、ストライプに書き込まれた
ミラー・コピーも有することを意味する。しかし、この
ストライプの少なくとも1つのブロックがEMPTYであ
る。
プのすべてのデータがミラーリングされ、このストライ
プのためのEMPTYブロックが存在しないことを意味す
る。
リティ保護されている(たとえばRAID−4またはRAID−
5)が、DATA空間のすべてのコピーを保持するのに十分
なFREEブロックおよびPARITYブロックが存在することを
意味する。
がパリティ保護されており、DATAブロックのすべてのコ
ピーを保護するのに十分なFREEブロックおよびPARITYブ
ロックが存在しないことを意味する。
が保護されていないが、DATAブロックのすべてのコピー
のために十分なEMPTYブロックが存在することを意味す
る。
されておらず、すべてのDATAブロックのコピーのために
十分なEMPTYブロックが存在しないが、パリティ・ブロ
ック用のEMPTYブロックが存在することを意味する。
ータが保護されておらず、EMPTYブロックが存在しない
ことを意味する。
内に少なくとも1つのEMPTYブロックがある時に発生す
る。
プ内にEMPTYブロックがなくなった(すなわち、データ
が最後のEMPTYブロックに書き込まれ、そのブロックがD
ATAブロックになった)時に発生する。この変化は、第
8図に関連して下で完全に説明する2段階遷移(状態1
から状態2を介して状態3へ)の一部として、ストライ
プ・フォーマットをパリティ保護付きに変更するコマン
ドの時にも発生する。この場合、EMPTYブロックは、コ
ピー内で対にされ、その状況はFREEに変化する。
すためなど、ストライプ・フォーマットを変更するコマ
ンドの時に限って発生する。この遷移では、COPY状況を
有するストライプ内のすべてのブロックが、EMPTY状況
に変更される。
れる(DATAおよびCOPYへの状況変化を引き起こす)時に
発生する。この遷移は、ブロック内の空間を解放するコ
マンドの時にも発生する。後者の場合、ブロックの両方
のコピーがFREEと指定される(使用可能であることが示
される)が、ミラーリングは中断されない。
コマンドの時に限って発生する。この状態変化の手順
は、第8図に関連して下で完全に説明する。
コマンドの時に限って発生する。この遷移では、COPYブ
ロックのすべてが、EMPTY状況に変更される。
DATAへの状況変化が発生する(下の3bで説明する状況を
除く)時に発生する。この遷移は、DATAブロック内の空
間を解放し、ブロックの状態をFREEに変化させるコマン
ドの時にも発生する。
状況がDATAに変化し、その結果、残りのFREEブロックと
PARITYブロックがストライプ内のDATAブロックのすべて
をコピーするのに不十分になった時に発生する。
コマンドの時に限って発生する。この状態変化の手順
は、第11図に関連して下で完全に説明する。
コマンドの時に限って発生する。この状態変化の手順
は、第11図に関連して下で完全に説明する。
コマンドの時に限って発生する。すべてのPARITYブロッ
クおよびFREEブロックがEMPTYに変更され、これらのブ
ロックは、追加データの記憶に使用できるようになる。
時か、DATAブロック内の空間を解放するコマンドによっ
てブロックがFREEに変更されたが、ストライプ内のFREE
ブロックおよびPARITYブロックがすべてのDATAブロック
のコピーを保持するために十分(ミラーリング状態への
遷移が可能)でない時に発生する。
に、DATAブロックのすべてのコピーを保持するのに十分
なFREEブロックおよびPARITYブロックができた結果とし
て発生する。
コマンドの時に限って発生する。PARITYブロックとFREE
ブロックのすべてが、EMPTYに変更される。
れ、そのブロックの状況がDATAに変更された時か、DATA
ブロック内の空間を解放するコマンドによってブロック
がDATAからEMPTYに変更された時で、どちらかの変更の
後に、DATAブロックのすべてのコピーを保持するのに十
分なEMPTYブロックがある(ミラーリング状態への遷移
が可能になった)時に発生する。
プ・フォーマットを変更するコマンドの時に限って発生
する。
プ・フォーマットを変更するコマンドの時に限って発生
する。
に書き込まれ、EMPTYブロックの状況がDATAに変更され
た時に、変更の結果としてDATA空間のすべてのコピーを
保持するのに十分なEMPTYブロックがストライプになく
なった時に発生する。
プ・フォーマットを変更するコマンドの時に限って発生
する。
れ、その状況がDATAに変更された場合か、DATAブロック
内の空間を解放するコマンドによって、ブロックがDATA
からEMPTYに変更された時で、どちらかの変更の後に、
パリティには十分なEMPTYブロックがあるが、DATAブロ
ックのすべてのコピーを保持するのに十分なEMPTYブロ
ックがない時に発生する。
ンドによって、ブロックがDATAからEMPTYに変更された
場合に、DATAブロックのすべてのコピーを保持するのに
十分なEMPTYブロックができた結果として発生する。
プ・フォーマットを変更するコマンドの時に限って発生
する。
込まれ、そのブロックの状況がDATAに変更され、その結
果、EMPTYブロックがなくなった時に発生する。
ンドによって、ブロックがDATAからEMPTYに変更された
時に発生する。
・フォーマットを変更する「コマンドの時」に発生す
る。RAIDコントローラ403は、ホスト・システム404から
のコマンドに従ってストライプを構成することが好まし
い。ホストは、個々のストライプの構成を記録せず、あ
る量の記憶域がミラーリング構成で存在し、ある量の記
憶域がパリティ保護された構成で存在し、ある量の記憶
域が非保護(すなわち非冗長)構成で存在することだけ
を知っている。RAIDコントローラ403は、ホスト・シス
テム404からの最初の構成コマンドに対して、適当な数
のストライプをそれぞれの構成に割り振ることによって
応答する。その後、ホスト・システム404は、新しいデ
ータを書き込む時に必ず、データをミラーリングする
か、パリティ保護するか、保護しないかを指定する。RA
IDコントローラ403は、この指定に基づいて、適当なス
トライプとブロックを選択する。ホスト・システム404
は、たとえばより多くの空間を開放するため、または、
異なる構成のより多くの空間が必要であることが判明し
たので、構成を変更する場合がある。この場合、ホスト
・システム404は、RAIDコントローラ403に構成コマンド
を送って、ある量の記憶域(ストライプ数)を再構成す
ることを要求する。コントローラは、現在のストライプ
の状態に基づいて、再構成に適当なストライプを選択す
る。RAIDコントローラ403は、最小量のデータが存在す
るストライプを選択することが好ましい。たとえば、ホ
スト・システム404から、あるストライプを非保護状況
からパリティ保護状況に変換するコマンドを受け取った
場合、遷移5(c)は6(c)より好ましい。これは、
同一状態の複数のストライプの間では、最大数のEMPTY
ブロックを有するストライプが好ましく、同数のEMPTY
ブロックを有するストライプの間では、部分的に満たさ
れたDATAブロック内に最大の未使用空間を有するストラ
イプが好ましい(ブロックの一部を割り振ることができ
ると仮定)からである。
置とアドレスにマッピングし、ユーザ入力を用いるかこ
れなしで、どのストライプをどの形で構成するかを決定
することができることを理解されたい。この場合、RAID
コントローラ403は、ストライプの構成を変更するため
のホスト・コマンドに単純に応答するはずである。代替
案では、RAIDコントローラ403が、それ自体で、所定の
アルゴリズムまたは条件に従って、構成の変更を決定す
ることができる。もう1つの代替案として、ユーザが、
RAIDコントローラ403に直接に構成変更を入力すること
ができる。いくつかの遷移が構成を変更する「コマンド
の時」に行われるという説明は、構成変更をホストによ
って開始されたコマンドに制限するものと解釈してはな
らず、コントローラ自体、ユーザ、または他のなんらか
の方法によって生成された「コマンド」を含むものと解
釈しなければならない。
して現在フォーマットされているアレイの部分をRAID−
4(5)構造に変換するために実行されるステップの流
れ図である。言い換えると、ストライプの状態は、状態
2から状態3(または、状態1から状態2を介して状態
3までの2段階)に変化する。この実施形態では、アレ
イに、偶数個の記憶装置が含まれ、ストライプに、各記
憶装置の1ブロックが含まれ、ストライプの各ブロック
が、それぞれの記憶装置の同一アドレス範囲に配置され
る、第9図は、第8図の方法を実行するためのアレイ90
0を示す図である。RAID−1に従ってフォーマットされ
た情報は、一般にストライプに記憶されないことに留意
されたい。すなわち、RAID−1に従って編成された情報
は、情報のコピーがアレイ内の別の記憶装置のどこかに
常駐することを必要とするに過ぎない。対照的に、本発
明によれば、RAID−1メモリ構造内のデータのブロック
は、そのストライプを変換できるRAID−4またはRAID−
5ストライプと同一の寸法を有する「ストライプ」を形
成するものとして指定される。あるストライプ内のデー
タのブロックは、そこに記憶されたデータの第1ブロッ
クに関連する各DASD内の同一アドレスなど、異なるDASD
内の関連するアドレスに記憶されることが好ましいこと
に留意されたい。しかし、本発明のもう1つの実施形態
では、あるストライプ内のデータの各ブロックを、その
データの他のブロックのアドレスに関連しないアドレス
に記憶することができる。表記を簡潔にするために、ス
トライプをRAID−4ストライプまたはRAID−5ストライ
プのいずれかとすることができる場合に、ストライプを
「RAID−4(5)」ストライプと表記する。第10図に、
第9図でRAID−1ストライプとして構成されたストライ
プ901がRAID−4(5)のストライプ1001に変換された
後のアレイ900を示す。本発明は、以下の観察を利用す
る。それ自体とXORされるデータのブロックは、すべて
が0のブロックをもたらす。すなわち、 (A)XOR(A)=0 (式1) 第9図および第10図の例のRAID−1ストライプには、3
対のブロックが含まれ、各対にデータのブロックとその
データ・ブロックのコピーが含まれるので、任意の5つ
のブロックの間のXOR演算の結果は、第6のブロックと
等しいブロックをもたらす。すなわち、 (A)XOR(A')XOR(B)XOR(B')XOR(C)=(C')
(式2) ここで、A'はAの正確なコピー、B'はBの正確なコピ
ー、C'はCの正確なコピーである。
つのコピーであると仮定すれば、5つのブロックのどれ
のXORをとるかに無関係に成り立つ。したがって、単にR
AID−1ストライプの1つのブロック913の指定をCOPYか
らPARITYに変更し、ブロック905および909をCOPYブロッ
クからFREEに変更することによって、RAID−1ストライ
プが、第10図に示されたRAID−4(5)ストライプに変
換される。PARITYブロックと指定される特定のブロック
の選択によって、ストライプがRAID−4ストライプとRA
ID−5ストライプのどちらとして構成されるかが決定さ
れることがわかる。単一のRAID−4ストライプとRAID−
5ストライプ自体の間には区別がないことが明白であ
る。というのは、各ストライプ内のPARITYブロックの相
対位置によって、RAID−4システムとRAID−5システム
が区別されるからである。
は、変換されるブロックの組を識別することである(ス
テップ801)。好ましい実施形態では、各ストライプ
を、RAID−1構成からRAID−4(5)構成はまたはその
逆に、個別に独立に変換することができる。各ストライ
プは、各DASD上のあるアドレス範囲に配置されたすべて
のブロックを含むことが好ましいので、ストライプは、
単にアドレス範囲を指定するか、ブロックのうちの1つ
を指定することによって選択される。しかし、代替案で
は、変換するストライプを識別するステップに、他のも
のを含めることができる。たとえば、ストライプに、互
いに関係のない混合アドレスにあるブロックが含まれる
場合、ストライプの識別に、RAID−1ブロックの個々の
対を選択するステップを含めることができる。代替案で
は、記憶装置のアレイを、ストライプの事前に定義され
たグループだけが選択される(たとえば、多数のブロッ
クを含む単一の大きいアドレス範囲)ように設計する
か、変換がアレイ全体に対してのみ実行されるように設
計することができる。識別は、ユーザによって手作業で
行うことができ、なんらかのアルゴリズム(たとえば、
最近最も使用されていない(LRU)ストライプを選択す
る)に従ってソフトウェアによって実行することができ
る。変換アルゴリズムでは、保留中の書込のすべてが完
了している、すなわち、各DATAブロックとそのそれぞれ
のCOPYブロックが同一のデータを有すると仮定する。こ
れは、バージョン・レベルを検査することによって検証
できる。書込動作が完了していない(バージョン・レベ
ルが一致しない)場合には、処理の前に書込動作を完了
する。
状態1(NEW MIRROR)および状態2(FULL MIRROR)
として識別される2つの状態がある。パリティ保護され
た状態(状態3、PARITY X)への状態遷移は、状態2
からのみ許可される。したがって、ストライプが状態1
の場合には、ステップ802の分岐として示されるよう
に、まずストライプを状態2にして(遷移1b)PARITY
X状態への最終的な遷移を容易にする必要がある。NEW
MIRROR状態のストライプをFULL MIRRORにするために
は、EMPTYブロックをミラーリングする、すなわち、EMP
TYブロックに記憶されたもののすべてを別のEMPTYブロ
ックにミラーリングしなければならない。EMPTYブロッ
クに0だけが含まれることが事前にわかっている場合、
これはすでにそうなっている。そうでない場合に、これ
を達成するもっとも簡単な方法は、通常は、EMPTYブロ
ックを0にすることである(その代わりに、これらを互
いに対にし、データのコピーを作ることができる)(ス
テップ803)。その後、EMPTYブロックの状況をFREEに変
更し、ストライプの状態をFULL MIRRORに変更する(ス
テップ804)。
DASDを選択して、新しRAID−4(5)ストライプに関連
するパリティ・ブロックを記憶する(ステップ806)。
第9図および第10図では、例としてブロック913が選択
されているが、他のブロックを選択することができるこ
とを理解されたい。好ましい実施形態では、RAIDコント
ローラ403が、パリティ・ブロックに関して事前に定義
されたマッピング・アルゴリズムに従って、パリティ・
ブロックを自動的に選択する。すなわち、好ましい実施
形態では、パリティは、RAID−5に従って構成され、パ
リティ・デバイスの台数は、((N−1)×S MOD
N)+1など(Sはストライプ数、Nはアレイ内の記憶
装置の数)、単純なラウンドロビン公式によって決定さ
れる。しかし、その代わりに、適当なパリティ・ブロッ
クの選択を、ユーザによって実行するか、ホストによっ
て実行するか、なんらかの他の判断基準を含めることが
できることを理解されたい。たとえば、RAID−4が指定
された場合、パリティを含むDASDは、すでに既知であ
り、したがって、パリティを含むブロックは、ストライ
プの識別から既知である。パリティ・ブロックを先に選
択し、その後、パリティ・ブロックの選択から適当なス
トライプを暗示することもできる。したがって、ステッ
プ801ないし806は、異なる順序で実行することができ、
いくつかのステップを同時に実行することもできる。
3は、PARITYブロックとして指定される(ステップ80
7)。「指定」とは、システム内でこれがパリティ・ブ
ロックであることを示すなんらかの記録が作られ、その
結果、今後、システムがそれをそのようなものとして認
識することであることを理解されたい。好ましい実施形
態では、ブロック状況テーブル521のブロック状況フィ
ールド525のブロック状況を更新して、選択されたブロ
ックがパリティ・ブロックであることを反映する、すな
わち、ブロック状況テーブル521のブロックの状況をPAR
ITYに変更する。
前にDATAブロックであった場合(ステップ808)、そのD
ATAブロックに関連するCOPYブロックを、DATAブロック
として指定する(ステップ809)。残りのCOPYブロック
のそれぞれを、FREEブロックとして指定する(ステップ
810)。最後に、ストライプの指定を、FULL MIRROR
(状態2)からPARITY X(状態3)に変更する(ステ
ップ812)。上で説明したように、好ましい実施形態の
「指定」は、ブロック状況テーブル521のブロックの状
況とストライプ状態テーブル501のストライプの状態を
変更することを意味し、この情報は、他の形式で表現で
きることを理解されたい。
憶される情報は、ストライプ1001内の他のブロック903
ないし911のそれぞれの理論的排他的論理和に等しいこ
とがわかり、したがって、連続する排他的論理和演算に
よってパリティを計算する必要はない。さらに、2つの
ブロック905および909は、FREEと指定されているので、
RAID−1からRAID−4(5)への変換の後に、ストライ
プ1001に追加情報を記憶することができる。
長ストライプ(すなわち「変換ストライプ」)をミラー
リングされたストライプ(RAID−1)に変換する方法を
示す流れ図である。ストライプをFULL MIRROR状態に変
換するためには、変換ストライプ内に、DATAブロックの
それぞれのコピーを記憶するのに十分な使用可能空間が
存在しなければならない。第7図の状態図に関して具体
的に言うと、状態3(PARITY X)または状態5(UNPR
OTECTED X)から状態2(FULL MIRROR)への状態遷
移が可能である。これらは、第7図に示された遷移3dお
よび5bである。第10図に、PARITY X状態の変換ストラ
イプであるストライプ1001が示されているが、これは、
FULL MIRROR状態に変換することができる。ストライプ
が状態4、6または7である場合、下で説明するよう
に、FULL MIRRORに変換する前に、そのストライプをま
ず状態3または状態5にしなければならない。したがっ
て、パリティ保護されたストライプまたは保護されない
ストライプに情報を記憶する時には、第2DASD内の第2
ブロックに情報を記憶する前に、第1DASD内の第1ブロ
ックに書き込むことが好ましい。この形で、情報が統合
され、必要な空間を使用可能にしようとする試行のため
に別の処置で情報を統合する必要がなくなる。
は、変換されるブロックの組すなわち変換ストライプを
識別することである(ステップ1101)。前に述べたよう
に、好ましい実施形態では、各ストライプをある構成か
ら別の構成に個別に独立に変換することができる。スト
ライプは、第8図に関して上で説明した方法のいずれか
によって識別することができる。
クのそれぞれのCOPYブロックを作成するのに十分な未使
用の空間があるかどうかを検証する、具体的に言うと、
RAIDコントローラ403は、ストライプ状態テーブル501を
参照して、ストライプ状態を判定する。状態3または状
態5のいずれかのストライプは、十分な未使用空間を有
する(ステップ1102)。必要なCOPYブロックを記憶する
のに十分な空間が変換ストライプ内に存在しない(すな
わち、ストライプが状態4、状態6または状態7であ
る)場合には、少なくともデータの一部を、変換ストラ
イプから別のストライプまたは、周辺記憶装置405(第
4図参照)に関連するものなどの別の記憶サブシステム
に再配置しなければならない。この処理は、第11図では
ステップ1103ないし1106として図示されている。システ
ムは、まず、DATAブロック内の記憶域を解放できるかど
うかを判定する(ステップ1103)。これは、たとえば、
そのブロックのデータを上書きできるが、圧縮できる
か、他の位置に記憶できるかをユーザに質問することに
よって実行でき、この場合には、ユーザが選択を行う。
その代わりに、RAIDコントローラ403をプログラムし
て、データを再配置できる使用可能ブロックについて他
のストライプを走査する、圧縮できるデータを圧縮す
る、または、テープに再配置するためのブロックを選択
するなどを行い、したがって、ブロックを自動的に再配
置することができる。RAIDコントローラ403は、LRUなど
のアルゴリズムを使用して、圧縮または再配置するブロ
ックを決定することができる。DATAブロックのうちの1
つを解放することが不可能な場合には、この処理は異常
終了し、変換ストライプは変換されない(ステップ110
6)。適当な候補ブロックが見つかった場合には、その
ブロックのデータを、適宜再配置、圧縮または無視し、
ブロック自体を、追加データの記憶のために解放する
(ステップ1104)。RAIDコントローラ403は、ブロック
状況テーブル521のブロックの状況をFREE(ストライプ
が状態4、FULL PARITYの場合)またはEMPTY(ストラ
イプが状態6、UNPROTECTEDまたは状態7、FULL UNPRO
TECEDの場合)に変更し、ストライプ状況を更新する
(ステップ1105)。このブロックの状況の変化は、スト
ライプ状況の状態3または状態5への変化のトリガにな
る可能性がある。その後、このアルゴリズムはステップ
1102を繰り返す。
で説明したようにストライプをどちらかの状態に変換で
きる場合(ステップ1102からの「yes」の分岐)には、R
AIDコントローラ403は、まず、ストライプ内のDATAブロ
ックのすべてをRAM410に読み取る(ステップ1108)。DA
TAブロックは、RAM410に読み取られる際に、部分的に完
了した書込動作として待ち行列化される、すなわち、DA
TAは書き込まれが、COPYは書き込まれていない。RAIDコ
ントローラ403は、EMPTY、FREEおよびPARITYブロックの
状況をCOPYに変更し、対装置フィールド527に適当な項
目を置くことによって、ブロック状況テーブル521を更
新する(ステップ1109)。ブロックがRAMに読み込ま
れ、ブロックの状況がマッピングされた後に限って、ス
トライプの状況がFULL MIRRORに変更される(ステップ
1110)。その後、RAIDコントローラ403は、データをRAM
からCOPYブロックに書き込むことによって、待ち行列化
された動作を完了する(ステップ1112)。この形で、パ
リティ保護された状態からミラーリング状態に変換され
るストライプは、変換の進行中にDASDのうちの1つが故
障した場合でも冗長な状態に保たれる。
イプ」)をパリティ保護されたストライプ(RAID−4ま
たはRAID−5)に変換する方法を示す流れ図である。ス
トライプをパリティ保護された状態に変換するために
は、パリティを記憶するために使用可能な未使用ブロッ
クが変換ストライプ内に1つ存在しなければならない。
第7図の状態図に関して具体的に言うと、状態5(UNPR
OTECTEDX)から状態3(PARITY X)へ、または、状態
6(UNPROTECTED)から状態4(FULL PARITY)への状
態遷移が可能である。これらは、第7図に示された遷移
5cおよび6cである。ストライプが状態7の場合には、下
で説明するように、パリティ保護にする前に、まず状態
6にしなければならない。
01ないし1106に類似している。第12図からわかるよう
に、この変換の最初のステップは、変換するブロックの
組すなわち変換ストライプを識別することである(ステ
ップ1201)。前に述べたように、ストライプは、個別に
構成可能であり、第8図に関して上で説明した方法のい
ずれかによって識別することができる。
するための未使用ブロックが存在するかどうかを検証す
る。具体的に言うと、RAIDコントローラ403は、ストラ
イプ状態テーブル501を参照してストライプ状態を判定
する。状態5または状態6のいずれかのストライプは、
十分な未使用空間を有する(ステップ1202)。必要なPA
RITYブロックを記憶するのに十分な空間が変換ストライ
プ内に存在しない(すなわち、ストライプが状態7であ
る)場合には、第11図に関して上で説明したように、デ
ータの1ブロックを解放しなければならない。システム
は、DATAブロック内の記憶域を解放できるかどうかを判
定し(ステップ1203)、できない場合には、処理が異常
終了する(ステップ1206)。適当な候補ブロックが見つ
かった場合、そのブロック内のデータを適宜再配置、圧
縮または無視し、ブロック自体を、パリティデータの記
憶のために解放する(ステップ1204)。RAIDコントロー
ラ403は、ブロック状況テーブル521のブロックの状況を
EMPTYに変更し、ストライプ状況を更新する(ステップ1
205)。EMPTYブロックの作成によって、ストライプ状況
が状態7から状態6に変化する。このアルゴリズムは、
その後、ステップ1202を繰り返す。
で述べたように状態6に変換できる場合(ステップ1202
の「yes」の分岐)には、RAIDコントローラ403は、ま
ず、パリティを記憶するためのブロックを選択する(ス
テップ1208)。これは、第8図に関連して上で説明した
方法のいずれかによって実行できる。しかし、DATAブロ
ックが選択された場合には、そのブロック内のデータ
を、EMPTYブロックのうちの1つに再配置しなければな
らない。したがって、使用可能なEMPTYブロックを選択
することが好ましい。複数のEMPTYブロックが存在する
場合には、適当なアルゴリズムによって、そのようなEM
PTYブロックを選択することができる。その後、コント
ローラは、パリティの記憶のために選択されたブロック
以外のストライプ内のすべてのブロックを連続して読み
取り、読み取ったブロックの累算的な排他的論理和を生
成する(ステップ1209)。累算的な排他的論理和は、一
時的にRAM410に記憶される。すべてのブロックを読み終
えた時に、結果の累算的な排他的論理和がパリティにな
る。このパリティは、選択されたPARITYブロックに書き
込まれる(ステップ1210)。その後、RAIDコントローラ
403は、パリティ・ブロックの状況をPARITYに変更し、
すべてのEMPTYブロックの状況をFREEに変更し、対装置
フィールド527を適宜変更することによって、ブロック
状況テーブル521を更新する(ステップ1211)。その
後、コントローラは、ストライプ状態テーブル501の状
況を、適宜PARITY XまたはFULL PARITYに変更する
(ステップ1212)。バージョン番号も、パリティが最新
であることを反映するようにセットされる。
数であり、各ストライプに、それぞれの記憶装置の特定
のアドレス範囲のすべてのブロックが含まれる。この配
置では、ストライプのマッピングとパリティ・ブロック
の判定が単純になる。しかし、奇数の記憶装置を有する
アレイを使用することが可能である。この場合、ストラ
イプには、記憶装置の台数より少ない偶数の個数のブロ
ックが含まれることが好ましい。たとえば、ストライプ
内のブロック数は、Nが記憶装置の数であるものとして
N−1とすることができる。このような構成を、第13図
に示す。第13図のアレイでは、データ1A、コピー1A、デ
ータ1Bおよびコピー1Bと記されたブロック(1301ないし
1304)が、1つのストライプを構成し、たとえばデータ
3A、コピー3A、データ3Bおよびコピー3Bと記されたブロ
ック(1305ないし1308)が、第2のストライプを構成す
る。各ストライプには、偶数個のブロックが含まれる
が、ブロックは、すべてが同一のアドレスにはないこと
に留意されたい。このようなストライプは、上で説明し
た技法を使用して、RAID−4(5)フォーマットに変換
することができ、逆変換することができる。ストライブ
のより複雑なマッピングを扱うためには、データ・ディ
レクトリ・テーブルのなんらかの変更が必要になる場合
がある。
り、0だけを含むことが既知である(EMPTYブロックの
内容が未知または0以外の場合には、0をブロックに書
き込んで正しい条件にすることができる)ならば、上で
説明した技法の変形を使用して、奇数個のブロックを含
むストライプをRAID−1からRAID−4(5)に変換する
ことができる。これは、たとえば、新しいDASDが既存の
アレイに追加された場合にあてはまる。この場合、RAID
−1に従って構成された1つまたは複数のブロック対と
1つの空のブロックを含むように選択されたストライプ
を、(a)パリティ・ブロック(空のブロックとするこ
とができる)を選択し、それをPARITYブロックとして指
定し、(b)選択されたブロックがCOPYブロックであっ
た場合に、他のすべてのCOPYブロックおよびEMPTYブロ
ックをFREEとして指定し、(c)選択されたブロックが
DATAブロックであった場合に、関連するCOPYブロックを
DATAブロックとして指定し、他のすべてのCOPYブロック
およびEMPTYブロックをFREEとして指定し、(d)選択
されたブロックがEMPTYブロックであった場合に、すべ
てのCOPYブロックをFREEとして指定することによって、
RAID−4(5)に変換することができる。同様に、1つ
のブロックが対にされない状態(記憶装置の故障に対し
て保護されないFREEブロックまたはDATAブロックのいず
れかとして)で、RAID−1に逆変換することが可能であ
る。
E、COPY、DATAまなはEMPTYとしての指定は、RAIDコント
ローラによって実行される。RAIDコントローラは、いず
れもInternational Business Machines Corporation社
が製造し配布する、IBM SSA RAID Adapter for PC Serv
ers、PC ServeRAID SCSI AdapterまたはAS/400 Advance
d System Model 300内のDisk Unit Controllerなどのプ
ログラム可能装置とすることができる。その代わりに、
コントローラは、状態機械、専用ハードウェアまたはAS
IC(特定用途向けIC)とすることができる。その代わり
に、記憶サブシステムの専用RAIDコントローラによって
実行される機能を、コンピュータ・システムの汎用中央
処理装置上で実行されるソフトウェアによって実行する
ことができ、この中央処理装置は、RAIDコントローラ機
能の他に多数のタスクを実行する。
ックに書き込むことができるかどうかを判定し、できる
場合に新しいデータをread−modify−writeアルゴリズ
ムに従って書き込まなければならないかどうかを判定す
るために、好ましい実施形態に従って実行することがで
きる。他の指定を使用して、類似の結果を達成すること
ができ、各ブロックの指定は、本発明に関係しない他の
目的のためにも使用できることを、当業者であれば理解
するであろう。
・ディスク、磁気テープ、光ディスク、集積回路チッ
プ、または、プログラム式コンピュータによって読み取
ることのできる他の記憶装置またはメモリ装置など、コ
ンピュータ・プログラム製品上に記憶されるプロセッサ
実行可能命令のシーケンスとして実施できる。
の組を、RAID−4構成またはRAID−5構成に変換でき、
逆変換することができる。しかし、RAIDレベルおよび他
の指定に無関係に、同様の特性を有する他の構成を使用
することができることを理解されたい。具体的に言う
と、産業界の一部では、6以上のRAIDレベルが認識され
ている。通常、このようなシステムは、RAIDレベル4ま
たは5のすべての特性を有するが、デュアル・パリティ
・ブロックや追加のスペア・ブロックなどの追加機能も
有する。
図に、各装置に比較的少数のブロックが含まれる記憶装
置のアレイを示した。この少ない数は、例示を簡単にす
る目的のみのために選択されたものであり、本発明を特
定の数に制限するものと解釈してはならない。少数のブ
ロックを使用して本発明を実施することが可能である
が、記憶装置のアレイのほとんどが、各記憶装置にはる
かに多数のブロックを有することを、当業者であれば理
解するであろう。
マットに従うストライプを別のフォーマットに従うスト
ライプに変換するための特定のシステムおよび方法は、
上で説明した本発明の目的を達成することが完全に可能
であるが、これは本発明の好ましい実施形態であり、し
たがって、本発明によって広く予期される内容を表すも
のであり、本発明の範囲は、当業者に明白になるであろ
う他の実施形態を完全に包含し、本発明の範囲は、請求
項のみによって制限されることを理解されたい。
Claims (12)
- 【請求項1】複数のデータ記憶装置に記憶された第1メ
モリ構造を前記複数のデータ記憶装置に記憶された第2
メモリ構造に変換するための方法において、 (a)データのブロックの組に含まれる各ブロックが前
記複数のデータ記憶装置の異なるそれぞれの1つに記憶
され、前記ブロックの組が複数のブロック対を含み、前
記各ブロック対に含まれる両方のブロックが同一のデー
タを含む、変換される前記データのブロックの組を識別
するステップと、 (b)前記ブロックの組から第1ブロックを選択するス
テップと、 (c)前記第1ブロックに記憶されたデータを変更する
ことなくパリティ・ブロックとして指定するステップ
と、 (d)前記第1ブロックを含まない前記各ブロック対か
らそれぞれのブロックを選択するステップと、 (e)前記第1ブロックを含まない前記各ブロック対か
ら選択されたそれぞれのブロックを置換データの記憶に
使用可能であるとして指定するステップとを含む方法。 - 【請求項2】前記ブロックの組のそれぞれのブロック
が、それぞれのデータ記憶装置の同一アドレスに記憶さ
れるストライプを含む、請求項1に記載の方法。 - 【請求項3】前記それぞれのデータ記憶装置が複数のブ
ロックを記憶し、前記複数のデータ記憶装置がブロック
の複数の組を含み、 前記複数の組のうちブロックの第2組が前記第1メモリ
構造に従って構成されたまま、前記複数の組のうちブロ
ックの第1組を、前記第1メモリ構造から前記第2メモ
リ構造へ変換する、請求項1に記載の方法。 - 【請求項4】前記ブロックの複数の組の各組を、前記第
1メモリ構造から前記第2メモリ構造へ個別に独立に変
換することができる、請求項3に記載の方法。 - 【請求項5】前記第1メモリ構造がRAID−1に従って構
成されたブロックの組であり、前記第2メモリ構造がRA
ID−4およびRAID−5からなる組のうちの1つに従って
構成されたブロックの組である、請求項1に記載の方
法。 - 【請求項6】前記第1メモリ構造が複数のCOPYブロック
およびDATAブロックを含み、各COPYブロックが関連する
DATAブロックのコピーであって前記関連するDATAブロッ
クが記憶されるDASDと異なるDASDに記憶され、前記第2
メモリ構造がパリティ・ブロックとパリティ保護された
ブロックの組とを含み、各パリティ保護されたブロック
が前記パリティ・ブロックおよび他のパリティ保護され
たブロックのそれぞれと異なるDASDに記憶され、 前記第1ブロックがCOPYブロックの場合に、前記第1ブ
ロックを含まない前記ブロック対から選択されたそれぞ
れのブロックを置換データの記憶に使用可能であると指
定する前記ステップが、各他のCOPYブロックをFREEブロ
ックと指定するステップを含み、 前記第1ブロックがDATAブロックの場合に、前記第1ブ
ロックを含まない前記ブロック対から選択されたそれぞ
れのブロックを置換データの記憶に使用可能であると指
定するステップが、(1)前記第1ブロックに関連する
COPYブロックをDATAブロックとして指定するステップ
と、(2)各他のCOPYブロックをFREEブロックとして指
定するステップとを含む請求項1に記載の方法。 - 【請求項7】前記データ記憶装置が、回転式磁気ハード
・ディスク駆動装置である、請求項1に記載の方法。 - 【請求項8】複数のデータ記憶装置と、前記複数のデー
タ記憶装置に記憶された第1メモリ構造を前記複数のデ
ータ記憶装置に記憶された第2メモリ構造に変換するた
めの制御プログラムを実行し前記複数のデータ記憶装置
の動作を制御するためのプログラム式プロセッサとを含
むデータ記憶システムであって、 前記制御プログラムが、前記データ記憶システムのため
の状況情報を維持し、前記制御プログラムが、変換され
るデータのブロックの組の各ブロックが前記複数のデー
タ記憶装置の異なるそれぞれの1つに記憶され、前記ブ
ロックの組が複数のブロック対を含み、前記各ブロック
対に含まれる両方のブロックが同一のデータを含む、変
換される前記ブロックの組の識別に応答して、 (a)前記第1ブロックに含まれるデータを変更せず
に、前記ブロックの組の第1ブロックをパリティ・ブロ
ックとして指定するために前記状況情報を更新し、 (b)前記第1ブロックを含まない前記各ブロック対か
らそれぞれのブロックを置換データの記憶に使用可能と
して指定するために前記状況情報を更新するデータ記憶
システム。 - 【請求項9】前記プログラム式プロセッサがホスト・コ
ンピュータ・システムに結合するためのコントローラに
含まれ、前記コントローラが前記状況情報を記憶するラ
ンダム・アクセス・メモリを含む、請求項8に記載のデ
ータ記憶システム。 - 【請求項10】データを記憶する複数のデータ記憶装置
を制御するコントローラであって、 前記複数のデータ記憶装置に記憶された第1メモリ構造
を前記複数のデータ記憶装置に記憶された第2メモリ構
造に変換するための制御プログラムを実行し前記複数の
データ記憶装置の動作を制御するプログラム式プロセッ
サと、 前記制御プログラムによって維持される状況情報を記憶
するランダム・アクセス・メモリとを含み、 前記制御プログラムが、データのブロックの組の各ブロ
ックが前記複数のデータ記憶装置のうちの異なるそれぞ
れの1つに記憶され、前記ブロックの組が複数のブロッ
ク対を含み、前記各ブロック対に含まれる両方のブロッ
クが同一のデータを含む、変換される前記ブロックの組
の識別に応答して、 (a)前記第1ブロックに含まれるデータを変更せず
に、前記ブロックの組の第1ブロックをパリティ・ブロ
ックとして指定するために前記状況情報を更新し、 (b)前記第1ブロックを含まない前記各ブロック対か
らそれぞれのブロックを置換データの記憶に使用可能で
あるとして指定するために前記状況情報を更新するコン
トローラ。 - 【請求項11】複数のデータ記憶装置に記憶された第1
メモリ構造を前記複数のデータ記憶装置に記憶された第
2メモリ構造に変換するための方法において、 (a)データのブロックの組に含まれる各ブロックが前
記複数のデータ記憶装置の異なるそれぞれの1つに記憶
され、前記データのブロックの組がデータが記憶された
複数のブロックと該複数のブロックから導出されたパリ
ティが記憶されたブロックとを含む、変換される前記デ
ータのブロックの組を識別するステップと、 (b)前記複数のブロックのうちの第1ブロックに含ま
れるデータを変更せずにコピーを作成するために前記パ
リティを記憶しているブロックを選択するステップと、 (c)前記データのブロックの組の第2のサブセットに
記憶されたデータを変更することなく記憶するために前
記データのブロックの組の第1のサブセットは前記パリ
ティを記憶するブロック以外の少なくとも1つのデータ
のブロックを有し、前記第2のサブセットは前記第1の
ブロック以外の少なくとも1つのデータのブロックを有
する、前記第1のサブセットを選択するステップと、 (d)前記第1のブロックに記憶されたデータを前記パ
リティが記憶されたブロックにコピーするステップと、 (e)前記第2のサブセットに含まれる各ブロックに記
憶されたデータを前記第1のサブセットのそれぞれのブ
ロックにコピーするステップと を有する方法。 - 【請求項12】複数のデータ記憶装置と、 データ記憶システムの動作を制御するための制御プログ
ラムを実行し前記複数のデータ記憶装置の動作を制御す
るプログラム式プロセッサとを含み、 前記複数のデータ記憶装置のデータがブロックの複数の
組に編成され、組の各ブロックが前記複数のデータ記憶
装置のうちの異なるそれぞれの1つに記憶され、 前記制御プログラムが複数の異なるメモリ構造に従う前
記ブロックの組のフォーマッティングをサポートし、前
記メモリ構造のうちの少なくとも1つが冗長データ・フ
ォーマットであり、前記複数の組のうちブロックの第1
組とブロックの第2組とが互いに独立にフォーマット可
能であり、 前記制御プログラムによって維持される状況情報を記憶
するためのランダム・アクセス・メモリを含み、前記状
況情報が各ブロックのそれぞれのブロック状況と前記ブ
ロックの第1組と前記ブロックの第2組との別々のそれ
ぞれの組の状況とを含み、前記組の状況情報がブロック
のそれぞれの組がそれに従って構成されるメモリ構造の
識別を含み、 前記制御プログラムが、第1メモリ構造から第2メモリ
構造に変換されるデータのブロックの組の識別に応答し
て、(a)変換されるブロックの前記組のブロックのブ
ロック状況情報を更新し、(b)前記ブロックの組の状
況情報を、前記組を前記第2メモリ構造に従って構成さ
れたものとして識別するために更新する データ記憶システム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US805,652 | 1985-12-06 | ||
US08/805,652 | 1997-02-27 | ||
US08/805,652 US5960169A (en) | 1997-02-27 | 1997-02-27 | Transformational raid for hierarchical storage management system |
PCT/US1997/008985 WO1998038568A1 (en) | 1997-02-27 | 1997-05-28 | Transformational raid for hierarchical storage management system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000511318A JP2000511318A (ja) | 2000-08-29 |
JP3266277B2 true JP3266277B2 (ja) | 2002-03-18 |
Family
ID=25192126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP53760498A Expired - Lifetime JP3266277B2 (ja) | 1997-02-27 | 1997-05-28 | 階層記憶管理システムのための変換式raid |
Country Status (6)
Country | Link |
---|---|
US (1) | US5960169A (ja) |
JP (1) | JP3266277B2 (ja) |
KR (1) | KR100321843B1 (ja) |
CN (1) | CN1191518C (ja) |
TW (1) | TW436689B (ja) |
WO (1) | WO1998038568A1 (ja) |
Families Citing this family (150)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998012621A1 (fr) * | 1996-09-20 | 1998-03-26 | Hitachi, Ltd. | Sous-systeme a piles de disques |
US6098119A (en) * | 1998-01-21 | 2000-08-01 | Mylex Corporation | Apparatus and method that automatically scans for and configures previously non-configured disk drives in accordance with a particular raid level based on the needed raid level |
US6173415B1 (en) * | 1998-05-22 | 2001-01-09 | International Business Machines Corporation | System for scalable distributed data structure having scalable availability |
US6611897B2 (en) | 1999-03-22 | 2003-08-26 | Hitachi, Ltd. | Method and apparatus for implementing redundancy on data stored in a disk array subsystem based on use frequency or importance of the data |
US6378038B1 (en) * | 1999-03-31 | 2002-04-23 | International Business Machines Corporation | Method and system for caching data using raid level selection |
US6742137B1 (en) * | 1999-08-17 | 2004-05-25 | Adaptec, Inc. | Object oriented fault tolerance |
US6594724B1 (en) * | 2000-03-30 | 2003-07-15 | Hitachi Global Storage Technologies Netherlands B.V. | Enhanced DASD with smaller supplementary DASD |
US6571310B1 (en) | 2000-04-20 | 2003-05-27 | International Business Machines Corporation | Method and apparatus for managing a heterogeneous data storage system |
KR100364895B1 (ko) * | 2000-06-12 | 2002-12-16 | 아라리온 (주) | 데이터 액세스 제어 방법 및 시스템 |
US6529997B1 (en) * | 2000-08-11 | 2003-03-04 | Storage Technology Corporation | Apparatus and method for writing and reading data to and from a virtual volume of redundant storage devices |
US6654912B1 (en) * | 2000-10-04 | 2003-11-25 | Network Appliance, Inc. | Recovery of file system data in file servers mirrored file system volumes |
US7143249B2 (en) * | 2000-10-04 | 2006-11-28 | Network Appliance, Inc. | Resynchronization of mirrored storage devices |
GB2367655A (en) * | 2000-10-06 | 2002-04-10 | Nokia Mobile Phones Ltd | Method of using an integrated circuit with defects |
US6549978B2 (en) | 2001-01-17 | 2003-04-15 | International Business Machines Corporation | Method for storage controllers with different data formats to access common storage configuration information |
US7080135B1 (en) * | 2001-01-24 | 2006-07-18 | Advanced Micro Devices, Inc. | Systems and methods for accessing an address table of a network device |
US7406682B2 (en) * | 2001-03-26 | 2008-07-29 | Emc Corporation | Translator-compiler for converting legacy management software |
US6643735B2 (en) | 2001-12-03 | 2003-11-04 | International Business Machines Corporation | Integrated RAID system with the capability of selecting between software and hardware RAID |
US6985995B2 (en) * | 2002-03-29 | 2006-01-10 | Panasas, Inc. | Data file migration from a mirrored RAID to a non-mirrored XOR-based RAID without rewriting the data |
US7111125B2 (en) * | 2002-04-02 | 2006-09-19 | Ip-First, Llc | Apparatus and method for renaming a data block within a cache |
JP2005535008A (ja) * | 2002-05-31 | 2005-11-17 | フジツウ アイティー ホールディングス,インコーポレイティド | インテリジェント記憶装置管理方法およびシステム |
US7024586B2 (en) * | 2002-06-24 | 2006-04-04 | Network Appliance, Inc. | Using file system information in raid data reconstruction and migration |
US7383379B2 (en) * | 2002-08-07 | 2008-06-03 | Hewlett-Packard Development Company, L.P. | Manipulating data in a data storage device using an auxiliary memory device |
CA2497306A1 (en) * | 2002-09-10 | 2004-03-25 | Exagrid Systems, Inc. | Method and apparatus for integrating primary data storage with local and remote data protection |
US7130229B2 (en) * | 2002-11-08 | 2006-10-31 | Intel Corporation | Interleaved mirrored memory systems |
US7062673B2 (en) * | 2003-05-19 | 2006-06-13 | Hitachi Global Technologies | System and method for sparing in RAID-1 system |
US20040250028A1 (en) * | 2003-06-09 | 2004-12-09 | Daniels Rodger D. | Method and apparatus for data version checking |
CN101187849A (zh) * | 2003-07-07 | 2008-05-28 | 日立超大规模集成电路系统株式会社 | 存储装置和存储系统 |
US7127505B2 (en) | 2003-08-15 | 2006-10-24 | Internet Associates, Llc | Methods, computer systems, and computer readable media for generating displays of sets of network addresses with status indicators |
US7543296B2 (en) * | 2003-08-26 | 2009-06-02 | International Business Machines Corporation | Time based multi-tiered management of resource systems |
JP2005107838A (ja) * | 2003-09-30 | 2005-04-21 | Toshiba Corp | ディスクアレイコントローラ及びログ情報記録方法 |
US7330907B2 (en) * | 2003-10-02 | 2008-02-12 | Internet Associates, Llc | Methods, computer systems, and computer readable media for controlling the status of network address space |
US7386754B2 (en) * | 2003-10-16 | 2008-06-10 | Seagate Technology Llc | Method and apparatus to improve magnetic disc drive reliability using excess un-utilized capacity |
US7290087B2 (en) * | 2003-11-26 | 2007-10-30 | International Business Machines Corporation | Adaptive grouping in object raid |
JP4486348B2 (ja) * | 2003-11-26 | 2010-06-23 | 株式会社日立製作所 | ドライブの稼働時間を抑止するディスクアレイ |
US8140860B2 (en) * | 2003-12-15 | 2012-03-20 | International Business Machines Corporation | Policy-driven file system with integrated RAID functionality |
US7100073B2 (en) * | 2004-01-05 | 2006-08-29 | International Business Machines Corporation | Grouped-object RAID |
CN100343825C (zh) * | 2004-01-05 | 2007-10-17 | 华为技术有限公司 | 一种处理流媒体数据的方法 |
CN100419700C (zh) * | 2004-02-11 | 2008-09-17 | 鸿富锦精密工业(深圳)有限公司 | 磁盘容错系统及方法 |
US7194579B2 (en) * | 2004-04-26 | 2007-03-20 | Sun Microsystems, Inc. | Sparse multi-component files |
US7702948B1 (en) * | 2004-07-13 | 2010-04-20 | Adaptec, Inc. | Auto-configuration of RAID systems |
JP4387261B2 (ja) * | 2004-07-15 | 2009-12-16 | 株式会社日立製作所 | 計算機システム、および、記憶装置システムの移行方法 |
US8726129B1 (en) * | 2004-07-23 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Methods of writing and recovering erasure coded data |
TWI251745B (en) * | 2004-07-27 | 2006-03-21 | Via Tech Inc | Apparatus and related method for calculating parity of redundant array of inexpensive disks |
JP2006113648A (ja) * | 2004-10-12 | 2006-04-27 | Hitachi Ltd | ディスクアレイ装置 |
US8131969B2 (en) * | 2004-10-20 | 2012-03-06 | Seagate Technology Llc | Updating system configuration information |
US7594075B2 (en) | 2004-10-20 | 2009-09-22 | Seagate Technology Llc | Metadata for a grid based data storage system |
CN100388237C (zh) * | 2004-10-20 | 2008-05-14 | 北京织女星网格技术有限公司 | 基于轻量计算的数据重组方法 |
US8131926B2 (en) * | 2004-10-20 | 2012-03-06 | Seagate Technology, Llc | Generic storage container for allocating multiple data formats |
US7454686B2 (en) * | 2004-11-23 | 2008-11-18 | International Business Machines Corporation | Apparatus and method to check data integrity when handling data |
CN100409196C (zh) * | 2004-12-22 | 2008-08-06 | 国际商业机器公司 | 使用数个存储介质来存储和恢复数据文件的方法 |
CN100388239C (zh) * | 2005-01-18 | 2008-05-14 | 英业达股份有限公司 | 在线增加廉价磁盘冗余阵列磁盘数量的方法与系统 |
US7516285B1 (en) | 2005-07-22 | 2009-04-07 | Network Appliance, Inc. | Server side API for fencing cluster hosts via export access rights |
JP4394047B2 (ja) * | 2005-08-05 | 2010-01-06 | 信越ポリマー株式会社 | キーフレームおよび押釦スイッチ用カバー部材 |
US7805665B2 (en) * | 2005-09-02 | 2010-09-28 | Infortrend Technology, Inc. | Parity engine for use in storage virtualization controller and method of generating data by parity engine |
US8010753B2 (en) * | 2005-09-28 | 2011-08-30 | International Business Machines Corporation | Systems and methods for temporarily transferring use of portions of partitioned memory between host computers |
US7769948B2 (en) * | 2005-10-07 | 2010-08-03 | Agere Systems Inc. | Virtual profiles for storage-device array encoding/decoding |
US7653783B2 (en) * | 2005-10-07 | 2010-01-26 | Agere Systems Inc. | Ping-pong state machine for storage-device array |
US7644303B2 (en) * | 2005-10-07 | 2010-01-05 | Agere Systems Inc. | Back-annotation in storage-device array |
US8291161B2 (en) * | 2005-10-07 | 2012-10-16 | Agere Systems Llc | Parity rotation in storage-device array |
US20070130232A1 (en) * | 2005-11-22 | 2007-06-07 | Therrien David G | Method and apparatus for efficiently storing and managing historical versions and replicas of computer data files |
US7653829B2 (en) * | 2005-12-08 | 2010-01-26 | Electronics And Telecommunications Research Institute | Method of data placement and control in block-divided distributed parity disk array |
EP2011009A4 (en) * | 2006-04-11 | 2011-06-29 | Invensys Sys Inc | METHOD AND USER INTERFACES OF SUPPORT CONFIGURATION FOR RATIONALIZING THE INSTALLATION OF REPLACEMENT FIELD DEVICES |
US20070283087A1 (en) * | 2006-05-30 | 2007-12-06 | Barry Hannigan | Method and structure for adapting a storage virtualization scheme using transformations |
US8046629B1 (en) * | 2006-07-24 | 2011-10-25 | Marvell World Trade Ltd. | File server for redundant array of independent disks (RAID) system |
US20080091916A1 (en) * | 2006-10-17 | 2008-04-17 | Agere Systems, Inc. | Methods for data capacity expansion and data storage systems |
US20080115071A1 (en) * | 2006-10-19 | 2008-05-15 | Fair Thomas T | System And Methods For Zero-Configuration Data Backup |
KR100854032B1 (ko) * | 2007-02-09 | 2008-08-26 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 저장 방법 |
US8370715B2 (en) * | 2007-04-12 | 2013-02-05 | International Business Machines Corporation | Error checking addressable blocks in storage |
US9396103B2 (en) * | 2007-06-08 | 2016-07-19 | Sandisk Technologies Llc | Method and system for storage address re-mapping for a memory device |
US7861036B2 (en) * | 2007-09-18 | 2010-12-28 | Agere Systems Inc. | Double degraded array protection in an integrated network attached storage device |
JP4402711B2 (ja) * | 2007-11-05 | 2010-01-20 | 富士通株式会社 | ディスクアレイ装置、ディスクアレイ装置制御方法、ディスクアレイ装置制御プログラムおよびディスクアレイ制御装置 |
US8001417B2 (en) * | 2007-12-30 | 2011-08-16 | Agere Systems Inc. | Method and apparatus for repairing uncorrectable drive errors in an integrated network attached storage device |
US20090271562A1 (en) * | 2008-04-25 | 2009-10-29 | Sinclair Alan W | Method and system for storage address re-mapping for a multi-bank memory device |
JP2010049637A (ja) * | 2008-08-25 | 2010-03-04 | Hitachi Ltd | 計算機システム、ストレージシステム及び構成管理方法 |
JP2010066848A (ja) * | 2008-09-09 | 2010-03-25 | Toshiba Storage Device Corp | 記憶装置の管理方法及び記憶装置、並びに記憶システム |
US7904749B2 (en) * | 2008-10-24 | 2011-03-08 | Hitachi, Ltd. | Fast data recovery from HDD failure |
JP5146357B2 (ja) * | 2009-02-25 | 2013-02-20 | 富士通株式会社 | データ診断装置、データ診断システム、データ診断方法及びデータ診断プログラム |
US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
US8560804B2 (en) | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
US8874628B1 (en) * | 2009-10-15 | 2014-10-28 | Symantec Corporation | Systems and methods for projecting hierarchical storage management functions |
US8473669B2 (en) * | 2009-12-07 | 2013-06-25 | Sandisk Technologies Inc. | Method and system for concurrent background and foreground operations in a non-volatile memory array |
JP4940322B2 (ja) * | 2010-03-16 | 2012-05-30 | 株式会社東芝 | 半導体メモリ映像蓄積再生装置及びデータ書込み/読出し方法 |
US20150121003A1 (en) * | 2010-09-07 | 2015-04-30 | Daniel L. Rosenband | Storage controllers |
US20120059976A1 (en) * | 2010-09-07 | 2012-03-08 | Daniel L. Rosenband | Storage array controller for solid-state storage devices |
US8452911B2 (en) | 2010-09-30 | 2013-05-28 | Sandisk Technologies Inc. | Synchronized maintenance operations in a multi-bank storage system |
US8694866B2 (en) * | 2011-03-15 | 2014-04-08 | California Institute Of Technology | MDS array codes with optimal building |
US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
US8762627B2 (en) | 2011-12-21 | 2014-06-24 | Sandisk Technologies Inc. | Memory logical defragmentation during garbage collection |
US20130198585A1 (en) * | 2012-02-01 | 2013-08-01 | Xyratex Technology Limited | Method of, and apparatus for, improved data integrity |
US8977893B2 (en) * | 2012-02-17 | 2015-03-10 | Lsi Corporation | Accelerated rebuild and zero time rebuild in raid systems |
KR20130097350A (ko) * | 2012-02-24 | 2013-09-03 | 한국전자통신연구원 | 비대칭 클러스터링 파일 시스템에서 복제 기반의 파일을 패리티 기반의 파일로 변환하는 장치 및 방법 |
US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
WO2014101144A1 (zh) * | 2012-12-28 | 2014-07-03 | 华为技术有限公司 | 储存数据的方法及装置 |
US9734050B2 (en) | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for managing background operations in a multi-layer memory |
US9336133B2 (en) | 2012-12-31 | 2016-05-10 | Sandisk Technologies Inc. | Method and system for managing program cycles including maintenance programming operations in a multi-layer memory |
US9734911B2 (en) | 2012-12-31 | 2017-08-15 | Sandisk Technologies Llc | Method and system for asynchronous die operations in a non-volatile memory |
US8873284B2 (en) | 2012-12-31 | 2014-10-28 | Sandisk Technologies Inc. | Method and system for program scheduling in a multi-layer memory |
US9465731B2 (en) | 2012-12-31 | 2016-10-11 | Sandisk Technologies Llc | Multi-layer non-volatile memory system having multiple partitions in a layer |
US9223693B2 (en) | 2012-12-31 | 2015-12-29 | Sandisk Technologies Inc. | Memory system having an unequal number of memory die on different control channels |
US9348746B2 (en) | 2012-12-31 | 2016-05-24 | Sandisk Technologies | Method and system for managing block reclaim operations in a multi-layer memory |
US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US9811455B2 (en) * | 2013-03-15 | 2017-11-07 | The Boeing Company | Accessing different types of memory by respective distinct command with different timing requirements |
US9858084B2 (en) | 2013-03-15 | 2018-01-02 | Bitmicro Networks, Inc. | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9916213B1 (en) | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US9329938B2 (en) | 2013-04-16 | 2016-05-03 | International Business Machines Corporation | Essential metadata replication |
US9619404B2 (en) | 2013-04-16 | 2017-04-11 | International Business Machines Corporation | Backup cache with immediate availability |
US9423981B2 (en) | 2013-04-16 | 2016-08-23 | International Business Machines Corporation | Logical region allocation with immediate availability |
US9298617B2 (en) | 2013-04-16 | 2016-03-29 | International Business Machines Corporation | Parallel destaging with replicated cache pinning |
US9104597B2 (en) | 2013-04-16 | 2015-08-11 | International Business Machines Corporation | Destaging cache data using a distributed freezer |
US9104332B2 (en) | 2013-04-16 | 2015-08-11 | International Business Machines Corporation | Managing metadata and data for a logical volume in a distributed and declustered system |
US9298398B2 (en) * | 2013-04-16 | 2016-03-29 | International Business Machines Corporation | Fine-grained control of data placement |
KR20140124674A (ko) * | 2013-04-17 | 2014-10-27 | 한국전자통신연구원 | 파일 수준의 데이터 분산 저장 방법 |
US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US9811461B1 (en) | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
US9218244B1 (en) * | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US9588843B2 (en) * | 2014-07-14 | 2017-03-07 | International Business Machines Corporation | System and method for transferring traditional RAID to distributed array |
CN104714758B (zh) * | 2015-01-19 | 2017-07-07 | 华中科技大学 | 一种基于校验raid加入镜像结构的阵列构建方法及读写系统 |
US10133490B2 (en) | 2015-10-30 | 2018-11-20 | Sandisk Technologies Llc | System and method for managing extended maintenance scheduling in a non-volatile memory |
US10042553B2 (en) | 2015-10-30 | 2018-08-07 | Sandisk Technologies Llc | Method and system for programming a multi-layer non-volatile memory having a single fold data path |
US9778855B2 (en) | 2015-10-30 | 2017-10-03 | Sandisk Technologies Llc | System and method for precision interleaving of data writes in a non-volatile memory |
US10120613B2 (en) | 2015-10-30 | 2018-11-06 | Sandisk Technologies Llc | System and method for rescheduling host and maintenance operations in a non-volatile memory |
US10606501B2 (en) * | 2015-12-04 | 2020-03-31 | International Business Machines Corporation | Management of paging in compressed storage |
KR102533389B1 (ko) | 2016-02-24 | 2023-05-17 | 삼성전자주식회사 | 장치 수명을 향상시키는 데이터 저장 장치 및 이를 포함하는 raid 시스템 |
CN105843556B (zh) * | 2016-03-21 | 2019-01-11 | 浙江宇视科技有限公司 | 一种vd选取方法及装置 |
CN107870730B (zh) * | 2016-09-23 | 2020-11-20 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和系统 |
US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
CN109725838B (zh) * | 2017-10-27 | 2022-02-25 | 伊姆西Ip控股有限责任公司 | 用于管理多个盘的方法、装置以及计算机可读介质 |
CN108170117B (zh) * | 2017-11-24 | 2020-12-15 | 宁波兴为汽车电子有限公司 | 一种车载模块参数自动识别分配的方法及系统 |
US11169961B2 (en) * | 2018-06-29 | 2021-11-09 | Weka.IO Ltd. | Data migration in a distributive file system |
CN111124746B (zh) * | 2018-10-30 | 2023-08-11 | 伊姆西Ip控股有限责任公司 | 管理独立盘冗余阵列的方法、设备和计算机可读介质 |
CN111124269B (zh) | 2018-10-31 | 2023-10-27 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机可读存储介质 |
CN111324287A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器 |
US10977073B2 (en) * | 2019-07-10 | 2021-04-13 | Dell Products L.P. | Architectural data mover for RAID XOR acceleration in a virtualized storage appliance |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5148432A (en) * | 1988-11-14 | 1992-09-15 | Array Technology Corporation | Arrayed disk drive system and method |
US5166939A (en) * | 1990-03-02 | 1992-11-24 | Micro Technology, Inc. | Data storage apparatus and method |
JPH0731582B2 (ja) * | 1990-06-21 | 1995-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パリティ保護データを回復するための方法および装置 |
US5210866A (en) * | 1990-09-12 | 1993-05-11 | Storage Technology Corporation | Incremental disk backup system for a dynamically mapped data storage subsystem |
US5375128A (en) * | 1990-10-18 | 1994-12-20 | Ibm Corporation (International Business Machines Corporation) | Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders |
US5345565A (en) * | 1991-03-13 | 1994-09-06 | Ncr Corporation | Multiple configuration data path architecture for a disk array controller |
US5301297A (en) * | 1991-07-03 | 1994-04-05 | Ibm Corp. (International Business Machines Corp.) | Method and means for managing RAID 5 DASD arrays having RAID DASD arrays as logical devices thereof |
US5410667A (en) * | 1992-04-17 | 1995-04-25 | Storage Technology Corporation | Data record copy system for a disk drive array data storage subsystem |
US5708668A (en) * | 1992-05-06 | 1998-01-13 | International Business Machines Corporation | Method and apparatus for operating an array of storage devices |
US5581724A (en) * | 1992-10-19 | 1996-12-03 | Storage Technology Corporation | Dynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem |
US5487160A (en) * | 1992-12-04 | 1996-01-23 | At&T Global Information Solutions Company | Concurrent image backup for disk storage system |
JPH06187249A (ja) * | 1992-12-16 | 1994-07-08 | Nec Eng Ltd | ディスクアレイ装置 |
US5463765A (en) * | 1993-03-18 | 1995-10-31 | Hitachi, Ltd. | Disk array system, data writing method thereof, and fault recovering method |
US5581690A (en) * | 1993-06-29 | 1996-12-03 | Digital Equipment Corporation | Method and apparatus for preventing the use of corrupt data in a multiple disk raid organized storage system |
US5390327A (en) * | 1993-06-29 | 1995-02-14 | Digital Equipment Corporation | Method for on-line reorganization of the data on a RAID-4 or RAID-5 array in the absence of one disk and the on-line restoration of a replacement disk |
US5504858A (en) * | 1993-06-29 | 1996-04-02 | Digital Equipment Corporation | Method and apparatus for preserving data integrity in a multiple disk raid organized storage system |
US5392244A (en) * | 1993-08-19 | 1995-02-21 | Hewlett-Packard Company | Memory systems with data storage redundancy management |
US5446855A (en) * | 1994-02-07 | 1995-08-29 | Buslogic, Inc. | System and method for disk array data transfer |
US5479653A (en) * | 1994-07-14 | 1995-12-26 | Dellusa, L.P. | Disk array apparatus and method which supports compound raid configurations and spareless hot sparing |
US5463776A (en) * | 1994-09-22 | 1995-10-31 | Hewlett-Packard Company | Storage management system for concurrent generation and fair allocation of disk space among competing requests |
US5412668A (en) * | 1994-09-22 | 1995-05-02 | International Business Machines Corporation | Parity striping feature for optical disks |
US5615352A (en) * | 1994-10-05 | 1997-03-25 | Hewlett-Packard Company | Methods for adding storage disks to a hierarchic disk array while maintaining data availability |
US5666512A (en) * | 1995-02-10 | 1997-09-09 | Hewlett-Packard Company | Disk array having hot spare resources and methods for using hot spare resources to store user data |
US5537534A (en) * | 1995-02-10 | 1996-07-16 | Hewlett-Packard Company | Disk array having redundant storage and methods for incrementally generating redundancy as data is written to the disk array |
-
1997
- 1997-02-27 US US08/805,652 patent/US5960169A/en not_active Expired - Lifetime
- 1997-05-28 WO PCT/US1997/008985 patent/WO1998038568A1/en active IP Right Grant
- 1997-05-28 CN CNB971819610A patent/CN1191518C/zh not_active Expired - Lifetime
- 1997-05-28 JP JP53760498A patent/JP3266277B2/ja not_active Expired - Lifetime
-
1998
- 1998-02-11 TW TW087101865A patent/TW436689B/zh not_active IP Right Cessation
-
1999
- 1999-07-15 KR KR1019997006433A patent/KR100321843B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN1191518C (zh) | 2005-03-02 |
JP2000511318A (ja) | 2000-08-29 |
WO1998038568A1 (en) | 1998-09-03 |
KR20000070207A (ko) | 2000-11-25 |
US5960169A (en) | 1999-09-28 |
KR100321843B1 (ko) | 2002-02-02 |
CN1247608A (zh) | 2000-03-15 |
TW436689B (en) | 2001-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3266277B2 (ja) | 階層記憶管理システムのための変換式raid | |
US6898668B2 (en) | System and method for reorganizing data in a raid storage system | |
JP3177242B2 (ja) | データ記憶装置における書込みオペレーション識別子の不揮発性メモリ記憶 | |
US7386758B2 (en) | Method and apparatus for reconstructing data in object-based storage arrays | |
JP3358687B2 (ja) | ディスクアレイ装置 | |
US5546535A (en) | Multiple controller sharing in a redundant storage array | |
JP2769443B2 (ja) | 記憶サブシステム及び関連する装置/方法 | |
US5689678A (en) | Distributed storage array system having a plurality of modular control units | |
US6516425B1 (en) | Raid rebuild using most vulnerable data redundancy scheme first | |
US7107320B2 (en) | Data mirroring between controllers in an active-active controller pair | |
US20150149719A1 (en) | Flexible data storage system | |
US20110197024A1 (en) | Providing redundancy in a virtualized storage system for a computer system | |
US8041891B2 (en) | Method and system for performing RAID level migration | |
JPH0675708A (ja) | アレイ型記録装置 | |
JPH05505265A (ja) | 独立ディスクの冗長アレイに適用できるデータ訂正 | |
JPH0619632A (ja) | コンピユータ・システムのストレージ装置及びデータのストア方法 | |
JP4884721B2 (ja) | 記憶装置のフォーマットを不要としたストレージシステム及び記憶制御方法 | |
US10067833B2 (en) | Storage system | |
US20060109792A1 (en) | Apparatus and method to check data integrity when handling data | |
US7346733B2 (en) | Storage apparatus, system and method using a plurality of object-based storage devices | |
JPH09269871A (ja) | ディスクアレイ装置におけるデータ再冗長化方式 | |
US7240237B2 (en) | Method and system for high bandwidth fault tolerance in a storage subsystem | |
US7293193B2 (en) | Array controller for disk array, and method for rebuilding disk array | |
JP4252102B2 (ja) | 計算機システムおよび二次記憶装置 | |
JP2006178926A (ja) | 複数のオブジェクトベースのストレージ装置を使用したストレージ装置、システム、および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080111 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090111 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100111 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100111 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110111 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120111 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130111 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140111 Year of fee payment: 12 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
EXPY | Cancellation because of completion of term |