JP3753598B2 - 計算機、計算機システムおよびデータ転送方法 - Google Patents

計算機、計算機システムおよびデータ転送方法 Download PDF

Info

Publication number
JP3753598B2
JP3753598B2 JP2000205509A JP2000205509A JP3753598B2 JP 3753598 B2 JP3753598 B2 JP 3753598B2 JP 2000205509 A JP2000205509 A JP 2000205509A JP 2000205509 A JP2000205509 A JP 2000205509A JP 3753598 B2 JP3753598 B2 JP 3753598B2
Authority
JP
Japan
Prior art keywords
data
storage device
computer
format
logical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000205509A
Other languages
English (en)
Other versions
JP2002023958A (ja
Inventor
康友 山本
高 大枝
貴彦 庄山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000205509A priority Critical patent/JP3753598B2/ja
Priority to US09/798,324 priority patent/US7058692B2/en
Publication of JP2002023958A publication Critical patent/JP2002023958A/ja
Application granted granted Critical
Publication of JP3753598B2 publication Critical patent/JP3753598B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、それぞれ異なるフォーマットでデータを記憶する記憶装置が用いられるホスト装置間でのデータ転送技術に関する。
【0002】
【従来の技術】
メインフレームホストには、外部記憶装置として、可変長レコードのデータフォーマットでデータを記憶する磁気ディスク装置が用いられている。従来のこの種の磁気ディスク装置は、可変長レコードのデータアクセスを可能とするCKD(Count Key Data)インタフェースを有している。つまり、従来、可変長レコードフォーマットのデータは、CKDインタフェースを有する磁気ディスク装置上に物理的に実現されていた。
【0003】
しかし、近年になって、可変長レコードのデータの記憶装置として、パーソナルコンピュータやワークステーションといったオープン系ホストで用いられているる、比較的安価な、固定長ブロック(FBA:Fixed Block Architecture)フォーマットでデータを記憶する磁気ディスク装置が用いられるようになってきている。例えば、このような磁気ディスク装置を複数用いて構成されるRAID(Redundant Array of Inexpensive Disks)が広く使われるようになってきている。RAIDは、シカゴのイリノイ大学で開かれたACM SIGMOD会議において発表された論文「D.Patterson,G.Gibson, and R.H.Kartz; A Case for Redundant Arrays of Inexpensive Disks(RAID), ACM SIGMOD Conference, Chicago, IL, (June 1988), pp.109-116」に記載されているように、比較的安価で信頼性の低いディスク装置を複数台接続し、データを複数のディスク装置に分配して配置することで、データ転送の並列化による性能向上や、冗長データを保持することによる高可用性を実現するものである。
【0004】
ところで、ホストが認識するディスク装置は、実際のディスク装置あるいは複数のディスク装置で構成されたRAIDに格納される、見せかけのディスク装置である。以後、これらの二階層のディスク装置を区別するため、ホストから認識されるディスク装置を論理ディスク装置と呼び、CKDインタフェースを有しCKDフォーマットデータを格納する実際のディスク装置や、FBAフォーマットでデータを記憶する実際のディスク装置を物理ディスク装置と呼ぶこととする。
【0005】
また、メインフレームホストで用いられる可変長レコードフォーマットのことをCKDフォーマットと呼び、CKDインタフェースを有しCKDフォーマットでデータを記憶するディスク装置をCKDディスク装置と呼び、そして、FBAフォーマットでデータを記憶するディスク装置をFBAディスク装置と呼ぶこととする。
【0006】
また、ホストから認識されるCKDディスク装置を論理CKDディスク装置と呼び、ホストから認識されるFBAディスク装置を論理FBAディスク装置と呼ぶこととする。さらに、実際のCKDディスク装置を物理CKDディスク装置と呼び、実際のFBAディスク装置を物理FBAディスク装置と呼ぶこととする。
【0007】
また、論理FBAディスク装置と物理FBAディスク装置とを区別しない場合には、単にFBAディスク装置と呼び、論理CKDディスク装置と物理CKDディスク装置とを区別しない場合には、単にCKDディスク装置と呼ぶこととする。ここで、論理FBAディスク装置と物理FBAディスク装置、および、論理CKDディスク装置と物理CKDAディスク装置は、それぞれ一致していてもよい。
【0008】
さて、上述したように、RAIDに用いられる物理FBAディスク装置は、SCSI等のインタフェースを有し、FBAフォーマットでデータを記憶する。したがって、メインフレームホストに接続して、CKDインタフェースからCKDフォーマットのデータを受け取り、FBAフォーマットの物理ディスク装置に書き込む記憶装置サブシステムでは、CKDフォーマットからFBAフォーマットへの変換およびその逆変換機構を、内部に備えることが必要となる。
【0009】
例えば、「メインフレーム’98」、日経BP社、p53-54には、SCSIインタフェースを有し、FBAディスク装置を筐体に内蔵するメインフレームについて記載されている。このメインフレームでは、CPUからCKDフォーマットデータアクセスのコマンド群(CCW:Channel Command Word)として発行される入出力要求を、内蔵ディスク装置の入出力制御を専門に担当する制御プロセッサが受信/解釈し、FBAフォーマットデータアクセスのコマンド群(SCSIコマンド)に変換して、FBAディスク装置への入出力を行う。この変換機構により、従来CKDディスク装置を前提とするアプリケーションプログラムやOSなどを変更することなく、メインフレームコンピュータの外部記憶装置として、FBAディスク装置を利用することが可能となる。なお、この種のフォーマットの変換機構の別の例としては、例えば特開平6-150557号公報記載のものが知られている。
【0010】
ところで、昨今、販売実態の把握や市場ニーズの解析による経営上の意思決定支援を目的として、メインフレームホストを使用する基幹系情報システムが保持する業務データに対するOLAPやデータマイニングのニーズが高まっている。これに従い、メインフレームコンピュータのCKDディスク装置を利用したデータベース等に蓄えた基幹業務データを、PCやワークステーションへ転送し、流用するといったデータ連携機能が重要となっている。
【0011】
そして、このようなメインフレームコンピュータのCKDディスク装置に記憶されたデータを、オープン系ホストへ転送する方法の一つとしては、LAN等のネットワークを介してホスト同士で転送する方法が考えられる。しかし、この方法では、両ホストやネットワークに負荷がかかり、他業務の実行速度低下等の悪影響を及ぼす可能性がある。そこで、特開平9-258908号公報記載の技術では、次のようにして、このようなデータ転送を行っている。
【0012】
物理FBAディスク装置と記憶装置コントローラよりなる記憶装置を、メインフレームホストとオープン系ホストの双方にそれぞれ接続する。この記憶装置は、記憶装置コントローラの動作により、物理FBAディスク装置を、メインフレームホストに対しては論理CKDディスク装置Aと認識させ、オープン系ホストに対しては論理FBAディスク装置Bと認識させる。
【0013】
まず、メインフレームホストは、他のCKDディスク装置に格納されている転送対象データを読み出し、中間データを作成して、論理CKDディスク装置Aに格納する。このとき、記憶装置コントローラは、メインフレームホストからの論理CKDディスク装置への転送データ書き込み要求に応じ、転送データをCKDフォーマットからFBAフォーマットへ変換して、物理FBAディスク装置へ書き込む。この変換は、変換後のFBAフォーマットのデータ中に、CKDフォーマットのカウント部やデータ部を含んだままの態様で行われる。
【0014】
次に、オープン系ホストが、中間データが書き込まれた論理FBAディスク装置Bの中間データに対してアクセスを要求する。記憶装置コントローラは、物理FBAディスク装置から、アクセスを要求された中間データを読み出し、FBAフォーマットのままオープン系ホストに転送する。
【0015】
オープン系ホストは、転送されたFBAフォーマットデータに含まれるCKDフォーマットデータを認識して、カウント部等を含まない必要なデータのみの抽出や、漢字コード変換などの処理を行ったのち、そのデータを利用する。
【0016】
【発明が解決しようとする課題】
上述の特開平9-258908号公報記載の技術によれば、メインフレームホストのCKDディスク装置に記憶されたデータを、オープン系ホストへ転送するために、CKDディスク装置から読み出した転送対象データの物理FBAディスク装置への書き込みと、前記転送対象データの前記物理FBAディスク装置からの読み出しとの合計2回の入出力が必要となる。このため、データ転送に時間がかかる。
【0017】
そこで、本発明は、それぞれ異なるフォーマットのデータを扱うホスト装置間でのデータ転送を、より高速に行うことを課題とする。
【0018】
【課題を解決するための手段】
前記課題達成のために、本発明では、第1のフォーマットに従ったデータへのアクセスコマンドを発行するプロセッサと、メモリと、を備えた計算機に以下の構成を採用する。
【0019】
すなわち、他の計算機から、前記第1のフォーマットとは異なる第2のフォーマットに従ったデータへのアクセスコマンドを受け取るインターフェースと、前記プロセッサが発行した、前記第1のフォーマットに従ったデータのライトコマンドに従い、前記データを受け取って、前記メモリに格納する第1のコマンド処理手段と、前記他の計算機が発行した、前記第2のフォーマットに従ったデータのリードコマンドに従い、前記第1のコマンド処理手段で格納したデータを前記メモリから読み出して、前記他の計算機に転送する第2のコマンド処理手段と、を設ける。
【0020】
このような計算機によれば、本計算機から他の計算機へのデータ転送は、本計算機において、プロセッサが発行した第1のフォーマット(例えば可変長フォーマット)に従ったデータのライトコマンドにより、当該データをメモリに格納し、他の計算機が発行した第2のフォーマット(例えば固定長フォーマット)に従ったデータのリードコマンドにより、前記メモリに格納したデータを転送することにより実現される。
【0021】
すなわち、本計算機のプロセッサは、転送対象データの入手後、物理的な記憶装置と入出力する必要がない。したがって、より高速なデータ転送が可能となる。また、このような、本計算機のプロセッサによるメモリへのデータ書き込みと、他の計算機によるメモリからのデータ読み込みとは、その発行元が元々対応している記憶装置向け形式のアクセスにより実現されるので、その発行元に関してアーキテクチャ上の修正の必要がない。したがって、既存の資源を活用することができる。
【0022】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。
【0023】
まず、本発明の第1実施形態について説明する。
【0024】
図1に、本発明の第1実施形態に係る計算機システムの構成を示す。
【0025】
図示するように、本実施形態の計算機システムは、メインフレームホスト100と、メインフレームホスト100に接続されたFBAディスク装置150と、メインフレームホスト100に接続されたCKDディスク装置151と、オープン系ホスト160と、オープン系ホスト160に接続されたFBAディスク装置152と、を有する。
【0026】
メインフレームホスト100は、少なくとも1つのCPU101と、少なくとも1つの記憶制御プロセッサ102と、主記憶103と、少なくとも1つのFBAデータアクセス部104と、少なくとも1つのCKDデータアクセス部105と、少なくとも1つのFBAデータアクセス受信部106と、を有する。
【0027】
オープン系ホスト160は、CPU120を有する。CPU120上では、アプリケーションプログラムによるアプリケーションプロセスとOSが動作する。OSは、アプリケーションプロセスが動作する際のメモリ割り当て等の制御やファイルシステム等の管理を行う。アプリケーションプロセスからの外部記憶装置へのアクセスは、このOSを介して行われる。本実施形態では、アプリケーションプロセスの1つとして、フォーマット変換処理部125を含む転送データ転送処理部124がCPU101上に構築される。
【0028】
オープン系ホスト160およびメインフレームホスト100は、FBAアクセス通信線170と通信線140とにより、互いに接続している。ここで、FBAアクセス通信線170は、例えばSCSIバスであり、通信線140はLAN等である。
【0029】
さて、メインフレームホスト100において、CPU101上では、データベースマネージメントシステム等のアプリケーションプログラムによるアプリケーションプロセスとOSが動作する。OSは、アプリケーションプロセスが動作する際のメモリ割り当て等の制御やファイルシステム等の管理を行う。アプリケーションプロセスからの外部記憶装置へのアクセスは、このOSを介して行われる。本実施形態では、アプリケーションプロセスの1つとして、転送データ作成処理部121がCPU101上に構築される。
【0030】
主記憶103は、各CPU101が使用するデータやプログラムを格納する領域、および、FBAディスク装置150との入出力に用いるディスクキャッシュ領域107が割り当てられる。また、主記憶150には、ディスクキャッシュ107上のデータを管理するキャッシュ管理情報108と、各ディスク装置を管理する記憶装置管理情報109とを格納する。
【0031】
記憶制御プロセッサ102は、OS等のホストプログラムに対して、FBAディスク装置150を論理CKDディスク装置としてエミュレートするCKDコマンド処理部122を有する。
【0032】
通常、ホストプログラムからはCKDディスク装置しか扱えない。このため、CKDコマンド処理部122は、ホストプログラムがFBAディスク装置150を論理CKDディスク装置としてアクセスできるようするために、ディスクキャッシュ107と、FBAディスク装置150と、後述する記憶装置管理情報109と、を用いて、論理CKDディスク装置をエミュレートする。
【0033】
具体的には、CKDコマンド処理部122は、CKDディスク装置へのアクセス要求の受領、後述するディスクキャッシュ107を利用したFBAディスク装置150との入出力の他、論理CKDディスク装置とFBAディスク装置150とのマッピング管理等も行う。
【0034】
また、記憶制御プロセッサ102は、オープン系ホスト160に対して、FBAディスク装置150を論理FBAディスク装置としてエミュレートするFBAコマンド処理部123を有する。FBAコマンド処理部123は、FBAアクセス受信部106を介してオープン系ホスト160から論理FBAディスク装置へのアクセス要求を受け付け、後述するディスクキャッシュ107を利用したFBAディスク装置150との入出力を行う。
【0035】
また、記憶制御プロセッサ102は、ディスクキャッシュ107上のデータの無効化を制御する無効化処理部129を有する。
【0036】
FBAデータアクセス部104は、メインフレームホスト100とFBAディスク装置150とを接続し、その間のFBAフォーマットのアクセスインタフェースコマンドおよびデータの転送を行う。
【0037】
CKDデータアクセス部105は、メインフレームホスト100とCKDディスク装置151とを接続し、その間のCKDフォーマットのアクセスインタフェースコマンドおよびデータの転送を行う。
【0038】
FBAデータアクセス受信部106は、オープン系ホスト160とメインフレームホスト100とを接続し、オープン系ホスト160から送信されるFBAフォーマットのアクセスインタフェースコマンドを受信し、記憶制御プロセッサ102に引き渡す。また、メインフレームホスト100およびオープン系ホスト160間におけるアクセス対象データの転送を制御する。
【0039】
通信線140は、メインフレートホスト100とオープン系ホスト160との間で通信を行うために用いられる。本実施形態では、中間データ生成完了通知等、イベント通知にのみ用いる。このため、特に高速なものや広帯域なものを適用する必要はない。
【0040】
FBAアクセス通信線170は、FBAデータアクセス部104とFBAディスク装置150との間や、FBAデータアクセス受信部106とオープン系ホスト160との間や、オープン系ホスト160とFBAディスク装置152との間を接続する通信線である。この通信線170上で、FBAディスク装置用のSCSIなどの通信プロトコルを用いた通信が行われる。
【0041】
CKDアクセス通信線171は、CKDデータアクセス部105とCKDディスク装置151との間を接続する通信線である。この通信線171上で、CKDディスク装置用の通信プロトコルを用いた通信が行われる。
【0042】
なお、FBAアクセス通信線170およびCKDアクセス通信線171は、メタルケーブルを用いたパラレルチャネルでも、あるいは、光ファイバ等を用いたシリアルチャネルでもよい。
【0043】
次に、FBAディスク装置150の記録フォーマットであるFBAフォーマットと、FBAディスク装置150を用いてエミュレートされる論理CKDディスク装置の記録フォーマットであるCKDフォーマットとの関係について説明する。
【0044】
図2(a)に示すように、論理CKDディスク装置の記憶領域は、固定長の複数のCKDトラックで構成される。各CKDトラックは1個のホームアドレス(HA)510と1個以上のレコード500とで構成される。HA510は、各CKDトラックの先頭に位置する最初のフィールドである。
【0045】
各レコード500は1個以上のフィールド、すなわちカウント部501と、データ部502と、さらに場合によってはデータ部の前にキー部(図示せず)とが存在する。カウント部501は、固定長のフィールドで、そのレコード500のアドレスや後続するフィールド(上記のデータ部502とキー部)の長さなどが格納される。各レコード500は、可変長であること、つまりデータ部502の長さがレコード500毎に異なっていてもよいことが許されている。このため、カウント部501に、そのレコードのデータ部502およびキー部の長さが格納され、このカウント部501を見れば、そのレコード500の各フィールドの長さが判るようになっている。レコード500のアドレスは、シリンダ番号とヘッド番号とレコード番号の組、すなわちトラック先頭から付与されたシーケンシャルな番号の組みで示される。
【0046】
一方、図3に示すように、FBAディスク装置150の記憶領域は、複数のFBAトラックで構成される。各FBAトラックは、あらかじめ定められた固定長の領域であるブロック600で構成されており、各ブロック600は、FBAディスク装置150内で一意に番号付けされている。したがって、FBAディスク装置150のある領域にアクセスする際には、その領域の先頭ブロック600の番号と、それに後続するブロック600の個数とを指定すればよい。
【0047】
さて、本実施形態では、このようなFBAディスク装置150で論理CKDディスク装置をエミュレートする。このために、論理CKDディスク装置上の各CKDトラックに、FBAフォーマット上のブロック600をCKDトラック容量分割り当て、この割り当てたブロック600それぞれに、対応するCKDトラックの内容を記憶する。
【0048】
この割り当ては次のように行う。
【0049】
まず、図2(b)に示すように、CKDトラックを固定長のブロック600の大きさと等しい領域に分割し、番号0で示される先頭のブロック600に、シリンダ番号0とヘッド番号0とで示される先頭CKDトラックの先頭領域を割り当てる。以降、後続するブロック600にCKDトラック上の後続する領域を割り当てていき、先頭のCKDトラックの全領域が割り当てられると、後続するブロック600には次トラック、すなわちシリンダ番号0とヘッド番号1とで示されるCKDトラックの先頭領域を割り当てる。以下、同様にして、各CKDトラックの全領域を各ブロック600に対応付ける。
【0050】
この場合、各CKDトラックの長さは、論理CKDディスク装置のタイプによって固定的に定めらるので、以下の数式を用いれば、トラックアドレスからそのCKDトラックを格納している先頭のブロック600番号と、トラック当りのブロック数とを求めることができる。
【0051】
Figure 0003753598
ここで<x>は、x以上の最小の整数である。例えば、ブロック600の容量を2048バイト、CKDトラックの容量を52キロバイト、そして、ヘッド数を15とすると、トラック当たりのブロック数は、<25.39…>であるから26となる。また、シリンダ番号0とヘッド番号1とで示されるCKDトラックの先頭ブロック番号は26となり、シリンダ番号100とヘッド番号5とで示されるCKDトラックの先頭ブロック番号は39130となる。
【0052】
以下では、1つのCKDトラックが割り当てられたブロック600の組をブロックグループと呼ぶ。
【0053】
次に、メインフレームホスト100の主記憶103上のディスクキャッシュ領域107、キャッシュ管理情報108および記憶装置管理情報109について説明する。
【0054】
まず、記憶装置管理情報109について説明する。
【0055】
記憶装置管理情報109は、FBAディスク装置150と論理CKDディスク装置との対応等を示す情報を保持する。具体的には、各論理CKDディスク装置について、当該論理CKDディスク装置に割り当てられているFBAディスク装置150の番号と容量、当該CKDディスク装置の機器種別、トラック長、シリンダ数およびヘッド数等の情報を格納する。逆に、各FBAディスク装置150について、当該FBAディスク装置150に割り当てている論理CKDディスク装置の番号を格納する。なお、論理CKDディスク装置が割り当てられていないFBAディスク装置150のエントリには、未割当を示す情報が格納される。
【0056】
前述したように、このような記憶装置管理情報109に基づいて、CKDコマンド処理部122は、FBAディスク装置150を論理CKDディスク装置としてエミュレートする。
【0057】
次に、ディスクキャッシュ107について説明する。
【0058】
ディスクキャッシュ107には、FBAディスク装置150からリードしたデータや、FBAディスク装置150へのライトデータ等を一時的に格納する。
【0059】
図4に、ディスクキャッシュ107の構成例を示す。
【0060】
図示した例では、ディスクキャッシュ107は、セグメント200と呼ばれる固定長の小領域に等分割される。1つのセグメント200は、1ブロックグループ(CKDトラック)を格納する。
【0061】
次に、キャッシュ管理情報108について説明する。
【0062】
キャッシュ管理情報108は、ディスクキャッシュ107を管理するために用いる情報で、各ブロックグループへのセグメント200割り当て状態等の管理情報を格納する。
【0063】
図5にキャッシュ管理情報108に含まれるキャッシュ割り当て情報300を、そして、図6にキャッシュ管理情報108に含まれるセグメント管理情報410を示す。
【0064】
図5において、キャッシュ割り当て情報300は、FBAディスク装置150の各ブロックグループに対してセグメント200を割り当て済みかを示す、全ブロックグループ数分のセグメント管理情報ポインタ301からなる。セグメント200未割当てのブロックグループのセグメント管理情報ポインタ301には、NULL値が設定され、セグメント200割り当て済みのブロックグループのセグメント管理情報ポインタ301には、当該セグメント200の、後述するセグメント管理情報410の位置をポイントする。
【0065】
有効セグメント管理情報キューポインタ302、空きセグメント管理情報キューポインタ303および常駐セグメント管理情報キューポインタ304は、それぞれのキューのルートポインタである。ここで、有効セグメント管理情報キューは、ブロックグループに割り当て済みのセグメント管理情報410をセグメント管理情報410中のポインタにより順次ポイントすることで構成されるキューであり、空きセグメント管理情報キューは、ブロックグループに未割り当てのセグメント管理情報410をセグメント管理情報410中のポインタにより順次ポイントすることで構成されるキューである。また、常駐セグメント管理情報キューは、ブロックグループに割り当て済みで且つ当該ブロックグループが常駐指定されているセグメント管理情報410を、セグメント管理情報410中のポインタにより順次ポイントすることで構成されるキューである。
【0066】
キャッシュ常駐情報305は、各ブロックグループについてキャッシュ常駐を指示されているか否かを示す情報である。ここで、キャッシュ常駐とは、所定期間あるいはキャッシュ常駐情報305で指定される期間、ディスクキャッシュ107に保持されることを意味する。なお、キャッシュ常駐情報305は、各ブロックグループつまり各CKDトラック毎に、指示有無を示すフラグとしてもよい。あるいは、キャッシュ常駐を指示されている範囲毎に、そのブロックグループに割り当てられているCKDトラックの先頭トラックアドレスとトラック数を示すものとしてもよい。本実施形態では、キャッシュ常駐情報305は、CPU101上で動作するアプリケーションプロセスからのチャネルコマンド等を用いた常駐指示や、サービスプロセッサからの常駐指示などに従って、記憶制御プロセッサ102が設定する。この常駐指示では、常駐の対象とするブロックグループの範囲に対応するCKDトラックの範囲を、論理CKDディスク装置番号と対象範囲を示す先頭CKDトラックアドレスおよびトラック数等とにより、常駐範囲として指定する。なお、常駐範囲の解除も、CPU101上で動作するアプリケーションプロセスからのチャネルコマンド等を用いた常駐指示や、サービスプロセッサからの常駐指示などに従って、記憶制御プロセッサ102がキャッシュ常駐情報305を変更することにより行う。
【0067】
図6において、セグメント管理情報410は、ディスクキャッシュ107の各セグメント200に対応して、それぞれ設けられる。セグメント管理情報410中の割当てブロックグループ400は、対応するセグメント200を割当てたブロックグループに割り当てらているCKDトラックのCKDディスク装置番号および当該ディスク装置内アドレスを格納する。セグメントポインタ401は、対応するセグメント200のディスクキャッシュ107内アドレスを格納する。バリッドフラグ402は、当該セグメント200に格納しているデータが有効か否かを示す。FBAディスク装置150からリードしたブロックグループを当該セグメント200に格納したときなどに、このバリッドフラグ402をオンに設定し、当該セグメント200のキャッシュ割り当てを解除するときにオフに設定する。未反映フラグ403は、当該セグメント200に格納しているブロックグループに対して行った変更(ライト)を実行中であること、あるいは、当該変更が障害等の何らかの理由によりFBAディスク装置150に未反映であることを示す。セグメントキューポインタ404は、実際には、有効セグメント管理情報キューポインタ、空きセグメント管理情報キューポインタおよび常駐セグメント管理情報キューポインタよりなり、前述した有効セグメント管理情報キューや空きセグメント管理情報キューなどを構成するため、各キュー中で次に位置するセグメント管理情報410の位置を示すポインタである。常駐フラグ405は、そのセグメント200に対して常駐指示がなされているか否かを表す。
【0068】
さて、以上のような、ディスクキャッシュ107とキャッシュ管理情報108を用い、無効化処理部129は、各セグメント管理情報410を監視する。そして、常駐フラグ405で常駐が指示されているセグメント管理情報410に対応するセグメント200へのライトに対し、ライトデータをディスク装置に書き込んだ後も、所定期間あるいはキャッシュ常駐情報305で指定される期間、当該データをディスクキャッシュ107から破棄せずに常駐させる。一方、常駐フラグ405で常駐が指示されていないセグメント管理情報410に対応するセグメント200へのライトに対しては、ライトデータをディスク装置に書き込んだ後、LRU方式など周知の方法で当該データのキャッシュ滞留期間を制御する。
【0069】
次に、このような構成におけるFBAディスク装置150またはFBAディスク装置150に対応する論理CKDディスク装置と、CKDディスク装置151へのアクセス動作について説明する。
【0070】
なお、以下では、CKDディスク装置151やFBAディスク装置150がエミュレートする論理CKDディスクのアクセスインタフェースのコマンドがCCWであり、FBAディスク装置150のアクセスインタフェースのコマンドがSCSIコマンドであるとして説明する。
【0071】
また、以下では、説明の明瞭化のため、メインフレームホスト100上のホストプログラムのFBAディスク装置150に対応する論理CKDディスク装置へのアクセス単位をCKDトラックとし、オープン系ホスト160のFBAディスク装置150へのアクセス単位をブロックグループとした場合について説明する。
【0072】
まず、メインフレームホスト100上のホストプログラムが、CKDディスク装置151へアクセスする場合、CPU101から直接CKDデータアクセス部105を介してCKDディスク装置151にリード要求のCCWが送られ、CKDフォーマットデータへのアクセスが行われる。すなわち、リードアクセスの場合はCKDディスク装置151からCKDフォーマットデータを読み出してアクセス要求元に転送し、ライトの場合はアクセス要求元から受け取ったCKDフォーマットデータのCKDディスク装置151へ書込む。
【0073】
次に、メインフレームホスト100上のホストプログラムがFBAディスク装置150によってエミュレートされる論理CKDディスク装置へアクセスする場合、記憶制御プロセッサ102のCKDコマンド処理部122が、CPU101からリード/ライト要求のCCWを受領する。これを受領した、CKDコマンド処理部122は、図7に示す処理を行う。
【0074】
すなわち、まず、ステップ801で、CPU101から受領したリード/ライト要求のCCWに対して、アクセス対象CKDトラックが割り当てられているFBAディスク装置150上のブロックグループのアドレスを算出する。具体的には、アクセス位置として指定された論理CKDディスク装置番号と記憶装置管理情報109により、論理CKDディスク装置に対応するFBAディスク装置150上の先頭位置を求める。そして、これを基準とし、アクセス位置として指定されたCKDトラックサイズとCKDトラック番号とにより、前述した(式2)に従いアクセス対象CKDトラックが割り当てられているブロックグループを求める。以下、アクセス対象CKDトラックが割り当てられているブロックグループをアクセス対象ブロックグループと呼ぶこととする。
【0075】
ステップ802では、アクセスコマンド種別を判定する。リードコマンドであるならばステップ803へ移行し、ライトコマンドであるならステップ820へ移行する。
【0076】
ステップ803では、アクセス対象ブロックグループに対してセグメント200が割り当てられているか否かを、キャッシュ管理情報108を参照してチェックする。そして、未割り当ての場合はステップ804へ移行し、セグメント200を割り当てる。セグメント割り当ては、空きセグメント管理情報キューに接続しているセグメント管理情報410を1つ選んで、有効セグメント管理情報キューへ移し、キャッシュ割当情報300のセグメント管理情報ポインタ301に、当該セグメント管理情報410のアドレスを登録することにより行う。
【0077】
ステップ805では、キャッシュ管理情報108よりアクセス対象ブロックグループが常駐指定範囲であるか否かをチェックする。常駐指定範囲内であるならば、ステップ806へ移行して、アクセス対象ブロックグループに割り当てたセグメント管理情報410の常駐フラグ405をONにし、このセグメント管理情報410を常駐セグメント管理情報キューに接続する。
【0078】
ステップ807では、アクセス対象ブロックグループに割り当てたセグメント200のセグメント管理情報301内のバリッドフラグ402がONであるか否かをチェックし、当該セグメント200内にアクセス対象ブロックグループが格納されているか否かを判定する。格納されている場合をキャッシュヒット状態、格納されていない状態をキャッシュミス状態と呼ぶこととする。キャッシュミス状態の場合は、ステップ808に移行して、アクセス対象ブロックグループをリードするリード要求のSCSIコマンドを、FBAディスク装置150に発行する。これにより、当該アクセス対象ブロックグループをFBAディスク装置150から読み出して、アクセス対象ブロックグループに割り当てたセグメント200へ格納する。そして、このセグメント200のセグメント管理情報301のバリッドフラグ402をONにする。
【0079】
ステップ809では、当該セグメント200に格納されているデータをCPU101がデータ領域として使用している主記憶103上の領域に転送する。
【0080】
ステップ810では、CPU101から要求された入出力処理の完了をCPU101に報告する。なお、CPU101に対する報告は、CPU101へ完了を示す割り込みを発行することで行う。
【0081】
一方、ステップ802でライト要求と判定された場合、まず、ステップ820〜ステップ824の処理フローを行う。ステップ820〜ステップ823は、リード処理のステップ803〜ステップ806と同じである。
【0082】
ステップ824では、アクセス対象ブロックグループに割り当てられたセグメント200に対して、ライトデータを転送し格納して、未反映フラグ403とバリッドフラグ402をONにする。ステップ825では、当該セグメント200に格納されたライトデータをアクセス対象ブロックグループへライトするライト要求のSCSIコマンドをFBAディスク装置150に発行する。そして、ライトデータの書き込みが完了すると、当該セグメント管理情報410の未反映フラグ403をOFFにする。最後に、ステップ810で、CPU101から要求された入出力処理の完了をCPU101に報告する。
【0083】
次に、オープン系ホスト160がFBAディスク装置150によりエミュレートされる論理FBAディスク装置にアクセスする場合、FBAアクセス受信部106は、オープン系ホスト160からリード/ライトアクセス要求のSCSIコマンドを受信し、これを記憶制御プロセッサ100のFBAコマンド処理部123に渡す。これを受領したFBAコマンド処理部123は、図8に示す処理を行う。
【0084】
すなわち、まず、ステップ901では、SCSIコマンドが指定するブロック番号からFBAディスク装置150のアクセス対象ブロックグループを求める。本実施形態では、FBAディスク装置150によりエミュレートされる論理FBAディスク装置のあるブロック番号のブロックは、FBAディスク装置150の同ブロック番号のブロックにマッピングするものとする。この場合、SCSIコマンドが指定するブロック番号から、直接、FBAディスク装置150のアクセス対象ブロックグループが求まる。なお、ステップ902〜ステップ908は、第7図のステップ802〜ステップ808と同じなので、説明は省略する。
【0085】
ステップ909では、セグメント200に格納されている、あるいは、ステップ908でセグメント200に格納したアクセス対象ブロックグループのデータを、オープン系ホストへ転送する。
【0086】
ステップ910では、オープン系ホスト160に対して要求入出力処理の完了を報告する。報告は、FBAデータアクセス受信部106を介して行われる。
【0087】
ステップ920〜ステップ925は、第7図のステップ820〜ステップ825と同じなので、説明は省略する。
【0088】
以下、このような計算機システムにおいて、メインフレームホスト100からオープン系ホスト160にCKDディスク装置151のデータを転送する動作について説明する。
【0089】
この転送は、メインフレームホスト100のCPU101が転送データ生成処理部121を用いてその結果をオープン系ホスト160に通知し、通知を受けたオープン系ホスト160のCPU120が、データ転送処理を行うことによりなされる。
【0090】
まず、転送データ生成処理部121での処理について説明する。
【0091】
なお、転送データ生成処理部121での処理の前提として、前述した常駐指示により、FBAディスク装置150によってエミュレートされる論理CKDディスク装置の全体、あるいは、後述する中間データを格納するのに使うCKDトラックの範囲を、常駐範囲として、あらかじめ指定することにより、これに対応するブロックグループの常駐を設定しておく。
【0092】
転送データ生成処理部121は、図9に示すように、まず、ステップ701で、転送対象となるデータが格納されたCKDディスク装置151から転送対象データを読み出して、主記憶103に格納する。このとき、転送データ生成処理部121は、リード要求のCCWを発行し、CKDアクセス部105を介してCKDディスク装置151からCKDフォーマットの対象データを読み出す。
【0093】
ステップ702では、主記憶103に読みこんだCKDフォーマットのデータ130を元に、CKDフォーマットの中間データを生成する。中間データは、CKDフォーマットのデータ130のレコード部500を汎用形式に変換したものである。このような変換が必要ない場合には、読みこんだCKDフォーマットのデータ130をそのまま中間データとしてもよい。
【0094】
ステップ703では、FBAディスク装置150によってエミュレートされる論理CKDディスク装置の常駐指示で指定された常駐範囲中のCKDトラックへの、生成した中間データのライト要求のCCWを発行する。これを受けて、CKDコマンド処理部122は、FBAディスク装置150によってエミュレートされる論理CKDディスク装置にCKDフォーマットの中間データを書込む。
【0095】
ステップ704では、対象となるデータ全てについて以上の処理が完了したかをチェックして未完の場合はステップ701から処理を繰り返す。全領域に対してステップ701〜703の処理が完了した場合はステップ705へ進む。
【0096】
ステップ705では、転送データ生成完了をオープン系ホスト160へ通知する。この通知には、中間データを格納した論理CKDディスク装置番号やトラックサイズ、その他のオープン系ホスト16で中間データの論理CKDディスク装置内アドレスを特定するための情報を含める。ここでは、論理CKDディスク装置内アドレスを特定可能な情報としては、中間データを格納する先頭トラック番号とトラック数を用いる。
【0097】
次に、このような通知を受けたオープン系ホスト160では、データ転送処理部124が以下の処理を行う。
【0098】
すなわち、データ転送処理部124は、図10に示すように、まず、ステップ1001で、メインフレームホスト100から送られてきた、中間データを格納する論理CKDディスク装置番号および論理CKDディスク装置内での中間データ位置特定情報を元に、当該中間データの、FBAディスク装置150によってエミュレートされる論理FBAディスク装置でのアドレスを算出する。
【0099】
具体的には、たとえば、論理CKDディスク装置のFBAディスク装置150上の先頭位置を求める。そして、これを基準としてトラックサイズと先頭トラック番号により、前述した(式2)に従って中間データが記憶されているFBAディスク装置150上の先頭ブロックのアドレスを求める。また、トラック数より、前述した(式1)に従って中間データが記憶されているFBAディスク装置150上でのブロック数を求める。本実施形態では、FBAディスク装置150によりエミュレートされる論理FBAディスク装置のあるブロック番号のブロックは、FBAディスク装置150の同ブロック番号のブロックにマッピングするものとしているので、FBAディスク装置150のアドレスが、FBAディスク装置150によってエミュレートされる論理FBAディスク装置でのアドレスとなる。なお、以上のような中間データを格納する論理CKDディスク装置番号、および、論理CKDディスク装置内での中間データ位置特定情報を元に、FBAディスク装置150によってエミュレートされる論理FBAディスク装置での中間データのアドレスを算出する上で必要となるその他の情報は、あらかじめ、オープン系ホストに設定しておくか、メインフレームホストからオープン系ホストに、論理CKDディスク装置番号とトラックサイズ、および、その他の論理CKDディスク装置内アドレスを特定するための情報と共に通知するようにする。
【0100】
ステップ1002では、求めた論理FBAディスク装置でのアドレスを対象とするリード要求のSCSIコマンドをメインフレームホスト100に発行する。このリード要求は、メインフレームホスト100のFBAデータアクセス部106を介して記憶制御プロセッサ102に渡され、その結果、メインフレームホスト100より中間データがデータ転送処理部124に転送される。
【0101】
次に、ステップ1003では、フォーマット変換部125により、転送された中間データに含まれるカウント部501を検索して、データ部502を特定し、データ部502のみを切り出す。このとき、オープン系ホスト160でデータ部502を利用するために必要となる漢字コードの変換などを同時に実行してもよい。そして、ステップ1004では、ステップ1003で切り出しコード変換を施したデータをFBAディスク装置152へライトする。
【0102】
ステップ1005では、中間データを全て処理したかを判定し、完了の場合は処理を終了し、未完の場合はステップ1002へ戻る。
【0103】
さて、ここで、以上のような転送処理の流れをまとめると、次のようになる。
【0104】
すなわち、まず、CPU101の転送データ生成処理部121により、CKDディスク装置151から対象データを読み上げ、中間データ131を生成して、これを、FBAディスク装置150によりエミュレートされる論理CKDディスク装置上の、あらかじめ常駐が設定された範囲に書き込む。この論理CKDディスク装置への書き込みには、記憶制御プロセッサ102のCKDコマンド処理部122が行う。このとき、CKDコマンド処理部122は、あらかじめなされた常駐指示による設定に従い、当該中間データをディスクキャッシュ107に常駐させる。中間データ131を生成したら、転送データ生成処理部121は、生成完了をオープン系ホスト160へ通知する。オープン系ホスト160では、転送データ生成処理部121からの通知を受けて、データ転送処理部124が起動する。データ転送処理部124は、メインフレームホスト100に対して、FBAディスク装置150がエミュレートする論理FBAディスク装置に対する中間データのリード要求を行う。このリード要求は、FBAデータアクセス受信部106により受信され、記憶制御プロセッサ102へ渡される。記憶制御プロセッサ102では、FBAコマンド処理部123によりリード処理が行われ、ディスクキャッシュ107に常駐しているデータがディスクキャッシュ107より読み出されて、オープン系ホスト160へ転送される。
【0105】
以上、本発明の第1実施形態について説明した。
【0106】
以下、本発明の第2の実施形態について説明する。
【0107】
本実施形態は、上記の第1実施形態ではオープン系ホスト160で行っていた、中間データ131からのデータ部502の切り出しや漢字コード変換を、メインフレームホスト100側で行うようにしたものである。
【0108】
すなわち、図11に示すように、本実施形態では、まず、上記の第1実施形態と同様に、CPU101の転送データ作成処理部1110により、中間データ131を作成して論理CKDディスク装置へ書き込む。そして、記憶制御プロセッサ102のCKDコマンド処理部122により、中間データ131をディスクキャッシュ107へ常駐させる。その後、記憶制御プロセッサ102に設けたフォーマット処理部1120により、CKDフォーマットで格納されている中間データ131からデータ部502を切り出し、かつ漢字コード変換などを施して、変換済みデータ1130を生成する。それから、別途、ディスクキャッシュ107上に常駐させる。この処理が完了したならば、フォーマット処理部1120は、変換済みデータ1130のアドレスをオープン系ホスト160へ通知する。オープン系ホスト160では、データ転送処理124により、変換済データをリードする。
【0109】
より具体的には、本実施形態では、転送データ作成処理部1110で、図12に示す処理を行う。
【0110】
すなわち、ステップ1201〜1204を、上記の第1実施形態に係る図9のステップ701〜704の処理と同様に行った後、ステップ1205で、中間データ生成完了を記憶制御プロセッサ102へ通知し、フォーマット変換処理部1120を起動させる。この完了通知には、中間データ131を格納した論理CKDディスク装置番号やトラックサイズ、および、中間データを特定可能な情報が付加される。
【0111】
また、記憶制御プロセッサ102に設けたフォーマット処理部1120により、図13に示す処理を行う。
【0112】
すなわち、まず、ステップ1301で、転送データ作成処理部1110から送られてきた中間データ位置情報を元に、対象論理CKDディスク装置とアドレスを算出する。そして、ステップ1302で、対象となる中間データ131が、ディスクキャッシュ107に存在しない場合には、これをディスクキャッシュ107へリードする。
【0113】
次に、ステップ1303で、ディスクキャッシュ107上の中間データ131に対して、カウント部501を検索してデータ部502を特定し、データ部502のみを切り出す。このとき、漢字コードの変換などを同時に実行してもよい。
【0114】
そして、ステップ1304で、ステップ1303で切り出しコード変換等を施した変換済み中間データ1130を、論理CKDディスク装置に割り当てられていない別のFBAディスク装置150bへライトする。このとき、当該FBAディスク装置150bの全体あるいは当該データ1130を格納する領域分を、ディスクキャッシュ107へ常駐させる。なお、中間データ131をディスクキャッシュ107から読み出してフォーマット変換したものを、直接、FBAディスク装置150bに割り当てられたディスクキャッシュ107へ格納してもよい。
【0115】
次に、ステップ1305では、中間データを全て処理したかを判定し、完了の場合はステップ1306へ、未完の場合はステップ1302へ、それぞれ移行する。
【0116】
ステップ1306では、転送データ作成処理部1110に、変換済み中間データ1130の生成完了をオープン系ホスト160へ通知させ、データ転送処理部1160を起動させる。この完了通知には、変換済み中間データ1130を格納した論理FBAディスク装置150bの番号と先頭ブロック番号およびサイズとが付加される。
【0117】
オープン系ホスト160のデータ転送処理部1160では以下の処理を行う。
【0118】
すなわち、図14に示すように、まず、ステップ1401で、転送データ作成処理部1110より通知されたFBAディスク装置150b上の変換済みデータのアドレスに従い、変換済みデータ1130へのリードをメインフレームホスト100に発行する。これにより、変換済みデータ1130をリードする。このリード要求は、メインフレームホスト100のFBAデータアクセス部106を介して記憶制御プロセッサ102に渡され、処理されて、その結果、変換済みデータ1130がオープン系ホスト160に転送される。ステップ1402では、リードしたデータをオープン系ホスト160に接続したFBAディスク装置152へライトする。そして、ステップ1403では、中間データを全て処理したかを判定し、完了の場合は本処理を終了、未完の場合はステップ1401へ移行する。
【0119】
以上、第2実施形態について説明した。
【0120】
上記の各実施形態によれば、CKDディスク装置151に格納されている転送対象データを、FBAディスク装置150によりエミュレートされる論理CKDディスク装置へのライトにより、ディスクキャッシュに存在せしめ、オープン系ホスト160からの、FBAディスク装置150によりエミュレートされる論理FBAディスク装置へのリードにより、転送対象データを、ディスクキャッシュからオープン系ホスト160に転送する。
【0121】
したがって、実際の物理的なディスク装置への入出力はCKDディスク装置151からの読み出しの1回で済む。よって、従来に比べ、高速な転送が可能となる。また、このような転送に際して、常駐制御を含めたディスクキャッシュ制御およびFBAデータアクセスインタフェースからのFBAアクセス要求を受信/解析/処理するのは、記憶制御プロセッサであり、このような転送に際して、CPUで動作するアプリケーションおよびOSは単に、FBAディスク装置150によりエミュレートされる論理CKDディスク装置への転送対象データのライトを行っているにすぎない。したがって、アプリケーションおよびOSに特段の変更を加える必要はない。
【0122】
なお、本発明は上記の実施形態に限定されず、その要旨の範囲内で数々の変形が可能である。
【0123】
例えば、上記の各実施形態では、メインフレームホスト100からオープン系ホスト160のデータを転送する場合について説明したが、この転送と逆の手順により、本実施形態に係るディスクキャッシュ107を利用して、オープン系ホスト160からメインフレームホスト100にデータを転送するようにしてもよい。
【0124】
すなわち、例えば、オープン系ホスト160は、FBAディスク装置150によりエミュレートされる論理FBAディスク装置の、あらかじめ通知された常駐が設定されている範囲に、転送データをライトする。
【0125】
このとき、FBAコマンド処理部123は、予め発行された常駐指示による設定に従い、当該中間データをディスクキャッシュ107に常駐させる。次に、メインフレームホスト100の転送データ作成処理部121は、FBAディスク装置150がエミュレートする論理CKDディスク装置からの転送データのリード要求を発行して、CKDコマンド処理122によりディスクキャッシュ上に常駐している転送データを読み出して、CKDフォーマットに変換し、CKDディスク装置151にライトする。ここで、常駐領域や転送データ格納領域の、論理FBAディスク装置や論理CKDディスク装置上での位置の認識に必要な情報は、例えばオープン系ホスト160とメインフレームホスト100との間で適宜交換することにより、それぞれ得られるようにする。
【0126】
また、上記の各実施形態では、中間データのアクセス単位をトラックとしたが、これはレコードとしてもよい。ただし、この場合、CKDコマンド処理部122、FBAコマンド処理部123等において、対象レコード位置を算出し、個々のレコードに対して、ライト、リードの処理を行う必要がある。また、レコードが可変長であるときには、対象レコード位置は、カウント部に従って算出するようにする。また、この場合、レコードのライトに先立ち、そのレコードを含むブロックグループをディスクキャッシュに読み込む必要がある。
【0127】
また、上記の各実施形態では、転送の対象とするデータがCKDディスク装置151に保持されている場合を例にとり説明したが、対象データはFBAディスク装置150によりエミュレートされる論理CKDディスク装置上のものであってもよい。この場合、転送データ作成処理部121は、CKDディスク装置151に代えて、FBAディスク装置150によりエミュレートされる論理CKDディスク装置より対象データをリードする。また、FBAディスク装置150は、RAIDによりエミュレートされた論理FBAディスク装置であってもよい。また、この場合、RAIDによる論理FBAディスク装置のエミュレート、すなわち、論理FBAディスク装置とRAIDを構成する物理FBAディスク装置とのマッピング管理や、個々の物理FBAディスク装置へのアクセス制御などは、記憶制御情報107として記憶制御プロセッサが行ってもよいし、RAIDへ搭載した制御プロセッサが行ってもよい。
【0128】
また、上記の各実施形態において、メインフレームホスト100からオープン系ホスト160に通知する、中間データの論理CKDディスク装置内アドレスを特定するための情報としては、特開平9-258908号公報に記載されているようなデータセット名を用いてもよい。この場合、オープン系ホスト160で、前記公報に記載のように設けられる当該論理CKDディスク装置のデータセット管理情報を参照して、当該データセットの論理CKDディスク装置上のアドレスおよびサイズを求め、このアドレスをFBAアクセス用のアドレスに変換する。
【0129】
また、上記の各実施形態では、ディスクキャッシュ107へのライトとFBAディスク装置150への書き込みとを同期させて行う、いわゆるストアスルー方式を適用した場合を例にとり説明した。しかし、本発明は、ディスクキャッシュ107へのライトとFBAディスク装置150への書き込みとを非同期で行う、いわゆるストアバック方式に対しても適用できる。この場合、論理CKDディスク装置あるいは論理FBAディスク装置へのライトが常駐指定されている範囲に対するものであるときは、周知のストアバック方式と同様の方法で、例えば所定のイベント発生によりライトデータをこれらのディスク装置をエミュレートするFBAディスク装置へ書き込んだ後も、所定期間あるいはキャッシュ常駐情報305で指定される期間、当該データをディスクキャッシュ107から破棄せずに常駐させるようにすればよい。なお、ストアバック方式をとる場合、未反映データが消失しないようにディスクキャッシュ107を二重化したり、バッテリーによる不揮発化などの可用性向上を図るか、あるいは、未反映データを消失した場合に、これを検出できるよう、チェックコード等の付加したりすることが望ましい。
【0130】
また、上記の各実施形態では、FBAディスク装置150を設けていたが、FBAディスク装置150を用いてエミュレートする論理CKDディスク装置をオープン系ホスト160とのデータ転送にのみ用いる場合には、FBAディスク装置150を実際に設けずに、主記憶上の領域や別途設けたメモリの記憶領域のみを用いて、上記の各実施形態でFBAディスク装置150を用いてエミュレートしていた論理可変長記憶装置や論理固定長記憶装置を、エミュレートするようにしてもよい。
【0131】
【発明の効果】
以上のように、本発明によれば、それぞれ異なるフォーマットのデータを扱うホスト装置間でのデータ転送を、より高速に行うことができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態に係る計算機システムの構成を示すブロック図である。
【図2】本発明で用いるCKDデータフォーマットを示す図である。
【図3】本発明で用いるFBAデータフォーマットを示す図である。
【図4】本発明の第1実施形態に係るディスクキャッシュの構成例を示す図である。
【図5】本発明の第1実施形態に係るキャッシュ割り当て情報の構成例を示す図である。
【図6】本発明の第1実施形態に係るセグメント管理情報の構成例を示す図である。
【図7】本発明の第1実施形態に係るCKDコマンド処理の処理手順を示したフロー図である。
【図8】本発明の第1実施形態に係るFBAコマンド処理の処理手順を示したフロー図である。
【図9】本発明の第1実施形態に係る転送データ生成処理の処理手順を示したフロー図である。
【図10】本発明の第1実施形態に係るデータ転送処理の処理手順を示したフロー図である。
【図11】本発明の第1実施形態に係る計算機システムの構成を示すブロック図である。
【図12】本発明の第2実施形態に係る転送データ作成処理部の処理手順を示したフロー図である。
【図13】本発明の第2実施形態に係るフォーマット処理部の処理手順を示したフロー図である。
【図14】本発明の第2実施形態に係るデータ転送処理部の処理手順を示したフロー図である。
【符号の説明】
100…メインフレームホスト
101…CPU
102…記憶制御プロセッサ
103…主記憶
104…FBAデータアクセス部
105…CKDデータアクセス部
106…FBAデータアクセス受信部
107…ディスクキャッシュ
108…キャッシュ管理情報
109…記憶制御管理情報
121、1110…転送データ作成部
122…CKDコマンド処理部
123…FBAコマンド処理部
124、1160…データ転送処理部
125…フォーマット変換部
129…無効化処理部
140…通信線
150…FBAディスク装置
151…CKDディスク装置
160…オープン系ホスト
170…FBAアクセス通信線
1120…フォーマット処理部

Claims (9)

  1. 第1のフォーマットに従ったデータへのアクセスコマンドを発行するプロセッサと、メモリと、を備えた計算機であって、
    他の計算機から、前記第1のフォーマットとは異なる第2のフォーマットに従ったデータへのアクセスコマンドを受け取るインターフェースと、
    前記プロセッサが発行した、前記第1のフォーマットに従ったデータへのライトコマンドに基づいて、前記データを受け取り、前記メモリに格納する第1のコマンド処理手段と、
    前記インターフェースを介して受け取った前記他の計算機が発行した、前記第2のフォーマットに従ったデータへのリードコマンドに基づいて、前記第1のコマンド処理手段で格納したデータを前記メモリから読み出し、前記他の計算機に転送する第2のコマンド処理手段と、を有すること
    を特徴とする計算機。
  2. 第1のフォーマットに従ったデータへのアクセスコマンドを発行するプロセッサと、メモリと、を備えた計算機であって、
    他の計算機から、前記第1のフォーマットとは異なる第2のフォーマットに従ったデータへのアクセスコマンドを受け取る他計算機用インターフェースと、
    前記第2のフォーマットに従ったデータを格納する第2の記憶装置を接続するための第2の記憶装置用インターフェースと、
    前記第2の記憶装置と前記メモリとを用いて、前記第1のフォーマットに従ったデータを格納する論理第1の記憶装置をエミュレートし、前記プロセッサが発行する前記第1のフォーマットに従ったデータへのアクセスコマンドを処理する第1のコマンド処理手段と、
    前記第2の記憶装置と前記メモリとを用いて、前記第2のフォーマットに従ったデータを格納する論理第2の記憶装置をエミュレートし、前記他計算機用インターフェースを介して受け取った前記他の計算機が発行する前記第2のフォーマットに従ったデータへのアクセスコマンドを処理する第2のコマンド処理手段と、を有し
    前記第1のコマンド処理手段は、
    前記プロセッサが発行したアクセスコマンドが、前記論理第1の記憶装置の所定領域へのライトコマンドである場合、書込み対象データを、前記所定領域に対応する前記第2の記憶装置の記憶領域へ書き込み、かつ、前記メモリ上に常駐させること
    を特徴とする計算機。
  3. 請求項2記載の計算機であって、
    前記第1のフォーマットに従ったデータを格納する第1の記憶装置を接続するための第1の記憶装置用インターフェースをさらに備え、
    前記プロセッサは、
    前記第1の記憶装置からデータを読み出し、必要に応じて所定形式に変換して、前記論理第1の記憶装置の所定領域に対する当該データのライトコマンドを前記第1のコマンド処理手段に発行すること
    を特徴とする計算機。
  4. 請求項3記載の計算機であって、
    前記プロセッサは、
    前記ライトコマンドが書込みを要求する前記論理第1の記憶装置の所定領域に対応する前記第2の記憶装置の記憶領域に対応する、前記論理第2の記憶装置の領域を、前記他の計算機が特定するための情報を、前記他の計算機に通知すること
    を特徴とする計算機。
  5. 可変長フォーマットのデータを扱う計算機と、固定長フォーマットのデータを格納する固定長記憶装置と、を有する計算機システムであって、
    前記計算機は、
    可変長フォーマットのデータのアクセスコマンドを発行するプロセッサと、
    固定長フォーマットのデータを扱う他の計算機と接続し、該他の計算機と該固定長フォーマットのデータの送受信を行う接続手段と、
    前記固定長記憶装置用のディスクキャッシュと、
    前記ディスクキャッシュへのデータのキャッシュ制御を行うディスクキャッシュ制御手段と、
    前記固定長記憶装置と前記ディスクキャッシュを用いて、可変長フォーマットのデータを格納する論理可変長記憶装置をエミュレートし、前記プロセッサが発行する可変長フォーマットのデータへのアクセスコマンドを処理する論理可変長記憶装置提供手段と、
    前記固定長記憶装置と前記ディスクキャッシュを用いて、前記固定長フォーマットのデータを格納する論理固定長記憶装置をエミュレートし、前記接続手段に接続された他の計算機が発行する固定長フォーマットのデータへのアクセスコマンドを処理する論理固定長記憶装置提供手段と、
    前記論理可変長記憶装置の記憶領域の少なくとも一部をディスクキャッシュ常駐領域に設定する常駐領域設定手段と、を有し、
    前記ディスクキャッシュ制御手段は、
    前記プロセッサが、前記常駐領域設定手段によりディスクキャッシュ常駐領域に設定されている前記論理可変長記憶装置の記憶領域へのデータのライトコマンドを発行した場合に、当該データを前記論理可変長記憶装置の記憶領域に対応する前記固定長記憶装置の記憶領域へ書き込み、かつ、前記ディスクキャッシュ上に常駐させること
    を特徴とする計算機システム。
  6. 請求項5記載の計算機システムであって、
    可変長フォーマットでデータを格納する可変長記憶装置をさらに備え、
    前記プロセッサは、
    前記可変長記憶装置からデータを読み出し、必要に応じて所定形式に変換して、前記常駐領域設定手段によりディスクキャッシュ常駐領域に設定されている前記論理可変長記憶装置の記憶領域に対する当該データのライトコマンドを前記論理可変長記憶装置提供手段に発行することを特徴とする計算機システム。
  7. 請求項6記載の計算機システムであって、
    前記プロセッサは、
    前記ライトコマンドが書込みを要求する前記論理可変長記憶装置の記憶領域に対応する前記固定長記憶装置の記憶領域に対応する、前記論理固定長記憶装置の領域を、前記他の計算機が特定するための情報を、前記他の計算機に通知し、
    前記書込みを要求する論理可変長記憶装置の記憶領域は、前記常駐領域設定手段によりディスクキャッシュ常駐領域として設定されている領域であること
    を特徴とする計算機システム。
  8. 固定長フォーマットのデータを格納する固定長記憶装置が自装置上のプロセスに対して適用される第1の計算機に、可変長フォーマットのデータを格納する可変長記憶装置が適用される第2の計算機が保持するデータを転送するデータ転送方法であって、
    前記第2の計算機において、当該第2の計算機上のある記憶領域を、前記第2の計算機上のプロセスに対しては論理可変長記憶装置としてエミュレートし、前記第1の計算機に対しては論理固定長記憶装置としてエミュレートするステップと、
    前記第2の計算機において、前記第1の計算機に転送するデータを、前記論理可変長装置に書き込むステップと、
    前記第1の計算機において、前記論理固定長記憶装置に対する読み込み要求を発行するステップと、
    前記第2の計算機において、前記読み込み要求に従い、前記論理可変長装置に書き込まれたデータを読み込むステップと、を有すること
    を特徴とするデータ転送方法。
  9. 請求項8記載のデータ転送方法であって、
    前記ある記憶領域とは、前記第2の計算機の一次記憶装置上の領域であること
    を特徴とするデータ転送方法。
JP2000205509A 2000-07-06 2000-07-06 計算機、計算機システムおよびデータ転送方法 Expired - Fee Related JP3753598B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000205509A JP3753598B2 (ja) 2000-07-06 2000-07-06 計算機、計算機システムおよびデータ転送方法
US09/798,324 US7058692B2 (en) 2000-07-06 2001-03-02 Computer, computer system, and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000205509A JP3753598B2 (ja) 2000-07-06 2000-07-06 計算機、計算機システムおよびデータ転送方法

Publications (2)

Publication Number Publication Date
JP2002023958A JP2002023958A (ja) 2002-01-25
JP3753598B2 true JP3753598B2 (ja) 2006-03-08

Family

ID=18702582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000205509A Expired - Fee Related JP3753598B2 (ja) 2000-07-06 2000-07-06 計算機、計算機システムおよびデータ転送方法

Country Status (2)

Country Link
US (1) US7058692B2 (ja)
JP (1) JP3753598B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412462B2 (en) * 2000-02-18 2008-08-12 Burnside Acquisition, Llc Data repository and method for promoting network storage of data
JP4105398B2 (ja) * 2001-02-28 2008-06-25 株式会社日立製作所 情報処理システム
JP2003337732A (ja) * 2002-05-21 2003-11-28 Hitachi Ltd データ連携方法および装置
US6957303B2 (en) * 2002-11-26 2005-10-18 Hitachi, Ltd. System and managing method for cluster-type storage
US7571280B2 (en) * 2003-04-25 2009-08-04 Hitachi, Ltd. Cluster-type storage system and managing method of the cluster-type storage system
JP4100256B2 (ja) 2003-05-29 2008-06-11 株式会社日立製作所 通信方法および情報処理装置
JP2004362206A (ja) * 2003-06-04 2004-12-24 Fujitsu Ltd ストレージ装置およびデータ変換プログラム
GB2418507A (en) * 2003-06-25 2006-03-29 Siemens Med Solutions Health Data migration and format transformation system
JP4371724B2 (ja) * 2003-07-03 2009-11-25 株式会社日立製作所 記憶システム及び記憶装置システム
EP1533704A3 (en) * 2003-11-21 2007-03-07 Hitachi, Ltd. Read/write protocol for cache control units at switch fabric, managing caches for cluster-type storage
US7685382B2 (en) * 2006-12-20 2010-03-23 International Business Machines Corporation Dynamic media format conversion of physical volumes
JP5782214B2 (ja) * 2008-05-30 2015-09-24 富士通株式会社 情報検索プログラム、情報検索装置および情報検索方法
JP5549260B2 (ja) * 2010-02-16 2014-07-16 富士通株式会社 ストレージシステムおよびデータ書込み方法
US8972947B2 (en) * 2013-01-09 2015-03-03 Apple Inc. Data presentation in integrated development environments
JP5619198B2 (ja) * 2013-02-04 2014-11-05 株式会社フィックスターズ 情報処理装置、情報処理方法、およびプログラム
US9298521B1 (en) 2013-04-29 2016-03-29 Seagate Technology Llc Command sets and functions
US9799017B1 (en) * 2014-09-19 2017-10-24 Amazon Technologies, Inc. Cross-data-store operations in log-coordinated storage systems

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5535372A (en) * 1994-07-06 1996-07-09 International Business Machines Corporation Method and apparatus for efficient updating of CKD data stored on fixed block architecture devices
US6009498A (en) * 1995-02-16 1999-12-28 Fujitsu Limited Disk control unit for holding track data in cache memory
DE69631749T2 (de) * 1996-01-19 2005-01-05 Hitachi, Ltd. Speichergerät und Verfahren zur gemeinsamen Benutzung von Daten
US6044444A (en) * 1996-05-28 2000-03-28 Emc Corporation Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected
JP3781212B2 (ja) * 1996-06-04 2006-05-31 株式会社日立製作所 サブシステム
JP3245364B2 (ja) * 1996-09-02 2002-01-15 株式会社日立製作所 互いに異なるインタフェースを介して記憶装置を共用する方法及びシステム
US6041386A (en) * 1998-02-10 2000-03-21 International Business Machines Corporation Data sharing between system using different data storage formats
JP3404289B2 (ja) * 1998-05-22 2003-05-06 富士通株式会社 ディスク制御装置及びその制御方法
US6260120B1 (en) * 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6766359B1 (en) * 1999-12-29 2004-07-20 Emc Corporation Method and apparatus for utilizing multiple paths in a file transfer utility employing an intermediate data storage system
US6633962B1 (en) * 2000-03-21 2003-10-14 International Business Machines Corporation Method, system, program, and data structures for restricting host access to a storage space

Also Published As

Publication number Publication date
JP2002023958A (ja) 2002-01-25
US20020004845A1 (en) 2002-01-10
US7058692B2 (en) 2006-06-06

Similar Documents

Publication Publication Date Title
JP3753598B2 (ja) 計算機、計算機システムおよびデータ転送方法
US6895483B2 (en) Method and apparatus for data relocation between storage subsystems
US6470421B1 (en) Method and means for reducing device contention by random accessing and partial track staging of records according to a first DASD format but device mapped according to a second DASD format
US6505273B2 (en) Disk control device and method processing variable-block and fixed-block accesses from host devices
US7447832B2 (en) Automated on-line capacity expansion method for storage device
JP7135162B2 (ja) 情報処理システム、ストレージシステム及びデータ転送方法
US7047355B2 (en) Updated data write method using journal log
JP3671595B2 (ja) 複合計算機システムおよび複合i/oシステム
EP0785500B1 (en) Storage device and method for data sharing
US7228399B2 (en) Control method for storage device controller system, and storage device controller system
US6748486B2 (en) Method, system, and data structures for superimposing data records in a first data format to memory in a second data format
US6954839B2 (en) Computer system
US6101574A (en) Disk control unit for holding track data in non-volatile cache memory
JP4053208B2 (ja) ディスクアレイ制御装置
US6615284B2 (en) Method and apparatus for performing input/output operations between a requesting device and responding device
US20050223180A1 (en) Accelerating the execution of I/O operations in a storage system
JP2004227594A (ja) 計算機システムおよび二次記憶装置
JP2000163317A (ja) 情報システム
JP2001273176A (ja) 計算機システムおよび二次記憶装置
JP2005346426A (ja) データ共有ディスク装置
WO1991008536A1 (en) Data record move apparatus for a virtual memory system
JP2000311112A (ja) 情報システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051213

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

Free format text: PAYMENT UNTIL: 20081222

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131222

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees