JPH10254742A - 計算機システム - Google Patents

計算機システム

Info

Publication number
JPH10254742A
JPH10254742A JP9052774A JP5277497A JPH10254742A JP H10254742 A JPH10254742 A JP H10254742A JP 9052774 A JP9052774 A JP 9052774A JP 5277497 A JP5277497 A JP 5277497A JP H10254742 A JPH10254742 A JP H10254742A
Authority
JP
Japan
Prior art keywords
data
format
record
length
fixed
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
JP9052774A
Other languages
English (en)
Other versions
JP3528500B2 (ja
Inventor
Motohiro Kanda
基博 神田
Akira Yamamoto
山本  彰
Toshio Nakano
俊夫 中野
Minoru Yoshida
稔 吉田
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 JP05277497A priority Critical patent/JP3528500B2/ja
Publication of JPH10254742A publication Critical patent/JPH10254742A/ja
Application granted granted Critical
Publication of JP3528500B2 publication Critical patent/JP3528500B2/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)【要約】 【課題】メインフレームと、オープンシステムとの間
で、データの共用を可能とする。 【解決手段】 ディスク制御装置80は、SCSIインタフ
ェース61でUNIXオペレーティングシステム40が制御
するCPU10と接続し、チャネルインタフェース71
で、VOS3オペレーティングシステム50が制御するCPU
11と接続する。CPU10には、CKDレコードアクセスラ
イブラリ35と、VSAMアクセスライブラリ30があっ
て、CPU11がディスク制御装置80にCKD形式で格納し
たVSAMレコードを、FBA形式でアクセスし、かつVSAMの
制御情報を元にして、VSAMレコードとしてCPU10のア
プリケーションプログラム20にアクセスできる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機システムに
関し、さらに詳しくは、カウントキーデータ形式に従う
インタフェースと、固定長ブロック形式に従うインタフ
ェースの両方を有する記憶装置の使用法に関する。
【0002】
【従来の技術】異なるオペレーティングシステムの間の
ファイル共用あるいはファイル変換については、従来の
技術で公知のものがある。例えば、日本サンマイクロシ
ステムズ株式会社発行の、JLEリファレンスマニュアル
3の、装置とネットワークインタフェースのPCFS(4S)に
は、UNIXオペレーティングシステムから、MS−DOS
オペレーティングシステムのファイルをアクセスする機
能が記載されている。(JLEは、日本サン・マイクロシ
ステムズ株式会社の商標です。UNIXは、米国X/Open Com
pany Ltd. の米国及びその他の国における登録商標で
す。MS-DOSは、米国Microsoft corporation の米国及び
その他の国における登録商標です。)
【0003】
【発明が解決しようとする課題】近年、パソコンやワー
クステーションなどのいわゆるオープンシステムを使用
して、従来メインフレームで行なわれてきた業務を行な
う、いわゆるダウンサイジングが盛んに行なわれてい
る。
【0004】メインフレームは伝統的にディスクアクセ
スをカウントキーデータ形式に従って行なってきたのに
比べて、オープンシステムはディスクアクセスを固定長
ブロック形式に従って行なう。このために、一般的には
メインフレームで使用しているディスクは、オープンシ
ステムでは使用できないという問題がある。メインフレ
ームで使用しているディスクには、すでに大量の業務上
の情報が蓄積されているために、ダウンサイジングを行
なっても、オープンシステムからこのディスクをアクセ
スしたいという顧客の要求は大きい。この要求に答える
ための技術として、分散データベースや、ファイル転送
があるが、ネットワーク負荷が高くなるとか、既存の業
務プログラムの変更が必要になるなどの欠点がある。
【0005】本発明は、ディスクにカウントキーデータ
形式に従うインタフェースと、固定長ブロック形式に従
うインタフェースの両方を持たせて、オープンシステム
からこのディスクをアクセスし、メインフレームから格
納した業務上の情報を利用することを可能とするもので
ある。
【0006】カウントキーデータ形式に従うインタフェ
ースと、固定長ブロック形式に従うインタフェースの両
方を有する記憶装置の使用法、特に2つのインタフェー
スの間でデータを共用する機能については、従来の技術
で公知のものはない。
【0007】
【課題を解決するための手段】本発明は、カウントキー
データ形式に従うインタフェースと、固定長ブロック形
式に従うインタフェースの両方を有する記憶装置を含む
計算機システムにおいて、シリンダー番号、ヘッド番号
そしてレコード番号で指定されるカウントキーデータ形
式のレコードアドレスと、LBA(Logical Block Addr
ess)で指定される固定長ブロック形式のアドレスとを
互いに変換する手段と、カウントキーデータ形式で記憶
装置に格納されているレコードを固定長ブロック形式に
従うインタフェースでアクセスさせる手段と、前記レコ
ードから、ユーザデータだけを取り出す手段と、前記レ
コードのユーザデータを、あらかじめ定められた形式に
したがって解釈し、利用する手段とを有する計算機シス
テムを提供する。
【0008】さらに、本発明は、カウントキーデータ形
式に従うインタフェースでデータをアクセスし、当該デ
ータを管理する手段と、固定長ブロック形式に従うイン
タフェースでデータをアクセスし、当該データを管理す
る手段と、前記どちらかの手段があるデータを使用して
いる場合、もう片方の手段にとっても当該データが使用
中であるともう片方の手段をして知らしめる手段を有す
る計算機システムを提供する。
【0009】
【発明の実施の形態】以下、図に示す発明の実施の形態
によりこの発明をさらに詳しく説明する。
【0010】ー第1の発明の実施の形態ー 図1は、本発明の第1の発明の実施の形態の計算機シス
テムの要部構成図である。
【0011】CPU10は、SCSI(Small Computer
System Interface)インタフェース60を有する。C
PU11は、チャネルインタフェース70を有する。デ
ィスクサブシステム80は、SCSIインタフェース6
1でCPU10と接続し、チャネルインタフェース71
でCPU11と接続する。SCSIバス65は、SCSIイ
ンタフェース60と61をむすぶ。チャネルケーブル7
5は、チャネルインタフェース70と71をむすぶ。
【0012】SCSIインタフェース60ないし61
を、任意の固定長ブロック形式に従うインタフェースと
する構成も可能である。チャネルインタフェース70な
いし71を、任意のカウントキーデータ形式に従うイン
タフェースとする構成も可能である。
【0013】以下、カウントキーデータ形式をCKD形式
と呼び、固定長ブロック形式をFBA(Fixed Block Archit
ecture)形式と呼ぶ。CKD形式のレコードを、CKDレコー
ドと呼ぶ。
【0014】CPU10は、UNIXオペレーティング
システム40によって制御される。CPU11は、日立
製作所のVOS3(Virtual-storage Operating System
3)オペレーティングシステム50によって制御される。
UNIXオペレーティングシステム40を、SCSIイ
ンタフェースをサポートする任意のオペレーティングシ
ステムとした構成も可能である。VOS3オペレーティ
ングシステム50を、チャネルインタフェースをサポー
トする任意のオペレーティングシステムとした構成も可
能である。
【0015】CPU10とCPU11では、アプリケー
ションプログラム20と21がそれぞれ動作する。アプ
リケーションプログラム20と21は、プログラミング
言語COBOLで記述され、ディスクサブシステム80
にある、VSAM ESDS(Virtual Storage Access
Method Entry-Sequenced Data Set)をアクセスする。
VSAM ESDSを、CKD形式で格納されたデータを
アクセスする、任意のアクセス法の任意のデータセット
あるいは任意のファイルとする構成も可能である。VO
S3オペレーティングシステム50は、VSAM55を含
む。VSAM55は、ディスクサブシステム80に格納され
たデータを、VSAMデータセットのレコードとして、
アプリケーションプログラム21からアクセス可能とす
る。
【0016】図2は、UNIXオペレーティングシステ
ム40の要部構成図である。
【0017】UNIXオペレーティングシステム40
は、ファイル管理機能150およびSCSIデバイスドライ
バ155を含む。メモリ管理機能やプロセス管理機能な
ど、本発明の実施の形態に関連のうすいものは省略して
ある。SCSIデバイスドライバ155は、SCSIインタフェ
ース60を制御し、ディスクサブシステム80および1
80をアクセスする。ディスクサブシステム80および
180は、SCSIバス65によりSCSIインタフェース60
に接続する。ディスクサブシステム80は、VSAMデータ
セットを、ディスクサブシステム180はFFS(Berkeley
Fast File System)のファイルを格納する。FFSは、U
NIXオペレーティングシステム40のファイル管理機
能150によって標準的にサポートされるファイルシス
テムの形式である。一方、UNIXオペレーティングシ
ステム40のファイル管理機能150は、VSAMデー
タセットのアクセスをサポートしていないものとする。
【0018】lsコマンド160は、指定したディレクト
リに存在するファイルの一覧を表示するコマンドであ
る。ディスクサブシステム180に含まれるFFSのある
ディレクトリを指定して発行された、ls コマンド16
0のディスクアクセス要求は、ファイル管理機能150
およびSCSIデバイスドライバ155によって処理され
て、ディスクサブシステム180をアクセスする。
【0019】一方、CKDレコードアクセスライブラリ3
5のディスクアクセス要求は、ファイル管理機能150
を経由せずに、SCSIデバイスドライバ155だけによっ
て処理され、ディスクサブシステム80をアクセスす
る。この場合、ディスクサブシステム80に格納される
各VSAMデータセットの属性情報や、物理的な格納位置情
報等は、UNIXオペレーティングシステム40からCK
Dレコードアクセスライブラリ35へは提供されない。C
KDレコードアクセスライブラリ35には、ディスク制御
装置80全体が1つのファイルに見えるだけである。こ
のようなアクセス方法を、ローIOと呼ぶ。
【0020】UNIXオペレーティングシステム40
は、ファイル名により、前記2つのディスクアクセス要
求を区別する。アクセスするファイル名として、キャラ
クタ特殊ファイル名を指定すると、ローIOによるアクセ
スがされ、それ以外の通常ファイル名を指定すると、フ
ァイル管理機能150を経由するアクセスとなる。キャ
ラクタ特殊ファイル名の例として、/dev/rsd1c があ
る。
【0021】図1に戻って、CPU10には、VSAM
アクセスライブラリ30と、CKDレコードアクセスライ
ブラリ35がある。CKDレコードアクセスライブラリ3
5は、VSAMアクセスライブラリ30が発行する、CK
Dレコードアクセス要求を、FBA形式のアクセス要求に変
換して、UNIXオペレーティングシステム40に与
え、その結果をCKD形式に変換してVSAMアクセスラ
イブラリ30に返す。VSAMアクセスライブラリ30
は、ディスクサブシステム80に格納された、VSAM
を制御するためのデータ構造を参照して、ディスクサブ
システム80に格納されたデータを、VSAMデータセ
ットのレコードとして、アプリケーションプログラム2
0からアクセス可能とする。
【0022】なお、UNIXオペレーティングシステム
40のファイル管理機能150が、VSAMデータセッ
トのアクセスをサポートする構成も可能である。この場
合、VSAMアクセスライブラリ30およびCKDレコー
ドアクセスライブラリ35はUNIXオペレーティング
システムの一部分として実装される。
【0023】ディスクサブシステム80は、バッファ9
0とCKDディスク装置100を有する。CKDディス
ク装置100には、CKDレコード110が格納されてい
る。ディスクサブシステム80は、チャネルインタフェ
ース71を経由して、CKD形式にしたがった、シリンダ
ー番号、ヘッド番号、そしてレコード番号を指定したレ
コードのアクセスを提供する。以下、シリンダー番号、
ヘッド番号、そしてレコード番号で表されるレコードア
ドレスを、CCHHRと呼ぶ。シリンダー番号、ヘッド番号
で表されるトラックアドレスを、CCHHと呼ぶ。
【0024】さらに、ディスクサブシステム80は、C
KDーFBAレコード形式変換R/W処理A4000を
使って、SCSIインタフェース61を経由して、FBA形式
に従ったアクセスも提供する。CKDーFBAレコード
形式変換R/W処理A4000は、SCSIインタフェース
61を経由してFBAレコードを受け取り、レコードの
格納されるCCHHRを計算し、レコード形式を、FB
Aから、CKDに変換し、そしてCKDレコードを格納
する。逆の処理、つまりレコードの読み出しも同様に動
作する。
【0025】FBAレコードのブロック長は512バイ
トとし、シリンダー0、ヘッド0、そしてレコード1を
第0のLBA(Logical Block Address)をもつものと
する。ディスクサブシステム80に格納されるCKDレコ
ードの、FBA形式に従ったアドレス付けや、アクセスの
仕方については後述する。
【0026】CKDディスク装置100に格納されたデ
ータは、当該データが格納されているシリンダー番号、
ヘッド番号、そしてトラック先頭からのバイト位置によ
って識別される。データのCKDディスク装置100で
のシリンダー番号、ヘッド番号は、当該データが、CPU
11からチャネルインタフェース71を経由してアクセ
スされるときに指定されるシリンダー番号、ヘッド番号
と同じであるとする。これが異なる構成も可能である。
CKDディスク装置100に格納されたデータが、LBA
で識別される構成も可能である。その場合、CPU11か
らチャネルインタフェース71を経由してアクセスされ
るときに指定されるシリンダー番号、ヘッド番号そして
レコード番号と、LBAを互いに変換する手段が必要にな
る。この構成は、第2の発明の実施の形態として後述す
る。
【0027】CKDディスク装置100が複数ある構成
も可能である。
【0028】CKDディスク装置100は、1つのトラ
ックあたり最大64キロバイトのデータを格納すること
ができるものとし、以下これをトラック容量と呼ぶ。バ
ッファ90は、トラック容量だけの大きさを持つ。トラ
ック容量に、ヘッド数をかけたものを、シリンダー容量
と呼ぶ。
【0029】図3は、アプリケーションプログラム20
の処理のフローチャートである。
【0030】アプリケーションプログラム20は、COBO
Lで記述され、ディスクサブシステム80に格納され
る、VSAM ESDSを1つオープンして、データセットの最
初のレコードを1つ読み、それをコンソールに表示し、
データセットをクローズして終わるというものである。
【0031】ステップ1100で、データセットのオー
プンを行う。COBOLでの記述形式は、OPEN INPUT データ
セット名であり、指定したデータセットを読み込み専用
でオープンすることを示す。これによりVSAMアクセ
スライブラリ30が呼ばれる。そこで行なわれる処理
を、図4に示す。これについては後述する。
【0032】ステップ1110で、VSAMレコードの読み
込みを行う。COBOLでの記述形式は、READ データセット
名 RECORD INTO 一意名であり、指定したデータセット
からVSAMレコードを1つ読んで、一意名で示されるアプ
リケーションプログラム20の変数にいれることを示
す。これによりVSAMアクセスライブラリ30が呼ば
れる。そこで行なわれる処理を、図5に示す。これにつ
いては後述する。
【0033】ステップ1120で、前記ステップ111
0で読み込んだVSAMレコードを、コンソールに表示す
る。
【0034】ステップ1130で、データセットのクロ
ーズを行なう。これによりVSAMアクセスライブラリ
30が呼ばれる。そこで行なわれる処理を、図6に示
す。これについては後述する。
【0035】以上でアプリケーションプログラム20の
処理を終わる。
【0036】図4は、VSAMアクセスライブラリ30
が行う、VSAM ESDSのオープン処理1100のフローチ
ャートである。
【0037】ステップ500で、UNIXオペレーティング
システム40の、ローIO機能をオープンする。正確に言
うと、ディスクサブシステム80に対応したキャラクタ
特殊ファイルをオープンする。本発明の実施の形態で
は、すべてのVSAM ESDSは、ディスク制御装置80に存
在するものとする。CPU10に複数のディスク装置が接
続される構成も可能である。その場合は、指定されたデ
ータセット名から、それがどのディスク装置に存在する
かを判断する手段が必要である。
【0038】ステップ510で、VSAMアクセスライ
ブラリ30は、CKDレコードアクセスライブラリ35の
機能を使用して、ディスクサブシステム80から、標準
ボリュームラベルを読み込む。
【0039】標準ボリュームラベルは、ディスク装置の
特定の場所に書かれており、VTOC(Volume Table of Con
tent)のアドレスを有する。標準ボリュームラベルの読
み込みは、前記特定のCCHHRを指定して、図7に示すCKD
レコード読み込み処理を呼ぶことで行う。CKDレコード
読み込み処理については後述する。VOS3オペレーテ
ィングシステム50は、ディスク装置ごとに1つVTOCを
作成する。VTOCは、そのディスク装置に含まれるすべて
のデータセットの管理情報を有する。
【0040】ステップ510で、標準ボリュームラベル
のデータ部から、VTOCのCCHHRを得る。
【0041】VTOCは、キー部44バイト、データ部96
バイトのレコードの集まりである。各レコードを、DSCB
(Dataset Control Block)と呼ぶ。DSCBには、いろいろ
な形式がある。 形式1DSCBは、キー部がデータセット
名で、データ部はそのデータセットの属性や、割り当て
られている物理的な格納位置の情報を有する。データセ
ットが割り当てられている物理的な格納領域を、エクス
テントと呼ぶ。エクステントは、それが占めるシリンダ
ー番号、トラック番号で識別される。
【0042】ステップ520で、VTOCの最初のレコード
をCKDレコードアクセスライブラリ35の機能を使用し
て、1つ読む。
【0043】ステップ530で、これが形式1DSCBであ
り、かつキー部は指定されたデータセット名に等しいか
調べる。条件が成り立てば、ステップ550に進む。そ
うでなければ、ステップ540に進む。
【0044】ステップ550では、これが目的とするデ
ータセットの形式1DSCBであるので、これをVSAMア
クセスライブラリ30のローカルな変数にコピーして、
コール元に戻る。これで、VSAM ESDSのオープン処理が
終わる。
【0045】ステップ540では、レコードアドレスを
進め、次のDSCBを読む準備をして、ステップ520に戻
る。
【0046】図5は、VSAMアクセスライブラリ30
が行う、VSAM ESDSのリード処理1110のフローチャ
ートである。
【0047】VSAM ESDS に含まれるすべてのVSAMレコー
ドは、それらが作成された順で順序づけされている。V
SAMアクセスライブラリ30は現在処理対象となるVS
AMレコード位置を常に記憶しており、以下、それをカレ
ントレコードと呼ぶ。カレントレコードは、データセッ
トがオープンされたときに、最初のVSAMレコードとされ
る。リードされると、カレントレコードは次のVSAMレコ
ードとなる。
【0048】VSAMでは、ディスク装置との転送の単位
を、CI(Control Interval)と呼んでいる。CIは、VSAMレ
コードを含むほか、CI内の未使用スペースの管理情報な
どを有する。VSAMアクセスライブラリ30は、VSAM
レコードを、それが含まれるCIのRBA(Relative Byte Ad
dress)と、CIの中でのVSAMレコードの通番で識別する。
【0049】ステップ600で、目的RBAを、カレント
レコードを含むCIのRBAとする。
【0050】ステップ610で、目的RBAを含むエクス
テントを探す。これはつまり、データセット内のオフセ
ットから、そのオフセットを持つデータが実際に格納さ
れているCCHHRを求めることである。
【0051】VSAM ESDSのオープンの直後のリード処理
を例に、以下説明する。このときカレントレコードはVS
AM ESDSの最初のCIに含まれ、そのCIのRBAは0であると
する。形式1DSCBは、エクステント情報の配列を持ち、
各エクステントごとに、そのエクステントの開始CCHH
と、終了CCHHを記録する。前記エクステント情報の配列
は、対応するRBAの昇順に並んでいる。今の例では、目
的RBAは0であるので、明らかに最初のエクステントの
最初のレコードに含まれる。この結果、目的とするCCHH
は形式1DSCBに記録された最初のエクステント情報の示
す開始CCHHであることがわかる。また、レコード0には
ユーザデータは格納できないため、Rは1であることが
わかる。
【0052】ステップ620では、前記ステップ610
で求めたCCHHRを指定して、図7に示すCKDレコード読み
込み処理を呼ぶ。CIが、複数のCKDレコードからなる場
合には、その数だけCKDレコード読み込み処理を呼ぶ。
【0053】ステップ630では、CI内の制御情報を参
照して、CIの中で目的とするVSAMレコードを探す。それ
は、カレントレコードの通番を持つものである。
【0054】ステップ640で、アプリケーションプロ
グラム20の変数である一意名に、VSAMレコードをコピ
ーする。
【0055】ステップ650で、カレントレコードを、
次のVSAMレコードとする。
【0056】以上で、VSAM ESDSのリード処理が終わ
る。
【0057】図6は、VSAMアクセスライブラリ30
が行う、VSAM ESDSのクローズ処理1130のフローチ
ャートである。
【0058】ステップ1000で、UNIXオペレーティン
グシステム40の、ローIO機能をクローズする。正確に
言うと、ディスクサブシステム80に対応したキャラク
タ特殊ファイルをクローズする。
【0059】ステップ1010で、作業領域を解放す
る。
【0060】以上で、VSAM ESDSのクローズ処理が終わ
る。
【0061】図7は、CKDレコードアクセスライブラリ
35が行なう、CKDレコード読み込み処理のフローチャ
ートである。CKDレコード読み込み処理は、VSAMア
クセスライブラリ30から呼ばれ、指定されたCCHHRを
持つレコードをディスク制御装置80から読み、そのキ
ー部とデータ部を返す。
【0062】ステップ400では、指定されたCCHHRを
持つレコードを含むトラックの先頭に対応するLBAを計
算する。ただし、以下では、割算を示す/では、整数部
分のみを商とする。
【0063】LBA=(CC *シリンダー容量+HH*トラッ
ク容量)/ブロック長 ステップ410では、UNIXオペレーティングシステム4
0のローIO機能をつかって、前記LBAから、1トラック長
だけ、SCSIインタフェース60を経由してディスクサブ
システム80からデータを読む。ローIO機能を使う理由
は、UNIXオペレーティングシステム40はVSAMデー
タセットのアクセスをサポートしていないために、UNIX
オペレーティングシステム40のファイル管理機能を使
用することができないためである。
【0064】ステップ420では、ステップ430で処
理するレコードアドレスを、トラックの先頭とする。
【0065】ステップ430では、当該レコードのカウ
ント部に含まれる、レコードIDを調べて、当該レコード
が、指定されたCCHHRを持つものであるか調べる。指定
されたCCHHRを持てばステップ440へ進む。そうでな
ければ、ステップ450へ進む。
【0066】ステップ440では、目的とするレコード
が見つかったので、そのキー部と、データ部をコール元
に返して処理を終了する。
【0067】ステップ450では、レコードアドレス
に、現在のレコードのキー部とデータ部の長さを加え
て、つぎに処理するレコードアドレスとして、ステップ
430に戻る。レコードのキー部とデータ部の長さは、
そのレコードのカウント部に書いてある。
【0068】以上、図7に示した処理では、CKDレコー
ド読み込み処理が1度呼ばれると必ず1トラックがディ
スクサブシステム80から読まれる。最近アクセスした
トラックのデータをキャッシュしておいて、同じトラッ
クが要求されたらディスクサブシステム80をアクセス
しないですます構成も可能である。
【0069】図8は、ディスクサブシステム80が行な
う、SCSI READ処理のフローチャートである。この処理
は、前記図7のCKDレコード読み込み処理のステップ4
10でUNIXオペレーティングシステム40のローIO機能
が使用された結果、ディスク制御装置80のCKDーF
BAレコード形式変換R/W処理A4000で行なわれ
るものである。
【0070】ステップ200では、ディスクサブシステ
ム80のCKDーFBAレコード形式変換R/W処理A
4000は、CPU10からSCSIインタフェース61
を経由してSCSIのREADコマンドを受ける。
【0071】ステップ210では、受領したCDB(Comman
d Descriptor Block)から、対象データのLBAを得、
それをCKDディスク装置100のシリンダー番号とヘ
ッド番号に変換する。
【0072】シリンダー番号=(LBA *ブロック長) /
シリンダー容量 ヘッド番号=((LBA *ブロック長) %シリンダー容
量)/トラック容量 トラック先頭からのバイト位置=(LBA *ブロック長)
%トラック容量 %は、剰余を表す。即ち、整数m、nに対して、n%m
はnをmで割った余りを示す。
【0073】ステップ220では、指定されたシリンダ
ー番号とヘッド番号をもつトラックを、バッファ90に
読む。このときにバッファ90に読み込まれるトラック
の形式を、図9に示す。
【0074】図9は、CKDディスク装置100に格納
されるデータの、トラック上の配置を示したものであ
る。305から、345は、トラック上の実際の物理的
なデータの配置を示す。これに対して、380は、前記
図8のステップ220でバッファ90に読み込まれるト
ラックの形式を示したものである。390、392そし
て394は、380に示すデータが、SCSIインタフェー
ス61を経由して、CPU10に転送されるときの形式を
示したものである。
【0075】305は、ホームアドレスであり、トラッ
クの状態や、IDを示す。310はレコード0のカウント
部であり、315はレコード0のデータ部である。カウ
ント部は、各レコードの最初のフィールドであり、その
レコードの状態、位置、及び長さを示す。レコード0
は、トラックの最初のレコードであり、ユーザデータを
格納することはできない。320、325、そして33
0はそれぞれ、レコード1のカウント部、キー部、デー
タ部である。335、340そして345はそれぞれ、
レコード2のカウント部、キー部、データ部である。以
下に続くレコードは、省略した。305から345の各
フィールドの間は、ギャップと呼ばれる領域で、定めら
れた長さを持ち、データが格納されない。
【0076】380のトラック形式は、前記305から
345までのフィールドを連続して配置したものであ
る。300は、最後の有効なレコードから、バッファの
終端までをうめるパディングデータであり、これについ
ては後述する。
【0077】実際には、305から345までのフィー
ルドにそれぞれ存在するECC(ErrorCorrecting Code)な
どは380には含まれないが、図9では簡単のため、そ
の違いは表されていない。
【0078】390、392そして394は、ディスク
サブシステム80のブロック長である、512バイトの
長さを持つブロックである。390、392そして39
4には、380に示すデータが連続して、順に格納され
る。CKDレコードの境界とブロックの境界とは、必ずし
も一致しない。
【0079】図9に示すように、SCSIインタフェー
ス61からは、ECCや、ギャップは見えない。
【0080】バッファ90の長さである、トラック容量
は、トラックに格納されるユーザデータの最大値ではな
く、各レコードのカウント部や、ホームアドレス、それ
にレコード0の長さをも加えた最大値であるとする。
【0081】図8に戻って、ステップ230では、バッ
ファ90の、ステップ210で求めたトラック先頭から
のバイト位置で指定されるブロックから、SCSIイン
タフェース61を経由してCPU10にデータを転送す
る。
【0082】ステップ240では、トラックに格納され
ている実際のデータ長が、トラック容量より小さいかを
判断する。小さければ、ステップ250に進む。そうで
ない、すなわちトラック容量いっぱいのデータが格納さ
れていれば、リード処理を終わる。トラックに格納され
ている実際のデータ長とは、図9にしめしたホームアド
レスおよび各レコードのカウント部、キー部そしてデー
タ部の長さの総和をしめす。
【0083】ステップ250では、現在転送中のブロッ
クの終端まで、0を転送する。これを以下、パディング
と呼ぶ。この処理が必要な理由を以下に示す。
【0084】CKD形式では、トラックに格納できるデー
タの容量は、レコード長によって変わる。このため、一
般的にはトラックに実際に格納されているデータの容量
は、ブロック長、現在の場合512バイトの倍数になら
ない。ステップ250のパディングを行なわないなら
ば、このディスクをFBA形式で読んだときに、1つのブ
ロック内に異なるトラックのデータが混在することにな
る。これは、CPU10のCKDレコードアクセスライブラリ
35の処理を複雑にする。本発明の実施の形態では、ス
テップ250のパディングを行ない、トラックは必ずブ
ロック境界から始まることを保証するものとする。ステ
ップ250のパディングを行なわない構成も可能であ
る。パディングのために転送するデータとして、0以外
を使うことも可能である。
【0085】以上、図8の処理においても、図7につい
て述べたように、トラックのキャッシュを行なう構成が
可能である。
【0086】ー第2の発明の実施の形態ー 図10は、本発明の第2の発明の実施の形態の計算機シ
ステムの要部構成図である。
【0087】本発明の第2の発明の実施の形態の計算機
システムの構成は、第1の発明の実施の形態のディスク
サブシステム80のCKDディスク装置100を、FBA
形式でアクセスされるFBAディスク装置100’に変
更し、さらにCKDーFBAレコード形式変換R/W処
理A4000を別のCKDーFBAレコード形式変換R
/W処理B4010にした構成である。
【0088】CKDーFBAレコード形式変換R/W処
理B4010は、チャネルインタフェース71を経由し
てCKDレコードを受け取り、レコードの格納されるL
BAを計算し、CKDレコードをFBAレコードとして
適当な長さに分割して、レコード形式を、CKDから、
FBAに変換し、そしてFBAレコードを格納する。逆
の処理、つまりレコードの読み出しも同様に動作する。
SCSI R/W処理4040は、SCSIインタフェ
ース61を経由してCPU10が行うリードとライトの
要求を処理する。
【0089】FBAディスク装置100’が複数ある構
成も可能であり、これを図18に示す。図18について
は、後述する。
【0090】このFBAディスク装置100’は、ブロ
ック長を512バイトとし、LBAによるアクセスを提供
する。FBAディスク装置100’は、FBAレコード
を格納し、CKDレコード110は、実際には、FBA
レコード4020と4030として格納される。
【0091】ディスク装置にCKDレコード110が格納
されることや、チャネルインタフェース71を経由し
て、CKD形式にしたがったアクセスをCPU11に提供する
ことは第1の発明の実施の形態と同じである。
【0092】図11は、FBAディスク装置100’に
格納されるデータの配置を示したものである。380’
はバッファ90に読み込まれるトラックの形式である。
390、392そして394は、380’に示すデータ
が、SCSIインタフェース61を経由して、CPU10に転
送されるときの形式を示したものである。390、39
2そして394は図9と同じである。
【0093】380’は、ホームアドレスや、レコード
0を含む。これは、ディスクサブシステム80が、チャ
ネルインタフェース71を経由してCKD形式にしたがっ
たアクセスを受けるために、CKD形式特有の、いわゆる
フォーマットライトコマンドを処理し、書き込まれたデ
ータを保持する必要があるためである。フォーマットラ
イトコマンドの例としては、WRITE HOME ADDRESS や、W
RITE COUNT, KEY, ANDDATAがある。
【0094】図12は、CPU10がディスクサブシス
テム80にSCSI READコマンドを発行したとき
に、ディスクサブシステム80のSCSI R/W 処理
4040が行なう、SCSI READ 処理のフローチャートで
ある。現在の例では、図12の処理は、CPU10のC
KDレコードアクセスライブラリ35の要求にしたがっ
て実行される。FBAディスク装置100’は、第1の
発明の実施の形態において、CPU10とディスクサブ
システム80の間でやりとりされるデータと、同じ形式
のデータストリームを格納している。そのため、SCS
I R/W 処理4040は単純に、SCSI READ
コマンドに指定されたLBAに対応する、FBAディス
ク装置100’の位置から、ブロックの転送を開始す
る。そして、SCSI READ コマンドに指定された
数のブロックが転送されたら、SCSIREAD 処理は終わ
る。
【0095】図22は、CKDーFBAレコード形式変
換R/W処理B4010がCPU11からチャネルイン
タフェース71を経由して1トラック分のデータを受け
取ったときに実行されるWRITE TRACK処理のフロー
チャートである。
【0096】ステップ3000で、CKDーFBAレコ
ード形式変換R/W処理B4010はCPU11からチ
ャネルインタフェース71を経由して1トラック分のデ
ータを受け取り、バッファ90に置く。そして、データ
を、図11のトラックフォーマット380’の形式に、
変換する。
【0097】トラックフォーマット380’は、ホーム
アドレス、レコード0、レコード1とそれ以降のレコー
ド、さらに場合によりパディングデータを含む。トラッ
クフォーマット380’の長さはあらかじめ定められて
おり、SCSI仕様で定められるブロック長、今の場合
512バイト、の整数倍である。トラックフォーマット
380’は、トラックの最後のレコードの後ろに、パデ
ィングデータを含むことがある。トラックフォーマット
380’は、第1の発明の実施の形態において、CKD
ーFBAレコード形式変換R/W処理A4000がCK
Dディスク装置100からバッファ90に1トラック分
のデータを読むときのフォーマットと同じである。
【0098】ステップ3010で、CKDーFBAレコ
ード形式変換R/W処理B4010はバッファ90上の
トラックフォーマット380’をもつデータを、512
バイトのブロックに分割し、各ブロックを、FBAディ
スク装置100’に格納する。現在のステップで生成さ
れるデータストリームの形式は、第1の発明の実施の形
態において、CKDーFBAレコード形式変換R/W処
理A4000がCPU10とディスクサブシステム80
の間で、SCSIインタフェース61を経由してデータ
をやりとりするときに生成されるデータストリームの形
式に等しい。
【0099】図18は、本発明の第2の発明の実施の形
態の計算機システムのFBAディスク装置100’を、
その約半分の容量を持つCKDディスク装置100”お
よびディスク装置2500で置き換えた計算機システム
の要部構成図である。各ディスク装置へのデータの分配
は、トラック単位で行なわれ、偶数トラック番号のもの
はディスク装置2500に、奇数トラック番号のものは
CKDディスク装置100”に格納されるものとする。
【0100】ー第3の発明の実施の形態ー 図13は、本発明の第3の発明の実施の形態の計算機シ
ステムの要部構成図である。
【0101】本発明の第3の発明の実施の形態の計算機
システムの構成は、第1の発明の実施の形態のCKDレコ
ードアクセスライブラリ35を、少し異なる機能を持つ
CKDレコードアクセスライブラリ35”に置き換えた構
成である。さらに、CKD−FBAレコード形式変換R
/WプロセスA’4030は、第1の発明の実施の形態
のCKD−FBAレコード形式変換R/WプロセスA4
000と少し異なる。
【0102】本発明の実施の形態と第1の発明の実施の
形態の主な違いを以下に簡単に述べる。
【0103】第1の発明の実施の形態では、CKDレコー
ドからカウント部を取り除くのはCPU10のCKDレコード
アクセスライブラリ35であったが、本発明の実施の形
態ではディスクサブシステム80がこれを行なう。
【0104】これにともない、第1の発明の実施の形態
では、CKDレコードアクセスライブラリ35はディスク
サブシステム80からトラック単位でデータを読み込ん
だが、本発明の実施の形態ではブロック単位でデータを
読み込む。そして、本発明の実施の形態ではSCSIインタ
フェース60を経由してCKDレコードアクセスライブラ
リ35が受け取るデータにはカウント部がついていない
ので、これだけではレコード境界が決まらない。しかし
これはVSAM をアクセスするうえでは問題にならない。
この理由を、以下に説明する。
【0105】VSAMでは、ディスク装置に格納される物理
的なレコードは、VSAMのユーザであるアプリケーション
プログラムが扱うVSAMレコードとは対応しない。ディス
ク装置への格納すなわちCKDレコードの割当は、CIごと
に行なわれる。CIを格納する各CKDレコードは、キー部
を持たず、データ部の長さは同じVSAMデータセットに属
するCKDレコードであればすべて等しく、VSAMにより1
024バイトなど、適当な長さに決められる。ディスク
サブシステム80は、図8のステップ250のパディン
グ処理をおこなうことで、CKD形式で格納されたデータ
をFBA形式でアクセスするときに、CKD形式でのトラック
境界がFBA形式でのブロック境界をまたがらないことを
保証する。このため、トラック先頭のLBAが与えられれ
ば、目的とするレコードの位置は、レコード番号とレコ
ード長から容易に求めることができる。
【0106】さらに、CKDレコードアクセスライブラリ
35が受け取るデータにカウント部がついていないこと
は、VTOCをアクセスするうえでも問題にならない。VTOC
は、キー部44バイト、データ部96バイトのレコード
の集まりである。このため、上記VSAMの場合と同様に、
レコード位置を求めるのは容易である。
【0107】即ち、CKDレコードアクセスライブラリ3
5は、その上位プログラム、今の場合VSAMアクセス
ライブラリ30から、現在処理対象としているトラック
に、どんな形式のレコードが格納されているかを教わる
ことで、レコード境界を見つけることが可能である。こ
のためカウント部は必要ない。
【0108】ただし、VSAM以外のアクセス法には、任意
長のCKDレコードを扱うものもあるため、本発明の実施
の形態の方式は適用できないものがある。
【0109】図14は、CKDディスク装置100に格
納されるデータの、トラック上の配置を示したものであ
る。305から345は、図9と同じであり、トラック
上の実際の物理的なデータの配置を示す。380”は、
バッファ90に読み込まれるトラックの形式を示したも
のである。390”と392”は、380”に示すデー
タが、SCSIインタフェース61を経由して、CPU10に
転送されるときの形式を示したものである。
【0110】380”のトラック形式は、前記305か
ら345までのフィールドのうち、レコード1以下の、
キー部とデータ部だけを集めたものである。
【0111】図15は、CKDレコードアクセスライブラ
リ35”が行なう、CKDレコード読み込み処理のフロー
チャートである。
【0112】ステップ2200では、指定されたCCHHR
を持つレコードを含むブロックのLBAを計算する。R
は、目的レコ−ドのレコ−ド番号である。
【0113】LBA =(CC *シリンダー容量+HH*トラ
ック容量)/ブロック長+((Rー1)*レコード長)
/ブロック長 最初の項が、目的レコードを含むトラックの先頭アドレ
スであり、2番目の項がトラック上のオフセットであ
る。
【0114】さらに、ブロック内での、目的レコードの
開始オフセットは、 ブロック内オフセット=((Rー1)*レコード長)%
ブロック長 である。
【0115】ステップ2210では、UNIXオペレーティ
ングシステム40のローIO機能をつかって、前記LBAか
ら、((レコード長 +(ブロック長ー1))/ブロッ
ク長)ブロックだけ、あるいは、レコードがブロックを
またがる場合にはさらに1ブロック余分に、SCSIインタ
フェース60を経由してディスクサブシステム80から
データを読む。
【0116】ステップ2220では、読み込んだデータ
のアドレス+ブロック内オフセットをキー部として、そ
してキー部の終了アドレスをデータ部としてコール元に
返して処理を終了する。
【0117】図14で、CKDレコード読み込み処理を例
を使って説明する。
【0118】CKDレコードアクセスライブラリ35”
は、VSAMアクセスライブラリ30から、VTOCのレコ
ード4を読む要求を受けたとする。VTOCは、トラック先
頭のレコード1から開始するとする。ブロック長は51
2バイト、レコード長はキー部が44バイト、データ部
が96バイト、合計140バイトである。
【0119】LBA =(CC *シリンダー容量+HH*トラ
ック容量)/512+((4ー1)*140)/512 であり、ブロック内オフセット=((4ー1)*14
0)%512=420である。
【0120】ステップ2210では、(140+(51
2ー1))/512+1=2ブロックが読み込まれる。
【0121】ステップ2220では、読んだデータの先
頭から420バイト目のアドレスがキー部として、46
4バイト目のアドレスがデータ部として、VSAMアク
セスライブラリ30に返る。
【0122】図23は、CPU10がディスクサブシス
テム80にSCSI READコマンドを発行したとき
に、ディスクサブシステム80のCKD−FBAレコー
ド形式変換R/WプロセスA’4030によって実行さ
れる、SCSI READ 処理のフローチャートであ
る。CKD−FBAレコード形式変換R/WプロセスA
4000の行うSCSI READ処理のフローチャー
トとの違いは、ステップ3100で、CKD−FBAレ
コード形式変換R/WプロセスA’4030はバッファ
90に読まれたCKDレコードから、キー部とデータ部
を抜き出し、これらだけを、SCSIインタフェース6
1を経由してCPU10に転送することである。SCS
I READ 処理のそのほかのステップは、発明の第1
の発明の実施の形態と同じであるので、説明は省略す
る。
【0123】ー第4の発明の実施の形態ー 図16は、本発明の第4の発明の実施の形態の計算機シ
ステムの要部構成図である。
【0124】本発明の第4の発明の実施の形態の計算機
システムの構成は、第1の発明の実施の形態のVSAM
アクセスライブラリ30を、少し異なる機能を持つVS
AMアクセスライブラリ30’’’に置き換え、さらに
CPU11にVTOCユティリティ2300を加えた構成であ
る。
【0125】本発明の実施の形態と第1の発明の実施の
形態の主な違いを以下に簡単に述べる。
【0126】第1の発明の実施の形態のVSAMアクセ
スライブラリ30は、図4に示したVSAM OPEN処理にお
いて、指定されたデータセット名称の形式1DSCBを探す
ために、標準ボリュームラベルとVTOCを読んだ。本発明
の実施の形態のVSAMアクセスライブラリ30’’’
は、そのためにVTOCユティリティ2300が求めたデー
タを使い、ディスクサブシステム80のアクセスはしな
い。
【0127】VTOCユティリティ2300は、VOS3オペレ
ーティングシステム50上で動作し、ディスクサブシス
テム80をアクセスして目的データセットの形式1DSCB
を求める。VOS3オペレーティングシステム50にはこれ
を行なうマクロが提供されており、それをOBTAIN(SEARC
H)マクロと言う。 VTOCユティリティ2300は、OBTAI
N(SEARCH)マクロを、目的とするデータセット名称を指
定して発行する。VOS3オペレーティングシステム50は
VTOCをアクセスして、結果である形式1DSCBをVTOCユテ
ィリティ2300に返す。
【0128】VOS3オペレーティングシステム50はVTOC
をアクセスするときに、VTOC索引を使用したり、指定し
たキー部を持つレコードをサーチするCCW(Channel Comm
andWord)を使用したりするために、一般的にその処理は
第1の発明の実施の形態のVSAMアクセスライブラリ
30の行なう、図4に示したVSAM OPEN処理のステップ
505からステップ540に比べると高速である。
【0129】図17は、VSAMアクセスライブラリ3
0’’’が行う、VSAM ESDSのオープン処理のフローチ
ャートである。
【0130】ステップ500で、UNIXオペレーティング
システム40の、ローIO機能をオープンする。
【0131】ステップ2400では、VSAMアクセス
ライブラリ30’’’はVTOCユティリティ2300より
形式1DSCBを得る。具体的には、プログラム間通信を用
いてVTOCユティリティ2300を呼び出して結果を返送
させてもいいし、あらかじめVTOCユティリティ2300
を実行させておき、その結果を人間がコンソールから入
力してもよい。
【0132】ステップ550では、形式1DSCBをVSA
Mアクセスライブラリ30のローカルな変数にコピーし
て、コール元に戻る。これで、VSAM ESDSのオープン処
理が終わる。
【0133】ー第5の発明の実施の形態ー 図19は、本発明の第5の発明の実施の形態の計算機シ
ステムの要部構成図である。
【0134】本発明の第5の発明の実施の形態の計算機
システムの構成は、第1の発明の実施の形態のVSAM
アクセスライブラリ30を、少し異なる機能を持つVS
AMアクセスライブラリ30””に置き換え、さらにCP
U11にロックユティリティ2600を加えた構成であ
る。
【0135】本発明の実施の形態は、第1の発明の実施
の形態が有する、以下の課題を解決するための機構を有
する。
【0136】VOS3オペレーティングシステム50はカウ
ントキーデータ形式に従うインタフェースでデータをア
クセスし、当該データを管理し、UNIXオペレーティング
システム40は固定長ブロック形式に従うインタフェー
スでデータをアクセスし、当該データを管理する。両オ
ペレーティングシステムは、CKDディスク装置100
にある各データセットが使用中かどうかという情報を、
それぞれのオペレーティングシステムの管理するメモリ
に持つ。このため、お互いがどのデータセットを使用し
ているかはわからない。このため、UNIXオペレーティン
グシステム40上で動作するアプリケーションプログラ
ム20が現在参照しているデータセットを、VOS3オペレ
ーティングシステム50上で動作するアプリケーション
プログラム21が削除してしまうといった不具合を防ぐ
ことができない。このような不具合は、アプリケーショ
ンプログラムあるいはオペレーティングシステムの動作
不良あるいはデータセットの破壊をひきおこすおそれが
あるために、避けなければいけない。このために、本発
明の実施の形態はロックユティリティ2600を有す
る。
【0137】ロックユティリティ2600は、VOS3オペ
レーティングシステム50上で動作するプログラムであ
る。ロックユティリティ2600は、VSAMアクセス
ライブラリ30””の要求に従って、VSAMアクセス
ライブラリ30””がアクセスしようとするデータセッ
トの使用を、 VOS3オペレーティングシステム50に要
求する。しかしロックユティリティ2600は自分では
使用を要求したデータセットへのアクセスは行わない。
データセットへのアクセスはSCSIインタフェースを
経由してUNIXオペレーティングシステム40が行う。VO
S3オペレーティングシステム50には必要に応じてデー
タセットの使用の要求を行なうマクロが提供されてお
り、それをDYNALLOCマクロと言う。VSAMアクセスラ
イブラリ30””は、データセットをアクセスしようと
するときには、そのデータセット名称を指定してロック
ユティリティ2600を呼ぶ。ロックユティリティ26
00は、DYNALLOCマクロを、目的とするデータセット名
称を指定して発行する。これにより、UNIXオペレーティ
ングシステム40がアクセスしようとするデータセット
は、VOS3オペレーティングシステム50にとっても使用
中とみなされるため、前述のアクセスの競合による不具
合を防ぐことができる。
【0138】図20は、VSAMアクセスライブラリ3
0””が行う、VSAM ESDSのオープン処理のフローチャ
ートである。
【0139】ステップ2700で、VSAMアクセスラ
イブラリ30””はオープンしようとするデータセット
名称を指定して、ロックユティリティ2600を呼ぶ。
具体的には、プログラム間通信を用いてロックユティリ
ティ2600を呼び出すなどの方法がある。ロックユテ
ィリティ2600はVOS3オペレーティングシステム50
にDYNALLOCマクロを発行し、データセットの使用を要求
する。これにより、当該データセットは、VOS3オペレー
ティングシステム50で動作するアプリケーションプロ
グラムからアクセスができなくなる。
【0140】以下の処理は図4と同じなので、説明は省
略する。
【0141】図21は、VSAMアクセスライブラリ3
0””が行う、VSAM ESDSのクローズ処理のフローチャ
ートである。
【0142】ステップ2800で、VSAMアクセスラ
イブラリ30””はクローズしようとするデータセット
名称を指定して、ロックユティリティ2600を呼ぶ。
ロックユティリティ2600はVOS3オペレーティングシ
ステム50にDYNALLOCマクロを発行し、データセットの
使用の終了を伝える。これにより、当該データセット
は、VOS3オペレーティングシステム50で動作するアプ
リケーションプログラムからアクセスできるようにな
る。
【0143】以下の処理は図6と同じなので、説明は省
略する。
【0144】本発明の実施の形態では、VSAMアクセ
スライブラリ30””がオープンしたデータセットは、
VOS3オペレーティングシステム50で動作するアプリケ
ーションプログラムからはいっさいアクセスできなくな
る。これを、例えばデータセットの読みだしは許可し、
更新は許可しないようにすることもできる。そのために
は、VSAMアクセスライブラリ30””からロックユ
ティリティ2600に、データセット名称の他に当該デ
ータセットの共用モードを与え、ロックユティリティ2
600がその共用モードに従ってDYNALLOCマクロを発行
するようにすればよい。
【0145】また、VSAMアクセスライブラリ3
0””はロックユティリティ2600を使用して、UNIX
オペレーティングシステム40上で動作するアプリケー
ションプログラム20の要求にしたがって、CKDディ
スク装置100にVOS3オペレーティングシステム50の
管理するデータセットを新規に作成することができる。
同様に、データセットを削除したり、既存のデータセッ
トの大きさを拡張、縮小することもできる。
【0146】
【発明の効果】本発明の計算機システムによれば、メイ
ンフレームと、オープンシステムとの間で、データが共
用できる。これにより、より柔軟で、安価かつ高性能な
計算機システムを構成することができる。
【図面の簡単な説明】
【図1】本発明の第1の発明の実施の形態の計算機シス
テムの要部構成図である。
【図2】本発明の第1の発明の実施の形態のUNIXオペレ
ーティングシステムの要部構成図である。
【図3】本発明の第1の発明の実施の形態のアプリケー
ションプログラムの処理の手順を示すフローチャートで
ある。
【図4】本発明の第1の発明の実施の形態のVSAM OPEN
処理の手順を示すフローチャートである。
【図5】本発明の第1の発明の実施の形態のVSAM READ
処理の手順を示すフローチャートである。
【図6】本発明の第1の発明の実施の形態のVSAM CLOSE
処理の手順を示すフローチャートである。
【図7】本発明の第1の発明の実施の形態のCKDレコー
ド読み込み処理の手順を示すフローチャートである。
【図8】本発明の第1の発明の実施の形態のSCSI READ
処理の手順を示すフローチャートである。
【図9】本発明の第1の発明の実施の形態のトラック形
式のデータ構造図である。
【図10】本発明の第2の発明の実施の形態の計算機シ
ステムの要部構成図である。
【図11】本発明の第2の発明の実施の形態のトラック
形式のデータ構造図である。
【図12】本発明の第2の発明の実施の形態のSCSI REA
D処理の手順を示すフローチャートである。
【図13】本発明の第3の発明の実施の形態の計算機シ
ステムの要部構成図である。
【図14】本発明の第3の発明の実施の形態のトラック
形式のデータ構造図である。
【図15】本発明の第3の発明の実施の形態のCKDレコ
ード読み込み処理の手順を示すフローチャートである。
【図16】本発明の第4の発明の実施の形態の計算機シ
ステムの要部構成図である。
【図17】本発明の第4の発明の実施の形態のVSAM OPE
N処理の手順を示すフローチャートである。
【図18】本発明の第2の発明の実施の形態の計算機シ
ステムの要部構成図である。
【図19】本発明の第5の発明の実施の形態の計算機シ
ステムの要部構成図である。
【図20】本発明の第5の発明の実施の形態のVSAM OPE
N処理の手順を示すフローチャートである。
【図21】本発明の第5の発明の実施の形態のVSAM CLO
SE処理の手順を示すフローチャートである。
【図22】本発明の第2の発明の実施の形態のWRITE TR
ACK 処理の手順を示すフローチャートである。
【図23】本発明の第3の発明の実施の形態のSCSI REA
D 処理の手順を示すフローチャートである。
【符号の説明】
10、11: CPU、 20、21: アプリケーションプログラム、 30、30’’’、30””:VSAMアクセスライブラ
リ、 35、35”:CKDレコードアクセスライブラリ、 40: UNIXオペレーティングシステム、 50: VOS3オペレーティングシステム、 60、61:SCSIインタフェース、 70、71:チャネルインタフェース、 80:ディスクサブシステム、 90:バッファ、 100、100””:CKDディスク装置、 100’:FBAディスク装置、 4000:CKDーFBAレコード形式変換R/W処理
A、 4010:CKDーFBAレコード形式変換R/W処理
B、 4030:CKDーFBAレコード形式変換R/W処理
A’、 4040:SCSI R/W処理
───────────────────────────────────────────────────── フロントページの続き (72)発明者 吉田 稔 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】カウントキーデータ形式に従うインタフェ
    ースと固定長ブロック形式に従うインタフェースとを有
    する記憶装置を含む計算機システムにおいて、シリンダ
    ー番号、ヘッド番号そしてレコード番号で指定されるカ
    ウントキーデータ形式のレコードアドレスと、論理ブロ
    ックアドレスで指定される固定長ブロック形式のアドレ
    スとを互いに変換する手段と、カウントキーデータ形式
    で記憶装置に格納されているレコードを固定長ブロック
    形式に従うインタフェースでアクセスさせる手段と、前
    記レコードから、ユーザデータだけを取り出す手段と、
    前記レコードのユーザデータをあらかじめ定められた形
    式にしたがって解釈し、利用する手段とを有することを
    特徴とする計算機システム。
  2. 【請求項2】ディスクアクセスをアクセスするディスク
    装置のカウントキーデータ形式にしたがって行う第1の
    計算機と、ディスクアクセスを固定長ブロック形式にし
    たがって行う第2の計算機と、前記第1及び第2の計算
    機に接続するディスクサブシステムとを含んで構成され
    る計算機システムであって、前記ディスクサブシステム
    は、前記第1の計算機と接続し、カウントキーデータ形
    式に従う第1のインタフェースと、前記第2の計算機と
    接続し、固定長ブロック形式に従う第2のインタフェー
    スと、前記第1及び第2の計算機からアクセスされるデ
    ータをカウントキーデータ形式で格納するディスク装置
    と、前記第2のインタフェースから受けた固定長ブロッ
    ク形式のアドレスに基づき前記ディスク装置からデータ
    を読み出し、該読み出したデータを前記第2のインタフ
    ェースを介して固定長形式のブロック単位で前記第2の
    計算機に転送する手段を有し、前記第2の計算機は、ア
    プリケーションプログラムから発行されるカウントキー
    データ形式に従ったディスクアクセス要求を受け付け、
    カウントキーデータ形式のアドレスを前記固定長ブロッ
    ク形式のアドレスに変換する手段と、変換された固定長
    ブロック形式のアドレスを用いて前記ディスクサブシス
    テムへアクセスする手段と、前記ディスクサブシステム
    から転送されたブロック単位のデータからアクセス要求
    で指定されたレコードのデータを抽出する手段を有する
    ことを特徴とする計算機システム。
  3. 【請求項3】前記転送手段は、前記固定長形式のアドレ
    スを基づき前記アクセス要求で指定されるレコードを格
    納した領域のシリンダ番号、ヘッド番号を算出して前記
    指定レコードを含むトラックのデータを前記ディスク装
    置から読み出し、前記固定長形式のアドレスにより定ま
    る前記トラック内でのブロックの先頭位置を判定し、前
    記トラック内の前記先頭位置以降にあるデータを前記固
    定長形式に従ったブロック単位で前記第2の計算機に転
    送することを特徴とする請求項2記載の計算機システ
    ム。
  4. 【請求項4】前記転送手段は、転送中のデータブロック
    の途中で前記トラックのデータ転送を終了した場合、該
    転送中のデータブロックの終端まで予め定められたデー
    タを転送することを特徴とする請求項3記載の計算機シ
    ステム。
  5. 【請求項5】前記ディスク装置は、固定長の記憶領域を
    有し、前記カウントキーデータ形式のデータを前記固定
    長の記憶領域の大きさに分割して格納しており、前記転
    送手段は、前記固定長形式のアドレスに基づき、転送す
    べきデータを格納した前記ディスク装置の記憶領域を判
    定してデータの読み出しを行うことを特徴とする請求項
    2記載の計算機システム。
  6. 【請求項6】前記転送手段は、前記固定長形式のアドレ
    スに基づいて、前記カウントキーデータ形式のデータを
    アクセスするためのシリンダ番号、ヘッド番号、及びレ
    コード番号を算出し、算出したシリンダ番号、ヘッド番
    号、及びレコード番号から転送すべきデータを格納した
    記憶領域のアドレスを算出することを特徴とする請求項
    5記載の計算機システム。
  7. 【請求項7】カウントキーデータ形式に従うインタフェ
    ースと、固定長ブロック形式に従うインタフェースの両
    方を有する記憶装置を含む計算機システムにおいて、 シリンダー番号、ヘッド番号そしてレコード番号で指定
    されるカウントキーデータ形式のレコードアドレスと、
    LBA(Logical Block Address)で指定される固定長
    ブロック形式のアドレスとを互いに変換する手段と、 カウントキーデータ形式で記憶装置に格納されているレ
    コードを固定長ブロック形式に従うインタフェースでア
    クセスさせる手段と、 前記レコードから、ユーザデータだけを取り出す手段
    と、 前記レコードのユーザデータを、あらかじめ定められた
    形式にしたがって解釈し、利用する手段とを有すること
    を特徴とする計算機システム。
  8. 【請求項8】請求項7記載の計算機システムであって、 カウントキーデータ形式に従うインタフェースでデータ
    をアクセスし、当該データを管理する第1の管理手段
    と、 固定長ブロック形式に従うインタフェースでデータをア
    クセスし、当該データを管理する第2の管理手段と、 前記第1及び第2の管理手段のいずれかがあるデータを
    使用している場合、もう片方の手段にとっても当該デー
    タが使用中であると、もう片方の手段をして知らしめる
    手段とを有することを特徴とする計算機システム。
JP05277497A 1997-03-07 1997-03-07 計算機システム Expired - Fee Related JP3528500B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05277497A JP3528500B2 (ja) 1997-03-07 1997-03-07 計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05277497A JP3528500B2 (ja) 1997-03-07 1997-03-07 計算機システム

Publications (2)

Publication Number Publication Date
JPH10254742A true JPH10254742A (ja) 1998-09-25
JP3528500B2 JP3528500B2 (ja) 2004-05-17

Family

ID=12924216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05277497A Expired - Fee Related JP3528500B2 (ja) 1997-03-07 1997-03-07 計算機システム

Country Status (1)

Country Link
JP (1) JP3528500B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001024010A1 (en) * 1999-09-29 2001-04-05 Hitachi, Ltd. Method of file sharing and storage system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3384258B2 (ja) 1996-01-19 2003-03-10 株式会社日立製作所 計算機システム
JP3245364B2 (ja) 1996-09-02 2002-01-15 株式会社日立製作所 互いに異なるインタフェースを介して記憶装置を共用する方法及びシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001024010A1 (en) * 1999-09-29 2001-04-05 Hitachi, Ltd. Method of file sharing and storage system
US7353240B1 (en) 1999-09-29 2008-04-01 Hitachi, Ltd. Method and storage system that enable sharing files among multiple servers

Also Published As

Publication number Publication date
JP3528500B2 (ja) 2004-05-17

Similar Documents

Publication Publication Date Title
US6041391A (en) Storage device and method for data sharing
US6192444B1 (en) Method and system for providing additional addressable functional space on a disk for use with a virtual data storage subsystem
JP3245364B2 (ja) 互いに異なるインタフェースを介して記憶装置を共用する方法及びシステム
US5761667A (en) Method of optimizing database organization using sequential unload/load operations
JP4124331B2 (ja) Dbms向け仮想ボリューム作成・管理方法
US6772283B2 (en) Disk control device and method processing variable-block and fixed-block accesses from host devices
JP7794381B2 (ja) データ圧縮方法及び装置
KR20020080458A (ko) 가상 디스크 드라이브를 이용한 저장 시스템의 물리적섹터의 파티션 재생성 방법, 데이터 처리 장치 및 데이터저장 장치
US7353240B1 (en) Method and storage system that enable sharing files among multiple servers
JP3407628B2 (ja) 計算機システム
JP2001243100A (ja) 大容量記憶装置における区分テーブル、ファイル装置ディレクトリ構造、および個々のファイルクラスタチエンのバッファリング
JP2001101046A (ja) 情報処理装置及びその方法、コンピュータ可読メモリ
US20060085663A1 (en) Method for keeping snapshot image in a storage system
US20080071983A1 (en) Information processing apparatus, information processing method and storage system
JP3384258B2 (ja) 計算機システム
EP1079298A2 (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
JPH1063551A (ja) 情報処理装置
JPH1185576A (ja) データ移行方法および情報処理システム
JP3925461B2 (ja) 計算機システム
JP3528500B2 (ja) 計算機システム
JP3925246B2 (ja) 計算機システム
JPH06110766A (ja) 分割格納ファイルシステムのディレクトリ構成方法および計算機システム
JP3111912B2 (ja) ディスクキャッシュ制御方式
JP2001125754A (ja) ディスク・アレイのデータ・アクセス方法
JP2615046B2 (ja) レコード追加処理方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040108

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: 20040203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040216

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

Free format text: PAYMENT UNTIL: 20090305

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100305

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110305

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110305

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120305

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140305

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees