JPH1063576A - 階層ディスク装置およびその制御方法 - Google Patents

階層ディスク装置およびその制御方法

Info

Publication number
JPH1063576A
JPH1063576A JP8224792A JP22479296A JPH1063576A JP H1063576 A JPH1063576 A JP H1063576A JP 8224792 A JP8224792 A JP 8224792A JP 22479296 A JP22479296 A JP 22479296A JP H1063576 A JPH1063576 A JP H1063576A
Authority
JP
Japan
Prior art keywords
cache
data
disk
control device
level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8224792A
Other languages
English (en)
Inventor
Yoshifumi Takamoto
良史 高本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8224792A priority Critical patent/JPH1063576A/ja
Publication of JPH1063576A publication Critical patent/JPH1063576A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 階層化されたディスクキャッシュにおいて、
各キャッシュ間でデータの重複が発生しキャッシュの利
用効率が低下するのを抑える。 【解決手段】 階層化された制御装置のそれぞれに、自
制御装置の階層レベルを格納するメモリを設け、データ
の読み出し時に前記メモリ内の前記階層レベルを読み出
し、最上位制御装置でなければ自キャッシュにはデータ
を格納しない制御を行う。 【効果】 各キャッシュ間で格納されているデータの重
複が発生しないため、キャッシュの利用効率が向上す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディスク制御装置
に係り、階層化されたディスクキャッシュの利用効率を
高め性能を向上させるの階層ディスク制御装置およびそ
の制御方法に関する。
【0002】
【従来の技術】一般的にコンピュータシステムは、プロ
セッサと2次記憶装置から構成されている。主として使
用される2次記憶装置は磁気ディスク装置である。現
在、ディスク記憶装置の容量の伸び率は極めて高いが、
メカニカルな動作を伴う磁気ディスク装置の性能はプロ
セッサ性能の伸び率ほど高くない。その課題を解決する
方法として、以下の2つの方法が知られている。
【0003】第一の方法は、ディスク制御装置内にディ
スクキャッシュを設ける方法である。ディスクキャッシ
ュは、一度読み込まれたデータを半導体メモリであるデ
ィスクキャッシュに格納しておき、同一のデータに対し
て再度読み込み要求が発生したときにはディスクキャッ
シュからデータを取り出すことで、ディスク装置へのア
クセスを削減し高速化を行う方法である。キャッシュを
増やすほどヒット率が向上するため性能も向上するが、
容量当たりのコストが磁気ディスクに比べ高価であるた
め、通常は磁気ディスク容量の数10分の1から数10
0分の1の容量が設けられている。キャッシュ制御方法
は、最も頻繁にアクセスされる順に格納しておき、最も
アクセスされなかったデータの追い出しを行う。これを
LRU処理といい、キャッシュ制御方法では一般的であ
る。これらの方法に関して、特開平6−231045号
公報に記載がある。
【0004】第二の方法は、磁気ディスクを並列に制御
することで性能を向上させる方式である。D.Patterso
n、G.Gibson、and R.H.Kartzらによる″A Case for Red
undantArrays of Inexpensive Disks(RAID)、in ACM SI
GMOD Conference、Chicago、IL"、 PP.109-116 (June 1
988)(以下、第1の参考文献と呼ぶ)では、複数のディ
スクドライブにデータを分散して配置することでディス
ク内に格納されたデータへのアクセス時間を短縮し、か
つパリティあるいはECCと呼ばれる冗長データを格納
することで信頼性も高めるRAIDというディスクアレ
イの構成技術が紹介されている。
【0005】つまり、アレイディスクでは、複数のディ
スクドライブに対して並列に入出力を行うので、データ
の読み出しあるいは書き込みは高速となり、また、ディ
スクドライブに障害が発生したときでもパリティと障害
ディスクドライブ以外のデータから、障害ディスクドラ
イブのデータを回復することができる。
【0006】より具体的には、上記文献では、データの
格納方法によりRAIDレベルを複数に分類している。
そのうち、製品で多く使用されるRAIDレベルは、R
AID1、RAID3、RAID5である。RAID1
はミラーリングであり、2台のディスクに同一データを
格納することでディスクの障害に対する信頼性を高めて
いる。読み出し時には、2台のディスクの内どちらか早
いほうのディスクから読むことで単一ディスクに比べ高
速である。RAID3は、単一データをビットあるいは
バイト毎にストライピングし複数のディスクに並列に読
み書きすることで、データ転送性能を向上可能である。
RAID5は入出力ブロックを単位として複数のディス
クにストライピングを行うレベルである。
【0007】RAID3では単一入出力要求を小さな単
位でストライピングするのに対し、RAID5はそれよ
りも大きな単位でストライピングを行う。RAID3は
単一ユーザの大規模データ入出力を高速化することが主
な目的であるが、RAID5は多数ユーザの小規模デー
タ入出力を並列に実行することが主な目的である。従っ
て、RAID3は特に大規模なデータ入出力が要求され
るマルチメディアや科学技術計算に用いられる。RAI
D5は多数ユーザのサービスを行うオンライン・トラン
ザクションたデータベース処理に用いられる。一般的な
ディスクアレイは、前述のキャッシュ制御とディスクの
並列動作の両方を取り入れて性能を向上させている。
【0008】一方で、大容量で低コストのディスクアレ
イの要求が強くなってきている。この場合、単一のディ
スクアレイコントローラに多数のディスク装置を接続す
る構成が考えられるが、ディスクアレイ制御装置内の制
御プロセッサの性能の限界のために容量は増加するが性
能は伸びなくなってしまう問題が発生する。制御プロセ
ッサはホストからの入出力要求を解釈実行するために設
けられる。制御しなければならないディスク装置の台数
に比例した処理性能が要求されることから、現状では数
台から数10台規模のディスクアレイがほとんどであ
る。
【0009】この問題を解決する方法として、制御装置
を階層化する方法が特開平7−44322号公報に述べ
られている。これは制御装置を階層化することで、各制
御装置が制御しなければならない台数を削減することが
目的である。例えば、一つの制御装置で5台のディスク
装置を制御できるとする。最上位にこの制御装置を1つ
設け、その制御装置の複数の出力をそれぞれ異なる制御
装置の入力に接続する。こうすることで全体で多数台の
ディスク装置を制御することが可能になる。
【0010】
【発明が解決しようとする課題】特開平7−44322
号公報で述べられている階層化されたディスクアレイ制
御装置において、キャッシュの適用方法が課題となる。
最も簡単な方法は、最上位の制御装置にのみキャッシュ
を持つことである。しかし、単一の制御装置に接続でき
るキャッシュ容量は多くないため、多数台のディスク装
置に対して小容量キャッシュでは十分な性能が期待でき
ない。そこで、階層化された制御装置の各々にキャッシ
ュを設ける方法が考えられる。この場合、各キャッシュ
が前述のLRU制御を行うことになる。階層化されたキ
ャッシュの各々で、最も最近サクセスされたデータを残
す制御を行うと、キャッシュ間で重複したデータが格納
されることになる。
【0011】例えば、制御装置1に制御装置2、3が接
続された階層ディスクアレイであり、各制御装置に各々
キャッシュが設けられているとする。制御装置2、3に
は、それぞれ複数のディスク装置が接続されているとす
る。このとき、制御装置2に接続されたディスクへの読
み出し要求が発行された時、制御装置2はディスクから
データを読み込み、LRU制御にしたがって自キャッシ
ュ内にデータを格納する。制御装置2はそのデータを上
位である制御装置1へ転送すると、制御装置1も制御装
置2と同様に自キャッシュ内にデータを格納する。この
場合、上位制御装置のみ格納していればよいデータを複
数のキャッシュで重複して格納する問題が発生する。な
お、特開平7−44322ではキャッシュの制御方法に
ついては述べられていない。
【0012】本発明の目的は、データを複数のキャッシ
ュで重複して格納することを抑制し、キャッシュを有効
に使用する手段を提供することにある。
【0013】
【課題を解決するための手段】上記目的を達成するため
に、階層化された制御装置のそれぞれに、自制御装置の
階層レベルを格納するメモリを設け、データの読み出し
時に前記メモリ内の前記階層レベルを読み出し、最上位
制御装置でなければ自キャッシュにはデータを格納しな
い制御を行うようにする。また、書き込み時にはデータ
をキャッシュに格納するとともに、パリティ生成に必要
なデータが上位キャッシュにないかサーチし、存在すれ
ば上位制御装置から下位制御装置内のキャッシュにデー
タを転送しパリティ生成を行うようにする。
【0014】
【発明の実施の形態】以下、本発明に係る階層ディスク
キャッシュ制御方法を図面に示し実施例を参照してさら
に詳細に説明する。
【0015】図1は、本発明による階層ディスクキャッ
シュ制御方法を適用するディスクアレイ制御装置の概略
構成図を示したものである。102は、ディスクアレイ
制御装置であり、137、138はディスクアレイ制御
装置102が入出力を行うディスク装置である。ディス
クアレイ制御装置102は、ホストプロセッサ101に
接続されている。ホストプロセッサ101からのディス
ク入出力要求をディスクアレイ制御装置102が受け取
り、ディスク装置(137、138)に対して入出力を
行う。ディスクアレイ制御装置102は、上位制御装置
103と複数の下位制御装置(139、112)から構
成されている。複数の下位制御装置(139、112)
はディスク装置(137、138)の入出力を行い、上
位制御装置103は、ホストプロセッサ101の入出力
要求を受けつけ解釈し、複数の下位制御装置(104、
112)に対して入出力要求の分配を行う。
【0016】上位制御装置103は、制御プロセッサ1
06(以下CPUと略す)、キャッシュコントロールメ
モリ107(以下CCMと略す)、マイクロプログラム
108、ホストインタフェース制御部104、上位キャ
ッシュ105、スイッチ109、インタフェース制御部
(110、111)から構成されている。上位制御装置
103の主な機能は、ホストプロセッサ101のディス
ク入出力要求を解釈し、その結果を複数の下位制御装置
(139、112)に分配することである。これらの制
御はCPU106によって行われ、この制御の手順や方
法が記されたものがマイクロプログラム108と呼ばれ
るソフトウエアである。
【0017】マイクロプログラム108は通常は半導体
メモリに格納されており、CPU106から読み出し・
実行が行われる。ホストインタフェース制御部104
は、ホストプロセッサ101との接続を制御し、入出力
要求を受け付け、データの送受信を行う。スイッチ10
9は複数の下位制御装置(139、112)に入出力要
求を分配する機能を持つ。CPU106からの指示で、
入出力要求をどの下位制御装置に分配するのかが決定さ
れる。インタフェース制御部(110、111)は下位
制御装置(139、112)との接続を制御し、入出力
要求の転送やデータの送受信を行う。上位制御装置10
3には、入出力を高速化するための上位キャッシュ10
5がある。
【0018】上位キャッシュ105は、ホストプロセッ
サ101から要求のあったデータを一時的に格納してお
くことでディスク装置(137、138)へのアクセス
を削減し入出力処理を高速化するために設けられる。C
CM107は上位キャッシュの制御方法に関する情報が
格納されている。
【0019】下位制御装置(139、112)内は、上
位制御装置103との接続を制御するインタフェース制
御部(113、125)、下位制御装置(139、11
2)を制御するCPU(114、126)とマイクロプ
ログラム(116、128)、ディスク装置(137、
138)のデータを一時的に格納する下位キャッシュ
(124、130)、下位キャッシュ(124、13
0)に関する制御情報が格納されたCCM(115、1
27)、ディスクコマンドを分配するスイッチ(12
3、131)、ディスク装置(137、138)との接
続を制御するインタフェース制御(117〜121、1
32〜136)、パリティ制御(122、129)から
構成されている。
【0020】下位制御装置(139、112)の主な機
能は、性能と信頼性を向上させるディスクアレイ制御を
行うことである。ディスクアレイには、データやパリテ
ィの格納方法により複数の種類があるが、本実施例で
は、それらのいずれも使用可能である。それらの主な種
類は次の通りである。RAID1はミラーリングであ
り、2台のディスクに同一データを格納することでディ
スクの障害に対する信頼性を高めている。読み出し時に
は、2台のディスクの内どちらか早いほうのディスクか
ら読むことで単一ディスクに比べ高速である。RAID
3は、単一データをビットあるいはバイト毎にストライ
ピング(分割)することで、データ転送性能を向上可能
である。
【0021】RAID5は入出力ブロックを単位として
複数のディスクにストライピングを行うレベルである。
RAID3では単一入出力要求を小さな単位でストライ
ピングするのに対し、RAID5はそれよりも大きな単
位でストライピングを行う。RAID3は単一ユーザの
入出力を高速化することが主な目的であるが、RAID
5は複数ユーザの入出力を並列に実行することが主な目
的である。従って、RAID3は特に大規模なデータ入
出力が要求される画像等を処理するマルチメディアや科
学技術計算に用いられる。RAID5は多数ユーザのサ
ービスを行うオンライン・トランザクションたデータベ
ース処理に用いられる。
【0022】RAID1、3、5ではいずれの場合も、
データ格納時に冗長データも同時にディスクに書き込む
ことで信頼性も向上している。具体的には、RAID1
の場合は、同一データを複数のディスクに書き込むこと
で冗長性を持たせている。またRAID3、5では、デ
ータ複数のディスクにストライピングするが、この時、
旧データと旧パリティと新データとの排他的論理和を新
パリティとしてディスクに書き込む。こうすることで、
いずれかのディスクが障害を起こしても、RAID1、
3、5いずれの場合も障害を起こしたディスクのデータ
を回復することが可能である。
【0023】例えば、RAID3において以下のように
データが格納されているとする。 ディスク1 データ =10101010 ディスク2 データ =11110000 ディスク3 パリティ=01011010 この状態でディスク2が障害を起こし読み書きができな
くなった場合、ディスク1とディスク3の排他的論理和
を演算する。 ディスク1 データ =10101010 ディスク3 パリティ=01011010 論理和 =11110000(ディス
ク2のデータ) このように、ディスク2のデータを再現することが可能
である。図1のパリティ制御(122、129)はパリ
ティの生成を行う機構である。
【0024】本発明では図1に示すように、キャッシュ
が上位制御装置103と下位制御装置(139、11
2)間で階層化されている。キャッシュを階層化するこ
との効果は、要求アクセス時間やコストに応じて、構成
を柔軟に変更できることである。一例として、上位のキ
ャッシュ105はコストが高いが高速な半導体メモリで
構成し頻繁にアクセスされるデータを保持しておき、下
位キャッシュは上位キャッシュに比べ遅いが低コストな
半導体メモリで構成するといったことが考えられる。デ
ィスク制御装置のほとんどはキャッシュが単一であった
ために、このような柔軟な構成をとることができなかっ
た。
【0025】本発明の特徴は、キャッシュが階層化され
たディスクアレイ制御装置において、上位制御装置10
3内と複数の下位制御装置(104、112)内にキャ
ッシュ(105、124、130)を設け、互いのキャ
ッシュに格納されたデータの重複を無くす制御を行うこ
とでキャッシュの利用効率を向上することである。
【0026】図2および図3は、本発明における実施例
の概要を示している。図2では動作概要を示し、図3で
は効果を示している。201は上位キャッシュであり、
上位キャッシュ201には複数の下位キャッシュ(20
5、206)が接続されており、階層キャッシュ構造に
なっている。ホストプロセッサから入力要求が発生した
場合の動作を示している。ディスク装置に格納されたデ
ータ204の入力要求が発生した場合、下位キャッシュ
にデータを格納するかどうかを階層レベルにより決定す
る。階層レベルとは、ホストプロセッサに最も近いキャ
ッシュを最上位(階層レベル=0)208と定義し、そ
れ以外は階層レベル=1(209、210)である。キ
ャッシュに格納する格納するかどうかは、自キャッシュ
が最上位キャッシュかどうか判定することで決定する。
下位キャッシュ205は、最上位キャッシュではないの
で、下位キャッシュ205には読み込まれたデータは格
納しない212。読み込まれたデータは上位キャッシュ
201に転送される。
【0027】ここで、下位キャッシュと同様に最上位キ
ャッシュかどうか判定する(211)。ここでは最上位
キャッシュであるため、キャッシュに読み込まれたデー
タは格納され(202)、そのデータは同時にホストプ
ロセッサに転送される。この時、最上位キャッシュが一
杯になった場合、自キャッシュ内のいずれかのデータの
追い出し処理を行う。追い出しデータとして選択された
データ203は、所定の下位キャッシュへ転送される
(207)。下位キャッシュでは、上位から転送された
データについては、格納するかどうかの判定は行わな
い。格納するかどうかの判定を行うのは、自キャッシュ
より上位にデータを転送する時のみであり、上位から転
送されたデータは無条件に格納する。これは、上位キャ
ッシュは、最も頻繁に使用されるデータのみを格納し、
下位キャッシュには上位キャッシュに格納しきれなかっ
たデータを格納することで、キャッシュのヒット率を向
上させるためである。
【0028】図2の制御を行うことで、図3のような効
果が得られる。図3は、従来のキャッシュ制御と、本発
明の実施例における階層キャッシュの効果を比較した図
である。従来のキャッシュ制御は、全てのキャッシュに
おいてまったく同じ制御を行っているために、データの
重複が生じる。上位キャッシュ1101に12個のデー
タが格納でき、下位キャッシュ(1102、1103)
にはそれぞれ6個のデータが格納できる場合を示してい
る。
【0029】ホストプロセッサから入力要求が発生する
と、上位キャッシュ1101、下位キャッシュ(110
2、1103)それぞれで、最も最近アクセスされたデ
ータを残す制御を行う。そのため、キャッシュに格納さ
れたデータが重複するために、キャッシュを無駄に使用
することになる。本発明では、上位キャッシュ1104
には従来と同様に最も頻繁にアクセスされるデータを残
し、下位キャッシュ(1105、1106)には、上位
キャッシュ1104に転送したデータは格納しない制御
を行っているため、キャッシュに格納されるデータに重
複が生じない。そのため、従来は重複データが格納され
ていた領域は空き領域となり、この領域に新しいデータ
を格納することができるようになる。
【0030】図4は、本発明における実施例のマイクロ
プログラム301の構造を示してる。上位制御装置10
3と下位制御装置(139、112)ともに構成は同じ
である。302はコマンド制御、303は階層キャッシ
ュ制御、304はキャッシュ管理リスト、305はディ
スク読み込み&先読み制御、306はディスク書き込み
&まとめ書き制御、307は階層キャッシュ初期設定制
御である。自制御装置より上位の装置からの要求はコマ
ンド制御302で受け付けられ解釈される。その結果、
読み込み処理であればディスク読み込み&先読み制御3
05が呼び出され、書き込み処理であればディスク読み
込み&先読み制御306が呼び出される。ディスク読み
込み&先読み制御305、ディスク読み込み&先読み制
御306内ではそれぞれ階層キャッシュ制御303が呼
びだされ自制御装置内のキャッシュ制御が行われる。そ
の際、キャッシュ管理リスト304が使用される。キャ
ッシュ管理リスト304は自キャッシュの使用リスト、
空きリストなどが格納されている。階層キャッシュ初期
設定制御307は、主に装置起動時に実行され、階層キ
ャッシュの制御に必要な情報を設定する。これらの情報
は次に説明する。
【0031】図5は、階層キャッシュの制御に必要な情
報が格納されたCCM(107、115、127)のデ
ータ構造を示している。これらの情報は、装置起動時に
階層キャッシュ初期設定制御307によって設定され
る。401は階層レベルフィールドであり、ホストプロ
セッサに最も近いキャッシュが階層レベル0であり、そ
れ以外は階層レベル1である。キャッシュ制御モード4
02は、キャッシュの先読みやまとめ書き制御を行うか
どうかのフラグが設定されている。キャッシュ使用上限
値403とキャッシュ使用下限値404は、キャッシュ
のあふれや先読み制御をどの時点で行うかの数値が格納
されている。キャッシュの使用状況がキャッシュ使用上
限値に達したら、下位制御装置またはディスク装置へデ
ータを転送し、未使用領域を増やす。また、キャッシュ
使用下限値を下回ったら下位制御装置またはディスク装
置からデータの先読みを行いキャッシュに格納されてい
るデータを増やす。キャッシュ使用リストポインタ40
5とキャッシュ未使用リストポインタは図4のキャッシ
ュ管理リスト304へのポインタを示しており、キャッ
シュの確保や開放を行う際に使用される。
【0032】図6は、図4のマイクロプログラム301
内のコマンド制御302のフローを示している。ステッ
プ501は、上位装置から転送されたディスク入出力コ
マンド受付処理である。ステップ502はコマンドの判
定を行う。ここでは、コマンドが入力要求なのか出力要
求なのかが判定され、入力要求(READ)であればス
テップ503に進み、出力処理(WRITE)であれば
ステップ506に進む。
【0033】ステップ503は、ディスク読み込み&先
読み制御を行う。この処理は後で詳細に説明する。ステ
ップ504は、ステップ503で読み込まれたデータに
対してキャッシュ制御を行う。ステップ505は上位装
置へ終了報告を行う。ステップ506は、上位装置から
転送されたデータの階層キャッシュ制御を行う。ステッ
プ507はディスク書き込み&まとめ書き制御を行う。
この処理は後で詳細に説明する。ステップ508は、上
位装置へ終了報告を行う。
【0034】図7は、図4の階層キャッシュ制御303
のフローを示している。ステップ601はコマンド判定
処理であり、出力要求か入力要求かを判定する。入力要
求であればステップ602に進み出力要求であればステ
ップ609に進む。ステップ602では、CCM(図1
の107、115、および、127)内の階層レベルフ
ィールド(図5の401)の読み出しを行う。このフィ
ールドには、最上位キャッシュであれば0が、それ以外
のキャッシュであれば1が格納されている。ステップ6
03は自キャッシュが最上位キャッシュかそうでないか
の判定を行う。最上位キャッシュであればステップ60
4に進み、そうでなければステップ606に進む。ステ
ップ604では、LRU処理を行う。LRU処理とは、
キャッシュがフルになった時にどのデータを追い出すか
を決定するアルゴリズムであり、キャッシュの管理に一
般に用いられている。
【0035】ステップ604では、読み込み要求に対し
て転送されたデータを最優先にキャッシュに格納するた
め、もしその時キャッシュがフルになっていた場合、い
ずれかのデータをキャッシュから追い出す処理を行わな
う。ステップ605では、上位装置へデータを転送す
る。
【0036】ステップ606、607は、自キャッシュ
が最上位キャッシュではなかった時の処理である。最上
位キャッシュでなかった場合は、キャッシングしない制
御を行う。これは、さらに上位にキャッシュが存在する
ため上位のキャッシュに格納されていれば自キャッシュ
にデータを格納する必要がないためである。ステップ6
06では、上位装置にデータを転送する。ステップ60
7ではキャッシュ領域を解放する。
【0037】ステップ604、605、606、607
により、自キャッシュが最上位キャッシュであればキャ
ッシュに格納し、そうでなければキャッシュには格納し
ない処理を実現してる。この判定のためにCCM内に階
層レベルを示す情報がキャッシュ毎に格納されている。
【0038】ステップ609は書き込み処理の場合に実
行され、通常のLRU処理が行われる。この階層キャッ
シュ制御により、階層化されたキャッシュ構成におい
て、各キャッシュ間に重複するデータをなくすことがで
き、キャッシュの利用効率を向上することが可能にな
る。
【0039】図8は、キャッシュ管理リスト304のデ
ータ構造を示している。405は図5におけるキャッシ
ュ使用リストポインタであり、406はキャッシュ未使
用リストポインタである。キャッシュ使用リストポイン
タ405には、自キャッシュ内で使用されている領域が
リスト形式で格納されており、各リスト内は次のリスト
へのポインタ703、使用領域識別子704が格納され
ている。リストの最後の次のリストへのポインタ703
はリストの最後を示す値が格納される。このリストは、
参照されるとリストの最も最後にリストチェインを切り
替える制御が行われる。
【0040】これにより、最も最近アクセスされた領域
はリストの最も最後におかれ、最も長くアクセスされな
かった領域はキャッシュ使用リストポインタ405に最
も近いリストにチェインされている。そのため、キャッ
シュがフルになり、いずれかの領域を解放しなくてはな
らなくなったときにはキャッシュ使用リストポインタ4
05に最も近いリストが選択することでLRU制御を実
現している。キャッシュ未使用リストポインタ406に
示されるリストは、使用されていないキャッシュ領域が
チェインされており、キャッシュを確保する場合にはリ
ストの先頭か領域が選択される。
【0041】図9は、ディスク読み込み&先読み制御の
フローを示している。ステップ801では上位装置より
要求されたデータがキャッシュに格納されているかどう
かの判定を行う。これは図8のキャッシュ使用リストを
サーチすることで実現できる。ステップ802でもしキ
ャッシュにデータが格納されていたら(キャッシュヒッ
ト)処理を終了させる。キャッシュに格納されていなけ
れば(キャッシュミスヒット)ステップ803に進む。
ステップ803では、キャッシュ領域を確保する。これ
は、図8のキャッシュ未使用リストポインタが示してい
るリストを選択することで実現できる。ステップ804
ではディスク入力要求を生成し、ディスク装置からデー
タの入力を行う。ステップ805は先読み制御である
が、この処理はバックグラウンドで実行される。先読み
処理の中断は、図5キャッシュ使用上限値403に達し
たとき、または次の入力コマンドが発生したときであ
る。
【0042】図10は、ディスク書き込み&まとめ書き
制御のフローを示している。ステップ901では、上位
装置から転送されたデータを格納するためのキャッシュ
領域を確保する。これはキャッシュ未使用リストポイン
タ406に示されるリストを選択することで実現でき
る。ステップ902では、自キャッシュ内のディスクへ
書き込んでいないデータ量がNを超えたかどうかを判定
している。もし、Nを超えていたらディスクへの書き込
みを実行する。これは、小データの場合に、要求が発生
する毎にディスクへの書き込みを行っていると処理時間
が増加するため、ある程度まとまった単位でディスクへ
の書き込みを行うことで性能を向上させるための処理で
ある。ステップ903、904はパリティ生成を行うた
めの処理である。
【0043】前述の通り、ディスクアレイではパリティ
を生成しディスクに格納することで信頼性を向上させて
いる。パリティの生成には、旧データ、旧パリティ、新
データが必要であり、ステップ903ではこれらのデー
タが上位キャッシュにないかサーチする。これは、本発
明はデータを重複しないようにキャッシュ制御を行って
いるため、最新データが上位装置に存在する可能性があ
るためである。もし、上位キャッシュ、自キャッシュに
パリティ生成に必要なデータが存在しない場合は、下位
装置へアクセスしデータを集める。ステップ904では
旧データ、旧パリティ、新データの排他的論理和をと
り、パリティを生成する。ステップ905では、書き込
みデータ(新データ)とパリティを所定のディスクへ書
き込むことで処理が終了する。
【0044】図11では、図4における階層キャッシュ
初期設定制御307によって、図1におけるCCM(1
07、115、127)内の階層レベルフィールド(図
5の401)にどの様な値が格納されるかを示してい
る。これまでの実施例では2階層のキャッシュで説明し
てきたが、図11に示すように、3階層、あるいはそれ
以上でも本発明の効果が得られる。最上位制御装置10
01に接続された中間制御装置(1002、100
3)、さらに中間制御装置(1002、1003)に接
続された最下位制御装置(1004、1005)のよう
な構成の場合、階層レベルフィールドは次のようにな
る。
【0045】最上位制御装置1001は0、中間制御装
置(1002、1003)は1、最下位制御装置(10
04、1005)は1に設定することで、各階層間でデ
ータが重複することは無くなる。これまでは装置が正常
に動作している場合を述べてきたが、ダイナミックに階
層レベルを変更したほうが良い場合がある。装置あるい
はキャッシュに障害が発生した場合である。最上位制御
装置1001内のキャッシュが障害を起こした場合は、
その次の階層のキャッシュ(図11では中間制御装置1
002、1003)が最上位キャッシュ(階層レベルフ
ィールド=0)に設定される。これにより、障害時にお
いても本発明の効果を十分に得ることができるようにな
る。
【0046】
【発明の効果】本発明では、階層化されたキャッシュで
構成されるディスクアレイにおいて、下位キャッシュで
は、上位にデータを転送する時は自キャッシュにデータ
を格納しない制御を行う。これにより上位キャッシュ
は、最も頻繁に使用されるデータのみを格納され、下位
キャッシュには上位キャッシュに格納しきれなかったデ
ータを格納されることになるため、キャッシュのヒット
率を向上させるためである。
【図面の簡単な説明】
【図1】本発明における実施例の全体図を示す図であ
る。
【図2】本発明の実施例における動作概要を示す図であ
る。
【図3】本発明の実施例における効果を示す図である。
【図4】本発明の実施例におけるマイクロプログラム構
成を示す図である。
【図5】本発明の実施例におけるキャッシュ制御メモリ
(CCM)構造を示す図である。
【図6】本発明の実施例におけるコマンド制御フローを
示す図である。
【図7】本発明の実施例における階層キャッシュ制御フ
ローを示す図である。
【図8】本発明の実施例におけるキャッシュ管理リスト
構造を示す図である。
【図9】本発明の実施例におけるディスク読み込み&先
読み制御フローを示す図である。
【図10】本発明の実施例におけるディスク書き込み&
制御フローを示す図である。
【図11】本発明の実施例における階層レベルを示す図
である。
【符号の説明】
101 ホストプロセッサ、 102 ディスクアレイ制御装置、 137、138 ディスク装置、 103 上位制御装置、 139、112 下位制御装置、 105 上位キャッシュ、 124、130 下位キャッシュ、 107、115、127 キャッシュ制御メモリ。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】ホストプロセッサに接続された最上位制御
    装置と、前記最上位制御装置に接続された複数の下位制
    御装置と、前記複数の下位制御装置に接続された複数の
    ディスク装置と、前記最上位制御装置および前記複数の
    下位制御装置に設けられたディスクキャッシュからなる
    階層ディスク装置であって、 前記下位制御装置は、前記ホストプロセッサからの読み
    込みデータを、ディスクキャッシュに格納すること無く
    前記上位制御装置へ転送する手段と、 前記最上位制御装置は、前記読み込みデータを、ディス
    クキャッシュに格納し、かつ、前記ホストプロセッサへ
    転送する手段を有する階層ディスク装置。
  2. 【請求項2】複数のディスク装置を並列に動作させると
    ともに、冗長データを格納するディスクアレイ制御装置
    であって、ホストプロセッサに接続された最上位制御装
    置と、前記最上位制御装置に接続された複数の下位制御
    装置と、前記複数の下位制御装置に接続された複数のデ
    ィスク装置と、前記最上位制御装置および前記複数の下
    位制御装置に設けられたディスクキャッシュからなる階
    層ディスク装置において、 前記ホストプロセッサからのデータ読み込み時に前記階
    層レベルが最上位制御装置かどうかを、前記最上位制御
    装置および前記複数の下位制御装置が有する階層レベル
    を示す識別子から判断し、 最上位制御装置でなければ前記読み込みデータをディス
    クキャッシュに格納しない制御を行うことを特徴とする
    階層ディスクキャッシュ制御方法。
  3. 【請求項3】前記ホストプロセッサからデータの書き込
    み要求が発生した時、冗長データを生成する制御装置
    は、上位制御装置に対して最新のデータが存在するかど
    うか検索し、 存在すれば上位制御装置のディスクキャッシュからから
    下位制御装置のディスクキャッシュに前記データを転送
    することを特徴とする請求項2記載の階層ディスクキャ
    ッシュ制御方法。
  4. 【請求項4】前記最上位制御装置のキャッシュが障害を
    起こした場合、前記最上位制御装置に接続された複数の
    下位制御装置の前記識別子を、最上位制御装置を示す識
    別子に変更することを特徴とする請求項2記載の階層デ
    ィスクキャッシュ制御方法。
JP8224792A 1996-08-27 1996-08-27 階層ディスク装置およびその制御方法 Pending JPH1063576A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8224792A JPH1063576A (ja) 1996-08-27 1996-08-27 階層ディスク装置およびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8224792A JPH1063576A (ja) 1996-08-27 1996-08-27 階層ディスク装置およびその制御方法

Publications (1)

Publication Number Publication Date
JPH1063576A true JPH1063576A (ja) 1998-03-06

Family

ID=16819281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8224792A Pending JPH1063576A (ja) 1996-08-27 1996-08-27 階層ディスク装置およびその制御方法

Country Status (1)

Country Link
JP (1) JPH1063576A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006119786A (ja) * 2004-10-20 2006-05-11 Hitachi Ltd ストレージ装置のリソース割り当て方法及びストレージ装置
US7054997B2 (en) 2002-05-24 2006-05-30 Hitachi, Ltd. Disk array system and cache control method
US7133976B2 (en) 2002-10-17 2006-11-07 Hitachi, Ltd. Disk array device, method for controlling the disk array device and storage system
US7249221B2 (en) 2004-03-12 2007-07-24 Hitachi, Ltd. Storage system having network channels connecting shared cache memories to disk drives
US7430636B2 (en) 2005-08-29 2008-09-30 Hitachi, Ltd. Storage system and storage control method comprising router and switch in communication with RAID modules
JP2008242870A (ja) * 2007-03-28 2008-10-09 Yokogawa Electric Corp データ読み出し装置
US7512753B2 (en) 2003-02-18 2009-03-31 Nec Corporation Disk array control apparatus and method
JP2010515196A (ja) * 2007-01-03 2010-05-06 レイセオン カンパニー コンピュータストレージシステム
US7930482B2 (en) 2007-03-16 2011-04-19 Hitachi, Ltd. Storage system and method for controlling cache residency setting in the storage system
WO2015015550A1 (ja) * 2013-07-29 2015-02-05 株式会社日立製作所 計算機システム及び制御方法
JP2015087837A (ja) * 2013-10-29 2015-05-07 株式会社日立製作所 計算機システム、及びデータ配置制御方法
JP2016530584A (ja) * 2013-05-17 2016-09-29 アビニシオ テクノロジー エルエルシー データ操作のための、メモリ及びストレージ空間の管理

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392341B2 (en) 2002-05-24 2008-06-24 Hitachi, Ltd. Disk array system and cache control method
US7054997B2 (en) 2002-05-24 2006-05-30 Hitachi, Ltd. Disk array system and cache control method
US7133976B2 (en) 2002-10-17 2006-11-07 Hitachi, Ltd. Disk array device, method for controlling the disk array device and storage system
US7139880B2 (en) 2002-10-17 2006-11-21 Hitachi, Ltd. Disk array device, method for controlling the disk array device and storage system
US7487298B2 (en) 2002-10-17 2009-02-03 Hitachi, Ltd. Disk array device, method for controlling the disk array device and storage system
US7287125B2 (en) 2002-10-17 2007-10-23 Hitachi, Ltd. Disk array device, method for controlling the disk array device and storage system
US7512753B2 (en) 2003-02-18 2009-03-31 Nec Corporation Disk array control apparatus and method
US7814270B2 (en) 2004-03-12 2010-10-12 Hitachi, Ltd. Storage systems and methods of controlling cache memory of storage systems
US7249221B2 (en) 2004-03-12 2007-07-24 Hitachi, Ltd. Storage system having network channels connecting shared cache memories to disk drives
JP2006119786A (ja) * 2004-10-20 2006-05-11 Hitachi Ltd ストレージ装置のリソース割り当て方法及びストレージ装置
US7747819B2 (en) 2005-08-29 2010-06-29 Hitachi, Ltd. Storage system and storage control method comprising router and switch communication with RAID modules
EP2184674A2 (en) 2005-08-29 2010-05-12 Hitachi, Ltd. Storage system and storage control method
US7430636B2 (en) 2005-08-29 2008-09-30 Hitachi, Ltd. Storage system and storage control method comprising router and switch in communication with RAID modules
JP2010515196A (ja) * 2007-01-03 2010-05-06 レイセオン カンパニー コンピュータストレージシステム
US7930482B2 (en) 2007-03-16 2011-04-19 Hitachi, Ltd. Storage system and method for controlling cache residency setting in the storage system
JP2008242870A (ja) * 2007-03-28 2008-10-09 Yokogawa Electric Corp データ読み出し装置
JP2016530584A (ja) * 2013-05-17 2016-09-29 アビニシオ テクノロジー エルエルシー データ操作のための、メモリ及びストレージ空間の管理
WO2015015550A1 (ja) * 2013-07-29 2015-02-05 株式会社日立製作所 計算機システム及び制御方法
JP5944587B2 (ja) * 2013-07-29 2016-07-05 株式会社日立製作所 計算機システム及び制御方法
JP2015087837A (ja) * 2013-10-29 2015-05-07 株式会社日立製作所 計算機システム、及びデータ配置制御方法

Similar Documents

Publication Publication Date Title
US5881311A (en) Data storage subsystem with block based data management
US6256749B1 (en) Disk array system and its control method
US8032733B2 (en) Apparatus and method for reallocating logical to physical disk devices using a storage controller with access frequency and sequential access ratio calculations and display
JP2769443B2 (ja) 記憶サブシステム及び関連する装置/方法
US6058489A (en) On-line disk array reconfiguration
US7769952B2 (en) Storage system for controlling disk cache
JP3697149B2 (ja) キャッシュ・メモリを管理する方法
JP3176157B2 (ja) ディスクアレイ装置及びそのデータ更新方法
US8131969B2 (en) Updating system configuration information
US20090210620A1 (en) Method to handle demand based dynamic cache allocation between SSD and RAID cache
JP2004213064A (ja) Raid装置及びその論理デバイス拡張方法
WO2014115320A1 (ja) ストレージシステム及びデータ管理方法
JP3713788B2 (ja) 記憶装置および記憶装置システム
CN111857540B (zh) 数据存取方法、装置和计算机程序产品
JPH06259197A (ja) アレイ型ディスクシステムの制御方式
US5805787A (en) Disk based disk cache interfacing system and method
JPH1063576A (ja) 階層ディスク装置およびその制御方法
JPH11288387A (ja) ディスクキャッシュ装置
JPH06119120A (ja) ディスクアレイ制御方式
JPH06332632A (ja) ディスクアレイ装置及びその制御方法
GB2301208A (en) Data access apparatus and distributed data base system