[go: up one dir, main page]

JP2868015B1 - デイスクストレージシステム - Google Patents

デイスクストレージシステム

Info

Publication number
JP2868015B1
JP2868015B1 JP10174327A JP17432798A JP2868015B1 JP 2868015 B1 JP2868015 B1 JP 2868015B1 JP 10174327 A JP10174327 A JP 10174327A JP 17432798 A JP17432798 A JP 17432798A JP 2868015 B1 JP2868015 B1 JP 2868015B1
Authority
JP
Japan
Prior art keywords
processing
disk device
disk
write
input
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 - Lifetime
Application number
JP10174327A
Other languages
English (en)
Other versions
JPH11149350A (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 JP10174327A priority Critical patent/JP2868015B1/ja
Application granted granted Critical
Publication of JP2868015B1 publication Critical patent/JP2868015B1/ja
Publication of JPH11149350A publication Critical patent/JPH11149350A/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【要約】 【課題】記憶装置グループに対する複数のリード要求を
効率良く実行する。 【解決手段】制御装置は、第1のリード要求と第2のリ
ード要求を、記憶装置グループ内の異なる記憶装置と、
異なるパスと、異なる外部コネクションポイントを用い
て実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、記憶装置の間で、
実行すべき負荷を分散するためのデイスクストレージシ
ステムに関する。
【0002】
【従来の技術】特開昭60−114947では、ディス
クキャッシュ(以下、単にキャッシュと呼ぶ場合があ
る。)を有する制御装置におけるディスク装置の2重書
き機能に関する技術が開示されている。ここでは、同一
のデータを書き込む2つのディスク装置を、2重書きデ
ィスクと呼ぶ。
【0003】特開昭60−114947には、ディスク
キャッシュを利用してライトデータ2重(2つの)のデ
ィスク装置を制御する方法が、以下のように説明されて
いる。制御装置は、CPUからの入出力要求を、2つの
ディスク装置のうちの1つのディスク装置に対して処理
する。リード要求(入力要求)を受け付けた場合には、
制御装置は受け付けた要求をそのまま実行する。CPU
からライト要求(出力要求)を受け付けた場合には、以
下の処理を実行する。すなわち、2重書きディスクのう
ちの一方のディスク装置に、データを書き込むと共に、
ディスクキャッシュにもこのデータを書き込んでおく。
そして、制御装置は後で、空いた時間を利用して、ディ
スクキャッシュに書き込んでおいたデータを他方のディ
スク装置に書き込む。この書き込み処理は、ライトアフ
タ処理と呼ばれる。以上により、2重書きディスク装置
に同一のデータが書き込まれる。
【0004】特公昭61−28128では、2重化ファ
イルの制御方法として2重書きディスク装置の負荷分散
に関する技術が開示されている。特公昭61−2812
8は、入出力要求を処理する際、空いているディスク装
置を選択することにより処理の高速化をねらったもので
ある。ただし、特公昭61−28128は、特開昭60
−114947のように、ディスクキャッシュを利用し
たライトアフタ制御によりデータを2重書きする方法を
用いていない。
【0005】西垣他:順次アクセス入力処理におけるデ
ィスクキャッシュの効果解析,情報処理学会論文誌,V
ol.25,No.2,pp.313−320(198
4)の論文においては、以下の技術が開示されている。
ディスクキャッシュを有する制御装置における、シーケ
ンシャル処理に対する先読み処理、すなわち、CPUか
らは要求されていないデータを、キャッシュにステージ
する技術である。このステージ処理は、CPUからの入
出力要求に対応するとは、独立に制御装置が実行する。
【0006】
【発明が解決しようとする課題】特開昭60−1149
47は、2重書きディスクにおいては制御装置が処理対
象とすることができるディスク装置は複数存在するとい
う利点に注目していない。すなわち、CPUから受け付
けた入出力要求に対して選択すべきディスク装置を特定
の1台に限定している。
【0007】一方、特公昭61−28128で開示され
ているように、入出力要求に対応して、空いているディ
スク装置を選択するという方法は、性能的には優れてい
る。しかし、この方法を、キャッシュを利用したライト
アフタ制御により2重書き機能を実現するケースに適用
すると信頼性の点で劣化が生ずる。これは、すべてのデ
ィスク装置に対応するCPUから受け付けた末書き込み
のライトデータがある可能性が高いためである。したが
って、キャッシュの電源のダウンと、どれか1台のディ
スク装置の障害が重なると、CPUから受け付けたライ
トデータが消失することになる。
【0008】さらに、キャッシュを有する制御装置の場
合、CPUから受け取る入出力要求とは独立に、制御装
置がキャッシュとディスク装置との間で、入出力処理を
実行する。(これは、西垣他:順次アクセス入力処理に
おけるディスクキャッシュの効果解析,情報処理学会論
文誌,Vol.25,No.2,pp.313−320
(1984)に開示されている。)したがって、制御装
置がCPUからの入出力要求とは、独立に実行する入出
力処理に対しても、その処理を割り当てるべき対象とし
て選択できるディスク装置が複数存在するということに
注目すべきである。
【0009】本発明は、キャッシュを利用したライトア
フタ処理により、1台以上のディスク装置からなるディ
スク装置グループに対して同一のデータを書き込む制御
方法および制御装置に関する。
【0010】本発明の目的は、ディスク装置グループ内
のディスク装置との間で実行すべき入出力処理の負荷を
分散し、入出力処理の実行の並列度を向上させる制御装
置および制御方法を提供することにある。
【0011】
【課題を解決するための手段】課題を解決するための方
法および装置の説明を分かり易くするために、制御装置
がディスク装置との間で実行する入出力処理を分類す
る。
【0012】制御装置がディスク装置との間で実行する
入出力処理は、以下の4種類に分類できる。
【0013】(1)CPUから受け付けたライト要求に
対する処理であって、ディスク装置にアクセスする必要
のある処理。
【0014】(2)CPUから受け付けたリード要求に
対する処理であって、ディスク装置にアクセスする必要
のある処理。
【0015】(3)CPUからの入出力要求(リード要
求/ライト要求)とは独立した、ディスク装置からキャ
ッシュへデータを転送するステージ処理。
【0016】(4)ディスク装置との間で実行するライ
トアフタ処理。
【0017】以上の入出力処理のうち、ライトアフタ処
理は負荷分散の対象とはならない。以下、その理由を述
べる。ライトアフタ処理は、CPUから受け付けたライ
ト要求の実行の際に、データを書き込んだディスク装置
以外のディスク装置グループ内のすべてのディスク装置
に対して実行する処理である。このため、ライトアフタ
処理を実行すべきディスク装置を選択する自由度はない
ことになる。したがって、上記の(1)から(4)の処
理の内、(1)から(3)の処理が負荷分散の対象とな
る。
【0018】本明細書では、負荷分散を実行する方法と
して2種類の方法を示す。便宜的に、これらの方法を負
荷分散方法1,負荷分散方法2と呼ぶ。以下、それぞれ
の方法について述べる。
【0019】負荷分散方法1…制御装置は、上記(2)
または(3)の入出力処理を実行すべきディスク装置を
選択する際、ディスク装置グループ内の任意の空いた状
態にあるディスク装置を選択する。上記(1)のディス
ク装置にアクセスする必要のあるCPUから受け付けた
ライト要求に対応してディスク装置を選択する際は、デ
ィスク装置グループ内の特定のディスク装置を選択す
る。
【0020】負荷分散方法2…制御装置は、前述の処理
分類(1)、すなわち、ディスク装置にアクセスする必
要のあるCPUから受け付けたライト要求に対応して、
ディスク装置を選択する際は、ディスク装置グループ内
の特定のディスク装置を選択する。処理分類(2)また
は(3)に示した入出力処理の実行すべきディスク装置
を選択する際は、上記の特定のディスク装置以外のディ
スク装置を優先的に選択する。
【0021】負荷分散方法1および負荷分散方法2のそ
れぞれに対応した作用について述べる。
【0022】(1)負荷分散方法1の場合 制御装置は、あるディスク装置グループに対して、ディ
スク装置にアクセスする必要のあるリード要求をCPU
から受け取ると、以下の処理を実行する。そのリード要
求に対して、ディスク装置グループ内の空いた状態にあ
る任意の1台のディスク装置を選択する。空いた状態の
ディスク装置が1台もない場合、制御装置はそのリード
要求を待たせる。また、ディスク装置にアクセスする必
要のあるライト要求を受け取った場合には、そのライト
要求に対して、ディスク装置グループ内の特定の1台の
ディスク装置を選択する。ただし、この特定のディスク
装置が空いた状態になければ、制御装置はそのライト要
求を待たせる。
【0023】また、制御装置が、CPUからの入出力要
求とは独立したステージ処理を実行しようとした場合に
も、以下のような処理を行う。すなわち、このステージ
処理に対応し、ディスク装置グループ内の空いた状態に
ある任意の1台のディスク装置を選択する。空いた状態
のディスク装置が1台もない場合、制御装置は、そのス
テージ処理を実行しない。
【0024】負荷分散方法1の信頼性および性能面の特
徴を以下に示す。
【0025】負荷分散方法1は、特開昭60−1149
47に開示されている方法に比べて、分散の効果はやや
劣るものの、特公昭61−28128に開示されている
方法に較べると、優れた性能を得ることができる。
【0026】以下、この理由を述べる。負荷分散方法1
は、ライト要求に対するディスク装置選択の自由度に制
限を設けていることになる。したがって、特開昭60−
114947に開示されている方法に比べて、分散の効
果は劣ることになる。ただし、リード要求に対しては空
いた状態にあるディスク装置を選択する。通常、ディス
ク装置に対する入出力要求の割合は、リード要求の方が
ライト要求に比べて、かなり多い。(3対1から4対1
程度)したがって、負荷分散方法1は、特開昭60−1
14947に開示されている方法に較べ、それほど性能
劣化は生じないことになる。一方、すべての入出力要求
を1台のディスク装置に集中させる特公昭61−281
28の方法に比べると、負荷分散方法1は優れた性能を
得ることができる。
【0027】負荷分散方法1の信頼性は、特開昭60−
114947に開示されている方法に比べて高く、特公
昭61−28128の方法に較べると、ほぼ同等であ
る。
【0028】以下、その理由を述べる。負荷分散方法
1、または、特公昭61−28128では、ライト要求
を集中させるディスク装置に対して、ライトアフタ処理
すべきデータがない。したがって、キャッシュの電源が
ダウンしても、ライト要求を集中させるディスク装置に
障害が発生しなければ、CPUから受け付けたライトデ
ータが消失しない。
【0029】以上より、負荷分散方法1により、ディス
ク装置グループの高性能化/高信頼化をバランスよく実
現する負荷分散が可能となる。
【0030】(2)負荷分散方法2の場合 制御装置は、ディスク装置グループのディスク装置にア
クセスする必要のあるライト要求をCPUから受け取っ
た場合には、そのライト要求に対応して、ディスク装置
グループ内の特定の1台のディスク装置を選択する。た
だし、この特定のディスク装置が空いた状態になけれ
ば、制御装置は、そのライト要求を待たせる。また、あ
るディスク装置グループのディスク装置にアクセスする
必要のあるリード要求をCPUから受け取ると、以下の
処理を実行する。まず、上記の特定のディスク装置以外
のディスク装置の中で、空いた状態にある任意の1台の
ディスク装置を選択する。空いたディスク装置が、1台
もないとき、上記の特定のディスク装置が空いているか
否かを調べる。空いている場合、制御装置は、この特定
のディスク装置を、受け取ったリード要求のために選択
する。空いていない場合、制御装置は、そのリード要求
を待たせる。
【0031】また、制御装置が、CPUからの入出力要
求とは独立したステージ処理を実行しようとした場合に
も、以下のような処理を行う。まず、上記の特定のディ
スク装置以外のディスク装置の空いた状態にある任意の
1台のディスク装置を選択する。空いたディスク装置
が、1台もない場合、上記の特定のディスク装置が空い
ているか否かを調べる。空いている場合、制御装置は、
この特定のディスク装置を、実行しようとしたステージ
処理のために選択する。空いていない場合、制御装置
は、そのステージ処理を実行しない。
【0032】以上述べた分散方法をとる理由は、以下の
とおりである。例えば、CPUからのライト要求に対応
する処理を集中させる特定のディスク装置に、リード要
求に対応する処理割り当てるとする。この場合、リード
要求に対応する処理が完了しないうちに、ライト要求を
受け取ると、ライト要求に対応する処理に入れないこと
になる。したがって、特定のディスク装置を選択する必
要のないCPUからのライト要求に対応する処理以外の
処理は、この特定のディスク装置以外のディスク装置を
優先的に割り当てをした方が、分散の効果を高くするこ
とができる。
【0033】
【発明の実施の形態】以下、本発明について、2種類の
実施例を説明するが、まず、両実施例に共通する内容に
ついて述べる。
【0034】図2は、本発明の適用対象となる計算機シ
ステムの構成である。計算機システムは、CPU20
0,主記憶201,チャネル202とからなる処理装置
210と、制御装置203と、1台以上のn台のディス
ク装置204とより構成される。なお、制御装置203
に複数の処理装置210が接続されている場合にも、本
発明を適用できることは後述の内容から明らかになる。
【0035】n台のディスク装置204は、それぞれ1
台以上のディスク装置204からなるm個のディスク装
置グループ211にグループ化されている。各ディスク
装置グループ211に属するディスク装置204の台数
は各々異なっていてもよい。それぞれのディスク装置2
04は、ある1つのディスク装置グループ211に属す
る。それぞれのディスク装置204が、どのディスク装
置グループ211に属するかを決定する方法は、本発明
には直接関係ないため、説明を省略する。
【0036】制御装置203は、1つ以上のディレクタ
205,キャッシュ(メモリ)206,制御情報用メモ
リ207およびディレクトリ208より構成される。各
ディレクタ205は、チャネル202とディスク装置2
04との間、チャネル202とキャッシュ206との
間、ならびに、キャッシュ206とディスク装置204
との間でデータを転送する。キャッシュ206には、デ
ィスク装置204に格納されているデータの中でアクセ
ス頻度の高いデータをステージしておく。ディレクトリ
208は、キャッシュ206の管理情報を格納する。ス
テージ処理は、ディレクタ205によって実行される。
具体的なステージデータの例は、CPU20からのアク
セス対象となったデータ、および、このデータとディス
ク装置204の格納位置が近いデータなどである。
【0037】本発明の対象となる制御装置203は、あ
るディスク装置グループ211に属するディスク装置2
04に同一のデータを書き込む機能、いわゆる、多重書
き機能を有する。したがって、処理装置210は、それ
ぞれのディスク装置グループ211に対して入出力要求
を発行すると考えてよい。
【0038】本発明においては、制御装置203から見
ると、処理装置204から受け付ける入出力要求は以下
のように分類できる。
【0039】(1)キャッシュ206と処理装置210
との間のデータ転送の要求であり、ディスク装置グルー
プ211には、アクセスしない入出力処理パターンであ
る。これは、例えば、処理装置210から受け付けたリ
ード要求に対応するデータがキャッシュ206内にステ
ージされている場合に実行される処理パターンである。
【0040】(2)ディスク装置グループ211内のデ
ィスク装置204にアクセスが必要となる入出力処理パ
ターンである。
【0041】(3)さらに、制御装置203が、キャッ
シュ206を有する場合、処理装置210から受け付け
た入出力要求とは独立に、制御装置203が以下の入出
力処理を実行する。
【0042】キャッシュ206とディスク装置グループ
211内のディスク装置204との間の入出力処理パタ
ーンであり、処理装置210が関与しないデータ転送パ
ターンである。
【0043】本発明は、同一のディスク装置グループ2
11に属するディスク装置204の間の負荷分散方法に
関する。したがって、(1)に示したディスク装置グル
ープ211にアクセスする必要のない処理パターンは、
本発明には、直接関係しないことになる。制御装置20
3が実行する入出力処理パターンのうち(2)および
(3)に示した入出力処理パターンが本発明の対象とな
ることになる。なお、(2)あるいは(3)に示した入
出力処理を割り当てられていない(処理を実行中でな
い)ディスク装置204を、空いた状態にあるディスク
装置と呼ぶ。
【0044】以下、2種類それぞれの実施例の概要を説
明する。まず、第1の実施例の概要を説明する。
【0045】図1は、第1の実施例における、制御装置
203の動作を説明する図である。
【0046】図1の構成においては、それぞれのディス
ク装置グループA,BおよびC内に、1台のマスタディ
スクA,B、およびCが存在する。マスタディスクと他
のディスク装置との相違については、後述する。マスタ
ディスクとは、各ディスク装置グループ内で予め定めた
特定のディスク装置である。
【0047】図1においては、ディスク装置グループA
およびディスク装置グループBおよびディスク装置グル
ープCが制御装置203に接続されている。
【0048】ディスク装置グループAは、マスタディス
クA,ディスクA1,…,ディスクAiによって構成さ
れる。同様に、ディスク装置グループBは、マスタディ
スクB,…,ディスクBjによって、ディスク装置グル
ープCは、マスタディスクC,…,ディスクCkによっ
てそれぞれ構成される。
【0049】制御装置203が、処理装置210から受
け取り、ディスク装置グループ211にアクセスする必
要のある入出力要求を、ライト要求とリード要求に分け
て説明する。図1において、ライト要求に伴うデータの
流れを符号110,リード要求に伴うデータの流れを符
号113で示してある。以下、それぞれの要求に対する
データ転送パターンについて述べる。
【0050】制御装置203は、ディスク装置グループ
Aにアクセスする必要のあるライト要求110を受け取
っている。制御装置203は、ディスク装置グループA
の中で、マスタディスクAを選択する。すなわち、マス
タディスクAとは、ディスク装置グループAにアクセス
する必要のあるライト要求を集中させるディスク装置と
いうことになる。
【0051】制御装置203は、処理装置210から受
け付けたライト要求に伴うデータをマスタディスクAに
書き込むと共に、キャッシュ206にも書き込む。制御
装置203は、同一のディスク装置グループに属するデ
ィスク装置、例えば、マスタディスクA,ディスク装置
A1,…,ディスク装置Aiには、同一のデータの書き
込み処理を実行する。キャッシュ206内に書き込んだ
ライトデータ111は上記の書き込み処理を実行するた
めに使用する。具体的には、後で、説明する。
【0052】ディスク装置グループAにアクセスする必
要のあるライト要求を受け付けた場合、マスタディスク
Aを選択する理由は、以下のとおりである。ディスク装
置グループAにアクセスする必要のあるライト要求をマ
スタディスクAに必ず割り当てるようにすると、マスタ
ディスクAには、処理装置210から受け取ったライト
データ112のすべてを書き込むことになる。このた
め、例えば、マスタディスクA以外のディスクAiが故
障して、キャッシュ206が電源ダウンした場合にも、
マスタディスクAに完全なデータが保持される。
【0053】しかし、処理装置210から受け付けたラ
イト要求の割当てに、ディスク装置の選択の自由度を制
限しているため性能は落ちることになる。具体的には、
制御装置203が、ディスク装置グループAにアクセス
する必要のあるライト要求110を受け付けた時、マス
タディスクA以外のディスクA1などが空いていても、
マスタディスクAが空いていない場合、直ちにその処理
に入ることができないことになる。
【0054】図1では、制御装置203は、ディスク装
置処理グループCにアクセスする必要のあるリード要求
を受け取った場合も示している。この時、制御装置20
3は、ディスク装置グループCの中で、空いた状態にあ
る任意のディスク装置の中から1つのディスク装置(図
1では、ディスクC1)を選択する。
【0055】制御装置203は、ディスクC1から処理
装置210に対して、要求されたデータを送る。(この
経路を符号113で示す。)この時、処理装置210が
要求したデータ、(もしくは、処理装置210が要求し
たデータとこのデータのディスクC1上の近傍のデー
タ)をステージデータ114として、キャッシュ206
にステージしてもよい。この様子を破線でしめす。
【0056】制御装置203が、処理装置210から受
け付けた入出力要求とは独立に実行するディスク装置グ
ループとキャッシュ206との間の入出力処理は、図1
に示した以下の処理がある。ライトデータを、ディスク
装置に書き込むライトアフタ処理と、処理装置210か
らの入出力要求とは独立なステージ処理である。処理装
置210とは独立なステージ処理の例は、シーケンシャ
ル処理に対する先読み処理を制御装置203が実行する
場合に相当する。以下、それぞれの場合について説明す
る。
【0057】ライトアフタ処理は、キャッシュ206内
のライトデータ111を、未書き込みであるディスク装
置Aiに、書き込む処理である。ディスク装置グループ
Aの中で、処理装置210から受け取ったライトデータ
111を直接書き込んだマスタディスクAには、ライト
アフタ処理を実行する必要ない。したがって、マスタデ
ィスクAを除く、ディスクA1,…,ディスクAiに
は、順次ライトアフタ処理が実行される。実行順序は不
同でもよい。
【0058】制御装置203は、あるディスク装置グル
ープBに対して処理装置210とは独立な、ステージ処
理を実行する場合、ディスク装置グループBの中で空い
た状態にある任意の1台のディスク装置を選択する。図
1では、制御装置203は、ディスクBjから、ステー
ジデータ116をキャッシュ206にステージしてい
る。
【0059】以上が、本実施例における制御装置203
の動作である。その特徴点は、以下のとおりである。
【0060】処理装置210から受け付けたディスク装
置グループにアクセスする必要があるライト要求に対し
ては、マスタディスクを選択して信頼性を確保する。一
方、ディスク装置グループからデータを読みだす場合、
空いた状態にあるディスク装置を選択する。以上によ
り、高信頼化と高性能化とをバランスよく実現する。
【0061】以下、図3から図5を用いて、並列動作の
例を示す。
【0062】図3は、制御装置203が、以下のパター
ンの入出力処理の並列実行の形態を表している。
【0063】第1のパターンの入出力処理は、処理装置
210から受け付けたディスク装置グループAにアクセ
スする必要のある入出力処理である。
【0064】第2のパターンの入出力処理は、処理装置
210とは独立に制御装置203がキャッシュ206と
の間で実行する入出力処理である。
【0065】例えば、図3に示すように、制御装置20
3が、ディスクA1との間で処理装置210からの入出
力処理とは独立なステージ処理,ディスクA2との間で
ライトアフタ処理を実行しているとする。この時、さら
に、制御装置203が、処理装置210からディスク装
置グループAへのアクセスが必要な入出力要求を受け取
ったとする。図3は、ディスク装置グループAへのアク
セスが必要なリード要求を受け取った例である。この場
合、制御装置203は、ディスク装置グループAの中か
ら空いた状態のディスク装置Aiを選択することによ
り、受け取った入出力要求の実行に入ることができる。
ただし、処理装置210から受け取った入出力要求が、
ディスク装置グループAへのアクセスが必要なライト要
求の場合には、マスタディスクAが空いていないと、同
様の処理が実行できない。
【0066】また、図3では、それぞれライトアフタ処
理,処理装置210とは独立なステージ処理を1多重ず
つ実行している。ただし、空いた状態にあるディスク装
置があれば、制御装置203は、それぞれ2多重以上の
ライトアフタ処理,処理装置210とは独立なステージ
処理を実行可能である。
【0067】図4および図5は、処理装置210から受
け付けた入出力処理の並列動作に関する内容である。
【0068】図4は、制御装置203に処理装置210
が複数,具体的には、処理装置210と処理装置210
aが接続されている場合である。
【0069】制御装置203が、処理装置210から受
け取ったディスク装置グループAにアクセスする必要の
あるリード要求の処理を、ディスクA1との間で処理を
実行しているとする。この時、制御装置203が、処理
装置210aからディスク装置グループAにアクセスす
る必要のあるリード要求を、受け取ったとする。制御装
置203は、ディスク装置グループAの中で空いた状態
にある任意のディスク装置、すなわち、ディスクAiを
選択し、受け取ったリード要求の処理に入る。もちろ
ん、処理装置210aからディスク装置グループAにア
クセスする必要のあるライト要求を受け取った場合にも
空いた状態にあるディスク装置があれば、直ちにその処
理に入ることができる。ただし、マスタディスクAの競
合により、ディスク装置グループAにアクセスする必要
のあるライト要求どうしの並列動作は実行不可能であ
る。
【0070】さらに、3台以上の処理装置が制御装置2
03に接続されている場合には、空いた状態にあるディ
スク装置さえあれば、3多重以上のディスク装置グルー
プAにアクセスする必要のある入出力要求を並列に実行
可能である。
【0071】図5は、制御装置203に処理装置210
が1台接続されている場合である。処理装置210は、
ディスク装置グループAへの入出力要求に対する処理が
完了する前に、ディスク装置グループAに新たな入出力
要求を発行できる機能をもっているものとする。
【0072】図5において、制御装置203が、処理装
置210から受け取ったディスク装置グループAにアク
セスする必要のあるリード要求の処理を、ディスクA1
との間で実行しているとする。この状態で、制御装置2
03が、処理装置210から、さらに、ディスク装置グ
ループAにアクセスする必要のあるリード要求を受け取
ったとする。制御装置203は、ディスク装置グループ
Aの中で空いた状態にある任意のディスク装置、すなわ
ち、ディスクAiを選択し、受け取ったリード要求の処
理に入る。もちろん、処理装置210からディスク装置
グループAにアクセスする必要のあるライト要求を受け
取った場合にも空いた状態にあるディスク装置があれ
ば、直ちにその処理に入ることができる。ただし、マス
タディスクAの競合の関係から、ディスク装置グループ
Aにアクセスする必要のあるライト要求どうしの並列動
作は実行できない。
【0073】さらに、処理装置210が同一のディスク
装置グループAに対し、3多重以上の入出力要求を発行
する場合にも、空いた状態にあるディスク装置さえあれ
ば、制御装置203は、発行された入出力要求を並列に
実行可能である。
【0074】以上が、第1の実施例の概要である。次
に、第2の実施例について概要について述べる。
【0075】第2の実施例の概要を、図6に示す。
【0076】第2の実施例は、制御装置203の動作
が、第1の実施例と以下の点で異なる。ディスク装置グ
ループにアクセスする必要のあるリード要求に関して
は、マスタディスク以外のディスク装置を優先的に選択
する点である。同様に、処理装置210とは独立なステ
ージ処理に関しても、マスタディスク以外のディスク装
置を優先的に選択する。以上述べた方法をとる理由は、
マスタディスク以外のディスク装置を選択しておけば、
さらなる高速化が可能となるためである。というのは、
ディスク装置グループにアクセスする必要のあるライト
要求を受け付けた時、マスタディスクが空いている確率
を高めることができるためである。
【0077】以下、実施例の詳細を説明する。
【0078】まず、第1の実施例について詳細に説明す
る。
【0079】図2に示した計算機システムの構成は、第1
の実施例にそのまま適用できる。以下、それぞれの詳細
について説明する。
【0080】図8は、ディスク装置204の構成であ
る。円板801は、データを記録する媒体であり、1つ
のディスク装置204には複数存在する回転体である。
読み書きヘッド802は、円板801上のデータを読み
書きする装置であり、円板308対応に存在する。制御
装置インターフェイス803は、制御装置203とのイ
ンターフェイスとなる。
【0081】円板801が一回転する間に、読み書きヘ
ッド802がアクセス可能な円状の記録単位をトラック
800とよぶ。トラック800は、円板801上に複数
存在する。
【0082】図9は、トラック800の構成である。ト
ラック800は、ある位置を基準として、トラック先頭
902と、トラック末尾903が定められる。また、ト
ラック800上には、1つ以上のレコード900が存在
する。レコード900は処理装置210と制御装置20
3との間の最小の入出力処理単位である。トラック80
0上のレコード900の位置は、セル901という、固
定長バイトを単位で表現する。(レコード900は、必
ず、セル901の先頭から格納開始され、セル901の
途中からは、格納開始されない。)セル901の番号
は、トラック800の先頭を0番とし、1ずつの昇順に
つけられる。
【0083】図10は、キャッシュ206の構成であ
る。キャッシュ206は、セグメント1000より構成
される。本実施例では、1つのトラック800に対し1
つのセグメント1000を割り当て、セグメント100
0内には、トラック800全体のデータを格納するもの
とする。ただし、本発明は、セグメント1000の割当
単位を、トラック800に限定する必要はなく、もっと
小さい単位、例えば、処理装置210と制御装置203
の間のリード/ライト単位であるレコード900として
も有効である。
【0084】図11は、ディレクトリ208の構成であ
る。ディレクトリ208は、セグメント管理情報110
0,トラック票1101、ならびに、空きセグメント先
頭ポインタ1102により構成される。セグメント管理
情報1100は、セグメント1000単位に存在する。
トラック票1101および空きセグメントポインタ11
02は制御装置203内に1つ存在する。
【0085】図12は、セグメント管理情報1100の
中にもうける本実施例で必要な情報を示したものであ
る。以下、各パラメータとその内容を示す。
【0086】空きセグメントポインタ1200…トラッ
ク800に割り当てていない他のセグメント1000に
対応したセグメント管理情報1100へのポインタであ
る。
【0087】キャッシュドトラック番号1201…当該
セグメント管理情報500に対応したセグメント400
内に格納したディスク装置グループ211の番号,トラ
ック800の番号を表す。
【0088】レコードビットマップ1202…当該セグ
メント管理情報500に対応したセグメント400内に
格納したトラック800上のレコード900の開始位置
を表わす。ここで、それぞれのビットはセル901の番
号対応に存在するものとする。例えば、レコードビット
マップ1202の中のn番目のビットがオンであれば、
当該セグメント管理情報1100に対応したn番目のセ
ル901から、レコード301の格納が開始されている
ことになる。n番目のビットがオフであれば、n番目の
セル901から、格納開始されているレコード301は
存在しないことになる。図13は、本実施例におけるセ
グメント1000内の、トラック800上の格納形式を
表わしたものである。セグメント1000内には、トラ
ック800上のトラック先頭901から、レコード90
0が順番に格納される。したがって、レコード900の
トラック上で格納開始されるセル901の番号がわかれ
ば、そのレコード301のセグメント1000内の格納
開始位置もわかる。
【0089】更新レコードビットマップ1203…当該
セグメント管理情報500に対応したセグメント400
内に格納されていて、かつ、ライトアフタ処理112が
必要なレコード900のビットマップである。ライト処
理112が必要なレコード900を以下、ライトアフタ
レコードと呼ぶ。それぞれのビットは、レコードビット
マップ1202と同様、セル901の番号対応に存在す
る。具体的には、更新レコードビットマップ1203の
中のn番目のビットがオンであれば、当該セグメント管
理情報1100に対応したn番目のセル901から格納
開始されているレコード301が、ライトアフタレコー
ドということになる。更新レコードビットマップ120
3は、1台のディスク装置204対応に存在する。具体
的に、それぞれの更新ビットマップ1203がどのディ
スク装置204に対応するかについては、制御用メモリ
207の構成の説明の部分で述べる。更新レコードビッ
トマップ1203の領域は、1つのディスク装置グルー
プ211内の定義可能なディスク装置204の数の分だ
け用意されている。ただし、使用される更新レコードビ
ットマップ1203の数は、当該ディスク装置グループ
を構成するディスク装置204の台数である。
【0090】格納済みフラグ1204…当該セグメント
管理情報に対応したセグメント1000内に、割当てた
トラック800上のレコード900を格納してあるかを
示す。
【0091】使用中フラグ1205…当該セグメント管
理情報1100に割当てたトラック800に対応した入
出力処理を実行中であることを示す。
【0092】セグメントポインタ1206…当該セグメ
ント管理情報に対応したセグメント1000へのポイン
タである。
【0093】図14は、トラック票1101,空きセグ
メント先頭ポインタ1102の構成である。
【0094】トラック票1101は、すべてのディスク
装置グループ211のトラック800に関して、そのト
ラック800に対してセグメント1000が割り当てら
れているか、いないかを表す。割り当てられている場合
には、そのトラック800に割り当てられているセグメ
ント1000に対応したセグメント管理情報1200へ
のポインタを表す。トラック票1201においては、同
じディスク装置グループ211上のトラック800に関
する情報は、まとめて、トラック800の番号順に格納
される。
【0095】トラック800を割り当ててないセグメン
ト1000に対応したセグメント管理情報1100は、
空きセグメント先頭ポインタ1102から順に、空きセ
グメントポインタ1200で、結合される。結合されて
いるセグメント管理情報1100の集合を空きセグメン
トキュー1400と呼ぶ。
【0096】図15は、制御情報用メモリ207の構成
である。制御情報用メモリ207内には、各ディスク装
置グループ211に対応した制御情報であるディスク装
置グループ情報1500が含まれる。ディスク装置グル
ープ情報1500の個数は、1台の制御装置203内に
定義可能なディスク装置グループ211の数だけ用意さ
れている。
【0097】図16は、ディスク装置グループ情報15
00の構成である。
【0098】ディスク装置数1600…当該ディスク装
置グループ211内に現在定義されているディスク装置
204の数である。
【0099】ディスク装置情報1601…当該ディスク
装置グループ情報1500を構成するそれぞれのディス
ク装置204対応の情報である。ディスク装置情報16
00は、1つのディスク装置グループ211内に定義可
能なディスク装置204だけ用意される。ただし、有効
な情報は、先頭のディスク装置情報1601からディス
ク装置数1600に定義されている数のディスク装置情
報1601までに格納される。ここで、先頭のディスク
装置情報1601が、マスタディスクに対応した情報で
ある。
【0100】また、セグメント管理情報1200内のn
番目の更新レコードビットマップ1203は、n番目の
ディスク装置情報1601に対応したディスク装置20
4である。
【0101】処理装置I/O待ちビット1602…処理
装置210から、当該ディスク装置グループ211への
受け付けた入出力要求が待ち状態になっていることを表
わすビットである。本ビットの数は、以下のように表わ
すことができる 処理装置I/O待ちビット1602の数=制御装置20
3に接続可能な処理装置210の数(ここでは、I台と
する。)×1台の処理装置210が1つのディスク装置
グループ210に対して並行して処理可能な入出力処理
要求の数(ここでは、J個とする。) したがって、各処理装置210が制御装置203に入出
力要求を発行する際には、処理装置210は、制御装置
203に以下の2点を通知する。まず、第1点目の内容
は、入出力要求を発行する処理装置210が、1番から
I番目までの何番の処理装置210であるかという点で
ある。第2点目は、その入出力要求が、指定したディス
ク装置グループ211への、1番からJ番までの何番目
の入出力要求であるかを通知する。
【0102】図17は、ディスク装置情報1601の構
成である。
【0103】ディスク装置番号1700…当該ディスク
装置情報1700に対応したディスク装置204の番号
である。
【0104】処理装置I/O実行中ビット1701…当
該ディスク装置情報1700に対応したディスク装置2
04が、処理装置210からの入出力要求の実行中であ
ることを1ビットで表わす。
【0105】ライトアフタ実行中ビット1702…当該
ディスク装置情報1700に対応したディスク装置20
4が、ライトアフタ処理112を実行中であることを1
ビットで表わす。
【0106】独立ステージ実行中ビット1703…当該
ディスク装置情報1700に対応したディスク装置20
4が、処理装置210とは独立したステージ処理115
を実行中であることを1ビットで示す。
【0107】処理装置I/O実行中ビット1701,ラ
イトアフタ実行中ビット1702,独立ステージ実行中
ビット1703の内同時にオンになるのは高々1つの情
報である。また、処理装置I/O実行中ビット170
1,ライトアフタ実行中ビット1702,独立ステージ
実行中ビット1703のすべてがオフであるディスク装
置204が、空いた状態にあるディスク装置204とい
うことになる。
【0108】セグメント管理情報ポインタ1704…当
該ディスク装置情報1700に対応したディスク装置2
04で実行中の入出力処理がアクセスするトラック80
0に割当てたセグメント管理情報1100へのポインタ
を表わす。
【0109】制御情報用メモリ207内の情報は、電源
障害等で消失してしまうと問題があるため、制御情報用
メモリ207は、不揮発化しておくことが望ましい。
【0110】制御装置203が実行すべき入出力処理
は、実際には、制御装置203内にそれぞれのディレク
タ205が、並行して実行することになる。
【0111】図18には、それぞれのディレクタ205
が、本実施例を実行する際に用いる各手続きを示した。
以下、それぞれ機能について述べる。
【0112】入出力要求受け付け部1800…処理装置
210から受け付けた入出力要求の処理を行う。
【0113】ライトアフタ処理スケジュール部1801
…ライトアフタ処理をスケジュールする。
【0114】独立ステージ処理スケジュール部1802
…処理装置210とは独立したステージ処理をスケジュ
ールする。
【0115】ディスク装置転送部1803…ディスク装
置204とのリード/ライト転送を実行する部分であ
る。
【0116】図19は、入出力要求受け付け部1800
の処理フロー図である。入出力要求受け付け部1800
の実行契機は、処理装置210から、新たな入出力要求
を受け付けた時である。以下、その処理フローを説明す
る。
【0117】ステップ1900では、受け取った入出力
要求が、ディスク装置204までアクセスする必要があ
る入出力要求であるかをチェックする。具体的にどのよ
うな入出力要求が、ディスク装置204にアクセスする
必要があるのかについては、本発明には直接関係しない
ため、詳細は省略する。受け付けた入出力要求が、ディ
スク装置204にアクセスする必要のない場合、ステッ
プ1915へジャンプする。
【0118】ステップ1901以降の処理は、受け付け
た入出力要求が、ディスク装置204にアクセスする必
要のある入出力要求の場合の処理である。
【0119】ステップ1901では、入出力要求がアク
セス対象とするトラック300が、セグメント1000
を割当て中かを調べる。割当て中であれば、ステップ1
903へジャンプする。
【0120】ステップ1902では、入出力要求がアク
セス対象とするトラック300にセグメント管理情報1
100を割当て、トラック票1101の該当する領域に
リンクする。さらに、割当てたセグメント管理情報11
00の格納済フラグ1205をオフにし、使用中フラグ
をオンにする。この時、割当て対象とするセグメント管
理情報1100は、空きセグメント先頭キュー1102
から空いた状態に有るセグメント管理情報1100を選
択する。空いた状態に有るセグメント管理情報1100
がない場合には、公知の方法によって現在割当て中のセ
グメント管理情報を選択することになる。具体的な選択
方法は、本発明には関係しないため説明を省略する。こ
の後、ステップ1905へジャンプする。
【0121】ステップ1903では、入出力要求がアク
セス対象とするトラック300に割当て中のセグメント
管理情報1100の使用中フラグ1205がオンかどう
かをチェックする。オンであれば、他の入出力処理がア
クセス対象とするトラック300を現在使用中であるこ
とになる。したがって、受け付けた入出力要求は、直ち
に実行に入れないため、ステップ1914へジャンプす
る。
【0122】使用中フラグ1205がオフであれば、ス
テップ1904で、使用中フラグ1205をオンにす
る。
【0123】次に、ステップ1905で、入出力要求
が、リード要求かライト要求かを調べる。本発明では、
ディスク装置グループ211にアクセスする必要のある
ライト要求はマスタディスクにアクセスさせる。したが
って、入出力要求がリード要求の場合には、ステップ1
908へ分岐する。
【0124】ライト要求の場合、ステップ1906で、
マスタディスクが空いた状態にあるかをチェックする。
このチェックは、入出力対象となっているディスク装置
グループ211内のマスタディスクに対応したディスク
装置情報1601(すなわち、ディスク装置グループ情
報1500内の、先頭のディスク装置情報1601)内
の以下の情報をチェックする。すなわち、処理装置I/
O実行中ビット1701,ライトアフタ実行中ビット1
702,独立ステージ実行中ビット1703のすべての
ビットがオフかを(空いた状態にあるかを)チェックす
る。マスタディスクが、空いた状態にあれば、この後、
ステップ1907で、マスタディスクをアクセス対象と
して選択する。具体的には、マスタディスクに対応する
ディスク装置情報1601内の処理装置I/O実行中ビ
ット1701オンにする。以上の処理が終了すると、ス
テップ1910へジャンプして、第1の実施例と同様の
処理に入る。
【0125】マスタディスクが空いた状態になければ、
当該入出力要求を待ち状態にするため、ステップ191
3へジャンプする。
【0126】ステップ1908では、ディスク装置20
4にアクセスさせる必要のあるリード要求に対してディ
スク装置204を割り当てる。本実施例では、ディスク
装置204にアクセスさせる必要のあるリード要求に対
しては、空いた状態にある任意のディスク装置を割り当
てる。したがって、入出力対象となっているディスク装
置グループ211の中に空いた状態のディスク装置20
4があるかをチェックする。具体的な処理内容は以下の
とおりである。すなわち、処理装置I/O実行中ビット
1701,ライトアフタ実行中ビット1702,独立ス
テージ実行中ビット1703のすべてのビットがオフの
ディスク装置情報1601を見つける。見つからなかっ
た場合、空いたディスク装置204がないことになり、
入出力処理に入れないため、ステップ1913へジャン
プする。
【0127】見つかった場合、ステップ1909で、そ
のディスク装置情報1601内のディスク装置番号17
00に対応するディスク装置204をアクセス対象とし
て選択する。具体的には、見つけたディスク装置情報1
601内の処理装置I/O実行中ビット1701をオン
にする。
【0128】さらに、ステップ1910で、セグメント
管理情報ポインタ1704に、当該入出力要求でアクセ
ス対象となるトラック800に割当てたセグメント管理
情報1100へのポインタを設定する。
【0129】ステップ1911では、ステップ1909
で選択したディスク装置204に対して、位置付け処理
要求を発行する。
【0130】ステップ1912では、ディスク装置20
4の位置付け処理が完了するまで、一度、処理装置21
0との接続関係を切る処理を、処理装置210との間で
実行する。この後、入出力要求受け付け部1800の処
理を終了させる。
【0131】空いたディスク装置204がなかった場
合、ステップ1913以降で、以下の処理を実行する。
【0132】ステップ1913では、対応するセグメン
ト管理情報1100の使用中フラグ1205をオフにす
る。
【0133】この後、ステップ1914で、格納済フラ
グ1204がオンかどうかをチェックする。オンの場合
ステップ1916へジャンプする。オフの場合、このセ
グメント管理情報1100に対応したセグメント100
0にはデータが入っていないことを示すため、ステップ
1915で、このセグメント管理情報を空きセグメント
キュー1400に登録する。
【0134】さらに、ステップ1916で、処理装置2
10に、当該入出力要求に対する処理が、他の入出力処
理のために実行に入れなかったということを、ディスク
装置グループ情報1500内の処理要求I/O待ちビッ
ト1602に設定する。具体的には、処理要求I/O待
ちビット1602のどの位置のビットを設定するかを以
下の2点から決定し、そのビットの設定を行う。
【0135】まず、第1点は、当該入出力要求を発行し
た処理装置210が、1番からI番目までの何番の処理
装置210であるかということである。
【0136】次に、第2点目は、その入出力要求が指定
したディスク装置グループ210への、1番からJ番ま
での何番の入出力要求であるかということである。
【0137】当該入出力要求がアクセス対象とするトラ
ック800のセグメント管理情報1100が、他の入出
力処理によって使用されている場合には、特にセグメン
ト管理情報1100内の情報は操作する必要がない。し
たがって、ステップ1916へジャンプしてくることに
なる。
【0138】最後に、ステップ1917で、処理装置2
10に、当該入出力要求に対する処理が、他の入出力処
理のために実行に入れないため、待ち状態に入ることを
報告する。この後、入出力要求受け付け部1800の処
理を終了させる。
【0139】ステップ1918では、ディスク装置20
4にアクセスする必要のない入出力要求に対して、実行
する必要のある処理を実行する。具体的な処理内容は、
本発明には直接関係がないため説明を省略する。
【0140】図20は、ライトアフタ処理スケジュール
部1801の処理フローである。ライトアフタ処理スケ
ジュール部1801は、ディレクタ25が空いた時間を
利用して実行する。
【0141】ステップ2000では、ライトアフタ対象
とすべきディスク装置グループ210を決定する。この
決定方法は、特に本発明とは、直接関係がないため、説
明を省略する。
【0142】ステップ2001では、決定したディスク
装置グループの中でマスタディスク以外に、入出力対象
とすべき空いた状態にあるディスク装置を見つける。具
体的な処理内容は以下のとおりである。すなわち、マス
タディスク以外で、処理装置I/O実行中ビット170
1,ライトアフタ実行中ビット1702,独立ステージ
実行中ビット1703のすべてのビットがオフのディス
ク装置情報1601を見つける。見つからない場合、ラ
イトアフタ処理が実行できないため、ライトアフタ処理
スケジュール部1801の処理を、終了させる。
【0143】見つかった場合、ステップ2002で、ス
テップ2001で見出したディスク装置情報1601内
のライトアフタ実行中ビット1702をオンにする。
【0144】ステップ2003では、ステップ2001
で見出してディスク装置204にライトアフタ処理11
2が実行可能なトラック800があるかどうかをチェッ
クする。具体的なチェック情報は、トラック票1101
から、選択したディスク装置204に対応して更新レコ
ードビットマップ1203中にオンのビットをもつセグ
メント管理情報1100を探す。さらに、そのセグメン
ト管理情報を他の処理要求を使用中でないことが必要と
なるため、セグメント管理情報1100内の使用中フラ
グ1205がオフであるということもライトアフタ処理
が実行可能な条件となる。見つかった場合、ステップ2
005にジャンプする。ライトアフタ処理が実行可能な
トラック800がない場合、ステップ2004で、ライ
トアフタ実行中ビット1702をオフにする。この後、
ライトアフタ処理スケジュール部1801の処理を終了
させる。
【0145】ステップ2005では、ライトアフタ処理
すべきトラック800を選択する。ライトアフタ処理が
実行可能なトラック800が複数存在する場合、どのト
ラック800を選択するかは本発明には関係しないた
め、説明を省略する。
【0146】ステップ2006では、ステップ2005
で選択したトラック800に対応したセグメント管理情
報1100内の使用中フラグ1205をオンにする。
【0147】ステップ2007では、セグメント管理情
報ポインタ1704に、当該入出力要求でアクセス対象
となるトラック800に割当てたセグメント管理情報1
100へのポインタを設定する。
【0148】ステップ2008では、ステップ2001
で選択したディスク装置204に対して、位置付け処理
要求を発行する。この後、ライトアフタ処理スケジュー
ル部1801の処理を終了させる。
【0149】図21は、独立ステージ処理スケジュール
部1802の処理フローである。独立ステージ処理スケ
ジュール部1802も、ディレクタ25が空いた時間を
利用して実行する。
【0150】ステップ2100では、処理装置210と
は独立したステージ処理115を実行すべきディスク装
置グループ210を決定する。この決定方法も、ステッ
プ2000と同様、特に本発明とは、直接関係ないた
め、説明を省略する。
【0151】ステップ2101では、ステップ2100
で見出したディスク装置グループ211内に、処理装置
210とは独立なステージ処理を実行すべきトラック8
00があるかどうかをチェックする。このチェック方法
も本発明とは直接関係ないため、説明を省略する。実行
すべきトラック800がない場合、独立ステージ処理ス
ケジュール部1802の処理を終了させる。
【0152】ステップ2102では、処理装置210と
は独立したステージ処理の対象とするトラック800を
選択する。処理装置210とは独立したステージ処理が
実行可能なトラック800が複数存在する場合、どのト
ラック800を選択するかは本発明には関係しない。し
たがって、その説明を省略する。
【0153】ステップ2103では、ステップ2004
で選択してトラック800へ、セグメント管理情報11
00を割当てる。(処理装置210とは独立したステー
ジ処理115を実行すべきトラック800はキャッシュ
206内にステージされていないトラック800であ
る。)この割当て方法は、ステップ1902で示したと
おりである。さらに、割当てたセグメント管理情報11
00内の、格納済みフラグ1204をオフに、使用中フ
ラグ1205をオンにする。
【0154】ステップ2104では、ステップ2100
で決定したディスク装置グループの中で入出力対象とす
べき空いた状態にあるディスク装置を見つける。具体的
な処理内容はステップ1908と同様であるため、説明
を省略する。見つからない場合、処理装置210とは独
立なステージ処理115が実行できない。したがって、
ステップ2105で、割り当てたセグメント管理情報1
100を、空きセグメントキュー1400に戻す。この
後、独立ステージ処理スケジュール部1802の処理
を、終了させる。
【0155】見つかった場合、ステップ2106で、ス
テップ2103で見出したディスク装置情報1601内
の独立ステージ実行中ビット1702をオンにする。
【0156】ステップ2107では、セグメント管理情
報ポインタ1704に、当該入出力要求でアクセス対象
となるトラック800に割当てたセグメント管理情報1
100へのポインタを設定する。
【0157】ステップ2108では、ステップ2001
で選択したディスク装置204に対して、位置付け処理
要求を発行する。この後、独立ステージ処理スケジュー
ル部1802の処理を終了させる。
【0158】図22は、ディスク装置転送部1803の
処理フロー図である。ディスク装置転送部1803の実
行契機は、ディレクタ205がディスク装置204の位
置付け完了報告を受け取った時である。
【0159】ステップ2200では、当該ディスク装置
204に対応したディスク装置情報1601内のセグメ
ント管理情報ポインタ1704がポイントするセグメン
ト管理情報1100を処理対象として選択する。以下、
単にセグメント管理情報1100と述べた場合には、ス
テップ2200で選択したセグメント管理情報1100
を指す。また、セグメント管理情報1100内の情報を
単に示した場合、ステップ2200で選択したセグメン
ト管理情報1100内の情報を指す。
【0160】ステップ2201では、当該ディスク装置
に204に対応するディスク装置情報1601内の処理
装置I/O実行中ビット1701をオンかどうかをチェ
ックする。オフであれば、実行中の入出力処理が、処理
装置210から受け付けた入出力要求に対する処理でな
いことを示すため、ステップ2212へジャンプする。
【0161】処理装置I/O実行中ビット1701をオ
ンの場合には、実行中の入出力処理が、処理装置210
から受け付けた入出力要求に対する処理であることを示
す。したがって、ステップ2202で、処理装置210
に位置付け処理が完了したことを報告し、再び接続状態
にはいる。
【0162】ステップ2203では、処理装置から受け
取った入出力要求がリード要求かライト要求であるかを
判別する。リード要求の場合、ステップ2209へジャ
ンプする。
【0163】ライト要求の場合、ステップ2204で、
処理装置204から受け取ったデータを、ディスク装置
204と処理対象として選択したセグメント管理情報1
100に対応したセグメント1000に書き込む。この
時、実際にデータを書き込んだディスク装置204上の
レコード800のセル901の番号を認識し以下の処理
を行う必要がある。まず、セグメント1000内に書き
込むデータもその認識したセル901に対応した位置に
書き込む。さらに、処理対象として選択したセグメント
管理情報1100内のマスタディスク以外のすべてのデ
ィスク装置204に対応した更新レコードビットマップ
1203に対して以下の処理を行う。すなわち、更新レ
コードビットマップ1203の中で、上記で認識したセ
ル901の番号に対応したビットをオンにする。さら
に、この後処理装置210に入出力処理が完了したこと
を報告する。
【0164】ステップ2205では、処理対象としてい
るセグメント管理情報1100内の格納済フラグ120
4がオンかをチェックする。オンの場合、処理対象とし
ているトラック300上のレコード900は、セグメン
ト1000内にステージされているため、ステップ22
15へジャンプする。
【0165】格納済フラグ1204がオフの場合、処理
対象としているトラック300上のレコード900は、
セグメント1000内にステージされていないことにな
る。したがって、ステップ2206以降で以下の処理を
行う。ステップ2206では、ステップ2204で認識
したセル901の番号に対応するレコードビットマップ
1202のビット位置をオンにする。
【0166】次に、ステップ2207では、処理中のト
ラック800の残りのレコード900をセグメント10
00内にステージする処理を実行する。この場合も、ス
テージ対象とするレコード900のセル901の番号を
認識し以下の処理を行う必要がある。まず、セグメント
1000内にステージするレコード900もその認識し
たセル901に対応した位置に書き込む。さらに、認識
したセル901の番号に対応するレコードビットマップ
1202のビット位置をオンにする。この後、ステップ
2208で、格納済フラグ1204をオンにして、ステ
ップ2215へジャンプする。
【0167】ステップ2209以下では、処理装置21
0から受け付けたリード要求の処理を行う。
【0168】ステップ2209では、処理対象とするセ
グメント管理情報1100内の格納済フラグ1204が
オンかをチェックする。格納済フラグ1204がオンの
場合、すでにレコード900が、セグメント1000内
に格納されている。したがって、ステップ2210で要
求されたレコード900をディスク装置204上から処
理装置210に送る。この後、処理装置210に入出力
処理が完了したことを報告する。次に、ステップ221
5へジャンプする。
【0169】格納済フラグ1204が、オフの場合、処
理中の処理対象としているトラック300上のレコード
900は、セグメント1000内にステージされていな
い。したがって、ステップ2211以降で以下の処理を
行う。まず、ステップ2210では、要求されたレコー
ド900をディスク装置204上から処理装置210に
送ると共に、セグメント1000にもステージする。こ
の場合も、ステージ対象としたレコード900のセル9
01の番号を認識し以下の処理を行う必要がある。ま
ず、セグメント1000内にステージするレコード90
0もその認識したセル901に対応した位置に書き込
む。さらに、処理対象として選択したセグメント管理情
報1100内のレコードビットマップ1202の中の、
認識したセル901の番号に対応するビットをオンにす
る。この後、処理装置210に入出力要求を完了したこ
とを報告する。次に、処理対象としているトラック30
0上の残りのレコード900をステージするために、ス
テップ2207へジャンプする。
【0170】ステップ2212では、当該ディスク装置
に204に対応するディスク装置情報1601内のライ
トアフタ実行中ビット1702がオンかどうかをチェッ
クする。オフの場合、処理装置210とは独立なステー
ジ処理115を実行するためにステップ2214へジャ
ンプする。
【0171】ステップ2213では、処理対象とするセ
グメント管理情報1100中の更新レコードビットマッ
プ1203によって、すべてのライトアフタレコードを
認識する。さらに、認識したすべてのライトアフタレコ
ードをディスク装置204上に書き込む。この後、当該
ディスク装置204に対応する更新レコードビットマッ
プ1203をすべて0クリアする。次に、ステップ22
15へジャンプする。
【0172】ステップ2214では、処理装置210と
は独立なステージ処理を実行する。具体的には、処理対
象としているトラック800上のすべてのレコード90
0をセグメント1000内にステージする。この場合
も、ステージ対象としたレコード900のセル901の
番号を認識し以下の処理を行う必要がある。まず、セグ
メント1000内にステージするレコード900もその
認識したセル901に対応した位置に書き込む。さら
に、処理対象とするセグメント管理情報1100内のレ
コードビットマップ1202に対して以下の処理を行
う。すなわち、認識したセル901の番号に対応するレ
コードビットマップ1202のビット位置をオンにす
る。加えて、格納済フラグ1204をオンにする。
【0173】ステップ2215以下では、終端処理とし
て以下の処理を行う。
【0174】まず、ステップ2215では、処理対象と
してはセグメント管理情報1100内の使用中フラグ1
205をオフにする。次に、ステップ2216では、当
該ディスク装置204に対応するディスク装置情報16
01内の、処理装置I/O実行中ビット1701,ライ
トアフタ実行中ビット1702,独立ステージ実行中ビ
ット1703のすべてのビットをオフする。
【0175】最後に、ステップ2217では、処理対象
としているディスク装置グループ211に対応する、処
理要求I/O待ちビット1602がオンになっている入
出力要求の待ち状態を解放するために以下の処理を行
う。すなわち、オンになっているビットから、1番から
I番までの処理装置210、および1番からJ番までの
入出力番号によって決定されるすべての入出力要求の待
ち状態を解放する。具体的には、再び、それらの入出力
要求を発行するようそれぞれの処理装置に通知する。こ
の後、ディスク装置転送部1802の処理を終了させ
る。
【0176】次に、第2の実施例について説明する。第
2の実施例が第1の実施例と異なる点は、以下のとおり
である。
【0177】ディスク装置グループ211にアクセスす
る必要のあるリード要求,処理装置210とは独立なス
テージ処理は、マスタディスク以外のディスク装置20
4を優先して選択する点である。
【0178】第1の実施例において、図8から図17ま
でに示したそれぞれのデータ構成は、第2の実施例でも
そのまま用いることができる。
【0179】図18に示した、ディレクタ205内で第
1の実施例を実行するために必要なモジュールの構成
も、第3の実施例にそのまま適用できる。しかし、それ
ぞれのモジュールの処理フローに関しては、入出力要求
受け付け部1800,独立ステージ処理スケジュール部
1802が、第1の実施例と若干ことなる。ただし、他
のモジュールの処理フローに関しては、第1の実施例の
処理フローがそのまま適用できる。
【0180】図23は、第3の実施例における入出力要
求受け付け部1800の処理フローである。入出力要求
受け付け部1800の実行契機は、第1の実施例の場合
と同様である。
【0181】以下、図19に示した第1の実施例におけ
る処理フローと図23の処理フローの相違点について述
べる。なお、図23の処理フローにおいて、図19の処
理フローと処理内容がまったく同じ部分に関しては、ス
テップ番号を等しくてある。図23と、図19の処理フ
ローとの差異は、図19のステップ1908の代わり
に、ステップ2300が入っている点である。
【0182】ステップ2300では、マスタディスク以
外のディスク装置204が空いているかを優先的に選択
している。これは、第2の実施例が、ディスク装置グル
ープ211にアクセスする必要のあるリード要求,マス
タディスク以外のディスク装置204を優先して選択す
るためである。具体的には、マスタディスク以外のディ
スク装置204のディスク装置情報1601内の以下の
情報をチェックする。すなわち、処理装置I/O実行中
ビット1701,ライトアフタ実行中ビット1702,
独立ステージ実行中ビット1703のすべてのビットが
オフかをチェックする。
【0183】空いたディスク装置204があれば、その
ディスク装置204をアクセス対象として選択するため
に、ステップ1909へジャンプして、図19の処理フ
ローと同様の処理に入る。空いたディスク装置204が
ない場合、マスタディスクの空きをチェックするため、
ステップ1906へジャンプして、図19の処理フロー
と同様の処理に入る。
【0184】以下の点以外は、図23の処理フローと第
19の処理フローはまったく同様であるため、説明を省
略する。
【0185】図7は、第2の実施例における独立ステー
ジ処理スケジュール部1802の処理フローである。独
立ステージ処理スケジュール部1802の実行契機は、
第1の実施例の場合と同様である。
【0186】以下、図21に示した第1の実施例におけ
る処理フローと図7の処理フローの相違点について説明
する。なお、図7の処理フローにおいて、図21の処理
フローと処理内容がまったく同じである部分に関して
は、ステップ番号を等しくしてある。
【0187】図7の処理フローが、図21に示した第1
の実施例における処理フローと異なる点は以下の点であ
る。
【0188】まず、ステップ2102の後、空いたディ
スク装置204を見つける際に、第2の実施例では、ス
テップ2400において、マスタディスク以外の空いた
ディスク装置204を見つけている点が異なる。これ
は、第2の実施例が、処理装置210とは、独立なステ
ージ処理は、マスタディスク120以外のディスク装置
204を優先して選択するためである。具体的な処理内
容は、ステップ2300と同様であるため、説明を省略
する。
【0189】空いたディスク装置204があれば、その
ディスク装置204をアクセス対象ディスクとして選択
するために、ステップ2104へジャンプして、第1の
実施例と同様の処理に入る。
【0190】マスタディスク以外のディスク装置204
が空いた状態になければ、ステップ2401で、マスタ
ディスクが空いた状態にあるかをチェックする。以上の
処理は、ステップ1906の処理と同様であるため説明
を省略する。マスタディスクが空いていれば、ステップ
2402で、マスタディスクをアクセス対象として選択
する。具体的には、マスタディスクに対応するディスク
装置情報1601内の処理装置I/O実行中ビット17
01オンにする。この後、ステップ2107へジャンプ
して、第1の実施例と同様の処理に入る。
【0191】マスタディスクが空いていない場合、処理
装置210とは、独立なステージ処理は実行できない。
したがって、ステップ2105へジャンプして、第1の
実施例と同様の処理に入る。以上の点以外は、図7の処
理フローと第21の処理フローはまったく同様であるた
め、説明を省略する。
【0192】
【発明の効果】本発明によれば、1台以上のディスク装
置からなるディスク装置グループに同一のデータを書き
込む機能をもつキャッシュを有する制御装置の高性能化
/高信頼化がバランスよく実現できる。これは、本発明
により、信頼性を損なわない範囲で、ディスク装置の間
で入出力処理の分散が可能となり、制御装置の実行可能
な入出力処理の並列度が向上できるためである。
【図面の簡単な説明】
【図1】本発明の第1の実施例における制御装置203
の基本動作である。
【図2】本発明の対象となる計算機システムの構成であ
る。
【図3】処理装置210から受け付けた入出力要求と、
処理装置210からの入出力要求とは、制御装置203
が独立に実行する入出力処理の並列動作を表している。
【図4】複数の処理装置210から、受け付けた複数の
入出力要求どうしの並列動作を表している。
【図5】1つの処理装置210から、受け付けた複数の
入出力要求どうしの並列動作を表している。
【図6】本発明の第2の実施例における制御装置203
の基本動作である。
【図7】第2の実施例における独立ステージスケジュー
ル処理部1802の処理フロー図を表す。
【図8】ディスク装置24の構成である。
【図9】トラック800の構成である。
【図10】キャッシュ206の構成である。
【図11】ディレクトリ208の中にもうける本発明で
必要な情報である。
【図12】セグメント管理情報1100の中にもうける
本発明で必要な情報である。
【図13】トラック票1101,空きセグメントキュー
先頭ポインタ1102の構成である。
【図14】セグメント1000内のトラック800上の
レコード901の格納形式を表す。
【図15】制御用メモリ207上に格納する情報を表
す。
【図16】ディスク装置グループ情報1500の構成を
表す。
【図17】ディスク装置情報1601の構成を表す。
【図18】本発明に関係するディレクタ205内のモジ
ュールを表す。
【図19】入出力要求受け付け部1800の処理フロー
図を表す。
【図20】ライトアフタスケジュール処理部1801の
処理フロー図を表す。
【図21】独立ステージスケジュール処理部1802の
処理フロー図を表す。
【図22】ディスク装置リードライト処理部1803の
処理フロー図を表す。
【図23】第2の実施例における入出力要求受け付け部
1800の処理フロー図を表す。
【符号の説明】
203…制御装置、210…処理装置、211…ディス
ク装置グループ、110…ライト要求、113…リード
要求、112…ライトアフタ処理、115…ステージ処
理、120…マスタディスク。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 安積 義弘 神奈川県小田原市国府津2880番地 株式 会社日立製作所 小田原工場内 (72)発明者 桑原 善祥 神奈川県小田原市国府津2880番地 株式 会社日立製作所 小田原工場内 (72)発明者 北嶋 弘行 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (56)参考文献 特開 昭58−219656(JP,A) 実開 昭59−118113(JP,U) 特公 昭61−28128(JP,B2) (58)調査した分野(Int.Cl.6,DB名) G06F 3/06 - 3/08

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の外部コネクションポイントを有する
    制御装置と、複数の記憶装置から構成されライトデータ
    が各記憶装置に書き込まれる記憶装置グループと、各々
    が前記記憶装置グループと前記制御装置とに接続される
    複数のパスとから構成されるデイスクストレージシステ
    ムであって、 前記制御装置は、 前記記憶装置グループに対する第1と第2のリード要求
    を受け取り、 前記第1のリード要求で要求されたデータを前記記憶装
    置グループ内の前記複数の中のいずれか1つのパスによ
    り接続されたいずれか1つの記憶装置から読み出す第1
    のリードオペレーションと、前記第2のリード要求で要
    求されたデータを前記記憶装置グループ内の前記複数の
    中の他の1つのパスにより接続された他の1つの記憶装
    置から読み出す第2のリードオペレーションを実行し、 前記第1のリードオペレーションで読み出されたデータ
    を前記複数の中のいずれか1つの外部コネクションポイ
    ントに転送する第1の転送オペレーションと、前記第2
    のリードオペレーションで読み出されたデータを前記複
    数の中の他の1つの外部コネクションポイントに転送す
    る第2の転送オペレーションを実行することを特徴とす
    るデイスクストレージシステム。
  2. 【請求項2】前記第1と第2のリード要求は、処理装置
    から前記記憶装置グループに発行されたものであって、 前記制御装置は、前記第1のリードオペレーションで読
    み出したデータを前記いずれか1つの外部コネクション
    ポイントを介して前記処理装置に転送し、前記第2のリ
    ードオペレーションで読み出したデータを前記他の1つ
    の外部コネクションポイントを介して前記処理装置に転
    送することを特徴とする請求項1に記載のデイスクスト
    レージシステム。
  3. 【請求項3】前記制御装置は、第1の処理装置に接続可
    能な第1の外部コネクションポイントと、第2の処理装
    置に接続可能な第2の外部コネクションポイントとを備
    え、 前記制御装置は、前記第1の処理装置から発行された前
    記第1のリード要求と、前記第2の処理装置から発行さ
    れた前記第2のリード要求とを受け取り、 前記処理装置は、前記第1のリードオペレーションで読
    み出されたデータを前記第1の処理装置に前記第1の外
    部コネクションポイントを介して転送し、前記第2のリ
    ードオペレーションで読み出されたデータを前記第2の
    処理装置に前記第2の外部コネクションポイントを介し
    て転送することを特徴とする請求項1に記載のデイスク
    ストレージシステム。
JP10174327A 1998-06-22 1998-06-22 デイスクストレージシステム Expired - Lifetime JP2868015B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10174327A JP2868015B1 (ja) 1998-06-22 1998-06-22 デイスクストレージシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10174327A JP2868015B1 (ja) 1998-06-22 1998-06-22 デイスクストレージシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2042452A Division JP2875325B2 (ja) 1990-02-26 1990-02-26 記憶装置の制御方法

Publications (2)

Publication Number Publication Date
JP2868015B1 true JP2868015B1 (ja) 1999-03-10
JPH11149350A JPH11149350A (ja) 1999-06-02

Family

ID=15976711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10174327A Expired - Lifetime JP2868015B1 (ja) 1998-06-22 1998-06-22 デイスクストレージシステム

Country Status (1)

Country Link
JP (1) JP2868015B1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108567A (ja) 2000-09-28 2002-04-12 Hitachi Ltd 記憶制御装置
JP2005338893A (ja) 2004-05-24 2005-12-08 Hitachi Ltd データ処理システムおよびディスクアクセス制御方法並びにその処理プログラム
US11550726B1 (en) * 2021-07-29 2023-01-10 International Business Machines Corporation Maintaining an active track data structure to determine active tracks in cache to process

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6128128B2 (ja) 2012-09-10 2017-05-17 旭硝子株式会社 太陽電池用ガラス基板およびそれを用いた太陽電池

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6128128B2 (ja) 2012-09-10 2017-05-17 旭硝子株式会社 太陽電池用ガラス基板およびそれを用いた太陽電池

Also Published As

Publication number Publication date
JPH11149350A (ja) 1999-06-02

Similar Documents

Publication Publication Date Title
US5680574A (en) Data distribution utilizing a master disk unit for fetching and for writing to remaining disk units
US6609187B1 (en) Method and apparatus for supporting resizing of file system partitions
JP3160149B2 (ja) ディスク制御装置の無停止プログラム変更方法およびディスク制御装置
US6665740B1 (en) Logical volume selection in a probability-based job scheduler
US5802345A (en) Computer system with a reduced number of command end interrupts from auxiliary memory unit and method of reducing the number of command end interrupts
US4800483A (en) Method and system for concurrent data transfer disk cache system
JP3258117B2 (ja) 記憶装置サブシステム
US6079000A (en) XPC backup for in-process audit
JP4857818B2 (ja) ストレージ管理方法およびストレージ管理サーバ
US5958078A (en) Storage unit and storage unit subsystem
US20040098542A1 (en) Storage system
JP3246146B2 (ja) 外部記憶装置のデータ移行方法
WO1996008772A1 (en) Method of pre-caching data utilizing thread lists and multimedia editing system using such pre-caching
US20030177330A1 (en) Computer system
JPH0546324A (ja) 記憶装置および記憶装置システム
US5694570A (en) Method and system of buffering data written to direct access storage devices in data processing systems
JP2002157091A (ja) ストレージサブシステム及びそのシステムに使用する記憶装置
JP2868015B1 (ja) デイスクストレージシステム
JP2875325B2 (ja) 記憶装置の制御方法
JPH0863394A (ja) 記憶装置システムおよび記憶装置の制御方法
US5794240A (en) Multi-threaded sorting system for a data processing system
JP4461089B2 (ja) ストレージ制御装置およびストレージ制御方法
US5918243A (en) Computer mechanism for reducing DASD arm contention during parallel processing
US20020144028A1 (en) Method and apparatus for increased performance of sequential I/O operations over busses of differing speeds
JP2755103B2 (ja) 記憶装置のアクセス方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071225

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081225

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20081225

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091225

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20101225

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101225

Year of fee payment: 12