[go: up one dir, main page]

JPH10124359A - Cache selection method and data processing system - Google Patents

Cache selection method and data processing system

Info

Publication number
JPH10124359A
JPH10124359A JP8272117A JP27211796A JPH10124359A JP H10124359 A JPH10124359 A JP H10124359A JP 8272117 A JP8272117 A JP 8272117A JP 27211796 A JP27211796 A JP 27211796A JP H10124359 A JPH10124359 A JP H10124359A
Authority
JP
Japan
Prior art keywords
cache
volatile
caches
data
storing
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
JP8272117A
Other languages
Japanese (ja)
Inventor
Takashi Arakawa
敬史 荒川
Takashi Oeda
高 大枝
Naoto Matsunami
直人 松並
Taisuke Kaneda
泰典 兼田
Masahiro Takano
雅弘 高野
Ikuya Yagisawa
育哉 八木沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8272117A priority Critical patent/JPH10124359A/en
Publication of JPH10124359A publication Critical patent/JPH10124359A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 揮発性キャッシュと不揮発性キャッシュを選
択的に使い分ける。異なる装置の各キャッシュを選択的
に使い分ける。 【解決手段】 キャッシュa501,b502,c50
3の揮発性/不揮発性の情報を取得し、揮発性キャッシ
ュに格納してよい内容なら揮発性キャッシュを選択し、
不揮発性キャッシュに格納すべき内容なら不揮発性キャ
ッシュを選択する。さらに、キャッシュa501,b5
02,c503のシステム構成上の位置情報を取得し、
バス間のまたがりが最小となるようなキャッシュを選択
する。 【効果】 不揮発性キャッシュの必要容量を削減でき
る。転送が複数のバス間にまたがる頻度を削減できる。
(57) [Summary] [PROBLEMS] To selectively use a volatile cache and a nonvolatile cache. Selectively use each cache in different devices. SOLUTION: Caches a501, b502, c50
3 to obtain volatile / non-volatile information and select volatile cache if the content can be stored in volatile cache;
If the content is to be stored in the nonvolatile cache, the nonvolatile cache is selected. Furthermore, caches a501 and b5
02, c503, the position information on the system configuration is obtained,
Choose a cache that minimizes straddling between buses. [Effect] The required capacity of the nonvolatile cache can be reduced. It is possible to reduce the frequency of transfer over a plurality of buses.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、キャッシュ選択方
法およびデータ処理システムに関し、さらに詳しくは、
複数のキャッシュを備えたデータ処理システムにおい
て、ある処理により生成した内容を格納する最適のキャ
ッシュを選択する方法およびその方法を実施するシステ
ムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cache selection method and a data processing system.
In a data processing system having a plurality of caches, the present invention relates to a method of selecting an optimum cache for storing contents generated by a certain process, and a system for implementing the method.

【0002】[0002]

【従来の技術】データ処理システムの一例として、ディ
スクアレイシステムがある。一般に、ディスクアレイシ
ステムは、ホスト装置と、記憶制御装置と、ディスク群
とを備えている。従来のディスクアレイシステムでは、
ホスト装置と記憶制御装置は、それぞれ揮発性キャッシ
ュまたは不揮発性キャッシュを有している。また、ホス
ト装置のキャッシュは専らホスト装置で管理され、記憶
制御装置のキャッシュは専ら記憶制御装置で管理されて
いる。
2. Description of the Related Art One example of a data processing system is a disk array system. Generally, a disk array system includes a host device, a storage control device, and a disk group. In a conventional disk array system,
Each of the host device and the storage control device has a volatile cache or a nonvolatile cache. The cache of the host device is managed exclusively by the host device, and the cache of the storage control device is managed exclusively by the storage control device.

【0003】[0003]

【発明が解決しようとする課題】従来のディスクアレイ
システムでは、ホスト装置が揮発性キャッシュおよび不
揮発性キャッシュの両方を有していたり、記憶制御装置
が揮発性キャッシュおよび不揮発性キャッシュの両方を
有している、といったことはなく、従って、揮発性キャ
ッシュと不揮発性キャッシュを選択的に使い分けること
もなされていなかった。しかし、不揮発性キャッシュの
みを有する場合、その容量に余裕が必要となり、ディス
クアレイシステムの高価格化を招く問題点があった(不
揮発性キャッシュは揮発性キャッシュより高価であるた
め)。
In a conventional disk array system, a host device has both a volatile cache and a nonvolatile cache, and a storage controller has both a volatile cache and a nonvolatile cache. Therefore, there was no way to selectively use volatile caches and nonvolatile caches. However, when only a nonvolatile cache is provided, a margin is required for the capacity, and there is a problem that the price of the disk array system is increased (because the nonvolatile cache is more expensive than the volatile cache).

【0004】また、従来のディスクアレイシステムで
は、ホスト装置と記憶制御装置のそれぞれに存在するキ
ャッシュの統合的な管理がなされておらず、従って、ホ
スト装置のキャッシュと記憶制御装置のキャッシュを選
択的に使い分けることもなされていなかった。このた
め、関連して行われる転送が頻繁にホスト装置と記憶制
御装置とにまたがり、転送のオーバーヘッドが増加する
問題点があった。
Further, in the conventional disk array system, integrated management of the caches existing in the host device and the storage control device is not performed, and therefore, the cache of the host device and the cache of the storage control device are selectively provided. Neither was used properly. For this reason, there has been a problem that related transfer is frequently performed between the host device and the storage controller, and transfer overhead is increased.

【0005】そこで、本発明の第一の目的は、揮発性キ
ャッシュと不揮発性キャッシュを選択的に使い分けるこ
とが出来るキャッシュ選択方法を提供することにある。
また、本発明の第二の目的は、異なる装置の各キャッシ
ュを選択的に使い分けることが出来るキャッシュ選択方
法を提供することにある。また、本発明の第三の目的
は、複数のキャッシュを種々の判断基準により選択的に
使い分けることが出来るキャッシュ選択方法を提供する
ことにある。
Accordingly, a first object of the present invention is to provide a cache selecting method which can selectively use a volatile cache and a nonvolatile cache.
A second object of the present invention is to provide a cache selection method that can selectively use each cache of different devices. A third object of the present invention is to provide a cache selection method that can selectively use a plurality of caches according to various criteria.

【0006】[0006]

【課題を解決するための手段】第1の観点では、本発明
は、ある処理により生成された内容を複数のキャッシュ
のいずれかに格納する際に、各キャッシュの揮発性/不
揮発性の情報に基づいて前記内容を格納するキャッシュ
を選択することを特徴とするキャッシュ選択方法を提供
する。上記キャッシュ選択方法では、揮発性キャッシュ
に格納してよい内容は揮発性キャッシュに格納し、不揮
発性キャッシュに格納すべき内容のみを不揮発性キャッ
シュに格納する、といった選択的な使い分けが可能とな
る。これにより、高価な不揮発キャッシュの容量を必要
最小限に抑えることが出来るため、システムの低価格化
を実現できる。
According to a first aspect, the present invention relates to a method for storing the contents generated by a certain process in one of a plurality of caches, the volatile / nonvolatile information of each cache. A cache selection method is provided, wherein a cache that stores the content is selected based on the content. In the above-described cache selection method, it is possible to selectively use contents such as storing contents that can be stored in the volatile cache in the volatile cache and storing only contents to be stored in the nonvolatile cache in the nonvolatile cache. As a result, the capacity of the expensive nonvolatile cache can be suppressed to a necessary minimum, so that the cost of the system can be reduced.

【0007】第2の観点では、本発明は、ある処理によ
り生成された内容を複数のキャッシュのいずれかに格納
する際に、各キャッシュの属性情報に基づいて前記内容
を格納するキャッシュを選択するキャッシュ選択方法を
提供する。上記キャッシュ選択方法は、前記第1の観点
によるキャッシュ選択方法を拡張したものである。前記
属性の要素としては、キャッシュの揮発性/不揮発性,
キャッシュの容量,キャッシュのアクセス速度(転送速
度),キャッシュ多重化等が挙げられる。属性の異なる
複数のキャッシュの選択的な使い分けが可能となり、無
駄のないシステム構成とすることが出来るから、システ
ムの低価格化を実現できる。
In a second aspect, the present invention selects a cache for storing the content based on the attribute information of each cache when the content generated by a certain process is stored in any of a plurality of caches. Provide a cache selection method. The cache selection method is an extension of the cache selection method according to the first aspect. Elements of the attribute include volatile / non-volatile cache,
Examples include cache capacity, cache access speed (transfer speed), and cache multiplexing. A plurality of caches having different attributes can be selectively used, and a system configuration without waste can be achieved. Therefore, the cost of the system can be reduced.

【0008】第3の観点では、本発明は、ある処理によ
り生成された内容を複数のキャッシュのいずれかに格納
する際に、各キャッシュの容量の情報に基づいて前記内
容を格納するキャッシュを選択することを特徴とするキ
ャッシュ選択方法を提供する。上記キャッシュ選択方法
は、前記第2の観点によるキャッシュ選択方法の一例で
ある。容量の異なる複数のキャッシュの選択的な使い分
けが可能となり、複数のキャッシュを効率よく使用でき
る。
According to a third aspect, the present invention provides a method for selecting a cache for storing the content based on information on the capacity of each cache when storing the content generated by a certain process in any of a plurality of caches. And providing a cache selecting method. The cache selection method is an example of the cache selection method according to the second aspect. A plurality of caches having different capacities can be selectively used, and the plurality of caches can be used efficiently.

【0009】第4の観点では、本発明は、ある処理によ
り生成された内容を複数のキャッシュのいずれかに格納
する際に、関連して行われる転送の経路のデータ転送路
間のまたがりが最小となるキャッシュを選択して前記内
容を格納することを特徴とするキャッシュ選択方法を提
供する。上記キャッシュ選択方法では、異なる装置の各
キャッシュを、データ転送路間のまたがりが最小となる
ように、選択的に使い分けることが出来る。これによ
り、異なる装置にまたがる転送が抑制され、転送のオー
バーヘッドを低減できる。例えば、転送時間を短縮でき
るようになる。また、他の装置が行う転送を阻害しない
ようになる。
According to a fourth aspect of the present invention, when the content generated by a certain process is stored in any of a plurality of caches, the span of the data transfer path of the related transfer path is minimized. And storing the contents by selecting a cache to be provided. In the above-described cache selection method, the caches of different devices can be selectively used so that the span between the data transfer paths is minimized. As a result, transfer over different devices is suppressed, and transfer overhead can be reduced. For example, the transfer time can be reduced. Further, the transfer performed by another device is not hindered.

【0010】第5の観点では、本発明は、ある処理によ
り生成された内容を複数のキャッシュのいずれかに格納
する際に、各キャッシュのシステム構成上の位置情報に
基づいて前記内容を格納するキャッシュを選択すること
を特徴とするキャッシュ選択方法を提供する。上記キャ
ッシュ選択方法は、前記第4の観点によるキャッシュ選
択方法を拡張したものである。システム構成上の位置の
異なる複数のキャッシュの選択的な使い分けが可能とな
り、統合的なキャッシュ管理が可能になるから、転送の
オーバーヘッドを低減できるようになる。
According to a fifth aspect of the present invention, when the content generated by a certain process is stored in any of a plurality of caches, the content is stored based on positional information on the system configuration of each cache. There is provided a cache selection method characterized by selecting a cache. The cache selection method is an extension of the cache selection method according to the fourth aspect. A plurality of caches having different positions in the system configuration can be selectively used, and integrated cache management can be performed, so that transfer overhead can be reduced.

【0011】第6の観点では、本発明は、ある処理によ
り生成された内容を複数のキャッシュのいずれかに格納
する際に、当該処理または他の処理におけるキャッシュ
の使用のされ方に基づいて前記内容を格納するキャッシ
ュを選択することを特徴とするキャッシュ選択方法を提
供する。上記キャッシュ選択方法では、キャッシュに格
納すべき内容を生成した処理または他の処理におけるキ
ャッシュの使い方を判断基準として、複数のキャッシュ
を選択的に使い分けるから、キャッシュの有効な使い方
を実現できる。
In a sixth aspect, the present invention provides a method for storing content generated by a certain process in one of a plurality of caches, based on how the cache is used in the process or another process. A cache selection method is provided, wherein a cache for storing contents is selected. In the above-described cache selection method, a plurality of caches are selectively used selectively based on the use of the cache in the process of generating the content to be stored in the cache or the use of the cache in another process, so that an effective use of the cache can be realized.

【0012】第7の観点では、本発明は、ある処理によ
り生成された内容を複数のキャッシュのいずれかに格納
する際に、各キャッシュの空き容量の情報に基づいて前
記内容を格納するキャッシュを選択することを特徴とす
るキャッシュ選択方法を提供する。上記キャッシュ選択
方法では、各キャッシュの空き容量を判断基準として、
複数のキャッシュを選択的に使い分けるから、全体とし
てキャッシュの利用効率を向上することが出来る。
According to a seventh aspect, the present invention provides a method for storing, when storing a content generated by a certain process into one of a plurality of caches, the cache for storing the content based on information on the free space of each cache. There is provided a cache selection method characterized by selecting. In the above cache selection method, the free space of each cache is used as a criterion,
Since a plurality of caches are selectively used, the cache utilization efficiency can be improved as a whole.

【0013】第8の観点では、本発明は、複数のキャッ
シュを備えたデータ処理システムにおいて、ある処理に
より生成した内容を複数のキャッシュのいずれかに格納
する際に、各キャッシュの揮発性/不揮発性の情報に基
づいて前記内容を格納するキャッシュを選択するキャッ
シュ選択手段を備えたことを特徴とするデータ処理シス
テムを提供する。上記データ処理システムでは、前記第
1の観点によるキャッシュ選択方法を好適に実施でき
る。
According to an eighth aspect of the present invention, in a data processing system having a plurality of caches, when storing the contents generated by a certain process in any of the plurality of caches, the volatile / nonvolatile of each cache is used. A data processing system comprising: a cache selection unit that selects a cache that stores the content based on gender information. In the data processing system, the cache selection method according to the first aspect can be suitably implemented.

【0014】第9の観点では、本発明は、複数のキャッ
シュを備えたデータ処理システムにおいて、ある処理に
より生成した内容を前記複数のキャッシュのいずれかに
格納する際に、各キャッシュの属性情報に基づいて前記
内容を格納するキャッシュを選択するキャッシュ選択手
段を備えたことを特徴とするデータ処理システムを提供
する。上記データ処理システムでは、前記第2の観点に
よるキャッシュ選択方法を好適に実施できる。
According to a ninth aspect, the present invention provides a data processing system having a plurality of caches, wherein when the contents generated by a certain process are stored in any of the plurality of caches, the attribute information of each cache is A data processing system comprising: a cache selection unit that selects a cache that stores the content based on the content. In the above data processing system, the cache selection method according to the second aspect can be suitably implemented.

【0015】第10の観点では、本発明は、上記第8ま
たは第9の観点によるデータ処理システムにおいて、各
キャッシュの揮発性/不揮発性情報または属性情報を得
る属性情報取得手段を備えたことを特徴とするデータ処
理システムを提供する。上記データ処理システムでは、
各キャッシュの揮発性/不揮発性情報または属性情報を
自発的に得るため、システム構成の変更に柔軟に対応で
きるようになる。
According to a tenth aspect, the present invention provides the data processing system according to the eighth or ninth aspect, further comprising an attribute information acquiring means for obtaining volatile / nonvolatile information or attribute information of each cache. A data processing system is provided. In the above data processing system,
Since volatility / non-volatile information or attribute information of each cache is obtained spontaneously, it is possible to flexibly respond to changes in the system configuration.

【0016】第11の観点では、本発明は、複数のキャ
ッシュを備えたデータ処理システムにおいて、ある処理
により生成した内容を前記複数のキャッシュのいずれか
に格納する際に、関連して行われる転送の経路のデータ
転送路間のまたがりが最小となるキャッシュを選択する
キャッシュ選択手段を備えたことを特徴とするデータ処
理システムを提供する。上記データ処理システムでは、
前記第4の観点によるキャッシュ選択方法を好適に実施
できる。
According to an eleventh aspect, the present invention relates to a data processing system having a plurality of caches, wherein a content generated by a certain process is stored in any one of the plurality of caches. And a cache selection unit for selecting a cache that minimizes the spread between the data transfer paths of the first path and the second path. In the above data processing system,
The cache selection method according to the fourth aspect can be suitably implemented.

【0017】第12の観点では、本発明は、複数のキャ
ッシュを備えたデータ処理システムにおいて、ある処理
により生成した内容を前記複数のキャッシュのいずれか
に格納する際に、各キャッシュのシステム構成上の位置
情報に基づいて前記内容を格納するキャッシュを選択す
るキャッシュ選択手段を備えたことを特徴とするデータ
処理システムを提供する。上記データ処理システムで
は、前記第5の観点によるキャッシュ選択方法を好適に
実施できる。
According to a twelfth aspect, the present invention relates to a data processing system having a plurality of caches, wherein when the content generated by a certain process is stored in any of the plurality of caches, the system configuration of each cache is reduced. And a cache selection unit for selecting a cache for storing the content based on the location information. In the data processing system, the cache selection method according to the fifth aspect can be suitably implemented.

【0018】第13の観点では、本発明は、上記第12
の観点によるデータ処理システムにおいて、各キャッシ
ュの位置情報を得る位置情報取得手段を備えたことを特
徴とするデータ処理システムを提供する。上記データ処
理システムでは、各キャッシュの位置情報を自発的に得
るため、システム構成の変更に柔軟に対応できるように
なる。
According to a thirteenth aspect, the present invention provides the twelfth aspect,
In the data processing system according to the aspect of the present invention, there is provided a data processing system characterized by comprising position information obtaining means for obtaining position information of each cache. In the data processing system, since the position information of each cache is obtained spontaneously, it is possible to flexibly cope with a change in the system configuration.

【0019】[0019]

【発明の実施の形態】以下、図1〜図12を参照して、
本発明の実施形態を説明する。なお、これにより本発明
が限定されるものではない。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring to FIGS.
An embodiment of the present invention will be described. Note that the present invention is not limited by this.

【0020】<第一実施形態>図1は、本発明の第一実
施形態にかかるディスクアレイシステム1のブロック図
である。このディスクアレイシステム1は、ホストシス
テム100と、アクセラレータボード200と、ディス
ク群300とからなる。
<First Embodiment> FIG. 1 is a block diagram of a disk array system 1 according to a first embodiment of the present invention. The disk array system 1 includes a host system 100, an accelerator board 200, and a disk group 300.

【0021】ホストシステム100は、MPU101
と、PCIチップセット102と、メインメモリa10
3と、MPUバス104と、プライマリPCIバス10
5と、システムROM106とからなる。MPU101
とPCIチップセット102とメインメモリa103と
システムROM106は、MPUバス104で接続され
ている。また、MPUバス104とプライマリPCIバ
ス105は、PCIチップセット102で接続されてい
る。メインメモリa103は、揮発性(電源障害により
内容が失われる)であり、リード/ライト要求使用領域
500と揮発性キャッシュa501とを持つ。
The host system 100 includes an MPU 101
, PCI chipset 102 and main memory a10
3, the MPU bus 104, and the primary PCI bus 10
5 and a system ROM 106. MPU101
The PCI chipset 102, the main memory 103, and the system ROM 106 are connected by an MPU bus 104. The MPU bus 104 and the primary PCI bus 105 are connected by a PCI chipset 102. The main memory a103 is volatile (content is lost due to power failure) and has a read / write request use area 500 and a volatile cache a501.

【0022】アクセラレータボード200は、PCI−
PCIブリッジ201と、SCSIコントローラ202
と、転送装置401と、XOR演算装置402と、メモ
リインターフェース(IF)203と、不揮発性メモリ
b204と、揮発性メモリc205と、セカンダリPC
Iバス206とからなる。前記不揮発性メモリb204
は、不揮発性キャッシュb502を持つ。また、前記揮
発性メモリc205は、揮発性キャッシュc503を持
つ。前記PCI−PCIブリッジ201と前記SCSI
コントローラ202と前記転送装置401と前記XOR
演算装置402と前記メモリIF203は、セカンダリ
PCIバス206で接続されている。不揮発性メモリb
204と揮発性メモリc205とセカンダリPCIバス
206は、メモリIF203で接続されている。また、
セカンダリPCIバス206と前記ホストシステム10
0のプライマリPCIバス105は、PCI−PCIブ
リッジ201で接続されている。
The accelerator board 200 is a PCI-
PCI bridge 201 and SCSI controller 202
, A transfer device 401, an XOR operation device 402, a memory interface (IF) 203, a nonvolatile memory b204, a volatile memory c205, and a secondary PC.
And an I bus 206. The nonvolatile memory b204
Has a non-volatile cache b502. The volatile memory c205 has a volatile cache c503. The PCI-PCI bridge 201 and the SCSI
The controller 202, the transfer device 401, and the XOR
The arithmetic device 402 and the memory IF 203 are connected by a secondary PCI bus 206. Non-volatile memory b
The 204, the volatile memory c205, and the secondary PCI bus 206 are connected by a memory IF 203. Also,
Secondary PCI Bus 206 and Host System 10
The primary PCI bus 105 is connected by a PCI-PCI bridge 201.

【0023】ディスク群300は、アレイ状に配置した
複数台のディスク装置301と、SCSIバス302と
からなる。ディスク装置301と前記アクセラレータボ
ード200のSCSIコントローラ202は、SCSI
バス302で接続されている。すなわち、ディスク装置
301のSCSIバス302と前記アクセラレータボー
ド200のセカンダリPCIバス206は、SCSIコ
ントローラ202で接続されている。
The disk group 300 includes a plurality of disk devices 301 arranged in an array and a SCSI bus 302. The disk device 301 and the SCSI controller 202 of the accelerator board 200
They are connected by a bus 302. That is, the SCSI bus 302 of the disk device 301 and the secondary PCI bus 206 of the accelerator board 200 are connected by the SCSI controller 202.

【0024】前記MPUバス104と前記プライマリP
CIバス105と前記セカンダリPCIバス206と前
記SCSIバス302は、それぞれ個別にデータなどを
転送できる。
The MPU bus 104 and the primary P
The CI bus 105, the secondary PCI bus 206, and the SCSI bus 302 can individually transfer data and the like.

【0025】ホストシステム100のメインメモリa1
03とアクセラレータボード200の不揮発性メモリb
204および揮発性メモリc205は、ホストシステム
100のMPU101の持つメモリ空間上にアクセス可
能領域としてマッピングされている。このマッピングに
より、MPU101が、メインメモリa103と不揮発
性メモリb204と揮発性メモリc205を管理するこ
とができる。
The main memory a1 of the host system 100
03 and the non-volatile memory b of the accelerator board 200
The volatile memory 204 and the volatile memory c205 are mapped as accessible areas on the memory space of the MPU 101 of the host system 100. With this mapping, the MPU 101 can manage the main memory a103, the nonvolatile memory b204, and the volatile memory c205.

【0026】また、キャッシュ管理ソフトウェアは、シ
ステムROM106またはディスク装置301に格納さ
れており、格納されたままで、または、必要に応じてメ
インメモリa103に読み出されて、MPU101によ
り実行される。すなわち、キャッシュ管理は、MPU1
01により行われる。
The cache management software is stored in the system ROM 106 or the disk device 301, and is executed by the MPU 101 as stored, or read out to the main memory a103 as needed. That is, cache management is performed by MPU1
01.

【0027】図2は、キャッシュへのデータ転送および
キャッシュからのデータ転送に関係する各装置を管理す
るための管理情報テーブル120の構成図である。この
管理情報テーブル120は、装置名121と、装置種1
22と、キャッシュの属性123と、当該装置が接続さ
れているバス名124と、当該装置が接続されているバ
スからMPUバス104へ至るのに経由するバス数を表
したバス階層番号125とから構成されている。
FIG. 2 is a configuration diagram of the management information table 120 for managing each device related to data transfer to the cache and data transfer from the cache. The management information table 120 includes a device name 121, a device type 1
22, a cache attribute 123, a bus name 124 to which the device is connected, and a bus hierarchy number 125 representing the number of buses from the bus to which the device is connected to the MPU bus 104. It is configured.

【0028】MPU101は、ディスクアレイシステム
1の起動後および各バス上の構成変更があった後、少な
くとも1回、キャッシュへのデータ転送およびキャッシ
ュからのデータ転送に関係する各装置のシステム構成上
の位置を確認し、その位置情報を管理情報テーブル12
0に保持する。位置の確認は、例えば各バス上の全ての
装置に対しその存在を巡回的に問い合わせることで実現
される。また、各装置の一部または全部のシステム構成
上の位置を固定とし、その固定の位置情報は予め管理情
報テーブル120に設定しておき、固定でない位置情報
のみを前記問い合わせにより収集し、管理情報テーブル
120に保持するようにしてもよい。なお、前記問い合
わせに対し、装置自身でなく、その装置の位置を知って
いる他の装置が応答してもよい。例えば、PCIバス規
約に基づく不揮発性メモリb204の位置の問い合わせ
に対し、不揮発性メモリb204自身ではなく、不揮発
性メモリb204の存在を知るPCIデバイスであるメ
モリIF203が応答してもよい。
After the disk array system 1 is started up and the configuration on each bus is changed, the MPU 101 executes at least one time the system configuration of each device related to data transfer to the cache and data transfer from the cache. The position is confirmed, and the position information is stored in the management information table 12.
Hold at 0. Confirmation of the position is realized, for example, by cyclically inquiring about the existence of all devices on each bus. Further, the positions of some or all of the devices in the system configuration are fixed, the fixed position information is set in the management information table 120 in advance, and only the non-fixed position information is collected by the inquiry, and the management information is collected. You may make it hold | maintain in the table 120. It should be noted that another device that knows the position of the device, instead of the device itself, may respond to the inquiry. For example, the memory IF 203, which is a PCI device that knows the existence of the nonvolatile memory b204, may respond to the inquiry about the position of the nonvolatile memory b204 based on the PCI bus protocol.

【0029】MPU101は、各装置の位置確認後、少
なくとも1回、各キャッシュの属性を確認し、その属性
情報を管理情報テーブル120に保持する。属性の要素
としては、キャッシュの揮発性/不揮発性,キャッシュ
の容量,キャッシュのアクセス速度(転送速度),キャ
ッシュ多重化等が挙げられる。属性の確認は、例えば全
てのキャッシュに対しその属性を巡回的に問い合わせる
ことで実現される。また、キャッシュの一部または全部
の属性を固定とし、その固定の属性情報は予め管理情報
テーブル120に設定しておき、固定でない属性情報の
みを前記問い合わせにより収集し、管理情報テーブル1
20に保持するようにしてもよい。なお、前記問い合わ
せに対し、キャッシュ自身でなく、そのキャッシュの属
性を知る他の装置が応答してもよい。例えば、PCIバ
ス規約に基づく不揮発性メモリb204の属性の問い合
わせに対し、不揮発性メモリb204自身ではなく、不
揮発性メモリb204の存在を知るPCIデバイスであ
るメモリIF203が応答してもよい。
After confirming the location of each device, the MPU 101 confirms the attribute of each cache at least once, and stores the attribute information in the management information table 120. Elements of the attribute include cache volatility / non-volatility, cache capacity, cache access speed (transfer speed), cache multiplexing, and the like. Confirmation of the attribute is realized, for example, by inquiring all caches about the attribute cyclically. Further, a part or all of the attributes of the cache are fixed, the fixed attribute information is set in the management information table 120 in advance, and only the non-fixed attribute information is collected by the inquiry.
20. Note that other devices that know the attributes of the cache may respond to the inquiry, instead of the cache itself. For example, the memory IF 203, which is a PCI device that knows the existence of the nonvolatile memory b204, may respond to the inquiry about the attribute of the nonvolatile memory b204 based on the PCI bus protocol.

【0030】キャッシュの属性の変更が生じうる場合、
各キャッシュが属性変更をMPU101に通知し、その
通知を受けたMPU101が、保持していた属性情報を
変更するようにしてもよい。例えば、不揮発性キャッシ
ュb502における不揮発性が電池による電源バックア
ップにより実現されているとすると、電池が使用不能に
なると不揮発性は失われ、不揮発性キャッシュb502
は揮発性となる。このとき、不揮発性キャッシュb50
2が属性変更通知手段を持っている場合、揮発性となっ
たことをMPU101に通知する。この通知を受けて、
MPU101は、不揮発性キャッシュb502の属性情
報中の不揮発性を揮発性に変更する。
If a change in cache attributes can occur,
Each cache may notify the MPU 101 of the attribute change, and the MPU 101 receiving the notification may change the held attribute information. For example, assuming that the non-volatility in the non-volatile cache b502 is realized by a power supply backup by a battery, the non-volatility is lost when the battery becomes unavailable, and the non-volatile cache b502
Becomes volatile. At this time, the nonvolatile cache b50
2 has the attribute change notification means, it notifies the MPU 101 that it has become volatile. Upon receiving this notice,
The MPU 101 changes nonvolatile in the attribute information of the nonvolatile cache b502 to volatile.

【0031】本実施形態のディスクアレイシステム1で
は、リード要求やライト要求の処理においてデータやパ
リティなどの内容をキャッシュに格納する際にも、MP
U101が各装置のシステム構成上の位置を確認し、ま
た、各キャッシュの属性を確認する。そして、キャッシ
ュに内容を格納する際に、MPU101が、内容の種別
などから、キャッシュが持つべき属性を判断し、転送経
路を予測し、前記判断に合致する属性を持つキャッシュ
であって前記予測した転送経路が複数バスにまたがる頻
度が最も少ないキャッシュを選択する。
In the disk array system 1 of the present embodiment, when data such as data and parity is stored in the cache in the processing of a read request or a write request, the MP
U101 checks the position of each device in the system configuration, and checks the attributes of each cache. Then, when storing the content in the cache, the MPU 101 determines the attribute to be possessed by the cache from the type of the content and the like, predicts the transfer path, and predicts the cache having the attribute that matches the determination. The cache with the least frequent transfer path spanning multiple buses is selected.

【0032】以上の説明から理解されるように、各キャ
ッシュを含む各装置のシステム構成上の位置情報を取得
する位置情報取得手段と、揮発性/不揮発性のような各
キャッシュの属性情報を取得する属性情報取得手段と、
例えば、関連する転送の経路のバス間のまたがりが最小
となるキャッシュを選択するように、前記位置情報に基
づいて前記内容を格納するキャッシュを選択するキャッ
シュ選択手段と、前記揮発性/不揮発性のような属性情
報に基づいて前記内容を格納するキャッシュを選択する
キャッシュ選択手段とは、これら各手段を実現するソフ
トウェアをMPU101が実行することによって実現さ
れる。
As can be understood from the above description, the position information acquisition means for acquiring the position information on the system configuration of each device including each cache, and the attribute information of each cache such as volatile / non-volatile. Attribute information acquisition means to perform
For example, a cache selecting unit that selects a cache that stores the contents based on the position information so as to select a cache that minimizes a straddle between buses of a related transfer path; The cache selecting means for selecting a cache for storing the contents based on such attribute information is realized by the MPU 101 executing software realizing each of these means.

【0033】次に、キャッシュ選択の個々の具体例につ
いて説明する。 《リードしたデータを格納するキャッシュの選択》図3
は、リード要求に基づいてディスク群300からリード
/ライト要求使用領域500へリードしたデータを格納
するキャッシュを選択する処理のフロー図である。ステ
ップ1010では、データの種別からキャッシュの属性
の判断基準を取り出す。この判断基準は、キャッシュ管
理ソフトウェアに予め設定してある。ここではキャッシ
ュの属性として揮発性/不揮発性のみを考えると、デー
タの種別が「リード要求に基づいてディスク群300か
らリード/ライト要求使用領域500へリードしたデー
タ」の場合、「揮発性でも不揮発性でもよい」という判
断基準が取り出される。この判断基準の理由は、当該デ
ータはディスク群300に元々保存されており、キャッ
シュから失われても支障がないため、不揮発性のキャッ
シュに限る必要がないためである。
Next, specific examples of cache selection will be described. << Selection of cache for storing read data >>
FIG. 9 is a flowchart of a process of selecting a cache for storing data read from the disk group 300 to the read / write request use area 500 based on a read request. In step 1010, a criterion for determining the attribute of the cache is extracted from the type of data. This criterion is preset in the cache management software. Here, considering only volatile / non-volatile as the attribute of the cache, if the data type is “data read from the disk group 300 to the read / write request use area 500 based on the read request”, May be extracted ". The reason for this determination criterion is that the data is originally stored in the disk group 300, and there is no problem if the data is lost from the cache. Therefore, the data need not be limited to the nonvolatile cache.

【0034】ステップ1020では、取り出した判断基
準の内容が「揮発性でも不揮発性でもよい」ならば、ス
テップ1030へ進む。取り出した判断基準の内容が
「不揮発性に限る」や「揮発性に限る」ならば、別の処
理へ進む。ステップ1030では、MPU101は、全
てのキャッシュを候補とする。ここでは、揮発性キャッ
シュa501,不揮発性キャッシュb502および揮発
性キャッシュc503をキャッシュの候補とする。
In step 1020, if the content of the retrieved criterion is "either volatile or non-volatile", the process proceeds to step 1030. If the content of the retrieved criterion is “limited to non-volatile” or “limited to volatile”, the process proceeds to another process. In step 1030, the MPU 101 sets all caches as candidates. Here, the volatile cache a501, the nonvolatile cache b502, and the volatile cache c503 are cache candidates.

【0035】ステップ1040では、候補の各キャッシ
ュを選択したときの転送経路を予測する。この転送経路
の予測は、あらかじめキャッシュ管理ソフトウェアにデ
ータの種別毎の転送経路を持たせておき、データの種別
によって検索することで実現できる。例えば、揮発性キ
ャッシュa501を選択すると、転送経路は[リード/
ライト要求使用領域500]−[転送装置401]−
[揮発性キャッシュa501]または[ディスク装置3
01]−[転送装置401]−[揮発性キャッシュa5
01]となる。また、不揮発性キャッシュb502を選
択すると、転送経路は[リード/ライト要求使用領域5
00]−[転送装置401]−[不揮発性キャッシュb
502]または[ディスク装置301]−[転送装置4
01]−[不揮発性キャッシュb502]となる。ま
た、揮発性キャッシュc503を選択すると、転送経路
は[リード/ライト要求使用領域500]−[転送装置
401]−[揮発性キャッシュc503]または[ディ
スク装置301]−[転送装置401]−[揮発性キャ
ッシュc503]となる。
In step 1040, a transfer route when each of the candidate caches is selected is predicted. This prediction of the transfer path can be realized by providing the cache management software with a transfer path for each data type in advance and searching by the data type. For example, when the volatile cache a501 is selected, the transfer path is [Read /
Write request use area 500]-[Transfer device 401]-
[Volatile cache a501] or [disk device 3]
01]-[Transfer device 401]-[Volatile cache a5
01]. When the non-volatile cache b502 is selected, the transfer path is changed to [read / write request use area 5].
00]-[Transfer device 401]-[Nonvolatile cache b
502] or [Disk device 301]-[Transfer device 4]
01]-[non-volatile cache b502]. When the volatile cache c503 is selected, the transfer path is [Read / Write Request Use Area 500]-[Transfer Device 401]-[Volatile Cache c503] or [Disk Device 301]-[Transfer Device 401]-[Volatile] Sex cache c503].

【0036】ステップ1050では、バス間のまたがり
が最も少ない転送経路となるキャッシュを候補とする。
バス間のまたがりは、管理情報テーブル120における
バス階層番号125により計算できる。例えば、揮発性
キャッシュa501を選択したときの一つの転送経路は
[リード/ライト要求使用領域500]−[転送装置4
01]−[揮発性キャッシュa501]であるから、バ
ス間のまたがりは、|リード/ライト要求使用領域50
0のバス階層番号“1”−転送装置401のバス階層番
号“3”|+|転送装置401のバス階層番号“3”−
揮発性キャッシュa501のバス階層番号“1”|=
“4”となる。また、もう一つの転送経路は[ディスク
装置301]−[転送装置401]−[揮発性キャッシ
ュa501]であるから、バス間のまたがりは、|ディ
スク装置301のバス階層番号“4”−転送装置401
のバス階層番号“3”|+|転送装置401のバス階層
番号“3”−揮発性キャッシュa501のバス階層番号
“1”|=“3”となる。同様の計算により、不揮発性
キャッシュb502を選択したときの転送経路のバス間
のまたがりは“2”または“1”となり、揮発性キャッ
シュc503を選択したときの転送経路のバス間のまた
がりも“2”または“1”となる。従って、不揮発性キ
ャッシュb502と揮発性キャッシュc503を候補と
する。
In step 1050, a cache which becomes a transfer path with the least straddling between buses is set as a candidate.
The span between buses can be calculated by the bus hierarchy number 125 in the management information table 120. For example, when the volatile cache a501 is selected, one transfer path is [Read / Write request use area 500]-[Transfer device 4].
01]-[volatile cache a501], the span between buses is | read / write request use area 50
0 bus hierarchy number “1” −Transfer device 401 bus hierarchy number “3” | + | Transfer device 401 bus hierarchy number “3” −
Bus hierarchy number “1” of the volatile cache a 501 | =
It becomes “4”. Further, since the other transfer path is [disk device 301]-[transfer device 401]-[volatile cache a501], the straddling between buses is: | bus hierarchy number "4" of disk device 301-transfer device 401
Bus hierarchy number “3” | + | bus hierarchy number “3” of the transfer device 401−bus hierarchy number “1” | = “3” of the volatile cache a501. By the same calculation, the span between the buses of the transfer path when the nonvolatile cache b502 is selected is “2” or “1”, and the span between the buses of the transfer path when the volatile cache c503 is selected is “2”. "Or" 1 ". Therefore, the nonvolatile cache b502 and the volatile cache c503 are candidates.

【0037】ステップ1063では、残っている候補の
数を判定し、単数になら処理を終了し、複数ならステッ
プ1070へ進む。ここでは、不揮発性キャッシュb5
02と揮発性キャッシュc503とが候補に残っている
ため、ステップ1070へ進む。
In step 1063, the number of remaining candidates is determined. If the number is singular, the process is terminated. If the number is plural, the process proceeds to step 1070. Here, the nonvolatile cache b5
02 and the volatile cache c 503 remain as candidates, so the process proceeds to step 1070.

【0038】なお、理解を容易にするため、上記ステッ
プ1010からステップ1050を分けて説明したが、
上記ステップ1010からステップ1050の処理結果
を予めデータの種別毎に求めておいて、それをデータの
種別によって検索すれば、1つのステップで上記と同じ
結果を得ることも可能である。以下のステップも同様で
ある。
In order to facilitate understanding, steps 1010 to 1050 have been described separately.
If the processing results of steps 1010 to 1050 are obtained in advance for each data type, and the results are searched by data type, the same result as described above can be obtained in one step. The same applies to the following steps.

【0039】ステップ1070では、他の処理における
キャッシュの使用のされ方からキャッシュの属性の判断
基準を取り出す。この判断基準は、キャッシュ管理ソフ
トウェアに予め設定してある。例えば他の処理としてラ
イトバック方式のライト処理がある場合、「揮発性に限
る」という判断基準が取り出される。この判断基準の理
由は、他の処理(ライトバック方式のライト処理)では
不揮発性キャッシュの使用を必要とするから、それを阻
害しないためには、本処理(リードデータをキャッシュ
に格納する)では揮発性キャッシュを使用するのが望ま
しいからである。
In step 1070, the criterion for determining the attribute of the cache is extracted from the way the cache is used in other processes. This criterion is preset in the cache management software. For example, when there is a write-back type write process as another process, a criterion of “limited to volatility” is extracted. The reason for this criterion is that other processes (write-back write process) require the use of a non-volatile cache, so that this process (store read data in the cache) This is because it is desirable to use a volatile cache.

【0040】ステップ1071では、取り出した判断基
準の内容が「揮発性に限る」ならば、ステップ1072
へ進む。取り出した判断基準の内容が「不揮発性に限
る」や「揮発性でも不揮発性でもよい」ならば、別の処
理へ進む。ステップ1072では、MPU101は、残
っている候補中の揮発性キャッシュを候補とする。ここ
では、不揮発性キャッシュb502と揮発性キャッシュ
c503が残っているから、揮発性キャッシュc503
を候補とする。ステップ1073では、残っている候補
の数を判定し、単数なら処理を終了し、複数ならステッ
プ1071へ進む。ここでは、揮発性キャッシュc50
3だけが残っているため、処理を終了する。もし、複数
の揮発性キャッシュが候補として残ったならば、図4の
ステップ1080へ進む。
In step 1071, if the content of the retrieved criterion is "limited to volatile", step 1072
Proceed to. If the content of the retrieved criterion is “limited to nonvolatile” or “can be volatile or nonvolatile”, the process proceeds to another process. In step 1072, the MPU 101 sets the volatile cache among the remaining candidates as a candidate. Here, since the nonvolatile cache b502 and the volatile cache c503 remain, the volatile cache c503
Is a candidate. In step 1073, the number of remaining candidates is determined. If the number is singular, the process is terminated. If the number is plural, the process proceeds to step 1071. Here, the volatile cache c50
Since only 3 remains, the process ends. If a plurality of volatile caches remain as candidates, the process proceeds to step 1080 in FIG.

【0041】図4のステップ1080では、データの種
類からキャッシュの容量の判断基準を取り出す。この判
断基準は、キャッシュ管理ソフトウェアに予め設定して
ある。例えばデータの種別が「リード要求に基づいてデ
ィスク群300からリード/ライト要求使用領域500
へリードしたデータ」の場合、「最大の容量」という判
断基準が取り出される。この判断基準の理由は、容量の
大きいキャッシュをなるべく使うようにすると、容量の
小さいキャッシュを温存でき、容量の小さいキャッシュ
を使用しなければならない場合に備えられるからであ
る。ステップ1081では、取り出した判断基準の内容
が「最大の容量」ならば、ステップ1082へ進む。取
り出した判断基準の内容が「最小の容量」ならば、別の
処理へ進む。ステップ1082では、MPU101は、
残っている候補中の最大の容量のキャッシュを候補とす
る。ステップ1083では、残っている候補の数を判定
し、単数になら処理を終了し、複数ならステップ109
0へ進む。
In step 1080 in FIG. 4, a criterion for determining the cache capacity is extracted from the type of data. This criterion is preset in the cache management software. For example, if the data type is “Read / write request use area 500 from disk group 300 based on read request”
In the case of "data read to", a criterion of "maximum capacity" is extracted. The reason for this criterion is that if a large-capacity cache is used as much as possible, a small-capacity cache can be preserved, and this is provided in case a small-capacity cache must be used. In step 1081, if the content of the retrieved criterion is “maximum capacity”, the process proceeds to step 1082. If the content of the retrieved criterion is “minimum capacity”, the process proceeds to another process. In step 1082, the MPU 101
The cache having the largest capacity among the remaining candidates is set as a candidate. In step 1083, the number of remaining candidates is determined. If the number is singular, the process is terminated.
Go to 0.

【0042】ステップ1090では、データの種類から
キャッシュの空き容量の判断基準を取り出す。この判断
基準は、キャッシュ管理ソフトウェアに予め設定してあ
る。例えばデータの種別が「リード要求に基づいてディ
スク群300からリード/ライト要求使用領域500へ
リードしたデータ」の場合、「空き容量が大」という判
断基準が取り出される。この判断基準の理由は、空き容
量の大きいキャッシュを優先的に使うようにすると、各
キャッシュに空き領域を残すことができるからである。
ステップ1091では、取り出した判断基準の内容が
「空き容量が大」ならば、ステップ1092へ進む。取
り出した判断基準の内容が「空き容量が小」ならば、別
の処理へ進む。ステップ1092では、MPU101
は、残っている候補中の空き容量の大きいキャッシュを
候補とする。ステップ1093では、残っている候補の
数を判定し、単数になら処理を終了し、複数なら他の判
断基準の処理へ進む。
In step 1090, a criterion for determining the free space in the cache is extracted from the type of data. This criterion is preset in the cache management software. For example, when the type of data is “data read from the disk group 300 to the read / write request use area 500 based on a read request”, a criterion of “large free space” is extracted. The reason for this determination criterion is that if a cache having a large free space is preferentially used, a free area can be left in each cache.
In step 1091, if the content of the retrieved criterion is “large free space”, the process proceeds to step 1092. If the content of the retrieved criterion is "small free space", the process proceeds to another process. In step 1092, the MPU 101
, A cache having a large free space among remaining candidates is set as a candidate. In step 1093, the number of remaining candidates is determined. If the number is singular, the process is terminated. If the number is plural, the process proceeds to another determination criterion.

【0043】上記各判断基準の適用順は、上記説明に限
定されない。例えば、上記ステップ1070〜1073
と上記ステップ1080〜1083とを交換してもよ
い。また、上記ステップ1070〜1073と上記ステ
ップ1090〜1093とを交換してもよい。一般的
に、不揮発性メモリは揮発性メモリよりも高価であるた
め、不揮発性キャッシュの容量が揮発性キャッシュの容
量よりも小さい場合が多い。また、このため、不揮発性
キャッシュの空き容量が揮発性キャッシュの空き容量よ
りも小さい場合が多い。そこで、上記ステップ1070
〜1073と上記ステップ1080〜1083とを交換
するか、又は、上記ステップ1070〜1073と上記
ステップ1090〜1093とを交換すると、揮発性キ
ャッシュc503が選択される。これにより、不揮発性
キャッシュb502を温存でき、それを有効利用でき
る。また、不揮発性キャッシュb502の必要容量を削
減することができる。
The order in which the above criteria are applied is not limited to the above description. For example, the above steps 1070 to 1073
And the above steps 1800 to 1083 may be exchanged. Also, the above steps 1070 to 1073 and the above steps 1090 to 1093 may be exchanged. In general, since the nonvolatile memory is more expensive than the volatile memory, the capacity of the nonvolatile cache is often smaller than the capacity of the volatile cache. For this reason, the free space of the nonvolatile cache is often smaller than the free space of the volatile cache. Therefore, the above step 1070
By exchanging Steps 1080 to 1073 with Steps 1800 to 1083 or Steps 1070 to 1073 and Steps 1090 to 1093, the volatile cache c503 is selected. As a result, the nonvolatile cache b502 can be preserved and can be used effectively. Further, the required capacity of the nonvolatile cache b502 can be reduced.

【0044】《ライトスルー方式においてライトしたデ
ータを格納するキャッシュの選択》ライトスルー方式に
おいては、データはキャッシュに格納されると同時にデ
ィスク群300にライトされるので、キャッシュが持っ
ているべき属性は、揮発性/不揮発性のみを考えると、
揮発性であっても不揮発性であってもよい。また、キャ
ッシュへのデータの転送経路は、前記リード要求に基づ
いてリード/ライト要求使用領域500にリードしたデ
ータをリード/ライト要求使用領域500からキャッシ
ュへ転送する経路と同様となる。よって、ライト要求に
基づいてリード/ライト要求使用領域500からディス
ク群300へライトしたデータを格納するキャッシュの
選択は、前記リード要求に基づいてリードしたデータを
格納するキャッシュの選択と同様になる。従って、揮発
性キャッシュc503が選択される。
<< Selection of Cache to Store Data Written in Write-Through Method >> In the write-through method, data is written to the disk group 300 at the same time as data is stored in the cache. , Considering only volatile / non-volatile,
It may be volatile or non-volatile. The data transfer path to the cache is the same as the path for transferring data read from the read / write request use area 500 to the cache based on the read request. Therefore, selection of a cache for storing data written to the disk group 300 from the read / write request use area 500 based on a write request is similar to selection of a cache for storing data read based on the read request. Therefore, the volatile cache c 503 is selected.

【0045】なお、データの旧い内容がキャッシュ上に
存在していた場合は、その旧い内容が新しい内容によっ
て上書きされるか、又は、新しい内容が別の場所に格納
された後で旧い内容がキャッシュから削除(無効化)さ
れる。
If the old contents of the data exist in the cache, the old contents are overwritten by the new contents, or the old contents are stored in another location before the new contents are stored in the cache. Is deleted (invalidated) from.

【0046】《ライトスルー方式において生成したパリ
ティを格納するキャッシュの選択》ライト要求に基づい
てデータをリード/ライト要求使用領域500からディ
スク群300へライトする際には、パリティを更新す
る。図5は、パリティの更新操作の一例の説明図であ
る。 ・ステップ2010:ディスク群300またはキャッシ
ュからデータの旧い内容をXOR演算装置402に転送
する。 ・ステップ2020:リード/ライト要求使用領域50
0からデータの新しい内容をXOR演算装置402に転
送する。 ・ステップ2030,2040:XOR演算装置402
は、データの旧い内容と新しい内容のXOR演算により
差分を生成し、保持する。 ・ステップ2050:ディスク群300またはキャッシ
ュからパリティの更新前値をXOR演算装置402に転
送する。 ・ステップ2060:前記差分と前記パリティの更新前
値のXOR演算によりパリティの更新値を生成し、その
パリティの更新値をキャッシュに転送すると共にディス
ク群300にライトする。
<< Selection of Cache to Store Parity Generated in Write-Through Method >> When data is written from read / write request use area 500 to disk group 300 based on a write request, the parity is updated. FIG. 5 is a diagram illustrating an example of a parity update operation. Step 2010: Transfer old contents of data from the disk group 300 or the cache to the XOR operation device 402. Step 2020: Read / write request use area 50
From 0, the new contents of the data are transferred to the XOR operation unit 402. Steps 2030 and 2040: XOR operation device 402
Generates and holds a difference by an XOR operation of the old content and the new content of the data. Step 2050: The pre-update value of the parity is transferred from the disk group 300 or the cache to the XOR operation device 402. Step 2060: Generate an updated parity value by XOR operation of the difference and the pre-update value of the parity, transfer the updated parity value to the cache, and write the updated parity value to the disk group 300.

【0047】パリティ(の更新値)をキャッシュに格納
する代りに、前記ステップ2030で生成した差分をキ
ャッシュに格納してもよい。差分をキャッシュに格納
し、同じパリティを更新するようなライト要求が再度あ
った場合には当該差分を更新することによって、パリテ
ィの更新前値をディスク群300からリードする頻度を
低減することができる。
Instead of storing the parity (updated value) in the cache, the difference generated in step 2030 may be stored in the cache. The difference is stored in the cache, and when there is a write request to update the same parity again, the frequency of reading the pre-update value of the parity from the disk group 300 can be reduced by updating the difference. .

【0048】図6は、XOR演算装置402で生成した
パリティ(の更新値)または差分を格納するキャッシュ
を選択する処理のフロー図である。ステップ3010で
は、パリティまたは差分に対するキャッシュの属性の判
断基準を取り出す。この判断基準は、キャッシュ管理ソ
フトウェアに予め設定してある。ここではキャッシュの
属性として揮発性/不揮発性のみを考えると、「揮発性
でも不揮発性でもよい」という判断基準が取り出され
る。この判断基準の理由は、ライトスルー方式において
はデータはディスク群300にライトされているので、
パリティまたは差分がキャッシュから失われても支障が
ないため、不揮発性のキャッシュに限る必要がないため
である。
FIG. 6 is a flow chart of a process for selecting a cache for storing (updated value) or a difference generated by the XOR operation device 402. In step 3010, the criterion of the attribute of the cache with respect to the parity or the difference is extracted. This criterion is preset in the cache management software. Here, considering only volatile / non-volatile as the attribute of the cache, a criterion of “can be volatile or non-volatile” is extracted. The reason for this determination criterion is that in the write-through method, since data is written to the disk group 300,
This is because there is no problem even if the parity or the difference is lost from the cache, and it is not necessary to limit the parity or the difference to the nonvolatile cache.

【0049】ステップ3020では、取り出した判断基
準の内容が「揮発性でも不揮発性でもよい」ならば、ス
テップ3030へ進む。取り出した判断基準の内容が
「不揮発性に限る」や「揮発性に限る」ならば、別の処
理へ進む。ステップ3030では、MPU101は、全
てのキャッシュを候補とする。ここでは、揮発性キャッ
シュa501,不揮発性キャッシュb502および揮発
性キャッシュc503をキャッシュの候補とする。
In step 3020, if the content of the retrieved criterion is "either volatile or non-volatile", the flow advances to step 3030. If the content of the retrieved criterion is “limited to non-volatile” or “limited to volatile”, the process proceeds to another process. In step 3030, the MPU 101 sets all caches as candidates. Here, the volatile cache a501, the nonvolatile cache b502, and the volatile cache c503 are cache candidates.

【0050】ステップ3040では、候補の各キャッシ
ュを選択したときの転送経路を予測する。この転送経路
の予測は、あらかじめキャッシュ管理ソフトウェアにパ
リティまたは差分の転送経路を持たせておき、それを検
索することで実現できる。例えば、揮発性キャッシュa
501を選択すると、転送経路は[XOR演算装置40
2]−[揮発性キャッシュa501]となる。また、不
揮発性キャッシュb502を選択すると、転送経路は
[XOR演算装置402]−[不揮発性キャッシュb5
02]となる。また、揮発性キャッシュc503を選択
すると、転送経路は[XOR演算装置402]−[揮発
性キャッシュc503]となる。
In step 3040, a transfer route when each candidate cache is selected is predicted. The prediction of the transfer path can be realized by providing the cache management software with a parity or difference transfer path in advance and searching for it. For example, volatile cache a
When 501 is selected, the transfer path is set to [XOR operation device 40
2]-[volatile cache a501]. When the non-volatile cache b502 is selected, the transfer path is [XOR operation device 402]-[non-volatile cache b5
02]. When the volatile cache c503 is selected, the transfer path is [XOR operation device 402]-[volatile cache c503].

【0051】ステップ3050では、バス間のまたがり
が最も少ない転送経路となるキャッシュを候補とする。
バス間のまたがりは、管理情報テーブル120における
バス階層番号125により計算できる。例えば、揮発性
キャッシュa501を選択したときの転送経路は[XO
R演算装置402]−[揮発性キャッシュa501]で
あるから、バス間のまたがりは、|XOR演算装置40
2のバス階層番号“3”−揮発性キャッシュa501の
バス階層番号“1”|=“2”となる。同様の計算によ
り、不揮発性キャッシュb502を選択したときの転送
経路のバス間のまたがりは“0”となり、揮発性キャッ
シュc503を選択したときの転送経路のバス間のまた
がりも“0”となる。従って、不揮発性キャッシュb5
02と揮発性キャッシュc503を候補とする。
In step 3050, a cache which is a transfer path with the least straddling between buses is determined as a candidate.
The span between buses can be calculated by the bus hierarchy number 125 in the management information table 120. For example, when the volatile cache a501 is selected, the transfer path is [XO
R operation device 402]-[volatile cache a501], the span between buses is | XOR operation device 40
2, the bus hierarchy number “3” −the bus hierarchy number “1” | = “2” of the volatile cache a501. By the same calculation, the span between the buses of the transfer path when the nonvolatile cache b502 is selected is "0", and the span between the buses of the transfer path when the volatile cache c503 is selected is also "0". Therefore, the nonvolatile cache b5
02 and the volatile cache c503 are candidates.

【0052】ステップ3063では、残っている候補の
数を判定し、単数になら処理を終了し、複数ならステッ
プ3070へ進む。ここでは、不揮発性キャッシュb5
02と揮発性キャッシュc503とが候補に残っている
ため、ステップ3070へ進む。
In step 3063, the number of remaining candidates is determined. If the number is singular, the process is terminated. If the number is plural, the process proceeds to step 3070. Here, the nonvolatile cache b5
02 and the volatile cache c 503 remain as candidates, so the process proceeds to step 3070.

【0053】ステップ3070では、他の処理における
キャッシュの使用のされ方からキャッシュの属性の判断
基準を取り出す。この判断基準は、キャッシュ管理ソフ
トウェアに予め設定してある。例えば他の処理としてラ
イトバック方式のライト処理がある場合、「揮発性に限
る」という判断基準が取り出される。この判断基準の理
由は、他の処理(ライトバック方式のライト処理)では
不揮発性キャッシュの使用を必要とするから、それを阻
害しないためには、本処理(リードデータをキャッシュ
に格納する)では揮発性キャッシュを使用するのが望ま
しいからである。
In step 3070, a criterion for determining the attribute of the cache is extracted from the way the cache is used in other processes. This criterion is preset in the cache management software. For example, when there is a write-back type write process as another process, a criterion of “limited to volatility” is extracted. The reason for this criterion is that other processes (write-back write process) require the use of a non-volatile cache, so that this process (store read data in the cache) This is because it is desirable to use a volatile cache.

【0054】ステップ3071では、取り出した判断基
準の内容が「揮発性に限る」ならば、ステップ3072
へ進む。取り出した判断基準の内容が「不揮発性に限
る」や「揮発性でも不揮発性でもよい」ならば、別の処
理へ進む。ステップ3072では、MPU101は、残
っている候補中の揮発性キャッシュを候補とする。ここ
では、不揮発性キャッシュb502と揮発性キャッシュ
c503が残っているから、揮発性キャッシュc503
を候補とする。ステップ3073では、残っている候補
の数を判定し、単数なら処理を終了し、複数なら別の処
理へ進む。ここでは、揮発性キャッシュc503だけが
残っているため、処理を終了する。なお、候補が複数の
ときの前記別の処理は、図4のステップ1080以下と
同様である。
In step 3071, if the content of the retrieved criterion is "limited to volatile", step 3072
Proceed to. If the content of the retrieved criterion is “limited to nonvolatile” or “can be volatile or nonvolatile”, the process proceeds to another process. In step 3072, the MPU 101 sets the volatile cache among the remaining candidates as candidates. Here, since the nonvolatile cache b502 and the volatile cache c503 remain, the volatile cache c503
Is a candidate. In step 3073, the number of remaining candidates is determined. If the number is singular, the process is terminated. If the number is plural, the process proceeds to another process. Here, since only the volatile cache c503 remains, the process is terminated. Note that the other processing when there are a plurality of candidates is the same as in step 1080 and subsequent steps in FIG.

【0055】なお、パリティまたは差分の更新前値がキ
ャッシュ上に存在していた場合は、その更新前値が更新
値によって上書きされるか、又は、更新値が別の場所に
格納された後で更新前値がキャッシュから削除(無効
化)される。
If the pre-update value of the parity or the difference exists in the cache, the pre-update value is overwritten by the update value or after the update value is stored in another location. The pre-update value is deleted (invalidated) from the cache.

【0056】《ライトバック方式におけるライトデータ
を格納するキャッシュの選択》図7は、ライト要求に基
づいてリード/ライト要求使用領域500からディスク
群300へライトするデータを格納するキャッシュを選
択する処理のフロー図である。ステップ4010では、
データの種別からキャッシュの属性の判断基準を取り出
す。この判断基準は、キャッシュ管理ソフトウェアに予
め設定してある。ここではキャッシュの属性として揮発
性/不揮発性のみを考えると、データの種別が「ライト
要求に基づいてリード/ライト要求使用領域500から
ディスク群300へライトしたデータ」の場合、「不揮
発性に限る」という判断基準が取り出される。この判断
基準の理由は、ライトバック方式では、当該データはラ
イト要求に対する処理が完了した時点ではキャッシュに
格納されるのみで、ディスク群300にはライトされて
いない場合があるため、キャッシュから失われないよう
に、不揮発性のキャッシュに限る必要があるからであ
る。
<< Selection of Cache for Storing Write Data in Write-Back Method >> FIG. 7 shows a process of selecting a cache for storing data to be written to the disk group 300 from the read / write request use area 500 based on a write request. It is a flowchart. In step 4010,
The criterion of the attribute of the cache is extracted from the data type. This criterion is preset in the cache management software. Here, considering only volatile / non-volatile as the attribute of the cache, if the data type is “data written to the disk group 300 from the read / write request use area 500 based on a write request”, “limited to non-volatile” Is extracted. The reason for this determination criterion is that in the write-back method, the data is only stored in the cache when the processing for the write request is completed, and may not be written to the disk group 300. This is because it is necessary to limit the cache to a non-volatile cache.

【0057】ステップ4020では、取り出した判断基
準の内容が「不揮発性に限る」ならば、ステップ403
0へ進む。取り出した判断基準の内容が「揮発性でも不
揮発性でもよい」や「揮発性に限る」ならば、別の処理
へ進む。ステップ4030では、MPU101は、不揮
発性キャッシュを候補とする。ここでは、不揮発性キャ
ッシュb502をキャッシュの候補とする。ステップ4
063では、残っている候補の数を判定し、単数になら
処理を終了し、複数なら別の処理へ進む。ここでは、不
揮発性キャッシュb502だけが残っているため、処理
を終了する。なお、候補が複数のときの前記別の処理
は、図3のステップ1040以下と同様である。
In step 4020, if the content of the retrieved criterion is "limited to non-volatility", step 403
Go to 0. If the content of the retrieved criterion is “can be volatile or nonvolatile” or “limited to volatile”, the process proceeds to another process. In step 4030, the MPU 101 sets a nonvolatile cache as a candidate. Here, the nonvolatile cache b502 is set as a cache candidate. Step 4
In step 063, the number of remaining candidates is determined. If the number is singular, the process is terminated. If the number is plural, the process proceeds to another process. Here, since only the non-volatile cache b502 remains, the process ends. Note that the other processing when there are a plurality of candidates is the same as in step 1040 and subsequent steps in FIG.

【0058】なお、データの旧い内容がキャッシュ上に
存在していた場合は、その旧い内容が新しい内容によっ
て上書きされるか、又は、新しい内容が別の場所に格納
された後で旧い内容がキャッシュから削除(無効化)さ
れる。
If the old contents of the data exist in the cache, the old contents are overwritten by the new contents, or the old contents are stored in another location before the new contents are stored in the cache. Is deleted (invalidated) from.

【0059】以上のディスクアレイシステム1によれ
ば、データやパリティの転送が複数バスにまたがる頻度
を削減することができる。そして、これにより、転送の
処理時間を削減できると共に、各バスに接続されている
他の装置の処理を阻害することを抑制でき、システムの
性能を向上することができる。さらに、不揮発性キャッ
シュを極力温存するようにキャッシュを使用するので、
不揮発性メモリの必要量を削減でき、システムの低価格
化を実現することができる。
According to the disk array system 1 described above, it is possible to reduce the frequency of transfer of data and parity over a plurality of buses. As a result, the transfer processing time can be reduced, and it is possible to suppress the hindrance of the processing of other devices connected to each bus, thereby improving the performance of the system. In addition, since the cache is used to preserve the nonvolatile cache as much as possible,
The required amount of the nonvolatile memory can be reduced, and the cost of the system can be reduced.

【0060】なお、選択したキャッシュの空き領域が不
足する場合には、当該キャッシュを除外してから、前記
選択方法を再度適用すればよい。また、キャッシュ多重
化などを行うために複数キャッシュのいくつかに同じ内
容を格納する場合には、前記選択方法を適用して1つの
キャッシュを選択し、次にそのキャッシュを除外して前
記選択方法を再度適用して次のキャッシュを選択し、こ
れを繰り返して、必要な数のキャッシュを選択すればよ
い。
In the case where the free space of the selected cache is insufficient, the cache may be excluded and the above selection method may be applied again. When the same content is stored in some of a plurality of caches for performing cache multiplexing or the like, one cache is selected by applying the above selection method, and then the cache is excluded to remove the cache. Is applied again to select the next cache, and this is repeated to select the required number of caches.

【0061】<第二実施形態>図8は、本発明の第二実
施形態にかかるディスクアレイシステム2のブロック図
である。このディスクアレイシステム2が第一実施形態
のディスクアレイシステム1と異なる点は、MPU10
1が転送装置401とXOR演算装置402の機能を有
し、アクセラレータボード200には転送装置とXOR
演算装置が設けられていない点である。
<Second Embodiment> FIG. 8 is a block diagram of a disk array system 2 according to a second embodiment of the present invention. The difference between this disk array system 2 and the disk array system 1 of the first embodiment is that the MPU 10
1 has the functions of the transfer device 401 and the XOR operation device 402, and the accelerator board 200
The point is that no arithmetic unit is provided.

【0062】本実施形態においても、キャッシュ管理
は、MPU101が第一実施形態と同様に行う。すなわ
ち、本発明に関する各手段は、それら各手段を実現する
ソフトウェアをMPU101が実行することによって実
現される。
In this embodiment, the cache management is performed by the MPU 101 in the same manner as in the first embodiment. That is, each means related to the present invention is realized by the MPU 101 executing software for realizing each means.

【0063】図9は、キャッシュへのデータ転送および
キャッシュからのデータ転送に関係する各装置を管理す
るための管理情報テーブル190の構成図である。この
管理情報テーブル190が第一実施形態の管理情報テー
ブル120と異なる点は、転送装置401とXOR演算
装置402のバス名が“MPUバス”となり、バス階層
番号が“1”になっている点である。
FIG. 9 is a configuration diagram of the management information table 190 for managing each device related to data transfer to the cache and data transfer from the cache. The difference between this management information table 190 and the management information table 120 of the first embodiment is that the bus names of the transfer device 401 and the XOR operation device 402 are “MPU bus” and the bus hierarchy number is “1”. It is.

【0064】次に、キャッシュ選択の個々の具体例につ
いて説明する。 《リードしたデータを格納するキャッシュの選択》リー
ド要求に基づいてディスク群300からリード/ライト
要求使用領域500へリードしたデータを格納するキャ
ッシュを選択する処理は、図3,図4のフロー図の通り
である。図3のステップ1010〜1040までは第一
実施形態と同じになる。ステップ1050では、バス間
のまたがりが最も少ない転送経路となるキャッシュを候
補とするが、例えば、揮発性キャッシュa501を選択
したときの一つの転送経路は[リード/ライト要求使用
領域500]−[転送装置401]−[揮発性キャッシ
ュa501]であるから、バス間のまたがりは、|リー
ド/ライト要求使用領域500のバス階層番号“1”−
転送装置401のバス階層番号“1”|+|転送装置4
01のバス階層番号“1”−揮発性キャッシュa501
のバス階層番号“1”|=“0”となる。また、もう一
つの転送経路は[ディスク装置301]−[転送装置4
01]−[揮発性キャッシュa501]であるから、バ
ス間のまたがりは、|ディスク装置301のバス階層番
号“4”−転送装置401のバス階層番号“1”|+|
転送装置401のバス階層番号“1”−揮発性キャッシ
ュa501のバス階層番号“1”|=“3”となる。同
様の計算により、不揮発性キャッシュb502を選択し
たときの転送経路のバス間のまたがりは“2”または
“5”となり、揮発性キャッシュc503を選択したと
きの転送経路のバス間のまたがりも“2”または“5”
となる。従って、揮発性キャッシュa501を候補とす
る。ステップ1063では、残っている候補の数を判定
し、単数になら処理を終了し、複数ならステップ107
0へ進む。ここでは、揮発性キャッシュa501だけが
候補に残っているため、処理を終了する。
Next, specific examples of cache selection will be described. << Selection of Cache to Store Read Data >> The process of selecting a cache to store read data from the disk group 300 to the read / write request use area 500 based on a read request is described in the flowcharts of FIGS. It is on the street. Steps 1010 to 1040 in FIG. 3 are the same as those in the first embodiment. In step 1050, a cache which is a transfer path with the least straddling between buses is set as a candidate. For example, when the volatile cache a501 is selected, one transfer path is [read / write request use area 500]-[transfer]. [Device 401] − [volatile cache a501], so that the straddling between buses is the bus hierarchy number “1” of the | read / write request use area 500.
Bus layer number “1” of transfer device 401 | + | transfer device 4
01 bus hierarchy number “1” —volatile cache a501
Bus hierarchy number “1” | = “0”. Another transfer path is [disk device 301]-[transfer device 4].
01]-[volatile cache a501], the span between buses is: | bus hierarchy number “4” of disk device 301−bus hierarchy number “1” of transfer device 401 | + |
The bus hierarchy number “1” of the transfer device 401−the bus hierarchy number “1” | = “3” of the volatile cache a501. By the same calculation, the span between the buses of the transfer path when the nonvolatile cache b502 is selected is “2” or “5”, and the span between the buses of the transfer path when the volatile cache c503 is selected is “2”. "Or" 5 "
Becomes Therefore, the volatile cache a501 is set as a candidate. In step 1063, the number of remaining candidates is determined. If the number is singular, the process is terminated;
Go to 0. Here, since only the volatile cache a501 remains as a candidate, the process ends.

【0065】《ライトスルー方式においてライトしたデ
ータを格納するキャッシュの選択》ライト要求に基づい
てリード/ライト要求使用領域500からディスク群3
00へライトしたデータを格納するキャッシュの選択
は、第一実施形態で説明したように、前記リード要求に
基づいてリードしたデータを格納するキャッシュの選択
と同様に行われる。従って、揮発性キャッシュa501
が選択される。
<< Selection of Cache for Storing Data Written in Write-Through Method >> Disk group 3 from read / write request use area 500 based on a write request
The selection of the cache for storing the data written to 00 is performed in the same manner as the selection of the cache for storing the data read based on the read request, as described in the first embodiment. Therefore, the volatile cache a501
Is selected.

【0066】《ライトスルー方式において生成したパリ
ティを格納するキャッシュの選択》ライト要求に基づい
てデータをリード/ライト要求使用領域500からディ
スク群300へライトする際に生成したパリティまたは
差分を格納するキャッシュを選択する処理は、図6のフ
ロー図の通りである。図6のステップ3010〜304
0までは第一実施形態と同じになる。ステップ3050
では、バス間のまたがりが最も少ない転送経路となるキ
ャッシュを候補とするが、例えば、揮発性キャッシュa
501を選択したときの転送経路は[XOR演算装置4
02]−[揮発性キャッシュa501]であるから、バ
ス間のまたがりは、|XOR演算装置402のバス階層
番号“1”−揮発性キャッシュa501のバス階層番号
“1”|=“0”となる。同様の計算により、不揮発性
キャッシュb502を選択したときの転送経路のバス間
のまたがりは“2”となり、揮発性キャッシュc503
を選択したときの転送経路のバス間のまたがりも“2”
となる。従って、揮発性キャッシュa501を候補とす
る。ステップ3063では、残っている候補の数を判定
し、単数になら処理を終了し、複数ならステップ307
0へ進む。ここでは、揮発性キャッシュa501だけが
候補に残っているため、処理を終了する。
<< Selection of Cache for Storing Parity Generated in Write-Through Method >> A cache for storing a parity or a difference generated when data is written from the read / write request use area 500 to the disk group 300 based on a write request. Is selected as shown in the flowchart of FIG. Steps 3010 to 304 in FIG.
Up to 0 is the same as in the first embodiment. Step 3050
In this example, a cache which is a transfer path with the least straddling between buses is set as a candidate.
The transfer path when 501 is selected is [XOR operation device 4
02]-[volatile cache a501], the straddling between buses is | bus hierarchy number "1" of XOR operation device 402-bus hierarchy number "1" of volatile cache a501 | = "0" . By the same calculation, the span between the buses of the transfer path when the nonvolatile cache b502 is selected is “2”, and the volatile cache c503 is selected.
Is "2" across the buses of the transfer path when is selected.
Becomes Therefore, the volatile cache a501 is set as a candidate. In step 3063, the number of remaining candidates is determined. If the number is singular, the process is terminated.
Go to 0. Here, since only the volatile cache a501 remains as a candidate, the process ends.

【0067】《ライトバック方式におけるライトデータ
を格納するキャッシュの選択》ライト要求に基づいてリ
ード/ライト要求使用領域500からディスク群300
へライトするデータを格納するキャッシュを選択する処
理は、図7のフロー図の通りである。図7のステップ4
010〜4063まで第一実施形態と同じになり、不揮
発性キャッシュb502を選択する。
<< Selection of Cache for Storing Write Data in Write-Back Method >> Based on a write request, the disk group 300
The process of selecting the cache that stores the data to be written to is as shown in the flowchart of FIG. Step 4 in FIG.
The process from 010 to 4063 is the same as in the first embodiment, and the nonvolatile cache b502 is selected.

【0068】以上のディスクアレイシステム2によれ
ば、データやパリティの転送が複数バスにまたがる頻度
を削減することができる。そして、これにより、転送の
処理時間を削減できると共に、各バスに接続されている
他の装置の処理を阻害することを抑制でき、システムの
性能を向上することができる。また、不揮発性キャッシ
ュを極力温存するようにキャッシュを使用するので、不
揮発性メモリの必要量を削減でき、システムの低価格化
を実現することができる。さらに、転送装置401およ
びXOR演算装置402を持たないアクセラレータボー
ド200を用いるため、アクセラレータボード200の
構成が簡単になり、低価格になる。
According to the disk array system 2 described above, it is possible to reduce the frequency of transfer of data and parity over a plurality of buses. As a result, the transfer processing time can be reduced, and it is possible to suppress the hindrance of the processing of other devices connected to each bus, thereby improving the performance of the system. Further, since the cache is used so as to preserve the nonvolatile cache as much as possible, the required amount of the nonvolatile memory can be reduced, and the cost of the system can be reduced. Further, since the accelerator board 200 without the transfer device 401 and the XOR operation device 402 is used, the configuration of the accelerator board 200 is simplified and the price is low.

【0069】<第三の実施形態>図10は、本発明の第
三実施形態にかかるディスクアレイシステム3のブロッ
ク図である。このディスクアレイシステム3は、ホスト
システム100と、ディスク群300とからなる。
<Third Embodiment> FIG. 10 is a block diagram of a disk array system 3 according to a third embodiment of the present invention. The disk array system 3 includes a host system 100 and a disk group 300.

【0070】ホストシステム100は、MPU101
と、PCIチップセット102と、メインメモリa10
3と、MPUバス104と、プライマリPCIバス10
5と、システムROM106と、ホストSCSIコント
ローラ107とからなる。MPU101とPCIチップ
セット102とメインメモリa103とシステムROM
106は、MPUバス104で接続されている。また、
また、MPUバス104とプライマリPCIバス105
は、PCIチップセット102で接続されている。さら
に、PCIチップセット102とホストSCSIコント
ローラ107は、プライマリPCIバス105で接続さ
れている。メインメモリa103は、揮発性であり、リ
ード/ライト要求使用領域500と揮発性キャッシュa
501とを持つ。
The host system 100 includes the MPU 101
, PCI chipset 102 and main memory a10
3, the MPU bus 104, and the primary PCI bus 10
5, a system ROM 106, and a host SCSI controller 107. MPU 101, PCI chipset 102, main memory a103, and system ROM
106 is connected by the MPU bus 104. Also,
The MPU bus 104 and the primary PCI bus 105
Are connected by a PCI chipset 102. Further, the PCI chipset 102 and the host SCSI controller 107 are connected by a primary PCI bus 105. The main memory a103 is volatile, and the read / write request use area 500 and the volatile cache a
501.

【0071】ディスク群300は、アレイ状に配置した
複数台のディスク装置301と、SCSIバス302と
からなる。ディスク装置301と前記ホストシステム1
00のホストSCSIコントローラ107は、SCSI
バス302で接続されている。すなわち、ディスク装置
301のSCSIバス302と前記ホストシステム10
0のプライマリPCIバス105は、ホストSCSIコ
ントローラ107で接続されている。
The disk group 300 includes a plurality of disk devices 301 arranged in an array and a SCSI bus 302. Disk device 301 and host system 1
00, the host SCSI controller 107
They are connected by a bus 302. That is, the SCSI bus 302 of the disk device 301 and the host system 10
The primary PCI bus 105 is connected by a host SCSI controller 107.

【0072】ディスク装置301は、ディスクインター
フェース(IF)部310と、ディスク主要部320と
に分かれている。ディスクIF部310は、ディスクS
CSIコントローラ311と、ディスクメモリインタフ
ェース(IF)312と、不揮発性メモリd313と、
揮発性メモリe314と、転送装置401と、XOR演
算装置402とを有している。前記不揮発性メモリd3
13は、不揮発性キャッシュd504を持つ。また、前
記揮発性メモリe314は、揮発性キャッシュe505
を持つ。前記ディスクSCSIコントローラ311と前
記ディスクメモリインタフェース(IF)312と前記
転送装置401と前記XOR演算装置402と前記ディ
スク主要部320は、ディスク内部バス330で接続さ
れている。また、前記ディスク内部バス330と前記不
揮発性メモリd313と前記揮発性メモリe314は、
前記ディスクメモリIF312で接続されている。ま
た、前記ディスクSCSIコントローラ311は、SC
SIバス302に接続されている。
The disk device 301 is divided into a disk interface (IF) unit 310 and a disk main unit 320. The disk IF unit 310
A CSI controller 311, a disk memory interface (IF) 312, a non-volatile memory d313,
It has a volatile memory e314, a transfer device 401, and an XOR operation device 402. The nonvolatile memory d3
13 has a non-volatile cache d504. Further, the volatile memory e314 has a volatile cache e505.
have. The disk SCSI controller 311, the disk memory interface (IF) 312, the transfer device 401, the XOR operation device 402, and the disk main part 320 are connected by a disk internal bus 330. The disk internal bus 330, the nonvolatile memory d313, and the volatile memory e314
They are connected by the disk memory IF 312. In addition, the disk SCSI controller 311
It is connected to the SI bus 302.

【0073】MPU101は、SCSIコマンドを生成
し、ホストSCSIコントローラ107およびディスク
SCSIコントローラ311を介して、ディスク装置3
01の不揮発性メモリd313および揮発性メモリe3
14にアクセスする。このアクセスにより、MPU10
1がキャッシュを管理することが可能となる。
The MPU 101 generates a SCSI command and sends it to the disk device 3 via the host SCSI controller 107 and the disk SCSI controller 311.
01 non-volatile memory d313 and volatile memory e3
Access 14. With this access, MPU 10
1 can manage the cache.

【0074】前記MPUバス104と前記プライマリP
CIバス105と前記SCSIバス302と前記ディス
ク内部バス330は、それぞれ個別にデータなどを転送
できる。
The MPU bus 104 and the primary P
The CI bus 105, the SCSI bus 302, and the disk internal bus 330 can individually transfer data and the like.

【0075】本実施形態においても、キャッシュ管理
は、MPU101が第一実施形態と同様に行う。すなわ
ち、本発明に関する各手段は、それら各手段を実現する
ソフトウェアをMPU101が実行することによって実
現される。
In this embodiment, the cache management is performed by the MPU 101 in the same manner as in the first embodiment. That is, each means related to the present invention is realized by the MPU 101 executing software for realizing each means.

【0076】図11は、キャッシュへのデータ転送およ
びキャッシュからのデータ転送に関係する各装置を管理
するための管理情報テーブル111の構成図である。こ
の管理情報テーブル111が第一実施形態の管理情報テ
ーブル120と異なる点は、転送装置401とXOR演
算装置402と不揮発性キャッシュd504と揮発性キ
ャッシュe505のバス名が“ディスク内部バス”とな
り且つバス階層番号が“4”になっている点およびディ
スク装置301の代りにディスク主要部320があって
そのバス名が“ディスク内部バス”となり且つバス階層
番号が“4”になっている点である。
FIG. 11 is a configuration diagram of the management information table 111 for managing each device related to data transfer to the cache and data transfer from the cache. This management information table 111 is different from the management information table 120 of the first embodiment in that the bus names of the transfer device 401, the XOR operation device 402, the nonvolatile cache d504, and the volatile cache e505 are “disk internal bus” and the bus The point that the layer number is “4” and that the disk main unit 320 is provided instead of the disk device 301, the bus name is “disk internal bus”, and the bus layer number is “4”. .

【0077】次に、キャッシュ選択の個々の具体例につ
いて説明する。 《リードしたデータを格納するキャッシュの選択》リー
ド要求に基づいてディスク群300からリード/ライト
要求使用領域500へリードしたデータを格納するキャ
ッシュを選択する処理は、図3,図4のフロー図の通り
である。図3のステップ1010,1020は第一実施
形態と同じになる。ステップ1030では、MPU10
1は、全てのキャッシュを候補とする。ここでは、揮発
性キャッシュa501および全てのディスク装置301
の不揮発性キャッシュd504および揮発性キャッシュ
e505をキャッシュの候補とする。
Next, specific examples of cache selection will be described. << Selection of Cache to Store Read Data >> The process of selecting a cache to store read data from the disk group 300 to the read / write request use area 500 based on a read request is described in the flowcharts of FIGS. It is on the street. Steps 1010 and 1020 in FIG. 3 are the same as those in the first embodiment. In step 1030, the MPU 10
1 makes all caches candidates. Here, the volatile cache a 501 and all the disk devices 301
The non-volatile cache d504 and the volatile cache e505 are cache candidates.

【0078】ステップ1040では、候補の各キャッシ
ュを選択したときの転送経路を予測する。例えば、揮発
性キャッシュa501を選択すると、転送経路は[リー
ド/ライト要求使用領域500]−[転送装置401]
−[揮発性キャッシュa501]または[ディスク主要
部320]−[転送装置401]−[揮発性キャッシュ
a501]となる。ここで、[ディスク主要部320]
は、リードデータを格納しているディスク装置301の
ディスク主要部320に限られる。一方、[転送装置4
01]は、どのディスク装置301の転送装置401で
も使えるが、[ディスク主要部320]−[転送装置4
01]−[揮発性キャッシュa501]の転送経路を考
慮すると、[ディスク主要部320]と異なるディスク
装置301の転送装置401を用いたときには明らかに
バス間のまたがりが増えてしまう。従って、[転送装置
401]は、リードデータを格納しているディスク装置
301の転送装置401とする。また、不揮発性キャッ
シュd504を選択すると、転送経路は[リード/ライ
ト要求使用領域500]−[転送装置401]−[不揮
発性キャッシュd504]または[ディスク主要部32
0]−[転送装置401]−[不揮発性キャッシュd5
04]となる。ここで、[転送装置401]および[不
揮発性キャッシュd504]は各ディスク装置301に
あるが、両者が同一ディスク装置301にないと明らか
にバス間のまたがりが増えるので、両者は同一ディスク
装置301にあるものとする。また、上述の理由によ
り、[転送装置401]は、リードデータを格納してい
るディスク装置301の転送装置401とする。よっ
て、[転送装置401]および[不揮発性キャッシュd
504]は、リードデータを格納しているディスク装置
301の転送装置401および不揮発性キャッシュd5
04とする。また、揮発性キャッシュe505を選択す
ると、転送経路は[リード/ライト要求使用領域50
0]−[転送装置401]−[揮発性キャッシュe50
5]または[ディスク主要部320]−[転送装置40
1]−[揮発性キャッシュe505]となる。ここで
も、先述の理由により、[転送装置401]および[不
揮発性キャッシュd504]は、リードデータを格納し
ているディスク装置301の転送装置401および不揮
発性キャッシュd504とする。
At step 1040, a transfer route when each candidate cache is selected is predicted. For example, when the volatile cache a501 is selected, the transfer path is [read / write request use area 500]-[transfer device 401].
-[Volatile cache a501] or [disk main part 320]-[transfer device 401]-[volatile cache a501]. Here, [disk main part 320]
Is limited to the disk main part 320 of the disk device 301 storing the read data. On the other hand, [Transfer device 4
01] can be used in the transfer device 401 of any disk device 301, but [Disk main part 320]-[Transfer device 4]
01]-[Volatile cache a501], when the transfer device 401 of the disk device 301 different from the [disk main part 320] is used, the straddling between buses obviously increases. Therefore, the [transfer device 401] is the transfer device 401 of the disk device 301 that stores the read data. When the non-volatile cache d504 is selected, the transfer path is [Read / Write request use area 500]-[Transfer device 401]-[Non-volatile cache d504] or [Disk main part 32].
0]-[Transfer device 401]-[Non-volatile cache d5
04]. Here, although the [transfer device 401] and the [non-volatile cache d504] are present in each disk device 301, if both are not in the same disk device 301, the straddling between buses obviously increases. There is. For the above-mentioned reason, the [transfer device 401] is the transfer device 401 of the disk device 301 that stores the read data. Therefore, [transfer device 401] and [non-volatile cache d
504] is the transfer device 401 of the disk device 301 storing the read data and the non-volatile cache d5.
04. When the volatile cache e505 is selected, the transfer path is changed to [Read / Write request use area 50].
0]-[Transfer device 401]-[Volatile cache e50
5] or [Disk main part 320]-[Transfer device 40]
1]-[volatile cache e505]. Here, for the above-mentioned reason, the [transfer device 401] and the [non-volatile cache d504] are the transfer device 401 and the non-volatile cache d504 of the disk device 301 storing the read data.

【0079】ステップ1050では、バス間のまたがり
が最も少ない転送経路となるキャッシュを候補とする
が、例えば、揮発性キャッシュa501を選択したとき
の一つの転送経路は[リード/ライト要求使用領域50
0]−[転送装置401]−[揮発性キャッシュa50
1]であるから、バス間のまたがりは、|リード/ライ
ト要求使用領域500のバス階層番号“1”−転送装置
401のバス階層番号“4”|+|転送装置401のバ
ス階層番号“4”−揮発性キャッシュa501のバス階
層番号“1”|=“6”となる。また、もう一つの転送
経路は[ディスク主要部320]−[転送装置401]
−[揮発性キャッシュa501]であるから、バス間の
またがりは、|ディスク主要部320のバス階層番号
“4”−転送装置401のバス階層番号“4”|+|転
送装置401のバス階層番号“4”−揮発性キャッシュ
a501のバス階層番号“1”|=“3”となる。同様
の計算により、不揮発性キャッシュd504を選択した
ときの転送経路のバス間のまたがりは“3”または
“0”となり、揮発性キャッシュe505を選択したと
きの転送経路のバス間のまたがりも“3”または“0”
となる。従って、リードデータを格納しているディスク
装置301の不揮発性キャッシュd504および揮発性
キャッシュe505を候補とする。ステップ1063で
は、残っている候補の数を判定し、単数になら処理を終
了し、複数ならステップ1070へ進む。ここでは、不
揮発性キャッシュd504と揮発性キャッシュe505
とが候補に残っているため、ステップ1070へ進む。
In step 1050, a cache which is a transfer path with the least straddling between buses is selected as a candidate. For example, when the volatile cache a501 is selected, one transfer path is set to the [read / write request use area 50].
0]-[Transfer device 401]-[Volatile cache a50
1], the span between the buses is: | bus hierarchy number “1” of read / write request use area 500−bus hierarchy number “4” of transfer device 401 | + | bus hierarchy number “4” of transfer device 401 The bus hierarchy number “1” | = “6” of “−volatile cache a501”. Another transfer path is [disk main part 320]-[transfer device 401].
-[Volatile cache a501], the span between buses is: | bus hierarchy number "4" of disk main part 320-bus hierarchy number "4" of transfer device 401 | + | bus hierarchy number of transfer device 401 “4” −the bus hierarchy number “1” | = “3” of the volatile cache a501. By the same calculation, the span between the buses of the transfer path when the nonvolatile cache d504 is selected is “3” or “0”, and the span between the buses of the transfer path when the volatile cache e505 is selected is “3”. "Or" 0 "
Becomes Therefore, the nonvolatile cache d504 and the volatile cache e505 of the disk device 301 storing the read data are candidates. In step 1063, the number of remaining candidates is determined. If the number is singular, the process ends; if the number is plural, the process proceeds to step 1070. Here, the nonvolatile cache d504 and the volatile cache e505
Are left as candidates, the process proceeds to step 1070.

【0080】ステップ1070では、他の処理における
キャッシュの使用のされ方からキャッシュの属性の判断
基準を取り出す。例えば他の処理としてライトバック方
式のライト処理がある場合、「揮発性に限る」という判
断基準が取り出される。この判断基準の理由は、他の処
理(ライトバック方式のライト処理)では不揮発性キャ
ッシュの使用を必要とするから、それを阻害しないため
には、本処理(リードデータをキャッシュに格納する)
では揮発性キャッシュを使用するのが望ましいからであ
る。
In step 1070, the criterion for determining the attribute of the cache is extracted from the way the cache is used in other processes. For example, when there is a write-back type write process as another process, a criterion of “limited to volatility” is extracted. The reason for this determination criterion is that other processes (write-back type write process) require the use of a non-volatile cache.
This is because it is desirable to use a volatile cache.

【0081】ステップ1071では、取り出した判断基
準の内容が「揮発性に限る」ならば、ステップ1072
へ進む。取り出した判断基準の内容が「不揮発性に限
る」や「揮発性でも不揮発性でもよい」ならば、別の処
理へ進む。ステップ1072では、MPU101は、残
っている候補中の揮発性キャッシュを候補とする。ここ
では、リードデータを格納しているディスク装置301
の不揮発性キャッシュd504と揮発性キャッシュe5
05が残っているから、リードデータを格納しているデ
ィスク装置301の揮発性キャッシュe505を候補と
する。ステップ1073では、残っている候補の数を判
定し、単数なら処理を終了し、複数ならステップ107
1へ進む。ここでは、リードデータを格納しているディ
スク装置301の揮発性キャッシュe505だけが残っ
ているため、処理を終了する。もし、複数の揮発性キャ
ッシュが候補として残ったならば、別の判断基準の処理
へ進む。
In step 1071, if the content of the retrieved criterion is "limited to volatility", step 1072
Proceed to. If the content of the retrieved criterion is “limited to nonvolatile” or “can be volatile or nonvolatile”, the process proceeds to another process. In step 1072, the MPU 101 sets the volatile cache among the remaining candidates as a candidate. Here, the disk device 301 storing the read data
Non-volatile cache d504 and volatile cache e5
05 remains, the volatile cache e505 of the disk device 301 storing the read data is set as a candidate. In step 1073, the number of remaining candidates is determined. If the number is singular, the process is terminated;
Proceed to 1. Here, since only the volatile cache e505 of the disk device 301 storing the read data remains, the processing is terminated. If a plurality of volatile caches remain as candidates, the process proceeds to another criterion.

【0082】《ライトスルー方式におけるライトデータ
を格納するキャッシュの選択》ライト要求に基づいてリ
ード/ライト要求使用領域500からディスク群300
へライトしたデータを格納するキャッシュの選択は、第
一実施形態で説明したように、前記リード要求に基づい
てリードしたデータを格納するキャッシュの選択と同様
に行われる。従って、ライト要求に基づいてデータをラ
イトしたディスク装置301の揮発性キャッシュe50
5が選択される。
<< Selection of Cache for Storing Write Data in Write-Through Method >> Based on the write request, the disk group 300
As described in the first embodiment, the selection of the cache that stores the data written to the cache is performed in the same manner as the selection of the cache that stores the data read based on the read request. Accordingly, the volatile cache e50 of the disk device 301 that has written data based on the write request.
5 is selected.

【0083】《ライトスルー方式において生成したパリ
ティを格納するキャッシュの選択》ライト要求に基づい
てデータをリード/ライト要求使用領域500からディ
スク群300へライトする際に生成したパリティまたは
差分を格納するキャッシュを選択する処理は、図6のフ
ロー図の通りである。図6のステップ3010,302
0は第一実施形態と同じになる。ステップ3030で
は、MPU101は、全てのキャッシュを候補とする。
ここでは、揮発性キャッシュa501および全てのディ
スク装置301の不揮発性キャッシュd504および揮
発性キャッシュe505をキャッシュの候補とする。
<< Selection of Cache for Storing Parity Generated in Write-Through Method >> A cache for storing a parity or a difference generated when data is written from the read / write request use area 500 to the disk group 300 based on a write request. Is selected as shown in the flowchart of FIG. Steps 3010 and 302 in FIG.
0 is the same as in the first embodiment. In step 3030, the MPU 101 sets all caches as candidates.
Here, the volatile cache a 501 and the nonvolatile cache d 504 and the volatile cache e 505 of all the disk devices 301 are set as cache candidates.

【0084】ステップ3040では、候補の各キャッシ
ュを選択したときの転送経路を予測する。例えば、揮発
性キャッシュa501を選択すると、転送経路は[XO
R演算装置402]−[揮発性キャッシュa501]と
なる。ここで、[XOR演算装置402]は、どのディ
スク装置301のXOR演算装置402でも使えるが、
次の理由により、パリティの更新前値が格納されている
ディスク装置(以下、パリティディスク装置という)3
01のXOR演算装置402とする。すなわち、生成し
たパリティまたは差分は、障害時のデータ回復の観点か
ら、データをライトするディスク装置(以下、データデ
ィスク装置という)以外のディスク装置301のディス
ク主要部320にライトするから、その転送経路を考慮
すると、[XOR演算装置402]も、データディスク
装置以外のディスク装置301の[XOR演算装置40
2]とすべきである。他方、パリティの更新値は、図5
を参照して説明したように、データの新旧の内容の差分
とパリティの更新前値のXOR演算によって生成され
る。データの新しい内容はリード/ライト要求使用領域
500に存在し、データの旧い内容はデータディスク装
置301に存在し、パリティの更新前値はパリティディ
スク装置301に存在する。よって、これらの転送経路
を考慮すると、[XOR演算装置402]は、パリティ
ディスク装置301のXOR演算装置402とすべきで
ある、という結論になる。次に、不揮発性キャッシュd
504を選択すると、転送経路は[XOR演算装置40
2]−[不揮発性キャッシュd504]となる。ここ
で、[XOR演算装置402]は、上述の理由により、
パリティディスク装置301のXOR演算装置402と
する。そして、[不揮発性キャッシュd504]は、ど
のディスク装置301の不揮発性キャッシュd504で
も使えるが、[XOR演算装置402]と同一ディスク
装置301にないと明らかにバス間のまたがりが増える
ので、[XOR演算装置402]と同じくパリティディ
スク装置301の不揮発性キャッシュd504とする。
次に、揮発性キャッシュe505を選択すると、転送経
路は[XOR演算装置402]−[揮発性キャッシュe
505]となる。この[XOR演算装置402]および
[揮発性キャッシュe505]も、上述の理由によりパ
リティディスク装置301のXOR演算装置402およ
び揮発性キャッシュe505とする。
In step 3040, a transfer route when each candidate cache is selected is predicted. For example, when the volatile cache a501 is selected, the transfer path is [XO
R operation device 402]-[volatile cache a501]. Here, [XOR operation device 402] can be used for XOR operation device 402 of any disk device 301,
For the following reason, a disk device (hereinafter referred to as a parity disk device) 3 in which the pre-update value of the parity is stored.
01 XOR operation device 402. That is, the generated parity or difference is written to the disk main part 320 of the disk device 301 other than the disk device to which data is written (hereinafter, referred to as a data disk device) from the viewpoint of data recovery at the time of failure. In consideration of the above, the [XOR operation device 402] also corresponds to the [XOR operation device 40] of the disk device 301 other than the data disk device.
2]. On the other hand, the updated value of the parity is shown in FIG.
As described with reference to, the difference between the old and new contents of the data and the XOR operation of the parity pre-update value are generated. The new content of the data exists in the read / write request use area 500, the old content of the data exists in the data disk device 301, and the pre-update value of the parity exists in the parity disk device 301. Therefore, considering these transfer paths, it is concluded that the [XOR operation device 402] should be the XOR operation device 402 of the parity disk device 301. Next, the non-volatile cache d
When 504 is selected, the transfer path is set to [XOR operation device 40
2]-[Non-volatile cache d504]. Here, [XOR operation device 402]
The XOR operation device 402 of the parity disk device 301 is assumed. The [non-volatile cache d504] can be used in the non-volatile cache d504 of any disk device 301. However, if the non-volatile cache d504 is not in the same disk device 301 as the [XOR operation device 402], the straddling between buses obviously increases. The device 402] is a nonvolatile cache d504 of the parity disk device 301.
Next, when the volatile cache e505 is selected, the transfer path is [XOR operation device 402]-[volatile cache e
505]. The [XOR operation device 402] and the [volatile cache e505] are also referred to as the XOR operation device 402 and the volatile cache e505 of the parity disk device 301 for the above-described reason.

【0085】ステップ3050では、バス間のまたがり
が最も少ない転送経路となるキャッシュを候補とする
が、例えば、揮発性キャッシュa501を選択したとき
の転送経路は[XOR演算装置402]−[揮発性キャ
ッシュa501]であるから、バス間のまたがりは、|
XOR演算装置402のバス階層番号“4”−揮発性キ
ャッシュa501のバス階層番号“1”|=“3”とな
る。同様の計算により、不揮発性キャッシュd504を
選択したときの転送経路のバス間のまたがりは“0”と
なり、揮発性キャッシュe505を選択したときの転送
経路のバス間のまたがりも“0”となる。従って、不揮
発性キャッシュd504および揮発性キャッシュe50
5を候補とする。ステップ3063では、残っている候
補の数を判定し、単数になら処理を終了し、複数ならス
テップ3070へ進む。ここでは、不揮発性キャッシュ
d504および揮発性キャッシュe505が候補に残っ
ているため、ステップ3070へ進む。
In step 3050, a cache which is a transfer path with the least straddling between buses is selected as a candidate. For example, when the volatile cache a501 is selected, the transfer path is [XOR operation device 402]-[volatile cache a501], the span between buses is |
The bus hierarchy number “4” of the XOR operation device 402−the bus hierarchy number “1” | = “3” of the volatile cache a501. By the same calculation, the span between the buses of the transfer path when the nonvolatile cache d504 is selected is "0", and the span between the buses of the transfer path when the volatile cache e505 is selected is also "0". Therefore, the nonvolatile cache d504 and the volatile cache e50
5 is a candidate. In step 3063, the number of remaining candidates is determined. If the number is singular, the process ends, and if there is more than one, the process proceeds to step 3070. Here, the process proceeds to step 3070 because the nonvolatile cache d504 and the volatile cache e505 remain as candidates.

【0086】ステップ3070では、他の処理における
キャッシュの使用のされ方からキャッシュの属性の判断
基準を取り出す。例えば他の処理としてライトバック方
式のライト処理がある場合、第一実施形態で説明した理
由により、「揮発性に限る」という判断基準が取り出さ
れる。ステップ3071では、取り出した判断基準の内
容が「揮発性に限る」ならば、ステップ3072へ進
む。取り出した判断基準の内容が「不揮発性に限る」や
「揮発性でも不揮発性でもよい」ならば、別の処理へ進
む。ステップ3072では、MPU101は、残ってい
る候補中の揮発性キャッシュを候補とする。ここでは、
不揮発性キャッシュd504と揮発性キャッシュe50
5が残っているから、揮発性キャッシュe505を候補
とする。ステップ3073では、残っている候補の数を
判定し、単数なら処理を終了し、複数なら別の処理へ進
む。ここでは、揮発性キャッシュe505だけが残って
いるため、処理を終了する。なお、候補が複数のときの
前記別の処理は、図4のステップ1080以下と同様で
ある。
At step 3070, the criterion for determining the attribute of the cache is extracted from the way the cache is used in other processes. For example, when there is a write-back type write process as another process, a criterion of “limited to volatility” is extracted for the reason described in the first embodiment. In step 3071, if the content of the retrieved criterion is “limited to volatility”, the process proceeds to step 3072. If the content of the retrieved criterion is “limited to nonvolatile” or “can be volatile or nonvolatile”, the process proceeds to another process. In step 3072, the MPU 101 sets the volatile cache among the remaining candidates as candidates. here,
Non-volatile cache d504 and volatile cache e50
Since 5 remains, the volatile cache e505 is set as a candidate. In step 3073, the number of remaining candidates is determined. If the number is singular, the process is terminated. If the number is plural, the process proceeds to another process. Here, since only the volatile cache e505 remains, the process ends. Note that the other processing when there are a plurality of candidates is the same as in step 1080 and subsequent steps in FIG.

【0087】《ライトバック方式におけるライトデータ
を格納するキャッシュの選択》ライト要求に基づいてリ
ード/ライト要求使用領域500からディスク群300
へライトするデータを格納するキャッシュを選択する処
理は、図7のフロー図の通りである。図7のステップ4
010,4020は第一実施形態と同じになる。ステッ
プ4030では、MPU101は、データディスク装置
301の不揮発性キャッシュd504を候補とする。こ
の理由は、不揮発性キャッシュからデータディスク装置
301のディスク主要部320に最終的にデータを転送
するため、そのときの転送経路を考慮すると、データデ
ィスク装置301の不揮発性キャッシュd504を用い
る方がデータディスク装置以外の不揮発性キャッシュd
504を用いる場合より明らかにバス間のまたがりが少
なくなるからである。ステップ4063では、残ってい
る候補の数を判定し、単数になら処理を終了し、複数な
ら別の処理へ進む。ここでは、データディスク装置30
1の不揮発性キャッシュd504だけが残っているた
め、処理を終了する。なお、候補が複数のときの前記別
の処理は、図3のステップ1040以下と同様である。
<< Selection of Cache for Storing Write Data in Write-Back Method >> Based on a write request, a disk group 300
The process of selecting the cache that stores the data to be written to is as shown in the flowchart of FIG. Step 4 in FIG.
010 and 4020 are the same as in the first embodiment. In step 4030, the MPU 101 sets the nonvolatile cache d504 of the data disk device 301 as a candidate. The reason is that data is finally transferred from the non-volatile cache to the disk main part 320 of the data disk device 301. Therefore, considering the transfer path at that time, it is better to use the non-volatile cache d504 of the data disk device 301. Non-volatile cache d other than disk device
This is because there is clearly less straddling between buses than when 504 is used. In step 4063, the number of remaining candidates is determined, and if the number is singular, the process ends; if the number is plural, the process proceeds to another process. Here, the data disk device 30
Since only one nonvolatile cache d504 remains, the process ends. Note that the other processing when there are a plurality of candidates is the same as in step 1040 and subsequent steps in FIG.

【0088】以上のディスクアレイシステム3によれ
ば、データやパリティの転送が複数バスにまたがる頻度
を削減することができる。そして、これにより、転送の
処理時間を削減できると共に、各バスに接続されている
他の装置の処理を阻害することを抑制でき、システムの
性能を向上することができる。また、不揮発性キャッシ
ュを極力温存するようにキャッシュを使用するので、不
揮発性メモリの必要量を削減でき、システムの低価格化
を実現することができる。さらに、第一,第二実施形態
のようなアクセラレータボード200を用いる必要がな
くなる。
According to the disk array system 3 described above, it is possible to reduce the frequency of transfer of data and parity over a plurality of buses. As a result, the transfer processing time can be reduced, and it is possible to suppress the hindrance of the processing of other devices connected to each bus, thereby improving the performance of the system. Further, since the cache is used so as to preserve the nonvolatile cache as much as possible, the required amount of the nonvolatile memory can be reduced, and the cost of the system can be reduced. Further, it is not necessary to use the accelerator board 200 as in the first and second embodiments.

【0089】<第四実施形態>図12は、本発明の第四
実施形態にかかるディスクアレイシステム4のブロック
図である。このディスクアレイシステム4が第一実施形
態のディスクアレイシステム1と異なる点は、アクセラ
レータボード200がメモリ可搬部210を持つ点であ
る。不揮発性メモリb204は、メモリ可搬部210内
にあって、メモリ接続手段211によって、メモリイン
ターフェース(IF)203と接続されている。
<Fourth Embodiment> FIG. 12 is a block diagram of a disk array system 4 according to a fourth embodiment of the present invention. This disk array system 4 differs from the disk array system 1 of the first embodiment in that the accelerator board 200 has a memory portable unit 210. The non-volatile memory b204 is in the memory portable unit 210, and is connected to the memory interface (IF) 203 by the memory connection unit 211.

【0090】前記メモリ接続手段211は、不揮発性メ
モリb204およびメモリIF203に動作異常および
内容消去などの電気的悪影響を与えることなく、不揮発
性メモリb204とメモリIF203を切り離し、ま
た、接続することができる。すなわち、メモリ可搬部2
10(すなわち、不揮発性メモリb204)を、アクセ
ラレータボード200から分離することができる。
The memory connection means 211 can disconnect and connect the nonvolatile memory b204 and the memory IF 203 without giving an adverse effect on the operation of the nonvolatile memory b204 and the memory IF 203, such as abnormal operation and erasure of the contents. . That is, the memory portable unit 2
10 (ie, the non-volatile memory b204) can be separated from the accelerator board 200.

【0091】ホストシステム100において電源障害や
動作停止などの障害が発生した際には、メモリ可搬部2
10をアクセラレータボード200から分離し、ディス
クアレイシステム4と同様の構成を持つ待機系のディス
クアレイシステムのアクセラレータボード200に当該
メモリ可搬部210を装着し、不揮発性メモリb204
の内容を待機系のディスクアレイシステムで利用するこ
とができる。
When a failure such as a power failure or operation stop occurs in the host system 100, the memory portable unit 2
10 is separated from the accelerator board 200, and the memory portable unit 210 is mounted on the accelerator board 200 of the standby disk array system having the same configuration as the disk array system 4, and the nonvolatile memory b204
Can be used in the standby disk array system.

【0092】本実施形態においても、キャッシュ管理
は、MPU101が第一実施形態と同様に行う。すなわ
ち、本発明に関する各手段は、それら各手段を実現する
ソフトウェアをMPU101が実行することによって実
現される。
Also in this embodiment, the cache management is performed by the MPU 101 in the same manner as in the first embodiment. That is, each means related to the present invention is realized by the MPU 101 executing software for realizing each means.

【0093】以上のディスクアレイシステム4によれ
ば、第一実施形態と同様、データやパリティの転送が複
数バスにまたがる頻度を削減することができる。そし
て、これにより、転送の処理時間を削減できると共に、
各バスに接続されている他の装置の処理を阻害すること
を抑制でき、システムの性能を向上することができる。
また、不揮発性キャッシュを極力温存するようにキャッ
シュを使用するので、不揮発性メモリの必要量を削減で
き、システムの低価格化を実現することができる。さら
に、メモリ可搬部210を持つため、キャッシュの属性
に「可搬性」を加えてキャッシュの選択判断を行うこと
が出来るようになる。
According to the disk array system 4 described above, similarly to the first embodiment, it is possible to reduce the frequency of transfer of data and parity over a plurality of buses. As a result, the transfer processing time can be reduced,
Disturbing the processing of other devices connected to each bus can be suppressed, and the performance of the system can be improved.
Further, since the cache is used so as to preserve the nonvolatile cache as much as possible, the required amount of the nonvolatile memory can be reduced, and the cost of the system can be reduced. Further, since the memory portable unit 210 is provided, it becomes possible to make a cache selection judgment by adding “portability” to the attribute of the cache.

【0094】[0094]

【発明の効果】本発明のキャッシュ選択方法およびデー
タ処理システムによれば、ある処理により生成された内
容を複数のキャッシュのいずれかに格納する際に、揮発
性キャッシュと不揮発性キャッシュとを選択的に使い分
けることが可能になる。また、異なる装置の各キャッシ
ュを選択的に使い分けることが可能になる。さらに、複
数のキャッシュを種々の判断基準により選択的に使い分
けることが可能になる。そして、これにより、システム
の低価格化を実現できる。また、転送のオーバーヘッド
を低減でき、システム性能を向上することが出来る。さ
らに、複数のキャッシュを、各々に適した有効な使い方
で、効率よく、利用できるようになる。
According to the cache selection method and the data processing system of the present invention, when storing the contents generated by a certain process in any of a plurality of caches, a volatile cache and a nonvolatile cache are selectively used. Can be used properly. In addition, it is possible to selectively use each cache of different devices. Further, a plurality of caches can be selectively used according to various criteria. As a result, the cost of the system can be reduced. In addition, transfer overhead can be reduced, and system performance can be improved. Further, a plurality of caches can be used efficiently with an effective use suitable for each.

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

【図1】第一実施形態にかかるディスクアレイシステム
のブロック図である。
FIG. 1 is a block diagram of a disk array system according to a first embodiment.

【図2】第一実施形態にかかる管理情報テーブルの説明
図である。
FIG. 2 is an explanatory diagram of a management information table according to the first embodiment.

【図3】第一実施形態にかかるリードデータを格納する
キャッシュの選択処理のフロー図である。
FIG. 3 is a flowchart of a process of selecting a cache for storing read data according to the first embodiment;

【図4】図3のフロー図の続きのフロー図である。FIG. 4 is a continuation of the flowchart of FIG. 3;

【図5】パリティの生成操作を示す説明図である。FIG. 5 is an explanatory diagram showing a parity generation operation.

【図6】第一実施形態にかかるライトスルー方式におけ
るパリティまたは差分を格納するキャッシュの選択処理
のフロー図である。
FIG. 6 is a flowchart of a cache selection process for storing a parity or a difference in the write-through method according to the first embodiment;

【図7】第一実施形態にかかるライトバック方式におけ
るライトデータを格納するキャッシュの選択処理のフロ
ー図である。
FIG. 7 is a flowchart of a cache selection process for storing write data in the write-back method according to the first embodiment;

【図8】第二実施形態にかかるディスクアレイシステム
のブロック図である。
FIG. 8 is a block diagram of a disk array system according to a second embodiment.

【図9】第二実施形態にかかる管理情報テーブルの説明
図である。
FIG. 9 is an explanatory diagram of a management information table according to the second embodiment.

【図10】第三実施形態にかかるディスクアレイシステ
ムのブロック図である。
FIG. 10 is a block diagram of a disk array system according to a third embodiment.

【図11】第三実施形態にかかる管理情報テーブルの説
明図である。
FIG. 11 is an explanatory diagram of a management information table according to the third embodiment.

【図12】第四実施形態にかかるディスクアレイシステ
ムのブロック図である。
FIG. 12 is a block diagram of a disk array system according to a fourth embodiment.

【符号の説明】 1,2,3,4 ディスクアレイシステム 100 ホストシステム 101 MPU 103 メインメモリa 104 MPUバス 105 プライマリPCIバス 106 システムROM 200 アクセラレータボード 203 メモリインターフェース(IF) 204 不揮発性メモリb 205 揮発性メモリc 206 セカンダリPCIバス 210 メモリ可搬部 211 メモリ接続手段 300 ディスク群 301 ディスク装置 302 SCSIバス 310 ディスクインターフェース(I
F)部 312 ディスクメモリインタフェース
(IF) 313 不揮発性メモリd 314 揮発性メモリe 320 ディスク主要部 330 ディスク内部バス 401 転送装置 402 XOR演算装置 500 リード/ライト要求使用領域 501 揮発性キャッシュa 502 不揮発性キャッシュb 503 揮発性キャッシュc 504 不揮発性キャッシュd 505 揮発性キャッシュe
[Description of Signs] 1, 2, 3, 4 Disk Array System 100 Host System 101 MPU 103 Main Memory a 104 MPU Bus 105 Primary PCI Bus 106 System ROM 200 Accelerator Board 203 Memory Interface (IF) 204 Nonvolatile Memory b 205 Volatile Memory c 206 Secondary PCI bus 210 Memory portable unit 211 Memory connection means 300 Disk group 301 Disk device 302 SCSI bus 310 Disk interface (I
F) unit 312 Disk memory interface (IF) 313 Nonvolatile memory d 314 Volatile memory e 320 Disk main part 330 Disk internal bus 401 Transfer device 402 XOR operation device 500 Read / write request use area 501 Volatile cache a 502 Nonvolatile Cache b 503 Volatile cache c 504 Nonvolatile cache d 505 Volatile cache e

フロントページの続き (72)発明者 兼田 泰典 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 高野 雅弘 神奈川県小田原市国府津2880番地 株式会 社日立製作所ストレージシステム事業部内 (72)発明者 八木沢 育哉 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内Continuing on the front page (72) Inventor Yasunori Kaneda 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture Inside the Hitachi, Ltd.System Development Laboratory (72) Inventor Masahiro Takano 2880 Kozu, Kozu, Odawara-shi, Kanagawa Storage System Hitachi, Ltd. Within the business division (72) Inventor Ikuya Yagisawa 1099 Ozenji Temple, Aso-ku, Kawasaki City, Kanagawa Prefecture, Japan Hitachi Systems Ltd.System Development Laboratory

Claims (13)

【特許請求の範囲】[Claims] 【請求項1】 ある処理により生成された内容を複数の
キャッシュのいずれかに格納する際に、各キャッシュの
揮発性/不揮発性の情報に基づいて前記内容を格納する
キャッシュを選択することを特徴とするキャッシュ選択
方法。
When storing contents generated by a certain process in one of a plurality of caches, a cache for storing the contents is selected based on volatile / nonvolatile information of each cache. Cache selection method.
【請求項2】 ある処理により生成された内容を複数の
キャッシュのいずれかに格納する際に、各キャッシュの
属性情報に基づいて前記内容を格納するキャッシュを選
択することを特徴とするキャッシュ選択方法。
2. A cache selecting method, wherein when a content generated by a certain process is stored in any of a plurality of caches, a cache for storing the content is selected based on attribute information of each cache. .
【請求項3】 ある処理により生成された内容を複数の
キャッシュのいずれかに格納する際に、各キャッシュの
容量の情報に基づいて前記内容を格納するキャッシュを
選択することを特徴とするキャッシュ選択方法。
3. When a content generated by a certain process is stored in any of a plurality of caches, a cache for storing the content is selected based on information on the capacity of each cache. Method.
【請求項4】 ある処理により生成された内容を複数の
キャッシュのいずれかに格納する際に、関連して行われ
る転送の経路のデータ転送路間のまたがりが最小となる
キャッシュを選択して前記内容を格納することを特徴と
するキャッシュ選択方法。
4. When a content generated by a certain process is stored in any one of a plurality of caches, a cache which minimizes a span of a data transfer path of a related transfer path is selected. A cache selection method characterized by storing contents.
【請求項5】 ある処理により生成された内容を複数の
キャッシュのいずれかに格納する際に、各キャッシュの
システム構成上の位置情報に基づいて前記内容を格納す
るキャッシュを選択することを特徴とするキャッシュ選
択方法。
5. When storing the contents generated by a certain process in any of a plurality of caches, a cache for storing the contents is selected based on positional information on the system configuration of each cache. Cache selection method to be used.
【請求項6】 ある処理により生成された内容を複数の
キャッシュのいずれかに格納する際に、当該処理または
他の処理におけるキャッシュの使用のされ方に基づいて
前記内容を格納するキャッシュを選択することを特徴と
するキャッシュ選択方法。
6. When a content generated by a certain process is stored in any one of a plurality of caches, a cache for storing the content is selected based on how the cache is used in the process or another process. A method for selecting a cache, comprising:
【請求項7】 ある処理により生成された内容を複数の
キャッシュのいずれかに格納する際に、各キャッシュの
空き容量の情報に基づいて前記内容を格納するキャッシ
ュを選択することを特徴とするキャッシュ選択方法。
7. A cache, wherein when a content generated by a certain process is stored in one of a plurality of caches, a cache for storing the content is selected based on information on the free space of each cache. Selection method.
【請求項8】 複数のキャッシュを備えたデータ処理シ
ステムにおいて、ある処理により生成した内容を複数の
キャッシュのいずれかに格納する際に、各キャッシュの
揮発性/不揮発性の情報に基づいて前記内容を格納する
キャッシュを選択するキャッシュ選択手段を備えたこと
を特徴とするデータ処理システム。
8. In a data processing system having a plurality of caches, when contents generated by a certain process are stored in any of the plurality of caches, the contents are stored based on volatile / nonvolatile information of each cache. A data processing system, comprising: a cache selecting unit that selects a cache for storing the data.
【請求項9】 複数のキャッシュを備えたデータ処理シ
ステムにおいて、ある処理により生成した内容を前記複
数のキャッシュのいずれかに格納する際に、各キャッシ
ュの属性情報に基づいて前記内容を格納するキャッシュ
を選択するキャッシュ選択手段を備えたことを特徴とす
るデータ処理システム。
9. A data processing system having a plurality of caches, wherein when a content generated by a certain process is stored in any of the plurality of caches, the cache stores the content based on attribute information of each cache. A data processing system comprising: a cache selection unit for selecting a data item.
【請求項10】 請求項8または請求項9に記載のデー
タ処理システムにおいて、各キャッシュの揮発性/不揮
発性の情報または属性情報を得る属性情報取得手段を備
えたことを特徴とするデータ処理システム。
10. The data processing system according to claim 8, further comprising an attribute information acquisition unit for obtaining volatile / nonvolatile information or attribute information of each cache. .
【請求項11】 複数のキャッシュを備えたデータ処理
システムにおいて、ある処理により生成した内容を前記
複数のキャッシュのいずれかに格納する際に、関連して
行われる転送の経路のデータ転送路間のまたがりが最小
となるキャッシュを選択するキャッシュ選択手段を備え
たことを特徴とするデータ処理システム。
11. A data processing system having a plurality of caches, wherein when a content generated by a certain process is stored in any of the plurality of caches, a data transfer path of a related transfer path is performed. A data processing system comprising: a cache selecting unit that selects a cache that minimizes spread.
【請求項12】 複数のキャッシュを備えたデータ処理
システムにおいて、ある処理により生成した内容を前記
複数のキャッシュのいずれかに格納する際に、各キャッ
シュのシステム構成上の位置情報に基づいて前記内容を
格納するキャッシュを選択するキャッシュ選択手段を備
えたことを特徴とするデータ処理システム。
12. In a data processing system having a plurality of caches, when storing contents generated by a certain process in any one of the plurality of caches, the contents are stored on the basis of positional information on the system configuration of each cache. A data processing system, comprising: a cache selecting unit that selects a cache for storing the data.
【請求項13】 請求項12に記載のデータ処理システ
ムにおいて、各キャッシュの位置情報を得る位置情報取
得手段を備えたことを特徴とするデータ処理システム。
13. The data processing system according to claim 12, further comprising a position information acquisition unit that obtains position information of each cache.
JP8272117A 1996-10-15 1996-10-15 Cache selection method and data processing system Pending JPH10124359A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8272117A JPH10124359A (en) 1996-10-15 1996-10-15 Cache selection method and data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8272117A JPH10124359A (en) 1996-10-15 1996-10-15 Cache selection method and data processing system

Publications (1)

Publication Number Publication Date
JPH10124359A true JPH10124359A (en) 1998-05-15

Family

ID=17509332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8272117A Pending JPH10124359A (en) 1996-10-15 1996-10-15 Cache selection method and data processing system

Country Status (1)

Country Link
JP (1) JPH10124359A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293440A (en) * 2006-04-21 2007-11-08 Toshiba Corp Storage device using nonvolatile cache memory and its control method
WO2012137098A1 (en) * 2011-04-04 2012-10-11 International Business Machines Corporation Extending cache for an external storage system into individual servers
JP2013531296A (en) * 2010-06-24 2013-08-01 インターナショナル・ビジネス・マシーンズ・コーポレーション Data access management in hybrid memory server
US8832395B1 (en) 2013-04-12 2014-09-09 Hitachi, Ltd. Storage system, and method of storage control for storage system
US8954490B2 (en) 2010-06-24 2015-02-10 International Business Machines Corporation Speculative and coordinated data access in a hybrid memory server

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293440A (en) * 2006-04-21 2007-11-08 Toshiba Corp Storage device using nonvolatile cache memory and its control method
US9952774B2 (en) 2010-06-24 2018-04-24 International Business Machines Corporation Hierarchical pre-fetch pipelining in a hybrid memory server
US9542322B2 (en) 2010-06-24 2017-01-10 International Business Machines Corporation Data access management in a hybrid memory server
US10831375B2 (en) 2010-06-24 2020-11-10 International Business Machines Corporation Hierarchical pre-fetch pipelining in a hybrid memory server
US10592118B2 (en) 2010-06-24 2020-03-17 International Business Machines Corporation Hierarchical pre-fetch pipelining in a hybrid memory server
US8898324B2 (en) 2010-06-24 2014-11-25 International Business Machines Corporation Data access management in a hybrid memory server
US8914528B2 (en) 2010-06-24 2014-12-16 International Business Machines Corporation Multiplexing users and enabling virtualization on a hybrid system
US8954490B2 (en) 2010-06-24 2015-02-10 International Business Machines Corporation Speculative and coordinated data access in a hybrid memory server
US9069977B2 (en) 2010-06-24 2015-06-30 International Business Machines Corporation Hybrid server with heterogeneous memory
US10585593B2 (en) 2010-06-24 2020-03-10 International Business Machines Corporation Data access management in a hybrid memory server
US9857987B2 (en) 2010-06-24 2018-01-02 International Business Machines Corporation Hierarchical pre-fetch pipelining in a hybrid memory server
JP2013531296A (en) * 2010-06-24 2013-08-01 インターナショナル・ビジネス・マシーンズ・コーポレーション Data access management in hybrid memory server
US9418235B2 (en) 2010-06-24 2016-08-16 International Business Machines Corporation Hierarchical pre-fetch pipelining in a hybrid memory server
US10452276B2 (en) 2010-06-24 2019-10-22 International Business Machines Corporation Hierarchical pre-fetch pipelining in a hybrid memory server
US9933949B2 (en) 2010-06-24 2018-04-03 International Business Machines Corporation Data access management in a hybrid memory server
US10235051B2 (en) 2010-06-24 2019-03-19 International Business Machines Corporation Data access management in a hybrid memory server
US10222999B2 (en) 2010-06-24 2019-03-05 International Business Machines Corporation Hierarchical pre-fetch pipelining in a hybrid memory server
US10228863B2 (en) 2010-06-24 2019-03-12 International Business Machines Corporation Hierarchical pre-fetch pipelining in a hybrid memory server
WO2012137098A1 (en) * 2011-04-04 2012-10-11 International Business Machines Corporation Extending cache for an external storage system into individual servers
US9104553B2 (en) 2011-04-04 2015-08-11 International Business Machines Corporation Extending cache for an external storage system into individual servers
US9098397B2 (en) 2011-04-04 2015-08-04 International Business Machines Corporation Extending cache for an external storage system into individual servers
WO2014167717A1 (en) * 2013-04-12 2014-10-16 株式会社日立製作所 Storage system and storage system storage control method
US8832395B1 (en) 2013-04-12 2014-09-09 Hitachi, Ltd. Storage system, and method of storage control for storage system

Similar Documents

Publication Publication Date Title
US9396198B2 (en) Computer system, file management method and metadata server
US7120767B2 (en) Snapshot creating method and apparatus
JP3197815B2 (en) Semiconductor memory device and control method thereof
JP4241911B2 (en) Information processing system
JP4773342B2 (en) Nonvolatile storage device and data writing method
US8589617B2 (en) Write once recording device
US20060047926A1 (en) Managing multiple snapshot copies of data
US8909614B2 (en) Data access location selecting system, method, and program
JP2018028715A (en) Storage control device, storage system, and storage control program
US20060227585A1 (en) Computer system, disk apparatus and data update control method
US9384201B2 (en) Method of managing data of file system using database management system
CN101840362A (en) Method and device for achieving copy-on-write snapshot
US20140074776A1 (en) Re-trim of free space within vhdx
JP2008033483A (en) Computer system, computer, and moving method of computer operating environment
CN105469001B (en) Disk data protection method and device
US7694087B2 (en) Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device
US7971022B2 (en) Apparatus and method of processing data of non-volatile memory using transaction block
JP4755244B2 (en) Information generation method, information generation program, and information generation apparatus
US8332844B1 (en) Root image caching and indexing for block-level distributed application management
EP2669806B1 (en) Storage system
US9535796B2 (en) Method, apparatus and computer for data operation
JP5556025B2 (en) Storage system
CN103229150A (en) Data control method and system
CN1965300A (en) Apparatus and method for protecting system data on computer hard-disk
CN101019098A (en) File storage device, host apparatus, method for formatting nonvolatile semiconductor memory, and method of writing data in nonvolatile semiconductor memory