(57)【特許請求の範囲】
【請求項１】
データを記憶する複数のディスクドライブからなる記憶媒体と、この記憶媒体に接続された前記記憶媒体から読み出したデータを一時的に格納するキャッシュメモリと、このキャッシュメモリと接続され、且つ、アーキテクチャーの異なる複数のホストコンピュータ毎に配される複数の制御プロセッサとを有する記憶制御装置を有する記憶システムであって、
前記記憶制御装置は、前記複数のホストコンピュータからのデータの書込み要求を受領した場合に、前記異なるアーキテクチャーのうちの１のフォーマット形式で前記記憶媒体にデータを記憶し、前記ホストコンピュータがアクセスしようとするディスクドライブへのアクセスが排他されているかどうかを判定するためのホスト間排他情報を含む複数のドライブ制御情報と、前記複数のホストコンピュータのインタフェース情報が記録されるホストコンピュータインタフェース管理テーブルを有し、
前記複数のホストコンピュータのうちの１のホストコンピュータからアクセス要求を受けた前記制御プロセッサは、前記ドライブ制御情報を参照して、アクセスしようとするディスクドライブへのアクセスが他のホストコンピュータによって排他状態にあるかどうかを判定し、
排他されていない場合に、前記ホストコンピュータインタフェース管理テーブルを参照してそのホストコンピュータのインタフェースが前記１のフォーマット形式と異なることからデータの変換を必要とするものであるかどうかを判定し、前記１のフォーマット形式と異なるために変更が必要なものであると判定された場合には、前記データを変換して前記ホストコンピュータからのアクセス要求に応答し、変換が不要と判定された場合には前記データを変更することなく前記ホストコンピュータからのアクセス要求に応答することを特徴とする記憶システム。
【請求項２】
請求項１記載の記憶システムにおいて、
前記ドライブ制御情報は、前記制御プロセッサがアクセスしようとするディスクドライブへのアクセスが排他されているかどうかを判定するための制御プロセッサ間排他情報を含み、
前記ホストコンピュータからアクセス要求を受けた前記制御プロセッサは、前記ドライブ制御情報を参照して、アクセスしようとするディスクドライブへのアクセスが他の制御プロセッサによって排他状態にあるかどうかを判定し、
排他されていない場合に、アクセスしようとするディスクドライブへのアクセスが他のホストコンピュータによって排他状態にあるかどうかの判定を行うことを特徴とする記憶システム。
【請求項３】
請求項１記載の記憶システムにおいて、
前記記憶制御装置にサービスプロセッサを接続し、
該サービスプロセッサにより選択された前記制御プロセッサが、前記ホストコンピュータインタフェース管理テーブルを該サービスプロセッサから転送される修正情報により修正することを特徴とする記憶システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、異なる各種ホストコンピュータ入出力インタフェイスを有するホストコンピュータ間で、このホストコンピュータの入出力データを記憶する各種記憶媒体上のデータの共有を可能とするサブシステムに関する。
【０００２】
【従来の技術】
近年、メインフレームで処理してきた業務の一部を部門サーバ（例えば、ＵＮＩＸサーバなど）へダウンサイジング、あるいは、部門に情報系システムを組み込む等、メインフレームとオープンシステムベースの部門システムを連携するケースが増えてきている。
このような時、メインフレームのデータフォーマット（ＣＫＤフォーマット）とＵＮＩＸサーバのデータフォーマット（ＦＢＡフォーマット）のホストコンピュータ入出力インタフェイスの違いが、データ変換するためのプログラム開発を必要としたり、ホストコンピュータ間でデータ交換を必要としたり、あるいは、ホストコンピュータ入出力インタフェイス毎に専用の記憶制御装置が必要になるなど幅広いコンピュータシステム構成を構築しにくい。
このような影響を解決するために考案された方式の１つに、例えば、１つのシステム内に複数のコンピュータを包含するハードウエア構成を採用することにより、ＣＰＵ（中央処理装置）アーキテクチャの制限なく各種のプログラムを実行可能とする統合計算機システムが、特開昭６０−２５４２７０号に開示されている。
【０００３】
【発明が解決しようとする課題】
前述した特開昭６０−２５４２７０号に開示された従来の技術では、アーキテクチャの異なるＣＰＵがマスタスレーブ関係を持っており、ハードウエアスイッチにより、スレーブ側のＣＰＵを選択し、システムバスを占有して、記憶媒体への入出力動作を実行するため、アーキテクチャの異なる他のスレーブ側のＣＰＵが同時に記憶媒体を使用することが排他的に抑止される。したがって、選択されたＣＰＵが長時間使用すると、システム共通の資源である記憶媒体やシステムバスが長時間占有される不利益が生じる。
また、磁気ディスク装置内のファイルは、アーキテクチャの異なるＣＰＵ毎に区分して、格納してあるため、アーキテクチャの異なるＣＰＵ間では磁気ディスク装置上の同一ファイルを共有することは不可能である。
以上のように、従来の技術では、アーキテクチャの異なるホストコンピュータが記憶媒体を共用して使用することが可能となってはいるが、アーキテクチャの異なるホストコンピュータ間で記憶媒体が排他されるため、ファイルサブシステムの使用効率が著しく低下する一つの要因となっていた。また、異なるホストコンピュータ入出力インタフェイスを有するホストコンピュータ間では、データ共有が不可能であるという不利益は未解決のまま残る。
【０００４】
本発明の目的は、異なる各種ホストコンピュータ入出力インタフェイスを有するホストコンピュータからのデータアクセス要求に対し、データ変換の必要があればデータ変換を施すことにより、異なるホストコンピュータ入出力インタフェイスを有するホストコンピュータの記憶媒体へのデータアクセス要求が可能となり、異なるホストコンピュータ入出力インタフェイスを有するホストコンピュータ間で、記憶媒体上のデータが共有可能とし、ファイルサブシステムの拡張性、データの即時性を向上させ、幅広いコンピュータシステム構成を構築可能とするサブシステムを提供することである。
本発明の別の目的は、サブシステムへ各種ホストコンピュータ入出力インタフェイス、各種記憶媒体入出力インタフェイスを追加するという増設、および、サブシステムから各種ホストコンピュータ入出力インタフェイス、各種記憶媒体入出力インタフェイスを削減するという減設を可能とするサブシステムを提供することである。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、本発明は、
サブシステムであり、データを記憶する記憶媒体と、この記憶媒体とホストコンピュータとの間に位置し前記ホストコンピュータのデータ形式及び前記記憶媒体のデータ形式を管理するテーブルと、このテーブルと前記ホストコンピュータとの間に位置し前記ホストコンピュータのデータ形式と前記記憶媒体のデータ形式とが異なるときに前記ホストコンピュータからのデータを前記記憶媒体のデータ形式に変換する制御プロセッサとを備えるようにしている。
また、サブシステムであり、データを記憶する記憶媒体と、この記憶媒体とホストコンピュータとの間に位置し前記ホストコンピュータのデータ形式及び前記記憶媒体のデータ形式を管理するテーブルと、このテーブルと前記ホストコンピュータとの間に位置し前記ホストコンピュータのデータ形式と前記記憶媒体のデータ形式とが異なるときに前記記憶媒体からのデータを前記ホストコンピュータのデータ形式に変換する制御プロセッサとを備えたサブシステム。
また、前記いずれかのサブシステムにおいて、前記テーブルは前記記憶媒体を管理する情報を格納する共用メモリ内に設けられるようにしている。
また、前記いずれかのサブシステムにおいて、前記テーブルはサービスプロセッサによって設定、更新、または解除されるようにしている。
また、サブシステムであり、データを記憶する記憶媒体と、この記憶媒体に接続され前記データの入出力を制御するインターフェースと、このインターフェースに接続され前記記憶媒体から読み出したデータを一時的に格納するキャッシュメモリと、このキャッシュメモリと接続され且つホストコンピュータと接続された制御プロセッサとを有し、この制御プロセッサは、前記キャッシュメモリに格納されたデータのデータ形式と前記ホストコンピュータのデータ形式とが異なるときには前記キャッシュメモリに格納されたデータを前記ホストコンピュータのデータ形式に変換してから前記ホストコンピュータに転送するようにしている。
【０００６】
【発明の実施の形態】
以下、本発明の実施例を、図面により詳細に説明する。
図１は、本発明の動作原理を示す説明図であり、異なる各種ホストコンピュータ入出力を持つ複数のホストコンピュータと、該ホストコンピュータからの入出力を制御する記憶制御装置と、該ホストコンピュータの入出力データを記憶する各種記憶媒体から構成されるコンピュータシステムの構成図である。
図１において、異なる各種ホストコンピュータ入出力インタフェイスを持つ複数のホストコンピュータＡ１００、Ｂ１０１、および、Ｃ１０２は、記憶制御装置１０３を介して、磁気ディスク装置１１７、磁気テープ装置１１８、および、フロッピーディスク装置１１９に接続されている。
ホストコンピュータＡ１００、Ｂ１０１、および、Ｃ１０２と磁気ディスク装置１１１、磁気テープ装置１１２、および、フロッピーディスク装置１１３との間のデータ転送を制御するのは、記憶制御装置１０３内に内蔵された制御プロセッサ１０４、１０５、１０６、１０８、１０９、１１０である。
すなわち、制御プロセッサ１０４、１０５、および、１０６がホストコンピュータＡ１００、Ｂ１０１および、Ｃ１０２の入出力データ転送要求を実行し、制御プロセッサ１０８、１０９、および、１１０が、磁気ディスク装置１１１、磁気テープ装置１１２、フロッピーディスク装置１１３への入出力データ転送要求を実行する。
全ての制御プロセッサ１０４、１０５、１０６、１０８、１０９、１１０は、信号線１０７を介して、互にデータ、および、制御信号をやり取りする。
【０００７】
図２は、本発明の概要を説明するための図である。以下、図２を用いて本発明の概要を説明する。
図２において、異なるホストコンピュータ入出力インタフェイスを有するホストコンピュータＡ２００、Ｂ２０１、および、記憶媒体２０３が、記憶制御装置２１０に接続される。記憶制御装置２１０はデータアクセス手段２０２を具備する。
ホストコンピュータＡ２００、Ｂ２０１からの記憶媒体２０３へのアクセス要求２０４（ライト）、２０５（リード）、２０６（ライト）、２０７（リード）は、記憶制御装置２１０に対して発行され、これらのアクセス要求はデータアクセス手段２０２により実行される。
ホストコンピュータＡ２００からのライトアクセス要求２０４が発行された場合には、データアクセス手段２０２はライトデータのデータ変換が必要であれば、データ変換を行い、変換後のデータを記憶媒体２０３に書き込み、データ変換が必要なければ、ライトデータをそのまま記憶媒体２０３に書き込む（２０８）。
ホストコンピュータＡ２００からのリードアクセス要求２０５が発行された場合には、データアクセス手段２０２は記憶媒体からデータを読み出し、リードデータのデータ変換が必要であれば、データ変換を行い、変換後のデータをホストコンピュータＡに転送し、データ変換が必要なければ、リードデータをそのままホストコンピュータＡに転送する。
ホストコンピュータＢ２０１からのアクセス要求に対する処理も、上記ホストコンピュータＡ２００からのアクセス要求に対する処理と同様に行われる。
以上により、異なる各種ホストコンピュータ入出力インタフェイスを有するホストコンピュータ間で、記憶媒体上のデータを共有可能とすることができる。
【０００８】
図３は、本発明の一実施例を示すキャッシュメモリ付きディスクサブシステムの構成図である。
図３において、ディスク制御装置３０２は、上位側で、チャネル制御装置３０１を通して、ホストコンピュータ３００と接続され、また、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙａｔｅｍ  Ｉｎｔｅｒｆａｃｅ（略してＳＣＳＩ）バス制御装置３０４を通して、ホストコンピュータ３０３と接続される。
なお、本実施例では、ホストコンピュータ３００は、メインフレーム系のコンピュータ（ＣＫＤデータフォーマット）で、ホストコンピュータ３０３は、ＵＮＩＸ系のコンピュータ（ＦＢＡデータフォーマット）とする。
下位側では磁気記憶媒体であるドライブ３１５、３１６と接続される。
【０００９】
ディスク制御装置３０２はドライブ３１５、３１６上でホストコンピュータ３００、３０３の要求に応じてデータのリード、ライトを行う。
ホストコンピュータ３００、３０３とドライブ３１５、３１６との間のデータ転送を制御するのは、ディスク制御装置３０２内に内蔵された制御プロセッサ３０５、３０６、３１０、３１１である。
制御プロセッサ３０５、３０６は、チャネル制御装置３０１、ＳＣＳＩバス制御装置３０４を介してホストコンピュータ３００、３０３に接続し、制御プロセッサ３１０、３１１は、、ドライブインタフェース３１３、３１４を介してドライブ３１５、３１６と接続する。
主に、制御プロセッサ３０５、３０６は、ホストコンピュータ３００、３０３とキャッシュメモリ３０９との間のデータ転送を行い、制御プロセッサ３１０、３１１は、キャッシュメモリ３０９とドライブ３１５、３１６との間のデータ転送を行う。
【００１０】
共通制御メモリ３０７は、全ての制御プロセッサ３０５、３０６、３１０、３１１からアクセス可能な共通メモリであり、ディスク制御装置３０２がドライブ３１５、３１６を管理するための共通制御情報３１８、３１９が格納してある。この共通制御情報３１８、３１９の具体的な説明は後述する。
キャッシュメモリ３０９は、全ての制御プロセッサ３０５、３０６、３１０、３１１からアクセス可能なメモリであり、ドライブ３１５、３１６から読み出したデータを一時的に格納するために用いる。キャッシュスロット３１２は、キャッシュメモリ３０９のデータ管理単位である。
制御プロセッサ３０５、３０６、３１０、３１１は信号線３０８を介して、キャッシュメモリ３０９、共通制御メモリ３０７と互いにデータ、および制御信号をやり取りする。
【００１１】
制御プロセッサ３０５、３０６は、また、サービスプロセッサ３１７と接続される。
サービスプロセッサ３１７から共通制御メモリ３０７内の共通制御情報３１８、３１９の更新を指示すると、サービスプロセッサ３１７が、制御プロセッサ３０５、３０６のいずれかを選択して、更新要求を送り、選択された方の制御プロセッサが共通制御メモリ３０７内の共通制御情報３１８、３１９の更新を行う。
【００１２】
次に共通制御情報について説明する。
共通制御情報には、ドライブ制御ブロック４００とホストコンピュータインタフェース管理情報テーブル５００がある。以下、順に説明する。
図４は、ドライブ制御ブロック（Ｄｅｖｉｃｅ  Ｃｏｎｔｏｒｏｌ  Ｂｌｏｃｋ；略してＤＣＢ）４００を示す。ＤＣＢ４００は、各ドライブに１対１に対応する数だけあり、４つのデータが格納されている。
４つのデータ、各ドライブをディスク制御装置３０２が識別するためのドライブ番号４０１、プロセッサ間排他情報４０２、ホスト間排他情報４０３、ドライブ空き待ち情報４０４である。
プロセッサ間排他情報４０２は、制御プロセッサ３０５または、３０６が、他の制御プロセッサからのＤＣＢアクセスを排他制御するときに使用し、指定されたドライブ番号のＤＣＢに対するアクセス権を確保しているときは、そのプロセッサ番号を設定し、該ＤＣＢに対するアクセス権を解放するときには、プロセッサ番号を解除する。
また、ホスト間排他情報４０３は、ホストコンピュータ３００または、３０３が他のホストコンピュータからドライブアクセスを排他制御するときに使用し、指定されたドライブ番号のアクセス権を確保中は、‘ｏｎ’に設定し、該アクセス権を解放するときは、‘ｏｆｆ’に設定する。
ドライブ空き待ち情報４０４は、ホストコンピュータ３００または、３０３が指定されたドライブ番号のＤＣＢを使用中に、他のホストコンピュータが該ＤＣＢに対するアクセス権の確保要求をし、該ＤＣＢ使用中を報告されたとき、該ＤＣＢが解放されたときに、該ＤＣＢが空いたことをホストコンピュータへ通知するための情報である。
【００１３】
図５は、ホストインタフェース管理情報テーブル５００を示す。
制御プロセッサの番号５０１毎に、接続されているホストインタフェース情報５０２が管理されている。本情報を元にデータ変換するか否かを決定する。
本実施例では、制御プロセッサ３０５（図５中の５０３）は、ＣＫＤフォーマット５０６、制御プロセッサ３０６（図５中の５０４）は、ＦＢＡフォーマット５０７を管理している。なお、本管理情報テーブル５００は、サービスプロセッサ３１７からの指示により、設定、解除される。
【００１４】
次に、本発明によるディスク制御装置３０２内の制御プロセッサ３０５、３０６、３１０、３１１の動作を説明する。
図６は、データアクセス処理部（６００）のメインフローである。
まず、ホストコンピュータ３００からのデータアクセスコマンドを制御プロセッサ３０５が、受領すると、指定されたドライブ番号のＤＣＢに対するアクセス権を確保するＤＣＢ処理を行う（６０１）。
ＤＣＢ確保が成功したか否かの判定をする（６０２）。失敗すれば、データアクセス処理を終了する（６１６）。成功すれば、以下の処理を行う。
まず、キャッシュスロット確保処理を行う（６０３）。次いで、データアクセスコマンドがライトコマンドかリードコマンドかを判定する（６０４）。
【００１５】
ライトコマンドであれば、以下の処理を実行する。
【００１６】
制御プロセッサに接続されているホストコンピュータインタフェースがＣＫＤフォーマットかＦＢＡフォーマットかをホストコンピュータインタフェース管理情報テーブル５００（図５）を参照し（６１０）、判定する（６１１）。
本実施例の場合、制御プロセッサ３０５は、ＣＫＤフォーマット５０６、制御プロセッサ３０６は、ＦＢＡフォーマット５０７である。
ＣＫＤフォーマットであれば、ＣＫＤデータをＦＢＡデータに変換し（６１２）、その後、キャッシュスロット３１２へ変換されたライトデータを書き込み（６１３）、ＦＢＡフォーマットであれば、ＦＢＡデータをそのままキャッシュスロット３１２へ書き込む。
その後、キャッシュスロットを解放し（６１４）、ＤＣＢを解放する（６１５）。
【００１７】
受領コマンドが、リードコマンドであれば、以下の処理を実行する。
まず、キャッシュメモリに読み出しデータが有るか判定する（６１７）。
データが有れば、（６０５）以下の処理を行い、データが無ければ、▲１▼の処理を行う。
▲１▼の処理は、制御プロセッサ３０５、３０６がドライブからのデータの読み出しを制御プロセッサ３１０、３１１に指示し、制御プロセッサ３１０、３１１がドライブインタフェース３１３、３１４を介してドライブからデータを読み出し、キャッシュメモリのキャッシュスロットに書き込む処理である。なお、この処理は図６のフローチャートでは省略している。
【００１８】
次に、（６０５）以下の処理を説明する。
まず、キャッシュスロット３１２上のデータを読み出す（６０５）。
次いで、制御プロセッサ３０５、３０６に接続されているホストコンピュータインタフェースがＣＫＤフォーマットかＦＢＡフォーマットかをホストコンピュータインタフェース管理情報テーブル５００（図５）を参照し（６０６）、判定する（６０７）。
ＣＫＤフォーマットであれば、読み出したデータをＦＢＡデータをＣＫＤデータに変換し（６０８）、ホストコンピュータ３００へデータ転送する（６０９）。
ＦＢＡフォーマットであれば、キャッシュスロット３１２から読み出したデータをそのままホストコンピュータ３０３へデータ転送する。
続いて、キャッシュスロット３１２を解放し（６１４）、ＤＣＢを解放する（６１５）。
なお、キャッシュスロット３１２上のライトデータは、制御プロセッサ３１０、３１１が、ホストコンピュータ３００、３０３の動作とは、非同期に、ドライブ３１５、３１６へ書き込む。すなわち、制御プロセッサ３１０、３１１が、キャッシュメモリを探索し、キャッシュスロットにドライブに書き込むべきデータがあるとき、そのデータをドライブに書き込む。
【００１９】
図７は、図６におけるＤＣＢ確保処理（６０１）の処理フロー（７００）である。まず、指定されたドライブ番号４０１に対応するＤＣＢ４００のプロセッサ間排他情報４０２を設定する（７０１）。次にホスト間排他情報４０３が‘ｏｎ’か否か判定する（７０２）。‘ｏｎ’でなければ、ホスト間排他情報４０３を‘ｏｎ’に設定し（７０３）、リターンコードに確保成功を設定する（７０４）。続いて、プロセッサ間排他情報４０２を解除し（７０８）、ＤＣＢ確保処理（７００）を終了する（７０９）。既に‘ｏｎ’であれば、以下の処理を行なう。ホストコンピュータにＤＣＢ使用中を報告する（７０５）。次に、ＤＣＢ４００のＤＣＢ空き待ち情報４０４へＤＣＢ使用中を報告したホストコンピュータを記録する（７０６）。リターンコードに確保失敗を設定し（７０７）、その後、プロセッサ間排他情報４０２を解除する（７０８）。
【００２０】
図８は、図６におけるＤＣＢ解放処理（６１５）の処理フロー（８００）である。
まず、解放要求のあるドライブ番号４０１のＤＣＢ４００のプロセッサ間排他情報４０２を設定する（８０１）。
次に、ホスト間排他情報４０３を解除する（８０２）。
次に、ＤＣＢ４００の空き待ち情報４０４に登録されているホストコンピュータがあるか否か判定する（８０３）。
無ければ、プロセッサ間排他情報４０２を解除し（８０５）、ドライブ解放処理（８００）を終了する（８０６）。
有れば、登録されているホストコンピュータへＤＣＢが空いたことを報告する（８０４）。
これにより、片方のホストコンピュータに偏ってＤＣＢが使用されることを防ぐことができる。その後、プロセッサ間排他情報を解除する（８０５）。
【００２１】
上記に説明した実施例において、記憶媒体として磁気ディスク装置を用いたが、磁気ディスク装置の代わりに、磁気テープ装置やフロッピーディスク装置を用いても上記に説明したデータアクセス処理を実現することができる。
【００２２】
また、ホストコンピュータは、ホストコンピュータの入出力要求を処理する制御プロセッサ、および、記憶媒体への入出力を処理する制御プロセッサ単位に、記憶制御装置への増設、および、記憶制御装置から減設が可能である。
【００２３】
【発明の効果】
以上の実施例に示したように、本発明によれば、記憶制御装置が、異なる各種ホストコンピュータ入出力インタフェイスを有するホストコンピュータ間で、記憶媒体上のデータを共有することが可能となり、ファイルサブシステムの拡張性やデータの即時性が高まる。
また、一台の記憶制御装置で異なる各種ホストコンピュータ入出力インタフェイスを有するホストコンピュータや該ホストコンピュータの入出力データを記憶する各種記憶媒体が接続可能となるため、幅広いコンピュータシステム構成が構築可能となる。
【図面の簡単な説明】
【図１】本発明の原理を示すコンピュータシステムの構成図である。
【図２】本発明の概要を説明するための図である。
【図３】本発明の一実施例のディスクサブシステムの構成図である。
【図４】ドライブ制御ブロックの構成図である。
【図５】ホストコンピュータインタフェース管理情報の１例を示す図である。
【図６】データアクセス処理のフローチャートを示す図である。
【図７】ＤＣＢ確保処理のフローチャートを示す図である。
【図８】ＤＣＢ解放処理のフローチャートを示す図である。
【符号の説明】
１００〜１０２、３００、３０３  ホストコンピュータ
１０３  記憶制御装置
１０４〜１０６、１０８〜１１０、３０５〜３０６、３１０〜３１１  制御プロセッサ
１１１  磁気ディスク装置
１１２  磁気テープ装置
１１３  フロッピーディスク装置
１０７、３０８  信号線
３０１  チャネル装置
３０４  ＳＣＳＩバス制御装置
３０７  共通制御メモリ
３１８  ドライブ制御ブロック（ＤＣＢ）
３０９  キャッシュメモリ
３１２  キャッシュスロット
３１３〜３１４  ドライブインタフェース
３１５〜３１６  ドライブ
３１７  サービスプロセッサ
【図１】
0003781212.tif 000002
【図２】
0003781212.tif 000003
【図３】
0003781212.tif 000004
【図４】
0003781212.tif 000005
【図５】
0003781212.tif 000006
【図６】
0003781212.tif 000007
【図７】
0003781212.tif 000008
【図８】
0003781212.tif 000009