JP2006114064A - Storage subsystem - Google Patents

Storage subsystem Download PDF

Info

Publication number
JP2006114064A
JP2006114064A JP2005376967A JP2005376967A JP2006114064A JP 2006114064 A JP2006114064 A JP 2006114064A JP 2005376967 A JP2005376967 A JP 2005376967A JP 2005376967 A JP2005376967 A JP 2005376967A JP 2006114064 A JP2006114064 A JP 2006114064A
Authority
JP
Japan
Prior art keywords
controller
storage
storage subsystem
host computer
processor
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
JP2005376967A
Other languages
Japanese (ja)
Inventor
Rie Kobayashi
利恵 小林
Yoshiko Matsumoto
佳子 松本
Kenji Muraoka
健司 村岡
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 JP2005376967A priority Critical patent/JP2006114064A/en
Publication of JP2006114064A publication Critical patent/JP2006114064A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a storage subsystem having controllers in which exclusive control of caches between a plurality of controllers sharing the caches is eliminated. <P>SOLUTION: In the caches 33, 43 to which mutual multiplex writing is performed, cache areas are divided by each processor, each of the controllers 30, 40 accesses only to the self-controller control area. By fixing the cache areas used by each controller, the exclusive control between processors is made unnecessary and performance deterioration accompanying increase of the processors is prevented. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、上位装置からの情報の入出力要求を制御する制御装置を有する記憶サブシステムに関し、特に、制御装置内のコントローラ及びキャッシュメモリを冗長構成とする記憶サブシステムに関する。   The present invention relates to a storage subsystem having a control device that controls information input / output requests from a host device, and more particularly to a storage subsystem having a controller and a cache memory in the control device as a redundant configuration.

コントローラ及びディスク等の記憶装置に冗長性を持たせた記憶サブシステムとして、一方の系が現用系として、他方の系が予備系として稼働する2重の系で構成される記憶サブシステムがある。   As a storage subsystem in which storage devices such as a controller and a disk are made redundant, there is a storage subsystem configured by a double system in which one system is used as a working system and the other system is used as a standby system.

特開平4−215142に記載されている記憶サブシステムは、現用系のディスク装置の記憶情報を両系からアクセス可能な共用ディスク装置を介して予備系のディスク装置に複写すること、あるいは、現用系コントローラ障害時は、予備系のコントローラによって、現用系のディスク装置の記憶情報を抽出可能とすることによって、コントローラ及びディスク装置障害時のデータ保全性の向上を計っている。   The storage subsystem described in Japanese Patent Laid-Open No. 4-215142 copies the storage information of the active disk device to the standby disk device via a shared disk device accessible from both systems, or the active system In the event of a controller failure, the storage information of the active disk device can be extracted by the standby controller, thereby improving data integrity when the controller and the disk device fail.

特開平4−215142号JP-A-4-215142

最近の市場動向として、記憶装置の高性能化、大容量化、低価格化の要求が高まっており、RAIDの技術が重視されている。RAIDの技術を適用した記憶サブシステムにおいては、複数のディスク装置をアレイ状に構成する。そして、データ書き込み時には、書き込みデータに加えて冗長データを書き込みデータを格納したディスク装置とは異なるディスク装置へ書き込む。アレイ構成内の任意のディスク装置の故障に対しは、他のディスク装置のデータと前記冗長データから障害ディスク装置上のデータを修復可能とすることによって、ディスク装置のデータの保全性の向上を計っている。   As recent market trends, demands for higher performance, larger capacity, and lower price of storage devices are increasing, and RAID technology is emphasized. In a storage subsystem to which RAID technology is applied, a plurality of disk devices are configured in an array. When data is written, redundant data is written to a disk device different from the disk device storing the write data in addition to the write data. For the failure of any disk unit in the array configuration, the data integrity of the disk unit is improved by making it possible to recover the data on the failed disk unit from the data of other disk units and the redundant data. ing.

しかし、RAIDの技術を適用した記憶サブシステムは、データの保全性が向上する反面、上述した冗長データ生成/書き込みのために処理時間が増大するため、ホストからのI/O処理と同期して冗長データの生成/書き込みまでを行うと、ホストからのライト性能が大幅に劣化する。従って、RAIDの技術を適用した記憶サブシステムのコントローラには、ライトキャッシュが不可欠となっている。   However, in the storage subsystem to which the RAID technology is applied, the data integrity is improved, but the processing time increases due to the above-mentioned redundant data generation / writing, so that it is synchronized with the I / O processing from the host. If redundant data is generated / written, the write performance from the host is greatly degraded. Therefore, a write cache is indispensable for a controller of a storage subsystem to which RAID technology is applied.

ライトキャッシュとは、コントローラ内に搭載された、データを一時的に書き込むキャッシュであり、ホストからのライト要求では、このキャッシュに書き込みを行った時点で、ホストに終了報告を返す。そして、ホストのI/O処理とは非同期に冗長データの生成、ライトデータ及び冗長データのディスク装置への格納を行うことにより書き込み処理時の性能低下を防ぐ。しかし、ライトキャッシュを用いると、データをキャッシュ上に書き込んだ時点でホストに終了報告をするため、キャッシュ上にディスク装置未反映のホストデータが存在する。従って、キャッシュに冗長性がなければ、キャッシュ障害時に、ユーザデータロストとなる。したがって、特にデータの高信頼性が強く求められる記憶サブシステムに用いる制御装置では、従来のコントローラ、記憶装置の冗長構成に加え、一般的にキャッシュにも冗長性を持たせることが行われている。   The write cache is a cache that is mounted in the controller and temporarily writes data. In a write request from the host, an end report is returned to the host when the cache is written. Then, generation of redundant data and storage of write data and redundant data in a disk device are performed asynchronously with host I / O processing, thereby preventing performance degradation during write processing. However, when the write cache is used, since the end report is sent to the host when the data is written on the cache, there is host data that is not reflected in the disk device on the cache. Therefore, if there is no redundancy in the cache, user data is lost when the cache fails. Therefore, in particular, in a control device used in a storage subsystem in which high reliability of data is strongly required, in addition to the conventional redundant configuration of the controller and storage device, the cache is generally made redundant. .

コントローラを多重化した記憶サブシステムにおいて、単にキャッシュを多重化すると、キャッシュ上のデータを複数の制御装置から同時にアクセスすることによるデータ整合性矛盾を防ぐためにキャッシュアクセス時に複数の制御装置からの排他制御が必要になる。そして、コントローラを多重化した記憶サブシステムでは、この排他制御により、シングルコントローラの記憶サブシステムに比べて性能が低下する。   In a storage subsystem with multiple controllers, if the cache is simply multiplexed, exclusive control from multiple controllers during cache access to prevent data consistency inconsistency due to simultaneous access of data on the cache from multiple controllers Is required. In the storage subsystem in which the controllers are multiplexed, the performance is lowered by this exclusive control as compared with the storage subsystem of the single controller.

本発明の目的は、コントローラの多重化及びキャッシュの多重化に伴う、プロセッサ間のキャッシュの排他制御を無くし、性能を落とすことなく信頼性を上げることにある。   An object of the present invention is to eliminate the exclusive control of the cache between the processors accompanying the multiplexing of the controller and the multiplexing of the cache, and to improve the reliability without degrading the performance.

上記の目的を達成するため、本発明による記憶サブシステムは、各プロセッサ毎に処理担当の論理ボリュームを排他的に決める手段と、あるプロセッサが受領したホストコンピュータからの要求が、担当外であった場合は、担当プロセッサに処理要求を通信する手段と、上記通信を受領したプロセッサは、処理結果を要求元プロセッサに通信する手段と、各プロセッサ毎に、ディレクトリ/データセグメント等のキャッシュ構成要素を持つ手段と、上記構成要素の状態をプロセッサの負荷に応じてダイナミックに変更する手段と、ホストコンピュータからのライトデータを複数のコントローラ上のキャッシュへ多重書きする手段と、コントローラ障害時には、障害コントローラ内プロセッサの持つキャッシュ構成要素の制御権を正常系コントローラ内のプロセッサに切り替える手段と、コントローラ復旧時には、該制御権を復旧プロセッサに戻す手段と、ディスク装置への書き込み時にキャッシュメモリ障害が発生した際は、多重書きしている他キャッシュからディスク装置に書き込みを行う手段とを有する。   In order to achieve the above object, in the storage subsystem according to the present invention, the means for exclusively determining the logical volume in charge of processing for each processor and the request from the host computer received by a certain processor are out of charge. In this case, the means for communicating the processing request to the processor in charge, the processor receiving the communication has means for communicating the processing result to the requesting processor, and each processor has a cache component such as a directory / data segment. Means for dynamically changing the state of the component according to the load of the processor, means for multiple writing of write data from the host computer to caches on a plurality of controllers, and a processor in the fault controller in the event of a controller failure The right to control the cache components of Means for switching to the processor in the controller, means for returning the control right to the restoration processor when the controller is restored, and if a cache memory failure occurs when writing to the disk device, the disk device from other caches that have been overwritten And means for writing.

上述した手段により、複数のプロセッサ間で、キャッシュを排他制御することなく複数のコントローラ上のキャッシュへ多重書きを行うことができ、複数プロセッサ化に伴う性能低下の発生を防ぎ、性能を落とすことなく信頼性の向上を計ることができる。   By the means described above, multiple writes can be performed to caches on a plurality of controllers without exclusive control of the caches between a plurality of processors, preventing the occurrence of performance degradation due to the use of multiple processors, and without reducing the performance. Reliability can be improved.

また、上述の手段により、キャッシュメモリ障害時には、多重書きしている他キャッシュからディスク装置への書き込みを行い、データロストを防止できる。
さらに、上記手段により、コントローラ障害時には、自動的に、正常系に切り替えて処理続行が可能であり、また、コントローラ復旧時には、自動的に、復旧系に処理を戻すことが可能となり、システムの無停止運用を実現できる。
Further, by the above-described means, when the cache memory fails, the data can be prevented from being lost by writing to the disk device from another cache in which multiple writing is performed.
Furthermore, by the above means, when the controller fails, it is possible to automatically switch to the normal system and continue the process, and when the controller is restored, the process can be automatically returned to the recovery system. Stop operation can be realized.

本発明によれば、コントローラ及びキャッシュメモリを2重化した記憶サブシステムにおいて、各コントローラにキャッシュメモリの一部及び論理ボリュームを割り当てることによりキャッシュメモリに対するコントローラ内のプロセッサ間の排他制御が無くなるため、複数プロセッサ化による応答性能劣化を防ぐことができる。   According to the present invention, in the storage subsystem in which the controller and the cache memory are duplicated, by allocating a part of the cache memory and the logical volume to each controller, the exclusive control between the processors in the controller with respect to the cache memory is eliminated. It is possible to prevent response performance deterioration due to the use of multiple processors.

また、複数のキャッシュへ多重書きすることにより、キャッシュ障害時には、多重書きしている他キャッシュからディスクに書き込むことができるため、データロストを防ぐことができる。さらに、コントローラ障害時にキャッシュメモリの制御を正常なコントローラに切り替える手段とコントローラ障害から復旧する手段を設けることにより、システムを無停止で運用することができる。   Further, by performing multiple writing to a plurality of caches, data can be prevented from being lost because, in the event of a cache failure, data can be written to the disk from another cache in which multiple writing is performed. Furthermore, by providing means for switching the cache memory control to a normal controller in the event of a controller failure and means for recovering from the controller failure, the system can be operated without interruption.

図1は、本発明の概念図である。   FIG. 1 is a conceptual diagram of the present invention.

図1において、10、11はホストコンピュータ、20はデュアルコントローラ構成をとる制御装置、50はディスク装置であり、ディスク装置50は、論理ボリューム0と論理ボリューム1の2つの論理ボリュームに分割されている。   In FIG. 1, 10 and 11 are host computers, 20 is a control device having a dual controller configuration, 50 is a disk device, and the disk device 50 is divided into two logical volumes, logical volume 0 and logical volume 1. .

ホストA10は、制御装置20内のコントローラA30を介して、論理ボリューム0の処理を行っており、ホストB11は、制御装置20内のコントローラB40を介して、論理ボリューム1の処理を行っている。   The host A 10 performs processing for the logical volume 0 via the controller A 30 in the control device 20, and the host B 11 performs processing for the logical volume 1 via the controller B 40 in the control device 20.

ここで、コントローラA30には論理ボリューム0が、コントローラB40には論理ボリューム1が処理担当論理ボリュームとして割当てられている。又、コントローラ内のキャッシュの領域は、それぞれ、コントローラA用キャッシュ31、41、コントローラB用キャッシュ32、42に2分割されている。そして、コントローラA用キャッシュ31と41の間で2重書きを行い、又、コントローラB用キャッシュ32と42の間でも2重書きを行う。   Here, the logical volume 0 is assigned to the controller A30, and the logical volume 1 is assigned to the controller B40 as the processing logical volume. Further, the cache area in the controller is divided into two parts, ie, controller A caches 31 and 41 and controller B caches 32 and 42, respectively. Then, double writing is performed between the controller A caches 31 and 41, and double writing is performed between the controller B caches 32 and 42.

コントローラA30は、通常、コントローラA用キャッシュ31と41を用いて、I/O処理を行い、同様に、コントローラB40は、コントローラB用キャッシュ32と42を用いて、I/O処理を行う。このように、コントローラ毎に使用するキャッシュ領域を個別に割り当てることにより、コントローラ間の排他制御を無くし、コントローラ台数増加に伴う性能劣化を防ぐことができる。   The controller A 30 normally performs I / O processing using the controller A caches 31 and 41, and similarly, the controller B 40 performs I / O processing using the controller B caches 32 and 42. In this way, by individually allocating the cache area to be used for each controller, exclusive control between controllers can be eliminated, and performance deterioration due to an increase in the number of controllers can be prevented.

また、コントローラB40障害時には、コントローラB用キャッシュ32、42をコントローラA30が使用することにより、ホストA10からコントローラA30を介して、コントローラB40の処理担当であった論理ボリューム1への処理を続行させることができる。   Further, when the controller B40 fails, the controller A30 uses the controller B caches 32 and 42 to continue the processing from the host A10 to the logical volume 1 that was in charge of the processing of the controller B40 via the controller A30. Can do.

以下、本発明によるマルチコントローラ構成の制御装置の1実施例を図面を用いて説明する。   Hereinafter, an embodiment of a control device having a multi-controller configuration according to the present invention will be described with reference to the drawings.

図2は、本発明をマルチコントローラ構成の磁気ディスクアレイサブシステムに適用した場合の構成図である。   FIG. 2 is a configuration diagram when the present invention is applied to a magnetic disk array subsystem having a multi-controller configuration.

図2において、1000、1100、1200、1300はデータ処理を行う中央処理装置であるホストコンピュータ、2000はマルチコントローラ構成をとりディスク装置の制御を行う制御装置、7000,7100はホストコンピュータのデータを格納するディスク装置である。ここで、制御装置2000は、ホストバスに直結したスロットに差し込みホスト筐体内に組み込む場合もあるし、制御装置として独立した筐体に組み込む場合もあるし、ディスク装置を組み込んだ筐体として実現する場合もある。また、ディスク装置群7000及び7100は、データディスクとパリティディスクからなるパリティグループを含んでいる。さらに、ディスク装置群7000は、論理ボリューム0と論理ボリューム1と
に、ディスク装置群7100は論理ボリューム2と論理ボリューム3とに分割されている。
In FIG. 2, reference numerals 1000, 1100, 1200, and 1300 denote host computers that are central processing units for performing data processing, 2000 denotes a control unit that controls a disk unit in a multi-controller configuration, and 7000 and 7100 store data of the host computers. Disk device to be Here, the control device 2000 may be inserted into a slot directly connected to the host bus and incorporated into the host housing, or may be incorporated into an independent housing as the control device, or realized as a housing incorporating a disk device. In some cases. The disk device groups 7000 and 7100 include a parity group including a data disk and a parity disk. Further, the disk device group 7000 is divided into logical volume 0 and logical volume 1, and the disk device group 7100 is divided into logical volume 2 and logical volume 3.

制御装置2000は、ホストコンピュータ1000、1100とディスク装置7000間のデータ転送を制御するコントローラ3000、4000及びホストコンピュータ1200、1300とディスク装置7100間のデータ転送を制御するコントローラ5000、6000より構成される。   The control device 2000 includes controllers 3000 and 4000 that control data transfer between the host computers 1000 and 1100 and the disk device 7000, and controllers 5000 and 6000 that control data transfer between the host computers 1200 and 1300 and the disk device 7100. .

コントローラ3000は、ホストコンピュータ1000とのプロトコル制御を行うホストI/F制御部3100、コントローラ全体を制御するマイクロプロセッサ(以下「プロセッサ」という。)3200、データの転送を実行するデータ転送制御部3300、ホストコンピュータ1000とディスク装置7000のデータ転送時及びプロセッサ間通信時に用いられるキャッシュ3400、各ディスク装置7000とのプロトコル制御を行うDRVI/F制御部3500より構成される。コントローラ4000、5000、6000はコントローラ3000と同一の構成である。   The controller 3000 includes a host I / F control unit 3100 that performs protocol control with the host computer 1000, a microprocessor (hereinafter referred to as “processor”) 3200 that controls the entire controller, a data transfer control unit 3300 that executes data transfer, A cache 3400 used for data transfer between the host computer 1000 and the disk device 7000 and communication between processors, and a DRVI / F control unit 3500 that performs protocol control with each disk device 7000 are configured. The controllers 4000, 5000, and 6000 have the same configuration as the controller 3000.

プロセッサ3200は、後述の手段により、あらかじめプロセッサ毎に排他的に割り当てた担当論理ボリュームの処理を行う。このプロセッサ毎の担当論理ボリュームの指定は、ホストコンピュータから論理ボリューム毎の担当プロセッサ指定コマンドを受け取ることにより、ダイナミックに設定可能である。このプロセッサと担当論理ボリュームとの対応情報は、後述のキャッシュ上の共通メモリ領域3410、4410に格納する。   The processor 3200 performs processing of the assigned logical volume that has been exclusively assigned to each processor in advance by means described later. The designation of the assigned logical volume for each processor can be set dynamically by receiving the assigned processor designation command for each logical volume from the host computer. The correspondence information between the processor and the assigned logical volume is stored in common memory areas 3410 and 4410 on the cache described later.

データ転送制御部3300はプロセッサ3200からの指示により、ホストコンピュータ1000からのライトデータを指定キャッシュに多重書きする機能を備えている。この実施例の構成では、キャッシュ3400とキャッシュ4400の間で2重書きを行い、また、キャッシュ5400とキャッシュ6400の間でも2重書きを行う。以下、キャッシュ3400とキャッシュ4400の2面に2重書きする方式について説明する。   The data transfer control unit 3300 has a function of multiplex writing write data from the host computer 1000 to the designated cache in response to an instruction from the processor 3200. In the configuration of this embodiment, double writing is performed between the cache 3400 and the cache 4400, and double writing is performed between the cache 5400 and the cache 6400. Hereinafter, a method of dual writing on two surfaces of the cache 3400 and the cache 4400 will be described.

キャッシュ3400とキャッシュ4400の内容について図3を用いて説明する。尚キャッシュ3400とキャッシュ4400は内部構成が同一であるため、キャッシュ3400を例に説明する。キャッシュ3400は、プロセッサ間通信に用いる制御情報を格納している共通メモリ領域3410、プロセッサ3200用領域3480、プロセッサ4200用領域3490より構成される。   The contents of the cache 3400 and the cache 4400 will be described with reference to FIG. Since the cache 3400 and the cache 4400 have the same internal configuration, the cache 3400 will be described as an example. The cache 3400 includes a common memory area 3410 that stores control information used for inter-processor communication, a processor 3200 area 3480, and a processor 4200 area 3490.

プロセッサ3200用領域3480は、ホストコンピュータとディスク装置間のデータ転送時、データを1次的に格納するデータ格納エリア3482、データ格納エリア3482を管理するデータ管理情報3481より構成され、データ格納エリア3482に格納するライトデータと、このライトデータの管理情報は、キャッシュ4400内のプロセッサ3200用領域4480に2重書きを行う。同様に、プロセッサ4200用領域3490は、プロセッサ4200により、キャッシュ4400内のプロセッサ4200用領域4490のライトデータとライトデータの管理情報が2重書きされている。   The processor 3200 area 3480 includes a data storage area 3482 for temporarily storing data during data transfer between the host computer and the disk device, and data management information 3481 for managing the data storage area 3482. The data storage area 3482 The write data stored in and the management information of the write data are written twice in the processor 3200 area 4480 in the cache 4400. Similarly, in the processor 4200 area 3490, the write data and the write data management information of the processor 4200 area 4490 in the cache 4400 are written twice by the processor 4200.

共通メモリ領域3410は、論理ボリューム担当プロセッサ情報3420、プロセッサ負荷情報3430、多重書き情報3450、プロセッサ間コミュニケーションメモリ3460より構成され、これらの情報は全て、データ転送制御部3300、4300によって、キャッシュ3400と4400に2重書きされている。   The common memory area 3410 includes logical volume responsible processor information 3420, processor load information 3430, multiplex write information 3450, and interprocessor communication memory 3460. These pieces of information are all stored in the cache 3400 by the data transfer control units 3300 and 4300. It is written twice in 4400.

図3(c)にプロセッサ間コミュニケーションメモリの構成を示す。プロセッサ間コミュニケーションメモリ3460は、プロセッサ3200、4200、5200、6200毎の書き込み用メモり3461、3462、3463、3464より構成される。図3(d)にプロセッサ書き込み用メモリの構成を示す。プロセッサ3200書き込み用メモリ3461は、自プロセッサ以外のプロセッサ4200、5200、6200への要求用エリア3471、3472、3473と自プロセッサ以外のプロセッサ4200、5200、6200からの要求に対する応答用エリア3474、3475、3476より構成される。プロセッサ4200、5200、6200書き込み用メモリ3462、3463、3464の内部構成は、プロセッサ3200書き込み用メモリ3461と同一構成である。   FIG. 3C shows the configuration of the interprocessor communication memory. The inter-processor communication memory 3460 includes write memories 3461, 3462, 3463, and 3464 for each of the processors 3200, 4200, 5200, and 6200. FIG. 3D shows the configuration of the processor writing memory. The processor 3200 write memory 3461 includes areas 3471, 3472, and 3473 for requesting processors 4200, 5200, and 6200 other than its own processor, and areas 3474 and 3475 for responding to requests from processors 4200, 5200, and 6200 other than its own processor. 3476. The internal configuration of the processors 4200, 5200, 6200 write memory 3462, 3463, 3464 is the same as the processor 3200 write memory 3461.

キャッシュ5400とキャッシュ6400との間も、共通メモリ領域を除いて、キャッシュ3400とキャッシュ4400との間と同様に2重化が行われている。共通メモリ領域は、キャッシュ3400、4400に2重書きされている情報を制御装置内の全プロセッサで共有するため、キャッシュ5400、6400には存在しない。   Duplication is performed between the cache 5400 and the cache 6400 as well as between the cache 3400 and the cache 4400 except for the common memory area. The common memory area does not exist in the caches 5400 and 6400 because the information written in the caches 3400 and 4400 is shared by all the processors in the control device.

本発明を実施する制御装置では、コントローラの増設はコントローラ2台単位で行い、対になったコントローラのキャッシュ間のみで2重書きを行うとともに、ドライブ側のデータバスについても、それぞれのディスク装置は対になったコントローラにのみ接続することによりハードウェア構成を簡略化し、ドライブ側データバス上の競合を回避することが可能となる。   In the control apparatus embodying the present invention, the number of controllers is increased in units of two controllers, and the dual writing is performed only between the caches of the paired controllers, and each disk device is also used for the data bus on the drive side. By connecting only to the paired controllers, the hardware configuration can be simplified, and contention on the drive-side data bus can be avoided.

次に本実施例における、磁気ディスクサブシステムでの、ホストコンピュータ1000からのI/O処理について図4、図5、図6を用いて説明する。まず最初に、プロセッサ3200担当論理ボリュームへのI/O処理について説明する。
図4は、ホストからのI/O処理を示すフローチャートである。ホストコンピュータ1000からの書き込み要求時、プロセッサ3200は、まず、共通メモリ領域3410内の論理ボリューム担当プロセッサ情報3420によって、処理要求論理ボリュームの担当プロセッサ情報を取得し、自処理担当論理ボリューム(LUN)への処理かの判定を行い(ステップ902)、自プロセッサ処理担当論理ボリュームへの処理であることを認識する。次に、処理種別の判定を行い(ステップ903)、書き込み処理であることを認識する。ホストI/F制御部3100により、書き込み論理データを受領し、データ転送制御部3300によってキャッシュ3400のコントローラ3000用領域3480とキャッシュ4400のコントローラ3000用領域4480とにその管理情報とともに2重に格納する(ステップ904)。そして、この時点でホストコンピュータ1000に終了を報告する(ステップ905)。
Next, I / O processing from the host computer 1000 in the magnetic disk subsystem in this embodiment will be described with reference to FIGS. 4, 5, and 6. FIG. First, I / O processing to the logical volume in charge of the processor 3200 will be described.
FIG. 4 is a flowchart showing I / O processing from the host. At the time of a write request from the host computer 1000, the processor 3200 first acquires the processor information in charge of the processing request logical volume from the logical volume processor information 3420 in the common memory area 3410, and transfers it to its own processing logical volume (LUN). (Step 902), it is recognized that the processing is for the logical volume in charge of its own processor processing. Next, the process type is determined (step 903), and it is recognized that the process is a write process. The host I / F control unit 3100 receives the write logical data, and the data transfer control unit 3300 stores it in the controller 3000 area 3480 of the cache 3400 and the controller 3000 area 4480 of the cache 4400 together with the management information in a double manner. (Step 904). At this time, the end is reported to the host computer 1000 (step 905).

図5は、キャッシュ内のデータをディスク装置に格納する処理を示すフローチャートである。プロセッサ3200は、ホストコンピュータ1000からのI/O処理とは非同期にプロセッサ3200用領域3480上のライトデータをデータ転送制御部3300とDRV I/F制御部3500によりディスク装置群7000に格納する(ステップ922)。この際、キャッシュのメモリ障害により読み込みエラーが発生した場合(ステップ923)は、2重化しているプロセッサ3200用領域4480からディスク装置7000へ格納する(ステップ924)ことによりデータ損失を防止することができる。   FIG. 5 is a flowchart showing processing for storing data in the cache in the disk device. The processor 3200 stores the write data on the processor 3200 area 3480 in the disk device group 7000 by the data transfer control unit 3300 and the DRV I / F control unit 3500 asynchronously with the I / O processing from the host computer 1000 (step S3). 922). At this time, if a read error occurs due to a memory failure in the cache (step 923), data is prevented from being lost by storing the data from the redundant processor 3200 area 4480 into the disk device 7000 (step 924). it can.

ホストコンピュータ1000からの読み込み要求時は、プロセッサ3200は、上記書き込み処理同様、自プロセッサ処理担当論理ボリューム(LUN)への処理であることを認識(ステップ902)した後、処理種別の判定を行う(ステップ903)。I/O処理が読み込み処理であることを認識すると、データ転送制御部3300とDRV I/F制御部3500によりデータをディスク装置群7000からキャッシュ3400のコントローラ3000用領域3480に格納し(ステップ906)、ホストコンピュータに転送する(ステップ907)。   At the time of a read request from the host computer 1000, the processor 3200 recognizes that the processing is to the own processor processing logical volume (LUN) (step 902) and then determines the processing type as in the above writing processing (step 902). Step 903). When recognizing that the I / O process is a read process, the data transfer control unit 3300 and the DRV I / F control unit 3500 store the data from the disk device group 7000 into the controller 3000 area 3480 of the cache 3400 (step 906). The data is transferred to the host computer (step 907).

次にホストコンピュータ1000からコントローラ4000担当論理ボリュームへのI/O処理について説明する。   Next, I / O processing from the host computer 1000 to the logical volume in charge of the controller 4000 will be described.

ホストコンピュータ1000からの書き込み要求時、プロセッサ3200は、まず、共通メモリ領域3410内の論理ボリューム担当プロセッサ情報3420によって、処理要求論理ボリュームの担当プロセッサ情報を取得し、自処理担当論理ボリュームへの処理かの判定を行い(ステップ902)、処理担当外論理ボリュームへの処理であることを認識する。次に、処理種別の判定を行い(ステップ908)、書き込み処理であることを認識する。そして、ホストコンピュータ1000からの書き込み論理データをキャッシュメモリのコントローラ3000用領域3480に格納し、書き込み処理をこの論理ボリュームの担当であるコントローラ4000へ要求する(ステップ909)。   At the time of a write request from the host computer 1000, the processor 3200 first acquires the processor information in charge of the processing request logical volume from the logical volume manager information 3420 in the common memory area 3410, (Step 902), and recognizes that the process is to a logical volume not in charge of processing. Next, the process type is determined (step 908), and it is recognized that the process is a write process. Then, the write logical data from the host computer 1000 is stored in the controller 3000 area 3480 of the cache memory, and a write process is requested to the controller 4000 in charge of this logical volume (step 909).

プロセッサ3200は、プロセッサ4200に書き込み処理を要求するために、書き込みデータ論理アドレス、書き込みデータのキャッシュ上の格納アドレス、データ長及び処理種別情報をデータ転送制御部3300により共通メモリ領域3410、4410内のプロセッサ3200書き込み用メモリ内のプロセッサ4200への要求用エリアに2重に格納する。ここで、処理種別情報とは、書き込み処理か読み込み処理かを判断する情報である。プロセッサ4200は、例えば10msといった一定時間で、共通メモリ領域3410、4410の自プロセッサへの要求用エリアを参照にいき、他プロセッサからの要求を認識する。   In order to request the processor 4200 to perform a write process, the processor 3200 uses the data transfer control unit 3300 to store the write data logical address, the write data cache storage address, the data length, and the processing type information in the common memory areas 3410 and 4410. The processor 3200 is stored twice in an area for requesting the processor 4200 in the memory for writing. Here, the process type information is information for determining whether the process is a writing process or a reading process. The processor 4200 refers to a request area for the own processor in the common memory areas 3410 and 4410 in a certain time such as 10 ms, and recognizes a request from another processor.

図6は、プロセッサ3200からの処理要求を受信したときのプロセッサ4200の処理を示すフローチャートである。前述の方法により、プロセッサ3200からの要求を認識(ステップ931)したプロセッサ4200は、プロセッサ3200書き込み用メモリ内のプロセッサ4200への要求用エリア内の処理種別を参照し、書き込み処理要求であることを認識する(ステップ932)。そして、プロセッサ4200は、プロセッサ3200書き込み用メモリ内のプロセッサ4200への要求用エリア内の書き込み論理アドレス、書き込みデータのキャッシュ上の格納アドレス、データ長を取得し(ステップ933)、キャッシュ3400内の該格納アドレスからデータ長分の書き込みデータをプロセッサ4200用領域3490と4490に、その管理情報である書き込み論理アドレスとデータ長と共に、2重に格納する(ステップ934)。そして、終了情報を共通メモリ領域3410、4410内のプロセッサ4200書き込み用メモリ内のプロセッサ3200からの要求に対する応答用エリアに設定することにより、プロセッサ3200に処理終了を通信する(ステップ935)。   FIG. 6 is a flowchart showing processing of the processor 4200 when a processing request from the processor 3200 is received. The processor 4200 that has recognized the request from the processor 3200 by the above-described method (step 931) refers to the processing type in the request area to the processor 4200 in the processor 3200 write memory, and determines that the request is a write processing request. Recognize (step 932). Then, the processor 4200 acquires the write logical address, the storage address of the write data in the cache, and the data length in the area for request to the processor 4200 in the processor 3200 write memory (step 933), and Write data corresponding to the data length from the storage address is stored twice in the processor 4200 areas 3490 and 4490 together with the write logical address and the data length, which are the management information (step 934). Then, the end information is set in a response area to the request from the processor 3200 in the memory for writing to the processor 4200 in the common memory areas 3410 and 4410, thereby communicating the end of processing to the processor 3200 (step 935).

プロセッサ3200は、プロセッサ4200に対する処理要求後は、プロセッサ4200書き込み用メモリ内のプロセッサ3200からの要求に対する応答用エリアを参照することにより、プロセッサ4200の処理の終了を監視(ステップ910)しており(図4参照)、この処理終了の通信を受けて、ホストコンピュータ1000に終了を報告する(ステップ905)。プロセッサ4200は、この後、図5に従ってホストI/O処理とは非同期に、この書き込みデータのディスク装置7000への書き込み処理を行う。   After the processing request to the processor 4200, the processor 3200 monitors the end of the processing of the processor 4200 by referring to the response area for the request from the processor 3200 in the processor 4200 write memory (step 910) (step 910). In response to this processing end communication, the end is reported to the host computer 1000 (step 905). Thereafter, the processor 4200 performs a write process of the write data to the disk device 7000 asynchronously with the host I / O process according to FIG.

図4において、ホストコンピュータ1000から読み込み要求があったときは、プロセッサ3200は、上記書き込み要求受領時同様、処理担当外論理ボリューム(LUN)への処理であることを認識した(ステップ902)後、処理種別の判定を行う(ステップ908)。読み込み処理であることを認識すると、プロセッサ3200は読み込み要求論理アドレス、読み込みデータのキャッシュ上の格納許可アドレス、データ長、処理種別情報を共通メモリ領域3410、4410内のプロセッサ3200書き込み用メモリ内のプロセッサ4200への要求用エリアに格納することにより、該LUN処理担当であるプロセッサ4200に読み込み要求を通信する(ステップ911)。   In FIG. 4, when there is a read request from the host computer 1000, the processor 3200 recognizes that the process is to a non-processing logical volume (LUN) as in the case of receiving the write request (step 902). The processing type is determined (step 908). When recognizing that it is a read process, the processor 3200 displays the read request logical address, the storage permission address of the read data in the cache, the data length, and the processing type information in the processor 3200 write memory in the common memory areas 3410 and 4410. By storing in the request area to 4200, the read request is communicated to the processor 4200 in charge of the LUN processing (step 911).

図6において、プロセッサ3200からの要求を認識(ステップ931)したプロセッサ4200は、共通メモリ領域内の情報により、読み込み処理であることを認識する(ステップ932)。そして、共通メモリ領域から読み込み要求論理アドレス、読み込みデータのキャッシュ上の格納許可アドレス、データ長を取得する(ステップ936)。次に、データをディスク装置7000からプロセッサ4200用領域4490に格納し、このデータをキャッシュ3400上の格納許可アドレスに格納する(ステップ937)。さらに、共通メモリ領域3410、4410内のプロセッサ4200書き込み用メモリ内のプロセッサ3200からの要求に対する応答用エリアに終了情報を設定することにより、プロセッサ3200に読み込み終了を通信する(ステップ935)。   In FIG. 6, the processor 4200 that has recognized the request from the processor 3200 (step 931) recognizes that it is a read process based on the information in the common memory area (step 932). Then, the read request logical address, the storage permission address of the read data in the cache, and the data length are obtained from the common memory area (step 936). Next, the data is stored from the disk device 7000 into the processor 4200 area 4490, and this data is stored in the storage permission address on the cache 3400 (step 937). Furthermore, by setting end information in an area for responding to a request from the processor 3200 in the memory for writing to the processor 4200 in the common memory areas 3410 and 4410, the end of reading is communicated to the processor 3200 (step 935).

図4において、プロセッサ4200の処理終了を監視(ステップ912)していたプロセッサ3200は、この読み込み終了報告を受けて、データをホストコンピュータに転送する(ステップ913)。   In FIG. 4, the processor 3200 monitoring the processing end of the processor 4200 (step 912) receives this read end report and transfers the data to the host computer (step 913).

このように、プロセッサ3200は、通常、プロセッサ3200用領域3480と4480を用いて、I/O処理を行う。同様に、プロセッサ4200は、通常、プロセッサ4200用領域3490と4490を用いて、I/O処理を行う。   As described above, the processor 3200 normally performs I / O processing using the areas 3480 and 4480 for the processor 3200. Similarly, the processor 4200 normally performs I / O processing using the areas 4490 and 4490 for the processor 4200.

このように、プロセッサ毎に使用するキャッシュ領域を固定化することにより、プロセッサ間の排他制御を無くし、プロセッサ台数増加に伴う性能劣化を防ぐことができる。特にホストコンピュータ間でファイル(論理ボリューム)をシェアしないシステムにおいては、接続しているコントローラ内のプロセッサにこの論理ボリュームを割り当てておくことにより、I/O処理のときのプロセッサ間の通信制御を不要とし、さらなる性能向上を可能とする。   In this way, by fixing the cache area to be used for each processor, it is possible to eliminate exclusive control between processors and prevent performance deterioration due to an increase in the number of processors. Especially in a system that does not share files (logical volumes) between host computers, this logical volume is assigned to the processor in the connected controller, eliminating communication control between processors during I / O processing. And further performance improvement is possible.

次にコントローラ4000の障害時の自動切り替え/復旧方式について図7、図8を用いて説明する。I/O処理実行中、コントローラ4000の障害を検知したプロセッサは、共通メモリ領域3410を用いて、残りの全プロセッサにコントローラ4000の障害を通信する。この際、コントローラ4000とキャッシュを2重書きしているコントローラ3000内のプロセッサ3200には、処理の引継要求も通信する。本実施例では、プロセッサ3200が障害を検知した場合について説明する。   Next, an automatic switching / restoring method at the time of failure of the controller 4000 will be described with reference to FIGS. During the execution of the I / O process, the processor that has detected the failure of the controller 4000 uses the common memory area 3410 to communicate the failure of the controller 4000 to all the remaining processors. At this time, a processing takeover request is also communicated to the processor 3200 in the controller 3000 in which the controller 4000 and the cache are double-written. In this embodiment, a case where the processor 3200 detects a failure will be described.

図7は、プロセッサ3200がコントローラ4000の障害を検知した場合のプロセッサ3200の処理を示すフローチャートである。プロセッサ3200はI/O処理実行中(ステップ950)、コントローラ4000の障害を検知(ステップ951)すると、前述の方法により、プロセッサ5200、6200にコントローラ4000の障害を通信する。そして、障害コントローラをシステムから切り放すため、キャッシュ3400と4400へ2重書きされているホストコンピュータからの書き込みデータ及び共通メモリ領域のデータを、キャッシュ3400への1重書きに変更することをデータ転送制御部3300に指示する(ステップ952)。また、プロセッサ3200からの要求を認識したプロセッサ5200、6200は、共通メモリ領域をキャッシュ3400への1重書きに変更する。次に、プロセッサ3200は、プロセッサ4200の処理を引き継ぐ為に、プロセッサ4200用領域の制御権をプロセッサ3200に切り替える(ステップ953)。これらの処理により、制御権の切り替えが完了し、プロセッサ3200は通常のI/O処理を再開する(ステップ954)。   FIG. 7 is a flowchart showing processing of the processor 3200 when the processor 3200 detects a failure of the controller 4000. When the processor 3200 is executing the I / O process (step 950) and detects the failure of the controller 4000 (step 951), the processor 3200 communicates the failure of the controller 4000 to the processors 5200 and 6200 by the method described above. Then, in order to disconnect the fault controller from the system, the data transfer that the write data from the host computer and the data in the common memory area that are double-written to the caches 3400 and 4400 are changed to the single-write to the cache 3400 The control unit 3300 is instructed (step 952). Further, the processors 5200 and 6200 that have recognized the request from the processor 3200 change the common memory area to single writing to the cache 3400. Next, the processor 3200 switches the control right of the area for the processor 4200 to the processor 3200 in order to take over the processing of the processor 4200 (step 953). With these processes, the switching of the control right is completed, and the processor 3200 resumes the normal I / O process (step 954).

図8は、障害が発生したコントローラ4000の復旧処理を示すフローチャートである。コントローラ4000の障害部位が交換(ステップ971)されると、プロセッサ4200は、共通メモリ領域3410を用いて全プロセッサに復旧開始を伝達する(ステップ972)。プロセッサ3200、5200、6200は、この復旧開始の伝達を受けて(ステップ955)、それぞれのコントローラのデータ転送制御部にキャッシュ3400と4400への2重書きを指示すると共に、共通メモリ領域3410、4410を用いて、処理終了の応答をプロセッサ4200に通信する(ステップ956)。この終了報告を全プロセッサから受領(ステップ973)したプロセッサ4200は、キャッシュ4400のデータ回復を行う(ステップ974)。データ回復が完了すると、共通メモリ領域3410、4410を用いて、プロセッサ3200に復旧完了を伝達する(ステップ975)。   FIG. 8 is a flowchart showing a recovery process of the controller 4000 in which a failure has occurred. When the faulty part of the controller 4000 is replaced (step 971), the processor 4200 transmits a recovery start to all the processors using the common memory area 3410 (step 972). The processors 3200, 5200, and 6200 receive this recovery start notification (step 955), and instruct the data transfer control unit of each controller to perform double writing to the caches 3400 and 4400, and the common memory areas 3410, 4410. Is used to communicate the processing end response to the processor 4200 (step 956). The processor 4200 that has received the completion report from all the processors (step 973) performs data recovery of the cache 4400 (step 974). When the data recovery is completed, the recovery completion is transmitted to the processor 3200 using the common memory areas 3410 and 4410 (step 975).

図7において、この完了通知を受けた(ステップ958)プロセッサ3200は、プロセッサ4200用領域の制御権をプロセッサ4200に復旧(ステップ959)させ、共通メモリ領域を用いて、制御権の復旧をプロセッサ4200に伝達する(ステップ960)。図8において、この伝達を受けた(ステップ976)プロセッサ4200は、I/O処理を再開させる(ステップ977)。   In FIG. 7, upon receiving this completion notification (step 958), the processor 3200 restores the control right of the area for the processor 4200 to the processor 4200 (step 959), and uses the common memory area to restore the control right to the processor 4200. (Step 960). In FIG. 8, the processor 4200 that has received this notification (step 976) restarts the I / O processing (step 977).

尚、以上の実施例においては、コントローラ毎にプロセッサ、ホストI/F制御部を1つ持った例を示したが、これらの数は任意でも、ホストコンピュータからのコマンドを受け取ったプロセッサが、担当プロセッサに処理要求を伝達することにより、同様に実現できる。   In the above embodiment, an example in which each controller has one processor and one host I / F control unit is shown. However, the processor that receives the command from the host computer is in charge of any number of these controllers. The same can be realized by transmitting a processing request to the processor.

また、キャッシュの分割方式は、プロセッサ毎に均等ではなく、ユーザの指定により設定/変更可能である。特に、特定プロセッサをホットスタンバイで動作させる場合には、キャッシュ領域をホットスタンバイのプロセッサには割り当てないことにより、キャッシュを有効に利用することができる。又、プロセッサの負荷に応じてダイナミックに変更することも可能である。ユーザの指定により分割を行うか、プロセッサの負荷に応じて変更を行うかの指示は、本実施例では、ホストコマンドにより行うが、パネルといった装置を接続し、そこから入力する形を取っても、むろん良い。   Further, the cache division method is not uniform for each processor, and can be set / changed by user designation. In particular, when a specific processor is operated in hot standby, the cache can be used effectively by not allocating the cache area to the hot standby processor. It is also possible to change dynamically according to the load of the processor. In this embodiment, an instruction to perform division according to user designation or change according to the processor load is performed by a host command. However, a device such as a panel may be connected and input from there. Of course good.

つぎに、コントローラのキャッシュの動的割当の実現方式について、以下、説明する。   Next, a method for realizing dynamic allocation of the controller cache will be described below.

まず、キャッシュの管理方式について、図9を用いて説明する。
プロセッサ毎に持つデータ格納エリアは、セグメント983と呼ばれる管理単位に分割されている。セグメントは、セグメント毎にセグメント管理ブロック981(以下SGCBという。)をデータ管理情報内に持ち、セグメントを管理する情報とセグメントアドレスが格納されている。又、これらのSGCBは、そのセグメントの属性によって、ダーティキュー980とクリーンキュー982という2つキューに分けられて接続されている。ダーティキュー980には、ディスク未反映のライトデータを格納しているセグメントのSGCBが接続されており、それ以外のSGCBは、クリーンキュー982に接続されている。
First, a cache management method will be described with reference to FIG.
The data storage area for each processor is divided into management units called segments 983. Each segment has a segment management block 981 (hereinafter referred to as SGCB) in the data management information for each segment, and stores segment management information and a segment address. Also, these SGCBs are connected by being divided into two queues, a dirty queue 980 and a clean queue 982, depending on the attribute of the segment. The dirty queue 980 is connected to the SGCB of the segment storing the write data not reflected on the disk, and the other SGCBs are connected to the clean queue 982.

キャッシュの動的割当を実現するために、プロセッサ毎の負荷情報を共通メモリ領域に持つ。この負荷情報として、例えば、キャッシュ内のクリーンSGCB量を用いる。各プロセッサは、SGCBのクリーン、ダーティ間のキュー遷移契機に、この情報を更新する。プロセッサは、例えば、1分といった一定周期でこの情報を参照にいき、キャッシュを共有しているプロセッサ内で最も負荷の低いプロセッサのクリーンキューから最も負荷の高いプロセッサのクリーンキューへ、その負荷が同じになるまでSGCBと管理セグメントを移行させる。この際、使用中のSGCBは、移行対象外とする。移行の際は、SGCBの格納データ情報はクリアする。この移行の間は、プロセッサ通信を用いて、移行を行うプロセッサのI/O処理はとめる。   In order to realize dynamic cache allocation, load information for each processor is stored in a common memory area. As the load information, for example, the amount of clean SGCB in the cache is used. Each processor updates this information in response to the queue transition between SGCB clean and dirty. The processor refers to this information at regular intervals such as 1 minute, and the load is the same from the clean queue of the processor with the lowest load to the clean queue of the processor with the highest load among the processors sharing the cache. SGCB and management segment are migrated until. At this time, the SGCB in use is not subject to migration. At the time of migration, the SGCB storage data information is cleared. During this transition, I / O processing of the processor performing the transition is stopped using processor communication.

また、以上の実施例においては、2台のコントローラ間でキャッシュを共有し、各々、対コントローラのキャッシュに2重書きする例を示したが、キャッシュ領域がプロセッサ毎に分割されていれば、そのキャッシュの共有化方式、多重書き方式は、任意の方式でも、同様に実現できる。   In the above embodiment, the cache is shared between the two controllers, and each of them is written twice in the cache of the controller. However, if the cache area is divided for each processor, The cache sharing method and the multiple writing method can be similarly realized by any method.

キャッシュ多重書きの例を図10に示す。   An example of cache multiple writing is shown in FIG.

(1)は、装置全体でキャッシュを共有しあい、2重書きする方式である。つまり、プロセッサ3200はキャッシュ3400、4400を用いて、プロセッサ4200はキャッシュ4400、5400を用いて、プロセッサ5200はキャッシュ5400、6400を用いて、プロセッサ6200はキャッシュ6400、3400を用いて2重書きを行っている。   (1) is a method in which the cache is shared by the entire apparatus and is written twice. That is, the processor 3200 uses the caches 3400 and 4400, the processor 4200 uses the caches 4400 and 5400, the processor 5200 uses the caches 5400 and 6400, and the processor 6200 uses the caches 6400 and 3400. ing.

(2)は、装置全体でキャッシュを共有しあい、全キャッシュに多重書きする方式である。つまり、プロセッサ3200、4200、5200、6200は、それぞれキャッシュ3400、4400、5400、6400を用いて、多重書きを行っている。このケースにおいて、コントローラが障害となった場合は、キャッシュを共有しているプロセッサ間でもっとも負荷の低いプロセッサが、障害コントローラ担当論理ボリュームの処理を引き継ぐ。これらのケースにおいては、任意のプロセッサが障害コントローラ担当論理ボリュームの処理を引き継げるように、ディスク側のデータバスを、装置内の全ディスク装置、全コントローラで共通のバスに接続しておく。もちろん、これらの多重書き方式を装置内で混在させることも可能である。これらの多重書き方式の指定は、共通メモリ領域3410、4410に多重書き情報を持ち、各々のプロセッサ3200、4200、5200、6200が、この情報を元に、書き込みデータの転送方式をデータ転送制御部3300、4300、5300、6300に指示することにより実現できる。   (2) is a system in which the cache is shared by the entire apparatus, and multiple writing is performed in all caches. That is, the processors 3200, 4200, 5200, and 6200 perform multiple writing using the caches 3400, 4400, 5400, and 6400, respectively. In this case, if the controller fails, the processor with the lowest load among the processors sharing the cache takes over the processing of the failed controller responsible logical volume. In these cases, the data bus on the disk side is connected to a common bus for all disk devices and all controllers in the device so that an arbitrary processor can take over the processing of the logical volume in charge of the fault controller. Of course, these multiple writing systems can be mixed in the apparatus. The designation of these multiple write methods has multiple write information in the common memory areas 3410 and 4410, and each processor 3200, 4200, 5200 and 6200 determines the transfer method of write data based on this information as a data transfer control unit. This can be realized by instructing 3300, 4300, 5300, 6300.

本発明の概要を表す構成図である。It is a block diagram showing the outline | summary of this invention. 本発明の実施例である制御装置の構成図である。It is a block diagram of the control apparatus which is an Example of this invention. 本発明の実施例であるコントローラのキャッシュの構成を示す図である。It is a figure which shows the structure of the cache of the controller which is an Example of this invention. 本発明の実施例によるコントローラのホストからのI/O処理の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the I / O process from the host of the controller by the Example of this invention. 本発明の実施例によるコントローラのキャッシュ内のデータをディスク装置に格納する動作を示すフローチャートである。4 is a flowchart illustrating an operation of storing data in a cache of a controller in a disk device according to an embodiment of the present invention. 本発明の実施例による他のコントローラから処理要求を受けとったコントローラの制御装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the control apparatus of the controller which received the process request from the other controller by the Example of this invention. 本発明の実施例による他のコントローラの障害を検出したコントローラの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the controller which detected the failure of the other controller by the Example of this invention. 本発明の実施例による障害が発生したコントローラの復旧処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of a recovery process of the controller in which the failure generate | occur | produced by the Example of this invention. 本発明の実施例によるコントローラおいて用いられるキャッシュの管理方式を示す図である。It is a figure which shows the management system of the cache used in the controller by the Example of this invention. 本発明の他の実施例二夜コントローラのキャッシュの構成を示す図である。It is a figure which shows the structure of the cache of another Example 2 night controller of this invention.

符号の説明Explanation of symbols

10/11:ホストコンピュータ
20:制御装置
30/40:コントローラ
31/41:コントローラA用キャッシュメモリ
32/42:コントローラB用キャッシュメモリ
33/43:キャッシュメモリ
50:ディスク装置
1000/1100/1200/1300:ホストコンピュータ
2000:制御装置
3000/4000/5000/6000:コントローラ
3100/4100/5100/6100:ホストI/F制御部
3200/4200/5200/6200:マイクロプロセッサ
3300/4300/5300/6300:データ転送制御部
3400/4400/5400/6400:キャッシュ
3500/4500/5500/6500:DRVI/F制御部
7000/7100:ディスク装置群
10/11: Host computer 20: Controller 30/40: Controller 31/41: Controller A cache memory 32/42: Controller B cache memory 33/43: Cache memory 50: Disk device 1000/1100/1200/1300 : Host computer 2000: Control device 3000/4000/5000/6000: Controller 3100/4100/5100/6100: Host I / F control unit 3200/4200/5200/6200: Microprocessor 3300/4300/5300/6300: Data transfer Control unit 3400/4400/5400/6400: Cache 3500/4500/5500/6500: DRVI / F control unit 7000/7100: Disk device group

Claims (19)

ホストコンピュータのデータを格納し、複数の記憶領域を有する記憶装置と、
該ホストコンピュータの指示に基づいて該記憶装置の制御を行い、該ホストコンピュータと該ディスク装置との間のデータ転送を制御し、該ホストコンピュータと該記憶装置との間を転送されるデータを一時的に保持する複数の領域を有するキャッシュメモリを有する複数のコントローラと前記複数のコントローラ間を接続するパスとを具備する制御装置とを有する記憶サブシステムであって、
前記コントローラには、前記記憶装置の複数の記憶領域のうち少なくとも1つと該コントローラのキャッシュメモリの複数の領域のうち少なくとも1つと前記パスにより接続される他のコントローラのキャッシュメモリの複数の領域のうち少なくとも一つが割当てられることを特徴とする記憶サブシステム。
A storage device for storing data of the host computer and having a plurality of storage areas;
The storage device is controlled based on an instruction from the host computer, data transfer between the host computer and the disk device is controlled, and data transferred between the host computer and the storage device is temporarily stored. A storage subsystem comprising a controller having a plurality of cache memory having a plurality of areas to be held and a controller comprising a path connecting the plurality of controllers,
The controller includes at least one of a plurality of storage areas of the storage device and at least one of a plurality of areas of the cache memory of the controller and a plurality of areas of a cache memory of another controller connected by the path A storage subsystem characterized in that at least one is allocated.
請求項1記載の記憶サブシステムにおいて、前記コントローラは、前記ホストコンピュータから転送されるデータを該コントローラに割当てられている複数の前記キャッシュメモリに書込むことを特徴とする記憶サブシステム。   2. The storage subsystem according to claim 1, wherein the controller writes data transferred from the host computer into a plurality of the cache memories assigned to the controller. 請求項2記載の記憶サブシステムにおいて、前記コントローラに障害が発生したときは、前記他のコントローラは該障害コントローラが担当していた前記記憶装置の記憶領域の処理を行うことを特徴とする記憶サブシステム。   3. The storage subsystem according to claim 2, wherein when a failure occurs in the controller, the other controller performs processing of a storage area of the storage device that was in charge of the failure controller. system. 請求項3記載の記憶サブシステムにおいて、該他のコントローラはホットスタンバイしているコントローラであって、ホットスタンバイしているコントローラには、キャッシュメモリの記憶領域を割り当てないことを特徴とする記憶サブシステム。   4. The storage subsystem according to claim 3, wherein the other controller is a hot standby controller, and a storage area of a cache memory is not allocated to the hot standby controller. . 請求項1記載の記憶サブシステムにおいて、前記制御装置は複数の前記コントローラ間を接続するパスを有し、前記コントローラが他のコントローラに割当てられた前記記憶装置の記憶領域に対する処理要求をホストコンピュータから受取ったときは、前記コントローラは、前記他のコントローラに該処理要求を通信することを特徴とする記憶サブシステム。   2. The storage subsystem according to claim 1, wherein the control device has a path connecting the plurality of controllers, and the controller issues a processing request for a storage area of the storage device allocated to another controller from a host computer. When received, the controller communicates the processing request to the other controller. 請求項1記載の記憶サブシステムにおいて、前記キャッシュ領域の分割は、コントローラの負荷に応じて変更することを特徴とする記憶サブシステム。   The storage subsystem according to claim 1, wherein the division of the cache area is changed according to a load on the controller. ホストコンピュータのデータを格納する複数の論理ボリュームを有する磁気ディスクと、
該ホストコンピュータと該ディスク装置との間を転送されるデータを一時的に保持する複数の領域を有するキャッシュメモリと、前記キャッシュメモリとが接続され、該データのデータ転送を制御するデータ転送制御部とを有する複数のコントローラと、複数のコントローラ間を接続するパスとを有し、該ホストコンピュータの指示に基づいて該磁気ディスク装置の制御を行う制御装置とを有する記憶サブシステムであって、
前記コントローラには、前記磁気ディスク装置の複数の論理ボリュームのうち少なくとも1つと該コントローラのキャッシュメモリの複数の領域のうち少なくとも1つと、他のコントローラのキャッシュメモリの複数の領域のうち少なくとも1つとが割当てられることを特徴とする記憶サブシステム。
A magnetic disk having a plurality of logical volumes for storing host computer data;
A cache memory having a plurality of areas for temporarily holding data transferred between the host computer and the disk device, and a data transfer control unit for connecting the cache memory and controlling data transfer of the data A storage subsystem having a controller for controlling the magnetic disk device based on an instruction from the host computer, and a controller for controlling the magnetic disk device based on an instruction from the host computer.
The controller includes at least one of a plurality of logical volumes of the magnetic disk device, at least one of a plurality of areas of a cache memory of the controller, and at least one of a plurality of areas of a cache memory of another controller. A storage subsystem characterized by being assigned.
請求項7記載の記憶サブシステムにおいて、前記コントローラは、前記ホストコンピュータから転送されるデータを該コントローラに割当てられている該コントローラのキャッシュメモリの領域と、該コントローラに割当てられている他のコントローラのキャッシュメモリの領域とに書込むことを特徴とする記憶サブシステム。   8. The storage subsystem according to claim 7, wherein the controller includes a cache memory area of the controller assigned to the controller for data transferred from the host computer, and another controller assigned to the controller. A storage subsystem for writing to a cache memory area. 請求項8記載の記憶サブシステムにおいて、前記コントローラに障害が発生したときは、前記他のコントローラは該障害コントローラが担当していた前記論理ボリュームの処理を行うことを特徴とする記憶サブシステム。   9. The storage subsystem according to claim 8, wherein when a failure occurs in the controller, the other controller performs processing of the logical volume for which the failure controller was responsible. 請求項9記載の記憶サブシステムにおいて、前記他のコントローラはホットスタンバイしているコントローラであって、、ホットスタンバイしているコントローラには、キャッシュメモリの記憶領域を割り当てないことを特徴とする記憶サブシステム。   10. The storage subsystem according to claim 9, wherein the other controller is a hot standby controller, and a storage area of a cache memory is not allocated to the hot standby controller. system. 請求項7記載の記憶サブシステムにおいて、前記コントローラが他のコントローラに割当てられた論理ボリュームに対する処理要求をホストコンピュータから受けとったときは、前記コントローラのデータ転送制御部は、該他のコントローラに前記第一のパスを介して処理要求を転送し、該処理要求を受領した該他のコントローラが該論理ボリュームに対する処理を行い、処理結果を、前記コントローラに転送することを特徴する記憶サブシステム。   8. The storage subsystem according to claim 7, wherein when the controller receives a processing request for a logical volume assigned to another controller from a host computer, the data transfer control unit of the controller sends the request to the other controller. A storage subsystem, wherein a processing request is transferred through one path, the other controller that has received the processing request performs processing on the logical volume, and transfers a processing result to the controller. 請求項7記載の記憶サブシステムにおいて、前記キャッシュ領域の分割は、コントローラの負荷に応じて変更することを特徴とする記憶サブシステム。   8. The storage subsystem according to claim 7, wherein the division of the cache area is changed according to a load on the controller. 請求項7記載の記憶サブシステムにおいて、前記コントローラ間のパスは、2つの前記コントローラを接続する第一のパスと、、該2つのコントローラの組を接続する第二のパスを含むことを特徴とする記憶サブシステム。   8. The storage subsystem according to claim 7, wherein the path between the controllers includes a first path that connects the two controllers and a second path that connects the set of the two controllers. Storage subsystem. 請求項13記載の記憶サブシステムにおいて、前記制御装置にコントローラを増設するときは、前記コントローラの2台単位に増設することを特徴とする記憶サブシステム。   14. The storage subsystem according to claim 13, wherein when a controller is added to the control device, the controller is added in units of two of the controllers. ホストコンピュータのデータを格納し、複数の記憶領域を有する記憶装置と、
該ホストコンピュータの指示に基づいて該記憶装置の制御を行い、該ホストコンピュータと該記憶装置との間のデータ転送を制御し、該ホストコンピュータと該記憶装置との間を転送されるデータを一時的に保持する複数の領域を有するキャッシュメモリを有する複数のコントローラと前記複数のコントローラ間を接続するパスとを具備する制御装置とを有する記憶サブシステムであって、
前記コントローラには、前記記憶装置の複数の記憶領域のうち少なくとも1つと該コントローラのキャッシュメモリの複数の領域のうち少なくとも1つと前記パスにより接続される他のコントローラのキャッシュメモリの複数の領域のうち少なくとも一つが割当てられ、
前記ホストコンピュータから転送されるデータは、該コントローラに割当てられている該コントローラのキャッシュメモリの領域と、該コントローラに割当てられている他のコントローラのキャッシュメモリの領域に書込まれることを特徴とする記憶サブシステム。
A storage device for storing data of the host computer and having a plurality of storage areas;
The storage device is controlled based on an instruction from the host computer, data transfer between the host computer and the storage device is controlled, and data transferred between the host computer and the storage device is temporarily stored. A storage subsystem comprising a controller having a plurality of cache memory having a plurality of areas to be held and a controller comprising a path connecting the plurality of controllers,
The controller includes at least one of a plurality of storage areas of the storage device and at least one of a plurality of areas of the cache memory of the controller and a plurality of areas of a cache memory of another controller connected by the path At least one is assigned,
The data transferred from the host computer is written in the cache memory area of the controller allocated to the controller and the cache memory area of another controller allocated to the controller. Storage subsystem.
請求項15記載の記憶サブシステムにおいて、前記コントローラに障害が発生したときは、前記他のコントローラは該障害コントローラが担当していた前記記憶装置の記憶領域の処理を行うことを特徴とする記憶サブシステム。   16. The storage subsystem according to claim 15, wherein, when a failure occurs in the controller, the other controller performs processing of a storage area of the storage device that was in charge of the failure controller. system. 請求項15記載の記憶サブシステムにおいて、該他のコントローラはホットスタンバイしているコントローラであって、ホットスタンバイしているコントローラには、キャッシュメモリの記憶領域を割り当てないことを特徴とする記憶サブシステム。   16. The storage subsystem according to claim 15, wherein the other controller is a hot standby controller, and the storage area of the cache memory is not allocated to the hot standby controller. . 請求項15記載の記憶サブシステムにおいて、前記制御装置は複数の前記コントローラ間を接続するパスを有し、前記コントローラが他のコントローラに割当てられた前記記憶装置の記憶領域に対する処理要求をホストコンピュータから受取ったときは、前記コントローラは、前記他のコントローラに該処理要求を通信することを特徴とする記憶サブシステム。   16. The storage subsystem according to claim 15, wherein the control device has a path connecting the plurality of controllers, and the controller issues a processing request for a storage area of the storage device allocated to another controller from a host computer. When received, the controller communicates the processing request to the other controller. 請求項15記載の記憶サブシステムにおいて、前記キャッシュ領域の分割は、コントローラの負荷に応じて変更することを特徴とする記憶サブシステム。
16. The storage subsystem according to claim 15, wherein the division of the cache area is changed according to a load on the controller.
JP2005376967A 2005-12-28 2005-12-28 Storage subsystem Pending JP2006114064A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005376967A JP2006114064A (en) 2005-12-28 2005-12-28 Storage subsystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005376967A JP2006114064A (en) 2005-12-28 2005-12-28 Storage subsystem

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP30096795A Division JP3772369B2 (en) 1995-11-20 1995-11-20 Storage subsystem

Publications (1)

Publication Number Publication Date
JP2006114064A true JP2006114064A (en) 2006-04-27

Family

ID=36382476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005376967A Pending JP2006114064A (en) 2005-12-28 2005-12-28 Storage subsystem

Country Status (1)

Country Link
JP (1) JP2006114064A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012533100A (en) * 2009-10-27 2012-12-20 株式会社日立製作所 Storage control device and storage control method for dynamically allocating part of pool area as data storage area
WO2013014699A1 (en) 2011-07-22 2013-01-31 Hitachi, Ltd. Storage system and its logical unit management method
JP2013114671A (en) * 2011-11-30 2013-06-10 Hitachi Ltd Load distribution system
WO2015052798A1 (en) * 2013-10-09 2015-04-16 株式会社日立製作所 Storage system and storage control method
JP2017016691A (en) * 2012-03-23 2017-01-19 ディ・エス・エス・ディ・インコーポレイテッドDssd, Inc. System and methods for storing data using table of contents entries

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012533100A (en) * 2009-10-27 2012-12-20 株式会社日立製作所 Storage control device and storage control method for dynamically allocating part of pool area as data storage area
WO2013014699A1 (en) 2011-07-22 2013-01-31 Hitachi, Ltd. Storage system and its logical unit management method
US8799573B2 (en) 2011-07-22 2014-08-05 Hitachi, Ltd. Storage system and its logical unit management method
JP2013114671A (en) * 2011-11-30 2013-06-10 Hitachi Ltd Load distribution system
JP2017016691A (en) * 2012-03-23 2017-01-19 ディ・エス・エス・ディ・インコーポレイテッドDssd, Inc. System and methods for storing data using table of contents entries
WO2015052798A1 (en) * 2013-10-09 2015-04-16 株式会社日立製作所 Storage system and storage control method
GB2534956A (en) * 2013-10-09 2016-08-10 Hitachi Ltd Storage system and storage control method
JP6009095B2 (en) * 2013-10-09 2016-10-19 株式会社日立製作所 Storage system and storage control method

Similar Documents

Publication Publication Date Title
JP3772369B2 (en) Storage subsystem
JP3732869B2 (en) External storage device
US9182918B2 (en) Network storage systems having clustered raids for improved redundancy and load balancing
JP4480756B2 (en) Storage management device, storage system control device, storage management program, data storage system, and data storage method
US6408400B2 (en) Disk array device
US8089487B2 (en) Storage control device and storage system
US11573737B2 (en) Method and apparatus for performing disk management of all flash array server
GB2368161A (en) Method and apparatus for providing battery-backed immediate write back cashe for an arrayof disk drives in a computor system
JP3681766B2 (en) Disk array device
JP4462697B2 (en) Storage controller
JP2005196490A (en) System and method for data duplication
US11409471B2 (en) Method and apparatus for performing data access management of all flash array server
JPH09269871A (en) Data re-redundancy making system in disk array device
JP2006114064A (en) Storage subsystem
JP3776438B2 (en) Storage device
CN110674539B (en) Hard disk protection device, method and system
JP2006260141A (en) Control method for storage system, storage system, storage control device, control program for storage system, and information processing system
CN112445652A (en) Remote copy system
JP2004171373A (en) Disk array device
US11366618B2 (en) All flash array server and control method thereof
US11809293B2 (en) Storage node failure detection based on register values for an all flash array server
US11789613B2 (en) Storage system and data processing method
CN113849126A (en) Log storage method and device
JP2023096958A (en) Storage system and storage system control method
JP2010033379A (en) Virtualization system and restoration method for virtualization

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060127

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060127

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090901

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100105