[go: up one dir, main page]

JP2000511318A - 階層記憶管理システムのための変換式raid - Google Patents

階層記憶管理システムのための変換式raid

Info

Publication number
JP2000511318A
JP2000511318A JP10537604A JP53760498A JP2000511318A JP 2000511318 A JP2000511318 A JP 2000511318A JP 10537604 A JP10537604 A JP 10537604A JP 53760498 A JP53760498 A JP 53760498A JP 2000511318 A JP2000511318 A JP 2000511318A
Authority
JP
Japan
Prior art keywords
block
data
blocks
memory structure
data storage
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.)
Granted
Application number
JP10537604A
Other languages
English (en)
Other versions
JP3266277B2 (ja
Inventor
スティチンスキー、デビッド、アラン
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JP2000511318A publication Critical patent/JP2000511318A/ja
Application granted granted Critical
Publication of JP3266277B2 publication Critical patent/JP3266277B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1014Compression, 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)

Abstract

(57)【要約】 記憶装置の柔軟なアレイが、ストライプ(901、1001)と呼ばれるブロックの組に分割される複数のブロック(903、905、907、909、911、913)を記憶し、ストライプの各ブロックは、異なる装置(401aないし401f)に記憶される。アレイ・コントローラ(403)は、異なるメモリ構造に従う独立のストライプのフォーマッティングをサポートする。具体的に言うと、好ましい実施形態でサポートされるメモリ構造は、非冗長、ミラーリングおよびパリティ保護である。記憶域の各ブロックは、5つの状態すなわち、(1)EMPTY、(2)DATA、(3)PARITY、(4)COPYまたは(5)FREEのうちの1つで存在する。記憶ブロックの各ストライプは、ブロックの状態に依存する7つの状態のうちの1つで存在する。いくつかの状態遷移が定義され、データの移動を最小限にしながら、ある種類のストライプを別の種類のストライプに変換することができる(第7図)。具体的に言うと、完全にミラーリングされた状態のストライプは、ミラーリングされたストライプ内の1ブロックをPARITYブロック(806ないし807)として指定し、いくつかの状況情報(808ないし812)を変更することによって、パリティ保護された状態に変換される。この場合、データの移動は不要である。非冗長ストライプまたはパリティ保護されたストライプをミラーリングされたストライプ(1102ないし1112、1202ないし1212)に変換することも可能である。

Description

【発明の詳細な説明】 階層記憶管理システムのための変換式RAID 発明の分野 本発明は、全般的にはディジタル・データ記憶システムに関し、詳細には、し ばしば「RAID」と呼ばれるredundant array of independent storage devic esの管理に関する。発明の背景 現代のコンピュータ・システムの大量のデータ記憶域の必要は、大容量記憶装 置を必要とする。一般的な記憶装置は、回転式の磁気ハード・ディスク装置であ り、多数の部品を含む複雑な機械装置は、故障しやすい。通常のコンピュータ・ システムには、そのような装置が複数含まれる。単一の記憶装置の故障が、その システムにとって非常に破壊的な事象になる可能性がある。多数のシステムが、 故障した装置が修復されるか交換され、失われたデータが復元されるまで動作で きなくなる。 コンピュータ・システムがより大きく、高速で高信頼性になるのにつれて、そ れに対応する記憶装置の記憶容量、速度および信頼性の向上が必要になってきた 。記憶容量を増やすために単純に記憶装置を追加すると、それに対応してどれか 1つの装置が故障する確率が高まる。その一方で、既存の装 置のサイズを増やすと、他の改良がなければ、速度が低下し、信頼性は改良され ない傾向がある。 最近、あるレベルのデータ冗長性を実現するように構成された、直接アクセス 記憶装置のアレイにかなりの関心が集まっている。このような装置を、一般に「 RAID(Redundant Array of Independent(またはInexpensive)Disks)」と 称する。異なる形の冗長性をもたらすさまざまな種類のRAIDが、1988年 6月、ACM SIGMOD Conferenceに提出されたパターソン(Patterson) 、ギブソン(Gibson)およびカッツ(Katz)による論文「A Case for Redundant Arrays of Inexpensive Disks(RAID)」に記載されている。パターソン他 は、レベル1ないし5と呼ばれる5つの種類にRAIDを分類した。このパター ソンの用語は、産業界の標準になっている。 RAIDの元来の理論は、複数の比較的安価な小型ディスク駆動装置によって 、単一のより大きい高価な駆動装置の容量を実現できるというものである。小型 の複数の駆動装置は、すべてが同時にデータを読み書き(「アクセス」)するの で高速にもなる。最後に、小型の駆動装置はコストが非常に低いので、余分の( 冗長な)ディスク駆動装置を含めることが可能であり、これとなんらかの記憶管 理技法を組み合わせることによって、ある小型駆動装置が故障した場合に、シス テムがその駆動装置に記憶されたデータを復元できるようになる。したがって、 RAIDを用いると、容量、性能および信 頼性を高めることができる。RAIDが、市場で受け入れられるにつれて、その 使用が小容量駆動装置に限れられなくなり、RAIDシステムは、現在は、すべ ての容量の記憶装置を用いて構成されている。さらに、RAIDシステムは、光 ディスク駆動装置、磁気テープ駆動装置、フロッピ・ディスタ駆動装置など、他 の種類の記憶装置を用いて構成することができる。本明細書で使用する用語「R AID」または「RAIDシステム」を、特定の種類の記憶装置に制限されると 解釈してはならない。 パターソンの用語を使用すると、RAIDレベル1は、ミラーリング構成であ る。RAID−1メモリ構造によれば、データの単位のそれぞれが、アレイ内の 2つの独立の記憶装置に記憶される。したがって、1つの装置が故障した場合に 、第2の装置からデータを復元することができる。第1図は、RATD−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’)。 パターソンの用語によれば、RAIDレベル3以上(RAID−3、RAID −4、RAID−5)では、データ冗長 性のためにパリティ・レコードが使用される。パリティ・レコードは、アレイ内 の異なる記憶装置の特定の位置に記憶されるすべてのデータ・レコードの排他的 論理和から形成される。言い換えると、N台の記憶装置のアレイでは、記憶装置 の特定の位置にあるデータのブロックの各ビットが、(N−1)台の記憶装置の グループのその位置の他のすべてのビットとの排他的論理和をとられて、パリテ ィ・ビットのブロックが作られる。パリティ・ブロックは、残り(N番目)の記 憶装置の同一位置に記憶される。このアレイの記憶装置が故障した場合、故障し た装置のある位置に含まれるデータは、残りの装置の同一位置のデータ・ブロッ クとそれに対応するパリティ・ブロックの排他的論理和をとることによって再生 成できる。 RATD−3では、異なるディスク駆動装置の読み書きアクチュエータのすべ てが、同時に動作して、各駆動装置の同一位置にあるデータにアクセスする。R AID−4およびRAID−5は、さらに、ディスク駆動装置内で独立に動作す る読み書きアクチュエータという特徴を有する。言い換えると、ディスク駆動装 置の読み書きヘッドのそれぞれが、アレイ内の他の装置がデータにアクセスして いるかどうかに無関係に、ディスク上の任意の位置のデータにアクセスすること ができる。 RAID−4によれば、情報は、「ブロック」単位で記憶され、各ブロックが 、異なる記憶装置に記憶される。本明細 書の目的に関して、用語「ブロック」は、データの1つまたは複数のセクタを含 むデータのコヒーレントな単位を指し、このデータは、単一の記憶装置から独立 にアクセス可能である。そのような1つのRATD−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の「パリティ」情報の記 憶専用である。他の装置のそれぞれには、ユーザ情報が記憶される。記憶装置の どれかが故障した場合、故障した装置に記憶されていた情報は、他の装置のそれ ぞれ に記憶されているストライプの残りの情報の論理的排他的論理和をとることによ って復元できる。 独立の読み書きを有するパリティ保護されたディスク・アレイ(すなわちRA ID−4またはRAID−5)で遭遇する問題の1つが、データ・ブロックが書 き込まれる時に必ずパリティ・ブロックが更新されることに関連するオーバーヘ ッドである。たとえば、装置1のブロック201の情報を変更する(すなわち、 「新しいデータ」を書き込んで「古いデータ」を更新する)時には、通常は、古 いデータ、パリティ・ブロック211からの古いパリティ情報および新しいデー タの排他的論理和をとって、更新されたパリティ情報が作られる。新しいデータ と新しいパリティは、それぞれのブロックに書き込まれる。これらの動作は、さ まざまな順序で実行することができるが、通常は、データが更新されるたびに、 2つのブロックを読み取り(古いデータと古いパリティの両方)、2つのブロッ クを書き込む(新しいデータと新しいパリティ)ことが必要になる。キャッシュ および他の技法を使用することでこの問題を軽減することができるが、RAID −4システムのパリティ・ディスクは、激しく使用されるようになる傾向を有す る。 参照によって本明細書に組み込まれる米国特許第4761785号明細書には 、パリティ・ブロックがアレイ内のディスク記憶装置の間で実質的に均等に分配 されるタイプの独立読み書きアレイが記載されている。パターソン他は、この種 類のアレイをRAID−5と呼んだ。第3図に、RAID−5構成を示す。パリ ティ・ブロックを分配することによって、パリティ更新の重荷が、多少均等にア レイ内のディスク間で共用されるようになり、したがって、通常はRAID−5 システムならびにRATD−4システムではデータを書くための同一のread-mod ify-write(読取−変更−書込)動作が使用されるにもかかわらず、単一の専用 ディスク駆動装置ですべてのパリティ・レコードが維持される時に発生する可能 性がある潜在的な性能ボトルネックが回避される。RAID−5は、パターソン によって記載された最も高度なレベルのRAIDである。 異なるメモリ構造フォーマットのそれぞれが、独自の特性を有し、そのゆえに 、他のフォーマットのどれよりも特定のデータの記憶に適したものになる可能性 がある。それと同時に、例外なく優れている単一のフォーマットは存在しない。 たとえば、記憶の1バイトあたりのコストという観点からは、RAID−1は最 も高価であり、パリティ保護されたRAIDはより安価であり、冗長性のない記 憶装置はさらに安価である。冗長性のない記憶装置とRATD−1は、一般に、 パリティ保護されたフォーマットでのデータの更新の難しさから、パリティ保護 された記憶装置より高速である。パリティ保護されたフォーマットとミラーリン グ・フォーマットの両方が、冗長であるが、ミラーリングは、2つの記憶装置が 故障した場合に、故障した2つの装置に同一の情報が記憶され ていない限り、これらの2つの装置に記憶された情報のすべてを回復することが できるという点で多少ながらもより堅牢である。たとえば、第1図を参照すると 、装置1と装置3の両方が故障した場合に、この2つの装置に記憶されていた情 報は、装置2と装置4に記憶されたままになっている。したがって、故障した記 憶装置に含まれるデータを復元することができる。しかし、パリティ保護された 構成の場合、故障した2台の装置に含まれるデータのすべてが失われる。という のは、パリティ保護された構成では、1台の故障した装置に記憶されていた情報 を再構成するために、N−1台の装置からの情報が使用可能であることが必要に なるからである。このNは、RAID−4ストライプの装置の総数である。 情報を編成する特定の構成を決定する時に速度、堅牢さおよび必要な空間のト レードオフを行う必要があるので、アレイの少なくとも一部を非冗長、一部をミ ラーリング、一部をパリティ保護に割り振ることができると有利である。アレイ の一部をあるフォーマットまたは別のフォーマットに動的に割り振る(すなわち 、アレイの一部をあるフォーマットから別のフォーマットに変換し、逆変換する )能力は、さらに有利である。このような変換は、まず再フォーマットされるア レイの一部からのすべてのデータをバッファ(アレイ内またはアレイの外部のい ずれかとすることができる)にコピーし、その後、アレイのその部分を再フォー マットし、新しいフォーマットでデータをコピー・バックすることによって実行 で きる。しかし、データをバッファにコピーする処理は、かなりのオーバーヘッド を必要とする。発明の概要 本発明の目的は、コンピュータ・システムでデータを記憶するための拡張され た方法および装置を提供することである。 本発明のもう1つの目的は、コンピュータ・システムのためのより柔軟性のあ る記憶サブシステムを提供することである。 本発明のもう1つの目的は、コンピュータ・システムで記憶装置の冗長アレイ を管理するための拡張された方法および装置を提供することである。 本発明のもう1つの目的は、コンピュータ・システムのユーザの必要に合致す るようにコンピュータ・システムの記憶サブシステムを再構成する能力を拡張す ることである。 本発明のもう1つの目的は、RATD−1を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ブロックとして指定されることが好ましい。記憶 装置のブロックは、そこに記憶された情報が、同一ストライプの別の装置のDA TAブロックに記憶された情報のコピーである場合に、COPYブロックとして 指定されることが好ましい。記憶装置のブロックは、ユーザ情報が現在そこに記 憶されていないが、そこに記憶された情報が、ストライプ内の関連するPART TYブロックの値の決定に使用されたので、その情報をRAID−4(5)のre ad-modify-writeシーケンスに従って変更しなければならない場合に、FREE ブロックとして指定されることが好ましい。 RAID−1に従って、各ブロックの2つのコピーを記憶する、すなわち、第 1記憶装置に第1コピー、第2装置に第2コピーを記憶する。ブロックの第1コ ピーは、DATAブロックとして指定されることが好ましく、ブロックの第2コ ピーは、COPYブロックとして指定されることが好ましい。好ましい実施形態 によれば、DATAブロックの情報とCOPYブロックの情報の両方が、異なる 記憶装置に記憶されるが、関連するDATAブロックとCOPYブロックは、同 一ストライプ内として指定される。したがって、RAID−1情報のストライプ には、同数のDATAブロックとCOPYブロックが含まれることが好ましく、 アレイ内の記憶装置の 数は、偶数であることが好ましい。すなわち、各ストライプは、アレイ内の各装 置から1つのブロックから構成することができる。アレイ内の記憶装置の数が奇 数の場合、各DATAブロックが対応するCOPYブロックを必要とするので、 ストライプに記憶装置のすべてより少ない数のデータが含まれるか、各ストライ プ内に奇数のブロックが存在しなければならない。 好ましい実施形態によれば、完全にミラーリングされた状態のストライプは、 RAID−1ストライプ内の1ブロックをPARITYブロックとして指定し、 いくつかの状況情報を変更することによって、パリティ保護された状態(RAT D−4またはRAID−5)に変換される。この場合、データの移動は不要であ る。 非冗長状態またはパリティ保護状態から完全ミラーリング状態への変換が行わ れる場合には、状態テーブルによって、変換が許容される遷移の規則が定義され る。ストライプ内の各DATAブロックに関連するCOPYブロックを作成する のに十分な未使用空間(EMPTY状態またはFREE状態)が存在しなければ ならない。RAID−1情報のDATAブロックおよび関連するCOPYブロッ クの両方が、同一のストライプ内に存在することが好ましいので、変換されるス トライプ(「変換」ストライプ)に記憶された情報が、ストライプの容量の半分 以上を必要とする場合には、残されるDATAブロックに関連するCOPYブロ ックのための余地を作 るために、少なくとも一部の情報を別のストライプに移動しなければならない。 情報が移動されるストライプ(「受取り側」ストライプ)のそれぞれが、受取り 側ストライプがRAID−1に従って構成される場合に、DATAブロックおよ び関連するCOPYブロックの両方を記憶するのに十分な余地を有する必要があ る。その代わりに、データの一部を、パリティ保護された受取り側ストライプま たは保護されない受取り側ストライプに移動することができ、この場合、受取り 側ストライプにはデータを記憶するのに十分な余地があれば十分である。DAT Aブロックのコピーが作成され、ストライプ状況が更新される。図面の簡単な説明 第1図は、従来技術のRAID−1構造に従って記憶されたデータを示す図で ある。 第2図は、従来技術のRAID−4に従って記憶されたデータを示す図である 。 第3図は、従来技術のRAID−5に従って記憶されたデータを示す図である 。 第4図は、本発明の好ましい実施形態によるRAIDシステムを示す図である 。 第5A図、第5B図および第5C図は、好ましい実施形態によるデータ・ブロ ックの状況および使用法をマッピングするのに使用されるデータ構造を示す図で ある。 第6図は、好ましい実施形態によるRAIDコントローラに接続された記憶装 置にデータを書き込むために実行されるステップの流れ図である。 第7図は、好ましい実施形態によるデータ・ブロックのストライプの可能な状 況変化を示す状態図である。 第8図は、本発明の1実施形態による、現在ミラーリングされた構造(RAI D−1)としてフォーマットされているアレイの一部をパリティ保護された構造 (RAID−4またはRAID−5)に変換するために実行されるステップの流 れ図である。 第9図は、好ましい実施形態による、1つのストライプ901がRAID−1 構造としてフォーマットされたアレイ900を示す図である。 第10図は、好ましい実施形態による、第9図のRAID−1構造として構成 されたストライプがパリティ保護されたストライプに変換された後の、第9図の アレイを示す図である。 第11図は、好ましい実施形態による、パリティ保護されたストライプ(RA ID−4またはRAID−5)をミラーリングされた構造(RAID−1)に変 換する方法を示す流れ図である。 第12図は、好ましい実施形態による、非冗長ストライプをパリティ保護され たストライプ(RAID−4またはRAID−5)に変換する方法を示す流れ図 である。 第13図は、本発明の代替実施形態による、奇数個の記憶装置を有するアレイ を示す図である。 好ましい実施形態の詳細な説明 まず第4図を参照すると、本発明の好ましい実施形態による再構成可能なRA ID記憶システムが示されている。通常のRAID構成の場合と同様に、好まし い実施形態のRAIDシステム400には、複数の記憶装置401aないし40 1fが含まれる。好ましい実施形態では、記憶装置401aないし401fは、 直接アクセス記憶装置(DASD)であり、具体的には、回転式磁気ハード・デ ィスク駆動装置記憶装置であるが、その代わりに他の種類の記憶装置を使用する ことができることを理解されたい。第4図では、便宜上6台のDASDが図示さ れているが、本発明によるアレイには、3台以上の装置を含めることができるこ とを理解されたい。RAIDコントローラ403が、記憶装置401aないし4 01fに結合される。本発明の好ましい実施形態によれば、RAIDコントロー ラ403には、ランダム・アクセス・メモリ(RAM)410とプログラム可能 なマイクロプロセッサ412が含まれる。データ消失の確率をさらに低下させる ために、RAM410の一部またはすべてを不揮発性とすることができる。マイ クロプロセッサ412は、アレイの動作、具体的には本明細書に記載の方法によ るあるフォーマットから別のフォーマットへの記憶装置の組の変換を制御する制 御 プログラム413を実行する。制御プログラム413は、メモリ410に常駐し た状態で図示されているが、その代わりに、読取専用メモリ(ROM)チップな どの別の制御記憶メモリに常駐することができることを理解されたい。制御プロ グラムは、磁気フロッピ・ディスク、磁気テープ、光ディスクなどの任意選択の 別の周辺装置からメモリ410にロードすることができ、ホスト・システム40 4からダウンロードすることができる。RAIDコントローラ403は、ホスト ・システム404からコマンドと情報を受け取ることが好ましい。ホスト・シス テム404は、プログラムされた汎用ディジタル・コンピュータを含む、通常の RAIDシステムに結合することができるなんらかの装置とすることができる。 コマンドによって、RAIDコントローラ403は、そのコマンドに関連して受 け取った情報をDASDのアレイに記憶するように指示される。さらに、コマン ドによって、情報を非冗長フォーマット、RAID−1フォーマット、RAID −4フォーマットまたはRAID−5フォーマットのうちのどれ従って記憶する かを指示することができる。代替案では、RAIDコントローラ403が、ホス ト・プロセッサからの案内なしに、受け取った情報を非冗長形式とRAID−1 、RAID−4またはRAID−5に従ううちのどれで記憶するかを決定する。 RAIDコントローラ403は、単一のバスによってDASDのアレイに結合 することができる。しかし、好ましい実 施形態では、同時に複数のDASDにデータを伝送することのできる接続を設け る。本発明の任意選択の実施形態によれば、テープ・アレイなどの任意選択の周 辺記憶装置405も、RAIDコントローラ403に結合される。テープ・アレ イを用いると、コントローラが、アレイのDASD内の空間を解放するために、 頻繁に使用されない情報をDASDアレイから外に移動できるようになる。任意 選択として、周辺記憶装置405は、参照によって本明細書に組み込まれる、本 明細書と同一の譲受人に譲渡される米国特許出願番号第07/879621号明 細書に記載されているように、書き込まれるデータの一時キャッシュとして使用 されるDASDとすることができる。 本発明の好ましい実施形態では、RAID−4およびRAID−5の両方のフ ォーマットではなく、いずれかが使用される。しかし、代替実施形態では、RA IDコントローラ403は、RAID−1、RAID−4またはRAID−5の いずれかに従って情報を記憶することができるものとすることができる。当業者 であれば、RAIDコントローラ403が、アレイのどの部分が各構成に割り振 られているかを知らなければならないことを理解するであろう。たとえば、アレ イの一部が、RAID−1による情報の記憶に割り振られ、アレイの一部が、R AID−5による情報の記憶に割り振られている場合、コントローラ403は、 どの部分がどのフォーマットに割り振られているかを意識しなければならない。 RAM410のデータ・ディレタトリ411には、アレイの異なる部分がどの ように使用されるかが記録される。データ・ディレクトリ411には、アレイ内 のブロックの現在の状況すなわち、各ブロックがDATA、COPY、PARI TY、EMPTYまたはFREEのうちのどのブロックであるかと、各ストライ プのデータ冗長性の形式(ミラーリング、パリティ保護または非冗長)が記憶さ れる。データ・ディレクトリ411には、追加情報ならびにアレイのさまざまな 部分の使用法を判定するのに必要な情報を記憶することができる。停電または構 成要素消失の場合の回復を可能にするために、データ・ディレクトリ411の冗 長コピー(図示せず)が別の位置(たとえば、DASDのうちの1つのの指定さ れた場所または別の周辺装置405上)に存在するか、データ・ディレクトリ4 11をRAM410の不揮発部分に記憶することが好ましい。 第5A図、第5B図および第5C図は、好ましい実施形態による、前述の目的 に使用されるデータ・ディレクトリ411内のデータ構造のうちの3つを示す図 である。第5A図は、ストライプ状態テーブルを示す図であり、第5B図は、ブ ロック状況テーブルを示す図であり、第5C図は、ホスト・アドレス・マッピン グ・テーブルを示す図である。ストライプ状態テーブル501には、複数の項目 が含まれ、各項目には、ストライプ・アドレス・フィールド502と、ストライ プ状態フィールド503が含まれる。ストライプ・アドレス・フ ィールド502には、記憶装置でのストライプのブロックの開始アドレスが記憶 される。好ましい実施形態では、すべてのブロックが同一サイズであり、ストラ イプのすべてのブロックが、それぞれの記憶装置内で同一のアドレスにあり、し たがって、単一の開始アドレスを識別するだけで、ストライプを識別するのに十 分である。ストライプ状態フィールド503には、ストライプの現在の状態が含 まれ、可能な状態は、第6図に関連して下で詳細に説明する。 ブロック状況テーブル521には、ブロックごとに1つの複数の項目が含まれ る。ブロック状況テーブル521の各項目には、ストライプ識別子フィールド5 23、装置IDフィールド524、状況フィールド525、バージョン番号フィ ールド526および対装置フィールド527が含まれる。ストライプ識別子フィ ールド523は、そのブロックを含むストライプを識別するフィールドであり、 たとえば、ストライプ状態テーブル501の対応する項目を指すポインタとする ことができる。装置IDフィールド524には、そのブロックを含むDASDの 識別子が含まれる。各ストライプには、どのDASDでも1つを超えないブロッ クが含まれるので、ストライプとDASDを指定することが、ブロックの指定に は十分である。状況フィールド525には、ブロックの使用状況(DATA、C OPY、PARITY、FREEまたはEMPTY)が記録される。バージョン 番号フィールド526には、バージョン番号が記録される。バージョン番号は、 データ更新のたびに増分され、冗長ブロックが同期化されているかどうかの判定 に使用される。対装置フィールド527は、記憶装置のミラーリングされたブロ ックの場合は対にされたブロックを識別し、パリティ保護されたデータ・ブロッ クの場合はパリティ・ブロックを識別するフィールドである。対装置フィールド は、たとえば、対にされたブロックまたはパリティ・ブロックに対応するブロッ ク状況マップ・テーブル項目を指すポインタとするか、装置識別子とすることが できる。 ホスト・アドレス・マッピング・テーブル541は、ホスト・アドレスをブロ ックにマッピングするテーブルである。好ましい実施形態によれば、ホスト・コ ンピュータ・システムは、記憶サブシステムを単一の大きいアドレス範囲とみな す。特定のアドレスを読み書きするための、ホストからのコマンドは、記憶装置 IDとその記憶装置内のアドレスを参照するように変換しなければならないが、 これは、ホスト・アドレス・マッピング・テーブル541を用いて達成される。 ホスト・アドレス・マッピング・テーブル541には、ホスト・システムによっ てアドレッシングされるブロックごとに1つの複数の項目が含まれる。各項目に は、ホスト・システム・アドレス・フィールド542とブロック識別子フィール ド543が含まれ、ブロック識別子フィールドには、ブロックを識別するブロッ ク状況テーブル521内の項目を指すポインタが含まれる。 上で説明したデータ構造は、単一の実施形態だけを示すものであり、データ構 造の多数の変形が可能であることを理解されたい。たとえば、ホスト・コンピュ ータ・システムが、ブロックの物理位置を追跡し、RAIDコントローラ403 内のホスト・アドレス・マッピング・テーブルを不要にすることが可能である。 データ構造は、1つの大きいテーブル、連係リストまたはさまざまな他の形式と して構成することができる。さらに、実施の正確な形態に応じて、一部のフィー ルドが不要になるか、追加のフィールドが必要になる場合がある。さらに、上で 説明したデータ構造は、RAIDコントローラ403によって使用される唯一の データ構造であるとは限らないことを理解されたい。たとえば、RAIDコント ローラ403は、記憶装置上で割振りに使用できる空き空間のリストを有するこ とが好ましい。これには、FREEまたはEMPTYの状況を有するブロックだ けではなく、DATAブロックのうちのまだ割り振られていない部分を含めるこ とができる。 通常動作では、RAIDコントローラ403は、ホスト・システム404から 受け取るデータ・アクセス・コマンド(データの読取または書込)に応答する。 ホスト・システム404からのデータ・アクセス・コマンドには、読み取るブロ ック(または、セクタなど、ブロックの一部)のアドレスが含まれる。ホストか らのアドレスは、ホスト・アドレス・マッピング・テーブル541内の項目にア クセスするのに使 用される。ブロック識別子フィールド543が、所望のブロックに対応するブロ ック状況テーブル521内の項目を指す。コントローラは、この項目にアクセス して、装置IDフィールド524から記憶装置識別子を取得し、ストライプ識別 子フィールド523からストライプ識別子を取得する。これらによって、読み取 るべきブロックが識別される。その後、RAIDコントローラ403は、適当な 記憶装置に読取コマンドを発行し、記憶装置内の所望のデータのアドレスを渡す 。 書込動作はより複雑である。というのは、(a)RAIDコントローラ403 が、現在のブロック使用法を確認しなければならず、(b)書込動作によってス トライプ状態の変化が引き起こされる可能性があるからである。第6図は、書込 動作を実行する際にRAIDコントローラ403によって実行されるステップの 流れ図である。ホスト・システム404からの書込コマンドに応答して、RAI Dコントローラ403は、ストライプ状態テーブル501、ブロック状況テーブ ル521およびホスト・アドレス・マッピング・テーブル541を参照して、読 取動作に関して上で説明したように、記憶装置IDと所望のブロックのアドレス を判定する(ステップ601)。さらに、コントローラは、ストライプ状態テー ブル501のストライプ状態フィールド503から、ストライプの現在の状況を 判定する(ステップ602)。 可能な状態および状態遷移については、第7図に関連して下で完全に説明する 。ストライプの現在の状態に応じて、3 つの可能な分岐のうちの1つが採用される。現在の状態が保護されていない状況 (番号5、6または7)のいずれかである場合には、RAIDコントローラ40 3は、適当な記憶装置に単純に書込コマンドを発行し、記憶装置内でデータが書 き込まれるアドレスを渡す(ステップ605)。 現在の状態がミラーリング状態(番号1または2)のいずれかである場合には 、RAIDコントローラ403は、まず、ミラーリングされたデータを含む適当 な記憶装置に書込コマンドを発行する(ステップ610)。その後、RAIDコ ントローラ403は、ミラーリングされたデータを含むブロックのバージョン番 号フィールド526を増分する(ステップ611)。その後、RAIDコントロ ーラ403は、対装置フィールド527からミラーリングされたデータのコピー を含む装置の装置IDを見つけ、コピーを含む記憶装置に書き込みコマンドを発 行する(ステップ612)。完了時に、コピーを含むブロックのバージョン番号 フィールド526を、元のデータを含むブロックのバージョン番号と等しい値に 増分する(ステップ613)。 現在の状態が、パリティ保護された状態(番号3または4)のいずれかである 場合には、RAIDコントローラ403は、まずデータを含む記憶装置からデー タを読み取り(ステップ620)、このデータと新たに書き込まれるデータの排 他的論理和をとって、一時的変更マスクを生成し(ステップ621)、新しいデ ータを記憶装置に書き込み、バージョン番号 フィールドを増分する(ステップ622)。その後、RAIDコントローラ40 3は、対装置フィールド527からパリティを含む装置の識別を取得し、このパ リティ装置から古いパリティ・ブロックを読み取り(ステップ625)、この古 いパリティ・データと変更マスクの排他的論理和をとって新しいパリティ・デー タを生成し(ステップ626)、新しいデータをパリティ・ブロックに書き込み (ステップ627)、パリティ・ブロックのバージョン番号フィールドを増分す る。 その後、RAIDコントローラ403は、ブロックの状態の変化が発生したか どうかを判定する。すなわち、データが、FREEまたはEMPTYの状況を有 するブロックに書き込まれた場合には、その状況をDATAに変更しなければな らない(ステップ630)。ブロックの状況が変化した場合、ストライプの状況 も変化している可能性がある。したがって、コントローラは、ストライプの状況 の変化が発生したかどうかを判定し、その変更を反映するようにストライプ状態 フィールド503を更新する(ステップ631)。可能な変更とそのトリガにな る事象は、第7図に関連して下で説明する。 上と第6図の読取動作および書込動作の説明は、理解しやすくするために簡略 化されており、本発明の理解に必須ではない追加の動作を読取または書込と共に 実行できることを理解されたい。具体的に言うと、RAIDコントローラ403 は、性能改善のために常駐キャッシュ・メモリを有することができ、この場合、 通常は、記憶装置からの読取またはこれ への書込の前に、キャッシュの内容が検査される。その代わりに、RAIDコン トローラ403で、書込動作を一時的にキャッシュ記憶するために、外部ログ記 録装置を使用することができる。 受け取った情報をRAID−1、RAID−4またはRAID−5フォーマッ トのいずれかで記憶できるほかに、好ましい実施形態のRAIDコントローラ4 03は、あるRAIDフォーマットに従ってすでに情報が記憶されているアレイ の部分を別のRAIDフォーマットに再割振りすることができるように、アレイ を再割振りすることができる。たとえば、RAID−1に従って情報を記憶する ように割り振られているアレイの部分を、RAID−5に従って情報を記憶する ように再割振りすることができる。アレイのその部分に記憶される情報は、その 後、RAID−5に従って再フォーマットされる。 アレイの一部のあるRAIDフォーマットから別のRAIDフォーマットへの 変換をサポートするために、状態(ストライプ状態テーブル501に記憶される )に、各ストライプが関連付けられ、状態変化の定義済みの組が、事前に定義さ れた事象に応答して許可される。一般に、状態変化を引き起こす事象は、いくつ かのデータ書込動作、いくつかの空間解放の要求(すなわち、既存ブロック内の データの破棄)および、ストライプのRAIDフォーマットの変更要求である。 第7図に、可能な状態と可能な状態変化を示す状態図を示す。 以下の7つの状態が定義されている。 1.NEW MIRROR(新規ミラー):この状態は、ストライプに書き込 まれたデータが、ストライプに書き込まれたミラー・コピーも有することを意味 する。しかし、このストライプの少なくとも1つのブロックがEMPTYである 。 2.FULL MIRROR(満杯ミラー):この状態は、ストライプのすべ てのデータがミラーリングされ、このストライプのためのEMPTYブロックが 存在しないことを意味する。 3.PARITY X(パリティX):この状態は、データがパリティ保護さ れている(たとえばRAID−4またはRAID−5)が、DATA空間のすべ てのコピーを保持するのに十分なFREEブロックおよびPARITYブロック が存在することを意味する。 4.FULL PARITY(満杯パリティ):この状態は、データがパリテ ィ保護されており、DATAブロックのすべてのコピーを保持するのに十分なF REEブロックおよびPARITYブロックが存在しないことを意味する。 5.UNPROTECTED X(非保護X):この状態は、データが保護さ れていないが、DATAブロックのすべてのコピーのために十分なEMPTYブ ロックが存在することを意味する。 6.UNPROTECTED(非保護):この状態は、データが保護されてお らず、すべてのDATAブロックのコピ ーのために十分なEMPTYブロックが存在しないが、パリティ・ブロック用の EMPTYブロックが存在することを意味する。 7.FULL UNPROTECTED(満杯非保護):この状態は、データ が保護されておらず、EMPTYブロックが存在しないことを意味する。 第7図に示された、以下の状態遷移が可能である。 1a この遷移は、データが書き込まれたが、ストライプ内に少なくとも1つ のEMPTYブロックがある時に発生する。 1b この遷移は、書込動作の結果として、このストライプ内にEMPTYブ ロックがなくなった(すなわち、データが最後のEMPTYブロックに書き込ま れ、そのブロックがDATAブロックになった)時に発生する。この変化は、第 8図に関連して下で完全に説明する2段階遷移(状態1から状態2を介して状態 3へ)の一部として、ストライプ・フォーマットをパリティ保護付きに変更する コマンドの時にも発生する。この場合、EMPTYブロックは、コピー内で対に され、その状況はFREEに変化する。 1c この遷移は、たとえば、データ記憶用の空間を増やすためなど、ストラ イプ・フォーマットを変更するコマンドの時に限って発生する。この遷移では、 COPY状況を有するストライプ内のすべてのブロックが、EMPTY状況に変 更される。 2a この遷移は、データがFREEブロックの対に書き込まれる(DATA およびCOPYへの状況変化を引き起こす)時に発生する。この遷移は、ブロッ ク内の空間を解放するコマンドの時にも発生する。後者の場合、ブロックの両方 のコピーがFREEと指定される(使用可能であることが示される)が、ミラー リングは中断されない。 2b この遷移は、ストライプ・フォーマットを変更するコマンドの時に限っ て発生する。この状態変化の手順は、第8図に関連して下で完全に説明する。 2c この遷移は、ストライプ・フォーマットを変更するコマンドの時に限っ て発生する。この遷移では、COPYブロックのすべてが、EMPTY状況に変 更される。 3a この遷移は、データがFREEブロックに書き込まれ、DATAへの状 況変化が発生する(下の3bで説明する状況を除く)時に発生する。この遷移は 、DATAブロック内の空間を解放し、ブロックの状態をFREEに変化させる コマンドの時にも発生する。 3b この遷移は、データがFREEブロックに書き込まれ、状況がDATA に変化し、その結果、残りのFREEブロックとPARITYブロックがストラ イプ内のDATAブロックのすべてをコピーするのに不十分になった時に発生す る。 3c この遷移は、ストライプ・フォーマットを変更するコマンドの時に限っ て発生する。この状態変化の手順は、第 11図に関連して下で完全に説明する。 3d この遷移は、ストライプ・フォーマットを変更するコマンドの時に限っ て発生する。この状態変化の手順は、第11図に関連して下で完全に説明する。 3e この遷移は、ストライプ・フォーマットを変更するコマンドの時に限っ て発生する。すべてのPARITYブロックおよびFREEブロックがEMPT Yに変更され、これらのブロックは、追加データの記憶に使用できるようになる 。 4a この遷移は、データがFREEブロックに書き込まれた時か、DATA ブロック内の空間を解放するコマンドによってブロックがFREEに変更された が、ストライプ内のFREEブロックおよびPARITYブロックがすべてのD ATAブロックのコピーを保持するために十分(ミラーリング状態への遷移が可 能)でない時に発生する。 4b この遷移は、DATAブロックがFREEに変更された後に、DATA ブロックのすべてのコピーを保持するのに十分なFREEブロックおよびPAR ITYブロックができた結果として発生する。 4c この遷移は、ストライプ・フォーマットを変更するコマンドの時に限っ て発生する。PARITYブロックとFREEブロックのすべてが、EMPTY に変更される。 5a この遷移は、データがEMPTYブロックに書き込まれ、そのブロック の状況がDATAに変更された時か、DATAブロック内の空間を解放するコマ ンドによってブロッ クがDATAからEMPTYに変更された時で、どちらかの変更の後に、DAT Aブロックのすべてのコピーを保持するのに十分なEMPTYブロックがある( ミラーリング状態への遷移が可能になった)時に発生する。 5b この遷移は、下でさらに説明するように、ストライプ・フォーマットを 変更するコマンドの時に限って発生する。 5c この遷移は、下でさらに説明するように、ストライプ・フォーマットを 変更するコマンドの時に限って発生する。 5d この遷移が発生するのは、データがEMPTYブロックに書き込まれ、 EMPTYブロックの状況がDATAに変更された時に、変更の結果としてDA TA空間のすべてのコピーを保持するのに十分なEMPTYブロックがストライ プになくなった時に発生する。 5e この遷移は、下でさらに説明するように、ストライプ・フォーマットを 変更するコマンドの時に限って発生する。 6a この遷移は、データがEMPTYブロックに書き込まれ、その状況がD ATAに変更された場合か、DATAブロック内の空間を解放するコマンドによ って、ブロックがDATAからEMPTYに変更された時で、どちらかの変更の 後に、パリティには十分なEMPTYブロックがあるが、DATAブロックのす べてのコピーを保持するのに十分なEMPTYブロックがない時に発生する。 6b この遷移は、DATAブロック内の空間を解放するコマンドによって、 ブロックがDATAからEMPTYに変 更された場合に、DATAブロックのすべてのコピーを保持するのに十分なEM PTYブロックができた結果として発生する。 6c この遷移は、下でさらに説明するように、ストライプ・フォーマットを 変更するコマンドの時に限って発生する。 6d この遷移は、データが最後のEMPTYブロックに書き込まれ、そのブ ロックの状況がDATAに変更され、その結果、EMPTYブロックがなくなっ た時に発生する。 7a この遷移は、DATAブロック内の空間を解放するコマンドによって、 ブロックがDATAからEMPTYに変更された時に発生する。 上で説明したように、いくつかの遷移は、ストライプ・フォーマットを変更す る「コマンドの時」に発生する。RAIDコントローラ403は、ホスト・シス テム404からのコマンドに従ってストライプを構成することが好ましい。ホス トは、個々のストライプの構成を記録せず、ある量の記憶域がミラーリング構成 で存在し、ある量の記憶域がパリティ保護された構成で存在し、ある量の記憶域 が非保護(すなわち非冗長)構成で存在することだけを知っている。RAIDコ ントローラ403は、ホスト・システム404からの最初の構成コマンドに対し て、適当な数のストライプをそれぞれの構成に割り振ることによって応答する。 その後、ホスト・システム404は、新しいデータを書き込む時に必ず、データ をミラーリングするか、パリティ保護するか、保護しないか を指定する。RAIDコントローラ403は、この指定に基づいて、適当なスト ライプとブロックを選択する。ホスト・システム404は、たとえばより多くの 空間を解放するため、または、異なる構成のより多くの空間が必要であることが 判明したので、構成を変更する場合がある。この場合、ホスト・システム404 は、RAIDコントローラ403に構成コマンドを送って、ある量の記憶域(ス トライプ数)を再構成することを要求する。コントローラは、現在のストライプ の状態に基づいて、再構成に適当なストライプを選択する。RAIDコントロー ラ403は、最小量のデータが存在するストライプを選択することが好ましい。 たとえば、ホスト・システム404から、あるストライプを非保護状況からパリ ティ保護状況に変換するコマンドを受け取った場合、遷移5(c)は6(c)よ り好ましい。これは、同一状態の複数のストライプの間では、最大数のEMPT Yブロックを有するストライプが好ましく、同数のEMPTYブロックを有する ストライプの間では、部分的に満たされたDATAブロック内に最大の未使用空 間を有するストライプが好ましい(ブロックの一部を割り振ることができると仮 定)からである。 代替案では、ホスト・システム404が、ブロックを装置とアドレスにマッピ ングし、ユーザ入力を用いるかこれなしで、どのストライプをどの形で構成する かを決定することができることを理解されたい。この場合、RAIDコントロー ラ403は、ストライプの構成を変更するためのホスト・コ マンドに単純に応答するはずである。代替案では、RAIDコントローラ403 が、それ自体で、所定のアルゴリズムまたは条件に従って、構成の変更を決定す ることができる。もう1つの代替案として、ユーザが、RAIDコントローラ4 03に直接に構成変更を入力することができる。いくつかの遷移が構成を変更す る「コマンドの時」に行われるという説明は、構成変更をホストによって開始さ れたコマンドに制限するものと解釈してはならず、コントローラ自体、ユーザ、 または他のなんらかの方法によって生成された「コマンド」を含むものと解釈し なければならない。 第8図は、好ましい実施形態による、RAID−1構造として現在フォーマッ トされているアレイの部分をRAID−4(5)構造に変換するために実行され るステップの流れ図である。言い換えると、ストライプの状態は、状態2から状 態3(または、状態1から状態2を介して状態3までの2段階)に変化する。こ の実施形態では、アレイに、偶数個の記憶装置が含まれ、ストライプに、各記憶 装置の1ブロックが含まれ、ストライプの各ブロックが、それぞれの記憶装置の 同一アドレス範囲に配置される。第9図は、第8図の方法を実行するためのアレ イ900を示す図である。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され るデータのブロックは、すべてがOのブロックをもたらす。すなわち、 (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つのうちの2つが5つのうちの他の2つのコピーであると仮定 すれば、5つのブロックのどれのXORをとるかに無関係に成り立つ。したがっ て、単にRAID−1ストライプの1つのブロック913の指定をCOPYから PARITYに変更し、ブロック905および909をCOPYブロックからF REEに変更することによって、RAID−1ストライプが、第10図に示され たRAID−4(5)ストライプに変換される。PARITYブロックと指定さ れる特定のブロックの選択によって、ストライプがRAID−4ストライプとR AID−5ストライプのどちらとして構成されるかが決定されることがわかる。 単一のRAID−4ストライプとRAID−5ストライプ自体の間には区別がな いことが明白である。というのは、各ストライプ内のPARITYブロックの相 対位置によって、RAID−4システムとRAID−5システムが区別されるか らである。 第8図からわかるように、この変換の最初のステップは、変換されるブロック の組を識別することである(ステップ801)。好ましい実施形態では、各スト ライプを、RAID−1構成からRAID−4(5)構成へまたはその逆に、個 別に独立に変換することができる。各ストライプは、各DASD上のあるアドレ ス範囲に配置されたすべてのブロックを含むことが好ましいので、ストライプは 、単にアドレス範囲を指定するか、ブロックのうちの1つを指定することによっ て選択される。しかし、代替案では、変換するストライプを識別するステップに 、他のものを含めることができる。たとえば、ストライプに、互いに関係のない 混合アドレスにあるブロックが含まれる場合、ストライプの識別に、RAID− 1ブロックの個々の対を選択するステップを含めることができる。代替案では、 記憶装置のアレイを、ストライプの事前に定義されたグループだけが選択される (たとえば、多数のブロックを含む単一の大きいアドレス範囲)ように設計する か、変換がアレイ全体に対してのみ実行されるように設計することができる。識 別は、ユーザによって手作業で行うことができ、なんらかのアルゴリズム(たと えば、最近最も使用されていない(LRU)ストライプを選択する)に従ってソ フトウェアによって実行することができる。変換アルゴリズムでは、保留中の書 込のすべてが完了している、すなわち、各DATAブロックとそのそれぞれのC OPYブロックが同一のデータを有すると仮定する。これは、バージョン・レベ ルを検査することによって検証できる。書込動作が完了していない(バージョン ・レベルが一致しない)場合には、処理の前に書込動作を完了する。 好ましい実施形態によれば、ミラーリング状態には、状態 1(NEW MIRROR)および状態2(FULL MIRROR)として識 別される2つの状態がある。パリティ保護された状態(状態3、PARITY X)への状態遷移は、状態2からのみ許可される。したがって、ストライプが状 態1の場合には、ステップ802の分岐として示されるように、まずストライプ を状態2にして(遷移1b)PARITY X状態への最終的な遷移を容易にす る必要がある。NEW MIRROR状態のストライプをFULL MIRRO Rにするためには、EMPTYブロックをミラーリングする、すなわち、EMP TYブロックに記憶されたもののすべてを別のEMPTYブロックにミラーリン グしなければならない。EMPTYブロックに0だけが含まれることが事前にわ かっている場合、これはすでにそうなっている。そうでない場合に、これを達成 するもっとも簡単な方法は、通常は、EMPTYブロックを0にすることである (その代わりに、これらを互いに対にし、データのコピーを作ることができる) (ステップ803)。その後、EMPTYブロックの状況をFREEに変更し、 ストライプの状態をFULL MIRRORに変更する(ステップ804)。 ストライプが状態2(FULL MIRROR)の状態で、あるDASDを選 択して、新しいRAID−4(5)ストライプに関連するパリティ・ブロックを 記憶する(ステップ806)。第9図および第10図では、例としてブロック9 13が選択されているが、他のブロックを選択することができ ることを理解されたい。好ましい実施形態では、RAIDコントローラ403が 、パリティ・ブロックに関して事前に定義されたマッピング・アルゴリズムに従 って、パリティ・ブロックを自動的に選択する。すなわち、好ましい実施形態で は、パリティは、RAID−5に従って構成され、パリティ・デバイスの台数は 、((N−1)×S MOD N)+1など(Sはストライプ数、Nはアレイ内 の記憶装置の数)、単純なラウンドロビン公式によって決定される。しかし、そ の代わりに、適当なパリティ・ブロックの選択を、ユーザによって実行するか、 ホストによって実行するか、なんらかの他の判断基準を含めることができること を理解されたい。たとえば、RAID−4が指定された場合、パリティを含むD ASDは、すでに既知であり、したがって、パリティを含むブロックは、ストラ イプの識別から既知である。パリティ・ブロックを先に選択し、その後、パリテ ィ・ブロックの選択から適当なストライプを暗示することもできる。したがって 、ステップ801ないし806は、異なる順序で実行することができ、いくつか のステップを同時に実行することもできる。 パリティ・データ記憶のために選択されたブロック913は、PARITYブ ロックとして指定される(ステップ807)。「指定」とは、システム内でこれ がパリティ・ブロックであることを示すなんらかの記録が作られ、その結果、今 後、システムがそれをそのようなものとして認識することであることを理解され たい。好ましい実施形態では、ブロック 状況テーブル521のブロック状況フィールド525のブロック状況を更新して 、選択されたブロックがパリティ・ブロックであることを反映する、すなわち、 ブロック状況テーブル521のブロックの状況をPARITYに変更する。 PARITYブロックとして指定されたブロック913が、以前にDATAブ ロックであった場合(ステップ808)、そのDATAブロックに関連するCO PYブロックを、DATAブロックとして指定する(ステップ809)。残りの COPYブロックのそれぞれを、FREEブロックとして指定する(ステップ8 10)。最後に、ストライプの指定を、FULL MIRROR(状態2)から PARITY X(状態3)に変更する(ステップ812)。上で説明したよう に、好ましい実施形態の「指定」は、ブロック状況テーブル521のブロックの 状況とストライプ状態テーブル501のストライプの状態を変更することを意味 し、この情報は、他の形式で表現できることを理解されたい。 式2から、PARITYブロックとしてのブロック913に記憶される情報は 、ストライプ1001内の他のブロック903ないし911のそれぞれの論理的 排他的論理和に等しいことがわかり、したがって、連続する排他的論理和演算に よってパリティを計算する必要はない。さらに、2つのブロック905および9 09は、FREEと指定されているので、RAID−1からRAID−4(5) への変換の後に、ストライプ1001に追加情報を記憶することができる。 第11図は、パリティ保護されたストライプまたは非冗長ストライプ(すなわ ち「変換ストライプ」)をミラーリングされたストライプ(RAID−1)に変 換する方法を示す流れ図である。ストライプをFULL MIRROR状態に変 換するためには、変換ストライプ内に、DATAブロックのそれぞれのコピーを 記憶するのに十分な使用可能空間が存在しなければならない。第7図の状態図に 関して具体的に言うと、状態3(PARITY X)または状態5(UNPRO TECTED X)から状態2(FULL MIRROR)への状態遷移が可能 である。これらは、第7図に示された遷移3dおよび5bである。第10図に、 PARITY X状態の変換ストライプであるストライプ1001が示されてい るが、これは、FULL MIRROR状態に変換することができる。ストライ プが状態4、6または7である場合、下で説明するように、FULL MIRR ORに変換する前に、そのストライプをまず状態3または状態5にしなければな らない。したがって、パリティ保護されたストライプまたは保護されないストラ イプに情報を記憶する時には、第2DASD内の第2ブロックに情報を記憶する 前に、第IDASD内の第1ブロックに書き込むことが好ましい。この形で、情 報が統合され、必要な空間を使用可能にしようとする試行のために別の処置で情 報を統合する必要がなくなる。 第11図からわかるように、この変換の最初のステップは、変換されるブロッ クの組すなわち変換ストライプを識別する ことである(ステップ1101)。前に述べたように、好ましい実施形態では、 各ストライプをある構成から別の構成に個別に独立に変換することができる。ス トライプは、第8図に関して上で説明した方法のいずれかによって識別すること ができる。 その後、システムは、そのストライプ内にDATAブロックのそれぞれのCO PYブロックを作成するのに十分な未使用の空間があるかどうかを検証する。具 体的に言うと、RAIDコントローラ403は、ストライプ状態テーブル501 を参照して、ストライプ状態を判定する。状態3または状態5のいずれかのスト ライプは、十分な未使用空間を有する(ステップ1102)。必要なCOPYブ ロックを記憶するのに十分な空間が変換ストライプ内に存在しない(すなわち、 ストライプが状態4、状態6または状態7である)場合には、少なくともデータ の一部を、変換ストライプから別のストライプまたは、周辺記憶装置405(第 4図参照)に関連するものなどの別の記憶サブシステムに再配置しなければなら ない。この処理は、第11図ではステップ1103ないし1106として図示さ れている。システムは、まず、DATAブロック内の記憶域を解放できるかどう かを判定する(ステップ1103)。これは、たとえば、そのブロックのデータ を上書きできるか、圧縮できるか、他の位置に記憶できるかをユーザに質問する ことによって実行でき、この場合には、ユーザが選択を行う。その代わりに、R AIDコントローラ4 03をプログラムして、データを再配置できる使用可能ブロックについて他のス トライプを走査する、圧縮できるデータを圧縮する、または、テープに再配置す るためのブロックを選択するなどを行い、したがって、ブロックを自動的に再配 置することができる。RAIDコントローラ403は、LRUなどのアルゴリズ ムを使用して、圧縮または再配置するブロックを決定することができる。DAT Aブロックのうちの1つを解放することが不可能な場合には、この処理は異常終 了し、変換ストライプは変換されない(ステップ1106)。適当な候補ブロッ クが見つかった場合には、そのブロックのデータを、適宜再配置、圧縮または無 視し、ブロック自体を、追加データの記憶のために解放する(ステップ1104 )。RAIDコントローラ403は、ブロック状況テーブル521のブロックの 状況をFREE(ストライプが状態4、FULL PARITYの場合)または EMPTY(ストライプが状態6、UNPROTECTEDまたは状態7、FU LL UNPROTECEDの場合)に変更し、ストライプ状況を更新する(ス テップ1105)。このブロック状況の変化は、ストライプ状況の状態3または 状態5への変化のトリガになる可能性がある。その後、このアルゴリズムはステ ップ1102を繰り返す。 ストライプがすでに状態3または状態5であるか、上で説明したようにストラ イプをどちらかの状態に変換できる場合(ステップ1102からの「yes」の 分岐)には、RAI Dコントローラ403は、まず、ストライプ内のDATAブロックのすべてをR AM410に読み取る(ステップ1108)。DATAブロックは、RAM41 0に読み取られる際に、部分的に完了した書込動作として待ち行列化される、す なわち、DATAは書き込まれたが、COPYは書き込まれていない。RAID コントローラ403は、EMPTY)FREEおよびPARITYブロックの状 況をCOPYに変更し、対装置フィールド527に適当な項目を置くことによっ て、ブロック状況テーブル521を更新する(ステップ1109)。ブロックが RAMに読み込まれ、ブロックの状況がマッピングされた後に限って、ストライ プの状況がFULL MIRRORに変更される(ステップ1110)。その後 、RAIDコントローラ403は、データをRAMからCOPYブロックに書き 込むことによって、待ち行列化された動作を完了する(ステップ1112)。こ の形で、パリティ保護された状態からミラーリング状態に変換されるストライプ は、変換の進行中にDASDのうちの1つが故障した場合でも冗長な状態に保た れる。 第12図は、非冗長ストライプ(すなわち「変換ストライプ」)をパリティ保 護されたストライプ(RAID−4またはRAID−5)に変換する方法を示す 流れ図である。ストライプをパリティ保護された状態に変換するためには、パリ ティを記憶するために使用可能な未使用ブロックが変換ストライプ内に1つ存在 しなければならない。第7図の状態図に 関して具体的に言うと、状態5(UNPROTECTED X)から状態3(P ARITY X)へ、または、状態6(UNPROTECTED)から状態4( FULL PARITY)への状態遷移が可能である。これらは、第7図に示さ れた遷移5cおよび6cである。ストライプが状態7の場合には、下で説明する ように、パリティ保護にする前に、まず状態6にしなければならない。 ステップ1201ないし1206は、上で説明したステップ1101ないし1 106に類似している。第12図からわかるように、この変換の最初のステップ は、変換するブロックの組すなわち変換ストライプを識別することである(ステ ップ1201)。前に述べたように、ストライプは、個別に構成可能であり、第 8図に関して上で説明した方法のいずれかによって識別することができる。 その後、システムは、ストライプ内にパリティを記憶するための未使用ブロッ クが存在するかどうかを検証する。具体的に言うと、RAIDコントローラ40 3は、ストライプ状態テーブル501を参照してストライプ状態を判定する。状 態5または状態6のいずれかのストライプは、十分な未使用空間を有する(ステ ップ1202)。必要なPARITYブロックを記憶するのに十分な空間が変換 ストライプ内に存在しない(すなわち、ストライプが状態7である)場合には、 第11図に関して上で説明したように、データの1ブロックを解放しなければな らない。システムは、DATAブロック 内の記憶域を解放できるかどうかを判定し(ステップ1203)、できない場合 には、処理が異常終了する(ステップ1206)。適当な候補ブロックが見つか った場合、そのブロック内のデータを適宜再配置、圧縮または無視し、ブロック 自体を、パリティデータの記憶のために解放する(ステップ1204)。RAI Dコントローラ403は、ブロック状況テーブル521のブロックの状況をEM PTYに変更し、ストライプ状況を更新する(ステップ1205)。EMPTY ブロックの作成によって、ストライプ状況が状態7から状態6に変化する。この アルゴリズムは、その後、ステップ1202を繰り返す。 ストライプがすでに状態5または状態6であるか、上で述べたように状態6に 変換できる場合(ステップ1202の「yes」の分岐)には、RAIDコント ローラ403は、まず、パリティを記憶するためのブロックを選択する(ステッ プ1208)。これは、第8図に関連して上で説明した方法のいずれかによって 実行できる。しかし、DATAブロックが選択された場合には、そのブロック内 のデータを、EMPTYブロックのうちの1つに再配置しなければならない。し たがって、使用可能なEMPTYブロックを選択することが好ましい。複数のE MPTYブロックが存在する場合には、適当なアルゴリズムによって、そのよう なEMPTYブロックを選択することができる。その後、コントローラは、パリ ティの記憶のために選択されたブロック以外のストライプ内 のすべてのブロックを連続して読み取り、読み取ったブロックの累算的な排他的 論理和を生成する(ステップ1209)。累算的な排他的論理和は、一時的にR AM410に記憶される。すべてのブロックを読み終えた時に、結果の累算的な 排他的論理和がパリティになる。このパリティは、選択されたPARITYブロ ックに書き込まれる(ステップ1210)。その後、RAIDコントローラ40 3は、パリティ・ブロックの状況をPARITYに変更し、すべてのEMPTY ブロックの状況をFREEに変更し、対装置フィールド527を適宜変更するこ とによって、ブロック状況テーブル521を更新する(ステップ1211)。そ の後、コントローラは、ストライプ状態テーブル501の状況を、適宜PARI TY 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)フォーマットに変換する ことができ、逆変換することができる。ストライプのより複雑なマッピングを扱 うためには、データ・ディレタトリ・テーブルのなんらかの変更が必要になる場 合がある。 その代わりに、ブロックのうちの1つがEMPTYであり、0だけを含むこと が既知である(EMPTYブロックの内容が未知または0以外の場合には、0を ブロックに書き込んで正しい条件にすることができる)ならば、上で説明した技 法の変形を使用して、奇数個のブロックを含むストライプをRAID−1からR AID−4(5)に変換することができる。これは、たとえば、新しいDASD が既存のアレイに追加された場合にあてはまる。この場合、RAID−1に従っ て構成された1つまたは複数のブロック対と1つの空のブロックを含むように選 択されたストライプを、(a)パリティ・ブロック(空のブロックとすることが できる)を選択し、それ をPARITYブロックとして指定し、(b)選択されたブロックがCOPYブ ロックであった場合に、他のすべてのCOPYブロックおよびEMPTYブロッ クをFREEとして指定し、(c)選択されたブロックがDATAブロックであ った場合に、関連するCOPYブロックをDATAブロックとして指定し、他の すべてのCOPYブロックおよびEMPTYブロックをFREEとして指定し、 (d)選択されたブロックがEMPTYブロックであった場合に、すべてのCO PYブロックをFREEとして指定することによって、RAID−4(5)に変 換することができる。同様に、1つのブロックが対にされない状態(記憶装置の 故障に対して保護されないFREEブロックまたはDATAブロックのいずれか として)で、RAID−1に逆変換することが可能である。 本発明の好ましい実施形態によれば、ブロックのFREE、COPY、DAT AまたはEMPTYとしての指定は、RAIDコントローラによって実行される 。RAIDコントローラは、いずれもInternational Business Machines Corpor ation社が製造し配布する、IBM SSA RAID Adapter for PC Servers、PC ServeRA ID SCSI AdapterまたはAS/400 Advanced System Model 300内のDisk Unit Controllerなどのプログラム可能装置とすることができる。その代わりに 、コントローラは、状態機械、専用ハードウェアまたはASIC(特定用途向け IC)とすることができる。その代わりに、記憶サブシステムの専用RAIDコ ントローラによって実行 される機能を、コンピュータ・システムの汎用中央処理装置上で実行されるソフ トウェアによって実行することができ、この中央処理装置は、RAIDコントロ ーラ機能の他に多数のタスクを実行する。 各ブロックの個々の指定は、新しいデータをそのブロックに書き込むことがで きるかどうかを判定し、できる場合に新しいデータをread-modify-writeアルゴ リズムに従って書き込まなければならないかどうかを判定するために、好ましい 実施形態に従って実行することができる。他の指定を使用して、類似の結果を達 成することができ、各ブロックの指定は、本発明に関係しない他の目的のために も使用できることを、当業者であれば理解するであろう。 記憶装置のアレイの制御プログラムは、磁気フロッピ・ディスク、磁気テープ 、光ディスク、集積回路チップ、または、プログラム式コンピュータによって読 み取ることのできる他の記憶装置またはメモリ装置など、コンピュータ・プログ ラム製品上に記憶されるプロセッサ実行可能命令のシーケンスとして実施できる 。 好ましい実施形態によれば、RAID−1構成のブロックの組を、RAID− 4構成またはRAID−5構成に変換でき、逆変換することができる。しかし、 RAIDレベルおよび他の指定に無関係に、同様の特性を有する他の構成を使用 することができることを理解されたい。具体的に言うと、産業界の一部では、6 以上のRAIDレベルが認識されている。 通常、このようなシステムは、RAIDレベル4または5のすべての特性を有す るが、デュアル・パリティ・ブロックや追加のスペア・ブロックなどの追加機能 も有する。 第1図、第2図、第3図、第9図、第10図および第13図に、各装置に比較 的少数のブロックが含まれる記憶装置のアレイを示した。この少ない数は、例示 を簡単にする目的のみのために選択されたものであり、本発明を特定の数に制限 するものと解釈してはならない。少数のブロックを使用して本発明を実施するこ とが可能であるが、記憶装置のアレイのほとんどが、各記憶装置にはるかに多数 のブロックを有することを、当業者であれば理解するであろう。 本明細書で図示され、詳細に説明された、あるフォーマットに従うストライプ を別のフォーマットに従うストライプに変換するための特定のシステムおよび方 法は、上で説明した本発明の目的を達成することが完全に可能であるが、これは 本発明の好ましい実施形態であり、したがって、本発明によって広く予期される 内容を表すものであり、本発明の範囲は、当業者に明白になるであろう他の実施 形態を完全に包含し、本発明の範囲は、請求項のみによって制限されることを理 解されたい。
【手続補正書】特許法第184条の8第1項 【提出日】平成10年9月23日(1998.9.23) 【補正内容】 請求の範囲 1.複数のデータ記憶装置に記憶された第1メモリ構造を前記複数のデータ記憶 装置に記憶された第2メモリ構造に変換するための方法において、 (a)各ブロックが前記複数のデータ記憶装置の異なるそれぞれの1つに記憶 され、前記ブロックの組が複数のブロック対を含み、各それぞれの対の両方のブ ロックが同一のデータを含む、変換されるデータのブロックの組を識別するステ ップと、 (b)前記組の第1ブロックを選択するステップと、 (c)前記第1ブロックに含まれるデータを変更せずに、パリティ・ブロック として前記第1ブロックを指定するステップと、 (d)前記第1ブロックを含まない前記組のブロックの各対からそれぞれのブ ロックを選択するステップと、 (e)置換データの記憶に使用可能として、前記第1ブロックを含まない前記 組のブロックの各対から選択された各それぞれのブロックを指定するステップと を含む方法。 2.前記ブロックの組が、各それぞれのブロックがそれぞれのデータ記憶装置の 同一アドレスに記憶されるストライプを含む、請求項1に記載の第1メモリ構造 を第2メモリ構造に 変換するための方法。 3.各前記データ記憶装置が、複数の前記ブロックを記憶し、前記複数のデータ 記憶装置が、複数の前記ブロックの組を含み、 データのブロックの第1組を、前記第1メモリ構造から前記第2メモリ構造へ 変換でき、それと同時に、ブロックの第2組が、前記第1メモリ構造に従って構 成されたままになる 請求項1に記載の第1メモリ構造を第2メモリ構造に変換するための方法。 4.ブロックの各組を、前記第1メモリ構造から前記第2メモリ構造へ個別に独 立に変換することができる、請求項3に記載の第1メモリ構造を第2メモリ構造 に変換するための方法。 5.前記第1メモリ構造が、RAID−1に従って構成されたブロックの組であ り、前記第2メモリ構造が、RAID−4およびRAID−5からなる組のうち の1つに従って構成されたブロックの組である、請求項1に記載の第1メモリ構 造を第2メモリ構造に変換するための方法。 6.第1メモリ構造が、複数のCOPYブロックおよびDATAブロックを含み 、各COPYブロックが、関連するDATAブロックのコピーであり、各COP Yブロックが、前記関連するDATAブロックが記憶されるDASDと異なるD ASDに記憶され、第2メモリ構造が、パリティ・ブロックとパリティ保護され たブロックの組とを含み、各パリティ保 護されたブロックが、パリティ・ブロックおよび他のパリティ保護されたブロッ クのそれぞれと異なるDASDに記憶され、 前記第1ブロックがCOPYブロックの場合に、前記第1ブロックを含まない 前記組のブロックの各対から選択された各それぞれのブロックを置換データの記 憶のために使用可能と指定する前記ステップが、各他のCOPYブロックをFR EEブロックと指定するステップを含み、 前記第1ブロックがDATAブロックの場合に、前記第1ブロックを含まない 前記組のブロックの各対から選択された各それぞれのブロックを置換データの記 憶のために使用可能と指定する前記ステップが、(1)第1ブロックに関連する COPYブロックをDATAブロックとして指定するステップと、(2)各他の COPYブロックをFREEブロックとして指定するステップとを含む 請求項1に記載の第1メモリ構造を第2メモリ構造に変換するための方法。 7.前記データ記憶装置が、回転式磁気ハード・ディスク駆動装置である、請求 項1に記載の第1メモリ構造を第2メモリ構造に変換するための方法。 8.複数のデータ記憶装置と、 前記複数のデータ記憶装置に記憶された第1メモリ構造を前記複数のデータ記 憶装置に記憶された第2メモリ構造に変換するための制御プログラムを実行する 、前記複数のデータ 記憶装置の動作を制御するためのプログラム式プロセッサと を含むデータ記憶システムであって、 前記制御プログラムが、前記データ記憶システムのための状況情報を維持し、 前記制御プログラムが、変換されるデータのブロックの組の各ブロックが前記 複数のデータ記憶装置の異なるそれぞれの1つに記憶され、前記組が複数のブロ ック対を含み、各それぞれの対の両方のブロックが同一のデータを含む、変換さ れるデータのブロックの組の識別に応答して、 (a)前記第1ブロックに含まれるデータを変更せずに、前記ブロックの組の 第1ブロックをパリティ・ブロックとして指定するために前記状況情報を更新し 、 (b)前記第1ブロックを含まない前記組のブロックの各対からのそれぞれの ブロックを、置換データの記憶に使用可能として指定するために前記状況情報を 更新する 前記データ記憶システム。 9.前記プログラム式プロセッサが、ホスト・コンピュータ・システムに取り付 けるためのコントローラに含まれ、前記コントローラが、前記状況情報を含むた めのランダム・アクセス・メモリを含む、請求項8に記載のデータ記憶システム 。 10.前記第1メモリ構造が、RAID−1に従って構成されたブロックの組で あり、前記第2メモリ構造が、RAID−4およびRAID−5からなる組のう ちの1つに従って構成されたブロックの組である、請求項8に記載のデータ記憶 システム。 11.前記データ記憶装置が、回転式磁気ハード・ディスク駆動装置である、請 求項8に記載のデータ記憶システム。 12.前記ブロックの組が、各それぞれのブロックがそれぞれのデータ記憶装置 の同一アドレスに記憶されるストライプを含む、請求項8に記載のデータ記憶シ ステム。 13.各前記データ記憶装置が、複数の前記ブロックを記憶し、前記複数のデー タ記憶装置が、複数の前記ブロックの組を含み、 前記制御プログラムが、ブロックの第1の組を前記第1メモリ構造から前記第 2メモリ構造へ変換し、これと同時に、ブロックの第2の組が、前記第1メモリ 構造に従って構成されたままになる 請求項8に記載のデータ記憶システム。 14.前記制御プログラムが、ブロックの各組を前記第1メモリ構造から前記第 2メモリ構造へ個別に独立に変換する能力を有する、請求項13に記載のデータ 記憶システム。 15.前記制御プログラムが、前記第1メモリ構造から前記第2メモリ構造に変 換されるデータのブロックの組の識別に応答して、前記第1ブロックを自動的に 選択する、請求項8に記載のデータ記憶システム。 16.データ記憶システムを制御するためのコントローラであって、前記データ 記憶システムが、データを記憶するための複数のデータ記憶装置を含み、前記コ ントローラが、 前記複数のデータ記憶装置に記憶された第1メモリ構造を前記複数のデータ記 憶装置に記憶された第2メモリ構造に変換するための制御プログラムを実行する 、前記複数のデータ記憶装置の動作を制御するためのプログラム式プロセッサと 、 前記制御プログラムによって維持される状況情報を含むためのランダム・アク セス・メモリと を含み、前記制御プログラムが、データのブロックの組の各ブロックが前記複 数のデータ記憶装置のうちの異なるそれそれの1つに記憶され、前記組が複数の ブロック対を含み、各それぞれの対の両方のブロックが同一のデータを含む、変 換される前記データのブロックの組の識別に応答して、 (a)前記第1ブロックに含まれるデータを変更せずに、前記ブロックの組の 第1ブロックをパリティ・ブロックとして指定するために前記状況情報を更新し 、 (b)前記第1ブロックを含まない前記組のブロックの各対からのそれぞれの ブロックを、置換データの記憶のために使用可能として指定するために前記状況 情報を更新する 前記コントローラ。 17.前記第1メモリ構造が、RAID−1に従って構成されたブロックの組で あり、前記第2メモリ構造が、RAID−4およびRAID−5からなる組のう ちの1つに従って構成されたブロックの組である、請求項16に記載のデータ記 憶システムを制御するためのコントローラ。 18.各前記データ記憶装置が、複数の前記ブロックを記憶 し、前記複数のデータ記憶装置が、複数の前記ブロックの組を含み、 前記制御プログラムが、ブロックの第1の組を前記第1メモリ構造から前記第 2メモリ構造へ変換し、これと同時に、ブロックの第2の組が、前記第1メモリ 構造に従って構成されたままになる 請求項16に記載のデータ記憶システムを制御するためのコントローラ。 19.前記制御プログラムが、ブロックの各組を前記第1メモリ構造から前記第 2メモリ構造へ個別に独立に変換する能力を有する、請求項18に記載のデータ 記憶システムを制御するためのコントローラ。 20.ディジタル処理装置によって読み取ることができ、データ記憶システムを 制御するために前記ディジタル処理装置によって実行可能な命令の制御プログラ ムを具体的に実施するプログラム記憶装置であって、前記データ記憶システムが 、データを記憶するための複数のデータ記憶装置を有し、前記プログラムが、第 1メモリ構造を第2メモリ構造に変換するための方法ステップを実行し、前記方 法ステップが、 (a)データのブロックの組の各ブロックが、前記複数のデータ記憶装置のう ちの異なるそれぞれの1つに記憶され、前記組が複数のブロック対を含み、各そ れぞれの対の両方のブロックが同一のデータを含む、変換されるデータのブロッ クの組の識別を受け取るステップと (b)前記第1ブロックに含まれるデータを変更せずに、前記ブロックの組の 第1ブロックをパリティ・ブロックとして指定するために状況情報を更新するス テップと、 (c)前記第1ブロックを含まない前記組のブロックの各対からのそれぞれの ブロックを、置換データの記憶に使用可能として指定するために前記状況情報を 更新するステップと を含む、前記プログラム記憶装置。 21.前記第1メモリ構造が、RAID−1に従って構成されたブロックの組で あり、前記第2メモリ構造が、RAID−4およびRAID−5からなる組のう ちの1つに従って構成されたブロックの組である、請求項20に記載のプログラ ム記憶装置。 22.各前記データ記憶装置が、複数の前記ブロックを記憶し、前記複数のデー タ記憶装置が、複数の前記ブロックの組を含み、 前記制御プログラムが、データのブロックの第1の組を前記第1メモリ構造か ら前記第2メモリ構造へ変換し、それと同時に、ブロックの第2の組が、前記第 1メモリ構造に従って構成されたままになる 請求項20に記載のプログラム記憶装置。 23.複数のデータ記憶装置に記憶された第1メモリ構造を前記複数のデータ記 憶装置に記憶された第2メモリ構造に変換するための方法において、 (a)データのブロックの組の各ブロックが、前記複数の データ記憶装置のうちの異なるそれぞれの1つに記憶され、前記組がデータを含 む複数のブロックと前記データを含む複数のブロックから導出されたパリティを 含む第1ブロックとを含む、変換されるデータのブロックの組を識別するステッ プと、 (b)前記第1ブロックに含まれるデータを変更せずに、前記データを含む複 数のブロックのうちの第1のブロックに含まれるデータのコピーを含むために前 記パリティを含むブロックを選択するステップと、 (c)前記パリティ・ブロック以外のデータの少なくとも1つのブロックを有 する、データのブロックの前記組の第1サブセットを、前記複数のデータのブロ ックのうちの前記第1ブロック以外のデータの少なくとも1つのブロックを有す る、データのブロックの前記組の第2サブセットに含まれるデータのコピーを含 むために、前記第2サブセットに含まれるデータを変更せずに、選択するステッ プと、 (d)前記組の別のそれぞれのブロックに含まれるデータのコピーの記憶のた めに使用可能として、前記組から選択された各それぞれのブロックを指定するス テップと を含む、前記方法。 24.複数のデータ記憶装置と、 データ記憶システムの動作を制御するための制御プログラムを実行する、前記 複数のデータ記憶装置の動作を制御するためのプログラム式プロセッサと を含み、 前記複数のデータ記憶装置のデータが、ブロックの複数の組に編成され、組の 各ブロックが、前記複数のデータ記憶装置のうちの異なるそれぞれの1つに記憶 され、 前記制御プログラムが、複数の異なるメモリ構造に従う前記ブロックの組のフ ォーマッティングをサポートし、前記メモリ構造のうちの少なくとも1つが、冗 長データ・フォーマットであり、ブロックの第1組とブロックの第2組とが、互 いに独立にフォーマット可能であり、 前記制御プログラムによって維持される状況情報を記憶するためのランダム・ アクセス・メモリを含み、前記状況情報が、各ブロックのそれぞれのブロック状 況と、前記ブロックの第1組と前記ブロックの第2組との別々のそれぞれの組の 状況とを含み、前記組状況情報が、ブロックの各それぞれの組がそれに従って構 成されるメモリ構造の識別を含み、 前記制御プログラムが、第1メモリ構造から第2メモリ構造に変換されるデー タのブロックの組の識別に応答して、 (a)変換されるブロックの前記組のブロックのブロック状況情報を更新し、 (b)前記ブロックの組の組状況情報を、前記組を前記第2メモリ構造に従っ て構成されたものとして識別するために更新する 前記データ記憶システム。 25.前記第1メモリ構造が、RAID−1に従って構成さ れたブロックの組であり、前記第2メモリ構造が、RAID−4およびRAID −5からなる組のうちの1つに従って構成されたブロックの組である、請求項2 4に記載のデータ記憶システム。 26.各前記ブロックの組が、各それぞれのブロックがそれぞれのデータ記憶装 置の同一アドレスに記憶されるストライプを含む、請求項24に記載のデータ記 憶システム。 27.前記状況情報が、前記複数のブロックの組の各それぞれの組の別々のそれ ぞれの組の状況を含み、前記複数のブロックの組のブロックの組のそれぞれが、 前記複数のブロックの組の他のブロックの組から独立に、個別に、それぞれのメ モリ構造に従って構成可能である、請求項24に記載のデータ記憶システム。
───────────────────────────────────────────────────── 【要約の続き】 TYブロック(806ないし807)として指定し、い くつかの状況情報(808ないし812)を変更するこ とによって、パリティ保護された状態に変換される。こ の場合、データの移動は不要である。非冗長ストライプ またはパリティ保護されたストライプをミラーリングさ れたストライプ(1102ないし1112、1202な いし1212)に変換することも可能である。

Claims (1)

  1. 【特許請求の範囲】 1.複数のデータ記憶装置に記憶された第1メモリ構造を前記複数のデータ記憶 装置に記憶された第2メモリ構造に変換するための方法において、 (a)各ブロックが前記複数のデータ記憶装置の異なるそれぞれの1つに記憶 され、前記ブロックの組が複数のブロック対を含み、各それぞれの対の両方のブ ロックが同一のデータを含む、変換されるデータのブロックの組を識別するステ ップと、 (b)前記組の第1ブロックを選択するステップと、 (c)パリティ・ブロックとして前記第1ブロックを指定するステップと、 (d)前記第1ブロックを含まない前記組のブロックの各対からそれぞれのブ ロックを選択するステップと、 (e)置換データの記憶に使用可能として、前記第1ブロックを含まない前記 組のブロックの各対から選択された各それぞれのブロックを指定するステップと を含む方法。 2.前記ブロックの組が、各それぞれのブロックがそれぞれのデータ記憶装置の 同一アドレスに記憶されるストライプを含む、請求項1に記載の第1メモリ構造 を第2メモリ構造に変換するための方法。 3.各前記データ記憶装置が、複数の前記ブロックを記憶し、 前記複数のデータ記憶装置が、複数の前記ブロックの組を含み、 データのブロックの第1組を、前記第1メモリ構造から前記第2メモリ構造へ 変換でき、それと同時に、ブロックの第2組が、前記第1メモリ構造に従って構 成されたままになる 請求項1に記載の第1メモリ構造を第2メモリ構造に変換するための方法。 4.ブロックの各組を、前記第1メモリ構造から前記第2メモリ構造へ個別に独 立に変換することができる、請求項3に記載の第1メモリ構造を第2メモリ構造 に変換するための方法。 5.前記第1メモリ構造が、RAID−1に従って構成されたブロックの組であ り、前記第2メモリ構造が、RAID−4およびRAID−5からなる組のうち の1つに従って構成されたブロックの組である、請求項1に記載の第1メモリ構 造を第2メモリ構造に変換するための方法。 6.第1メモリ構造が、複数のCOPYブロックおよびDATAブロックを含み 、各COPYブロックが、関連するDATAブロックのコピーであり、各COP Yブロックが、前記関連するDATAブロックが記憶されるDASDと異なるD ASDに記憶され、第2メモリ構造が、パリティ・ブロックとパリティ保護され たブロックの組とを含み、各パリティ保護されたブロックが、パリティ・ブロッ クおよび他のパリティ保護されたブロックのそれぞれと異なるDASDに記憶さ れ、 前記第1ブロックがCOPYブロックの場合に、前記第1ブロックを含まない 前記組のブロックの各対から選択された各それぞれのブロックを置換データの記 憶のために使用可能と指定する前記ステップが、各他のCOPYブロックをFR EEブロックと指定するステップを含み、 前記第1ブロックがDATAブロックの場合に、前記第1ブロックを含まない 前記組のブロックの各対から選択された各それぞれのブロックを置換データの記 憶のために使用可能と指定する前記ステップが、(1)第1ブロックに関連する COPYブロックをDATAブロックとして指定するステップと、(2)各他の COPYブロックをFREEブロックとして指定するステップとを含む 請求項1に記載の第1メモリ構造を第2メモリ構造に変換するための方法。 7.前記データ記憶装置が、回転式磁気ハード・ディスク駆動装置である、請求 項1に記載の第1メモリ構造を第2メモリ構造に変換するための方法。 8.複数のデータ記憶装置と、 前記複数のデータ記憶装置に記憶された第1メモリ構造を前記複数のデータ記 憶装置に記憶された第2メモリ構造に変換するための制御プログラムを実行する 、前記複数のデータ記憶装置の動作を制御するためのプログラム式プロセッサと を含むデータ記憶システムであって、 前記制御プログラムが、前記データ記憶システムのための状況情報を維持し、 前記制御プログラムが、変換されるデータのブロックの組の各ブロックが前記 複数の記憶装置の異なるそれぞれの1つに記憶され、前記組が複数のブロック対 を含み、各それぞれの対の両方のブロックが同一のデータを含む、前記変換され るデータのブロックの前記組の識別に応答して、 (a)前記ブロックの組の第1ブロックをパリティ・ブロックとして指定する ために前記状況情報を更新し、 (b)前記第1ブロックを含まない前記組のブロックの各対からのそれぞれの ブロックを、置換データの記憶に使用可能として指定するために前記状況情報を 更新する 前記データ記憶システム。 9.前記プログラム式プロセッサが、ホスト・コンピュータ・システムに取り付 けるためのコントローラに含まれ、前記コントローラが、前記状況情報を含むた めのランダム・アクセス・メモリを含む、請求項8に記載のデータ記憶システム 。 10.前記第1メモリ構造が、RAID−1に従って構成されたブロックの組で あり、前記第2メモリ構造が、RAID−4およびRAID−5からなる組のう ちの1つに従って構成されたブロックの組である、請求項8に記載のデータ記憶 システム。 11.前記データ記憶装置が、回転式磁気ハード・ディスク駆動装置である、請 求項8に記載のデータ記憶システム。 12.前記ブロックの組が、各それぞれのブロックがそれぞれのデータ記憶装置 の同一アドレスに記憶されるストライプを含む、請求項8に記載のデータ記憶シ ステム。 13.各前記データ記憶装置が、複数の前記ブロックを記憶し、前記複数のデー タ記憶装置が、複数の前記ブロックの組を含み、 前記制御プログラムが、ブロックの第1の組を前記第1メモリ構造から前記第 2メモリ構造へ変換し、これと同時に、ブロックの第2の組が、前記第1メモリ 構造に従って構成されたままになる 請求項8に記載のデータ記憶システム。 14.前記制御プログラムが、ブロックの各組を前記第1メモリ構造から前記第 2メモリ構造へ個別に独立に変換する能力を有する、請求項13に記載のデータ 記憶システム。 15.前記制御プログラムが、前記第1メモリ構造から前記第2メモリ構造へ変 換されるデータのブロックの組の識別に応答して、前記第1ブロックを自動的に 選択する、請求項8に記載のデータ記憶システム。 16.データ記憶システムを制御するためのコントローラであって、前記データ 記憶システムが、データを記憶するための複数のデータ記憶装置を含み、前記コ ントローラが、 前記複数のデータ記憶装置に記憶された第1メモリ構造を前記複数のデータ記 憶装置に記憶された第2メモリ構造に変換するための制御プログラムを実行する 、前記複数のデータ 記憶装置の動作を制御するためのプログラム式プロセッサと、 前記制御プログラムによって維持される状況情報を含むためのランダム・アク セス・メモリと を含み、前記制御プログラムが、データのブロックの組の各ブロックが前記複 数のデータ記憶装置のうちの異なるそれぞれの1つに記憶され、前記組が複数の ブロック対を含み、各それぞれの対の両方のブロックが同一のデータを含む、変 換されるデータのブロックの組の識別に応答して、 (a)前記ブロックの組の第1ブロックをパリティ・ブロックとして指定する ために前記状況情報を更新し、 (b)前記第1ブロックを含まない前記組のブロックの各対からのそれぞれの ブロックを、置換データの記憶のために使用可能として指定するために前記状況 情報を更新する 前記コントローラ。 17.前記第1メモリ構造が、RAID−1に従って構成されたブロックの組で あり、前記第2メモリ構造が、RAID−4およびRAID−5からなる組のう ちの1つに従って構成されたブロックの組である、請求項16に記載のデータ記 憶システムを制御するためのコントローラ。 18.各前記データ記憶装置が、複数の前記ブロックを記憶し、前記複数のデー タ記憶装置が、複数の前記ブロックの組を含み、 前記制御プログラムが、ブロックの第1の組を前記第1メモリ構造から前記第 2メモリ構造へ変換し、これと同時に、 ブロックの第2の組が、前記第1メモリ構造に従って構成されたままになる 請求項16に記載のデータ記憶システムを制御するためのコントローラ。 19.前記制御プログラムが、ブロックの各組を前記第1メモリ構造から前記第 2メモリ構造へ個別に独立に変換する能力を有する、請求項18に記載のデータ 記憶システムを制御するためのコントローラ。 20.ディジタル処理装置によって読み取ることができ、データ記憶システムを 制御するために前記ディジタル処理装置によって実行可能な命令の制御プログラ ムを具体的に実施するプログラム記憶装置であって、前記データ記憶システムが 、データを記憶するための複数のデータ記憶装置を有し、前記プログラムが、第 1メモリ構造を第2メモリ構造に変換するための方法ステップを実行し、前記方 法ステップが、 (a)前記第1メモリ構造から前記第2メモリ構造に変換されるデータのブロ ックの組の各ブロックが、前記複数のデータ記憶装置のうちの異なるそれぞれの 1つに記憶され、前記組が複数のブロック対を含み、各それぞれの対の両方のブ ロックが同一のデータを含む、変換されるデータのブロックの組の識別を受け取 るステップと (b)前記ブロックの組の第1ブロックをパリティ・ブロックとして指定する ために状況情報を更新するステップと、 (c)前記第1ブロックを含まない前記組のブロックの各 対からのそれぞれのブロックを、置換データの記憶に使用可能として指定するた めに前記状況情報を更新するステップと を含む、前記プログラム記憶装置。 21.前記第1メモリ構造が、RAID−1に従って構成されたブロックの組で あり、前記第2メモリ構造が、RAID−4およびRAID−5からなる組のう ちの1つに従って構成されたブロックの組である、請求項20に記載のプログラ ム記憶装置。 22.各前記データ記憶装置が、複数の前記ブロックを記憶し、前記複数のデー タ記憶装置が、複数の前記ブロックの組を含み、 前記制御プログラムが、データのブロックの第1の組を前記第1メモリ構造か ら前記第2メモリ構造へ変換し、それと同時に、ブロックの第2の組が、前記第 1メモリ構造に従って構成されたままになる 請求項20に記載のプログラム記憶装置。 23.複数のデータ記憶装置に記憶された第1メモリ構造を前記複数のデータ記 憶装置に記憶された第2メモリ構造に変換するための方法において、 (a)データのブロックの組の各ブロックが、前記複数のデータ記憶装置のう ちの異なるそれぞれの1つに記憶され、前記組がデータを含む複数のブロックと 前記データを含む複数のブロックから導出されたパリティを含む第1ブロックと を含む、変換されるデータのブロックの組を識別するステッ プと、 (b)前記データを含む複数のブロックのうちの第1のブロックに含まれるデ ータのコピーを含むために前記パリティを含むブロックを選択するステップと、 (c)前記データを含む組のうちの少なくとも1つのブロックに含まれるデー タのコピーを含むために、前記ブロックの組のうちの少なくとも1つの他のブロ ックを選択するステップと、 (d)前記組の別のそれぞれのブロックに含まれるデータのコピーの記憶のた めに使用可能として、前記組から選択された各それぞれのブロックを指定するス テップと を含む、前記方法。 24.複数のデータ記憶装置と、 データ記憶システムの動作を制御するための制御プログラムを実行する、前記 複数のデータ記憶装置の動作を制御するためのプログラム式プロセッサと を含み、 前記複数のデータ記憶装置のデータが、ブロックの複数の組に編成され、組の 各ブロックが、前記複数のデータ記憶装置のうちの異なるそれぞれの1つに記憶 され、 前記制御プログラムが、複数の異なるメモリ構造に従う前記ブロックの組のフ ォーマッティングをサポートし、前記メモリ構造のうちの少なくとも1つが、冗 長データ・フォーマットであり、ブロックの第1組とブロックの第2組とが、互 いに独立にフォーマット可能であり、 前記制御プログラムによって維持される状況情報を記憶するためのランダム・ アクセス・メモリを含み、前記状況情報が、各ブロックのそれぞれのブロック状 況と、前記ブロックの第1組と前記ブロックの第2組との別々のそれぞれの組の 状況とを含み、前記組状況情報が、ブロックの各それぞれの組がそれに従って構 成されるメモリ構造の識別を含み、 前記制御プログラムが、第1メモリ構造から第2メモリ構造に変換されるデー タのブロックの組の識別に応答して、 (a)変換されるブロックの前記組のブロックのブロック状況情報を更新し、 (b)前記ブロックの組の組状況情報を、前記組を前記第2メモリ構造に従っ て構成されたものとして識別するために更新する 前記データ記憶システム。 25.前記第1メモリ構造が、RATD−1に従って構成されたブロックの組で あり、前記第2メモリ構造が、RAID−4およびRAID−5からなる組のう ちの1つに従って構成されたブロックの組である、請求項24に記載のデータ記 憶システム。 26.各前記ブロックの組が、各それぞれのブロックがそれぞれのデータ記憶装 置の同一アドレスに記憶されるストライプを含む、請求項24に記載のデータ記 憶システム。 27.前記状況情報が、前記複数のブロックの組の各それぞ れの組の別々のそれぞれの組の状況を含み、前記複数のブロックの組のブロック の組のそれぞれが、前記複数のブロックの組の他のブロックの組から独立に、個 別に、それぞれのメモリ構造に従って構成可能である、請求項24に記載のデー タ記憶システム。
JP53760498A 1997-02-27 1997-05-28 階層記憶管理システムのための変換式raid Expired - Lifetime JP3266277B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/805,652 1997-02-27
US08/805,652 US5960169A (en) 1997-02-27 1997-02-27 Transformational raid for hierarchical storage management system
US805,652 1997-02-27
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 true JP2000511318A (ja) 2000-08-29
JP3266277B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198263A (ja) * 2009-02-25 2010-09-09 Fujitsu Ltd データ診断装置、データ診断方法及びデータ診断プログラム

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0986000B1 (en) * 1996-09-20 2006-01-04 Hitachi, Ltd. Disk array subsystem
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
US7143249B2 (en) * 2000-10-04 2006-11-28 Network Appliance, Inc. Resynchronization of mirrored 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
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
AU2003231951A1 (en) * 2002-05-31 2003-12-19 Fujitsu It Holdings, Inc. Method and system for intelligent storage management
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
JP2005538469A (ja) * 2002-09-10 2005-12-15 イグザグリッド システムズ, インコーポレイテッド 階層型格納管理を用いるサーバシェア移送およびサーバ回復のための方法および装置
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
CN100409164C (zh) * 2003-07-07 2008-08-06 日立超大规模集成电路系统株式会社 存储系统
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
CN100343825C (zh) * 2004-01-05 2007-10-17 华为技术有限公司 一种处理流媒体数据的方法
US7100073B2 (en) * 2004-01-05 2006-08-29 International Business Machines Corporation Grouped-object RAID
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 ディスクアレイ装置
US8131926B2 (en) * 2004-10-20 2012-03-06 Seagate Technology, Llc Generic storage container for allocating multiple data formats
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 北京织女星网格技术有限公司 基于轻量计算的数据重组方法
US8131969B2 (en) * 2004-10-20 2012-03-06 Seagate Technology Llc Updating system configuration information
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 信越ポリマー株式会社 キーフレームおよび押釦スイッチ用カバー部材
CN100414489C (zh) * 2005-09-02 2008-08-27 普安科技股份有限公司 存储虚拟化控制器的同位引擎及同位引擎产生数据的方法
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
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
US7653783B2 (en) * 2005-10-07 2010-01-26 Agere Systems Inc. Ping-pong state machine for 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
CN101460928B (zh) * 2006-04-11 2012-02-08 因文西斯系统公司 简化安装替代性现场设备的方法和支持性配置用户界面
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
WO2008049102A2 (en) * 2006-10-19 2008-04-24 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
US8429352B2 (en) * 2007-06-08 2013-04-23 Sandisk Technologies Inc. Method and system for memory block flushing
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
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
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling 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
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations 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
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
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
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
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
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US9811455B2 (en) * 2013-03-15 2017-11-07 The Boeing Company Accessing different types of memory by respective distinct command with different timing requirements
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9971524B1 (en) 2013-03-15 2018-05-15 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
US9842024B1 (en) 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
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
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9104597B2 (en) 2013-04-16 2015-08-11 International Business Machines Corporation Destaging cache data using a distributed freezer
US9298617B2 (en) 2013-04-16 2016-03-29 International Business Machines Corporation Parallel destaging with replicated cache pinning
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
US9619404B2 (en) 2013-04-16 2017-04-11 International Business Machines Corporation Backup cache with immediate availability
US9298398B2 (en) * 2013-04-16 2016-03-29 International Business Machines Corporation Fine-grained control of data placement
US9329938B2 (en) 2013-04-16 2016-05-03 International Business Machines Corporation Essential metadata replication
US9423981B2 (en) 2013-04-16 2016-08-23 International Business Machines Corporation Logical region allocation with immediate availability
KR20140124674A (ko) * 2013-04-17 2014-10-27 한국전자통신연구원 파일 수준의 데이터 분산 저장 방법
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
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加入镜像结构的阵列构建方法及读写系统
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
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
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)

* Cited by examiner, † Cited by third party
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
US5412668A (en) * 1994-09-22 1995-05-02 International Business Machines Corporation Parity striping feature for optical disks
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
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198263A (ja) * 2009-02-25 2010-09-09 Fujitsu Ltd データ診断装置、データ診断方法及びデータ診断プログラム

Also Published As

Publication number Publication date
WO1998038568A1 (en) 1998-09-03
CN1247608A (zh) 2000-03-15
JP3266277B2 (ja) 2002-03-18
TW436689B (en) 2001-05-28
KR20000070207A (ko) 2000-11-25
US5960169A (en) 1999-09-28
CN1191518C (zh) 2005-03-02
KR100321843B1 (ko) 2002-02-02

Similar Documents

Publication Publication Date Title
JP2000511318A (ja) 階層記憶管理システムのための変換式raid
US5258984A (en) Method and means for distributed sparing in DASD arrays
US7386758B2 (en) Method and apparatus for reconstructing data in object-based storage arrays
US7281089B2 (en) System and method for reorganizing data in a raid storage system
JP3505093B2 (ja) ファイル管理システム
JP2769443B2 (ja) 記憶サブシステム及び関連する装置/方法
US5881311A (en) Data storage subsystem with block based data management
US9405627B2 (en) Flexible data storage system
JP3177242B2 (ja) データ記憶装置における書込みオペレーション識別子の不揮発性メモリ記憶
US5375128A (en) Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders
JP3170455B2 (ja) データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム
US9104342B2 (en) Two stage checksummed raid storage model
US20040044705A1 (en) Optimized disk repository for the storage and retrieval of mostly sequential data
JPH0619632A (ja) コンピユータ・システムのストレージ装置及びデータのストア方法
US7346733B2 (en) Storage apparatus, system and method using a plurality of object-based storage devices
WO2016017002A1 (ja) ストレージシステム
US20060109792A1 (en) Apparatus and method to check data integrity when handling data
US7240237B2 (en) Method and system for high bandwidth fault tolerance in a storage subsystem
US20200183605A1 (en) Extent based raid encoding
JP4884721B2 (ja) 記憶装置のフォーマットを不要としたストレージシステム及び記憶制御方法
JP2008135055A (ja) 計算機システムおよび二次記憶装置
JP2004094429A (ja) ディスクアレイ装置及び同装置におけるレイドレベル変更方法
KR19980047273A (ko) 레이드 레벨 5 시스템에서 캐쉬 관리 방법
JP2006294052A (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