JP3431972B2 - 仮想ディスクシステム - Google Patents

仮想ディスクシステム

Info

Publication number
JP3431972B2
JP3431972B2 JP32317693A JP32317693A JP3431972B2 JP 3431972 B2 JP3431972 B2 JP 3431972B2 JP 32317693 A JP32317693 A JP 32317693A JP 32317693 A JP32317693 A JP 32317693A JP 3431972 B2 JP3431972 B2 JP 3431972B2
Authority
JP
Japan
Prior art keywords
drive
unit
physical
address
virtual
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 - Lifetime
Application number
JP32317693A
Other languages
English (en)
Other versions
JPH07152491A (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
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP32317693A priority Critical patent/JP3431972B2/ja
Publication of JPH07152491A publication Critical patent/JPH07152491A/ja
Application granted granted Critical
Publication of JP3431972B2 publication Critical patent/JP3431972B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディスクシステムに関
し、特に多数のディスクドライブ装置を有する磁気ディ
スクシステムに適用して好適な仮想ディスクシステムに
関する。
【0002】
【従来の技術】現在のコンピュータシステムにおいて
は、2次記憶装置が用いられ、ホストプロセッサなどの
上位装置側が必要とするデ−タは2次記憶装置に格納さ
れる。ホストプロセッサは、必要に応じて、2次記憶装
置に対してデ−タの書込みおよび読み出しを行ってい
る。この2次記憶装置としては、一般に不揮発な記憶媒
体が使用され、代表的なものとして磁気ディスク装置、
光ディスク装置などがあげられる。磁気ディスク装置
は、現在そして近い将来も最も多く使用される2次記憶
装置と期待されている。
【0003】ところで、近年のコンピュータシステムの
応用の大規模化および多様化にともない、一つのスピン
ドルにより構成される磁気ディスク装置(以下、ドライ
ブと呼ぶ)では、性能が不足するという状況となってき
た。ディスクシステムのデータ転送速度およびトラフィ
ック性能は、スピンドル数すなわちドライブ数に比例し
て向上する。そのため、多数の小記憶容量のドライブを
使用して高性能化を図るアプローチが採られている。従
来の大型ディスクシステムではディスク径9インチのド
ライブを用いていたが、現在ではディスク径2.5イン
チ程度のドライブが既に製品化され、コンピュータシス
テムにて使用されている。
【0004】このような多数の小記憶容量のドライブを
使用して高性能化を図るアプローチでは、多数ドライブ
の統合的管理が必要となる。従来のコンピュータシステ
ムでは、1ドライブを1ボリュームという管理単位とし
て、ホストプロセッサのソフトウェアであるオペレーテ
ィングシステム(以下、OSと呼ぶ)が管理する。すな
わち、ボリュームの空き領域や、格納されているファイ
ルなどに関連する情報は、OSがボリュームごとに管理
するのである。
【0005】したがって、ボリュームが多数あると、O
Sの管理オーバヘッドが大きい。それは、OSのファイ
ルシステムの処理時間が長くなるという形で欠点として
現われる。また、ボリュームが小容量であると、関連す
るファイルのグループが一つのボリュームに入りきらな
いため、論理的には一つのグループのファイルを分割し
て複数のボリュームに格納せざるを得ず、ユーザにとっ
て使い勝手の悪いディスクシステムとなってしまう。
【0006】そこで、多数のドライブを統合的に管理す
るとともに、上記の欠点をなくしたOSのボリューム管
理方法が、例えば、オレイリー・アソシエイツ社(O'Re
illy& Associates,Inc.)刊の「ガイド・トゥーOSF
/1:テクニカル・シノプシス」(1991年)第7−
1頁から第7−10頁(Guide to OSF/1: A TechnicalSy
nopsis (1991), pp7-1-7-10)に述べられている。以
下、この従来技術を第1の従来技術と呼ぶ。
【0007】この第1の従来技術では、論理ボリューム
という概念により、OSが複数のドライブを管理し、こ
れにより複数のドライブが一つのボリュームとしてユー
ザに見えるようにしている。ドライブの記憶領域をエク
ステントと呼ぶ固定長領域に分割し、一つの論理エクス
テントに対して一つまたは複数の物理エクステントを対
応させる。対応させる物理エクステントは、どの物理ド
ライブのものでもよく、一つの論理エクステントに異な
る物理ドライブの物理エクステントを対応させてよい。
論理エクステントを集めて、一つの仮想的なドライブと
したものをディスクの論理ボリュームと呼ぶ。
【0008】一つの論理エクステントに対して複数の物
理エクステントを対応させた場合がミラーリングとな
る。ミラーリングは、同じデータを複数の物理記憶装置
に格納して、記憶装置の障害時におけるデータの信頼性
を高める手法である。
【0009】ファイルに対するread/write時
は、OSが、ファイルが格納されている論理ボリューム
の管理テーブルを参照してアクセス先の物理ドライブと
そのドライブ内の物理アドレスを求め、そこに対してr
ead/writeを発行する。アクセス先がミラーリ
ングされている場合は、対応する複数の物理ドライブの
それぞれに同一データのwriteを発行する。rea
dは、アクセス時間が短い物理ドライブに発行する。
【0010】この第1の従来技術では、物理ドライブを
増設した場合に、すでに存在する論理ボリュームの末尾
にその物理ドライブのエクステントを追加して、論理ボ
リュームを拡張することができる。
【0011】複数のドライブにわたってファイルを格納
することができる制御装置が、特公平4−30056号
の「仮想記憶システム」に開示されている。以下、該公
報に記載の従来技術を第2の従来技術と呼ぶ。
【0012】この第2の従来技術では、従来のディスク
制御装置とホストプロセッサとの間に、新たな上位の制
御装置である仮想制御プロセッサを設ける。仮想制御プ
ロセッサは、ホストプロセッサに対して物理ドライブを
見せず、ファイルの1レベルな記憶空間のみを見せる。
ホストプロセッサは仮想制御プロセッサに対して、ファ
イルとファイル内のアドレスを指定してread/wr
iteを発行する。仮想制御プロセッサは、ファイルを
記憶装置に適したブロックに分割して、その仮想制御プ
ロセッサに接続されたドライブなどの記憶装置に分散格
納する。ファイルのどのブロックがどこに格納されてい
るかは、仮想制御プロセッサ内のテーブルに保持する。
【0013】この第2の従来技術の目的は、本発明とは
異なり、記憶領域の効率的使用にある。ブロックごとに
自由に格納場所を設定できるので、あらかじめファイル
最大容量を確保する従来の方法にくらべ、空き領域のま
ま確保されている領域が少なくなり、領域を効率的に使
用できる。また、制御装置というハードウェアでファイ
ルのブロック単位の分散格納を実現するので、OSが行
なうのに比べてOSの処理オーバヘッドが小さくなると
いう利点がある。
【0014】
【発明が解決しようとする課題】第1の従来技術では、
ホストプロセッサのソフトウェアであるOSが、論理ボ
リュームを実現している。したがって、OSの論理ボリ
ューム処理に要するCPUオーバヘッドが大きいという
問題点があった。
【0015】また、複数のホストプロセッサから論理ボ
リュームを共有することが困難であるという問題点があ
った。これは、複数のホストプロセッサが別々の論理ボ
リュームの管理テーブルを保持しているため、複数のホ
ストプロセッサから同一の論理ボリュームとしてアクセ
スするためには、ホストプロセッサどうしが通信して管
理テーブルの整合性を保つ必要があるからである。
【0016】さらに、論理ボリュームを実現するための
処理をOSが行っているため、ディスクシステムを改良
する場合は、OS自体を変更する必要があるという問題
点があった。OSは、コンピュータシステムのメーカー
ごとに少しずつ異なり、ファイルシステムの改良に応じ
てそれらのすべてのOSを変更することは現実的でな
い。
【0017】第2の従来技術では、仮想制御プロセッサ
が物理的なドライブを管理しているため、ドライブを増
設していくと仮想制御プロセッサが性能上のボトルネッ
クとなリ、仮想制御プロセッサも増設しなければならな
くなる。一つの仮想制御プロセッサは、それに接続され
るドライブのみ管理できるが、他の仮想制御プロセッサ
に接続されるドライブは管理できない。すなわち、統合
的に管理可能なドライブの増設は、一つの仮想制御プロ
セッサに接続する限りにおいてのみ有効であるという問
題点があった。具体的には、複数の仮想制御プロセッサ
にわたってファイルを格納できないということである。
【0018】また、仮想制御プロセッサがホストプロセ
ッサに対して提供するインターフェースは、従来のボリ
ュームという概念ではなく、ファイルを指定してアクセ
スするという独自のインターフェースであり、ディスク
システムとしての互換性(汎用性)がないという問題点
もあった。
【0019】さらに、ホストプロセッサからのアクセス
要求は、仮想制御プロセッサおよびディスク制御装置
と、二つの制御装置を経由してからドライブに到達す
る。したがって、アクセス処理時間が長くなるという問
題点もあった。
【0020】本発明の目的は、多数のドライブから構成
されるディスクシステムの改良にある。また、本発明の
目的は、多数のドライブから構成されるディスクシステ
ムにおいて、複数のドライブを統合的に管理でき、増設
が容易であり、従来ドライブとの互換性があり、高性能
な仮想ディスクシステムを提供することにある。
【0021】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、ホストプロセッサに物理的に接続され、
複数の物理ドライブと該複数の物理ドライブへのアクセ
スを制御するアクセス制御回路とを備えたユニットを複
数備えるとともに、前記ホストプロセッサに対しては
台の仮想ドライブとしてのインターフェースを提供する
仮想ディスクシステムであって、前記各ユニットは、そ
れらのユニットが前記ホストプロセッサに対して提供す
る外部インターフェースパスとは異なるパスであるスイ
ッチにより相互に接続されており、前記各ユニットは、
前記ホストプロセッサから与えられる仮想ドライブの論
理アドレスを前記複数の物理ドライブの物理アドレスに
変換するアドレス変換手段と、前記ホストプロセッサ
前記外部インターフェースパス経由で仮想ドライブの
論理アドレスを指定したアクセス要求があったときは、
前記アドレス変換手段により、指定された論理アドレス
を前記複数の物理ドライブの物理アドレスに変換すると
ともに、そのアクセス要求を自ユニットのアクセス制御
回路に転送するか、他ユニットのアクセス制御回路に
記スイッチ経由で転送するかを選択する手段とを備えた
ことを特徴とする。
【0022】また、本発明は、ホストプロセッサに物理
的に接続され、複数の物理ドライブと該複数の物理ドラ
イブへのアクセスを制御するアクセス制御回路とを備え
たユニットを複数備えるとともに、前記ホストプロセッ
サに対しては1台の仮想ドライブとしてのインターフェ
ースを提供する仮想ディスクシステムであって、前記各
ユニットは、それらのユニットが前記ホストプロセッサ
に対して提供する外部インターフェースパスとは異なる
パスであるスイッチにより相互に接続されており、前記
各ユニットは、前記ホストプロセッサから与えられる仮
想ドライブの論理アドレスを前記複数の物理ドライブの
物理アドレスに変換するためのテーブルであって、その
論理アドレスに対応する物理ドライブが自ユニット内に
あるか他ユニット内にあるかを判別できる情報を保持す
るテーブルを格納した記憶手段と、前記ホストプロセッ
から仮想ドライブの論理アドレスを指定したアクセス
要求があったときは、前記テーブルを用いて、指定され
た論理アドレスを前記複数の物理ドライブの物理アドレ
スに変換するとともに、その変換結果により、アクセス
すべき物理ドライブが自ユニット内のものであるときは
アクセス要求を自ユニットのアクセス制御回路に転送
し、アクセスすべき物理ドライブが他ユニット内のもの
であるときはアクセス要求を該他ユニットのアクセス制
御回路に前記スイッチ経由で転送する手段と、自ユニッ
ト内のアクセス要求であるか他ユニットから転送されて
きたアクセス要求であるかにかかわらず、受け取ったア
クセス要求に応じて自ユニット内の物理ドライブをアク
セスし、そのアクセス結果を、直接、前記ホストプロセ
ッサに応答するアクセス制御回路とを備えたことを特徴
とする。
【0023】ユニット間のアクセス要求の転送は、ユニ
ット間を接続する接続手段(例えば、ユニット間を直接
接続するスイッチパス)によるとよい。ユニットと上位
装置との間に設けたチャネルディレクタなどによっても
よい。
【0024】前記テーブルは、例えば仮想ドライブの論
理アドレスを保持するフィールドとそれに対応する物理
ドライブの物理アドレスを保持するフィールドとを有す
るものである。そして、論理アドレスに対応する物理ド
ライブが自ユニット内にあるときは、該物理アドレスの
フィールドに、該物理ドライブを特定するドライブアド
レスとそのドライブ内アドレスとを保持し、該論理アド
レスに対応する物理ドライブが他ユニット内にあるとき
は、該物理アドレスのフィールドに、該他ユニットを特
定する情報を保持するようにするとよい。
【0025】前記ユニットのアクセス制御回路は、前記
他ユニットからアクセス要求が転送されてきたときは、
該アクセス要求に応じて自ユニット内の物理ドライブを
アクセスし、そのアクセス結果を、直接、前記上位装置
に応答するようにする。なお、アクセス要求の転送元の
ユニットに返すようにしてもよいが、直接上位装置に返
すようにしたほうが性能はよい。
【0026】前記上位装置から要求を送って、仮想ドラ
イブの作成や領域確保を行うことができるようにしても
よい。仮想ドライブの作成要求のときは、前記テーブル
の論理アドレスを保持するフィールドの空きエントリを
確保し、作成すべき仮想ドライブの論理アドレスを該フ
ィールドに設定する。また、仮想ドライブの領域確保要
求のときは、領域を確保するユニットとして自ユニット
が指定されているときは、自ユニット内の物理ドライブ
の空き領域を確保して前記テーブルの物理アドレスを保
持するフィールドに確保した空き領域の物理ドライブの
ドライブアドレスとそのドライブ内アドレスとを格納
し、領域を確保するユニットとして他ユニットが指定さ
れているときは、該指定されている他ユニットに領域確
保要求を転送するようにする。他のユニットから仮想ド
ライブの領域確保要求が送られてきた場合は、自ユニッ
ト内の物理ドライブの空き領域を確保して、前記テーブ
ルの物理アドレスを保持するフィールドに確保した空き
領域の物理ドライブのドライブアドレスとそのドライブ
内アドレスとを格納し、領域確保要求の要求元のユニッ
トに応答を返すようにする。
【0027】
【作用】上位装置である例えばホストプロセッサからア
クセス要求がユニットに到着すると、各ユニットでは、
仮想ドライブの論理アドレスを物理ドライブの物理アド
レスに変換し、それとともにそのアクセス要求を自ユニ
ットのアクセス制御回路に転送するか、他ユニットのア
クセス制御回路に転送するかを選択する。
【0028】すなわち、アクセスすべき物理ドライブが
自ユニット内のものであるときはアクセス要求を自ユニ
ットのアクセス制御回路に転送し、アクセスすべき物理
ドライブが他ユニット内のものであるときはアクセス要
求を該他ユニットのアクセス制御回路に転送する。した
がって、ディスクシステムを構成するすべてのドライブ
にわたる仮想ドライブ(仮想ディスクボリューム)が設
定でき、一つのユニットからボリュームのどの領域への
アクセス要求でも対象ユニットに転送可能である。その
ため、多数ドライブを統合的に管理でき、増設が容易で
あり、従来ドライブとの互換性があり、高性能なディス
クシステムを実現することができる。
【0029】
【実施例】以下、本発明の一実施例を図1〜12を参照
して説明する。
【0030】図3は、本発明の一実施例に係る仮想ディ
スクシステムの全体システム構成を示す。本実施例の仮
想ディスクシステムは、複数のユニット2−1,2−
2,…,2−3、およびスイッチ40により構成され
る。ホストプロセッサ1とディスクシステムの各ユニッ
ト2とは、チャネル(外部インターフェースパス)4に
より接続されている。ホストプロセッサ1には、ディス
クシステムのユニット2を複数接続することができる。
【0031】各ユニット2内には、ディスクドライブが
備えられ、データが格納される。スイッチ40は、ユニ
ット2間を接続するためのものである。ホストプロセッ
サ1は、IBM社のES/9000シリーズ(商品名)
のような大型汎用計算機とする。
【0032】オペレーティングシステム(OS)は、ホ
ストプロセッサ1のチャネルインターフェースのコマン
ド体系にのっとってコマンドを発行する。コマンドで指
定されるアドレスは、仮想ドライブ(仮想ディスクボリ
ューム)を特定するドライブアドレス、並びにその仮想
ドライブのシリンダアドレス(CC)、およびヘッドア
ドレス(HH)からなるCCHHである。なお、これに
レコードアドレス(R)を加えてCCHHRのアドレス
を用いてもよいが、説明を容易にするため、本実施例で
は、CCHHのアドレスで指定するものとする。
【0033】図2は、仮想ドライブの概念図であり、コ
マンドで指定するアドレスCCHH(またはCCHH
R)を説明するための図である。
【0034】ホストプロセッサ1から見たときの仮想ド
ライブは、図2のように従来の1つの物理ドライブのよ
うに見える。したがって、ホストプロセッサ1からは、
まず仮想ドライブをドライブアドレスで特定するととも
に、図2に示すように、当該データが格納されている
(または格納する)トラックが所属するシリンダの位置
を特定するシリンダアドレス(CC)、そのシリンダ内
において当該データが格納されている(または格納す
る)トラックを特定するヘッドアドレス(HH)、およ
び必要ならそのトラック内のレコードの位置を特定する
レコードアドレス(R)で、データの位置を特定するよ
うにしている。
【0035】具体的には、ドライブアドレスは要求デー
タが格納されている当該ドライブの番号(ドライブ番
号)であり、シリンダアドレス(CC)は当該ドライブ
内のシリンダ番号であリ、ヘッドアドレス(HH)はそ
のシリンダにおいてトラックを選択するヘッドの番号で
あり、レコードアドレス(R)はそのトラック内のデー
タの位置である。
【0036】従来のCKDフォーマット対応の磁気ディ
スクサブシステム(IBM3990−3390:商品
名)も、図2に示したようなアドレスでアクセスされ
る。本実施例の仮想ディスクシステムにおいても、同様
に、上述したようなアドレスを用いたコマンドがホスト
プロセッサ1から発行されアクセスされる。
【0037】仮想ドライブは、図2で説明したようなア
ドレスを持つ仮想的なドライブとして、実際は複数のユ
ニット2の中に作成される。上述したように、一つの仮
想ドライブは、ホストプロセッサ1からは一つの物理ド
ライブに見えるが、その領域は複数のユニット2に分散
していてもかまわない。
【0038】仮想ドライブの領域は、トラック単位で物
理ドライブの領域に分散される。すなわち、仮想ドライ
ブの一つのトラックは、ユニット2内の物理ドライブの
一つのトラックに対応づけられる。それは、主記憶装置
における仮想記憶ページと実記憶ページとの関係と同様
である。
【0039】ホストプロセッサ1から上述したようなア
ドレスを用いて、リード要求やライト要求などのコマン
ドが発行されたとき、ユニット2は、自ユニット内に要
求されたアドレスに対応する物理ドライブがあるときは
その物理ドライブにアクセスして結果をホストプロセッ
サ1に返す。また、ユニット2は、指定されたアドレス
が自ユニット内でなく他ユニット内の物理ドライブに対
応するときは、スイッチ40を介して他ユニットにリー
ドやライトの要求を発行(転送)する。そのような要求
を受けたユニット2では、その要求に応じて、ユニット
内の物理ドライブをアクセスし、結果を直接ホストプロ
セッサ1に返す。
【0040】大型計算機においては、ホストプロセッサ
1が要求を発行したチャネルとその要求に対する応答の
割り込みが返ってくるチャネルとは、異なっていてもか
まわない。入出力デバイスは、任意の空きのチャネルを
確保して応答を返す。本実施例のシステムにおいても、
ホストプロセッサ1は、ユニット2の応答がどのチャネ
ル4から返ってきてもよい構成となっている。したがっ
て、例えば図3において、ユニット2−1に発行したリ
ード要求の応答が、ユニット2−2に接続されたチャネ
ル4から返ってくることができる。そうした方が、応答
のユニット間転送が無くなり、より高性能となる。
【0041】本実施例において、ユニット2を増設する
ときは、増設ユニット2をホストプロセッサ1とスイッ
チ40に接続する。接続した後に、後で説明する仮想ド
ライブ作成コマンドや領域確保コマンドを発行して増設
ユニット2を仮想ドライブとして組み込む。
【0042】本実施例において、ホストプロセッサ1か
ら仮想ディスクシステムに発行するコマンドの種類とし
ては、ディスクのデータをホストプロセッサ1に読み込
むリードコマンド、およびデータをディスクに書き込む
ライトコマンドがある。これらは、従来からあるコマン
ドであり、本実施例においても重要なコマンドであるの
で後に詳しく説明する。その他の従来のコマンドは、本
発明に直接影響しないのでここでは説明しない。
【0043】本実施例では、ホストプロセッサ1から発
行するコマンドとして、仮想ドライブ作成コマンドと領
域確保コマンドとを新設する。仮想ドライブ作成コマン
ドは、新たな仮想ディスクドライブをディスクシステム
内に作成するコマンドである。仮想ドライブ作成コマン
ドを発行するときは、仮想ドライブの管理元のユニット
番号と仮想ドライブアドレスとをオペランドとして指定
する。領域確保コマンドは、仮想ドライブに新たな領域
を確保するコマンドである。領域確保コマンドを発行す
るときは、仮想ドライブアドレスと実際の領域を確保す
るユニットのユニット番号と物理ドライブアドレスと確
保トラック数とをオペランドとして指定する。
【0044】上記の仮想ドライブ作成コマンドおよび領
域確保コマンドに対するディスクシステムからのホスト
プロセッサ1への応答としては、それぞれ、成功または
失敗を知らせる割り込みがある。
【0045】ホストプロセッサ1から発行されるコマン
ドのほかに、あるユニット2から他のユニット2へスイ
ッチ40を介して発行(転送)されるコマンドがある。
そのようなコマンドとして、ホストプロセッサ1からの
リードコマンドおよびライトコマンドの要求を他ユニッ
ト2へ転送するためのリードコマンドおよびライトコマ
ンドがある。さらに、ホストプロセッサ1からの上記領
域確保コマンドを他ユニット2へ転送するための領域確
保要求コマンド、並びに、他ユニット2からの領域確保
要求に対する応答としての領域確保成功および領域確保
失敗のコマンドがある。
【0046】次に、図1および図4〜7を参照して、本
実施例のユニット2の構成を詳しく説明する。
【0047】図1は、本実施例の仮想ディスクシステム
の1つのユニット2の内部構成を示す図である。
【0048】ユニット2には、6台のSCSIインター
フェースのドライブ12から構成されるサブユニット1
1が複数実装されている。なお、このサブユニット11
の数やSCSIドライブ12の数は、本発明の効果を得
るには、特に制限は無い。
【0049】ユニット2は、さらに、チャネルパスディ
レクタ5、2個のクラスタ13−1,13−2、および
バッテリバックアップ等により不揮発化された半導体メ
モリであるキャッシュメモリ7を備えている。このキャ
ッシュメモリ7には、制御用のテーブルが格納されてい
る。このテーブルについては、後に詳述する。キャッシ
ュメモリ7およびその中のテーブルは、二つのクラスタ
13−1,13−2から共有で使用される。
【0050】クラスタ13(13−1,13−2)は独
立に動作可能なパスの集合で、各クラスタ13間におい
ては電源、および回路は全く独立となっている。クラス
タ13−1は、2個のチャネルパス6−1,6−2、2
個のドライブパス8−1,8−2、およびスイッチパス
10から構成されている。クラスタ13−2の構成も同
じである。
【0051】チャネルパス6(6−1,6−2)は、チ
ャネル4とキャッシュメモリ7との間のパスである。ド
ライブパス8(8−1,8−2)は、キャッシュメモリ
7とドライブ12との間のパスである。スイッチパス1
0は、キャッシュメモリ7とスイッチ40との間のパス
である。チャネルパス6、ドライブパス8、およびスイ
ッチパス10は、キャッシュメモリ7を介して接続され
ている。ホストプロセッサ1より発行されたコマンド
は、外部インターフェースパス4を通ってチャネルパス
ディレクタ5に発行される。
【0052】2個のクラスタ13−1,13−2は、そ
れぞれ、2個のパスで構成される。したがって、1つの
ユニット2は、合計4個のパスを備えている。このこと
から、ユニット2ではホストプロセッサ1からのコマン
ドを同時に4個まで受け付けることが可能である。
【0053】図4は、図1のクラスタ13の内部構造を
示した図である。なお、図において、共通のものは*−
1,*−2のように同じ番号の後に−1や−2を付けて
示しているが、以下の説明ではこれらの−1,−2など
を除いた番号でそのものを代表させる。例えば、MP2
0は、MP20−1およびMP20−2の両者を代表す
る。
【0054】チャネルパスディレクタ5は、各チャネル
4に接続されたインターフェースアダプタ(IF Ad
p)15、およびチャネルパススイッチ16を備えてい
る。チャネルパス6は、チャネルインタフェース(CH
IF)21、データ制御回路(DCC)22、チャネ
ル側キャッシュアダプタ(C Adp)23、およびマ
イクロプロセッサ(MP)20を備えている。チャネル
インタフェース21は、データ線18によりチャネルパ
ススイッチ16と接続されている。
【0055】キャッシュメモリ7には、仮想ドライブ管
理テーブル31、ユニット管理テーブル32、および物
理ドライブ管理テーブル33が設けられている。ドライ
ブパス8は、ドライブ側キャッシュアダプタ(C Ad
p)26、およびドライブインターフェース回路(Dr
ive IF)27を備えている。スイッチパス10
は、スイッチインターフェース回路(SW IF)2
5、データ制御回路(DCC)28、およびスイッチ側
キャッシュアダプタ(C Adp)24を備えている。
【0056】9はドライブユニットパスである。17
は、チャネルパススイッチ16、チャネルインタフェー
ス17、データ制御回路22、チャネル側キャッシュア
ダプタ23、マイクロプロセッサ20、キャッシュメモ
リ7、ドライブ側キャッシュアダプタ26、ドライブイ
ンターフェース回路27、スイッチインターフェース回
路25、データ制御回路28、およびスイッチ側キャッ
シュアダプタ24を接続する制御信号線である。
【0057】ホストプロセッサ1から発行されたコマン
ドは、インターフェースアダプタ(以下、IF Ad
p)15により取り込まれ、マイクロプロセッサである
MP20はクラスタ内の外部インターフェースパス4の
中で使用可能なパスがあるか否かを調べる。使用可能な
外部インターフェースパス4がある場合、MP20は、
チャネルパススイッチ16を切り換えて、コマンドの受
付け処理を行なう。コマンドを受け付けることができな
い場合は、受付不可の応答をホストプロセッサ1へ送
る。
【0058】図5の上段に、キャッシュメモリ7の内部
の適当な領域に格納されている仮想ドライブ管理テーブ
ル31を示す。
【0059】上述したように、ホストプロセッサ1は、
CKDフォーマット対応の単体ドライブと同じインター
フェースでコマンドを発行してくる。これに対し、本実
施例の仮想ディスクシステムでは、ホストプロセッサ1
が単体と認識しているドライブは、実際は複数のドライ
ブにより構成される仮想的なドライブである。このた
め、MP20は、ホストプロセッサ1より指定してきた
仮想ドライブアドレス(ドライブアドレスとCCHH)
を、実際にデータが格納されている(または格納する)
物理ドライブに対するドライブアドレスとドライブ内ア
ドレスに変換する必要がある。図5の仮想ドライブテー
ブル31は、そのような仮想ドライブアドレスから物理
ドライブアドレスへの変換を行うためのテーブルであ
る。
【0060】仮想ドライブテーブル31は、ホストプロ
セッサ1から指定される仮想ドライブのドライブアドレ
ス51、およびその仮想ドライブ内アドレスであるCC
HH52のフィールドを備えている。また、仮想ドライ
ブアドレスに対応する物理ドライブのドライブアドレス
53、およびそのドライブ内アドレスであるCCHH5
4のフィールドを備えている。
【0061】さらに、この仮想ドライブアドレスのデー
タがキャッシュメモリ7内に存在する場合の、そのデー
タのキャッシュメモリ7内のアドレスを格納するキャッ
シュアドレス55のフィールド、およびキャッシュメモ
リ7内にデータを保持している場合にオン(1)が登録
されるキャッシュフラグ56のフィールドがある。
【0062】図5の下段は、1つのユニット内の物理ド
ライブに実際にデータが格納されている様子を示す図で
ある。DR1,DR2,…,DR6は、このユニット内
の物理ドライブのドライブアドレスである。図5の上段
の仮想ドライブ管理テーブル31では、仮想ドライブア
ドレス51がVDR1でCCHH52がADR1のデー
タが、物理ドライブアドレス53がDR1でCCHH5
4がPADR1の位置に格納されていることが分かる。
これに対応して図5の下段では、物理ドライブアドレス
がDR1でCCHHがPADR1の位置に、仮想ドライ
ブアドレスがVDR1でCCHHがADR1のデータV
DR1−1が格納されている。他のデータについても、
同様に、仮想ドライブ管理テーブル31に例示した通り
の位置に格納されている。
【0063】仮想ドライブ管理テーブル31の物理ドラ
イブアドレス53にUN2あるいはUN3と記載され、
CCHHが空欄(−)のものがあるが、これは当該仮想
ドライブアドレスのデータが他ユニットにあることを示
している。UN2あるいはUN3は、ユニットを特定す
るユニット番号である。
【0064】例えば、仮想ドライブアドレス51がVD
R1でCCHH52がADR3のデータはユニット番号
UN2である他ユニットにあり、仮想ドライブアドレス
51がVDR2でCCHH52がADR1のデータはユ
ニット番号UN3である他ユニットにあることが分か
る。他ユニット内でどの物理ドライブアドレスにデータ
があるかは、他ユニットの仮想ドライブ管理テーブル3
1に記載されている。
【0065】図6は、キャッシュメモリ7の内部の適当
な領域に格納されている物理ドライブ管理テーブル33
である。
【0066】物理ドライブ管理テーブル33は、そのユ
ニット2にある物理ドライブの空き領域を管理するため
のテーブルである。物理ドライブ管理テーブル33は、
そのユニット2にある物理ドライブのドライブアドレス
71のフィールド、およびドライブ内アドレスであるC
CHHのフィールド72を有する。
【0067】また、その物理ドライブアドレス71とC
CHH72とにより指定される物理ドライブのトラック
(CCHH)毎に、そのトラックが既に仮想ドライブの
領域として割当てられている場合にオン(1)が登録さ
れる仮想ドライブ割り当てフラグ73のフィールドを有
する。さらに、物理ドライブ毎に、仮想ドライブの領域
として割り当てられていないトラック、すなわち空きト
ラックの数を保持するフィールド74を有する。
【0068】図7は、キャッシュメモリ7の内部の適当
な領域に格納されているユニット管理テーブル32であ
る。
【0069】ユニット管理テーブル32は、ユニット番
号からスイッチアドレスを求めるためのテーブルであ
る。61がユニット番号のフィールド、62がそのユニ
ット番号61に対応するスイッチアドレスのフィールド
である。ユニット番号は、各ユニットに固有の番号であ
る。スイッチアドレスは、スイッチ40を介して当該ユ
ニットにコマンドを発行するときに指定するアドレスで
ある。
【0070】これらの、テーブル31、32、33は、
システムの電源をオンしたときに、MP20により、特
定のドライブ12からキャッシュメモリ7に自動的に読
み込まれる。一方、電源をオフするときは、MP20に
より、キャッシュメモリ7内のそれぞれのテーブルが元
のドライブ内領域に自動的に格納される。
【0071】次に、本実施例の仮想ディスクシステムの
具体的なI/O処理について詳しく説明する。具体的に
は、あるユニット2で外部から(ホストプロセッサ1ま
たは他のユニット2から)各種のコマンドを受けたとき
にMP20が実行する処理について説明する。以下で
は、ホストからのリード/ライト処理、他ユニット
からのリード/ライト処理、ホストからの仮想ドライ
ブ作成処理、ホストからの領域確保処理、他ユニッ
トからの領域確保処理の順に説明する。
【0072】まず、ホストプロセッサ1から、すなわ
ちパス4を介してリード/ライト(読み込み/書き込
み)コマンドを受取った場合の処理の全体の流れを説明
する。
【0073】図8は、ホストプロセッサ1からリード/
ライトコマンドを受取った場合のMP20の処理の流れ
を示す。ホストプロセッサ1からコマンドを受取ると、
MP20は、仮想ドライブ管理テーブル31(図5)を
参照して、アクセスの対象となる物理ドライブアドレス
を求める(ステップ101)。次に、その対象となる物
理ドライブが、自ユニット内のものか他ユニット内のも
のかを判別する(ステップ102)。
【0074】対象となる物理ドライブ12が自ユニット
にある場合は、自ユニットにおいてリード/ライト処理
を行う(ステップ103)。対象となる物理ドライブ1
2が他ユニットにある場合は、仮想ドライブ管理テーブ
ル31(図5)の物理ドライブアドレス53のフィール
ドに書かれているユニット番号からユニット管理テーブ
ル32(図7)を参照して対象ユニットのスイッチアド
レス54を求める(ステップ104,105)。そし
て、スイッチパス10を介して、求めたスイッチアドレ
スの対象ユニットへ、リード/ライトコマンドを発行
(転送)するよう指示する(ステップ106)。他ユニ
ットへリード/ライトコマンドを発行するときは、ホス
トプロセッサ1から受けたオペランドも含めて他ユニッ
トへ転送する。
【0075】自ユニットにおけるリード/ライトコマン
ドの処理について、図4を用いて、詳細に説明する。以
下の説明は、上述した図8の処理の全体の流れのうち、
ステップ101→ステップ102→ステップ103の処
理を詳しく説明するものである。これは、自ユニットに
アクセス対象の領域がある場合であり、従来のディスク
システムと同様の動作である。
【0076】図4を参照して、ホストプロセッサ1より
発行されたコマンドは、IF Adp15を介して取り
込まれ、MP20によりリード(読み出し)要求かライ
ト(書き込み)要求か解読される。
【0077】まず、読み出し要求の場合の処理方法を以
下に示す。MP20が読み出し要求のコマンドを認識す
ると、MP20は送られてきた仮想ドライブアドレスか
ら仮想ドライブ管理テーブル31(図5)を参照し、当
該データの物理ドライブアドレスへの変換を行ない、さ
らにそのデータがキャッシュメモリ7内に存在するかど
うかをキャッシュフラグ56を調べて判定する。
【0078】キャッシュフラグ56がオンでキャッシュ
メモリ7内に格納されている場合(キャッシュヒット)
は、MP20が、キャッシュメモリ7から当該データを
読みだす制御を開始する。一方、キャッシュメモリ7内
に当該データが無い場合(キャッシュミス)は、当該ド
ライブ12へその内部の当該データを読みだす制御を開
始する。
【0079】キャッシュヒット時の処理について説明す
る。MP20は、求めたキャッシュアドレス55を用い
て、キャッシュメモリ7へ当該データを読み出しに行
く。具体的には、MP20の指示の元で、キャッシュア
ダプタ回路(C Adp)23によりキャッシュメモリ
7から当該データは読み出される。C Adp23は、
キャッシュメモリ7に対するデータの読み出しおよび書
き込みをMP20の指示で行う回路であり、キャッシュ
メモリ7の状態の監視、各読み出し、書き込み要求に対
し排他制御を行う回路である。
【0080】C Adp23により読み出されたデータ
は、データ制御回路(DCC)22の制御によりチャネ
ルインターフェース回路(CH IF)21に転送され
る。CH IF21では、チャネルインターフェースの
プロトコルに変換し、チャネルインターフェースに対応
する速度に速度調整する。具体的には、ホストプロセッ
サ1とユニット2との間のチャネルインターフェースを
光のインターフェース(光チャネル)にした場合、光の
インターフェースのプロトコルを、ユニット2内では電
気処理でのプロトコルに変換する。CH IF21にお
けるプロトコル変換および速度調整後は、チャネルパス
ディレクタ5において、チャネルパススイッチ16が外
部インターフェースパス4を選択しIF Adp15に
よりホストプロセッサ1へデータ転送を行なう。
【0081】一方、キャッシュミス時は、以下のように
処理される。MP20は、Drive IF27に対
し、当該ドライブ12への読み出し要求を発行するよう
に指示する。Drive IF27では、SCSIの読
み出し処理手順に従って、読み出しコマンドをドライブ
ユニットパス9−1または9−2を介して発行する。
【0082】Drive IF27から読み出しコマン
ドを発行された当該ドライブ12においては、指示され
たドライブ内アドレスへ読み書きヘッドをシークし、回
転待ちのアクセス処理を行なう。当該ドライブ12にお
けるアクセス処理が完了した後、当該ドライブ12は当
該データを読み出し、ドライブユニットパス9を介して
Drive IF27へ転送する。
【0083】Drive IF27では、転送されてき
た当該データをドライブ側のキャッシュアダプタ回路
(C Adp)26に転送し、C Adp26ではキャ
ッシュメモリ7にデータを格納する。このとき、C A
dp26は、キャッシュメモリ7にデータを格納するこ
とをMP20に報告する。MP20は、この報告に基づ
いて、仮想ドライブ管理テーブル31(図5)の当該エ
ントリのキャッシュフラグ56をオン(1)にし、キャ
ッシュアドレス55にキャッシュメモリ7内のデータを
格納したアドレスを登録する。その後は、キャッシュヒ
ット時と同様な手順でホストプロセッサ1へ当該データ
を転送する。
【0084】一方、書き込み時は以下のように処理され
る。まず、MP20は、ホストプロセッサ1から書込み
要求のコマンドを受け取った後、コマンドを受け取った
MP20が所属するクラスタ13内の各チャネルパス6
において処理可能かどうかを調べ、可能な場合は処理可
能だという応答をホストプロセッサ1へ返す。
【0085】ホストプロセッサ1では、処理可能だとい
う応答を受け取った後に、当該ユニット2へデータを転
送する。このとき、ユニット2では、MP20の指示に
より、チャネルパスディレクタ5のチャネルパススイッ
チ16が当該外部インターフェースパス4とIF Ad
p15を当該チャネルパス6と接続し、ホストプロセッ
サ1とユニット2との間の接続を確立する。ホストプロ
セッサ1とユニット2との間の接続を確立した後、ホス
トプロセッサ1からのデータ転送を受け付ける。
【0086】ホストプロセッサ1から転送されてきた書
き込みデータは、MP20の指示により、CH IF2
1によるプロトコル変換が施され、外部インターフェー
スパス4での転送速度からユニット2内での処理速度に
速度調整される。CH IF21におけるプロトコル変
換および速度制御の完了後、データはDCC22による
データ転送制御を受け、C Adp23に転送され、C
Adp23によりキャッシュメモリ7内に格納され
る。
【0087】このとき、読み出しと同様に仮想ドライブ
管理テーブル31(図5)によりアドレス変換を行い、
物理デバイスアドレスを求める。また、ホストプロセッ
サ1から送られてきた情報が書き込みデータの場合は、
キャッシュメモリ7に格納したアドレスをキャッシュア
ドレス55に登録する。このとき、書き込みデータをキ
ャッシュメモリ7内に保持するときは、キャッシュフラ
グ56をオン(1)とし、保持しない場合はオフ(0)
とする。
【0088】このようにキャッシュメモリ7に新データ
を格納したのをMP20が確認したら、MP20は、書
込み処理の完了報告をホストプロセッサ1に対しチャネ
ル4を介して報告する。
【0089】なお、キャッシュメモリ7内に保持されて
いる新データに対し、さらに書き込み要求がホストプロ
セッサ1から発行された場合は、キャッシュメモリ7内
に保持されている新データを書き替える。その後、Dr
ive IF27に対し、各々の当該ドライブ12に対
し書き込み処理を行なうように指示する。
【0090】ドライブ12への書込みが完了すると、当
該ドライブ12はDrive IF27に完了報告を行
ない、Drive IF27がこの完了報告を受け取っ
たことを、MP20に報告する。このとき、MP20
は、この新データをキャッシュメモリ7上に残さない場
合は、この報告を元にテーブル31のキャッシュフラグ
56をオフ(0)にする。キャッシュメモリ7内に書き
込む新データを保持する場合は、書き込み後のキャッシ
ュアドレス55に、キャッシュメモリ7内の新データが
格納されているアドレスを登録し、キャッシュフラグ5
6をオン(1)とする。
【0091】次に、他ユニットからのリード/ライト
処理の要求を受取ったときの処理の流れを説明する。こ
れは、図8のステップ106で発行されたリード/ライ
ト要求を受け取ったユニット2における処理である。
【0092】図9に、他ユニット2からのリード/ライ
トコマンドをスイッチパス10から受取ったときの処理
の流れを示す。
【0093】まず、MP20は、仮想ドライブ管理テー
ブル31(図5)を参照して、アクセスの対象となる物
理ドライブアドレスを求める(ステップ111)。次
に、スイッチパス10から受けたリード/ライトコマン
ドを、通常のリード/ライトコマンドと同様に処理する
(ステップ122)。
【0094】この図9の処理の詳細は、上記で図4を
参照して説明した処理手順とほぼ同じである。ただし、
上記ではホストプロセッサ1から発行されたコマンド
がパス4を介してMP20に入力するが、図9の処理で
は他ユニット2からスイッチパス10を介してMP20
に入力する。
【0095】また、他ユニット2からのコマンドが読み
出し要求であったときの処理手順は、上記で図4を参
照して説明した読み出し要求の場合の処理方法と同じで
ある。本実施例のホストプロセッサ1は要求を発行した
チャネルとその要求に対する応答の割り込みが返ってく
るチャネルとは、異なっていてもかまわないから、他ユ
ニットから転送された読み出し要求コマンドに対して
も、読み出しデータは直接ホストプロセッサ1に返すよ
うにしている。
【0096】他ユニットからのコマンドが書き込み要求
であったときの処理手順も、上記で図4を参照して説
明した書き込み時の処理と同様である。ただし、上記
では書き込みデータはホストプロセッサ1からチャネル
パス6を介して転送されてくるが、図9の処理ではスイ
ッチパス10を介して他ユニットから書き込みデータが
転送されてくる。
【0097】次に、図10を参照して、ホストプロセ
ッサ1から仮想ドライブ作成コマンドを受け取った場合
の処理の流れを説明する。ホストプロセッサ1は、仮想
ドライブの管理元のユニット番号と仮想ドライブアドレ
スとをオペランドとして仮想ドライブ作成コマンドを発
行する。オペランドで指定された管理元ユニットでは、
以下の処理を行う。
【0098】ホストプロセッサ1から仮想ドライブ作成
コマンドを受け取ると、MP20は、仮想ドライブ管理
テーブル31(図5)の空きエントリを確保し(ステッ
プ141)、コマンドのオペランドとして受け取った作
成すべき仮想ドライブのアドレスをフィールド51に設
定する(ステップ142)。
【0099】次に、図11を参照して、ホストプロセ
ッサ1から領域確保コマンドを受け取った場合の処理の
流れを説明する。ホストプロセッサ1は、仮想ドライブ
アドレスと実際の領域を確保するユニットのユニット番
号と物理ドライブアドレスと確保トラック数とをオペラ
ンドとして領域確保コマンドを発行する。当該仮想ドラ
イブアドレス(オペランドで指定された仮想ドライブア
ドレス)の仮想ドライブの管理元のユニット2では、以
下の処理を行う。
【0100】ホストプロセッサ1から領域確保コマンド
を受け取ると、MP20は、実際に領域を確保するユニ
ットとしてオペランドで指定されたユニットが、自ユニ
ットであるか他ユニットであるかを判別する(ステップ
121)。指定ユニットが他ユニットならば、ユニット
管理テーブル(図7)を参照して、指定ユニットのスイ
ッチアドレスを求める(ステップ122)。そして、ス
イッチパス10を介して当該スイッチアドレスのユニッ
トへ領域確保要求コマンドを発行(転送)する(ステッ
プ123)。他ユニット2への領域確保要求コマンド発
行においては、ホストプロセッサ1から受けたオペラン
ドも含めて転送する。
【0101】ステップ121で指定ユニットが自ユニッ
トのときは、物理ドライブ管理テーブル33(図6)を
参照して、コマンドのオペランドで指定された物理ドラ
イブアドレスのドライブの空きトラック数74を読み出
し、その空きトラック数がオペランドで指定された確保
トラック数以上であるか否かを判別する(ステップ12
4)。空きトラック数が、指定された確保トラック数よ
り小さいときは、その確保トラック数分のトラックは確
保できないということだから、ホストプロセッサ1に領
域確保失敗の割り込みを返す(ステップ125)。
【0102】ステップ124で空きトラック数が指定さ
れた確保トラック数以上のときは、物理ドライブ管理テ
ーブル33(図6)のエントリのうち、コマンドのオペ
ランドで指定された物理ドライブアドレスの先頭エント
リからサーチし、仮想ドライブ割り当てフラグ73がゼ
ロのエントリを確保トラック数分だけ確保する。そし
て、確保したエントリの仮想ドライブ割り当てフラグ7
3を1に設定し、その指定ドライブの空きトラック数7
4を確保トラック数だけマイナスして更新する(ステッ
プ126)。
【0103】次に、仮想ドライブ管理テーブル31(図
5)において、オペランドで指定された仮想ドライブア
ドレスの空きトラックエントリに、トラックアドレス
(CCHH)52とステップ126で確保したトラック
の物理ドライブアドレス53とCCHH54とを設定す
る(ステップ127)。そして、ホストプロセッサ1に
領域確保成功の割り込み応答を返す(ステップ12
8)。
【0104】次に、図12を参照して、他ユニット2
から領域確保要求または応答のコマンドを受け取った場
合の処理について説明する。
【0105】まず、MP20は、受け取ったコマンド
が、領域確保要求のコマンドか応答のコマンドかを判別
する(ステップ161)。領域確保要求は、上記の図
11のステップ123で発行されるコマンドである。受
け取ったコマンドが他ユニット2からの領域確保要求で
ある場合は、ステップ166〜170でそのような領域
確保要求を受け取った側のユニット2における処理を行
う。応答のコマンドとは、領域確保要求を他ユニット2
に出し、それを受けたユニットが領域確保処理を行った
結果を知らせる応答である。応答のコマンドを受けたユ
ニット2における処理は、ステップ162〜165であ
る。
【0106】ステップ161で受け取ったコマンドが領
域確保要求であるときに実行するステップ166〜17
0の処理は、上記の図11のステップ124〜128
とほぼ同じである。ただし、図11のステップ125お
よび128ではホストプロセッサ1に領域確保失敗ある
いは成功の割り込みを返しているが、図12のステップ
167および170ではスイッチパス10を介して要求
発行元のユニット2に応答を返すようにしている点が異
なる。
【0107】ステップ161で受け取ったコマンドが領
域確保に対する応答であるときは、領域確保の成功の応
答かあるいは失敗の応答かを判別する(ステップ16
2)。領域確保失敗の応答ならば、ホストプロセッサ1
に領域確保失敗の割り込みを返す(ステップ163)。
【0108】ステップ162で領域確保成功の応答なら
ば、仮想ドライブ管理テーブル31(図5)の該当する
仮想ドライブの物理ドライブアドレス53に、応答を送
ったユニットの番号を設定し(ステップ164)、ホス
トプロセッサ1に領域確保成功の割り込み応答を返す
(ステップ165)。
【0109】上記実施例によれば、仮想ドライブ管理テ
ーブル31(図5)により仮想ドライブアドレスと物理
ドライブアドレスとの対応を取っているので、上位装置
からは従来ドライブを同じインターフェースでアクセス
できる仮想ドライブが見えるようにできる。仮想ドライ
ブは実際は複数の物理ドライブ上に構成されており、複
数の物理ドライブの統合的な管理が実現される。さら
に、ユニットを増設して仮想ドライブ作成コマンドや領
域確保コマンドを用いて、容易に仮想ドライブの作成お
よび領域の確保を行うことができる。
【0110】図13は、上記実施例の一変形例を示す。
上記実施例では、図2に示したように、ユニット群2は
チャネル4によりホストプロセッサ1と接続されると同
時に、スイッチ40とスイッチ線3によっても接続され
ている。そして、ユニット2間のコマンドは、スイッチ
40を介して転送される構成となっている。
【0111】図13は、その一変形例を示すもので、ユ
ニット2間のコマンド転送をチャネル4とチャネルディ
レクタ45により行うものである。チャネルディレクタ
45は、IBM社のES/9000シリーズ(商品名)
のチャネルディレクタ装置のような公知の技術を用いた
ものである。
【0112】この変形例では、ユニット間2を接続する
スイッチという特別なハードウエアが不要であり、すべ
てチャネル4でコマンド転送が可能となり、ユニット2
の構成を単純化でき、コストも少なくできるという利点
がある。
【0113】なお、上記実施例では、磁気ディスクドラ
イブを用いた例を説明したが、磁気ディスクドライブに
限らず、光ディスク装置など他の記憶装置を用いてもよ
い。
【0114】
【発明の効果】本発明によれば、多数の物理ドライブが
実装されていても、それらを少数の仮想ディスクボリュ
ームとして、ホストプロセッサからアクセスすることが
できるので、ドライブの統合的な管理が実現でき、シス
テム管理者のファイル管理が容易となる。また、ホスト
プロセッサからは従来と互換性のある仮想ディスクボリ
ュームのみが見えており、従来と同様の方法で仮想ディ
スクボリュームにアクセスできるので、ソフトウェアの
変更が不要である。
【0115】また、ドライブを増設した場合は、既存の
仮想ディスクボリュームの容量拡張とすることができる
ので、新たなディスクボリュームのシステムへの追加や
ファイルの新ディスクボリュームへの移動作業が不要で
あり、増設が容易となる。また、統合管理の処理はすべ
てディスクシステム側で行なうのでホストプロセッサの
負荷とならない。さらに、ディスクシステムの複数のユ
ニットで処理を分担できるので、特定の制御装置に負荷
が集中せず、高性能なディスクシステムを実現すること
ができる。
【図面の簡単な説明】
【図1】実施例の仮想ディスクシステムのユニットの構
成図である。
【図2】仮想ドライブの概念図である。
【図3】実施例の仮想ディスクシステムの構成図であ
る。
【図4】実施例のユニットの詳細構成図である。
【図5】実施例の仮想ドライブ管理テーブルの構造図で
ある。
【図6】実施例の物理ドライブ管理テーブルの構造図で
ある。
【図7】実施例のユニット管理テーブルの構造図であ
る。
【図8】実施例のホストプロセッサからのリード/ライ
ト処理のフローチャートである。
【図9】実施例の他ユニットからのリード/ライト処理
のフローチャートである。
【図10】実施例のホストプロセッサからの仮想ドライ
ブ作成処理のフローチャートである。
【図11】実施例のホストプロセッサからの領域確保処
理のフローチャートである。
【図12】実施例の他ユニットからの領域確保処理のフ
ローチャートである。
【図13】変形例の全体構成図である。
【符号の説明】
1…ホストプロセッサ、2…ユニット、5…チャネルパ
スディレクタ、6…チャネルパス、7…キャッシュメモ
リ、8…ドライブパス、10…スイッチパス、11…サ
ブユニット、12…ドライブ、13…クラスタ、15…
インターフェースアダプタ、16…チャネルパススイッ
チ、18…データ線、20…マイクロプロセッサ、21
…チャネルインターフェース回路、22…データ制御回
路、23…チャネル側キャッシュアダプタ、24…スイ
ッチ側キャッシュアダプタ、25…スイッチインターフ
ェース回路、26…ドライブ側キャッシュアダプタ、2
7…ドライブインターフェース回路、31…仮想ドライ
ブ管理テーブル、32…ユニット管理テーブル、40…
スイッチ。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平5−334006(JP,A) 特開 平5−108273(JP,A) 特開 平2−178743(JP,A) 特開 昭60−77256(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06 - 3/08 G06F 12/00 G11B 20/10 - 20/16

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】ホストプロセッサに物理的に接続され、
    数の物理ドライブと該複数の物理ドライブへのアクセス
    を制御するアクセス制御回路とを備えたユニットを複数
    備えるとともに、前記ホストプロセッサに対しては1台
    の仮想ドライブとしてのインターフェースを提供する仮
    想ディスクシステムであって、前記各ユニットは、それらのユニットが前記ホストプロ
    セッサに対して提供する外部インターフェースパスとは
    異なるパスであるスイッチにより相互に接続されてお
    り、 前記各ユニットは、 前記ホストプロセッサから与えられる仮想ドライブの論
    理アドレスを前記複数の物理ドライブの物理アドレスに
    変換するアドレス変換手段と、 前記ホストプロセッサから前記外部インターフェースパ
    ス経由で仮想ドライブの論理アドレスを指定したアクセ
    ス要求があったときは、前記アドレス変換手段により、
    指定された論理アドレスを前記複数の物理ドライブの物
    理アドレスに変換するとともに、そのアクセス要求を自
    ユニットのアクセス制御回路に転送するか、他ユニット
    のアクセス制御回路に前記スイッチ経由で転送するかを
    選択する手段とを備えたことを特徴とする仮想ディスク
    システム。
  2. 【請求項2】ホストプロセッサに物理的に接続され、
    数の物理ドライブと該複数の物理ドライブへのアクセス
    を制御するアクセス制御回路とを備えたユニットを複数
    備えるとともに、前記ホストプロセッサに対しては1台
    の仮想ドライブとしてのインターフェースを提供する仮
    想ディスクシステムであって、前記各ユニットは、それらのユニットが前記ホストプロ
    セッサに対して提供する外部インターフェースパスとは
    異なるパスであるスイッチにより相互に接続されてお
    り、 前記各ユニットは、 前記ホストプロセッサから与えられる仮想ドライブの論
    理アドレスを前記複数の物理ドライブの物理アドレスに
    変換するためのテーブルであって、その論理アドレスに
    対応する物理ドライブが自ユニット内にあるか他ユニッ
    ト内にあるかを判別できる情報を保持するテーブルを格
    納した記憶手段と、 前記ホストプロセッサから仮想ドライブの論理アドレス
    を指定したアクセス要求があったときは、前記テーブル
    を用いて、指定された論理アドレスを前記複数の物理ド
    ライブの物理アドレスに変換するとともに、その変換結
    果により、アクセスすべき物理ドライブが自ユニット内
    のものであるときはアクセス要求を自ユニットのアクセ
    ス制御回路に転送し、アクセスすべき物理ドライブが他
    ユニット内のものであるときはアクセス要求を該他ユニ
    ットのアクセス制御回路に前記スイッチ経由で転送する
    手段と 自ユニット内のアクセス要求であるか他ユニットから転
    送されてきたアクセス要求であるかにかかわらず、受け
    取ったアクセス要求に応じて自ユニット内の物理ドライ
    ブをアクセスし、そのアクセス結果を、直接、前記ホス
    トプロセッサに応答するアクセス制御回路と を備えたこ
    とを特徴とする仮想ディスクシステム。
  3. 【請求項3】前記テーブルは、仮想ドライブの論理アド
    レスを保持するフィールドとそれに対応する物理ドライ
    ブの物理アドレスを保持するフィールドとを有し、該論
    理アドレスに対応する物理ドライブが自ユニット内にあ
    るときは、該物理アドレスのフィールドに、該物理ドラ
    イブを特定するドライブアドレスとそのドライブ内アド
    レスとを保持し、該論理アドレスに対応する物理ドライ
    ブが他ユニット内にあるときは、該物理アドレスのフィ
    ールドに、該他ユニットを特定する情報を保持すること
    を特徴とする請求項に記載の仮想ディスクシステム。
  4. 【請求項4】前記ホストプロセッサから仮想ドライブの
    作成要求が送られてきたときに、前記テーブルの論理ア
    ドレスを保持するフィールドの空きエントリを確保し、
    作成すべき仮想ドライブの論理アドレスを該フィールド
    に設定する手段を、さらに備えたことを特徴とする請求
    に記載の仮想ディスクシステム。
  5. 【請求項5】前記ホストプロセッサから仮想ドライブの
    領域確保要求が送られてきた場合、領域を確保するユニ
    ットとして自ユニットが指定されているときは、自ユニ
    ット内の物理ドライブの空き領域を確保して前記テーブ
    ルの物理アドレスを保持するフィールドに、確保した空
    き領域の物理ドライブのドライブアドレスとそのドライ
    ブ内アドレスとを格納し、領域を確保するユニットとし
    て他ユニットが指定されているときは、該指定されてい
    る他ユニットに領域確保要求を転送する手段を、さらに
    備えたことを特徴とする請求項に記載の仮想ディスク
    システム。
  6. 【請求項6】前記他のユニットから仮想ドライブの領域
    確保要求が送られてきた場合は、自ユニット内の物理ド
    ライブの空き領域を確保して、前記テーブルの物理アド
    レスを保持するフィールドに、確保した空き領域の物理
    ドライブのドライブアドレスとそのドライブ内アドレス
    とを格納し、領域確保要求の要求元のユニットに応答を
    返す手段を、さらに備えたことを特徴とする請求項
    記載の仮想ディスクシステム。
  7. 【請求項7】前記ユニット単位で増設を行うことを特徴
    とする請求項1から6のいずれか1つに記載の仮想ディ
    スクシステム。
JP32317693A 1993-11-29 1993-11-29 仮想ディスクシステム Expired - Lifetime JP3431972B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32317693A JP3431972B2 (ja) 1993-11-29 1993-11-29 仮想ディスクシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32317693A JP3431972B2 (ja) 1993-11-29 1993-11-29 仮想ディスクシステム

Publications (2)

Publication Number Publication Date
JPH07152491A JPH07152491A (ja) 1995-06-16
JP3431972B2 true JP3431972B2 (ja) 2003-07-28

Family

ID=18151929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32317693A Expired - Lifetime JP3431972B2 (ja) 1993-11-29 1993-11-29 仮想ディスクシステム

Country Status (1)

Country Link
JP (1) JP3431972B2 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09265360A (ja) * 1996-03-28 1997-10-07 Nippon Steel Corp 複数記憶媒体検索システム
JPH09288547A (ja) * 1996-04-22 1997-11-04 Hitachi Inf Technol:Kk アレイ型記憶装置
JP3202600B2 (ja) * 1996-06-27 2001-08-27 日本電気株式会社 磁気ディスク装置
JP3998289B2 (ja) * 1997-02-14 2007-10-24 富士通株式会社 ライブラリ装置を論理的に分割して制御するライブラリ制御装置および方法
JP3671595B2 (ja) 1997-04-01 2005-07-13 株式会社日立製作所 複合計算機システムおよび複合i/oシステム
JP3184127B2 (ja) * 1997-08-28 2001-07-09 神戸日本電気ソフトウェア株式会社 光ディスク仮想ボリューム管理装置
JP3667084B2 (ja) * 1998-05-14 2005-07-06 株式会社日立製作所 データ多重化制御方法
JP4292713B2 (ja) * 1998-05-18 2009-07-08 株式会社日立製作所 ディスクアレイ制御装置
US7082462B1 (en) 1999-03-12 2006-07-25 Hitachi, Ltd. Method and system of managing an access to a private logical unit of a storage system
JP3837953B2 (ja) * 1999-03-12 2006-10-25 株式会社日立製作所 計算機システム
JP3376316B2 (ja) * 1999-05-19 2003-02-10 日本電気株式会社 ディスクアレイ装置及びそれに用いる高速通信方法並びにその制御プログラムを記録した記録媒体
US6839827B1 (en) 2000-01-18 2005-01-04 International Business Machines Corporation Method, system, program, and data structures for mapping logical blocks to physical blocks
US6490651B1 (en) * 2000-03-14 2002-12-03 Maxtor Corporation Host-based virtual disk drive for improving the performance of a hard disk drive's input/output
JP2003044230A (ja) * 2001-05-23 2003-02-14 Hitachi Ltd 記憶装置システム
JP4014923B2 (ja) * 2002-04-30 2007-11-28 株式会社日立製作所 共有メモリ制御方法および制御システム
JP2003345513A (ja) * 2002-05-27 2003-12-05 Hitachi Ltd 記憶装置および記憶装置サブシステム
US6957303B2 (en) 2002-11-26 2005-10-18 Hitachi, Ltd. System and managing method for cluster-type storage
US7353321B2 (en) * 2003-01-13 2008-04-01 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays
JP2004302556A (ja) * 2003-03-28 2004-10-28 Hitachi Ltd 複数の計算機システム間でのデータ共有方法およびディスク制御装置
JP4413518B2 (ja) * 2003-04-16 2010-02-10 株式会社日立製作所 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法
US7571280B2 (en) 2003-04-25 2009-08-04 Hitachi, Ltd. Cluster-type storage system and managing method of the cluster-type storage system
JP4462852B2 (ja) 2003-06-23 2010-05-12 株式会社日立製作所 ストレージシステム及びストレージシステムの接続方法
JP4285202B2 (ja) * 2003-10-31 2009-06-24 株式会社日立製作所 複合計算機システムおよび複合i/oシステム
EP1533704A3 (en) 2003-11-21 2007-03-07 Hitachi, Ltd. Read/write protocol for cache control units at switch fabric, managing caches for cluster-type storage
JP4703959B2 (ja) * 2003-12-03 2011-06-15 株式会社日立製作所 記憶装置システムおよびそのレプリケーション作成方法
JP2005165702A (ja) 2003-12-03 2005-06-23 Hitachi Ltd クラスタストレージのデバイス連結方法
JP4075790B2 (ja) * 2003-12-08 2008-04-16 株式会社日立製作所 複合計算機システムおよび複合i/oシステム
JP2005301590A (ja) 2004-04-09 2005-10-27 Hitachi Ltd ストレージシステム及びデータ複製方法
JP4751123B2 (ja) * 2005-07-29 2011-08-17 株式会社日立製作所 ストレージシステム、フォーマット方法及びコンピュータプログラム
JP2007041811A (ja) * 2005-08-02 2007-02-15 Toshiba Corp 情報処理システム、情報処理装置および情報処理方法
JP4514222B2 (ja) * 2005-09-06 2010-07-28 株式会社日立製作所 データ記憶システム
JP5098145B2 (ja) 2005-10-12 2012-12-12 ソニー株式会社 データ管理装置および記録媒体の管理方法
JP4474356B2 (ja) * 2005-12-27 2010-06-02 富士通株式会社 コンピュータシステムおよびストレージ仮想化装置
JP4414399B2 (ja) * 2006-01-30 2010-02-10 富士通株式会社 ディスク制御装置
JP4224077B2 (ja) 2006-04-04 2009-02-12 株式会社東芝 ストレージシステム
JP2007048319A (ja) * 2006-11-09 2007-02-22 Hitachi Ltd 複合計算機システムおよび複合i/oシステム
JP2010097563A (ja) 2008-10-20 2010-04-30 Nec Corp ネットワークストレージシステム、ディスクアレイ装置、ホスト装置、アクセス制御方法、データアクセス方法
US20100153612A1 (en) * 2008-12-15 2010-06-17 Lsi Corporation Transport agnostic scsi i/o referrals
JP5962621B2 (ja) * 2013-09-19 2016-08-03 日本電気株式会社 ストレージ装置及びその制御方法、並びにストレージ制御プログラム
JP6604029B2 (ja) * 2015-04-30 2019-11-13 富士通株式会社 制御装置、ストレージ装置、制御プログラム
JP2018081346A (ja) * 2016-11-14 2018-05-24 日本電気株式会社 ストレージ装置、ストレージシステム、ストレージ制御方法、および、ストレージ制御プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6077256A (ja) * 1983-10-04 1985-05-01 Mitsubishi Electric Corp デ−タアクセス方法
JPH02178743A (ja) * 1988-12-28 1990-07-11 Casio Comput Co Ltd ファイル更新処理装置
JPH05108273A (ja) * 1991-10-17 1993-04-30 Nec Corp 計算機システム
JP2766424B2 (ja) * 1992-06-04 1998-06-18 三菱電機株式会社 論理ボリューム装置

Also Published As

Publication number Publication date
JPH07152491A (ja) 1995-06-16

Similar Documents

Publication Publication Date Title
JP3431972B2 (ja) 仮想ディスクシステム
JP3671595B2 (ja) 複合計算機システムおよび複合i/oシステム
US6772283B2 (en) Disk control device and method processing variable-block and fixed-block accesses from host devices
US6049890A (en) Disk array system and its control method
JP3176157B2 (ja) ディスクアレイ装置及びそのデータ更新方法
US6272571B1 (en) System for improving the performance of a disk storage device by reconfiguring a logical volume of data in response to the type of operations being performed
JP3944449B2 (ja) 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法
US8635424B2 (en) Storage system and control method for the same
JP3781212B2 (ja) サブシステム
JP2009043030A (ja) ストレージシステム
JP2001256003A (ja) ディスクアレイ制御装置、そのディスクアレイ制御ユニットおよびその増設方法
JP2002244817A (ja) ミラーリング・エージェント
JP2007102760A (ja) ストレージエリアネットワークにおけるボリュームの自動割り当て
JPS6243766A (ja) 共用資源の状態管理方式
JP2021128802A (ja) 情報処理システム、ストレージシステム及びデータ転送方法
JP2003131818A (ja) クラスタ構成ストレージにおけるクラスタ間raid構成
JP5597266B2 (ja) ストレージシステム
JPH0863394A (ja) 記憶装置システムおよび記憶装置の制御方法
US20050223180A1 (en) Accelerating the execution of I/O operations in a storage system
JP2001022614A (ja) 階層形記憶システム
JP3256329B2 (ja) ディスクアレイ装置及びその制御方法
JP2733189B2 (ja) ディスクアレイ装置の入出力制御方法
JP4075790B2 (ja) 複合計算機システムおよび複合i/oシステム
JP4285202B2 (ja) 複合計算機システムおよび複合i/oシステム
JP2000311112A (ja) 情報システム

Legal Events

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

Free format text: PAYMENT UNTIL: 20080523

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080523

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090523

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100523

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 10

EXPY Cancellation because of completion of term