JPH07234763A - ディスクアレイ装置の処理方法 - Google Patents
ディスクアレイ装置の処理方法Info
- Publication number
- JPH07234763A JPH07234763A JP6027624A JP2762494A JPH07234763A JP H07234763 A JPH07234763 A JP H07234763A JP 6027624 A JP6027624 A JP 6027624A JP 2762494 A JP2762494 A JP 2762494A JP H07234763 A JPH07234763 A JP H07234763A
- Authority
- JP
- Japan
- Prior art keywords
- disk
- data
- parity
- spare
- area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Abstract
(57)【要約】
【目的】 スペアディスクを利用する事により、ディス
クの並列動作の度合いを高め、また、データ、パリテ
ィ、スペア領域を最適な単位でアクセスできるように配
置することを目的とする。 【構成】 上位装置からコマンドを受け取った時に、上
位装置の論理ブロックアドレスから物理ディスクの物理
ブロックアドレスへ変換して、それぞれのディスク0〜
4に処理を割り当てるディスクアレイ装置において、デ
ータをストライピングすることなく、スペアディスクを
含めたそれぞれのディスク領域を大きくデータ領域、パ
リティP領域、スペアHS領域の3つに分けるようにす
る。
クの並列動作の度合いを高め、また、データ、パリテ
ィ、スペア領域を最適な単位でアクセスできるように配
置することを目的とする。 【構成】 上位装置からコマンドを受け取った時に、上
位装置の論理ブロックアドレスから物理ディスクの物理
ブロックアドレスへ変換して、それぞれのディスク0〜
4に処理を割り当てるディスクアレイ装置において、デ
ータをストライピングすることなく、スペアディスクを
含めたそれぞれのディスク領域を大きくデータ領域、パ
リティP領域、スペアHS領域の3つに分けるようにす
る。
Description
【0001】
【産業上の利用分野】本発明は、情報処理システムの外
部記憶装置であるディスクアレイ装置の処理高速化方法
に関する。
部記憶装置であるディスクアレイ装置の処理高速化方法
に関する。
【0002】
【従来の技術】情報処理システムの外部記憶装置とし
て、記録の不揮発性、大容量性、データ転送の高速性等
の特長をもつ磁気ディスク装置が広く用いられている。
しかし、情報処理システムのデータ処理能力の向上に対
して、磁気ディスク装置の容量は増大する一方で、デー
タ転送速度はあまり増加していない。このような、情報
処理システムと磁気ディスク装置間のボトルネックを解
消する手段として、並列的に動作する複数台の磁気ディ
スク装置に、データの並列転送を行って、データ転送速
度を一台の磁気ディスクの転送速度に並列動作する台数
分を掛け合わせたものにするディスクアレイが使用され
ている。
て、記録の不揮発性、大容量性、データ転送の高速性等
の特長をもつ磁気ディスク装置が広く用いられている。
しかし、情報処理システムのデータ処理能力の向上に対
して、磁気ディスク装置の容量は増大する一方で、デー
タ転送速度はあまり増加していない。このような、情報
処理システムと磁気ディスク装置間のボトルネックを解
消する手段として、並列的に動作する複数台の磁気ディ
スク装置に、データの並列転送を行って、データ転送速
度を一台の磁気ディスクの転送速度に並列動作する台数
分を掛け合わせたものにするディスクアレイが使用され
ている。
【0003】ディスクアレイでは、並列動作する磁気デ
ィスク装置に冗長性を持たせて、ある磁気ディスク装置
の故障によるデータ転送の中断防止、故障した装置の置
き換え等を行って、ディスクアレイシステム全体の信頼
性向上を図ることが多い。
ィスク装置に冗長性を持たせて、ある磁気ディスク装置
の故障によるデータ転送の中断防止、故障した装置の置
き換え等を行って、ディスクアレイシステム全体の信頼
性向上を図ることが多い。
【0004】このような冗長性を持たせたディスクアレ
イ方式としてRAID(Redundant Arra
y of Independent Disks:19
87年のカルフォルニア大学バークレイ校のデビット・
A・パターソンらの論文に由来する呼び方)は、1〜5
迄のレベルに分類され、レベル3から5には、ディスク
の故障時にデータを回復するための冗長情報として誤り
検出符号(以下、「パリティ」という)を保持する。
イ方式としてRAID(Redundant Arra
y of Independent Disks:19
87年のカルフォルニア大学バークレイ校のデビット・
A・パターソンらの論文に由来する呼び方)は、1〜5
迄のレベルに分類され、レベル3から5には、ディスク
の故障時にデータを回復するための冗長情報として誤り
検出符号(以下、「パリティ」という)を保持する。
【0005】次に、図16に基づいてRAIDレベル3
からRAIDレベル5の1例を説明する。図16(A)
は、RAIDレベル3のデータ、パリティ格納場所の説
明図であり、ディスクaにはデータa−1〜a−8、デ
ィスクbにはデータb−1〜b−8、ディスクcにはデ
ータc−1〜c−8、ディスクdにはパリティ1〜8の
格納場所がそれぞれ設けてある。
からRAIDレベル5の1例を説明する。図16(A)
は、RAIDレベル3のデータ、パリティ格納場所の説
明図であり、ディスクaにはデータa−1〜a−8、デ
ィスクbにはデータb−1〜b−8、ディスクcにはデ
ータc−1〜c−8、ディスクdにはパリティ1〜8の
格納場所がそれぞれ設けてある。
【0006】RAIDレベル3は、1つのデータをすべ
てのディスクに対して、ビットあるいはバイトなどの小
さな単位(例えばデータa−1、b−1、c−1)で分
割(ストライピング)して、それらのストライピングし
たデータを並列処理によりディスク(a〜c)に同時に
格納する方式である。
てのディスクに対して、ビットあるいはバイトなどの小
さな単位(例えばデータa−1、b−1、c−1)で分
割(ストライピング)して、それらのストライピングし
たデータを並列処理によりディスク(a〜c)に同時に
格納する方式である。
【0007】図16(B)は、RAIDレベル4のデー
タ、パリティ格納場所の説明図であり、ディスクaには
データa−1〜a−4、ディスクbにはデータb−1〜
b−4、ディスクcにはデータc−1〜c−4、ディス
クdにはパリティ1〜4の格納場所がそれぞれ設けてあ
る。
タ、パリティ格納場所の説明図であり、ディスクaには
データa−1〜a−4、ディスクbにはデータb−1〜
b−4、ディスクcにはデータc−1〜c−4、ディス
クdにはパリティ1〜4の格納場所がそれぞれ設けてあ
る。
【0008】RAIDレベル4は、データをアクセス単
位であるブロック(例えば1または数セクタ)に分け、
これらのブロック単位のデータを各ディスクa〜cに分
散して格納する方式である。そして、このRAIDレベ
ル4は、各ディスクa〜cの同一物理ブロックアドレス
に対してパリティを生成し、そのパリティをパリティ格
納専用に設けられたディスクdの前記同一物理ブロック
アドレスに格納するものであり、各ディスクからデータ
を同時に読み出すことが可能である。
位であるブロック(例えば1または数セクタ)に分け、
これらのブロック単位のデータを各ディスクa〜cに分
散して格納する方式である。そして、このRAIDレベ
ル4は、各ディスクa〜cの同一物理ブロックアドレス
に対してパリティを生成し、そのパリティをパリティ格
納専用に設けられたディスクdの前記同一物理ブロック
アドレスに格納するものであり、各ディスクからデータ
を同時に読み出すことが可能である。
【0009】図16(C)は、RAIDレベル5のデー
タ、パリティ格納場所の説明図であり、ディスクaには
データa−1〜a−3とパリティ4、ディスクbにはデ
ータb−1、b−2、b−4とパリティ3、ディスクc
にはデータc−1、c−3、c−4とパリティ2、ディ
スクdにはパリティ1とデータd−2〜d−4がそれぞ
れ設けてある。
タ、パリティ格納場所の説明図であり、ディスクaには
データa−1〜a−3とパリティ4、ディスクbにはデ
ータb−1、b−2、b−4とパリティ3、ディスクc
にはデータc−1、c−3、c−4とパリティ2、ディ
スクdにはパリティ1とデータd−2〜d−4がそれぞ
れ設けてある。
【0010】RAIDレベル5は、RAIDレベル4と
同様に各ディスクからデータを同時に読み出すことが可
能であるが、更にRAIDレベル5においてはパリティ
を格納するディスクを固定しないことで、複数の同時書
き込みを可能としており、大量のトランザクション処理
において効果を発揮する。
同様に各ディスクからデータを同時に読み出すことが可
能であるが、更にRAIDレベル5においてはパリティ
を格納するディスクを固定しないことで、複数の同時書
き込みを可能としており、大量のトランザクション処理
において効果を発揮する。
【0011】また、信頼性、可用性のために、スペアデ
ィスクを設けることが行なわれていた。
ィスクを設けることが行なわれていた。
【0012】
【発明が解決しようとする課題】上記従来のディスクア
レイにおいては、書き込み処理時においてのパリティ更
新が性能向上のボトルネックとなっている。RAIDレ
ベル3〜5では、パリティは、各ディスク装置内のデー
タの排他的論理和XORを下記式1で求め、常にディス
クに保持している。
レイにおいては、書き込み処理時においてのパリティ更
新が性能向上のボトルネックとなっている。RAIDレ
ベル3〜5では、パリティは、各ディスク装置内のデー
タの排他的論理和XORを下記式1で求め、常にディス
クに保持している。
【0013】(データa)XOR(データb)XOR・
・・=パリティ・・・・式1 なお、図16(C)のパリティ1は(データa−1)X
OR(データb−1)XOR(データc−1)となる。
・・=パリティ・・・・式1 なお、図16(C)のパリティ1は(データa−1)X
OR(データb−1)XOR(データc−1)となる。
【0014】パリティの格納場所は、図16(A)、
(B)のRAIDレベル3と4ではパリティ専用のディ
スクを用いているが、図16(C)のRAIDレベル5
では、パリティを各ディスクに分散させて、パリティ読
み書き動作による一つのディスクへのアクセスの集中を
解消している。
(B)のRAIDレベル3と4ではパリティ専用のディ
スクを用いているが、図16(C)のRAIDレベル5
では、パリティを各ディスクに分散させて、パリティ読
み書き動作による一つのディスクへのアクセスの集中を
解消している。
【0015】RAIDレベル4と5のデータ読み出し時
は、ディスク装置内のデータが書き換えられないのでパ
リティの整合性は保持されるが、書き込み時ではパリテ
ィもデータに合わせて変更する必要がある。
は、ディスク装置内のデータが書き換えられないのでパ
リティの整合性は保持されるが、書き込み時ではパリテ
ィもデータに合わせて変更する必要がある。
【0016】あるディスク装置内の一つの旧データを新
データに書き換えた時に、パリティの整合性を取るに
は、下記式2の計算を行い、パリティを更新することで
ディスク装置のデータ全体のパリティの整合性を保つこ
とが出来る。
データに書き換えた時に、パリティの整合性を取るに
は、下記式2の計算を行い、パリティを更新することで
ディスク装置のデータ全体のパリティの整合性を保つこ
とが出来る。
【0017】(旧データ)XOR(旧パリティ)XOR
(新データ)=新パリティ・・式2 上記式2からわかるように、データ書き込みオペレーシ
ョンでは、ディスク内の旧データ及び旧パリティを先ず
読み出す必要がある。また読み出した場所と同じ場所に
新パリティの書き込みを行うため、ディスクへ書き込み
操作に入るときには、必ずディスクの一回転分の動作を
伴う、このため時間がかかってしまう欠点があった。
(新データ)=新パリティ・・式2 上記式2からわかるように、データ書き込みオペレーシ
ョンでは、ディスク内の旧データ及び旧パリティを先ず
読み出す必要がある。また読み出した場所と同じ場所に
新パリティの書き込みを行うため、ディスクへ書き込み
操作に入るときには、必ずディスクの一回転分の動作を
伴う、このため時間がかかってしまう欠点があった。
【0018】また、パリティデータが書かれるディスク
は、新しいパリティを生成するために、データを書き込
むディスクから旧データがパリティ計算のため転送され
るまで待たなければならない。
は、新しいパリティを生成するために、データを書き込
むディスクから旧データがパリティ計算のため転送され
るまで待たなければならない。
【0019】さらに、RAIDレベル5では、データ領
域の間に、パリティ領域が混じり込む事により、シーケ
ンシャルなリードを行う時に、パリティ領域をスキップ
する処理が必要である。また、一つのディスクをスペア
専用とするため並列処理できる可能性を低くしていた。
域の間に、パリティ領域が混じり込む事により、シーケ
ンシャルなリードを行う時に、パリティ領域をスキップ
する処理が必要である。また、一つのディスクをスペア
専用とするため並列処理できる可能性を低くしていた。
【0020】図17は、従来のライト処理フローチャー
トであり、S81〜S94は処理番号を示す。まず、デ
ータについては、データのリードが可能になるまでデー
タディスクのシークを行う(S81)(S82)。そし
て、旧データをバッファへ読み出す(S83)。次に、
ディスクをライト可能な位置まで回転するのを待って
(S84)(S85)、新データのディスクへの書き込
みを行う(S86)。
トであり、S81〜S94は処理番号を示す。まず、デ
ータについては、データのリードが可能になるまでデー
タディスクのシークを行う(S81)(S82)。そし
て、旧データをバッファへ読み出す(S83)。次に、
ディスクをライト可能な位置まで回転するのを待って
(S84)(S85)、新データのディスクへの書き込
みを行う(S86)。
【0021】パリティについては、パリティのリードが
可能になるまでパリティディスクのシークを行う(S8
8)(S89)。そして、パリティデータのバッファへ
の読み出しを行う(S90)。次に、新パリティを作成
(S92)して、ディスクがライト可能な位置まで回転
するのを待って(S91)(S92)(S93)、ディ
スクへのパリティデータ書き込みを行う(S94)。
可能になるまでパリティディスクのシークを行う(S8
8)(S89)。そして、パリティデータのバッファへ
の読み出しを行う(S90)。次に、新パリティを作成
(S92)して、ディスクがライト可能な位置まで回転
するのを待って(S91)(S92)(S93)、ディ
スクへのパリティデータ書き込みを行う(S94)。
【0022】上記データ書き込み(S86)とパリティ
データ書き込み(S94)が行われると(S87)この
処理が終了する。この発明の主要な目的は、RAIDレ
ベル5に対して、スペアディスクを利用する事により、
ディスクの並列動作の度合いを高め、スループットを向
上させる事である。
データ書き込み(S94)が行われると(S87)この
処理が終了する。この発明の主要な目的は、RAIDレ
ベル5に対して、スペアディスクを利用する事により、
ディスクの並列動作の度合いを高め、スループットを向
上させる事である。
【0023】この発明の主要な目的は、RAIDレベル
4と5に対して、スペアディスクを利用する事により、
ライト処理ペナルティ(ボトルネック)となる動作を軽
減し、性能を向上させることにある。
4と5に対して、スペアディスクを利用する事により、
ライト処理ペナルティ(ボトルネック)となる動作を軽
減し、性能を向上させることにある。
【0024】この発明の他の目的は、データ、パリテ
ィ、スペア領域の配置を考えることにより、上位処理シ
ステム(計算機)上のソフトウェアに対して最適な単位
でアクセスできるよう、データのストライピングを行う
ことである。
ィ、スペア領域の配置を考えることにより、上位処理シ
ステム(計算機)上のソフトウェアに対して最適な単位
でアクセスできるよう、データのストライピングを行う
ことである。
【0025】
【課題を解決するための手段】図1は、本発明の原理説
明図である。図中、Pdev Addは物理ブロックア
ドレス(0〜24)、dev0〜dev4はディバイス
(ディスク0〜4)、0〜74は上位装置(ホスト)論
理ブロックアドレス、Pはパリティブロック、HSはス
ペアブロックを示す。
明図である。図中、Pdev Addは物理ブロックア
ドレス(0〜24)、dev0〜dev4はディバイス
(ディスク0〜4)、0〜74は上位装置(ホスト)論
理ブロックアドレス、Pはパリティブロック、HSはス
ペアブロックを示す。
【0026】図1は本発明のデータ、パリティ、スペア
領域の割り当てを示しており、RAIDレベル5の課題
を解決するものである。図1の領域割当方式では、デー
タをストライピングすることなく、スペアディスクを含
めてそれぞれのデバイスdevのディスク0〜4の領域
を大きくデータ領域(物理ブロックアドレス0〜1
4)、パリティ領域(物理ブロックアドレス15〜1
9)、スペア領域(物理ブロックアドレス20〜24)
の3つの領域に分ける。
領域の割り当てを示しており、RAIDレベル5の課題
を解決するものである。図1の領域割当方式では、デー
タをストライピングすることなく、スペアディスクを含
めてそれぞれのデバイスdevのディスク0〜4の領域
を大きくデータ領域(物理ブロックアドレス0〜1
4)、パリティ領域(物理ブロックアドレス15〜1
9)、スペア領域(物理ブロックアドレス20〜24)
の3つの領域に分ける。
【0027】そして、パリティを計算するデータとその
スペアのグループは、全て異なるディスク上に存在する
ようにする。なお、図1の同じ模様はパリティを計算す
る同じグループを示している。
スペアのグループは、全て異なるディスク上に存在する
ようにする。なお、図1の同じ模様はパリティを計算す
る同じグループを示している。
【0028】
【作用】本発明では、上位装置であるホストからディス
クアレイ装置がリード、ライト処理を受け取った時に、
論理ブロックアドレス0〜74から物理ディスクである
ディスク番号0〜4と物理ブロックアドレスである物理
ディスク領域0〜24に変換して、該当ディスクのブロ
ックに対してリード、ライトを行う。
クアレイ装置がリード、ライト処理を受け取った時に、
論理ブロックアドレス0〜74から物理ディスクである
ディスク番号0〜4と物理ブロックアドレスである物理
ディスク領域0〜24に変換して、該当ディスクのブロ
ックに対してリード、ライトを行う。
【0029】このように、それぞれのディスク領域は、
大きくデータ領域、パリティ領域、スペア領域の3つの
領域に分けてあるため、シーケンシャルなリード処理が
行い易くなり、また、スペア専用であったディスクをデ
ータ、パリティ領域を割り当てることにより、ディスク
装置の並列動作の可能性を高めている。
大きくデータ領域、パリティ領域、スペア領域の3つの
領域に分けてあるため、シーケンシャルなリード処理が
行い易くなり、また、スペア専用であったディスクをデ
ータ、パリティ領域を割り当てることにより、ディスク
装置の並列動作の可能性を高めている。
【0030】
【実施例】以下、図面を参照しながら本発明の実施例を
説明する。図2〜図15は、本発明の実施例の説明図で
ある。図2〜図15中、図1と同じものは、同じ符号で
示してある。
説明する。図2〜図15は、本発明の実施例の説明図で
ある。図2〜図15中、図1と同じものは、同じ符号で
示してある。
【0031】図2は、本発明のディスクアレイ装置の説
明図である。このディスクアレイ装置には、制御部10
とディバイス部30が設けてあり、制御部10には、上
位装置(ホスト)との間でデータの高速受け渡しを行う
バッファであるキャッシュメモリ00、パリティ計算を
行うパリティ計算回路01、パリティ計算のためのデー
タを一時保持するバッファ02、制御部10の制御を行
う制御装置06、ディバイス部30とのデータの入出力
を制御するインタフェース制御装置07が設けてある。
明図である。このディスクアレイ装置には、制御部10
とディバイス部30が設けてあり、制御部10には、上
位装置(ホスト)との間でデータの高速受け渡しを行う
バッファであるキャッシュメモリ00、パリティ計算を
行うパリティ計算回路01、パリティ計算のためのデー
タを一時保持するバッファ02、制御部10の制御を行
う制御装置06、ディバイス部30とのデータの入出力
を制御するインタフェース制御装置07が設けてある。
【0032】制御装置06には、情報を1時保持するレ
ジスタ03、制御装置06の制御を行うマイクロプロセ
ッサ(MPU)04、ディスクに書き込む規則等を記憶
する制御記憶部05、が設けてある。また、ディバイス
部30には、磁気ディスクや光ディスク等の書き換え可
能なディスク0〜4が装着されている。
ジスタ03、制御装置06の制御を行うマイクロプロセ
ッサ(MPU)04、ディスクに書き込む規則等を記憶
する制御記憶部05、が設けてある。また、ディバイス
部30には、磁気ディスクや光ディスク等の書き換え可
能なディスク0〜4が装着されている。
【0033】 (1)RAIDレベル5においてスループット向上手段 図3は本発明の一実施例における領域割当方式の説明図
である。図中、Gはパリティを生成するグループである
パリティグループを示す。
である。図中、Gはパリティを生成するグループである
パリティグループを示す。
【0034】図3の領域割当方式では、データをストラ
イピングすることなく、スペアディスクを含めてそれぞ
れのディバイスdevのディスク0〜4の領域を大きく
データ領域(パリティグループGの0〜2)、パリティ
領域(パリティグループGの3)、スペア領域(パリテ
ィグループGの4)の3つの領域に分けてある。
イピングすることなく、スペアディスクを含めてそれぞ
れのディバイスdevのディスク0〜4の領域を大きく
データ領域(パリティグループGの0〜2)、パリティ
領域(パリティグループGの3)、スペア領域(パリテ
ィグループGの4)の3つの領域に分けてある。
【0035】そして、パリティを計算するデータとその
スペアのグループは同じ模様で示したように全て異なる
ディスク上に存在するようにする。例えば物理ディスク
0のデータブロックである物理ブロックアドレス0〜4
(ホスト論理ブロックアドレス0〜4)、物理ディスク
1の物理ブロックアドレス0〜4(ホスト論理ブロック
アドレス15〜19)、物理ディスク2の物理ブロック
アドレス0〜4(ホスト論理ブロックアドレス30〜3
4)は同じパリティグループであり、これらのパリティ
は物理ディスク3の物理ブロックアドレス15〜19に
書き込まれる。また、これらのスペア領域は、物理ディ
スク4の物理ブロックアドレス20〜24のスペアブロ
ックHSに設けられる。
スペアのグループは同じ模様で示したように全て異なる
ディスク上に存在するようにする。例えば物理ディスク
0のデータブロックである物理ブロックアドレス0〜4
(ホスト論理ブロックアドレス0〜4)、物理ディスク
1の物理ブロックアドレス0〜4(ホスト論理ブロック
アドレス15〜19)、物理ディスク2の物理ブロック
アドレス0〜4(ホスト論理ブロックアドレス30〜3
4)は同じパリティグループであり、これらのパリティ
は物理ディスク3の物理ブロックアドレス15〜19に
書き込まれる。また、これらのスペア領域は、物理ディ
スク4の物理ブロックアドレス20〜24のスペアブロ
ックHSに設けられる。
【0036】次に、ホスト論理ブロックアドレスから、
ディスク上の物理ブロックアドレスへの変換する計算式
を説明する。この計算式は制御記憶部05に記憶される
ものである。
ディスク上の物理ブロックアドレスへの変換する計算式
を説明する。この計算式は制御記憶部05に記憶される
ものである。
【0037】まず、一つの物理ディスク領域のブロック
数をB(図3ではB=25)、データディスク数をN
(図3ではN=3)、パリティディスク数は1、スペア
ディスク数は1とすると、領域割当は、データ領域B×
(1−2/(N+1+1))、パリティ領域B/(N+
1+1)、スペア領域B/(N+1+1)の3つの大き
な連続領域に分割する。なお、(N+1+1)は使用す
る全ディスク数を示している。
数をB(図3ではB=25)、データディスク数をN
(図3ではN=3)、パリティディスク数は1、スペア
ディスク数は1とすると、領域割当は、データ領域B×
(1−2/(N+1+1))、パリティ領域B/(N+
1+1)、スペア領域B/(N+1+1)の3つの大き
な連続領域に分割する。なお、(N+1+1)は使用す
る全ディスク数を示している。
【0038】ホスト論理ブロック・アドレス:Xは 物理ディスク:I=Integer(X/(N×(N+
2))) 物理ブロックアドレス:J=X%(N×(N+2)) にマッピングされる。
2))) 物理ブロックアドレス:J=X%(N×(N+2)) にマッピングされる。
【0039】なお、Integerは、小数点以下を切
り捨てることを示し、%は、商の余りだけを取ることを
示す。また、ホスト論理ブロックアドレスXのパリティ
及びスペア領域は、以下の式で求められる。
り捨てることを示し、%は、商の余りだけを取ることを
示す。また、ホスト論理ブロックアドレスXのパリティ
及びスペア領域は、以下の式で求められる。
【0040】ディスク全体のデータ領域を図3のように
(N+2)のパリティ・グループに分割すると、Xの所
属するパリティグループ:Gは G={J%(N+2)+I×(N+2)+(N+2)×
(N+2)×(J/5)}/N(N+2) Nが奇数の時 パリティディスク番号 =(G+1)×N%(N+2) パリティブロック =N×(N+2)+J スペアディスク番号 =((G+1)×N+1)%
(N+2) スペアブロック =N×(N+2)+J+(N+
2) Nが偶数で、G/((N+2)/2)<1の時 パリティディスク番号 =(G+1)×N%(N+2) パリティブロック =N×(N+2)+J スペアディスク番号 =((G+1)×N+1)%
(N+2) スペアブロック =N×(N+2)+J+(N+
2) Nが偶数で、G/((N+2)/2)>=1の時 パリティディスク番号 =((G+1)×N+1)%
(N+2) パリティブロック =N×(N+2)+J スペアディスク番号 =(G+1)×N%(N+2) スペアブロック =N×(N+2)+J+(N+
2) なお、図3は、N=3の例であり、ディスクの匡体とよ
くマッチさせるためにはNが3〜5が適当な数である
が、これに限定されるものではない。
(N+2)のパリティ・グループに分割すると、Xの所
属するパリティグループ:Gは G={J%(N+2)+I×(N+2)+(N+2)×
(N+2)×(J/5)}/N(N+2) Nが奇数の時 パリティディスク番号 =(G+1)×N%(N+2) パリティブロック =N×(N+2)+J スペアディスク番号 =((G+1)×N+1)%
(N+2) スペアブロック =N×(N+2)+J+(N+
2) Nが偶数で、G/((N+2)/2)<1の時 パリティディスク番号 =(G+1)×N%(N+2) パリティブロック =N×(N+2)+J スペアディスク番号 =((G+1)×N+1)%
(N+2) スペアブロック =N×(N+2)+J+(N+
2) Nが偶数で、G/((N+2)/2)>=1の時 パリティディスク番号 =((G+1)×N+1)%
(N+2) パリティブロック =N×(N+2)+J スペアディスク番号 =(G+1)×N%(N+2) スペアブロック =N×(N+2)+J+(N+
2) なお、図3は、N=3の例であり、ディスクの匡体とよ
くマッチさせるためにはNが3〜5が適当な数である
が、これに限定されるものではない。
【0041】以下、図4に基づいて領域割当処理の説明
をする。同図中、S1〜S3は処理番号を示す。まず、
上位装置(ホスト)からのリードライト処理コマンドが
くる(S1)と、MPU04が、あらかじめ制御記憶部
05に記憶している上記計算式でホスト論理ブロックア
ドレス(図3では0〜74)から物理ディスクの物理ブ
ロックアドレスへ変換計算を行う(S2)。
をする。同図中、S1〜S3は処理番号を示す。まず、
上位装置(ホスト)からのリードライト処理コマンドが
くる(S1)と、MPU04が、あらかじめ制御記憶部
05に記憶している上記計算式でホスト論理ブロックア
ドレス(図3では0〜74)から物理ディスクの物理ブ
ロックアドレスへ変換計算を行う(S2)。
【0042】そして、MPU04が、それぞれのリー
ド、ライト処理をディスク0〜4へ割り当てリード、ラ
イトを行う(S3)。このように、データ領域の間に、
パリティ領域が混じり込む事がなく、シーケンシャルな
リード処理時にパリティ領域のスキップ処理が不要とな
る。このためシーケンシャルなリード処理を行い易くな
る。またスペア専用であったディスクにもデータ、パリ
ティ領域を割り当てる事により、ディスク装置の並列動
作の可能性を高めている。
ド、ライト処理をディスク0〜4へ割り当てリード、ラ
イトを行う(S3)。このように、データ領域の間に、
パリティ領域が混じり込む事がなく、シーケンシャルな
リード処理時にパリティ領域のスキップ処理が不要とな
る。このためシーケンシャルなリード処理を行い易くな
る。またスペア専用であったディスクにもデータ、パリ
ティ領域を割り当てる事により、ディスク装置の並列動
作の可能性を高めている。
【0043】(2)RAIDレベル5におけるライトペ
ナルティ軽減手段 図5〜図8は、RAIDレベル5におけるライトペナル
ティ軽減手段の説明図である。
ナルティ軽減手段 図5〜図8は、RAIDレベル5におけるライトペナル
ティ軽減手段の説明図である。
【0044】図5は、RAIDレベル5の領域割当の1
例を示しており、ディバイスdev4(ディスク4)が
スペア専用となっている。図6は、パリティディスクと
スペアディスクの対応表の説明図であり、この対応表
は、制御記憶部05上に設けられるものである。
例を示しており、ディバイスdev4(ディスク4)が
スペア専用となっている。図6は、パリティディスクと
スペアディスクの対応表の説明図であり、この対応表
は、制御記憶部05上に設けられるものである。
【0045】図6において、例えばパリティグループ番
号0のパリティディスクは、図5に示すように、ディバ
イスdev3(ディスク3)で物理ブロックアドレスは
0〜4に、またそのスペアディスクはディスク4で物理
ブロックアドレスは0〜4であることを示している。
号0のパリティディスクは、図5に示すように、ディバ
イスdev3(ディスク3)で物理ブロックアドレスは
0〜4に、またそのスペアディスクはディスク4で物理
ブロックアドレスは0〜4であることを示している。
【0046】以下、図7のRAIDレベル5におけるラ
イト処理タイミングチャートに基づいて説明する。 MPU04が、上位装置から例えばディスク上のデー
タへのライト命令を受信して、ライトすべき新データが
キャッシュメモリ00に書き込まれる。
イト処理タイミングチャートに基づいて説明する。 MPU04が、上位装置から例えばディスク上のデー
タへのライト命令を受信して、ライトすべき新データが
キャッシュメモリ00に書き込まれる。
【0047】MPU04は、制御記憶部05に記憶し
ているパリティディスクとスペアディスクの対応表で、
パリティグループの検索をする。 データディスク、パリティディスク、スペアディスク
をシークする。
ているパリティディスクとスペアディスクの対応表で、
パリティグループの検索をする。 データディスク、パリティディスク、スペアディスク
をシークする。
【0048】MPU04がデータディスクから旧デー
タを、パリティディスクから旧パリティをそれぞれバッ
ファ02に書き込む命令を出し、これと同時にパリティ
計算が終わった時点ですぐにディスク上のスペア領域に
パリティを書けるように、スペアディスクをシークさせ
る命令を出す。
タを、パリティディスクから旧パリティをそれぞれバッ
ファ02に書き込む命令を出し、これと同時にパリティ
計算が終わった時点ですぐにディスク上のスペア領域に
パリティを書けるように、スペアディスクをシークさせ
る命令を出す。
【0049】そして、キャッシュメモリ00にある新
データとバッファ02上にある旧データ、旧パリティと
で、パリティ計算回路01で新パリティを作成する。 回転待ちなしで、スペアディスクのスペア領域に新パ
リティを書き込む。
データとバッファ02上にある旧データ、旧パリティと
で、パリティ計算回路01で新パリティを作成する。 回転待ちなしで、スペアディスクのスペア領域に新パ
リティを書き込む。
【0050】新データを書き込むためデータディスク
をシークする。 新データをキャッシュメモリ00からデータディスク
へ書き込む。パリティディスクとスペアディスクの対応
表の対応するパリティとスペアを入れかえる。
をシークする。 新データをキャッシュメモリ00からデータディスク
へ書き込む。パリティディスクとスペアディスクの対応
表の対応するパリティとスペアを入れかえる。
【0051】図8は、論理ブロックアドレス37へのラ
イト処理フローチャートである。以下、図8に基づい
て、ホスト論理ブロックアドレス37へのライト処理の
一例を説明する。図中、S11〜S15は処理番号を示
す。
イト処理フローチャートである。以下、図8に基づい
て、ホスト論理ブロックアドレス37へのライト処理の
一例を説明する。図中、S11〜S15は処理番号を示
す。
【0052】まず、MPU04が上位装置からホスト論
理ブロックアドレス37へのライトコマンドを受信する
(S11)。次に、MPU04が制御記憶部05に記憶
している対応表(図6参照)を参照して、データ、パリ
ティ、スペアディスクをシークさせる(S12)。
理ブロックアドレス37へのライトコマンドを受信する
(S11)。次に、MPU04が制御記憶部05に記憶
している対応表(図6参照)を参照して、データ、パリ
ティ、スペアディスクをシークさせる(S12)。
【0053】ついで、MPU04は、ディスク2の物理
ブロックアドレス12から旧データを、ディスク1の物
理ブロックアドレス12から旧パリティをそれぞれ読み
出して、バッファ02へ書き込む(S13)。その後、
キャッシュメモリ00にある新データとバッファ02に
ある旧データ、旧パリティとで新パリティを作成して、
この作成した新パリティをスペアディスク4に書き込む
(S14)。上記対応表のパリティとスペアを入れかえ
て(S15)この処理を終了する。
ブロックアドレス12から旧データを、ディスク1の物
理ブロックアドレス12から旧パリティをそれぞれ読み
出して、バッファ02へ書き込む(S13)。その後、
キャッシュメモリ00にある新データとバッファ02に
ある旧データ、旧パリティとで新パリティを作成して、
この作成した新パリティをスペアディスク4に書き込む
(S14)。上記対応表のパリティとスペアを入れかえ
て(S15)この処理を終了する。
【0054】このように、新パリティ書き込み時におい
て、図6のようなパリティグループ毎のパリティが割り
当てられている領域とスペア領域との対応表を持つこと
により、スペア領域とパリティ領域とを動的に入れ換え
ることができる。これによって、旧パリティデータの検
索中に新パリティデータを書き込むためのスペア領域を
シークすることができ、新パリティ作成後すぐに、スペ
ア領域に新パリティの書き込みが行える。
て、図6のようなパリティグループ毎のパリティが割り
当てられている領域とスペア領域との対応表を持つこと
により、スペア領域とパリティ領域とを動的に入れ換え
ることができる。これによって、旧パリティデータの検
索中に新パリティデータを書き込むためのスペア領域を
シークすることができ、新パリティ作成後すぐに、スペ
ア領域に新パリティの書き込みが行える。
【0055】よって、旧パリティ読み出しと、新パリテ
ィ書き込みの間のディスクの一回転待ち時間を省くこと
ができる。この時、旧パリティを書いてあるディスク上
のデータを無効にし、新たにスペア領域とし、新パリテ
ィを書いたディスク領域をパリティ領域とするものであ
る。
ィ書き込みの間のディスクの一回転待ち時間を省くこと
ができる。この時、旧パリティを書いてあるディスク上
のデータを無効にし、新たにスペア領域とし、新パリテ
ィを書いたディスク領域をパリティ領域とするものであ
る。
【0056】(3)RAIDレベル4におけるパリティ
ディスク負荷軽減手段 図9は、RAIDレベル4におけるパリティディスク負
荷軽減手段の説明図である。以下、図9に基づいて説明
する。
ディスク負荷軽減手段 図9は、RAIDレベル4におけるパリティディスク負
荷軽減手段の説明図である。以下、図9に基づいて説明
する。
【0057】n個のディバイス(ディスク)によって構
成されるRAIDレベル4のディスクアレイ装置上でデ
ィバイス(ディスク)番号は0〜n−1となる。このR
AIDレベル4でパリティとスペア領域を共有するパリ
ティグループGを作成する時において、パリティグルー
プGを0番から順番に番号付けを行う。この時偶数の番
号のパリティグループGのパリティをn−2番のディス
クに書き、スペア領域をn−1番のディスクに書く規則
を制御記憶部05上に記憶させる。
成されるRAIDレベル4のディスクアレイ装置上でデ
ィバイス(ディスク)番号は0〜n−1となる。このR
AIDレベル4でパリティとスペア領域を共有するパリ
ティグループGを作成する時において、パリティグルー
プGを0番から順番に番号付けを行う。この時偶数の番
号のパリティグループGのパリティをn−2番のディス
クに書き、スペア領域をn−1番のディスクに書く規則
を制御記憶部05上に記憶させる。
【0058】これにより、上位装置よりライト処理のコ
マンドが来たときに、MPU04は、制御記憶部05上
の規則を参照して、データとパリティ領域にアクセスす
る。このように、パリティグループ毎にスペアディスク
とパリティディスクを交互に入れ換えることにより、従
来スペア専用として割り当てられたディスク装置の半分
の領域をパリティ領域とし、パリティ専用として割り当
てられたディスク装置の半分の領域をスペア領域とする
ことで、ライト処理の増加によるパリティディスクのビ
ジー率を低くでき、パリティディスクへの負荷が軽減さ
れる。
マンドが来たときに、MPU04は、制御記憶部05上
の規則を参照して、データとパリティ領域にアクセスす
る。このように、パリティグループ毎にスペアディスク
とパリティディスクを交互に入れ換えることにより、従
来スペア専用として割り当てられたディスク装置の半分
の領域をパリティ領域とし、パリティ専用として割り当
てられたディスク装置の半分の領域をスペア領域とする
ことで、ライト処理の増加によるパリティディスクのビ
ジー率を低くでき、パリティディスクへの負荷が軽減さ
れる。
【0059】 (4)RAIDレベル5のライト処理負荷軽減手段1 図5で示したようにストライピングされたデータの領域
割当の計算式を以下で説明する。
割当の計算式を以下で説明する。
【0060】n個のディバイス(ディスク)によって構
成されるRAIDレベル5のディスクアレイ装置上で
(ディバイス番号を0〜n−1番とする)、データをホ
スト論理ブロックアドレスから、ディスク上の物理ブロ
ックアドレスへ変換する計算式は以下のようになる。
成されるRAIDレベル5のディスクアレイ装置上で
(ディバイス番号を0〜n−1番とする)、データをホ
スト論理ブロックアドレスから、ディスク上の物理ブロ
ックアドレスへ変換する計算式は以下のようになる。
【0061】ホスト論理ブロック・アドレス:Xは パリティグループ:G=Integer{X/(ストラ
イピングサイズ×(ディバイス数−2))} パリティディバイス:PD=ディバイス数−2−パリテ
ィグループ%ディバイス数 物理ディスク:I=Integer{(X−ストライピ
ングサイズ×(ディバイス数−2)×パリティグルー
プ)/ストライピングサイズ} もし、PD=IであったらIを1増やす。
イピングサイズ×(ディバイス数−2))} パリティディバイス:PD=ディバイス数−2−パリテ
ィグループ%ディバイス数 物理ディスク:I=Integer{(X−ストライピ
ングサイズ×(ディバイス数−2)×パリティグルー
プ)/ストライピングサイズ} もし、PD=IであったらIを1増やす。
【0062】物理ブロックアドレス:J=(X−ストラ
イピングサイズ×(ディバイス数−2)×パリティグル
ープ)%ストライピングサイズ+ストライピングサイズ
×パリティグループ 図5のようにデータが配置された場合に、上位装置より
リード処理命令が来たときにMPU04が制御記憶部0
5に記憶されている上記計算式により計算されるパリテ
ィグループ全体をキャッシュメモリ00にステージング
する。
イピングサイズ×(ディバイス数−2)×パリティグル
ープ)%ストライピングサイズ+ストライピングサイズ
×パリティグループ 図5のようにデータが配置された場合に、上位装置より
リード処理命令が来たときにMPU04が制御記憶部0
5に記憶されている上記計算式により計算されるパリテ
ィグループ全体をキャッシュメモリ00にステージング
する。
【0063】このリード方式により、上位装置からライ
ト処理命令が来た時の処理を図10に基づいて説明す
る。図10はRAIDレベル5のライト処理負荷軽減手
段1のフローチャートであり、図中、S21〜S23は
処理番号を示す。
ト処理命令が来た時の処理を図10に基づいて説明す
る。図10はRAIDレベル5のライト処理負荷軽減手
段1のフローチャートであり、図中、S21〜S23は
処理番号を示す。
【0064】まず、上位装置からライト処理命令が来た
とき(S21)にMPU04がキャッシュメモリ00上
に旧データ、旧パリティが存在するかどうかを、制御記
憶部05に記憶している上記計算式で確認する(S2
2)。もし、旧データ、旧パリティが存在したならば、
キャッシュメモリ00上にある旧データ、旧パリティ、
新データによりパリティ計算回路01で新パリティを作
成し、ディスク上に書き込む(S23)。
とき(S21)にMPU04がキャッシュメモリ00上
に旧データ、旧パリティが存在するかどうかを、制御記
憶部05に記憶している上記計算式で確認する(S2
2)。もし、旧データ、旧パリティが存在したならば、
キャッシュメモリ00上にある旧データ、旧パリティ、
新データによりパリティ計算回路01で新パリティを作
成し、ディスク上に書き込む(S23)。
【0065】上記処理番号S22で旧データが存在して
いなければディスク上の旧データ、旧パリティを使用す
る通常のライトをする。このように、リード処理時に一
つのパリティグループG全体をキャッシュメモリ00に
読み込む事により、キャッシュメモリ00上に旧データ
と旧パリティを保持させる。このため、キャッシュメモ
リからディスクへデータを書き戻す処理時に、新パリテ
ィを作成するための旧データ、旧パリティのリードを行
うことが省略でき、ディスクへの書き戻し時間の短縮が
実現できる。
いなければディスク上の旧データ、旧パリティを使用す
る通常のライトをする。このように、リード処理時に一
つのパリティグループG全体をキャッシュメモリ00に
読み込む事により、キャッシュメモリ00上に旧データ
と旧パリティを保持させる。このため、キャッシュメモ
リからディスクへデータを書き戻す処理時に、新パリテ
ィを作成するための旧データ、旧パリティのリードを行
うことが省略でき、ディスクへの書き戻し時間の短縮が
実現できる。
【0066】 (5)RAIDレベル5のライト処理負荷の軽減手段2 図11は、RAIDレベル5のライト処理負荷軽減手段
2のフローチャートである。以下、図11に基づいて説
明する。図中S31〜S34は処理番号を示す。このラ
イト処理方式では、キャッシュメモリ00上のデータへ
の更新処理があった場合には、更新前の古いデータをキ
ャッシュメモリ00上に残すようにしている。
2のフローチャートである。以下、図11に基づいて説
明する。図中S31〜S34は処理番号を示す。このラ
イト処理方式では、キャッシュメモリ00上のデータへ
の更新処理があった場合には、更新前の古いデータをキ
ャッシュメモリ00上に残すようにしている。
【0067】まず、上位装置よりライト処理命令が来た
とき(S31)に、MPU04がキャッシュメモリ00
上にライトする旧データが存在するか、制御記憶部05
を確認する(S32)。処理番号S32で旧データが存
在していれば、キャッシュメモリ00上にある旧データ
を使用し、旧パリティをバッファ02に読み込みパリテ
ィ計算回路01上で新パリティを計算して(S33)、
該当するディスクのブロックに対して、新パリティをラ
イトする(S34)。
とき(S31)に、MPU04がキャッシュメモリ00
上にライトする旧データが存在するか、制御記憶部05
を確認する(S32)。処理番号S32で旧データが存
在していれば、キャッシュメモリ00上にある旧データ
を使用し、旧パリティをバッファ02に読み込みパリテ
ィ計算回路01上で新パリティを計算して(S33)、
該当するディスクのブロックに対して、新パリティをラ
イトする(S34)。
【0068】もし処理番号S32で旧データが存在して
いなければ、ディスク上の旧データ、旧パリティを使用
する通常のライト処理を行う。このように、キャッシュ
メモリ00上のデータへの更新処理があった場合には、
その更新前の古いデータを残しておくことにより、旧パ
リティだけをディスクから読み出すことにより、旧デー
タをディスクから読み出す処理時間を省略することがで
き、ディスクの使用率を低下することができる。
いなければ、ディスク上の旧データ、旧パリティを使用
する通常のライト処理を行う。このように、キャッシュ
メモリ00上のデータへの更新処理があった場合には、
その更新前の古いデータを残しておくことにより、旧パ
リティだけをディスクから読み出すことにより、旧デー
タをディスクから読み出す処理時間を省略することがで
き、ディスクの使用率を低下することができる。
【0069】(6)RAIDレベル5のリコンストラク
ション処理負荷の軽減手段 図12は、RAIDレベル5のリコンストラクション
(再構築)処理負荷の軽減手段のフローチャートであ
る。以下、図12に基づいて説明する。図中、S41、
S42は処理番号を示す。
ション処理負荷の軽減手段 図12は、RAIDレベル5のリコンストラクション
(再構築)処理負荷の軽減手段のフローチャートであ
る。以下、図12に基づいて説明する。図中、S41、
S42は処理番号を示す。
【0070】キャッシュメモリを持つRAIDレベル5
において、一つのディスクに障害が起こった場合にこの
処理が開始し、まず、MPU04が障害ディスクに関連
するデータがキャッシュメモリ00上に存在するかどう
かを検索する(S41)。
において、一つのディスクに障害が起こった場合にこの
処理が開始し、まず、MPU04が障害ディスクに関連
するデータがキャッシュメモリ00上に存在するかどう
かを検索する(S41)。
【0071】前記処理番号S41で障害ディスクに関連
するデータがキャッシュメモリ00上に存在していれ
ば、そのキャッシュメモリ00上にあるデータから順番
に、データの回復作業(再構築)を行う(S42)。
するデータがキャッシュメモリ00上に存在していれ
ば、そのキャッシュメモリ00上にあるデータから順番
に、データの回復作業(再構築)を行う(S42)。
【0072】もし、処理番号S41で障害ディスクに関
連するデータがキャッシュメモリ00上に存在していな
ければ、ディスク上のデータを使用する通常の再構築作
業を行う。
連するデータがキャッシュメモリ00上に存在していな
ければ、ディスク上のデータを使用する通常の再構築作
業を行う。
【0073】このように、一つのディスクに障害が起こ
った時に、キャッシュメモリ00上に存在するデータに
関連する障害データから順番に、データの回復作業を行
うため、ディスクからのデータの読み出し作業を軽減で
きる。
った時に、キャッシュメモリ00上に存在するデータに
関連する障害データから順番に、データの回復作業を行
うため、ディスクからのデータの読み出し作業を軽減で
きる。
【0074】 (7)RAIDレベル5の障害時のライト処理 図13は、RAIDレベル5の障害時のライト処理フロ
ーチャートである。以下、図13に基づいて説明する。
図中、S51〜S53は処理番号を示す。
ーチャートである。以下、図13に基づいて説明する。
図中、S51〜S53は処理番号を示す。
【0075】RAIDレベル5において、一つのディス
クに障害が起こった時に、制御記憶部05に障害ディス
クとパリティグループのパリティ、スペアとの対応表を
設ける。まず、上位装置からライト命令がきたとき(S
51)、このライト命令が障害ディスクへのライトかど
うかを判断する(S52)。
クに障害が起こった時に、制御記憶部05に障害ディス
クとパリティグループのパリティ、スペアとの対応表を
設ける。まず、上位装置からライト命令がきたとき(S
51)、このライト命令が障害ディスクへのライトかど
うかを判断する(S52)。
【0076】前記処理番号S52の判断で障害ディスク
へのライトの場合、MPU04が制御記憶部05に記憶
している対応表により、データをスペア領域に書き、対
応表のパリティを無効にする(S53)。
へのライトの場合、MPU04が制御記憶部05に記憶
している対応表により、データをスペア領域に書き、対
応表のパリティを無効にする(S53)。
【0077】もし、処理番号S52の判断で障害ディス
クへのライトでない場合は、通常のライト処理を行う。
このように、障害ディスク上のデータへのライト命令が
きたときはスペア領域にライトし、この時のパリティグ
ループのパリティを無効にして、それ以降の更新処理は
データディスクだけを更新することになる。このため、
パリティがなくなり、冗長性が失われるが、処理速度は
早くなる。
クへのライトでない場合は、通常のライト処理を行う。
このように、障害ディスク上のデータへのライト命令が
きたときはスペア領域にライトし、この時のパリティグ
ループのパリティを無効にして、それ以降の更新処理は
データディスクだけを更新することになる。このため、
パリティがなくなり、冗長性が失われるが、処理速度は
早くなる。
【0078】(8)RAIDレベル5のガベージコレク
ション時のライト処理負荷の軽減手段 図14は、RAIDレベル5のライト処理フローチャー
ト、図15はライト中にガベージコレクション(Gar
bage Collection)が起こった時のフロ
ーチャートである。以下、図14、図15に基づいて説
明する。図中S61、S62、S70〜S72は処理番
号を示す。
ション時のライト処理負荷の軽減手段 図14は、RAIDレベル5のライト処理フローチャー
ト、図15はライト中にガベージコレクション(Gar
bage Collection)が起こった時のフロ
ーチャートである。以下、図14、図15に基づいて説
明する。図中S61、S62、S70〜S72は処理番
号を示す。
【0079】キャッシュメモリ付きのRAIDレベル5
において、キャッシュメモリ00上の更新データが一定
量になった場合(S61)、この更新データを集めた物
によりパリティを作り、RAIDレベル3の方式で空き
ディスク領域に書き込みを行い、この時、更新されたデ
ータの更新前の旧データを無効であると制御記憶部05
に記憶する(S62)。
において、キャッシュメモリ00上の更新データが一定
量になった場合(S61)、この更新データを集めた物
によりパリティを作り、RAIDレベル3の方式で空き
ディスク領域に書き込みを行い、この時、更新されたデ
ータの更新前の旧データを無効であると制御記憶部05
に記憶する(S62)。
【0080】この方式でライト処理を続けると、無効デ
ータの領域でディスクが一杯になるので、無効データの
領域が或る設定されたしきい値を越えたら、空きを詰め
るいわゆるガベージコレクション(CG)を行うことに
なる。
ータの領域でディスクが一杯になるので、無効データの
領域が或る設定されたしきい値を越えたら、空きを詰め
るいわゆるガベージコレクション(CG)を行うことに
なる。
【0081】次に、キャッシュメモリ00上からディス
クへのライト処理中にガベージコレクションが起こった
時(図15参照)、キャッシュメモリ00のデータをス
ペアディスクにデータを一旦書き込んで、制御記憶部0
5にどの場所にデータを書いたか記録しておき(S7
0)、ガベージコレクション終了後(S71)、制御記
憶部05に書いてある情報をもとに、前記スペアディス
クの領域から、本来のデータを書くべきディスクへデー
タを移す(S72)。
クへのライト処理中にガベージコレクションが起こった
時(図15参照)、キャッシュメモリ00のデータをス
ペアディスクにデータを一旦書き込んで、制御記憶部0
5にどの場所にデータを書いたか記録しておき(S7
0)、ガベージコレクション終了後(S71)、制御記
憶部05に書いてある情報をもとに、前記スペアディス
クの領域から、本来のデータを書くべきディスクへデー
タを移す(S72)。
【0082】このように、ライト処理中にガベージコレ
クションが起ってもライト処理を行うことができる。な
お、その他の実施例として、前記(1)で説明したスペ
アディスクを含めたそれぞれのディスク領域を大きく、
データ領域、パリティ領域、スペア領域の3つの領域に
分ける第1の手段と、前記(3)で説明したスペアディ
スクとパリティディスクを交互に入れ換える第2の手段
と、前記(5)で説明したキャッシュメモリ上のデータ
の更新処理の場合、更新前の旧データを保持する第3の
手段とを制御装置06に備えることにより、上記第1〜
第3の手段を選択して使用できるディスクアレイ装置と
することもできる。
クションが起ってもライト処理を行うことができる。な
お、その他の実施例として、前記(1)で説明したスペ
アディスクを含めたそれぞれのディスク領域を大きく、
データ領域、パリティ領域、スペア領域の3つの領域に
分ける第1の手段と、前記(3)で説明したスペアディ
スクとパリティディスクを交互に入れ換える第2の手段
と、前記(5)で説明したキャッシュメモリ上のデータ
の更新処理の場合、更新前の旧データを保持する第3の
手段とを制御装置06に備えることにより、上記第1〜
第3の手段を選択して使用できるディスクアレイ装置と
することもできる。
【0083】
【発明の効果】以上説明したように、本発明は、スペア
ディスクを利用することにより並列動作の度合いを高
め、スループットを向上することができる。
ディスクを利用することにより並列動作の度合いを高
め、スループットを向上することができる。
【0084】また、データ、パリティ、スペア領域の配
置を最適な単位でアクセスできるようにデータをストラ
イピングすることができる。
置を最適な単位でアクセスできるようにデータをストラ
イピングすることができる。
【図1】本発明の原理説明図である。
【図2】本発明のディスクアレイ装置の説明図である。
【図3】本発明の一実施例における領域割当方式の説明
図である。
図である。
【図4】本発明の一実施例における領域割当処理フロー
チャートである。
チャートである。
【図5】本発明の一実施例におけるRAIDレベル5に
おける領域割当説明図である。
おける領域割当説明図である。
【図6】本発明の一実施例におけるパリティディスクと
スペアディスクの対応表の説明図である。
スペアディスクの対応表の説明図である。
【図7】本発明の一実施例におけるRAIDレベル5に
おけるライト処理タイミングチャートである。
おけるライト処理タイミングチャートである。
【図8】本発明の一実施例における論理ブロックアドレ
ス37へのライト処理フローチャートである。
ス37へのライト処理フローチャートである。
【図9】本発明の一実施例におけるRAIDレベル4に
おけるパリティディスク負荷軽減手段の説明図である。
おけるパリティディスク負荷軽減手段の説明図である。
【図10】本発明の一実施例におけるRAIDレベル5
のライト処理負荷軽減手段1のフローチャートである。
のライト処理負荷軽減手段1のフローチャートである。
【図11】本発明の一実施例におけるRAIDレベル5
のライト処理負荷軽減手段2のフローチャートである。
のライト処理負荷軽減手段2のフローチャートである。
【図12】本発明の一実施例におけるRAIDレベル5
のリコンストラクション処理フローチャートである。
のリコンストラクション処理フローチャートである。
【図13】本発明の一実施例におけるRAIDレベル5
の障害時のライト処理フローチャートである。
の障害時のライト処理フローチャートである。
【図14】本発明の一実施例におけるRAIDレベル5
のライト処理フローチャートである。
のライト処理フローチャートである。
【図15】本発明の一実施例におけるライト中にガベー
ジコレクションが起った時のフローチャートである。
ジコレクションが起った時のフローチャートである。
【図16】従来例の説明図である。
【図17】従来のライト処理フローチャートである。
【符号の説明】 Pdev Add 物理ブロックアドレス dev0〜dev4 ディバイス(ディスク0〜4) P パリティブロック HS スペアブロック
Claims (12)
- 【請求項1】 上位装置からコマンドを受け取った時
に、 上位装置の論理ブロックアドレスから物理ディスクの物
理ブロックアドレスへ変換して、それぞれのディスク
(0〜4)に処理を割り当てるディスクアレイ装置にお
いて、 データをストライピングすることなく、それぞれのディ
スク領域をデータ領域、パリティ領域、スペア領域の3
つの領域に分けることを特徴としたディスクアレイ装置
の処理方法。 - 【請求項2】 データをブロック毎に各ディスクに分割
して格納し、 各ディスクの同一物理ブロック毎に格納されたデータに
対してパリティを作成して、これら作成したパリティを
各ディスクに分散して格納するとともに、 スペアディスクを備えたディスクアレイ装置において、 新パリティの書き込み時、 スペア領域に、前記新パリティを書き込み、 旧パリティ領域を新たにスペア領域とすることを特徴と
したディスクアレイ装置の処理方法。 - 【請求項3】 データをブロック毎に各ディスクに分割
して格納し、 各ディスクの同一物理ブロック毎に格納されたデータに
対してパリティを作成して、これらを作成したパリティ
を専用のパリティディスクに格納するとともに、 スペアディスクを別に設けたディスクアレイ装置におい
て、 パリティグループ毎にスペアディスクとパリティディス
クを交互に入れ換えることを特徴としたディスクアレイ
装置の処理方法。 - 【請求項4】 データをブロック毎に各ディスクに分割
して格納し、 各ディスクの同一物理ブロック毎に格納されたデータに
対してパリティを作成して、これら作成したパリティを
各ディスクに分散して格納するディスクアレイ装置にお
いて、 上位装置よりリード処理命令を受けたとき、 パリティグループ全体をキャッシュメモリ(00)にス
テージングし、 次に、ライト処理命令を受けたとき、 キャッシュメモリ(00)上にある旧データ、旧パリテ
ィを使って新パリティを作成することを特徴としたディ
スクアレイ装置の処理方法。 - 【請求項5】 データをブロック毎に各ディスクに分割
して格納し、 各ディスクの同一物理ブロック毎に格納されたデータに
対してパリティを作成して、これら作成したパリティを
各ディスクに分散して格納するディスクアレイ装置にお
いて、 キャッシュメモリ(00)上のデータへの更新処理があ
った場合には、更新前の旧データを残すことを特徴とし
たディスクアレイ装置の処理方法。 - 【請求項6】 ライト処理命令が来た時にキャッシュメ
モリ(00)上にある旧データを使用し新パリティ計算
を行うことを特徴とした請求項5記載のディスクアレイ
装置の処理方法。 - 【請求項7】 データをブロック毎に各ディスクに分割
して格納し、 各ディスクの同一物理ブロック毎に格納されたデータに
対してパリティを作成して、これら作成したパリティを
各ディスクに分散して格納するディスクアレイ装置にお
いて、 ディスクの障害時に、キャッシュメモリ(00)上に存
在する障害データから順番にデータの回復作業を行うこ
とを特徴としたディスクアレイ装置の処理方法。 - 【請求項8】 データをブロック毎に各ディスクに分割
して格納し、 各ディスクの同一物理ブロック毎に格納されたデータに
対してパリティを作成して、これら作成したパリティを
各ディスクに分散して格納するとともに、 スペアディスクを備えたディスクアレイ装置において、 障害ディスク上のデータへのライト命令を受けた時、デ
ータをスペア領域にライトすることを特徴としたディス
クアレイ装置の処理方法。 - 【請求項9】 キャッシュメモリ(00)上で更新され
たデータを集めて、ディスクの空いているパリティグル
ープの領域にライトを行い、 この時更新されたデータの更新前のデータを無効とし、 この無効データの領域が決められた量になったらガベー
ジコレクションを行うとともに、 スペアディスクを備えたディスクアレイ装置において、 キャッシュメモリ(00)上からディスクへ書き込みを
行っているときに、ガベージコレクションがおこった場
合、 スペアディスクへデータを書き込み、ガベージコレクシ
ョン終了後、前記書き込んだスペアディスクのデータ
を、本来のディスク領域に書き戻すことを特徴としたデ
ィスクアレイ装置の処理方法。 - 【請求項10】 データディスクとパリティディスクと
スペアディスクを設け、 データとパリティをそれぞれのディスクに分散して格納
するディスクアレイ装置において、 データをストライピングすることなく、前記データディ
スク、パリティディスク、スペアディスクのそれぞれの
ディスク領域を、 データ領域、パリティ(P)領域、スペア(HS)領域
の3つの領域に分けることを特徴としたディスクアレイ
装置。 - 【請求項11】 データディスクの数(N)を3乃至5
とすることを特徴とした請求項10記載のディスクアレ
イ装置。 - 【請求項12】 上位装置の論理ブロックアドレスから
物理ディスクの物理ブロックアドレスへ変換して、それ
ぞれのディスクに処理を割り当てるとともに、 スペアディスクを備えたディスクアレイ装置において、 スペアディスクを含め、それぞれのディスク領域をデー
タ領域、パリティ領域、スペア領域の3つの領域に分け
る第1の手段と、 スペアディスクとパリティディスクを交互に入れ換える
第2の手段と、 キャッシュメモリ上のデータの更新処理の場合、更新前
の旧データを保持する第3の手段とを備え、 上記第1〜第3の手段を選択できるように構成したこと
を特徴とするディスクアレイ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6027624A JPH07234763A (ja) | 1994-02-25 | 1994-02-25 | ディスクアレイ装置の処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6027624A JPH07234763A (ja) | 1994-02-25 | 1994-02-25 | ディスクアレイ装置の処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07234763A true JPH07234763A (ja) | 1995-09-05 |
Family
ID=12226113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6027624A Withdrawn JPH07234763A (ja) | 1994-02-25 | 1994-02-25 | ディスクアレイ装置の処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07234763A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9442877B2 (en) | 2013-01-10 | 2016-09-13 | Kabushiki Kaisha Toshiba | Storage device |
JP2018032105A (ja) * | 2016-08-22 | 2018-03-01 | 富士通株式会社 | ストレージシステム、ストレージ制御装置及びデータ格納方法 |
US10691542B2 (en) | 2013-01-17 | 2020-06-23 | Toshiba Memory Corporation | Storage device and storage method |
JP2021009646A (ja) * | 2019-07-03 | 2021-01-28 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
-
1994
- 1994-02-25 JP JP6027624A patent/JPH07234763A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9442877B2 (en) | 2013-01-10 | 2016-09-13 | Kabushiki Kaisha Toshiba | Storage device |
US10691542B2 (en) | 2013-01-17 | 2020-06-23 | Toshiba Memory Corporation | Storage device and storage method |
JP2018032105A (ja) * | 2016-08-22 | 2018-03-01 | 富士通株式会社 | ストレージシステム、ストレージ制御装置及びデータ格納方法 |
US10416907B2 (en) | 2016-08-22 | 2019-09-17 | Fujitsu Limited | Storage system, storage control apparatus, and method of controlling a storage device |
JP2021009646A (ja) * | 2019-07-03 | 2021-01-28 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6941420B2 (en) | Log-structure array | |
JP2691120B2 (ja) | 記憶管理サブシステムおよびブロックの高速書込みの方法 | |
JP6842620B2 (ja) | ストレージ書き込みキャッシュ管理用のハードウェア・アクセラレータの実装のためのデータ・ストレージ・システム、方法、および設計構造 | |
US9176817B2 (en) | Data management in solid state storage devices | |
KR100211790B1 (ko) | 직접 액세스 저장 장치에서 데이터 압축을 위한 디렉토리 재 구축 방법 및 장치 | |
US7281089B2 (en) | System and method for reorganizing data in a raid storage system | |
JP5087347B2 (ja) | 半導体記憶装置及び半導体記憶装置の制御方法 | |
US7831764B2 (en) | Storage system having plural flash memory drives and method for controlling data storage | |
US5404361A (en) | Method and apparatus for ensuring data integrity in a dynamically mapped data storage subsystem | |
JP3505093B2 (ja) | ファイル管理システム | |
JP6696280B2 (ja) | 情報処理装置、raid制御方法、およびraid制御プログラム | |
KR20190016562A (ko) | 저장 클래스 메모리를 위한 웨어 레벨링의 장치 및 방법 | |
US5485598A (en) | Redundant disk array (raid) system utilizing separate cache memories for the host system and the check data | |
US20210216470A1 (en) | Logical to virtual and virtual to physical translation in storage class memory | |
JP3270959B2 (ja) | ディスクアレイ装置におけるパリティ格納方法およびディスクアレイ装置 | |
US5574736A (en) | Data storage device and method of operation | |
JP4621749B2 (ja) | メモリシステム | |
JPH07234763A (ja) | ディスクアレイ装置の処理方法 | |
JPH06266510A (ja) | ディスクアレイシステムおよびそのためのデータ書き込み方法、障害回復方法 | |
JP2011128826A (ja) | 記憶装置と半導体不揮発性メモリの記憶方法 | |
JP2857289B2 (ja) | ディスクアレイ装置 | |
JP6911443B2 (ja) | 情報処理装置 | |
JP2020115275A (ja) | 情報処理装置およびプログラム | |
JP2001282697A (ja) | ディスク制御装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20010508 |