JPS6249549A - Magnetic disk controller - Google Patents

Magnetic disk controller

Info

Publication number
JPS6249549A
JPS6249549A JP60190308A JP19030885A JPS6249549A JP S6249549 A JPS6249549 A JP S6249549A JP 60190308 A JP60190308 A JP 60190308A JP 19030885 A JP19030885 A JP 19030885A JP S6249549 A JPS6249549 A JP S6249549A
Authority
JP
Japan
Prior art keywords
memory
directory
cache
magnetic disk
block
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
JP60190308A
Other languages
Japanese (ja)
Inventor
Akihiko Furuya
古谷 彰彦
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP60190308A priority Critical patent/JPS6249549A/en
Priority to KR1019860004053A priority patent/KR900000955B1/en
Priority to DE8686107284T priority patent/DE3686291T2/en
Priority to EP19910110599 priority patent/EP0452990A3/en
Priority to EP19910110598 priority patent/EP0452989A3/en
Priority to US06/867,449 priority patent/US4835686A/en
Priority to EP86107284A priority patent/EP0203601B1/en
Priority to EP19910110603 priority patent/EP0452991A3/en
Publication of JPS6249549A publication Critical patent/JPS6249549A/en
Priority to US07/329,019 priority patent/US4920478A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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

Abstract

PURPOSE:To share a cache memory by registering the corresponding directory information to the entry of the corresponding directory memory in response to a searching result and a read/write commands. CONSTITUTION:A magnetic disk controller 10 contains a direct memory 45 having entries corresponding to each cache block of a cache memory 43. The directory information showing the using state of the corresponding cache block is registered to each entry. For the register level of the directory information within the memory 45, the area of the memory 43 can be allocated to any of magnetic disk drivers 20-23. Thus the memory 43 can be shared effectively in response to the access frequencies of the drivers 20-23.

Description

【発明の詳細な説明】 [発明の技術分野] この発明は、複数の磁気ディスクドライブで共有可能な
キャッシュメモリを備えた磁気ディスク制御装置に関す
る。
DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to a magnetic disk control device equipped with a cache memory that can be shared by a plurality of magnetic disk drives.

[発明の技術的背景とその問題点] この種磁気ディスク制御装置では、キャンシメモリを、
複数、例えば4台の磁気ディスクドライブDKO−DK
3で共有する場合、第5図に示すように、キャッシュメ
モリの領域を各ドライブDKO−DK3単位で固定的に
割当て、それに対応するディレクトリメモリを用意する
のが一般的である。
[Technical background of the invention and its problems] In this type of magnetic disk control device, the cache memory is
Multiple, for example, four magnetic disk drives DKO-DK
3, as shown in FIG. 5, it is common to fixedly allocate a cache memory area to each drive DKO-DK3 and prepare a corresponding directory memory.

しかし、上記の方式では、キャッシュメモリの限られた
領域を分割することから、各磁気ディスクドライブに割
当てられるキャッシュ容量が小さくなり、キャツシュヒ
ツト率が低下する問題がある。またアクセス頻度かドラ
イブ毎に異なる場合、アクセス頻度の低いドライブに対
応するキャッシュメモリ領域の使用頻度が低くなり、キ
ャッシュメモリ全体の使用効率が低下する。
However, in the above method, since a limited area of the cache memory is divided, the cache capacity allocated to each magnetic disk drive becomes small, resulting in a decrease in the cash hit rate. Furthermore, if the access frequency differs from drive to drive, the frequency of use of the cache memory area corresponding to the drive with low access frequency becomes low, and the use efficiency of the entire cache memory decreases.

[発明の目的コ この発明は上記事情に鑑みてなされたものでその目的は
、複数の磁気ディスクドライブかその台数に依存するこ
となくキャッシュメモリを効率良く共有できる磁気ディ
スク制御装置を提供することにある。
[Purpose of the Invention] This invention was made in view of the above circumstances, and its purpose is to provide a magnetic disk control device that can efficiently share cache memory without depending on a plurality of magnetic disk drives or their number. be.

[発明の概要] この発明によれば、複数の磁気ディスクドライブで共有
可能なキャッシュメモリを備えた磁気ディスク制御装置
が提供される。この磁気ディスク制御装置には、キャッ
シュメモリの各キャッシュブロックに対応するエントリ
を持つディレクトリメモリが設けられる。ディレクトリ
メモリの各エントリには、対応キャッシュブロックの使
用状態を示すディレクトリ情報が登録される。このディ
レクトり情報は、対応キャッシュブロックに格納される
ディスクブロックのアドレスを示すディスクブロックア
ドレス並びに対応磁気ディスクドライブを示すディスク
ドライブ識別子を含む。また上記磁気ディスク制御装置
には、ディスクドライブ識別子並びにディスク論理アド
レスを含むり−ド/ライトコマンドに応じてディレクト
リメモリをサーチするディレクトリサーチ手段と、ディ
レクトリ情報登録手段とが設けられる。この登録手段は
、ディレクトリサーチ手段のサーチ結果およびリード/
ライトコマンドに応じ、置換対象キャッシュブロックに
対応するディレクトリメモリのエントリに、対応ディレ
クトリ情報を登録する。
[Summary of the Invention] According to the present invention, a magnetic disk control device is provided that includes a cache memory that can be shared by a plurality of magnetic disk drives. This magnetic disk control device is provided with a directory memory having entries corresponding to each cache block of the cache memory. Directory information indicating the usage status of the corresponding cache block is registered in each entry of the directory memory. This directory information includes a disk block address indicating the address of the disk block stored in the corresponding cache block and a disk drive identifier indicating the corresponding magnetic disk drive. Further, the magnetic disk control device is provided with a directory search means for searching a directory memory in response to a read/write command including a disk drive identifier and a disk logical address, and a directory information registration means. This registration method is based on the search results of the directory search method and the lead/lead information.
In response to the write command, corresponding directory information is registered in the directory memory entry corresponding to the cache block to be replaced.

[発明の実施例] 以下、この発明の一実施例を第1図(a)。[Embodiments of the invention] An embodiment of the present invention is shown in FIG. 1(a) below.

(b)乃至第4図を参照して説明する。This will be explained with reference to FIGS. 4(b) to 4.

第1図(a)はこの発明の一実施例に係る磁気ディスク
サブシステムの構成を示すもので、10は磁気ディスク
制御装置である。磁気ディスク制御装置10は、複数、
例えば4台の磁気ディスクドライブ(DKO〜DK3)
20〜23を制御するハードディスクコントロール回路
(以下IDCと称する)31を有している。HD C3
1はデータライン32およびコントロールライン33か
ら成る第1のバス34、ドライバ/レシーバ(以下D/
Rと称する)35を介してホストシステム(図示せず)
と接続されている。HDC31は第2のバス36にも接
続されている。バス36には磁気ディスク制御装置lO
全体を制御するマイクロプロセッサ37、マイクロプロ
セッサ37の制御用プログラム(マイクロプログラム)
を5己憶するプログラムメモリ38、マイクロプロセッ
サ37の作業用領域を成すワークメモリ39、および磁
気ディスクドライブ20〜23とホストシステムとの間
の転送速度の差を吸収するためのバッファメモリ40が
接続されている。
FIG. 1(a) shows the configuration of a magnetic disk subsystem according to an embodiment of the present invention, where 10 is a magnetic disk control device. The magnetic disk control device 10 includes a plurality of
For example, 4 magnetic disk drives (DKO to DK3)
It has a hard disk control circuit (hereinafter referred to as IDC) 31 that controls the hard disk drives 20 to 23. HD C3
1 is a first bus 34 consisting of a data line 32 and a control line 33, and a driver/receiver (hereinafter referred to as D/receiver).
(referred to as R) 35 via a host system (not shown).
is connected to. The HDC 31 is also connected to a second bus 36. The bus 36 includes a magnetic disk controller lO.
Microprocessor 37 that controls the whole, a control program for the microprocessor 37 (microprogram)
A program memory 38 that stores 5 self-storing data, a work memory 39 that forms a work area for the microprocessor 37, and a buffer memory 40 that absorbs the difference in transfer speed between the magnetic disk drives 20 to 23 and the host system are connected. has been done.

41は第3のバスである。バス41はD/R(ドライバ
/レシーバ)42を介して第2のバス36に接続されて
いる。バス41には、キャッシュメモリ4.3の制御を
含むデータ転送制御を主として行なうキャッシュコント
ロール回路44と、キャッシュメモリ43のキャッシュ
ブロックの使用状態を示すディレクトリ情報が登録され
るディレクトリメモリ45とが接続されている。この実
施例において、■磁気ディスクの1セクタは256バイ
ト、■キャッシュメモリ43の1ブロツク(キャッシュ
ブロック)は16にバイト(64セクタ)、シたがって
ディスクの1ブロツク(ディスクブロック)も16 K
バイト(64セクタ)、■キャッシュメモリ43のマツ
ピング方式はセットアソシエイティブ方式、■キャッシ
ュブロックの置換方式はLRU方式、■ディレクトリメ
モリ45のレベル数(エントリ数)は1カラム当り16
、■キャッシュメモリ43の容量は512にバイトであ
る。
41 is the third bus. Bus 41 is connected to second bus 36 via D/R (driver/receiver) 42 . Connected to the bus 41 are a cache control circuit 44 that mainly performs data transfer control including control of the cache memory 4.3, and a directory memory 45 in which directory information indicating the usage status of cache blocks of the cache memory 43 is registered. ing. In this embodiment, one sector of the magnetic disk is 256 bytes, one block (cache block) of the cache memory 43 is 16 bytes (64 sectors), and therefore one block of the disk (disk block) is also 16K.
bytes (64 sectors), ■ The mapping method of the cache memory 43 is the set associative method, ■ The cache block replacement method is the LRU method, ■ The number of levels (number of entries) of the directory memory 45 is 16 per column
, ■ The capacity of the cache memory 43 is 512 bytes.

第1図(b)はディレクトリ情報のフォーマットを示す
。ディレクトリ情報は、第1乃至第4バイトから成る4
バイト情報である。第1バイトは、磁気ディスクドライ
ブ識別子である3ビツトのドライブ番号LUN (Lo
gical  Unit No 、 )と、15ビツト
のディスクブロックアドレスの上位5ビツト(アドレス
U)から成る。第2バイトは、アドレスUに後続するデ
ィスクブロックアドレスの8ビツト(アドレスM)から
成る。第3バイトは、ディスクブロックアドレスの残り
の(下位)2ビット(アドレスL)と、4ビツトのオー
ル“θ″データ、1ビツトのエラーフラグERRと、1
ビツトの有効表示フラグVBとから成る。
FIG. 1(b) shows the format of directory information. Directory information consists of 4 bytes consisting of the 1st to 4th bytes.
This is byte information. The first byte is a 3-bit drive number LUN (Lo
) and the upper 5 bits of the 15-bit disk block address (address U). The second byte consists of address U followed by 8 bits of the disk block address (address M). The third byte contains the remaining (lower) 2 bits of the disk block address (address L), 4 bits of all “θ” data, 1 bit of error flag ERR, and 1
It consists of a bit valid display flag VB.

そして第4バイトは、8ビツトのLRU(LeastR
eeently U sed )値から成る。上記のデ
ィレクトリ情報は、例えばリード/ライトコマンドに含
まれるドライブ番号LUNおよびディスク論理アドレス
等に基づいて生成される。
The fourth byte is an 8-bit LRU (LeastR
eeently U sed ) value. The above directory information is generated based on, for example, the drive number LUN and disk logical address included in the read/write command.

第2図はリード/ライトコマンドのフォーマットを示す
。リード/ライトコマンドは、リード/ライト等の動作
を指定するコマンドコード、ドライブ番号LUN、ディ
スク論理アドレス、データブロック数およびキャッシュ
コントロールビットcc2〜ccOを含む6バイトの命
令である。ドライブ番号LUNは3ビツトから成り、磁
気ディスクドライブ20〜23の1つを指定する。この
例においてドライブ番号LUNの最上位ビットは常に“
0“である。またディスク論理アドレスは、ドライブ番
号LUNで指定されるディスクのセクタ番号を示すもの
で、5ビツトの論理アドレス2.8ビツトの論理アドレ
ス1.0の計21ビットから成る。1ブロツク(ディス
クブロック)が16にバイトであるこの例では、第2図
に示すようにディスク論理アドレスの上位15ビツト(
ビット6〜20)でディスクブロックアドレスか示され
る。また、この例では、キャッシュメモリ43の容量が
512にバイト、1キヤツシユブロツクが上記のように
16にバイトであることから、カラム数は(カラム0と
カラム1の)2となる。したがってディスク論理アドレ
スのビット6はカラム番号を示す。
FIG. 2 shows the format of the read/write command. The read/write command is a 6-byte instruction including a command code specifying operations such as read/write, drive number LUN, disk logical address, data block number, and cache control bits cc2 to ccO. The drive number LUN consists of 3 bits and specifies one of the magnetic disk drives 20-23. In this example, the most significant bit of drive number LUN is always “
The disk logical address indicates the sector number of the disk specified by the drive number LUN, and consists of a total of 21 bits: 5-bit logical address 2.8-bit logical address 1.0.1. In this example, where the block (disk block) is 16 bytes, the upper 15 bits of the disk logical address (
Bits 6 to 20) indicate the disk block address. Further, in this example, since the capacity of the cache memory 43 is 512 bytes and one cache block is 16 bytes as described above, the number of columns is 2 (column 0 and column 1). Therefore, bit 6 of the disk logical address indicates the column number.

第3図はディレクトリメモリ45の構造を示す。FIG. 3 shows the structure of the directory memory 45.

ディレクトリメモリ45の容量は128バイトであり、
アドレス000(16進表現)から始まるカラム0領域
(64バイト)と、アドレス040(16進表現)から
始まるカラム1領域(64バイト)から成る。カラム0
.1の各領域は、16レベル(エントリ)に分けられ、
ルベルは4バイトで構成され、第1図(b)に示したデ
ィレクトリ情報が登録できるようになっている。
The capacity of the directory memory 45 is 128 bytes,
It consists of a column 0 area (64 bytes) starting from address 000 (hexadecimal expression) and a column 1 area (64 bytes) starting from address 040 (hexadecimal expression). column 0
.. Each area of 1 is divided into 16 levels (entries),
The label consists of 4 bytes, and allows the directory information shown in FIG. 1(b) to be registered.

再び第1図(a)を参照すると、第3のバス41には、
ディレクトリサーチ時にディレクトリメモリ45から読
出されたLRU値が設定されるLRUカウンタ(以下、
CLRUと称する)46の入力およびドライバ47の出
力も接続されている。CLRU4Bの出力およびドライ
バ47の入力は、キャッシュコントロール回路44に接
続されている。またバス41には、レジスタファイル4
8の人力ポートおよび比較器49の8人力も接続されて
いる。レジスタファイル48は、RTCAO−RTCA
3の4つのレジスタ51〜53から成る。レジスタファ
イル48の出力ポートは比較器49のA入力に接続され
、比較器49の出力ポートはキャッシュコントロール回
路44に接続されている。キャッシュコントロール回路
44は、ドライバ47によりバス41上に出力されるC
LRU4Bの内容(LRU値)のレジスタファイル48
への入力を制御する如く、レジスタファイル48と接続
されている。
Referring again to FIG. 1(a), the third bus 41 includes:
An LRU counter (hereinafter referred to as
The input of a driver 46 (referred to as CLRU) and the output of a driver 47 are also connected. The output of CLRU 4B and the input of driver 47 are connected to cache control circuit 44. Also, on the bus 41, there is a register file 4.
8 manpower ports and 8 manpower of comparator 49 are also connected. The register file 48 is RTCAO-RTCA
It consists of four registers 51 to 53 of 3. The output port of register file 48 is connected to the A input of comparator 49, and the output port of comparator 49 is connected to cache control circuit 44. The cache control circuit 44 outputs C from the driver 47 onto the bus 41.
Register file 48 of LRU4B contents (LRU value)
The register file 48 is connected to control the input to the register file 48.

、ディレクトリメモリ45のアドレスポートAには同メ
モリ45のアドレスを指定するディレクトリメモリアド
レスカウンタ(以下、CDMAと称する)54の出力が
接続され、CDMA54の入力は第2のハス36に接続
されている。CDMA54の出力はレジスタファイル5
5の入力ポートにも接続され、レジスタファイル55の
出力ポートは第2のバス36に接続されている。またレ
ジスタファイル55には、キャッシュコントロール回路
44による制御が可能な如く同コントロール回路44が
接続されている。
, the output of a directory memory address counter (hereinafter referred to as CDMA) 54 that specifies the address of the directory memory 45 is connected to the address port A of the directory memory 45, and the input of the CDMA 54 is connected to the second lotus 36. . CDMA54 output is register file 5
The output port of the register file 55 is also connected to the second bus 36 . Further, a control circuit 44 is connected to the register file 55 so that the cache control circuit 44 can control the register file 55 .

レジスタファイル55は、RCGAO〜RCGA2の3
つのレジスタ60〜62から成る。
The register file 55 includes 3 of RCGAO to RCGA2.
It consists of two registers 60-62.

次にこの発明の一実施例の動作を説明する。Next, the operation of one embodiment of the present invention will be explained.

ホストシステムからのディスクアクセス要求であるリー
ド/ライトコマンド(第2図参照)はD / R35、
バス34を介してHD C31に伝えられ、HDC31
内のコマンドレジスタ(図示せず)に保持される。
Read/write commands (see Figure 2), which are disk access requests from the host system, are handled by D/R35,
The information is transmitted to the HDC 31 via the bus 34, and the HDC 31
is held in a command register (not shown) within.

コマンドレジスタ内のり−ド/ライトコマンドはマイク
ロプロセッサ37により読出されワークメモリ39の所
定領域に格納される。マイクロプロセッサ37は、(ホ
ストシステムからの)リード/うイトコマンドをワーク
メモリ39に格納すると、同要求に従ってシークコマン
ドを発行しHDC31にセットする。これによりHD 
C31は指定されたトラックをシークするように磁気デ
ィスクドライブ20〜23のうちの指定ドライブを制御
する。
The read/write command in the command register is read by the microprocessor 37 and stored in a predetermined area of the work memory 39. When the microprocessor 37 stores the read/write command (from the host system) in the work memory 39, it issues a seek command and sets it in the HDC 31 in accordance with the request. This allows HD
C31 controls a designated drive of the magnetic disk drives 20 to 23 to seek a designated track.

またマイクロプロセッサ37は、上記リード/ライトコ
マンド中のディスク論理アドレスを含むディスクブロッ
クアドレスがディレクトリメモリ45に登録されている
か否かを調べるために、まずディスク論理アドレスのビ
ット6を調べる。もしビット6が“0”であれば、ディ
レクトリメモリ45のカラム0領域がディレクトリサー
チの対象となることから、マイクロプロセッサ37はC
DMA54にディレクトリスタートアドレスとして00
0をセットする。これに対してビット6が“1#であれ
ば、ディレクトリメモリ45のカラム1領域がディレク
トリサーチの対象となることから、マイクロプロセッサ
37はCDMA54に040をセットする。
Further, the microprocessor 37 first checks bit 6 of the disk logical address in order to check whether the disk block address including the disk logical address in the read/write command is registered in the directory memory 45. If bit 6 is “0”, the column 0 area of the directory memory 45 is the target of the directory search, so the microprocessor 37
00 as the directory start address in DMA54
Set to 0. On the other hand, if bit 6 is "1#", the microprocessor 37 sets 040 in the CDMA 54 because the column 1 area of the directory memory 45 is the target of the directory search.

次にマイクロプロセッサ37は、リード/ライトコマン
ド中のドライブ番号LUN、およびディスク論理アドレ
スのビット16〜20から成る第1バイトをレジスタフ
ァイル48内のRTCAOレジスタ50にセットし、デ
ィスク論理アドレスのビット8〜15から成る第2バイ
トをRTCA ルジスタ51にセットする。またマイク
ロプロセッサ37は、ディスク論理アドレスのビット6
.7.4ビツトのオール“0°データ、値が“0“のエ
ラーフラグERR,および値が1”の有効表示フラグV
Bから成る第3バイトをRTCA2レジスタ52にセッ
トし、値が0のLRU値(最小のLRU値)から成る第
4バイトをRTCA3レジスタ53にセットする。即ち
マイクロプロセッサ37は、リード/ライトコマンド中
のドライブ番号LUNおよびディスク論理アドレスに基
づいて、ディレクトリサーチのためのターゲット情報を
生成し、レジスタファイル48にセットする。
Next, the microprocessor 37 sets the drive number LUN in the read/write command and the first byte consisting of bits 16 to 20 of the disk logical address to the RTCAO register 50 in the register file 48, and sets bit 8 of the disk logical address to the RTCAO register 50 in the register file 48. The second byte consisting of .about.15 is set in the RTCA register 51. The microprocessor 37 also controls bit 6 of the disk logical address.
.. 7.4-bit all “0° data”, error flag ERR with value “0”, and valid display flag V with value “1”
The third byte consisting of B is set in the RTCA2 register 52, and the fourth byte consisting of an LRU value of 0 (minimum LRU value) is set in the RTCA3 register 53. That is, the microprocessor 37 generates target information for directory search based on the drive number LUN and disk logical address in the read/write command, and sets it in the register file 48.

マイクロプロセッサ37は、以上のセットアツプを終了
すると、キャッシュコントロール回路44を起動してデ
ィレクトリサーチを開始させる。これにより以下に示す
ディレクトリサーチサイクルか16回繰返される。
After completing the above setup, the microprocessor 37 activates the cache control circuit 44 to start a directory search. As a result, the directory search cycle shown below is repeated 16 times.

このディレクトリサーチサイクルでは、まずCDIvl
A54の示す(ディレクトリメモリ)アドレスかレジス
タファイル55内のRCGAOレジスタ60にセットさ
れる。またCDMA54が順次カウントアツプされる。
In this directory search cycle, first CDIvl
The (directory memory) address indicated by A54 is set in the RCGAO register 60 in the register file 55. Also, CDMA54 is counted up sequentially.

これによりCDMA54の示すディレクトリメモリ45
のレベル(エントリ)のディレクトリ情報が第1バイト
から順にバイト単位でハス41に読出され、比較器49
のB入力に供給される。また、これに同期して、レジス
タファイル48にセットされたターゲット情報が第1バ
イトより順にバイト単位で取出され、比較器39のA入
力に供給される。比較器39はA、B入力内容を比較す
る。比較器49の比較結果、即ちレジスタファイル38
からのターゲット情報とディレクトリメモリ35からの
ディレクトリ情報とのバイト単位での比較結果は、順に
キャッシュコントロール回路44に通知される。またデ
ィレクトリメモリ45からバス41経由で比較器49の
B入力に供給されるディレクトリ情報のうちのLRU値
は、CLRU4Bにロードされ+1される。
As a result, the directory memory 45 indicated by the CDMA 54
The level (entry) directory information is read out in byte units sequentially from the first byte to the lotus 41, and the comparator 49
is fed to the B input of In addition, in synchronization with this, the target information set in the register file 48 is taken out in byte units starting from the first byte and is supplied to the A input of the comparator 39. A comparator 39 compares the input contents of A and B. The comparison result of the comparator 49, that is, the register file 38
The results of the byte-by-byte comparison between the target information from the directory memory 35 and the directory information from the directory memory 35 are sequentially notified to the cache control circuit 44. Further, the LRU value of the directory information supplied from the directory memory 45 to the B input of the comparator 49 via the bus 41 is loaded into the CLRU 4B and incremented by +1.

キャッシュコントロール回路44は、まず比較器49の
第1乃至第3バイト比較結果により、キャツシュヒツト
したか否かを判定する。もしキャツシュヒツトしていれ
ば、キャッシュコントロール回路44はレジスタファイ
ル55内のRCGAOレジスタ80にセットされている
(ディレクトリメモリ)アドレス(現ディレクトリサー
チサイクルの該当レベルの先頭位置を示すアドレス)に
キャツシュヒツトを示すヒツトフラグを付加してRCG
AIレジスタ61にセットする。
The cache control circuit 44 first determines whether or not a cache hit has been made based on the first to third byte comparison results of the comparator 49. If there is a cache hit, the cache control circuit 44 sends a hit flag indicating the cache hit to the (directory memory) address (address indicating the start position of the corresponding level of the current directory search cycle) set in the RCGAO register 80 in the register file 55. RCG by adding
Set in AI register 61.

次にキャッシュコントロール回路44は、比較器49の
LRU値比較結果により、その時点における置換対象キ
ャッシュブロック(に対応するディレクトリメモリ45
のレベル)を決定する。もしディレクトリメモリ45か
らのLRU値がレジスタファイル48からのLRU値以
上であれば、キャッシュコントロール回路44は該当レ
ベル(エントリ)に対応するキャッシュブロックが置換
対象キャッシュブロックであるものとひとまず判断する
。この場合、キャッシュコントロール回路44はレジス
タファイル55内RCGAOレジスタ60にセットされ
ている(ディレクトリメモリ)アドレスをRCGA2レ
ジスタ62にセットする。またキャッシュコントロール
回路44はCLRU46の示す(+1された)LRU値
をドライバ47よりバス41上に出力せしめ、レジスタ
ファイル48内のRTCA3レジスタ53にセットされ
ているLRU値をバス41上のLRU値に更新する。
Next, based on the LRU value comparison result of the comparator 49, the cache control circuit 44 controls the directory memory 45 corresponding to the replacement target cache block at that time.
level). If the LRU value from the directory memory 45 is greater than or equal to the LRU value from the register file 48, the cache control circuit 44 temporarily determines that the cache block corresponding to the corresponding level (entry) is the replacement target cache block. In this case, the cache control circuit 44 sets the (directory memory) address set in the RCGAO register 60 in the register file 55 in the RCGAO register 62. In addition, the cache control circuit 44 causes the driver 47 to output the LRU value indicated by the CLRU 46 (+1) onto the bus 41, and changes the LRU value set in the RTCA3 register 53 in the register file 48 to the LRU value on the bus 41. Update.

更にキャッシュコントロール回路44は上記バス41上
の(CLRU46からの)LRU値を、比較器49の比
較結果に無関係にディレクトリメモリ45の対応レベル
に書込む。即ち本実施例では、ディレクトリサーチサイ
クル毎に、ディレクトリメモリ45の対応レベル内のL
RU値が+1される。
Furthermore, cache control circuit 44 writes the LRU value on bus 41 (from CLRU 46) to the corresponding level of directory memory 45, regardless of the comparison result of comparator 49. That is, in this embodiment, L in the corresponding level of the directory memory 45 is determined in each directory search cycle.
The RU value is increased by +1.

以上がディレクトリサーチサイクルであり、このサイク
ルがディレクトリメモリ45めレベルO〜F(16進表
現)の各ディレクトリ情報に対して繰返し行なわれるこ
とにより、リード/ライトコマンドに対応するディレク
トリサーチか終了する。
The above is the directory search cycle, and this cycle is repeated for each piece of directory information in the 45th level O to F (hexadecimal representation) of the directory memory, thereby completing the directory search corresponding to the read/write command.

このときレジスタファイル55内のRCGAIレジスタ
61には、もしキャツシュヒツトしていたならば、該当
キャッシュブロックに対応するディレクトリメモリ35
のレベルの(先頭)アドレスがセットされている筈であ
る。またレジスタファイル41内のRCGA2レジスタ
62には、指定されたカラムの中で最も大きなLRU値
を有しているディレクトリメモリ35のレベルの(先頭
)アドレスがセットされている。このアドレスは、リー
ド指定時のキャッシュミスの場合には、置換対象キヤ・
ソシュブロックに対応するディレクトリメモリ35のレ
ベル(エントリ)を示す。
At this time, if the cache block has been cached, the RCGAI register 61 in the register file 55 contains the directory memory 35 corresponding to the cache block.
The (starting) address of the level should have been set. Further, the RCGA2 register 62 in the register file 41 is set with the (starting) address of the level of the directory memory 35 having the largest LRU value in the designated column. In the case of a cache miss when specifying a read, this address is used as the replacement target carrier.
The level (entry) of the directory memory 35 corresponding to the source block is shown.

マイクロプロセッサ37は、ディレクトリサーチが終了
すると、レジスタファイル55内のRCGAルジスタ6
1の内容をバス36経由で読込み、キャツシュヒツト或
はミスヒツトのいずれであったかを調べる。もしリード
指定時のキャッシュミスであれば、マイクロプロセッサ
37は、レジスタファイル55内のRCGA2レジスタ
62の示すディレクトリアドレスを、その時点で最も古
く参照されたキャッシュブロック(即ち置換対象キャッ
シュブロック)に対応するディレ・クトリメモリ45の
レベルの先頭アドレスとして読込み、CDMA54にセ
ットする。そしてマイクロプロセッサ37は、CDMA
54を順次カウントアツプしながら、ディレクトリメモ
リ45の対応レベル(エントリ)にディレクトリ情報を
登録する。このディレクトリ情報は、LRU値が初期値
となっている点を除けば、基本的にレジスタファイル4
8内のターゲット情報と同一である。この実施例では、
LRU値の初期値はキャッシュコントロールビットcc
2〜ccOによって指定される。
When the directory search is completed, the microprocessor 37 registers the RCGA register 6 in the register file 55.
1 is read via the bus 36, and it is checked whether it was a cash hit or a miss. If there is a cache miss when specifying a read, the microprocessor 37 changes the directory address indicated by the RCGA2 register 62 in the register file 55 to correspond to the oldest referenced cache block at that time (i.e., the cache block to be replaced). It is read as the start address of the level of the directory memory 45 and set in the CDMA 54. And the microprocessor 37 uses CDMA
54, the directory information is registered in the corresponding level (entry) of the directory memory 45. This directory information is basically the register file 4, except that the LRU value is the initial value.
This is the same as the target information in 8. In this example,
The initial value of the LRU value is the cache control bit cc.
Specified by 2~ccO.

上記の説明から明らかなように、(ディレクトリ登録時
における)ディレクトリ情報のディレクトリメモリ45
内登録レベルは(したがってキャッシュメモリ43の置
換対象キャッシュブロックは)、磁気ディスクドライブ
を示すドライブ番号LUNをディレクトリ情報に含める
ことにより、1台の磁気ディスクドライブを制御する磁
気ディスク制御装置の場合と同様に各レベルのディレク
トリ情報のLRU値(の大小)たけて決定される。した
がって、キャッシュメモリ43(ディレクトリメモリ4
5)の領域は、従来例(第5図参照)と異なり、第4図
に示すように磁気ディスクドライブ20〜23のいずれ
にも割当てが可能である。このため、この実施例では、
キャッシュメモリ43を磁気ディスクドライブ20〜2
3のアクセス頬度等に応じて効率良く共有できる。
As is clear from the above explanation, the directory memory 45 for directory information (at the time of directory registration)
The internal registration level (and therefore the cache block to be replaced in the cache memory 43) is the same as in the case of a magnetic disk control device that controls one magnetic disk drive by including the drive number LUN indicating the magnetic disk drive in the directory information. The LRU value (large/small) of the directory information at each level is determined. Therefore, cache memory 43 (directory memory 4
Unlike the conventional example (see FIG. 5), the area 5) can be allocated to any of the magnetic disk drives 20 to 23 as shown in FIG. Therefore, in this example,
The cache memory 43 is connected to the magnetic disk drives 20 to 2.
It can be shared efficiently depending on the degree of access of item 3.

なお、ディレクトリメモリ45に登録されたディレクト
リ情報の示すディスクブロックの読出し並びにキャッシ
ュメモリ43への書込み動作等については、本発明の要
旨に直接関係しないため説明を省略する。
Note that the operation of reading a disk block indicated by the directory information registered in the directory memory 45, writing to the cache memory 43, etc. will not be described because they are not directly related to the gist of the present invention.

さて、前記実施例では、キャッシュメモリ43が全ての
磁気ディスクドライブ20〜23により共有される場合
について説明したが、これに限るものではない。例えば
O5(オペレーティングシステム)のようにローディン
グ回数か1回だけのディスクブロックを有する磁気ディ
スクドライブ(即ちアクセス頻度の低いドライブ)等に
ついてはキャッシュを使用しないようにし、残りのドラ
イブたけでキャッシュメモリ43を共有することも可能
である。この場合、限られた容量のキャッシュメモリ4
3を更に効率的に使用でき、ヒツト率も一層向上する。
Now, in the embodiment described above, a case has been described in which the cache memory 43 is shared by all the magnetic disk drives 20 to 23, but the present invention is not limited to this. For example, for magnetic disk drives such as O5 (operating system) that have disk blocks that are loaded only once or once (i.e., drives with low access frequency), the cache is not used, and the cache memory 43 is used only by the remaining drives. It is also possible to share. In this case, the limited capacity cache memory 4
3 can be used more efficiently, and the hit rate is further improved.

なお、キャッシュを使用するか否かの指定(キャッシュ
モード指定)は、電源投入時等においてコマンドにより
磁気ディスクドライブ単位で指定すればよい。
Note that the designation of whether or not to use the cache (cache mode designation) may be specified for each magnetic disk drive using a command when the power is turned on or the like.

[発明の効果] 以上詳述したようにこの発明によれば、複数の磁気ディ
スクドライブがその台数に依存することなくキャッシュ
メモリを効率良く共有できる。
[Effects of the Invention] As described in detail above, according to the present invention, a plurality of magnetic disk drives can efficiently share cache memory regardless of the number of magnetic disk drives.

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

第1図(a)はこの発明の一実施例に係る磁気ディスク
サブシステムのブロック構成図、第1図(b)はディレ
クトリ情報のフォーマットを示す図、第2図はり−ド/
ライトコマンドのフォーマットを示す図、第3図は第1
図(a)のブイレフ!・リメモリ45の構造を示す図、
第4図は上記実施例におけるキャッシュメモリ43とデ
ィレクトリメモリ45との対応状態を示す図、第5図は
従来例におけるキャッシュメモリとディレクトリメモリ
との対応状態を示す図である。 10・・・磁気ディスク制御装置、20〜23・・・磁
気ディスクドライブ、37・・・マイクロプロセッサ、
43・・・キャッシュメモリ、44・・・キャッシュコ
ントロール回路、45・・・ディレクトリメモリ、48
.55・・・レジスタファイル、49・・・比較器。 出願人代理人 弁理士 鈴江武彦 (b) 第1図 第2図 第3図 第4図 第5図
FIG. 1(a) is a block diagram of a magnetic disk subsystem according to an embodiment of the present invention, FIG. 1(b) is a diagram showing the format of directory information, and FIG.
Figure 3 shows the format of the write command.
Figure (a) Buileff! - A diagram showing the structure of the re-memory 45,
FIG. 4 is a diagram showing the correspondence between the cache memory 43 and directory memory 45 in the above embodiment, and FIG. 5 is a diagram showing the correspondence between the cache memory and directory memory in the conventional example. 10... Magnetic disk control device, 20-23... Magnetic disk drive, 37... Microprocessor,
43... Cache memory, 44... Cache control circuit, 45... Directory memory, 48
.. 55...Register file, 49...Comparator. Applicant's representative Patent attorney Takehiko Suzue (b) Figure 1 Figure 2 Figure 3 Figure 4 Figure 5

Claims (1)

【特許請求の範囲】[Claims] 度数の磁気ディスクドライブで共有可能なキャッシュメ
モリを備えた磁気ディスク制御装置において、上記キャ
ッシュメモリの各キャッシュブロックに対応するエント
リを有し、各エントリに対応キャッシュブロックに格納
されるディスクブロックのディスクブロックアドレス並
びに対応磁気ディスクドライブを示すディスクドライブ
識別子を含むディレクトリ情報が登録されるディレクト
リメモリと、このディレクトリメモリをディスクドライ
ブ識別子並びにディスク論理アドレスを含むリード/ラ
イトコマンドに応じてサーチするディレクトリサーチ手
段と、このディレクトリサーチ手段のサーチ結果および
上記リード/ライトコマンドに応じ対応ディレクトリ情
報を置換対象キャッシュブロックに対応する上記ディレ
クトリメモリのエントリに登録する登録手段とを具備す
ることを特徴とする磁気ディスク制御装置。
In a magnetic disk control device equipped with a cache memory that can be shared by multiple magnetic disk drives, the disk block has an entry corresponding to each cache block of the cache memory, and each entry corresponds to a disk block of a disk block stored in the corresponding cache block. a directory memory in which directory information including an address and a disk drive identifier indicating a corresponding magnetic disk drive is registered; a directory search means for searching this directory memory in response to a read/write command including the disk drive identifier and a disk logical address; A magnetic disk control device characterized by comprising: registration means for registering corresponding directory information in an entry of the directory memory corresponding to a cache block to be replaced in accordance with the search result of the directory search means and the read/write command.
JP60190308A 1985-05-29 1985-08-29 Magnetic disk controller Pending JPS6249549A (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP60190308A JPS6249549A (en) 1985-08-29 1985-08-29 Magnetic disk controller
KR1019860004053A KR900000955B1 (en) 1985-08-29 1986-05-23 Magnetic disk controller
DE8686107284T DE3686291T2 (en) 1985-05-29 1986-05-28 CACHE ARRANGEMENT WITH LRU METHOD AND MAGNETIC DISC CONTROL DEVICE WITH SUCH AN ARRANGEMENT.
EP19910110599 EP0452990A3 (en) 1985-05-29 1986-05-28 Cache system adopting an lru system
EP19910110598 EP0452989A3 (en) 1985-05-29 1986-05-28 Magnetic disk controller incorporating a cache system adopting an lru system
US06/867,449 US4835686A (en) 1985-05-29 1986-05-28 Cache system adopting an LRU system, and magnetic disk controller incorporating it
EP86107284A EP0203601B1 (en) 1985-05-29 1986-05-28 Cache system adopting an lru system, and magnetic disk controller incorporating it
EP19910110603 EP0452991A3 (en) 1985-05-29 1986-05-28 Cache system adopting an lru system
US07/329,019 US4920478A (en) 1985-05-29 1989-03-24 Cache system used in a magnetic disk controller adopting an LRU system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60190308A JPS6249549A (en) 1985-08-29 1985-08-29 Magnetic disk controller

Publications (1)

Publication Number Publication Date
JPS6249549A true JPS6249549A (en) 1987-03-04

Family

ID=16255999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60190308A Pending JPS6249549A (en) 1985-05-29 1985-08-29 Magnetic disk controller

Country Status (2)

Country Link
JP (1) JPS6249549A (en)
KR (1) KR900000955B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0198876A (en) * 1988-08-05 1989-04-17 Hitachi Ltd Refrigerator
KR100491733B1 (en) * 1997-02-21 2005-08-01 매그나칩 반도체 유한회사 Multiple address setting method and apparatus
KR100551191B1 (en) * 1997-05-16 2006-05-25 매그나칩 반도체 유한회사 Method for uniquely identifying logical units in a computer system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0198876A (en) * 1988-08-05 1989-04-17 Hitachi Ltd Refrigerator
KR100491733B1 (en) * 1997-02-21 2005-08-01 매그나칩 반도체 유한회사 Multiple address setting method and apparatus
KR100551191B1 (en) * 1997-05-16 2006-05-25 매그나칩 반도체 유한회사 Method for uniquely identifying logical units in a computer system

Also Published As

Publication number Publication date
KR900000955B1 (en) 1990-02-19
KR870002506A (en) 1987-03-31

Similar Documents

Publication Publication Date Title
US4920478A (en) Cache system used in a magnetic disk controller adopting an LRU system
US6904498B2 (en) Raid controller disk write mask
US6202138B1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
JP3422370B2 (en) Disk cache controller
US20060195651A1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5644791A (en) System for storing pointers to initial sectors of variable length n units and storing second pointers within the initial sector of the n unit
JPS59114658A (en) Management of data memory space
US8694563B1 (en) Space recovery for thin-provisioned storage volumes
JPH07210334A (en) Data storage method and queuing method
JPS624745B2 (en)
US6983355B2 (en) Virtualization of physical storage using size optimized hierarchical tables
US5574736A (en) Data storage device and method of operation
US6772289B1 (en) Methods and apparatus for managing cached CRC values in a storage controller
JPS6249549A (en) Magnetic disk controller
EP0319147A2 (en) Method for storing pre-organised groups of related information files in a data processing system
JP2000285688A (en) Non-volatile semiconductor memory
US6898666B1 (en) Multiple memory system support through segment assignment
JP3335919B2 (en) Disk cache controller
KR900006252B1 (en) Cache system
US20030051105A1 (en) Compact flash ATA card
JPH07152650A (en) Cache control unit
JP3861061B2 (en) Disk cache controller
JP2000112668A (en) Disk array controller and cache control method to be applied to the same
JPS6134643A (en) Buffer control system
JPH07334425A (en) Disk cache control system