JPH08221217A - ディスクアレイサブシステムのデータ再構築方法 - Google Patents
ディスクアレイサブシステムのデータ再構築方法Info
- Publication number
- JPH08221217A JPH08221217A JP7029111A JP2911195A JPH08221217A JP H08221217 A JPH08221217 A JP H08221217A JP 7029111 A JP7029111 A JP 7029111A JP 2911195 A JP2911195 A JP 2911195A JP H08221217 A JPH08221217 A JP H08221217A
- Authority
- JP
- Japan
- Prior art keywords
- data
- disk device
- data reconstruction
- reconstruction
- disk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Hardware Redundancy (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
(57)【要約】
【目的】ディスクアレイサブシステムにおいて、故障デ
ィスク装置を、代替ディスク装置に置き換えた場合に、
代替ディスク装置に対するデータの再構築を、ホストコ
ンピュータとのI/O性能を保持したまま実行する。 【構成】データの再構築中に入出力処理要求があった場
合は、データ再構築を中断して入出力処理を行い、入出
力処理に際して転送されるデータを用いて、アクセスさ
れたブロックのデータ再構築を行う。さらに、入出力処
理の終了後は、アクセスされたブロックの次のブロック
からデータ再構築を再開する。 【効果】本発明によれば、ホストシステムからのI/O
要求の性能を低減することなく、代替ディスク装置のデ
ータの再構築を高速化することが出来る。
ィスク装置を、代替ディスク装置に置き換えた場合に、
代替ディスク装置に対するデータの再構築を、ホストコ
ンピュータとのI/O性能を保持したまま実行する。 【構成】データの再構築中に入出力処理要求があった場
合は、データ再構築を中断して入出力処理を行い、入出
力処理に際して転送されるデータを用いて、アクセスさ
れたブロックのデータ再構築を行う。さらに、入出力処
理の終了後は、アクセスされたブロックの次のブロック
からデータ再構築を再開する。 【効果】本発明によれば、ホストシステムからのI/O
要求の性能を低減することなく、代替ディスク装置のデ
ータの再構築を高速化することが出来る。
Description
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
の外部記憶装置であるディスクアレイサブシステムに係
り、特にディスクアレイサブシステムにおいて、故障し
たディスク装置のデータを、交換した正常ドライブに高
速に再生するための高速データ再構築手段に関する。
の外部記憶装置であるディスクアレイサブシステムに係
り、特にディスクアレイサブシステムにおいて、故障し
たディスク装置のデータを、交換した正常ドライブに高
速に再生するための高速データ再構築手段に関する。
【0002】
【従来の技術】近年、コンピュータシステムの外部記憶
装置であるディスク装置は記憶容量が拡大し、それに伴
い1台のディスク装置が故障した場合のデータの保証が
大きな問題となってきている。この問題を解決する記憶
サブシステムとして、ディスクアレイサブシステムがあ
る。
装置であるディスク装置は記憶容量が拡大し、それに伴
い1台のディスク装置が故障した場合のデータの保証が
大きな問題となってきている。この問題を解決する記憶
サブシステムとして、ディスクアレイサブシステムがあ
る。
【0003】ディスクアレイサブシステムは、比較的安
価な小型ディスクをアレイ状に並べ、これら複数のディ
スク装置を論理的にn台毎にグループ化した1つ以上の
列単位に分割し、各列を構成するディスク装置を、さら
にm台のデータディスクと、(n−m)台の冗長ディス
クに分割して管理する。そして、上位コンピュータから
書き込みアクセスが発生した場合、書き込みデータをm
台のデータディスクにビット単位または、1バイト以上
の複数バイト単位に分散して記録(この処理をストライ
ピングと言う)し、(m−n)台の冗長ディスクには、
各列のm台のデータディスクに記録したデータから計算
されるパリティデータを記録する。特定のディスク装置
が故障した場合に、当該ディスク装置に記録されていた
データを、当該ディスク装置を含む列内の他のディスク
装置のデータから特定の演算処理により再生すること
で、データの保証をおこなうことができる。
価な小型ディスクをアレイ状に並べ、これら複数のディ
スク装置を論理的にn台毎にグループ化した1つ以上の
列単位に分割し、各列を構成するディスク装置を、さら
にm台のデータディスクと、(n−m)台の冗長ディス
クに分割して管理する。そして、上位コンピュータから
書き込みアクセスが発生した場合、書き込みデータをm
台のデータディスクにビット単位または、1バイト以上
の複数バイト単位に分散して記録(この処理をストライ
ピングと言う)し、(m−n)台の冗長ディスクには、
各列のm台のデータディスクに記録したデータから計算
されるパリティデータを記録する。特定のディスク装置
が故障した場合に、当該ディスク装置に記録されていた
データを、当該ディスク装置を含む列内の他のディスク
装置のデータから特定の演算処理により再生すること
で、データの保証をおこなうことができる。
【0004】ディスクアレイには、データのストライピ
ングの単位およびパリティドライブの配置に応じてRA
ID1からRAID5までの構成が定義されている。こ
の定義については、A Case for Redundant Array of In
expensive Disk (RAID) by David A.Patterson, Garth
Gibson, and Randy H.Katz University of California
Berkeley (December 1987) にその詳細が述べられてい
る。
ングの単位およびパリティドライブの配置に応じてRA
ID1からRAID5までの構成が定義されている。こ
の定義については、A Case for Redundant Array of In
expensive Disk (RAID) by David A.Patterson, Garth
Gibson, and Randy H.Katz University of California
Berkeley (December 1987) にその詳細が述べられてい
る。
【0005】ディスクアレイサブシステムでは、1台の
ディスク装置が故障した場合、そのディスク装置を正常
なディスク装置に交換し、交換されたディスク装置上
に、もとのデータを回復させなくてはならない。これ
は、1台のディスク装置が故障している状態で、2台目
のディスク装置が故障した場合、データの喪失に至るた
めである。特開平5−143471には、上位コンピュ
ータとの接続状態を保ったままディスク装置を交換し、
オンラインでデータの再構築を行うディスクアレイサブ
システムが記載されている。
ディスク装置が故障した場合、そのディスク装置を正常
なディスク装置に交換し、交換されたディスク装置上
に、もとのデータを回復させなくてはならない。これ
は、1台のディスク装置が故障している状態で、2台目
のディスク装置が故障した場合、データの喪失に至るた
めである。特開平5−143471には、上位コンピュ
ータとの接続状態を保ったままディスク装置を交換し、
オンラインでデータの再構築を行うディスクアレイサブ
システムが記載されている。
【0006】
【発明が解決しようとする課題】ディスクアレイサブシ
ステムでは、1台のディスク装置が故障した場合、その
ディスク装置を正常なディスク装置に置き換えて、速や
かにデータを再構築しなくてはならない。これは、2台
目のディスク装置が故障した場合データの喪失になるた
めである。しかも、ディスクアレイサブシステムでは、
上位からのデータを複数のディスク装置に分散して記録
しているため、2台目のディスク装置のデータを喪失し
た場合、当該列における残りのディスク装置のデータも
失われる点で、従来ディスク装置に比べて、より危険な
状態に陥ることになる。
ステムでは、1台のディスク装置が故障した場合、その
ディスク装置を正常なディスク装置に置き換えて、速や
かにデータを再構築しなくてはならない。これは、2台
目のディスク装置が故障した場合データの喪失になるた
めである。しかも、ディスクアレイサブシステムでは、
上位からのデータを複数のディスク装置に分散して記録
しているため、2台目のディスク装置のデータを喪失し
た場合、当該列における残りのディスク装置のデータも
失われる点で、従来ディスク装置に比べて、より危険な
状態に陥ることになる。
【0007】ディスクアレイサブシステムでは、一般に
オンラインで故障ディスク装置を、代替ディスク装置に
交換する。コントローラは、上位コンピュータとの接続
を確保しているため、上位からのアクセスと、故障ディ
スク装置に対するデータ再構築処理を、並行して実行し
なくてはならない。この時、交換ディスク装置にデータ
が回復されるまでの時間を最短にするためには、コント
ローラは、データの再構築処理に専念することが望まし
いが、その間上位とのI/Oが停止したり、極端に性能
が落ちることになるといった問題がある。
オンラインで故障ディスク装置を、代替ディスク装置に
交換する。コントローラは、上位コンピュータとの接続
を確保しているため、上位からのアクセスと、故障ディ
スク装置に対するデータ再構築処理を、並行して実行し
なくてはならない。この時、交換ディスク装置にデータ
が回復されるまでの時間を最短にするためには、コント
ローラは、データの再構築処理に専念することが望まし
いが、その間上位とのI/Oが停止したり、極端に性能
が落ちることになるといった問題がある。
【0008】一方、上位とのI/Oを優先させ、装置の
性能を確保しながらデータの再構築を進めた場合、デー
タの再構築時間が極端に伸び、この間に第2のディスク
装置が故障し、データを喪失させる危険性が極めて高く
なるといった問題がある。
性能を確保しながらデータの再構築を進めた場合、デー
タの再構築時間が極端に伸び、この間に第2のディスク
装置が故障し、データを喪失させる危険性が極めて高く
なるといった問題がある。
【0009】本発明の目的は、これらの問題点を鑑み
て、上位コンピュータとのI/O処理を継続しながら、
短かい時間でデータの再構築を完了するディスクアレイ
サブシステムを提供することである。
て、上位コンピュータとのI/O処理を継続しながら、
短かい時間でデータの再構築を完了するディスクアレイ
サブシステムを提供することである。
【0010】
【課題を解決するための手段】本発明によるディスクア
レイサブシステムは、故障ディスク装置が正常なディス
ク装置に置き換えられた後、データの再構築を行う時
に、コントローラの制御ソフトは、データ再構築タスク
を起動する。データ再構築タスクでは、最初に代替ディ
スク装置の全ブロックと1対1に対応する管理構造をテ
ーブルとして構成する。この管理テーブルは、対応する
ブロックが、データの再構築が未完了の状態と、完了の
状態を管理する機能を持ち、初期化においてすべてのブ
ロックがデータの再構築が未完了であるように設定す
る。
レイサブシステムは、故障ディスク装置が正常なディス
ク装置に置き換えられた後、データの再構築を行う時
に、コントローラの制御ソフトは、データ再構築タスク
を起動する。データ再構築タスクでは、最初に代替ディ
スク装置の全ブロックと1対1に対応する管理構造をテ
ーブルとして構成する。この管理テーブルは、対応する
ブロックが、データの再構築が未完了の状態と、完了の
状態を管理する機能を持ち、初期化においてすべてのブ
ロックがデータの再構築が未完了であるように設定す
る。
【0011】データの再構築は、第一のブロックから最
終ブロックに順に実行し、データの再構築が終了したブ
ロックに対応するテーブルをデータ再構築完了とする。
この間に、上位コンピュータからリード又はライトアク
セスが発生すると、コントローラはデータ再構築処理タ
スクを保留し、リードライトアクセスタスクを起動す
る。当該タスクは、上位のアクセスが代替ディスク装置
に対するものであると認識し、しかもそのアクセスが前
記管理テーブル上データ再構築が未完了状態であるエリ
アに対するライト処理であると認識した場合、書き込み
データを代替ディスクに書き込み、さらに当該ブロック
を含むストライプ上の他のディスク装置のデータからパ
リティを計算し、パリティディスク装置に記録する。さ
らに、当該ブロックを、前記テーブルに於いて、データ
再構築完了状態にセットする。
終ブロックに順に実行し、データの再構築が終了したブ
ロックに対応するテーブルをデータ再構築完了とする。
この間に、上位コンピュータからリード又はライトアク
セスが発生すると、コントローラはデータ再構築処理タ
スクを保留し、リードライトアクセスタスクを起動す
る。当該タスクは、上位のアクセスが代替ディスク装置
に対するものであると認識し、しかもそのアクセスが前
記管理テーブル上データ再構築が未完了状態であるエリ
アに対するライト処理であると認識した場合、書き込み
データを代替ディスクに書き込み、さらに当該ブロック
を含むストライプ上の他のディスク装置のデータからパ
リティを計算し、パリティディスク装置に記録する。さ
らに、当該ブロックを、前記テーブルに於いて、データ
再構築完了状態にセットする。
【0012】また、上位のアクセスが代替ディスク装置
に対するものであると認識し、しかもそのアクセスが前
記管理テーブル上データ再構築が未完了状態であるエリ
アに対するリード処理であると認識した場合、当該ブロ
ックを含むストライプ上の他のディスク装置のデータを
読み出し、データ再構成演算を行うことで、データの回
復を行い、そのデータを上位コンピュータに送る。さら
に、そのデータを代替ディスク装置に書き込むと同時
に、前記テーブルに於いて、データ再構築完了状態にセ
ットする。
に対するものであると認識し、しかもそのアクセスが前
記管理テーブル上データ再構築が未完了状態であるエリ
アに対するリード処理であると認識した場合、当該ブロ
ックを含むストライプ上の他のディスク装置のデータを
読み出し、データ再構成演算を行うことで、データの回
復を行い、そのデータを上位コンピュータに送る。さら
に、そのデータを代替ディスク装置に書き込むと同時
に、前記テーブルに於いて、データ再構築完了状態にセ
ットする。
【0013】リードライトアクセスタスクが終了した時
点で、上位コンピュータから次のアクセスが発生してい
ない場合、コントローラは保留中のデータ再構築タスク
を再起動させる。再起動された、データ再構築タスクで
は、現在ヘッドが位置しているトラックと、前記管理テ
ーブルと比較を行い、最も近傍のデータ再構築処理が未
完了のブロックをターゲットにして、データ再構築処理
を再開する。データ再構築処理は、上位コンピュータか
らのアクセスが発生しない限り、連続するトラックをデ
ータ再構築処理する。データ再構築中に、管理テーブル
上で、データ再構築処理が完了したエリアに達した場
合、その部分をスキップしてデータ再構築処理を継続さ
せる。前記管理テーブルのすべてのブロックがデータ再
構築完了状態となった場合、データ再構築タスクは終了
になる。
点で、上位コンピュータから次のアクセスが発生してい
ない場合、コントローラは保留中のデータ再構築タスク
を再起動させる。再起動された、データ再構築タスクで
は、現在ヘッドが位置しているトラックと、前記管理テ
ーブルと比較を行い、最も近傍のデータ再構築処理が未
完了のブロックをターゲットにして、データ再構築処理
を再開する。データ再構築処理は、上位コンピュータか
らのアクセスが発生しない限り、連続するトラックをデ
ータ再構築処理する。データ再構築中に、管理テーブル
上で、データ再構築処理が完了したエリアに達した場
合、その部分をスキップしてデータ再構築処理を継続さ
せる。前記管理テーブルのすべてのブロックがデータ再
構築完了状態となった場合、データ再構築タスクは終了
になる。
【0014】
【作用】データ再構築が完了したことを管理するテーブ
ルを設けることで、ランダムにデータ代替ディスク装置
に対するデータ再構築を実施しても、同一ブロックに対
するデータ再構築を重複して実行させることなくデータ
再構築タスクを効率よく実行することが出来る。
ルを設けることで、ランダムにデータ代替ディスク装置
に対するデータ再構築を実施しても、同一ブロックに対
するデータ再構築を重複して実行させることなくデータ
再構築タスクを効率よく実行することが出来る。
【0015】また、上位コンピュータからのリードライ
ト処理が完了後、データの再構築を開始するブロック
を、現在ヘッドが位置している位置の近傍から開始する
ことで、タスク切替え時に発生するシーク動作を最小限
にすることが出来、データ再構築のトータル時間を短縮
することが出来る。
ト処理が完了後、データの再構築を開始するブロック
を、現在ヘッドが位置している位置の近傍から開始する
ことで、タスク切替え時に発生するシーク動作を最小限
にすることが出来、データ再構築のトータル時間を短縮
することが出来る。
【0016】上位からのリードライトアクセスにより、
再構成したデータもまた、データ再構築された状態とし
て管理する構造を設けることで、高い頻度で上位コンピ
ュータからのアクセスが発生しても、データの再構築が
進むことになり、トータルのデータ再構築時間を短縮す
ることが出来る。
再構成したデータもまた、データ再構築された状態とし
て管理する構造を設けることで、高い頻度で上位コンピ
ュータからのアクセスが発生しても、データの再構築が
進むことになり、トータルのデータ再構築時間を短縮す
ることが出来る。
【0017】
【実施例】図1は、本発明の実施例によるディスクアレ
イサブシステムのハードウェアのブロック図である。1
00は装置全体を示す。101はサブシステムの動作を
制御するコントローラである。102〜106は第1列
を構成するディスク装置である。この実施例ではディス
ク装置は複数の列構成を持つ。107は、ホストコンピ
ュータとのインタフェースポートであり、SCSI(Sma
ll Computer SystemInterface)インタフェースとなって
いる。108〜112は、下位ドライブインタフェース
で、SCSIインタフェースとなっており、列を構成す
るドライブ毎に独立なインタフェースポートを持ってい
る。113はコントラーラ及びディスク装置に電源を供
給する電源部である。114は保守用の表示パネル及び
コマンドキー入力用のタッチキーである。115はコン
トローラにより管理されるキャシュメモリである。
イサブシステムのハードウェアのブロック図である。1
00は装置全体を示す。101はサブシステムの動作を
制御するコントローラである。102〜106は第1列
を構成するディスク装置である。この実施例ではディス
ク装置は複数の列構成を持つ。107は、ホストコンピ
ュータとのインタフェースポートであり、SCSI(Sma
ll Computer SystemInterface)インタフェースとなって
いる。108〜112は、下位ドライブインタフェース
で、SCSIインタフェースとなっており、列を構成す
るドライブ毎に独立なインタフェースポートを持ってい
る。113はコントラーラ及びディスク装置に電源を供
給する電源部である。114は保守用の表示パネル及び
コマンドキー入力用のタッチキーである。115はコン
トローラにより管理されるキャシュメモリである。
【0018】上位コンピュータからのリード又はライト
アクセスは、キャシュメモリを介して行われる。即ち、
データライトの場合、上位からの連続するデータを一旦
キャシュメモリに書き込み、そのデータからパリティデ
ータを計算し、それらのデータを列を構成するディスク
に分散して書き込まれる。データリードの場合、リード
要求があったブロックに対するデータを分散されたディ
スク装置からキャシュメモリ上に読み出し、データを集
合して上位コンピュータに返す。これらのディスクアレ
イサブシステム特有の動作は、上位コンピュータには隠
されており、上位コンピュータからはあたかも大容量の
1台又はLUN(Logical Unit Number)分割された複数
台のディスク装置として認識される。
アクセスは、キャシュメモリを介して行われる。即ち、
データライトの場合、上位からの連続するデータを一旦
キャシュメモリに書き込み、そのデータからパリティデ
ータを計算し、それらのデータを列を構成するディスク
に分散して書き込まれる。データリードの場合、リード
要求があったブロックに対するデータを分散されたディ
スク装置からキャシュメモリ上に読み出し、データを集
合して上位コンピュータに返す。これらのディスクアレ
イサブシステム特有の動作は、上位コンピュータには隠
されており、上位コンピュータからはあたかも大容量の
1台又はLUN(Logical Unit Number)分割された複数
台のディスク装置として認識される。
【0019】図2は、コントローラ101の内部ブロッ
ク図と、データの流れをを示す。201は、DMA転送
をコントロールするDMAコントローラで、その内部は
DMAのバスを切替えるマルチプレクス202,パリテ
ィ計算を行うDRR203より構成される。
ク図と、データの流れをを示す。201は、DMA転送
をコントロールするDMAコントローラで、その内部は
DMAのバスを切替えるマルチプレクス202,パリテ
ィ計算を行うDRR203より構成される。
【0020】ここでは、ホストからデータライトコマン
ドが発行された場合のデータの流れを示す。ホストから
送られるデータは、204のパスですべて115のキャ
シュメモリに書き込まれる、1列分のデータがキャシュ
に書き込まれると、そのデータを205のパスを介して
DRRに入力し、パリティ計算を行った結果を206の
パスでキャシュメモリに書き込む。データ及びパリティ
データは、207のパスでディスク装置に分散して書き
込まれる、この処理をストライピングと呼ぶ。
ドが発行された場合のデータの流れを示す。ホストから
送られるデータは、204のパスですべて115のキャ
シュメモリに書き込まれる、1列分のデータがキャシュ
に書き込まれると、そのデータを205のパスを介して
DRRに入力し、パリティ計算を行った結果を206の
パスでキャシュメモリに書き込む。データ及びパリティ
データは、207のパスでディスク装置に分散して書き
込まれる、この処理をストライピングと呼ぶ。
【0021】図3から図5は、この動作をキャシュ上の
データの状態で示したものである。図3は、上位コンピ
ュータから1列分のデータか書き込まれた時点の状態を
示し、D0〜D3が、上位コンピュータから書き込まれ
た1列分のデータを示す。さらに、1列分のデータから
DRRを介してパリティデータを計算してキャッシュメ
モリ上におかれると図4の様になり、演算が終了すると
図5に示されるように、データ及びパリティデータは、
5台のディスク装置に分散して記録される。
データの状態で示したものである。図3は、上位コンピ
ュータから1列分のデータか書き込まれた時点の状態を
示し、D0〜D3が、上位コンピュータから書き込まれ
た1列分のデータを示す。さらに、1列分のデータから
DRRを介してパリティデータを計算してキャッシュメ
モリ上におかれると図4の様になり、演算が終了すると
図5に示されるように、データ及びパリティデータは、
5台のディスク装置に分散して記録される。
【0022】図4のDRR演算は、数1の演算式に従っ
て計算され、その動作はすべてハードウェアによりで実
現されている。数2〜数5は数1から容易に導きだすこ
とが出来きる。これらの式は、1台のディスク装置が故
障した場合に、残りのディスク装置のデータから故障デ
ィスク装置のデータを回復出来ることを示している。し
かしこれらの式はまた、同時に2台のディスク装置が故
障した場合には、データを回復出来ないことを示してい
る。
て計算され、その動作はすべてハードウェアによりで実
現されている。数2〜数5は数1から容易に導きだすこ
とが出来きる。これらの式は、1台のディスク装置が故
障した場合に、残りのディスク装置のデータから故障デ
ィスク装置のデータを回復出来ることを示している。し
かしこれらの式はまた、同時に2台のディスク装置が故
障した場合には、データを回復出来ないことを示してい
る。
【0023】
【数1】
【0024】
【数2】
【0025】
【数3】
【0026】
【数4】
【0027】
【数5】
【0028】即ち、同時に2台のディスク装置が故障し
た場合、残りのディスク装置のデータからこの2台のデ
ィスク装置のデータをユニークに決定することは出来な
いことがわかる。従って、ディスクアレイサブシステム
に於いては、1台目のディスク装置が故障した場合、当
該ディスク装置を直ちに代替ディスク装置に入れ替え、
2台目のディスク装置の故障が発生する前に、代替ディ
スク装置上に元のデータを回復させなくてはならない。
この処理をデータ再構築処理と言う。
た場合、残りのディスク装置のデータからこの2台のデ
ィスク装置のデータをユニークに決定することは出来な
いことがわかる。従って、ディスクアレイサブシステム
に於いては、1台目のディスク装置が故障した場合、当
該ディスク装置を直ちに代替ディスク装置に入れ替え、
2台目のディスク装置の故障が発生する前に、代替ディ
スク装置上に元のデータを回復させなくてはならない。
この処理をデータ再構築処理と言う。
【0029】次に、データ再構築処理の手順を図6から
図8を用いて説明する。図6から図8は、ディスク装置
102が故障し、代替ディスク装置601に置き換えら
れた場合を示す。まず第一に、図6で示すように、ディ
スク装置103〜106のデータをキャシュメモリ上に
読みだす。この時読みだしたD1,D2,D3,DPの
データから、図7に示すようにDRR演算によって、D
0を再生する。データが再生出来ることは、数2から明
らかである。ここで求まったD0を、図8に示すように
代替ディスク装置601に書き込むことで、分割された
データの第1のブロックの回復が行われる。
図8を用いて説明する。図6から図8は、ディスク装置
102が故障し、代替ディスク装置601に置き換えら
れた場合を示す。まず第一に、図6で示すように、ディ
スク装置103〜106のデータをキャシュメモリ上に
読みだす。この時読みだしたD1,D2,D3,DPの
データから、図7に示すようにDRR演算によって、D
0を再生する。データが再生出来ることは、数2から明
らかである。ここで求まったD0を、図8に示すように
代替ディスク装置601に書き込むことで、分割された
データの第1のブロックの回復が行われる。
【0030】この手順を、ディスク装置のすべてのブロ
ックに対して実行することで、ディスク装置601に、
故障ディスク装置102にもともと記録されていたすべ
てのデータが再構築され、データ再構築処理は完了す
る。
ックに対して実行することで、ディスク装置601に、
故障ディスク装置102にもともと記録されていたすべ
てのデータが再構築され、データ再構築処理は完了す
る。
【0031】これら一連の処理は、ディスク装置全体に
対して実行されるため、コントローラが当該処理に専念
しても数時間の時間を要する。さらに、当該処理は一般
にオンラインで実行されるため、当該処理実行中に於い
ても上位コンピュータからのアクセスは発生することに
なり、この場合、実行中のデータ再構築タスクは一旦保
留され、上位コンピュータからのアクセス処理の完了を
待って、当該タスクは再開される。従って、上位コンピ
ュータからのアクセス頻度が高い場合、データ再構築タ
スクは、保留時間が延びタスク終了が遅れることにな
る。
対して実行されるため、コントローラが当該処理に専念
しても数時間の時間を要する。さらに、当該処理は一般
にオンラインで実行されるため、当該処理実行中に於い
ても上位コンピュータからのアクセスは発生することに
なり、この場合、実行中のデータ再構築タスクは一旦保
留され、上位コンピュータからのアクセス処理の完了を
待って、当該タスクは再開される。従って、上位コンピ
ュータからのアクセス頻度が高い場合、データ再構築タ
スクは、保留時間が延びタスク終了が遅れることにな
る。
【0032】上位コンピュータからのデータリードライ
トアクセスが故障ディスク装置を含む列に対して発生さ
れた場合、データリードライトタスクで実行される処理
は、データ再構築処理とほぼ同等の処理が実行される。
その動作を、図9から図15に示す。図9から図11
は、ディスク装置102が故障し、代替ディスク装置6
01に置き換えれれた状態で、上位コンピュータから故
障ディスク装置に対して、リードアクセスが発生した場
合の処理を示す。
トアクセスが故障ディスク装置を含む列に対して発生さ
れた場合、データリードライトタスクで実行される処理
は、データ再構築処理とほぼ同等の処理が実行される。
その動作を、図9から図15に示す。図9から図11
は、ディスク装置102が故障し、代替ディスク装置6
01に置き換えれれた状態で、上位コンピュータから故
障ディスク装置に対して、リードアクセスが発生した場
合の処理を示す。
【0033】当該ディスク装置は代替ディスク装置に置
き換えられているため、データ再構築を行うため、図9
に示されるように一旦ディスク装置103〜106のデ
ータをキャシュメモリ上に読み出し、DRR演算によっ
てD0を再生する。この処理は、データ再構築タスクの
説明と同様である。再構成されたデータは、上位コンピ
ュータに上位インタフェースを介して転送される。ここ
までがデータリードタスクで実行される処理であるが、
ここで1101のパスにより代替ディスク装置601に
D0のデータを書き込むことで、当該ブロックに対する
データ再構築を同時に完了させることが出来る。
き換えられているため、データ再構築を行うため、図9
に示されるように一旦ディスク装置103〜106のデ
ータをキャシュメモリ上に読み出し、DRR演算によっ
てD0を再生する。この処理は、データ再構築タスクの
説明と同様である。再構成されたデータは、上位コンピ
ュータに上位インタフェースを介して転送される。ここ
までがデータリードタスクで実行される処理であるが、
ここで1101のパスにより代替ディスク装置601に
D0のデータを書き込むことで、当該ブロックに対する
データ再構築を同時に完了させることが出来る。
【0034】同様の条件に於いて、上位コンピュータか
ら故障ディスク装置に対して、ライトアクセスが発生し
た場合の処理を図12から図15に示す。上位コンピュ
ータから、D0データが書き込まれた状態を図12に示
す。パリティデータを更新するために、図13に示す様
に103〜105のディスクドライブからD1〜D3の
データを読み出し、図14に示すようにDRR演算によ
りパリティデータを再計算する。パリティ計算が終了し
たら、図15に示すように上位コンピュータから書き込
みのあったD0と、再計算されたDpを1501及び1
502のパスでディスク装置に書き込む。これでデータ
ライトタスクは完了する。この結果からわかるように、
データライトのあったブロックは、データライトタスク
が完了した時点で、既にデータ再構築処理が不要とな
る。
ら故障ディスク装置に対して、ライトアクセスが発生し
た場合の処理を図12から図15に示す。上位コンピュ
ータから、D0データが書き込まれた状態を図12に示
す。パリティデータを更新するために、図13に示す様
に103〜105のディスクドライブからD1〜D3の
データを読み出し、図14に示すようにDRR演算によ
りパリティデータを再計算する。パリティ計算が終了し
たら、図15に示すように上位コンピュータから書き込
みのあったD0と、再計算されたDpを1501及び1
502のパスでディスク装置に書き込む。これでデータ
ライトタスクは完了する。この結果からわかるように、
データライトのあったブロックは、データライトタスク
が完了した時点で、既にデータ再構築処理が不要とな
る。
【0035】次に、この特性を利用したデータの再構築
処理について説明する。まず、データ再構築タスクは、
その初期設定に於いて、代替ディスク装置のすべてのブ
ロックに1対1で対応するデータ再構築完了を示す管理
テーブルを作成する。このテーブルはすべて”0”で初
期化する。当該テーブルデータが、”0”である状態と
は、対応するブロックのデータ再構築が未完了である状
態を示し、また”1”である状態とは、対応するブロッ
クのデータ再構築が完了状態であることを示す。
処理について説明する。まず、データ再構築タスクは、
その初期設定に於いて、代替ディスク装置のすべてのブ
ロックに1対1で対応するデータ再構築完了を示す管理
テーブルを作成する。このテーブルはすべて”0”で初
期化する。当該テーブルデータが、”0”である状態と
は、対応するブロックのデータ再構築が未完了である状
態を示し、また”1”である状態とは、対応するブロッ
クのデータ再構築が完了状態であることを示す。
【0036】当該テーブルは、データ再構築タスクと、
データリードタスク及びデータライトタスクで共通に使
われ、データリードライトタスクでは、前記処理を実行
した後に、このテーブル上の対応するビットを”1”に
セットするように管理する。データ再構築タスクでは、
次に実行するブロックに対応するテーブルが”1”であ
ったら、当該ブロックをスキップして次のブロックに処
理を進める。
データリードタスク及びデータライトタスクで共通に使
われ、データリードライトタスクでは、前記処理を実行
した後に、このテーブル上の対応するビットを”1”に
セットするように管理する。データ再構築タスクでは、
次に実行するブロックに対応するテーブルが”1”であ
ったら、当該ブロックをスキップして次のブロックに処
理を進める。
【0037】図16は、この実施例において、データ再
構築処理と上位コンピュータからのアクセスが並行して
実行された場合の、管理テーブルの状態遷移を時系列で
あらわしたものである。1601は、データ再構築タス
クが起動され、初期化された状態を示す。データ再構築
タスクが起動されると当該タスクでは、LBA0番から
順にデータの再構築を開始する。
構築処理と上位コンピュータからのアクセスが並行して
実行された場合の、管理テーブルの状態遷移を時系列で
あらわしたものである。1601は、データ再構築タス
クが起動され、初期化された状態を示す。データ再構築
タスクが起動されると当該タスクでは、LBA0番から
順にデータの再構築を開始する。
【0038】1602は、LBA2まで再構築が完了し
た状態を示している。この時点で、上位コンピュータか
らリードライトアクセスが発生すると、既に述べたよう
に、データ再構築タスクは一旦保留され、リードライト
タスクが起動される。一般に、リードライトアクセスは
ランダムに発生するため、このタスクの中でデータ再構
築テーブルの更新されると、データ再構築の完了を示
す”1”の状態は、飛び飛びに発生し、その結果160
3の様な状態になる。
た状態を示している。この時点で、上位コンピュータか
らリードライトアクセスが発生すると、既に述べたよう
に、データ再構築タスクは一旦保留され、リードライト
タスクが起動される。一般に、リードライトアクセスは
ランダムに発生するため、このタスクの中でデータ再構
築テーブルの更新されると、データ再構築の完了を示
す”1”の状態は、飛び飛びに発生し、その結果160
3の様な状態になる。
【0039】この状態で、上位コンピュータからのアク
セスがとぎれると、保留されていたデータ再構築タスク
が再び起動され、データ再構築タスクは、先程の処理の
継続を実行するため、LBA3からその処理を再開す
る。そして、データ再構築が進み、LBA(i−1)ま
で進んだ状態が1604である。
セスがとぎれると、保留されていたデータ再構築タスク
が再び起動され、データ再構築タスクは、先程の処理の
継続を実行するため、LBA3からその処理を再開す
る。そして、データ再構築が進み、LBA(i−1)ま
で進んだ状態が1604である。
【0040】ここで、データ再構築タスクは、次にLB
Aiのデータ再構築処理を実行しようとする。しかし、
管理テーブルを参照すると、LBAiがデータリードラ
イトタスクで既にデータ再構築されていることが認識さ
れる。そのため、LBAiでのデータ再構築をスキップ
し、LBA(i+1)に処理を進める。同様に、LBA
i+2,LBAi+3をスキップし、LBAi+4へと
処理を進める。
Aiのデータ再構築処理を実行しようとする。しかし、
管理テーブルを参照すると、LBAiがデータリードラ
イトタスクで既にデータ再構築されていることが認識さ
れる。そのため、LBAiでのデータ再構築をスキップ
し、LBA(i+1)に処理を進める。同様に、LBA
i+2,LBAi+3をスキップし、LBAi+4へと
処理を進める。
【0041】この時点での状態を1605に示す。この
方式に従えば、データ再構築タスクが、保留されていて
もデータのリードライトアクセスがランダムに発生した
場合、結果的にデータの再構築処理が進めらる。そし
て、データ再構築タスクが再起動された場合、管理テー
ブル上、データ再構築が行われていなエリアが極端に少
なく、トータルのデータ再構築時間を短縮することが出
来る。
方式に従えば、データ再構築タスクが、保留されていて
もデータのリードライトアクセスがランダムに発生した
場合、結果的にデータの再構築処理が進めらる。そし
て、データ再構築タスクが再起動された場合、管理テー
ブル上、データ再構築が行われていなエリアが極端に少
なく、トータルのデータ再構築時間を短縮することが出
来る。
【0042】また、さらに効率を上げるために、データ
再構築タスクと、データリードライトタスク間のタスク
切替時のシーク時間を低減する手段を図17により説明
する。データ再構築タスク中に、上位コンピュータから
リードライトアクセスが発生し、データ再構築タスクを
保留して、データリードライトタスクを起動するまでの
過程は、図16で説明した状態とまったく同様である。
異なるところは、上位コンピュータからのアクセスがと
ぎれ、保留されていたデータ再構築タスクが再び起動さ
れた時の処理にある。
再構築タスクと、データリードライトタスク間のタスク
切替時のシーク時間を低減する手段を図17により説明
する。データ再構築タスク中に、上位コンピュータから
リードライトアクセスが発生し、データ再構築タスクを
保留して、データリードライトタスクを起動するまでの
過程は、図16で説明した状態とまったく同様である。
異なるところは、上位コンピュータからのアクセスがと
ぎれ、保留されていたデータ再構築タスクが再び起動さ
れた時の処理にある。
【0043】図17の管理テーブル1603の左にある
A〜Iのアルファベットは、データ再構築処理中に上位
コンピュータから起動されたデータリードライトアクセ
ス処理の順番を示す物とする。即ち、上位コンピュータ
は、ランダムにデータのリードライトを実行し、Iで示
されるアクセス、即ちLBA(i+3)に対するアクセ
スを終了した時点で、一旦とぎれデータの再構築タスク
が起動されたものとする。
A〜Iのアルファベットは、データ再構築処理中に上位
コンピュータから起動されたデータリードライトアクセ
ス処理の順番を示す物とする。即ち、上位コンピュータ
は、ランダムにデータのリードライトを実行し、Iで示
されるアクセス、即ちLBA(i+3)に対するアクセ
スを終了した時点で、一旦とぎれデータの再構築タスク
が起動されたものとする。
【0044】データ再構築タスクは、現在ヘッドが位置
しているLBAがi+3であることを、データリードラ
イトタスクから引き継ぐことができる。従って、そのL
BAと前記管理テーブルを比較することで、データ再構
築が完了してないブロックのうち、最も近い位置からデ
ータの再構築を開始することで、シーク時間が短縮さ
れ、トータルのデータ再構築時間を短縮することが出来
る。
しているLBAがi+3であることを、データリードラ
イトタスクから引き継ぐことができる。従って、そのL
BAと前記管理テーブルを比較することで、データ再構
築が完了してないブロックのうち、最も近い位置からデ
ータの再構築を開始することで、シーク時間が短縮さ
れ、トータルのデータ再構築時間を短縮することが出来
る。
【0045】図17の例では、LBA(i+4)からデ
ータ再構築処理を継続した場合シーク時間が少なくてす
むため、ここからデータ再構築処理を再開させることに
なる。その状態を、1701に示す。このように、次に
実行するデータ再構築ブロックを再スケジュールするこ
とで、タスク切替時のシーク時間を最短にし、データ再
構築時間を短縮することが出来る。
ータ再構築処理を継続した場合シーク時間が少なくてす
むため、ここからデータ再構築処理を再開させることに
なる。その状態を、1701に示す。このように、次に
実行するデータ再構築ブロックを再スケジュールするこ
とで、タスク切替時のシーク時間を最短にし、データ再
構築時間を短縮することが出来る。
【0046】図18〜20に、本発明の実施例の制御系
のフローチャートの概略を示す。図18はデータ再構築
処理、図19はリードコマンド処理、図20はライトコ
マンド処理を示す。ディスク装置が故障し、故障ディス
クを代替ディスクに交換すると、図18のデータ再構築
処理が起動される。まず、データ再構築管理テーブルを
配列rebuild[MAXLBA]で定義する(ステップ180
1)。MAXLBAは、代替ディスクドライブの最大論理ブロ
ック数を示す。
のフローチャートの概略を示す。図18はデータ再構築
処理、図19はリードコマンド処理、図20はライトコ
マンド処理を示す。ディスク装置が故障し、故障ディス
クを代替ディスクに交換すると、図18のデータ再構築
処理が起動される。まず、データ再構築管理テーブルを
配列rebuild[MAXLBA]で定義する(ステップ180
1)。MAXLBAは、代替ディスクドライブの最大論理ブロ
ック数を示す。
【0047】次に、その管理テーブル全体を0で初期化
する(ステップ1802)。さらに、現在データ再構築
処理を実行中のロジカルブロックアドレスを示す変数l
baと、データ再構築を開始したスタートのロジカルブ
ロックアドレスを示す変数slbaとを0で初期化する
(ステップ1803)。
する(ステップ1802)。さらに、現在データ再構築
処理を実行中のロジカルブロックアドレスを示す変数l
baと、データ再構築を開始したスタートのロジカルブ
ロックアドレスを示す変数slbaとを0で初期化する
(ステップ1803)。
【0048】ステップ1804で、tlbaにlbaを
待避し、以降の処理をtlbaを用いて実行する。これ
は、データ再構築中にホストからリード又はライトアク
セスが割り込み処理として発生し、これらの処理の中で
lbaが書き換えられてもデータ再構築処理が、継続そ
て処理出来るようにするためである。
待避し、以降の処理をtlbaを用いて実行する。これ
は、データ再構築中にホストからリード又はライトアク
セスが割り込み処理として発生し、これらの処理の中で
lbaが書き換えられてもデータ再構築処理が、継続そ
て処理出来るようにするためである。
【0049】次に、データ再構築管理テーブルを参照
し、データ再構築処理を行う論理ブロックのデータ再構
築が完了しているか否かを判定する(ステップ180
5)。この論理ブロックのデータ再構築が未完了である
場合、即ちrebuild[lba]が”0”である場合、ステップ
1806に処理を進め、データ再構築処理を実行する。
データ再構築が完了した時点で、1807でこの論理ブ
ロックに対するデータ再構築管理テーブルを”1”にセ
ットする。この論理ブロックのデータ再構築が完了して
いる場合、ステップ1808に処理を進める。
し、データ再構築処理を行う論理ブロックのデータ再構
築が完了しているか否かを判定する(ステップ180
5)。この論理ブロックのデータ再構築が未完了である
場合、即ちrebuild[lba]が”0”である場合、ステップ
1806に処理を進め、データ再構築処理を実行する。
データ再構築が完了した時点で、1807でこの論理ブ
ロックに対するデータ再構築管理テーブルを”1”にセ
ットする。この論理ブロックのデータ再構築が完了して
いる場合、ステップ1808に処理を進める。
【0050】ステップ1808で、lbaの値をインク
リメントし、データ再構築処理を次のブロックに進めて
いる。ステップ1809,1810は、インクリメント
した結果が、ディスク装置の最大ブロック数を越えた場
合に、lbaの値を”0”に戻し、データ再構築処理を
ディスク装置の先頭に戻している。そして、データ再構
築を開始したブロックまでlbaが進んだら、データ再
構築処理を終了する(ステップ1811)。
リメントし、データ再構築処理を次のブロックに進めて
いる。ステップ1809,1810は、インクリメント
した結果が、ディスク装置の最大ブロック数を越えた場
合に、lbaの値を”0”に戻し、データ再構築処理を
ディスク装置の先頭に戻している。そして、データ再構
築を開始したブロックまでlbaが進んだら、データ再
構築処理を終了する(ステップ1811)。
【0051】データ再構築処理中に、上位からのアクセ
スが発生していない場合、slbaはステップ1803
で”0”に初期化されたままである為、データ再構築が
MAXLBAまで到達し、ステップ1810でlbaに”0”
が書き込まれた時点でslba=lbaとなり、全面デ
ータ再構築が完了する。
スが発生していない場合、slbaはステップ1803
で”0”に初期化されたままである為、データ再構築が
MAXLBAまで到達し、ステップ1810でlbaに”0”
が書き込まれた時点でslba=lbaとなり、全面デ
ータ再構築が完了する。
【0052】図19は、データリード処理の制御フロー
チャートを示す。まず、現在データ再構築処理が起動さ
れているかを判断する(ステップ1901)。データ再
構築処理が起動中と判断された場合、データリード処理
が、故障ディスクに対するものであるか判断する(ステ
ップ1902)。そのアクセスが故障ディスクに対する
ものであると判断された場合、さらにそのブロックが、
データ再構築が完了しているか否かの判断を行う(ステ
ップ1903)。データ再構築未完了と判断された場合
は、ステップ1904〜ステップ1906で、データの
再構築を行い、そのデータをホストに転送している。さ
らに、そのデータを代替ディスクに書き込む(ステップ
1907)と共に、当該ブロックがデータ再構築が完了
していることを管理テーブル上に設定する(ステップ1
908)。
チャートを示す。まず、現在データ再構築処理が起動さ
れているかを判断する(ステップ1901)。データ再
構築処理が起動中と判断された場合、データリード処理
が、故障ディスクに対するものであるか判断する(ステ
ップ1902)。そのアクセスが故障ディスクに対する
ものであると判断された場合、さらにそのブロックが、
データ再構築が完了しているか否かの判断を行う(ステ
ップ1903)。データ再構築未完了と判断された場合
は、ステップ1904〜ステップ1906で、データの
再構築を行い、そのデータをホストに転送している。さ
らに、そのデータを代替ディスクに書き込む(ステップ
1907)と共に、当該ブロックがデータ再構築が完了
していることを管理テーブル上に設定する(ステップ1
908)。
【0053】ホストからのリードアクセスが、故障ディ
スクに対する物でなかったか、故障ディスクであっても
既にデータ再構築が完了している領域であると判断した
場合、通常通りに当該ディスクに対するリードを行う
(ステップ1909)。
スクに対する物でなかったか、故障ディスクであっても
既にデータ再構築が完了している領域であると判断した
場合、通常通りに当該ディスクに対するリードを行う
(ステップ1909)。
【0054】さらに、lbaに現在ヘッドが位置してい
る論理ブロック位置の次のブロックの番号である”m+
1”にセットする(ステップ1910)。そのため、本
処理が終了後データ再構築処理は、このブロックに引き
続くブロックから開始されることになる。ステップ19
11で、slbaに”m+1”を代入しているのは、1
910でlbaを書き換えている為、データ再構築処理
が未処理のまま飛ばされたブロックを最終的にデータ再
構築処理を行うためである。
る論理ブロック位置の次のブロックの番号である”m+
1”にセットする(ステップ1910)。そのため、本
処理が終了後データ再構築処理は、このブロックに引き
続くブロックから開始されることになる。ステップ19
11で、slbaに”m+1”を代入しているのは、1
910でlbaを書き換えている為、データ再構築処理
が未処理のまま飛ばされたブロックを最終的にデータ再
構築処理を行うためである。
【0055】図20は、データライト処理の制御フロー
チャートを示す。ステップ2001〜ステップ2004
のブロックが、ライト処理に代わっている点を除き、図
19と同様の処理となる。
チャートを示す。ステップ2001〜ステップ2004
のブロックが、ライト処理に代わっている点を除き、図
19と同様の処理となる。
【0056】図21に、これらの処理に従ったデータ再
構築管理テーブル及び、lba,slbaのポインタ位
置の状態変化を示す。
構築管理テーブル及び、lba,slbaのポインタ位
置の状態変化を示す。
【0057】2101は、データ再構築管理テーブルが
初期化された状態を示し、lba及びslbaが”0”
に初期化されている。
初期化された状態を示し、lba及びslbaが”0”
に初期化されている。
【0058】2102は、データ再構築処理により、論
理ブロックの若い番号からデータ再構築が始まり、論理
ブロック2まで完了した状態を示す。
理ブロックの若い番号からデータ再構築が始まり、論理
ブロック2まで完了した状態を示す。
【0059】この時点で、ホストコンピュータからリー
ドライト処理が起動され、A〜Iの順番にランダムアク
セスが発生した結果を、2103に示す。アクセスのあ
った論理ブロックに対応するデータ再構築管テーブル
は”1”にセットされ、さらにこの時点で、lba及び
slbaは、最後にアクセスがあったIの次のブロック
に設定される。
ドライト処理が起動され、A〜Iの順番にランダムアク
セスが発生した結果を、2103に示す。アクセスのあ
った論理ブロックに対応するデータ再構築管テーブル
は”1”にセットされ、さらにこの時点で、lba及び
slbaは、最後にアクセスがあったIの次のブロック
に設定される。
【0060】2104は、引き続きデータ再構築処理が
起動された状態を示している。最後にIで示したブロッ
クがアクセスされ、lba及びslbaにIの次のブロ
ックの番号がセットされているため、再開されたデータ
再構築処理ではここからデータ再構築が開始されること
になる。
起動された状態を示している。最後にIで示したブロッ
クがアクセスされ、lba及びslbaにIの次のブロ
ックの番号がセットされているため、再開されたデータ
再構築処理ではここからデータ再構築が開始されること
になる。
【0061】2105は、すでにデータリードライト処
理が発生して、データ再構築管理テーブルが”1”にセ
ットされているブロックを飛ばしながら最終ブロックま
でデータ再構築が進み、再び先頭のブロックからデータ
再構築が始まっている状態を示す。
理が発生して、データ再構築管理テーブルが”1”にセ
ットされているブロックを飛ばしながら最終ブロックま
でデータ再構築が進み、再び先頭のブロックからデータ
再構築が始まっている状態を示す。
【0062】データ再構築処理は、lbaがslbaに
達した時点で、終了する。その状態を2106に示す。
達した時点で、終了する。その状態を2106に示す。
【0063】
【発明の効果】本発明によれば、上位コンピュータから
のリードライトアクセスの性能を低減することなく、代
替ディスク装置のデータの再構築を高速化することが出
来る。
のリードライトアクセスの性能を低減することなく、代
替ディスク装置のデータの再構築を高速化することが出
来る。
【0064】データ再構築時間は、上位コンピュータか
らのアクセス頻度に依存して変化するが、データ再構築
タスクとデータリードライトタスクが1対1の割合で発
生し、しかもリードライトがランダムに発生している場
合、データ再構築時間は、本発明で述べた処理を持たな
い方式に比べて約1/2に短縮することが出来る。
らのアクセス頻度に依存して変化するが、データ再構築
タスクとデータリードライトタスクが1対1の割合で発
生し、しかもリードライトがランダムに発生している場
合、データ再構築時間は、本発明で述べた処理を持たな
い方式に比べて約1/2に短縮することが出来る。
【0065】また、従来ユーザは、ディスク装置が故障
した場合、データ再構築処理とホストI/O処理のそれ
ぞれに対するコントローラの処理の配分を決定し、設定
しなくてはならなかったが、本発明の方式を用いること
で、ユーザはこのようなわずらわしい設定から開放さ
れ、データの再構築処理を自動的に最適に行うことが出
来る。
した場合、データ再構築処理とホストI/O処理のそれ
ぞれに対するコントローラの処理の配分を決定し、設定
しなくてはならなかったが、本発明の方式を用いること
で、ユーザはこのようなわずらわしい設定から開放さ
れ、データの再構築処理を自動的に最適に行うことが出
来る。
【図1】本発明の実施例によるディスクアレイサブシス
テムのブロック図である。
テムのブロック図である。
【図2】本発明の実施例によるディスクアレイサブシス
テムのコントローラのブロック図である。
テムのコントローラのブロック図である。
【図3】上位コンピュータからのデータライト時、キャ
シュメモリ上にデータが格納される状態を示す図であ
る。
シュメモリ上にデータが格納される状態を示す図であ
る。
【図4】パリティ演算のためのDRR演算を示す図であ
る。
る。
【図5】ディスク装置にデータ分散を行う状態を示す図
である。
である。
【図6】D0のディスク装置が故障してドライブを置き
換えた場合の、データ再構築における処理の第1ステッ
プを示す図である。
換えた場合の、データ再構築における処理の第1ステッ
プを示す図である。
【図7】D0のディスク装置が故障してドライブを置き
換えた場合の、データ再構築における処理の第2ステッ
プを示す図である。
換えた場合の、データ再構築における処理の第2ステッ
プを示す図である。
【図8】D0のディスク装置が故障してドライブを置き
換えた場合の、データ再構築における処理の第3ステッ
プを示す図である。
換えた場合の、データ再構築における処理の第3ステッ
プを示す図である。
【図9】D0のディスク装置が故障してドライブを置き
換えた場合の、故障ディスク装置に対するリード処理の
第1ステップを示す図である。
換えた場合の、故障ディスク装置に対するリード処理の
第1ステップを示す図である。
【図10】D0のディスク装置が故障してドライブを置
き換えた場合の、故障ディスク装置に対するリード処理
の第2ステップを示す図である。
き換えた場合の、故障ディスク装置に対するリード処理
の第2ステップを示す図である。
【図11】D0のディスク装置が故障してドライブを置
き換えた場合の、故障ディスク装置に対するリード処理
の第3ステップを示す図である。
き換えた場合の、故障ディスク装置に対するリード処理
の第3ステップを示す図である。
【図12】D0のディスク装置が故障してドライブを置
き換えた場合の、故障ディスク装置に対するライト処理
の第1ステップを示す図である。
き換えた場合の、故障ディスク装置に対するライト処理
の第1ステップを示す図である。
【図13】D0のディスク装置が故障してドライブを置
き換えた場合の、故障ディスク装置に対するライト処理
の第2ステップを示す図である。
き換えた場合の、故障ディスク装置に対するライト処理
の第2ステップを示す図である。
【図14】D0のディスク装置が故障してドライブを置
き換えた場合の、故障ディスク装置に対するライト処理
の第3ステップを示す図である。
き換えた場合の、故障ディスク装置に対するライト処理
の第3ステップを示す図である。
【図15】D0のディスク装置が故障してドライブを置
き換えた場合の、故障ディスク装置に対するライト処理
の第4ステップを示す図である。
き換えた場合の、故障ディスク装置に対するライト処理
の第4ステップを示す図である。
【図16】本発明の実施例によるデータ再構築テーブル
の状態遷移図である。
の状態遷移図である。
【図17】本発明の実施例によるデータ再構築テーブル
の状態遷移図である。
の状態遷移図である。
【図18】本発明の実施例によるデータ再構築処理の制
御フローチャートである。
御フローチャートである。
【図19】本発明の実施例によるデータリードコマンド
制御フローチャートである。
制御フローチャートである。
【図20】本発明の実施例によるデータライトコマンド
制御フローチャートである。
制御フローチャートである。
【図21】本発明の実施例によるデータ再構築テーブル
の状態遷移図である。
の状態遷移図である。
100:ディスクアレイサブシステム 101:コントローラ 102〜106:ディスク装置 115:キャシュメモリ 203:パリティ計算回路 601:代替ディスク装置 1601〜1605,1701:データ再構築テーブル
の状態遷移。 1801〜1811:データ再構築処理フローチャート
の各ブロック。 1901〜1911:データリード処理フローチャート
の各ブロック。 2001〜2004:データライト処理フローチャート
の各ブロック。 2101〜2106:データ再構築テーブルの状態遷
移。
の状態遷移。 1801〜1811:データ再構築処理フローチャート
の各ブロック。 1901〜1911:データリード処理フローチャート
の各ブロック。 2001〜2004:データライト処理フローチャート
の各ブロック。 2101〜2106:データ再構築テーブルの状態遷
移。
Claims (2)
- 【請求項1】パリティグループを構成するディスク装置
と、上位装置に接続され、前記ディスク装置に故障が発
生し、当該ディスク装置を代替ディスク装置に置き替
え、当該ディスク装置上に元々故障したディスク装置に
記録されていたデータを全面にわたり再構成するアレイ
コントローラとを有するディスクアレイサブシステムの
データ再構築方法において、前記アレイコントローラ
は、前記代替ディスク装置内のブロックが、すでにデー
タ再構築が完了したか、未完了かを示す管理情報を有
し、データ再構築中に、上位装置からの書き込み処理あ
るいは読み出し処理が発生した場合に、該書き込みある
いは読み出し処理を直ちに実行し、該処理が完了した時
点で、上位装置から他のデータの書き込みあるいは読み
出し処理が発生していない場合、データ再構築処理を再
開させる際に、ヘッドが現在位置と前記管理情報とを比
較し、ヘッドの現在位置から最も近くデータの再構築が
完了していないブロックからデータの再構築を再開する
ことを特徴とするデータ再構築方法。 - 【請求項2】前記アレイコントローラは、前記管理情報
を前記ディスク装置内の複数のセクタから構成されるセ
グメント単位で管理することを特徴とする請求項1記載
のデータ再構築方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7029111A JPH08221217A (ja) | 1995-02-17 | 1995-02-17 | ディスクアレイサブシステムのデータ再構築方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7029111A JPH08221217A (ja) | 1995-02-17 | 1995-02-17 | ディスクアレイサブシステムのデータ再構築方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08221217A true JPH08221217A (ja) | 1996-08-30 |
Family
ID=12267223
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7029111A Pending JPH08221217A (ja) | 1995-02-17 | 1995-02-17 | ディスクアレイサブシステムのデータ再構築方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08221217A (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7293193B2 (en) | 2003-09-30 | 2007-11-06 | Kabushiki Kaisha Toshiba | Array controller for disk array, and method for rebuilding disk array |
| JP2010009442A (ja) * | 2008-06-30 | 2010-01-14 | Fujitsu Ltd | ディスクアレイシステム、ディスク制御装置及びその再構築処理方法 |
| EP2645250A2 (en) | 2012-03-26 | 2013-10-02 | Fujitsu Limited | Storage system, storage apparatus, and data restoration method |
| US8914577B2 (en) | 2009-02-12 | 2014-12-16 | Fujitsu Limited | Disk array control apparatus |
| JP2016139251A (ja) * | 2015-01-27 | 2016-08-04 | コニカミノルタ株式会社 | 画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラム |
| WO2018154697A1 (ja) * | 2017-02-24 | 2018-08-30 | 株式会社日立製作所 | ストレージシステム及び復旧制御方法 |
-
1995
- 1995-02-17 JP JP7029111A patent/JPH08221217A/ja active Pending
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7293193B2 (en) | 2003-09-30 | 2007-11-06 | Kabushiki Kaisha Toshiba | Array controller for disk array, and method for rebuilding disk array |
| JP2010009442A (ja) * | 2008-06-30 | 2010-01-14 | Fujitsu Ltd | ディスクアレイシステム、ディスク制御装置及びその再構築処理方法 |
| US8914577B2 (en) | 2009-02-12 | 2014-12-16 | Fujitsu Limited | Disk array control apparatus |
| EP2645250A2 (en) | 2012-03-26 | 2013-10-02 | Fujitsu Limited | Storage system, storage apparatus, and data restoration method |
| US9329944B2 (en) | 2012-03-26 | 2016-05-03 | Fujitsu Limited | Storage system, storage apparatus, and data restoration method |
| JP2016139251A (ja) * | 2015-01-27 | 2016-08-04 | コニカミノルタ株式会社 | 画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラム |
| US9519552B2 (en) | 2015-01-27 | 2016-12-13 | Konica Minolta, Inc. | Image forming apparatus which executes rebuild processes |
| WO2018154697A1 (ja) * | 2017-02-24 | 2018-08-30 | 株式会社日立製作所 | ストレージシステム及び復旧制御方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6907504B2 (en) | Method and system for upgrading drive firmware in a non-disruptive manner | |
| US6467023B1 (en) | Method for logical unit creation with immediate availability in a raid storage environment | |
| JP3358687B2 (ja) | ディスクアレイ装置 | |
| US6049890A (en) | Disk array system and its control method | |
| US6058489A (en) | On-line disk array reconfiguration | |
| JP2501752B2 (ja) | コンピユ―タ・システムのストレ―ジ装置及びデ―タのストア方法 | |
| JP2769443B2 (ja) | 記憶サブシステム及び関連する装置/方法 | |
| JPH05143471A (ja) | 記憶装置の冗長アレイ内の故障記憶装置のオンライン再構成方法 | |
| JP2001147785A (ja) | データを管理する方法 | |
| US6571314B1 (en) | Method for changing raid-level in disk array subsystem | |
| JP2002259062A (ja) | 記憶装置システム及び記憶装置システムにおけるデータの複写方法 | |
| US5875460A (en) | Disk array subsystem and data generation method therefor | |
| US7398448B2 (en) | Storage system has the function of preventing drive write error | |
| JP2010267037A (ja) | ディスクアレイ装置 | |
| US6611897B2 (en) | Method and apparatus for implementing redundancy on data stored in a disk array subsystem based on use frequency or importance of the data | |
| JPH08221217A (ja) | ディスクアレイサブシステムのデータ再構築方法 | |
| JP2003316525A (ja) | ディスクアレイ制御装置 | |
| JP2006268673A (ja) | 記憶制御装置及び記憶デバイスのエラー制御方法 | |
| JPH1063576A (ja) | 階層ディスク装置およびその制御方法 | |
| JPH07261945A (ja) | ディスクアレイ装置およびディスクアレイの区分け方法 | |
| JP2857288B2 (ja) | ディスクアレイ装置 | |
| JP2010026812A (ja) | 磁気ディスク装置 | |
| JPH07306758A (ja) | ディスクアレイ装置及びその制御方法 | |
| JP3250859B2 (ja) | ディスクアレイ装置、コンピュータシステム及びデータ記憶装置 | |
| JP2006252165A (ja) | ディスクアレイ装置、及びコンピュータシステム |