JPH1124848A - ディスクアレイの障害領域交代処理方法およびディスクアレイ装置 - Google Patents

ディスクアレイの障害領域交代処理方法およびディスクアレイ装置

Info

Publication number
JPH1124848A
JPH1124848A JP9193107A JP19310797A JPH1124848A JP H1124848 A JPH1124848 A JP H1124848A JP 9193107 A JP9193107 A JP 9193107A JP 19310797 A JP19310797 A JP 19310797A JP H1124848 A JPH1124848 A JP H1124848A
Authority
JP
Japan
Prior art keywords
data
area
replacement
disk
sector
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
JP9193107A
Other languages
English (en)
Inventor
Naoto Matsunami
直人 松並
Takashi Oeda
高 大枝
Taisuke Kaneda
泰典 兼田
Takashi Arakawa
敬史 荒川
Ikuya Yagisawa
育哉 八木沢
Masayuki Yamamoto
山本  政行
Masahiro Takano
雅弘 高野
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 JP9193107A priority Critical patent/JPH1124848A/ja
Publication of JPH1124848A publication Critical patent/JPH1124848A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】 ディスクアレイにおける最大応答時間の保証
と短縮のため、セクタ障害発生時の交代処理による応答
時間の悪化を回避することにある。 【解決手段】 ディスクアレイコントローラ20に、不揮
発記憶手段40と、セクタ障害検出手段22と、不揮発記憶
手段及びディスクアレイのアドレス空間内に交代領域を
確保しその割り当てや管理を行う交代領域管理手段23
と、障害ストライプ情報及び交代領域情報を保持する障
害情報保持手段24を設け、セクタ障害が発生した際には
一時的に不揮発記憶手段40に交代処理を実施し、障害情
報保持手段24に不揮発記憶手段40上の交代先アドレスを
格納し、さらに、適切な時刻にディスクアレイのアドレ
ス空間に交代領域を割り当て、該交代領域にパリティグ
ループ単位で交代処理を実施する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機システムの
ディスクストレージ制御に関するものであり、特に、デ
ィスクアレイ装置の障害領域の交代制御技術に関するも
のである。
【0002】
【従来の技術】
(1) RAIDの説明(図1) ディスクアレイは、複数のディスク装置(以下、単にデ
ィスクと称する)を並列に動作させることで、単体のデ
ィスクに比べ高速化を実現する技術である。しかし、デ
ィスクをn台並べた場合、その故障確率はn倍に悪化す
る。そこで、高速化と高信頼化を両立するための技術と
して、「RAID(Redundant Arrays of Inexpensive
Disks)」が知られている。RAIDは、"A Case for R
edundant Arrays of Inexpensive Disks (RAID) "; In
Proc. ACM SIGMOD,June 1988(カリフォルニア大学バー
クレー校発行)に詳しい。RAIDは、複数のディスク
を並列に動作させることで高速制御を実現し、また、パ
リティと呼ぶ冗長データをパリティディスクと呼ぶ特定
のディスクに格納することにより、万一、データを格納
する1台のディスクが故障しても、他のディスクとパリ
ティディスクのパリティとから故障したディスクのデー
タを再現することができ、耐ディスク障害信頼性を高め
ることができるディスク制御の方法である。RAIDは
そのパリティの格納の方法によりレベル1から5があ
る。図1にこのうちの一例としてレベル4型のRAID
のデータ配置図を示す。
【0003】この例では、ディスクが5台あり、4台が
データディスク0〜3、1台がパリティディスクとする
と、データをディスク0、ディスク1、ディスク2、デ
ィスク3の順番で、ある一定のデータブロック毎に順に
分散して格納する。このデータブロック単位のことをス
トライプと称し、この分散する制御のことをストライピ
ングと称する。ディスク0〜3に格納した同一ストライ
プのデータD0〜3の排他的論理和(以下XORと称す
る)を計算することで冗長データであるパリティP0を
生成する。すなわち、 P0=D0+D1+D2+D3 (式a) ただし、+
はXOR演算を示す。また、D0を格納するディスク0
が故障した際には、 D0=D1+D2+D3+P0 (式b) により、故障したディスク0のD0を再現できる。ま
た、パリティを生成するための同一列のデータ及びパリ
ティストライプ群のことをパリティグループと称する。
図1の場合、D0,D1,D2,D3,P0が同一パリ
ティグループを形成する。上記RAID4の他、レベル
3、5が上記式aと同一の方法でパリティを生成する。
【0004】(2) ディスクの説明 ディスクアレイに用いるディスクは、回転する円板と、
円板上を半径方向に移動するヘッドによって構成されて
いる。円板上では、同心円状にいくつものトラックと呼
ばれる領域に区切られ、トラックはさらにセクタという
単位に区切られている。ディスク装置は、セクタ単位
(多くは512バイト)にデータを管理する。ディスク
からデータを読み出す(または、ディスクにデータを書
き込む)ために必要な時間は、 (a)ヘッドが目的のトラックに移動するまでの時間
(シーク時間) (b)ヘッドの下に目的のセクタが来るまでの待ち時間
(回転待ち時間) (c)データを読み書きする時間(データ転送時間) によって決まる。データの読み出しを要求してから、シ
ーク時間、回転待ち時間、データ転送時間の後、読み出
し終了が報告されるまでの時間を応答時間と呼ぶ。よっ
て、最大シーク時間、回転数、メディア読み書きの転送
速度がわかれば、必要な最大応答時間を求めることがで
きる。但し、エラーや交代処理が発生しない場合に限ら
れる。
【0005】(3) セクタ障害の説明 ディスクは、磁気記録媒体や、光記録媒体を使用してい
るために、円板上の一部分が読み書きできなくなる障害
が発生する。これをセクタ障害という。セクタ障害の原
因としては、円板上の傷や磁性体の劣化等が考えられ
る。ディスク装置では、ECC(Error Correcting Cod
e)を付加することで、ある程度のセクタ障害に対して
は、復旧することが可能である。付加するECC符号の
種類により、セクタ中の何ビットまでのエラーを訂正す
ることが可能であるかが変化する。ECCによる復旧が
不可能な場合、ディスク装置はリトライにより、再度読
み書きにトライする。リトライとは、読み書きのできな
かったセクタに対して、もう一回転待つことで、障害セ
クタに対して読み書きを試みることである。通常リトラ
イは、数回行われるため、応答時間が大幅に伸びてしま
う。リトライでも読めない場合は、エラーとして読み書
きを中止する。
【0006】(4)交代処理の説明 ディスクは、セクタ障害の発生に備えて、交代セクタも
しくは交代トラックと呼ばれる予備の領域を用意してい
る。これらを総称して交代領域と称する。書き込み時に
セクタ障害が発生した場合、データを該当セクタに書き
込むことができずエラーとなる。そこで、ホストが交代
領域の割り当てを要求すると、ディスクはエラーの発生
したセクタを使用禁止にして、交代領域に新たなセクタ
を割り当てる。もし、当該セクタにリードライト要求が
来た場合には、以後、交代セクタを利用するようディス
クは動作する。障害セクタが発生した際の交代処理方法
としては、セクタ単位で交代する方法と、障害セクタを
含むトラック全てを交代する方法がある。前者をセクタ
交代処理、後者をトラック交代処理と称する。障害セク
タの発生には次の2つの場合がある。
【0007】(a) 先天的障害セクタ・・・ディスク製造
時に発生した障害セクタ (b) 後天的障害セクタ・・・ディスク使用後に発生した
障害セクタ である。
【0008】(5)先天的障害セクタの交代処理 先天的障害セクタが発生した際には、通常、製造され出
荷する前に、製造者が交代処理を施す。この方法とし
て、スリップセクタ交代処理、もしくはスリップトラッ
ク交代処理と呼ばれる交代処理方法が用いられる。この
方法は、障害セクタ(又は障害セクタを含む障害トラッ
ク)を使用禁止にし、一つ後ろのセクタ(もしくはトラ
ック)に当該障害セクタ(もしくは障害トラック)を移
動する。このようにセクタ(もしくはトラック)を後送
りしてずらしていく処理を交代領域に達するまで続け
る。
【0009】このスリップセクタ交代処理(スリップト
ラック交代処理)は、セクタ(トラック)の順番が変わ
らないので、連続データ転送には良好な性能を発揮でき
るが、交代処理に多大な時間を要するので出荷前にしか
行われないのが普通である。
【0010】(6)後天的障害セクタの交代処理(図2) 後天的障害セクタが発生した際には、スキップセクタ交
代処理、もしくはスキップトラック交代処理と呼ばれる
交代処理方法が用いられる。この方法は、障害セクタ
(又は障害セクタを含む障害トラック)を使用禁止に
し、当該障害セクタ(もしくは障害トラック)のみ交代
領域に交代する方法である。図2はスキップトラック交
代処理を示した図である。データ領域内部の障害トラッ
クを交代領域にある交代トラックに移動する。このスキ
ップセクタ交代処理(スキップトラック交代処理)は、
交代処理を短時間で実行できるので、後天的障害セクタ
交代処理に一般に用いられる。
【0011】(7) ディスクアレイにおける交代処理 ディスクアレイにおいても、従来は上記のディスクが備
える交代処理方法を用いる。先天的障害セクタ交代処理
は既に行われているので、ディスクアレイの構築後に発
生した後天的障害セクタ交代処理のみが行われる。ディ
スクアレイが動作中に障害セクタが発生すると、交代処
理を要求するコマンドをディスクに発行することで、交
代処理を実施することができる。また、オートリアサイ
ン機能と呼ぶ機能を実装したディスクの場合、設定によ
り自動的に交代処理を行うようにすることもできる。こ
の場合、ディスク内部で交代処理は実行されるので、デ
ィスクアレイは交代処理を意識すること無くディスクを
使用できる。いずれの方法の交代処理を選んだにして
も、交代領域の位置はディスク内部で管理されているの
でディスクアレイは交代領域の位置を意識することはな
い。
【0012】
【発明が解決しようとする課題】ディスクや、ディスク
アレイのようなディスクストレージシステムは、メカニ
カルな機構部を有するため、全て電子部品で動作するホ
スト計算機(以下、単にホストと称する)の実行速度に
比べ数桁実行速度が遅い。ディスクストレージシステム
の応答時間の高速化は計算機システム全体の応答速度を
高速化することになる。また、動画像、音声のようなマ
ルチメディアデータを計算機システムで扱う場合、デー
タを途切れることなく加工したり配信したりすることが
必要である。ディスクストレージシステムからデータを
読み出す場合、そのアクセス時間には変動があるため、
その変動を吸収するためのデータバッファがホストに必
要になる。データバッファの容量は、ディスクストレー
ジシステムの最大応答時間と画像の転送レートで決定で
きる。データバッファを無制限に大きくすることはでき
ないので、ディスクストレージシステムには最大応答時
間を保証することが必要になる。また、低コストなシス
テムを実現するためデータバッファを最小化するために
はディスクストレージシステムの最大応答時間を短縮す
ることが求められる。以上より、ディスクストレージシ
ステムをマルチメディア計算機システムに適用するため
には、 (a)最大応答時間の保証 (b)最大応答時間の短縮 の2点が課題になる。
【0013】一方、従来の技術で述べたとおり、ディス
クには後天的セクタ障害が発生することがあり、交代処
理で障害セクタを復旧する。この際、一般に上記スキッ
プセクタ(トラック)交代処理が行われる。ところが、
スキップセクタ(トラック)交代処理は、交代領域にヘ
ッドを移動(シーク)し、適切に決定した交代セクタ上
にヘッドが来るまで円板の回転待ちをし、初めて交代セ
クタへのライトが可能になる。このため、交代処理を行
った場合、通常のアクセスに比べ余分なシーク、回転待
ち時間の発生により応答時間が悪化するという問題が発
生する。また、アクセス要求のデータの一部が交代セク
タに割り当てられている場合、すなわち交代処理された
セクタへのアクセスが発生した場合のディスクの動作の
例を図3に示す。リードアクセス要求の転送セクタ数が
nであり、先頭からm番目(1<m<n)のセクタが交
代されている場合、図3(b)のように、シーク、回転待
ちの後、前半の(m−1)個のセクタをリードし、続け
て交代領域にシークし、回転待ちの後交代セクタをリー
ドし、さらに、再びシーク、回転待ちし、後半の(n−
m)個のセクタをリードする必要がある。交代領域の構
成にもよるが、最大3回のシーク、回転待ちがこのリー
ドアクセス要求中に発生することになり、後天的セクタ
障害のない図3(a)の場合の応答時間に較べて、応答時
間が非常に悪化するという問題が発生する。
【0014】また、ディスクを接続するホストや、ディ
スクアレイからは、交代セクタがディスクのどの位置に
設定されたかを知ることはできないため、最大応答時間
を保証するには、上記3回のシーク、回転待ちをすべて
そのディスクの最大時間で見積もる必要があり、最大応
答時間が著しく悪化するという問題が発生する。
【0015】本発明の第一の目的は、セクタ障害が発生
してもその交代処理のためのアクセス応答時間の短縮を
実現するディスクアレイの交代処理方法を提供すること
である。本発明の第二の目的は、交代されたセクタへの
アクセス応答時間の短縮を実現するディスクアレイの交
代処理方法を提供することである。本発明の第三の目的
は、最大応答時間を短縮するディスクアレイの交代処理
方法を提供することである。
【0016】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、アレイ状に配置した複数のディスク装置
と、複数のディスク装置が並列に動作するようアクセス
を制御する処理装置及びメモリを備えるディスクアレイ
コントローラとを備え、複数のディスク装置にはデータ
を記憶するデータ領域と、冗長データを格納するパリテ
ィ領域を備えたディスクアレイ装置におけるディスクア
レイの障害領域交代処理方法であり、不揮発記憶手段を
前記ディスクアレイコントローラに設け、前記処理装置
は、ホストからのリードアクセス要求受信時には、その
アクセスデータが属する、同一の冗長データブロックを
構成するすべてのディスクのデータと冗長データである
冗長データグループをリードし、セクタ障害を検出した
場合には、障害セクタのデータ内容を該冗長データグル
ープにおける該障害セクタを含むディスク以外のディス
クのデータと冗長データから復元し、前記不揮発記憶手
段に領域を確保し、該領域を交代先として前記復元した
障害セクタを含むデータブロックを格納し、該データブ
ロックのディスク上のアドレスと、不揮発記憶手段上の
交代先アドレスを前記メモリに記憶し、さらに、ホスト
から前記データブロックへのアクセスがあった際には、
前記メモリの記憶内容を参照して、前記不揮発記憶手段
上に該データブロックがあることの判定を行い、前記デ
ィスクアレイコントローラの不揮発記憶手段に前記デー
タブロックの交代処理を行うようにしている。
【0017】さらに、前記処理装置は、規定のタイミン
グになった際に、前記ディスクアレイのアドレス空間に
設定された交代領域に領域を確保し、該領域を交代先と
して前記不揮発記憶手段に交代した障害セクタを含むデ
ータブロックを移動し、ディスクアレイ上の交代先アド
レスを前記メモリに記憶し、ホストから前記データブロ
ックへのアクセスがあった際には、前記メモリの記憶内
容を参照して、ディスクアレイの交代領域に該データブ
ロックがあることの判定を行い、ディスクアレイコント
ローラの不揮発記憶手段に一時的に前記データブロック
の交代処理を行った後、ディスクアレイの交代領域に再
度前記データブロックの交代処理を行う二段階交代処理
を行うようにしている。
【0018】また、前記規定のタイミングは、ディスク
アレイへの電源投入直後か、または、ディスクアレイへ
の電源切断の直前か、または、一定時間ホストからアク
セス要求が発生しなかったことを前記処理装置が検出し
た時点か、または、予め前記処理装置に設定された時刻
になった時点であるようにしている。
【0019】また、前記交代処理のデータ単位は、障害
セクタを含む一定長のデータブロックであり、そのサイ
ズは、1つの障害セクタ長、または、ディスクアレイの
データ分散単位であるストライプ長、または、同一の冗
長データブロックを構成するすべてのディスクのデータ
と冗長データである冗長データグループであるようにし
ている。
【0020】また、交代処理のデータ単位は、障害セク
タを含む一定長のデータブロックであり、そのデータブ
ロックのサイズは、ディスクアレイのデータ分散単位で
あるストライプ長、または、同一の冗長データブロック
を構成するすべてのディスクのデータと冗長データであ
る冗長データグループであるようにしている。
【0021】また、交代処理のデータ単位は、前記障害
セクタを含む一定長のデータブロックであり、そのデー
タブロックのサイズは同一の冗長データブロックを構成
するすべてのディスクのデータと冗長データである冗長
データグループであり、ディスクアレイのアドレス空間
は前記冗長データグループn個分のデータ領域と(n>
0の整数)、m個分の交代領域(m>0の整数)から構
成する交代ゾーンをk個(k>0の整数)連続的に備え
た構成であり、1つの交代ゾーンのデータ領域でセクタ
障害が発生した場合には、前記処理装置は、同一交代ゾ
ーン内の交代領域に未使用の交代領域を確保し、該障害
セクタを含む冗長データグループのデータおよび冗長デ
ータのすべてを一括して該確保した交代領域に移動し、
元の該障害セクタを含む冗長データグループは以降使用
を禁止するようにしている。
【0022】また、交代処理のデータ単位は、前記障害
セクタを含む一定長のデータブロックであり、そのデー
タブロックのサイズは同一の冗長データブロックを構成
するすべてのディスクのデータと冗長データである冗長
データグループであり、ディスクアレイのアドレス空間
は前記冗長データグループn個分のデータ領域と(n>
0の整数)、m個分の交代領域(m>0の整数)から構
成する交代ゾーンをk個(k>0の整数)連続的に備え
た構成であり、1つの交代ゾーンのデータ領域のi番目
(i>0の整数)の冗長データグループ内にセクタ障害
が発生した際には、前記処理装置は、同一交代ゾーン内
の交代領域に未使用の交代のためのj番目(j>0の整
数)の冗長データグループを確保し、データ領域のi番
目からn番目の冗長データグループと、交代領域の1番
目から(j−1)番目の冗長データグループの連続した
冗長データグループを、データ領域の冗長データグルー
プ(i+1)番目から交代領域の冗長データグループj
番目までの連続した領域に後ろ詰めで移動し、元の該障
害セクタを含む冗長データグループは以降使用を禁止す
るようにしている。
【0023】また、交代処理のデータ単位は、前記障害
セクタを含む一定長のデータブロックであり、そのデー
タブロックのサイズはディスクアレイのデータ分散単位
であるストライプ長であり、各ディスクのアドレス空間
は前記ストライプn個分のデータ領域と(n>0の整
数)、m個分の交代領域(m>0の整数)から構成する
交代ゾーンをk個(k>0の整数)連続的に備えた構成
であり、1つの交代ゾーンのデータ領域のi番目(i>
0の整数)のストライプにセクタ障害が発生した際に
は、前記処理装置は、同一交代ゾーン内の交代領域に未
使用の交代のためのj番目(j>0の整数)のストライ
プを確保し、データ領域のi番目からn番目のストライ
プと、交代領域の1番目から(j−1)番目のストライ
プの連続したストライプを、データ領域のストライプ
(i+1)番目から交代領域のストライプj番目までの
連続した領域に後ろ詰めで移動し、元の該障害セクタを
含むストライプは以降使用を禁止するようにしている。
【0024】また、処理装置及びメモリを有するディス
ク装置の障害領域交代処理方法であり、不揮発記憶手段
を前記ディスク装置に設け、前記処理装置は、ホストか
らのリードアクセス要求受信時には、そのアクセスデー
タが属するセクタのデータをリードし、セクタ障害を検
出した場合には、障害セクタのデータ内容を付加されて
いるエラー訂正コードに基づき復元し、前記不揮発記憶
手段に領域を確保し、該領域を交代先として前記復元し
た障害セクタのデータ内容を格納し、該障害セクタのデ
ータのディスク上のアドレスと、不揮発記憶手段上の交
代先アドレスを前記メモリに記憶し、ホストから前記障
害セクタのデータへのアクセスがあった際には、前記メ
モリの記憶内容を参照して、前記不揮発記憶手段上に該
障害セクタのデータがあることの判定を行い、さらに、
規定のタイミングになった際に、前記ディスク装置のア
ドレス空間に設定された交代領域に領域を確保し、該領
域を交代先として前記不揮発記憶手段に交代した障害セ
クタのデータを移動し、ディスク装置上の交代先アドレ
スを前記メモリに記憶し、ホストから前記障害セクタの
データへのアクセスがあった際には、前記メモリの記憶
内容を参照して、ディスク装置の交代領域に該障害セク
タのデータがあることの判定を行い、ディスク装置の不
揮発記憶手段に一時的に前記障害セクタのデータの交代
処理を行った後、ディスク装置の交代領域に再度前記障
害セクタのデータの交代処理を行う二段階交代処理を行
うようにしている。
【0025】また、アレイ状に配置した複数のディスク
装置と、複数のディスク装置が並列に動作するようアク
セスを制御するディスクアレイコントローラとを備え、
複数のディスク装置にはデータを記憶するデータ領域
と、冗長データを格納するパリティ領域を備えた、ディ
スクアレイ装置であり、ディスクアレイコントローラ
は、ホスト計算機と接続するためのホスト接続手段と、
複数のディスク装置を接続するための少なくとも1つ以
上のディスク接続手段と、ホスト計算機からのアクセス
要求の実行やディスクアレイの各手段の制御を行う中央
制御手段と、ディスク装置に格納するデータを一時記憶
しておくデータ記憶手段と、ディスクアレイの冗長デー
タの生成や障害ディスクのデータの復元や障害セクタの
データの復元を行う冗長データ演算手段と、ディスク装
置にセクタ障害が発生したことを検出するセクタ障害検
出手段と、障害セクタを含む一定長のデータブロックを
復元したデータ内容を交代領域として一時的に記憶して
おく不揮発記憶手段と、ディスクアレイのアドレス空間
に交代領域を確保し、前記データブロックを復元した結
果を格納する交代領域を前記不揮発記憶手段またはディ
スクアレイの交代領域に割り当て、かつホスト計算機か
らのアクセス要求が交代領域もしくは前記データブロッ
クに属するか判定する交代領域管理手段と、前記データ
ブロックの交代位置情報と、前記ディスクアレイの交代
領域の管理情報を格納する障害情報格納手段とを備える
ようにしている。
【0026】
【発明の実施の形態】
〈第一実施形態〉 (1) ディスクアレイの構成 第一実施形態の構成図を図4に示す。同図において、1
はホスト、2はディスクアレイ、3は少なくとも1台以上
のディスク(個々のディスクはディスク30、31、・・
・)、20はディスクアレイコントローラである。本実施
形態のディスクアレイのデータ格納構成は図1に示す構
成とする。
【0027】(2) ディスクアレイコントローラの構成 ディスクアレイコントローラ20は、次の構成手段を備え
る。21は中央制御手段、22はセクタ障害検出手段、23は
交代領域管理手段、24は障害情報保持手段、25はホスト
接続手段、26はデータ記憶手段、27は冗長データ演算手
段、28は少なくとも1つ以上のディスク接続手段(個々
のディスク接続手段は281、282、・・・)、29はディス
ク交代機能抑止手段、40は不揮発記憶手段である。障害
情報保持手段24は、同図に示すように内部に障害ストラ
イプ情報241と、交代領域情報242を格納する。
【0028】(3) 正常リード処理 次に、本実施形態のディスクアレイの正常リード処理の
動作を説明する。以下、図1のデータストライプD2を
リードするものと仮定する。 ※ リードコマンド受信 ホスト1は、データD2のリードホストコマンドをディ
スクアレイに発行する。ディスクアレイコントローラ2
のホスト接続手段25は、該リードホストコマンドを受信
し、中央制御手段21に転送する。
【0029】中央制御手段21は、交代領域管理手段23に
該ホストコマンドを送信する。
【0030】※ 交代判定処理 交代領域管理手段23は、障害情報保持手段24を参照し、
該アクセスデータD2が交代処理されていないことを確
認し(交代Miss Hit)、中央制御手段21に該ホストコマ
ンドを返却する。中央制御手段21は、該アクセスデータ
D2がディスクアレイのパリティグループ#0に属する
データであることを計算し、該パリティグループ#0を
構成する全データストライプ、及びパリティストライプ
のリードディスクコマンドを生成し、ディスク接続手段
280〜284に発行する。
【0031】※ 常時パリティリード ディスク接続手段280〜284は、それぞれが接続するディ
スク30〜34に該ディスクコマンドを発行する。ディスク
30〜34は、該ディスクコマンドを受信し、コマンドを解
釈し、読み出しヘッドを目的のトラックにシークし、回
転待ちの後、対応するデータD0〜D3、P0をリード
し、ディスク接続手段28に転送する。ディスク接続手段
280〜284は、転送されてきたリードデータをデータ記憶
手段26に転送し、中央制御手段21に転送終了報告を送信
する。
【0032】※ セクタ障害有無判定 中央制御手段21は転送終了通知を各ディスク接続手段28
0〜284から順次受信し、セクタ障害検出手段22にセクタ
障害が発生しなかったことを確認するよう要求する。セ
クタ障害検出手段22はセクタ障害が発生しなかったこと
を確認する。
【0033】※ コマンド終了処理 中央制御手段はディスクコマンドをすべて終了させ、次
にホスト接続手段25に、データ記憶手段26からホストに
対してデータD2を転送するよう命令する。ホスト接続
手段25は、データD2をホストに転送し、リードホスト
コマンドを終了し、全ての通常リード処理が完了する。
【0034】※ キャッシュ制御 なお、図4には記載していないが、次回D0〜D3のい
ずれかのデータへのリードホストコマンドがホストから
発行された場合、ディスクアレイ2はディスク3からデー
タをリードすることなくデータ記憶手段26からホスト1
にデータを転送することができる。このような制御をキ
ャッシュ制御と呼び、データ記憶手段に対応データが有
るかどうかの判定をキャッシュHit/Miss判定と呼ぶ。中
央制御手段21はホストコマンドを受信した際にこのキャ
ッシュHit/Miss判定も実行する。しかし、以下の説明で
は、本発明の本質から外れるのでその動作の説明は省略
し、常にキャッシュMissHitした場合として説明する。
【0035】※ シーケンシャルリードアクセス 一般に、マルチメディアデータのリード時には、連続し
たデータのリードアクセス要求がホストから発行される
ことが多い。このようなアクセスをシーケンシャルリー
ドアクセスと呼ぶ。シーケンシャルリードアクセスの場
合、上記のようにパリティグループ単位でデータをリー
ドすることで、続くデータが必ずキャッシュヒットする
ので、ディスクを駆動する必要がない。この図1の例の
場合、5回のホストコマンドにつき1回の全ディスクに
リードディスクコマンドを発行することになる。
【0036】(4)正常ライト処理(ライトバックキャッ
シュ付) 次に、本実施形態のディスクアレイの正常ライト処理の
動作を説明する。以下、図1のデータストライプD3を
ライトするものと仮定する。
【0037】※ ホストからデータ記憶手段への転送 ホスト1は、データD3のライトホストコマンドをディ
スクアレイに発行する。ディスクアレイコントローラ2
のホスト接続手段25は、該ライトホストコマンドを受信
し、中央制御手段21に転送する。中央制御手段21は、ホ
スト接続手段25にホスト1からデータ記憶手段26にデー
タ転送するよう指令を発行する。ホスト接続手段25はホ
スト1からデータD3をデータ記憶手段26に転送し、ホ
スト1に対しライトホストコマンド終了を報告する。
【0038】※ シーケンシャルライトアクセス 一般に、マルチメディアデータのライト時には、連続し
たデータのライトアクセス要求がホストから発行される
ことが多い。このようなアクセスをシーケンシャルライ
トアクセスと呼ぶ。このようなデータを扱った場合、ホ
スト1から順次連続データがデータ記憶手段26に転送さ
れることになる。データ記憶手段26に一定以上のライト
データが格納された場合や、ホスト1から一定時間アク
セス要求が発行されない場合等、あらかじめ設定された
条件が成立すると、中央制御手段21はデータ記憶手段26
中のデータをディスクにライトする。このような制御を
キャッシュのデステージ制御と呼ぶ。
【0039】※ パリティの生成 パリティP0を生成するには、同一パリティグループの
D0〜D3の全てのデータがデータ記憶手段26に格納さ
れている必要がある。本実施形態ではデータD0〜D3
がすべてデータ記憶手段26に格納されていると仮定して
説明する。なお、すべてのデータが揃っていない場合
は、欠けているデータをディスクからリードする処理の
後に同一の制御を実行することになる。また、格納する
データをディスクにライトする前の旧データと、旧パリ
ティと、格納する新データから新パリティを生成する別
の方法も存在するが、本実施形態ではこの方法について
は言及しないことにする。中央制御手段21は、冗長デー
タ演算手段27にパリティP0の生成要求を発行する。冗
長データ演算手段27は、上記(式a)に従いパリティP
0を生成し、データ記憶手段26に格納する。
【0040】※ デステージ処理(ディスクライト処
理) 中央制御手段21は、セクタ障害検出手段22に要求し、D
0〜D3、P0が交代処理されていないことを確認する
(交代Miss Hit)。中央制御手段21は、全データストラ
イプD0〜D3、及びパリティストライプP0のライト
ディスクコマンドを生成し、ディスク接続手段280〜284
に発行する。ディスク接続手段280〜284は、それぞれが
接続するディスク30〜34に該ディスクコマンドを発行
し、続けてデータD0〜D3,P0をそれぞれディスク
に転送する。ディスク30〜34は、該ディスクコマンドを
受信し、コマンドを解釈し、書き込みヘッドを目的のト
ラックにシークし、回転待ちの後、対応するデータD0
〜D3、P0をライトする。ディスク接続手段280〜284
は、中央制御手段21に転送終了報告を送信する。中央制
御手段21は転送終了通知を各ディスク接続手段280〜284
から順次受信し、セクタ障害検出手段22にセクタ障害が
発生しなかったことを確認するよう要求する。セクタ障
害検出手段22はセクタ障害が発生しなかったことを確認
し、中央制御手段はデステージのためのディスクコマン
ドをすべて終了させ、全てのデステージ処理を含むライ
ト処理が完了する。
【0041】(5)障害リード処理 次に、リード時にセクタ障害が発生した場合の説明を、
上記(3)の正常リード処理との相違点を中心に説明す
る。(3)と同様、データD2をリードするものと仮定す
る。
【0042】※ 交代処理の抑止 まず、ディスクアレイを初めて使用する初期化の時、全
ディスクが備える交代処理を抑止する。交代抑止手段29
は、ディスク3の接続手段280〜284に対しディスクの交
代処理機能を抑止するためのコマンドを発行するよう指
示する。ディスク3は該コマンドを受信し、ディスクの
交代処理を停止する。ディスク3とディスクアレイコン
トローラ20の接続インターフェースがSCSI(Small Comp
uter Systems Interface)である場合、該コマンドはMo
de Selectコマンドに相当し、その一つのパラメータと
して交代処理を抑止することが可能である。
【0043】※ セクタ障害 次に上記(3)において、ディスク3からデータ記憶手段26
にデータD0〜D3、P0をリードした際に、データD
2にセクタ障害が発生したと仮定する。ディスク32は、
ディスク内部でセクタ障害を検出し、データのリード転
送を中断し、ディスク接続手段282にセクタ障害検出エ
ラーを通知する。ディスク接続手段282はこの通知を受
信し、転送異常終了を中央制御手段21に通知する。この
際、中央制御手段21からの指令に基づき、セクタ障害検
出手段22はディスク32にセクタ障害があったことを検出
し、障害セクタのアドレスを中央制御手段21に通知す
る。なお、以降、障害セクタをSfと呼び、そのアドレ
スをAfとする。
【0044】※ 部分縮退処理 中央制御手段21は、通知を受けディスク32のデータスト
ライプD2のセクタアドレスAfにセクタ障害が発生し
たことを認識する。そして、冗長データ演算手段27に、
D2を復元するための指示を発行する。冗長データ演算
手段27は、以下の演算式(式c)でD2を再現し、デー
タ記憶手段26に格納する。 D2=D0+D1+D3+D4+P0 (式c) このように、D2のリードの際にもパリティP0をふく
め全パリティグループのデータをリードしているので、
セクタ障害の発生したデータを再現することができる。
この(式c)では、データストライプD2の全てを復元
するとしたが、障害セクタSfのみを(式c)で再現す
ることも可能である。また、セクタ障害が発生するAf
より若いアドレスのデータは正しくリードできているの
で、セクタ障害が発生したAf以降だけを(式c)で再
現してもよい。このように、データストライプD2の
み、もしくは障害セクタSfのみ、もしくはデータスト
ライプの一部(アドレスAf以降のデータ)のみを他の
ディスクのデータ及びパリティから復元する処理を部分
縮退処理と呼ぶ。
【0045】※ 不揮発記憶手段への一時交代処理 部分縮退処理が終了すると、中央制御手段21は、交代領
域管理手段23に対して、不揮発記憶手段40上に障害セク
タSfを含むデータストライプD2を交代処理するよう
に指示を発行する。交代領域管理手段23は、障害情報保
持手段24の交代領域情報242を参照し、不揮発記憶手段4
0上の未使用領域を確保し(アドレスN2とする)、冗
長データ演算手段27がデータ記憶手段26に復元した障害
セクタSfを含むデータストライプD2のデータ内容を
不揮発記憶手段40にコピーする。障害セクタを含むスト
ライプのことを障害ストライプと呼ぶ。交代領域管理手
段23は障害情報保持手段24の障害ストライプ情報241
に、ディスク32のデータストライプD2が障害ストライ
プであり、そのデータは不揮発記憶手段40のアドレスN
2に交代処理してあることを記録する。不揮発記憶手段
40は一般に高価であり容量もディスク容量に比べ小さい
有限量を持つ。よって、この交代処理は一時的なもので
あり(一時交代処理と呼ぶ)、後に正式な交代処理(正
規交代処理と呼ぶ)を行う必要がある。この方法につい
ては後述の第二実施形態、第三実施形態にて説明する。
【0046】なお、上記説明では障害ストライプD2を
不揮発記憶手段40に交代処理する例を示したが、不揮発
記憶手段40の容量が十分でない場合、障害セクタSfだ
けを交代処理してもよい。この場合、後にディスク上の
交代領域に正規に交代処理を行い直す際に(正規交代処
理と呼ぶ。後述。)、データストライプD2のセクタS
f以外のデータをディスクからリードする必要があり時
間がかかる。また、上記説明では、交代領域管理手段23
がデータ記憶手段26から不揮発記憶手段40に障害ストラ
イプD2のデータをコピーするとしたが、図4には記載
しないが、別途データ転送手段を設けて、該手段がコピ
ーを実施してもよい。さらに、上記説明では、一時交代
処理は障害ストライプD2のみを交代するとして説明し
たが、不揮発記憶手段40の容量が十分ある場合はパリテ
ィグループ単位で交代処理を行うこともできる。こうす
ることで、後述の正規交代処理を実施する処理を高速に
実行することが可能である。ただし、以下の説明は全て
不揮発記憶手段40には障害ストライプのみを交代すると
して説明する。
【0047】※ コマンド終了処理 以上の一時交代処理が終了した後は、上記(3)正常リー
ド処理と同様である。
【0048】※ 障害ストライプのリード処理 一時交代処理を施した障害ストライプD2内のデータの
リード要求がホストから発行された場合について説明す
る。ホストリードコマンドを受信した際、交代領域管理
手段23は、障害情報保持手段24の障害ストライプ情報24
1を参照し、D2が不揮発記憶手段40に交代処理されて
いることを検出する(交代Hit)。中央制御手段21は、
同ストライプを不揮発記憶手段40からデータ記憶手段26
に転送する。同一パリティグループの他のデータについ
ては上記正常リード処理と同様ディスクからリードす
る。
【0049】(6)障害ライト処理 次に、ライト時のデステージング処理においてセクタ障
害が発生した場合の説明を、上記(4)の正常ライト処理
との相違点を中心に説明する。データストライプD3
(ディスク33)のセクタSg(アドレスAg)において
セクタ障害が発生したと仮定する。
【0050】※ セクタ障害の検出と一時交代処理 上記(5)障害リード処理同様、ディスク33でセクタ障害
が発生すると、ディスク33はデータ転送を中断し、異常
終了を通知する。上記(5)と同様に中央制御手段21はセ
クタ障害を認識し、交代領域管理手段23は障害情報保持
手段24の交代領域情報242を参照し不揮発記憶手段40に
一時交代領域を確保し(アドレスN3とする)、データ
記憶手段26から障害ストライプD3のデータ内容を不揮
発記憶手段40の領域N3にコピーし、障害情報保持手段
24にその障害ストライプの交代情報を格納する。リード
時との相異点はデータは全てデータ記憶手段26に存在す
るので部分縮退処理を行う必要がないことである。以上
で一時交代処理が終了する。なお、上記説明では障害ス
トライプD3を不揮発記憶手段40に交代処理する例を示
したが、不揮発記憶手段40の容量が十分でない場合、障
害セクタSgだけを交代処理してもよい。
【0051】※ コマンド終了処理 以上の一時交代処理が終了した後は、上記(4)正常ライ
ト処理と同様である。
【0052】※ 障害ストライプのライト処理 一時交代処理を施した障害ストライプD3内のデータの
ライト要求がホストから発行された場合について説明す
る。上記(4)正常ライト処理と同様、データ記憶手段26
にデータがライトされ、その後、データ記憶手段26から
デステージされた場合、交代領域管理手段23は、障害情
報保持手段24の障害ストライプ情報241を参照し、D3
が不揮発記憶手段40に一時交代処理されていることを検
出する(交代Hit)。中央制御手段21は、障害ストライ
プD3のデータをデータ記憶手段26から不揮発記憶手段
40に転送しディスクにはライトしない。同一パリティグ
ループの他のデータについては上記正常ライト処理と同
様ディスクにライトする。
【0053】本発明のディスクアレイは、以上のように
セクタ障害が発生すると不揮発記憶手段40に一時交代処
理を行うので、従来のディスクが行う交代処理によって
引き起こされるメカニカル動作であるシーク、回転待ち
動作が発生しない。よって、セクタ障害が発生してもそ
のホストコマンドの応答時間の悪化は従来に比べ非常に
小さい。よって、ディスクアレイの最大応答時間を大き
く短縮することができる。さらに、単にディスクによる
交代処理を抑止し、部分縮退によりデータを復元しただ
けでは、同一パリティグループを構成する他の任意の1
台のディスクに障害が発生した場合、障害セクタのデー
タは永久に喪失してしまう。本発明によれば不揮発記憶
手段40に一時的に交代処理を実施するので、以降ディス
ク障害が発生しても障害セクタデータを喪失することが
ない。
【0054】〈第二実施形態〉(パリティグループ一括
スキップ交代処理) 上記第一実施形態では、セクタ障害が発生した際に、交
代処理による応答時間が長時間化することを防止するた
めに不揮発記憶手段40に一時交代処理を行う方法を示し
た。しかし、上記の通り、不揮発記憶手段40は高価であ
り、その記憶容量はディスク容量に比較しはるかに小さ
いので、適当なタイミングでディスクの交代領域に正規
の交代処理を実施する正規交代処理を行う必要がある。
【0055】※ 交代ゾーンの生成(図5) はじめに、ディスク上に交代領域を確保する方法を説明
する。ディスクアレイを初めて使用する初期化の際に、
ディスクアレイのアドレス空間の一部に交代処理用の領
域を確保する。図5に交代領域の構成の一例を示す。交
代領域管理手段23は、全ディスクアレイのアドレス空間
を適当な個数(1以上の整数個)のゾーンに区切る。こ
のゾーンのことを交代ゾーンと呼ぶ。交代ゾーン内は、
データ領域と交代領域に分かれる。これは、ある交代ゾ
ーンのデータ領域にセクタ障害が発生した際には同一交
代ゾーン内の交代領域に交代処理を施すためである。ま
た、交代ゾーンのサイズはストライプサイズの整数倍で
ある。すなわち、データ領域も交代領域もストライプサ
イズの整数倍である。図5には交代ゾーンのデータ領域
がディスク当たり10ストライプ、交代領域がディスク
当たり2ストライプの例を示している。各ディスクがそ
れぞれ同一構成の交代ゾーンをもつ。交代領域管理手段
23は、障害情報保持手段24にすべての交代ゾーンのすべ
ての交代領域の管理情報を構築する。交代領域はパリテ
ィグループ単位で管理する。すなわちパリティグループ
番号で管理する。初期化時にはすべての交代領域を「未
使用」に設定する。
【0056】※ 正規交代処理の実施タイミング 次に不揮発記憶手段40に一時交代処理した障害ストライ
プをディスクの交代領域に正規交代処理を実施するタイ
ミングについて説明する。任意のタイミングで交代領域
の移動を実施すると、その移動中にホスト1から通常の
リード/ライトアクセスが発生すると、交代領域の移動
処理が終了するまでそのリード/ライトアクセスは待た
されることになるため、応答時間が悪化してしまうとい
う問題がある。そこで、交代領域の移動処理の実施タイ
ミングには以下の4通りのタイミングがある。これらの
タイミングは、ディスクアレイの使用用途や、使用方
法、アクセス頻度、応答時間短縮への要求の厳しさ、等
からディスクアレイの設計者や使用者が選択したり、組
み合わせたりして使用することができる。
【0057】(a)Power On時 ディスクアレイの電源が投入された際に、交代領域の移
動処理を行う方法である。電源投入時の初期化処理の一
部として交代領域の移動を実施する。この方法によれ
ば、通常のリード/ライトアクセスの応答時間を悪化さ
せることは一切ない。ただし、立ち上げ時間が少々遅く
なる点に注意が必要である。
【0058】(b)Power Off時 ディスクアレイの電源が切断される直前に交代領域の移
動処理を行う方法である。この方法によれば(a)同様、
通常のリード/ライトアクセスの応答時間を悪化させる
ことは一切ない。ただし、ホストから切断されることが
事前に報告される場合のみ実行できる方法であり、ホス
トの電源切断シーケンスに依存する。 (c)アクセス要求が一定時間無い時 ディスクアレイにホストからアクセス要求が一定時間発
生しなかった場合に交代領域の移動処理を行う方法であ
る。この方法では、一定時間アクセス要求が無くとも、
移動処理を開始した直後にアクセス要求が発生する可能
性もある。よって、確率は低いものの通常のリード/ラ
イトアクセスの応答時間を悪化させることがありうる。
(a),(b)が行えない場合に行う方法である。 (d)計画時刻 あらかじめ計画し設定した時刻になった際に交代領域の
移動処理を行う方法である。設定時刻の例としては、深
夜などが考えられる。この場合、その時刻にはホストか
らアクセス要求が発生しないことを使用者が保証する
か、アクセス要求が発生したとしても応答時間は悪化す
ることを使用者が認識している必要がある。24時間運転
等、(a)、(b)が行えない場合に行う方法である。
【0059】※ 交代パリティグループの決定 次に、交代領域の移動処理の方法の一実施形態について
説明する。図5において、パリティグループ#0のディ
スク32のデータストライプD2が障害ストライプであ
り、不揮発記憶手段40に一時交代処理されていたとす
る。上記の交代領域の移動タイミングが発生すると、交
代領域管理手段23は、障害情報保持手段24の障害ストラ
イプ情報241を参照し、一時交代処理されている障害ス
トライプの有無を検索する。ここで、上記障害ストライ
プD2が一時交代処理されていることを検出する。該手
段23は、障害ストライプD2の情報から、パリティグル
ープ番号が#0で、ディスク32のストライプであること
を確認し、この情報から交代ゾーンが#0であることを
計算で確認する。次に、該手段23は、障害情報保持手段
24の交代領域情報242を参照し、交代ゾーン#0内に交
代パリティグループに空きが有るかどうか検索する。こ
こで、交代パリティグループ#0が未使用であることを
確認し、障害ストライプD2を含む障害パリティグルー
プ#0をここに正規交代処理することを決定する。
【0060】※ 正規交代処理の実行(パリティグルー
プ一括スキップ交代処理) 次に「パリティグループ一括スキップ交代処理」と呼ぶ
正規交代処理を実行する。この交代処理方法は、一時交
代された障害ストライプは不揮発記憶手段40からセクタ
障害が発生したディスクの交代パリティグループへ移動
し、その他の同一パリティグループのデータ及びパリテ
ィはそれぞれのディスクの交代パリティグループへ移動
する方法である。このように、セクタ障害の発生した障
害パリティグループを一括して、それまでのアドレス空
間とは非連続な交代領域にスキップして移動する。交代
領域管理手段23は、はじめにデータ記憶手段26に適当な
容量の一時領域を確保する。ついで、ディスク接続手段
28を制御して、障害ストライプ以外の同一パリティグル
ープのデータ及びパリティをディスクからデータ記憶手
段26にリードする。すなわち、D0、D1、D3、P0
をディスク30、31、33、34からリードする。次に、今リ
ードしたデータ記憶手段26上のD0、D1、D3、P0
と、不揮発記憶手段40上のD2をそれぞれ対応するディ
スクの決定した交代パリティグループにライトする。次
に、障害情報保持手段24の交代領域情報242に同パリテ
ィグループ#0が交代パリティグループ#0に交代処理
されたことを示す情報を格納する。以降、これまで使用
していたパリティグループ#0は使用禁止になる。以上
により、パリティグループ一括スキップ交代処理が完了
する。
【0061】※ アドレス変換 次に正規交代処理を施された障害パリティグループへホ
ストからリード要求が発行された場合の動作を説明す
る。はじめに、上記の正常リード・ライト処理の説明で
は、簡単化のため説明を省略したが、交代ゾーンを生成
することによるアドレス変換の必要性について説明す
る。
【0062】図6に交代ゾーンを含むディスクアレイの
アドレスマップを示す。 (a)はホストから見たときのディスクアレイのアドレス
空間であり、論理ディスクアレイアドレス空間と呼ぶ。 (b)はディスクアレイ内部で使用するアドレス空間であ
り、物理ディスクアレイアドレス空間と呼ぶ。 (c)は物理ディスクアレイアドレス空間を各ディスクの
アドレスに展開したアドレス空間であり、物理ディスク
アドレス空間と呼ぶ。これらの関係はアドレスマッピン
グ手段41にディスクアレイの初期化時に格納される。論
理ディスクアレイアドレスと物理ディスクアレイアドレ
スの相違点は、同図のように交代領域がマッピングされ
ているかどうかである。すなわち、交代領域はホストに
見せる必要がないため、論理ディスクアレイアドレスに
は交代領域がマッピングされていない。物理ディスクア
レイアドレスから物理ディスクアドレスへは、線形的な
一意なアドレス変換が可能であるが、論理ディスクアレ
イアドレスから物理ディスクアレイアドレスへの変換
は、中央制御手段21がアドレスマッピング手段41を参照
して変換する。
【0063】※ 障害パリティグループへのリード/ラ
イト処理 次に、ホストから障害パリティグループ(交代パリティ
グループ#0)に属するデータストライプD2へのリー
ドホストコマンドが発行されたと仮定する。なお、ライ
トホストコマンドが発行された場合も全く同様である。
ホスト接続手段25がホストコマンドを受信し、中央制御
手段41はアドレスマッピング手段41を参照し、論理ディ
スクアレイアドレスから物理ディスクアレイアドレスに
アドレス変換する。交代領域管理手段23は、障害情報保
持手段24の障害ストライプ情報242を参照し、当該パリ
ティグループ#0が障害パリティグループに属するかど
うか判定する。この場合、交代Hitとなるので、交代先
の交代パリティグループ番号#0が確認でき、中央処理
手段41に処理を戻す。以下、正常処理と同一である。な
お、ホストからのアクセス要求が障害パリティグループ
と正常パリティグループにまたがるような場合、本実施
形態ではホストコマンドを両領域毎に2分割して別々に
処理を行う必要がある。
【0064】本実施形態によれば、従来発生したような
交代セクタへのシーク・回転待ちのオーバヘッドの発生
は無い、正常アクセス時とほぼ同等の短い応答時間でア
クセスができる。また、交代領域の位置がディスクアレ
イから既知のため、交代領域アクセス時にも一定の応答
時間でデータをアクセスすることができる。また、交代
領域アクセス時にディスクアレイの応答時間が最大とな
るようなディスクアレイにおいて、上記のように交代領
域へのアクセスの応答時間を短縮できるので、その最大
応答時間を短縮することができる。
【0065】〈第三実施形態〉(パリティグループ一括
スリップ交代処理) 上記第二実施形態では正規交代処理においてパリティグ
ループ一括スキップ交代処理を行った。しかし、この方
法では、上記でも説明したとおり、障害パリティグルー
プと正常パリティグループをまたがるアクセスが発生し
た場合、両者を分離して実行する必要があり、シーケン
シャルアクセス要求の転送速度が低下するという課題が
ある。そこで、本実施例ではさらにシーケンシャルアク
セス性能を向上する正規交代処理の方法について説明す
る。
【0066】※ 交代パリティグループの決定 交代ゾーンの構成や、正規交代処理を実行するタイミン
グは上記第二実施形態と同様である。図6において、パ
リティグループ#0のディスク32のデータストライプD
2が障害ストライプであり、不揮発記憶手段40に一時交
代処理されていたとする。上記第二実施形態の交代領域
の移動タイミングが発生すると、交代領域管理手段23
は、上記同様、パリティグループ番号が#0で、ディス
ク32のストライプであることを確認し、この情報から交
代ゾーンが#0であることを計算で確認する。次に、該
手段23は、障害情報保持手段24の交代領域情報242を参
照し、交代ゾーン#0内に交代パリティグループに空き
が有るかどうか検索する。ここで、交代パリティグルー
プ#0が未使用であることを確認し、障害ストライプD
2を含む障害パリティグループ#0をここに正規交代処
理することを決定する。
【0067】※ 正規交代処理の実行(パリティグルー
プ一括スキップ交代処理) 次に「パリティグループ一括スリップ交代処理」と呼ぶ
正規交代処理を実行する。この交代処理方法は、セクタ
障害の発生した障害パリティグループを一括してアドレ
スの連続する隣後ろのパリティグループに移動し、その
結果もともと存在していたパリティグループをそのまた
隣後ろのパリティグループに移動させるという移動処理
を、最後のデータ領域のパリティグループが交代領域に
入るまでスリップさせる処理を繰り返す方法である。具
体的に説明すると、障害ストライプD2の属するパリテ
ィグループ#0を、パリティグループ#1に移動し、パ
リティグループ#1をパリティグループ#2に移動する
処理を繰り返し、同一交代ゾーン内の最後のパリティグ
ループ#9を交代パリティグループ#0に順次後ろずら
しに移動する。交代領域管理手段23は、はじめにデータ
記憶手段26に適当な容量の一時領域を確保する。つい
で、ディスク接続手段28を制御して、パリティグループ
#9の全データストライプとパリティストライプをデー
タ記憶手段26にリードし、続けて交代パリティグループ
#0にライトする。つづけて、パリティグループ#8の
全データストライプをデータ記憶手段26にリードし、続
けてパリティグループ#9にライトする。以下、パリテ
ィグループ#1をパリティグループ#2に移動するまで
繰り返す。次に、障害パリティグループ#0の、障害ス
トライプ以外の同一パリティグループのデータ及びパリ
ティをディスクからデータ記憶手段26にリードする。す
なわち、D0、D1、D3、P0をディスク30、31、3
3、34からリードする。次に、今リードしたデータ記憶
手段26上のD0、D1、D3、P0と、不揮発記憶手段
40上のD2をそれぞれ対応するディスクのパリティグル
ープ#1にライトする。これで、障害パリティグループ
のスリップ交代処理が終了する。次に、障害情報保持手
段24の交代領域情報242に、パリティグループ#0が使
用禁止になり、あらたにパリティグループ#1から交代
パリティグループ#0までの連続領域に、旧パリティグ
ループ#0からパリティグループ#9のデータが交代さ
れたことを示す情報を格納する。以上により、パリティ
グループ一括スキップ交代処理が完了する。
【0068】本実施形態によれば、上記第二実施形態の
効果と同一の効果を実現できる。さらに、交代ゾーン内
において、正規交代処理を行ってもデータ領域が分断さ
れないので、2つのパリティグループをまたぐアクセス
要求がホストから発行されてもそれらを別々に扱う必要
がなく、さらに、ディスクのシークが発生しないので、
さらに応答時間を短縮できる。特に、連続データ領域を
アクセスするシーケンシャルアクセス時に応答時間をさ
らに短縮することができる。
【0069】※ 簡易スリップ交代処理方法 以上のパリティグループ一括スリップ交代処理は、パリ
ティグループ単位で交代する方法であるが、別の簡易的
な方法として、障害ストライプのみを後ろにスリップさ
せていく方法を実施することも可能である。この場合、
障害ストライプを格納するディスク以外はスリップ処理
を行う必要がなく、高速な正規交代処理を実施できる。
また、交代処理領域の管理も容易になる。
【0070】〈第四実施形態〉(ディスク装置における
遅延交代処理の応用(ディスク内にNVS(不揮発記憶手
段)をもち、スリップ交代処理を行う)) 次に第四実施形態を説明する。これは、上記スリップ交
代処理のディスクへの完全なる応用である。ディスク内
部に不揮発記憶手段と、交代領域管理手段と、障害情報
保持手段を備える。ディスクは、セクタ障害が発生する
と、交代領域管理手段は、不揮発記憶手段に一時交代処
理を実施し、その情報を障害情報保持手段に格納する。
上記第二実施形態の説明において述べた適切な正規交代
処理のタイミングと同様なタイミングにより、障害セク
タのスリップ交代処理を行う。以上、本実施形態によれ
ば、応答時間の短い交代処理を実現し、さらに、障害セ
クタをアクセスした際にも無駄なシーク、回転待ちが発
生しないので応答時間の短縮を実現できるという効果が
ある。
【0071】なお、上記の本発明において、中央制御手
段、セクタ障害検出手段、交代領域管理手段、ディスク
交代機能抑止手段はすべて独立な手段として説明した
が、好適な実施例として、CPU(Central Processing Un
it)による制御プログラムとして実現することができ
る。また、本発明のホスト接続手段、およびディスク接
続手段は、SCSI、IDE、Fibre Channel、IEEE1394、等に
より実現できる。また、本発明のディスクは、ハードデ
ィスクの他に、MOディスク、DVD、CD-ROM、等に置き換
えて同等の適用が可能である。さらに、本発明のデータ
記憶手段を不揮発化した場合には、不揮発記憶手段を別
に設ける必要はなく、両者は一つの手段として実現可能
である。
【0072】
【発明の効果】本発明によれば、障害セクタ(ストライ
プ)の交代処理をディスクアレイコントローラが備える
不揮発記憶手段上に一時的に行うため、高速な交代処理
を実現でき、応答時間の短縮に効果がある。また、本発
明によれば、通常のI/O処理から遅延させて不揮発記憶
手段からディスクへの交代処理を行うため、通常I/O処
理の応答時間に影響を与えないという効果がある。ま
た、本発明によれば、ストライプ単位や、パリティグル
ープ単位で交代処理を行うため、従来の交代セクタへの
交代処理方法のような余分なシーク、回転待ちを防止す
ることができ、応答時間を短縮できるという効果があ
る。また、本発明によれば、交代領域の位置をディスク
アレイコントローラが管理するため、最大応答時間の保
証と短縮をすることができるという効果がある。
【図面の簡単な説明】
【図1】従来のレベル4型のRAIDのデータ配置構成
を示す図である。
【図2】従来のディスクのトラック交代処理を説明する
ための図である。
【図3】従来のディスクアレイの交代処理発生時の応答
時間を説明するための図である。
【図4】本発明のディスクアレイの構成を示す図であ
る。
【図5】パリティグループ一括スキップ交代処理を説明
するための図である。
【図6】交代ゾーンとアドレス変換について説明するた
めの図である。
【図7】パリティグループ一括スリップ交代処理を説明
するための図である。
【符号の説明】
1 ホスト 2 ディスクアレイ 3(30〜34) ディスク 20 ディスクアレイコントローラ 21 中央制御手段 22 セクタ障害検出手段 23 交代領域管理手段 24 障害情報保持手段 241 障害ストライプ情報 242 交代領域情報 25 ホスト接続手段 26 データ記憶手段 27 冗長データ演算手段 28(280〜284) ディスク接続手段 29 ディスク交代機能抑止手段 40 不揮発記憶手段 41 アドレスマッピング手段
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI G11B 20/18 552 G11B 20/18 552A 570 570Z 572 572F (72)発明者 荒川 敬史 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 八木沢 育哉 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 山本 政行 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 高野 雅弘 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 アレイ状に配置した複数のディスク装置
    と、複数のディスク装置が並列に動作するようアクセス
    を制御する処理装置及びメモリを備えるディスクアレイ
    コントローラとを備え、複数のディスク装置にはデータ
    を記憶するデータ領域と、冗長データを格納するパリテ
    ィ領域を備えたディスクアレイ装置におけるディスクア
    レイの障害領域交代処理方法であって、 不揮発記憶手段を前記ディスクアレイコントローラに設
    け、 前記処理装置は、 ホストからのリードアクセス要求受信時には、そのアク
    セスデータが属する、同一の冗長データブロックを構成
    するすべてのディスクのデータと冗長データである冗長
    データグループをリードし、 セクタ障害を検出した場合には、障害セクタのデータ内
    容を該冗長データグループにおける該障害セクタを含む
    ディスク以外のディスクのデータと冗長データから復元
    し、 前記不揮発記憶手段に領域を確保し、該領域を交代先と
    して前記復元した障害セクタを含むデータブロックを格
    納し、該データブロックのディスク上のアドレスと、不
    揮発記憶手段上の交代先アドレスを前記メモリに記憶
    し、 さらに、ホストから前記データブロックへのアクセスが
    あった際には、前記メモリの記憶内容を参照して、前記
    不揮発記憶手段上に該データブロックがあることの判定
    を行い、 前記ディスクアレイコントローラの不揮発記憶手段に前
    記データブロックの交代処理を行うことを特徴とするデ
    ィスクアレイの障害領域交代処理方法。
  2. 【請求項2】 請求項1記載のディスクアレイの障害領
    域交代処理方法において、 前記処理装置は、 規定のタイミングになった際に、前記ディスクアレイの
    アドレス空間に設定された交代領域に領域を確保し、該
    領域を交代先として前記不揮発記憶手段に交代した障害
    セクタを含むデータブロックを移動し、ディスクアレイ
    上の交代先アドレスを前記メモリに記憶し、 ホストから前記データブロックへのアクセスがあった際
    には、前記メモリの記憶内容を参照して、ディスクアレ
    イの交代領域に該データブロックがあることの判定を行
    い、 ディスクアレイコントローラの不揮発記憶手段に一時的
    に前記データブロックの交代処理を行った後、ディスク
    アレイの交代領域に再度前記データブロックの交代処理
    を行う二段階交代処理を行うことを特徴とするディスク
    アレイの障害領域交代処理方法。
  3. 【請求項3】 請求項2記載のディスクアレイの障害領
    域交代処理方法において、 前記規定のタイミングは、ディスクアレイへの電源投入
    直後か、または、ディスクアレイへの電源切断の直前
    か、または、一定時間ホストからアクセス要求が発生し
    なかったことを前記処理装置が検出した時点か、また
    は、予め前記処理装置に設定された時刻になった時点で
    あることを特徴とするディスクアレイの障害領域交代処
    理方法。
  4. 【請求項4】 請求項2記載のディスクアレイの障害領
    域交代処理方法において、 前記交代処理のデータ単位は、障害セクタを含む一定長
    のデータブロックであり、そのサイズは、1つの障害セ
    クタ長、または、ディスクアレイのデータ分散単位であ
    るストライプ長、または、同一の冗長データブロックを
    構成するすべてのディスクのデータと冗長データである
    冗長データグループであることを特徴とするディスクア
    レイの障害領域交代処理方法。
  5. 【請求項5】 請求項2記載のディスクアレイの障害領
    域交代処理方法において、 交代処理のデータ単位は、障害セクタを含む一定長のデ
    ータブロックであり、そのデータブロックのサイズは、
    ディスクアレイのデータ分散単位であるストライプ長、
    または、同一の冗長データブロックを構成するすべての
    ディスクのデータと冗長データである冗長データグルー
    プであることを特徴とするディスクアレイの障害領域交
    代処理方法。
  6. 【請求項6】 請求項2記載のディスクアレイの障害領
    域交代処理方法において、 交代処理のデータ単位は、前記障害セクタを含む一定長
    のデータブロックであり、そのデータブロックのサイズ
    は同一の冗長データブロックを構成するすべてのディス
    クのデータと冗長データである冗長データグループであ
    り、 ディスクアレイのアドレス空間は前記冗長データグルー
    プn個分のデータ領域と(n>0の整数)、m個分の交
    代領域(m>0の整数)から構成する交代ゾーンをk個
    (k>0の整数)連続的に備えた構成であり、 1つの交代ゾーンのデータ領域でセクタ障害が発生した
    場合には、前記処理装置は、同一交代ゾーン内の交代領
    域に未使用の交代領域を確保し、該障害セクタを含む冗
    長データグループのデータおよび冗長データのすべてを
    一括して該確保した交代領域に移動し、元の該障害セク
    タを含む冗長データグループは以降使用を禁止すること
    を特徴とするディスクアレイの障害領域交代処理方法。
  7. 【請求項7】 請求項2記載のディスクアレイの障害領
    域交代処理方法において、 交代処理のデータ単位は、前記障害セクタを含む一定長
    のデータブロックであり、そのデータブロックのサイズ
    は同一の冗長データブロックを構成するすべてのディス
    クのデータと冗長データである冗長データグループであ
    り、 ディスクアレイのアドレス空間は前記冗長データグルー
    プn個分のデータ領域と(n>0の整数)、m個分の交
    代領域(m>0の整数)から構成する交代ゾーンをk個
    (k>0の整数)連続的に備えた構成であり、 1つの交代ゾーンのデータ領域のi番目(i>0の整
    数)の冗長データグループ内にセクタ障害が発生した際
    には、前記処理装置は、同一交代ゾーン内の交代領域に
    未使用の交代のためのj番目(j>0の整数)の冗長デ
    ータグループを確保し、データ領域のi番目からn番目
    の冗長データグループと、交代領域の1番目から(j−
    1)番目の冗長データグループの連続した冗長データグ
    ループを、データ領域の冗長データグループ(i+1)
    番目から交代領域の冗長データグループj番目までの連
    続した領域に後ろ詰めで移動し、元の該障害セクタを含
    む冗長データグループは以降使用を禁止することを特徴
    とするディスクアレイの障害領域交代処理方法。
  8. 【請求項8】 請求項2記載のディスクアレイの障害領
    域交代処理方法において、 交代処理のデータ単位は、前記障害セクタを含む一定長
    のデータブロックであり、そのデータブロックのサイズ
    はディスクアレイのデータ分散単位であるストライプ長
    であり、 各ディスクのアドレス空間は前記ストライプn個分のデ
    ータ領域と(n>0の整数)、m個分の交代領域(m>
    0の整数)から構成する交代ゾーンをk個(k>0の整
    数)連続的に備えた構成であり、 1つの交代ゾーンのデータ領域のi番目(i>0の整
    数)のストライプにセクタ障害が発生した際には、前記
    処理装置は、同一交代ゾーン内の交代領域に未使用の交
    代のためのj番目(j>0の整数)のストライプを確保
    し、データ領域のi番目からn番目のストライプと、交
    代領域の1番目から(j−1)番目のストライプの連続
    したストライプを、データ領域のストライプ(i+1)
    番目から交代領域のストライプj番目までの連続した領
    域に後ろ詰めで移動し、元の該障害セクタを含むストラ
    イプは以降使用を禁止することを特徴とするディスクア
    レイの障害領域交代処理方法。
  9. 【請求項9】 処理装置及びメモリを有するディスク装
    置の障害領域交代処理方法であって、 不揮発記憶手段を前記ディスク装置に設け、 ホストからのリードアクセス要求受信時には、そのアク
    セスデータが属するセクタのデータをリードし、 セクタ障害を検出した場合には、障害セクタのデータ内
    容を付加されているエラー訂正コードに基づき復元し、 前記不揮発記憶手段に領域を確保し、該領域を交代先と
    して前記復元した障害セクタのデータ内容を格納し、該
    障害セクタのデータのディスク上のアドレスと、不揮発
    記憶手段上の交代先アドレスを前記メモリに記憶し、 ホストから前記障害セクタのデータへのアクセスがあっ
    た際には、前記メモリの記憶内容を参照して、前記不揮
    発記憶手段上に該障害セクタのデータがあることの判定
    を行い、 さらに、規定のタイミングになった際に、前記ディスク
    装置のアドレス空間に設定された交代領域に領域を確保
    し、該領域を交代先として前記不揮発記憶手段に交代し
    た障害セクタのデータを移動し、ディスク装置上の交代
    先アドレスを前記メモリに記憶し、 ホストから前記障害セクタのデータへのアクセスがあっ
    た際には、前記メモリの記憶内容を参照して、ディスク
    装置の交代領域に該障害セクタのデータがあることの判
    定を行い、 ディスク装置の不揮発記憶手段に一時的に前記障害セク
    タのデータの交代処理を行った後、ディスク装置の交代
    領域に再度前記障害セクタのデータの交代処理を行う二
    段階交代処理を行うことを特徴とするディスク装置の障
    害領域交代処理方法。
  10. 【請求項10】 アレイ状に配置した複数のディスク装
    置と、複数のディスク装置が並列に動作するようアクセ
    スを制御するディスクアレイコントローラとを備え、複
    数のディスク装置にはデータを記憶するデータ領域と、
    冗長データを格納するパリティ領域を備えた、ディスク
    アレイ装置であって、 ディスクアレイコントローラは、 ホスト計算機と接続するためのホスト接続手段と、 複数のディスク装置を接続するための少なくとも1つ以
    上のディスク接続手段と、 ホスト計算機からのアクセス要求の実行やディスクアレ
    イの各手段の制御を行う中央制御手段と、 ディスク装置に格納するデータを一時記憶しておくデー
    タ記憶手段と、 ディスクアレイの冗長データの生成や障害ディスクのデ
    ータの復元や障害セクタのデータの復元を行う冗長デー
    タ演算手段と、 ディスク装置にセクタ障害が発生したことを検出するセ
    クタ障害検出手段と、 障害セクタを含む一定長のデータブロックを復元したデ
    ータ内容を交代領域として一時的に記憶しておく不揮発
    記憶手段と、 ディスクアレイのアドレス空間に交代領域を確保し、前
    記データブロックを復元した結果を格納する交代領域を
    前記不揮発記憶手段またはディスクアレイの交代領域に
    割り当て、かつホスト計算機からのアクセス要求が交代
    領域もしくは前記データブロックに属するか判定する交
    代領域管理手段と、 前記データブロックの交代位置情報と、前記ディスクア
    レイの交代領域の管理情報を格納する障害情報格納手段
    とを備えることを特徴としたディスクアレイ装置。
JP9193107A 1997-07-03 1997-07-03 ディスクアレイの障害領域交代処理方法およびディスクアレイ装置 Pending JPH1124848A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9193107A JPH1124848A (ja) 1997-07-03 1997-07-03 ディスクアレイの障害領域交代処理方法およびディスクアレイ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9193107A JPH1124848A (ja) 1997-07-03 1997-07-03 ディスクアレイの障害領域交代処理方法およびディスクアレイ装置

Publications (1)

Publication Number Publication Date
JPH1124848A true JPH1124848A (ja) 1999-01-29

Family

ID=16302370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9193107A Pending JPH1124848A (ja) 1997-07-03 1997-07-03 ディスクアレイの障害領域交代処理方法およびディスクアレイ装置

Country Status (1)

Country Link
JP (1) JPH1124848A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100930A (ja) * 1999-09-28 2001-04-13 Mitsubishi Electric Corp ミラーディスク制御装置
US6697314B2 (en) 2000-07-13 2004-02-24 Fujitsu Limited Information reproducing apparatus for reproducing information from an information storage medium in which a storage area is divided into physical sectors
JP2008269638A (ja) * 2002-06-24 2008-11-06 Network Appliance Inc Raidデータの復元および移動でのファイルシステム情報の使用
JP2009151681A (ja) * 2007-12-21 2009-07-09 Hitachi Ltd ディスクアレイ装置
JP2010267186A (ja) * 2009-05-18 2010-11-25 Nec System Technologies Ltd 大容量記憶装置、リアサイン方法、プログラム及びディスクアレイ装置
JP2014134884A (ja) * 2013-01-08 2014-07-24 Nec Corp ディスクアレイ装置、バッドセクタ修復方法および修復プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100930A (ja) * 1999-09-28 2001-04-13 Mitsubishi Electric Corp ミラーディスク制御装置
US6697314B2 (en) 2000-07-13 2004-02-24 Fujitsu Limited Information reproducing apparatus for reproducing information from an information storage medium in which a storage area is divided into physical sectors
JP2008269638A (ja) * 2002-06-24 2008-11-06 Network Appliance Inc Raidデータの復元および移動でのファイルシステム情報の使用
JP2009151681A (ja) * 2007-12-21 2009-07-09 Hitachi Ltd ディスクアレイ装置
JP2010267186A (ja) * 2009-05-18 2010-11-25 Nec System Technologies Ltd 大容量記憶装置、リアサイン方法、プログラム及びディスクアレイ装置
JP2014134884A (ja) * 2013-01-08 2014-07-24 Nec Corp ディスクアレイ装置、バッドセクタ修復方法および修復プログラム

Similar Documents

Publication Publication Date Title
US10761766B2 (en) Memory management system and method
US7281089B2 (en) System and method for reorganizing data in a raid storage system
US7234074B2 (en) Multiple disk data storage system for reducing power consumption
US7861035B2 (en) Method of improving input and output performance of raid system using matrix stripe cache
US7464322B2 (en) System and method for detecting write errors in a storage device
US7188212B2 (en) Method and system for storing data in an array of storage devices with additional and autonomic protection
US20050229033A1 (en) Disk array controller and information processing apparatus
JP5999603B2 (ja) 情報処理装置、情報処理方法及び情報記憶媒体
US6397348B1 (en) Redundant array of disk drives with asymmetric mirroring and asymmetric mirroring data processing method
US8341349B2 (en) System and method for loose coupling between raid volumes and drive groups
JP2005063441A (ja) 4kブロックサイズを用いてハードディスクドライブへの書き込みを行うハードディスクドライブコントローラおよびそれを用いたハードディスクドライブ
GB2414592A (en) Decreasing failed disk reconstruction time in a RAID data storage system
US9319067B2 (en) Storage control apparatus, storage system, and storage control method
JPH1124848A (ja) ディスクアレイの障害領域交代処理方法およびディスクアレイ装置
WO2013038618A1 (ja) 情報記憶媒体ライブラリアレイ装置、情報記録方法及び情報記録プログラム
JP3669103B2 (ja) 記憶装置および記憶装置サブシステム
JP2009223355A (ja) ハードディスクとシリコンディスクのミラーリングを行うディスク制御システム
GB2402803A (en) Arrangement and method for detection of write errors in a storage system
JP3613722B2 (ja) ディスクアレイ装置
JP3615274B2 (ja) ファイル制御装置
JP2005107676A (ja) アレイコントローラ及びディスクアレイ再構築方法
JP2014032566A (ja) 制御装置,ストレージ装置,制御方法,及び制御プログラム
JP7288191B2 (ja) ストレージ制御装置およびストレージ制御プログラム
JP2023133864A (ja) ストレージ装置およびリビルド制御方法
JP3597550B2 (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040316