JPH07110788A - ディスクキャッシュ装置 - Google Patents

ディスクキャッシュ装置

Info

Publication number
JPH07110788A
JPH07110788A JP5256216A JP25621693A JPH07110788A JP H07110788 A JPH07110788 A JP H07110788A JP 5256216 A JP5256216 A JP 5256216A JP 25621693 A JP25621693 A JP 25621693A JP H07110788 A JPH07110788 A JP H07110788A
Authority
JP
Japan
Prior art keywords
disk
cache
data
control means
write
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
Application number
JP5256216A
Other languages
English (en)
Other versions
JP3188071B2 (ja
Inventor
Keiichi Yorimitsu
圭一 依光
Sawao Iwatani
沢男 岩谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP25621693A priority Critical patent/JP3188071B2/ja
Priority to US08/266,737 priority patent/US5734859A/en
Publication of JPH07110788A publication Critical patent/JPH07110788A/ja
Priority to US08/606,081 priority patent/US5835940A/en
Application granted granted Critical
Publication of JP3188071B2 publication Critical patent/JP3188071B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1009Cache, i.e. caches used in RAID system with parity

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)

Abstract

(57)【要約】 【目的】ユーザの運用形態とディスクアレイに適合して
最適化されたディスクキャッシュ動作を提供する。 【構成】2組のコントローラに各々キャッシュ機構を設
け、各系統に同一データを格納する信頼性重視モード、
各系統ごとに独立にデータを格納する性能重視モード、
両者を折衷した平均モードのいずれかで動作可能とす
る。RAID0,1,3,5て動作するディスクアレイ
を対象としたキャッシュ処理を効率的に行なう。RAI
D5の動作でもディスクリードを必要とせずにパリティ
を計算できるRAID3的なアクセスを可能とするよう
にキャッシャブロック上に有効データを準備する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ホストコンピュータか
らの指示により磁気ディスクサブシステムのリードとラ
イトを行うキャッシュメモリを備えたディスクキャッシ
ュ装置に関し、更に、磁気ディスクサブシステムにディ
スクアレイを用いたディスクキャッシュ装置に関する。
【0002】近年、コンピュータ本体の性能の向上に伴
い、コンピュータ本体のデータ格納媒体である磁気ディ
スク装置を用いた入出力サブシステムの性能向上も望ま
れている。このため磁気ディスク装置よりもビットコス
トは高いが、高速アクセスが可能な半導体メモリをキャ
ッシュメモリとして用いたディスクキャッシュ装置が登
場した。
【0003】すなわち、磁気ディスクサブシステムの一
部のデータをキャッシュメモリ上に置き、キャッシュメ
モリをリードまたはライトすることでアクセスを高速化
するという手法である。初期のディスクキャッシュ装置
には、揮発性のメモリ素子が使用されており、電源障害
等の発生でデータ消失に至る可能性があり、リード処理
はキャッシュヒットになれば高速に処理できる。
【0004】しかし、ライト処理は磁気ディスク装置と
キャッシュメモリの両方の同時更新を実行しなければな
らないため、高速化できなかった。その後、不揮発性の
メモリ素子を使用したディスクキャッシュ装置が出るに
及び、ライト処理においてはライトデータの更新をキャ
ッシュ上のみで行い、ライト処理の完了後にディスク装
置に書き込むライトバック処理が可能となった。
【0005】このライトバック処理の実現によりライト
処理の高速化が行われた。しかし、メモリを不揮発性を
維持するためのバッテリ容量とコストの問題等で不揮発
性メモリと揮発性メモリを混在させ、コストと性能の最
適化を図った装置が多い。しかし、不揮発性メモリと揮
発性メモリを混在させたディスクキャッシュ装置では、
ライト要求がリード要求よりも圧倒的に多いユーザ環境
では、ライトバック処理を行う余裕がなく、ユーザに適
応出来ないことが多く、より一般的で高速性と信頼性重
視のある装置が望まれている。
【0006】更に近年、ディスクアレイ装置を構成する
複数の磁気ディスクを組合せ、RAIDとして知られた
動作形態をとるものが普及しだしている。これらRAI
D型ディスクアレイ装置に対してもディスクキャッシュ
装置を適用し、最適化を図ることが望まれている。
【0007】
【従来の技術】図41は揮発性キャッシュメモリのみで
構成した従来のディスクキャッシュ装置を示す。ホスト
コンピュータ100からチャネル104−1,104−
2を介してアクセスされる2台のコントローラ102−
1,102−2が接続される。コントローラ102−
1,102は、下位のドライブインタフェースによりア
ダプタ108−1,108−2を介してドライブとして
磁気ディスク装置110−1,110−2,110−3
を接続する。
【0008】またコントローラ102−1,102−0
2は、下位のキャッシュインタフェースを介して共用さ
れる不揮発性のメモリ素子を用いたキャッシュメモリ1
06を接続している。図42はキャッシュメモリに要求
データが存在した場合の動作を示す。ホストコンピュー
タ100から例えばコントローラ102−1にリード要
求があると、コントローラ102−1はキャッシュメ
モリ106に要求データが存在するか否かをハッシュテ
ーブルを参照して調べるヒット判定を行う。
【0009】すなわちキャッシュヒットの判定は、通
常、磁気ディスク装置のアクセス単位であるシリンダ、
トラック、ブロック等のハッシュパラメータからハッシ
ュアドレス(ハッシュエントリ)を計算し、計算したハ
ッシュアドレスで指定される要求データがハッシュテー
ブルに登録されているか否かをチェックする。要求デー
タの存在を示すヒット判定が得られると、キャッシュメ
モリ106からデータを読出してホストコンピュータ
100に転送する。
【0010】一方、キャッシュメモリ106は要領的に
制限があることから、LRUテーブル(Least Recent U
se Table) を用いたキャッシュ管理が行われる。LRU
テーブルは最新に使用されたキャッシュブロックをテー
ブルの先頭位置に登録し、最も古いキャッシュブロック
がテーブルの最後に位置することになる。LRUテーブ
ルの登録が一杯になると古いブロックから破棄し新たな
ブロックを登録する。また一定期間アクセスがないキャ
ッシュブロックは、キャッシュメモリの使用効率を高め
るため破棄する。このキャシュブロックの登録を破棄し
てそのスペースを確保する処理をキャッシュ無効化とい
う。キャッシュ無効化はハッシュテーブルの登録を削除
することで実現できる。
【0011】図43はキャッシュメモリに要求データが
存在しなかった場合の動作を示す。ホストコンピュータ
100からのリード要求に対するヒット判定でデー
タが存在しないミスヒットになると、磁気ディスク装置
110から要求データをリードしてキャッシュメモリ1
06に書込むステージングを実行する。このステージ
ングは、磁気ディスク装置110の目的シリンダにヘ
ッドを位置付けるシーク動作とシーク完了後のヘッド選
択に基づく目的トラックへのオントラック動作等の機械
的動作を伴うことから、キャッシュメモリ106のアク
セスに比べ時間がかかる。
【0012】コントローラ102−1はキャッシュメモ
リ106のステージングが完了すると、このデータ
をホストコンピュータ100に転送し、ハッシュテーブ
ルにデータが存在すること(ヒット状態)を登録する。
図44はライト要求に対する図41の装置の処理動作を
示す。ホストコンピュータ100からライト指示をコ
ントローラ102−1が受けると、キャッシュメモリ1
06と磁気ディスク装置110の両方にデータを書込む
ライトスルーを行う。
【0013】これはキャッシュメモリ106が揮発性で
あり、電源障害等でデータの消失,データ化け等発生す
る可能性があり、信頼性に対する考慮からコントローラ
102はデータをキャッシュメモリ106に書込むと同
時に磁気ディスク装置110にも書込む。ライトスルー
されたデータは次回のリードでは必ずキャッシュヒット
となる。即ち、ライト処理に要する時間は、キャッシュ
なしの場合と同じ時間が必要でキャッシュ導入の効果は
ない。
【0014】ここで、図41の従来装置のライト処理
は、磁気ディスク装置とキャッシュメモリの両方を同時
更新を実行しなければならないため、高速化できなかっ
た。そこで図45に示す揮発性キャッシュメモリと不揮
発性キャッシュメモリを使用した装置が現われた。図4
5において、ホストコンピュータ200にチャネル20
4−1,204−2を介して接続された2台のコントロ
ーラ202−1,202−2は、下位のデバイスインタ
フェース側を全てのモジュール間での通信等を可能とす
る共有バス206を介して接続する。
【0015】共用バス206にはコントローラ202−
1,202−2で共用される揮発性キャッシュメモリ2
06と不揮発性メモリ210が設けられる。更に共用バ
ス206にコントローラ212−1,212−2とアダ
プタ214−1,214−2を介して複数の磁気ディス
ク装置216−1,216−2が接続される。ここで各
系統ごとに複数のコントローラを設けて各々に固有の処
理機能に持たせるマルチコントローラ構成とすること
で、コントローラ単体の場合に比べて負荷を軽減させ、
全体のスループットを向上させている。
【0016】揮発性キャッシュメモリ208は図41の
従来装置で使用したものと同様である。不揮発性キャッ
シュメモリ210は、ディスク装置に対するデータ書込
を高速化するために設けられ、揮発性キャッシュメモリ
208に対する書込データ218と同じデータが書込ま
れる。不揮発性キャッシュメモリ210に書込まれたデ
ータは、ライト処理の完了後にライトバックという処理
で磁気ディスク装置にに書込まれる。
【0017】図46はリード要求がミスヒットとなった
時の図45の装置のステージングを示す。46におい
て、ホストコンピュータ200からリード要求を受け
ると、コントローラ202−1は不揮発性メモリ208
のヒット判定を行う。ミスヒットの場合は、磁気ディ
スク装置216から要求テータをリードするステージン
グを行い、キャッシュ管理テーブルに登録した後にホ
ントコンピュータ200にデータ転送を行う。
【0018】図47は図45の装置のライト処理を示
す。46において、ホストコンピュータ200からライ
ト指示があると、コントローラ202−1は揮発性キ
ャッシュメモリ208と不揮発性キャッシュメモリ21
0の両方にライトデータの書込みを行い、キャッシュ
管理テーブルを更新してホストコンピュータにライト完
了を報告する。
【0019】不揮発性キャッシュメモリ210に書込さ
れたデータは、予め定めたライトバック処理条件が成立
した時、例えば一定期間、リード又はライトされなかっ
た場合、ライトバック対象データとして抽出され、磁気
ディスク装置に書込むライトバックが行われる。この
ライトバックに伴いライトバック済みのデータにつき
不揮発性キャッシュ210を無効化して破棄させる。一
方、ライトバック済みデータは揮発性キャッシュ208
では有効であり、リード要求に対してはヒット状態にあ
る。
【0020】
【発明が解決しようとする課題】ところで、揮発性と不
揮発性のキャッシュメモリを混在させた従来のディスク
キャッシュ装置にあっては、揮発性キャッシュメモリの
みの場合のネックであったライト処理時間が、リード処
理でキャッシュヒットした場合と同じ時間に改善されて
いる。
【0021】しかしながら、不揮発性キャッシュメモリ
の容量が揮発性キャッシュメモリに比べて小さく、この
ためライトバックの回数が増加し、ライトバックのため
にディスク側のコントローラと磁気ディスク装置の使用
率が上昇し、システムのスループットが低下する問題が
ある。すなわち、不揮発性キャッシュメモリに格納でき
るデータ量が大きくとれないため、新規のライトデータ
を格納するには古いデータを磁気ディスク装置にライト
バックして不揮発性キャッシュメモリを開放する必要が
多く発生する。このため、ライトバック処理によりホス
トコンピュータからの新たな処理が実行出来ないことが
ある。
【0022】また不揮発性キャッシュメモリ自体に何ら
かの障害が発生した場合には、ライトバックができなく
なり、ディスクキャッシュの機能が失われてしまう問題
があった。本発明は、このような従来の問題点に鑑みて
なされたもので、磁気ディスクサブシステムの運用形態
に応じた適合したキャッシュ機能を最大限に発揮できる
ディスクキャッシュ装置を提供することを目的とする。
【0023】一方、近年にあっては、計算機システムの
外部記憶装置として、記録の不揮発性、大容量性、デー
タ転送の高速性等の特長を持つ磁気ディスク装置、光デ
ィスク装置等のディスク装置が広く用いられている。デ
ィスク装置に対する要求は、高速データ転送、信頼性重
視、大容量性、低価格である。これらの要求を満たすも
のとして、ディスクアレイ装置が注目されてきている。
ディスクアレイ装置とは、小型ディスク装置を数台から
数十台並べ、複数のディスク装置に分散してデータを記
録して、並列的にアクセスする装置である。
【0024】ディスクアレイ装置で並列的に複数のディ
スク装置にデータ転送を行えば、一台のディスク装置の
場合と比べて、ディスクの台数倍の高速データ転送が可
能になる。また、データに加えて、パリティデータなど
の冗長な情報を付け加えて記録しておくことで、ディス
ク装置の故障等を原因とするデータエラーの検出と訂正
が可能となり、ディスク装置の内容を二重化して記録す
る方法と同程度の信頼性重視を、二重化より低価格で実
現することができる。
【0025】従来、カルフォルニア大学バークレイ校の
デビット・A・パターソン(DavidA. Patterson) ら
は、高速に大量のデータを多くのディスクにアクセス
し、ディスク故障時におけるデータの冗長性を実現する
ディスクアレイ装置について、レベル1からレベル5ま
でに分類付けを行って評価した論文を発表している(AC
MSIGMOD Conferance, Chicago, Illinois, June 1-3, 1
988 P109-P116)。
【0026】このデビット・A・パターソンらが提案し
たディスクアレイ装置を分類するレベル1〜5は、RA
ID(Redundant Arrays of Inexpensive Disks )1〜
5と略称される。RAID1〜5を簡単に説明すると次
のようになる。RAID0は、データの冗長性をもたな
いディスクアレイ装置であり、デビット・A・パターソ
ンらの分類には含まれていないが、これを仮にRAID
0と呼ぶ。
【0027】RAID1は、2台のディスク装置を1組
として同一データを書込むミラーディスク装置であり、
ディスク装置の利用効率が低いが冗長性をもっており、
簡単な制御で実現できるため、広く普及している。RA
ID2は、データをビットやバイト単位でストライピン
グ(分割)し、それぞれのディスク装置に並列に読み書
きを行う。ストライピングしたデータは全てのディスク
装置で物理的に同じセクタに記録する。
【0028】データ用ディスク装置の他にハミングコー
ドを記録するためのディスク装置を持ち、ハミングコー
ドから故障したディスク装置を特定して、データを復元
する。しかし、実用化されていてない。RAID3は、
データをビット又はバイト単位にストライピングしてパ
リティを計算し、ディスク装置に対しデータおよびパリ
ティを並列的に書込む。RAID3は、大量のデータを
連続して扱う場合には有効であるが、少量のデータをラ
ンダムにアクセスするトランザクション処理のような場
合には、データ転送の高速性が生かせず、効率が低下す
る。
【0029】RAID4は、1つのデータをセクタ単位
にストライピングして同じディスク装置に書込む。パリ
ティは固定的に決めたディスク装置に格納している。デ
ータ書込みは、書込み前のデータとパリティを読み出し
てから新パリティを計算して書き込むため、1度の書込
みについて、合計4回のアクセスが必要になる。また書
込みの際に必ずパリティ用のディスク装置へのアクセス
が起きるため、複数のディスク装置の書込みを同時に実
行できない。このようにRAID4の定義は行われてい
るが、メリットが少ないため現在のところ実用化の動き
は少ない。
【0030】RAID5は、パリティ用のディスク装置
を固定しないことで、並列的なリード、ライトを可能に
している。即ち、セクタごとにパリティの置かれるディ
スク装置が異なっている。パリティディスクが重複しな
ければ異なるディスク装置にセクタデータを並列的に書
込むことができる。このようにRAID5は非同期に複
数のディスク装置にアクセスしてリード又はライトを実
行できるため、少量データをランダムにアクセスするト
ランザクション処理に向いている。
【0031】このようなRAID型で分類されるディス
クアレイ装置は、システムの運用形態に応じてRAID
の動作形態が選択されているが、最近は、1つのディス
クアレイ装置で、RAID0,1,3および5に動作モ
ードを異なるディスク装置に割当ててホストコンピュタ
ータが論理デバイスとして選択指定できるようにしたも
のが出されている。
【0032】このようなRAID型のディスクアレイ装
置においても、ディスクキャッシュ装置を使用すること
で処理性能をより一層向上させることができるが、RA
IDの動作形態に適合したディスクキャッシュの機能を
最適化する必要がある。従って、本発明の他の目的は、
RAID型で動作形態が分類されたディスクアレイ装置
を対象にディスクキッシュ機能の最適化を図ったディス
クキャッシュ装置を提供するることを目的とする。
【0033】
【課題を解決するための手段】図1は本発明の原理説明
図である。 [第1発明]まず第1発明のディスクキャッシュ装置
は、図1(A)に示すように、上位装置10からのアク
セス要求に対しディスク装置30のデータを読み書きす
る一対のディスク制御手段12と、ディスク制御手段1
2の各々に設けられ、ディスク装置30に格納されたデ
ータの一部を記憶するキャッシュ記憶手段48と、一対
のディスク制御手段12の各々に設けられたキャッシュ
制御手段46と、一対のディスク制御手段12の間を結
合してアクセス要求などの情報およびデータの送受を行
う共用バス手段18とを備える。
【0034】ここでキャッシュ制御手段46には、信頼
性重視モードキャッシュ制御手段72、性能重視モード
キャッシュ制御手段74、又は平均モードキャッシュ制
御手段76が設けられ、動作モード設定手段70により
装置の立上り時に設定された動作モードに従ったキャッ
シュ制御が行われる。 I) 信頼性重視モード 動作モード設定手段70で信頼性重視モードを設定した
場合、一対のディスク制御手段12に設けた信頼性重視
モードキャッシュ制御手段72の各々は、一対のディス
ク制御手段12に設けたキャッシュ記憶手段48の各々
に、同一のデータを記憶する。
【0035】具体的には、上位装置10からのリード要
求に対し自己のキャッシュ記憶手段48に該当データが
なかった場合(ミスヒット)は、ディスク装置30から
該当データを読出してステージングして上位装置10に
データを転送し、同時に共通バス手段18を介して他の
ディスク制御手段12に転送して他方のキャッシュ記憶
手段48−2に同じデータをステージングさせる。
【0036】また上位装置10からのライト要求に対し
ては、自己のキャッシュ記憶手段48にデータを書込む
と共に、共通バス手段18を介して他のディスク制御手
段12に転送して他方のキャッシュ記憶手段(48)に
も同じデータを書込ませる。更にライト要求の処理終了
後のライトバック処理として、ライトバック条件の成立
時に、自己のキャッシュ記憶手段48からディスク装置
30への書込みが済んでいないデータ(以下「ダーティ
データ」という)を抽出してディスク装置30に書き戻
すと共に、共用バス手段18を介して書戻し済みデータ
のキャッシュ無効化を他方のディスク制御手段12に指
示する。 II) 性能重視モード 動作モード設定手段70で性能重視モードを設定した場
合は、一対のディスク制御手段12に設けた性能重視モ
ードキャッシュ制御手段74の各々は、一対のディスク
制御手段12に設けたキャッシュ記憶手段48の各々
に、自己にアクセス要求のあったデータのみを個別に記
憶する。
【0037】具体的には、上位装置10からのリード要
求に対し自己のキャッシュ記憶手段48に該当データが
なかった場合は、他方のディスク制御手段12に対し共
用バス手段18を介して処理を依頼し、他のディスク制
御手段12からのデータなしの応答を受けた際にディス
ク装置30から該当データを読出して自己のキャッシュ
記憶手段48にステージングして上位装置10にデータ
を転送する。
【0038】また上位装置10からのライト要求に対し
ては、自己のキャッシュ記憶手段48にのみデータを書
込む。ライトバック処理は、書戻し条件が成立した際
に、自己のキャッシュ記憶手段48からディスク装置3
0へ書込みが済んでいないダーティデータを抽出してデ
ィスク装置30に書き戻す。 III) 平均モード 動作モード設定手段70で平均モードを設定した場合、
一対のディスク制御手段12に設けた平均モードキャッ
シュ制御手段76の各々は、一対のディスク制御手段1
2の各々は、上位装置10からのリード要求に伴うディ
スク装置30からのステージングは自己のキャッシュ記
憶手段48に対してのみ行い、上位装置10からのライ
ト要求に伴うデータの書込みは、一対のディスク制御手
段12のキャッシュ記憶手段48の各々に行って同一デ
ータを記憶する混在型とする。
【0039】具体的には、上位装置10からのリード要
求に対し自己のキャッシュ記憶手段48に該当データが
なかった場合は、他方のディスク制御手段12に対し共
用バス手段18を介して処理を依頼し、依頼後にディス
ク装置30から該当データを読出して自己のキャッシュ
記憶手段48にステージングする。ここで他方のディス
ク制御手段12への処理依頼に対しデータなしの応答を
受けていた際には、ディスク装置30から該当データを
読出して自己のキャッシュ記憶手段48にステージング
した後に上位装置10に転送する。
【0040】また上位装置10からのライト要求に対し
ては、自己のキャッシュ記憶手段48にデータを書込む
と共に、共通バス手段18を介して他のディスク制御手
段12に転送して他方のキャッシュ記憶手段48にも同
じデータを書込ませる。この点は信頼性モードと同じで
ある。更にライトバック処理は、書戻し条件が成立した
際に、自己のキャッシュ記憶手段48からディスク装置
30への書込みが済んでいないダーティデータを抽出し
てディスク装置30に書き戻すと共に、共用バス手段1
8を介して書戻しデータのキャッシュ無効化を他方のデ
ィスク制御手段12に指示する。これは性能重視モード
と同じである。
【0041】IV) メモリ構成 更に、信頼性重視モード、性能重視モード及び平均モー
ドのいずれについても、一対のディスク制御手段12に
設けたキャッシュ記憶手段48の各々を、不揮発性メモ
リとする。但し、信頼性重視モードについては、両方と
も揮発性メモリでもよい。またディスク装置30をディ
スクアレイ装置としてもよい。 [第2発明]図1(B)はディスクアレイ装置のRAI
D形態に適合した第2発明のディスクキャッシュ装置の
原理説明図である。
【0042】このディスクキャッシュ装置は、複数のデ
ィスク装置30を設けたディスクアレイ手段28を備え
る。ディスクキャッシュ機構としては、ディスクアレイ
手段28に格納されたデータの一部を記憶して上位装置
10からのアクセス要求に対しデータを読み書きするキ
ャッシュ記憶手段48を持ち、キャッシュ管理手段50
のハッシュテーブル手段60およびLRUテーブル手段
62に基づいてキャッシュ記憶手段48の記憶状態を管
理する。
【0043】またリードキュッシュ制御手段46−1と
ライトキャッシュ制御手段46−2が設けられる。リー
ドキャッシュ制御手段46−1は、上位装置10からリ
ード要求を受けた際に、キャッシュ管理手段50のハッ
シュテーブル手段60を参照し、要求データが存在する
場合は、キャッシュ記憶手段48から読出して上位装置
10に転送する。要求データが存在しない場合は、ディ
スクアレイ手段28からステージングした後に上位装置
10に転送する。
【0044】ライトキャッシュ制御手段46−2は、上
位装置10からライト要求を受けた際に、キャッシュ管
理手段50のハッシュテーブル手段60に書込を示す情
報を登録すると共に、キャッシュ記憶手段48にデータ
を書込み、書込み済みのキャッシュブロックをLRUテ
ーブル手段62の先頭にリンクする。またライトバック
制御手段が設けられ、予め定めたライトバック条件が成
立した際に、キャッシュ記憶手段48からディスクアレ
イ手段28への記憶が済んでいないデータを抽出して書
戻す。
【0045】更にディスクアレイ制御手段50が設けら
れ、リードキャッシュ制御手段46−1および前記ライ
トキャッシュ制御手段46−2によるディスクアレイ手
段28のアクセス時に、予め設定されたディスクアレイ
のRAID動作モードに従って1又は複数のディスク装
置30のアクセスを制御する。 I) RAID動作モード ディスクアレイ手段28は、並列的に配置された入出力
ポートの各々にディスク装置30を接続して1ランクを
構成し、この1ランク構成のディスク装置群を複数ラン
ク設けている。ディスクアレイ制御手段52は、RAI
D0,RAID1、RAID3又はRAID5に対応し
た第1〜第4動作モードを設定する。
【0046】RAID0に対応した第1動作モードの設
定時は、特定のランクの中のディスク装置30を上位装
置10で扱う論理デバイスに1対1に割当て、個々のデ
ィスク装置30に読み書きを行う。RAID1に対応し
た第2動作モードの設定時は、特定のランクの中の2台
のディスク装置30を1組として上位装置10で扱う論
理デバイスに1対1に割当て、2つのディスク装置30
に同一データを書込むと共にいずれか一方のディスク装
置30からデータを読出すミラーディスクとする。
【0047】RAID3に対応した第3動作モードの設
定時は、特定のランクを構成するn台のディスク装置3
0をデータ用とパリティ用とに固定的に割当て、上位装
置10からの書込要求時に、書込データをビット単位又
はバイト単位に(n−1)分割すると共に分割単位ごと
にパリティデータを計算し、(n−1)分割したデータ
およびパリティデータをn台のディスク装置30に並列
的に書込む。
【0048】RAID5に対応した第4動作モードの設
定時は、特定のランクを構成するn台のディスク装置3
0を1組としてアクセスごとにパリティ位置が変化する
ように割当て、上位装置10からの書込要求時に、書込
データを少なくともセクタ単位に分割すると共に、書込
データの書込先ディスク装置30およびパリティ用ディ
クス装置から旧データおよび旧パリティデータを読出し
て新パリティを計算し、前記書込データ及び新パリティ
データを前記書込先ディスク装置30およびパリティ用
ディクス装置に並列的に書込む。 II) キャッシュメモリの空スペースの確保 キャッシュ管理手段50は、キャッシュ記憶手段48の
空き状態を管理する空スペース管理テーブル手段60を
備える。ライトキャッシュ制御手段46−1は上位装置
10に基づくキャッシュ書込処理の完了報告時に空スペ
ース管理テーテブル手段64を参照し、空スペースが予
め定めた閾値以下の場合、ディスク書込済みのデータは
無効化してキャッシュ記憶手段48から削除し、且つデ
ィスク書込みが済んでいないダーティデータはライトバ
ック手段45による処理動作を準備する。これにより常
に一定量の空スペースがキャッシュ記憶手段48に確保
され、ライト動作が迅速にできる。
【0049】空スペース管理テーブル手段64には、キ
ャッシュ記憶手段48上の連続するキャッシュブロック
の空ブロック数をエントリ(インデックス)として先頭
ブロックの位置情報を格納する。 III) ステージング動作] リードキャッシュ制御手段46−1は、上位装置10か
らのリード要求データがキャッシュ記憶手段48の格納
単位であるキャッシュブロック上に存在しない時、キャ
ッシュブロック上に存在する有効データの状態に応じて
ディスクアレイ手段28から新たなデータのステージン
グを行って連続する一つのデータ領域を生成する。
【0050】ステージング終了後に、リード要求データ
に続く有効データをディスクアレイ手段28からキャッ
シュブロック上にプリフェッチする。このプリフェッチ
するデータ量は、RAID1に対応する第3動作モード
の設定時は、予め設定した量の有効データとする。RA
ID3に対応する第3動作モードの設定時又はRAID
5に対応する第4動作モードの設定時には、キャッシュ
ブロックの最後までの有効データとする。
【0051】RAID5に対応する第4動作モードの設
定時には、リード要求データを含むパリティグループの
最後までの有効データとしてもよい。これはキャッシュ
ブロックサイズとパリティグループのブロックサイズが
一致する場合である。RAID5に対応する第4動作モ
ードの設定時に、リードキャッシュ制御手段46−1
は、オプション指定によりキャッシュ記憶手段48にパ
リティデータもステージングし、この場合、ライトバッ
ク手段45は、キャッシュ記憶手段48のパリティデー
タを用いて新たなパリティを計算する。これによりライ
トバックの際の旧データおよび旧パリティのディスク読
出を不要にできる。 IV) シーケンシャルデータのLRU管理 リードキャッシュ制御手段46−1は、上位装置10か
ら大量シーケンシャルデータのリード要求に対しステー
ジングを行った場合、キャッシュ記憶手段48のLRU
テーブル手段62を参照して末尾から所定量のキャッシ
ュブロックとなる記憶データの一部を無効化すると共
に、大量シーケンシャルデータをLRUテーブル手段6
2の先頭に登録せずに終端側に登録する。これによって
比較的短期間で大量シーケンシャルデータをキャッシュ
記憶手段から追い出すことができる。 V) ライトバック処理] RAID5に相当する第4動作モードの設定時に、ライ
トバック手段45は、キャッシュブロックの中のライト
バックの対象となった有効データをパリティグループ単
位に抽出してパリティデータを算出した後に、抽出した
有効データおよびパリティデータをディスクアレイ手段
28の複数のディスク装置30に並列的に書込む。即
ち、RAID5であってもRAID3と同様に動作させ
てライトバックを効率良く行う。
【0052】またライトバック手段45は、キャッシュ
ブロックの中のライトバックの対象となった有効データ
のパリティグループに対する不足数が所定数以下の場
合、例えば1ブロック以下の場合、不足データを対応す
るディスク装置30から読出した後にパリティグループ
分の有効データおよび計算したパリティデータをディス
クアレイ手段28の複数のディスク装置30に並列的に
書込むことでRAID3的な動作を可能とする。
【0053】ライトバック手段45は、所定のライトバ
ック条件が成立した際に、LRUテーブル手段62内の
終端から所定数のキャッシュブロックをライトバック対
象に指定すると共に、この範囲に含まれるキャッシュブ
ロックをデータが連続するように並び替え、RAID3
的なライトバックを可能とする。 VI) キャッシュブロックサイズの自動設定] 更に本発明は、装置の使用中に上位装置10からのアク
セス要求で使用されるデータブロックサイズを統計情報
として収集し、この統計情報の平均値を次の装置立ち上
げ時のキャッシュ記憶手段48のキャッシュブロックサ
イズとして自動設定する統計処理手段を設ける。
【0054】
【作用】まず図1(A)の第1発明の作用を説明する。
第1発明のディスクキャッシュ装置で信頼性重視モード
を設定した場合には、、両系統のキャッシュメモリ内の
データを常に同一とするようにキャッシュ動作が行われ
る。即ち二重化されたキャッシュメモリを独立に使用す
るのではなく、片側データをバックアップ用と考えてい
る。
【0055】この場合の長所は、データが常に二重化さ
れており片側データの喪失時データが保障され高い信頼
性が得られる。また短所としては、キャッシュメモリの
半分がバックアップ用であり、使用効率が低くなる。ま
た第1発明のディスクキャッシュ装置で性能重視モード
を設定した場合には、各キャッシュメモリのデータは独
立であり、信頼性モードの最大2倍の容量のキャッシュ
メモリとして使用できる。
【0056】この場合の長所は、両系統のキャッシュメ
モリが独立に動作し、また他方からの参照更新が可能で
あるためキャッシュ容量が増大する。短所としては、メ
モリ障害,電源障害でデータ消失、データ化け等の障害
が発生する確立が高くなる。また他系統にキャッシュ処
理を依頼したヒットとなった時は、リモート側キャッシ
ュに対してのリードとなるので性能が低下する。
【0057】更に第1発明のディスクキャッシュ装置で
平均的モードを設定した場合は、基本的には信頼性重視
モードと性能重視モードの混在型となる。すなわち、リ
ード要求のミスヒット時のステージングは自己のキャッ
シュメモリに対してのみ行い、またデータのライトは両
方系統のキャッシュメモリに対して行う。これによりラ
イト処理の少ない環境ではキャッシュ容量は性能重視モ
ードと同様に2倍となり、またライト処理が多く発行さ
れる環境では信頼性重視モードと同様に障害に対して強
い形になる。この場合の長所と短所は、使用環境、即ち
リードとライトの発行比率に応じていずれかの信頼性重
視モードと性能重視モードの長所と短所が強く現れるこ
とになる。
【0058】次に図1(B)のディスクアレイを対象と
したディスクキャッシュ装置の作用を説明する。まず第
2発明にあっては、キャッシュメモリの管理に使用する
空スペース管理テーブルを備える。すなわちキャッシュ
メモリ上にないデータに対してのステージング又はライ
トが指示された場合、コントローラはキャッシュメモリ
上の未使用の空間から新たなキャッシュブロックを割当
て、ディスク装置からのステージングによるデータ、あ
るいはホストコンピュータからのライトデータを受領す
る。
【0059】この場合、キャッシュメモリ上に一定量の
空き空間が残るように空スペース管理テーブルを用いて
管理される。すなわち残り容量が規定値以下になるよう
な状況が発生すると、キャッシュメモリ上の有効データ
の追い出しがスケジュールされる。即ち、ディスク書込
が済んだデータはハッシュエントリで指定されるLRU
テーブルの登録を抹消する無効化を行う。またディスク
書込みが済んでいないダーティデータは、ディスクへの
書き戻しがスケジュールされる。これにより新たな上位
装置からのリード又はライト要求に対し常にキャッシュ
メモリ上に空き空間が用意され、直ちに処理が開始でき
る。
【0060】次に第2発明にあっては、リード要求に対
しキャッシュメモリがミスヒットとなった時のディスク
装置からのステージングを、キャッシュメモリを使用し
たことによる効果が最大に発揮できるように行う。これ
は要求されたホストブロック分のデータをディスク装置
からキャッシュブロック上にステージングした後に、後
続するホストブロックに対応するデータをディスク装置
からプリフェッチすることで実現される。
【0061】このようにステージングが済んだホストブ
ロックに引き続くブロックに対して先読み動作を行うこ
とで、ホストコンピュータからの逐次リード要求に対し
てキャッシュ効果を最大限にする処理ができる。この場
合のプリフェッチ量は、RAID0,1,3,5で異な
る。まずRAID3は1つのホストブロックが所定バイ
ト数単位に各ディスク装置に分散して格納されており、
ステージングが高速に行われること及び大容量データが
要求される場合が多いことを考慮し、ステージングされ
た有効ブロックを含むキャッシュブロックの最後までの
ホストブロックに対応するデータをプリフェッチする。
【0062】RAID5は、基本的にはリード転送速度
はディスク装置の速度以上は出ず、、ステージング速度
がRAID3より遅いこと、また小容量データのリード
処理が中心になることから、ステージングが済んだブロ
ックに続く次のパリティグループ(パリティ用ディスク
装置を同一とするグループ)までとする。ここで、キャ
ッシュブロックサイズとパリティグループのブロックサ
イズが同一となるようにストライピングを行えば、キャ
ッシュブロックの最後迄がプリフェッチ量となり、RA
ID3的な高速ステージングが可能となる。
【0063】更にプリフェッチ後のキャッシュブロック
上で、連続する有効ブロックに空きがあって分散してい
る場合には、この空ブロックに内部的なステージングを
実行し、キャッシュプロック上の有効データを連続ブロ
ック領域とし、データ管理を容易にする。また第2発明
のディスクキャッシュ装置は、大量シーケンシャルデー
タのステージングに対し、その追い出しを可能ながぎり
早めるようにキャッシュメモリを管理する。
【0064】一般にディスクキャッシュ装置は同一デー
タを頻繁にリードすると効果が出る。ホストコンピュー
タがキャッシュメモリ上に存在しない大量データのリー
ド要求を行ったとき、ディスク装置からデータをステー
ジングしホストに転送する。このデータは一度しか参照
されないにも関わらずそのままキャッシュメモリ上に残
しておくと、キャッシュスペースが有効に利用されない
ことになる。しかし直ちに無効化することも出来ない。
【0065】そこで、ホストコンピュータが一定量以上
のデータ、例えばキャッシュブロック100分相当等を
要求した時、ステージング後、本来はLRUテーブルの
先頭位置に登録すべきところを、第2発明は、LRUテ
ーブルの終端の近傍に登録する。これにより比較的短い
時間で、大量シーケンシャルデータは擬似的に最も使用
されていない古いデータとなり、キャッシュ無効化によ
り追い出すことができる。
【0066】また第2発明は、オプション指定によりR
AID5でディスクアレイからパリティデータを含めて
キャッシュメモリにステージングすることができる。こ
のようなパリティデータを含めたステージングにより、
ライトバック処理でディスクアレイからの旧データおよ
び旧パリティデータのリードが不要となり、RAID5
のもつライトペナルティを軽減させることができる。
【0067】具体的には、パリティのステージングを行
わない場合、ディスク装置の2.5回転分の時間を必要
とするが、パリティをステージングしていた場合には、
1.5回転分の時間で済む。但し、キャッシュメモリの
容量はパリティをステージングした分だけ減少する。さ
らに第2発明のディスクキャッシュ装置は、RAID5
の動作状態で、ライト処理後に行なうディスクアレイに
対するライトバック処理を最適化する。
【0068】RAID5では、パリティグループを構成
する全てのディスク装置に跨がって連続するデータがキ
ャッシュブロック上に存在する場合は、RAID3的に
連続データからパリティを計算し、データおよびパリテ
ィの同時転送で並列的に書込むことができる。一方、パ
リティグループを構成する一部のディスク装置のデータ
しかキャッシュブロック上に存在しない場合は、旧パリ
ティと旧データをリードしてパリティを計算した後にデ
ータとパリティを並列的に書込む通常のリードモディフ
ァイライトを行う。
【0069】この場合、キャッシュブロック上で連続す
るデータの空きが所定値以下、例えば1ディスク装置分
であった場合には、空部分に有効データをステージング
して連続データとした後に、RAID3的な同時更新の
ライトバックを行う。更に、キャッシュメモリの空きス
ペースが規定値以下となってライトバック処理がスケジ
ュールされた場合、LRUテーブルの末尾から一定範囲
のキャッシュブロックをライトバック対象に指定する。
このライトバック対象として指定されたキャッシュブロ
ックに対し、ホストブロックが連続するように並び替え
を行い、RAID3的な高速のライトバック処理を可能
とする。
【0070】更に第2発明のディスクキャッシュ装置
は、ユーザの運用形態に応じて自動的にキャッシュブロ
ック・サイズを設定することができる。一般にユーザシ
ステムにおいてユーザが必ず設定を必要とるパラメータ
は、ホストブロックサイズ(ロジカルブロックサイズ)
である。キャッシュブロックサイズは、ホストブロック
サイズが複数集まったサイズとして設定される。第2発
明は、最初のシステム立ち上げ時は、ディフォルトのキ
ャッシュブロックサイズで初期動作するが、次の立ち上
げ時には、ユーザの使用環境に応じて自動的にキャッシ
ュブロックサイズを変更する。
【0071】即ち、ユーザ使用中にキャッシュシステム
をアクセスしたホストブロックサイズの統計を取り、平
均的なホストブロックサイズを求めている。そして次回
の電源投入に伴う立ち上げ時に、前回の運用で求めた新
規なキャッシュブロックサイズでキャッシュシステムを
動作させ、キャッシュブロック・サイズをユーザの判断
を必要とすることなく最適化する。
【0072】
【実施例】
<目次> 1.システムのハードウェア構成 2.第1発明の全体機能 3.信頼性重視モードのディスクキャッシュ制御 4.容量重視モードのキャッシュ制御 5.平均モードのキャッシュ制御 6.第2発明の全体機能 7.キャッシュ空スペースの確保 8.RAID動作形態の制御 9.ステージング処理の高速化 10.大量シーケンシャルデータの追出し促進 11.パリティデータのステージング 12.ライトバックデータの並び替えによる最適化 13.ライトバック処理の最適化 14.統計的処理によるキャッシュブロックサイズの自
動設定 1.システムのハードウェア構成 図2は本発明のディスクキャッシュ装置が適用される磁
気ディスク装置を用いた入出力サブシステムのハードウ
ェア構成を示す。
【0073】上位装置としてのホストコンピュータ10
には少なくとも2つのチャネル装置14−1,14−2
が設けられ、チャネル14−1,14−2に対し、チャ
ネルインタフェース16を介して2台のコントローラ1
2−1,12−2を接続している。この実施例で、チャ
ネルインタフェース16としてはSCSIを使用してい
る。勿論、MBCインタフェース(ブロック・マルチプ
レクサ・チャネルインタフェース)を使用してもよい。
【0074】コントローラ12−1,12−2はディス
ク制御手段としての機能を有し、キャッシュ機構を内蔵
している。コントローラ12−1,12−2のデバイス
側は共用バス18−1,18−2に接続される。共用バ
ス18−1,18−2はブリッジ回路部20で結合さ
れ、コントローラ12−1,12−2間でメッセージ、
コマンド等の情報およびデータのやり取りを行うことが
できる。更に共用バス18−1,18−2はサブコント
ローラ22−1,22−2が接続され、コントローラ1
2−1,12−2の処理機能を分散させて負荷の低減を
図っている。
【0075】共用バス18−1,18−2にはアダプタ
24−1〜24−6,26−1〜26−6のそれぞれを
介して、ディスクアレイ28に設けている複数のディス
ク装置30−00〜30−35が接続される。この実施
例でディスクアレイ28はコントローラ12−1,12
−2より並列アクセスを受ける6つのポートP0〜P5
で並列ディスク群を構成し、この並列ディスク群をラン
クR0〜R3で示す4ランク分設けている。
【0076】具体的には、ランクR0はポートP0〜P
5に対応した6台のディスク装置30−00〜30−0
5で構成され、ランクR1はポートP0〜P5に対応し
たディスク装置30−10〜30−15で構成され、ラ
ンクR2はポートP0〜P5に対応したディスク装置3
0−20〜30−25で構成され、更にランクR3はポ
ートP0〜P5に対応したディスク装置30−30〜3
0−35で構成される。
【0077】このようなディスクアレイを構成するディ
スク装置の位置はランク番号Rとポート番号Pアドレス
で定義する。例えば磁気ディスク装置30−00は(R
0,P0)で表わすことができる。図3は図2のコント
ローラ12−1側のハードウェア構成を示す。コントロ
ーラ12−1内にはCPU32が設けられ、CPU32
の内部バス44にROM34、DRAM36、SCSI
回路部40とのやり取りを行う上位インタフェース部3
8、共用バス18−1とのやり取りを行うバスインタフ
ェース部42が設けられる。
【0078】更にディスクキャッシュ機構を実現するた
めキャッシュ制御部46とキャッシュメモリ48が設け
られる。なお、キャッシュ制御部46を独立に設けて、
CPU32の機能として実現してもよい。またキャッシ
ュ制御部46においてキャッシュメモリ48の管理に使
用されるキャッシュ管理テーブル、具体的にはキャッシ
ュエントリテーブル,LRUテーブルおよび空スペース
管理テーブルはDRAM36に展開されている。 2.第1発明の全体機能 図4は図2のハードウェア構成を対象とした第1発明の
処理機能を示す。尚、説明を簡単にするため、ディスク
アレイ側については1台のディスク装置30を代表して
示し、共用バスについても1本の共用バス18で示して
いる。またキャッシュメモリについてはコントローラか
ら取出して示している。
【0079】コントローラ12−1,12−2には動作
モード設定部70−1,70−2、信頼性重視モードキ
ャッシュ制御部72−1,72−2、性能重視モードキ
ャッシュ制御部74−1,74−2、および平均モード
キャッシュ制御部76−1,76−2が設けられてい
る。キャッシュメモリとしては不揮発性キャッシュメモ
リ48−1,48−2が使用される。
【0080】ここでコントローラ12−1側を例にとる
と、動作モード設定部70−1は予め定めたホストコン
ピュータ19からのコマンド指示あるいはコントローラ
12−1に予め設けられたピン設定などにより、信頼性
重視モード,性能重視モードまたは平均モードのいずれ
か1つを設定する。この動作モード設定部70−1によ
る設定に基づき、信頼性重視モードキャッシュ制御部7
2−1,72−2、性能重視モードキャッシュ制御部7
4−1,74−2、または平均モードキャッシュ制御部
76−1,76−2のいずれか1つの動作を有効とす
る。
【0081】ここでホストコンピュータ10に対し2台
のコントローラ12−1,12−2が設けられているこ
とから、ホストコンピュータ10からのアクセス要求を
受けたコントローラ側をローカル側といい、このときア
クセス要求を受けていない側をリモート側という。これ
はコントローラ12−1,12−2において相対的なも
のであり、コントローラ12−1に対しホストコンピュ
ータ10からアクセス要求が行われたときはコントロー
ラ12−1がローカル側、コントローラ12−2がリモ
ート側となる。
【0082】逆にコントローラ12−2に対しホストコ
ンピュータ10からアクセス要求が行われたときはコン
トローラ12−2がローカル側、コントローラ12−1
がリモート側となる。 3.信頼性重視モードのディスクキャッシュ制御 信頼性重視モードにあっては、コントローラ12−1,
12−2に設けたキャッシュメモリは図4に示したよう
に両方とも不揮発性キャッシュメモリ48−1,48−
2とする。
【0083】尚、信頼性重視モードにあっては、キャッ
シュメモリを両方とも揮発性としてもよい。この場合、
後の説明で明らかにする性能重視モードおよび平均モー
ドにあっては、両方とも不揮発性キャッシュメモリとす
る必要があるため、電源バックアップの有無により不揮
発性となるか揮発性と不揮発性が切替可能なメモリを使
用する必要がある。
【0084】信頼性重視モードにあっては、コントロー
ラ12−1,12−2の各不揮発性キャッシュメモリ4
8−1,48−2のデータが同一であるようにキャッシ
ュ動作が行われる。即ち、2系統のキャッシュメモリを
独立に使用するのではなく、同一データを格納すること
で二重化し、片側のデータ送出時にあっても、キャッシ
ュデータを保証して信頼性を高める。
【0085】リード要求に対するミスヒット時のステー
ジングはディスク装置30から両方の不揮発性キャッシ
ュメモリ48−1,48−2に対し行う。またライト要
求に対するライトデータの書込みも両方の不揮発性48
−1,48−2に対し行う。更に、ライト処理終了後の
ディスク装置30に対するライトバックについては、ラ
イト要求を受けたローカル側のキャッシュメモリから行
う。
【0086】図5は信頼性重視モードにおけるキャッシ
ュ動作を示したフローチャートである。まずステップS
1にあっては、ホストコンピュータ10からのアクセス
要求の有無を監視しており、アクセス要求があるとステ
ップS2に進み、リード要求かライト要求かのアクセス
モードを判別する。リード要求であれば、ステップS3
で自己の不揮発性キャッシュメモリ即ちローカル側キャ
ッシュメモリに要求データが存在するか否かのヒット判
定を行う。
【0087】キャッシュヒットが得られれば、ステップ
S4で要求データを読み出してホストコンピュータ10
にデータ転送する。キャッシュミスヒットの場合にはデ
ィスク装置30からのステージングを行うことになる
が、ステージングに先立ち、リモート側のコントローラ
12−1にステージングを通知する。このステップS5
における処理は図7に示される。即ち、ホストコンピュ
ータ10からのリード要求を受けたコントローラ12−
1が不揮発性キャッシュメモリ48−1のミスヒットを
判定すると、ディスク装置30からのステージングに先
立ってローカル側のコントローラ12−2に対し共用バ
ス18を経由してメッセージを送る。
【0088】このメッセージはキャッシュミスヒットと
なったため、ステージングによりディスク装置30から
のデータをリモート側の不揮発性キャッシュメモリ48
−2にも転送することを通知する。このローカル側のコ
ントローラ12−1からのメッセージを受けてリモート
側のコントローラ12−2は自己のキャッシュ管理テー
ブルを更新し、不揮発性キャッシュメモリ48−2内に
ステージング用の空間を割り当て、スタンバイ状態とな
ったことをローカル側のコントローラ12−1に送り返
す。
【0089】再び図5を参照するに、ステップS5でリ
モート側へのステージングの通知が済むと、リモート側
からのレディ応答を待って、ステップS6で要求データ
をディスク装置30から読み出し、ローカル側の不揮発
性キャッシュメモリ48−1に格納すると共に、共用バ
ス18を介してリモート側の不揮発性キャッシュメモリ
48−2に転送し、それぞれ書き込むステージングを行
う。
【0090】ローカル側の不揮発性キャッシュメモリ4
8−1に対するステージングが済むと、ステージングに
より得られた要求データをホストコンピュータ10に
転送し、ステップS8でリード終了応答を行って一連の
リード要求に対する処理を終了する。次にステップS2
でライト要求を判別した場合には、ライト要求を受けた
ローカル側のコントローラ12−1がリモート側のコン
トローラ12−2へ共用バス18を介してライトデータ
の転送を通知する。
【0091】例えば図8に示すように、ホストコンピュ
ータ10よりライト要求をコントローラ12−1が受
けると、共用バス18を経由してリモート側のコントロ
ーラ12−2に対しメッセージを送る。このメッセー
ジはライト要求により不揮発性キャッシュメモリ48
−2の更新が必要であり、ライトデータを共用バス18
を経由してリモート側の不揮発性キャッシュメモリ48
−2に転送することを通知する。
【0092】このメッセージを受けたリモート側のコ
ントローラ12−2は自己のキャッシュ管理テーブルを
更新し、不揮発性キャッシュメモリ48−2内に書込用
の空間を割り当て、レディ応答をローカル側のコントロ
ーラ12−1に返す。リモート側コントローラ12−2
からのレディ応答をステップS10で判別すると、ロー
カル側のコントローラはホストコンピュータ10からの
ライトデータを自己の不揮発性キャッシュメモリ48
−1、即ちローカル側のキャッシュメモリ48−1に書
き込み、同時にステップS2でリモート側のキャッシュ
メモリ48−2に共用バス18経由で転送して書き込ま
せる。
【0093】この結果、ライトデータはローカル側およ
びリモート側のキャッシュメモリ48−1,48−2の
両方に書き込まれる。ステップS12でローカル側およ
びリモート側のキャッシュメモリ48−2に対するライ
トデータの転送書込みが済むと、この時点でライトバッ
クは行わず、ステップS13でライト終了応答をホスト
コンピュータ10に転送して、一連のライト要求に対す
る処理を終了する。
【0094】図6は信頼性重視モードにおけるライトバ
ックの処理動作を示したフローチャートである。図5の
ライト要求に対する処理に示したように、ローカル側お
よびリモート側のキャッシュメモリにライトデータが書
き込まれた時点ではディスク装置に対する書込み所謂ラ
イトスルーは行わず、予め定めたライトバック条件が成
立したときにディスク装置に書き戻すライトバック処理
を実行する。
【0095】このライトバック処理は、まずステップS
1でコントローラ12−1がアイドル状態か否かチェッ
クしており、アイドル状態になければステップS6で要
求された事項の処理を行っているが、アイドル状態に入
るとステップS2でライトバック条件の成立の有無をチ
ェックする。ここでライトバック条件とはキャッシュ管
理テーブルに設けているLRUテーブルに基づきキャッ
シュデータの追い出し条件がスケジュールされている場
合である。
【0096】即ち、キャッシュ管理テーブルのLRUテ
ーブルには、最新に使用されたキャッシュブロックを先
頭とし、最も使用されていない時間のたったキャッシュ
ブロックを末尾とするキャッシュブロックの登録が行わ
れており、例えば一定時間使われなかったテーブル末尾
のキャッシュブロックがキャッシュ無効化されるが、こ
の内ディスク装置への書込みが済んでいないデータ、所
謂ダーティデータについてはライトバックがスケジュー
ルされる。
【0097】ステップS2でライトバック条件の成立を
判定すると、ライトバック対象となっているLRUテー
ブルの末尾から一定範囲のキャッシュブロックを読み出
してディスク装置30に書き込むライトバックを実行す
る。例えば図8に示したように、先行するライト処理で
コントローラ12−1がホストコンピュータ10からラ
イト要求を受けて自己の不揮発性キャッシュメモリ4
8−1にライトデータを書き込んでおり、その後のアイ
ドル状態でライトバック条件が成立した場合には、に
示すようにディスク装置30にデータを書き込むライト
バック処理を行う。
【0098】再び図6を参照するに、ステップS3でデ
ィスク装置30に対するライトバックが済むと、ステッ
プS4でライトバックが済んだキャッシュブロックをキ
ャッシュ管理テーブルのハッシュテーブルから削除する
キャッシュ無効化を行う。更に、ローカル側のコントロ
ーラ12−1はステップS5で共用バス18を経由して
リモート側のコントローラ12−2にメッセージを送
り、ライトバックが済んだデータのキャッシュ管理テー
ブルからの削除を指示し、リモート側についてもキャッ
シュ無効化を行う。 4.容量重視モードのキャッシュ制御 この性能重視モードは2台のコントローラ12−1,1
2−2に設けた各キャッシュメモリ48−1,48−2
は不揮発性とし、各キャッシュメモリ498−1,48
−2のデータを独立とする。そのため、2つのキャッシ
ュメモリ48−1,48−2に同一データを格納した信
頼性重視モードに比べ、最大で2倍のキャッシュ容量と
することができる。換言すると、性能重視モードは容量
重視モードと言うことができる。
【0099】リード処理はリード要求を受けたローカル
側でミスヒットとなった場合にはリモート側にキャッシ
ュ処理を依頼し、リモート側でキャッシュヒットになれ
ば、直接、要求データをホストコンピュータにデータ転
送する。ディスク装置からのステージングはローカル側
およびリモート側の両方でミスヒットとなった場合にデ
ィスク装置からローカル側に対してのみ行う。またライ
ト処理については、ライト要求を受けたローカル側のキ
ャッシュメモリに対してのみ行う。
【0100】更にライトバックについても、ライトバッ
ク条件が成立したローカル側のキャッシュメモリからデ
ィスク装置に書き込むライトバックのみ行い、信頼性重
視モードにおけるライトバック終了後のリモート側に対
するキャッシュ無効化の指示は行わない。図9は性能重
視モードにおけるキャッシュ動作を示したフローチャー
トである。ステップS1でホストコンピュータ10から
アクセス要求があると、ステップS2でアクセスモード
を判別し、リード要求であればステップS3で自己のキ
ャッシュメモリ48−1、即ちローカルキャッシュメモ
リ48−1のヒットの有無を判定する。
【0101】ローカルキャッシュメモリ48−1のヒッ
トが判別されると、ステップS4で要求データをホスト
コンピュータ10にデータ転送する。ローカル側キャッ
シュメモリ48−1でミスヒットとなった場合には、ス
テップS5で共用バス18を経由してリモート側のコン
トローラ12−2にキャッシュ処理を依頼する。このロ
ーカル側からのキャッシュ処理の依頼を受けたリモート
側のコントローラ12−2は、リモート側キャッシュメ
モリ48−2でキャッシュヒットになれば要求データを
直接ホストコンピュータ10にデータ転送し、応答結果
をローカル側のコントローラ12−1に通知してくる。
【0102】一方、リモート側でもキャッシュミスヒッ
トとなった場合には、ステップS6でリモート側からの
ヒット応答が得られないことからステップS7に進み、
ディスク装置30からローカル側のキャッシュメモリ4
8−1に要求データを書き込むステージングを行う。ス
テージングが済むと、ステップS8でホストコンピュー
タ10へのデータ転送を行い、これ以降ステージングさ
れたデータはヒット可能状態となる。このような一連の
処理を終了すると、リモート側のコンローラ12−1は
ステップS9でホストコンピュータ10にリード終了応
答を返す。
【0103】図11は図9のステップS5〜S8に示し
たローカル側およびリモート側の両方の不揮発性キャッ
シュメモリ48−1,48−2がホストコンピュータ1
0からのリード要求に対しミスヒットとなったときの
動作を示している。即ち、ホストコンピュータ10から
のリード要求を受けたローカル側のコントローラ12
−1は自己の不揮発性キャッシュメモリ48−1のミス
ヒットを判定すると、共用バス18を経由してリモー
ト側のコントローラ12−2にメッセージを送り、リモ
ート側の不揮発性キャッシュメモリ48−2に要求デー
タが存在するか否かの調査を依頼する。
【0104】リモート側のコントローラ12−2は自己
のキャッシュ管理テーブルのハッシュテーブルを参照
し、もし要求データが存在すればヒット応答と要求デー
タが存在するアドレスをローカル側のコントローラ12
−1に通知する。これに基づき、ローカル側のコントロ
ーラ12−1はリモート側の不揮発性キャッシュメモリ
48−2から要求データを読み出してホストコンピュ
ータ10に転送する。
【0105】尚、図11にあっては、リモート側の不揮
発性キャッシュメモリ48−2から読み出した要求デー
タをコントローラ12−2から直接ホストコンピュー
タ10にデータ転送しているが、共用バス18からロー
カル側のコントローラ12−1を経由してホストコンピ
ュータ10にデータ転送をすることもできる。しかし、
リモート側のコントローラ12−2から直接転送した方
が、新たなホストコンピュータ10とコントローラ12
−2との間のチャネル結合を考慮しても高速に処理でき
る。
【0106】再び図9を参照するに、ステップS2でラ
イト要求を判別した場合にはステップS10に進み、ロ
ーカル側のキャッシュメモリ48−1に対してのみライ
トデータを転送して書き込み、ステップS11でライト
終了応答を返す。例えば図12に示すように、ホストコ
ンピュータ10からコントローラ12−1に対しライト
要求が行われたときには、自己のキャッシュ管理テーブ
ルを更新して格納領域を確保し、ライトデータを不揮
発性キャッシュメモリ48−1に転送して書き込む。こ
の段階ではディスク装置30に対する書込みは行わず、
その後のライトバック処理で書き込む。
【0107】図10のフローチャートは性能重視モード
におけるライトバック処理を示す。このライトバック処
理にあっては、ステップS1でアイドル状態を判別する
と、ステップS2でライトバック条件の成立の有無をチ
ェックし、ライトバックがスケジュールされた条件成立
であるとステップS5に進み、図12のに示すよう
に、ローカル側の不揮発性キャッシュメモリ48−1か
らライトバック対象データを読み出してディスク装置3
0に書き込み、ステップS4でライトバックが済んだキ
ャッシュブロックをキャッシュ管理テーブルから削除す
るキャッシュ無効化を行う。 5.平均モードのキャッシュ制御 この平均モードで使用する各系統のキャッシュメモリ
は、共に不揮発性キャッシュメモリとする必要がある。
平均モードは信頼性重視モードと性能重視モードの混合
型となる。
【0108】概略的には、リード要求に対するミスヒッ
ト時のステージングはローカル側のキャッシュメモリに
対してのみ行い、これは性能重視型と同じである。また
ライト要求に対するライトデータの書込みはローカル側
およびリモート側の両方のキャッシュメモリに対して行
い、キャッシュメモリに同一データを格納した二重化を
図る。これは性能重視モードと同じである。
【0109】このような信頼性重視モードと性能重視モ
ードの混合型である平均モードのキャッシュ制御にあっ
ては、ライト要求が少なくリード要求の多い環境では、
キャッシュメモリの容量は性能重視モードと同様に2台
のキャッシュメモリを設けたことで2倍となる。またラ
イト要求が多く発行されリード要求の少ない環境では、
信頼性重視モードと同様に片側データの送出時でもデー
タを保障することができる。
【0110】図13のフローチャートは平均モードにお
ける処理動作を示している。まずステップS1でホスト
コンピュータ10からのアクセス要求があるとステップ
S2でアクセスモードを判別し、リード要求であればス
テップS3で自己のキャッシュメモリ48−1、即ちロ
ーカル側のキャッシュメモリ48−1に要求データが存
在するか否かのヒット判定を行う。
【0111】キャッシュヒットが得られると、ステップ
S4で要求データを読み出してホストコンピュータ10
に転送する。ローカル側のキャッシュメモリ48−1が
ミスヒットとなった場合には、ステップS5でリモート
側のコントローラ12−2へ共用バス18を経由してキ
ャッシュ処理を依頼する。このキャッシュ処理の依頼を
受けたリモート側のコントローラ12−2より、リモー
ト側のキャッシュメモリ48−2でのキャッシュヒット
および要求データのアドレスを示す応答を受けると、リ
モート側のキャッシュメモリ48−2より要求データを
読み出して、ステップS8でホストへのデータ転送を行
う。
【0112】一方、ステップS6でリモート側よりミス
ヒットの応答を受けた場合には、ステップS7でディス
ク装置30からローカル側のキャッシュメモリ48−1
に対するステージングを行った後、ステップS8でホス
トコンピュータ10へデータを転送する。これら一連の
リード処理を終了すると、ステップS9でリード終了応
答を返す。
【0113】一方、ステップS2でアクセス要求を受け
たローカル側のコントローラ12−2がライト要求を判
別した場合には、ステップS10でリモート側のコント
ローラ12−2に共用バスを経由してメッセージを送っ
てライトデータの転送を通知する。この通知を受けて、
リモート側のコントローラ12−2はキャッシュ管理テ
ーブルを更新してライトデータを書き込むための領域を
確保し、ローカル側にレディ応答を返す。
【0114】ステップS10でリモート側よりレディ応
答があると、ステップS12でローカル側のコントロー
ラ12−1は自己のキャッシュメモリ48−1、即ちロ
ーカル側のキャッシュメモリ48−1にライトデータを
転送して書き込み、またステップS3でリモート側のキ
ャッシュメモリに共用バスを経由してライトデータを転
送して書き込ませる。
【0115】最終的にローカル側およびリモート側のキ
ャッシュメモリ48−1,48−21に対する書込みが
終了すると、ステップS12でライト終了応答を返す。
このようなライト処理によりローカル側およびリモート
側のキャッシュメモリ48−1,48−2に同一データ
が書き込まれることになる。図14は平均モードにおけ
るライトバック処理を示したもので、図6に示した信頼
性重視モードのライトバック処理と同じである。
【0116】即ち、ライトバック対象となったローカル
側のキャッシュメモリ48−1のダーティデータをディ
スク装置30に書き込むライトバック処理を行い、ライ
トバックが済んでからローカル側のキャッシュメモリ4
8−1からライトバック済みデータを削除するキャッシ
ュ無効化を行い、更に共用バス18でリモート側にメッ
セージを送って、リモート側のキャッシュメモリ48−
2ライトバック済みのデータを削除するキャッシュ無効
化を行わせる。 6.第2発明の全体機能 図15は図2に示したディスクアレイを対象とした第2
発明によるキャッシュ制御の機能を示し、図2のコント
ローラ12−1側を代表して示している。
【0117】コントローラ12−1にはキャッシュ制御
部46、不揮発性キャッシュメモリを用いたキャッシュ
メモリ48、キャッシュ管理テーブル50およびディス
クアレイ制御部52が設けられている。キャッシュ制御
部46にはリードキャッシュ制御部46−1,ライトキ
ャッシュ制御部46−2およびライトバック制御部45
の各機能が設けられる。
【0118】キャッシュ管理テーブル50はハッシュテ
ーブル60,LRUテーブル62および空スペース管理
テーブル64で構成される。ディスクアレイ制御部52
には、この実施例にあってはRAID0,RAID1,
RAID3およびRAIDの形態をもつ動作機能が予め
設けられている。RAIDの動作形態の指定はホストコ
ンピュータ10からの指示で論理的に行うことができ
る。
【0119】ディスクアレイ28は図2に示したハード
ウェア構成に対応するものであり、縦方向の並びをラン
クと読んでランク番号R0〜R3で示し、横方向の並び
をポートと読んでポート番号P0〜P5で示している。
図16は図15のキャッシュメモリ48の構造を示す。
キャッシュメモリ48はデータアクセスの最小単位であ
るキャッシュブロック54から構成されている。キャッ
シュブロック54のサイズは、右側に取り出して示すよ
うにホストコンピュータ10がアクセスする最小単位で
あるホストブロック(論理ブロック)の整数倍となる。
【0120】図16にあっては、ホストブロック54の
4倍にキャッシュブロック54を設定した場合を示して
いる。このキャッシュブロック54のサイズ設定は通
常、システム側で行われ、ユーザは介在しない。図17
はディスク装置30のデータブロックに対するホストブ
ロックとの関係を示している。ディスクアレイシステム
におけるディスク装置30のフォーマットは固定長ブロ
ック形式(FBA)を採用しており、デコード長が可変
のカウントキーデータ形式(CKD)はデータのストラ
イピングやパリティの生成が複雑になることから採用し
ない。
【0121】磁気ディスク30の中に示す両側のインデ
ックスで挟まれた各セクタを構成する固定長データブロ
ック58は、通常、512バイトとなる。ホストブロッ
ク56はディスク装置30の固定長データブロック58
の整数倍となり、この例ではホストブロック56はデー
タブロック58の4倍であることから2,048バイト
となる。
【0122】図18は図15のキャッシュ管理テーブル
50に設けたハッシュテーブル60の構造を示す。ハッ
シュテーブル60はハッシュエントリ66とハッシュエ
ントリで指定される登録データ68で構成される。ハッ
シュエントリ66はホストコンピュータ10からのアク
セス要求で得られたデバイス情報をハッシュパラメータ
として計算したエントリ値(ハッシュアドレス)で指定
され、指定されたハッシュエントリにキャッシュメモリ
上に存在するキャッシュブロックCBの登録状態が登録
データ68として図示のように登録されている。
【0123】このハッシュテーブル60はホストコンピ
ュータから要求のあったホストブロックがキャッシュメ
モリ上に存在しているかどうかの判定、即ちヒット/ミ
スヒット判定に主に使用される。図19は図15のキャ
ッシュ管理テーブル50に設けたLRUテーブル62を
示している。LRUテーブル62はキャッシュメモリ4
8上に格納されたキャッシュブロックをアクセス順にリ
ンクしている。
【0124】例えば新たなキャッシュブロックの書込み
が行われると、LRUテーブル62の先頭に最新に使用
されたキャッシュブロックとしてリンクする。またキャ
ッシュブロック上に存在する任意のキャッシュブロック
がリード要求に対し読み出された場合にも、最新に使用
されたキャッシュブロックとしてLRUテーブル62の
先頭にリンクされる。
【0125】このようなLRUテーブル62はキャッシ
ュメモリ48上に存在するデータの追出しと、ディスク
装置にキャッシュメモリ上のデータを書き込むライトバ
ック制御に使用される。即ち、LRUテーブル62の最
後にキャッシュメモリ48上に存在している時間が最も
長い、長時間アクセスされていないキャッシュブロック
がリンクされていることから、この最後にリンクされた
キャッシュブロックが次に追い出されるキャッシュブロ
ックの候補となる。
【0126】また追出し候補となったキャッシュブロッ
クがディスク装置への書込みが済んでいないデータ所謂
ダーティデータであった場合には、ディスク装置に書き
戻すライトバック処理がスケジュールされ、ライトバッ
ク後に追出しを行うことになる。 7.キャッシュ空スペースの確保 図20はキャッシュメモリ48におけるキャッシュブロ
ックの使用状態の一例を示している。
【0127】キャッシュメモリ48において、キャッシ
ュブロックRはライトバックによりディスク装置に同一
データが格納されているブロックを示す。キャッシュブ
ロックWはキャッシュメモリ48上で書込処理は行われ
たがライトバックが済んでおらず、ディスク装置に同一
データが存在しないダーティデータが存在するブロック
を示す。また「空」は未使用のキャッシュブロックであ
る。
【0128】ディスクキャッシュ制御にあっては、ホス
トコンピュータ10からキャッシュメモリ48上に存在
しないデータに対してのリード要求またはライト要求が
指示された場合、未使用の空間から新たなキャッシュブ
ロックを割り当てて、リード要求に伴ってディスク装置
30からステージングされたデータあるいはホストコン
ピュータから受領したライトデータを書き込む。
【0129】図20のキャッシュメモリ48における未
使用の空キャッシュブロックの空間は、図21に示す空
スペース管理テーブル64により管理される。空スペー
ス管理テーブル64は空キャッシュブロックの数をエン
トリ番号1,2,3,・・・Nとし、各エントリ番号ご
とに連続する空ブロックの先頭のブロック情報を登録し
ている。なお、テーブル内容は説明の都合上示したもの
で、実際には設けられない。
【0130】ここで図20のキャッシュブロック48に
おけるX方向のアドレスをX=00〜07、Y方向のア
ドレスをY=00〜nで表すと、空スペース管理テーブ
ル64における先頭ブロックのアドレスは「CBXY」
で示される。例えば空スペース管理テーブル64の空ブ
ロック数1個を示すエントリ1には、図20のキャッシ
ュメモリ48におけるブロックアドレスCB0103,CB
0004の2つの空ブロックが登録されている。空ブロック
2個分を示すエントリ番号2については、2個空ブロッ
クが連続した先頭ブロックのアドレスCB0102が登録さ
れている。
【0131】このような空スペース管理テーブル64を
設けることで、新たなキャッシュブロックの割当要求に
対してはなるべく物理的に連続したキャッシュブロック
を割り当てている。更に空スペース管理テーブル64で
管理されるキャッシュメモリ48の空スペースは、常に
一定量が残るように管理される。
【0132】即ち、キャッシュメモリ48の空スペース
の残り容量が規定値以下になるような状況が発生する
と、図19に示したLRUテーブル62を参照してキャ
ッシュメモリ上の有効データを追い出すためのスケジュ
ールが行われる。この追出し対象となったキャッシュブ
ロックにつき、ディスク装置にも同一データが存在する
キャッシュブロックRの部分については、図18に示し
たハッシュテーブル60からの登録を抹消するキャッシ
ュ無効化を行う。一方、ディスク装置にデータが存在し
ないダーティデータのキャッシュブロックWの部分につ
いては、ディスク装置へのライトバックがスケジュール
される。
【0133】このようなキャッシュメモリ48の残り容
量を規定値以上に保つ処理により、常にキャッシュメモ
リ上に規定の空き空間が準備されており、従って新たな
データ書込みを伴うリード要求およびライト要求に対
し、直ちに処理を開始することができる。 8.RAID動作形態の制御 図15に示したディスクアレイ制御部52はホストコン
ピュータ10からの論理デバイスの指定に基づき、RA
ID0,1,3または5のいずれかの形態のアクセス動
作をディスクアレイ28に対し実行する。
【0134】図22はランク数4,ポート数6のディス
クアレイ28に対するホストコンピュータが指定する論
理デバイス番号と、RAID動作のためのディスク装置
の形態を示している。まずランクR0に設けられた6台
のディスク装置の内、ポートPo〜P4の5台がホスト
コンピュータ10における論理デバイス番号0で指定さ
れ、RAID3の動作形態をとる。この内、ポートP0
〜P3のディスク装置はデータ用であり、ポートP4の
ディスク装置がパリティ用に固定的に決められる。
【0135】尚、ランクR0のポートP5のディスク装
置は予備機として設けられたホットスペアHSに割り当
てられる。次のランクR1のポートP0〜P5の5台の
ディスク装置はホストコンピュータ10における論理デ
バイス番号1で指定され、RAID5の動作形態をと
る。RAID5の動作形態にあっては、ポートP0〜P
4の中の4台のディスク装置がデータ用、1台がパリテ
ィ用となる。パリティ用のディスク装置はセクタ位置が
替わるごとに循環する。
【0136】ランクR2のポートP0,P1およびポー
トP2,P3に設けられた2台を1組としたディスク装
置は、ホストコンピュータ10における論理デバイス番
号2,3で各々指定され、RAID1の動作形態、即ち
2台のディスク装置に同一データを格納したミラーディ
スクとしての動作形態をもつ。更にランクR3のポート
P0〜P3に設けた4台のディスク装置はホストコンピ
ュータ10における論理デバイス番号4で指定され、R
AID0の動作形態をとる。即ち、データをストライピ
ングして並列的に書き込む動作は論理デバイス番号0の
RAID3の動作形態と同じであるが、冗長性を確保す
るためのパリティディスクを備えていない。
【0137】図23はRAID3の動作形態におけるキ
ャッシュブロック,ストライピングおよびディスク格納
状態を示している。まずキャッシュブロック54は、こ
の例では4つのホストブロックL0〜L3で構成されて
いる。RAID3の動作モードでディスク装置30−0
0〜30−04に書き込むために、例えばホストブロッ
クL0について取り出して示すように、所定数の固定長
データブロックのサイズで16分割したバイトデータL
0−1〜L0−16にストライピングする。
【0138】このようなストライピングデータについ
て、データ用のディスク装置30−00〜30−03の
台数4台に対応したストライピングデータ単位にパリテ
ィを計算する。そして4つのストライピングデータに計
算したパリティを加えた5つのバイトデータを、5台の
磁気ディスク装置30−00〜30−04に並列的に書
き込む。
【0139】図24はRAID5の動作形態におけるキ
ャッシュブロック,データストライピングおよびディス
クアレイ格納状態を示している。この例では説明を簡単
にするため、ディスクアレイ28に並列書込みされるホ
ストブロック数にキャッシュブロックのサイズを一致さ
せている。キャッシュメモリ48上には並列書込み可能
なデバイス、即ちディスク装置30−00〜30−03
の4台に対応したホストブロック数4のサイズをもつキ
ャッシュブロック54−1〜54−4が設けられ、図示
のように連続するキャッシュブロック54−1〜54−
4に、同じく連続するホストブロックL0〜L15が格
納されていたとする。
【0140】このような場合には、例えばキャッシュブ
ロック54−1を取り出し、キャッシュブロック54−
1を構成する4つのホストブロックL0〜L3からパリ
ティを計算し、ホストブロックL0〜L3にパリティP
1を加えた5つのデータを並列的にディスク装置30−
00〜30−04に書き込む。通常、RAID5の動作
形態にあっては、データ長の短いホストブロック1個単
位のアクセスが行われる。この通常のRAID5の動作
形態における書込みは、例えば図示のようにディスクア
レイ28側にホストブロックL0〜L3およびパリティ
P1が格納されている状態で、新たに論理ブロックL0
のみを書き込む場合には、次のようなリードモディファ
イライトを実行する。
【0141】まずディスク装置30−00および30−
04により旧ブロックL0と旧パリティP1を読み出
す。これを(L0)old ,(P1)old とする。続いて
中間パリティ(P1)int を (P1)int =(P1)old +(L0)old として、排他論理和を求める。続いて中間パリティ(P
1)int と新ブロック(L0)new から新パリティ(P
1)new を (P1)new =(P1)int +(L1)new として求める。新ブロック(L0)new と計算で求めた
新パリティ(P1)newをディスク装置30−00,3
0−04に対し並列的に書き込む。
【0142】このようなRAID5の動作形態における
並列書込み可能なディスク台数以下のホストブロックの
書込みについては、旧パリティと旧データの読出しを伴
うことからディスク2.5回転分の処理時間がかかり、
これがライトペナルティとなる。第2発明にあっては、
RAID5の動作形態にあっても可能な限りRAID3
の動作形態によるディスクアレイに対するライトアクセ
スを行って、ライトペナルティの低減を図る。
【0143】図25はRAID1の動作形態におけるキ
ャッシュブロックとディスク格納状態を示している。R
AID1は2台のディスク装置30−20,30−21
に同一データを書き込むミラーディスクとしての使い方
であり、キャッシュブロック54からホストブロックL
0〜L3ごとに順次取り出してディスク装置30−2
0,30−21のそれぞれに並列的に書き込む。
【0144】図26はパリティディスクをもたないRA
ID0の動作形態のキャッシュブロック,ストライピン
グおよびディスク格納状態を示す。尚、図24のRAI
D5の場合と同様、説明を簡単にするため、4台の磁気
ディスク装置30−30〜30−34に並列書込みする
論理ブロック数4に一致するキャッシュブロックのサイ
ズとした場合を例にとっている。
【0145】このRAID0の動作形態では、キャッシ
ュブロック54を構成する4つのホストブロックL0〜
L3を、4台のディスク装置30−30〜30−34の
それぞれに割り当てて並列的に書き込み、この場合にパ
リティディスクはもたないことから、パリティの計算は
行わない。 9.ステージング処理の高速化 ディスクキャッシュ制御にあっては、ホストコンピュー
タ10からのリード要求に対しキャッシュメモリ48上
に要求データが存在せずにミスヒットとなった場合に
は、ディスク装置から要求データを読み出してキャッシ
ュメモリ上に書き込むステージングを行う。
【0146】本発明にあっては、RAID0,1,3お
よび5のいずれの動作形態にあっても、ディスクアレイ
28の同時アクセス可能な全ディスク装置からの並列リ
ードによるステージングで要求データのキャッシュブロ
ックに対するステージングを高速で行う。図28はRA
ID5の動作形態を例にとった本発明のステージングを
示している。いま16ホストブロックのサイズをもつキ
ャッシュブロック54−1がキャッシュメモリ48上に
展開されており、このキャッシュブロック54−1のう
ちの最後の2つのホストブロックL14,L15のみが
有効データであり、またホストブロックL14,L15
はディスク装置への書込みが済んでいないダーティデー
タであったとする。
【0147】ここで、ホストコンピュータ10より論理
ブロックL4〜L7を指定したリード要求がホストコ
ンピュータから行われたとする。このリード要求に対
し、キャッシュメモリ上に要求データが存在しないこと
からミスヒットとなり、ステージングを行う。ステージ
ングはキャッシュブロック54−2に示すように、ディ
スクアレイ28のディスク装置30−10〜30−1
2,30−14の4台をアクセスしてホストブロックL
4〜L7をリードしてキャッシュブロック54−2上に
書き込み、ステージングが完了するとヒット状態となる
ことから、要求データをホストコンピュータ10に転送
する。
【0148】このようなステージングが終了した後に本
発明にあっては、それ以降のアクセス要求に対するキャ
ッシュメモリのヒット効率を向上してキャッシュ効果を
最大限に発揮するため、プリフェッチ動作を行う。即
ち、キャッシュブロック54−3に示すように、ステー
ジングが済んだホストブロックL4〜L7に後続する並
列アクセス可能なディスク数4に一致する4つのホスト
ブロックL8〜L11をディスク装置30−10,30
−11,30−13,30−14から読み出してプリフ
ェッチする。
【0149】RAID5にあっては、基本的にはリード
転送速度はデバイス速度以上は出ることがなく、またス
テージング速度がRAID3より遅く、少量データのリ
ード処理が中心になることから、プリフェッチ量は次の
パリティグループまでとする。ここで、パリティグルー
プとはパリティディスクを同一とする各ディスク装置の
データブロックを意味する。例えば、図27(E)にお
けるデータブロックL0〜L3,L4〜L7などのこと
を意味する。
【0150】このようにRAID5にあっては、プリフ
ェッチ量は次のパリティグループまでとなるが、キャッ
シュブロックサイズをパリティグループのデータブロッ
クサイズと同一になるようにストライピングを行えば、
即ち図24に示したストライピングを行えばキャッシュ
ブロックの中にステージングしたデータブロックに続く
キャッシュブロックの最後までのデータブロックがプリ
フェッチ量となり、このプリフェッチをステージングに
含めてRAID3的なステージングが可能となる。
【0151】一方、RAIDでは図23に示したよう
に、1つのホストブロックが各ディスク装置に分散して
格納されており、ステージングが高速にできること、お
よび大容量のデータが要求される場合が多いことを考慮
し、アクセス要求が行われたステージングデータを含む
キャッシュブロックの最後までのデータブロックをプリ
フェッチする。
【0152】再び図27を参照するに、キャッシュブロ
ック54−3に召すステージングしたホストブロックL
4〜L7に続くブロックL8〜L11をプリフェッチし
た状態にあっても、キャッシュブロック上の有効データ
は2箇所に分散している。このようなステージングに伴
うプリフェッチ後の状態でキャッシュブロック上の有効
データが分散している場合には、キャッシュブロック5
4−4に示すようにホストブロックL12,L13に対
応するデータブロックをディスクアレイ28のディスク
装置30−12,30−13から読み出して内部的にス
テージングし、キャッシュブロック上で有効データを連
続データとする。
【0153】このようにキャッシュブロック上の有効デ
ータを連続データとすることで、キャッシュブロック上
での以後のデータ管理を容易にする。例えば、キャッシ
ュブロック上で有効データが複数箇所に分散して存在し
ていたとすると、最終的には分散した各ホストブロック
に対応したマップ管理が要求される。これに対し、キャ
ッシュブロック上に連続した領域を有効データとするこ
とで、有効データの一部が書き替えられた際のライトバ
ック処理において、RAID3的な並列書込みによる高
速化を図ることができる。
【0154】10.大量シーケンシャルデータの追出し
促進 一般にキャッシュ制御にあっては、キャッシュメモリ4
8上の同一データを頻繁にリードするとキャッシュ効果
を発揮することができる。これに対し、ホストコンピュ
ータ10がキャッシュメモリ48上に存在しない大量デ
ータのリード要求を行ったとき、ミスヒットに伴ってデ
ィスクアレイ28から要求された大量データをキャッシ
ュメモリ48上にステージングしてホストコンピュータ
10に転送するようになる。
【0155】このようにステージングされた大量のデー
タがその後、参照されないにも関わらず、そのままキャ
ッシュメモリ48上に残されていると、キャッシュスペ
ースが有効に利用されず、ヒット効率が低下することに
なる。しかしながらLRUテーブル62を用いたキャッ
シュメモリ48の管理では、一度しか参照されなかった
大量データであっても直ちに無効化することはできな
い。
【0156】そこで本発明のディスクキャッシュ装置に
あっては、ホストコンピュータ10からの一定量を越え
るデータのリード要求に伴って大量データのステージン
グが行われた場合には、本来、LRUテーブル62の先
頭にステージングされたキャッシュブロックを登録すべ
きところ、LRUテーブル62の終端側に近い位置にス
テージングされた大量データのキャッシュブロックを登
録する。
【0157】図29のフローチャートは大量データのス
テージング処理を示す。まずステップS1でホストコン
ピュータ10からのリード要求に伴うミスヒットでディ
スクアレイ28側からのステージングが行われたなら
ば、ステップS2で、ステージングされたデータ量が所
定値例えば100キャッシュブロック以上か否かチェッ
クする。
【0158】100キャッシュブロック未満であれば通
常通り、ステップS3でLRUテーブル62の先頭に登
録する。一方、100キャッシュブロック以上であった
場合には、ステップS4でLRUテーブル62の終端側
の近くに登録する。このようなステージングされた大量
データについて、LRUテーブル62の終端側に強制的
に登録することで、一度しか参照されないステージング
された大量データは比較的短い時間の経過後にハッシュ
テーブル60から削除されて追い出されることになり、
キャッシュスペースが不要に占有されてしまうことを防
止できる。 11.パリティデータのステージング 本発明のディスクキャッシュ装置におけるRAID5の
動作状態において、原則的にはキャッシュメモリ48上
にパリティデータのステージングは行っていない。しか
しながらRAID5の動作状態にあっては、ディスクア
レイに対する書込時に新パリティを計算するためにディ
スクアレイ28から旧データおよび旧パリティを読み出
す処理を必要とするため、処理時間が長くなるライトペ
ナルティをもつ。
【0159】そこで本発明のステージング処理の他の実
施例にあっては、オプション指定によりパリティデータ
のステージングを可能とする。図30のフローチャート
はパリティデータのステージングを可能とする本発明の
ステージング処理の他の実施例を示す。このステージン
グ処理にあっては、ホストコンピュータ10からのリー
ド要求に対するキャッシュメモリ48のミスヒットでス
テージング処理が起動されると、まずステップS1で動
作形態がRAIDであり且つパリティデータのステージ
ングがオプション指定されているか否かチェックする。
【0160】パリティデータのステージングを行わせる
オプション指定は、ホストコンピュータ10からのコマ
ンドあるいはメンテナンス端末からの指示によりセット
される。ステップS1でパリティデータのステージング
を示すオプション指定が有効であるとステップS2に進
み、パリティデータを含むデータをディスクアレイ28
からキャッシュメモリ48上にステージングする。ステ
ップS1でオプション指定がなければステップS3に進
み、通常のパリティを含まないデータのディスクアレイ
28からのステージングを行う。
【0161】図31はパリティデータをステージングし
ない場合とステージングした場合のライトバック処理を
対比して示す。図31(A)はパリティデータをステー
ジングしていない場合であり、キャッシュブロック54
−10のホストブロックL1のみが有効データであった
とする。
【0162】このキャッシュブロック54−10の有効
データであるホストブロックL1をディスクアレイ28
にライトバックする場合には、図24のRAID5にお
けるディスク書込みに示したようにディスク装置30−
11から対応する旧データを読み出し、またディスク装
置30−14から旧パリティを読み出し、中間パリティ
を生成した後に新データから新パリティを作成し、最終
的にディスク装置30−11,30−14に新データと
新パリティを書き込む処理を必要とする。
【0163】このため、キャッシュブロック54−10
上の有効ブロックL1をディスクアレイ28に書き込む
ためにはディスク装置の2.5回転分の時間が必要とな
る。これに対し図31(B)に示すキャッシュブロック
54−10上にパリティデータP1をステージングして
いた場合には、有効ブロックL1の更新に際しキャッシ
ュブロック54−20上で新たなパリティデータP1を
計算でき、ディスクアレイ28側をリードアクセスする
ことなく直接、更新ブロックL1と新パリティデータP
1をディスク装置30−11,30−14に書き込むこ
とができる。
【0164】このため、ライトバック処理はディスク装
置1.5回転分の時間で済み、通常のRAID5の動作
状態のディスク書込み処理におけるライトペナルティは
発生しない。勿論、パリティデータをキャッシュメモリ
48にステージングした場合には、その分だけキャッシ
ュメモリ48の有効利用領域が低減することになる。 12.ライトバックデータの並び替えによる最適化 図22の空スペース管理テーブル64で説明したよう
に、キャッシュメモリ48上の空スペースが一定値以下
になった場合は、図19に示すLRUテーブル62を参
照し、使用されずに最も長い期間格納されているキャッ
シュブロックを追い出すためのライトバック処理がスケ
ジュールされる。
【0165】図32はライトバック処理がスケジュール
される際のキャッシュブロック62の一例を示してい
る。通常のキャッシュ制御にあっては、LRUテーブル
62の最後にリンクされているキャッシュブロックCB
−fをライトバック対象とするスケジュールを行う。こ
れに対し本発明のキャッシュ制御にあっては、ライトバ
ック条件が成立したとき、即ちキャッシュメモリ48の
空ブロック数が規定の閾値以下となったときには、LR
Uテーブル62の最後のキャッシュブロックから所定ブ
ロック数αだけ遡った範囲をライトバック対象範囲68
として指定するスケジュールを行う。
【0166】この場合にはキャッシュブロックCB−a
〜CB−fの6つがライトバック対象範囲68に含まれ
るように指定される。ここでライトバック対象範囲68
に含まれる斜線で示すキャッシュブロックCB−b,C
B−e,CB−fの3つが、図33に示すホストブロッ
クを含んでいたとする。即ち、キャッシュブロックCB
−bはホストブロックL4〜L7の対応データを含み、
キャッシュブロックCB−eはホストブロックL8〜L
11の対応データを含み、キャッシュブロックCB−f
はホストブロックL0〜L3の対応データを含んでいた
とする。
【0167】このようなホストブロック対応データを見
ると、キャッシュブロックCB−f,CB−b,CB−
eの順番に並び替えることで、ホストブロックL0〜L
11の対応データを連続データとすることができる。ホ
ストブロック対応データを連続データとするライトバッ
ク対象範囲68に含まれるキャッシュブロックの並び替
えを行った場合には、ディスクアレイ28に各キャッシ
ュブロックをライトバックする際にRAID3的な並列
書込みを高速で実行できる。
【0168】即ち、キャッシュブロックCB−f,CB
−b,CB−eに含まれる4つの論理ブロック対応デー
タのそれぞれからパリティP1,P2,P3を計算し、
順番に4つのデータとパリティを並列的にディスクアレ
イ28のディスク装置30−11〜30−14に連続的
に書き込む高速ライトバック処理が達成できる。このよ
うなライトバック対象範囲68に含まれるキャッシュブ
ロックの論理ブロック対応データを連続するような並び
替えによるライトバックが完了すると、図32に示した
LRUテーブル62は図34の状態となる。
【0169】図35のフローチャートはキャッシュブロ
ックの並び替えを伴うライトバックのスケジュールが行
われるライト処理を示し、図28のステップS13に示
したライト処理の詳細を示すことになる。まずステップ
S1でホストコンピュータ10からのライト要求に伴っ
て、ライトキャッシュ制御部46−2でキャッシュメモ
リ48上に確保された8ブロックに対しライトデータを
書き込む。
【0170】ライトデータの書込みが済むと、ステップ
S2で図22に示した空スペース管理テーブル64を参
照してキャッシュメモリ48の空ブロック数を求め、空
ブロック数が予め定めた閾値以下か否かチェックする。
閾値以下であればステップS3に進み、図32に示した
ようにLRUテーブル62の末尾から遡った所定数αの
ブロックを含む範囲をライトバック対象範囲68として
指定する。
【0171】ライトバック対象範囲68に含まれるキャ
ッシュブロックがディスクアレイ28への書込みが済ん
でいないライトバック対象となるダーティデータか、既
にディスクアレイ28への書込みが済んでいるライトバ
ック対象から除外される非ダーティデータか否かチェッ
クする。もしライトバック対象範囲68に非ダーティデ
ータのキャッシュブロックが含まれていれば、ステップ
S5で非ダーティデータのキャッシュブロックをハッシ
ュテーブル60から削除してキャッシュ無効化を行う。
【0172】続いてステップS6でライトバック対象と
なるダーティデータのキャッシュブロックの有無をチェ
ックし、ダーティデータのキャッシュブロックが存在す
ると、ステップS7でライトバックをスケジュールす
る。このライトバックのスケジュールにあっては、図3
2,図33に示したようにライトバック対象範囲68に
含まれるキャッシュブロックについて、もし可能であれ
ばホストブロックに対応するデータが連続データとなる
ようにキャッシュブロックの並び替えを行った後にライ
トバック対象としてスケジュールする。
【0173】尚、ライトバック処理のスケジュールは図
35に示すライト処理の完了時のみならず、図28に示
したリード要求でキャッシュメモリがミスヒットとなっ
たときのディスクアレイからのステージング終了時につ
いても同様にスケジュールされることになる。 13.ライトバック処理の最適化 図36はRAID5の動作形態におけるライトバック処
理の一例を示している。ここでキャッシュブロック54
のサイズは16ホストブロックであり、ホストブロック
L0〜L15に対応するデータを格納することができ、
この内、ホストブロックL2〜L9に対応するデータが
有効データとして書き込まれ、ライトバック対象データ
75となっている。
【0174】一方、ディスクアレイ28側はディスク装
置30−10〜30−14のそれぞれは1ホストブロッ
クのサイズに相当するセクタ単位にデータを読み書きし
ており、同時並列的には4つのホストブロックをアクセ
スすることができる。キャッシュブロック54のライト
バック対象データ75に含まれるホストブロックL2〜
L9対応データについて、ディスクアレイ28のストラ
イピング状態に対応し、先頭のホストブロックL2,L
3と末尾のホストブロックL8,L9の各対応データに
ついてRAID5モードによる書込みを行う。
【0175】即ち、対応する旧データおよびパリティデ
ータをディスクアレイ28から読み出して、書込みを行
う新データを用いて新パリティを計算した後に並列的に
書き込むリードモディファイライトを行う。これに対
し、ディスクアレイ28の並列書込み可能な4台のディ
スク装置に対応する連続する4つのホストブロックL4
〜L7の対応データについては、RAID3モードによ
る書込みを行う。即ち、ホストブロックL4〜L7の対
応データからパリティP2を計算し、直接ディスクアレ
イ28に書き込む。
【0176】このようなRAID5モードにおけるライ
トバック処理について、通常のRAID5モードに書込
みに加えてRAID3モードによる高速書込みを組み合
わせることで、最適化されたライトバック処理を行うこ
とができる。図37はRAID5の動作状態におけるラ
イトバック処理において、ライトバック対象データ75
の中の連続するホストブロック対応データが、ディスク
アレイ28側の並列書込みディスク台数より僅かに少な
かった場合の最適化処理を示している。
【0177】いまキャッシュブロック54の中にライト
バック対象データ75としてホストブロックL1〜L1
0の対応データが格納されていたとする。中央のホスト
ブロックL4〜L7の4つのデータについてはRAID
3的な並列アクセスができる。これに対し、左側のホス
トブロックL1〜L3対応データおよび右側のホストブ
ロックL8〜L11対応データは並列アクセスディスク
台数4台に対し1つホストブロック対応データが少な
い。
【0178】このような場合のライトバックにあって
は、キャッシュブロック54−2に示すようにホストブ
ロックL0対応データをディスクアレイ28のディスク
装置30−10からに示すようにリードしてステージ
ングし、またホストブロックL11の対応データについ
てもディスクアレイ28のディスク装置30−14によ
りに示すようにリードしてステージングし、並列アク
セス可能なディスク台数の整数倍となるホストブロック
数の連続データとする。
【0179】このようなホストブロックL0〜L11の
連続対応データがキャッシュブロック54−2に上に得
られれば、ホストブロックL0〜L3,ホストブロック
L4〜L7,ホストブロックL8〜L11の4つずつに
ストライピングして、それぞれパリティP1,P2,P
3を求めた後、に示すように並列的にディスクア
レイ28に書き込むことで、RAID3的な高速ライト
バック処理を行うことができる。
【0180】図38のフローチャートは図36,図37
に示したRAID5のライトバック処理を含む本発明の
キャッシュ制御における全体的なライトバック処理を示
す。まずステップS1でコントローラ12がアイドル状
態か否かチェックし、アイドル状態にないときにはステ
ップS14で要求事項の処理、即ち通常の処理を行って
いる。
【0181】アイドル状態が得られるとステップS2に
進み、ライトバック処理がスケジュール済み、即ちライ
トバック条件が成立していればステップS3に進み、R
AIDモードをチェックする。RAID5モードであれ
ばステップS4に進み、図32,図33に示したような
ライトバック対象範囲におけるキャッシュブロックの連
続ブロックへの並び替えを行う。なお、この連続ブロッ
クへの並び替えは図35に示したライト処理の段階にお
けるスケジューリングとして行っておいてもよい。
【0182】続いてライトバック対象となった最初のキ
ャッシュブロックを参照し、ディスクアレイ28側の並
列書込み可能なディスク台数に対応した全台数分のホス
トブロック対応データが有効か否かチェックする。もし
全デバイス分のホストブロック対応データが有効であれ
ばステップS6に進み、RAID3モードによる書込処
理を実行する。即ち、全デバイス分の対応データからパ
リティを計算した後、データおよびパリティを並列的に
同時書込みする。
【0183】一方、全デバイス分のキャッシュブロック
対応データが有効でなかった場合には、ステップS7で
不足データは1ディスク分か否かチェックする。不足デ
ータが1ディスク分であった場合には、ステップS8
で、図37に示したように不足ブロックに対応するデー
タをディスクアレイからステージングし、ステージング
後にステップS6に進んでRAIDモードでの書込処理
を行う。
【0184】ステップS7で不足分が2ディスク分以上
であった場合にはステップS9に進み、RAID5モー
ドでの書込処理を行う。即ち、旧データおよび旧パリテ
ィをリードして中間パリティを計算し、更に新データか
ら新パリティを計算し、新データおよび新パリティを並
列的にディスクアレイに対し同時書込みする。ステップ
S6またはステップS9の書込処理が済むと、ステップ
S10でライトバック対象となっているキャッシュブロ
ックの全ブロックの処理が終了したか否かチェックし、
終了していなければステップS4に戻り、同様な処理を
繰り返し、終了していればステップS1で再び待機状態
となる。
【0185】一方、ステップS3でRAID3の動作モ
ードが判別された場合にはステップS11に進み、図2
3に示したストライピングおよび書込みとなるRAID
3モードの書込処理を行う。またステップS3でRAI
D0モードが判別された場合には、ステップS13で、
図25に示すRAID0モードの書込みを行う。更にス
テップS3でRAID1モードが判別された場合にはス
テップS13に進み、図26に示したパリティディスク
をもたないRAID1モードの書込みを行う。 14.統計的処理によるキャッシュブロックサイズの自
動設定 本発明を含めたディスクキャッシュ装置を備えた計算機
システムにおいて、ユーザが必ず設定を必要とするパラ
メータはホストブロックサイズ即ち論理ブロックサイズ
である。
【0186】これに対し、キャッシュブロックサイズの
設定は通常、システム側で行っている。図16に示した
ように、キャッシュブロック54のサイズはホストブロ
ック56が複数個集まったブロックとして構成される。
このような従来の固定的なキャッシュブロックサイズの
システム側での設定に対し、本発明のディスクキャッシ
ュ装置にあっては、最初のシステム立上げ時はシステム
側が固定的にキャッシュブロックサイズを設定するが、
次回以降の立上げ時にあってはユーザの使用環境に応じ
て自動的に最適なキャッシュブロックサイズに変更され
る。
【0187】図39のフローチャートは最適化されたキ
ャッシュブロックサイズを自動設定するための統計処理
を示している。最初のシステム立上げ時にあっては、シ
ステム側に固定的に設定したキャッシュブロックサイズ
によるキャッシュ制御が行われており、この状態でホス
トアクセスをステップS1で判別すると、ステップS2
でリード要求またはライト要求が行われたホストブロッ
クサイズを記録する。
【0188】ホストブロックサイズの記録処理はステッ
プS5で規定周期に達するまで繰り返し行われている。
ステップS3で規定周期例えば1カ月程度の時間に達す
るとステップS4に進み、ステップS2で記録されたホ
ストブロックサイズから平均ブロックサイズを計算す
る。続いてステップS5で最適ブロックサイズの設定値
を、ステップS4で求めた平均ブロックサイズに更新す
る。この最適キャッシュブロックサイズの更新が済む
と、ステップS2で記録されたホストブロックサイズは
メモリからクリアされ、次の周期の記録に入る。
【0189】この結果、システムの運用中に統計的処理
で得られたキャッシュブロックサイズが最適ブロックサ
イズとして保持されることになる。そして一旦、システ
ムの運用を止め、次に電源投入によるシステム立上げを
行うと、図39の統計処理で求められている最適キャッ
シュブロックサイズに自動的にキャッシュブロックサイ
ズを変更してキャッシュ制御を動作する。
【0190】図40はホストブロックサイズに対し最適
なキャッシュブロックサイズの一例を示している。いま
並列アクセスされるディスクアレイ28はディスク装置
30−10〜30−13の4台であり、それぞれのレコ
ードにおける1セクタを構成するデータブロック58は
512バイトであったとする。
【0191】この512バイトのデータブロック58に
対し、ホストブロックサイズが2倍の1,024バイト
であったとすると、例えばホストブロックL0は対応す
るディスク装置30−10の2セクタ分に跨がる。キャ
ッシュブロック54は4台の並列アクセス可能なディス
ク装置30−10〜30−13のブロックデータサイズ
に一致するサイズをもつことがRAID3的なアクセス
を可能とするために最適である。
【0192】従って、キャッシュブロック54は4つの
ホストブロックL0〜L3に対応し、1つのホストブロ
ックは1,024バイトとなることから、キャッシュブ
ロックサイズは4,096バイトとすればよい。尚、上
記の実施例は6ポート,4ランクのディスクアレイを例
にとるものであったが、ディスクアレイのポート数およ
びランク数は必要に応じて適宜に定めることができる。
【0193】また第1発明の実施例にあっては、入出力
デバイスとしてディスクアレイを例にとっているが、ア
レイ構成をもたない通常のディスク装置についてもその
まま適用することができる。更に第2発明にあっては、
ホストコンピュータに対し2系統のキャッシュメモリを
有するコントローラを設けた場合を例にとっているが、
1系統のコントローラにキャッシュメモリを設けたもの
であったもよいことは勿論である。
【0194】更に本発明は実施例に示された数値による
限定は受けない。
【0195】
【発明の効果】以上説明してきたように第1発明によれ
ば、必要に応じてキャッシュメモリの信頼性を維持しな
がらの性能の向上、性能を維持しながらの信頼性の向
上、および両者の中間的性能という柔軟な運用を選択的
にとることができ、ディスクキャッシュを備えたシステ
ム全体の運用効率を向上させることができる。
【0196】また第2発明にあっては、ディスクアレイ
を対象とした所謂RAID型の動作特性を活かしながら
キャッシュ性能を最大限に発揮することができる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明のハードウェア構成を示した実施例構成
【図3】図2のコントローラのハードウェア構成を示し
た実施例構成図
【図4】本発明の第1発明の処理機能を示した説明図
【図5】図4の信頼性重視モードの処理動作を示したフ
ローチャート
【図6】図4の信頼性重視モードにおけるライトバック
処理を示したフローチャート
【図7】信頼性重視モードでのリード要求に対しローカ
ル側でミスヒットとなった場合の動作を示した説明図
【図8】信頼性重視モードでのライト要求に対するキャ
ッシュ書込動作の説明図
【図9】図4の性能重視モードの処理動作を示したフロ
ーチャート
【図10】図4の性能重視モードにおけるライトバック
処理を示したフローチャート
【図11】性能重視モードでのリード要求に対しローカ
ル側でミスヒット、リモート側でヒットとなった場合の
動作を示した説明図
【図12】性能重視モードでのライト要求に対するキャ
ッシュ書込動作の説明図
【図13】図4の平均モードの処理動作を示したフロー
チャート
【図14】図4の平均モードにおけるライトバック処理
を示したフローチャート
【図15】ディスクアレイを対象とした第2発明の処理
機能を示した説明図
【図16】キャッシュメモリのブロック分けとホストブ
ロックの関係を示した説明図
【図17】ホストブロックとデータブロックとの関係を
示した説明図
【図18】図15のハッシュテーブルの説明図
【図19】図15のLRUテーブルの説明図
【図20】図15のキャッシュメモリの使用状態の一例
を示した説明図
【図21】図15の空スペース管理テーブルの説明図
【図22】図15のディスクアレイに対するRAID
0,1,3,5のディスク割当てを示す論理デバイスの
説明図
【図23】RAID3におけるキャッシュブロック、ス
トライピング及びディスク格納状態を示した説明図
【図24】RAID5におけるキャッシュブロック、ス
トライピング、ディスク格納状態を示した説明図
【図25】RAID1におけるキャッシュブロックとデ
ィスク格納状態を示した説明図
【図26】RAID0におけるキャッシュブロックとデ
ィスク格納状態を示した説明図
【図27】ステージング処理に伴なうプリフェッチ動作
を示した説明図
【図28】プリフェッチのステージングを含む図15の
リード処理を示したフローチャート
【図29】大量シーケンシャルデータのステージング処
理を示したフローチャート
【図30】パリティを含むステージング処理を示したフ
ローチャート
【図31】パリティを含まない場合と含む場合のステー
ジングに対応するライトバック処理の相違を示した説明
【図32】LRUテーブルにおけるライトバック対象範
囲の説明図
【図33】ライトバック対象範囲におけるキャッシュブ
ロック並び替えとライトバック動作を示した説明図
【図34】ライトバック完了後のLRUテーブルの説明
【図35】図27のライト処理の詳細を示したフローチ
ャート
【図36】RAID5におけるライトバック動作の説明
【図37】RAID5において不足ブロックをキャッシ
ュブロックにステージングするライトバック動作の説明
【図38】ライト完了後に行うライトバック処理を示し
たフローチャート
【図39】キャッシュブロックサイズの求める統計処理
のフローチャート
【図40】最適なキャッシュブロックサイズの決め方の
一例を示した説明図
【図41】揮発性メモリを用いた従来のディスクキャッ
シュ装置の説明図
【図42】図41の従来装置のキャッシュヒット時のリ
ード処理を示した説明図
【図43】図41の従来装置のキャッシュミスヒット時
のリード処理を示した説明図
【図44】図41の従来装置のライト処理を示した説明
【図45】揮発性メモリと不揮発性メモリを混在させた
従来装置の説明図
【図46】図45の従来装置のキャッシュミスヒット時
のリード処理を示した説明図
【図47】図45の従来装置のライト処理を示した説明
【符号の説明】
10:ホストコンピュータ(上位装置) 12,12−1,12−2:コントローラ(ディスク制
御手段) 14−1,14−2:チャネル装置 16:チャネルインタフェース(SCSI) 18,18−1,18−2:共用バス(共用バス手段) 20:ブリッジ回路 22−1,22−2:サブコントローラ 24−1〜24−6,26−1〜26−6:アダプタ 28:ディスクアレイ 30,30−00〜30−35:ディスク装置 32:CPU 34:ROM 36:DRAM 38:上位インタフェース部 40:SCSI回路部 42:バスインタフェース部 44:内部バス 45:ライトバック処理部 46:キャッシュ制御部 46−1:リードキャッシュ制御部 46−2:ライトキャッシュ制御部 48:キャッシュメモリ 48−1,48−2:不揮発性キャッシュメモリ 50:キャッシュ管理テーブル 52:ディスクアレイ制御部 54,54−1〜54−4:キャッシュブロック 56:ホストブロック 58:デバイスブロック(1セクタ) 60:ハッシュテーブル 62:LRUテーブル 64:空スペース管理テーブル 66:ハッシュエントリ 68:登録データ 70,70−1,70−2:動作モード設定部 72,72−1,72−2:信頼性重視モードキャッシ
ュ制御部 74,74−1,74−2:性能重視モードキャッシュ
制御部 75:ライトバック対象範囲 76,76−1,76−2:平均モードキャッシュ制御

Claims (36)

    【特許請求の範囲】
  1. 【請求項1】ディスクキャッシュ装置に於いて、 上位装置(10)からのアクセス要求に対しディスク装
    置(30)のデータ読み書きを制御する一対のディスク
    制御手段(12)と、 前記一対のディスク制御手段(12)の各々に設けら
    れ、前記ディスク装置(30)に格納されたデータの一
    部を記憶するキャッシュ記憶手段(48)と、 前記一対のディスク制御手段(12)の各々に設けら
    れ、前記上位装置(10)からのアクセス要求に対し予
    め準備された信頼性重視モードキャッシュ制御手段(7
    2)、性能重視モードキャッシュ制御手段(74)、又
    は平均モードキャッシュ制御手段(76)にいずれか1
    つにより前記キャッシュ記憶手段(48)のデータを読
    み書きする一対のキャッシュ制御手段(46)と、 前記一対のディスク制御手段(12)の間を結合して情
    報およびデータの送受を行う共用バス手段(18)と、 装置の立ち上がり時に前記一対のキャッシュ制御手段
    (46)に対し予め準備された信頼性重視モード、性能
    重視モードまたは平均モードにいずれか1つの動作モー
    ドを設定する動作モード設定手段(70)と、を備えた
    ことを特徴とするディスクキャッシュ装置。
  2. 【請求項2】請求項1記載のディスクキャッシュ装置に
    於いて、前記一対のディスク制御手段(12)に設けた
    前記信頼性重視モードキャッシュ制御手段(72)の各
    々は、前記一対のディスク制御手段(12)に設けたキ
    ャッシュ記憶手段(48)の各々に、同一のデータを記
    憶することを特徴とするディスクキャッシュ装置。
  3. 【請求項3】請求項2記載のディスクキャッシュ装置に
    於いて、前記一対のディスク制御手段(12)に設けた
    前記信頼性重視モードキャッシュ制御手段(72)の各
    々は、前記上位装置(10)からのリード要求に対し自
    己のキャッシュ記憶手段(48)に該当データがなかっ
    た場合は、前記ディスク装置(30)から該当データを
    読出して自己のキャッシュ記憶手段(48)にステージ
    ングして前記上位装置(10)にデータを転送すると共
    に、前記共通バス手段(18)を介して他のディスク制
    御手段(12)に転送して他方のキャッシュ記憶手段
    (48)に同じデータをステージングさせることを特徴
    とするディスクキャッシュ装置。
  4. 【請求項4】請求項2記載のディスクキャッシュ装置に
    於いて、前記一対のディスク制御手段(12)に設けた
    前記信頼性重視モードキャッシュ制御手段(72)の各
    々は、前記上位装置(10)からのライト要求に対し自
    己のキャッシュ記憶手段(48)にデータを書込むと共
    に、前記共通バス手段(18)を介して他のディスク制
    御手段(12)に転送して他方のキャッシュ記憶手段
    (48)にも同じデータを書込ませることを特徴とする
    ディスクキャッシュ装置。
  5. 【請求項5】請求項4記載のディスクキャッシュ装置に
    於いて、前記一対のディスク制御手段(12)に設けた
    前記信頼性重視モードキャッシュ制御手段(72)の各
    々は、前記上位装置(10)からのライト要求の処理終
    了後に予め定めた書戻し条件が成立した際に、自己のキ
    ャッシュ記憶手段(48)からディスク装置(30)へ
    の書込みが済んでいないデータを抽出して前記ディスク
    装置(30)に書き戻すと共に、前記共用バス手段(1
    8)を介して該書戻しデータのキャッシュ無効化を他方
    のディスク制御手段(12)に指示することを特徴とす
    るディスクキャッシュ装置。
  6. 【請求項6】請求項1記載のディスクキャッシュ装置に
    於いて、前記一対のディスク制御手段(12)に設けた
    前記性能重視モードキャッシュ制御手段(74)の各々
    は、前記一対のキャッシュ記憶手段(48)の各々に、
    自己にアクセス要求のあったデータのみを個別に記憶す
    ることを特徴とするディスクキャッシュ装置。
  7. 【請求項7】請求項6記載のディスクキャッシュ装置に
    於いて、前記一対のディスク制御手段(12)に設けた
    前記性能重視モードキャッシュ制御手段(74)の各々
    は、前記上位装置(10)からのリード要求に対し自己
    のキャッシュ記憶手段(48)に該当データがなかった
    場合は、他方のディスク制御手段(12)に対し前記共
    用バス手段(18)を介して処理を依頼し、他のディス
    ク制御手段(12)からのデータなしの応答を受けた際
    に前記ディスク手段から該当データを読出して自己のキ
    ャッシュ記憶手段(48)にステージングして前記上位
    装置(10)にデータを転送することを特徴とするディ
    スクキャッシュ装置。
  8. 【請求項8】請求項6記載のディスクキャッシュ装置に
    於いて、前記一対のディスク制御手段(12)に設けた
    前記性能重視モードキャッシュ制御手段(74)の各々
    は、前記上位装置(10)からのライト要求に対し自己
    のキャッシュ記憶手段(48)にのみデータを書込むこ
    とを特徴とするディスクキャッシュ装置。
  9. 【請求項9】請求項8記載のディスクキャッシュ装置に
    於いて、前記一対のディスク制御手段(12)に設けた
    前記性能重視モードキャッシュ制御手段(74)の各々
    は、前記上位装置(10)からのライト要求の処理終了
    後に予め定めた書戻し条件が成立した際に、自己のキャ
    ッシュ記憶手段(48)からディスク装置(30)への
    書込みが済んでいないデータを抽出して前記ディスク装
    置(30)に書き戻すことを特徴とするディスクキャッ
    シュ装置。
  10. 【請求項10】請求項1記載のディスクキャッシュ装置
    に於いて、前記一対のディスク制御手段(12)に設け
    た前記平均モードキャッシュ制御手段(76)の各々
    は、前記上位装置(10)からのリード要求に伴う前記
    ディスク装置(30)からのステージングを自己のキャ
    ッシュ記憶手段(48)に対してのみ行い、上位装置
    (10)からのライト要求に伴うデータの書込みは、前
    記一対のディスク制御手段(12)のキャッシュ記憶手
    段(48)の各々に行って同一データを記憶することを
    特徴とするディスクキャッシュ装置。
  11. 【請求項11】請求項10記載のディスクキャッシュ装
    置に於いて、前記一対のディスク制御手段(12)に設
    けた前記平均モードキャッシュ制御手段(76)の各々
    は、前記上位装置(10)からのリード要求に対し自己
    のキャッシュ記憶手段(48)に該当データがなかった
    場合は、他方のディスク制御手段(12)に対し前記共
    用バス手段(18)を介して処理を依頼し、該依頼後に
    前記ディスク手段から該当データを読出して自己のキャ
    ッシュ記憶手段(48)にステージングすることを特徴
    とするディスクキャッシュ装置。
  12. 【請求項12】請求項11記載のディスクキャッシュ装
    置に於いて、前記一対のディスク制御手段(12)に設
    けた前記平均モードキャッシュ制御手段(76)の各々
    は、他方のディスク制御手段(12)への処理依頼に対
    しデータなしの応答を受けていた際には、前記ディスク
    手段から該当データを読出して自己のキャッシュ記憶手
    段(48)にステージングした後に上位装置(10)に
    転送することを特徴とするディスクキャッシュ装置。
  13. 【請求項13】請求項10記載のディスクキャッシュ装
    置に於いて、前記一対のディスク制御手段(12)に設
    けた前記平均モードキャッシュ制御手段(76)の各々
    は、前記上位装置(10)からのライト要求に対し自己
    のキャッシュ記憶手段(48)にデータを書込むと共
    に、前記共通バス手段(18)を介して他のディスク制
    御手段(12)に転送して他方のキャッシュ記憶手段
    (48)にも同じデータを書込ませることを特徴とする
    ディスクキャッシュ装置。
  14. 【請求項14】請求項13記載のディスクキャッシュ装
    置に於いて、前記一対のディスク制御手段(12)に設
    けた前記平均モードキャッシュ制御手段(76)の各々
    は、前記上位装置(10)からのライト要求の処理終了
    後に予め定めた書戻し条件が成立した際に、自己のキャ
    ッシュ記憶手段(48)からディスク装置(30)への
    書込みが済んでいないデータを抽出して前記ディスク装
    置(30)に書き戻すと共に、前記共用バス手段(1
    8)を介して該書戻しデータのキャッシュ無効化を他方
    のディスク制御手段(12)に指示することを特徴とす
    るディスクキャッシュ装置。
  15. 【請求項15】請求項1乃至14記載のディスクキャッ
    シュ装置に於いて、前記一対のディスク制御手段(1
    2)に設けたキャッシュ記憶手段(48)の各々を、不
    揮発性メモリ手段としたことを特徴とするディスクキャ
    ッシュ装置。
  16. 【請求項16】請求項1乃至5記載のディスクキャッシ
    ュ装置に於いて、前記一対のディスク制御手段(12)
    に設けたキャッシュ記憶手段(48)を揮発性メモリ手
    段としたことを特徴とするディスクキャッシュ装置。
  17. 【請求項17】請求項1乃至16記載のディスクキャッ
    シュ装置に於いて、前記ディスク装置(30)をディス
    クアレイ装置としたことを特徴とするディスクキャッシ
    ュ装置。
  18. 【請求項18】ディスクキャッシュ装置に於いて、 内蔵した記憶媒体に対しデータを読み書きする複数のデ
    ィスク装置(30)を設けたディスクアレイ手段(2
    8)と、 前記ディスクアレイ手段(28)に格納されたデータの
    一部を記憶するキャッシュ記憶手段(48)と、 キャッシュ登録内容を示すハッシュテーブル手段(6
    0)および最新に使用されたキャッシュブロックを先頭
    位置とするように有効データを含むキャッシュブロック
    を登録純にリンクするLRUテーブル手段(62)に基
    づいて前記キャッシュ記憶手段(48)の記憶状態を管
    理するキャッシュ管理手段(50)と、 前記上位装置(10)からリード要求を受けた際に前記
    キャッシュ管理手段(50)を参照して該当データが存
    在する場合は前記キャッシュ記憶手段(48)から読出
    して前記上位装置(10)に転送し、該当データが存在
    しない場合は、前記ディスクアレイ手段(28)からス
    テージングした後に前記上位装置(10)に転送するリ
    ードキャッシュ制御手段(46−1)と、 前記上位装置(10)からライト要求を受けた際に、前
    記キャッシュ管理手段(50)に管理情報を登録すると
    共に該管理情報に従って前記キャッシュ記憶手段(4
    8)にデータを書込むライトキャッシュ制御手段(46
    −2)と、 予め定めたライトバック条件が成立した際に、前記キャ
    ッシュ記憶手段(48)から前記ディスクアレイ手段
    (28)への記憶が済んでいないデータを抽出して書戻
    すライトバック制御手段(45)と、 前記リードキャッシュ制御手段(46−1)および前記
    ライトキャッシュ制御手段(46−2)による前記ディ
    スクアレイ手段(28)のアクセス時に、予め設定され
    たディスクアレイの動作モードに従って1又は複数のデ
    ィスク装置(30)のアクセスを制御するディスクアレ
    イ制御手段(52)と、を備えたことを特徴とするディ
    スクキャッシュ装置。
  19. 【請求項19】請求項18記載のディスクキャッシュ装
    置に於いて、前記ディスクアレイ手段(28)は、並列
    的に配置された入出力ポートの各々にディスク装置(3
    0)を接続して1ランクを構成し、該ランク構成のディ
    スク装置(30)群を複数ランク設けたことを特徴とす
    るディスクキャッシュ装置。
  20. 【請求項20】請求項19記載のディスクキャッシュ装
    置に於いて、前記ディスクアレイ制御手段(52)は、
    RAID0に対応した第1動作モードの設定時は、特定
    のランクの中のディスク装置(30)を前記上位装置
    (10)で扱う論理デバイスに1対1に割当て、個々の
    ディスク装置(30)に読み書きを行うことを特徴とす
    るディスクキャッシュ装置。
  21. 【請求項21】請求項19記載のディスクキャッシュ装
    置に於いて、前記ディスクアレイ制御手段(52)は、
    RAID1に対応した第2動作モードの設定時は、特定
    のランクの中の2台のディスク装置(30)を1組とし
    て前記上位装置(10)で扱う論理デバイスに1対1に
    割当て、2つのディスク装置(30)に同一データを書
    込むと共にいずれか一方のディスク装置(30)からデ
    ータを読出すことを特徴とするディスクキャッシュ装
    置。
  22. 【請求項22】請求項19記載のディスクキャッシュ装
    置に於いて、前記ディスクアレイ制御手段(52)は、
    RAID3に対応した第3動作モードの設定時は、特定
    のランクを構成するn台のディスク装置(30)をデー
    タ用とパリティ用とに固定的に割当て、書込要求時に、
    書込データをビット単位又はバイト単位に(n−1)分
    割すると共に分割単位ごとにパリティデータを計算し、
    前記(n−1)分割したデータおよび前記パリティデー
    タを前記n台のディスク装置(30)に並列的に書込む
    ことを特徴とするディスクキャッシュ装置。
  23. 【請求項23】請求項19記載のディスクキャッシュ装
    置に於いて、前記ディスクアレイ制御手段(52)は、
    RAID5に対応した第4動作モードの設定時は、特定
    のランクを構成するn台のディスク装置(30)を1組
    としてアクセスごとにパリティ位置が変化するように割
    当て、書込要求時に、書込データを少なくともディスク
    装置(30)のセクタ単位に分割すると共に該書込デー
    タの書込先ディスク装置(30)およびパリティ用ディ
    クス装置から旧データおよび旧パリティデータを読出し
    て新パリティを計算し、前記書込データ及び新パリティ
    データを前記書込先ディスク装置(30)およびパリテ
    ィ用ディクス装置に並列的に書込むことを特徴とするデ
    ィスクキャッシュ装置。
  24. 【請求項24】請求項18記載のディスクキャッシュ装
    置に於いて、前記キャッシュ管理手段(50)は、前記
    キャッシュ記憶手段(48)の空き状態を管理する空ス
    ペース管理テーブル手段(64)を備え、前記ライトキ
    ャッシュ制御手段(46−1)は前記上位装置(10)
    に基づくキャッシュ書込処理の完了報告時に前記空スペ
    ース管理テーブル手段(60)を参照して空スペースが
    予め定めた閾値以下の場合、ディスク書込済みのデータ
    は無効化して前記キャッシュ記憶手段(48)から削除
    し、且つディスク書込みが済んでいないデータは前記ラ
    イトバック制御手段(45)による処理対象に組込むこ
    とを特徴とするディスクキャッシュ装置。
  25. 【請求項25】請求項24記載のディスクキャッシュ装
    置に於いて、前記空スペース管理テーブル手段(64)
    は、前記キャッシュ記憶手段(48)上の連続するキャ
    ッシュブロックの空数をエントリとして先頭ブロックの
    位置情報を格納したことを特徴とするディスクキャッシ
    ュ装置。
  26. 【請求項26】請求項18記載のディスクキャッシュ装
    置に於いて、前記リードキャッシュ制御手段(46−
    1)は、前記上位装置(10)からの要求データが前記
    キャッシュ記憶手段(48)の格納単位であるキャッシ
    ュブロック上に存在しない時、該キャッシュブロック上
    に存在する有効データの状態に応じて前記ディスクアレ
    イ手段(28)から新たなデータのステージングを行っ
    て連続する一つのデータ領域を生成することを特徴とす
    るディスクキャッシュ装置。
  27. 【請求項27】請求項26記載のディスクキャッシュ装
    置に於いて、前記リードキャッシュ制御手段(46−
    1)は、ステージング終了後に、前記要求データに続く
    有効データを前記ディスクアレイ手段(28)から前記
    キャッシュブロック上にプリフェッチすることを特徴と
    するディスクキャッシュ装置。
  28. 【請求項28】請求項27記載のディスクキャッシュ装
    置に於いて、RAID0に対応する第1動作モードの設
    定時又はRAID1に対応する第3動作モードの設定時
    に、前記リードキャッシュ制御手段(46−1)は、ス
    テージング終了後に前記要求データに続く予め設定した
    量の有効データを前記ディスクアレイ手段(28)から
    プリフェッチすることを特徴とするディスクキャッシュ
    装置。
  29. 【請求項29】請求項27記載のディスクキャッシュ装
    置に於いて、RAID3に対応する第3動作モードの設
    定時又はRAID5に対応する第4動作モードの設定時
    に、前記リードキャッシュ制御手段(46−1)は、ス
    テージング終了後に前記要求データに続く前記キャッシ
    ュブロックの最後までの有効データを前記ディスクアレ
    イ手段(28)からプリフェッチすることを特徴とする
    ディスクキャッシュ装置。
  30. 【請求項30】請求項27記載のディスクキャッシュ装
    置に於いて、RAID5に対応する第4動作モードの設
    定時に、前記リードキャッシュ制御手段(46−1)
    は、ステージング終了後に前記要求データを含むパリテ
    ィグループの最後までの有効データを前記ディスクアレ
    イ手段(28)からプリフェッチすることを特徴とする
    ディスクキャッシュ装置。
  31. 【請求項31】請求項18記載のディスクキャッシュ装
    置に於いて、RAID5に対応する第4動作モードの設
    定時に、前記リードキャッシュ制御手段(46−1)
    は、オプション指定により前記キャッシュ記憶手段(4
    8)にパリティデータを含めてステージングし、前記ラ
    イトバック手段(45)は、前記オプション指定を判別
    した際に前記キャッシュ記憶手段(48)のパリティデ
    ータを用いて新たなパリティを計算することを特徴とす
    るディスクキャッシュ装置。
  32. 【請求項32】請求項18記載のディスクキャッシュ装
    置に於いて、前記リードキャッシュ制御手段(46−
    1)は、前記上位装置(10)から大量シーケンシャル
    データのリードが要求された場合、前記LRUテーブル
    手段(62)の終端からの一定量となる既存のキャッシ
    ュブロックの一部を無効化すると共に、前記大量シーケ
    ンシャルデータを前記LRUテーブル手段(62)の先
    頭に登録せずに終端側に登録することを特徴とするディ
    スクキャッシュ装置。
  33. 【請求項33】請求項18記載のディスクキャッシュ装
    置に於いて、RAID5に相当する第4動作モードの設
    定時に、前記ライトバック制御手段(45)は、前記キ
    ャッシュブロックの中のライトバックの対象となった有
    効データをパリティグループ単位に抽出してパリティデ
    ータを算出した後に、抽出した有効データおよびパリテ
    ィデータを前記ディスクアレイ手段(28)の複数のデ
    ィスク装置(30)に並列的に書込むことを特徴とする
    ディスクキャッシュ装置。
  34. 【請求項34】請求項18記載のディスクキャッシュ装
    置に於いて、RAID5に相当する第4動作モードの設
    定時に、前記ライトバック制御手段(45)は、前記キ
    ャッシュブロックの中のライトバックの対象となった有
    効データのパリティグループに対する不足数が所定数以
    下の場合、該不足データを対応するディスク装置(3
    0)から読出した後にパリティグループ分の有効データ
    および計算したパリティデータを前記ディスクアレイ手
    段(28)の複数のディスク装置(30)に並列的に書
    込むことを特徴とするディスクキャッシュ装置。
  35. 【請求項35】請求項33又は34記載のディスクキャ
    ッシュ装置に於いて、前記ライトバック手段(45)
    は、所定のライトバック条件が成立した際に、前記LR
    Uテーブル手段(62)内の終端から所定数のキャッシ
    ュブロックをライトバック対象に組込むと共に、該対象
    範囲に含まれるキャッシュブロックをデータが連続する
    ように並び替えることを特徴とするディスクキャッシュ
    装置。
  36. 【請求項36】請求項18記載のディスクキャッシュ装
    置に於いて、更に、装置の使用中に前記上位装置(1
    0)からのアクセス要求で使用されるデータブロックサ
    イズを統計情報として収集し、該統計情報の平均値を次
    の装置立ち上げ時の前記キャッシュ記憶手段(48)の
    キャッシュブロックサイズとして自動設定する統計処理
    手段を設けたことを特徴とするディスクキャッシュ装
    置。
JP25621693A 1993-10-14 1993-10-14 ディスクキャッシュ装置 Expired - Fee Related JP3188071B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP25621693A JP3188071B2 (ja) 1993-10-14 1993-10-14 ディスクキャッシュ装置
US08/266,737 US5734859A (en) 1993-10-14 1994-06-27 Disk cache apparatus having selectable performance modes
US08/606,081 US5835940A (en) 1993-10-14 1996-02-23 disk apparatus with multiple raid operating modes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25621693A JP3188071B2 (ja) 1993-10-14 1993-10-14 ディスクキャッシュ装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP10352414A Division JPH11288387A (ja) 1998-12-11 1998-12-11 ディスクキャッシュ装置

Publications (2)

Publication Number Publication Date
JPH07110788A true JPH07110788A (ja) 1995-04-25
JP3188071B2 JP3188071B2 (ja) 2001-07-16

Family

ID=17289550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25621693A Expired - Fee Related JP3188071B2 (ja) 1993-10-14 1993-10-14 ディスクキャッシュ装置

Country Status (2)

Country Link
US (2) US5734859A (ja)
JP (1) JP3188071B2 (ja)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105116A (en) * 1997-01-06 2000-08-15 Nec Corporation Method and apparatus of controlling a disk cache during a degenerated mode of operation
KR20010011204A (ko) * 1999-07-26 2001-02-15 윤종용 캐쉬미러링을 통한 레이드 장애극복 방법 및 장치
US6292875B1 (en) 1996-06-05 2001-09-18 Fujitsu Limited Control device for storage device and method of accessing the storage device
EP0936533A3 (en) * 1998-01-19 2001-10-10 Fujitsu Limited Disk control device for disk array systems
US6725220B2 (en) 1999-08-27 2004-04-20 Comfidex Corp. System and method for integrating paper-based business documents with computer-readable data entered via a computer network
JP2006092120A (ja) * 2004-09-22 2006-04-06 Hitachi Ltd ストレージ装置及びストレージ装置のライトアクセス処理方法
WO2006072991A1 (ja) * 2005-01-07 2006-07-13 Fujitsu Limited Raid装置におけるライトバック方法
US7337200B2 (en) 1998-01-26 2008-02-26 Hitachi, Ltd. Storage sub-system having expanded data read
JP2011507073A (ja) * 2007-12-06 2011-03-03 フリースケール セミコンダクター インコーポレイテッド 設定可能なウェイの冗長を用いるキャッシュメモリのエラー検出器
JP2012150532A (ja) * 2011-01-17 2012-08-09 Nec Corp キャッシュ装置、データ管理方法、プログラム、及びキャッシュシステム
JP2012168674A (ja) * 2011-02-14 2012-09-06 Nec Computertechno Ltd ミラーリング復旧装置、および、ミラーリング復旧方法
US9128846B2 (en) 2011-12-13 2015-09-08 Fujitsu Limited Disk array device, control device and data write method
JP2016501999A (ja) * 2012-10-17 2016-01-21 トランスオーシャン イノベーション ラブス リミテッド 海中プロセッサのための通信システムおよび方法
JP2016192037A (ja) * 2015-03-31 2016-11-10 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
JP2017211984A (ja) * 2016-05-25 2017-11-30 三星電子株式会社Samsung Electronics Co.,Ltd. 再構成可能なマルチポートを具備するPCIeストレージシステムのためのQoSを認識した入出力管理方法、管理システム、及び管理装置
JP2018022404A (ja) * 2016-08-05 2018-02-08 富士通株式会社 ストレージシステム、ストレージ制御装置およびストレージ制御プログラム
JP2019049856A (ja) * 2017-09-11 2019-03-28 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991230A (ja) * 1995-09-26 1997-04-04 Matsushita Electric Ind Co Ltd データ転送システム
KR100208801B1 (ko) * 1996-09-16 1999-07-15 윤종용 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법
JP3813671B2 (ja) * 1996-10-30 2006-08-23 株式会社東芝 マルチメディアサーバ用ディスクアレイ装置
US6865642B2 (en) * 1998-06-24 2005-03-08 International Business Machines Corporation Method and apparatus for disk caching for an intermediary controller
US6324604B1 (en) * 1998-07-07 2001-11-27 Emc Corporation Magnetic disk storage for storing data in disk block size from fixed length of host block in non-integer multiple of the disk block size
US6272590B1 (en) * 1999-02-19 2001-08-07 International Business Machines Corporation Method and system for prefetching sequential data in a data storage system
US6571351B1 (en) 2000-04-07 2003-05-27 Omneon Video Networks Tightly coupled secondary storage system and file system
US6438647B1 (en) 2000-06-23 2002-08-20 International Business Machines Corporation Method and apparatus for providing battery-backed immediate write back cache for an array of disk drives in a computer system
JP2002259062A (ja) * 2001-02-28 2002-09-13 Hitachi Ltd 記憶装置システム及び記憶装置システムにおけるデータの複写方法
US7062702B2 (en) * 2001-03-14 2006-06-13 Hewlett-Packard Development Company, L.P. Efficient parity operations
US6567891B2 (en) * 2001-03-14 2003-05-20 Hewlett-Packard Development Company, L.P. Methods and arrangements for improved stripe-based processing
US7234021B1 (en) * 2001-10-05 2007-06-19 Emc Corporation Methods and apparatus for accessing data elements using improved hashing techniques
US7159080B1 (en) * 2001-12-20 2007-01-02 Network Appliance, Inc. System and method for storing storage operating system data in switch ports
US7146522B1 (en) * 2001-12-21 2006-12-05 Network Appliance, Inc. System and method for allocating spare disks in networked storage
US7650412B2 (en) * 2001-12-21 2010-01-19 Netapp, Inc. Systems and method of implementing disk ownership in networked storage
US7296068B1 (en) 2001-12-21 2007-11-13 Network Appliance, Inc. System and method for transfering volume ownership in net-worked storage
US7363425B2 (en) 2001-12-28 2008-04-22 Hewlett-Packard Development Company, L.P. System and method for securing drive access to media based on medium identification numbers
US7082497B2 (en) * 2001-12-28 2006-07-25 Hewlett-Packard Development Company, L.P. System and method for managing a moveable media library with library partitions
US6715031B2 (en) * 2001-12-28 2004-03-30 Hewlett-Packard Development Company, L.P. System and method for partitioning a storage area network associated data library
US6845431B2 (en) 2001-12-28 2005-01-18 Hewlett-Packard Development Company, L.P. System and method for intermediating communication with a moveable media library utilizing a plurality of partitions
US6999999B2 (en) * 2001-12-28 2006-02-14 Hewlett-Packard Development Company, L.P. System and method for securing fiber channel drive access in a partitioned data library
US6839824B2 (en) 2001-12-28 2005-01-04 Hewlett-Packard Development Company, L.P. System and method for partitioning a storage area network associated data library employing element addresses
US7000085B2 (en) * 2001-12-28 2006-02-14 Hewlett-Packard Development Company, L.P. System and method for securing drive access to data storage media based on medium identifiers
US8788611B2 (en) * 2001-12-28 2014-07-22 Hewlett-Packard Development Company, L.P. Method for using partitioning to provide capacity on demand in data libraries
US20030126225A1 (en) * 2001-12-28 2003-07-03 Camble Peter Thomas System and method for peripheral device virtual functionality overlay
US7062614B2 (en) * 2001-12-28 2006-06-13 Hewlett-Packard Development Company, L.P. System and method for managing access to multiple devices in a partitioned data library
US6779168B2 (en) * 2002-02-01 2004-08-17 Lsi Logic Corporation Magnetoresistive memory for a complex programmable logic device
WO2003075166A1 (fr) * 2002-03-06 2003-09-12 Fujitsu Limited Systeme de stockage et procede de transfert de donnees dans ledit systeme
US7136966B2 (en) 2002-03-18 2006-11-14 Lsi Logic Corporation Method and apparatus for using a solid state disk device as a storage controller cache
US7149846B2 (en) * 2002-04-17 2006-12-12 Lsi Logic Corporation RAID protected external secondary memory
US6854038B2 (en) * 2002-06-06 2005-02-08 International Business Machines Corporation Global status journaling in NVS
CA2498154A1 (en) * 2002-09-16 2004-03-25 Tigi Corporation Storage system architectures and multiple caching arrangements
US7292969B1 (en) * 2002-09-27 2007-11-06 Emc Corporation Method and system for simulating performance on one or more data storage systems
US20040088481A1 (en) * 2002-11-04 2004-05-06 Garney John I. Using non-volatile memories for disk caching
JP4352693B2 (ja) * 2002-12-10 2009-10-28 株式会社日立製作所 ディスクアレイ制御装置及びその制御方法
JP2004302556A (ja) 2003-03-28 2004-10-28 Hitachi Ltd 複数の計算機システム間でのデータ共有方法およびディスク制御装置
JP4371724B2 (ja) * 2003-07-03 2009-11-25 株式会社日立製作所 記憶システム及び記憶装置システム
US7281177B2 (en) * 2003-07-14 2007-10-09 International Business Machines Corporation Autonomic parity exchange
US7254754B2 (en) * 2003-07-14 2007-08-07 International Business Machines Corporation Raid 3+3
JP2005190057A (ja) * 2003-12-25 2005-07-14 Hitachi Ltd ディスクアレイ装置及びディスクアレイ装置のリモートコピー制御方法
US7343451B2 (en) * 2003-12-25 2008-03-11 Hitachi, Ltd. Disk array device and remote copying control method for disk array device
JP2007525771A (ja) * 2004-02-27 2007-09-06 ティギ・コーポレイション データ操作のためのシステム及び方法
JP4429780B2 (ja) * 2004-03-31 2010-03-10 富士通株式会社 記憶制御装置、制御方法、および制御プログラム。
US7124143B2 (en) 2004-05-10 2006-10-17 Hitachi, Ltd. Data migration in storage system
US7681104B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for erasure coding data across a plurality of data stores in a network
US7681105B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network
JP4438582B2 (ja) * 2004-09-22 2010-03-24 株式会社日立製作所 データ移行方法
US11221917B1 (en) 2005-09-30 2022-01-11 Pure Storage, Inc. Integrity processing in a dispersed storage network
US8555109B2 (en) * 2009-07-30 2013-10-08 Cleversafe, Inc. Method and apparatus for distributed storage integrity processing
US11620185B2 (en) 2005-09-30 2023-04-04 Pure Storage, Inc. Integrity processing in a dispersed storage network
US10860424B1 (en) 2005-09-30 2020-12-08 Pure Storage, Inc. Background verification processing in a storage network
KR100675010B1 (ko) * 2006-02-03 2007-01-29 삼성전자주식회사 하이브리드 하드디스크 드라이브의 캐시 제어 방법, 이에적합한 기록 매체 그리고 이에 적합한 장치
JP2009098887A (ja) * 2007-10-16 2009-05-07 Hitachi Ltd 記憶システム及びデータ消去方法
DE102008007591A1 (de) * 2008-02-06 2009-08-20 Siemens Aktiengesellschaft Software RAID-Steuerung und Performanceüberwachung eines medizintechnischen Echtzeitsystems
WO2009113071A2 (en) * 2008-03-12 2009-09-17 Safend Ltd. System and method for enforcing data encryption on removable media devices
WO2010050947A1 (en) * 2008-10-30 2010-05-06 Hewlett-Packard Development Company, L.P. Redundant array of independent disks (raid) write cache sub-assembly
US8380688B2 (en) * 2009-11-06 2013-02-19 International Business Machines Corporation Method and apparatus for data compression
US11429486B1 (en) * 2010-02-27 2022-08-30 Pure Storage, Inc. Rebuilding data via locally decodable redundancy in a vast storage network
US8819208B2 (en) 2010-03-05 2014-08-26 Solidfire, Inc. Data deletion in a distributed data storage system
JP2012150529A (ja) * 2011-01-17 2012-08-09 Sony Corp メモリアクセス制御回路、プリフェッチ回路、メモリ装置および情報処理システム
WO2013088818A1 (ja) * 2011-12-13 2013-06-20 株式会社日立製作所 仮想計算機システム、仮想化機構、及びデータ管理方法
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US10318171B1 (en) * 2012-06-29 2019-06-11 EMC IP Holding Company LLC Accessing fast memory in a data storage array
US10216652B1 (en) * 2012-06-29 2019-02-26 EMC IP Holding Company LLC Split target data transfer
JP5817052B2 (ja) * 2013-02-06 2015-11-18 シンラ テクノロジーズ インコーポレーテッドShinra Technologies, Inc. 情報処理装置、制御方法、プログラム、及び記録媒体
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
JP6080799B2 (ja) * 2014-05-28 2017-02-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープ記録システム用ファイルシステムを介した読み書きする方法
JP2016057876A (ja) * 2014-09-10 2016-04-21 富士通株式会社 情報処理装置、入出力制御プログラム、及び入出力制御方法
CN108701005B (zh) * 2016-02-18 2021-02-23 华为技术有限公司 数据更新技术
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US10768856B1 (en) * 2018-03-12 2020-09-08 Amazon Technologies, Inc. Memory access for multiple circuit components
CN109521961B (zh) * 2018-11-13 2021-10-26 深圳忆联信息系统有限公司 一种提升固态硬盘读写性能的方法及其系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59100964A (ja) * 1982-12-01 1984-06-11 Hitachi Ltd ディスク制御システム及びその並列データ転送方法
JPS59153251A (ja) * 1983-02-18 1984-09-01 Toshiba Corp デイスクキヤツシユシステム
JPS6263351A (ja) * 1985-09-12 1987-03-20 Nec Corp デイスクキヤツシユ装置
JPS62191947A (ja) * 1986-02-19 1987-08-22 Alps Electric Co Ltd デイスクキヤツシユ制御処理方式
JPS62243044A (ja) * 1986-04-16 1987-10-23 Hitachi Ltd デイスクキヤツシユメモリの制御方式
JP2637788B2 (ja) * 1988-09-02 1997-08-06 株式会社日立製作所 ディスクキャッシュ制御方式および情報処理システム
JPH0664838B2 (ja) * 1988-09-02 1994-08-22 松下電器産業株式会社 光デイスクファイル装置
US5222217A (en) * 1989-01-18 1993-06-22 International Business Machines Corporation System and method for implementing operating system message queues with recoverable shared virtual storage
JPH03129515A (ja) * 1989-10-16 1991-06-03 Fujitsu Ltd ディスク装置の二重化制御方式
US5287473A (en) * 1990-12-14 1994-02-15 International Business Machines Corporation Non-blocking serialization for removing data from a shared cache
JP2778268B2 (ja) * 1991-03-04 1998-07-23 三菱電機株式会社 記録媒体制御装置
JP3451099B2 (ja) * 1991-12-06 2003-09-29 株式会社日立製作所 外部記憶サブシステム

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292875B1 (en) 1996-06-05 2001-09-18 Fujitsu Limited Control device for storage device and method of accessing the storage device
US6105116A (en) * 1997-01-06 2000-08-15 Nec Corporation Method and apparatus of controlling a disk cache during a degenerated mode of operation
EP0936533A3 (en) * 1998-01-19 2001-10-10 Fujitsu Limited Disk control device for disk array systems
US7337200B2 (en) 1998-01-26 2008-02-26 Hitachi, Ltd. Storage sub-system having expanded data read
KR20010011204A (ko) * 1999-07-26 2001-02-15 윤종용 캐쉬미러링을 통한 레이드 장애극복 방법 및 장치
US6725220B2 (en) 1999-08-27 2004-04-20 Comfidex Corp. System and method for integrating paper-based business documents with computer-readable data entered via a computer network
JP2006092120A (ja) * 2004-09-22 2006-04-06 Hitachi Ltd ストレージ装置及びストレージ装置のライトアクセス処理方法
JP4555040B2 (ja) * 2004-09-22 2010-09-29 株式会社日立製作所 ストレージ装置及びストレージ装置のライトアクセス処理方法
WO2006072991A1 (ja) * 2005-01-07 2006-07-13 Fujitsu Limited Raid装置におけるライトバック方法
JP2011507073A (ja) * 2007-12-06 2011-03-03 フリースケール セミコンダクター インコーポレイテッド 設定可能なウェイの冗長を用いるキャッシュメモリのエラー検出器
JP2012150532A (ja) * 2011-01-17 2012-08-09 Nec Corp キャッシュ装置、データ管理方法、プログラム、及びキャッシュシステム
JP2012168674A (ja) * 2011-02-14 2012-09-06 Nec Computertechno Ltd ミラーリング復旧装置、および、ミラーリング復旧方法
US9128846B2 (en) 2011-12-13 2015-09-08 Fujitsu Limited Disk array device, control device and data write method
JP2016501999A (ja) * 2012-10-17 2016-01-21 トランスオーシャン イノベーション ラブス リミテッド 海中プロセッサのための通信システムおよび方法
US10539010B2 (en) 2012-10-17 2020-01-21 Transocean Innovation Labs Ltd. Subsea processor for underwater drilling operations
JP2016192037A (ja) * 2015-03-31 2016-11-10 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
JP2017211984A (ja) * 2016-05-25 2017-11-30 三星電子株式会社Samsung Electronics Co.,Ltd. 再構成可能なマルチポートを具備するPCIeストレージシステムのためのQoSを認識した入出力管理方法、管理システム、及び管理装置
JP2018022404A (ja) * 2016-08-05 2018-02-08 富士通株式会社 ストレージシステム、ストレージ制御装置およびストレージ制御プログラム
JP2019049856A (ja) * 2017-09-11 2019-03-28 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
US10608670B2 (en) 2017-09-11 2020-03-31 Fujitsu Limited Control device, method and non-transitory computer-readable storage medium

Also Published As

Publication number Publication date
US5734859A (en) 1998-03-31
US5835940A (en) 1998-11-10
JP3188071B2 (ja) 2001-07-16

Similar Documents

Publication Publication Date Title
JPH07110788A (ja) ディスクキャッシュ装置
US5636359A (en) Performance enhancement system and method for a hierarchical data cache using a RAID parity scheme
US6058489A (en) On-line disk array reconfiguration
US5537588A (en) Partitioned log-structured file system and methods for operating the same
JP3030229B2 (ja) データを転送する方法及びデータ記憶システム
US6941420B2 (en) Log-structure array
US9495105B2 (en) System managing a plurality of flash memory devices
JP2783748B2 (ja) 動的マップド・データ蓄積システムにおける補助記憶装置へのデータ転送のための方法および装置
US8281076B2 (en) Storage system for controlling disk cache
US7213110B2 (en) Destaging method for storage apparatus system, and disk control apparatus, storage apparatus system and program
US5551003A (en) System for managing log structured array (LSA) of DASDS by managing segment space availability and reclaiming regions of segments using garbage collection procedure
JP3697149B2 (ja) キャッシュ・メモリを管理する方法
EP1128267A1 (en) Disk storage system having redundant solid state data storage devices
JP3422370B2 (ja) ディスクキャッシュ制御装置
US20100100664A1 (en) Storage system
JPH08221326A (ja) 記憶制御装置及びその制御方法
JP2002323959A (ja) 磁気ディスク制御装置のログ主体不揮発性書き込みキャッシュ・システム及び方法
JPH11288387A (ja) ディスクキャッシュ装置
JPH1063576A (ja) 階層ディスク装置およびその制御方法
JPH04246746A (ja) 記憶装置システム
JP3744504B2 (ja) プロセッサ装置
JP3122252B2 (ja) ディスクアレイ制御方式
CN111857540B (zh) 数据存取方法、装置和计算机程序产品
US11157419B2 (en) Defragmentation techniques
CN111857540A (zh) 数据存取方法、装置和计算机程序产品

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010410

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

Free format text: PAYMENT UNTIL: 20080511

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090511

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090511

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees