JPH07319638A - ディスクアレイのバッファメモリ管理方法 - Google Patents

ディスクアレイのバッファメモリ管理方法

Info

Publication number
JPH07319638A
JPH07319638A JP6112464A JP11246494A JPH07319638A JP H07319638 A JPH07319638 A JP H07319638A JP 6112464 A JP6112464 A JP 6112464A JP 11246494 A JP11246494 A JP 11246494A JP H07319638 A JPH07319638 A JP H07319638A
Authority
JP
Japan
Prior art keywords
buffer memory
data
host
disk
slot
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
JP6112464A
Other languages
English (en)
Inventor
Mitsuo Oyama
光男 大山
Akihiko Oba
秋彦 大場
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 JP6112464A priority Critical patent/JPH07319638A/ja
Publication of JPH07319638A publication Critical patent/JPH07319638A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 【構成】データをストライピングして複数のディスク装
置に格納するディスクアレイ装置において、ディスクア
レイ制御部に設けたバッファメモリを各々が1トラック
の記憶容量以上の容量を持つ複数のスロットに分割して
各ディスク装置に割付け、複数のスロットを独立したF
IFO(先入れ,先だし)メモリとしてディスクアレイ
制御部で一括して管理する。 【効果】ホストとディスク装置間のデータ転送の同期を
とるためのバッファメモリを各ディスクに設ける必要が
なく、バッファメモリの管理はディスクアレイ制御部で
一括管理できるので、ハードウェア量と制御オーバヘッ
ドを低減でき、コスト削減でき、データ転送速度が改善
できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データのストライピン
グを行うディスクアレイ装置において、バッファメモリ
のハードウェア量削減と管理方法の改善により、低コス
ト化とデータ転送の高速化を実現するディスクアレイの
バッファメモリ管理方法に関する。
【0002】
【従来の技術】ディスク装置の性能と信頼性の向上を図
るため、複数のディスク装置を並列に動作させるディス
クアレイ装置が開発されている。ディスクアレイ装置の
中で、ホスト装置からのデータを複数の格納単位に分割
して、それぞれを異なるディスクに並列に書き込み、読
み出し時には逆に複数のディスク装置から読み出した格
納単位のデータを結合して元のデータに復元し、ホスト
装置に転送することによりデータ転送速度の改善をはか
る方式がある。この方式は、Patterson 等のRAID(Redu
ndant Arrays of Inexpensive Disks)の分類ではRAI
D0(パリティ生成を伴わない場合)、RAID3(パ
リティ生成を伴う場合)に分類されるものであり、よく
知られている。
【0003】しかし、この方式では並列に動作するディ
スク装置のスピンドルの回転が互いに非同期の場合、デ
ータの書き込みの終了は、最も遅いディスクの書き込み
終了を待つことになる。またデータの読み出しでは、最
も遅いディスクの読み出し終了を待ってデータをホスト
装置に転送することになる。この結果、ディスクアレイ
装置によるデータリードライト速度の改善効果が低下す
る。これを軽減する方法としては、ディスク装置のスピ
ンドルの回転を互いに同期することと、リードライトデ
ータを一時蓄えておくバッファメモリを設けることが行
われている。スピンドルを同期回転しても、ディスクの
制御に要する時間、回転のジッタなどからディスクへの
リードライトを完全に同時に終了させることは困難であ
るので、上記のようなバッファメモリは必須である。
【0004】従来、このような目的で設けられるバッフ
ァメモリは、例えば、特開平2− 101523号公報、ある
いは特開平2−148125 号公報に開示されている。これら
の公報では、並列動作するディスク装置のそれぞれにリ
ードライトデータを一時蓄えるためのバッファメモリを
接続した構成が示されている。バッファメモリは基本的
にFIFO(First In First Out)メモリであり、複数
のバッファメモリの同期制御は、各FIFOのステータ
スを制御CPUに集め(特開平2−101523 号公報)、あ
るいはバッファメモリ相互で自律的に制御することで
(特開平2−148125号公報)実現されている。
【0005】
【発明が解決しようとする課題】上記従来技術は、各デ
ィスク装置の非同期回転による動作終了時点のばらつき
を吸収する機能を持つと考えられる。しかし、個々のデ
ィスク装置がバッファメモリを持つこと、各バッファメ
モリ動作の同期のためのハードウェアと制御が必要なこ
とから、必要なハードウェア量と制御オーバヘッドが増
す。
【0006】本発明の目的は、ハードウェアと制御オー
バヘッドの増加を極力抑えて、バッファメモリの機能を
実現することにある。
【0007】
【課題を解決するための手段】上記目的を実現するため
に、本発明では、各ディスク装置の非同期回転による動
作終了時点のばらつきを吸収するために、ディスクアレ
イ制御部内にバッファメモリを設けて、前記バッファメ
モリを1トラック容量以上の容量を持つ複数のスロット
に分割し、前記スロットの数は少なくとも並列に動作す
るディスク装置の数以上設け、さらに前記スロットはデ
ィスク装置へのリードライトの最小単位容量からなる等
容量のブロックに分割して管理するようにした。バッフ
ァメモリを管理する方法として、ディスクアレイ制御部
内に各ブロックに対応して有効データの有無を表すビッ
トを割付けたビットマップを設け、全スロット,全ブロ
ックを一括管理するようにした。また、前記バッファメ
モリの他の管理方法として、ディスクアレイ制御部でス
ロットあたりのホストからの書き込みブロック数の累積
値,スロットあたりのホストへの読み出しブロック数の
累積値、および各スロットのデータが存在するブロック
数を管理するようにした。
【0008】
【作用】ディスクアレイ制御装置内に設けたバッファメ
モリをスロットに分割し、各ディスクに割り付けるよう
にしたので、バッファメモリを個々のディスクに付加す
る場合に比べて、ハードウェア量を実装上大幅に削減で
きる。また、各スロット上の有効データの存在状況を、
スロットを構成するブロックに対応して設けたビットマ
ップにより把握,管理するので、各スロットをFIFO
メモリとして独立に制御可能である。そしてこれはディ
スクアレイ制御装置のマイクロプロセッサによるビット
マップのビット演算により実現でき、高速に実行可能で
ある。
【0009】また、バッファメモリの他の管理方法によ
れば、ホストからディスク装置へのデータ書き込み時に
は、スロットあたりのホストからバッファメモリへの書
き込みブロック数の累積値と各スロットのデータが存在
するブロックの数を用いて、ディスク装置からホストへ
のデータ読み出し時には、各スロットのデータが存在す
るブロックの数とスロットあたりのバッファメモリから
ホストへの読み出しブロック数の累積値を用いて、バッ
ファメモリの各スロットをそれぞれFIFOメモリとし
て独立に制御可能である。
【0010】すなわち、本発明によれば、ディスクアレ
イ制御部に設けたバッファメモリ上に独立に制御可能な
複数のFIFOメモリを構成し、FIFOメモリを並列
に動作する複数のディスク装置に対応するバッファメモ
リとして使用できるので、ハードウェアを実装上大幅に
削減できる。また、複数のFIFOメモリの制御は、デ
ィスクアレイ制御装置のマイクロプロセッサにより、ビ
ットマップのビット演算として一括制御できるので、少
ないハードウェア量で制御オーバヘッドの小さい高速制
御が可能となる。
【0011】
【実施例】図1は本発明によるバッファメモリとその管
理機能を有して成るディスクアレイ装置の構成を示すブ
ロック図、図2は図1におけるバッファメモリ2のスロ
ット及びブロックへの分割の説明図である。最初にビッ
トマップによりバッファメモリ2を管理する場合につい
て説明する。
【0012】図1において、ディスクアレイ制御部8
は、ホストコンピュータもしくは上位制御装置(以下ホ
ストと呼ぶ)と接続するための上位インタフェース1,
ディスクアレイ制御機能を実現するマイクロプロセッサ
4,4台のディスク装置(以下単にディスクと呼ぶ)5
−0ないし5−3へのリードライトデータを一時格納す
るためのバッファメモリ2,ディスク5−0ないし5−
3,バッファメモリ管理テーブル3,4台のディスクを
接続するためのディスクインタフェ−ス制御回路6から
構成される。そして4台のディスク5−0ないし5−3
は、ディスクインタフェース7を介してディスクアレイ
制御部8に接続される。
【0013】バッファメモリ2は、少なくともディスク
の1トラックの記憶容量以上の容量を持つ複数のスロッ
トに分割され、スロットはさらにディスクへの最小アク
セス単位である等容量のブロックに分割され、1ブロッ
クの典型的な容量は1セクタの記憶容量に等しい。スロ
ットの数は、少なくともディスクアレイ制御部8に接続
され、かつ並列にアクセスされ得るディスクの数だけ必
要である。
【0014】図2は本発明によるバッファメモリの一構
成例を示す説明図である。図2において、バッファッメ
モリ2は4台のディスク5−0ないし5−3に対応して
四つのスロット20−0ないし20−3に分割され、各
スロットはさらにB00ないしB3nで表すブロックに
分割される。21−00はスロット20−0の最初のブ
ロックを表す。
【0015】図1におけるバッファメモリ管理テーブル
3は、バッファメモリ2をブロック単位で管理するため
に設けられる。バッファメモリ管理テーブル3はバッフ
ァメモリ2の各ブロックに対応して、ブロックの有効デ
ータの有無を表すビットb00ないしb3nから成るビッ
トマップを含んで構成される。ここで有効データの意味
は、リード動作ではディスクから読み出されたデータが
バッファメモリに存在するが、まだ上位制御装置には転
送されておらず、ライト動作時においてはホストからバ
ッファメモリに書き込まれたデータが存在するが、まだ
ディスク装置には転送されていないことを示す。例え
ば、図3においてビット31−00が1のとき図2のブ
ロック21−00に有効データが存在することを示す。
【0016】次に、図4を用いてバッファメモリ2への
データ格納方法を説明する。ホストからデータをディス
クに書き込む場合、ホストからのライトデータ80は等
しい大きさの分割単位のデータに分割され(80−0,
80−1,80−2,80−3,…)、バッファメモリ
の各スロットのブロック(21−00,21−10,2
1−20,21−30)に順次書き込まれる。ここで分
割単位はデータを格納するディスクの数に対して過不足
なく分割できれば良く、特定の大きさに固定されるもの
ではないが、望ましくは1バイトないし1セクタの範囲
で分割される。各スロットのブロックへのデータ書き込
みが終了した後、各ブロックに格納されたライトデータ
はそれぞれディスク5−0ないし5−3に並列に書き込
まれる。一方、ディスクからデータをホストに読みだす
場合は、書き込みの場合と逆の手順で行われる。すなわ
ち、各スロットのブロック(21−00,21−10,
21−20,21−30)に各ディスクから読み出され
たデータが揃った後、ブロックから順次分割単位のデー
タ(80−0,80−1,80−2,80−3,…)を
読み出して結合し、元のデータに復元してホストに転送
する。
【0017】次に、バッファメモリ管理テーブル2によ
るバッファメモリの具体的な管理例について図5ないし
図8を用いて説明する。図5ないし図8において0、あ
るいは1のビットの位置は、図3におけるビットの位置
に対応している。
【0018】最初にデータ書き込みの場合について説明
する。図5はデータ書き込み時のバッファメモリの状態
の一例を示している。ホストからのデータ書き込みで
は、少なくとも各スロットの連続する縦k列のビットが
ゼロであることを確認して、左端のブロックから順に書
き込み、書き込みを終了したブロックに対応するバッフ
ァメモリ管理テーブルのビットを1にする。ここでk
は、ホストとバッファメモリ間で1回に転送されるデー
タ(以下転送単位と呼ぶ)のスロットあたりのブロック
数を表す。一方、各スロットのブロックにライトデータ
が揃った時点でそれぞれディスクに並列に書き込みを開
始し、書き込みが終了したブロックに対応するバッファ
メモリ管理テーブルのビットをゼロにクリアする。図5
において、各スロットの1がセットされたビットのうち
右端のビットが新たにライトデータが書き込まれたブロ
ックを、左端のビットが現在ディスクに書き込み中、あ
るいは次に書き込むべきライトデータが存在するブロッ
クを示している。ライトデータの書き込みがスロットの
右端のブロックにおよんだ場合は、ラップアラウンドし
て左端のブロックからライトデータを書き込んで行く。
【0019】図6はそのような状態の一例を示してお
り、各スロット左端から2ブロックがラップアラウンド
後書き込まれたブロックである。以上の制御はマイクロ
プロセッサ4で実行される制御プログラムとして実現さ
れる。
【0020】図9はディスクの書き込み時の制御プログ
ラムのフローチャートであり以下に説明する。最初にバ
ッファメモリ管理テーブルのビットマップの全ビットを
ゼロクリアしておく(101)。次に転送単位のライト
データをホストからバッファメモリに書き込み、バッフ
ァメモリ管理テーブルのビットマップの対応するビット
を1にセットする(102)。ホストからバッファメモ
リへの全ライトデータの転送が終了するまで(10
3)、バッファメモリにホストからのライトデータを格
納するスペース、すなわち、空きブロックがあれば(1
04)、ホストからバッファメモリへのライトデータの
転送に起動をかける(105)。一方、バッファメモリ
にディスクへ転送できるデータが存在すれば(10
6),バッファメモリからディスクへライトデータを転
送,終了後、対応するビットマップのビットをゼロにク
リアする(107)。そして、ディスクへの全ライトデ
ータの転送が完了したかどうかを調べ(108)、完了
であればホストからディスクへのデータ書き込みを終了
する。完了でなければホストからバッファメモリへのラ
イトデータの転送をチェックし(109)、終了であれ
ばビットマップの対応するビットを1にセットし(11
0)、終了でなければ106に戻る。
【0021】以上では、ホストがデータをディスクに格
納する場合について説明したが、次にホストがデータを
ディスクから読みだす場合について説明する。読み出し
は、書き込みの場合と逆であり、ディスクから読み出し
たデータをブロック単位でバッファメモリの左端のブロ
ックから格納していき、格納したブロックに対応するバ
ッファメモリ管理ブロックのビットを1にセットする。
そして、各スロットの連続する縦k列のビットがすべて
1、すなわち各スロットの縦k列のブロックにディスク
からデータが読み出された後、ブロックのデータを分割
単位ごとに順次、読み出し、ストライピング前の元のデ
ータに復元して、ホストに転送する。ここでkは転送単
位のスロットあたりのブロック数である。ブロックのデ
ータのホストへの転送終了後、バッファメモリ管理テー
ブルの対応するビットをゼロにクリアする。
【0022】図7は以上の処理の途中におけるビットマ
ップの一例を示す図である。リードデータの格納がスロ
ットの右端のブロックに及んだ場合、新たなリードデー
タは、ラップアラウンドしてスロットの左端のブロック
に格納する。図8はそのような場合の一例を示す図であ
る。
【0023】以上の処理はマイクロプロセッサ4で実行
される制御プログラムとして実現される。
【0024】図10はホストへのデータ転送の制御プロ
グラムのフローチャートであり以下に説明する。最初に
初期処理としてバッファメモリ管理テーブルのビットマ
ップをゼロにクリアしておく(201)。次にディスク
からデータを1ブロック読み出しバッファメモリに格納
した後、対応するビットマップのビットを1にセットし
(202)、バッファメモリにリードデータがホストへ
の転送単位分あるかチェックする(203)。バッファ
メモリにホストに転送すべきデータが転送単位分あれば
バッファメモリからホストへのデータ転送に起動し(2
04)、なければ処理204をスキップする。次にバッ
ファメモリからホストへのリードデータの転送の終了を
チェックし(205)、終了であれば、ホストへのデー
タ転送が終了したブロックに対応するビットマップのビ
ットをゼロにクリアし(206)、終了でなければ処理
206をスキップする。そしてディスクからのリードデ
ータの読み出しを全て完了したかをチェックし(20
7)、完了ならば、さらにバッファメモリからホストへ
のリードデータの転送が全て完了したかをチェック(2
09)、完了なら処理を終了する。他方、処理(20
7)のチェックの結果が完了でなければ、バッファメモ
リにディスクから読み出したリードデータを格納するス
ペースが有るかをチェックし(208)、有れば処理2
02に戻り、無ければ処理203に戻る。
【0025】以上ホストがディスクからデータを読みだ
す場合について、マイクロプロセッサ4で実行される制
御プログラムのフローについて説明した。
【0026】以上の説明では、バッファメモリ2の管理
をバッファメモリ管理テーブル3に設けたビットマップ
により行う場合について説明したが、バッファメモリ2
の管理はバッファメモリ2へのリードライトのブロック
数をカウントすることによっても可能であり、以下に説
明する。最初にホストからディスクにデータを書き込む
場合について説明する。
【0027】図11は上記の目的でバッファメモリ管理
テーブル3に保持されるカウントデータのセットを示し
ている。ホストから各スロットへのスロットあたりの転
送ブロック数の累積値Iは、ホストからバッファメモリ
に転送単位のライトデータが転送されるごとにスロット
あたりの転送ブロック数kが加算され、所定のブロック
数のライトデータの転送の終了の確認、各スロットの有
効データの存在するブロックの識別に用いる。各スロッ
トの有効ブロック数Ji(i=0,1,2,3)は、図
5,図6に示したビットマップにおける1のビットの数
に相当し、ホストからバッファメモリへのライトデータ
の転送終了ごとにそれぞれkが加算され、ディスクに1
ブロック書き込まれるごとに1が減じられる。ここで、
有効データの存在するブロックは、Ji≠0の時、ブロ
ックは各スロットの左端からI+1番目からI+Ji番
目までのブロックである。ただし、I+Jiが1スロッ
トに含まれるブロック数を超えるときはラップアラウン
ドしてスロット左端のブロックに戻る。以上に説明した
カウントデータを用いてのバッファメモリの制御は、マ
イクロプロセッサ4で実行される制御プログラムとして
実現され、図13を用いて具体的に説明する。
【0028】図13において、最初にバッファメモリの
全カウントをゼロにクリアする(初期化301)。次
に、転送単位のライトデータをホストからバッファメモ
リに転送し、スロットあたりの転送ブロック数I,Ji
を更新、I←I+k,Ji←Ji+kとする(302)。
ホストからの全データの転送が完了しておらず(30
3)、バッファメモリにホストからのライトデータ転送
スペースがあれば(304)、次々にホストからバッファ
メモリへのライトデータ転送に起動をかける(305)。
一方、バッファメモリにディスクにかきこむデータがあ
れば(306)、ディスクにデータをブロック単位で書き
込み、書き込み終了後、バッファメモリ管理テーブルの
対応するスロット有効データブロック数Jiから1を減
じる(307)。そしてホストからのバッファメモリへの
ライトデータの転送を完了し(303),(309)、かつ
バッファメモリの有効ブロックを全てディスクに書き込
むことにより(308)ホストからディスクへのライト
動作を完了する。
【0029】以上はホストからディスクへのデータ書き
込みの場合であるが、ディスクからホストへのデータ読
み出しの場合は逆の管理となる。図12に上記目的でバ
ッファメモリ管理テーブルに保持されるカウントデータ
のセットを示す。各スロットからホストへのスロットあ
たりの転送ブロック数の累積値Pは、バッファメモリか
らホストに転送単位のリードデータが転送されるごとに
スロットあたりの転送ブロック数kを加算することによ
って更新され、処理の完了の検出,各スロットの有効デ
ータの存在するブロックの識別に用いる。各スロットの
有効ブロック数を示すQi(i=0,1,2,3)は、
図7,図8の1のビットの数に相当し、ディスクから1
ブロックのデータが読み出されてバッファメモリに格納
されるごとに対応するスロットのQiに1が加算され、
バッファメモリからホストに転送単位のデータが転送さ
れるごとに、Qi(i=0,1,2,3)からスロット
あたりの転送ブロック数kが差し引かれる。以上に説明
したカウント値を用いたバッファメモリの制御は、マイ
クロプロセッサ4で実行される制御プログラムとして実
現され、図14を用いて具体的に説明する。
【0030】図14において、最初に全カウントをゼロ
にクリアする(初期化)(401)。次にディスクから
データをバッファメモリに読み出してバッファメモリ管
理テーブルの対応するカウントQiに1を加算する(4
02)。バッファメモリにホストへの転送単位分のデー
タがあるかを調べ(403)、あればホストへの転送単
位分のデータ転送を起動する(404)。バッファメモ
リからホストへのデータ転送終了を確認し(405)、
カウントP、及びカウントQi(i=0,1,2,3)
からホストへの転送単位のスロットあたりのブロック数
kを差し引く(406)。ディスクからのデータ読み出
しが完了しておらず(407)、バッファメモリにディ
スクからのリードデータ格納スペースがあれば(40
8)、処理402に戻る。ディスクからホストへのデー
タ読み出しの完了はディスクからバッファメモリへのデ
ータの読み出しが全て完了し407、かつ、バッファメ
モリからホストへのリードデータの転送が全て終了する
ことにより完了する(409)。
【0031】以上の説明では、データのストライピング
をおこなうディスクアレイ装置におけるバッファメモリ
とその制御方法について説明したが、データのストライ
ピングを行う場合、ストライピングデータからパリティ
を算出してパリティグループを形成し、パリティをデー
タを格納するディスクとは異なるディスクに格納する冗
長構成がとられることが多い。このような場合にもバッ
ファメモリ2にパリティ用のスロットを設け、同様な制
御で管理が可能である。図15はこのような場合のデー
タ分割とバッファメモリへのデータ格納方法の説明図で
ある。図15において、ホストからのデータは分割単位
のデータ80−0,80−1,80−2に分割され各ス
ロットのブロック21−00,21−10,21−20
に格納され、それらから排他的論理和回路90により計
算されたパリティがデータ格納スロットと異なるスロッ
トのブロック21−30に格納される。
【0032】
【発明の効果】本発明によればディスクアレイ制御部に
設けた1個のバッファメモリ2を複数のスロットに分割
して各ディスクに割付け、割り付けた各スロットをそれ
ぞれ独立したFIFOメモリとして、ディスクアレイ制
御部に設けたマイクロプロセッサ4によりバッファメモ
リ管理テーブル上のビットマップを用いて、または各ス
ロットへのリードライトブロック数をカウントすること
により一括管理することが可能となる。これによりデー
タをストライピングして複数のディスクに格納するディ
スクアレイ装置において、ホストと各ディスク間のデー
タ転送における同期をとるためのバッファメモリを各デ
ィスクごとに設ける必要が無いので、ハードウェアを削
減することができ、低コスト化が図れる。またバッファ
メモリの管理が高速化され、データ転送速度が改善され
る。
【図面の簡単な説明】
【図1】本発明の一実施例のディスクアレイ装置の構成
を示すブロック図。
【図2】図1におけるバッファメモリのスロットとブロ
ックへの分割を示す説明図。
【図3】図1におけるバッファメモリ管理テーブルのビ
ットマップを示す図。
【図4】パリティの生成を伴わない場合のバッファメモ
リへのデータ格納の説明図。
【図5】データ書き込み時のバッファメモリ管理テーブ
ルのビットマップの一例を示す図。
【図6】データ書き込み時の特にスロットがラップアラ
ウンドした場合のバッファメモリ管理テーブルのビット
マップの一例を示す図。
【図7】データ読み出し時のバッファメモリ管理テーブ
ルのビットマップの一例を示す図。
【図8】データ読み出し時の特にスロットがラップアラ
ウンドした場合のバッファメモリ管理テーブルのビット
マップの一例を示す図。
【図9】ビットマップによるバッファメモリ管理のデー
タ書き込み時の制御フロー図。
【図10】ビットマップによるバッファメモリ管理のデ
ータ書き込み時の制御フロー図。
【図11】データ書き込み時のバッファメモリ管理を、
有効データブロック数で行う場合のカウントデータの構
成を示す図。
【図12】データ読み出し時のバッファメモリ管理を、
有効データブロック数で行う場合のカウントデータの構
成を示す図。
【図13】有効データブロック数でデータ書き込み時の
バッファメモリ管理を行う場合の制御フロー図。
【図14】有効データブロック数でデータ読み出し時の
バッファメモリ管理を行う場合の制御フロー図。
【図15】パリティ生成を伴う場合のデータ及びパリテ
ィのバッファメモリへの格納の説明図。
【符号の説明】
1…上位インタフェース、2…バッファメモリ、3…バ
ッファメモリ管理テーブル、4…マイクロプロセッサ、
5−0ないし5−3…ディスク、7…ディスクインタフ
ェース、20−0ないし20−3…スロット。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】複数のディスク装置と、ホストおよび前記
    ディスク装置が接続され、ホストからディスク装置への
    データ書き込み時には、ホストからのデータを分割して
    前記複数のディスク装置に格納し、ディスク装置からホ
    ストへのデータ読み出し時には、前記複数ディスクに分
    割して格納されたデータを読み出して結合し、元のデー
    タに復元してホストに転送するディスクアレイ制御部
    と、前記ディスクアレイ制御部に内蔵され、前記複数の
    ディスク装置にリードライトするデータを一時格納する
    ためのバッファメモリとを有して成るディスクアレイ装
    置において、前記バッファメモリを、同時動作する前記
    ディスク装置の数以上の、各々が少なくとも前記ディス
    ク装置の1トラックの記憶容量以上の容量を持つ複数の
    スロットに分割し、分割した前記スロットをそれぞれ前
    記複数のディスク装置に割付け、前記スロットは、各々
    独立したFIFO(先入れ,先だし)メモリとして管理
    するようにしたことを特徴とするディスクアレイのバッ
    ファメモリ管理方法。
  2. 【請求項2】請求項1において、前記バッファメモリの
    管理方法は、各スロットをディスク装置への最小アクセ
    ス単位(以下ブロックと呼ぶ)に分割し、ディスクアレ
    イ制御部に、全てのブロックに対応して各ブロックのデ
    ータの存在の有無を表すビットマップを設け、ホストか
    らディスク装置へのデータ書き込み時には、ホストから
    バッファメモリにデータを書き込んだ後、データが書き
    込まれたブロックに対応するビットマップのビットをセ
    ットし、バッファメモリのブロックからディスク装置に
    データを書き込んだ後、対応するビットマップのビット
    をリセットし、ディスク装置からホストへのデータ読み
    出し時には、ディスク装置からバッファメモリのブロッ
    クにデータが読み出された後、前記ビットマップの対応
    するビットをセットし、バッファメモリからホストにデ
    ータを転送した後、ビットマップの対応するビットをリ
    セットすることによりビットマップを更新し、前記ビッ
    トマップを参照することにより、ホストとバッファメモ
    リ、バッファメモリとディスク装置間のデータのリード
    ライトを制御するディスクアレイのバッファメモリ管理
    方法。
  3. 【請求項3】請求項1において、前記バッファメモリの
    管理方法は、各スロットをブロックに分割し、ディスク
    アレイ制御部に、ホストからディスク装置へのデータ書
    き込み時には、ホストからバッファメモリへのスロット
    あたりの書き込みブロック数の累積値をカウント保持す
    る手段と、各スロットごとにデータが存在するブロック
    の数をカウント保持する手段とを設け、ホストからバッ
    ファメモリにデータを書き込むごとに各スロットあたり
    の書き込みブロック数を、前記スロットあたりの書き込
    みブロック数の累積値と前記各スロットごとの有効デー
    タが存在するブロックの数に加算し、バッファメモリの
    ブロックからディスク装置にデータを書き込むごとに対
    応するスロットの有効データが存在するブロックの数か
    ら1を減算し、ディスク装置からホストへのデータ読み
    出し時には、ディスクアレイ制御部にバッファメモリか
    らホストへのスロットあたりの読み出しブロック数の累
    積値のカウント保持手段と、各スロットごとに有効デー
    タが存在するブロックの数のカウント保持手段とを設
    け、ディスク装置からバッファメモリのブロックにデー
    タを読み出すごとに、対応するスロットごとの有効デー
    タが存在するブロックの数に1を加算し、バッファメモ
    リからホストにデータを読み出すごとに各スロットあた
    りの読み出しブロック数を、前記各スロットごとの有効
    データが存在するブロックの数から減算し、前記バッフ
    ァメモリからホストへのスロットあたりのブロック数の
    累積値に加算し、前記ホストからバッファメモリへのス
    ロットあたりの書き込みブロック数の累積値、各スロッ
    トごとの有効データが存在するブロックの数、バッファ
    メモリからホストへのスロットあたりのデータ読み出し
    ブロック数の累積値を参照することにより、ホストとバ
    ッファメモリ間、バッファメモリとディスク装置間のデ
    ータのリードライトを制御するバッファメモリ管理方
    法。
  4. 【請求項4】請求項1,2または3において、分割した
    書き込みデータからパリティを生成する手段を有するデ
    ィスクアレイ制御装置の、前記生成したパリティを前記
    バッファメモリのスロットに格納するようにしたディス
    クアレイのバッファメモリ管理方法。
JP6112464A 1994-05-26 1994-05-26 ディスクアレイのバッファメモリ管理方法 Pending JPH07319638A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6112464A JPH07319638A (ja) 1994-05-26 1994-05-26 ディスクアレイのバッファメモリ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6112464A JPH07319638A (ja) 1994-05-26 1994-05-26 ディスクアレイのバッファメモリ管理方法

Publications (1)

Publication Number Publication Date
JPH07319638A true JPH07319638A (ja) 1995-12-08

Family

ID=14587300

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6112464A Pending JPH07319638A (ja) 1994-05-26 1994-05-26 ディスクアレイのバッファメモリ管理方法

Country Status (1)

Country Link
JP (1) JPH07319638A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117472288A (zh) * 2023-12-27 2024-01-30 成都领目科技有限公司 一种基于raid0硬盘组的io写入方法及模型

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117472288A (zh) * 2023-12-27 2024-01-30 成都领目科技有限公司 一种基于raid0硬盘组的io写入方法及模型
CN117472288B (zh) * 2023-12-27 2024-04-16 成都领目科技有限公司 一种基于raid0硬盘组的io写入方法及模型

Similar Documents

Publication Publication Date Title
JP4314651B2 (ja) ディスクアレイ装置及びデータ記録再生方法
US5191584A (en) Mass storage array with efficient parity calculation
JP4299536B2 (ja) Dramベースのランダム・アクセス・メモリ・サブシステムでツリー・アクセスに関する性能を改善するためのマルチ・バンク・スケジューリング
US6101615A (en) Method and apparatus for improving sequential writes to RAID-6 devices
US7519770B2 (en) Disk array control device with an internal connection system for efficient data transfer
US5694619A (en) System for exclusively controlling access of a semiconductor memory module using a backup memory and compression and decompression techniques
EP0249091A2 (en) Parity spreading to enhance storage access
JP3065481B2 (ja) ディスク・アレイ装置およびデータの格納方法
WO2007135381A2 (en) Redundant storage of data on an array of storage devices
EP0797141A1 (en) Computer system
US9626246B1 (en) System and method for I/O optimized data migration between high performance computing entities and a data storage supported by a de-clustered raid (DCR)architecture with vertical execution of I/O commands
US5226010A (en) Method and apparatus for simultaneous, interleaved access of multiple memories by multiple ports
JP3250861B2 (ja) ディスク装置システム
CN101482802A (zh) 独立磁盘冗余阵列5扩展方法及装置
US5202856A (en) Method and apparatus for simultaneous, interleaved access of multiple memories by multiple ports
JPH07319638A (ja) ディスクアレイのバッファメモリ管理方法
JPH07200187A (ja) ディスクアレイ装置
US4400793A (en) Method and arrangement for fast access to CCD-stores
US7552278B2 (en) Disk array access dynamic control device and method
US20060112301A1 (en) Method and computer program product to improve I/O performance and control I/O latency in a redundant array
JP3428350B2 (ja) 記憶装置システム
JPH08501643A (ja) コンピュータ・メモリ・アレイ・コントロール
Chang et al. The designs of RAID with XOR engines on disks for mass storage systems
JPS60201453A (ja) 記憶装置アクセス制御方式
JP2504193B2 (ja) 緩衝記憶付き制御装置