JPH10124388A - Storage controller - Google Patents
Storage controllerInfo
- Publication number
- JPH10124388A JPH10124388A JP8272656A JP27265696A JPH10124388A JP H10124388 A JPH10124388 A JP H10124388A JP 8272656 A JP8272656 A JP 8272656A JP 27265696 A JP27265696 A JP 27265696A JP H10124388 A JPH10124388 A JP H10124388A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- management information
- control
- data
- memory
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 キャッシュ管理情報の参照/更新回数を削減
し、記憶制御装置のスループットを増大させる。
【解決手段】 記憶制御装置3は、N個のキャッシュメ
モリ35−1〜Nと、キャッシュ管理情報343を格納
するN個の制御メモリ34−1〜Nとを有し、キャッシ
ュ管理情報343を参照及び更新しながらキャッシュメ
モリ35を介して処理装置1と記憶装置2との間のデー
タ転送を制御する。N個の制御メモリ34−1〜Nの各
々にはキャッシュメモリ35全体に関する管理情報をN
個の制御メモリ34−1〜NについてN重化して設定す
る。チャネルアダプタ31及びドライブアダプタ32の
制御部は、管理情報を参照するときにはいずれか1個の
制御メモリ34−i内の管理情報を参照し、管理情報を
更新するときにはN重化された管理情報を同時N重更新
する。
(57) [Summary] [PROBLEMS] To reduce the number of times of referencing / updating cache management information and increase the throughput of a storage control device. A storage control device (3) has N cache memories (35-1 to 35-N) and N control memories (34-1 to 3-N) for storing cache management information (343), and refers to the cache management information (343). In addition, it controls the data transfer between the processing device 1 and the storage device 2 via the cache memory 35 while updating. Management information on the entire cache memory 35 is stored in each of the N control memories 34-1 to N.
The control memories 34-1 to 34-N are set to be N-fold. The control units of the channel adapter 31 and the drive adapter 32 refer to the management information in one of the control memories 34-i when referencing the management information, and refer to the N-multiplexed management information when updating the management information. Update N times simultaneously.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、上位の処理装置と
下位の記憶装置とに接続され、保有するキャッシュメモ
リを介して処理装置と記憶装置との間のデータ転送を制
御する記憶制御装置に係わり、特に制御メモリ内の管理
情報を参照及び更新しながらキャッシュメモリを介した
データ転送を制御する記憶制御装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a storage control device connected to an upper processing device and a lower storage device and controlling data transfer between the processing device and the storage device via a cache memory possessed by the storage control device. In particular, the present invention relates to a storage control device that controls data transfer via a cache memory while referring to and updating management information in a control memory.
【0002】[0002]
【従来の技術】記憶制御装置内にキャッシュメモリを保
有し、このキャッシュメモリを介して処理装置と記憶装
置との間のデータ転送を制御する技術が知られている。
キャッシュメモリに格納しているデータには2つの状態
がある。1つはデータがすでに記憶装置に書き込まれて
いる状態である。この状態をクリーンという。もう1つ
はデータがまだ記憶装置に書き込まれていない状態であ
る。この状態をダーティという。ダーティデータは記憶
装置への書き込みが終了するまで、キャッシュメモリか
ら消去されてはならない。2. Description of the Related Art There is known a technique in which a cache memory is held in a storage control device, and data transfer between a processing device and a storage device is controlled via the cache memory.
The data stored in the cache memory has two states. One is a state in which data has already been written to the storage device. This state is called clean. The other is a state where data has not yet been written to the storage device. This state is called dirty. Dirty data must not be erased from the cache memory until writing to the storage device is completed.
【0003】特開平5−189314号公報には、バッ
テリバックアップされた複数のキャッシュメモリを有す
る記憶制御装置のキャッシュメモリ制御方式が記載され
ている。この記憶制御装置はバッテリバックアップによ
り電源2重化したキャッシュメモリを持つ。このキャッ
シュメモリはN分割され、記憶制御装置は上位装置から
の指令により記憶装置から読み出したクリーンデータを
N分割したキャッシュメモリの任意の1つに記憶する。
また上位装置からの指令によりキャッシュメモリに書き
込まれるダーティデータはN分割されたキャッシュメモ
リの任意の2つに重複して記憶する。この技術によって
記憶制御装置障害時のキャッシュメモリ内の情報の保存
が保証され、性能の低下を防止することができる。Japanese Patent Laid-Open Publication No. Hei 5-189314 discloses a cache memory control method for a storage control device having a plurality of cache memories backed up by a battery. This storage control device has a cache memory whose power supply is duplicated by a battery backup. This cache memory is divided into N, and the storage control device stores the clean data read from the storage device in accordance with a command from the host device in any one of the N divided cache memories.
Dirty data written to the cache memory in accordance with a command from the higher-level device is redundantly stored in any two of the N divided cache memories. This technique guarantees the preservation of information in the cache memory in the event of a failure in the storage controller, and can prevent performance degradation.
【0004】キャッシュメモリを管理するには、キャッ
シュ管理情報が必要となる。通常1つのキャッシュメモ
リを管理するために1つのキャッシュ管理情報を持つ。
よってN個のキャッシュメモリを管理するには、N個の
キャッシュ管理情報を持つのが一般的である。To manage a cache memory, cache management information is required. Usually, it has one piece of cache management information to manage one piece of cache memory.
Therefore, to manage N cache memories, it is common to have N cache management information.
【0005】[0005]
【発明が解決しようとする課題】従来技術によれば、N
個のキャッシュメモリに対応して各々のキャッシュメモ
リをそれぞれ独立して管理するN個のキャッシュ管理情
報を設けていた。キャッシュメモリの管理情報には、特
定のデータがキャッシュメモリに格納されているか否か
を管理する情報、データがキャッシュメモリに格納され
ている場合にクリーンデータやダーティデータを管理す
る情報、キャッシュメモリ内の記憶領域の使用/未使用
を管理する情報などがある。例えば処理装置からデータ
のリード要求又はライト要求が発行されたとき、要求さ
れたデータがキャッシュメモリにあればキャッシュメモ
リ内のデータを処理装置へ転送するか又は更新すればよ
い。このため記憶制御装置はデータのキャッシュメモリ
格納状況を管理する情報を検索するが、所望のデータが
どのキャッシュメモリに存在するか不明であるので、N
個すべてのキャッシュ管理情報を検索しなければならな
かった。また処理装置からデータのライト要求が発行さ
れたとき、キャッシュメモリ内に所望のデータがなけれ
ば、記憶制御装置はダーティデータを2つのキャッシュ
メモリに2重化して格納するためにキャッシュメモリ内
の記憶領域を確保し、ダーティデータを管理するテーブ
ルを作成し、キャッシュメモリ内の記憶領域を管理する
情報を更新する必要がある。このため記憶制御装置は2
つのキャッシュ管理情報についてこれらの処理を2回繰
り返して行わねばならなかった。このようにキャッシュ
管理情報の参照/更新のために記憶制御装置内の制御プ
ログラムを実行するときのダイナミック・ステップ数が
増大し、記憶制御装置内部のバスのトラフィックが増大
し、結果として記憶制御装置のスループットが低下し、
処理装置に対する記憶制御装置のレスポンス時間が増大
するという問題があった。According to the prior art, N
N cache management information for independently managing each cache memory is provided corresponding to the cache memories. The cache memory management information includes information for managing whether or not specific data is stored in the cache memory, information for managing clean data and dirty data when data is stored in the cache memory, and information in the cache memory. And information for managing the use / non-use of the storage area. For example, when a data read request or a write request is issued from the processing device, if the requested data is in the cache memory, the data in the cache memory may be transferred to the processing device or updated. For this reason, the storage control device searches for information for managing the storage status of data in the cache memory. However, since it is unknown which cache memory contains the desired data,
All of the cache management information had to be retrieved. When the data write request is issued from the processing device and there is no desired data in the cache memory, the storage control device stores the dirty data in the two cache memories in a duplicated manner in the cache memory. It is necessary to secure an area, create a table for managing dirty data, and update information for managing a storage area in the cache memory. Therefore, the storage controller is 2
These processes have to be repeated twice for one piece of cache management information. As described above, the number of dynamic steps when executing the control program in the storage control device for referring / updating the cache management information increases, and the traffic on the bus inside the storage control device increases. As a result, the storage control device The throughput of
There is a problem that the response time of the storage control device to the processing device increases.
【0006】本発明の目的は、キャッシュ管理情報の参
照/更新回数を削減し、記憶制御装置のスループットと
処理装置に対する記憶制御装置のレスポンス時間を改善
することにある。SUMMARY OF THE INVENTION An object of the present invention is to reduce the number of times the cache management information is referred / updated, and to improve the throughput of the storage control device and the response time of the storage control device to the processing device.
【0007】[0007]
【課題を解決するための手段】本発明は、N個の制御メ
モリの各々にN個のキャッシュメモリ全体に関する管理
情報をまとめて設定し、N個の制御メモリについて同一
内容の管理情報をN重化して設定し、このキャッシュ管
理情報を参照するときにはいずれか1個の制御メモリ内
の管理情報を参照し、キャッシュ管理情報を更新すると
きにはN個の制御メモリ内の管理情報をN個同時に更新
する記憶制御装置を特徴とする。According to the present invention, management information relating to the entirety of N cache memories is collectively set in each of N control memories, and management information having the same contents is duplicated for the N control memories. When the cache management information is referred to, the management information in one of the control memories is referred to, and when the cache management information is updated, the N pieces of management information in the N control memories are simultaneously updated. A storage control device is characterized.
【0008】また本発明は、N個の制御メモリの各々は
データのキャッシュメモリへの格納状況を示す管理情報
(キャッシュメモリに格納されているか否かを管理する
情報及びクリーンデータ/ダーティデータを管理するテ
ーブル)についてはN個のキャッシュメモリ全体に関す
る管理情報をまとめてN個の制御メモリについてN重化
して保有し、キャッシュメモリ内の記憶領域の使用/未
使用を管理する管理情報については各制御メモリごとに
対応するキャッシュメモリ内の記憶領域についての管理
情報を保有し、前者の管理情報を参照及び更新するとき
には上記のように1個の管理情報の参照及びN個の管理
情報のN重化更新を行い、後者の管理情報を参照及び更
新するときには特定のキャッシュメモリに対応する制御
メモリ内の管理情報を参照及び更新する記憶制御装置を
特徴とする。Further, according to the present invention, each of the N control memories manages management information indicating whether data is stored in the cache memory (information for managing whether or not data is stored in the cache memory and clean data / dirty data). Table), the management information on the entire N cache memories is collectively collected and stored in N control memories in a N-fold manner, and the management information for managing the use / non-use of the storage area in the cache memory is controlled by each control. The management information about the storage area in the cache memory corresponding to each memory is retained, and when the former management information is referred to and updated, the reference of one management information and the N-multiplexing of the N management information are performed as described above. When the management information is updated and the latter management information is referred to and updated, the management information in the control memory corresponding to the specific cache memory is updated. Wherein the reference and update the storage control device.
【0009】[0009]
【発明の実施の形態】以下、本発明の実施形態について
図面を用いて説明する。Embodiments of the present invention will be described below with reference to the drawings.
【0010】(1)第1の実施形態 図1は、本発明の第1の実施形態の記憶制御装置を中心
とするシステムの構成図である。システムは記憶制御装
置3、その上位装置である処理装置1及び下位装置の記
憶装置2から構成される。記憶制御装置3は、チャネル
アダプタ31、ドライブアダプタ32、N個のキャッシ
ュメモリ35−1〜N、N個の制御メモリ34−1〜
N、制御メモリ制御部37及びこれらの機構を図示の通
り相互に接続する内部バス33から構成される。(1) First Embodiment FIG. 1 is a configuration diagram of a system centering on a storage controller according to a first embodiment of the present invention. The system includes a storage control device 3, a processing device 1 as a higher-order device thereof, and a storage device 2 as a lower-order device. The storage controller 3 includes a channel adapter 31, a drive adapter 32, N cache memories 35-1 to N, and N control memories 34-1 to 34-1.
N, a control memory control unit 37, and an internal bus 33 interconnecting these mechanisms as shown.
【0011】キャッシュメモリ35−1〜Nは、記憶装
置2から読み込まれたデータ及び記憶装置2へ書き込む
べきデータをブロック単位で保持するバッファメモリで
あり、未使用でないブロックにはクリーンデータ又はダ
ーティデータが格納される。ここでブロックはキャッシ
ュメモリ35内の一定サイズの記憶領域である。クリー
ンデータはいずれか1つのキャッシュメモリ35−iに
のみ格納され、ダーティデータはいずれか2つのキャッ
シュメモリ35−i,35−jに格納される。以下いず
れか1つのキャッシュメモリ35を指すときキャッシュ
メモリ35−iのように表現し、すべてのキャッシュメ
モリ35−1〜Nを総称するときキャッシュメモリ35
と表現する。The cache memories 35-1 to 35-N are buffer memories for holding data read from the storage device 2 and data to be written to the storage device 2 in block units. Clean data or dirty data is stored in unused blocks. Is stored. Here, the block is a fixed size storage area in the cache memory 35. Clean data is stored in only one cache memory 35-i, and dirty data is stored in any two cache memories 35-i and 35-j. Hereinafter, when any one of the cache memories 35 is referred to, it is expressed as a cache memory 35-i.
Is expressed as
【0012】制御メモリ34−1〜Nは、すべてのキャ
ッシュメモリ35についてデータの存在/不在を管理す
る情報、クリーンデータ/ダーティデータを管理する情
報及びブロックの使用/未使用を管理する情報を有す
る。各制御メモリ34−iはすべて同一内容の管理情報
を保持する。以下いずれか1つの制御メモリ34を指す
とき制御メモリ34−iのように表現し、すべての制御
メモリ34−1〜Nを総称するとき制御メモリ34と表
現する。The control memories 34-1 to 34-N have information for managing the presence / absence of data, information for managing clean data / dirty data, and information for managing use / non-use of blocks in all the cache memories 35. . Each of the control memories 34-i holds the same management information. Hereinafter, when any one of the control memories 34 is indicated, it is expressed as a control memory 34-i, and when all the control memories 34-1 to N are collectively referred to as a control memory 34.
【0013】チャネルアダプタ31は、処理装置1との
間のデータ転送を制御するインタフェース及び内部バス
33を介するデータ転送を制御するインタフェースを有
し、制御部としてチャネル側リード制御部311、チャ
ネル側ライト制御部312及びドライブアダプタ32と
共通のキャッシュ制御部36から構成される。チャネル
アダプタ31のハードウェアは、図示しないインタフェ
ース、プロセッサ及びメモリで構成される。これらの制
御部は、このメモリに格納される制御プログラムを実行
することによって実現される。The channel adapter 31 has an interface for controlling data transfer with the processing device 1 and an interface for controlling data transfer via the internal bus 33. The channel read controller 311 and the channel write controller 311 serve as control units. The control unit 312 includes a cache control unit 36 which is common to the drive adapter 32. The hardware of the channel adapter 31 includes an interface (not shown), a processor, and a memory. These control units are realized by executing a control program stored in the memory.
【0014】ドライブアダプタ32は、記憶装置2との
間のデータ転送を制御するインタフェース及び内部バス
33を介するデータ転送を制御するインタフェースを有
し、制御部としてドライブ側リード制御部321及びド
ライブ側ライト制御部322を有する。ドライブアダプ
タ32のハードウェアは、図示しないインタフェース、
プロセッサ及びメモリで構成される。これらの制御部
は、このメモリに格納される制御プログラムを実行する
ことによって実現される。なおチャネルアダプタ31及
びドライブアダプタ32がそれぞれ複数個あるように図
示されているのは、同一の制御プログラムを多重に実行
することが可能であることを示している。The drive adapter 32 has an interface for controlling data transfer to and from the storage device 2 and an interface for controlling data transfer via the internal bus 33. The drive read controller 321 and the drive write controller 321 serve as control units. It has a control unit 322. The hardware of the drive adapter 32 includes an interface (not shown),
It is composed of a processor and a memory. These control units are realized by executing a control program stored in the memory. The fact that there are a plurality of channel adapters 31 and a plurality of drive adapters 32 respectively indicates that the same control program can be executed multiple times.
【0015】制御メモリ制御部37は、制御メモリ34
−1〜Nを制御するメモリ制御部であり、ハードウェア
回路によって実現される。チャネルアダプタ31又はド
ライブアダプタ32から内部バス33を介して特定の制
御メモリ34−iが指定されたリード/ライトコマンド
を受け取ったとき、制御メモリ制御部37は指定された
制御メモリ34−i内の記憶領域を参照又は更新する。
N重更新が指定された単一のライトコマンド、単一のア
ドレス及び単一のデータを受け取ったとき、制御メモリ
制御部37はN個の制御メモリ34−1〜Nの内容を同
時更新する。The control memory control unit 37 includes a control memory 34
This is a memory control unit that controls -1 to N and is realized by a hardware circuit. When the specific control memory 34-i receives a specified read / write command from the channel adapter 31 or the drive adapter 32 via the internal bus 33, the control memory control unit 37 stores the specified control memory 34-i in the specified control memory 34-i. Refer to or update the storage area.
When receiving a single write command, a single address, and a single data item for which the N-fold update is designated, the control memory control unit 37 simultaneously updates the contents of the N control memories 34-1 to 34-N.
【0016】ドライブ側リード制御部321は、記憶装
置2からキャッシュメモリ35へのデータ転送を実行
し、チャネル側リード制御部311は、キャッシュメモ
リ35から処理装置1へのデータ転送を実行する。また
チャネル側ライト制御部312は、処理装置1からキャ
ッシュメモリ35へのデータ転送を実行し、ドライブ側
ライト制御部322は、キャッシュメモリ35から記憶
装置2へのデータ転送を実行する。The drive-side read control unit 321 executes data transfer from the storage device 2 to the cache memory 35, and the channel-side read control unit 311 executes data transfer from the cache memory 35 to the processing device 1. Further, the channel side write control unit 312 executes data transfer from the processing device 1 to the cache memory 35, and the drive side write control unit 322 executes data transfer from the cache memory 35 to the storage device 2.
【0017】キャッシュ制御部36は、キャッシュメモ
リ35内のブロックの割り当て/解放を実行する。キャ
ッシュの割り当てのとき、クリーンデータについてはN
個のキャッシュメモリ35−1〜Nの中の任意の1つか
らブロックを割り当て、またダーティデータについては
N個のキャッシュメモリ35−1〜Nの任意の2つから
ブロックを割り当てる。The cache control unit 36 allocates / releases blocks in the cache memory 35. When allocating cache, N for clean data
Blocks are allocated from any one of the cache memories 35-1 to 35-N, and blocks are allocated from any two of the N cache memories 35-1 to 35-N for dirty data.
【0018】図2は、各制御メモリ34−iに格納され
る管理情報のデータ構成とキャッシュメモリ35との関
連を説明する図である。各制御メモリ34−iは、記憶
制御装置管理情報341、キャッシュ管理情報343及
びキャッシュ管理情報ロック情報342を格納する。記
憶制御装置管理情報341は、アダプタ間で受け渡しす
る情報、処理の待ち状態などを管理する情報などから成
る。キャッシュ管理情報ロック情報342は、アダプタ
間でキャッシュ管理情報343の領域へのアクセスを排
他するためのロック情報を格納する。FIG. 2 is a diagram for explaining the relationship between the data structure of management information stored in each control memory 34-i and the cache memory 35. Each control memory 34-i stores storage controller management information 341, cache management information 343, and cache management information lock information 342. The storage control device management information 341 is composed of information transferred between adapters, information for managing a processing wait state, and the like. The cache management information lock information 342 stores lock information for excluding access to the area of the cache management information 343 between adapters.
【0019】キャッシュ管理情報343は、ヒット/ミ
ス判定テーブル3431、データ管理テーブル343
2、データ管理テーブル未使用キュー3434、割り当
てブロック管理テーブル3433及び割り当てブロック
管理テーブル未使用キュー3435から構成される。The cache management information 343 includes a hit / miss determination table 3431 and a data management table 343.
2. It comprises a data management table unused queue 3434, an allocated block management table 3433, and an allocated block management table unused queue 3435.
【0020】ヒット/ミス判定テーブル3431は、キ
ャッシュメモリ35に格納しているデータの識別子を記
憶する。すなわちヒット/ミス判定テーブル3431の
各エントリは、記憶装置2内の特定の領域に対応してデ
ータ管理テーブル3432へのポインタを記憶する。未
使用のエントリには初期値が設定される。The hit / miss determination table 3431 stores the identifier of the data stored in the cache memory 35. That is, each entry of the hit / miss determination table 3431 stores a pointer to the data management table 3432 corresponding to a specific area in the storage device 2. Initial values are set for unused entries.
【0021】データ管理テーブル3432は、データに
対して割り当てられた1個又は複数個のブロックに対し
て1つ割り当てられ、キャッシュメモリ35に格納する
データの状態を管理するテーブルである。各データ管理
テーブル3432は、ロック情報34321、リード格
納情報34322、ライト格納情報34323、リード
ポインタ34324、ライトポインタ34325及び後
方ポインタ34326から構成される。ロック情報34
321は、当該データ管理テーブル3432へのアクセ
スを排他するためのロック情報を格納する。リードポイ
ンタ34324は、割り当てブロック管理テーブル34
33を指すポインタであり、キャッシュメモリ35のリ
ード面として割り当てられたブロックを指すポインタで
ある。ライトポインタ34325は、割り当てブロック
管理テーブル3433を指すポインタであり、キャッシ
ュメモリ35のライト面として割り当てられたブロック
を指すポインタである。クリーンデータの場合にはライ
トポインタ34325は使用されず、初期値が設定され
る。リード格納情報34322は、リード面のブロック
を複数の領域に細分するとき各領域にデータが格納され
ているか否かをビットマップによって表現する情報であ
る。ライト格納情報34323は、ライト面のブロック
を複数の領域に細分するとき各領域にデータが格納され
ているか否かをビットマップによって表現する情報であ
る。後方ポインタ34326は、データ管理テーブル3
432が未使用状態であるとき、当該後方ポインタ34
326に連結する他の未使用状態のデータ管理テーブル
3432を指すポインタを格納する。データ管理テーブ
ル3432が使用中であるとき、後方ポインタ3432
6には初期値が設定される。The data management table 3432 is a table for managing the state of data stored in the cache memory 35, which is allocated to one or a plurality of blocks allocated to data. Each data management table 3432 includes lock information 34321, read storage information 34322, write storage information 34323, a read pointer 34324, a write pointer 34325, and a backward pointer 34326. Lock information 34
321 stores lock information for exclusive access to the data management table 3432. The read pointer 34324 is stored in the allocation block management table 34.
This is a pointer that points to a block 33 that is allocated as a read surface of the cache memory 35. The write pointer 34325 is a pointer that points to the allocation block management table 3433, and is a pointer that points to a block allocated as a write surface of the cache memory 35. In the case of clean data, the write pointer 34325 is not used, and an initial value is set. The read storage information 34322 is information representing whether or not data is stored in each area when a block on the read surface is subdivided into a plurality of areas, using a bitmap. The write storage information 34323 is information expressing whether or not data is stored in each area when a block on the write surface is subdivided into a plurality of areas, using a bitmap. The backward pointer 34326 is stored in the data management table 3
When the pointer 432 is unused, the backward pointer 34
A pointer that points to another unused data management table 3432 linked to 326 is stored. When the data management table 3432 is in use, the backward pointer 3432
6 is set to an initial value.
【0022】データ管理テーブル未使用キュー3434
は、未使用状態のデータ管理テーブル3432をキュー
として管理するための情報である。未使用キューヘッダ
34341は、キューの先頭のデータ管理テーブル34
32への先頭ポインタ343411とキューの終端のデ
ータ管理テーブル3432への終端ポインタ34341
2とから構成される。未使用状態のデータ管理テーブル
3432は、先頭ポインタ343411で指されるデー
タ管理テーブル3432から始まって順次後方ポインタ
34326によって連結され終端ポインタ343412
で指されるデータ管理テーブル3432で終端するチェ
インを形成する。なおデータ管理テーブル3432を割
り当てブロック管理テーブル3433の総数と同じ数だ
け設け、割り当てブロック管理テーブル3433の使用
数の増大に伴ってデータ管理テーブル3432が不足し
ないようにするのが望ましい。Data management table unused queue 3434
Is information for managing the unused data management table 3432 as a queue. The unused queue header 34341 is the data management table 34 at the head of the queue.
32341 and the end pointer 34341 to the data management table 3432 at the end of the queue.
And 2. The unused data management table 3432 starts from the data management table 3432 pointed to by the leading pointer 343411 and is sequentially linked by the backward pointer 34326 to the ending pointer 343412.
A chain that terminates in the data management table 3432 pointed by is formed. It is desirable that the data management tables 3432 be provided in the same number as the total number of the allocation block management tables 3433 so that the data management table 3432 does not run short as the number of uses of the allocation block management table 3433 increases.
【0023】割り当てブロック管理テーブル3433
は、キャッシュメモリ35の割り当て単位であるブロッ
ク351を管理するテーブルであり、ブロック351ご
とに1個ずつ設けられる。各制御メモリ34−iのキャ
ッシュ管理情報343は、キャッシュメモリ35全体の
ブロック351を管理する。割り当てブロック管理テー
ブル3433は、ブロックアドレス34331、通し番
号34332及び後方ポインタ34333から構成され
る。ブロックアドレス34331は、割り当てられたブ
ロック351のアドレスを格納する。ブロックアドレス
は、キャッシュメモリ35−1からキャッシュメモリ3
5−Nまでを通してアドレス付けされ、例えば各キャッ
シュメモリ35−iを識別する識別子と各キャッシュメ
モリ35−i内のブロックのアドレスなどから構成され
る。通し番号34332は0から始まる通し番号であ
り、1つのデータ管理テーブル3432のリードポイン
タ34324又はライトポインタ34325について複
数の割り当てブロック管理テーブル3433を確保する
ときの通し番号を格納する。後方ポインタ34333
は、当該割り当てブロック管理テーブル3433に連結
する割り当てブロック管理テーブル3433を指すポイ
ンタである。Allocation block management table 3433
Is a table for managing a block 351 which is an allocation unit of the cache memory 35, and one table is provided for each block 351. The cache management information 343 of each control memory 34-i manages a block 351 of the entire cache memory 35. The allocation block management table 3433 includes a block address 34331, a serial number 34332, and a backward pointer 34333. The block address 34331 stores the address of the assigned block 351. The block address is transmitted from the cache memory 35-1 to the cache memory 3
Addresses are assigned to the cache memories 35-i through, for example, an identifier for identifying each cache memory 35-i and the address of a block in each cache memory 35-i. The serial number 34332 is a serial number starting from 0, and stores a serial number when a plurality of allocated block management tables 3433 are secured for the read pointer 34324 or the write pointer 34325 of one data management table 3432. Backward pointer 34333
Is a pointer to the allocation block management table 3433 linked to the allocation block management table 3433.
【0024】割り当てブロック管理テーブル未使用キュ
ー3435は、割り当てられていないブロック351に
対応する未使用状態の割り当てブロック管理テーブル3
433をキューとして管理するための情報であり、未使
用状態の割り当てブロック管理テーブル3433は各キ
ャッシュメモリ35−iごとに管理される。各割り当て
ブロック管理テーブル未使用キュー3435の割り当て
ブロック管理テーブル未使用キューヘッダ34351
は、先頭ポインタ343511、終端ポインタ3435
12及びエントリ数343513から構成される。割り
当てブロック管理テーブル未使用キューヘッダ3435
1はキューの先頭の割り当てブロック管理テーブル34
33へのポインタであり、終端ポインタ343512は
キューの終端の割り当てブロック管理テーブル3433
へのポインタである。エントリ数343513は、未使
用キューに接続している割り当てブロック管理テーブル
3433の数を記憶する。なお制御メモリ34−1,3
4−2,・・・及び34−Nの内部の記憶領域は、同一
アドレスによってアクセス可能であり、上記したように
同一内容の情報が格納される。制御メモリ34−1〜N
の1つを指定して管理情報を参照/更新することも、制
御メモリ34全体を同時更新することも可能である。The allocated block management table unused queue 3435 is an unused allocated block management table 3 corresponding to an unallocated block 351.
This is information for managing 433 as a queue, and the unused block management table 3433 is managed for each cache memory 35-i. Unassigned block management table unused queue header 34351 of each assigned block management table unused queue 3435
Are the start pointer 343511 and the end pointer 3435
12 and the number of entries 343513. Allocation block management table unused queue header 3435
1 is the allocation block management table 34 at the head of the queue.
33, and the end pointer 343512 is an allocation block management table 3433 at the end of the queue.
Is a pointer to The number of entries 343513 stores the number of the allocation block management table 3433 connected to the unused queue. The control memories 34-1 and 3-3
The storage areas inside 4-2,... And 34-N are accessible by the same address, and store the same information as described above. Control memory 34-1 to N
The management information can be referred / updated by designating one of them, or the entire control memory 34 can be updated simultaneously.
【0025】図3は、チャネル側リード制御部311の
処理の流れを示すフローチャートである。チャネル側リ
ード制御部311は、処理装置1からのリード要求に応
答してチャネル側リード処理を開始する。チャネル側リ
ード制御部311はまずキャッシュ制御部36に制御を
移して対象データについてデータロック取得処理を実行
する(ステップ3111)。キャッシュ制御部36は、
ヒット/ミス判定テーブル3431を参照して対象デー
タがキャッシュメモリ35に存在するか否かを判定し、
キャッシュメモリ35に存在しなければキャッシュメモ
リ割り当て処理を行い、対象データに関するデータ管理
テーブル3432をロックする。チャネル側リード制御
部311は、キャッシュ制御部36が発行するリターン
コードを調べ、リターンコードが「対象データロック取
得不能」であれば(ステップ3112Yes)、対象デ
ータのロックが解放されるまで処理を中断して(ステッ
プ3113)、ステップ3111に戻る。リターンコー
ドが「対象データロック取得不能」でない場合(ステッ
プ3112No)、リターンコードが「対象データ有
り」か否かを判断する(ステップ3114)。リターン
コードが「対象データ有り」である場合(ステップ31
14Yes)、対象データを記憶装置2からキャッシュ
メモリ35へ転送する必要がないから、ステップ311
7へ行く。リターンコードが「対象データ有り」でない
場合(ステップ3114No)、対象データを記憶装置
2からキャッシュメモリ35へ転送するよう記憶制御装
置管理情報341を介してドライブ側リード制御部32
1に指示する(ステップ3115)。その後対象データ
を記憶装置2からキャッシュメモリ35へ転送完了する
まで当該処理を待ち状態とする(ステップ3116)。
待ち状態を解除された後、当該データの割り当てブロッ
ク管理テーブル3433をたどりキャッシュメモリ35
中の対象データを処理装置1に転送する(ステップ31
17)。最後にキャッシュ制御部36に制御を移してデ
ータロック解放処理を実行する(ステップ3118)。
キャッシュ制御部36は、対象データに関するデータ管
理テーブル3432のロックを解除する。なおキャッシ
ュ管理情報343を参照するときには、単一の制御メモ
リ34−iのみを参照する。FIG. 3 is a flowchart showing the flow of the process of the channel side read control unit 311. The channel-side read control unit 311 starts a channel-side read process in response to a read request from the processing device 1. First, the channel-side read control unit 311 transfers control to the cache control unit 36 to execute data lock acquisition processing for the target data (step 3111). The cache control unit 36
It is determined whether the target data exists in the cache memory 35 by referring to the hit / miss determination table 3431,
If the data does not exist in the cache memory 35, the cache memory allocation processing is performed, and the data management table 3432 relating to the target data is locked. The channel-side read control unit 311 checks the return code issued by the cache control unit 36, and if the return code is “cannot acquire the target data lock” (step 3112 Yes), suspends the processing until the lock on the target data is released. Then (step 3113), the process returns to step 3111. If the return code is not “target data lock cannot be acquired” (step 3112 No), it is determined whether the return code is “target data exists” (step 3114). When the return code is "target data exists" (step 31)
14Yes), since there is no need to transfer the target data from the storage device 2 to the cache memory 35, step 311
Go to 7. If the return code is not “there is target data” (No in step 3114), the drive-side read control unit 32 via the storage control device management information 341 transfers the target data from the storage device 2 to the cache memory 35.
1 (step 3115). Thereafter, the process is set to a standby state until the transfer of the target data from the storage device 2 to the cache memory 35 is completed (step 3116).
After the waiting state is released, the cache memory 35 is searched by tracing the allocation block management table 3433 of the data.
The target data being transferred is transferred to the processing device 1 (step 31).
17). Finally, the control is transferred to the cache control unit 36 to execute the data lock release processing (step 3118).
The cache control unit 36 releases the lock of the data management table 3432 relating to the target data. When referring to the cache management information 343, only a single control memory 34-i is referred.
【0026】図4は、ドライブ側リード制御部321の
処理の流れを示すフローチャートである。ドライブ側リ
ード制御部321は、チャネル側リード制御部311か
ら指示があったとき、指示のあったリード対象データの
リード格納情報34322を参照する(ステップ321
1)。次にリード格納情報34322に基づいて対象デ
ータの内まだキャッシュメモリ35に格納していない部
分を記憶装置2からリードポインタ34324によって
指定されるブロックアドレスのブロックに転送する(ス
テップ3212)。次に転送した部分についてリード格
納情報34322を更新する(ステップ3213)。最
後に記憶制御装置管理情報341を介してチャネル側リ
ード処理の転送終了待ち状態を解除する(ステップ32
14)。キャッシュ管理情報343を参照するときに
は、単一の制御メモリ34−iのみを参照する。キャッ
シュ管理情報343を更新するときには、制御メモリ制
御部37を介して制御メモリ34をN重更新する。FIG. 4 is a flowchart showing the flow of the processing of the drive-side read control unit 321. When instructed by the channel-side read control unit 311, the drive-side read control unit 321 refers to the read storage information 34322 of the instructed read target data (step 321).
1). Next, based on the read storage information 34322, the part of the target data not yet stored in the cache memory 35 is transferred from the storage device 2 to the block of the block address specified by the read pointer 34324 (step 3212). Next, the read storage information 34322 is updated for the transferred part (step 3213). Finally, the transfer end wait state of the channel side read processing is released via the storage controller management information 341 (step 32).
14). When referring to the cache management information 343, only a single control memory 34-i is referred. When updating the cache management information 343, the control memory 34 is updated N times through the control memory control unit 37.
【0027】図5は、チャネル側ライト制御部312の
処理の流れを示すフローチャートである。チャネル側ラ
イト制御部312は、処理装置1からのライト要求に応
答してチャネル側ライト処理を開始する。チャネル側ラ
イト制御部312はまずキャッシュ制御部36に制御を
移して対象データについてデータロック取得処理を実行
する(ステップ3120)。キャッシュ制御部36には
要求元がチャネル側ライト制御部312であることを通
知する。キャッシュ制御部36は、ヒット/ミス判定テ
ーブル3431を参照して対象データがキャッシュメモ
リ35に存在するか否かを判定し、キャッシュメモリ3
5に存在しなければキャッシュメモリ割り当て処理を行
い、対象データに関するデータ管理テーブル3432を
ロックする。チャネル側ライト制御部312は、キャッ
シュ制御部36が発行するリターンコードを調べ、リタ
ーンコードが「対象データロック取得不能」であれば
(ステップ3121Yes)、対象データのロックが解
放されるまで処理を中断して(ステップ3122)、ス
テップ3120に戻る。リターンコードが「対象データ
ロック取得不能」でない場合(ステップ3121N
o)、割り当てブロック管理テーブル3433をたどり
処理装置1からのライトデータをリードポインタ343
24側とライトポインタ34325側の両方の領域に格
納する(ステップ3123)。ライトデータの格納によ
りキャッシュメモリ35のブロックを占有するデータの
範囲に合わせてリード格納情報34322及びライト格
納情報34323のビットマップを更新する(ステップ
3124)。最後にキャッシュ制御部36に制御を移し
てデータロック解放処理を実行する(ステップ312
5)。キャッシュ制御部36は、対象データに関するデ
ータ管理テーブル3432のロックを解除する。キャッ
シュ管理情報343を参照するときの単一の制御メモリ
34−i参照、更新するときの制御メモリ34のN重更
新は上記の通りである。FIG. 5 is a flowchart showing the flow of the processing of the channel side write control unit 312. The channel side write control unit 312 starts the channel side write processing in response to a write request from the processing device 1. First, the channel-side write control unit 312 transfers control to the cache control unit 36 to execute data lock acquisition processing on the target data (step 3120). The cache control unit 36 is notified that the request source is the channel side write control unit 312. The cache control unit 36 determines whether the target data exists in the cache memory 35 with reference to the hit / miss determination table 3431, and
If it does not exist, the cache memory allocation process is performed and the data management table 3432 relating to the target data is locked. The channel-side write control unit 312 checks the return code issued by the cache control unit 36, and if the return code is “cannot acquire the target data lock” (step 3121 Yes), suspends the processing until the lock on the target data is released. Then (step 3122), the process returns to step 3120. When the return code is not “target data lock cannot be acquired” (step 3121N)
o), by tracing the allocation block management table 3433 and writing the write data from the processing device 1 to the read pointer 343
The data is stored in both areas on the 24th and 34325 sides (step 3123). The bit map of the read storage information 34322 and the write storage information 34323 is updated according to the range of the data occupying the block of the cache memory 35 by storing the write data (step 3124). Finally, the control is transferred to the cache control unit 36 to execute the data lock release processing (step 312).
5). The cache control unit 36 releases the lock of the data management table 3432 relating to the target data. The single control memory 34-i when referring to the cache management information 343 and the N-fold update of the control memory 34 when updating are as described above.
【0028】図6は、ドライブ側ライト制御部322の
処理の流れを示すフローチャートである。ドライブ側ラ
イト制御部322は、処理装置1からのリード/ライト
要求とは非同期にドライブ側ライト処理を実行する。ド
ライブ側ライト制御部322は、まずヒット/ミス判定
テーブル3431を経由して各データ管理テーブル34
32にアクセスし、ロック情報34321とライトポイ
ンタ34325を参照してロックされていないライトポ
インタ34325が格納されているいずれかのダーティ
データを選択する(ステップ3220)。次にキャッシ
ュ制御部36に制御を移して対象データについてデータ
ロック取得処理を実行する(ステップ3221)。キャ
ッシュ制御部36には要求元がドライブ側ライト制御部
322であることを通知する。キャッシュ制御部36
は、対象データに関するデータ管理テーブル3432を
ロックする。ドライブ側ライト制御部322は、キャッ
シュ制御部36が発行するリターンコードを調べ、リタ
ーンコードが「対象データロック取得不能」であれば
(ステップ3222Yes)、ステップ3220に戻っ
てダーティデータの選択を再試行する。リターンコード
が「対象データロック取得不能」でない場合(ステップ
3222No)、記憶装置2に割り当てブロック管理テ
ーブル3433を経由してポイントされるダーティデー
タを書き込む(ステップ3223)。最後にキャッシュ
制御部36に制御を移してデータロック解放処理を実行
する(ステップ3224)。キャッシュ制御部36は、
対象とするデータ管理テーブル3432についてライト
ポインタ34325からポイントされているキャッシュ
メモリ35中のブロックを解放し、このデータ管理テー
ブル3432のロックを解除する。キャッシュ管理情報
343を参照するときの単一の制御メモリ34−i参照
については上記の通りである。FIG. 6 is a flowchart showing the flow of processing of the drive-side write control unit 322. The drive-side write control unit 322 executes drive-side write processing asynchronously with a read / write request from the processing device 1. First, the drive-side write control unit 322 sends each data management table 34 via the hit / miss determination table 3431.
32, and refers to the lock information 34321 and the write pointer 34325 to select any dirty data in which the unlocked write pointer 34325 is stored (step 3220). Next, the control is transferred to the cache control unit 36 to execute data lock acquisition processing for the target data (step 3221). The cache control unit 36 is notified that the request source is the drive-side write control unit 322. Cache control unit 36
Locks the data management table 3432 relating to the target data. The drive-side write control unit 322 checks the return code issued by the cache control unit 36, and if the return code is “unable to acquire the target data lock” (Step 3222 Yes), returns to Step 3220 and retries the selection of dirty data. I do. If the return code is not “target data lock unavailable” (step 3222 No), dirty data pointed to via the allocation block management table 3433 is written to the storage device 2 (step 3223). Finally, the control is transferred to the cache control unit 36 to execute the data lock release processing (step 3224). The cache control unit 36
The block in the cache memory 35 pointed to by the write pointer 34325 for the target data management table 3432 is released, and the lock of the data management table 3432 is released. The reference to the single control memory 34-i when referring to the cache management information 343 is as described above.
【0029】図7は、キャッシュ制御部36のデータロ
ック取得処理の流れを示すフローチャートである。キャ
ッシュ制御部36は、まずアダプタ間のキャッシュ管理
情報343のアクセスを排他するためにキャッシュ管理
情報ロック342のロックを取得する(ステップ360
1)。次に対象データがキャッシュメモリ35に格納さ
れているか否かを判定するためにヒット/ミス判定テー
ブル3431を参照する(ステップ3602)。対象デ
ータに関するデータ管理テーブル3432が存在しなけ
れば(ステップ3603No)、データ管理テーブル未
使用キュー3434から未使用のデータ管理テーブル3
432を1つ取得し(ステップ3604)、ヒット/ミ
ス判定テーブル3431にこのデータ管理テーブル34
32についてのエントリを追加し、ステップ3608へ
行く。データ管理テーブル3432が存在すれば(ステ
ップ3603Yes)、対象データのデータ管理テーブ
ル3432内のロック情報34321を参照する(ステ
ップ3605)。既にロックされていれば(ステップ3
606Yes)、データロック取得処理のリターンコー
ドに「対象データロック取得不能」を設定し(ステップ
3620)、ステップ3622へ行く。まだロックされ
ていない場合(ステップ3606No)、このデータロ
ック取得処理の要求元がドライブ側ライト制御部322
のドライブ側ライト処理であるか否か判断する(ステッ
プ3607)。ドライブ側ライト処理である場合(ステ
ップ3607Yes)、記憶装置2へダーティデータの
書き込みを実行するだけであり、キャッシュメモリ領域
の新たな確保は不要であるので、ステップ3619へ行
く。ドライブ側ライト処理でない場合(ステップ360
7No)、データロック取得処理と後で説明するキャッ
シュメモリ割り当て処理で参照するローカルなフラグで
あるリード確保フラグ及びライト確保フラグをオフに設
定する(ステップ3608)。次に対象データのリード
格納情報34322を参照する(ステップ3609)。
対象データのすべてがキャッシュメモリ35に存在すれ
ば(ステップ3610Yes)、リード確保フラグをオ
フのままとし、ステップ3612へ行く。対象データの
すべてがキャッシュメモリ35に存在するのでなければ
(ステップ3610No)、リード確保フラグをオンに
設定し(ステップ3611)、ステップ3612へ行
く。次にこのデータロック取得処理の要求元がチャネル
側ライト制御部312のチャネル側ライト処理であるか
否か判断する(ステップ3612)。チャネル側ライト
処理でない場合(ステップ3612No)、ダーティデ
ータをキャッシュメモリに2重化して格納するのに必要
な領域を確保する必要がないのでステップ3616へ行
く。チャネル側ライト処理である場合(ステップ361
2Yes)、対象データのライト格納情報34323を
参照する(ステップ3613)。対象データのすべてが
キャッシュメモリ35に存在すれば(ステップ3614
Yes)、ライト確保フラグをオフのままとし、ステッ
プ3616へ行く。対象データのすべてがキャッシュメ
モリ35に存在するのでなければ(ステップ3614N
o)、ライト確保フラグをオンに設定し(ステップ36
15)、ステップ3616へ行く。次にリード確保フラ
グとライト確保フラグのいずれかのフラグがオンに設定
されているか否かを判断する(ステップ3616)。ど
ちらのフラグもオンに設定されていない場合(ステップ
3616No)、リターンコードに「対象データ有り」
を設定し(ステップ3619)、ステップ3621へ行
く。いずれかのフラグがオンに設定されている場合(ス
テップ3616Yes)、キャッシュメモリ割り当て処
理を実行する(ステップ3617)。キャッシュメモリ
割り当て処理を実行後、データロック取得処理に戻っ
て、データロック取得処理のリターンコードに「対象デ
ータ無し」を設定する(ステップ3618)。次に対象
データのデータ管理テーブル3432中のロック情報3
4321についてロックを取得する(ステップ362
1)。最後にキャッシュ管理情報ロック342のロック
を解放する(ステップ3622)。データロック取得処
理の要求元にはリターンコードとともに対象データに関
するデータ管理テーブル3432へのポインタが報告さ
れる。キャッシュ管理情報343を参照するときの単一
の制御メモリ34−i参照、更新するときの制御メモリ
34のN重更新は上記の通りである。FIG. 7 is a flowchart showing the flow of the data lock acquisition process of the cache control unit 36. The cache control unit 36 first acquires a lock of the cache management information lock 342 in order to exclude access to the cache management information 343 between adapters (step 360).
1). Next, the hit / miss determination table 3431 is referred to to determine whether the target data is stored in the cache memory 35 (step 3602). If the data management table 3432 relating to the target data does not exist (No in step 3603), the unused data management table 3 is stored in the data management table unused queue 3434.
432 (step 3604), and this data management table 34 is stored in the hit / miss determination table 3431.
Add an entry for 32 and go to step 3608. If the data management table 3432 exists (step 3603 Yes), the lock information 34321 in the data management table 3432 of the target data is referred to (step 3605). If already locked (Step 3
606 Yes), “unable to acquire target data lock” is set as the return code of the data lock acquisition process (step 3620), and the process goes to step 3622. If the data has not been locked (No in step 3606), the request source of the data lock acquisition processing is the drive-side write control unit 322.
It is determined whether or not this is the drive-side write process (step 3607). In the case of drive-side write processing (step 3607 Yes), the process simply proceeds to write dirty data to the storage device 2 and does not need to newly secure a cache memory area. If not drive-side write processing (step 360)
7), the read securing flag and the write securing flag, which are local flags referred to in the data lock acquisition processing and the cache memory allocation processing described later, are set to off (step 3608). Next, reference is made to the read storage information 34322 of the target data (step 3609).
If all of the target data exists in the cache memory 35 (step 3610 Yes), the read securing flag is kept off, and the process proceeds to step 3612. If not all of the target data exists in the cache memory 35 (step 3610 No), the read securing flag is set to on (step 3611), and the process proceeds to step 3612. Next, it is determined whether or not the request source of the data lock acquisition processing is the channel side write processing of the channel side write control unit 312 (step 3612). If it is not the channel-side write process (No at Step 3612), the process goes to Step 3616 because it is not necessary to secure an area necessary for storing the dirty data in the cache memory in duplicate. If it is a channel side write process (step 361)
2Yes), reference is made to the write storage information 34323 of the target data (step 3613). If all of the target data exists in the cache memory 35 (step 3614)
Yes), the light securing flag is kept off, and the flow proceeds to step 3616. If all of the target data does not exist in the cache memory 35 (step 3614N
o), and set the write securing flag to ON (step 36)
15) Go to step 3616. Next, it is determined whether any one of the read securing flag and the write securing flag is set to ON (step 3616). If neither flag is set to ON (step 3616 No), the return code indicates “there is data to be present”.
Is set (step 3619), and the procedure goes to step 3621. If any of the flags is set to ON (step 3616 Yes), the cache memory allocation process is executed (step 3617). After executing the cache memory allocation process, the process returns to the data lock acquisition process, and sets "no target data" as the return code of the data lock acquisition process (step 3618). Next, the lock information 3 in the data management table 3432 of the target data
Acquire the lock for 4321 (step 362)
1). Finally, the lock of the cache management information lock 342 is released (step 3622). A pointer to the data management table 3432 relating to the target data is reported to the requester of the data lock acquisition processing together with the return code. The single control memory 34-i when referring to the cache management information 343 and the N-fold update of the control memory 34 when updating are as described above.
【0030】図8は、キャッシュ制御部36のキャッシ
ュメモリ割り当て処理の流れを示すフローチャートであ
る。キャッシュ制御部36は、まずリード確保フラグが
オンに設定されているか否かを判断する(ステップ36
30)。オンに設定されていない場合(ステップ363
0No)、リードポインタ34324側のキャッシュメ
モリ35の確保が不要であるため、ステップ3633へ
行く。オンに設定されている場合(ステップ3630Y
es)、対象データを格納するのに必要な領域を確保す
るためにリードポインタ34324側に割り当てブロッ
ク管理テーブル3433をN個の単位キャッシュメモリ
35−1〜Nの中の任意の1個の割り当てブロック管理
テーブル未使用キュー3435の中から確保する(ステ
ップ3631)。ただしリードポインタ34324側に
既に割り当てブロック管理テーブル3433を接続して
いる場合には、この割り当てブロック管理テーブル34
33を確保しているのと同一の割り当てブロック管理テ
ーブル未使用キュー3435から確保する。次に割り当
てブロック管理テーブル3433を確保した割り当てブ
ロック管理テーブル未使用キュー3435のエントリ数
343513を確保した割り当てブロック管理テーブル
数だけ減算する(ステップ3632)。次にライト確保
フラグがオンに設定されているか否かを判断する(ステ
ップ3633)。オンに設定されていない場合(ステッ
プ3633No)、ライトポインタ34325側のキャ
ッシュメモリ35の確保が不要であるため処理を終了す
る。オンに設定されている場合(ステップ3633Ye
s)、対象のダーティデータを格納するのに必要な領域
を確保するためにライトポインタ34325側に割り当
てブロック管理テーブル3433としてリードポインタ
34324側に確保しているキャッシュメモリ35−i
を除くN−1個のキャッシュメモリ35−jの中の任意
の1個の割り当てブロック管理テーブル未使用キュー3
435の中から確保する(ステップ3634)。ただし
ライトポインタ34325側に既に割り当てブロック管
理テーブル3433を接続している場合には、この割り
当てブロック管理テーブル3433を確保しているのと
同一の割り当てブロック管理テーブル未使用キュー34
35から確保する。次に割り当てブロック管理テーブル
3433を確保した割り当てブロック管理テーブル未使
用キュー3435のエントリ数343513を確保した
割り当てブロック管理テーブル数だけ減算する(ステッ
プ3635)。キャッシュ管理情報343を参照すると
きの単一の制御メモリ34−i参照、更新するときの制
御メモリ34のN重更新は上記の通りである。FIG. 8 is a flowchart showing the flow of the cache memory allocation process of the cache control unit 36. The cache control unit 36 first determines whether the read securing flag is set to ON (step 36).
30). If it is not set to ON (step 363)
0No), the process proceeds to step 3633 because it is not necessary to secure the cache memory 35 on the read pointer 34324 side. If it is set to ON (step 3630Y
es) In order to secure an area necessary for storing the target data, the allocation block management table 3433 is allocated to the read pointer 34324 side in an arbitrary one of the N unit cache memories 35-1 to 35-N. It is secured from the management table unused queue 3435 (step 3631). However, when the allocation block management table 3433 is already connected to the read pointer 34324 side, the allocation block management table 3433
33 is allocated from the same allocated block management table unused queue 3435 as that which has been allocated. Next, the number of entries 343513 of the allocated block management table unused queue 3435 that has allocated the allocated block management table 3433 is subtracted by the number of allocated block management tables that have allocated (step 3632). Next, it is determined whether or not the write securing flag is set to ON (step 3633). If it is not set to ON (No in step 3633), the process ends because it is not necessary to secure the cache memory 35 on the side of the write pointer 34325. If it is set to ON (step 3633Ye
s) The cache memory 35-i secured on the read pointer 34324 side as the block management table 3433 allocated to the write pointer 34325 side to secure an area necessary for storing the target dirty data.
Any one of the allocated block management table unused queues 3 in the N-1 cache memories 35-j except for
435 (step 3634). However, when the allocation block management table 3433 is already connected to the write pointer 34325 side, the same allocation block management table unused queue 34 as that in which the allocation block management table 3433 is secured.
Secure from 35. Next, the number of entries 343513 of the allocated block management table unused queue 3435 that has allocated the allocated block management table 3433 is decremented by the number of allocated block management tables that have allocated (step 3635). The single control memory 34-i when referring to the cache management information 343 and the N-fold update of the control memory 34 when updating are as described above.
【0031】図9は、キャッシュ制御部36のデータロ
ック解放処理の流れを示すフローチャートである。キャ
ッシュ制御部36は、まずアダプタ間のキャッシュ管理
情報343のアクセスを排他するためにキャッシュ管理
情報ロック342のロックを取得する(ステップ366
0)。次にこのデータロック解放処理の要求元がドライ
ブ側ライト制御部322のドライブ側ライト処理である
か否か判断する(ステップ3661)。ドライブ側ライ
ト処理でない場合(ステップ3661No)、キャッシ
ュメモリの解放は不要であるので、ステップ3665へ
行く。ドライブ側ライト処理である場合(ステップ36
61Yes)、2重化したダーティデータの一方を格納
していたライトポインタ34325側のブロックを解放
する。まずライト格納情報34323を初期化する(ス
テップ3662)。次にライトポインタ34325側に
確保していた割り当てブロック管理テーブル3433の
解放先である割り当てブロック管理テーブル未使用キュ
ー3435のエントリ数343513を解放する割り当
てブロック管理テーブル数だけ加算する(ステップ36
63)。次にライトポインタ34325側に確保してい
た割り当てブロック管理テーブル3433を解放先であ
る割り当てブロック管理テーブル未使用キュー3435
に解放し、ライトポインタ34325を初期化する(ス
テップ3664)。これによって同一データ管理テーブ
ル3432のリードポインタ34324側のデータはク
リーンデータとなる。次に対象データのデータ管理テー
ブル3432の中のロック情報34321を初期化し、
対象データのロックを解放する(ステップ3665)。
次に他処理の当該データのロック解放待ちを解除する
(ステップ3666)。最後にキャッシュ管理情報ロッ
ク342のロックを解放する(ステップ3667)。キ
ャッシュ管理情報343を参照するときの単一の制御メ
モリ34−i参照、更新するときの制御メモリ34のN
重更新は上記の通りである。FIG. 9 is a flowchart showing the flow of the data lock release processing of the cache control unit 36. The cache control unit 36 first acquires a lock of the cache management information lock 342 to exclude access to the cache management information 343 between adapters (step 366).
0). Next, it is determined whether or not the request source of the data lock release processing is the drive side write processing of the drive side write control unit 322 (step 3661). If it is not a drive-side write process (No in step 3661), the process goes to step 3665 since the release of the cache memory is unnecessary. If it is drive-side write processing (step 36)
61Yes), the block on the side of the write pointer 34325 storing one of the duplicated dirty data is released. First, the write storage information 34323 is initialized (step 3662). Next, the number of entries 343513 of the allocation block management table unused queue 3435 which is the release destination of the allocation block management table 3433 secured on the side of the write pointer 34325 is added by the number of allocation block management tables to be released (step 36).
63). Next, the allocation block management table 3433 secured on the side of the write pointer 34325 is released from the allocation block management table unused queue 3435 which is the release destination.
To initialize the write pointer 34325 (step 3664). As a result, the data on the read pointer 34324 side of the same data management table 3432 becomes clean data. Next, the lock information 34321 in the data management table 3432 of the target data is initialized,
The lock on the target data is released (step 3665).
Next, the lock release wait state of the data in another process is released (step 3666). Finally, the lock of the cache management information lock 342 is released (step 3667). Single control memory 34-i when referring to cache management information 343, N of control memory 34 when updating
The multiple updates are as described above.
【0032】なお本実施形態では、各キャッシュメモリ
35−iごとに割り当てブロック管理テーブル未使用キ
ュー3435を設け、割り当てブロック管理テーブル未
使用キューヘッダ34351のエントリ数343513
を常に更新するので、各キャッシュメモリ35−iの未
使用ブロックの数を監視でき、未使用ブロックの数が不
足と判断されるキャッシュメモリ35−iについてはそ
の内部にクリーンデータのみ格納しているブロックを解
放してそのキャッシュメモリ35−iに対応する割り当
てブロック管理テーブル未使用キュー3435に加える
ように制御プログラムによって制御することが可能であ
る。In this embodiment, an allocation block management table unused queue 3435 is provided for each cache memory 35-i, and the number of entries 343513 in the allocation block management table unused queue header 34351.
Is constantly updated, the number of unused blocks in each cache memory 35-i can be monitored, and only the clean data is stored in the cache memory 35-i in which the number of unused blocks is determined to be insufficient. It is possible to control by a control program to release a block and add it to the allocated block management table unused queue 3435 corresponding to the cache memory 35-i.
【0033】本実施形態によれば、1つのデータ管理テ
ーブル3432にリードポインタ34324とライトポ
インタ34325、リード格納情報34322とライト
格納情報34323を設け、1つのキャッシュ管理情報
343はキャッシュメモリ35全体のブロックを管理す
るデータ管理テーブル未使用キュー3434を保有する
ので、キャッシュ管理情報343を参照するときには単
一の制御メモリ34−iを参照する処理を順次行えばよ
く、2つのキャッシュ管理情報について重複した処理を
繰り返し行う必要がない。またN組の制御メモリ34−
1〜Nを更新するときには、制御メモリ制御部37のN
重更新機能によって同時N重更新を利用できるので、キ
ャッシュ管理情報343を更新するときプログラム上は
単一の制御メモリ34−iを更新する手順の中で制御メ
モリ34全体の更新を行うことができ、2つのキャッシ
ュ管理情報について重複した更新処理を繰り返し行う必
要がない。以上の利点によって制御プログラムを実行す
るときのダイナミックステップ数を削減でき、制御メモ
リ34を参照/更新するときの内部バス33のトラフィ
ックを削減でき、もって記憶制御装置3のスループット
と処理装置1に対するレスポンスを向上させることがで
きる。また特に制御メモリ34をN重化するので、制御
メモリ34の信頼性が向上する。According to the present embodiment, the read pointer 34324 and the write pointer 34325, the read storage information 34322 and the write storage information 34323 are provided in one data management table 3432, and one cache management information 343 is a block of the entire cache memory 35. Is stored in the data management table unused queue 3434 that manages the cache management information 343. Therefore, when the cache management information 343 is referred to, the process of referring to the single control memory 34-i only needs to be performed sequentially, and the process that overlaps the two cache management information is performed. Need not be repeated. N sets of control memories 34-
When updating 1 to N, N of the control memory control unit 37
Since the simultaneous N-fold update can be used by the multiple update function, when the cache management information 343 is updated, the entire control memory 34 can be updated on the program in the procedure for updating the single control memory 34-i. There is no need to repeat the update process for two pieces of cache management information. With the above advantages, the number of dynamic steps when executing the control program can be reduced, the traffic on the internal bus 33 when referring to / updating the control memory 34 can be reduced, and the throughput of the storage control device 3 and the response to the processing device 1 can be reduced. Can be improved. In particular, since the control memory 34 is made N-fold, the reliability of the control memory 34 is improved.
【0034】(2)第2の実施形態 第1の実施形態では、キャッシュ管理情報343はキャ
ッシュメモリ35全体についての割り当てブロック管理
テーブル3433を保持するため、各制御メモリ34−
iはこれに見合う記憶容量を必要とする。第2の実施形
態は、各制御メモリ34−iごとに割り当てブロック管
理テーブル3433を保有することにし、各制御メモリ
34−iが必要とする記憶容量を削減するものである。(2) Second Embodiment In the first embodiment, since the cache management information 343 holds the allocation block management table 3433 for the entire cache memory 35, each control memory 34-
i requires a storage capacity commensurate with this. In the second embodiment, an allocation block management table 3433 is held for each control memory 34-i, and the storage capacity required by each control memory 34-i is reduced.
【0035】図10は、第2の実施形態の記憶制御装置
を中心とするシステムの構成図である。第1の実施形態
の構成と異なる点は、第1の実施形態のキャッシュ管理
情報343を共通キャッシュ管理情報344と個別キャ
ッシュ管理情報345に分割し、個別キャッシュ管理情
報345は対応する制御メモリ34−iの割り当てブロ
ック管理テーブル3433のみを保有することにした点
である。第1の実施形態と同一符号で表される管理情報
の内容は第1の実施形態と同じである。FIG. 10 is a configuration diagram of a system centering on the storage controller of the second embodiment. The difference from the configuration of the first embodiment is that the cache management information 343 of the first embodiment is divided into common cache management information 344 and individual cache management information 345, and the individual cache management information 345 is stored in the corresponding control memory 34-. The point is that only the allocation block management table 3433 for i is retained. The contents of the management information represented by the same reference numerals as those in the first embodiment are the same as those in the first embodiment.
【0036】図11は、制御メモリ34−iに格納され
る管理情報の構成を示す図である。共通キャッシュ管理
情報344は、キャッシュ管理情報343に含まれてい
たヒット/ミス判定テーブル3431、データ管理テー
ブル3432及びデータ管理テーブル未使用キュー34
34を含む。また個別キャッシュ管理情報345は、割
り当てブロック管理テーブル3433と割り当てブロッ
ク管理テーブル未使用キュー3435とを含む。ただし
キャッシュ管理情報343とは異なり、個別キャッシュ
管理情報345内の割り当てブロック管理テーブル34
33は対応する制御メモリ34−iに関するもののみを
保有する。データ管理テーブル3432内のリードポイ
ンタ34324及びライトポインタ34325は、制御
メモリ34−iの識別子とその制御メモリ34−i内ア
ドレスを指定する。FIG. 11 is a diagram showing the structure of management information stored in the control memory 34-i. The common cache management information 344 includes the hit / miss determination table 3431, the data management table 3432, and the data management table unused queue 34 included in the cache management information 343.
34. The individual cache management information 345 includes an allocation block management table 3433 and an allocation block management table unused queue 3435. However, unlike the cache management information 343, the allocation block management table 34 in the individual cache management information 345
33 holds only those relating to the corresponding control memory 34-i. The read pointer 34324 and the write pointer 34325 in the data management table 3432 specify the identifier of the control memory 34-i and the address in the control memory 34-i.
【0037】第2の実施形態では、リード処理及びライ
ト処理において割り当てブロック管理テーブル3433
にアクセスするとき、その割り当てブロック管理テーブ
ル3433を保有する制御メモリ34−iの識別子を指
定する。またキャッシュ制御部36のキャッシュメモリ
割り当て処理において、ブロックを確保したキャッシュ
メモリ35−iに対応する制御メモリ34−iの割り当
てブロック管理テーブル未使用キュー3435から未使
用の割り当てブロック管理テーブル3433を確保す
る。その他処理の手順は第1の実施形態と同じである。In the second embodiment, in the read processing and the write processing, the allocation block management table 3433 is used.
Is accessed, the identifier of the control memory 34-i holding the allocated block management table 3433 is specified. In the cache memory allocation process of the cache control unit 36, an unused allocation block management table 3433 is allocated from the allocation block management table unused queue 3435 of the control memory 34-i corresponding to the cache memory 35-i in which the block has been allocated. . Other processing procedures are the same as in the first embodiment.
【0038】第2の実施形態によれば、共通キャッシュ
管理情報344内のキャッシュメモリ35へのデータ格
納状況を示す管理情報については、制御メモリ制御部3
7による制御メモリ34のN重更新を行う。個別キャッ
シュ管理情報345内のブロックを管理するための管理
情報については、目的のキャッシュメモリ35−iに対
応する制御メモリ34−iのみを参照又は更新する。第
2の実施形態によれば、第1の実施形態と同様にキャッ
シュメモリ35にダーティデータを格納するとき重複し
た処理は必要ない。さらに第1の実施形態に比べて割り
当てブロック管理テーブル3433を保持するための各
制御メモリ34−iの記憶容量が削減される。According to the second embodiment, the management information indicating the data storage status in the cache memory 35 in the common cache management information 344 is controlled by the control memory controller 3.
7, the control memory 34 is updated N times. For management information for managing blocks in the individual cache management information 345, only the control memory 34-i corresponding to the target cache memory 35-i is referenced or updated. According to the second embodiment, when dirty data is stored in the cache memory 35 as in the first embodiment, redundant processing is not required. Further, the storage capacity of each control memory 34-i for holding the allocation block management table 3433 is reduced as compared with the first embodiment.
【0039】[0039]
【発明の効果】本発明によれば、記憶制御装置の制御プ
ログラムから見ると常に単一の制御メモリのキャッシュ
管理情報を参照及び更新すればよく、2つ以上の制御メ
モリについてキャッシュ管理情報の参照及び更新を繰り
返す必要はなく、制御プログラムを実行するときのダイ
ナミックステップ数を削減し、内部バスのトラフィック
を削減し、もって記憶制御装置のスループットを増大さ
せ、処理装置に対するレスポンス時間を短縮することが
できる。According to the present invention, it is sufficient to always refer to and update the cache management information of a single control memory from the viewpoint of the control program of the storage controller, and to refer to the cache management information for two or more control memories. It is possible to reduce the number of dynamic steps when executing the control program, reduce the traffic on the internal bus, increase the throughput of the storage control device, and shorten the response time to the processing device without repeating the update. it can.
【図1】第1の実施形態のシステム構成図である。FIG. 1 is a system configuration diagram of a first embodiment.
【図2】第1の実施形態のキャッシュ管理情報のデータ
構成とキャッシュメモリ35との関連を説明する図であ
る。FIG. 2 is a diagram illustrating the relationship between the data configuration of cache management information and a cache memory according to the first embodiment.
【図3】実施形態のチャネル側リード制御部311の処
理の流れを示すフローチャートである。FIG. 3 is a flowchart illustrating a processing flow of a channel side read control unit 311 according to the embodiment.
【図4】実施形態のドライブ側リード制御部321の処
理の流れを示すフローチャートである。FIG. 4 is a flowchart illustrating a processing flow of a drive-side read control unit 321 according to the embodiment.
【図5】実施形態のチャネル側ライト制御部312の処
理の流れを示すフローチャートである。FIG. 5 is a flowchart illustrating a processing flow of a channel side write control unit 312 according to the embodiment.
【図6】実施形態のドライブ側ライト制御部322の処
理の流れを示すフローチャートである。FIG. 6 is a flowchart illustrating a processing flow of a drive-side write control unit 322 according to the embodiment.
【図7】実施形態のキャッシュ制御部36のデータロッ
ク取得処理の流れを示すフローチャートである。FIG. 7 is a flowchart illustrating a flow of a data lock acquisition process of a cache control unit 36 according to the embodiment.
【図8】実施形態のキャッシュ制御部36のキャッシュ
メモリ割り当て処理の流れを示すフローチャートであ
る。FIG. 8 is a flowchart illustrating a flow of a cache memory allocation process of a cache control unit 36 according to the embodiment.
【図9】実施形態のキャッシュ制御部36のデータロッ
ク解放処理の流れを示すフローチャートである。FIG. 9 is a flowchart illustrating a flow of a data lock release process of the cache control unit according to the embodiment.
【図10】第2の実施形態のシステム構成図である。FIG. 10 is a system configuration diagram of a second embodiment.
【図11】第2の実施形態のキャッシュ管理情報のデー
タ構成を示す図である。FIG. 11 is a diagram illustrating a data configuration of cache management information according to the second embodiment.
3:記憶制御装置、34:制御メモリ、343:キャッ
シュ管理情報、344:共通キャッシュ管理情報、34
5:個別キャッシュ管理情報、35:キャッシュメモ
リ、36:キャッシュ制御部、37:制御メモリ制御部3: storage controller, 34: control memory, 343: cache management information, 344: common cache management information, 34
5: individual cache management information, 35: cache memory, 36: cache control unit, 37: control memory control unit
Claims (2)
され、N(Nは2以上の整数)個のキャッシュメモリ
と、該キャッシュメモリの各々に対応して該キャッシュ
メモリを管理する情報を格納するN個の制御メモリと、
該制御メモリ中の管理情報を参照及び更新しながら該キ
ャッシュメモリを介して該処理装置と該記憶装置との間
のデータ転送を制御する手段とを有する記憶制御装置に
おいて、 N個の該制御メモリの各々にはN個のキャッシュメモリ
全体に関する管理情報をN個の制御メモリについてN重
化して設定し、該制御手段は該管理情報を参照するとき
にはいずれか1個の制御メモリ内の管理情報を参照し、
該管理情報を更新するときにはN個の制御メモリ内の管
理情報をN個同時に更新する手段を有することを特徴と
する記憶制御装置。An information processing system, comprising: N (N is an integer of 2 or more) cache memories connected to an upper processing unit and a lower storage device; and information for managing the cache memories corresponding to each of the cache memories. N control memories for storing
A storage control device having means for controlling data transfer between the processing device and the storage device via the cache memory while referring to and updating management information in the control memory; , N sets of management information relating to the entire N cache memories are set for the N control memories, and the control unit refers to the management information in any one of the control memories when referring to the management information. See,
A storage control device, comprising means for simultaneously updating N pieces of management information in N control memories when updating the management information.
され、N(Nは2以上の整数)個のキャッシュメモリ
と、該キャッシュメモリの各々に対応して該キャッシュ
メモリを管理する情報を格納するN個の制御メモリと、
該制御メモリ中の管理情報を参照及び更新しながら該キ
ャッシュメモリを介して該処理装置と該記憶装置との間
のデータ転送を制御する手段とを有する記憶制御装置に
おいて、 N個の該制御メモリの各々はデータの該キャッシュメモ
リへの格納状況を示す第1の管理情報についてはN個の
キャッシュメモリ全体に関する管理情報をN個の制御メ
モリについてN重化して保有し、該キャッシュメモリ内
の記憶領域を管理する第2の管理情報については各制御
メモリごとに対応するキャッシュメモリ内の記憶領域に
ついての管理情報を保有し、該制御手段は、第1の管理
情報を参照するときにはいずれか1個の制御メモリ内の
第1の管理情報を参照し、第1の管理情報を更新すると
きにはN個の制御メモリ内の第1の管理情報をN個同時
に更新する手段を有し、第2の管理情報を参照及び更新
するときには特定のキャッシュメモリに対応する制御メ
モリ内の第2の管理情報をそれぞれ参照及び更新する手
段を有することを特徴とする記憶制御装置。2. An N (N is an integer of 2 or more) cache memories connected to an upper processing unit and a lower storage device, and information for managing the cache memories corresponding to each of the cache memories. N control memories for storing
A storage control device having means for controlling data transfer between the processing device and the storage device via the cache memory while referring to and updating management information in the control memory; Of the first management information indicating the storage status of data in the cache memory, the management information relating to the entire N cache memories is held N times for the N control memories, and stored in the cache memory. As for the second management information for managing the area, management information about the storage area in the cache memory corresponding to each control memory is held, and when the control means refers to the first management information, any one of the control information is stored. When the first management information is updated with reference to the first management information in the control memory of N, N pieces of the first management information in the N control memories are simultaneously updated. And a means for referencing and updating the second management information in the control memory corresponding to the specific cache memory when referring to and updating the second management information. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8272656A JPH10124388A (en) | 1996-10-15 | 1996-10-15 | Storage controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8272656A JPH10124388A (en) | 1996-10-15 | 1996-10-15 | Storage controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10124388A true JPH10124388A (en) | 1998-05-15 |
Family
ID=17516970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8272656A Pending JPH10124388A (en) | 1996-10-15 | 1996-10-15 | Storage controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10124388A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008269636A (en) * | 2008-06-03 | 2008-11-06 | Hitachi Ltd | Storage subsystem and storage subsystem control method |
US7739454B2 (en) | 2004-02-05 | 2010-06-15 | Hitachi, Ltd. | Storage subsystem and storage subsystem control method |
-
1996
- 1996-10-15 JP JP8272656A patent/JPH10124388A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7739454B2 (en) | 2004-02-05 | 2010-06-15 | Hitachi, Ltd. | Storage subsystem and storage subsystem control method |
JP2008269636A (en) * | 2008-06-03 | 2008-11-06 | Hitachi Ltd | Storage subsystem and storage subsystem control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7814270B2 (en) | Storage systems and methods of controlling cache memory of storage systems | |
US6192450B1 (en) | Destage of data for write cache | |
JP2783748B2 (en) | Method and apparatus for data transfer to auxiliary storage in a dynamically mapped data storage system | |
US5717893A (en) | Method for managing a cache hierarchy having a least recently used (LRU) global cache and a plurality of LRU destaging local caches containing counterpart datatype partitions | |
EP0681721B1 (en) | Archiving file system for data servers in a distributed network environment | |
JP3308554B2 (en) | Control device and control method of control device | |
JPH06139120A (en) | File updating system | |
JPH0412846B2 (en) | ||
JP2004511854A (en) | Data processing method and apparatus | |
JPH07152491A (en) | Virtual disk system | |
JP3246146B2 (en) | Data transfer method for external storage device | |
JP2000200219A (en) | Virtual memory management system | |
US6782444B1 (en) | Digital data storage subsystem including directory for efficiently providing formatting information for stored records | |
JPS60207943A (en) | Protection of contents of primary memory for hierarchical memory system | |
EP0351109A2 (en) | Reducing resources in a high reliability data storage subsystem | |
JPH10124388A (en) | Storage controller | |
JPH0635802A (en) | Disk controller with multiple caches | |
JP3882461B2 (en) | Storage device system and backup acquisition method thereof | |
US5802557A (en) | System and method for caching information in a digital data storage subsystem | |
JP2000285022A (en) | Disk controller | |
JP2008047029A (en) | Redundancy method and computer program for storage system and cache | |
JPH06110759A (en) | File system | |
US6594726B1 (en) | Digital data storage subsystem including arrangement for efficiently controlling fast write storage operation | |
JP3932860B2 (en) | Cluster configuration storage system | |
JP2002032251A (en) | Data processing system |