JP2006164218A - Storage system and its cache control method - Google Patents

Storage system and its cache control method Download PDF

Info

Publication number
JP2006164218A
JP2006164218A JP2005131590A JP2005131590A JP2006164218A JP 2006164218 A JP2006164218 A JP 2006164218A JP 2005131590 A JP2005131590 A JP 2005131590A JP 2005131590 A JP2005131590 A JP 2005131590A JP 2006164218 A JP2006164218 A JP 2006164218A
Authority
JP
Japan
Prior art keywords
cache
processing unit
control
node
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.)
Withdrawn
Application number
JP2005131590A
Other languages
Japanese (ja)
Inventor
Yoshihiro Hasebe
賀洋 長谷部
Takamasa Kawai
剛巨 河合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2005131590A priority Critical patent/JP2006164218A/en
Publication of JP2006164218A publication Critical patent/JP2006164218A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To enhance performance by increasing a cache hit rate. <P>SOLUTION: A storage control node is equipped with a means for managing in which cache node the control right is given relating to a specific area in corresponding address space of a storage device connected to the storage control node. The cache node receives data request from a host device and retrieves the cache. At the time of cache hit, the data request is processed by employing the cache area. At the time of miss hit, a specific control right is requested to an appropriate storage control node. When the cache node having the control right exists, the data request from the host device is processed by employing the cache area of the node through the medium of exclusive processing by the cache node having the control right. When cache node having the control right does not exist, provision of the control right to the cache node at the request origin is registered to be notified. The cache node provided with the control right executes cache control by the cache of the cache node. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、キャッシュ制御技術及びストレージシステムに関し、特に、分散システムのキャッシュ制御に適用した場合に好適とされるシステム及びキャッシュ制御方法に関する。   The present invention relates to a cache control technique and a storage system, and more particularly to a system and a cache control method that are suitable when applied to cache control of a distributed system.

ディスクアレイ装置に代表されるストレージシステムでは、磁気ディスク装置などのストレージ装置のアクセス速度の遅さを緩衝し、単位時間当りの入出力数やスループットなどの性能向上のためにキャッシュメモリが備えられている。   A storage system represented by a disk array device is provided with a cache memory to buffer the slow access speed of a storage device such as a magnetic disk device and improve performance such as the number of inputs / outputs per unit time and throughput. Yes.

ディスクアレイ装置の全容量の中で、アクセス頻度の高い領域は限られているので、その部分のデータをキャッシュメモリ上に一時保存しておくことにより、ホストコンピュータへの応答の高速化を図ることができる。   Since the frequently accessed area is limited in the total capacity of the disk array device, the response to the host computer can be speeded up by temporarily storing the data in the cache memory. Can do.

このようなディスクアレイ装置において、ホストコンピュータからの処理やストレージ装置への入出力処理を行うディレクタ部を複数搭載するマルチディレクタ型のストレージシステムが知られている。   In such a disk array device, a multi-director type storage system is known in which a plurality of director units that perform processing from a host computer and input / output processing to a storage device are mounted.

このようなディスクアレイ装置に関する刊行物として、後記特許文献1、2等の記載が参照される。   As publications relating to such a disk array device, the descriptions of Patent Documents 1 and 2 below are referred to.

後記特許文献1に記載されたストレージシステムは、複数のディレクタと共有メモリを備えたディスクアレイ装置において、共有メモリへのアクセス回数を省く制御が行われている。特許文献1に記載されたストレージシステムは、ホストディレクタと、ディスクディレクタと、ホストコンピュータとの間で通信される入出力データを一時的に格納するキャッシュページ部を有する共有メモリとを備え、ホストディレクタには、ローカルメモリを搭載している。このストレージシステムは、次のように動作する。   In the storage system described in Patent Document 1 described later, in a disk array device including a plurality of directors and a shared memory, control is performed to reduce the number of accesses to the shared memory. The storage system described in Patent Document 1 includes a host director, a disk director, and a shared memory having a cache page unit that temporarily stores input / output data communicated between the host computer and the host director. Has a local memory. This storage system operates as follows.

すなわち、各ホストディレクタは、ホストコンピュータからのデータ要求を受領すると、共有メモリの該当するキャッシュページを、データ送受信中に他のディレクタによって操作されないように排他制御する処理を行い、ホストコンピュータからの該データ要求を処理し終わっても、当該キャッシュページを各ホストディレクタのローカルメモリに設けたキャッシュ制御領域で管理し、自ホストディレクタだけで使用中の解除を行い、当該キャッシュページへのアクセスが連続するなど再度あった場合に、共有メモリへのアクセスを省略し、自ホストディレクタで使用中に設定し処理し、当該キャッシュページを利用している。   That is, when each host director receives a data request from the host computer, the host director performs exclusive control on the corresponding cache page in the shared memory so that it is not operated by another director during data transmission / reception. Even after the data request is processed, the cache page is managed in the cache control area provided in the local memory of each host director, and only the local host director releases it and continues to access the cache page. In such a case, access to the shared memory is omitted, the local host director is set to use and processed, and the cache page is used.

しかし、このような構成では、複数のディレクタから共有メモリへアクセスされ、自ディレクタで管理していないキャッシュページの利用には共有メモリへアクセスして処理する必要があり、ディスクアレイ装置の規模が大きくなってくるとアクセスが競合する。また、自ディレクタで管理しているキャッシュページでも、キャッシュページは共有メモリにあるため、キャッシュページへのアクセスには、共有メモリまでの経路の分だけ時間がかかり、このため、ホストコンピュータに対するレスポンスの時間を、特段に速めることは、困難である。   However, in such a configuration, the shared memory is accessed from a plurality of directors. To use cache pages that are not managed by the director, it is necessary to access and process the shared memory, and the size of the disk array device is large. When it comes to, access conflicts. Even in the cache page managed by its own director, since the cache page is in the shared memory, access to the cache page takes time corresponding to the path to the shared memory. It is difficult to speed up the time particularly.

すなわち、共有メモリへのレイテンシが大きく、また、共有メモリへのアクセスが集中すると、性能の低下が生じ、さらに、アクセス集中を分散させようとすると、構成の大規模化を招く。   In other words, the latency to the shared memory is large, and when access to the shared memory is concentrated, the performance is deteriorated. Further, if the access concentration is distributed, the configuration is enlarged.

また後記特許文献2に記載されたストレージシステムは、ホストディレクタと、ディスクディレクタの数を増やして大規模な構成をするディスクアレイ・システムである。このようなディスクアレイ・システムは、上位装置と通信を行う複数のホストディレクタと、該ホストディレクタごとに接続されるキャッシュメモリと、1個以上のディスクと接続する1個以上のディスクディレクタと、ホストディレクタとディスクディレクタを接続する1個以上のネットワーク手段とを備え、次のように動作する。   The storage system described in Patent Document 2 described later is a disk array system that has a large-scale configuration by increasing the number of host directors and disk directors. Such a disk array system includes a plurality of host directors that communicate with a host device, a cache memory connected to each host director, one or more disk directors connected to one or more disks, and a host. It includes one or more network means for connecting the director and the disk director, and operates as follows.

すなわち、ホストコンピュータからのデータ読み出し要求またはデータ書き込み要求を受け取ったホストディレクタは、該ホストディレクタに接続されたキャッシュメモリ内に要求されたデータが無かった場合は、ディスクディレクタへデータ要求を送出し、該データ要求を受け取ったディスクディレクタは、該ディスクディレクタに接続されたディスクドライブから読み出したデータを複数のホストディレクタのどのホストディレクタに接続されたキャッシュ手段に格納したかを示す記録情報を調べる。該要求されたデータを他のホストディレクタに送出したことが無かった場合には、ディスクディレクタが当該データをディスクから読み出して該ホストディレクタに送出する。当該ホストディレクタは、受け取ったデータをキャッシュメモリへ格納し、データ書き込み要求であれば、ホストコンピュータから受け取った書き込みデータをキャッシュメモリに書き込んで変更を行い、データ読み出し要求であれば、キャッシュメモリの当該データを転送する。   That is, the host director that has received a data read request or data write request from the host computer sends a data request to the disk director when there is no requested data in the cache memory connected to the host director, The disk director that has received the data request examines recording information indicating that the data read from the disk drive connected to the disk director is stored in the cache means connected to which host director of the plurality of host directors. If the requested data has never been sent to another host director, the disk director reads the data from the disk and sends it to the host director. The host director stores the received data in the cache memory, and if it is a data write request, writes the write data received from the host computer to the cache memory to make a change. Transfer data.

該要求されたデータを他のホストディレクタに送出したことがあった場合は、そのホストディレクタに対して、当該データを無効化させる。その際、当該データに書き換えが生じており、それがまだディスクに書き戻されていなかった場合には、ディスクディレクタは、当該ホストディレクタを介して書き換えられたデータを受け取り、新たにディスクから読み出したデータの上に上書きし、その後、そのデータをホストディレクタに送出する。   If the requested data has been sent to another host director, the host director is made to invalidate the data. At that time, if the data has been rewritten and has not been written back to the disk, the disk director receives the rewritten data via the host director and newly reads it from the disk. Overwrite the data and then send the data to the host director.

ホストディレクタは、受け取ったデータをキャッシュメモリへ格納し、ホストコンピュータから受け取った書き込みデータを、キャッシュメモリに書き込んで変更を行う。   The host director stores the received data in the cache memory and writes the write data received from the host computer into the cache memory for modification.

当該データに書き換えが生じていなければ、無効化した後、新たにディスクから読み出したデータを要求元ホストディレクタに送出する。   If the data has not been rewritten, the data is invalidated and the data newly read from the disk is sent to the requesting host director.

当該ホストディレクタは、受け取ったデータをキャッシュメモリへ格納し、データ書き込み要求であればホストコンピュータから受け取った書き込みデータをキャッシュメモリに書き込んで変更を行い、データ読み出し要求であれば、キャッシュメモリの当該データを転送する。
なお、入出力要求に応じて、対象の記憶ボリウムに対する入出力制御を行うユニットを特定する手法として、例えば後記特許文献3には、データ入出力要求を受信するためのホストインタフェース制御部が形成されたチャネル制御ユニットと、前記データ入出力要求に応じて、データを記憶するための記憶ボリウムに対する前記データの入出力制御を行うためのディスクインタフェース制御部が形成されたディスク制御ユニットと、前記データを記憶するためのメモリが形成されたキャッシュメモリユニットと、前記ホストインタフェース制御部と前記ディスクインタフェース制御部と前記メモリとが形成されたストレージ制御ユニットとを挿抜可能な装着部と、前記チャネル制御ユニット、前記ディスク制御ユニット、前記キャッシュメモリユニット、及び前記ストレージ制御ユニットを通信可能に接続する内部接続部とを備え、前記装着部には少なくとも、前記ストレージ制御ユニットの前記メモリに、前記データ入出力要求の対象となっている前記記憶ボリウムに対する前記入出力制御を行う前記ユニットを特定するための情報が記憶された、複数の前記ストレージ制御ユニットが装着される記憶デバイス制御装置の制御方法であって、
ある前記ストレージ制御ユニットが、前記データ入出力要求を受信するステップと、
前記ストレージ制御ユニットが前記情報を参照し、前記入出力要求の対象となっている前記記憶ボリウムに対する前記入出力制御を行う前記ユニットを特定するステップと、
前記入出力制御を行う前記ユニットが前記ストレージ制御ユニットである場合には、前記ストレージ制御ユニットが前記入出力制御を行い、前記入出力制御を行う前記ユニットが前記ストレージ制御ユニットでない場合には、他の前記ストレージ制御ユニットが前記入出力制御を行うステップとを備えることを特徴とする記憶デバイス制御装置の制御方法が開示されている。
The host director stores the received data in the cache memory, and if it is a data write request, writes the write data received from the host computer to the cache memory for modification, and if it is a data read request, the data in the cache memory Forward.
As a technique for specifying a unit that performs input / output control for a target storage volume in response to an input / output request, for example, Patent Document 3 described later includes a host interface control unit for receiving a data input / output request. A channel control unit, a disk control unit formed with a disk interface control unit for performing data input / output control on a storage volume for storing data in response to the data input / output request, and the data A cache memory unit in which a memory for storage is formed; a mounting unit in which the storage control unit in which the host interface control unit, the disk interface control unit, and the memory are formed; and the channel control unit; The disk control unit, the cache memo A storage unit that is communicably connected to the storage control unit, and the storage unit that is the target of the data input / output request to at least the memory of the storage control unit. A method of controlling a storage device control apparatus to which a plurality of storage control units are mounted, in which information for specifying the unit that performs the input / output control is stored.
The storage control unit receiving the data I / O request;
The storage control unit refers to the information and identifies the unit that performs the input / output control for the storage volume that is the target of the input / output request;
When the unit that performs the input / output control is the storage control unit, the storage control unit performs the input / output control, and when the unit that performs the input / output control is not the storage control unit, The storage control unit comprises a step of performing the input / output control. A method for controlling a storage device control apparatus is disclosed.

特開2003−228461号公報JP 2003-228461 A 特開2003−345520号公報JP 2003-345520 A 特開2004−318484号公報JP 2004-318484 A

上記した従来のストレージシステムでは、ディスクからのデータ読み出し時間やホストディレクタとディスクディレクタ間での無効化処理などがネックとなる。   In the conventional storage system described above, data read time from the disk, invalidation processing between the host director and the disk director, and the like become bottlenecks.

複数のホストディレクタを有するストレージシステムにおいて、ホストからのデータ要求を受けたホストディレクタが、自身のキャッシュ手段でキャッシュミスした際に、他のホストディレクタが保持、あるいは、管理しているキャッシュページを利用できない、という問題点を有している。   In a storage system with multiple host directors, when a host director that receives a data request from a host makes a cache miss in its own cache, it uses a cache page that is held or managed by another host director. It has the problem that it cannot be done.

その理由は、従来のストレージシステムでは、あるディレクタが保持する、あるいは、管理しているキャッシュページを、他のディレクタが利用することについて考慮されていないためである。   This is because the conventional storage system does not consider use of a cache page held or managed by a director by another director.

キャッシュ手段を有する複数のホストディレクタと、ディスクディレクタと、ホストディレクタとディスクディレクタを接続するネットワーク手段から構成されるストレージシステムにおいて、単位時間当りの入出力数を大きく向上させることができない、という問題点を有している。   In a storage system composed of a plurality of host directors having a cache means, a disk director, and a network means for connecting the host director and the disk director, the number of inputs / outputs per unit time cannot be greatly improved. have.

その理由は、あるホストディレクタにおいてキャッシュミスした際、ディスク読み出しの時間がかかるためである。さらに、ディスクから読み出したデータを他のホストディレクタのキャッシュ手段に格納していた場合、一貫性の制御の時間もかかる。   The reason is that it takes time to read the disk when a cache miss occurs in a certain host director. Furthermore, if the data read from the disk is stored in the cache means of another host director, it takes time to control consistency.

キャッシュ手段を有する複数のホストディレクタと、ディスクディレクタと、ホストディレクタとディスクディレクタを接続するネットワーク手段から構成されるストレージシステムにおいて、記憶空間の拡張と増加、接続上位装置数の増大に合わせてディレクタの数が大規模になると、単位時間あたりの入出力数やデータ転送速度などの性能の向上が困難となる。   In a storage system composed of a plurality of host directors having cache means, disk directors, and network means for connecting the host directors and disk directors, the director's capacity can be increased in accordance with the expansion and increase of storage space and the number of connected host devices. When the number becomes large, it is difficult to improve performance such as the number of inputs / outputs per unit time and data transfer speed.

その理由は、各ホストディレクタでキャッシュミスした場合に、ディスクディレクタによりディスクの読み出しを行うため、ホストディレクタの数が大規模になると、ディスクディレクタのアクセス集中が生じるためである。   The reason is that, when a cache miss occurs in each host director, the disk director reads the disk, so that when the number of host directors becomes large, the concentration of disk director access occurs.

したがって、本発明の主たる目的は、キャッシュ利用効率を向上するキャッシュ制御システムとストレージシステム及びキャッシュ制御方法を提供することにある。   Accordingly, a main object of the present invention is to provide a cache control system, a storage system, and a cache control method that improve cache utilization efficiency.

本発明は、上記目的を達成しながら、レイテンシの削減、リソース競合の回避を可能とし、性能を向上することができるキャッシュ制御システムとストレージシステム及びキャッシュ制御方法を提供することもその目的としている。   Another object of the present invention is to provide a cache control system, a storage system, and a cache control method capable of reducing latency and avoiding resource contention and improving performance while achieving the above object.

本発明の他の目的は、ストレージ装置へのアクセス回数を省き、上位装置に対して、単位時間当りの入出力数やデータ転送速度の性能を大きく向上させるキャッシュ制御システムとストレージシステム及びキャッシュ制御方法を提供することにある。   Another object of the present invention is to provide a cache control system, a storage system, and a cache control method that eliminate the number of accesses to the storage device and greatly improve the performance of the number of inputs / outputs per unit time and the data transfer rate for the host device. Is to provide.

本発明のさらに他の目的は、記憶空間の拡張と増加、上位装置の増加にあわせて拡張でき、性能も向上できるキャッシュ制御システムとストレージシステム及びキャッシュ制御方法を提供することにある。   Still another object of the present invention is to provide a cache control system, a storage system, and a cache control method that can be expanded and increased in accordance with the expansion and increase of the storage space and the increase of host devices, and the performance can be improved.

本願で開示される発明は、上記目的を達成するため、代表的には、概略以下の通りとされる。   In order to achieve the above object, the invention disclosed in the present application is typically summarized as follows.

本発明の一つのアスペクト(側面)に係るキャッシュ制御システムは、ストレージ装置の情報を格納するキャッシュメモリと、複数の処理部と、を有し、キャッシュ対象のアドレス空間の特定の領域に関する制御権をどの処理部が持っているかを管理する処理部(「管理処理部」という)を少なくとも一つ備え、第一の処理部において、処理対象のデータに関する制御権を持たない場合、前記第一の処理部は、前記管理処理部に、該当する制御権に関する情報を含む第一の信号を送信する手段を備え、前記管理処理部は、該当する制御権を現在どの処理部で保持しているかを記憶管理する記憶部を参照して、前記制御権を保持している処理部を検索する手段と、前記検索の結果、前記制御権を保持する第二の処理部が存在する場合には、前記第二の処理部に対して、前記制御権に関する情報を含む第二の信号を送信する手段と、を備え、前記第二の処理部は、前記管理処理部からの前記第二の信号を受け、前記第一の処理部に特定のキャッシュメモリ内のキャッシュ領域へアクセスするための情報を与える手段を備え、前記第一の処理部は、与えられた情報に基づき、処理対象のキャッシュ領域をアクセスする。   A cache control system according to one aspect of the present invention includes a cache memory for storing information of a storage device, and a plurality of processing units, and has a control right for a specific area of an address space to be cached. If the first processing unit has at least one processing unit (referred to as a “management processing unit”) that manages which processing unit has, and the first processing unit does not have control over the data to be processed, the first processing The unit includes means for transmitting a first signal including information on the corresponding control right to the management processing unit, and the management processing unit stores which processing unit currently holds the corresponding control right. When there is a means for searching for a processing unit that holds the control right with reference to a storage unit to be managed, and a second processing unit that holds the control right as a result of the search, A second signal including information on the control right to a second processing unit, and the second processing unit receives the second signal from the management processing unit, The first processing unit includes means for giving information for accessing a cache area in a specific cache memory, and the first processing unit accesses a cache area to be processed based on the given information. .

本発明に係るキャッシュ制御システムにおいて、前記制御権を保持する第二の処理部は、前記管理処理部からの第二の信号を受け、前記第二の信号より判断される特定のキャッシュメモリ内のキャッシュ領域を排他処理し、前記第一の処理部に前記キャッシュ領域のアクセス情報を与える。   In the cache control system according to the present invention, the second processing unit that holds the control right receives the second signal from the management processing unit, and in a specific cache memory that is determined from the second signal. The cache area is exclusively processed, and the access information of the cache area is given to the first processing unit.

本発明に係るキャッシュ制御システムにおいて、前記管理処理部は、前記検索の結果、前記制御権を保持する処理部が存在しない場合には、前記第一の処理部に対して、前記制御権を付与する手段を備えている。   In the cache control system according to the present invention, the management processing unit grants the control right to the first processing unit when there is no processing unit holding the control right as a result of the search. Means to do.

本発明に係るキャッシュ制御システムにおいて、前記複数の処理部は、通信手段を介して接続されるノードよりなり、前記キャッシュメモリが前記ノード毎に設けられる構成としてもよい。   In the cache control system according to the present invention, the plurality of processing units may be configured by nodes connected via communication means, and the cache memory may be provided for each node.

本発明に係るキャッシュ制御システムにおいて、前記複数の処理部は、通信手段を介して接続される複数のノードよりなり、前記キャッシュページが、複数ノードで共有される共有メモリに格納され、キャッシュ制御情報が前記ノード毎に格納される構成としてもよい。   In the cache control system according to the present invention, the plurality of processing units include a plurality of nodes connected via communication means, and the cache page is stored in a shared memory shared by the plurality of nodes, and cache control information May be stored for each node.

本発明に係るキャッシュ制御システムにおいて、前記第一の処理部は、管理処理部を特定する手段を有する構成としてもよい。   In the cache control system according to the present invention, the first processing unit may have a means for specifying a management processing unit.

本発明に係るキャッシュ制御システムにおいて、前記管理処理部は、アドレス空間上の特定のアドレス情報と、前記アドレス情報から判断される制御権を保持する処理部との対応を記憶した制御情報を検索して、制御権を保持する処理部を特定する構成としてもよい。   In the cache control system according to the present invention, the management processing unit searches for control information storing a correspondence between specific address information in an address space and a processing unit holding a control right determined from the address information. Thus, the processing unit that holds the control right may be specified.

本発明の他のアスペクト(側面)に係るストレージシステムは、上位装置との入出力を制御しキャッシュ機能を有する複数のキャッシュノードと、ストレージ装置との入出力を制御する複数の記憶制御ノードと、前記複数のキャッシュノードと前記複数の記憶制御ノードの間を相互に接続するネットワーク手段と、を備え、論理的なアドレス空間の特定の領域に関する制御権とキャッシュノードとの対応関係を管理する手段を有する。   A storage system according to another aspect of the present invention includes a plurality of cache nodes that control input / output with a host device and have a cache function, a plurality of storage control nodes that control input / output with the storage device, Network means for interconnecting the plurality of cache nodes and the plurality of storage control nodes, and means for managing a correspondence relationship between the control right and a cache node for a specific area of a logical address space. Have.

本発明に係るストレージシステムにおいて、あるキャッシュノードは、該キャッシュノードで、キャッシュを検索し、キャッシュがあれば、該当するキャッシュ領域を使い、上位装置のデータ要求を処理し、該キャッシュノードにキャッシュが無い場合も、該当する記憶制御ノードに必要な制御権を要求し、該制御権を持つキャッシュノードがあれば、該キャッシュノードに排他処理させ、該制御権を持つキャッシュノードの該当するキャッシュ領域を使い、上位装置のデータ要求を処理し、該制御権を持つキャッシュノードが無ければ、該当する制御権を要求元のキャッシュノードに付与したことを登録して通知させて、制御権を得た自ノードのキャッシュでキャッシュ制御する。   In the storage system according to the present invention, a certain cache node searches the cache with the cache node, and if there is a cache, uses the corresponding cache area to process the data request of the host device, and the cache node stores the cache. If there is no cache node, the required storage control node is requested, and if there is a cache node having the control right, the cache node performs exclusive processing, and the corresponding cache area of the cache node having the control right is determined. If there is no cache node that has the control right, it registers and notifies that the corresponding control right has been given to the requesting cache node. Cache control with node cache.

本発明の一つのアスペクト(側面)に係る方法は、上位装置に接続され入出力処理を行う、キャッシュ手段を有する複数のキャッシュノードと、複数の記憶装置と、複数の記憶装置に接続され入出力処理を行う複数の記憶制御ノードと、を備えたストレージシステムのキャッシュ制御方法であって、前記記憶制御ノードは、論理的なアドレス空間の特定の領域に関する制御権を、どのキャッシュノードで有するかを管理する工程を含む。   A method according to one aspect of the present invention includes a plurality of cache nodes having cache means, which are connected to a host device and perform input / output processing, a plurality of storage devices, and an input / output connected to the plurality of storage devices. A storage system cache control method comprising: a plurality of storage control nodes that perform processing, wherein the storage control node determines which cache node has control over a specific area of a logical address space. Including the process of managing.

本発明に係る方法において、
前記キャッシュノードが、前記上位装置からのデータ要求を受けて、前記キャッシュノードでキャッシュを検索する工程と、
キャッシュがあると判断される場合、前記キャッシュノードは、該当するキャッシュ領域を用いてデータアクセスを行う工程と、を含む。
In the method according to the invention,
The cache node receiving a data request from the host device and searching the cache with the cache node;
When it is determined that there is a cache, the cache node includes a step of performing data access using a corresponding cache area.

本発明に係る方法において、キャッシュがないと判断される場合、
前記キャッシュノードは、該当する記憶制御ノードに所定の制御権を要求し、該制御権を持つキャッシュノードが存在する場合、該制御権を持つキャッシュノードに排他処理させ、該制御権を持つキャッシュノードの該当するキャッシュ領域を用いて、前記上位装置のデータ要求を処理する工程と、
該制御権を持つキャッシュノードが無い場合、前記キャッシュノードは、特定の記憶制御ノードに対して、該当する制御権を、要求元のキャッシュノードに付与したことを登録して通知させる工程と、
該当する制御権が付与されたキャッシュノードは、該キャッシュノードのキャッシュでキャッシュ制御する工程と、を含む。
本発明の更に別のアスペクトによれば、少なくとも1つのキャッシュメモリと、複数の処理部とを有するキャッシュ制御システムであって、キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に関して、どの処理部が制御権を有するかを管理する処理部(「管理処理部」という)を備え、前記複数の処理部の少なくとも1つの処理部は、前記処理部がアクセス対象の単位領域に関する制御権を持たない場合、前記管理処理部に対して、前記単位領域の制御権を有する処理部の検索を行うように要求を発行する手段を備え、前記管理処理部は、前記処理部からの前記要求を受け、前記単位領域の制御権を現在どの処理部が有しているか検索し、前記検索の結果、前記単位領域の制御権を有する処理部が存在する場合、前記単位領域の制御権を有する処理部に対して、前記要求を発行した処理部の情報を通知する手段を備え、前記単位領域の制御権を有する処理部は、前記管理処理部からの通知情報を受け、リードアクセスである場合、前記要求を発行した処理部に対して、前記単位領域内のデータに対応するキャッシュメモリのデータを供給する。本発明において、ライトアクセスの場合、前記要求を発行した処理部は、前記管理処理部からの通知情報を受けた前記単位領域の制御権を有する処理部に対して、転送開始を通知し、書き込みデータの転送を行う。
本発明の更に別のアスペクトによれば、少なくとも1つのキャッシュメモリと、複数の処理部とを有するキャッシュ制御システムであって、キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に関して、どの処理部が制御権を有するかを管理する処理部(「管理処理部」という)を備え、前記複数の処理部の少なくとも1つの処理部は、前記処理部がアクセス対象の単位領域に関する制御権を持たない場合、前記管理処理部に対して、前記単位領域の制御権を有する処理部の検索を行うように要求を発行する手段を備え、前記管理処理部は、前記処理部からの前記要求を受け、前記単位領域の制御権を現在どの処理部が有しているか検索し、前記検索の結果、前記単位領域の制御権を有する処理部が存在する場合、前記要求を発行した処理部に対して、前記単位領域の制御権を有する処理部の情報を通知する手段を備えている。
本発明において、前記要求を発行した処理部は、前記管理処理部からの通知情報を受け、リードアクセスの場合には、前記単位領域の制御権を有する処理部に、利用通知を送信し、前記利用通知を受けた前記単位領域の制御権を有する処理部は、前記単位領域内のデータに対応するキャッシュメモリのデータを、前記要求を発行した処理部に転送するようにしてもよい。
本発明において、前記要求を発行した処理部は、前記管理処理部からの通知情報を受け、ライトアクセスの場合には、書き込みデータを、前記単位領域の制御権を有する処理部に転送するようにしてもよい。
本発明において、前記要求を発行した処理部は、前記管理処理部からの通知情報を受け、前記単位領域の制御権を有する処理部に対して問い合わせ、前記単位領域の制御権を有する処理部は、前記問い合わせを受けてアクセス対象の単位領域のデータのアドレス情報を通知し、前記要求を発行した処理部は、前記単位領域の制御権を有する処理部から通知された前記アドレス情報を用いて、アクセス対象の前記単位領域のデータのアクセスを行うようにしてもよい。
In the method according to the present invention, when it is determined that there is no cache,
The cache node requests a predetermined control right from the corresponding storage control node, and when there is a cache node having the control right, the cache node having the control right performs exclusive processing, and the cache node having the control right Processing the data request of the host device using the corresponding cache area of
If there is no cache node having the control right, the cache node registers and notifies the specific storage control node that the corresponding control right has been given to the requesting cache node; and
The cache node to which the corresponding control right is given includes a step of performing cache control with the cache of the cache node.
According to yet another aspect of the present invention, a cache control system having at least one cache memory and a plurality of processing units, which is uniquely determined from an address of predetermined data in an address space to be cached A processing unit (referred to as a “management processing unit”) that manages which processing unit has control authority with respect to a unit area, and at least one processing unit of the plurality of processing units is a unit to which the processing unit is an access target And a means for issuing a request to the management processing unit to search for a processing unit having the control right for the unit area, when the management processing unit has no control right for the region, In response to the request from, a search is made as to which processing unit currently has the right to control the unit area, and as a result of the search, there is a processing unit having the right to control the unit area. The processing unit having the right to control the unit area is provided with means for notifying the processing unit that has issued the request, the processing unit having the right to control the unit area from the management processing unit. In the case of read access, the cache memory data corresponding to the data in the unit area is supplied to the processing unit that issued the request. In the present invention, in the case of write access, the processing unit that has issued the request notifies the processing unit having the control right of the unit area that has received the notification information from the management processing unit to start transfer and writes Transfer data.
According to yet another aspect of the present invention, a cache control system having at least one cache memory and a plurality of processing units, which is uniquely determined from an address of predetermined data in an address space to be cached A processing unit (referred to as a “management processing unit”) that manages which processing unit has control authority with respect to a unit area, and at least one processing unit of the plurality of processing units is a unit to which the processing unit is an access target And a means for issuing a request to the management processing unit to search for a processing unit having the control right for the unit area, when the management processing unit has no control right for the region, In response to the request from, a search is made as to which processing unit currently has the right to control the unit area, and as a result of the search, there is a processing unit having the right to control the unit area. If you, the processing unit that issued the request, and a means for notifying the information processing unit having a control right of the unit region.
In the present invention, the processing unit that issued the request receives the notification information from the management processing unit, and in the case of read access, transmits a usage notification to the processing unit having the right to control the unit area, and The processing unit having the control right of the unit area that has received the usage notification may transfer the data in the cache memory corresponding to the data in the unit area to the processing unit that issued the request.
In the present invention, the processing unit that issued the request receives the notification information from the management processing unit, and transfers write data to the processing unit having the right to control the unit area in the case of write access. May be.
In the present invention, the processing unit that issued the request receives the notification information from the management processing unit, inquires the processing unit having the control right of the unit area, and the processing unit having the control right of the unit area is In response to the inquiry, the address information of the data of the unit area to be accessed is notified, and the processing unit that issued the request uses the address information notified from the processing unit having the control right of the unit area, You may make it access the data of the said unit area | region of access object.

本発明によれば、複数のキャッシュノードを構成に有し、複数のキャッシュノード間でそれぞれが持つキャッシュを利用するように制御する構成としたことにより、キャッシュのヒット率が向上し、よりキャッシュのヒット率を高め、性能を向上することができる。   According to the present invention, the configuration includes a plurality of cache nodes, and the control is performed so that the caches possessed by each of the plurality of cache nodes are used. The hit rate can be increased and the performance can be improved.

本発明によれば、ストレージ装置へのアクセス回数を省き、上位装置に対して、単位時間当りの入出力数やデータ転送速度の性能を、大きく向上することができる。その理由は、上位装置のデータ入出力要求に関して、自処理部で該当するキャッシュの制御権がある場合は他の処理部へ通信することなく上位装置のデータ入出力要求を制御でき、自処理部で該当するキャッシュの制御権がない場合でも、他処理部に該当するキャッシュの制御権があれば、余計なストレージ装置へのアクセスを省くことができ、全処理部に該当するキャッシュの制御権が無かった場合でも、書き込み要求であれば、ストレージ装置にアクセスすることなく、要求を受領した処理部がキャッシュに対して書き込むことができるためである。   According to the present invention, the number of accesses to the storage device can be omitted, and the performance of the number of inputs / outputs per unit time and the data transfer rate can be greatly improved with respect to the host device. The reason for this is that if the own processing unit has the right to control the corresponding cache for the data input / output request of the host device, the host device can control the data input / output request of the host device without communicating with other processing units. Even if there is no control right for the corresponding cache, if there is a control right for the cache corresponding to another processing unit, access to the extra storage device can be omitted, and the control right for the cache corresponding to all the processing units This is because even if there is no request, if the request is a write request, the processing unit that has received the request can write to the cache without accessing the storage device.

さらに、本発明によれば、記憶空間の拡張と増加、上位装置の増加にあわせて拡張でき、性能も向上できるストレージシステムを提供できる。その理由は、ノード単位で拡張することができ、自キャッシュノードのキャッシュヒット率が高ければ、他ノードへ通信する回数を大幅に省くことが可能であり、自キャッシュノードにキャッシュが無くても他キャッシュノードにキャッシュがあればそれを利用することができるため、ノード数が増加した際にアクセス集中が増え性能ネックになるストレージ装置へのアクセスを省くことができ、全キャッシュノードにキャッシュが無かった場合でも、書き込み要求であれば要求を受領したキャッシュノードのキャッシュに対して書き込むことができることから、ノード数が増加した際にアクセス集中が増え性能ネックとなるストレージ装置へのアクセスを省くことができるためである。   Furthermore, according to the present invention, it is possible to provide a storage system that can be expanded and expanded in accordance with the expansion and increase of the storage space and the increase of host devices, and the performance can be improved. The reason is that it can be expanded on a node-by-node basis, and if the cache hit rate of its own cache node is high, the number of times of communication to other nodes can be greatly reduced. If there is a cache in the cache node, it can be used, so when the number of nodes increases, access concentration increases and access to the storage device that becomes a performance bottleneck can be omitted, and all cache nodes have no cache Even in this case, since a write request can be written to the cache of the cache node that received the request, the access concentration increases when the number of nodes increases, and access to the storage device that becomes a performance bottleneck can be omitted. Because.

上記した本発明についてさらに詳細に説述すべく、添付図面を参照してこれを説明する。まず本発明の原理を説明する。本発明は、他ノードとの協調制御によるキャッシュ利用効率の向上、及び、リソース競合の解消、レイテンシの削減により性能向上(単位時間当りのI/O処理数、データ転送量)を実現し、さらに、性能向上と、大規模化の抑止の両立を図るものである。図1は、本発明の原理を説明する図である。図1は、処理単位をなす複数の処理部が、通信手段等を介して相互に接続された複数のノードに分散して備えられ、キャッシュ領域を複数のノードに分散して保持する分散型メモリのキャッシュ制御システムの構成原理を示す図である。   In order to describe the present invention described above in further detail, this will be described with reference to the accompanying drawings. First, the principle of the present invention will be described. The present invention achieves performance improvement (number of I / O processing per unit time, data transfer amount) by improving cache utilization efficiency through cooperative control with other nodes, eliminating resource contention, and reducing latency, It is intended to achieve both improvement in performance and prevention of scale-up. FIG. 1 is a diagram for explaining the principle of the present invention. FIG. 1 shows a distributed memory in which a plurality of processing units forming a processing unit are distributed in a plurality of nodes connected to each other via communication means and the like, and a cache area is distributed and held in a plurality of nodes It is a figure which shows the structure principle of this cache control system.

本発明の実施の形態においては、システム内の論理的なアドレス空間によって上位処理手段からのアクセスを制御する。上位処理手段からのアクセスに際しては、上位処理手段との合意に基づいて決められたデータ識別情報があるものとする。上位処理手段は、当該データ識別情報を以って、特定のアドレス空間のデータをアクセスする。各ノードは、システム内の論理的なアドレス空間において、データ識別情報から一意的に決定される単位領域(本明細書では「チャンク」という)に関する制御権がある場合に、処理対象のデータをキャッシュ制御し、制御権が無い場合は、他のノードと協調制御を行う。   In the embodiment of the present invention, access from the upper processing means is controlled by a logical address space in the system. It is assumed that there is data identification information determined based on an agreement with the upper processing means when accessing from the upper processing means. The host processing means accesses data in a specific address space using the data identification information. Each node caches data to be processed when it has a control right regarding a unit area (referred to as “chunk” in this specification) uniquely determined from data identification information in a logical address space in the system. If you do not have control right, perform cooperative control with other nodes.

上位処理手段のアクセスするデータは、本システム内のキャッシュ領域に一時的に保存されるが、最終的に、下位処理部であるストレージ装置内に保存される。そのため、システム内の論理的なアドレス空間内の領域のアドレスとストレージ装置内の領域のアドレスとの対応関係は、キャッシュ制御システム内で管理情報として記憶されている。なお、各キャッシュ領域のキャッシュ制御情報は、該キャッシュ領域が備えられた各ノードに備えている。   The data accessed by the upper processing means is temporarily stored in the cache area in the present system, but is finally stored in the storage device as the lower processing unit. Therefore, the correspondence between the address of the area in the logical address space in the system and the address of the area in the storage device is stored as management information in the cache control system. Note that the cache control information of each cache area is provided in each node provided with the cache area.

図1を参照すると、上位処理手段1よりアクセス要求を受領することのある1つのノード内の処理部1において、処理対象データの該当するチャンクに関し、制御権を持たない場合(チャンクミスの発生時)、該処理部1は、管理処理部に、該当するチャンクまたは該当するチャンク内の特定のデータを識別する情報を含む第一の信号を送信する(ステップ1の要求)。   Referring to FIG. 1, in the processing unit 1 in one node that may receive an access request from the host processing means 1, the control unit has no control right for the corresponding chunk of the processing target data (when a chunk miss occurs) ), The processing unit 1 transmits a first signal including information for identifying the corresponding chunk or specific data in the corresponding chunk to the management processing unit (request of Step 1).

図1では、管理処理部のあるノードが処理部1と別のノードであるため、相互通信手段等を介して第一の信号を送信する(管理処理部と処理部1が同一のノードに存在する場合は、ノード内部で行えばよい)。第一の信号は、該当するチャンクに関する制御権を要求することを示す情報を含んでも良い。なお、処理部1は、該当するチャンクに関する制御権を持つ場合、該当するチャンクまたは該当するチャンク内の特定のデータに対応する処理部1と同一ノード内のキャッシュ領域に対して、他の処理部に通信することなくアクセスを行うことができる。   In FIG. 1, since a node with a management processing unit is a different node from the processing unit 1, the first signal is transmitted via the mutual communication means (the management processing unit and the processing unit 1 exist in the same node). If so, you can do it inside the node). The first signal may include information indicating that a control right for the corresponding chunk is requested. When the processing unit 1 has the control right for the corresponding chunk, the processing unit 1 applies another processing unit to the cache area in the same node as the processing unit 1 corresponding to the corresponding chunk or specific data in the corresponding chunk. Can be accessed without communication.

処理部1より第一の信号を受信した管理処理部は、特定のチャンクに関する制御権を保持する処理部を記憶管理する記憶部を参照して、該当するチャンクに対する制御権を保持している処理部を検索し、該当するチャンクに関する制御権を有する処理部が存在する場合には、該制御権を保持する処理部(「処理部2」とする)に対して、該当するチャンクまたは該当するチャンク内の特定のデータを識別する情報を含む第二の信号を送信する(ステップ2の許可指示)。図1では、処理部2のあるノードが管理処理部と別のノードであるため、相互通信手段等を介して第二の信号を送信する(処理部2と管理処理部が同一のノードに存在する場合は、ノード内部で行えばよい)。   The management processing unit that has received the first signal from the processing unit 1 refers to the storage unit that stores and manages the control unit that holds the control right for the specific chunk, and holds the control right for the corresponding chunk. If there is a processing unit having a control right for the corresponding chunk, the corresponding chunk or the corresponding chunk is assigned to the processing unit holding the control right (referred to as “processing unit 2”). A second signal including information for identifying specific data is transmitted (permission instruction in step 2). In FIG. 1, since a node with the processing unit 2 is a different node from the management processing unit, a second signal is transmitted via the mutual communication means or the like (the processing unit 2 and the management processing unit exist in the same node). If so, you can do it inside the node).

処理部2は、管理処理部からの第二の信号を受け、処理部1に、該当するチャンクまたは該当するチャンク内の特定のデータに対応するキャッシュ領域へアクセスするための情報を与える(ステップ3の使用許可)。   The processing unit 2 receives the second signal from the management processing unit, and gives the processing unit 1 information for accessing the cache area corresponding to the corresponding chunk or specific data in the corresponding chunk (step 3). Use permission).

処理部1は、処理部2より与えられた情報に基づき、処理部2を備えたノード内のキャッシュメモリの該当するキャッシュ領域をアクセスする(ステップ4の入出力)。   The processing unit 1 accesses the corresponding cache area of the cache memory in the node including the processing unit 2 based on the information given from the processing unit 2 (input / output in step 4).

なお、処理部2は、管理処理部からの指示を受け、処理部1にアクセス情報を与えるに際して、該当するキャッシュ領域へのデータ更新に関して排他処理を行い(ただし、ステップ3の使用許可を発行する前に行う)、該当するキャッシュ領域は、処理部1のみが更新できるように制御する。すなわち、処理部1が該当するキャッシュ領域を更新する場合、他の処理部は、当該キャッシュ領域を更新できない。例えば、キャッシュ領域のデータに関して排他処理を行った後、処理部2に対して、上位処理手段2よりキャッシュ領域に関するデータの更新アクセス要求があった場合、処理部2は、排他されたキャッシュ領域であると判断し、当該要求のための更新処理は同時に実行されず、一貫性が維持される。   When the processing unit 2 receives an instruction from the management processing unit and gives access information to the processing unit 1, the processing unit 2 performs an exclusive process on data update to the corresponding cache area (however, the use permission of step 3 is issued). The corresponding cache area is controlled so that only the processing unit 1 can update it. That is, when the processing unit 1 updates the corresponding cache area, other processing units cannot update the cache area. For example, after performing an exclusive process on the data in the cache area, if the processing unit 2 receives an update access request for data related to the cache area from the higher-level processing means 2, the processing unit 2 uses the exclusive cache area. The update process for the request is not executed at the same time, and consistency is maintained.

処理部1は、該当するキャッシュ領域の処理終了後、処理部2に、使用解除を通知する。処理部2は、使用解除の通知を受け、排他を解除する。なお、図1では、上位処理手段は処理部のあるノード外に示されているが、処理部のノードと同じノード上にあってもよく、また、上位処理手段1と上位処理手段2は、同一であってもよい。これらは、以下の図2で説明される形態においても同様に適用できる。   After the processing of the corresponding cache area is completed, the processing unit 1 notifies the processing unit 2 of the use cancellation. The processing unit 2 receives the notification of cancellation of use and releases the exclusion. In FIG. 1, the upper processing means is shown outside a node having a processing unit. However, the upper processing means may be on the same node as the processing unit, and the upper processing means 1 and the upper processing means 2 are It may be the same. These can be similarly applied to the embodiment described below with reference to FIG.

図2は、図1と同様、本発明の原理を説明するための図であり、図2(A)は、情報処理装置等、一つの計算機システムにおけるキャッシュページのアクセス制御の原理を説明するための図である。図2(B)は、キャッシュページを共有メモリに備えた構成を示す図である。なお、図2(A)の構成において、キャッシュ制御情報は、各処理手段の属する計算機内に備えており、処理手段毎に専用のメモリ領域が割当てられている。図2(B)の構成においては、キャッシュ制御情報は、上位処理手段からのアクセス要求を処理する処理部が備えられたノード毎に備えており、複数のプロセッサノードが相互通信手段を介して通信を行う分散システムに適用される。   FIG. 2 is a diagram for explaining the principle of the present invention, as in FIG. 1. FIG. 2A is for explaining the principle of cache page access control in one computer system such as an information processing apparatus. FIG. FIG. 2B is a diagram illustrating a configuration in which a cache page is provided in a shared memory. In the configuration of FIG. 2A, the cache control information is provided in the computer to which each processing means belongs, and a dedicated memory area is assigned to each processing means. In the configuration of FIG. 2B, the cache control information is provided for each node provided with a processing unit that processes an access request from the higher-level processing means, and a plurality of processor nodes communicate via the mutual communication means. Applied to distributed systems

より詳細には、図2(A)を参照すると、計算機システム内のある処理手段1(プロセス、プロセッサであってもよい)において、該当するチャンクに関する制御権を持たない場合、該処理手段1は、該当するチャンクに関する制御権をどの処理手段が有しているかを管理する管理手段に、該当するチャンクまたは該当するチャンク内の特定のデータを識別する情報を含む第一の信号を送信する(ステップ1の要求)。   More specifically, referring to FIG. 2A, when a certain processing means 1 (which may be a process or a processor) in a computer system does not have a control right for the corresponding chunk, the processing means 1 The first signal including information for identifying the corresponding chunk or specific data in the corresponding chunk is transmitted to the management means for managing which processing means has the control right for the corresponding chunk (step 1 request).

第一の信号を受信した管理手段は、特定のチャンクに関する制御権を保持する処理手段を記憶管理する記憶部を参照して、該当するチャンクに対する制御権を保持している処理手段を検索し、チャンクに関する制御権を保持する処理手段2に対して、該当するチャンクまたは該当するチャンク内の特定のデータを識別する情報を含む第二の信号を送信する(ステップ2の許可指示)。   The management means that has received the first signal refers to the storage unit that stores and manages the processing means that holds the control right for the specific chunk, searches for the processing means that holds the control right for the corresponding chunk, A second signal including information for identifying the corresponding chunk or specific data in the corresponding chunk is transmitted to the processing means 2 holding the control right for the chunk (permission instruction in step 2).

処理手段2は、管理手段からの第二の信号を受け、処理手段1に、該当するチャンクまたは該当するチャンク内の特定のデータに対応するキャッシュ領域へアクセスするための情報を与える(ステップ3の使用許可)。   The processing means 2 receives the second signal from the management means, and gives the processing means 1 information for accessing the cache area corresponding to the relevant chunk or specific data in the relevant chunk (in step 3). License).

処理手段1は、与えられた情報に基づき、処理対象となるキャッシュ領域をアクセスする(ステップ4の入出力)。   The processing means 1 accesses the cache area to be processed based on the given information (input / output in step 4).

なお、処理手段2は、管理手段からの第二の信号を受け、処理手段1にアクセス情報を与える場合に、対象のキャッシュ領域に対する排他処理を行い(ステップ3の使用許可を発行する前)、該当のキャッシュ領域ページは、処理手段1のみが更新できるように制御する。   When the processing unit 2 receives the second signal from the management unit and gives access information to the processing unit 1, the processing unit 2 performs exclusive processing on the target cache area (before issuing the use permission in step 3), The corresponding cache area page is controlled so that only the processing means 1 can update it.

処理手段1は、該当するキャッシュ処理終了後、処理手段2に、使用解除を通知する。処理手段2は、使用解除の通知を受け、排他を解除する。   The processing unit 1 notifies the processing unit 2 of the cancellation of use after the corresponding cache processing is completed. The processing means 2 receives the notification of cancellation of use and releases the exclusion.

図2(A)では、複数の処理手段を備えた1つの計算機システムにおけるキャッシュ制御の原理を説明したが、複数のプロセッサおよび共有メモリが相互接続され、共有メモリにキャッシュ領域を備えた構成についても、本発明のキャッシュ制御を適用することができる。   In FIG. 2A, the principle of cache control in one computer system having a plurality of processing means has been described. However, a configuration in which a plurality of processors and a shared memory are interconnected and a cache area is provided in the shared memory is also possible. The cache control of the present invention can be applied.

次に、図2(B)を参照すると、1つの処理部1が、該当するチャンクに関する制御権を持たない場合、該処理部1は、管理処理部に、該当するチャンクまたは該当するチャンク内の特定のデータを識別する情報を含む第一の信号を送信する(ステップ1の要求)。   Next, referring to FIG. 2 (B), when one processing unit 1 does not have the control right for the corresponding chunk, the processing unit 1 sends the management processing unit to the corresponding chunk or the corresponding chunk. A first signal containing information identifying specific data is transmitted (request of step 1).

第一の信号を受信した管理手段は、どのチャンクに関しどの処理手段が制御権を保持しているかを記憶管理する記憶部を参照して、該当するチャンクに対する制御権を保持している処理手段を検索し、チャンクに関して制御権を保持する処理部2に対して、該当するチャンクまたは該当するチャンク内の特定のデータを識別する情報を含む第二の信号を送信する(ステップ2の許可指示)。   The management means that has received the first signal refers to the storage unit that stores and manages which processing means holds the control right for which chunk, and determines the processing means that holds the control right for the corresponding chunk. The second signal including information for identifying the corresponding chunk or specific data in the corresponding chunk is transmitted to the processing unit 2 that searches and holds the control right for the chunk (permission instruction in Step 2).

処理部2は、管理処理部からの第二の信号を受け、第一の処理部に、該当するチャンクまたは該当するチャンク内の特定のデータに対応するキャッシュ領域へアクセスするための情報を与える(ステップ3の使用許可)。   The processing unit 2 receives the second signal from the management processing unit, and gives the first processing unit information for accessing the cache area corresponding to the corresponding chunk or specific data in the corresponding chunk ( Permission to use step 3).

処理部1は、処理部2より与えられた情報に基づき、共有メモリ内の該当するキャッシュ領域をアクセスする(ステップ4の入出力)。   The processing unit 1 accesses the corresponding cache area in the shared memory based on the information given from the processing unit 2 (input / output in step 4).

以上、各システム構成に即して本発明の原理を説明したが、以下では、図1の処理部1において、チャンクミスの発生時のキャッシュ制御の処理を図3の流れ図を参照して説明する。   The principle of the present invention has been described above in accordance with each system configuration. In the following, the cache control process when a chunk miss occurs in the processing unit 1 of FIG. 1 will be described with reference to the flowchart of FIG. .

ステップS1では、処理部1は、処理対象となるチャンクの制御権を管理する管理処理部に該当するチャンクまたは該当するチャンク内の特定のデータを識別する情報を含む第一の信号を送信する。   In step S1, the processing unit 1 transmits a first signal including information for identifying a chunk corresponding to the management processing unit that manages the control right of the chunk to be processed or specific data in the corresponding chunk.

ステップS2において、第一の信号を受信した管理処理部は、該当するチャンクに関する制御権を保持する処理部があるか検索する。   In step S <b> 2, the management processing unit that has received the first signal searches for a processing unit that holds a control right for the corresponding chunk.

ステップS3において、管理処理部は、当該チャンクに関する制御権を保持する処理部がいない場合、処理部1に、当該チャンクの制御権を割当て、チャンクと制御権を保持する処理部との対応を記憶管理する記憶部へ保存する。   In step S3, if there is no processing unit that holds the control right for the chunk, the management processing unit assigns the control right for the chunk to the processing unit 1 and stores the correspondence between the chunk and the processing unit that holds the control right. Save to the storage unit to be managed.

ステップS4において、管理処理部は、処理部1に当該チャンクに関する制御権を与えることを通知する。   In step S <b> 4, the management processing unit notifies the processing unit 1 that control right related to the chunk is given.

ステップS5において、制御権の付与通知を受けた処理部1は上位処理手段のデータ要求に関するキャッシュを操作するのに必要なキャッシュ領域の割当てや排他処理等の準備を行う。本処理終了後、処理部1は、当該キャッシュ領域に対して、読込み処理または書込み処理を行う。   In step S5, the processing unit 1 that has received the notification of granting the control right prepares cache area allocation and exclusive processing necessary for operating the cache related to the data request of the upper processing means. After the completion of this process, the processing unit 1 performs a read process or a write process on the cache area.

ステップS6において、ステップS2において検索を行った管理処理部は、当該チャンクに関する制御権を保持する処理部2が存在する場合、管理処理部は、該処理部2に、該当するチャンクまたは該当するチャンク内の特定のデータを識別する情報を含む第二の信号を送信する。   In step S6, if there is a processing unit 2 that holds the control right for the chunk, the management processing unit that has searched in step S2 sends the processing unit 2 the corresponding chunk or the corresponding chunk. A second signal containing information identifying specific data within is transmitted.

ステップS7において、第二の信号を受信した処理部2は、第二の信号から判断される該当するチャンクまたは該当するチャンク内の特定のデータに対応するキャッシュ領域の割当てや排他処理等の準備を行う。処理部1が該当するキャッシュ領域をアクセスする場合、処理部2やその他の処理部は、当該キャッシュ領域をアクセスできない。処理部1が参照のアクセスを行う場合は、他の処理部に参照のみ許可するようにしても良い。なお、処理部2が第二の信号を受信した際に、処理部2が当該キャッシュ領域を現在使用中である場合、処理部2は、第二の信号を処理部1のアクセス要求とし、上位処理手段からのデータ要求に関するキャッシュ制御時と同様に、当該キャッシュ領域に関する待ちとして管理し、使用完了後に、ステップS8の処理を行う。また、待ちとして管理せず、該当キャッシュページに関する待機(WAIT)信号を処理部1に与えてもよい。   In step S7, the processing unit 2 that has received the second signal prepares for allocation of the cache area corresponding to the corresponding chunk determined from the second signal or specific data in the corresponding chunk, or for exclusive processing. Do. When the processing unit 1 accesses the corresponding cache area, the processing unit 2 and other processing units cannot access the cache area. When the processing unit 1 performs reference access, only the reference may be permitted to other processing units. When the processing unit 2 receives the second signal and the processing unit 2 is currently using the cache area, the processing unit 2 uses the second signal as an access request of the processing unit 1, and Similar to the cache control related to the data request from the processing means, it is managed as a wait related to the cache area, and after the use is completed, the process of step S8 is performed. Further, a wait (WAIT) signal related to the corresponding cache page may be given to the processing unit 1 without being managed as a wait.

ステップS8において、処理部2は、該当するチャンクまたは該当するチャンク内の特定のデータに対応するキャッシュ領域へアクセスするための情報を、処理部1に与える。   In step S8, the processing unit 2 gives the processing unit 1 information for accessing the cache area corresponding to the corresponding chunk or specific data in the corresponding chunk.

ステップS8による処理が正常終了すると、処理部1は、処理部2のローカルメモリ内の当該キャッシュ領域に対して読込み処理又は書き込み処理を行う。   When the process in step S8 ends normally, the processing unit 1 performs a read process or a write process on the cache area in the local memory of the processing unit 2.

本発明によれば、自ノードにキャッシュがヒットしなかった場合でも、他ノードに該当するキャッシュページが存在すれば、該他ノードのキャッシュページを利用することで、記憶装置へのアクセスを省くことができ、高速化に資する。また、各キャッシュノードにてキャッシュ制御することで、ノード間の通信量を減らすことができ、高速化に資する。以下実施例に即して説明する。   According to the present invention, even when the cache does not hit the local node, if there is a cache page corresponding to the other node, the access to the storage device can be omitted by using the cache page of the other node. Can contribute to speeding up. In addition, by performing cache control at each cache node, the amount of communication between nodes can be reduced, which contributes to higher speed. Hereinafter, description will be made with reference to examples.

図4は、本発明の第1の実施例の構成を示す図である。図4を参照すると、本発明の第1の実施例は、ホストコンピュータ等の上位装置との入出力を制御し、該入出力データを一時的に記憶するキャッシュ機能を有する複数のキャッシュノード2a、2b、2c、2dと、データを最終的に記録し保存するストレージ装置との入出力を制御する記憶制御ノード3a、3b、3c、3dと、複数のキャッシュノード2a、2b、2c、2dと、複数の記憶制御ノード3a、3b、3c、3d間の相互の通信を介する相互通信手段4と、を備えて構成されている。ストレージシステム1は、構成と各記憶制御ノードに接続される1つ以上のストレージ装置より構成される。   FIG. 4 is a diagram showing the configuration of the first exemplary embodiment of the present invention. Referring to FIG. 4, the first embodiment of the present invention controls a plurality of cache nodes 2a having a cache function for controlling input / output with a host device such as a host computer and temporarily storing the input / output data. 2b, 2c, 2d, storage control nodes 3a, 3b, 3c, 3d for controlling input / output with the storage device that finally records and stores data, a plurality of cache nodes 2a, 2b, 2c, 2d, And a mutual communication means 4 through mutual communication between the plurality of storage control nodes 3a, 3b, 3c, 3d. The storage system 1 includes a configuration and one or more storage devices connected to each storage control node.

なお、図4では、簡単のため、キャッシュノード、記憶制御ノードを4台備えた構成としたが、台数は特に制限されない。また、相互通信手段4は、バス、SCSI、LAN(Local Area Network)、SAN(Storage Area Network)、インターネット網または任意の他の好適な通信手段であってもよい。また、上位装置の台数、ストレージ装置の台数も特に制限されない。ストレージ装置は、複数のディスクドライブ群からなるディスクユニットであってもよく、ディスクアレイ装置等であってもよい。さらに、記憶制御ノードごとにストレージ装置を備えてもよく、記憶制御ノードとストレージ装置間を相互接続する構成としてもよい。   In FIG. 4, for simplicity, the configuration includes four cache nodes and storage control nodes, but the number is not particularly limited. The intercommunication means 4 may be a bus, SCSI, LAN (Local Area Network), SAN (Storage Area Network), the Internet network, or any other suitable communication means. Further, the number of host devices and the number of storage devices are not particularly limited. The storage device may be a disk unit composed of a plurality of disk drive groups, or may be a disk array device or the like. Further, a storage device may be provided for each storage control node, and the storage control node and the storage device may be interconnected.

本実施例では、特定のキャッシュノードに割当てられる制御権を、記憶制御ノード3a、3b、3c、3dにて、ある制御権がどのキャッシュノードに割当てられているかを、分担して管理する。この際、割り当てられる制御権の単位領域をページと同じ大きさにし、キャッシュの制御体系に組み込むことで、制御権に伴う処理と制御権を管理するための情報の共通化を図り、全体の処理の単純化を図ることができる。この実施例の制御権は、図1乃至図3を参照して説明した特定のチャンクの制御権に対応する。制御権を持つノードは、他のノードに通信することなく、キャッシュ制御できる。一方、制御権を持たないキャッシュノードは、制御権を持つキャッシュノードが存在する場合に、予め定められた所定の動作を行うことにより、制御権を持つノードの該当するキャッシュページに対して、読み出しと書き込みを行うことができる。また、どのキャッシュノードにも制御権が存在しなかった場合には、制御権の問い合わせを行ったノード、即ち、最初に上位装置からのデータの読み出し要求もしくは書き込み要求を受けたノードに制御権を与える。これは、記憶制御ノードに、どのキャッシュノードが制御権を持つかを示す情報を書き込み、制御権の問い合わせを行ったキャッシュノードに対してキャッシュページを確保することで実現する。制御権を割り当てた後は、上位装置からのデータの読み出し又は書き込み要求を受けたノードは、書き込み要求の場合、上位装置からのデータをキャッシュページに受信し、読み出し要求の場合、記憶制御ノード経由でストレージ装置から、該読み出し要求に該当するデータを、自身のキャッシュページに受信した後に、上位装置に転送する。   In this embodiment, the control right assigned to a specific cache node is shared and managed by the storage control nodes 3a, 3b, 3c, and 3d to which cache node a certain control right is assigned. At this time, the unit area of the control right to be allocated is the same size as the page and is incorporated into the cache control system, so that the processing associated with the control right and the information for managing the control right are shared, and the entire process Can be simplified. The control right of this embodiment corresponds to the control right of a specific chunk described with reference to FIGS. A node having the control right can perform cache control without communicating with other nodes. On the other hand, when there is a cache node with control right, a cache node without control right reads out the corresponding cache page of the node with control right by performing a predetermined operation. And write. If no control right exists in any of the cache nodes, the control right is given to the node that inquired the control right, that is, the node that first received the data read request or write request from the host device. give. This is realized by writing information indicating which cache node has the control right to the storage control node, and securing a cache page for the cache node that has inquired the control right. After assigning the control right, the node that has received the data read or write request from the host device receives the data from the host device in the cache page in the case of a write request, and via the storage control node in the case of a read request The data corresponding to the read request is received from the storage device in its own cache page, and then transferred to the host device.

図4に示す例では、キャッシュ機能を有するキャッシュノード2a、2b、2c、2dが、上位装置から、データ読み出し要求またはデータ書き込み要求を受け取ると、それぞれ、自キャッシュノード内のローカルメモリ(図4では不図示、図5を参照して後述される)に格納されている制御メモリ部のキャッシュの管理情報を調べ、自キャッシュノード内のキャッシュページ格納部に、該当するキャッシュページが存在するか否か検索する。具体的には、キャッシュ制御手段113がローカルメモリ12上の制御メモリ部121に格納されているキャッシュ制御情報(図23参照)のページタグを検索することで、該要求のキャッシュページが、既にキャッシュページ部122にあるかどうか判定している。   In the example shown in FIG. 4, when the cache nodes 2a, 2b, 2c, and 2d having a cache function receive a data read request or a data write request from a higher-level device, local caches in their own cache nodes (in FIG. 4) The management information of the cache of the control memory unit stored in a not-shown (described later with reference to FIG. 5) is checked, and whether or not the corresponding cache page exists in the cache page storage unit in the own cache node. Search for. Specifically, the cache control unit 113 searches for the page tag of the cache control information (see FIG. 23) stored in the control memory unit 121 on the local memory 12, so that the cache page of the request has already been cached. It is determined whether the page portion 122 exists.

図23は、ローカルメモリ12上の制御メモリ部121に格納されているキャッシュ制御情報内の一構成例を示す図である。図23を参照すると、本発明の一実施例に示されるキャッシュ制御情報は、複数のページタグ31が、検索時の処理の高速化を図るためハッシュテーブル30にて管理される構成を含んでいる。この他に、キャッシュ制御情報は、図示しない、空ページやストレージ装置へ保存されていない書き込みデータがあるページなどの管理情報を含む。   FIG. 23 is a diagram illustrating a configuration example in the cache control information stored in the control memory unit 121 on the local memory 12. Referring to FIG. 23, the cache control information shown in one embodiment of the present invention includes a configuration in which a plurality of page tags 31 are managed by a hash table 30 in order to speed up processing at the time of search. . In addition, the cache control information includes management information such as an empty page and a page with write data not saved in the storage device (not shown).

図24は、ページタグの構成の一例を示す図である。図23のページタグ31は、図24に示されるような情報を含んでおり、キャッシュページ部122上のキャッシュデータの格納位置を示すページアドレス41と、ページアドレス41で示されるキャッシュページが、上位装置が指定する、ストレージシステム上に存在する論理アドレス、もしくは前述の論理アドレスを一意的な変換の後に得られるアドレス、のキャッシュデータであるかを示すアドレス情報40、ページタグ31同士をリンクさせ、ページタグ31の操作と検索を行う為のポインタ42等からなる。また、ページタグ31は、検索時の処理の高速化を図るためのハッシュテーブル30にて管理されている。該キャッシュページがキャッシュページ122にあるかどうか検索を行う際には、該要求のアドレス情報から、ハッシュ関数の計算を行い、ハッシュテーブル30のどのテーブルを検索するか決定する。このハッシュ関数による計算は、与えられるアドレス情報から一意に決まり、同じアドレス情報からは同じテーブルの位置が示される。ハッシュ関数による計算の結果、決定されたテーブルに結合されているページタグ31のアドレス情報を比較し、テーブルに接続されているアドレス情報40がどれも一致しないか、テーブルに接続されているページタグ31が無ければ、該検索要求を受けた論理アドレスのデータはキャッシュページ部122に存在せず、アドレス情報40の一致するページタグ31が存在すれば、該検索要求を受けた論理アドレスのデータは、キャッシュページ部122に存在することになる。   FIG. 24 is a diagram illustrating an example of the configuration of a page tag. The page tag 31 of FIG. 23 includes information as shown in FIG. 24, and the page address 41 indicating the storage position of the cache data on the cache page unit 122 and the cache page indicated by the page address 41 are higher-order. Link the address information 40 indicating whether it is cache data of the logical address existing on the storage system specified by the device, or the address obtained after the unique conversion of the logical address, and the page tags 31, It consists of a pointer 42 and the like for operating and searching the page tag 31. The page tag 31 is managed by a hash table 30 for speeding up the processing at the time of search. When searching whether the cache page is in the cache page 122, a hash function is calculated from the address information of the request to determine which table in the hash table 30 is to be searched. The calculation by this hash function is uniquely determined from the given address information, and the same address information indicates the position of the same table. As a result of the calculation by the hash function, the address information of the page tag 31 combined with the determined table is compared, and the address information 40 connected to the table does not match, or the page tag connected to the table If there is no 31, the data of the logical address that has received the search request does not exist in the cache page unit 122, and if the page tag 31 that matches the address information 40 exists, the data of the logical address that has received the search request is , The cache page unit 122 exists.

本実施例では、前述の検索要求を受けた論理アドレスのデータがキャッシュページ部122に存在すれば、そのキャッシュノードが、該キャッシュページのアドレス情報40で示される領域の制御権を持ち、存在しなければ制御権を持たない状態と定義することで、キャッシュ処理に制御権に関する処理、キャッシュ情報に制御権の情報を繰り込み、制御権の処理の簡略化を行う。   In the present embodiment, if the data of the logical address that has received the above search request exists in the cache page unit 122, the cache node has the control right of the area indicated by the address information 40 of the cache page and exists. If there is no control right, the state having no control right is defined, the process related to the control right is transferred to the cache process, and the control right information is transferred to the cache information, thereby simplifying the control right process.

データ読み出し要求またはデータ書き込み要求を上位装置から受けとったキャッシュノードにおいて、該当するキャッシュページが見つかったときには、該キャッシュノードは、当該キャッシュページに対して制御権を持っているということであり、該キャッシュノードは、データ読み出し要求であれば、当該キャッシュページからデータを上位装置に転送すれば良く、上位装置に対する高速なレスポンスが可能となる。データ書き込み要求であれば、当該キャッシュページにデータを書き込んだ時点で、上位装置に対して、処理の完了を返し、そのデータを、処理完了後に、ストレージ装置に書き込むことにより、やはり高速レスポンスが可能となる。   When a corresponding cache page is found in a cache node that has received a data read request or data write request from the host device, the cache node has control over the cache page, and the cache node If it is a data read request, the node only has to transfer data from the cache page to the host device, and a high-speed response to the host device is possible. If the request is a data write request, when the data is written to the cache page, the processing completion is returned to the host device, and the data is written to the storage device after the processing is completed. It becomes.

一方、データ読み出し要求またはデータ書き込み要求を上位装置から受けとったキャッシュノードにおいて、該キャッシュノード内に、該当するキャッシュページが存在しなかった場合、制御権を管理する管理ノードへ通知して、当該キャッシュページの制御権保持ノードが存在する場合、要求を受理したキャッシュノードは、データ読み出し要求であれば、制御権保持ノードの当該キャッシュページから、相互通信手段4を経由して、データを転送すれば良く、ストレージ装置からデータを読み出すよりも、大幅な高速レスポンスが可能である。データ書き込み要求であっても、上位装置からの書き込みデータを、相互通信手段4を経由して制御権保持ノードの該当するキャッシュページにデータを書き込んだ時点で、上位装置に対して処理の完了を返し、そのデータを、後でストレージ装置に書き込むことにより、ストレージ装置へのアクセスが発生しないことから、やはり、高速レスポンスが可能となる。   On the other hand, in a cache node that has received a data read request or a data write request from a higher-level device, if the corresponding cache page does not exist in the cache node, the cache node is notified to the management node that manages the control right. If there is a control right holding node for the page, the cache node that has accepted the request can transfer data from the cache page of the control right holding node via the mutual communication means 4 if it is a data read request. Better, a much faster response is possible than reading data from the storage device. Even if it is a data write request, when the write data from the host device is written to the corresponding cache page of the control right holding node via the mutual communication means 4, the processing is completed for the host device. Returning and writing the data to the storage device later prevents access to the storage device, so that high-speed response is possible.

図5は、図4のキャッシュノード2a、2b、2c、2dの構成を示す図である。なお、図4のキャッシュノード2a、2b、2c、2dは、同一構成とされ、キャッシュノード2とする。図5を参照すると、キャッシュノード2は、上位装置インターフェース手段10と、プログラム制御により動作し主制御部となるデータ処理装置11と、ローカルメモリ12と、コントローラ13とを備えている。   FIG. 5 is a diagram showing the configuration of the cache nodes 2a, 2b, 2c, and 2d in FIG. Note that the cache nodes 2a, 2b, 2c, and 2d in FIG. Referring to FIG. 5, the cache node 2 includes a host device interface unit 10, a data processing device 11 that operates by program control and serves as a main control unit, a local memory 12, and a controller 13.

上位装置インターフェース手段10は、1つ以上の上位装置と、各接続パス5a、5b、5c、5dを介して、接続され、上位装置からのデータ読み出し要求またはデータ書き込み要求を受信し、上位装置と、キャッシュノードとの間のデータの入出力を処理する。キャッシュノードには、複数の上位装置インターフェース手段を備えても良く、上位装置との接続には、スイッチ等の相互接続手段を用いても良い。   The host device interface means 10 is connected to one or more host devices via the connection paths 5a, 5b, 5c, and 5d, receives data read requests or data write requests from the host device, and Processes data input and output with the cache node. The cache node may be provided with a plurality of higher-level device interface means, and an interconnection means such as a switch may be used for connection with the higher-level device.

データ処理装置11は、コマンド制御手段111と、管理ノード特定手段112と、キャッシュ制御手段113を備えている。コマンド制御手段111は、上位装置インターフェース手段10が受信した上位装置からのデータ読み出し要求またはデータ書き込み要求の各コマンドを判断し、各コマンドに応じた処理を制御する。   The data processing device 11 includes command control means 111, management node specifying means 112, and cache control means 113. The command control unit 111 determines each command of a data read request or a data write request from the host device received by the host device interface unit 10 and controls processing according to each command.

管理ノード特定手段112は、自キャッシュノード内で読み書きすべきキャッシュページが存在しない場合に、通信する管理ノードを特定する。   The management node specifying unit 112 specifies a management node to communicate when there is no cache page to be read / written in the own cache node.

キャッシュ制御手段113は、キャッシュ検索処理やローカルメモリ12に格納されたキャッシュを管理制御する。   The cache control unit 113 manages and controls the cache search process and the cache stored in the local memory 12.

ローカルメモリ12は、制御メモリ部121と、キャッシュページ部122を備え、ストレージ装置よりも高速なアクセスが可能な半導体メモリによって構成されている。ローカルメモリ12は、複数あってもよく、制御メモリ部121と、キャッシュページ部122とがそれぞれ別のローカルメモリに備えられていてもよい。   The local memory 12 includes a control memory unit 121 and a cache page unit 122, and is configured by a semiconductor memory that can be accessed at a higher speed than the storage device. There may be a plurality of local memories 12, and the control memory unit 121 and the cache page unit 122 may be provided in different local memories.

制御メモリ部121は、論理記憶空間がどの記憶制御ノードに割当てられているかを示す記憶空間構成情報(図6参照)や、キャッシュの管理情報、キャッシュノードの制御情報を格納する。   The control memory unit 121 stores storage space configuration information (see FIG. 6) indicating to which storage control node a logical storage space is allocated, cache management information, and cache node control information.

キャッシュページ部122は、上位装置インターフェース手段10を経由して上位装置との間で入出力されるデータをページ単位で一時的に格納する。   The cache page unit 122 temporarily stores data input / output to / from the host device via the host device interface unit 10 in units of pages.

コントローラ13は、キャッシュノード2のデータ通信を制御し、相互通信手段4を介して他のキャッシュノードおよび記憶制御ノードとの通信も処理する。キャッシュノードには、複数のコントローラを備えても良い。   The controller 13 controls data communication of the cache node 2 and also processes communication with other cache nodes and storage control nodes via the mutual communication means 4. A cache node may include a plurality of controllers.

図6は、ストレージシステム1が認識する論理記憶空間(論理ボリューム)がどの記憶制御ノードに割当てられているかを示す記憶空間構成情報の構成を示す図である。本実施例においては、ある論理ボリューム番号の論理記憶空間が割当てられている記憶制御ノードを、管理ノードとしている。   FIG. 6 is a diagram showing the configuration of storage space configuration information indicating to which storage control node a logical storage space (logical volume) recognized by the storage system 1 is assigned. In this embodiment, a storage control node to which a logical storage space of a certain logical volume number is assigned is a management node.

図5の管理ノード特定手段112は、記憶空間構成情報を参照することにより、ある論理ボリューム番号の論理記憶空間が、どの記憶制御ノードに割当てられているかを判断でき、管理ノードを特定することができる。制御メモリ部121に格納する記憶空間構成情報の替わりに、特定の論理記憶空間を所定の大きさに分割した単位が、どの記憶制御ノードに割り当てられているかを示す構成情報を格納してもよい。この場合、管理ノード特定手段112において、上位装置の要求するデータが属する分割単位を判定し、構成情報を参照して、当該分割単位がどの記憶制御ノードに割当てられているかを判断でき、管理ノードを特定することができる。   The management node specifying unit 112 in FIG. 5 can determine to which storage control node a logical storage space of a certain logical volume number is assigned by referring to the storage space configuration information, and specify the management node. it can. Instead of the storage space configuration information stored in the control memory unit 121, configuration information indicating to which storage control node a unit obtained by dividing a specific logical storage space into a predetermined size may be stored. . In this case, the management node specifying unit 112 can determine the division unit to which the data requested by the higher-level device belongs, and can refer to the configuration information to determine which storage control node the division unit is assigned to. Can be specified.

次に、図7を参照して、記憶制御ノードについて説明する。各記憶制御ノード3a、3b、3c、3dは同一構成とされる。記憶制御ノード3は、記憶装置インターフェース手段20と、プログラム制御により動作し主制御部となるデータ処理装置21と、ローカルメモリ22と、コントローラ23とを備えている。   Next, the storage control node will be described with reference to FIG. Each storage control node 3a, 3b, 3c, 3d has the same configuration. The storage control node 3 includes a storage device interface unit 20, a data processing device 21 that operates by program control and serves as a main control unit, a local memory 22, and a controller 23.

記憶装置インターフェース手段20は、1つ以上のストレージ装置と各接続パス6a、6b、6c、6dを介して接続され、ストレージ装置と記憶制御ノードの間のデータの入出力を行う。   The storage device interface unit 20 is connected to one or more storage devices via the connection paths 6a, 6b, 6c, and 6d, and inputs and outputs data between the storage device and the storage control node.

データ処理装置21は、記憶装置制御手段212と、制御権管理手段211とを備える。   The data processing device 21 includes a storage device control unit 212 and a control right management unit 211.

記憶装置制御手段212は、データを最終的に記録し保存するストレージ装置への入出力コマンド処理を制御する。   The storage device control unit 212 controls input / output command processing to the storage device that finally records and stores data.

制御権管理手段211は、キャッシュノード2a、2b、2c、2dからの制御権に対する処理要求を実行する。   The control right management unit 211 executes a processing request for the control right from the cache nodes 2a, 2b, 2c, and 2d.

ローカルメモリ22は、制御メモリ部221を備え、ストレージ装置よりも高速なアクセスが可能な半導体メモリによって構成されている。   The local memory 22 includes a control memory unit 221 and is configured by a semiconductor memory that can be accessed faster than the storage device.

制御メモリ部221は、記憶制御ノードの制御情報やストレージシステム1の装置構成情報を格納する。また、制御メモリ部221には、ストレージシステム1の認識するすべての論理記憶空間内のアドレスから一意に決定される特定のキャッシュページ単位に関する制御権をどのノードが持つかを示す制御権管理情報が格納される。   The control memory unit 221 stores storage control node control information and storage system 1 device configuration information. Further, the control memory unit 221 has control right management information indicating which node has the control right for a specific cache page unit uniquely determined from the addresses in all logical storage spaces recognized by the storage system 1. Stored.

コントローラ23は、記憶制御ノードのデータ通信を制御し、相互通信手段4に接続され、他のキャッシュノードおよび記憶制御ノードとの通信を制御する。記憶制御ノードには、複数のコントローラを備えても良い。   The controller 23 controls data communication of the storage control node, is connected to the mutual communication means 4, and controls communication with other cache nodes and storage control nodes. The storage control node may include a plurality of controllers.

図8、図9は、図7におけるローカルメモリ22の制御メモリ部221に格納される制御権管理情報の構成を示す図である。   8 and 9 are diagrams showing the configuration of the control right management information stored in the control memory unit 221 of the local memory 22 in FIG.

制御メモリ部221に格納される制御権管理情報は、キャッシュページ単位毎に割り当てられた領域の論理アドレスと、その領域の制御権を持つノード番号が対応してテーブルを構成している。   The control right management information stored in the control memory unit 221 constitutes a table in which the logical address of the area allocated for each cache page unit and the node number having the control right of the area correspond to each other.

これにより、制御権管理手段211は、ある論理アドレスが示されると、その論理アドレスが属する領域が制御権管理情報にあるか調べ、該当領域に対して制御権を持っているキャッシュノードの有無と、制御権を持っているノードがいた場合は、キャッシュノードを特定することができる。制御権管理手段211は、この判断に応じた処理を行う。   Thereby, when a certain logical address is indicated, the control right management unit 211 checks whether the area to which the logical address belongs is in the control right management information, and whether there is a cache node having the control right for the corresponding area. If there is a node having the control right, the cache node can be specified. The control right management unit 211 performs processing according to this determination.

制御権を持つキャッシュノードが存在しなかった場合には、新たに制御権を設定し制御権管理情報に登録し、制御権を登録したノードに対して通知する。   If there is no cache node having the control right, a new control right is set, registered in the control right management information, and notified to the node that has registered the control right.

制御権を持つキャッシュノードが存在した場合には、制御権を持つキャッシュノードに対して所定の指示を行う。   When there is a cache node having the control right, a predetermined instruction is given to the cache node having the control right.

次に、本発明の第1の実施例の動作について詳細に説明する。図10は、本発明の第1の実施例の処理動作を説明するための流れ図である。   Next, the operation of the first embodiment of the present invention will be described in detail. FIG. 10 is a flowchart for explaining the processing operation of the first embodiment of the present invention.

以下、上位装置からのデータ読み出し要求またはデータ書込み要求を受領するキャッシュノードがキャッシュノード2aである場合を例に説明する。   Hereinafter, a case where the cache node that receives a data read request or a data write request from the host apparatus is the cache node 2a will be described as an example.

図4のキャッシュノード2aは、上位装置から接続パス5aを介して、上位装置インターフェース手段10(図5参照)にて、データ読み出し要求またはデータ書込み要求のコマンドを受信する。   The cache node 2a in FIG. 4 receives a data read request or data write request command from the host device via the connection path 5a by the host device interface means 10 (see FIG. 5).

キャッシュノード2aは、該コマンドを受領すると、コマンド制御手段111(図5参照)にて、要求を解析する。   When the cache node 2a receives the command, the command control unit 111 (see FIG. 5) analyzes the request.

そして、キャッシュ制御手段113(図5参照)は、コマンド制御手段111の解析結果を受けて、該要求のデータが該当するキャッシュページが既にキャッシュページ部122にあるかどうか、制御メモリ部121(図5参照)上のキャッシュ制御情報(図23参照)を検索して判定する。   Then, the cache control unit 113 (see FIG. 5) receives the analysis result of the command control unit 111, and determines whether or not the cache page corresponding to the requested data already exists in the cache page unit 122. 5) The above cache control information (see FIG. 23) is searched and determined.

具体的には、コマンド制御手段111が受信したコマンドで指定される論理アドレスが、ページタグのアドレス情報で1000に相当するアドレスであり、かつ、その時のキャッシュノード2aのキャッシュ制御情報の内容が、図25に示す状態であるとする。キャッシュノード2aのキャッシュ制御手段113は、ハッシュ関数の計算を行い、ハッシュテーブル上の1つのテーブルを決定する。ハッシュ関数の計算が”5”の場合、”5”のテーブルに接続されているページタグのアドレス情報40を比較しながら、一致するページタグがあるかどうか検索する。   Specifically, the logical address specified by the command received by the command control unit 111 is an address corresponding to 1000 in the page tag address information, and the content of the cache control information of the cache node 2a at that time is: Assume that the state shown in FIG. The cache control unit 113 of the cache node 2a calculates a hash function and determines one table on the hash table. When the calculation of the hash function is “5”, it is searched whether there is a matching page tag while comparing the address information 40 of the page tag connected to the table “5”.

この時のキャッシュ制御情報(図23参照)の内容が図25で示されるものであったとすると、該テーブルに接続されたページタグの1番目がアドレス情報”1000”を持つため、コマンド制御手段111で受信したコマンドの指定する論理アドレスに該当するデータがキャッシュページ部122(図5参照)上に存在することになり、該コマンドを受信したキャッシュノード2aが制御権を持つことになる為、他のキャッシュノードに通信すること無く、キャッシュページへのアクセスを行うことができる。   If the contents of the cache control information at this time (see FIG. 23) are as shown in FIG. 25, the first page tag connected to the table has the address information “1000”. Since the data corresponding to the logical address specified by the command received in step S1 exists on the cache page unit 122 (see FIG. 5), the cache node 2a that has received the command has the control right. The cache page can be accessed without communicating with the cache node.

この後、他の処理により操作されないように、当該キャッシュページを排他処理した後、キャッシュノード2aは、データ読み出し要求であれば、ただちに該当するデータをキャッシュページ部122上の当該キャッシュページより読み出し、上位装置へ転送する。   After that, after exclusive processing of the cache page so that it is not operated by other processing, the cache node 2a immediately reads the corresponding data from the cache page on the cache page unit 122 if it is a data read request, Transfer to host device.

また、データ書込み要求であれば、上位装置より送られたデータをキャッシュページ部122上の該当キャッシュページに書き込む。各処理は、他のノードへ通信が必要ないため、高速に処理することができる。   If it is a data write request, the data sent from the host device is written to the corresponding cache page on the cache page unit 122. Since each process does not require communication with other nodes, it can be processed at high speed.

この後、キャッシュ制御手段113は、LRU(Least Recently Used)法などによる効率的なキャッシュページ管理を行うために必要な、制御メモリ部121のキャッシュ管理情報を更新し、排他を解除する。   Thereafter, the cache control unit 113 updates the cache management information of the control memory unit 121 necessary for efficient cache page management by the LRU (Least Recently Used) method and releases the exclusion.

該当するキャッシュページがキャッシュページ部122上に存在しない場合、図10に示した手順にしたがった処理が行われる。   When the corresponding cache page does not exist on the cache page unit 122, processing according to the procedure shown in FIG. 10 is performed.

図10は、本発明の第1の実施例において、キャッシュノードが、上位装置からのデータ読み出し要求またはデータ書込み要求を受領し、自キャッシュノードにおいてキャッシュ検索した際に、自キャッシュノードにはキャッシュが存在しなかった場合の処理を示すフローチャートである。   FIG. 10 shows that in the first embodiment of the present invention, when a cache node receives a data read request or data write request from a host device and performs a cache search in its own cache node, the cache node has a cache. It is a flowchart which shows a process when it does not exist.

まず、キャッシュノード2aのコマンド制御手段111が受信したコマンドで指定される論理アドレスが、ページタグのアドレス情報で3000に相当するアドレスでかつその時のノード2aのキャッシュ制御情報(図23参照)が、図25に示す内容であるものとする。キャッシュノード2aのキャッシュ制御手段113は、ハッシュ関数の計算を行い、ハッシュテーブル上の1つのテーブルを決定する。ハッシュ関数の計算が”5”であったとする。キャッシュ制御手段113は、キャッシュ制御情報(図25参照)上のハッシュテーブル上の5のテーブルに接続されているページタグのアドレス情報40(図24参照)を比較するが、どのページタグのアドレス情報にも”3000”は存在しないので、キャッシュノード2aは、該論理アドレスに相当するデータがキャッシュページ部に存在せず、制御権が無いことになる。   First, the logical address specified by the command received by the command control means 111 of the cache node 2a is the address corresponding to 3000 in the page tag address information, and the cache control information (see FIG. 23) of the node 2a at that time is It is assumed that the content is as shown in FIG. The cache control unit 113 of the cache node 2a calculates a hash function and determines one table on the hash table. Assume that the calculation of the hash function is “5”. The cache control unit 113 compares the address information 40 (see FIG. 24) of the page tag connected to the five tables on the hash table on the cache control information (see FIG. 25). Since “3000” does not exist, the cache node 2a has no control right because the data corresponding to the logical address does not exist in the cache page portion.

キャッシュノード2aのキャッシュ制御手段113が、制御権を持たないと判断すると、キャッシュノード2aの管理ノード特定手段112は、該当ページに対する制御権の要求を通知すべき管理ノードを特定する(図10のステップA1)。   When the cache control unit 113 of the cache node 2a determines that it does not have the control right, the management node specifying unit 112 of the cache node 2a specifies the management node to which the control right request for the corresponding page should be notified (FIG. 10). Step A1).

管理ノード特定手段112は、制御メモリ部121に格納された記憶空間構成情報(図8参照)を参照し、制御権の要求を通知すべき管理ノードである記憶制御ノードを特定すできる。   The management node specifying unit 112 can specify a storage control node that is a management node to which a control right request is to be notified with reference to the storage space configuration information (see FIG. 8) stored in the control memory unit 121.

該当の管理ノードを特定した後、コントローラ13に通知を指示し、相互通信手段4を介して特定した記憶制御ノードへ制御権要求を通知する(図10のステップA2)。   After specifying the corresponding management node, the controller 13 is instructed to notify, and the control right request is notified to the specified storage control node via the mutual communication means 4 (step A2 in FIG. 10).

ここでは、管理ノード特定手段112により、当該要求のデータに対する制御権の割り当てを管理する制御権管理ノードが、記憶制御ノード3aであった場合として説明する。   Here, a description will be given assuming that the control right management node that manages the assignment of control right to the requested data by the management node specifying unit 112 is the storage control node 3a.

制御権要求の通知を受けた記憶制御ノード3a、コントローラ23(図7参照)にて、該制御権要求を受信し、制御権管理手段211にて該制御権要求を判断し、制御権判定の処理を行う。   The storage control node 3a and the controller 23 (see FIG. 7) that received the notification of the control right request receive the control right request, the control right management unit 211 determines the control right request, and the control right determination Process.

制御権管理手段211は、制御メモリ部221に格納された制御権管理情報を検索して、該当するページの論理アドレスがあるかを判定する(図10のステップA3)。   The control right management unit 211 searches the control right management information stored in the control memory unit 221 and determines whether there is a logical address of the corresponding page (step A3 in FIG. 10).

具体的には、例えば、制御権管理情報(図8参照)は、チャンク識別子、制御権保持ノード番号等から成り、本実施例においては、チャンク識別子をページタグ31(図23参照)のアドレス情報40(図24参照)、もしくはアドレス情報から一意的に決まる識別子を格納しておく。また、制御権保持ノード番号は制御権を持つキャッシュノードを示す情報を格納する。   Specifically, for example, the control right management information (see FIG. 8) includes a chunk identifier, a control right holding node number, and the like. In this embodiment, the chunk identifier is used as the address information of the page tag 31 (see FIG. 23). 40 (see FIG. 24) or an identifier uniquely determined from the address information is stored. The control right holding node number stores information indicating a cache node having the control right.

ここで、一例として、チャンク識別子とページタグ31のアドレス情報40(図24参照)が同じものを格納する例を示す。この時、記憶制御ノード3aが受けたアドレス情報が”3000”でかつ、記憶制御ノード3aが持つ制御管理情報が(図8)に示される内容とする。制御権管理手段211は、制御権管理情報(図8)のチャンク識別子に”3000”を示す物が無いか、検索を行う。その結果、チャンク識別子が”3000”の情報は存在せず、どのキャッシュノードも制御権を持たないことが判定できる。   Here, as an example, an example is shown in which the chunk identifier and the address information 40 (see FIG. 24) of the page tag 31 are the same. At this time, the address information received by the storage control node 3a is "3000", and the control management information held by the storage control node 3a has the contents shown in FIG. The control right management unit 211 searches for an item indicating “3000” in the chunk identifier of the control right management information (FIG. 8). As a result, there is no information with the chunk identifier “3000”, and it can be determined that no cache node has the control right.

前述の様に、該制御権要求のデータに対応するキャッシュページの制御権保持ノードが存在しなかった場合、要求してきたキャッシュノード2aに対して当該ページ領域の制御権を新規に付与し、制御権管理情報に登録する(図10のステップA4)。   As described above, when there is no cache page control right holding node corresponding to the control right request data, a control right for the page area is newly granted to the requesting cache node 2a, and the control is performed. Registered in the right management information (step A4 in FIG. 10).

具体的には、記憶制御ノード3aの制御権管理情報(図8参照)の空いている領域に、新規にチャンク識別子が”3000”の項目を追加し、制御権保持ノード番号に2aを登録する(図9参照)。   Specifically, an item having a chunk identifier of “3000” is newly added to an empty area of the control right management information (see FIG. 8) of the storage control node 3a, and 2a is registered as the control right holding node number. (See FIG. 9).

該制御権を登録後、コントローラ23に通知を指示し、相互通信手段4を介して、新規に制御権を登録したことを要求元ノードであるキャッシュノード2aに通知する(図10のステップA5)。   After registering the control right, the controller 23 is instructed to notify the cache node 2a, which is the requesting node, that the control right has been newly registered via the mutual communication means 4 (step A5 in FIG. 10). .

該当ページの制御権が与えられたことを受信したキャッシュノード2aは、自キャッシュノード内で該当するキャッシュページを確保して、排他処理を行う(図10のステップA6)。   The cache node 2a that has received the control right for the corresponding page secures the corresponding cache page in its own cache node and performs exclusive processing (step A6 in FIG. 10).

具体的には、キャッシュノード2aの持つキャッシュ制御情報が図25に示すものであり、制御権の与えられたアドレス情報が”3000”とする。その時、キャッシュノード2aのキャッシュ制御手段113は、ハッシュ関数の計算を行い、ハッシュテーブル上の1つのテーブルを決定する。ハッシュ関数の計算が”5”であったとすると、ハッシュテーブル上の”5”のテーブルに接続されているページタグ31(図23参照)のポインタをたどり、アドレス情報が”3000”のページタグを追加し(アドレス情報が”5000”のページタグのポインタに繋ぐ)、新たにキャッシュページの確保を行い、そのベースアドレスを、アドレス情報が”3000”のページタグのベースアドレスに書き込み(図26参照)、キャッシュノード2aの制御権が確立する。その後、継続して行われるデータ読み出しもしくは書き込みの為に、キャッシュページの排他処理を行う。   Specifically, the cache control information possessed by the cache node 2a is as shown in FIG. 25, and the address information given the control right is “3000”. At that time, the cache control means 113 of the cache node 2a calculates a hash function and determines one table on the hash table. If the calculation of the hash function is “5”, the pointer of the page tag 31 (see FIG. 23) connected to the table “5” on the hash table is traced, and the page tag whose address information is “3000”. Add (link to the pointer of the page tag whose address information is “5000”), newly secure a cache page, and write the base address to the base address of the page tag whose address information is “3000” (see FIG. 26). ), The control right of the cache node 2a is established. Thereafter, an exclusive process of the cache page is performed in order to continue data reading or writing.

ここでは、上位装置からの要求により、キャッシュノード2aが制御権を得たが、上位装置からのアクセス無しに、ノードが自発的に、連続したデータの読み出し要求を予想し、あらかじめストレージ装置から先にデータをキャッシュに読み込む先読みキャッシュ動作などでも、本シーケンスと同じ様な制御権を得ることが可能である。   Here, the cache node 2a has obtained the control right by the request from the host device, but the node voluntarily anticipates a continuous data read request without access from the host device, and the storage device previously Even in a prefetch cache operation for reading data into the cache, it is possible to obtain the same control right as in this sequence.

この後、上位装置からの要求がデータ読み出し要求であれば、制御記憶制御ノード3aに該当するデータのストレージ装置より読み出しを指示し、キャッシュノード2aの該当キャッシュページに格納し、上位装置へ転送する。   Thereafter, if the request from the host device is a data read request, the control storage control node 3a is instructed to read the data from the storage device, is stored in the corresponding cache page of the cache node 2a, and is transferred to the host device .

上位装置からの要求がデータ書き込み要求であれば、上位装置より送られたデータを該当するキャッシュページに書き込み、上位装置に対して、処理の完了を返し、後でそのデータをストレージ装置に書き込む。   If the request from the host device is a data write request, the data sent from the host device is written to the corresponding cache page, the processing completion is returned to the host device, and the data is written to the storage device later.

上位装置の要求処理完了後、キャッシュノード2aのキャッシュ制御手段113は、LRU法などによる効率的なキャッシュページ管理を行うために必要な、制御メモリ部121のキャッシュ管理情報を更新し、排他を解除する。   After the request processing of the host device is completed, the cache control unit 113 of the cache node 2a updates the cache management information of the control memory unit 121 necessary for efficient cache page management by the LRU method and releases the exclusion. To do.

この書き込み要求に対する処理では、上位装置に応答を返すまでにストレージ装置へのアクセスが発生しないため高速なレスポンスが可能である。   In the processing for this write request, access to the storage device does not occur until a response is returned to the host device, so a high-speed response is possible.

図10のステップA3にて、制御権管理情報を検索して該当するページの論理アドレスがあり、制御権保持ノードがあった場合、記憶制御ノード3aは、制御権保持ノードに対し、制御権要求元ノードであるキャッシュノード2aの該当キャッシュページの利用要求を指示する(図10のステップA7)。   In step A3 of FIG. 10, when the control right management information is retrieved and there is a logical address of the corresponding page and there is a control right holding node, the storage control node 3a sends a control right request to the control right holding node. A request to use the corresponding cache page of the cache node 2a which is the original node is instructed (step A7 in FIG. 10).

以下では、制御権管理情報により、制御権保持ノードがキャッシュノード2bであったものとして説明する。   In the following description, it is assumed that the control right holding node is the cache node 2b based on the control right management information.

前述と同様に、チャンク識別子とページタグ31のアドレス情報40は同じものを格納する例に即して説明する。   Similar to the above description, the chunk identifier and the address information 40 of the page tag 31 will be described based on an example in which the same information is stored.

記憶制御ノード3aが受けたアドレス情報が”4000”であり、制御管理情報が図8に示すものであるとする。記憶制御ノード3aの制御権管理手段211は、制御権管理情報(図9参照)のチャンク識別子に”4000”を示すものが無いか、検索を行う。その結果、チャンク識別子が”4000”のキャッシュページが存在し、該当する制御権保持ノード番号の2bを得ることが出来る。   Assume that the address information received by the storage control node 3a is "4000" and the control management information is as shown in FIG. The control right management unit 211 of the storage control node 3a searches for a chunk identifier in the control right management information (see FIG. 9) indicating “4000”. As a result, a cache page having a chunk identifier “4000” exists, and the corresponding control right holding node number 2b can be obtained.

その後、記憶制御ノード3aの制御権管理手段211は、コントローラ23に通知を指示し、相互通信手段4を介して、キャッシュノード2bに該当キャッシュページの利用要求を通知する。   Thereafter, the control right management unit 211 of the storage control node 3 a instructs the controller 23 to notify, and notifies the cache node 2 b of the use request of the corresponding cache page via the mutual communication unit 4.

該当キャッシュページの制御権保持ノードであるキャッシュノード2bは、キャッシュノード2bのコントローラ13にて、記憶制御ノード3aより、キャッシュノード2aの該当キャッシュページの利用要求を受け取り、キャッシュノード2bのキャッシュ制御手段113にて、該当キャッシュページを他の処理により操作されないよう排他処理する(図10のステップA8)。   The cache node 2b, which is the control right holding node of the corresponding cache page, receives the use request of the corresponding cache page of the cache node 2a from the storage control node 3a in the controller 13 of the cache node 2b, and the cache control means of the cache node 2b In step 113, exclusive processing is performed so that the corresponding cache page is not manipulated by other processing (step A8 in FIG. 10).

具体的には、キャッシュノード2bが記憶制御ノード3aから受けた利用要求のアドレスが4000で、キャッシュノード2b上のキャッシュ制御情報が、図27に示す内容であるものとする。   Specifically, the address of the usage request received by the cache node 2b from the storage control node 3a is 4000, and the cache control information on the cache node 2b has the contents shown in FIG.

キャッシュノード2bのキャッシュ制御手段113は、ハッシュ関数の計算を行い、ハッシュテーブル上の1つのテーブルを決定する。この時、ハッシュ関数の計算値が3であったとする。キャッシュ制御情報(図27参照)のハッシュテーブル上の”3”のテーブルに接続されているページタグのアドレス情報40を比較する、アドレス情報が”4000”で一致するページタグが存在するので、キャッシュノード2bは、該当するキャッシュページの排他処理を行う。   The cache control unit 113 of the cache node 2b calculates a hash function and determines one table on the hash table. At this time, it is assumed that the calculated value of the hash function is 3. Compare the address information 40 of the page tag connected to the “3” table on the hash table of the cache control information (see FIG. 27), and since there is a page tag that matches with the address information “4000”, the cache The node 2b performs exclusive processing of the corresponding cache page.

キャッシュノード2bのキャッシュ制御手段113は、該当キャッシュページの排他処理後、該当キャッシュページへアクセスするためのアドレス情報を、キャッシュノード2bのコントローラ13に、制御権要求元ノードであるキャッシュノード2aに対して通知を指示し、相互通信手段4を介し通知する。これは、前述のキャッシュ制御情報(図27参照)のアドレス情報が”4000”のページタグ内のページアドレス41を含む内容のアドレス情報である(図10のステップA9)。   The cache control unit 113 of the cache node 2b sends the address information for accessing the cache page to the controller 13 of the cache node 2b after the exclusion process of the cache page to the cache node 2a that is the control right requesting node. The notification is instructed and notified through the mutual communication means 4. This is address information having contents including the page address 41 in the page tag whose address information of the cache control information (see FIG. 27) is “4000” (step A9 in FIG. 10).

該当キャッシュページへアクセスするためのアドレス情報の通知を受けたキャッシュノード2aは、この後、上位装置からの要求がデータ読み出し要求であれば、キャッシュノード2bの該当キャッシュページに格納されたデータを上位装置へ転送する。   The cache node 2a that has received the notification of the address information for accessing the corresponding cache page thereafter transmits the data stored in the corresponding cache page of the cache node 2b to the upper level if the request from the higher-level device is a data read request. Transfer to device.

上位装置からの要求がデータ書き込み要求であれば、キャッシュノード2bは、上位装置より送られたデータを、キャッシュノード2bの該当するキャッシュページに書き込み、上位装置に対して処理の完了を返し、後でそのデータをストレージ装置に書き込む。   If the request from the host device is a data write request, the cache node 2b writes the data sent from the host device to the corresponding cache page of the cache node 2b, returns processing completion to the host device, and To write the data to the storage device.

制御権保持ノードに対するこの処理では、上位装置に応答を返すまでにデータ応答時間のかかるストレージ装置へのアクセスが発生しないため高速なレスポンスが可能である。   In this process for the control right holding node, a high-speed response is possible because an access to the storage apparatus that requires a data response time does not occur until a response is returned to the host apparatus.

次に、本実施例の作用効果について説明する。   Next, the function and effect of this embodiment will be described.

本実施例では、必要な制御権を持っていれば、キャッシュノードは、他のノードに通信することなく自ノード内でキャッシュ制御できるので、上位装置のデータ要求の処理にかかる時間を短縮することができる。   In this embodiment, if the node has the necessary control right, the cache node can perform cache control in its own node without communicating with other nodes, thereby reducing the time required for processing the data request of the host device. Can do.

このため、高速なレスポンスが可能であり、単位時間当りの入出力性能を大きく高めることができる。   Therefore, high-speed response is possible, and input / output performance per unit time can be greatly improved.

また、本実施例では、各キャッシュノードの自ノード内で該当するキャッシュページが存在しなくても、対応する記憶制御ノードに制御権を要求すると、記憶制御ノードにて、制御権を検索し、該当する制御権保持ノードがいた場合に、制御権保持ノードがキャッシュページを排他処理しアクセス情報を通知するので、該キャッシュページが存在しないャッシュノードでも、制御権保持ノードのキャッシュページを利用できる。   Further, in this embodiment, even when there is no corresponding cache page in each cache node, when the control right is requested to the corresponding storage control node, the storage control node searches for the control right, When there is a corresponding control right holding node, the control right holding node performs exclusive processing on the cache page and notifies the access information, so that the cache page of the control right holding node can be used even in a cache node where the cache page does not exist.

このため、ストレージ装置へのアクセスが無く、高速なレスポンスが可能である。   For this reason, there is no access to the storage device and a high-speed response is possible.

さらに、該当する制御権保持ノードが無かった場合でも、要求元キャッシュノードに対し制御権が付与され、すぐにキャッシュページを排他利用でき、データ書き込み要求であれば、当該キャッシュノードのローカルメモリへ上位装置からのデータを書き込み、ストレージ装置へのアクセス無く、データ処理が可能である。   Furthermore, even when there is no corresponding control right holding node, the control right is granted to the requesting cache node, the cache page can be used exclusively immediately, and if it is a data write request, it is transferred to the local memory of the cache node. Data can be processed without writing data from the device and accessing the storage device.

このため、やはり高速なレスポンスが可能である。   Therefore, a high-speed response is still possible.

第1の実施例では、これらの効果に加え、各ノードから集中してアクセスする共有メモリが不要である。   In the first embodiment, in addition to these effects, there is no need for a shared memory that is accessed centrally from each node.

このため、ノード数を増やすことが容易であり、大規模化し易い。   For this reason, it is easy to increase the number of nodes, and it is easy to increase the scale.

また、ストレージ装置へのアクセスが少なく、ローカルの高速なメモリに対してデータ入出力処理が済み、大規模化がし易いことから、データ転送速度性能を大きく向上させることができる。   In addition, since there are few accesses to the storage device, data input / output processing is completed for a local high-speed memory, and the scale can be easily increased, the data transfer speed performance can be greatly improved.

本実施例を具体例に即して説明する。   This embodiment will be described based on a specific example.

図11及び図12は、図4に示した前記第1の実施例の一具体例の処理を模式的に示した図であり、4台の上位装置(上位装置1、2、3、4)が、相互通信手段4を介して、キャッシュノード2a、2b、2c、2dに接続されている。キャッシュノード2a、2b、2c、2dは、相互通信手段4を介して記憶制御ノード3a、3b、3c、3dに接続され、記憶制御ノードは、ディスクアレイ等のストレージ装置に接続されている。以下では、上記装置3がキャッシュノード2bへ入出力要求を発行した場合について説明する。   FIG. 11 and FIG. 12 are diagrams schematically showing processing of one specific example of the first embodiment shown in FIG. 4, and four upper devices (higher devices 1, 2, 3, 4). Are connected to the cache nodes 2a, 2b, 2c and 2d via the mutual communication means 4. The cache nodes 2a, 2b, 2c, and 2d are connected to the storage control nodes 3a, 3b, 3c, and 3d via the mutual communication unit 4, and the storage control node is connected to a storage device such as a disk array. Hereinafter, a case where the device 3 issues an input / output request to the cache node 2b will be described.

ノード2bは、上位装置3より入出力要求を受信し(図11の入出力要求ステップ)、キャッシュ検索の処理を行う。ノード2bのローカルメモリキャッシュ制御情報を検索し、ノード2bのキャッシュメモリ内に入出力要求に該当するキャッシュページがあるか判断する。ノード2bは、該当するキャッシュページがあった場合(キャッシュヒット時)、排他処理のあと、読み出しや書き込み処理を行い、処理後、排他を解除する。   The node 2b receives an input / output request from the host device 3 (input / output request step in FIG. 11), and performs a cache search process. The local memory cache control information of the node 2b is searched, and it is determined whether there is a cache page corresponding to the input / output request in the cache memory of the node 2b. When there is a corresponding cache page (at the time of a cache hit), the node 2b performs a read or write process after the exclusion process, and releases the exclusion after the process.

一方、ノード2b内のローカルメモリに、該当するキャッシュページが存在しない場合(キャッシュミス時)、ノード2b内の論理記憶構成テーブルを参照し、入出力要求がどの論理記憶空間に該当するか判断し、該当する論理記憶空間を管理する記憶制御ノードへ、該当するキャッシュページの制御権を要求する(図11の通信ステップB1)。この例では、該当する論理記憶空間が記憶制御ノード3cと判明したとする。   On the other hand, when the corresponding cache page does not exist in the local memory in the node 2b (at the time of a cache miss), the logical storage configuration table in the node 2b is referred to determine which logical storage space the input / output request corresponds to. Then, the storage control node that manages the corresponding logical storage space is requested to control the corresponding cache page (communication step B1 in FIG. 11). In this example, it is assumed that the corresponding logical storage space is found as the storage control node 3c.

キャッシュページの制御権を要求されたノード3cは、ノード3c内の制御権管理手段を用いて、制御権の管理情報テーブルを参照し、該当するキャッシュページの制御権を保持しているキャッシュノードを検索する。   The node 3c requested to control the cache page refers to the management information table of the control right using the control right management means in the node 3c, and selects the cache node holding the control right of the corresponding cache page. Search for.

ノード3cは、該当する制御権の保持ノードが見つからなかった場合、ノード2bに対して、該当するページの制御権を付与し、制御権管理情報に登録して通知する(図11の通信ステップB2’)。   When the node having the corresponding control right is not found, the node 3c gives the control right of the corresponding page to the node 2b, registers it in the control right management information, and notifies it (communication step B2 in FIG. 11). ').

ノード3cは、該当する制御権を保持しているキャッシュノードが見つかると、当該キャッシュノードへ、排他処理と通知処理を依頼する(図10の通信ステップB2)。この例では、該当する制御権を保持しているノードがキャッシュノード2dと判明したとする。   When the node 3c finds a cache node holding the corresponding control right, the node 3c requests the cache node for an exclusion process and a notification process (communication step B2 in FIG. 10). In this example, it is assumed that the node holding the corresponding control right is found to be the cache node 2d.

当該キャッシュページの制御権をもつノード2dは、ノード3cより指示を受けると、別の処理要求で操作されないように、排他処理する。ノード3c内の該当ページの管理情報へ排他フラグをたてる等の処理を行えばよい。   When receiving an instruction from the node 3c, the node 2d having the control right of the cache page performs exclusive processing so that it is not operated by another processing request. Processing such as setting an exclusive flag on the management information of the corresponding page in the node 3c may be performed.

排他処理を行った後、ノード2dは、要求元ノードであるノード2bに対して、該当キャッシュページの利用を許可する通知と、キャッシュページにアクセスする為の情報(キャッシュページのアドレス情報)を送付する(図12の通信ステップB3)。   After performing the exclusion process, the node 2d sends a notification permitting the use of the corresponding cache page and information for accessing the cache page (cache page address information) to the requesting node 2b. (Communication step B3 in FIG. 12).

許可を受信したノード2bは、ノード2dのローカルメモリ内のキャッシュページにアクセスし、それが読み出し要求であれば、該キャッシュページのデータを上位装置に転送し、書き込み要求であれば、上位装置からデータを受け取り、該キャッシュページに書き込みを行い、上位装置3からの要求を処理する(図12の通信ステップB4)。   The node 2b that has received the permission accesses the cache page in the local memory of the node 2d, and if it is a read request, transfers the data of the cache page to the host device. Data is received, written to the cache page, and a request from the higher-level device 3 is processed (communication step B4 in FIG. 12).

要求された入出力が完了すると、ノード2bは、ノード2dへ完了を通知する(図12の通信ステップB5)。   When the requested input / output is completed, the node 2b notifies the completion to the node 2d (communication step B5 in FIG. 12).

完了通知を受信したノード2dは、ノード2bの利用のための排他を解除する。   The node 2d that has received the completion notification releases the exclusion for using the node 2b.

図13は、図11及び図12に示す構成において、上記装置3からキャッシュノード2bに書き込み処理を行った場合のシーケンス動作を説明するための図である。なお、図13において、上位装置3、ノード2b、2d、3cは、図11、図12の上位装置3、キャッシュノード2b、2d、記憶制御ノード3cにそれぞれ対応している。   FIG. 13 is a diagram for explaining a sequence operation when a write process is performed from the device 3 to the cache node 2b in the configuration shown in FIGS. In FIG. 13, the host device 3, nodes 2b, 2d, and 3c correspond to the host device 3, cache nodes 2b, 2d, and storage control node 3c in FIGS. 11 and 12, respectively.

上記装置3は、書き込み要求をノード2bに送信する。   The device 3 transmits a write request to the node 2b.

ステップt1にて上位装置3より書き込み要求を受信したノード2bは、要求に対応するキャッシュを検索し、要求に対応するキャッシュページが存在する場合、当該キャッシュページの制御権があることになり、排他処理を行った後、肯定応答(Ack)を上位装置3に送信する。   The node 2b that has received the write request from the higher-level device 3 in step t1 searches the cache corresponding to the request, and if there is a cache page corresponding to the request, the node 2b has the right to control the cache page and is exclusive. After performing the processing, an acknowledgment (Ack) is transmitted to the higher-level device 3.

ステップt2にて肯定応答を受信した上位装置3は、その後、書き込みデータをノード2bに送信し、ノード2bは、書き込みデータを該当するキャッシュページに格納する。ステップt3において、キャッシュページに格納後、要求処理完了(終了ステータス)を通知し、排他解除を行う。   The host device 3 that has received the affirmative response in step t2 then transmits the write data to the node 2b, and the node 2b stores the write data in the corresponding cache page. In step t3, after storing in the cache page, the request processing completion (end status) is notified, and the exclusion is released.

図14は、キャッシュノード2bに制御権が付与される場合の一シーケンスを示す図である。図14において、上位装置3、ノード2b、2d、3cは、図11、図12の上位装置3、キャッシュノード2b、2d、記憶制御ノード3cにそれぞれ対応している。   FIG. 14 is a diagram showing a sequence when the control right is given to the cache node 2b. In FIG. 14, the host device 3, nodes 2b, 2d, and 3c correspond to the host device 3, cache nodes 2b, 2d, and storage control node 3c in FIGS. 11 and 12, respectively.

図14を参照すると、上位装置3は、書き込み要求をノード2bに送信する。   Referring to FIG. 14, the higher-level device 3 transmits a write request to the node 2b.

ステップt1において、上位装置3より書き込み要求を受信したノード2bは、要求に対応するキャッシュを検索し、要求に対応するキャッシュが存在しない場合、要求に対応するキャッシュページの制御権をノード3cに要求する。   In step t1, the node 2b that has received the write request from the host device 3 searches the cache corresponding to the request, and if there is no cache corresponding to the request, requests the node 3c to control the cache page corresponding to the request. To do.

ステップt2において、ノード2bより要求を受信したノード3cは、該当キャッシュページの制御権保持ノードを検索し、登録されていないため、ノード2bに権利を付与し、権利付与を通知する。   In step t2, the node 3c that has received the request from the node 2b searches for the control right holding node of the corresponding cache page, and since it is not registered, grants the right to the node 2b and notifies the right grant.

ステップt3において、権利付与の通知を受信したノード2bは、キャッシュページを準備し、排他処理して、肯定応答(Ack)を上位装置3に送信する。   In step t3, the node 2b that has received the right grant notification prepares a cache page, performs exclusive processing, and transmits an acknowledgment (Ack) to the higher-level device 3.

ステップt4において、肯定応答を受信した上位装置3は、書き込みデータをノード2bに送信し、ノード2bは、当該書き込みデータをキャッシュページに格納する。ステップt5において、ノード2bは、キャッシュ格納後、要求処理完了(終了ステータス)を通知し、排他解除を行う。   In step t4, the host device 3 that has received the acknowledgment transmits the write data to the node 2b, and the node 2b stores the write data in the cache page. In step t5, after the cache is stored, the node 2b notifies the request processing completion (end status) and releases the exclusion.

図15は、ノード2bに、制御権を保持するノード2dからキャッシュの使用許可が行われる場合の一シーケンスを示す図である。図15において、上位装置3、ノード2b、2d、3cは、図11、図12の上位装置3、キャッシュノード2b、2d、記憶制御ノード3cにそれぞれ対応している。   FIG. 15 is a diagram showing a sequence in a case where use of a cache is permitted to the node 2b from the node 2d holding the control right. In FIG. 15, the host device 3, nodes 2b, 2d, and 3c correspond to the host device 3, cache nodes 2b, 2d, and storage control node 3c in FIGS. 11 and 12, respectively.

上位装置3は、書き込み要求をノード2bに送信する。ステップt1にて上位装置3より書き込み要求を受信したノード2bは、キャッシュを検索し、該当するキャッシュページが存在しない場合、要求に対応するキャッシュページの制御権をノード3cに要求する。   The host device 3 transmits a write request to the node 2b. The node 2b that has received the write request from the higher-level device 3 in step t1 searches the cache, and when there is no corresponding cache page, requests the node 3c to control the cache page corresponding to the request.

ステップt2において、ノード2bより制御権の要求を受信したノード3cは、該当する制御権保持ノードを検索し、該当キャッシュページの制御権保持ノードがノード2dであることがわかる。ノード3cは、ノード2dにノード2bからの要求に対する使用許可処理の指示を行う。   In step t2, the node 3c that has received the control right request from the node 2b searches for the corresponding control right holding node, and finds that the control right holding node of the corresponding cache page is the node 2d. The node 3c instructs the node 2d to use permission processing for the request from the node 2b.

ステップt3において、ノード3cより指示を受信したノード2dは、該当キャッシュページの排他処理を行い、ノード2bが該キャッシュページへアクセスするために必要なアクセス情報を含む使用許可通知をノード2bに通知する。   In step t3, the node 2d that received the instruction from the node 3c performs exclusive processing of the corresponding cache page, and notifies the node 2b of a use permission notification including access information necessary for the node 2b to access the cache page. .

ステップt4において、ノード2dより使用許可通知を受信したノード2bは、上位装置3に、書き込み要求に対する肯定応答(Ack)を送信する。ステップt5にて、Ackを受信した上位装置3は、書き込みデータを、ノード2bに送信する。ノード2bは、上位装置3から送信された書き込みデータを受信し、ノード2d内の該当するキャッシュページへアクセスして、書き込みデータを格納する。   In step t4, the node 2b that has received the use permission notification from the node 2d transmits an affirmative response (Ack) to the write request to the higher-level device 3. In step t5, the host device 3 that has received Ack transmits write data to the node 2b. The node 2b receives the write data transmitted from the host device 3, accesses the corresponding cache page in the node 2d, and stores the write data.

ステップt6において、キャッシュページへのデータ格納後、ノード2bは、上位装置3に書き込み要求の処理完了(終了ステータス)を通知する。また、ノード2bは、使用完了通知をノード2dに送信する。   In step t6, after the data is stored in the cache page, the node 2b notifies the host device 3 of the completion of the write request processing (end status). In addition, the node 2b transmits a use completion notification to the node 2d.

ステップt7において、ノード2bからの使用完了通知を受けたノード2dは、該当キャッシュページの排他解除を行う。   In step t7, the node 2d that has received the use completion notification from the node 2b releases the exclusion of the corresponding cache page.

図16は、上位装置3からノード2bに読み出し処理を行った場合の一シーケンス動作を説明するための図である。図16において、上位装置3、ノード2b、2d、3cは、図11、図12の上位装置3、キャッシュノード2b、2d、記憶制御ノード3cにそれぞれ対応している。   FIG. 16 is a diagram for explaining a sequence operation when a read process is performed from the higher-level device 3 to the node 2b. In FIG. 16, the host device 3, nodes 2b, 2d, and 3c correspond to the host device 3, cache nodes 2b, 2d, and storage control node 3c in FIGS. 11 and 12, respectively.

上位装置3は、読み出し要求をノード2bに送信する。   The host device 3 transmits a read request to the node 2b.

ステップt1において、上位装置3より読み出し要求を受信したノード2bは、要求に対応するキャッシュ検索を行う。前記要求に対応するキャッシュが見つかった場合、該当するキャッシュページの排他処理を行い、キャッシュページのデータを読み出す。ステップt2において、ノード2bは、読み出しデータを上位装置3に送信する。終了状態を送信した後、ステップt3において、ノード2bは、該当するキャッシュページの排他解除を行う。   In step t1, the node 2b that has received the read request from the host device 3 performs a cache search corresponding to the request. When a cache corresponding to the request is found, the corresponding cache page is excluded and the cache page data is read. In step t <b> 2, the node 2 b transmits read data to the higher-level device 3. After transmitting the end state, in step t3, the node 2b performs exclusive release of the corresponding cache page.

図17は、上位装置からの読み出し要求に対応してキャッシュノード2bに制御権が付与される場合の一シーケンスを示す図である。図17において、上位装置3、ノード2b、2d、3cは、図11、図12の上位装置3、キャッシュノード2b、2d、記憶制御ノード3cにそれぞれ対応している。   FIG. 17 is a diagram showing a sequence in the case where a control right is given to the cache node 2b in response to a read request from the host device. In FIG. 17, the host device 3, nodes 2b, 2d, and 3c correspond to the host device 3, cache nodes 2b, 2d, and storage control node 3c in FIGS. 11 and 12, respectively.

図17を参照すると、上位装置3は、読み出し要求をキャッシュノード2bに送信する。   Referring to FIG. 17, the host device 3 transmits a read request to the cache node 2b.

ステップt1において、上位装置3より読み出し要求を受信したノード2bは、要求に対応するキャッシュ検索を行い、該当するキャッシュが存在しない時、要求に対応する制御権をノード3cに要求する。ステップt2において、ノード2bより要求を受信したノード3cは、該当する制御権保持ノードを検索し、登録されていないため、ノード2bに対して該当する制御権を付与し、制御権付与を通知する。   In step t1, the node 2b that has received the read request from the host device 3 performs a cache search corresponding to the request, and requests the control right corresponding to the request from the node 3c when there is no corresponding cache. In step t2, the node 3c that has received the request from the node 2b searches for the corresponding control right holding node, and since it is not registered, grants the corresponding control right to the node 2b and notifies the control right grant. .

ステップt3において、ノード3cより通知を受信したノード2bは、キャッシュページを準備し、排他処理して、ストレージ装置8c内の必要なデータをノード3cに要求する。ステップt4にて、要求により、ストレージ装置8c内の該当するデータが読み出され、当該読み出しデータが、ノード3cからノード2bに相互通信手段を介して転送され、ノード2bのキャッシュページに格納される。   In step t3, the node 2b that has received the notification from the node 3c prepares a cache page, performs exclusive processing, and requests the node 3c for necessary data in the storage device 8c. At step t4, the corresponding data in the storage device 8c is read by the request, and the read data is transferred from the node 3c to the node 2b via the mutual communication means and stored in the cache page of the node 2b. .

また、ノード3cは、ステップt2においてノード2bより制御権の要求を受け、該当する制御権保持ノードが存在しないと判明した際に、当該要求に対応するストレージ装置8c内のデータをノード3c内のローカルメモリへ先読みする処理を、ノード2bに対して該当する制御権の付与および通知する処理と並行して行っても良い。これにより、ノード2bよりストレージ装置8c内の該当データを要求された際に、ローカルメモリに先読みしたデータを用いることで、ストレージ装置のアクセス速度の遅さを緩衝し、キャッシュページへのデータ格納にかかる時間を短縮することが可能である。   In addition, when the node 3c receives a control right request from the node 2b in step t2 and finds that the corresponding control right holding node does not exist, the node 3c stores the data in the storage device 8c corresponding to the request in the node 3c. The process of prefetching to the local memory may be performed in parallel with the process of giving and notifying the corresponding control right to the node 2b. As a result, when the node 2b requests the corresponding data in the storage device 8c, the data read in the local memory is used to buffer the slow access speed of the storage device and store the data in the cache page. Such time can be shortened.

ステップt5においてキャッシュページへのデータ格納が完了すると、ノード2bは、当該キャッシュページのデータを上位装置3に送信し、読み出しデータの終わりを示す終了ステータス情報を送信し、ステップt6において当該キャッシュページの排他を解除する。   When the storage of data in the cache page is completed in step t5, the node 2b transmits the data of the cache page to the higher-level device 3 and transmits end status information indicating the end of the read data. In step t6, the node 2b Release the exclusion.

図18は、ノード2bに、制御権を保持するノード2dからキャッシュの使用許可が行われる場合の一シーケンスを示す図である。図18において、上位装置3、ノード2b、2d、3cは、図11、図12の上位装置3、キャッシュノード2b、2d、記憶制御ノード3cに対応する。   FIG. 18 is a diagram showing a sequence in the case where the node 2b is permitted to use the cache from the node 2d holding the control right. In FIG. 18, the host device 3, nodes 2b, 2d, and 3c correspond to the host device 3, cache nodes 2b, 2d, and storage control node 3c in FIGS.

上位装置3は、読み出し要求をキャッシュノード2bに送信する。ステップt1において、読み出し要求を受信したキャッシュノード2bは、キャッシュ検索し、該当するキャッシュページが存在しない場合、該当するキャッシュページの制御権をノード3cに要求する。ステップt2において、ノード2bより要求を受信したノード3cは、該当キャッシュページの制御権保持ノードを検索し、該当キャッシュページの制御権保持ノードがノード2dであることがわかる。ノード3cは、ノード2dにノード2bからの要求に対する使用許可処理の指示を行う。   The host device 3 transmits a read request to the cache node 2b. In step t1, the cache node 2b that has received the read request performs a cache search, and if the corresponding cache page does not exist, requests the node 3c to control the corresponding cache page. In step t2, the node 3c that has received the request from the node 2b searches for the control right holding node of the corresponding cache page, and finds that the control right holding node of the corresponding cache page is the node 2d. The node 3c instructs the node 2d to use permission processing for the request from the node 2b.

ステップt3において、ノード3cより指示を受信したノード2dは、該当キャッシュページの排他処理を行い、ノード2bが該キャッシュページへアクセスするために必要なアクセス情報を含む使用許可通知を、ノード2bに通知する。   In step t3, the node 2d that received the instruction from the node 3c performs exclusive processing of the corresponding cache page, and notifies the node 2b of a use permission notification including access information necessary for the node 2b to access the cache page. To do.

ステップt4において、ノード2dより使用許可通知を受信したノード2bは、ノード2d内の該当するキャッシュページへアクセスし、読み出しデータを上位装置3に送信する。   In step t4, the node 2b that has received the use permission notification from the node 2d accesses the corresponding cache page in the node 2d and transmits the read data to the host device 3.

ノード2bは、終了ステータス送信後、ステップt5において、使用完了通知をノード2dに送信する。ステップt6において、使用完了通知を受信したノード2dは、該当キャッシュページの排他を解除する。   After transmitting the end status, the node 2b transmits a use completion notification to the node 2d at step t5. In step t6, the node 2d that has received the use completion notification cancels the exclusion of the corresponding cache page.

次に、本発明の第2の実施例について、図面を参照して説明する。本発明の第2の実施例は、前記第1の実施例と同様、図4の構成からなり、ホストコンピュータ等の上位装置との入出力を制御し、該入出力データを一時的に記憶するキャッシュ機能を有する複数のキャッシュノード2a、2b、2c、2dと、データを最終的に記録し保存するストレージ装置との入出力を制御する記憶制御ノード3a、3b、3c、3dと、複数のキャッシュノード2a、2b、2c、2dと、複数の記憶制御ノード3a、3b、3c、3d間の相互の通信を介する相互通信手段4と、を備えて構成されている。ストレージシステム1は、構成と各記憶制御ノードに接続される1つ以上のストレージ装置より構成される。   Next, a second embodiment of the present invention will be described with reference to the drawings. As in the first embodiment, the second embodiment of the present invention has the configuration shown in FIG. 4, controls input / output with a host device such as a host computer, and temporarily stores the input / output data. Storage control nodes 3a, 3b, 3c, 3d for controlling input / output with a plurality of cache nodes 2a, 2b, 2c, 2d having a cache function and a storage device for finally recording and storing data, and a plurality of caches Nodes 2a, 2b, 2c, and 2d and intercommunication means 4 through mutual communication between the plurality of storage control nodes 3a, 3b, 3c, and 3d. The storage system 1 includes a configuration and one or more storage devices connected to each storage control node.

なお、図4では、簡単のため、キャッシュノード、記憶制御ノードを4台備えた構成としたが、第1の実施例と同様、台数は特に制限されない。また、相互通信手段4は、バス、SCSI、LAN(Local Area Network)、SAN(Storage Area Network)、インターネット網または任意の他の好適な通信手段であってもよい。また、上位装置の台数、ストレージ装置の台数も特に制限されない。ストレージ装置は、複数のディスクドライブ群からなるディスクユニットであってもよく、ディスクアレイ装置等であってもよい。さらに、記憶制御ノードごとにストレージ装置を備えてもよく、記憶制御ノードとストレージ装置間を相互接続する構成としてもよい。   In FIG. 4, for simplicity, the configuration includes four cache nodes and four storage control nodes. However, the number is not particularly limited as in the first embodiment. The intercommunication means 4 may be a bus, SCSI, LAN (Local Area Network), SAN (Storage Area Network), the Internet network, or any other suitable communication means. Further, the number of host devices and the number of storage devices are not particularly limited. The storage device may be a disk unit composed of a plurality of disk drive groups, or may be a disk array device or the like. Further, a storage device may be provided for each storage control node, and the storage control node and the storage device may be interconnected.

本実施例では、特定のキャッシュノードに割当てられる制御権を、記憶制御ノード3a、3b、3c、3dにて、ある制御権がどのキャッシュノードに割当てられているかを、分担して管理する。   In this embodiment, the control right assigned to a specific cache node is shared and managed by the storage control nodes 3a, 3b, 3c, and 3d to which cache node a certain control right is assigned.

図28、図29、図30は、ストレージシステム1が認識する論理記憶空間(論理ボリューム)がどの記憶制御ノードに割当てられているかを示す記憶空間構成情報の構成を示す図である。   28, 29, and 30 are diagrams showing the configuration of storage space configuration information indicating to which storage control node the logical storage space (logical volume) recognized by the storage system 1 is allocated.

本発明の第2の実施例の記憶空間構成情報は、第1の実施例で説明した、図6で示される論理記憶構成情報を、特定の論理記憶空間を所定の大きさに分割した例であり、この所定の大きさに分割した単位領域を「エクステント」と呼び、制御権の単位領域をこのエクステントと同じ大きさに割り当てる。   The storage space configuration information of the second embodiment of the present invention is an example in which the specific logical storage space is divided into a predetermined size from the logical storage configuration information shown in FIG. 6 described in the first embodiment. The unit area divided into the predetermined size is called “extent”, and the unit area of the control right is allocated to the same size as the extent.

本発明の第2の実施例の制御権は、図1乃至図3を参照して説明した特定のチャンクの制御権に対応する。   The control right of the second embodiment of the present invention corresponds to the control right of a specific chunk described with reference to FIGS.

本発明の第2の実施例においては、1つの論理ボリュームを複数の記憶制御ノードのエクステントから構成することで、前記第1の実施例に対して、複数の記憶構成ノードに処理を分散させることが可能になり、上位装置のストレージシステムに対し、処理の分散を行い性能の改善を図る。エクステントは通常、キャッシュページの整数倍の領域からなり、数十メガバイトから数百メガバイトの大きさを持つ。   In the second embodiment of the present invention, by configuring one logical volume from extents of a plurality of storage control nodes, the processing is distributed to a plurality of storage configuration nodes as compared to the first embodiment. It is possible to improve the performance by distributing the processing to the storage system of the host device. An extent usually consists of an area that is an integral multiple of a cache page and has a size of several tens to several hundreds of megabytes.

制御権を持つノードは、他のノードに通信することなく、エクステント内のデータに関する、キャッシュの制御ができる。   The node having the control right can control the cache regarding the data in the extent without communicating with other nodes.

一方、制御権を持たないキャッシュノードは、制御権を持つキャッシュノードが存在する場合に、予め定められた所定の動作を行うことにより、制御権を持つノードの該当するエクステント内のデータに関するキャッシュの制御を行うことができる。   On the other hand, if there is a cache node with control right, a cache node that does not have control right performs a predetermined operation to determine the cache of data in the extent corresponding to the node with control right. Control can be performed.

また、どのキャッシュノードにも、当該エクステントに対応する制御権が存在しなかった場合、制御権の問い合わせを行ったノード、即ち、最初に上位装置からのデータの読み出し要求もしくは書き込み要求を受けたノードに制御権を与える。それは、記憶制御ノードに、どのキャッシュノードが制御権を持つかを示す情報を書き込み、制御権の問い合わせを行ったキャッシュノードにエクステントを確保することで実現する。   In addition, if no control right corresponding to the extent exists in any cache node, the node that inquired the control right, that is, the node that first received the data read request or write request from the host device Is given control. This is realized by writing information indicating which cache node has the control right to the storage control node, and securing an extent in the cache node that has inquired the control right.

制御権を割り当てた後は、必要に応じて、キャッシュページを新規に確保した上で、上位装置からのデータの読み出しもしくは書き込み要求を受けたノードが、書き込みであれば、上位装置からのデータを該キャッシュページに格納し、読み出しであれば、記憶制御ノード経由でストレージ装置から、該当するデータを、該キャッシュページに格納した後に、上位装置に転送する。   After assigning control rights, if a node that receives a read or write request for data from the host device is a write after securing a cache page as necessary, the data from the host device is transferred. If the data is stored in the cache page and read, the corresponding data is stored in the cache page from the storage device via the storage control node and then transferred to the host device.

図4に示す例では、キャッシュ機能を有するキャッシュノード2a、2b、2c、2dが、上位装置から、データ読み出し要求またはデータ書き込み要求を受け取ると、それぞれ、自キャッシュノード内のローカルメモリ(図5参照)に格納されている制御メモリ部のキャッシュの管理情報を用いて、自キャッシュノード内のキャッシュページ格納部に、該当するキャッシュページが存在するか否か検索する。   In the example shown in FIG. 4, when the cache nodes 2a, 2b, 2c, and 2d having a cache function receive a data read request or a data write request from the host device, the local memory in the own cache node (see FIG. 5). The cache management information stored in the control memory unit is stored in the cache page storage unit in the own cache node to determine whether or not the corresponding cache page exists.

本発明の第2の実施例においては、制御権の与えられたエクステントに対してのみ、キャッシュ処理の許可が与えられる為、特定論理アドレスに対応するキャッシュページが見つかるということは、そのキャッシュページの論理アドレスを含むエクステントに対して制御権が与えられていることになり、該キャッシュページに対する書き込み及び読み出し動作は、他のノードへの問い合わせ無しに実行することが可能である。   In the second embodiment of the present invention, since the cache processing is permitted only for the extent to which the control right is given, the fact that the cache page corresponding to the specific logical address is found means that the cache page The control right is given to the extent including the logical address, and the write and read operations on the cache page can be executed without inquiring of other nodes.

即ち、データ読み出し要求またはデータ書き込み要求を上位装置から受けとったキャッシュノードにおいて、キャッシュ検索により該当するキャッシュページが存在すると判断したときには、該キャッシュノードは、当該キャッシュページを含むエクステントに対して制御権を持っており、該キャッシュノードは、データ読み出し要求であれば、当該キャッシュページからデータを上位装置に転送すれば良く、上位装置に対する高速なレスポンスが可能となる。データ書き込み要求であれば、当該キャッシュページにデータを書き込んだ時点で、上位装置に対して、処理の完了を返し、そのデータを、処理完了後に、ストレージ装置に書き込むことにより、やはり高速レスポンスが可能となる。   That is, when a cache node that has received a data read request or data write request from a host device determines that a corresponding cache page exists by cache search, the cache node has control over the extent that includes the cache page. If it is a data read request, the cache node has only to transfer data from the cache page to the host device, and a high-speed response to the host device is possible. If the request is a data write request, when the data is written to the cache page, the processing completion is returned to the host device, and the data is written to the storage device after the processing is completed. It becomes.

一方、データ読み出し要求またはデータ書き込み要求を上位装置から受けとったキャッシュノードにおいて、キャッシュ検索により該キャッシュノード内に、該当するキャッシュページが存在しないと判断した場合、該キャッシュノード内の論理記憶構成情報を検索し、該キャッシュページを含むエクステントが存在すれば、管理ノードを含む他のノードに通信すること無く、キャッシュページを新規に確保し、書き込みであれば、上位装置からのデータを該キャッシュページに受信し、読み出しであれば、記憶制御ノード経由でストレージ装置から、該当するデータを、該キャッシュページに受信した後に、上位装置に転送する。   On the other hand, in the cache node that has received the data read request or data write request from the host device, if it is determined by cache search that the corresponding cache page does not exist in the cache node, the logical storage configuration information in the cache node is displayed. If an extent including the cache page is found, a cache page is newly reserved without communicating with other nodes including the management node. If it is received and read, the corresponding data is received from the storage device via the storage control node in the cache page and then transferred to the host device.

読み込み、書き込み要求いずれの場合でも、該キャッシュページを含むエクステントに制御権があれば、該キャッシュページが存在しない場合でも、第1の実施例の様に、管理ノードに問い合わせること無く、キャッシュの処理を行うことが可能になり、キャッシュページが存在しない場合においても高速化を図ることができる。   In either case of read request or write request, if there is a control right for the extent including the cache page, even if the cache page does not exist, the cache processing can be performed without inquiring of the management node as in the first embodiment. It is possible to increase the speed even when there is no cache page.

また、該キャッシュページを含むエクステントが該キャッシュノードの論理記憶構成情報に存在しない場合は、制御権を管理する管理ノードへ通知して、該管理ノードが制御権管理情報の検索を行う。   When the extent including the cache page does not exist in the logical storage configuration information of the cache node, the management node that manages the control right is notified and the management node searches for the control right management information.

その時、当該エクステントの制御権保持ノードが制御管理情報に存在する場合、要求を受理したキャッシュノードは、制御メモリ部のキャッシュの管理情報を調べ、自キャッシュノード内のキャッシュページ格納部に、該当するキャッシュページが存在するか否か検索する。   At that time, if the control right holding node of the extent exists in the control management information, the cache node that accepted the request examines the management information of the cache in the control memory unit, and corresponds to the cache page storage unit in its own cache node. Search whether a cache page exists.

その結果、当該キャッシュページが存在する場合に、データ読み出し要求であれば、制御権保持ノードの当該キャッシュページから、相互通信手段4を経由して、データを転送すれば良く、ストレージ装置からデータを読み出すよりも、大幅な高速レスポンスが可能である。   As a result, if the cache page exists, if it is a data read request, the data can be transferred from the cache page of the control right holding node via the mutual communication means 4, and the data can be transferred from the storage device. A much faster response than reading is possible.

データ書き込み要求であっても、上位装置からの書き込みデータを、相互通信手段4を経由して制御権保持ノードの該当するキャッシュページにデータを書き込んだ時点で、上位装置に対して処理の完了を返し、そのデータを、後でストレージ装置に書き込むことにより、ストレージ装置へのアクセスが発生しないことから、やはり、高速レスポンスが可能となる。   Even if it is a data write request, when the write data from the host device is written to the corresponding cache page of the control right holding node via the mutual communication means 4, the processing is completed for the host device. Returning and writing the data to the storage device later prevents access to the storage device, so that high-speed response is possible.

また、管理ノードより要求を受けた制御権を持つノードで、該キャッシュページが存在しない場合、キャッシュページを新規に確保し、書き込みであれば、上位装置からのデータを、上位装置から要求を受けたノードと相互通信手段4を経由して、該キャッシュページに受信し、読み出しであれば、記憶制御ノード経由でストレージ装置から、該当するデータを、該キャッシュページに受信した後に、相互通信手段4を経由して、上位装置から要求を受けたノードから上位装置に転送する。   In addition, when the cache page does not exist in the node having the control right requested from the management node, a new cache page is secured, and if it is a write, the data from the host device is received from the host device. If the cache page is received via the mutual communication means 4 and the node, and if it is read, the corresponding communication data is received from the storage device via the storage control node after receiving the corresponding cache page. Then, the node that received the request from the host device transfers the request to the host device.

図5は、図4のキャッシュノード2a、2b、2c、2dの構成を示す図である。なお、図4のキャッシュノード2a、2b、2c、2dは、同一構成とされ、キャッシュノード2とする。図5を参照すると、キャッシュノード2は、上位装置インターフェース手段10と、プログラム制御により動作し主制御部となるデータ処理装置11と、ローカルメモリ12と、コントローラ13とを備えている。   FIG. 5 is a diagram showing the configuration of the cache nodes 2a, 2b, 2c, and 2d in FIG. Note that the cache nodes 2a, 2b, 2c, and 2d in FIG. Referring to FIG. 5, the cache node 2 includes a host device interface unit 10, a data processing device 11 that operates by program control and serves as a main control unit, a local memory 12, and a controller 13.

上位装置インターフェース手段10は、1つ以上の上位装置と、各接続パス5a、5b、5c、5dを介して、接続され、上位装置からのデータ読み出し要求またはデータ書き込み要求を受信し、上位装置と、キャッシュノードとの間のデータの入出力を処理する。キャッシュノードには、複数の上位装置インターフェース手段を備えても良く、上位装置との接続には、スイッチ等の相互接続手段を用いても良い。   The host device interface means 10 is connected to one or more host devices via the connection paths 5a, 5b, 5c, and 5d, receives data read requests or data write requests from the host device, and Processes data input and output with the cache node. The cache node may be provided with a plurality of higher-level device interface means, and an interconnection means such as a switch may be used for connection with the higher-level device.

データ処理装置11は、コマンド制御手段111と、管理ノード特定手段112と、キャッシュ制御手段113を備えている。コマンド制御手段111は、上位装置インターフェース手段10が受信した上位装置からのデータ読み出し要求またはデータ書き込み要求の各コマンドを判断し、各コマンドに応じた処理を制御する。   The data processing device 11 includes command control means 111, management node specifying means 112, and cache control means 113. The command control unit 111 determines each command of a data read request or a data write request from the host device received by the host device interface unit 10 and controls processing according to each command.

管理ノード特定手段112は、自キャッシュノード内で読み書きすべきエクステントが存在しない場合に、通信する管理ノードを特定する。   The management node specifying unit 112 specifies a management node with which communication is performed when there is no extent to be read / written in the own cache node.

キャッシュ制御手段113は、キャッシュ検索処理やローカルメモリ12に格納されたキャッシュを管理制御する。   The cache control unit 113 manages and controls the cache search process and the cache stored in the local memory 12.

ローカルメモリ12は、制御メモリ部121と、キャッシュページ部122を備え、ストレージ装置よりも高速なアクセスが可能な半導体メモリによって構成されている。ローカルメモリ12は、複数あってもよく、制御メモリ部121と、キャッシュページ部122とがそれぞれ別のローカルメモリに備えられていてもよい。   The local memory 12 includes a control memory unit 121 and a cache page unit 122, and is configured by a semiconductor memory that can be accessed at a higher speed than the storage device. There may be a plurality of local memories 12, and the control memory unit 121 and the cache page unit 122 may be provided in different local memories.

制御メモリ部121は、論理記憶空間がどの記憶制御ノードに割当てられているかを示す記憶空間構成情報(図6参照)や、制御権が自ノードに存在しない場合に問い合わせるノードを決定する制御権管理ノード情報(例えば図28乃至図30等参照)、キャッシュの管理情報、キャッシュノードの制御情報を格納する。   The control memory unit 121 stores storage space configuration information (see FIG. 6) indicating to which storage control node the logical storage space is allocated, and control right management for determining a node to be inquired when the control right does not exist in the own node. Node information (see, for example, FIGS. 28 to 30), cache management information, and cache node control information are stored.

キャッシュページ部122は、上位装置インターフェース手段10を経由して上位装置との間で入出力されるデータをページ単位で一時的に格納する。   The cache page unit 122 temporarily stores data input / output to / from the host device via the host device interface unit 10 in units of pages.

コントローラ13は、キャッシュノード2のデータ通信を制御し、相互通信手段4を介して他のキャッシュノードおよび記憶制御ノードとの通信も処理する。キャッシュノードには、複数のコントローラを備えても良い。   The controller 13 controls data communication of the cache node 2 and also processes communication with other cache nodes and storage control nodes via the mutual communication means 4. A cache node may include a plurality of controllers.

図28、図29、図30は、ストレージシステム1が認識する論理記憶空間(論理ボリューム)がどの記憶制御ノードに割当てられているかを示す記憶空間構成情報の構成を示す図である。本実施例においては、ある論理ボリューム番号内のエクステントがどの記憶制御ノードのどのエクステントから構成されるかを示すテーブルで管理している。   28, 29, and 30 are diagrams showing the configuration of storage space configuration information indicating to which storage control node the logical storage space (logical volume) recognized by the storage system 1 is allocated. In this embodiment, the extents in a certain logical volume number are managed by a table indicating which extent of which storage control node is constituted.

図5の管理ノード特定手段112は、図28等の管理ノード構成情報を参照することにより、ある論理ボリューム番号の制御権管理情報が、どの記憶制御ノードに割当てられているかを判断でき、管理ノードを特定することができる。   The management node specifying unit 112 in FIG. 5 can determine to which storage control node the control right management information of a certain logical volume number is assigned by referring to the management node configuration information in FIG. Can be specified.

図28乃至図30の論理記憶構成情報は、図6で示される記憶空間構成情報の一例で、特定の論理記憶空間を所定の大きさに分割した単位に管理する例である。1つの論理ボリュームは複数のエクステントに分割され、これを論理エクステント名付ける。また、記憶制御ノード下の論理記憶空間もエクステント単位に分割される。これらのエクステントは、それぞれ論理アドレスもしくは論理記憶空間内で昇順に番号が割り振られ、それぞれ、「論理エクステント番号」、「物理エクステント番号」と名付ける。   The logical storage configuration information in FIGS. 28 to 30 is an example of the storage space configuration information shown in FIG. 6, and is an example of managing a specific logical storage space in units divided into a predetermined size. One logical volume is divided into a plurality of extents, which are named logical extents. The logical storage space under the storage control node is also divided into extent units. These extents are assigned numbers in ascending order within the logical address or logical storage space, and are named “logical extent number” and “physical extent number”, respectively.

図28の論理記憶構成情報は、論理ボリューム内の論理エクステントが、どの記憶ノード配下の物理エクステントであるか、対応付けるテーブルである。ある論理ボリュームの論理エクステント番号は、論理ボリューム内の読み書きを示す位置情報である論理アドレスから一意に決定でき、その時の論理エクステント番号で示されるテーブルには、その論理エクステントがマッピングされた記憶制御ノードの情報と、該記憶制御ノード内に割りあてられた物理エクステントの番号が記録されている。   The logical storage configuration information in FIG. 28 is a table for associating which storage node is a physical extent with a logical extent in a logical volume. The logical extent number of a certain logical volume can be uniquely determined from the logical address that is position information indicating reading and writing in the logical volume, and the storage control node to which the logical extent is mapped in the table indicated by the logical extent number at that time Information and the number of the physical extent allocated in the storage control node are recorded.

本発明の第2の実施例では、あるキャッシュノードが制御権をもつかどうかは、そのノードの論理記憶構成情報を検索し、論理エクステントに対する物理エクステントがテーブル上でマッピングされているか否かで定義する。   In the second embodiment of the present invention, whether or not a certain cache node has a control right is defined by searching the logical storage configuration information of the node and mapping the physical extent for the logical extent on the table. To do.

論理エクステントに対し、物理エクステントの情報がマッピングされていれば、その論理記憶構成情報を持つキャッシュノードは、該エクステントに対する制御権を持つ。   If the physical extent information is mapped to the logical extent, the cache node having the logical storage configuration information has control over the extent.

論理エクステントに対し、物理エクステントがマッピングされない、即ち、論理エクステント番号で決まるテーブルに、記憶制御ノードと該記憶制御ノード配下の物理エクステント番号が定義されていなければ、該エクステントに対する制御権は存在しない。   If the physical extent is not mapped to the logical extent, that is, if the storage control node and the physical extent number under the storage control node are not defined in the table determined by the logical extent number, there is no right to control the extent.

次に、図7を参照して、記憶制御ノードについて説明する。各記憶制御ノード3a、3b、3c、3dは同一構成とされる。記憶制御ノード3は、記憶装置インターフェース手段20と、プログラム制御により動作し主制御部となるデータ処理装置21と、ローカルメモリ22と、コントローラ23とを備えている。   Next, the storage control node will be described with reference to FIG. Each storage control node 3a, 3b, 3c, 3d has the same configuration. The storage control node 3 includes a storage device interface unit 20, a data processing device 21 that operates by program control and serves as a main control unit, a local memory 22, and a controller 23.

記憶装置インターフェース手段20は、1つ以上のストレージ装置と各接続パス6a、6b、6c、6dを介して接続され、ストレージ装置と記憶制御ノードの間のデータの入出力を行う。   The storage device interface unit 20 is connected to one or more storage devices via the connection paths 6a, 6b, 6c, and 6d, and inputs and outputs data between the storage device and the storage control node.

データ処理装置21は、制御権管理手段211と記憶装置制御手段212とを備える。   The data processing device 21 includes a control right management unit 211 and a storage device control unit 212.

記憶装置制御手段212は、データを最終的に記録し保存するストレージ装置への入出力コマンド処理を制御する。   The storage device control unit 212 controls input / output command processing to the storage device that finally records and stores data.

制御権管理手段211は、キャッシュノード2a、2b、2c、2dからの制御権に対する処理要求を実行する。   The control right management unit 211 executes a processing request for the control right from the cache nodes 2a, 2b, 2c, and 2d.

ローカルメモリ22は、制御メモリ部221を備え、ストレージ装置よりも高速なアクセスが可能な半導体メモリによって構成されている。   The local memory 22 includes a control memory unit 221 and is configured by a semiconductor memory that can be accessed faster than the storage device.

制御メモリ部221は、記憶制御ノードの制御情報やストレージシステム1の装置構成情報を格納する。また、制御メモリ部221には、ストレージシステム1の認識するすべての論理記憶空間内のアドレスから一意に決定される特定のキャッシュページ単位に関する制御権をどのノードが持つかを示す制御権管理情報が格納される。   The control memory unit 221 stores storage control node control information and storage system 1 device configuration information. Further, the control memory unit 221 has control right management information indicating which node has the control right for a specific cache page unit uniquely determined from the addresses in all logical storage spaces recognized by the storage system 1. Stored.

コントローラ23は、記憶制御ノードのデータ通信を制御し、相互通信手段4に接続され、他のキャッシュノードおよび記憶制御ノードとの通信を制御する。記憶制御ノードには、複数のコントローラを備えても良い。   The controller 23 controls data communication of the storage control node, is connected to the mutual communication means 4, and controls communication with other cache nodes and storage control nodes. The storage control node may include a plurality of controllers.

図31、図32は、図7におけるローカルメモリ22の制御メモリ部221に格納される制御権管理情報の構成を示す図である。   31 and 32 are diagrams showing the configuration of the control right management information stored in the control memory unit 221 of the local memory 22 in FIG.

制御メモリ部221(図7参照)に格納される図31の制御権管理情報は、ある論理ボリュームのエクステントが、どのキャッシュノードにより制御権を保持されているかを示す情報からなり、エクステント単位毎に、そのエクステントの制御権を持つキャッシュノード番号が対応してテーブルを構成している。   The control right management information in FIG. 31 stored in the control memory unit 221 (see FIG. 7) includes information indicating which cache node holds the control right for an extent of a certain logical volume. A cache node number having the right to control the extent corresponds to the table.

これにより、制御権管理手段211は、あるエクステント番号が示されると、そのエクステントが制御権管理情報にあるか調べ、該当エクステントに対して制御権を持っているキャッシュノードの有無と、制御権を持っているノードがいた場合は、キャッシュノードを特定することができる。制御権管理手段211は、この判断に応じた処理を行う。   As a result, when a certain extent number is indicated, the control right management unit 211 checks whether the extent is in the control right management information, and determines whether there is a cache node having control right for the corresponding extent, and the control right. If there is a node that has it, the cache node can be specified. The control right management unit 211 performs processing according to this determination.

制御権を持つキャッシュノードが存在しなかった場合は、新たに制御権を設定し制御権管理情報に登録し、制御権を登録したノードに対して通知する。   If there is no cache node having the control right, a new control right is set, registered in the control right management information, and notified to the node that has registered the control right.

制御権を持つキャッシュノードが存在した場合には、制御権を持つキャッシュノードに対して所定の指示を行う。   When there is a cache node having the control right, a predetermined instruction is given to the cache node having the control right.

次に、本発明の第2の実施例の動作について詳細に説明する。   Next, the operation of the second embodiment of the present invention will be described in detail.

図33は、本発明の第2の実施例におけるキャッシュノードが、上位装置からのデータ読み出し要求またはデータ書込み要求を受領し、自キャッシュノードにおいてキャッシュ検索した際に、自キャッシュノードにキャッシュが存在する場合の処理を示すフローチャートである(ステップC1〜ステップC18)。   FIG. 33 shows that when the cache node in the second embodiment of the present invention receives a data read request or a data write request from the host device and performs a cache search in the own cache node, the cache exists in the own cache node. It is a flowchart which shows the process in case (step C1-step C18).

以下、上位装置からのデータ読み出し要求またはデータ書込み要求を受領するキャッシュノードがキャッシュノード2aである場合を例に説明する。   Hereinafter, a case where the cache node that receives a data read request or a data write request from the host apparatus is the cache node 2a will be described as an example.

図4のキャッシュノード2aは、上位装置から接続パス5aを介して、上位装置インターフェース手段10(図5参照)にて、データ読み出し要求またはデータ書込み要求のコマンドを受領する。   The cache node 2a in FIG. 4 receives a data read request or data write request command from the host device via the connection path 5a by the host device interface means 10 (see FIG. 5).

キャッシュノード2aは、該コマンドを受領すると、コマンド制御手段111(図5参照)にて、要求を解析する。   When the cache node 2a receives the command, the command control unit 111 (see FIG. 5) analyzes the request.

そして、キャッシュ制御手段113(図5参照)は、コマンド制御手段111の解析結果を受けて、該要求のデータが該当する論理ボリューム上の論理アドレスのデータが既にキャッシュページ部122にあるかどうか、制御メモリ部121(図5参照)上のキャッシュ制御情報(図23参照)を、前記第1の実施例と同様に検索して判定する(図33のステップC1)。   Then, the cache control unit 113 (see FIG. 5) receives the analysis result of the command control unit 111, and determines whether or not the data of the logical address on the logical volume to which the requested data corresponds already exists in the cache page unit 122. The cache control information (see FIG. 23) on the control memory unit 121 (see FIG. 5) is searched and determined in the same manner as in the first embodiment (step C1 in FIG. 33).

該当する論理アドレスのデータがキャッシュページ部122(図5参照)上に存在する場合、他の処理により操作されないように、当該キャッシュページを排他処理した後、キャッシュノード2aは、データ読み出し要求であれば、ただちに該当するデータをキャッシュページ部122上の当該キャッシュページより読み出し、上位装置へ転送する。   If the data of the corresponding logical address exists on the cache page unit 122 (see FIG. 5), the cache node 2a may perform a data read request after exclusive processing of the cache page so that it is not operated by other processing. For example, the corresponding data is immediately read from the cache page on the cache page unit 122 and transferred to the host device.

また、データ書込み要求であれば、上位装置より送られたデータをキャッシュページ部122上の該当キャッシュページに書き込む。各処理は、他のノードへ通信が必要ないため、高速に処理することができる(図33のステップC2)。   If it is a data write request, the data sent from the host device is written to the corresponding cache page on the cache page unit 122. Since each process does not require communication with other nodes, it can be processed at high speed (step C2 in FIG. 33).

この後、キャッシュ制御手段113は、LRU(Least Recently Used)法などによる効率的なキャッシュページ管理を行うために必要な、制御メモリ部121のキャッシュ管理情報を更新し、排他を解除する。   Thereafter, the cache control unit 113 updates the cache management information of the control memory unit 121 necessary for efficient cache page management by the LRU (Least Recently Used) method and releases the exclusion.

該当する論理ボリューム上の論理アドレスのデータがキャッシュページ部122上に存在しない場合、図33に示す手順にしたがった処理が行われる。   When the data of the logical address on the corresponding logical volume does not exist on the cache page unit 122, processing according to the procedure shown in FIG. 33 is performed.

まず、キャッシュノード2aのキャッシュ制御手段113は該アドレスのデータがキャッシュページに存在しないと判断すると、キャッシュノード2aの管理ノード特定手段112は、該論理ボリューム上の論理アドレスが含まれるエクステントが、自身のノードに存在するか否かの判定を行う(図33のステップC3)。それには、図28の論理記憶構成情報を使って行う。この時のキャッシュノード2aの論理記憶構成情報が、図28に示すもので、該論理アドレスから一意に求まる論理エクステントの番号が”2”、論理ボリュームが”0”であったとすると、具体的には次の様になる。   First, when the cache control unit 113 of the cache node 2a determines that the data at the address does not exist in the cache page, the management node specifying unit 112 of the cache node 2a determines that the extent including the logical address on the logical volume is It is determined whether or not it exists in the node (step C3 in FIG. 33). This is done using the logical storage configuration information of FIG. If the logical storage configuration information of the cache node 2a at this time is as shown in FIG. 28, the logical extent number uniquely obtained from the logical address is “2”, and the logical volume is “0”. Is as follows.

キャッシュノード2aのキャッシュ制御手段113は、論理アドレスから一意に求まる論理エクステント番号の”2”と論理ボリュームが”0”という情報から論理記憶構成情報上の1つのテーブルを決定する。   The cache control means 113 of the cache node 2a determines one table on the logical storage configuration information from the information that the logical extent number “2” uniquely obtained from the logical address and the logical volume “0”.

キャッシュ制御手段113はキャッシュ制御情報(図28参照)上の論理ボリュームが”0”の論理エクステント番号の”2”に該当するテーブルに物理エクステント番号と記憶制御ノードの情報が無いか判断する。その結果、論理エクステント番号が2のテーブルには、3aの記憶制御ノードの物理エクステント番号”1”のエクステントが割り当てられていることが解る。即ち、論理エクステント番号が”2”のエクステントの制御権はキャッシュノード2aが持つことが判定できる。   The cache control unit 113 determines whether the physical extent number and the storage control node information exist in the table corresponding to the logical extent number “2” with the logical volume “0” on the cache control information (see FIG. 28). As a result, it is understood that the extent having the physical extent number “1” of the storage control node 3a is allocated to the table having the logical extent number 2. That is, it can be determined that the cache node 2a has the right to control the extent having the logical extent number “2”.

当該エクステントに関する制御権は持つが、該当論理アドレスを含むデータがキャッシュページ部に存在しないため、キャッシュノード2aのキャッシュ制御手段113は新規にキャッシュページの確保を行い(図33のステップC4)、その後、継続して行われるデータ読み出しもしくは書き込みの為に、該キャッシュページの排他処理を行う。   The cache control unit 113 of the cache node 2a newly secures a cache page (step C4 in FIG. 33) since the data having the control right related to the extent is present but the data including the corresponding logical address does not exist in the cache page portion. Then, the exclusive processing of the cache page is performed in order to continuously read or write data.

この後、上位装置からの要求がデータ読み出し要求であれば、制御記憶制御ノード3aに該当するデータのストレージ装置より読み出しを指示し、キャッシュノード2aの該当キャッシュページに格納し、上位装置へ転送する。   Thereafter, if the request from the host device is a data read request, the control storage control node 3a is instructed to read the data from the storage device, is stored in the corresponding cache page of the cache node 2a, and is transferred to the host device .

また、上位装置からの要求がデータ書き込み要求であれば、上位装置より送られたデータを該当するキャッシュページに書き込み、上位装置に対して、処理の完了を返し、後でそのデータをストレージ装置に書き込む(図33のステップC5)。こうすることで、該論理アドレスのキャッシュページがキャッシュメモリ部に存在しないときでも、記憶制御ノードと通信することなく、高速に処理可能である。   If the request from the host device is a data write request, the data sent from the host device is written to the corresponding cache page, the processing completion is returned to the host device, and the data is later sent to the storage device. Write (step C5 in FIG. 33). Thus, even when the cache page of the logical address does not exist in the cache memory unit, it can be processed at high speed without communicating with the storage control node.

また、図33のステップC3で、該論理アドレスが含まれるエクステントが自身のノードに存在しない時には、該当ページに属するエクステントの制御権の要求を通知すべき管理ノードの特定を行う(図33のステップC6)。管理ノードを特定するには、図28の管理ノード構成情報を使って行う。   Also, in step C3 in FIG. 33, when the extent including the logical address does not exist in its own node, the management node to which a request for the right to control the extent belonging to the page is to be identified is specified (step in FIG. 33). C6). The management node is specified using the management node configuration information shown in FIG.

この時、論理ボリューム0に対する処理で、かつ、キャッシュノード2aの論理記憶構成情報が、図28に示すものであり、該論理アドレスから一意に求まる論理エクステントの番号が”5”であったとすると、次の様になる。   At this time, if the processing for the logical volume 0 and the logical storage configuration information of the cache node 2a are as shown in FIG. 28 and the logical extent number uniquely obtained from the logical address is “5”, It becomes as follows.

管理ノード特定手段112(図5参照)は、図28の管理ノード構成情報を参照し、論理ボリューム0を管理する記憶制御ノードを特定する。この場合、論理ボリューム0のテーブル上の(論理エクステント番号”0”の)記憶ノード情報が”3a”であることから、制御権を管理するノードは”3a”の記憶制御ノードであり、該論理エクステントの、記憶制御ノード3a配下の物理エクステントは”3”であることが判明する。   The management node identification unit 112 (see FIG. 5) identifies the storage control node that manages the logical volume 0 with reference to the management node configuration information in FIG. In this case, since the storage node information (logical extent number “0”) on the table of logical volume 0 is “3a”, the node that manages the control right is the storage control node “3a”. It is found that the physical extent under the storage control node 3a is “3”.

該当の管理ノードを特定した後、コントローラ13に通知を指示し、相互通信手段4を介して特定した記憶制御ノード3aへ制御権要求を通知する(図33のステップC7)。   After specifying the corresponding management node, the controller 13 is instructed to notify, and the control right request is notified to the specified storage control node 3a via the mutual communication means 4 (step C7 in FIG. 33).

制御権要求の通知を受けた記憶制御ノード3a、コントローラ23(図7参照)にて、該制御権要求を受信し、制御権管理手段211にて該制御権要求を判断し、制御権判定の処理を行う。   The storage control node 3a and the controller 23 (see FIG. 7) that received the notification of the control right request receive the control right request, the control right management unit 211 determines the control right request, and the control right determination Process.

制御権管理手段211は、制御メモリ部221に格納された制御権管理情報を検索して、該当する論理アドレスのエクステントがあるかを判定する(図33のステップC8)。   The control right management unit 211 searches the control right management information stored in the control memory unit 221 to determine whether there is an extent of the corresponding logical address (step C8 in FIG. 33).

本実施例では、制御権管理情報(図31参照)に、論理エクステント番号と該論理エクステント番号の制御権を持つキャッシュノードを示す、制御権保持ノード番号を格納する。   In this embodiment, the control right management node (see FIG. 31) stores a control right holding node number indicating a logical extent number and a cache node having the control right of the logical extent number.

ここで、記憶制御ノード3aが受けた、制御権要求の情報は、前述の様に、論理ボリュームが0の論理エクステント番号が”5”の要求である。   Here, the control right request information received by the storage control node 3a is a request whose logical volume number is 0 and whose logical extent number is “5” as described above.

また、この時の記憶制御ノード3aが持つ制御管理情報が(図31)に示す内容であるものとすると、制御権管理手段211は、制御権管理情報(図31)の論理エクステント番号に制御保持ノード番号が登録されていないか、検索を行う。   Further, assuming that the control management information held by the storage control node 3a at this time has the contents shown in (FIG. 31), the control right management unit 211 holds the control in the logical extent number of the control right management information (FIG. 31). Search whether the node number is registered.

その結果、論理エクステント番号が”5”のテーブルには、制御保持ノード番号が登録されていない為、どのキャッシュノードも制御権を持たないことが解る。   As a result, since the control holding node number is not registered in the table having the logical extent number “5”, it can be understood that no cache node has the control right.

前述の様に、該制御権要求のデータに対応する制御権保持ノードが存在しなかった場合、要求してきたキャッシュノード2aに対して当該エクステントの制御権を新規に付与し、制御権管理情報に登録する(図33のステップC9)。   As described above, when there is no control right holding node corresponding to the control right request data, the control right of the extent is newly granted to the requesting cache node 2a, and the control right management information is added. Registration is performed (step C9 in FIG. 33).

具体的には、記憶制御ノード3aの制御権管理情報(図31参照)の論理エクステント番号が”5”の空いている制御権保持ノード番号の箇所に、新規に、ノード2aを登録し、新規の物理エクステントをストレージシステム内の記憶制御ノード配下の物理エクステントの中から1つ確保する。   Specifically, the node 2a is newly registered at the location of the unused control right holding node number where the logical extent number of the control right management information (see FIG. 31) of the storage control node 3a is “5”. One physical extent is secured from the physical extents under the storage control node in the storage system.

当該制御権を登録後、コントローラ23に通知を指示し、相互通信手段4を介して、新規に物理エクステントを登録し、制御権が確保できたことを要求元ノードであるキャッシュノード2aに通知する(図33のステップC10)。   After registering the control right, the controller 23 is instructed to notify, newly registers a physical extent via the mutual communication means 4, and notifies the cache node 2a which is the request source node that the control right has been secured. (Step C10 in FIG. 33).

該当論理エクステントに対し、新規に物理エクステントが与えられ制御権を確保したことを受信したキャッシュノード2aは、論理記憶構成情報(図28)に物理エクステントの登録を行い、制御権の確立を行う。   The cache node 2a that has received that a physical extent is newly assigned to the logical extent and has secured the control right registers the physical extent in the logical storage configuration information (FIG. 28), and establishes the control right.

具体的には、記憶制御ノード3aの返した情報がノード3aの物理エクステント番号が”9”であった場合、最初に要求をした論理エクステント番号が”5”のテーブルに、記憶制御ノードが”3a”であることと、その物理エクステントが”9”であることを記録することにより実現する(図29参照)。   Specifically, when the information returned by the storage control node 3a is “9” as the physical extent number of the node 3a, the storage control node is “ This is realized by recording that “3a” and the physical extent is “9” (see FIG. 29).

その後、キャッシュ制御手段113は、上位装置より要求を受けた論理アドレスの読み出しまたは書き込みを行う為に、新規のキャッシュページの確保を行い、該キャッシュページの排他処理を行う。   Thereafter, the cache control unit 113 secures a new cache page and performs exclusive processing of the cache page in order to read or write the logical address requested by the host device.

ここでは、上位装置からの要求により、キャッシュノード2aが制御権を得たが、上位装置からのアクセス無しに、ノードが自発的に、連続したデータの読み出し要求を予想し、あらかじめストレージ装置から先にデータをキャッシュに読み込む先読みキャッシュ動作などでも、本シーケンスと同じ様な制御権を得ることが可能である。   Here, the cache node 2a has obtained the control right by the request from the host device, but the node voluntarily anticipates a continuous data read request without access from the host device, and the storage device previously Even in a prefetch cache operation for reading data into the cache, it is possible to obtain the same control right as in this sequence.

この後、上位装置からの要求がデータ読み出し要求であれば、制御記憶制御ノード3aに該当するデータのストレージ装置より読み出しを指示し、キャッシュノード2aの該当キャッシュページに格納し、上位装置へ転送する。   Thereafter, if the request from the host device is a data read request, the control storage control node 3a is instructed to read the data from the storage device, is stored in the corresponding cache page of the cache node 2a, and is transferred to the host device .

上位装置からの要求がデータ書き込み要求であれば、上位装置より送られたデータを該当するキャッシュページに書き込み、上位装置に対して、処理の完了を返し、後でそのデータをストレージ装置に書き込む(図33のステップC11)。   If the request from the host device is a data write request, the data sent from the host device is written to the corresponding cache page, the completion of processing is returned to the host device, and the data is later written to the storage device ( Step C11 in FIG. 33).

上位装置の要求処理完了後、キャッシュノード2aのキャッシュ制御手段113は、LRU法などによる効率的なキャッシュページ管理を行うために必要な、制御メモリ部121のキャッシュ管理情報を更新し、排他を解除する。   After the request processing of the host device is completed, the cache control unit 113 of the cache node 2a updates the cache management information of the control memory unit 121 necessary for efficient cache page management by the LRU method and releases the exclusion. To do.

この書き込み要求に対する処理では、上位装置に応答を返すまでにストレージ装置へのアクセスが発生しないため高速なレスポンスが可能である。   In the processing for this write request, access to the storage device does not occur until a response is returned to the host device, so a high-speed response is possible.

図33のステップC8において、制御権管理情報を検索し、該当する論理アドレスの物理エクステントが登録されて、制御権保持ノードがある場合、記憶制御ノード3aは、制御権保持ノードに対し、制御権要求元ノードであるキャッシュノード2aの該当物理エクステントの利用要求を指示する(図33のステップC12)。   In step C8 of FIG. 33, when the control right management information is searched and the physical extent of the corresponding logical address is registered and there is a control right holding node, the storage control node 3a sends the control right holding node to the control right holding node. A request to use the corresponding physical extent of the cache node 2a which is the request source node is instructed (step C12 in FIG. 33).

以下では、制御権管理情報により、制御権保持ノードがキャッシュノード2bであったものとして説明する。   In the following description, it is assumed that the control right holding node is the cache node 2b based on the control right management information.

記憶制御ノード3aが受けた論理エクステント番号が”6”で、制御管理情報が図31で示すものとする。   It is assumed that the logical extent number received by the storage control node 3a is “6” and the control management information is shown in FIG.

記憶制御ノード3aの制御権管理手段211は制御権管理情報(図31)の論理エクステント番号が6のテーブルに制御権保持ノード番号が登録されていないか、検索を行う。   The control right management unit 211 of the storage control node 3a searches whether the control right holding node number is registered in the table whose logical extent number is 6 in the control right management information (FIG. 31).

その結果、物理エクステント番号が”6”の位置に制御権保持ノード番号”2b”が登録されており、論理ボリュームが”0”の論理エクステント番号が”6”のエクステントは、キャッシュノード2bが制御権をもつことが解る。   As a result, the control right holding node number “2b” is registered at the position where the physical extent number is “6”, and the extent whose logical extent number is “6” with the logical volume “0” is controlled by the cache node 2b. I understand that I have the right.

その後、記憶制御ノード3aの制御権管理手段211は、コントローラ23に通知を指示し、相互通信手段4を介して、キャッシュノード2bに該当論理エクステントの利用要求を通知する。   Thereafter, the control right management unit 211 of the storage control node 3 a instructs the controller 23 to notify, and notifies the cache node 2 b of the use request of the corresponding logical extent via the mutual communication unit 4.

該当論理エクステントの制御権保持ノードであるキャッシュノード2bは、キャッシュノード2bのコントローラ13にて、記憶制御ノード3aより、キャッシュノード2aの該当論理エクステントの利用要求と読み出し、書き込みの為の論理アドレスを受け取り、キャッシュノード2bのキャッシュ制御手段113にて、該当論理エクステントを他の処理により操作されないよう排他処理する(図33のステップC13)。   The cache node 2b, which is the control right holding node of the corresponding logical extent, receives the logical address for reading and writing the use request of the corresponding logical extent of the cache node 2a from the storage control node 3a by the controller 13 of the cache node 2b. Then, the cache control unit 113 of the cache node 2b performs exclusive processing so that the corresponding logical extent is not manipulated by other processing (step C13 in FIG. 33).

キャッシュノード2bのキャッシュ制御手段113は、該当論理エクステントの排他処理後、該当論理エクステント内の論理アドレスに相当するデータが、キャッシュノード2bのキャッシュページ部に存在するか否か検索を行う(図33のステップC14)。   The cache control unit 113 of the cache node 2b searches after the exclusive processing of the corresponding logical extent whether the data corresponding to the logical address in the corresponding logical extent exists in the cache page portion of the cache node 2b (FIG. 33). Step C14).

その結果、該当論理アドレスのデータに相当するキャッシュページがキャッシュページに存在すれば、該キャッシュページを他の処理により操作されないように排他を行い、該キャッシュページへアクセスするためのアドレス情報を、キャッシュノード2bのコントローラ13に、制御権要求元ノードであるキャッシュノード2aに対して通知を指示し、相互通信手段4を介し通知する(図33のステップC15)。   As a result, if a cache page corresponding to the data of the corresponding logical address exists in the cache page, the cache page is excluded so as not to be manipulated by other processing, and address information for accessing the cache page is stored in the cache page. The controller 13 of the node 2b is instructed to notify the cache node 2a, which is the control right requesting node, and notifies via the mutual communication means 4 (step C15 in FIG. 33).

該当キャッシュページへアクセスするためのアドレス情報の通知を受けたキャッシュノード2aは、この後、上位装置からの要求がデータ読み出し要求であれば、キャッシュノード2bの該当キャッシュページに格納されたデータを上位装置へ転送する。   The cache node 2a that has received the notification of the address information for accessing the corresponding cache page thereafter transmits the data stored in the corresponding cache page of the cache node 2b to the upper level if the request from the higher-level device is a data read request. Transfer to device.

上位装置からの要求がデータ書き込み要求であれば、上位装置より送られたデータをキャッシュノード2bの該当するキャッシュページに書き込み、上位装置に対して処理の完了を返し、後でそのデータをストレージ装置に書き込む(図33のステップC16)。   If the request from the host device is a data write request, the data sent from the host device is written to the corresponding cache page of the cache node 2b, the processing completion is returned to the host device, and the data is later stored in the storage device. (Step C16 in FIG. 33).

制御権保持ノードに対するこの処理では、上位装置に応答を返すまでにデータ応答時間のかかるストレージ装置へのアクセスが発生しないため高速なレスポンスが可能である。   In this process for the control right holding node, a high-speed response is possible because an access to the storage apparatus that requires a data response time does not occur until a response is returned to the host apparatus.

また、図33のステップC14で、該当論理アドレスのデータに相当するキャッシュページがキャッシュページに存在しない場合、キャッシュノード2bのキャッシュ制御手段113は、新規にキャッシュページの確保を行い、継続して行われるデータ読み出しもしくは書き込みの為に、該キャッシュページの排他処理を行う(図33のステップC17)。   Also, in step C14 of FIG. 33, if the cache page corresponding to the data of the corresponding logical address does not exist in the cache page, the cache control unit 113 of the cache node 2b newly secures the cache page and continues to execute it. In order to read or write data, exclusive processing of the cache page is performed (step C17 in FIG. 33).

この時、論理ボリューム番号が0の論理エクステント番号が”6”で、かつ、キャッシュノード2bの論理記憶構成情報が、図30に示すものであった場合、キャッシュノード2bのキャッシュ制御手段113は、キャッシュノード2aが受けた、上位装置からの要求がデータ読み出しであれば、また、上位装置からの要求がデータ読み出し要求であれば、キャッシュノード2bのキャッシュ制御手段113は、論理記憶制御情報(図30参照)を参照し、論理エクステント番号が”6”のテーブルを参照する。   At this time, if the logical extent number with the logical volume number 0 is “6” and the logical storage configuration information of the cache node 2b is as shown in FIG. 30, the cache control means 113 of the cache node 2b If the request from the host device received by the cache node 2a is a data read request, or if the request from the host device is a data read request, the cache control means 113 of the cache node 2b uses logical storage control information (see FIG. 30) and refer to the table whose logical extent number is “6”.

その結果、論理エクステント番号6は、記憶制御ノード3bの物理エクステント番号が”10”の場所に対応付けられているので、キャッシュノード2bのキャッシュ制御手段113(図5)は、コントローラ13に通知を指示し、相互通信手段4を介して記憶制御ノード3bへ該物理エクステント上のデータの読み込み要求を通知する。   As a result, since the logical extent number 6 is associated with the location where the physical extent number of the storage control node 3b is “10”, the cache control means 113 (FIG. 5) of the cache node 2b notifies the controller 13. And instructing the storage control node 3b via the mutual communication means 4 to read the data on the physical extent.

制御権要求の通知を受けた記憶制御ノード3bは、コントローラ23(図7参照)にて、該制御権要求を受信し、配下の物理エクステント番号が10上のデータを読み出し、相互通信手段4を介して、キャッシュノード2b上のキャッシュページに格納する。   The storage control node 3b that has received the notification of the control right request receives the control right request at the controller 23 (see FIG. 7), reads the data whose subordinate physical extent number is 10, and makes the mutual communication means 4 Through the cache page on the cache node 2b.

その後に、キャッシュノード2bは、相互通信手段4を介して、キャッシュページ上のデータを、キャッシュノード2aを経由し、上位装置に転送する。   Thereafter, the cache node 2b transfers the data on the cache page via the mutual communication means 4 to the host device via the cache node 2a.

また、上位装置からの要求がデータ書き込み要求であれば、キャッシュノード2bのキャッシュ制御手段113は、新規に確保されたキャッシュページに対する書き込み通知の指示を、コントローラ13に指示し、相互通信手段4を介してキャッシュノード2bへ通知する。   If the request from the higher-level device is a data write request, the cache control unit 113 of the cache node 2b instructs the controller 13 to issue a write notification for the newly secured cache page, and causes the mutual communication unit 4 to To the cache node 2b.

キャッシュノード2aは、キャッシュノード2bからの通知内容(書き込みアドレス等)に従い、上位装置から受けた書き込みデータを、通信手段4を介して、キャッシュノード2bの該当するキャッシュページに書き込んだ後、上位装置に処理の終了通知し、その後、該当するキャッシュページと論理エクステントの排他処理を解除する(図33のステップC18)。   The cache node 2a writes the write data received from the host device to the corresponding cache page of the cache node 2b via the communication unit 4 in accordance with the notification content (write address or the like) from the cache node 2b, and then the host device Then, the processing end notification is released, and thereafter, the exclusive processing of the corresponding cache page and logical extent is released (step C18 in FIG. 33).

さらにその後に、キャッシュノード2bは、論理記憶制御情報(図30参照)を参照し、論理エクステント番号が6のテーブルを参照する。   Thereafter, the cache node 2b refers to the logical storage control information (see FIG. 30) and refers to the table having the logical extent number 6.

その結果、論理エクステント番号6は、記憶制御ノード3bの物理エクステント番号が”10”の場所に対応付けられているので、キャッシュノード2bの物理エクステント番号が”10”に該当する論理アドレスにデータの書き込みを行う。   As a result, since the logical extent number 6 is associated with the location where the physical extent number of the storage control node 3b is “10”, the data of the logical extent number 6 is stored in the logical address corresponding to the physical extent number of the cache node 2b “10”. Write.

次に、本発明の第3の実施例について説明する。本発明の第3の実施例の構成は、図4に示した本発明の第1、第2の実施例と同様とされ、キャッシュノード2a、2b、2c、2dと、記憶制御ノード3a、3b、3c、3dと、相互通信手段4とから構成される。   Next, a third embodiment of the present invention will be described. The configuration of the third embodiment of the present invention is the same as that of the first and second embodiments of the present invention shown in FIG. 4, and cache nodes 2a, 2b, 2c and 2d, and storage control nodes 3a and 3b. 3c, 3d, and mutual communication means 4.

図19を参照すると、本発明の第3の実施例における各キャッシュノード2は、本発明の第1の実施例と同様に、上位装置インターフェース手段10と、ローカルメモリ12と、コントローラ13とを備える。   Referring to FIG. 19, each cache node 2 in the third embodiment of the present invention includes higher-level device interface means 10, a local memory 12, and a controller 13, as in the first embodiment of the present invention. .

また、図20を参照すると、本発明の第3の実施例における各記憶制御ノード3は、本発明の第1の実施例と同様に、記憶装置インターフェース手段20と、ローカルメモリ22と、コントローラ23とを備える。   Referring to FIG. 20, each storage control node 3 in the third embodiment of the present invention is similar to the first embodiment of the present invention in that the storage device interface means 20, the local memory 22, and the controller 23 are used. With.

本発明の第3の実施例では、コントローラ13は、マイクロコンピュータ、プログラムROM(Read Only Memory)を内蔵して並列に処理を行うことができる。コントローラ13は、上位装置インターフェース手段10、およびローカルメモリ12に接続されているとともに、相互通信手段4に接続されている。   In the third embodiment of the present invention, the controller 13 includes a microcomputer and a program ROM (Read Only Memory) and can perform processing in parallel. The controller 13 is connected to the host device interface means 10 and the local memory 12 and to the mutual communication means 4.

このため、コントローラ13は、ローカルメモリ12を高速にアクセスすることができるとともに、相互通信手段4を介して他のノードへもアクセスすることができる。   For this reason, the controller 13 can access the local memory 12 at a high speed and can also access other nodes via the mutual communication means 4.

キャッシュノードの制御用プログラム131は、コントローラ13のプログラムROMに格納されており、コントローラ13のマイクロコンピュータに読み込まれ、コントローラ13の動作を制御し、ローカルメモリ12に、制御メモリ部121とキャッシュページ部122を生成する。   The cache node control program 131 is stored in the program ROM of the controller 13 and is read into the microcomputer of the controller 13 to control the operation of the controller 13. The control memory unit 121 and the cache page unit are stored in the local memory 12. 122 is generated.

コントローラ13は、キャッシュノードの制御用プログラム131の制御により、第1の実施例におけるデータ処理装置11による処理と同一の処理を実行する。   The controller 13 executes the same processing as the processing by the data processing apparatus 11 in the first embodiment under the control of the cache node control program 131.

コントローラ23も同様に、マイクロコンピュータ、プログラムROMを内蔵して並列に処理を行うことができ、記憶装置インターフェース手段20、およびローカルメモリ22に接続されているとともに、相互通信手段4に接続されている。   Similarly, the controller 23 has a built-in microcomputer and program ROM and can perform processing in parallel. The controller 23 is connected to the storage device interface means 20 and the local memory 22 and to the mutual communication means 4. .

このため、コントローラ23は、ローカルメモリ22を高速にアクセスすることができるとともに、相互通信手段4を介して他のノードへもアクセスすることができる。   For this reason, the controller 23 can access the local memory 22 at high speed and can also access other nodes via the mutual communication means 4.

記憶制御ノードの制御用プログラム231は、コントローラ23のプログラムROMに格納されており、コントローラ23のマイクロコンピュータに読み込まれ、コントローラ23の動作を制御し、ローカルメモリ22に、制御権管理情報を含む制御メモリ部221を生成する。コントローラ23は、記憶制御ノードの制御用プログラム231の制御により、第1の実施例におけるデータ処理装置21による処理と同一の処理を実行する。   The storage control node control program 231 is stored in the program ROM of the controller 23 and is read into the microcomputer of the controller 23 to control the operation of the controller 23 and the local memory 22 includes control right management information. A memory unit 221 is generated. The controller 23 executes the same processing as the processing by the data processing device 21 in the first embodiment under the control of the control program 231 of the storage control node.

本発明のさらに別の実施例について説明する。図21は、本発明の第4の実施例の構成を示す図である。本実施例では、前記第1の実施例のキャッシュノード2と、記憶制御ノード3を、一つのノード9で構成したものであり、各ノード9a、9b、9c、9dは、LAN、SAN等の任意の通信手段5で上位装置7a、7b、7c、7dに接続されるとともに、ストレージ装置8a、8b、8c、8dに接続され、他のノードと相互通信手段4を介して接続される。なお、ノード、上位装置、ストレージ装置の台数には特に制限はない。   Still another embodiment of the present invention will be described. FIG. 21 is a diagram showing the configuration of the fourth exemplary embodiment of the present invention. In this embodiment, the cache node 2 and the storage control node 3 of the first embodiment are configured by a single node 9, and each of the nodes 9a, 9b, 9c, 9d is a LAN, a SAN, or the like. An arbitrary communication means 5 is connected to the host devices 7a, 7b, 7c and 7d, is connected to the storage devices 8a, 8b, 8c and 8d, and is connected to other nodes via the mutual communication means 4. There are no particular restrictions on the number of nodes, host devices, and storage devices.

図22は、図21に示した第4の実施例のノード9の構成を示す図である。図22を参照すると、ノード9は、入出力インターフェース手段90と、データ処理装置91と、ローカルメモリ92と、コントローラ93を備えている。   FIG. 22 is a diagram showing the configuration of the node 9 of the fourth embodiment shown in FIG. Referring to FIG. 22, the node 9 includes input / output interface means 90, a data processing device 91, a local memory 92, and a controller 93.

データ処理装置91は、図5及び図6に示したコマンド制御手段111と、制御権の管理ノード特定手段112と、キャッシュ制御手段113と、制御権管理手段211と、記憶装置制御手段212とを備えている。   The data processing device 91 includes the command control unit 111, the control right management node specifying unit 112, the cache control unit 113, the control right management unit 211, and the storage device control unit 212 shown in FIGS. I have.

コマンド制御手段111は、入出力インターフェース手段90が受信した上位装置からのデータ読み出し要求またはデータ書き込み要求の各コマンドを判断し、各コマンドに応じた処理を制御する。   The command control unit 111 determines each command of a data read request or a data write request from the host device received by the input / output interface unit 90, and controls processing according to each command.

管理ノード特定手段112は、自キャッシュノード内でキャッシュミスした際に通信すべき、制御権を管理するノードを特定する。   The management node specifying unit 112 specifies a node that manages a control right to be communicated when a cache miss occurs in the own cache node.

キャッシュ制御手段113は、キャッシュ検索処理やローカルメモリ92に格納されたキャッシュを管理制御する。   The cache control unit 113 manages and controls the cache search process and the cache stored in the local memory 92.

ローカルメモリ92は、制御権管理情報を含む制御メモリ部121と、キャッシュページ部122を備え、ストレージ装置(図21の8a、8b)よりも高速なアクセスが可能な半導体メモリによって構成されている。   The local memory 92 includes a control memory unit 121 including control right management information and a cache page unit 122, and is configured by a semiconductor memory that can be accessed at higher speed than the storage device (8a and 8b in FIG. 21).

制御メモリ部121は、論理記憶空間がどの記憶制御ノードに割当てられているかを示す記憶空間構成情報(図6参照)や、キャッシュの管理情報、およびキャッシュノードの制御情報を格納する。キャッシュページ部122は、入出力インターフェース手段90を経由して上位装置との間で入出力されるデータをページ単位で一時的に格納する。   The control memory unit 121 stores storage space configuration information (see FIG. 6) indicating to which storage control node a logical storage space is allocated, cache management information, and cache node control information. The cache page unit 122 temporarily stores data input / output to / from the host device via the input / output interface unit 90 in units of pages.

コントローラ93は、ノード9のデータ通信を制御し、相互通信手段4を介して他のノードとの通信も処理する。   The controller 93 controls data communication of the node 9 and also processes communication with other nodes via the mutual communication means 4.

制御権管理手段211は、ノード9a、9b、9c、9d(図21参照)からの制御権に対する処理要求を実行する。   The control right management unit 211 executes a processing request for the control right from the nodes 9a, 9b, 9c, 9d (see FIG. 21).

記憶装置制御手段212は、ストレージユニットへの入出力コマンド処理を制御する。制御メモリ部121に含まれる制御権管理情報は、ストレージシステムの認識するすべての論理記憶空間内のアドレスから一意に決定されるキャッシュページ単位毎に、制御権をどのノードが持つかを示す。なお、本実施例の動作は、前記第1、第2の実施例にて説明した図10に示した流れ図に従うため、その説明は省略する。   The storage device control unit 212 controls input / output command processing to the storage unit. The control right management information included in the control memory unit 121 indicates which node has the control right for each cache page unit uniquely determined from addresses in all logical storage spaces recognized by the storage system. Note that the operation of this embodiment follows the flowchart shown in FIG. 10 described in the first and second embodiments, so that the description thereof is omitted.

本発明のさらに別の実施例について説明する。本発明の第5の実施例は、上位装置3がキャッシュノード2bへ読み出し要求を発行し、該要求で示される論理アドレスのデータに関するキャッシュページの制御権が、キャッシュノード2bにはなく、キャッシュノード2dで持つ場合の処理が、前記第1の実施例、前記第2の実施例とは、相違している。以下では、本発明の第5の実施例を、前記第1の実施例、前記第2の実施例との相違点について主に、説明し、同一の処理の説明は、重複を回避するため、適宜省略する。   Still another embodiment of the present invention will be described. In the fifth embodiment of the present invention, the host device 3 issues a read request to the cache node 2b, and the cache node 2b does not have the control right of the cache page related to the data of the logical address indicated by the request. The processing in the case of 2d is different from the first embodiment and the second embodiment. In the following, the fifth embodiment of the present invention will be described mainly with respect to the differences from the first embodiment and the second embodiment, and the description of the same process will avoid duplication. Omitted where appropriate.

図34は、キャッシュページを要求したキャッシュノード2bに、制御権を保持するキャッシュノード2dから該キャッシュページの使用許可が行われる場合のシーケンスを示す図である。図34において、上位装置3、キャッシュノード2b、2d、記憶制御ノード3cは、図4の上位装置3、キャッシュノード2b、2d、記憶制御ノード3cにそれぞれ対応している。   FIG. 34 is a diagram showing a sequence when the cache node 2b that requested the cache page is permitted to use the cache page from the cache node 2d that holds the control right. In FIG. 34, the host device 3, cache nodes 2b, 2d, and storage control node 3c correspond to the host device 3, cache nodes 2b, 2d, and storage control node 3c in FIG. 4, respectively.

以下では、上位装置から読み出し要求が来た場合について、図34を参照して、具体的に説明する。本実施例の場合、上位装置からの書き込み要求は、前記第1の実施例および前記第2の実施例の場合と同等の処理を行う。   Hereinafter, a case where a read request is received from a higher-level device will be specifically described with reference to FIG. In the case of the present embodiment, the write request from the host device performs the same processing as in the first embodiment and the second embodiment.

まず、以下に、前記第1の実施例の処理に相当する場合の具体例について説明する。上位装置3からの読み出し要求をキャッシュノード2bが受信すると、該読み出し要求で指定されるデータが、該キャッシュノード2bのキャッシュページ部に存在するか否か検索を行う。本実施例では、制御権はキャッシュノード2dに持ち、その為、該検索を行っても見つからず、該キャッシュページの制御権の問い合わせを記憶制御ノード3cに通知する(ステップs1)。   First, a specific example corresponding to the processing of the first embodiment will be described below. When the cache node 2b receives a read request from the host device 3, the cache node 2b searches whether the data specified by the read request exists in the cache page portion of the cache node 2b. In this embodiment, the control right is held in the cache node 2d. Therefore, even if the search is performed, the control right is not found, and an inquiry about the control right of the cache page is notified to the storage control node 3c (step s1).

該要通知を受けた記憶制御ノード3cは、該キャッシュページの制御権保持ノードを検索する。本実施例では、制御権をキャッシュノード2dに持つ為、検索の結果、制御権保持ノードはキャッシュノード2dとなる。記憶制御ノード3cは、キャッシュノード2dに対し、該キャッシュページの利用通知を、相互通信手段4を用いて行う(ステップs2)。   The storage control node 3c that has received the notification of necessity searches the control right holding node of the cache page. In this embodiment, since the control right is held in the cache node 2d, as a result of the search, the control right holding node becomes the cache node 2d. The storage control node 3c notifies the cache node 2d of the use of the cache page using the mutual communication means 4 (step s2).

該通知を受けたキャッシュノード2dは、該キャッシュページの排他処理を行い、キャッシュノード2bに対して、該当キャッシュページのデータを、相互通信手段4を用いて、キャッシュノード2bに対して送信する(ステップs3)。   Upon receiving the notification, the cache node 2d performs an exclusive process on the cache page, and transmits the data of the cache page to the cache node 2b to the cache node 2b using the mutual communication unit 4 ( Step s3).

キャッシュノード2bでは、キャッシュノード2dからのデータを受信し、引き続き、該データを上位装置3に送信する(ステップs4)。   The cache node 2b receives the data from the cache node 2d, and subsequently transmits the data to the host device 3 (step s4).

そして、キャッシュノード2bは、上位装置3に対する終了ステータス送信後、使用完了通知を、相互通信手段4を用いてキャッシュノード2dに送信し(ステップs5)、キャッシュノード2dは、該キャッシュページの排他を解除する(ステップs6)。   Then, after transmitting the end status to the host device 3, the cache node 2b transmits a use completion notification to the cache node 2d using the mutual communication means 4 (step s5), and the cache node 2d determines that the cache page is exclusive. Release (step s6).

また、同様に、本実施例において、前記第2の実施例の処理に対応する場合の具体例について、図35を用いて説明する。なお、構成等は、前述と同一であるものとする。   Similarly, in this embodiment, a specific example corresponding to the processing of the second embodiment will be described with reference to FIG. The configuration and the like are the same as described above.

まず、上位装置3からの読み出し要求をキャッシュノード2bが受信すると、キャッシュノード2bは、該読み出し要求で指定されるデータが、該キャッシュノード2bのキャッシュページ部に存在するか検索を行う。本実施例では制御権はキャッシュノード2dに持ち、その為、該検索では見つからない。引き続き、該データを含むエクステントがキャッシュノード2bに存在するか検索を行う。本実施例では、制御権をキャッシュノード2dに持つ場合である為、該エクステントに対する検索は見つからず、次に該エクステントの制御権の使用要求を記憶制御ノード3cに通知する(ステップs1)。   First, when the cache node 2b receives a read request from the host device 3, the cache node 2b searches whether the data specified by the read request exists in the cache page portion of the cache node 2b. In this embodiment, the control right is held in the cache node 2d, and therefore cannot be found in the search. Subsequently, the cache node 2b is searched for an extent containing the data. In this embodiment, since the cache node 2d has the control right, no search for the extent is found, and the storage control node 3c is notified of a request to use the control right of the extent (step s1).

該通知を受けた記憶制御ノード3cは、該エクステントの制御権保持ノードを検索する。本実施例では、制御権保持ノードがキャッシュノード2dである為、記憶制御ノード3cは、キャッシュノード2dに対する該エクステントに対する利用要求を、相互通信手段4を用いて通知する(ステップs2)。   Receiving the notification, the storage control node 3c searches for the control right holding node of the extent. In this embodiment, since the control right holding node is the cache node 2d, the storage control node 3c notifies the usage request for the extent to the cache node 2d using the mutual communication means 4 (step s2).

キャッシュノード2dは、該エクステントに対する利用要求を受け取ると、該エクステントの排他処理を行い、次に、上位装置3より読み出し要求を受けたデータがキャッシュノード2dのキャッシュページ部に存在するか否か検索を行う(ステップs3)。   When the cache node 2d receives the use request for the extent, the cache node 2d performs exclusive processing of the extent, and then searches for whether or not the data that has received the read request from the higher-level device 3 exists in the cache page portion of the cache node 2d. Is performed (step s3).

前述のエクステントの検索に対して、該当するキャッシュページが存在しない場合、キャッシュノード2dのキャッシュ制御手段113は新規にキャッシュページの確保を行い、継続して行われるデータ読み出しの為に、該キャッシュページの排他処理を行う。キャッシュノード2dのキャッシュ制御手段113は、コントローラ13に通知を指示し、相互通信手段4を介して記憶制御ノード3cへデータの読み込み要求を通知する。   If the corresponding cache page does not exist for the extent search described above, the cache control unit 113 of the cache node 2d newly secures the cache page, and the cache page is used for continuous data reading. Perform exclusive processing. The cache control unit 113 of the cache node 2d instructs the controller 13 to notify, and notifies the storage control node 3c of a data read request via the mutual communication unit 4.

該要求の通知を受けた記憶制御ノード3cは、該当するデータを読み出し、相互通信手段4を介して、キャッシュノード2d上のキャッシュページに格納する(ステップs8)。   Receiving the request notification, the storage control node 3c reads the corresponding data and stores it in the cache page on the cache node 2d via the mutual communication means 4 (step s8).

その後に、キャッシュノード2dは、相互通信手段4を介して、キャッシュページ上のデータを、キャッシュノード2bを経由し、上位装置に転送する(ステップs5)。   Thereafter, the cache node 2d transfers the data on the cache page via the mutual communication means 4 to the upper level device via the cache node 2b (step s5).

ステップs3でのキャッシュページ部に対する検索に対し、該当するキャッシュページが存在する場合、該データの格納されたキャッシュページ内のデータを、キャッシュノード2bに対し、相互通信手段4を用いて、キャッシュノード2bを経由し、上位装置に転送する(ステップs4)。   If there is a corresponding cache page for the search for the cache page part in step s3, the data in the cache page in which the data is stored is transferred to the cache node 2b using the mutual communication means 4. The data is transferred to the host device via 2b (step s4).

図35のステップs3において、キャッシュノード2dで該当するデータキャッシュページが存在する/しないのいずれの場合でも、上位装置へのデータの転送が終了すれば、キャッシュノード2bは、上位装置3に対する終了ステータス送信する(ステップs6)。   In step s3 in FIG. 35, if the transfer of data to the higher-level device is completed regardless of whether or not the corresponding data cache page exists in the cache node 2d, the cache node 2b determines the end status for the higher-level device 3. Transmit (step s6).

その後、制御権の利用完了通知を、相互通信手段4を用いてキャッシュノード2dに送信し、キャッシュノード2dは該キャッシュページの排他及び該エクステントの排他を解除する(ステップs7)。   Thereafter, the use completion notification of the control right is transmitted to the cache node 2d using the mutual communication means 4, and the cache node 2d releases the exclusion of the cache page and the exclusion of the extent (step s7).

いずれの場合においても、前記第1の実施例、第2の実施例のステップt3(図18参照)において、キャッシュノード2dがキャッシュページの使用許可通知の代わりに、データを送ることで、処理のステップ減らすことが可能になり、前記第1の実施例および第2の実施例より、さらに高速化を図ることができる。   In either case, in step t3 (see FIG. 18) of the first and second embodiments, the cache node 2d sends data instead of the cache page use permission notification, thereby The number of steps can be reduced, and the speed can be further increased as compared with the first and second embodiments.

本発明のさらに別の実施例について説明する。本発明の第6の実施例は、上位装置3がキャッシュノード2bへ書き込みもしくは読み出し要求を発行し、該要求で示される論理アドレスのデータに関する制御権が、キャッシュノード2bにはなく、キャッシュノード2dで持つ場合の処理について、前記第1の実施例、第2の実施例と相違している。以下では、本発明の第6の実施例を、前記第1の実施例、前記第2の実施例との相違点について主に、説明し、同一の処理の説明は、重複を回避するため、適宜省略する。   Still another embodiment of the present invention will be described. In the sixth embodiment of the present invention, the host device 3 issues a write or read request to the cache node 2b, and the cache node 2d does not have control over the data at the logical address indicated by the request. The processing in the case of having is different from the first embodiment and the second embodiment. In the following, the sixth embodiment of the present invention will be described mainly with respect to the differences from the first embodiment and the second embodiment, and the description of the same process will avoid duplication. Omitted where appropriate.

図36、図37、図38において、上位装置3、キャッシュノード2b、2d、記憶制御ノード3cは、図4の上位装置3、キャッシュノード2b、2d、記憶制御ノード3cにそれぞれ対応している。   36, 37, and 38, the host device 3, cache nodes 2b, 2d, and storage control node 3c correspond to the host device 3, cache nodes 2b, 2d, and storage control node 3c in FIG. 4, respectively.

以下に、本実施例において、上位装置3から書き込み要求が来た場合(前記第1の実施例に対応する処理)について、図36を参照して、具体的に説明する。   Hereinafter, in the present embodiment, a case where a write request is received from the host apparatus 3 (processing corresponding to the first embodiment) will be specifically described with reference to FIG.

まず、上位装置3からの書き込み要求をキャッシュノード2bが受信すると、該書き込み要求で指定されるデータが、該キャッシュノード2bのキャッシュページ部に存在するか検索を行うが、本実施例では、キャッシュノード2dに制御権を持つ場合であるので、次に該キャッシュページの制御権を記憶制御ノード3cに要求する(ステップs1)。記憶制御ノード3cは、該キャッシュページの制御権保持ノードを検索し、制御権保持ノードがキャッシュノード2dであることがわかる。   First, when the cache node 2b receives a write request from the higher-level device 3, a search is performed to determine whether the data specified by the write request exists in the cache page portion of the cache node 2b. Since the node 2d has the control right, the storage control node 3c is requested next for the control right of the cache page (step s1). The storage control node 3c searches for the control right holding node of the cache page and finds that the control right holding node is the cache node 2d.

記憶制御ノード3cは、相互通信手段4を用いて、制御権がキャッシュノード2dにあることを、キャッシュノード2bに対して通知する(ステップs2)。   The storage control node 3c notifies the cache node 2b that the control right is in the cache node 2d using the mutual communication means 4 (step s2).

キャッシュノード2bは、キャッシュノード2dに対して、該キャッシュページに対する利用要求を、相互通信手段4を用いて行う(ステップs3)。   The cache node 2b makes a use request for the cache page to the cache node 2d using the mutual communication unit 4 (step s3).

キャッシュノード2dは、該当キャッシュページの排他処理を行い、キャッシュノード2d上の該当キャッシュページのアクセス情報(アドレスなど)を含む利用許可通知をキャッシュノード2bに通知する(ステップs4)。   The cache node 2d performs exclusive processing of the corresponding cache page, and notifies the cache node 2b of a use permission notification including access information (address, etc.) of the corresponding cache page on the cache node 2d (step s4).

キャッシュノード2bは、上位装置3に、書き込み要求に対する肯定応答(Ack)を送信する(ステップs5)。   The cache node 2b transmits an affirmative response (Ack) to the write request to the higher-level device 3 (step s5).

肯定応答(Ack)を受信した上位装置3は、書き込みデータを、キャッシュノード2b宛に送信する(ステップs6)。   The host device 3 that has received the affirmative response (Ack) transmits the write data to the cache node 2b (step s6).

キャッシュノード2bは、上位装置3から送信された書き込みデータを受信し、キャッシュノード2d内の該当するキャッシュページへアクセスして、書き込みデータを格納し、キャッシュページへのデータ格納後、キャッシュノード2bは、上位装置3に書き込み要求終了のステータスを送信する(ステップs7)。   The cache node 2b receives the write data transmitted from the host device 3, accesses the corresponding cache page in the cache node 2d, stores the write data, and after storing the data in the cache page, the cache node 2b The write request end status is transmitted to the host device 3 (step s7).

その後、該当キャッシュページの使用完了通知をキャッシュノード2dに送信する。その後キャッシュノード2bからの使用完了通知を受けたキャッシュノード2dは、該当キャッシュページの排他解除を行い、処理を完了する(ステップs8)。   Thereafter, the use completion notification of the corresponding cache page is transmitted to the cache node 2d. Thereafter, the cache node 2d that has received the use completion notification from the cache node 2b releases the exclusion of the corresponding cache page and completes the processing (step s8).

次に、本実施例において、上位装置3から読み出し要求が来た場合(前記第1の実施例に対応する処理)について、図37を参照して、具体的に説明する。   Next, in the present embodiment, a case where a read request is received from the host apparatus 3 (processing corresponding to the first embodiment) will be specifically described with reference to FIG.

まず、上位装置3からの読み出し要求をキャッシュノード2bが受信すると、該読み出し要求で指定されるデータが、該キャッシュノード2bのキャッシュページ部に存在するか検索を行うが、本実施例では、キャッシュノード2dに制御権がある場合で、検索しても見つからない為、次に、該キャッシュページの制御権を記憶制御ノード3cに要求する(ステップs1)。   First, when the cache node 2b receives a read request from the host device 3, the cache node 2b searches whether the data specified by the read request exists in the cache page portion of the cache node 2b. Since the node 2d has the control right, it cannot be found even if it is searched. Next, the control right for the cache page is requested to the storage control node 3c (step s1).

記憶制御ノード3cは、該キャッシュページの制御権保持ノードを検索する。本実施例では、制御権保持ノードはキャッシュノード2dであるため、記憶制御ノード3cは、相互通信手段4を用いて、制御権がキャッシュノード2dにあることを、キャッシュノード2bに対して通知する(ステップs2)。   The storage control node 3c searches for a control right holding node of the cache page. In this embodiment, since the control right holding node is the cache node 2d, the storage control node 3c uses the mutual communication means 4 to notify the cache node 2b that the control right is in the cache node 2d. (Step s2).

キャッシュノード2bは、キャッシュノード2dに対して、該キャッシュページに対する利用要求を、相互通信手段4を用いて行う(ステップs3)。   The cache node 2b makes a use request for the cache page to the cache node 2d using the mutual communication unit 4 (step s3).

該利用要求を受けたキャッシュノード2dは、該当キャッシュページの排他処理を行い、キャッシュノード2d上の該当キャッシュページのアクセス情報(アドレスなど)を含む利用許可通知をキャッシュノード2bに通知する(ステップs4)。   The cache node 2d that has received the use request performs exclusive processing of the corresponding cache page, and notifies the cache node 2b of a use permission notification including access information (address, etc.) of the corresponding cache page on the cache node 2d (step s4). ).

キャッシュノード2bは、キャッシュノード2dからの通知により、キャッシュノード2d内の該当するキャッシュページへアクセスし、読み出しデータを上位装置3に送信する(ステップs5)。   In response to the notification from the cache node 2d, the cache node 2b accesses the corresponding cache page in the cache node 2d and transmits the read data to the higher-level device 3 (step s5).

次に、キャッシュノード2bは、上位装置に読み出し処理の終了ステータスを送信後、使用完了通知をキャッシュノード2dに送信する(ステップs6)。   Next, the cache node 2b transmits a completion status of the reading process to the host device, and then transmits a use completion notification to the cache node 2d (step s6).

該通知を受信したキャッシュノード2dは該当キャッシュページの排他を解除し、処理が完了する(ステップs7)。   The cache node 2d that has received the notification cancels the exclusion of the corresponding cache page, and the processing is completed (step s7).

本実施例において、上位装置3から書き込み要求が来た場合(前記第2の実施例に対応する処理)について、図36を参照して具体的に説明する。   In the present embodiment, a case where a write request is received from the host apparatus 3 (a process corresponding to the second embodiment) will be specifically described with reference to FIG.

まず、上位装置3からの書き込み要求をキャッシュノード2bが受信すると、キャッシュノード2bは、書き込み要求で指定されるデータが、該キャッシュノード2bのキャッシュページ部に存在するか検索を行うが、本実施例では、制御権をキャッシュノード2dが持つ場合で、検索の結果はみつからず、引き続き、該データを含むエクステントがキャッシュノード2bに存在するか検索を行う。本実施例では、キャッシュノード2bは制御権を持たない場合であることから、このエクステントに対する検索は見つからず、次に該エクステントの制御権の使用要求を記憶制御ノード3cに要求する(ステップs1)。   First, when the cache node 2b receives a write request from the host device 3, the cache node 2b searches whether the data specified by the write request exists in the cache page portion of the cache node 2b. In the example, when the cache node 2d has the control right, the search result is not found, and it is continuously searched whether the extent including the data exists in the cache node 2b. In this embodiment, since the cache node 2b does not have the control right, the search for this extent is not found, and next, the storage control node 3c is requested to use the control right for the extent (step s1). .

記憶制御ノード3cは、該エクステントの制御権保持ノードを検索する。本実施例では、制御権保持ノードがキャッシュノード2dであることから、記憶制御ノード3cは、キャッシュノード2bに対し、該エクステントの制御権がキャッシュノード2dに存在することを、相互通信手段4を用いて通知する(ステップs2)。   The storage control node 3c searches for the control right holding node of the extent. In this embodiment, since the control right holding node is the cache node 2d, the storage control node 3c determines that the control right for the extent exists in the cache node 2d with respect to the cache node 2b. (Step s2).

次に、キャッシュノード2bは、キャッシュノード2dに対する該エクステントに対する利用要求を、相互通信手段4を用いて行う(ステップs3)。キャッシュノード2dは、該エクステントに対する利用要求を受け取ると、該エクステントの排他処理を行い、次に、上位装置3より書き込み要求を受けたデータがキャッシュノード2dのキャッシュページ部に存在するか否か検索を行う。   Next, the cache node 2b makes a use request for the extent to the cache node 2d using the mutual communication unit 4 (step s3). When the cache node 2d receives the use request for the extent, the cache node 2d performs exclusive processing of the extent, and then searches for whether or not the data for which the write request has been received from the host device 3 exists in the cache page portion of the cache node 2d. I do.

前述のエクステントの検索に対して、該当するキャッシュページが存在しなかった場合、キャッシュノード2dのキャッシュ制御手段113は、新規にキャッシュページの確保を行い、継続して行われるデータ書き込みの為に、該キャッシュページの排他処理を行ったあと、該キャッシュページのアクセス情報(アドレスなど)を含む利用許可通知をキャッシュノード2bに通知する。該キャッシュページ部に対する検索に対し、該当するキャッシュページが存在した場合、同様に、キャッシュノード2dは該キャッシュページのアクセス情報(アドレスなど)を含む利用許可通知をキャッシュノード2bに通知する(ステップs4)。   When the corresponding cache page does not exist for the above-described extent search, the cache control unit 113 of the cache node 2d newly secures the cache page and performs data writing to be performed continuously. After performing the exclusive processing of the cache page, the cache node 2b is notified of a use permission notification including access information (address, etc.) of the cache page. If there is a corresponding cache page for the search for the cache page portion, similarly, the cache node 2d notifies the cache node 2b of a usage permission notification including access information (address, etc.) of the cache page (step s4). ).

ステップs4で、キャッシュノード2dで該当するデータキャッシュページが存在する/しない、いずれの場合も、キャッシュノード2bがキャッシュノード2dからの、該キャッシュページの利用許可通知を受けると、キャッシュノード2bは、上位装置3に、書き込み要求に対する肯定応答(Ack)を送信する(ステップs5)。Ackを受信した上位装置3は、書き込みデータを、キャッシュノード2b宛に送信する。キャッシュノード2bは、上位装置3から送信された書き込みデータを受信し、キャッシュノード2d内の該当するキャッシュページへアクセスして、データを書き込む。   In step s4, in any case where the corresponding data cache page exists or does not exist in the cache node 2d, when the cache node 2b receives the cache page usage permission notification from the cache node 2d, the cache node 2b A positive response (Ack) to the write request is transmitted to the host device 3 (step s5). The host device 3 that has received Ack transmits write data to the cache node 2b. The cache node 2b receives the write data transmitted from the host device 3, accesses the corresponding cache page in the cache node 2d, and writes the data.

上位装置からのデータがキャッシュページに格納されれば、キャッシュノード2bは、終了ステータス送信する(ステップs7)。その後、制御権の利用完了通知を、相互通信手段4を用いてキャッシュノード2dに送信し、キャッシュノード2dは該キャッシュページの排他及び該エクステントの排他を解除する(ステップs8)。   If the data from the host device is stored in the cache page, the cache node 2b transmits an end status (step s7). Thereafter, the use completion notice of the control right is transmitted to the cache node 2d using the mutual communication means 4, and the cache node 2d releases the exclusion of the cache page and the exclusion of the extent (step s8).

次に、本実施例において、上位装置3から読み出し要求が来た場合(前記第2の実施例に対応する処理)について、図38を参照して具体的に説明する。   Next, in the present embodiment, a case where a read request is received from the host device 3 (processing corresponding to the second embodiment) will be specifically described with reference to FIG.

まず、上位装置3からの読み出し要求をキャッシュノード2bが受信すると、キャッシュノード2bは、読み出し要求で指定されるデータが、該キャッシュノード2bのキャッシュページ部に存在するか検索を行う。本実施例においては、制御権をキャッシュノード2dもつ場合で、検索の結果はみつからず、引き続き、該データを含むエクステントがキャッシュノード2bに存在するか検索を行う。本実施例では、キャッシュノード2bは制御権を持たない場合であることから、このエクステントに対する検索は見つからず、次に、該エクステントの制御権の使用要求を記憶制御ノード3cに要求する(ステップs1)。   First, when the cache node 2b receives a read request from the host device 3, the cache node 2b searches whether the data specified by the read request exists in the cache page portion of the cache node 2b. In this embodiment, when the control right is the cache node 2d, the search result is not found, and it is continuously searched whether the extent including the data exists in the cache node 2b. In this embodiment, since the cache node 2b does not have the control right, the search for this extent is not found, and next, a request for using the control right of the extent is requested to the storage control node 3c (step s1). ).

記憶制御ノード3cは、該エクステントの制御権保持ノードを検索する。本実施例では、制御権保持ノードがキャッシュノード2dであることから、記憶制御ノード3cは、キャッシュノード2bに対して、該エクステントの制御権がキャッシュノード2dに存在することを、相互通信手段4を用いて通知する(ステップs2)。   The storage control node 3c searches for the control right holding node of the extent. In this embodiment, since the control right holding node is the cache node 2d, the storage control node 3c indicates that the control right of the extent exists in the cache node 2d with respect to the cache node 2b. (Step s2).

次に、キャッシュノード2bは、キャッシュノード2dに対する該エクステントに対する利用要求を、相互通信手段4を用いて行う(ステップs3)。   Next, the cache node 2b makes a use request for the extent to the cache node 2d using the mutual communication unit 4 (step s3).

キャッシュノード2dは、該エクステントに対する利用要求を受け取ると、該エクステントの排他処理を行い、次に、上位装置3より読み出し要求を受けたデータがキャッシュノード2dのキャッシュページ部に存在するか否か検索を行う(ステップs4)。   When the cache node 2d receives the use request for the extent, the cache node 2d performs exclusive processing of the extent, and then searches for whether or not the data that has received the read request from the higher-level device 3 exists in the cache page portion of the cache node 2d. (Step s4).

前述のエクステントの検索に対して、該当するキャッシュページが存在しなかった場合、キャッシュノード2dのキャッシュ制御手段113は、新規にキャッシュページの確保を行い、継続して行われるデータ読み出しの為に、該キャッシュページの排他処理を行う。キャッシュノード2dのキャッシュ制御手段113は、実施例2と同様に、該エクステントの記憶制御ノードを、制御権管理情報(図8)を検索して決定する。   When the corresponding cache page does not exist for the above-described extent search, the cache control unit 113 of the cache node 2d newly secures the cache page and performs the data reading to be performed continuously. Exclusive processing of the cache page is performed. Similarly to the second embodiment, the cache control unit 113 of the cache node 2d determines the storage control node of the extent by searching the control right management information (FIG. 8).

この結果、該エクステントの読み出し先が記憶制御ノード3cの配下に存在しているものとすると、キャッシュ制御手段113は、コントローラ13に通知を指示し、相互通信手段4を介して記憶制御ノード3cへデータの読み込み要求を通知する。   As a result, assuming that the extent read destination is under the storage control node 3c, the cache control unit 113 instructs the controller 13 to notify the storage control node 3c via the mutual communication unit 4. Notify the data read request.

該要求の通知を受けた記憶制御ノード3cは、該当するデータを読み出し、相互通信手段4を介して、キャッシュノード2d上のキャッシュページに格納する(ステップs9)。   Receiving the request notification, the storage control node 3c reads the corresponding data and stores it in the cache page on the cache node 2d via the mutual communication means 4 (step s9).

ステップs4のキャッシュページ部に対する検索に対し、該当するキャッシュページが存在した場合、該データの格納されたキャッシュページの排他処理を行い、キャッシュページ部に対する検索に対し、該当するキャッシュページが存在せず、記憶制御ノード3cからデータを読み込んだ場合には、該データのキャッシュページの排他制御を行い、条件により、いずれかのキャッシュページのアクセス情報(アドレスなど)を含む利用許可通知をキャッシュノード2bに通知する(ステップs5)。   If there is a corresponding cache page for the search for the cache page portion in step s4, the cache page storing the data is excluded, and there is no corresponding cache page for the search for the cache page portion. When data is read from the storage control node 3c, exclusive control of the cache page of the data is performed, and a usage permission notification including access information (address, etc.) of any cache page is sent to the cache node 2b depending on the condition. Notification is made (step s5).

キャッシュノード2bは、キャッシュノード2dからの利用許可通知により、キャッシュノード2d内の該当するキャッシュページへアクセスし、読み出しデータを上位装置3に送信する(ステップs6)。   In response to the usage permission notification from the cache node 2d, the cache node 2b accesses the corresponding cache page in the cache node 2d and transmits the read data to the higher-level device 3 (step s6).

上位装置3へのデータの転送が終了すると、キャッシュノード2bは、上位装置3への終了ステータスを送信し、制御権の利用完了通知を、相互通信手段4を用いてキャッシュノード2dに送信する(ステップs7)。   When the transfer of data to the higher level apparatus 3 is completed, the cache node 2b transmits an end status to the higher level apparatus 3, and transmits a control right use completion notification to the cache node 2d using the mutual communication means 4 ( Step s7).

キャッシュノード2bからの通知を受信したキャッシュノード2dは、該キャッシュページの排他及び該エクステントの排他を解除し、処理が完了する(ステップs8)。   The cache node 2d that has received the notification from the cache node 2b releases the exclusion of the cache page and the exclusion of the extent, and the processing is completed (step s8).

いずれの場合においても、制御権の問い合わせを行う際、問い合わせを行ったノード(本実施例ではキャッシュノード2b)に対し、制御権の管理を行うノード(本実施例では記憶制御ノード3c)が、一度制御権の問い合わせを行ったノードに、何れのノードが制御権を持っているか、情報を返すことで、制御権の問い合わせを行ったノードは、制御権の問い合わせに対して、常に、制御権の管理を行うノードから、情報を得ることができる。   In any case, when a control right inquiry is made, a node (storage control node 3c in this embodiment) that manages the control right for the inquired node (cache node 2b in this embodiment) The node that has inquired the control right always returns the control right to the node that has inquired the control right by returning information indicating which node has the control right. Information can be obtained from the node that manages the above.

これは、ノード間の通信障害などの障害が発生した際に、前記第1の実施例、第2の実施例においては、制御権の問い合わせの処理を行った後、制御権を持つノードで行われる処理もやり直さなければならず、その処理は、時間を要する場合もある。   In the first embodiment and the second embodiment, when a failure such as a communication failure between nodes occurs, this is performed by the node having the control right after processing the control right inquiry. The process to be performed must be redone, and the process may take time.

本実施例における障害時の処理は、制御権を持つか/持たないか、持っていればどのノードが持つのかという、比較的に単純な処理の為、リカバリの為の処理を簡易、短時間に行うことができる。   The processing at the time of a failure in this embodiment is a relatively simple process of having / not having the control right and which node has the control right, so that the process for recovery is simple and short. Can be done.

本発明のさらに別の実施例について説明する。本発明の第7の実施例は、上位装置3がキャッシュノード2bへ書き込み要求を発行し、該要求で示される論理アドレスのデータに関する制御権が、キャッシュノード2bには無く、キャッシュノード2dで持つ場合の処理が、前記第6の実施例とは相違している。本実施例において、上位装置3からの読み込み要求に対する処理は前記第6の実施例と同一である。それ以外の処理は前記第1の実施例あるいは前記第2の実施例と同じ処理を行う。以下、本発明の第7の実施例について、前記第6の実施例との相違点について説明する。   Still another embodiment of the present invention will be described. In the seventh embodiment of the present invention, the host device 3 issues a write request to the cache node 2b, and the cache node 2d does not have the control right for the data of the logical address indicated by the request but in the cache node 2b. The processing in this case is different from that in the sixth embodiment. In the present embodiment, the processing for the read request from the host device 3 is the same as that in the sixth embodiment. Other processes are the same as those in the first embodiment or the second embodiment. Hereinafter, the seventh embodiment of the present invention will be described by referring to differences from the sixth embodiment.

図39において、上位装置3、キャッシュノード2b、2d、記憶制御ノード3cは、図4の上位装置3、キャッシュノード2b、2d、記憶制御ノード3cにそれぞれ対応している。   In FIG. 39, the host device 3, cache nodes 2b, 2d, and storage control node 3c correspond to the host device 3, cache nodes 2b, 2d, and storage control node 3c in FIG. 4, respectively.

次に、本実施例において、上位装置3から書き込み要求が来た場合(前記第1の実施例に相当する処理)について、図39を参照して、具体的に説明する。   Next, in the present embodiment, a case where a write request is received from the host apparatus 3 (processing corresponding to the first embodiment) will be specifically described with reference to FIG.

まず、上位装置3からの書き込み要求をキャッシュノード2bが受信すると、該書き込み要求で指定されるデータが、該キャッシュノード2bのキャッシュページ部に存在するか検索を行うが、本実施例では、存在しない条件である為、次に、該キャッシュページの制御権を記憶制御ノード3cに要求する(ステップs1)。   First, when the cache node 2b receives a write request from the host device 3, the cache node 2b searches for the data specified by the write request in the cache page portion of the cache node 2b. Since this is a condition that does not, the storage control node 3c is requested to control the cache page (step s1).

記憶制御ノード3cは、該キャッシュページの制御権保持ノードを検索する。本実施例では制御権保持ノードがキャッシュノード2dであることから、記憶制御ノード3cは、相互通信手段4を用いて、制御権がキャッシュノード2dにあることを、キャッシュノード2bに対して通知する(ステップs2)。   The storage control node 3c searches for a control right holding node of the cache page. In this embodiment, since the control right holding node is the cache node 2d, the storage control node 3c uses the mutual communication means 4 to notify the cache node 2b that the control right is in the cache node 2d. (Step s2).

その後、キャッシュノード2bは、上位装置3に、書き込み要求に対する肯定応答(Ack)を送信する(ステップs3)。   Thereafter, the cache node 2b transmits an acknowledgment (Ack) to the write request to the higher-level device 3 (step s3).

肯定応答(Ack)を受信した上位装置3は、書き込みデータを、キャッシュノード2b宛に送信する。キャッシュノード2bは、上位装置3から送信された書き込みデータを受信し、キャッシュノード2dに、該キャッシュページの利用要求と書き込みデータを送信する(ステップs4)。   The host device 3 that has received the positive response (Ack) transmits the write data to the cache node 2b. The cache node 2b receives the write data transmitted from the host device 3, and transmits the cache page use request and the write data to the cache node 2d (step s4).

キャッシュノード2dは、該キャッシュページの利用要求とデータを受信すると、書き込みデータを一時的に格納する為の領域に格納する。この一時領域は、キャッシュページ部122の未使用(空き)のキャッシュページに対して行われる。キャッシュノード2dのキャッシュ制御手段113は、上位装置3から受信した論理アドレスで示されるデータに該当するキャッシュページの検索を行い、検索の結果、見つかったキャッシュページの排他処理を行う。その後、キャッシュノード2dは、一時領域のデータを、検索で見つけたキャッシュページに対して書き込んだ後、使用した一時領域を開放し、キャッシュページに対する書き込み処理が終了したことを、キャッシュノード2bに対して通知する(ステップs5)。   When the cache node 2d receives the cache page use request and data, the cache node 2d stores the write data in an area for temporarily storing the data. This temporary area is used for an unused (empty) cache page in the cache page unit 122. The cache control unit 113 of the cache node 2d searches for a cache page corresponding to the data indicated by the logical address received from the higher-level device 3, and performs exclusion processing on the cache page found as a result of the search. After that, the cache node 2d writes the data in the temporary area to the cache page found by the search, then releases the used temporary area, and informs the cache node 2b that the writing process to the cache page has ended. (Step s5).

キャッシュノード2bは、キャッシュノード2dからのキャッシュページへの書き込みが終了したことを示す通知を受け取ると、上位装置3に書き込み要求終了のステータスを送信し、使用完了通知をキャッシュノード2dに送信する(ステップs6)。   When the cache node 2b receives a notification from the cache node 2d indicating that the writing to the cache page has been completed, the cache node 2b transmits a write request completion status to the host device 3, and transmits a use completion notification to the cache node 2d ( Step s6).

その後、キャッシュノード2bからの使用完了通知を受けたキャッシュノード2dは、該当キャッシュページの排他解除を行い、処理を完了する(ステップs7)。   Thereafter, the cache node 2d that has received the use completion notification from the cache node 2b cancels the exclusion of the corresponding cache page and completes the processing (step s7).

次に、本実施例において、上位装置3から書き込み要求が来た場合(前記第2の実施例に相当する処理)について、図39を参照して具体的に説明する。   Next, in this embodiment, a case where a write request is received from the host apparatus 3 (a process corresponding to the second embodiment) will be specifically described with reference to FIG.

まず、上位装置3からの書き込み要求をキャッシュノード2bが受信すると、キャッシュノード2bは、書き込み要求で指定されるデータが、該キャッシュノード2bのキャッシュページ部に存在するか検索を行うが、本実施例では存在しない条件の為、引き続き、該データを含むエクステントがキャッシュノード2bに存在するか検索を行う。本実施例では、キャッシュノード2bには制御権を持たない場合であるので、このエクステントに対する検索は見つからず、次に該エクステントの制御権の使用要求を記憶制御ノード3cに要求する(ステップs1)。   First, when the cache node 2b receives a write request from the host device 3, the cache node 2b searches whether the data specified by the write request exists in the cache page portion of the cache node 2b. Since the condition does not exist in the example, the cache node 2b is continuously searched for an extent including the data. In this embodiment, since the cache node 2b does not have the control right, the search for this extent is not found, and next, the storage control node 3c is requested to use the control right for the extent (step s1). .

記憶制御ノード3cは、該エクステントの制御権保持ノードを検索し、制御権保持ノードがキャッシュノード2dであることがわかる。記憶制御ノード3cは、キャッシュノード2bに対し、該エクステントの制御権がキャッシュノード2dに存在することを、相互通信手段4を用いて通知する(ステップs2)。   The storage control node 3c searches for the control right holding node of the extent and finds that the control right holding node is the cache node 2d. The storage control node 3c notifies the cache node 2b that the right to control the extent exists in the cache node 2d using the mutual communication means 4 (step s2).

その後、キャッシュノード2bは、上位装置3に、書き込み要求に対する肯定応答(Ack)を送信する(ステップs3)。   Thereafter, the cache node 2b transmits an acknowledgment (Ack) to the write request to the higher-level device 3 (step s3).

肯定応答(Ack)を受信した上位装置3は、書き込みデータを、キャッシュノード2b宛に送信する(ステップs4)。   The host device 3 that has received the affirmative response (Ack) transmits the write data to the cache node 2b (step s4).

キャッシュノード2bは、上位装置3から送信された書き込みデータを受信し、該エクステントの利用要求と書き込みデータをキャッシュノード2dへ送信する。   The cache node 2b receives the write data transmitted from the host device 3, and transmits the extent use request and the write data to the cache node 2d.

該利用要求とデータを受信したキャッシュノード2dは、受信した書き込みデータを一時的に格納する為の領域に格納する。この一時領域は、キャッシュページ部122の未使用(空き)のキャッシュページに対して行われる。キャッシュノード2dのキャッシュ制御手段113は、該エクステントの排他処理を行い、次に、上位装置3より書き込み要求を受けたデータがキャッシュノード2dのキャッシュページ部に存在するか否か検索を行う。前述のキャッシュページの検索に対して、該当するキャッシュページが存在しなかった場合、キャッシュノード2dのキャッシュ制御手段113は一時領域としてデータの書き込みを行ったキャッシュページに対し、他の処理により操作されないように排他処理を行った上で、正式なキャッシュページとして、前記第2の実施例で説明した、新規に確保されたキャッシュページと同じ手順でキャッシュ制御情報への追加を行う。   The cache node 2d that has received the use request and data stores the received write data in an area for temporarily storing the data. This temporary area is used for an unused (empty) cache page in the cache page unit 122. The cache control unit 113 of the cache node 2d performs the exclusive processing of the extent, and then searches whether or not the data that has received the write request from the higher-level device 3 exists in the cache page portion of the cache node 2d. If there is no corresponding cache page for the cache page search described above, the cache control unit 113 of the cache node 2d is not operated by other processing on the cache page in which data is written as a temporary area. After the exclusion process is performed as described above, the cache control information is added to the cache control information in the same procedure as the newly secured cache page described in the second embodiment as a formal cache page.

キャッシュページ部に対する検索に対し、該当するキャッシュページが存在した場合、キャッシュノード2dは一時領域のデータを、検索で見つけたキャッシュページに対して書き込んだ後、使用した一時領域を開放する。   If there is a cache page corresponding to the search for the cache page portion, the cache node 2d writes the temporary area data to the cache page found by the search and then releases the used temporary area.

キャッシュノード2dで該当するデータキャッシュページが存在する/しないいずれの場合も、キャッシュノード2dがキャッシュページに対する処理が終了すると、キャッシュページに対する書き込み処理が終了したことを、キャッシュノード2bに対して通知する(ステップs5)。   In any case where the corresponding data cache page exists or does not exist in the cache node 2d, when the cache node 2d finishes the process for the cache page, the cache node 2b is notified that the write process for the cache page is finished. (Step s5).

キャッシュノード2dからの書き込み処理終了の通知を受け取ると、キャッシュノード2bは、上位装置3に対し、書き込み処理の終了ステータス送信し、後に制御権の利用完了通知を、相互通信手段4を用いてキャッシュノード2dに送信する(ステップs6)。   Upon receipt of the write processing end notification from the cache node 2d, the cache node 2b transmits the write processing end status to the host device 3, and later uses the mutual communication means 4 to notify the use completion notification of the control right. It transmits to the node 2d (step s6).

その後、キャッシュノード2dは該キャッシュページの排他及び該エクステントの排他を解除する(ステップs7)。   Thereafter, the cache node 2d releases the exclusion of the cache page and the exclusion of the extent (step s7).

本実施例によれば、いずれの場合においても、前記第1の実施例、第2の実施例におけるステップt4(図15参照)で行われる、上位装置3に対する肯定応答(Ack)の通知を、図39のステップs3の段階で返すことが可能とされており、全体の処理時間の短縮を図ることができる。   According to the present embodiment, in any case, notification of an acknowledgment (Ack) to the higher-level device 3 performed in step t4 (see FIG. 15) in the first embodiment and the second embodiment is performed. It is possible to return it at the stage of step s3 in FIG. 39, and the overall processing time can be shortened.

本発明のさらに別の実施例として、
・上位装置3からの読み出し要求に関して、前記第5の実施例の処理を行い、
・上位装置3からの書き込み要求に関して、前記第7の実施例の処理を行う、
構成とされる。読み出し/書き込み要求のいずれの場合にも、処理時間の短縮を図るものである。
As yet another embodiment of the present invention,
Regarding the read request from the host device 3, the processing of the fifth embodiment is performed,
The processing of the seventh embodiment is performed with respect to the write request from the host device 3.
It is supposed to be configured. In either case of read / write requests, the processing time is shortened.

本発明は、
・キャッシュ手段を有する複数のノードから構成され、一台のストレージシステムとして利用できるディスクアレイ装置、
・キャッシュ手段を有する複数のノードから構成され、一台のキャッシュシステムとして利用できるキャッシュ制御装置、
・キャッシュ手段を有する複数のスイッチから構成され、一台のストレージシステムとして利用できるスイッチ装置、
等にも、適用できる。
The present invention
A disk array device composed of a plurality of nodes having cache means and usable as a single storage system;
A cache control device that is composed of a plurality of nodes having cache means and can be used as a single cache system;
A switch device composed of a plurality of switches having cache means and usable as a single storage system;
It can also be applied.

以上本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ限定されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。   Although the present invention has been described with reference to the above embodiment, the present invention is not limited to the configuration of the above embodiment, and various modifications that can be made by those skilled in the art within the scope of the present invention. Of course, modifications are included.

本発明のキャッシュ制御の原理を説明するための図である。It is a figure for demonstrating the principle of the cache control of this invention. 本発明のキャッシュ制御の原理を説明するための図である。It is a figure for demonstrating the principle of the cache control of this invention. 本発明のキャッシュ制御手順を説明するための流れ図である。It is a flowchart for demonstrating the cache control procedure of this invention. 本発明の一実施例の構成を示す図である。It is a figure which shows the structure of one Example of this invention. 本発明の一実施例のキャッシュノードの構成を示す図である。It is a figure which shows the structure of the cache node of one Example of this invention. 本発明の一実施例の記憶空間構成情報の構成を示す図である。It is a figure which shows the structure of the storage space structure information of one Example of this invention. 本発明の一実施例の記憶制御ノードの構成を示す図である。It is a figure which shows the structure of the storage control node of one Example of this invention. 本発明の一実施例の制御権管理手段における制御権管理情報のブロック図である。It is a block diagram of the control right management information in the control right management means of one Example of this invention. 本発明の一実施例の制御権管理手段における制御権管理情報のブロック図である。It is a block diagram of the control right management information in the control right management means of one Example of this invention. 本発明の一実施例において、キャッシュノードが上位装置からデータ要求を受領した場合の動作の一例を示すフローチャートである。6 is a flowchart illustrating an example of an operation when a cache node receives a data request from a higher-level device in an embodiment of the present invention. 本発明の一実施例の動作手順を説明するための図である。It is a figure for demonstrating the operation | movement procedure of one Example of this invention. 本発明の一実施例の動作手順を説明するための図である。It is a figure for demonstrating the operation | movement procedure of one Example of this invention. 本発明の一実施例の書き込み手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the write-in procedure of one Example of this invention. 本発明の一実施例の書き込み手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the write-in procedure of one Example of this invention. 本発明の一実施例の書き込み手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the write-in procedure of one Example of this invention. 本発明の一実施例の読み出し手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the read-out procedure of one Example of this invention. 本発明の一実施例の読み出し手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the read-out procedure of one Example of this invention. 本発明の一実施例の読み出し手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the read-out procedure of one Example of this invention. 本発明の第3の実施例におけるキャッシュノードの構成を示す図である。It is a figure which shows the structure of the cache node in the 3rd Example of this invention. 本発明の第3の実施例における記憶制御ノードの構成を示す図である。It is a figure which shows the structure of the storage control node in 3rd Example of this invention. 本発明の第4の実施例の構成を示す図である。It is a figure which shows the structure of the 4th Example of this invention. 本発明の第4の実施例のノードの構成を示す図である。It is a figure which shows the structure of the node of the 4th Example of this invention. 本発明の第1の実施例のキャッシュ制御情報の構成を示す図である。It is a figure which shows the structure of the cache control information of 1st Example of this invention. 本発明の第1の実施例のページタグの構成を示す図である。It is a figure which shows the structure of the page tag of 1st Example of this invention. 本発明の第1の実施例のキャッシュ制御情報の構成を示す図である。It is a figure which shows the structure of the cache control information of 1st Example of this invention. 本発明の第1の実施例のキャッシュ制御情報の構成を示す図である。It is a figure which shows the structure of the cache control information of 1st Example of this invention. 本発明の第1の実施例のキャッシュ制御情報の構成を示す図である。It is a figure which shows the structure of the cache control information of 1st Example of this invention. 本発明の第2の実施例の論理記憶構成情報の構成を示す図である。It is a figure which shows the structure of the logical storage structure information of 2nd Example of this invention. 本発明の第2の実施例の論理記憶構成情報の構成を示す図である。It is a figure which shows the structure of the logical storage structure information of 2nd Example of this invention. 本発明の第2の実施例の論理記憶構成情報の構成を示す図である。It is a figure which shows the structure of the logical storage structure information of 2nd Example of this invention. 本発明の第2の実施例の制御管理情報の構成を示す図である。It is a figure which shows the structure of the control management information of 2nd Example of this invention. 本発明の第2の実施例の管理ノード構成情報の構成を示す図である。It is a figure which shows the structure of the management node structure information of 2nd Example of this invention. 本発明の第2の実施例において、キャッシュノードが上位装置からデータ要求を受領した場合の動作の一例を示すフローチャートである。11 is a flowchart illustrating an example of an operation when a cache node receives a data request from a higher-level device in the second exemplary embodiment of the present invention. 本発明の第5の実施例の読み出し手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the read-out procedure of the 5th Example of this invention. 本発明の第5の実施例の読み出し手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the read-out procedure of the 5th Example of this invention. 本発明の第6の実施例の書き込み手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the write-in procedure of the 6th Example of this invention. 本発明の第6の実施例の書き込み手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the write-in procedure of the 6th Example of this invention. 本発明の第6の実施例の書き込み手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the write-in procedure of the 6th Example of this invention. 本発明の第7の実施例の書き込み手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the write-in procedure of the 7th Example of this invention.

符号の説明Explanation of symbols

1 ストレージシステム
2、2a、2b、2c、2d キャッシュノード
3、3a、3b、3c、3d 記憶制御ノード
4 相互通信手段
5a,5b,5c,5d 上位装置接続パス
6a,6b,6c,6d ストレージ装置接続パス
7a、7b、7c、7d 上位装置
8a、8b、8c、8d ストレージ装置
9、9a、9b、9c、9d ノード
10 上位装置インターフェース手段
11 データ処理装置
111 コマンド制御手段
112 管理ノード特定手段
113 キャッシュ制御手段
12 ローカルメモリ
121 制御メモリ部
122 キャッシュページ部
13 コントローラ
131 キャッシュノード制御用プログラム
20 記憶装置インターフェース手段
21、91 データ処理装置
211 制御権管理手段
212 記憶装置制御手段
22、92 ローカルメモリ
221 制御メモリ部
222 制御権管理情報
23、93 コントローラ
30 ハッシュテーブル
31 ページタグ
40 アドレス情報
41 ページアドレス
42 ポインタ
90 入出力インターフェース手段
231 記憶制御ノード制御用プログラム
A1 管理ノード特定ステップ
A2 制御権要求ステップ
A3 制御権判定処理ステップ
A4 制御権登録ステップ
A5 制御権登録通知ステップ
A6 キャッシュページ排他処理ステップ
A7 キャッシュページ利用要求ステップ
A8 キャッシュページ排他処理ステップ
A9 キャッシュページ利用通知ステップ
DESCRIPTION OF SYMBOLS 1 Storage system 2, 2a, 2b, 2c, 2d Cache node 3, 3a, 3b, 3c, 3d Storage control node 4 Intercommunication means 5a, 5b, 5c, 5d Host apparatus connection path 6a, 6b, 6c, 6d Storage apparatus Connection path 7a, 7b, 7c, 7d Host device 8a, 8b, 8c, 8d Storage device 9, 9a, 9b, 9c, 9d Node 10 Host device interface means 11 Data processing device 111 Command control means 112 Management node specifying means 113 Cache Control unit 12 Local memory 121 Control memory unit 122 Cache page unit 13 Controller 131 Cache node control program 20 Storage device interface unit 21, 91 Data processing unit 211 Control right management unit 212 Storage device control unit 22, 9 2 Local memory 221 Control memory unit 222 Control right management information 23, 93 Controller 30 Hash table 31 Page tag 40 Address information 41 Page address 42 Pointer 90 Input / output interface means 231 Storage control node control program A1 Management node specifying step A2 Control right Request step A3 Control right determination processing step A4 Control right registration step A5 Control right registration notification step A6 Cache page exclusion processing step A7 Cache page usage request step A8 Cache page exclusion processing step A9 Cache page usage notification step

Claims (87)

少なくとも1つのキャッシュメモリと、複数の処理部とを有するキャッシュ制御システムであって、
キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に関して、どの処理部が制御権を有するかを管理する処理部(「管理処理部」という)を備え、
第一の処理部が、該当する単位領域に関する制御権を持たない場合、前記第一の処理部は、前記管理処理部に対して、該当する単位領域または単位領域内の所定のデータを識別する情報を含む第一の信号を送信する手段を備え、
前記管理処理部は、
前記第一の処理部からの前記第一の信号を受け、前記単位領域の制御権を現在どの処理部で有するかを記憶管理する記憶部を参照して、前記制御権を有する処理部を検索する手段と、
前記検索の結果、該当する単位領域に関する制御権を有する第二の処理部が存在する場合には、前記第二の処理部に対して、該当する単位領域または前記単位領域内のデータを識別する情報を含む第二の信号を送信する手段と、
を備え、
前記第二の処理部は、前記管理処理部からの前記第二の信号を受け、前記第一の処理部に、該当する単位領域内のデータに対応するキャッシュメモリのキャッシュ領域へアクセスするための情報を与える手段を備え、
前記第一の処理部は、前記第二の処理部より与えられた情報に基づき、処理対象のキャッシュ領域をアクセスする、ことを特徴とするキャッシュ制御システム。
A cache control system having at least one cache memory and a plurality of processing units,
With respect to a unit area that is uniquely determined from the address of predetermined data in the address space to be cached, a processing unit (referred to as a `` management processing unit '') that manages which processing unit has control right,
When the first processing unit does not have the control right for the corresponding unit area, the first processing unit identifies the corresponding unit area or predetermined data in the unit area to the management processing unit. Means for transmitting a first signal containing information,
The management processing unit
Receiving the first signal from the first processing unit and referring to a storage unit that stores and manages which processing unit currently has the control right of the unit area, searches for the processing unit having the control right Means to
As a result of the search, if there is a second processing unit having a control right for the corresponding unit region, the corresponding unit region or data in the unit region is identified with respect to the second processing unit. Means for transmitting a second signal containing information;
With
The second processing unit receives the second signal from the management processing unit, and accesses the first processing unit to access a cache area of a cache memory corresponding to data in the corresponding unit area. A means of giving information,
The cache control system, wherein the first processing unit accesses a processing target cache area based on information given from the second processing unit.
前記制御権を有する前記第二の処理部は、前記管理処理部からの信号を受け、前記単位領域内の所定のデータに関する更新を前記第一の処理部のみに許可し、他の処理部が更新することを許可しないよう保つ手段を備える、ことを特徴とする請求項1記載のキャッシュ制御システム。   The second processing unit having the control right receives a signal from the management processing unit, permits only the first processing unit to update the predetermined data in the unit area, and other processing units The cache control system according to claim 1, further comprising means for keeping the update from being permitted. 前記管理処理部は、前記検索の結果、前記単位領域に関する制御権を有する処理部が存在しない場合には、前記制御権を要求した第一の処理部に前記制御権を付与する手段を備えている、ことを特徴とする請求項1記載のキャッシュ制御システム。   The management processing unit includes means for granting the control right to the first processing unit that has requested the control right when there is no processing unit having the control right regarding the unit area as a result of the search. The cache control system according to claim 1, wherein: 前記複数の処理部は、通信手段を介して相互に接続される複数のノードに備えられ、
前記単位領域内のデータを一時保存するキャッシュメモリを、1つ以上のノード内に設ける、ことを特徴とする請求項1記載のキャッシュ制御システム。
The plurality of processing units are provided in a plurality of nodes connected to each other via communication means,
The cache control system according to claim 1, wherein a cache memory for temporarily storing data in the unit area is provided in one or more nodes.
前記複数の処理部は、通信手段を介して相互に接続される複数のノードに備えられ、
前記キャッシュメモリは、前記複数ノードで共有される共有メモリに格納される、ことを特徴とする請求項1記載のキャッシュ制御システム。
The plurality of processing units are provided in a plurality of nodes connected to each other via communication means,
The cache control system according to claim 1, wherein the cache memory is stored in a shared memory shared by the plurality of nodes.
前記第一の処理部は、前記単位領域と、前記単位領域の処理部との対応を記憶した構成情報を参照して、前記管理処理部を特定する、ことを特徴とする請求項1記載のキャッシュ制御システム。   The said 1st process part identifies the said management process part with reference to the structure information which memorize | stored the correspondence with the said unit area | region and the process part of the said unit area, The said process part is characterized by the above-mentioned. Cache control system. 前記第一の処理部は、前記単位領域の制御権を、前記第一の処理部で有するか否か判定する手段を備えている、ことを特徴とする請求項1記載のキャッシュ制御システム。   The cache control system according to claim 1, wherein the first processing unit includes a unit that determines whether or not the first processing unit has the right to control the unit area. 前記管理処理部は、前記単位領域と、前記単位領域の制御権を有する処理部との対応を記憶した制御情報を検索して、前記単位領域の制御権を有する前記第二の処理部を特定する、ことを特徴とする請求項1記載のキャッシュ制御システム。   The management processing unit searches the control information storing the correspondence between the unit area and the processing unit having the control right of the unit area, and specifies the second processing unit having the control right of the unit area The cache control system according to claim 1, wherein: 前記第一の処理部は、前記単位領域をキャッシュのページ単位とし、上位処理手段から要求されたデータを識別する情報から、キャッシュのヒットチェックを行うことで、前記単位領域の制御権を、前記第一の処理部で有するか否か判定する手段を備えることを特徴とする請求項1記載のキャッシュ制御システム。   The first processing unit sets the unit area as a page unit of the cache, and performs a hit check of the cache from information for identifying data requested by the upper processing means, thereby giving the right to control the unit area. 2. The cache control system according to claim 1, further comprising means for determining whether or not the first processing unit has. 複数の処理部により少なくとも1つ以上のキャッシュメモリのキャッシュ制御を行う方法であって、
第一の処理部において、キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に対する制御権を持たない場合、前記第一の処理部は、前記複数の処理部のどの処理部が前記単位領域に対する制御権を有するかを管理する処理部(「管理処理部」という)に対して、該当する単位領域または該当する単位領域内の所定のデータを識別する情報を含む第一の信号を送信する工程と、
前記管理処理部は、前記第一の処理部からの前記第一の信号を受け、前記単位領域に関する制御権を現在どの処理部で有するかを記憶管理する記憶部を参照して、前記制御権を有する処理部を検索する工程と、
該当の単位領域に関する制御権を有する第二の処理部が存在する場合には、前記第二の処理部に対して、該当する単位領域または単位領域内の所定のデータを識別する情報を含む第二の信号を送信する工程と、
前記第二の処理部は、前記管理処理部からの前記第二の信号を受け、前記第一の処理部に、該当する単位領域内の所定のデータに対応するキャッシュ領域へアクセスするための情報を与える工程と、
前記第一の処理部は、前記第二の処理部より与えられた情報に基づき、処理対象のキャッシュ領域をアクセスする工程と、
を含む、ことを特徴とするキャッシュ制御方法。
A method of performing cache control of at least one cache memory by a plurality of processing units,
When the first processing unit does not have a control right for a unit area uniquely determined from an address of predetermined data in the address space to be cached, the first processing unit determines which of the plurality of processing units For a processing unit that manages whether the processing unit has control over the unit area (referred to as a “management processing unit”), information that identifies the corresponding unit area or predetermined data in the corresponding unit area Transmitting a single signal;
The management processing unit receives the first signal from the first processing unit, refers to a storage unit that stores and manages which processing unit currently has the control right for the unit area, and controls the control right. Searching for a processing unit having
When there is a second processing unit having a control right for the corresponding unit area, the second processing unit includes information for identifying the corresponding unit area or predetermined data in the unit area. Transmitting a second signal;
The second processing unit receives the second signal from the management processing unit, and information for accessing the first processing unit to a cache area corresponding to predetermined data in the corresponding unit area A process of providing
The first processing unit is configured to access a cache area to be processed based on the information given by the second processing unit;
A cache control method comprising:
前記制御権を有する第二の処理部は、前記管理処理部からの指示を受け、前記単位領域内の所定のデータに対応するキャッシュ領域のアクセスを、前記第一の処理部に許可する工程を有する、ことを特徴とする請求項10記載のキャッシュ制御方法。   The second processing unit having the control right receives the instruction from the management processing unit and permits the first processing unit to access the cache area corresponding to the predetermined data in the unit area. 11. The cache control method according to claim 10, further comprising: 前記管理処理部は、前記検索の結果、前記単位領域の制御権を有する第二の処理部が存在しない場合には、前記制御権を要求した前記第一の処理部に、前記単位領域に対する制御権を付与する工程を含む、ことを特徴とする請求項10記載のキャッシュ制御方法。   If there is no second processing unit having the right to control the unit area as a result of the search, the management processing unit controls the unit area to the first processing unit that has requested the control right. The cache control method according to claim 10, further comprising a step of granting a right. 前記第一の処理部が、前記単位領域と、前記単位領域との対応を記憶した構成情報を参照して、前記管理処理部を特定する、ことを特徴とする請求項10記載のキャッシュ制御方法。   The cache control method according to claim 10, wherein the first processing unit specifies the management processing unit with reference to configuration information in which a correspondence between the unit area and the unit area is stored. . 前記管理処理部は、前記単位領域と、前記単位領域の制御権を有する処理部との対応を記憶した制御情報を検索して、前記単位領域の制御権を有する前記第二の処理部を特定する、ことを特徴とする請求項10記載のキャッシュ制御方法。   The management processing unit searches the control information storing the correspondence between the unit area and the processing unit having the control right of the unit area, and specifies the second processing unit having the control right of the unit area The cache control method according to claim 10, wherein: 前記単位領域内の所定のデータに対応するキャッシュ領域のアクセス終了後、前記要求元の第一の処理部が、前記キャッシュ領域の使用完了を通知する、ことを特徴とする請求項10記載のキャッシュ制御方法。   11. The cache according to claim 10, wherein after the access to the cache area corresponding to the predetermined data in the unit area ends, the first processing unit of the request source notifies the use completion of the cache area. Control method. 前記制御権を有する前記第二の処理部は、前記第一の処理部からの、前記キャッシュ領域の使用完了の通知を受け、前記第一の処理部の前記キャッシュ領域のアクセスの許可を解除する、ことを特徴とする請求項10記載のキャッシュ制御方法。   The second processing unit having the control right receives a notification of completion of use of the cache area from the first processing unit, and cancels the permission of the cache area access of the first processing unit. The cache control method according to claim 10. 前記第一の処理部は、前記単位領域の制御権を、前記第一の処理部に有するか否か判定する工程を有する、ことを特徴とする請求項10記載のキャッシュ制御方法。   The cache control method according to claim 10, wherein the first processing unit includes a step of determining whether or not the first processing unit has the right to control the unit area. 前記第一の処理部は、単位領域をキャッシュのページ単位とし、上位処理手段から要求されたデータを識別する情報から、キャッシュのヒットチェックを行うことで、前記単位領域の制御権を、前記第一の処理部に有するか否か判定する工程を有する、ことを特徴とする請求項10記載のキャッシュ制御方法。   The first processing unit uses the unit area as a page unit of the cache, and performs a cache hit check from information for identifying data requested by the higher-level processing means, thereby granting the right to control the unit area. The cache control method according to claim 10, further comprising a step of determining whether or not the processing unit has one processing unit. 上位装置に接続され入出力処理を行うキャッシュを有する複数のキャッシュノードと、複数のストレージ装置と、前記複数のストレージ装置に接続され入出力処理を行う複数の記憶制御ノードと、を備え、
前記いずれかのノードにおいて、上位処理手段から要求される所定のデータを識別する情報から一意的に決定される単位領域に関し、どのキャッシュノードが制御権を有するかを管理する手段を備えている、ことを特徴とするストレージシステム。
A plurality of cache nodes having a cache connected to a host device and performing input / output processing; a plurality of storage devices; and a plurality of storage control nodes connected to the plurality of storage devices and performing input / output processing;
In any one of the nodes, there is provided means for managing which cache node has a control right with respect to a unit area uniquely determined from information for identifying predetermined data requested by the upper processing means. A storage system characterized by that.
前記キャッシュノードは、前記上位装置からのデータ要求を受けて、前記キャッシュノード内のキャッシュを検索し、キャッシュヒットの場合、前記キャッシュノードのキャッシュ領域を用いて、上位装置からの前記データ要求に対応するデータアクセスを行う、ことを特徴とする請求項19記載のストレージシステム。   The cache node receives a data request from the host device, searches the cache in the cache node, and responds to the data request from the host device using a cache area of the cache node in the case of a cache hit 20. The storage system according to claim 19, wherein the data access is performed. 前記上位装置からのデータ要求を受けた第一のキャッシュノードにおいて、前記データ要求から一意的に決定される単位領域から特定される記憶制御ノードに、単位領域の制御権を要求し、当該制御権を持つ第二のキャッシュノードが存在する場合には、前記第二のキャッシュノードに、第一のキャッシュノード以外のアクセスを禁止させ、該制御権を持つ第二のキャッシュノードの該当するキャッシュ領域を用いて、前記上位装置のデータ要求を処理し、前記制御権を持つ第二のキャッシュノードが存在しない場合には、前記制御権を、第一のキャッシュノードに付与したことを登録して通知させ、
前記制御権が付与された第一のキャッシュノードは、前記第一のキャッシュノードのキャッシュを用いて、前記キャッシュ領域の入出力の処理を行う、ことを特徴とする請求項19又は20記載のストレージシステム。
In the first cache node that has received the data request from the host device, the storage control node specified from the unit area uniquely determined from the data request is requested to control the unit area, and the control right If there is a second cache node having the above, the second cache node is prohibited from accessing other than the first cache node, and the corresponding cache area of the second cache node having the control right is set. And processing the data request of the host device, and registering and notifying that the control right is granted to the first cache node when there is no second cache node having the control right. ,
21. The storage according to claim 19 or 20, wherein the first cache node to which the control right is given performs input / output processing of the cache area using a cache of the first cache node. system.
前記制御の許可が、前記単位領域を、一つのキャッシュノードが制御する許可である制御権よりなり、
前記制御権は、前記単位領域をキャッシュページ単位に対応付けて、キャッシュノードに割当てられ、
一つ又は複数の前記記憶制御ノードにおいて、ある制御権がどのキャッシュノードに割当てられているかを管理する、ことを特徴とする請求項19乃至21のいずれか一に記載のストレージシステム。
The control permission includes a control right that is a permission for one cache node to control the unit area,
The control right is assigned to a cache node by associating the unit area with a cache page unit,
The storage system according to any one of claims 19 to 21, which manages to which cache node a certain control right is assigned in one or a plurality of the storage control nodes.
前記制御権を持つキャッシュノードは、キャッシュの制御の許可を持ち、
前記制御権を持たないキャッシュノードは、前記制御権を持つキャッシュノードが存在する場合に、前記制御権を持つキャッシュノードの該当するキャッシュページに対して、データ要求に応じて読み出し又は書き込みを行う、ことを特徴とする請求項22記載のストレージシステム。
The cache node having the control right has permission to control the cache,
The cache node not having the control right reads or writes the corresponding cache page of the cache node having the control right in response to a data request when the cache node having the control right exists. The storage system according to claim 22,
キャッシュヒット時に、前記キャッシュノードは、データ読み出し要求の場合、該当するキャッシュページからデータを前記上位装置に転送し、
データ書き込み要求の場合、該当するキャッシュページにデータを書き込んだ時点で、前記上位装置に対して、処理の完了を返し、前記データを前記ストレージ装置に書き込む、ことを特徴とする請求項19記載のストレージシステム。
At the time of a cache hit, in the case of a data read request, the cache node transfers data from the corresponding cache page to the host device,
20. In the case of a data write request, when data is written to a corresponding cache page, processing completion is returned to the higher-level device, and the data is written to the storage device. Storage system.
キャッシュミスの場合、前記制御権を管理するキャッシュノードへ通知し、
該当するキャッシュページの制御権を保持するキャッシュノードが存在する場合には、前記キャッシュノードは、データ読み出し要求であれば、前記制御権を保持するキャッシュノードの該当するキャッシュページから、相互通信手段を経由して、データを転送する、ことを特徴とする請求項22記載のストレージシステム。
In the case of a cache miss, notify the cache node that manages the control right,
If there is a cache node that holds the control right of the corresponding cache page, if the cache node is a data read request, the mutual communication means is started from the corresponding cache page of the cache node that holds the control right. 23. The storage system according to claim 22, wherein the data is transferred via the network.
上位装置からのデータ書き込み要求に対して、前記上位装置からの書き込みデータを、相互通信手段を経由して制御権を保持するキャッシュノードの該当するキャッシュページにデータを書き込み、
前記上位装置に対して処理の完了を返し、前記上位装置からの書き込みデータを前記ストレージ装置に書き込む、ことを特徴とする請求項22記載のストレージシステム。
In response to a data write request from the host device, the write data from the host device is written to the corresponding cache page of the cache node holding the control right via the mutual communication means,
23. The storage system according to claim 22, wherein completion of processing is returned to the host device, and write data from the host device is written to the storage device.
前記キャッシュノードが、
前記上位装置と接続され、前記上位装置からのデータ読み出し要求またはデータ書き込み要求を受信し、前記上位装置とキャッシュノードとの間のデータの入出力を処理する上位装置インターフェース手段と、
データ処理装置と、
を備え、
前記データ処理装置は、
前記上位装置インターフェース手段が受信した前記上位装置からのデータ読み出し要求またはデータ書き込み要求のコマンドを受け取り、前記コマンドに応じた処理を制御するコマンド制御手段と、上位装置からのデータ読み出し要求またはデータ書き込み要求から一意的に決定される単位領域を一つのキャッシュノードが制御する許可である制御権を管理するノードを特定する制御権管理ノード特定手段と、
ローカルメモリと、
キャッシュの検索処理、及び、前記ローカルメモリに格納されたキャッシュを管理制御するキャッシュ制御手段と、
論理記憶空間がどの記憶制御ノードに割当てられているかを示す記憶空間構成情報と、キャッシュの管理情報と、キャッシュノードの制御情報を格納する制御メモリ部と、
前記上位装置との間で入出力されるデータを、ページ単位に一時的に格納するキャッシュページ部と、
を備え、
キャッシュノードのデータ通信を制御し、相互通信手段を介して他のキャッシュノードおよび記憶制御ノードとの通信も処理するコントローラと、
を備えている、ことを特徴とする請求項22記載のストレージシステム。
The cache node is
A host device interface means connected to the host device, receiving a data read request or data write request from the host device, and processing data input / output between the host device and a cache node;
A data processing device;
With
The data processing device includes:
A command control means for receiving a data read request or data write request command received from the host apparatus received by the host apparatus interface means and controlling processing according to the command; and a data read request or data write request from the host apparatus A control right management node specifying means for specifying a node that manages a control right that is a permission for one cache node to control a unit area that is uniquely determined from:
Local memory,
Cache search processing, and cache control means for managing and controlling the cache stored in the local memory;
Storage space configuration information indicating to which storage control node a logical storage space is assigned, cache management information, a control memory unit for storing cache node control information,
A cache page unit that temporarily stores data input / output to / from the host device in units of pages;
With
A controller that controls data communication of the cache node and also handles communication with other cache nodes and storage control nodes via intercommunication means;
The storage system according to claim 22, comprising:
前記記憶制御ノードは、
少なくとも一つのストレージ装置と接続され、前記ストレージ装置と記憶制御ノードの間のデータの入出力を行うストレージ装置インターフェース手段と、
データ処理装置と、
を備え、
前記データ処理装置は、
前記ストレージ装置への入出力コマンド処理を制御するストレージ装置制御手段と、
前記上位装置からのデータ読み出し要求またはデータ書き込み要求から一意的に決定される単位領域を一つのキャッシュノードが制御する許可である制御権に関して、複数のキャッシュノードからの制御権に対する処理要求を実行する制御権管理手段と、
記憶制御ノードの制御情報やストレージシステムの装置構成情報を格納する制御メモリ部と、
キャッシュページ単位毎に、制御権をどのノードが持つかを示す制御権制御情報と、を備えたローカルメモリと、
相互通信手段に接続され、他のキャッシュノードおよび記憶制御ノードとの通信を制御するコントローラと、
を備えている、ことを特徴とする請求項22記載のストレージシステム。
The storage control node is
Storage device interface means connected to at least one storage device and performing data input / output between the storage device and the storage control node;
A data processing device;
With
The data processing device includes:
Storage device control means for controlling input / output command processing to the storage device;
A processing request for a control right from a plurality of cache nodes is executed with respect to a control right which is a permission for one cache node to control a unit area uniquely determined from a data read request or a data write request from the host device. Control right management means;
A control memory unit for storing storage control node control information and storage system device configuration information;
Local memory having control right control information indicating which node has control right for each cache page;
A controller connected to the mutual communication means and controlling communication with other cache nodes and storage control nodes;
The storage system according to claim 22, comprising:
前記キャッシュノードにおいて、
前記上位装置インターフェース手段が、前記上位装置からのデータ読み出し要求又はデータ書込み要求のコマンドを受け取り、
前記コマンド制御手段が、前記コマンドを解析し、
前記キャッシュ制御手段が、前記コマンド制御手段の解析結果を受けて、該要求のデータが該当するキャッシュページが既にキャッシュページ部にあるか否か、前記制御メモリ部を検索して判定し、
前記判定の結果、該当するキャッシュページが前記キャッシュページ部上に存在する場合、該キャッシュページを排他処理した後、データ読み出し要求であれば、該当するデータを前記キャッシュページ部の当該キャッシュページより読み出して前記上位装置へ転送し、
データ書込み要求であれば、前記上位装置より送られたデータを、前記キャッシュページ部の該当キャッシュページに書き込む、ことを特徴とする請求項27記載のストレージシステム。
In the cache node,
The host device interface means receives a data read request or data write request command from the host device,
The command control means analyzes the command,
The cache control means receives the analysis result of the command control means, and determines whether or not the cache page corresponding to the requested data is already in the cache page part by searching the control memory part,
As a result of the determination, if the corresponding cache page exists on the cache page portion, after the cache page is exclusively processed, if it is a data read request, the corresponding data is read from the cache page of the cache page portion. Transfer to the host device,
28. The storage system according to claim 27, wherein if it is a data write request, the data sent from the host device is written to the corresponding cache page of the cache page portion.
前記キャッシュノードにおいて、
該当するキャッシュページがキャッシュページ部に存在しない場合、前記制御権管理ノード特定手段により、該当ページに対する制御権の要求を通知すべき制御権管理ノードを特定し、
前記制御権管理ノード特定手段は、前記制御メモリ部に格納された記憶空間構成情報を参照し、制御権要求を通知すべき制御権管理ノードである記憶制御ノードを特定し、
該当する制御権管理ノードを特定した後、前記コントローラに通知を指示し、前記相互通信手段を介して特定した記憶制御ノードへ制御権の要求を通知する、ことを特徴とする請求項27記載のストレージシステム。
In the cache node,
If the corresponding cache page does not exist in the cache page part, the control right management node specifying means specifies the control right management node to be notified of the control right request for the corresponding page,
The control right management node specifying means refers to the storage space configuration information stored in the control memory unit, specifies a storage control node that is a control right management node to be notified of the control right request,
28. After specifying a corresponding control right management node, the controller is instructed to notify, and the control right request is notified to the specified storage control node via the mutual communication means. Storage system.
前記制御権の要求の通知を受ける記憶制御ノードにおいて、
前記コントローラが、前記制御権要求を受信し、
前記制御権管理手段が、該制御権の要求を判断し、制御権の判定の処理を行い、その際、前記制御権管理手段は、制御権管理情報を検索して、該当するページの論理アドレスがあるかを判定し、
該制御権要求のデータに対応するページの制御権保持ノードが存在しなかった場合、要求元のキャッシュノードを、該ページ領域のマスタとして新たに制御権を付与して、制御権管理情報に登録し、
該制御権を登録後、前記コントローラに通知を指示し、前記相互通信手段を介して制御権を登録したことを要求元のキャッシュノードに通知する、ことを特徴とする請求項28記載のストレージシステム。
In the storage control node that receives the request for the control right,
The controller receives the control request,
The control right management means determines a request for the control right and performs a control right determination process. At this time, the control right management means searches the control right management information to find the logical address of the corresponding page. Determine whether there is
If there is no control right holding node for the page corresponding to the control right request data, the requesting cache node is newly granted control right as the master of the page area and registered in the control right management information And
29. The storage system according to claim 28, wherein after registering the control right, the controller instructs the controller to notify, and notifies the requesting cache node that the control right has been registered via the mutual communication means. .
制御権が与えられたことを受信したキャッシュノードは、自キャッシュノード内で該当するキャッシュページを確保して排他処理を行い、
前記上位装置からの要求がデータ読み出し要求であれば、記憶制御ノードに該当するデータのストレージ装置より読み出しを指示し、キャッシュノードの該当キャッシュページに格納し、前記上位装置へ転送する、ことを特徴とする請求項19記載のストレージシステム。
The cache node that has received the control right secures the corresponding cache page in its own cache node and performs exclusive processing.
If the request from the higher-level device is a data read request, the storage control node is instructed to read the data corresponding to the storage control node, is stored in the corresponding cache page of the cache node, and is transferred to the higher-level device. The storage system according to claim 19.
前記上位装置からの要求がデータ書き込み要求であれば、前記上位装置より送られたデータを該当するキャッシュページに書き込み、前記上位装置に対して、処理の完了を返し、前記データをストレージ装置に書き込み、
前記上位装置の要求処理完了後、キャッシュノードのキャッシュ制御手段は、制御メモリ部のキャッシュ管理情報を更新し、排他を解除する、ことを特徴とする請求項27記載のストレージシステム。
If the request from the host device is a data write request, the data sent from the host device is written to the corresponding cache page, the processing completion is returned to the host device, and the data is written to the storage device. ,
28. The storage system according to claim 27, wherein after completion of the request processing of the host device, the cache control means of the cache node updates the cache management information of the control memory unit and releases the exclusion.
前記記憶制御ノードは、前記制御権管理情報を検索して該当するページの論理アドレスを見つけ、制御権保持ノードが存在することが判明した場合、前記制御権保持ノードに対して、制御権要求元ノードであるキャッシュノードの該当キャッシュページの利用要求を指示し、
前記記憶制御ノードの制御権管理手段は、前記コントローラに通知を指示し、前記相互通信手段を介して、キャッシュノードに該当キャッシュページの利用要求を通知し、
前記制御権保持ノードをなすキャッシュノードにおいて、
前記コントローラにて、前記記憶制御ノードより、キャッシュノードの該当キャッシュページの利用要求を受け取り、
前記キャッシュ制御手段が、該当キャッシュページを排他処理し、キャッシュページへアクセスするためのアドレス情報を、前記コントローラから制御権要求元ノードであるキャッシュノードに対して相互通信手段を介し通知し、
前記アドレス情報の通知を受けたキャッシュノードは、
前記上位装置からの要求がデータ読み出し要求であれば、キャッシュノードの該当キャッシュページに格納されたデータを上位装置へ転送し、
前記上位装置からの要求がデータ書き込み要求であれば、前記上位装置より送られたデータをキャッシュノードの該当するキャッシュページに書き込み、上位装置に対して処理の完了を返し、前記データをストレージ装置に書き込む、ことを特徴とする請求項28記載のストレージシステム。
The storage control node searches the control right management information to find the logical address of the corresponding page, and if it is found that the control right holding node exists, the storage control node requests the control right holding node Instruct the use request of the corresponding cache page of the cache node that is the node,
The control right management means of the storage control node instructs the controller to notify, via the mutual communication means, notifies the cache node of a request to use the corresponding cache page,
In the cache node forming the control right holding node,
In the controller, a request to use the corresponding cache page of the cache node is received from the storage control node,
The cache control means performs exclusive processing on the corresponding cache page, and notifies the address information for accessing the cache page from the controller to the cache node that is the control right request source node via the mutual communication means,
The cache node that has received the notification of the address information
If the request from the host device is a data read request, the data stored in the corresponding cache page of the cache node is transferred to the host device,
If the request from the host device is a data write request, the data sent from the host device is written to the corresponding cache page of the cache node, the processing completion is returned to the host device, and the data is sent to the storage device. The storage system according to claim 28, wherein the storage system is written.
前記キャッシュノードと、前記記憶制御ノードとを一体のノードに構成してなる、ことを特徴とする請求項19乃至34のいずれか一に記載のストレージシステム。   The storage system according to any one of claims 19 to 34, wherein the cache node and the storage control node are configured as an integrated node. 上位装置に接続され入出力処理を行う、キャッシュを有する複数のキャッシュノードと、
複数のストレージ装置と、
複数のストレージ装置に接続され入出力処理を行う複数の記憶制御ノードと、
を備えたストレージシステムのキャッシュ制御方法であって、
前記いずれかのノードにおいて、上位装置から要求されたデータを識別する情報から一意的に決定される単位領域毎に、どのキャッシュノードがキャッシュ制御の許可を有するかを管理する工程を含む、ことを特徴とするストレージシステムのキャッシュ制御方法。
A plurality of cache nodes having a cache connected to a host device and performing input / output processing;
Multiple storage devices,
A plurality of storage control nodes connected to a plurality of storage devices and performing input / output processing;
A storage system cache control method comprising:
In any one of the nodes, including a step of managing which cache node has permission for cache control for each unit area uniquely determined from information for identifying data requested by a host device. A storage system cache control method.
前記キャッシュノードが、前記上位装置からのデータ要求を受けて、前記キャッシュノードでキャッシュを検索する工程と、
キャッシュヒットの場合、前記キャッシュノードは、キャッシュ領域を用いてデータアクセスを行う工程を特徴とする請求項36記載のストレージシステムのキャッシュ制御方法。
The cache node receiving a data request from the host device and searching the cache with the cache node;
37. The storage system cache control method according to claim 36, wherein, in the case of a cache hit, the cache node performs a data access using a cache area.
前記キャッシュノードが、前記上位装置からのデータ要求を受けて、前記キャッシュノードでキャッシュを検索する工程と、
キャッシュミスヒットの場合、前記キャッシュノードは、該当する記憶制御ノードに所定の許可を要求し、該許可を持つキャッシュノードが存在する場合、該許可を持つキャッシュノードに排他処理させ、該許可を持つキャッシュノードの該当するキャッシュ領域を用いて、前記上位装置のデータ要求を処理する工程と、
該許可を持つキャッシュノードが無い場合、前記キャッシュノードは、該当する許可を、要求元のキャッシュノードに付与したことを登録して通知させる工程と、
該当する許可が付与されたキャッシュノードは、該キャッシュノードのキャッシュでキャッシュ制御する工程と、
を含む、ことを特徴とする請求項36記載のストレージシステムのキャッシュ制御方法。
The cache node receiving a data request from the host device and searching the cache with the cache node;
In the case of a cache miss hit, the cache node requests a predetermined permission from the corresponding storage control node, and if there is a cache node having the permission, the cache node having the permission performs exclusive processing and has the permission. Processing the data request of the host device using the corresponding cache area of the cache node;
If there is no cache node having the permission, the cache node registers and notifies that the corresponding permission is granted to the requesting cache node; and
A cache node to which the corresponding permission is given, a step of performing cache control with the cache of the cache node;
The cache control method for a storage system according to claim 36, further comprising:
前記上位装置からのデータ読み出し要求またはデータ書き込み要求から一意的に決定される単位領域をある一つのノードだけがシステム内で制御する許可である制御権よりなり、
キャッシュページ単位に、所定のキャッシュノードに割当てられる制御権を、前記複数の記憶制御ノードにて、ある制御権がどのキャッシュノードに割当てられているかを管理する工程を含む、ことを特徴とする請求項36記載のストレージシステムのキャッシュ制御方法。
It consists of a control right that is a permission for only one node to control a unit area uniquely determined from a data read request or data write request from the host device,
The method includes managing a control right assigned to a predetermined cache node for each cache page, to which cache node a certain control right is assigned in the plurality of storage control nodes. Item 37. The cache control method for a storage system according to Item 36.
制御権を持つキャッシュノードは、他のキャッシュノードに通信することなく、キャッシュの制御が可能とされ、
制御権を持たないキャッシュノードは、制御権を持つキャッシュノードが存在する場合に、制御権を持つノードの該当するキャッシュページに対して、読み出しと書き込みを行う工程を含む、ことを特徴とする請求項36記載のストレージシステムのキャッシュ制御方法。
A cache node with control rights can control the cache without communicating with other cache nodes.
The cache node having no control right includes a step of reading and writing the corresponding cache page of the node having the control right when a cache node having the control right exists. Item 37. The cache control method for a storage system according to Item 36.
キャッシュヒット時に、該当するキャッシュページに対して制御権を具備するキャッシュノードは、データ読み出し要求であれば、該当するキャッシュページからデータを前記上位装置に転送し、データ書き込み要求であれば、該当するキャッシュページにデータを書き込んだ時点で、前記上位装置に対して、処理の完了を返し、該データを、前記ストレージ装置に書き込む工程を含む、ことを特徴とする請求項39記載のストレージシステムのキャッシュ制御方法。   When a cache hit occurs, the cache node having the control right for the corresponding cache page transfers the data from the corresponding cache page to the host device if it is a data read request, and applies if it is a data write request. 40. The storage system cache according to claim 39, further comprising a step of returning processing completion to the host device when data is written to a cache page and writing the data to the storage device. Control method. キャッシュミスの場合、制御権を管理するノードへ通知して、該当するキャッシュページの制御権を保持するノードが存在する場合には、要求を受理したキャッシュノードは、前記要求がデータ読み出し要求であれば、制御権を保持するノードの該当するキャッシュページから、相互通信手段を経由して、データを転送する工程を含む、ことを特徴とする請求項39記載のストレージシステムのキャッシュ制御方法。   In the case of a cache miss, the node that manages the control right is notified, and if there is a node that holds the control right of the corresponding cache page, the cache node that has accepted the request determines that the request is a data read request. 40. The storage system cache control method according to claim 39, further comprising a step of transferring data from the corresponding cache page of the node holding the control right via the mutual communication means. データ書き込み要求の場合、前記上位装置からの書き込みデータを、相互通信手段を経由して制御権保持ノードの該当するキャッシュページにデータを書き込み、前記上位装置に対して処理の完了を返し、前記データを、前記ストレージ装置に書き込む工程を含む、ことを特徴とする請求項39記載のストレージシステムのキャッシュ制御方法。   In the case of a data write request, the write data from the higher-level device is written into the corresponding cache page of the control right holding node via the mutual communication means, the processing completion is returned to the higher-level device, and the data 40. The storage system cache control method according to claim 39, further comprising a step of writing data into the storage device. 前記キャッシュノードにおいて、前記上位装置からのデータ読み出し要求又はデータ書き込み要求のコマンドを受け、コマンド制御手段にて、要求を解析する工程と、
前記解析結果を受けて、該要求のデータが該当するキャッシュページが既にキャッシュページ部にあるか否か、制御メモリ部を検索して判定する工程と、
該当するキャッシュページがキャッシュページ部上に存在する場合、該キャッシュページを排他処理した後、データ読み出し要求であれば、該当するデータをキャッシュページ部の当該キャッシュページより読み出して前記上位装置へ転送する工程と、
データ書込み要求であれば、前記上位装置より送られたデータをキャッシュページ部上の該当キャッシュページに書き込む工程と、
を含む、ことを特徴とする請求項36記載のストレージシステムのキャッシュ制御方法。
In the cache node, receiving a data read request or data write request command from the host device, and analyzing the request in command control means;
Receiving the analysis result and determining whether the cache page corresponding to the requested data is already in the cache page part by searching the control memory part; and
If the corresponding cache page exists on the cache page portion, after the cache page is exclusively processed, if it is a data read request, the corresponding data is read from the cache page in the cache page portion and transferred to the host device. Process,
If it is a data write request, writing the data sent from the host device to the corresponding cache page on the cache page section;
The cache control method for a storage system according to claim 36, further comprising:
該当するキャッシュページがキャッシュページ部上に存在しない場合、キャッシュノードは、該当ページに対する制御権の要求を通知すべき制御権管理ノードを特定する工程と、
前記制御メモリ部に格納された記憶空間構成情報を参照し、制御権要求を通知すべき制御権管理ノードである記憶制御ノードを特定し、該当する制御権管理ノードを特定した後に、前記特定した記憶制御ノードに対して制御権要求を通知する工程と、
前記制御権要求の通知を受ける記憶制御ノードでは、前記制御権要求を受信し、前記制御権要求を判断し、制御権判定の処理を行う工程と、
前記制御権管理情報を検索して、該当するページの論理アドレスが存在するか否か判定する工程と、
該制御権要求のデータに対応するページの制御権保持ノードが存在しなかった場合、要求してきたキャッシュノードを当該ページ領域のマスタとして新規に制御権を付与し、制御権管理情報に登録し、前記制御権の登録後に、制御権を登録したことを要求元のキャッシュノードに通知する工程と、
該当ページの制御権が与えられたことを受信したキャッシュノードは、自キャッシュノード内で該当するキャッシュページを確保して排他処理を行う工程と、
前記上位装置からの要求がデータ読み出し要求であれば、記憶制御ノードに該当するデータのストレージ装置より読み出しを指示し、キャッシュノードの該当キャッシュページに格納し、上位装置へ転送する工程と、
を含む、ことを特徴とする請求項39記載のストレージシステムのキャッシュ制御方法。
If the corresponding cache page does not exist on the cache page part, the cache node specifies a control right management node that should notify a request for control right for the corresponding page;
Referring to the storage space configuration information stored in the control memory unit, specify the storage control node that is the control right management node that should be notified of the control right request, specify the corresponding control right management node, and then specify the specified Notifying the storage control node of a control right request;
The storage control node that receives the notification of the control right request receives the control right request, determines the control right request, and performs a control right determination process;
Searching the control right management information to determine whether a logical address of the corresponding page exists;
If the control right holding node of the page corresponding to the control right request data does not exist, the requested cache node is newly assigned as the master of the page area, and registered in the control right management information, After registering the control right, notifying the requesting cache node that the control right has been registered;
The cache node that has received the control right for the corresponding page secures the corresponding cache page in its own cache node and performs an exclusive process;
If the request from the host device is a data read request, instructing the storage control node to read data corresponding to the storage control node, storing it in the corresponding cache page of the cache node, and transferring to the host device;
40. The storage system cache control method according to claim 39, further comprising:
上位装置からの要求がデータ書き込み要求であれば、上位装置より送られたデータを該当するキャッシュページに書き込む工程と、
前記上位装置に対して、処理の完了を返し、前記データをストレージ装置に書き込む工程と、
前記上位装置の要求処理完了後、前記キャッシュノードは、制御メモリ部のキャッシュ管理情報を更新し、排他を解除する、ことを特徴とする請求項36記載のストレージシステムのキャッシュ制御方法。
If the request from the host device is a data write request, the step of writing the data sent from the host device to the corresponding cache page;
Returning completion of processing to the host device and writing the data to a storage device;
37. The cache control method for a storage system according to claim 36, wherein, after completion of the request processing of the host device, the cache node updates the cache management information of the control memory unit and releases the exclusion.
前記制御権管理情報を検索して該当するページの論理アドレスがあり、制御権保持ノードがあった場合、記憶制御ノードは、制御権保持ノードに対し、制御権要求元ノードであるキャッシュノードの該当キャッシュページの利用要求を指示する工程と、
記憶制御ノードは、相互通信手段を介して、キャッシュノードに該当キャッシュページの利用要求を通知する工程と、
該当キャッシュページの制御権保持ノードであるキャッシュノードは、該キャッシュノードのコントローラにて、記憶制御ノードより、キャッシュノードの該当キャッシュページの利用要求を受け取り、前記キャッシュノードのキャッシュ制御手段にて、該当キャッシュページを排他する工程と、
該当キャッシュページの排他後、該当キャッシュページへアクセスするためのアドレス情報を、キャッシュノードのコントローラに、制御権要求元ノードであるキャッシュノードに対して通知を指示し、相互通信手段を介し通知する工程と、
該キャッシュページへアクセスするためのアドレス情報の通知を受けたキャッシュノードは、上位装置からの要求がデータ読み出し要求であれば、キャッシュノードの該当キャッシュページに格納されたデータを上位装置へ転送する工程と、
前記上位装置からの要求がデータ書き込み要求であれば、前記上位装置より送られたデータをキャッシュノードの該当するキャッシュページに書き込み、上位装置に対して処理の完了を返し、前記データをストレージ装置に書き込む工程と、
を含む、ことを特徴とする請求項39記載のストレージシステムのキャッシュ制御方法。
When the control right management information is retrieved and there is a logical address of the corresponding page, and there is a control right holding node, the storage control node, for the control right holding node, corresponds to the cache node that is the control right requesting node. A step of instructing a request to use a cache page;
The storage control node notifying the cache node of a request to use the corresponding cache page via the mutual communication means;
The cache node that is the control right holding node of the corresponding cache page receives the use request of the corresponding cache page of the cache node from the storage control node in the controller of the cache node, and the cache control unit of the cache node A process of excluding the cache page;
A step of instructing the cache node controller to notify the cache node that is the control right requesting source of the address information for accessing the cache page after exclusion of the cache page, and notifying it via the mutual communication means When,
The cache node that has received the notification of the address information for accessing the cache page transfers the data stored in the cache page of the cache node to the host device if the request from the host device is a data read request When,
If the request from the host device is a data write request, the data sent from the host device is written to the corresponding cache page of the cache node, the processing completion is returned to the host device, and the data is sent to the storage device. Writing process;
40. The storage system cache control method according to claim 39, further comprising:
少なくとも1つのキャッシュメモリと、複数の処理部とを有するキャッシュ制御システムであって、
キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に関して、どの処理部が制御権を有するかを管理する処理部(「管理処理部」という)を備え、
前記複数の処理部の少なくとも1つの処理部は、前記処理部がアクセス対象の単位領域に関する制御権を持たない場合、前記管理処理部に対して要求を発行する手段を備え、
前記管理処理部は、前記処理部からの要求を受け、前記単位領域の制御権を現在どの処理部が有しているか検索し、前記単位領域の制御権を有する処理部に、前記要求を発行した処理部に対して、前記単位領域内のデータに対応するキャッシュメモリのキャッシュ領域へアクセスするための情報を与えるように指示する手段を備えている、ことを特徴とするキャッシュ制御システム。
A cache control system having at least one cache memory and a plurality of processing units,
With respect to a unit area that is uniquely determined from the address of predetermined data in the address space to be cached, a processing unit (referred to as a `` management processing unit '') that manages which processing unit has control right,
At least one processing unit of the plurality of processing units includes means for issuing a request to the management processing unit when the processing unit does not have a control right related to a unit area to be accessed;
The management processing unit receives a request from the processing unit, searches which processing unit currently has the control right of the unit area, and issues the request to the processing unit having the control right of the unit area And a means for instructing the processing unit to give information for accessing the cache area of the cache memory corresponding to the data in the unit area.
少なくとも1つのキャッシュメモリと、複数の処理部とを有するシステムのキャッシュ制御方法であって、
前記複数の処理部のうちの少なくとも1つを、キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に関して、どの処理部が制御権を有するかを管理する処理部(「管理処理部」という)とし、
前記複数の処理部の少なくとも1つの処理部は、前記処理部がアクセス対象の単位領域に関する制御権を持たない場合、前記管理処理部に対して要求を発行する工程と、
前記管理処理部は、前記処理部からの要求を受け、前記単位領域の制御権を現在どの処理部が有しているか検索し、前記単位領域の制御権を有する処理部に、前記要求を発行した処理部に対して、前記単位領域内のデータに対応するキャッシュメモリのキャッシュ領域へアクセスするための情報を与えるように指示する工程と、
を含む、ことを特徴とするキャッシュ制御方法。
A cache control method for a system having at least one cache memory and a plurality of processing units,
A processing unit that manages at least one of the plurality of processing units with respect to a unit area that is uniquely determined from an address of predetermined data in an address space to be cached. `` Management processing department '')
At least one processing unit of the plurality of processing units issues a request to the management processing unit when the processing unit does not have a control right relating to a unit area to be accessed;
The management processing unit receives a request from the processing unit, searches which processing unit currently has the control right of the unit area, and issues the request to the processing unit having the control right of the unit area Instructing the processing unit to give information for accessing the cache area of the cache memory corresponding to the data in the unit area;
A cache control method comprising:
少なくとも1つのキャッシュメモリと、複数の処理部とを有するキャッシュ制御システムであって、
キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に関して、どの処理部が制御権を有するかを管理する処理部(「管理処理部」という)を備え、
第一の処理部が、該当する単位領域に関する制御権を持たない場合、前記第一の処理部は、前記管理処理部に対して、該当する単位領域または単位領域内の所定のデータを識別する情報を含む第一の信号を送信する手段を備え、
前記管理処理部は、
前記第一の処理部からの前記第一の信号を受け、前記単位領域の制御権を現在どの処理部で有するかを記憶管理する記憶部を参照して、前記制御権を有する処理部を検索する手段と、
前記検索の結果、該当する単位領域に関する制御権を有する第二の処理部が存在する場合には、前記第二の処理部に対して、該当する単位領域または前記単位領域内のデータの利用通知の第二の信号を送信する手段と、
を備え、
前記第二の処理部は、前記管理処理部からの前記第二の信号に応じて、該当する単位領域内のデータに対応するキャッシュメモリのキャッシュ領域のデータを、前記第一の処理部に与える手段を備えている、ことを特徴とするキャッシュ制御システム。
A cache control system having at least one cache memory and a plurality of processing units,
With respect to a unit area that is uniquely determined from the address of predetermined data in the address space to be cached, a processing unit (referred to as a `` management processing unit '') that manages which processing unit has control right,
When the first processing unit does not have the control right for the corresponding unit area, the first processing unit identifies the corresponding unit area or predetermined data in the unit area to the management processing unit. Means for transmitting a first signal containing information,
The management processing unit
Receiving the first signal from the first processing unit and referring to a storage unit that stores and manages which processing unit currently has the control right of the unit area, searches for the processing unit having the control right Means to
As a result of the search, when there is a second processing unit having a control right for the corresponding unit area, the usage notification of the corresponding unit area or data in the unit area is sent to the second processing unit. Means for transmitting a second signal of
With
The second processing unit gives the data in the cache area of the cache memory corresponding to the data in the corresponding unit area to the first processing unit in response to the second signal from the management processing unit. A cache control system comprising: means.
少なくとも1つのキャッシュメモリと、複数の処理部とを有するキャッシュ制御システムであって、
キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に関して、どの処理部が制御権を有するかを管理する処理部(「管理処理部」という)を備え、
第一の処理部が、該当する単位領域に関する制御権を持たない場合、前記第一の処理部は、前記管理処理部に対して、該当する単位領域または単位領域内の所定のデータを識別する情報を含む第一の信号を送信する手段を備え、
前記管理処理部は、
前記第一の処理部からの前記第一の信号を受け、前記単位領域の制御権を現在どの処理部で有するかを記憶管理する記憶部を参照して、前記制御権を有する処理部を検索する手段と、
前記検索の結果、該当する単位領域に関する制御権を有する第二の処理部が存在する場合には、前記第一の処理部に、前記第二の処理部が該当する単位領域に関する制御権を有することを通知するための第二の信号を送信する手段と、
を備え、
前記第一の処理部は、前記管理処理部からの前記第二の信号を受け、前記該当する単位領域内のデータに対応するキャッシュメモリのキャッシュ領域の利用通知を、前記第二の処理部に送信する手段をさらに備えている、ことを特徴とするキャッシュ制御システム。
A cache control system having at least one cache memory and a plurality of processing units,
With respect to a unit area that is uniquely determined from the address of predetermined data in the address space to be cached, a processing unit (referred to as a `` management processing unit '') that manages which processing unit has control right,
When the first processing unit does not have the control right for the corresponding unit area, the first processing unit identifies the corresponding unit area or predetermined data in the unit area to the management processing unit. Means for transmitting a first signal containing information,
The management processing unit
Receiving the first signal from the first processing unit and referring to a storage unit that stores and manages which processing unit currently has the control right of the unit area, searches for the processing unit having the control right Means to
As a result of the search, if there is a second processing unit having a control right for the corresponding unit area, the second processing unit has a control right for the corresponding unit area in the first processing unit. Means for transmitting a second signal for notifying
With
The first processing unit receives the second signal from the management processing unit, and notifies the second processing unit of a use notification of a cache area of the cache memory corresponding to the data in the corresponding unit area. A cache control system further comprising means for transmitting.
前記制御権を有する前記第二の処理部は、前記管理処理部からの信号を受け、前記単位領域内の所定のデータに関する更新を前記第一の処理部のみに許可し、他の処理部が更新することを許可しないように制御する手段を備える、ことを特徴とする請求項50又は51記載のキャッシュ制御システム。   The second processing unit having the control right receives a signal from the management processing unit, permits only the first processing unit to update the predetermined data in the unit area, and other processing units 52. The cache control system according to claim 50, further comprising means for controlling not to permit updating. 前記管理処理部は、前記検索の結果、前記単位領域に関する制御権を有する処理部が存在しない場合には、前記制御権を要求した第一の処理部に前記制御権を付与する手段を備えている、ことを特徴とする請求項50又は51記載のキャッシュ制御システム。   The management processing unit includes means for granting the control right to the first processing unit that has requested the control right when there is no processing unit having the control right regarding the unit area as a result of the search. 52. The cache control system according to claim 50 or 51, wherein: 前記複数の処理部は、通信手段を介して相互に接続される複数のノードに備えられ、
前記単位領域内のデータを一時保存するキャッシュメモリを、1つ以上のノード内に設ける、ことを特徴とする請求項50又は51記載のキャッシュ制御システム。
The plurality of processing units are provided in a plurality of nodes connected to each other via communication means,
52. The cache control system according to claim 50, wherein a cache memory for temporarily storing data in the unit area is provided in one or more nodes.
前記複数の処理部は、通信手段を介して相互に接続される複数のノードに備えられ、
前記キャッシュメモリは、前記複数ノードで共有される共有メモリに格納される、ことを特徴とする請求項50又は51記載のキャッシュ制御システム。
The plurality of processing units are provided in a plurality of nodes connected to each other via communication means,
52. The cache control system according to claim 50 or 51, wherein the cache memory is stored in a shared memory shared by the plurality of nodes.
前記第一の処理部は、前記単位領域と、前記単位領域の処理部との対応を記憶した構成情報を参照して、前記管理処理部を特定する、ことを特徴とする請求項50又は51記載のキャッシュ制御システム。   52. The first processing unit identifies the management processing unit with reference to configuration information that stores correspondence between the unit area and the processing unit of the unit area. The described cache control system. 前記第一の処理部は、前記単位領域の制御権を、前記第一の処理部で有するか否か判定する手段を備えている、ことを特徴とする請求項50又は51記載のキャッシュ制御システム。   52. The cache control system according to claim 50, wherein the first processing unit includes means for determining whether or not the first processing unit has the right to control the unit area. . 前記管理処理部は、前記単位領域と、前記単位領域の制御権を有する処理部との対応を記憶した制御情報を検索して、前記単位領域の制御権を有する前記第二の処理部を特定する、ことを特徴とする請求項50又は51記載のキャッシュ制御システム。   The management processing unit searches the control information storing the correspondence between the unit area and the processing unit having the control right of the unit area, and specifies the second processing unit having the control right of the unit area 52. The cache control system according to claim 50 or 51, wherein: 前記第一の処理部は、前記単位領域をキャッシュのページ単位とし、上位処理手段から要求されたデータを識別する情報から、キャッシュのヒットチェックを行うことで、前記単位領域の制御権を、前記第一の処理部で有するか否か判定する手段を備える、ことを特徴とする請求項50又は51記載のキャッシュ制御システム。   The first processing unit sets the unit area as a page unit of the cache, and performs a hit check of the cache from information for identifying data requested by the upper processing means, thereby giving the right to control the unit area. 52. The cache control system according to claim 50, further comprising means for determining whether or not the first processing unit has. 前記第一の処理部は、前記管理処理部からの前記第二の信号を受けると、前記第一の処理部に要求を行った上位処理手段に応答を返す、ことを特徴とする請求項51記載のキャッシュ制御システム。   52. When the first processing unit receives the second signal from the management processing unit, the first processing unit returns a response to a higher-level processing unit that has made a request to the first processing unit. The described cache control system. 複数の処理部により少なくとも1つ以上のキャッシュメモリのキャッシュ制御を行う方法であって、
第一の処理部において、キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に対する制御権を持たない場合、前記第一の処理部は、前記複数の処理部のどの処理部が前記単位領域に対する制御権を有するかを管理する処理部(「管理処理部」という)に対して、該当する単位領域または該当する単位領域内の所定のデータを識別する情報を含む第一の信号を送信する工程と、
前記管理処理部は、前記第一の処理部からの前記第一の信号を受け、前記単位領域に関する制御権を現在どの処理部で有するかを記憶管理する記憶部を参照して、前記制御権を有する処理部を検索する工程と、
前記管理処理部は、前記検索の結果、該当する単位領域に関する制御権を有する第二の処理部が存在する場合には、前記第二の処理部に対して、該当する単位領域または前記単位領域内のデータの利用通知の第二の信号を送信する工程と、
前記第二の処理部は、前記管理処理部からの前記第二の信号に応じて、該当する単位領域内のデータに対応するキャッシュメモリのキャッシュ領域のデータを前記第一の処理部に与える工程と、
を含む、ことを特徴とするキャッシュ制御方法。
A method of performing cache control of at least one cache memory by a plurality of processing units,
When the first processing unit does not have a control right for a unit area uniquely determined from an address of predetermined data in the address space to be cached, the first processing unit determines which of the plurality of processing units For a processing unit that manages whether the processing unit has control over the unit area (referred to as a “management processing unit”), information that identifies the corresponding unit area or predetermined data in the corresponding unit area Transmitting a single signal;
The management processing unit receives the first signal from the first processing unit, refers to a storage unit that stores and manages which processing unit currently has the control right for the unit area, and controls the control right. Searching for a processing unit having
When there is a second processing unit having a control right related to the corresponding unit area as a result of the search, the management processing unit applies the corresponding unit area or the unit area to the second processing unit. Sending a second signal of data usage notification in
The second processing unit provides the first processing unit with data in the cache area of the cache memory corresponding to the data in the corresponding unit area in response to the second signal from the management processing unit. When,
A cache control method comprising:
複数の処理部により少なくとも1つ以上のキャッシュメモリのキャッシュ制御を行う方法であって、
第一の処理部において、キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に対する制御権を持たない場合、前記第一の処理部は、前記複数の処理部のどの処理部が前記単位領域に対する制御権を有するかを管理する処理部(「管理処理部」という)に対して、該当する単位領域または該当する単位領域内の所定のデータを識別する情報を含む第一の信号を送信する工程と、
前記管理処理部は、前記第一の処理部からの前記第一の信号を受け、前記単位領域に関する制御権を現在どの処理部で有するかを記憶管理する記憶部を参照して、前記制御権を有する処理部を検索する工程と、
前記管理処理部は、前記検索の結果、該当する単位領域に関する制御権を有する第二の処理部が存在する場合には、前記第二の処理部が該当する単位領域に関する制御権を有することを通知するための第二の信号を前記第一の処理部に対して送信する手段と、
前記第一の処理部は、前記管理処理部からの前記第二の信号を受け、前記該当する単位領域内のデータに対応するキャッシュメモリのキャッシュ領域の利用通知を、前記第二の処理部に送信する工程と、
を含む、ことを特徴とするキャッシュ制御方法。
A method of performing cache control of at least one cache memory by a plurality of processing units,
When the first processing unit does not have a control right for a unit area uniquely determined from an address of predetermined data in the address space to be cached, the first processing unit determines which of the plurality of processing units For a processing unit that manages whether the processing unit has control over the unit area (referred to as a “management processing unit”), information that identifies the corresponding unit area or predetermined data in the corresponding unit area Transmitting a single signal;
The management processing unit receives the first signal from the first processing unit, refers to a storage unit that stores and manages which processing unit currently has the control right for the unit area, and controls the control right. Searching for a processing unit having
When the second processing unit having the control right for the corresponding unit region exists as a result of the search, the management processing unit has the control right for the corresponding unit region. Means for transmitting a second signal for notification to the first processing unit;
The first processing unit receives the second signal from the management processing unit, and notifies the second processing unit of a use notification of a cache area of the cache memory corresponding to the data in the corresponding unit area. Sending, and
A cache control method comprising:
前記制御権を有する第二の処理部は、前記管理処理部からの指示を受け、前記単位領域内の所定のデータに対応するキャッシュ領域のアクセスを、前記第一の処理部に許可する工程を有する、ことを特徴とする請求項61又は62記載のキャッシュ制御方法。   The second processing unit having the control right receives the instruction from the management processing unit and permits the first processing unit to access the cache area corresponding to the predetermined data in the unit area. 63. The cache control method according to claim 61 or 62, comprising: 前記管理処理部は、前記検索の結果、前記単位領域の制御権を有する第二の処理部が存在しない場合には、前記制御権を要求した前記第一の処理部に、前記単位領域に対する制御権を付与する工程を含む、ことを特徴とする請求項61又は62記載のキャッシュ制御方法。   If there is no second processing unit having the right to control the unit area as a result of the search, the management processing unit controls the unit area to the first processing unit that has requested the control right. 64. The cache control method according to claim 61 or 62, further comprising a step of granting a right. 前記第一の処理部が、前記単位領域と、前記単位領域との対応を記憶した構成情報を参照して、前記管理処理部を特定する、ことを特徴とする請求項61又は62記載のキャッシュ制御方法。   The cache according to claim 61 or 62, wherein the first processing unit specifies the management processing unit with reference to configuration information storing correspondence between the unit area and the unit area. Control method. 前記管理処理部は、前記単位領域と、前記単位領域の制御権を有する処理部との対応を記憶した制御情報を検索して、前記単位領域の制御権を有する前記第二の処理部を特定する、ことを特徴とする請求項61又は62記載のキャッシュ制御方法。   The management processing unit searches the control information storing the correspondence between the unit area and the processing unit having the control right of the unit area, and specifies the second processing unit having the control right of the unit area 63. The cache control method according to claim 61 or 62, wherein: 前記単位領域内の所定のデータに対応するキャッシュ領域のアクセス終了後、前記要求元の第一の処理部が、前記キャッシュ領域の使用完了を通知する、ことを特徴とする請求項61又は62記載のキャッシュ制御方法。   63. The request processing first processing unit notifies completion of use of the cache area after the access of the cache area corresponding to predetermined data in the unit area is completed. Cache control method. 前記制御権を有する前記第二の処理部は、前記第一の処理部からの、前記キャッシュ領域の使用完了の通知を受け、前記第一の処理部の前記キャッシュ領域のアクセスの許可を解除する、ことを特徴とする請求項61又は62記載のキャッシュ制御方法。   The second processing unit having the control right receives a notification of completion of use of the cache area from the first processing unit, and cancels the permission of the cache area access of the first processing unit. 63. The cache control method according to claim 61 or 62, wherein: 前記第一の処理部は、前記単位領域の制御権を、前記第一の処理部に有するか否か判定する工程を有する、ことを特徴とする請求項61又は62記載のキャッシュ制御方法。   64. The cache control method according to claim 61, wherein the first processing unit includes a step of determining whether or not the first processing unit has the right to control the unit area. 前記第一の処理部は、単位領域をキャッシュのページ単位とし、上位処理手段から要求されたデータを識別する情報から、キャッシュのヒットチェックを行うことで、前記単位領域の制御権を、前記第一の処理部に有するか否か判定する工程を有する、ことを特徴とする請求項61又は62記載のキャッシュ制御方法。   The first processing unit sets a unit area as a page unit of the cache, and performs a cache hit check from information for identifying data requested by the upper processing means, thereby giving the control right of the unit area the first area. 64. The cache control method according to claim 61 or 62, further comprising a step of determining whether or not the processing unit has one processing unit. 前記第一の処理部は、前記管理処理部からの前記第二の信号を受けると、前記第一の処理部に要求を行った上位処理手段に応答を返す、ことを特徴とする請求項62記載のキャッシュ制御方法。   The first processing unit, when receiving the second signal from the management processing unit, returns a response to a higher-level processing unit that has made a request to the first processing unit. The described cache control method. 少なくとも1つのキャッシュメモリと、複数の処理部とを有するキャッシュ制御システムであって、
キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に関して、どの処理部が制御権を有するかを管理する処理部(「管理処理部」という)を備え、
前記複数の処理部の少なくとも1つの処理部は、前記処理部がアクセス対象の単位領域に関する制御権を持たない場合、前記管理処理部に対して、前記単位領域の制御権を有する処理部を検索するように要求を発行する手段を備え、
前記管理処理部は、前記処理部からの要求を受け、前記単位領域の制御権を現在どの処理部が有しているか検索し、前記検索の結果、前記単位領域の制御権を有する処理部が存在する場合、前記単位領域の制御権を有する処理部に対して、前記要求を発行した処理部の情報を通知する手段を備え、
前記単位領域の制御権を有する処理部は、前記管理処理部からの通知情報を受け、前記要求を発行した処理部に対して、前記単位領域内のデータのアドレス情報を通知し、
前記要求を発行した処理部は、前記単位領域の制御権を有する処理部から、通知された前記アドレス情報を用いて、アクセス対象の前記単位領域のデータのアクセスを行う、ことを特徴とするキャッシュ制御システム。
A cache control system having at least one cache memory and a plurality of processing units,
With respect to a unit area that is uniquely determined from the address of predetermined data in the address space to be cached, a processing unit (referred to as a `` management processing unit '') that manages which processing unit has control right,
At least one processing unit of the plurality of processing units searches the management processing unit for a processing unit having the right to control the unit area when the processing unit does not have the right to control the unit area to be accessed. With means to issue requests to
The management processing unit receives a request from the processing unit, searches for which processing unit currently has the control right of the unit area, and as a result of the search, a processing unit having the control right of the unit area Means for notifying the processing unit having the right to control the unit area of the information of the processing unit that issued the request, if present;
The processing unit having the right to control the unit area receives notification information from the management processing unit, notifies the processing unit that issued the request of the address information of the data in the unit area,
The processing unit that has issued the request uses the address information notified from the processing unit having the right to control the unit area to access data in the unit area to be accessed. Control system.
少なくとも1つのキャッシュメモリと、複数の処理部とを有するキャッシュ制御システムであって、
キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に関して、どの処理部が制御権を有するかを管理する処理部(「管理処理部」という)を備え、
前記複数の処理部の少なくとも1つの処理部は、前記処理部がアクセス対象の単位領域に関する制御権を持たない場合、前記管理処理部に対して、前記単位領域の制御権を有する処理部の検索を行うように要求を発行する手段を備え、
前記管理処理部は、前記処理部からの前記要求を受け、前記単位領域の制御権を現在どの処理部が有しているか検索し、前記検索の結果、前記単位領域の制御権を有する処理部が存在する場合、前記単位領域の制御権を有する処理部に対して、前記要求を発行した処理部の情報を通知する手段を備え、
前記単位領域の制御権を有する処理部は、前記管理処理部からの通知情報を受け、リードアクセスである場合、前記要求を発行した処理部に対して、前記単位領域内のデータに対応するキャッシュメモリのデータを供給する、ことを特徴とするキャッシュ制御システム。
A cache control system having at least one cache memory and a plurality of processing units,
With respect to a unit area that is uniquely determined from the address of predetermined data in the address space to be cached, a processing unit (referred to as a `` management processing unit '') that manages which processing unit has control right,
When at least one processing unit of the plurality of processing units does not have the control right for the unit area to be accessed, the processing unit having the control right for the unit area is searched for the management processing unit. Means to issue a request to
The management processing unit receives the request from the processing unit, searches for which processing unit currently has the control right of the unit area, and as a result of the search, the processing unit having the control right of the unit area If there is, a means for notifying the processing unit having the control right of the unit area of the information of the processing unit that issued the request,
The processing unit having the right to control the unit area receives the notification information from the management processing unit, and in the case of read access, the processing unit that has issued the request has issued a cache corresponding to the data in the unit area. A cache control system for supplying data of a memory.
ライトアクセスの場合、前記要求を発行した処理部は、前記管理処理部からの通知情報を受けた前記単位領域の制御権を有する処理部に対して、転送開始を通知し、書き込みデータの転送を行う、ことを特徴とする請求項73記載のキャッシュ制御システム。   In the case of write access, the processing unit that has issued the request notifies the processing unit having the control right of the unit area that has received the notification information from the management processing unit to start transfer, and transfers the write data. The cache control system according to claim 73, wherein 少なくとも1つのキャッシュメモリと、複数の処理部とを有するキャッシュ制御システムであって、
キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に関して、どの処理部が制御権を有するかを管理する処理部(「管理処理部」という)を備え、
前記複数の処理部の少なくとも1つの処理部は、前記処理部がアクセス対象の単位領域に関する制御権を持たない場合、前記管理処理部に対して、前記単位領域の制御権を有する処理部の検索を行うように要求を発行する手段を備え、
前記管理処理部は、前記処理部からの前記要求を受け、前記単位領域の制御権を現在どの処理部が有しているか検索し、前記検索の結果、前記単位領域の制御権を有する処理部が存在する場合、前記要求を発行した処理部に対して、前記単位領域の制御権を有する処理部の情報を通知する手段を備えている、ことを特徴とするキャッシュ制御システム。
A cache control system having at least one cache memory and a plurality of processing units,
With respect to a unit area that is uniquely determined from the address of predetermined data in the address space to be cached, a processing unit (referred to as a `` management processing unit '') that manages which processing unit has control right,
When at least one processing unit of the plurality of processing units does not have the control right for the unit area to be accessed, the processing unit having the control right for the unit area is searched for the management processing unit. Means to issue a request to
The management processing unit receives the request from the processing unit, searches for which processing unit currently has the control right of the unit area, and as a result of the search, the processing unit having the control right of the unit area A cache control system, comprising: means for notifying a processing unit that has issued the request of information on a processing unit having a right to control the unit area.
前記要求を発行した処理部は、前記管理処理部からの通知情報を受け、リードアクセスの場合には、前記単位領域の制御権を有する処理部に利用要求を通知し、
前記単位領域の制御権を有する処理部は、前記単位領域内のデータに対応するキャッシュメモリのデータを、前記要求を発行した処理部に転送する、ことを特徴とする請求項75記載のキャッシュ制御システム。
The processing unit that issued the request receives the notification information from the management processing unit, and in the case of read access, notifies the usage request to the processing unit having the right to control the unit area,
The cache control according to claim 75, wherein the processing unit having the right to control the unit area transfers the data in the cache memory corresponding to the data in the unit area to the processing unit that issued the request. system.
前記要求を発行した処理部は、前記管理処理部からの通知情報を受け、ライトアクセスの場合には、書き込みデータを、前記単位領域の制御権を有する処理部に転送する、ことを特徴とする請求項75記載のキャッシュ制御システム。   The processing unit that has issued the request receives notification information from the management processing unit, and in the case of write access, transfers the write data to the processing unit having the right to control the unit area. 76. The cache control system according to claim 75. 前記要求を発行した処理部は、前記管理処理部からの通知情報を受け、前記単位領域の制御権を有する処理部に対して、利用要求を通知し、
前記単位領域の制御権を有する処理部は、前記利用要求を受け、前記要求を発行した処理部に対して、アクセス対象の単位領域のデータのアドレス情報を通知し、
前記要求を発行した処理部は、前記単位領域の制御権を有する処理部から通知された前記アドレス情報を用いて、アクセス対象の前記単位領域のデータのアクセスを行う、ことを特徴とする請求項75記載のキャッシュ制御システム。
The processing unit that issued the request receives notification information from the management processing unit, and notifies the usage request to the processing unit having the right to control the unit area,
The processing unit having the right to control the unit area receives the use request, notifies the processing unit that issued the request of the address information of the data of the unit area to be accessed,
The processing unit that has issued the request performs access to data of the unit area to be accessed using the address information notified from the processing unit having the control right of the unit area. 75. A cache control system according to 75.
前記管理処理部は、前記単位領域の制御権を現在どの処理部が有しているか検索し、前記検索の結果、前記単位領域の制御権を有する処理部が存在しない場合、前記要求を発行した処理部に対して前記単位領域の制御権を付与する、ことを特徴とする請求項72乃至78のいずれか一に記載のキャッシュ制御システム。   The management processing unit searches which processing unit currently has the control right of the unit area, and if the processing unit having the control right of the unit area does not exist as a result of the search, the management processing unit issues the request. The cache control system according to any one of claims 72 to 78, wherein a control right for the unit area is given to a processing unit. 少なくとも1つのキャッシュメモリと、複数の処理部とを有するキャッシュ制御方法であって、
前記複数の処理部のうちの少なくとも1つを、キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に関して、どの処理部が制御権を有するかを管理する処理部(「管理処理部」という)として機能させ、
前記複数の処理部の少なくとも1つの処理部は、前記処理部がアクセス対象の単位領域に関する制御権を持たない場合、前記管理処理部に対して、前記単位領域の制御権を有する処理部を検索するように要求を発行する工程と、
前記管理処理部は、前記処理部からの要求を受け、前記単位領域の制御権を現在どの処理部が有しているか検索し、前記検索の結果、前記単位領域の制御権を有する処理部が存在する場合、前記単位領域の制御権を有する処理部に対して、前記要求を発行した処理部の情報を通知する工程と、
前記単位領域の制御権を有する処理部は、前記管理処理部からの通知情報を受け、前記要求を発行した処理部に対して、前記単位領域内のデータのアドレス情報を通知する工程と、
前記要求を発行した処理部は、前記単位領域の制御権を有する処理部から、通知された前記アドレス情報を用いて、アクセス対象の前記単位領域のデータのアクセスを行う工程と、
を含む、ことを特徴とするキャッシュ制御方法。
A cache control method comprising at least one cache memory and a plurality of processing units,
A processing unit that manages at least one of the plurality of processing units with respect to a unit area that is uniquely determined from an address of predetermined data in an address space to be cached. Function as `` management processing unit '')
At least one processing unit of the plurality of processing units searches the management processing unit for a processing unit having the right to control the unit area when the processing unit does not have the right to control the unit area to be accessed. Issuing a request to:
The management processing unit receives a request from the processing unit, searches for which processing unit currently has the control right of the unit area, and as a result of the search, a processing unit having the control right of the unit area If present, notifying the processing unit having the right to control the unit area of the information of the processing unit that issued the request;
A processing unit having a control right of the unit area, receiving the notification information from the management processing unit, and notifying the processing unit that issued the request of the address information of the data in the unit area;
The processing unit that has issued the request uses the address information notified from the processing unit having the right to control the unit region to access data in the unit region to be accessed;
A cache control method comprising:
少なくとも1つのキャッシュメモリと、複数の処理部とを有するキャッシュ制御方法であって、
前記複数の処理部のうちの少なくとも1つを、キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に関して、どの処理部が制御権を有するかを管理する処理部(「管理処理部」という)として機能させ、
前記複数の処理部の少なくとも1つの処理部は、前記処理部がアクセス対象の単位領域に関する制御権を持たない場合、前記管理処理部に対して、前記単位領域の制御権を有する処理部の検索を行うように要求を発行する工程と、
前記管理処理部は、前記処理部からの前記要求を受け、前記単位領域の制御権を現在どの処理部が有しているか検索し、前記検索の結果、前記単位領域の制御権を有する処理部が存在する場合、前記単位領域の制御権を有する処理部に対して、前記要求を発行した処理部の情報を通知する工程と、
前記単位領域の制御権を有する処理部は、前記管理処理部からの通知情報を受け、リードアクセスである場合、前記要求を発行した処理部に対して、前記単位領域内のデータに対応するキャッシュメモリのデータを供給する工程と、
を含む、ことを特徴とするキャッシュ制御方法。
A cache control method comprising at least one cache memory and a plurality of processing units,
A processing unit that manages at least one of the plurality of processing units with respect to a unit area that is uniquely determined from an address of predetermined data in an address space to be cached. Function as `` management processing unit '')
When at least one processing unit of the plurality of processing units does not have the control right for the unit area to be accessed, the processing unit having the control right for the unit area is searched for the management processing unit. Issuing a request to perform
The management processing unit receives the request from the processing unit, searches for which processing unit currently has the control right of the unit area, and as a result of the search, the processing unit having the control right of the unit area If there is, the step of notifying the processing unit having the right to control the unit area of the information of the processing unit that issued the request;
The processing unit having the right to control the unit area receives the notification information from the management processing unit, and in the case of read access, the processing unit that has issued the request has issued a cache corresponding to the data in the unit area. Supplying memory data;
A cache control method comprising:
ライトアクセスの場合、前記要求を発行した処理部は、転送開始を、前記管理処理部からの通知情報を受けた前記単位領域の制御権を有する処理部に通知し、前記単位領域の制御権を有する処理部への書き込みデータの転送を行う、ことを特徴とする請求項81記載のキャッシュ制御方法。   In the case of write access, the processing unit that has issued the request notifies the processing unit having the control right of the unit area that has received the notification information from the management processing unit, and transfers the control right of the unit area. The cache control method according to claim 81, wherein write data is transferred to a processing unit having the cache. 少なくとも1つのキャッシュメモリと、複数の処理部とを有するキャッシュ制御方法であって、
前記複数の処理部のうちの少なくとも1つを、キャッシュ対象のアドレス空間の所定のデータのアドレスから一意的に決定される単位領域に関して、どの処理部が制御権を有するかを管理する処理部(「管理処理部」という)として機能させ、
前記複数の処理部の少なくとも1つの処理部は、前記処理部がアクセス対象の単位領域に関する制御権を持たない場合、前記管理処理部に対して、前記単位領域の制御権を有する処理部の検索を行うように要求を発行する工程と、
前記管理処理部は、前記処理部からの前記要求を受け、前記単位領域の制御権を現在どの処理部が有しているか検索し、前記検索の結果、前記単位領域の制御権を有する処理部が存在する場合、前記要求を発行した処理部に、前記単位領域の制御権を有する処理部の情報を通知する工程と、
を含む、ことを特徴とするキャッシュ制御方法。
A cache control method comprising at least one cache memory and a plurality of processing units,
A processing unit that manages at least one of the plurality of processing units with respect to a unit area that is uniquely determined from an address of predetermined data in an address space to be cached. Function as `` management processing unit '')
When at least one processing unit of the plurality of processing units does not have the control right for the unit area to be accessed, the processing unit having the control right for the unit area is searched for the management processing unit. Issuing a request to perform
The management processing unit receives the request from the processing unit, searches for which processing unit currently has the control right of the unit area, and as a result of the search, the processing unit having the control right of the unit area If there is, the step of notifying the processing unit that issued the request of the information of the processing unit having the right to control the unit area,
A cache control method comprising:
前記要求を発行した処理部は、前記管理処理部からの通知情報を受け、リードアクセスの場合には、前記単位領域の制御権を有する処理部に対して、利用要求を通知する工程と、
前記利用要求に応答して、前記単位領域の制御権を有する処理部が、前記単位領域内のデータに対応するキャッシュメモリのデータを、前記要求を発行した処理部に、転送する工程と、
を含む、ことを特徴とする請求項83記載のキャッシュ制御方法。
The processing unit that has issued the request receives notification information from the management processing unit, and in the case of read access, a process of notifying a usage request to a processing unit that has the right to control the unit area;
In response to the use request, a processing unit having the right to control the unit area transfers the cache memory data corresponding to the data in the unit area to the processing unit that issued the request;
84. The cache control method according to claim 83, further comprising:
前記要求を発行した処理部は、前記管理処理部からの通知情報を受け、ライトアクセスの場合には、書き込みデータを、前記単位領域の制御権を有する処理部に転送する工程を含む、ことを特徴とする請求項83記載のキャッシュ制御方法。   The processing unit that issued the request includes a step of receiving notification information from the management processing unit, and in the case of write access, transferring write data to a processing unit having a control right for the unit area. 84. The cache control method according to claim 83, wherein: 前記要求を発行した処理部は、前記管理処理部からの通知情報を受け、前記単位領域の制御権を有する処理部に対して利用要求を通知する工程と、
前記単位領域の制御権を有する処理部が、前記利用要求を受け、アクセス対象の単位領域のデータのアドレス情報を、前記要求を発行した処理部に通知する工程と、
前記要求を発行した処理部は、前記単位領域の制御権を有する処理部から通知された前記アドレス情報を用いて、アクセス対象の前記単位領域のデータのアクセスを行う工程と、を含む、ことを特徴とする請求項83記載のキャッシュ制御方法。
The processing unit that issued the request receives notification information from the management processing unit, and notifies the usage request to the processing unit having the right to control the unit area;
A processing unit having a control right for the unit area, receiving the use request, and notifying the address information of the data of the unit area to be accessed to the processing unit that issued the request;
The processing unit that issued the request includes a step of accessing data of the unit area to be accessed using the address information notified from the processing unit having the control right of the unit area. 84. The cache control method according to claim 83, wherein:
前記管理処理部は、前記単位領域の制御権を現在どの処理部が有しているか検索し、前記検索の結果、前記単位領域の制御権を有する処理部が存在しない場合、前記要求を発行した処理部に対して前記単位領域の制御権を付与する、ことを特徴とする請求項80乃至86のいずれか一に記載のキャッシュ制御方法。
The management processing unit searches which processing unit currently has the control right of the unit area, and if the processing unit having the control right of the unit area does not exist as a result of the search, the management processing unit issues the request. 87. The cache control method according to claim 80, wherein a control right for the unit area is given to a processing unit.
JP2005131590A 2004-11-11 2005-04-28 Storage system and its cache control method Withdrawn JP2006164218A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005131590A JP2006164218A (en) 2004-11-11 2005-04-28 Storage system and its cache control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004327655 2004-11-11
JP2005131590A JP2006164218A (en) 2004-11-11 2005-04-28 Storage system and its cache control method

Publications (1)

Publication Number Publication Date
JP2006164218A true JP2006164218A (en) 2006-06-22

Family

ID=36666126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005131590A Withdrawn JP2006164218A (en) 2004-11-11 2005-04-28 Storage system and its cache control method

Country Status (1)

Country Link
JP (1) JP2006164218A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214146A (en) * 2011-07-28 2011-10-12 中国人民解放军国防科学技术大学 Step size adaptive Cache pre-fetching method and system
JP2013501272A (en) * 2009-07-31 2013-01-10 イーエムシー コーポレイション Data processing system using cache-aware multipath distribution of storage commands between caching storage controllers
JP2014052928A (en) * 2012-09-10 2014-03-20 Nippon Telegr & Teleph Corp <Ntt> Data cache system
JP2016015012A (en) * 2014-07-02 2016-01-28 日本電気株式会社 Storage device, control apparatus, storage device control method, and program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013501272A (en) * 2009-07-31 2013-01-10 イーエムシー コーポレイション Data processing system using cache-aware multipath distribution of storage commands between caching storage controllers
US8627015B2 (en) 2009-07-31 2014-01-07 Emc Corporation Data processing system using cache-aware multipath distribution of storage commands among caching storage controllers
CN102214146A (en) * 2011-07-28 2011-10-12 中国人民解放军国防科学技术大学 Step size adaptive Cache pre-fetching method and system
JP2014052928A (en) * 2012-09-10 2014-03-20 Nippon Telegr & Teleph Corp <Ntt> Data cache system
JP2016015012A (en) * 2014-07-02 2016-01-28 日本電気株式会社 Storage device, control apparatus, storage device control method, and program

Similar Documents

Publication Publication Date Title
JP2819982B2 (en) Multiprocessor system with cache match guarantee function that can specify range
JP3748774B2 (en) I / O transfer in a cache coherence shared disk computer system
KR100324975B1 (en) Non-uniform memory access(numa) data processing system that buffers potential third node transactions to decrease communication latency
US20060230237A1 (en) Method and system for maintaining cache coherence of distributed shared memory system
JP2000250812A (en) Memory cache system and managing method therefor
US10055349B2 (en) Cache coherence protocol
WO2014007249A1 (en) I/o node and control method of cache memory provided in plurality of calculation nodes
JPH11272557A (en) Method and system for maintaining cache coherence
JP2005011316A (en) Method and system for allocating storage area, and virtualization apparatus
JP2001515244A (en) Scalable shared memory multiprocessor system
CN103246614A (en) Multiprocessor data processing system, high-speed cache memory and method thereof
KR20130142123A (en) Distributed cache coherency protocol
JPH0962558A (en) Method and system for database management
JPWO2004055675A1 (en) File management apparatus, file management program, file management method, and file system
US20130262553A1 (en) Information processing system and information transmitting method
KR20180071967A (en) Data processing
US6996693B2 (en) High speed memory cloning facility via a source/destination switching mechanism
JP4643543B2 (en) Storage cluster system with cache consistency guarantee function
US20090083496A1 (en) Method for Improved Performance With New Buffers on NUMA Systems
US6651157B1 (en) Multi-processor system and method of accessing data therein
JP2006164218A (en) Storage system and its cache control method
US7000080B2 (en) Channel-based late race resolution mechanism for a computer system
JP4469911B2 (en) Request generating apparatus, request processing system, and control method
US20130297914A1 (en) Maintaining data coherence by using data domains
US6895476B2 (en) Retry-based late race resolution mechanism for a computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080310

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100401