JP2005215722A - Disk array device - Google Patents
Disk array device Download PDFInfo
- 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
Links
Images
Abstract
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
ホスト装置100はホストアダプタ部20と、ホスト装置101はホストアダプタ部30と接続され、ディスク装置200はディスクアダプタ部40と、ディスク装置201はディスクアダプタ部50と、それぞれ高速シリアルバスにて接続されている。また、ホストアダプタ部20、30、およびディスクアダプタ部40、50とキャッシュメモリ部10a、10bとが高速なパラレルバスまたは高速なシリアルバスにて接続されている。ホストアダプタ部20、30と、ディスクアダプタ部40、50とはキャッシュメモリ部10a、10bが備えるメモリを共有している。
The
例えば、ホスト装置100からディスクデータの読み出し要求があった際に、要求されたデータがキャッシュメモリ部10a、10bに格納されている場合(キャッシュヒット時)は、前記ディスク装置200あるいは201へのアクセスを行わずに、キャッシュメモリからデータをホスト装置100に送る。このようにデータを送信することでアクセスの高速化を実現している。
For example, when there is a disk data read request from the
また、キャッシュメモリ部10aと10bとの間でデータが二重に格納されることとなっている。そのため、データ転送の経路のいずれの箇所で障害が発生したとしても、アクセスする経路を切り替えることによりデータ転送が停止せず、かつ前記キャッシュメモリ部10aまたは10b少なくとも一方においてデータが消失しない構成となっている。このような構成によりディスクアレイ装置の信頼性を強化している。
上記キャッシュメモリの構成(以下、共有キャッシュ型と称する)では、ホストアダプタ部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
本発明は上記問題点に鑑みてなされたもので、ホスト装置からのディスクアクセス要求に対し、分散キャッシュ型(すなわち、キャッシュを個別に備える構成)のもつ高速なアクセス性能を実現しつつ、共有キャッシュ型の高信頼性を維持できるディスクアレイ装置を提供することにある。 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
ホスト装置100、101は、スーパーコンピュータ、メインフレーム、サーバ装置、パーソナルコンピュータ等の情報処理装置であり、アプリケーションプログラムを実行しその結果を出力する。ホスト装置100は、ホストデータ転送パス190を介して、ディスクアレイ装置1のホストアダプタ部20と30とに接続される。同様に、ホスト装置101は、ホストデータ転送パス191を介して、ディスクアレイ装置1のホストアダプタ部20と30とに接続される。ホスト装置100、101は、アプリケーションプログラムを実行する際に、ディスクアレイ装置1に格納されている各種データを読み書きする。なお、本実施の形態において、ホストデータ転送パス190、191は、例えば、高速シリアルバスであるものとする。
The
ディスク装置200、201は、例えば、磁気ディスクなどの記憶装置である。ディスク装置200は、ディスクデータ転送パス290を介して、制御部2の内部のディスクアダプタ部40、50に接続されている。同様に、ディスク装置201は、ディスクデータ転送パス291を介して、制御部2内部のディスクアダプタ部40、50に接続されている。
The
制御部2は、キャッシュメモリを備え、ホスト装置100、101からデータを受け取って、ディスク装置200、201に書き込み、また、そのデータをキャッシュする。なお、本実施の形態では、キャッシュは二重化されている。また、ホスト装置100、101から指示を受け、ディスク装置200、201から要求されたデータを読み出し、あるいは、キャッシュされているデータを読み出し、要求元のホスト装置へ送信する。
The control unit 2 includes a cache memory, receives data from the
図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
なお、ホストアダプタ部20と30およびディスクアダプタ部40と50で、同一の構成および機能を有する。したがって、以下では、ホストアダプタ部20およびディスクアダプタ部40の各部の機能および構成についての説明を行う。
The
キャッシュメモリ部10は、ホストアダプタ部20、30とディスクアダプタ部40、50とがそれぞれ備えているメモリに格納されているデータをキャッシュする。このようなキャッシュメモリ部10の構成を図2に示す。
The
図示するように、キャッシュメモリ部10はキャッシュメモリ制御部11と共有キャッシュメモリ部12とから構成されている。さらに、キャッシュメモリ制御部11は、クロスバスイッチ111と、メモリ制御部112とから構成され、共有キャッシュメモリ部12は、複数ブロックのメモリ13、14、15、16から構成されている。
As shown in the figure, the
キャッシュメモリ制御部11は、ホストアダプタ部20、30およびディスクアダプタ部40、50と、キャッシュメモリ間転送路300を介して接続される。キャッシュメモリ制御部11は、これらの各アダプタ部とデータを送受信し、共有キャッシュメモリ部12内部のメモリの読み書きを制御する。
The cache memory control unit 11 is connected to the
クロスバスイッチ111は、ホストアダプタ部20、30と、ディスクアダプタ部40、50と、メモリ制御部112とに接続され、これらの各部の間のデータ交換を制御する。
The crossbar switch 111 is connected to the
メモリ制御部112は、クロスバスイッチ111を介して、ホストアダプタ部20、30とディスクアダプタ部40、50からデータを受け取り、共有キャッシュメモリ部12内部のメモリ(モジュール)に当該データを書き込む。また、共有キャッシュメモリ部12内部のメモリ(モジュール)からデータを読み出し、クロスバスイッチ111を介して、データを要求元のホストアダプタ部20、30とディスクアダプタ部40、50に送信する。
The
共有キャッシュメモリ部12は、複数のメモリ13、14、15、16などから構成され、外部(例えば、ホストアダプタ部20)からは1つの記憶装置(キャッシュメモリ)として認識される。共有キャッシュメモリ部12は、少なくとも、ホストアダプタ部20、30とディスクアダプタ部40、50とがそれぞれ備えているキャッシュメモリに記憶しているデータと同じデータを記憶する。
The shared cache memory unit 12 includes a plurality of
メモリ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
図1に戻って、ホストアダプタ部20は、例えば、マイクロプロセッサ(Micro Processing Unit、MPU)、メモリ等から構成され、ホスト装置100、101とディスクアダプタ部40と、キャッシュメモリ部10とを接続する。このようなホストアダプタ部20の構成を図3に示す。図示するように、ホストアダプタ部20はブリッジ21と、個別キャッシュメモリ22と(以下単にメモリ22と称する。)、アダプタ制御部23とを備える。
Returning to FIG. 1, the
ブリッジ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
インターフェイス制御部211は、アダプタ制御部23と、ホスト装置100、101と、DMA制御部215と、クロスバスイッチ212との間のデータ転送を制御し、ホスト装置100、101から送信される書き込み要求や読み出し要求等の処理を司る。
The
クロスバスイッチ212は、インターフェイス制御部211、214と、メモリ制御部213と、DMA制御部215とに接続され、これら各部の間のデータ交換を制御する。
The
メモリ制御部213は、クロスバスイッチ212から送信されるデータの、メモリ22への書き込みと、メモリ22からのデータを読み出しを制御する。
The
インターフェイス制御部214は、ディスクアダプタ部40と、キャッシュメモリ部10と、クロスバスイッチ212との間のデータ転送を制御する。
The
DMA制御部215は、メモリ制御部213とインターフェイス制御部211との間のDMA転送を司る。
The
メモリ22は、例えば、RAMなどの集合体であるメモリモジュールから構成される。メモリ22はホスト装置100、101から送信されたディスク装置200、201への書き込みデータをキャッシュする。共有キャッシュメモリ部12と対比すると、メモリ22は個別のキャッシュメモリとなっている。
The
アダプタ制御部23は、MPUやワークエリアとなるRAM、ROM(Read Only Memory)などを備え、ホストアダプタ部20全体の動作を制御する。
The
図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
ブリッジ41は、クロスバスイッチ等から構成され、ディスク装置200、201と、キャッシュメモリ部10と、ホストアダプタ部20と、メモリ42とアダプタ制御部43との間のデータ交換を制御する。なお、ブリッジ41の内部構成およびその機能はブリッジ21と同様とする。
The
メモリ42は、例えば、RAMなどの集合体であるメモリモジュールから構成される。メモリ42は、ディスク装置200、201から読み出したデータをキャッシュする。共有キャッシュメモリ部12と対比すると、メモリ42は個別のキャッシュメモリとなっている。
The
アダプタ制御部43は、MPUやワークエリアとなるRAM、ROMなどを備え、ディスクアダプタ部40全体の動作を制御する。
The
次に、図面を参照して、本発明の実施例について説明する。本実施例では、ホスト装置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
先に、ホスト装置100からディスク装置への書き込み処理を説明する。図5は、書き込み処理におけるホストアダプタ部20の書き込み処理を説明するフローチャートである。
First, a writing process from the
ホストデータ転送パス190を介して、ホスト装置100からホストアダプタ部20に対して、ディスク装置へのデータ書き込み要求があると、ホストアダプタ部20は書き込み処理を開始する。
When there is a data write request to the disk device from the
ホストアダプタ部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
次に、インターフェイス制御部211は、ホスト装置100に向けて、書き込みが完了した旨の情報を送信する(ステップS103)。最後にインターフェイス制御部211は、書き込み要求をアダプタ間転送路301を介して、ディスクアダプタ部40に転送し(ステップS104)、書き込み処理を終了する。
Next, the
キャッシュメモリ部10内のメモリ制御部112は、クロスバスイッチ111を介して、書き込みデータをホストアダプタ部20から受け取ると、メモリ13、14、15、16のうちのいずれかにデータを書き込む。
When the
一方、ディスクアダプタ部40は、アダプタ間転送路301を介して、ホストアダプタ部20から書き込み要求を受信すると、書き込み処理を開始する。図6を参照して、この書き込み処理を説明する。
On the other hand, when the disk adapter unit 40 receives a write request from the
図示するように、ブリッジ41がホストアダプタ部20から書き込み要求を受信すると(ステップS201)、ブリッジ41はメモリ22からキャッシュされている書き込まれるべきデータを読み出す(ステップS202)。そして、ブリッジ41は、書き込み先として要求されているディスク装置200に書き込み要求と書き込まれるべきデータとを転送する(ステップS203)。すると、ディスク装置200は、そのデータを書き込む。そして、ディスクアダプタ部40は書き込み処理を終了する。
As shown in the figure, when the
次に、図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
ホストアダプタ部20のインターフェイス制御部211が、ホスト装置100からディスク装置からのデータ読み出し要求を受信すると、インターフェイス制御部211は、アダプタ制御部23に要求があったことを送信する。アダプタ制御部23はメモリ22に要求されたデータがキャッシュされているかどうかを判別する(図7、ステップS301)。より詳細には、アダプタ制御部23がメモリ制御部213に、データがメモリ22にキャッシュされているか否かを判別させする。
When the
インターフェイス制御部211が、要求されたデータがメモリ22に格納(キャッシュ)されていると判別した場合には(ステップS301:YES)、DMA制御部215が、メモリ制御部213を介して、メモリ22から要求されたデータを読み出す。そして、クロスバスイッチ212とホストデータ転送パス190とを介して、要求元であるホスト装置100に読み出したデータを送信し(ステップS302)、読み出し処理を終了する。
When the
一方、要求されたデータがメモリ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
その後、ホストアダプタ部20が、ディスクアダプタ部40から読み出し完了の旨を示す情報を受信すると(ステップS304)、ブリッジ21は当該データをメモリ42から読み出して、要求元のホスト装置100へ送信し(ステップS305)、読み出し処理を終了する。
Thereafter, when the
一方、ディスクアダプタ部40は、ホストアダプタ部20から読み出し要求を受信すると、読み出し処理を開始する。まず、ブリッジ41は、メモリ42に要求されたデータがキャッシュされているか否かを判別する(図8、ステップ401)。
On the other hand, when the disk adapter unit 40 receives a read request from the
ブリッジ41が、要求されたデータがメモリ42にキャッシュされていると判別した場合には(ステップS401:YES)、読み出しが完了した旨の情報を要求元のホストアダプタ部20に送信し(ステップS402)、読み出し処理を終了する。
When the
一方、ブリッジ41が、要求されたデータがメモリ42に格納されていないと判別した場合には(ステップS401:NO)、読み出し要求をディスク装置200に転送しディスク装置から要求されたデータを読み出す(ステップS403)。次に、ブリッジ41は、読み出したデータをメモリ42に格納し(ステップS404)、キャッシュメモリ部10に送信する(ステップS405)。最後に、読み出しが完了した旨の情報を要求元のホストアダプタ部20に送信し(ステップS406)、読み出し処理を終了する。
On the other hand, if the
上述した動作によれば、データの書き込み時には、ホストアダプタ部20とキャッシュメモリ部10とにデータがキャッシュされ、ディスク装置からのデータの読み出し時にはディスクアダプタ部40とキャッシュメモリ部10とにデータがキャッシュされ、キャッシュが二重化される。データの読み出し時には、ホストアダプタ部20とディスクアダプタ部40とで、データがキャッシュされているか否かを判別する。そして、データがキャッシュされていれば、キャッシュされたデータを要求元のホスト装置へ送信する。このため、従来の構成と比較して、キャッシュメモリ部10の負荷が軽減されている。
According to the above-described operation, data is cached in the
なお、上述の実施例において、要求元のホスト装置と、要求先のディスク装置との組み合わせが変わったとしても、ホストアダプタ部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
図1の構成において、ホストアダプタ部20が故障により動作停止状態になった場合には、ホスト装置100、101はホストアダプタ部30を経由することで継続してディスクにアクセスすることが可能である。また、ホストアダプタ部20がディスクからのデータの読み出しをディスクアダプタ部40に要求した後にホストアダプタ部20が動作停止状態になった場合でも、キャッシュメモリ部10からホストアダプタ部30を経由して読み出したデータの転送が可能である。ディスクアダプタ部40、50のいずれかが動作停止状態になった場合もで、同じことが実現可能である。
In the configuration of FIG. 1, when the
また、キャッシュメモリ部10が故障により動作不能状態になった場合においても、アダプタ間転送路301、302を経由することで、継続してディスクにアクセスが可能である。
Further, even when the
なお、本発明は上記実施の形態に限定されず、種々の変形および応用が可能である。 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
また、キャッシュメモリへの書き込みの方法として、上記実施の形態ではライトスルー方式の場合を説明したが、ライトバック方式など既知の方式を採用してもよい。例えば、ライトバック方式の場合、ディスク装置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
また、上記ステップ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
また、図1において、ホストアダプタ部20とディスクアダプタ部50間およびホストアダプタ部30とディスクアダプタ部40間をアダプタ間転送路301、302と同等のデータ転送路にて接続してもよい。このように接続すれば、キャッシュメモリ部10が故障により動作不能状態になった場合においても転送路がアダプタ間転送路301、302に限定されずに転送動作を行うことが可能である。
In FIG. 1, the
キャッシュメモリ間転送路300、およびアダプタ間転送路301、302が高速転送が可能なパラレルバスである場合には、図1のキャッシュメモリ間転送路300は全アダプタが接続される共有バスで実現してもよい。また、図1のアダプタ間転送路301、302も全アダプタが接続される共有バスで実現してもよい。
When the inter-cache
図1ではホストアダプタ部20とディスクアダプタ部50、およびホストアダプタ部30とディスクアダプタ部40が接続されてはいなかったが、これらの間を接続してもよい。また、図1においては、キャッシュメモリ部10は1つしか搭載していないが、これも複数搭載し多重化してもよい。
Although the
上記実施の形態では、ホストアダプタ部の数およびディスクアダプタ部の数をそれぞれ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
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
23, 43
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.
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) |
-
2004
- 2004-01-27 JP JP2004017916A patent/JP4698145B2/en not_active Expired - Fee Related
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 |