JPH0115903B2 - - Google Patents

Info

Publication number
JPH0115903B2
JPH0115903B2 JP54065443A JP6544379A JPH0115903B2 JP H0115903 B2 JPH0115903 B2 JP H0115903B2 JP 54065443 A JP54065443 A JP 54065443A JP 6544379 A JP6544379 A JP 6544379A JP H0115903 B2 JPH0115903 B2 JP H0115903B2
Authority
JP
Japan
Prior art keywords
disk
block
data
cache memory
cache
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.)
Expired
Application number
JP54065443A
Other languages
Japanese (ja)
Other versions
JPS55157053A (en
Inventor
Takehisa Tokunaga
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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP6544379A priority Critical patent/JPS55157053A/en
Publication of JPS55157053A publication Critical patent/JPS55157053A/en
Publication of JPH0115903B2 publication Critical patent/JPH0115903B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は情報処理装置内のデイスクサブシステ
ムにおけるデイスクキヤツシユ書込み制御方式に
関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a disk cache write control method in a disk subsystem within an information processing device.

中応処理装置(以下CPU)の処理速度は近年
著しく向上しているが、デイスク装置は機械的動
作を伴うため、アクセス時間はあまり改善されて
いない。この結果、デイスクの入出力時間が情報
処理システムの性能を押える一つの要因となつて
いる。そこで、高速小容量のキヤツシユメモリを
設けて一部のデイスクデータをキヤツシユメモリ
に入れ平均的なデイスクアクセス時間を短縮する
デイスクキヤツシユ装置が考えられている。
Although the processing speed of intermediate processing units (hereinafter referred to as CPUs) has improved significantly in recent years, access times have not improved much since disk devices involve mechanical operations. As a result, disk input/output time has become one of the factors that restricts the performance of information processing systems. Therefore, a disk cache device has been proposed that is provided with a high-speed, small-capacity cache memory and stores some disk data in the cache memory to shorten the average disk access time.

従来のデイスクキヤツシユ装置においては、デ
イスク装置への書込みデータの処理として次の二
通りの方式が一般に採られている。
In conventional disk cache devices, the following two methods are generally adopted for processing data written to the disk device.

第1の方法はCPU等の上位装置から与えられ
た書込データをキヤツシユメモリに書き込んだ時
点で上位装置に書込み動作終了信号を戻し、その
のち、書き換えられたデータをデイスクに書き込
む方式である。この方式では、外部から見た書込
時間が短くなると言う利点はあるが、書込み動作
終了信号を戻したのち、ハードウエアの故障等に
よりデイスク装置へのデータ書込みができなくな
つたときの障害処理が極めて困難である。何故な
らば、書込み動作終了信号を受けた中央処理シス
テムのソフトウエアはその時点で書込み動作が正
常に終了したか否かを判断し、正常ならば処理を
先に進めてしまうのが一般的だからである。一た
ん正常と判断された書込み動作のエラーを後で処
理できるようにするにはオペレーテイングシステ
ム(OS)や障害処理用のソフトウエアを全面的
に作り直さねばならなくなり、デイスクキヤツシ
ユの適用が限定される。
The first method is to return a write operation end signal to the host device when the write data given from the host device such as the CPU is written into the cache memory, and then write the rewritten data to the disk. . This method has the advantage of shortening the write time when viewed from the outside, but it also handles problems when data cannot be written to the disk device due to a hardware failure etc. after returning the write operation completion signal. is extremely difficult. This is because the software of the central processing system that receives the write operation end signal determines whether the write operation has ended normally at that point, and if it is normal, it generally proceeds with the process. It is. In order to be able to handle write operation errors that are once determined to be normal, the operating system (OS) and fault handling software must be completely rewritten, which limits the application of disk cache. be done.

第2の方式では、書込みデータをキヤツシユメ
モリに書き込むとともにデイスク装置にも書き、
デイスク装置への書込み動作が終了した時点で書
込み動作終了信号を上位装置に戻す方法である。
この方法によれば障害処理はデイスクキヤツシユ
メモリのない場合と同様にできる半面、書込み時
間はデイスクキヤツシユメモリのないときと変ら
ず、デイスクキヤツシユメモリの効果が半減す
る。
In the second method, the write data is written to the cache memory and also to the disk device.
This is a method in which a write operation completion signal is returned to the host device when the write operation to the disk device is completed.
According to this method, failure handling can be performed in the same way as without the disk cache memory, but the writing time remains the same as without the disk cache memory, and the effectiveness of the disk cache memory is halved.

本発明の目的は上述の欠点を除去しデイスクに
対する中央処理システムの障害処理ソフトウエア
を変更することなく、デイスク装置に対するみか
け上の書込み時間を短縮することのできるデイス
クキヤツシユ書込み制御方式を提供することにあ
る。
SUMMARY OF THE INVENTION An object of the present invention is to provide a disk cache write control method that eliminates the above-mentioned drawbacks and can shorten the apparent write time to a disk device without changing the fault handling software of the central processing system for the disk. There is a particular thing.

本発明の装置は、デイスクに記録されたデータ
と同じデータの一部を記憶するキヤツシユメモリ
を備え上位装置から与えられる前記デイスクに対
する書込みデータを上記キヤツシユメモリに書込
んだ時点で書込み終了信号を前記上位装置に通知
し、前記キヤツシユメモリに書込まれたデータを
前記デイスクには書込まないように制御すること
により構成されている。
The device of the present invention includes a cache memory that stores part of the same data as the data recorded on the disk, and sends a write end signal when the write data for the disk given from the host device is written into the cache memory. This is configured by notifying the higher-level device of the data written in the cache memory so as not to write the data written in the cache memory to the disk.

次に本発明について図面を参照して詳細に説明
する。本発明の適用される第1図の情報処理シス
テムはチヤネルを含むCPU3000、デイスク
装置2000およびデイスク制御装置を含むデイ
スクキヤツシユ装置1000から構成されてい
る。なお、デイスクキヤツシユ装置1000はチ
ヤネルやデイスク制御装置と必らずしも独立して
いる必要はなく、これらの装置に組込むことも可
能である。デイスクキヤツシユ装置1000はデ
イスクキヤツシユ制御装置400およびキヤツシ
ユメモリ500を有しており、キヤツシユメモリ
500にはデイスク装置2000からのデータの
一部が格納されている。デイスクキヤツシユ制御
装置400はCPU3000から与えられるデイ
スク装置2000内のデータの読出し書込みその
他の指令を解読し、アクセスされたデータがキヤ
ツシユメモリ500にある場合にはキヤツシユメ
モリ500にアクセスし、アクセスされたデータ
がキヤツシユメモリ500にない場合にはデイス
ク装置2000に対してアクセスを行いまた必要
に応じてキヤツシユメモリ500の更新を行う。
Next, the present invention will be explained in detail with reference to the drawings. The information processing system shown in FIG. 1 to which the present invention is applied is comprised of a CPU 3000 including a channel, a disk device 2000, and a disk cache device 1000 including a disk control device. Note that the disk cache device 1000 does not necessarily have to be independent of the channel or disk control device, and can be incorporated into these devices. The disk cache device 1000 has a disk cache control device 400 and a cache memory 500, and the cache memory 500 stores part of the data from the disk device 2000. The disk cache control device 400 decodes commands for reading and writing data in the disk device 2000 given from the CPU 3000, and if the accessed data is in the cache memory 500, accesses the cache memory 500 and performs the access. If the stored data is not in the cache memory 500, the disk device 2000 is accessed and the cache memory 500 is updated as necessary.

第2図は本発明の一実施例を示す図である。第
2図において、デイスクキヤツシユ装置1000
は、信号線410を介してCPU3000と制御
情報を受渡し信号線420を介してデイスク装置
と制御情報を受渡すデイスクキヤツシユ制御装置
400と、CPU3000からアクセスされるデ
イスクデータのアドレスが格納されるアドレスレ
ジスタ100と、使用済みフアイルの上限アドレ
スが格納される上限アドレスレジスタ200と、
デイスクのデータブロツクを入れるデータ部、デ
ータブロツクのデイスク上のアドレスを入れるア
ドレス部、データブロツクに有効なデータが入つ
ているときに論理“1”になるVビツト部および
データブロツクが一時フアイルモードで使用され
ているときに論理“1”になるWビツト部からな
るキヤツシユメモリ500と、レジスタ100お
よび200の内容と信号線710で選択されたキ
ヤツシユメモリブロツクのアドレス部、Vビツト
およびWビツトとを入力としアクセスされたデイ
スクブロツクがキヤツシユメモリに入つているか
否かの判定、キヤツシユの空きブロツクの選択お
よび使用済みブロツクの選択等を行うためにデイ
スクキヤツシユ制御装置400により使用される
比較器700と、CPU側、デイスク側およびキ
ヤツシユメモリのデータ部に接続されるデータバ
ス550,560および570とから構成されて
いる。
FIG. 2 is a diagram showing an embodiment of the present invention. In FIG. 2, a disk cache device 1000
is a disk cache control device 400 that exchanges control information with the CPU 3000 via a signal line 410 and exchanges control information with a disk device via a signal line 420, and an address where the address of disk data accessed from the CPU 3000 is stored. a register 100, an upper limit address register 200 in which the upper limit address of a used file is stored;
The data section contains the data block of the disk, the address section contains the address of the data block on the disk, the V bit section becomes logic "1" when the data block contains valid data, and the data block is in temporary file mode. The cache memory 500 consists of a W bit section that becomes logic "1" when in use, the contents of registers 100 and 200, the address section of the cache memory block selected by the signal line 710, the V bit and the W bit. A comparison used by the disk cache controller 400 to determine whether the accessed disk block is in the cache memory, to select an empty block in the cache, to select a used block, etc. 700, and data buses 550, 560, and 570 connected to the CPU side, the disk side, and the data section of the cache memory.

デイスクフアイルは大きく分けると永久フアイ
ルと一時フアイルとに分類できる。永久フアイル
はデイスク媒体にデータの記録されていることが
必須であるが、一時フアイルは短期間デイスク媒
体にデータの格納エリアが割り付けられるフアイ
ルで、使い終るとその割付けられたデイスクエリ
アも解放される。また、一時フアイルはその性質
上データがデイスクに書かれることは必須でな
い。本発明では、この2種類のフアイルに対し、
異なる制御方式を採用するのが一つの特徴であ
る。すなわち、アクセスされるデータが一時フア
イルか永久フアイルかを区別して制御を行うため
に制御装置400の中にモードレジスタ401が
設けられている。一時フアイルか永久フアイルか
の情報はデイスクに対する入出力指令やチヤネル
プログラムの中で指定してもよいし、これとは別
の制御指令により指定してもよい。
Disk files can be broadly classified into permanent files and temporary files. Permanent files must have data recorded on a disk medium, but temporary files are files in which a data storage area is allocated on a disk medium for a short period of time, and when the file is finished being used, the allocated disk area is released. . Furthermore, due to the nature of temporary files, it is not essential that the data be written to the disk. In the present invention, for these two types of files,
One feature is that different control methods are adopted. That is, a mode register 401 is provided in the control device 400 in order to distinguish and control whether the data to be accessed is a temporary file or a permanent file. Information as to whether the file is a temporary file or a permanent file may be specified in an input/output command to a disk or a channel program, or may be specified by a separate control command.

また、予め一時フアイルモードで使用するフア
イルのデイスク上のアドレス範囲を登録しておき
このアドレス範囲に含まれているデータは一時フ
アイルモードであると判定してもよい。制御装置
400はこれらの手段で判定したモードを読書指
令実行ごとにモードレジスタ401にセツトし、
このモードに応じて制御を行う。すなわち、永久
フアイルモード時には第1のモード情報が、ま
た、一時フアイルモード時には第2のモード情報
がそれぞれレジスタ401にセツトされる。
Alternatively, an address range on the disk for files used in the temporary file mode may be registered in advance, and data included in this address range may be determined to be in the temporary file mode. The control device 400 sets the mode determined by these means in the mode register 401 each time a reading command is executed, and
Control is performed according to this mode. That is, first mode information is set in the register 401 in the permanent file mode, and second mode information is set in the register 401 in the temporary file mode.

一時フアイルで使用されているキヤツシユブロ
ツクは後述するようにCPUから解放指令が与え
られるまでキヤツシユメモリに保存されるためキ
ヤツシユメモリが一時フアイルモードのブロツク
で占有される可能性がある。そこで、これを防ぐ
ため、制御装置400の中に、一時フアイルモー
ドで使用されているキヤツシユブロツク(Wビツ
トが“1”のブロツク)の数を計数するWブロツ
クカウンタ402と、予めこの上限値を入れてお
くためのWブロツク上限レジスタ403が設けら
れており、上限値の範囲内で一時フアイルブロツ
クの割当が行われる。
Cache blocks used in temporary files are stored in cache memory until a release command is given from the CPU, as will be described later, so there is a possibility that the cache memory will be occupied by blocks in temporary file mode. In order to prevent this, the control device 400 includes a W block counter 402 that counts the number of cache blocks (blocks whose W bit is "1") that are used in the temporary file mode, and a A W block upper limit register 403 is provided for storing the W block, and temporary file blocks are allocated within the range of the upper limit value.

次に第2図を参照して本発明のデイスクキヤツ
シユ装置の動作を説明する。
Next, the operation of the disk cache device of the present invention will be explained with reference to FIG.

以下説明を簡単にするためデイスク上のデータ
はセクタと呼ばれる固定長のレコードで記録され
ており、データアドレスはボリユーム番号とボリ
ユーム内セクタ番号で表わされるものとし、また
1回のアクセスで1セクタのみ読み書きされるも
のとする。
To simplify the explanation below, it is assumed that data on the disk is recorded in fixed-length records called sectors, that the data address is represented by a volume number and a sector number within the volume, and that only one sector is recorded in one access. It shall be read and written.

なお、キヤツシユメモリ500の1ブロツクは
セクタの2n倍の大きさと仮定する。まず、CPU
よりデイスクに対して永久フアイルモードの読出
し指令が出されたときについて説明する。デイス
クキヤツシユ制御装置400はCPUから与えら
れたデータアドレスをアドレスレジスタ100に
格納する。データアドレスは装置番号101、ブ
ロツク番号102およびブロツク内セクタ番号1
04に分解され、制御装置400は比較器700
により、レジスタ100のブロツクアドレス10
1と102とキヤツシユメモリのブロツクのアド
レス部を1ブロツクずつ比較する。ブロツク選択
線710はキヤツシユメモリの最初のブロツクか
ら始め、比較結果が一致するまで1ブロツクずつ
進めて行く。もし比較が一致すれば(この場合、
そのVビツトは必ず論理“1”であることが保証
されている)そのキヤツシユメモリブロツクのデ
ータ部にアクセスされたブロツクが格納されてい
ることを示し、そのデータ部の中からセクタアド
レス104の内容で指定されるセクタをバス55
0および560を介してCPUに送り、入出力動
作終了信号を信号線410を介してCPUに伝え
る。
It is assumed that one block of the cache memory 500 is 2 n times the size of a sector. First, the CPU
A case in which a permanent file mode read command is issued to the disk will now be described. The disk cache control device 400 stores the data address given from the CPU in the address register 100. The data address is device number 101, block number 102, and sector number 1 within the block.
04, the control device 400 has a comparator 700
Therefore, block address 10 of register 100
1 and 102 are compared block by block. Block selection line 710 starts with the first block in cache memory and advances one block at a time until the comparison results in a match. If the comparison matches (in this case,
(The V bit is always guaranteed to be logic "1") Indicates that the accessed block is stored in the data section of the cache memory block, and the accessed block is stored at sector address 104 from within the data section. The sector specified by the contents is transferred to bus 55.
0 and 560 to the CPU, and an input/output operation completion signal is transmitted to the CPU via the signal line 410.

もし比較の一致するものがないときは、デイス
ク装置に対しレジスタ100のブロツクアドレス
101,102のブロツクを読み出す指令を信号
線420を介して伝え、データバス570を介し
て読み出したそのブロツクをキヤツシユメモリ5
00の予め選択されたブロツクに転送しアドレス
部を新らしいアドレス101,102に書換えV
ビツトを1にする。また同時に指定されたセクタ
をデータ部からCPUに送る。これに先立ちキヤ
ツシユメモリの置換ブロツクの選択を行う必要が
あるが、このために制御装置400は比較器70
0を使いVビツトもWビツトも論理“0”である
ブロツクを探し見つかればそれを置換ブロツクと
する。もしこのようなブロツクが見つからないと
きは、Wビツトが論理“0”であるブロツクの中
から参照頻度の低い適当なブロツクを選択する。
通常この選択では、候補ブロツクの中、最後にア
クセスされた時点が最も古いもの(LRU)、また
は最も昔に参照されたもの(FIFO)などが選択
される。ここで重要なことは、Wビツトが論理
“1”であるブロツクは置換の対象とならないこ
とであり、後述するように、これにより一時フア
イルモード使われているブロツクはそのフアイル
が使い終るまでキヤツシユメモリに保存される。
また、Vビツトは、この置換ブロツクの選択を行
なうときのみ参照される。
If there is no match in the comparison, a command to read the block at block addresses 101 and 102 of the register 100 is sent to the disk device via the signal line 420, and the read block is transferred to the cache via the data bus 570. memory 5
Transfer to the preselected block of 00 and rewrite the address part to new addresses 101 and 102 V
Set the bit to 1. At the same time, the specified sector is sent from the data section to the CPU. Prior to this, it is necessary to select a replacement block in the cache memory.
0 is used to find a block in which both the V bit and the W bit are logic "0", and if found, that block is used as the replacement block. If such a block is not found, an appropriate block with low reference frequency is selected from among the blocks whose W bit is logic "0".
Typically, this selection involves selecting one of the candidate blocks that was least recently accessed (LRU) or most recently referenced (FIFO). What is important here is that blocks whose W bit is logic "1" are not eligible for replacement, and as explained later, this means that blocks using temporary file mode will remain in storage until the file is used. Saved in Tsushiyu memory.
Further, the V bit is referenced only when selecting this replacement block.

次に永久フアイルモードの書込指令の場合に
は、書込セクタデータはバス560および570
を介してデイスク装置に書き込まれる。また読出
し指令のときと同様に書込みデータのセクタアド
レスがアドレスレジスタ100に格納され、比較
器700を介して、このセクタを含むブロツクが
キヤツシユ上にあるか否かが判定され、もしキヤ
ツシユ上にある場合(この場合、そのブロツクの
対応するVビツトは必ず論理“1”であることが
保証されている)には、このキヤツシユメモリブ
ロツクに対してもセクタデータがバス560およ
び550を介して書き込まれる。
Next, in the case of a permanent file mode write command, the write sector data is transferred to buses 560 and 570.
is written to the disk device via. Similarly to the read command, the sector address of the write data is stored in the address register 100, and it is determined via the comparator 700 whether or not the block containing this sector is on the cache. (in which case the corresponding V bit of that block is guaranteed to be a logic “1”), sector data is also written to this cache memory block via buses 560 and 550. It will be done.

CPUに対する入出力動作終了信号はキヤツシ
ユメモリとデイスク装置との両者に書込みが完了
した時点に信号線410を介して伝えられる。
An input/output operation end signal to the CPU is transmitted via the signal line 410 when writing to both the cache memory and the disk device is completed.

また、キヤツシユメモリ500上に、書込みセ
クタが存在しないときは、データはデイスク装置
に書き込まれるのみで、キヤツシユメモリ500
の更新は行われない。
Furthermore, when there is no write sector on the cache memory 500, the data is only written to the disk device, and the data is not written to the cache memory 500.
will not be updated.

このようにして、永久フアイルの場合は、デイ
スクキヤツシユにより書込時間は短縮されないが
デイスク上に常にデータが記憶されており、デイ
スクへの書込み障害が起きたときにはその時点で
CPUが認識でき、従つて必要な障害処理をデイ
スクキヤツシユがないときと同様に行うことがで
きる。
In this way, in the case of permanent files, disk cache does not shorten the write time, but the data is always stored on the disk, and when a write failure occurs, the data is
The CPU is recognized, and therefore the necessary fault handling can be performed in the same way as if there were no disk cache.

次に書込み指令が一時フアイルモードで出力さ
れた場合には、上述と同様にセクタアドレスがア
ドレスレジスタ100に格納されて、キヤツシユ
メモリ500にアクセスされたブロツクがあるか
否かが判定され、もしキヤツシユメモリ500上
にアクセスされたブロツクが存在すれば(この場
合、そのブロツクの対応するVビツトは必ず論理
“1”であることが保証されている)、そのキヤツ
シユメモリ500のブロツクにセクタをバス56
0および550を介して書込む。このとき、永久
フアイルモードと異なりキヤツシユメモリ500
への書込終了時点で入出力動作終了信号がCPU
に伝えられ、デイスク装置に対する書込み動作は
行われない。
Next, when a write command is output in temporary file mode, the sector address is stored in the address register 100 in the same way as described above, and it is determined whether or not there is an accessed block in the cache memory 500. If there is an accessed block on the cache memory 500 (in this case, the corresponding V bit of that block is guaranteed to be logic "1"), the sector is stored in the block of the cache memory 500. bus 56
Writes through 0 and 550. At this time, unlike permanent file mode, the cache memory is 500
At the end of writing to the CPU, the input/output operation end signal is sent to the CPU.
The write operation to the disk device is not performed.

もし、アドレスされたブロツクがキヤツシユメ
モリ500上に存在しない場合、制御装置400
は、まず、Wブロツクカウンタ402がWブロツ
クレジスタ403にセツトされている上限値を越
えていないか調べる。もし越えていなければ、比
較器700を用いて、Wビツトが論理“0”のブ
ロツク中から適当なブロツクを一つ選択する。そ
れとともに選択されたブロツクのWビツトを論理
“1”にセツトしてWブロツクカウンタ402に
値“1”を加え、アドレス部にレジスタ100の
ブロツクアドレス101および102を格納し、
データ部にバス560および550を介してデー
タを書込むとともにそのVビツトを論理“1”に
セツトする。この書込みの終了時点で入出力動作
終了信号がCPUに伝えられ、デイスク装置に対
する書込み動作は行われない。
If the addressed block does not exist on cache memory 500, controller 400
First, it is checked whether the W block counter 402 exceeds the upper limit value set in the W block register 403. If not, the comparator 700 is used to select an appropriate block from among the blocks whose W bit is logic "0". At the same time, the W bit of the selected block is set to logic "1", the value "1" is added to the W block counter 402, and the block addresses 101 and 102 of the register 100 are stored in the address field.
Data is written to the data section via buses 560 and 550 and its V bit is set to logic "1". At the end of this write, an input/output operation end signal is transmitted to the CPU, and no write operation is performed on the disk device.

もし、Wブロツクカウンタ402の値が上限値
403を越えていればキヤツシユブロツクの割当
は行われず、書込みデータはバス560および5
70を介してデイスクにのみ書込まれ、デイスク
への書込終了時点で入出力動作終了信号がCPU
へ戻される。
If the value of the W block counter 402 exceeds the upper limit value 403, no cache block is allocated and the write data is transferred to the buses 560 and 5.
It is written only to the disk via the
be returned to.

次に一時フアイルモードで読出し指令が出力さ
れた場合には、アドレスされたセクタがキヤツシ
ユメモリ500にあれば(この場合、その対応す
るVビツトは必ず論理“1”であることが保証さ
れている)永久フアイルモードと同様キヤツシユ
ブロツクから必要なセクタが読出されてCPUに
与えられて入出力動作の終了となる。
Next, when a read command is output in temporary file mode, if the addressed sector is in the cache memory 500 (in this case, the corresponding V bit is guaranteed to be logic "1"). As in permanent file mode, the necessary sectors are read from the cache block and given to the CPU, completing the input/output operation.

もしアドレスされたセクタがキヤツシユメモリ
上にないときには制御装置400はデイスクから
そのセクタを読出しバス570および560を介
してCPUへ送出する。このとき、永久フアイル
モードと異なり、キヤツシユメモリの更新は行わ
れない。
If the addressed sector is not on cache memory, controller 400 reads the sector from the disk and sends it to the CPU via buses 570 and 560. At this time, unlike the permanent file mode, the cache memory is not updated.

一時フアイルは先にデイスクへの書込みがあ
り、そのあとで読出し動作が行われる。そこで、
上記の制御方式により、データの書込み時点でブ
ロツクがキヤツシユメモリに割つけられて行き、
キヤツシユメモリに割つけられなかつたブロツク
のみデイスクに書かれ、この割つけはフアイル使
用期間中、固定されていることになる。
Temporary files are first written to the disk, and then read from them. Therefore,
With the above control method, blocks are allocated to cache memory at the time of data writing, and
Only blocks that have not been allocated to cache memory are written to disk, and this allocation remains fixed for the duration of the file's use.

次にフアイルの使用の終了時点で、キヤツシユ
メモリに割りつけられたブロツクを解放する手段
について説明する。
Next, a method for releasing blocks allocated to the cache memory at the end of file use will be explained.

ある一時フアイルの使用が終了すると、CPU
はその一時フアイルが使用していたデイスクアド
レスの領域を指定して制御装置400にキヤツシ
ユメモリ解放指令を出力する。制御装置400は
この指令を受けて指定されたブロツクアドレスの
下限および上限をそれぞれアドレスレジスタ10
0および上限アドレスレジスタ200にセツト
し、比較器700を使用して、キヤツシユメモリ
500のブロツクのうちアドレスがレジスタ10
0および200で指定された範囲にあるものを一
つずつ探し出し、該当するブロツクのVビツトお
よびWビツトを論理“0”にし、Wブロツクカウ
ンタ402から値“1”を減算する。すべてのキ
ヤツシユブロツクについてこの動作を繰返すと、
指定された一時フアイルで使われていたキヤツシ
ユブロツクはすべて解放され、次に与えられる新
たな割当て要求に対して使用可能となる。
When you finish using a temporary file, the CPU
specifies the disk address area used by the temporary file and outputs a cache memory release command to the control device 400. Upon receiving this command, the control device 400 sets the lower limit and upper limit of the specified block address in the address register 10, respectively.
0 and upper limit address register 200, and uses comparator 700 to determine which block in cache memory 500 has the address in register 10.
0 and 200 are found one by one, the V bit and W bit of the corresponding block are set to logic "0", and the value "1" is subtracted from the W block counter 402. If you repeat this operation for all cache blocks,
All cache blocks used by the specified temporary file are freed and become available for the next new allocation request.

本発明に用いる一時フアイルモードの特徴は、
キヤツシユメモリに割りつけられたブロツクはキ
ヤツシユメモリのみに書かれることであり、これ
により入出力動作終了信号がCPUに戻されたあ
とでデイスクに対しても書込みを行う方式に比べ
て本発明においては制御が簡単になり、デイスク
エラー等が発生してデイスクへ書けなくなつたと
きの、CPUへのエラーの事後通知の問題がない。
The characteristics of the temporary file mode used in this invention are:
Blocks allocated to cache memory are written only to cache memory, which makes this invention more advantageous than a method in which data is also written to disk after the input/output operation end signal is returned to the CPU. The control becomes simpler and there is no problem of notifying the CPU of the error when a disk error occurs and it becomes impossible to write to the disk.

もし、キヤツシユメモリの故障等でキヤツシユ
メモリへの書込みができなければ、入出力動作終
了信号を受け取つた時点でCPUに通知されるの
で、デイスクキヤツシユがないときと同様にエラ
ー処理を行えばよく、永久フアイルモードと同様
障害処理ソフトウエアも変更する必要がない。
If it is not possible to write to the cache memory due to a failure of the cache memory, etc., the CPU will be notified as soon as the I/O operation end signal is received, so it will handle the error in the same way as when there is no disk cache. Just like in permanent file mode, there is no need to change the fault handling software.

以上の説明では、キヤツシユメモリとデイスク
データのマツピングはフルアソシアテイブ(デイ
スクデータブロツクをキヤツシユメモリのどのブ
ロツクにも割つけることができる方法)を仮定し
たが、デイスクデータブロツクおよびキヤツシユ
メモリブロツクをセツトと呼ばれる単位にグルー
プ化し、同じセツト内でマツピングを行う方法
(セツトアソシアテイブ)としてもよい。
In the above explanation, we assumed that the mapping between cache memory and disk data is fully associative (a method in which a disk data block can be assigned to any block in cache memory). It is also possible to group blocks into units called sets and perform mapping within the same set (set associative).

なお、CPUの主メモリをアクセスできるプロ
グラム制御の入出力処理装置をCPUとは別に設
け、チヤネルプログラムの準備、入出力命令の実
行等の入出力処理を従来のCPUに代わつてこの
処理装置に行わせる機能分担システム構成方式が
知られている。このようなシステムでは、前記実
施例の各種レジスタや制御情報を入出力処理装置
のローカルメモリまたはCPUの主メモリに格納
し、デイスクキヤツシユ制御装置400の各種制
御を入出力処理装置に行わせることができる。
In addition, a program-controlled input/output processing device that can access the main memory of the CPU is installed separately from the CPU, and input/output processing such as preparing channel programs and executing input/output instructions is performed by this processing device instead of the conventional CPU. There are known functional sharing system configuration methods. In such a system, the various registers and control information of the above embodiments are stored in the local memory of the input/output processing device or the main memory of the CPU, and the various controls of the disk cache control device 400 are made to be performed by the input/output processing device. Can be done.

本発明には、一時フアイルのデータのうちキヤ
ツシユメモリに書かれた部分はデイスク上には記
録しないようにすることにより、キヤツシユの制
御が簡単になり、障害処理ソフトウエアを変更す
ることなく、デイスクに対する書込時間を短縮で
きるという効果がある。
The present invention simplifies cache control by not recording the portion of temporary file data written to the cache memory on the disk, and eliminates the need to change failure handling software. This has the effect of shortening the writing time to the disk.

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

第1図は本発明の適用される情報処理システム
を示す図および第2図は本発明の一実施例を示す
図である。 第1図および第2図において、400……デイ
スクキヤツシユ制御装置、500……キヤツシユ
メモリ、100……アドレスレジスタ、200…
…上限アドレスレジスタ、700……比較器、5
50,560,570……データ・バス、300
0……中央処理装置、2000……デイスク装
置。
FIG. 1 is a diagram showing an information processing system to which the present invention is applied, and FIG. 2 is a diagram showing an embodiment of the present invention. 1 and 2, 400... disk cache control device, 500... cache memory, 100... address register, 200...
... Upper limit address register, 700 ... Comparator, 5
50,560,570...data bus, 300
0...Central processing unit, 2000...Disk device.

Claims (1)

【特許請求の範囲】 1 デイスクに記録されたデータの一部の写しを
記憶するキヤツシユメモリと、外部から与えられ
る第1または第2のモード情報を記憶するモード
情報記憶手段とを備え、 前記モード情報記憶手段に前記第1のモード情
報が記憶されている場合には少なくとも前記デイ
スクに上位装置からの書込みデータを書き込んだ
あと該上位装置に書込み終了信号を通知し、 前記モード情報記憶手段に前記第2のモード情
報が記憶されている場合には前記キヤツシユメモ
リに前記上位装置からの書込みデータを書き込ん
だあと前記上位装置に前記書込み終了信号を通知
するとともに前記デイスクには書き込まないこと
を特徴とするデイスクキヤツシユ書込み制御方
式。
[Scope of Claims] 1. A storage device comprising: a cache memory for storing a copy of a part of data recorded on a disk; and mode information storage means for storing first or second mode information given from the outside; If the first mode information is stored in the mode information storage means, at least after writing the write data from the host device to the disk, the host device is notified of a write end signal, and the mode information storage means is If the second mode information is stored, after writing the write data from the host device into the cache memory, the host device is notified of the write end signal and is instructed not to write to the disk. Features a disk cache write control method.
JP6544379A 1979-05-25 1979-05-25 Disc cash write-in control system Granted JPS55157053A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6544379A JPS55157053A (en) 1979-05-25 1979-05-25 Disc cash write-in control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6544379A JPS55157053A (en) 1979-05-25 1979-05-25 Disc cash write-in control system

Publications (2)

Publication Number Publication Date
JPS55157053A JPS55157053A (en) 1980-12-06
JPH0115903B2 true JPH0115903B2 (en) 1989-03-22

Family

ID=13287274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6544379A Granted JPS55157053A (en) 1979-05-25 1979-05-25 Disc cash write-in control system

Country Status (1)

Country Link
JP (1) JPS55157053A (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2826857B2 (en) * 1989-12-13 1998-11-18 株式会社日立製作所 Cache control method and control device
JP3409859B2 (en) 1991-01-31 2003-05-26 株式会社日立製作所 Control method of control device
US6874101B2 (en) 1991-01-31 2005-03-29 Hitachi, Ltd. Storage unit subsystem
JP2913917B2 (en) * 1991-08-20 1999-06-28 株式会社日立製作所 Storage device and storage device system
JP3641872B2 (en) 1996-04-08 2005-04-27 株式会社日立製作所 Storage system
US8326899B2 (en) 2005-11-09 2012-12-04 Ca, Inc. Method and system for improving write performance in a supplemental directory
US8458176B2 (en) 2005-11-09 2013-06-04 Ca, Inc. Method and system for providing a directory overlay
US8321486B2 (en) 2005-11-09 2012-11-27 Ca, Inc. Method and system for configuring a supplemental directory
JP4563314B2 (en) * 2005-12-14 2010-10-13 富士通株式会社 Storage system control device, storage system control program, and storage system control method
US10359972B2 (en) * 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5543685A (en) * 1978-09-22 1980-03-27 Fujitsu Ltd High-speed writing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5543685A (en) * 1978-09-22 1980-03-27 Fujitsu Ltd High-speed writing system

Also Published As

Publication number Publication date
JPS55157053A (en) 1980-12-06

Similar Documents

Publication Publication Date Title
JP2635023B2 (en) Label writing method for file data
US5765201A (en) Changing page size in storage media of computer system
EP0077453A2 (en) Storage subsystems with arrangements for limiting data occupancy in caches thereof
JPS5876957A (en) Memory hierarchy control
JPS6238731B2 (en)
JPS5821353B2 (en) Channel-to-memory writing device
JPS5823376A (en) Memory system
KR20100132244A (en) Memory system and method of managing memory system
US6336164B1 (en) Method and system for preventing deadlock in a log structured array
JPH0312339B2 (en)
US5293622A (en) Computer system with input/output cache
JPH0115903B2 (en)
DE102005051265B4 (en) Method and system for accessing data in a computer
US6209057B1 (en) Storage device having data buffer
US11366614B2 (en) Storage system
JPS6331809B2 (en)
JP3827112B2 (en) Medium storing computer system and specific main memory reference update program
JP2502406B2 (en) Storage control system and data processing device
JPS59231665A (en) Disk controller
JPS61112260A (en) Swapping controller for multi-hierarchy memory system
JPH05250263A (en) Virtual processor system and nonvolatile storage system
JPH0156411B2 (en)
JPH09114598A (en) Disk cache device
JPS59111558A (en) Disk cache device
JPS61235960A (en) Method for controlling cache memory