JP4477437B2 - ストレージ装置、そのクラスタ間データ通信方法、及びそのクラスタ通信制御プログラム - Google Patents

ストレージ装置、そのクラスタ間データ通信方法、及びそのクラスタ通信制御プログラム Download PDF

Info

Publication number
JP4477437B2
JP4477437B2 JP2004197259A JP2004197259A JP4477437B2 JP 4477437 B2 JP4477437 B2 JP 4477437B2 JP 2004197259 A JP2004197259 A JP 2004197259A JP 2004197259 A JP2004197259 A JP 2004197259A JP 4477437 B2 JP4477437 B2 JP 4477437B2
Authority
JP
Japan
Prior art keywords
cluster
packet
path
data
request
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.)
Expired - Fee Related
Application number
JP2004197259A
Other languages
English (en)
Other versions
JP2006018689A (ja
Inventor
崇仁 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004197259A priority Critical patent/JP4477437B2/ja
Priority to US10/944,851 priority patent/US7228369B2/en
Publication of JP2006018689A publication Critical patent/JP2006018689A/ja
Application granted granted Critical
Publication of JP4477437B2 publication Critical patent/JP4477437B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、1以上の記憶装置がそれぞれに設けられ、該1以上の記憶装置を制御する複数のクラスタを備えているストレージ制御装置、そのクラスタ間データ通信方法、及びそのクラスタ間通信制御プログラムに関する。
半導体記憶装置を記憶媒体とするコンピュータの主記憶のI/O性能に比べて、ハードディスクドライブ(以下「HDD」という。)を備えているディスクサブシステムのI/O性能は3〜4桁程度小さく、従来からこの差を縮めること、すなわちディスクサブシステムのI/O性能を向上させる努力がなされている。ディスクサブシステムのI/O性能を向上させるための1つの方法として、複数のHDDでシステムを構成し、データを複数のHDDに格納する、いわゆるディスクアレイと呼ばれるシステムが知られている。こういったストレージシステムでは、I/O性能と共に、高信頼性、高可用性、さらに接続可能なホストコンピュータやHDDの数に対する拡張性が要求されている。
一般に、高信頼性を得るために、様々な処理において動作チェックを行い、障害を検知して、データの整合性を保っている。また、高可用性を得るために、HDDをはじめ、バスなども冗長化されている。しかし、高い拡張性を得るために、ディスアレイを制御するディスク制御装置の1台あたりのホストコンピュータやHDDの接続可能数を大きくすることはコストの増大を招いてしまう。
そこで、低コストで実現可能な接続可能数の限られたディスク制御装置を1つのクラスタとし、それを複数、内部ネットワークで相互接続し、1つの大規模なディスクサブシステムとする技術が知られている。ここでは、こういったディスク制御装置をクラスタ型ディスク制御装置と呼ぶ。このクラスタ型ディスク制御装置に関しては、例えば、以下の特許文献1に記載されている。
一般にクラスタ型ディスク制御装置において、クラスタ間を結ぶパスの帯域は、1つのクラスタ内部のネットワークの帯域に比べると狭い。特許文献1に記載の技術では、キャッシュメモリに格納されるデータの転送を行うネットワークと、ディスクサブシステム内で制御を行うために必要なデータの転送を行うネットワークとをそれぞれ持たせている。一般に、前者のデータは、比較的データサイズが大きくデータの転送には大量のデータを転送するスループット性能が要求され、後者のデータは、比較的データサイズは小さいがデータの転送には短時間でデータの転送を終了するレスポンス性能が要求される。特許文献1に記載の技術では、クラスタ間をパスに関してもネットワークが分離されているため、クラスタ間のデータ転送に関しても、スループット性能、レスポンス性能に対する効果がある。具体的には、特許文献1に記載の技術では、各クラスタ間を複数のアクセスパスで接続している。複数のアクセスパスのうち、1つは、HDDに格納される又は格納されていた実データを転送するための専用パスとして使用され、他の1つは、実データの転送制御に必要な制御系データを転送するための制御系データ専用パスとして使用されている。また、各専用パスは、このシステムの信頼性を確保するために冗長構成が取られている、つまり、それぞれ、少なくとも2本ずつ設けられている。
なお、以下では、ディスク制御装置をストレージ制御装置、ディスク制御装置のクラスタを単にクラスタとも言う。
US6,647,461 B2 図6
以上のように、特許文献1に記載のクラスタ型ストレージ制御装置は、実データの転送用の専用パスと制御系データ専用パスとが設けられているため、データ系アクセスのスループット性能の向上及び制御系アクセスのレスポンス性能の向上の両立が図られている。しかし、それぞれ専用パスを設けることで、その製造コストが比較的高いものになってしまう。
そこで、本発明は、比較的簡単な構成で製造コストを抑えつつも、以上の従来技術と同等又はそれ以上の性能を有するストレージ制御装置、そのクラスタ間データ通信方法、及びそのクラスタ間通信制御プログラムを提供することを目的とする。
前記目的を達成するためのストレージ装置は、データが格納される1以上の記憶装置がそれぞれ接続され、前記1以上の記憶装置を制御する、第一のクラスタと、第二のクラスタと、を備えているストレージ装置において、前記第一のクラスタと前記第二のクラスタとは、複数の、送信方向が異なる一対の信号線からなるパスで接続され、前記第一のクラスタ及び前記第二のクラスタは、前記複数のパスを介して、前記データに対するリード又はライト要求を指示する制御系パケットと、前記リード要求に対するデータを含むパケットと、前記データに対するライト要求のデータを含むパケットを送受信し、前記第一のクラスタがリード要求を受信した際に、前記リード要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、前記第一のクラスタは、前記複数のパスのうち1つである第一のパスを介して前記第二のクラスタに前記リード要求の制御系パケットを送信し、前記第二のクラスタは、前記第一のパスを選択して前記第一のクラスタに前記リード要求に対するデータを含むパケットを送信し、前記第一のクラスタがライト要求を受信した際に、前記ライト要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記ライト要求の制御系パケットを送信し、前記第一のクラスタは、前記複数のパスのうち他の1つである第二のパスを選択して前記第二のクラスタに前記ライト要求のデータを含むパケットを送信することを特徴とする。
さらに、前記ストレージ装置において、前記第一のクラスタは、前記第一のクラスタが受信したリード要求及びライト要求の回数が所定の回数を越え、前記所定の回数のうち前記リード要求の回数が所定の割合以上である際に、前記第一のクラスタがリード要求を受信し、前記リード要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記リード要求の制御系パケットを送信し、前記第二のクラスタは、前記第一のパスを選択して前記第一のクラスタに前記リード要求に対するデータを含むパケットを送信し、前記第一のクラスタがライト要求を受信し、前記ライト要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記ライト要求の制御系パケットを送信し、前記第一のクラスタは、前記第一のパスを選択して前記第二のクラスタに前記ライト要求のデータを含むパケットを送信し、前記第一のクラスタが受信したリード要求及びライト要求の回数が前記所定の回数を越え、前記所定の回数のうち前記ライト要求の回数が所定の割合以上である際に、前記第一のクラスタがリード要求を受信し、前記リード要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記リード要求の制御系パケットを送信し、前記第二のクラスタは、前記第二のパスを選択して前記第一のクラスタに前記リード要求に対するデータを含むパケットを送信し、前記第二のクラスタがライト要求を受信し、前記ライト要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記ライト要求の制御系パケットを送信し、前記第一のクラスタは、前記第二のパスを選択して前記第二のクラスタに前記ライト要求のデータを含むパケットを送信する。
また、前記目的を達成するためのストレージ装置のクラスタ間データ通信方法は、データが格納される1以上の記憶装置がそれぞれ接続され前記1以上の記憶装置を制御する、第一のクラスタと、第二のクラスタと、を備えているストレージ装置のクラスタ間データ通信方法において、第一のクラスタと前記第二のクラスタとは、複数の、送信方向が異なる一対の信号線からなるパスで接続され、前記第一のクラスタ及び前記第二のクラスタは、前記複数のパスを介して、前記データに対するリード又はライト要求を指示する制御系パケットと、前記リード要求に対するデータを含むパケットと、前記データに対するライト要求のデータを含むパケットを送受信し、前記第一のクラスタがリード要求を受信した際に、前記リード要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、前記第一のクラスタは、前記複数のパスのうち1つである第一のパスを介して前記第二のクラスタに前記リード要求の制御系パケットを送信し、前記第二のクラスタは、前記第一のパスを選択して前記第一のクラスタに前記リード要求に対するデータを含むパケットを送信し、前記第一のクラスタがライト要求を受信した際に、前記ライト要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記ライト要求の制御系パケットを送信し、前記第一のクラスタは、前記複数のパスのうち他の1つである第二のパスを選択して前記第二のクラスタに前記ライト要求のデータを含むパケットを送信する、ことを特徴とする
また、前記目的を達成するためのストレージ装置のクラスタ間通信制御プログラムは、データが格納される1以上の記憶装置がそれぞれに接続され前記1以上の記憶装置を制御する、第一のクラスタと、第二のクラスタと、を備えるストレージ装に実行させるクラスタ間通信制御プログラムにおいて、前記第一のクラスタと前記第二のクラスタとは、複数の、送信方向が異なる一対の信号線からなるパスで接続され、前記第一のクラスタ及び前記第二のクラスタに、前記複数のパスを介して、前記データに対するリード又はライト要求を指示する制御系パケットと、前記リード要求に対するデータを含むパケットと、前記データに対するライト要求のデータを含むパケットを送受信させ、前記第一のクラスタがリード要求を受信した際に、前記リード要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、前記第一のクラスタに、前記複数のパスのうち1つである第一のパスを介して前記第二のクラスタに前記リード要求の制御系パケットを送信させ、前記第二のクラスタに、前記第一のパスを選択して前記第一のクラスタに前記リード要求に対するデータを含むパケットを送信させ、前記第一のクラスタがライト要求を受信した際に、前記ライト要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、前記第一のクラスタに、前記第一のパスを介して前記第二のクラスタに前記ライト要求の制御系パケットを送信させ、前記第一のクラスタに、前記複数のパスのうち他の1つである第二のパスを選択して前記第二のクラスタに前記ライト要求のデータを含むパケットを送信させること、を特徴とする。
本発明によれば、データ系パケットと制御系パケットとが競合しないよう、クラスタ間パスを有効活用できるので、少ない数のクラスタ間パスでも、データ系アクセスのスループット性能の向上及び制御系アクセスのレスポンス性能の向上の両立を図ることができると共に、製造コストの向上を抑えることができる。
以下、本発明に係るストレージシステムの一実施形態について、図面を参照して説明する。
本実施形態のストレージシステムは、図1に示すように、複数のクラスタ10A,10Bを有するストレージ制御装置1と、各クラスタ10A,10Bに接続されている複数のHDD3,3とを備えている。また、本実施形態のストレージシステムは、クラスタ10が有するインタフェース(以下、「チャネル」とも言う)を介してホストコンピュータ2と接続されている。
ストレージ制御装置1は、チャネルを介してホストコンピュータ2に接続されていると共に、同じくチャネルを介して複数のHDD3,3と接続されている。チャネルとしては、例えば、SCSI(Small Computer System Interface)やFibre Channelなどが用いられる。特に、ストレージ制御装置1とホストコンピュータ2の間は、Fibre Channelなどで構成されるSAN(Storage Area Network)を介して接続してもよい。
ストレージ制御装置1の各クラスタ10A,10Bは、それぞれ、ホストコンピュータ2との間での通信制御を行うチャネル制御部4と、複数のHDD3に対するアクセスを制御するディスク制御部5と、プロセッサを有するプロセッサ部6と、HDD3に書き込むデータ又は書き込まれていたデータが一時的に格納されるキャッシュメモリを有するキャッシュメモリ部7と、キャッシュメモリのディレクトリ情報や論理ボリュームの構成情報等が格納される共有メモリを有する共有メモリ部8と、以上の各部4〜8を相互に接続すると共に他のクラスタと接続される内部スイッチ9A,9Bと、を備えている。
各クラスタ10A,10Bのチャネル制御部4は、前述したチャネルにより、ホストコンピュータ2に接続され、各クラスタ10A,10Bのディスク制御部5も、前述したチャネルにより、複数のHDD3と接続されている。なお、以下では、HDD3に格納される又は格納されていたデータ(以下、「実データ」)の読み出し及び書き込みをストレージ制御装置1が行う際に、ストレージ制御装置1内で実データの読み出し及び書き込みを各部に指示するパケット、及びその指示の処理状態(結果)や実データを含むパケットをデータ系パケットとする。また、ストレージ制御装置1内でのデータ系パケットの送受信をデータ系アクセスとする。一方、例えば共有メモリ部8に格納されるデータ、具体的にはストレージ制御装置1の各部を制御するために必要な情報をストレージ制御装置1内でやりとりするパケットを制御系パケットとし、この制御系パケットの送受信を制御系アクセスとする。
複数のクラスタ10A,10Bの相互間は、2本のクラスタ間パス11A,11Bで接続されている。各クラスタ10A,10B相互がクラスタ間パス11A,11Bを用いて通信することにより、そのクラスタ自身に直接接続されていないHDD3に格納されたデータにアクセスでき、各ホストコンピュータ2,2には1台のストレージ制御装置1として認識させることが可能である。このように、本実施形態では、クラスタ10A,10B相互間を2本のクラスタ間パス11A,11Bで接続している関係で、各クラスタ10A,10Bには、クラスタ間パス11Aに接続されている内部スイッチ9Aと、クラスタ間パス11Bに接続されている内部スイッチ9Bとがある。
各クラスタ間パス11A,11Bは、いずれも、図2に示すように、全二重通信パスであり、1つのパスは、通信方向が異なる一対の物理信号線120,120を有している。なお、ここでは、送信方向が異なる一対の物理信号線120,120でクラスタ間パス11を構成しているが、さらに多くの物理信号線120でクラスタ間パス11を構成し、帯域を拡大してもよい。各物理信号線120の両端には、それぞれ、送信側に送信I/F部122が接続され、受信側に受信I/F部121が接続されている。これら受信I/F121及び送信I/F部122は、いずれも、内部スイッチ9内に設けられている。また、前述したクラスタ10の各部4〜8の内部にも、内部スイッチ9と通信するために、同様に、受信I/F121及び送信I/F部122が設けられている。
例えば、前段から送信要求を受けた送信I/F部122は、送信するパケットに物理信号線120の両端での通信を保証するための付加情報を加え、物理信号線120で伝送できるように符号化(例えば8b/10b変換)を行い伝送する。物理信号線120が光ファイバで構成される場合は、ここで電気−光変換も行う。反対に受信側では、物理信号線120が光ファイバで構成される場合は光−電気変換を行い、復号化をし、付加情報から正しくパケットを受信したことを確認し、次段にパケットを転送する。この際、受信I/F部121は、同じ側の送信I/F部122に受信通知信号線123を用いて受信を通知し、この送信I/F部122は、物理信号線120の両端での通信を保証するための受領確認パケットや流量制御パケットなどの下位プロトコルパケットをパケット送信元の受信I/F部121に送信する。この下位プロトコルパケットを受信したパケット送信元の受信I/F部121は、その内容に従って、同じ側の送信I/F部に対して、次のパケットの送信許可や送信抑制などを行う(下位プロトコルパケットは、前段から送信要求を受け送信するパケットとはプロトコル層が異なる)。
次に、図3を用いてプロセッサ部6の詳細構成について説明する。
プロセッサ部6は、各種プログラムを実行するプロセッサ61と、メモリコントローラやバス変換回路といった回路を含む周辺回路部62と、各種プログラムやデータ等が格納されているメインメモリ63と、他の各部と通信するための内部ネットワークI/F部64と、前述の送信I/F部122及び受信I/F部121と、を備えている。
プロセッサ61は、周辺回路部62を介して、メインメモリ63や内部ネットワークI/F部64に接続され、メインメモリ63に格納された制御プログラム631に従って動作する。また、メインメモリ63には、ストレージ制御装置1に接続されたホストコンピュータ2から発行されるI/Oがどのような傾向にあるかを示すホストアクセス統計情報632も格納されている。プロセッサ61は、ホストコンピュータ2からのリード要求及びライト要求の数をそれぞれカウントし、メインメモリ63に、ホストアクセス統計情報632として格納する。なお、このホストアクセス統計情報632は、単に、リード要求及びライト要求の数ではなく、どのような時間帯にリード要求が多く、ライト要求が少ないか等のように、一定の統計解析を行った結果であってもよい。
内部ネットワークI/F部64は、パケットを作成するパケット作成部641と、受信パケットを分解してその内容を解析するパケット解析部642と、2本のクラスタ間パス11,11のうちどちらのパスを利用するかを選択するパス選択部643を有している。パケット作成部641は、プロセッサ61の要求に従って後述のパケットを作成し、送信I/F部122に対して、作成したパケットの送信要求を行う。その際、パス選択部643は、プロセッサ61により予め設定された設定レジスタ644の内容に従いパケットの要求発行先に応じて、どのパスにパケットを送信するか選択する。パケット解析部642は、発行した要求パケットに対して、各部から返信された応答パケットを受信I/F部121を介して受信し、要求パケットのシーケンスIDと応答パケットのシーケンスIDとの対応を確認し、応答パケットがリード応答パケットであれば周辺回路部62を介してプロセッサ61に、リード応答パケット中に含まれるデータを送付する。なお、設定レジスタ644の内容に関しては、後述する。
次に、図4を用いて、共有メモリ部8の詳細構成について説明する。
共有メモリ部8は、キャッシュメモリのディレクトリ情報や論理ボリュームの構成情報等が格納される共有メモリ81と、この共有メモリ81に対するアクセスを行うメモリコントローラ82と、他の各部と通信するための内部ネットワークI/F部83と、前述の送信I/F部122及び受信I/F部121と、を備えている。
内部ネットワークI/F部83は、パケットを作成するパケット作成部831と、受信パケットを分解してその内容を解析するパケット解析部832と、2本のパスのうちどちらのパスを利用するかを選択するパス選択部833を有している。ところで、前述のプロセッサ部6は、要求パケットを発行するのに対し、この共有メモリ部8は、要求パケットを発行せずに応答パケットを発行する点で、両者は相違する。この相違により、内部ネットワークI/F部83の構造、特に、パス選択部833の構造が、プロセッサ部6の内部ネットワークI/F部64のパス選択部643と異なる。受信I/F部121が要求パケットを受信し、これをパケット解析部832が受け取ると、受信した要求パケットの転送に使用されたパスに対応するパス番号をパス選択部833の要求パケットパス情報部836に書き込むと共に、要求パケットに記載された要求をメモリコントローラ82に送付する。メモリコントローラ82は、この要求を処理し、共有メモリ81からのデータ等をパケット作成部831に送って、応答パケットの作成を要求する。パケット作成部831は、メモリコントローラ82からの要求に従って、メモリコントローラ82からのデータ等を含む応答パケットを作成する。それと共に、パス選択部833は、後述のパス選択テーブル835を参照して、要求パケットパス情報部836に記載されたパス番号に対応するパスを選択する。パケット作成部831は、パス選択部833が選択したパスに、送信I/F部122から応答パケットを送信させる。
次に、図5を用いて、キャッシュメモリ部7の詳細構成について説明する。
キャッシュメモリ部7は、基本的に前述の共有メモリ部8と同様で、共有メモリ部8の共有メモリ81の替わりに存在するキャッシュメモリ71と、このキャッシュメモリ71に対するアクセスを行うメモリコントローラ72と、他の各部と通信するための内部ネットワークI/F部73と、前述の送信I/F部122及び受信I/F部121と、を備えている。
内部ネットワークI/F部73は、パケットを作成するパケット作成部731と、受信パケットを分解してその内容を解析するパケット解析部732と、2本のパスのうちどちらのパスを利用するかを選択するパス選択部733と、を有している。このパス選択部733は、共有メモリ部8のパス選択部833が要求パケットパス情報836とパス選択テーブル835とを有しているのに対して、要求パケットパス情報736のみを有している。キャッシュメモリ部7では、受信I/F部121が要求パケットを受信し、これをパケット解析部732が受け取ると、受信した要求パケットの転送に使用されたパスに対応する番号をパス選択部833の要求パケットパス情報部736に書き込むと共に、要求パケットに記載された要求をメモリコントローラ72に送付する。メモリコントローラ72は、この要求を処理し、キャッシュメモリ71からのデータ等をパケット作成部731に送って、応答パケットの作成を要求する。パケット作成部731は、メモリコントローラ72からの要求に従って、メモリコントローラ72からのデータ等を含む応答パケットを作成する。それと共に、パス選択部733は、要求パケットパス情報部736に記載されたパス番号と同じパス番号のパスを選択する。パケット作成部731は、パス選択部733が選択したパスに、送信I/F部122から応答パケットを送信させる。
なお、キャッシュメモリ部7と共有メモリ部8とをまとめて一つのメモリ部とする場合、このメモリ部では、パケットを転送するパスを選択するときに、転送対象のパケットがデータ系パケットであるか制御系パケットであるかを識別する必要がある。この場合、このメモリ部は、上述した共有メモリ部8の要求パケットパス情報部836に格納された情報、及びパス選択テーブル835に格納された情報の双方を有する。そして、このメモリ部は、これらの情報を用いてパスの選択を実行する。
次に、図6を用いて、チャネル制御部4の詳細構成について説明する。
チャネル制御部4は、ホストコンピュータ2との間のチャネルを制御するチャネル制御回路41と、他の各部と通信するための内部ネットワークI/F部83と、を備えている。
内部ネットワークI/F部83は、基本的に共有メモリ部8の内部ネットワークI/F部と同様である。但し、チャネル制御部4は、データ系アクセスと制御系アクセスの両方を行うので、前述したキャッシュメモリ部7と共有メモリ部8の共通化を行う場合のように、パケットの判断が必要となる。チャネル制御回路41は、設定レジスタ412の設定内容に基づきチャネルを制御し、転送リスト411に基づきキャッシュメモリ部7にデータ系アクセスを発行して、ホストコンピュータ2へキャッシュメモリ上のデータの転送や、ホストコンピュータ2からのデータをキャッシュメモリ上に転送などを行う。なお、転送リスト411は、制御系アクセスにより使用するパスと転送アドレスおよびデータ長などを設定されたもので、プロセッサ部6により作成される。また、ディスク制御部5においても、ホストコンピュータ2の代わりにHDD3がチャネル制御回路41に接続されるが、構造は同様である。
次に、図7を用いて、内部スイッチ部9A,9Bの詳細構成について説明する。
各内部スイッチ9A,9Bは、接続されるパスそれぞれに対して、受信I/F部121、送信I/F部122、アドレス解析部94、競合解決部93、セレクタ95を持つ。受信I/F部121は、アドレス解析部94に接続されている。また、送信I/F部122は、セレクタ95に接続され、セレクタ95は、セレクタ95に対して指示を与える各アドレス解析部94,94に、データ信号線91,91を介して接続されている。競合解決部93は、要求信号線92及び許可信号線(図示せず)を介して、アドレス解析部94と接続されている。以下に、受信I/F部121がパケットを受信し、受信したパケットを送信I/F部122に転送する流れを説明する。受信I/F部121が、パケットを受信すると、アドレス解析部94は、受信I/F部121が受信したパケットの要求発行先アドレスまたは応答発行先アドレスを参照し、受信したパケットを転送すべきパスを決定する。さらにアドレス解析部94は、転送すべきパスの送信I/F部122に接続されるセレクタ95に指示を与える競合解決部93に、要求信号線92を介して転送の要求を行う。転送の要求を受けた競合解決部93は、複数のアドレス解析部94からの転送要求の状況を比較しラウンドロビンアルゴリズムなどに基づき、複数のアドレス解析部94のうちの1つを決定する。そして、競合解決部93は、決定した1つのアドレス解析部94、つまりセレクタ95に転送の許可を与えるアドレス解析部94に対して、このセレクタ95につながるデータ信号線91を選択するように指示すると共に、許可信号線を介して転送の許可を通知する。転送の許可を受けたアドレス解析部94は、データ信号線91とセレクタ95を経て、転送するべきパスに接続された送信I/F部122にパケットを転送する。
次に、図8を用いて、ストレージ制御装置1の内部で送受信されるパケットのデータ構成について説明する。なお、以下で説明するリード要求パケット、リード応答パケット、ライト要求パケット及びライト応答パケットのそれぞれは、データ系パケット及び制御系パケットの双方に存在する。そこで、これらを明確に区別するために、データ系パケットについては、データ系リード要求(リード応答、ライト要求、ライト応答)パケットと称し、制御系パケットについては、制御系リード要求(リード応答、ライト要求、ライト応答)パケットと称する。
同図(a)は、制御系及びデータ系リード要求パケット141のデータ構成を示している。制御系リード要求パケットは、例えば、プロセッサ部6のプロセッサ61が共有メモリ部8の共有メモリ81の内容を参照する際に発行される(図11におけるS5)。この制御系リード要求パケットは、図3を用いて前述したプロセッサ部6において、プロセッサ61からの指示に従って、パケット作成部641が作成する。また、データ系リード要求パケットは、例えば、チャネル制御部4がキャッシュメモリ部7の実データをリードする際に発行される(図11におけるS19)。このデータ系リード要求パケットは、図6を用いて前述したチャネル制御部4において、パケット作成部831が生成する。以上のリード要求パケット141は、このパケットがリード要求であることを示すパケット種別欄131と、リードしたいデータの長さを示すデータ長欄132と、後に返信されてくるリード応答パケットとの対応をとるためのシーケンスID欄133と、パケット発行元を示す要求発行元アドレス欄134と、パケットの送り先を示す要求発行先アドレス欄135を含む。
同図(b)は、制御系及びデータ系リード応答パケット142のデータ構成を示している。制御系リード応答パケットは、例えば、プロセッサ部6から発行された制御系リード要求パケットを受け取った共有メモリ部8が、共有メモリ81の内容を返信する際に発行される(図11におけるS6)。また、データ系リード応答パケットは、例えば、チャネル制御部4からデータ系リード要求パケットを受け取ったキャッシュメモリ部7が、キャッシュメモリ71内の実データを送信する際に発行される(図11におけるS20)。リード応答パケット142は、このパケットがリード応答であることを示すパケット種別欄131と、返信するデータの長さを示すデータ長欄132と、対応するリード要求パケット141と同じ内容のシーケンスID欄133と、パケット発行元を示す応答発行元アドレス欄136と、パケットの送り先を示す応答発行先アドレス欄137と、データ138と、メモリにおいて問題なく処理されたことやメモリによりエラー訂正がなされたなどの状態を示すステータス欄139を含む。応答発行先アドレス137は、対応するリード要求パケット141の要求発行元アドレス134と同じ内容になる。なお、制御系リード応答パケットは、図4を用いて前述した共有メモリ部8において、メモリコントローラ82が共有メモリ81から読み出すデータ138、及びこのデータ138と共にパケット作成部831に渡されるステータス139に基づいて、パケット作成部831によって作成される。また、データ系リード応答パケットは、図5を用いて前述したキャッシュメモリ部8において、メモリコントローラ72がキャッシュメモリ71から読み出す実データ138、及びこの実データ138と共にパケット作成部731に渡されるステータス139に基づいて、パケット作成部731によって作成される。
同図(c)は、制御系及びデータ系ライト要求パケット143のデータ構成を示している。制御系ライト要求パケットは、例えば、プロセッサ部6がディスク制御部5のデータ転送を設定する場合などに発行され(図14におけるS38)、データ系ライト要求パケットは、例えば、チャネル制御部4がキャッシュメモリ部7に実データを書き込む場合などに発行される(図14におけるS49)。ライト要求パケット143は、このパケットがライト要求であることを示すパケット種別欄131と、リード要求パケット141と同様に、データ長欄132、シーケンスID欄133、要求発行元アドレス欄134と、要求発行先アドレス欄135を含み、さらに書き込むデータ138を持つ。
同図(d)は、制御系及びデータ系ライト応答パケット144のデータ構成を示している。制御系ライト応答パケットは、例えば、制御系ライト要求パケットを受け取ったディスク制御部5が、正しく設定が終了したことを通知するために発行され(図14におけるS39)、データ系ライト応答パケットは、例えば、データ系ライト要求パケットを受け取ったキャッシュメモリ部7が、メモリライトが終了したことなどを通知するために発行される(図14におけるS50)。特に、高信頼性が要求されるストレージ制御装置1では、ライトアクセスであっても、正しく処理されたことを確認する必要がある。ライト応答パケット144は、このパケットがライト応答であることを示すパケット種別欄131と、データ長欄132、シーケンスID欄133、応答発行元アドレス欄136、応答発行先アドレス欄137と、ステータス欄139を含む。
次に、図9を用いて、以上で説明した各パケットにおけるパケット種別欄131の詳細構成について説明する。パケット種別欄131は、リード/ライトフィールド1311と、要求/応答フィールド1312と、使用パスフィールド1313とを有している。リード/ライトフィールド1311と、要求/応答フィールド1312とにより、そのパケットの種別が、リード要求、リード応答、ライト要求、ライト応答のいずれかであることを示している。また、使用パスフィールド1313は、2本のクラスタ間パス11A,11Bのうちいずれを使用するかを示すデータが格納される。この使用パスフィールド1313のデータは、例えば、共通メモリ部9のパス選択部833で、受信したパケットの使用パスに応じて、送信するパケットの使用パスを決定する際に使用される。
次に、図10(a)を用いて、共有メモリ部8やチャネル制御部4のパス選択部833に設けられているパス選択テーブル835について説明する。
このパス選択テーブル835は、受信した要求パケットの転送で使用されたパスのパス番号を記した制御系要求パケットパス番号欄835aと、それに対する応答パケットを送信すべきパスのパス番号を記した制御系応答パケットパス番号欄835bとを持つ。制御系応答パケットパス番号欄835bは障害に対処するためなどから、プロセッサ61により書き換えが可能である。しかし、正常状態においては、制御系要求パケットパス番号835aと制御系応答パケットパス番号835bはそれぞれ異なるパス番号が設定されている。従って、例えば、共有メモリ部8やチャネル制御部4が、他のクラスタ10Bからクラスタ間パス11Aで、要求パケットを受信した場合、正常状態では、クラスタ間パス11Bを用いて、応答パケットを他のクラスタBへ送信することになる。なお、同図では、例として、制御系要求パケットパス番号欄835aのパス番号に対して、制御系応答パケットパス番号欄835bのパス番号を1つずらしてサイクリックに設定している。
次に、図10(b)を用いて、プロセッサ部6等のパス選択部643に設けられている設定レジスタ644について説明する。
プロセッサ部6の設定レジスタ644は、要求発行先欄644aと要求パケット発行パス番号欄644bとを持つ。要求パケット発行パス番号欄644bは書き換え可能であり、プロセッサ61が制御系パケット発行時やホストコンピュータ2からのI/O処理を開始した時、または定期的に行われるホストアクセス統計情報632の解析を行った場合などに、この欄は書き換えられる。
次に、図11〜図13を用いて、ホストコンピュータ2からリード要求を受け取った際のストレージ制御装置1の動作について説明する。なお、ここでは、リード要求を受けたクラスタ10Aとは異なるクラスタ10Bに接続されているHDD3に該当データが存在し、このクラスタ10Bのキャッシュメモリ部7にはホストコンピュータ2から要求されたデータがないものとする。
なお、本実施形態における制御系パケットの転送方法の概要は以下の通りになる。まず、制御系パケットを転送するクラスタ10(以下、「転送元クラスタ10」とする)は、自身がデータ系パケットの送信(ライト処理)又は受信(リード処理)を行っているか判断する。そして、ライト処理を行っている場合、転送元クラスタ10は、そのライト処理に使用されるクラスタ間パス11と異なるクラスタ間パス11を用いて制御系パケットを他のクラスタ(以下、「転送先クラスタ10」とする)へ転送する。また、リード処理を行っている場合、転送元クラスタ10は、そのリード処理に使用されるクラスタ間パス11と同じクラスタ間パス11を用いて、制御系パケットを転送先クラスタ10へ転送する。一方、制御系パケットを受け取った転送先クラスタ10は、この制御系パケットの送信に使用されたクラスタ間パス11とは異なるクラスタ間パスを用いて、この制御系パケットの応答である制御系応答パケットを、転送元クラスタ10へ送信する。
なお、後述するように、転送元クラスタ10は、自身がデータ138を含むデータ系パケットの送信(ライト処理)と受信(リード処理)とのうち、いずれを多くを処理しているかの傾向を把握して、この傾向に従って制御系パケットの転送に使用するパスを決定してもよい。
図11に示すように、クラスタ10Aのチャネル制御部4は、ホストコンピュータ2からI/O(リード)要求を受信すると(S1)、このリード要求の受信をプロセッサ部6に通知するために、制御系ライト要求パケットをプロセッサ部6に送信し(S2)、この制御系ライト要求パケットに対する制御系ライト応答パケットを待つ(S3)。なお、このステップ3、更に、後述のステップ9,14,16,18、図14及び図15中のステップ33,39,44,46,52では、制御系応答パケットの受信を待たないで次の処理を行う場合もある。プロセッサ部6のパケット解析部642は、このI/O要求パケットを解析して、このI/O要求がリードであること、および対象データのアドレスとデータサイズを取得し、これをプロセッサ61に渡す(S4)。
そして、プロセッサ61は、図17に示す処理を実行する。この処理では、ホストコンピュータ2からのI/O要求がリード要求であるかライト要求であるかを判断し(S50)、リード要求であればデータ系パケットの転送パスと同じパスで制御系パケットを転送するよう、パス選択部643の設定レジスタ644を設定し(S51)、ライト要求であればデータ系パケットの転送パスと異なるパスで制御系パケットを転送するよう、パス選択部643の設定レジスタ644を設定する(S52)。この場合、I/O要求がリード要求であるため、パス選択部643の設定レジスタ644には、データ系パケットの転送パスと同じパスで制御系パケットを転送するよう、設定される。より、具体的には、データ系パケットの転送パスは、2つのクラスタ間パス11A,11Bのうち、クラスタ間パス11Aに予め定めておく。したがって、ストレージ制御装置1がリード要求を受け取った後の制御系パケットの転送パスは、クラスタ間パス11Aとなる。例えば、ホストコンピュータ2からI/O要求を受けたクラスタ10Aの番号が「1」で、データ系パケットの転送パスがパス番号「0」のクラスタ間パス11Aに設定されている場合、図10(b)に示すように、このクラスタ番号「1」のクラスタ10Aから、クラスタ番号「0」のクラスタ10Bに制御系パケットを転送する際には、制御用パケットの転送パスは、パス番号「0」のクラスタ間パス11Aになる。
さらに、プロセッサ部6は、他のクラスタ10Bの構成情報や、このクラスタ10Bのキャッシュメモリ部7のディレクトリ情報を取得すべく、このクラスタ10Bの共有メモリ部8に対して制御系リード要求パケットを送信する(S5)。この際、プロセッサ部6のパケット作成部641は、プロセッサ61からの指示で図8(a)に示す制御系リード要求パケット141を生成する。また、パス選択部643は、設定レジスタ644を参照して、このリード要求パケット141の転送に使用するクラスタ間パス11A,11Bを決定する。この場合、図10(b)を用いて前述したように、設定レジスタ644には、転送先クラスタのクラスタ番号が「0」のときには、パス番号0、つまりクラスタ間パス11Aを使用するように設定されているので、パス選択部643は、クラスタ間パス11Aを使用するようにセレクタを設定する。この結果、制御系リード要求パケットは、クラスタ間パス11Aに接続されている送信I/F部122を介して、内部スイッチ部9Aから、クラスタ間パス11A及び他のクラスタ10Bの内部スイッチ9Aを経て、他のクラスタ10Bの共有メモリ部8へ転送される。
他のクラスタ10Bの共有メモリ部8は、制御系リード要求パケットを受けて、構成情報やディレクトリ情報を含む制御系リード応答パケットを要求元クラスタ10Aのプロセッサ部6に返す(S6)。この際、他のクラスタ10Bの共有メモリ部8のパケット解析部832は、制御系リード要求パケットを受けて、前述したように、このリード要求パケットを解析して、このパケット中に含まれている使用パスフィールド1313(図9)から、このリード要求パケットの受信で使用されたパスの番号を取得し、このパス番号をパス選択部833の要求パケットパス情報部836に書き込むと共に、要求パケットに記載された要求をメモリコントローラ82に送付する。メモリコントローラ82は、この要求を処理し、共有メモリ81からの構成情報やディレクトリ情報等をパケット作成部831に送って、制御系応答パケットの作成を要求する。パケット作成部831は、メモリコントローラ82からの要求に従って、メモリコントローラ82からのデータ等を含む制御系応答パケットを作成する。それと共に、パス選択部833は、パス選択テーブル835を参照して、要求パケットパス情報部836に記載されたパス番号に対応するパスを選択する。この場合、図10(a)に示すように、パス選択テーブル835には、制御系要求パケットのパス番号が「0」(クラスタ間パス11A)に対して、応答パケットパス番号が「1」(クラスタ間パス11B)が設定されているので、パス選択部833は、クラスタ間パス11Bを使用するようにセレクタを設定する。この結果、制御系リード応答パケットは、クラスタ間パス11Bに接続されている送信I/F部122を介して、内部スイッチ部9Bから、クラスタ間パス11B及び要求元クラスタ10Aの内部スイッチ9Bを経て、要求元クラスタ10Aのプロセッサ部6へ転送される。
要求元クラスタ10Aのプロセッサ6部は、他のクラスタ10Bの共有メモリ部8から制御系リード応答パケットを受信すると(S6)、このリード応答パケットに含まれている構成情報やディレクトリ情報を参照し、ホストコンピュータ2に返すべきデータが他のクラスタ10Bのキャッシュメモリ部7に存在するか判定する。ここでは前述したように、キャッシュメモリ部7に該当データが存在しないので、他のクラスタ10Bのディスク制御部5にHDD3から該当データをキャッシュメモリ部7に転送させるために、転送リストを作成する。また、ここで、要求元のクラスタ10Aのチャネル制御部4に、他のクラスタ10Bのキャッシュメモリ部7からホストコンピュータ2に転送させるための転送リストも作成しておく(S7)。そして、プロセッサ部6は、前述の転送リストのデータを含む制御系ライト要求パケットを、I/O要求の対象となるデータが存在するHDD3を制御するディスク制御部5に送付し(S8)、この応答を受信する(S9)。なお、プロセッサ部6から他のクラスタ10Bに、転送リストを転送するクラスタ間パスとしては、ステップ5で制御系リード要求パケットの転送時に使用したクラスタ間パス11Aが使用され、他のクラスタ10のディスク制御部5からの制御系応答パケットを転送するクラスタ間パスとしては、転送リストの転送時に使用したクラスタ間パス11Aとは異なるクラスタ間パス11Bが使用される。
転送リストを受信した他のクラスタ10Bのディスク制御部5は、転送リストに基づきHDD3を制御してデータをリードする(S10)。さらに、ディスク制御部5は、このHDD3からのデータを転送リストに基づいたキャッシュメモリ部7のアドレス領域にライトし、つまりデータ系ライト要求パケットを送信し(S11)、キャッシュメモリ部7からのデータ系ライト応答パケットを受信する(S12)。ディスク制御部5は、この応答を受信すると、キャッシュメモリ部7にデータを格納したことを要求元クラスタ10Aのプロセッサ部6に通知すべく、制御系ライト要求パケットを送信し(S13)、この応答を受信する(S14)。

通知を受けた要求元クラスタ10Aのプロセッサ部6は、S7で作成した転送リストをチャネル制御部4に送付すると共に(S15,S16)、他のクラスタ10Bのキャッシュメモリ部7にデータが格納されたので、他のクラスタ10Bの共有メモリ部8のディレクトリ情報を更新する(S17,S18)。要求元のチャネル制御部4は、転送リストに基づき、他のクラスタ10Bのキャッシュメモリ部7に該当データに関するデータ系リード要求パケットを送信する(S19)。この際、要求元チャネル制御部4のパス選択部833は、このリード要求はデータ系アクセスであるため、設定レジスタ834を参照して、クラスタ間パス11Aを選択する。このため、S19のデータ系リード要求パケットは、クラスタ間パス11Aを介して、他のクラスタ10Bのキャッシュメモリ部7へ送られる。他のクラスタ10Bのキャッシュメモリ部7は、このリード要求に対して、該当データを要求元チャネル制御部4へ転送する、つまり、データ系リード応答パケットを送信する(S20)。この際、他のクラスタ10Bのキャッシュメモリ部7では、パケット解析部732がデータ系リード要求パケットを解析して、このパケット中に含まれている使用パスフィールド1313(図9)からデータ系リード要求パケットの受信で使用されたパスの番号を取得し、このパス番号をパス選択部733の要求パケットパス情報部736に書き込むと共に、要求パケットに記載された要求をメモリコントローラ72に送付する。メモリコントローラ72は、この要求を処理し、キャッシュメモリ71からの該当データをパケット作成部731に送って、リード応答パケットの作成を要求する。パケット作成部731は、メモリコントローラ72からの要求に従って、メモリコントローラ72からのデータ等を含むデータ系リード応答パケットを作成する。それと共に、パス選択部733は、要求パケットパス情報部736に記載されたパス番号と同じ番号のパスを選択する。つまり、データ系リード要求パケットのパス番号が「0」(クラスタ間パス11A)であるから、データ系リード応答パケットのパス番号も「0」となり、クラスタ間パス11Aを使用するようにセレクタが設定される。この結果、該当データを含むデータ系リード応答パケットは、クラスタ間パス11Aに接続されている送信I/F部122を介して、内部スイッチ部9Aから、クラスタ間パス11A及び要求元のクラスタ10Aの内部スイッチ9Aを経て、要求元クラスタ10Aのチャネル制御部4へ転送される。
他のクラスタ10Bから、該当データを含むデータ系リード応答パケットを受信したチャネル制御部4は、この該当データをホストコンピュータ2に転送して、ホストコンピュータ2からのリード要求処理を終了する。
本実施形態では、図13に示すように、クラスタ10Bからクラスタ10Aへのデータ系リード応答パケットのパスとして、クラスタ間パス11Aを用いる場合(S20)、クラスタ10Aからクラスタ10Bの共有メモリ部8へ制御系リード要求パケットを送る場合(S5)には、データ系リード応答パケットが転送されるクラスタ間パス11Aが用いられ、クラスタ10Bからクラスタ10Aへ制御系リード応答パケットを送る場合(S6)には、データ系リード応答パケットが転送されるクラスタ間パス11Aと異なるクラスタ間パス11Bが用いられるので、データ系パケットと制御系パケットとがクラスタ間パス11A,11Bで競合することがない。このため、仮に、クラスタ間パス11Aを用いて、クラスタ10Bからクラスタ10Aへのデータ系リード応答パケットを転送している際中に、さらに、ホストコンピュータ2からリード要求を受け付けて、クラスタ10Aからクラスタ10Bの共有メモリ部8へ制御系リード要求パケットを送っても(S5)、また、クラスタ10Bからクラスタ10Aへ制御系リード応答パケットを送っても(S6)、これらの制御系パケットの転送が、先のリード要求によるデータ系リード応答パケットの転送(S20)で、遅れてしまうことはない。
なお、以上では、他のクラスタ10Bのディスク制御部5が読み出した実データを、他のクラスタ10Bのキャッシュメモリ部7に一旦格納し(S11,S12)、このキャッシュメモリ部7に格納された実データを要求元クラスタ10Aのチャネル制御部4へ転送したが(S19,S20)、図12に示すように、他のクラスタ10Bのディスク制御部5が読み出した実データを、要求元クラスタ10Aのキャッシュメモリ部7に格納し(S11a,S12a)、このキャッシュメモリ部7に格納された実データを要求元クラスタ10Aのチャネル制御部4へ転送するようにしてもよい(S19a,S20a)。この場合、他のクラスタ10Bのディスク制御部5が読み出した実データを、要求元クラスタ10Aのキャッシュメモリ部7に格納する際(S11a)に使用するクラスタ間パスは、先の例と同様に、クラスタ間パス11Aであり、先の例と同様の効果を得ることができる。
また、以上の例で、他のクラスタ10Bのキャッシュメモリ部7に該当データが存在する場合は、S8〜S14ならびにS17,S18のアクセスは起こらない。
次に、図14〜図16を用いて、ホストコンピュータ2からライト要求を受け取った際のストレージ制御装置1の動作について説明する。なお、ここでは、ライト要求を受けたクラスタ10Aとは異なるクラスタ10Bに接続されているHDD3に該当データを格納し、このクラスタ10Bのキャッシュメモリ部7にはライト要求のデータを格納する空きがないものとする。
図14に示すように、クラスタ10Aのチャネル制御部4は、ホストコンピュータ2からI/O(ライト)要求を受信すると(S31)、ライト要求の受信を通知するために、制御系ライト要求パケットをプロセッサ部6に送信し(S32)、その応答である制御系ライト応答パケットを待つ(S33)。プロセッサ部6のパケット解析部642は、この制御系ライト要求パケットに含まれるI/O要求の内容を解析して、このI/O要求がライトであること、および対象データのアドレスとデータサイズを取得し、これをプロセッサ61に渡す(S34)。
そして、プロセッサ61は、リード要求時と同様に、図17に示す処理を実行する。この処理では、ホストコンピュータ2からのI/O要求がリード要求であるかライト要求であるかを判断し(S50)、ここでは、I/O要求がライト要求であるので、データ系パケットの転送パスと異なるパスで制御系パケットを転送するよう、パス選択部643の設定レジスタ644を設定する(S51)。この場合、データ系パケットの転送パスは、2つのクラスタ間パス11A,11Bのうち、予めクラスタ間パス11Aに設定されているため、ライト要求時の制御系パケットの転送パスは、クラスタ間パス11Bとなる。
さらに、プロセッサ6部は、他のクラスタ10Bの構成情報や、このクラスタ10Bのキャッシュメモリ部7のディレクトリ情報を取得すべく、このクラスタ10Bの共有メモリ部8に対して制御系リード要求パケットを送信する(S35)。この際、プロセッサ部6のパケット作成部641は、プロセッサ61からの指示で図8(a)に示す制御系リード要求パケット143を作成する。また、パス選択部643は、設定レジスタ644を参照して、このリード要求パケット143の転送に使用するクラスタ間パス11A,11Bを決定する。この場合、前述したように、設定レジスタ644には、制御系パケットの転送パスはクラスタ間パス11Bが設定されているので、パス選択部643は、このクラスタ間パス11Bを使用するようにセレクタを設定する。この結果、制御系リード要求パケットは、クラスタ間パス11Bに接続されている送信I/F部122を介して、内部スイッチ部9Bから、クラスタ間パス11B及び他のクラスタ10Bの内部スイッチ9Bを経て、他のクラスタ10Bの共有メモリ部8へ転送される。
他のクラスタ10Bの共有メモリ部8は、制御系リード要求パケットを受けて(S35)、構成情報やディレクトリ情報を含む制御系リード応答パケットを要求元クラスタ10Aのプロセッサ部6に返す(S36)。この際、他のクラスタ10Bの共有メモリ部8のパケット解析部832は、このリード要求パケットを受けて、前述したように、リード要求パケットを解析して、このパケット中に含まれている使用パスフィールド1313(図9)から、このリード要求パケットの受信で使用されたパスの番号を取得し、このパス番号をパス選択部833の要求パケットパス情報部836に書き込むと共に、要求パケットに記載された要求をメモリコントローラ82に送付する。メモリコントローラ82は、この要求を処理し、共有メモリ81からの構成情報やディレクトリ情報等をパケット作成部831に送って、リード応答パケットの作成を要求する。パケット作成部831は、メモリコントローラ82からの要求に従って、メモリコントローラ82からのデータ等を含む制御系リード応答パケットを作成する。それと共に、パス選択部833は、パス選択テーブル835を参照して、要求パケットパス情報部836に記載されたパス番号に対応するパスを選択する。この場合、パス選択テーブル835には、要求パケットの受信で使用されたパスのパス番号に対して、送信する応答パケットで使用されるパスのパス番号が異なる番号に設定されているので、パス選択部833は、クラスタ間パス11Aを使用するようにセレクタを設定する。この結果、制御系リード応答パケットは、クラスタ間パス11Aに接続されている送信I/F部122を介して、内部スイッチ部9Aから、クラスタ間パス11A及び要求元クラスタ10Aの内部スイッチ9Aを経て、要求元クラスタ10Aのプロセッサ部6へ転送される。
要求元クラスタ10Aのプロセッサ6部は、他のクラスタ10Bの共有メモリ部8から制御系リード応答パケットを受信すると(S36)、このリード応答パケットに含まれている構成情報やディレクトリ情報を参照し、ホストコンピュータ2から要求されたデータを格納すべき領域が他のクラスタ10Bのキャッシュメモリ部7に存在するか判定する。ここでは前述したように、キャッシュメモリ部7に該当データを格納する領域が存在しないので、キャッシュメモリ部7に格納されているデータの一部をHDD3に格納し、キャッシュメモリ部7のキャッシュメモリ71に空き領域を作る。このため、要求元のプロセッサ部6のプロセッサ61は、他のクラスタ10Bのディスク制御部5に、キャッシュメモリ部7からHDD3にデータを転送させるために、転送リストを作成する。また、ここでは、要求元のチャネル制御部4から他のクラスタ10Bのキャッシュメモリ部7にデータを転送させるための転送リストも作成しておく(S37)。要求元のプロセッサ部6は、前述の転送リストを、空き領域となる領域に存在しているデータを格納するHDD3のディスク制御部5に送付する(S38,S39)。転送リストを受信したディスク制御部5は、転送リストに基づきキャッシュメモリ部7から該当データをリードし、つまりキャッシュメモリ部7へデータ系リード要求パケットを送信して(S40)、キャッシュメモリ部7からデータ系リード応答パケットを受信し(S41)、そのパケットに含まれているデータをHDD3に格納する(S42)。データの格納が終了すると、ディスク制御部5は、HDD3にデータを格納したことを要求元のプロセッサ部6に通知する(S43,S44)。通知を受けたプロセッサ部6は、S37で作成した転送リストをチャネル制御部4に送付する(S45,S46)。チャネル制御部4は、データを受信する準備ができたことをホストコンピュータ2に通知し(S47)、それに応じてホストコンピュータ2は、ライトデータを転送してくる(S48)。ライトデータを受信したチャネル制御部4は、転送リストに基づき、ホストコンピュータ2から受信したライトデータを他のクラスタ10Bのキャッシュメモリ部7にライトする、つまりキャッシュメモリ部7へデータ系ライト要求パケットを送信し(S49)、キャッシュメモリ部7からデータ系ライト応答パケットを受信する(S50)。この際、チャネル制御部4のパス選択部833は、設定レジスタ843に設定されているパス番号に基づいて、ライト要求パケットを送るクラスタ間パスを決定する。この場合、設定レジスタ843には、他のクラスタ10Bにデータ系パケットを送る際の使用パスとして、クラスタ間パスAが予め設定されているので、パス選択部833は、クラスタ間パス11Aを使用するようにセレクタを設定する。この結果、データ系ライト要求パケットは、クラスタ間パス11Aに接続されている送信I/F部122を介して、内部スイッチ部9Aから、クラスタ間パス11A及び他のクラスタ10Bの内部スイッチ9Aを経て、他のクラスタ10Bのキャッシュメモリ部7へ転送される。また、要求元のプロセッサ部6は、他のクラスタ10Bのキャッシュメモリ部7にデータが格納されたので、他のクラスタ10Bの共有メモリ部8のディレクトリ情報を更新し(S51,S52)、ホストコンピュータ2からのライト要求処理を終了する。なお、他のクラスタ10Bでは、その後、キャッシュメモリ部7に格納されたライトデータをHDD3に格納する。
本実施形態では、図16に示すように、クラスタ10Aからクラスタ10Bへのデータ系ライト要求パケットのパスとして、クラスタ間パス11Aを用いる場合(S49)、クラスタ10Aからクラスタ10Bの共有メモリ部8へ制御系リード要求パケットを送る場合(S35)には、データ系ライト要求パケットが転送されるクラスタ間パス11Aとは異なるクラスタ間パス11Bが用いられ、クラスタBからクラスタAへ制御系リード応答パケットを送る場合(S36)には、データ系ライト要求パケットが転送されるクラスタ間パス11Aが用いられるので、データ系パケットと制御系パケットとがクラスタ間パス11A,11Bで競合することがない。このため、仮に、クラスタ間パス11Aを用いて、クラスタ10Aからクラスタ10Bへのデータ系ライト要求パケットを転送している際中に、さらに、ホストコンピュータ2からライト要求を受け付けて、クラスタ10Aからクラスタ10Bの共有メモリ部8へ制御系リード要求パケットを送っても(S35)、また、クラスタ10Bからクラスタ10Aへ制御系リード応答パケットを送っても(S36)、これらの制御系パケットの転送が、先のライト要求によるデータ系ライト要求パケットの転送(S20)で、遅れてしまうことはない。
なお、以上では、他のクラスタ10Bのキャッシュメモリ部7からHDD3へ実データを格納した後(S40,S41)、要求元のチャネル制御部4から他のクラスタ10Bのキャッシュメモリ部7へライトデータを転送したが(S49,S50)、図15に示すように、要求元のキャッシュメモリ部7から他のクラスタ10BのHDD3に実データを格納した後(S40a,S41a)、要求元のチャネル制御部4から同じく要求元のキャッシュメモリ部7へライトデータを格納するようにしてもよい(S49a,S50a)。この場合、要求元のキャッシュメモリ部7から他のクラスタ10BのHDD3に実データを格納する際(SS41a)に使用するクラスタ間パスは、先の例と同様に、クラスタ間パス11Aであり、先の例と同様の効果を得ることができる。
また、以上の例で、他のクラスタ10Bのキャッシュメモリ部7に空き領域が存在する場合は、S38〜S44のアクセスは起こらない。
以上は、ホストコンピュータ2からI/O要求を受信する毎に、このI/O要求がリード要求であるかライト要求であるかを判断し、このI/O要求の内容に応じて、制御系パケットの転送に使用するクラスタ間パスを定めているが、必ずしも、I/O要求を受信する毎に、このI/O要求の内容に応じて、制御系パケットの転送に使用するクラスタ間パスを改めて定める必要はない。
例えば、ホストコンピュータ2からのI/O要求の傾向が、リード要求又はライト要求に偏った場合には、この傾向に応じて、制御系パケットの転送に使用するクラスタ間パスを定めるようにしてもよい。
具体的には、プロセッサ部6のプロセッサ61が、ホストコンピュータ2からのI/O要求をチャネル制御部4を介して受信するとメインメモリ63のホストアクセス統計情報632に、リード要求又はライト要求が1回あったことを格納すると共に、図18に示す処理を実行する。この処理で、プロセッサ61は、メインメモリ63のホストアクセス統計情報632を参照して、ホストI/Oの回数が予め定めた回数、例えば、100回を超えたか否かを判断する(S61)。予め定められた回数を超えていなければ、前述の図17に示すS50の処理に移行し、予め定められた回数を超えていれば、再び、ホストアクセス統計情報632を参照して、今までの全I/O要求のうちリード要求が70%を超えているか又はライト要求が70%を超えているか、つまり、今までのI/O要求の傾向として、リード要求に偏っているか又はライト要求に偏っているかを判断する(S62)。リード要求もライト要求も70%を超えていなければ、図17のS50の処理に移行し、リード要求が70%を超えていれば、データ系パケットの転送パスと同じパスで制御系パケットを転送するよう、パス選択部643の設定レジスタ644を設定する(S63)。また、ライト要求が70%を超えていれば、データ系パケットの転送パスと異なるパスで制御系パケットを転送するよう、パス選択部643の設定レジスタ644を設定する(S64)。
すなわち、以上の処理では、I/O要求がリード要求に偏っている場合には、実際に、ホストコンピュータ2から受信したI/O要求がリード要求であるかライト要求であるかに関係なく、図17において、リード要求を受信したときと同じ処理を行い、I/O要求がライト要求に偏っている場合には、実際に、ホストコンピュータ2から受信したI/O要求がリード要求であるかライト要求であるかに関係なく、図17において、ライト要求を受信したときと同じ処理を行う。
例えば、I/O要求がリード要求に偏っている場合、データ系パケットの転送パスと同じパスで制御系パケットを転送するよう設定レジスタ644が設定されるので、リード要求を受けた直後に、ライト要求を受けた場合、データ系リード応答パケットを転送するパスと、制御系応答パケットを転送するパスとが競合してしまうが、最初にリード要求を受けてから、このリード要求の処理が終了するまでに、多くのリード要求を受けた場合には、全体として、データ系パケットと制御系パケットとの競合が少なくなる。従って、このように、I/O要求の傾向に基づいて、制御系パケットの転送パスを定めることで、データ系パケットと制御系パケットとの競合が一時生じることがあるものの、全体として両パケットの競合を少なくすることができる。
次に、2本のクラスタ間パス11A,11Bのうち、いずれかに障害が発生した場合の処理について、図19に示すフローチャートに従って説明する。
2本のクラスタ間パス11A,11Bのうち、いずれかに障害が発生した場合、プロセッサ部6のプロセッサ61は、例えば、要求パケットに対する応答パケットの返答がある期間以上ない場合には、応答パケットが送られてくるはずのクラスタ間パスに障害が発生したことを検知する(S71)。なお、正常時において、応答パケットが送られるクラスタ間パスは、要求パケットを送るクラスタ間パスと異なるクラスタ間パスであるから、プロセッサ61は、要求パケットを送るクラスタ間パスを認識している関係で、その応答パケットが送られてくるクラスタ間パスも認識している。
プロセッサ61は、いずれかのクラスタ間パスに障害が発生したことを検知すると、パス選択部643の設定レジスタ644を、障害が発生したクラスタ間パスを使用しないように設定する(S72)。次に、各チャネル制御部4、ディスク制御部5、共有メモリ部8のパス選択テーブル835の、制御系応答パケットパス番号欄835b(図10(a)に示す)に障害が発生したパス番号がなくなるように更新する。例えば、該当する欄に対しては、対応する制御系要求パケットパス番号835aと同じに更新する(S73)。そして、全ての部位の更新が完了するまでS73,74の処理を繰り返す。
以上のように、本実施形態では、クラスタ間パスの数量が少なくても、クラスタ間パスを有効に利用することにより、データ系アクセスのスループット性能の向上及び制御系アクセスのレスポンス性能の向上の両立を図ることができる。しかも、いずれかのクラスタ間パスに障害が発生しても、クラスタ間でパケット送信が保証されているので、信頼性も確保することができる。
なお、以上の実施形態では、2つのクラスタ10A,10Bを備えているストレージ制御装置1を例にしたが、3以上のクラスタを備えている場合であっても、本発明を適用できることは言うまでもない。この場合も、図20(a)に示すように、各クラスタ10A,10B,10C相互間で2本のクラスタ間パス11A,11Bを設けるようにする。また、例えば、同図(b)に示すように、中継装置Xを設け、この中継装置Xに対して、各クラスタから2本のクラスタ間パス11A,11Bを接続するようにしてもよい。なお、同図(a)の内部スイッチ部9A,9Bや同図(b)の中継装置Xでは、クラスタ間パス11Aが2本以上、クラスタ間パス11Bが2本以上接続されるので、これら内部スイッチ9A,9B又は中継装置Xでは、パケット内の使用パスフィールド1313(図9に示す)を参照して、何番のクラス間パスを用いるべきか判断する必要がある。
本発明に係る一実施形態におけるストレージシステムの構成を示すブロック図である。 本発明に係る一実施形態におけるパスの構成を示す説明図である。 本発明に係る一実施形態におけるプロセッサ部の構成を示すブロック図である。 本発明に係る一実施形態における共有メモリ部の構成を示すブロック図である。 本発明に係る一実施形態におけるキャッシュメモリ部の構成を示すブロック図である。 本発明に係る一実施形態におけるチャネル制御部の構成を示すブロック図である。 本発明に係る一実施形態における内部スイッチ部の構成を示すブロック図である。 本発明に係る一実施形態における内部ネットワーク内で送受信されるパケットのデータ構成を示す説明図で、同図(a)はリード要求パケットのデータ構成を示し、同図(b)はリード応答パケットのデータ構成を示し、同図(c)はライト要求パケットのデータ構成を示し、同図(d)はライト応答パケットのデータ構成を示している。 図8におけるパケット種別欄の詳細構成を示す説明図である。 本発明に係る一実施形態におけるテーブル等の構成を示す説明図で、同図(a)はパス選択テーブルの構成を示し、同図(b)は設定レジスタの構成を示している。 本発明に係る一実施形態におけるストレージ制御装置のリード要求を受信した際の動作を示すシーケンス図である。 本発明に係る一実施形態におけるストレージ制御装置のリード要求を受信した際の他の動作を示すシーケンス図である。 本発明に係る一実施形態のリード要求受信時における各種パケットの利用クラスタ間パスを示す説明図である。 本発明に係る一実施形態におけるストレージ制御装置のライト要求を受信した際の動作を示すシーケンス図である。 本発明に係る一実施形態におけるストレージ制御装置のライト要求を受信した際の他の動作を示すシーケンス図である。 本発明に係る一実施形態のライト要求受信時における各種パケットの利用クラスタ間パスを示す説明図である。 本発明に係る一実施形態における設定レジスタの設定手順を示すフローチャートである。 本発明に係る一実施形態における設定レジスタの設定手順を示す他のフローチャートである。 本発明に係る一実施形態におけるパスに障害が発生したときのプロセッサの処理を示すフローチャートである。 本発明に係る他の実施形態におけるクラスタ相互間の接続形態を示す説明図で、同図(a)はクラスタ相互間をクラスタ間パスでのみ接続する形態を示し、同図(b)はクラスタ相互間をクラスタ間パス及び中継装置で接続する形態を示している。
符号の説明
1:ストレージ制御装置、2:ホストコンピュータ、3:ハードディスクドライブ、4:チャネル制御部、5:ディスク制御部、6:プロセッサ部、7:キャッシュメモリ部、8:共有メモリ部、9:内部スイッチ部、10A,10B,10C:クラスタ,11A,11B:クラスタ間パス、41:チャネル制御回路、61:プロセッサ、62:周辺回路部、63:メインメモリ、64,73,83:内部ネットワークI/F部、71:キャッシュメモリ、72,82:メモリコントローラ、81:メモリモジュール、120:物理信号線、121:受信I/F部、122:送信I/F部、123:受信通知信号、631:制御プログラム、632:ホストアクセス統計情報、641,731,831:パケット作成部、642,732,832:パケット解析部、643,733,833:パス選択部、644,834:設定レジスタ、736,836:要求パケットパス情報、835:パス選択テーブル。

Claims (19)

  1. データが格納される1以上の記憶装置がそれぞれ接続され前記1以上の記憶装置を制御する、第一のクラスタと、第二のクラスタと、を備えているストレージ装置において、
    第一のクラスタと前記第二のクラスタとは、複数の、送信方向が異なる一対の信号線からなるパスで接続され、
    前記第一のクラスタ及び前記第二のクラスタは、前記複数のパスを介して、前記データに対するリード又はライト要求を指示する制御系パケットと、前記リード要求に対するデータを含むパケットと、前記データに対するライト要求のデータを含むパケットを送受信し、
    前記第一のクラスタがリード要求を受信した際に、前記リード要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタは、前記複数のパスのうち1つである第一のパスを介して前記第二のクラスタに前記リード要求の制御系パケットを送信し、
    前記第二のクラスタは、前記第一のパスを選択して前記第一のクラスタに前記リード要求に対するデータを含むパケットを送信し、
    前記第一のクラスタがライト要求を受信した際に、前記ライト要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記ライト要求の制御系パケットを送信し、
    前記第一のクラスタは、前記複数のパスのうち他の1つである第二のパスを選択して前記第二のクラスタに前記ライト要求のデータを含むパケットを送信する
    ことを特徴とするストレージ装置。
  2. 請求項1に記載のストレージ装置において、
    前記第一のクラスタは
    前記第一のクラスタが受信したリード要求及びライト要求の回数が所定の回数を越え、前記所定の回数のうち前記リード要求の回数が所定の割合以上である際に、
    前記第一のクラスタがリード要求を受信し、前記リード要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記リード要求の制御系パケットを送信し、
    前記第二のクラスタは、前記第一のパスを選択して前記第一のクラスタに前記リード要求に対するデータを含むパケットを送信し、
    前記第一のクラスタがライト要求を受信し、前記ライト要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記ライト要求の制御系パケットを送信し、
    前記第一のクラスタは、前記第一のパスを選択して前記第二のクラスタに前記ライト要求のデータを含むパケットを送信し、
    前記第一のクラスタが受信したリード要求及びライト要求の回数が前記所定の回数を越え、前記所定の回数のうち前記ライト要求の回数が所定の割合以上である際に、
    前記第一のクラスタがリード要求を受信し、前記リード要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記リード要求の制御系パケットを送信し、
    前記第二のクラスタは、前記第二のパスを選択して前記第一のクラスタに前記リード要求に対するデータを含むパケットを送信し、
    前記第二のクラスタがライト要求を受信し、前記ライト要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記ライト要求の制御系パケットを送信し、
    前記第一のクラスタは、前記第二のパスを選択して前記第二のクラスタに前記ライト要求のデータを含むパケットを送信する
    ことを特徴とするストレージ装置。
  3. 請求項1又は2に記載のストレージ装置において、
    前記第二のクラスタは、前記第一のクラスタから送られてきた制御系要求パケットに対する制御系応答パケットが使用するパスとして、前記制御系要求パケットが送信されたパスと異なるパスを選択す
    ことを特徴とするストレージ装置。
  4. 請求項1又は2に記載のストレージ装置において、
    前記第一のクラスタが前記リード要求を受信した際に、
    前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに、前記リード要求の制御系パケットである制御系リード要求パケットを送信し、
    前記第二のクラスタは、前記第二のパスを介して前記第一のクラスタに、前記制御系リード要求パケットに対する応答である制御系リード応答パケットを送信し、
    前記第一のクラスタは、前記制御系リード応答パケットに基づいて、前記リード要求の対象となるデータをリードするためのデータ系リード要求パケットを作成し、前記第一のパスを介して前記第二のクラスタに、前記データ系リード要求パケットを送信し、
    前記第二のクラスタは、前記第一のパスを介して前記第一のクラスタに、前記データ系リード要求パケットに対する応答であるデータ系リード応答パケットを送信する、
    ことを特徴とするストレージ装置。
  5. 請求項1からのいずれか一項に記載のストレージ装置において、
    前記第一のクラスタは、前記複数のパスの通信障害を検知するパス障害検知部を有し、
    前記第一のクラスタは、前記パス障害検知部が前記複数のパスのうちのいずれかのパスの通信障害を検知すると、通信障害を起こしていないパスを選択する
    ことを特徴とするストレージ装置。
  6. 請求項2からのいずれか一項に記載のストレージ装置において、
    第一のクラスタは、前記記憶装置に格納する前記データを一時的に格納するキャッシュメモリ部と、前記第一のクラスタに接続された記憶装置に対するリード要求又はライト要求を処理する記憶装置制御部と、前記第一のクラスタに接続された記憶装置及び前記第二のクラスタに接続された記憶装置を制御するプロセッサ部と、を有する、
    ことを特徴とするストレージ装置。
  7. 請求項3又は4に記載のストレージ装置において、
    第一のクラスタ及び前記第二のクラスタの各々、前記記憶装置に格納する前記データを一時的に格納するキャッシュメモリ部と、自身に接続された記憶装置に対してアクセスする記憶装置制御部と、クラスタ内外の前記記憶装置制御部を制御するプロセッサ部と、前記制御系パケットのデータが格納される共有メモリ部と、を有する、
    ことを特徴とするストレージ装置。
  8. 請求項6又は7に記載のストレージ装置において、
    前記第一のクラスタは、前記第一のクラスタに接続された外部装置とデータを送受信する通信制御部をさらに有し、
    前記通信制御部は、受信したパケットに対する応答のパケットを前記第二のクラスタへ送る際に使用するパスを選択するパス選択部を有する、
    ことを特徴とするストレージ装置。
  9. 請求項からのいずれか一項に記載のストレージ装置において、
    前記第一のクラスタの記憶装置制御部は、受信したパケットに対する応答のパケットを前記第二のクラスタへ送る際に使用するパスを選択するパス選択部を有する、
    ことを特徴とするストレージ装置。
  10. 請求項からのいずれか一項に記載のストレージ装置において、
    前記第一のクラスタのキャッシュメモリ部は、受信したパケットに対する応答のパケットを前記第二のクラスタへ送る際に使用するパスを選択するパス選択部を有する、
    ことを特徴とするストレージ装置。
  11. データが格納される1以上の記憶装置がそれぞれ接続され前記1以上の記憶装置を制御する、第一のクラスタと、第二のクラスタと、を備えているストレージ装置のクラスタ間データ通信方法において、
    第一のクラスタと前記第二のクラスタとは、複数の、送信方向が異なる一対の信号線からなるパスで接続され、
    前記第一のクラスタ及び前記第二のクラスタは、前記複数のパスを介して、前記データに対するリード又はライト要求を指示する制御系パケットと、前記リード要求に対するデータを含むパケットと、前記データに対するライト要求のデータを含むパケットを送受信し、
    前記第一のクラスタがリード要求を受信した際に、前記リード要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタは、前記複数のパスのうち1つである第一のパスを介して前記第二のクラスタに前記リード要求の制御系パケットを送信し、
    前記第二のクラスタは、前記第一のパスを選択して前記第一のクラスタに前記リード要求に対するデータを含むパケットを送信し、
    前記第一のクラスタがライト要求を受信した際に、前記ライト要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記ライト要求の制御系パケットを送信し、
    前記第一のクラスタは、前記複数のパスのうち他の1つである第二のパスを選択して前記第二のクラスタに前記ライト要求のデータを含むパケットを送信する
    ことを特徴とするストレージ装置のクラスタ間データ通信方法。
  12. 請求項11に記載のストレージ装置のクラスタ間データ通信方法において、
    前記第一のクラスタは
    前記第一のクラスタが受信したリード要求及びライト要求の回数が所定の回数を越え、前記所定の回数のうち前記リード要求の回数が所定の割合以上である際に、
    前記第一のクラスタがリード要求を受信し、前記リード要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記リード要求の制御系パケットを送信し、
    前記第二のクラスタは、前記第一のパスを選択して前記第一のクラスタに前記リード要求に対するデータを含むパケットを送信し、
    前記第一のクラスタがライト要求を受信し、前記ライト要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記ライト要求の制御系パケットを送信し、
    前記第一のクラスタは、前記第一のパスを選択して前記第二のクラスタに前記ライト要求のデータを含むパケットを送信し、
    前記第一のクラスタが受信したリード要求及びライト要求の回数が前記所定の回数を越え、前記所定の回数のうち前記ライト要求の回数が所定の割合以上である際に、
    前記第一のクラスタがリード要求を受信し、前記リード要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記リード要求の制御系パケットを送信し、
    前記第二のクラスタは、前記第二のパスを選択して前記第一のクラスタに前記リード要求に対するデータを含むパケットを送信し、
    前記第二のクラスタがライト要求を受信し、前記ライト要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに前記ライト要求の制御系パケットを送信し、
    前記第一のクラスタは、前記第二のパスを選択して前記第二のクラスタに前記ライト要求のデータを含むパケットを送信する
    ことを特徴とするストレージ装置のクラスタ間データ通信方法。
  13. 請求項11又は12に記載のストレージ装置のクラスタ間データ通信方法において、
    前記第二のクラスタは、前記第一のクラスタから送られてきた制御系要求パケットに対する制御系応答パケットが使用するパスとして、前記制御系要求パケットが送信されたパスと異なるパスを選択す
    ことを特徴とするストレージ装置のクラスタ間データ通信方法。
  14. 請求項11又は12に記載のストレージ装置のクラスタ間データ通信方法において、
    前記第一のクラスタが前記リード要求を受信した際に、
    前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに、前記リード要求の制御系パケットである制御系リード要求パケットを送信し、
    前記第二のクラスタは、前記第二のパスを介して前記第一のクラスタに、前記制御系リード要求パケットに対する応答である制御系リード応答パケットを送信し、
    前記第一のクラスタは、前記制御系リード応答パケットに基づいて、前記リード要求の対象となるデータをリードするためのデータ系リード要求パケットを作成し、前記第一のパスを介して前記第二のクラスタに、前記データ系リード要求パケットを送信し、
    前記第二のクラスタは、前記第一のパスを介して前記第一のクラスタに、前記データ系リード要求パケットに対する応答であるデータ系リード応答パケットを送信する、
    ことを特徴とするストレージ装置のクラスタ間データ通信方法。
  15. 請求項11から14のいずれか一項に記載のストレージ装置のクラスタ間データ通信方法において、
    前記第一のクラスタは、前記複数のパスの通信障害を検知するパス障害検知工程を実行し、
    前記第一のクラスタは、前記パス障害検知工程で前記複数のパスのうちのいずれかのパスの通信障害を検知すると、通信障害を起こしていないパスを選択する
    ことを特徴とするストレージ装置のクラスタ間データ通信方法。
  16. データが格納される1以上の記憶装置がそれぞれに接続され前記1以上の記憶装置を制御する、第一のクラスタと、第二のクラスタと、を備えるストレージ装に実行させるクラスタ間通信制御プログラムにおいて、
    前記第一のクラスタと前記第二のクラスタとは、複数の、送信方向が異なる一対の信号線からなるパスで接続され、
    前記第一のクラスタ及び前記第二のクラスタに、前記複数のパスを介して、前記データに対するリード又はライト要求を指示する制御系パケットと、前記リード要求に対するデータを含むパケットと、前記データに対するライト要求のデータを含むパケットを送受信させ、
    前記第一のクラスタがリード要求を受信した際に、前記リード要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタに、前記複数のパスのうち1つである第一のパスを介して前記第二のクラスタに前記リード要求の制御系パケットを送信させ、
    前記第二のクラスタに、前記第一のパスを選択して前記第一のクラスタに前記リード要求に対するデータを含むパケットを送信させ、
    前記第一のクラスタがライト要求を受信した際に、前記ライト要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタに、前記第一のパスを介して前記第二のクラスタに前記ライト要求の制御系パケットを送信させ、
    前記第一のクラスタに、前記複数のパスのうち他の1つである第二のパスを選択して前記第二のクラスタに前記ライト要求のデータを含むパケットを送信させること
    特徴とするストレージ装置のクラスタ間通信制御プログラム。
  17. 請求項16に記載のクラスタ間通信制御プログラムにおいて、
    前記第一のクラスタは
    前記第一のクラスタが受信したリード要求及びライト要求の回数が所定の回数を越え、前記所定の回数のうち前記リード要求の回数が所定の割合以上である際に、
    前記第一のクラスタがリード要求を受信し、前記リード要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタに、前記第一のパスを介して前記第二のクラスタに前記リード要求の制御系パケットを送信させ、
    前記第二のクラスタに、前記第一のパスを選択して前記第一のクラスタに前記リード要求に対するデータを含むパケットを送信させ、
    前記第一のクラスタがライト要求を受信し、前記ライト要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタに、前記第一のパスを介して前記第二のクラスタに前記ライト要求の制御系パケットを送信させ、
    前記第一のクラスタに、前記第一のパスを選択して前記第二のクラスタに前記ライト要求のデータを含むパケットを送信させ、
    前記第一のクラスタが受信したリード要求及びライト要求の回数が前記所定の回数を越え、前記所定の回数のうち前記ライト要求の回数が所定の割合以上である際に、
    前記第一のクラスタがリード要求を受信し、前記リード要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタに、前記第一のパスを介して前記第二のクラスタに前記リード要求の制御系パケットを送信させ、
    前記第二のクラスタに、前記第二のパスを選択して前記第一のクラスタに前記リード要求に対するデータを含むパケットを送信させ、
    前記第二のクラスタがライト要求を受信し、前記ライト要求の対象となるデータが前記第二のクラスタに接続された記憶装置に格納されている場合、
    前記第一のクラスタに、前記第一のパスを介して前記第二のクラスタに前記ライト要求の制御系パケットを送信させ、
    前記第一のクラスタに、前記第二のパスを選択して前記第二のクラスタに前記ライト要求のデータを含むパケットを送信させる
    ことを特徴とするストレージ装置のクラスタ間通信制御プログラム。
  18. 請求項16又は17に記載のクラスタ間通信制御プログラムにおいて、
    前記第一のクラスタに、前記複数のパスの通信障害を検知するパス障害検知工程を実行させ、
    前記第一のクラスタに、前記パス障害検知工程で前記複数のパスのうちのいずれかのパスの通信障害を検知すると、通信障害を起こしていないパスを選択させる
    ことを特徴とするストレージ装置のクラスタ間通信制御プログラム。
  19. 請求項16又は17に記載のクラスタ間通信制御プログラムにおいて、
    前記第一のクラスタが前記リード要求を受信した際に、
    前記第一のクラスタは、前記第一のパスを介して前記第二のクラスタに、前記リード要求の制御系パケットである制御系リード要求パケットを送信し、
    前記第二のクラスタは、前記第二のパスを介して前記第一のクラスタに、前記制御系リード要求パケットに対する応答である制御系リード応答パケットを送信し、
    前記第一のクラスタは、前記制御系リード応答パケットに基づいて、前記リード要求の対象となるデータをリードするためのデータ系リード要求パケットを作成し、前記第一のパスを介して前記第二のクラスタに、前記データ系リード要求パケットを送信し、
    前記第二のクラスタは、前記第一のパスを介して前記第一のクラスタに、前記データ系リード要求パケットに対する応答であるデータ系リード応答パケットを送信する、
    ことを特徴とするストレージ装置のクラスタ間通信制御プログラム。
JP2004197259A 2004-07-02 2004-07-02 ストレージ装置、そのクラスタ間データ通信方法、及びそのクラスタ通信制御プログラム Expired - Fee Related JP4477437B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004197259A JP4477437B2 (ja) 2004-07-02 2004-07-02 ストレージ装置、そのクラスタ間データ通信方法、及びそのクラスタ通信制御プログラム
US10/944,851 US7228369B2 (en) 2004-07-02 2004-09-21 Clustered storage system and inter-cluster data communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004197259A JP4477437B2 (ja) 2004-07-02 2004-07-02 ストレージ装置、そのクラスタ間データ通信方法、及びそのクラスタ通信制御プログラム

Publications (2)

Publication Number Publication Date
JP2006018689A JP2006018689A (ja) 2006-01-19
JP4477437B2 true JP4477437B2 (ja) 2010-06-09

Family

ID=35515267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004197259A Expired - Fee Related JP4477437B2 (ja) 2004-07-02 2004-07-02 ストレージ装置、そのクラスタ間データ通信方法、及びそのクラスタ通信制御プログラム

Country Status (2)

Country Link
US (1) US7228369B2 (ja)
JP (1) JP4477437B2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519600B1 (en) 2003-12-30 2009-04-14 Sap Aktiengesellschaft System and method for managing multiple application server clusters using a hierarchical data object and a multi-parameter representation for each configuration property
US8312045B2 (en) * 2003-12-30 2012-11-13 Sap Ag Configuration data content for a clustered system having multiple instances
US7526479B2 (en) * 2003-12-30 2009-04-28 Sap Ag Configuration manager in enterprise computing system
US8190780B2 (en) * 2003-12-30 2012-05-29 Sap Ag Cluster architecture having a star topology with centralized services
US8601099B1 (en) 2003-12-30 2013-12-03 Sap Ag System and method for managing multiple sever node clusters using a hierarchical configuration data structure
US9229646B2 (en) * 2004-02-26 2016-01-05 Emc Corporation Methods and apparatus for increasing data storage capacity
US7613138B2 (en) * 2005-05-23 2009-11-03 Microsoft Corporation Separating control and data in wireless networks
JP4643543B2 (ja) * 2006-11-10 2011-03-02 株式会社東芝 キャッシュ一貫性保証機能を有するストレージクラスタシステム
CN101296176B (zh) * 2007-04-25 2010-12-22 阿里巴巴集团控股有限公司 一种基于群集的数据处理方法和装置
JP2009266119A (ja) * 2008-04-28 2009-11-12 Hitachi Ltd ストレージ装置及びデータ転送方法
JP4746651B2 (ja) * 2008-07-31 2011-08-10 シャープ株式会社 画像送信装置
US8448004B2 (en) * 2008-10-27 2013-05-21 Netapp, Inc. Power savings using dynamic storage cluster membership
US8621569B1 (en) * 2009-04-01 2013-12-31 Netapp Inc. Intercluster relationship management
JP5821041B2 (ja) * 2011-02-10 2015-11-24 富士通株式会社 データ転送装置およびストレージ装置
US9009196B2 (en) * 2011-03-16 2015-04-14 Microsoft Technology Licensing, Llc Discovery and client routing to database nodes
US8862828B2 (en) * 2012-06-28 2014-10-14 Intel Corporation Sub-numa clustering
US10073779B2 (en) 2012-12-28 2018-09-11 Intel Corporation Processors having virtually clustered cores and cache slices
JP2015097006A (ja) * 2013-11-15 2015-05-21 富士通株式会社 ストレージ制御装置、制御方法、及びプログラム
US9690706B2 (en) 2015-03-25 2017-06-27 Intel Corporation Changing cache ownership in clustered multiprocessor
US10742731B2 (en) 2015-06-10 2020-08-11 International Business Machines Corporation Maintaining service configuration consistency across nodes of a clustered file system
US9940213B2 (en) * 2015-06-10 2018-04-10 International Business Machines Corporation Integrating external services with a clustered file system
CN107229517A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 任务调度方法和装置
CN111984686A (zh) * 2019-05-24 2020-11-24 北京京东尚科信息技术有限公司 一种数据处理的方法和装置
WO2024127467A1 (ja) * 2022-12-12 2024-06-20 日本電信電話株式会社 バス通信装置、バス通信方法、および、バス通信プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4958273A (en) * 1987-08-26 1990-09-18 International Business Machines Corporation Multiprocessor system architecture with high availability
US5452421A (en) * 1992-09-23 1995-09-19 International Business Machines Corporation System for using register sets and state machines sets to communicate between storage controller and devices by using failure condition activity defined in a request
US6006300A (en) * 1997-08-01 1999-12-21 International Business Machines Corporation System for isolating high-band-width signals transmitted between latency and jitter sensitive devices coupled to a secondary bus from operations on a primary bus
US6240467B1 (en) * 1998-10-07 2001-05-29 International Business Machines Corporation Input/output operation request handling in a multi-host system
US6542961B1 (en) 1998-12-22 2003-04-01 Hitachi, Ltd. Disk storage system including a switch
JP2001256003A (ja) 2000-03-10 2001-09-21 Hitachi Ltd ディスクアレイ制御装置、そのディスクアレイ制御ユニットおよびその増設方法
US6850997B1 (en) * 2000-09-27 2005-02-01 International Business Machines Corporation System, method, and program for determining the availability of paths to a device
US6829685B2 (en) * 2001-11-15 2004-12-07 International Business Machines Corporation Open format storage subsystem apparatus and method
US7024530B2 (en) * 2003-03-14 2006-04-04 International Business Machines Corporation Method, system, and program for establishing and using a point-in-time copy relationship
US8249097B2 (en) * 2003-07-14 2012-08-21 Broadcom Corporation Method and system for an integrated host PCI I/O bridge and dual port gigabit Ethernet controller
US7085907B2 (en) 2004-02-17 2006-08-01 International Business Machines Corporation Dynamic reconfiguration of memory in a multi-cluster storage control unit
US8335909B2 (en) * 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)

Also Published As

Publication number Publication date
JP2006018689A (ja) 2006-01-19
US20060004796A1 (en) 2006-01-05
US7228369B2 (en) 2007-06-05

Similar Documents

Publication Publication Date Title
JP4477437B2 (ja) ストレージ装置、そのクラスタ間データ通信方法、及びそのクラスタ通信制御プログラム
EP3616073B1 (en) Apparatus and method for controlling data acceleration
JP4775846B2 (ja) 物理リンクの割当てを制御するコンピュータシステム及び方法
JP5087249B2 (ja) ストレージシステムおよびストレージシステムの制御方法
CN100437459C (zh) 数据存储系统和数据存储控制装置
US7133967B2 (en) Storage system, controller, control method and program product therefor
US8495014B2 (en) Asynchronous remote copy system and storage control method
US7395392B2 (en) Storage system and storage control method
EP2075983A2 (en) Storage subsystem
US20080195831A1 (en) Data transfer apparatus and data transfer method
JP2004302713A (ja) 記憶システム及びその制御方法
JP2005149082A (ja) ストレージ制御装置、及びストレージ制御装置の制御方法
WO2013128494A1 (en) Storage system and data transfer control method
JP2007065751A (ja) ストレージシステム及び記憶制御方法
US20050262390A1 (en) Method and apparatus for constructing redundant array of independent disks system using disk drives
JP4451687B2 (ja) ストレージシステム
US8312234B2 (en) Storage system configured from plurality of storage modules and method for switching coupling configuration of storage modules
JP4433372B2 (ja) データアクセスシステム及び方法
JP5102917B2 (ja) ストレージ装置及びアクセス命令送信方法
JP2007004710A (ja) ストレージアクセス方式、データ転送装置、ストレージアクセス方法、及びプログラム
JP4936088B2 (ja) ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法
WO2019043815A1 (ja) ストレージシステム
US10289576B2 (en) Storage system, storage apparatus, and communication method
JP2007004707A (ja) インタフェース装置、記憶装置、制御方法、及びシステム
JP2006085215A (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100309

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100311

R151 Written notification of patent or utility model registration

Ref document number: 4477437

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees