JPH1063576A - Hierarchical disk device and control method therefor - Google Patents
Hierarchical disk device and control method thereforInfo
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】
【課題】 階層化されたディスクキャッシュにおいて、
各キャッシュ間でデータの重複が発生しキャッシュの利
用効率が低下するのを抑える。
【解決手段】 階層化された制御装置のそれぞれに、自
制御装置の階層レベルを格納するメモリを設け、データ
の読み出し時に前記メモリ内の前記階層レベルを読み出
し、最上位制御装置でなければ自キャッシュにはデータ
を格納しない制御を行う。
【効果】 各キャッシュ間で格納されているデータの重
複が発生しないため、キャッシュの利用効率が向上す
る。
(57) [Summary] [Problem] In a hierarchical disk cache,
It is possible to suppress the occurrence of duplication of data between caches and a decrease in cache use efficiency. Each of the hierarchized control devices is provided with a memory for storing a hierarchy level of its own control device, and when reading data, reads out the hierarchy level in the memory. Performs control not to store data. [Effect] Since the data stored in each cache does not overlap, the use efficiency of the cache is improved.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、ディスク制御装置
に係り、階層化されたディスクキャッシュの利用効率を
高め性能を向上させるの階層ディスク制御装置およびそ
の制御方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk controller, and more particularly, to a hierarchical disk controller and a control method for improving the utilization efficiency and the performance of a hierarchical disk cache.
【0002】[0002]
【従来の技術】一般的にコンピュータシステムは、プロ
セッサと2次記憶装置から構成されている。主として使
用される2次記憶装置は磁気ディスク装置である。現
在、ディスク記憶装置の容量の伸び率は極めて高いが、
メカニカルな動作を伴う磁気ディスク装置の性能はプロ
セッサ性能の伸び率ほど高くない。その課題を解決する
方法として、以下の2つの方法が知られている。2. Description of the Related Art Generally, a computer system comprises a processor and a secondary storage device. A secondary storage device mainly used is a magnetic disk device. Currently, disk storage capacity growth is extremely high,
The performance of a magnetic disk drive involving mechanical operations is not as high as the rate of increase in processor performance. The following two methods are known as methods for solving the problem.
【0003】第一の方法は、ディスク制御装置内にディ
スクキャッシュを設ける方法である。ディスクキャッシ
ュは、一度読み込まれたデータを半導体メモリであるデ
ィスクキャッシュに格納しておき、同一のデータに対し
て再度読み込み要求が発生したときにはディスクキャッ
シュからデータを取り出すことで、ディスク装置へのア
クセスを削減し高速化を行う方法である。キャッシュを
増やすほどヒット率が向上するため性能も向上するが、
容量当たりのコストが磁気ディスクに比べ高価であるた
め、通常は磁気ディスク容量の数10分の1から数10
0分の1の容量が設けられている。キャッシュ制御方法
は、最も頻繁にアクセスされる順に格納しておき、最も
アクセスされなかったデータの追い出しを行う。これを
LRU処理といい、キャッシュ制御方法では一般的であ
る。これらの方法に関して、特開平6−231045号
公報に記載がある。A first method is to provide a disk cache in a disk control device. The disk cache stores data that has been read once in a disk cache, which is a semiconductor memory, and retrieves data from the disk cache when a read request for the same data occurs again, so that access to the disk device can be performed. This is a method for reducing and increasing the speed. The more caches, the better the hit rate and performance, but
Since the cost per capacity is higher than that of a magnetic disk, it is usually several tens to several tens of the capacity of the magnetic disk.
A capacity of 1/0 is provided. In the cache control method, data is stored in the order of the most frequently accessed, and data that has not been accessed most is evicted. This is called LRU processing and is common in cache control methods. These methods are described in JP-A-6-231455.
【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というディスクアレ
イの構成技術が紹介されている。[0004] The second method is a method of improving performance by controlling magnetic disks in parallel. D.Patterso
"A Case for Red" by n, G. Gibson, and RHKartz
undantArrays of Inexpensive Disks (RAID), in ACM SI
GMOD Conference, Chicago, IL ", PP.109-116 (June 1
988) (hereinafter referred to as a first reference) shortens access time to data stored in a disk by distributing and allocating data to a plurality of disk drives, and is called parity or ECC. There is introduced a disk array configuration technology called RAID, which increases reliability by storing redundant data.
【0005】つまり、アレイディスクでは、複数のディ
スクドライブに対して並列に入出力を行うので、データ
の読み出しあるいは書き込みは高速となり、また、ディ
スクドライブに障害が発生したときでもパリティと障害
ディスクドライブ以外のデータから、障害ディスクドラ
イブのデータを回復することができる。That is, in the array disk, data is read or written at a high speed because data is input / output to / from a plurality of disk drives in parallel. From this data, the data of the failed disk drive can be recovered.
【0006】より具体的には、上記文献では、データの
格納方法によりRAIDレベルを複数に分類している。
そのうち、製品で多く使用されるRAIDレベルは、R
AID1、RAID3、RAID5である。RAID1
はミラーリングであり、2台のディスクに同一データを
格納することでディスクの障害に対する信頼性を高めて
いる。読み出し時には、2台のディスクの内どちらか早
いほうのディスクから読むことで単一ディスクに比べ高
速である。RAID3は、単一データをビットあるいは
バイト毎にストライピングし複数のディスクに並列に読
み書きすることで、データ転送性能を向上可能である。
RAID5は入出力ブロックを単位として複数のディス
クにストライピングを行うレベルである。More specifically, in the above-mentioned literature, RAID levels are classified into a plurality of types according to the data storage method.
Among them, the RAID level often used in products is R
AID1, RAID3, and RAID5. RAID1
Is mirroring, and the same data is stored in two disks to increase reliability against disk failure. At the time of reading, reading from the earlier disk of the two disks is faster than that of a single disk. RAID 3 can improve data transfer performance by striping single data bit by bit or byte by byte and reading / writing data from / to a plurality of disks in parallel.
RAID5 is a level at which striping is performed on a plurality of disks in units of input / output blocks.
【0007】RAID3では単一入出力要求を小さな単
位でストライピングするのに対し、RAID5はそれよ
りも大きな単位でストライピングを行う。RAID3は
単一ユーザの大規模データ入出力を高速化することが主
な目的であるが、RAID5は多数ユーザの小規模デー
タ入出力を並列に実行することが主な目的である。従っ
て、RAID3は特に大規模なデータ入出力が要求され
るマルチメディアや科学技術計算に用いられる。RAI
D5は多数ユーザのサービスを行うオンライン・トラン
ザクションたデータベース処理に用いられる。一般的な
ディスクアレイは、前述のキャッシュ制御とディスクの
並列動作の両方を取り入れて性能を向上させている。In RAID3, a single input / output request is striped in smaller units, whereas in RAID5, striping is performed in larger units. The main purpose of RAID3 is to speed up large-scale data input / output of a single user, while the main purpose of RAID5 is to execute small-scale data input / output of many users in parallel. Therefore, RAID3 is used particularly for multimedia and scientific and technical calculations that require large-scale data input / output. RAI
D5 is used for database processing which is an online transaction for providing services of many users. A general disk array incorporates both the cache control described above and the parallel operation of disks to improve performance.
【0008】一方で、大容量で低コストのディスクアレ
イの要求が強くなってきている。この場合、単一のディ
スクアレイコントローラに多数のディスク装置を接続す
る構成が考えられるが、ディスクアレイ制御装置内の制
御プロセッサの性能の限界のために容量は増加するが性
能は伸びなくなってしまう問題が発生する。制御プロセ
ッサはホストからの入出力要求を解釈実行するために設
けられる。制御しなければならないディスク装置の台数
に比例した処理性能が要求されることから、現状では数
台から数10台規模のディスクアレイがほとんどであ
る。On the other hand, there is a growing demand for a large-capacity, low-cost disk array. In this case, a configuration in which a large number of disk devices are connected to a single disk array controller is conceivable, but the capacity increases but the performance does not increase due to the limit of the performance of the control processor in the disk array controller. Occurs. The control processor is provided to interpret and execute input / output requests from the host. Since a processing performance proportional to the number of disk devices to be controlled is required, at present, most disk arrays are several to several tens.
【0009】この問題を解決する方法として、制御装置
を階層化する方法が特開平7−44322号公報に述べ
られている。これは制御装置を階層化することで、各制
御装置が制御しなければならない台数を削減することが
目的である。例えば、一つの制御装置で5台のディスク
装置を制御できるとする。最上位にこの制御装置を1つ
設け、その制御装置の複数の出力をそれぞれ異なる制御
装置の入力に接続する。こうすることで全体で多数台の
ディスク装置を制御することが可能になる。As a method for solving this problem, Japanese Patent Laid-Open Publication No. Hei 7-44322 discloses a method of hierarchizing control devices. The purpose of this is to reduce the number of control devices that must be controlled by layering the control devices. For example, assume that one controller can control five disk drives. One control device is provided at the highest level, and a plurality of outputs of the control device are connected to inputs of different control devices. This makes it possible to control a large number of disk devices as a whole.
【0010】[0010]
【発明が解決しようとする課題】特開平7−44322
号公報で述べられている階層化されたディスクアレイ制
御装置において、キャッシュの適用方法が課題となる。
最も簡単な方法は、最上位の制御装置にのみキャッシュ
を持つことである。しかし、単一の制御装置に接続でき
るキャッシュ容量は多くないため、多数台のディスク装
置に対して小容量キャッシュでは十分な性能が期待でき
ない。そこで、階層化された制御装置の各々にキャッシ
ュを設ける方法が考えられる。この場合、各キャッシュ
が前述のLRU制御を行うことになる。階層化されたキ
ャッシュの各々で、最も最近サクセスされたデータを残
す制御を行うと、キャッシュ間で重複したデータが格納
されることになる。SUMMARY OF THE INVENTION Japanese Patent Laid-Open No. 7-44322
In the hierarchized disk array control device described in Japanese Patent Application Laid-Open Publication No. H10-209, a method of applying a cache becomes an issue.
The simplest way is to have a cache only in the top-level controller. However, since the cache capacity that can be connected to a single control device is not large, sufficient performance cannot be expected with a small-capacity cache for many disk devices. Therefore, a method of providing a cache in each of the hierarchized control devices can be considered. In this case, each cache performs the aforementioned LRU control. If control is performed to leave the most recently accessed data in each of the hierarchical caches, data that is duplicated between caches will be stored.
【0011】例えば、制御装置1に制御装置2、3が接
続された階層ディスクアレイであり、各制御装置に各々
キャッシュが設けられているとする。制御装置2、3に
は、それぞれ複数のディスク装置が接続されているとす
る。このとき、制御装置2に接続されたディスクへの読
み出し要求が発行された時、制御装置2はディスクから
データを読み込み、LRU制御にしたがって自キャッシ
ュ内にデータを格納する。制御装置2はそのデータを上
位である制御装置1へ転送すると、制御装置1も制御装
置2と同様に自キャッシュ内にデータを格納する。この
場合、上位制御装置のみ格納していればよいデータを複
数のキャッシュで重複して格納する問題が発生する。な
お、特開平7−44322ではキャッシュの制御方法に
ついては述べられていない。For example, it is assumed that a hierarchical disk array in which the control devices 2 and 3 are connected to the control device 1 and each control device is provided with a cache. It is assumed that a plurality of disk devices are connected to the control devices 2 and 3, respectively. At this time, when a read request to the disk connected to the control device 2 is issued, the control device 2 reads data from the disk and stores the data in its own cache according to LRU control. When the control device 2 transfers the data to the upper control device 1, the control device 1 stores the data in its own cache similarly to the control device 2. In this case, there arises a problem that data that only needs to be stored in the upper control device is redundantly stored in a plurality of caches. Note that Japanese Patent Application Laid-Open No. H7-44322 does not describe a cache control method.
【0012】本発明の目的は、データを複数のキャッシ
ュで重複して格納することを抑制し、キャッシュを有効
に使用する手段を提供することにある。An object of the present invention is to provide a means for suppressing duplicate storage of data in a plurality of caches and effectively using the caches.
【0013】[0013]
【課題を解決するための手段】上記目的を達成するため
に、階層化された制御装置のそれぞれに、自制御装置の
階層レベルを格納するメモリを設け、データの読み出し
時に前記メモリ内の前記階層レベルを読み出し、最上位
制御装置でなければ自キャッシュにはデータを格納しな
い制御を行うようにする。また、書き込み時にはデータ
をキャッシュに格納するとともに、パリティ生成に必要
なデータが上位キャッシュにないかサーチし、存在すれ
ば上位制御装置から下位制御装置内のキャッシュにデー
タを転送しパリティ生成を行うようにする。In order to achieve the above object, each of the hierarchized control devices is provided with a memory for storing a hierarchy level of its own control device, and when reading data, the hierarchy in the memory is read out. The level is read, and control is performed so that data is not stored in its own cache unless it is the highest control device. In addition, at the time of writing, the data is stored in the cache, the data required for parity generation is searched for in the upper cache, and if there is, the data is transferred from the upper controller to the cache in the lower controller to generate the parity. To
【0014】[0014]
【発明の実施の形態】以下、本発明に係る階層ディスク
キャッシュ制御方法を図面に示し実施例を参照してさら
に詳細に説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a hierarchical disk cache control method according to the present invention will be described in more detail with reference to the drawings and embodiments.
【0015】図1は、本発明による階層ディスクキャッ
シュ制御方法を適用するディスクアレイ制御装置の概略
構成図を示したものである。102は、ディスクアレイ
制御装置であり、137、138はディスクアレイ制御
装置102が入出力を行うディスク装置である。ディス
クアレイ制御装置102は、ホストプロセッサ101に
接続されている。ホストプロセッサ101からのディス
ク入出力要求をディスクアレイ制御装置102が受け取
り、ディスク装置(137、138)に対して入出力を
行う。ディスクアレイ制御装置102は、上位制御装置
103と複数の下位制御装置(139、112)から構
成されている。複数の下位制御装置(139、112)
はディスク装置(137、138)の入出力を行い、上
位制御装置103は、ホストプロセッサ101の入出力
要求を受けつけ解釈し、複数の下位制御装置(104、
112)に対して入出力要求の分配を行う。FIG. 1 is a schematic block diagram of a disk array controller to which a hierarchical disk cache control method according to the present invention is applied. 102 is a disk array controller, and 137 and 138 are disk devices to which the disk array controller 102 performs input / output. The disk array control device 102 is connected to the host processor 101. The disk array controller 102 receives a disk input / output request from the host processor 101 and performs input / output with respect to the disk devices (137, 138). The disk array controller 102 includes a higher-level controller 103 and a plurality of lower-level controllers (139, 112). Plurality of lower control devices (139, 112)
Performs input / output of the disk devices (137, 138), the higher-level control device 103 receives and interprets an input / output request of the host processor 101, and performs a plurality of lower-level control devices (104,
112), the input / output requests are distributed.
【0016】上位制御装置103は、制御プロセッサ1
06(以下CPUと略す)、キャッシュコントロールメ
モリ107(以下CCMと略す)、マイクロプログラム
108、ホストインタフェース制御部104、上位キャ
ッシュ105、スイッチ109、インタフェース制御部
(110、111)から構成されている。上位制御装置
103の主な機能は、ホストプロセッサ101のディス
ク入出力要求を解釈し、その結果を複数の下位制御装置
(139、112)に分配することである。これらの制
御はCPU106によって行われ、この制御の手順や方
法が記されたものがマイクロプログラム108と呼ばれ
るソフトウエアである。The host control device 103 includes the control processor 1
06 (hereinafter abbreviated as CPU), a cache control memory 107 (hereinafter abbreviated as CCM), a microprogram 108, a host interface controller 104, a higher-level cache 105, a switch 109, and interface controllers (110 and 111). The main function of the host controller 103 is to interpret a disk input / output request of the host processor 101 and distribute the result to a plurality of lower controllers (139, 112). These controls are performed by the CPU 106, and the procedure and method of this control are described as software called a microprogram 108.
【0017】マイクロプログラム108は通常は半導体
メモリに格納されており、CPU106から読み出し・
実行が行われる。ホストインタフェース制御部104
は、ホストプロセッサ101との接続を制御し、入出力
要求を受け付け、データの送受信を行う。スイッチ10
9は複数の下位制御装置(139、112)に入出力要
求を分配する機能を持つ。CPU106からの指示で、
入出力要求をどの下位制御装置に分配するのかが決定さ
れる。インタフェース制御部(110、111)は下位
制御装置(139、112)との接続を制御し、入出力
要求の転送やデータの送受信を行う。上位制御装置10
3には、入出力を高速化するための上位キャッシュ10
5がある。The microprogram 108 is usually stored in a semiconductor memory, and is read out from the CPU 106.
Execution takes place. Host interface control unit 104
Controls the connection with the host processor 101, accepts input / output requests, and transmits and receives data. Switch 10
Reference numeral 9 has a function of distributing input / output requests to a plurality of lower control devices (139, 112). With an instruction from the CPU 106,
It is determined to which lower-level control device the input / output request is to be distributed. The interface control units (110, 111) control connection with the lower-level control devices (139, 112), and transfer input / output requests and transmit / receive data. Host controller 10
3 is an upper cache 10 for speeding up input / output.
There are five.
【0018】上位キャッシュ105は、ホストプロセッ
サ101から要求のあったデータを一時的に格納してお
くことでディスク装置(137、138)へのアクセス
を削減し入出力処理を高速化するために設けられる。C
CM107は上位キャッシュの制御方法に関する情報が
格納されている。The upper cache 105 is provided to temporarily store data requested by the host processor 101, thereby reducing access to the disk devices (137, 138) and speeding up input / output processing. Can be C
The CM 107 stores information on a control method of the upper cache.
【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)から
構成されている。The lower controllers (139, 112) include interface controllers (113, 125) for controlling connection with the upper controller 103, and lower controllers (139, 11).
2) CPUs (114, 126), microprograms (116, 128), and disk devices (137,
138), the lower caches (124, 130) for temporarily storing the data, and the lower caches (124, 13).
CCM (115, 1) storing control information related to
27), a switch for distributing disk commands (12
3, 131), and interface control (117-121, 1) for controlling the connection with the disk devices (137, 138).
32 to 136) and parity control (122, 129).
【0020】下位制御装置(139、112)の主な機
能は、性能と信頼性を向上させるディスクアレイ制御を
行うことである。ディスクアレイには、データやパリテ
ィの格納方法により複数の種類があるが、本実施例で
は、それらのいずれも使用可能である。それらの主な種
類は次の通りである。RAID1はミラーリングであ
り、2台のディスクに同一データを格納することでディ
スクの障害に対する信頼性を高めている。読み出し時に
は、2台のディスクの内どちらか早いほうのディスクか
ら読むことで単一ディスクに比べ高速である。RAID
3は、単一データをビットあるいはバイト毎にストライ
ピング(分割)することで、データ転送性能を向上可能
である。The main function of the lower control devices (139, 112) is to perform disk array control for improving performance and reliability. There are a plurality of types of disk arrays depending on the method of storing data and parity. In the present embodiment, any of them can be used. The main types are as follows. RAID1 is mirroring, and the same data is stored in two disks to increase reliability against disk failure. At the time of reading, reading from the earlier disk of the two disks is faster than that of a single disk. RAID
No. 3 can improve data transfer performance by striping (dividing) single data for each bit or byte.
【0021】RAID5は入出力ブロックを単位として
複数のディスクにストライピングを行うレベルである。
RAID3では単一入出力要求を小さな単位でストライ
ピングするのに対し、RAID5はそれよりも大きな単
位でストライピングを行う。RAID3は単一ユーザの
入出力を高速化することが主な目的であるが、RAID
5は複数ユーザの入出力を並列に実行することが主な目
的である。従って、RAID3は特に大規模なデータ入
出力が要求される画像等を処理するマルチメディアや科
学技術計算に用いられる。RAID5は多数ユーザのサ
ービスを行うオンライン・トランザクションたデータベ
ース処理に用いられる。RAID 5 is a level for striping a plurality of disks in units of input / output blocks.
In RAID3, a single input / output request is striped in smaller units, whereas in RAID5, striping is performed in larger units. The main purpose of RAID3 is to speed up the input / output of a single user.
The main purpose 5 is to execute input and output of a plurality of users in parallel. Therefore, RAID3 is used for multimedia or scientific / technical calculations for processing images or the like that require large-scale data input / output. RAID5 is used for database processing which is an online transaction for providing services of many users.
【0022】RAID1、3、5ではいずれの場合も、
データ格納時に冗長データも同時にディスクに書き込む
ことで信頼性も向上している。具体的には、RAID1
の場合は、同一データを複数のディスクに書き込むこと
で冗長性を持たせている。またRAID3、5では、デ
ータ複数のディスクにストライピングするが、この時、
旧データと旧パリティと新データとの排他的論理和を新
パリティとしてディスクに書き込む。こうすることで、
いずれかのディスクが障害を起こしても、RAID1、
3、5いずれの場合も障害を起こしたディスクのデータ
を回復することが可能である。In any of RAIDs 1, 3, and 5,
Reliability is also improved by writing redundant data to the disk at the same time as storing data. Specifically, RAID1
In case (1), the same data is written to a plurality of disks to provide redundancy. In RAID3 and RAID5, data is striped to multiple disks.
The exclusive OR of old data, old parity, and new data is written to the disk as new parity. By doing this,
If one of the disks fails, RAID1,
In each of the cases 3 and 5, it is possible to recover the data of the failed disk.
【0023】例えば、RAID3において以下のように
データが格納されているとする。 ディスク1 データ =10101010 ディスク2 データ =11110000 ディスク3 パリティ=01011010 この状態でディスク2が障害を起こし読み書きができな
くなった場合、ディスク1とディスク3の排他的論理和
を演算する。 ディスク1 データ =10101010 ディスク3 パリティ=01011010 論理和 =11110000(ディス
ク2のデータ) このように、ディスク2のデータを再現することが可能
である。図1のパリティ制御(122、129)はパリ
ティの生成を行う機構である。For example, it is assumed that data is stored in RAID 3 as follows. Disk 1 data = 10101010 Disk 2 data = 11110000 Disk 3 Parity = 011011010 In this state, if the disk 2 fails and cannot be read / written, the exclusive OR of the disk 1 and the disk 3 is calculated. Disk 1 data = 10101010 Disk 3 Parity = 01011010 Logical sum = 11110000 (data of disk 2) In this manner, data of disk 2 can be reproduced. The parity control (122, 129) in FIG. 1 is a mechanism for generating parity.
【0024】本発明では図1に示すように、キャッシュ
が上位制御装置103と下位制御装置(139、11
2)間で階層化されている。キャッシュを階層化するこ
との効果は、要求アクセス時間やコストに応じて、構成
を柔軟に変更できることである。一例として、上位のキ
ャッシュ105はコストが高いが高速な半導体メモリで
構成し頻繁にアクセスされるデータを保持しておき、下
位キャッシュは上位キャッシュに比べ遅いが低コストな
半導体メモリで構成するといったことが考えられる。デ
ィスク制御装置のほとんどはキャッシュが単一であった
ために、このような柔軟な構成をとることができなかっ
た。In the present invention, as shown in FIG. 1, the cache is composed of the upper control device 103 and the lower control device (139, 11).
It is hierarchized between 2). The effect of layering the cache is that the configuration can be flexibly changed according to the required access time and cost. As an example, the upper cache 105 is composed of a high-cost but high-speed semiconductor memory to hold frequently accessed data, and the lower cache is composed of a slower but lower-cost semiconductor memory than the upper cache. Can be considered. Most of the disk controllers had a single cache, and thus could not have such a flexible configuration.
【0025】本発明の特徴は、キャッシュが階層化され
たディスクアレイ制御装置において、上位制御装置10
3内と複数の下位制御装置(104、112)内にキャ
ッシュ(105、124、130)を設け、互いのキャ
ッシュに格納されたデータの重複を無くす制御を行うこ
とでキャッシュの利用効率を向上することである。A feature of the present invention is that in a disk array control device in which caches are hierarchized, a host control device 10
3 and a plurality of lower-level control devices (104, 112) are provided with caches (105, 124, 130), and control is performed to eliminate duplication of data stored in each other's caches, thereby improving cache use efficiency. That is.
【0026】図2および図3は、本発明における実施例
の概要を示している。図2では動作概要を示し、図3で
は効果を示している。201は上位キャッシュであり、
上位キャッシュ201には複数の下位キャッシュ(20
5、206)が接続されており、階層キャッシュ構造に
なっている。ホストプロセッサから入力要求が発生した
場合の動作を示している。ディスク装置に格納されたデ
ータ204の入力要求が発生した場合、下位キャッシュ
にデータを格納するかどうかを階層レベルにより決定す
る。階層レベルとは、ホストプロセッサに最も近いキャ
ッシュを最上位(階層レベル=0)208と定義し、そ
れ以外は階層レベル=1(209、210)である。キ
ャッシュに格納する格納するかどうかは、自キャッシュ
が最上位キャッシュかどうか判定することで決定する。
下位キャッシュ205は、最上位キャッシュではないの
で、下位キャッシュ205には読み込まれたデータは格
納しない212。読み込まれたデータは上位キャッシュ
201に転送される。FIGS. 2 and 3 show an outline of an embodiment of the present invention. FIG. 2 shows an outline of the operation, and FIG. 3 shows an effect. 201 is an upper cache,
A plurality of lower caches (20
5, 206) are connected to form a hierarchical cache structure. It shows an operation when an input request is issued from the host processor. When an input request for the data 204 stored in the disk device occurs, whether to store the data in the lower cache is determined based on the hierarchical level. The hierarchy level defines the cache closest to the host processor as the highest level (hierarchy level = 0) 208, and the rest is hierarchy level = 1 (209, 210). Whether to store in the cache or not is determined by determining whether the own cache is the top-level cache.
Since the lower cache 205 is not the highest cache, the lower cache 205 does not store the read data 212. The read data is transferred to the upper cache 201.
【0027】ここで、下位キャッシュと同様に最上位キ
ャッシュかどうか判定する(211)。ここでは最上位
キャッシュであるため、キャッシュに読み込まれたデー
タは格納され(202)、そのデータは同時にホストプ
ロセッサに転送される。この時、最上位キャッシュが一
杯になった場合、自キャッシュ内のいずれかのデータの
追い出し処理を行う。追い出しデータとして選択された
データ203は、所定の下位キャッシュへ転送される
(207)。下位キャッシュでは、上位から転送された
データについては、格納するかどうかの判定は行わな
い。格納するかどうかの判定を行うのは、自キャッシュ
より上位にデータを転送する時のみであり、上位から転
送されたデータは無条件に格納する。これは、上位キャ
ッシュは、最も頻繁に使用されるデータのみを格納し、
下位キャッシュには上位キャッシュに格納しきれなかっ
たデータを格納することで、キャッシュのヒット率を向
上させるためである。Here, similarly to the lower cache, it is determined whether or not the cache is the highest cache (211). Here, since it is the top-level cache, the data read into the cache is stored (202), and the data is simultaneously transferred to the host processor. At this time, if the highest-order cache is full, the eviction process of any data in its own cache is performed. The data 203 selected as the eviction data is transferred to a predetermined lower cache (207). The lower cache does not determine whether data transferred from the upper cache is to be stored. The determination as to whether to store the data is made only when data is transferred to a higher level than the own cache, and the data transferred from the higher level is unconditionally stored. This means that the top cache stores only the most frequently used data,
This is because the data that could not be stored in the upper cache is stored in the lower cache to improve the cache hit rate.
【0028】図2の制御を行うことで、図3のような効
果が得られる。図3は、従来のキャッシュ制御と、本発
明の実施例における階層キャッシュの効果を比較した図
である。従来のキャッシュ制御は、全てのキャッシュに
おいてまったく同じ制御を行っているために、データの
重複が生じる。上位キャッシュ1101に12個のデー
タが格納でき、下位キャッシュ(1102、1103)
にはそれぞれ6個のデータが格納できる場合を示してい
る。By performing the control shown in FIG. 2, the effect shown in FIG. 3 can be obtained. FIG. 3 is a diagram comparing the effect of the conventional cache control with the effect of the hierarchical cache in the embodiment of the present invention. In the conventional cache control, data duplication occurs because all caches perform exactly the same control. Twelve data can be stored in the upper cache 1101, and the lower cache (1102, 1103)
Shows a case where six data can be stored respectively.
【0029】ホストプロセッサから入力要求が発生する
と、上位キャッシュ1101、下位キャッシュ(110
2、1103)それぞれで、最も最近アクセスされたデ
ータを残す制御を行う。そのため、キャッシュに格納さ
れたデータが重複するために、キャッシュを無駄に使用
することになる。本発明では、上位キャッシュ1104
には従来と同様に最も頻繁にアクセスされるデータを残
し、下位キャッシュ(1105、1106)には、上位
キャッシュ1104に転送したデータは格納しない制御
を行っているため、キャッシュに格納されるデータに重
複が生じない。そのため、従来は重複データが格納され
ていた領域は空き領域となり、この領域に新しいデータ
を格納することができるようになる。When an input request is issued from the host processor, the upper cache 1101 and the lower cache (110
(2, 1103) control is performed to keep the most recently accessed data. As a result, the data stored in the cache is duplicated, and the cache is wasted. In the present invention, the upper cache 1104
, The most frequently accessed data is left as in the past, and the lower cache (1105, 1106) is controlled not to store the data transferred to the upper cache 1104. No duplication occurs. Therefore, the area where the duplicate data is stored in the past becomes an empty area, and new data can be stored in this area.
【0030】図4は、本発明における実施例のマイクロ
プログラム301の構造を示してる。上位制御装置10
3と下位制御装置(139、112)ともに構成は同じ
である。302はコマンド制御、303は階層キャッシ
ュ制御、304はキャッシュ管理リスト、305はディ
スク読み込み&先読み制御、306はディスク書き込み
&まとめ書き制御、307は階層キャッシュ初期設定制
御である。自制御装置より上位の装置からの要求はコマ
ンド制御302で受け付けられ解釈される。その結果、
読み込み処理であればディスク読み込み&先読み制御3
05が呼び出され、書き込み処理であればディスク読み
込み&先読み制御306が呼び出される。ディスク読み
込み&先読み制御305、ディスク読み込み&先読み制
御306内ではそれぞれ階層キャッシュ制御303が呼
びだされ自制御装置内のキャッシュ制御が行われる。そ
の際、キャッシュ管理リスト304が使用される。キャ
ッシュ管理リスト304は自キャッシュの使用リスト、
空きリストなどが格納されている。階層キャッシュ初期
設定制御307は、主に装置起動時に実行され、階層キ
ャッシュの制御に必要な情報を設定する。これらの情報
は次に説明する。FIG. 4 shows the structure of the microprogram 301 according to the embodiment of the present invention. Host controller 10
3 and the lower control devices (139, 112) have the same configuration. 302 is a command control, 303 is a hierarchical cache control, 304 is a cache management list, 305 is a disk read & prefetch control, 306 is a disk write & batch write control, and 307 is a hierarchical cache initial setting control. A request from a higher-level device than the own control device is accepted and interpreted by the command control 302. as a result,
Disk read & read ahead control 3 if read processing
05 is called, and if it is a write process, the disk read & prefetch control 306 is called. In the disk read & prefetch control 305 and the disk read & prefetch control 306, the hierarchical cache control 303 is called, and the cache control in the own control device is performed. At that time, the cache management list 304 is used. The cache management list 304 is a use list of the own cache,
An empty list is stored. The hierarchical cache initial setting control 307 is mainly executed at the time of device startup, and sets information necessary for controlling the hierarchical cache. These pieces of information will be described below.
【0031】図5は、階層キャッシュの制御に必要な情
報が格納されたCCM(107、115、127)のデ
ータ構造を示している。これらの情報は、装置起動時に
階層キャッシュ初期設定制御307によって設定され
る。401は階層レベルフィールドであり、ホストプロ
セッサに最も近いキャッシュが階層レベル0であり、そ
れ以外は階層レベル1である。キャッシュ制御モード4
02は、キャッシュの先読みやまとめ書き制御を行うか
どうかのフラグが設定されている。キャッシュ使用上限
値403とキャッシュ使用下限値404は、キャッシュ
のあふれや先読み制御をどの時点で行うかの数値が格納
されている。キャッシュの使用状況がキャッシュ使用上
限値に達したら、下位制御装置またはディスク装置へデ
ータを転送し、未使用領域を増やす。また、キャッシュ
使用下限値を下回ったら下位制御装置またはディスク装
置からデータの先読みを行いキャッシュに格納されてい
るデータを増やす。キャッシュ使用リストポインタ40
5とキャッシュ未使用リストポインタは図4のキャッシ
ュ管理リスト304へのポインタを示しており、キャッ
シュの確保や開放を行う際に使用される。FIG. 5 shows a data structure of the CCM (107, 115, 127) in which information necessary for controlling the hierarchical cache is stored. These pieces of information are set by the hierarchical cache initialization control 307 at the time of starting the apparatus. Reference numeral 401 denotes a hierarchy level field. The cache closest to the host processor is at hierarchy level 0, and the rest is at hierarchy level 1. Cache control mode 4
A flag 02 indicates whether or not to perform cache read-ahead and batch write control. The cache use upper limit value 403 and the cache use lower limit value 404 store numerical values indicating when the cache overflow and the prefetch control are performed. When the cache usage reaches the cache usage upper limit, data is transferred to the lower-level control device or the disk device to increase the unused area. When the value falls below the cache use lower limit value, the data is pre-read from the lower-level control device or the disk device to increase the data stored in the cache. Cache use list pointer 40
Reference numeral 5 and a cache unused list pointer indicate a pointer to the cache management list 304 in FIG. 4, and are used when securing or releasing a cache.
【0032】図6は、図4のマイクロプログラム301
内のコマンド制御302のフローを示している。ステッ
プ501は、上位装置から転送されたディスク入出力コ
マンド受付処理である。ステップ502はコマンドの判
定を行う。ここでは、コマンドが入力要求なのか出力要
求なのかが判定され、入力要求(READ)であればス
テップ503に進み、出力処理(WRITE)であれば
ステップ506に進む。FIG. 6 shows the microprogram 301 of FIG.
2 shows a flow of the command control 302 in FIG. Step 501 is a process of receiving a disk input / output command transferred from a higher-level device. Step 502 determines a command. Here, it is determined whether the command is an input request or an output request. If the command is an input request (READ), the process proceeds to step 503. If the command is an output process (WRITE), the process proceeds to step 506.
【0033】ステップ503は、ディスク読み込み&先
読み制御を行う。この処理は後で詳細に説明する。ステ
ップ504は、ステップ503で読み込まれたデータに
対してキャッシュ制御を行う。ステップ505は上位装
置へ終了報告を行う。ステップ506は、上位装置から
転送されたデータの階層キャッシュ制御を行う。ステッ
プ507はディスク書き込み&まとめ書き制御を行う。
この処理は後で詳細に説明する。ステップ508は、上
位装置へ終了報告を行う。Step 503 performs disk read & prefetch control. This process will be described later in detail. In step 504, cache control is performed on the data read in step 503. In step 505, an end report is sent to the host device. Step 506 performs hierarchical cache control of the data transferred from the host device. Step 507 performs disk writing and batch writing control.
This process will be described later in detail. A step 508 sends a completion report to the host device.
【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処理とは、
キャッシュがフルになった時にどのデータを追い出すか
を決定するアルゴリズムであり、キャッシュの管理に一
般に用いられている。FIG. 7 shows the hierarchy cache control 303 of FIG.
FIG. Step 601 is a command determination process, which determines whether the request is an output request or an input request. If it is an input request, the process proceeds to step 602; if it is an output request, the process proceeds to step 609. In step 602, the CCM (FIG. 1)
Of the hierarchy level field (401 in FIG. 5) in the columns 107, 115, and 127). In this field, 0 is stored for the top cache, and 1 is stored for other caches. Step 6
03 determines whether the own cache is the top-level cache or not. If it is the top cache, step 60
4; otherwise, go to step 606. In step 604, LRU processing is performed. What is LRU processing?
An algorithm that determines which data is evicted when the cache becomes full, and is generally used for cache management.
【0035】ステップ604では、読み込み要求に対し
て転送されたデータを最優先にキャッシュに格納するた
め、もしその時キャッシュがフルになっていた場合、い
ずれかのデータをキャッシュから追い出す処理を行わな
う。ステップ605では、上位装置へデータを転送す
る。In step 604, the data transferred in response to the read request is stored in the cache with the highest priority. If the cache is full at that time, a process of flushing any data from the cache is performed. . In step 605, the data is transferred to the host device.
【0036】ステップ606、607は、自キャッシュ
が最上位キャッシュではなかった時の処理である。最上
位キャッシュでなかった場合は、キャッシングしない制
御を行う。これは、さらに上位にキャッシュが存在する
ため上位のキャッシュに格納されていれば自キャッシュ
にデータを格納する必要がないためである。ステップ6
06では、上位装置にデータを転送する。ステップ60
7ではキャッシュ領域を解放する。Steps 606 and 607 are processing when the own cache is not the highest cache. If the cache is not the highest-level cache, control for not caching is performed. This is because there is no need to store data in its own cache if it is stored in a higher-level cache because a higher-level cache exists. Step 6
At 06, the data is transferred to the host device. Step 60
At 7, the cache area is released.
【0037】ステップ604、605、606、607
により、自キャッシュが最上位キャッシュであればキャ
ッシュに格納し、そうでなければキャッシュには格納し
ない処理を実現してる。この判定のためにCCM内に階
層レベルを示す情報がキャッシュ毎に格納されている。Steps 604, 605, 606, 607
Thus, if the own cache is the top-level cache, the process is stored in the cache, and if not, the process is not stored in the cache. For this determination, information indicating the hierarchy level is stored in the CCM for each cache.
【0038】ステップ609は書き込み処理の場合に実
行され、通常のLRU処理が行われる。この階層キャッ
シュ制御により、階層化されたキャッシュ構成におい
て、各キャッシュ間に重複するデータをなくすことがで
き、キャッシュの利用効率を向上することが可能にな
る。Step 609 is executed in the case of write processing, and normal LRU processing is performed. With this hierarchical cache control, in a hierarchical cache configuration, data that is duplicated between caches can be eliminated, and the cache utilization efficiency can be improved.
【0039】図8は、キャッシュ管理リスト304のデ
ータ構造を示している。405は図5におけるキャッシ
ュ使用リストポインタであり、406はキャッシュ未使
用リストポインタである。キャッシュ使用リストポイン
タ405には、自キャッシュ内で使用されている領域が
リスト形式で格納されており、各リスト内は次のリスト
へのポインタ703、使用領域識別子704が格納され
ている。リストの最後の次のリストへのポインタ703
はリストの最後を示す値が格納される。このリストは、
参照されるとリストの最も最後にリストチェインを切り
替える制御が行われる。FIG. 8 shows the data structure of the cache management list 304. 405 is a cache use list pointer in FIG. 5, and 406 is a cache unused list pointer. In the cache use list pointer 405, areas used in the own cache are stored in a list format, and in each list, a pointer 703 to the next list and a use area identifier 704 are stored. Pointer 703 to the list next to the end of the list
Stores the value indicating the end of the list. This list is
When referenced, control is performed to switch the list chain at the end of the list.
【0040】これにより、最も最近アクセスされた領域
はリストの最も最後におかれ、最も長くアクセスされな
かった領域はキャッシュ使用リストポインタ405に最
も近いリストにチェインされている。そのため、キャッ
シュがフルになり、いずれかの領域を解放しなくてはな
らなくなったときにはキャッシュ使用リストポインタ4
05に最も近いリストが選択することでLRU制御を実
現している。キャッシュ未使用リストポインタ406に
示されるリストは、使用されていないキャッシュ領域が
チェインされており、キャッシュを確保する場合にはリ
ストの先頭か領域が選択される。As a result, the most recently accessed area is placed at the end of the list, and the least recently accessed area is chained to the list closest to the cache use list pointer 405. Therefore, when the cache becomes full and any area must be released, the cache usage list pointer 4
LRU control is realized by selecting the list closest to 05. In the list indicated by the cache unused list pointer 406, an unused cache area is chained, and when securing a cache, the head or area of the list is selected.
【0041】図9は、ディスク読み込み&先読み制御の
フローを示している。ステップ801では上位装置より
要求されたデータがキャッシュに格納されているかどう
かの判定を行う。これは図8のキャッシュ使用リストを
サーチすることで実現できる。ステップ802でもしキ
ャッシュにデータが格納されていたら(キャッシュヒッ
ト)処理を終了させる。キャッシュに格納されていなけ
れば(キャッシュミスヒット)ステップ803に進む。
ステップ803では、キャッシュ領域を確保する。これ
は、図8のキャッシュ未使用リストポインタが示してい
るリストを選択することで実現できる。ステップ804
ではディスク入力要求を生成し、ディスク装置からデー
タの入力を行う。ステップ805は先読み制御である
が、この処理はバックグラウンドで実行される。先読み
処理の中断は、図5キャッシュ使用上限値403に達し
たとき、または次の入力コマンドが発生したときであ
る。FIG. 9 shows the flow of the disk read & prefetch control. In step 801, it is determined whether or not the data requested by the host device is stored in the cache. This can be realized by searching the cache use list of FIG. In step 802, if data is stored in the cache (cache hit), the process ends. If not stored in the cache (cache miss), the process proceeds to step 803.
In step 803, a cache area is secured. This can be realized by selecting the list indicated by the cache unused list pointer in FIG. Step 804
Then, a disk input request is generated, and data is input from the disk device. Step 805 is prefetch control, but this processing is executed in the background. The prefetching process is interrupted when the cache use upper limit value 403 in FIG. 5 is reached or when the next input command occurs.
【0042】図10は、ディスク書き込み&まとめ書き
制御のフローを示している。ステップ901では、上位
装置から転送されたデータを格納するためのキャッシュ
領域を確保する。これはキャッシュ未使用リストポイン
タ406に示されるリストを選択することで実現でき
る。ステップ902では、自キャッシュ内のディスクへ
書き込んでいないデータ量がNを超えたかどうかを判定
している。もし、Nを超えていたらディスクへの書き込
みを実行する。これは、小データの場合に、要求が発生
する毎にディスクへの書き込みを行っていると処理時間
が増加するため、ある程度まとまった単位でディスクへ
の書き込みを行うことで性能を向上させるための処理で
ある。ステップ903、904はパリティ生成を行うた
めの処理である。FIG. 10 shows the flow of disk writing and batch writing control. In step 901, a cache area for storing data transferred from the host device is secured. This can be realized by selecting the list indicated by the cache unused list pointer 406. In step 902, it is determined whether the amount of data not written to the disk in its own cache has exceeded N. If it exceeds N, writing to the disk is executed. This is because, in the case of small data, the processing time increases if writing to the disk is performed every time a request is generated.Therefore, the performance is improved by writing to the disk in a certain unit. Processing. Steps 903 and 904 are processing for performing parity generation.
【0043】前述の通り、ディスクアレイではパリティ
を生成しディスクに格納することで信頼性を向上させて
いる。パリティの生成には、旧データ、旧パリティ、新
データが必要であり、ステップ903ではこれらのデー
タが上位キャッシュにないかサーチする。これは、本発
明はデータを重複しないようにキャッシュ制御を行って
いるため、最新データが上位装置に存在する可能性があ
るためである。もし、上位キャッシュ、自キャッシュに
パリティ生成に必要なデータが存在しない場合は、下位
装置へアクセスしデータを集める。ステップ904では
旧データ、旧パリティ、新データの排他的論理和をと
り、パリティを生成する。ステップ905では、書き込
みデータ(新データ)とパリティを所定のディスクへ書
き込むことで処理が終了する。As described above, in the disk array, the parity is generated and stored in the disk to improve the reliability. Generation of parity requires old data, old parity, and new data. In step 903, a search is made to see if these data are in the upper cache. This is because the present invention performs cache control so as not to duplicate data, so that the latest data may exist in the host device. If the data necessary for parity generation does not exist in the upper cache or the own cache, the lower device is accessed to collect data. In step 904, an exclusive OR of the old data, the old parity, and the new data is calculated to generate a parity. In step 905, the process ends by writing the write data (new data) and parity to a predetermined disk.
【0044】図11では、図4における階層キャッシュ
初期設定制御307によって、図1におけるCCM(1
07、115、127)内の階層レベルフィールド(図
5の401)にどの様な値が格納されるかを示してい
る。これまでの実施例では2階層のキャッシュで説明し
てきたが、図11に示すように、3階層、あるいはそれ
以上でも本発明の効果が得られる。最上位制御装置10
01に接続された中間制御装置(1002、100
3)、さらに中間制御装置(1002、1003)に接
続された最下位制御装置(1004、1005)のよう
な構成の場合、階層レベルフィールドは次のようにな
る。In FIG. 11, the CCM (1) shown in FIG.
07, 115, 127) indicate what values are stored in the hierarchy level field (401 in FIG. 5). Although the embodiments described so far have been described with a two-level cache, as shown in FIG. 11, the effects of the present invention can be obtained even with three levels or more. Top-level control device 10
01 (1002, 100
3) In the case of a configuration such as the lowest control device (1004, 1005) connected to the intermediate control device (1002, 1003), the hierarchy level field is as follows.
【0045】最上位制御装置1001は0、中間制御装
置(1002、1003)は1、最下位制御装置(10
04、1005)は1に設定することで、各階層間でデ
ータが重複することは無くなる。これまでは装置が正常
に動作している場合を述べてきたが、ダイナミックに階
層レベルを変更したほうが良い場合がある。装置あるい
はキャッシュに障害が発生した場合である。最上位制御
装置1001内のキャッシュが障害を起こした場合は、
その次の階層のキャッシュ(図11では中間制御装置1
002、1003)が最上位キャッシュ(階層レベルフ
ィールド=0)に設定される。これにより、障害時にお
いても本発明の効果を十分に得ることができるようにな
る。The highest control device 1001 is 0, the intermediate control devices (1002, 1003) are 1, and the lowest control device (10
04, 1005) is set to 1 so that data does not overlap between the layers. So far, the case where the device is operating normally has been described, but there are cases where it is better to change the hierarchical level dynamically. This is when a failure occurs in the device or the cache. If the cache in the highest-level control device 1001 fails,
Next level cache (in FIG. 11, intermediate control device 1
002, 1003) are set as the top cache (hierarchy level field = 0). As a result, the effects of the present invention can be sufficiently obtained even when a failure occurs.
【0046】[0046]
【発明の効果】本発明では、階層化されたキャッシュで
構成されるディスクアレイにおいて、下位キャッシュで
は、上位にデータを転送する時は自キャッシュにデータ
を格納しない制御を行う。これにより上位キャッシュ
は、最も頻繁に使用されるデータのみを格納され、下位
キャッシュには上位キャッシュに格納しきれなかったデ
ータを格納されることになるため、キャッシュのヒット
率を向上させるためである。According to the present invention, in a disk array composed of hierarchical caches, when transferring data to the upper order, the lower cache controls the data not to be stored in its own cache. As a result, the upper cache stores only the data that is used most frequently, and the lower cache stores data that cannot be stored in the upper cache, thereby improving the cache hit rate. .
【図1】本発明における実施例の全体図を示す図であ
る。FIG. 1 is a diagram showing an overall view of an embodiment of the present invention.
【図2】本発明の実施例における動作概要を示す図であ
る。FIG. 2 is a diagram showing an operation outline in the embodiment of the present invention.
【図3】本発明の実施例における効果を示す図である。FIG. 3 is a diagram showing an effect in the embodiment of the present invention.
【図4】本発明の実施例におけるマイクロプログラム構
成を示す図である。FIG. 4 is a diagram showing a microprogram configuration in an embodiment of the present invention.
【図5】本発明の実施例におけるキャッシュ制御メモリ
(CCM)構造を示す図である。FIG. 5 is a diagram showing a cache control memory (CCM) structure in the embodiment of the present invention.
【図6】本発明の実施例におけるコマンド制御フローを
示す図である。FIG. 6 is a diagram showing a command control flow in the embodiment of the present invention.
【図7】本発明の実施例における階層キャッシュ制御フ
ローを示す図である。FIG. 7 is a diagram showing a hierarchical cache control flow in the embodiment of the present invention.
【図8】本発明の実施例におけるキャッシュ管理リスト
構造を示す図である。FIG. 8 is a diagram showing a cache management list structure according to the embodiment of the present invention.
【図9】本発明の実施例におけるディスク読み込み&先
読み制御フローを示す図である。FIG. 9 is a diagram showing a disk read & prefetch control flow according to the embodiment of the present invention.
【図10】本発明の実施例におけるディスク書き込み&
制御フローを示す図である。FIG. 10 shows a disc writing &
It is a figure showing a control flow.
【図11】本発明の実施例における階層レベルを示す図
である。FIG. 11 is a diagram showing a hierarchy level in the embodiment of the present invention.
101 ホストプロセッサ、 102 ディスクアレイ制御装置、 137、138 ディスク装置、 103 上位制御装置、 139、112 下位制御装置、 105 上位キャッシュ、 124、130 下位キャッシュ、 107、115、127 キャッシュ制御メモリ。 101 host processor, 102 disk array control device, 137, 138 disk device, 103 upper control device, 139, 112 lower control device, 105 upper cache, 124, 130 lower cache, 107, 115, 127 cache control memory.
Claims (4)
装置と、前記最上位制御装置に接続された複数の下位制
御装置と、前記複数の下位制御装置に接続された複数の
ディスク装置と、前記最上位制御装置および前記複数の
下位制御装置に設けられたディスクキャッシュからなる
階層ディスク装置であって、 前記下位制御装置は、前記ホストプロセッサからの読み
込みデータを、ディスクキャッシュに格納すること無く
前記上位制御装置へ転送する手段と、 前記最上位制御装置は、前記読み込みデータを、ディス
クキャッシュに格納し、かつ、前記ホストプロセッサへ
転送する手段を有する階層ディスク装置。An upper-level controller connected to a host processor; a plurality of lower-level controllers connected to the upper-level controller; a plurality of disk devices connected to the plurality of lower-level controllers; A hierarchical disk device including a top-level control device and a disk cache provided in the plurality of lower-level control devices, wherein the lower-level control device reads data from the host processor without storing the read data in the disk cache; A hierarchical disk device comprising: means for transferring the read data to a control device; and the uppermost control device stores the read data in a disk cache and transfers the read data to the host processor.
ともに、冗長データを格納するディスクアレイ制御装置
であって、ホストプロセッサに接続された最上位制御装
置と、前記最上位制御装置に接続された複数の下位制御
装置と、前記複数の下位制御装置に接続された複数のデ
ィスク装置と、前記最上位制御装置および前記複数の下
位制御装置に設けられたディスクキャッシュからなる階
層ディスク装置において、 前記ホストプロセッサからのデータ読み込み時に前記階
層レベルが最上位制御装置かどうかを、前記最上位制御
装置および前記複数の下位制御装置が有する階層レベル
を示す識別子から判断し、 最上位制御装置でなければ前記読み込みデータをディス
クキャッシュに格納しない制御を行うことを特徴とする
階層ディスクキャッシュ制御方法。2. A disk array controller for operating a plurality of disk devices in parallel and storing redundant data, the disk array controller being connected to a host processor and being connected to the uppermost controller. A hierarchical disk device including a plurality of lower-level control devices, a plurality of disk devices connected to the plurality of lower-level control devices, and a disk cache provided in the highest-level control device and the plurality of lower-level control devices; When reading data from a processor, it is determined whether or not the hierarchical level is the highest control device from the identifiers indicating the hierarchical levels of the highest control device and the plurality of lower control devices. Hierarchical disk cache characterized by performing control so that data is not stored in the disk cache. Gerhard control method.
み要求が発生した時、冗長データを生成する制御装置
は、上位制御装置に対して最新のデータが存在するかど
うか検索し、 存在すれば上位制御装置のディスクキャッシュからから
下位制御装置のディスクキャッシュに前記データを転送
することを特徴とする請求項2記載の階層ディスクキャ
ッシュ制御方法。3. When a data write request is issued from the host processor, a control device for generating redundant data searches a higher-level control device to determine whether the latest data exists. 3. The hierarchical disk cache control method according to claim 2, wherein the data is transferred from the disk cache of the lower control device to the disk cache of the lower control device.
起こした場合、前記最上位制御装置に接続された複数の
下位制御装置の前記識別子を、最上位制御装置を示す識
別子に変更することを特徴とする請求項2記載の階層デ
ィスクキャッシュ制御方法。4. When the cache of the highest-level control device fails, the identifiers of the plurality of lower-level control devices connected to the highest-level control device are changed to identifiers indicating the highest-level control device. 3. The hierarchical disk cache control method according to claim 2, wherein:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8224792A JPH1063576A (en) | 1996-08-27 | 1996-08-27 | Hierarchical disk device and control method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8224792A JPH1063576A (en) | 1996-08-27 | 1996-08-27 | Hierarchical disk device and control method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1063576A true JPH1063576A (en) | 1998-03-06 |
Family
ID=16819281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8224792A Pending JPH1063576A (en) | 1996-08-27 | 1996-08-27 | Hierarchical disk device and control method therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1063576A (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006119786A (en) * | 2004-10-20 | 2006-05-11 | Hitachi Ltd | Storage device resource allocation method and storage device |
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 (en) * | 2007-03-28 | 2008-10-09 | Yokogawa Electric Corp | Data reading device |
US7512753B2 (en) | 2003-02-18 | 2009-03-31 | Nec Corporation | Disk array control apparatus and method |
JP2010515196A (en) * | 2007-01-03 | 2010-05-06 | レイセオン カンパニー | Computer storage system |
US7930482B2 (en) | 2007-03-16 | 2011-04-19 | Hitachi, Ltd. | Storage system and method for controlling cache residency setting in the storage system |
WO2015015550A1 (en) * | 2013-07-29 | 2015-02-05 | 株式会社日立製作所 | Computer system and control method |
JP2015087837A (en) * | 2013-10-29 | 2015-05-07 | 株式会社日立製作所 | Computer system and data arrangement control method |
JP2016530584A (en) * | 2013-05-17 | 2016-09-29 | アビニシオ テクノロジー エルエルシー | Management of memory and storage space for data manipulation |
-
1996
- 1996-08-27 JP JP8224792A patent/JPH1063576A/en active Pending
Cited By (21)
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 |
JP4625675B2 (en) * | 2004-10-20 | 2011-02-02 | 株式会社日立製作所 | Storage device resource allocation method and storage device |
JP2006119786A (en) * | 2004-10-20 | 2006-05-11 | Hitachi Ltd | Storage device resource allocation method and storage device |
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 (en) * | 2007-01-03 | 2010-05-06 | レイセオン カンパニー | Computer storage system |
US7930482B2 (en) | 2007-03-16 | 2011-04-19 | Hitachi, Ltd. | Storage system and method for controlling cache residency setting in the storage system |
JP2008242870A (en) * | 2007-03-28 | 2008-10-09 | Yokogawa Electric Corp | Data reading device |
JP2016530584A (en) * | 2013-05-17 | 2016-09-29 | アビニシオ テクノロジー エルエルシー | Management of memory and storage space for data manipulation |
WO2015015550A1 (en) * | 2013-07-29 | 2015-02-05 | 株式会社日立製作所 | Computer system and control method |
JP5944587B2 (en) * | 2013-07-29 | 2016-07-05 | 株式会社日立製作所 | Computer system and control method |
JP2015087837A (en) * | 2013-10-29 | 2015-05-07 | 株式会社日立製作所 | Computer system and data arrangement control method |
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 (en) | Storage subsystem and related apparatus / method | |
US6058489A (en) | On-line disk array reconfiguration | |
US7769952B2 (en) | Storage system for controlling disk cache | |
JP3176157B2 (en) | Disk array device and data updating method thereof | |
JP3697149B2 (en) | How to manage cache memory | |
US8131969B2 (en) | Updating system configuration information | |
US20090210620A1 (en) | Method to handle demand based dynamic cache allocation between SSD and RAID cache | |
WO2014115320A1 (en) | Storage system and data management method | |
JP2004213064A (en) | RAID apparatus and logical device expansion method thereof | |
JP3713788B2 (en) | Storage device and storage device system | |
CN111857540B (en) | Data access method, apparatus and computer program product | |
US5805787A (en) | Disk based disk cache interfacing system and method | |
JPH1063576A (en) | Hierarchical disk device and control method therefor | |
JPH11288387A (en) | Disk cache device | |
JPH06119120A (en) | Disk array control method | |
JPH06332632A (en) | Disk array device and its control method | |
GB2301208A (en) | Data access apparatus and distributed data base system |