JP2005215722A - Disk array device - Google Patents

Disk array device Download PDF

Info

Publication number
JP2005215722A
JP2005215722A JP2004017916A JP2004017916A JP2005215722A JP 2005215722 A JP2005215722 A JP 2005215722A JP 2004017916 A JP2004017916 A JP 2004017916A JP 2004017916 A JP2004017916 A JP 2004017916A JP 2005215722 A JP2005215722 A JP 2005215722A
Authority
JP
Japan
Prior art keywords
data
disk
host
cache memory
adapter unit
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.)
Granted
Application number
JP2004017916A
Other languages
Japanese (ja)
Other versions
JP4698145B2 (en
Inventor
Jun Minami
純 南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2004017916A priority Critical patent/JP4698145B2/en
Publication of JP2005215722A publication Critical patent/JP2005215722A/en
Application granted granted Critical
Publication of JP4698145B2 publication Critical patent/JP4698145B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data transfer method to a high-speed host device in a disk array device with a large-capacity cache memory. <P>SOLUTION: Data stored in respective cache memories within host adaptor parts 20 and 30 and disk adaptor parts 40 and 50 are also stored in a cache memory part 10. When writing of data is requested from host devices 100 and 101, the host adaptor part 20 stores the data concerned to the own cache memory, and transfers them to the host adaptor part 40. When data are requested from the host devices 100 and 101, the host adaptor part 20 returns, if the data concerned are cached, the cached content to the host device of the requester. When the data are not cached, the data is transmitted to, in the order corresponding to, a disk device 200 (or 201), the disk adaptor part 40, the host adaptor part 20, the host device of the request source. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、ディスクアレイ装置に関し、特にキャッシュメモリを分散して具備するディスクアレイ装置に関する。   The present invention relates to a disk array device, and more particularly to a disk array device having cache memories distributed therein.

ディスクアレイ装置は、高性能化と信頼性強化とが求められている。このため、ディスクアレイ装置は、ホスト装置やディスク装置とのインターフェイス部分の高速化、ディスクアレイ装置内部の共通のデータ転送パスの高速化、ディスク装置の冗長化、データ転送路やキャッシュメモリの2重化等を行ってきた。   Disk array devices are required to have high performance and enhanced reliability. For this reason, the disk array device has a high-speed interface part with the host device and the disk device, a high-speed common data transfer path inside the disk array device, a redundant disk device, and a double data transfer path and cache memory. Has been made.

図9は従来のディスクアレイ装置の構成を示すブロック図である。図示するように、図9は、特許文献1の図1において、セレクタ部とキャッシュメモリ部などを取り除いたものとなっている。   FIG. 9 is a block diagram showing the configuration of a conventional disk array apparatus. As shown in FIG. 9, FIG. 9 is obtained by removing the selector unit and the cache memory unit from FIG.

ディスクアレイ装置1は制御部2とディスク装置200、201とを備える。そして、制御部2は、キャッシュメモリ部10a、10bと、ホストアダプタ部20、30と、ディスクアダプタ部40、50とを備える。   The disk array device 1 includes a control unit 2 and disk devices 200 and 201. The control unit 2 includes cache memory units 10a and 10b, host adapter units 20 and 30, and disk adapter units 40 and 50.

ホスト装置100はホストアダプタ部20と、ホスト装置101はホストアダプタ部30と接続され、ディスク装置200はディスクアダプタ部40と、ディスク装置201はディスクアダプタ部50と、それぞれ高速シリアルバスにて接続されている。また、ホストアダプタ部20、30、およびディスクアダプタ部40、50とキャッシュメモリ部10a、10bとが高速なパラレルバスまたは高速なシリアルバスにて接続されている。ホストアダプタ部20、30と、ディスクアダプタ部40、50とはキャッシュメモリ部10a、10bが備えるメモリを共有している。   The host device 100 is connected to the host adapter unit 20, the host device 101 is connected to the host adapter unit 30, the disk device 200 is connected to the disk adapter unit 40, and the disk device 201 is connected to the disk adapter unit 50 via a high-speed serial bus. ing. The host adapter units 20 and 30 and the disk adapter units 40 and 50 and the cache memory units 10a and 10b are connected by a high-speed parallel bus or a high-speed serial bus. The host adapter units 20 and 30 and the disk adapter units 40 and 50 share the memory included in the cache memory units 10a and 10b.

例えば、ホスト装置100からディスクデータの読み出し要求があった際に、要求されたデータがキャッシュメモリ部10a、10bに格納されている場合(キャッシュヒット時)は、前記ディスク装置200あるいは201へのアクセスを行わずに、キャッシュメモリからデータをホスト装置100に送る。このようにデータを送信することでアクセスの高速化を実現している。   For example, when there is a disk data read request from the host device 100 and the requested data is stored in the cache memory units 10a and 10b (at the time of a cache hit), the disk device 200 or 201 is accessed. The data is sent from the cache memory to the host device 100 without performing the above. By transmitting data in this way, high speed access is realized.

また、キャッシュメモリ部10aと10bとの間でデータが二重に格納されることとなっている。そのため、データ転送の経路のいずれの箇所で障害が発生したとしても、アクセスする経路を切り替えることによりデータ転送が停止せず、かつ前記キャッシュメモリ部10aまたは10b少なくとも一方においてデータが消失しない構成となっている。このような構成によりディスクアレイ装置の信頼性を強化している。
特開2000−99281号公報(第5頁、図1)
Further, data is stored twice between the cache memory units 10a and 10b. Therefore, even if a failure occurs in any part of the data transfer path, the data transfer is not stopped by switching the access path, and the data is not lost in at least one of the cache memory units 10a and 10b. ing. With such a configuration, the reliability of the disk array device is enhanced.
JP 2000-99281 A (page 5, FIG. 1)

上記キャッシュメモリの構成(以下、共有キャッシュ型と称する)では、ホストアダプタ部20、30とディスクアダプタ部40、50とがキャッシュメモリ部10a、10bを共有していた。このため、キャッシュメモリ部10a、10bにおいて、ホスト装置100、101からのアクセス要求とディスク装置200、201へのアクセス要求とが集中するため、結果としてホスト装置100、101からのデータ転送要求のアクセス性能が低下してしまう問題があった。   In the configuration of the cache memory (hereinafter referred to as a shared cache type), the host adapter units 20 and 30 and the disk adapter units 40 and 50 share the cache memory units 10a and 10b. For this reason, in the cache memory units 10a and 10b, access requests from the host devices 100 and 101 and access requests to the disk devices 200 and 201 are concentrated. As a result, access of data transfer requests from the host devices 100 and 101 is performed. There was a problem that performance deteriorated.

本発明は上記問題点に鑑みてなされたもので、ホスト装置からのディスクアクセス要求に対し、分散キャッシュ型(すなわち、キャッシュを個別に備える構成)のもつ高速なアクセス性能を実現しつつ、共有キャッシュ型の高信頼性を維持できるディスクアレイ装置を提供することにある。   The present invention has been made in view of the above problems, and in response to a disk access request from a host device, while realizing the high-speed access performance of a distributed cache type (that is, a configuration including individual caches), a shared cache An object of the present invention is to provide a disk array device capable of maintaining the high reliability of a mold.

本発明の第1の観点にかかるディスクアレイ装置は、
複数のディスク装置と、
個別キャッシュメモリを具備し、前記複数のディスク装置にアクセス可能なディスク側アダプタ部と、
個別キャッシュメモリを具備し、データ転送パスを介して、ホスト装置と接続されるホスト側アダプタ部と、
前記ディスク側アダプタ部と前記ホスト側アダプタ部とからアクセスされ、前記ディスク側アダプタ部と前記ホスト側アダプタ部とのそれぞれが具備する個別キャッシュメモリに格納されるデータを格納する共有キャッシュメモリと
を具備するディスクアレイ装置であって、
前記ホスト側アダプタ部は、
ホスト装置からディスク装置に書き込むべきデータを受け取った場合に、前記共有キャッシュメモリと自己が具備する個別キャッシュメモリとに該データを書き込み、前記ディスク側アダプタ部に該データのディスク装置への書き込みを要求し、いずれかのディスク装置に書き込ませ、
ホスト装置から、データをディスク装置から読み出す旨の要求を受け取った場合に、自己が具備する個別キャッシュメモリに該データが格納されているか否かを判別し、格納されていると判別した際には、該個別キャッシュメモリに格納されているデータを要求元のホスト装置に送信し、格納されていないと判別した際には、ディスク装置からデータを読み出して、要求元のホスト装置に送信する。
A disk array device according to a first aspect of the present invention includes:
Multiple disk units;
A disk-side adapter unit comprising an individual cache memory and accessible to the plurality of disk devices;
A host-side adapter unit that includes an individual cache memory and is connected to a host device via a data transfer path;
A shared cache memory that stores data that is accessed from the disk-side adapter unit and the host-side adapter unit, and that is stored in individual cache memories included in each of the disk-side adapter unit and the host-side adapter unit. A disk array device,
The host-side adapter unit is
When data to be written to the disk device is received from the host device, the data is written to the shared cache memory and the individual cache memory provided therein, and the disk side adapter unit is requested to write the data to the disk device. And write to any disk unit,
When a request to read data from the disk device is received from the host device, it is determined whether or not the data is stored in the individual cache memory provided by the host device. The data stored in the individual cache memory is transmitted to the requesting host device, and when it is determined that the data is not stored, the data is read from the disk device and transmitted to the requesting host device.

この発明によれば、キャッシュデータがホストアダプタ部が具備する個別キャッシュメモリと、共有キャッシュメモリとで二重化される。このため、キャッシュデータの信頼性が高まる。そして、ホスト装置からデータが要求されたとき(読み出し)には、要求されたデータが、個別キャッシュメモリに格納されていれば、そこからデータを要求元のホスト装置に送信する。このため、キャッシュヒット時のデータアクセス性能が共有キャッシュメモリだけの場合と比較して向上する。   According to the present invention, the cache data is duplicated by the individual cache memory provided in the host adapter unit and the shared cache memory. This increases the reliability of the cache data. When data is requested from the host device (reading), if the requested data is stored in the individual cache memory, the data is transmitted to the requesting host device. For this reason, the data access performance at the time of a cache hit is improved as compared with the case where only the shared cache memory is used.

上記ディスクアレイ装置において、
前記ディスク側アダプタ部は、ディスク装置からデータが読み出された場合に、前記共有キャッシュメモリと、自己が具備する個別キャッシュメモリとに該データを書き込むことができる。
この場合、前記ホスト側アダプタ部は、データをディスク装置から読み出す旨の要求を受け取った場合に、自己が具備する個別キャッシュメモリに該データが格納されているか否かを判別し、格納されていないと判別した際には、該要求をディスク側アダプタ部に転送するものであり、
前記ディスク側アダプタ部は、さらに、ホスト側アダプタ部からデータをディスク装置から読み出す旨の要求を受け取った場合に、自己が具備する個別キャッシュメモリに該データが格納されているか否かを判別し、格納されていると判別した際には、該個別キャッシュメモリに格納されているデータを要求元のホスト装置に送信し、格納されていないと判別した際には、ディスク装置からデータを読み出して、要求元のホスト装置に送信する。
In the above disk array device,
When data is read from the disk device, the disk-side adapter unit can write the data to the shared cache memory and the individual cache memory included in the disk-side adapter unit.
In this case, when the host-side adapter unit receives a request to read data from the disk device, the host-side adapter unit determines whether or not the data is stored in the individual cache memory provided by itself. Is determined, the request is transferred to the disk side adapter unit,
When the disk-side adapter unit further receives a request for reading data from the disk device from the host-side adapter unit, the disk-side adapter unit determines whether or not the data is stored in the individual cache memory provided by itself. When it is determined that the data is stored, the data stored in the individual cache memory is transmitted to the requesting host device, and when it is determined that the data is not stored, the data is read from the disk device, Sent to the requesting host device.

上記ディスクアレイ装置において、
前記ディスクアレイ装置は、前記複数のディスク装置を冗長性を持つように具備することが望ましい。
この場合、前記ホスト側アダプタ部は、
ホスト装置からディスク装置に書き込むべきデータを受け取った場合に、該データに基づいて、冗長データを作成し、該データと該冗長データとを、自己が具備する個別キャッシュメモリと前記共有キャッシュメモリとに書き込み、前記ディスク側アダプタ部に該データのディスク装置への書き込みを要求し、いずれかのディスク装置に書き込ませ、
ホスト装置から、データをディスク装置から読み出す旨の要求を受け取った場合に、自己が具備する個別キャッシュメモリと、前記ディスク側アダプタ部が具備する個別キャッシュメモリと、前記共有キャッシュメモリと、ディスク装置との内の1つから読み出されたデータに基づいて、ホスト装置に送信すべきデータを生成し、要求元のホスト装置に送信する。
In the above disk array device,
The disk array device preferably includes the plurality of disk devices so as to have redundancy.
In this case, the host-side adapter unit is
When data to be written to the disk device is received from the host device, redundant data is created based on the data, and the data and the redundant data are transferred to the individual cache memory and the shared cache memory included in the self device. Write, request the disk side adapter unit to write the data to the disk device, write to any disk device,
When a request for reading data from the disk device is received from the host device, the individual cache memory provided by itself, the individual cache memory provided by the disk-side adapter unit, the shared cache memory, and the disk device, Based on the data read from one of the data, data to be transmitted to the host device is generated and transmitted to the requesting host device.

この発明によれは、ディスク装置に書き込むデータの冗長度が高まり、例えば、複数のディスク装置のうち1台がアクセス不能となったとしても、データの復旧が可能となる。したがって、データの信頼性が高まる。   According to the present invention, the redundancy of data to be written to the disk device is increased. For example, even if one of the plurality of disk devices becomes inaccessible, the data can be recovered. Therefore, the reliability of data is increased.

上記ディスクアレイ装置において、
前記ホスト側アダプタ部および前記ディスク側アダプタ部は多重化されていることが望ましい。
この場合、
各ホスト側アダプタ部は少なくとも1つのディスク側アダプタ部と接続され、
各ディスク側アダプタ部は少なくとも1つのホスト側アダプタ部と接続されている。
In the above disk array device,
It is desirable that the host side adapter unit and the disk side adapter unit are multiplexed.
in this case,
Each host side adapter unit is connected to at least one disk side adapter unit,
Each disk-side adapter unit is connected to at least one host-side adapter unit.

この発明によれば、ディスクアレイ装置内部の冗長度が高まり、信頼性が向上する。   According to the present invention, the redundancy inside the disk array device is increased and the reliability is improved.

本発明によれば、共有キャッシュメモリと同等の信頼性を有しながら、従来のディスクアレイ装置と比較して、キャッシュヒット時のデータ転送性能が向上する。   According to the present invention, the data transfer performance at the time of a cache hit is improved as compared with the conventional disk array device while having the same reliability as the shared cache memory.

次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。図1は、本発明の実施の形態にかかるディスクアレイ装置を、2台のホスト装置に接続した例を示した図である。なお、図1と、図9とにおいて、同一の構成要素には同じ番号を付けている。   Next, the best mode for carrying out the invention will be described in detail with reference to the drawings. FIG. 1 is a diagram showing an example in which a disk array device according to an embodiment of the present invention is connected to two host devices. In FIG. 1 and FIG. 9, the same components are assigned the same numbers.

図示するように、本発明の実施の形態にかかるディスクアレイ装置1は、ディスク装置200、201と、制御部2とを備え、ホストデータ転送パス190を介して、ホスト装置100と、ホストデータ転送パス191を介して、ホスト101と接続される。ディスクアレイ装置1は、ホスト装置100、101からデータの書き込み要求を受けて、制御部2の内部に備えるキャッシュメモリに当該データを一時的に格納する。また、ホスト装置100、101からデータの読み出し要求を受けて、制御部2内部に備えるキャッシュメモリあるいはディスク装置200、201から要求されたデータを読み出し、要求元のホスト装置に読み出したデータを送信する。キャッシュヒット時にはキャッシュメモリから、キャッシュミス時にはディスク装置200、201からデータを読み出すものとする。   As shown in the figure, a disk array device 1 according to an embodiment of the present invention includes disk devices 200 and 201 and a control unit 2, and a host device 100 and host data transfer via a host data transfer path 190. It is connected to the host 101 via the path 191. The disk array device 1 receives a data write request from the host devices 100 and 101 and temporarily stores the data in a cache memory provided in the control unit 2. In response to a data read request from the host devices 100 and 101, the requested data is read from the cache memory or the disk devices 200 and 201 provided in the control unit 2, and the read data is transmitted to the requesting host device. . Data is read from the cache memory when a cache hit occurs, and from the disk devices 200 and 201 when a cache miss occurs.

ホスト装置100、101は、スーパーコンピュータ、メインフレーム、サーバ装置、パーソナルコンピュータ等の情報処理装置であり、アプリケーションプログラムを実行しその結果を出力する。ホスト装置100は、ホストデータ転送パス190を介して、ディスクアレイ装置1のホストアダプタ部20と30とに接続される。同様に、ホスト装置101は、ホストデータ転送パス191を介して、ディスクアレイ装置1のホストアダプタ部20と30とに接続される。ホスト装置100、101は、アプリケーションプログラムを実行する際に、ディスクアレイ装置1に格納されている各種データを読み書きする。なお、本実施の形態において、ホストデータ転送パス190、191は、例えば、高速シリアルバスであるものとする。   The host devices 100 and 101 are information processing devices such as a super computer, mainframe, server device, and personal computer, and execute application programs and output the results. The host device 100 is connected to the host adapter units 20 and 30 of the disk array device 1 via the host data transfer path 190. Similarly, the host device 101 is connected to the host adapter units 20 and 30 of the disk array device 1 via the host data transfer path 191. The host devices 100 and 101 read and write various data stored in the disk array device 1 when executing application programs. In the present embodiment, the host data transfer paths 190 and 191 are, for example, high-speed serial buses.

ディスク装置200、201は、例えば、磁気ディスクなどの記憶装置である。ディスク装置200は、ディスクデータ転送パス290を介して、制御部2の内部のディスクアダプタ部40、50に接続されている。同様に、ディスク装置201は、ディスクデータ転送パス291を介して、制御部2内部のディスクアダプタ部40、50に接続されている。   The disk devices 200 and 201 are storage devices such as magnetic disks, for example. The disk device 200 is connected to the disk adapter units 40 and 50 inside the control unit 2 via a disk data transfer path 290. Similarly, the disk device 201 is connected to the disk adapter units 40 and 50 in the control unit 2 via a disk data transfer path 291.

制御部2は、キャッシュメモリを備え、ホスト装置100、101からデータを受け取って、ディスク装置200、201に書き込み、また、そのデータをキャッシュする。なお、本実施の形態では、キャッシュは二重化されている。また、ホスト装置100、101から指示を受け、ディスク装置200、201から要求されたデータを読み出し、あるいは、キャッシュされているデータを読み出し、要求元のホスト装置へ送信する。   The control unit 2 includes a cache memory, receives data from the host devices 100 and 101, writes the data to the disk devices 200 and 201, and caches the data. In the present embodiment, the cache is duplicated. In response to an instruction from the host devices 100 and 101, the requested data is read from the disk devices 200 and 201, or the cached data is read and transmitted to the requesting host device.

図1に示すように、制御部2は、キャッシュメモリ部10と、ホストアダプタ部20、30と、ディスクアダプタ部40、50とを備える(以下これらを総称して、各アダプタ部と呼ぶ。)。そして、各アダプタ部とキャッシュメモリ部10とはキャッシュメモリ間転送路300を介して接続される。また、ホストアダプタ部20とディスクアダプタ部40とは、アダプタ間転送路301を介して接続され、ホストアダプタ部30とディスクアダプタ部50とは、アダプタ間転送路302を介して接続される。なお、本実施の形態では、キャッシュメモリ間転送路300、およびアダプタ間転送路301、302は高速転送が可能なパラレルバスかシリアルバスを使用する。   As shown in FIG. 1, the control unit 2 includes a cache memory unit 10, host adapter units 20 and 30, and disk adapter units 40 and 50 (hereinafter collectively referred to as each adapter unit). . Each adapter unit and the cache memory unit 10 are connected via the inter-cache memory transfer path 300. The host adapter unit 20 and the disk adapter unit 40 are connected via an inter-adapter transfer path 301, and the host adapter unit 30 and the disk adapter unit 50 are connected via an inter-adapter transfer path 302. In this embodiment, the cache memory transfer path 300 and the adapter transfer paths 301 and 302 use a parallel bus or a serial bus capable of high-speed transfer.

なお、ホストアダプタ部20と30およびディスクアダプタ部40と50で、同一の構成および機能を有する。したがって、以下では、ホストアダプタ部20およびディスクアダプタ部40の各部の機能および構成についての説明を行う。   The host adapter units 20 and 30 and the disk adapter units 40 and 50 have the same configuration and function. Therefore, the function and configuration of each part of the host adapter unit 20 and the disk adapter unit 40 will be described below.

キャッシュメモリ部10は、ホストアダプタ部20、30とディスクアダプタ部40、50とがそれぞれ備えているメモリに格納されているデータをキャッシュする。このようなキャッシュメモリ部10の構成を図2に示す。   The cache memory unit 10 caches data stored in memories provided in the host adapter units 20 and 30 and the disk adapter units 40 and 50, respectively. The configuration of such a cache memory unit 10 is shown in FIG.

図示するように、キャッシュメモリ部10はキャッシュメモリ制御部11と共有キャッシュメモリ部12とから構成されている。さらに、キャッシュメモリ制御部11は、クロスバスイッチ111と、メモリ制御部112とから構成され、共有キャッシュメモリ部12は、複数ブロックのメモリ13、14、15、16から構成されている。   As shown in the figure, the cache memory unit 10 includes a cache memory control unit 11 and a shared cache memory unit 12. Further, the cache memory control unit 11 includes a crossbar switch 111 and a memory control unit 112, and the shared cache memory unit 12 includes a plurality of blocks of memories 13, 14, 15, and 16.

キャッシュメモリ制御部11は、ホストアダプタ部20、30およびディスクアダプタ部40、50と、キャッシュメモリ間転送路300を介して接続される。キャッシュメモリ制御部11は、これらの各アダプタ部とデータを送受信し、共有キャッシュメモリ部12内部のメモリの読み書きを制御する。   The cache memory control unit 11 is connected to the host adapter units 20 and 30 and the disk adapter units 40 and 50 via the inter-cache memory transfer path 300. The cache memory control unit 11 transmits / receives data to / from each of these adapter units, and controls reading / writing of the memory inside the shared cache memory unit 12.

クロスバスイッチ111は、ホストアダプタ部20、30と、ディスクアダプタ部40、50と、メモリ制御部112とに接続され、これらの各部の間のデータ交換を制御する。   The crossbar switch 111 is connected to the host adapter units 20 and 30, the disk adapter units 40 and 50, and the memory control unit 112, and controls data exchange between these units.

メモリ制御部112は、クロスバスイッチ111を介して、ホストアダプタ部20、30とディスクアダプタ部40、50からデータを受け取り、共有キャッシュメモリ部12内部のメモリ(モジュール)に当該データを書き込む。また、共有キャッシュメモリ部12内部のメモリ(モジュール)からデータを読み出し、クロスバスイッチ111を介して、データを要求元のホストアダプタ部20、30とディスクアダプタ部40、50に送信する。   The memory control unit 112 receives data from the host adapter units 20 and 30 and the disk adapter units 40 and 50 via the crossbar switch 111, and writes the data to a memory (module) inside the shared cache memory unit 12. Further, the data is read from the memory (module) inside the shared cache memory unit 12 and the data is transmitted to the requesting host adapter units 20 and 30 and the disk adapter units 40 and 50 via the crossbar switch 111.

共有キャッシュメモリ部12は、複数のメモリ13、14、15、16などから構成され、外部(例えば、ホストアダプタ部20)からは1つの記憶装置(キャッシュメモリ)として認識される。共有キャッシュメモリ部12は、少なくとも、ホストアダプタ部20、30とディスクアダプタ部40、50とがそれぞれ備えているキャッシュメモリに記憶しているデータと同じデータを記憶する。   The shared cache memory unit 12 includes a plurality of memories 13, 14, 15, 16, and the like, and is recognized as one storage device (cache memory) from the outside (for example, the host adapter unit 20). The shared cache memory unit 12 stores at least the same data as the data stored in the cache memories provided in the host adapter units 20 and 30 and the disk adapter units 40 and 50, respectively.

メモリ13、14、15、16はそれぞれ、例えば、RAM(Random Access Memory)などの記憶装置またはそれらの集合体であるメモリモジュールである。メモリ13、14、15、16は、共有キャッシュメモリ部12の外部から、1つのメモリとしてアクセス可能となっている。なお、本実施の形態においては、メモリ13、14、15、16の記憶容量の合計は、ホストアダプタ部が20、30とディスクアダプタ部40、50とがそれぞれ備えるキャッシュメモリの記憶容量の合計以上とする。また、メモリ13、14、15、16の使用領域に関しては特に規定はなく、すべてのホストアダプタ部およびディスクアダプタ部からアクセス可能であり、それらの各アダプタ部が具備するキャッシュメモリに格納しているデータをすべて格納しているのであれば、いかような構成でもよい。   Each of the memories 13, 14, 15, and 16 is, for example, a storage device such as a RAM (Random Access Memory) or a memory module that is an aggregate thereof. The memories 13, 14, 15, and 16 can be accessed as one memory from the outside of the shared cache memory unit 12. In the present embodiment, the total storage capacity of the memories 13, 14, 15, 16 is equal to or greater than the total storage capacity of the cache memory provided by the host adapter units 20, 30 and the disk adapter units 40, 50, respectively. And In addition, there is no particular restriction on the use area of the memories 13, 14, 15, and 16, which can be accessed from all the host adapter units and the disk adapter units, and is stored in the cache memory provided in each of these adapter units. Any configuration is possible as long as all data is stored.

図1に戻って、ホストアダプタ部20は、例えば、マイクロプロセッサ(Micro Processing Unit、MPU)、メモリ等から構成され、ホスト装置100、101とディスクアダプタ部40と、キャッシュメモリ部10とを接続する。このようなホストアダプタ部20の構成を図3に示す。図示するように、ホストアダプタ部20はブリッジ21と、個別キャッシュメモリ22と(以下単にメモリ22と称する。)、アダプタ制御部23とを備える。   Returning to FIG. 1, the host adapter unit 20 includes, for example, a microprocessor (Micro Processing Unit, MPU), a memory, and the like, and connects the host devices 100 and 101, the disk adapter unit 40, and the cache memory unit 10. . The configuration of such a host adapter unit 20 is shown in FIG. As shown in the figure, the host adapter unit 20 includes a bridge 21, an individual cache memory 22 (hereinafter simply referred to as a memory 22), and an adapter control unit 23.

ブリッジ21は、クロスバスイッチ等から構成され、ホスト装置100、101と、キャッシュメモリ部10と、ディスクアダプタ部40と、メモリ22と、アダプタ制御部23との間のデータ交換を制御する。図示するように、ブリッジ21は、インターフェイス制御部211、214と、クロスバスイッチ212と、メモリ制御部213と、DMA(Direct Memory Access)制御部215とを備える。   The bridge 21 is configured by a crossbar switch or the like, and controls data exchange among the host devices 100 and 101, the cache memory unit 10, the disk adapter unit 40, the memory 22, and the adapter control unit 23. As illustrated, the bridge 21 includes interface controllers 211 and 214, a crossbar switch 212, a memory controller 213, and a DMA (Direct Memory Access) controller 215.

インターフェイス制御部211は、アダプタ制御部23と、ホスト装置100、101と、DMA制御部215と、クロスバスイッチ212との間のデータ転送を制御し、ホスト装置100、101から送信される書き込み要求や読み出し要求等の処理を司る。   The interface control unit 211 controls data transfer among the adapter control unit 23, the host devices 100 and 101, the DMA control unit 215, and the crossbar switch 212, and write requests transmitted from the host devices 100 and 101 It manages processing such as read requests.

クロスバスイッチ212は、インターフェイス制御部211、214と、メモリ制御部213と、DMA制御部215とに接続され、これら各部の間のデータ交換を制御する。   The crossbar switch 212 is connected to the interface control units 211 and 214, the memory control unit 213, and the DMA control unit 215, and controls data exchange between these units.

メモリ制御部213は、クロスバスイッチ212から送信されるデータの、メモリ22への書き込みと、メモリ22からのデータを読み出しを制御する。   The memory control unit 213 controls writing of data transmitted from the crossbar switch 212 to the memory 22 and reading of data from the memory 22.

インターフェイス制御部214は、ディスクアダプタ部40と、キャッシュメモリ部10と、クロスバスイッチ212との間のデータ転送を制御する。   The interface control unit 214 controls data transfer among the disk adapter unit 40, the cache memory unit 10, and the crossbar switch 212.

DMA制御部215は、メモリ制御部213とインターフェイス制御部211との間のDMA転送を司る。   The DMA control unit 215 manages DMA transfer between the memory control unit 213 and the interface control unit 211.

メモリ22は、例えば、RAMなどの集合体であるメモリモジュールから構成される。メモリ22はホスト装置100、101から送信されたディスク装置200、201への書き込みデータをキャッシュする。共有キャッシュメモリ部12と対比すると、メモリ22は個別のキャッシュメモリとなっている。   The memory 22 is composed of a memory module that is an aggregate such as a RAM. The memory 22 caches write data to the disk devices 200 and 201 transmitted from the host devices 100 and 101. In contrast to the shared cache memory unit 12, the memory 22 is an individual cache memory.

アダプタ制御部23は、MPUやワークエリアとなるRAM、ROM(Read Only Memory)などを備え、ホストアダプタ部20全体の動作を制御する。   The adapter control unit 23 includes an MPU, a RAM serving as a work area, a ROM (Read Only Memory), and the like, and controls the operation of the entire host adapter unit 20.

図1に戻って、ディスクアダプタ部40は、例えば、MPU、メモリ等から構成され、ディスク装置200、201とホストアダプタ部20と、キャッシュメモリ部10とを接続する。このようなディスクアダプタ部40の構成を図4に示す。図示するように、ディスクアダプタ部40はブリッジ41と、個別キャッシュメモリ42と(以下単にメモリ42と称する。)、アダプタ制御部43とを備える。ディスク装置200とは、ディスクデータ転送パス290と、ディスク装置201とは、ディスクデータ転送パス291とを介して接続される。なお、本実施の形態において、ディスクデータ転送パス290、291は、高速転送が可能なパラレルバスかシリアルバスであるものとする。   Returning to FIG. 1, the disk adapter unit 40 includes, for example, an MPU, a memory, and the like, and connects the disk devices 200 and 201, the host adapter unit 20, and the cache memory unit 10. The configuration of such a disk adapter unit 40 is shown in FIG. As shown, the disk adapter unit 40 includes a bridge 41, an individual cache memory 42 (hereinafter simply referred to as a memory 42), and an adapter control unit 43. The disk device 200 is connected to the disk data transfer path 290 and the disk device 201 is connected to the disk data transfer path 291. In this embodiment, it is assumed that the disk data transfer paths 290 and 291 are parallel buses or serial buses capable of high-speed transfer.

ブリッジ41は、クロスバスイッチ等から構成され、ディスク装置200、201と、キャッシュメモリ部10と、ホストアダプタ部20と、メモリ42とアダプタ制御部43との間のデータ交換を制御する。なお、ブリッジ41の内部構成およびその機能はブリッジ21と同様とする。   The bridge 41 is configured by a crossbar switch or the like, and controls data exchange among the disk devices 200 and 201, the cache memory unit 10, the host adapter unit 20, the memory 42, and the adapter control unit 43. The internal configuration and function of the bridge 41 are the same as those of the bridge 21.

メモリ42は、例えば、RAMなどの集合体であるメモリモジュールから構成される。メモリ42は、ディスク装置200、201から読み出したデータをキャッシュする。共有キャッシュメモリ部12と対比すると、メモリ42は個別のキャッシュメモリとなっている。   The memory 42 is composed of a memory module that is an aggregate such as a RAM. The memory 42 caches data read from the disk devices 200 and 201. In contrast to the shared cache memory unit 12, the memory 42 is an individual cache memory.

アダプタ制御部43は、MPUやワークエリアとなるRAM、ROMなどを備え、ディスクアダプタ部40全体の動作を制御する。   The adapter control unit 43 includes an MPU, a RAM, a ROM serving as a work area, and the like, and controls the operation of the entire disk adapter unit 40.

次に、図面を参照して、本発明の実施例について説明する。本実施例では、ホスト装置100がディスク装置200に格納されているデータを読み書きしようとする場合を説明する。なお、ここではホストアダプタ部20とディスクアダプタ部40とが主系で、ホストアダプタ部30とディスクアダプタ部50とが従系とする。   Next, embodiments of the present invention will be described with reference to the drawings. In this embodiment, a case where the host device 100 attempts to read / write data stored in the disk device 200 will be described. Here, the host adapter unit 20 and the disk adapter unit 40 are the primary system, and the host adapter unit 30 and the disk adapter unit 50 are the secondary system.

先に、ホスト装置100からディスク装置への書き込み処理を説明する。図5は、書き込み処理におけるホストアダプタ部20の書き込み処理を説明するフローチャートである。   First, a writing process from the host device 100 to the disk device will be described. FIG. 5 is a flowchart for explaining the writing process of the host adapter unit 20 in the writing process.

ホストデータ転送パス190を介して、ホスト装置100からホストアダプタ部20に対して、ディスク装置へのデータ書き込み要求があると、ホストアダプタ部20は書き込み処理を開始する。   When there is a data write request to the disk device from the host device 100 to the host adapter unit 20 via the host data transfer path 190, the host adapter unit 20 starts a write process.

ホストアダプタ部20のインターフェイス制御部211が、ホスト装置100からディスク装置へのデータ書き込み要求を受信すると(ステップS101)、インターフェイス制御部211は、アダプタ制御部23に要求があったことを送信する。アダプタ制御部23は、書き込み要求があったことを認識すると、インターフェイス制御部211からホスト装置100から送信された書き込むべきデータを取得する。そして、このデータをDMA制御部215を介してクロスバスイッチ212へ送信する。クロスバスイッチ212は、受け取ったデータをメモリ制御部213とインターフェイス制御部214とに転送する。さらに、メモリ制御部213は、このデータをメモリ22に書き込む。また、インターフェイス制御部214は、このデータをキャッシュメモリ間転送路300を介して、キャッシュメモリ部10に転送する。キャッシュメモリ部10(キャッシュメモリ制御部11)は、共有キャッシュメモリ部12内のメモリ13、14、15、16にデータを書き込む(ステップS102)。つまり、ステップS102では、メモリ22と共有キャッシュメモリ部12とに同じデータが書き込まれる。   When the interface control unit 211 of the host adapter unit 20 receives a data write request from the host device 100 to the disk device (step S101), the interface control unit 211 transmits a request to the adapter control unit 23. When the adapter control unit 23 recognizes that there is a write request, the adapter control unit 23 acquires data to be written transmitted from the host device 100 from the interface control unit 211. Then, this data is transmitted to the crossbar switch 212 via the DMA control unit 215. The crossbar switch 212 transfers the received data to the memory control unit 213 and the interface control unit 214. Further, the memory control unit 213 writes this data in the memory 22. Further, the interface control unit 214 transfers this data to the cache memory unit 10 via the inter-cache memory transfer path 300. The cache memory unit 10 (cache memory control unit 11) writes data to the memories 13, 14, 15 and 16 in the shared cache memory unit 12 (step S102). That is, in step S102, the same data is written in the memory 22 and the shared cache memory unit 12.

次に、インターフェイス制御部211は、ホスト装置100に向けて、書き込みが完了した旨の情報を送信する(ステップS103)。最後にインターフェイス制御部211は、書き込み要求をアダプタ間転送路301を介して、ディスクアダプタ部40に転送し(ステップS104)、書き込み処理を終了する。   Next, the interface control unit 211 transmits information indicating that the writing has been completed to the host device 100 (step S103). Finally, the interface control unit 211 transfers the write request to the disk adapter unit 40 via the inter-adapter transfer path 301 (step S104), and ends the write process.

キャッシュメモリ部10内のメモリ制御部112は、クロスバスイッチ111を介して、書き込みデータをホストアダプタ部20から受け取ると、メモリ13、14、15、16のうちのいずれかにデータを書き込む。   When the memory control unit 112 in the cache memory unit 10 receives write data from the host adapter unit 20 via the crossbar switch 111, the memory control unit 112 writes the data to any of the memories 13, 14, 15, and 16.

一方、ディスクアダプタ部40は、アダプタ間転送路301を介して、ホストアダプタ部20から書き込み要求を受信すると、書き込み処理を開始する。図6を参照して、この書き込み処理を説明する。   On the other hand, when the disk adapter unit 40 receives a write request from the host adapter unit 20 via the inter-adapter transfer path 301, the disk adapter unit 40 starts a write process. This writing process will be described with reference to FIG.

図示するように、ブリッジ41がホストアダプタ部20から書き込み要求を受信すると(ステップS201)、ブリッジ41はメモリ22からキャッシュされている書き込まれるべきデータを読み出す(ステップS202)。そして、ブリッジ41は、書き込み先として要求されているディスク装置200に書き込み要求と書き込まれるべきデータとを転送する(ステップS203)。すると、ディスク装置200は、そのデータを書き込む。そして、ディスクアダプタ部40は書き込み処理を終了する。   As shown in the figure, when the bridge 41 receives a write request from the host adapter unit 20 (step S201), the bridge 41 reads cached data to be written from the memory 22 (step S202). Then, the bridge 41 transfers the write request and data to be written to the disk device 200 requested as the write destination (step S203). Then, the disk device 200 writes the data. Then, the disk adapter unit 40 ends the writing process.

次に、図7、8を参照して読み出し処理を説明する。それぞれ、図7はホストアダプタ部20の、図8はディスクアダプタ部40の読み出し処理を説明するためのフローチャートである。ホスト装置100からデータの読み出し要求が、ホストアダプタ部20に送信されると、ホストアダプタ部20が読み出し処理を開始する。   Next, the reading process will be described with reference to FIGS. FIG. 7 is a flowchart for explaining the read processing of the host adapter unit 20 and FIG. 8 is the disk adapter unit 40, respectively. When a data read request is transmitted from the host device 100 to the host adapter unit 20, the host adapter unit 20 starts a read process.

ホストアダプタ部20のインターフェイス制御部211が、ホスト装置100からディスク装置からのデータ読み出し要求を受信すると、インターフェイス制御部211は、アダプタ制御部23に要求があったことを送信する。アダプタ制御部23はメモリ22に要求されたデータがキャッシュされているかどうかを判別する(図7、ステップS301)。より詳細には、アダプタ制御部23がメモリ制御部213に、データがメモリ22にキャッシュされているか否かを判別させする。   When the interface control unit 211 of the host adapter unit 20 receives a data read request from the disk device from the host device 100, the interface control unit 211 transmits a request to the adapter control unit 23. The adapter control unit 23 determines whether the requested data is cached in the memory 22 (FIG. 7, step S301). More specifically, the adapter control unit 23 causes the memory control unit 213 to determine whether data is cached in the memory 22.

インターフェイス制御部211が、要求されたデータがメモリ22に格納(キャッシュ)されていると判別した場合には(ステップS301:YES)、DMA制御部215が、メモリ制御部213を介して、メモリ22から要求されたデータを読み出す。そして、クロスバスイッチ212とホストデータ転送パス190とを介して、要求元であるホスト装置100に読み出したデータを送信し(ステップS302)、読み出し処理を終了する。   When the interface control unit 211 determines that the requested data is stored (cached) in the memory 22 (step S301: YES), the DMA control unit 215 performs the memory 22 via the memory control unit 213. Read the requested data from. Then, the read data is transmitted to the requesting host apparatus 100 via the crossbar switch 212 and the host data transfer path 190 (step S302), and the read process is terminated.

一方、要求されたデータがメモリ22に格納されていないと判別した場合には(ステップS301:NO)、読み出し要求をディスクアダプタ部40に転送し(ステップS303)、ホストアダプタ部20は、ディスクアダプタ部40から読み出し完了の旨を示す情報が送信されるまで待機あるいは他のデータ処理(読み出し、書き込み等)を実行する。   On the other hand, if it is determined that the requested data is not stored in the memory 22 (step S301: NO), the read request is transferred to the disk adapter unit 40 (step S303), and the host adapter unit 20 Waiting or other data processing (reading, writing, etc.) is executed until information indicating completion of reading is transmitted from the unit 40.

その後、ホストアダプタ部20が、ディスクアダプタ部40から読み出し完了の旨を示す情報を受信すると(ステップS304)、ブリッジ21は当該データをメモリ42から読み出して、要求元のホスト装置100へ送信し(ステップS305)、読み出し処理を終了する。   Thereafter, when the host adapter unit 20 receives information indicating the completion of reading from the disk adapter unit 40 (step S304), the bridge 21 reads the data from the memory 42 and transmits it to the requesting host apparatus 100 ( Step S305), the reading process is terminated.

一方、ディスクアダプタ部40は、ホストアダプタ部20から読み出し要求を受信すると、読み出し処理を開始する。まず、ブリッジ41は、メモリ42に要求されたデータがキャッシュされているか否かを判別する(図8、ステップ401)。   On the other hand, when the disk adapter unit 40 receives a read request from the host adapter unit 20, the disk adapter unit 40 starts a read process. First, the bridge 41 determines whether or not the requested data is cached in the memory 42 (FIG. 8, step 401).

ブリッジ41が、要求されたデータがメモリ42にキャッシュされていると判別した場合には(ステップS401:YES)、読み出しが完了した旨の情報を要求元のホストアダプタ部20に送信し(ステップS402)、読み出し処理を終了する。   When the bridge 41 determines that the requested data is cached in the memory 42 (step S401: YES), the information indicating that the reading is completed is transmitted to the requesting host adapter unit 20 (step S402). ), The reading process is terminated.

一方、ブリッジ41が、要求されたデータがメモリ42に格納されていないと判別した場合には(ステップS401:NO)、読み出し要求をディスク装置200に転送しディスク装置から要求されたデータを読み出す(ステップS403)。次に、ブリッジ41は、読み出したデータをメモリ42に格納し(ステップS404)、キャッシュメモリ部10に送信する(ステップS405)。最後に、読み出しが完了した旨の情報を要求元のホストアダプタ部20に送信し(ステップS406)、読み出し処理を終了する。   On the other hand, if the bridge 41 determines that the requested data is not stored in the memory 42 (step S401: NO), the read request is transferred to the disk device 200 and the requested data is read from the disk device ( Step S403). Next, the bridge 41 stores the read data in the memory 42 (step S404) and transmits it to the cache memory unit 10 (step S405). Finally, information indicating that the reading has been completed is transmitted to the requesting host adapter unit 20 (step S406), and the reading process is terminated.

上述した動作によれば、データの書き込み時には、ホストアダプタ部20とキャッシュメモリ部10とにデータがキャッシュされ、ディスク装置からのデータの読み出し時にはディスクアダプタ部40とキャッシュメモリ部10とにデータがキャッシュされ、キャッシュが二重化される。データの読み出し時には、ホストアダプタ部20とディスクアダプタ部40とで、データがキャッシュされているか否かを判別する。そして、データがキャッシュされていれば、キャッシュされたデータを要求元のホスト装置へ送信する。このため、従来の構成と比較して、キャッシュメモリ部10の負荷が軽減されている。   According to the above-described operation, data is cached in the host adapter unit 20 and the cache memory unit 10 when data is written, and data is cached in the disk adapter unit 40 and the cache memory unit 10 when data is read from the disk device. And the cache is duplicated. At the time of reading data, the host adapter unit 20 and the disk adapter unit 40 determine whether the data is cached. If the data is cached, the cached data is transmitted to the requesting host device. Therefore, the load on the cache memory unit 10 is reduced as compared with the conventional configuration.

なお、上述の実施例において、要求元のホスト装置と、要求先のディスク装置との組み合わせが変わったとしても、ホストアダプタ部20とディスクアダプタ部40との動作は変化しない。また、上述の実施例において、例えば、ホストアダプタ部20とディスクアダプタ部50とを経由して、ホスト装置とディスク装置との間でデータを読み書きする場合は、キャッシュメモリ部10を介して、データを転送する。   In the above-described embodiment, even if the combination of the requesting host device and the requesting disk device is changed, the operations of the host adapter unit 20 and the disk adapter unit 40 do not change. In the above-described embodiment, for example, when data is read and written between the host device and the disk device via the host adapter unit 20 and the disk adapter unit 50, the data is transferred via the cache memory unit 10. Forward.

図1の構成において、ホストアダプタ部20が故障により動作停止状態になった場合には、ホスト装置100、101はホストアダプタ部30を経由することで継続してディスクにアクセスすることが可能である。また、ホストアダプタ部20がディスクからのデータの読み出しをディスクアダプタ部40に要求した後にホストアダプタ部20が動作停止状態になった場合でも、キャッシュメモリ部10からホストアダプタ部30を経由して読み出したデータの転送が可能である。ディスクアダプタ部40、50のいずれかが動作停止状態になった場合もで、同じことが実現可能である。   In the configuration of FIG. 1, when the host adapter unit 20 is in an operation stop state due to a failure, the host devices 100 and 101 can continue to access the disk via the host adapter unit 30. . In addition, even when the host adapter unit 20 is in an operation stop state after the host adapter unit 20 requests the disk adapter unit 40 to read data from the disk, the data is read from the cache memory unit 10 via the host adapter unit 30. Data transfer is possible. The same can be realized even when one of the disk adapter units 40 and 50 is stopped.

また、キャッシュメモリ部10が故障により動作不能状態になった場合においても、アダプタ間転送路301、302を経由することで、継続してディスクにアクセスが可能である。   Further, even when the cache memory unit 10 becomes inoperable due to a failure, the disk can be continuously accessed via the inter-adapter transfer paths 301 and 302.

なお、本発明は上記実施の形態に限定されず、種々の変形および応用が可能である。   In addition, this invention is not limited to the said embodiment, A various deformation | transformation and application are possible.

例えば、ディスク装置に書き込むデータは、データ本体と、そのデータの誤りを検出、訂正するためのパリティや誤り訂正符号である冗長データとから構成されるものとすることができる。例えば、この場合、上述のステップS102において、インターフェイス制御部211は、そのデータをアダプタ制御部23に転送し、アダプタ制御部23がそのデータに対して、パリティや誤り訂正符号を生成させ、さらに、インターフェイス制御部211は、メモリ22、キャッシュメモリ部10やディスク装置200等に書き込むものとする。また、ステップS302やS305において、メモリ22あるいはディスクアダプタ部40(メモリ42)もしくはディスク装置200、201から読み出したデータから、冗長データを取り除いて、要求元のホスト装置へ送信する。なお、冗長データの生成方法としては、その他の既知のRAID(blueundant Arrays of Inexpensive Disks)で用いられている生成方法を利用することができる。   For example, data to be written to the disk device may be composed of a data body and redundant data that is a parity or error correction code for detecting and correcting an error in the data. For example, in this case, in step S102 described above, the interface control unit 211 transfers the data to the adapter control unit 23, and the adapter control unit 23 generates a parity and an error correction code for the data. The interface control unit 211 writes data in the memory 22, the cache memory unit 10, the disk device 200, and the like. In steps S302 and S305, redundant data is removed from the data read from the memory 22, the disk adapter unit 40 (memory 42), or the disk devices 200 and 201, and transmitted to the requesting host device. As a redundant data generation method, a generation method used in other known RAID (blueundant Arrays of Inexpensive Disks) can be used.

また、キャッシュメモリへの書き込みの方法として、上記実施の形態ではライトスルー方式の場合を説明したが、ライトバック方式など既知の方式を採用してもよい。例えば、ライトバック方式の場合、ディスク装置200、201へのデータの書き込みは、キャッシュされている該データが共有キャッシュメモリ部10及びメモリ22などから掃き出される際に行われる。この場合には、図5のステップS104や図6の各ステップは図5のステップS101からステップS103までの処理から独立した処理として実行される。   Further, as a method of writing to the cache memory, the case of the write-through method has been described in the above embodiment, but a known method such as a write-back method may be adopted. For example, in the case of the write back method, data is written to the disk devices 200 and 201 when the cached data is swept from the shared cache memory unit 10 and the memory 22. In this case, step S104 in FIG. 5 and each step in FIG. 6 are executed as processes independent of the processes from step S101 to step S103 in FIG.

また、上記ステップS202とステップS305とにおいて、共有キャッシュメモリ部12に格納されているデータを読み出すようにしてもよい。   Further, in step S202 and step S305, data stored in the shared cache memory unit 12 may be read.

さらに、上記実施の形態では、各アダプタ部のメモリのみに対して、要求されているデータがキャッシュされているか否かに関し判別を行っていたが、キャッシュメモリ部10において、この判別を行ってもよい。   Further, in the above embodiment, the determination is made as to whether or not the requested data is cached for only the memory of each adapter unit. However, even if this determination is performed in the cache memory unit 10. Good.

また、図1において、ホストアダプタ部20とディスクアダプタ部50間およびホストアダプタ部30とディスクアダプタ部40間をアダプタ間転送路301、302と同等のデータ転送路にて接続してもよい。このように接続すれば、キャッシュメモリ部10が故障により動作不能状態になった場合においても転送路がアダプタ間転送路301、302に限定されずに転送動作を行うことが可能である。   In FIG. 1, the host adapter unit 20 and the disk adapter unit 50 and the host adapter unit 30 and the disk adapter unit 40 may be connected by a data transfer path equivalent to the inter-adapter transfer paths 301 and 302. By connecting in this way, even when the cache memory unit 10 becomes inoperable due to a failure, the transfer path can be performed without being limited to the inter-adapter transfer paths 301 and 302.

キャッシュメモリ間転送路300、およびアダプタ間転送路301、302が高速転送が可能なパラレルバスである場合には、図1のキャッシュメモリ間転送路300は全アダプタが接続される共有バスで実現してもよい。また、図1のアダプタ間転送路301、302も全アダプタが接続される共有バスで実現してもよい。   When the inter-cache memory transfer path 300 and the inter-adapter transfer paths 301 and 302 are parallel buses capable of high-speed transfer, the inter-cache memory transfer path 300 in FIG. 1 is realized by a shared bus to which all adapters are connected. May be. The inter-adapter transfer paths 301 and 302 in FIG. 1 may also be realized by a shared bus to which all adapters are connected.

図1ではホストアダプタ部20とディスクアダプタ部50、およびホストアダプタ部30とディスクアダプタ部40が接続されてはいなかったが、これらの間を接続してもよい。また、図1においては、キャッシュメモリ部10は1つしか搭載していないが、これも複数搭載し多重化してもよい。   Although the host adapter unit 20 and the disk adapter unit 50 and the host adapter unit 30 and the disk adapter unit 40 are not connected in FIG. 1, they may be connected. In FIG. 1, only one cache memory unit 10 is mounted. However, a plurality of cache memory units 10 may be mounted and multiplexed.

上記実施の形態では、ホストアダプタ部の数およびディスクアダプタ部の数をそれぞれ2つとしたが、それ以上であってもよい。この場合、各ホストアダプタ部は、アダプタ間転送路を介して1つ以上のディスクアダプタ部と接続されるものとする。また、ディスクアダプタ部も1つ以上のホストアダプタ部と接続される。   In the above embodiment, the number of host adapter units and the number of disk adapter units are two, but the number may be more than that. In this case, each host adapter unit is connected to one or more disk adapter units via an inter-adapter transfer path. The disk adapter unit is also connected to one or more host adapter units.

また、アダプタ制御部23、43等が多重化されていてもよい。メモリ22、42等も同様である。   In addition, the adapter control units 23 and 43 may be multiplexed. The same applies to the memories 22, 42 and the like.

本発明の実施の形態にかかるディスクアレイ装置のブロック図である。1 is a block diagram of a disk array device according to an embodiment of the present invention. 図1のキャッシュメモリ部の内部構成を示すブロック図である。FIG. 2 is a block diagram illustrating an internal configuration of a cache memory unit in FIG. 1. 図1のホストアダプタ部の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the host adapter part of FIG. 図1のディスクアダプタ部の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the disk adapter part of FIG. 本発明の動作例にかかるホストアダプタ部の書き込み処理を説明するためのフローチャートである。It is a flowchart for demonstrating the write processing of the host adapter part concerning the operation example of this invention. 本発明の動作例にかかるディスクアダプタ部の書き込み処理を説明するためのフローチャートである。It is a flowchart for demonstrating the write processing of the disk adapter part concerning the operation example of this invention. 本発明の動作例にかかるホストアダプタ部の読み出し処理を説明するためのフローチャートである。It is a flowchart for demonstrating the read processing of the host adapter part concerning the operation example of this invention. 本発明の動作例にかかるディスクアダプタ部の読み出し処理を説明するためのフローチャートである。It is a flowchart for demonstrating the read process of the disk adapter part concerning the operation example of this invention. 従来のディスクアレイ装置のブロック図である。It is a block diagram of a conventional disk array device.

符号の説明Explanation of symbols

1 ディスクアレイ装置
2 制御部
10、10a、10b キャッシュメモリ部
11、11a、11b キャッシュメモリ制御部
111 クロスバスイッチ
112 メモリ制御部
12 共有キャッシュメモリ部
13、14、15、16 メモリ
20、30 ホストアダプタ部
21、41 ブリッジ
211 インターフェイス制御部
212 クロスバスイッチ
213 メモリ制御部
214 インターフェイス制御部
215 DMA制御部
22、42 メモリ(個別キャッシュメモリ)
23、43 アダプタ制御部
40、50 ディスクアダプタ部
100、101 ホスト装置
190、191 ホストデータ転送パス
200、201 ディスク装置
290、291 ディスクデータ転送パス
300 キャッシュメモリ間転送路
301、302 アダプタ間転送路
1 disk array device 2 control unit 10, 10a, 10b cache memory unit 11, 11a, 11b cache memory control unit 111 crossbar switch 112 memory control unit 12 shared cache memory unit 13, 14, 15, 16 memory 20, 30 host adapter unit 21, 41 Bridge 211 Interface control unit 212 Crossbar switch 213 Memory control unit 214 Interface control unit 215 DMA control unit 22, 42 Memory (individual cache memory)
23, 43 Adapter control unit 40, 50 Disk adapter unit 100, 101 Host device 190, 191 Host data transfer path 200, 201 Disk device 290, 291 Disk data transfer path 300 Cache memory transfer path 301, 302 Adapter transfer path

Claims (4)

複数のディスク装置と、
個別キャッシュメモリを具備し、前記複数のディスク装置にアクセス可能なディスク側アダプタ部と、
個別キャッシュメモリを具備し、データ転送パスを介して、ホスト装置と接続されるホスト側アダプタ部と、
前記ディスク側アダプタ部と前記ホスト側アダプタ部とからアクセスされ、前記ディスク側アダプタ部と前記ホスト側アダプタ部とのそれぞれが具備する個別キャッシュメモリに格納されるデータを格納する共有キャッシュメモリと
を具備するディスクアレイ装置であって、
前記ホスト側アダプタ部は、
ホスト装置からディスク装置に書き込むべきデータを受け取った場合に、前記共有キャッシュメモリと自己が具備する個別キャッシュメモリとに該データを書き込み、前記ディスク側アダプタ部に該データのディスク装置への書き込みを要求し、いずれかのディスク装置に書き込ませ、
ホスト装置から、データをディスク装置から読み出す旨の要求を受け取った場合に、自己が具備する個別キャッシュメモリに該データが格納されているか否かを判別し、格納されていると判別した際には、該個別キャッシュメモリに格納されているデータを要求元のホスト装置に送信し、格納されていないと判別した際には、ディスク装置からデータを読み出して、要求元のホスト装置に送信するものであること、
を特徴とするディスクアレイ装置。
Multiple disk units;
A disk-side adapter unit comprising an individual cache memory and accessible to the plurality of disk devices;
A host-side adapter unit that includes an individual cache memory and is connected to a host device via a data transfer path;
A shared cache memory that stores data that is accessed from the disk-side adapter unit and the host-side adapter unit, and that is stored in individual cache memories included in each of the disk-side adapter unit and the host-side adapter unit. A disk array device,
The host-side adapter unit is
When data to be written to the disk device is received from the host device, the data is written to the shared cache memory and the individual cache memory provided therein, and the disk side adapter unit is requested to write the data to the disk device. And write to any disk unit,
When a request to read data from the disk device is received from the host device, it is determined whether or not the data is stored in the individual cache memory provided by the host device. The data stored in the individual cache memory is transmitted to the requesting host device, and when it is determined that the data is not stored, the data is read from the disk device and transmitted to the requesting host device. There is,
A disk array device characterized by the above.
前記ディスク側アダプタ部は、ディスク装置からデータが読み出された場合に、前記共有キャッシュメモリと、自己が具備する個別キャッシュメモリとに該データを書き込むものであり、
前記ホスト側アダプタ部は、データをディスク装置から読み出す旨の要求を受け取った場合に、自己が具備する個別キャッシュメモリに該データが格納されているか否かを判別し、格納されていないと判別した際には、該要求をディスク側アダプタ部に転送するものであり、
前記ディスク側アダプタ部は、さらに、ホスト側アダプタ部から、データをディスク装置から読み出す旨の要求を受け取った場合に、自己が具備する個別キャッシュメモリに該データが格納されているか否かを判別し、格納されていると判別した際には、該個別キャッシュメモリに格納されているデータを要求元のホスト装置に送信し、格納されていないと判別した際には、ディスク装置からデータを読み出して、要求元のホスト装置に送信するものであること、
を特徴とする請求項1に記載のディスクアレイ装置。
The disk-side adapter unit writes the data to the shared cache memory and the individual cache memory provided by itself when data is read from the disk device;
When the host-side adapter unit receives a request to read data from the disk device, the host-side adapter unit determines whether or not the data is stored in the individual cache memory provided by itself, and determines that the data is not stored. The request is transferred to the disk side adapter unit,
When the disk-side adapter unit further receives a request from the host-side adapter unit to read data from the disk device, the disk-side adapter unit determines whether the data is stored in the individual cache memory included in the disk-side adapter unit. When it is determined that the data is stored, the data stored in the individual cache memory is transmitted to the requesting host device. When it is determined that the data is not stored, the data is read from the disk device. To be sent to the requesting host device,
The disk array device according to claim 1.
前記ディスクアレイ装置は、前記複数のディスク装置を冗長性を持つように具備するものであって、
前記ホスト側アダプタ部は、
ホスト装置からディスク装置に書き込むべきデータを受け取った場合に、該データに基づいて、冗長データを作成し、該データと該冗長データとを、自己が具備する個別キャッシュメモリと前記共有キャッシュメモリとに書き込み、前記ディスク側アダプタ部に該データのディスク装置への書き込みを要求し、いずれかのディスク装置に書き込ませ、
ホスト装置から、データをディスク装置から読み出す旨の要求を受け取った場合に、自己が具備する個別キャッシュメモリと、前記ディスク側アダプタ部が具備する個別キャッシュメモリと、前記共有キャッシュメモリと、ディスク装置との内の1つから読み出されたデータに基づいて、ホスト装置に送信すべきデータを生成し、要求元のホスト装置に送信するものであること、
を特徴とする請求項1または2に記載のディスクアレイ装置。
The disk array device comprises the plurality of disk devices so as to have redundancy,
The host-side adapter unit is
When data to be written to the disk device is received from the host device, redundant data is created based on the data, and the data and the redundant data are transferred to the individual cache memory and the shared cache memory included in the self device. Write, request the disk side adapter unit to write the data to the disk device, write to any disk device,
When a request for reading data from the disk device is received from the host device, the individual cache memory provided by itself, the individual cache memory provided by the disk-side adapter unit, the shared cache memory, and the disk device, Generating data to be transmitted to the host device based on the data read from one of the data, and transmitting the data to the requesting host device;
The disk array device according to claim 1, wherein:
前記ホスト側アダプタ部および前記ディスク側アダプタ部は多重化されており、
各ホスト側アダプタ部は少なくとも1つのディスク側アダプタ部と接続され、
各ディスク側アダプタ部は少なくとも1つのホスト側アダプタ部と接続されていること、
を特徴とする請求項1、2または3に記載のディスクアレイ装置。
The host side adapter unit and the disk side adapter unit are multiplexed,
Each host side adapter unit is connected to at least one disk side adapter unit,
Each disk side adapter part is connected to at least one host side adapter part,
4. The disk array device according to claim 1, 2, or 3.
JP2004017916A 2004-01-27 2004-01-27 Disk array device Expired - Fee Related JP4698145B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004017916A JP4698145B2 (en) 2004-01-27 2004-01-27 Disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004017916A JP4698145B2 (en) 2004-01-27 2004-01-27 Disk array device

Publications (2)

Publication Number Publication Date
JP2005215722A true JP2005215722A (en) 2005-08-11
JP4698145B2 JP4698145B2 (en) 2011-06-08

Family

ID=34902576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004017916A Expired - Fee Related JP4698145B2 (en) 2004-01-27 2004-01-27 Disk array device

Country Status (1)

Country Link
JP (1) JP4698145B2 (en)

Also Published As

Publication number Publication date
JP4698145B2 (en) 2011-06-08

Similar Documents

Publication Publication Date Title
KR100793531B1 (en) Raid system and rebuild/copy back processing method therof
JP4472617B2 (en) RAID system, RAID controller and rebuild / copy back processing method thereof
US8074017B2 (en) On-disk caching for raid systems
JP5404804B2 (en) Storage subsystem
US7817626B2 (en) Storage subsystem
US20060015697A1 (en) Computer system and method for migrating from one storage system to another
US6996690B2 (en) Storage system including multiple control units for increased reliability during a failure
WO2010016115A1 (en) Disk array device control unit, data transfer device, and power recovery processing method
JP4477437B2 (en) Storage device, inter-cluster data communication method, and cluster communication control program thereof
JP2010049502A (en) Storage subsystem and storage system having the same
CN112912851B (en) System and method for addressing, and media controller
US6842829B1 (en) Method and apparatus to manage independent memory systems as a shared volume
US11543972B1 (en) Storage system and control method thereof
JP4698145B2 (en) Disk array device
US7136972B2 (en) Apparatus, system, and method for distributed management in a storage system
WO2016122602A1 (en) Systems and methods for sharing non-volatile memory between multiple access models
JP3793544B2 (en) Disk array device and control method thereof
JP4030951B2 (en) Data duplication apparatus and method
KR19990047968A (en) Structure of Array Controller with Dual I / O Bus for Raid System
JP3186725B2 (en) Disk array control device, disk array control system, method thereof, and storage medium storing program
JP2011232962A (en) Disk array device and method for controlling mirrored cache
JP3894196B2 (en) Storage controller
JP2006244527A (en) Disk array control apparatus
JP3894220B2 (en) Storage controller
JP2012190151A (en) Disk array controller, disk array device, and failure identification method

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080526

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081007

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20081106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20081107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081208

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090120

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090424

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110301

LAPS Cancellation because of no payment of annual fees