JP3058743B2 - ディスクアレイ制御装置 - Google Patents

ディスクアレイ制御装置

Info

Publication number
JP3058743B2
JP3058743B2 JP4008211A JP821192A JP3058743B2 JP 3058743 B2 JP3058743 B2 JP 3058743B2 JP 4008211 A JP4008211 A JP 4008211A JP 821192 A JP821192 A JP 821192A JP 3058743 B2 JP3058743 B2 JP 3058743B2
Authority
JP
Japan
Prior art keywords
write
data
disk
writing
management table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP4008211A
Other languages
English (en)
Other versions
JPH05197499A (ja
Inventor
弘 一ノ宮
孝夫 佐藤
山本  彰
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.)
Hitachi Ltd
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi Ltd
Hitachi ULSI Systems Co Ltd
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 Hitachi Ltd, Hitachi ULSI Systems Co Ltd filed Critical Hitachi Ltd
Priority to JP4008211A priority Critical patent/JP3058743B2/ja
Priority to US08/005,994 priority patent/US5550975A/en
Publication of JPH05197499A publication Critical patent/JPH05197499A/ja
Priority to US08/442,480 priority patent/US5664096A/en
Application granted granted Critical
Publication of JP3058743B2 publication Critical patent/JP3058743B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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/104Metadata, i.e. metadata associated with RAID systems with parity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は計算機の記憶システムに
関わり、特に複数のディスク装置をアレイ状に配置し、
並列に同時動作させるディスクアレイ制御装置に関わ
る。
【0002】
【従来の技術】ディスクアレイ制御装置に関する従来技
術の例として、特開平2−236714の「アレイ型デ
ィスク駆動機構システム及び方法」がある。上記従来技
術では、ディスクアレイ制御装置とディスク装置とはS
CSI(Small Computer SystemInterface)を介して接続
される。冗長性のあるデ−タを書き込む際、ディスクア
レイ制御装置は書き込みデータをセクタごとに区切り、
それぞれのデ−タを別々のディスク装置にSCSI経由
で順次転送しながらECCエンジンで冗長データを作成
する。
【0003】
【発明が解決しようとする課題】上記従来技術では、デ
ィスク装置間の書き込み同期を行っていないためSCS
Iを通じて転送されたデータが実際にディスク装置に書
き込まれるタイミングはディスク装置によって異なる可
能性がある。従って、処理装置からの同一の書き込み要
求に属するデータの複数ディスク装置への書き込みが電
源障害などにより中断された場合には、あるディスク装
置ではデ−タの書き込みが完了しているが別のディスク
装置ではまだデ−タが書き込まれていないという現象が
発生する。上記のように、一部のディスク装置ではデー
タの書き込みが完了しており、一部のディスク装置では
データがまだ書き込まれてなく以前のデータが残ってい
るような領域を処理装置が読みだすと、書き込み完了デ
ータと以前のデータが混在した一貫性のないデータが処
理装置に転送される可能性がある。このように、実際に
は書き込んでないデータが処理装置によって読み出され
ることをデータ化けと呼び、計算機システムの外部記憶
装置では発生してはならない現象である。本発明の目的
は、ディスクアレイにおけるこのようなデータ化けの発
生を防止するディスクアレイ制御装置を提供することに
ある。
【0004】
【課題を解決するための手段】電源中断などによるディ
スクアレイのデータ化けを防止する本発明の手段のひと
つは、ディスクアレイ制御装置内に不揮発メモりを設
け、デ−タの書き込み要求の際に、分割されたデータが
格納されるディスク装置毎に書き込み中の領域に関する
情報を記憶する。その結果、ディスク装置へのデータ書
き込みを障害により中断した際に、書き込みを中断した
領域が不揮発メモりに保持され、障害が回復した後、処
理装置からのデータの読みだし要求に対して不揮発メモ
リを参照することにより、読みだし範囲の中にデータ書
き込み中断領域が含まれていないかを判定できる。読み
だし範囲の中にデータ書き込み中断領域が含まれてお
り、書き込み後のデータと以前のデータが混在してデー
タの一貫性が保てない可能性があると判断された場合に
は、読みだし時に障害が発生したことを処理装置に報告
することにより、誤ったデータが処理装置に転送される
ことを抑止し、データ化けを防止する。
【0005】データ化けを防止する別の手段は、ディス
ク装置へのデータの書き込みの際に、ディスクアレイ制
御装置で書き込み要求毎に生成した更新番号と呼ばれる
データを、分割されたデータが格納される各ディスク装
置の物理ブロック毎に書き込みデータに付加して書き込
み、読みだしに際しては各ディスクから読みだした更新
番号の一致を検査する。その結果、各ディスク装置から
読み出された分割データが同一の書き込み要求によって
書き込まれたデータであるか否かを検査できる。更新番
号が一致しない場合、データの一貫性がないと判断し、
読みだし時に障害が発生したことを処理装置に報告する
ことでデータ化けを防止できる。
【0006】さらに、上記2つの手段を組み合わせて、
デ−タの読みだし時に、不揮発メモリに格納された情報
ではデータの一貫性が保てるか否かを判断できない場合
にのみ、更新番号の一致を検査する手段を設ける。
【0007】冗長性を有するディスクアレイの場合に
は、もし不完全に書込まれたデータであっても、冗長性
を活用してデ−タを回復できるならば、このような処理
によって完全なデータを回復することによりデータ化け
を防止できる。
【0008】
【作用】電源障害などによってディスクアレイの動作が
停止し、分割されたデータのディスク装置への書き込み
が中断した場合でも、本発明では、ディスク装置へのデ
−タの書き込みが完了した領域に関する情報を不揮発性
のメモリに保持しているので、書き込みが中断した領域
を含む読みだし要求を処理装置から受け取った時に、上
記の情報から書き込み中断領域を判断することにより、
書き込み後のデータと書き込み前のデータが混在した一
貫性のない誤ったデータを処理装置に転送する可能性を
なくすことができる。
【0009】冗長性を有するデ−タを格納するディスク
アレイ制御装置では、冗長性を活用して書込み中断領域
のデータを回復できるので、分割されたデータのディス
ク装置への書込みの中断によって喪失するデータ量を減
ずることができる。
【0010】
【実施例】
1)第1の実施例 図1に、本発明の第1の実施例におけるディスクアレイ
制御装置1を含む計算機システムの構成を示す。ディス
クアレイ制御装置1は、処理装置2あるいはディスク装
置31からのデータを一時的に蓄えるデータバッファ1
3、ディスクアレイ制御装置1の動作を制御するプロセ
ッサ11、及びプロセッサ11から読み書きでき電源を
切断しても内容が保持される不揮発メモリ12を内蔵
し、チャネルインタフェース14を介して処理装置2と
接続され、SCSI(Small Computer System Interfac
e)インタフェース15を介して複数のディスク装置31
に接続される。各SCSIインタフェース15には複数
のディスク装置31が接続でき、異なるSCSIインタ
フェース15を介して接続されたディスク装置31との
間で並列にデータ転送を行うことができる。処理装置2
からのデータはドライブグループ3を構成する複数のデ
ィスク装置31に分割して格納される。 図2に、処理
装置2からのデータがドライブグループ3を構成する複
数のディスク装置31上にどのように分配され、ディス
ク装置31上のデータがどのように統合されるかを示
す。処理装置2からの出力要求時には、処理装置2から
のデータ200はディスクアレイ制御装置1内で分割デ
ータ201−1〜201−4に分割され、ドライブグル
ープ3の複数のディスク装置31に並列に転送され格納
される。なお、デ−タ200は、いくつかのブロックR
0〜R4から構成され、各ブロックがそれぞれ分割さ
れ、それぞれの分割データ201−1〜201−4は、
各ブロックに対応したデ−タR0−1〜R4−1、R0
−2〜R4−2、R0−3〜R4−3及びR0−4〜R
4−4から構成される。処理装置2からの入力要求時に
は、逆にドライブグループ3のディスク装置31から読
み出された分割データ201−1〜4がディスク制御装
置1内で統合されて処理装置2に転送される。
【0011】図3は第1の実施例における書き込み動作
の一例である。ディスクアレイ制御装置1は処理装置2
からの出力要求を受け取ると、不揮発メモリ12上に書
込み管理表121を割り当てる。書込み管理表121
は、ドライブグループ3を構成するディスク装置31−
1〜4毎に、書込み範囲のどのブロックまでデ−タが書
き込まれたか、さらに、どのブロックまでのデ−タが書
き込みを完了したかという書込み状態を管理するための
表である。図3の例では書込み状態を記憶するためにビ
ットマップを用いている。書込み管理表121の各エン
トリ1210−1〜5は、ドライブグループ3を構成す
るそれぞれのディスク装置31−1〜4の書込み対象と
なるブロック310−1〜5に対応した書込み状態フラ
グ1211を持つ。例えば、各書込み状態フラグ121
1には2ビットが割り当てられ、”00”は書込み指示
未発行(U)、”01”は書込み中(W)、”10”は
書込み完了(C)を示す。図中では簡単のため、各ブロ
ックの書込み状態を”U”、”W”、”C”で記す。
【0012】通常、書込み管理表121の割当てに際し
て、書込み状態フラグ1211はすべて書込み指示未発
行(U)に初期化される。プロセッサ11は、ディスク
装置31−1〜4のそれぞれにライトコマンドを発行す
る直前に、ライトコマンドの書込み対象となるブロック
に対応する書込み状態フラグ1211を書込み中(W)
に変更する。さらに、ディスク装置31−1〜4からラ
イトコマンドに対する書込み完了応答を受け取ったら、
それぞれ書き込みが完了したブロックに対応する書込み
状態フラグ1211を書込み完了(C)に変更する。
【0013】ディスク装置への分割デ−タの書き込みタ
イミングの一例と書込み管理表の変化を図4に示す。書
込み管理表121a〜cはそれぞれタイミング800a
〜cにおける書込み管理表を示す。タイミング800a
では、まだディスク装置31−1〜4のいずれにもライ
トコマンドが発行されていないため、書込み管理表12
1aの書込み状態フラグ1211は全て書込み指示未発
行(U)である。
【0014】タイミング800bでは、一部のブロック
への書き込みが完了し、一部のブロックへは書き込み途
中であり、一部のブロックへはまだ書き込みコマンドが
発行されていないため、書込み状態フラグ1211には
書込み完了(C)、書込み中(W)及び書込み指示未発
行(U)が混在している。ディスク装置の回転ずれやリ
トライ動作などにより、図4に示すように書き込みのタ
イミングがディスク装置毎に異なることがある。タイミ
ング800cでは、書込み範囲の全てのブロックへの書
き込みが完了しているため、書込み状態フラグ1211
は全て書込み完了を示している。タイミング800cの
ように、ドライブグループ3の全ディスク装置31−1
〜4への書き込みが完了して書込み管理表121の書込
み状態フラグ1211が全て書込み完了(C)を表示し
ていれば、書込み管理表121は不要になるので、プロ
セッサ11は不要となった書込み管理表121を不揮発
メモリ12から削除する。
【0015】図3は、図4のタイミング800bにおけ
る状態を示している。図3に示すドライブグループ3を
構成する全てのディスク装置31−1〜4において、ブ
ロック310−1は書込み完了(C)状態であり、ブロ
ック310−5は書込み指示未発行(U)状態である。
しかし、ブロック310−2〜4は、ディスク装置31
−1〜4の一部で書込み中(W)である、あるいは、同
一アドレスのブロックに書込み完了(C)と書込み指示
未発行(U)とが混在している。ドライブグループ3を
構成するディスク装置31−1〜4のように、同一アド
レスのブロックに、書込み中(W)が存在する、あるい
は、書込み指示未発行(U)と書込み完了(C)とが混
在している状態を不完全書込み状態と呼び、不完全書込
み状態の領域を不完全書込み領域311と呼ぶ。図3で
はブロック310−2〜4が不完全書込み領域である。
【0016】図3の状態のとき、すなわち図4のタイミ
ング800bで電源が切断された場合、書込み管理表1
21には、ブロック310−2〜4が不完全書込み領域
311であることを示す情報がそのまま保持される。そ
れ故、電源が回復した後でも、不揮発メモリ12に保持
されている書込み管理表121を参照することで不完全
書込み領域311を知ることができる。不完全書込み領
域311のブロック内には書き込み前のデータと書き込
み後のデータが混在している可能性があるのでデータの
一貫性を保証できないため、処理装置2から不完全書込
み領域311に対する入力要求が発行された場合、ディ
スク制御装置1はリードエラーを処理装置2に報告す
る。
【0017】処理装置2の入力要求に対するプロセッサ
11の処理を図5に示す。プロセッサ11は、処理装置
2から入力要求を受け取ると、不揮発メモリ12の中に
書込み管理表121が存在するか否かを判定する(90
0)。書込み管理表121が存在しなければ、不完全書
込み領域311は存在しないことを示し、通常の読みだ
し処理905を実行する。書込み管理表121が存在す
れば、ステップ901において、入力要求範囲と書込み
管理表121の対象範囲の重複を判定する。対象範囲に
重複がなければ、入力要求範囲内には不完全書込み領域
311が存在しないことを示し、通常の読みだし処理9
05を実行する。入力要求範囲と書込み管理表121の
対象範囲に重複があれば、ステップ902において、重
複する領域に不完全書込み領域311があるか否かを判
定する。判定の対象となるブロックに対応する書込み管
理表121のエントリ1210において各ディスク装置
31−1〜4に対する書込み状態フラグ1211が全て
書込み完了(C)であるか、全て書込み指示未発行
(U)であれば不完全書込み領域311ではないことを
示し、そうでなければ不完全書込み領域であることを示
す。重複している部分が不完全書込み領域311でなけ
れば、通常の読みだし処理905を実行する。不完全書
込み領域311が重複範囲に存在すれば、ステップ90
3において不完全書込み領域311の直前までの読みだ
し処理を実行した後、ステップ904において処理装置
2に読みだしエラーを報告する。
【0018】一方、不完全書込み領域311への出力要
求は抑止されない。不完全書込み領域311への書き込
みが正常に完了すれば、書き込みが行われた領域はもは
や不完全書込み領域311ではなくなる。出力要求処理
では、不完全書込み領域311へデ−タを書き込んだ時
に、その書込み領域を不完全書込み領域311から削除
する。処理装置2からの出力要求に対するプロセッサ1
1の処理を図6に示す。プロセッサ11は処理装置2か
ら出力要求を受け取ると、不揮発メモリ12の中に書込
み管理表121が存在するか否かを判定する(90
0)。書込み管理表121が存在しなければ、ステップ
915において、書込み範囲に対して新たに書込み管理
表121を割り当て、書込み状態フラグ1211を全て
書込み指示未発行(U)に初期化し、書込み処理914
を実行する。書込み処理914では、図3の説明で述べ
たように、ディスク装置31にライトコマンドを発行す
る直前に書込み管理表121の対応する書込み状態フラ
グ1211を書込み中(W)に変更し、ライトコマンド
に対する書込み完了応答をディスク装置31から受信し
たら、対応する書込み状態フラグ1211を書込み完了
(C)に変更する。書き込みの正常終了後、ステップ9
17において、不要になった書込み管理表121を解放
する。
【0019】ステップ900において、書込み管理表1
21が存在すると判定された場合、ステップ911で、
出力要求範囲と書込み管理表121の対象範囲の重複を
判定する。出力要求範囲と書込み管理表121の対象範
囲に重複がなければ、ステップ915へ進む。対象範囲
に重複があれば、ステップ902において、重複部分に
不完全書込み領域311があるか否かを判定する。不完
全書込み領域311がなければ、ステップ915へ進
む。不完全書込み領域311が存在すれば、ステップ9
13において、必要に応じて書込み管理表121を割当
てて初期設定し、ステップ914の書込み処理を実行
し、ステップ916において、不完全書込み領域311
を含まない書込み管理表121を解放する。不完全書込
み領域311が完全にデ−タが上書きされた場合には、
書き込みが行われた領域はもはや不完全書込み領域31
1ではなくなるので書込み管理表121は全て解放され
る。
【0020】一方、不完全書込み領域311の一部にデ
−タが上書きされた場合には、上書きされなかった不完
全書込み領域311は不完全書込み領域として残る。従
って、この部分を管理する書込み管理表121は解放さ
れずに残る。
【0021】不完全書込み領域311を含む領域へデ−
タを書き込む際の、書込み管理表121の内容の変化に
ついて述べる。図7は、書込み中断時の不完全書き込み
領域と書込み管理表の状態を示す。図7において、ブロ
ック310−2〜4は不完全書込み領域311であり、
ブロック310−1〜5に対応した書込み管理表121
が存在する場合を示す。このような状態の時にブロック
310−3〜7への出力要求を受信したとする。図6の
出力処理において、ステップ902により出力要求範囲
312と不完全書込み領域311が重複すると判定さ
れ、ステップ913において、図8に示すように書込み
管理表121は121d−1のように初期化され、ブロ
ック310−6〜7の書込み状態を管理するために、新
たに書込み管理表を割当て121d−2のように初期化
される。
【0022】すなわち、図8は、不完全書込み領域への
書込み時の書込み管理表の変化を示す。書込み管理表1
21d−1において、出力要求範囲に対応しないエント
リ1210−1〜2の書込み状態フラグ1211は変更
されない。出力要求範囲312と不完全書込み領域31
1が重複するブロック310−3〜4に対応するエント
リ1210−3〜4の書込み状態フラグは書込み中
(W)に初期化される。不完全書込み領域311と重複
しない出力要求範囲312に対応するブロック310ー
5〜7に対応するエントリ1210−5〜7の書込み状
態フラグは書込み指示未発行(U)に初期化される。出
力要求範囲312に対する書き込みが完了すると、図8
の書込み管理表121e−1〜2のように、ブロック3
10−3〜7に対応するエントリ1210−3から12
10−7の書込み状態フラグは全て書込み完了(C)と
なる。書込み管理表121e−2の書込み状態フラグは
全て書込み完了(C)となって解放されるが、書込み管
理表121e−1は不完全書込み領域のまま残っている
ブロック310−2に対応するエントリ1210−2に
書込み中(W)の書込み状態フラグが残っているため、
そのまま不揮発メモリ12に残る。不完全書込み領域3
11を完全にデ−タを上書きする出力要求が実行されれ
ば、エントリ1210−2の書込み状態フラグもすべて
書込み完了となり、書込み管理表121e−1も解放す
ることができる。以上、書込み状態をビットマップで管
理する例を示したが、この他にもデ−タの書込み範囲を
示す情報を用いて管理する方法などが考えられる。
【0023】図9及び図10は、書込み管理表を多重バ
ッファリングして使用する実施例を示す。図9及び図1
0において、ブロック310−1〜7を出力要求範囲と
し、書込み管理表121−1〜2はそれぞれ3ブロック
分の書込み状態フラグを管理するとする。なお、書込み
管理表のエントリ数や一回の出力要求に割り当てる書込
み管理表の数はこの実施例に限定されるものではない。
初期状態では図9に示すように、ブロック310−1〜
3に対して書込み管理表121−1が割り当てられ、ブ
ロック310−4〜6に対しては書込み管理表121−
2が割り当てられ、それぞれの書込み状態フラグには全
て書込み指示未発行(U)が初期設定される。ブロック
310−7には書込み管理表は割り当てられていない。
【0024】ディスク装置への書き込みが進み、ブロッ
ク310−1〜3の書き込みが完了し、書込み管理表1
21−1の書込み状態フラグが全て書込み完了(C)に
なっても、書込み管理表121−1を解放せずに、図1
0に示すようにまだ書込み管理表のエントリを割り当て
られていないブロック310−7に対して、書込み管理
表121−1のエントリ1210−1を割当て、書込み
状態フラグを書込み指示未発行(U)で初期化する。対
応させるブロックのないエントリ1210−2〜3につ
いては、書込み完了(C)のままでよい。さらにディス
ク装置への書き込みが進んで、ブロック310−4〜6
への書き込みが完了し、書込み管理表121−2の書込
み状態フラグが全て書込み完了になると、書込み管理表
を割り当てられていない出力要求されたブロックがもは
や存在しないため、書込み管理表121−2は不要とな
り解放される。同様に、ブロック310−7への書き込
みが完了し、書込み管理表121−1の書込み状態フラ
グが全て書込み完了(C)になったら、書込み管理表1
21−1も不要となり解放される。この実施例において
も、出力処理中に電源が切断された場合、不揮発メモリ
に残っている書込み管理表を検索することで不完全書込
み領域を判定できる。
【0025】次に、リングバッファ形式の書込み管理表
の動作を図11に示す。書込み管理表122aはリング
バッファ形式の書込み管理表の初期状態を示す。エント
リ1220−1〜3はそれぞれドライブグループの1ブ
ロックに対応した書込み状態フラグのエントリである。
書込み範囲がブロック310−1〜4であるとき、エン
トリ1220−1〜3では書込み範囲の全ての書込み状
態を管理できない。このため初期状態では書込み管理表
122aに示すように、エントリ1220−1〜3にブ
ロック310−1〜3の書込み状態を記憶する。先頭ブ
ロックアドレス1221には、書込み管理表122a、
122bに書込み状態が記憶されたブロックの先頭アド
レスを記憶し、先頭エントリポインタ1222には、書
込み状態が記憶された先頭のブロックの書込み状態を記
憶した書込み管理表122a、122bのエントリへの
ポインタである。初期状態では書込み管理表122aに
示すように、先頭ブロックアドレス1221にはブロッ
ク310−1のブロックアドレスが記憶され、先頭エン
トリポインタ1222はブロック310−1の書込み状
態を記憶するエントリ1220−1を指している。ブロ
ック310−1への書き込みが全て完了してエントリ1
220−1の書込み状態が全て書込み完了(C)になっ
たら、書込み管理表122bに示すように先頭ブロック
アドレス1221にブロック310−2のアドレスを格
納し、先頭エントリポインタ1222を進めてブロック
310−2の書込み状態を記憶するエントリ1220−
2を指すようにする。これによって書込み管理表122
bのエントリ1220−1はブロック310−4に対応
することになる。新たなブロックが割り当てられた書込
み管理表のエントリの書込み状態は通常、全て書込み指
示未発行(U)に初期化される。
【0026】図12は書込み管理表121に対応した不
完全書込み管理表123の状態を示す。不完全書込み管
理表123は不揮発メモリ12内に割当てられ、不完全
書込みフラグ1230−1〜5に、対応するブロックが
不完全書込み状態か否かを記憶する。あらかじめ全ての
ブロックに対して不完全書込みフラグを割り当てておく
方法も考えられるが、ここでは不完全書込み領域の近傍
のブロックに対してのみ不完全書込み管理表123を割
り当てる方法について記す。
【0027】初期設定時に不揮発メモリ12内に不完全
書込み管理表121が存在していれば、不完全書込み管
理表123を不揮発メモリ内に割り当てる。次に、書込
み管理表121の各エントリ1210−1〜5を検索し
て、不完全書込み状態であるブロックに対応する不完全
書込み管理表123の不完全書込みフラグには不完全書
込み状態(D)を設定し、それ以外の不完全書込みフラ
グには正常書込み状態(N)を設定する。このように不
完全書込みフラグが区別すべき状態は2通りであるの
で、各不完全書込みフラグに1ビットを割り当てれば良
い。図12の実施例では、書込み管理表のエントリ12
10−1、5に対応するブロックは正常書込み状態であ
り、エントリ1210−2〜4に対応するブロックは不
完全書込み状態である。従って、不完全書込み管理表1
23の不完全書込みフラグ1230−1、5には正常書
込み状態(N)が設定され、不完全書込みフラグ123
0−2〜4には不完全書込み状態(D)が設定される。
不完全書込み管理表123の設定が完了したら、書込み
管理表121は解放される。入出力時に対象ブロックが
不完全書込み状態であるか否かは、不完全書込み管理表
123の不完全書込みフラグをビット判定するだけで判
断できる。
【0028】2)第2の実施例 第2の実施例では、冗長性を有するディスクアレイ制御
装置について述べる。図13に示すディスクアレイ制御
装置1aは冗長性を有するディスクアレイ制御装置の構
成例である。ECC(Error Correction Code)生成/検
査回路16は、データからのエラー訂正/検査コード
(以下ECCと略す)の生成と、ECCによるエラーの
検査および訂正を行う。図13に示すECC生成/検査
回路16以外の部分は図1とほとんど同一である。EC
Cを格納するためにディスク装置31−5が追加され
る。ECCを格納するために一つのドライブグループ3
当たりに追加されるディスク装置の数は冗長度によって
異なる。ここでは冗長度1の場合を示す。また、追加さ
れたディスク装置31−5に固定的にECCを格納する
必要はない。数ブロック単位にECCを格納するディス
ク装置を切り換えるストライピングと呼ばれる手法もあ
る。ここでは簡単のため、ディスク装置31−1〜4に
データを格納し、ディスク装置31−5にECCを格納
する。
【0029】図14は、第2の実施例におけるデータの
分割とECCデ−タの生成を示す。デ−タバッファ13
に格納されたデータ200は、ディスク装置31−1〜
4に対応して分割データ201−1〜4に分割される。
各分割データ201−1〜4はECC生成/検査回路1
6に入力され、ブロック毎にECCデータ202が生成
され、ディスク装置31−5に格納される。
【0030】図15は、第2の実施例におけるデ−タの
統合とECCデ−タの検査を示す。ドライブグループ3
からのデ−タの入力時には図15に示すように、分割デ
ータ201−1〜4はデータ200に統合されると共に
ECC生成/検査回路16にECCデータ202と共に
入力されてエラーの有無が検査される。ただし、読みだ
しデータの異常は物理ブロック毎にディスクアレイ制御
装置1aまたは各ディスク装置31−1〜5によって検
査される為、必ずしも入力時にECC検査を行う必要は
ない。
【0031】冗長性を有するディスクアレイ制御装置1
aにおいては、ディスク装置の障害などにより一部のデ
ィスク装置のデータが利用できない場合でも、利用でき
ないディスク装置の数が冗長度以下ならECCによりデ
ータ訂正が可能である。図13に示すディスクアレイ制
御装置1aの場合には冗長度は1であり、ドライブグル
ープ3を構成するディスク装置の1台が故障してもデー
タを復元できる。ECCによるデ−タの訂正の様子を図
16に示す。図16において、ディスク装置31−4が
故障により読みだし不可能であるとする。このとき、デ
ィスク装置31−1〜3から読み出された分割データ2
01−1〜3は、ディスク装置31−5から読み出され
たECCデータ202と共にECC生成/検査回路16
に入力され、ディスク装置31−4の欠落している分割
データ201−4が生成される。生成された分割データ
201−4は、先にディスク装置31−1〜3から読み
出された分割データ201−1〜3と共にデータ200
に統合される。
【0032】第2の実施例における書込み管理表の設定
例を図17に示す。図17に示すように、ディスクアレ
イ制御装置1aの不揮発メモリ12に格納された書込み
管理表121fには追加されたディスク装置の書込み状
態を記憶するために書込み状態フラグ1211−5が追
加される。書込み管理表121fの初期設定及び書込み
状態フラグ1211−1〜5の設定方法については第1
の実施例と同様である。また、第1の実施例と同様に書
込み管理表を図9、10に示す多重バッファリング方式
あるいは図11に示すリングバッファ方式で管理でき
る。
【0033】次に、ディスクアレイ制御装置1aにおけ
る不完全書込み領域のデータ回復について述べる。図1
6の説明で述べたように、ディスクアレイ制御装置1a
では、冗長度以下のデータの喪失についてはECCを用
いてこれを回復できる。例えば、図17においてエント
リ1210f−2〜4に対応するブロックは不完全書込
み状態である。しかし、エントリ1210f−2に対応
するブロックにおいては、書込み完了(C)以外の書込
み状態のディスク装置は1台だけであり、エントリ12
10f−4に対応するブロックにおいても、書込み指示
未発行(U)以外の書込み状態のディスク装置は1台だ
けである。いずれの場合もディスクアレイ制御装置1a
の冗長度以下であり、ECCによるブロックのデータの
回復が可能である。回復可能な不完全書込み領域の回復
の様子を図18に示す。エントリ1210f−2に対応
するブロック310−2に関しては、書込み中(W)と
なっている書込み状態フラグ1211−4に対応するデ
ィスク装置31−4以外のディスク装置からブロック3
10−2の分割データをECC生成/検査回路16に入
力し、ディスク装置31−4のデータを生成する。ディ
スク装置31−4以外からの分割データとECC生成/
検査回路16によって生成されたデータを統合して完全
なデータを得ることができる。ブロック310−4につ
いても同様に、ディスク装置31−1以外のディスク装
置からのブロック310−4のデータとECC生成/検
査回路16によって生成されたディスク装置31−1の
ブロック310−4のデータからブロック310−4の
完全なデータを得ることができる。両者の相違点は、ブ
ロック310−2では書き込み後のデータが回復される
のに対し、ブロック310−4では書き込み前のデータ
が回復される点である。
【0034】冗長性を有するディスクアレイ制御装置1
aにおいても、書込み管理表121fの代わりに不完全
書込み管理表123を用いることが可能である。冗長性
を有する場合には、ブロックの書込み状態として正常書
込み状態、回復可能な不完全書込み状態、及び回復不可
能な不完全書込み状態の3つの状態がある。しかし、回
復可能な不完全書込み状態の場合にはどのディスク装置
のデータを回復すべきかを決定するための情報を記憶し
なければならない。これを防ぐために、初期設定時に回
復可能な不完全書込み状態のブロックの回復を先に行
い、その後、不完全書込み管理表の設定を行う。回復可
能な不完全書込みブロックの回復を行った後であれば、
冗長性がないディスクアレイ制御装置の場合と同様に、
ブロックの書込み状態としては、ブロックの書込み状態
は正常書込み状態と回復不可能な不完全書込み状態の2
通りだけとなる。
【0035】図17の書込み管理表121fにおいて、
エントリ1210f−2〜4に対応するブロックは不完
全書込み状態であるが、図18に示すように、エントリ
1210f−2とエントリ1210f−4にそれぞれ対
応するブロック310−2とブロック310−4は回復
可能不完全書込み状態である。従って、まずブロック3
10−2とブロック310−4の回復を行う。ブロック
310−2とブロック310−4が回復された後の書込
み管理表は、例えば図19に示すように、エントリ12
10f−2とエントリ1210f−4は全て書込み完了
(C)または全て書込み指示未発行(U)となり、正常
な書込み状態を示す。従って、不完全書込み管理表12
3は図19に示すように、回復不可能な不完全書込み状
態を示すエントリ1210f−3に対応する不完全書込
みフラグ1230−3のみが不完全書込み状態(D)を
示し、他の不完全書込みフラグ1230−1〜2、12
30−4〜5は正常な書込み状態(N)を示す。回復可
能な不完全書込みブロックの回復および不完全書込み管
理表123の設定が完了したら、書込み管理表121f
は解放される。
【0036】3)第3の実施例 図20に第3の実施例のディスクアレイ制御装置1bの
構成を示す。ディスクアレイ制御装置1bには、図13
のディスクアレイ制御装置1aに、更新番号生成/検査
回路17が付加されている。その他の部分は図13に示
す第2の実施例と同様である。図面の簡略化のため、図
20では、ドライブグル−プ3内のディスク装置31−
1〜5の記載を省略した。
【0037】図21は、デ−タバッファ13に格納され
ているデータ200aをドライブグループ3へ書き込む
際のデータの流れを示す。データ200aはレコード2
000a−1〜2から構成されている。レコード200
0a−1〜2がそれぞれECC生成/検査回路16へ入
力されてECCが生成され、更新番号生成/検査回路1
7によりそれぞれのディスク装置31−1〜5に対して
同一の値からなる更新番号2002a−1〜2がレコー
ド2000a−1〜2及び生成されたECCにそれぞれ
付加されて、新たなレコード2003a−1〜2が構成
され、ドライブグループ3に格納される。更新番号生成
/検査回路17の更新番号レジスタ171に記憶された
値が更新番号として出力され、1レコード毎に更新関数
172に従ってその値が更新される。図21には、更新
関数172として1の加算(+1)を使用した例を示
す。図21では、更新番号レジスタ171の初期値をi
とし、最初のレコード2001a−1に対しては値iが
更新番号2002a−1として付加され、新たなレコ−
ド2003a−1〜2が構成されている場合を示してい
る。
【0038】図22に、レコ−ド2003a−1〜2の
入力時における更新番号の検査方法を示す。レコード2
003a−1〜2のうち更新番号2002a−1〜2の
みが更新番号生成/検査回路17に入力され、更新番号
2002a−1〜2のそれぞれの値が互いに一致するか
否かが検査される。ドライブグループ3を単位として書
き込みが行われるならば、各ディスク装置31−1〜5
から読み出した同一のブロックアドレスのデータは同一
の更新番号を有するはずである。従って、各ディスク装
置31−1〜5の同一ブロックアドレスから読み出した
データの更新番号が互いに一致しないならば、書込み中
になんらかの障害が発生してドライブグループ3の一部
のディスク装置にデータが正しく書き込めなかったこと
を示す。次に、図24及び図23を用いて、複数のブロ
ックの書込み指示をまとめて発行する場合の処理を説明
する。図24は、電源断によるディスク装置の書込み中
断を示すタイミング図である。図24に示すディスク装
置31−1〜5への書き込みにおいて、書込み指示は3
ブロック単位で行われている。従って、書込み管理表へ
の書込み状態の設定も3ブロック単位で行われなければ
ならない。
【0039】例えば、タイミング800dにおける書込
み管理表の状態は、図23に示す書込み管理表121の
ようになる。図23は、ディスク装置への複数ブロック
の書込み指示を行なう際の書込み管理表とディスク装置
への書込み状態の例を示す図である。書込み指示の発行
および書込み完了を3ブロック単位でしか把握できない
ため、書込み指示を発行した時点で書込み状態を3ブロ
ックまとめて書込み中(W)に設定し、書込み完了が返
ってきた時点で書込み状態を3ブロックまとめて書込み
完了に設定する。従って、図23の書込み管理表121
のように、連続する3ブロック分のエントリ、すなわち
エントリ1210a−1〜3とエントリ1210a−4
〜6は同じ書込み状態を持つことになる。
【0040】図24のタイミング800dにおいて、電
源が切断されて書き込みが中断した場合、書込み状態は
図23の書込み管理表121のようになる。この書込み
管理表121のエントリ1210a−1〜3より、ブロ
ック310a−1〜3は回復可能であることがわかる。
しかし、ブロック310a−4〜6に関しては、エント
リ1210a−4〜6の内容からは全て回復不可能と判
断される。しかし、実際にはブロック310a−6はデ
ィスク装置31−1の部分を除いて書き込み前のデータ
が格納されたままであり、デ−タの回復は可能である。
【0041】このように、ディスク装置31−1〜5の
複数ブロックに対してまとめて書込み指示を発行する場
合には、電源切断などにより書き込みが中断した後の書
込み管理表121からは回復不可と判断される場合でも
実際は回復できる場合がある。すなわち、書込み管理表
121において、書込み状態が書込み中(W)と表示さ
れている部分は、未書き込みまたは書込み完了である可
能性もある。従って、書込み管理表121のエントリ内
に書込み中(W)があっても、書込み完了(C)あるい
は書込み指示未発行(U)の数が冗長度以下ならば回復
の可能性がある。回復の可能性があると判断されたブロ
ックに関しては、実際にそのブロックのデ−タを読みだ
し、読みだしエラーになるか否か、および更新番号の一
致数を判定して回復可能か否かを判断する。実際にデ−
タを読み出して、更新番号が一致している数が、ドライ
ブグループ3のディスク装置数から冗長度を引いた値よ
り大きければ回復可能と判断できる。
【0042】図23のブロック310a−4〜6では、
エントリ1210a−4〜6より、いずれも書込み完了
(C)の数が1と冗長度以下であり、ブロック310a
−4〜6は回復の可能性ありと判断できる。従って、ブ
ロック310−4〜6の読み出しを実行する。ブロック
310a−4では、更新番号が一致している数の最大値
が2であり回復不可と判断する。ブロック310a−5
もやはり更新番号が一致している数の最大値が3であり
回復不可である。しかし、ブロック310a−6では、
更新番号が一致している数の最大値が4であり回復可能
と判断される。このような判定は、処理装置からの読み
だし時に行うこともできる。すなわち、初期設定時に回
復可能なブロックについては回復を行い、回復ができな
かったブロックについては読みだし不可のブロックを不
揮発メモリ12に登録しておき、読みだし時に読みだし
対象ブロックが読みだし不可と登録されていれば処理装
置にエラーを報告することができる。
【0043】図25に回復後のドライブグループ3の状
態と不完全書込み管理表123aの設定を示す。ブロッ
ク310a−1〜3は書き込み後の状態に回復されてお
り、ブロック310a−6は書き込み前の状態に回復さ
れている。これらのブロックに対応する不完全書込み管
理表123aのエントリがあれば不完全書込みフラグ1
230a−1〜3、1230a−6に正常書込み状態を
(N)設定する。しかし、ブロック310a−4〜5は
回復不可であり、このブロックに対応する不完全書込み
管理表123aの不完全書込みフラグ1230a−4〜
5に不完全書込み状態(D)を設定する。回復可能な不
完全書込み領域の回復と不完全書込み管理表123aの
設定が完了したら、書込み管理表121は不要となるの
で、不揮発メモリ12から消去される。
【0044】不完全書込みブロックの回復処理を図26
に示す。図26において、Nはドライブグループを構成
するディスク装置の数、ncはドライブグループ内で書
込み状態が書込み完了(C)であるディスク装置の数、
nuはドライブグループ内で書込み状態が書込み指示未
発行(U)であるディスク装置の数、Rは冗長度であ
る。ステップ920では、ドライブグループの全てのデ
ィスク装置の書込み状態が書込み完了(C)か書込み指
示未発行(U)であるかを判定する。書込み状態が全て
書込み完了(C)または全て書込み指示未発行(U)で
あるならば、回復の必要はないのでなにもしない。もし
そうでないならば、ステップ921で書込み完了(C)
以外のディスク装置数(N−nc)が冗長度R以下か否
かを判定する。ディスク装置数(N−nc)が冗長度R
以下ならば、ステップ926で、書込み完了(C)のデ
ータを用いてデ−タを回復する。ステップ921でディ
スク装置数(N−nc)が冗長度Rより大きいと判定さ
れたならば、ステップ922で、書込み指示未発行
(U)以外のディスク装置数(N−nu)が冗長度R以
下か否かを判定する。ディスク装置数(N−nu)が冗
長度R以下ならば、処理927で書込み指示未発行
(U)のデータを用いて回復する。ステップ922でデ
ィスク装置数(N−nu)が冗長度Rより大きいと判定
されたならば、ステップ923で、書込み完了(C)の
ディスク数(nc)が冗長度Rより大きく、かつ、書込
み指示未発行(U)のディスク数(nu)が冗長度Rよ
り大きいか否かを判定する。もしそうならば、ステップ
928において回復不可を記録する。ステップ923で
そうでないならば、ステップ924において、当該ブロ
ックの読み出しを実行する。ステップ925において、
読み出した結果の更新番号が一致する数の最大値が、ド
ライブグループのディスク装置数Nから冗長度Rを引い
た値以上ならば、ステップ929において、更新番号が
一致する数が最も多かったデータを用いて回復し、そう
でないならば、ステップ928で回復不可を記録する。
【0045】
【発明の効果】ディスクアレイにおいては、一連のデー
タを複数のディスク装置に分割して格納する。このため
ディスクアレイへの書込み中に電源切断などが発生する
と回転のわずかなずれなどによりディスクアレイを構成
する一部のディスク装置にのみデータが書き込まれ、読
みだしの際に論理的な意味をなさない可能性がある。本
発明では、ディスク装置へのデ−タの書き込み状態を不
揮発メモリに保持しているので、上記のような不完全に
書き込まれた領域を検出して処理装置からの読みだしを
抑止できる。
【図面の簡単な説明】
【図1】第1の実施例のディスクアレイ制御装置を含む
計算機システムの構成図。
【図2】ディスクアレイ制御装置におけるデータの分割
と統合を示す概略図。
【図3】書込み管理表による管理を示す図。
【図4】ディスク装置への分割データの書込みタイミン
グの例と書込み管理表の変化を示す図。
【図5】入力処理における不完全書込み領域の判定を示
す流れ図。
【図6】出力処理における不完全書込み領域の判定を示
す流れ図。
【図7】書込み中断時の不完全書込み領域と書込み管理
表の状態を示す図。
【図8】不完全書込み領域への書き込みによる書込み管
理表の状態の変化を示す図。
【図9】多重バッファリング形式の書込み管理表を示す
図。
【図10】多重バッファリング形式の書込み管理表を示
す図。
【図11】リングバッファ形式の書込み管理表を示す
図。
【図12】不完全書込み管理表の設定を示す図。
【図13】第2の実施例のディスクアレイ制御装置を含
む計算機システムの構成図。
【図14】第2の実施例におけるデータの分割とECC
データの生成を示す図。
【図15】第2の実施例におけるデータの統合とECC
データの検査を示す図。
【図16】第2の実施例におけるデータの訂正を示す
図。
【図17】書込み管理表の設定例を示す図。
【図18】回復可能な不完全書込み領域の回復を示す
図。
【図19】不完全書込み領域回復後の書込み管理表の状
態と不完全書込み管理表の設定を示す図。
【図20】第3の実施例のディスクアレイ制御装置を含
む計算機システムの構成図。
【図21】第3の実施例における更新番号の付加を示す
図。
【図22】第3の実施例における更新番号の検査を示す
図。
【図23】ディスク装置への複数ブロックの書込み指示
を行う際の書込み管理表とディスク装置への書込み状態
の例を示す図。
【図24】電源断によるディスク装置への書込み中断を
示すタイミング図。
【図25】回復後のディスク装置の書込み状態と不完全
書込み管理表の設定を示す図。
【図26】第3の実施例における不完全書込み領域の回
復可能の判定を示す流れ図。
【符号の説明】
1,1a〜b:ディスクアレイ制御装置、2:処理装
置、3:ドライブグループ、11:プロセッサ、12:
不揮発メモリ、13:データバッファ、14:チャネル
インタフェース、15:SCSIインタフェース、1
6:ECC生成/検査回路、17:更新番号生成/検査
回路、31,31−1〜5:ディスク装置、121,1
21−1〜2,121a〜f:書込み管理表、122a
〜b:リングバッファ形式書込み管理表、123:不完
全書込み管理表。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 孝夫 神奈川県川崎市麻生区王禅寺1099番地 株式会社 日立製作所 システム開発研 究所内 (72)発明者 山本 彰 神奈川県川崎市麻生区王禅寺1099番地 株式会社 日立製作所 システム開発研 究所内 (56)参考文献 特開 平2−236714(JP,A) 特開 平3−268127(JP,A) 特開 平4−287255(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06 302 G06F 3/06 301

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】入出力要求を発行する処理装置と、並列に
    動作する複数のデイスク装置とに接続され、前記処理装
    置からの出力要求で指定された出力データを分割して前
    記複数のデイスク装置に並列に書き込むとともに、前記
    処理装置からの入力要求に対して前記複数のデイスク装
    置から読み出したデータを統合して前記処理装置に転送
    するデイスクアレイ制御装置であって、 不揮発メモリと、 前記処理装置からの出力要求に応じて、各デイスク装置
    のデータの書き込みが行なわれるブロック毎に、デイス
    ク装置への書き込みが完了したか、書き込み指示を発行
    中であるか、或いは書き込み指示を未発行であるかを識
    別する書き込み状態を前記不揮発メモリに記憶する記憶
    制御手段とを有することを特徴とするデイスクアレイ制
    御装置。
  2. 【請求項2】前記処理装置からの入力要求が、書き込み
    状態が書き込み指示を発行中であるブロックに対する入
    力要求であったことに応じて、読み出し障害を前記処理
    装置に報告する報告手段を有する請求項1に記載のデイ
    スクアレイ制御装置。
  3. 【請求項3】前記処理装置からの入力要求が、前記複数
    のデイスク装置の同一のブロックアドレスであって、前
    記書き込み状態が書き込みが完了のブロックと、書き込
    み指示が未発行であるブロックとを含む領域に対する入
    力要求であったことに応じて、読み出し障害を前記処理
    装置に報告する報告手段を有する請求項1に記載のデイ
    スクアレイ制御装置。
  4. 【請求項4】入出力要求を発行する処理装置と、並列に
    動作する複数のデイスク装置とに接続され、前記処理装
    置からの出力要求で指定された出力データを分割して前
    記複数のデイスク装置に並列に書き込むとともに、前記
    処理装置からの入力要求に対して前記複数のデイスク装
    置から読み出したデータを統合して前記処理装置に転送
    するデイスクアレイ制御装置であって、 前記処理装置からの出力要求に応じて、当該出力要求に
    固有の更新番号を生成する生成手段と、 各デイスク装置のデータの書き込みが行なわれるブロッ
    ク毎に、書き込みデータに前記更新番号を付加してデイ
    スク装置に書き込む書き込み手段と、 前記処理装置からの入力要求に応じて、前記複数のデイ
    スク装置の同一のブロックアドレスから並列に読み出さ
    れたデータに付加された更新番号が一致するかを検査す
    る検査手段と、 同一のブロックアドレスから並列に読み出されたデータ
    に付加された更新番号が一致しないことに応じて、前記
    処理装置に読み出し障害を報告する障害報告手段とを有
    することを特徴とするデイスクアレイ制御装置。
JP4008211A 1992-01-21 1992-01-21 ディスクアレイ制御装置 Expired - Lifetime JP3058743B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP4008211A JP3058743B2 (ja) 1992-01-21 1992-01-21 ディスクアレイ制御装置
US08/005,994 US5550975A (en) 1992-01-21 1993-01-19 Disk array controller
US08/442,480 US5664096A (en) 1992-01-21 1995-05-16 Disk array controller capable of preventing data distortion caused by an interruption of data write operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4008211A JP3058743B2 (ja) 1992-01-21 1992-01-21 ディスクアレイ制御装置

Publications (2)

Publication Number Publication Date
JPH05197499A JPH05197499A (ja) 1993-08-06
JP3058743B2 true JP3058743B2 (ja) 2000-07-04

Family

ID=11686908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4008211A Expired - Lifetime JP3058743B2 (ja) 1992-01-21 1992-01-21 ディスクアレイ制御装置

Country Status (2)

Country Link
US (2) US5550975A (ja)
JP (1) JP3058743B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869387A (ja) * 1994-08-31 1996-03-12 Nec Corp 双方向バッファ装置

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2888401B2 (ja) * 1992-08-03 1999-05-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 冗長ディスクドライブアレイに対する同期方法
EP0701715A4 (en) 1993-06-04 1999-11-17 Network Appliance Corp METHOD FOR PROVIDING PARITY IN A RAID SUBSYSTEM USING REMANENT MEMORY
US5913927A (en) * 1995-12-15 1999-06-22 Mylex Corporation Method and apparatus for management of faulty data in a raid system
US5717850A (en) * 1996-03-12 1998-02-10 International Business Machines Corporation Efficient system for predicting and processing storage subsystem failure
US6138176A (en) * 1997-11-14 2000-10-24 3Ware Disk array controller with automated processor which routes I/O data according to addresses and commands received from disk drive controllers
US6098114A (en) 1997-11-14 2000-08-01 3Ware Disk array system for processing and tracking the completion of I/O requests
US6134630A (en) 1997-11-14 2000-10-17 3Ware High-performance bus architecture for disk array system
JP4461511B2 (ja) * 1999-06-09 2010-05-12 株式会社日立製作所 ディスクアレイ装置及びディスク装置へのデータ読み出し/書き込み方式
US6557123B1 (en) * 1999-08-02 2003-04-29 Inostor Corporation Data redundancy methods and apparatus
US6745285B2 (en) * 2000-12-18 2004-06-01 Sun Microsystems, Inc. System and method for synchronizing mirrored and striped disk writes
US6970890B1 (en) * 2000-12-20 2005-11-29 Bitmicro Networks, Inc. Method and apparatus for data recovery
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
JP2004192483A (ja) * 2002-12-13 2004-07-08 Hitachi Ltd 分散ストレージシステムの管理方法
US7219201B2 (en) * 2003-09-17 2007-05-15 Hitachi, Ltd. Remote storage disk control device and method for controlling the same
JP4598387B2 (ja) * 2003-09-17 2010-12-15 株式会社日立製作所 記憶システム
US7188225B1 (en) * 2003-12-05 2007-03-06 Applied Micro Circuits Corporation Storage system with disk drive power-on-reset detection
US7194640B2 (en) * 2003-12-08 2007-03-20 Lsi Logic Corporation Alternate non-volatile memory for robust I/O
US7340576B1 (en) * 2004-02-19 2008-03-04 Applied Micro Circuits Corporation Storage system with disk drive power-on-reset detection and recovery
JP4182038B2 (ja) * 2004-08-26 2008-11-19 キヤノン株式会社 データ管理装置及び管理方法
US8458238B2 (en) 2004-10-26 2013-06-04 Netapp, Inc. Method and system for efficient write journal entry management for a distributed file system
US20070226536A1 (en) * 2006-02-06 2007-09-27 Crawford Timothy J Apparatus, system, and method for information validation in a heirarchical structure
US20070294565A1 (en) * 2006-04-28 2007-12-20 Network Appliance, Inc. Simplified parity disk generation in a redundant array of inexpensive disks
US7411757B2 (en) * 2006-07-27 2008-08-12 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with nonvolatile memory having multiple modes of operation
US8015433B2 (en) * 2006-09-13 2011-09-06 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with nonvolatile memory for storage of failure-related data
US20080313364A1 (en) 2006-12-06 2008-12-18 David Flynn Apparatus, system, and method for remote direct memory access to a solid-state storage device
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US9495241B2 (en) * 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
WO2009025683A1 (en) * 2007-08-21 2009-02-26 Thomson Licensing Method and system for repairing damaged hard disk file systems
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US7852596B2 (en) * 2009-02-25 2010-12-14 Western Digital Technologies, Inc. Disk drive returning dummy data to a host when reading an unwritten data sector
US8850151B2 (en) 2010-03-24 2014-09-30 Apple Inc. Hybrid-device storage based on environmental state
KR101774471B1 (ko) * 2010-11-25 2017-09-05 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 읽기 방법
US9417794B2 (en) 2011-07-26 2016-08-16 Apple Inc. Including performance-related hints in requests to composite memory
US9003103B2 (en) * 2011-09-12 2015-04-07 Microsoft Technology Licensing, Llc Nonvolatile media dirty region tracking
US9275096B2 (en) 2012-01-17 2016-03-01 Apple Inc. Optimized b-tree

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63113623A (ja) * 1986-10-30 1988-05-18 Nec Corp セクタバツフア制御方式
JPH0831241B2 (ja) * 1986-11-10 1996-03-27 日本電気株式会社 周辺制御プロセツサ
JP2562823B2 (ja) * 1987-09-14 1996-12-11 パイオニア株式会社 書込み可能型ディスク用オートチェンジャー
JPH029063A (ja) * 1988-06-28 1990-01-12 Nec Corp ディスク制御装置
US4989206A (en) * 1988-06-28 1991-01-29 Storage Technology Corporation Disk drive memory
JP2776841B2 (ja) * 1988-09-28 1998-07-16 株式会社日立製作所 ディスク制御装置におけるディスクアクセス制御方法
US5014237A (en) * 1988-10-31 1991-05-07 Tandon Corporation Disk drive controller system with enhanced communications interface
AU630635B2 (en) * 1988-11-14 1992-11-05 Emc Corporation Arrayed disk drive system and method
US5148432A (en) * 1988-11-14 1992-09-15 Array Technology Corporation Arrayed disk drive system and method
US5359713A (en) * 1989-06-01 1994-10-25 Legato Systems, Inc. Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system
US5233618A (en) * 1990-03-02 1993-08-03 Micro Technology, Inc. Data correcting applicable to redundant arrays of independent disks
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
US5124987A (en) * 1990-04-16 1992-06-23 Storage Technology Corporation Logical track write scheduling system for a parallel disk drive array data storage subsystem
US5200960A (en) * 1990-09-21 1993-04-06 Xerox Corporation Streaming tape diagnostic
JP2603757B2 (ja) * 1990-11-30 1997-04-23 富士通株式会社 アレ−ディスク装置の制御方法
US5414861A (en) * 1991-09-11 1995-05-09 Fujitsu Limited Data protection system using different levels of reserve power to maintain data in volatile memories for any period of time
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
US5345347A (en) * 1992-02-18 1994-09-06 Western Digital Corporation Disk drive with reduced power modes
US5315602A (en) * 1992-08-12 1994-05-24 Digital Equipment Corporation Optimized stripe detection for redundant arrays of disk drives

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869387A (ja) * 1994-08-31 1996-03-12 Nec Corp 双方向バッファ装置

Also Published As

Publication number Publication date
JPH05197499A (ja) 1993-08-06
US5664096A (en) 1997-09-02
US5550975A (en) 1996-08-27

Similar Documents

Publication Publication Date Title
JP3058743B2 (ja) ディスクアレイ制御装置
US5089958A (en) Fault tolerant computer backup system
US7962783B2 (en) Preventing write corruption in a raid array
JP5768587B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
AU710907B2 (en) Expansion of the number of drives in a raid set while maintaining integrity of migrated data
JP3618529B2 (ja) ディスクアレイ装置
JP3682256B2 (ja) ディスクアレイ装置及び同装置におけるパリティ処理方法
US6055604A (en) Forced transaction log posting using a least busy storage media without maintaining redundancy of the transaction log
JP6064608B2 (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
US20020194528A1 (en) Method, disaster recovery record, back-up apparatus and RAID array controller for use in restoring a configuration of a RAID device
JPH07500203A (ja) ロールバックのためのデータ・バックアップ・システム
JP2008052547A (ja) 記憶制御装置及び記憶制御装置の障害回復方法
JPH0619632A (ja) コンピユータ・システムのストレージ装置及びデータのストア方法
JP2001344076A (ja) ディスクアレイ装置
JP4491330B2 (ja) ディスクアレイ装置とそのデータのリカバリ方法およびデータリカバリプログラム
JPH08249218A (ja) ファイル制御装置及びデータ書き込み方法
JP2004213470A (ja) ディスクアレイ装置及びディスクアレイ装置におけるデータ書き込み方法
JPH06119126A (ja) ディスクアレイ装置
JP2002373059A (ja) ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置
JP2002229742A (ja) アクセス切替制御装置、および、アクセス切替制御方法
JPH0756694A (ja) ディスクアレイ装置
JPH1124849A (ja) 障害回復方法および装置
JPH07319637A (ja) ディスク装置の制御装置およびディスク装置の制御方 法
JPS6326407B2 (ja)
JPH09101866A (ja) ディスクアレイシステムとその運用方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000314

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080421

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100421

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110421

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120421

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120421

Year of fee payment: 12