JPH09305330A - ディスクアレイ装置 - Google Patents

ディスクアレイ装置

Info

Publication number
JPH09305330A
JPH09305330A JP8119999A JP11999996A JPH09305330A JP H09305330 A JPH09305330 A JP H09305330A JP 8119999 A JP8119999 A JP 8119999A JP 11999996 A JP11999996 A JP 11999996A JP H09305330 A JPH09305330 A JP H09305330A
Authority
JP
Japan
Prior art keywords
command
write
phase
disk array
control unit
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
Application number
JP8119999A
Other languages
English (en)
Inventor
Hiroyuki Yasuda
浩之 保田
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP8119999A priority Critical patent/JPH09305330A/ja
Publication of JPH09305330A publication Critical patent/JPH09305330A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 本発明は、ライトコマンドの中の読み取り動
作と書き込み動作とをそれぞれ別にコマンドスケジュー
リングすることにより、装置全体のスループットを向上
させることのできるディスクアレイ装置を提供を課題と
する。 【解決手段】 複数の記憶手段#1〜#5と、これら複
数の記憶手段#1〜#5に対するアクセスの実行順序を
決定する順序制御手段とを備えるディスクアレイ装置に
おいて、読み取り動作と書き込み動作との両方を必要と
するアクセス要求があると、該読み取り動作をフェーズ
Iとし、かつ、該書き込み動作をフェーズIIとし、各フ
ェーズ毎に実行順序を決定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の磁気ディス
ク装置を備え、これらの磁気ディスク装置を用いてあた
かも1台の記憶装置として機能するディスクアレイ装置
に関するものである。
【0002】
【従来の技術】ディスクアレイ装置とは、カリフォルニ
ア大学バークレー校において考案された「RAID(Re
dundant Arrays of Inexpensive Disks )アーキテクチ
ャ」を用いたもので、複数の磁気ディスク装置(Hard D
isk Drive;以下、HDDと略す)を内蔵するものであ
る。この「RAIDアーキテクチャ」の中で、RAID
レベル4及びRAIDレベル5と呼ばれるアーキテクチ
ャを採用したディスクアレイ装置(以下、これらを単に
ディスクアレイ装置と称す)は、冗長データを持つこと
による高信頼性と、複数のHDDを並列にアクセスする
ことによる高スループットとを実現しており、特にオン
ライントランザクション処理のように、比較的少量のデ
ータへのランダムアクセスが頻繁に発生するアプリケー
ション環境で高い性能を発揮することができるものであ
る。
【0003】ディスクアレイ装置は、図7に示すよう
に、装置全体の制御を行う制御部1と、内蔵された複数
のHDD#1〜5と、これらを互いに接続するディスク
インターフェース(以下、インターフェースをI/Fと
略す)3と、図示しないホストコンピュータと接続され
るホストI/F2とから構成されている。なお、ディス
クアレイ装置が備えるHDDの台数は、「RAIDアー
キテクチャ」では特に規定されていないが、ここでは最
も一般的な5台構成を例に挙げて説明する。
【0004】図8は、5台構成のRAIDレベル5ディ
スクアレイ装置におけるデータブロックの配置例を示
す。ここで、データブロックとは、内蔵するHDD#1
〜5上のセクタ容量の整数倍の大きさ(数キロバイト〜
数十キロバイト)のデータであり、ディスクアレイ装置
上でのデータ管理の基本単位である。通常、データブロ
ックの大きさは、ホストコンピュータから最も高い頻度
でアクセスされる単位に近い大きさに設定される。
【0005】ディスクアレイ装置は、一般的には、ホス
トコンピュータに対してあたかも1台のHDDであるか
のように振る舞う。ただし、実際には、ホストコンピュ
ータから見たこの装置のディスクアドレス(以下、論理
アドレスと称す)空間9は、複数のHDD#1〜5の論
理アドレス空間の集合10にマッピングされている。詳
しくは、ホストコンピュータから見た論理アドレス上で
連続するデータブロックD0〜D3は、それぞれ異なる
HDD上に配置されており、さらに冗長データとしてそ
れらのデータブロックD0〜D3全てを排他的論理和す
ることにより生成されるパリティブロックDp0が、残
りのHDD上に配置される。すなわち、HDDn台から
なるディスクアレイ装置では、連続するn−1ブロック
毎に、それぞれのデータブロックとこれらから生成した
パリティブロックとを、各HDDに分散して配置するの
である。
【0006】なお、「RAIDアーキテクチャ」では、
全てのパリティブロックを1台のHDD上に格納するデ
ィスクアレイ装置をRAIDレベル4と呼び、パリティ
ブロックを各HDDに分散して配置するものをRAID
レベル5と呼ぶ。
【0007】このようにデータブロックが配置されたデ
ィスクアレイ装置では、ホストコンピュータからデータ
ブロックの書き込み要求(ライトコマンド)があると、
そのライトコマンドに対して、図9に示す第1の手順ま
たは図10に示す第2の手順により処理を実行する。た
だし、ここでは、HDD#2に格納されているデータブ
ロックD2を、ホストコンピュータからのライトコマン
ドに従ってデータブロックD2’に書き換える場合を例
に挙げて説明する。また、HDD#2内のデータブロッ
クD2に対応するパリティブロックDpが、HDD#5
に格納されているものとする。
【0008】例えば図9に示す第1の手順のように、ホ
ストコンピュータからのライトコマンド(図中)と共
にデータブロックD2’が転送されると、制御部1は、
このデータブロックD2’を、先ず制御部1上のキャッ
シュ/バッファに格納する。なお、キャッシュ/バッフ
ァとは、例えば制御部1に設けられているもので、HD
D#1〜5上のデータのコピーを格納するディスクキャ
ッシュとしての用途の他に、パリティブロックを生成す
るための一時的なバッファとしても使用されるものであ
る。
【0009】データブロックD2’をキャッシュ/バッ
ファに格納すると、制御部1は、新たなパリティブロッ
クの生成に必要なデータブロックD1、D3、D4を、
HDD#1、#3、#4から全て制御部1上のキャッシ
ュ/バッファに読み取る(図中−1、−2及び−
3)。そして、キャッシュ/バッファ内のデータブロッ
クD1、D2’、D3、D4から排他的論理和を算出し
て新たなパリティブロックDp’を生成し(図中)、
データブロックD2’と新たなパリティブロックDp’
とを、それぞれ該当するHDD上の領域に書き込む(図
中−1及び−2)。これにより、このディスクアレ
イ装置では、ライトコマンドに対する処理を完了する。
【0010】また、例えば図10に示す第2の手順のよ
うに、制御部1は、データブロックD2’をキャッシュ
/バッファに格納した後に(図中)、データブロック
D2とパリティブロックDpとを、HDD#2とHDD
#5とからそれぞれ制御部1上のキャッシュ/バッファ
に読み取る(図中−1及び−2)。そして、キャッ
シュ/バッファ内のデータブロックD2’、データブロ
ックD2、及びパリティブロックDpから排他的論理和
を算出して新たなパリティブロックDp’を生成する
(図中)。このパリティブロックDp’は、上述した
第1の手順で生成されるものと同一のものである。そし
て、以下、第1の手順と同様の処理を行い、ディスクア
レイ装置上でのライトコマンドに対する処理を完了す
る。
【0011】なお、ディスクアレイ装置では、書き込み
対象となる領域が、n−1に近い数のデータブロックに
またがる場合には第1の手順で、また、比較的少数のデ
ータブロック(5台構成のディスクアレイ装置であれば
1〜2または1〜3)に収まる場合には第2の手順で、
それぞれライトコマンドに対する処理を行うようになっ
ている。つまり、ディスクアレイ装置では、HDDの台
数と書き込み対象となる領域の大きさによって、ライト
コマンドに対する処理をどのように行うかを一意に決定
するようになっている。
【0012】このように、ディスクアレイ装置では、n
−1ブロックにつき1つのパリティブロックを格納して
いるので、例えば内蔵するHDDの中の1台が故障した
場合であっても、残りのHDD上のデータブロックから
故障したHDD上のデータブロックを復元することが可
能であり、装置全体としてのデータの信頼性を非常に高
くすることができる。
【0013】また、ディスクアレイ装置では、ホストコ
ンピュータからのライトコマンドやデータブロックの読
み取り要求(リードコマンド)があると、これらのコマ
ンドを、複数のHDD#1〜5に対して並列に実行する
ようになっている。ここで、ディスクアレイ装置におい
て、ホストコンピュータからのコマンドを並列処理する
機能について説明する。
【0014】ディスクアレイ装置は、コマンドを並列処
理するために、図11に示すような機能構成を有してい
る。すなわち、ディスクアレイ装置は、制御部1内に、
ホストI/F制御部11と、コマンド実行順序制御部1
2と、実行待ちコマンドキュー管理部13と、コマンド
実行制御部14と、キャッシュ/バッファ管理部15
と、HDDリード/ライト制御部16とを備えている。
【0015】ホストI/F制御部11は、ホストコンピ
ュータからのコマンドの受信/応答、そしてホストコン
ピュータとの間のデータ転送を制御するものである。コ
マンド実行順序制御部12は、ホストコンピュータから
受け取ったコマンドを一旦実行待ちコマンドキュー管理
部13に入れ、この実行待ちコマンドキュー管理部13
にキューイングされているコマンドの中から実行可能な
コマンド、すなわち並列処理が可能なコマンドを探し出
すものである。
【0016】コマンド実行制御部14は、HDDへのア
クセスを行うHDDリード/ライト制御部16を起動し
て、コマンド実行順序制御部12が探し出したコマンド
を実行するためのものである。ただし、コマンド実行制
御部14では、コマンド実行のスループットを向上させ
るために、コマンド実行順序制御部12がいわゆるエレ
ベータシーク等を指示すると、ホストコンピュータから
の受付順とは異なった順序でコマンドを実行することが
可能となっている。なお、本明細書においては、コマン
ドの実行順序の並び替えをコマンドスケジューリングと
称す。
【0017】キャッシュ/バッファ管理部15は、制御
部1上のメモリ領域、すなわちキャッシュ/バッファを
管理して、ディスクキャッシュ機能の提供や、パリティ
ブロック生成に一時的に必要なバッファ領域の割り当て
を行うものである。ここでのディスクキャッシュ機能
は、通常のリードキャッシュ、ライトキャッシュ機能の
他に、ディスクアレイ装置での特有の機能として、パリ
ティデータを生成するために必要となるライト前の古い
データ及びパリティデータをキャッシングする機能をも
提供する場合がある。
【0018】このような機能構成を有するディスクアレ
イ装置では、以下のようにコマンドスケジューリングを
行うようになっている。図12は、ホストコンピュータ
から連続して発行された複数のライト/リードコマンド
に対するコマンドスケジューリングと、その実行におい
て制御部1からHDD#1〜5に対するアクセスの様子
を時系列に沿って示したものである。
【0019】なお、ここでは、ホストコンピュータから
ライトコマンドA、リードコマンドB、リードコマンド
C、ライトコマンドDの順で、各コマンドが発行された
ものとする。また、ライトコマンドAは、HDD#1に
データブロックを書き込むためのコマンドであり、リー
ドコマンドB、リードコマンドCは、それぞれHDD#
2、#4からデータブロックを読み取るためのコマンド
であり、さらにコマンドDは、2つのHDD#1、#2
に対して、これらをまたいで連続する2つのデータブロ
ックを書き込むためのコマンドであるものとする。ま
た、ここでは、ライトコマンドA、ライトコマンドDに
対する新たなパリティブロックの生成及び書き込みを、
上述した第1の手順に従って行うものとする。そのため
に、ライトコマンドAを実行する場合には、HDD#1
の他にHDD#2にアクセスし、ライトコマンドDを実
行する場合には、HDD#1〜5の全てにアクセスする
ようになっている。
【0020】ホストコンピュータからライトコマンドA
が発行されると、この時点では他に実行中のコマンドが
存在していないため、コマンド実行順序制御部12は、
このライトコマンドAの実行をコマンド実行制御部14
に指示する。そして、コマンド実行制御部14は、HD
Dリード/ライト制御部16を起動して、HDD#1及
びHDD#2にアクセスするとともに、ライトコマンド
Aの実行が終了するまで、HDD#1及びHDD#2に
対するアクセス権を専有する。なお、図中において、H
DD#nの下に示す太線は、その横に示す記号(A〜D
等)に対応するコマンドの実行により、アクセスが専有
されている期間を示す。
【0021】続いて、ホストコンピュータからリードコ
マンドBが発行されると、このコマンドの実行に必要な
HDD#2が、ライトコマンドAの実行により専有され
ているので、コマンド実行順序制御部12は、リードコ
マンドBを実行待ちコマンドキュー管理部13にキュー
イングする。なお、図中において、「実行待ち」の下に
示す太線は、その横に示す記号に対応するコマンドが実
行待ちコマンドキュー管理部13にキューイングされて
いる期間を示す。
【0022】この後、ホストコンピュータからリードコ
マンドCが発行されると、その時点ではこのコマンドの
実行に必要なHDD#4が専有されていないため、コマ
ンド実行制御部14は、コマンド実行順序制御部12か
らの指示に従って、HDD#4に対するアクセス権を専
有した上で、リードコマンドCを実行する。続いて、ラ
イトコマンドDが発行されるが、このライトコマンドD
はHDD#1〜5の全てにアクセスする必要があるの
で、コマンド実行順序制御部12は、そのライトコマン
ドDを実行待ちコマンドキュー管理部13にキューイン
グする。
【0023】ここで、ライトコマンドAの実行が終了す
ると、HDD#2に対するアクセス権の専有が解除され
るので、コマンド実行順序制御部12は、実行待ちコマ
ンドキュー管理部13からリードコマンドBを取り出し
て、このリードコマンドBの実行をコマンド実行制御部
14を指示する。そして、リードコマンドCの実行が終
了し、さらにリードコマンドBの実行が終了すると、ラ
イトコマンドDの実行が開始されることとなる。
【0024】このように、ディスクアレイ装置は、複数
のHDD#1〜#5に並列にアクセスすることができる
とともに、コマンド実行順序制御部12がコマンドスケ
ジューリングを行うことにより、より多くのコマンドが
並列して実行されるようになっている。よって、ディス
クアレイ装置では、装置全体として高いスループットを
得ることができる。
【0025】
【発明が解決しようとする課題】ところで、上述したデ
ィスクアレイ装置では、ライトコマンドを実行する場合
に、新たなパリティブロックを生成してHDD上に書き
込まなければならない。そのために、新たなデータブロ
ックを書き込むHDD、すなわちライトコマンドの実行
対象となるHDD以外のHDDから、既に格納されてい
るデータブロックまたはパリティブロックを読み取る必
要がある。つまり、ライトコマンドの実行に対しては、
制御部1とHDD#1〜#5との間で、読み取り動作と
書き込み動作との両方が必要となる。
【0026】したがって、このディスクアレイ装置で
は、ライトコマンドの実行対象となるHDDに対するア
クセス権が専有されていなくても、読み取り動作または
書き込み動作を行う必要のある他のHDDに対するアク
セス権が専有されていれば、そのアクセス権の専有が解
除されるまで、前記ライトコマンドを実行することがで
きない。よって、ホストコンピュータからのコマンドの
中で、ライトコマンドの割合が高い動作環境において
は、十分に性能を発揮できない可能性がある。
【0027】そこで、本発明は、ライトコマンドの中の
読み取り動作と書き込み動作とをそれぞれ別にコマンド
スケジューリングすることにより、装置全体のスループ
ットを向上させることのできるディスクアレイ装置を提
供することを目的とする。
【0028】
【課題を解決するための手段】本発明は、上記目的を達
成するために案出されたディスクアレイ装置で、データ
を格納する複数の記憶手段と、これら複数の記憶手段の
それぞれに対して前記データの読み取り動作と書き込み
動作とを行うためのアクセスを並列に実行する実行制御
手段と、この実行制御手段に対する複数のアクセス要求
があると、その複数のアクセス要求の実行順序を決定す
る順序制御手段とを備えるものであって、さらに、読み
取り動作と書き込み動作との両方を必要とするアクセス
要求があると、このアクセス要求の中の読み取り動作を
フェーズIとし、かつ、書き込み動作をフェーズIIとし
て分割し、各フェーズ毎に前記順序制御手段に実行順序
を決定させる要求分割手段が設けられている。
【0029】上記構成のディスクアレイ装置によれば、
読み取り動作と書き込み動作との両方を必要とするアク
セス要求があると、要求分割手段が、そのアクセス要求
の中の読み取り動作をフェーズIとし、かつ、書き込み
動作をフェーズIIとして分割する。これにより、順序制
御手段では、そのアクセス要求に対して、各フェーズ毎
に実行順序を決定する。したがって、このディスクアレ
イ装置では、例えば、フェーズIの実行対象となる記憶
手段に対するアクセス権が専有されていなければ、フェ
ーズIIの実行対象となる記憶手段に対するアクセス権が
専有されていても、前記フェーズIによるアクセスの実
行を開始する。
【0030】
【発明の実施の形態】以下、図面に基づき本発明に係わ
るディスクアレイ装置について説明する。
【0031】〔第1の実施の形態〕本実施の形態のディ
スクアレイ装置は、従来のものと同様に図11に示すよ
うな機能構成を有するものである。すなわち、このディ
スクアレイ装置は、本発明における複数の記憶手段とし
て機能するHDD#1〜5と、本発明における順序制御
手段として機能するコマンド実行順序制御部12と、本
発明における実行制御手段として機能するコマンド実行
制御部14とを備えているものである。
【0032】ただし、本実施の形態のディスクアレイ装
置は、従来のものに加えて、コマンド実行順序制御部1
2に、ライトコマンドに対するフェーズ分けを行う要求
分割手段としての機能が設けられている。この要求分割
手段とは、図1に示すように、ライトコマンドの中の読
み取り動作と書き込み動作とに対して、読み取り動作を
フェーズIとし、かつ、書き込み動作をフェーズIIと
し、各フェーズ毎に分けて複数のHDD#1〜5へのア
クセス権を設定する機能である。
【0033】このような要求分割手段が設けられたコマ
ンド実行順序制御部12では、例えば、HDD#1、#
2のそれぞれにデータブロックを書き込むためのライト
コマンドであれば、このライトコマンドに対する処理を
上述した第1の手順で実行する場合に、HDD#3、#
4からのデータブロックの読み取り動作をフェーズIと
し、HDD#1、#2へのデータブロックの書き込み動
作とHDD#5へのパリティブロックの書き込み動作と
をフェーズIIとして、各フェーズ毎に分けてアクセス権
を設定するようになっている。
【0034】したがって、コマンド実行順序制御部12
では、従来のものとは異なり、以下に説明するように、
コマンドスケジューリングを行う。ただし、ここでは、
上述した図12の場合と同様に、4つのコマンドA〜D
がホストコンピュータから発行された場合を例に挙げて
説明する。
【0035】図2に示すように、ホストコンピュータか
ら4つのコマンドA〜Dが発行されると、コマンド実行
順序制御部12は、リードコマンドCの完了までは、従
来と全く同様に処理を行う。そして、リードコマンドC
に対する処理が完了すると、その時点で、コマンド実行
制御部14は、HDD#3、#4に対するアクセス権を
専有することが可能となる。このとき、ライトコマンド
Dは、コマンド実行順序制御部12によってフェーズI
(図中D−I)とフェーズII(図中D−II)とに分けら
れている。よって、コマンド実行順序制御部12では、
フェーズIの動作に必要なHDD#3、#4に対するア
クセス権の専有が可能であるので、リードコマンドCに
対する処理が完了した時点で、ライトコマンドDのフェ
ーズIに対する処理を開始し、それが完了した後に続い
てフェーズIIに対する処理を開始する。
【0036】以上のように、本実施の形態のディスクア
レイ装置では、コマンド実行順序制御部12がライトコ
マンドDをフェーズIとフェーズIIとに分けるので、リ
ードコマンドCに対する処理が完了した時点で、ライト
コマンドDに対する処理を開始することが可能となり、
従来のようにリードコマンドBに対する処理が完了する
まで待つ必要がない。したがって、ライトコマンドAに
対する処理を開始してから、ライトコマンドDに対する
処理が完了するまで要する時間が従来よりも短くなり、
結果として装置全体のスループットを向上することがで
きる。
【0037】〔第2の実施の形態〕次に、本発明に係わ
るディスクアレイ装置の第2の実施の形態について説明
する。ただし、上述した第1の実施の形態と同一の部分
については、その説明を省略する。
【0038】従来のディスクアレイ装置では、既に説明
したように、書き込み動作時の新たなパリティブロック
の生成手順として、第1の手順と第2の手順との2通り
が存在し、これらの使い分けをHDDの台数と書き込み
対象となる領域の大きさによって一意に決定している。
すなわち、従来は実行しようとするライトコマンドのみ
に着目して、2通りの手順を使い分けていたのである。
【0039】これに対して、本実施の形態のディスクア
レイ装置では、第1の実施の形態に加えて、コマンド実
行順序制御部12に、ライトコマンドの中の読み取り動
作と書き込み動作とについて、これらを実行するための
手順を第1の手順と第2の手順との中から任意に選択す
る手順選択手段としての機能が設けられている。すなわ
ち、コマンド実行順序制御部12は、ライトコマンドに
対するフェーズ分けを行っている場合において、よりコ
マンド実行の並列度を高められる場合には、他方の手順
を選択することができるようになっている。
【0040】例えば、HDD#1、#2のそれぞれにデ
ータブロックを書き込むためのライトコマンドであれ
ば、第1の実施の形態で説明した第1の手順と、図3に
示すような第2の手順とを、各HDDに対するアクセス
権の専有状況に応じて選択するようになっている。この
場合における第2の手順は、HDD#1、#2に既に格
納されている旧データブロックとこれに対応するパリテ
ィブロックでHDD#5に既に格納されている旧パリテ
ィブロックとを読み取って、これらから新たなパリティ
ブロックを生成するものである。ただし、この第2の手
順では、読み出し動作及び書き込み動作共に同一のHD
Dに対してアクセスするために、第1の実施の形態で説
明したようなフェーズ分けの効果はない。ところが、こ
れらの2通りの手順を、各HDDの状況に応じて使い分
けることにより、装置全体としてのスループットを向上
させることが可能となる。
【0041】ここで、コマンド実行順序制御部12が第
2の手順(図3に示すフェ−ズ分け)を選択した場合の
コマンドスケジューリングを、図4を参照して説明す
る。ただし、ここでは、ホストコンピュータから3つの
コマンドA、C、Dが発行された場合について説明す
る。なお、これらのコマンドA、C、Dは、それぞれ既
に説明したもの(図2、図12参照)と同一のものであ
る。
【0042】ホストコンピュータから3つのコマンド
A、C、Dが発行されると、コマンド実行順序制御部1
2は、リードコマンドCの完了までは、従来と全く同様
に処理を行う。そして、リードコマンドCに対する処理
の実行中は、ライトコマンドDが実行待ちコマンドキュ
ー管理部13にキューイングされる。ただし、コマンド
実行順序制御部12は、ライトコマンドAが完了した時
点で、ライトコマンドDに対する処理に必要なHDDの
使用状況から、第1の手順による処理実行の可否を判定
し、実行不可能であれば続いて第2の手順による処理実
行の可否を判定する。
【0043】例えば、ライトコマンドAが完了した時点
ではリードコマンドCによりHDD#4のアクセス権が
専有されているので、第1の手順による処理を実行しよ
うとすると、このリードコマンドCが完了するまでライ
トコマンドDに対する処理を開始することができない。
そこで、コマンド実行順序制御部12では、ライトコマ
ンドAが完了した時点で、第2の手順による処理実行の
可否を判定する。このとき、第2の手順による処理を実
行すれば、ライトコマンドDのフェーズIの動作に必要
なHDD#1、#2に対するアクセス権の専有が可能で
ある。よって、コマンド実行順序制御部12では、ライ
トコマンドDに対する処理として第2の手順を選択す
る。そして、ライトコマンドAに対する処理が完了した
時点で、ライトコマンドDのフェーズIに対する処理を
開始し、それが完了した後に続いてフェーズIIに対する
処理を開始する。
【0044】以上のように、本実施の形態のディスクア
レイ装置では、コマンド実行順序制御部12がライトコ
マンドDをフェーズIとフェーズIIとに分けるととも
に、このライトコマンドDに対する処理として、第1の
手順と第2の手順とのいずれか一方を選択するので、ラ
イトコマンドAに対する処理が完了した時点で、ライト
コマンドDに対する処理を開始することが可能となり、
リードコマンドCに対する処理が完了するまで待つ必要
がない。したがって、ライトコマンドAに対する処理を
開始してから、ライトコマンドDに対する処理が完了す
るまで要する時間をより短縮することが可能となり、結
果として装置全体のスループットを向上することができ
る。
【0045】〔第3の実施の形態〕次に、本発明に係わ
るディスクアレイ装置の第3の実施の形態について説明
する。ただし、上述した第1及び第2の実施の形態と同
一の部分については、その説明を省略する。
【0046】本実施の形態のディスクアレイ装置は、第
1または第2の実施の形態に加えて、コマンド実行順序
制御部12が分割変更手段としての機能を有しているも
のである。この分割変更手段とは、図5に示すように、
ライトコマンドに対するフェーズ分けを行っている場合
において、フェーズIIで行う書き込み動作の一部を、H
DDの使用状況等で可能な場合であれば、フェーズIで
行う機能である。
【0047】このような分割変更機能が設けられたコマ
ンド実行順序制御部12では、例えば、HDD#1、#
2のそれぞれにデータブロックを書き込むためのライト
コマンドであれば、このライトコマンドに対する処理を
第1の手順で実行する場合に、HDD#1へのデータブ
ロックの書き込み動作とHDD#3、#4からのデータ
ブロックの読み取り動作とをフェーズIとし、HDD#
2へのデータブロックの書き込み動作とHDD#5への
パリティブロックの書き込み動作とをフェーズIIとする
ようになっている。ただし、HDD#1への書き込み動
作は、HDDの使用状況等で可能であればフェーズIで
行い、可能でなければフェーズIIで行う。つまり、フェ
ーズI/IIのどちらでも実行可能となっている。
【0048】したがって、コマンド実行順序制御部12
では、以下のようにコマンドスケジューリングを行う。
ただし、ここでは、上述の4つのコマンドA〜Dに加え
て、リードコマンドEがホストコンピュータから発行さ
れた場合を例に挙げて説明する。
【0049】図6に示すように、ホストコンピュータか
ら5つのコマンドA〜Dが発行されると、コマンド実行
順序制御部12は、リードコマンドCの完了までは、従
来と全く同様に処理を行う。そして、リードコマンドC
に対する処理が完了すると、その時点で、コマンド実行
制御部14は、HDD#1、#3、#4に対するアクセ
ス権を専有することが可能となる。よって、コマンド実
行順序制御部12では、HDD#3、#4からのデータ
ブロックの読み取り動作に加えて、HDD#1へのデー
タブロックの書き込み動作をフェーズI(図中D−I)
とし、リードコマンドCに対する処理が完了した時点
で、ライトコマンドDのフェーズIに対する処理を開始
する。
【0050】ここで、ライトコマンドDのフェーズIに
対する処理の完了後に、HDD#1に対するアクセスを
必要とするリードコマンドEが発行されると、その時点
では、ライトコマンドDによるHDD#1に対するアク
セスが既に終了している。したがって、リードコマンド
Eに対する処理は、ライトコマンドDのフェーズII(図
中D−II)に対する処理の完了を待つことなく、コマン
ド実行制御部14によって即座に開始される。
【0051】以上のように、本実施の形態のディスクア
レイ装置では、コマンド実行順序制御部12がライトコ
マンドDをフェーズIとフェーズIIとに分けるととも
に、フェーズIIで行う書き込み動作の一部を、HDDの
使用状況等で可能な場合であればフェーズIで行うよう
になっているので、ライトコマンドDのフェーズIの完
了後にリードコマンドEが発行されても、このリードコ
マンドEを即座に処理することが可能となり、ライトコ
マンドDのフェーズIIに対する処理が完了するまで待つ
必要がない。したがって、ライトコマンドAに対する処
理を開始してから、リードコマンドEに対する処理が完
了するまで要する時間をより短縮することが可能とな
り、結果として装置全体のスループットを向上すること
ができる。
【0052】
【発明の効果】以上に説明したように、本発明のディス
クアレイ装置は、読み取り動作と書き込み動作との両方
を必要とするアクセス要求があると、要求分割手段がそ
のアクセス要求をフェーズIとフェーズIIとに分割し、
順序制御手段が各フェーズ毎に実行順序を決定するよう
になっている。したがって、このディスクアレイ装置で
は、アクセス要求の中の読み取り動作と書き込み動作と
をそれぞれ別にコマンドスケジューリングすることがで
きるようになり、装置全体のスループットを向上させる
とともに、ライトコマンドの割合が高い動作環境であっ
ても十分に性能を発揮できるという効果を奏する。
【図面の簡単な説明】
【図1】本発明に係わるディスクアレイ装置の第1の実
施の形態におけるライトコマンドのフェーズ分けを示す
説明図である。
【図2】本発明の第1の実施の形態における複数のライ
ト/リードコマンドに対するコマンドスケジューリング
の具体例を示すタイムチャートである。
【図3】本発明に係わるディスクアレイ装置の第2の実
施の形態におけるライトコマンドのフェーズ分けを示す
説明図である。
【図4】本発明の第2の実施の形態における複数のライ
ト/リードコマンドに対するコマンドスケジューリング
の具体例を示すタイムチャートである。
【図5】本発明に係わるディスクアレイ装置の第3の実
施の形態におけるライトコマンドのフェーズ分けを示す
説明図である。
【図6】本発明の第3の実施の形態における複数のライ
ト/リードコマンドに対するコマンドスケジューリング
の具体例を示すタイムチャートである。
【図7】ディスクアレイ装置の代表的な構成を示すブロ
ック図である。
【図8】5台構成のRAIDレベル5ディスクアレイ装
置におけるデータブロックの配置例を示す説明図であ
る。
【図9】ライトコマンドを実行する場合の処理手順を示
す説明図(その1)である。
【図10】ライトコマンドを実行する場合の処理手順を
示す説明図(その2)である。
【図11】ディスクアレイ装置の機能構成を示すブロッ
ク図である。
【図12】従来のディスクアレイ装置における複数のラ
イト/リードコマンドに対するコマンドスケジューリン
グの具体例を示すタイムチャートである。
【符号の説明】
12 コマンド実行順序制御部 14 コマンド実行制御部 #1、#2、#3、#4、#5 HDD

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 データを格納する複数の記憶手段と、 該複数の記憶手段のそれぞれに対して、前記データの読
    み取り動作と書き込み動作とを行うためのアクセスを、
    並列に実行する実行制御手段と、 該実行制御手段に対する複数のアクセス要求があると、
    該複数のアクセス要求の実行順序を決定する順序制御手
    段とを備えるディスクアレイ装置であって、 読み取り動作と書き込み動作との両方を必要とするアク
    セス要求があると、該アクセス要求の中の読み取り動作
    をフェーズIとし、かつ、書き込み動作をフェーズIIと
    して分割し、各フェーズ毎に前記順序制御手段に実行順
    序を決定させる要求分割手段が設けられたことを特徴と
    するディスクアレイ装置。
  2. 【請求項2】 読み取り動作と書き込み動作との両方を
    必要とするアクセス要求に対して、該アクセス要求を実
    行するための読み取り動作と書き込み動作との組み合わ
    せ手順が予め複数種類設定されている場合に、該複数種
    類の中から一つの組み合わせ手順を選択する手順選択手
    段が設けられたことを特徴とする請求項1記載のディス
    クアレイ装置。
  3. 【請求項3】 一つのアクセス要求が読み取り動作と複
    数の書き込み動作とからなる場合に、該複数の書き込み
    動作の中の一部の書き込み動作を前記フェーズIとする
    分割変更手段が設けられたことを特徴とする請求項1ま
    たは2記載のディスクアレイ装置。
JP8119999A 1996-05-15 1996-05-15 ディスクアレイ装置 Withdrawn JPH09305330A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8119999A JPH09305330A (ja) 1996-05-15 1996-05-15 ディスクアレイ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8119999A JPH09305330A (ja) 1996-05-15 1996-05-15 ディスクアレイ装置

Publications (1)

Publication Number Publication Date
JPH09305330A true JPH09305330A (ja) 1997-11-28

Family

ID=14775397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8119999A Withdrawn JPH09305330A (ja) 1996-05-15 1996-05-15 ディスクアレイ装置

Country Status (1)

Country Link
JP (1) JPH09305330A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012523619A (ja) * 2009-04-08 2012-10-04 グーグル インコーポレイテッド データストレージデバイスのコマンド及び割り込みのグループ化
KR102226184B1 (ko) * 2020-02-25 2021-03-10 한국과학기술원 디스크 배열을 위한 캐시베리어 명령 처리 방법 및 이를 위한 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012523619A (ja) * 2009-04-08 2012-10-04 グーグル インコーポレイテッド データストレージデバイスのコマンド及び割り込みのグループ化
KR102226184B1 (ko) * 2020-02-25 2021-03-10 한국과학기술원 디스크 배열을 위한 캐시베리어 명령 처리 방법 및 이를 위한 장치
WO2021172708A1 (ko) * 2020-02-25 2021-09-02 한국과학기술원 디스크 배열을 위한 캐시베리어 명령 처리 방법 및 이를 위한 장치
US11947843B2 (en) 2020-02-25 2024-04-02 Korea Advanced Institute Of Science And Technology Method for processing a cache barrier command for a disk array and device for the same

Similar Documents

Publication Publication Date Title
JP3249868B2 (ja) アレイ形式の記憶装置システム
JP2501752B2 (ja) コンピユ―タ・システムのストレ―ジ装置及びデ―タのストア方法
US5883909A (en) Method and apparatus for reducing data transfers across a memory bus of a disk array controller
KR101086857B1 (ko) 데이터 머지를 수행하는 반도체 스토리지 시스템의 제어 방법
US5802345A (en) Computer system with a reduced number of command end interrupts from auxiliary memory unit and method of reducing the number of command end interrupts
US7774542B2 (en) System and method for adaptive operation of storage capacities of RAID systems
EP0874313A2 (en) Method of storing data in a redundant array of disks
JP3254429B2 (ja) データ転送/管理システム及び方法
US8862819B2 (en) Log structure array
US10346051B2 (en) Storage media performance management
JP2007004788A (ja) インタリーブされたバックアップを提供するための方法及びシステム
JP2005309818A (ja) ストレージ装置、そのデータ読出方法、及びそのデータ読出プログラム
US20070038593A1 (en) Data Storage Control Apparatus And Method
JP4461089B2 (ja) ストレージ制御装置およびストレージ制御方法
US20170371554A1 (en) Internal Data Transfer Management in a Hybrid Data Storage Device
US6513098B2 (en) Method and apparatus for scalable error correction code generation performance
US10459658B2 (en) Hybrid data storage device with embedded command queuing
JPH09305330A (ja) ディスクアレイ装置
US20120017057A1 (en) Data copying device, method for copying data and data storage device
JP4714720B2 (ja) ストレージ装置及びその制御方法、並びにディスク装置
US6957302B2 (en) System and method for performing write operations in a disk drive using a write stack drive
JP2006134026A (ja) ディスクアレイ装置およびraidレベル設定方法
JPH09212311A (ja) ディスクアレイ装置
JPH11119915A (ja) ディスクアレイ装置
TW200529194A (en) Storage performance improvement using data replication on a disk

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: 20030805