JPH0916474A - Device and method for controlling input/output - Google Patents

Device and method for controlling input/output

Info

Publication number
JPH0916474A
JPH0916474A JP7165149A JP16514995A JPH0916474A JP H0916474 A JPH0916474 A JP H0916474A JP 7165149 A JP7165149 A JP 7165149A JP 16514995 A JP16514995 A JP 16514995A JP H0916474 A JPH0916474 A JP H0916474A
Authority
JP
Japan
Prior art keywords
module
cache
input
channel
adapter module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7165149A
Other languages
Japanese (ja)
Inventor
Hideaki Omura
英明 大村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP7165149A priority Critical patent/JPH0916474A/en
Priority to US08/664,263 priority patent/US5761531A/en
Publication of JPH0916474A publication Critical patent/JPH0916474A/en
Priority to US09/013,532 priority patent/US6237046B1/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE: To improve data transfer performance by parallelly operating the input/output operations of a channel adapter module and a device adapter module using a cache memory as much as possible. CONSTITUTION: When a staging amount to the cache memory 44 by the device adapter module 20 in the case of performing mishit in the channel adapter module 16 reaches a fixed amount, the channel adapter module 16 is reactivated and a hash table 58 is set to a hittable state. Since a hit response is obtained as a cache state, the reactivated channel adapter module 16 performs input/ output between a channel device 18 and the cache memory 14, that is cache write or cache read, parallelly to the staging of the device adapter module 20.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、キャッシュ機構を使用
してホストコンピュータのチャネルとデバイスの間の入
出力を制御する入出力制御装置に関し、特に、チャネル
アダプタ側とデバイスアダプタ側とが非同期に入出力制
御を行うようにした入出力制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an input / output control device for controlling input / output between a channel of a host computer and a device by using a cache mechanism, and in particular, an asynchronous communication between a channel adapter side and a device adapter side. The present invention relates to an input / output control device for performing input / output control.

【0002】[0002]

【従来の技術】従来、キャッシュメモリを介してデバイ
スとチャネルとの間のデータ転送を非同期で行う入出力
制御装置としては、例えば図14のものがある。図14
において、磁気ディスク制御装置1000は、ホストコ
ンピュータ1012のチャネル1018−1,1018
−2に対しチャネルアダプタモジュール(CAモジュー
ル)1016−1,1016−2を設け、磁気ディスク
装置等のデバイス1014に対してデバイスアダプタモ
ジュール(DAモジュール)1020−1,1020−
2を設けている。
2. Description of the Related Art Conventionally, as an input / output control device for asynchronously transferring data between a device and a channel via a cache memory, for example, there is one shown in FIG. FIG.
In the magnetic disk controller 1000, the channels 1018-1, 1018 of the host computer 1012 are
-2, channel adapter modules (CA modules) 1016-1 and 1016-2 are provided, and device adapter modules (DA modules) 1020-1 and 1020- are provided for devices 1014 such as magnetic disk devices.
2 are provided.

【0003】またキャッシュ機能エンジンモジュール
(CFEモジュール)1026とリソースマネジャモジ
ュール(RMモジュール)1022が設けられる。リソ
ースマネジャモジュール1026はジョブテーブル10
50を有し、キャッシュ機能エンジンモジュール102
6はハッシュテーブル1058を有する。各モジュール
のメモリは共通メモリ1028で構成され、キャッシュ
メモリ1044に加え、キャッシュ割当情報領域106
0を格納している。
A cache function engine module (CFE module) 1026 and a resource manager module (RM module) 1022 are provided. The resource manager module 1026 is the job table 10
Cache function engine module 102
6 has a hash table 1058. The memory of each module is configured by the common memory 1028, and in addition to the cache memory 1044, the cache allocation information area 106
It stores 0.

【0004】キャッシュ割当情報領域1060は、チャ
ネルアダプタモジュール1016−1,1016−2と
デバイスアダプタモジュール1020−1,1020−
2が参照する共通制御情報領域となる。更に、各モジュ
ールはバスで接続され、内部コマンドを使用してキャッ
シュメモリ1044を使用し、デバイス1014のデー
タをトラック単位で管理して入出力を制御する。
The cache allocation information area 1060 includes channel adapter modules 1016-1 and 1016-2 and device adapter modules 1020-1 and 1020-.
2 becomes the common control information area referred to. Furthermore, each module is connected by a bus, uses the cache memory 1044 using an internal command, manages the data of the device 1014 in track units, and controls the input / output.

【0005】図14の従来装置におけるライト動作を説
明する。いまチャネルユニット1018−1からI/O
コマンド・ライトが発行されると、チャネルアダプタモ
ジュール1016−1はキャッシュ機能エンジンモジュ
ール1026にキャッシュ状態の判定依頼を行う。即
ち、I/Oコマンド・ライトで指定されたデバイス論理
アドレス「CCHD」をハッシュ関数を通してハッシュ
アドレスに変換し、ハッシュテーブル1050のハッシ
ュアドレスに「CCHD」が登録されている否か検索す
る。ここでCCはシリンダアドレス、Hはヘッドアドレ
ス、Dはデバイス番号である。
The write operation in the conventional device of FIG. 14 will be described. Now I / O from channel unit 1018-1
When the command write is issued, the channel adapter module 1016-1 requests the cache function engine module 1026 to determine the cache state. That is, the device logical address “CCHD” specified by the I / O command write is converted into a hash address through a hash function, and it is searched whether “CCHD” is registered in the hash address of the hash table 1050. Here, CC is a cylinder address, H is a head address, and D is a device number.

【0006】ハッシュテーブル1050の参照でチャネ
ル装置1018−1からのI/Oコマンドで指定された
トラックデータがキャッシュメモリ1044上に存在し
ない場合、キャッシュを動作させないバイパス動作でデ
バイスアダプタ1020−1が動く制御により、デバイ
ス1014に対するライト動作を行う。また従来装置の
リード動作は、チャネルユニット1018−1からのI
/Oコマンド・リードが発行され、トラックデータがキ
ャッシュメモリ1044上に存在せずにミスとなった場
合、デバイス1014からキャッシュメモリ1044に
ステージングした後にチャネルユニット1018−1に
リードデータが転送される。
When the track data designated by the I / O command from the channel device 1018-1 by referring to the hash table 1050 does not exist in the cache memory 1044, the device adapter 1020-1 operates by a bypass operation that does not operate the cache. The control unit performs a write operation on the device 1014. Further, the read operation of the conventional device is performed by the I signal from the channel unit 1018-1.
When the / O command read is issued and the track data does not exist in the cache memory 1044 and a miss occurs, the read data is transferred to the channel unit 1018-1 after staging from the device 1014 to the cache memory 1044.

【0007】[0007]

【発明が解決しようとする課題】しかしながら、このよ
うなチャネルアダプタモジュールとデバイスアダプタモ
ジュールが非同期に動作する磁気ディスク制御装置にあ
っては、I/Oコマンドに対しチャネルアダプタモジュ
ール側でミスとなった場合、常にデバイスアダプタモジ
ュールとの情報のやりとりが必要となり、処理的に無駄
が多くなってしまうという問題があった。
However, in such a magnetic disk controller in which the channel adapter module and the device adapter module operate asynchronously, the channel adapter module side misses the I / O command. In this case, there is a problem that it is necessary to exchange information with the device adapter module at all times, resulting in a lot of waste in processing.

【0008】本発明は、このような従来の問題点に鑑み
てなされたもので、チャネルアダプタモジュールとデバ
イスアダプタモジュールが非同期に動作できる点を有効
に生かし、キャッシュメモリを用いたチャネルアダプタ
モジュールとデバイスアダプタモジュールの入出力動作
を可能な限り並行動作として、データ転送性能を向上さ
せるようにした入出力制御装置及び方法を提供すること
を目的とする。
The present invention has been made in view of the above conventional problems, and effectively utilizes the fact that the channel adapter module and the device adapter module can operate asynchronously, and uses the cache memory for the channel adapter module and the device. It is an object of the present invention to provide an input / output control device and method for improving the data transfer performance by making the input / output operations of the adapter module as parallel as possible.

【0009】[0009]

【課題を解決するための手段】図1は本発明の原理説明
図である。まず本発明は、チャネル装置18と結合する
チャネルアダプタモジュール(CAモジュール)16、
デバイス14と結合するデバイスアダプタモジュール
(DAモジュール)20、ハッシュテーブル56に基づ
きキャッシュメモリ44を管理するキャッシュ機能エン
ジンモジュール(CFEモジュール;キャッシュ制御モ
ジュール)26を有し、チャネルアダプタモジュール1
6によるチャネル装置18とキャッシュメモリ44の間
の入出力制御と、デバイスアダプタモジュールによるキ
ャッシュメモリ44とデバイス14の間の入出力制御
を、リソースマネジャモジュール(リソースマネジャモ
ジュール)22を経由して非同期に行う入出力制御装置
を対象とする。
FIG. 1 is a diagram illustrating the principle of the present invention. First, the present invention relates to a channel adapter module (CA module) 16 that is coupled with a channel device 18,
The channel adapter module 1 has a device adapter module (DA module) 20 coupled to the device 14, and a cache function engine module (CFE module; cache control module) 26 that manages the cache memory 44 based on the hash table 56.
6, the input / output control between the channel device 18 and the cache memory 44 and the input / output control between the cache memory 44 and the device 14 by the device adapter module are asynchronously performed via the resource manager module (resource manager module) 22. Targets the input / output control device.

【0010】キャッシュ機能エンジンモジュール26の
制御部は、チャネルアダプタモジュール16からの問い
合せに対しトラックデータがキャッシュメモリ44上に
存在しない場合、ミスヒットを応答し、更にキャッシュ
メモリ44上に新たにトラックデータの格納領域を割り
当てると共に格納領域の情報をチャネルアダプタモジュ
ール専用の割当情報領域52に格納する。
When the track data does not exist in the cache memory 44 in response to the inquiry from the channel adapter module 16, the control unit of the cache function engine module 26 responds with a mishit, and the track data is newly added to the cache memory 44. The storage area is allocated and the information of the storage area is stored in the allocation information area 52 dedicated to the channel adapter module.

【0011】またデバイスアダプタモジュール20から
の問い合せに対しトラックデータがキャッシュメモリ4
4上に存在しない場合、ミスヒットを応答し、更にキャ
ッシュメモリ44上に新たにトラックデータの格納領域
を割り当てると共に格納領域の情報をデバイスアダプタ
モジュール専用の割当情報領域54に格納する。チャネ
ルアダプタモジュール16の制御部は、キャッシュ機能
エンジンモジュール26からミスヒット応答を受けた際
に、リソースマネジャモジュール22を経由してデバイ
スアダプタモジュール20にステージングを要求してチ
ャネルを切り離し、ステージング中にデバイスアダプタ
モジュール20からの再起動要求を受けた際に、チャネ
ル装置18と再結合すると共にキャッシュ機能エンジン
モジュール26に問い合わせてヒット応答とステージン
グ中の応答が得られた場合、チャネルアダプタモジュー
ル16とデバイスアダプタモジュール20の共通制御情
報領域56を参照してステージングされたデータ量を確
認しながらチャネル装置18との入出力を、デバイスア
ダプタモジュール20のステージングと並行して行う。
In response to an inquiry from the device adapter module 20, track data is stored in the cache memory 4
If it does not exist in the memory area 4, a mishit is responded, a new storage area for track data is further allocated in the cache memory 44, and information on the storage area is stored in the allocation information area 54 dedicated to the device adapter module. When the control unit of the channel adapter module 16 receives a mishit response from the cache function engine module 26, the controller of the channel adapter module 16 requests staging to the device adapter module 20 via the resource manager module 22, disconnects the channel, and disconnects the device during staging. When a restart request from the adapter module 20 is received, the channel adapter 18 is rejoined and the cache function engine module 26 is queried to obtain a hit response and a staging response. Input / output with the channel device 18 is performed in parallel with the staging of the device adapter module 20 while confirming the amount of staged data by referring to the common control information area 56 of the module 20.

【0012】デバイスアダプタモジュール20は、ステ
ージング要求に基づいたキャッシュ状態の問い合わせ
で、キャッシュ機能エンジンモジュール26からミスヒ
ット応答を受けた際に、デバイス14にトラックデータ
のリードを要求してキャッシュメモリ44にステージン
グし、ステージングによるデータ量が所定値に達した時
にリソースマネジャモジュール22を経由してチャネル
アダプタモジュール16に再起動を要求する。
When the device adapter module 20 receives a mishit response from the cache function engine module 26 in response to a cache status inquiry based on a staging request, the device adapter module 20 requests the device 14 to read the track data and sends it to the cache memory 44. After staging, when the amount of data due to staging reaches a predetermined value, the channel adapter module 16 is requested to restart via the resource manager module 22.

【0013】ここで、デバイスアダプタモジュール20
の制御部は、ステージングの終了をキャッシュ機能エン
ジンモジュール26に通知し、ステージングが済んだト
ラックデータに対応するハッシュテーブル58の内容を
ヒット可能状態にセットさせる。またチャネルアダプタ
モジュール16の制御部は、チャネル装置18との入出
力の終了をキャッシュ機能エンジンモジュール26に通
知し、入出力が済んだトラックデータに対応するLRU
テーブルの内容にLRU制御のリンク情報をセットさせ
る。このとき、ライトヒット状態にある他のトラックデ
ータの追い出しを行った場合、追い出しデータのデバイ
ス14への書込み(ライトバック)をリソースマネジャ
モジュール22を経由してデバイスアダプタモジュール
20に依頼する。
Here, the device adapter module 20
The control unit notifies the end of staging to the cache function engine module 26 and sets the contents of the hash table 58 corresponding to the track data that has been staged to the hit enable state. The control unit of the channel adapter module 16 also notifies the cache function engine module 26 of the end of input / output with the channel device 18, and the LRU corresponding to the track data that has been input / output.
The link information for LRU control is set in the contents of the table. At this time, when the other track data in the write hit state is evicted, the device adapter module 20 is requested to write the eviction data to the device 14 (write back) via the resource manager module 22.

【0014】チャネルアダプタモジュール16、デバイ
スアダプタモジュール20、キャッシュ機能エンジンモ
ジュール26及びリソースマネジャモジュール22は、
バスを介して共通メモリ28に接続される。共通メモリ
28はベーシック・ストレージ42とキャッシュメモリ
44に分離され、ベーシック・ストレージ42に、チャ
ネルアダプタ専用割当情報領域52、デバイスアダプタ
専用割当情報領域54、及びCA−DA共通制御情報領
域56を格納する。
The channel adapter module 16, the device adapter module 20, the cache function engine module 26 and the resource manager module 22 are
It is connected to the common memory 28 via a bus. The common memory 28 is separated into a basic storage 42 and a cache memory 44, and a channel adapter dedicated allocation information area 52, a device adapter dedicated allocation information area 54, and a CA-DA common control information area 56 are stored in the basic storage 42. .

【0015】キャッシュメモリ44は、不揮発性メモリ
と揮発性メモリで構成され、不揮発性メモリをライトヒ
ットしたトラックデータの格納に使用し、揮発性メモリ
はリードヒットしたトラックデータの格納に使用する。
チャネル装置18とチャネルアダプタモジュール16と
の間のデータ転送速度に対し、デバイスアダプタモジュ
ール20とデバイス14との間のデータ転送速度が十分
に高くしている。このようなデバイス14としては、デ
ィスクアレイユニットを使用する。ディスクアレイユニ
ットは、複数ポートに接続したディスクモジュールを1
ランクとして、複数ランク備える。またディスクアレイ
ユニットは、少なくとも2つのデバイスアダプタモジュ
ール20を介して2パスで接続される。
The cache memory 44 is composed of a non-volatile memory and a volatile memory. The non-volatile memory is used to store write hit track data, and the volatile memory is used to store read hit track data.
The data transfer rate between the device adapter module 20 and the device 14 is sufficiently higher than the data transfer rate between the channel device 18 and the channel adapter module 16. A disk array unit is used as such a device 14. The disk array unit has one disk module connected to multiple ports.
It has a plurality of ranks. The disk array units are connected in two paths via at least two device adapter modules 20.

【0016】更に、ディスクアレイユニットは、複数の
ディスクドライブを備えたディスクアレイとコントロー
ルモジュールで構成され、コントロールモジュールにキ
ャッシュ機構を設けている。また本発明は、チャネルア
ダプタモジュール16によるチャネル装置18とキャッ
シュメモリ44の間の入出力制御と、デバイスアダプタ
モジュール20によるキャッシュメモリ44とデバイス
14の間の入出力制御を、リソースマネジャモジュール
22を経由して非同期に行う入出力制御方法を提供す
る。この入出力制御方法は次の手順で行われる。
Further, the disk array unit is composed of a disk array having a plurality of disk drives and a control module, and the control module is provided with a cache mechanism. Further, according to the present invention, input / output control between the channel device 18 and the cache memory 44 by the channel adapter module 16 and input / output control between the cache memory 44 and the device 14 by the device adapter module 20 are performed via the resource manager module 22. And provide an input / output control method that is performed asynchronously. This input / output control method is performed in the following procedure.

【0017】チャネル装置18の入出力要求に基づく
チャネルアダプタモジュール16からのキャッシュ状態
の問い合せに対し、キャッシュ機能エンジンモジュール
26はトラックデータがキャッシュメモリ44上に存在
しない場合、ミスヒットをチャネルアダプタモジュール
16に応答し、更にキャッシュメモリ44上に新たにト
ラックデータの格納領域を割り当てると共に該格納領域
の情報をチャネルアダプタ専用の割当情報領域52に格
納する。
In response to an inquiry of the cache status from the channel adapter module 16 based on the input / output request of the channel device 18, the cache function engine module 26 gives a mishit when the track data is not present in the cache memory 44. In response to this, a new track data storage area is further allocated on the cache memory 44, and the information of the storage area is stored in the allocation information area 52 dedicated to the channel adapter.

【0018】チャネルアダプタモジュール16は、キ
ャッシュ機能エンジンモジュール26からミスヒット応
答を受けた際に、リソースマネジャモジュール22を経
由してデバイスアダプタモジュール20にステージング
を要求してチャネルを切り離す。 チャネルアダプタモジュール16側からステージング
要求を受けたデバイスアダプタモジュール20は、キャ
ッシュ機能エンジンモジュール26にキャッシュ状態を
問い合わせる。
Upon receiving a mishit response from the cache function engine module 26, the channel adapter module 16 requests the device adapter module 20 for staging via the resource manager module 22 and disconnects the channel. Upon receiving the staging request from the channel adapter module 16 side, the device adapter module 20 inquires of the cache function engine module 26 about the cache state.

【0019】デバイスアダプタモジュール20からの
問い合せを受けたキャッシュ機能エンジンモジュール2
6は、トラックデータがキャッシュメモリ44上に存在
しない場合、ミスヒットをデバイスアダプタモジュール
20に応答し、更にキャッシュメモリ44上に新たにト
ラックデータの格納領域を割り当てると共にこの格納領
域の割当情報をデバイスアダプタ専用の割当情報領域5
4に格納する。
A cache function engine module 2 which receives an inquiry from the device adapter module 20.
When the track data does not exist in the cache memory 44, 6 responds to the device adapter module 20 with a mishit, further allocates a new track data storage area in the cache memory 44, and assigns the storage area allocation information to the device. Allocation information area 5 for adapter only
4 is stored.

【0020】キャッシュ機能エンジンモジュール26
からミスヒット応答を受けたデバイスアダプタモジュー
ル20は、デバイス14にトラックデータのリードを要
求してキャッシュメモリ44にステージングし、ステー
ジングによるデータ量が所定値に達した時にリソースマ
ネジャモジュール22を経由してチャネルアダプタモジ
ュール16に再起動を要求する。
Cache Function Engine Module 26
The device adapter module 20 receiving the mishit response from the device requests the device 14 to read the track data and stages it in the cache memory 44. When the amount of data due to staging reaches a predetermined value, the device adapter module 20 sends it via the resource manager module 22. It requests the channel adapter module 16 to restart.

【0021】デバイスアダプタモジュール20側から
の再起動要求を受けたチャネルアダプタモジュール16
は、チャネル装置18と再結合すると共にキャッシュ機
能エンジンモジュール26にキャッシュ状態を問い合わ
せ、ヒット応答で且つステージング中の応答が得られた
場合、CA−DA共通制御情報領域56を参照してステ
ージングされたデータ量を確認しながら、チャネル装置
18との入出力をデバイスアダプタモジュール20のス
テージングと並行して行う。
The channel adapter module 16 which has received the restart request from the device adapter module 20 side
Re-joins the channel device 18 and inquires of the cache function engine module 26 about the cache state, and when a hit response and a response during staging is obtained, it is staged by referring to the CA-DA common control information area 56. Inputting / outputting with the channel device 18 is performed in parallel with staging of the device adapter module 20 while confirming the data amount.

【0022】[0022]

【作用】このような本発明の入出力制御装置及び方法に
よれば、1つのジョブテーブルで管理されるキャッシュ
割当情報領域として、チャネルアダプタモジュール専用
の領域と、デバイスアダプタモジュール専用の領域を設
けたことから、チャネルアダプタモジュールとデバイス
アダプタモジュールは、相互に干渉されることなく、ジ
ョブに対するキャッシュメモリの割当て状態を認識し、
並行してキャッシュ動作を行うことができる。
According to such an input / output control device and method of the present invention, an area dedicated to the channel adapter module and an area dedicated to the device adapter module are provided as the cache allocation information areas managed by one job table. Therefore, the channel adapter module and the device adapter module recognize the allocation state of the cache memory for the job without interfering with each other,
Cache operations can be performed in parallel.

【0023】またデバイスアダプタモジュールキャッシ
ュメモリに対するステージングが終了すると、ハッシュ
テーブルがヒット可能状態にセットされる。このため再
起動したチャネルアダプタモジュールは、キャッシュ状
態の問い合せを行うとヒット応答が得られることから、
チャネル装置とキャッシュメモリとの間の入出力、即ち
キャッシュライト又はキャッシュリードができる。
When the staging for the device adapter module cache memory is completed, the hash table is set to the hit enable state. For this reason, the restarted channel adapter module obtains a hit response when inquiring about the cache status.
Input / output between the channel device and the cache memory, that is, cache write or cache read can be performed.

【0024】更にヒット応答と同時にステージング中で
あることが応答されるため、チャネルアダプタモジュー
ルは、CA−DA共通制御情報領域に対するステージン
グ状態を参照し、トラックデータステージングが一定量
に達したことを確認してキャッシュライトやキャッシュ
リードを、ステージングに並行して行うことができる。
Further, since staging is responded at the same time as the hit response, the channel adapter module refers to the staging state for the CA-DA common control information area and confirms that the track data staging has reached a certain amount. Then, cache write and cache read can be performed in parallel with staging.

【0025】このためキャッシュミスヒットとなって
も、チャネルアダプタモジュールとデバイスアダプタモ
ジュールの並行動作でぼほキャッシュヒットに近い状態
での高速の入出力制御ができる。
For this reason, even if a cache miss occurs, high-speed input / output control can be performed in a state close to a mere cache hit by the parallel operation of the channel adapter module and the device adapter module.

【0026】[0026]

【実施例】図2は本発明の入出力制御装置の実施例を示
したブロック図であり、入出力制御装置としてディスク
コントローラを例にとっている。図2において、ディス
クコントローラ10にはチャネルアダプタモジュール1
6−1,16−2が設けられ、チャネルバスを介してホ
ストコンピュータ12のチャネルユニット18−1,1
8−2と接続している。またディスクコントローラ10
が制御するデバイスとして、この実施例にあっては、デ
ィスクアレイユニット14−1,14−2を接続してい
る。
2 is a block diagram showing an embodiment of an input / output control device of the present invention, and a disk controller is taken as an example of the input / output control device. In FIG. 2, the disk controller 10 includes a channel adapter module 1
6-1 and 16-2 are provided, and channel units 18-1 and 1 of the host computer 12 are provided via the channel bus.
It is connected to 8-2. Also, the disk controller 10
In this embodiment, the disk array units 14-1 and 14-2 are connected as the devices controlled by the above.

【0027】ディスクアレイユニット14−1に対して
はデバイスアダプタモジュール20−11,20−12
が設けられ、2つのデバイスバスを介して接続してい
る。同様にディスクアレイユニット14−2に対して
も、デバイスアダプタモジュール20−21,20−2
2が設けられ、2つのデバイスバスを介して接続してい
る。チャネルアダプタ16−1,16−2とデバイスア
ダプタ20−11,20−12,20−21,20−2
2の間には、リソースマネジャモジュール22、キャッ
シュ機能エンジンモジュール(キャッシュ制御モジユー
ル)26及び共通メモリ28が設けられる。
Device adapter modules 20-11 and 20-12 are provided for the disk array unit 14-1.
Are provided and are connected via two device buses. Similarly, for the disk array unit 14-2, the device adapter modules 20-21, 20-2
2 are provided and are connected via two device buses. Channel adapters 16-1, 16-2 and device adapters 20-11, 20-12, 20-21, 20-2
A resource manager module 22, a cache function engine module (cache control module) 26, and a common memory 28 are provided between the two.

【0028】リソースマネジャモジュール22はジョブ
テーブル50を有し、またキャッシュ機能エンジンモジ
ュール26はハッシュテーブル58や図示しないLRU
テーブルを有する。ディスクコントローラ10に設けら
れた各モジュールは、内部バス30−1,30−2,3
2−1,32−2を介して相互に接続され、内部コマン
ドのやり取りに基づき、ホストコンピュータ12のチャ
ネルユニット18−1,18−2とディスクアレイユニ
ット14−1,14−2との間で共通メモリ28に内蔵
されたキャッシュメモリを使用した入出力制御を行う。
The resource manager module 22 has a job table 50, and the cache function engine module 26 has a hash table 58 and an LRU (not shown).
Have a table. Each module provided in the disk controller 10 has internal buses 30-1, 30-2, 3
2-1 and 32-2 are connected to each other, and based on the exchange of internal commands, between the channel units 18-1 and 18-2 of the host computer 12 and the disk array units 14-1 and 14-2. Input / output control is performed using a cache memory built in the common memory 28.

【0029】図3は図2のディスクアレイユニット14
−1の実施例である。ディスクアレイユニット14−1
は、ディスクアレイコントロールロジック34−1,3
4−2を有し、それぞれキャッシュ機構36−1,36
−2を備えている。ディスクアレイコントロールロジッ
ク34−1,34−2の配下には、ディスクアレイ38
が設けられる。
FIG. 3 shows the disk array unit 14 of FIG.
-1 is an example. Disk array unit 14-1
Is the disk array control logic 34-1, 3
4-2 and cache mechanisms 36-1 and 36, respectively.
-2 is provided. A disk array 38 is provided under the disk array control logics 34-1 and 34-2.
Is provided.

【0030】ディスクアレイ38はランクR0〜R3の
4ランク構成をもち、1ランクに6台のディスクドライ
ブを設けている。例えばランクR0にはディスクドライ
ブ40−00〜40−05が設けられる。この5台のデ
ィスクドライブ40−00〜40−05は、ディスクア
レイコントロールロジック34−1,34−2からのポ
ートP0〜P5に2パスで接続される。
The disk array 38 has a four-rank configuration of ranks R0 to R3, and six disk drives are provided for each rank. For example, the rank R0 is provided with the disk drives 40-00 to 40-05. The five disk drives 40-00 to 40-05 are connected to the ports P0 to P5 from the disk array control logics 34-1 and 34-2 by two paths.

【0031】残りのランクR1,R2,R3についても
同様に、1ランク当たり6台のディスクドライブ40−
10〜40−15,40−20〜40−25,40−3
0〜40−35を設けている。ディスクドライブ40−
00〜40−35の内、ランクR0〜R3のいずれにつ
いても、ポートP0〜P4の5つのディスクドライブが
例えばRAID3もしくはRAID5のディスクアレイ
として使用され、ポートR5に設けているディスクドラ
イブ40−05,40−15,40−25,40−35
は予備のディスクドライブとなる。
Similarly, for the remaining ranks R1, R2 and R3, six disk drives 40-
10-40-15, 40-20-20-40-25, 40-3
0-40-35 are provided. Disk drive 40-
For any of ranks R0 to R3 of 00 to 40-35, five disk drives of ports P0 to P4 are used, for example, as a RAID3 or RAID5 disk array, and the disk drives 40-05 provided to the port R5, 40-15, 40-25, 40-35
Is a spare disk drive.

【0032】ここで4ランク6ポート構成のディスクア
レイ38を1クラスタと呼んでおり、図2のディスクア
レイにあっては、ディスクアレイユニット14−1,1
4−2で2クラスタ構成をもっている。このディスクア
レイユニットのクラスタ構成は必要に応じて適宜の数と
することができ、1クラスタごとにディスクコントロー
ラ10側に2パス分のディスクアダプタモジュールを設
ければよい。このような図3のディスクアレイユニット
14−1としては、例えば富士通株式会社製のF649
3ディスクアレイ装置を使用することができる。
Here, the disk array 38 having a structure of 4 ranks and 6 ports is called one cluster, and in the disk array of FIG. 2, the disk array units 14-1, 1 are used.
4-2 has a two-cluster configuration. The number of cluster configurations of this disk array unit can be set to an appropriate number as needed, and a disk adapter module for two paths may be provided on the disk controller 10 side for each cluster. An example of the disk array unit 14-1 of FIG. 3 is F649 manufactured by Fujitsu Limited.
A 3-disk array device can be used.

【0033】図4は図2のディスクコントローラ10に
設けた共通メモリ28のメモリマップの説明図である。
共通メモリ28はベーシック・ストレージ42とキャッ
シュメモリ44で構成されている。共通メモリ28は3
2ビットアドレス空間をもち、ベーシック・ストレージ
42に00000000〜01FFFFFFを割り当
て、残りをキャッシュメモリ44のアドレス空間として
いる。
FIG. 4 is an explanatory diagram of a memory map of the common memory 28 provided in the disk controller 10 of FIG.
The common memory 28 is composed of a basic storage 42 and a cache memory 44. Common memory 28 is 3
It has a 2-bit address space, 00000000 to 01FFFFFF is allocated to the basic storage 42, and the rest is used as the address space of the cache memory 44.

【0034】キャッシュメモリ44は不揮発性メモリ4
6と揮発性メモリ48で構成される。不揮発性メモリ4
6の領域はキャッシュメモリ44の例えば3分の1とし
ている。不揮発性メモリ46はライトヒットデータの格
納領域として使用される。このため、キャッシュメモリ
44上でトラックデータのキャッシュライトによる更新
が行われ、ディスクアレイユニット側にライトバックさ
れていない状態で装置電源が遮断されても、更新された
トラックデータは不揮発性メモリ46に保存されてお
り、電源立上げ後においても有効に残っており、書き替
えデータを保証することができる。
The cache memory 44 is a non-volatile memory 4
6 and a volatile memory 48. Non-volatile memory 4
The area 6 is, for example, one third of the cache memory 44. The non-volatile memory 46 is used as a storage area for write hit data. Therefore, even if the track data is updated by the cache write in the cache memory 44 and the device power is cut off without being written back to the disk array unit side, the updated track data is stored in the nonvolatile memory 46. It is saved and remains valid even after the power is turned on, and rewriting data can be guaranteed.

【0035】揮発性メモリ48は、リードヒットデータ
の格納領域に使用される。即ち、ホストコンピュータの
チャネル装置からのI/Oコマンドによるリード動作
で、デバイス側としてのディスクアレイユニットからト
ラックデータがステージングされる場合には、揮発性メ
モリ48にステージングされる。もしチャネル装置から
のI/Oコマンドによるライト動作で、揮発性メモリ4
8に格納されているトラックデータが書き替え対象とな
った場合には、不揮発性メモリ46にキャッシュブロッ
クを割り当ててメモリ転送した後に書き替えることにな
る。もちろん揮発性メモリ48の領域でトラックデータ
を書き替えた後に不揮発性メモリの領域に移すようにし
てもよい。
The volatile memory 48 is used as a storage area for read hit data. That is, when the track data is staged from the disk array unit on the device side by the read operation by the I / O command from the channel device of the host computer, it is staged in the volatile memory 48. If a write operation is performed by an I / O command from the channel device, volatile memory 4
When the track data stored in 8 is to be rewritten, it is rewritten after the cache block is allocated to the non-volatile memory 46 and transferred to the memory. Of course, the track data may be rewritten in the area of the volatile memory 48 and then transferred to the area of the non-volatile memory.

【0036】図5は共通メモリ28のベーシック・スト
レージ42の格納内容とキャッシュメモリ44の不揮発
性メモリ46及び揮発性メモリ48におけるキャッシュ
ブロックの説明図であり、合せてリソースマネジャモジ
ュール22のジョブテーブル50と、キャッシュ機能エ
ンジンモジュール26のハッシュテーブル58を示して
いる。
FIG. 5 is an explanatory diagram of the contents stored in the basic storage 42 of the common memory 28 and the cache blocks in the non-volatile memory 46 and the volatile memory 48 of the cache memory 44. Together, the job table 50 of the resource manager module 22 is shown. And a hash table 58 of the cache function engine module 26.

【0037】まずリソースマネジャモジュール22で管
理されるジョブテーブル50には、ホストコンピュータ
12のチャネルユニット18−1または18−2よりI
/Oコマンドが発行されると、ジョブコードが登録され
る。通常、1つのI/Oコマンドは一連のCCWチェー
ンで構成されており、ジョブテーブル50にはジョブコ
ードに対応したCCWチェーンの対応関係が登録され
る。
First, in the job table 50 managed by the resource manager module 22, I from the channel unit 18-1 or 18-2 of the host computer 12 is input.
When the / O command is issued, the job code is registered. Normally, one I / O command is composed of a series of CCW chains, and the job table 50 registers the correspondence relationship of CCW chains corresponding to job codes.

【0038】このため1つのCCWチェーンに含まれる
I/Oコマンドはジョブテーブル50により1つのジョ
ブコードとして管理され、1つのジョブコードにキャッ
シュメモリ44におけるトラックデータを格納するため
のキャッシュブロックの割当てが行われる。ジョブテー
ブル50に対応して、ベーシック・ストレージ42に、
チャネルアダプタモジュール16−1,16−2専用の
キャッシュメモリ割当情報を格納したCA用割当情報領
域52が設けられる。CA用割当情報領域52には、ジ
ョブテーブル50で指定されるジョブコードに対応して
割り当てられたキャッシュブロックのキャッシュアドレ
スが登録される。したがって、チャネルユニット18−
1または18−2からI/Oコマンドを受けた際に、ジ
ョブテーブル50を参照してジョブコードを認識し、こ
のジョブコードによりCA用割当情報領域52を参照す
ることで、このジョブコードに割り当てられているキャ
ッシュブロックの位置を示すキャッシュアドレス、即ち
キャッシュメモリ44の割当状態を知ることができる。
Therefore, the I / O command included in one CCW chain is managed as one job code by the job table 50, and one job code is assigned with a cache block for storing track data in the cache memory 44. Done. Corresponding to the job table 50, in the basic storage 42,
A CA allocation information area 52 for storing cache memory allocation information dedicated to the channel adapter modules 16-1 and 16-2 is provided. In the CA allocation information area 52, the cache address of the cache block allocated corresponding to the job code specified in the job table 50 is registered. Therefore, the channel unit 18-
1 or 18-2, when the I / O command is received, the job code is referred to by recognizing the job code, and the CA allocation information area 52 is referred to by this job code to assign to this job code. It is possible to know the cache address indicating the position of the cache block, that is, the allocation state of the cache memory 44.

【0039】またジョブテーブル50に対応して、ベー
シック・ストレージ42にはデバイスアダプタ20−1
1〜20−22専用のキャッシュメモリ44の割当情報
を格納したDA用割当情報領域54が設けられる。DA
用割当情報領域54にも、ジョブテーブル50のジョブ
コードに対応して割り当てられたキャッシュブロックの
キャッシュメモリ44のアドレスが登録される。
Further, in correspondence with the job table 50, the device adapter 20-1 is stored in the basic storage 42.
A DA allocation information area 54 storing allocation information of the cache memories 44 dedicated to 1 to 20-22 is provided. DA
The address of the cache memory 44 of the cache block allocated corresponding to the job code of the job table 50 is also registered in the for-use allocation information area 54.

【0040】更にベーシック・ストレージ42には、チ
ャネルアダプタモジュール16−1,16−2及びデバ
イスアダプタモジュール20−11〜20−22が共通
に参照することのできる制御情報を格納したCA−DA
共通制御情報領域56が設けられる。このCA−DA共
通制御情報領域56には、例えば割り当てられたキャッ
シュアドレスのキャッシュブロックに対するディスクア
レイユニットのリード動作によるステージングのデータ
量が登録される。
Further, the basic storage 42 stores CA-DA which stores control information which can be commonly referred to by the channel adapter modules 16-1 and 16-2 and the device adapter modules 20-11 to 20-22.
A common control information area 56 is provided. In the CA-DA common control information area 56, for example, the data amount of staging by the read operation of the disk array unit for the cache block of the assigned cache address is registered.

【0041】このため、チャネルアダプタモジュール1
6−1,16−2やデバイスアダプタモジュール20−
11〜20−22は、CA−DA共通制御情報領域56
を参照することで、それぞれ個別に動作しているキャッ
シュメモリ44の入出力状態を認識することができる。
キャッシュ機能機能エンジンモジュール26で管理され
るハッシュテーブル58は、キャッシュ対象となるトラ
ックデータを示すアドレス、例えばホストコンピュータ
12側からディスクアレイユニット14−1,14−2
を論理デバイスとして見た場合のシリンダアドレスをC
C、ヘッドアドレスをH、デバイス番号をDとすると、
トラックアドレスは「CCHD」で定義される。
Therefore, the channel adapter module 1
6-1, 16-2 and device adapter module 20-
11 to 20-22 are CA-DA common control information areas 56.
By referring to, the input / output state of the cache memory 44 operating individually can be recognized.
The hash table 58 managed by the cache function engine module 26 is an address indicating the track data to be cached, for example, the disk array units 14-1 and 14-2 from the host computer 12 side.
C is the cylinder address when is viewed as a logical device
C, head address is H, and device number is D,
The track address is defined by "CCHD".

【0042】このトラックアドレス「CCHD」をキャ
ッシュ機能エンジンモジュール26がハッシュ関数を通
すことでハッシュアドレスを求め、求めたハッシュアド
レスがハッシュテーブル58に存在するか否かチェック
する。ハッシュアドレスがハッシュテーブル58に存在
しないミスヒット時にあっては、求めたハッシュアドレ
スの領域を確保し、そこにトラックアドレス「CCH
D」を登録し、同時にライトコマンドであればキャッシ
ュメモリ44の不揮発性メモリ46にキャッシュブロッ
ク60を割り当て、リードコマンドであれば揮発性メモ
リ48にキャッシュブロック62を割り当てる。
The cache function engine module 26 obtains a hash address by passing the track address "CCHD" through a hash function, and checks whether or not the obtained hash address exists in the hash table 58. At the time of a miss hit where the hash address does not exist in the hash table 58, the area of the obtained hash address is secured and the track address “CCH
"D" is registered, and at the same time, if it is a write command, the cache block 60 is assigned to the nonvolatile memory 46 of the cache memory 44, and if it is a read command, the cache block 62 is assigned to the volatile memory 48.

【0043】キャッシュブロック60または62の割当
情報は、例えばチャネルアダプタモジュール側からのキ
ャッシュ状態の判定要求の際には、CA用割当情報領域
52に、割り当てたキャッシュブロックのキャッシュア
ドレスを登録する。一方、デバイスアダプタモジュール
側からのキャッシュ状態の判定依頼であれば、DA用割
当情報領域54に、割り当てたキャッシュブロックのキ
ャッシュアドレスを登録することになる。
As the allocation information of the cache block 60 or 62, the cache address of the allocated cache block is registered in the CA allocation information area 52 when a cache state determination request is issued from the channel adapter module side. On the other hand, if the device adapter module requests the cache status, the cache address of the allocated cache block is registered in the DA allocation information area 54.

【0044】ハッシュテーブル58のハッシュアドレス
の領域には、更にフラグとポインタの登録領域が設けら
れ、フラグ領域にはハッシュアドレスで割り当てられた
キャッシュブロックがキャッシュメモリ44上に有効に
存在してキャッシュヒット可能状態にあるときにセット
される。ポインタ領域にはハッシュアドレスで管理され
るトラックデータがLRUテーブル(図示せず)に従っ
てLRU制御されていることから、このLRU制御にお
けるLRUテーブルにリンクするためのポインタ情報を
格納する。具体的には、最も新しく参照されたハッシュ
アドレスがLRU制御のリンクの先頭位置となるように
LRUテーブルに対するポインタ情報を登録する。
In the hash address area of the hash table 58, a flag and pointer registration area is further provided, and the cache area allocated by the hash address is effectively present in the cache memory 44 in the flag area and a cache hit occurs. Set when enabled. Since the track data managed by the hash address is LRU-controlled according to the LRU table (not shown) in the pointer area, pointer information for linking to the LRU table in this LRU control is stored. Specifically, the pointer information for the LRU table is registered so that the most recently referenced hash address will be the head position of the link of LRU control.

【0045】このLRU制御のポインタ情報のセットの
際にハッシュテーブル58に空きがなかった場合には、
LRUテーブルの最後に付けている最も長い間参照され
ていない古いキャッシュブロックの追い出しを行うこと
になる。キャッシュブロックを追い出した際に、もし追
い出したキャッシュブロックが不揮発性メモリ46のラ
イトブロックの場合には、ディスクアレイユニット側の
トラックデータと異なったデータになっていることか
ら、不揮発性メモリ46から追い出されたキャッシュブ
ロックについてはディスクアレイユニットに書き戻すラ
イトバック制御を行うことになる。
When there is no space in the hash table 58 when setting the pointer information for this LRU control,
The oldest cache block that has not been referenced for the longest time at the end of the LRU table will be evicted. When a cache block is flushed, if the flushed cache block is a write block of the non-volatile memory 46, the data is different from the track data on the disk array unit side. The write-back control for writing back the cache block that has been written to the disk array unit is performed.

【0046】図5のキャッシュメモリ44の不揮発性メ
モリ46及び揮発性メモリ48は、トラックデータを格
納するためにキャッシュブロック60,62を割り当て
るが、キャッシュブロック60,62は例えば64KB
のサイズをもっている。またキャッシュブロック60,
62は16KBごとのサブブロックに分けている。ね
このためキャッシュブロック60,62は、ディスクア
レイユニットとの間で16KBのブロック単位で入出力
することができる。これに対しチャネルアダプタモジュ
ール16−1,16−2とホストコンピュータ12のチ
ャネルユニット18−1,18−2との間のデータ転送
は、4KBのホストブロックを最小単位として行われて
いる。
The nonvolatile memory 46 and the volatile memory 48 of the cache memory 44 of FIG. 5 allocate cache blocks 60 and 62 for storing track data, and the cache blocks 60 and 62 are, for example, 64 KB.
Has the size of. Also, the cache block 60,
62 is divided into sub blocks of 16 KB each. Right
Therefore, the cache blocks 60 and 62 can be input / output to / from the disk array unit in 16 KB block units. On the other hand, the data transfer between the channel adapter modules 16-1 and 16-2 and the channel units 18-1 and 18-2 of the host computer 12 is performed with the host block of 4 KB as the minimum unit.

【0047】ここでチャネルアダプタ16−1,16−
2側のデータ転送速度は例えば4Mbpsであり、これ
に対しデバイスアダプタモジュール20−11〜20−
22によるディスクアレイユニット14−1,14−2
との間のデータ転送速度は20Mbpsと十分に速くな
っている。このようにデバイス側のデータ転送速度が十
分に高いことから、本発明にあっては、チャネルユニッ
トからの入出力要求でキャッシュメモリ44がミスヒッ
トとなった場合にも、ディスクアレイユニット14−
1,14−2側から該当するトラックデータのステージ
ングを行った後に、見掛け上、キャッシュヒット状態と
同様にしてキャッシュライトまたはキャッシュリードを
可能とする。
Here, the channel adapters 16-1, 16-
The data transfer rate on the second side is, for example, 4 Mbps, while the device adapter modules 20-11 to 20-
Disk array units 14-1 and 14-2 by 22
The data transfer rate between and is sufficiently high at 20 Mbps. Since the data transfer rate on the device side is sufficiently high as described above, in the present invention, even when the cache memory 44 becomes a mishit due to an input / output request from the channel unit, the disk array unit 14-
After staging the corresponding track data from the side of 1 and 14-2, cache write or cache read is apparently enabled in the same manner as in the cache hit state.

【0048】しかもチャネルアダプタモジュール16−
1,16−2側とデバイスアダプタモジュール20−1
1〜20−22側は非同期に動作可能であることから、
キャッシュメモリ44を使用したトラックデータの入出
力制御を可能な限り並行処理とすることで、より高速の
キャッシュメモリを使用した入出力制御を実現すること
ができる。
Moreover, the channel adapter module 16-
1, 16-2 side and device adapter module 20-1
Since 1 to 20-22 side can operate asynchronously,
By performing the input / output control of the track data using the cache memory 44 as parallel processing as possible, the input / output control using the cache memory at a higher speed can be realized.

【0049】次に、本発明のディスクコントローラ10
における入出力制御をライト動作とリード動作に分けて
説明する。図6は、ディスクコントローラ10の入出力
制御の動作を説明するために、図2のディスクコントロ
ーラ10について共通メモリ28の内容を図5に対応し
て示し、更に左側のチャネルユニット、チャネルアダプ
タモジュール、デバイスアダプタモジュールによる入出
力制御がリソースマネジャモジュール22で割り当てら
れた場合を例にとっており、符号についても、簡単にす
るためにチャネルユニット18、チャネルアダプタモジ
ュール16、デバイスアダプタモジュール20としてい
る。更に、ディスクアレイユニット14−1,14−2
については、単にデバイス14として示している。
Next, the disk controller 10 of the present invention.
The input / output control in (1) will be described separately for the write operation and the read operation. FIG. 6 shows the contents of the common memory 28 of the disk controller 10 of FIG. 2 corresponding to FIG. 5, in order to explain the input / output control operation of the disk controller 10, and further includes a channel unit on the left side, a channel adapter module, The case where the input / output control by the device adapter module is assigned by the resource manager module 22 is taken as an example, and the reference numerals are the channel unit 18, the channel adapter module 16, and the device adapter module 20 for simplification. Further, the disk array units 14-1, 14-2
Are simply shown as the device 14.

【0050】図7は図6のディスクコントローラ10の
ライト動作のタイムチャートである。まずホストコンピ
ュータ12のチャネルユニット18がI/Oコマンド・
ライト64を発行したとする。このI/Oコマンド・ラ
イト64を受けたチャネルアダプタモジュール16は、
リソースマネジャモジャール22に通知する。リソース
マネジャモジュール22はI/コマンド・ライト64が
CCWチェーンの最初のコマンドであった場合には、リ
ソースマネジャモジュール22はジョブテーブル50に
新たなジョブコードとそのCCWチェーンの関係を登録
する。
FIG. 7 is a time chart of the write operation of the disk controller 10 of FIG. First, the channel unit 18 of the host computer 12 is the I / O command
It is assumed that the light 64 is issued. The channel adapter module 16 which has received this I / O command write 64
Notify the resource manager Mojar 22. When the I / command write 64 is the first command of the CCW chain, the resource manager module 22 registers the new job code and its CCW chain relationship in the job table 50.

【0051】チャネルアダプタモジュール16はI/O
コマンド・ライト64によりデバイス14の論理トラッ
クアドレスを受領することから、キャッシュ機能エンジ
ンモジュール26に対し、キャッシュメモリ44上に要
求されたトラックデータが存在するか否かの判定要求6
6を行う。ここでトラックアドレスはホストコンピュー
タ12からデバイス14を論理デバイスとして見て割り
当てられた論理トラックアドレスであり、「CCHD」
で与えられる。チャネルアダプタモジュール16からの
判定要求66を受けたキャッシュ機能エンジンモジュー
ル26は、トラックアドレス「CCHD」をキャッシュ
関数を通すことでキャッシュアドレスを求め、求めたハ
ッシュアドレスでハッシュテーブル58を参照する。
The channel adapter module 16 is an I / O
Since the logical track address of the device 14 is received by the command write 64, the cache function engine module 26 is requested to determine 6 whether the requested track data exists in the cache memory 44.
Perform Step 6. Here, the track address is a logical track address assigned from the host computer 12 by viewing the device 14 as a logical device, and is “CCHD”.
Given by The cache function engine module 26 that has received the determination request 66 from the channel adapter module 16 obtains the cache address by passing the track address “CCHD” through the cache function, and refers to the hash table 58 with the obtained hash address.

【0052】このときハッシュテーブル58に該当する
トラックアドレス「CCHD」の登録がなくキャッシュ
メモリ44上にトラックデータが存在しない場合には、
ミスヒット68を応答する。キャッシュ機能エンジンモ
ジュール26からミスヒット68の応答を受けたチャネ
ルアダプタモジュール16は、リソースマネジャモジュ
ール22にミスヒットとなったトラックデータのステー
ジング要求70を行う。ステージング要求70を行う
と、チャネルアダプタモジュール16はチャネルユニッ
ト18との結合の切離し65を行う。
At this time, if the corresponding track address "CCHD" is not registered in the hash table 58 and there is no track data in the cache memory 44,
Respond with a mishit 68. The channel adapter module 16 which has received the response of the miss hit 68 from the cache function engine module 26 makes a staging request 70 for the missed track data to the resource manager module 22. When the staging request 70 is made, the channel adapter module 16 makes the disconnection 65 of the connection with the channel unit 18.

【0053】ステージング要求70を受けたリソースマ
ネジャモジュール22は、デバイスアダプタモジュール
20に対しステージング要求72を行う。ステージング
要求72を受けたデバイスアダプタモジュール20は、
指定されたトラックアドレス「CCHD」のトラックデ
ータがキャッシュメモリ44上に存在するか否かの判定
依頼74をキャッシュ機能エンジンモジュール26に対
し行う。
Upon receiving the staging request 70, the resource manager module 22 makes a staging request 72 to the device adapter module 20. The device adapter module 20 that has received the staging request 72
The cache function engine module 26 is requested to determine whether the track data of the designated track address “CCHD” exists in the cache memory 44.

【0054】キャッシュ機能エンジンモジュール26
は、キャッシュ判定依頼74に対し与えられたトラック
アドレス「CCHD」をキャッシュ関数を通すことでキ
ャッシュアドレスを求め、ハッシュテーブル58を参照
する。このときハッシュテーブル58にそのトラックア
ドレス「CCHD」の登録はないことから、ミスヒット
78を応答する。
Cache Function Engine Module 26
Obtains the cache address by passing the track address “CCHD” given to the cache determination request 74 through the cache function, and refers to the hash table 58. At this time, since the track address “CCHD” is not registered in the hash table 58, a mishit 78 is returned.

【0055】同時にキャッシュ機能エンジンモジュール
26にあっては、デバイスアダプタモジュール20から
のステージングによるトラックデータの格納領域を格納
するキャッシュブロックを確保するためのキャッシュ割
当て処理76とハッシュテーブル58への登録処理を行
う。このキャッシュ割当て処理/ハッシュテーブル登録
処理76が行われると、DA用割当情報領域54に、図
5に示したようにジョブコードに対応して割り当てられ
たキャッシュブロックのキャッシュアドレスが登録され
る。この場合、キャッシュライトのI/Oコマンドであ
ることから、図8のようにキャッシュブロック114は
不揮発性メモリ46の領域に割り当てられる。
At the same time, the cache function engine module 26 performs a cache allocation process 76 for securing a cache block for storing a track data storage area by staging from the device adapter module 20 and a registration process in the hash table 58. To do. When the cache allocation processing / hash table registration processing 76 is performed, the cache address of the cache block allocated corresponding to the job code is registered in the DA allocation information area 54 as shown in FIG. In this case, since it is a cache write I / O command, the cache block 114 is allocated to the area of the non-volatile memory 46 as shown in FIG.

【0056】キャッシュ機能エンジンモジュール26か
らのミスヒット78の応答を受けたデバイスアダプタモ
ジュール20は、デバイス14に対しトラックデータの
リードコマンド80を発行する。これを受けてデバイス
14からトラックデータのリード動作82が行われ、デ
バイスアダプタモジュールはDA用割当情報領域54の
参照でキャッシュメモリ44上の割り当てられたキャッ
シュブロックのアドレスを認識し、デバイス14から転
送されてきたトラックデータのキャッシュメモリに対す
るステージングを行う。
The device adapter module 20 receiving the response of the mishit 78 from the cache function engine module 26 issues a track data read command 80 to the device 14. In response to this, the track data read operation 82 is performed from the device 14, the device adapter module recognizes the address of the cache block allocated in the cache memory 44 by referring to the DA allocation information area 54, and transfers from the device 14. The staging of the received track data in the cache memory is performed.

【0057】このキャッシュメモリ44に対するステー
ジング84において、ステージングのデータ量が予め定
めた一定量に達すると、デバイスアダプタモジュール2
0はリソースマネジャモジュール22にチャネルアダプ
タモジュール16の再起動要求86を行う。このためリ
ソースマネジャモジュール22は、チャネルアダプタモ
ジュール16に再起動88を指示する。
In the staging 84 for the cache memory 44, when the staging data amount reaches a predetermined fixed amount, the device adapter module 2
0 requests the resource manager module 22 to restart the channel adapter module 16. Therefore, the resource manager module 22 instructs the channel adapter module 16 to restart 88.

【0058】チャネルアダプタモジュール16は再起動
により再びチャネルチャネルユニット18と再結合90
を行い、チャネルユニット18より再度、I/Oコマン
ド・ライト92が発行される。このI/Oコマンド・ラ
イト92に対し、再起動したチャネルアダプタモジュー
ル16は、キャッシュ機能エンジンモジュール26にキ
ャッシュメモリ44上にトラックデータが存在するか否
かの判定要求94を行う。このときハッシュテーブル5
8にはデバイスアダプタモジュール20のステージング
処理に先立つキャッシュ割当て処理76の際にトラック
アドレス「CCHD」への登録が済んでいるが、ハッシ
ュテーブル58のフラグ状態はヒット可能状態にないこ
とから、トラックデータのステージング中を認識し、ヒ
ット/ステージング中96を応答する。
The channel adapter module 16 is recombined with the channel channel unit 18 by restarting 90.
Then, the channel unit 18 issues the I / O command write 92 again. In response to this I / O command write 92, the restarted channel adapter module 16 requests the cache function engine module 26 to determine 94 whether or not track data exists in the cache memory 44. At this time, hash table 5
8 has already been registered in the track address “CCHD” during the cache allocation process 76 prior to the staging process of the device adapter module 20, but since the flag state of the hash table 58 is not in the hit enable state, the track data Respond 96 during hit / staging.

【0059】このときキャッシュ機能エンジンモジュー
ル26にあっては、キャッシュ割当て処理95を実行
し、DA用割当情報領域54に、現在ステージング中に
ある既に割り当てられたキャッシュブロックのキャッシ
ュアドレスを登録する。キャッシュ機能エンジンモジュ
ール26からヒット/ステージング中96の応答を受け
たチャネルアダプタモジュール16は、CA−DA共通
制御情報領域56を参照し、デバイスアダプタモジュー
ル20によるステージング84で、キャッシュメモリ4
4の割り当てられたキャッシュブロックに対するステー
ジングのデータ量が予め定めた一定量に達したか否かを
判断する。
At this time, the cache function engine module 26 executes the cache allocation processing 95, and registers the cache address of the already allocated cache block currently being staged in the DA allocation information area 54. The channel adapter module 16 having received the response of 96 during hit / staging from the cache function engine module 26 refers to the CA-DA common control information area 56, and performs the staging 84 by the device adapter module 20 to execute the cache memory 4
It is determined whether or not the staging data amount for the allocated cache block 4 has reached a predetermined fixed amount.

【0060】ステージングのデータ量が一定量に達する
と、DA用割当情報領域54の参照で割り当てられたキ
ャッシュメモリ44のキャッシュアドレスを認識し、チ
ャネルユニット18からのライト転送98によるトラッ
クデータを受けてキャッシュライト100を行う。この
状態にあっては、キャッシュメモリ44に割り当てられ
た同じキャッシュブロックの割当て領域に対し、デバイ
スアダプタモジュール20によるステージング84とチ
ャネルアダプタモジュール16によるキャッシュライト
100が同時に並行して行われる。即ち、割り当てられ
たキャッシュブロックに対するステージングが一定量、
例えば16KBとなったときに、チャネルアダプタモジ
ュール16によるキャッシュライトがステージングする
ブロック先頭から開始されることになる。
When the staging data amount reaches a certain amount, the cache address of the cache memory 44 allocated by referring to the DA allocation information area 54 is recognized, and the track data by the write transfer 98 from the channel unit 18 is received. The cache write 100 is performed. In this state, the staging 84 by the device adapter module 20 and the cache write 100 by the channel adapter module 16 are simultaneously performed in parallel to the allocation area of the same cache block allocated to the cache memory 44. That is, a certain amount of staging for the allocated cache block,
For example, when it reaches 16 KB, the cache write by the channel adapter module 16 is started from the head of the staging block.

【0061】デバイス14のリード動作82が終了して
デバイスアダプタモジュール20によるステージング8
4が終了すると、キャッシュ機能エンジンモジュール2
6及びリソースマネジャモジュール22にステージング
終了102が通知される。このステージング終了102
を受けてキャッシュ機能エンジンモジュール26は、ハ
ッシュテーブル58における該当するハッシュアドレス
のフラグをヒット状態にセットするフラグセット104
を行う。
After the read operation 82 of the device 14 is completed, the staging 8 by the device adapter module 20 is performed.
When 4 ends, cache function engine module 2
6 and the resource manager module 22 are notified of the staging completion 102. End of this staging 102
In response, the cache function engine module 26 sets the flag of the corresponding hash address in the hash table 58 to the hit state flag set 104.
I do.

【0062】更に、チャネルユニット18からのライト
転送98の終了でチャネルアダプタモジュール16によ
るキャッシュライト100が終了すると、チャネルユニ
ット18に終了106を応答して切離し108を行い、
またリソースマネジャモジュール22及びキャッシュ機
能エンジンモジュール26に終了110を通知する。こ
の終了110の通知を受けたキャッシュ機能エンジンモ
ジュール26は、ライト動作の済んだハッシュテーブル
58の該当するハッシュアドレスをLRUテーブルの先
頭位置に繋げるLRU制御のためのトラックリンク11
2を行う。
Further, when the cache write 100 by the channel adapter module 16 is completed by the completion of the write transfer 98 from the channel unit 18, the disconnection 108 is performed in response to the completion 106 in the channel unit 18.
Also, the end 110 is notified to the resource manager module 22 and the cache function engine module 26. The cache function engine module 26, which has received the notification of the end 110, connects the corresponding hash address of the hash table 58 that has been written to the head position of the LRU table for the track link 11 for LRU control.
Do 2

【0063】図9は図6のディスクコントローラ10の
リード動作のフローチャートである。このリード動作
は、チャネルユニット18からI/Oコマンド・リード
116を受け、チャネルアダプタモジュール16の判定
要求118に対しキャッシュメモリ44がミスヒットと
なってデバイスアダプタモジュール20でステージング
を行い、ステージング量が所定値に達したときの再起動
要求138でチャネルアダプタモジュール16を再起動
してキャッシュ状態を判定した後に、チャネル装置から
のリード転送150によりキャッシュリード152を行
うようにしている。このためリードコマンドに伴うリー
ド動作がチャネルユニット18とチャネルアダプタ16
との間で行われる以外は、基本的には図7のライト動作
と同じになる。
FIG. 9 is a flow chart of the read operation of the disk controller 10 of FIG. In this read operation, the I / O command read 116 is received from the channel unit 18, the cache memory 44 becomes a miss in response to the determination request 118 of the channel adapter module 16, and the device adapter module 20 performs staging. After the channel adapter module 16 is restarted by the restart request 138 when the predetermined value is reached and the cache state is determined, the cache read 152 is performed by the read transfer 150 from the channel device. Therefore, the read operation accompanying the read command is performed by the channel unit 18 and the channel adapter 16.
The write operation is basically the same as that shown in FIG.

【0064】この図9のリード動作にあっても、デバイ
スアダプタモジュール20によるステージング136の
途中からチャネルアダプタモジュール16の再起動によ
るキャッシュリード152が並行して行われ、キャッシ
ュミスヒット時のステージングを伴うリード動作をより
高速に終了させることができる。図10は図9のリード
動作におけるキャッシュメモリ44のキャッシュブロッ
ク割当状態を示しており、リード動作の際にはキャッシ
ュメモリ44に設けている揮発性メモリ48にキャッシ
ュ割当ブロック166が確保される。
Even in the read operation of FIG. 9, the cache read 152 by the restart of the channel adapter module 16 is performed in parallel from the middle of the staging 136 by the device adapter module 20, and the staging at the time of a cache miss is involved. The read operation can be completed faster. FIG. 10 shows a cache block allocation state of the cache memory 44 in the read operation of FIG. 9, and the cache allocation block 166 is secured in the volatile memory 48 provided in the cache memory 44 during the read operation.

【0065】次に、図7のライト動作及び図9のリード
動作を実現するためのチャネルアダプタモジュール1
6、デバイスアダプタモジュール20及びキャッシュ機
能エンジンモジュール26のそれぞれにおける制御処理
を説明する。図11は図6のチャネルアダプタモジュー
ル16の制御処理のフローチャートである。まずステッ
プS1で、チャネルユニット18からのI/Oコマンド
の受領の有無をチェックしており、I/Oコマンドを受
領すると、ステップS2で、キャッシュ機能エンジン2
6にキャッシュ状態の判定依頼を行う。
Next, the channel adapter module 1 for realizing the write operation of FIG. 7 and the read operation of FIG.
6. The control processing in each of the device adapter module 20 and the cache function engine module 26 will be described. FIG. 11 is a flowchart of the control processing of the channel adapter module 16 of FIG. First, in step S1, it is checked whether or not an I / O command is received from the channel unit 18. If an I / O command is received, in step S2 the cache function engine 2
6 is requested to determine the cache state.

【0066】ステップS3で、キャッシュ機能エンジン
モジュール26よりヒット応答が得られれば、ステップ
S4でキャッシュライトまたはリードを行って、ステッ
プS5で終了処理となる。ミスヒットの場合には、ステ
ップS6で、リソースマネジャモジュール22にステー
ジングを要求して、ステップS7でチャネル結合を切り
離す。
If a hit response is obtained from the cache function engine module 26 in step S3, cache write or read is performed in step S4, and the end processing is performed in step S5. In the case of a mishit, staging is requested to the resource manager module 22 in step S6, and channel coupling is released in step S7.

【0067】この状態で、ステップS8でリソースマネ
ジャモジュール22からの再起動要求を待っており、再
起動要求を受けると、ステップS9でチャネルユニット
18と再結合し、ステップS10でI/Oコマンドの受
領を待って、ステップS11で、再度キャッシュ機能エ
ンジンモジュール26にキャッシュ状態の判定を依頼す
る。
In this state, the system waits for a restart request from the resource manager module 22 in step S8. When the restart request is received, the channel unit 18 is reconnected in step S9 and the I / O command of the I / O command is received in step S10. After the receipt, the cache function engine module 26 is requested to determine the cache state again in step S11.

【0068】この判定依頼に対し、ステップS12でヒ
ット応答が得られると、ステップS13でステージング
中か否かチェックする。ステージング中であれば、ステ
ップS14でCA−DA共通制御情報領域56を参照
し、一定量のステージングに達すると、ステップS16
でキャッシュライトまたはリードを行い、終了すると、
ステップS17で終了処理を行って、再びステップS1
に戻る。
When a hit response is obtained in step S12 in response to this determination request, it is checked in step S13 whether staging is in progress. If staging is in progress, the CA-DA common control information area 56 is referred to in step S14, and when a certain amount of staging is reached, step S16.
Perform a cache write or read with, and when finished,
The termination process is performed in step S17, and step S1 is performed again.
Return to

【0069】図12はデバイスアダプタモジュール20
の制御処理のフローチャートである。まずステップS1
で、リソースマネジャモジュール22からのステージン
グ要求の有無をチェックしており、ステージング要求が
あると、ステップS2でキャッシュ機能エンジンモジュ
ール26にキャッシュ状態の判定依頼を行う。続いてス
テップS3でヒットの有無をチェックし、ミスヒットで
あれば、ステップS4でデバイス14にリードコマンド
を発行し、ステップS5で、DA割当情報領域54の参
照で認識したキャッシュアドレスに対しステージングを
行う。
FIG. 12 shows the device adapter module 20.
3 is a flowchart of the control process of FIG. First, step S1
Then, the presence / absence of a staging request from the resource manager module 22 is checked. If there is a staging request, the cache function engine module 26 is requested to determine the cache state in step S2. Then, in step S3, the presence or absence of a hit is checked. If it is a mishit, a read command is issued to the device 14 in step S4, and staging is performed on the cache address recognized by referring to the DA allocation information area 54 in step S5. To do.

【0070】続いてステップS6で、一定量のステージ
ングに達したか否かチェックしており、一定量のステー
ジングに達すると、ステップS7で、リソースマネジャ
モジュール22に対しチャネルアダプタモジュール16
の再起動を要求する。続いてステップS8でステージン
グ終了の有無をチェックしており、ステージングが終了
すると、ステップS7で、キャッシュ機能エンジンモジ
ュール26及びリソースマネジャモジュール22に終了
を通知する。
Subsequently, in step S6, it is checked whether or not a certain amount of staging is reached. When the certain amount of staging is reached, in step S7, the resource manager module 22 is sent to the channel adapter module 16
Request a restart of. Then, in step S8, it is checked whether or not staging is completed. When staging is completed, the completion is notified to the cache function engine module 26 and the resource manager module 22 in step S7.

【0071】図13は図6のキャッシュ機能エンジンモ
ジュール26の制御処理のフローチャートである。まず
ステップS1で、他のモジュールからの処理要求の有無
をチェックしており、処理要求があると、ステップS2
で、チャネルアダプタモジュール16からの判定依頼か
否かチェックする。チャネルアダプタモジュール16か
らの判定依頼であった場合にはステップS3に進み、ハ
ッシュテーブルを検索し、ステップS4でヒットか否か
判定する。
FIG. 13 is a flow chart of the control processing of the cache function engine module 26 of FIG. First, in step S1, it is checked whether or not there is a processing request from another module, and if there is a processing request, step S2
Then, it is checked whether or not it is a determination request from the channel adapter module 16. If the determination request is from the channel adapter module 16, the process proceeds to step S3, the hash table is searched, and it is determined in step S4 whether or not there is a hit.

【0072】ヒットであればステップS15でステージ
ング中か否かチェックし、ステージング中にないことか
ら、ステップS17でヒットをチャネルアダプタモジュ
ールに応答し、キャッシュメモリに対するキャッシュラ
イトまたはキャッシュリードを行わせる。ステップS4
でミスヒットであった場合には、ミスヒットをチャネル
アダプタモジュールにステップS5で応答し、続いてス
テップS6でキャッシュメモリの割当てを行い、更にス
テップS7でCA用割当情報領域52に割当情報、即ち
割り当てたキャッシュブロックのアドレスを登録する。
If it is a hit, it is checked in step S15 whether staging is in progress. Since it is not in staging, in step S17 a hit is returned to the channel adapter module to cause cache write or cache read to the cache memory. Step S4
If it is a mishit in step S5, the mishit is returned to the channel adapter module in step S5, the cache memory is allocated in step S6, and the CA allocation information area 52 is allocated with the allocation information, that is, Register the address of the allocated cache block.

【0073】一方、ステップS5でハッシュテーブルが
ヒットし且つステージング中であった場合は、これはチ
ャネルデバイスモジュール側からの再起動要求によるチ
ャネルアダプタモジュールからの判定依頼であることか
ら、ステップS16に進み、ヒット状態で且つステージ
ング中にあることをチャネルアダプタモジュールに応答
することになる。
On the other hand, if the hash table is hit and the staging is in progress in step S5, this is a determination request from the channel adapter module due to a restart request from the channel device module side, so the process proceeds to step S16. , It will respond to the channel adapter module that it is in a hit state and is in staging.

【0074】ステップS2で処理要求がチャネルアダプ
タモジュールの判定依頼でなかった場合には、ステップ
S8でデバイスアダプタモジュールからの判定依頼か否
かチェックする。デバイスアダプタモジュール20から
の判定依頼であった場合にはステップS9に進み、ハッ
シュテーブル58を検索し、ステップS10でヒットか
否か判定する。
If the processing request is not the determination request of the channel adapter module in step S2, it is checked in step S8 whether the determination request is from the device adapter module. If the determination request is from the device adapter module 20, the process proceeds to step S9, the hash table 58 is searched, and it is determined in step S10 whether or not there is a hit.

【0075】ミスヒットであった場合には、ステップS
11でミスヒットをデバイスアダプタモジュールに応答
し、次にステップS12でキャッシュメモリ44の割り
当てを行い、割り当てが済むと、ステップS13でDA
用割当情報領域54に割当情報を登録する。もちろんス
テップS12のキャッシュメモリの割り当ての際には、
トラックアドレス「CCHD」をハッシュ関数を通して
得られたハッシュアドレスにトラックデータの登録を行
う。
If it is a mishit, step S
In step 11, a response is sent to the device adapter module with a mishit, and in step S12, the cache memory 44 is allocated. When the allocation is completed, DA is calculated in step S13.
The allocation information is registered in the for-use allocation information area 54. Of course, when allocating the cache memory in step S12,
The track data is registered at the hash address obtained by passing the track address “CCHD” through the hash function.

【0076】一方、ステップS10でデバイスアダプタ
モジュール20からの判定依頼に対し、ハッシュテーブ
ル58の検索でヒット状態となったときには、ステップ
S14でヒットをデバイスアダプタモジュールに応答す
る。ステップS8で処理要求の内容がデバイスアダプタ
モジュール20からの判定依頼でなかった場合には、ス
テップS18で、ステージング終了か否かをチェックす
る。ステージング終了を判別した場合には、ステップS
9で、ハッシュテーブル58の該当するハッシュアドレ
スのフラグをヒット状態にセットする。
On the other hand, in response to the determination request from the device adapter module 20 in step S10, when the hash table 58 is searched for a hit state, the hit is returned to the device adapter module in step S14. If the content of the processing request is not the determination request from the device adapter module 20 in step S8, it is checked in step S18 whether staging is completed. If it is determined that staging has ended, step S
At 9, the flag of the corresponding hash address in the hash table 58 is set to the hit state.

【0077】ステップS18でステージング終了でなけ
れば、ステップS20で、キャッシュのリードまたはラ
イト終了か否かチェックする。キャッシュリードまたは
キャッシュライトの終了であれば、アクセスの済んだハ
ッシュアドレスをLRUテーブルの先頭位置に繋げるL
RU制御のためのトラックデータのリンク登録を行う。
If the staging is not completed in step S18, it is checked in step S20 whether the cache read or write is completed. If the cache read or the cache write is finished, the hash address which has been accessed is connected to the head position of the LRU table.
Performs link registration of track data for RU control.

【0078】更に図6のリソースマネジャモジュール2
2にあっては、チャネルアダプタ側でI/Oコマンドを
受けたときのジョブテーブル50に対する登録、及びス
テージング要求を行う際のデバイスアダプタモジュール
の選択、更には再起動要求を受けた際のチャネルアダプ
タモジュールの選択等の各モジュールの全体的な管理を
行うことになる。
Further, the resource manager module 2 of FIG.
In No. 2, the channel adapter registers with the job table 50 when it receives an I / O command, selects a device adapter module when making a staging request, and further receives a restart request, the channel adapter. Overall management of each module such as module selection will be performed.

【0079】尚、上記の実施例にあっては、デバイスと
して磁気ディスクドライブを用いたディスクアレイユニ
ットを例にとるものであったが、光ディスクドライブや
磁気テープトラック等の適宜の直接アクセス装置(DA
SD)を使用することができる。またチャネルアダプタ
側の上位装置としてホストコンピュータ1台を例にとっ
ているが、チャネルアダプタの数を増やすことで複数の
ホストコンピュータと接続するマルチコンピュータ装置
の入出力制御を行うこともできる。更に、本発明は実施
例に示した数値による限定は受けない。
In the above embodiment, the disk array unit using the magnetic disk drive as the device is taken as an example, but an appropriate direct access device (DA) such as an optical disk drive or a magnetic tape track is used.
SD) can be used. Although one host computer is taken as an example of the host computer on the channel adapter side, input / output control of a multi-computer device connected to a plurality of host computers can be performed by increasing the number of channel adapters. Further, the present invention is not limited by the numerical values shown in the embodiments.

【0080】[0080]

【発明の効果】以上説明してきたように本発明によれ
ば、1つのジョブテーブルで管理されるキャッシュメモ
リの割当情報の格納領域としてチャネルアダプタモジュ
ール専用の領域とデバイスアダプタモジュール専用の領
域を設けたことから、チャネルアダプタモジュールとデ
バイスアダプタモジュールは相互に干渉されることな
く、キャッシュメモリの割当状態を認識して、並行して
キャッシュ動作を行うことができる。
As described above, according to the present invention, the area dedicated to the channel adapter module and the area dedicated to the device adapter module are provided as the storage areas of the allocation information of the cache memory managed by one job table. Therefore, the channel adapter module and the device adapter module can recognize the allocation state of the cache memory and perform the cache operation in parallel without mutual interference.

【0081】また入出力要求に対しキャッシュメモリが
ミスヒットとなってデバイスアダプタモジュールのステ
ージングを行う際に、キャッシュメモリに対するステー
ジング量が一定量に達したときにチャネルアダプタモジ
ュールの再起動が行われ、且つハッシュテーブルをヒッ
ト可能状態にセットし、これによって、再起動したチャ
ネルアダプタモジュールがキャッシュヒット状態と同じ
キャッシュライトまたはキャッシュリードをデバイスア
ダプタモジュールのステージングに並行して行うことが
でき、チャネルアダプタモジュールとデバイスアダプタ
モジュールの並行動作を可能とすることで、ミスヒット
であっても略キャッシュヒットと同じ状態での高速の入
出力制御ができ、外部記憶装置との間の入出力処理の性
能を大幅に向上することができる。
Further, when the cache memory becomes a mishit in response to an input / output request and the device adapter module is staged, the channel adapter module is restarted when the staging amount to the cache memory reaches a certain amount. In addition, the hash table is set to the hit enable state so that the restarted channel adapter module can perform the same cache write or cache read as the cache hit state in parallel with the staging of the device adapter module. By enabling parallel operation of the device adapter module, high-speed I / O control can be performed in the same state as a cache hit even if it is a mishit, and the performance of I / O processing with an external storage device is greatly improved. Improve It is possible.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の原理説明図FIG. 1 is a diagram illustrating the principle of the present invention.

【図2】本発明の動作環境の実施例を示したブロック図FIG. 2 is a block diagram showing an embodiment of an operating environment of the present invention.

【図3】図2のディスクアレイユニットの説明図FIG. 3 is an explanatory diagram of the disk array unit of FIG.

【図4】図2の共通メモリのメモリマップ説明図FIG. 4 is an explanatory diagram of a memory map of the common memory in FIG.

【図5】図2のベーシックストレージとキャッシュメモ
リの説明図
5 is an explanatory diagram of the basic storage and the cache memory of FIG.

【図6】本発明を機能構成で示したブロック図FIG. 6 is a block diagram showing the present invention in a functional configuration.

【図7】図6のライト動作のタイムチャートFIG. 7 is a time chart of the write operation of FIG.

【図8】図7のライト動作におけるキャッシュブロック
割当ての説明図
8 is an explanatory diagram of cache block allocation in the write operation of FIG. 7.

【図9】図6のリード動作のタイムチャート9 is a time chart of the read operation of FIG.

【図10】図9のリード動作のキャッシュブロック割当
ての説明図
10 is an explanatory diagram of cache block allocation in the read operation of FIG.

【図11】図7のチャネルアダプタモジュール制御処理
のフローチャート
11 is a flowchart of the channel adapter module control process of FIG.

【図12】図7のデバイスアダプタモジュール制御処理
のフローチャート
12 is a flowchart of the device adapter module control process of FIG.

【図13】図7のキャッシュ機能エンジンモジュール制
御処理のフローチャート
13 is a flowchart of the cache function engine module control process of FIG.

【図14】従来装置のブロック図FIG. 14 is a block diagram of a conventional device.

【符号の説明】[Explanation of symbols]

10:ディスクコントローラ(入出力制御装置) 12:ホストコンピュータ(上位装置) 14:デバイス 14−1,14−2:ディスクアレイユット 16,16−1,16−2:チャネルアダプタモジュー
ル(CAモジュール) 18,18−1,18−2:チャネルユニット(チャネ
ル装置) 20,20−11,20−12,20−21,20−2
2:デバイスアダプタモジュール(DAモジュール) 22:リソースマネジャモジュール(RMモジュール) 26:キャッシュ機能エンジンモジュール(CFEモジ
ュール) 28:共通メモリ 30−1,30−2,32−1,32−2:内部バス 34−1,34−2:ディスクアレイコントロールロジ
ック 36−1,36−2:キャッシュ機構 38:ディスクアレイ 40−00〜40−35:ディスクドライブ 42:ベーシック・ストレージ 44:キャッシュメモリ 46:不揮発メモリ 48:揮発メモリ 50:ジョブテーブル 52:CA専用割当情報領域 54:DA専用割当情報領域 56:CA−DA共通制御情報領域 58:ハッシュテーブル 60,62:キャッシュブロック 114,166:キャッシュ割当ブロック
10: Disk controller (input / output control device) 12: Host computer (upper device) 14: Device 14-1, 14-2: Disk array unit 16, 16-1, 16-2: Channel adapter module (CA module) 18 , 18-1, 18-2: Channel units (channel devices) 20, 20-11, 20-12, 20-21, 20-2
2: Device adapter module (DA module) 22: Resource manager module (RM module) 26: Cache function engine module (CFE module) 28: Common memory 30-1, 30-2, 32-1, 32-2: Internal bus 34-1, 34-2: Disk Array Control Logic 36-1, 36-2: Cache Mechanism 38: Disk Array 40-00-40-35: Disk Drive 42: Basic Storage 44: Cache Memory 46: Nonvolatile Memory 48 : Volatile memory 50: Job table 52: CA dedicated allocation information area 54: DA dedicated allocation information area 56: CA-DA common control information area 58: Hash table 60, 62: Cache block 114, 166: Cache allocation block

─────────────────────────────────────────────────────
────────────────────────────────────────────────── ───

【手続補正書】[Procedure amendment]

【提出日】平成8年5月27日[Submission date] May 27, 1996

【手続補正1】[Procedure amendment 1]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】請求項16[Name of item to be corrected] Claim 16

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【手続補正2】[Procedure amendment 2]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0002[Name of item to be corrected] 0002

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【0002】[0002]

【従来の技術】従来、キャッシュメモリを介してデバイ
スとチャネルとの間のデータ転送を非同期で行う入出力
制御装置としては、例えば図14のものがある。図14
において、磁気ディスク制御装置1000は、ホストコ
ンピュータ1012のチャネルユニット1018−1,
1018−2に対しチャネルアダプタモジュール(CA
モジュール)1016−1,1016−2を設け、磁気
ディスク装置等のデバイス1014に対してデバイスア
ダプタモジュール(DAモジュール)1020−1,1
020−2を設けている。
2. Description of the Related Art Conventionally, as an input / output control device for asynchronously transferring data between a device and a channel via a cache memory, for example, there is one shown in FIG. FIG.
In the magnetic disk control device 1000, the channel unit 1018-1 of the host computer 1012,
1018-2 for channel adapter module (CA
Modules 1016-1 and 1016-2 are provided, and a device adapter module (DA module) 1020-1, 1 is provided for a device 1014 such as a magnetic disk device.
020-2 is provided.

【手続補正3】[Procedure 3]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0005[Correction target item name] 0005

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【0005】図14の従来装置におけるライト動作を説
明する。いまチャネルユニット1018−1からI/O
コマンド・ライトが発行されると、チャネルアダプタモ
ジュール1016−1はキャッシュ機能エンジンモジュ
ール1026にキャッシュ状態の判定依頼を行う。即
ち、I/Oコマンド・ライトで指定されたデバイス論理
アドレス「CCHD」をハッシュ関数を通してハッシュ
アドレスに変換し、ハッシュテーブル1058のハッシ
ュアドレスに「CCHD」が登録されている否か検索す
る。ここでCCはシリンダアドレス、Hはヘッドアドレ
ス、Dはデバイス番号である。
The write operation in the conventional device of FIG. 14 will be described. Now I / O from channel unit 1018-1
When the command write is issued, the channel adapter module 1016-1 requests the cache function engine module 1026 to determine the cache state. That is, the device logical address “CCHD” specified by the I / O command write is converted into a hash address through a hash function, and it is searched whether “CCHD” is registered in the hash address of the hash table 1058 . Here, CC is a cylinder address, H is a head address, and D is a device number.

【手続補正4】[Procedure amendment 4]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0006[Correction target item name] 0006

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【0006】ハッシュテーブル1058の参照でチャネ
ユニット1018−1からのI/Oコマンドで指定さ
れたトラックデータがキャッシュメモリ1044上に存
在しない場合、キャッシュを動作させないバイパス動作
でデバイスアダプタ1020−1が動く制御により、デ
バイス1014に対するライト動作を行う。また従来装
置のリード動作は、チャネルユニット1018−1から
のI/Oコマンド・リードが発行され、トラックデータ
がキャッシュメモリ1044上に存在せずにミスとなっ
た場合、デバイス1014からキャッシュメモリ104
4にステージングした後にチャネルユニット1018−
1にリードデータが転送される。
When the track data specified by the I / O command from the channel unit 1018-1 by referring to the hash table 1058 does not exist in the cache memory 1044, the device adapter 1020-1 operates by a bypass operation that does not operate the cache. The control unit performs a write operation on the device 1014. In the read operation of the conventional device, when an I / O command read from the channel unit 1018-1 is issued and the track data does not exist in the cache memory 1044 and a miss occurs, the device 1014 causes the cache memory 104 to read.
Channel unit 1018-
Read data is transferred to 1.

【手続補正5】[Procedure Amendment 5]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】0031[Correction target item name] 0031

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【0031】残りのランクR1,R2,R3についても
同様に、1ランク当たり6台のディスクドライブ40−
10〜40−15,40−20〜40−25,40−3
0〜40−35を設けている。ディスクドライブ40−
00〜40−35の内、ランクR0〜R3のいずれにつ
いても、ポートP0〜P4の5つのディスクドライブが
例えばRAID3もしくはRAID5のディスクアレイ
として使用され、ポートP5に設けているディスクドラ
イブ40−05,40−15,40−25,40−35
は予備のディスクドライブとなる。
Similarly, for the remaining ranks R1, R2 and R3, six disk drives 40-
10-40-15, 40-20-20-40-25, 40-3
0-40-35 are provided. Disk drive 40-
For any of ranks R0 to R3 of 00 to 40-35, five disk drives of ports P0 to P4 are used as a disk array of RAID3 or RAID5, for example, and disk drives 40-05 provided in port P5 , 40-15, 40-25, 40-35
Is a spare disk drive.

Claims (19)

【特許請求の範囲】[Claims] 【請求項1】チャネル装置と結合するチャネルアダプタ
モジュール、デバイスと結合するデバイスアダプタモジ
ュール、ハッシュテーブルに基づきキャッシュメモリを
管理するキャッシュ制御モジュールを有し、前記チャネ
ルアダプタモジュールによるチャネル装置とキャッシュ
メモリの間の入出力制御と、前記デバイスアダプタモジ
ュールによるキャッシュメモリとデバイスの間の入出力
制御を、リソースマネジャモジュールを経由して非同期
に行う入出力制御装置に於いて、 前記キャシュ制御モジュールは、前記チャネルアダプタ
からの問い合せに対しトラックデータがキャッシュメモ
リ上に存在しない場合、ミスヒットを前記チャネルアダ
プタに応答し、更にキャッシュメモリ上に新たにトラッ
クデータの格納領域を割り当てると共に該格納領域の情
報を前記チャネルアダプタ専用の情報領域に格納し、ま
た前記デバイスアダプタからの問い合せに対しトラック
データがキャッシュメモリ上に存在しない場合、ミスヒ
ットを前記デバイスアダプタに応答し、更にキャッシュ
メモリ上に新たにトラックデータの格納領域を割り当て
ると共に該格納領域の情報を前記デバイスアダプタ専用
の情報領域に格納する制御部を備え、 前記チャネルアダプタモジュールは、前記キャッシュ制
御モジュールからミスヒット応答を受けた際に、前記リ
ソースマネジャを経由して前記デバイスアダプタモジュ
ールにステージングを要求してチャネルを切り離し、ス
テージング中に前記デバイスアダプタモジュールからの
再起動要求を受けた際に、チャネル装置と再結合すると
共に前記キャッシュ制御モジュールに問い合わせてヒッ
ト応答とステージング中の応答が得られた場合、前記チ
ャネルアダプタモジュールとデバイスアダプタモジュー
ルの共通制御情報領域を参照してステージングされたデ
ータ量を確認しながらチャネル装置との入出力を前記デ
バイスアダプタモジュールのステージングと並行して行
う制御部を備え、 前記デバイスアダプタモジュールは、前記キャッシュ制
御モジュールからミスヒット応答を受けた際に、前記デ
バイスにトラックデータのリードを要求して前記キャッ
シュメモリにステージングし、該ステージングによるデ
ータ量が所定値に達した時に前記リソースマネジャを経
由して前記チャネルアダプタモジュールに再起動を要求
する制御部を備えたことを特徴とする入出力制御装置。
1. A channel adapter module connected to a channel device, a device adapter module connected to a device, and a cache control module for managing a cache memory based on a hash table, and between the channel device and the cache memory by the channel adapter module. In the input / output control device for asynchronously performing the input / output control of the device and the input / output control between the cache memory and the device by the device adapter module via the resource manager module, the cache control module includes the channel adapter. When the track data does not exist in the cache memory in response to the inquiry from, a mishit is returned to the channel adapter, and a new track data storage area is allocated in the cache memory. The information in the storage area is stored in the information area dedicated to the channel adapter, and when the track data does not exist in the cache memory in response to the inquiry from the device adapter, a mishit is returned to the device adapter, and the cache memory is further returned. A control unit for newly allocating a storage area for track data and storing information in the storage area in the information area dedicated to the device adapter is provided, and the channel adapter module receives a mishit response from the cache control module. At this time, the device adapter module is requested for staging via the resource manager to disconnect the channel, and when a restart request is received from the device adapter module during staging, the device is reconnected to the channel device and cache When the control module is queried and a hit response and a response during staging are obtained, the input / output with the channel device is performed while referring to the common control information area of the channel adapter module and the device adapter module to confirm the amount of staged data. In parallel with the staging of the device adapter module, the device adapter module requests the device to read track data and receives the cache data when receiving a mishit response from the cache control module. An input / output control device comprising: a staging unit in a memory; and a control unit for requesting a restart of the channel adapter module via the resource manager when a data amount due to the staging reaches a predetermined value.
【請求項2】請求項1記載の入出力制御装置に於いて、
前記デバイスアダプタモジュールの制御部は、ステージ
ングの終了を前記キャッシュ制御モジュールに通知し、
ステージングが済んだトラックデータに対応するハッシ
ュテーブルの内容をヒット可能状態にセットさせること
を特徴とする入出力制御装置。
2. The input / output control device according to claim 1, wherein
The control unit of the device adapter module notifies the cache control module of the end of staging,
An input / output control device that sets the contents of a hash table corresponding to track data that has been staged to a hit possible state.
【請求項3】請求項1記載の入出力制御装置に於いて、
前記チャネルアダプタモジュールの制御部は、チャネル
装置との入出力制御の終了を前記キャッシュ制御モジュ
ールに通知し、入出力が済んだトラックデータに対応す
るLRUテーブルの内容にLRU制御のリンク情報をセ
ットさせることを特徴とする入出力制御装置。
3. The input / output control device according to claim 1, wherein
The control unit of the channel adapter module notifies the cache control module of the end of the input / output control with the channel device, and sets the link information of the LRU control to the content of the LRU table corresponding to the track data that has been input / output. An input / output control device characterized by the above.
【請求項4】請求項3記載の入出力制御装置に於いて、
前記キャッシュ制御モジュールの制御部は、前記ハッシ
ュテーブルにLRU制御のリンク情報をセットする際
に、ライトヒット状態にある他のトラックデータの追い
出しを行った場合、該追い出しデータの前記デバイスへ
の書込みを前記リソースマネジャモジュールを経由して
デバイスアダプタモジュールに依頼することを特徴とす
る入出力制御装置。
4. The input / output control device according to claim 3,
When setting the link information of the LRU control in the hash table, when the other track data in the write hit state is evicted, the control unit of the cache control module writes the evict data to the device. An input / output control device that requests a device adapter module via the resource manager module.
【請求項5】請求項1記載の入出力制御装置に於いて、
前記チャネルアダプタモジュール、デバイスアダプタモ
ジュール、キャッシュ制御モジュール及びリソースマネ
ジャモジュールは、バスを介して共通メモリに接続さ
れ、前記共通メモリには、メイン・ストレージとキャッ
シュメモリに分離され、前記メインストレージに、チャ
ネルアダプタの専用割当情報領域、デバイスアダプタの
専用割当情報領域、及びチャネルアダプタとデバイスア
ダプタの共通制御情報領域を格納したことを特徴とする
入出力制御装置。
5. The input / output control device according to claim 1, wherein
The channel adapter module, the device adapter module, the cache control module and the resource manager module are connected to a common memory via a bus, and the common memory is separated into a main storage and a cache memory, and the main storage has a channel. An input / output control device characterized by storing a dedicated allocation information area of an adapter, a dedicated allocation information area of a device adapter, and a common control information area of a channel adapter and a device adapter.
【請求項6】請求項5記載の入出力制御装置に於いて、
前記キャッシュメモリは、不揮発性メモリと揮発性メモ
リで構成され、前記不揮発性メモリをライトヒットした
トラックデータの格納に使用し、前記揮発性メモリはリ
ードヒットしたトラックデータの格納に使用することを
特徴とする入出力制御装置。
6. The input / output control device according to claim 5,
The cache memory includes a non-volatile memory and a volatile memory, and the non-volatile memory is used for storing write hit track data, and the volatile memory is used for storing read hit track data. I / O controller.
【請求項7】請求項1記載の入出力制御装置に於いて、
前記チャネルと前記チャネルアダプタモジュールとの間
のデータ転送速度に対し、前記デバイスアダプタモジュ
ールと前記デバイスとの間のデータ転送速度が十分に高
いことを特徴とする入出力制御装置。
7. The input / output control device according to claim 1, wherein
An input / output control device characterized in that a data transfer rate between the device adapter module and the device is sufficiently higher than a data transfer rate between the channel and the channel adapter module.
【請求項8】請求項1記載の入出力制御装置に於いて、
前記デバイスは、ディスクアレイユニットであることを
特徴とする入出力制御装置。
8. The input / output control device according to claim 1, wherein
The input / output control device, wherein the device is a disk array unit.
【請求項9】請求項8記載の入出力制御装置に於いて、
前記ディスクアレイユニットは、複数ポートに接続した
ディスクモジュールを1ランクとして、複数ランク備え
たことを特徴とする入出力制御装置。
9. The input / output control device according to claim 8, wherein
The input / output control device, wherein the disk array unit is provided with a plurality of ranks, with a disk module connected to a plurality of ports as one rank.
【請求項10】請求項8記載の入出力制御装置に於い
て、前記ディスクアレイユニットは、少なくとも2つの
デバイスアダプタモジュールを介して2パスで接続され
たことを特徴とする入出力制御装置。
10. The input / output control device according to claim 8, wherein the disk array units are connected by two paths through at least two device adapter modules.
【請求項11】請求項8記載の入出力制御装置に於い
て、前記ディスクアレイユニットは、複数のディスクモ
ジュールを備えたディスクアレイとコントロールモジュ
ールで構成され、該コントロールモジュールにキャッシ
ュ機構を備えたことを特徴とする入出力制御装置。
11. The input / output control device according to claim 8, wherein the disk array unit comprises a disk array having a plurality of disk modules and a control module, and the control module has a cache mechanism. Input / output control device characterized by.
【請求項12】チャネル装置と結合するチャネルアダプ
タモジュール、デバイスと結合するデバイスアダプタモ
ジュール、ハッシュテーブルに基づきキャッシュメモリ
を管理するキャッシュ制御モジュールを有し、前記チャ
ネルアダプタモジュールによるチャネル装置とキャッシ
ュメモリの間の入出力制御と、前記デバイスアダプタモ
ジュールによるキャッシュメモリとデバイスの間の入出
力制御を、リソースマネジャモジュールを経由して非同
期に行う入出力制御方法に於いて、 チャネル装置の入出力要求に基づく前記チャネルアダプ
タモジュールからのキャッシュ状態の問い合せに対し、
前記キャシュ制御モジュールはトラックデータがキャッ
シュメモリ上に存在しない場合、ミスヒットを前記チャ
ネルアダプタモジュールに応答し、更にキャッシュメモ
リ上に新たにトラックデータの格納領域を割り当てると
共に該格納領域の情報を前記チャネルアダプタ専用の情
報領域に格納し、 前記チャネルアダプタモジュールは、前記キャッシュ制
御モジュールからミスヒット応答を受けた際に、前記リ
ソースマネジャを経由して前記デバイスアダプタモジュ
ールにステージングを要求してチャネルを切り離し、 前記チャネルアダプタモジュール側からステージング要
求を受けた前記デバイスアダプタモジュールは、前記キ
ャッシュ制御モジュールにキャッシュ状態を問い合わ
せ、 前記デバイスアダプタモジュールからの問い合せを受け
たキャッシュ制御モジュールは、トラックデータがキャ
ッシュメモリ上に存在しない場合、ミスヒットを前記デ
バイスアダプタに応答し、更にキャッシュメモリ上に新
たにトラックデータの格納領域を割り当てると共に該格
納領域の割当情報を前記デバイスアダプタ専用の割当情
報領域に格納し、 前記キャッシュ制御モジュールからミスヒット応答を受
けた前記デバイスアダプタモジュールは、前記デバイス
にトラックデータのリードを要求して前記キャッシュメ
モリにステージングし、該ステージングによるデータ量
が所定値に達した時に前記リソースマネジャを経由して
前記チャネルアダプタに再起動を要求し、 前記デバイスアダプタモジュール側からの再起動要求を
受けたチャネルアダプタモジュールは、チャネル装置と
再結合すると共に前記キャッシュ制御モジュールに問い
合わせてヒット応答とステージング中の応答が得られた
場合、前記チャネルアダプタモジュールとデバイスアダ
プタモジュールの共通制御情報領域を参照してステージ
ングされたデータ量を確認しながらチャネル装置との入
出力制御を、前記デバイスアダプタモジュールのステー
ジングと並行して行うことを特徴とする入出力制御方
法。
12. A channel adapter module connected to a channel device, a device adapter module connected to a device, and a cache control module for managing a cache memory based on a hash table, and between the channel device and the cache memory by the channel adapter module. And an input / output control between the cache memory and the device by the device adapter module are asynchronously performed via a resource manager module. For inquiries about the cache status from the channel adapter module,
When the track data does not exist in the cache memory, the cache control module responds to the channel adapter module with a mishit, further allocates a new track data storage area in the cache memory, and allocates information of the storage area to the channel. Stored in the information area dedicated to the adapter, the channel adapter module, when receiving a mishit response from the cache control module, requests staging to the device adapter module via the resource manager to disconnect the channel, Upon receiving the staging request from the channel adapter module side, the device adapter module inquires of the cache control module about the cache state, and receives an inquiry from the device adapter module. When the track data does not exist in the cache memory, the cache control module responds to the device adapter with a mishit, further allocates a new track data storage area in the cache memory, and allocates the storage area allocation information. The device adapter module, which is stored in the allocation information area dedicated to the device adapter and receives a mishit response from the cache control module, requests the device to read the track data and stages it in the cache memory. When the amount reaches a predetermined value, the channel adapter is requested to restart via the resource manager, and the channel adapter module receiving the restart request from the device adapter module side rejoins the channel device. When a hit response and a response during staging are obtained by inquiring with the cache control module together with the channel device while confirming the amount of staged data by referring to the common control information area of the channel adapter module and the device adapter module. The input / output control method is performed in parallel with the staging of the device adapter module.
【請求項13】請求項12記載の入出力制御方法に於い
て、前記デバイスアダプタモジュールからのステージン
グが終了した際に、前記キャッシュ制御モジュールはス
テージングが済んだトラックデータに対応するハッシュ
テーブルの内容をヒット可能状態にセットすることを特
徴とする入出力制御方法。
13. The input / output control method according to claim 12, wherein when the staging from said device adapter module is completed, said cache control module stores the contents of the hash table corresponding to the track data which has been staged. An input / output control method characterized by setting to a hit enable state.
【請求項14】請求項12記載の入出力制御方法に於い
て、前記チャネルアダプタモジュールとチャネル装置と
の間の入出力制御が終了した際に、前記キャッシュ制御
モジュールは、入出力が済んだトラックデータに対応す
るLRUテーブルの内容にLRU制御のリンク情報をセ
ットすることを特徴とする入出力制御方法。
14. The input / output control method according to claim 12, wherein when the input / output control between the channel adapter module and the channel device is completed, the cache control module is used to complete the input / output. An input / output control method characterized in that link information for LRU control is set in the contents of the LRU table corresponding to data.
【請求項15】請求項14記載の入出力制御方法に於い
て、前記キャッシュ制御モジュールは、前記ハッシュテ
ーブルにLRU制御のリンク情報をセットする際に、ラ
イトヒット状態にある他のトラックデータの追い出しを
行った場合、該追い出しデータの前記デバイスへの書込
みを前記リソースマネジャモジュールを経由してデバイ
スアダプタモジュールに依頼することを特徴とする入出
力制御方法。
15. The input / output control method according to claim 14, wherein when the cache control module sets the link information of LRU control in the hash table, the other track data in a write hit state is expelled. When performing, the input / output control method is characterized in that the device adapter module is requested to write the eviction data to the device via the resource manager module.
【請求項16】請求項12記載の入出力制御方法に於い
て、前記デバイスアダプタモジュール、デバイスアダプ
タモジュール、キャッシュ制御モジュール及びリソース
マネジャモジュールは、バスを介して共通メモリに接続
され、前記共通メモリにはメイン・ストレージとキャッ
シュメモリに分離され、前記メインストレージに、前記
チャネルアダプタ専用割当情報領域、デバイスアダプタ
専用割当情報領域、チャネルアダプタとデバイスアダプ
タの共通制御情報領域、及びキャッシュメモリを格納し
たことを特徴とする入出力制御方法。
16. The input / output control method according to claim 12, wherein the device adapter module, the device adapter module, the cache control module, and the resource manager module are connected to a common memory via a bus, and the common memory is connected to the common memory. Is separated into a main storage and a cache memory, and the channel adapter dedicated allocation information area, the device adapter dedicated allocation information area, the channel adapter and device adapter common control information area, and the cache memory are stored in the main storage. Characteristic input / output control method.
【請求項17】請求項16記載の入出力制御方法に於い
て、前記キャッシュメモリは、不揮発性メモリと揮発性
メモリで構成され、前記不揮発性メモリをライトヒット
したトラックデータの格納に使用し、前記揮発性メモリ
はリードヒットしたトラックデータの格納に使用するこ
とを特徴とする入出力制御方法。
17. The input / output control method according to claim 16, wherein the cache memory is composed of a non-volatile memory and a volatile memory, and the non-volatile memory is used for storing track data which is write hit. An input / output control method, wherein the volatile memory is used to store read hit track data.
【請求項18】請求項12記載の入出力制御方法に於い
て、前記チャネルと前記チャネルアダプタモジュールと
の間のデータ転送速度に対し、前記デバイスアダプタモ
ジュールと前記デバイスとの間のデータ転送速度を十分
に高くしたことを特徴とする入出力制御装置。
18. The input / output control method according to claim 12, wherein a data transfer rate between the device adapter module and the device is set with respect to a data transfer rate between the channel and the channel adapter module. An input / output control device characterized by being made sufficiently high.
【請求項19】請求項18記載の入出力制御方法に於い
て、前記デバイスは、ディスクアレイユニットであるこ
とを特徴とする入出力制御方法。
19. The input / output control method according to claim 18, wherein the device is a disk array unit.
JP7165149A 1995-06-30 1995-06-30 Device and method for controlling input/output Pending JPH0916474A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP7165149A JPH0916474A (en) 1995-06-30 1995-06-30 Device and method for controlling input/output
US08/664,263 US5761531A (en) 1995-06-30 1996-06-07 Input/output control apparatus and method for transfering track data from cache module to channel unit during the staging of the data track from device adapter
US09/013,532 US6237046B1 (en) 1995-06-30 1998-04-23 Input/output control apparatus managing cache memory utilizing a spare hash table for operations if first hash table enters a synonym state

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7165149A JPH0916474A (en) 1995-06-30 1995-06-30 Device and method for controlling input/output

Publications (1)

Publication Number Publication Date
JPH0916474A true JPH0916474A (en) 1997-01-17

Family

ID=15806818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7165149A Pending JPH0916474A (en) 1995-06-30 1995-06-30 Device and method for controlling input/output

Country Status (1)

Country Link
JP (1) JPH0916474A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0901075A2 (en) * 1997-09-03 1999-03-10 Hitachi, Ltd. Disk storage system with high availability bus structure
WO2011007459A1 (en) * 2009-07-17 2011-01-20 株式会社日立製作所 Storage device and method of controlling same
WO2014038016A1 (en) * 2012-09-05 2014-03-13 富士通株式会社 Control program, control method, and control device
CN111723266A (en) * 2019-03-19 2020-09-29 北京沃东天骏信息技术有限公司 Mass data processing method and device

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0901075A2 (en) * 1997-09-03 1999-03-10 Hitachi, Ltd. Disk storage system with high availability bus structure
EP0901075A3 (en) * 1997-09-03 2004-03-31 Hitachi, Ltd. Disk storage system with high availability bus structure
US6801983B2 (en) 1997-09-03 2004-10-05 Hitachi, Ltd. Disk control device and storage device using it
WO2011007459A1 (en) * 2009-07-17 2011-01-20 株式会社日立製作所 Storage device and method of controlling same
WO2014038016A1 (en) * 2012-09-05 2014-03-13 富士通株式会社 Control program, control method, and control device
JPWO2014038016A1 (en) * 2012-09-05 2016-08-08 富士通株式会社 Control program, control method, and control apparatus
US9513824B2 (en) 2012-09-05 2016-12-06 Fujitsu Limited Control method, control device, and recording medium
CN111723266A (en) * 2019-03-19 2020-09-29 北京沃东天骏信息技术有限公司 Mass data processing method and device

Similar Documents

Publication Publication Date Title
US5029070A (en) Coherent cache structures and methods
US4928225A (en) Coherent cache structures and methods
US4881163A (en) Computer system architecture employing cache data line move-out queue buffer
US7337281B2 (en) Storage system and data caching method in the system
US5434993A (en) Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories
US5043873A (en) Method of parallel processing for avoiding competition control problems and data up dating problems common in shared memory systems
US6889288B2 (en) Reducing data copy operations for writing data from a network to storage of a cached data storage system by organizing cache blocks as linked lists of data fragments
US5761531A (en) Input/output control apparatus and method for transfering track data from cache module to channel unit during the staging of the data track from device adapter
US5522065A (en) Method for performing write operations in a parity fault tolerant disk array
EP0303661B1 (en) Central processor unit for digital data processing system including write buffer management mechanism
KR100515229B1 (en) Method and system of managing virtualized physical memory in a multi-processor system
KR20070075640A (en) Method and apparatus for shortening operating time of page replacement in demand paging applied system
JP2004054931A (en) System and method for memory migration in distributed memory multiprocessor system
US5446844A (en) Peripheral memory interface controller as a cache for a large data processing system
US7487298B2 (en) Disk array device, method for controlling the disk array device and storage system
JP3690295B2 (en) Disk array controller
JP3266470B2 (en) Data processing system with per-request write-through cache in forced order
EP0480858A2 (en) Hardware primary directory lock
JPH0916474A (en) Device and method for controlling input/output
US7136972B2 (en) Apparatus, system, and method for distributed management in a storage system
JP3940701B2 (en) Disk array device and cache matching control method applied to the same
JP2002032251A (en) Data processing system
EP0302926B1 (en) Control signal generation circuit for arithmetic and logic unit for digital processor
EP0418220B1 (en) Destination control logic for arithmetic and logic unit for digital data processor
JPH05225147A (en) Multiprocessor type data processing system

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010522