JP2005293363A - ディスクアレイコントローラおよび情報処理装置 - Google Patents

ディスクアレイコントローラおよび情報処理装置 Download PDF

Info

Publication number
JP2005293363A
JP2005293363A JP2004109172A JP2004109172A JP2005293363A JP 2005293363 A JP2005293363 A JP 2005293363A JP 2004109172 A JP2004109172 A JP 2004109172A JP 2004109172 A JP2004109172 A JP 2004109172A JP 2005293363 A JP2005293363 A JP 2005293363A
Authority
JP
Japan
Prior art keywords
error
data block
disk array
read
relocation
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.)
Withdrawn
Application number
JP2004109172A
Other languages
English (en)
Inventor
Kazuyuki Tanaka
和幸 田中
Takehiko Kurashige
剛彦 蔵重
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004109172A priority Critical patent/JP2005293363A/ja
Priority to US11/087,635 priority patent/US20050229033A1/en
Publication of JP2005293363A publication Critical patent/JP2005293363A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/109Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】ディスクアレイのレベル変更処理や容量拡張処理時にメディアエラーが発生しても、レベル変更処理や容量拡張処理を中止せずに継続して実行可能にする。
【解決手段】ディスクアレイコントローラ30は、ディスクアレイ20に記憶された複数のデータブロックを再配置してディスクアレイ20の冗長レベルを変更する機能を有する。ディスクアレイコントローラ30においては、再配置対象のデータブロックがディスクアレイ20から読み出される。この読み出し時にはメディアエラーが発生したか否かが判別される。メディアエラーが発生した場合、再配置対象のデータブロックに対応する転送先位置に対して、当該転送先位置のリードアクセスに応答してメディアエラーの発生を引き起こすエラー情報が設定される。
【選択図】 図1

Description

本発明は、RAID(Redundant Array of Inexpensive Disks、またはRedundant Array of Independent Disks)のような冗長化されたディスクアレイを制御するディスクアレイコントローラおよび情報処理装置に関する。
近年、サーバコンピュータ、パーソナルコンピュータのような情報処理装置においては、ディスクアクセス速度の向上、記憶データの保護を図るために、RAIDのような冗長化されたディスクアレイが利用されている。RAIDにおいては、たとえばRAID0、RAID1、RAID5のような幾つかの冗長レベル(RAIDレベル)が定義されている。
RAIDコントローラの多くは、障害が発生したディスクアレイを障害発生前の状態に復元するためのリビルド(Rebuild)機能を有している。このリビルド機能は、障害が発生したディスクドライブに記憶されていたデータの内容を、他のディスクドライブに記憶されているデータの内容を用いて復元する機能である。特許文献1には、リビルド機能を有するディスク制御装置が開示されている。
特開平10−40022号公報
また最近のRAIDコントローラにおいては、リビルド機能のような障害対策用機能のみならず、ディスクアレイの冗長レベル(RAIDレベル)の変更や記憶容量の拡張を行うための機能の実現が必要とされている。
ディスクアレイの冗長レベル(RAIDレベル)を変更するレベル変更処理や、記憶容量を拡張する容量拡張処理を行うためには、ディスクアレイに記憶されているデータブロック群を再配置することが必要である。
しかし、もし再配置対象のいずれかのデータブロックが記憶されているディスクアレイ上の記憶位置にメディアエラーがあると、レベル変更処理や、容量拡張処理は、実行することが出来ない。ここで、メディアエラーとは、リードリトライを所定回数繰り返してもデータをディスクドライブから正常にリードできないエラーを意味する。
このようなエラーのある記憶位置からは再配置対象のデータブロックを読み出すことができないので、その再配置対象のデータブロックを移動すべき転送先位置におけるデータの内容を保証することができなくなる。したがって、レベル変更処理や、容量拡張処理においては、もし再配置対象のデータブロックの読み出し時にエラーの発生が検出されると、その時点で処理を中止することが必要となる。もし中止しなければ、レベル変更後や容量拡張後において、データブロックを移動できなかった転送先位置がホストからリード要求された場合に、ディスクアレイから誤った値のデータがホストに転送されてしまう危険があるためである。
本発明は上記事情を考慮してなされたものであり、レベル変更処理や容量拡張処理中にメディアエラーのようなエラーが発生しても、レベル変更処理や容量拡張処理を中止せずに継続して実行することが可能なディスクアレイコントローラおよび情報処理装置を提供することを目的とする。
上述の課題を解決するため、本発明は、ディスクアレイに記憶された複数のデータブロックを再配置して前記ディスクアレイの冗長レベルを変更する機能を有するディスクアレイコントローラであって、前記再配置対象のデータブロックを前記ディスクアレイから読み出す読出手段と、前記読出手段により読み出される前記再配置対象のデータブロックにエラーが発生したか否かを判別する判別手段と、前記判別手段により前記再配置対象のデータブロックに前記エラーが発生しなかったと判断された場合、前記読出手段により読み出された前記再配置対象のデータブロックを、当該再配置対象のデータブロックに対応する前記ディスクアレイ上の再配置先位置に書き込む手段と、前記判別手段により前記再配置対象のデータブロックに前記エラーが発生しなかったと判断された場合、前記再配置対象のデータブロックに対応する前記再配置先位置に対して、当該再配置先位置の読み出しアクセスに応答してエラーの発生を引き起こすエラー情報を設定する手段とを具備することを特徴とする。
また、本発明は、ディスクアレイに記憶された複数のデータブロックをストライプユニット単位で、追加されたディスクドライブに再配置して前記ディスクアレイの記憶容量を拡張する機能を有するディスクアレイコントローラであって、前記再配置対象のデータブロックを前記ディスクアレイから読み出す読出手段と、前記読出手段により読み出される前記再配置対象のデータブロックにエラーが発生したか否かを判別する判別手段と、前記判別手段により前記再配置対象のデータブロックに前記エラーが発生しなかったと判断された場合、前記読出手段により読み出された前記再配置対象のデータブロックを、当該再配置対象のデータブロックに対応する前記ディスクアレイ上の再配置先位置に書き込む手段と、前記判別手段により前記再配置対象のデータブロックに前記エラーが発生しなかったと判断された場合、前記再配置対象のデータブロックに対応する前記再配置先位置に対して、当該再配置先位置の読み出しアクセスに応答してエラーの発生を引き起こすエラー情報を設定する手段とを具備することを特徴とする。
本発明によれば、レベル変更処理や容量拡張処理中にメディアエラーのようなエラーが発生しても、レベル変更処理や容量拡張処理を中止せずに継続して実行することが可能となる。
以下、図面を参照して本発明の実施形態を説明する。
[第1の実施形態]
図1には、本発明の第1実施形態に係る情報処理装置の構成が示されている。この情報処理装置は、例えばサーバコンピュータとして実現されている。この情報処理装置は、オペレーティングシステムおよび各種アプリケーションプログラムを実行するホスト(ホストコンピュータ)10と、このホスト10の外部記憶装置として用いられるディスクアレイ20と、ディスクアレイコントローラ30とから構成される。
ディスクアレイ20は冗長化されたディスクアレイであり、情報処理装置に搭載される複数台のディスクドライブ(HDD:ハードディスクドライブ)21を用いて実現されている。ディスクアレイコントローラ30はホスト10からのディスクアクセス要求に応じてディスクアレイ20を制御する。このディスクアレイコントローラ30は、ディスクアレイ20をRAIDとして動作させるためのディスク制御動作を実行する。
ディスクアレイコントローラ30は、例えば、RAID0(ストライピング)、RAID1(ミラーリング)、RAID5(分散データガーディング)のような複数種の冗長レベル(RAIDレベル)をサポートしている。
ディスクアレイコントローラ30は、図示のように、制御プロセッサ31、RAM32、不揮発性メモリ33、およびディスクコントローラ34を備えている。これら制御プロセッサ31、RAM32、不揮発性メモリ33、およびディスクコントローラ34は、バス35に接続されている。
制御プロセッサ31は、不揮発性メモリ33からRAM32にロードされるプログラム(ファームウェア)を実行する。このファームウェアにより、制御プロセッサ31には、機能実行モジュールとして、図示のように、冗長レベル変更部101、容量拡張部102、メディアエラー検出部103、およびエラーデータライト部104が実現されている。
冗長レベル変更部101は、ディスクアレイ20の冗長レベル(RAIDレベル)を変更するための冗長レベル変更処理を実行する。この冗長レベル変更処理は、情報処理装置の稼働中に実行することができる。冗長レベル変更処理においては、ディスクアレイ20の現在の冗長レベルとディスクアレイ20の変更後の冗長レベルとの関係に基づいて、ディスクアレイ20に記憶された複数のデータブロックを再配置する処理が行われる。再配置は、再配置対象のデータブロックをディスクアレイ20からリードして転送先にコピーすることによって実行される。このレベル変更処理により、ディスクアレイ20のRAIDレベルを、例えば、RAID0からRAID1に、あるいはRAID0からRAID5に、変更することが出来る。
容量拡張部102は、ディスクアレイ20の冗長レベルを変更することなく、追加されたディスクドライブを利用することによってディスクアレイ20の記憶容量を拡張するための容量拡張処理を実行する。この容量拡張処理も、情報処理装置の稼働中に実行することができる。容量拡張処理においては、ディスクアレイ20の現在の冗長レベルと追加されたディスクドライブの台数とに基づいて、ディスクアレイ20に既に記憶されている複数のデータブロックをストライプユニット単位で、追加されたディスクドライブに再配置する処理が行われる。再配置は、再配置対象のデータブロックをディスクアレイ20からリードして転送先にコピーすることによって実行される。
メディアエラー検出部103は再配置対象のデータブロックのリード時に、メディアエラーが発生したかどうかを判別する。エラーデータライト部104は、メディアエラーの発生が検出された時、再配置対象のデータブロックの再配置先位置(以下、転送先位置という)に対して、エラー情報を設定する。このエラー情報は、当該転送先位置がリードアクセスされた時にメディアエラーの発生を引き起こすための情報(エラーデータ)である。具体的には、エラーデータライト部104は、データとそのデータとは無関係のエラー訂正コード(ECC)とをエラーデータとして転送先位置にライトする。これにより、転送先位置がリードアクセスされるたびに、メディアエラーが発生することになる。よって、正常にデータ再配置を行うことができなかった転送先位置がホスト10によってリードアクセスされても、誤ったデータがホスト10に転送されることを防止することができる。
エラーデータライト部104は、エラーデータを書き込むために、ライトロングコマンド(Write Long Command)をHDDに発行する。ライトロングコマンドは、エラー訂正符号を含むライトデータをそのまま書き込むことをHDDに指示するコマンドである。通常、HDDは、ECC生成器によってライトデータからECCを生成し、そのライトデータとECCとをライトコマンドで指定された位置に書き込む。一方、ライトロングコマンドを受けた場合、HDDのECC生成器の動作が抑止される。これにより、データとそのデータとは無関係のECCとを含むエラーデータを書き込むことができる。
ディスクコントローラ34は、制御プロセッサ31の制御の下に、ディスクアレイ20を構成する各HDDを制御する。このディスクコントローラ34は、例えばIDEまたはSCSIインタフェースを介して各HDDを制御する。
次に、冗長レベル変更動作の例について説明する。
図2は、2台のHDD(HDD#0,HDD#1)から構成されたRAID0のディスクアレイを示している。2台のHDD(HDD#0,HDD#1)に跨って、複数のストライプS1,S2,S3が配置される。
各ストライプは、HDD#0上のストライプユニットと、HDD#1上のストライプユニットとから構成される。各ストライプユニットは、1以上のデータブロックを含む。図2では、各ストライプユニットに含まれるデータブロックが一つである場合を示している。ストライプS1は、HDD#0上に配置された論理ブロックアドレスLBA=0のデータブロックと、HDD#1上に配置された論理ブロックアドレスLBA=1のデータブロックとを含む。同様に、ストライプS2は、HDD#0上に配置された論理ブロックアドレスLBA=2のデータブロックと、HDD#1上に配置された論理ブロックアドレスLBA=3のデータブロックとを含み、ストライプS3は、HDD#0上に配置された論理ブロックアドレスLBA=4のデータブロックと、HDD#1上に配置された論理ブロックアドレスLBA=5のデータブロックとを含む。
なお、ストライプのことをストライプグループと称し、ストライプユニットのことをストライプと称することもある。
図3は、図2のRAID0のディスクアレイに1台のHDD(HDD#2)を追加し、3台のHDD(HDD#0,HDD#1,HDD#2)によってRAID5のディスクアレイを構成した例を示している。
図2のディスクアレイに記憶されていた論理ブロックアドレス0−5それぞれに対応するデータブロック群を図3のように3台のHDD(HDD#0,HDD#1,HDD#2)に再配置することにより、RAIDレベルをRAID0からRAID5に変更することができる。
図3中、記号Pは、発生した障害を修復するための情報(パリティ)を示している。ストライプS11は、HDD#0上に配置された論理ブロックアドレスLBA=0のデータブロックと、HDD#1に配置された論理ブロックアドレスLBA=1のデータブロックと、HDD#2上に配置されたパリティとを含む。ストライプS11のパリティは、そのストライプS11の2つのデータブロックから生成される。ストライプS12は、HDD#0上に配置された論理ブロックアドレスLBA=2のデータブロックと、HDD#1に配置されたパリティと、HDD#2上に配置された論理ブロックアドレスLBA=3のデータブロックとを含む。ストライプS12のパリティは、そのストライプS12の2つのデータブロックから生成される。ストライプS13は、HDD#0上に配置されたパリティと、HDD#1に配置された論理ブロックアドレスLBA=4のデータブロックと、HDD#2上に配置された論理ブロックアドレスLBA=5のデータブロックとを含む。ストライプS13のパリティは、そのストライプS13の2つのデータブロックから生成される。
上述のRAID0は、原理的には、図4に示すように1台のHDD上で構築することもできる。図4においては、論理ブロックアドレスが連続する2つのデータブロックによってストライプユニットが構成されている。
図5は、図4のRAID0のディスクアレイに1台のHDD(HDD#1)を追加し、2台のHDD(HDD#0,HDD#1)によってRAID1のディスクアレイを構成した例を示している。
図4のHDD#0に記憶されていた論理ブロックアドレス0−3それぞれに対応するデータブロック群を図5のようにHDD#2にコピーして再配置することにより、RAIDレベルをRAID0からRAID1に変更することができる。
このように、冗長レベル変更処理においてはデータブロック単位でのデータ再配置が実行される。
もし、再配置対象のデータブロックのリード時にメディアエラーが発生しなかったならば、その再配置対象のデータブロックは通常通り転送先位置に書き込まれる。転送先位置は、再配置対象のデータブロックに割り当てられていた論理ブロックアドレスが新たに割り当てられるディスクアレイ上の記憶位置である。一方、再配置対象のデータブロックのリード時にメディアエラーが発生したならば、上述のエラーデータが転送先位置に書き込まれる。
図6には、冗長レベル変更部101の構成例が示されている。
冗長レベル変更部101は、再配置制御部111と、データリード部112と、データライト部113を備えている。再配置制御部111は、ディスクアレイ20の現在の冗長レベルとディスクアレイ20の変更後の冗長レベルとの関係に基づいて、再配置対象のデータブロック群とそれらデータブロック群それぞれの転送先位置を決定する。データリード部112は、再配置制御部111の制御の下、再配置対象のデータブロックをディスクコントローラ34を通じてディスクアレイ20からリードする。データライト部113は、再配置制御部111の制御の下、データリード部112によってリードされた再配置対象のデータブロックを、ディスクコントローラ34を通じてディスクアレイ20上の転送先位置にライトする。
メディアエラー検出部103は、データリード部112との通信によってリード動作の成功/失敗を監視することにより、メディアエラーの発生を検出する。メディアエラーの発生を検出すると、メディアエラー検出部103は、データライト部113の動作を禁止するとともに、エラーデータライト部104を起動する。
次に、図7のフローチャートを参照して、冗長レベル(RAIDレベル)変更処理の具体的に手順を説明する。ここでは、図4のRAID0から図5のRAID1に変更する場合を例示して説明する。
冗長レベル変更部101は、まず、論理ブロックアドレスLBAの値を初期値0に設定する(ステップS101)。次いで、冗長レベル変更部101は、論理ブロックアドレスLBAの値が図4のHDD#0に割り当てられている最終論理ブロックアドレスLBAを越えるかいなかを判断し(ステップS102)、論理ブロックアドレスLBAの値が最終論理ブロックアドレスLBAを越えるまで、以下の処理を繰り返し実行する。
冗長レベル変更部101は、現在の論理ブロックアドレスLBA(LBA=0)で指定される再配置対象のデータブロックをHDD#0(ソース側HDD)からリードする(ステップS103)。メディアエラー検出部103は、このリード動作においてメディアエラーが発生したかどうかを判別する(ステップS104)。
メディアエラーの発生が検出されなかった場合、つまり現在の論理ブロックアドレスLBA(LBA=0)で指定される再配置対象のデータブロックをHDD#0(ソース側HDD)からリードできた場合には(ステップS104のNO)、冗長レベル変更部101は、ステップS103でリードされた再配置対象のデータブロックを、その再配置対象のデータブロックに対応するHDD#1(ターゲット側HDD)上の転送先位置に書き込む(ステップS105)。この転送先位置は、論理ブロックアドレスLBA(LBA=0)が割り当てられるHDD#1(ターゲット側HDD)上の記憶位置である。これにより、現在のLBAで指定されるソース側HDDのデータブロックが、そのLBAで指定されるターゲット側HDD上の記憶位置にコピーされたことになる。
一方、メディアエラーの発生が検出された場合、つまり現在の論理ブロックアドレスLBA(LBA=0)で指定される再配置対象のデータブロックをHDD#0(ソース側HDD)からリードできなかった場合には(ステップS104のYES)、冗長レベル変更部101は、リードできなかった再配置対象のデータブロックに対応するHDD#1(ターゲット側HDD)上の転送先位置に、エラーデータをライトロングコマンドを用いて書き込む(ステップS106)。
次いで、冗長レベル変更部101は、現在の論理ブロックアドレスLBAを+1だけ増加した後(ステップS107)、ステップS102に戻る。ステップS102〜S107の処理が繰り返し実行されることにより、ディスクアレイ20のRAIDレベルがRAID0からRAID1に変更される。
なお、ここでは、RAID0からRAID1へのレベル変更を行うために全てのデータブロックを再配置対象としたが、一般には、目的とするレベル変更のために再配置が必要なデータブロックのみを再配置すればよい。すなわち、冗長レベル変更部101は、変更前のディスクアレイ20のRAIDレベルおよびHDD台数と、ホスト10から指定された変更後のディスクアレイ20のRAIDレベルおよびHDD台数とに基づいて、再配置すべきデータブロック(転送元ブロック)それぞれの論理ブロックアドレスと、それら論理ブロックアドレスそれぞれに対応する転送先位置(転送先ブロック)を決定する。そして、冗長レベル変更部101は、転送元ブロック毎に図8のフローチャートで示される処理を実行する。
すなわち、冗長レベル変更部101は、まず、ディスクアレイ20から転送元ブロックをリードする(ステップS111)。このリード動作でメディアエラーが発生しなかったならば(ステップS112のNO)、冗長レベル変更部101は、リードした転送元ブロックを、その転送元ブロックに対応する転送先ブロックにライトする(ステップS113)。一方、ステップS111のリード動作でメディアエラーが発生したならば(ステップS112のYES)、エラーデータライト部104は、エラーデータを転送先ブロックにライトする(ステップS114)。
なお、ある再配置対象データブロックのリード動作でメディアエラーが発生した転送元ブロックが、別の再配置対象データブロックの転送先ブロックとして使用されることもある。この場合、別の再配置対象データブロックを転送先ブロックに正常に書き込めなかった場合には、その転送先ブロックに対してもエラーデータがライトされる。
次に、図9のフローチャートを参照して、ディスクアレイ20のRAIDレベル変更後におけるデータ読み出し動作について説明する。
制御プロセッサ31は、ホスト10によって実行されるファイルシステムやアプリケーションプログラムから送信されるリード要求を受信すると(ステップS201)、そのリード要求に含まれる論理ブロックアドレスで指定されるデータブロックをディスクアレイ20からリードする(ステップS202)。制御プロセッサ31は、ステップS202のリード動作でメディアエラーが発生したかどうかを判断する(ステップS203)。メディアエラーが発生しなかったならば(ステップS203のNO)、制御プロセッサ31は、ディスクアレイ20からリードされたデータブロックをホスト10に転送する(ステップS204)。一方、メディアエラーが発生したならば(ステップS203のYES)、制御プロセッサ31は、メディアエラーの発生をホスト10に通知する(ステップS205)。エラーデータが書き込まれているブロックがホスト10からリード要求された場合には必ずメディアエラーが発生するので、ホスト10に誤ったデータが転送されることを防止することができる。
次に、容量拡張動作の例について説明する。
図10は、2台のHDD(HDD#0,HDD#1)から構成されたRAID0のディスクアレイを示している。図10では、各ストライプユニットに含まれるデータブロックが一つである場合を示している。図11は、図10のRAID0のディスクアレイに1台のHDD(HDD#2)を追加し、3台のHDD(HDD#0,HDD#1,HDD#2)によってRAID0のディスクアレイを構成した例を示している。図10のディスクアレイに記憶されていた論理ブロックアドレス0−5それぞれに対応するデータブロック群を、図11のように3台のHDD(HDD#0,HDD#1,HDD#2)にストライプユニット単位で再配置することにより、RAIDレベルを変更することなくディスクアレイの記憶容量を拡張することが出来る。
図12は、1台のHDD(HDD#0)上で構築されたRAID0のディスクアレイを示している。各ストライプユニットは、通常、論理ブロックアドレスが連続する2以上のデータブロックを含む。
図13は、図12のRAID0のディスクアレイに1台のHDD(HDD#1)を追加し、2台のHDD(HDD#0,HDD#1)によってRAID0のディスクアレイを構成した例を示している。図12のディスクアレイに記憶されていたデータブロック群は図13のように2台のHDD(HDD#0,HDD#1)にストライプユニット単位で再配置される。図13においては、例えば、論理ブロックアドレスが連続する図12の2つのストライプユニット0,1によって、一つのストライプS21が構成されている。
このように、容量拡張処理においてはデータブロックそれぞれがストライプユニット単位での再配置される。
もし、再配置対象のデータブロックのリード時にメディアエラーが発生しなかったならば、その再配置対象のデータブロックは通常通り転送先位置に書き込まれる。転送先位置は、再配置対象のデータブロックに割り当てられていた論理ブロックアドレスが新たに割り当てられるディスクアレイ上の記憶位置である。一方、再配置対象のデータブロックのリード時にメディアエラーが発生したならば、上述のエラーデータが転送先位置に書き込まれる。
図14には、容量拡張部102の構成例が示されている。
容量拡張部102は、再配置制御部201と、データリード部202と、データライト部203を備えている。再配置制御部201は、ディスクアレイ20の現在の冗長レベルと追加されたディスクドライブの台数とに基づいて、再配置対象のデータブロック群とそれらデータブロック群それぞれの転送先位置を決定する。データリード部202は、再配置制御部201の制御の下、再配置対象のデータブロックをディスクコントローラ34を通じてディスクアレイ20からリードする。データライト部203は、再配置制御部201の制御の下、データリード部202によってリードされた再配置対象のデータブロックを、ディスクコントローラ34を通じてディスクアレイ20上の転送先位置にライトする。
メディアエラー検出部103は、データリード部202との通信によってリード動作の成功/失敗を監視することにより、メディアエラーの発生を検出する。メディアエラーの発生を検出すると、メディアエラー検出部103は、データライト部203の動作を禁止するとともに、エラーデータライト部104を起動する。
次に、図15のフローチャートを参照して、容量拡張処理の手順を説明する。
容量拡張部102は、ディスクアレイ20の現在の冗長レベルと追加されたディスクドライブの台数とに基づいて、再配置すべきデータブロック(転送元ブロック)それぞれの論理ブロックアドレスと、それら論理ブロックアドレスそれぞれに対応する転送先位置(転送先ブロック)を決定する。そして、容量拡張部102は、転送元ブロック毎に図15のフローチャートで示される処理を実行する。
すなわち、容量拡張部102は、まず、ディスクアレイ20から転送元ブロックをリードする(ステップS301)。このリード動作でメディアエラーが発生しなかったならば(ステップS302のNO)、容量拡張部102は、リードした転送元ブロックを、その転送元ブロックに対応する転送先ブロックにライトする(ステップS303)。一方、ステップS301のリード動作でメディアエラーが発生したならば(ステップS302のYES)、エラーデータライト部104は、ライトロングコマンドを用いてエラーデータを転送先ブロックにライトする(ステップS304)。
なお、容量拡張処理においても、リード動作でメディアエラーが発生した転送元ブロックが、別の再配置対象データブロックの転送先ブロックとして使用されることがある。この場合、別の再配置対象データブロックを転送先ブロックに正常に書き込めなかった場合には、その転送先ブロックに対してもエラーデータがライトされる。
またディスクアレイ20の容量拡張後におけるデータ読み出し動作は、図9と同一の手順で実行される。
[第2の実施形態]
図16は本発明の第2の実施形態に係る情報処理装置の構成を示すブロック図である。図16において図1と同様の構成要素には同一参照番号を付してある。
第2実施形態においては、ディスクアレイコントローラ30の制御プロセッサ31は、図1のエラーデータライト部104の代わりに、エラーアドレス記録部105およびリード制御部106を備えている。エラーアドレス記録部105は、再配置対象のデータブロックのリード時にメディアエラーが発生した時、当該再配置対象のデータブロックに対応する転送先位置を示す論理ブロックアドレスLBAをエラーアドレスとして不揮発性メモリ33またはディスクアレイ20のリザーブ領域210に保存する。冗長レベル変更前または容量拡張前における再配置対象のデータブロックに対応する論理ブロックアドレスLBAが、冗長レベル変更後または容量拡張後における転送先位置の論理ブロックアドレスLBAとなるので、エラーアドレス記録部105は、再配置対象のデータブロックのリード時にメディアエラーが発生した時、当該再配置対象のデータブロックの論理ブロックアドレスLBAをエラーアドレスとして保存すればよい。
リード制御部106は、冗長レベル変更後または容量拡張後において、ホスト10によって実行されるファイルシステムやアプリケーションプログラムから送信されるリードアクセス要求に含まれる論理ブロックアドレスLBAが、エラーアドレスとして保存されているかどうかを判別する。もし保存されているならば、リード制御部106は、メディアエラーを発生する。
図17は、冗長レベル変更部101とエラーアドレス記録部105とメディアエラー検出部103との関係が示されている。冗長レベル変更部101は、第1の実施形態と同様に、再配置制御部111と、データリード部112と、データライト部113とを備えている。メディアエラー検出部103は、データリード部112との通信によってリード動作の成功/失敗を監視することにより、メディアエラーの発生を検出する。メディアエラーの発生を検出すると、メディアエラー検出部103は、データライト部113の動作を禁止するとともに、エラーアドレス記録部105を起動する。エラーアドレス記録部105は、メディアエラー検出部103によってメディアエラーの発生が検出された再配置対象のデータブロックに対応する論理ブロックアドレスをエラーアドレスとして保存する。
次に、図18のフローチャートを参照して、冗長レベル変更処理の手順を説明する。上述したように、冗長レベル変更部101は、変更前のディスクアレイ20のRAIDレベルおよびHDD台数と、ホスト10から指定された変更後のディスクアレイ20のRAIDレベルおよびHDD台数とに基づいて、再配置すべきデータブロック(転送元ブロック)それぞれの論理ブロックアドレスと、それら論理ブロックアドレスそれぞれに対応する転送先位置(転送先ブロック)を決定する。そして、冗長レベル変更部101は、転送元ブロック毎に図18のフローチャートで示される処理を実行する。
すなわち、冗長レベル変更部101は、まず、ディスクアレイ20から転送元ブロックをリードする(ステップS401)。このリード動作でメディアエラーが発生しなかったならば(ステップS402のNO)、冗長レベル変更部101は、リードした転送元ブロックを、その転送元ブロックに対応する転送先ブロックにライトする(ステップS403)。一方、ステップS401のリード動作でメディアエラーが発生したならば(ステップS402のYES)、エラーアドレス記録部105は、メディアエラーが発生した転送元ブロックに対応する論理ブロックアドレスLBAをエラーアドレスとして保存する(ステップS404)。
なお、上述したように、ある再配置対象データブロックのリード動作でメディアエラーが発生した転送元ブロックが、別の再配置対象データブロックの転送先ブロックとして使用されることもある。この場合、別の再配置対象データブロックを転送先ブロックに正常に書き込めなかった場合には、その転送先ブロックに新たに割り当てられるべき論理ブロックアドレスLBAもエラーアドレスとして保存される。
図19は、容量拡張部102とエラーアドレス記録部105とメディアエラー検出部103との関係が示されている。容量拡張部102は、第1の実施形態と同様に、再配置制御部201と、データリード部202と、データライト部203とを備えている。メディアエラー検出部103は、データリード部202との通信によってリード動作の成功/失敗を監視することにより、メディアエラーの発生を検出する。メディアエラーの発生を検出すると、メディアエラー検出部103は、データライト部203の動作を禁止するとともに、エラーアドレス記録部105を起動する。エラーアドレス記録部105は、メディアエラー検出部103によってメディアエラーの発生が検出された再配置対象のデータブロックに対応する論理ブロックアドレスをエラーアドレスとして保存する。
次に、図20のフローチャートを参照して、容量拡張処理の手順を説明する。
上述したように、容量拡張部102は、ディスクアレイ20の現在の冗長レベルと追加されたディスクドライブの台数とに基づいて、再配置すべきデータブロック(転送元ブロック)それぞれの論理ブロックアドレスと、それら論理ブロックアドレスそれぞれに対応する転送先位置(転送先ブロック)を決定する。そして、容量拡張部102は、転送元ブロック毎に図20のフローチャートで示される処理を実行する。
すなわち、容量拡張部102は、まず、ディスクアレイ20から転送元ブロックをリードする(ステップS501)。このリード動作でメディアエラーが発生しなかったならば(ステップS502のNO)、容量拡張部102は、リードした転送元ブロックを、その転送元ブロックに対応する転送先ブロックにライトする(ステップ503)。一方、ステップS501のリード動作でメディアエラーが発生したならば(ステップS502のYES)、エラーアドレス記録部105は、メディアエラーが発生した転送元ブロックに対応する論理ブロックアドレスLBAをエラーアドレスとして保存する(ステップS504)。
なお、上述したように、容量拡張処理においても、ある再配置対象データブロックのリード動作でメディアエラーが発生した転送元ブロックが、別の再配置対象データブロックの転送先ブロックとして使用されることがある。この場合、別の再配置対象データブロックを転送先ブロックに正常に書き込めなかった場合には、その転送先ブロックに新たに割り当てられるべき論理ブロックアドレスLBAもエラーアドレスとして保存される。
次に、図21のフローチャートを参照して、ディスクアレイ20のRAIDレベル変更後または容量拡張後におけるデータ読み出し動作について説明する。
制御プロセッサ31は、ホスト10によって実行されるファイルシステムやアプリケーションプログラムから送信されるリードアクセス要求を受信すると(ステップS601)、リード制御部106を用いて、リードアクセス要求に含まれる論理ブロックアドレスがエラーアドレスとして記憶されているかどうかを判別する(ステップS602)。リードアクセス要求に含まれる論理ブロックアドレスがエラーアドレスとして記憶されていない場合には(ステップS602のNO)、制御プロセッサ31は、リードアクセス要求に含まれる論理ブロックアドレスで指定されるデータブロックをディスクアレイ20からリードする(ステップS602)。一方、リードアクセス要求に含まれる論理ブロックアドレスがエラーアドレスとして記憶されている場合には(ステップS602のYES)、制御プロセッサ31は、メディアエラーの発生をホスト10に通知する(ステップS205)。エラーアドレスとして記憶されている論理ブロックアドレスがリード要求された場合には必ずメディアエラーが発生するので、ホスト10に誤ったデータが転送されることを防止することができる。よって、第2の実施形態では、ディスクアレイ20を構成する各HDDがライトロングコマンドをサポートしている必要はない。
なお、ディスクアレイ20をソフトウェアによって制御するという、いわゆるソフトウェアRAIDにおいては、上記各実施形態における冗長レベル変更処理および容量拡張処理は、ホスト10によって実行されるRAID制御プログラムによって実行することもできる。
また、上記各実施形態では、再配置対象のデータブロックにメディアエラーが発生した場合の処理について説明したが、メディアエラーに限らず、例えばリードエラーなどのように、再配置対象のデータブロックに当該データブロックを正常に読み出すことが出来ないエラーが発生した場合にも、同様の処理を適用することが出来る。
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
本発明の第1の実施形態に係る情報処理装置の構成を示すブロック図。 図1の情報処理装置で用いられる、冗長レベル変更前のディスクアレイの構成の第1の例を示す図。 図1の情報処理装置で用いられる、冗長レベル変更後のディスクアレイの構成の第1の例を示す図。 図1の情報処理装置で用いられる、冗長レベル変更前のディスクアレイの構成の第2の例を示す図。 図1の情報処理装置で用いられる、冗長レベル変更後のディスクアレイの構成の第2の例を示す図。 図1の情報処理装置で用いられる冗長レベル変更部の構成例を示すブロック図。 図1の情報処理装置において実行される冗長レベル変更処理の手順を示す第1のフローチャート。 図1の情報処理装置において実行される冗長レベル変更処理の手順を示す第2のフローチャート。 図1の情報処理装置において実行されるデータ読み出し動作の手順を示すフローチャート。 図1の情報処理装置で用いられる、容量拡張前のディスクアレイの構成の第1の例を示す図。 図1の情報処理装置で用いられる、容量拡張後のディスクアレイの構成の第1の例を示す図。 図1の情報処理装置で用いられる、容量拡張前のディスクアレイの構成の第2の例を示す図。 図1の情報処理装置で用いられる、容量拡張後のディスクアレイの構成の第2の例を示す図。 図1の情報処理装置で用いられる容量拡張部の構成例を示すブロック図。 図1の情報処理装置において実行される容量拡張処理の手順を示すフローチャート。 本発明の第2の実施形態に係る情報処理装置の構成を示すブロック図。 図16の情報処理装置で用いられる冗長レベル変更部とメディアエラー検出部とエラーアドレス記録部との関係を示すブロック図。 図16の情報処理装置において実行される冗長レベル変更処理の手順を示すフローチャート。 図16の情報処理装置で用いられる容量拡張部とメディアエラー検出部とエラーアドレス記録部との関係を示すブロック図。 図16の情報処理装置において実行される容量拡張処理の手順を示すフローチャート。 図16の情報処理装置におけるデータ読み出し処理の手順を示すフローチャート。
符号の説明
10…ホスト、20…ディスクアレイ、21…HDD(ディスクドライブ)、30…ディスクアレイコントローラ、31…制御プロセッサ、33…不揮発性メモリ、34…ディスクコントローラ、101…冗長レベル変更部、102…容量拡張部、103…メディアエラー検出部、104…エラーデータライト部。

Claims (12)

  1. ディスクアレイに記憶された複数のデータブロックを再配置して前記ディスクアレイの冗長レベルを変更する機能を有するディスクアレイコントローラであって、
    前記再配置対象のデータブロックを前記ディスクアレイから読み出す読出手段と、
    前記読出手段により読み出される前記再配置対象のデータブロックにエラーが発生したか否かを判別する判別手段と、
    前記判別手段により前記再配置対象のデータブロックに前記エラーが発生しなかったと判断された場合、前記読出手段により読み出された前記再配置対象のデータブロックを、当該再配置対象のデータブロックに対応する前記ディスクアレイ上の再配置先位置に書き込む手段と、
    前記判別手段により前記再配置対象のデータブロックに前記エラーが発生しなかったと判断された場合、前記再配置対象のデータブロックに対応する前記再配置先位置に対して、当該再配置先位置の読み出しアクセスに応答してエラーの発生を引き起こすエラー情報を設定する手段とを具備することを特徴とするディスクアレイコントローラ。
  2. 前記エラー情報を設定する手段は、前記再配置対象のデータブロックに対応する前記再配置先位置に、データおよび当該データとは無関係のエラー訂正コードを書き込む手段を含むことを特徴とする請求項1記載のディスクアレイコントローラ。
  3. 前記エラー情報を設定する手段は、前記再配置対象のデータブロックに対応する前記再配置先位置を示す論理アドレス情報を不揮発性記憶部に記憶する手段を含み、
    ホストからの読み出しアクセス要求で指定された論理アドレス情報が前記不揮発性記憶部に記憶されている場合、前記エラーを発生する手段をさらに具備することを特徴とする請求項1記載のディスクアレイコントローラ。
  4. ディスクアレイに記憶された複数のデータブロックを追加されたディスクドライブに再配置して前記ディスクアレイの記憶容量を拡張する機能を有するディスクアレイコントローラであって、
    前記再配置対象のデータブロックを前記ディスクアレイから読み出す読出手段と、
    前記読出手段により読み出される前記再配置対象のデータブロックにエラーが発生したか否かを判別する判別手段と、
    前記判別手段により前記再配置対象のデータブロックに前記エラーが発生しなかったと判断された場合、前記読出手段により読み出された前記再配置対象のデータブロックを、当該再配置対象のデータブロックに対応する前記ディスクアレイ上の再配置先位置に書き込む手段と、
    前記判別手段により前記再配置対象のデータブロックに前記エラーが発生しなかったと判断された場合、前記再配置対象のデータブロックに対応する前記再配置先位置に対して、当該再配置先位置の読み出しアクセスに応答してエラーの発生を引き起こすエラー情報を設定する手段とを具備することを特徴とするディスクアレイコントローラ。
  5. 前記エラー情報を設定する手段は、前記再配置対象のデータブロックに対応する前記再配置先位置に、データおよび当該データとは無関係のエラー訂正コードを書き込む手段を含むことを特徴とする請求項4記載のディスクアレイコントローラ。
  6. 前記エラー情報を設定する手段は、前記再配置対象のデータブロックに対応する前記再配置先位置を示す論理アドレス情報を不揮発性記憶部に記憶する手段を含み、
    ホストからの読み出しアクセス要求で指定された論理アドレス情報が前記不揮発性記憶部に記憶されている場合、前記エラーを発生する手段をさらに具備することを特徴とする請求項4記載のディスクアレイコントローラ。
  7. ディスクアレイと、
    前記ディスクアレイに記憶された複数のデータブロックを再配置して前記ディスクアレイの冗長レベルを変更する冗長レベル変更手段であって、前記再配置対象のデータブロックを前記ディスクアレイから読み出す読出手段と、前記読出手段により読み出される前記再配置対象のデータブロックにエラーが発生したか否かを判別する判別手段と、前記判別手段により前記再配置対象のデータブロックに前記エラーが発生しなかったと判断された場合、前記読出手段により読み出された前記再配置対象のデータブロックを、当該再配置対象のデータブロックに対応する前記ディスクアレイ上の再配置先位置に書き込む手段と、前記判別手段により前記再配置対象のデータブロックに前記エラーが発生しなかったと判断された場合、前記再配置対象のデータブロックに対応する前記再配置先位置に対して、当該再配置先位置の読み出しアクセスに応答してエラーの発生を引き起こすエラー情報を設定する手段とを含む冗長レベル変更手段とを具備することを特徴とする情報処理装置。
  8. 前記エラー情報を設定する手段は、前記再配置対象のデータブロックに対応する前記再配置先位置に、データおよび当該データとは無関係のエラー訂正コードを書き込む手段を含むことを特徴とする請求項7記載の情報処理装置。
  9. 前記エラー情報を設定する手段は、前記再配置対象のデータブロックに対応する前記再配置先位置を示す論理アドレス情報を不揮発性記憶部に記憶する手段を含み、
    プログラムからの読み出しアクセス要求で指定された論理アドレス情報が前記不揮発性記憶部に記憶されている場合、前記エラーを発生する手段をさらに具備することを特徴とする請求項7記載の情報処理装置。
  10. ディスクアレイと、
    前記ディスクアレイに記憶された複数のデータブロックを追加されたディスクドライブに再配置して前記ディスクアレイの記憶容量を拡張する容量拡張手段であって、前記再配置対象のデータブロックを前記ディスクアレイから読み出す読出手段と、前記読出手段により読み出される前記再配置対象のデータブロックにエラーが発生したか否かを判別する判別手段と、前記判別手段により前記再配置対象のデータブロックに前記エラーが発生しなかったと判断された場合、前記読出手段により読み出された前記再配置対象のデータブロックを、当該再配置対象のデータブロックに対応する前記ディスクアレイ上の再配置先位置に書き込む手段と、前記判別手段により前記再配置対象のデータブロックに前記エラーが発生しなかったと判断された場合、前記再配置対象のデータブロックに対応する前記再配置先位置に対して、当該再配置先位置の読み出しアクセスに応答してエラーの発生を引き起こすエラー情報を設定する手段とを含む容量拡張手段とを具備することを特徴とする情報処理装置。
  11. 前記エラー情報を設定する手段は、前記再配置対象のデータブロックに対応する前記再配置先位置に、データおよび当該データとは無関係のエラー訂正コードを書き込む手段を含むことを特徴とする請求項10記載の情報処理装置。
  12. 前記エラー情報を設定する手段は、前記再配置対象のデータブロックに対応する前記再配置先位置を示す論理アドレス情報を不揮発性記憶部に記憶する手段を含み、
    プログラムからの読み出しアクセス要求で指定された論理アドレス情報が前記不揮発性記憶部に記憶されている場合、前記メディアエラーを発生する手段をさらに具備することを特徴とする請求項10記載の情報処理装置。
JP2004109172A 2004-04-01 2004-04-01 ディスクアレイコントローラおよび情報処理装置 Withdrawn JP2005293363A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004109172A JP2005293363A (ja) 2004-04-01 2004-04-01 ディスクアレイコントローラおよび情報処理装置
US11/087,635 US20050229033A1 (en) 2004-04-01 2005-03-24 Disk array controller and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004109172A JP2005293363A (ja) 2004-04-01 2004-04-01 ディスクアレイコントローラおよび情報処理装置

Publications (1)

Publication Number Publication Date
JP2005293363A true JP2005293363A (ja) 2005-10-20

Family

ID=35061926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004109172A Withdrawn JP2005293363A (ja) 2004-04-01 2004-04-01 ディスクアレイコントローラおよび情報処理装置

Country Status (2)

Country Link
US (1) US20050229033A1 (ja)
JP (1) JP2005293363A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012226770A (ja) * 2006-05-24 2012-11-15 Compellent Technologies Raid管理、再割振り、およびリストライピングのためのシステムおよび方法

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US8312189B2 (en) * 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8214562B2 (en) 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
JP5612514B2 (ja) * 2010-03-24 2014-10-22 パナソニック株式会社 不揮発性メモリコントローラ及び不揮発性記憶装置
US9268644B1 (en) 2011-04-18 2016-02-23 American Megatrends, Inc. Systems and methods for raid acceleration
US8954670B1 (en) 2011-04-18 2015-02-10 American Megatrends, Inc. Systems and methods for improved fault tolerance in RAID configurations
US9146683B2 (en) 2011-04-20 2015-09-29 Seagate Technology Llc Logical block address mapping
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
KR20130049332A (ko) * 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0485110B1 (en) * 1990-11-09 1999-08-25 Emc Corporation Logical partitioning of a redundant array storage system
US5502836A (en) * 1991-11-21 1996-03-26 Ast Research, Inc. Method for disk restriping during system operation
US5708668A (en) * 1992-05-06 1998-01-13 International Business Machines Corporation Method and apparatus for operating an array of storage devices
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
US5933592A (en) * 1995-10-13 1999-08-03 Digital Equipment Corporation Promoting device level error to raidset level error to restore redundacy in a raid array data storage system
US5875457A (en) * 1996-10-08 1999-02-23 Mylex Corporation Fault-tolerant preservation of data integrity during dynamic raid set expansion
JP3674227B2 (ja) * 1997-03-14 2005-07-20 株式会社日立製作所 可搬メディアを収納する記憶装置
US6058455A (en) * 1997-07-02 2000-05-02 International Business Corporation RAID system having a selectable unattended mode of operation with conditional and hierarchical automatic re-configuration
US6243827B1 (en) * 1998-06-30 2001-06-05 Digi-Data Corporation Multiple-channel failure detection in raid systems
JP4461511B2 (ja) * 1999-06-09 2010-05-12 株式会社日立製作所 ディスクアレイ装置及びディスク装置へのデータ読み出し/書き込み方式
US6854071B2 (en) * 2001-05-14 2005-02-08 International Business Machines Corporation Method and apparatus for providing write recovery of faulty data in a non-redundant raid system
JP3702231B2 (ja) * 2002-01-31 2005-10-05 株式会社東芝 ディスクアレイ装置及び同装置における動的記憶容量拡張方法
US6959413B2 (en) * 2002-06-18 2005-10-25 Lsi Logic Corporation Method of handling unreadable blocks during rebuilding of a RAID device
US20060041793A1 (en) * 2004-08-17 2006-02-23 Dell Products L.P. System, method and software for enhanced raid rebuild
US7549112B2 (en) * 2006-01-13 2009-06-16 Dell Products L.P. Unique response for puncture drive media error
JP2007233903A (ja) * 2006-03-03 2007-09-13 Hitachi Ltd 記憶制御装置及び記憶制御装置のデータ回復方法
JP2007280089A (ja) * 2006-04-07 2007-10-25 Hitachi Ltd 容量拡張ボリュームの移行方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012226770A (ja) * 2006-05-24 2012-11-15 Compellent Technologies Raid管理、再割振り、およびリストライピングのためのシステムおよび方法

Also Published As

Publication number Publication date
US20050229033A1 (en) 2005-10-13

Similar Documents

Publication Publication Date Title
JP2005293363A (ja) ディスクアレイコントローラおよび情報処理装置
US7984325B2 (en) Storage control device, data recovery device, and storage system
US6467023B1 (en) Method for logical unit creation with immediate availability in a raid storage environment
US6766491B2 (en) Parity mirroring between controllers in an active-active controller pair
US20110302369A1 (en) Storage apparatus and control method therefor
CN106168920B (zh) 控制包括只读闪速数据存储设备的独立磁盘冗余阵列
US20090198888A1 (en) Disk Array System
JP2010015195A (ja) 記憶制御装置及び記憶制御方法
JP5721344B2 (ja) システム、システムの制御方法、及び、プログラム
US20150286531A1 (en) Raid storage processing
JP4322870B2 (ja) Raid装置、raid制御方法、及びraid制御プログラム
US7779202B2 (en) Apparatus and method for controlling disk array with redundancy and error counting
JP2014096072A (ja) ミラー構成を有するディスクアレイ及びそのリビルド方法
JP4491330B2 (ja) ディスクアレイ装置とそのデータのリカバリ方法およびデータリカバリプログラム
WO2011090012A1 (ja) ソリッド・ステート・ドライブ装置およびミラー構成再構成方法
WO2014188479A1 (ja) ストレージ装置及びストレージ装置の制御方法
JP6052288B2 (ja) ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム
US7293193B2 (en) Array controller for disk array, and method for rebuilding disk array
JP2001043031A (ja) 分散パリティ生成機能を備えたディスクアレイ制御装置
US8832370B2 (en) Redundant array of independent storage
JP2007052509A (ja) ディスクアレイ装置における媒体エラーリカバリ装置、方法、及びプログラム
JP2005284643A (ja) ディスクアレイ制御装置、ディスクアレイ制御装置の制御方法、及び制御プログラム
JP5505329B2 (ja) ディスクアレイ装置及びその制御方法
JP2005107675A (ja) ディスクアレイコントローラ及びディスクドライブの複製方法
JP2005293119A (ja) ディスクアレイ制御装置、同装置に適用されるデータ欠損検出時の処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061003

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080605