JPH07319627A - 外部記憶装置 - Google Patents

外部記憶装置

Info

Publication number
JPH07319627A
JPH07319627A JP6109537A JP10953794A JPH07319627A JP H07319627 A JPH07319627 A JP H07319627A JP 6109537 A JP6109537 A JP 6109537A JP 10953794 A JP10953794 A JP 10953794A JP H07319627 A JPH07319627 A JP H07319627A
Authority
JP
Japan
Prior art keywords
command
write
block
data
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6109537A
Other languages
English (en)
Inventor
Masahiro Noguchi
昌弘 野口
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP6109537A priority Critical patent/JPH07319627A/ja
Publication of JPH07319627A publication Critical patent/JPH07319627A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 複数のホスト計算機が外部記憶装置を共有す
る場合、多量のデータを転送するホスト計算機が外部記
憶装置を占有しないようにする。 【構成】 計算機からの入出力データをホストインタフ
ェース41〜44が複数の記憶ブロックに分割し記憶ブ
ロック単位に読込みコマンドまたは書込みコマンドを生
成し実行待ちにする。外部記憶制御部60が共有バスイ
ンタフェースを制御し、実行待ちのコマンドを計算機対
応順に受け付け、外部記憶制御部60が記憶デバイス8
1〜84を制御しコマンドに従いデータを転送する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、計算機システムの資
源管理方式に係わり、複数の計算機間で磁気ディスクな
どの外部記憶装置を共有する場合に好適な制御方式に関
する。
【0002】
【従来の技術】図12は例えば公開特許公報 平2-10
424に示された従来の外部記憶装置の構成図である。
図において10、11、12はこの外部記憶装置を共有
するホスト計算機群、13、14、15は独立のオペレ
ーティング・システムである。各ホスト計算機は、それ
ぞれチャネル16、17、18とが接続され、各チャネ
ル16、17、18は外部記憶制御装置19を介し被制
御の磁気ディスク装置21が接続されている。
【0003】複数のホスト計算機間で共用する磁気ディ
スク装置上のデータに対するアクセスは、1時点では1
つのホスト計算機からしかできない。このためユーザ
は、当該磁気ディスク装置の使用権を得るための排他制
御要求をオペレーティング・システムに対し発行しなけ
ればならない。排他制御要求を受けとったオペレーティ
ング・システムは、排他制御要求の後の最初のデータ転
送入出力要求に対応するCCW(チャネルコントロール
ワード)の先頭に排他制御用のRESERVEコマンド
をチェインする。CCWはチャネルを通り外部記憶制御
装置19に伝えられる。
【0004】CCWは図13で示す形式になっている。
CCWの最初はコマンドコードであり、RESERVE
コマンドがX’24’、RELAESEコマンドがX’
44’、UNCONDITIONAL RESEVRV
EがX’54’で表現されている。ただし、Xは16進
表記を示す。RESERVEコマンドは、排他制御識別
子31をキーとして、磁気ディスク装置のロックを確保
し、他のホスト計算機からの使用を禁止する。RELA
ESEコマンドは、排他制御識別子をキーとしたロック
を解除する。UNCONDITIONAL RESER
VEは、排他制御識別子をキーとした他のホスト計算機
のロックを強制的に解除し、自ホスト計算機に、排他制
御識別子をキーとしたロックを確保するコマンドであ
る。
【0005】RESERVEコマンドを受けとった外部
記憶制御装置は、RESERVEコマンドに指定された
排他制御識別子をキーとし、外部記憶装置内の制御用メ
モリ20に記憶された排他制御識別子管理テーブルを参
照する。排他制御識別子管理テーブルに該排他制御識別
子がすでに登録されている場合、その排他制御識別子の
登録を行なったチャネルルートを読みだし、今回発行さ
れたRESERVEコマンドのチャネルルートと一致す
るか、または同一のチャネルパスグループに属するかの
判定を行なう。
【0006】これにより、他のホスト計算機から当該デ
ータセットが他のホスト計算機からロックされていない
と判断された場合、排他制御識別子管理テーブルに登録
する。すでに他のホスト計算機にロックが確保されてい
る場合は、要求ホスト計算機に対しデバイスの使用中を
報告する。RELEASEコマンドは、排他制御識別子
管理テーブルから該排他制御識別子の削除を行なう。U
NCONDITIONAL RESERVEは、排他制
御識別子管理テーブルに該排他制御識別子の登録を強制
的に行なう。
【0007】
【発明が解決しようとする課題】従来の外部記憶装置は
以上のように構成されているので、次のような問題点が
あった。第1に、外部記憶制御装置によりホスト計算機
のアクセスがシリアル化されてしまうので、あるホスト
計算機が大量のデータ転送を行なうと、その後に続くホ
スト計算機のアクセスが待たされることになり、かつそ
のホスト計算機が外部記憶制御装置を占有する時間も予
想できない。外部記憶制御装置自身は正常にもかかわら
ず、後続ホスト計算機は長時間外部記憶制御装置からの
応答がないため、入出力タイムアウトエラーと判定して
しまう。
【0008】第2に、RESERVEコマンドを発行し
たホスト計算機がシステムダウンすると、RESERV
Eされた外部記憶装置が使用不能になること。この状態
を回復するためのUNCONDITIONAL RES
ERVEの発行は、外部記憶装置以外の手段で各ホスト
計算機が通信し、システムダウンを起こしたホスト計算
機を検知/判断し、それを管理する上位ホスト計算機が
行なう必要があるため、このコマンド自体の発行が難し
い。
【0009】第3に、他の従来例としてディスク装置に
高速にアクセスするためキャッシュメモリが用いられて
いる場合、装置対応にキャッシュを設けているため、キ
ャッシュの使用効率が悪いことと、キャッシュに用いる
半導体メモリは停電でメモリ内容が消えてしまう性質が
あり、キャッシュからディスク装置への書込みが長く待
たされると停電に遭遇する機会が増え、ホスト計算機は
書き込んだつもりがディスク装置には書き込まれていな
いと言う問題がある。
【0010】この発明は上記のような問題点を解消する
ためになされたもので、外部記憶装置の効率的な利用を
可能とし、RESERVE、RELEASEコマンドを
廃止し、1ホスト計算機が大量のデータ転送を行っても
外部記憶制御装置を長時間占有しないようにし、自ホス
ト計算機のデータ転送最大時間が予測できるようにし、
ホスト計算機がこの最大時間以内であれば、入出力タイ
ムアウトエラーとならないようにすることを目的とす
る。また、あるホスト計算機31〜34が管理する外部
記憶装置の記憶領域を他のホスト計算機31〜34が書
込みまたは読込みするのを禁止または許可できるように
することを目的とする。
【0011】また、データ転送高速化のためにキャッシ
ュメモリを使用する場合、キャッシュに書き込めたら、
ディスク装置書込み完了を待たずにホスト計算機に書込
み完了として知らせる方法と、キャッシュメモリに書き
込んだ後長い間ディスク装置に書込みが待たされ停電に
遭遇することがないよう、キャッシュに続いてディスク
装置に書込み、完了をホスト計算機に知らせる方法と
を、使い分けできるようにするとともに、高速アクセス
のためキャッシュを常駐させることもできるようにする
ことを目的とする。
【0012】また、キャッシュを複数の磁気ディスクお
よび複数のホスト計算機で共用し、ホスト計算機ごとに
上記キャッシュ使用方法を指定できるようにすることを
目的とする。またあるホスト計算機がシステムダウンし
た場合、そのホスト計算機が使用していた外部記憶装置
における環境を他のホスト計算機が引き継いで使用きる
ことを目的とする。
【0013】
【課題を解決するための手段】第一の発明に係わる複数
の計算機が共有する外部記憶装置は、前記複数の計算機
からの第一のコマンドを受け、前記第一のコマンドがデ
ータの転送を伴う場合所定の転送ブロック長のデータを
含んだ第二のコマンドを生成し、前記第一のコマンドが
データの転送を伴わない場合前記第一のコマンドを第二
のコマンドとするコマンド生成手段と、前記第二のコマ
ンドを前記複数の計算機対応に巡回的にサーチするコマ
ンドサーチ手段と、前記複数の計算機のうちの一つの計
算機の第二のコマンドを受けて処理開始し前記コマンド
サーチ手段のサーチを中断する実行手段と、前記実行手
段の処理終了後に前記一つの計算機とは別の計算機につ
いて前記コマンドサーチ手段のサーチを再開させるコマ
ンドサーチ再開手段により構成されたものである。
【0014】第二の発明に係わる複数の計算機が共有す
る外部記憶装置は、前記所定の転送ブロック長を記憶ブ
ロックの単位として前記データを記憶するデータ記憶手
段と、前記複数の計算機対応に設けられ、前記データ記
憶手段の記憶ブロックについて読込み中または書込み中
かを示すブロック状態記憶手段と、前記第二のコマンド
が読込みを指示している場合、前記第二のコマンドが指
定する転送対象の記憶ブロックについて、前記ブロック
状態記憶手段がすでに前記第二のコマンド発行元以外の
計算機が書込み中であると示しているなら前記第二のコ
マンドを受け付けない読込み競合回避手段により構成さ
れたものである。
【0015】第三の発明に係わる複数の計算機が共有す
る外部記憶装置は、前記所定の転送ブロック長を記憶ブ
ロックの単位として前記データを記憶するデータ記憶手
段と、前記複数の計算機対応に設けられ、前記データ記
憶手段の記憶ブロックについて読込み中または書込み中
かを示すブロック状態記憶手段と、前記第二のコマンド
が書込みを指示している場合、前記第二のコマンドが指
定する転送対象の記憶ブロックについて、前記ブロック
状態記憶手段がすでに前記第二のコマンド発行元以外の
計算機が書込み中または読込み中であると示しているな
ら前記第二のコマンドを受け付けない書込み競合回避手
段により構成されたものである。前記複数の計算機対応
に設けられ、前記データ記憶手段の記憶ブロックにつき
書込み禁止または許可を指示する書込み禁止・許可指示
手段と、前記第二のコマンドが書込みを指示している場
合、前記第二のコマンドが指定する転送対象の記憶ブロ
ックについて、前記第二のコマンド発行元の計算機に対
応する前記書込み禁止・許可指示手段が、書込み禁止を
指示しているなら前記第二のコマンドを受付けず、書込
み許可を指示しているなら前記第二のコマンドを受付け
る書込み禁止・許可手段。
【0016】第四の発明に係わる複数の計算機が共有す
る外部記憶装置は、前記複数の計算機対応に設けられ、
前記データ記憶手段の記憶ブロックにつき読込み禁止ま
たは許可を指示する読込み禁止・許可指示手段と、前記
第二のコマンドが読込みを指示している場合、前記第二
のコマンドが指定する転送対象の記憶ブロックについ
て、前記第二のコマンド発行元の計算機に対応する前記
読込み禁止・許可指示手段が、読込み禁止を指示してい
るなら前記第二のコマンドを受付けず、読込み許可を指
示しているなら前記第二のコマンドを受付ける読込み禁
止・許可手段により構成されたものである。
【0017】第五の発明に係わる複数の計算機が共有す
る外部記憶装置は、前記複数の計算機対応に設けられ、
前記データ記憶手段の記憶ブロックにつき書込み禁止ま
たは許可を指示する書込み禁止・許可指示手段と、前記
第二のコマンドが書込みを指示している場合、前記第二
のコマンドが指定する転送対象の記憶ブロックについ
て、前記第二のコマンド発行元の計算機に対応する前記
書込み禁止・許可指示手段が、書込み禁止を指示してい
るなら前記第二のコマンドを受付けず、書込み許可を指
示しているなら前記第二のコマンドを受付ける書込み禁
止・許可手段により構成されたものである。
【0018】第六の発明に係わる複数の計算機が共有す
る外部記憶装置は、前記所定の転送ブロック長を記憶ブ
ロックの単位として前記データを記憶するデータ記憶手
段と、前記複数の計算機対応に設けられ、前記記憶ブロ
ックに対するキャッシュメモリにライトバックで書込む
か、ライトスルーで書込むかを指示するキャッシュ書込
み方法指示手段と、前記第二のコマンドが書込みを指示
している場合、前記第二のコマンドが指定する書込み対
象の記憶ブロックについて、前記第二のコマンド発行元
の計算機に対応する前記キャッシュ書込み方法指示手段
が、ライトバック書込みを指示しているなら前記記憶ブ
ロックのデータをキャッシュメモリに書込み終えたとき
にコマンド実行完了を前記第二のコマンド発行元の計算
機に知らせ、ライトスルー書込みを指示しているなら前
記記憶ブロックのデータを前記データ記憶手段に書込み
終えたときにコマンド実行完了を前記第二のコマンド発
行元の計算機に知らせるキャッシュ書込み手段により構
成されたものである。
【0019】第七の発明に係わる複数の計算機が共有す
る外部記憶装置は、前記複数の計算機対応に設けられ、
前記記憶ブロックに対しキャッシュ常駐を指示するキャ
ッシュ常駐指示手段と、前記キャッシュ常駐指示手段に
もとずき前記キャッシュメモリを前記記憶ブロックに割
り当てるキャッシュ常駐手段により構成されたものであ
る。
【0020】
【作用】第一の発明においては、コマンド生成手段が、
前記複数の計算機からの第一のコマンドを受け、前記第
一のコマンドがデータの転送を伴う場合所定の転送ブロ
ック長のデータを含んだ第二のコマンドを生成し、前記
第一のコマンドがデータの転送を伴わない場合前記第一
のコマンドを第二のコマンドとするコマンド生成する。
コマンドサーチ手段が、前記第二のコマンドを前記複数
の計算機対応に巡回的にサーチする。そして、実行手段
が、前記複数の計算機のうちの一つの計算機の第二のコ
マンドを受けて処理開始し前記コマンドサーチ手段のサ
ーチを中断する。また、コマンドサーチ再開手段が、前
記実行手段の処理終了後に前記一つの計算機とは別の計
算機について前記コマンドサーチ手段のサーチを再開さ
せる。
【0021】第二の発明においては、データ記憶手段
が、前記所定の転送ブロック長を記憶ブロックの単位と
して前記データを記憶する。ブロック状態記憶手段が、
前記複数の計算機対応に設けられ、前記データ記憶手段
の記憶ブロックについて読込み中または書込み中かを示
す。そして、読込み競合回避手段は、前記第二のコマン
ドが読込みを指示している場合、前記第二のコマンドが
指定する転送対象の記憶ブロックについて、前記ブロッ
ク状態記憶手段がすでに前記第二のコマンド発行元以外
の計算機が書込み中であると示しているなら前記第二の
コマンドを受け付けない。
【0022】第三の発明においては、データ記憶手段
が、前記所定の転送ブロック長を記憶ブロックの単位と
して前記データを記憶する。ブロック状態記憶手段は、
前記複数の計算機対応に設けられ、前記データ記憶手段
の記憶ブロックについて読込み中または書込み中かを示
す。そして、書込み競合回避手段は、前記第二のコマン
ドが書込みを指示している場合、前記第二のコマンドが
指定する転送対象の記憶ブロックについて、前記ブロッ
ク状態記憶手段がすでに前記第二のコマンド発行元以外
の計算機が書込み中または読込み中であると示している
なら前記第二のコマンドを受け付けない。
【0023】第四の発明においては、読込み禁止・許可
指示手段が、前記複数の計算機対応に設けられ、前記デ
ータ記憶手段の記憶ブロックにつき読込み禁止または許
可を指示する。そして、前記第二のコマンドが読込みを
指示している場合、前記第二のコマンドが指定する転送
対象の記憶ブロックについて、前記第二のコマンド発行
元の計算機に対応する前記読込み禁止・許可指示手段
が、読込み禁止を指示しているなら前記第二のコマンド
を受付けず、読込み許可を指示しているなら前記第二の
コマンドを受付ける。
【0024】第五の発明においては、書込み禁止・許可
指示手段が、前記複数の計算機対応に設けられ、前記デ
ータ記憶手段の記憶ブロックにつき書込み禁止または許
可を指示する。そして、書込み禁止・許可手段は前記第
二のコマンドが書込みを指示している場合、前記第二の
コマンドが指定する転送対象の記憶ブロックについて、
前記第二のコマンド発行元の計算機に対応する前記書込
み禁止・許可指示手段が、書込み禁止を指示しているな
ら前記第二のコマンドを受付けず、書込み許可を指示し
ているなら前記第二のコマンドを受付ける。
【0025】第六の発明においては、データ記憶手段
が、前記所定の転送ブロック長を記憶ブロックの単位と
して前記データを記憶する。キャッシュ書込み方法指示
手段は、前記複数の計算機対応に設けられ、前記記憶ブ
ロックに対するキャッシュメモリにライトバックで書込
むか、ライトスルーで書込むかを指示する。そして、キ
ャッシュ書込み手段は、前記第二のコマンドが書込みを
指示している場合、前記第二のコマンドが指定する書込
み対象の記憶ブロックについて、前記第二のコマンド発
行元の計算機に対応する前記キャッシュ書込み方法指示
手段が、ライトバック書込みを指示しているなら前記記
憶ブロックのデータをキャッシュメモリに書込み終えた
ときにコマンド実行完了を前記第二のコマンド発行元の
計算機に知らせ、ライトスルー書込みを指示しているな
ら前記記憶ブロックのデータを前記データ記憶手段に書
込み終えたときにコマンド実行完了を前記第二のコマン
ド発行元の計算機に知らせる。
【0026】第七の発明においては、キャッシュ常駐指
示手段が、前記複数の計算機対応に設けられ、前記記憶
ブロックに対しキャッシュ常駐を指示する。そして、キ
ャッシュ常駐手段が、前記キャッシュ常駐指示手段にも
とずき前記キャッシュメモリを前記記憶ブロックに割り
当てる。
【0027】
【実施例】
実施例1.以下、この発明の一実施例を図1を用いて説
明する。図1において、31〜34はホスト計算機、4
0は外部記憶装置で、ホストインタフェース41〜4
4、共有バス50、外部記憶制御部60、データ・バス
80および記憶デバイス81〜84からなる。
【0028】41〜44はホスト計算機31〜34と外
部記憶装置40を接続するためのホストインタフェース
である。101〜104は入出力チャネルでホスト計算
機31〜34とホストインタフェース41〜44との間
でコマンドやり取りするチャネル、105〜108はD
MAチャネルでホスト計算機31〜34とホストインタ
フェース41〜44との間でデータを入出力するチャネ
ルである。
【0029】50はホストインタフェース41〜44と
外部記憶制御部60との間でコマンドをやり取りするた
めの共有バスで、この共有バス50に接続されるホスト
インタフェース41〜44と外部記憶制御部60はそれ
ぞれ一意的なアドレスを持つ。
【0030】60は外部記憶制御部で、ホストインタフ
ェース41〜44とのデータ転送の制御、磁気ディスク
等の記憶デバイス81〜84の制御を行ない、CPU6
1、外部メモリ管理テーブル62a、共有バスインタフ
ェース63、データ・バスインタフェース64、制御部
内部バス65から構成される。61は演算処理を行なう
CPU、62aは外部メモリ管理テーブルで、記憶デバ
イス81〜84の読み書き制御に用いる情報を記憶する
メモリである。63は共有バスインタフェースで、CP
U61の制御により、ホストインタフェース41〜44
との間でコマンドのやり取りを行なう。
【0031】64はデータ・バスインタフェースで、C
PU61の制御により、データバス80を介して記憶デ
バイス81〜84との間でデータの入出力を行なう。6
5は外部記憶制御部60の内部バスである。
【0032】80は記憶デバイス81〜84の制御・デ
ータ入出力を行うためのデータバスで、例えば入出力装
置接続標準インタフェースであるSCSI( Small Com
puter System Interface )のようなデータバス、81
〜84は記憶デバイスで、例えば磁気ディスク、光磁気
ディスク、光ディスク、フラッシュメモリなどで、以
下、磁気ディスクを例に述べる。
【0033】磁気ディスクはヘッド、トラック、セクタ
などで物理的記憶位置を表わすが、ここでは磁気ディス
ク81〜84全体の記憶領域を論理的なブロック単位に
分割し、その分割された記憶領域に一連の番号、即ちブ
ロック番号を付与し、このブロック番号で記憶位置を表
わす。ただし、ブロックとは転送するデータを適切な量
に分割したもので、例えば1ブロック 512バイトで
ある。また、記憶ブロックとは、磁気ディスク81〜8
4上の特定位置にある1ブロックの記憶領域を示すもの
と定義する。
【0034】図2はホスト計算機31〜34が実行する
入出力命令の形式で、100においてフィールド1はデ
ータライト/データリードのようなコマンド種別を示
し、フィールド2はホスト計算機31〜34の主記憶ア
ドレスを示し、フィールド3は転送データの先頭のブロ
ック番号を示し、フィールド4は転送するブロック数を
示す。また、データは別途DMAチャネル105〜10
8を介してホスト計算機31〜34からホストインタフ
ェース41〜44に転送される。
【0035】図3はホスト計算機31〜34と外部記憶
装置40のホストインタフェース41〜44間で行う入
出力コマンド形式の図で、200はそのコマンド形式を
示し、201〜205はコマンド例を示す。図3の20
0において、フィールド1はホスト計算機31〜34の
識別子(以下ホストIDと略す)で、ホスト計算機31
は”0001”,ホスト計算機32は”0002”,ホス
ト計算機33は”0003”,ホスト計算機34は”0
004”である。フィールド2は転送データの先頭のブ
ロック番号で,フィールド3はコマンド種別で、例えば
次のように定義する。
【0036】 〔コマンド方向:コマンド種別〕 〔フィールド値〕 ホストから外部記憶装置:書込み ”0003” ホストから外部記憶装置:読込み ”0002” ホストから外部記憶装置:優先連続書込み ”0103” ホストから外部記憶装置:優先連続読込み ”0102” ホストから外部記憶装置:属性の設定 ”0001” ホストから外部記憶装置:属性の読込み ”0000” 外部記憶装置からホスト:書込み応答 ”1003” 外部記憶装置からホスト:読込み応答 ”1002” 外部記憶装置からホスト:優先連続書込み応答 ”1103” 外部記憶装置からホスト:優先連続読込み応答 ”1102” 外部記憶装置からホスト:属性の設定応答 ”1001” 外部記憶装置からホスト:属性の読込み応答 ”1000”
【0037】フィールド4はデータ転送が伴うコマンド
の場合はホスト計算機31〜34から指示された連続ブ
ロック数を示す。データ転送が伴わないコマンドの場合
はフィールド4は”0000”が入る。
【0038】フィールド5は任意のブロック長のデータ
が入る。データ転送が伴わないコマンドの場合はフィー
ルド5は生成されない。また、データの転送はDMAチ
ャネル105〜108を介して、ホストインタフェース
41〜44の主導で行う。
【0039】図4は共有バス50でのコマンド形式を示
す図で、300はそのコマンド形式を、301〜316
はコマンド例を示す。300においてフィールド1,フ
ィールド2は図3と同様にホストID,ブロック番号を
示し、フィールド3はコマンド種別で、例えば次のよう
な値をとる。ただし、下記のHIFはホストインタフェ
ース41〜44を、DCは外部記憶制御部60を示す。
【0040】 〔コマンド方向:コマンド種別〕 〔フィールド値〕 HIFからDC:書込み、先頭のブロックデータ ”0003” HIFからDC:書込み、後続のブロックデータ ”0013” HIFからDC:読込み、先頭のブロック ”0002” HIFからDC:読込み、後続のブロック ”0002” HIFからDC:優先連続書込み。先頭のブロックデータ ”0103” HIFからDC:優先連続書込み、後続のブロックデータ ”0113” HIFからDC:優先連続読込み ”0102” HIFからDC:属性の設定 ”0001” HIFからDC:属性の読込み ”0000” DCからHIF:書込み応答 ”1003” DCからHIF:読込み応答 ”1012” DCからHIF:優先連続書込み応答 ”1103” DCからHIF:優先連続読込み応答、先頭のブロックデータ ”1102” DCからHIF:優先連続読込み応答、後続のブロックデータ ”1112” DCからHIF:属性の設定応答 ”1001” DCからHIF:属性の読込み応答 ”1000”
【0041】フィールド4はデータ転送が伴うコマンド
の場合はホスト計算機31〜34から指示された連続ブ
ロック数を示し、データ転送が伴わないコマンドの場合
は”0000”が埋めこまれる。フィールド5は1ブロ
ックのデータが入る。データ転送が伴わないコマンドの
場合はフィールド5は生成されない。
【0042】属性は記憶ブロック毎にかつ、ホスト計算
機31〜34対応にもち、読み書き制御に用いる情報
で、RBSY、WBSY、RENB、WENBからな
る。 これらの情報は外部記憶制御部60の外部メモリ
管理テーブル62aに記憶保持される。
【0043】図5は外部メモリ管理テーブル62aの構
成を示すもので、411は記憶ブロック対応に記憶され
る属性の形式を示し、412〜419はデータ例を示
す。411においてフィールド1は外部メモリ管理テー
ブル62aの対応するブロック番号が入り、フィールド
2からフィールド5はそれぞれホスト計算機31〜34
に対応している。
【0044】2から5のフィールドにはRBSY、WB
SY、RENB、WENB、からなる属性値が入る。
属性値RBSYは、ホスト計算機31〜34が記憶ブロ
ックから読込み中か否かを示し、「0」で読込み中でな
い、「1」で読込み中を意味する。属性値RBSYが
「1」の場合は、他のホスト計算機31〜34からこの
属性値RBSYに対応する記憶ブロックに書込みコマン
ドを発行しても、外部記憶制御部60は受け付けない。
ただし、読込みコマンドは受け付ける。
【0045】属性値WBSYは、ホスト計算機31〜3
4が記憶ブロックに書込み中か否かを示し「0」で書込
み中でない、「1」で書込み中を意味する。属性値WB
SYが「1」の場合は、他のホスト計算機31〜34か
らこの属性値WBSYに対応する記憶ブロックに読込み
および書込みコマンドを発行しても、外部記憶制御部6
0は受け付けない。
【0046】属性値RENBは、対応するホスト計算機
31〜34から対応する記憶ブロックに「0」で読込み
禁止、「1」で読込み可能を示す。属性値設定コマンド
で読込み禁止、または読込み可を設定できる。
【0047】属性値WENBは、対応するホスト計算機
31〜34から対応する記憶ブロックに「0」で書込み
禁止、「1」で書込み可能を示す。属性値設定コマンド
で書込み禁止、または書込み可を設定できる。
【0048】次に動作について説明する。 ホスト計算
機31〜34が図2の100に示すデータ形式の入出力
命令を実行すると、ホスト計算機31〜34は図3の2
00に示すコマンド形式に変換し外部記憶装置40のホ
ストインタフェース41〜44にコマンドを出力する。
そして、ホスト計算機31〜34はコマンドに対する応
答が来るまで、次のコマンドをホストインタフェース4
1〜44に出さない。
【0049】ホストインタフェース41〜44は、受け
付けたコマンドがデータ転送を伴うコマンドの場合は多
量のデータ転送により共有バスを占有しないよう、適切
なデータ量例えばブロックに分割して転送する。そこで
1ブロックに対し1コマンドで複数のコマンドを編集
し、共有バス50からコマンド有無の問い合わせが来る
のを待つ。
【0050】問い合わせが来たなら、複数のコマンドの
先頭のコマンドを共有バス50に出力し、コマンド実行
結果を待つ。実行結果正常の応答が来れば、次のコマン
ドを送出する準備をし、共有バス50からコマンド有無
の問い合わせが来るのを待つ。問い合わせが来たなら、
コマンドを共有バス50に出力し、コマンド実行結果を
待つ。以下、同様にして最後のコマンドに対する実行結
果正常の応答が来れば、ホストインタフェース41〜4
4はホスト計算機31〜34に実行結果正常の応答を返
し、ホスト計算機31〜34のコマンド実行を終了す
る。
【0051】なお、コマンドに対する実行結果使用中又
は異常の応答が来れば、共有バス50に出す残りのコマ
ンドを廃棄し、ホスト計算機31〜34に実行結果使用
中又は異常の応答を返す。また、データ転送を伴わない
コマンドの場合、ホストインタフェース41〜44はコ
マンドを送出する準備をし、共有バス50からコマンド
有無の問い合わせが来るのを待つ。問い合わせが来たな
ら、コマンドを共有バス50に出力し、コマンド実行結
果を待つ。実行結果正常の応答が来れば、ホスト計算機
31〜34に実行結果正常の応答を返す。
【0052】また、共有バス50からコマンド有無の問
い合わせが来たとき、送出すべきコマンドがなければ、
「コマンドなし」と共有バス50に応答を返す。一方、
外部記憶制御部60は共有バスインタフェース63経由
共有バス50にホストインタフェース41、42、4
3、44の順にコマンド実行要求がないか問い合わせ、
あればそのコマンドを実行し結果をそのホストインタフ
ェース41〜44に返す。即ち、ホストインタフェース
41にコマンド実行要求がないか問い合わせ、あればそ
のコマンドを実行し、結果をそのホストインタフェース
41に返す。
【0053】次に、ホストインタフェース42にコマン
ド実行要求がないか問い合わせ、あれば実行し結果をそ
のホストインタフェース42に返す。以下同様に、ホス
トインタフェース43、ホストインタフェース44の次
はホストインタフェース41の順に繰り返し、コマンド
を受付け結果を返すことにより、一つのホストインタフ
ェースが共有バス50を占有しないようにする。
【0054】また、転送データ量の多い読込みコマンド
と書込みコマンドは1ブロック単位に分割して転送する
ので長時間共有バス50を占有することはない。また最
大転送時間は、ホスト計算機数x転送ブロック数x1ブロ
ック転送時間で求まるので、各ホスト計算機31〜34
はこの最大時間より長めに入出力監視タイマーを設定す
れば、自ホスト計算機31〜34はもちろん、他ホスト
計算機31〜34も大量のデータ転送で入出力タイムア
ウトエラーになることはない。
【0055】ホストインタフェース41〜44はホスト
計算機31〜34より複数ブロックのデータ転送を伴う
読込みコマンドまたは、書込みコマンドを受け付けた場
合、1記憶ブロックに対し1コマンドとなるよう複数の
コマンドに分割し、先頭のコマンドには、転送先ブロッ
ク番号と転送ブロック数を付加して、また、後続のコマ
ンドには転送先ブロック番号のみを(転送ブロック数は
仮に0を)付加して、共有バス50経由外部記憶制御部
60に送る。外部記憶制御部60は転送先ブロック番号
と転送ブロック数で指定される記憶ブロック領域の使用
状況を全ホスト計算機31〜34について、外部メモリ
管理テーブル62aにより調べる。
【0056】読込みコマンドの場合、コマンドが指定す
る記憶ブロック領域の1ブロックでもすでに書込み中な
ら、使用中として応答を返す。指定記憶ブロック領域が
すべて読込み中か空きなら指定記憶ブロック領域の外部
メモリ管理テーブル62aに、コマンドを発行したホス
ト計算機31〜34が読込み中として設定し、コマンド
を実行する。また、コマンド終了毎に読込み済み記憶ブ
ロックの属性値を空きに設定する。
【0057】書込みコマンドの場合、コマンドが指定す
る記憶ブロック領域の1ブロックでも書込み中または読
込み中なら、使用中として応答を返す。指定ブロック領
域がすべて空きなら指定ブロック領域の外部メモリ管理
テーブル62aに、コマンドを発行したホスト計算機3
1〜34が書込み中として設定し、コマンドを実行す
る。また、指定記憶ブロック領域すべて書込み終了した
時点で空きに設定する。コマンド終了毎に書込み済み記
憶ブロックの属性を空きにしない。以上により同一記憶
ブロックに読み書きの要求が生じた場合、先に実行して
いるものを優先することで競合が避けられる。
【0058】また、読込みコマンドを発行したホスト計
算機31〜34に対応する読込み対象の記憶ブロック
が、読込み禁止であれば「読込み禁止」で受け付けでき
ない旨、読込み応答コマンドでホストインタフェース4
1〜44経由ホスト計算機31〜34に知らせる。例え
ば、図4に示す書込みコマンド306をホストインタフ
ェース44から外部記憶制御部60が受けた場合、図5
のブロック番号0001136の外部メモリ管理テーブ
ル62aではホスト計算機34に対し読込み禁止(RE
NBが「0」)であるためデータ読込みせずコマンドは
「読込み禁止」で受付できない旨、読込み応答コマンド
でホストインタフェース42経由ホスト計算機32に知
らせる。また、同じ記憶ブロック(0001136)で
もホスト計算機31から読込むコマンドの場合、図5に
示すように、外部メモリ管理テーブル62aの内容は読
込み禁止でない(RENBが「1」)ので読込みコマン
ドを受け付ける。以上により、記憶ブロック単位に、ホ
スト計算機31〜34がデータを読込むのを禁止/許可
することにより、ホスト計算機31〜34が許可なくデ
ータを読込むのを防ぐ。
【0059】書込みコマンドを発行したホスト計算機3
1〜34に対応する書込み対象の記憶ブロックが書込み
禁止でなければ、読込みコマンドを受け付ける。また、
書込み禁止であれば「書込み禁止」で受け付けできない
旨、書込み応答コマンドでホストインタフェース41〜
44経由ホスト計算機31〜34に知らせる。例えば、
図4に示す書込みコマンド307をホストインタフェー
ス42から外部記憶制御部60が受けた場合、図5のブ
ロック番号0001137の外部メモリ管理テーブル6
2aではホスト計算機32に対し書込み禁止(WENB
が「0」)であるためデータ書込みせずコマンドは「書
込み禁止」で受付できない旨、書込み応答コマンドでホ
ストインタフェース42経由ホスト計算機32に知らせ
る。また、同じ記憶ブロック(0001137)でもホ
スト計算機31から読込むコマンドの場合、図5に示す
ように、外部メモリ管理テーブル62aの内容は書込み
禁止でない(WENBが「1」)ので読込みコマンドを
受け付ける。以上により、記憶ブロック単位に、ホスト
計算機31〜34からのデータ書込みを禁止/許可する
ことにより、ホスト計算機31〜34が許可なくデータ
を書き換えるのを防ぐ。
【0060】次に優先連続書込みの動作について図6を
用いて説明する。図6は図3の優先連続書込みコマンド
205により121個のブロックを優先連続書込む動作
例を示す。優先連続書込みコマンド205はフィールド
1がホスト計算機32(ホストID=2)、フィールド
2がブロック番号0001136、フィールド3がコマ
ンド種別「優先連続書込み」、フィールド4が転送ブロ
ック数121、フィールド5がデータである。ただし、
フィールド5のデータはホストインタフェース42がホ
スト計算機32からDMAチャネル106を使って読み
出す。
【0061】この優先連続書込みコマンド205がホス
ト計算機32からホストインタフェース42に出力され
ると、図6に示すようにホストインタフェース42はこ
の優先連続書込みコマンド205を、1ブロック単位に
分割し、図4の314、315、…、316に示す12
1個の優先連続書込みコマンドを編集する。そして、先
頭の優先連続コマンド314を外部記憶制御部60に出
力すると、外部記憶制御部60は共有バス50に対しホ
ストインタフェース41、43、44にコマンド有無問
い合わせを停止し、以後ホストインタフェース42のみ
にコマンド有無問い合わせを行うよう制御する。
【0062】また、先頭の優先連続コマンド314が指
定するブロック番号01136に図1の73のデータの
流れに示すように、直接磁気ディスク81〜84にデー
タを書込む。
【0063】書込み終わればホストインタフェース42
に優先連続書込み応答コマンドを返す。ホストインタフ
ェース42は書込み応答コマンドを受けると次のブロッ
クの優先連続書込みコマンド315を外部記憶制御部6
0に出力し、上記と同じように書込みコマンドが実行さ
れる。そして、指定のブロック数のデータ転送が終われ
ば外部記憶制御部60は、共有バス50に対しホスト計
算機41〜44にコマンド有無問い合わせを再開させホ
ストインタフェース42に優先連続書込み応答コマンド
を返す。ホストインタフェース42はホスト計算機32
に優先連続書込み応答コマンドを返す。
【0064】この優先転送方法によれば、他のホスト計
算機31、33、34のデータ転送を止めるので、ホス
ト計算機31は待ち合わせなしに、ブロック単位である
が連続的に転送できる。
【0065】実施例2.次に、キャッシュメモリを用い
た場合の実施例を図7を用いて説明する。図において、
70は磁気ディスク81〜84の動作を一時的に肩代わ
りするキャッシュメモリで、半導体メモリで構成され磁
気ディスクより高速に動作する。71,72はキャッシ
ュメモリ70を使用した場合の外部記憶制御部60の内
部のデータの流れを示している。73はキャッシュメモ
リ70を経由しない外部記憶制御部60の内部のデータ
の流れを示している。
【0066】また、外部メモリ管理テーブル62bは実
施例1の外部メモリ管理テーブル62aにキャッシュ制
御に用いる情報(属性値)を付加したものである。ホス
ト計算機31〜34とホストインタフェース41〜44
間で行なう入出力コマンド形式は実施例1の図3と同じ
であるが、キャッシュ制御付加に伴いコマンド種別は例
えば次のようになる。ただし、説明を簡略するため優先
連続読込み、書込みコマンドは省略している。
【0067】 〔データの方向:コマンド〕 〔フィールド値〕 ホストから外部記憶装置:書込み指示 ”0003” ホストから外部記憶装置:書込み指示(write back指定) ”0203” ホストから外部記憶装置:書込み指示(write through指定) ”0303” ホストから外部記憶装置:読込み指示 ”0002” ホストから外部記憶装置:属性の設定指示 ”0001” ホストから外部記憶装置:属性の読込み指示 ”0000” 外部記憶装置からホスト:書込み指示応答 ”1003” 外部記憶装置からホスト:読込み指示応答 ”1002” 外部記憶装置からホスト:属性の設定指示応答 ”1001” 外部記憶装置からホスト:属性の読込み指示応答 ”1000”
【0068】ここで、「書込み指示(write back指定)」
コマンドは外部メモリ管理テーブル62bの設定属性に
かかわらずwrite backキャッシュを行うことを外部記憶
装置40へ指示する。同様に、「書込み指示(write thr
ough 指定)」コマンドは外部メモリ管理テーブル62b
の設定属性にかかわらずwrite throughキャッシュを行
うことを外部記憶装置40へ指示する。
【0069】ホストインタフェース41〜44と外部記
憶制御部60間で行なう入出力コマンド形式は実施例1
の図4と同じであるが、キャッシュ制御付加に伴い上記
と同じようにコマンド種別は例えば次のようになる。た
だし、下記のHIFはホストインタフェース41〜44
を、DCは外部記憶制御部60を示す。
【0070】 〔データの方向:コマンド〕 〔フィールド値〕 HIFからDC:書込み指示、最初のブロックデータ ”0003” HIFからDC:書込み指示、後続のブロックデータ ”0013” HIFからDC:書込み指示,最初のブロックデータ(write back) ”0203” HIFからDC:書込み指示,後続のブロックデータ(write back) ”0213” HIFからDC:書込み指示,最初のブロックデータ(write through)”0303” HIFからDC:書込み指示,後続のブロックデータ(write,through)”0313” HIFからDC:読込み指示 ”0002” HIFからDC:属性の設定指示 ”0001” HIFからDC:属性の読込み指示 ”0000” DCからHIF:書込み指示応答 ”1003” DCからHIF:読込み指示応答、最初のブロックデータ ”1002” DCからHIF:読込み指示応答、後続のブロックデータ ”1012” DCからHIF:属性の設定指示応答 ”1001” DCからHIF:属性の読込み指示応答 ”1000”
【0071】外部メモリ管理テーブル62bは、図8に
示すように、実施例1の外部メモリ管理テーブル62a
に属性値CATB,CRES,ASN,ADRが付加さ
れたもの(RENBは省略している)で、これらの詳細
は以下のとおり。
【0072】属性値CATBは、ホスト計算機31〜3
4から対応する記憶ブロックに書込む際「0」でライト
スルー方式でデータを書込むことを指示し、「1」でラ
イトバック方式でデータを書込むことを指示する。属性
値設定コマンドでライトスルー方式、またはライトバッ
ク方式を設定できる。
【0073】属性値CRESは、常にキャッシュを割り
当てておくか否かを指定するもので、1つの記憶ブロッ
クに対し4つのホスト計算機用の属性値CRESがあ
り、いずれかのホスト計算機31〜34に対応する属性
値CRESが「1」なら、常にキャッシュを割り当てて
おくことを示す。ホスト計算機31〜34に対応する属
性値CRESがすべて「0」のときその記憶ブロックの
キャッシュは他の記憶ブロックにキャッシュを割り当て
るとき全キャッシュ使用中なら、明け渡してもよいこと
を示す。 属性値設定コマンドでCRESを「1」また
は「0」に設定できる。
【0074】フィールド6における属性値ASNはその
記憶ブロックにキャッシュメモリが割り当てられている
かを示すもので、属性値ASNが「1」のとき割当あ
り、「0」のとき割当なしを意味する。属性値ADRは
キャッシュメモリが割り当てられているときそのアドレ
スを示す。
【0075】次に、外部記憶制御部60のキャッシュ制
御動作を図7で説明する。キャッシュを用いて磁気ディ
スク81〜84にデータを書込む方法として ライトス
ルーと ライトバックがあり、ライトスルーは、図7の
71と72のデータの流れで示すようにキャッシュメモ
リ70経由、磁気ディスク81〜84に書込んだら、書
込み完了としてホストインタフェース41〜44に書込
み応答コマンドを返す方法である。
【0076】ライトバック は外部記憶制御部60が図
7の71のデータの流れで示すようにデータをキャッシ
ュメモリ70に高速で書込んだら、書込み完了としてホ
ストインタフェース41〜44に書込み応答コマンドを
返す。キャッシュメモリ70の内容を磁気ディスク81
〜84に書込むのはその記憶ブロックをライトスルーで
書き込んだときか、または他の記憶ブロックにキャッシ
ュを明渡すときに書き込まれる。
【0077】従って、ライトバック 方式はホストイン
タフェース41〜44にとって短時間で書込みが終了こ
とことになる。他方ライトスルー 方式は高速性は期待
できないが ライトバック より確実に書き込まれる。即
ち、 ライトバック ではキャッシュメモリ70の内容が
磁気ディスク81〜84に書込まれないうちに電源断の
障害が起きれば、半導体のキャッシュメモリ70の内容
は消えてしまい磁気ディスク81〜84に書込まれない
ことが起きる。
【0078】書込みコマンドとして、ライトバック指
定、ライトスルー指定および、ライトバックか、ライト
スルーかはコマンドで指定せず、外部メモリ管理テーブ
ル62bの指定によるものがある。ライトバック指定の
書込みコマンドの場合、外部記憶制御部60はコマンド
で指定されたブロック番号に対応する外部メモリ管理テ
ーブル62bのCATBの値にかかわらずライトバック
方式のキャッシュ処理を行う。
【0079】同様に、ライトスルー指定の書込みコマン
ドの場合、外部記憶制御部60はコマンドで指定された
ブロック番号に対応する外部メモリ管理テーブル62b
のCATBの値にかかわらずライトスルー 方式のキャ
ッシュ処理を行う。指定のない書込みコマンドの場合、
外部記憶制御部60はコマンドで指定されたブロック番
号に対応する外部メモリ管理テーブル62bのコマンド
を発行したホスト計算機31〜34に対応するCATB
の値に従い「1」ならライトバック方式で、「0」なら
ライトスルー 方式で書込む。
【0080】読込みコマンドの場合、外部記憶制御部6
0はコマンドで指定するブロック番号対応のキャッシュ
メモリ70から高速で読込み、ホストインタフェース4
1〜44に読込み応答コマンドでデータを転送する。書
込みまたは読み出しにおいてキャッシュメモリ70が割
り当てられていない場合、未使用のキャッシュメモリ7
0を割り当てる。
【0081】外部記憶制御部60は記憶ブロックに対し
キャッシュメモリ70を新しく割り当てた場合、書込み
コマンドなら、ライトバックかライトスルーの指定に基
ずき書込む。読込みコマンドなら、磁気ディスク81〜
84からデータを読込み、キャッシュに書込むと共に、
ホストインタフェース41〜44に読込み応答コマンド
でデータを転送する。従って、この場合は高速のデータ
伝送は期待できない。
【0082】もし、キャッシュメモリ70がすべて使用
中の場合、最後にアクセスされた時点で最も古いもの
を、いわゆるLRU( Least Recentry Used )アルゴ
リズムにより選定し、古いキャッシュの内容を磁気ディ
スクに書き出して使用する。ただし、外部メモリ管理テ
ーブル62bで読み書き対象の記憶ブロックでいずれか
のホスト計算機31〜34がキャッシュ常駐の指定なら
キャッシュ選択の対象から除く。
【0083】例えば、ブロック番号001141のキャ
ッシュメモリが最も古いアクセスとなり、キャッシュメ
モリに空きがなくLRUアルゴリズムにて明け渡さなけ
ればならないとき、図8の外部メモリ管理テーブル62
bにおいてブロック番号001141にキャッシュメモ
リが割り当てられていて、ホスト計算機31〜33は常
駐指定なし(CRES=0)であるが、ホスト計算機3
4の常駐指定(CRES=1)であるので、キャッシュ
メモリを明け渡さず常駐させ、次に古いアクセスのキャ
ッシュを割り当てるようにする。
【0084】次に、書込みコマンドが実行される過程に
着目して、書込み動作を図9を用いて説明する。図9は
図3の201書込みコマンドによりホスト計算機31か
ら3ブロックのデータを外部記憶装置40に書込む動作
例を示す。図3の201に示す書込みコマンドはフィー
ルド1がホスト計算機31(ホストID=1)、フィー
ルド2がブロック番号0001134、フィールド3が
コマンド種別「書込み」、フィールド4が転送ブロック
数3、フィールド5がデータである。ただし、フィール
ド5のデータはホストインタフェース41がホスト計算
機31からDMAチャネル105を使って読み出す。
【0085】この書込みコマンドがホスト計算機31か
らホストインタフェース41に出力されると、図9に示
すようにホストインタフェース41はこの書込みコマン
ド201を、1ブロック単位に分割し、図4の301、
302、303に示す3つの書込みコマンドを編集し、
順次外部記憶制御部60に応答確認を取りながら出力す
る。
【0086】ただし、図4のコマンド301はフィール
ド3のコマンド種別が「書込み、先頭のブロック」”0
003”で、フィールド2のブロック番号は00011
34で、コマンド302、303はそれぞれフィールド
3のコマンド種別が、「書込み、後続のブロック」”0
013”で、フィールド2のブロック番号はそれぞれ、
0001135、0001136である。
【0087】次に、外部記憶制御部60はホストインタ
フェース41から図4の301のコマンドを受けると3
01のフィールド2に示すブロック番号から、フィール
ド4で示す個数分のブロック(0001134〜000
1136)の図8の外部メモリ管理テーブル62bの、
ホスト計算機31〜ホスト計算機34に対応する状態
が、読込み中でなく(RBSY=0)、書込み中でなく
(WBSY=0)、また書込み禁止でない(WENB=
1)なら、ホスト計算機31に対応する状態を書込み中
(WBSY=1)にセットする。
【0088】そして、ブロック番号001134の外部
メモリ管理テーブル62bのホスト計算機31に対する
キャッシュ書込み属性が ライトバック(CATBが
「1」)であるので、この指定に従い、図9のようにブ
ロック番号001134のキャッシュメモリ70にデー
タを書込んだら、ホストインタフェース41に書込み応
答コマンドを返す。
【0089】応答を受けたホストインタフェース41
は、後続のコマンド302を外部記憶制御部60に出力
する。外部記憶制御部60は後続のコマンド302を受
けるとブロック番号001135の外部メモリ管理テー
ブル62bのホスト計算機31に対するキャッシュ書込
み属性が ライトスルー(CATBが「0」)であるの
で、この指定に従い、図9のようにブロック番号001
135のキャッシュメモリ70経由磁気ディスク81〜
84にデータを書込む。そして、ホストインタフェース
41に書込み応答コマンドを返す。
【0090】応答を受けたホストインタフェース41
は、後続のコマンド303を外部記憶制御部60に出力
する。外部記憶制御部60は後続のコマンド303を受
けるとブロック番号001136の外部メモリ管理テー
ブル62bのキャッシュメモリ割当ASNが「0」で、
キャッシュメモリが割り当てられていないので、割り当
てる。そして、ホスト計算機31に対するキャッシュ書
込み属性が ライトバック(CATBが「1」)である
ので、この指定に従い、図9のようにブロック番号00
1136のキャッシュメモリ70にデータを書込んだ
ら、ホストインタフェース41に書込み応答コマンドを
返す。また、3ブロックすべて書込み終えたので、それ
らの記憶ブロックの外部メモリ管理テーブル62bの
「書込み中」を解除(WBSY=0)する。
【0091】ホストインタフェース41は書込みコマン
ド301、302、303に対する書込み応答コマンド
をすべて受けたらホスト計算機31に「書込み完了」の
書込み応答コマンドを出力する。以上により、ブロック
ごとに、ホスト計算機31からキャッシュメモリ書込み
方法を、高速のライトバックか、信頼性の高いライトス
ルーかを任意に指定できる。
【0092】異なるホスト計算機31〜34から、異な
るキャッシュ書込み方法で同一の記憶ブロックに書込む
動作例について図10を用いて説明する。図10はホス
ト計算機32から図3の202書込みコマンドを発行
し、次にホスト計算機31から図3の203書込みコマ
ンドを発行したときの動作を示す。図3の202に示す
書込みコマンドはフィールド1がホスト計算機32(ホ
ストID=2)、203に示す書込みコマンドはフィー
ルド1がホスト計算機31(ホストID=1)で、他の
フィールドは202と203は同じで、フィールド2が
ブロック番号0001135、フィールド3がコマンド
種別「書込み」、フィールド4が転送ブロック数1、フ
ィールド5がデータである。ただし、フィールド5のデ
ータはホストインタフェース41または42がホスト計
算機31または32からDMAチャネル105または1
06を使って読み出す。
【0093】書込みコマンド202がホスト計算機32
からホストインタフェース42に出力されると、図10
に示すようにホストインタフェース42はこの書込みコ
マンド202を図4の書込みコマンド304に編集し、
外部記憶制御部60に出力する。外部記憶制御部60は
ホストインタフェース42から図4の304のコマンド
を受けると304のフィールド2に示すブロック番号0
001135の図8の外部メモリ管理テーブル62b
の、ホスト計算機31〜ホスト計算機34に対応する状
態が、読込み中でなく(RBSY=0)、書込み中でな
く(WBSY=0)、また書込み禁止でない(WENB
=1)なら、ホスト計算機32に対するキャッシュ書込
み属性が ライトバック(CATBが「1」)であるの
でこの指定に従い、図10のようにブロック番号001
135のキャッシュメモリ70にデータを書込む。そし
て、ホストインタフェース42に書込み応答コマンドを
返す。応答を受けたホストインタフェース42は、ホス
ト計算機32に「書込み完了」の書込み応答コマンドを
出力する。
【0094】次に、書込みコマンド203がホスト計算
機31からホストインタフェース41に出力されると、
図10に示すようにホストインタフェース41はこの書
込みコマンド203を図4の書込みコマンド305に編
集し、外部記憶制御部60に出力する。外部記憶制御部
60はホストインタフェース41から図4の305のコ
マンドを受けると305のフィールド2に示すブロック
番号0001135の図8の外部メモリ管理テーブル6
2bの、ホスト計算機31〜ホスト計算機34に対応す
る状態が、読込み中でなく(RBSY=0)、書込み中
でなく(WBSY=0)、また書込み禁止でない(WE
NB=1)なら、ホスト計算機31に対するキャッシュ
書込み属性が ライトスルー(CATBが「0」)であ
るので、この指定に従い、図10のようにブロック番号
001135のキャッシュメモリ70にデータを書込
む、と共に磁気ディスク81〜84に書込む。そして、
ホストインタフェース41に書込み応答コマンドを返
す。応答を受けたホストインタフェース41は、ホスト
計算機31に「書込み完了」の書込み応答コマンドを出
力する。従って、同じ記憶ブロックへの書込みでもホス
ト計算機31〜34ごとに高速のライトバックか、高信
頼のライトスルーかを指定できる。
【0095】次に、読込み動作について図11を用いて
説明する。図11は図3の読込みコマンド204によ
り、3ブロックをキャッシュメモリ70から読込む動作
例を示す。図3の204に示す読込みコマンドはフィー
ルド1がホスト計算機33(ホストID=3)、フィー
ルド2がブロック番号001138、フィールド3がコ
マンド種別「読み込み」、フィールド4が転送ブロック
数3である。図11においてホスト計算機33(ホスト
ID=3)がこの読込みコマンド204をホストインタ
フェース43に出力すると、ホストインタフェース43
はそのコマンド204に従い、図4に示すように、1転
送ブロックに1コマンド計3個のコマンド308、31
0、312を編集し、先頭の読込みコマンド308を外
部記憶制御部60へ出力する。
【0096】外部記憶制御部60は読込みコマンド30
8を受けると図8の外部メモリ管理テーブル62bを参
照し、転送対象のブロック(0001138〜0001
140)について全ホスト計算機31〜34が書込み中
でない(WBSY=0)のでコマンドを受付、転送対象
の全ブロック(0001138〜0001140)を読
込み中(RBSY=1)にする。次に、図11に示すよ
うに1ブロックをキャッシュメモリ70から読込みホス
トインタフェース43へ読込み(データ付き)応答コマ
ンド309を返し、記憶ブロック(0001138)の
読込み中を解除(RBSY=0)する。
【0097】ホストインタフェース43は読込み応答コ
マンド309を受けると、読み込んだデータをDMAチ
ャネル107でホスト計算機33に出力する。そして、
次の記憶ブロック(0001139)の読込みコマンド
310を外部記憶制御部60へ出力する。以下、同様に
ホストインタフェース43は3ブロックの読込み応答コ
マンド309、311、313を受け、読み込んだデー
タをDMAチャネル107を使ってホスト計算機33に
出力し終わると、ホスト計算機33へ読込み応答コマン
ドを出力する。
【0098】なお、上記実施例ではホスト計算機は4台
としたが外部メモリ管理テーブル62bのホスト計算機
用フィールドを追加すれば何台でも使用できる。
【0099】さらに、上記実施例では外部記憶制御部6
0は1つだけの構成であるがバスに接続する形式のため
外部記憶制御部60を2つ以上接続することもでき、総
合的な性能向上、外部記憶制御部60の二重化が容易に
できる。
【0100】
【発明の効果】第一の発明においては、計算機からのデ
ータを記憶ブロックに分割し、計算機対応順にデータを
外部記憶装置に転送するので、一つの計算機が外部記憶
装置を長時間占有しない。
【0101】第二の発明においては、転送ブロックのデ
ータを読込む場合、読込み要求元以外の計算機に対応す
る前記ブロック状態がすでに書込み中ならデータの読込
みを受付けないようにしたので読込みの競合を避けるこ
とができる。
【0102】第三の発明においては、転送ブロックのデ
ータを書込む場合、書込み要求元以外の計算機に対応す
るその転送ブロック状態がすでに書込み中または読込み
中ならデータ書込みを受付けないようにしたので書込み
の競合を避けることができる。
【0103】第四の発明においては、ある記憶ブロック
を管理する計算機がその記憶ブロックからデータを他の
計算機が読めないようにしたい場合、他の計算機に対応
する読込み禁止・許可指示手段を禁止に設定すれば、他
の計算機がその記憶ブロックを読込むコマンドを発行し
ても、読込み禁止・許可指示手段がそのコマンドを受け
付けないので機密保持できる。
【0104】第五の発明においては、ある記憶ブロック
を管理する計算機がその記憶ブロックに他の計算機がデ
ータを書込めないようにしたい場合、他の計算機に対応
する書込み禁止・許可指示手段を禁止に設定すれば、他
の計算機がその記憶ブロックを書込むコマンドを発行し
ても、書込み禁止・許可指示手段がそのコマンドを受け
付けないのでデータ保護ができる。
【0105】第六の発明においては、記憶ブロックのデ
ータを記憶デバイスに書き込むとき、その記憶ブロック
の書込み要求元の計算機に対応する前記キャッシュ書込
み方法指示手段の指示に従いライトスルー書込みかライ
トスルーで書込むようにしたので、計算機ごとかつ、記
憶ブロック単位に信頼性の高い書込みか高速の書込みか
を指定できる。
【0106】第七の発明においては、各計算機対応にキ
ャッシュメモリ常駐指示できるので、各計算機の都合に
合わせて、記憶ブロック単位に常時高速書込みするよう
指示できる。
【図面の簡単な説明】
【図1】 この発明の実施例1による外部記憶装置の構
成図である。
【図2】 ホスト計算機内での入出力命令形式である。
【図3】 ホスト計算機ーホストインタフェース間のデ
ータ形式である。
【図4】 共有バスのデータ形式である。
【図5】 この発明の実施例1による外部メモリ管理テ
ーブルの形式である。
【図6】 この発明の実施例1による優先連続書込みコ
マンドの実行シーケンス図である。
【図7】 この発明の実施例2による外部記憶装置の構
成図である。
【図8】 この発明の実施例2による外部メモリ管理テ
ーブルの形式である。
【図9】 この発明の実施例2による書込みコマンドの
実行シーケンス図である。
【図10】 この発明の実施例2による2つのホスト計
算機からの書込みコマンドの実行シーケンス図である。
【図11】 この発明の実施例2による読込みコマンド
の実行シーケンス図である。
【図12】 従来の外部記憶装置の構成図である。
【図13】 従来のホスト計算機内での入出力命令形式
である。
【符号の説明】
31〜34 ホスト計算機 40 外部記憶装置 41〜44 ホストインタフェース 50 共有バス 60 外部記憶制御部 61 CPU 62a 外部メモリ管理テーブル 63 共有バスインタフェース 64 データ・バスインタフェース 70 キャッシュメモリ 81〜84 記憶デバイス

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数の計算機が共有する以下の構成要素
    を有する外部記憶装置。 1.前記複数の計算機からの第一のコマンドを受け、前
    記第一のコマンドがデータの転送を伴う場合所定の転送
    ブロック長のデータを含んだ第二のコマンドを生成し、
    前記第一のコマンドがデータの転送を伴わない場合前記
    第一のコマンドを第二のコマンドとするコマンド生成手
    段、 2.前記第二のコマンドを前記複数の計算機対応に巡回
    的にサーチするコマンドサーチ手段、 3.前記複数の計算機のうちの一つの計算機の第二のコ
    マンドを受けて処理開始し前記コマンドサーチ手段のサ
    ーチを中断する実行手段、 4.前記実行手段の処理終了後に前記一つの計算機とは
    別の計算機について前記コマンドサーチ手段のサーチを
    再開させるコマンドサーチ再開手段。
  2. 【請求項2】 以下の構成要素を有する請求項1に記載
    の外部記憶装置。 1.前記所定の転送ブロック長を記憶ブロックの単位と
    して前記データを記憶するデータ記憶手段、 2.前記複数の計算機対応に設けられ、前記データ記憶
    手段の記憶ブロックについて読込み中または書込み中か
    を示すブロック状態記憶手段、 3.前記第二のコマンドが読込みを指示している場合、
    前記第二のコマンドが指定する転送対象の記憶ブロック
    について、前記ブロック状態記憶手段がすでに前記第二
    のコマンド発行元以外の計算機が書込み中であると示し
    ているなら前記第二のコマンドを受け付けない読込み競
    合回避手段。
  3. 【請求項3】 以下の構成要素を有する請求項1に記載
    の外部記憶装置。 1.前記所定の転送ブロック長を記憶ブロックの単位と
    して前記データを記憶するデータ記憶手段、 2.前記複数の計算機対応に設けられ、前記データ記憶
    手段の記憶ブロックについて読込み中または書込み中か
    を示すブロック状態記憶手段、 3.前記第二のコマンドが書込みを指示している場合、
    前記第二のコマンドが指定する転送対象の記憶ブロック
    について、前記ブロック状態記憶手段がすでに前記第二
    のコマンド発行元以外の計算機が書込み中または読込み
    中であると示しているなら前記第二のコマンドを受け付
    けない書込み競合回避手段。
  4. 【請求項4】 以下の構成要素を有する請求項2に記載
    の外部記憶装置。 1.前記複数の計算機対応に設けられ、前記データ記憶
    手段の記憶ブロックにつき読込み禁止または許可を指示
    する読込み禁止・許可指示手段、 2.前記第二のコマンドが読込みを指示している場合、
    前記第二のコマンドが指定する転送対象の記憶ブロック
    について、前記第二のコマンド発行元の計算機に対応す
    る前記読込み禁止・許可指示手段が、読込み禁止を指示
    しているなら前記第二のコマンドを受付けず、読込み許
    可を指示しているなら前記第二のコマンドを受付ける読
    込み禁止・許可手段。
  5. 【請求項5】 以下の構成要素を有する請求項3に記載
    の外部記憶装置。 1.前記複数の計算機対応に設けられ、前記データ記憶
    手段の記憶ブロックにつき書込み禁止または許可を指示
    する書込み禁止・許可指示手段、 2.前記第二のコマンドが書込みを指示している場合、
    前記第二のコマンドが指定する転送対象の記憶ブロック
    について、前記第二のコマンド発行元の計算機に対応す
    る前記書込み禁止・許可指示手段が、書込み禁止を指示
    しているなら前記第二のコマンドを受付けず、書込み許
    可を指示しているなら前記第二のコマンドを受付ける書
    込み禁止・許可手段。
  6. 【請求項6】 以下の構成要素を有する請求項1に記載
    の外部記憶装置。 1.前記所定の転送ブロック長を記憶ブロックの単位と
    して前記データを記憶するデータ記憶手段、 2.前記複数の計算機対応に設けられ、前記記憶ブロッ
    クに対するキャッシュメモリにライトバックで書込む
    か、ライトスルーで書込むかを指示するキャッシュ書込
    み方法指示手段、 3.前記第二のコマンドが書込みを指示している場合、
    前記第二のコマンドが指定する書込み対象の記憶ブロッ
    クについて、前記第二のコマンド発行元の計算機に対応
    する前記キャッシュ書込み方法指示手段が、ライトバッ
    ク書込みを指示しているなら前記記憶ブロックのデータ
    をキャッシュメモリに書込み終えたときにコマンド実行
    完了をコマンド発行元の計算機に知らせ、ライトスルー
    書込みを指示しているなら前記記憶ブロックのデータを
    前記データ記憶手段に書込み終えたときにコマンド実行
    完了を前記第二のコマンド発行元の計算機に知らせるキ
    ャッシュ書込み手段。
  7. 【請求項7】 以下の構成要素を有する請求項6に記載
    の外部記憶装置。 1.前記複数の計算機対応に設けられ、前記記憶ブロッ
    クに対しキャッシュ常駐を指示するキャッシュ常駐指示
    手段、 2.前記キャッシュ常駐指示手段にもとずき前記キャッ
    シュメモリを前記記憶ブロックに割り当てるキャッシュ
    常駐手段。
JP6109537A 1994-05-24 1994-05-24 外部記憶装置 Pending JPH07319627A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6109537A JPH07319627A (ja) 1994-05-24 1994-05-24 外部記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6109537A JPH07319627A (ja) 1994-05-24 1994-05-24 外部記憶装置

Publications (1)

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

Family

ID=14512770

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6109537A Pending JPH07319627A (ja) 1994-05-24 1994-05-24 外部記憶装置

Country Status (1)

Country Link
JP (1) JPH07319627A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316653A (ja) * 1999-02-22 1999-11-16 Hitachi Ltd ディスクサブシステム
JP2001014261A (ja) * 1999-06-30 2001-01-19 Nec Corp ファイバチャネル接続磁気ディスク装置およびファイバチャネル接続磁気ディスク制御装置
JP2006092120A (ja) * 2004-09-22 2006-04-06 Hitachi Ltd ストレージ装置及びストレージ装置のライトアクセス処理方法
JP2007183703A (ja) * 2006-01-04 2007-07-19 Hitachi Ltd データの改竄を防止する記憶装置
JP2007293440A (ja) * 2006-04-21 2007-11-08 Toshiba Corp 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
JPWO2005069152A1 (ja) * 2004-01-13 2007-12-27 セイコーインスツル株式会社 メモリインタフェース装置、メモリインタフェース方法、およびモデム装置
CN100428128C (zh) * 2003-09-30 2008-10-22 索尼株式会社 多系统网络和对数据存储器进行存取的设备及方法
JP2008544436A (ja) * 2005-06-23 2008-12-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数の処理ユニットに用いるためのリモート・メディア・キャッシュ最適化システム及び方法(データ処理システム及びコンピュータ・プログラム)
JP2013210847A (ja) * 2012-03-30 2013-10-10 Fujitsu Ltd ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
WO2014147794A1 (ja) * 2013-03-21 2014-09-25 株式会社 日立製作所 ストレージ装置およびデータ管理方法
JP2014230174A (ja) * 2013-05-23 2014-12-08 富士通株式会社 集積回路、制御装置、制御方法、および制御プログラム
WO2016117078A1 (ja) * 2015-01-22 2016-07-28 株式会社日立製作所 ストレージシステム

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316653A (ja) * 1999-02-22 1999-11-16 Hitachi Ltd ディスクサブシステム
JP2001014261A (ja) * 1999-06-30 2001-01-19 Nec Corp ファイバチャネル接続磁気ディスク装置およびファイバチャネル接続磁気ディスク制御装置
US6745281B1 (en) 1999-06-30 2004-06-01 Nec Corporation Fiber channel connection magnetic disk device and fiber channel connection magnetic disk controller
CN100428128C (zh) * 2003-09-30 2008-10-22 索尼株式会社 多系统网络和对数据存储器进行存取的设备及方法
JP2010262663A (ja) * 2004-01-13 2010-11-18 Seiko Instruments Inc メモリインタフェース装置、メモリインタフェース方法、およびモデム装置
JPWO2005069152A1 (ja) * 2004-01-13 2007-12-27 セイコーインスツル株式会社 メモリインタフェース装置、メモリインタフェース方法、およびモデム装置
JP2006092120A (ja) * 2004-09-22 2006-04-06 Hitachi Ltd ストレージ装置及びストレージ装置のライトアクセス処理方法
JP4857338B2 (ja) * 2005-06-23 2012-01-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数の処理ユニットに用いるためのリモート・メディア・キャッシュ最適化システム、方法及びコンピュータ・プログラム
JP2008544436A (ja) * 2005-06-23 2008-12-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数の処理ユニットに用いるためのリモート・メディア・キャッシュ最適化システム及び方法(データ処理システム及びコンピュータ・プログラム)
JP2007183703A (ja) * 2006-01-04 2007-07-19 Hitachi Ltd データの改竄を防止する記憶装置
JP2007293440A (ja) * 2006-04-21 2007-11-08 Toshiba Corp 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
JP2013210847A (ja) * 2012-03-30 2013-10-10 Fujitsu Ltd ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
WO2014147794A1 (ja) * 2013-03-21 2014-09-25 株式会社 日立製作所 ストレージ装置およびデータ管理方法
JP5945065B2 (ja) * 2013-03-21 2016-07-05 株式会社日立製作所 ストレージ装置およびデータ管理方法
US9652165B2 (en) 2013-03-21 2017-05-16 Hitachi, Ltd. Storage device and data management method
JP2014230174A (ja) * 2013-05-23 2014-12-08 富士通株式会社 集積回路、制御装置、制御方法、および制御プログラム
WO2016117078A1 (ja) * 2015-01-22 2016-07-28 株式会社日立製作所 ストレージシステム

Similar Documents

Publication Publication Date Title
JP4890033B2 (ja) 記憶装置システム及び記憶制御方法
JP3878508B2 (ja) 回路群制御システム
JP3612339B2 (ja) データ処理方法および装置
US7958328B2 (en) Computer system, storage system and method for saving storage area by integrating same data
JP4252139B2 (ja) 記憶装置システム
JPH07152491A (ja) 仮想ディスクシステム
JP4521865B2 (ja) ストレージシステム、計算機システムまたは記憶領域の属性設定方法
JPH0727495B2 (ja) データ転送方法
JP2002268933A (ja) クラスタシステム
JP2002117002A (ja) 共用型ペリフェラルアーキテクチャ
JPH07319627A (ja) 外部記憶装置
US8185687B2 (en) Semiconductor storage device and method of controlling semiconductor storage device
US6892283B2 (en) High speed memory cloner with extended cache coherency protocols and responses
US7069394B2 (en) Dynamic data routing mechanism for a high speed memory cloner
US6996693B2 (en) High speed memory cloning facility via a source/destination switching mechanism
JP2007108981A (ja) ストレージ装置及びボリューム間のデータ交換方法
US6845426B2 (en) Disk cache control for servicing a plurality of hosts
JP5381713B2 (ja) 仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラム
CN117806540A (zh) 储存装置控制器及储存装置控制器的方法
JPH06309105A (ja) 読み取り要求サービス方法及びデータ処理システム
JP2005339299A (ja) ストレージ装置のキャッシュ制御方法
US6986013B2 (en) Imprecise cache line protection mechanism during a memory clone operation
JP4506292B2 (ja) キャッシュ制御方法およびデータ処理システム並びにその処理プログラム
JP5334048B2 (ja) メモリ装置および計算機
US6928524B2 (en) Data processing system with naked cache line write operations