JPH03164844A - キャッシュ付ディスク制御装置の障害処理方法 - Google Patents
キャッシュ付ディスク制御装置の障害処理方法Info
- Publication number
- JPH03164844A JPH03164844A JP1303967A JP30396789A JPH03164844A JP H03164844 A JPH03164844 A JP H03164844A JP 1303967 A JP1303967 A JP 1303967A JP 30396789 A JP30396789 A JP 30396789A JP H03164844 A JPH03164844 A JP H03164844A
- Authority
- JP
- Japan
- Prior art keywords
- track
- cache
- memory
- disk
- unreflected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title description 2
- 230000015654 memory Effects 0.000 claims abstract description 217
- 238000000034 method Methods 0.000 claims description 64
- 230000004044 response Effects 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 37
- 230000008569 process Effects 0.000 description 32
- 238000011084 recovery Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 21
- 238000012552 review Methods 0.000 description 12
- 238000012546 transfer Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 101000634404 Datura stramonium Tropinone reductase 1 Proteins 0.000 description 1
- 101000848007 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) Thioredoxin-1 Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/312—In storage controller
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
め要約のデータは記録されません。
Description
害処理方法に係り、特に、ホストコンピュータのディス
クに対する書き込みデータをキャッシュ内に一時保留し
、ホストコンピュータのディスクに対する書き込み動作
とは非同期にキャッシュからディスクに対して、纏め書
き動作を行うディスク制御装置のキャッシュ障害処理方
法に関するものである。
データが1ボリユームに格納される。そのために、lボ
リュームlit位時間当たりのアクセス回数が増大し、
かつ、アクセスがlボリュームに集中する傾向も強くな
る。
り、CPUの動作時間や主記憶装置のアクセス時間(数
百ns)に比べて大きなギャップがあり、システムとし
ての処理効率を低下させる原因となっていた。
めに磁気ディスク制御装置内に半導体メモリ(以下キャ
ッシュメモリと記載)を置き、アクセス頻度の高いデー
タだけを大容量の補助記憶装置から取り出し、キャッシ
ュメモリ上に格納し、このキャッシュメモリ上のデータ
にアクセスして処理を実行することにより、システムの
実行性能を高めるものである。
保持しておき、それがアクセスされた場合には、ディス
クの物理トラックまでアクセスに行かずに、キャッシュ
メモリJ−からデータを読み出すことにより、データの
アクセス速度の向上を図っている。この結果、プログラ
ムやデータを何ら修正せずに、システムの応答時間とス
ループットを向上することが出来る。
ュメモリの障害発生を検出する機能を有している。
モリの障害が発生した場合には、特開昭60−7944
7号公報に記載のように、キャッシュ障害を検知すると
、キャッシュメモリ全体を切り離し、キャッシュメモリ
1ユに格納されていたデータは、全て捨てていた。
処理方法は、キャッシュメモリ上にディスクドライブと
同一のデータを格納しておき、リード動作時のみに利用
するシステムの場合には、有効である。
するシステムにおいては、利用することは出来なかった
。
ディスクドライブには書き込まず、−時、キャッシュメ
モリ上に書き込み、ディスクドライブのデータとは一致
しない未反映トラックとして保留しておき、ホストコン
ピュータの書き込み動作と非同期にキャッシュメモリか
らディスクドライブに対して、この未反映トラックのデ
ータを纏め書きするような動作を持つキャッシュ付きデ
ィスク制御装置では、データの保全上、キャッシュ上の
データを捨てることは出来ない。
ッシュメモリで行うディスク制御装置では、データの保
全上、未反映トラックをドライブへ非同期に書き込む場
合には、キャッシュメ千りのバツクアップメモリを用意
して、キャッシュ上の未反映トラックデータを2重化し
ている。
ックアップメモリから、その逆の場合には、キャッシュ
メモリから1重化となった未反映トラックをディスクド
ライブに書き込むことを行う。
ライブを占有して行う必要がある。
未反映トラックを、ディスクドライブの物理トラックへ
書き込むまでディスクドライブを占有することを行うと
、上位システムからのディスクドライブに対するリード
/ライト要求がディスクドライブのロック待ちのために
、長時間実行不能となり、ディスクサブシステムの可用
性向上の観点から問題であった。
ッシュの障害時にディスクドライブを占有することなく
、キャッシュ上の未反映データのディスクドライブへの
占き込みを可能とし、システムの信頼性と可用性を向上
させるキャッシュ付きディスク制御装置およびその障害
処理方法を提供することである。
スク制御装置およびその障害処理方法は、(1)キャッ
シュ付きディスク制御装置の障害処理方法において、キ
ャッシュメモリ、もしくは、バックアップメモリのいず
れか一方のメモリに、リード/ライト動作が不可能な障
害があることを検知するメモリ障害検知のステップと、
キャッシュメモリとバックアップメモリのトラック上の
データがディスクドライブの当該物理トラック上に未だ
書き込まれておらず、このディスクドライブのトラック
がキャッシュメモリとバックアップメモリのトラックと
同一内容でない未反映トラックであるか否かを判定する
未反映トラック判定のステップを含み、ホストコンピュ
ータからディスクドライブのトラックを対象としたリー
ド/ライト命令が入力された時に、障害検知ステップで
、キャッシュメモリ、もしくは、バックアップメモリの
いずれか一方の障害を検知した場合、未反映トラックを
判定するステップで、対象トラックの内容が未反映トラ
ックであると判定した時には、キャッシュメモリとバッ
クアップメモリの正常な方のメモリに存在するトラック
を、ディスクドライブの当該物理トラックに書き込み、
このディスクドライブへの書き込み動作の終了後に、ホ
ストコンピュータからのリード/ライト命令を、書き込
み動作を終了したディスクドライブの当該物理トラック
に対して実行することを特徴とする。
制御装置の障害処理方法において、障害を検知するステ
ップで、キャッシュメモリ、もしくは、バックアップメ
モリの一方がリード/ライト不可能であることを検知し
た場合には、ホストコンピュータからのリード/ライト
命令の入力に関わらず、未反映トラックを判定するステ
ップで、キャッシュメモリとバックアップメモリのトラ
ックがディスクドライブのトラックと異なると判定した
未反映トラックを、ディスクドライブへ書き込むことを
特徴とする。
ルJ御装置の障害処理方法において、ホストコンピュー
タからのリード/ライト命令の対象となった正常なメモ
リ上の未反映トラックを、■トラック単位で複数分ロッ
グするトラックロックのステップと、該未反映トラック
を書き込むディスクドライブを、ディスクドライブ単位
でロックするドライブロックのステップを含み、上記(
1)および上記(2)に記載の未反映トラックを検出し
てディスクドライブへ書き込む動作の開始から完了まで
の期間、この動作の対象となるトラックのロック、およ
び、ディスクドライブのロックをトラックロックのステ
ップとドライブロックのステップを行なうことにより確
保し、このディスクドライブへのさき込み動作完了後に
トラックとディスクドライブのロックを開放することを
特徴とする。
ュ付ディスク制御装置の障害処理方法において、未反映
トラックを検出してディスクドライブへ書き込む動作を
制御するl[a列実行制御のステップを含み、この並列
実行制御のステップを実行することにより、上記(3)
におけるトラックロックのステップとドライブロックの
ステップにより確保された上記(+)と上記(2)のト
ラックとディスクドライブのロックが各々競合しないと
判断した場合には、上記(1)と上記(2)に記載の動
作を並列に実行し、各々競合すると判断した場合には、
上記(1)記載の動作におけるロック取得を優先するこ
とを特徴とする。
制御装置の障害処理方法において、接続された複数のデ
ィスクドライブには、キャッシュメモリおよびバックア
ップメモリ上に未反映トラックの存在を許可することを
示す未反映トラック許可情報を付与し、この未反映トラ
ック許可情報を持つディスクドライブのみに、上記(1
)と上記(2)に記載の動作を実行することを特徴とす
る。
イスク制御装置の障害処理方法において、バックアップ
メモリが正常な場合には、トラックロックのステップで
は、バックアップメモリ上の未反映トラックの当該ディ
スクドライブ上の物理トラックへの書き込み時には、デ
ィスクドライブ単位のロックを行い、このディスクドラ
イブ単位のロックのみを取り実行することを特徴とする
。
ク制御装置の障害処理方法において、ホストコンピュー
タからのリード/ライト命令の対象である正常な方のメ
モリ上の未反映トラックに対する命令の実行を、ディス
クドライブ上の物理コマンドではなく、正常なメモリ上
でのみ行うことを特徴とする。
制御装置の障害処理方法において、ホストコンピュータ
からの更新命令の対象である正常な方のメモリ上の未反
映トラックに対する更新命令の実行を正常なメモリ上で
行なった後、この更新命令が実行された未反映トラック
を当該するディスクドライブの物理トラックにflFき
込むことを特徴とする。
置は、上記(1)から上記(8)のいずれか1つに記載
のキャッシュ付ディスク制御装置の障害処理方法を用い
ることを特徴とする。
反映トラックのデータを格納するキャッシュまたはバッ
グアップメモリのうちの片方が、なんらかの原因でリー
ド/ライト不能となり、これらのメモリが片系になった
場合には、以下の処理を行なう。
対して発行されたリード/ライト要求に対し、当該トラ
ックが正常な方のメモリ上に存在し、かつ、それが未反
映トラックか否かを判定する。
当該トラックのデータを当該ディスクドライブ上の対応
する物理トラックに、(Fき込んだ後、引き続き」ユ位
システムから要求されたリード/ライト要求をY1該物
理トラックに対して実行する。
ラックについては、正常なメモリ上に/j在する未反映
トラックを自1:、的に探索して、対応するディスクド
ライブ上の該当する物理トラック上に書き込む。そして
、この物理トラック上へのさき込みのために白1ミ的に
ロックを取る未反映トラックの本数を可変とする。
ラックに対して発行されたリード/ライト要求に対して
の処理のためのロック要求と、上位システムからリード
/ライト要求が来ないトラックに対する処理のためのロ
ック要求とが競合した場合には、上位システムから要求
された処理のロック取得を優先させ、上位システムから
の処理要求が長時間待たされることを防ぐ。
処理しつつ、−重化状態になった未反映トラックを安全
にディスクドライブに書き込むことが出来る。
テムの一実施例を示すブロック構成図である。
ディスク制御装置102、ディスクドライブ110,1
20から構成される。
103と104を内蔵し、各プロセッサ103.104
は、それぞれ、チャネル制御装置+01と、ディスクド
ライブ(以下ドライブと記載)110,120とに接続
される。
ッサ間排他のためのロック機構107、キャッシュメモ
リ106、および、キャッシュメモリ106の管理情報
を格納するキャッシュディレクトリ105、キャッシュ
のバックアップメモリ109、バックアップメモリ10
9の管理情報を格納するディレクトリ108、そして、
キャッシュメモリ+06とバックアップメモリ109と
ドライブの状態を反映するFtll Wメモリ187と
に接続されている。
ャッシュメモリ+06、もしくは、バックアップメモリ
109のどちらか一方に障害が発生した場合、正常な方
のメモリ上に格納されている未反映データを有する未反
映トラックをドライブ110,120に戻し、その後、
キャッシュへの書込制御を行わず、ホストコンピュータ
100とドライブ110% 120との直接のアクセス
を行う。
下に示された第2図〜第9図におけるテーブルの説明後
に行う。
テータスを示すテーブル構成図である。
】20の状態を示すドライブステータステーブル187
0と、同じく第1図におけるキャッシュメモリ106の
状態を示すキャッシュ状態テーブル1880.バックア
ップメモリ109の状態を示すバックアップメモリ状態
テーブル1890がある。
項目を有している。
ライブ番% 1871と、ドライブ110゜120(第
1図参照)の状態の見直しの必要性を示す見直しフラグ
1872 (ro」 :見直し不要、「l」 :見直し
要)、そして、ドライブ11O。
スレベル1873 (rOJ :アクセス禁止、「l
」 ニスルーアクセスモード;キャッシュメモリを介さ
ずホストコンピュータとドライブ間でデータの処理を行
う、「2」 :キャッシュリード可、「3」 :キャッ
シュリード/ライト可)、さらに、ドライブ110,1
20(第1図参照)のリカバリ動作状況を示すリカバリ
ステータス1874 (第3図に後述)、そして、ド
ライブ110,120(第1図参照)のロック状態を示
す物理ロック1875(rOJ :未ロック、「l」
:ロック中)と論理ロック+876(rOJ :未
ロック、「l」 :ロック中)、さらに、ドライブ11
0,120(第1図参照)に未反映レコードがあるか否
かを示す反映未完了1877 (roJ ニドライブに
未反映デ−ド無、「l」 ニドライブに未反映デ−ド有
)から構成されている。
ュ状態テーブル1880と、バックアップメモリ109
(第1図参照)の状態を示すバックアップメモリ状態テ
ーブル1890は、どちらも「OJ 「l」 「2」
「3」の値を取り、それぞれ、アクセス可(正常)、ア
クセス不可(保守オフ)、アクセス不可(論理障害)、
アクセス不可(メモリ障害)を表す。
リステータスの構成内寄を示すテーブル構成図である。
41.キャッシュデステージ中およびリードヒツト回状
!18742、バックアップメモリデステージ中状態1
8743、そして、キュー更新可否状態18744から
構成され、各状態は、第2図のキャッシュ状態テーブル
1880とバックアップメモリ状態テーブル1890の
値により決定される。
41に「l」が設定されている場合は、未反映レコード
をキャッシュメモリ106(第1図参照)から当該ドラ
イブに書き込みつつ、ホストコンピュータ200(第1
図参照)からの当該ドライブに対するアクセス要求に対
しては、当該ドライブ上の物理トラックをアクセス(以
下スルーアクセスと記載)すべきことを表す。
742がrlJに設定されている場合は、未反映レコー
ドをキャッシュメモリ106 (第1図参照)からソ1
該ドライブに書き込みつつ、ホストコンピュータ100
(第1図参照)からの当該ドライブに対しては、キャッ
シュメモリ+06 (第1図参照)上に存在しないスロ
ット(ドライブのトラックに相当する)に対する読み出
しと、ドライブへの任意のトラックに対する書き込み要
求に対しては、スルーアクセスを行う。さらに、キャッ
シュメモリ106(第1図参照)上に有るスロットに対
する読み出し要求に対しては、キャッシュメモリ106
(第1図参照)上のデータをアクセスすべきことを表す
。
」が設定されている場合は、未反映レコードをバックア
ップメモリ109(第1図参照)から当該ドライブに書
き込みつつ、ホストコンピュータ100(第1図参照)
からの当該ドライブに対するアクセス要求に対してはス
ルーアクセスを行うべきことを表す。
る場合は、キャッシュディレクトリ105(第1図参照
)内の空きスロットキュー(まだレコードが記録されて
おらず、特定のドライブ/トラックと接続されていない
スロットを示す)が論理障害により不正となっている恐
れがあり、キューの操作(ドライブへ書き込み終了した
スロットに対応するスロットjul tBブロックを、
空きキューへ戻すこと)を行うべきでないことを示す。
件を示すマトリクス図である。
キャッシュ状1’1l1880のコードの値と、バック
アップメモリ状態1890のコードの値の組み合わせに
応じて決まる。そして、4#Iの情報で表され、その内
容は、第3図における説明通りである。
(正常)であり、バックアップメモリ状態1890が「
3」でアクセス付加(メモリ障害)の場合には、リカバ
リステータス1874は、「0100」となり、第3図
におけるキャッシュデステージ中およびリードヒツト可
状態+8742がrl」に設定されている状態となる。
=f (メモリ障害)の場合は、リカバリステータス1
874は、rooI*Jとなり、バックアップメモリデ
ステージ中状態l8743にrl」が設定されている場
合となる。尚、「*」は、don’ t careの意
味で、「0」および「l」のどちらがきても構わないこ
とを意味する。すなわち、キャッシュメモリがメモリ障
害を起こしている場合には、バックアップメモリがメモ
リ障害を起こしていないかぎり(バックアップメモリ状
1111890が「3」でない場合)、バックアップメ
モリデステージの処理を行なう。
照)とバックアップメモリ109(第1図参照)が共に
メモリ障害で、未反映レコードをドライブ110,12
0(第1図参照)に書き込む二とが不可能な場合には、
リカバリステータス1874をrl 111Jに設定す
る。
条件を示すマトリクス図である。
とバックアップメモリ状fi1890のコードの値との
組み合わせに応じて決まる。
セス不可(論理障害)であり、バックアップメモリ状態
1890が「l」でアクセス可(正常)の場合には、ア
クセスレベルは「1」となり、スルーアクセスモードと
なる。さらに、キャッシュメモリ状態1880とバック
アップメモリ状態1890が、共に「3ノでアクセス不
可(メモリ障害)の場合には、アクセスレベルはrQJ
となり、アクセス禁止状態となる。
ャッシュメモIJ および、バックアップメモリディ
レクトリとバックアップメモリの格納内容を示すテーブ
ル構成図である。
ブ+10のトラック表1051と、ドライブ+20のト
ラック表1052、そして、スロットR,IJ御ブロッ
ク350〜354がある。
によりスロット制御ブロック350と、トラック(TR
n)は、スロット制御ブロック351につながっている
。また、スロット制御ブロック352は、トラック表1
052のトラック−(TR1)につながっている。
ク表1051,1052と接続されておらず、キャッシ
ュ動作状況に応じ、空きスロットキュー320を介して
トラック表1051、または、1052に接続される。
ンタによりキャッシュメモリ106の各当該スロットに
接続される。例えば、スロット制御ブロック350は、
スロット1061に、スロット制御ブロック351は、
スロット1063に、スロット制御ブロック352は、
スロット1062に、さらに、スロット制御ブロック3
53はスロット+064.スロット制御ブロック354
はスロット1065に接続される。
だ、ドライブ110,120(第1図参照)に転送され
ていないことを示し、スロット1061が未反映スロッ
トであることを示す。同様に、スロット1062も未反
映スロットである。
,120(第1図参照)に転送済みであり、ドライブ1
10,120(第1図参照)のデータと、キャッシュメ
モリ106上のデータが一致していることを示す反映済
みスロットである。
詳しく説明する。
106上のスロットに格納されているデータと、それに
対応するドライブ110,120上の物理トラック上の
データとが、一致していないスロットのことである。こ
れに対して、キャッシュメモリl Of; J−のスロ
・ソトに格納されているデータと、それに対応するドラ
イブ110,120上の物理トラック]−のデータとが
一致しているスロットを反映済スロットと呼ぶ。
ていない空きスロットであり、新たなデータのキャッシ
ュ処理が発生した場合に使用される。
トラック表1081.1082と、スロット制御ブロッ
クに相当するセグメント制御プロラグ355〜357、
空きセグメントキュー330があり、バックアップメモ
リ109には、セグメント1092〜1094.空きセ
グメント1095.1096があり、それぞれ、ポイン
タにより接続されている。
ッシュメモリ!06の未反映スロットのみを登録してあ
り、当然、全てのデータは、ドライブ110.120の
データと一致していない。
容を示すテーブル構成図である。
ブ番号10511とトラックアドレス1O512、そし
て、第6図におけるスロット制御ブロック350〜35
2へのポインタ10513から構成されている。
あれば、スロット制御ブロック350へのポインタがア
ロケートされておらず、ミスとなり、制御部102は、
スルーアクセスを行う。
なければ、スロット制御ブロック350へのポインタが
アロケートされており(これをトラックヒツトと呼ぶ)
、ディスク制御装置102は、スロット制御ブロック3
50の内容を読む動作を行う。
1052.1081,1082においても同様な構成と
なっている。
内容を示すテーブル構成図である。
タス3501と、スロットデータステータス3502、
そして、キャッシュメモリへのポインタ3503から構
成されている。
キャッシュ106とチャネル制御装置101間のデータ
転送と、キャッシュ106とドライブ110間のデータ
転送を、第6図のスロット1061〜1063に関して
、プロセッサ間排他するためのものである。lの場合は
、プロセッサが当該スロットをロック中であることを示
し、0の場合は、ロック中でないことを示す。
スレベル1873の値が3の場合で、アクセス要求がラ
イト、そして、指定レコードがキャッシュ上でヒツト(
ライトヒツト)した場合に、プロセッサ103に確認さ
れ、当該スロットが未反映スロットか、反映済スロット
かを表す。
録内容を示すテーブル構成図である。
ポインタ3551と、次セグメント制卿ブロックポイン
タ3552とから構成される。
I)は、バックアップメモリ109のセグメント109
2に接続される。また、同様に第6図において、セグメ
ント制御ブロック356は、バックアップメモリポイン
タにより、セグメント1093に接続され、また1次セ
グメント制御ブロックポインタ3552と同じ機能を有
するポインタにより、セグメント制御ブロック357に
接続され、さらに、セグメント制御ブロック357は、
バックアップメモリポインタにより、セグメント109
4に接続される。このようにして、第9図に示されたセ
グメント制御ブロックにより、第6図におけるトラック
表1081と1082が、バヅ々7・ツブメモリ109
の各セグメントに接続される。
、第1図におけるディスク制御装置102の動作を詳、
1111に説明する。
プメモリが正常に動作している場合のディスク制御装置
の動作を説明する。
ネル制置装置10!を介してホストコンピュータ100
からのアクセス要求を受は取ると、プロセッサ103は
、この要求を解読し、どのドライブに対するアクセス要
求かを認識する。
(1)に対する書き込み要求とする。この場合、プロセ
ッサ+03は、ロック機構+07に対して、信号線12
6を介し、制御メモリ187の更新のためのロック要求
を出す。
04が、制御メモリ187やキャッシュディレクトリ1
05、ディレクトリ108を排辿的に更新するための排
他制御をハード的に行う一種のアービタ回路として実現
される。
リ187に対するロック取得成功の応省が入ると、プロ
セッサ+03は、制御メモリ187内のドライブステー
タステーブル1870(第2図参IKOの当該ドライブ
の論理ロック1876(第2図参!1(0にrIJ を
セットして、その状態をロック中にする。
ク開放を指示する。
のデータをアクセスする場合のドライブに関するプロセ
ッサ間排他用のロックである。
ステータステーブル1870の当該ドライブのアクセス
レベル+573(第2図参照)を判定する。
の値で表され、その内容は、リカバリステータス+87
4(m2図参照)の値がオールゼロ(rooooJ)の
ときに、チャネル制御装置+01から受は取るドライブ
に対するアクセス要求の処理を、どのように行うべきか
を規定するものである。すなわち、アクセスレベルがr
QJの時は、当該ドライブはアクセス禁ILであり、エ
ラーをチャネル制御装置101に返す。
下の処理を行う。
らコマンドを受は取り、プロセッサ103がコマンドを
解読し、リード/ライトの区別(ここでは、ライトコマ
ンドとする)と、アクセス対象トラック番号(TRI)
、および、レコード番号(R1)を認識する。
ならば、当該ドライブのドライブステータステーブル1
870(第2図参照)の物理ロック1875(第2図参
照)にrlJをセットし、物理ロック1875(第2図
参照)を確保する。
アクセスする場合のドライブに関するプロセッサ間排他
用のロックである。
を直接アクセスする。すなわちスルーアクセスする。
、または、「3」の場合には、プロセッサ+03は、キ
ャッシュディレクトリ105内のドライブ110用のト
ラック表1051(第6図、第7図参照)を検索し、ト
ラック(TRI)に対するキャッシュスロット1061
(第6図参照)が既にキャッシュメモリ106上にアロ
ケートされているかどうかを判定する。
ックアドレス10512(TRI)のスロット制御ブロ
ックポインタ10513にスロット制御ブロック350
(第6図、第8図参照)へのポインタがアロケートされ
ているか否かを調べる。
350(第6図参照)へのポインタがアロケートされて
おり、これをトラックヒツトと呼ぶ。
ブロック350内のスロットロックステータス3501
を判定し、当該スロットを他のプロセッサがロック中(
この時スロットロックステータス350Iは「IJ)が
否かを判定する。
01は、キャッシュメモリ106とチャネル制御装置1
01間のデータ転送、および、キャッシュメモリ106
とドライブ110i1Jのデータ転送のために、第6図
における各スロット1061.1063に関してプロセ
ッサ間排他するためのロックである。
い(第8図におけるスロットロックステータス3501
はrOJ)ものとする。
ス3501を「l」に、すなわち、「ロック中」に書き
替える。続いて、プロセッサ103は、第6図において
、スロット制御ブロック350からキャッシュメモリ1
06内のデータ格納エリアにあるスロット1061に対
して張られたキャッシュポインタ3503(第8図参照
)を読み出して、当該スロット1061上におけるレコ
ード(R1)の格納位置をサーチする。
2」の場合、アクセス要求がリードならば、ヒツトした
キャッシュ上のレコードを読み出してチャネル制御装置
lotに転送し、アクセス要求がリードで、かつ、指定
レコードがキャッシュ上でミスした場合と、アクセス要
求がライトの場合には、スルーアクセスを行う。
、第6図におけるトラック表1051.1052等にリ
ンクされていない)キャッシュ上の空きスロット106
4、+065(第6図参照)をポイントするスロット制
御ブロックを、1つのキューに集めたキャッシュディレ
クトリ+05内の空きスロットキュー320(第6図参
照)から、空きスロットの制御ブロックを1つ、例えば
、空きスロット制御ブロック353を取り出し、スルー
アクセスを行った当該トラックのデータをドライブ11
0からキャッシュメモリ106上の空きスロット+06
4ヘロードする。
場合で、かつ、ホストコンピュータ100からのアクセ
ス要求がライトで、指定レコードがキャッシュメモリ+
06上でヒツトした場合(ライトヒツト)には、次の処
理を行う。
350(第8図参照)のスロットデータステータス35
02(第8図参照)を調べ、それが「!」、すなわち未
反映スロットであることを知る。
るバックアップメモリ109のディレクトリ108の同
一ドライブのトラック表1081を調べ、セグメント制
御ブロック355へのポインタを得て、第9図における
セグメント制御ブロック355のバックアップメモリポ
インタ3551により、当該スロットのバックアップメ
モリ1091のデータ格納位置を得る。
ックアップメモリ109に、キャッシュメモリ106へ
の古き込みデータを格納するメモリエリアとして、空き
セグメントキュー330(第6図参照)から必要最小限
の個数のセグメント制御ブロック358.359(第6
図参照)を取り出し、取り出し順にセグメント制御ブロ
ックの次のセグメント制御ブロックポインタ3532
(第9図参照)でリンクさせて、バックアップメモリデ
ィレクトリ108上の当該セグメント1095.109
6(第6図参照)にリンクする。
御袋[101に対し、ホストコンピュータ100からの
書き込みレコードデータの転送を要求する。そして、プ
ロセッサ103は、ホストコンピュータ+00からのレ
コードaき込みデータを、チャネル制御装置101を介
して、キャッシュスロット+061(第6図参照)上の
レコード(It+)のフィールド、および、バックアッ
プメモリ+09のスロット1092(第6図参照)上の
レコード(R1)のフィールドに、同時に転送する。
105上の当該スロット制御ブロック350のスロット
データステータス3502 (第8図参照)にrlJを
設定する。
モリ109へのレコード(R1)データの転送が終了し
た時点で、チャネル制御装置101に対してドライブ1
10へのデータ書き込み終了の報告を返す。
、キャッシュメモリ106およびバックアップメモリ1
09条に未反映スロットとして二重に保留される。
に、ある本数部ると、チャネル制御装置101からのア
クセス要求を処理していない任意のプロセッサ(例えば
、プロセッサ104)が、当該するドライブ110,1
20に、複数トラック分纏めて書き込み、バックアップ
メモリ109のセグメント制御ブロック355〜357
(第6図参照)を空きスロットキュー330(第6図参
照)に戻す。これを纏め書き動作と呼ぶ。
02の動作説明である。
アップメモリ109のいずれかがアクセス不能の障害と
なると、ディスク制御装fa102内において、未反映
スロットが一重化の状態となり、データの保全上好まし
くない。
状態となった未反映スロットをドライブ1lO1120
の対応する物理トラックに書き出す必要がある。
02の動作説明を行う。
作を示すフローチャートである。
正常時の処理におけるチャネル制御装置101からのア
クセス要求の受は付けと、それに対する当該ドライブ1
10、l 20 (21511111照)17)論理ロ
ック確保処理である。
ば、デバイスとジー待ちとして、チャネルff/J御装
置101にリトライ要求を返す(ステップl Ol 7
)。
続いて、ドライブステータステーブル1870(第2図
参照)の見直しフラグ1872 (第2図参照)がセッ
トされているが否かを調べ(ステップto03)、セッ
トされていれば、21該ドライブについてリカバリステ
ータスとアクセスレベルの見直しを行う(ステップ+0
04)。
処理(ステップ1004)の詳細を第11図に示し、そ
の説明を行う。
リステータスとアクセスレベルの見直し処理動作を示す
フローチャートである。
シュ状fi1880(第2図参照)とバックアップメモ
リ状態1890(第2図参照)のステータスを、また、
ドライブステータステーブル1870(第2図参照)か
らアクセス対象ドライブに関する反映未完了フラグ18
77(第2図参照)を読み出す(ステップ5000)。
ータスコードが[0」の場合、正常アクセス可能、「l
」の場合、保守のための閉鎖によりアクセス不可、「2
」の場合、ディレクトリ情報゛の論理障害によりアクセ
ス不可、[3」の場合、メモリのハード障害によりアク
セス不可であることを意味する。
1シても同様である。
ッサ障害等で、1)II述した第6図におけるキャッシ
ュディレクトリ内の空きスロットキュー320の操作が
完結出来なかった場合等に対応するものである。
照)がrl」の場合、当該ドライブのキャッシュメモリ
上、または、バックアップメモリ上の未反映レコードデ
ータがドライブに未書き込みである可能性があることを
意味している。
イブのキャッシュメモリ上、または、バックアップメモ
リ[−には、当該ドライブの未反映レコードデータが、
存在しないことを意味する。
「1」の場合、第4図に示した決定表に従い。
図参照)を決定する(ステップ5002)。さらに、第
5図に示した決定表に従い、′!5該ドラドライブクセ
スレベル1873(第2図参照)を決定する(ステップ
5003)。
ベルを決定した後、当該ドライブの見直しフラグをオフ
する(ステップ5004)。
処理の説明である。
ータスの内容判定処理(ステップ1OO5)以降のフロ
ーを説明する。
正常処理の方法に従い、アクセス要求を処理する(ステ
ップ1006)。
の場合は、後述するキャッシュデステージ処理(1)(
ステップ1007)を行う。
ットのロックの確保を確認しくステップ+008)、確
保した後(ステップ1009)、後述するキャッシュデ
ステージ処理(2)(ステップ+ 010)を行う。
n’ t caroの、α味で、「l」と「0」のどち
らがきても構わない)の場合は、後述するバックアップ
メモリデステージ処理(1012)を行う。
て(ステップ1014)、当該ドライブの物理ロック、
および、論理ロックをゼロクリアして(+015)、処
理を終了する。
07)、キャッシュデステージ処理(2)(ステップ1
010)、そして、バックアップメモリデステージ処理
(ステップl Ol 2)の詳細な説明を順に行う。
シュデステージ処理(1)動作を示すフローチャートで
ある。
ップ2000)、確保出来なければ、物理ロック待ちを
セットして(ステップ2012)、処理を終了する。
クをrlJにセットしくステップ2001)、チャネル
制御装置からアクセス要求を受けた自プロセッサと当該
ドライブを接続しくステップ2002)、キャッシュデ
ィレクトリを用いて、前述したヒツトミス判定を行う(
ステップ2003)。
設定されたスロットデータステータスを参照し、それが
未反映スロットか否かを判定する(ステップ2004)
。
モリから当該ドライブの対応する物理トラックに書き込
んだ後(ステップ2005)、リカバリステータスのキ
ュー更新可否18744 (第3図参照)を判定し、更
新可の場合のみ、ドライブに書き込んだスロットのスロ
ット制御ブロックを空きキュー:320 (第6図参照
)に戻す(ステップ2007)。
ドの種別を解析しくステップ2008)。
指定レコードをリードしくステップ2010)、ライト
の場合には、当該ドライブ上の物理トラックへ指定レコ
ードをライトする(ステップ2009)。
る。
ステージ処理(2)動作の内容を示すフローチャートで
ある。
用いて、前述したヒツトミス判定を行う(ステップ30
00)。
設定されたスロットデータステータスを参照して、それ
が未反映スロットが否かを判定する(ステップ3001
)。
01(第1図参照)から受は取ったコマンドの種別を解
析しく3002)、リードの場合は、キャッシュ上の当
該スロット上の指定レコードをリードして(ステップ3
013)処理を終了する。
確保する(ステップ3003)。確保出来なければ、物
理ロック待ち(ステップ3012)として処理を終了す
る。
101(第1図参照)からアクセス要求を受けた自プロ
セッサと当該ドライブを接続(ステップ3005)、再
度、キャッシュディレクトリ105(第1図参照)によ
りヒツトミスを判定する(ステップ3006)。
ら当該ドライブの対応する物理トラックに書き込んだ後
(ステップ3007)、ドライブに書き込んだスロット
のスロット制御ブロックを空きキュー320(第6図参
照)に戻す(ステップ3008)。
ドの種別がライトの場合には、当該ドライブ上の物理ト
ラックへ、指定レコードをライトしくステップ3011
)、リードの場合は、当該ドライブ1−の物理トラック
から、指定レコードをリードする(ステップ3010)
。
。
ジ処理の内容を説明する。
アップメモリデステージ処理動作を示すフローチャート
である。
4000)。もし、確保出来なければ、物理ロック待ち
として(ステップ4008)処理を終了する。
101からアクセス要求を受けた自プロセッサと当該ド
ライブを接続しくステップ4002)、バックアップメ
モリディレクトリ108(第1図参照)を用いて、11
;I述したヒツトミス判定を行う(ステップ4003)
。
バックアップメモリ109(第1図参照)から当該ドラ
イブの対応する物理トラックに書き込んだ後(ステップ
4004)、チャネル制御装置101から受は取ったコ
マンドの種別を解析する(ステップ4005)。
当該ドライブ上の物理トラックから指定レコードをリー
ドしく4006)、ライトの場合は、当該ドライブ上の
物理トラックに指定レコードをライトする(ステップ4
007)。
。
rel 101 (第1図参照)からのコマンド受は付
けを契機として、ディスク制御装置+02(第1図参照
)内の未反映レコードをドライブに、11き込む処理で
ある。
(第11メ1参jj((1)からのコマンドが来ない
場合にも、ディスク制御装置102(第1図参照)内の
未反映レコードをドライブに書き込む必要がある。
/J御装置102内の各プロセッサ10:3,104は
、未反映レコード検索と書き込み処理を自主的に行う。
未反映レコード検索と書き込み処理動作を示すフローチ
ャートである。
ついて、ドライブステータステーブル1870(第2図
参照)の反映未完了フラグl877(第2図参照)が「
0」か否かを調べる(ステップ8000)。
ータス1874(第2図参照)を調べ(ステップ800
3)、その値に応じて以下の処理を行う。
N l l IJの揚台は、何もせずに処理を終了する
。
の場合は、キャッシュディレクトリ105(第2図参照
)から当該ドライブの未反映トラックアドレスを1本検
索しくステップ8004 )、そのトラックについて、
前述したキャッシュデステージ処理(1)を行う。
ャッシュディレクトリ105(第2図参照)から、当該
ドライブの未反映トラックアドレスを1本検索しくステ
ップ8005)、そのスロットのロックを確保する(ス
テップ8007)。
ソ1該スロットのロック待ちをしているか否かを調べる
(ステップ8012)。もし、チャネルコマンド処理が
ロック待ちをしていれば、何もしないで処理を終rする
。そして、チャネルコマンド処理がロック待ちをしてい
なければ、そのトラックについて、スロットロックを確
保し、前述したキャッシュデステージ処理(2)を行う
。
ックアップメモリディレクトリ108(第1図参照)か
ら゛!j該ドラドライブ反映トラックアドレスを1本検
索しくステップ8006)、そのトラックについて])
IJ述したバックアップメモリデステージ処理を行う。
しくステップ8008)、当該ドライブの物理ロックを
ゼロクリアする(ステップ8009)。
いるか否かを判定しくステップ8010)、残っていな
ければ、当該ドライブの反映未完了フラグをゼロクリア
し、見直しフラグを「l」に設定する(ステップ801
’l)。
)に接続する全ドライブについて、ドライブステータス
テーブル1870(第2図参照)の反映未完フラグがゼ
ロとなるまで、ある周期で繰り返す。
。
のチャネルコマンド処理により、チャネル制御装置10
1を介したホストコンピュータ100からのアクセス要
求を受は付けた契機で、その処理と並行に、ディスク制
御装置102内の未反映トラックを、ドライブに安全に
書き込むことが出来る。
ージ処理を、マルチプロセッサ環境下で、第10図に示
した障害時のチャネルコマンド処理と並行して実行する
ことにより、ホストコンピュータ100からのアクセス
要求が来ないドライブについても、ディスク制御装置1
02内の未反映トラックをドライブに安全に、!Fき込
むことが出来尚、本実施例では、未反映レコード検索と
、1Fき込み処理でキャッシュディレクトリ105、ま
たは、バックアップメモリディレクトリ+08から検索
する未反映トラックの本数を1木としたが、チャネル制
御装置lotからディスク制御装置lO2へのアクセス
要求の入力頻度に応じて、この本数を可変にしても良い
。
クセス要求処理の場合、未反映トラックをドライブに書
き込んだ後、ドライブ上にデータを書き込む方法を取っ
たが、キャッシュメモリ106上に未反映トラックがあ
る場合では、キャッシュメモリ106上のスロットに、
チャネル制御装置101からの書き込みデータを反映さ
せた後に、当該スロットをドライブに反映しても良い。
クアップメモリ上の未反映セグメントのドライブへの書
き込み動作においては、バックアップメモリのメモリ容
欧や、メモリ管理の通常時におけるオーバーヘッドを削
減するためにに、トラック単位のロック手段の変わりに
、ドライブ単位のロック手段を持たせ、lトラックll
j位でシーケンシャルに待なっても良い。
キャッシュメモリや、バックアップメモリ、または、プ
ロセッサ等の障害のために、キャッシュメモリやバック
アップメモリが正常にアクセス出来なくなり、ディスク
制御装置内の未反映データが一重化状態となった場合、
チャネル制御装置からドライブに対するアクセス要求を
処理しつつ、安全に、かつ、速やかに、未反映データを
ドライブに書き出すことができるため、ディスク制御装
置による纏め書き動作の信頼性を向上させることが出来
る。
することなく、キャッシュ上の未反映データのドライブ
への書き込みを可能とし、システムの信頼性と可用性を
向上させることが可能であ
ムの一実施例を示すブロック構成図、第2図は第1図の
制御メモリ内に格納されている各ステータスを示すテー
ブル構成図、第3図は第2図におけるドライブステータ
スのリカバリステータスの構成内容を示すテーブル構成
図、第4図は第3図のリカバリステータスの状態の決定
条件を示すマトリクス図、第5図は第2図におけるアク
セスレベルの状態の決定条件を示すマトリクス図、第6
図は第1図におけるキャッシュディレクトリとキャッシ
ュメモリおよびバックアップメモリディレクトリとバッ
クアップメモリの格納内容を示すテーブル構成図、第7
図は第6図におけるトラック表の登録内容を示すテーブ
ル構成図、第8図は第6図におけるスロット制御ブロッ
クの登録内容を示すテーブル構成図、第9図は第6図に
おけるセグメント制御ブロックの登録内容を示すテーブ
ル構成図、第1O図は第1図におけるディスク制御装置
のドライブアクセス要求処理動作を示すフローチャート
、第11図は第1図におけるディスク制御装置のリカバ
リステータスとアクセスレベルの見直し処理動作を示す
フローチャート、第12図は第1図におけるディスク制
御装置のキャッシュデステージ処理(1)動作を示すフ
ローチャート、第13図は第1図のディスク制御装置の
キャッシュデステージ処理(2)動作の内容を示すフロ
ーチャート、第14図は第1図におけるディスク制御装
置のバッグアップメモリデステージ処理動作を示すフロ
ーチャート、第15図は第1図におけるディスク制御装
置の未反映レコード検索と書き込み処理動作を示すフロ
ーチャートである。 100:ホストコンピュータ、101:チャネル制御装
置、102:ディスク制御装置、103゜104:プロ
セッサ、105:キャッシュメモリディレクトリ、10
6:キャッシュメモリ、107二ロツク機構、+08:
バックアップメモリディレクトリ、I 09 :バック
アップメモリ、!+0゜120ニドライブ、126:信
号線、187:制御メモリ、320:空きスロットキュ
ー、330:空きセグメントキュー、350〜354ニ
スロツトff/I g9ブ0ツク、 355〜357
:セグメントFl/制御ブロック、358.35!]
:空きセグメント制御ブロック、1051.1052ニ
ドラツク表。 1061.1062:未反映スロット、1063:反映
済スロット、1064,1065:空きスロット、10
81.1082ニドラック表、1092〜1094:セ
グメント、1095. 109(’r:空きセグメント
、1870ニドライブステータス。 1871ニドライブ番号、1872:見直しフラグ、1
873ニアクセスレベル、1874:リヵバリステータ
ス、1875:物理ロック、1876:論理ロック、1
877:反映未完了、1880 :キャッシュメモリ状
態、1890:バックアップメモリ状Lm、3501ニ
スロットロックステータス。 3502ニスロツトデータステータス、3503:キャ
ッシュメモリへのポインタ、3551:バックアップメ
モリポインタ、3552:次セグメント制御ブロックポ
インタ、!0511:ドライブ番号、10512ニドラ
ツクアドレス、+0513ニスロツト制御ブロツクポイ
ンタ、18741:キャッシュデステージ中&リードス
ルー 18742:キャッシュデステージ中&リードヒ
ツト可、18743二バックアップメモリデステージ中
、18744:キュー更新’H(否。 第 図 第 9 図
Claims (1)
- 【特許請求の範囲】 1、大容量のディスクドライブと、上位のホストコンピ
ュータとに接続され、キャッシュメモリと、該キャッシ
ュメモリをバックアップするバックアップメモリとを有
し、上記ホストコンピュータからの上記ディスクドライ
ブへのデータのライト命令に対しては、上記キャッシュ
メモリと上記バックアップメモリの双方へ同一データの
書き込み動作を行い、上記バックアップメモリから上記
ディスクドライブに対しての書き込み動作は、該書き込
み動作とは非同期に行うキャッシュ付きディスク制御装
置において、上記キャッシュメモリ、もしくは、上記バ
ックアップメモリのいずれか一方に、リード/ライト動
作が不可能な障害があることを検知するメモリ障害検知
のステップと、上記キャッシュメモリとバックアップメ
モリのトラック上のデータが上記ディスクドライブの当
該物理トラック上に未だ書き込まれておらず、該ディス
クドライブのトラックが上記キャッシュメモリとバック
アップメモリのトラックと同一内容でない未反映トラッ
クであるか否かを判定する未反映トラック判定のステッ
プを含み、上記ホストコンピュータから上記ディスクド
ライブのトラックを対象としたリード/ライト命令が入
力された時に、上記障害検知ステップで、上記キャッシ
ュメモリ、もしくは、上記バックアップメモリのどちら
か一方の障害を検知した場合、上記未反映トラックを判
定するステップで、上記対象トラックが未反映トラック
であると判定した場合には、上記キャッシュメモリとバ
ックアップメモリの正常な方に存在する上記対象トラッ
クを、上記ディスクドライブの当該物理トラックに書き
込み、該ディスクドライブへの書き込み動作の終了後に
、上記ホストコンピュータからのリード/ライト命令を
、書き込み動作を終了した該ディスクドライブの当該物
理トラックに対して実行することを特徴とするキャッシ
ュ付ディスク制御装置の障害処理方法。 2、請求項1記載のキャッシュ付ディスク制御装置の障
害処理方法において、上記障害を検知するステップで、
上記キャッシュメモリ、もしくは、上記バックアップメ
モリの一方がリード/ライト不可能であることを検知し
た場合には、上記ホストコンピュータからのリード/ラ
イト命令の入力に関わらず、上記未反映トラックを判定
するステップで、上記キャッシュメモリとバックアップ
メモリのトラックが上記ディスクドライブのトラックと
異なると判定した未反映トラックを、上記ディスクドラ
イブへ書き込むことを特徴とするキャッシュ付ディスク
制御装置の障害処理方法。 3、請求項1記載のキャッシュ付ディスク制御装置の障
害処理方法において、上記ホストコンピュータからのリ
ード/ライト命令の対象となった正常なメモリ上の未反
映トラックを、1トラック単位で複数分ロックするトラ
ックロックのステップと、該未反映トラックを書き込む
ディスクドライブを、ディスクドライブ単位でロックす
るドライブロックのステップを含み、請求項1および請
求項2に記載の上記未反映トラックを検出して上記ディ
スクドライブへ書き込む動作の開始から完了までの期間
、該動作の対象となるトラック、および、ディスクドラ
イブのロックを上記トラックロックのステップとドライ
ブロックのステップを行なうことにより確保し、該ディ
スクドライブへの書き込み動作完了後に該トラックとデ
ィスクドライブのロックを開放することを特徴とするキ
ャッシュ付ディスク制御装置の障害処理方法。 4、請求項1および請求項2に記載のキャッシュ付ディ
スク制御装置の障害処理方法において、上記未反映トラ
ックを検出して上記ディスクドライブへ書き込む動作を
制御する並列実行制御のステップを含み、該並列実行制
御のステップを実行することにより、請求項3における
トラックロックのステップとドライブロックのステップ
により確保された請求項1と請求項2のトラックとディ
スクドライブのロックが各々競合しないと判断した場合
には、請求項1と請求項2に記載の動作を並列に実行し
、各々競合すると判断した場合には、請求項1記載の動
作におけるロック取得を優先することを特徴とするキャ
ッシュ付ディスク制御装置の障害処理方法。 5、請求項1記載のキャッシュ付ディスク制御装置の障
害処理方法において、上記接続された複数のディスクド
ライブには、上記キャッシュメモリおよびバックアップ
メモリ上に未反映トラックの存在を許可することを示す
未反映トラック許可情報を付与し、該未反映トラック許
可情報を持つディスクドライブのみに、請求項1と請求
項2に記載の動作を実行することを特徴とするキャッシ
ュ付ディスク制御装置の障害処理方法。 6、請求項3記載のキャッシュ付ディスク制御装置の障
害処理方法において、上記バックアップメモリが正常な
場合には、上記トラックロックのステップでは、該バッ
クアップメモリ上の未反映トラックの当該ディスクドラ
イブ上の物理トラックへの書き込み時には、ディスクド
ライブ単位のロックを行い、該ディスクドライブ単位の
ロックのみを取り実行することを特徴とするキャッシュ
付ディスク制御装置の障害処理方法。 7、請求項1記載のキャッシュ付ディスク制御装置の障
害処理方法において、上記ホストコンピュータからのリ
ード/ライト命令の対象である正常な方のメモリ上の未
反映トラックに対する命令の実行を、上記ディスクドラ
イブ上の物理トラック上ではなく、該正常なメモリ上で
のみ行うことを特徴とするキャッシュ付ディスク制御装
置の障害処理方法。 8、請求項7記載のキャッシュ付ディスク制御装置の障
害処理方法において、上記ホストコンピュータからの更
新命令の対象である正常な方のメモリ上の未反映トラッ
クに対する更新命令の実行を該正常なメモリ上で行なっ
た後、該更新命令が実行された未反映トラックを当該す
るディスクドライブの物理トラックに書き込むことを特
徴とするキャッシュ付ディスク制御装置の障害処理方法
。 9、請求項1から請求項8のいずれか1つに記載のキャ
ッシュ付ディスク制御装置の障害処理方法を用いること
を特徴とするキャッシュ付ディスク制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1303967A JP2830218B2 (ja) | 1989-11-22 | 1989-11-22 | キャッシュ付ディスク制御装置の障害処理方法 |
US07/615,929 US5390186A (en) | 1989-11-22 | 1990-11-20 | Method of fault handling for a disk control unit with built-in cache |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1303967A JP2830218B2 (ja) | 1989-11-22 | 1989-11-22 | キャッシュ付ディスク制御装置の障害処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03164844A true JPH03164844A (ja) | 1991-07-16 |
JP2830218B2 JP2830218B2 (ja) | 1998-12-02 |
Family
ID=17927438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1303967A Expired - Lifetime JP2830218B2 (ja) | 1989-11-22 | 1989-11-22 | キャッシュ付ディスク制御装置の障害処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5390186A (ja) |
JP (1) | JP2830218B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06222988A (ja) * | 1992-12-17 | 1994-08-12 | Internatl Business Mach Corp <Ibm> | 記憶装置制御装置およびデータ保存方法 |
JP2013092982A (ja) * | 2011-10-27 | 2013-05-16 | Fujitsu Ltd | 書込制御プログラム、書込制御方法、書込制御装置およびシステム |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2963298B2 (ja) * | 1993-03-26 | 1999-10-18 | 富士通株式会社 | 二重化共有メモリにおける排他制御命令のリカバリ方法および計算機システム |
JP2905373B2 (ja) * | 1993-10-01 | 1999-06-14 | 富士通株式会社 | ディスク制御装置及びその制御方法 |
US5614914A (en) * | 1994-09-06 | 1997-03-25 | Interdigital Technology Corporation | Wireless telephone distribution system with time and space diversity transmission for determining receiver location |
US5548788A (en) * | 1994-10-27 | 1996-08-20 | Emc Corporation | Disk controller having host processor controls the time for transferring data to disk drive by modifying contents of the memory to indicate data is stored in the memory |
US5615335A (en) * | 1994-11-10 | 1997-03-25 | Emc Corporation | Storage system self-test apparatus and method |
JP3583829B2 (ja) * | 1995-04-13 | 2004-11-04 | 株式会社日立製作所 | 外部記憶サブシステムの制御方法および制御装置 |
JPH096546A (ja) * | 1995-06-19 | 1997-01-10 | Toshiba Corp | ディスク制御システム |
US5941994A (en) * | 1995-12-22 | 1999-08-24 | Lsi Logic Corporation | Technique for sharing hot spare drives among multiple subsystems |
US5761705A (en) * | 1996-04-04 | 1998-06-02 | Symbios, Inc. | Methods and structure for maintaining cache consistency in a RAID controller having redundant caches |
US5787461A (en) * | 1996-08-12 | 1998-07-28 | Roadrunner Technology, Inc. | High speed optical disk drive caching executable and non-executable data |
JP3204143B2 (ja) * | 1997-01-06 | 2001-09-04 | 日本電気株式会社 | ディスクキャッシュの制御方法 |
US5958068A (en) * | 1997-04-14 | 1999-09-28 | International Business Machines Corporation | Cache array defect functional bypassing using repair mask |
FR2762462B1 (fr) * | 1997-04-21 | 1999-05-28 | Alsthom Cge Alcatel | Systeme a stations receptrices de donnees installees en reseau |
US6748487B1 (en) * | 1998-02-04 | 2004-06-08 | Hitachi, Ltd. | Disk cache control method, disk array system, and storage system |
JP4771615B2 (ja) * | 2000-06-02 | 2011-09-14 | コンパック インフォメーション テクノロジーズ グループ リミテッド パートナーシップ | 仮想記憶システム |
US6591335B1 (en) | 2000-09-29 | 2003-07-08 | Emc Corporation | Fault tolerant dual cache system |
US6604171B1 (en) | 2000-09-29 | 2003-08-05 | Emc Corporation | Managing a cache memory |
JP2005071196A (ja) * | 2003-08-27 | 2005-03-17 | Hitachi Ltd | ディスクアレイ装置、及びその障害情報の制御方法 |
US7421535B2 (en) * | 2004-05-10 | 2008-09-02 | International Business Machines Corporation | Method for demoting tracks from cache |
US8205058B2 (en) * | 2004-12-10 | 2012-06-19 | International Business Machines Corporation | Resource management for data storage services |
JP2006227856A (ja) * | 2005-02-17 | 2006-08-31 | Hitachi Ltd | アクセス制御装置及びそれに搭載されるインターフェース |
US9152823B2 (en) * | 2005-04-22 | 2015-10-06 | Storagecraft Technology Corporation | Systems, methods, and computer readable media for computer data protection |
US7966450B2 (en) * | 2005-09-01 | 2011-06-21 | Micron Technology, Inc. | Non-volatile hard disk drive cache system and method |
JP2007199975A (ja) * | 2006-01-26 | 2007-08-09 | Hitachi Ltd | データ処理システム及びデータ処理方法 |
US20070288530A1 (en) * | 2006-06-08 | 2007-12-13 | Xeround Systems Ltd. | Method and a system for backing up data and for facilitating streaming of records in replica-based databases |
US20100251013A1 (en) * | 2009-03-26 | 2010-09-30 | Inventec Corporation | Method for processing bad block in redundant array of independent disks |
US8850114B2 (en) | 2010-09-07 | 2014-09-30 | Daniel L Rosenband | Storage array controller for flash-based storage devices |
TWI612420B (zh) * | 2015-12-15 | 2018-01-21 | 仁寶電腦工業股份有限公司 | 硬碟提示燈的處理裝置 |
US11341063B2 (en) * | 2019-01-31 | 2022-05-24 | Dell Products L.P. | Systems and methods for safely detecting indeterminate states of ranges in a self-encrypting storage resource |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3896419A (en) * | 1974-01-17 | 1975-07-22 | Honeywell Inf Systems | Cache memory store in a processor of a data processing system |
US4044337A (en) * | 1975-12-23 | 1977-08-23 | International Business Machines Corporation | Instruction retry mechanism for a data processing system |
US4357656A (en) * | 1977-12-09 | 1982-11-02 | Digital Equipment Corporation | Method and apparatus for disabling and diagnosing cache memory storage locations |
US4819154A (en) * | 1982-12-09 | 1989-04-04 | Sequoia Systems, Inc. | Memory back up system with one cache memory and two physically separated main memories |
JPS6079447A (ja) * | 1983-10-07 | 1985-05-07 | Hitachi Ltd | キヤツシユ付デイスクサブシステム |
US5201041A (en) * | 1988-12-29 | 1993-04-06 | International Business Machines Corporation | Cache bypass apparatus |
US5124987A (en) * | 1990-04-16 | 1992-06-23 | Storage Technology Corporation | Logical track write scheduling system for a parallel disk drive array data storage subsystem |
-
1989
- 1989-11-22 JP JP1303967A patent/JP2830218B2/ja not_active Expired - Lifetime
-
1990
- 1990-11-20 US US07/615,929 patent/US5390186A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06222988A (ja) * | 1992-12-17 | 1994-08-12 | Internatl Business Mach Corp <Ibm> | 記憶装置制御装置およびデータ保存方法 |
JP2013092982A (ja) * | 2011-10-27 | 2013-05-16 | Fujitsu Ltd | 書込制御プログラム、書込制御方法、書込制御装置およびシステム |
Also Published As
Publication number | Publication date |
---|---|
US5390186A (en) | 1995-02-14 |
JP2830218B2 (ja) | 1998-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH03164844A (ja) | キャッシュ付ディスク制御装置の障害処理方法 | |
US6772283B2 (en) | Disk control device and method processing variable-block and fixed-block accesses from host devices | |
CN102483704B (zh) | 具有高效的高速缓存支持的事务内存系统 | |
US6542960B1 (en) | System and method for parity caching based on stripe locking in raid data storage | |
US8700585B2 (en) | Optimistic locking method and system for committing transactions on a file system | |
KR101470713B1 (ko) | 버퍼링된 저장을 이용하여 트랜잭션들을 가속화하기 위한 메커니즘들 | |
KR101388865B1 (ko) | 무제한 트랜잭션 메모리(utm) 시스템에서의 모드 전환의 수행 | |
CN101308462B (zh) | 管理对共享存储器单元的存储器访问的方法和计算系统 | |
US6463503B1 (en) | Method and system for increasing concurrency during staging and destaging in a log structured array | |
US20040019821A1 (en) | Method and apparatus for reliable failover involving incomplete raid disk writes in a clustering system | |
JPS60147855A (ja) | 記憶管理装置 | |
KR20080086875A (ko) | 데이터베이스를 관리하기 위한 컴퓨터 구현 방법, 및데이터베이스에 지향되는 트랜잭션들을 관리하기 위한컴퓨터 구현 방법 | |
US6516389B1 (en) | Disk control device | |
US5504857A (en) | Highly available fault tolerant relocation of storage with atomicity | |
JPH03223945A (ja) | 仮想記憶管理方法 | |
US6658541B2 (en) | Computer system and a database access method thereof | |
KR20080053878A (ko) | 데이터 기억 장치, 그 데이터 재배치 방법, 프로그램을기록한 기록 매체 | |
US11543989B2 (en) | Storage system and control method thereof | |
US6336164B1 (en) | Method and system for preventing deadlock in a log structured array | |
US5432929A (en) | Storage subsystem having a modifiable key-lock | |
US5586290A (en) | Cache system of external storage device | |
US6993627B2 (en) | Data storage system and a method of storing data including a multi-level cache | |
JP4713951B2 (ja) | 仮想テープライブラリシステムおよび仮想テープ書き込み方法 | |
JP3814521B2 (ja) | データ処理方法および装置 | |
US20030177367A1 (en) | Controlling access to a disk drive in a computer system running multiple operating systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070925 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080925 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080925 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090925 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090925 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100925 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100925 Year of fee payment: 12 |