JPH10301847A - Data storage device - Google Patents

Data storage device

Info

Publication number
JPH10301847A
JPH10301847A JP9113191A JP11319197A JPH10301847A JP H10301847 A JPH10301847 A JP H10301847A JP 9113191 A JP9113191 A JP 9113191A JP 11319197 A JP11319197 A JP 11319197A JP H10301847 A JPH10301847 A JP H10301847A
Authority
JP
Japan
Prior art keywords
access
segment
data
access type
function
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
JP9113191A
Other languages
Japanese (ja)
Inventor
Kenichi Ono
賢一 大野
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
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP9113191A priority Critical patent/JPH10301847A/en
Publication of JPH10301847A publication Critical patent/JPH10301847A/en
Pending legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To assign necessary segment in accordance with access from a host device without futilely using any cache memory. SOLUTION: This storage device is provided with a storage medium 6 which stores data transmitted from the host device, cache memory 8 arranged side by side with the storage medium 6 which stores data written or data to be read by the host device as cache data with segment length, and controlling part 2 which stores the data in the cache memory 8 in response to the access of the writing or reading of the data to the storage medium 6 of the host device. Also, the controlling part 2 is provided with a segment assigning means 4 which assigns the segment length of the cache memory with the segment length preliminarily decided for each classification of access based on the classification of access from the host device.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、データ記憶装置に
係り、とくに、コンピュータで利用するデータを記憶す
るデータ記憶装置に関する。データ記憶装置は、磁気デ
ィスク装置、光磁気ディスク装置等の書換可能な直接ア
クセス記憶装置をいい、さらに、光ディスク装置など書
換不可の直接アクセス装置を一部に含む。すなわち、デ
ータ記憶装置の記憶媒体は、磁気ディスク、光磁気ディ
スク、光ディスク等であり、この場合、キャッシュメモ
リに半導体メモリを用いると好適である。また、PCカ
ードやCPUに併設されるRAMなどの半導体メモリに
も応用される。さらに、磁気ディスク装置を複数用いた
ディスクアレイシステムで用いることもできる。
The present invention relates to a data storage device, and more particularly to a data storage device for storing data used by a computer. The data storage device refers to a rewritable direct access storage device such as a magnetic disk device and a magneto-optical disk device, and further includes a part of a non-rewritable direct access device such as an optical disk device. That is, the storage medium of the data storage device is a magnetic disk, a magneto-optical disk, an optical disk, or the like. In this case, it is preferable to use a semiconductor memory as the cache memory. Further, the present invention is applied to a semiconductor memory such as a PC card and a RAM attached to a CPU. Furthermore, it can be used in a disk array system using a plurality of magnetic disk devices.

【0002】[0002]

【従来の技術】従来より、磁気ディスク装置などのデー
タ記憶装置では、書き込みや読み出しを高速化するた
め、キャッシュメモリを用いている。これは、磁気ディ
スクよりもアクセスが高速な媒体をキャッシュメモリと
して用い、このキャッシュメモリにデータが格納されて
いる場合にはこのキャッシュメモリからデータを読み出
すことでアクセスを高速化するものである。
2. Description of the Related Art Conventionally, a data storage device such as a magnetic disk device uses a cache memory to speed up writing and reading. This is to use a medium that has a higher access speed than a magnetic disk as a cache memory, and when data is stored in the cache memory, read out the data from the cache memory to speed up the access.

【0003】たとえば、特開平4−180140号公報
には、アクセスブロック長平均値によるセグメント容量
の決定手段が記載されている。この公報の手段は、アク
セスブロック長平均値を尺度としてセグメント容量を決
定している。つまり、順次アクセスに焦点を絞り、アク
セスブロック長平均値の何倍かをセグメント容量に割当
てれば、それだけキャッシュヒット率が上がるというね
らいである。
For example, Japanese Patent Laying-Open No. 4-180140 discloses means for determining a segment capacity based on an average value of an access block length. The means in this publication determines the segment capacity using the average value of the access block length as a measure. In other words, the focus is on sequential access, and the cache hit rate is increased by assigning several times the average value of the access block length to the segment capacity.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、このよ
うな上述した従来のセグメント容量の決定手段では、順
次アクセス以外のアクセス方法で上位装置が動作する
と、キャッシュメモリの容量を無駄に使用するセグメン
ト決定方法になってしまう、という不都合があった。具
体的には、従来のキャッシュセグメント数の変更方法
は、クライアント数か頻繁に変わるサーバや、ネットワ
ーク上での使用に対して、キャッシュの有効活用がなさ
れていない。
However, in the above-described conventional means for determining the segment capacity, when the higher-level device operates by an access method other than the sequential access, the segment determining method wastefully uses the capacity of the cache memory. Had the disadvantage of becoming Specifically, in the conventional method of changing the number of cache segments, the cache is not effectively used for a server where the number of clients changes frequently or for use on a network.

【0005】例えば、リアクセスというアクセス方法
は、同じ領域に何度もリードライトを行う動作であり、
この場合、セグメント長はアクセスブロック長しか必要
ないため、それ以上のキャッシュメモリは無駄となる。
[0005] For example, an access method called reaccess is an operation of performing read / write to the same area many times.
In this case, since the segment length requires only the access block length, a cache memory larger than that is wasted.

【0006】さらに、先読み、掃き出し動作を行わない
環境でのリードライトの場合、一回のコマンド内で読み
書きの処理を完結しなければならないので、そのコマン
ドのアクセスブロック長以上のキャッシュメモリは無駄
となる。
Furthermore, in the case of read / write in an environment in which read-ahead and sweep-out operations are not performed, read / write processing must be completed within one command, so that a cache memory longer than the access block length of the command is wasted. Become.

【0007】[0007]

【発明の目的】本発明は、係る従来例の有する不都合を
改善し、特に、無駄にキャッシュメモリを用いることな
く上位装置からのアクセスに応じて必要なセグメントへ
割当てることのできるデータ記録装置を提供すること
を、その目的とする。
An object of the present invention is to improve the disadvantages of the prior art, and in particular to provide a data recording device which can be allocated to a necessary segment in response to an access from a host device without uselessly using a cache memory. To do so.

【0008】[0008]

【課題を解決するための手段】そこで、本発明では、上
位装置から送信されるデータを記憶する記憶媒体と、こ
の記憶媒体に併設され上位装置によって書き込まれたデ
ータ又は読み出されるデータを所定のセグメント長のキ
ャッシュデータとして記憶するキャッシュメモリと、上
位装置の記憶媒体に対するデータの書き込み又は読み出
しのアクセスに応じて当該データをキャッシュメモリに
格納する制御部とを備えている。しかも、制御部が、上
位装置からのアクセスの種別に基づいて当該アクセスの
種別毎に予め定められたセグメント長でキャッシュメモ
リのセグメント長を割当てるセグメント割当て手段を備
えた、という構成を採っている。これにより前述した目
的を達成しようとするものである。本発明では、セグメ
ント割当て手段は、上位装置からのアクセスの種別に基
づいて、当該アクセスの種別毎に予め定められたセグメ
ント長で、キャッシュメモリのセグメント長を割当て
る。このため、リアクセスや連続領域へのアクセスや、
1回だけのアクセスなど、そのアクセスの種別(属性)
に基づいて、各アクセスに応じたキャッシュメモリのセ
グメント長を割当てる。このため、キャッシュメモリの
容量を無駄にすることなく、効率の良いキャッシュを実
現する。
Therefore, according to the present invention, there is provided a storage medium for storing data transmitted from a higher-level device, and data written or read by the higher-level device which is provided alongside the storage medium and which is stored in a predetermined segment. A cache memory that stores the cache data as long cache data; and a control unit that stores the data in the cache memory in response to data write or read access to the storage medium of the host device. In addition, the control unit is provided with a segment allocating means for allocating the segment length of the cache memory with a predetermined segment length for each type of access based on the type of access from the host device. This aims to achieve the above-mentioned object. In the present invention, the segment allocating means allocates the segment length of the cache memory based on the type of access from the higher-level device, using a segment length predetermined for each type of access. For this reason, re-access, access to a continuous area,
Type of access (attribute), such as one-time access
, A segment length of the cache memory corresponding to each access is allocated. Thus, an efficient cache is realized without wasting the capacity of the cache memory.

【0009】また、本発明では、制御部が、上位装置か
らのアクセスの属性を順次記憶するキャッシュ制御テー
ブルと、このキャッシュ制御テーブルの内容の変化に基
づいてアクセスの属性に応じてキャッシュメモリのセグ
メント長を割当てるテーブル利用セグメント割当て手段
とを備えた、という構成を採ることができる。上位装置
からのアクセスの属性を順次キャッシュ制御テーブルに
格納し、このキャッシュ制御テーブルの変化に応じて、
キャッシュメモリのセグメント構成を変化させる。この
ため、上位装置の構成の変化や、上位装置での使用アプ
リケーションの変化などに逐次適切に対応したキャッシ
ュを自動的に実現する。
Further, in the present invention, the control unit includes: a cache control table for sequentially storing attributes of accesses from the host device; and a cache memory segment in accordance with the access attributes based on a change in the contents of the cache control table. And a table use segment allocating means for allocating a length. The attributes of the access from the host device are sequentially stored in the cache control table, and according to the change in the cache control table,
Change the segment configuration of the cache memory. For this reason, the cache automatically responding to a change in the configuration of the higher-level device or a change in the application used in the higher-level device is automatically realized.

【0010】さらに、本発明では、制御部が、上位装置
からのアクセスの種別に基づいて記憶媒体にアクセスし
ている上位装置の数を予測する上位装置数予測手段と、
この上位装置数予測手段によって予測された上位装置毎
にキャッシュメモリのセグメント長を割当てる上位装置
別セグメント割当て手段とを備えた、という構成を採る
ことができる。上位装置数予測手段は、上位装置からの
アクセスの種別に応じて、現在記憶媒体にアクセスして
いる上位装置の数を予測する。そして、この上位装置数
(仮想上位装置数)に基づいて、各仮想上位装置毎にキ
ャッシュメモリを割当てる。すると、ネットワークに接
続されている場合であっても、各上位装置に対して均等
にキャッシュの効果を分配する。
Further, in the present invention, the control unit predicts the number of higher-level devices accessing the storage medium based on the type of access from the higher-level device,
It is possible to adopt a configuration in which a high-level device-specific segment allocating unit that allocates the segment length of the cache memory to each high-level device predicted by the high-level device number prediction unit is provided. The higher-level device number prediction means predicts the number of higher-level devices currently accessing the storage medium according to the type of access from the higher-level device. Then, a cache memory is allocated to each virtual host device based on the number of host devices (the number of virtual host devices). Then, even when connected to a network, the effect of the cache is evenly distributed to each higher-level device.

【0011】[0011]

【発明の実施の形態】次に、本発明の実施の形態を図面
を参照して説明する。図1は本発明によるデータ記憶装
置の構成を示すブロック図である。図1に示すように、
データ記憶装置は、上位装置(ホスト)から送信される
データを記憶する記憶媒体6と、この記憶媒体6に併設
され上位装置によって書き込まれたデータ又は読み出さ
れるデータを所定のセグメント長のキャッシュデータと
して記憶するキャッシュメモリ8と、上位装置の記憶媒
体6に対するデータの書き込み又は読み出しのアクセス
に応じて当該データをキャッシュメモリ8に格納する制
御部2とを備えている。しかも、制御部2は、上位装置
からのアクセスの種別に基づいて当該アクセスの種別毎
に予め定められたセグメント長でキャッシュメモリのセ
グメント長を割当てるセグメント割当て手段4を備えて
いる。
Next, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a data storage device according to the present invention. As shown in FIG.
The data storage device includes a storage medium 6 for storing data transmitted from a higher-level device (host), and data written or read by the higher-level device provided alongside the storage medium 6 as cache data having a predetermined segment length. The cache memory 8 stores the data, and the control unit 2 stores the data in the cache memory 8 in response to data write or read access to the storage medium 6 of the host device. In addition, the control unit 2 includes a segment allocating unit 4 for allocating a segment length of the cache memory with a predetermined segment length for each type of access based on the type of access from the host device.

【0012】セグメント割り当て手段4が、アクセスの
種別毎に個別にキャッシュのセグメント長を定めるた
め、キャッシュメモリを無駄に用いることなくヒット率
をより高めることが可能となり、このため、上位装置か
らのアクセスがより高速に行われる。
Since the segment allocating means 4 individually determines the segment length of the cache for each type of access, it is possible to further increase the hit rate without wasteful use of the cache memory. Is done faster.

【0013】図2はセグメント割り当て手段4の詳細構
成を示すブロック図である。ある実施形態では、セグメ
ント割当て手段4は、上位装置のアクセス対象となる記
憶媒体6のアドレス情報と当該アクセスされるデータの
データ長とに基づいてアクセスの種別を分類するアクセ
ス種別分類機能10と、このアクセス種別分類機能10
によって分類されたアクセス種別毎にキャッシュメモリ
8の全容量と当該アクセスされたデータのデータ長とか
ら定まるセグメント長を記憶したセグメント長条件テー
ブル24とを備える。
FIG. 2 is a block diagram showing a detailed configuration of the segment allocating means 4. In one embodiment, the segment allocating unit 4 includes an access type classification function 10 for classifying an access type based on address information of the storage medium 6 to be accessed by the higher-level device and the data length of the accessed data; This access type classification function 10
And a segment length condition table 24 storing a segment length determined from the total capacity of the cache memory 8 and the data length of the accessed data for each access type classified according to.

【0014】アクセス種別分類機能10は、上位装置か
らのアクセスの種別(属性)を判定する。図3は種別テ
ーブルの一例を示す説明図である。図3に示す例では、
アクセス種別分類機能10は、データの読み出しを行う
アクセス(read系属性)を、Only属性、Area属性、Reac
cess属性、Read sequential属性、Read large属性とに
分類する。Only(オンリー)属性は1回だけの読み出し
アクセス(リードアクセス)であり、Area(エリア)属
性は近傍領域へのリードアクセスであり、Reaccess(リ
アクセス)属性は同一領域へのアクセスであり、Read s
equential(リード・シーケンシャル)属性は連続領域
へのリードアクセスであり、Read large(リード・ラー
ジ)属性はある一定の値よりも大きいデータを読み出す
リード・アクセスである。
The access type classification function 10 determines the type (attribute) of access from a higher-level device. FIG. 3 is an explanatory diagram showing an example of the type table. In the example shown in FIG.
The access type classification function 10 assigns an access for reading data (read attribute) to an Only attribute, an Area attribute, a Reac
cess attribute, Read sequential attribute, and Read large attribute. The Only (only) attribute is read access only once (read access), the Area (area) attribute is read access to a nearby area, the Reaccess (reaccess) attribute is access to the same area, and s
The equential (read sequential) attribute is a read access to a continuous area, and the Read large (read large) attribute is a read access to read data larger than a certain value.

【0015】さらに、アクセス種別分類機能10は、デ
ータの書き込みを行うアクセス(Write系属性)を、Wri
te属性、Write sequential属性、Write large属性とに
分類する。Write(ライト)属性は、書き込みアクセス
であり、Write sequential(ライト・シーケンシャル)
属性、は連続領域へのライトアクセスであり、Writelar
ge(ライト・ラージ)属性はある一定の値より大きいラ
イトアクセスである。その他、キャッシュ機能をオフに
した場合のFree属性を持つ。
Further, the access type classification function 10 defines an access (Write attribute) for writing data as Wri.
Classify into te attribute, Write sequential attribute and Write large attribute. Write attribute is write access, and Write sequential
Attribute is write access to the continuous area,
The ge (write large) attribute is a write access larger than a certain value. In addition, it has a Free attribute when the cache function is turned off.

【0016】アクセス種別分類機能10は、種々のアク
セスを例えば図3に示す9種類の属性で分類するため、
上位装置のアクセス対象となる記憶媒体6のアドレス情
報と、当該アクセスされるデータのデータ長とに基づい
てアクセスの種別を分類している。この実施形態では、
アドレス情報に基づいて、それが同一領域へのアクセス
なのか、連続領域へのアクセスなのか、または近傍領域
へのアクセスなのかを判定し、その判定結果に基づいて
アクセスの種別を定める。
The access type classification function 10 classifies various accesses by, for example, nine types of attributes shown in FIG.
The type of access is classified based on the address information of the storage medium 6 to be accessed by the host device and the data length of the accessed data. In this embodiment,
Based on the address information, it is determined whether the access is to the same area, to the continuous area, or to an adjacent area, and the type of access is determined based on the determination result.

【0017】さらに、アクセス種別分類機能10は、上
位装置からの複数回のアクセスの経過を監視すると共に
当該複数回のアクセスの経過情報に基づいて当該アクセ
ス種別を分類する機能を備える。これにより、例えばOn
ly(オンリー)属性(1回だけの読み出しアクセス)が
連続した領域に対して複数回生じたときに、この複数回
のアクセスの経過情報に基づいてRead sequential属性
であると判定する。
Further, the access type classification function 10 has a function of monitoring the progress of a plurality of accesses from a host device and classifying the access type based on the progress information of the plurality of accesses. This allows, for example, On
When the ly (only) attribute (only one read access) occurs multiple times in a continuous area, it is determined to be the Read sequential attribute based on the progress information of the multiple accesses.

【0018】具体的には、アクセスが生じると、属性判
断のために、次の項目のチェック処理を行う。まず、ア
ドレス情報に基づいて、連続領域チェックおよび逆向き
連続領域チェックを行うことで、シーケンシャル(また
は、逆向きのシーケンシャル)であるか否かを判定す
る。さらに、アドレス情報により同領域へのアクセスか
否かを確認し、同領域へのアクセスの場合にはreaccess
属性であると判定する。また、アドレス情報に基づい
て、スキップアクセスチェックおよび逆向きスキップア
クセスチェックを行うことで、前後へ少し離れた領域へ
のアクセスであるか否かを判定し、さらに、オーバーラ
ップアクセスチェックを行うことで、一部が重なってい
る領域へのアクセスであるか否かを判定する。これらの
場合、Area属性となる。また、レングスチェックを行う
ことで、アクセス対象のデータ長を判定する。このデー
タ長が予め定められたセグメント最大値以上である場合
には、Read large属性、または、Write large属性とな
る。
Specifically, when an access occurs, the following items are checked for attribute determination. First, a continuous area check and a reverse continuous area check are performed based on the address information to determine whether or not the data is sequential (or reverse sequential). Further, it is confirmed whether or not the access is to the same area based on the address information.
It is determined that the attribute. In addition, by performing a skip access check and a reverse skip access check based on the address information, it is determined whether or not the access is to an area slightly away from the front and back, and further, by performing an overlap access check. , It is determined whether or not the access is to an area where a part is overlapped. In these cases, the attribute is Area. The length of the data to be accessed is determined by performing a length check. If the data length is equal to or greater than the predetermined segment maximum value, the attribute becomes the Read large attribute or the Write large attribute.

【0019】このようにアクセス種別分類機能10が上
位装置からのアクセスの属性を判定すると、セグメント
割り当て手段4は、セグメント長条件テーブルの指定に
従って当該アクセスに応じたキャッシュメモリ8のセグ
メントを割り当てる。図4はセグメント長条件テーブル
の一例を示す説明図である。図4に示すように、各属性
毎に割り当てるべきセグメント長がキャッシュメモリの
容量との関係や予め定められたマージンによって定めら
れている。
When the access type classification function 10 determines the attribute of the access from the host device, the segment allocating means 4 allocates the segment of the cache memory 8 according to the access according to the designation of the segment length condition table. FIG. 4 is an explanatory diagram showing an example of the segment length condition table. As shown in FIG. 4, the segment length to be assigned for each attribute is determined by the relationship with the cache memory capacity and a predetermined margin.

【0020】例えば、Reaccess属性は同一領域へのアク
セスなので、コマンドレングス(データ長)以上の領域
は不要であるため、length(レングス)値とする。すな
わち、アクセス種別分類機能10は、複数回のアクセス
の経過情報に基づいて同一アドレスへ複数回アクセスが
あった場合に当該アクセス種別をリアクセスであると判
定する機能を備え、この場合、セグメント長条件テーブ
ルは、アクセス種別がリアクセスである場合には当該ア
クセスのデータ長をセグメント長とする条件情報を備え
る。これにより、リアクセスの場合にそのレングス値以
上のセグメントを割り当てることで無駄なキャッシュメ
モリの使用を防止する。
For example, since the Reaccess attribute is for accessing the same area, an area longer than the command length (data length) is not required, so the length is set to a length (length) value. That is, the access type classification function 10 has a function of determining that the access type is a reaccess when the same address is accessed a plurality of times based on the progress information of the plurality of accesses. When the access type is reaccess, the condition table includes condition information in which the data length of the access is set as the segment length. This prevents useless use of the cache memory by allocating segments equal to or greater than the length value in the case of reaccess.

【0021】また、Read/Write sequential属性は先読
み/掃き出しの部分を考えると無限に欲しいため、キャ
ッシュメモリ8での1セグメントが確保できる最大値ま
でとする。Read/Write large属性は、コマンドレングス
のセグメント長が望ましいがキャッシュ容量がそれに伴
わないため、1セグメントが確保できる最大値とする。
図4に示す例では、LRU(Least Recently Used,使
用の新しさ)の値が「0」であり最新のアクセスである
場合にのみこのRead/Write large属性へセグメントを割
り当てることとしている。Write属性は、ホストからの
掃き出しスピードを考慮すると無限に欲しいため、最大
値とする。Free属性は、コマンドレングス以上は不要で
あるため、ength(レングス)値とする。Only属性とAre
a属性については、これから変化する属性なのでマージ
ンが必要となる。
Since the Read / Write sequential attribute is infinitely desired considering the pre-reading / sweep-out portion, the attribute is set to the maximum value that can secure one segment in the cache memory 8. The Read / Write large attribute is set to the maximum value for which one segment can be secured because the command length is preferably the segment length but the cache capacity does not accompany it.
In the example shown in FIG. 4, a segment is assigned to this Read / Write large attribute only when the value of LRU (Least Recently Used, newness of use) is "0" and the access is the latest. The Write attribute is set to the maximum value because it is infinitely desirable considering the speed of sweeping from the host. Since the Free attribute is not required for the command length or more, it is set to the length (length) value. Only attribute and Are
For the a attribute, a margin is required because it is an attribute that will change in the future.

【0022】このように図4に示すセグメント長条件テ
ーブルに基づいて各アクセスに対してセグメント長を割
り当てると、アクセスの属性に応じて必要なデータ長の
キャッシュセグメントを割り当てることができ、このた
め、キャッシュメモリの容量を最大限有効に用いてホス
トからのアクセスを高速化することができる。
When the segment length is assigned to each access based on the segment length condition table shown in FIG. 4, a cache segment having a required data length can be assigned according to the attribute of the access. The access from the host can be speeded up by effectively using the capacity of the cache memory.

【0023】記憶装置へのアクセスは、仮想ホストのア
クセスが変化したり、仮想ホスト数が増減するなど次々
と変化する。そこで、セグメント構成をどのタイミング
で変えるかが問題となる。ここでも、属性で判断を行
い、種類と数を使用する。具体的には、セグメント割当
て手段4は、上位装置からの複数回のアクセスの経過に
基づいてアクセス種別が変化したときに当該アクセスに
応じたキャッシュメモリ8のセグメント長を変更するセ
グメント長変更機能を備える。このセグメント長変更機
能により、様々に変化する記憶装置へのアクセスに、素
早く対応することが可能である。ある実施形態では、こ
のセグメント長変更機能は、アクセス種別が予め定めら
れた回数連続したときのキャッシュメモリのセグメント
構成の変更条件を記憶した図5に示すセグメント構成変
更条件テーブルを備える。この図5に示す例では、属性
数の増減や、ある属性の最大アクセスレングスが変化し
たときに、再度図4に示すセグメント長条件テーブルに
基づいてセグメント構成を更新する。
Access to the storage device changes one after another, such as a change in the access of the virtual host or an increase or decrease in the number of virtual hosts. Therefore, it is important to determine when to change the segment configuration. Here, the judgment is made based on the attribute, and the type and the number are used. Specifically, the segment allocating means 4 has a segment length changing function for changing the segment length of the cache memory 8 according to the access type when the access type changes based on the progress of a plurality of accesses from the host device. Prepare. With this segment length changing function, it is possible to quickly respond to access to the storage device that changes in various ways. In one embodiment, the segment length change function includes a segment configuration change condition table shown in FIG. 5 that stores a change condition of the segment configuration of the cache memory when the access type is continued a predetermined number of times. In the example shown in FIG. 5, when the number of attributes increases or decreases or the maximum access length of a certain attribute changes, the segment configuration is updated again based on the segment length condition table shown in FIG.

【0024】図6は属性割当順番テーブルの一例を示す
説明図である。セグメント割当てを行うとき、割当て順
番に注意しなければならない。それは、大容量のキャッ
シュ領域を必要とするが一度だけでよいRead/Write lar
ge属性、後のコマンドまで考えてできるだけ容量か欲し
いRead/Write sequential属性などが存在するからであ
る。セグメント割当てを行うときは、これらの属性の特
徴を考慮して最適なセグメント構成にする必要がある。
FIG. 6 is an explanatory diagram showing an example of the attribute assignment order table. When making segment assignments, care must be taken in the order of assignment. It requires a large cache area, but only needs to be read / write once.
This is because there are a ge attribute, a Read / Write sequential attribute that requires as much capacity as possible in consideration of subsequent commands, and the like. When allocating segments, it is necessary to consider the characteristics of these attributes to make an optimal segment configuration.

【0025】割当て順番は、図6に示すように、まず最
初に、1コマンドでセグメント構成から消えてしまうこ
とが予測できるRead/Write large属性を割当てる。次
に、容量の決まっているReaccess,Write,Free,Only
属性を割当てる。最後に、無限の容量が欲しいRead/Wri
te sequential,Area属性を割当てる。
As shown in FIG. 6, first, a Read / Write large attribute that can be predicted to disappear from the segment configuration by one command is assigned. Next, Reaccess, Write, Free, Only with fixed capacity
Assign attributes. Finally, Read / Wri for unlimited capacity
Assign te sequential and Area attributes.

【0026】図7はデータ記憶装置が複数の上位装置に
接続された場合の例を示す説明図である。図7に示す例
では、制御部2は、キャッシュの制御を行うキャッシュ
制御部2Aと全体制御を行うCPUとを備えている。ま
た、記憶媒体6は、キャッシュメモリ8を介してバス5
4に接続されている。このバス54には、複数の上位装
置(ホストコンピュータ)51,52,53を備えてい
る。
FIG. 7 is an explanatory diagram showing an example where the data storage device is connected to a plurality of higher-level devices. In the example illustrated in FIG. 7, the control unit 2 includes a cache control unit 2A that controls a cache and a CPU that performs overall control. The storage medium 6 is connected to the bus 5 via the cache memory 8.
4 is connected. The bus 54 includes a plurality of higher-level devices (host computers) 51, 52, and 53.

【0027】データ記憶装置が複数の上位装置に接続さ
れた場合、セグメント割当て手段4は、図2に示すよう
に、アクセス種別分類機能によって分類されたアクセス
種別に基づいて記憶媒体にアクセスしている上位装置の
数を仮想上位装置数として予測する仮想上位装置予測機
能14と、この仮想上位装置予測機能14によって予測
された仮想上位装置ごとにセグメント長条件テーブルを
参照してキャッシュメモリのセグメントを割当てる上位
装置別セグメント割当て機能16とを備えている。この
ように、アクセスしている上位装置数を予測してキャッ
シュメモリの割当を行うため、各上位装置に対して均等
にキャッシュの効果を与えることができ、さらに、実際
のアクセス種別に基づいて上位装置数を予測するため、
接続されている上位装置数で均等にセグメントを割り当
てるよりも多い容量を各上位装置に割り当てることがで
き、このため、キャッシュメモリの容量を最大限有効に
用いることができる。
When the data storage device is connected to a plurality of higher-level devices, the segment allocating means 4 accesses the storage medium based on the access type classified by the access type classification function, as shown in FIG. A virtual host device prediction function 14 for predicting the number of host devices as the number of virtual host devices, and a segment of the cache memory is allocated to each virtual host device predicted by the virtual host device prediction function 14 with reference to the segment length condition table. And a higher-level device-specific segment allocation function 16. As described above, the cache memory is allocated by estimating the number of accessing higher-level devices, so that the effect of the cache can be equally provided to each higher-level device. To predict the number of devices,
More capacity can be allocated to each higher-level device than to allocate the segments evenly by the number of higher-level devices connected, and therefore, the capacity of the cache memory can be used as efficiently as possible.

【0028】この実施形態では、アクセス種別分類機能
10は、上位装置からの複数回のアクセスの経過を監視
すると共に当該複数回のアクセスの経過情報に基づいて
当該アクセス種別を分類する機能と、このアクセス種別
分類機能によって分類されたアクセス種別のアクセスが
最近使用されたか否か(LRU)を記録する機能とを備
えるとよい。この場合、上位装置別セグメント割当て機
能16が、アクセスが最近使用されたか否かの情報(L
RU)に基づいて最近使用されたアクセス種別にキャッ
シュメモリのセグメントを割当てる機能を備える。する
と、各上位装置からのアクセスの変化に応じて動的に最
適なセグメント割当を行うことができる。
In this embodiment, the access type classification function 10 monitors the progress of a plurality of accesses from a host device and classifies the access type based on the progress information of the plurality of accesses. A function of recording whether the access of the access type classified by the access type classification function has been used recently (LRU). In this case, the higher-level device-based segment allocation function 16 determines whether or not the access has been used recently (L
RU) to allocate a segment of the cache memory to a recently used access type. Then, optimal segment allocation can be dynamically performed according to a change in access from each higher-level device.

【0029】また、複数の上位装置が同一のデータにア
クセスする場合には、キャッシュメモリのセグメントを
共有することが可能となる。すなわち、セグメント割当
て手段4は、上位装置別セグメント割当て機能によって
割当てるセグメントのデータが一致する場合には当該セ
グメントを複数の仮想上位装置で共有させる共有セグメ
ント割当て機能を備える。これにより、キャッシュメモ
リに同一のデータを格納することなく、他のアクセスに
割り当てることができる。
When a plurality of higher-level devices access the same data, it is possible to share a segment of the cache memory. That is, the segment allocating means 4 has a shared segment allocating function for sharing the segment with a plurality of virtual higher-level devices when the data of the segments allocated by the higher-level device-specific segment allocating function match. Thus, the same data can be allocated to another access without storing the same data in the cache memory.

【0030】次に、図7に示す構成での動作を説明す
る。図7に示す例では、現在アクセスしているであろう
上位装置(仮想ホスト)を予測する。この仮想ホストの
数、アクセス方法により、キャッシュメモリ8のセグメ
ント分割を可変にする。たとえば、3つの上位装置がそ
れぞれシーケンシャルアクセスを行った場合、図8に示
すキャッシュ制御テーブル3内に、3つの仮想ホストが
発生する。そして、それを認識したキャッシュ制御部2
Aが、キャッシュメモリ8を3つの均等容量のセグメン
トに分けて、それぞれの仮想ホストに割当てる。
Next, the operation of the configuration shown in FIG. 7 will be described. In the example shown in FIG. 7, a higher-level device (virtual host) that will be currently accessed is predicted. The segmentation of the cache memory 8 is made variable depending on the number of virtual hosts and the access method. For example, when three higher-level devices perform sequential access, three virtual hosts are generated in the cache control table 3 shown in FIG. Then, the cache control unit 2 recognizing it.
A divides the cache memory 8 into three equal-capacity segments and assigns them to respective virtual hosts.

【0031】キャッシュ制御テーブル3内の仮想ホスト
を判断するための解析情報を候補という。候補の内容に
は、ある一定のアクセスであることを判断するためのア
クセスの履歴がある。これには、累積アクセスを示すア
クセスデータ、初回のアクセスを示すファーストアクセ
ス、前回のアクセスを示すバックアクセスか存在する。
このアクセスデータによって一定のアクセスと判断した
とき、その仮想ホストの属性を変化させる。ただし、ア
クセスと無関係に、レングスの大きさ、キャッシュON
/OFFで決定してしまう属性も存在する。
The analysis information for determining a virtual host in the cache control table 3 is called a candidate. The contents of the candidate include an access history for determining that the access is a certain access. This includes access data indicating cumulative access, first access indicating first access, and back access indicating previous access.
When it is determined that the access is constant based on the access data, the attribute of the virtual host is changed. However, regardless of access, size of length, cache ON
Some attributes are determined by / OFF.

【0032】図3に示す属性の種類での解析情報(キャ
ッシュ制御テーブル)を図8に示す。キャッシュ制御テ
ーブルは、各アクセス毎に、アクセス・データ項目と、
ファースト・アクセス項目と、バック・アクセス項目
と、属性(アクセス種別)項目と、属性変化カウント項
目と、LRUデータ項目と、使用頻度項目と、N項目と
を備えている。
FIG. 8 shows analysis information (cache control table) for the types of attributes shown in FIG. The cache control table contains an access data item for each access,
It has a first access item, a back access item, an attribute (access type) item, an attribute change count item, an LRU data item, a use frequency item, and N items.

【0033】アクセス・データ項目のLBA(Logical
Block Address,論理アブロックドレス)は、アクセス
開始アドレスを示し、レングスは、開始LBAからのブ
ロック数を示す。ファースト・アクセスはこの仮想ホス
トが最初にアクセスした内容を示す。バック・アクセス
は、当該仮想ホストの前回のアクセスの内容を示す。
The LBA of the access data item (Logical
Block Address, logical block address) indicates the access start address, and Length indicates the number of blocks from the start LBA. First access indicates the content accessed first by this virtual host. The back access indicates the content of the previous access of the virtual host.

【0034】属性項目は、アクセスの種別を示す。リー
ド系の属性として、only属性は変化前のリードアクセス
を示し、Areaa癖素は近傍領域へのリードアクセスを示
し、Reaccess属性は同一領域へのリードアクセスを示
し、Read sequential属性は連続領域へのライトアクセ
スを示し、Read large属性はある一定の値より大きいレ
ングスのリードアクセスを示す。ライト系の属性とし
て、Write属性は、変化前のライトアクセスを示し、Wri
te sequential属性は連続領域へのライトアクセスを示
し、Write large属性はある一定の値より大きいレング
スのライトアクセスを示す。Free属性は、キャッシュ・
オフのとき、または他の目的の場合に使用する。
The attribute item indicates the type of access. As read attributes, the only attribute indicates read access before the change, the Areaa custom indicates read access to the neighboring area, the Reaccess attribute indicates read access to the same area, and the Read sequential attribute indicates read access to the continuous area. A write access is indicated, and a Read large attribute indicates a read access having a length larger than a certain value. As a write attribute, a Write attribute indicates a write access before a change, and a Wri
The te sequential attribute indicates a write access to a continuous area, and the Write large attribute indicates a write access of a length larger than a certain value. Free attribute is cached
Use when off or for other purposes.

【0035】属性変化カウント項目は、アクセスの種別
(属性)が変化する規定数までのカウントである。ここ
では、Rea(リアクセス用カウンタ)と、Rseq(リード
・シーケンシャル用カウンタ)と、Wseq(ライト・シー
ケンシャル用カウンタ)とを備える。
The attribute change count item is a count up to a specified number at which the type of access (attribute) changes. Here, Rea (reaccess counter), Rseq (read sequential counter), and Wseq (write sequential counter) are provided.

【0036】LRU(Least Recently Used)データ項目
は、その数が小さいほど最近使用されている。キャッシ
ュ制御部2Aは、この数が一定の数になった場合、当該
アクセスのセグメント長の更新は行わない。使用頻度項
目は、数が小さいほど、頻繁に使用しているかまたは使
用していたことを示す。使用頻度は、次式により、LR
U=0となったときに算出する。
The smaller the number of LRU (Least Recently Used) data items, the more recently they are used. When this number becomes a certain number, the cache control unit 2A does not update the segment length of the access. The usage frequency item indicates that the smaller the number is, the more frequently or the user has used it. The frequency of use is LR according to the following equation:
It is calculated when U = 0.

【0037】 新使用頻度=(旧使用頻度+旧LRU)/2New usage frequency = (old usage frequency + old LRU) / 2

【0038】N(Nomination)項目は、候補情報有効ビ
ットである。
The N (Nomination) item is a candidate information valid bit.

【0039】セグメント割当てを行うとき、キャッシュ
制御テーブル内の全ての候補を使用したのでは効率が悪
い。それは、キャッシュ制御テーブル内には古い候補
(ゴミ候補)が含まれ、その候補の仮想ホストは、もう
アクセスしてこないことが予測できるからである。そこ
で、ゴミ候補を使用しないために、候補のLRUの小さ
い順に検索を行い、その互いのLRUの差が大きい部分
まで、又は、割当て最大セグメント数までを使用候補と
する。
When segment allocation is performed, it is inefficient to use all candidates in the cache control table. This is because an old candidate (garbage candidate) is included in the cache control table, and it can be predicted that the candidate virtual host will no longer access. Therefore, in order not to use the garbage candidates, the search is performed in ascending order of the candidate LRU, and up to a portion where the difference between the LRUs is large or up to the maximum number of allocated segments is set as a use candidate.

【0040】仮想ホストに対してセグメントを割り付け
る際に、決め手となるのは属性である。属性は、仮想ホ
ストのアクセス種を示したものなので、これにより仮想
ホストがどれくらいのキャッシュ容量を必要としている
か判断できる。図4に示したように、Reaccess属性は同
領域へのアクセスなので、コマンドレングス以上の領域
は不要。Read/Write sequential属性は先読み/掃き出
しの部分を考えると無限に欲しい。Read/Write large属
性は、コマンドレングス欲しいがキャッシュ容量がそれ
に伴わない。Write属性は、掃き出しスピードを考慮す
ると無限に欲しい。Free属性は、コマンドレングス以上
は不要、Only属性とArea属性については、これから変化
する属性なのでマージンが必要となる。
When allocating a segment to a virtual host, what is decisive is the attribute. Since the attribute indicates the access type of the virtual host, it is possible to determine how much cache capacity the virtual host requires. As shown in FIG. 4, since the Reaccess attribute accesses the same area, an area larger than the command length is unnecessary. I want the Read / Write sequential attribute to be infinite considering the pre-reading / sweep-out part. For the Read / Write large attribute, the command length is desired, but the cache capacity does not accompany it. I want the Write attribute to be infinite considering the sweeping speed. The Free attribute is unnecessary when the command length is longer than the command length, and the Only attribute and the Area attribute require a margin since they are attributes that will change from now.

【0041】複数の仮想ホストが1つのセグメントを使
用することを、ここでは、セグメント共有という。これ
は、一度しか使われないデータと予測できる属性に対し
て有効である。そうすることにより、キャッシュ領域を
有効活用できるほかに、セグメント割当ての実行回数を
減らすことができる。ただし、先読みデータの破壊、連
続掃き出し位置の破壊を起こさないために、アクセス種
が未確定の変化前属性に限定して行う。
The use of one segment by a plurality of virtual hosts is herein referred to as segment sharing. This is useful for data that is used only once and attributes that can be predicted. By doing so, the cache area can be effectively used, and the number of times of segment allocation execution can be reduced. However, in order to prevent the destruction of the pre-read data and the destruction of the continuous sweeping position, the access type is limited to the attribute before change whose indetermination is undetermined.

【0042】空きキャッシュセグメントに対しての先読
みデータを予測する機能を、先読み範囲予測という。先
読みデータは、記憶装置に将来発行されると予測する複
数リードコマンド分の範囲である。セグメントを割当て
た候補で先読み範囲予測が可能な属性は、Read sequent
ial属性とArea属性である。
The function of predicting prefetch data for an empty cache segment is called prefetch range prediction. The pre-read data is a range for a plurality of read commands predicted to be issued to the storage device in the future. Read sequent is the attribute for which the prefetch range can be predicted for the candidate to which the segment is assigned
The ial attribute and the Area attribute.

【0043】Read sequential属性は、連続な領域への
アクセスを予測する属性、Area属性は、近傍領域へのア
クセスを子測する属性なので、先読み範囲を予測でき
る。Read sequential属性は、アクセスしているコマン
ドLBAから後ろを全て先読み子測する。Area属性は、
他候補Area属性のaccess data, first accessから前方
近傍範囲、後方近傍範囲を計算して平均値を求める。そ
して、その平均値をアクセスしているコマンドLBAに
加えて、先読み範囲とする。ただし、キャッシュ制御テ
ーブル内のArea属性にアクセス中の候補しか存在しない
か、又は、純粋な前読み/後読みの場合は、アクセス中
候補の前方近傍範囲と後方近傍範囲のみで先読み範囲を
予測する。
The Read sequential attribute is an attribute for predicting access to a continuous area, and the Area attribute is an attribute for measuring access to a nearby area. Therefore, the read-ahead range can be predicted. The Read sequential attribute performs pre-reading measurement of all data after the accessed command LBA. Area attribute is
A front neighborhood range and a rear neighborhood range are calculated from the access data and first access of the other candidate Area attribute to obtain an average value. Then, the average value is used as a prefetch range in addition to the accessing command LBA. However, if there is only a candidate being accessed in the Area attribute in the cache control table, or in the case of pure pre-reading / post-reading, the pre-reading range is predicted only by the front neighboring range and the rear neighboring range of the accessing candidate. .

【0044】[0044]

【実施例1】次に、一定の条件下での実施例を説明す
る。本実施例1では、リードキャッシュ、ライトキャッ
シュともにオンとする。属性発生候補使用回数(属性変
化カウントの規定値)は、Read sequential属性、Write
sequential属性、Reaccess属性ともに3回とする。最
大指標頻度は7Fhであり、キャッシュメモリのアドレ
スはアドレス0から3FChブロックまでとする。Only
属性のマージンは20hブロック、Write属性カレント
容量を100hブロック、large属性発生開始ブロック
数を200hブロック、Area属性発生平均使用頻度を4
0hとする。さらに、使用最大候補LRUを0Fh、割
当最大セグメント数を16、1ブロックのバイト数を2
02hとする。
Embodiment 1 Next, an embodiment under certain conditions will be described. In the first embodiment, both the read cache and the write cache are turned on. The attribute occurrence candidate use count (the specified value of the attribute change count) is the Read sequential attribute, Write
Both the sequential attribute and the Reaccess attribute are set to three times. The maximum index frequency is 7Fh, and the address of the cache memory is from address 0 to 3FCh blocks. Only
Attribute margin is 20h block, Write attribute current capacity is 100h block, large attribute occurrence start block number is 200h block, Area attribute occurrence average use frequency is 4
0h. Further, the maximum use candidate LRU is 0Fh, the maximum number of allocated segments is 16, and the number of bytes of one block is 2
02h.

【0045】図9は本実施例1でのキャッシュ制御テー
ブルの一例を示す説明図である。各項目の役割は図8に
示したキャッシュ制御テーブルと同様である。図9に示
すキャッシュセグメント項目は、キャッシュ制御部2A
が割り当てたキャッシュセグメントの内容を示し、Cseg
はキャッシュセグメント番号、Bsegはバッファセグメン
ト番号、Adrはバッファセグメント相対アドレス、Block
はキャッシュセグメントのブロック数(セグメント長)
を示す。
FIG. 9 is an explanatory diagram showing an example of the cache control table in the first embodiment. The role of each item is the same as in the cache control table shown in FIG. The cache segment item shown in FIG.
Indicates the contents of the cache segment allocated by Cseg
Is the cache segment number, Bseg is the buffer segment number, Adr is the buffer segment relative address, Block
Is the number of blocks in the cache segment (segment length)
Is shown.

【0046】さらに、CS(Chache Segment)項目は、
キャッシュセグメントを保持している候補(仮想上位装
置またはアクセス)であることを示すビットであり、M
S(Modify Segment)はセグメント構成変更(モディフ
ァイ)時の使用候補を示すビットである。このMS項目
は、共有セグメントを含まない。
Further, the CS (Chache Segment) item is
A bit indicating that the candidate is a candidate (virtual host device or access) holding a cache segment.
S (Modify Segment) is a bit indicating a use candidate at the time of segment configuration change (modify). This MS entry does not include a shared segment.

【0047】図9はシーケンシャルリードの例を示す説
明図であり、まず、コマンド1のリードにより、Only属
性が発生する。このとき、コマンドのレングスが10h
なので、符号3aで示すように、20hのマージンを加
算した30hがセグメントの容量となる。
FIG. 9 is an explanatory diagram showing an example of the sequential read. First, when the command 1 is read, the Only attribute is generated. At this time, the command length is 10h
Therefore, as indicated by reference numeral 3a, 30h obtained by adding a margin of 20h is the capacity of the segment.

【0048】コマンド2のリードでは、属性判断チェッ
ク項目の連続領域チェックでシーケンシャルだと判断す
る。そこで、属性変化カウントのリードシーケンシャル
(Rseq)のカウントをインクリメントする。コマンド3
のリードでは、コマンド2と同じくシーケンシャルと判
断した後、属性変化カウントが候補使用回数3の条件に
なったので、インクリメントを中止して属性を変化させ
る(符号3b)。ここで、候補0はRead sequential属
性になる。
When the command 2 is read, it is determined that the command is sequential in the continuous area check of the attribute determination check item. Therefore, the read sequential (Rseq) count of the attribute change count is incremented. Command 3
In the read, the attribute change count becomes the condition of the candidate use number 3 after determining that the attribute is sequential as in the case of the command 2, so that the increment is stopped and the attribute is changed (reference numeral 3b). Here, candidate 0 has the Read sequential attribute.

【0049】そして、セグメント構成変更条件テーブル
のRead sequential属性数の増減の条件により、セグメ
ント構成を変更する(符号3c)。割当ては、図4に示
すセグメント長条件テーブルによると、残り全容量とな
る。
Then, the segment configuration is changed according to the condition for increasing or decreasing the number of Read sequential attributes in the segment configuration change condition table (reference numeral 3c). According to the segment length condition table shown in FIG. 4, the allocation is the remaining total capacity.

【0050】[0050]

【実施例2】ランダムリードの実施例を図10に示す。
まず、コマンド1のリードにより、Only属性が発生す
る。このとき、コマンドのレングスが10hなので、2
0hのマージンを加算した30hがセグメントの容量と
なる。
Embodiment 2 FIG. 10 shows an embodiment of random read.
First, when the command 1 is read, an Only attribute is generated. At this time, since the length of the command is 10h, 2
30h obtained by adding the margin of 0h is the capacity of the segment.

【0051】コマンド2のリードでは、属性判断チェッ
ク項目のどれにも一致しないので、新しい候補と判断す
る。そして、候補の属性が変化前属性のOnly属性であ
る。そこで、セグメント共有が可能なので、この候補は
コマンド1のセグメントを共有する(符号3d)。
When the command 2 is read, since it does not match any of the attribute determination check items, it is determined to be a new candidate. The attribute of the candidate is the Only attribute of the attribute before change. Therefore, since the segments can be shared, the candidate shares the segment of the command 1 (reference numeral 3d).

【0052】コマンド3のリードでは、同じくランダム
だと判断した後、レングスが20hなのでこの候補が4
0hのセグメントを作成する。そして、このセグメント
を候補0と候補1とが共有する(符号3e)。
In the read of the command 3, since the length is 20h after judging that the command is also random, the candidate is 4
Create a 0h segment. Then, this segment is shared by candidate 0 and candidate 1 (reference numeral 3e).

【0053】[0053]

【実施例3】いろいろなコマンドから近傍アクセスの実
施例を図11乃至図16に示す。この実施例3では、図
4に示すセグメント長条件テーブルに基づく容量計算
は、図15に示すフローチャートにより行われる。この
図15に示すフローチャートでは、図16に示す容量計
算配列を用いる。さらに、この実施例3では、アクセス
の種別を判定する属性検索処理を図17に示すフローチ
ャートを用いて行う。この図17に示すフローチャート
では、図18に示す検索配列を用いる。アクセスを調べ
るには、この図18に示す検索配列のチェック属性に対
してチェック項目が当てはまるかを調べることにより行
う。チェックが成功した場合、候補の属性はその項目の
変化可能属性へ変わる可能性がある。変化前属性(Onl
y,Write)に対するチェックが成功した場合、それぞれ
の候補が持つ属性変化カウントをインクリメントする。
そして、この属性変化カウントがあらかじめ決められた
値以上になると、インクリメント動作をやめて属性を変
化させる。
Third Embodiment FIGS. 11 to 16 show an embodiment in which various commands are used to access the neighborhood. In the third embodiment, the capacity calculation based on the segment length condition table shown in FIG. 4 is performed according to the flowchart shown in FIG. In the flowchart shown in FIG. 15, the capacity calculation array shown in FIG. 16 is used. Further, in the third embodiment, an attribute search process for determining the type of access is performed using the flowchart shown in FIG. In the flowchart shown in FIG. 17, the search sequence shown in FIG. 18 is used. Access is checked by checking whether a check item is applicable to the check attribute of the search sequence shown in FIG. If the check is successful, the attribute of the candidate may change to the mutable attribute of the item. Pre-change attribute (Onl
If the check for (y, Write) succeeds, the attribute change count of each candidate is incremented.
When the attribute change count becomes equal to or greater than a predetermined value, the increment operation is stopped and the attribute is changed.

【0054】Area属性の場合は、用意してある属性変化
項目にはないが、近傍アクセスが頻繁に行われた場合
に、Only属性の代わりとして発生する。この状態での初
回アクセスの候補は、Only属性ではなくArea属性とな
る。
In the case of the Area attribute, it does not exist in the prepared attribute change item, but occurs in place of the Only attribute when the neighborhood access is frequently performed. The candidates for the first access in this state have the Area attribute instead of the Only attribute.

【0055】図11に示すように、コマンド1のリード
により、Only属性が発生する。このとき、コマンドのレ
ングスが10hなので、20hのマージンを加算した3
0hがセグメントの容量となる。コマンド2のライトで
は、属性判断チェックをより具体的に表した図14に示
すフローチャートの該当候補検索から計算すると、ライ
トコマンドでの最後の条件の無条件一致の部分で条件が
成立して、Write属性と判断する。セグメント割当て
は、モディファイから候補0が30h、Write属性の容
量はカレント値(100h)となる(符号3f)。
As shown in FIG. 11, when the command 1 is read, an Only attribute is generated. At this time, since the length of the command is 10h, a margin of 20h is added to 3
0h is the capacity of the segment. In the write of the command 2, when the attribute determination check is calculated from the corresponding candidate search in the flowchart shown in FIG. 14 which shows the attribute determination check more specifically, the condition is satisfied in the unconditional match part of the last condition in the write command, and Judge as attribute. In the segment allocation, the candidate 0 is 30h from the modification, and the capacity of the Write attribute is the current value (100h) (reference numeral 3f).

【0056】図12乃至図13に示すコマンド3からコ
マンド7までのシーケンスで、Readsequential属性が2
つできる。このセグメント割当ては、モディファイの容
量計算配列から計算すると、まず、Write属性を割当
て、次に、2つあるRead sequential属性を割当てる。
それぞれのキャッシュ容量は残り全容量/2となる(符
号3g)。さらに、図13に示すコマンド8からコマン
ド12までのシーケンスで、Reaccess属性が発生する。
Reaccess属性のセグメント容量はアクセスレングスのみ
なので、1ブロックとなる(符号3h)。
In the sequence from command 3 to command 7 shown in FIGS. 12 and 13, the Readsequential attribute is 2
I can do it. When this segment allocation is calculated from the capacity calculation array of the modify, first, a Write attribute is allocated, and then two Read sequential attributes are allocated.
Each cache capacity is the remaining capacity / 2 (reference numeral 3g). Further, a Reaccess attribute is generated in the sequence from the command 8 to the command 12 shown in FIG.
Since the segment capacity of the Reaccess attribute is only the access length, it becomes one block (reference numeral 3h).

【0057】図14に示すコマンド13は、レングスが
1000hブロックであり、large属性発生開始ブロッ
ク数200hを越えているので、Read large属性とな
る。このとき、セグメント構成は、モディファイの容量
計算配列から計算すると、この候補4だけのセグメント
となる。ただし、large種は、LRU=0のとぎだけし
かセグメント割当てを行わないので、次のコマンド14
が発行されたときには、セグメントを割当てない(符号
3j)。
The command 13 shown in FIG. 14 has a read large attribute because the length is 1000 h blocks and the number of large attribute occurrence start blocks exceeds 200 h. At this time, the segment configuration is a segment including only the candidate 4 when calculated from the capacity calculation array of the modify. However, for the large type, segment allocation is performed only at the loop when LRU = 0, so the next command 14
Is issued, no segment is allocated (reference numeral 3j).

【0058】図15に示すコマンド14からコマンド1
6は、近傍アクセスである。このとき、全てのOnly属性
とArea属性を合わせた平均使用頻度がArea属性発生使用
頻度になったので、ここでの属性は、Only属性ではなく
Area属性とする(符号3k)。そして、図16に示すコ
マンド17からコマンド31までは、近傍アクセスが続
く。LRUが10となったため、候補0から4までのア
クセス(仮想上位装置)に対してはセグメントを割当を
行わない(符号3m)。もし、次のコマンド32が現在
存在する候補との該当候補検索で、条件が一致するよう
な候補がない場合、次のコマンド32では、前方近傍範
囲=8、後方近傍範囲=8を先読みするような先読み予
想を行う。
Command 1 to Command 1 shown in FIG.
Reference numeral 6 denotes a proximity access. At this time, since the average use frequency of all Only attributes and the Area attribute was the Area attribute occurrence use frequency, the attribute here is not the Only attribute.
The area attribute is set (reference numeral 3k). Then, near access from command 17 to command 31 shown in FIG. 16 continues. Since the LRU has become 10, no segment is allocated to the access from the candidates 0 to 4 (virtual host device) (reference numeral 3m). If there is no candidate that matches the condition in the candidate search for the next command 32 with the currently existing candidate, the next command 32 prefetches the front neighborhood range = 8 and the rear neighborhood range = 8. Make a pre-reading prediction.

【0059】次に、図17および図18を用いてセグメ
ント長の割当ておよびその変更の処理の流れを説明す
る。まず、図18に示す容量計算配列(容量配列)の項
目をその優先順位に従って順次ptrに入力する(S1
1)。このステップS11での属性検索ループでアクセ
スの属性が定まると、次に、予め定められた候補数の上
限値(nomimax)を順次検索し(S12)、さらに、そ
のアクセス属性が候補となるか否かを判定する(S1
3)。候補となる場合には、容量計算配列の計算方法に
従って容量の計算を行い(S14)、さらにこのセグメ
ント長の結果をチェックして(S15)、追加、共有、
不足に分岐する。追加する場合には、アドレスを計算し
て(S16)、tagセグメントの情報を計算する(S1
7)。共有する場合には、セグメント共有情報を格納す
る(S18)。追加と共有の場合には、次の候補の容量
計算処理を行う。一方、不足する場合には、容量不足ス
テータスとし(S19)未使用キャッシュ領域に当該情
報を格納する(S20)。
Next, the flow of the process of assigning and changing the segment length will be described with reference to FIG. 17 and FIG. First, the items of the capacity calculation array (capacity array) shown in FIG. 18 are sequentially input to the ptr according to their priorities (S1).
1). When the attribute of the access is determined in the attribute search loop in step S11, next, a predetermined upper limit value (nomimax) of the number of candidates is sequentially searched (S12), and whether or not the access attribute becomes a candidate is determined. (S1
3). If it is a candidate, the capacity is calculated in accordance with the calculation method of the capacity calculation array (S14), and the result of this segment length is checked (S15) to add, share,
Branch to shortage. When adding, the address is calculated (S16), and the information of the tag segment is calculated (S1).
7). When sharing, segment sharing information is stored (S18). In the case of addition and sharing, the capacity calculation processing of the next candidate is performed. On the other hand, if there is a shortage, a capacity shortage status is set (S19) and the information is stored in an unused cache area (S20).

【0060】図19はアクセス属性判定処理の一例を示
すフローチャートであり、図20はそのフローチャート
で用いる検索配列の一例を示す説明図である。まず、属
性の検索(S1)およびセグメント候補の特定ループ
(S2)を行う。セグメント候補となったものが検索中
の属性か否かを確認し(S3)検索中の属性である場合
に、該当アクセスか否かを確認する(S4)。該当アク
セスである場合には、候補情報を取り出す(S5)。
FIG. 19 is a flowchart showing an example of the access attribute determining process, and FIG. 20 is an explanatory diagram showing an example of a search sequence used in the flowchart. First, an attribute search (S1) and a segment candidate specific loop (S2) are performed. It is checked whether or not the candidate for the segment is the attribute under search (S3). If the attribute is under search, whether or not the access is applicable is checked (S4). If the access is applicable, candidate information is extracted (S5).

【0061】上述したように本実施形態によると、仮想
ホストに対する適切なセグメント容量の選択を行うた
め、キャッシュメモリ内の無駄な領域をなくすことがで
きる。これにより、メモリ使用効率を上げることによる
性能向上を可能とする。しかも、複数ホストを接続した
バス上の記憶装置といった環境で使用しても、キャッシ
ュによる性能向上効果を最大限に発揮することができ
る。
As described above, according to the present embodiment, since an appropriate segment capacity is selected for a virtual host, a useless area in the cache memory can be eliminated. As a result, the performance can be improved by increasing the memory use efficiency. Moreover, even when used in an environment such as a storage device on a bus connecting a plurality of hosts, the performance improvement effect of the cache can be maximized.

【0062】[0062]

【発明の効果】本発明は以上のように構成され機能する
ので、これによると、セグメント割当て手段が、上位装
置からのアクセスの種別に基づいて、当該アクセスの種
別毎に予め定められたセグメント長で、キャッシュメモ
リのセグメント長を割当てるため、リアクセスや連続領
域へのアクセスや、1回だけのアクセスなど、そのアク
セスの種別(属性)に基づいて、各アクセスに応じたキ
ャッシュメモリのセグメント長を割当てることができ、
キャッシュメモリの容量を無駄にすることなく、効率の
良いキャッシュを実現し、従って、上位装置からのアク
セスを高速にすることができる従来にない優れたデータ
記憶装置を提供することができる。
Since the present invention is constructed and functions as described above, according to this, the segment allocating means determines the segment length predetermined for each type of access based on the type of access from the higher-level device. In order to allocate the segment length of the cache memory, the segment length of the cache memory corresponding to each access is determined based on the type (attribute) of the access, such as reaccess, access to a continuous area, and one-time access. Can be assigned,
An efficient cache can be realized without wasting the capacity of the cache memory, so that an excellent data storage device which can be accessed at a high speed from a host device can be provided.

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

【図1】本実施形態の概略構成を示すブロック図であ
る。
FIG. 1 is a block diagram showing a schematic configuration of the present embodiment.

【図2】図1に示したセグメント割当て手段の詳細構成
を示すブロック図である。
FIG. 2 is a block diagram illustrating a detailed configuration of a segment allocating unit illustrated in FIG. 1;

【図3】属性種別テーブルの一例を示す説明図である。FIG. 3 is an explanatory diagram illustrating an example of an attribute type table.

【図4】セグメント長条件テーブルの一例を示す説明図
である。
FIG. 4 is an explanatory diagram showing an example of a segment length condition table.

【図5】セグメント構成変更条件テーブルの一例を示す
ブロック図である。
FIG. 5 is a block diagram illustrating an example of a segment configuration change condition table.

【図6】属性割当順番テーブルの一例を示す説明図であ
る。
FIG. 6 is an explanatory diagram showing an example of an attribute assignment order table.

【図7】他の実施形態の構成を示すブロック図である。FIG. 7 is a block diagram showing a configuration of another embodiment.

【図8】図7に示したキャッシュ制御テーブルの詳細を
示す説明図である。
FIG. 8 is an explanatory diagram showing details of a cache control table shown in FIG. 7;

【図9】実施例1のキャッシュ制御テーブルの一例を示
す説明図である。
FIG. 9 is an explanatory diagram illustrating an example of a cache control table according to the first embodiment;

【図10】実施例2のキャッシュ制御テーブルの一例を
示す説明図である。
FIG. 10 is an explanatory diagram illustrating an example of a cache control table according to the second embodiment;

【図11】実施例3のコマンド1からコマンド2まで実
行されたキャッシュ制御テーブルの一例を示す説明図で
ある。
FIG. 11 is an explanatory diagram illustrating an example of a cache control table executed from command 1 to command 2 according to the third embodiment.

【図12】実施例3のコマンド3からコマンド4まで実
行されたキャッシュ制御テーブルの一例を示す説明図で
ある。
FIG. 12 is an explanatory diagram illustrating an example of a cache control table executed from command 3 to command 4 according to the third embodiment.

【図13】実施例3のコマンド5からコマンド12まで
実行されたキャッシュ制御テーブルの一例を示す説明図
である。
FIG. 13 is an explanatory diagram illustrating an example of a cache control table executed from command 5 to command 12 according to the third embodiment.

【図14】実施例3のコマンド13が実行されたキャッ
シュ制御テーブルの一例を示す説明図である。
FIG. 14 is an explanatory diagram illustrating an example of a cache control table in which a command 13 according to the third embodiment has been executed.

【図15】実施例3のコマンド14が実行されたキャッ
シュ制御テーブルの一例を示す説明図である。
FIG. 15 is an explanatory diagram illustrating an example of a cache control table in which a command 14 according to the third embodiment has been executed.

【図16】実施例3のコマンド15からコマンド16ま
で実行されたキャッシュ制御テーブルの一例を示す説明
図である。
FIG. 16 is an explanatory diagram illustrating an example of a cache control table executed from a command 15 to a command 16 according to the third embodiment.

【図17】セグメントの割当ておよび変更を実行する処
理の流れを示すフローチャートである。
FIG. 17 is a flowchart showing a flow of processing for executing segment assignment and change.

【図18】図17に示したフローチャートで用いる容量
計算配列の一例を示す説明図である。
FIG. 18 is an explanatory diagram showing an example of a capacity calculation array used in the flowchart shown in FIG. 17;

【図19】アクセスの種別を判定する処理の流れを示す
フローチャートである。
FIG. 19 is a flowchart illustrating a flow of a process of determining an access type.

【図20】図19に示したフローチャートで用いる検索
配列の一例を示す説明図である。
FIG. 20 is an explanatory diagram showing an example of a search sequence used in the flowchart shown in FIG. 19;

【符号の説明】[Explanation of symbols]

2 制御部 2A キャッシュ制御部 2B CPU 3 キャッシュ制御テーブル 4 セグメント割当て手段 6 記憶媒体 8 キャッシュメモリ Reference Signs List 2 control unit 2A cache control unit 2B CPU 3 cache control table 4 segment allocating unit 6 storage medium 8 cache memory

Claims (13)

【特許請求の範囲】[Claims] 【請求項1】 上位装置から送信されるデータを記憶す
る記憶媒体と、この記憶媒体に併設され前記上位装置に
よって書き込まれたデータ又は読み出されるデータを所
定のセグメント長のキャッシュデータとして記憶するキ
ャッシュメモリと、前記上位装置の前記記憶媒体に対す
るデータの書き込み又は読み出しのアクセスに応じて当
該データを前記キャッシュメモリに格納する制御部とを
備えたデータ記憶装置において、 前記制御部が、前記上位装置からのアクセスの種別に基
づいて当該アクセスの種別毎に予め定められたセグメン
ト長で前記キャッシュメモリのセグメント長を割当てる
セグメント割当て手段を備えたことを特徴とするデータ
記憶装置。
1. A storage medium for storing data transmitted from a higher-level device, and a cache memory provided in the storage medium and storing data written or read by the higher-level device as cache data having a predetermined segment length. And a control unit that stores the data in the cache memory in response to write or read access of data to the storage medium of the higher-level device, wherein the control unit is configured to receive the data from the higher-level device. A data storage device comprising: a segment allocating unit that allocates a segment length of the cache memory with a segment length determined in advance for each type of access based on the type of access.
【請求項2】 前記セグメント割当て手段が、前記上位
装置のアクセス対象となる前記記憶媒体のアドレス情報
と当該アクセスされるデータのデータ長とに基づいてア
クセスの種別を分類するアクセス種別分類機能と、この
アクセス種別分類機能によって分類されたアクセス種別
毎に前記キャッシュメモリの全容量と当該アクセスされ
たデータのデータ長とから定まるセグメント長を記憶し
たセグメント長条件テーブルとを備えたことを特徴とす
る請求項1記載のデータ記憶装置。
2. An access type classification function for classifying an access type based on address information of the storage medium to be accessed by the higher-level device and a data length of the accessed data, A segment length condition table storing a segment length determined from a total capacity of the cache memory and a data length of the accessed data for each access type classified by the access type classification function. Item 2. The data storage device according to Item 1.
【請求項3】 前記アクセス種別分類機能が、前記上位
装置からの複数回のアクセスの経過を監視すると共に当
該複数回のアクセスの経過情報に基づいて当該アクセス
種別を分類する機能を備えたことを特徴とする請求項2
記載のデータ記憶装置。
3. The method according to claim 2, wherein the access type classification function has a function of monitoring the progress of a plurality of accesses from the host device and classifying the access type based on the progress information of the plurality of accesses. Claim 2
A data storage device as described.
【請求項4】 前記アクセス種別分類機能が、前記複数
回のアクセスの経過情報に基づいて同一アドレスへ複数
回アクセスがあった場合に当該アクセス種別をリアクセ
スであると判定する機能を備え、 前記セグメント長条件テーブルが、前記アクセス種別が
リアクセスである場合には当該アクセスのデータ長をセ
グメント長とする条件情報を備えたことを特徴とする請
求項3記載のデータ記憶装置。
4. The access type classification function has a function of determining that the access type is a reaccess when the same address is accessed a plurality of times based on the progress information of the plurality of accesses, 4. The data storage device according to claim 3, wherein the segment length condition table includes condition information for setting the data length of the access to the segment length when the access type is reaccess.
【請求項5】 前記セグメント割当て手段が、前記上位
装置からの複数回のアクセスの経過に基づいてアクセス
種別が変化したときに当該アクセスに応じた前記キャッ
シュメモリのセグメント長を変更するセグメント長変更
機能を備えたことを特徴とする請求項3記載のデータ記
憶装置。
5. A segment length changing function, wherein the segment allocating means changes a segment length of the cache memory according to an access type when the access type changes based on a plurality of accesses from the host device. The data storage device according to claim 3, further comprising:
【請求項6】 前記セグメント長変更機能が、前記アク
セス種別が予め定められた回数連続したときの前記キャ
ッシュメモリのセグメント構成の変更条件を記憶したセ
グメント構成変更条件テーブルを備えたことを特徴とす
る請求項5記載のデータ記憶装置。
6. The segment length change function includes a segment configuration change condition table storing a change condition of a segment configuration of the cache memory when the access type is continued for a predetermined number of times. The data storage device according to claim 5.
【請求項7】 前記セグメント割当て手段が、前記アク
セス種別分類機能によって分類されたアクセス種別に基
づいて前記記憶媒体にアクセスしている前記上位装置の
数を仮想上位装置数として予測する仮想上位装置予測機
能と、この仮想上位装置予測機能によって予測された前
記仮想上位装置ごとに前記セグメント長条件テーブルを
参照して前記キャッシュメモリのセグメントを割当てる
上位装置別セグメント割当て機能とを備えたことを特徴
とする請求項2記載のデータ記憶装置。
7. A virtual higher-level device prediction, wherein the segment allocating unit predicts the number of the higher-level devices accessing the storage medium as the number of virtual higher-level devices based on the access type classified by the access type classification function. And a higher-level device-based segment allocation function of allocating a segment of the cache memory with reference to the segment length condition table for each virtual higher-level device predicted by the virtual higher-level device prediction function. The data storage device according to claim 2.
【請求項8】 前記アクセス種別分類機能が、前記上位
装置からの複数回のアクセスの経過を監視すると共に当
該複数回のアクセスの経過情報に基づいて当該アクセス
種別を分類する機能と、このアクセス種別分類機能によ
って分類されたアクセス種別のアクセスが最近使用され
たか否かを記録する機能とを備え、 前記上位装置別セグメント割当て機能が、前記アクセス
が最近使用されたか否かの情報に基づいて最近使用され
たアクセス種別に前記キャッシュメモリのセグメントを
割当てる機能を備えたことを特徴とする請求項7記載の
データ記憶装置。
8. The access type classification function monitors the progress of a plurality of accesses from the host device and classifies the access type based on the progress information of the plurality of accesses. A function of recording whether or not the access of the access type classified by the classification function has been recently used; and the upper-level device-based segment allocation function has recently used the access based on information on whether or not the access has been recently used. 8. The data storage device according to claim 7, further comprising a function of allocating a segment of said cache memory to said access type.
【請求項9】 前記アクセス種別分類機能が、前記上位
装置からの複数回のアクセスの経過を監視すると共に当
該複数回のアクセスの経過情報に基づいて当該アクセス
種別を分類する機能と、このアクセス種別分類機能によ
って分類されたアクセス種別の使用頻度を記録する機能
とを備え、 前記上位装置別セグメント割当て機能が、前記アクセス
種別の使用頻度に基づいて使用頻度の高いアクセス種別
から使用頻度の低いアクセス種別の順に前記キャッシュ
メモリのセグメントを割当てる機能を備えたことを特徴
とする請求項7記載のデータ記憶装置。
9. The access type classification function monitors the progress of a plurality of accesses from the host device and classifies the access type based on the progress information of the plurality of accesses. A function of recording the frequency of use of the access type classified by the classification function, wherein the higher-level device-based segment allocation function is configured to change the access type from the most frequently used access type to the less frequently used access type based on the use frequency of the access type. 8. The data storage device according to claim 7, further comprising a function of allocating segments of said cache memory in the order of:
【請求項10】 前記セグメント割当て手段が、前記上
位装置別セグメント割当て機能によって割当てるセグメ
ントのデータが一致する場合には当該セグメントを前記
複数の仮想上位装置で共有させる共有セグメント割当て
機能を備えたことを特徴とする請求項7記載のデータ記
憶装置。
10. The apparatus according to claim 1, wherein said segment allocating means has a shared segment allocating function for sharing said segment with said plurality of virtual higher-level devices when the data of the segments allocated by said higher-level device-specific segment allocating function match. The data storage device according to claim 7, characterized in that:
【請求項11】 前記アクセス種別分類機能が、前記上
位装置からのアクセスのアドレスが連続又は近接してい
るときに当該アクセスを連続又は近接アクセス種別であ
ると判定する機能を備え、 前記セグメント割当て手段が、前記アクセス種別分類機
能によって連続又は近接アクセス種別と判定されたアク
セスに対して当該アクセスから先読み範囲を予測すると
共に当該先読み範囲を当該連続又は近接アクセス種別に
割当てる先読み範囲割当て機能を備えたことを特徴とす
る請求項2記載のデータ記憶装置。
11. The segment allocating means, wherein the access type classification function has a function of determining that the access is of a continuous or close access type when an address of an access from the higher-level device is continuous or close, Has a read-ahead range assignment function of predicting a read-ahead range from an access determined as a continuous or close access type by the access type classification function and assigning the read-ahead range to the continuous or close access type. 3. The data storage device according to claim 2, wherein:
【請求項12】 上位装置から送信されるデータを記憶
する記憶媒体と、この記憶媒体に併設され前記上位装置
によって書き込まれたデータ又は読み出されるデータを
所定のセグメント長のキャッシュデータとして記憶する
キャッシュメモリと、前記上位装置の前記記憶媒体に対
するデータの書き込み又は読み出しのアクセスに応じて
当該データを前記キャッシュメモリに格納する制御部と
を備えたデータ記憶装置において、 前記制御部が、前記上位装置からのアクセスの属性を順
次記憶するキャッシュ制御テーブルと、このキャッシュ
制御テーブルの内容の変化に基づいて前記アクセスの属
性に応じて前記キャッシュメモリのセグメント長を割当
てるテーブル利用セグメント割当て手段とを備えたこと
を特徴とするデータ記憶装置。
12. A storage medium for storing data transmitted from a higher-level device, and a cache memory provided in the storage medium and storing data written or read by the higher-level device as cache data having a predetermined segment length. And a control unit that stores the data in the cache memory in response to write or read access of data to the storage medium of the higher-level device, wherein the control unit is configured to receive the data from the higher-level device. A cache control table for sequentially storing access attributes; and a table use segment allocating unit for allocating a segment length of the cache memory according to the access attribute based on a change in the contents of the cache control table. Data storage device.
【請求項13】 上位装置から送信されるデータを記憶
する記憶媒体と、この記憶媒体に併設され前記データを
所定のセグメント長のキャッシュデータとして記憶する
キャッシュメモリと、前記上位装置の前記記憶媒体に対
する書き込み又は読み出しのアクセスに応じて前記デー
タを前記キャッシュメモリに格納する制御部とを備えた
データ記憶装置において、 前記制御部が、前記上位装置からのアクセスの種別に基
づいて前記記憶媒体にアクセスしている上位装置の数を
予測する上位装置数予測手段と、この上位装置数予測手
段によって予測された上位装置毎に前記キャッシュメモ
リのセグメント長を割当てる上位装置別セグメント割当
て手段とを備えたことを特徴とするデータ記憶装置。
13. A storage medium for storing data transmitted from a higher-level device, a cache memory provided in parallel with the storage medium for storing the data as cache data having a predetermined segment length, and a storage medium for storing the data in the higher-level device. A control unit that stores the data in the cache memory in response to write or read access, wherein the control unit accesses the storage medium based on a type of access from the higher-level device. A high-level device number prediction means for predicting the number of high-level devices, and a high-level device-specific segment allocation means for allocating a segment length of the cache memory for each high-level device predicted by the high-level device number prediction means. Characteristic data storage device.
JP9113191A 1997-04-30 1997-04-30 Data storage device Pending JPH10301847A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9113191A JPH10301847A (en) 1997-04-30 1997-04-30 Data storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9113191A JPH10301847A (en) 1997-04-30 1997-04-30 Data storage device

Publications (1)

Publication Number Publication Date
JPH10301847A true JPH10301847A (en) 1998-11-13

Family

ID=14605870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9113191A Pending JPH10301847A (en) 1997-04-30 1997-04-30 Data storage device

Country Status (1)

Country Link
JP (1) JPH10301847A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006227688A (en) * 2005-02-15 2006-08-31 Hitachi Ltd Storage system
JP2007500402A (en) * 2003-05-07 2007-01-11 フリースケール セミコンダクター インコーポレイテッド Data processing system with peripheral device access protection
JP2008041020A (en) * 2006-08-10 2008-02-21 Hitachi Ltd File server, computer system and file pre-fetch method
JP2008293111A (en) * 2007-05-22 2008-12-04 Toshiba Corp Data access processing method and storage control device
US7539820B2 (en) 2004-04-20 2009-05-26 Hitachi Global Storage Technologies Netherlands B.V. Disk device and control method for cache
JP4621794B1 (en) * 2009-07-22 2011-01-26 株式会社東芝 Cache memory control method and information storage device including cache memory

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007500402A (en) * 2003-05-07 2007-01-11 フリースケール セミコンダクター インコーポレイテッド Data processing system with peripheral device access protection
US7539820B2 (en) 2004-04-20 2009-05-26 Hitachi Global Storage Technologies Netherlands B.V. Disk device and control method for cache
JP2006227688A (en) * 2005-02-15 2006-08-31 Hitachi Ltd Storage system
US8612716B2 (en) 2005-02-15 2013-12-17 Hitachi, Ltd. Storage system having partition size set in accordance with drive type
US8832380B2 (en) 2005-02-15 2014-09-09 Hitachi, Ltd. Storage system having cache partition size set based on drive type
JP2008041020A (en) * 2006-08-10 2008-02-21 Hitachi Ltd File server, computer system and file pre-fetch method
JP2008293111A (en) * 2007-05-22 2008-12-04 Toshiba Corp Data access processing method and storage control device
JP4621794B1 (en) * 2009-07-22 2011-01-26 株式会社東芝 Cache memory control method and information storage device including cache memory
JP2011028386A (en) * 2009-07-22 2011-02-10 Toshiba Corp Cache memory control method, and information storage device comprising cache memory

Similar Documents

Publication Publication Date Title
US6857047B2 (en) Memory compression for computer systems
US6003115A (en) Method and apparatus for predictive loading of a cache
US7818489B2 (en) Integrating data from symmetric and asymmetric memory
JP6613375B2 (en) Profiling cache replacement
US6047356A (en) Method of dynamically allocating network node memory's partitions for caching distributed files
US6948033B2 (en) Control method of the cache hierarchy
EP2478441B1 (en) Read and write aware cache
US5289581A (en) Disk driver with lookahead cache
JP2000506659A (en) Method of allocating memory in a multiprocessor data processing system
JPH034940B2 (en)
JPH0816482A (en) Storage device using flash memory, and its storage control method
JPH05225066A (en) Method for controlling priority-ordered cache
US20110153978A1 (en) Predictive Page Allocation for Virtual Memory System
CN111930643B (en) Data processing method and related equipment
CN109359063B (en) Cache replacement method, storage device and storage medium for storage system software
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
CN108664217B (en) Caching method and system for reducing jitter of writing performance of solid-state disk storage system
JPH10301847A (en) Data storage device
CN114385073A (en) Method for operating a storage system and method for partitioning a hierarchy of storage resources
JPH08137754A (en) Disk cache device
US5761710A (en) Information apparatus with cache memory for data and data management information
JPH07129464A (en) Information processor
JPH08263380A (en) Disk cache control system
JPH0997218A (en) Method and device for managing flash rom and computer control equipment
KR101950759B1 (en) Garbage collection method for performing memory controller of storage device and memory controler

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000323