JP3235418B2 - Storage controller - Google Patents

Storage controller

Info

Publication number
JP3235418B2
JP3235418B2 JP19285295A JP19285295A JP3235418B2 JP 3235418 B2 JP3235418 B2 JP 3235418B2 JP 19285295 A JP19285295 A JP 19285295A JP 19285295 A JP19285295 A JP 19285295A JP 3235418 B2 JP3235418 B2 JP 3235418B2
Authority
JP
Japan
Prior art keywords
cache
memory
processing
unit
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP19285295A
Other languages
Japanese (ja)
Other versions
JPH0944406A (en
Inventor
昇 森下
美佐子 高橋
弘 一ノ宮
山本  彰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP19285295A priority Critical patent/JP3235418B2/en
Publication of JPH0944406A publication Critical patent/JPH0944406A/en
Application granted granted Critical
Publication of JP3235418B2 publication Critical patent/JP3235418B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【産業上の利用分野】本発明は、処理装置と記憶装置と
の間のデータ転送を制御する記憶制御装置に関し、特
に、データ転送に係るデータを一時記憶し、かつ、デー
タのアクセス障害に係る閉塞動作を可能とするキャッシ
ュメモリを有する記憶制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a storage control device for controlling data transfer between a processing device and a storage device, and more particularly to a storage control device for temporarily storing data related to data transfer and preventing data access failure. The present invention relates to a storage control device having a cache memory capable of performing a closing operation.

【従来の技術】従来、処理装置と記憶装置との間のデー
タ転送を制御する記憶制御装置においては、そのデータ
転送に係るデータを一時記憶するキャッシュメモリを設
けて上記のデータ転送を円滑ならしめることが行われて
いる。キャッシュメモリを有する記憶制御装置において
は、キャッシュメモリにアクセスエラー等の障害が発生
した場合に対する何らかの対策が講じられなければなら
ない。このような対策の一例として、閉塞という技術が
提案されている。閉塞とは、キャッシュメモリ中で障害
が多発する部位を使用禁止とすることをいう。一方、キ
ャッシュメモリにおけるデータの信頼性向上に関して、
特開平5−189314号公報には、バッテリバックア
ップされた複数のキャッシュメモリを有する記憶制御装
置のキャッシュメモリ制御方式が記載されている。この
方式においては、記憶装置から読み出したデータは複数
のキャッシュメモリの任意の1つに格納し、記憶装置へ
書き込もうとするデータは複数のキャッシュメモリの任
意の2つに格納することにより、障害に対するデータの
保証性を向上させている。この方式では、上記のように
複数のキャッシュメモリを選択的に利用してデータを障
害から保護するため、キャッシュメモリに障害が発生し
た場合、障害のないキャッシュメモリを用いてキャッシ
ュ動作を続行させることができるが、障害キャッシュメ
モリを回復させるためには、一旦記憶制御装置および記
憶装置を停止させ、そのキャッシュメモリをキャッシュ
メモリごと全部閉塞することになる。
2. Description of the Related Art Conventionally, in a storage control device for controlling data transfer between a processing device and a storage device, a cache memory for temporarily storing data relating to the data transfer is provided to facilitate the above data transfer. That is being done. In a storage control device having a cache memory, some countermeasures must be taken when an error such as an access error occurs in the cache memory. As an example of such a measure, a technique called blockage has been proposed. Blocking means prohibiting use of a portion of the cache memory where failures frequently occur. On the other hand, regarding the improvement of data reliability in cache memory,
Japanese Unexamined Patent Publication No. Hei 5-189314 describes a cache memory control method for a storage control device having a plurality of cache memories backed up by a battery. In this method, data read from the storage device is stored in any one of the plurality of cache memories, and data to be written to the storage device is stored in any two of the plurality of cache memories, thereby preventing failure. Improves data assurance. In this method, since data is protected from a failure by selectively using a plurality of cache memories as described above, when a failure occurs in the cache memory, the cache operation is continued using a non-failed cache memory. However, in order to recover the failed cache memory, the storage control device and the storage device are temporarily stopped, and the cache memory is entirely closed together with the cache memory.

【発明が解決しようとする課題】上記従来技術は、前述
のようなキャッシュメモリの障害発生に伴う回復処理に
ついて考慮していない。キャッシュメモリに障害が発生
した場合、データの喪失を避けるため、当該障害部位を
閉塞する必要があるが、上記従来技術では、閉塞すべき
障害部位を記憶制御装置のキャッシュメモリ構成から除
外するための閉塞処理を実行する場合、記憶制御装置お
よび記憶装置を停止させなければならないという問題点
があった。また、上記従来技術では、一つ一つのキャッ
シュメモリ内を分割して管理しているわけではないの
で、障害部分がキャッシュメモリ内の一部分であって
も、一度に閉塞する部分はキャッシュメモリ全体となっ
てしまう。このため、閉塞処理によりそのキャッシュメ
モリ内の利用可能な部分までも使用禁止としてしまうこ
とになり、無駄が多く効率的でないという問題点があっ
た。本発明は上記問題点に鑑み、記憶制御装置および記
憶装置を停止させることなく、処理装置からのリード/
ライト要求を受け付けることができる状態でキャッシュ
メモリを閉塞することが可能な記憶制御装置を提供する
ことを目的とする。さらに、キャッシュメモリの中の障
害部位だけを部分的に閉塞することが可能な記憶制御装
置を提供することを目的とする。
The above-mentioned prior art does not take into account the above-described recovery processing when a cache memory failure occurs. When a failure occurs in the cache memory, it is necessary to close the failed part in order to avoid data loss. However, in the above-described conventional technique, the failed part to be blocked is excluded from the cache memory configuration of the storage control device. When executing the closing process, there is a problem that the storage control device and the storage device must be stopped. Further, in the above-mentioned conventional technology, since the inside of each cache memory is not divided and managed, even if the faulty part is a part in the cache memory, the part closed at a time is the same as the entire cache memory. turn into. For this reason, the use of even the available portion in the cache memory is prohibited by the closing process, and there is a problem that the process is wasteful and inefficient. SUMMARY OF THE INVENTION In view of the above problems, the present invention provides a method of reading / writing data from a processing device without stopping a storage control device and a storage device.
It is an object of the present invention to provide a storage control device capable of closing a cache memory in a state where a write request can be accepted. Still another object of the present invention is to provide a storage control device capable of partially closing only a failed part in a cache memory.

【課題を解決するための手段】上記目的を達成するため
に、本発明は、処理装置と、該処理装置により利用され
るデータを格納する記憶装置との間に介在し、処理装置
と記憶装置との間のデータ転送を制御する記憶制御装置
において、複数のブロックを含んで構成され、前記記憶
装置内に格納されるべきデータの一部を保持するキャッ
シュメモリと、キャッシュメモリ内のブロックのそれぞ
れに対応して形成され、対応するブロックを管理する制
御情報と、制御情報を処理装置が利用するデータのため
に確保されている使用中状態のブロックに対応する制御
情報と処理装置が利用するデータのために確保されてい
ない未使用状態のブロックに対応する制御情報とに分け
て管理する管理情報とを格納した制御メモリと、管理情
報を操作して障害を有するキャッシュメモリのブロック
の閉塞処理を行う制御手段とを設けたことを特徴とす
る。なお、上記構成において、前記キャッシュメモリ
は、それぞれ複数のブロックからなる複数の単位メモリ
に分割されており、また、前記制御手段は、前記ブロッ
クの閉塞処理を、障害の検出されたブロックを含む単位
メモリ内のすべてのブロックを対象として実施するよう
にしてもよい。ここで、キャッシュアクセスエラーの多
発を契機として、そのアクセスエラーが多発する部位を
含む単位メモリを閉塞するために、キャッシュ閉塞処理
を起動する。キャッシュ閉塞処理では、使用中または未
使用のキャッシュ管理テーブルをリード/ライト処理に
対して使用禁止とする。使用禁止とする方法として、未
使用キャッシュ管理テーブルが双方向ポインタによるキ
ューで管理されている場合、閉塞する単位メモリ内のキ
ャッシュ管理テ−ブルをアドレス順に参照し、キャッシ
ュ管理テ−ブルのロックを取得しながら、使用中/未使
用のキャッシュ管理テ−ブルを使用禁止とする。また、
別の方法として、未使用キャッシュ管理テーブルが単方
向ポインタによるキューで管理されている場合、閉塞す
る単位メモリ内のキャッシュ管理テ−ブルをアドレス順
に参照し、キャッシュ管理テ−ブルのロックを取得しな
がら、使用中のキャッシュ管理テ−ブルだけを使用禁止
とする。次に、未使用キャッシュ管理テーブルキュ−
を、キューのロックを取得後、先頭から参照し、未使用
のキャッシュ管理テーブルを使用禁止とする。また、キ
ャッシュ閉塞処理中、キャッシュ割り当て処理におい
て、閉塞する単位メモリ内のキャッシュ管理テ−ブルの
リード/ライト処理に対する新規割り当てを禁止する。
さらに別の方法として、複数の閉塞可能な単位メモリか
らなるキャッシュメモリが2つ存在する場合、障害の発
生する直前に両方ののキャッシュメモリが正常であった
時は、障害の発生したキャッシュメモリを一時的に閉塞
して閉塞処理を実行し、障害の発生する直前に片方のキ
ャッシュメモリのみ正常であった時は、未使用キャッシ
ュ管理テーブルキューの構造に合わせて、上記2通りの
閉塞処理のいずれかを実行する。
In order to achieve the above object, the present invention resides between a processing device and a storage device for storing data used by the processing device. A storage control device that controls data transfer between the storage device and a cache memory configured to include a plurality of blocks, and that holds a part of data to be stored in the storage device; Control information for managing a corresponding block, and control information corresponding to a block in use and reserved for data used by the processing device, and data used by the processing device. Memory that stores management information that is managed separately from control information corresponding to unused blocks that have not been reserved for operation, and failures caused by operating the management information Characterized in that a control means for performing a blocking process of the block in the cache memory with. In the above configuration, the cache memory is divided into a plurality of unit memories each including a plurality of blocks, and the control unit executes the block closing process by a unit including a block in which a failure is detected. You may make it implement for all the blocks in a memory. Here, triggered by the frequent occurrence of cache access errors, a cache closing process is started in order to close the unit memory including the portion where the access errors frequently occur. In the cache closing process, the used or unused cache management table is prohibited from being used for the read / write process. As a method of prohibiting use, when the unused cache management table is managed by a queue using bidirectional pointers, the cache management table in the unit memory to be closed is referenced in address order, and the cache management table is locked. While being acquired, use of unused / unused cache management tables is prohibited. Also,
As another method, when the unused cache management table is managed by a queue using a unidirectional pointer, the cache management table in the unit memory to be closed is referred to in order of address, and the cache management table lock is acquired. However, only the cache management table in use is prohibited. Next, the unused cache management table queue
After the lock of the queue is obtained, the cache management table is referred to from the beginning, and the use of the unused cache management table is prohibited. In addition, during the cache closing process, in the cache allocation process, new allocation of the cache management table in the unit memory to be closed to read / write processing is prohibited.
As still another method, when there are two cache memories each including a plurality of blockable unit memories, if both cache memories are normal immediately before the failure occurs, the failed cache memory is deleted. If one of the cache memories is normal just before the failure occurs and one of the two cache memories is normal immediately before the failure occurs, one of the above two types of the closure processing is performed according to the structure of the unused cache management table queue. Or do.

【作用】本発明によれば、キャッシュメモリをその構成
要素である単位メモリ毎に閉塞することが可能となる。
このため、局所的な障害に対してキャッシュメモリ全体
を閉塞する必要がなく、キャッシュメモリを有効に利用
することができる。また、キャッシュメモリを構成する
単位メモリの閉塞処理中においても、記憶制御装置の制
御情報を排他することにより、処理装置からのリード/
ライト要求を受け付けることができる。
According to the present invention, it is possible to close a cache memory for each unit memory which is a component thereof.
Therefore, there is no need to block the entire cache memory for a local failure, and the cache memory can be used effectively. Also, even during the closing process of the unit memory constituting the cache memory, the control information of the storage control device is excluded, so that the read / write from the processing device is performed.
A write request can be accepted.

【実施例】以下、本発明の実施例を図面を用いて説明す
る。 <実施例1>図1は本実施例のシステム構成を示す図で
ある。この情報処理システムは処理装置(CPU)1、
記憶装置2、並びに処理装置1および記憶装置2に接続
された記憶制御装置3を含んで構成される。処理装置1
および記憶装置2は公知の技術を用いることができる。
記憶制御装置3は、チャネルアダプタ31を介して処理
装置1と接続され、かつ、ドライブアダプタ32を介し
て記憶装置2と接続される。チャネルアダプタ31およ
びドライブアダプタ32は、それぞれ記憶制御装置3内
に複数個設けられる。記憶制御装置3内は、複数のチャ
ネルアダプタ31、複数のドライブアダプタ32、キャ
ッシュメモリ37、および制御メモリ38をバス39で
接続した構成となっている。チャネルアダプタ31は、
チャネル制御部33、リード/ライト制御部35−1、
閉塞制御部36を有する。リード/ライト制御部35−
1は、チャネル制御部33を介して処理装置1からのリ
ード/ライト要求の受付け、および処理装置1と記憶制
御装置3との間のデータ転送の制御等を行なう。閉塞制
御部36は、キャッシュメモリ37を閉塞するキャッシ
ュ閉塞処理361を有する。ドライブアダプタ32は、
ドライブ制御部34およびリード/ライト制御部35−
2を有する。リード/ライト制御部35−2は、ドライ
ブ制御部34を介して記憶装置2に対するデータ入出力
の制御等を行なう。キャッシュメモリ37は、転送する
データの1データ長分の容量のブロックに分割されてい
る。ブロックの大きさは記憶装置2およびキャッシュメ
モリ37に固有である。単位メモリ371は、このブロ
ックを適当な一定数だげ集めてグループ化したものであ
る。グループの数がN個となったならば、見かけ上、キ
ャッシュメモリ37はN個の単位メモリ371から構成
されることになる。キャッシュメモリ37はこの単位メ
モリ371毎に閉塞することが可能である。制御メモリ
38は、閉塞処理制御情報381、キャッシュ構成状態
情報382、およびキャッシュ管理情報383を有す
る。リード/ライト制御部35−1および35−2は、
いずれもキャッシュ割り当て処理351およびキャッシ
ュアクセス処理352を有する。キャッシュ割り当て処
理351は、リード/ライト処理に要するキャッシュメ
モリ37中の領域の確保を行う。キャッシュアクセス処
理352は、リード/ライト処理におけるキャッシュメ
モリ37に対するデータの書込みおよび読出しを行な
う。リード/ライト処理は以下のように行われる。リー
ド処理では、処理装置1からのリード要求をリード/ラ
イト制御部35−1が受け付け、これをリード/ライト
制御部35−2に転送する。リード/ライト制御部35
−2は転送されてきたリード要求従い記憶装置2上から
キャッシュメモリ37上にデータを格納する。格納され
たデータはリード/ライト制御部35−1によって処理
装置1に転送される。一方、ライト処理では、処理装置
1からのライト要求を受け付けたリード/ライト制御部
35−1が、処理装置1からのライトデータを一時的に
キャッシュメモリ37上に格納し、処理装置1にライト
処理の終了を報告する。格納されたライトデータは、処
理装置1からのリード/ライト要求とは非同期にリード
/ライト制御部35−2によって記憶装置2に書き込ま
れる。図2はキャッシュ管理情報383の詳細を示す図
である。キャッシュ管理情報383は、キャッシュメモ
リ37を管理するキャッシュ管理テーブル3831を有
する。キャッシュ管理テーブル3831は、キャッシュ
メモリ割り当て単位であるブロック3711毎に存在
し、キャッシュメモリ37を構成する単位メモリ371
内のブロック3711の配置順に従って、制御メモリ3
8上に並んでいる。また、キャッシュ管理テーブル38
31は、当該キャッシュ管理テーブル3831がいずれ
かの処理によりロックされているか否かを示すロック情
報を格納するロック情報領域38311、未使用/使用
中/使用禁止の3つの状態のいずれかを示す状態情報3
8312、対応するブロックアドレス38313、並び
に管理テーブルをキューによって管理するために当該キ
ュー上で1つ前方の管理テーブルを指す前方ポインタ3
8314および1つ後方の管理テーブルを指す後方ポイ
ンタ38315を有する。状態情報が未使用状態である
キャッシュ管理テーブル3831に対応するブロック上
にはデータは存在しない。未使用状態のキャッシュ管理
テーブル3831は、双方向ポインタによるキューによ
って管理されている。このキューは未使用キャッシュ管
理テーブルキューヘッダ3832によって規定される。
未使用キャッシュ管理テーブルキューヘッダ3832
は、未使用キャッシュ管理テーブルキューがいずれかの
処理によりロックされているか否かを示すロック情報を
格納するロック情報領域38321、キューの先頭のキ
ャッシュ管理テーブル3831のアドレスを格納する領
域38322、およびキューの終端のキャッシュ管理テ
ーブル3831のアドレスを格納する領域38323を
有する。このキューは、リード/ライト処理においてデ
ータをキャッシュメモリ37に書き込む際に参照され
る。状態情報が使用中状態であるキャッシュ管理テーブ
ル3831に対応するブロック上にはデータが存在す
る。使用中状態のキャッシュ管理テーブル3831は、
記憶装置2におけるアドレスと対応づけられたディスク
アドレステーブル3833に接続されており、未使用キ
ャッシュ管理テーブルキューからは外されている。ディ
スクアドレステーブル3833は、ディスクアドレステ
ーブル3833がいずれかの処理によりロックされてい
るか否かを示すロック情報を格納するロック情報領域3
8331、およびキャッシュ管理テーブル3831への
ポインタ38332を有する。上記の接続は、空いてい
るキュー前方ポインタ38314の領域を用いた、キャ
ッシュ管理テーブル3831からディスクアドレステー
ブル3833へのポインタと、ディスクアドレステーブ
ル3833上のキャッシュ管理テーブル3831へのポ
インタ38332とにより実現される。状態情報が使用
禁止状態であるキャッシュ管理テーブル3831は、キ
ャッシュメモリ37の対応するブロックの使用が禁止さ
れており、どこにも接続されていない。図3はキャッシ
ュ構成状態情報382の詳細を示す図である。キャッシ
ュ構成状態情報382は、単位メモリ毎のキャッシュメ
モリアクセスエラー回数を格納する単位メモリエラーカ
ウンタ3821、単位メモリ毎の正常/閉塞状態を表す
単位メモリ閉塞状態情報3822、単位メモリ毎のキャ
ッシュ管理テーブル上限/下限アドレス3823、単位
メモリの閉塞を実行するアクセスエラー回数を規定する
単位メモリ閉塞閾値3824を保持する。図4は閉塞処
理制御情報381の詳細を示す図である。閉塞処理制御
情報381は、キャッシュメモリ37を閉塞する際に使
用する情報であり、閉塞処理制御情報381がいずれか
の処理によりロックされているか否かを示すキャッシュ
閉塞処理ロック情報3811、キャッシュ閉塞処理の実
行状態を示すキャッシュ閉塞処理中フラグ3812、閉
塞対象単位メモリを管理するキャッシュ管理テーブル3
831の中で上限にあたるテーブルのアドレスを格納す
る閉塞単位メモリキャッシュ管理テーブル上限アドレス
3813、および下限のアドレスを格納する閉塞単位メ
モリキャッシュ管理テーブル下限アドレス3814を有
する。ここで、未使用キャッシュ管理テーブルが“双方
向”のポインタによって管理されている場合のキャッシ
ュメモリ37の閉塞処理の概要について説明する。処理
装置1からリード/ライト処理の要求がかかると、その
リード/ライト処理を実行するチャネルアダプタ31ま
たはドライブアダプタ32は、その処理の延長でキャッ
シュアクセス処理を実行する。キャッシュアクセス処理
においてキャッシュメモリ37の特定部位でのアクセス
エラーが多発すると、その部位を含む単位メモリ(以下
「閉塞対象単位メモリ」と呼ぶ)を閉塞するため、当該
チャネルアダプタ31またはドライブアダプタ32は別
のチャネルアダプタ31の閉塞制御部36のキャッシュ
閉塞処理361を起動し、自らは当該キャッシュアクセ
ス処理を終了する。起動をかけられたチャネルアダプタ
31におけるキャッシュ閉塞処理361では、まず、閉
塞対象単位メモリに属するすべてのブロックのキャッシ
ュ管理テーブル3831をアドレス順に参照し、使用中
状態または未使用状態のキャッシュ管理テーブル383
1を使用禁止状態に変更する。次に、閉塞した単位メモ
リの状態情報3822を閉塞状態に変更する。以下で
は、キャッシュメモリ37の閉塞処理の詳細について説
明する。まず、キャッシュメモリ37の閉塞処理の前提
となるキャッシュアクセス処理352について説明す
る。図5はキャッシュアクセス処理352の処理フロー
を示す図である。まず、処理装置1からのリード/ライ
ト要求に従ってリード/ライト処理を行っているチャネ
ルアダプタ31またはドライブアダプタ32が引き続き
キャッシュメモリアクセスを実行する(ステップ352
01)。その後、アクセス結果を参照し(ステップ35
202)、アクセスエラーの発生有無を確認する(ステ
ップ35203)。アクセスエラーが発生していない場
合は、何もせずキャッシュアクセス処理を終了する。ア
クセスエラーが発生している場合は、これ以降の処理を
排他的に実行するために、キャッシュ閉塞処理ロックを
取得する(ステップ35204)。ロック取得後、今ア
クセスした部位を含む単位メモリの単位メモリエラーカ
ウンタ3821をインクリメントする(ステップ352
05)。次に、単位メモリエラーカウンタ3821の値
と単位メモリ閉塞閾値3824とを比較し、さらにキャ
ッシュ閉塞処理中フラグ3812の判定を行なう(ステ
ップ35206)。単位メモリエラーカウンタの値が単
位メモリ閉塞閾値以下である、または、キャッシュ閉塞
処理中フラグがONである場合、キャッシュ閉塞処理ロ
ックを解放し(ステップ35207)、キャッシュアク
セス処理を終了する。単位メモリエラーカウンタの値が
単位メモリ閉塞閾値より大きく、かつ、キャッシュ閉塞
処理中フラグがOFFである場合、まず、キャッシュ閉
塞処理中フラグをONにする(ステップ35208)。
次に、閉塞対象単位メモリのキャッシュ管理テーブル上
限/下限アドレス3823を参照し(ステップ3520
9)、これらのアドレスを、制御メモリ38上の閉塞単
位メモリキャッシュ管理テーブル上限アドレス3813
および下限アドレス3814に設定する(ステップ35
210)。最後に、キャッシュ閉塞処理を起動する(ス
テップ35211)。キャッシュ閉塞処理の起動は、こ
れまで当該キャッシュアクセス処理を実行してきたチャ
ネルアダプタ31またはドライブアダプタ32とは別の
チャネルアダプタ31に対してかけられる。起動をかけ
た元のチャネルアダプタ31またはドライブアダプタ3
2は、その後直ちにキャッシュ閉塞処理ロックを開放
し、キャッシュアクセス処理を終了する。起動をかけら
れたチャネルアダプタ31は、起動をかけた元のチャネ
ルアダプタ31またはドライブアダプタ32とは独立に
非同期にキャッシュ閉塞処理361を行なう。図6は図
5のステップ35211に係るキャッシュ閉塞処理36
1の概要を示す図である。キャッシュ閉塞処理361
は、キャッシュ閉塞処理F1(ステップ3611)およ
びキャッシュ閉塞処理B1(ステップ3612)からな
る。キャッシュ閉塞処理F1は、閉塞対象単位メモリに
属する各ブロックを管理するキャッシュ管理テーブル3
831のすべてを制御メモリのアドレス順に参照し、使
用中/未使用状態のキャッシュ管理テーブル3831を
使用禁止状態とする処理である。この処理は、リード/
ライト処理に伴うキャッシュアクセス処理とは独立に行
われる。従って、この処理の実行中、キャッシュ構成状
態情報382へのアクセスは排他的に実行されるわけで
はなく、当該処理とは無関係の他のキャッシュアクセス
処理が並行して実行され得る。これは、当該処理が閉塞
処理制御情報381を用い、キャッシュ構成状態情報3
82を用いないで実行されることによる。キャッシュ閉
塞処理B1は、閉塞対象単位メモリに係るすべてのキャ
ッシュ管理テーブル3831が使用禁止状態になったこ
とを受け、制御メモリ38上の単位メモリ閉塞状態情報
3822に閉塞を記録する処理である。この処理は、キ
ャッシュ構成状態情報382へのアクセスを排他的に行
なう。図7はキャッシュ閉塞処理F1の処理フローを示
す図である。まず、キャッシュメモリ閉塞処理361の
起動に先立ちステップ35210において設定しておい
た、閉塞単位メモリキャッシュ管理テーブル上限アドレ
ス3813および下限アドレス3814を参照する(ス
テップ361101)。その後、現在処理しているアド
レスを表す処理中アドレスに閉塞単位メモリキャッシュ
管理テーブル下限アドレス3814を設定する(ステッ
プ361102)。処理中アドレスは制御メモリ38上
に確保された領域に格納される。次に、処理中アドレス
と閉塞単位メモリキャッシュ管理テーブル上限アドレス
3813とを比較する(ステップ361103)。処理
中アドレスが閉塞単位メモリキャッシュ管理テーブル上
限アドレスより大きい場合、キャッシュ閉塞処理F1を
終了する。処理中アドレスが閉塞単位メモリキャッシュ
管理テーブル上限アドレス以下である場合、処理中アド
レスの指すキャッシュ管理テーブル3831の状態情報
38312を参照する(ステップ361104)。キャ
ッシュ管理テーブル3831が使用中状態であった場
合、まず、これ以降の処理を排他的に実行するために、
ディスクアドレステーブル3833のロック、および、
キャッシュ管理テーブル3831のロックを取得する
(ステップ361105)。次に、キャッシュ管理テー
ブル3831をディスクアドレステーブル3833から
外し、使用禁止状態とする(ステップ361106)。
ここで、当該キャッシュ管理テーブル3831の管理す
るブロックの中のデータが記憶装置2に反映されていな
いデータであるときは、この時点で当該データをキャッ
シュメモリの正常な部分、すなわち閉塞対象外の単位メ
モリ上に書き込んでおく。そして、キャッシュ管理テー
ブル3831、および、ディスクアドレステーブル38
33のロックを解放する(ステップ361107)。キ
ャッシュ管理テーブル3831が未使用状態であった場
合、まず、これ以降の処理を排他的に実行するために、
未使用キャッシュ管理テーブルキューロックを取得する
(ステップ361108)。次に、キャッシュ管理テー
ブル3831を未使用キャッシュ管理テーブルキューか
ら外し、使用禁止状態とする(ステップ36110
9)。そして、未使用キャッシュ管理テーブルキューロ
ックを解放する(ステップ361110)。最後に、処
理中アドレスを次のキャッシュ管理テーブル3831の
アドレスに変更し(ステップ361111)、処理中ア
ドレスと閉塞単位メモリキャッシュ管理テーブル上限ア
ドレスとの比較(ステップ361103)へ戻る。処理
中アドレスが上限アドレスを越えた時点で処理を終了す
る。図8はキャッシュ閉塞処理B1(ステップ361
2)の処理フローを示す図である。まず、これ以降の処
理を排他的に実行するために、キャッシュ閉塞処理ロッ
クを取得する(ステップ36121)。次に、キャッシ
ュ閉塞処理を実行中の単位メモリに対応する単位メモリ
閉塞状態情報3822に閉塞を記録する(ステップ36
122)。そして、キャッシュ閉塞処理中フラグ381
2をOFFにする(ステップ36123)。最後に、キ
ャッシュ閉塞処理ロックを開放する(ステップ3612
4)。本実施例によれば、未使用状態のキャッシュ管理
テーブル3831が双方向ポインタによって管理されて
いる場合において、キャッシュメモリの閉塞処理を効果
的に実行することが可能な記憶制御装置を提供できる。
特に、複数のチャネルアダプタ31を設け、リード/ラ
イト処理を行なうチャネルアダプタ31とキャッシュ閉
塞処理を行なうチャネルアダプタ31とを分けることに
より、障害復旧に係るキャッシュ閉塞処理と本来の機能
提供に係るリード/ライト処理とを同時並列的に実行す
ることができる。尚、本実施例においては、閉塞制御部
36をチャネルアダプタ31上に設けたが、本発明はこ
れに限定されるものではなく、閉塞制御部36をドライ
ブアダプタ32上に設けたり、あるいはチャネルアダプ
タ31上、ドライブアダプタ32上の両方に設けたりし
てもよい。 <実施例2>次に、実施例1において、未使用状態のキ
ャッシュ管理テーブル3831が、単方向ポインタによ
るキューによって管理されている実施例について説明す
る。以降、実施例1からの変更のない部分については実
施例1と同一の符号付し、その説明を省略する。図9は
本実施例の制御構成を示す図である。この制御構成は、
図1が示す実施例1の制御構成とほぼ等しい。ただし、
制御メモリ38、リード/ライト制御部35のキャッシ
ュ割り当て処理353、および閉塞制御部36のキャッ
シュ閉塞処理362の内容が異なる。その他の部分につ
いては図1と同様である。図10はキャッシュ管理情報
383の詳細を示す図である。本実施例においては、未
使用キャッシュ管理テーブルは単方向ポインタによるキ
ューによって管理されるので、キューポインタ3834
4は各テーブルに1つずつしか設定されていない。ま
た、キューの終端に該当するテーブルには、キューの終
端であることを示すキュー終端値が設定されている。そ
の他の部分については図2と同様である。図11は本実
施例における閉塞処理制御情報381を示す図である。
実施例1における閉塞処理制御情報381との違いは、
キャッシュ管理テーブル参照閾値3815を保持してい
る点である。その他の部分については図4と同様であ
る。ここで、未使用キャッシュ管理テーブルが“単方
向”ポインタによって管理されている場合のキャッシュ
メモリ37の閉塞処理の概要について説明する。処理装
置1からリード/ライト処理の要求がかかると、そのリ
ード/ライト処理を実行するチャネルアダプタ31また
はドライブアダプタ32は、その処理の延長でキャッシ
ュアクセス処理を実行する。キャッシュアクセス処理に
ついては、図5に示される実施例1の場合と同様であ
る。キャッシュ閉塞処理では、まず、閉塞対象単位メモ
リに属するすべてのブロックのキャッシュ管理テーブル
3834をアドレス順に参照し、使用中状態のキャッシ
ュ管理テ−ブルだけを一通り使用禁止状態とする。その
後、未使用キャッシュ管理テーブルキューを先頭から参
照していき、未使用状態のキャッシュ管理テーブル38
34を使用禁止状態とする。そして、閉塞した単位メモ
リの状態情報3822を閉塞状態変更する。また、キャ
ッシュ閉塞処理実行中のキャッシュ割り当て処理353
においては、閉塞対象単位メモリに係るキャッシュ管理
テーブル3834のリード/ライト処理に対する割り当
てを禁止する。以下に、本実施例におけるキャッシュメ
モリ37の閉塞処理の詳細について説明する。キャッシ
ュアクセス処理については実施例1の場合と同様である
ので、キャッシュ閉塞処理362から説明する。図12
はキャッシュ閉塞処理362の概要処理フローを示す図
である。キャッシュ閉塞処理362は、キャッシュ閉塞
処理F2(ステップ3621)およびキャッシュ閉塞処
理B2(ステップ3622)からなる。図13はキャッ
シュ閉塞処理362のキャッシュ閉塞処理F2の処理フ
ローを示す図である。キャッシュ閉塞処理F2において
実施例1と異なる点は、ステップ36214におけるキ
ャッシュ管理テーブル3834の状態判断の結果が使用
中状態でない場合、何もせず次のキャッシュ管理テーブ
ル3834に対する処理に移る点である。キャッシュ管
理テーブル3834が未使用状態である場合は、このキ
ャッシュ管理テーブル3834は未使用キャッシュ管理
テーブルキューに接続されている。未使用状態のキャッ
シュ管理テーブル3834を使用禁止状態とするために
は、これを未使用キャッシュ管理テーブルキューから外
す必要がある。しかし、このキューは単方向ポインタに
よって構成されており、その要素である各テーブルを一
方向にしかサーチできないため、キャッシュ管理テーブ
ル3834をキューから外すには必ず当該キューの先頭
38322から順にサーチしなければならない。本発明
が対象とする記憶制御装置におけるキャッシュメモリの
場合、一般に保持すべきデータ量は大きく、1つのキャ
ッシュメモリは数千〜数万ブロックで構成される。上記
のキューを構成するキャッシュ管理テーブル3834も
上記の数と同程度の個数存在するため、キューを先頭か
らサーチし、特定のキャッシュ管理テーブル3834を
使用禁止状態とするこの処理は、キューを操作する他の
処理に比べ、キューの占有時間が極めて長くなる。そこ
で、本実施例ではまず、キュー操作を伴う未使用状態の
管理テーブルと伴わない使用中状態の管理テーブルとに
分けてそれぞれ別々に処理できるようにする。次に、未
使用状態の管理テーブルについては、使用中状態の管理
テーブルに対する処理の後に一括して、しかも間欠的に
閉塞処理を行う。具体的には、1回当たりの未使用キャ
ッシュ管理テーブルキューロックの取得時間を、キャッ
シュ管理テーブル参照閾値3815に設定した数のキャ
ッシュ管理テーブル3834を参照する時間に制限し、
処理を複数回に分けて実行する。図14はキャッシュ閉
塞処理B2の処理フローを示す図である。まず、現在処
理が行われている制御メモリ38上のアドレスを表す処
理中アドレスに初期値を代入する(ステップ36220
1)。初期値としては、キャッシュ管理テーブル384
3の格納領域外のアドレス値、例えば、キャッシュ管理
テーブル3843の格納領域が1001番地から始まるとき
は1000番地などを選んで決めておく。処理中アドレス
は、制御メモリ38上の所定の領域に格納される。次
に、処理中アドレスとキューの終端を表す定数であるキ
ュー終端値とを比較する(ステップ362202)。処
理中アドレスとキュー終端値が一致しない場合は、未使
用キャッシュ管理テーブルキューロックを取得する(ス
テップ362203)。その後、処理中アドレス初期化
処理を実行する(ステップ362204)。図15は処
理中アドレス初期化処理の処理フローを示す図である。
まず、処理中アドレスの内容を判定する(ステップ36
22041)。処理中アドレスが初期値でなく、かつ、
処理中アドレスが未使用状態のキャッシュ管理テーブル
3834である場合、何も実行しない。処理中アドレス
が初期値である、または、処理中アドレスが未使用状態
のキャッシュ管理テーブル3834でない場合、処理中
アドレスに未使用キャッシュ管理テーブルキューの先頭
キャッシュ管理テーブルアドレス38322を設定する
(ステップ3622042)。処理中アドレス初期化処
理を実行後、参照済みキャッシュ管理テーブル数をゼロ
クリアする(ステップ362205)。次に、処理中ア
ドレスとキュー終端値とを比較し、さらに、参照済みキ
ャッシュ管理テーブル数とキャッシュ管理テーブル参照
閾値3815とを比較する(ステップ362206)。
処理中アドレスとキュー終端値とが一致する、あるい
は、参照済みキャッシュ管理テーブル数が参照閾値より
大きい場合、未使用キャッシュ管理テーブルキューロッ
クを解放し(ステップ362207)、処理中アドレス
とキュー終端値の比較(ステップ362202)まで戻
る。処理中アドレスとキュー終端値とが一致せず、か
つ、参照済みキャッシュ管理テーブル数が参照閾値以下
である場合、使用禁止化処理を実行する(ステップ36
2208)。図16は使用禁止化処理の処理フローを示
す図である。まず、処理中アドレスと閉塞単位メモリキ
ャッシュ管理テーブル上限アドレス3813および下限
アドレス3814とを比較し(ステップ362208
1)、処理中アドレスが、閉塞単位メモリキャッシュ管
理テーブル下限アドレス以上であり、かつ、閉塞単位メ
モリキャッシュ管理テーブル上限アドレス以下であるか
どうかを判断する。そうでない場合、何も実行せず使用
禁止化処理を終了する。そうである場合、処理中アドレ
スの指すキャッシュ管理テーブル3834を未使用キャ
ッシュ管理テーブルキューから外し、使用禁止状態とす
る(ステップ3622082)。使用禁止化処理を実行
後、参照済みキャッシュ管理テーブル数をインクリメン
トする(ステップ362209)。最後に、処理中アド
レスをキュー上で次のキャッシュ管理テーブルアドレス
とし(ステップ362210)、処理中アドレスとキュ
ー終端値との比較、および参照済みキャッシュ管理テー
ブル数と参照閾値との比較(ステップ362206)に
戻る。処理中アドレスと未使用キャッシュ管理テーブル
キューの終端値とが一致する場合は、キャッシュ閉塞処
理ロックを取得(ステップ362211)し、閉塞処理
を実行した単位メモリの閉塞状態情報3822に閉塞を
記録(ステップ362212)して、キャッシュ閉塞処
理中フラグ3812をOFFにする(ステップ3622
13)。そして、キャッシュ閉塞処理ロックを解放(ス
テップ362214)し、キャッシュ閉塞処理B2を終
了する。次に、キャッシュ割り当て処理353について
説明する。キャッシュ割り当て処理では、キャッシュ閉
塞処理実行中、閉塞対象単位メモリに係るキャッシュ管
理テーブル3834の割り当てを禁止する。図17はキ
ャッシュ割り当て処理353の処理フローを示す図であ
る。まず、キャッシュ閉塞処理ロックを取得する(ステ
ップ35301)。そして、キャッシュ閉塞処理中フラ
グ3812を参照(ステップ35302)し、キャッシ
ュ閉塞処理中フラグ3812の内容を判定する(ステッ
プ35303)。キャッシュ閉塞処理中フラグ3812
がOFFの場合、まず、ディスクアドレステーブル38
33のロック、未使用キャッシュ管理テーブルキューロ
ックを取得する(ステップ35304)。次に、未使用
キャッシュ管理テーブルキューの先頭から必要な数だけ
キャッシュ管理テーブル3834を割り当てる(ステッ
プ35305)。そして、未使用キャッシュ管理テーブ
ルキューロック、ディスクアドレステーブル3833の
ロックを解放する(ステップ35306)。キャッシュ
閉塞処理中フラグ3812がONの場合、まず、制御メ
モリ38上にある閉塞単位メモリキャッシュ管理テーブ
ル上限アドレス3813および下限アドレス3814を
参照する(ステップ35307)。次に、ディスクアド
レステーブル3833のロック、未使用キャッシュ管理
テーブルキューロックを取得する(ステップ3530
8)。そして、未使用キャッシュ管理テーブルキューか
らキャッシュ管理テーブル3834を割り当てる際、割
り当て対象キャッシュ管理テーブルのアドレスが閉塞単
位メモリキャッシュ管理テーブル下限アドレスより小さ
いか、あるいは、閉塞単位メモリキャッシュ管理テーブ
ル上限アドレスが割り当て対象キャッシュ管理テーブル
のアドレスより小さくなるキャッシュ管理テーブル38
34を割り当てる(ステップ35309)。その後、未
使用キャッシュ管理テーブルキューロック、ディスクア
ドレステーブル3833のロックを解放する。(ステッ
プ35310)最後に、キャッシュ閉塞処理ロックを解
放(ステップ35311)し、キャッシュ割り当て処理
を終了する。本実施例によれば、未使用状態のキャッシ
ュ管理テーブル3834が、単方向ポインタによって管
理されている場合において、キャッシュメモリの閉塞処
理を効果的にに実行することが可能な記憶制御装置を提
供できる。具体的には、未使用状態のキャッシュ管理テ
ーブル3834に係るキャッシュ閉塞処理において、未
使用キャッシュ管理テーブルキューロックの取得時間に
制限を設けることにより、キャッシュ閉塞処理が長時間
当該キューを占有することがなくなり、キャッシュ閉塞
処理とリード/ライト処理とを同時並列的に実行するこ
とが可能となる。ひいては、記憶装置を中心としたシス
テム全体に関する性能低下を抑制する効果を有する。
尚、本実施例においては、キャッシュ管理テーブル参照
閾値3815を設け、未使用キャッシュ管理テーブルキ
ューロックの取得時間を、予め設定したキャッシュ管理
テーブル3834の個数で規定するようにしたが、本発
明はこれに限定されるものではなく、記憶制御装置3内
にタイマーを設け、予め当該ロック取得時間を直接時間
で設定して管理するようにしてもよい。 <実施例3>次に、実施例1において、キャッシュメモ
リ37を2重化した実施例について説明する。本実施例
におけるキャッシュメモリは、複数の単位メモリから構
成される2つのキャッシュメモリから構成される。それ
ぞれのキャッシュメモリを面と呼び、2つの面をA面、
B面と呼ぶ。キャッシュメモリは単位メモリ毎、あるい
は、面毎に閉塞が可能である。図18は本実施例の制御
構成を示す図である。この制御構成は、図1に示す実施
例1の制御構成に対して、キャッシュメモリをA面キャ
ッシュメモリ372およびB面キャッシュメモリ373
に2重化している点、制御メモリ38に2重化されたキ
ャッシュメモリそれぞれのキャッシュ管理情報としてA
面キャッシュ管理情報384およびB面キャッシュ管理
情報385を設けている点、閉塞制御部36に両面正常
時キャッシュ閉塞処理363および片面閉塞時キャッシ
ュ閉塞処理364を設けている点、並びにリード/ライ
ト制御部35のキャッシュ割り当て処理354、および
キャッシュアクセス処理355の内容が変更されている
点が異なる。その他の部分については図1と同様であ
る。閉塞制御部36は、キャッシュメモリを閉塞する手
段として、両面正常時キャッシュ閉塞処理363、およ
び片面閉塞時キャッシュ閉塞処理364を有する。本実
施例では、片面閉塞時キャッシュ閉塞処理364は実施
例1におけるキャッシュ閉塞処理361と同一内容とす
る。図19はA面キャッシュ管理情報384の詳細を示
す図である。A面、B面各キャッシュ管理情報は、図2
に示される実施例1のキャッシュ管理情報383と同一
の構造とする。リード/ライト制御部35のキャッシュ
割り当て処理355における、2重化されたキャッシュ
メモリの割り当て処理は、次のように行う。記憶装置2
に内容が反映されているデータは、A面あるいはB面の
いずれか一方に格納する。記憶装置に内容が反映されて
いないデータは、両面に格納する。図20は本実施例に
おける閉塞処理制御情報381の詳細を示す図である。
実施例1における閉塞処理制御情報381の内容に加
え、キャッシュメモリの状態(以下、「キャッシュ状
態」と言う)を表す情報として、キャッシュ状態情報3
816を設ける。キャッシュ状態は少なくとも、両面正
常状態、並びにA面およびB面のそれぞれについての片
面閉塞状態および一時的片面閉塞状態の計5状態を含
む。両面正常状態とは、A、B両面ともに利用可能な状
態である。片面閉塞状態とは、一方の面のすべての単位
メモリが閉塞状態で、かつ、他方の面が正常状態、すな
わち閉塞されていない単位メモリが存在する状態である
ような状態のことである。一時的片面閉塞状態とは、ロ
ックの取得などの排他処理を不要にするために、閉塞処
理が完了するまでの間一時的・擬制的に作られた片面閉
塞状態であり、前出の片面閉塞状態と異なり必ずしもそ
の面に含まれる単位メモリのすべてが閉塞されていると
いうわけではない。ここで、2重化されたキャッシュメ
モリの閉塞処理の概要について説明する。処理装置1か
らリード/ライト処理の要求がかかると、そのリード/
ライト処理を実行するチャネルアダプタ31またはドラ
イブアダプタ32は、その処理の延長でキャッシュアク
セス処理を実行する。キャッシュアクセス処理において
キャッシュメモリ372または373の特定部位のアク
セスエラーが多発すると、その部位を含む閉塞対象単位
メモリを閉塞するために、キャッシュ閉塞処理起動処理
3548を実行する。キャッシュ閉塞処理起動処理35
48では、キャッシュ状態を参照し、両面正常状態なら
ば、閉塞処理対象面を一時的片面閉塞とし、リード/ラ
イト処理不可とした後、両面正常時キャッシュ閉塞処理
363を起動する。片面閉塞状態ならば、片面閉塞時キ
ャッシュ閉塞処理364を起動する。また、キャッシュ
閉塞処理を実行中のキャッシュ割り当て処理において
は、閉塞処理を実行している面に係るキャッシュ管理テ
ーブル3841のリード/ライト処理に対する割り当て
を禁止する。以下では、2重化されたキャッシュメモリ
の閉塞処理の詳細について説明する。まず、キャッシュ
メモリの閉塞処理の前提となるキャッシュアクセス処理
354について説明する。図21はキャッシュアクセス
処理354の処理フローを示す図である。まず、処理装
置1からのリード/ライト要求に従ってリード/ライト
処理を行っているチャネルアダプタ31またはドライブ
アダプタ32が引き続きキャッシュメモリアクセスを実
行する(ステップ3541)。その後、アクセス結果を
参照(ステップ3542)し、アクセスエラーの発生を
確認する(ステップ3543)。アクセスエラーが発生
していない場合は、何もせずキャッシュアクセス処理を
終了する。アクセスエラーが発生している場合は、これ
以降の処理を排他的に実行するために、キャッシュ閉塞
処理ロックを取得する(ステップ3544)。ロック取
得後、今アクセスした部分を含む単位メモリの単位メモ
リエラーカウンタ3821をインクリメントする(ステ
ップ3545)。次に、単位メモリエラーカウンタ38
21の値と単位メモリ閉塞閾値3824とを比較する
(ステップ3546)。単位メモリエラーカウンタ38
21の値が単位メモリ閉塞閾値3824以下である場
合、キャッシュ閉塞処理ロックを解放し(ステップ35
47)、キャッシュアクセス処理を終了する。単位メモ
リエラーカウンタ3821の値が単位メモリ閉塞閾値3
824より大きい場合、キャッシュ閉塞処理を起動する
ための前処理であるキャッシュ閉塞処理起動処理を実行
する(ステップ3548)。キャッシュ閉塞処理起動処
理の実行後、キャッシュ閉塞処理ロックを開放し、キャ
ッシュメモリアクセス処理を終了する。図22は図21
のステップ3548のキャッシュ閉塞処理起動処理の処
理フローを示す図である。まず、キャッシュ状態情報3
816を参照し(ステップ354801)、キャッシュ
状態が両面正常状態かどうかを判定する(ステップ35
4802)。両面正常状態の場合、キャッシュ状態情報
をX面一時的片面閉塞状態に変更する(ステップ354
803)。ここで、X面とは閉塞処理対象面を指す。次
に、閉塞対象単位メモリの単位メモリキャッシュ管理テ
ーブル上限/下限アドレス3823を参照し(ステップ
354804)、これらの値を、閉塞処理制御情報38
1内の閉塞単位メモリキャッシュ管理テーブル上限アド
レス3813および下限アドレス3814に設定する
(ステップ354805)。そして、両面正常時キャッ
シュ閉塞処理363を起動する(ステップ35480
6)。両面正常時キャッシュ閉塞処理363の起動は、
これまで当該キャッシュアクセス処理およびキャッシュ
閉塞処理起動処理を実行してきたチャネルアダプタ31
またはドライブアダプタ32とは別のチャネルアダプタ
31に対してかけられる。起動をかけた元のチャネルア
ダプタ31またはドライブアダプタ32は、その後直ち
にキャッシュ閉塞処理起動処理を終了し、キャッシュア
クセス処理に戻る。そして、キャッシュ閉塞処理ロック
を開放し、キャッシュアクセス処理を終了する。起動を
かけられたチャネルアダプタ31は、起動をかけた元の
チャネルアダプタ31またはドライブアダプタ32とは
独立に非同期に両面正常時キャッシュ閉塞処理363を
行なう。一方、両面正常でない場合は、キャッシュ閉塞
処理中フラグ3812を参照し(ステップ35480
7)、キャッシュ状態およびキャッシュ閉塞処理中フラ
グの判定を実行する(ステップ354808)。キャッ
シュ状態がX’面片面閉塞状態であり、かつ、キャッシ
ュ閉塞処理中フラグがOFFの場合、キャッシュ閉塞処
理中フラグをONに設定する(ステップ354809)
ここで、X’面とは閉塞処理対象面の反対面を指す。次
に、閉塞対象単位メモリの単位メモリキャッシュ管理テ
ーブル上限/下限アドレス3823を参照し(ステップ
354810)、これらの値を、閉塞処理制御情報38
1内の閉塞単位メモリキャッシュ管理テーブル上限アド
レス3813および下限アドレス3814に設定する
(ステップ354811)。最後に、片面閉塞時キャッ
シュ閉塞処理364を起動する(ステップ35481
2)。片面正常時キャッシュ閉塞処理364の起動は、
これまで当該キャッシュアクセス処理およびキャッシュ
閉塞処理起動処理を実行してきたチャネルアダプタ31
またはドライブアダプタ32とは別のチャネルアダプタ
31に対してかけられる。起動をかけた元のチャネルア
ダプタ31またはドライブアダプタ32は、その後直ち
にキャッシュ閉塞処理起動処理を終了し、キャッシュア
クセス処理に戻る。そして、キャッシュ閉塞処理ロック
を開放し、キャッシュアクセス処理を終了する。起動を
かけられたチャネルアダプタ31は、起動をかけた元の
チャネルアダプタ31またはドライブアダプタ32とは
独立に非同期に片面正常時キャッシュ閉塞処理364を
行なう。一方、キャッシュ状態がX’面片面閉塞でな
い、あるいは、キャッシュ閉塞処理中フラグがONの場
合、キャッシュ閉塞処理起動処理を終了し、キャッシュ
アクセス処理に戻る。ここで、X’面とは閉塞処理対象
面の反対面を指す。次に、両面正常時キャッシュ閉塞処
理363の概要について説明する。この処理は、記憶装
置に内容が反映されていないデータを記憶装置に書き込
み、キャッシュ管理情報を一旦初期化した後、閉塞対象
単位メモリに係るキャッシュ管理テーブル3841を使
用禁止状態とする処理である。この処理の実行に先立
ち、閉塞処理を実行する面のキャッシュ状態を一時的片
面閉塞状態としているが、これは、処理装置1からの要
求に基づくリード/ライト処理を正常な反対面を用いて
実行するためである。したがって、両面正常時キャッシ
ュ閉塞処理363は、処理装置1からのリード/ライト
要求を意識することなく実行できる。図23は両面正常
時キャッシュ閉塞処理363の処理フローを示す図であ
る。まず、A面およびB面のすべてのディスクアドレス
テーブル3843を参照し、記憶装置2に反映されてい
ないデータを持つキャッシュ管理テーブル3841につ
いては、当該データを記憶装置2に書き込みながら、す
べてのキャッシュ管理テーブル3841をA面およびB
面それぞれの未使用キャッシュ管理テーブルキューへ開
放する(ステップ3548061)。次に、未使用キャ
ッシュ管理テーブルキューへ開放されたキャッシュ管理
テーブル3841をアドレス順に再チェイン化する(ス
テップ3548062)。再チェイン化とは、既に未使
用キャッシュ管理テーブルキューを構成しているキャッ
シュ管理テーブル3841と新たに当該キューへ解放さ
れたキャッシュ管理テーブル3841とを一律にのアド
レス順に整列し直して当該キューを再構成することであ
る。さらに、閉塞単位メモリキャッシュ管理テーブル上
限アドレス3813および下限アドレス3814を使用
して、閉塞対象となるすべての単位メモリに係るキャッ
シュ管理テーブル3841を未使用キャッシュ管理テー
ブルキューから外す(ステップ3548063)。最後
に、閉塞対象単位メモリの単位メモリ閉塞状態情報38
22に閉塞を記録し、キャッシュ状態情報3816を変
更する(ステップ3548064)。キャッシュ状態情
報は、面内のすべての単位メモリが閉塞する場合はX面
片面閉塞状態に、それ以外の場合は両面正常状態に変更
する。ここで、X面とは閉塞処理を実行した面を指す。
次に、本実施例におけるキャッシュ割り当て処理354
について説明する。2重化されたキャッシュメモリの割
り当てにおいては、キャッシュメモリの状態が正常でな
い面内のキャッシュ管理テーブル3841の割り当てを
禁止する処理を行う。図24はキャッシュ割り当て処理
354の処理フローを示す図である。まず、これ以降の
処理を排他的に実行するために、キャッシュ閉塞処理ロ
ックを取得する(ステップ35501)。次に、キャッ
シュ状態情報3816を参照し(ステップ3550
2)、キャッシュメモリの確保を実行しようとしている
面が正常かどうかを判定する(ステップ35503)。
正常でない場合、キャッシュメモリの確保を実行しよう
としている面を反対面に変更する(ステップ3550
4)。正常な場合はそのまま元の面をキャッシュメモリ
確保対象面として次のステップに進む。次に、ディスク
アドレステーブル3843のロックおよび未使用キャッ
シュ管理テーブルキューロックを取得する(ステップ3
5505)。そして、未使用キャッシュ管理テーブルキ
ューの先頭から必要な数だけキャッシュ管理テーブル3
841を割り当てる(ステップ35506)。最後に、
未使用キャッシュ管理テーブルキューロック、ディスク
アドレステーブル3843のロックを解放し(ステップ
35507)、キャッシュ閉塞処理ロックを解放して
(ステップ35508)、キャッシュ割り当て処理を終
了する。本実施例によれば、実施例1におけるキャッシ
ュメモリ37を2重化した場合に、2重化の特徴を活か
した効果的なキャッシュ閉塞処理が可能な記憶制御装置
を提供することができる。具体的には、両面正常時に障
害が発生した場合、障害を含む面全体を一時的に閉塞状
態にして閉塞処理の実行のためのロックの取得を不要に
するため、閉塞処理が他の処理の影響を受けるというこ
とがなく、処理装置1からのリード/ライト要求を意識
することなくキャッシュ閉塞処理を実行できる。このこ
とは、排他処理に伴うシステム全体の性能低下を抑える
という効果を有する。尚、本実施例では、片面閉塞時キ
ャッシュ閉塞処理364は実施例1におけるキャッシュ
閉塞処理361と同一内容としたが、本発明はこれに限
定されるものではなく、実施例2におけるキャッシュ閉
塞処理362と同一内容としてもよい。
Embodiments of the present invention will be described below with reference to the drawings.
You. <Embodiment 1> FIG. 1 is a diagram showing a system configuration of this embodiment.
is there. This information processing system includes a processing device (CPU) 1,
Storage device 2 and connection to processing device 1 and storage device 2
The storage control device 3 is configured to include the storage control device 3. Processing device 1
The storage device 2 can use a known technique.
The storage controller 3 performs processing via the channel adapter 31.
Connected to the device 1 and via the drive adapter 32
Connected to the storage device 2. Channel adapter 31 and
And the drive adapter 32 are provided in the storage controller 3 respectively.
Are provided in plurality. The storage controller 3 includes a plurality of channels.
Panel adapter 31, a plurality of drive adapters 32,
A flash memory 37 and a control memory 38 via a bus 39.
It has a connected configuration. The channel adapter 31
Channel control unit 33, read / write control unit 35-1,
It has a closing control unit 36. Read / write control unit 35-
1 is a resource from the processing device 1 via the channel control unit 33.
Accepting read / write requests, and processing unit 1 and storage system
Control of data transfer with the control device 3 is performed. Closed system
The control unit 36 is a cache for closing the cache memory 37.
It has a queue closing process 361. The drive adapter 32
Drive control unit 34 and read / write control unit 35
2 The read / write control unit 35-2 has a dry
Data input / output to / from the storage device 2 via the
And so on. The cache memory 37 transfers
The data is divided into blocks with the capacity of one data length.
You. The size of the block is determined by the storage device 2 and the cache memory.
It is unique to the moat 37. The unit memory 371 stores the block
Are grouped by collecting an appropriate number of
You. If the number of groups reaches N,
The cache memory 37 is composed of N unit memories 371.
Will be done. The cache memory 37 uses this unit memory.
It is possible to close each of the moles 371. Control memory
38 is a blockage process control information 381, a cache configuration state
Information 382 and cache management information 383
You. The read / write control units 35-1 and 35-2 are:
In any case, the cache allocation processing 351 and the cache
Access processing 352. Cache allocation processing
The processing 351 is a cache memory required for read / write processing.
An area in the memory 37 is secured. Cache access processing
The processing 352 is a cache memory in read / write processing.
Writes and reads data to and from memory 37
U. The read / write processing is performed as follows. Lee
In read processing, a read request from the processing device 1 is read /
Received by the site control unit 35-1 and read / write this
The data is transferred to the control unit 35-2. Read / write control unit 35
-2 is from the storage device 2 according to the transferred read request.
The data is stored in the cache memory 37. Stored
Data is processed by the read / write control unit 35-1.
The data is transferred to the device 1. On the other hand, in the write processing, the processing device
Read / write control unit that receives a write request from
35-1 temporarily stores the write data from the processing device 1.
Store on cache memory 37 and write to processing device 1
Reports the end of processing. The stored write data is processed.
Read asynchronously with the read / write request from the logical device 1
/ Write to storage device 2 by write control unit 35-2
It is. FIG. 2 is a diagram showing details of the cache management information 383.
It is. The cache management information 383 includes a cache memo.
A cache management table 3831 for managing the
I do. The cache management table 3831 has a cache
Exists for each block 3711 that is a memory allocation unit
And the unit memory 371 constituting the cache memory 37
Control memory 3 according to the arrangement order of the blocks 3711
8 lined up. Also, the cache management table 38
31 indicates that the cache management table 3831
Lock information indicating whether or not the lock
Information 38311 for storing information, unused / used
State information 3 indicating one of three states of medium / use prohibited
8312, corresponding block address 38313, arrangement
Key to manage the management table by queue.
Forward pointer 3 pointing to the management table one ahead on the menu
8314 and a backward point to the next management table
The center 38315. Status information is unused
On the block corresponding to the cache management table 3831
Has no data. Unused cache management
Table 3831 is based on queues with bidirectional pointers.
Is managed. This queue is an unused cache
Specified by the management table queue header 3832.
Unused cache management table queue header 3832
Indicates that the unused cache management table queue is
Lock information indicating whether or not it has been locked by processing
Lock information area 38321 to be stored, key at the top of the queue
Area for storing the address of the cache management table 3831
Area 38322 and the cache management data at the end of the queue.
Area 38323 for storing the address of the
Have. This queue is used for read / write processing.
Is referred to when writing data to the cache memory 37.
You. Cache management table whose status information is in use
Data exists on the block corresponding to the
You. The cache management table 3831 in the used state is
Disk associated with address in storage device 2
It is connected to the address table 3833,
It has been removed from the cache management table queue. Day
The disk address table 3833 stores the disk address table.
Cable 3833 is locked by any process.
Lock information area 3 for storing lock information indicating whether or not
8331 and the cache management table 3831
It has a pointer 38332. The above connection is free
Using the area of the queue forward pointer 38314
Disk address table from the
Pointer to disk 3833 and disk address table
To the cache management table 3831 on the
This is realized by the interface 38332. Use state information
The cache management table 3831 in the prohibited state is
Use of the corresponding block of the cache memory 37 is prohibited.
And is not connected anywhere. Figure 3 shows the cache
FIG. 14 is a diagram showing details of the menu configuration state information 382. Cash
The cache configuration status information 382 includes a cache memory for each unit memory.
Unit memory error count for storing the number of memory access errors
Counter 3821, indicating a normal / blocked state for each unit memory
Unit memory block status information 3822,
Cache management table upper / lower limit address 3823, unit
Stipulates the number of access errors to execute memory block
The unit memory closing threshold 3824 is held. FIG.
FIG. 7 is a diagram showing details of the logical control information 381. Blocking process control
The information 381 is used when closing the cache memory 37.
Is the information to be used, and the block processing control information 381
Cache indicating whether or not it has been locked by processing
Lock processing lock information 3811, cache close processing
Cache close processing flag 3812 indicating the row status, closed
Cache management table 3 for managing block target unit memory
Stores the address of the table that is the upper limit in 831
Block unit memory cache management table upper limit address
3813 and a blockage unit method for storing the lower limit address.
With memory cache management table lower limit address 3814
I do. Here, the unused cache management table is “Both
Cache when managed by a “pointer” pointer
An outline of the closing process of the memory 37 will be described. processing
When a request for read / write processing is received from the device 1,
Channel adapter 31 that executes read / write processing
Or, the drive adapter 32 is
Execute the access process. Cache access processing
Access at a specific part of the cache memory 37
If an error occurs frequently, the unit memory (
(Referred to as “blocked unit memory”).
Separate channel adapter 31 or drive adapter 32
Of the block controller 36 of the channel adapter 31 of FIG.
Activate the closing process 361, and make the cache access
The processing ends. Activated channel adapter
In the cache closing process 361 in FIG.
Cache of all blocks belonging to block target unit memory
Refers to the queue management table 3831 in order of address, and is in use.
State or unused state cache management table 383
Change 1 to the use prohibited state. Next, the closed unit memo
The status information 3822 is changed to the closed state. Below
Describes the details of the closing process of the cache memory 37.
I will tell. First, the premise of the closing process of the cache memory 37
Cache access processing 352 will be described.
You. FIG. 5 is a processing flow of the cache access processing 352.
FIG. First, a read / write from the processing device 1 is performed.
Channel that is performing read / write processing according to the
Adapter 31 or drive adapter 32 continues
Execute cache memory access (step 352)
01). Thereafter, the access result is referred to (step 35).
202), and confirm whether or not an access error has occurred (step 202).
35203). If no access error has occurred
In this case, the cache access process ends without doing anything. A
If an access error has occurred,
To execute exclusively, lock the cache lock process
It is acquired (step 35204). After lock acquisition,
Unit memory error error of the unit memory including the accessed part
Counter 3821 is incremented (step 352).
05). Next, the value of the unit memory error counter 3821
Is compared with the unit memory block threshold 3824, and
The determination of the flag 3812 during the cache closing process is performed (step
35206). When the value of the unit memory error counter is
Is less than or equal to the memory blockage threshold or cache blockage
If the processing in progress flag is ON, the cache closing process
(Step 35207), and the cache access is released.
The access process ends. When the value of the unit memory error counter is
Larger than the unit memory blockage threshold and cache blockage
If the processing flag is OFF, first close the cache.
The closing flag is set to ON (step 35208).
Next, on the cache management table of the block target unit memory
Referring to the limit / lower limit address 3823 (step 3520)
9), these addresses are stored in the block
Memory cache management table upper limit address 3813
And the lower limit address 3814 (step 35).
210). Finally, start the cache closing process (the
Step 35211). Start of the cache closing process
Up to this point
Different from the channel adapter 31 or the drive adapter 32
It is applied to the channel adapter 31. Launch
Original channel adapter 31 or drive adapter 3
2 releases the cache lock processing lock immediately afterwards
Then, the cache access processing ends. Fragmentation
The channel adapter 31 that has been activated is
Independent of the drive adapter 31 or drive adapter 32
The cache closing process 361 is performed asynchronously. Figure 6
Cache closing process 36 related to step 35211 of 5
FIG. Cache closing process 361
The cache closing process F1 (step 3611) and
And cache closing process B1 (step 3612).
You. The cache closing process F1 is performed in the closing target unit memory.
Cache management table 3 that manages each block to which it belongs
831 is referred to in the order of the address of the control memory and used.
In-use / unused cache management table 3831
This is a process of setting the use prohibited state. This process is a read /
This is performed independently of the cache access processing associated with the write processing.
Is Therefore, during the execution of this process, the cache configuration
Access to the state information 382 is executed exclusively.
No other cache access unrelated to the process
Processing may be performed in parallel. This means that the process is blocked
Using the processing control information 381, the cache configuration state information 3
82, without being used. Cache closed
The closing process B1 is performed for all the caches related to the closing target unit memory.
The cache management table 3831 has been disabled.
And the unit memory closed state information on the control memory 38
This is a process of recording a blockage at 3822. This process is key
Access to the cache configuration status information 382 exclusively
Now. FIG. 7 shows a processing flow of the cache closing processing F1.
FIG. First, the cache memory closing process 361 is executed.
Set in step 35210 before starting
Also, the upper limit address of the block unit memory cache management table
313 and the lower limit address 3814 (see
Step 361101). Then, the currently processed ad
Blocking unit memory cache at the address being processed indicating address
Set the management table lower limit address 3814 (step
361102). The address during processing is on the control memory 38
Is stored in the area secured. Next, the address being processed
And block unit memory cache management table upper limit address
3813 (step 361103). processing
The middle address is on the blockage unit memory cache management table
If the address is larger than the limit address, the cache closing process F1 is performed.
finish. The address being processed is the block unit memory cache
If the address is less than the management table upper limit address,
Status information of the cache management table 3831 indicated by the host
38312 (step 361104). Cap
If the cache management table 3831 is in use
First, in order to execute the subsequent processing exclusively,
Locking of the disk address table 3833, and
Acquire the lock of the cache management table 3831
(Step 361105). Next, the cache management data
Bull 3831 from disk address table 3833
It is removed and the use is prohibited (step 361106).
Here, the management of the cache management table 3831 is performed.
Data in the block is not reflected in the storage device 2.
If the data is
Normal memory, that is, unit memory
Write it on the moly. And the cache management table
Bull 3831 and disk address table 38
Release the lock of 33 (step 361107). Ki
If the cache management table 3831 is unused
First, in order to execute the subsequent processing exclusively,
Acquire unused cache management table queue lock
(Step 361108). Next, the cache management data
Is the table 3831 an unused cache management table queue?
To be in the use prohibited state (step 36110)
9). And the unused cache management table queue
The lock is released (step 361110). Finally,
The management address is stored in the next cache management table 3831.
Address (step 361111), and
Dress and block unit memory cache management table upper limit
The process returns to the comparison with the dress (step 361103). processing
Processing ends when the middle address exceeds the upper limit address
You. FIG. 8 shows the cache closing process B1 (step 361).
It is a figure which shows the process flow of 2). First,
In order to execute processing exclusively,
A lock is acquired (step 36121). Next, the cache
Unit memory corresponding to the unit memory that is executing the process block processing
The blockage is recorded in the blockage state information 3822 (step 36).
122). Then, the cache blocking processing flag 381 is displayed.
2 is turned off (step 36123). Finally,
The cache closing lock is released (step 3612)
4). According to the present embodiment, cache management in an unused state
Table 3831 is managed by a bidirectional pointer
Effective when the cache memory is closed
It is possible to provide a storage control device that can be executed in an efficient manner.
In particular, a plurality of channel adapters 31 are provided,
Channel adapter 31 and cache closed
To separate from the channel adapter 31 that performs blockage processing.
The cache closing process related to failure recovery and its original function
Simultaneously and concurrently perform read / write processing related to provision
Can be In this embodiment, the closing control unit
36 is provided on the channel adapter 31, the present invention
However, the present invention is not limited to this.
Or on the channel adapter 32
On the drive 31 and on the drive adapter 32
You may. <Embodiment 2> Next, in Embodiment 1, a key in an unused state is used.
The cache management table 3831 uses a unidirectional pointer
Describe an embodiment managed by a queue
You. Hereafter, the parts that have not been changed from the first embodiment are actually
The same reference numerals as in the first embodiment denote the same parts, and a description thereof will be omitted. Figure 9
FIG. 3 is a diagram illustrating a control configuration according to the embodiment. This control configuration
This is almost the same as the control configuration of the first embodiment shown in FIG. However,
The cache of the control memory 38 and the read / write control unit 35
Queue allocation process 353 and the cache
The contents of the shuffling process 362 are different. Other parts
This is the same as FIG. FIG. 10 shows cache management information.
FIG. 383 is a diagram showing the details of 383. In this embodiment,
The cache management table used can be
Queue pointer 3834
No. 4 is set only one for each table. Ma
The table corresponding to the end of the queue contains the end of the queue.
A queue end value indicating that it is the end is set. So
The other parts are the same as those in FIG. Figure 11 is the real
FIG. 14 is a diagram illustrating blocking processing control information 381 according to the embodiment.
The difference from the blocking processing control information 381 in the first embodiment is as follows.
Holds the cache management table reference threshold 3815
It is a point. Other parts are the same as in FIG.
You. Here, the unused cache management table is
Cache when managed by a "pointer" pointer
An outline of the closing process of the memory 37 will be described. Processing equipment
When a request for read / write processing is issued from the
Channel adapter 31 for executing read / write processing or
The drive adapter 32 is a cache
Execute the access process. For cache access processing
This is the same as in the first embodiment shown in FIG.
You. In the cache closing process, first,
Cache management tables for all blocks belonging to the
3834 by address, and the cache in use
Only the menu management table is disabled for use. That
Later, refer to the unused cache management table queue from the top.
The cache management table 38 in an unused state
34 is set to the use prohibited state. And the closed unit memo
The state information 3822 is changed to the closed state. In addition,
Cache allocation processing 353 during execution of cache closing processing
, Cache management related to block target unit memory
Assignment for read / write processing of table 3834
Prohibit. The following is a description of the cache memory in this embodiment.
The details of the closing process of the memory 37 will be described. Cash
The access process is the same as in the first embodiment.
Therefore, the cache closing process 362 will be described. FIG.
Is a diagram showing an overview processing flow of the cache closing processing 362
It is. The cache closing process 362 includes a cache closing
Process F2 (step 3621) and cache closing process
The process B2 (step 3622). FIG.
The process flow of the cache closing process F2 of the cache closing process 362
FIG. In the cache closing process F2
The difference from the first embodiment is that the key in step 36214
Uses the result of status judgment in cache management table 3834
If it is not in the middle state, do nothing and the next cache management table
This is the point that the process shifts to processing for the file 3834. Cash tube
If the management table 3834 is in an unused state, this key
The cache management table 3834 indicates unused cache management.
Connected to the table queue. Unused cache
To set the cache management table 3834 to the use prohibited state
Removes this from the unused cache management table queue.
Need to be However, this queue is
It is composed of
Cache management table because search can only be performed in the direction
To remove the file 3834 from the queue, be sure to
38322 must be searched in order. The present invention
Of the cache memory in the target storage controller
In general, the amount of data to be held is large, and
The flash memory is composed of thousands to tens of thousands of blocks. the above
The cache management table 3834 constituting the queue of
Since the number is about the same as the above number,
From the specified cache management table 3834
This process of disabling the use of the queue
The occupation time of the queue becomes extremely long as compared with the processing. There
In the present embodiment, first, an unused state with a queue operation
In use state management table without management table
Separate so that they can be processed separately. Next,
About the management table of the use state, the management of the use state
Batch and intermittent after processing the table
Perform the closing process. Specifically, the unused capacity per time
Cache management table queue lock acquisition time
Cache management table reference threshold 3815
Limit the time to refer to the cache management table 3834,
Execute the process in multiple parts. Figure 14 shows the cache closed
It is a figure showing the processing flow of blockage processing B2. First,
Representing the address on the control memory 38 where the
Substituting the initial value for the processing address (step 36220)
1). As an initial value, the cache management table 384
3, an address value outside the storage area, for example, cache management
When the storage area of table 3843 starts from address 1001
Is decided by choosing address 1000 etc. Address in process
Is stored in a predetermined area on the control memory 38. Next
Is a key that is a constant that indicates the address being processed and the end of the queue.
It is compared with the queue end value (step 362202). place
If the current address does not match the queue end value,
Acquisition of cache management table queue lock for
Step 362203). After that, address initialization during processing
The processing is executed (step 362204). FIG.
It is a figure which shows the processing flow of a process address initialization processing.
First, the contents of the address being processed are determined (step 36).
22041). The address being processed is not the initial value, and
Cache management table in which the address being processed is unused
If it is 3834, do nothing. Address in process
Is the initial value, or the address being processed is unused.
If it is not the cache management table 3834 of
Head of unused cache management table queue for address
Set cache management table address 38322
(Step 362022). Address initialization during processing
After executing the management, the number of referenced cache management tables becomes zero.
It is cleared (step 362205). Next, during processing
Address and the queue end value, and
Cache management table number and cache management table reference
The threshold value is compared with the threshold value 3815 (step 362206).
The address being processed matches the queue end value, or
Indicates that the number of referenced cache management tables is greater than the reference threshold
If it is large, the unused cache management table queue lock
Is released (step 362207), and the address being processed
And return to the comparison of the queue end value (step 362202)
You. If the address being processed does not match the queue end value,
The number of referenced cache management tables is less than or equal to the reference threshold
, A use prohibition process is executed (step 36).
2208). FIG. 16 shows a processing flow of the use prohibition processing.
FIG. First, the processing address and the block unit memory key
Cache management table upper limit address 3813 and lower limit
The address is compared with the address 3814 (step 362208).
1) If the address being processed is a closed unit memory cache
Is not less than the lower limit address of the
Is it below the upper limit address of the memory cache management table
Judge whether or not. Otherwise, do nothing and use
The prohibition processing ends. If so, the address being processed
The cache management table 3834 pointed to by the
Remove from the cache management table queue and disable use
(Step 3620222). Execute use prohibition processing
After that, the number of referenced cache management tables is incremented.
(Step 362209). Finally, the processing ad
Address of the next cache management table on the queue
(Step 362210), the address being processed and the queue
-Comparison with terminal value, and reference cache management data
To the comparison between the number of bulls and the reference threshold (step 362206).
Return. Processing address and unused cache management table
If the end value of the queue matches, the cache
Acquires the logical lock (step 362211) and performs the closing process
Is blocked in the block status information 3822 of the unit memory that executed
Recording (step 362212), and
Turn off the processing flag 3812 (step 3622)
13). Then, release the cache lock processing lock.
Step 362214) and ends the cache closing process B2.
Complete. Next, the cache allocation processing 353
explain. In the cache allocation process, the cache close
During execution of the closing process, the cache tube related to the block target unit memory
The assignment of the management table 3834 is prohibited. FIG.
FIG. 14 is a diagram showing a processing flow of cache allocation processing 353.
You. First, a cache lock processing lock is acquired (step
35301). And during the cache closing process
Referring to the log 3812 (step 35302), the cache
The content of the flag 3812 during the process closing process is determined (step
35303). Cache blocking processing flag 3812
Is OFF, first, the disk address table 38
33 locks, unused cache management table queue
A lock is obtained (step 35304). Then, unused
Only the required number from the top of the cache management table queue
Allocate cache management table 3834 (step
35305). And the unused cache management table
Queue lock, disk address table 3833
The lock is released (step 35306). cache
When the closing process flag 3812 is ON, first, the control menu
Blocked unit memory cache management table on the memory 38
The upper limit address 3813 and the lower limit address 3814
Reference is made (step 35307). Next, add the disk
Lock of unused table 3833, unused cache management
Acquire a table queue lock (step 3530)
8). And whether it is an unused cache management table queue
When assigning the cache management table 3834 from the
The address of the allocation target cache management table is closed only
Lower than the lower limit address of the memory cache management table
Squid or closed unit memory cache management table
Cache management table for which the upper limit address is assigned
Cache management table 38 smaller than the address of
34 (step 35309). After that,
Used cache management table queue lock, disk pool
The lock on the dress table 3833 is released. (Step
35351) Finally, release the cache lock processing lock.
Release (step 35311) and cache allocation processing
To end. According to this embodiment, the unused cache
The table management table 3834 is managed by a unidirectional pointer.
The cache memory blocking process
Storage control device that can effectively execute
Can be provided. Specifically, an unused cache management
In the cache closing process related to the
Use cache management table queue lock at acquisition time
By setting a limit, cache close processing can take a long time
The queue is no longer occupied, and the cache is closed
Processing and read / write processing in parallel.
It becomes possible. As a result, systems centered on storage devices
This has the effect of suppressing performance degradation for the entire system.
In this embodiment, refer to the cache management table.
A threshold value 3815 is provided, and an unused cache management table key is set.
Cache acquisition time set in advance
The number of tables 3834 was specified.
The light is not limited to this,
A timer is provided for the lock acquisition time and the
May be set and managed. <Embodiment 3> Next, in Embodiment 1, the cache memo
An embodiment in which the rib 37 is duplicated will be described. This embodiment
Cache memory is composed of multiple unit memories.
It consists of two cache memories. It
Each cache memory is called a plane, two planes are called plane A,
Called side B. Cache memory per unit memory or
Can be closed for each surface. FIG. 18 shows the control of this embodiment.
FIG. 3 is a diagram illustrating a configuration. This control configuration is similar to that of the embodiment shown in FIG.
For the control configuration of Example 1, the cache memory is
Flash memory 372 and B-side cache memory 373
That the control memory 38 has a double key.
A as cache management information of each cache memory
Side cache management information 384 and B side cache management
The information 385 is provided, and both sides are normal in the closing control unit 36.
-Time cache closing process 363 and single-sided closing cache
The point that the program closing process 364 is provided, and the read / write
Cache allocation processing 354 of the
The contents of the cache access processing 355 have been changed
The points are different. Other parts are the same as in FIG.
You. The closing control unit 36 is configured to close the cache memory.
As the stages, the double-sided normal state cache closing process 363 and
And a one-side closed cache closing process 364. Real truth
In the embodiment, the cache closing process 364 when the one side is closed is performed.
The contents are the same as the cache closing process 361 in Example 1.
You. FIG. 19 shows the details of the A-side cache management information 384.
FIG. The cache management information for the A side and the B side is shown in FIG.
Same as the cache management information 383 of the first embodiment shown in FIG.
Structure. Cache of read / write control unit 35
Duplicated cache in allocation process 355
The memory allocation processing is performed as follows. Storage device 2
The data whose contents are reflected in the
Store in either one. The contents are reflected in the storage device
Missing data is stored on both sides. FIG. 20 illustrates this embodiment.
FIG. 8 is a diagram showing details of blockage processing control information 381 in FIG.
In addition to the contents of the block processing control information 381 in the first embodiment,
The status of the cache memory (hereinafter referred to as "cache
State)), the cache state information 3
816 are provided. Cache status is at least double-sided
Normal state, and pieces for each of A side and B side
Including 5 states of surface closed state and temporary single side closed state
No. Both sides normal state means that both A and B sides can be used
It is a state. One-sided closed state means all units on one side
If the memory is closed and the other side is normal,
In other words, there is a unit memory that is not blocked.
It is such a state. A temporary one-sided occlusion condition is
Lock processing to eliminate the need for exclusive processing such as
One side closed temporarily and fakely until the process is completed
It is in the closed state, unlike the one-sided closed state
If all of the unit memories included in the
That is not to say. Here, the duplicated cache
The outline of the memory blockage processing will be described. Processing unit 1
When a request for read / write processing is issued from the
Channel adapter 31 or driver
The Eve adapter 32 has a cache access
Perform access processing. In cache access processing
Access to a specific part of the cache memory 372 or 373
If access errors occur frequently, the block target unit that includes the site
To close the memory, start the cache closing process
Execute 3548. Cache closing process activation process 35
At 48, the cache status is referred to, and if both sides are normal,
If the surface to be closed is temporarily closed on one side,
Cache processing when both sides are normal after disabling write processing
363 is started. If one side is closed,
The cache closing process 364 is started. Also cache
In the cache allocation process during the closing process
Is the cache management table related to the
Allocation for read / write processing of cable 3841
Ban. Below, the duplicated cache memory
Will be described in detail. First, the cache
Cache access processing that is a prerequisite for memory block processing
354 will be described. Figure 21 shows cache access
It is a figure showing the processing flow of processing 354. First, the processing equipment
Read / write according to read / write request from device 1
Channel adapter 31 or drive that is processing
Adapter 32 continues to perform cache memory access.
(Step 3541). Then, access results
Refer to (step 3542) and check for the occurrence of an access error.
Confirm (step 3543). Access error occurred
If not, do nothing and perform cache access processing.
finish. If an access error has occurred,
Cache blockage to execute the subsequent processing exclusively
A processing lock is acquired (step 3544). Lock take
After the acquisition, the unit memo of the unit memory including the part that has just been accessed
The re-error counter 3821 is incremented (step
3545). Next, the unit memory error counter 38
21 is compared with the unit memory blockage threshold 3824
(Step 3546). Unit memory error counter 38
21 is less than the unit memory blockage threshold 3824
In this case, the cache lock processing lock is released (step 35).
47), terminate the cache access process. Unit memo
The value of the re-error counter 3821 is the unit memory blockage threshold 3
If the value is larger than 824, the cache closing process is started.
To execute the cache closing process start process which is the pre-process for
(Step 3548). Cache shutdown processing start processing
After executing the management, the cache lock processing lock is released and the cache
The cache memory access processing ends. FIG. 22 shows FIG.
Of the cache closing process starting process in step 3548
It is a figure which shows a management flow. First, the cache state information 3
816 (step 354801) and cache
It is determined whether the state is a normal state on both sides (step 35).
4802). If both sides are normal, cache status information
Is changed to the X-side temporary one-side closed state (step 354).
803). Here, the X surface indicates a surface to be closed. Next
In addition, the unit memory cache management
Cable upper / lower limit address 3823 (step
354804), these values are stored in the closing process control information 38.
Blocked unit memory cache management table upper limit address within 1
Address 3813 and lower limit address 3814
(Step 354805). Then, when both sides are normal
The shuffling process 363 is started (step 35480).
6). Activation of the cache closing process 363 when both sides are normal is as follows.
The cache access processing and cache
Channel adapter 31 that has executed the shutdown processing activation processing
Or a channel adapter different from the drive adapter 32
It is applied to 31. The original channel
The adapter 31 or the drive adapter 32 is
Finishes the cache closing process activation process
Return to access processing. And cache lock processing lock
Is released, and the cache access processing ends. Start up
The activated channel adapter 31 is the original
What is channel adapter 31 or drive adapter 32
Independently and asynchronously, the cache closing process 363 when both sides are normal
Do. On the other hand, if both sides are not normal, the cache is closed
Referring to the processing flag 3812 (step 35480)
7) The status of the cache and the cache closing process
In step 354808, a judgment is made. Cap
Is in the X'-plane one-side closed state and the cache
If the cache shutdown processing flag is OFF, the cache shutdown processing
The processing flag is set to ON (step 354809).
Here, the X ′ plane indicates the opposite side of the surface to be closed. Next
In addition, the unit memory cache management
Cable upper / lower limit address 3823 (step
354810), these values are stored in the closing process control information 38.
Blocked unit memory cache management table upper limit address within 1
Address 3813 and lower limit address 3814
(Step 354811). Finally, when the one-sided
The shuffling process 364 is started (step 35481)
2). The activation of the one-sided normal time cache closing process 364 is as follows.
The cache access processing and cache
Channel adapter 31 that has executed the shutdown processing activation processing
Or a channel adapter different from the drive adapter 32
It is applied to 31. The original channel
The adapter 31 or the drive adapter 32 is
Finishes the cache closing process activation process
Return to access processing. And cache lock processing lock
Is released, and the cache access processing ends. Start up
The activated channel adapter 31 is the original
What is channel adapter 31 or drive adapter 32
One-sided normal-time cache closing process 364 is performed independently and asynchronously.
Do. On the other hand, if the cache state is X 'plane
Or if the cache closing flag is ON.
If the cache closing process activation process ends,
Return to access processing. Here, the X 'plane is the target of the block processing.
Refers to the opposite side of the surface. Next, the cache closing process when both sides are normal
An outline of the process 363 will be described. This processing is
Writes data whose contents are not reflected in the storage device to the storage device
After initializing cache management information,
The cache management table 3841 related to the unit memory is used.
This is a process of setting the use prohibition state. Prior to performing this processing
In other words, the cache status of the side that executes the
Although the surface is in the closed state, it is necessary to
-Based read / write processing using normal opposite surface
To run. Therefore, the two-sided normal cache
The blockage processing 363 is a read / write operation from the processing apparatus 1.
It can be executed without being aware of the request. Fig. 23 shows both sides normal
Is a diagram showing a processing flow of a time cache closing process 363.
You. First, all the disk addresses on sides A and B
Referring to the table 3843, the data is reflected in the storage device 2.
Cache management table 3841 that has no data
While writing the data to the storage device 2,
All the cache management tables 3841 are stored in the A side and the B side.
Open to each unused cache management table queue
Release (step 3548061). Next, unused
Cache management released to the cache management table queue
The table 3841 is re-chained in the order of addresses (s
Step 3548062). Re-chaining means that
Cache management table queue
Cache management table 3841 and newly released to the queue.
Cache management table 3841
Re-arranging the queue and re-arranging the queue.
You. Furthermore, on the block unit memory cache management table
Use the lower limit address 3813 and the lower limit address 3814
Then, the caches related to all unit memories to be blocked
Cache management table 3841 to the unused cache management table.
It is removed from the bull queue (step 3548063). last
The unit memory block status information 38 of the block target block unit memory
22 is recorded and the cache status information 3816 is changed.
(Step 3548064). Cache status information
The report is X-plane if all unit memories in the plane are closed
Change to single-sided closed state, otherwise change to double-sided normal state
I do. Here, the X plane refers to the plane on which the closing process has been performed.
Next, the cache allocation processing 354 in the present embodiment.
Will be described. Ratio of duplicated cache memory
During the allocation, the cache memory status is not normal.
Allocation of the cache management table 3841
Perform prohibition processing. FIG. 24 shows cache allocation processing.
FIG. 354 is a diagram showing a processing flow of 354. First,
In order to execute processing exclusively,
A lock is acquired (step 35501). Next,
With reference to the cache state information 3816 (step 3550)
2) Trying to secure cache memory
It is determined whether the surface is normal (step 35503).
If not, try to allocate cache memory
Is changed to the opposite surface (step 3550)
4). If normal, cache memory with original side
Proceed to the next step as a surface to be secured. Then the disk
Lock and unused cache of address table 3843
Acquire the management table queue lock (Step 3
5505). And the unused cache management table key
Cache management table 3 as many as necessary from the top of the queue
841 is assigned (step 35506). Finally,
Unused cache management table queue lock, disk
Release the lock of the address table 3843 (step
35507), release the cache lock processing lock
(Step 35508), end the cache allocation process
Complete. According to the present embodiment, the cache in the first embodiment is used.
When the memory 37 is duplicated, take advantage of the feature of duplication.
Storage controller capable of effective cache blocking processing
Can be provided. Specifically, when both sides are normal,
In case of harm, the entire surface including the obstacle is temporarily closed.
State to eliminate lock acquisition for execution of shutdown processing
Therefore, the blocking process is affected by other processes.
Conscious of read / write requests from the processing device 1
The cache closing process can be executed without performing. this child
Is to suppress the performance degradation of the entire system due to exclusive processing
It has the effect of. Note that, in this embodiment, the
The cache closing process 364 is the cache in the first embodiment.
Although the contents are the same as the closing processing 361, the present invention is not limited to this.
Is not specified, and the cache is closed in the second embodiment.
The content may be the same as the closing process 362.

【発明の効果】本発明によれば、キャッシュメモリを構
成要素である単位メモリ毎に閉塞することができるの
で、局所的な障害に対してキャッシュメモリを有効に利
用することができる。また、閉塞処理中、記憶制御装置
の制御情報を排他するため、中央処理装置からのリード
/ライト要求を受け付けることができる。
According to the present invention, the cache memory can be closed for each unit memory as a constituent element, so that the cache memory can be effectively used for a local failure. In addition, since the control information of the storage control device is excluded during the closing process, a read / write request from the central processing unit can be accepted.

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

【図1】本発明の実施例1のシステム構成を示す図であ
る。
FIG. 1 is a diagram illustrating a system configuration according to a first embodiment of the present invention.

【図2】実施例1のキャッシュ管理情報の詳細な内容を
示す図である。
FIG. 2 is a diagram illustrating detailed contents of cache management information according to the first embodiment.

【図3】実施例1のキャッシュ構成状態情報の詳細な内
容を示す図である。
FIG. 3 is a diagram illustrating detailed contents of cache configuration state information according to the first embodiment.

【図4】実施例1の閉塞処理制御情報の詳細な内容を示
す図である。
FIG. 4 is a diagram illustrating detailed contents of block processing control information according to the first embodiment.

【図5】実施例1のキャッシュアクセス処理を示すフロ
ーチャートである。
FIG. 5 is a flowchart illustrating a cache access process according to the first embodiment.

【図6】実施例1のキャッシュ閉塞処理の概要を示すフ
ローチャートである。
FIG. 6 is a flowchart illustrating an outline of a cache closing process according to the first embodiment.

【図7】実施例1のキャッシュ閉塞処理の前半処理を示
すフローチャートである。
FIG. 7 is a flowchart illustrating a first half of a cache closing process according to the first embodiment;

【図8】実施例1のキャッシュ閉塞処理の後半処理を示
すフローチャートである。
FIG. 8 is a flowchart illustrating the latter half of the cache closing process according to the first embodiment.

【図9】本発明の実施例2のシステム構成を示す図であ
る。
FIG. 9 is a diagram illustrating a system configuration according to a second embodiment of the present invention.

【図10】実施例2のキャッシュ管理情報の詳細を示す
図である。
FIG. 10 is a diagram illustrating details of cache management information according to the second embodiment.

【図11】実施例2の閉塞処理制御情報の詳細な内容を
示す図である。
FIG. 11 is a diagram illustrating detailed contents of block processing control information according to the second embodiment.

【図12】実施例2のキャッシュ閉塞処理の概要を示す
フローチャートである。
FIG. 12 is a flowchart illustrating an outline of a cache closing process according to the second embodiment.

【図13】実施例2のキャッシュ閉塞処理の前半処理を
示すフローチャートである。
FIG. 13 is a flowchart illustrating the first half of the cache closing process according to the second embodiment.

【図14】実施例2のキャッシュ閉塞処理の後半処理を
示すフローチャートである。
FIG. 14 is a flowchart illustrating the latter half of the cache closing process according to the second embodiment.

【図15】実施例2のキャッシュ閉塞処理の後半処理の
一部を示すフローチャートである。
FIG. 15 is a flowchart illustrating a part of the latter half of the cache closing process according to the second embodiment.

【図16】実施例2のキャッシュ閉塞処理の後半処理の
一部を示すフローチャートである。
FIG. 16 is a flowchart illustrating a part of the latter half of the cache closing process according to the second embodiment.

【図17】実施例2のキャッシュ割り当て処理を示すフ
ローチャートである。
FIG. 17 is a flowchart illustrating cache allocation processing according to the second embodiment.

【図18】本発明の実施例3のシステム構成を示す図で
ある。
FIG. 18 is a diagram illustrating a system configuration according to a third embodiment of the present invention.

【図19】実施例3のキャッシュ管理情報の詳細な内容
を示す図である。
FIG. 19 is a diagram illustrating detailed contents of cache management information according to the third embodiment.

【図20】実施例3の閉塞処理制御情報の詳細な内容を
示す図である。
FIG. 20 is a diagram illustrating detailed contents of block processing control information according to the third embodiment.

【図21】実施例3のキャッシュアクセス処理を示すフ
ローチャートである。
FIG. 21 is a flowchart illustrating a cache access process according to the third embodiment.

【図22】実施例3のキャッシュ閉塞処理起動処理を示
すフローチャートである。
FIG. 22 is a flowchart illustrating a cache closing process activation process according to the third embodiment.

【図23】実施例3の両面正常時キャッシュ閉塞処理を
示すフローチャートである。
FIG. 23 is a flowchart illustrating a normal both-side cache blocking process according to the third embodiment.

【図24】実施例3のキャッシュ割り当て処理を示すフ
ローチャートである。
FIG. 24 is a flowchart illustrating cache allocation processing according to the third embodiment.

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

1 処理装置 2 記憶装置 3 記憶制御装置 35 リード/ライト制御部 351 キャッシュ割り当て処理 352 キャッシュアクセス処理 36 閉塞処理部 361 キャッシュ閉塞処理 37 キャッシュメモリ 371 単位メモリ 38 制御メモリ 381 閉塞処理制御情報 382 キャッシュ構成状態情報 383 キャッシュ管理情報 3831 キャッシュ管理テーブル DESCRIPTION OF SYMBOLS 1 Processing device 2 Storage device 3 Storage control device 35 Read / write control unit 351 Cache allocation process 352 Cache access process 36 Blocking processing unit 361 Cache blocking process 37 Cache memory 371 Unit memory 38 Control memory 381 Blocking process control information 382 Cache configuration status Information 383 Cache management information 3831 Cache management table

───────────────────────────────────────────────────── フロントページの続き (72)発明者 一ノ宮 弘 東京都小平市上水本町5丁目22番1号 株式会社日立マイコンシステム内 (72)発明者 山本 彰 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所 システム開発研究 所内 (56)参考文献 特開 平5−12122(JP,A) 特開 平3−164844(JP,A) 特開 平4−44141(JP,A) 特開 平6−180671(JP,A) 特開 平8−221326(JP,A) 特開 平7−20994(JP,A) 特開 平6−35802(JP,A) 特開 昭64−7143(JP,A) 特開 昭62−182853(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12 G06F 3/06 - 3/08 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Hiroshi Ichinomiya 5-22-1, Josuihoncho, Kodaira-shi, Tokyo Inside Hitachi Microcomputer Systems Co., Ltd. (72) Inventor Akira Yamamoto 1099 Ozenji, Aso-ku, Aso-ku, Kawasaki City, Kanagawa Stock (56) References JP-A-5-12122 (JP, A) JP-A-3-164844 (JP, A) JP-A-4-44141 (JP, A) JP-A-6-164 180671 (JP, A) JP-A-8-221326 (JP, A) JP-A-7-20994 (JP, A) JP-A-6-35802 (JP, A) JP-A-64-7143 (JP, A) JP-A-62-182853 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) G06F 12/08-12/12 G06F 3/06-3/08

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】処理装置及び記憶装置との間に接続され、
前記処理装置及び前記記憶装置との間のデータ転送を制
御する記憶制御装置において、 前記処理装置と接続される第一及び第二のチャネルコン
トローラと、 複数の単位メモリを有するキャッシュメモリと、 前記キャッシュメモリ内の前記単位メモリのアドレスを
管理する制御情報を格納する第一の記憶領域及び前記キ
ャッシュメモリ内の前記単位メモリのアドレスの情報を
格納する第二の記憶領域とを有する制御メモリとを有
し、 前記第一のチャネルコントローラは、 所定の条件を満たす前記キャッシュメモリ内の第一の単
位メモリのアドレスの情報を前記第一の記憶領域から前
記第二の記憶領域に複写する手段を有し、 前記第二のチャネルコントローラは、 前記第二の記憶領域に格納された前記第一の単位メモリ
のアドレスの情報を用いて前記第一の単位メモリの閉塞
処理を行う閉塞処理手段を有することを特徴とする記憶
制御装置。
1. A storage device connected between a processing device and a storage device.
A storage control device that controls data transfer between the processing device and the storage device; a first and a second channel controller connected to the processing device; a cache memory having a plurality of unit memories; A control memory having a first storage area for storing control information for managing the address of the unit memory in the memory and a second storage area for storing information of the address of the unit memory in the cache memory; The first channel controller has means for copying address information of a first unit memory in the cache memory satisfying a predetermined condition from the first storage area to the second storage area. The second channel controller uses information on an address of the first unit memory stored in the second storage area. And a closing processing means for performing closing processing of the first unit memory.
【請求項2】前記所定の条件とは、前記処理装置の前記
第一の単位メモリへのアクセスが失敗した回数が所定の
閾値を超えたという条件であることを特徴とする請求項
1に記載の記憶制御装置。
2. The apparatus according to claim 1, wherein the predetermined condition is a condition that the number of times that the processing device has failed to access the first unit memory exceeds a predetermined threshold. Storage controller.
【請求項3】前記制御メモリは、 前記複数の単位メモリに含まれるブロックのうち、前記
処理装置が使用していないブロックに関する情報を格納
する第三の記憶領域と、 前記複数の単位メモリに含まれるブロックのうち、前記
処理装置が使用しているブロックに関する情報を格納す
る第四の記憶領域とを有し、 前記閉塞処理手段は、 前記第一の単位メモリに含まれるブロックに関する情報
が前記第三の記憶領域及び前記第四の記憶領域に格納さ
れているか否かを判定する判定手段と、 前記判定手段において前記第一の単位メモリに含まれる
ブロックに関する情報が前記第三の記憶領域又は前記第
四の記憶領域に格納されていると判断された場合、前記
第一の単位メモリに含まれるブロックに関する情報を前
記第三の記憶領域又は前記第四の記憶領域から削除する
削除手段とを有することを特徴とする請求項2記載の記
憶制御装置。
3. The control memory includes: a third storage area for storing information regarding blocks not used by the processing device among blocks included in the plurality of unit memories; and a control memory included in the plurality of unit memories . And a fourth storage area for storing information on blocks used by the processing device among the blocks to be processed, wherein the closing processing means stores information on the blocks included in the first unit memory in the fourth unit. determination means for determining whether stored in a third storage area and said fourth storage area, included in the first unit memory in said determination means
When it is determined that the information regarding the block is stored in the third storage area or the fourth storage area, the information regarding the block included in the first unit memory is stored in the third storage area or the fourth storage area. 3. The storage control device according to claim 2, further comprising a deletion unit that deletes from the four storage areas.
【請求項4】前記閉塞処理手段は、 前記削除手段を実行する前に、前記第一の単位メモリに
記憶されているデータを前記複数の単位メモリのうちの
第二の単位メモリに複写する手段を有することを特徴と
する請求項3記載の記憶制御装置。
4. The system according to claim 1, wherein the block processing unit copies the data stored in the first unit memory to a second unit memory of the plurality of unit memories before executing the deleting unit. The storage control device according to claim 3, comprising:
【請求項5】処理装置及び記憶装置との間に接続され、
前記処理装置及び前記記憶装置との間のデータ転送を制
御する記憶制御装置における該記憶制御装置が有するキ
ャッシュメモリを閉塞する閉塞処理の方法であって、 該記憶制御装置が有する第一のチャネルコントローラ
が、 前記キャッシュメモリが有する単位メモリが使用不可能
であることを判断して前記単位メモリのアドレス情報を
制御メモリに格納し、 該記憶制御装置が有する第二のチャネルコントローラが
前記制御メモリに格納されたアドレス情報に基づいて閉
塞すべき前記単位メモリを特定し、 前記特定された単位メモリを前記処理装置が使用できな
いようにすることを特徴とするキャッシュメモリの閉塞
処理の方法。
5. A device connected between the processing device and the storage device,
What is claimed is: 1. A closing control method for closing a cache memory of a storage control device in a storage control device that controls data transfer between the processing device and the storage device, comprising: a first channel controller included in the storage control device. Determines that the unit memory of the cache memory is unusable, stores the address information of the unit memory in the control memory, and stores the address information of the unit memory in the control memory by the second channel controller of the storage controller. A method of blocking processing of a cache memory, wherein the unit memory to be blocked is specified based on the specified address information, and the specified unit memory is made unusable by the processing device.
JP19285295A 1995-07-28 1995-07-28 Storage controller Expired - Fee Related JP3235418B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19285295A JP3235418B2 (en) 1995-07-28 1995-07-28 Storage controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19285295A JP3235418B2 (en) 1995-07-28 1995-07-28 Storage controller

Publications (2)

Publication Number Publication Date
JPH0944406A JPH0944406A (en) 1997-02-14
JP3235418B2 true JP3235418B2 (en) 2001-12-04

Family

ID=16298049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19285295A Expired - Fee Related JP3235418B2 (en) 1995-07-28 1995-07-28 Storage controller

Country Status (1)

Country Link
JP (1) JP3235418B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529997B2 (en) * 2005-03-14 2009-05-05 International Business Machines Corporation Method for self-correcting cache using line delete, data logging, and fuse repair correction

Also Published As

Publication number Publication date
JPH0944406A (en) 1997-02-14

Similar Documents

Publication Publication Date Title
US6363385B1 (en) Method and apparatus for making independent data copies in a data processing system
USRE37601E1 (en) Method and system for incremental time zero backup copying of data
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
US8266365B2 (en) Ruggedized memory device
JP2557172B2 (en) Method and system for secondary file status polling in a time zero backup copy process
US7085899B2 (en) System and method of an efficient snapshot for shared large storage
EP0566968A2 (en) Method and system for concurrent access during backup copying of data
KR100233178B1 (en) Method and system for updating mass storage device configuration records
JPS6212547B2 (en)
JP2005011317A (en) Method and device for initializing storage system
JP2012128643A (en) Memory system
EP0493012B1 (en) Control system for cache storage unit
CA2071346A1 (en) Method and means for time zero backup copy of data
JP2007004788A (en) Method and system for providing interleaved backup
CN109196473B (en) Cache management method, cache manager, shared cache and terminal
JPH0737290A (en) Method and equipment for maintaining data matching property of magneto-optical disk
JPH07210439A (en) Storage device
JP3235418B2 (en) Storage controller
JPH0115903B2 (en)
JP2000293391A (en) Method and device for large-scale memory system management
JP4040797B2 (en) Disk control device and recording medium
JP2001290713A (en) Storage device system and method for acquiring its backup
JPH0484215A (en) Data dual writing method for disk controller
JPS58175064A (en) Processing system of multiplex volume
JPH08263389A (en) Data backup method

Legal Events

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

Free format text: PAYMENT UNTIL: 20070928

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080928

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080928

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090928

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090928

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100928

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100928

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110928

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120928

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120928

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130928

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees