JP2013513137A - Information processing apparatus and data transfer method - Google Patents

Information processing apparatus and data transfer method Download PDF

Info

Publication number
JP2013513137A
JP2013513137A JP2012526781A JP2012526781A JP2013513137A JP 2013513137 A JP2013513137 A JP 2013513137A JP 2012526781 A JP2012526781 A JP 2012526781A JP 2012526781 A JP2012526781 A JP 2012526781A JP 2013513137 A JP2013513137 A JP 2013513137A
Authority
JP
Japan
Prior art keywords
node
data transfer
inter
transfer path
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012526781A
Other languages
Japanese (ja)
Other versions
JP5511960B2 (en
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
Publication of JP2013513137A publication Critical patent/JP2013513137A/en
Application granted granted Critical
Publication of JP5511960B2 publication Critical patent/JP5511960B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F11/2089Redundant storage control functionality
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1423Reconfiguring to eliminate the error by reconfiguration of paths
    • 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

Abstract

【課題】データ転送路の信頼性を高めつつシステムとしての可用性を向上させる情報処理装置、及びデータの転送方法を提供する。
【解決手段】ルートノードから複数のノードにツリー状に分岐しつつその間を通信可能に接続するデータ転送路を有し、前記ルートノードと前記複数のノードとの間でシリアルデータ伝送が行われる情報処理装置であって、前記複数のノードのうちの少なくとも1組のノード間に設けられた、前記シリアルデータ伝送が行われる2本のノード間データ転送パスと、前記ノード間データ転送パスの両端にある前記ノードである端末ノードにそれぞれ設けられており、各前記端末ノードが他方の前記端末ノードを介して送信先である前記ノードのいずれかに送信元である他の前記ノードのいずれかから受信したデータを転送する場合に、前記送信先のノードから前記送信元のノードへの返信データを、前記送信先のノードへのデータ転送に使用した前記ノード間データ転送パスと同一の前記ノード間データ転送パスを使用して実行するルーティング処理部とを備えている
【選択図】図2
An information processing apparatus and a data transfer method that improve the availability of a system while improving the reliability of a data transfer path.
Information having a data transfer path that branches from a root node to a plurality of nodes in a tree shape and is communicably connected therebetween, and serial data transmission is performed between the root node and the plurality of nodes. A processing device, provided between at least one set of nodes of the plurality of nodes, between two inter-node data transfer paths for performing serial data transmission, and at both ends of the inter-node data transfer path Each of the terminal nodes is provided to one of the nodes that is a transmission destination, and each of the terminal nodes is received from one of the other nodes that is a transmission destination via the other terminal node. When the transmitted data is transferred, the reply data from the transmission destination node to the transmission source node is used for data transfer to the transmission destination node. Wherein BACKGROUND OF and a routing processing unit that executes by using the inter-node data transfer path and same the internodal data transfer path 2

Description

この発明は、情報処理装置、及びデータの転送方法に関し、特にデータ転送路の信頼性を高めつつシステムとしての可用性を向上させるための技術に関する。   The present invention relates to an information processing apparatus and a data transfer method, and more particularly to a technique for improving the availability of a system while improving the reliability of a data transfer path.

多数のハードディスクドライブ(Hard Disk Drive、以下「HDD」)等の磁気記録媒体を用いて大規模なデータ記憶領域を提供するストレージ装置が広く利用されるようになってきている。データ記憶領域の拡大に伴って、格納される個々のファイルデータ等の容量も増大しつつあり、データI/Oに使用されるデータ転送路にも高速なデータ転送性能が要求されるようになっている。   Storage devices that provide a large-scale data storage area using a magnetic recording medium such as a large number of hard disk drives (hereinafter referred to as “HDDs”) have become widely used. With the expansion of the data storage area, the capacity of individual file data to be stored is also increasing, and high-speed data transfer performance is also required for the data transfer path used for data I / O. ing.

このようなストレージ装置において、そのストレージ装置を利用するホストコンピュータとストレージ装置にあるHDD等の記憶媒体との間でのデータI/O、すなわちホストからのデータライト要求あるいはデータリード要求の処理は、ストレージ制御装置(以下慣用されるようにディスク制御部(DisK Controller、DKC)と呼ぶ。)によって行われ、DKC内部、及び、このDKCと、DKCとホストとの通信制御を行うチャネルアダプタ(CHannel Adaptor、CHA)との間、あるいはDKCと、DKCとHDD等の記録媒体との間での通信制御を行うディスクアダプタ(DisK Adaptor、DKA)との間でのデータ転送には、例えばPCI(Peripheral Component Interconnect)バス等の従来のパラレル転送方式に代わって、例えばPCI Express(登録商標、以下「PCIe」)に代表されるシリアル転送方式が採用されるようになっている。これは、高速データ転送の要求により、従来のパラレル転送方式では信号同期タイミングの制御が困難となる等の技術的な問題が生じていることなどによる。   In such a storage apparatus, processing of data I / O between a host computer using the storage apparatus and a storage medium such as an HDD in the storage apparatus, that is, a data write request or a data read request from the host, A channel adapter (CHannel Adapter) that is controlled by a storage control device (hereinafter referred to as a disk controller (DK) as commonly used) and controls communication between the DKC and between the DKC and the DKC and the host. , CHA), or data transfer between DKC and a disk adapter (DisK Adapter, DKA) that controls communication between the DKC and a recording medium such as an HDD, for example, PCI (Peripheral Component Instead of the conventional parallel transfer method such as Interconnect) bus, for example, PCI Express ( Recorded trademark, serial transfer system represented by the following "PCIe") is adapted to is adopted. This is due to a technical problem such as difficulty in controlling the signal synchronization timing in the conventional parallel transfer system due to a request for high-speed data transfer.

ストレージ装置にPCIeによるデータ転送路を採用する場合、ストレージ装置としての信頼性及び可用性を確保することが問題となる。例えば特許文献1には、PCIe通信システムにおいて、複数のエンドポイントとの間がPCIeスイッチを介してツリー構造で接続されているルートコンプレックスに異常が生じ、PCIeスイッチにおいてルーティング情報の変更が行われた場合にも、変更前のデータ送信元にレスポンスを返すことができるようにした構成が記載されている。   When adopting a data transfer path based on PCIe in the storage apparatus, it becomes a problem to ensure reliability and availability as the storage apparatus. For example, in Patent Document 1, in a PCIe communication system, an abnormality occurred in a root complex connected to a plurality of endpoints via a PCIe switch in a tree structure, and routing information was changed in the PCIe switch. Even in this case, a configuration is described in which a response can be returned to the data transmission source before the change.

特開2007−316755号公報JP 2007-316755 A

前記のように、PCIeではツリー構造のトポロジーが採用されており、ノード間でデータ転送経路(パス)がループを構成するような、ハードウェア上の接続形態は許容されていない。この制約は、PCI−SIG(登録商標、The Peripheral Component Interconnect Special Interest Group)によって制定されたPCIeの技術標準であるPCI Express Base Specification Revision 2.0にも明確に規定されている(例えば1.3 PCI Express Fabric Topologyを参照されたい。)。このトポロジーの面での制約は、上記の特許文献1にも当てはまる。なお、上記の文献、PCI Express Base Specification Revision 2.0の内容は、本願明細書に参考として援用する(incorporated by reference)ものとする。   As described above, the topology of the tree structure is adopted in PCIe, and a connection form on hardware in which a data transfer path (path) forms a loop between nodes is not allowed. This restriction is also clearly defined in PCI Express Base Specification Revision 2.0, which is a technical standard of PCIe established by PCI-SIG (registered trademark, The Peripheral Component Interconnect Special Interest Group) (for example, 1.3 PCI Express Fabric Topology). Please refer to.) This restriction in terms of topology also applies to Patent Document 1 described above. The contents of the above-mentioned document, PCI Express Base Specification Revision 2.0, are incorporated into the present specification as a reference (incorporated by reference).

一方、ストレージ制御装置では、データ転送の信頼性と可用性とを両立させるために、データ転送が行われるパスをハードウェア的に二重化する構成が採用される。したがって、データ転送にPCIeを適用する場合、例えば、ツリー構造を構成する異なるブランチに含まれるPCIeスイッチの間に、いずれかのPCIeスイッチに障害が発生した場合に使用しうる迂回パスを設定する場合、データ転送路を二重化することが求められる。   On the other hand, the storage control device adopts a configuration in which a path through which data transfer is performed is duplicated in hardware in order to achieve both reliability and availability of data transfer. Therefore, when applying PCIe to data transfer, for example, when setting a detour path that can be used when a failure occurs in any of the PCIe switches between PCIe switches included in different branches constituting the tree structure The data transfer path is required to be duplicated.

しかし、このようなハードウェア構成とした場合、2つのPCIeスイッチの間に、PCIeの技術標準では許容されないループが構成されることとなるため、このようなハードウェア構成に対してそのままPCIeを採用することはできない。   However, with such a hardware configuration, a loop that is not permitted by the PCIe technical standard is configured between the two PCIe switches, so PCIe is directly adopted for such a hardware configuration. I can't do it.

本発明はこのような背景に鑑みてなされたもので、データ転送路の信頼性を高めつつシステムとしての可用性を向上させることができる情報処理装置、及びデータの転送方法を提供することを主たる目的とする。   The present invention has been made in view of such a background, and a main object of the present invention is to provide an information processing apparatus and a data transfer method capable of improving the availability of the system while improving the reliability of the data transfer path. And

上記目的を達成するための本発明の一つは、ルートノードから複数のノードにツリー状に分岐しつつその間を通信可能に接続するデータ転送路を有し、前記ルートノードと前記複数のノードとの間でシリアルデータ伝送が行われる情報処理装置であって、前記複数のノードのうちの少なくとも1組のノード間に設けられた、前記シリアルデータ伝送が行われる2本のノード間データ転送パスと、前記ノード間データ転送パスの両端にある前記ノードである端末ノードにそれぞれ設けられており、各前記端末ノードが他方の前記端末ノードを介して送信先ノードである前記ノードのいずれかに送信元ノードである他の前記ノードのいずれかから受信したデータを転送する場合に、前記送信先ノードから前記送信元ノードへの返信データを、前記送信先ノードへのデータ転送に使用した前記ノード間データ転送パスと同一の前記ノード間データ転送パスを使用して実行するルーティング処理部とを備えている情報処理装置である。   In order to achieve the above object, one of the present invention has a data transfer path for branching from a root node to a plurality of nodes in a tree-like manner so as to be communicable between the root node, the plurality of nodes, An information processing apparatus for performing serial data transmission between the two nodes, the inter-node data transfer path for performing serial data transmission, provided between at least one set of the plurality of nodes. , Provided at each of the terminal nodes that are the nodes at both ends of the inter-node data transfer path, and each of the terminal nodes is transmitted to any of the nodes that are the destination nodes via the other terminal node When transferring data received from any of the other nodes that are nodes, return data from the transmission destination node to the transmission source node, An information processing apparatus and a routing processing unit that executes by using the inter-node data transfer path and said same node data transfer paths used for data transfer to Shinsaki node.

その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。   Other problems and solutions to be disclosed by the present application will be made clear by the embodiments of the invention and the drawings.

本発明によれば、データ転送路の信頼性を高めつつシステムとしての可用性を向上させる情報処理装置、及びデータの転送方法を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the information processing apparatus which improves the availability as a system, improving the reliability of a data transfer path, and the data transfer method can be provided.

ストレージ装置10の概略的な構成を示す図である。2 is a diagram showing a schematic configuration of a storage apparatus 10. FIG. ストレージ制御装置12のハードウェア構成の一例である。2 is an example of a hardware configuration of a storage control device 12. マイクロプロセッサ121のハードウェア構成の一例である。2 is an example of a hardware configuration of a microprocessor 121; マイクロプロセッサ121のソフトウェア構成の一例である。3 is an example of a software configuration of a microprocessor 121. PCIeスイッチ126のハードウェア構成の一例である。3 is an example of a hardware configuration of a PCIe switch 126. PCIeスイッチ126のソフトウェア構成の一例である。3 is an example of a software configuration of a PCIe switch 126. PCIeで転送されるトランザクション層パケットのデータ構造例である。It is an example of the data structure of the transaction layer packet transferred by PCIe. PCIeスイッチ間を接続するパスを通じたパケットの流れを示す模式図である。It is a schematic diagram which shows the flow of the packet through the path | route which connects between PCIe switches. PCIeスイッチAに格納されるルーティングテーブル1216Aの一例である。It is an example of the routing table 1216A stored in the PCIe switch A. PCIeスイッチBに格納されるルーティングテーブル1216Bの一例である。It is an example of the routing table 1216B stored in the PCIe switch B. ルーティングテーブル1216の初期設定処理フローの一例である。12 is an example of an initial setting process flow of a routing table 1216. 図6で、デバイスD5、D6が実装されていない場合のパケットの流れを示す模式図である。FIG. 7 is a schematic diagram illustrating a packet flow when devices D5 and D6 are not mounted in FIG. デバイスD5、D6が実装されていない場合のPCIeスイッチAに格納されるルーティングテーブル1216Aの一例である。It is an example of the routing table 1216A stored in the PCIe switch A when the devices D5 and D6 are not mounted. デバイスD5、D6が実装されていない場合のPCIeスイッチBに格納されるルーティングテーブル1216Bの一例である。It is an example of the routing table 1216B stored in the PCIe switch B when the devices D5 and D6 are not mounted. 図6で、デバイスD3に障害が発生した場合のパケットの流れを示す模式図である。FIG. 7 is a schematic diagram illustrating a packet flow when a failure occurs in the device D3 in FIG. デバイスD3に障害が発生した場合のPCIeスイッチAに格納されるルーティングテーブル1216Aの一例である。It is an example of a routing table 1216A stored in the PCIe switch A when a failure occurs in the device D3. デバイスD3に障害が発生した場合のPCIeスイッチBに格納されるルーティングテーブル1216Bの一例である。It is an example of a routing table 1216B stored in the PCIe switch B when a failure occurs in the device D3. デバイス障害の場合のポート閉塞処理フローの一例である。It is an example of the port blockage processing flow in the case of a device failure. 図9で、デバイスD5が増設された場合のパケットの流れを示す模式図である。FIG. 10 is a schematic diagram showing a packet flow when the device D5 is added in FIG. デバイスD5が増設された場合のPCIeスイッチAに格納されるルーティングテーブル1216Aの一例である。It is an example of the routing table 1216A stored in the PCIe switch A when the device D5 is added. デバイスD5が増設された場合のPCIeスイッチBに格納されるルーティングテーブル1216Bの一例である。It is an example of the routing table 1216B stored in the PCIe switch B when the device D5 is added. デバイス増設対応処理フローの一例である。It is an example of a device addition correspondence processing flow. 図6で、PCIeスイッチの5番ポートを接続するパスに障害が発生した場合のパケットの流れを示す模式図である。FIG. 7 is a schematic diagram illustrating a packet flow when a failure occurs in a path connecting the fifth port of the PCIe switch in FIG. 6. PCIeスイッチの5番ポートを接続するパスに障害が発生した場合のPCIeスイッチAに格納されるルーティングテーブル1216Aの一例である。It is an example of a routing table 1216A stored in the PCIe switch A when a failure occurs in the path connecting the No. 5 port of the PCIe switch. PCIeスイッチの5番ポートを接続するパスに障害が発生した場合のPCIeスイッチBに格納されるルーティングテーブル1216Bの一例である。It is an example of a routing table 1216B stored in the PCIe switch B when a failure occurs in the path connecting the No. 5 port of the PCIe switch. PCIeスイッチ間の障害パス代替処理フローの一例である。It is an example of the failure path alternative processing flow between PCIe switches. PCIeスイッチ間のパス障害発生時の応答処理に関する説明図であり、正常状態でのリード動作を示している。It is explanatory drawing regarding the response process at the time of the path | pass failure between PCIe switches, and has shown the read operation in a normal state. PCIeスイッチ間のパス障害発生時の応答処理に関する説明図であり、従来の障害発生時のリード動作を示している。It is explanatory drawing regarding the response process at the time of the path | pass failure between PCIe switches, and has shown the read operation at the time of the conventional failure occurrence. PCIeスイッチ間のパス障害発生時の応答処理に関する説明図であり、本実施例での障害発生時のリード動作を示している。It is explanatory drawing regarding the response process at the time of the path | pass failure between PCIe switches, and has shown the read operation at the time of the failure generation in a present Example. 図20Cの応答処理におけるトランザクション層パケットデータ構造例である。20D is a transaction layer packet data structure example in the response process of FIG. 20C. PCIeスイッチのポート障害検出処理フローの一例である。It is an example of the port failure detection processing flow of a PCIe switch. 代替ポート番号を備えた、PCIeスイッチAに格納されるルーティングテーブル1216Aの一例である。It is an example of a routing table 1216A stored in the PCIe switch A having an alternative port number. 代替ポート番号を備えた、PCIeスイッチBに格納されるルーティングテーブル1216Bの一例である。It is an example of a routing table 1216B stored in the PCIe switch B having an alternative port number. 代替ポート番号を利用した、PCIeスイッチ間の障害パス代替処理フローの一例である。It is an example of the fault path | route alternative processing flow between PCIe switches using an alternative port number.

ストレージ装置10の構成
以下、図面とともに実施形態について説明する。図1に実施形態として説明するストレージ装置10の概略的な構成を示している。同図に示すように、ストレージ装置10には、一つ以上のサーバ装置20が通信ネットワーク30を介して接続している。なお、図1の例では一のストレージ装置10が示されているが、通信ネットワーク30に他の一以上のストレージ装置10を接続してもよい。
Configuration of Storage Device 10 Hereinafter, embodiments will be described with reference to the drawings. FIG. 1 shows a schematic configuration of a storage apparatus 10 described as an embodiment. As shown in the figure, one or more server apparatuses 20 are connected to the storage apparatus 10 via a communication network 30. Although one storage apparatus 10 is shown in the example of FIG. 1, one or more other storage apparatuses 10 may be connected to the communication network 30.

通信ネットワーク30は、LAN(Local Area Network)、WAN(Wide Area Network)、SAN(Storage Area Network)、インターネット、公衆通信網、専用線等である。通信ネットワーク30を介して行われる通信は、例えば、TCP/IP、iSCSI(internet Small Computer System Interface)、ファイバーチャネルプロトコル(Fibre Channel Protocol)、FICON(Fibre Connection)(登録商標)、ESCON(Enterprise System Connection) (登録商標)、ACONARC(Advanced Connection Architecture)(登録商標)、FIBARC(Fibre Connection Architecture)(登録商標)等のプロトコルに従って行われる。   The communication network 30 is a LAN (Local Area Network), a WAN (Wide Area Network), a SAN (Storage Area Network), the Internet, a public communication network, a dedicated line, or the like. Communication performed via the communication network 30 is, for example, TCP / IP, iSCSI (Internet Small Computer System Interface), Fiber Channel Protocol, FICON (Fibre Connection) (registered trademark), ESCON (Enterprise System Connection). ) (Registered trademark), ACONARC (Advanced Connection Architecture) (registered trademark), FIBARC (Fibre Connection Architecture) (registered trademark), and the like.

サーバ装置20は、ストレージ装置10が提供する記憶領域(データの記憶領域)を利用する情報処理装置(コンピュータ)である。サーバ装置20は、パーソナルコンピュータ、メインフレーム(Mainframe)、オフィスコンピュータ等を用いて構成されている。サーバ装置20は、上記記憶領域へのアクセスに際し、データI/O要求(データ書き込み要求、データ読み出し要求等)を含んだデータフレーム(以下、フレームと略記する。)をストレージ装置10に送信する。   The server apparatus 20 is an information processing apparatus (computer) that uses a storage area (data storage area) provided by the storage apparatus 10. The server device 20 is configured using a personal computer, a mainframe, an office computer, or the like. When accessing the storage area, the server device 20 transmits a data frame (hereinafter abbreviated as a frame) including a data I / O request (data write request, data read request, etc.) to the storage device 10.

ストレージ装置10は例えばディスクアレイ装置である。ストレージ装置10は、サーバ装置20から送られてくる前述のI/O要求に応じて記録媒体にアクセスし、サーバ装置20にデータやレスポンスを送信する。ストレージ装置10は、一つ以上のチャネルアダプタ(CHannel Adapter、以下「CHA」)11、ディスク制御部(DisK Controller、以下「DKC」)12、一つ以上のディスクアダプタ(DisK Adapter、以下「DKA」)13、記憶装置14、及びサービスプロセッサ(SerVice Processor、以下「SVP」)15を備えている。   The storage device 10 is, for example, a disk array device. The storage device 10 accesses the recording medium in response to the I / O request sent from the server device 20 and sends data and a response to the server device 20. The storage apparatus 10 includes one or more channel adapters (CHAnel) (hereinafter referred to as “CHA”) 11, a disk controller (DisK Controller, hereinafter referred to as “DKC”) 12, and one or more disk adapters (DisK Adapter, hereinafter referred to as “DKA”). ) 13, a storage device 14, and a service processor (SerVice Processor, hereinafter referred to as “SVP”) 15.

CHA11は、サーバ装置20から送られてくるフレームを受信し、受信したフレームに含まれているデータI/O要求についての処理の応答(例えば読み出したデータ、読み出し完了報告、書き込み完了報告)を含んだフレームをサーバ装置20に送信する。なお、以下の説明において、フレームはファイバーチャネルのフレーム(FCフレーム(FC: Fibre Channel))であるものとする。CHA11は、サーバ装置20と通信するためのポート(通信ポート)を有する外部通信インタフェース(以下「外部通信I/F」)、プロセッサ、ローカルメモリ等と通信するためのポート(通信ポート)を有する内部通信インタフェース(以下「内部通信I/F」)を備えている。   The CHA 11 receives a frame sent from the server device 20 and includes a processing response to the data I / O request included in the received frame (for example, read data, read completion report, write completion report). The frame is transmitted to the server device 20. In the following description, it is assumed that the frame is a fiber channel frame (FC frame (FC)). The CHA 11 has an external communication interface (hereinafter referred to as “external communication I / F”) having a port (communication port) for communicating with the server device 20, an internal port having a port (communication port) for communicating with a processor, a local memory, and the like. A communication interface (hereinafter referred to as “internal communication I / F”) is provided.

外部通信I/Fは、NIC(Network Interface Card)やHBA(Host Bus Adaptor)等を用いて構成されている。プロセッサは、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等を用いて構成されている。ローカルメモリは、RAM(Random Access Memory)、ROM(Read Only Memory)である。ローカルメモリにはマイクロプログラムが格納されている。プロセッサが、ローカルメモリから上記マイクロプログラムを読み出して実行することにより、CHA11が提供する各種の機能が実現される。内部通信I/Fは、内部通信路を介してDKC12、DKA13と通信する。本実施例では、この内部通信I/Fとして、PCIeが使用されている。   The external communication I / F is configured using a NIC (Network Interface Card), an HBA (Host Bus Adapter), or the like. The processor is configured using a CPU (Central Processing Unit), an MPU (Micro Processing Unit), and the like. The local memory is a RAM (Random Access Memory) or a ROM (Read Only Memory). A microprogram is stored in the local memory. Various functions provided by the CHA 11 are realized by the processor reading and executing the microprogram from the local memory. The internal communication I / F communicates with the DKC 12 and the DKA 13 via the internal communication path. In this embodiment, PCIe is used as the internal communication I / F.

DKC12は、CHA11が受信したフレームに含まれている上記データI/O要求に応じて、CHA11、及びDKA13の間で行われるデータ転送に関する処理を行う。後述のように、DKC12に設けられているマイクロプロセッサ(MicroProcessor、以下「MP」)は、CHA11とDKA13との間のデータ(記憶装置14から読み出したデータ、記憶装置14に書き込むデータ)の引き渡しや、DKC12内のキャッシュメモリに格納されるデータのステージング(記憶装置14からのデータの読み出し)又はデステージング(記憶装置14への書き出し)等を行う。   The DKC 12 performs processing related to data transfer performed between the CHA 11 and the DKA 13 in response to the data I / O request included in the frame received by the CHA 11. As will be described later, a microprocessor (MicroProcessor, hereinafter referred to as “MP”) provided in the DKC 12 delivers data (data read from the storage device 14 and data written to the storage device 14) between the CHA 11 and the DKA 13. Then, staging (reading data from the storage device 14) or destaging (writing to the storage device 14) of data stored in the cache memory in the DKC 12 is performed.

DKA13は、記憶装置14からのデータの読み出しや記憶装置14へのデータの書き込みに際し記憶装置14と通信を行う。DKA13は、内部通信I/F、プロセッサ、ローカルメモリ、及びドライブインタフェース(以下「ドライブI/F」)を備えている。ローカルメモリにはマイクロプログラムが格納されている。プロセッサが、ローカルメモリから上記マイクロプログラムを読み出して実行することにより、DKA13が提供する各種の機能が実現される。内部通信I/Fは、内部通信路を介して、CHA11、DKC12と通信する。プロセッサは、CPU、MPU等を用いて構成されている。ローカルメモリは、例えばRAM、ROMである。ドライブI/Fは、記憶装置14との間で通信を行う。   The DKA 13 communicates with the storage device 14 when reading data from the storage device 14 or writing data to the storage device 14. The DKA 13 includes an internal communication I / F, a processor, a local memory, and a drive interface (hereinafter “drive I / F”). A microprogram is stored in the local memory. Various functions provided by the DKA 13 are realized by the processor reading and executing the microprogram from the local memory. The internal communication I / F communicates with the CHA 11 and DKC 12 via the internal communication path. The processor is configured using a CPU, MPU, or the like. The local memory is, for example, a RAM or a ROM. The drive I / F communicates with the storage device 14.

記憶装置14は複数の記憶ドライブ141を備えて構成されている。記憶ドライブ141は、例えばSAS(Serial Attached SCSI)、SATA(Serial ATA)、FC(Fibre Channel)、PATA(Parallel ATA)、SCSI等のタイプのHDD、もしくは半導体記憶装置(Solid State Drive、以下「SSD」)である。   The storage device 14 includes a plurality of storage drives 141. The storage drive 141 is, for example, a SAS (Serial Attached SCSI), SATA (Serial ATA), FC (Fibre Channel), PATA (Parallel ATA), SCSI, or other type of HDD, or a semiconductor storage device (Solid State Drive), hereinafter referred to as “SSD”. ]).

記憶装置14は、記憶ドライブ141をRAID(Redundant Arrays of Inexpensive (or Independent) Disks)等の方式で制御することによって提供される論理的な記憶領域を単位として記憶領域を提供する。この論理的な記憶領域は、例えばRAIDグループ(パリティグループ(Parity Group))を用いて構成される論理装置(LDEV142(LDEV: Logical DEVice))である。またストレージ装置10は、サーバ装置20に対してLDEV142を用いて構成される論理的な記憶領域(以下、LU(Logical Unit、Logical Volume、論理ボリューム)と称する。)を提供する。ストレージ装置10は、LUとLDEV142との対応(関係)を管理しており、ストレージ装置10は、この対応に基づきLUに対応するLDEV142の特定、もしくは、LDEV142に対応するLUの特定を行う。   The storage device 14 provides a storage area in units of logical storage areas provided by controlling the storage drive 141 by a method such as RAID (Redundant Arrays of Inexpensive (or Independent) Disks). This logical storage area is, for example, a logical device (LDEV 142 (LDEV: Logical DEVice)) configured using a RAID group (parity group). Further, the storage apparatus 10 provides a logical storage area (hereinafter referred to as LU (Logical Unit, Logical Volume)) configured using the LDEV 142 to the server apparatus 20. The storage apparatus 10 manages the correspondence (relationship) between the LU and the LDEV 142, and the storage apparatus 10 identifies the LDEV 142 corresponding to the LU or the LU corresponding to the LDEV 142 based on this correspondence.

SVP15は、ストレージ装置10の各構成要素の制御や状態監視を行う。SVP15は、パーソナルコンピュータやオフィスコンピュータ等である。SVP15は、内部通信路又はLAN等の通信手段を介してCHA11、DKC12、DKA13等のストレージ装置10の構成要素と随時通信を行い、各構成要素から稼働情報等を取得して管理装置40に提供する。またSVP15は管理装置40から送られてくる制御情報や稼働情報に基づき、各構成要素の設定や制御、保守(ソフトウェアの導入や更新を含む)を行う。   The SVP 15 controls each component of the storage apparatus 10 and monitors the state. The SVP 15 is a personal computer, an office computer, or the like. The SVP 15 communicates with the components of the storage apparatus 10 such as the CHA 11, DKC 12, and DKA 13 through communication means such as an internal communication path or LAN, and obtains operation information from each component and provides it to the management apparatus 40. To do. The SVP 15 performs setting, control, and maintenance (including software installation and update) of each component based on control information and operation information sent from the management device 40.

管理装置40は、SVP15とLAN等を介して通信可能に接続されるコンピュータである。管理装置40はストレージ装置10の制御や監視のためのGUI(Graphical User Interface)やCLI(Command Line Interface)等を用いたユーザインタフェースを備える。   The management device 40 is a computer that is communicably connected to the SVP 15 via a LAN or the like. The management device 40 includes a user interface using a GUI (Graphical User Interface), a CLI (Command Line Interface), or the like for controlling and monitoring the storage device 10.

ディスク制御部(DKC)12の構成
次に、図2を参照して、本実施例におけるDKC12のハードウェア構成について説明する。図2は、DKC12のハードウェア構成の一例を示す図である。DKC12は、MP(マイクロプロセッサ)121、MCH(Memory Controller Hub)122、MPA(MicroProcessor Adapter)124、及びPCIeスイッチ126A、126Bを備えている。MP121、MCH122、MPA124、及びPCIeスイッチ(端末ノード)126A、126Bの間は、PCIeプロトコルを採用するツリー状のデータ転送路によって通信可能に接続されている。したがって、DKC12において、MP121がルートノード(ルートコンプレックス)、MCH122、MPA124、PCIeスイッチ126A、126Bがノードと位置づけられる。
Configuration of Disk Control Unit (DKC) 12 Next, the hardware configuration of the DKC 12 in this embodiment will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of the hardware configuration of the DKC 12. The DKC 12 includes an MP (microprocessor) 121, an MCH (Memory Controller Hub) 122, an MPA (MicroProcessor Adapter) 124, and PCIe switches 126A and 126B. The MP 121, the MCH 122, the MPA 124, and the PCIe switches (terminal nodes) 126A and 126B are communicably connected by a tree-shaped data transfer path adopting the PCIe protocol. Therefore, in the DKC 12, the MP 121 is positioned as a root node (root complex), the MCH 122, the MPA 124, and the PCIe switches 126A and 126B as nodes.

図3Aに、MP121の構成の一例を示している。MP121は、CPU、MPU、DMA(Direct Memory Access)等を用いて構成されたプロセッサ1212を備え、前述のように、CHA11とDKA13とを介した、サーバ装置20と記憶装置14との間のデータ転送を制御する等の、DKC12の主要な機能を実現する。このような機能は、各MP121に設けられているローカルメモリ1213にあらかじめ格納してあるマイクロプログラムを読み出して実行することを通じて行われる。内部通信I/F1211は、内部通信路を介してCHA11、DKA13、及びメモリ123と通信を行う。   FIG. 3A shows an example of the configuration of the MP 121. The MP 121 includes a processor 1212 configured using a CPU, MPU, DMA (Direct Memory Access), etc., and as described above, data between the server device 20 and the storage device 14 via the CHA 11 and the DKA 13. The main functions of the DKC 12 such as controlling transfer are realized. Such a function is performed by reading and executing a microprogram stored in advance in a local memory 1213 provided in each MP 121. The internal communication I / F 1211 communicates with the CHA 11, the DKA 13, and the memory 123 via an internal communication path.

図3Bに、MP121で動作するソフトウェアの構成の一例を示している。MP121のローカルメモリ1213には、データ制御部1214、及びルーティング情報管理部1215の機能を実現するためにプロセッサ1212により実行されるマイクロプログラムと、後述するPCIeスイッチ126A、126Bが、PCIeプロトコル通信によって転送されるデータパケットの転送経路であるパスが設定されているルーティングテーブル1216とが格納されている。データ制御部1214は、DKC12において行われるデータ処理全般を制御する機能を有する。ルーティング情報管理部1215は、後述のルーティングテーブル1216に記録される情報を所定のタイミングで更新し、後述するPCIeスイッチ126A、126Bに転送する。ルーティングテーブル1216は、ストレージ装置10の構成に従ってあらかじめMP121のローカルメモリ1213に格納されており、ストレージ装置10の初期電源投入時に、各PCIeスイッチ126A、126Bに転送されてそこでデータパケットの転送制御に使用される。   FIG. 3B shows an example of the configuration of software that operates on the MP 121. A microprogram executed by the processor 1212 to realize the functions of the data control unit 1214 and the routing information management unit 1215 and PCIe switches 126A and 126B described later are transferred to the local memory 1213 of the MP 121 by PCIe protocol communication. A routing table 1216 in which a path that is a transfer route of the data packet to be set is set is stored. The data control unit 1214 has a function of controlling overall data processing performed in the DKC 12. The routing information management unit 1215 updates information recorded in a routing table 1216 described later at a predetermined timing, and transfers the information to the PCIe switches 126A and 126B described later. The routing table 1216 is stored in advance in the local memory 1213 of the MP 121 in accordance with the configuration of the storage apparatus 10, and is transferred to each of the PCIe switches 126A and 126B when the storage apparatus 10 is initially turned on, and used for data packet transfer control there. Is done.

なお、図2の例では4つのMP121がDKC12に設けられているが、MP121の設置数はこれ以外の数であってもよい。   In the example of FIG. 2, four MPs 121 are provided in the DKC 12, but the number of MPs 121 may be other than this.

MCH122は、MP121とメモリ123、あるいはMPA124等の他の周辺デバイスとの間での通信を制御するブリッジ回路を備えている。本実施例では、MCH122は、4つのPCIeプロトコルの通信ポート122−1〜122−4を備え、MPA124との通信を行う。   The MCH 122 includes a bridge circuit that controls communication between the MP 121 and the memory 123 or another peripheral device such as the MPA 124. In the present embodiment, the MCH 122 includes four PCIe protocol communication ports 122-1 to 122-4, and performs communication with the MPA 124.

メモリ123は、RAM又はROMで構成されており、例えば、DKC12全体のデータ処理を制御するためのプログラム等を格納する制御メモリ、あるいは記憶装置14から読み出したデータ、あるいは記憶装置14に書き込むデータを一時的に格納するための記憶領域を提供する共有メモリとして使用される。   The memory 123 is composed of a RAM or a ROM, for example, a control memory for storing a program for controlling data processing of the entire DKC 12, data read from the storage device 14, or data to be written to the storage device 14. Used as a shared memory that provides a storage area for temporary storage.

MPA124は、MP121とPCIeスイッチ126A、126Bとの間でのデータ転送を中継する機能を有し、図2の例では、MCH122の通信ポート122−1〜122−4とそれぞれPCIeプロトコルによって通信可能に接続されている4つの通信ポート124−1〜124−4、及びPCIeスイッチ126Aの通信ポート126A−1、126A−2、PCIeスイッチ126Bの通信ポート126B−1、126B−2とそれぞれPCIeプロトコルによって通信可能に接続されている4つの通信ポート124−5〜124−8を備えている。これらの通信ポート124−1〜124−8を通じて、記憶装置14へのデータI/Oが転送される。   The MPA 124 has a function of relaying data transfer between the MP 121 and the PCIe switches 126A and 126B. In the example of FIG. 2, the MPA 124 can communicate with the communication ports 122-1 to 122-4 of the MCH 122 by the PCIe protocol. Communicates with the four connected communication ports 124-1 to 124-4, the communication ports 126 A- 1 and 126 A- 2 of the PCIe switch 126 A, and the communication ports 126 B- 1 and 126 B- 2 of the PCIe switch 126 B using the PCIe protocol. It has four communication ports 124-5 to 124-8 that are connected to each other. Data I / O to the storage device 14 is transferred through these communication ports 124-1 to 124-8.

一方、MPA124は、PCIeスイッチ126A、126Bそれぞれと、サイドバンド通信路125を通じて通信可能に接続されている。サイドバンド通信路125は、データI/O以外のDKC12内における制御データの転送に使用される。サイドバンド通信路125は、例えば適宜のシリアル通信路として構成することができ、本実施例では、MP121からルーティングテーブル1216のデータを受信して格納するときのデータ転送路として使用される。   On the other hand, the MPA 124 is communicably connected to each of the PCIe switches 126A and 126B through the sideband communication path 125. The sideband communication path 125 is used for transferring control data in the DKC 12 other than the data I / O. The sideband communication path 125 can be configured as an appropriate serial communication path, for example, and is used as a data transfer path when receiving and storing data of the routing table 1216 from the MP 121 in this embodiment.

PCIeスイッチ126Aの通信ポート126A−3〜126A−Nは、デバイス1〜デバイスm(130)のいずれかと、それぞれPCIeプロトコルによって通信可能に接続されている。また、PCIeスイッチ126Bの通信ポート126B−3〜126B−Nは、同様にデバイスm+1〜デバイスnのいずれかと、PCIeプロトコルによって通信可能に接続されている。   The communication ports 126A-3 to 126A-N of the PCIe switch 126A are communicably connected to any one of the devices 1 to m (130) by the PCIe protocol. Similarly, the communication ports 126B-3 to 126B-N of the PCIe switch 126B are communicably connected to any one of the devices m + 1 to n by the PCIe protocol.

デバイス1〜デバイスnはPCIeスイッチ126A、126B等と同様にノードであり、それぞれDKC12に含まれるCHA11、DKA13のいずれかに対応し、具体的にはCHA11、DKA13に備えられているPCIeプロトコルの通信ポートにあるPCIe送受信チップである。   The devices 1 to n are nodes like the PCIe switches 126A and 126B, and correspond to either CHA11 or DKA13 included in the DKC 12, and specifically, communication of the PCIe protocol provided in the CHA11 and DKA13. PCIe transmit / receive chip at the port.

また、PCIeスイッチ126AとPCIeスイッチ126Bの間には、デバイス1〜mのデバイス群とデバイスm+1〜デバイスnのデバイス群との間でのデータ転送を可能とするために、PCIeプロトコルの通信路であるスイッチ間パス127(ノード間データ転送パス)が設けられている。前述のように、ストレージ装置10においては、一つの通信路(パス)に障害が生じたことだけによって運用に支障が出ることは許されないので、図2に示すように、スイッチ間パス127は二重系とされている。しかし、前述したように、本来ツリー構造のみが許容されるPCIeプロトコルの通信路には、このような二重系のパスを設定することができない。そこで、本実施例では、このような二重系のスイッチ間パス127の設定を可能とする構成を提案するものである。   Further, a PCIe protocol communication path is used between the PCIe switch 126A and the PCIe switch 126B in order to enable data transfer between the device groups of the devices 1 to m and the device groups of the devices m + 1 to n. A certain inter-switch path 127 (inter-node data transfer path) is provided. As described above, in the storage apparatus 10, it is not allowed to hinder the operation only by the failure of one communication path (path). Therefore, as shown in FIG. It is considered a heavy system. However, as described above, such a duplex path cannot be set in the communication path of the PCIe protocol that originally allows only the tree structure. Therefore, this embodiment proposes a configuration that enables the setting of such a duplex switch path 127.

PCIeスイッチ126の構成
次に、PCIeスイッチ126について説明する。PCIeスイッチ126のハードウェア構成の一例を図4Aに、ソフトウェア構成の一例を図4Bに示している。PCIeスイッチ126は、CPU1261、メモリ1262、及びPHY1263から主として構成され、一般に一つのASIC(Application Specific Integrated Circuit)チップとして供給される。CPU1261、メモリ1262、及びPHY1263は、内部通信路によって互いに通信可能に接続されている。
Configuration of PCIe Switch 126 Next, the PCIe switch 126 will be described. An example of the hardware configuration of the PCIe switch 126 is shown in FIG. 4A, and an example of the software configuration is shown in FIG. 4B. The PCIe switch 126 mainly includes a CPU 1261, a memory 1262, and a PHY 1263, and is generally supplied as one ASIC (Application Specific Integrated Circuit) chip. The CPU 1261, the memory 1262, and the PHY 1263 are communicably connected to each other via an internal communication path.

例えばフラッシュメモリ等の不揮発性メモリとして構成されるメモリ1262には、PCIeのデータパケット転送制御等の、PCIeスイッチ126の主要な機能を実現するためのマイクロプログラムが格納されており、CPU1261はこれらのマイクロプログラムを読み出して実行する。PHY1263は、PCIeプロトコルによってデータパケットとして転送されるシリアルデータと、PCIeスイッチ126内部で処理されるパラレルデータとのシリアル−パラレル変換回路を含む、PCIe送受信回路を備えた回路ブロックである。   For example, a memory 1262 configured as a non-volatile memory such as a flash memory stores microprograms for realizing the main functions of the PCIe switch 126 such as PCIe data packet transfer control. Read and execute the microprogram. The PHY 1263 is a circuit block including a PCIe transmission / reception circuit including a serial-parallel conversion circuit for serial data transferred as a data packet by the PCIe protocol and parallel data processed in the PCIe switch 126.

図4Bに示すように、PCIeスイッチ126には、その機能を実現するためのソフトウェアとして、ルーティング処理部1264が設けられている。ルーティング処理部1264は、PCIeスイッチ126において実行されるデータ転送制御において、PCIeプロトコルの各データパケットの転送経路を決定するルーティング制御の機能を有し、CPU1261がメモリ1262から対応するプログラムを読み出して実行することにより実現される。   As shown in FIG. 4B, the PCIe switch 126 is provided with a routing processing unit 1264 as software for realizing the function. The routing processing unit 1264 has a routing control function for determining the transfer route of each data packet of the PCIe protocol in the data transfer control executed in the PCIe switch 126, and the CPU 1261 reads out and executes the corresponding program from the memory 1262. It is realized by doing.

ルーティングテーブル1216は、同様にメモリ1262に格納されており、ルーティング処理部1264が、本実施例のルーティング制御を実行する際に参照するデータテーブルである。前述のように、ルーティングテーブル1216は、MP121によって初期生成され、MCH122、MPA124からサイドバンド通信路125を経由して各PCIeスイッチ126A、126Bに転送され、メモリ1262に格納される。ルーティングテーブル1216の具体的な構成例については後述する。   Similarly, the routing table 1216 is stored in the memory 1262, and is a data table that the routing processing unit 1264 refers to when executing the routing control of this embodiment. As described above, the routing table 1216 is initially generated by the MP 121, transferred from the MCH 122 and MPA 124 to the respective PCIe switches 126 A and 126 B via the sideband communication path 125, and stored in the memory 1262. A specific configuration example of the routing table 1216 will be described later.

データパケットの構成
図5に、PCIeプロトコルで使用されるデータパケットであるトランザクション層パケット(Transaction Layer Packet、以下「TLP」)のデータ構造の一例を示している。TLPは、図示のように、ヘッダ部301とデータ部302とを備えている。ヘッダ部301は、例えばトランザクションタイプ、バス番号、デバイス番号、機能番号、タグ番号、送信先アドレスの各データを含み、データ部302は、TLPによって転送されるペイロードとしての実データを含んでいる。
Configuration of Data Packet FIG. 5 shows an example of a data structure of a transaction layer packet (hereinafter referred to as “TLP”) that is a data packet used in the PCIe protocol. The TLP includes a header section 301 and a data section 302 as shown in the figure. The header section 301 includes, for example, transaction type, bus number, device number, function number, tag number, and destination address data, and the data section 302 includes actual data as a payload transferred by TLP.

本実施例では、TLPのヘッダ部301において、バス番号及びデバイス番号のブロックに送信元アドレス303が、本来の送信先アドレスの一部に送信先アドレス304が記録される。このTLPは、各PCIeスイッチ126のPHY1263において生成され、前記の送信元アドレス303及び送信先アドレス304が記録される。また、データ部302には、後述する本実施例特有のメッセージデータが記録されることがある。   In this embodiment, in the header portion 301 of the TLP, the transmission source address 303 is recorded in the block of the bus number and the device number, and the transmission destination address 304 is recorded in a part of the original transmission destination address. The TLP is generated in the PHY 1263 of each PCIe switch 126, and the transmission source address 303 and the transmission destination address 304 are recorded. In the data portion 302, message data specific to this embodiment, which will be described later, may be recorded.

PCIeスイッチ126によるルーティング制御
次に、本実施例におけるPCIeスイッチ126A、126B間のスイッチ間パス127に関するルーティング制御について説明する。図6は、PCIeスイッチ126A、126B間のスイッチ間パス127を介したTLPの転送の流れを示す模式図である。なお、以下PCIeスイッチ126A、126Bを互いに区別することなく、PCIeスイッチ単体として言及する場合には、単にPCIeスイッチ126という。後出のルーティングテーブル1216A、1216Bについても同様とする。
Next, routing control related to the inter-switch path 127 between the PCIe switches 126A and 126B in the present embodiment will be described. FIG. 6 is a schematic diagram showing a TLP transfer flow through the inter-switch path 127 between the PCIe switches 126A and 126B. Hereinafter, the PCIe switches 126A and 126B are simply referred to as the PCIe switch 126 when referred to as a single PCIe switch without distinguishing from each other. The same applies to the routing tables 1216A and 1216B described later.

図6の例において、各PCIeスイッチ126A、126Bは、通信ポート0〜5を備えている。通信ポートに付した識別IDとしての数字は、他の識別符号であってもよい。PCIeスイッチ126Aでは、通信ポート0〜5は、それぞれMPA124の通信ポートR1、デバイスD1〜D3、及び2本のスイッチ間パス127に接続されている。また、PCIeスイッチ126Bでは、通信ポート0〜5は、それぞれMPA124の通信ポートR2、デバイスD4〜D6、及び2本のスイッチ間パス127に接続されている。   In the example of FIG. 6, each of the PCIe switches 126 </ b> A and 126 </ b> B includes communication ports 0 to 5. The number as the identification ID attached to the communication port may be another identification code. In the PCIe switch 126A, the communication ports 0 to 5 are connected to the communication port R1, the devices D1 to D3, and the two inter-switch paths 127 of the MPA 124, respectively. In the PCIe switch 126B, the communication ports 0 to 5 are connected to the communication port R2, the devices D4 to D6, and the two inter-switch paths 127 of the MPA 124, respectively.

図6において、両端に矢印を付した破線は、PCIeスイッチ126A、126Bを介したTLPの転送経路を示している。図6の例では、デバイスD1(130)からPCIeスイッチ126Aの通信ポート1で受信されたTLPは、通信ポート4からスイッチ間パス127を通じてPCIeスイッチ126Bの通信ポート4で受信され、通信ポート2からデバイスD5に送信されることを示している。PCIe規格では、前述のようにツリー構造のトポロジーを前提としているため、デバイスD1からPCIeスイッチ126Aの通信ポート4を通じてデバイス5に送信されたTLPに対する完了通知は、同様に、PCIeスイッチ126Bの通信ポート4を通じてデバイスD1に返す必要がある。言い換えれば、あるデバイスからPCIeスイッチ126A、PCIeスイッチ126Bを通じて他のデバイスに送信されるTLPと、それに対する完了通知は、往復とも同一のスイッチ間パス127を通じて転送する必要がある。なお、完了通知については、後出の図20Aに関して説明する。   In FIG. 6, broken lines with arrows at both ends indicate TLP transfer paths via the PCIe switches 126A and 126B. In the example of FIG. 6, the TLP received from the device D1 (130) at the communication port 1 of the PCIe switch 126A is received from the communication port 4 through the inter-switch path 127 at the communication port 4 of the PCIe switch 126B. It is transmitted to the device D5. Since the PCIe standard is based on the tree structure topology as described above, the completion notification for the TLP transmitted from the device D1 to the device 5 through the communication port 4 of the PCIe switch 126A is similarly the communication port of the PCIe switch 126B. 4 needs to be returned to the device D1. In other words, a TLP transmitted from one device to another device through the PCIe switch 126A and the PCIe switch 126B and a completion notification for the TLP must be transferred through the same inter-switch path 127 in both round trips. Note that the completion notification will be described later with reference to FIG. 20A.

ルーティングテーブル1216の構成
次に、図6に例示したパケットの転送制御を実現するために設定されるルーティングテーブル1216の構成について説明する。図7A、図7Bは、PCIeスイッチ126A、PCIeスイッチ126Bにそれぞれ格納されるルーティングテーブル1216A、1216Bの設定例を示している。ルーティングテーブル1216は、前述のように、MP121によって生成されて、各PCIeスイッチ126A、126Bに転送され、メモリ1262に格納される。
Configuration of Routing Table 1216 Next, the configuration of the routing table 1216 set to realize the packet transfer control illustrated in FIG. 6 will be described. 7A and 7B show setting examples of routing tables 1216A and 1216B stored in the PCIe switch 126A and the PCIe switch 126B, respectively. As described above, the routing table 1216 is generated by the MP 121, transferred to the PCIe switches 126A and 126B, and stored in the memory 1262.

ルーティングテーブル1216には、エントリA1、B1、送信元IDA2、B2、送信先IDA3、B3、ポート番号A4、B4、及びイネーブルフラグA5、B5の各項目が記録されている。エントリA1、B1は、各ルーティングテーブル1216に記録されているデータエントリを互いに識別するためのIDである。送信元IDA2、B2は、TLPの送信元であるデバイスを互いに識別するためのID(図6の例ではD1)である。送信先IDA3、B3は、TLPの送信先であるデバイスを互いに識別するためのID(図6の例ではD5)である。ポート番号A4、B4(使用ノード間データ転送パス情報)は、各PCIeスイッチ126において、TLPが送出される通信ポートを互いに識別するためのIDである(図6の例では4)。イネーブルフラグA5、B5は、各エントリA1、B1に特定されているTLPの転送パスが使用可能であるかを示すフラグである。対応するエントリA1、B1においてTLPの転送パスが使用可能であれば1が、使用不能であれば0が、それぞれイネーブルフラグA5、B5に記録される。   In the routing table 1216, entries A1, B1, transmission source IDs A2, B2, transmission destination IDs A3, B3, port numbers A4, B4, and enable flags A5, B5 are recorded. The entries A1 and B1 are IDs for identifying the data entries recorded in each routing table 1216 from each other. The transmission source IDs A2 and B2 are IDs (D1 in the example of FIG. 6) for mutually identifying devices that are TLP transmission sources. The transmission destination IDs A3 and B3 are IDs (D5 in the example of FIG. 6) for mutually identifying devices that are transmission destinations of the TLP. Port numbers A4 and B4 (inter-node data transfer path information) are IDs for identifying the communication ports to which TLPs are transmitted in each PCIe switch 126 (4 in the example of FIG. 6). The enable flags A5 and B5 are flags indicating whether or not the TLP transfer path specified in each entry A1 and B1 is usable. In the corresponding entries A1 and B1, 1 is recorded in the enable flags A5 and B5, respectively, if the TLP transfer path is usable and 0 if not usable.

いま、図7Aを参照すると、PCIeスイッチ126Aについて、送信元IDA2が「D1」、送信先IDA3が「D5」であるエントリA1「12」において、ポート番号A4が4、イネーブルフラグA5が1である。これは、デバイスD1からデバイスD5にTLPを転送する場合、ポート番号A4として4が割り当てられているスイッチ間パス127が使用されるように設定されており、またそのパスは使用可能であることを意味している。   Now, referring to FIG. 7A, for the PCIe switch 126A, the port number A4 is 4 and the enable flag A5 is 1 in the entry A1 “12” in which the transmission source IDA2 is “D1” and the transmission destination IDA3 is “D5”. . This is because when the TLP is transferred from the device D1 to the device D5, the inter-switch path 127 to which 4 is assigned as the port number A4 is set to be used, and the path is usable. I mean.

同様に、図7Bを参照すると、PCIeスイッチ126Bについて、送信元IDB2が「D5」、送信先IDB3が「D1」であるエントリB1「25」において、ポート番号B4が4、イネーブルフラグB5が1である。これは、デバイスD5からデバイスD1にTLPを転送する場合、ポート番号A4として4が割り当てられているスイッチ間パス127が使用されるように設定されており、またそのパスは使用可能であることを意味している。   Similarly, referring to FIG. 7B, for the PCIe switch 126B, in the entry B1 “25” in which the transmission source IDB2 is “D5” and the transmission destination IDB3 is “D1”, the port number B4 is 4 and the enable flag B5 is 1. is there. This is because when the TLP is transferred from the device D5 to the device D1, the inter-switch path 127 to which 4 is assigned as the port number A4 is set to be used, and the path is usable. I mean.

PCIeスイッチ126A、126Bのルーティング処理部1264は、メモリ1262に格納されているこれらのルーティングテーブル1216を参照して、それぞれデバイスD1からデバイスD5へのTLP転送と、それに応じた完了通知の返信を実行することができる。   The routing processing unit 1264 of the PCIe switches 126A and 126B refers to the routing table 1216 stored in the memory 1262 and executes TLP transfer from the device D1 to the device D5 and returns a completion notification in response thereto, respectively. can do.

ルーティングテーブル1216の初期設定処理
次に、以上説明した図7A、図7Bのルーティングテーブル1216の初期設定処理について説明する。図8に、ルーティングテーブル1216の初期設定処理フローの一例を示している。この初期設定処理は、ストレージ装置10の電源が投入されてDKC12に電源が供給されるようになったことを契機として、MP121のルーティング情報管理部1215によって実行される。以下、MP121を動作主体として記載した場合は、MP121がルーティング情報管理部1215の機能に対応するプログラムを実行することを意味するものとする。また、図8及び後出の他の図において、各処理ステップを示す符号に付した「S」はステップを意味する。
Initial Setting Processing of Routing Table 1216 Next, the initial setting processing of the routing table 1216 of FIGS. 7A and 7B described above will be described. FIG. 8 shows an example of an initial setting process flow of the routing table 1216. This initial setting process is executed by the routing information management unit 1215 of the MP 121 when the power of the storage apparatus 10 is turned on and power is supplied to the DKC 12. Hereinafter, when the MP 121 is described as an operation subject, it means that the MP 121 executes a program corresponding to the function of the routing information management unit 1215. Further, in FIG. 8 and other figures described later, “S” attached to a reference numeral indicating each processing step means a step.

まず、MP121は、DKC12の電源投入後、SVP15からストレージ装置10に関してSVP15が収集した構成情報を取得して、自身のローカルメモリに保持されているルーティングテーブル1216に格納されている情報を必要に応じて更新する(S601)。ストレージ装置10に関する構成情報は、管理装置40から管理者等が人手でSVP15に入力するようにしてもよい。   First, the MP 121 acquires the configuration information collected by the SVP 15 regarding the storage device 10 from the SVP 15 after the DKC 12 is turned on, and uses the information stored in the routing table 1216 held in its own local memory as necessary. (S601). The configuration information related to the storage device 10 may be manually input to the SVP 15 by the administrator or the like from the management device 40.

例えば、MP121が、SVP15から新たに取得したストレージ装置10の構成情報により、図6のデバイスD6が取り外されていることを検知した場合、MP121は、自身のローカルメモリが保持しているルーティングテーブル1216において、デバイス6に対応づけられているイネーブルフラグA5、B5を1から0に変更する。これにより、ルーティングテーブル1216上で、デバイスD6が含まれる転送パスは使用できないことが設定されたことになる。   For example, when the MP 121 detects that the device D6 in FIG. 6 is removed from the configuration information of the storage apparatus 10 newly acquired from the SVP 15, the MP 121 has a routing table 1216 held in its local memory. , The enable flags A5 and B5 associated with the device 6 are changed from 1 to 0. As a result, it is set on the routing table 1216 that the transfer path including the device D6 cannot be used.

次に、MP121は、ローカルメモリ1213から更新されたルーティングテーブル1216の情報を読み出して(S602)、MCH122を介してそれをMPA124に転送する(S603)。MPA124は、受信したルーティングテーブル1216の情報を、サイドバンド通信路125を通じてPCIeスイッチ126A、126Bに送信する(S604)。PCIeスイッチ126A、126Bは、受信したルーティングテーブル1216の情報をそれぞれのメモリ1262に格納する(S605)。   Next, the MP 121 reads the updated information in the routing table 1216 from the local memory 1213 (S602), and transfers it to the MPA 124 via the MCH 122 (S603). The MPA 124 transmits the received information of the routing table 1216 to the PCIe switches 126A and 126B through the sideband communication path 125 (S604). The PCIe switches 126A and 126B store the received information of the routing table 1216 in the respective memories 1262 (S605).

以上の処理によれば、各PCIeスイッチ126に格納されているルーティングテーブル1216の情報を、ストレージ装置10の電源が投入される毎に最新の状態に更新しておくことができ、各PCIeスイッチ126は、常時使用可能なパスを使用して確実にTLPを転送することができる。   According to the above processing, the information in the routing table 1216 stored in each PCIe switch 126 can be updated to the latest state every time the storage apparatus 10 is powered on. Can reliably transfer the TLP using the always available path.

一部デバイスが実装されていない場合のルーティング制御
次に、図6に例示した構成において、デバイスD5、D6がストレージ装置10に実装されていない場合について説明する。図9に、図6で、デバイスD5、D6が実装されていない場合のパケットの流れを示す模式図を示している。また、図10A、図10Bに、図9に対応してPCIeスイッチ126A、126Bがそれぞれ使用するルーティングテーブル1216A、1216Bを示している。
Next, a case where the devices D5 and D6 are not mounted in the storage apparatus 10 in the configuration illustrated in FIG. 6 will be described. FIG. 9 is a schematic diagram illustrating a packet flow when the devices D5 and D6 are not mounted in FIG. 10A and 10B show routing tables 1216A and 1216B used by the PCIe switches 126A and 126B, respectively, corresponding to FIG.

この場合、いずれのPCIeスイッチ126A、126Bも、送信元あるいは送信先デバイスとしてデバイスD5、D6を含むパスは使用することができないことが明らかであるから、図10A、図10Bにおいて、破線で囲んで示しているように、送信元IDA2、B2、送信先IDA3、B3に「D5」又は「D6」を含むエントリA1、B1に対応付けられているイネーブルフラグA5、B5には、0が設定されている。このような状態は、例えば、デバイスD5、D6に対応する記憶デバイスが接続されていない状態でストレージ装置10に電源が投入された場合に生じる。   In this case, it is clear that none of the PCIe switches 126A and 126B can use the path including the devices D5 and D6 as a transmission source or transmission destination device. Therefore, in FIG. 10A and FIG. As shown, the enable flags A5 and B5 associated with the entries A1 and B1 including “D5” or “D6” in the transmission source IDs A2 and B2 and the transmission destination IDs A3 and B3 are set to 0. Yes. Such a state occurs, for example, when the storage apparatus 10 is powered on in a state where the storage devices corresponding to the devices D5 and D6 are not connected.

一部デバイスに障害が発生した場合の処理
次に、図6に例示した構成において、デバイスD3に障害が発生した場合について説明する。図11に、図6で、デバイスD3に障害が発生した場合のパケットの流れを示す模式図を示している。各PCIeスイッチ126A、126Bは、その一般的な機能として、自身が有するCPU1261によって、各通信ポート126−nの状態を常時モニタする機能を備えているため、各デバイスにおける障害発生を検知して自律的に対処することが可能である。図12A、図12Bに、図11に対応してPCIeスイッチ126A、126Bがそれぞれ使用するルーティングテーブル1216A、1216Bを示している。
Processing when a failure has occurred in some devices Next, a case where a failure has occurred in the device D3 in the configuration illustrated in FIG. 6 will be described. FIG. 11 is a schematic diagram illustrating a packet flow when a failure occurs in the device D3 in FIG. Each of the PCIe switches 126A and 126B has a function of constantly monitoring the state of each communication port 126-n by its own CPU 1261 as its general function. It is possible to cope with it. 12A and 12B show routing tables 1216A and 1216B used by the PCIe switches 126A and 126B, respectively, corresponding to FIG.

この場合、いずれのPCIeスイッチ126A、126Bも、送信元あるいは送信先デバイスとしてデバイスD3を含むパスは使用することができないことが明らかであるから、図12A、図12Bにおいて、破線で囲んで示しているように、送信元IDA2、B2、送信先IDA3、B3に「D3」を含むエントリA1、B1に対応付けられているイネーブルフラグA5、B5には、0が設定されている。   In this case, it is clear that none of the PCIe switches 126A and 126B can use a path including the device D3 as a transmission source or transmission destination device. Therefore, in FIG. 12A and FIG. As shown, the enable flags A5 and B5 associated with the entries A1 and B1 including “D3” in the transmission source IDs A2 and B2 and the transmission destination IDs A3 and B3 are set to 0.

デバイス障害に対応する通信ポートの閉塞処理
以上説明したデバイス障害発生時においてPCIeスイッチ126で実行される通信ポートの閉塞処理について説明する。図13に、通信ポート閉塞処理フローの一例を示している。通信ポート閉塞処理は、PCIeスイッチ126のルーティング処理部1264によって実行される。なお、図13の例では、ルーティング処理部1264が各通信ポートを通じて接続している各デバイスの状態をモニタしているものとするが、別にモニタ部を設ける構成を採用してもよい。
Communication Port Blocking Process Corresponding to Device Failure The communication port blocking process executed by the PCIe switch 126 when the above-described device failure occurs will be described. FIG. 13 shows an example of a communication port blocking process flow. The communication port blocking process is executed by the routing processing unit 1264 of the PCIe switch 126. In the example of FIG. 13, it is assumed that the routing processing unit 1264 monitors the status of each device connected through each communication port, but a configuration in which a monitoring unit is provided separately may be employed.

まず、ルーティング処理部1264は、自身が属するPCIeスイッチ126に接続するデバイスDの状態に異常があるかを、例えば当該デバイスDとの間のデータI/Oをモニタすることによって常時判定し(S1101、S1102)、あるデバイスに障害を検出した場合(S1102、Yes)、障害発生を検知したデバイスDが接続している通信ポート126−n(図11のデバイスD3では通信ポート3)を閉塞するために、ルーティングテーブル1216において閉塞しようとする通信ポート126−nのポート番号A4、B4に対応付けられているイネーブルフラグA5、B5を0に設定する。そして、ルーティング処理部1264は、デバイスDに障害が発生し、対応する通信ポート126−nを閉塞したことを、サイドバンド通信路125、MPA124、MCH122を通じてMP121に通知する(S1104)。通知を受けたMP121は、SVP15を通じて管理装置40に障害への対処を要求する情報等を送信することができる。   First, the routing processing unit 1264 always determines whether there is an abnormality in the state of the device D connected to the PCIe switch 126 to which the routing processing unit 1264 belongs, for example, by monitoring data I / O with the device D (S1101). S1102), when a failure is detected in a certain device (S1102, Yes), the communication port 126-n (communication port 3 in the device D3 in FIG. 11) connected to the device D that has detected the failure is blocked. In addition, the enable flags A5 and B5 associated with the port numbers A4 and B4 of the communication port 126-n to be blocked in the routing table 1216 are set to 0. Then, the routing processing unit 1264 notifies the MP 121 through the sideband communication path 125, the MPA 124, and the MCH 122 that a failure has occurred in the device D and the corresponding communication port 126-n has been blocked (S1104). Upon receiving the notification, the MP 121 can transmit information etc. requesting the management apparatus 40 to cope with the failure through the SVP 15.

以上説明した処理によれば、PCIeスイッチ126は、デバイス障害を検知して対応する通信ポート126−nを閉塞することにより、障害発生デバイスを含むデータ転送パスを確実に使用できない状態とし、また管理者等にデバイス障害への対処を促す情報を提供することができる。   According to the processing described above, the PCIe switch 126 detects a device failure and closes the corresponding communication port 126-n, thereby making it impossible to reliably use the data transfer path including the failed device. It is possible to provide information that prompts a person etc. to cope with a device failure.

デバイス増設時の処理
次に、図9に例示した、デバイスD5、D6が実装されていない構成において、デバイスD5が増設された場合について説明する。図14に、図9で、デバイスD5を増設した場合のパケットの流れを示す模式図を示している。図15A、図15Bに、図14に対応してPCIeスイッチ126A、126Bがそれぞれ使用するルーティングテーブル1216A、1216Bを示している。
Processing when Device is Added Next, a case where the device D5 is added in the configuration in which the devices D5 and D6 illustrated in FIG. 9 are not mounted will be described. FIG. 14 is a schematic diagram showing a packet flow when the device D5 is added in FIG. 15A and 15B show routing tables 1216A and 1216B used by the PCIe switches 126A and 126B, respectively, corresponding to FIG.

この場合、いずれのPCIeスイッチ126A、126Bも、送信元あるいは送信先デバイスとしてデバイスD5を含むパスを使用することが可能となった一方で、デバイスD6を含むパスは依然として使用することができない。図15A、図15Bにおいて、送信元あるいは送信先デバイスとしてデバイスD5を含むエントリA1、B1については、対応するイネーブルフラグA5、B5が0から1に変更されている。また、破線で囲んで示しているように、送信元IDA2、B2、送信先IDA3、B3に「D6」を含むエントリA1、B1に対応付けられているイネーブルフラグA5、B5には、依然として0が設定されている。   In this case, any of the PCIe switches 126A and 126B can use the path including the device D5 as a transmission source or transmission destination device, while the path including the device D6 still cannot be used. 15A and 15B, for the entries A1 and B1 including the device D5 as a transmission source or transmission destination device, the corresponding enable flags A5 and B5 are changed from 0 to 1. In addition, as indicated by being surrounded by broken lines, the enable flags A5 and B5 associated with the entries A1 and B1 including “D6” in the transmission source IDs A2 and B2 and the transmission destination IDs A3 and B3 are still 0. Is set.

デバイス増設対応処理
以上説明したデバイス増設時において、PCIeスイッチ126で実行されるデバイス増設対応処理について説明する。図16に、デバイス増設対応処理フローの一例を示している。デバイス増設対応処理は、MP121が、ローカルメモリに格納されている、対応するマイクロプログラムを実行することによって行われる。
Device Expansion Support Processing The device expansion support processing executed by the PCIe switch 126 at the time of device expansion described above will be described. FIG. 16 shows an example of a device addition support processing flow. The device expansion support processing is performed by the MP 121 executing a corresponding microprogram stored in the local memory.

まず、MP121は、デバイス増設後、最初にストレージ装置10の電源が投入されたこと、あるいは管理装置40からSVP15を通じてデバイス増設対応処理実行の命令を受け付けたことを契機として、SVP15からストレージ装置10に関してSVP15が収集した構成情報を取得する(S1401)。   First, after the device is added, the MP 121 first relates to the storage device 10 from the SVP 15 when the storage device 10 is first turned on or when the management device 40 receives an instruction to execute the device addition corresponding process through the SVP 15. The configuration information collected by the SVP 15 is acquired (S1401).

次に、MP121は、自身のローカルメモリに保持されているルーティングテーブル1216に格納されている情報について、送信元あるいは送信先デバイスとして増設されたデバイス(図14の例ではデバイスD5)を含むエントリA1、B1に対応するイネーブルフラグA5、B5を0から1に変更する(S1402)。ストレージ装置10に関する構成情報は、管理装置40から管理者等が人手でSVP15に入力するようにしてもよい。   Next, with respect to the information stored in the routing table 1216 held in its own local memory, the MP 121 includes an entry A1 including a device (device D5 in the example of FIG. 14) added as a transmission source or transmission destination device. , B1 enable flags A5 and B5 are changed from 0 to 1 (S1402). The configuration information related to the storage device 10 may be manually input to the SVP 15 by the administrator or the like from the management device 40.

次に、MP121は、ローカルメモリから更新されたルーティングテーブル1216の情報を読み出して、MCH122を介してそれをMPA124に転送する(S1403)。MPA124は、受信したルーティングテーブル1216の情報を、サイドバンド通信路125を通じてPCIeスイッチ126A、126Bに送信する(S1404)。PCIeスイッチ126A、126Bは、受信したルーティングテーブル1216の情報をそれぞれのメモリ1262に格納する(S1405)。   Next, the MP 121 reads the updated information in the routing table 1216 from the local memory, and transfers it to the MPA 124 via the MCH 122 (S1403). The MPA 124 transmits the received information of the routing table 1216 to the PCIe switches 126A and 126B through the sideband communication path 125 (S1404). The PCIe switches 126A and 126B store the received information of the routing table 1216 in the respective memories 1262 (S1405).

以上説明した処理によれば、データパケットの送信元あるいは送信先となるデバイスが増設された場合でも、PCIeスイッチ126は、以後自動的に当該増設されたデバイスを含むデータ転送パスを使用することができるようになる。   According to the processing described above, even when a device serving as a transmission source or a transmission destination of a data packet is added, the PCIe switch 126 can automatically use a data transfer path including the added device thereafter. become able to.

スイッチ間パス127に障害が発生した場合の処理
次に、図6に例示した構成において、PCIeスイッチ126A、126Bの間を接続している2本のスイッチ間パス127のうち、PCIeスイッチ126A、126Bの通信ポート5同士を接続するパス127に障害が発生した場合について説明する。図17に、図6で、PCIeスイッチ126の通信ポート5を使用しているスイッチ間パス127に障害が発生した場合のパケットの流れを示す模式図を示している。図18A、図18Bには、図17に対応してPCIeスイッチ126A、126Bがそれぞれ使用するルーティングテーブル1216A、1216Bを示している。
Processing when a failure occurs in the inter-switch path 127 Next, in the configuration illustrated in FIG. 6, the PCIe switches 126A and 126B out of the two inter-switch paths 127 connecting the PCIe switches 126A and 126B. A case where a failure has occurred in the path 127 that connects the communication ports 5 to each other will be described. FIG. 17 is a schematic diagram showing a packet flow when a failure occurs in the inter-switch path 127 using the communication port 5 of the PCIe switch 126 in FIG. 18A and 18B show routing tables 1216A and 1216B used by the PCIe switches 126A and 126B, respectively, corresponding to FIG.

この場合、いずれのPCIeスイッチ126A、126Bも、他方のPCIeスイッチ126A、126Bにデータパケットを転送するときに、通信ポート5を含むパスを使用することができない。したがって、図18A、図18Bにおいて、送信元デバイスA2、B2あるいは送信先デバイスA3、B3のポート番号A4、B4として「5」を含むエントリA1、B1については、破線で囲んで示しているように、それらを「4」に変更している。なお、図18A、図18Bにおいてはそれら該当箇所を、理解しやすくするために「5→4」と記述しているが、実際には変更後の使用通信ポートを示す「4」を記録すれば足りる。   In this case, none of the PCIe switches 126A and 126B can use the path including the communication port 5 when transferring the data packet to the other PCIe switches 126A and 126B. Accordingly, in FIGS. 18A and 18B, the entries A1 and B1 including “5” as the port numbers A4 and B4 of the transmission source devices A2 and B2 or the transmission destination devices A3 and B3 are surrounded by broken lines. , They are changed to “4”. In FIG. 18A and FIG. 18B, the corresponding portions are described as “5 → 4” for easy understanding. However, if “4” indicating the used communication port after the change is actually recorded, It ’s enough.

MP121を使用する障害パス代替処理
以上説明した、スイッチ間パス127での障害発生時に、MP121によって実行される障害パス代替処理について説明する。図19に、障害パス代替処理フローの一例を示している。障害パス代替処理は、MP121が、ローカルメモリに格納されている、対応するマイクロプログラムにより実行する処理とPCIeスイッチ126のルーティング処理部1264による処理とが協働して行われる。
Fault path substitution process using MP 121 The fault path substitution process executed by the MP 121 when a fault occurs in the inter-switch path 127 described above will be described. FIG. 19 shows an example of the fault path replacement processing flow. The fault path replacement process is performed by the MP 121 cooperating with the process executed by the corresponding microprogram stored in the local memory and the process by the routing processing unit 1264 of the PCIe switch 126.

まず、PCIeスイッチ126のルーティング処理部1264は、ストレージ装置10の稼働中、スイッチ間パス127に含まれる通信ポート(図6の例では通信ポート4、5)に障害が発生しているか監視を継続し(S1701、No)、いずれかの通信ポートに障害が発生したことを検出した場合(S1701、Yes)、MP121にスイッチ間パス127に含まれる通信ポートに障害が発生したことを通知する(S1702)。   First, the routing processing unit 1264 of the PCIe switch 126 continues monitoring whether a failure has occurred in the communication ports (communication ports 4 and 5 in the example of FIG. 6) included in the inter-switch path 127 while the storage apparatus 10 is operating. If it is detected that a failure has occurred in any one of the communication ports (S1701, Yes), the MP 121 is notified that a failure has occurred in the communication port included in the inter-switch path 127 (S1702). ).

前記通知を受け取ったMP121は、自身のローカルメモリに保持されているルーティングテーブル1216に格納されている情報について、送信元デバイスA2、B2あるいは送信先デバイスA3、B3のポート番号A4、B4として障害発生が通知された通信ポート(図17の例では通信ポート「5」)を含むエントリA1、B1については、それらを他方の正常な通信ポートの番号(図17の例では通信ポート「4」)に変更する(S1703)。   Receiving the notification, the MP 121 generates a failure with respect to the information stored in the routing table 1216 held in its own local memory as the port numbers A4 and B4 of the transmission source devices A2 and B2 or the transmission destination devices A3 and B3. , For the entries A1 and B1 including the communication port (communication port “5” in the example of FIG. 17), the other normal communication port number (communication port “4” in the example of FIG. 17). Change (S1703).

次に、MP121は、ローカルメモリから更新されたルーティングテーブル1216の情報を読み出して、MCH122を介してそれをMPA124に転送する(S1704)。MPA124は、受信したルーティングテーブル1216の情報を、サイドバンド通信路125を通じてPCIeスイッチ126A、126Bに送信する(S1705)。PCIeスイッチ126A、126Bは、受信したルーティングテーブル1216の情報をそれぞれのメモリ1262に格納する(S1706)。   Next, the MP 121 reads the updated information of the routing table 1216 from the local memory, and transfers it to the MPA 124 via the MCH 122 (S1704). The MPA 124 transmits the received information of the routing table 1216 to the PCIe switches 126A and 126B through the sideband communication path 125 (S1705). The PCIe switches 126A and 126B store the received information of the routing table 1216 in the respective memories 1262 (S1706).

以上説明した処理によれば、いずれかのスイッチ間パス127に障害が発生した場合でも、PCIeスイッチ126間でのデータパケットの転送を継続することができるので、ストレージ装置10としての信頼性、可用性を向上させることができる。   According to the processing described above, even when a failure occurs in any of the inter-switch paths 127, the data packet transfer between the PCIe switches 126 can be continued. Can be improved.

障害発生時の応答処理
次に、前述したスイッチ間パス127での障害発生時に、PCIeスイッチ126において実行される応答処理について説明する。図20A〜図20Cは、あるデバイスXから他のデバイスにYに、PCIeスイッチを介してリード要求が送信された場合を例として、本実施例のPCIeスイッチ126における応答処理を説明する模式図である。
Next, a response process executed in the PCIe switch 126 when a failure occurs in the inter-switch path 127 described above will be described. 20A to 20C are schematic diagrams illustrating response processing in the PCIe switch 126 of the present embodiment, taking as an example a case where a read request is transmitted from a certain device X to another device Y to the other device via the PCIe switch. is there.

PCIeスイッチ126を介したデバイスXからデバイスYまでのデータ転送パスが正常である場合、図20Aに示すように、デバイスXから送信されたリード要求はPCIeスイッチによって転送され、デバイスYで受信される。リード要求を受信したデバイスYは、要求に係るデータを読み出して、完了通知とともにPCIeスイッチに送信し、PCIeスイッチによってデバイスXに転送される。この一連のデータ転送処理により、デバイスXは自身が送信したリード要求が正常に処理されたことを確認することができる。   When the data transfer path from the device X to the device Y via the PCIe switch 126 is normal, the read request transmitted from the device X is transferred by the PCIe switch and received by the device Y as shown in FIG. . The device Y that has received the read request reads out the data related to the request, transmits it to the PCIe switch together with the completion notification, and is transferred to the device X by the PCIe switch. Through this series of data transfer processing, the device X can confirm that the read request transmitted by itself has been processed normally.

図20Bは、図20Aの処理において、PCIeスイッチになんらかの障害が発生し、PCIeスイッチがリード要求の送信先であるデバイスYにリード要求を転送できない場合に従来実行されている応答処理を例示している。この場合、PCIeスイッチは、デバイスYにリード要求の転送を試行しているにもかかわらず、デバイスYから完了通知を受信することができないので、PCIeスイッチは、一定時間完了通知の受信を待機した後、タイムアウトエラー発生と判定して、その旨のメッセージを含む完了通知をデバイスXに送信する。したがって、デバイスXではPCIeスイッチでのタイムアウトエラー処理後でなければリード要求送信結果を確認することができないため、データ処理効率が低下するおそれがある。   FIG. 20B exemplifies a response process that is conventionally executed when a failure occurs in the PCIe switch in the process of FIG. 20A and the PCIe switch cannot transfer the read request to the device Y that is the transmission destination of the read request. Yes. In this case, since the PCIe switch cannot receive the completion notification from the device Y even though it tries to transfer the read request to the device Y, the PCIe switch waits for reception of the completion notification for a certain period of time. Thereafter, it is determined that a timeout error has occurred, and a completion notification including a message to that effect is transmitted to the device X. Therefore, the device X can confirm the read request transmission result only after the timeout error processing in the PCIe switch, and there is a possibility that the data processing efficiency is lowered.

図20Cは、本実施例におけるPCIeスイッチでの応答処理を例示している。図19に関して説明したように、本実施例の場合、PCIeスイッチ126は、自身のルーティング処理部1264の機能により、通信ポートに障害が発生していることを検出することができる。したがって、模式的に図示しているように、PCIeスイッチは、デバイスXからのリード要求が、障害が発生しているデータ転送パスを通じて送信先であるデバイスYに送信されるものであると判定した場合、デバイスXからのリード要求をデバイスYに向けて送信することなく、ただちにデバイスXに送信エラーが発生した旨の情報を含む完了通知を返信することができる。このため、デバイスXは従来のようにPCIeスイッチからのタイムアウトエラー情報を待つことなく処理を進めることができ、データ処理効率の低下を防止することができる。   FIG. 20C illustrates the response process at the PCIe switch in the present embodiment. As described with reference to FIG. 19, in the case of the present embodiment, the PCIe switch 126 can detect that a failure has occurred in the communication port by the function of its own routing processing unit 1264. Therefore, as schematically illustrated, the PCIe switch determines that the read request from the device X is to be transmitted to the destination device Y through the failed data transfer path. In this case, without sending a read request from the device X to the device Y, a completion notification including information indicating that a transmission error has occurred in the device X can be returned immediately. For this reason, the device X can proceed without waiting for timeout error information from the PCIe switch as in the prior art, and can prevent a decrease in data processing efficiency.

応答処理に用いるデータ構成例
図21に、図20Cに例示するパス障害発生時に実行する応答処理において、PCIeスイッチがリード要求の送信元であるデバイスXに送信する完了通知データの構成例を示している。この完了通知には、ヘッダ部に通常の完了通知と同様に、完了通知であることを示す情報、送信元ID、及び送信先IDが含まれている一方、データ部には、デバイスYへのデータ転送パスに障害が発生して転送ができないことを示す情報、例えばエラーコード、障害が発生した通信ポートID、後出の物理層エラーカウンタ値等を格納することができる。これにより、MP121のマイクロプログラム等が別途エラー情報を取得する処理を行う必要がなくなる。なお、図21に示すリード要求のデータ構成例は、従来と同様であり、またトランザクションタイプはリード要求以外のライト要求等であってもよい。
Example of Data Configuration Used for Response Processing FIG. 21 shows a configuration example of completion notification data that the PCIe switch transmits to the device X that is the source of the read request in the response processing executed when the path failure occurs illustrated in FIG. Yes. The completion notification includes information indicating that it is a completion notification, a transmission source ID, and a transmission destination ID in the header portion, as in the normal completion notification, while the data portion includes Information indicating that a data transfer path has failed and cannot be transferred, for example, an error code, a communication port ID in which a failure has occurred, a physical layer error counter value described later, and the like can be stored. This eliminates the need for the MP121 microprogram or the like to separately perform error information processing. The data structure example of the read request shown in FIG. 21 is the same as the conventional one, and the transaction type may be a write request other than the read request.

通信ポート障害検出処理
次に、図19の障害パス代替処理において実行される通信ポート障害検出ステップ(S1701)について、本実施例に即してより詳細に説明する。図22に、本実施例において、PCIeスイッチ126のルーティング処理部1264が実行するポート障害検出処理フローの一例を示している。
Communication Port Failure Detection Processing Next, the communication port failure detection step (S1701) executed in the failure path replacement processing of FIG. 19 will be described in more detail with reference to this embodiment. FIG. 22 shows an example of a port failure detection processing flow executed by the routing processing unit 1264 of the PCIe switch 126 in this embodiment.

ストレージ装置10の稼働中、ルーティング処理部1264は、各通信ポート126−nを構成しているPHY1263が正常に動作しているかを継続して監視し(S2001、No)、いずれかのPHY1263に障害が発生したことにより当該PHY1263が構成する通信ポート126−nを含むデータ転送パスの物理層に障害が発生したと判定した場合(S2001、Yes)、ルーティング処理部1264に保持している物理層障害検出用カウンタをインクリメントする(S2002)。   While the storage apparatus 10 is in operation, the routing processing unit 1264 continuously monitors whether the PHY 1263 constituting each communication port 126-n is operating normally (S2001, No), and any PHY 1263 fails. When it is determined that a failure has occurred in the physical layer of the data transfer path including the communication port 126-n that the PHY 1263 configures (S2001, Yes), the physical layer failure held in the routing processing unit 1264 The detection counter is incremented (S2002).

次に、ルーティング処理部1264は、物理層障害判定用カウンタのカウンタ値があらかじめ障害判定用としてルーティング処理部1264内に設定されている閾値を越えたか判定し(S2003)、越えていないと判定した場合(S2003、No)、S2001に処理を戻して引き続き各通信ポート126−nの物理層監視を継続する。   Next, the routing processing unit 1264 determines whether the counter value of the physical layer failure determination counter exceeds the threshold value set in the routing processing unit 1264 in advance for failure determination (S2003), and determines that it has not exceeded. In the case (S2003, No), the processing is returned to S2001 and the physical layer monitoring of each communication port 126-n is continued.

ルーティング処理部1264が、前記カウンタ値が閾値を越えていると判定した場合(S2003、Yes)、ルーティング処理部1264は、その検出したカウンタ値、障害が発生した通信ポート126−nのID(例えば図6のポート番号「4」、「5」)を含めた通信ポート126−nの物理層障害情報をMP121に転送する(S2004)。MP121は、受信した物理層障害情報に基づいて、自身が保持しているルーティングテーブル1216を更新することができる。   When the routing processing unit 1264 determines that the counter value exceeds the threshold value (S2003, Yes), the routing processing unit 1264 determines the detected counter value and the ID of the communication port 126-n where the failure has occurred (for example, The physical layer failure information of the communication port 126-n including the port numbers “4” and “5” in FIG. 6) is transferred to the MP 121 (S2004). The MP 121 can update the routing table 1216 held by the MP 121 based on the received physical layer failure information.

PCIeスイッチ126での障害パス代替処理
次に、障害パス代替処理を、MP121による処理を介在させることなく、PCIeスイッチ126で自律的に実行するための構成について説明する。図23A、図23Bは、PCIeスイッチ126で障害パス代替処理を実行する場合に使用されるルーティングテーブル1216の設定例を示している。これらのルーティングテーブル1216A、1216Bは、図7A、図7B等に例示した本実施例のルーティングテーブル1216と比較して、代替ポート番号A41、B41の項目が追加されている点が異なっている。
Failure Path Replacement Processing at PCIe Switch 126 Next, a configuration for autonomously executing failure path replacement processing at the PCIe switch 126 without intervention of processing by the MP 121 will be described. FIG. 23A and FIG. 23B show setting examples of the routing table 1216 used when executing the fault path replacement process by the PCIe switch 126. These routing tables 1216A and 1216B differ from the routing table 1216 of this embodiment illustrated in FIGS. 7A and 7B in that the items of alternative port numbers A41 and B41 are added.

PCIeスイッチ126は、正常時はポート番号A4、B4の項目に記録されている通信ポート126−nを使用してデバイス間のデータ転送処理を実行する。そして、それらの正常時に使用される通信ポート126−nに障害が発生したことをルーティング処理部1264が検出した場合、障害が発生した通信ポート126−nに対応付けて記録されている代替ポート番号A41、B41によって特定される他の通信ポート126−nを使用してデータ転送処理を行う。図23A、図23Bの例では、図6に例示した構成に即して、ポート番号A4、B4が「4」、「5」の通信ポート126−nには、それぞれ代替ポート番号A41、B41として、「5」、「4」が設定されている。   The PCIe switch 126 executes data transfer processing between devices by using the communication port 126-n recorded in the items of the port numbers A4 and B4 when normal. When the routing processing unit 1264 detects that a failure has occurred in the communication port 126-n used in the normal state, the alternative port number recorded in association with the communication port 126-n in which the failure has occurred. Data transfer processing is performed using another communication port 126-n specified by A41 and B41. In the example of FIGS. 23A and 23B, in accordance with the configuration illustrated in FIG. 6, the communication ports 126-n whose port numbers A4 and B4 are “4” and “5” are respectively designated as alternative port numbers A41 and B41. , “5”, “4” are set.

次に、代替ポート番号A41、B41が設定されている図23A、図23Bのルーティングテーブル1216A、1216Bを用いたPCIeスイッチ126における障害パス代替処理フローについて説明する。図24に、PCIeスイッチ126における障害パス代替処理フローの一例を示している。   Next, a failure path replacement process flow in the PCIe switch 126 using the routing tables 1216A and 1216B in FIGS. 23A and 23B in which the alternative port numbers A41 and B41 are set will be described. FIG. 24 shows an example of a fault path replacement process flow in the PCIe switch 126.

まず、PCIeスイッチ126のルーティング処理部1264は、ストレージ装置10の稼働中、スイッチ間パス127に含まれる通信ポート(図6の例では通信ポート4、5)に障害が発生しているか監視を継続し(S2201、No)、いずれかの通信ポートに障害が発生したことを検出した場合(S2201、Yes)、自身に保持されているルーティングテーブル1216を参照して代替ポート番号A41、B41が記録されているか判定する(S2202)。   First, the routing processing unit 1264 of the PCIe switch 126 continues monitoring whether a failure has occurred in the communication ports (communication ports 4 and 5 in the example of FIG. 6) included in the inter-switch path 127 while the storage apparatus 10 is operating. However, if it is detected that a failure has occurred in one of the communication ports (S2201, Yes), the substitute port numbers A41 and B41 are recorded with reference to the routing table 1216 held by itself. It is determined whether it is present (S2202).

記録されていると判定した場合(S2202、Yes)、ルーティング処理部1264は、障害発生した通信ポート126−nについて、以後設定されている代替ポート番号A41、B41を使用してデータ転送処理を実行する(S2203)。代替ポート番号A41、B41が記録されていないと判定した場合(S2202、No)、ルーティング処理部1264は、ルーティングテーブル1216において、障害発生を検出した通信ポート126−nに対応するポート番号が記録されているエントリについて、イネーブルフラグA5、B5を0に変更し(S2204)、以後当該通信ポート126−nを使用したデータ転送処理は行わない。   If it is determined that it is recorded (S2202, Yes), the routing processing unit 1264 executes data transfer processing for the failed communication port 126-n using the alternative port numbers A41 and B41 that are set thereafter. (S2203). When it is determined that the alternative port numbers A41 and B41 are not recorded (S2202, No), the routing processing unit 1264 records the port number corresponding to the communication port 126-n in which the failure occurrence is detected in the routing table 1216. Enable flags A5 and B5 are changed to 0 (S2204), and data transfer processing using the communication port 126-n is not performed thereafter.

以上説明した処理によれば、いずれかのスイッチ間パス127に障害が発生した場合でも、PCIeスイッチ126にて代替の通信ポート126−nに切り替えてデータパケットの転送を継続することができるので、MP121の処理負荷を増大させることなくストレージ装置10としての信頼性、可用性を向上させることができる。   According to the processing described above, even when a failure occurs in any of the inter-switch paths 127, the PCIe switch 126 can switch to the alternative communication port 126-n and continue to transfer the data packet. The reliability and availability of the storage apparatus 10 can be improved without increasing the processing load of the MP 121.

なお、以上の実施形態では、同一のDKC12内に設けられているスイッチ間パス127について実行される処理を説明したが、本発明は、異なる2つのDKC12あるいは異なる装置筐体に設けられているスイッチ間に設けられる二重系データ転送パスにも適用することができる。   In the above embodiment, the processing executed for the inter-switch path 127 provided in the same DKC 12 has been described. However, the present invention can be applied to two different DKCs 12 or switches provided in different device housings. The present invention can also be applied to a dual data transfer path provided between them.

以上詳細に説明した本発明の実施形態によれば、データ転送路の信頼性を高めつつシステムとしての可用性を向上させるストレージ制御装置、及びデータの転送方法を提供することができる。   According to the embodiments of the present invention described in detail above, it is possible to provide a storage control device and a data transfer method that improve the availability of the system while improving the reliability of the data transfer path.

以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。   Although the present embodiment has been described above, the above embodiment is intended to facilitate understanding of the present invention and is not intended to limit the present invention. The present invention can be changed and improved without departing from the gist thereof, and the present invention includes equivalents thereof.

Claims (11)

ルートノードから複数のノードにツリー状に分岐しつつその間を通信可能に接続するデータ転送路を有し、前記ルートノードと前記複数のノードとの間でシリアルデータ伝送が行われる情報処理装置であって、
前記複数のノードのうちの少なくとも1組のノード間に設けられた、前記シリアルデータ伝送が行われる2本のノード間データ転送パスと、
前記ノード間データ転送パスの両端にある前記ノードである端末ノードにそれぞれ設けられており、各前記端末ノードが他方の前記端末ノードを介して送信先である前記ノードのいずれかに送信元である他の前記ノードのいずれかから受信したデータを転送する場合に、前記送信先のノードから前記送信元のノードへの返信データを、前記送信先のノードへのデータ転送に使用した前記ノード間データ転送パスと同一の前記ノード間データ転送パスを使用して転送するルーティング処理部と、
を備えている情報処理装置。
An information processing apparatus that has a data transfer path that branches from a root node to a plurality of nodes in a tree shape and that is communicably connected, and performs serial data transmission between the root node and the plurality of nodes. And
Two inter-node data transfer paths for performing the serial data transmission provided between at least one set of the plurality of nodes;
Provided in each of the terminal nodes that are the nodes at both ends of the inter-node data transfer path, and each of the terminal nodes is a transmission source to one of the nodes that are transmission destinations via the other terminal node When transferring data received from any of the other nodes, the inter-node data used for data transfer from the transmission destination node to the transmission source node is used for data transfer to the transmission destination node. A routing processing unit that transfers data using the same inter-node data transfer path as the transfer path;
An information processing apparatus comprising:
請求項1に記載の情報処理装置であって、
当該情報処理装置は、記録媒体とコンピュータとの間でのデータI/Oを制御するストレージ制御装置であり、
前記ルートノードと前記複数のノードとの間でのシリアルデータ伝送は、PCI Express(登録商標)規格で行われ、前記端末ノードはPCI Express用のスイッチであり、
前記複数のノードには、記録媒体とのデータI/Oを制御するディスクアダプタと、前記コンピュータとの間での通信を制御するチャネルアダプタが含まれ、
各前記端末ノードが、前記送信元のノードと前記送信先のノードとの各組み合わせに対応付けて、前記ノード間データ転送パスのいずれを使用してデータ転送を実行するかを示す情報である使用ノード間データ転送パス情報を保持しており、
前記ルーティング処理部は、転送しようとするデータに記録されている前記送信元ノード及び前記送信先ノードに基づいて前記使用ノード間データ転送パス情報を取得し、
前記ルートノードが、前記データ転送路を通じて各前記ノードの接続状態を示し情報を収集し、その収集した情報に基づいて前記使用ノード間データ転送パス情報を生成して前記端末ノードに転送し、
前記ルーティング処理部が、前記送信元ノード又は前記送信先ノードのいずれかと通信できないことを検出した場合、当該送信元ノード又は送信先ノードを含む前記使用ノード間データ転送パス情報に、当該ノード間データ転送パスを使用することができない旨の情報を記録し、
前記ルーティング処理部が、通信できないことを検出した前記送信元ノード又は前記送信先ノードについて通信可能となったことを検出した場合、当該送信元ノード又は送信先ノードを含む前記使用ノード間データ転送パス情報に、当該ノード間データ転送パスが使用可能である旨の情報を記録し、
前記ルーティング処理部が、いずれかの前記ノード間データ転送パスが使用できなくなったことを検出した場合、前記ルートノードにその旨を通知し、
前記ルートノードは自身が生成した前記使用ノード間データ転送パス情報について、使用できない前記ノード間データ転送パスに代えて、使用することができる前記ノード間データ転送パスを記録し、当該使用ノード間データ転送パス情報を前記端末ノードに転送し、
前記ルーティング処理部は、前記送信元ノードから使用できない前記ノード間データ転送パスを使用する前記送信先ノードへ転送すべきデータを受信した場合、当該送信先ノードへのデータ転送ができない旨の情報を前記送信元ノードに送信する、
情報処理装置。
The information processing apparatus according to claim 1,
The information processing apparatus is a storage control apparatus that controls data I / O between a recording medium and a computer.
Serial data transmission between the root node and the plurality of nodes is performed according to the PCI Express (registered trademark) standard, and the terminal node is a switch for PCI Express,
The plurality of nodes include a disk adapter that controls data I / O with a recording medium, and a channel adapter that controls communication with the computer,
Information indicating which of the inter-node data transfer paths is used to perform data transfer in association with each combination of the source node and the destination node Holds data transfer path information between nodes,
The routing processing unit acquires the inter-use node data transfer path information based on the transmission source node and the transmission destination node recorded in the data to be transferred,
The root node collects information indicating a connection state of each node through the data transfer path, generates the inter-node data transfer path information based on the collected information, and transfers the information to the terminal node.
When the routing processing unit detects that it cannot communicate with either the transmission source node or the transmission destination node, the inter-node data is included in the inter-use node data transfer path information including the transmission source node or the transmission destination node. Record information that the transfer path cannot be used,
When the routing processing unit detects that communication is possible with respect to the transmission source node or the transmission destination node that has detected that communication cannot be performed, the data transfer path between used nodes including the transmission source node or the transmission destination node In the information, record information that the inter-node data transfer path is available,
When the routing processing unit detects that any of the inter-node data transfer paths cannot be used, notifies the root node to that effect,
The root node records the inter-node data transfer path that can be used instead of the unusable inter-node data transfer path for the inter-use node data transfer path information generated by itself, and the inter-use node data Transfer forwarding path information to the terminal node;
When the routing processing unit receives data to be transferred to the destination node that uses the inter-node data transfer path that cannot be used from the source node, information indicating that the data cannot be transferred to the destination node. Transmitting to the source node;
Information processing device.
請求項1に記載の情報処理装置であって、
各前記端末ノードが、前記送信元のノードと前記送信先のノードとの各組み合わせに対応付けて、前記ノード間データ転送パスのいずれを使用してデータ転送を実行するかを示す情報である使用ノード間データ転送パス情報を保持しており、
前記ルーティング処理部は、転送しようとするデータに記録されている前記送信元ノード及び前記送信先ノードに基づいて前記使用ノード間データ転送パス情報を取得する、
情報処理装置。
The information processing apparatus according to claim 1,
Information indicating which of the inter-node data transfer paths is used to perform data transfer in association with each combination of the source node and the destination node Holds data transfer path information between nodes,
The routing processing unit acquires the inter-use node data transfer path information based on the transmission source node and the transmission destination node recorded in the data to be transferred.
Information processing device.
請求項3に記載の情報処理装置であって、
前記ルートノードが、前記データ転送路を通じて各前記ノードの接続状態を示し情報を収集し、その収集した情報に基づいて前記使用ノード間データ転送パス情報を生成して前記端末ノードに転送する、
情報処理装置。
The information processing apparatus according to claim 3,
The root node collects information indicating a connection state of each node through the data transfer path, generates the inter-use node data transfer path information based on the collected information, and transfers the information to the terminal node;
Information processing device.
請求項1に記載の情報処理装置であって、
前記ルーティング処理部が、前記送信元ノード又は前記送信先ノードのいずれかと通信できないことを検出した場合、当該検出した送信元ノード又は送信先ノードを含む前記使用ノード間データ転送パス情報に、当該ノード間データ転送パスを使用することができない旨の情報を記録する、
情報処理装置。
The information processing apparatus according to claim 1,
When the routing processing unit detects that it cannot communicate with either the transmission source node or the transmission destination node, the data transfer path information between the used nodes including the detected transmission source node or transmission destination node includes the node Record information that the inter-data transfer path cannot be used,
Information processing device.
請求項5に記載の情報処理装置であって、
前記ルーティング処理部が、通信できないことを検出した前記送信元ノード又は前記送信先ノードについて通信可能となったことを検出した場合、当該送信元ノード又は送信先ノードを含む前記使用ノード間データ転送パス情報に、当該ノード間データ転送パスが使用可能である旨の情報を記録する、
情報処理装置。
The information processing apparatus according to claim 5,
When the routing processing unit detects that communication is possible with respect to the transmission source node or the transmission destination node that has detected that communication cannot be performed, the data transfer path between used nodes including the transmission source node or the transmission destination node In the information, record information that the inter-node data transfer path is usable.
Information processing device.
請求項3に記載の情報処理装置であって、
前記ルーティング処理部が、いずれかの前記ノード間データ転送パスが使用できなくなったことを検出した場合、前記ルートノードにその旨を通知し、
前記ルートノードは自身が生成した前記使用ノード間データ転送パス情報について、使用できない前記ノード間データ転送パスに代えて、使用することができる前記ノード間データ転送パスを記録し、当該使用ノード間データ転送パス情報を前記端末ノードに転送する、
情報処理装置。
The information processing apparatus according to claim 3,
When the routing processing unit detects that any of the inter-node data transfer paths cannot be used, notifies the root node to that effect,
The root node records the inter-node data transfer path that can be used instead of the unusable inter-node data transfer path for the inter-use node data transfer path information generated by itself, and the inter-use node data Forwarding forwarding path information to the terminal node;
Information processing device.
請求項1に記載の情報処理装置であって、
前記ルーティング処理部は、前記送信元ノードから使用できない前記ノード間データ転送パスを使用する前記送信先ノードへ転送すべきデータを受信した場合、当該送信先ノードへのデータ転送ができない旨の情報を前記送信元ノードに送信する、
情報処理装置。
The information processing apparatus according to claim 1,
When the routing processing unit receives data to be transferred to the destination node that uses the inter-node data transfer path that cannot be used from the source node, information indicating that the data cannot be transferred to the destination node. Transmitting to the source node;
Information processing device.
請求項3に記載の情報処理装置であって、
前記ルーティング処理部は、前記使用ノード間データ転送パス情報に、いずれかの前記ノード間データ転送パスが使用できなくなった場合にこれを代替する前記ノード間データ転送パスに関する情報を保持しており、
いずれかの前記ノード間データ転送パスが使用できなくなったことを検出した場合、前記使用ノード間データ転送パス情報を参照し、使用できない前記ノード間データ転送パスに代えて、使用することができる前記ノード間データ転送パスを使用してデータ転送を実行する、
情報処理装置。
The information processing apparatus according to claim 3,
The routing processing unit holds, in the inter-node data transfer path information, information on the inter-node data transfer path that substitutes when any of the inter-node data transfer paths cannot be used,
When it is detected that any of the inter-node data transfer paths can no longer be used, the inter-node data transfer path information is referred to and can be used in place of the unusable inter-node data transfer path Perform data transfer using the node-to-node data transfer path,
Information processing device.
請求項1に記載の情報処理装置であって、
当該情報処理装置は、記録媒体とコンピュータとの間でのデータI/Oを制御するストレージ制御装置であり、
前記ルートノードと前記複数のノードとの間でのシリアルデータ伝送は、PCI Express(登録商標)規格で行われ、前記端末ノードはPCI Express用のスイッチであり、
前記複数のノードには、記録媒体とのデータI/Oを制御するディスクアダプタと、前記コンピュータとの間での通信を制御するチャネルアダプタである、
情報処理装置。
The information processing apparatus according to claim 1,
The information processing apparatus is a storage control apparatus that controls data I / O between a recording medium and a computer.
Serial data transmission between the root node and the plurality of nodes is performed according to the PCI Express (registered trademark) standard, and the terminal node is a switch for PCI Express,
The plurality of nodes include a disk adapter that controls data I / O with a recording medium and a channel adapter that controls communication between the computers.
Information processing device.
ルートノードから複数のノードにツリー状に分岐しつつその間を通信可能に接続するデータ転送路において、前記ルートノードと前記複数のノードとの間でシリアル伝送されるデータの転送方法であって、
前記データ転送路は前記複数のノードのうちの少なくとも1組のノード間に設けられた、前記シリアルデータ伝送が行われる2本のノード間データ転送パスを備え、
前記ノード間データ転送パスの両端にある前記ノードである端末ノードが、各前記端末ノードが他方の前記端末ノードを介して送信先である前記ノードのいずれかに送信元である他の前記ノードのいずれかから受信したデータを転送する場合に、前記送信先のノードから前記送信元のノードへの返信データを、前記送信先のノードへのデータ転送に使用した前記ノード間データ転送パスと同一の前記ノード間データ転送パスを使用して転送する、
データの転送方法。
In a data transfer path for communicatively connecting between a plurality of nodes branched from a root node to a plurality of nodes, a method for transferring data serially transmitted between the root node and the plurality of nodes,
The data transfer path includes two inter-node data transfer paths for performing the serial data transmission, which are provided between at least one set of the plurality of nodes.
The terminal nodes that are the nodes at both ends of the inter-node data transfer path are connected to one of the nodes that are transmission destinations of each of the terminal nodes via the other terminal node. When transferring data received from any of the nodes, the return data from the destination node to the source node is the same as the inter-node data transfer path used for data transfer to the destination node. Transfer using the inter-node data transfer path;
Data transfer method.
JP2012526781A 2010-05-13 2010-05-13 Information processing apparatus and data transfer method Active JP5511960B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/003231 WO2011141963A1 (en) 2010-05-13 2010-05-13 Information processing apparatus and data transfer method

Publications (2)

Publication Number Publication Date
JP2013513137A true JP2013513137A (en) 2013-04-18
JP5511960B2 JP5511960B2 (en) 2014-06-04

Family

ID=43857648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012526781A Active JP5511960B2 (en) 2010-05-13 2010-05-13 Information processing apparatus and data transfer method

Country Status (3)

Country Link
US (1) US8402189B2 (en)
JP (1) JP5511960B2 (en)
WO (1) WO2011141963A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015111206A1 (en) * 2014-01-27 2015-07-30 株式会社日立製作所 Computer system, server module, and storage module

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2482196B1 (en) * 2011-01-31 2016-06-29 Canon Kabushiki Kaisha Image processing apparatus, printing apparatus and controlling method in image processing apparatus
JP5928087B2 (en) 2012-03-29 2016-06-01 富士通株式会社 Switch, information processing apparatus, and communication control method
BR112014027707A2 (en) * 2012-06-06 2017-06-27 Intel Corp recovery after input / output error containment events
AU2012384904B2 (en) * 2012-10-27 2015-04-16 Huawei Technologies Co., Ltd. Method, device, system and storage medium for implementing packet transmission in PCIE switching network
US9003071B2 (en) * 2013-03-13 2015-04-07 Futurewei Technologies, Inc. Namespace access control in NVM express PCIe NVM with SR-IOV
US20140372660A1 (en) * 2013-06-14 2014-12-18 National Instruments Corporation Packet Routing Based on Packet Type in Peripheral Component Interconnect Express Bus Systems
US9003090B1 (en) * 2014-03-25 2015-04-07 DSSD, Inc. PCI express fabric routing for a fully-connected mesh topology
WO2015162777A1 (en) * 2014-04-25 2015-10-29 株式会社日立製作所 Computer system and connection configuration control method
US9553762B1 (en) * 2014-06-26 2017-01-24 Altera Corporation Network-on-chip with fixed and configurable functions
US10353613B2 (en) 2014-11-12 2019-07-16 Hitachi, Ltd. Computer system and control method therefor for handling path failure
US10129184B1 (en) * 2015-09-28 2018-11-13 Amazon Technologies, Inc. Detecting the source of link errors in a cut-through forwarding network fabric
CN105320636B (en) * 2015-09-29 2018-07-13 北京航天发射技术研究所 CAN bus data equivalent device and data processing method
US9842016B2 (en) 2015-11-12 2017-12-12 International Business Machines Corporation Multiple path error data collection in a storage management system
US10073751B2 (en) 2015-11-20 2018-09-11 International Business Machines Corporation Determining cable connections in a multi-cable link
US9985876B2 (en) 2015-11-20 2018-05-29 International Business Machines Corporation Determining cable connections in a multi-cable link
US10013370B2 (en) * 2015-12-29 2018-07-03 EMC IP Holding Company LLC Method and system for providing access of a storage system using a shared storage module as a transport mechanism
US10691628B2 (en) * 2016-05-06 2020-06-23 Quanta Computer Inc. Systems and methods for flexible HDD/SSD storage support
JP2019075032A (en) * 2017-10-19 2019-05-16 富士通株式会社 Storage system, storage control device and program
CN112738149B (en) * 2019-10-29 2023-04-25 贵州白山云科技股份有限公司 Data transmission system and method
CN110990337A (en) * 2019-12-25 2020-04-10 北京锐安科技有限公司 File transfer method and device, computer equipment and storage medium

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280258A (en) * 2006-04-11 2007-10-25 Hitachi Ltd Memory control device
JP2007316755A (en) * 2006-05-23 2007-12-06 Fujitsu Ltd Pci-express communication system
US20080239945A1 (en) * 2007-03-30 2008-10-02 International Business Machines Corporation Peripheral component switch having automatic link failover
JP2009009200A (en) * 2007-06-26 2009-01-15 Hitachi Ltd Storage system and control method for same
JP2009157757A (en) * 2007-12-27 2009-07-16 Hitachi Ltd Storage subsystem
JP2009181418A (en) * 2008-01-31 2009-08-13 Hitachi Ltd Information processing system, i/o switch, and rotation processing method of i/o path
JP2010033125A (en) * 2008-07-25 2010-02-12 Hitachi Ltd Storage apparatus and data transfer method
JP2010108211A (en) * 2008-10-30 2010-05-13 Hitachi Ltd Storage device and data path failover method for internal network of storage controller
JP2011516950A (en) * 2008-03-31 2011-05-26 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Peer-to-peer dedicated processor architecture and method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290168B1 (en) * 2003-02-28 2007-10-30 Sun Microsystems, Inc. Systems and methods for providing a multi-path network switch system
US7765357B2 (en) 2005-03-24 2010-07-27 Fujitsu Limited PCI-express communications system
US20120030380A1 (en) * 2009-04-23 2012-02-02 Shigeyuki Yanagimachi Transmission device, transmission method, and control program for transmission device

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280258A (en) * 2006-04-11 2007-10-25 Hitachi Ltd Memory control device
JP2007316755A (en) * 2006-05-23 2007-12-06 Fujitsu Ltd Pci-express communication system
US20080239945A1 (en) * 2007-03-30 2008-10-02 International Business Machines Corporation Peripheral component switch having automatic link failover
JP2009009200A (en) * 2007-06-26 2009-01-15 Hitachi Ltd Storage system and control method for same
JP2009157757A (en) * 2007-12-27 2009-07-16 Hitachi Ltd Storage subsystem
JP2009181418A (en) * 2008-01-31 2009-08-13 Hitachi Ltd Information processing system, i/o switch, and rotation processing method of i/o path
JP2011516950A (en) * 2008-03-31 2011-05-26 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Peer-to-peer dedicated processor architecture and method
JP2010033125A (en) * 2008-07-25 2010-02-12 Hitachi Ltd Storage apparatus and data transfer method
JP2010108211A (en) * 2008-10-30 2010-05-13 Hitachi Ltd Storage device and data path failover method for internal network of storage controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015111206A1 (en) * 2014-01-27 2015-07-30 株式会社日立製作所 Computer system, server module, and storage module

Also Published As

Publication number Publication date
WO2011141963A1 (en) 2011-11-17
US20110283037A1 (en) 2011-11-17
JP5511960B2 (en) 2014-06-04
US8402189B2 (en) 2013-03-19

Similar Documents

Publication Publication Date Title
JP5511960B2 (en) Information processing apparatus and data transfer method
US9411764B2 (en) Optimized redundant high availability SAS topology
US9697087B2 (en) Storage controller to perform rebuilding while copying, and storage system, and control method thereof
JP5087249B2 (en) Storage system and storage system control method
US8423818B2 (en) Disk array apparatus and method for controlling the same
US9213490B2 (en) Computer system and data migration method
JP5523468B2 (en) Active-active failover for direct attached storage systems
TW201840149A (en) System and method for providing data replication in nvme-of ethernet ssd
US8677181B2 (en) Storage apparatus and method of detecting power failure in storage apparatus
US9645940B2 (en) Apparatus and method for accessing a non-volatile memory blade using multiple controllers in a non-volatile memory based storage device
US9823955B2 (en) Storage system which is capable of processing file access requests and block access requests, and which can manage failures in A and storage system failure management method having a cluster configuration
US20140122816A1 (en) Switching between mirrored volumes
US20110179188A1 (en) Storage system and storage system communication path management method
JP2007086972A (en) Storage system, duplex control method, and program
US10027532B2 (en) Storage control apparatus and storage control method
US20090094483A1 (en) Method of maintaining task sequence within a task domain across error recovery
JP5635621B2 (en) Storage system and storage system data transfer method
JP4939205B2 (en) Apparatus and method for reconfiguring a storage array located in a data storage system
JP2005339216A (en) Memory control system
JP2005267111A (en) Storage control system and method for controlling storage control system
US7752358B2 (en) Storage apparatus and conversion board for increasing the number of hard disk drive heads in a given, limited space
CN113342261A (en) Server and control method applied to same
JP2010049637A (en) Computer system, storage system and configuration management method
US8065556B2 (en) Apparatus and method to manage redundant non-volatile storage backup in a multi-cluster data storage system
US7506201B2 (en) System and method of repair management for RAID arrays

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140131

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: 20140225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140325

R150 Certificate of patent or registration of utility model

Ref document number: 5511960

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150