JPH09282105A - ディスク記憶システム及びその誤り訂正データ作成処理の回復方法 - Google Patents

ディスク記憶システム及びその誤り訂正データ作成処理の回復方法

Info

Publication number
JPH09282105A
JPH09282105A JP8086086A JP8608696A JPH09282105A JP H09282105 A JPH09282105 A JP H09282105A JP 8086086 A JP8086086 A JP 8086086A JP 8608696 A JP8608696 A JP 8608696A JP H09282105 A JPH09282105 A JP H09282105A
Authority
JP
Japan
Prior art keywords
area
data
cache memory
processing
parity
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
Application number
JP8086086A
Other languages
English (en)
Inventor
Manabu Kitamura
学 北村
Akira Yamamoto
山本  彰
Yasutomo Yamamoto
康友 山本
Takao Sato
孝夫 佐藤
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
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Priority to JP8086086A priority Critical patent/JPH09282105A/ja
Publication of JPH09282105A publication Critical patent/JPH09282105A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】 処理装置1から送られた更新データを一旦キ
ャッシュメモリ33に格納し、新しいパリティを作成し
てから更新データとパリティとを記憶装置2に格納する
記憶システムにおいて、パリティ作成中に障害が発生し
た場合のデータの保証をする。 【解決手段】 不揮発のキャッシュ33は、更新後及び
更新前のデータ、更新後及び更新前のパリティを格納す
るそれぞれの領域を有する。パリティ作成制御部38
は、更新前後のデータ及び更新前のパリティから更新後
のパリティを作成した後、パリティ作成完了を示す不揮
発の識別子をオンにして新しいパリティと更新後データ
をそれぞれの更新前領域にコピーする。記憶制御装置3
の処理が中断した後、回復制御部39は識別子のオフ又
はオンによってパリティ作成処理を始めから再実行する
か又は識別子をオンにした後の処理から再実行するかを
制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディスク記憶シス
テム及びその誤り訂正データ作成処理に係わり、特に誤
り訂正データ作成処理の回復方法に関する。
【0002】
【従来の技術】従来、デビット・A・パターソンらは、
高速に大量のデータを複数のディスクにアクセスするデ
ィスク装置のディスク故障時におけるデータの冗長性を
実現するディスクアレイ装置についての論文「低価格デ
ィスクの冗長アレイ(RAID)の一事例(A Cas
e for Redundant Arrays of
Inexpensive Disks(RAID))」
を1988年6月1日から3日にシカゴで開催されたA
CM SIGMODで発表している。提案されたディス
クアレイ装置は、RAID(Redundant Ar
rays ofInexpensive Disks)
と略称される。RAIDの仕組みを簡単に説明すると次
のようなものである。
【0003】RAIDでは、ライトするデータを複数の
データに分割し、この分割した複数のデータについて排
他的論理和をとることによってパリティを計算する。そ
して分割したデータとパリティを並列に複数のディスク
に対して書き込む。ライトデータをn個に分割した場
合、それらのデータをd1,d2,...,dnとする
とこの分割したデータからパリティpを生成するには次
の(1)式に従って行い、パリティpの作成後に、d
1,d2,...,dnとpはそれぞれ別のディスクに
書き込まれる。
【0004】 p=d1(+)d2(+)...(+)dn (1) ただし(+)は、排他的論理和を表す。排他的論理和
は、各項を2進数に変換した時の各桁をそれぞれ参照
し、1が奇数個の時は1、偶数個の時は0になる。例え
ばデータを3分割にして書き込む場合、d1=01,d
2=11,d3=00の時(それぞれ2進数)にはpは1
0になる。このd1,d2,...,dnとpのデータ
の集合をパリティグループといい、pは常に(1)式に
従った値になっていなければならない。そのため例えば
既に書き込みの行われた領域d1のみに別のデータDが
上書きされた場合でも、パリティpについて新規パリテ
ィPを算出してDとともにPもディスクに書き込む必要
がある。その場合は次の(2)式によりパリティを算出
してDとPをディスクに書き込む操作をする。
【0005】 P=D(+)d1(+)p (2) 特開平4−245352号公報には、記憶装置であるデ
ィスク装置がRAID構成をとりキャッシュメモリを有
する記憶制御装置のライト処理の方法が記載されてい
る。キャッシュメモリを有する記憶制御装置は、中央処
理装置からのライト指示に対し記憶制御装置内のキャッ
シュメモリにライトデータを格納した時点で中央処理装
置に対してライト処理終了を報告する。そして記憶制御
装置は、中央処理装置からのライト指示とは非同期にデ
ィスク装置へライトデータを格納する。この制御をライ
トアフタ制御といい、ディスク装置へのデータ転送を行
う前に中央処理装置に対してライト処理終了を報告する
ため、中央処理装置への高速な応答が可能になる。
【0006】この記憶制御装置は、パリティを作成する
のに必要十分なデータをキャッシュメモリ上に格納した
後パリティを作成する。以下ライト処理について説明す
る。ディスクに書き込み済みのデータd1の一部又は全
部に対して書き込み要求が来てデータd1に対する更新
データDがキャッシュメモリ上に書き込まれると、記憶
制御装置は中央制御装置へライト完了報告を行い、その
後に非同期にパリティの作成を行う。記憶制御装置は上
式(2)に従ってパリティを作成するため、旧データd
1及び旧パリティpの置かれる領域と新たに作成される
パリティPを置く領域をキャッシュメモリ上に確保し
て、ディスクからd1及びpを読み込む。それから
(2)式に従い新規にパリティPを作成して確保したキ
ャッシュメモリ上の領域に格納する。その後、更新デー
タDと新規作成パリティPをキャッシュメモリ上のd1
及びpのある領域へ上書きする処理を行ってから、Dと
Pをディスク装置へ書き込む。このときd1とpのデー
タが既にキャッシュメモリ上にある場合には、新たにキ
ャッシュを確保する処理とd1とpをディスクから読み
込む処理が省略できるために処理が高速化される利点が
ある。
【0007】
【発明が解決しようとする課題】RAID構成の記憶装
置では、前述の通りデータの一部を書き換えるとともに
それに対応するパリティグループのパリティデータも常
に前述の(1)式に従っていなければならないので、デ
ータの更新と同時に書き換える必要がある。ただし実際
にはデータの書き換えとパリティの書き換えは完全に同
時に実行できるわけではなく、一時的にはパリティだけ
又はデータだけが先にディスクに書き込まれているとい
う状態が存在する。これは記憶制御装置がキャッシュメ
モリを有する場合にキャッシュメモリの内容についても
同じことが言える。ライトデータDからパリティPを作
成してd1とpの置かれているキャッシュメモリの領域
にコピーする時、Dだけがコピーされた時点で停電等に
よる処理中断が発生した場合、パリティ作成前にはd1
とpが置かれていた領域はDとpが存在するという状態
になる。そのために例えばこの状態から同じパリティグ
ループ内の別のデータd2に対する更新データD2から
のパリティP2の作成を行うと、本来は P2=d2(+)D2(+)P を行わなければならないのに、Pの更新前パリティデー
タpを使った d2(+)D2(+)p を行って間違ったパリティを作成してしまうため、この
ようなパリティ作成途中での停電等による処理中断や障
害発生でのデータ損失の問題は十分考慮される必要があ
る。しかしながら従来技術では、パリティ作成中の停電
等による処理中断が発生した場合、特に更新データDと
Dに対するパリティデータPを、更新前データd1とd
1に対するパリティpのおかれている領域にコピーして
いる際のデータ損失やその際の回復処理について考慮さ
れていない。
【0008】このd1やpがディスク装置に書き込み済
みの状態の場合、d1及びpの置かれているキャッシュ
メモリにディスク装置からその内容を再度読み込んで、
パリティの作成処理を始めからやり直しをすれば良いこ
とは容易に考えられるので考慮する必要はない。しかし
ライトアフタ制御ではキャッシュメモリにライトデータ
を格納した時点で中央処理装置に対してライト処理終了
を報告するため、ライトデータDからパリティPを作成
して、それらがd1やpのある領域にコピーされた直後
に同じ領域にさらに新しいライトデータD’がキャッシ
ュメモリ上に書き込まれてそれに対する新規パリティ
P’を作成する処理が始まることもあり得る。その時に
上の例のようにD’をDのある領域にコピーした直後で
障害が発生した場合にパリティ作成をやり直そうとして
も、DとPはディスク上には置かれていないデータなの
で読み込むことはできず、やり直しはできない。
【0009】本発明の目的は、このようなディスク装置
への書き込みが行われていないデータに対する更新デー
タからパリティ作成を行っている途中に障害が発生した
場合のデータ保証をすることにある。
【0010】
【課題を解決するための手段】本発明は、不揮発のキャ
ッシュメモリ上に置かれた更新データD、ディスク記憶
装置に反映済みの対応するデータd及びdに対応する誤
り訂正データpから更新後の誤り訂正データPを作成す
る第1のステップと、第1のステップが終了したときそ
の状態を示す識別子を不揮発性の記憶装置に格納する第
2のステップと、誤り訂正データPをpの領域へ上書き
し、更新データDをdの領域へ上書きする第3のステッ
プと、障害によって記憶制御装置の処理が中断された
後、この識別子を参照して終了状態でなければ第1のス
テップを再実行し、終了状態であれば第3のステップを
再実行する第4のステップとを有することを特徴とする
ディスク記憶システムの誤り訂正データ作成処理の回復
方法を特徴とする。
【0011】本発明によれば、誤り訂正データの作成が
終了したか否かを境界にして回復処理が再実行を開始す
るポイントを変えており、いずれの場合にもデータ及び
パリティの正しいことが保証され、再開始後の処理にお
いてもディスク記憶システムは間違ったパリティを作成
することはない。
【0012】なお同一パリティグループ内に更新データ
がD1,D2,・・・のように複数ある場合には、第1
のステップでは更新データD1,D2,・・・、それぞ
れ反映済みの対応するデータd1,d2,・・・及び誤
り訂正データpから更新後の誤り訂正データPを作成
し、第3のステップでは更新データD1,D2,・・・
をそれぞれd1,d2,・・・へ上書きし、その他の処
理は上記の通りである。
【0013】
【発明の実施の形態】以下、本発明の実施形態について
図面を用いて説明する。
【0014】(1)第1の実施形態 図1は、第1の実施形態のディスク記憶システムの構成
図である。ディスク記憶システムは、記憶制御装置3及
び記憶装置2から構成される。処理装置1は、記憶装置
2に対してリード/ライト要求を発行する情報処理装置
である。記憶装置2は、複数のディスク記憶装置を有
し、ディスクアレイを構成する。記憶制御装置3は、処
理装置1及び記憶装置2に接続され、チャネルアダプタ
31、ドライブアダプタ32、キャッシュメモリ33、
キャッシュ制御メモリ34、キャッシュ制御部35、パ
リティ生成部36、ドライブ制御部37、パリティ作成
制御部38及び回復制御部39から構成される。図1で
太い矢印はデータの流れを示し、細い矢印は制御情報の
流れを示す。ただし図面を簡単にするために本発明と関
連の少ない制御の流れについて省略している。チャネル
アダプタ31は、チャネルインタフェースによって処理
装置1のチャネルに接続され、処理装置1と情報の送受
信を行う。ドライブアダプタ32は、ドライブインタフ
ェースによって記憶装置2に接続され、記憶装置2と情
報の送受信を行う。キャッシュメモリ33は、バッテリ
により不揮発化された記憶装置であり、記憶装置2に書
き込むデータ及びその誤り訂正データを一時的に格納す
る。以下誤り訂正データをパリティと呼ぶ。キャッシュ
制御メモリ34は、不揮発化された記憶装置であり、キ
ャッシュメモリ33上のデータ及びパリティを管理する
情報を格納する記憶装置である。キャッシュ制御部35
は、キャッシュメモリ33上の記憶領域を管理し、キャ
ッシュ制御メモリ34上に管理情報を作成し、更新す
る。パリティ生成部36は、データ更新に伴ってキャッ
シュメモリ33上のデータ及びパリティから新しいパリ
ティを生成する。ドライブ制御部37は、記憶装置2内
のディスク記憶装置とキャッシュメモリ33との間のデ
ータの転送を制御する。パリティ作成制御部38は、パ
リティ作成処理を制御し、そのステータスを管理する。
回復制御部39は、停電等の障害が発生してパリティの
作成が中断したとき、パリティ作成処理を回復する。
【0015】ここで以下の説明に使用する用語の説明を
する。レコードとは、処理装置1と記憶制御装置3との
間で転送するデータの単位である。スロットとは、キャ
ッシュメモリ33上の記憶領域の単位であるとともに、
処理装置1から来たライトデータを記憶装置2の各ディ
スク記憶装置に分割する際の大きさの単位である。スロ
ットのサイズはレコードのサイズより大きく、スロット
は複数のレコードを収容可能である。すべてのスロット
は同じ大きさである。各スロットにはユニークなスロッ
ト番号が付与される。処理装置1からリード/ライトさ
れるデータが置かれるスロットをデータスロットとい
い、このデータスロットから作成されるパリティが置か
れるスロットをパリティスロットという。スロットはさ
らに細かいブロックに分割される。ブロックはディスク
記憶装置と記憶制御装置3との間でデータを転送すると
きの最小単位である。同一スロット内の各ブロックには
ブロック番号が付与される。スロット番号とブロック番
号が与えられると、特定のディスク記憶装置上のデータ
格納場所が決定される。1つのパリティを作成するとき
に対象となる複数スロットに亘るデータの集合をそのパ
リティとともにまとめてパリティグループという。キャ
ッシュメモリ33上のデータのうち記憶装置2上のデー
タと一致しているデータをクリーンデータという。記憶
装置2に反映されておらず、キャッシュメモリ33上に
のみ記憶されている更新データをダーティデータとい
う。ダーティデータのうちパリティの作成されているデ
ータを物理ダーティデータ、パリティの作成されていな
いデータをホストダーティデータという。
【0016】処理装置1から1レコード又は複数レコー
ドから成るデータのライト要求が来たとき、記憶制御装
置3はこのデータの大きさが1スロットに収まる範囲の
大きさであればそのまま、複数スロットにまたがる大き
さの場合にはスロット境界でデータd1,d2,・・
・,dnに分割し、一旦キャッシュメモリ33に記憶す
る。分割したデータはそれぞれキャッシュメモリ33上
の連続するスロット番号をもつ別々のスロットに格納さ
れる。1つのレコードはスロット内の1つ又は複数の連
続するブロックを占有する。キャッシュメモリ33への
データ書き込みが終了した時点で記憶制御装置3は、処
理装置1にライト終了を報告し、その後処理装置1のラ
イト指示とは非同期に単一のデータスロット又は同一の
パリティグループに属する複数のデータスロットからパ
リティを作成する。パリティ作成制御部38はパリティ
生成部36にパリティの生成を要求する。パリティ生成
部36は、キャッシュメモリ33上のデータを読み出し
てパリティを作成し、キャッシュメモリ33上のパリテ
ィスロットにこのパリティを書き込む。パリティの作成
が終了した後、ドライブ制御部37は各データスロット
内のデータとパリティスロット内のパリティを各々別々
のディスク記憶装置に格納する。
【0017】図2は、キャッシュメモリ33内に確保さ
れるスロットの構成とキャッシュ制御メモリ34内に確
保されるスロット管理情報の構成を示す図である。各ス
ロット42は、それぞれ分割したデータ及びパリティを
含む。1つのスロット42は、ライト面44とリード面
45から構成される。ライト面44は処理装置1からの
ライト要求によって受け取ったデータを格納する領域、
リード面45はディスク記憶装置に書き込むデータを格
納する領域である。ライト面44はホストダーティデー
タを格納し、リード面45は物理ダーティデータ又はク
リーンデータを格納する。ライト面44又はリード面4
5は、さらに複数のブロック46に分割されている。分
割したデータ及びパリティは、それぞれライト面44及
びリード面45内の1つ又は複数のブロックを占有す
る。
【0018】キャッシュ制御メモリ34内に確保される
スロット管理情報43は、スロット番号、ライト面ポイ
ンタ、リード面ポインタ及びスロットステータス47か
ら構成され、それぞれ対応するスロットに置かれる分割
されたデータ又はパリティを管理する。スロット番号は
管理するスロットの番号である。ライト面ポインタは、
ライト面44内のレコードが占有する最初のブロックの
アドレスとそのブロック数を格納する。またリード面ポ
インタは、リード面45内のレコードが占有する最初の
ブロックのアドレスとそのブロック数を格納する。スロ
ットステータス47は、スロット内で管理しているデー
タの状態を示す情報を保有しており、チャネルライト
中、ディスクリード中、ディスクライト中、パリティ作
成中、パリティ作成完了、ホストダーティ及び物理ダー
ティを示す識別子から構成される。各識別子は、その状
態がオンかオフかの2値をもつ。チャネルライト中、デ
ィスクリード中、ディスクライト中は、それぞれ処理装
置1からキャッシュメモリ33へのデータ転送中、記憶
装置2からキャッシュメモリ33へのデータ転送中、キ
ャッシュメモリ33から記憶装置2へのデータ転送中の
状態を示す。
【0019】処理装置1からライト要求が来ると、記憶
制御装置3は指定されたシリンダ番号/トラック番号/
レコード番号のようなディスク・アドレスをスロット番
号/ブロック番号に変換し、処理装置1から受け取った
1つ又は複数のレコードをそのまま又はn個のデータに
分割する。次にキャッシュ制御部35はキャッシュ制御
メモリ34上にこのスロット番号から始まるn個のスロ
ット管理情報43を作成する。この操作をスロット確保
という。次にキャッシュ制御部35は、キャッシュメモ
リ33の空いている領域からn個のスロット42のライ
ト面44を確保し、各ライト面44上でレコードが開始
するブロックのアドレスとブロック数をスロット管理情
報43のライト面ポインタに格納する。この操作をキャ
ッシュ確保という。キャッシュ確保をした後に記憶制御
装置3は、各スロット42上のブロックに分割したデー
タの各々を書き込む。次にパリティ作成制御部38は、
キャッシュ制御部35を介してパリティスロットとライ
ト面、リード面のキャッシュを確保し、パリティ生成部
36はパリティを作成又は更新してパリティスロットの
ライト面に書き込む。次にパリティ作成制御部38はパ
リティスロットのライト面44のパリティをリード面4
5にコピーし、各データスロットのライト面44のデー
タをリード面45にコピーする。この後スロット管理情
報43のライト面ポインタの内容をクリアして確保した
キャッシュをポインタから外す。この操作をキャッシュ
解放という。次にデータスロットのリード面45上のデ
ータ及びこのパリティグループに属するパリティスロッ
トのリード面45上のパリティが記憶装置2に書き込ま
れ、スロット管理情報43のリード面ポインタの内容を
クリアして各スロットのリード面のキャッシュを解放す
る。一方処理装置1からリード要求が来ると、スロット
42のリード面のキャッシュ確保をして記憶装置2から
データ及びパリティを読み込み、リードデータが不要に
なるとそのリード面のキャッシュを解放する。
【0020】次にパリティ作成制御部38及びパリティ
生成部36が行うパリティ作成処理について説明する。
パリティ作成処理は、大別するとフェーズ1とフェーズ
2の2つの過程に分けられる。フェーズ1は、パリティ
作成の対象となるデータスロットに対応してキャッシュ
メモリ33上にパリティスロットを確保し、データスロ
ットの内容からパリティを作成する。フェーズ2は、デ
ータスロットのライト面のホストダーティデータとパリ
ティスロットのライト面に作成したパリティを各々のス
ロットのリード面にコピーして物理ダーティデータと
し、各スロットのライト面のキャッシュを解放する処理
を行う。なお以下の説明を簡単にするために、1つのデ
ータスロット内のレコードを更新する場合を主体として
説明する。
【0021】図3及び図4は、フェーズ1の処理の流れ
を示すフローチャートである。パリティ作成制御部38
は、キャッシュ制御部35を介して対象となるパリティ
グループについてパリティスロットのスロット管理情報
43を作成してパリティスロットを確保し、そのスロッ
ト管理情報43のスロットステータス47のうち「パリ
ティ作成中」と「ホストダーティ」をオンにする(ステ
ップ101)。「パリティ作成中」は、スロットが他の
処理によって操作されることを禁止するために用い、
「ホストダーティ」状態は回復処理を行う時にこの状態
を参照して処理を決定するために用いられる情報であ
る。次にそのパリティスロットのリード面とライト面の
キャッシュメモリが確保されているか否かをチェック
し、確保されていない場合にはキャッシュ制御部35を
介して確保する(ステップ102)。次に同一パリティ
グループ中のデータスロットについて、そのデータスロ
ットに対応するスロット管理情報43のスロットステー
タス47が「ホストダーティ」であるデータスロットを
選択し、選択したデータスロットに対応するスロットス
テータス47のうちの「パリティ作成中」をオンにし
(ステップ103)、そのデータスロットのリード面と
ライト面のキャッシュメモリが確保されているか否かを
チェックし、確保されていない場合にはキャッシュ制御
部35を介して確保する(ステップ104)。次にパリ
ティ作成対象のデータスロットに対応するスロット管理
情報43のライト面ポインタを参照し、ホストダーティ
データの存在する範囲を算出する(ステップ105)。
すなわちデータスロットのライト面でレコードが開始す
るブロックのアドレスとブロック数を得る。次にステッ
プ105で算出した範囲に対応するリード面に物理ダー
ティ又はクリーンデータがあるかどうかを判定し、存在
しない場合には(ステップ106No)、記憶装置2か
らクリーンデータをリード面に読み込む(ステップ10
7)。次にステップ105で算出したデータスロットの
ライト面のデータの存在する範囲について、対応するパ
リティスロットのリード面にパリティが存在するか確認
する(ステップ108)。存在しない場合には(ステッ
プ108No)、記憶装置2からその範囲のクリーンデ
ータをパリティスロットのリード面に読み込む(ステッ
プ109)。次にパリティ作成制御部38はパリティ生
成部36に要求してパリティを作成する(ステップ11
0)。パリティ生成部36は、データスロットのリード
面、データスロットのライト面及びパリティスロットの
リード面のデータを読み出して指定された範囲のパリテ
ィを作成し、新しいパリティをパリティスロットのライ
ト面に書き込む。
【0022】図5及び図6は、フェーズ2の処理の流れ
を示すフローチャートである。ステップ110の処理が
終了するとすぐにパリティスロットのスロット管理情報
43のスロットステータス47の「パリティ作成完了」
をオンにする(ステップ201)。スロット42のライ
ト面へのデータ出力が終了した直後にパリティスロット
のライト面に作成された新しいパリティをそのリード面
の対応する一連のブロックへ上書き(コピー)する(ス
テップ202)。次にデータスロットのホストダーティ
データをそのリード面の対応する一連のブロックへ上書
き(コピー)する(ステップ203)。次にパリティス
ロットについて不要となったライト面の一連のブロック
をスロットから解放し(ステップ204)、パリティス
ロットのスロット管理情報43のスロットステータス4
7の「ホストダーティ」をオフ、代わりに「物理ダーテ
ィ」をオンする(ステップ205)。次にデータスロッ
トについて不要となったライト面の一連のブロックをス
ロットから解放し(ステップ206)、スロットステー
タス47の「ホストダーティ」をオフにし、「物理ダー
ティ」をオンにする(ステップ207)。最後にパリテ
ィスロットとデータスロットのスロットステータス47
の「パリティ作成中」をオフにして(ステップ20
8)、パリティ作成処理を終了する。
【0023】なおパリティグループ内の1つのスロット
内のレコードを更新する場合に、キャッシュ上の同一パ
リティグループ内の他のデータスロットに「ホストダー
ティ」のまま残っているレコードがあれば、ステップ1
03〜104の処理をすべてのデータスロットについて
繰り返し、またステップ105〜107の処理をすべて
のデータスロットについて繰り返し、ステップ108〜
110はデータスロット内ですべてのホストダーティの
データが存在する範囲についてパリティを作成する必要
がある。またステップ203,206及び207もパリ
ティ作成の対象となるすべてのデータスロットについて
処理を行う必要がある。
【0024】次にパリティ作成処理中の障害発生により
処理が中断された後のスロット回復処理について説明す
る。記憶制御装置3に障害が発生すると、すべての処理
は中断されて不揮発化されているキャッシュメモリ33
とキャッシュ制御メモリ34以外は初期状態に戻る。記
憶制御装置3の動作が初期状態から開始されると、まず
回復処理が起動する。
【0025】図7は、回復制御部39の処理の流れを示
すフローチャートである。回復制御部39は、スロット
ステータス47が「パリティ作成中」状態のパリティス
ロットと、そのパリティグループ内のデータスロットで
スロットステータス47の「パリティ作成中」がオンに
なっているすべてのスロットを取り出す(ステップ10
01)。次にパリティスロットのスロットステータス4
7の「パリティ作成完了」がオンでなければ(ステップ
1002No)、対象とするスロットステータス47を
パリティ作成前の状態に戻す(ステップ1003)。す
なわち「パリティ作成中」がオン状態のデータスロット
についてはこれをオフにし、パリティスロットについて
は「パリティ作成中」をオフにし、「ホストダーティ」
もオフにすることによってパリティ作成前の状態に戻
る。そしてパリティ作成処理をフェーズ1の最初から再
実行すればよい(ステップ1004)。すなわちパリテ
ィ作成処理がフェーズ1の途中で終っていた場合、パリ
ティ作成制御部38はリード面のデータに操作を行って
いないので、再びパリティ作成処理を始めから行っても
データの整合性が保たれており問題ない。一方パリティ
スロットのスロットステータス47の「パリティ作成完
了」がオンであれば(ステップ1002Yes)、パリ
ティスロットのスロットステータス47の「ホストダー
ティ」がオンであれば(ステップ1005Yes)、B
以降(ステップ202以降)を実行する(ステップ10
06)。パリティスロットのスロットステータス47の
「ホストダーティ」がオフであれば(ステップ1005
No)、C以降(ステップ205以降)を実行する(ス
テップ1007)。パリティスロットのスロットステー
タス47の「パリティ作成完了」がオンであればフェー
ズ1は完了しているから、フェーズ2だけを実行してス
ロットをパリティ作成完了の状態にすればデータの整合
性は保たれる。ここでパリティスロットのスロットステ
ータス47の「ホストダーティ」がオフであれば、ステ
ップ204までの処理は済んでいるのであるから、C以
降を再実行すればよい。またパリティスロットのスロッ
トステータス47の「ホストダーティ」がオンであれ
ば、ステップ205の処理まで達していないので、B以
降を再実行する必要がある。なおパリティスロットのス
ロットステータス47の「パリティ作成完了」がオンで
あるときには、ステップ202のパリティのリード面へ
のコピーが終了している可能性があるから、フェーズ1
の最初から再実行すると、以降のパリティ作成に際して
間違ったパリティ作成を行う可能性があることが理解さ
れる。
【0026】(2)第2の実施形態 以下、第1の実施形態をベースとしてキャッシュメモリ
が二重化されている場合のパリティ作成制御部38及び
回復制御部39の処理について述べる。キャッシュが二
重化されている場合には、パリティの作成中に一方のキ
ャッシュメモリに障害が発生して使用できないとき他方
のキャッシュメモリの内容を使って回復を行い、処理続
行することが可能である。以下第1の実施形態に対応す
る構成要素がある場合には同じ参照番号を用いる。
【0027】図8は、第2の実施形態のディスク記憶シ
ステムの構成図である。キャッシュメモリ33−1及び
キャッシュメモリ33−2は、二重化されたキャッシュ
メモリである。以下キャッシュメモリ33−1及びキャ
ッシュメモリ33−2をそれぞれキャッシュメモリ1及
びキャッシュメモリ2又はキャッシュ1及びキャッシュ
2と略称することがある。キャッシュ制御部35に含ま
れるキャッシュ障害判定部351は、キャッシュメモリ
33−1及びキャッシュメモリ33−2が正常か否かを
判定し、片方のキャッシュに障害があって使用できない
ときには、正常な方のキャッシュを選択する。
【0028】図9は、キャッシュ制御メモリ34内に確
保されるスロット管理情報の構成及びキャッシュメモリ
33内のスロットとの関連を示す図である。スロット管
理情報43は、キャッシュメモリ1上のスロットとキャ
ッシュメモリ2上のスロットの両方を管理する。すなわ
ちキャッシュ1のライト面ポインタはキャッシュ1上の
ライト面44内のレコードが占有する最初のブロックの
アドレスとそのブロック数を格納し、リード面ポインタ
はキャッシュ1上のリード面45内のレコードが占有す
る最初のブロックのアドレスとそのブロック数を格納す
る。またキャッシュ2のライト面ポインタはキャッシュ
2上のライト面44内のレコードが占有する最初のブロ
ックのアドレスとそのブロック数を格納し、リード面ポ
インタはキャッシュ2上のリード面45内のレコードが
占有する最初のブロックのアドレスとそのブロック数を
格納する。スロット番号及びスロットステータス47に
ついては第1の実施形態で説明した通りである。
【0029】処理装置1からライト要求が来ると、キャ
ッシュ制御部35はキャッシュメモリ33−1及びキャ
ッシュメモリ33−2のそれぞれについて1個又はn個
のスロット42のライト面44を確保し、各ライト面4
4上のブロック・アドレスとブロック数をそのスロット
に対応するスロット管理情報43のキャッシュ1のライ
ト面ポインタ及びキャッシュ2のライト面ポインタに格
納してキャッシュを確保する。その後、記憶制御装置3
は同一のデータをキャッシュ1のライト面とキャッシュ
2のライト面とに重複して書き込む。
【0030】図10及び図11は、キャッシュが二重化
されており、キャッシュ1とキャッシュ2がともに正常
であるときのパリティ作成制御部38及びパリティ生成
部36が行うパリティ作成処理のフェーズ1の処理の流
れを示すフローチャートである。第1の実施形態と異な
る点は、キャッシュを確保するときに、キャッシュ1、
キャッシュ2の順に確保し(ステップ402及び40
4)、キャッシュにデータを読み込むときにもキャッシ
ュ1、キャッシュ2の両方に読み込みする(ステップ4
07及び409)点である。またパリティ生成部36は
キャッシュ1とキャッシュ2の両方についてそれぞれパ
リティを作成する(ステップ410)。
【0031】図12及び図13は、図10及び図11に
続くフェーズ2の処理の流れを示すフローチャートであ
る。第1の実施形態と異なる点は、ライト面のデータを
リード面にコピーするとき、キャッシュ1とキャッシュ
2の両方について行い(ステップ502及び503)、
キャッシュのライト面を解放するとき、キャッシュ1と
キャッシュ2の両方について行う(ステップ504及び
506)点である。
【0032】図14は、第2の実施形態の回復制御部3
9の処理の概略を示すフローチャートである。回復制御
部39は、キャッシュが障害状態にあるかどうかチェッ
クする(ステップ2001)。両方とも正常ならば(ス
テップ2001Yes)、図15に示すキャッシュが二
重化されているときの回復処理を行う。キャッシュ1の
みが正常ならば(ステップ2002Yes)、キャッシ
ュ1について回復処理を行う。キャッシュ2のみが正常
ならば(ステップ2002No)、キャッシュ2につい
て回復処理を行う。キャッシュ1又はキャッシュ2につ
いての回復処理は、それぞれのキャッシュについて第1
の実施形態の回復処理(図7)と同じである。
【0033】図15は、キャッシュが二重化されている
ときの回復制御部39の回復処理の流れを示すフローチ
ャートである。回復処理は基本的に第1の実施形態と同
じであるが、キャッシュ1とキャッシュ2の両方につい
て回復処理を行う。
【0034】第2の実施形態によれば、キャッシュ1、
キャッシュ2のうち1つに異常が発生していて使用でき
ないときには、キャッシュ障害判定部351は、正常な
方のキャッシュを選択するので、パリティ作成制御部3
8は選択された正常のキャッシュについてパリティ作成
処理を続行できる。記憶制御装置3に障害が発生して処
理が中断されたとき、回復制御部39はこの正常な方の
キャッシュについて回復処理を行う。
【0035】
【発明の効果】本発明によれば、誤り訂正データの作成
が終了したか否かを境界にしてそれぞれ適切なポイント
からパリティ作成処理を再実行するので、正しいデータ
及びパリティが保証される。
【図面の簡単な説明】
【図1】第1の実施形態のディスク記憶システムの構成
図である。
【図2】第1の実施形態のキャッシュメモリ33及びキ
ャッシュ制御メモリ34の構成を示す図である。
【図3】第1の実施形態のパリティ作成処理(フェーズ
1)の処理の流れを示すフローチャートである。
【図4】第1の実施形態のパリティ作成処理(フェーズ
1)の処理の流れを示すフローチャート(続き)であ
る。
【図5】第1の実施形態のパリティ作成処理(フェーズ
2)の処理の流れを示すフローチャートである。
【図6】第1の実施形態のパリティ作成処理(フェーズ
2)の処理の流れを示すフローチャート(続き)であ
る。
【図7】第1の実施形態の回復制御部39の処理の流れ
を示すフローチャートである。
【図8】第2の実施形態のディスク記憶システムの構成
図である。
【図9】第2の実施形態のキャッシュメモリ33及びキ
ャッシュ制御メモリ34の構成を示す図である。
【図10】第2の実施形態のパリティ作成処理(フェー
ズ1)の処理の流れを示すフローチャートである。
【図11】第2の実施形態のパリティ作成処理(フェー
ズ1)の処理の流れを示すフローチャート(続き)であ
る。
【図12】第2の実施形態のパリティ作成処理(フェー
ズ2)の処理の流れを示すフローチャートである。
【図13】第2の実施形態のパリティ作成処理(フェー
ズ2)の処理の流れを示すフローチャート(続き)であ
る。
【図14】第2の実施形態の回復制御部39の処理の流
れを示すフローチャートである。
【図15】第2の実施形態の回復制御部39の処理の流
れを示すフローチャート(続き)である。
【符号の説明】
3:記憶制御装置、33:キャッシュメモリ、34:キ
ャッシュ制御メモリ、36:パリティ生成部、38:パ
リティ作成制御部、39:回復制御部、42:スロッ
ト、43:スロット管理情報、44:ライト面、45:
リード面、47:スロットステータス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 孝夫 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】データ及び誤り訂正データを格納するディ
    スク記憶装置と、処理装置と該ディスク記憶装置との間
    に介在し、該処理装置と該ディスク記憶装置との間のデ
    ータ転送を制御する記憶制御装置とを有するディスク記
    憶システムであって、該記憶制御装置は、該ディスク記
    憶装置に反映していない更新データを格納する第1の領
    域と、該更新データに対応し該ディスク記憶装置に反映
    済みのデータを格納する第2の領域と、該更新データに
    対応する誤り訂正データを格納する第3の領域と、該反
    映済みのデータに対応する誤り訂正データを格納する第
    4の領域とを有する不揮発性のキャッシュメモリと、第
    1の領域に格納される更新データ、第2の領域に格納さ
    れる反映済みのデータ及び第4の領域の誤り訂正データ
    から更新後の誤り訂正データを作成して第3の領域に格
    納する第1の処理ステップと、第3の領域の更新後の誤
    り訂正データを第4の領域へ上書きし、第1の領域の更
    新データを第2の領域へ上書きする第2の処理ステップ
    とを実行する処理手段とを有するディスク記憶システム
    において、 該記憶制御装置は、さらに第1の処理ステップが終了し
    たか否かの状態を記憶する不揮発性の識別子と、第1の
    処理ステップが終了したとき該識別子を終了状態に設定
    する処理手段と、障害によって該記憶制御装置の処理が
    中断された後、該識別子を参照して終了状態でなければ
    該処理手段の第1の処理ステップを再実行し、終了状態
    であれば該処理手段の第2の処理ステップを再実行する
    よう制御する回復処理手段とを有するディスク記憶シス
    テム。
  2. 【請求項2】第3の領域及び第4の領域の誤り訂正デー
    タに対応して第1の領域及び第2の領域が複数個存在
    し、各第2の領域及び第4の領域の内容がそれぞれディ
    スクアレイを構成する別々のディスク記憶装置に格納さ
    れることを特徴とする請求項1記載のディスク記憶シス
    テム。
  3. 【請求項3】処理装置とデータ及び誤り訂正データを格
    納するディスク記憶装置との間に介在し、該処理装置と
    該ディスク記憶装置との間のデータ転送を制御する記憶
    制御装置であって、該記憶装置に反映していない更新デ
    ータを格納する第1の領域と、該更新データに対応し該
    ディスク記憶装置に反映済みのデータを格納する第2の
    領域と、該更新データに対応する誤り訂正データを格納
    する第3の領域と、該反映済みのデータに対応する誤り
    訂正データを格納する第4の領域とを有する不揮発性の
    キャッシュメモリと、第1の領域に格納される更新デー
    タ、第2の領域に格納される反映済みのデータ及び第4
    の領域の誤り訂正データから更新後の誤り訂正データを
    作成して第3の領域に格納する第1の処理ステップと、
    第3の領域の更新後の誤り訂正データを第4の領域へ上
    書きし、第1の領域の更新データを第2の領域へ上書き
    する第2の処理ステップとを実行する処理手段とを有す
    る記憶制御装置において、 該記憶制御装置は、さらに第1の処理ステップが終了し
    たか否かの状態を記憶する不揮発性の識別子と、第1の
    処理ステップが終了したとき該識別子を終了状態に設定
    する処理手段と、障害によって該記憶制御装置の処理が
    中断された後、該識別子を参照して終了状態でなければ
    該処理手段の第1の処理ステップを再実行し、終了状態
    であれば該処理手段の第2の処理ステップを再実行する
    よう制御する回復処理手段とを有する記憶制御装置。
  4. 【請求項4】該記憶装置は、複数のディスク記憶装置か
    ら構成されるディスクアレイであり、第3の領域及び第
    4の領域の誤り訂正データに対応して第1の領域及び第
    2の領域が複数個存在し、各第2の領域及び第4の領域
    の内容が別々のディスク記憶装置に格納されることを特
    徴とする請求項3記載の記憶制御装置。
  5. 【請求項5】該キャッシュメモリは、第1の領域、第2
    の領域、第3の領域及び第4の領域を有する第1のキャ
    ッシュメモリと、第1のキャッシュメモリと同じ内容の
    情報を格納する第2のキャッシュメモリとから構成さ
    れ、該処理手段は、第1のキャッシュメモリと第2のキ
    ャッシュメモリのうち正常なキャッシュメモリについて
    第1の処理ステップ及び第2の処理ステップを実行し、
    該回復処理手段は、障害によって該記憶制御装置の処理
    が中断された後、第1のキャッシュメモリと第2のキャ
    ッシュメモリのうち正常なキャッシュメモリについて再
    実行するよう制御することを特徴とする請求項1記載の
    ディスク記憶システム。
  6. 【請求項6】該キャッシュメモリは、第1の領域、第2
    の領域、第3の領域及び第4の領域を有する第1のキャ
    ッシュメモリと、第1のキャッシュメモリと同じ内容の
    情報を格納する第2のキャッシュメモリとから構成さ
    れ、該処理手段は、第1のキャッシュメモリと第2のキ
    ャッシュメモリのうち正常なキャッシュメモリについて
    第1の処理ステップ及び第2の処理ステップを実行し、
    該回復処理手段は、障害によって該記憶制御装置の処理
    が中断された後、第1のキャッシュメモリと第2のキャ
    ッシュメモリのうち正常なキャッシュメモリについて再
    実行するよう制御することを特徴とする請求項3記載の
    記憶制御装置。
  7. 【請求項7】データ及び誤り訂正データを格納するディ
    スク記憶装置と、処理装置と該ディスク記憶装置との間
    に介在し、該処理装置と該ディスク記憶装置との間のデ
    ータ転送を制御する記憶制御装置とを有するディスク記
    憶システムであって、該記憶制御装置は、該ディスク記
    憶装置に反映していない更新データを格納する第1の領
    域と、該更新データに対応し該ディスク記憶装置に反映
    済みのデータを格納する第2の領域と、該更新データに
    対応する誤り訂正データを格納する第3の領域と、該反
    映済みのデータに対応する誤り訂正データを格納する第
    4の領域とを有する不揮発性のキャッシュメモリを含む
    ディスク記憶システムの誤り訂正データ作成方法におい
    て、 第1の領域に格納される更新データ、第2の領域に格納
    される反映済みのデータ及び第4の領域の誤り訂正デー
    タから更新後の誤り訂正データを作成して第3の領域に
    格納する第1のステップと、 第1のステップが終了したときその状態を示す識別子を
    不揮発性の記憶装置に格納する第2のステップと、 第3の領域の更新後の誤り訂正データを第4の領域へ上
    書きし、第1の領域の更新データを第2の領域へ上書き
    する第3のステップと、 障害によって該記憶制御装置の処理が中断された後、該
    識別子を参照して終了状態でなければ第1のステップを
    再実行し、終了状態であれば第3のステップを再実行す
    る第4のステップとを有することを特徴とするディスク
    記憶システムの誤り訂正データ作成処理の回復方法。
  8. 【請求項8】第3の領域及び第4の領域の誤り訂正デー
    タに対応して第1の領域及び第2の領域が複数個存在
    し、各第2の領域及び第4の領域の内容がそれぞれディ
    スクアレイを構成する別々のディスク記憶装置に格納さ
    れることを特徴とする請求項7記載のディスク記憶シス
    テムの誤り訂正データ作成処理の回復方法。
  9. 【請求項9】該キャッシュメモリは、第1の領域、第2
    の領域、第3の領域及び第4の領域を有する第1のキャ
    ッシュメモリと、第1のキャッシュメモリと同じ内容の
    情報を格納する第2のキャッシュメモリとから構成さ
    れ、第1のステップから第4のステップまでの処理は、
    第1のキャッシュメモリと第2のキャッシュメモリのう
    ち正常なキャッシュメモリについて行うことを特徴とす
    る請求項7記載のディスク記憶システムの誤り訂正デー
    タ作成処理の回復方法。
JP8086086A 1996-04-09 1996-04-09 ディスク記憶システム及びその誤り訂正データ作成処理の回復方法 Pending JPH09282105A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8086086A JPH09282105A (ja) 1996-04-09 1996-04-09 ディスク記憶システム及びその誤り訂正データ作成処理の回復方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8086086A JPH09282105A (ja) 1996-04-09 1996-04-09 ディスク記憶システム及びその誤り訂正データ作成処理の回復方法

Publications (1)

Publication Number Publication Date
JPH09282105A true JPH09282105A (ja) 1997-10-31

Family

ID=13876906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8086086A Pending JPH09282105A (ja) 1996-04-09 1996-04-09 ディスク記憶システム及びその誤り訂正データ作成処理の回復方法

Country Status (1)

Country Link
JP (1) JPH09282105A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034427A (ja) * 1999-07-23 2001-02-09 Fujitsu Ltd デバイス制御装置及び制御方法
US7275202B2 (en) 2004-04-07 2007-09-25 International Business Machines Corporation Method, system and program product for autonomous error recovery for memory devices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001034427A (ja) * 1999-07-23 2001-02-09 Fujitsu Ltd デバイス制御装置及び制御方法
US7275202B2 (en) 2004-04-07 2007-09-25 International Business Machines Corporation Method, system and program product for autonomous error recovery for memory devices
US7739557B2 (en) 2004-04-07 2010-06-15 International Business Machines Corporation Method, system and program product for autonomous error recovery for memory devices

Similar Documents

Publication Publication Date Title
US6883112B2 (en) Storage device, backup and fault tolerant redundant method and computer program code of plurality storage devices
US5210866A (en) Incremental disk backup system for a dynamically mapped data storage subsystem
US6728898B2 (en) Producing a mirrored copy using incremental-divergence
EP0800138B1 (en) Control apparatus and method for a RAID storage subsystem
US6990611B2 (en) Recovering data from arrays of storage devices after certain failures
US5579474A (en) Disk array system and its control method
US5325519A (en) Fault tolerant computer with archival rollback capabilities
AU710907B2 (en) Expansion of the number of drives in a raid set while maintaining integrity of migrated data
JP3058743B2 (ja) ディスクアレイ制御装置
EP0521924B1 (en) Methods and apparatus for assigning signatures to members of a set of mass storage devices
US8041891B2 (en) Method and system for performing RAID level migration
EP0899731B1 (en) Improved disk log using distributed write
JP2002149499A (ja) データの完全性を備えるリモートコピーシステム
JPH1115604A (ja) データ多重化方法
US5878202A (en) I/O device having check recovery function
JP4248164B2 (ja) ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置
JP3597349B2 (ja) 記憶サブシステムおよびその障害回復方法
JPH06119126A (ja) ディスクアレイ装置
JPH09282105A (ja) ディスク記憶システム及びその誤り訂正データ作成処理の回復方法
JP4398596B2 (ja) ディスクアレイ装置
KR19980047273A (ko) 레이드 레벨 5 시스템에서 캐쉬 관리 방법
JP3790756B2 (ja) ディスクアレイ装置、ディスク制御装置及びディスクアレイのデータ障害を復旧する方法
JP3590015B2 (ja) ディスクアレイ装置および冗長データをもつ論理ドライブの一貫性回復方法
JPH09265435A (ja) 記憶装置システム
JP3120039B2 (ja) チェックリカバリ機能を備えた入出力制御方法、及びチェックリカバリ機能を備えた入出力制御装置