JPH10269695A - コンピュータシステムにおける記憶装置の制御方式 - Google Patents

コンピュータシステムにおける記憶装置の制御方式

Info

Publication number
JPH10269695A
JPH10269695A JP9071309A JP7130997A JPH10269695A JP H10269695 A JPH10269695 A JP H10269695A JP 9071309 A JP9071309 A JP 9071309A JP 7130997 A JP7130997 A JP 7130997A JP H10269695 A JPH10269695 A JP H10269695A
Authority
JP
Japan
Prior art keywords
packet
data
storage device
computer system
cache
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
JP9071309A
Other languages
English (en)
Inventor
Taisuke Kaneda
泰典 兼田
Takashi Oeda
高 大枝
Naoto Matsunami
直人 松並
Takashi Arakawa
敬史 荒川
Ikuya Yagisawa
育哉 八木沢
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 JP9071309A priority Critical patent/JPH10269695A/ja
Publication of JPH10269695A publication Critical patent/JPH10269695A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 【課題】低価格で比較的低性能なプロセッサを用いて
も、高速にディスク装置とキャッシュの制御を行うこと
ができるRAID制御コントローラを提供することにあ
る。 【解決手段】ホストコンピュータのプロセッサには、R
AID制御コントローラと、あらかじめ想定されるいく
つかの要求を複合パケットとして生成するパケット生成
手段を設け、さらに、RAID制御コントローラのプロ
セッサには、キャッシュ内のデータの有無をチェックす
るヒットミス判定手段と、前記パケット生成手段によっ
て作られた複合パケットの中から有効なパケットを選択
するパケット選択手段とを設け、前記パケット選択手段
は、前記ヒットミス判定手段の判定結果に基づき、パケ
ット生成手段で作られた複数のパケットの中から、有効
なパケットを選択し、選択したパケット内の情報に基づ
き、ディスク装置とキャッシュの制御を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムと記憶装置(ディスク装置等)間のデータ転送制御
方式に関する。特に、複数のディスク装置にデータを分
散させて保持し、各ディスク装置には前記データから求
める冗長データを付加して保持するコンピュータシステ
ムの記憶装置に適応する。前記記憶装置は、一般的に
「ディスクアレイ装置」や「RAID(Redundant Arra
ys of Inexpensive Disks)」と呼ばれている。
【0002】
【従来の技術】
●RAIDとは 従来、単体で用いられていたディスク装置(ハードディ
スク装置等)に代えて、複数のディスク装置を並列に動
かして読み出し/書き込みの高速化を図り、冗長構成に
よって信頼性をあげた外部記憶装置であるディスクアレ
イ装置が考えられている(論文:"A Case for Redundan
t Arrays of Inexpensive Disks(RAID)", David A.Pa
tterson, Garth Gibson, and Randy H.Katz, Computer
ScienceDivision Department of Electrical Engineeri
ng and Computer Science, University of California
Berkelay)。前記論文の中では、ディスクアレイ装置の
構成と冗長データの配置方式により、そのレベルに1か
ら5までの番号が与えられている。RAID3は、大量
のデータを転送するシーケンシャルファイルアクセスに
対し性能の向上が見込め、RAID5は、小さなサイズ
の読み書きが大量に発生するランダムアクセスに対して
性能の向上が見込まれることは周知の通りである(日経
エレクトロニクス 1993/4/26 No.576 P.77〜91「特集デ
ィスクアレイ装置」)。
【0003】RAID制御とは ここで、RAID制御について、図19を用いて説明す
る。ディスクアレイ装置は複数のディスク装置を有す
る。RAID制御とは、どのようにデータを分散させ、
また、どのように冗長データを作成し、冗長データをど
こに格納するかを規定することである。
【0004】図19に示すように、3台のディスク装置
で構成するディスクアレイ装置には、0から7までのデ
ータ格納領域がある。このデータ格納領域は「ストライ
プ」と呼ばれ、図19では、32KBのデータを格納す
ることができる。
【0005】また、P01,P23,P45,P67で
表す冗長データ格納領域がある。P01には、ストライ
プ0番とストライプ1番に格納しているデータの排他的
論理和(XOR)を演算した(P01)=(ストライプ
0のデータ)XOR(ストライプ1のデータ)を格納す
る。同様にPmnの場合は、(Pmn)=(ストライプ
nのデータ)XOR(ストライプmのデータ)を格納す
る。このような冗長データは、ディスクアレイ装置を構
成するディスク装置うち、1台のディスク装置が壊れた
ときに有効になる。この「1台のディスク装置が壊れ
た」状態を「縮退状態」と呼ぶが、この縮退状態におけ
る読み書き処理については後述する。
【0006】データ格納領域のストライプn番からスト
ライプm番と、冗長データ格納領域Pmnをまとめて、
ストライプグループと呼ぶ。コンピュータシステムから
ディスクアレイ装置を見ると、ストライプ0番から7番
まで連続した論理的な1台の記憶装置として認識され
る。しかし、実際には複数のディスク装置を使用してい
る。
【0007】図19に示したデータ領域と冗長データの
配置パターンは「Left-Asymmetric」と呼ばれ、RAI
D5のディスクアレイ装置では一般的な冗長データの配
置方式である。
【0008】リード処理 まず、コンピュータシステムがディスクアレイ装置から
データを読み出す処理について説明する。例えば、スト
ライプ4と5には、アプリケーションが格納されてい
る。コンピュータシステムがこのアプリケーションの読
み出し要求をディスクアレイ装置に発行すると、ディス
クアレイ装置は、物理ディスク1番のストライプ4番
(64KB目からの32KB)と、物理ディスク2番の
ストライプ5番(64KB目からの32KB)を読み出
しコンピュータシステムに転送する。
【0009】ライト処理 次にコンピュータシステムがディスクアレイ装置にデー
タを書き込む処理について説明する。ディスクアレイ装
置の書き込み処理は、冗長データがあるために、単体で
使用されるディスク装置とは異なる。データ領域に書き
込みを行うと、冗長データも更新する必要がある。例え
ば、ストライプ6番にデータを書き込む時には、2つの
方式がある。
【0010】第1の方法は、ストライプ6番にデータを
書き込む前に、(P67)=(ストライプ6のデータ)
XOR(ストライプ7のデータ)の演算を行い、冗長デ
ータP67を生成し、ストライプ6のデータと、冗長デ
ータP67を書き込む方式である。P67を生成するた
めには、ストライプ7のデータを読み出す必要がある。
【0011】第2の方法は、 (P67)=(書き込む前のストライプ6のデータ)X
OR(ストライプ6に書き込むデータ)XOR(書き込
む前のP67の冗長データ) を演算する方式である。上記演算を行うためには、スト
ライプ6にデータを書き込む前に、ストライプ6のデー
タと冗長データP67を読み出し、新しいP67を求め
てから、ストライプ6にデータを書き込み、冗長データ
P67を書き込む。
【0012】第1の方式では、データを書き込む際に、
ストライプグループのディスク装置を全て占有する。第
2の方式では、占有するディスク装置台数が2台です
む。このように、従来の単体使用していたディスク装置
では、1回の書き込み命令でライト処理が終了していた
のに比べ、RAID5では、第1の方式で1回の読み出
しと2回の書き込み(計3回)、第2の方式で、2回の
読み出しと2回の書き込み(計4回)のディスクアクセ
スが必要になる。このように、RAIDではライト時の
ディスクアクセス回数が増え性能が低下する、この「ラ
イトペナルティ」が問題とされている。
【0013】縮退時のリード処理 冗長データにパリティを用いるディスクアレイ装置にお
いて特徴的な、縮退時のリード処理について説明する。
例えば、図19において、ディスク装置1番が故障して
い読み書きできなくなったとする。この状態で、ストラ
イプ4番と5番に格納されたアプリケーションを読み出
すことを考える。ディスクアレイ装置は、まず、ストラ
イプ4番からアプリケーションの前半分を読み出そうと
するが、エラーが発生して読み出すことができない。こ
のような場合、ディスクアレイ装置は、冗長データP4
5とストライプ5番のデータを読み出し、(ストライプ
4のデータ)=(P45)XOR(ストライプ5のデー
タ)を演算し、壊れたディスク装置1番のデータを生成
する。生成したストライプ4のデータと、読み出したス
トライプ5のデータをコンピュータシステムに転送す
る。これにより、ディスク装置が1台壊れた縮退状態に
おいてもデータの読み出しを行うことができる。
【0014】もちろん、ディスクアレイ装置が、あらか
じめディスク装置1番が壊れていることを知っていれ
ば、ストライプ4番に対する読み出し処理は省略でき
る。
【0015】パリティ合わせ 縮退時に正しいデータを読み出すためには、正しいパリ
ティが生成されていなけらばならない。このパリティ合
わせには、2つの方式が用いられている。
【0016】第1の方法は、全てのストライプグループ
に対して、(Pmn)=(ストライプnのデータ)XO
R(ストライプmのデータ)を演算する方式である。
【0017】第2の方法は、ディスクアレイを構成する
全てのディスク装置に対して、ゼロを書き込む方式であ
る。第2の方式は、演算が必要な第1の方式に比べて、
ディスク装置にデータを書き込むだけであり、処理が簡
略化できる。上記パリティの演算式が満たされていれ
ば、書き込むデータはゼロでなくても良い。
【0018】ライトペナルティへの対策 RAIDで問題とされているライトペナルティを低減す
る方法として、キャッシュを用いた方式が多く考えられ
ている。米国特許5418921(1995/5/23)は、ライトバッ
クキャッシュを用いて、ライトペナルティを低減する方
法を提案している。特開平4-245352は、パリティの更新
を非同期化することによって、さらにライトペナルティ
を低減する方法を提案している。
【0019】
【発明が解決しようとする課題】
ホストCPU方式と専用ハードウエア方式 以上示したRAID制御を行うどの部位で行うかによ
り、大きく2つの方式がある。1つは、ホストコンピュ
ータのプロセッサパワーを利用してRAID制御を行う
ホストCPU方式(日経オープンシステムズ 1993/12 N
o.9 P.155〜161「ソフトウエアによるRAID」)。も
う一つは、RAID制御を専用のプロセッサや専用のハ
ードウエアを用いて行う、専用ハードウエア方式であ
る。
【0020】ホストCPU方式は、特別にハードウエア
を付加しなくても、RAID制御が可能なため、比較的
低価格にRAIDを構築できるメリットがある。さら
に、ホストコンピュータのプロセッサパワーが向上する
と、RAID制御も高性能化されるスケーラビリティが
ある。しかし、ホストコンピュータのプロセッサパワー
を利用しているため、高性能を求めると、それだけプロ
セッサパワーを必要とする。
【0021】専用ハードウエア方式では、RAID制御
を専門に行うプロセッサや、排他的論理和(XOR)を
高速に演算するLSI等を使用する。ホストCPU方式
とは異なり、ホストコンピュータのプロセッサパワー
は、ほとんど必要としない。しかし、ハードウエアが高
価で、さらに、ホストコンピュータの性能に見合った構
成のハードウエアが必要になる。このため、ホストコン
ピュータの性能が向上すると、RAID制御を行うハー
ドウエア(RAID制御コントローラボード)も、それ
にあわせて作り替え、高性能化に対応する必要がある。
もし、ホストコンピュータの必要とするRAIDの性能
より、RAID制御コントローラボードの性能が劣る
と、トータルシステムとしての性能は、RAID制御コ
ントローラボードに依存し、ホストコンピュータのもつ
本来の性能を発揮させることができない。
【0022】本発明の目的 本発明の目的は、低価格プロセッサによる高性能RAI
D制御コントローラの実現にある。一般的に、低価格な
プロセッサ(演算処理装置,CPU:CentralProcessin
g Unit)は、性能が低い。低価格なプロセッサを用い
て、RAID制御コントローラを実現すると、RAID
制御コントローラの性能がネックとなり、ホストコンピ
ュータの性能が発揮できないことがある。本発明では、
ホストコンピュータで使用されるプロセッサより低価格
で低性能なプロセッサを利用してRAID制御コントロ
ーラを実現しても、性能の低下の起こらないアーキテク
チャと制御方式を提供することにある。
【0023】
【課題を解決するための手段】1つ以上のプロセッサを
有するホストコンピュータに、1つ以上のプロセッサを
有するRAID制御コントローラを接続し、前記RAI
D制御コントローラを介して少なくとも1台以上のディ
スク装置を接続する。
【0024】上記目的を達成するために、ホストコンピ
ュータの実装したプロセッサによって実行するパケット
生成手段と、RAID制御コントローラに実装したプロ
セッサによって実行するパケット選択手段とヒットミス
判定手段を設けた。さらに、RAID制御コントローラ
には、パケット保持手段と、データ保持手段を設けた。
【0025】また、RAID制御コントローラには、R
AIDに特有な排他的論理和(XOR)演算を高速に行
うデータ演算手段を設けても良い。
【0026】
【発明の実施の形態】以下、本発明の実施形態を図を用
いて説明する。
【0027】《第1の実施形態》図1と図2は、本発明
の実施形態であるコンピュータシステムの概略構成を示
す図である。図1は、ホストコンピュータとディスク制
御コントローラの接続にSCSIバスを利用した場合、
図2はPCIバスを利用した場合を示す。
【0028】システム構成(SCSIバス接続) まず図1に、SCSIバスを利用した場合の構成を示
す。ホストコンピュータ100は、プロセッサ101
と、メモリ/拡張バスコントローラ102を介して、メ
インメモリ103と、拡張バス105で構成する。メイ
ンメモリ103には、プロセッサ101が実行するプロ
グラムや、プログラムが使用するデータ等を保持するこ
とができる。本実施形態の場合、拡張バス105には、
PCI(Peripheral Compornent Interconnect)を用い
ているが、その他のバスを利用しても同様に実現可能で
ある。
【0029】拡張バス105には、ホストコンピュータ
100にディスク制御コントローラ200を接続するた
めのSCSIコントローラ109を設けている。図1の
場合、ホストコンピュータ100とディスク制御コント
ローラ200を接続するバスとして、SCSI(Small
Computer System Interface)バス199を利用した
が、そのほかのバスを利用しても実現可能である。後に
示す図2の構成では、PCIを利用した場合を示してい
る。SCSIには、幾つかのバージョン(SCSI,SCSI-2,
SCSI-3, Wide-SCSI, Ultra-SCSI等)があるが、本発明
はどのバージョンを利用しても実現可能である。
【0030】ディスク制御コントローラは、プロセッサ
201と、SCSIコントローラ202と、キャッシュ
203と、SCSIコントローラ210で構成し、PC
Iバス205によって接続している。もちろんPCIバ
ス以外のバスを利用しても実現可能である。
【0031】ホストコンピュータ100とは、SCSI
バス199を介して、SCSIコントローラ202で接
続する。もう1つのSCSIコントローラ210には、
SCSIバス249を介して、ディスク装置901を接
続している。SCSIバスに接続されるディスク装置
は、SCSIバス上で識別するためのターゲットID番
号を持つ。本実施形態では、ディスク装置901に、タ
ーゲットID0番を割り当てている。
【0032】システム構成(PCIバス接続) 図2に、PCIバスを利用した場合の構成を示す。ホス
トコンピュータ100の構成は、図1に示したSCSI
バス接続の構成から、SCSIコントローラ109を取
り除いた構成と同じである。ホストコンピュータ100
と、ディスク制御コントローラ250は、バス接続器2
51で接続する。本実施形態の場合、バス接続器251
には、プロセッサ252とPCI−to−PCIブリッ
ジ253を設けている。PCI−to−PCIブリッジ
253から、PCIバス255を介して、キャッシュ2
54と、SCSIコントローラ260を設けている。S
CSIコントローラ260には、SCSIバス299を
介して、ディスク装置901を接続している。本実施形
態では、ディスク装置901に、ターゲットID0番を
割り当てている。
【0033】以下、図2を用いて本実施形態におけるリ
ード処理(ホストコンピュータがディスク装置からデー
タを読み出す処理)と、ライト処理(ホストコンピュー
タがディスク装置にデータを書き込む処理)を説明す
る。さらに、キャッシュに蓄積しておいたデータをディ
スク装置に書き出す、吐き出し処理についても説明す
る。
【0034】リード処理 まずリード処理を説明する。図3にプロセッサ101と
プロセッサ252内のプログラム構成を示す。アプリケ
ーションプログラム301や、システムプログラム30
2がディスク装置からデータを読み出すときには、ファ
イルシステムプログラム305にファイルの読み出しを
要求する。一般的に、ファイルシステムプログラム30
5に対する要求は、ファイル名を用いて行われることが
多い。図3の場合には、アプリケーションプログラム3
01が、ファイル名「document.txt」のファイル読み出
しを要求している。ファイルシステムプログラム305
は、要求されたファイルが、ディスク装置のどこに格納
されているかを検索し、論理ブロックアドレス(LB
A:Logical Block Address)と、論理ブロック数に変
換する。ファイルの検索には、図4に示すような表を使
用することが多い。
【0035】ディスク装置の構成を図5に示す。ディス
ク装置は、一定の大きさごとの論理ブロック401によ
って管理されている。一般的に1つの論理ブロックの大
きさは、512バイトで構成されるディスク装置が多
い。論理ブロックには、論理ブロックアドレス(LB
A)と呼ばれる0をベースとするアドレスが付加されて
いる。よって、ディスク装置からデータを読み出す場合
には、先頭の論理ブロックアドレスと、読み出す論理ブ
ロックの数が必要になる。
【0036】図4の場合には、ターゲットID0番のデ
ィスク装置の100番の論理ブロックアドレスから1個
の論理ブロックに「document.txt」が格納されているこ
とを示している。ファイルシステムプログラム305
は、論理ブロックアドレス100番から1個のブロック
を読み出すように、パケット生成手段310に要求を発
行する。
【0037】パケット生成手段310は、ファイルシス
テムプログラム305の要求に基づいて、図6(1)に
示す、2つのパケット601と602を含む複合パケッ
ト600をメインメモリ103内に作成する。各パケッ
トは、ディスク装置番号保持部610と、論理ブロック
アドレス保持部611と、論理ブロック数保持部612
と、コマンド保持部613と、キャッシュ番号保持部6
14を有する。
【0038】パケット生成手段310は、キャッシュ2
54に目的のデータがなかった場合(キャッシュミス)
のパケット601と、キャッシュ254に目的のデータ
があった場合(キャッシュヒット)のパケット602を
次のように生成する。
【0039】キャッシュミスのパケット601は、ディ
スク装置901から目的のデータを読み出し、ホストコ
ンピュータ100に転送するためのパケットである。
【0040】ディスク装置番号保持部610には、ディ
スク装置のSCSIのターゲットIDを保持する。本実
施形態の場合、ディスク装置901は、SCSIのター
ゲットID0番なので0を保持する。論理ブロックアド
レス保持部611と論理ブロック数保持部612には、
ファイルシステムプログラム305から要求された、論
理ブロックアドレス100とブロック数1を保持する。
コマンド保持部613には、ディスク装置901に発行
するコマンドが読み出しであることを示す「DR」を保
持する。
【0041】キャッシュヒットのパケット602は、目
的のデータをキャッシュ254からホストコンピュータ
100に転送するためのパケットである。
【0042】ディスク装置番号保持部610には、ディ
スク装置のSCSIのターゲットIDを保持する。本実
施形態の場合、ディスク装置901は、SCSIのター
ゲットID0番なので0を保持する。論理ブロックアド
レス保持部611と論理ブロック数保持部612には、
ファイルシステムプログラムから要求された、論理ブロ
ックアドレス100とブロック数1を保持する。キャッ
シュ番号保持部614には、目的のデータが格納されて
いる可能性があるキャッシュ254内のキャッシュセグ
メント番号を保持する。
【0043】本実施形態では、キャッシュセグメント番
号を以下のアルゴリズムによって決定する。本実施形態
で使用するキャッシュ254の内部を図7に示す。キャ
ッシュ254内には、キャッシュを管理する管理テーブ
ル700と、データ保持部750の2つ部位を設けてい
る。管理テーブル700は、0から62までのキャッシ
ュセグメント番号で管理しており、それぞれ、論理ブロ
ックアドレス保持部701と、状態保持部702と、パ
ケット保持部703と、アドレス保持部704で構成し
ている。データ保持部750は、512バイトのデータ
を格納できる複数(本実施形態では63個)のキャッシ
ュセグメント751で構成している。各キャッシュセグ
メント751のキャッシュ254内のメモリアドレス
は、管理テーブル700のアドレス保持部704に保持
している。よって、キャッシュセグメント番号から、そ
のキャッシュセグメントに格納されているデータの論理
ブロックアドレス(LBA)や、状態、データまでを関
連づけることができている。
【0044】キャッシュ番号保持部614には、キャッ
シュセグメント番号を保持する。キャッシュセグメント
番号は、以下の演算により求める。
【0045】(キャッシュセグメント番号)=(論理ブ
ロックアドレス)%(全キャッシュセグメント数) ここで、%演算子は、論理ブロックアドレスをキャッシ
ュセグメント数で割ったときの余りを求める演算子であ
る。目的の論理ブロックアドレスが100、キャッシュ
254内の全キャッシュセグメント数が63個とする
と、 (キャッシュセグメント番号)=100%63=37 となる。よって、キャッシュ番号保持部614には、キ
ャッシュセグメント番号「37」を保持する。
【0046】パケット生成手段310は、複合パケット
600をメインメモリ103内に作成し終わると、複合
パケット600のメインメモリ内での位置を示すアドレ
スを、ヒットミス判定手段350に通達する。図3に示
したように、パケット生成手段310までの処理は、ホ
ストコンピュータ100のプロセッサ101で行い、ヒ
ットミス判定手段350からの処理は、ディスク制御コ
ントローラ250のプロセッサ252で行う。
【0047】ヒットミス判定手段350は、複合パケッ
ト600のアドレスを受け取ると、パケット602か
ら、論理ブロックアドレス(LBA)と、キャッシュセ
グメント番号を獲得する。ヒットミス判定手段350
は、獲得したキャッシュセグメント番号をもとに、キャ
ッシュセグメントが利用可能かどうかを判定する。状態
保持部702の詳細を図8に示す。状態保持部702
は、データ状態保持部801と、処理状態保持部802
の2つの部位で構成している。処理状態保持部802が
「1」の場合、そのキャッシュセグメントを使用して処
理中であることを表す。よって、ヒットミス判定手段3
50は、状態保持部802が「0」になるまで待つ。状
態保持部802が「0」になると、ヒットミス判定手段
350は、処理を開始する。ヒットミス判定手段350
は、まず対応するキャッシュセグメントの処理状態保持
部802に「1」を保持する。次に、キャッシュ254
内に論理ブロックアドレスに該当するデータが格納され
ているかを判定する。
【0048】具体的には、図7に示すキャッシュ254
内の管理テーブル700のキャッシュセグメント37番
に着目する。キャッシュセグメント37番の状態保持部
702をチェックし、有効なデータが入っていることを
確認する。キャッシュセグメントが有効なデータを持つ
場合には、状態保持部702のデータ状態保持部801
が「1」になっている。有効なデータがない場合には
「0」で、これはキャッシュミスを表す。データ状態保
持部801が「1」の場合には、さらに、パケット60
2から獲得した論理ブロックアドレスと、キャッシュセ
グメント37番の論理ブロックアドレス保持部701の
保持する論理ブロックアドレスが一致しているかをチェ
ックする。論理ブロックアドレスが一致している場合に
は、キャッシュヒットとし、一致していない場合には、
キャッシュミスとする。
【0049】判定が終了すると、判定結果と複合パケッ
ト600のアドレスをパケット選択手段355に通達す
る。
【0050】ヒットミス判定手段350の判定結果がキ
ャッシュミスだった場合、パケット選択手段355は、
パケット601のアドレスをディスク制御手段365に
通達する。ディスク制御手段365は、パケット601
のアドレスを受け取ると、パケット601に基づき、S
CSIコントローラ260を制御して、目的のデータを
読み出す。読み出したデータは、PCI−to−PCI
ブリッジ253を経由して、ホストコンピュータ100
のメインメモリ103に転送する。転送が終了すると、
ディスク制御手段365は、パケット選択手段355に
転送処理を報告する。パケット選択手段355は、処理
状態保持部802を「0」にし、ファイルシステムプロ
グラム305にリード処理が終了したことを報告する。
ヒットミス判定手段350の判定結果がキャッシュヒ
ットだった場合には、パケット602のアドレスをキャ
ッシュ制御手段360に通達する。キャッシュ制御手段
360は、パケット602のアドレスを受け取ると、パ
ケット602に基づき、目的のデータをキャッシュ25
4からPCI−to−PCIブリッジ253を経由し
て、ホストコンピュータ100のメインメモリ103に
転送する。転送が終了すると、キャッシュ制御手段36
0は、パケット選択手段355に転送終了を報告する。
パケット選択手段355は、処理状態保持部802を
「0」にし、ファイルシステムプログラム305にリー
ド処理が終了したことを報告する。
【0051】ライト処理 次にライト処理を説明する。図3において、アプリケー
ションプログラム301や、システムプログラム302
がディスク装置にデータを書き込むときには、ファイル
システムプログラム305にファイルの書き込みを要求
する。ファイルシステムプログラム305は、書き込み
要求を受け取ると、図9に示すような表を参照して、デ
ィスク装置内の空いている領域を検索し、空き領域にフ
ァイルを書き込む。
【0052】ここで、書き込むファイルのファイル名を
「data.txt」で、ファイルの大きさが1論理ブロック分
であるとする。本実施形態の場合、図9より、ファイル
システムプログラム305は、論理ブロックアドレス1
01番が空いていることを見つける。要求のあったファ
イルを書き込むために、ファイルシステムプログラム3
05は、パケット生成手段310に、論理ブロックアド
レス101番から1個の論理ブロックにデータを書き込
むように要求を発行する。さらに、図4に示した表に新
たに、ファイル名「data.txt」、ID番号0、論理ブロ
ックアドレス101、論理ブロック数1を登録する。
【0053】パケット生成手段310は、ファイルシス
テムプログラム305の要求に基づいて、図6(2)に
示す、2つのパケット603と604を含む複合パケッ
ト600をメインメモリ103内に作成する。パケット
生成手段310は、キャッシュ254にデータを格納す
るためのパケット603と、キャッシュ254からディ
スク装置901にデータを書き込むためのパケット60
4を次のように作成する。
【0054】パケット603は、ホストコンピュータ1
00のメインメモリ103からキャッシュ254にデー
タを転送するためのパケットである。
【0055】ディスク装置番号保持部610には、ディ
スク装置のSCSIのターゲットIDを保持する。本実
施形態の場合、ディスク装置901は、SCSIのター
ゲットID0番なので0を保持する。論理ブロックアド
レス保持部611と論理ブロック数保持部612には、
ファイルシステムプログラム305から要求された、論
理ブロックアドレス101とブロック数1を保持する。
キャッシュ番号保持部614には、キャッシュセグメン
ト番号を保持する。キャッシュセグメント番号はリード
処理の時と同様に求めることができ、 (キャッシュセグメント番号)=101%63=38 となる。よって、キャッシュ番号保持部614には、キ
ャッシュセグメント番号「38」を保持する。
【0056】パケット604は、キャッシュ254内に
格納したデータを、ディスク装置901に書き込むため
のパケットである。
【0057】ディスク装置番号保持部610には、ディ
スク装置のSCSIのターゲットIDを保持する。本実
施形態の場合、ディスク装置901は、SCSIのター
ゲットID0番なので0を保持する。論理ブロックアド
レス保持部611と論理ブロック数保持部612には、
ファイルシステムプログラム305から要求された、論
理ブロックアドレス101とブロック数1を保持する。
コマンド保持部には、ディスク装置901に発行するコ
マンドが書き込みであることを示す「DW」を保持す
る。キャッシュ番号保持部614には、キャッシュセグ
メント番号「38」を保持する。
【0058】パケット生成手段310は、複合パケット
600をメインメモリ103内に作成し終わると、複合
パケット600のメインメモリ内での位置を示すアドレ
スを、ヒットミス判定手段350に通達する。
【0059】ヒットミス判定手段350は、複合パケッ
ト600のアドレスを受け取ると、パケット603か
ら、論理ブロックアドレス(LBA)と、キャッシュセ
グメント番号を獲得する。ヒットミス判定手段350
は、獲得したキャッシュセグメント番号をもとに、キャ
ッシュセグメントが利用可能かどうかを判定する。状態
保持部702の詳細を図8に示す。状態保持部702
は、データ状態保持部801と、処理状態保持部802
の2つの部位で構成している。処理状態保持部802が
「1」の場合、そのキャッシュセグメントを使用して処
理中であることを表す。よって、ヒットミス判定手段3
50は、状態保持部802が「0」になるまで待つ。状
態保持部802が「0」になると、ヒットミス判定手段
350は、処理を開始する。ヒットミス判定手段350
は、まず対応するキャッシュセグメントの処理状態保持
部802に「1」を保持する。次に、キャッシュ254
内にどのようなデータが格納されているかを判定する。
【0060】具体的には、図7に示すキャッシュ254
内の管理テーブル700のキャッシュセグメント38番
に着目する。キャッシュセグメントの論理ブロックアド
レス保持部701と状態保持部702とパケット保持部
703の状態により、以下4つの場合に分けて考えるこ
とができる。
【0061】(1)キャッシュが未使用 キャッシュセグメント38番の状態保持部702をチェ
ックし、既にデータが格納されいるか否かをチェックす
る。データ状態保持部801が「0」であれば、キャッ
シュが未使用であり、キャッシュヒットとする。
【0062】(2)キャッシュが使用中かつ論理ブロッ
クアドレスが一致 キャッシュセグメント38番の状態保持部702をチェ
ックし、既にデータが格納されいるか否かをチェックす
る。データ状態保持部801が「1」であれば、キャッ
シュが使用中である。さらに、論理ブロックアドレス保
持部701に保持されている論理ブロックアドレスと、
パケット603から獲得した論理ブロックアドレスが一
致した場合にはキャッシュヒットとする。
【0063】(3)キャッシュが使用中かつパケット保
持部にパケットアドレスなし キャッシュセグメント38番の状態保持部702をチェ
ックし、既にデータが格納されいるか否かをチェックす
る。データ状態保持部801が「1」であれば、キャッ
シュが使用中である。さらに、パケット保持部703を
チェックし、パケットが登録されているかを調べる。パ
ケットが登録されていないということは、既にデータを
ディスク装置に書き込むためにパケットを使用したか、
データをディスク装置に書き込む必要がないことを示し
ている。この場合にはキャッシュヒットとする。
【0064】(4)キャッシュが使用中かつパケット保
持部にパケットアドレスあり 上記(1)から(3)以外の場合は、この状態を表す。
この場合にはキャッシュミスとする。
【0065】判定が終了すると、判定結果と複合パケッ
ト600のアドレスをパケット選択手段355に通達す
る。ヒットミス判定手段350の判定結果がキャッシュ
ヒットだった場合、パケット選択手段355は、パケッ
ト603のアドレスをキャッシュ制御360に通達し、
パケット604のアドレスを、管理テーブル700のキ
ャッシュセグメント38番のパケット保持部703に、
論理ブロックアドレスを論理ブロックアドレス保持部7
01に保持する。
【0066】キャッシュ制御手段360は、パケット6
03のアドレスを受け取ると、パケット603に基づ
き、目的のデータをホストコンピュータ100のメイン
メモリ103から、PCI−to−PCIブリッジ25
3を経由してキャッシュ254に転送する。転送が終了
すると、キャッシュ制御手段365は、パケット選択手
段355に転送終了を報告する。パケット選択手段35
5は、処理状態保持部802を「0」にし、ファイルシ
ステムプログラム305にライト処理が終了したことを
報告する。
【0067】判定結果がキャッシュミスのだった場合に
は、管理テーブル700のキャッシュセグメント38番
のパケット保持部703から既に登録されているパケッ
ト(以下「登録済パケット」と呼ぶ)のアドレスを取り
出し、ディスク制御手段365に通達する。
【0068】ディスク制御手段365は、登録済パケッ
トのアドレスを受け取ると、そのパケットに基づき、S
CSIコントローラ260を制御して、目的のデータを
キャッシュ254からディスク装置901に書き込む。
書き込みが終了すると、ディスク制御手段365は、パ
ケット選択手段355に書き込みが終了したことを報告
する。このとき、登録済パケットを処理するとき、キャ
ッシュセグメント38番前後の幾つかの登録済パケット
をまとめて処理することで高速化を図ることができる。
【0069】登録済パケットの処理完了が、ディスク制
御手段365からパケット選択手段355に報告される
と、パケット選択手段355は、パケット603のアド
レスをキャッシュ制御360に通達し、パケット604
のアドレスを、管理テーブル700のキャッシュセグメ
ント38番のパケット保持部703に、論理ブロックア
ドレスを論理ブロックアドレス保持部701に保持す
る。
【0070】キャッシュ制御手段360は、パケット6
03のアドレスを受け取ると、パケット603に基づ
き、目的のデータをホストコンピュータ100のメイン
メモリ103から、PCI−to−PCIブリッジ25
3を経由してキャッシュ254に転送する。転送が終了
すると、キャッシュ制御手段365は、パケット選択手
段355に転送終了を報告する。パケット選択手段35
5は、処理状態保持部802を「0」にし、ファイルシ
ステムプログラム305にライト処理が終了したことを
報告する。
【0071】吐き出し処理 前記記載のライト処理を実行すると、キャッシュ254
内には、ディスク装置901に書き込んでいないデータ
が存在することになる。図3に示す吐き出し制御手段3
80は、まだ、ディスク装置901に書き込んでいない
データを見つけだし、ディスク装置901に書き込む処
理を実行する。
【0072】吐き出し制御手段380は、ホストコンピ
ュータ100の電源遮断通知を受けた時や、タイマによ
り一定時間ごとに起動する。図3に示すように、パケッ
ト間隔監視手段385を設けて、パケット生成手段31
0からヒットミス判定手段350に送られるパケットの
時間間隔を監視しておき、一定時間パケットが来ないこ
とを検出して、吐き出し制御手段380を起動すること
もできる。
【0073】吐き出し制御手段380が起動されると、
吐き出し制御手段380は、管理テーブル700のパケ
ット保持部703をチェックし、登録済パケットのアド
レスが登録されていると、状態保持部702の処理状態
保持部802を「1」にして、その登録済パケットのア
ドレスをディスク制御手段365に通達する。ディスク
制御手段365は、登録済パケットのアドレスを受け取
ると、そのパケットに基づき、SCSIコントローラ2
60を制御して、目的のデータをキャッシュ254から
ディスク装置901に書き込む。書き込みが終了する
と、ディスク制御手段365は、パケット選択手段35
5に書き込みが終了したことを報告する。登録済パケッ
トの処理が終了すると、吐き出し制御手段380は、パ
ケット保持部703から処理の終了した登録済パケット
のアドレスを削除し、処理状態保持部802を「0」に
する。
【0074】吐き出し処理を行うときに、幾つかの登録
済パケットをまとめて処理することで高速化を図ること
ができる。
【0075】《第2の実施形態》図10と図11は、本
発明の実施形態であるコンピュータシステムの概略構成
を示す図である。図10は、ホストコンピュータとRA
ID制御コントローラの接続にSCSIバスを利用した
場合、図11はPCIバスを利用した場合を示す。
【0076】システム構成(SCSIバス接続) まず図10に、SCSIバスを利用した場合の構成を示
す。ホストコンピュータ100は、図1に示した第1の
実施形態と同じ構成である。
【0077】RAID制御コントローラ1000は、プ
ロセッサ201と、SCSIコントローラ202と、D
MAC(Direct Memory Access Controller)290
と、SCSIコントローラ210で構成し、PCIバス
205によって接続している。もちろんPCI以外のバ
スを利用しても実現可能である。さらに、DMAC29
0には、キャッシュ203を接続している。
【0078】ホストコンピュータ100とは、SCSI
バス199を介して、SCSIコントローラ202で接
続する。もう1つのSCSIコントローラ210には、
SCSIバス249を介して、3台のディスク装置91
0,911,912を接続している。SCSIバスに接
続されるディスク装置は、SCSIバス上で識別するた
めのターゲットID番号を持つ。本実施形態では、ディ
スク装置910にターゲットID0を、ディスク装置9
11にターゲットID1を、ディスク装置912にター
ゲットID2を割り当てている。
【0079】システム構成(PCIバス接続) 図11に、PCIバスを利用した場合の構成を示す。ホ
ストコンピュータ100は、図2に示した第1の実施形
態と同じ構成である。
【0080】ホストコンピュータ100と、RAIDコ
ントローラ1100は、バス接続器251で接続する。
本実施形態の場合、バス接続器251には、プロセッサ
252とPCI−to−PCIブリッジ253を設けて
いる。PCI−to−PCIブリッジ253からPCI
バス255を介して、DMAC290と、SCSIコン
トローラ260を設けている。さらに、DMAC290
には、キャッシュ254を接続している。SCSIコン
トローラ260には、SCSIバス299を介して、3
台のディスク装置910,911,912を接続してい
る。SCSIバスに接続されるディスク装置は、SCS
Iバス上で識別するためのターゲットID番号を持つ。
本実施形態では、ディスク装置910にターゲットID
0を、ディスク装置911にターゲットID1を、ディ
スク装置912にターゲットID2を割り当てている。
【0081】ディスク内のデータ配置とパリティ配置 3台のディスク装置910、911、912内のデータ
と冗長データ(パリティ)の配置を図12に示す。この
配置パターンは「Left-Asymmetric」と呼ばれ、RAI
D5では一般的な配置パターンである。
【0082】本実施形態の場合、32KBを1つの単位
(これを「ストライプ」と呼ぶ)として、複数のディス
ク装置に順番にデータを格納する。
【0083】「Dx」で表すデータ格納領域と、「Pm
n」で表すパリティ格納領域があり、パリティ格納領域
Pmnには、ストライプDmとストライプDnに格納し
ているデータの排他的論理和(XOR)を演算した (Pnm)=(Dn)XOR(Dm) を格納する。
【0084】DMAC DMAC290は、ホストコンピュータ100のメイン
メモリ103と、RAID制御コントローラ1100の
キャッシュ254間のデータ転送と、キャッシュ254
内データの排他的論理和(XOR)演算を実行する。D
MAC290の内部構成を図13に示す。DMAC29
0は、PCIバス255と接続するためのPCIバスイ
ンタフェース部291と、メインメモリ103とキャッ
シュ254間のデータ転送を実行する転送部292と、
排他的論理和(XOR)の演算を実行するXOR演算部
293と、キャッシュ254を制御するキャッシュイン
タフェース部294で構成する。
【0085】キャッシュ 本実施形態で使用するキャッシュ254の内部を図14
に示す。キャッシュ254内には、キャッシュを管理す
る管理テーブル700と、データ保持部750と、バッ
ファ部790の3つの部位を設けている。管理テーブル
700は、0から62までのキャッシュセグメント番号
で管理しており、それぞれ、論理ブロック保持部701
と、状態保持部702と、パケット保持部703と、ア
ドレス保持部704で構成している。パケット保持部7
03は、複数のパケット保持することができる。データ
保持部750は、32KBのデータを保持できる複数
(本実施形態では126個)のキャッシュセグメント7
52で構成している。各キャッシュセグメント752の
キャッシュ254内のメモリアドレスは、管理テーブル
700のアドレス保持部704に保持している。バッフ
ァ部790は、旧データバッファ部791と、旧パリテ
ィバッファ部792と、新パリティバッファ部793の
3つのバッファで構成している。
【0086】本実施形態と第1の実施形態の相違は、パ
ケット保持部703が複数のパケットを保持できる点
と、バッファ部790を持つ点である。バッファ部79
0は、RAIDに固有なパリティ生成に使用する。
【0087】以下、図11を用いて本実施形態における
リード処理とライト処理を説明する。さらに、キャッシ
ュに蓄積しておいたデータをディスク装置に書き出す、
吐き出し処理についても説明する。
【0088】リード処理 まず、リード処理を説明する。図3にプロセッサ101
とプロセッサ252内のプログラム構成を示す。アプリ
ケーションプログラム301や、システムプログラム3
02がRAID制御コントローラ1100を介してディ
スク装置からデータを読み出すときには、ファイルシス
テムプログラム305にファイルの読み出しを要求す
る。一般的に、ファイルシステムプログラム305に対
する要求は、ファイル名を用いて行われることが多い。
図3の場合には、「document.txt」のファイル読み出し
を要求している。ファイルシステムプログラム305
は、要求されたファイルが、ディスク装置のどこに格納
されているかを検索し、ストライプ番号に変換する。フ
ァイルの検索には、図15に示す表を使用する。 図1
5の場合、ストライプD4に「document.txt」が格納さ
れいることを示している。ファイルシステムプログラム
305は、ストライプD4を読み出すように、パケット
生成手段310に要求を発行する。
【0089】パケット生成手段310は、ファイルシス
テムプログラム305の要求に基づいて、図16(1)
に示す2つのパケットと651と652を含む複合パケ
ット600をメインメモリ103内に作成する。各パケ
ットは、ディスク装置番号保持部610と、論理ブロッ
クアドレス保持部611と、論理ブロック数保持部61
2と、コマンド保持部613と、キャッシュ番号保持部
614を有する。
【0090】パケット生成手段310は、キャッシュ2
54に目的のデータがなかった場合(キャッシュミス)
のパケット651と、キャッシュ254に目的のデータ
があった場合(キャッシュヒット)のパケット652を
次のように生成する。
【0091】キャッシュミスのパケット651は、ディ
スク装置から目的のデータを読み出しホストコンピュー
タ100に転送するためのパケットである。
【0092】パケット生成手段310は、ファイルシス
テムプログラム305の要求と、図12の構成とを関連
づけ、ID1番のディスク装置911の論理ブロックア
ドレス128番からの64個(64×512B=32K
B)の論理ブロックに目的データが格納されていること
が判る。よって、パケット651の各保持部には、次の
ように値を保持する。ディスク装置番号保持部610に
は、ディスク装置911のSCSIのターゲット番号1
番を保持する。論理ブロックアドレス保持部611と論
理ブロック数保持部612には、論理ブロックアドレス
128とブロック数64を保持する。コマンド保持部6
13には、ディスク装置911に発行するコマンドが読
み出しであることを示す「DR」を保持する。キャッシ
ュ番号保持部614には、以下の演算結果を保持する。
【0093】(キャッシュセグメント番号)=(ストラ
イプ番号)%(全キャッシュセグメント数) ここで、D4のストライプ番号が4、キャッシュ254
内のキャッシュセグメント数が63なので、 (キャッシュセグメント番号)=4%63=4 となる。よって、キャッシュ番号保持部614には、キ
ャッシュセグメント番号「4」を保持する。
【0094】キャッシュヒットのパケット652は、目
的のデータをキャッシュ254からホストコンピュータ
100に転送するためのパケットである。
【0095】キャッシュ番号保持部614には、上記演
算により求めたキャッシュセグメント番号「4」を保持
し、コマンド保持部613には、キャッシュ254から
ホストコンピュータ100のメインメモリ103への転
送であることを示す「MC」を保持する。その他の保持
部は使用しないので未設定のままでよい。
【0096】パケット生成手段310は、複合パケット
600をメインメモリ103内に作成し終わると、複合
パケット600のメインメモリ内での位置を示すアドレ
スを、ヒットミス判定手段350に通達する。図3に示
したように、パケット生成手段310までの処理は、ホ
ストコンピュータ100のプロセッサ101で行い、ヒ
ットミス判定手段350からの処理は、RAID制御コ
ントローラ1100のプロセッサ252で行う。
【0097】ヒットミス判定手段350は、複合パケッ
ト600のアドレスを受け取ると、パケット651か
ら、論理ブロックアドレス(LBA)と、キャッシュセ
グメント番号を獲得する。ヒットミス判定手段350
は、獲得したキャッシュセグメント番号をもとに、キャ
ッシュセグメントが利用可能かどうかを判定する。状態
保持部702の詳細を図8に示す。状態保持部702
は、データ状態保持部801と、処理状態保持部802
の2つの部位で構成している。処理状態保持部802が
「1」の場合、そのキャッシュセグメントを使用して処
理中であることを表す。よって、ヒットミス判定手段3
50は、状態保持部802が「0」になるまで待つ。状
態保持部802が「0」になると、ヒットミス判定手段
350は、処理を開始する。ヒットミス判定手段350
は、まず対応するキャッシュセグメントの処理状態保持
部802に「1」を保持する。次に、キャッシュ254
内にストライプD4のデータが格納されているかを判定
する。
【0098】具体的には、図14に示すキャッシュ25
4内の管理テーブル700のキャッシュセグメント7番
に着目する。キャッシュセグメント7番の状態保持部7
02をチェックし、有効なデータが入っていることを確
認する。キャッシュセグメントが有効なデータを持つ場
合には、状態保持部702のデータ状態保持部801が
「1」になっている。有効なデータがない場合には
「0」で、これはキャッシュミスを表す。データ状態保
持部801が「1」の場合には、さらに、パケット65
1から獲得した論理ブロックアドレスと、キャッシュセ
グメント4番から獲得した論理ブロックアドレスが一致
しているかをチェックする。論理ブロックアドレスが一
致している場合には、キャッシュヒットとし、一致して
いない場合には、キャッシュミスとする。
【0099】判定が終了すると、判定結果と複合パケッ
ト600のアドレスをパケット選択手段355に通達す
る。
【0100】ヒットミス判定手段350の判定結果がキ
ャッシュミスだった場合、パケット選択手段355は、
パケット651のアドレスをディスク制御手段365に
通達する。ディスク制御手段365は、パケット651
のアドレスを受けとると、パケット651に基づき、S
CSIコントローラ260を制御して、目的のデータを
読み出す。読み出したデータは、PCI−to−PCI
ブリッジ253を経由して、ホストコンピュータ100
のメインメモリ103に転送する。転送が終了すると、
キャッシュ制御手段360は、パケット選択手段355
に転送終了を報告する。パケット選択手段355は、処
理状態保持部802を「0」にし、ファイルシステムプ
ログラム305にリード処理が終了したことを報告す
る。 ヒットミス判定手段350の判定結果がキャッシ
ュヒットだった場合、パケット選択手段355は、パケ
ット652のアドレスをキャッシュ制御手段360に通
達する。キャッシュ制御手段360は、パケット652
のアドレスを受けとると、パケット652に基づき、キ
ャッシュセグメント4番からホストコンピュータ100
のメインメモリ103に転送する。転送が終了すると、
キャッシュ制御手段360は、パケット選択手段355
にに転送終了を報告する。パケット選択手段355は、
処理状態保持部802を「0」にし、ファイルシステム
プログラム305にリード処理が終了したことを報告す
る。
【0101】パケット661は、ホストコンピュータ1
00のメインメモリからキャッシュ254にデータを転
送するためのパケットである。ディスク装置番号保持部
610には、ディスク装置910のSCSIのターゲッ
ト番号0番を保持する。論理ブロックアドレス保持部6
11と論理ブロック数保持部612には、論理ブロック
アドレス64とブロック数64を保持する。コマンド保
持部613には、ホストコンピュータ100のメインメ
モリ103からキャッシュ254への転送であることを
示す「CM」を保持する。ストライプD2のストライプ
番号が2、キャッシュ254内のキャッシュセグメント
数が63なので、(キャッシュセグメント番号)=2%
63=2となる。よって、キャッシュ番号保持部614
には、キャッシュセグメント番号「2」を保持する。
【0102】パケット662は、キャッシュ254に格
納されているデータを、ディスク装置に書き込むための
パケットである。RAIDでデータの書き込みを行うと
きには、パリティの更新も行わなければならない。よっ
て、パケット662は、次の5つのパケットからなる複
合パケットである。
【0103】(1)旧データの読み出しパケット665 旧データの読み出しパケット665は、新しくデータを
ストライプD2に書き込む前に、ストライプD2に保持
されているデータをディスク装置から読み出すためのパ
ケットである。ディスク装置番号保持部610には、デ
ィスク装置910のSCSIのターゲット番号0番を保
持する。論理ブロックアドレス保持部611と論理ブロ
ック数保持部612には、論理ブロックアドレス64と
ブロック数64を保持する。コマンド保持部613に
は、ディスク装置910に発行するコマンドが読み出し
であることを示す「DR」を保持する。本パケットで読
み出したデータは、旧データバッファ部791に保持す
るので、キャッシュ番号保持部614には「ODB」を
保持する。
【0104】(2)旧パリティの読み出しパケット66
6 旧パリティの読み出しパケット666は、新しくパリテ
ィをストライプP23に書き込む前に、ストライプP2
3に保持されているパリティをディスク装置から読み出
すためのパケットである。ディスク装置番号保持部61
0には、ディスク装置911のSCSIのターゲット番
号1番を保持する。論理ブロックアドレス保持部611
と論理ブロック数保持部612には、論理ブロックアド
レス64とブロック数64を保持する。コマンド保持部
613には、ディスク装置910に発行するコマンドが
読み出しであることを示す「DR」を保持する。本パケ
ットで読み出したデータは、旧パリティバッファ部79
2に保持するので、キャッシュ番号保持部614には
「OPB」を保持する。
【0105】(3)XOR演算パケット667 XOR演算パケット667は、キャッシュ番号保持部6
14の値が示すキャッシュセグメントに保持したデータ
と、旧データバッファ部791に保持したデータと、旧
パリティバッファ保持部792に保持したデータとの排
他的論理和(XOR)を演算し、新パリティバッファ部
793にその結果を残すためのバケットである。キャッ
シュ番号保持部614には、キャッシュセグメント番号
「2」を保持する。コマンド保持部613には、XOR
演算であることを示す「XOR」を保持する。
【0106】(4)新データ書き込みパケット668 新データ書き込みパケット668は、キャッシュに保持
していたデータを、新たにディスク装置に書き込むため
のパケットである。ディスク装置番号保持部610に
は、ディスク装置910のSCSIのターゲット番号0
番を保持する。論理ブロックアドレス保持部611と論
理ブロック数保持部612には、論理ブロックアドレス
64とブロック数64を保持する。コマンド保持部61
3には、ディスク装置910に発行するコマンドが書き
込みであることを示す「DW」を保持する。キャッシュ
番号保持部614には、キャッシュセグメント番号
「2」を保持する。
【0107】(5)新パリティ書き込みパケット669 新パリティ書き込みパケット669は、新パリティ(X
OR演算の結果)を、新たにディスク装置に書き込むた
めのパケットである。ディスク装置番号保持部610に
は、ディスク装置911のSCSIのターゲット番号1
番を保持する。論理ブロックアドレス保持部611と論
理ブロック数保持部612には、論理ブロックアドレス
64とブロック数64を保持する。ディスク装置910
に発行するコマンドが書き込みであることを示す「D
W」を保持する。本パケットによって書き込むデータ
は、新パリティバッファ部793に保持しているので、
キャッシュ番号保持部には「NPB」を保持する。
【0108】パケット生成手段310は、複合パケット
600をメインメモリ103内に作成し終わると、複合
パケット600のメインメモリ内での位置を示すアドレ
スを、ヒットミス判定手段350に通達する。
【0109】ヒットミス判定手段350は、複合パケッ
ト600のアドレスを受け取ると、パケット661か
ら、論理ブロックアドレス(LBA)と、キャッシュセ
グメント番号を獲得する。ヒットミス判定手段350
は、獲得したキャッシュセグメント番号をもとに、キャ
ッシュセグメントが利用可能かどうかを判定する。状態
保持部702の詳細を図8に示す。状態保持部702
は、データ状態保持部801と、処理状態保持部802
の2つの部位で構成している。処理状態保持部802が
「1」の場合、そのキャッシュセグメントを使用して処
理中であることを表す。よって、ヒットミス判定手段3
50は、状態保持部802が「0」になるまで待つ。状
態保持部802が「0」になると、ヒットミス判定手段
350は、処理を開始する。ヒットミス判定手段350
は、まず対応するキャッシュセグメントの処理状態保持
部802に「1」を保持する。次に、キャッシュ254
内にどのようなデータが格納されているかを判定する。
【0110】具体的には、図14に示すキャッシュ25
4内の管理テーブル700のキャッシュセグメント2番
に着目する。キャッシュセグメントの論理ブロックアド
レス保持部701と状態保持部702とパケット保持部
703の状態により、以下の4つの場合に分けて考える
ことができる。
【0111】(1)キャッシュが未使用 キャッシュセグメント2番の状態保持部702をチェッ
クし、既にデータが格納されているかをチェックする。
データ状態保持部801が「0」であれば、キャッシュ
が未使用であり、キャッシュヒットとする。
【0112】(2)キャッシュが使用中かつ論理ブロッ
クアドレスが一致 キャッシュセグメント2番の状態保持部702をチェッ
クし、既にデータが格納されいるか否かをチェックす
る。データ状態保持部801が「1」であれば、キャッ
シュは使用中である。さらに、論理ブロックアドレス保
持部701に保持されている論理ブロックアドレスと、
パケット661から獲得した論理ブロックアドレスが一
致した場合にはキャッシュヒットとする。
【0113】(3)キャッシュが使用中かつパケット保
持部にパケットアドレスなしキャッシュセグメント2番
の状態保持部702をチェックし、既にデータが格納さ
れいるか否かをチェックする。データ状態保持部801
が「1」であれば、キャッシュは使用中である。さら
に、パケット保持部703をチェックし、パケットが登
録されているかを調べる。パケットが登録されていない
ということは、既にデータをディスク装置に書き込むた
めにパケットを使用したか、データをディスク装置に書
き込む必要がないことを示している。この場合にはキャ
ッシュヒットとする。
【0114】(4)キャッシュが使用中かつパケット保
持部にパケットアドレスあり上記(1)から(3)以外
の場合は、この状態を表す。この場合にはキャッシュミ
スとする。
【0115】判定が終了すると、判定結果と複合パケッ
ト600のアドレスをパケット選択手段355に通達す
る。ヒットミス判定手段350の判定結果がキャッシュ
ヒットだった場合、パケット選択手段355は、パケッ
ト661のアドレスをキャッシュ制御360に通達し、
パケット662のアドレスを、管理テーブル700のキ
ャッシュセグメント3番のパケット保持部703に、論
理ブロックアドレスを論理ブロックアドレス保持部70
1に保持する。
【0116】キャッシュ制御手段360は、パケット6
61のアドレスを受け取ると、パケット661に基づ
き、目的のデータをホストコンピュータ100のメイン
メモリ103から、PCI−to−PCIブリッジ25
3を経由してキャッシュ254に転送する。転送が終了
すると、キャッシュ制御手段365は、パケット選択手
段355に転送終了を報告する。パケット選択手段35
5は、処理状態保持部802を「0」にし、ファイルシ
ステムプログラム305にライト処理が終了したことを
報告する。
【0117】判定結果がキャッシュミスのだった場合に
は、管理テーブル700のキャッシュセグメント3番の
パケット保持部703から既に登録されているパケット
(「登録済パケット」と呼ぶ)のアドレスを取り出し、
そのパケットに従って処理を開始する。
【0118】まず、登録済パケット内の旧データ読み出
しパケット665のアドレスと、旧パリティ読み出しパ
ケット666のアドレスをディスク制御手段365に伝
達する。ディスク制御手段365は、パケット665と
666のアドレスを受け取ると、そのパケットに基づ
き、SCSIコントローラ260を制御して、旧データ
をキャッシュ内の旧データバッファ部791に、旧パリ
ティを旧パリティバッファ部792に読み出す。ディス
ク制御手段365は、各パケットの終了毎に、パケット
選択手段355に報告を行う。
【0119】旧データ読み出しパケット665と、旧パ
リティ読み出しパケット666の両処理終了を確認する
と、パケット選択手段355は、登録済パケット内のX
OR演算パケット667のアドレスをキャッシュ制御手
段360に伝達する。キャッシュ制御手段360は、X
OR演算パケット667のキャッシュセグメント番号
「2」を取り出し、キャッシュセグメント2番のアドレ
ス保持部704に保持された新データの格納されている
アドレスを獲得する。該新データのアドレスと、旧デー
タバッファ部791のアドレスと、旧パリティバッファ
部792のアドレスと、新パリティバッファ部793の
アドレスをDMAC290に書き込む。DMAC290
は、受け取ったアドレスに基づき、新データと旧データ
と旧パリティの排他的論理和(XOR)を演算し、結果
を新パリティバッファ部793に格納する。DMAC2
90での演算が終了(新パリティ生成)すると、キャッ
シュ制御手段360は、パケット選択手段355に終了
報告を行う。
【0120】XOR演算パケット667の処理終了を確
認すると、パケット生成手段355は、登録済パケット
内の新データ書き込みパケット668のアドレスと、新
パリティ書き込みパケット669のアドレスをディスク
制御手段365に伝達する。ディスク制御手段365
は、パケット668と669のアドレスを受け取ると、
そのパケットに基づき、SCSIコントローラ260を
制御して、キャッシュ内の新データと、新パリティバッ
ファ部792の新パリティを、それぞれのディスク装置
に書き込む。ディスク制御手段365は、各パケットの
終了毎に、パケット選択手段355に報告を行う。
【0121】新データ書き込みパケット668と、新パ
リティ書き込みパケット669の両処理終了を確認する
と、パケット選択手段355は、パケット661のアド
レスをキャッシュ制御360に通達し、パケット662
のアドレスを、管理テーブル700のキャッシュセグメ
ント3番のパケット保持部703に、論理ブロックアド
レスを論理ブロックアドレス保持部701に保持する。
【0122】キャッシュ制御手段360は、パケット6
61のアドレスを受け取ると、パケット661に基づ
き、目的のデータをホストコンピュータ100のメイン
メモリ103から、PCI−to−PCIブリッジ25
3を経由してキャッシュ254に転送する。転送が終了
すると、キャッシュ制御手段365は、パケット選択手
段355に転送終了を報告する。パケット選択手段35
5は、処理状態保持部802を「0」にし、ファイルシ
ステムプログラム305にライト処理が終了したことを
報告する。
【0123】吐き出し処理 前記記載のライト処理を実行すると、キャッシュ254
内には、ディスク装置に書き込んでいないデータが存在
することになる。図3に示す吐き出し制御手段380
は、まだ、ディスク装置に書き込んでいないデータを見
つけだし、ディスク装置に書き込む処理を実行する。
【0124】吐き出し制御手段380は、ホストコンピ
ュータ100の電源遮断通知を受けた時や、タイマによ
り一定時間ごとに起動する。図3に示すように、パケッ
ト間隔監視手段385を設けて、パケット生成手段31
0からヒットミス判定手段350に送られてくるパケッ
トの時間間隔を監視しておき、一定時間パケットが来な
いことを検出して、吐き出し制御手段380を起動する
こともできる。
【0125】吐き出し制御手段380が起動されると、
吐き出し制御手段380は、管理テーブル700のパケ
ット保持部703をチェックし、登録済パケットのアド
レスが登録されていると、その登録済パケットに従っ
て、キャッシュ内データの書き込みを実行する。このと
き、幾つかの登録済パケットをまとめて処理することで
高速化を図ることができる。
【0126】登録済パケットの処理が終了すると、吐き
出し制御手段380は、パケット保持部703から処理
の終了した登録済パケットのアドレスを削除する。
【0127】《第3の実施形態》図18は、本発明の実
施形態であるコンピュータシステムの概略構成を示す図
である。図18の構成は、図10のSCSIバス接続構
成において、ホストコンピュータ1001と1002を
2台にした場合のシステム構成である。本実施形態で
は、ホストコンピュータが2台の場合を例に取り説明を
行うが、3台以上の場合でも同じである。
【0128】システム構成RAID制御コントローラ1
100に、SCSIバス199を介して、2台のホスト
コンピュータ1001と1002を接続したシステム構
成である。ホストコンピュータ1001と1002は、
第2の実施形態で示したホストコンピュータ100の構
成と同じである。また、RAID制御コントローラ11
00の構成も、第2の実施形態で示した構成と同じであ
る。
【0129】排他制御の実現 本実施形態の構成では、2台のホストコンピュータ10
01と1002からのリードライト要求を同時に受け付
けなければならない。例えば、ホストコンピュータ10
01が、ストライプD2にデータを書き込んでいるとき
に、ホストコンピュータ1002が、ストライプD2の
データを読み出そうとしたときには、ホストコンピュー
タ1002の読み出し要求を、書き込みが終了するまで
保留する必要がある。
【0130】本発明では、第2の実施形態に示したよう
に、リードライト処理中には、管理テーブル700の状
態保持部702の処理状態保持手段801に処理状態を
保持している。これにより、例えば、ライト中のストラ
イプに、他のホストコンピュータからのリード要求が来
ても、そのパケットを保留しておき、ライト処理が終了
し次第、保留しておいたパケットを開始することができ
る。
【0131】このとき、直前のライト処理によって、キ
ャッシュの状態が変化しても、保留しておいてたリード
のパケットは、キャッシュミスに対するパケットも、キ
ャッシュヒットに対するパケットも持っている複合パケ
ットである。よって、キャッシュ選択手段355は、そ
のときのキャッシュの状態にあわせてパケットを選択し
処理を行うだけでよい。
【0132】もし、キャッシュヒットまたはキャッシュ
ミスのパケットのどちらかし持たない場合、直前の他の
要求によりキャッシュの状態が変化すると、そのパケッ
トでは処理を続行することができない。よって、キャッ
シュの状態をホストコンピュータに通知し、新たにパケ
ットを作り直してもらう必要がある。キャッシュの状態
をホストコンピュータに通知することは、転送にかかる
オーバヘッドが大きく性能を低下させる要因になる。
【0133】本発明を用いると、キャッシュの状態が変
化しても、ホストコンピュータに通知する必要はなく、
パケット選択手段が有効なパケットを選択することで処
理を続行することができる。これにより、キャッシュの
状態をホストコンピュータに通知するオーバヘッドをな
くすことができる。
【0134】
【発明の効果】以上記載のように、ホストコンピュータ
のプロセッサで実行するパケット生成手段と、RAID
制御コントローラのプロセッサで実行するヒットミス判
定手段とパケット選択手段で構成することで、パケット
の生成は、ホストコンピュータの高性能なプロセッサで
行い、RAID制御コントローラのプロセッサは、送ら
れてきたパケットの中から有効なパケットを選択し、そ
のパケットを実行する処理だけを行えば良い。これによ
り、RAID制御コントローラのプロセッサに、低価格
で比較的低性能なプロセッサを用いても、高速にディス
ク装置とキャッシュの制御を行うことができる。
【0135】また、複数のホストコンピュータでRAI
D制御コントローラを共有するシステム構成において、
あるホストコンピュータからの要求により、キャッシュ
の状態が変化しても、キャッシュの状態変化を他のホス
トコンピュータに通知することなく、パケット選択手段
により、その時点でのキャッシュの状態に応じて有効な
パケットを選択することで、処理を続行することができ
る。
【図面の簡単な説明】
【図1】第1の実施形態においてSCSIバスを使用し
た場合のコンピュータシステムの概略構成を示す図
【図2】第1の実施形態においてPCIバスを使用した
場合のコンピュータシステムの概略構成を示す図
【図3】両プロセッサにおけるプログラム構成を示す図
【図4】第1の実施形態におけるファイル検索のための
【図5】ディスク装置内の論理ブロックアドレスの構成
を示す図
【図6】第1の実施形態におけるパケット構成を示す図
【図7】第1の実施形態におけるキャッシュ構成を示す
【図8】状態保持部の内部構成を示す図
【図9】第1の実施形態における空き領域検索のための
【図10】第2の実施形態においてSCSIバスを使用
した場合のコンピュータシステムの概略構成を示す図
【図11】第2の実施形態においてPCIバスを使用し
た場合のコンピュータシステムの概略構成を示す図
【図12】第2の実施形態におけるディスク装置内のデ
ータの配置を示す図
【図13】DMACの内部構成を示す図
【図14】第2の実施形態におけるキャッシュの構成を
示す図
【図15】第2の実施形態におけるファイル検索のため
の表
【図16】第2の実施形態におけるパケット構成を示す
【図17】第2の実施形態における空き領域検索のため
の表
【図18】第3の実施形態のコンピュータシステムの概
略構成を示す図
【図19】RAID制御におけるデータの論理イメージ
と物理イメージを示す図
【符号の説明】
100…ホストコンピュータ,101…プロセッサ,1
02…メモリ/拡張バスコントローラ,103…メイン
メモリ,105…拡張バス,109…SCSIコントロ
ーラ,199…SCSIバス,200…ディスク制御コ
ントローラ,201…プロセッサ,202…SCSIコ
ントローラ,203…キャッシュ,205…PCIバ
ス,210…SCSIコントローラ,249…SCSI
バス,250…ディスク制御コントローラ,251…バ
ス接続器,252…プロセッサ,253…PCI−to
−PCIブリッジ,254…キャッシュ,255…PC
Iバス,260…SCSIコントローラ,290…DM
AC,299…SCSIバス、301…アプリケーショ
ンプログラム,302…システムプログラム,305…
ファイルシステムプログラム,310…パケット生成手
段,350…ヒットミス判定手段,355…パケット選
択手段,360…キャッシュ制御手段,365…ディス
ク制御手段,380…吐き出し制御手段,385…パケ
ット間隔監視手段,401…論理ブロック,600…複
合パケット,610…ディスク装置番号保持部,611
…論理ブロックアドレス保持部,612…論理ブロック
数保持部,613…コマンド保持部,614…キャッシ
ュ番号保持部,700…管理テーブル,750…データ
保持部,790…バッファ部,791…旧データバッフ
ァ部,792…旧パリティバッファ部,793…新パリ
ティバッファ部,901…ディスク装置,910…ディ
スク装置,911…ディスク装置,912…ディスク装
───────────────────────────────────────────────────── フロントページの続き (72)発明者 荒川 敬史 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内 (72)発明者 八木沢 育哉 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内 (72)発明者 高野 雅弘 神奈川県小田原市国府津2880番地株式会社 日立製作所ストレージシステム事業部内

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】少なくとも1台以上の記憶装置を有するコ
    ンピュータシステムにおいて、前記コンピュータシステ
    ムには、1つ以上の演算処理装置と、前記記憶装置に対
    してあらかじめ想定されるいくつかの要求を複合パケッ
    トとして生成するパケット生成手段と、前記記憶装置を
    制御する記憶装置制御手段とを設け、 さらに、前記記憶装置制御手段には、1つ以上の演算処
    理装置と、前記パケット生成手段によって作られた複合
    パケットの中から有効なパケットを選択するパケット選
    択手段と、記憶装置から読み出したデータや記憶装置に
    書き込むデータを保持するデータ保持手段と、データ保
    持手段に必要とするデータあるかないかを調査するヒッ
    トミス判定手段とを設け、 前記記憶装置制御手段内の
    前記パケット選択手段は、ヒットミス判定手段の判定結
    果に基づき、パケット生成手段で作られた複数のパケッ
    トの中から、有効なパケットを選択し、選択したパケッ
    ト内の情報に基づき、前記記憶装置と前記データ保持手
    段の制御を行うことを特徴とするコンピュータシステム
    における記憶装置の制御方式。
  2. 【請求項2】データを格納するデータ領域と、前記デー
    タに対応する冗長データを格納するパリティ領域とを有
    し、アレイ状に配置されて並列に動作する複数(2以
    上)の記憶装置を有するコンピュータシステムにおい
    て、 前記コンピュータシステムには、1つ以上の演算処理装
    置と、前記複数の記憶装置に対してあらかじめ想定され
    るいくつかの要求を複合パケットとして生成するパケッ
    ト生成手段と、前記複数の記憶装置を制御する記憶装置
    制御手段とを設け、 さらに、前記記憶装置制御手段には、1つ以上の演算処
    理装置と、前記パケット生成手段によって作られた複合
    パケットの中から有効なパケットを選択するパケット選
    択手段と、記憶装置から読み出したデータや記憶装置に
    書き込むデータを保持するデータ保持手段と、データ保
    持手段に必要とするデータあるかないかを調査するヒッ
    トミス判定手段とを設け、 前記記憶装置制御手段内の
    前記パケット選択手段は、ヒットミス判定手段の判定結
    果に基づき、パケット生成手段で作られた複数のパケッ
    トの中から、有効なパケットを選択し、選択したパケッ
    ト内の情報に基づき、前記記憶装置と前記データ保持手
    段の制御を行うことを特徴とするコンピュータシステム
    における記憶装置の制御方式。
  3. 【請求項3】請求項2記載のコンピュータシステムにお
    いて、前記記憶装置制御手段には、さらに、冗長データ
    の生成等を行うデータ演算手段を設け、 前記記憶装置制御手段内の演算処理装置は、パケット選
    択手段によって選択された有効なパケット内の情報に基
    づき、データ演算手段を制御することを特徴とするコン
    ピュータシステムにおける記憶装置の制御方式。
  4. 【請求項4】請求項1記載または請求項2記載のコンピ
    ュータシステムにおいて、前記コンピュータシステムの
    前記パケット生成手段によって作られたパケットを保持
    するパケット保持手段を前記記憶装置制御手段に設け、 前記パケット選択手段は、パケット保持手段に保持した
    パケット内の情報に基づき、前記記憶装置と前記データ
    保持手段の制御を行うことを特徴とするコンピュータシ
    ステムにおける記憶装置の制御方式。
  5. 【請求項5】請求項1記載または請求項2記載のコンピ
    ュータシステムにおいて、前記パケット生成手段によっ
    て生成するパケットには、少なくとも、記憶装置を識別
    する情報と、記憶装置内の位置を示す情報と、データ保
    持手段の位置情報を持つことを特徴とするコンピュータ
    システムにおける記憶装置の制御方式。
  6. 【請求項6】請求項1記載または請求項2記載のコンピ
    ュータシステムにおいて、前記コンピュータシステム
    は、コンピュータシステムが実行するプログラムコード
    や、プログラムの使用するデータを保持するメインメモ
    リを有し、 前記パケット生成手段は、前記コンピュータシステムの
    前記メインメモリ内にパケットを作成し、前記記憶装置
    制御手段の前記演算処理装置とパケット選択手段には、
    前記メインメモリ内の位置を示す情報だけを通達するこ
    とを特徴とするコンピュータシステムにおける記憶装置
    の制御方式。
  7. 【請求項7】請求項1記載または請求項2記載のコンピ
    ュータシステムにおいて、前記コンピュータシステム
    と、前記記憶装置制御手段との間を、SCSI(Small
    Computer System Interface)で規定される手段を使用
    することを特徴とするコンピュータシステムにおける記
    憶装置の制御方式。
  8. 【請求項8】請求項1記載または請求項2記載のコンピ
    ュータシステムにおいて、前記コンピュータシステム
    と、前記記憶装置制御手段との間を、PCI(Peripher
    al Compornent Interconnect)で規定される手段を使用
    することを特徴とするコンピュータシステムにおける記
    憶装置の制御方式。
  9. 【請求項9】少なくとも1台以上の記憶装置を有するコ
    ンピュータシステムにおいて、前記コンピュータシステ
    ムには、前記記憶装置に対してあらかじめ想定されるい
    くつかの要求を複数パケットとして生成するパケット生
    成手段と、前記パケット生成手段によって作られた複数
    のパケットの中から有効なパケットを選択するパケット
    選択手段と、記憶装置から読み出したデータや記憶装置
    に書き込むデータを保持するデータ保持手段と、データ
    保持手段に必要とするデータあるかないかを調査するヒ
    ットミス判定手段とを設け、 前記記憶装置からデータを読み出す処理においては、
    (1)少なくとも、データ保持手段に目的のデータがあ
    った場合のパケット(パケット1)と、データ保持手段
    に目的のデータがなかった場合のパケット(パケット
    2)の2つを、パケット生成手段によって生成し、それ
    ぞれのパケットには、少なくとも、目的の記憶装置を識
    別する情報と、記憶装置内の位置を示す情報と、データ
    保持手段の位置情報と、データ転送の方向を示す情報を
    持ち、(2)ヒットミス判定手段によって、目的のデー
    タがデータ保持手段内にあるかないかを判定し、(3)
    パケット選択手段は、ヒットミス判定手段の結果に基づ
    き、ヒットの場合にはパケット1を選択、ミスの場合に
    はパケット2を選択し、前記記憶装置と前記データ保持
    手段の制御を開始し、(4)前記記憶装置制御手段内の
    演算処理装置は、ヒットの場合にはパケット1に従い、
    ミスの場合にはパケット2に従い、記憶装置とコンピュ
    ータシステム間でデータを転送する4つの処理ステップ
    からなり、処理ステップ(1)と、処理ステップ(2)
    (3)(4)を異なる演算処理装置で処理することを特
    徴とするコンピュータシステムにおける記憶装置の制御
    方式。
  10. 【請求項10】少なくとも1台以上の記憶装置を有する
    コンピュータシステムにおいて、前記コンピュータシス
    テムには、前記記憶装置に対してあらかじめ想定される
    いくつかの要求を複数パケットとして生成するパケット
    生成手段と、前記パケット生成手段によって作られたパ
    ケットを保持するパケット保持手段と、前記パケット生
    成手段によって作られた複数のパケットまたはパケット
    保持手段に保持されたパケットの中から有効なパケット
    を選択するパケット選択手段と、記憶装置から読み出し
    たデータや記憶装置に書き込むデータを保持するデータ
    保持手段と、データ保持手段に必要とするデータあるか
    ないかを調査するヒットミス判定手段とを設け、前記記
    憶装置にデータを書き込む処理においては、(1)少な
    くとも、データ保持手段にデータを転送するためのパケ
    ット(パケット1)と、データ保持手段から記憶装置に
    転送するためのパケット(パケット2)の2つを、パケ
    ット生成手段によって生成し、それぞれのパケットに
    は、少なくとも、目的の記憶装置を識別する情報と、記
    憶装置内の位置を示す情報と、データ保持手段の位置情
    報と、データ転送の方向を示す情報を持ち、(2)ヒッ
    トミス判定手段によって、データ保持手段が既に使用さ
    れているかを判定し、キャッシュ使用中の場合は処理
    (3)へ、キャッシュ未使用の場合は処理(4)へ、
    (3)データ保持手段が使用中の場合、パケット保持手
    段に保持されたパケットに従い、データ保持手段から記
    憶装置にデータを転送し、(4)パケット1に従い、コ
    ンピュータシステムからデータ保持手段にデータを転送
    し、パケット2をパケット保持手段に保持する4つの処
    理ステップからなり、 処理ステップ(1)と、処理ステップ(2)(3)
    (4)を異なる演算処理装置で処理することを特徴とす
    るコンピュータシステムにおける記憶装置の制御方式。
JP9071309A 1997-03-25 1997-03-25 コンピュータシステムにおける記憶装置の制御方式 Pending JPH10269695A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9071309A JPH10269695A (ja) 1997-03-25 1997-03-25 コンピュータシステムにおける記憶装置の制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9071309A JPH10269695A (ja) 1997-03-25 1997-03-25 コンピュータシステムにおける記憶装置の制御方式

Publications (1)

Publication Number Publication Date
JPH10269695A true JPH10269695A (ja) 1998-10-09

Family

ID=13456904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9071309A Pending JPH10269695A (ja) 1997-03-25 1997-03-25 コンピュータシステムにおける記憶装置の制御方式

Country Status (1)

Country Link
JP (1) JPH10269695A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178858A (ja) * 2004-12-24 2006-07-06 Denso Wave Inc データ処理端末,データ処理端末のデータ管理方法及びコンピュータプログラム
JPWO2017216887A1 (ja) * 2016-06-15 2019-01-17 株式会社日立製作所 情報処理システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178858A (ja) * 2004-12-24 2006-07-06 Denso Wave Inc データ処理端末,データ処理端末のデータ管理方法及びコンピュータプログラム
JP4513554B2 (ja) * 2004-12-24 2010-07-28 株式会社デンソーウェーブ データ処理端末,データ処理端末のデータ管理方法及びコンピュータプログラム
JPWO2017216887A1 (ja) * 2016-06-15 2019-01-17 株式会社日立製作所 情報処理システム
US10853268B2 (en) 2016-06-15 2020-12-01 Hitachi, Ltd. Parity generating information processing system

Similar Documents

Publication Publication Date Title
US6058489A (en) On-line disk array reconfiguration
JP3176157B2 (ja) ディスクアレイ装置及びそのデータ更新方法
US6968425B2 (en) Computer systems, disk systems, and method for controlling disk cache
US5572660A (en) System and method for selective write-back caching within a disk array subsystem
US7600152B2 (en) Configuring cache memory from a storage controller
US6738863B2 (en) Method for rebuilding meta-data in a data storage system and a data storage system
US6446237B1 (en) Updating and reading data and parity blocks in a shared disk system
US6341342B1 (en) Method and apparatus for zeroing a transfer buffer memory as a background task
US6279138B1 (en) System for changing the parity structure of a raid array
US7558981B2 (en) Method and apparatus for mirroring customer data and metadata in paired controllers
JP2002323959A (ja) 磁気ディスク制御装置のログ主体不揮発性書き込みキャッシュ・システム及び方法
JP3713788B2 (ja) 記憶装置および記憶装置システム
EP1237087A2 (en) Memory device system and method for copying data in memory device system
JP2000056931A (ja) 格納管理システム
US6912687B1 (en) Disk array storage subsystem with parity assist circuit that uses scatter-gather list
US5574736A (en) Data storage device and method of operation
JP4252102B2 (ja) 計算機システムおよび二次記憶装置
JP4128206B2 (ja) 計算機システムおよび二次記憶装置
JPH10269695A (ja) コンピュータシステムにおける記憶装置の制御方式
JP3747937B2 (ja) 計算機システムおよび二次記憶装置
JP3747788B2 (ja) 計算機システムおよび二次記憶装置
JP3793544B2 (ja) ディスクアレイ装置及びその制御方法
JPH1124849A (ja) 障害回復方法および装置
JP3122252B2 (ja) ディスクアレイ制御方式
JPH1031563A (ja) 記憶装置