JP3133004B2 - ディスクアレイ装置およびその制御方法 - Google Patents

ディスクアレイ装置およびその制御方法

Info

Publication number
JP3133004B2
JP3133004B2 JP08310520A JP31052096A JP3133004B2 JP 3133004 B2 JP3133004 B2 JP 3133004B2 JP 08310520 A JP08310520 A JP 08310520A JP 31052096 A JP31052096 A JP 31052096A JP 3133004 B2 JP3133004 B2 JP 3133004B2
Authority
JP
Japan
Prior art keywords
data
redundant data
disk
disk drive
redundant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP08310520A
Other languages
English (en)
Other versions
JPH10149262A (ja
Inventor
栄寿 葛城
幹人 尾形
昭 倉野
敏彦 田宮
山本  彰
直也 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
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
Priority to JP08310520A priority Critical patent/JP3133004B2/ja
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to DE69735400T priority patent/DE69735400T2/de
Priority to EP04021632A priority patent/EP1486871B1/en
Priority to DE69738091T priority patent/DE69738091T2/de
Priority to EP97120114A priority patent/EP0844561B1/en
Priority to US08/974,535 priority patent/US6269424B1/en
Publication of JPH10149262A publication Critical patent/JPH10149262A/ja
Application granted granted Critical
Publication of JP3133004B2 publication Critical patent/JP3133004B2/ja
Priority to US09/883,179 priority patent/US6463505B2/en
Priority to US10/196,293 priority patent/US6604172B2/en
Priority to US10/601,892 priority patent/US6961816B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1054Parity-fast hardware, i.e. dedicated fast hardware for RAID systems with parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1066Parity-small-writes, i.e. improved small or partial write techniques in RAID systems

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディスクアレイ技
術およびその制御技術に関し、特に、データ書込時に発
生する冗長データ生成処理の効率化および高信頼性化等
に適用して有効な技術に関する。
【0002】
【従来の技術】デービット エイ パターソンらは、ユ
ニバーシティー・オブ・カリフォルニア レポート 第
UCB/CSD/87・391号(1987年12月
号)のなかで、複数の記憶装置(ディスクドライブ)を
用い、ホストからの入出力データを分割して記録再生
し、記憶装置の一部が一時的あるいは恒久的障害により
使用不可能になった時に、他の正常な記憶装置から障害
データを回復できるようにするために、記憶装置の一部
に冗長データを格納する方式について報告している。こ
れによれば、冗長データの生成方式には次の2方式が用
いられている。
【0003】第1の方式は、これをリードモディファイ
方式とよぶことにするが、ホストからのライトデータ
と、そのライトデータが格納される記憶装置上の更新前
のデータと、生成された冗長データが格納される記憶装
置上の更新前冗長データとを用いて冗長データを生成す
る方式である。この方式を用いた場合、ライトデータの
分割数をaとすると、記憶装置全体にとって、ライトと
リードのI/Oがそれぞれa+1回、合計2×a+2回
のI/Oが発生する。冗長データを持たない記憶装置の
場合には、アクセス回数はa回なので、冗長データを用
いることにより、a+2回のI/Oが増加することにな
る。
【0004】冗長データ生成の第2の方式は、これを全
ストライプとよぶことにするが、ホストからのライトデ
ータの分割と、それを格納しないECCグループ内の記
憶装置であって、冗長データ格納用以外の記憶装置から
リードされたデータとを用いて冗長データを生成する方
式である。この方式を用いた場合、ライトデータの分割
をa,ECCグループを構成する冗長データ格納用以外
の記憶装置の数をbとすると、記憶装置に対するI/O
数は、リードがb−a回,ライトが、冗長データのライ
ト含めてa+1回、合計b+1回となる。冗長データを
持たない記憶装置の場合には、アクセス回数はa回なの
で、冗長データを用いることにより、b+1−a回のI
/Oが増加することになる。
【0005】また、以上の方式とは別に、記憶装置内で
冗長データを生成する方式として、特開平7−4432
6号公報には、リード用とライト用の2本のヘッドを持
つ記憶装置内で、冗長データを生成する方式が開示され
ている。すなわち、リードヘッドおよびライトヘッドを
共通のアクチュエータに固定し、リードヘッドによって
更新前のパリティデータを読み出し、この更新前のパリ
ティデータから生成される更新後のパリティデータを、
ディスクが1回転しない間にライトヘッドを介して同じ
領域に書き出すものである。
【0006】
【発明が解決しようとする課題】上記の2つの冗長デー
タ生成方式は、すなわちリードモディファイ方式、全ス
トライプ方式は、ともに冗長データを用いることによ
り、データ書込時のI/O数が増加する。このことは、
冗長度を持たないディスク制御装置に比べ、それを持つ
ディスク制御装置の方が性能が劣化するということであ
る。それゆえ、従来の冗長度を有するディスク制御装置
においても、データ書込時の記憶装置へのI/O数を削
減するために、上記2つの冗長データ生成方式のうちか
ら、記憶装置に対するI/O数が少なくなる方を選択
し、記憶装置の負荷を軽減させ、処理速度を向上させる
方式を採っている。具体的には、上記の2方式の、記憶
装置に対するI/O回数の増加分は、a≧(b−1)/
2の時は全ストライプ方式の方がI/O数が少なくな
り、a<(b−1)/2の場合にはリードモディファイ
方式の方がI/O数が少なくなるということを利用し
て、ホストからのライトデータのデータ長が短くa<
(b−1)/2の場合、例えばトランザクション処理の
ような場合、上記の冗長データ生成方式を用いたディス
ク制御装置は、リードモディファイ方式によりパリティ
生成を行う。記憶装置に対するI/O回数は、a=1の
時に最小値4となり、記憶装置に対する負荷を最も減ら
すことができる。しかし、言い換えれば、トランザクシ
ョン処理のような場合において、性能上の限界点はa=
1の時だということであり、この時の処理方式を見直さ
ない限りこれ以上の性能向上は望めない。リードモディ
ファイライト方式の問題の根本は、冗長データを格納す
る記憶装置に対して2回のI/Oが発行され、各I/O
毎にヘッドの移動,回転待ちといった機械的なオバーヘ
ッドがかかることである。電気的に動作するディスク制
御装置にとって、機械的なオーバーヘッドは大きなネッ
クとなる。
【0007】前述の特開平7−44326号公報に開示
されている方式によれば、リード用とライト用の2本の
ヘッドを持つ記憶装置内で冗長データの生成を行って、
ドライブの回転待ちの回数を削減することができる。こ
の方式を、一般の記憶装置であって、ヘッドが1つのみ
の場合に拡張すると、これをドライブ生成方式とよぶこ
とにするが、次のようになる。この方式は、更新データ
と記憶装置からリードした更新前データを冗長データ格
納用の記憶装置に転送し、冗長データ格納用記憶装置
は、更新前冗長データをリードして、既に転送されてい
る更新データと更新前データと更新前冗長データとによ
り冗長データを生成するものである。この際、ヘッドの
移動,回転待ちをし、更新前冗長データをリードし、次
に書き込み位置に位置付いた時に、ライトを開始すれ
ば、その間の回転待ちは発生せず、ヘッドの移動,回転
待ちは各々1回ですみ、ホストからのデータ長が短い場
合の制御装置の処理速度を向上させることができる。
【0008】ところがドライブ生成方式を用いた場合ホ
ストからのアクセスパターン、記憶装置の負荷等によっ
ては必ずしも、その効果を期待できない。
【0009】すなわち、ドライブ生成方式は、生成する
冗長データの長さがディスクの1回転分より長い場合、
つまりホストからのライトデータがディスクの1回転分
より長い場合、更新前冗長データのリードと、更新冗長
データのライトの間に回転待ちを行わなくてはならない
が、回転待ちを行った場合、冗長データ格納ドライブの
占有時間を増加させてしまうため、冗長データ格納ドラ
イブのレスポンスタイムを増加させ、この結果、ディス
クアレイ装置のレスポンスタイムを低下させてしまうと
いう技術的課題がある。
【0010】また、ドライブ生成方式は、ホストからの
ライトデータの分割数が多くなると、更新前データのリ
ード必要数が増加して、記憶装置の負荷が増加して、こ
の結果、ディスクアレイ装置のスループットが低下する
という技術的課題がある。
【0011】また、ドライブ生成方式を用いた場合、リ
ードモディファイ方式を用いた場合に比べ、1回あたり
の冗長データ格納ドライブの占有時間が増加し、このこ
とにより高多重,高負荷環境下では冗長データ格納ドラ
イブの負荷が増加し、冗長データ格納ドライブが使用中
となる確率を高め、スループットを低下させる懸念があ
る。
【0012】また、ホストからディスク制御装置に対
し、明示的な連続データの指定とともにライトデータが
転送された時に、転送されたライトデータを元に直ちに
ドライブ生成方式により冗長データを生成してしまう
と、その後に続きのライトデータがホストから転送され
る際に、最初のライトデータと合わせて、全ストライプ
方式で冗長データの生成をする機会が失われてしまう可
能性が有り、このことにより冗長データの生成効率を低
下させ、ディスクアレイ装置のスループットを劣化させ
てしまうという技術的課題がある。
【0013】また、ドライブ生成方式にて冗長データの
生成を行おうとした時に、何等かの障害、例えば更新前
冗長データのリード時の障害により冗長データの生成に
失敗した時、直ちにこのECCグループの冗長度が失わ
れてしまうという技術的課題がある。
【0014】本発明の目的は、上位装置からのライトデ
ータのデータ長が、ディスク媒体の1回転分より長い場
合に発生する回転待ちを回避して、ディスクアレイを構
成するディスクドライブにて冗長データを生成させる場
合のディスクアレイ装置のレスポンスタイムを向上させ
ることにある。
【0015】また、本発明の他の目的は、上位装置から
受領したライトデータの分割数により、更新前データの
リード必要数が最小となる最適な冗長データ生成方式を
選択することで、ディスクアレイ装置のスループットを
向上させることにある。
【0016】また、本発明の他の目的は、ディスクアレ
イを構成するディスクドライブにて冗長データを生成さ
せる場合の当該ディスクドライブの1回あたりの占有時
間を減少させ、ディスクアレイ装置のレスポンスタイム
を向上させることにある。
【0017】また、本発明の他の目的は、上位装置から
要求されるアクセスパターンに応じて、ライトデータの
処理に伴う冗長データの生成効率を高め、ディスクアレ
イ装置のスループットを向上させることにある。
【0018】また、本発明の他の目的は、ディスクアレ
イを構成するディスクドライブにて冗長データを生成さ
せる場合における冗長データ生成処理の信頼性を高める
ことにある。
【0019】
【課題を解決するための手段】本発明は、ディスクアレ
イを構成する複数のディスクドライブと、これらを制御
するディスク制御装置とを含むディスクアレイ装置にお
いて、互いに異なる方法で冗長データを生成する複数の
冗長データ生成手段と、稼働状況に応じて、複数の冗長
データ生成手段の少なくとも一つを選択して実行する選
択制御論理とを備えるようにしたものである。
【0020】また、ディスクアレイを構成する複数のデ
ィスクドライブと、これらを制御するディスク制御装置
とを含むディスクアレイ装置において、稼働状況に応じ
て、冗長データの生成を、ディスク制御装置上で行う
か、またはディスクドライブ内で行うかを動的に切り替
えるようにしたものである。
【0021】より具体的には、一例として、本発明のデ
ィスクアレイ装置は、以下の各手段を備える構成を採
る。
【0022】すなわち、ディスクアレイを構成する複数
のディスクドライブを用い、ディスクドライブの一部が
一時的あるいは恒久的障害により使用不可能になった時
に、他の正常なディスクドライブから障害データを回復
できるようにするために、ディスクドライブの部分集合
に論理グループを設定し、論理グループの一部に冗長デ
ータを格納するようにしたディスクアレイ装置におい
て、個々のディスクドライブには、冗長データを生成す
る手段を備える。
【0023】また、ディスク制御装置は、上位装置から
の入出力データを所定長に分割する手段と、配下のディ
スクドライブに対して、分割したデータを記録再生する
手段と、分割データを用いて冗長データを生成する手段
と、冗長データ格納用のディスクドライブに対して分割
データを転送し、冗長データの生成要求を発行する手段
と、ライトデータと、当該ライトデータに対応したディ
スクドライブ上の更新前のデータとの差分データを生成
する手段と、その差分データを冗長データ格納用のディ
スクドライブに転送し、当該ディスクドライブにて、差
分データと当該ディスクドライブ上の更新前の冗長デー
タとにより冗長データを生成させる手段と、上位装置か
ら受領したライトデータのデータ長の判定、冗長データ
格納用のドライブの負荷の検出、上位装置からの明示的
な連続データ転送指定の有無の判定、冗長データ格納用
のディスクドライブ内における冗長データ生成の失敗の
有無の認識、等により、適切な冗長データ生成方式を選
択する手段とを有するものである。
【0024】このような本発明のディスクアレイ装置お
よびその制御方法は、一例として以下のように作用す
る。
【0025】上位装置からのライトデータのデータ長を
判定して、データ長がディスクの1回転分より短い場合
は、ディスクドライブ上にて冗長データを生成すること
によって、冗長データ格納用のディスクドライブ内で発
生する回転待ちの時間を抑え、ディスクアレイ装置のス
ループットを向上できる。
【0026】上位装置からのライトデータのデータ長を
判定して、データ長がディスクの1回転分より長い場合
は、ライトデータの分割と、その分割データが格納され
るディスクドライブ上の更新前のデータとの差分データ
を冗長データ格納用のディスクドライブに転送し、冗長
データ格納用のディスクドライブにて、差分データと更
新前の冗長データとにより冗長データを生成させること
によって、冗長データ格納用のディスクドライブ内で発
生する回転待ちの時間を抑え、ディスクアレイ装置のス
ループットを向上できる。
【0027】冗長データ格納用のディスクドライブの負
荷を判定し、既定値以上の場合はドライブ生成方式を動
作させず別のディスク制御装置上で冗長データを作成
し、冗長データ生成に伴う負荷を他に分散させることに
よって、高多重,高負荷環境下においても、冗長データ
格納用のディスクドライブの負荷の増加を抑えることに
より冗長データ格納用のディスクドライブが使用中とな
る確率を抑え、ディスクアレイ装置のスループットを向
上できる。
【0028】上位装置からディスク制御装置に対する明
示的な連続データ転送の指定の有無を判定し、明示的な
連続データ転送の指定有の時は、直ちに冗長データを生
成することは行わずに、しばらく待ってライトデータが
充分の長さになってから一括して冗長データを生成する
ことにより、冗長データの生成効率を向上させ、ディス
クアレイ装置のスループットを向上できる。
【0029】ドライブ生成方式による冗長データの生成
に失敗した際に、他の冗長データ生成方式で冗長データ
を作成することにより、障害回復の機会を増やし、ディ
スクアレイ装置の信頼性を向上できる。
【0030】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら詳細に説明する。
【0031】図1は、本発明の一実施の形態であるディ
スクアレイ装置を含む情報処理システムの構成の一例を
示す概念図である。本実施の形態の情報処理装置は、中
央処理装置10(以下、ホスト10と記す)と、これに
接続されるディスクアレイ装置からなる。ディスクアレ
イ装置は、ディスク制御装置20と、記憶装置として独
立動作可能な7台の磁気ディスク装置等からなるディス
クドライブ300(300a〜300g)で構成されて
おり、7台のディスクドライブ300でECCグループ
(障害時のデータ回復の単位)を構成する。ホスト10
とディスク制御装置20とはチャネルパス60を介して
結合され、ディスク制御装置20とディスクドライブ3
00はそれぞれ独立動作可能なドライブパス70で接続
されている。
【0032】ディスク制御装置20の内部は、ホストI
/F40と、データ分割/再生器80と、マイクロプロ
セッサ30と、キャッシュメモリ110と、キャッシュ
ディレクトリ120と、冗長データ生成器130と、差
分データ生成器140と、ドライブコントローラ50で
構成されている。ホストI/F40およびデータ分割/
再生器80は、チャネルパス60、キャッシュメモリ1
10およびマイクロプロセッサ30に対して信号線によ
って結合されている。マイクロプロセッサ30は、キャ
ッシュメモリ110、キャッシュディレクトリ120、
冗長データ生成器130、差分データ生成器140、ド
ライブコントローラ50、に対して信号線により結合さ
れており、これらのキャッシュメモリ110〜ドライブ
コントローラ50の各々はマイクロプロセッサ30内の
マイクロプログラムで実現される、キャッシュメモリ参
照機能31、キャッシュディレクトリ参照機能32、ド
ライブ状態参照機能33、冗長データ生成器制御機能3
4、差分データ生成器制御機能35、ドライブコントロ
ーラ制御機能36により制御される。
【0033】またマイクロプロセッサ30は、当該マイ
クロプロセッサ30内のマイクロプログラムにより、冗
長データ生成方式を決定する手段として冗長データ生成
方式選択機能37、ホスト10からの順次アクセスの指
定の有無をチェックする手段として順次アクセスモード
判定機能38、ホスト10からのライトデータから実際
のディスクドライブ300上の書き込み位置を算出する
マッピング演算機能39を有する。
【0034】キャッシュメモリ110と、キャッシュデ
ィレクトリ120と、冗長データ生成器130と、差分
データ生成器140とは信号線により結合されている。
キャッシュメモリ110はドライブコントローラ50と
信号線により結合されており相互にデータ転送可能とな
っている。またキャッシュメモリ110は、ホスト10
からのライトデータを格納するライト面111と、ディ
スクドライブ300からリードしたデータを格納するリ
ード面112に分割されており、リード面112,ライ
ト面111の各々は、それぞれ、セクタ長に分割した単
位であるスロット113〜118を含んでいる。
【0035】図10は、本実施の形態におけるキャッシ
ュディレクトリ120の構成の一例を示す概念図であ
る。本実施の形態の場合、キャッシュディレクトリ12
0には、キャッシュメモリ110のデータを管理するた
めのキャッシュ管理情報121の他に、上位の中央処理
装置10から受領したデータ長が格納されるデータ長情
報122、中央処理装置10からのランダムアクセスや
シーケンシャルアクセス等のアクセスパターンが指定さ
れた場合に、当該アクセスパターンを記憶するためのア
クセスパターン情報123、アクセスパターンがシーケ
ンシャルアクセスの場合に、一連の当該シーケンシャル
アクセスが完了するまで、冗長データ生成を含むデータ
書込処理を保留するためのペンディングフラグが格納さ
れるペンディングフラグ情報124、等が設定可能にな
っている。
【0036】図2は、本実施の形態に使用するディスク
ドライブの内部構成の一例を示す概念図である。本実施
の形態のディスクドライブ300は、ドライブパス70
を介した外部との間における情報の授受を制御するディ
スクI/F310、外部から受領したデータや、内部の
ディスク媒体350から読出したデータを一旦保持する
ドライブバッファ330、ディスク媒体350に対する
図示しないヘッドの位置決め動作等を制御するディスク
制御機構340、これらの全体を制御するマイクロプロ
セッサ320等を備えている。ディスクI/F310
と、ドライブバッファ330と、ディスク制御機構34
0はそれぞれ、マイクロプロセッサ320と信号線によ
って結合されており、それぞれマイクロプロセッサ32
0により制御される。
【0037】本実施の形態の場合、各ディスクドライブ
300のマイクロプロセッサ320は、後述の図7や図
9に例示されるように、外部から受領したデータと、自
装置内のディスク媒体350に格納されている更新前の
冗長データから、新たな冗長データを生成して自装置内
のディスク媒体350に格納する動作を行う機能を備え
ている。なお、この機能は、マイクロプロセッサ320
の介入にて行ってもよいし、マイクロプロセッサ320
以外の専用のハードウェアを備えて行うようにしてもよ
い。
【0038】図3は、ホスト10との間で授受されるデ
ータ(I/O)のディスクドライブ300内のディスク
媒体350に対するマッピングの一例を示す概念図であ
る。本実施の形態では、各ディスクドライブ300のデ
ィスク媒体350のデータ記録領域は、論理的に複数の
単位領域に分割され、複数のディスクドライブ300に
おける各単位領域を連ねたものが、少なくとも一つの冗
長データを含むデータグループを構成する。
【0039】すなわち、まず、第1列目の一番右側のデ
ィスクドライブ300(300g)単位領域に冗長デー
タP000(パリティ)を配置し、第2列以降はその前
の列のパリティの格納位置より1つ左側になるようにし
て、1つ前の列の冗長データ格納位置が一番左のディス
クドライブ300(300a)の場合は一番右側のディ
スクドライブ300(300g)になるように冗長デー
タP001〜を配置する。ホスト10からのライトデー
タの分割D000〜D029は、冗長データのすぐ右側
のディスクドライブ300から、但し冗長データが最も
右にある時には、一番左側のディスクドライブ300か
ら順にマッピングする。各列の冗長データは、後に述べ
る冗長データ生成方式により、各列のデータ、例えばD
000からD005の各々の排他的論理和と等しくなる
ように生成され、格納されており、各列のデータの1つ
に障害が発生した場合には、その列内の残りのデータと
冗長データの排他的論理和にて障害データを回復でき
る。
【0040】なお、エラー回復のための冗長データとし
ては、複数の分割データ群から生成される排他的論理和
に限らず、たとえば、ハミングコード等、任意のものを
用いることができる。
【0041】図4は、本実施の形態におけるディスクア
レイ装置の構成を、さらに詳細に例示した概念図であ
る。図1のチャネルパス60は、260−1〜260−
8に、図1のホストI/F40およびデータ分割/再生
器80はホストアダプタ231−1,231−2に、図
1のマイクロプロセッサ30,ドライブコントローラ5
0,冗長データ生成器130,差分データ生成器140
は、ディスクアダプタ233−1〜233−4に、図1
のキャッシュメモリ110は、キャッシュメモリ232
−1〜232−2に、図1のキャッシュディレクトリ1
20は、共有メモリ234−1〜234−2に、図1の
ドライブパス70は、270−1〜270−16に、そ
れぞれ対応している。
【0042】複数のホストアダプタ231−1〜231
−2およびキャッシュメモリ232−1〜232−2お
よびディスクアダプタ233−1〜233−4および共
有メモリ234−1〜234−2は、二重化されたデー
タ転送バス237−1〜237−2を介して相互に接続
されている。
【0043】ディスク制御装置20の配下には、ディス
クドライブボックス241−1〜241−2の各々の内
部に、ディスクドライブ242−1〜242−32およ
びディスクドライブ242−33〜242−64を収容
した構成の記憶装置部240が接続されている。
【0044】また、ホストアダプタ231−1〜231
−2およびディスクアダプタ233−1〜233−4お
よび共有メモリ234−1〜234−2は、制御部内通
信バス236を介してサービスプロセッサ235に接続
され、このサービスプロセッサ235は、保守端末25
0を介して外部から操作される。
【0045】図1ではECCグループ(ディスクドライ
ブ群)は1つであったが、図4においては、合計8つの
ECCグループ(ディスクドライブ群)を有する。ディ
スクドライブ242−1〜242−7,242−9〜2
42−15,242−17〜241−23,242−2
5〜242−31,がそれぞれECCグループである。
なお、ディスクドライブ242−8,242−16,2
42−24,242−32は予備のディスクドライブで
ある。ディスクドライブ242−33〜242−64に
ついても同様である。
【0046】今、このような構成を持つディスク制御装
置20に対し、ホスト10からライトデータが発行され
た場合のマイクロプロセッサの動作を図5に示すフロー
を使って説明する。ホスト10からのライトデータが、
チャネルパス60を介してディスク制御装置20に転送
され、データ分割/再生器80によりセクタ長に分割さ
れ、ホストI/F40により各分割がキャッシュメモリ
のライト面111内のスロットに格納された際、マイク
ロプロセッサ30は、図5のステップ1000におい
て、ホストI/F40によりキャッシュメモリ110に
転送したデータ長をカウントして、その値をキャッシュ
ディレクトリに120のデータ長情報122に格納す
る。次にステップ1010に進み、ホスト10から順次
アクセス指定があるかどうかを、順次アクセスモード判
定機能38により判定し、順次アクセス指定の有無をキ
ャッシュディレクトリ120のホストアクセスパターン
情報123に格納する。
【0047】順次アクセスの指定がある場合は、ステッ
プ1150に進み、直ちに冗長データを生成することは
行わず、ホスト10に対してライト処理の終了報告を行
い、当該ライトデータがディスクドライブ300に未反
映であることを示すため、キャッシュディレクトリ12
0上のペンディングフラグ情報124にペンディングフ
ラグを立て、規定時間ウエイトする。これは、順次アク
セス指定がある場合、ホスト10から引き続きライトデ
ータが発行される可能性が高く、複数のライトデータを
用いて、全ストライプ方式で冗長データを生成できる可
能性が高いためである。このため、引き続くデータ転送
により、当該ストライプ(異なるディスクドライブの同
一の位置にライトされるスロットの集合)が全てライト
データがになるまで、ウエイトすればよく、適切なウエ
イト時間は、(ストライプのデータ長 − 既に転送さ
れているデータ長)/ホストからのデータ転送速度、で
与えられる。既定時間のウエイト後は、ステップ102
0に進む。
【0048】前記ステップ1010にてホスト10から
の順次アクセスの指定がない場合には、直ちにステップ
1020を実行する。マイクロプロセッサ30は、マッ
ピング演算機能39により、各スロットのライトデータ
が格納されるディスクドライブ300と、ディスク媒体
350上の位置を計算し、当該ライトデータがディスク
ドライブ300上の何処の列にライトされるかを求め
る。次に、冗長データ生成方式選択機能37により、リ
ードモディファイ方式で冗長データを生成するために必
要となる、更新前データのリード処理の数を計算する。
これはライトデータのスロット数+1で求められる。次
に、冗長データ生成方式選択機能37は、全ストライプ
方式で冗長データを生成するために必要となる、リード
処理の数を計算する。これは、データ格納用のディスク
ドライブ300の数から、ライト対象のデータ格納用の
ディスクドライブ300の数を引いた値である。冗長デ
ータ生成方式選択機能37は、以上のようにして求め
た、全ストライプ方式時のリード必要数と、リードモデ
ィファイ方式時のリード必要数を比較して、条件式 (全ストライプ方式時のリード必要数)≦(リードモディファイ方式時のリー ド必要数) ・・・・・・ (式1) が成立するときには、全ストライプ方式を選択しステッ
プ1160に進む。
【0049】全ストライプ方式(第2の冗長データ生成
手段)は、図6に示すデータの流れとなる。まず、リー
ド処理が必要なディスクドライブ300、すなわちライ
ト対象でないデータ格納用のディスクドライブ300
(300d〜300f)を制御するドライブコントロー
ラ50に対しリード要求を発行し、ディスクドライブ3
00(300d〜300f)上のデータをキャッシュメ
モリ110のリード面112にリードさせる(図6
)。次にライト面111に格納されているライトデー
タとリード面112に読み上げられたデータを冗長デー
タ生成器130に転送する(図6)。冗長データ生成
器130では、冗長データを生成し、それをキャッシュ
メモリ110のリード面112に格納する(図6)。
次にドライブコントローラ制御機能36が、ドライブコ
ントローラ50を使用し、キャッシュメモリ110のリ
ード面112上の冗長データを冗長データ格納用のディ
スクドライブ300(300g)に対して転送し、冗長
データのディスクドライブ300への反映は完了する
(図6)。
【0050】また(式1)が成立しないときには、ステ
ップ1030に進む。図7または図8ののように、ラ
イトデータを格納するディスクドライブ300(300
a〜300b)に対し、ライトデータに対する更新前の
データのリード要求を発行して、それをキャッシュメモ
リ110のリード面112に転送させる。次にステップ
1040に進み、ドライブ状態参照機能33により、冗
長データ格納用のディスクドライブ300(300g)
が、使用中かどうかチェックする。もし使用中の場合
は、ステップ1170に進む。
【0051】冗長データ格納用のディスクドライブ30
0(300g)が使用中でない場合、ステップ1090
に進む。冗長データ生成方式選択機能37により、冗長
データが格納されるディスク媒体350上の位置から、
ディスク媒体350上のシリンダ番号(#)を求め、そ
のシリンダ#(トラック)における一周当りのデータ長
を算出する。ディスク媒体350の内外周でシリンダ当
たりの情報記録容量が異なる、コンスタントデンシティ
レコーディングの場合、一周当りのデータ長はシリンダ
#の関数であるので容易に求められる。なお、ディスク
媒体350の内外周でシリンダ当たりの情報記録容量が
一様な場合には、この計算は不要で、ディスクドライブ
300の装置仕様から、直ちに任意のシリンダにおける
一周当りのデータ長が得られる。
【0052】次にマイクロプロセッサ30は、この一周
当りのデータ長と、キャッシュディレクトリ120に格
納したライトデータのデータ長を比較し、回転待ちが発
生するか否かを判断する。ここで、実際にはマイクロプ
ログラム内で冗長データの演算のためのオーバーヘッド
が発生し、これがディスク媒体350の一回転の時間の
n分の1とすると、この時間も含めて1回転に収まらな
くてはならないので、比較の条件は、 ライトデータ長<(ディスク媒体の一周当りのデータ
長)×(1−1/n)・・・・・・・ (式2) となり、この条件が満たされる時は、冗長データ生成方
式選択機能37はドライブ生成方式(第3の冗長データ
生成手段)で冗長データを生成する方式を選択し、ステ
ップ1100に進む。なお、図5のステップ1090で
は、上述のマイクロプログラム内での冗長データの演算
のためのオーバーヘッド(1/n)として、1/4を仮
定した場合を示している。
【0053】このときの動作は図7のようになる。ライ
ト面111上のライト対象データと、リード面112の
更新前のデータとを冗長データ格納用のディスクドライ
ブ300(300g)に転送する(図7)。ディスク
制御装置20より転送されたライトデータ,更新前デー
タはディスクI/F310を通じて、ドライブバッファ
330に転送される。またそれと同期して、ディスクド
ライブ300内のマイクロプロセッサ320は、ディス
ク制御機構340を介して、更新前の冗長データが格納
されている位置に対するヘッドの位置付け動作を行わせ
る。位置付け動作が終了したら、更新前の冗長データを
ドライブバッファ330にリードし(図7)、リード
される更新前の冗長データと、既にバッファに格納され
ているライトデータと、更新前データとの排他的論理和
をマイクロプロセッサ320により算出することで、新
たな冗長データを生成して、それをドライブバッファ3
30に格納する(図7)。次に、ディスク媒体350
が1回転し位置付け位置に来た時に、ドライブバッファ
330上の冗長データをライトする(図7)。ディス
クドライブ300はディスク制御装置20に対して、冗
長データの生成とライトの成功または失敗を報告する。
冗長データのライトに成功した時には、ディスクドライ
ブ300はディスク制御装置20に対して、次にステッ
プ1110に進み、マイクロプロセッサ30はドライブ
コントローラ50経由で冗長データの更新の成功または
失敗を検出して、冗長データ更新が成功した時は、ステ
ップ1120に進む。
【0054】冗長データ更新が失敗した時には、ステッ
プ1170に進む。ステップ1170では、冗長データ
の更新が失敗した場合または、冗長データが使用中の場
合のリトライ処理のために、冗長データ生成方式選択機
能37はリードモディファイ方式を選択する。
【0055】リードモディファイ方式(第1の冗長デー
タ生成手段)の処理は次の図8の様になる。すなわち、
更新前データは既に、キャッシュメモリ110のリード
面112にリードされているので、冗長データ格納用の
ディスクドライブ300(300g)上の更新前冗長デ
ータのみをキャッシュメモリ110のリード面112に
リードする(図8)。次にキャッシュメモリ110上
の、ライトデータと、更新前データと、更新前冗長デー
タを冗長データ生成器130に転送し(図8)、冗長
データを生成させ、生成した冗長データをキャッシュメ
モリ110のライト面111に格納する(図8)。次
に生成された冗長データを冗長データ格納用のディスク
ドライブ300(300g)にライトして(図8)、
冗長データの更新が完了する。
【0056】次に、条件式(1),(2)ともに成立し
ないときは、ステップ1140に進む。この時、冗長デ
ータ生成方式選択機能37は、冗長データ生成方式とし
て差分方式(第4の冗長データ生成手段)を選択する。
このときの処理の流れは、図9に示すように、差分デー
タ生成器制御機能35が、ライト面111上のライト対
象データと、リード面112の更新前のデータとを、差
分データ生成器140に転送し(図9)、差分データ
を生成させ、それを、キャッシュメモリ110のリード
面112(図9)に格納する。
【0057】なお、ここでいう差分データとは、冗長デ
ータとして、たとえば排他的論理和を用いる場合には、
たとえば図9のライト面111上のデータA、およびデ
ータBと、これらに対応したリード面112上の旧デー
タa、旧データbの4つのデータの排他的論理和として
得られる一つのデータである。
【0058】次に、ドライブコントローラ制御機能36
が、ドライブコントローラ50を用いて、キャッシュメ
モリ110のリード面112上の差分データを冗長デー
タ格納用のディスクドライブ300(300g)に転送
する(図9)。ディスク制御装置20より転送された
差分データはディスクI/F310を通じて、ドライブ
バッファ330に転送される。またそれと同期して、デ
ィスクドライブ300内のマイクロプロセッサ320
は、ディスク制御機構340を介して、更新前の冗長デ
ータが格納されている位置に対するヘッドの位置付け動
作を行わせる。位置付け動作が終了したら、更新前の冗
長データをリードし(図9)、リードされる更新前の
冗長データと、既にドライブバッファ330に格納され
ている差分データとの排他的論理和をマイクロプロセッ
サ320により算出し、冗長データを生成して(図9
)、それをドライブバッファ330に格納する。次
に、ディスク媒体350が1回転し位置付け位置に来た
時に、ドライブバッファ330上の冗長データをライト
する。冗長データのライトに成功した時には、ディスク
ドライブはディスク制御装置20に対して、正常終了を
報告する。
【0059】一方、ディスク制御装置20内のマイクロ
プロセッサ30はドライブコントローラ経由で冗長デー
タの生成が成功したことを認識する。次にステップ11
20に進み、ライトデータをディスクドライブ300に
ライトし、その後、ステップ1130に進んで一連のラ
イト動作が終了する。
【0060】このように、本実施の形態のディスクアレ
イ装置およびその制御方法によれば、ホスト10から受
領したライトデータの長さや、連続アクセス等のアクセ
スパターン、さらにはディスクドライブ300における
使用中の有無(すなわち負荷の大小)および冗長データ
生成おび格納処理での障害発生の有無に応じて、ディス
ク制御装置20上にて冗長データの生成を行う全ストラ
イプ方式、リードモディファイ方式、およびディスクド
ライブ300上にて冗長データの生成を行うドライブ生
成方式、差分方式等の複数の冗長データ生成方式の中か
ら、最適な冗長データ生成方式を選択して冗長データの
生成を行うので、ライトデータの処理における冗長デー
タ生成に伴うオーバーヘッドを削減し、データ書込処理
におけるディスクアレイ装置のレスポンスタイム、スル
ープットを向上させることができるとともに、冗長デー
タ生成の高信頼性化を実現できる。
【0061】以上本発明者によってなされた発明を実施
の形態に基づき具体的に説明したが、本発明は前記実施
の形態に限定されるものではなく、その要旨を逸脱しな
い範囲で種々変更可能であることはいうまでもない。
【0062】たとえば、ディスクドライブとしては、磁
気ディスクを媒体とする磁気ディスク装置に限らず、光
ディスク装置、光磁気ディスク装置等、一般の回転型記
憶媒体を有するディスクドライブを記憶装置として備え
たディスクアレイ装置に広く適用することができる。
【0063】
【発明の効果】本発明のディスクアレイ装置によれば、
上位装置からのライトデータのデータ長が、ディスク媒
体の1回転分より長い場合に発生する回転待ちを回避し
て、ディスクアレイを構成するディスクドライブにて冗
長データを生成させる場合のレスポンスタイムを向上さ
せることができる、という効果が得られる。
【0064】また、本発明のディスクアレイ装置によれ
ば、上位装置から受領したライトデータの分割数によ
り、更新前データのリード必要数が最小となる最適な冗
長データ生成方式を選択することで、ディスクアレイ装
置のスループットを向上させることができる、という効
果が得られる。
【0065】また、本発明のディスクアレイ装置によれ
ば、ディスクアレイを構成するディスクドライブにて冗
長データを生成させる場合の当該ディスクドライブの1
回あたりの占有時間を減少させ、ディスクアレイ装置の
レスポンスタイムを向上させることができる、という効
果が得られる。
【0066】また、本発明のディスクアレイ装置によれ
ば、上位装置から要求されるアクセスパターンに応じ
て、ライトデータの処理に伴う冗長データの生成効率を
高め、ディスクアレイ装置のスループットを向上させる
ことができる、という効果が得られる。
【0067】また、本発明のディスクアレイ装置によれ
ば、ディスクアレイを構成するディスクドライブにて冗
長データを生成させる場合における冗長データ生成の信
頼性を高めることができる、という効果が得られる。
【0068】本発明のディスクアレイ装置の制御方法に
よれば、上位装置からのライトデータのデータ長が、デ
ィスク媒体の1回転分より長い場合に発生する回転待ち
を回避して、ディスクアレイを構成するディスクドライ
ブにて冗長データを生成させる場合のレスポンスタイム
を向上させることができる、という効果が得られる。
【0069】また、本発明のディスクアレイ装置の制御
方法によれば、上位装置から受領したライトデータの分
割数により、更新前データのリード必要数が最小となる
最適な冗長データ生成方式を選択することで、ディスク
アレイ装置のスループットを向上させることができる、
という効果が得られる。
【0070】また、本発明のディスクアレイ装置の制御
方法によれば、ディスクアレイを構成するディスクドラ
イブにて冗長データを生成させる場合の当該ディスクド
ライブの1回あたりの占有時間を減少させ、ディスクア
レイ装置のレスポンスタイムを向上させることができ
る、という効果が得られる。
【0071】また、本発明のディスクアレイ装置の制御
方法によれば、上位装置から要求されるアクセスパター
ンに応じて、ライトデータの処理に伴う冗長データの生
成効率を高め、ディスクアレイ装置のスループットを向
上させることができる、という効果が得られる。
【0072】また、本発明のディスクアレイ装置の制御
方法によれば、ディスクアレイを構成するディスクドラ
イブにて冗長データを生成させる場合における冗長デー
タ生成の信頼性を高めることができる、という効果が得
られる。
【図面の簡単な説明】
【図1】本発明の一実施の形態であるディスクアレイ装
置を含む情報処理システムの構成の一例を示す概念図で
ある。
【図2】本発明の一実施の形態であるディスクアレイ装
置にて使用するディスクドライブの内部構成の一例を示
す概念図である。
【図3】本発明の一実施の形態であるディスクアレイ装
置において、上位装置との間で授受されるデータのディ
スクドライブ内におけるマッピングの一例を示す概念図
である。
【図4】本発明の一実施の形態であるディスクアレイ装
置を含む情報処理システムの構成の一例を、さらに詳細
に例示した概念図である。
【図5】本発明の一実施の形態であるディスクアレイ装
置を含む情報処理システムの作用の一例を示すフローチ
ャートである。
【図6】本発明の一実施の形態であるディスクアレイ装
置において全ストライプ方式にて冗長データを作成する
場合の作用の一例を示す概念図である。
【図7】本発明の一実施の形態であるディスクアレイ装
置においてドライブ生成方式にて冗長データを作成する
場合の作用の一例を示す概念図である。
【図8】本発明の一実施の形態であるディスクアレイ装
置においてリードモディファイ方式にて冗長データを作
成する場合の作用の一例を示す概念図である。
【図9】本発明の一実施の形態であるディスクアレイ装
置において差分方式にて冗長データを作成する場合の作
用の一例を示す概念図である。
【図10】本発明の一実施の形態であるディスクアレイ
装置のディスク制御装置におけるキャッシュディレクト
リの構成の一例を示す概念図である。
【符号の説明】 10…中央処理装置(ホスト:上位装置)、20…ディ
スク制御装置、30…マイクロプロセッサ、31…キャ
ッシュメモリ参照機能、32…キャッシュディレクトリ
参照機能、33…ドライブ状態参照機能、34…冗長デ
ータ生成器制御機能、35…差分データ生成器制御機
能、36…ドライブコントローラ制御機能、37…冗長
データ生成方式選択機能(選択制御論理)、38…順次
アクセスモード判定機能、39…マッピング演算機能、
40…ホストI/F、50…ドライブコントローラ、6
0…チャネルパス、70…ドライブパス、80…データ
分割/再生器、110…キャッシュメモリ、111…ラ
イト面、112…リード面、113〜118…スロッ
ト、120…キャッシュディレクトリ、121…キャッ
シュ管理情報、122…データ長情報、123…アクセ
スパターン情報、124…ペンディングフラグ情報、1
30…冗長データ生成器、140…差分データ生成器、
231−1〜231−2…ホストアダプタ、232−1
〜232−2…キャッシュメモリ、233−1〜233
−4…ディスクアダプタ、234−1〜234−2…共
有メモリ、235…サービスプロセッサ、236…制御
部内通信バス、237−1〜237−2…データ転送バ
ス、240…記憶装置部、241−1〜241−2…デ
ィスクドライブボックス、242−1〜242−32…
ディスクドライブ、242−33〜242−64…ディ
スクドライブ、250…保守端末、300…ディスクド
ライブ、310…ディスクI/F、320…マイクロプ
ロセッサ、330…ドライブバッファ、340…ディス
ク制御機構、350…ディスク媒体。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 倉野 昭 神奈川県小田原市国府津2880番地 株式 会社日立製作所 ストレージシステム事 業部内 (72)発明者 田宮 敏彦 神奈川県小田原市国府津2880番地 株式 会社日立製作所 ストレージシステム事 業部内 (72)発明者 山本 彰 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所 システム開発研究 所内 (72)発明者 高橋 直也 神奈川県小田原市国府津2880番地 株式 会社日立製作所 ストレージシステム事 業部内 (56)参考文献 特開 平4−259025(JP,A) 特開 平5−324206(JP,A) 特開 平6−259197(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 ディスクアレイを構成し、上位装置との
    間で授受されるデータが格納される複数のディスクドラ
    イブと、前記上位装置と前記ディスクドライブとの間に
    介在し、前記上位装置と前記ディスクドライブとの間に
    おける前記データの授受を制御するディスク制御装置と
    を含み、前記上位装置から受領したライトデータから少
    なくとも一つの冗長データを生成し、前記ライトデータ
    および前記冗長データをデータグループを構成する複数
    の前記ディスクドライブに分散して格納するディスクア
    レイ装置であって、 互いに異なる方法で前記冗長データを生成する複数の冗
    長データ生成手段と、稼働状況に応じて、複数の前記冗
    長データ生成手段の少なくとも一つを選択して実行する
    選択制御論理とを備えたことを特徴とするディスクアレ
    イ装置。
  2. 【請求項2】 請求項1記載のディスクアレイ装置にお
    いて、前記データグループを構成する複数の前記ディス
    クドライブのうち、前記冗長データが格納されるものを
    第1ディスクドライブとし、前記ライトデータに対応し
    た旧データが格納されるものを第2のディスクドライブ
    とし、それ以外の旧データが格納されているものを第3
    のディスクドライブとするとき、 複数の前記冗長データ生成手段は、 前記上位装置から受領した前記ライトデータと、前記第
    2のディスクドライブから読出される、前記ライトデー
    タに対応した前記旧データと、前記第1のディスクドラ
    イブから読出される前記旧冗長データとから、前記ディ
    スク制御装置に備えられた前記冗長データ生成器を用い
    て新冗長データを生成し、この新冗長データを前記第1
    のディスクドライブに格納する第1の冗長データ生成手
    段、 前記上位装置から受領した前記ライトデータと、前記第
    3のディスクドライブから読出される前記ライトデータ
    に対応しない前記旧データとから、前記ディスク制御装
    置に備えられた冗長データ生成器を用いて新冗長データ
    を生成し、この新冗長データを前記第1のディスクドラ
    イブに格納する第2の冗長データ生成手段、 前記上位装置から受領した前記ライトデータと、前記第
    2のディスクドライブから読出される前記ライトデータ
    に対応した前記旧データとを、旧冗長データが格納され
    ている前記第1のディスクドライブに転送し、前記第1
    のディスクドライブ内にて、前記ライトデータと、前記
    旧データと、前記旧冗長データとから新冗長データを生
    成する第3の冗長データ生成手段、 前記上位装置から受領した前記ライトデータと、前記第
    2のディスクドライブから読出される前記ライトデータ
    に対応した前記旧データとから、前記ディスク制御装置
    に設けられた差分データ生成器にて差分データを生成
    し、前記差分データを、旧冗長データが格納されている
    前記第1のディスクドライブに転送し、前記第1のディ
    スクドライブ内にて、前記差分データと、前記旧冗長デ
    ータとから新冗長データを生成する第4の冗長データ生
    成手段、 のうちの少なくとも二つを含むことを特徴とするディス
    クアレイ装置。
  3. 【請求項3】 請求項1記載のディスクアレイ装置にお
    いて、前記稼働状況は、前記上位装置から受領した前記
    ライトデータの長さ、および前記上位装置から指定され
    るアクセスモード、および前記ディスクドライブの使用
    状況の少なくとも一つからなり、前記選択制御論理は、
    可能な限り、前記冗長データの生成を含む前記ライトデ
    ータの処理時間が最短となる前記冗長データ生成手段を
    選択することを特徴とするディスクアレイ装置。
  4. 【請求項4】 ディスクアレイを構成し、上位装置との
    間で授受されるデータが格納される複数のディスクドラ
    イブと、前記上位装置と前記ディスクドライブとの間に
    介在し、前記上位装置と前記ディスクドライブとの間に
    おける前記データの授受を制御するディスク制御装置と
    を含み、前記上位装置から受領したライトデータから少
    なくとも一つの冗長データを生成し、前記ライトデータ
    および前記冗長データをデータグループを構成する複数
    の前記ディスクドライブに分散して格納するディスクア
    レイ装置の制御方法であって、 稼働状況に応じて、前記冗長データの生成を、前記ディ
    スク制御装置上で行うか、または前記ディスクドライブ
    内で行うかを動的に切り替えることを特徴とするディス
    クアレイ装置の制御方法。
  5. 【請求項5】 請求項4記載のディスクアレイ装置の制
    御方法において、前記データグループを構成する複数の
    前記ディスクドライブのうち、前記冗長データが格納さ
    れるものを第1ディスクドライブとし、前記ライトデー
    タに対応した旧データが格納されるものを第2のディス
    クドライブとし、それ以外の旧データが格納されている
    ものを第3のディスクドライブとするとき、 前記上位装置から受領した前記ライトデータと、前記第
    2のディスクドライブから読出される、前記ライトデー
    タに対応した前記旧データと、前記第1のディスクドラ
    イブから読出される前記旧冗長データとから、前記ディ
    スク制御装置に備えられた前記冗長データ生成器を用い
    て新冗長データを生成し、この新冗長データを前記第1
    のディスクドライブに格納する第1の冗長データ生成手
    段、 前記上位装置から受領した前記ライトデータと、前記第
    3のディスクドライブから読出される前記ライトデータ
    に対応しない前記旧データとから、前記ディスク制御装
    置に備えられた冗長データ生成器を用いて新冗長データ
    を生成し、この新冗長データを前記第1のディスクドラ
    イブに格納する第2の冗長データ生成手段、 前記上位装置から受領した前記ライトデータと、前記第
    2のディスクドライブから読出される前記ライトデータ
    に対応した前記旧データとを、旧冗長データが格納され
    ている前記第1のディスクドライブに転送し、前記第1
    のディスクドライブ内にて、前記ライトデータと、前記
    旧データと、前記旧冗長データとから新冗長データを生
    成する第3の冗長データ生成手段、 前記上位装置から受領した前記ライトデータと、前記第
    2のディスクドライブから読出される前記ライトデータ
    に対応した前記旧データとから、前記ディスク制御装置
    に設けられた差分データ生成器にて差分データを生成
    し、前記差分データを、旧冗長データが格納されている
    前記第1のディスクドライブに転送し、前記第1のディ
    スクドライブ内にて、前記差分データと、前記旧冗長デ
    ータとから新冗長データを生成する第4の冗長データ生
    成手段、 のうちの一つを、前記上位装置から受領した前記ライト
    データの長さ、および前記上位装置から指定されるアク
    セスモード、および前記ディスクドライブの使用状況の
    少なくとも一つからなる前記稼働状況に基づいて、前記
    冗長データの生成を含む前記ライトデータの処理時間が
    最短となるように選択することを特徴とするディスクア
    レイ装置の制御方法。
JP08310520A 1996-11-21 1996-11-21 ディスクアレイ装置およびその制御方法 Expired - Fee Related JP3133004B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP08310520A JP3133004B2 (ja) 1996-11-21 1996-11-21 ディスクアレイ装置およびその制御方法
EP04021632A EP1486871B1 (en) 1996-11-21 1997-11-17 Disk array device and method for controlling the same
DE69738091T DE69738091T2 (de) 1996-11-21 1997-11-17 Speicherplattenanordnung und Verfahren zu deren Steuerung
EP97120114A EP0844561B1 (en) 1996-11-21 1997-11-17 Disk array device
DE69735400T DE69735400T2 (de) 1996-11-21 1997-11-17 Speicherplattenanordnung
US08/974,535 US6269424B1 (en) 1996-11-21 1997-11-19 Disk array device with selectable method for generating redundant data
US09/883,179 US6463505B2 (en) 1996-11-21 2001-06-19 Disk array device with selectable method for generating redundant data
US10/196,293 US6604172B2 (en) 1996-11-21 2002-07-17 Disk array device with selectable method for generating redundant data
US10/601,892 US6961816B2 (en) 1996-11-21 2003-06-24 Disk array device with selectable method for generating redundant data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08310520A JP3133004B2 (ja) 1996-11-21 1996-11-21 ディスクアレイ装置およびその制御方法

Publications (2)

Publication Number Publication Date
JPH10149262A JPH10149262A (ja) 1998-06-02
JP3133004B2 true JP3133004B2 (ja) 2001-02-05

Family

ID=18006227

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08310520A Expired - Fee Related JP3133004B2 (ja) 1996-11-21 1996-11-21 ディスクアレイ装置およびその制御方法

Country Status (4)

Country Link
US (4) US6269424B1 (ja)
EP (2) EP0844561B1 (ja)
JP (1) JP3133004B2 (ja)
DE (2) DE69738091T2 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3409859B2 (ja) * 1991-01-31 2003-05-26 株式会社日立製作所 制御装置の制御方法
US5671377A (en) * 1994-07-19 1997-09-23 David Sarnoff Research Center, Inc. System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream
JP3133004B2 (ja) * 1996-11-21 2001-02-05 株式会社日立製作所 ディスクアレイ装置およびその制御方法
US6415355B1 (en) * 1998-05-11 2002-07-02 Kabushiki Kaisha Toshiba Combined disk array controller and cache control method for parity generation mode and data restoration mode
US7233977B2 (en) * 1998-12-18 2007-06-19 Emc Corporation Messaging mechanism employing mailboxes for inter processor communications
JP2001043031A (ja) * 1999-07-30 2001-02-16 Toshiba Corp 分散パリティ生成機能を備えたディスクアレイ制御装置
US6557123B1 (en) * 1999-08-02 2003-04-29 Inostor Corporation Data redundancy methods and apparatus
US7093182B2 (en) * 1999-08-02 2006-08-15 Inostor Corporation Data redundancy methods and apparatus
US6742137B1 (en) * 1999-08-17 2004-05-25 Adaptec, Inc. Object oriented fault tolerance
US6836818B1 (en) 1999-09-29 2004-12-28 Emc Corporation Central processing unit
US6915394B1 (en) 1999-09-29 2005-07-05 Emc Corporation Microprocessor interface
US6519739B1 (en) 1999-09-29 2003-02-11 Emc Corporation Fault detector
US6581137B1 (en) * 1999-09-29 2003-06-17 Emc Corporation Data storage system
US6735655B1 (en) 1999-09-29 2004-05-11 Emc Corporation Interrupt request controller
US6543029B1 (en) 1999-09-29 2003-04-01 Emc Corporation Error corrector
US6779129B2 (en) * 2000-12-01 2004-08-17 International Business Machines Corporation Method, article of manufacture and apparatus for copying information to a storage medium
US7200715B2 (en) * 2002-03-21 2007-04-03 Network Appliance, Inc. Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
JP2005538469A (ja) * 2002-09-10 2005-12-15 イグザグリッド システムズ, インコーポレイテッド 階層型格納管理を用いるサーバシェア移送およびサーバ回復のための方法および装置
JP2004192483A (ja) * 2002-12-13 2004-07-08 Hitachi Ltd 分散ストレージシステムの管理方法
JP4651913B2 (ja) 2003-02-17 2011-03-16 株式会社日立製作所 記憶装置システム
WO2004099988A1 (en) * 2003-05-05 2004-11-18 Trustees Of Boston University Data storage distribution and retrieval
JP2004348464A (ja) 2003-05-22 2004-12-09 Hitachi Ltd ストレージ装置、及び通信信号の整形回路
JP4060235B2 (ja) 2003-05-22 2008-03-12 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2005071196A (ja) 2003-08-27 2005-03-17 Hitachi Ltd ディスクアレイ装置、及びその障害情報の制御方法
JP4428993B2 (ja) * 2003-11-27 2010-03-10 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP4156499B2 (ja) 2003-11-28 2008-09-24 株式会社日立製作所 ディスクアレイ装置
JP4497918B2 (ja) 2003-12-25 2010-07-07 株式会社日立製作所 ストレージシステム
JP4518541B2 (ja) 2004-01-16 2010-08-04 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
JP4634049B2 (ja) 2004-02-04 2011-02-16 株式会社日立製作所 ディスクアレイ装置における異常通知制御
JP2005309818A (ja) * 2004-04-22 2005-11-04 Hitachi Ltd ストレージ装置、そのデータ読出方法、及びそのデータ読出プログラム
US7739462B2 (en) * 2005-02-23 2010-06-15 International Business Machines Corporation Policy based data shredding for storage controller
JP2006268673A (ja) 2005-03-25 2006-10-05 Hitachi Ltd 記憶制御装置及び記憶デバイスのエラー制御方法
JP4756914B2 (ja) * 2005-05-30 2011-08-24 キヤノン株式会社 遠隔協調作業支援システム及びその制御方法
US20070130232A1 (en) * 2005-11-22 2007-06-07 Therrien David G Method and apparatus for efficiently storing and managing historical versions and replicas of computer data files
JP4884885B2 (ja) 2006-08-25 2012-02-29 株式会社日立製作所 記憶制御装置及び記憶制御装置の障害回復方法
JP4521410B2 (ja) * 2007-01-12 2010-08-11 株式会社日立製作所 ディスクアレイ制御装置
CN101561781B (zh) * 2008-04-15 2011-03-30 群联电子股份有限公司 存储器数据存取的管理方法、装置及控制器
JP5744244B2 (ja) * 2011-10-19 2015-07-08 株式会社日立製作所 ストレージシステム
JP6294569B2 (ja) * 2015-06-19 2018-03-14 株式会社日立製作所 ストレージシステム及びキャッシュ制御方法
KR102532084B1 (ko) * 2018-07-17 2023-05-15 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
JP6942163B2 (ja) * 2019-08-06 2021-09-29 株式会社日立製作所 ドライブボックス、ストレージシステム及びデータ転送方法
JP7316242B2 (ja) * 2020-03-18 2023-07-27 株式会社日立製作所 ストレージシステムおよびデータ転送方法

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251303A (en) * 1989-01-13 1993-10-05 International Business Machines Corporation System for DMA block data transfer based on linked control blocks
US5191584A (en) * 1991-02-20 1993-03-02 Micropolis Corporation Mass storage array with efficient parity calculation
JP2913917B2 (ja) * 1991-08-20 1999-06-28 株式会社日立製作所 記憶装置および記憶装置システム
US5506977A (en) * 1991-12-17 1996-04-09 Dell Usa, L.P. Method and controller for minimizing reads during partial stripe write operations to a disk drive
US5398253A (en) * 1992-03-11 1995-03-14 Emc Corporation Storage unit generation of redundancy information in a redundant storage array system
US5469566A (en) * 1992-03-12 1995-11-21 Emc Corporation Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units
JP2917188B2 (ja) 1992-08-26 1999-07-12 株式会社日立製作所 アレイ型ディスクシステムにおける書き込み制御方式
US5740465A (en) * 1992-04-08 1998-04-14 Hitachi, Ltd. Array disk controller for grouping host commands into a single virtual host command
US5432907A (en) * 1992-05-12 1995-07-11 Network Resources Corporation Network hub with integrated bridge
GB2270780A (en) * 1992-09-21 1994-03-23 Ibm Scatter-gather in data processing systems.
US5388108A (en) * 1992-10-23 1995-02-07 Ncr Corporation Delayed initiation of read-modify-write parity operations in a raid level 5 disk array
US5761402A (en) * 1993-03-08 1998-06-02 Hitachi, Ltd. Array type disk system updating redundant data asynchronously with data access
JPH0744326A (ja) 1993-07-30 1995-02-14 Hitachi Ltd 記憶装置システム
DE69418984T2 (de) * 1993-11-30 2000-01-27 Hitachi Ltd Speicherplattenanordnung mit auf einer Vielzahl von Leiterplatten verteilten Speicherplatten, die bei einer Entfernung eines Teils der Leiterplatten zugänglich bleiben
JP3661205B2 (ja) * 1994-09-09 2005-06-15 株式会社日立製作所 ディスクアレイシステムおよびディスクアレイシステムのパリティデータの生成方法
US5875456A (en) * 1995-08-17 1999-02-23 Nstor Corporation Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array
US5687301A (en) 1995-09-15 1997-11-11 Hewlett-Packard Company Field correction of application specific printer driver problems
US6067635A (en) * 1995-10-27 2000-05-23 Lsi Logic Corporation Preservation of data integrity in a raid storage device
US5875352A (en) * 1995-11-03 1999-02-23 Sun Microsystems, Inc. Method and apparatus for multiple channel direct memory access control
US5742752A (en) * 1995-12-29 1998-04-21 Symbios Logic Inc. Method for performing a RAID stripe write operation using a drive XOR command set
US5659798A (en) * 1996-02-02 1997-08-19 Blumrich; Matthias Augustin Method and system for initiating and loading DMA controller registers by using user-level programs
US6167486A (en) * 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels
JP3133004B2 (ja) * 1996-11-21 2001-02-05 株式会社日立製作所 ディスクアレイ装置およびその制御方法
US6243769B1 (en) * 1997-07-18 2001-06-05 Micron Technology, Inc. Dynamic buffer allocation for a computer system
US6073190A (en) * 1997-07-18 2000-06-06 Micron Electronics, Inc. System for dynamic buffer allocation comprising control logic for controlling a first address buffer and a first data buffer as a matched pair
US6105075A (en) * 1997-08-05 2000-08-15 Adaptec, Inc. Scatter gather memory system for a hardware accelerated command interpreter engine
GB2333896B (en) * 1998-01-31 2003-04-09 Mitel Semiconductor Ab Vertical cavity surface emitting laser
US6167465A (en) * 1998-05-20 2000-12-26 Aureal Semiconductor, Inc. System for managing multiple DMA connections between a peripheral device and a memory and performing real-time operations on data carried by a selected DMA connection
US6301637B1 (en) * 1998-06-08 2001-10-09 Storage Technology Corporation High performance data paths
JP2000011640A (ja) * 1998-06-23 2000-01-14 Nec Corp 半導体記憶装置
JP3178423B2 (ja) * 1998-07-03 2001-06-18 日本電気株式会社 バーチャルチャネルsdram
JP3248617B2 (ja) * 1998-07-14 2002-01-21 日本電気株式会社 半導体記憶装置
US6587912B2 (en) * 1998-09-30 2003-07-01 Intel Corporation Method and apparatus for implementing multiple memory buses on a memory module
JP3248500B2 (ja) * 1998-11-12 2002-01-21 日本電気株式会社 半導体記憶装置およびそのデータ読み出し方法
US6434639B1 (en) * 1998-11-13 2002-08-13 Intel Corporation System for combining requests associated with one or more memory locations that are collectively associated with a single cache line to furnish a single memory operation
US6463059B1 (en) * 1998-12-04 2002-10-08 Koninklijke Philips Electronics N.V. Direct memory access execution engine with indirect addressing of circular queues in addition to direct memory addressing
US6349363B2 (en) * 1998-12-08 2002-02-19 Intel Corporation Multi-section cache with different attributes for each section
US6067262A (en) * 1998-12-11 2000-05-23 Lsi Logic Corporation Redundancy analysis for embedded memories with built-in self test and built-in self repair
US6367074B1 (en) * 1998-12-28 2002-04-02 Intel Corporation Operation of a system
US6061263A (en) * 1998-12-29 2000-05-09 Intel Corporation Small outline rambus in-line memory module
US6285349B1 (en) * 1999-02-26 2001-09-04 Intel Corporation Correcting non-uniformity in displays
US6496909B1 (en) * 1999-04-06 2002-12-17 Silicon Graphics, Inc. Method for managing concurrent access to virtual memory data structures
US6381190B1 (en) * 1999-05-13 2002-04-30 Nec Corporation Semiconductor memory device in which use of cache can be selected
US6233376B1 (en) * 1999-05-18 2001-05-15 The United States Of America As Represented By The Secretary Of The Navy Embedded fiber optic circuit boards and integrated circuits
JP2001014840A (ja) * 1999-06-24 2001-01-19 Nec Corp 複数ラインバッファ型メモリlsi
US6552564B1 (en) * 1999-08-30 2003-04-22 Micron Technology, Inc. Technique to reduce reflections and ringing on CMOS interconnections
US6594713B1 (en) * 1999-09-10 2003-07-15 Texas Instruments Incorporated Hub interface unit and application unit interfaces for expanded direct memory access processor
US6421744B1 (en) * 1999-10-25 2002-07-16 Motorola, Inc. Direct memory access controller and method therefor
JP3356747B2 (ja) * 1999-12-22 2002-12-16 エヌイーシーマイクロシステム株式会社 半導体記憶装置
JP2002014875A (ja) * 2000-06-30 2002-01-18 Mitsubishi Electric Corp 半導体集積回路、半導体集積回路のメモリリペア方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US6505490B2 (en) * 2001-02-28 2003-01-14 The Gates Corporation Method of forming a sheet metal cup without a mandrel
DE10110469A1 (de) * 2001-03-05 2002-09-26 Infineon Technologies Ag Integrierter Speicher und Verfahren zum Testen und Reparieren desselben
US7941056B2 (en) * 2001-08-30 2011-05-10 Micron Technology, Inc. Optical interconnect in high-speed memory systems

Also Published As

Publication number Publication date
US20040010661A1 (en) 2004-01-15
EP0844561B1 (en) 2006-03-08
US20010032294A1 (en) 2001-10-18
US6961816B2 (en) 2005-11-01
US6463505B2 (en) 2002-10-08
US6604172B2 (en) 2003-08-05
EP1486871A2 (en) 2004-12-15
EP1486871B1 (en) 2007-08-29
US20020184443A1 (en) 2002-12-05
EP0844561A2 (en) 1998-05-27
EP0844561A3 (en) 2004-01-28
DE69738091T2 (de) 2008-05-21
EP1486871A3 (en) 2005-01-05
JPH10149262A (ja) 1998-06-02
US6269424B1 (en) 2001-07-31
DE69738091D1 (de) 2007-10-11
DE69735400T2 (de) 2007-02-01
DE69735400D1 (de) 2006-05-04

Similar Documents

Publication Publication Date Title
JP3133004B2 (ja) ディスクアレイ装置およびその制御方法
EP0661635B1 (en) A system for controlling command queuing on parity drives in an array of disk drives
JP2769443B2 (ja) 記憶サブシステム及び関連する装置/方法
JP3304115B2 (ja) 構成可能な冗長アレイ記憶装置
US5720027A (en) Redundant disc computer having targeted data broadcast
US5375128A (en) Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders
US5608891A (en) Recording system having a redundant array of storage devices and having read and write circuits with memory buffers
JP3661205B2 (ja) ディスクアレイシステムおよびディスクアレイシステムのパリティデータの生成方法
US5787463A (en) Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
JP3400328B2 (ja) データ記憶方法およびデータ記憶装置
JP2000020248A (ja) ディスクの障害回復方法、ディスクドライバおよび記録媒体
JP2857288B2 (ja) ディスクアレイ装置
JP2570614B2 (ja) デイスクアレイ装置
KR19980047273A (ko) 레이드 레벨 5 시스템에서 캐쉬 관리 방법
JPH10240453A (ja) ディスクアレイ装置
JP2857289B2 (ja) ディスクアレイ装置
JPH10312246A (ja) 記憶装置サブシステム
JPH0816327A (ja) ディスクアレイ装置
JP3597550B2 (ja) ディスクアレイ装置
GB2298308A (en) A disk storage array with a spiralling distribution of redundancy data
EP0661639A1 (en) Data prefetch in mass data storage systems
JPH05313833A (ja) アレイ型ディスク駆動機構システム
JPH08272546A (ja) ディスクアレイ装置
JPH09258911A (ja) ディスクアレイ装置
JPH09128161A (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071124

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081124

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081124

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091124

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20131124

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees