JP2001022533A - パリティ更新システム、更新方法、更新プログラム記録媒体 - Google Patents

パリティ更新システム、更新方法、更新プログラム記録媒体

Info

Publication number
JP2001022533A
JP2001022533A JP11193822A JP19382299A JP2001022533A JP 2001022533 A JP2001022533 A JP 2001022533A JP 11193822 A JP11193822 A JP 11193822A JP 19382299 A JP19382299 A JP 19382299A JP 2001022533 A JP2001022533 A JP 2001022533A
Authority
JP
Japan
Prior art keywords
data
parity
accessed
update
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
Application number
JP11193822A
Other languages
English (en)
Inventor
Tetsuya Maruo
哲也 丸尾
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.)
NEC Engineering Ltd
Original Assignee
NEC Engineering 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP11193822A priority Critical patent/JP2001022533A/ja
Publication of JP2001022533A publication Critical patent/JP2001022533A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 データ更新に対するパリティの更新に伴うデ
ィスク競合を軽減し、ディスクアレイの性能を改善す
る。 【解決手段】 データ更新命令がホストプロセッサから
出された時、ディスクアレイを構成しているハードディ
スク装置のうち旧データを格納しているディスク装置が
アクセス中かどうかを判定し、アクセス中の場合には残
りの全てのディスク装置がアクセス中かどうかを判定回
路26で判定する。旧データを格納している装置がアク
セス中で残りの装置がアクセス中でない場合に残りの装
置からリードされたデータと更新データとを使ってパリ
ティを更新する。また、パリティ更新を行った場合に、
残りの全ての装置をリードして旧データの予測値をチェ
ック回路25で作成し、旧データとの一致チェックを行
う。 【効果】 ウェイトせずにパリティを更新でき、更新に
伴うディスク競合を軽減できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はパリティ更新システ
ム、パリティ更新方法及びパリティ更新プログラム記録
媒体に関し、特にRAIDレベル5のディスクアレイシ
ステムにおけるパリティ更新システム、パリティ更新方
法及びパリティ更新プログラム記録媒体に関する。
【0002】
【従来の技術】ディスクアレイ装置は、複数のハードデ
ィスク装置(HDD)を使って、単独のHDDよりも高
い信頼性と性能を実現する方式である。1987年に米
カリフォルニア大学バークレイ校(Universit
y of California,Berkeley)
のDavid A.Patterson教授らが提唱し
た。同氏らは、RAID(Redundant Arr
ays of Inexpensive Disks)
という用語で呼んでいる。このディスクアレイ装置は、
複数のHDDを内蔵するが、ホストコンピュータからは
1台のHDDに見える装置である。
【0003】このディスクアレイ装置には、いくつかの
異なる方式がある。ディスクアレイ装置の提唱者は方式
を5つに分類し、RAIDのレベルと呼んでいる。
【0004】まず、レベル1は、ハードディスク装置
(HDD)の2重化(ミラードディスク)である。
【0005】レベル2及びレベル3(RAID3)は、
入力データをビット単位で分割し、複数のHDDに格納
するものである。レベル2とレベル3との違いは、エラ
ー訂正符号にある。レベル2ではハミング符号を使い、
レベル3ではパリティを使う。
【0006】レベル2では、データ格納用のHDDが4
台のときにエラー訂正符号用のHDDは3台必要であ
る。一方、RAID3ではデータ用HDDの数にかかわ
らず、1台ですむ。
【0007】また、レベル2ではエラーが生じたHDD
まで特定できるが、レベル3ではHDDのコントローラ
が故障を検出できるとして冗長度を省いている。レベル
4及びレベル5(RAID5)では、HDDのセクタ単
位でインタリーブする。個々のHDDを独立に動作させ
て、並列に読み書き命令を処理できる。
【0008】レベル4とレベル5との違いはパリティを
同じHDDに書込むか、複数のHDDに分散させるかで
ある。なお、以上の点は、日経エレクトロニクス199
3/4/26 No.579 P.77〜91「特集デ
ィスクアレイ装置」に記載されている。
【0009】ところで、図5にはRAIDレベル5のデ
ィスクアレイシステムのパリティの位置が示されてい
る。同図において、ディスクアレイ制御部2は、複数の
ハードディスク装置3−0〜3−4と接続され、各ハー
ドディスク装置3−0〜3−4とパラレルでアクセスす
る。
【0010】各ハードディスク装置3−0〜3−4の中
のD00〜D15はデータを表し、P0〜P3はパリテ
ィを表している。パリティP0〜P3は、それぞれデー
タD00〜D03、データD04〜D07、データD0
8〜D11、データD12〜D15に対するパリティで
あり、ディスク装置3−0〜ディスク装置3−3に分散
して格納されている。
【0011】パリティP0〜P3それぞれは、対応する
データ全てを排他的論理和(以下EXOR)したもので
ある。例として、パリティP0をあげると、このパリテ
ィP0はデータD00〜D03により以下のような式で
表すことができる。
【0012】P0 = D00 EXOR D01 EXOR
D02 EXOR D03 上式はデータの更新を行った場合でもなり立たなければ
ならないので、データの更新が行われるとその都度パリ
ティの更新も行わなければならない。
【0013】従来のデータを更新した時のパリティ更新
は、以下のように行われる。すなわち、まず更新が行わ
れる前のデータ(以下、旧データと呼ぶ)と更新が行わ
れる前のパリティ(以下、旧パリティと呼ぶ)とをリー
ドする。そして、それら2つと更新データ(以下、新デ
ータと呼ぶ)との排他的論理和を行う。これにより、更
新後のパリティ(以下、新パリティと呼ぶ)を求め、そ
の後新パリティをライトする。このように、パリティの
更新が行われる。
【0014】ここで、従来のパリティ更新方法を採用し
たシステムの動作が図6に示されている。同図において
は、ハードディスク装置3−0〜3−4によってディス
クアレイシステムが構成されている。
【0015】同図中のハードディスク装置3−0から旧
データをリードしパリティ制御部24内のEXOR24
1で、旧データD12と更新データD12’とのEXO
Rを行う。その後更新データD12’をハードディスク
装置3−0にライトする。
【0016】ハードディスク装置3−3からは旧パリテ
ィP3をリードし、パリティ制御部24内のEXOR2
42で、EXOR241のEXOR結果とさらにEXO
Rを行う。この結果が新パリティP3’となる。このパ
リティP3’をハードディスク装置3−3にライトする
ことによって、パリティを更新する。
【0017】
【発明が解決しようとする課題】上述したパリティ更新
方法では、旧データの情報が無ければパリティを更新で
きないという問題がある。つまり、旧データを格納して
いるハードディスク装置がアクセス中の場合、例えパリ
ティを格納しているハードディスク装置がアクセス可能
であってもパリティの更新は、旧データのリードが行わ
れるまで待ち状態になるという欠点がある。
【0018】例えば、図5のハードディスク装置3−0
中のデータD12をデータD12’に更新する命令がホ
ストプロセッサから出された時に、ハードディスク装置
3−0がアクセス中で、残りのハードディスク装置3−
1からハードディスク装置3−4がアクセス可能であっ
たとする。そのときD12〜D15に対するパリティP
3の格納してあるハードディスク装置3−3はアクセス
可能であるが、図7に示されているようにハードディス
ク装置3−0のアクセス中の処理が終わりさらにデータ
D12がリードされるまでパリティ更新処理は待ち状態
になる。
【0019】本発明は上述した従来技術の欠点を解決す
るためになされたものであり、その目的はデータ更新に
対するパリティの更新に伴うディスク競合を軽減し、デ
ィスクアレイの性能を改善しうるパリティ更新システ
ム、パリティ更新方法及びパリティ更新プログラム記録
媒体を提供することである。
【0020】
【課題を解決するための手段】本発明によるパリティ更
新システムは、データ更新命令に応答してディスクアレ
イを構成する複数のハードディスクのうち更新前のデー
タを格納しているハードディスクがアクセス中であるか
どうかを判定する手段と、そのハードディスクがアクセ
ス中の場合にはディスクアレイを構成する他の全てのハ
ードディスクがアクセス中であるかどうかを判定する手
段と、前記他の全てのハードディスクがアクセス中でな
い場合には前記他の全てのハードディスクからリードさ
れたデータと更新データとを使ってパリティの更新を行
う手段とを含むことを特徴とする。
【0021】本発明によるパリティ更新方法は、データ
更新命令に応答してディスクアレイを構成する複数のハ
ードディスクのうち更新前のデータを格納しているハー
ドディスクがアクセス中であるかどうかを判定するステ
ップと、そのハードディスクがアクセス中の場合にはデ
ィスクアレイを構成する他の全てのハードディスクがア
クセス中であるかどうかを判定するステップと、前記他
の全てのハードディスクがアクセス中でない場合には前
記他の全てのハードディスクからリードされたデータと
更新データとを使ってパリティの更新を行うステップと
を含むことを特徴とする。
【0022】本発明によるパリティ更新プログラム記録
媒体は、コンピュータによってパリテイの更新を行うプ
ログラムが記録された記録媒体であって、前記プログラ
ムは、コンピュータに、データ更新命令に応答してディ
スクアレイを構成する複数のハードディスクのうち更新
前のデータを格納しているハードディスクがアクセス中
であるかどうかを判定させ、そのハードディスクがアク
セス中の場合にはディスクアレイを構成する他の全ての
ハードディスクがアクセス中であるかどうかを判定さ
せ、前記他の全てのハードディスクがアクセス中でない
場合には前記他の全てのハードディスクからリードされ
たデータと更新データとを使ってパリティの更新を行わ
せることを特徴とする。
【0023】要するに本システムでは、データ更新命令
がホストプロセッサから出された時に、ディスクアレイ
を構成しているハードディスク装置のうち旧データを格
納しているハードディスク装置がアクセス中であるかど
うかを判定し、アクセス中の場合にはディスクアレイを
構成している残りの全てのハードディスク装置がアクセ
ス中であるかどうかを判定し、旧データを格納している
ハードディスク装置がアクセス中で残りの全てのハード
ディスク装置がアクセス中でない場合に残りの全てのハ
ードディスク装置からリードされたデータと更新データ
を使ってパリティの更新を行う。また、この方法でパリ
ティ更新を行った場合に、残りの全てのハードディスク
装置をリードして旧データの予測値を作成し、旧データ
との一致チェックを行い、旧データと予測の旧データと
が不一致の場合はホストプロセッサにパリティエラーが
起こったことを報告するよう動作する。
【0024】
【発明の実施の形態】次に、本発明の実施の一形態につ
いて図面を参照して説明する。なお、以下の説明におい
て参照する各図においては、他の図と同等部分には同一
符号が付されている。
【0025】図1は本発明によるパリティ更新システム
を採用したディスクアレイシステムの実施の一形態を示
すブロック図である。同図において、本ディスクアレイ
システムは、ホストプロセッサ1と、ディスクアレイ制
御部2と、複数のハードディスク装置3−0〜3−3と
を含んで構成されている。
【0026】ディスクアレイ制御部2はディスクアレイ
全体の制御を行う。このディスクアレイ制御部2は、バ
スインタフェース21、プロセッサ22、メモリ23、
パリティ制御24、ディスクバス制御27、パリティチ
ェック回路25、ディスクアクセス判定回路26から構
成されている。バスインタフェース21はホストプロセ
ッサ1との制御を行う。
【0027】プロセッサ22はディスクアレイの構成要
素の制御を行う。メモリ23は、前記プロセッサ22の
制御用のプログラムを格納する。パリティ制御24はデ
ータのパリティ計算を行う。ディスクバス制御27は、
ディスク入出力制御271、ディスクインタフェース制
御272から構成され、複数のハードディスク装置3と
の制御を行う。ディスクアクセス判定回路26は、ディ
スク更新の命令が出されたときに、ディスクアレイ装置
に接続されたハードディスク装置がアクセス可能である
かどうかを判断する。パリティチェック回路25は、デ
ータ更新に対するパリティの更新を旧データが格納して
あるハードディスク装置以外のハードディスク装置を用
いてデータの更新より先に行った場合、データ更新前の
データのパリティチェックを行う。
【0028】以下、図1及び図2を参照して本システム
の動作例を説明する。今、ホストプロセッサ1からハー
ドディスク装置3−0のデータD12をデータD12’
に更新する命令が出されたとする。ホストプロセッサ1
から更新する命令が出されると、ディスクアクセス判定
回路26でハードディスク装置3−0がアクセス可能か
どうかを判定する(ステップ61)。ハードディスク装
置3−0がアクセス可能の場合は従来の方法でパリティ
を更新する(ステップ63)。従来のパリティ更新方法
は、図6を参照して先述した通りである。
【0029】ハードディスク装置3−0がアクセス中の
場合は、さらにディスクアクセス判定回路26で残りの
ハードディスク装置が全てアクセス可能かどうかを判定
する(ステップ62)。アクセス可能でない場合は、図
2のステップ61の処理に戻りディスクアクセス判定回
路26でハードディスク装置3−0がアクセス可能かど
うかの判定からやり直す。
【0030】アクセス可能である場合は、残りのハード
ディスク装置からデータD13、D14、D15、D1
6とパリティP3をリードし、データD13〜D16と
D12’から新パリティを作成しパリティを更新する。
また、データD13〜D16とパリティP3から旧デー
タの予測値D12”を作成する(ステップ64)。残り
のハードディスク装置からのパリティ更新は後に説明す
る。パリティの更新後、ハードディスク0のアクセスが
終わり次第、旧データD12をリードしD12”と比較
する(ステップ65)。比較の結果、データD12とデ
ータD12”とが一致した場合は、D12’をライトし
データの更新を行う(ステップ67)。不一致の場合
は、パリティにエラーがあるということなのでデータの
更新は行わずにホストプロセッサにパリティエラーがあ
ったことを報告する(ステップ66)。
【0031】図3には、残りのハードディスク装置と更
新データとを使ってパリティの更新を行うための構成が
示されている。ハードディスク装置3−1、3−2、3
−4からデータD13、D14、D15をリードする。
リードしたデータをパリティ制御部24のEXOR24
5でEXORする。パリティ制御部24のEXOR24
4で、245の結果とデータD12’とのEXORを行
う。この結果が新パリティP3’となる。
【0032】また、ハードディスク装置3−3から旧パ
リティP3をリードし、パリティ制御部24のEXOR
243で、245の結果とEXORする。その結果が旧
データの予測値D12”となる。新パリティP3’は旧
パリティP3をリードした後、ハードディスク装置3−
3にライトしパリティ更新を行う。
【0033】その後、ハードディスク装置3−0がアク
セス可能になると旧データD12をリードをリードし、
パリティチェック回路25でD12”とD12が一致し
ているか判定する。一致していれば、ハードディスク装
置3−0にD12’をライトし、一致していなければデ
ータの更新は行わず、ホストプロセッサにパリティチェ
ックでエラーが起こったことを報告する。
【0034】以上のようにパリティ更新処理を行うこと
により、図7に示されているようなウェイト期間は発生
せず、図4に示されているように旧データのリードを待
たずにパリティの更新を行うことができるのである。
【0035】なお、先述した図2の処理を実現するため
のプログラムを記録した記録媒体を用意し、これを用い
て図1の各部を制御すれば、上述と同様のパリティ更新
処理を行うことができることは明白である。この記録媒
体には、図1中に示されていない半導体メモリ、磁気デ
ィスク装置の他、種々の記録媒体を用いることができ
る。
【0036】また、同記録媒体に記録されているプログ
ラムによってコンピュータを制御すれば、上述と同様に
パリティ更新処理を行うことができることは明白であ
る。この記録媒体には、半導体メモリ、磁気ディスク装
置の他、種々の記録媒体を用いることができる。
【0037】要するに本システムでは、データ更新命令
がホストプロセッサから出された時に、ディスクアレイ
を構成しているハードディスク装置のうち旧データを格
納しているハードディスク装置がアクセス中であるかど
うかを判定し、アクセス中の場合にはディスクアレイを
構成している残りの全てのハードディスク装置がアクセ
ス中であるかどうかを判定する手段(図1中のディスク
アクセス判定回路26)を備え、旧データを格納してい
るハードディスク装置がアクセス中で残りの全てのハー
ドディスク装置がアクセス中でない場合に残りの全ての
ハードディスク装置からリードされたデータと更新デー
タを使ってパリティの更新を行うのである。また、この
方法でパリティ更新を行った場合に、残りの全てのハー
ドディスク装置をリードして旧データの予測値を作成
し、旧データとの一致チェックを行う手段(図1中のパ
リティチェック回路25)を備え、旧データと予測の旧
データが不一致の場合はホストプロセッサにパリティエ
ラーが起こったことを報告するよう動作するのである。
【0038】
【発明の効果】以上説明したように本発明は、データ更
新命令が出されたときに旧データを格納しているハード
ディスクがアクセス中であっても残りのすべてのハード
ディスクがアクセス中でないならば、残りの全てのハー
ドディスクからリードされたデータと更新データとを使
ってパリティを更新することにより、ウェイトせずにパ
リティを更新でき、データ更新に対するパリティの更新
に伴うディスク競合を軽減できるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施形態によるディスク記憶システ
ム全体を示すブロック図である。
【図2】本発明の実施例の動作を示すフローチャートで
ある。
【図3】本発明の方法でのパリティ更新処理を説明する
図である。
【図4】本発明の方法でデータ更新を行った時の動作を
示すタイムチャートである。
【図5】RAIDレベル5のディスクアレイにおけるパ
リティの位置を示す図である。
【図6】従来の方法でのパリティ更新処理を説明する図
である。
【図7】従来の方法でデータ更新を行った時の動作を示
すタイムチャートである。
【符号の説明】
1 ホストプロセッサ 2 ディスクアレイ制御部 3−0〜3−4 ハードディスク装置 21 バスインタフェース 22 プロセッサ 23 メモリ 24 パリティ制御 25 パリティチェック 26 ディスクアクセス判定回路 27 ディスクバス制御 241〜244 パリティ制御部2入力EXOR回路 245 パリティ制御部3入力EXOR回路 251 パリティチェック回路内2入力EXOR回路 271 ディスク入出力制御 272 ディスクインタフェース制御

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 データ更新命令に応答してディスクアレ
    イを構成する複数のハードディスクのうち更新前のデー
    タを格納しているハードディスクがアクセス中であるか
    どうかを判定する手段と、そのハードディスクがアクセ
    ス中の場合にはディスクアレイを構成する他の全てのハ
    ードディスクがアクセス中であるかどうかを判定する手
    段と、前記他の全てのハードディスクがアクセス中でな
    い場合には前記他の全てのハードディスクからリードさ
    れたデータと更新データとを使ってパリティの更新を行
    う手段とを含むことを特徴とするパリティ更新システ
    ム。
  2. 【請求項2】 前記ディスクアレイは、RAIDレベル
    5のディスクアレイであることを特徴とする請求項1記
    載のパリティ更新システム。
  3. 【請求項3】 データ更新命令に応答してディスクアレ
    イを構成する複数のハードディスクのうち更新前のデー
    タを格納しているハードディスクがアクセス中であるか
    どうかを判定するステップと、そのハードディスクがア
    クセス中の場合にはディスクアレイを構成する他の全て
    のハードディスクがアクセス中であるかどうかを判定す
    るステップと、前記他の全てのハードディスクがアクセ
    ス中でない場合には前記他の全てのハードディスクから
    リードされたデータと更新データとを使ってパリティの
    更新を行うステップとを含むことを特徴とするパリティ
    更新方法。
  4. 【請求項4】 前記ディスクアレイは、RAIDレベル
    5のディスクアレイであることを特徴とする請求項3記
    載のパリティ更新方法。
  5. 【請求項5】 コンピュータによってパリテイの更新を
    行うプログラムが記録された記録媒体であって、前記プ
    ログラムは、コンピュータに、データ更新命令に応答し
    てディスクアレイを構成する複数のハードディスクのう
    ち更新前のデータを格納しているハードディスクがアク
    セス中であるかどうかを判定させ、そのハードディスク
    がアクセス中の場合にはディスクアレイを構成する他の
    全てのハードディスクがアクセス中であるかどうかを判
    定させ、前記他の全てのハードディスクがアクセス中で
    ない場合には前記他の全てのハードディスクからリード
    されたデータと更新データとを使ってパリティの更新を
    行わせることを特徴とする記録媒体。
  6. 【請求項6】 前記ディスクアレイは、RAIDレベル
    5のディスクアレイであることを特徴とする請求項5記
    載の記録媒体。
JP11193822A 1999-07-08 1999-07-08 パリティ更新システム、更新方法、更新プログラム記録媒体 Pending JP2001022533A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11193822A JP2001022533A (ja) 1999-07-08 1999-07-08 パリティ更新システム、更新方法、更新プログラム記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11193822A JP2001022533A (ja) 1999-07-08 1999-07-08 パリティ更新システム、更新方法、更新プログラム記録媒体

Publications (1)

Publication Number Publication Date
JP2001022533A true JP2001022533A (ja) 2001-01-26

Family

ID=16314335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11193822A Pending JP2001022533A (ja) 1999-07-08 1999-07-08 パリティ更新システム、更新方法、更新プログラム記録媒体

Country Status (1)

Country Link
JP (1) JP2001022533A (ja)

Similar Documents

Publication Publication Date Title
US6907504B2 (en) Method and system for upgrading drive firmware in a non-disruptive manner
US5613088A (en) Raid system including first and second read/write heads for each disk drive
US7770076B2 (en) Multi-platter disk drive controller and methods for synchronous redundant data operations
US7818524B2 (en) Data migration systems and methods for independent storage device expansion and adaptation
JPH05143471A (ja) 記憶装置の冗長アレイ内の故障記憶装置のオンライン再構成方法
EP0701208B1 (en) Disk array subsystem and data generation method therefor
JP2005309818A (ja) ストレージ装置、そのデータ読出方法、及びそのデータ読出プログラム
JP2001092600A (ja) 大容量記憶装置を持つコンピュータシステムおよびその動作方法
US20030163757A1 (en) RAID subsystem and data input/output and recovery method in disk error mode
JP2000020248A (ja) ディスクの障害回復方法、ディスクドライバおよび記録媒体
JPH10240453A (ja) ディスクアレイ装置
JP2001022533A (ja) パリティ更新システム、更新方法、更新プログラム記録媒体
JP2570614B2 (ja) デイスクアレイ装置
JPH08221217A (ja) ディスクアレイサブシステムのデータ再構築方法
JP2778268B2 (ja) 記録媒体制御装置
JP2857289B2 (ja) ディスクアレイ装置
JP2845770B2 (ja) ディスクアレイ装置
JPH04311218A (ja) 外部記憶制御装置
JPH0744331A (ja) ディスクアレイ装置およびその制御方法
JPH11119915A (ja) ディスクアレイ装置
JPH0816327A (ja) ディスクアレイ装置
JP2868003B1 (ja) 磁気ディスク装置
JP3597550B2 (ja) ディスクアレイ装置
JP2023133864A (ja) ストレージ装置およびリビルド制御方法
JP2002251332A (ja) ディスク制御装置