JPH05250099A - 高速ファイルアクセス制御方法および計算機システム - Google Patents

高速ファイルアクセス制御方法および計算機システム

Info

Publication number
JPH05250099A
JPH05250099A JP4046685A JP4668592A JPH05250099A JP H05250099 A JPH05250099 A JP H05250099A JP 4046685 A JP4046685 A JP 4046685A JP 4668592 A JP4668592 A JP 4668592A JP H05250099 A JPH05250099 A JP H05250099A
Authority
JP
Japan
Prior art keywords
file
external storage
storage device
magnetic disk
subfile
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.)
Granted
Application number
JP4046685A
Other languages
English (en)
Other versions
JP3199816B2 (ja
Inventor
Mitsuru Akisawa
充 秋沢
Kanji Kato
寛次 加藤
Hiroyoshi Suzuki
広義 鈴木
Toshiyuki Maki
敏行 牧
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
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP04668592A priority Critical patent/JP3199816B2/ja
Priority to GB9303737A priority patent/GB2264798A/en
Priority to US08/024,462 priority patent/US5603003A/en
Publication of JPH05250099A publication Critical patent/JPH05250099A/ja
Application granted granted Critical
Publication of JP3199816B2 publication Critical patent/JP3199816B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】本発明の目的は、極めて低コストで高速なファ
イルアクセスが可能な計算機システムを提供することに
ある。 【構成】ディスコネクト・リコネクト機能付きI/Oバ
スとのインタフェースを有する計算機システム、および
I/Oバスに接続された複数の磁気ディスク装置から構
成される。計算機システムは、ディスク管理情報、ファ
イル管理情報、およびファイル記述子対応情報を参照し
て、ディスクアクセスの際にファイルを分割して複数の
ディスクに非同期で読み書きするための制御手段を有す
る。 【効果】複数の磁気ディスク装置のみで他の特別な制御
装置を用いずに、高速なファイルアクセスを実現するこ
とができるという効果がある。特殊なハードウェアを必
要としないので、従来よりも非常に低コストで高速なフ
ァイルアクセスが可能な計算機システムを実現できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ワークステーションや
サーバ等の計算機システムに関わり、特に磁気ディスク
装置に格納されたファイルの高速アクセス制御方法、及
び高速アクセス機能を有する装置に関する。
【0002】
【従来の技術】近年のCPU性能の飛躍的な向上によ
り、ワークステーションやサーバの演算性能は著しく向
上した。しかしCPU性能の向上に比較して、I/O性
能、特に磁気ディスク装置に格納されたファイルのアク
セス速度の向上は十分とは言い難い。これは、磁気ディ
スク装置のような2次記憶装置のアクセス速度ネック、
及びI/Oバスインタフェースの速度ネックが主な要因
である。
【0003】このネックを解消して高速なファイルアク
セスを実現する技術の一つとして、アレイディスク装置
がある。これは、磁気ディスク装置(以下、簡単のため
にディスクドライブあるいは単にディスクと呼ぶ)を複
数台内蔵する装置で、各ディスクを並列に動作させるこ
とにより、高速なファイルアクセスを実現しようとする
ものである。さらに、I/Oバスとの接続に高速なイン
タフェースを用いることにより、I/Oバスインタフェ
ースの速度ネックの解消も図ろうとしている。
【0004】図46にアレイディスク装置の構成を、ま
た図47にファイル読み出しの場合のタイムチャートを
示す。図46及び図47は、各スタックが4台のディス
クで構成されている例であるが、ディスク台数には増減
があっても構わない。これらの図を用いてアレイディス
ク装置の動作を説明する。
【0005】アレイディスク装置300はホストCPU
装置400から読み出し命令を受けると、装置内部のコ
ントローラ(図には示していない)が、まずスタック0
のディスクhd0〜3にほぼ同時にデータブロック読み
出しの起動をかける。スタック0の各ディスクはシー
ク、回転待ちのあとにディスク媒体から当該データブロ
ックを読み出す。ディスクから読み出されたデータブロ
ック0〜3は、それぞれ別々のFIFO(310〜31
3)に格納される。この読み出し動作はスタック0のデ
ィスクhd0〜3でそれぞれ独立かつ並列に実行される
ために、全体の読み出し処理の高速化が実現される。次
に、これらのデータブロック0〜3は時分割で装置内部
の高速バス、すなわちi−Bus320を介してそれぞ
れバッファ330に順次シーケンシャルに転送される。
このバッファ330で各ディスクから独立に読み出した
データブロック0〜3を正しい順序に整列する。そし
て、高速なSCSIバス160を介してデータブロック
0〜3をホストCPU装置400へ転送する。その後、
次の読み出し命令が発行されていれば、データブロック
を読み出すべきスタックのディスクに対して、アレイデ
ィスク装置内部のコントローラは直ちに読み出しの起動
をかける。
【0006】アレイディスク装置では、こうした一連の
動作を繰り返すことによって、高速なファイルアクセス
を実現している。
【0007】なお、アレイディスク装置に関連する公知
例としては、特開昭64−41044号「データ転送方
式」、特開昭64−21525号「磁気ディスク制御装
置」等がある。
【0008】
【発明が解決しようとする課題】上述のように、アレイ
ディスク装置を用いると高速なファイルアクセスを実現
することができる。しかしながら、スタックを構成する
複数のディスクの動作を制御する装置内蔵のコントロー
ラとして、複雑で高価なハードウェアが必要となる。こ
のために、計算機システムのコストパフォーマンスが低
下するという問題がある。また、ディスクの台数を増や
す場合には1スタック単位で増設しなければならないた
め、トータル容量に関するフレキシビリティが不十分で
あるという問題もある。
【0009】そこで本発明の目的は、計算機システムの
コストパフォーマンスを低下させることなく、アレイデ
ィスク装置に匹敵する高速なファイルアクセス機能を実
現するファイルの高速アクセス方法、並びにこれを用い
た計算機システムを提供することである。また、本発明
の他の目的として、ディスクシステムのトータル容量の
フレキシビリティーを高めるファイルアクセス方法、お
よびこれを用いた計算機システムを提供することにあ
る。
【0010】
【課題を解決するための手段】本発明は上記課題を解決
することを目的とし、複雑で高価なハードウェアを用い
ずに、複数台の磁気ディスク装置のアクセスをソフトウ
ェアで多重制御することにより、高速なファイルアクセ
スを実現する方法及び計算機システムを提供するもので
ある。
【0011】図48に本発明の原理図を、また図49に
本発明におけるファイル読み出しのタイムチャートを示
す。図48及び図49はディスク台数が4台の場合を示
す例であるが、ディスク台数には増減があっても構わな
い。これらの図を用いて本発明の原理について説明す
る。
【0012】本発明においては、計算機システムにSC
SIバスのようなディスコネクト・リコネクト機能を有
するI/Oバス160を設けてホストCPU装置400
と接続し、さらに、このI/Oバス160に内部キャッ
シュメモリ20−0〜20−3を有する複数台の磁気デ
ィスク装置170−0〜170−3を接続し以下のアク
セス制御を行う。
【0013】ファイルの書き込みを行う場合には、ホス
トCPU装置400は該当ファイルをサブファイルに分
割して、これらを各磁気ディスク装置170−0〜17
0−3の内部キャッシュメモリ20−0〜20−3に次
々に書き込んでゆく。ホストCPU装置400がサブフ
ァイルを構成するデータブロックを各磁気ディスク装置
の内部キャッシュメモリに書き込み終わると、各磁気デ
ィスク装置は書き込み終了をホストCPU装置400へ
知らせる。その後、各磁気ディスク装置内部で内部キャ
ッシュメモリに書き込まれたデータが、それぞれシーク
と回転待ちの後にディスク媒体に書き込まれる。当然こ
の間、ホストCPU装置400は他の磁気ディスク装置
の内部キャッシュメモリへ他のサブファイルの書き込み
を行うことができる。
【0014】ファイルの読み出しを行う場合には、ホス
トCPU装置400は、そのファイルを格納するサブフ
ァイルを読み出す命令を該当する各磁気ディスク装置1
70−0〜170−3に対して次々に発行してゆく。発
行後、I/Oバス160を介したホストCPU装置40
0と各磁気ディスク装置170−0〜170−3との接
続をディスコネクトする。一方、各磁気ディスク装置は
読み出し命令を受け付けると、それぞれシークと回転待
ちの後にディスク媒体からデータを内部キャッシュメモ
リへ読み出して、ホストCPU装置400に対してリコ
ネクト要求を発行する。最も早くリコネクト要求を受け
付けられた磁気ディスク装置から、ホストCPU装置4
00はデータの主記憶装置への読み込みを開始する。こ
の間、他の磁気ディスク装置もホストCPUが発行した
読み出し命令に基づき、ディスク媒体から内部キャッシ
ュメモリへデータを読み出す動作を行い、読み出し完了
と共にリコネクト要求をホストCPU装置400へ発行
する。このようにして読み出したサブファイルはホスト
CPU装置400側で合成され、元ファイルが再生され
る。
【0015】上述したファイルアクセス動作において、
磁気ディスク装置170−0〜170−3の内部キャッ
シュメモリ20−0〜20−3へのI/Oバス160を
介してのアクセスは高速なI/Oバスの速度で行えるた
め、シークや回転待ち、およびディスク媒体と内部キャ
ッシュメモリ間のデータ転送時間に比較し、極めて短時
間に行えることになる。その結果、読み出し動作も書き
込み動作も、ほぼ各磁気ディスク装置がそれぞれ独立に
並行して行うことになるため、システム全体としては高
速なファイルアクセスが実現されることになる。
【0016】以上に述べたように、ファイルの読み出し
と書き込みのどちらの場合でも、磁気ディスク装置の内
部キャッシュメモリの存在と、これに対するI/Oバス
からのアクセスが高速なことを利用して、磁気ディスク
装置の並列動作とI/Oバスの効率的な利用が実現でき
る。これにより、高速なファイルアクセスを可能とする
計算機システムを提供することができる。
【0017】上記の各機能を実現するために、本発明の
提供する高速ファイルアクセス制御方法は、ディスコネ
クトおよびリコネクト機能を有する少なくとも1本以上
の入出力バスを有し、それぞれバスインタフェース装置
を介して主記憶装置に接続された該入出力バスに各々異
なった装置として識別できる、内部キャッシュメモリを
備えた複数の外部記憶装置が接続された計算機システム
において、(1)入出力バスに接続された複数の外部記
憶装置の中から任意の複数の外部記憶装置を選択し、外
部記憶装置グループを定義した外部記憶装置の構成情報
を記憶したディスク管理情報を参照して、指定された外
部記憶装置グループからこれを構成する外部記憶装置名
称を求めるディスク構成情報参照ステップと、(2)ア
クセスの対象となる元ファイルのファイル記述子とこれ
を分割構成するサブファイルのファイル記述子とを対応
付けて記憶したファイル記述子管理情報を参照して、指
定された元ファイルのファイル記述子からこれを構成す
るサブファイルのファイル記述子を求めるサブファイル
記述子参照ステップと、(3)元ファイルを構成するサ
ブファイルの、外部記憶装置グループ内の各外部記憶装
置上での格納位置情報を記憶したファイル管理情報を参
照して、指定されたサブファイル記述子から該サブファ
イルが格納されるべき、あるいはすでに格納されている
該当外部記憶装置上の位置情報を求めるファイル位置情
報参照ステップと、(4)上記ファイル位置情報参照ス
テップにより求められた各サブファイルを格納する外部
記憶装置名称および該当外部記憶装置上の格納位置情報
をもとに、ファイル書き込みの際には、書き込み対象と
なる磁気ディスク装置と当該バスインタフェース装置を
コネクトして主記憶装置から該当するサブファイルを当
該磁気ディスク装置の内部キャッシュメモリに転送し、
転送し終えた段階で該内部キャッシュメモリからディス
ク媒体上への書き込み終了を待たずに、当該磁気ディス
ク装置をバスインタフェース装置からディスコネクト
し、次の格納対象となる磁気ディスク装置をコネクト
し、書き込み対象サブファイルを該磁気ディスク装置の
内部キャッシュメモリへ転送し、転送終了次第ディスコ
ネクトするという動作を次々に繰り返し、ファイル読み
出しの際には、読み出し対象のサブファイルを格納して
いる磁気ディスク装置と当該バスインタフェース装置を
コネクトして、該磁気ディスク装置に対して読み出し要
求を発行し、該磁気ディスク装置内のディスク媒体上の
サブファイルが同装置内のキャッシュメモリへ転送され
るのを待たずに、該磁気ディスク装置をディスコネクト
し、直ちに次の磁気ディスク装置とコネクトして次のサ
ブファイルの読み出し要求を発行するという動作を繰り
返す一方、内部キャッシュメモリ上へサブファイルの読
み込みが終了したことを伝えてきた磁気ディスク装置か
らリコネクトを行い、該当キャッシュメモリ上のサブフ
ァイルを主記憶上へ読み出すという動作を行うファイル
アクセス制御ステップから構成される。
【0018】なお、上記の複数台の磁気ディスク装置か
ら構成される仮想的なディスク装置をバーチャルアレイ
ディスク、または単にバーチャルアレイと呼ぶことにす
る。
【0019】
【作用】本発明において、上記の課題を解決するための
手段で述べた各処理ステップがどのように作用するのか
を説明する。
【0020】まず、処理ステップ(1)では、ファイル
システムの指定されたディレクトリにバーチャルアレイ
ディスクを割り当て、利用可能な状態とする。この際
に、ディスク管理情報を参照してバーチャルアレイディ
スクを構成する磁気ディスク装置を認識し、構成要素で
ある磁気ディスク装置をバーチャルアレイディスクとし
て利用可能な状態にする。
【0021】ディスク管理情報は、バーチャルアレイデ
ィスクがどの磁気ディスク装置から構成されるのかを定
義する。一般に、各磁気ディスク装置は複数のパーティ
ションに分割して使用するので、個々の磁気ディスク装
置とそのパーティションを指定することで利用する領域
を確定できる。ディスク管理情報はバーチャルアレイデ
ィスクが使用する磁気ディスク装置とそのパーティショ
ンを管理する。
【0022】次に、処理ステップ(2)では、元ファイ
ルのファイル記述子とこれを分割したサブファイルのフ
ァイル記述子との対応関係を登録したファイル記述子管
理情報を参照して、サブファイルが格納された磁気ディ
スク装置にアクセスするためのサブファイルのファイル
記述子を得る。
【0023】ファイル記述子管理情報は、元ファイルの
ファイル記述子と、バーチャルアレイディスクに格納し
たサブファイルのファイル記述子とのあいだの対応を管
理する。これにより、サブファイルの格納された複数の
磁気ディスク装置をアクセスすることが可能となる。フ
ァイル読み出し、あるいは書き込みの場合には、アプリ
ケーションプログラムから与えられた元ファイルのファ
イル記述子を、ファイル記述子管理情報を参照してサブ
ファイルのファイル記述子に変換する。また、ファイル
を新規に作成して書き込みを行う場合には、新たに元フ
ァイルとサブファイルのファイル記述子を割り当てて、
ファイル記述子管理情報にこれらの対応関係を登録す
る。これ以降、ファイルの分割された実体であるサブフ
ァイルへのアクセスは、元ファイルのファイル記述子に
よって行うことができるようになる。
【0024】次に、処理ステップ(3)では、処理ステ
ップ(2)で得たサブファイルのファイル記述子から、
サブファイルのファイル管理情報を得る。これを用いて
サブファイルを格納した磁気ディスク装置へアクセスす
る。
【0025】ファイル管理情報には、サブファイルが格
納されている磁気ディスク装置、ストライピングブロッ
ク数、サブファイルを構成するデータブロックが格納さ
れている位置を示す位置情報が登録されている。各サブ
ファイルのファイル管理情報を参照して、どの磁気ディ
スク装置のどこに格納されたデータブロックを順にアク
セスするのかを決定する。これにしたがってサブファイ
ルを順にアクセスすることにより、元ファイルをアクセ
スすることとなる。
【0026】最後に、処理ステップ(4)では、バーチ
ャルアレイディスクに格納されたファイルをアクセスす
る。実際の処理では元ファイルを格納する磁気ディスク
へのアクセスとなる。
【0027】ファイルアクセスは読み出しと書き込みの
場合とがあるが、いずれにせよ処理ステップ(3)で得
られたサブファイルのファイル管理情報を用いる。ファ
イル管理情報は、サブファイルの磁気ディスク上での格
納位置を管理する。したがって、各サブファイルのファ
イル管理情報からアクセスするデータブロックの格納位
置を得て、次々に各サブファイルを格納する磁気ディス
ク装置にアクセス要求を発行する。この際に、各サブフ
ァイルをアクセスする順番はファイル記述子管理情報か
ら得る。また、サブファイルを格納する各磁気ディスク
装置に対して連続してアクセスするブロック数は、スト
ライピングブロックとしてファイル管理情報に登録され
ている。
【0028】ファイル読み出しの場合には、読み出し対
象のサブファイルが格納されている磁気ディスク装置と
I/Oバスインタフェース装置とをコネクトし、読み出
し要求を発行する。要求が発行されると、磁気ディスク
装置はヘッドの位置決めを行い、内部キャッシュメモリ
へディスク媒体からデータを転送する。このために待ち
時間が生じる。したがって、磁気ディスク装置とI/O
バスインタフェース装置とを一旦ディスコネクトする。
この間に他の磁気ディスク装置とI/Oバスインタフェ
ース装置とをコネクトし、読み出し要求を発行すること
ができる。この場合にも、やはりヘッドの位置決めと内
部キャッシュメモリへのデータ転送を行うための待ち時
間が生じるので、さらにまた別の磁気ディスク装置に読
み出し要求を発行することができる。ヘッドの位置決め
が完了して読み出しが可能となった磁気ディスク装置か
らデータブロックを読み出し、その直後に次に読み出す
データブロックの読み出し要求を発行し、磁気ディスク
装置とI/Oバスインタフェース装置とをディスコネク
トするよう制御する。この様にして次々に読み出し要求
を各磁気ディスク装置に発行して、サブファイルを主記
憶上に読み込むことにより、元ファイルの読み込み処理
を行う。
【0029】ファイル書き込みの場合には、格納対象と
なる磁気ディスク装置とI/Oバスインタフェース装置
とをコネクトし、書き込み要求を発行する。要求発行後
にデータブロックを磁気ディスク装置へ転送する。転送
されたデータブロックは磁気ディスク装置の内部キャッ
シュメモリに書き込まれ、ヘッドの位置決めが完了する
とディスク媒体へ書き込まれる。この際に、内部キャッ
シュメモリへのデータブロック書き込みの終了をもっ
て、磁気ディスク装置とI/Oバスインタフェース装置
とをディスコネクトし、磁気ディスク装置への書き込み
を終了とする。したがって、内部キャッシュメモリから
ディスク媒体への書き込み終了を待たずに、次の磁気デ
ィスク装置とI/Oバスインタフェース装置とをコネク
トして、書き込み要求発行とデータブロックの転送を行
うことができる。この様にして次々に書き込み要求を各
磁気ディスク装置へ発行して、元ファイルをサブファイ
ルに分割しつつ主記憶上から書き込むことにより、元フ
ァイルの書き込み処理を行う。
【0030】以上の各処理ステップによるファイルアク
セスにおいて、ファイル読み出しの場合には、磁気ディ
スク装置のディスク媒体から内部キャッシュメモリへの
データ転送の間に、次の磁気ディスク装置に読み出し要
求を発行できるために、複数の磁気ディスク装置に渡っ
て読み出し処理の多重制御を行うことが可能となる。こ
れにより、各磁気ディスク装置でのシークと回転待ち、
および内部キャッシュメモリへのデータ転送が並列に実
行される。このため各磁気ディスク装置にサブファイル
の読み出し要求を発行し終わると、リコネクト要求をう
けて各磁気ディスク装置からデータブロックを読み出す
際には、内部キャッシュメモリには主記憶へ読み出し可
能なサブファイルのデータブロックが常に存在すること
となる。これらを順に読み出しながら次の読み出し要求
を発行し、その後に次の読み出し可能な磁気ディスク装
置の処理に移って行くように制御することで、I/Oバ
スの利用効率の高い、高速なファイル読み出しが実現可
能となる。
【0031】ファイル書き込みの場合には、磁気ディス
ク装置の内部キャッシュメモリからディスク媒体へのデ
ータ転送の間に、その終了を待たずに次の磁気ディスク
装置に対して書き込み要求を発行できるために、複数の
磁気ディスク装置に渡って書き込み処理の多重制御を行
うことが可能となる。これにより、各磁気ディスク装置
でのシークと回転待ち、および内部キャッシュメモリか
らディスク媒体へのデータ転送が並列に実行される。こ
のため、各磁気ディスク装置にサブファイルの書き込み
要求を順に発行することにより、高速なファイル書き込
みが実現可能となる。
【0032】しかも以上のファイルアクセスにおいて、
アプリケーションプログラムでは元ファイルのファイル
記述子のみを意識すれば良く、サブファイルに分割して
格納されていることを意識する必要がない。したがっ
て、単体の磁気ディスク装置に格納されたファイルと同
様のアプリケーションインタフェースでアクセスするこ
とが可能である。
【0033】上述のように、本発明では以上の各処理ス
テップにより複数の磁気ディスク装置を順にアクセスし
て並列動作させることにより、高速なファイルアクセス
を実現する。
【0034】
【実施例】図1に本発明の第1の実施例を示す。本実施
例の構成は,共通なデータバス101に接続されたCP
U100、メモリ110、CRTディスプレイ120、
キーボード130、ネットワークインタフェース14
0、及びI/Oバスインタフェース150からなる計算
機システムである。
【0035】I/Oバスインタフェース150には、I
/Oバス160が接続され、このI/Oバス160に7
台の磁気ディスク装置170−0〜170−6が接続さ
れている。磁気ディスク装置の台数は7台以外の構成も
取りうる。各磁気ディスク装置170−0〜170−6
とI/Oバス160との間、及びI/Oバスインタフェ
ース150内にはディスコネクト・リコネクト装置18
0−0〜180−7があり、磁気ディスク装置170−
0〜170−6がI/Oバス160を介してI/Oバス
インタフェース150とデータの送受信を行わないとき
には、両者の電気的な接続を解放(ディスコネクト)す
ることができる。再び電気的な接続が必要になったとき
には、再接続(リコネクト)することができる。これら
の制御はCPUと磁気ディスク装置とが協調して行う。
なお、上述したディスコネクト・リコネクト装置は、磁
気ディスク装置170−0〜170−6の内部にディス
クコントローラ(図には示していない)とともに内蔵す
る構成も可能である。
【0036】ネットワークインタフェース140はネッ
トワーク191に接続され、本ネットワーク191に接
続された遠隔地のワークステーション190等からのリ
モートアクセスを可能とする。
【0037】次に本実施例の動作について、まずファイ
ルをディスクに書き込む場合を例に説明する。
【0038】本実施例の計算機システムでは、ファイル
10は固定長のデータブロックの集合としてOS(オペ
レーティングシステム)で管理されている。すなわち、
図1に示すように、A10−0、B10−1、C10−
2、D10−3、E10−4、F10−5、G10−
6、H10−7、I10−8、J10−9、...とい
う一連の複数のブロックから構成される。
【0039】従来技術によるファイル書き込みの場合に
は、1個の磁気ディスク装置を選択し、その特定の磁気
ディスク装置に対して書き込み処理を行う。すなわち、
データブロックA10−0、B10−1、C10−
2、...を同一磁気ディスク装置、例えば170−0
に対して書き込むことになる。その際、データブロック
はまず磁気ディスク装置170−0の内部キャッシュメ
モリ(図示せず)に書き込まれ、シークと回転待ちの後
にディスク媒体(図示せず)上に書き込まれる。CPU
100は内部キャッシュメモリ(以後、簡単のために内
部キャッシュとも表記する)にデータを書き込むと、デ
ィスク媒体への書き込みが終了するまで次の書き込み処
理には進まずに待ち状態(wait状態)に入る。した
がって、この場合ブロックA10−0のディスク媒体へ
の書き込みが完全に終了して、初めて次のブロックB1
0−1の書き込みを実行することが可能となる。これ
は、ブロックB10−1を磁気ディスク装置170−0
へ書き込もうとしても、内部キャッシュ上のデータのデ
ィスク媒体への書き込みが終了していないため、書き込
みが行えないからである。
【0040】一方これに対して、本実施例では複数の磁
気ディスク装置にファイルを分割して格納する。例え
ば、固定長のデータブロックから構成され、メモリ11
0に格納されているファイル10を、1データブロック
をI/Oの単位として、図1のid=0から3までの4
台の磁気ディスク装置170−0〜170−3へ分割し
て格納する。この際、まずデータブロックA10−0を
id=0の磁気ディスク装置170−0へ書き込む。デ
ータブロックA10−0は磁気ディスク装置170−0
の内部キャッシュにまず書き込まれ、次にシークと回転
待ちの後にディスク媒体上の所定位置に書き込まれる。
これにより書き込み処理が終了することになる。本実施
例では、内部キャッシュからディスク媒体への書き込み
終了を待つことなく、磁気ディスク装置170−0の内
部キャッシュへの書き込みが終了した時点で、次のデー
タブロックであるブロックB10−1をid=1の磁気
ディスク装置170−1へ書き込むという処理を行う。
ここでも同様に、データブロックB10−1の内部キャ
ッシュからディスク媒体への書き込み終了を待つことな
く、次のデータブロックC10−2をid=2の磁気デ
ィスク装置170−2へ書き込む処理を行う。以下同様
にして、データブロックC10−2の内部キャッシュか
らディスク媒体への書き込み終了を待つことなく、デー
タブロックD10−3をid=3の磁気ディスク装置1
70−3へ書き込む。データブロックD10−3の磁気
ディスク装置170−3の内部キャッシュへの書き込み
が終了した後、id=0の磁気ディスク装置170−0
へ戻り、内部キャッシュからディスク媒体へのデータブ
ロックA10−0の書き込みが終了していることを確認
した上で、ブロックD10−3の書き込み終了を待つこ
となくブロックE10−4を磁気ディスク装置170−
0の内部キャッシュに書き込む。id=0の磁気ディス
ク装置への書き込みが終了するのに十分な時間が取れな
い場合には、全体の磁気ディスク装置の台数を増やせば
良い。これにより、さらにファイル書き込みの性能を向
上させることができる。以下、データブロックF10−
5、G10−6、H10−7、I10−8、J10−
9、...についても同様の方法で、異なる磁気ディス
ク装置170−1、170−2、170−3、170−
0、...と、順にデータブロックを書き込んでゆく。
すべて書き込み終わると、元ファイルの内容を4分割し
た4個のサブファイルが別々の磁気ディスク装置170
−0〜170−3に格納されたことになる。
【0041】この様に、磁気ディスク装置の内部キャッ
シュからディスク媒体へのデータブロックの書き込みの
終了を待たずに、次の磁気ディスク装置へのデータブロ
ックの書き込み要求を発行する機能を非同期書き込みと
呼ぶ。
【0042】非同期書き込みによりサブファイルを磁気
ディスク装置に書き込んでいる時、各磁気ディスク装置
170−0〜170−6とI/Oバスインタフェース1
50がI/Oバス160を介して電気的に接続されるの
は、データブロックが磁気ディスク装置の内部キャッシ
ュへ転送される間のみである。すなわち、ホストCPU
100から書き込み要求が発行されると、磁気ディスク
装置がI/Oバスインタフェース150と電気的に接続
され、データブロックの転送が可能となる。磁気ディス
ク装置の内部キャッシュへのデータブロックの書き込み
が終了すると、磁気ディスク装置とI/Oバスインタフ
ェース150との電気的接続が開放される。その後磁気
ディスク装置内部で、内部キャッシュからディスク媒体
へのデータ書き込みが独立して行われる。したがって、
ホストCPU100はこの間に異なる次の磁気ディスク
装置へアクセスすることができるため、磁気ディスク装
置の内部キャッシュへのデータブロックの書き込みを終
了したら、直ちに次の磁気ディスク装置に対する書き込
み要求を発行し、この磁気ディスク装置とI/Oバスイ
ンタフェース150との電気的接続を確立した後にデー
タブロックの転送を行うことができる。
【0043】ファイル読み出しの場合についても、本実
施例は図1のファイル書き込みの場合と同様に動作す
る。すなわち、id=0の磁気ディスク装置170−0
から順にデータブロックを読み出していく。ホストCP
U100は読み出し命令を磁気ディスク装置170−0
から170−1、170−2、...へと順に発行して
行く。命令を受け取った磁気ディスク装置はシークと回
転待ちを行なうことなく、直ちにディスク媒体からデー
タブロックを読み込める場合を除き、一旦I/Oバスイ
ンタフェース150との電気的接続を開放する。その
後、シークと回転待ちを行なってから、ディスク媒体の
所定位置からデータを読み込むシーケンスを開始する。
したがって、ホストCPU100は磁気ディスク装置1
70−0へ読み出し命令を発行した後、直ちに次の読み
出し対象となる磁気ディスク装置170−1に対して読
み出し命令を発行することが可能となる。
【0044】この様に、磁気ディスク装置からのデータ
ブロックの読み出し終了を待たずに、次の磁気ディスク
装置に対してデータブロックの読み出し要求を発行する
機能を非同期読み出しと呼ぶ。
【0045】以下、同様にしてホストCPU100は次
々に170−2、170−3の磁気ディスク装置へ読み
出し命令を発行する。一方、各磁気ディスク装置170
−0〜170−3の内部では、ディスク媒体から内部キ
ャッシュへデータが読み出されるとホストCPU100
に対してリコネクト要求を発行し、I/Oバスインタフ
ェース150との電気的接続を確立した後にホストCP
U100へのデータ転送を行う。これら、ディスク媒体
から内部キャッシュへのデータ読み出しは、それぞれの
磁気ディスク装置とも相互に独立に、かつ並列に動作す
ることが可能である。すなわち、ファイルの読み出しの
場合についても、本実施例では分割したファイルを異な
る複数の磁気ディスク装置から読み出すため、磁気ディ
スク装置の内部キャッシュの効果的な働きにより各磁気
ディスク装置の並列動作が可能となる。これにより高速
なファイル読み出しが可能となる。
【0046】以上の説明にあるI/Oバス160を介し
てのディスコネクト・リコネクト機能は、例えばSCS
Iインタフェース(Small Computer System Interface、
ANSI×3.131-1986規格)にサポートされており、本実施
例のI/OバスもSCSIインタフェースの装置を用い
ることにより実現が可能である。
【0047】図2にファイル読み出し(readと記す場合
もある)の場合のタイムチャートを示す。(1)に従来技
術である1台の磁気ディスク装置を用いる場合を、(2)
に本発明のバーチャルアレイディスクを4台の磁気ディ
スク装置で構成して用いる本実施例の場合をそれぞれ示
す。図中のI/Oバスの軸はI/Oバス160のタイム
チャートであり、idの軸は磁気ディスク装置のタイム
チャートである。I/Oバス軸上では、ホストCPU1
00と磁気ディスク装置170−0〜170−3との間
で行われる読み出しリクエスト、データ転送のタイミン
グを示す。各id軸上では、ディスク媒体から内部キャ
ッシュへのデータ転送のタイミング、および内部キャッ
シュからI/Oバス160へのデータ転送のタイミング
を示す。
【0048】まず、(1)の1台の磁気ディスク装置の場
合について動作を説明する。ホストCPU100から磁
気ディスク装置へ読み出し命令が発行され起動が掛かる
と、磁気ディスク装置内部のコントローラでコマンド解
析が行われ、磁気ディスク装置のソフトウェアオーバヘ
ッドT1が生じる。その後、ディスク媒体からデータブ
ロックを読み出すためのヘッドの位置決めが行われ、
(シーク時間+回転待ち時間)T2が生じる。この間、磁
気ディスク装置はディスコネクトされた状態となる。ヘ
ッドの位置決め終了後、磁気ディスク装置はリコネクト
され、ディスク媒体からデータブロックを内部キャッシ
ュへ読み出しながら、同時に内部キャッシュからI/O
バス160へ出力する。このためデータ転送時間T3が
生じる。
【0049】一方、(2)の4台の磁気ディスク装置で構
成されるバーチャルアレイディスクの場合には、ホスト
CPU100からid=0〜3の4台の磁気ディスク装
置へそれぞれ順に読み出し命令が発行され起動が掛か
る。
【0050】まずid=0の磁気ディスク装置170−
0に読み出し命令が発行されると、コマンド解析後磁気
ディスク装置170−0はシークと回転待ちに入り、同
時にディスコネクトされる。これによりホストCPU1
00は次のid=1の磁気ディスク装置170−1に読
み出し命令を発行することができるようになる。id=
1の磁気ディスク装置170−1もid=0の磁気ディ
スク装置と同様に、コマンド解析後シークと回転待ちに
入り同時にディスコネクトされる。このとき、id=0
の磁気ディスク装置170−0とid=1の磁気ディス
ク装置170−1はそれぞれ独立に並列動作しているこ
とになる。さらにホストCPU100は次のid=2の
磁気ディスク装置170−2、id=3の磁気ディスク
装置170−3にも同様の手順で読み出し命令を次々に
発行する。これらの磁気ディスク装置も同様に、コマン
ド解析後シークと回転待ちに入り同時にディスコネクト
される。この時点で4台の磁気ディスク装置がそれぞれ
全く独立に並列動作することになる。
【0051】id=3の磁気ディスク装置170−3が
ディスコネクトされた後、id=0の磁気ディスク装置
170−0がヘッドの位置決めを完了してデータの読み
出しが可能となっていれば、あるいはデータがディスク
媒体から読み出されて内部キャッシュに格納されていれ
ば、ホストCPU100に対してリコネクト要求を発行
する。ホストCPU100はリコネクト要求を受け付け
ると、id=0の磁気ディスク装置170−0からデー
タの読み込みを行う。この際、あらかじめデータが内部
キャッシュに格納されていれば、ディスク媒体からの読
み出し時間T3より短い時間T4(T3>T4)で高速に
データを読み出すことができる。読み込みが終了する
と、id=0の磁気ディスク装置170−0に対して次
の読み出し命令を発行する。id=0の磁気ディスク装
置170−0は先程と同様に、コマンド解析後シークと
回転待ちに入り同時にディスコネクトされる。この時、
id=1の磁気ディスク装置170−1が読み出し可能
となっていれば、id=0の磁気ディスク装置170−
0の場合と同様にホストCPU100は磁気ディスク装
置170−1からのリコネクト要求を受け付けて、デー
タを読み込む。読み込みが終了すると、id=1の磁気
ディスク装置170−1に対して次の読み出し命令を発
行する。そして、本磁気ディスク装置170−1もコマ
ンド解析後シークと回転待ちに入り同時にディスコネク
トされる。さらにホストCPU100は次のid=2の
磁気ディスク装置170−2、及びid=3の磁気ディ
スク装置170−3に対しても同様の手順でリコネクト
要求を受け付け、データ読み込み、及び次の読み出し命
令の発行を行う。以後、このシーケンスが図2に示され
るように繰り返される。なお、本図では(シーク時間+
回転待ち時間)T2を定数と仮定しているが、実際は各
読み出し命令発行の都度異なることが多いそのような場
合には、最も早くリコネクト要求を出してきた磁気ディ
スク装置から順にデータを読み込むということも可能で
ある。その際に、データを読み出す磁気ディスク装置を
選択する順序が前後することになるが、それ以外の上記
の手順は変わらない。図2では、id=0の磁気ディス
ク装置170−0のみがディスク媒体から直接データ転
送を行い、他のidの磁気ディスク装置170−1〜1
70−3は内部キャッシュからデータ転送を行うかたち
になっている。このためデータ転送時間に差が生じてい
る。これはすなわち、ホストCPU100がデータを読
み込むまでに内部キャッシュへデータが読み込まれてい
る場合にはデータ転送時間は短くなり、読み込まれてい
ない場合にはディスク媒体からの読み出しとなりデータ
転送時間は短くはならないためである。
【0052】図2からも明らかなように、本発明では常
に4台の磁気ディスク装置が並列に動作しており、単位
時間あたりのホストCPU100のデータ読み込み量が
実効的に磁気ディスク装置の台数分倍増するという効果
が得られる。すなわち、本発明によればファイルの読み
出し速度がほぼ磁気ディスク装置の台数分高速化される
ことになる。
【0053】図2で示したファイル読み出し(read)の、
より一般化した制御フロー(1)〜(8)を図3に示す。使
用する磁気ディスク装置n台はあらかじめ指定されてお
り、これらにファイルが分割して格納されているものと
する。これらのファイル読み出しに必要な情報は、例え
ばアプリケーションプログラムから与えるものとする。
また、ファイルアクセスのシーケンス、および非同期読
み出しの制御はホストCPU100が行う。
【0054】以下、制御フローの各ステップについて説
明する。 (1)id=0〜(n−1)の磁気ディスク装置に対して
読み出し要求(readリクエスト)を順次発行する。 (2)いずれかの磁気ディスク装置が読み出し可能状態と
なるまで待つ。
【0055】(3)読み出し可能な磁気ディスク装置があ
れば次のステップ(4)へ進み、なければステップ(2)へ
戻る。 (4)読み出し可能な磁気ディスク装置のid番号をチェ
ックし、記憶する。
【0056】(5)ステップ(4)でチェックしたid=k
の磁気ディスク装置から、データを読み出す。 (6)読み出し終了であればフローを終了し、読み出し終
了でなければ次のステップ(7)へ進む。 (7)id=kの磁気ディスク装置からさらにデータを読
み出すのであれば次のステップ(8)へ進み、もうデータ
を読み出さないのであればステップ(2)へ戻る。
【0057】(8)id=kの磁気ディスク装置に対して
読み出し要求(readリクエスト)を発行し、ステップ(2)
へ戻る。 以上の制御フローにより、バーチャルアレイディスクか
らの高速なファイル読み出しを行うことができる。
【0058】図4にファイル書き込み(writeと記す場合
もある)の場合のタイムチャートを示す。(1)に従来技
術である1台の磁気ディスク装置を用いる場合を、(2)
に本発明のバーチャルアレイディスクを4台の磁気ディ
スク装置で構成して用いる場合をそれぞれ示す。図中の
I/Oバスの軸、idの軸の意味はそれぞれ図2と同様
である。
【0059】まず、(1)の1台の磁気ディスク装置の場
合について動作を説明する。ホストCPU100から磁
気ディスク装置へ書き込み命令が発行され起動が掛かる
と、磁気ディスク装置内部のコントローラでコマンド解
析が行われ、磁気ディスク装置のソフトウェアオーバヘ
ッドT1が生じる。この時に、ホストCPU100は書
き込むデータを磁気ディスク装置へ転送し、データは直
ちに内部キャッシュへ格納される。この時データ転送時
間T4が生じる。これをもって、ホストCPU100か
らのデータ書き込み処理は終了したものとみなされる。
その後、磁気ディスク装置ではディスク媒体へデータブ
ロックを書き込むためのヘッドの位置決めが行われ、
(シーク時間+回転待ち時間)T2が生じる。この間、磁
気ディスク装置はビジー状態となる。ヘッドの位置決め
後、磁気ディスク装置はデータブロックを内部キャッシ
ュからディスク媒体へ書き込む。このためデータ転送時
間T3が生じる。
【0060】一方、(2)の4台の磁気ディスク装置で構
成されるバーチャルアレイディスクの場合には、ホスト
CPU100からid=0〜3の4台の磁気ディスク装
置170−0〜170−3へ、それぞれ順に書き込み命
令が発行されて起動が掛かる。
【0061】まずid=0の磁気ディスク装置170−
0に書き込み命令が発行され、引き続き書き込むデータ
が転送されて磁気ディスク装置の内部キャッシュへ格納
される。これにより、ホストCPU100からのデータ
書き込み処理は終了したものとみなされる。磁気ディス
ク装置はコマンド解析後、シークと回転待ちに入る。ヘ
ッドの位置決めが完了すると、内部キャッシュのデータ
がディスク媒体に書き込まれる。一方、ホストCPU1
00は次のid=1の磁気ディスク装置170−1に書
き込み命令を発行し、引き続き書き込むデータを転送す
ることができるようになる。id=1の磁気ディスク装
置170−1もid=0の磁気ディスク装置170−0
と同様に、コマンド解析後シークと回転待ちに入り内部
キャッシュからディスク媒体へのデータ書き込みを行
う。このとき、id=0の磁気ディスク装置170−0
とid=1の磁気ディスク装置170−1は各々独立に
並列動作していることになる。さらにホストCPU10
0は次のid=2の磁気ディスク装置170−2、id
=3の磁気ディスク装置170−3にも同様の手順で書
き込み命令の発行とこれに引き続くデータ転送を次々に
実行する。これらの磁気ディスク装置も同様に、コマン
ド解析後シークと回転待ちに入り、ヘッドの位置決めが
完了すると、内部キャッシュのデータをディスク媒体に
書き込む。この時点で4台の磁気ディスク装置170−
0〜170−3が、それぞれ独立に並列動作することに
なる。
【0062】id=3の磁気ディスク装置170−3に
書き込み命令の発行と書き込みデータの転送を行った
後、id=0の磁気ディスク装置170−0のデータ書
き込みが完了していれば、次のデータの書き込みが可能
である。そこで、次の書き込み命令の発行とデータ転送
とを実行する。id=0の磁気ディスク装置170−0
は先程と同様にコマンド解析後シークと回転待ちに入
る。この時、id=1の磁気ディスク装置170−1の
データ書き込みが完了していれば、次のデータの書き込
みが可能である。そこでid=0の磁気ディスク装置1
70−0の場合と同様に、ホストCPU100は磁気デ
ィスク装置へ次の書き込み命令の発行とデータ転送とを
実行する。そして、コマンド解析後シークと回転待ちに
入る。さらにホストCPU100は次のid=2の磁気
ディスク装置170−2、id=3の磁気ディスク装置
170−3にも前に発行したデータ書き込みの完了を確
認すると、同様の手順で次の書き込み命令の発行を行
う。以後、このシーケンスが図4に示されるように繰り
返される。なお、本図では(シーク時間+回転待ち時間)
T2を定数と仮定しているが、実際は各書き込み命令の
発行の都度異なることが多い。そのような場合には、最
も早くビジー状態が解除されて書き込み可能な状態とな
った磁気ディスク装置から順にデータを書き込むという
ことも可能である。データを書き込む磁気ディスク装置
を選択する順序が前後することになるが、それ以外の上
記の手順は変わらない。
【0063】図4からも明らかなように、本発明では常
に4台の磁気ディスク装置が並列に動作しており、単位
時間あたりのホストCPU100のデータ書き込み量が
実効的にディスク台数分倍増するという効果が得られ
る。すなわち、本発明によればファイル書き込み速度が
磁気ディスク装置の台数分高速化されることになる。
【0064】図4で示したファイル書き込み(write)
の、より一般化した制御フロー(1)〜(7)を図5に示
す。使用する磁気ディスク装置n台はあらかじめ指定さ
れており、これらにファイルを分割して格納するものと
する。これらのファイル書き込みに必要な情報は、例え
ばアプリケーションプログラムから与えるものとする。
また、ファイルの複数磁気ディスク装置への分割、ファ
イルアクセスのシーケンス、および非同期書き込みの制
御はホストCPU100が行う。
【0065】以下、制御フローの各ステップについて説
明する。
【0066】(1)id=0〜(n−1)の磁気ディスク
装置に対して以下の処理を順次実行する。 1.書き
込み要求(writeリクエスト)を発行する。 2.書き込みデータを転送する。 (2)いずれかの磁気ディスク装置が書き込み可能状態と
なるまで待つ。 (3)書き込み可能な磁気ディスク装置があれば次のステ
ップ(4)へ進み、なければステップ(2)へ戻る。 (4)書き込み可能な磁気ディスク装置のid番号をチェ
ックし、記憶する。 (5)id=kの磁気ディスク装置にさらにデータを書き
込むのであれば、次のステップ(6)へ進み、もうデータ
を書き込まないのであればステップ(2)へ戻る。
【0067】(6)id=kの磁気ディスク装置に対して
以下の処理を順次実行する。 1.書き込み要求(writeリクエスト)を発行する。 2.書き込みデータを転送する。 (7)書き込み終了であればフローを終了し、書き込み終
了でなければステップ(2)へ戻る。 以上の制御フローにより、バーチャルアレイディスクへ
の高速なファイル書き込みを行うことができる。
【0068】以上に説明したように本実施例ではファイ
ルを分割して異なる複数の磁気ディスク装置への書き込
み、および読み出しを行うことにより、各磁気ディスク
装置の並列動作が可能となり高速なファイルアクセスが
実現される。また、アレイディスク装置のように専用の
ハードウェアを必要とせず、例えばSCSIバスを用い
ることにより、7台までの磁気ディスク装置を1枚のア
ダプタボードで接続することが可能となる。このため、
非常に低コストで高速なファイルアクセス機能を実現す
ることができる。
【0069】また、SCSIインタフェースの仕様を拡
張すれば、7台以上の磁気ディスク装置を接続すること
も可能であることは明らかである。さらに、本実施例で
は固定長のデータブロックを各磁気ディスク装置に分散
格納する場合を例にして説明したが、可変長のデータブ
ロックでも同様の処理が可能である。
【0070】図6に本発明の第2の実施例を示す。第2
の実施例は、ファイルが複数のサブファイルに分割され
て別々の磁気ディスク装置に格納されていることをアプ
リケーションプログラムから意識しなくとも、ファイル
にアクセスできるようにした実施例である。
【0071】以下の各テーブルとプログラムとを用い
て、バーチャルアレイディスクとして使用する磁気ディ
スク装置の指定、ファイルの複数サブファイルへの分割
と磁気ディスク装置への対応付け、複数のサブファイル
を一まとまりのファイルに見せるアクセス制御、および
非同期読み出しと非同期書き込みの制御を行う。
【0072】ディスク管理情報を格納するためのディス
ク管理テーブル210、ファイル管理情報を格納するた
めのファイル管理テーブル220、ファイル記述子対応
情報を格納するためのファイル記述子対応テーブル23
0をメモリに保持する。アクセス制御プログラム200
は、バーチャルアレイディスクを対象とするファイルの
書き込みと読み出しの際に、上記各テーブルを参照して
アクセス制御を行う。上記各テーブル、およびプログラ
ムは計算機システムのメモリに格納される。
【0073】なお、上記の各テーブルはアプリケーショ
ンプログラムから与えることも、OSの内部の管理テー
ブルとして管理することも、いずれの方法も可能であ
る。
【0074】各テーブルの具体的な構成を以下に説明す
る。
【0075】図7はディスク管理テーブル210の説明
図である。ディスク管理テーブルには、どの磁気ディス
ク装置のどのパーティション(分割領域)を用いてバー
チャルアレイディスクを構成するのかということに関す
る情報が格納される。
【0076】各磁気ディスク装置には、SCSIインタ
フェースで磁気ディスク装置の識別に用いるid番号
と、アプリケーションソフトウェアが磁気ディスク装置
の識別に用いる磁気ディスク装置名称が割り当てられ
る。また、通常磁気ディスク装置は複数のパーティショ
ンに分割して使用するので、各パーティションにはパー
ティション番号が付けられる。したがって、id番号ま
たは磁気ディスク装置名称とパーティション番号との組
合せで、システム内の磁気ディスク装置を利用する際の
単位領域の指定を行うことができる。これを“論理ディ
スク装置”と呼ぶことにする。本図に示した例では、デ
ィスク装置名称hd6のディスク装置の各パーティショ
ンが論理ディスク装置として定義されており、例えば第
5パーティションは名称がhd65の論理ディスク装置
となる。この論理ディスク装置を複数組み合わせて、
“論理バーチャルアレイディスク装置”として使用す
る。
【0077】ディスク管理テーブル210は磁気ディス
ク装置のid番号または名称とパーティション番号との
マトリクスであり、これらのどの組合せの論理ディスク
装置が論理バーチャルアレイディスク装置として定義さ
れているのかを示している。
【0078】名称がhd0からhd3の4台の磁気ディ
スク装置をバーチャルアレイディスク装置va0として
定義することとし、その各第0パーティションを図1ま
たは図6に示すような論理バーチャルアレイディスク装
置va00として用いる場合には、va000からva
003までを識別子として図7に示すように書き込む。
これにより磁気ディスク装置hd0からhd3の第0パ
ーティションを論理バーチャルアレイディスク装置va
00として定義したことになる。
【0079】ここで識別子vaXYZ(ただし、X、
Y、Zは一桁の数字)は、この論理ディスク装置がバー
チャルアレイディスク装置vaXの構成要素であり、か
つバーチャルアレイディスク装置vaXの第Yパーティ
ションからなる論理バーチャルアレイディスク装置va
XYの構成要素であり、さらにその論理バーチャルアレ
イディスク装置vaXYの第Z番目の構成要素となる論
理ディスク装置であるということを示している。
【0080】なお、ディスク管理テーブル210の設定
は、本計算機システムのシステム構成を定義する時点で
システム管理者が行う。これは、ディスク管理テーブル
210の設定内容が、各論理ディスク装置の使用状態、
すなわち通常のファイル格納に使われているのか、サブ
ファイルの格納に使われているのかということと整合が
取れていなければならないからである。
【0081】以上のディスク管理テーブル210の設定
により、後述するmount処理を論理バーチャルアレ
イディスク装置va00に対して行うと、hd0〜hd
3の4台の磁気ディスク装置の第0パーティションを論
理バーチャルアレイディスク装置va00として利用す
ることが可能となる。
【0082】図8はファイル管理テーブル220の説明
図である。ファイル管理テーブル220は各サブファイ
ルごとに割り付けられ、それぞれファイル属性領域と、
ディスクブロックインデックス領域に分けられる。各サ
ブファイルのファイル記述子がファイル管理テーブル2
20−0〜220−nの先頭を指し示すことにより、フ
ァイル管理テーブル220はファイル記述子と関連付け
られている。
【0083】ファイル属性領域は、ファイルタイプ、フ
ァイルサイズ、格納デバイス、およびストライピングブ
ロックを格納するエントリから構成される。ファイルタ
イプには、このテーブルが管理するファイルがバーチャ
ルアレイディスク装置に格納されるサブファイルである
のか、通常の磁気ディスク装置に格納されるファイルで
あるのかを示す識別子が格納される。ファイルサイズに
は、サブファイルの容量が格納される。格納デバイスに
は、サブファイルが格納される磁気ディスク装置の実体
である、論理ディスク装置の名称が格納される。ストラ
イピングブロックには、ファイルをこのサブファイルに
分割した際に単位としたデータブロックの個数が格納さ
れる。すなわち各サブファイルは、このデータブロック
の個数ごとにファイルを先頭から分割して作られる。
【0084】ディスクブロックインデックス領域には、
データブロックのインデックス情報としてディスク上の
論理ブロック番号を格納する。本図では、ファイルを構
成する各データブロックが論理ブロック番号100、2
00、300、...900に格納されていることにな
る。
【0085】ファイル管理テーブル220はバーチャル
アレイディスクに格納するファイルが作られるときに、
アクセス制御プログラムによってサブファイルごとに作
られる。以後、このファイルが消去されるまでファイル
管理テーブルは存続し、ファイルを構成する各サブファ
イルをアクセスする際にアクセス制御プログラムがこれ
を参照する。バーチャルアレイディスクに格納されたフ
ァイルが消去されるときに各サブファイルが消去される
ことになり、この時同時にファイル管理テーブルも消去
される。
【0086】図9はファイル記述子対応テーブル230
の説明図である。バーチャルアレイディスクに格納され
ている元ファイルのファイル記述子vfdと、分割後の
サブファイルのファイル記述子fdとの対応を示してい
る。
【0087】本図の例では、vfd=4である元ファイ
ルは、4個のサブファイルからなり、それぞれのファイ
ル記述子は、fd0=5、fd1=6、fd2=7、f
d3=8である。また、vfd=20の元ファイルにつ
いても同様に、サブファイルのファイル記述子はfd0
=21、fd1=22、fd2=23、fd3=24で
あることを示している。
【0088】バーチャルアレイディスクに格納されてい
るファイルをアクセスする際には、まずファイルをop
enしなければならない。この時に、元ファイルのファ
イル記述子vfdがアクセス制御プログラムにより割り
当てられる。次にその実体であるサブファイルの名称が
元ファイルの名称から生成され、このサブファイル名称
を用いてサブファイルがopenされる。この時に各サ
ブファイルにファイル記述子fd0〜fd3が割り当て
られる。以後、アプリケーションプログラムからこのフ
ァイルをアクセスする場合にはファイル記述子vfdを
用いる。アクセス制御プログラムはファイル記述子対応
テーブル230を用い、これをサブファイルのファイル
記述子fd0〜fd3に変換して各サブファイルのアク
セスを行う。ファイル記述子対応テーブルのエントリ
は、ファイルをcloseする際に解放されて内容は無
効となる。
【0089】以上説明したディスク管理テーブル21
0、ファイル管理テーブル220、およびファイル記述
子対応テーブル230を用いて、バーチャルアレイディ
スクを制御する際の概略の手順について説明する。
【0090】図10に制御の全体のフローを示す。各ス
テップは、ユーザからのコマンド、あるいはプログラム
からの関数コールによって起動される処理を示してい
る。各処理はメモリに格納されたアクセス制御プログラ
ムによって実行される。以下、本図の制御フローに従っ
てその内容を説明する。
【0091】mount処理では、バーチャルアレイデ
ィスクをOSが管理するディレクトリの指定された場所
に割り付け、その指定ディレクトリ名称下のデバイスと
してソフトウェアから利用可能な状態とする。すなわ
ち、論理バーチャルアレイディスク装置を構成する論理
ディスク装置を、ディスク管理テーブル210を参照し
てディレクトリの指定された場所に割り付ける処理を行
なう。
【0092】open処理では、元ファイル及びサブフ
ァイルにファイル記述子を割り当て、ファイル記述子対
応テーブル230に対応関係が取れるように登録する。
【0093】read/write処理では、read
処理指定時にはバーチャルアレイディスクからのファイ
ル読み出しを行い、write処理指定時にはバーチャ
ルアレイディスクへのファイル書き込みを行う。いずれ
の場合も、元ファイルのファイル記述子からファイル記
述子対応テーブル230によりサブファイルのファイル
記述子を得る。さらにファイル記述子によりファイル管
理テーブル220を得て、サブファイルの格納されてい
る論理ディスク装置にアクセスする。
【0094】close処理では、元ファイルとサブフ
ァイルのクローズ処理、すなわち元ファイルに割り当て
たファイル記述子と、サブファイルに割り当てたファイ
ル記述子の解放を行う。
【0095】umount処理では、論理バーチャルア
レイディスク装置として指定ディレクトリに割り付けら
れた各論理ディスク装置を指定ディレクトリから除去す
る。このため、その指定ディレクトリ名称下のデバイス
としてソフトウェアから意識できなくなる。
【0096】以下、各処理の詳細な制御フローを図1
1、図12、図13、図14、図15、図16、および
図17を用いて説明する。
【0097】mount処理の制御フロー(1)〜
(3)を図11を用いて説明する。なお、/devで始
まる装置名称は、mount処理やumount処理で
用いられるフルパス名称である。
【0098】(1)マウントする論理バーチャルアレイ
ディスク装置に対応する磁気ディスク装置の名称、パー
ティション番号、すなわち論理ディスク装置の名称をデ
ィスク管理テーブル210から得る。 (2)論理バーチャルアレイディスク装置をマウントす
るディレクトリに、マウント用のディレクトリを作る。
例えば図12に示すように論理バーチャルアレイディス
ク装置の名称が/dev/va00である場合には、名
称が“.va00”というディレクトリをまずマウント
ディレクトリ/dataの下に作り、さらにその下に、
すなわち/data/.va00の下に名称が“.va0
00”、“.va001”、“.va002”、およ
び“.va003”というディレクトリを作る。 (3)ディスク管理テーブル210を参照して、各ディ
レクトリ“.va000"、“.va001”、“.va0
02”、および“.va003”に対応する論理ディス
ク装置/dev/hd00〜/dev/hd03をマウ
ントする。
【0099】図12には、mount処理の結果により
構成されるトリー構造が示されている。
【0100】このようにmount処理ではトリー構造
を持つディレクトリ下にバーチャルアレイディスクがマ
ウントされ、バーチャルアレイディスク内のファイルが
トリー構造のディレクトリによって管理される。この例
では、“/data”ディレクトリに論理バーチャルア
レイディスク装置“/dev/va00”がマウントさ
れている。各磁気ディスク装置には同一構造のディレク
トリが構成され、その下に各サブファイルが格納される
ことになる。ここでは、各サブファイル名称とディレク
トリ名称に添字を付して区別してある。
【0101】open処理の制御フロー(1)〜(5)
を図13を用いて説明する。
【0102】(1)オープン対象として指定された元フ
ァイルの名称から、添字を付してサブファイルの名称を
生成する。例えば、図12のディレクトリ構造におい
て、元ファイルとして/data/fileを指定する
と、これからサブファイルのファイル名称 /data/.va00/.va000/file0、 /data/.va00/.va001/file1、 /data/.va00/.va002/file2、 /data/.va00/.va003/file3、 を生成する。 (2)サブファイルのファイル名称を用いて個々のサブ
ファイルをオープンし、ファイル記述子fd0〜fd3
を割当てる。これにより、各サブファイルのファイル記
述子fd0〜fd3がファイル管理テーブル220に対
応付けられ、アプリケーションプログラムからのファイ
ル記述子を用いたアクセスが可能となる。
【0103】(3)元ファイルにファイル記述子vfd
を割り当てる。 (4)元ファイルのファイル記述子vfdとサブファイ
ルのファイル記述子fd0〜fd3とを対にして、ファ
イル記述子対応テーブル230に登録する。(5)元フ
ァイルのファイル記述子vfdを、本open処理の結
果として、すなわちopenコールの戻り値としてアプ
リケーションプログラムへ返す。
【0104】次にread/write処理でのrea
d処理実行の制御フロー(1)〜(5)について図14
を用いて説明する。
【0105】(1)アプリケーションプログラムからは
元ファイルのファイル記述子vfdを引き数にしてアク
セス要求が発行される。引数であるファイル記述子vf
dをキーとしてファイル記述子対応テーブル230を検
索し、vfdに対応するサブファイルのファイル記述子
fd0〜fd3を得る。図9に示すように例えば元ファ
イルのファイル記述子vfdが4の場合、サブファイル
のファイル記述子fd0〜fd3として5、6、7、8
が得られる。 (2)次に、サブファイルのファイル記述子fd0〜f
d3から、これらのサブファイルのファイル管理テーブ
ル220を得る。 (3)サブファイルをアクセスする順番は、ディスク管
理テーブル210の記述子の添字の順に行う。この順に
サブファイルのファイル管理テーブル220を参照し、
読み込むデータブロックの論理ブロック番号を得る。図
7に示す例では、論理ディスク装置/dev/hd0
0、/dev/hd01、/dev/hd02、/de
v/hd03の順にアクセスすることになる。ファイル
管理テーブル220に書かれたストライピングブロック
が指定するデータブロック数だけアクセスしたら、次の
サブファイルへアクセスする。すなわち、次のサブファ
イルのファイル管理テーブルを参照して、ストライピン
グブロックが指定するデータブロック数だけアクセスす
る。この手順にしたがって、読み込むデータブロックの
論理ブロック番号を順に得る。 (4)磁気ディスク装置から読み込むデータブロックの
論理ブロック番号と、サブファイルのファイル管理テー
ブル220の格納デバイスエントリに書かれた論理ディ
スク装置とにしたがって、データブロックを読み込む。
実際にアクセスする磁気ディスク装置は、ディスク管理
テーブル210を参照して、該当論理ディスク装置をそ
の一部として含む磁気ディスク装置として得ることがで
きる。 (5)最後に、読み込むべきデータブロックをすべて読
み込んだかどうか判定する。まだ読み込むべきデータブ
ロックがあれば、(3)に戻って繰り返す。
【0106】次にread/write処理でのwri
te処理実行の制御フロー(1)〜(7)について図1
5を用いて説明する。サブファイルのデータブロックを
アクセスする手順の概略は、read処理実行時と同様
である。
【0107】(1)アプリケーションプログラムからは
元ファイルのファイル記述子vfdを引き数にしてアク
セス要求が発行される。引数であるファイル記述子vf
dをキーとしてファイル記述子対応テーブル230を検
索し、vfdに対応するサブファイルのファイル記述子
fd0〜fd3を得る。図9に示すように例えば元ファ
イルのファイル記述子vfdが4の場合、サブファイル
のファイル記述子fd0〜fd3として5、6、7、8
が得られる。 (2)次に、サブファイルのファイル記述子fd0〜f
d3から、これらのサブファイルのファイル管理テーブ
ル220を得る。 (3)既存ファイルの内容を更新する場合には、データ
ブロックの内容を上書きすれば良い。しかし、ファイル
サイズを超えて追加書き込みを行う場合には、書き込む
ために新しい領域を割り当てる必要が生じる。したがっ
て、新しいディスクブロックの割当てが必要であるかど
うかを判定し、必要であれば(4)へ、不要であれば
(5)へ進む。 (4)ディスクブロックを割り当てる際に、どのサブフ
ァイルが格納されている論理ディスク装置から割り当て
るのかを決める。ファイルの最終部分となっているサブ
ファイルの総データブロック数が、ファイル管理テーブ
ルのストライピングブロックエントリに書かれたデータ
ブロック数の整数倍である場合、次のサブファイルを格
納する論理ディスク装置からデータブロックの割り当て
を行う。そうでなければ、ファイル最終部分のサブファ
イルが格納されている論理ディスク装置から割り当てを
行う。データブロックを割り当てた後に、そのデータブ
ロックの論理ブロック番号を得る。次は(6)へ進む。 (5)read処理の場合で述べたように元ファイルは
サブファイルに分割されており、これにより元ファイル
に合成するためのアクセスする順番は決定される。した
がって、その手順に従い書き込み箇所に該当するサブフ
ァイルのファイル管理テーブル220から、ファイルが
書き込まれるデータブロックの論理ブロック番号を得
る。 (6)磁気ディスク装置へ書き込むデータブロックの論
理ブロック番号と、サブファイルのファイル管理テーブ
ル220の格納デバイスエントリに書かれた論理ディス
ク装置とにしたがって、データブロックを書き込む。実
際にアクセスする磁気ディスク装置は、ディスク管理テ
ーブル210を参照して、該当論理ディスク装置をその
一部として含む磁気ディスク装置として得ることができ
る。 (7)最後に、書き込むべきデータブロックをすべて書
き込んだかどうか判定する。まだ書き込むべきデータブ
ロックがあれば、(3)に戻って繰り返す。
【0108】close処理の制御フロー(1)〜
(3)を図16を用いて説明する。
【0109】(1)アプリケーションプログラムからは
元ファイルのファイル記述子vfdを引き数にして処理
要求が発行される。ファイル記述子vfdをキーとして
ファイル記述子対応テーブル230を検索し、vfdに
対応するサブファイルのファイル記述子fd0〜fd3
を得る。 (2)サブファイルに対応するファイル記述子fd0〜
fd3を解放する。 (3)元ファイルに対応するファイル記述子vfdを解
放する。
【0110】最後に、umount処理の制御フロー
(1)〜(3)を図17を用いて説明する。
【0111】(1)ディスク管理テーブル210を参照
して、アンマウントする論理バーチャルアレイディスク
装置を構成する論理ディスク装置に対応する、磁気ディ
スク装置の名称とパーティション番号を得る。 (2)上記、論理ディスク装置をアンマウントする。す
なわち図12の例では、ディレクトリ“.va00
0”、“.va001”、“.va002”、および“.
va003”から/dev/hd00〜/dev/hd
30を除去する。 (3)バーチャルアレイディスクのマウント用に作った
ディレクトリを消去する。すなわち図12の例で
は、“.va00”、“.va000”、“.va00
1”、“.va002”、および“.va003”を消去
する。 以上説明したように、ディスク管理テーブル210によ
りバーチャルアレイディスクを定義し、ファイル記述子
対応テーブル230により元ファイルとサブファイルと
の対応付けを行い、ファイル管理テーブル220を参照
してサブファイルへアクセスすることにより、ユーザは
複数のサブファイルにアクセスすることを全く意識せ
ず、あたかも単一のファイルにアクセスするのと全く同
じ形でバーチャルアレイディスクを利用することができ
るという効果が得られる。
【0112】次に図18〜21を用いてファイルのスト
ライピング処理について説明する。
【0113】図1に示した実施例では、データブロック
1個を単位としたファイルのサブファイルへの分割、す
なわちストライピングを行っている。この場合、データ
ブロックAから順にB、C、Dを、磁気ディスク装置の
id番号0番から順に1番、2番、3番へと格納する。
そして、次のデータブロックEから順にF、G、Hを、
同様に磁気ディスク装置のid番号0番から順に1番、
2番、3番へと格納する。この場合のファイルの書き込
みの様子を図18に、ファイルの読み出しの様子を図1
9に示す。
【0114】図18はファイルを先頭から順に書き込む
場合を示している。I/Oバスインタフェース150を
介して、ホストCPU100からデータブロックが順に
送られる。ディスコネクト・リコネクト機能により各磁
気ディスク装置がI/Oバスインタフェース150と順
に接続されて、データブロック0、1、2、3、
4...がid番号0番、1番、2番、3番、0
番...の磁気ディスク装置へと格納される。なお、格
納する磁気ディスク装置の順序は必ずしもid番号の順
である必要はなく、0番以外の磁気ディスク装置から開
始することも可能である。また、id番号の順序を昇
順、または降順以外とすることも可能である。
【0115】図19はファイルを先頭から順に読み出す
場合を示している。I/Oバスインタフェース150を
介して、ホストCPU100へデータブロックが順に送
られる。図18に示したようにデータブロックは格納さ
れており、ディスコネクト・リコネクト機能により各磁
気ディスク装置がI/Oバスインタフェース150と順
に接続されて、データブロック0、1、2、3、
4...がid番号0番、1番、2番、3番、0
番...の磁気ディスク装置から読み出される。なお、
格納する磁気ディスク装置の順序は必ずしもid番号の
順である必要はなく、0番以外の磁気ディスク装置から
開始することも可能である。また、id番号の順序を昇
順、または降順以外とすることも可能である。
【0116】一方、複数個のデータブロックをストライ
ピングの単位とすることも可能である。一例として、デ
ータブロック4個を単位としてストライピングを行った
場合のファイルの書き込みの様子を図20に、ファイル
の読み出しの様子を図21に示す。
【0117】図20はデータブロック4個を単位として
ファイルを先頭から順に書き込む場合を示している。I
/Oバスインタフェース150を介して、ホストCPU
100からデータブロックが順に送られる。ディスコネ
クト・リコネクト機能により各磁気ディスク装置がI/
Oバスインタフェース150と順に接続されて、データ
ブロック0、1、2、3がid番号0番、データブロッ
ク4、5、6、7がid番号1番、データブロック8、
9、10、11がid番号2番、データブロック12、
13、14、15がid番号3番、データブロック1
6、17、18、19がid番号0番...の磁気ディ
スク装置へとそれぞれ格納される。なお、格納する磁気
ディスク装置の順序は必ずしもid番号の順である必要
はなく、0番以外の磁気ディスク装置から開始すること
も可能である。また、id番号の順序を昇順、または降
順以外とすることも可能である。
【0118】図21はデータブロック4個を単位として
ファイルを先頭から順に読み出す場合を示している。I
/Oバスインタフェース150を介して、ホストCPU
100へデータブロックが順に送られる。図20に示し
たようにデータブロックは格納されており、ディスコネ
クト・リコネクト機能により各磁気ディスク装置がI/
Oバスインタフェース150と順に接続されて、データ
ブロック0、1、2、3がid番号0番、データブロッ
ク4、5、6、7がid番号1番、データブロック8、
9、10、11がid番号2番、データブロック12、
13、14、15がid番号3番、データブロック1
6、17、18、19がid番号0番...の磁気ディ
スク装置からとそれぞれ読み出される。なお、格納する
磁気ディスク装置の順序は必ずしもid番号の順である
必要はなく、0番以外の磁気ディスク装置から開始する
ことも可能である。また、id番号の順序を昇順、また
は降順以外とすることも可能である。
【0119】なお、ストライピングの単位とするデータ
ブロック数は、4個以外の任意の個数を取りうることは
言うまでもない。
【0120】図22〜33を用いて、論理バーチャルア
レイディスク装置として使用する論理ディスク装置の組
合せについて説明する。
【0121】本実施例では、ディスク管理テーブル21
0で磁気ディスク装置のid番号または名称と、パーテ
ィション番号とを指定して使用する論理ディスク装置を
定義する。図7の説明で述べたように、複数の論理ディ
スク装置に一連の識別子vaXY0、vaXY
1、...を付けることで、論理バーチャルアレイディ
スク装置として利用する論理ディスク装置の組合せの定
義が可能である。識別子の添字の意味は、図7のディス
ク管理テーブルの説明で述べたとおりである。本実施例
ではサブファイルの物理的な配置の自由度が非常に高
く、以下のような構成が可能である。なお、例えば図7
のディスク装置名称hd4、hd5のディスク装置のよ
うに、論理バーチャルアレイディスク装置として定義し
ていない領域は、特に断わりがなくとも通常の論理ディ
スク装置として利用可能である。
【0122】図22はid番号0、1、2、3の4台の
磁気ディスク装置のすべてのパーティションを論理バー
チャルアレイディスク装置として用いる場合である。
【0123】これに対応するディスク管理テーブル21
0の設定例を図23に示す。4台の磁気ディスク装置を
バーチャルアレイディスク装置va0として定義し、全
体をひとつの論理バーチャルアレイディスク装置va0
0として用いる場合に相当する。id番号4、5、6の
3台の磁気ディスク装置は、通常の磁気ディスク装置と
して用いる。
【0124】図24はid番号0、1、2、3の4台の
磁気ディスク装置の特定のパーティションを用いる場合
である。
【0125】これに対応するディスク管理テーブルの設
定例を図25に示す。図23と同様に定義したバーチャ
ルアレイディスク装置va0の第0パーティションを論
理バーチャルアレイディスク装置va00として用いる
場合である。id番号4、5、6の3台の磁気ディスク
装置は、通常の磁気ディスク装置として用いる。
【0126】図26はid番号0、1、2、3の4台の
磁気ディスク装置の各3つのパーティションを用いて、
論理バーチャルアレイディスク装置を3組定義した場合
である。
【0127】これに対応するディスク管理テーブル21
0の設定例を図27に示す。図23と同様に定義したバ
ーチャルアレイディスク装置va0の第0、第1、第2
パーティションを、それぞれ論理バーチャルアレイディ
スク装置va00、va01、va02として用いる場
合である。id番号4、5、6の3台の磁気ディスク装
置は、通常の磁気ディスク装置として用いる。
【0128】図28はid番号0、1、2、3の4台の
磁気ディスク装置の特定のパーティション、およびid
番号4、5の2台の磁気ディスク装置の特定のパーティ
ションを用い、論理バーチャルアレイディスク装置を2
組定義した場合である。
【0129】これに対応するディスク管理テーブル21
0の設定例を図29に示す。id番号0、1、2、3の
4台の磁気ディスク装置をバーチャルアレイディスク装
置va0、id番号4、5の2台の磁気ディスク装置を
バーチャルアレイディスク装置va1としてそれぞれ定
義し、各々の第0パーティションをそれぞれ論理バーチ
ャルアレイディスク装置va00、va10として用い
る場合である。id番号6の磁気ディスク装置は、通常
の磁気ディスク装置として用いる。
【0130】図30はid番号0、1、2、3の4台の
磁気ディスク装置の各3つのパーティション、およびi
d番号4、5の2台の磁気ディスク装置の各3つのパー
ティションを用い、論理バーチャルアレイディスク装置
を6組定義した場合である。
【0131】これに対応するディスク管理テーブル21
0の設定例を図31に示す。図29と同様に定義したバ
ーチャルアレイディスク装置va0、va1の第0、第
1、第2パーティションを、それぞれ論理バーチャルア
レイディスク装置va00、va01、va02、およ
びva10、va11、va12として用いる場合であ
る。id番号6の磁気ディスク装置は通常の磁気ディス
ク装置として用いる。
【0132】図32はid番号0、2の2台の磁気ディ
スク装置の各3つのパーティション、id番号4、6の
2台の磁気ディスク装置の各2つのパーティション、お
よびid番号1、3の2台の磁気ディスク装置の各1つ
のパーティションを用い、論理バーチャルアレイディス
ク装置を3組定義した場合である。
【0133】これに対応するディスク管理テーブル21
0の設定例を図33に示す。id番号0、2、4、6の
4台の磁気ディスク装置をバーチャルアレイディスク装
置va0、id番号0、1、2、3の4台の磁気ディス
ク装置をバーチャルアレイディスク装置va1としてそ
れぞれ定義し、va0の第0、第2パーティションをそ
れぞれ論理バーチャルアレイディスク装置va00、v
a02として、va1の第1パーティションを論理バー
チャルアレイディスク装置va11として用いる場合で
ある。id番号0、2の2台の磁気ディスク装置はva
0とva1とに重複して定義されることになるが、利用
するパーティションが重ならないようにすれば問題は生
じない。なお、id番号5の磁気ディスク装置は、通常
の磁気ディスク装置として用いる。 以上の各構成例に
おいて、磁気ディスク装置の台数及びid番号は、上記
以外の組合せでも実現可能である。
【0134】図34〜39は本実施例においてミラーモ
ードを実現する例である。すなわち、論理バーチャルア
レイディスク装置としてプライマリ(正)とバックアッ
プ(副)を一組にして定義し、同一ファイルを両方に格
納するものである。これにより、プライマリに障害が発
生した場合には、バックアップを替わりに使用すること
により信頼性向上を図ることができる。
【0135】ファイル書き込みの場合には、プライマリ
とバックアップの両方に書き込む。まずプライマリとし
て定義した論理バーチャルアレイディスク装置に対し
て、非同期書き込みによりデータブロックを書き込む。
引き続き、バックアップとして定義した論理バーチャル
アレイディスク装置に対しても、やはり非同期書き込み
によりプライマリと同様のデータブロックを書き込む。
バックアップへの書き込み命令を発行した後、次のデー
タブロックの書き込み処理に移り、プライマリおよびバ
ックアップに対して上記と同様の手順によりデータブロ
ックを書き込む。なお、プライマリとバックアップへの
書き込み方に関しては、各論理バーチャルアレイディス
ク装置を構成する対応するディスク装置ごとに、すなわ
ちhd0とhd2、hd1とhd3というように書き込
むことも、その逆にhd0とhd3、hd1とhd2と
いうように書き込むことも可能である。これは、ディス
ク管理テーブルに設定された識別子vaXYZのZの値
をキーとして対応を取ることにより行う。具体的な例は
図35の説明で述べる。
【0136】これにより、ユーザにはバックアップへの
書き込み時間をほとんど感じさせずに、ミラーモードを
実現することができる。
【0137】ファイル読み出しの場合には、プライマリ
のみから読み出しを行う。すなわち、ミラーモード指定
を行っていない論理バーチャルアレイディスク装置に格
納されたファイルを読み出すのと同様の方法で、プライ
マリからファイルの読み出しを行う。しかし、プライマ
リに障害が発生すると、バックアップに格納されたファ
イルを替わりに使用する。
【0138】これにより、磁気ディスク装置の信頼性を
向上することができる。また、通常の利用状態ではプラ
イマリのみからファイルを読み出すので、バックアップ
が存在することによるペナルティが発生することなく、
高速にファイルの読み出しが行える。
【0139】以下、図を用いて、ミラーモードでの論理
バーチャルアレイディスク装置として使用する論理ディ
スク装置の組合せについて説明する。ミラーモードでな
い論理バーチャルアレイディスク装置の定義の場合と同
様に、ディスク管理テーブル210により使用する論理
ディスク装置に一連の識別子を付けることで定義を行
う。さらに、プライマリであるのかバックアップである
のかということと、その組合せを拡張子により示す。例
えば、vaXYZ_p0は識別子vaXYZの論理ディ
スク装置がシステム中でミラーモードのプライマリ論理
バーチャルアレイディスク装置の構成要素として定義さ
れており、バックアップ論理バーチャルアレイディスク
装置の構成要素として定義されるvaXYZ_b0の論
理ディスク装置と対をなすということを示す。なお、論
理バーチャルアレイディスク装置として定義していない
領域は、特に断わりがなくとも通常の論理ディスク装置
として利用可能である。
【0140】図34はid番号0、1の2台の磁気ディ
スク装置の各1つのパーティションを用いてプライマリ
とし、id番号2、3の2台の磁気ディスク装置の各1
つのパーティションを用いてバックアップとして、ミラ
ーモードの論理バーチャルアレイディスク装置を1組定
義した場合である。
【0141】これに対応するディスク管理テーブル21
0の設定例を図35に示す。id番号0、1の2台の磁
気ディスク装置をバーチャルアレイディスク装置va
0、id番号2、3の2台の磁気ディスク装置をバーチ
ャルアレイディスク装置va1としてそれぞれ定義し、
各々の第0パーティションをそれぞれ論理バーチャルア
レイディスク装置va00_p0(プライマリ)、va
10_b0(バックアップ)として用いる場合である。
本図の例では、プライマリを構成する論理ディスク装置
va000−p0、va001−p0に、バックアップ
を構成する論理ディスク装置va100−b0、va1
01−b0がそれぞれ対応する。id番号4、5、6の
磁気ディスク装置は、通常の磁気ディスク装置として用
いる。
【0142】図36はid番号0、1、2、3の4台の
磁気ディスク装置の各2つのパーティションを用いて、
第1パーティションをプライマリとし、第2パーティシ
ョンをバックアップとして、ミラーモードの論理バーチ
ャルアレイディスク装置を1組定義した場合である。
【0143】これに対応するディスク管理テーブル21
0の設定例を図37に示す。id番号0、1、2、3の
4台の磁気ディスク装置をバーチャルアレイディスク装
置va1として定義し、第1、第2パーティションをそ
れぞれ論理バーチャルアレイディスク装置va11_p
1(プライマリ)、va12_b1(バックアップ)と
して用いる場合である。id番号4、5、6の磁気ディ
スク装置は、通常の磁気ディスク装置として用いる。
【0144】図38はid番号0、1、2、3の4台の
磁気ディスク装置のひとつのパーティションを用いてプ
ライマリとし、id番号3、4、5、6の4台の磁気デ
ィスク装置のひとつのパーティションを用いてバックア
ップとして、ミラーモードの論理バーチャルアレイディ
スク装置を1組定義した場合である。
【0145】これに対応するディスク管理テーブル21
0の設定例を図39に示す。id番号0、1、2、3の
4台の磁気ディスク装置をバーチャルアレイディスク装
置va2、id番号3、4、5、6の4台の磁気ディス
ク装置をバーチャルアレイディスク装置va3としてそ
れぞれ定義し、各々の第3、第4パーティションをそれ
ぞれ論理バーチャルアレイディスク装置va23_p2
(プライマリ)、va34_b2(バックアップ)とし
て用いる場合である。
【0146】図40は本発明の第3の実施例である。図
1に示した第1の実施例におけるid番号0、1、2、
3の磁気ディスク装置170−0〜170−3をアレイ
ディスク装置300−0〜300−3に置き換えたもの
である。アレイディスク装置は磁気ディスク装置に比べ
て装置単体でのファイル転送性能が高いので、本実施例
は第1の実施例に比べてより一層ファイルアクセス高速
化の効果が得られる。なお、動作や制御方式は図1の第
1の実施例と全く同様である。
【0147】これに対応する、アレイディスク装置30
0−0〜300−3を含むバーチャルアレイディスクの
ディスク管理テーブルの設定例を図41に示す。id番
号0、1、2、3の4台がアレイディスク装置となって
いる。ここでは4台のアレイディスク装置ad0、ad
1、ad2、およびad3でバーチャルアレイディスク
装置va0を構成している。
【0148】また本実施例においても、論理バーチャル
アレイディスク装置va01_p0とva02_b0、
va21_p1とva22_b1のようにミラーモード
に対応することも可能である。
【0149】これまでの実施例では7台の磁気ディスク
装置が接続された場合を例に取り説明したが、磁気ディ
スク装置の台数を2台、3台、4台...と順次増やし
て行くことも可能である。ここで、例えば4台の磁気デ
ィスク装置を5台に増やした場合、4台のディスクに格
納されていたファイルを5台の磁気ディスク装置に再配
置することが必要となる。
【0150】本発明によれば、磁気ディスク装置の増設
後に新たなパーティションへファイルをコピーすること
により、ファイルのストライピング数を自動的に増加さ
せて行くことも可能となる。すなわち、バーチャルアレ
イディスク装置に格納されたファイルを読み書きする場
合、ユーザはファイルの物理的な分割を意識することな
く処理を行うことができるため、コピー元からコピー先
へファイルをコピーするだけで、ユーザがこれを特に意
識することなく、ストライピング数の変換を行うことが
可能である。この場合について以下に説明する。
【0151】図42にディスク管理テーブル210の設
定例を、図43にディスク増設時のファイルコピーの制
御フローをそれぞれ示す。図42において、磁気ディス
ク装置のid番号0、1、2、3の第0パーティション
により構成されている論理バーチャルアレイディスク装
置va00はコピー元であり、磁気ディスク装置のid
番号0、1、2、3、4の第1パーティションにより構
成されている論理バーチャルアレイディスク装置va1
1はコピー先である。
【0152】図43に示す制御フローに従って、va0
0からva11へファイルを固定長のデータに分割して
コピーする。
【0153】(1)コピー先の論理バーチャルアレイデ
ィスク装置va11をディスク管理テーブル210に定
義する。 (2)コピー元の論理バーチャルアレイディスク装置v
a00から、図14のファイル読み出しの制御フローに
よりファイルを分割した固定長のデータを読み込み、こ
れをコピー先の論理バーチャルアレイディスク装置va
11へ、図15のファイル書き込みの制御フローにより
書き込む。 (3)コピー終了か判定し、まだ残りがあれば(2)に
戻って繰り返す。コピー終了であれば(4)へ進む。 (4)ディスク管理テーブル210上のコピー元の論理
バーチャルアレイディスク装置va00を無効化する。 以上により、磁気ディスク装置の増設に伴うストライピ
ング数の変更が容易に可能となる。この際に、読み出し
および書き込みの単位とする固定長のデータとしては、
任意のブロック数を定義することができる。
【0154】図44は複数のI/Oバスを有する本発明
の一実施例である。図1の第1の実施例の構成ではI/
Oバスは1本であったが、図44では4本のI/Oバス
を有する構成となっている。したがって、I/Oバスイ
ンタフェース150、151、152、153とI/O
バス160、161、162、163、さらに各I/O
バスごとの7台の磁気ディスク装置170−0〜170
−6、171−0〜171−6、172−0〜172−
6、173−0〜173−6からなる4組のディスクサ
ブシステムを設けている。アクセス制御プログラムが複
数のI/Oバスへのスケジューリングを行う点を除け
ば、各ディスクサブシステムの制御方法は前述の各実施
例のものをそのまま適用することが可能である。例え
ば、各I/Oバスごとに第1の実施例のような多重アク
セス制御を行い、さらにI/Oバス間での1階層上での
多重アクセス制御を行うということが可能である。ま
た、各I/Oバスごとの多重アクセス制御を並列に行う
ことも可能である。
【0155】各I/Oバス160、161、162、1
63と共通データバス101間でのデータ転送におい
て、共通データバスの速度がI/Oバスの速度の4倍よ
りも大きく、なおかつ上述のような制御方式を用いるこ
とによりデータ転送の相手が特定のI/Oバスに集中す
ることがないような場合には、本図の実施例は最大のデ
ータ転送速度を達成することができる。その場合、I/
Oバスが1本の第1の実施例に比較して本図の実施例で
は4倍のデータ転送速度となる。したがって、本実施例
によりバーチャルアレイディスクの高速性をさらに高め
ることが可能となる。なお、本図ではI/Oバスが4本
の場合について示したが、もちろん4本以外の構成を取
ることも可能である。
【0156】また、磁気ディスク装置を増設してシステ
ムを拡張する場合には、各I/Oバス内での磁気ディス
ク装置の増設と、I/Oバス単位での増設が可能であ
る。このため、1スタックごとに磁気ディスク装置の増
設を行わなければならないアレイディスク装置に比べ、
よりフレキシブルにシステムの拡張に対応することがで
きるという長所を有する。
【0157】この様に本実施例によれば、バーチャルア
レイディスク装置を用いたファイルアクセスの一層の高
速化と、柔軟なシステムの拡張性を同時に実現すること
ができるという効果がある。
【0158】図40の第3の実施例に示したように、図
44の実施例の磁気ディスク装置をアレイディスク装置
に置き換えた構成を取ることも可能である。この実施例
を図45に示す。図45では、第0番のI/Oバスの磁
気ディスク装置がアレイディスク装置300−0〜30
0−6となっている。これにより、より一層のファイル
アクセス高速化を図ることが可能となる。この際、原理
的にはアレイディスク装置は任意の磁気ディスク装置と
入れ替えることが可能であり、本図に示した以外の構成
も容易に実現することが可能である。
【0159】なお、上記図44、および図45に示した
複数のI/Oバスを有する実施例においても、1本のI
/Oバスを有する実施例の説明中で述べた本発明の種々
の機能を実現することが可能なことは明らかである。
【0160】
【発明の効果】本実施例によれば、ディスコネクト・リ
コネクト機能を備えたI/Oバスを有する計算機システ
ムにおいて、該I/Oバスに接続された複数のディスク
装置にファイルを分割格納してソフトウェアで多重・並
列アクセス制御することで、高価なハードウェアを用い
ることなく、アレイディスク装置に匹敵するほどの高速
なファイルアクセスを実現することができるという効果
がある。しかも、ユーザはあたかも1台のディスク装置
を使っているかのごとく、複数のディスクに分割された
ファイルをアクセスすることができるようになる。これ
により、従来よりも非常に低コストで高速ファイルアク
セス可能な計算機システムを実現することができるとい
う効果が得られる。
【0161】また、特殊なハードウェアを用いないの
で、ディスク装置の増設の際には1台づつ増設していく
ことができ、柔軟なシステム拡張が可能であるという効
果もある。
【図面の簡単な説明】
【図1】第1の実施例を示す図
【図2】第1の実施例におけるファイル読み出しのタイ
ムチャート
【図3】第1の実施例におけるファイル読み出しのフロ
ーチャート
【図4】第1の実施例におけるファイル書き込みのタイ
ムチャート
【図5】第1の実施例におけるファイル書き込みのフロ
ーチャート
【図6】第2の実施例を示す図
【図7】ディスク管理テーブルを示す図
【図8】ファイル管理テーブルを示す図
【図9】ファイル記述子対応テーブルを示す図
【図10】ファイルアクセスの全体フローチャート
【図11】mount処理の制御フローチャート
【図12】ディレクトリ構造を示す図
【図13】open処理の制御フローチャート
【図14】read処理の制御フローチャート
【図15】write処理の制御フローチャート
【図16】close処理の制御フローチャート
【図17】umount処理の制御フローチャート
【図18】データブロック1個を単位とするストライピ
ングを示す図
【図19】データブロック1個を単位とするストライピ
ングを示す図
【図20】データブロック4個を単位とするストライピ
ングを示す図
【図21】データブロック4個を単位とするストライピ
ングを示す図
【図22】バーチャルアレイディスクの使用領域を示す
【図23】ディスク管理テーブルの設定例を示す図
【図24】バーチャルアレイディスクの使用領域を示す
【図25】ディスク管理テーブルの設定例を示す図
【図26】バーチャルアレイディスクの使用領域を示す
【図27】ディスク管理テーブルの設定例を示す図
【図28】バーチャルアレイディスクの使用領域を示す
【図29】ディスク管理テーブルの設定例を示す図
【図30】バーチャルアレイディスクの使用領域を示す
【図31】ディスク管理テーブルの設定例を示す図
【図32】バーチャルアレイディスクの使用領域を示す
【図33】ディスク管理テーブルの設定例を示す図
【図34】ミラーモードの使用領域を示す図
【図35】ミラーモードでのディスク管理テーブルの設
定例を示す図
【図36】ミラーモードの使用領域を示す図
【図37】ミラーモードでのディスク管理テーブルの設
定例を示す図
【図38】ミラーモードの使用領域を示す図
【図39】ミラーモードでのディスク管理テーブルの設
定例を示す図
【図40】アレイディスクを含む構成の第3の実施例を
示す図
【図41】アレイディスクを含むディスク管理テーブル
の設定例を示す図
【図42】ディスク増設時のファイルコピーのディスク
管理テーブルの設定例を示す図
【図43】ディスク増設時のファイルコピーの制御フロ
ーチャート
【図44】複数のI/Oバスを有する実施例を示す図
【図45】複数のI/Oバスを有しアレイディスクを含
む実施例を示す図
【図46】アレイディスクの構成を示す図
【図47】アレイディスクのタイムチャート
【図48】本発明の原理図
【図49】本発明におけるファイル読み出しのタイムチ
ャート
【符号の説明】
10…ファイル、10−0〜10−9…ファイルを構成
するデータブロック、20−0〜20−3…磁気ディス
ク装置の内部キャッシュメモリ、100…CPU、10
1…共通データバス、110…メモリ、120…CRT
ディスプレイ、130…キーボード、140…ネットワ
ークインタフェース、150、151、152、153
…I/Oバスインタフェース、160、161、16
2、163…I/Oバス、170−0〜170−6…磁
気ディスク装置、171−0〜171−6…磁気ディス
ク装置、172−0〜172−6…磁気ディスク装置、
173−0〜173−6…磁気ディスク装置、180−
0〜180−7…ディスコネクト/リコネクト手段、1
81−7、182−7、183−7…ディスコネクト/
リコネクト手段、190…ワークステーション、191
…LAN、200…アクセス制御プログラム、210…
ディスク管理テーブル、220…ファイル管理テーブ
ル、230…ファイル記述子対応テーブル、300、3
00−0〜300−6…アレイディスク装置、310…
FIFO0、311…FIFO1、312…FIFO
2、313…FIFO3、320…内部バス、330…
バッファ、340…SCSIバスインタフェース、40
0…ホストCPU装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 加藤 寛次 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 鈴木 広義 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 牧 敏行 神奈川県秦野市堀山下1番地 日立コンピ ュータエンジニアリング株式会社内

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】CPU、主記憶装置、及び少なくとも1つ
    のバスインタフェース装置を備え、該バスインタフェー
    ス装置には入出力バスを介して複数の外部記憶装置が接
    続され、前記主記憶装置からのファイル書き込みまたは
    ファイル読み出しを前記複数の外部記憶装置個々に対し
    て行なう高速ファイルアクセス制御方法において、 前記主記憶装置からのファイル書き込みの際に、論理的
    に一まとまりのファイルを複数のサブファイルに分割
    し、前記複数の外部記憶装置に該サブファイルを格納す
    るとともに、 前記主記憶装置へのファイル読み出しの際に、該ファイ
    ルを構成するサブファイルが格納された前記複数の外部
    記憶装置からそれぞれ該サブファイルを読み出して、こ
    れらを合成して論理的に一まとまりの前記ファイルを再
    成することを特徴とする高速ファイルアクセス制御方
    法。
  2. 【請求項2】CPU、主記憶装置、及び少なくとも1つ
    のバスインタフェース装置を備え、該バスインタフェー
    ス装置には入出力バスを介して複数の外部記憶装置が接
    続され、前記主記憶装置からのファイル書き込みまたは
    ファイル読み出しを前記複数の外部記憶装置個々に対し
    て行なうように構成された計算機システムにおいて、 前記主記憶装置からのファイル書き込みの際に、論理的
    に一まとまりのファイルを複数のサブファイルに分割
    し、前記複数の外部記憶装置に該サブファイルを格納す
    るとともに、 前記主記憶装置へのファイル読み出しの際に、該ファイ
    ルを構成するサブファイルが格納された前記複数の外部
    記憶装置からそれぞれ該サブファイルを読み出して、こ
    れらを合成して論理的に一まとまりの前記ファイルを再
    成する外部記憶装置制御手段を有することを特徴とする
    計算機システム。
  3. 【請求項3】CPU、主記憶装置、及び少なくとも1つ
    のバスインタフェース装置を備え、該バスインタフェー
    ス装置にはディスコネクトおよびリコネクト機能を有す
    る入出力バスを介して複数の外部記憶装置が接続され、
    前記主記憶装置からのファイル書き込みまたはファイル
    読み出しを前記複数の外部記憶装置個々に対して行なう
    高速ファイルアクセス方法において、 前記主記憶装置からのファイル書き込みの際に、論理的
    に一まとまりのファイルを複数のサブファイルに分割
    し、前記複数の外部記憶装置に該サブファイルを格納す
    るとともに、この格納に際しては、サブファイルの格納
    処理ごとに格納対象となる外部記憶装置と当該バスイン
    タフェース装置を当該入出力バスを介してコネクトして
    からサブファイルの書き込み処理を行い、書き込み処理
    が終了次第ディスコネクトするという処理を繰り返すこ
    とによって全サブファイルの格納処理を行い、 前記主記憶装置へのファイル読み出しの際に、該ファイ
    ルを構成するサブファイルが格納された前記複数の外部
    記憶装置からそれぞれ該サブファイルを読み出して、こ
    れらを合成して論理的に一まとまりの前記ファイルを再
    成するとともに、この読み出しに際しては、サブファイ
    ルの読み出し処理ごとに読み出し対象となる外部記憶装
    置と当該バスインタフェース装置を当該入出力バスを介
    してコネクトしてからサブファイルの読み出し処理を行
    い、直ちに読み出しが行えない場合には一旦ディスコネ
    クトし、他のサブファイルの読み出し処理を行い、読み
    出し可能な状態となった時点でリコネクトを行い読み出
    し処理を再開し、読み出し処理が終了次第ディスコネク
    トするという処理を繰り返すことによって全サブファイ
    ルの読み出し処理を行うことを特徴とする高速ファイル
    アクセス制御方法。
  4. 【請求項4】請求項3に記載の高速ファイルアクセス制
    御方法において、 前記複数の外部記憶装置に分割格納されたファイルの読
    み出しおよび書き込みが、アプリケーションソフトから
    は単一の外部記憶装置に格納されたファイルと同様の手
    続きにより実行されることを特徴とする高速ファイルア
    クセス制御方法。
  5. 【請求項5】請求項4に記載の高速ファイルアクセス制
    御方法において、 前記複数の外部記憶装置にファイルを分割格納する書き
    込みの際と、前記複数の外部記憶装置に分割格納された
    サブファイルの読み出しの際に、サブファイルのアクセ
    スごとにアクセス対象の外部記憶装置とバスインタフェ
    ース装置をコネクトしてサブファイルの読み出し命令あ
    るいは書き込み命令を発行し、発行終了次第直ちにディ
    スコネクトするとともに、読み出しの場合には読み出し
    可能な状態になった外部記憶装置からリコネクトを行
    い、該当サブファイルを読み出すという処理を繰り返す
    ことによって、アクセスの対象となる前記複数の外部記
    憶装置を並列に動作させることを特徴とする高速ファイ
    ルアクセス制御方法。
  6. 【請求項6】請求項5に記載の高速ファイルアクセス制
    御方法において、 前記外部記憶装置として、内部にキャッシュメモリを搭
    載した磁気ディスク装置を用いるとともに、 ファイル書き込みの際には、格納対象となる磁気ディス
    ク装置と当該バスインタフェース装置をコネクトして、
    主記憶装置から当該磁気ディスク装置の内部キャッシュ
    メモリに該当するサブファイルを転送し、転送し終えた
    段階で該内部キャッシュメモリからディスク媒体上への
    サブファイルの書き込み終了を待たずに、当該磁気ディ
    スク装置をバスインタフェース装置からディスコネクト
    し、次の格納対象となる磁気ディスク装置をコネクト
    し、直ちに該ディスク装置の内部キャッシュメモリへ次
    の書き込み対象サブファイルを転送し、転送終了次第デ
    ィスコネクトするという動作を繰返し、 ファイル読み出しの際には、読み出し対象のサブファイ
    ルを格納している磁気ディスク装置と当該バスインタフ
    ェース装置をコネクトして、該磁気ディスク装置に対し
    て該当するサブファイルの読み出し要求を発行し、該磁
    気ディスク装置内のディスク媒体上のサブファイルが同
    装置の内部キャッシュメモリへ転送されるのを待たず
    に、該磁気ディスク装置をディスコネクトし、直ちに次
    の磁気ディスク装置とコネクトして次のサブファイルの
    読み出し要求を発行するという動作を繰り返す一方、内
    部キャッシュメモリ上へサブファイルの転送が終了した
    ことを伝えてきた磁気ディスク装置からリコネクトを行
    い、該当キャッシュメモリ上のサブファイルを主記憶装
    置へ読み出すという動作を行うことにより、ファイルの
    高速な書き込みおよび読み出しを可能とする高速ファイ
    ルアクセス制御方法。
  7. 【請求項7】請求項3に記載の高速ファイルアクセス制
    御方法において、 前記複数の外部記憶装置にファイルを分割格納する書き
    込みの際と、複数の外部記憶装置に分割格納されたサブ
    ファイルの読み出しの際に、サブファイルのアクセスご
    とにアクセス対象の外部記憶装置とバスインタフェース
    装置をコネクトしてサブファイルの読み出し命令あるい
    は書き込み命令を発行し、発行終了次第直ちにディスコ
    ネクトするとともに、読み出しの場合には読み出し可能
    な状態になった外部記憶装置からリコネクトを行い、該
    当サブファイルを読み出すという処理を繰り返すことに
    よって、アクセスの対象となる前記複数の外部記憶装置
    を並列に動作させることを特徴とする高速ファイルアク
    セス制御方法。
  8. 【請求項8】請求項3に記載の高速ファイルアクセス制
    御方法において、 前記外部記憶装置として、磁気ディスク装置を用いたこ
    とを特徴とする高速ファイルアクセス制御方法。
  9. 【請求項9】請求項3に記載の高速ファイルアクセス制
    御方法において、 前記入出力バスに接続された複数の外部記憶装置から任
    意の複数の外部記憶装置を選択して外部記憶装置グルー
    プを定義し、該グループを指定してファイルアクセスを
    行えるようにしたことを特徴とする高速ファイルアクセ
    ス制御方法。
  10. 【請求項10】請求項9に記載の高速ファイルアクセス
    制御方法において、 前記複数の外部記憶装置グループを定義し、これらの中
    から任意の複数の外部記憶装置グループを指定して各々
    のグループに格納されているファイルの書き込みおよび
    読み出しを行う際、サブファイルのアクセスごとにアク
    セス対象の外部記憶装置とバスインタフェース装置をコ
    ネクトしてサブファイルの読み出し命令あるいは書き込
    み命令を発行し、発行終了次第直ちにディスコネクトす
    るとともに、読み出しの場合には読み出し可能な状態に
    なった外部記憶装置からリコネクトを行い、該当サブフ
    ァイルを読み出すという処理を繰り返すことによって、
    該外部記憶装置グループを構成する外部記憶装置を並列
    に動作させることを特徴とする高速ファイルアクセス制
    御方法。
  11. 【請求項11】請求項9に記載の高速ファイルアクセス
    制御方法において、 前記入出力バスに接続された複数の外部記憶装置から任
    意の複数の外部記憶装置を選択して外部記憶装置グルー
    プを定義した際の構成情報を記述した外部記憶装置管理
    情報に基づいて、指定された外部記憶装置グループから
    これを構成するための外部記憶装置を求め、 外部記憶装置グループに分割して格納される、または格
    納されている元ファイルと、分割されたサブファイルと
    の対応を記したファイル対応情報を参照して、指定され
    たファイルを構成するサブファイルを求め、 外部記憶装置に格納されたサブファイルの該外部記憶装
    置上での格納位置を記述したファイル格納位置情報を参
    照して、各外部記憶装置上のサブファイルの格納位置を
    求め、これによって該外部記憶装置グループを構成する
    複数の外部記憶装置をアクセスすることを特徴とする高
    速ファイルアクセス制御方法。
  12. 【請求項12】請求項11に記載の高速ファイルアクセ
    ス制御方法において、 前記外部記憶装置グループを定義した際の構成情報を記
    述した外部記憶装置管理情報、元ファイルとサブファイ
    ルとの対応を記したファイル対応情報、サブファイルの
    該外部記憶装置上での格納位置を記したファイル格納位
    置情報、とを主記憶装置上で管理することを特徴とする
    高速ファイルアクセス制御方法。
  13. 【請求項13】請求項9に記載の高速ファイルアクセス
    制御方法において、 前記入出力バスに接続された複数の外部記憶装置から任
    意の複数の外部記憶装置グループを指定し、これらの中
    から同様な構成の2組を選択して正副2式の外部記憶装
    置グループを定義し、 ファイル書き込みの場合には、該グループの正に対して
    まず書き込みを行い、次に該グループの副に対して書き
    込みを行い、 ファイル読み出しの場合には、該グループの正から読み
    出し、正に障害が発生した場合には副から読み出しを行
    うことによって、信頼性を高めたことを特徴とする高速
    ファイルアクセス制御方法。
  14. 【請求項14】CPU、主記憶装置、及び少なくとも1
    つのバスインタフェース装置を備え、該バスインタフェ
    ース装置にはディスコネクトおよびリコネクト機能を有
    する入出力バスを介して複数の外部記憶装置が接続さ
    れ、前記主記憶装置からのファイル書き込みまたはファ
    イル読み出しを前記複数の外部記憶装置個々に対して行
    なうように構成された計算機システムにおいて、 前記主記憶装置からのファイル書き込みの際に、論理的
    に一まとまりのファイルを複数のサブファイルに分割
    し、前記複数の外部記憶装置に該サブファイルを格納す
    るとともに、この格納に際しては、サブファイルの格納
    処理ごとに格納対象となる外部記憶装置と当該バスイン
    タフェース装置を当該入出力バスを介してコネクトして
    からサブファイルの書き込み処理を行い、書き込み処理
    が終了次第ディスコネクトするという処理を繰り返すこ
    とによって全サブファイルの格納処理を行い、 前記主記憶装置へのファイル読み出しの際に、該ファイ
    ルを構成するサブファイルが格納された前記複数の外部
    記憶装置からそれぞれ該サブファイルを読み出して、こ
    れらを合成して論理的に一まとまりの前記ファイルを再
    成するとともに、この読み出しに際しては、サブファイ
    ルの読み出し処理ごとに読み出し対象となる外部記憶装
    置と当該バスインタフェース装置を当該入出力バスを介
    してコネクトしてからサブファイルの読み出し処理を行
    い、直ちに読み出しが行えない場合には一旦ディスコネ
    クトし、他のサブファイルの読み出し処理を行い、読み
    出し可能な状態となった時点でリコネクトを行い読み出
    し処理を再開し、読み出し処理が終了次第ディスコネク
    トするという処理を繰り返すことによって全サブファイ
    ルの読み出し処理を行う外部記憶装置制御手段を有する
    ことを特徴とする計算機システム。
  15. 【請求項15】請求項14に記載の計算機システムにお
    いて、 前記複数の外部記憶装置に分割格納されたファイルの読
    み出しおよび書き込みが、アプリケーションソフトから
    は単一の外部記憶装置に格納されたファイルと同様の手
    続きにより実行されるファイル管理制御手段を有するこ
    とを特徴とする計算機システム。
  16. 【請求項16】請求項15に記載の計算機システムにお
    いて、 前記複数の外部記憶装置にファイルを分割格納する書き
    込みの際と、複数の外部記憶装置に分割格納されたサブ
    ファイルの読み出しの際に、サブファイルのアクセスご
    とにアクセス対象の外部記憶装置とバスインタフェース
    装置をコネクトしてサブファイルの読み出し命令あるい
    は書き込み命令を発行し、発行終了次第直ちにディスコ
    ネクトするとともに、読み出しの場合には読み出し可能
    な状態になった外部記憶装置からリコネクトを行い、該
    当サブファイルを読み出すという処理を繰り返すことに
    よって、アクセスの対象となる前記複数の外部記憶装置
    を並列に動作させる外部記憶装置制御手段を有すること
    を特徴とする計算機システム。
  17. 【請求項17】請求項16に記載の計算機システムにお
    いて、 前記外部記憶装置として、内部にキャッシュメモリを搭
    載した磁気ディスク装置を用いるとともに、 ファイル書き込みの際には、格納対象となる磁気ディス
    ク装置と当該バスインタフェース装置をコネクトして、
    主記憶装置から当該磁気ディスク装置の内部キャッシュ
    メモリに該当するサブファイルを転送し、転送し終えた
    段階で該内部キャッシュメモリからディスク媒体上への
    サブファイルの書き込み終了を待たずに、当該磁気ディ
    スク装置をバスインタフェース装置からディスコネクト
    し、次の格納対象となる磁気ディスク装置をコネクト
    し、直ちに該ディスク装置の内部キャッシュメモリへ次
    の書き込み対象サブファイルを転送し、転送終了次第デ
    ィスコネクトするという動作を繰返し、 ファイル読み出しの際には、読み出し対象のサブファイ
    ルを格納している磁気ディスク装置と当該バスインタフ
    ェース装置をコネクトして、該磁気ディスク装置に対し
    て該当するサブファイルの読み出し要求を発行し、該磁
    気ディスク装置内のディスク媒体上のサブファイルが同
    装置の内部キャッシュメモリへ転送されるのを待たず
    に、該磁気ディスク装置をディスコネクトし、直ちに次
    の磁気ディスク装置とコネクトして次のサブファイルの
    読み出し要求を発行するという動作を繰り返す一方、内
    部キャッシュメモリ上へサブファイルの転送が終了した
    ことを伝えてきた磁気ディスク装置からリコネクトを行
    い、該当キャッシュメモリ上のサブファイルを主記憶装
    置へ読み出すという動作を行うことにより、ファイルの
    高速な書き込みおよび読み出しを可能とする磁気ディス
    ク装置制御手段を有することを特徴とする計算機システ
    ム。
  18. 【請求項18】請求項14に記載の計算機システムにお
    いて、 複数の外部記憶装置にファイルを分割格納する書き込み
    の際と、複数の外部記憶装置に分割格納されたサブファ
    イルの読み出しの際に、サブファイルのアクセスごとに
    アクセス対象の外部記憶装置とバスインタフェース装置
    をコネクトしてサブファイルの読み出し命令あるいは書
    き込み命令を発行し、発行終了次第直ちにディスコネク
    トするとともに、読み出しの場合には読み出し可能な状
    態になった外部記憶装置からリコネクトを行い、該当サ
    ブファイルを読み出すという処理を繰り返すことによっ
    て、アクセスの対象となる前記複数の外部記憶装置を並
    列に動作させる外部記憶装置制御手段を有することを特
    徴とする計算機システム。
  19. 【請求項19】請求項14に記載の計算機システムにお
    いて、 前記外部記憶装置として、磁気ディスク装置を用いたこ
    とを特徴とする計算機システム。
  20. 【請求項20】請求項14に記載の計算機システムにお
    いて、 前記入出力バスに接続された複数の外部記憶装置から任
    意の複数の外部記憶装置を選択して外部記憶装置グルー
    プを定義し、該グループを指定してファイルアクセスを
    行えるようにしたファイル管理制御手段を有することを
    特徴とする計算機システム。
  21. 【請求項21】請求項20に記載の計算機システムにお
    いて、 前記複数の外部記憶装置グループを定義し、これらの中
    から任意の複数の外部記憶装置グループを指定して各々
    のグループに格納されているファイルの書き込みおよび
    読み出しを行う際、サブファイルのアクセスごとにアク
    セス対象の外部記憶装置とバスインタフェース装置をコ
    ネクトしてサブファイルの読み出し命令あるいは書き込
    み命令を発行し、発行終了次第直ちにディスコネクトす
    るとともに、読み出しの場合には読み出し可能な状態に
    なった外部記憶装置からリコネクトを行い、該当サブフ
    ァイルを読み出すという処理を繰り返すことによって、
    該外部記憶装置グループを構成する外部記憶装置を並列
    に動作させる外部記憶装置制御手段を有することを特徴
    とする計算機システム。
  22. 【請求項22】請求項20に記載の計算機システムにお
    いて、 前記入出力バスに接続された複数の外部記憶装置から任
    意の複数の外部記憶装置を選択して外部記憶装置グルー
    プを定義した際の構成情報を記憶するとともに、指定さ
    れた外部記憶装置グループからこれを構成する外部記憶
    装置を求めるための外部記憶装置管理手段と、 指定されたアクセス対象の元ファイルのファイル記述子
    と、これを構成するサブファイルのファイル記述子を対
    応付けて管理するとともに、指定された元ファイルのフ
    ァイル記述子からこれを構成するサブファイルのファイ
    ル記述子を求めるファイル記述子管理手段と、 元ファイルを構成するサブファイルの、外部記憶装置グ
    ループ内の各外部記憶装置上での格納位置情報を記憶す
    るとともに、指定されたサブファイルのファイル記述子
    から該サブファイルが格納される、あるいは格納されて
    いる当該外部記憶装置上の位置情報を求めるファイル管
    理手段を有し、 上記外部記憶装置管理手段により指定された元ファイル
    をサブファイルに分割して格納する外部記憶装置を求
    め、次に上記ファイル記述子管理手段により元ファイル
    を構成するサブファイルのファイル記述子を求め、さら
    に上記ファイル管理手段によりサブファイルを格納す
    る、あるいは格納されている外部記憶装置上の位置情報
    を求め、これによって該外部記憶装置グループの外部記
    憶装置をアクセスするアクセス制御手段を有することを
    特徴とする計算機システム。
  23. 【請求項23】請求項20に記載の計算機システムにお
    いて、 前記入出力バスに接続された複数の外部記憶装置から任
    意の複数の外部記憶装置グループを指定し、これらの中
    から同様な構成の2組を選択して正副2式の外部記憶装
    置グループを定義し、 ファイル書き込みの場合には、該グループの正に対して
    まず書き込みを行い、次に該グループの副に対して書き
    込みを行い、 ファイル読み出しの場合には、該グループの正から読み
    出し、正に障害が発生した場合には副から読み出しを行
    うことによって、信頼性を高めたファイル管理制御手段
    を有することを特徴とする計算機システム。
JP04668592A 1992-03-04 1992-03-04 高速ファイルアクセス制御方法および計算機システム Expired - Fee Related JP3199816B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP04668592A JP3199816B2 (ja) 1992-03-04 1992-03-04 高速ファイルアクセス制御方法および計算機システム
GB9303737A GB2264798A (en) 1992-03-04 1993-02-24 High speed access control
US08/024,462 US5603003A (en) 1992-03-04 1993-03-01 High speed file access control method and computer system including a plurality of storage subsystems connected on a bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04668592A JP3199816B2 (ja) 1992-03-04 1992-03-04 高速ファイルアクセス制御方法および計算機システム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP05660199A Division JP3387017B2 (ja) 1999-03-04 1999-03-04 ファイルアクセス制御方法及びファイル再配置方法
JP05660099A Division JP3294564B2 (ja) 1999-03-04 1999-03-04 高速ファイルアクセス制御方法及び計算機システム

Publications (2)

Publication Number Publication Date
JPH05250099A true JPH05250099A (ja) 1993-09-28
JP3199816B2 JP3199816B2 (ja) 2001-08-20

Family

ID=12754236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04668592A Expired - Fee Related JP3199816B2 (ja) 1992-03-04 1992-03-04 高速ファイルアクセス制御方法および計算機システム

Country Status (1)

Country Link
JP (1) JP3199816B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0846949A (ja) * 1994-08-03 1996-02-16 Matsushita Electric Ind Co Ltd ビデオオンデマンドシステム
US5802345A (en) * 1994-03-28 1998-09-01 Matsunami; Naoto Computer system with a reduced number of command end interrupts from auxiliary memory unit and method of reducing the number of command end interrupts
JP2006236395A (ja) * 1994-06-03 2006-09-07 Hynix Semiconductor Inc コンピュータ用バスインタフェース

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802345A (en) * 1994-03-28 1998-09-01 Matsunami; Naoto Computer system with a reduced number of command end interrupts from auxiliary memory unit and method of reducing the number of command end interrupts
JP2006236395A (ja) * 1994-06-03 2006-09-07 Hynix Semiconductor Inc コンピュータ用バスインタフェース
JPH0846949A (ja) * 1994-08-03 1996-02-16 Matsushita Electric Ind Co Ltd ビデオオンデマンドシステム

Also Published As

Publication number Publication date
JP3199816B2 (ja) 2001-08-20

Similar Documents

Publication Publication Date Title
US5603003A (en) High speed file access control method and computer system including a plurality of storage subsystems connected on a bus
JP3431972B2 (ja) 仮想ディスクシステム
JP2868141B2 (ja) ディスクアレイ装置
US6633962B1 (en) Method, system, program, and data structures for restricting host access to a storage space
JP3843713B2 (ja) 計算機システム及びそのデバイスの割り当て方法
US6216211B1 (en) Method and apparatus for accessing mirrored logical volumes
US6907498B2 (en) Computer system and a method of assigning a storage device to a computer
JP4574408B2 (ja) 記憶装置システムの制御技術
JP4818395B2 (ja) ストレージ装置及びデータコピー方法
US20020161983A1 (en) System, method, and computer program product for shared device of storage compacting
US20080301363A1 (en) Virtual tape library device
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
WO2001024010A1 (fr) Procede de partage de fichiers et systeme de stockage
JP2766424B2 (ja) 論理ボリューム装置
JP4501548B2 (ja) 計算機システム及びそのデバイスの割り当て方法
JP3387017B2 (ja) ファイルアクセス制御方法及びファイル再配置方法
US20080005745A1 (en) Management server and server system
JP3199816B2 (ja) 高速ファイルアクセス制御方法および計算機システム
KR20200109547A (ko) 네트워크 부착 디스크를 통한 파일 처리 방법 및 그 시스템
JPH07200187A (ja) ディスクアレイ装置
JPH0863394A (ja) 記憶装置システムおよび記憶装置の制御方法
JP5355603B2 (ja) ディスクアレイ装置及び論理ボリュームアクセス方法
JP3294564B2 (ja) 高速ファイルアクセス制御方法及び計算機システム
JPH06110766A (ja) 分割格納ファイルシステムのディレクトリ構成方法および計算機システム
JPH09258908A (ja) 計算機システム

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080615

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080615

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090615

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100615

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100615

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110615

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees