JP2020119325A - Storage system, and storage controller - Google Patents

Storage system, and storage controller Download PDF

Info

Publication number
JP2020119325A
JP2020119325A JP2019010432A JP2019010432A JP2020119325A JP 2020119325 A JP2020119325 A JP 2020119325A JP 2019010432 A JP2019010432 A JP 2019010432A JP 2019010432 A JP2019010432 A JP 2019010432A JP 2020119325 A JP2020119325 A JP 2020119325A
Authority
JP
Japan
Prior art keywords
address
information
dcm
storage
memory
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
JP2019010432A
Other languages
Japanese (ja)
Other versions
JP7147589B2 (en
Inventor
青吾 檜山
Seigo Hiyama
青吾 檜山
克矢 新潟
Katsuya Niigata
克矢 新潟
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019010432A priority Critical patent/JP7147589B2/en
Publication of JP2020119325A publication Critical patent/JP2020119325A/en
Application granted granted Critical
Publication of JP7147589B2 publication Critical patent/JP7147589B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide a storage system with which the time needed for accessing a memory device across a domain is shortened.SOLUTION: A second storage controller 10-4 comprises: a notification unit 41 for notifying a first storage controller 10-8 of address information in a memory 13 provided in the second storage controller; and a data access request issuing unit 11 for issuing a request for data access to a memory device. The first storage controller 10-8 comprises: a destination setting unit 61 for setting an address in the memory 13 of the second storage controller 10-4 using the address information notified by the notification unit 41, to the destination address of response data created in response to the request for data access to the memory device from the data access request issuing unit 11; and a transmission unit 60 for transmitting the response data to the memory 13 of the second storage controller 10-4, with the destination address having been set by the destination setting unit 61 designated.SELECTED DRAWING: Figure 3

Description

本発明は、ストレージシステム、及びストレージ制御装置に関する。 The present invention relates to a storage system and a storage control device.

スケールアウト型のストレージ制御装置を複数備えるストレージシステムにおいて、アクセス先の記憶装置が他のストレージ制御装置の配下になり、ドメインを跨ったアクセスが必要とされる場合がある。 In a storage system including a plurality of scale-out type storage control devices, an access destination storage device may be under the control of another storage control device, and access across domains may be required.

特開2008−134776号公報JP, 2008-134776, A 特開2010−238131号公報JP, 2010-238131, A

このような従来のドメインを跨ったアクセスを実施する場合、中継装置、例えば、フロントエンドルータ(Front-end Router; FRT)を介して通信を行なうと共に、アクセス先の記憶装置を管理するストレージ制御装置にアクセス処理を依頼することになる。そのため、ドメインを跨った記憶装置へのアクセスを実施する場合には、同一のドメイン内で記憶装置にアクセスするのに比べ、当該アクセスに要する時間が長くなる(レスポンスが遅くなる)場合がある。 When performing such conventional access across domains, a storage control device that communicates via a relay device, for example, a front-end router (FRT), and manages a storage device to be accessed. To request access processing. Therefore, when the storage device is accessed across domains, the time required for the access may be longer (the response may be slower) than when the storage device is accessed in the same domain.

1つの側面では、ドメインを跨った記憶装置へのアクセスに要する時間を短縮させることを目的とする。 In one aspect, the object is to reduce the time required to access a storage device across domains.

このストレージシステムは、第一のストレージ制御装置と、前記第一のストレージ制御装置にインタフェースを介して接続され、前記第一のストレージ制御装置による制御下で動作する記憶装置と、前記第一のストレージ制御装置と通信可能に接続される第二のストレージ制御装置とを備え、前記第二のストレージ制御装置が、当該第二のストレージ制御装置に備えられたメモリにおけるアドレス情報を前記第一のストレージ制御装置に通知する通知部と、前記記憶装置に対するデータアクセス要求を発行するデータアクセス要求発行部とを備え、前記第一のストレージ制御装置が、前記データアクセス要求発行部からの前記記憶装置に対する前記データアクセス要求に応じて作成される応答データの送信先アドレスに、前記通知部によって通知された前記アドレス情報を用いて前記第二のストレージ制御装置の前記メモリにおけるアドレスを設定する宛先設定部と、前記宛先設定部によって設定された前記送信先アドレスを指定して、前記応答データを、前記第二のストレージ制御装置の前記メモリに送信する送信部とを備える。 The storage system includes a first storage control device, a storage device connected to the first storage control device via an interface, and operating under the control of the first storage control device, and the first storage device. A second storage control device communicatively connected to the control device, wherein the second storage control device uses address information in a memory provided in the second storage control device as the first storage control device. A data access request issuing unit for issuing a data access request to the storage device, wherein the first storage control device sends the data to the storage device from the data access request issuing unit. A destination setting unit that sets an address in the memory of the second storage control device by using the address information notified by the notification unit as a destination address of response data created in response to an access request; And a transmission unit that specifies the transmission destination address set by the destination setting unit and transmits the response data to the memory of the second storage control device.

一実施形態によれば、ドメインを跨った記憶装置へのアクセスに要する時間を短縮させることができる。 According to one embodiment, it is possible to reduce the time required to access storage devices across domains.

実施形態の一例としてのストレージシステムのハードウェア構成を例示する図である。It is a figure which illustrates the hardware constitutions of the storage system as an example of embodiment. 実施形態の一例としてのストレージシステムにおけるCMのハードウェア構成を例示する図である。It is a figure which illustrates the hardware constitutions of CM in the storage system as an example of embodiment. 実施形態の一例としてのストレージシステムにおけるCMの機能構成を例示する図である。It is a figure which illustrates the functional structure of CM in the storage system as an example of embodiment. (a)は、実施形態の一例としての情報処理システムにおけるLCMメモリの記憶領域の使用例を示す図であり、(b)は、実施形態の一例としての情報処理システムにおけるDCMメモリの記憶領域の使用例を示す図である。(A) is a figure which shows the usage example of the storage area of LCM memory in the information processing system as an example of embodiment, (b) is a figure which shows the storage area of DCM memory in the information processing system as an example of embodiment. It is a figure which shows a usage example. 実施形態の一例としてのストレージシステムにおけるアクセス用変換情報を例示する図である。It is a figure which illustrates the conversion information for access in the storage system as an example of embodiment. 実施形態の一例としてのストレージシステムにおける割り込み用アドレス変換情報を例示する図である。It is a figure which illustrates the address conversion information for interruptions in a storage system as an example of an embodiment. 実施形態の一例としてのストレージシステムにおける起動時の処理を例示する図である。FIG. 3 is a diagram illustrating processing at startup in a storage system as an example of an embodiment. 実施形態の一例としてのストレージシステムにおけるドメインを跨ったアクセスの処理を例示する図である。FIG. 3 is a diagram illustrating an access process across domains in a storage system as an example of an embodiment. 実施形態の一例としてのストレージシステムにおけるドメインを跨ったアクセスの処理を模式的に例示する図である。FIG. 3 is a diagram schematically illustrating an access process across domains in a storage system as an example of an embodiment. 実施形態の一例としてのストレージシステムにおいて読み出し要求時に送受信される情報を例示する図である。FIG. 3 is a diagram illustrating information transmitted/received at the time of a read request in the storage system as an example of the embodiment. 実施形態の一例としてのストレージシステムにおいて書き込み要求時に送受信される情報を例示する図である。FIG. 3 is a diagram illustrating information transmitted/received at the time of a write request in the storage system as an example of the embodiment. 実施形態の一例としてのストレージシステムにおけるドメインを跨ったアクセスの処理と比較例とを比較する図である。FIG. 6 is a diagram comparing an access process across domains in a storage system as an example of an embodiment with a comparative example. 実施形態の変形例としてのストレージシステムにおける切り替え処理の概要を説明するための図である。It is a figure for explaining an outline of switching processing in a storage system as a modification of an embodiment. 実施形態の変形例としてのストレージシステムにおける切り替え用情報を例示する図である。It is a figure which illustrates the switching information in the storage system as a modification of embodiment. 実施形態の変形例としてのストレージシステムにおける切り替え処理を説明するための図である。It is a figure for demonstrating the switching process in the storage system as a modification of embodiment. 比較例としての異なるドメイン間でのアクセスを例示する図である。It is a figure which illustrates access between different domains as a comparative example. 比較例としての同一ドメイン間での記憶装置へのアクセスを説明するためのシーケンスチャートである。9 is a sequence chart for explaining access to a storage device between the same domains as a comparative example. 比較例としての異なるドメイン間での記憶装置へのアクセスを説明するためのシーケンスチャートである。9 is a sequence chart for explaining access to a storage device between different domains as a comparative example. 比較例としての異なるドメイン間での記憶装置へのアクセスの概要を説明するための図である。FIG. 10 is a diagram for explaining an outline of access to a storage device between different domains as a comparative example.

以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図等はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the embodiments described below are merely examples, and there is no intention of excluding various modifications and application of techniques that are not explicitly shown below. For example, the present embodiment can be variously modified and implemented without departing from the spirit thereof. In addition, in the drawings used in the following embodiments, parts denoted by the same reference numerals represent the same or similar parts unless otherwise specified.

〔1〕比較例に係る異なるドメイン間での記憶装置へのアクセスについて
はじめに、図16を用いて、一実施形態の比較例に係るストレージ制御装置間でのドメインを跨ったアクセス、すなわち、異なるドメイン間での記憶装置へのアクセスについて説明する。なお、以下の処理は、例えば、コンピュータにより実施されてよい。
[1] Access to Storage Device between Different Domains According to Comparative Example First, referring to FIG. 16, access across domains between storage control devices according to a comparative example of one embodiment, that is, different domains. Access to the storage device during the period will be described. The following processing may be implemented by a computer, for example.

図16は、ストレージ制御装置間でのドメインを跨ったアクセスを例示するものである。 FIG. 16 exemplifies access across storage controllers between domains.

この図16に例示するストレージシステム100は、スケールアウト型のストレージ制御装置であるコントローラモジュール(Controller Module; CM)を1つ以上(CM101−0,・・・,CM101−n;nは0以上の整数)備える。また、CM101−0,・・・,CM101−nは、それぞれ、CM#0,・・・,CM#nとも表される。以下、CMを示す符号としては、複数のCMのうち1つを特定する必要があるときには符号101−0,・・・,101−nを用いるが、任意のCMを指すときには符号101を用いる。 The storage system 100 illustrated in FIG. 16 includes one or more controller modules (Controller Modules: CMs) that are scale-out type storage control devices (CM101-0,..., CM101-n; n is 0 or more). Integer). The CMs 101-0,..., CM101-n are also represented as CM#0,..., CM#n, respectively. Hereinafter, as the code indicating the CM, the codes 101-0,..., 101-n are used when it is necessary to specify one of the plurality of CMs, but the code 101 is used to indicate any CM.

さらに、このストレージシステム100は、これら複数のCM101にそれぞれ接続されるFRT103を備える。 Further, the storage system 100 includes an FRT 103 connected to each of the CMs 101.

この図16は、CM#0とCM#1、CM#4とCM#5、CM#8とCM#9とでペアを構成することで本システム100を冗長化することを例示する。 FIG. 16 exemplifies that the system 100 is made redundant by forming pairs of CM#0 and CM#1, CM#4 and CM#5, and CM#8 and CM#9.

そして、CM#0,CM#4,CM#8をプライマリ(現用系)のストレージ制御装置、CM#1,CM#5,CM#9をセカンダリ(予備系)のストレージ制御装置として機能させる。例えば、プライマリのCM#4が故障した場合には、CM#4のセカンダリのストレージ制御装置であるCM#5がCM#4の業務を引き継ぐ。これらセカンダリのストレージ制御装置を、ミラーCM(Mirror Controller Module; MCM)ともいう。 Then, CM#0, CM#4, and CM#8 are made to function as a primary (active system) storage control device, and CM#1, CM#5, CM#9 are made to function as a secondary (standby system) storage control device. For example, when the primary CM#4 fails, the secondary storage control device CM#5 of the CM#4 takes over the task of the CM#4. These secondary storage control devices are also called mirror CM (Mirror Controller Module; MCM).

また、このストレージシステム100では、記憶装置であるSSD(Solid State Drive)を1つ以上備え、このSSDは、NVMe(Non-Volatile Memory express;登録商標)のインタフェースを用いるものとする。なお、このNVMeインタフェースを用いるSSDをNVMe−SSDと表す。 In addition, the storage system 100 includes one or more SSDs (Solid State Drives) that are storage devices, and the SSDs use an interface of NVMe (Non-Volatile Memory express; registered trademark). An SSD using this NVMe interface is referred to as an NVMe-SSD.

図16に例示するように、ストレージシステム100は1つ以上のNVMe−SSD(NVMe−SSD102−0,・・・,NVMe−SSD102−m;mは0以上の整数)を備える。また、NVMe−SSD102−0,・・・,NVMe−SSD102−mは、それぞれ、NVMe−SSD#1,・・・,NVMe−SSD#mとも表される。以下、NVMe−SSDを示す符号としては、複数のNVMe−SSDのうち1つを特定する必要があるときには符号102−1,・・・,102−mを用いるが、任意のNVMe−SSDを指すときには符号102を用いる。 As illustrated in FIG. 16, the storage system 100 includes one or more NVMe-SSDs (NVMe-SSD 102-0,..., NVMe-SSD 102-m; m is an integer of 0 or more). The NVMe-SSD 102-0,..., NVMe-SSD 102-m are also referred to as NVMe-SSD#1,..., NVMe-SSD#m, respectively. Hereinafter, as the code indicating the NVMe-SSD, when it is necessary to specify one of the plurality of NVMe-SSDs, the codes 102-1,..., 102-m are used, but any NVMe-SSD is indicated. The reference numeral 102 is sometimes used.

図16に例示するように、ストレージシステム100では、プライマリのCM#0とセカンダリCM#1とのペアに対して、NVMe−SSD#0を割り当て、プライマリのCM#4とセカンダリCM#5とのペアに対して、NVMe−SSD#2を割り当てる。また、プライマリのCM#8とセカンダリCM#9とのペアに対して、NVMe−SSD#4を割り当てる。すなわち、NVMe−SSD#0,NVMe−SSD#2,NVMe−SSD#4を、それぞれ、CM#0,CM#4,CM#8の配下とする。 As illustrated in FIG. 16, in the storage system 100, the NVMe-SSD#0 is assigned to the pair of the primary CM#0 and the secondary CM#1, and the primary CM#4 and the secondary CM#5 are allocated. The NVMe-SSD #2 is assigned to the pair. Further, the NVMe-SSD #4 is assigned to the pair of the primary CM #8 and the secondary CM #9. That is, NVMe-SSD#0, NVMe-SSD#2, and NVMe-SSD#4 are subordinate to CM#0, CM#4, and CM#8, respectively.

この割り当ては、NVMe−SSD102へのアクセス制御を担当するプライマリのCM101を決定するものである。図16に示す例において、NVMe−SSD#0へのアクセス制御を担当するCM101は、CM#0であり、NVMe−SSD#2へのアクセス制御を担当するCM101は、CM#4である。また、NVMe−SSD#4へのアクセス制御を担当するCM101は、CM#8である。なお、これら各NVMe−SSD102へのアクセス制御を担当するCMを、担当CMともいう。 This allocation determines the primary CM 101 in charge of controlling access to the NVMe-SSD 102. In the example illustrated in FIG. 16, the CM 101 responsible for access control to the NVMe-SSD #0 is CM#0, and the CM 101 responsible for access control to the NVMe-SSD#2 is CM#4. The CM 101 responsible for controlling access to the NVMe-SSD #4 is the CM #8. The CM responsible for controlling access to each NVMe-SSD 102 is also referred to as a responsible CM.

このようなストレージシステム100では、NVMe−SSD102に対して、当該NVMe−SSD102の担当CMからアクセスする場合、担当CMはNVMe−SSD102に直接アクセスできる。 In such a storage system 100, when the CM in charge of the NVMe-SSD 102 accesses the NVMe-SSD 102, the CM in charge can directly access the NVMe-SSD 102.

また、このようなストレージシステム100に備えられるCM101がスケールアウト型のストレージ制御装置である以上、一のCM101から、他のCM101が担当CMとなるNVMe−SSD102へのアクセスが発生する場合がある。 Further, since the CM 101 provided in such a storage system 100 is a scale-out type storage control device, one CM 101 may access the NVMe-SSD 102 in which another CM 101 is the responsible CM.

ここで、図16に例示するように、CM#8が担当CMであるNVMe−SSD#4に対して、CM#4がアクセスする場合を例にとる。図16において、アクセス先であるNVMe−SSD#4の担当CMであるCM#8をドライブコントローラモジュール(Drive Controller Module; DCM)ともいう。また、アクセス元のCMであるCM#4をローカルコントローラモジュール(Local Controller Module; LCM)ともいう。 Here, as illustrated in FIG. 16, a case where the CM#4 accesses the NVMe-SSD#4 which is the CM in charge of the CM#8 is taken as an example. In FIG. 16, the CM#8 that is the responsible CM of the NVMe-SSD#4 that is the access destination is also referred to as a drive controller module (DCM). In addition, CM#4, which is the CM that is the access source, is also referred to as a local controller module (LCM).

CM#4がNVMe−SSD#4にアクセスしようとしても、CM#8が担当CMであるため、CM#4はNVMe−SSD#4に直接アクセスすることができない。そこで、CM#8は、自身のメモリ104上に備えたBECバッファ105に、NVMe−SSD#4のデータを移動させる。そして、CM#4は、FRT103を介してBECバッファ105内のデータを受信することにより当該データにアクセスする。 Even if the CM#4 tries to access the NVMe-SSD#4, the CM#8 cannot directly access the NVMe-SSD#4 because the CM#8 is the responsible CM. Therefore, the CM#8 moves the data of the NVMe-SSD#4 to the BEC buffer 105 provided on its own memory 104. Then, the CM#4 accesses the data by receiving the data in the BEC buffer 105 via the FRT 103.

図17は、同一ドメイン間での記憶装置へのアクセスを説明するためのシーケンスチャートである。具体的に、この図17は、図16に例示するストレージシステム100において、CM#4から自身の配下にあるNVMe−SSD#2に対して読み出し(READ)によるアクセスを実施した場合のシーケンスチャートである。この図17に例示する詳細なステップや、各ステップにおいて送受信されるコマンドについては後述する。 FIG. 17 is a sequence chart for explaining access to the storage device between the same domains. Specifically, FIG. 17 is a sequence chart when the CM#4 accesses the NVMe-SSD#2 under its control in the storage system 100 illustrated in FIG. 16 by reading (READ). is there. Detailed steps illustrated in FIG. 17 and commands transmitted and received in each step will be described later.

この図17に例示するように、CM#4のCPUは、NVMe−SSD#2に対してREADコマンド(“SQ_Bell”コマンド,“SQ”コマンド)を送信する。そして、NVMe−SSD#2は、CM#4のCPUに対して、READデータ(“RD”コマンド)を受信する。その後、NVMe−SSD#2は、CM#4のCPUに対して、READデータを送信した後、READコマンドの完了応答(“CQ”コマンド,“MSI−X”コマンド)を送信する。図17に例示する、これらの各コマンドについては後述する。 As illustrated in FIG. 17, the CM#4 CPU transmits a READ command (“SQ_Bell” command, “SQ” command) to the NVMe-SSD#2. Then, the NVMe-SSD#2 receives the READ data (“RD” command) with respect to the CM#4 CPU. After that, the NVMe-SSD#2 transmits the READ data to the CPU of the CM#4 and then transmits the completion response (“CQ” command, “MSI-X” command) of the READ command. Each of these commands illustrated in FIG. 17 will be described later.

次に、図18は、異なるドメイン間での記憶装置へのアクセスを説明するためのシーケンスチャートである。具体的に、この図18は、図17に例示するストレージシステム100において、CM#4から、CM#8の配下にあるNVMe−SSD#4に対して読み出しによるアクセスを実行した場合のシーケンスチャートである。この図18に例示する詳細なステップと、各ステップにおいて送受信されるコマンドについても後述する。 Next, FIG. 18 is a sequence chart for explaining access to a storage device between different domains. Specifically, FIG. 18 is a sequence chart when a read access is performed from CM#4 to NVMe-SSD#4 under the control of CM#8 in the storage system 100 illustrated in FIG. is there. Detailed steps illustrated in FIG. 18 and commands transmitted and received in each step will be described later.

この図18に例示する一連の処理を、図19を参照しながら説明する。図19は、異なるドメイン間での記憶装置へのアクセスの概要を説明するための図であり、図18のシーケンスチャートに例示する処理を模式的に示したものである。この図19に例示する詳細なステップ、各ステップにおいて送受信されるコマンド、CM#8のメモリ104の構成についても後述する。 A series of processes illustrated in FIG. 18 will be described with reference to FIG. FIG. 19 is a diagram for explaining the outline of access to the storage device between different domains, and schematically shows the processing illustrated in the sequence chart of FIG. Detailed steps illustrated in FIG. 19, commands transmitted and received in each step, and the configuration of the CM 104 memory 104 will also be described later.

この図18に例示するように、CM#4のCPUは、まず、FRT103を介してCM#8のCPUに対しNVMe−SSD#4へのREADアクセス(“Rd req”コマンド)を依頼する。この処理を、図19における矢印W1に示す。 As illustrated in FIG. 18, the CPU of CM#4 first requests the CPU of CM#8 via the FRT 103 for READ access (“Rd req” command) to the NVMe-SSD#4. This process is shown by an arrow W1 in FIG.

続いて、CM#8のCPUが、NVMe−SSD#4に対して、READコマンド(“SQ_Bell”コマンド,“SQ”コマンド)を送信すると、NVMe−SSD#4はこのREADコマンドを受信する。この処理を、図19における矢印W2に示す。 Subsequently, when the CPU of CM#8 transmits a READ command (“SQ_Bell” command, “SQ” command) to NVMe-SSD#4, NVMe-SSD#4 receives this READ command. This process is shown by an arrow W2 in FIG.

続いて、NVMe−SSD#4は、CM#8のCPUに対して、READデータを送信した後、READコマンドの完了応答を送信する。そして、CM#8のCPUは、自身のメモリ上に備えたBECバッファ105に、NVMe−SSD#4に格納されるデータを移動させる。この処理を、図19における矢印W3に示す。 Subsequently, the NVMe-SSD #4 transmits READ data to the CM #8 CPU, and then transmits a READ command completion response. Then, the CM#8 CPU moves the data stored in the NVMe-SSD#4 to the BEC buffer 105 provided in its own memory. This process is shown by an arrow W3 in FIG.

その後、CM#8のCPUは、CM#4のCPUに対して、メモリへの書き込みコマンド(“RD”コマンド)を送信することにより、BECバッファ105に格納されたデータが、FRT103を介してCM#4のCPUに移動される。これにより、CM#4は、BECバッファ内105のデータにアクセスすることになる。この処理を、図19における矢印W4に示す。 Then, the CM#8 CPU sends a memory write command (“RD” command) to the CM#4 CPU, so that the data stored in the BEC buffer 105 is sent to the CM via the FRT 103. Moved to #4 CPU. As a result, CM#4 will access the data in the BEC buffer 105. This process is shown by an arrow W4 in FIG.

図17に例示するシーケンスチャートに比べ、図18に例示するシーケンスチャートでは、CM#4のCPUがCM#8のCPUに対してREADアクセスを依頼するステップ(図19における矢印W1参照)が必要となる。さらに、CM#8のCPUが、CM#4のCPUに対して、メモリへの書き込みコマンドを送信して、BECバッファ105に格納されたデータをCM#4のCPUに移動させるステップ(図19における矢印W4参照)も必要となる。 Compared with the sequence chart illustrated in FIG. 17, the sequence chart illustrated in FIG. 18 requires a step in which the CPU of CM#4 requests READ access to the CPU of CM#8 (see arrow W1 in FIG. 19). Become. Further, a step in which the CM#8 CPU transmits a memory write command to the CM#4 CPU to move the data stored in the BEC buffer 105 to the CM#4 CPU (see FIG. 19). (See arrow W4) is also required.

これらの結果、ドメインを跨った記憶装置へのアクセスを実行する場合には、同一のドメイン間でのアクセスを実行するのに比べて、当該アクセスに要する時間が長くなる(レスポンスが遅くなる)。 As a result, when the storage device is accessed across domains, the time required for the access becomes longer (the response becomes slower) than when the access is performed between the same domains.

〔2〕一実施形態
一実施形態に係るストレージシステム1では、ドメインを跨った記憶装置へのアクセスに要する時間を短縮させる。
[2] One Embodiment In the storage system 1 according to one embodiment, the time required to access a storage device across domains is shortened.

〔2−1〕一実施形態に係るストレージシステムのハードウェア構成例
図1は、実施形態の一例としてのストレージシステム1のハードウェア構成を例示する図である。
[2-1] Hardware Configuration Example of Storage System According to One Embodiment FIG. 1 is a diagram illustrating a hardware configuration of a storage system 1 as an example of the embodiment.

この図1に例示するように、ストレージシステム1は、スケールアウト型のストレージ制御装置であるCMを1つ以上(CM10−0,・・・,CM10−n;nは0以上の整数)備える。また、CM10−0,・・・,CM10−nは、それぞれ、CM#0,・・・,CM#nとも表される。以下、CMを示す符号としては、複数のCMのうち1つを特定する必要があるときには符号10−0,・・・,10−nを用いるが、任意のCMを指すときには符号10を用いる。なお、“#”に続く数字(0,・・・,n)は、識別子(ID)ともいい、CM10の特定に用いる。 As illustrated in FIG. 1, the storage system 1 includes at least one CM (CM10-0,..., CM10-n; n is an integer of 0 or more) that is a scale-out type storage control device. The CMs 10-0,..., CM10-n are also represented as CM#0,..., CM#n, respectively. Hereinafter, as the code indicating the CM, the codes 10-0,..., 10-n are used when it is necessary to specify one of the plurality of CMs, but the code 10 is used to indicate any CM. The number (0,..., N) following “#” is also called an identifier (ID) and is used to specify the CM 10.

さらに、このストレージシステム1は、これら各CM10に接続されるFRT30を備える。 Further, the storage system 1 includes an FRT 30 connected to each CM 10.

CM10は、FRT30と接続され、種々の制御を行なうサーバである。このCM10は、図示しない管理装置に接続され、当該管理装置から記憶装置(後述するNVMe−SSD20)のデータに対するアクセス要求を処理する。 The CM 10 is a server that is connected to the FRT 30 and performs various controls. The CM 10 is connected to a management device (not shown), and processes an access request from the management device to data in a storage device (NVMe-SSD 20 described later).

NVMe−SSD20は、NVMeインタフェースを用いるSSDであり、種々のデータやプログラム等を格納するハードウェアの一例である。このNVMe−SSD20は、トランザクション層のパケット(Transaction Layer Packet;TLP)を生成する。なお、このTLPは公知であるため、ここでの説明を省略する。 The NVMe-SSD 20 is an SSD that uses an NVMe interface, and is an example of hardware that stores various data and programs. The NVMe-SSD 20 generates a transaction layer packet (TLP). Since this TLP is publicly known, its description is omitted here.

FRT30は、複数のCM10の各々を相互に通信可能にし、複数のCM10間で相互に送受信される情報を中継する、ルータ等の中継装置である。 The FRT 30 is a relay device such as a router that enables each of the plurality of CMs 10 to communicate with each other and relays information transmitted and received among the plurality of CMs 10.

この図1では、CM#0とCM#1、CM#4とCM#5、CM#8とCM#9とでペアを構成することで本システム1を冗長化することを例示している。 In FIG. 1, CM#0 and CM#1, CM#4 and CM#5, and CM#8 and CM#9 are paired to make the system 1 redundant.

そして、CM#0,CM#4,CM#8をプライマリのストレージ制御装置、CM#1,CM#5,CM#9をセカンダリのストレージ制御装置として機能させる。 Then, CM#0, CM#4 and CM#8 are made to function as primary storage control devices, and CM#1, CM#5 and CM#9 are made to function as secondary storage control devices.

また、図1に例示するストレージシステム1は、記憶装置として1つ以上のNVMe−SSD(NVMe−SSD20−0,・・・,NVMe−SSD20−m;mは0以上の整数)を備える。また、NVMe−SSD20−0,・・・,NVMe−SSD20−mは、それぞれ、NVMe−SSD#0,・・・,NVMe−SSD#mとも表される。以下、NVMe−SSDを示す符号としては、複数のNVMe−SSDのうち1つを特定する必要があるときには符号20−0,・・・,20−mを用いるが、任意のNVMe−SSDを指すときには符号20を用いる。 Further, the storage system 1 illustrated in FIG. 1 includes at least one NVMe-SSD (NVMe-SSD 20-0,..., NVMe-SSD 20-m; m is an integer of 0 or more) as a storage device. The NVMe-SSD 20-0,..., NVMe-SSD 20-m are also referred to as NVMe-SSD# 0,..., NVMe-SSD#m, respectively. Hereinafter, as the code indicating the NVMe-SSD, the codes 20-0,..., 20-m are used when it is necessary to specify one of the plurality of NVMe-SSDs, but any NVMe-SSD is indicated. The reference numeral 20 is sometimes used.

図1に例示するように、ストレージシステム1では、プライマリのCM#0とセカンダリCM#1とのペアに対して、NVMe−SSD#0を割り当て、プライマリのCM#4とセカンダリCM#5とのペアに対して、NVMe−SSD#2を割り当てる。また、プライマリのCM#8とセカンダリCM#9とのペアに対して、NVMe−SSD#4を割り当てる。 As illustrated in FIG. 1, in the storage system 1, the NVMe-SSD#0 is assigned to the pair of the primary CM#0 and the secondary CM#1, and the primary CM#4 and the secondary CM#5 are allocated. The NVMe-SSD #2 is assigned to the pair. Further, the NVMe-SSD #4 is assigned to the pair of the primary CM #8 and the secondary CM #9.

なお、図1では、CM10のペアが、それぞれ1つのNVMe−SSD20を備える場合を例示したが、複数のNVMe−SSD20を備えてもよい。 In addition, in FIG. 1, the case where each pair of CMs 10 includes one NVMe-SSD 20 is illustrated, but a plurality of NVMe-SSDs 20 may be included.

〔2−2〕一実施形態に係るストレージシステムにおけるCMのハードウェア構成例
図2は、実施形態の一例としてのストレージシステム1におけるCM10のハードウェア構成を例示する図である。
[2-2] Example of Hardware Configuration of CM in Storage System According to One Embodiment FIG. 2 is a diagram illustrating a hardware configuration of the CM 10 in the storage system 1 as an example of the embodiment.

この図2を用いて、図1に示すCM10のハードウェア構成を説明する。 The hardware configuration of the CM 10 shown in FIG. 1 will be described with reference to FIG.

CM10は、例示的に、CPU(Central Processing Unit)11、記憶部12、メモリ13、IF部14、入出力部15、スイッチ16、及び、変換部17を備えてよい。また、この変換部17は、変換部メモリ18を備えてよい。 The CM 10 may illustratively include a CPU (Central Processing Unit) 11, a storage unit 12, a memory 13, an IF unit 14, an input/output unit 15, a switch 16, and a conversion unit 17. Further, the conversion unit 17 may include a conversion unit memory 18.

CPU11は、後述する記憶部12に格納されるOS(Operating System)やプログラムを実行し、例えば、図示しない管理装置から入力された要求に応じ、例えば、NVMe−SSD20へのアクセスを実行すべくCM10を制御する。本実施形態では、CPU11は、後述する制御プログラム90を実行する。 The CPU 11 executes an OS (Operating System) or a program stored in the storage unit 12 described below, and, for example, in response to a request input from a management device (not shown), the CM 10 executes the access to the NVMe-SSD 20, for example. To control. In this embodiment, the CPU 11 executes a control program 90 described later.

記憶部12は、種々のデータやプログラム等を格納するハードウェアの一例である。例えば、記憶部12は、CM10の二次記憶装置として使用されてよく、OSやファームウェア、アプリケーション等のプログラム、及び各種データが格納されてよい。この記憶部12としては、例えば、HDD(Hard Disk Drive)の磁気ディスク装置の他、SSDやSCM(Storage Class Memories)が挙げられる。記憶部12は、CM10の各種機能の全部若しくは一部を実現するプログラム(後述する制御プログラム90)を格納してもよい。 The storage unit 12 is an example of hardware that stores various data and programs. For example, the storage unit 12 may be used as a secondary storage device of the CM 10, and may store an OS, firmware, programs such as applications, and various data. Examples of the storage unit 12 include a magnetic disk device such as an HDD (Hard Disk Drive), as well as SSD and SCM (Storage Class Memories). The storage unit 12 may store a program (a control program 90 described later) that implements all or some of the various functions of the CM 10.

メモリ13は、種々のデータやプログラム等を格納するハードウェアの一例である。メモリ13としては、RAM(Random Access Memory)等の揮発性メモリや、フラッシュメモリ、SCM、ROM(Read Only Memory)等の不揮発性メモリが挙げられる。また、メモリ13は、制御プログラム90を格納してもよい。なお、メモリ13の一例として、後述する、DCM10が備えるDCMメモリ、LCM10が備えるLCMメモリ、及び、MCM10が備えるMCMメモリがある。以下、LCMが備えるメモリ13をLCMメモリ13Lといい、DCM10が備えるメモリ13をDCMメモリ13Dという場合がある。 The memory 13 is an example of hardware that stores various data and programs. Examples of the memory 13 include volatile memory such as RAM (Random Access Memory) and non-volatile memory such as flash memory, SCM, and ROM (Read Only Memory). Further, the memory 13 may store the control program 90. Note that examples of the memory 13 include a DCM memory included in the DCM 10, an LCM memory included in the LCM 10, and an MCM memory included in the MCM 10, which will be described later. Hereinafter, the memory 13 included in the LCM may be referred to as an LCM memory 13L, and the memory 13 included in the DCM 10 may be referred to as a DCM memory 13D.

IF部14は、他のCM10、NVMe−SSD20、FRT30、及び、図示しない管理装置との間の接続及び通信の制御等を行なう通信インタフェースの一例である。例えば、IF部14は、図示しない管理装置を接続するためのアダプタ(ポート)を備えてもよい。なお、制御プログラム90は、図示しないネットワークから当該IF部14を介してダウンロードされてもよい。 The IF unit 14 is an example of a communication interface that controls connection and communication with other CMs 10, the NVMe-SSD 20, the FRT 30, and a management device (not shown). For example, the IF unit 14 may include an adapter (port) for connecting a management device (not shown). The control program 90 may be downloaded from a network (not shown) via the IF unit 14.

入出力部15は、例えば、マウス、キーボード、タッチパネル、操作ボタン等の入力装置、の少なくともいずれか一つを含んでよい。 The input/output unit 15 may include, for example, at least one of a mouse, a keyboard, a touch panel, and an input device such as an operation button.

スイッチ16は、CM10、NVMe−SSD20、及び、FRT30との間の通信を制御する。このスイッチ16は、CPU11が接続されるポートを1つ備え、NVMe−SSD20やFRT30が接続されるポートを複数備えるものとする。また、スイッチ16は、FRT30を介してLCM10と通信する。なお、このスイッチ16は、PCIe(PCI Express)のインタフェースを用いるものとする。 The switch 16 controls communication with the CM 10, the NVMe-SSD 20, and the FRT 30. The switch 16 is provided with one port to which the CPU 11 is connected and a plurality of ports to which the NVMe-SSD 20 and the FRT 30 are connected. The switch 16 also communicates with the LCM 10 via the FRT 30. The switch 16 uses a PCIe (PCI Express) interface.

変換部17は、DCM10において用いられるものであり、LCM10がNVMe−SSD20に対してアクセスした場合に、情報(パケット)が含まれるTLPの送信先アドレスをLCM10側のアドレスに変換する。なお、この変換部17はチップ化(FPGA等で集積回路化)することにより実現されてもよい。なお、FPGAはField-Programmable Gate Arrayの略称である。また、DCM10が自身の配下にあるNVMe−SSD20に対してアクセスした場合、アドレスの変換を行なわないものとする。 The conversion unit 17 is used in the DCM 10, and when the LCM 10 accesses the NVMe-SSD 20, converts the transmission destination address of the TLP including the information (packet) into the address on the LCM 10 side. The conversion unit 17 may be realized by forming a chip (integrated circuit such as FPGA). FPGA is an abbreviation for Field-Programmable Gate Array. Further, when the DCM 10 accesses the NVMe-SSD 20 under its control, the address conversion is not performed.

また、変換部17が備える変換部メモリ18は、種々のデータやプログラム等を格納するハードウェアの一例である。変換部メモリ18としては、RAM等の揮発性メモリや、フラッシュメモリ、SCM、ROM等の不揮発性メモリが挙げられる。 The conversion unit memory 18 included in the conversion unit 17 is an example of hardware that stores various data, programs, and the like. Examples of the conversion unit memory 18 include volatile memory such as RAM, and non-volatile memory such as flash memory, SCM, and ROM.

上述したCM10のハードウェア構成は例示である。したがって、CM10内でのハードウェアの増減(例えば、任意のブロックの追加や省略)、分割、任意の組み合わせでの統合等は適宜行なわれてもよい。 The hardware configuration of the CM 10 described above is an example. Therefore, increase/decrease of hardware in the CM 10 (for example, addition or omission of an arbitrary block), division, integration in an arbitrary combination, and the like may be appropriately performed.

〔2−3〕一実施形態にストレージシステムにおける機能構成例
本ストレージシステムに係るCM10の機能構成について、図3を用いて説明する。
[2-3] Example of Functional Configuration in Storage System According to One Embodiment The functional configuration of the CM 10 according to the present storage system will be described with reference to FIG.

図3は、図2に示す実施形態の一例としてのCM10の機能構成を例示する図である。 FIG. 3 is a diagram illustrating a functional configuration of the CM 10 as an example of the embodiment illustrated in FIG.

この図3では、LCM10がCM#4であり、DCM10がCM#8である場合の各機能構成を例示する。このDCM10を第一のストレージ制御装置ともいい、LCM10を第二のストレージ制御装置ともいう。 In FIG. 3, each functional configuration when the LCM 10 is CM#4 and the DCM 10 is CM#8 is illustrated. The DCM 10 is also called a first storage control device, and the LCM 10 is also called a second storage control device.

図3に例示するように、LCM10(CM#4)は、例示的に、解析部40、及び、変換情報作成部41を備えてもよい。そして、LCMメモリ13Lは、例示的に、LCM設定情報50L、LCM割り込み通知情報51L、LCMアクセス情報52L、及び、対DCM領域53を備えてもよい。また、この対DCM領域53は、例示的に、対DCMアクセス情報54、アクセス用アドレス変換情報55、及び、割り込み通知用アドレス変換情報56を備えてもよい。 As illustrated in FIG. 3, the LCM 10 (CM#4) may exemplarily include an analysis unit 40 and a conversion information creation unit 41. The LCM memory 13L may include, for example, the LCM setting information 50L, the LCM interrupt notification information 51L, the LCM access information 52L, and the DCM area 53. Further, the to-DCM area 53 may illustratively include the to-DCM access information 54, the access address translation information 55, and the interrupt notification address translation information 56.

また、図3に例示するように、DCM10(CM#8)は、例示的に、送受信部60、及び、アドレス変換部61を備えてもよい。そして、このアドレス変換部61は、CMアドレス情報62を備えてもよい。さらに、DCMメモリ13Dは、例示的に、DCM設定情報50D、DCM割り込み通知情報51D、及び、DCMアクセス情報52Dを備えてもよい。 Further, as illustrated in FIG. 3, the DCM 10 (CM#8) may exemplarily include a transmission/reception unit 60 and an address conversion unit 61. The address conversion unit 61 may include the CM address information 62. Furthermore, the DCM memory 13D may exemplarily include DCM setting information 50D, DCM interrupt notification information 51D, and DCM access information 52D.

まず、LCM(CM#4)の機能構成について説明する。 First, the functional configuration of the LCM (CM#4) will be described.

LCMの解析部40は、DCM10に対して、DCM設定情報50DとDCM割り込み通知情報51Dとを含む設定情報の送信を依頼する。また、解析部40は、DCM10の送受信部60から設定情報を受信し、受信した設定情報を解析する。解析部40は、受信した設定情報を解析して、例えば、DCM10のアドレスや、DCM10の配下にあるNVMe−SSD20のアドレスを抽出する。なお、これらのDCM設定情報50D、及び、DCM割り込み通知情報51Dについては、後述する。 The analysis unit 40 of the LCM requests the DCM 10 to transmit the setting information including the DCM setting information 50D and the DCM interrupt notification information 51D. The analysis unit 40 also receives setting information from the transmission/reception unit 60 of the DCM 10 and analyzes the received setting information. The analysis unit 40 analyzes the received setting information and extracts, for example, the address of the DCM 10 or the address of the NVMe-SSD 20 under the control of the DCM 10. The DCM setting information 50D and the DCM interrupt notification information 51D will be described later.

LCMの変換情報作成部41は、LCMメモリ13L上に、変換情報(後述する、アクセス用アドレス変換情報55と割り込み通知用アドレス変換情報56)の領域を作成し、当該変換情報を作成する。また、このLCMの変換情報作成部41は、作成した変換情報を、後述するDCM10のアドレス変換部61に送信する。 The LCM conversion information creation unit 41 creates an area of conversion information (access address conversion information 55 and interrupt notification address conversion information 56, which will be described later) on the LCM memory 13L, and creates the conversion information. Further, the LCM conversion information creation unit 41 transmits the created conversion information to the address conversion unit 61 of the DCM 10 described later.

次に、LCMメモリ13Lが備える、LCM設定情報50L、LCM割り込み通知情報51L、LCMアクセス情報52L、及び、対DCMアクセス情報54について、図4の(a)を用いて説明する。 Next, the LCM setting information 50L, the LCM interrupt notification information 51L, the LCM access information 52L, and the DCM access information 54 included in the LCM memory 13L will be described with reference to FIG.

この図4の(a)は、LCMメモリ13Lの記憶領域の使用例を示す図である。 FIG. 4A is a diagram showing a usage example of the storage area of the LCM memory 13L.

この図4の(a)に例示するように、LCMメモリ13Lには、一例として、LCM設定情報50L、LCM割り込み通知情報51L、LCMアクセス情報52L、及び、対DCMアクセス情報54がそれぞれ格納される。そのため、LCMメモリ13L上には、図4の(a)に例示するような、これら各種情報の記憶領域が備えられるものとする。 As illustrated in FIG. 4A, as an example, the LCM memory 13L stores LCM setting information 50L, LCM interrupt notification information 51L, LCM access information 52L, and DCM access information 54, respectively. .. Therefore, it is assumed that the LCM memory 13L is provided with a storage area for these various types of information, as illustrated in FIG.

LCM設定情報50Lは、LCM10の配下にあるNVMe−SSD20の設定情報(PCIeコンフィグ(config)情報)であり、例えば、配下のNVMe−SSD20のアドレスを含む。図3に示す例において、CM#4(LCM10)の備えるメモリ13のLCM設定情報50Lには、例えば、自身が担当CMであるNVMe−SSD#2の設定情報が格納される。なお、この設定情報には、他のドメインに属するNVMe−SSD20の設定情報は含まれない。 The LCM setting information 50L is setting information (PCIe config (config) information) of the NVMe-SSD 20 subordinate to the LCM 10, and includes, for example, the address of the subordinate NVMe-SSD 20. In the example illustrated in FIG. 3, the LCM setting information 50L of the memory 13 included in the CM#4 (LCM10) stores, for example, the setting information of the NVMe-SSD#2 which is the CM in charge of itself. Note that this setting information does not include the setting information of the NVMe-SSD 20 belonging to another domain.

LCM割り込み通知情報51Lは、LCM10が、自身の配下にあるNVMe−SSD20から通知される割り込み(後述する“MSI−X”コマンド)に関する情報である。例えば、図3の場合、CM#4(LCM10)の備えるメモリ13のLCM割り込み通知情報51Lには、DCM10からLCM10に対して送信される完了の通知が格納される。 The LCM interrupt notification information 51L is information on the interrupt (“MSI-X” command described later) notified by the LCM 10 from the NVMe-SSD 20 under its control. For example, in the case of FIG. 3, the notification of completion transmitted from the DCM 10 to the LCM 10 is stored in the LCM interrupt notification information 51L of the memory 13 included in the CM #4 (LCM 10).

LCMアクセス情報52Lは、LCM10と、当該LCM10が担当CMであるNVMe−SSD20との間で送受信されるコマンド(例えば、“SQ”コマンドや“CQ”コマンド)を含む。このコマンドについては後述する。 The LCM access information 52L includes a command (for example, “SQ” command or “CQ” command) transmitted/received between the LCM 10 and the NVMe-SSD 20 which is the CM in charge of the LCM 10. This command will be described later.

このように、上述した、LCM設定情報50L、LCM割り込み通知情報51L、及び、LCMアクセス情報52Lは、LCM10が、自身の配下にあるNVMe−SSD20との間で送受信する情報や、当該送受信に必要な設定情報を格納するものである。一方、LCMメモリ13Lにおける、対DCM領域53は、LCM10が、DCM10との間で送受信する情報や、当該送受信に必要な設定情報を格納するものである。この対DCM領域53について以下に説明する。 As described above, the LCM setting information 50L, the LCM interrupt notification information 51L, and the LCM access information 52L described above are necessary for the information that the LCM 10 transmits/receives to/from the NVMe-SSD 20 under its control. It stores various setting information. On the other hand, the area for DCM 53 in the LCM memory 13L stores information that the LCM 10 transmits/receives to/from the DCM 10 and setting information necessary for the transmission/reception. The anti-DCM area 53 will be described below.

対DCM領域53は、上述したように、LCM10が、DCM10との間で送受信する情報や、当該送受信に必要な設定情報を格納するものである。 As described above, the area for DCM 53 stores information that the LCM 10 transmits/receives to/from the DCM 10 and setting information necessary for the transmission/reception.

この対DCM領域53は、図3に例示するように、対DCMアクセス情報54、アクセス用アドレス変換情報55、及び、割り込み通知用アドレス変換情報56を備える。図5,図6を参照しながら、これらの各情報について説明する。なお、図4の(a)中の「BAR(α’)」は、LCMメモリ13Lにおいて、対DCM領域53内に対DCMアクセス情報54が格納される領域の先頭アドレスを示すものである。 As illustrated in FIG. 3, the anti-DCM area 53 includes anti-DCM access information 54, access address translation information 55, and interrupt notification address translation information 56. Each of these pieces of information will be described with reference to FIGS. Note that “BAR(α′)” in FIG. 4A indicates the start address of the area in the LCM memory 13L where the DCM access information 54 is stored in the DCM area 53.

対DCMアクセス情報54は、LCM10が、DCM配下のNVMe−SSD20に対してアクセスした場合に、LCM10とDCM配下のNVMe−SSD20との間で送受信されるコマンド(例えば、“SQ”コマンド)を含む。例えば、図2に示す例の場合、CM#4(LCM10)と、CM#8(DCM10)が担当CMであるNVMe−SSD#4との間で送受信されるコマンド(例えば、“SQ”コマンド)が格納される。このコマンドについては後述する。 The DCM access information 54 includes a command (for example, an “SQ” command) transmitted/received between the LCM 10 and the NVMe-SSD 20 under the DCM when the LCM 10 accesses the NVMe-SSD 20 under the DCM. .. For example, in the case of the example shown in FIG. 2, a command (for example, “SQ” command) transmitted and received between the CM#4 (LCM10) and the CMMe-SSD#4, which is the CM in charge of the CM#8 (DCM10). Is stored. This command will be described later.

図5は、アクセス用アドレス変換情報55を例示するものである。また、図6は、割り込み通知用アドレス変換情報56を例示するものである。なお、本実施形態では、図5,図6に示すように、アクセス用アドレス変換情報55、及び、割り込み通知用アドレス変換情報56をテーブル形式で表現している。しかしながら、アクセス用アドレス変換情報55、及び、割り込み通知用アドレス変換情報56に格納される情報の表現形式はテーブルに限られるものではなく、種々変形して実施することができる。 FIG. 5 illustrates the access address translation information 55. Further, FIG. 6 illustrates the interrupt notification address conversion information 56. In this embodiment, as shown in FIGS. 5 and 6, the access address conversion information 55 and the interrupt notification address conversion information 56 are represented in a table format. However, the expression format of the information stored in the access address translation information 55 and the interrupt notification address translation information 56 is not limited to the table, and various modifications can be implemented.

なお、図5に例示するこれらのアクセス用アドレス変換情報55、及び、図6に例示する割り込み通知用アドレス変換情報56では、DCM10(CM#8),LCM10(CM#4)に関する情報を取り上げて例示するが、これに限られるものではない。また、これらのアクセス用アドレス変換情報55と割り込み通知用アドレス変換情報56とを総称して、変換情報ともいう。 In the access address translation information 55 illustrated in FIG. 5 and the interrupt notification address translation information 56 illustrated in FIG. 6, information regarding the DCM 10 (CM#8) and LCM10 (CM#4) is taken up. As an example, the present invention is not limited to this. The access address translation information 55 and the interrupt notification address translation information 56 are also collectively referred to as translation information.

図5に例示するアクセス用アドレス変換情報55は、“CM_ID”、及び、“アクセス用アドレス”の各フィールドを備える。 The access address conversion information 55 illustrated in FIG. 5 includes fields of “CM_ID” and “access address”.

アクセス用アドレス変換情報55のフィールド“CM_ID”は、CM10を一意に特定するためのIDを格納するものである。なお、本実施形態において、この“CM_ID”に格納される値は、管理者によって付与されるものとする。 The field “CM_ID” of the access address conversion information 55 stores an ID for uniquely identifying the CM 10. In the present embodiment, the value stored in this “CM_ID” is given by the administrator.

アクセス用アドレス変換情報55のフィールド“アクセス用アドレス”は、フィールド“CM_ID”に格納される値により特定されるCM10の備えるメモリ13において、コマンドを格納する領域の先頭アドレスである。このフィールド“アクセス用アドレス”に格納される値を、アドレス情報ともいう。 The field “access address” of the access address conversion information 55 is the start address of the area for storing the command in the memory 13 of the CM 10 specified by the value stored in the field “CM_ID”. The value stored in this field "access address" is also called address information.

図5は、CM#8(DCM10)が、自メモリ(DCMメモリ)13上のアドレス「BAR(α)」で始まる領域に、配下のNVMe−SSD20に対するコマンド(DCMアクセス情報52D)を格納することを示す(図4の(b)参照)。 In FIG. 5, the CM#8 (DCM 10) stores a command (DCM access information 52D) for the subordinate NVMe-SSD 20 in an area of the own memory (DCM memory) starting from the address “BAR(α)”. Is shown (see FIG. 4B).

また、CM#4(LCM10)が自メモリ(LCMメモリ)13上のアドレス「BAR(α’)」で始まる領域に、他CM10配下のNVMe−SSD20に対するコマンド(対DCMアクセス情報54)を格納することを示す(図4の(a)参照)。 Further, the CM #4 (LCM 10) stores a command (to the DCM access information 54) to the NVMe-SSD 20 under the control of another CM 10 in an area of the own memory (LCM memory) 13 which starts at the address “BAR(α′)”. This is shown (see FIG. 4A).

次に、図6に例示する割り込み通知用アドレス変換情報56は、“CM_ID”、及び、“割り込み通知用アドレス”の各フィールドを備える。 Next, the interrupt notification address conversion information 56 illustrated in FIG. 6 includes fields of “CM_ID” and “interrupt notification address”.

割り込み通知用アドレス変換情報56のフィールド“CM_ID”は、CM10を一意に特定するためのIDを格納するものである。なお、本実施形態において、この“CM_ID”に格納される値は、管理者によって付与されるものとする。 The field “CM_ID” of the interrupt notification address conversion information 56 stores an ID for uniquely identifying the CM 10. In the present embodiment, the value stored in this “CM_ID” is given by the administrator.

割り込み通知用アドレス変換情報56のフィールド“割り込み通知用アドレス”は、フィールド“CM_ID”に格納される値により特定されるCM10の備えるメモリ13において、割り込み通知情報を格納する領域の先頭アドレスである。 The field “interrupt notification address” of the interrupt notification address conversion information 56 is the top address of the area for storing the interrupt notification information in the memory 13 of the CM 10 specified by the value stored in the field “CM_ID”.

図6は、CM#8(DCM10)が、自メモリ(DCMメモリ)13上のアドレス「BAR(β)」で始まる領域に、配下のNVMe−SSD20からのに対する割り込み通知情報を格納することを示す(図4の(b)参照)。なお、このアドレス「BAR(β)」については図示を省略する。 FIG. 6 shows that the CM#8 (DCM 10) stores the interrupt notification information for the subordinate NVMe-SSD 20 in the area starting with the address “BAR(β)” on the own memory (DCM memory) 13. (See FIG. 4B). Note that illustration of this address “BAR(β)” is omitted.

また、CM#4(LCM10)が自メモリ(LCMメモリ)13上のアドレス「BAR(β’)」で始まる領域に、他CM10配下のNVMe−SSD20からの割り込み通知情報を格納することを示す(図4の(a)参照)。なお、このアドレス「BAR(β’)」については図示を省略する。 Also, it is indicated that the CM#4 (LCM 10) stores the interrupt notification information from the NVMe-SSD 20 under the control of the other CM 10 in the area of the own memory (LCM memory) 13 starting with the address “BAR(β′)” ( (See FIG. 4A). Illustration of this address "BAR(β')" is omitted.

次に、図3に例示するCM10の機能構成に関する説明に戻り、DCM10(CM#8)の機能構成について説明する。 Next, returning to the description of the functional configuration of the CM 10 illustrated in FIG. 3, the functional configuration of the DCM 10 (CM#8) will be described.

DCM10の送受信部60は、DCM10だけでなく、LCM10に対してもFRT30を介して情報を送受信できる機能を備える。この送受信部60は、図2に例示するスイッチ16によって実現されるものとする。また、LCM10によるアクセス要求の送信は、LCM10のCPU11(データアクセス要求発行部)によって実行される。 The transmission/reception unit 60 of the DCM 10 has a function of transmitting/receiving information not only to the DCM 10 but also to the LCM 10 via the FRT 30. The transmission/reception unit 60 is assumed to be realized by the switch 16 illustrated in FIG. The transmission of the access request by the LCM 10 is executed by the CPU 11 (data access request issuing unit) of the LCM 10.

この送受信部60は、LCM10からのアクセス要求をFRT30を介して受信し、受信したアクセス要求をアドレス変換部61を介してNVMe−SSD20に渡す。なお、本実施形態では、後述する、アクセス開始の通知(“SQ_Bell”コマンドの送信)や、フェッチしたコマンド(“SQ”コマンド)の送信を総称してアクセス要求、又は、データアクセス要求ともいう。また、このアクセス要求には、読み出し要求と書き込み要求とが含まれるものとする。 The transmission/reception unit 60 receives an access request from the LCM 10 via the FRT 30, and passes the received access request to the NVMe-SSD 20 via the address conversion unit 61. In this embodiment, notification of access start (transmission of “SQ_Bell” command) and transmission of fetched command (“SQ” command), which will be described later, are collectively referred to as an access request or a data access request. Further, the access request includes a read request and a write request.

また、送受信部60は、LCM10からのアクセス要求に対するライトデータやリードデータをアドレス変換部61を介してNVMe−SSD20から受信し、要求元のLCM10にFRT30を介して送信する。 Further, the transmission/reception unit 60 receives write data or read data for the access request from the LCM 10 from the NVMe-SSD 20 via the address conversion unit 61, and transmits it to the requesting LCM 10 via the FRT 30.

また、送受信部60は、LCM10への指示や通知、及び、完了応答をアドレス変換部61を介してNVMe−SSD20から受信し、要求元のLCM10にFRT30を介して送信する。なお、本実施形態では、後述する、コマンドフェッチの指示(“MRd”(TLP)コマンドの送信)、完了応答(“CQ”コマンドの送信)、及び、割り込み通知(“MSI−X”コマンド)の送信を総称して応答データともいう。 Further, the transmission/reception unit 60 receives an instruction or notification to the LCM 10 and a completion response from the NVMe-SSD 20 via the address conversion unit 61, and transmits the completion response to the requesting LCM 10 via the FRT 30. In this embodiment, a command fetch instruction (transmission of “MRd” (TLP) command), a completion response (transmission of “CQ” command), and an interrupt notification (“MSI-X” command), which will be described later, are given. Transmission is also generically called response data.

また、送受信部60は、LCM10の解析部40から、DCM設定情報50DとDCM割り込み通知情報51Dとの送信の依頼を受け、FRT30を介してLCM10に対してこれらの情報を送信する。なお、これらのDCM設定情報50DとDCM割り込み通知情報51Dとを総称して、設定情報ともいう。 Further, the transmission/reception unit 60 receives a request for transmission of the DCM setting information 50D and the DCM interrupt notification information 51D from the analysis unit 40 of the LCM 10, and transmits these pieces of information to the LCM 10 via the FRT 30. The DCM setting information 50D and the DCM interrupt notification information 51D are also collectively referred to as setting information.

DCM10のアドレス変換部61は、NVMe−SSD20に対するアクセス要求元がLCM10である場合、当該アクセス要求に対する情報の送信先(返信先)を、要求元であるLCM10(側)のアドレスに変換する機能を備える。そのために、アドレス変換部61は、LCM10の変換情報作成部41から、変換情報(アクセス用アドレス変換情報55、及び、割り込み通知用アドレス変換情報56)を受信し、後述するCMアドレス情報62を設定(更新)する。そして、変換部17は、設定したCMアドレス情報62を用いて、応答データが含まれるTLPの送信先アドレスをLCM10(側)のアドレスに変換する。 When the access request source for the NVMe-SSD 20 is the LCM 10, the address conversion unit 61 of the DCM 10 has a function of converting the transmission destination (reply destination) of the information for the access request to the address of the LCM 10 (side) that is the request source. Prepare Therefore, the address conversion unit 61 receives the conversion information (the access address conversion information 55 and the interrupt notification address conversion information 56) from the conversion information creation unit 41 of the LCM 10, and sets the CM address information 62 described later. (Update. Then, the conversion unit 17 uses the set CM address information 62 to convert the transmission destination address of the TLP including the response data to the address of the LCM 10 (side).

なお、このアドレス変換部61は、図2に例示する変換部17によって実現されるものであり、また、CPU11が制御プログラム90を実行することにより実現されるものとする。 The address conversion unit 61 is realized by the conversion unit 17 illustrated in FIG. 2, and is realized by the CPU 11 executing the control program 90.

また、アドレス変換部61は、後述するCMアドレス情報62を備える。このCMアドレス情報62は、図2に例示する変換部メモリ18に格納されてもよい。 The address conversion unit 61 also includes CM address information 62 described later. The CM address information 62 may be stored in the conversion unit memory 18 illustrated in FIG.

CMアドレス情報62は、LCM10(側)とDCM10とのアドレス情報であり、一例として、図5に例示するアクセス用アドレス変換情報55、及び、図6例示する割り込み通知用アドレス変換情報56と同等の情報を同形式で備えてもよい。具体的には、DCM10が、自身の配下であるNVMe−SSD20に対するコマンドを格納する領域の先頭アドレスを備えてもよい。また、LCM10からDCM10の配下のNVMe−SSD20に対するコマンドを格納する領域の先頭アドレスを備えてもよい。 The CM address information 62 is address information of the LCM 10 (side) and the DCM 10, and as an example, is equivalent to the access address translation information 55 illustrated in FIG. 5 and the interrupt notification address translation information 56 illustrated in FIG. The information may be provided in the same format. Specifically, the DCM 10 may include the start address of an area for storing a command for the NVMe-SSD 20 under its control. Further, the head address of the area for storing the command from the LCM 10 to the NVMe-SSD 20 under the control of the DCM 10 may be provided.

次に、DCMメモリ13Dが備える、DCM設定情報50D、DCM割り込み通知情報51D、及び、DCMアクセス情報52Dについて図4の(b)を用いて説明する。 Next, the DCM setting information 50D, the DCM interrupt notification information 51D, and the DCM access information 52D included in the DCM memory 13D will be described with reference to FIG.

この図4の(b)は、DCMメモリ13Dの記憶領域の使用例を示す図である。 FIG. 4B is a diagram showing a usage example of the storage area of the DCM memory 13D.

この図4の(b)に例示するように、DCMメモリ13Dには、DCM設定情報50D、DCM割り込み通知情報51D、及び、DCMアクセス情報52Dが格納される。そのため、DCMメモリ13D上には、図4の(b)に例示するようなこれらの各種情報のための記憶領域がそれぞれ備えられるものとする。 As illustrated in FIG. 4B, the DCM memory 13D stores DCM setting information 50D, DCM interrupt notification information 51D, and DCM access information 52D. Therefore, it is assumed that the DCM memory 13D is provided with storage areas for these various types of information as illustrated in FIG. 4B.

DCM設定情報50Dは、DCM10の配下にあるNVMe−SSD20の設定情報(PCIeコンフィグ(config)情報)であり、例えば、配下のNVMe−SSD20のアドレスを含む。図2の場合、CM#8(DCM10)の備えるメモリ13の設定情報50には、例えば、自身が担当CMであるNVMe−SSD#4の設定情報が格納される。なお、この設定情報には、他のドメインに属するNVMe−SSD20の設定情報は含まれない。 The DCM setting information 50D is setting information (PCIe config (config) information) of the NVMe-SSD 20 subordinate to the DCM 10, and includes, for example, the address of the subordinate NVMe-SSD 20. In the case of FIG. 2, the setting information 50 of the memory 13 included in the CM#8 (DCM 10) stores, for example, the setting information of the NVMe-SSD#4 which is the CM in charge of itself. The setting information does not include the setting information of the NVMe-SSD 20 belonging to another domain.

DCM割り込み通知情報51Dは、DCM10が、自身の配下にあるNVMe−SSD20から通知される割り込み(後述する“MSI−X”コマンド)に関する情報である。例えば、図2に示す例の場合、CM#8(DCM10)の備えるメモリ13のDCM割り込み通知情報52Dには、DCM10の割り込み通知に関する情報が格納される。 The DCM interrupt notification information 51D is information regarding an interrupt (a “MSI-X” command described later) notified by the DCM 10 from the NVMe-SSD 20 under its control. For example, in the case of the example shown in FIG. 2, the information about the interrupt notification of the DCM 10 is stored in the DCM interrupt notification information 52D of the memory 13 included in the CM#8 (DCM 10).

また、DCMアクセス情報52Dは、DCM10配下のNVMe−SSD20に対するコマンドが格納される。例えば、図2に示す例の場合、CM#8(DCM10)が、自身が担当CMであるNVMe−SSD#4に対するコマンドが格納される。なお、図4の(b)に示す「BAR(α)」は、DCMメモリ13D上に当該コマンドが格納される領域の開始アドレスを示す。 The DCM access information 52D stores a command for the NVMe-SSD 20 under the DCM 10. For example, in the case of the example shown in FIG. 2, the CM #8 (DCM 10) stores the command for the NVMe-SSD #4 which is the CM in charge of itself. Note that “BAR(α)” shown in FIG. 4B indicates the start address of the area in the DCM memory 13D where the command is stored.

なお、本実施形態では、上述したLCMメモリ13L内のLCM設定情報50L,LCM割り込み通知情報51L,LCMアクセス情報52Lに格納される情報は、ストレージシステム1の起動時に書き込まれるか、又は、当該情報が更新されるものとする。同様に、上述したLCMメモリ13Lの対DCM領域53内の情報(対DCMアクセス情報54,アクセス用アドレス変換情報55,割り込み通知用アドレス変換情報56)は、本システム1の起動時に書き込まれるか、又は、当該情報が更新されるものとする。 In this embodiment, the information stored in the LCM setting information 50L, the LCM interrupt notification information 51L, and the LCM access information 52L in the LCM memory 13L described above is written when the storage system 1 is started up, or the information is stored. Shall be updated. Similarly, the above-mentioned information (to-DCM access information 54, access address translation information 55, interrupt notification address translation information 56) in the DCM area 53 of the LCM memory 13L is written when the system 1 is started up, Or, the information shall be updated.

また、本実施形態では、変換部メモリ18内のCMアドレス情報62に格納される情報は、ストレージシステム1の起動時に当該情報が書き込まれるか、又は、当該情報が更新されるものとする。これは、CPU11が制御プログラム90を実行することにより実現されるものとする。 Further, in the present embodiment, the information stored in the CM address information 62 in the conversion unit memory 18 is written or updated when the storage system 1 is started. This is realized by the CPU 11 executing the control program 90.

〔2−4〕一実施形態に係るストレージシステムにおける起動時の処理
上述の如く構成された実施形態の一例として、ストレージシステム1における起動時の処理を、図7に示すシーケンスチャート(ステップS1〜S9)に従って説明する。
[2-4] Processing at Startup in Storage System According to One Embodiment As an example of the embodiment configured as described above, processing at startup in the storage system 1 is shown in a sequence chart (steps S1 to S9) shown in FIG. ).

この図7は、一実施形態に係るストレージシステム1における起動時の処理を説明するためのシーケンスチャートである。図7では、CM#4がLCM10であり、CM#8がDCM10であり、CM#8(DCM10)がNVMe−SSD#4の担当CMである場合のストレージシステム1における起動時の処理を例示する。 7. FIG. 7 is a sequence chart for explaining processing at the time of booting in the storage system 1 according to the embodiment. FIG. 7 exemplifies a process at the time of startup in the storage system 1 when the CM#4 is the LCM10, the CM#8 is the DCM10, and the CM#8 (DCM10) is the CM in charge of the NVMe-SSD#4. ..

なお、図7のステップS1に示す処理は、ストレージシステム1の起動を起点として開始するものとする。 It should be noted that the process shown in step S1 of FIG. 7 is started when the storage system 1 is started.

ステップS1において、DCM10は、自身が担当CMであるNVMe−SSD20を設定する。図7の例では、ステップS1において、CM#8(DCM10)がNVMe−SSD#4を設定する。 In step S1, the DCM 10 sets the NVMe-SSD 20 which is the CM in charge of itself. In the example of FIG. 7, the CM#8 (DCM 10) sets the NVMe-SSD#4 in step S1.

続くステップS2において、LCM(CM#4)の解析部40は、DCM10(CM#8)に対して設定情報を依頼する。 In subsequent step S2, the analysis unit 40 of the LCM (CM#4) requests the DCM 10 (CM#8) for the setting information.

続くステップS3において、DCM10(CM#8)の送受信部60は、LCM10(CM#4)に対して設定情報を送信する。具体的には、DCM10(CM#8)の送受信部60は、DCM設定情報50DとDCM割り込み通知情報51DとをLCM10(CM#4)に対して送信する。 In subsequent step S3, the transmission/reception unit 60 of the DCM 10 (CM#8) transmits the setting information to the LCM 10 (CM#4). Specifically, the transmitter/receiver 60 of the DCM 10 (CM#8) transmits the DCM setting information 50D and the DCM interrupt notification information 51D to the LCM 10 (CM#4).

続くステップS4において、LCM10(CM#4)の解析部40は、上記ステップS5にてDCM10(CM#8)が送信した設定情報を受信する。 In subsequent step S4, the analysis unit 40 of the LCM 10 (CM#4) receives the setting information transmitted by the DCM 10 (CM#8) in step S5.

続くステップS5において、LCM10(CM#4)の解析部40は、上記ステップS4にて受信した設定情報を解析する。解析部40は、受信した設定情報を解析して、例えば、DCM10のアドレスや、DCM10の配下にあるNVMe−SSD20のアドレスを抽出する。 In subsequent step S5, the analysis unit 40 of the LCM 10 (CM#4) analyzes the setting information received in step S4. The analysis unit 40 analyzes the received setting information and extracts, for example, the address of the DCM 10 or the address of the NVMe-SSD 20 under the control of the DCM 10.

続くステップS6において、LCM10(CM#4)の変換情報作成部41は、LCMメモリ13L上に対DCM領域53を作成する。 In subsequent step S6, the conversion information creation unit 41 of the LCM 10 (CM#4) creates the DCM area 53 on the LCM memory 13L.

続くステップS7において、LCM10(CM#4)の変換情報作成部41は、例えば、上記ステップS5にて抽出した情報(DCM10のアドレス等)に基づき、変換情報を作成し、対DCM領域53に格納する。具体的に、変換情報作成部41は、アクセス用アドレス変換情報55(図5参照)、及び、割り込み通知用アドレス変換情報56(図6参照)を生成し対DCM領域53に格納する。すなわち、ステップS7では、図5,図6に示すような、LCM10(CM#4)とDCM10(CM#8)とのアドレスの対応情報を作成する。 In subsequent step S7, the conversion information creation unit 41 of the LCM 10 (CM#4) creates conversion information based on the information (address of the DCM 10 or the like) extracted in step S5 and stores it in the DCM area 53, for example. To do. Specifically, the conversion information creation unit 41 generates access address conversion information 55 (see FIG. 5) and interrupt notification address conversion information 56 (see FIG. 6) and stores it in the DCM area 53. That is, in step S7, correspondence information of addresses between the LCM 10 (CM#4) and the DCM 10 (CM#8) as shown in FIGS. 5 and 6 is created.

続くステップS8において、LCM10(CM#4)の変換情報作成部41は、上記ステップS7にて生成した変換情報をDCM10(CM#8)に対して送信する。 In subsequent step S8, the conversion information creation unit 41 of the LCM 10 (CM#4) transmits the conversion information generated in step S7 to the DCM 10 (CM#8).

続くステップS9において、DCM10(CM#8)の送受信部60は、上記ステップS8にて送信された変換情報を受信する。そして、DCM10(CM#8)のアドレス変換部61は、この受信した変換情報に基づき変換部メモリ18上のCMアドレス情報62を設定する。なお、この処理は、CPU11が制御プログラム90を実行することにより実現されるものとする。そして、処理を終了する。 In the following step S9, the transmission/reception unit 60 of the DCM 10 (CM#8) receives the conversion information transmitted in the above step S8. Then, the address conversion unit 61 of the DCM 10 (CM#8) sets the CM address information 62 on the conversion unit memory 18 based on the received conversion information. Note that this processing is realized by the CPU 11 executing the control program 90. Then, the process ends.

上述したステップS1〜S9に示す処理を経て、DCM10(CM#8)のアドレス変換部61(変換部17)は、DCM10のアドレスだけでなく、LCM10(側)のアドレスをも取得することができる。これにより、LCM10から、DCM10が担当CMであるNVMe−SSD20に対するアクセス要求があった場合にも、DCM10(CM#8)のアドレス変換部61(変換部17)により、TLPの送信先をLCM10(側)宛に変更できる。そして、DCM10側では、DCMメモリ13Dを介さずに、DCM10のスイッチ16がFRT30を介してLCM10へ応答データを送受信することが可能となる。 Through the processes shown in steps S1 to S9 described above, the address conversion unit 61 (conversion unit 17) of the DCM 10 (CM#8) can acquire not only the address of the DCM 10 but also the address of the LCM 10 (side). .. Accordingly, even when the LCM 10 makes an access request to the NVMe-SSD 20 which is the CM in charge of the DCM 10, the address translation unit 61 (translation unit 17) of the DCM 10 (CM#8) sets the transmission destination of the TLP to the LCM 10 ( Side) can be changed. Then, on the DCM 10 side, the switch 16 of the DCM 10 can transmit/receive response data to/from the LCM 10 via the FRT 30 without going through the DCM memory 13D.

なお、図7に例示した起動処理では、LCM10(CM#4)とDCM10(CM#8)との間で上記のような起動時の処理を行なう場合を例示したが、これに限られない。また、当該ストレージシステム1に上記以外のCM10も備えられる場合には、すべての又は一部のCM10の組み合わせについて図9に例示する起動時の処理を行なってもよい。 In the activation process illustrated in FIG. 7, the case where the above-described activation process is performed between the LCM 10 (CM#4) and the DCM 10 (CM#8) is illustrated, but the invention is not limited thereto. When the storage system 1 is also provided with a CM 10 other than the above, the startup process illustrated in FIG. 9 may be performed for all or some of the combinations of CMs 10.

また、上記図7のステップS1に示す処理は、ストレージシステム1の起動を起点として開始するものとしたが、当該ストレージシステム1に備える各種装置(例えば、CM10やNVMe−SSD20)の増減が発生したタイミングで開始するものとしてもよい。 Further, the processing shown in step S1 of FIG. 7 is started with the activation of the storage system 1 as a starting point, but an increase or decrease in various devices (for example, the CM 10 or the NVMe-SSD 20) included in the storage system 1 has occurred. It may be started at a timing.

〔2−5〕一実施形態に係るストレージシステムにおけるドメインを跨ったアクセスの処理
上述の如く構成された実施形態の一例として、ストレージシステム1におけるドメインを跨ったアクセスの処理を、図9〜12を参照しながら、図8に示すシーケンスチャート(ステップT1〜T6)に従って説明する。
[2-5] Access Processing Across Domains in Storage System According to One Embodiment As an example of the embodiment configured as described above, the access processing across domains in the storage system 1 will be described with reference to FIGS. While referring to FIG. 8, description will be given according to the sequence chart (steps T1 to T6).

図8は、本実施形態におけるドメインを跨ったアクセスの処理を説明するためのシーケンスチャートである。具体的に、この図8は、図1に例示するストレージシステム1において、LCM10(CM#4)から、DCM10(CM#8)の配下にあるNVMe−SSD#4に対して読み出しによるアクセスを実行した場合のシーケンスチャートである。 FIG. 8 is a sequence chart for explaining a process of access across domains in this embodiment. Specifically, in FIG. 8, in the storage system 1 illustrated in FIG. 1, the LCM 10 (CM# 4) executes a read access to the NVMe-SSD # 4 under the control of the DCM 10 (CM# 8 ). It is a sequence chart at the time of doing.

図9は、本実施形態におけるドメインを跨ったアクセスの処理を模式的に説明するための図である。 FIG. 9 is a diagram for schematically explaining the processing of access across domains in this embodiment.

図10は、本実施形態におけるドメインを跨ったアクセスの処理と比較例とを比較するための図である。 FIG. 10 is a diagram for comparing the access processing across domains in the present embodiment with the comparative example.

図11は、本実施形態における書き込み要求時に送受信される情報を例示する図である。この図11は、LCM10であるCM#4からDCM10であるCM#8配下のNVMe−SSD#4に対してデータの読み出しを要求した際に、CM#4とNVMe−SSD#4との間で送受信される各情報を例示したものである。 FIG. 11 is a diagram exemplifying information transmitted/received at the time of a write request in the present embodiment. This FIG. 11 shows that between the CM#4 and the NVMe-SSD#4 when the data read is requested from the CM#4 which is the LCM10 to the NVMe-SSD#4 under the CM#8 which is the DCM10. It is an example of each information transmitted and received.

図8のステップT1において、LCM10(CM#4)のCPU11は、FRT103を介してNVMe−SSD#4に対してアクセス開始を通知する(“SQ_Bell”コマンドを送信する)。なお、この“SQ”は“Submission Queue”を表す。 In step T1 of FIG. 8, the CPU 11 of the LCM 10 (CM#4) notifies the NVMe-SSD#4 of the start of access via the FRT 103 (sends the “SQ_Bell” command). In addition, this "SQ" represents a "Submission Queue".

このステップT1に示す処理を、図9における矢印P1に示す。この矢印P1に示すように、LCM10(CM#4)から送信されたアクセス開始の通知は、DCM10(CM#8)の送受信部60(スイッチ16)で受信され、当該要求がNVMe−SSD#4に送信される。なお、本実施形態では、LCM10(CM#4)側での情報の送受信の処理は、当該LCM10(CM#4)が備える送受信部60(スイッチ16)が行なうものとする。 The process shown in step T1 is shown by an arrow P1 in FIG. As shown by the arrow P1, the access start notification transmitted from the LCM 10 (CM#4) is received by the transmission/reception unit 60 (switch 16) of the DCM 10 (CM#8), and the request is sent to the NVMe-SSD#4. Sent to. In the present embodiment, the processing of transmitting and receiving information on the LCM10 (CM#4) side is performed by the transmitting/receiving unit 60 (switch 16) included in the LCM10 (CM#4).

続くステップT2において、NVMe−SSD#4は、LCM10(CM#4)のCPU11に対して、コマンドフェッチを指示する(“MRd(SQ)”コマンドを送信する)。なお、この“MRd”は“Memory Read”(メモリリード)を表す。 In the following step T2, the NVMe-SSD#4 instructs the CPU 11 of the LCM10 (CM#4) to perform command fetch (sends the "MRd(SQ)" command). It should be noted that this "MRd" represents "Memory Read".

このステップT2に示す処理を、図9における矢印P2に示す。この矢印P2に示すように、NVMe−SSD#4から送信されたコマンドフェッチの指示は、TLPにてDCM10(CM#8)のアドレス変換部61(変換部17)に送信される。そして、このアドレス変換部61(変換部17)がCMアドレス情報62を参照し、当該TLPの送信先アドレスを、当該要求元であるCM(CM#4)側のアドレスに変換する。そして、変換したアドレスが送信先アドレスとなったTLPがDCM10(CM#8)の送受信部60(スイッチ16)へ送信され、送受信部60(スイッチ16)は、LCM10(CM#4)のCPU11に対してコマンドフェッチの指示を送信する。 The process shown in step T2 is shown by an arrow P2 in FIG. As shown by the arrow P2, the command fetch instruction transmitted from the NVMe-SSD #4 is transmitted to the address conversion unit 61 (translation unit 17) of the DCM 10 (CM#8) by TLP. Then, the address translation unit 61 (translation unit 17) refers to the CM address information 62 and translates the destination address of the TLP into the address on the CM (CM#4) side that is the request source. Then, the TLP in which the converted address becomes the destination address is transmitted to the transmission/reception unit 60 (switch 16) of the DCM 10 (CM#8), and the transmission/reception unit 60 (switch 16) is transmitted to the CPU 11 of the LCM 10 (CM#4). A command fetch instruction is sent to the device.

図5に示す例の場合、ステップT2において、アドレス変換部61(変換部17)は、READアクセス要求に対する返信の宛先アドレス(送信先アドレス)を、「BAR(α)」から「BAR(α’)」に変更する。 In the case of the example shown in FIG. 5, in step T2, the address translation unit 61 (translation unit 17) changes the destination address (destination address) of the reply to the READ access request from "BAR(α)" to "BAR(α'. )”.

このステップT2においてNVMe−SSD#4から送信された情報を図11の矢印C1で示す。この矢印C1で示す情報は、NVMe−SSD#4からSQ宛に発行されたコマンド“MRd”(TLP)を表す。なお、図11の矢印C2に示す、送信先アドレス(「0x0000E23C0」)は、DCMメモリ13DにおけるDCMアクセス情報52Dの領域内でSQコマンド用データが格納されるアドレスを示す。また、変換後の送信先アドレス(「0x0000E23C0’」)は、LCMメモリ13Lにおける対DCM領域53の対DCMアクセス情報54領域内でSQコマンド用データが格納されるアドレスを示す。このようにして、コマンド“MRd”(TLP)の送信先がDCM10(CM#8)からLCM10(#4)に変換されたことがわかる。 The information transmitted from the NVMe-SSD #4 in this step T2 is shown by an arrow C1 in FIG. The information indicated by the arrow C1 represents the command “MRd” (TLP) issued from the NVMe-SSD #4 to SQ. The destination address (“0x0000E23C0”) indicated by the arrow C2 in FIG. 11 indicates an address where the SQ command data is stored in the area of the DCM access information 52D in the DCM memory 13D. The converted destination address (“0x0000E23C0′”) indicates the address where the SQ command data is stored in the DCM access information 54 area of the DCM area 53 in the LCM memory 13L. In this way, it can be seen that the destination of the command “MRd” (TLP) has been converted from DCM 10 (CM#8) to LCM10 (#4).

続くステップT3において、LCM10(CM#4)のCPU11は、上記ステップT2にて受信したコマンドフェッチの指示を受けて、当該LCMメモリ13Lからコマンドをフェッチする。そして、LCM10(CM#4)のCPU11は、フェッチしたコマンドを、FRT103を介してNVMe−SSD#4に対して送信する(“SQ”コマンドを送信する)。また、このコマンドには、LCM(CM#4)のアドレスが含まれる。このように、NVMe−SSD#4は、LCM10(CM#4)から“SQ”コマンドを受信してはじめて、LCM10(CM#4)が自身に対してどのようなコマンド(例えば、リードコマンドやライトコマンド)を送信したのかがわかる。 In the following step T3, the CPU 11 of the LCM 10 (CM#4) fetches the command from the LCM memory 13L in response to the command fetch instruction received in step T2. Then, the CPU 11 of the LCM 10 (CM#4) transmits the fetched command to the NVMe-SSD#4 via the FRT 103 (transmits an “SQ” command). In addition, this command includes the address of the LCM (CM#4). As described above, the NVMe-SSD #4 receives the “SQ” command from the LCM 10 (CM # 4) before the LCM 10 (CM # 4) receives a command such as a read command or a write command. Command) is sent.

続くステップT4において、NVMe−SSD#4は、リードデータを読み出して、LCM10(CM#4)のCPU11に対し、読み出した情報を送信する(“RD”コマンドを送信する)。なお、この“RD”は“Read Data”を表す。 In the following step T4, the NVMe-SSD #4 reads the read data and transmits the read information (sends the “RD” command) to the CPU 11 of the LCM 10 (CM#4). Note that this "RD" represents "Read Data".

このステップT4に示す処理を、図9における矢印P2に示す。この矢印P2に示すように、NVMe−SSD#4で読み出された情報は、TLPにてDCM10(CM#8)の送受信部60(スイッチ16)へ送信される。そして、送受信部60(スイッチ16)は、LCM10(CM#4)のCPU11に対してリードデータを送信する。このステップT4では、上述したステップT3において受信したLCM(CM#4)のアドレスを用いてLCM(CM#4)に対してリードデータを送信するため、アドレス変換部61(変換部17)においてはアドレス変換の処理は行なわない。 The process shown in step T4 is shown by an arrow P2 in FIG. As indicated by the arrow P2, the information read by the NVMe-SSD#4 is transmitted to the transmission/reception unit 60 (switch 16) of the DCM 10 (CM#8) by TLP. Then, the transmission/reception unit 60 (switch 16) transmits the read data to the CPU 11 of the LCM 10 (CM#4). In this step T4, since the read data is transmitted to the LCM (CM#4) using the address of the LCM (CM#4) received in the above step T3, the address translation unit 61 (translation unit 17) No address conversion processing is performed.

続くステップT5において、NVMe−SSD#4は、LCM10(CM#4)のCPU11に対して、READコマンドの完了応答(“CQ”コマンド)を送信する。なお、この“CQ”は“Completion Queue”を表す。 In the subsequent step T5, the NVMe-SSD #4 transmits a READ command completion response (“CQ” command) to the CPU 11 of the LCM 10 (CM#4). In addition, this "CQ" represents a "Completion Queue".

このステップT5に示す処理も、上記ステップT2における処理と同様に、図9における矢印P2の流れとなる。すなわち、矢印P2に示すように、NVMe−SSD#4が送信した完了応答(“CQ”コマンド)は、TLPにてDCM10(CM#8)のアドレス変換部61(変換部17)に送信される。そして、このアドレス変換部61(変換部17)がCMアドレス情報62を参照し、当該TLPの送信先アドレスを、当該要求元であるCM(CM#4)のアドレスに変換する。そして、変換したアドレスが送信先アドレスとなったTLPがDCM10(CM#8)の送受信部60(スイッチ16)へ送信され、送受信部60(スイッチ16)は、LCM10(CM#4)のCPU11に対してREADコマンドの完了応答を送信する。 The process shown in step T5 also follows the flow of arrow P2 in FIG. 9, as in the process in step T2. That is, as shown by the arrow P2, the completion response (“CQ” command) transmitted by the NVMe-SSD #4 is transmitted by the TLP to the address conversion unit 61 (translation unit 17) of the DCM 10 (CM#8). .. Then, the address conversion unit 61 (conversion unit 17) refers to the CM address information 62 and converts the transmission destination address of the TLP into the address of the CM (CM#4) that is the request source. Then, the TLP in which the converted address becomes the destination address is transmitted to the transmission/reception unit 60 (switch 16) of the DCM 10 (CM#8), and the transmission/reception unit 60 (switch 16) is transmitted to the CPU 11 of the LCM 10 (CM#4). A completion response of the READ command is transmitted.

このステップT5においてNVMe−SSD#4から送信された情報を図11の矢印C3で示す。この矢印C3で示す情報は、NVMe−SSD#4からSQ宛に発行されたコマンド“CplQ”(“MWr”;TLP)を表す。なお、図11の矢印C4に示す、送信先アドレス(「0x0000F20F0」)は、DCMメモリ13DにおけるDCMアクセス情報52Dの領域内でCQコマンド用データが格納されるアドレスを示す。また、変換後の送信先アドレス(「0x0000F20F0’」)は、LCMメモリ13Lにおける対DCM領域53の対DCMアクセス情報54の領域内でCQコマンド用データが格納されるアドレスを示す。このようにして、コマンド“MRd”(TLP)の送信先がDCM10(CM#8)からLCM10(#4)に変換されたことがわかる。 The information transmitted from the NVMe-SSD #4 in step T5 is shown by an arrow C3 in FIG. The information indicated by the arrow C3 represents the command "CplQ" ("MWr"; TLP) issued from the NVMe-SSD #4 to SQ. The destination address (“0x0000F20F0”) indicated by the arrow C4 in FIG. 11 indicates an address where the CQ command data is stored in the area of the DCM access information 52D in the DCM memory 13D. The converted destination address (“0x0000F20F0′”) indicates the address where the CQ command data is stored in the area to the DCM access information 54 of the DCM area 53 in the LCM memory 13L. In this way, it can be seen that the destination of the command “MRd” (TLP) has been converted from DCM 10 (CM#8) to LCM10 (#4).

続くステップT6において、NVMe−SSD#4は、LCM10(CM#4)のCPU11に対して、割り込み通知(“MSI−X”コマンド)を送信する。なお、この“MSI−X”は“Message Signaled Interrupts”を表す。 In the following step T6, the NVMe-SSD #4 transmits an interrupt notification (“MSI-X” command) to the CPU 11 of the LCM 10 (CM#4). The "MSI-X" represents "Message Signaled Interrupts".

このステップT6に示す処理も、上記ステップT2,T5における処理と同様に、図9における矢印P2の流れとなる。すなわち、矢印P2に示すように、NVMe−SSD#4が送信した割り込み通知(“MSI−X”コマンド)は、TLPにてDCM10(CM#8)のアドレス変換部61(変換部17)に送信される。そして、このアドレス変換部61(変換部17)がCMアドレス情報62を参照し、当該TLPの送信先アドレスを、当該要求元であるCM(CM#4)側のアドレスに変換する。そして、変換したアドレスが送信先アドレスとなったTLPがDCM10(CM#8)の送受信部60(スイッチ16)へ送信される。そして、送受信部60(スイッチ16)は、LCM10(CM#4)のCPU11に対して割り込み通知(“MSI−X”コマンド)を送信する。そして、処理を終了する。 The process shown in step T6 also follows the flow of arrow P2 in FIG. 9, similarly to the processes in steps T2 and T5. That is, as shown by the arrow P2, the interrupt notification (“MSI-X” command) transmitted by the NVMe-SSD #4 is transmitted to the address conversion unit 61 (translation unit 17) of the DCM 10 (CM#8) by TLP. To be done. Then, the address translation unit 61 (translation unit 17) refers to the CM address information 62 and translates the destination address of the TLP into the address on the CM (CM#4) side that is the request source. Then, the TLP in which the converted address becomes the destination address is transmitted to the transmission/reception unit 60 (switch 16) of the DCM 10 (CM#8). Then, the transmission/reception unit 60 (switch 16) transmits an interrupt notification (“MSI-X” command) to the CPU 11 of the LCM 10 (CM#4). Then, the process ends.

このステップT6においてNVMe−SSD#4から送信された情報を図11の矢印C5で示す。この矢印C5で示す情報は、NVMe−SSD#4からSQ宛に発行されたコマンド“MSI−X Interrupt”(“MWr”;TLP)を表す。なお、図11の矢印C6に示す、送信先アドレス(「0xFEE00000」)は、DCMメモリ13DにおけるDCM割り込み通知情報51Dの領域内でMSI−Xコマンド用データが格納されるアドレスを示す。また、変換後の送信先アドレス(「0xFEE00000’」)は、LCMメモリ13Lにおける対DCM領域53の対DCMアクセス情報54領域内でMSI−X用データが格納されるアドレスを示す。このようにして、コマンド“MRd”(TLP)の送信先がDCM10(CM#8)からLCM10(#4)に変換されたことがわかる。 The information transmitted from the NVMe-SSD #4 in step T6 is shown by an arrow C5 in FIG. The information indicated by the arrow C5 represents the command “MSI-X Interrupt” (“MWr”; TLP) issued from the NVMe-SSD #4 to SQ. The destination address (“0xFEE00000”) indicated by the arrow C6 in FIG. 11 indicates the address where the MSI-X command data is stored in the area of the DCM interrupt notification information 51D in the DCM memory 13D. The converted destination address (“0xFEE00000′”) indicates the address where the MSI-X data is stored in the DCM access information 54 area of the DCM area 53 in the LCM memory 13L. In this way, it can be seen that the destination of the command “MRd” (TLP) has been converted from DCM 10 (CM#8) to LCM10 (#4).

上記ステップT1〜T6に示す処理を経ることにより、LCM10(CM#4)のCPU11は、DCM10(CM#8)のCPU11やBECバッファ(105)を介さず、リクエストの送受信を行なうことができる。 Through the processes shown in steps T1 to T6, the CPU 11 of the LCM 10 (CM#4) can send and receive the request without going through the CPU 11 of the DCM 10 (CM#8) and the BEC buffer (105).

図10には、本実施形態におけるドメインを跨ったアクセス処理(右図)と、比較例におけるドメインを跨ったアクセス処理(左図)とを例示する。 FIG. 10 illustrates an access process across domains (right diagram) in the present embodiment and an access process across domains (left diagram) in the comparative example.

図10を参照すると、本実施形態(右図)では、ステップT2のコマンドフェッチの指示、ステップT5のREADコマンドの完了応答、及び、ステップT6の割り込み通知が、NVMe−SSD#4からLCM10(CM#4のCPU11)に送信される。これは、これらのメッセージ(TLP)の送信先が、アドレス変換部61(変換部17)によってLCM10(CM#4)側のアドレスに変換されるからである。 Referring to FIG. 10, in the present embodiment (right diagram), the command fetch instruction in step T2, the READ command completion response in step T5, and the interrupt notification in step T6 are transmitted from the NVMe-SSD #4 to the LCM 10 (CM). It is transmitted to the #11 CPU 11). This is because the transmission destination of these messages (TLP) is converted to the address on the LCM 10 (CM# 4) side by the address conversion unit 61 (translation unit 17).

比較例(左図)では、以上のメッセージの送受信においてCM#8のCPU11やBECバッファ(105)が介在することになる。これに対し、本実施形態では、CM#8のCPU11やBECバッファ(105)への通信を回避することができる。 In the comparative example (left figure), the CM 11 CPU 11 and the BEC buffer (105) intervene in the transmission and reception of the above messages. On the other hand, in the present embodiment, it is possible to avoid communication with the CPU 11 of CM#8 and the BEC buffer (105).

一方、比較例(左図)では、DCM10(CM#8)のCPU11がLCM10(CM#4)のCPU11に対して、メモリ書き込み(“Mem Wr”)コマンドを送信することにより、BECバッファ105のデータがLCM10(CM#4)のCPU11に移動される。これに対し、本実施形態では、BECバッファ(105)を用いずに情報をLCM10(CM#4)へ送信できる。 On the other hand, in the comparative example (left diagram), the CPU 11 of the DCM 10 (CM#8) sends a memory write (“Mem Wr”) command to the CPU 11 of the LCM 10 (CM#4), so that the BEC buffer 105 The data is moved to the CPU 11 of the LCM 10 (CM#4). On the other hand, in the present embodiment, information can be transmitted to the LCM 10 (CM#4) without using the BEC buffer (105).

したがって、本実施形態におけるドメインを跨った記憶装置(NVMe−SSD20)へのアクセス時間を短縮することができる。 Therefore, it is possible to shorten the access time to the storage device (NVMe-SSD 20) across domains in the present embodiment.

また、図8〜図11を用いてLCM10(#4)から読み出し要求を受信した場合を上述したが、書き込み要求を受信した場合においても、TLPの送信先アドレスは同様に変換される。この書き込み要求時に送受信される情報について図12に例示する。図12に例示する要求時に送受信される情報(コマンド(TLP))は、図11に例示した読み出し要求時に送受信される情報と概ね同様であるため説明を省略する。 Further, the case where the read request is received from the LCM 10 (#4) has been described above with reference to FIGS. 8 to 11. Even when the write request is received, the transmission destination address of the TLP is similarly converted. Information transmitted and received at the time of this write request is illustrated in FIG. The information (command (TLP)) transmitted/received at the time of the request illustrated in FIG. 12 is almost the same as the information transmitted/received at the time of the read request illustrated in FIG.

〔3〕実施形態の変形例
上記図1〜図12ではドメインを跨った記憶装置(NVMe−SSD20)へのアクセス処理を説明したが、本変形例では、プライマリのLCM10が故障した場合の切り替え処理について説明する。
[3] Modification of Embodiment Although the access processing to the storage device (NVMe-SSD 20) across domains has been described with reference to FIGS. 1 to 12 above, in this modification, the switching processing when the primary LCM 10 fails Will be described.

なお、本変形例に係るストレージシステム1やCM10のハードウェア構成(図1,図2参照)、及び、CM10の機能構成(図3参照)については、上述した一実施形態と同様のため、説明を省略する。 The hardware configuration (see FIGS. 1 and 2) of the storage system 1 and the CM 10 according to the present modification, and the functional configuration of the CM 10 (see FIG. 3) are the same as those in the above-described embodiment, and thus will be described. Is omitted.

〔3−1〕実施形態の変形例に係るストレージシステムにおける切り替え処理の概要
本変形例に係るストレージシステム1における切り替え処理の概要について、図14を参照しながら、図13を用いて説明する。
[3-1] Outline of Switching Process in Storage System According to Modified Example of Embodiment An outline of switching process in the storage system 1 according to the modified example will be described with reference to FIG. 14 and FIG.

図13は、本変形例に係るストレージシステム1における切り替え処理を説明する例示する図である。 FIG. 13 is a diagram illustrating an example of a switching process in the storage system 1 according to this modification.

この図13は、プライマリのCM10であるCM#4と、セカンダリのCM10であるCM#5(MCM10)とがペアを構成しており、CM#4がLCM10として、DCM10(CM#8)配下のNVMe−SSD#4にアクセスする場合を例示している。 In FIG. 13, the CM#4 that is the primary CM10 and the CM#5 (MCM10) that is the secondary CM10 form a pair, and the CM#4 serves as the LCM10 and is under the control of the DCM10 (CM#8). The case of accessing NVMe-SSD #4 is illustrated.

ここで、図13に例示するように、LCM10(CM#4)が、DCM10(CM#8)配下のNVMe−SSD#4に対してアクセス要求を送信した後にLCM10(CM#4)に故障が発生した場合を想定する。この場合、DCM10(CM#8)のアドレス変換部61(変換部17)で、応答データの送信先をLCM10(CM#4)側のアドレスに変換したとしても、LCM10(CM#4)にて当該情報を受信することができないという課題が発生する。 Here, as illustrated in FIG. 13, after the LCM10 (CM#4) transmits an access request to the NVMe-SSD#4 under the control of the DCM10 (CM#8), the LCM10 (CM#4) fails. Suppose it occurs. In this case, even if the address conversion unit 61 (conversion unit 17) of the DCM 10 (CM#8) converts the transmission destination of the response data to the address on the LCM10 (CM#4) side, the LCM10 (CM#4) does There is a problem that the information cannot be received.

そこで、本変形例では、上述したような場合に、MCM10(#5)がLCM10(CM#4)の代わりに処理を実行(代行)する。これを、切り替えともいう。この切り替えのために、LCM10(CM#4)にて故障が発生していない間は、随時、LCM10(CM#4)のCPU11が、LCMメモリ13Lの対DCM領域53の情報を、MCM10(CM#5)のメモリ13にコピーする(ミラーリング;図13参照)。なお、このMCM10(CM#5)のメモリ13をMCMメモリ13Mともいう。 Therefore, in the present modification, the MCM 10 (#5) executes (instead of) the process in place of the LCM 10 (CM #4) in the above case. This is also called switching. Due to this switching, the CPU 11 of the LCM10 (CM#4) updates the information of the DCM area 53 of the LCM memory 13L with the MCM10 (CM#CM) at any time while no failure occurs in the LCM10 (CM#4). #5) is copied to the memory 13 (mirroring; see FIG. 13). The memory 13 of the MCM 10 (CM#5) is also referred to as MCM memory 13M.

また、変換部メモリ18に備えるCMアドレス情報62に、MCM10(#5)のアドレスに関する情報をさらに備える。そして、DCM10(CM#8)のCPU11が、例えば、当該システム1の起動時に当該情報を取得して、変換部メモリ18のCMアドレス情報62に書き込んでもよい(更新してもよい)。このMCM10(#5)のアドレスに関する情報について、図14を用いて説明する。 Further, the CM address information 62 included in the conversion unit memory 18 further includes information regarding the address of the MCM 10 (#5). Then, the CPU 11 of the DCM 10 (CM#8) may acquire the information, for example, when the system 1 is started up and write (or update) the CM address information 62 in the conversion unit memory 18. Information regarding the address of the MCM 10 (#5) will be described with reference to FIG.

図14は、本変形例に係るストレージシステム1における切り替え用情報63を説明する例示する図である。この図14は、図13に例示するように、プライマリのCM10としてCM#4を、MCM10としてCM#5を、そして、DCM10としてCM#8を設定した場合の切り替え用情報63を例示する。なお、図14は、CM#4とCM#5とのペア(プライマリのCMがCM#4,MCM10がCM#5)に関する情報を例示したが、他のCMのペア毎に、図14に例示する切り替え用情報63を備えてもよい。 FIG. 14 is a diagram illustrating an example of the switching information 63 in the storage system 1 according to this modification. As illustrated in FIG. 13, this FIG. 14 illustrates the switching information 63 when CM#4 is set as the primary CM10, CM#5 is set as the MCM10, and CM#8 is set as the DCM10. Note that FIG. 14 exemplifies the information regarding the pair of CM#4 and CM#5 (the primary CM is CM#4 and the MCM10 is CM#5), but is illustrated in FIG. 14 for each other CM pair. The switching information 63 may be provided.

この図14に例示する切り替え用情報63は、“プライマリのCMの状態”、“切り替え前アドレス”及び、“切り替え後アドレス”の各フィールドを備える。 The switching information 63 illustrated in FIG. 14 includes fields of “state of primary CM”, “address before switching”, and “address after switching”.

切り替え用情報63のフィールド“プライマリのCMの状態”は、プライマリのCM10(CM#4)の状態が、「生存状態」であるか、又は、「故障状態」であるかを示すものである。本変形例において、このフィールド“プライマリのCMの状態”に示す状態は、後述するアドレス変換部61による生存確認により判断できる。 The field “Primary CM status” of the switching information 63 indicates whether the status of the primary CM 10 (CM#4) is “survival status” or “failure status”. In the present modification, the state shown in the field “Primary CM state” can be determined by the survival confirmation by the address conversion unit 61 described later.

切り替え用情報63のフィールド“切り替え前アドレス”は、DCM10(CM#8)メモリ13における、DCMアクセス情報52Dを格納する領域の先頭アドレス(「BAR(α)」)を格納するものである。 The field “address before switching” of the switching information 63 stores the start address (“BAR(α)”) of the area in the DCM 10 (CM#8) memory 13 that stores the DCM access information 52D.

切り替え用情報63のフィールド“切り替え後アドレス”は、LCMメモリ13Lにおける、対DCMアクセス情報54を格納する領域の先頭アドレスを格納する。プライマリのCM10(CM#4)が「生存状態」である場合、DCM10との間で情報の送受信が可能であるため、“切り替え後アドレス”にはLCMメモリ13L上の対DCMアクセス情報54が格納される領域の先頭アドレス(「BAR(α’)」)を格納する。 The field “address after switching” of the switching information 63 stores the head address of the area in the LCM memory 13L that stores the access information 54 to the DCM. When the primary CM 10 (CM#4) is in the "surviving state", information can be transmitted/received to/from the DCM 10, and therefore the "address after switching" stores the access information 54 to the DCM on the LCM memory 13L. The start address (“BAR(α′)”) of the area to be stored is stored.

また、プライマリのCM(LCM10;CM#4)が「故障状態」である場合には、DCM10との間で情報の送受信が不可能である。したがって、フィールド“切り替え後アドレス”には、MCMメモリ13M上の対DCMアクセス情報54が格納される領域の先頭アドレス(「BAR(α’’)」)を格納する。 Further, when the primary CM (LCM10; CM#4) is in the “failed state”, it is impossible to transmit/receive information to/from the DCM 10. Therefore, in the field “address after switching”, the head address (“BAR(α″”)” of the area in the MCM memory 13M in which the access information 54 to the DCM is stored is stored.

この図14に例示した切り替え用情報63に格納される各種情報は、図7に例示した起動時の処理と同様に、当該システム1の起動時に、LCM10(CM#4)からDCM10(#8)に送信されてもよい。 Various information stored in the switching information 63 illustrated in FIG. 14 is similar to the processing at the time of startup illustrated in FIG. 7 when the system 1 is started up, the LCM 10 (CM#4) to the DCM 10 (#8). May be sent to.

また、図14は、対DCMアクセス情報54を格納する領域の先頭アドレスの切り替えについて例示したが、割り込み通知情報を格納する領域の先頭アドレスの切り替えについても、同様に制御されてもよい。 Further, although FIG. 14 exemplifies the switching of the start address of the area storing the DCM access information 54, the switching of the start address of the area storing the interrupt notification information may be similarly controlled.

なお、図13に例示するように、DCMメモリ13D上には、LCMメモリ13L上の対DCMアクセス情報54を格納する領域の先頭アドレス(「BAR(α’)」)が管理されてもよい。また、DCMメモリ13Dにおいて、MCMメモリ13M上の対DCMアクセス情報54を格納する領域の先頭アドレス(「BAR(α’’)」)も管理されてもよい。 As illustrated in FIG. 13, the start address (“BAR(α′)”) of the area for storing the DCM access information 54 on the LCM memory 13L may be managed on the DCM memory 13D. Further, in the DCM memory 13D, the leading address (“BAR(α″)”) of the area in the MCM memory 13M that stores the access information 54 to the DCM may be managed.

さらに、DCM10(CM#8)のアドレス変換部61は、所定の間隔でCM10の故障の有無を検出すべく、CM10に対してポーリングを行なう。このポーリングのことを生存確認ともいう。 Further, the address conversion unit 61 of the DCM 10 (CM#8) polls the CM 10 at predetermined intervals to detect whether or not the CM 10 has a failure. This polling is also called survival confirmation.

また、アドレス変換部61は、生存確認の結果、プライマリのCM10から応答を受信しなかった場合には、このプライマリのCM10が故障状態(故障が発生している状態)であると判定する。そして、アドレス変換部61は、TLPの送信先をMCM10(側)に切り替える。 Further, as a result of the survival confirmation, the address conversion unit 61 determines that the primary CM 10 is in a failure state (a state where a failure has occurred) when no response is received from the primary CM 10. Then, the address conversion unit 61 switches the transmission destination of the TLP to the MCM 10 (side).

一方、アドレス変換部61は、プライマリのCM10から応答を受信した場合には、このプライマリのCM10が生存状態(故障が発生している状態ではない)であると判定する。そして、アドレス変換部61は、引き続き、TLPの送信先をプライマリのCM10とする(に変換する)。 On the other hand, when the address conversion unit 61 receives a response from the primary CM 10, the address conversion unit 61 determines that the primary CM 10 is in a live state (not in a state where a failure has occurred). Then, the address conversion unit 61 continuously sets (translates) the TLP transmission destination to the primary CM 10.

このようにして、プライマリのCM10(CM#4)において故障が発生した場合においても、セカンダリのCM10(CM#5)に切り替えられるようになる。 In this way, even if a failure occurs in the primary CM 10 (CM#4), it can be switched to the secondary CM 10 (CM#5).

〔3−2〕実施形態の変形例に係るストレージシステムにおける切り替え処理
本変形例に係るストレージシステム1における切り替え処理について、図15に例示するシーケンスチャート(B1〜B6)に従って説明する。
[3-2] Switching Processing in Storage System According to Modification of Embodiment Switching processing in the storage system 1 according to this modification will be described with reference to a sequence chart (B1 to B6) illustrated in FIG. 15.

図15は、変形例に係るストレージシステム1における切り替え処理を説明するためのシーケンスチャートである。具体的に、この図15は、図1に例示するストレージシステム1において、DCM10(CM#8)によって、配下のNVMe−SSD#4からの情報をLCM10(CM#4)に対して送信された後、切り替え処理を行なう場合のシーケンスチャートである。 FIG. 15 is a sequence chart for explaining the switching process in the storage system 1 according to the modification. Specifically, in FIG. 15, in the storage system 1 illustrated in FIG. 1, the DCM 10 (CM#8) transmits information from the subordinate NVMe-SSD#4 to the LCM10 (CM#4). It is a sequence chart when switching processing is performed later.

図15のステップB1において、DCM10(CM#8)のアドレス変換部61は、LCM10(CM#4)のCPU11に対して“メモリリード”(MRd)コマンドを送信する。そして、処理がステップB2とステップB4とに進む。 In step B1 of FIG. 15, the address conversion unit 61 of the DCM 10 (CM#8) sends a “memory read” (MRd) command to the CPU 11 of the LCM 10 (CM#4). Then, the process proceeds to step B2 and step B4.

ステップB2において、LCM10(CM#4)のCPU11は、故障していない(生存している)場合、上記ステップB2にて受信した情報を読み出す。 In step B2, the CPU 11 of the LCM 10 (CM#4) reads the information received in step B2 when there is no failure (surviving).

ステップB3において、LCM10(CM#4)のCPU11は、故障していない(生存している)場合、上記ステップB3にて行なった読み出しの処理が終了すると、DCM10(CM#8)に対して完了応答を送信する。そして、処理がステップB4に進む。 In step B3, the CPU 11 of the LCM 10 (CM#4) completes the DCM 10 (CM#8) when the reading process performed in step B3 ends, if there is no failure (surviving). Send a response. Then, the process proceeds to step B4.

ステップB4において、DCM10(CM#8)の送受信部60は、LCM10(CM#4)から完了応答を受信したか否かを判定する。ここで、DCM10(CM#8)の送受信部60は、所定時間の間に完了応答を受信したか否かを判定してもよい。完了応答を受信したと判定した場合(ステップB4における“Yes”ルート)、処理がステップB1に戻る。一方、完了応答を受信しなかったと判定した場合(ステップB4における“No”ルート)、処理がステップB5に移行する。 In step B4, the transmission/reception unit 60 of the DCM 10 (CM#8) determines whether or not the completion response has been received from the LCM 10 (CM#4). Here, the transmission/reception unit 60 of the DCM 10 (CM#8) may determine whether or not the completion response has been received within the predetermined time. If it is determined that the completion response has been received (“Yes” route in step B4), the process returns to step B1. On the other hand, if it is determined that the completion response has not been received (“No” route in step B4), the process proceeds to step B5.

ステップB5において、DCM10(CM#8)のアドレス変換部61は、図14に例示する切り替え用情報63に基づき、TLPの送信先をMCMメモリ上の対DCMアクセス情報54のアドレス(「BAR(α’’)」)に切り替える。そして、切り替え処理を終了する。 In step B5, the address conversion unit 61 of the DCM 10 (CM#8) sets the transmission destination of the TLP to the address (“BAR(α '')''). Then, the switching process ends.

また、MCM10(M#8)のCPU11は、LCM10が故障したことを検知し、自身がLCM10の処理を代行できるよう、LCM10の処理を切り替える(ステップB6参照)。そして、切り替え処理を終了する。 Further, the CPU 11 of the MCM 10 (M#8) detects that the LCM 10 has failed, and switches the processing of the LCM 10 so that the CPU 11 itself can perform the processing of the LCM 10 (see step B6). Then, the switching process ends.

以上のステップB1〜B6に示す処理を経ることにより、LCM(CM#4)に故障等の問題が発生して情報の送受信ができなくなった場合においても、DCM10(CM#8)とMCM10(M#8)との間で情報の送受信が可能となる。 Through the processes shown in steps B1 to B6 above, even when the LCM (CM#4) has a problem such as a failure and cannot transmit/receive information, the DCM10(CM#8) and the MCM10(M It is possible to send and receive information to and from #8).

〔4〕効果
上述のように、一実施形態及び変形例に係るストレージシステム1では、DCM10にアドレス変換部61(変換部17)を設け、さらに、変換部メモリ18にCMアドレス情報62を備え、当該CMアドレス情報62にてLCM10側のアドレスを管理する。これにより、LCM10からDCM10配下のNVMe−SSD20に対してアクセス要求があった場合においても、アドレス変換部61(変換部17)において、CMアドレス情報62を参照してTLPの送信先をLCM10側のアドレスに変換する。そして、DCM10のスイッチ16は、DCMメモリ13Dを用いずに、変換したアドレスに基づき、FRT30を介してLCM10に応答データを送信できる。
[4] Effects As described above, in the storage system 1 according to the embodiment and the modification, the DCM 10 is provided with the address translation unit 61 (translation unit 17), and the translation unit memory 18 is provided with the CM address information 62. The CM address information 62 manages the address on the LCM 10 side. As a result, even when an access request is issued from the LCM 10 to the NVMe-SSD 20 under the DCM 10, the address translation unit 61 (translation unit 17) refers to the CM address information 62 and sets the destination of the TLP to the LCM 10 side. Convert to an address. Then, the switch 16 of the DCM 10 can transmit the response data to the LCM 10 via the FRT 30 based on the converted address without using the DCM memory 13D.

したがって、ドメインを跨った記憶装置(NVMe−SSD20)へのアクセスに要する時間を短縮させることができる。 Therefore, the time required to access the storage device (NVMe-SSD 20) across domains can be shortened.

また、変形例に係るストレージシステム1において、プライマリのLCM10が故障した場合、DCM10のアドレス変換部61(変換部17)では、TLPの送信先をMCM10側のアドレスに切り替える。これにより、プライマリのLCM10が故障した場合にも、MCM10がLCM10の処理を代行できると共に、DCM10とMCM10との間で確実に情報の送受信を行なうことができる。 Further, in the storage system 1 according to the modification, when the primary LCM 10 fails, the address conversion unit 61 (conversion unit 17) of the DCM 10 switches the TLP transmission destination to the address on the MCM 10 side. As a result, even when the primary LCM 10 fails, the MCM 10 can substitute the processing of the LCM 10 and can reliably transmit and receive information between the DCM 10 and the MCM 10.

また、一実施形態及び変形例に係るストレージシステム1において、DCM10のアドレス変換部61(変換部17)が、当該システムの起動時に変換部メモリ18内のCMアドレス情報62を生成する。これにより、新たにストレージ制御装置が追加された場合においても自動的にCMアドレス情報62が更新される。したがって、工場出荷時の設定情報に限定されることなく、柔軟なスケールアウトが実現できる。 In addition, in the storage system 1 according to the embodiment and the modification, the address conversion unit 61 (conversion unit 17) of the DCM 10 generates the CM address information 62 in the conversion unit memory 18 when the system is activated. As a result, the CM address information 62 is automatically updated even when a new storage control device is added. Therefore, flexible scale-out can be realized without being limited to the factory setting information.

〔5〕その他
上述した一実施形態及び変形例に係る技術は、以下のように変形、変更して実施することができる。
[5] Others The technology according to the above-described embodiment and modification can be modified and modified as follows.

上述した一実施形態及び変形例では、CM10のペアが、それぞれ1つの記憶装置であるNVMe−SSD20を備えるものとしたが、各ペアが複数のNVMe−SSD20を備えてもよい。 In the above-described embodiment and modification, each pair of CMs 10 includes one NVMe-SSD 20, which is one storage device, but each pair may include a plurality of NVMe-SSDs 20.

上述した一実施形態及び変形例では、アクセス要求として読み出しの処理を例示したが、アクセス要求は読み出し要求に限られず、例えば、書き込み要求を含んでもよい。 In the above-described one embodiment and modification, the read process is illustrated as the access request, but the access request is not limited to the read request and may include, for example, a write request.

〔6〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
[6] Supplementary Notes The following supplementary notes will be disclosed regarding the above-described embodiment.

(付記1)
第一のストレージ制御装置と、
前記第一のストレージ制御装置にインタフェースを介して接続され、前記第一のストレージ制御装置による制御下で動作する記憶装置と、
前記第一のストレージ制御装置と通信可能に接続される第二のストレージ制御装置とを備えるストレージシステムであって、
前記第二のストレージ制御装置が、
当該第二のストレージ制御装置に備えられたメモリにおけるアドレス情報を前記第一のストレージ制御装置に通知する通知部と、
前記記憶装置に対するデータアクセス要求を発行するデータアクセス要求発行部と
を備え、
前記第一のストレージ制御装置が、
前記データアクセス要求発行部からの前記記憶装置に対する前記データアクセス要求に応じて作成される応答データの送信先アドレスに、前記通知部によって通知された前記アドレス情報を用いて前記第二のストレージ制御装置の前記メモリにおけるアドレスを設定する宛先設定部と、
前記宛先設定部によって設定された前記送信先アドレスを指定して、前記応答データを、前記第二のストレージ制御装置の前記メモリに送信する送信部と
を備えることを特徴とする、ストレージシステム。
(Appendix 1)
A first storage controller,
A storage device that is connected to the first storage control device via an interface and that operates under the control of the first storage control device;
A storage system comprising a second storage control device communicatively connected to the first storage control device,
The second storage control device,
A notification unit that notifies the first storage control device of address information in the memory provided in the second storage control device,
A data access request issuing unit for issuing a data access request to the storage device,
The first storage controller is
The second storage control device using the address information notified by the notifying unit as the destination address of the response data created in response to the data access request from the data access request issuing unit to the storage device. A destination setting unit for setting an address in the memory,
A storage system comprising: a transmission unit that specifies the transmission destination address set by the destination setting unit and transmits the response data to the memory of the second storage control device.

(付記2)
前記宛先設定部が、
前記応答データに送信先アドレスとして設定された前記第一のストレージ制御装置のメモリにおけるアドレスを、前記通知部によって通知された前記アドレス情報を用いて前記第二のストレージ制御装置の前記メモリにおけるアドレスに書き換える
ことを特徴とする付記1記載のストレージシステム。
(Appendix 2)
The destination setting unit,
The address in the memory of the first storage controller set as the destination address in the response data is set to the address in the memory of the second storage controller using the address information notified by the notification unit. The storage system according to appendix 1, which is rewritten.

(付記3)
前記第一のストレージ制御装置が、
前記第二のストレージ制御装置の生存確認を行なう確認部を備え、
前記第二のストレージ制御装置の生存を確認できない場合に、
前記宛先設定部が、におけるアドレス情報を、前記第二のストレージ制御装置を代行する第三のストレージ制御装置のメモリにおけるアドレス情報に置き書き換える
ことを特徴とする付記1または2記載のストレージシステム。
(Appendix 3)
The first storage controller is
A confirmation unit for confirming the existence of the second storage control device;
If the existence of the second storage control device cannot be confirmed,
3. The storage system according to appendix 1 or 2, wherein the destination setting unit rewrites the address information in the address information in the memory of the third storage control device acting on behalf of the second storage control device.

(付記4)
インタフェースを介して接続される記憶装置を制御するとともに、第二のストレージ制御装置と通信可能に接続される第一のストレージ制御装置であって、
前記第二のストレージ制御装置から、当該第二のストレージ制御装置に備えられたメモリにおけるアドレス情報を受信する通信部と、
前記第二のストレージ制御装置からの前記記憶装置に対するデータアクセス要求に応じて作成される応答データの送信先アドレスに、前記第二のストレージ制御装置から通知されたアドレス情報を用いて前記メモリにおけるアドレスを設定する宛先設定部と、
前記宛先設定部によって設定された前記送信先アドレスを指定して前記応答データを、前記第二のストレージ制御装置の前記メモリに送信する送信部と
を備えることを特徴とする、ストレージ制御装置。
(Appendix 4)
A first storage control device that controls a storage device connected via an interface and is communicatively connected to a second storage control device,
A communication unit that receives address information in a memory provided in the second storage control device from the second storage control device;
An address in the memory using the address information notified from the second storage control device as the destination address of the response data created in response to the data access request from the second storage control device to the storage device. Destination setting section for setting
A storage control device comprising: a transmission unit that specifies the transmission destination address set by the destination setting unit and transmits the response data to the memory of the second storage control device.

(付記5)
前記宛先設定部が、
前記第二のストレージ制御装置からの前記データアクセス要求に応じて前記記憶装置から読み出して作成された応答データに送信先アドレスとして設定された前記第一のストレージ制御装置のメモリにおけるアドレス情報を、前記通知部によって通知された前記アドレス情報を用いて書き換える
ことを特徴とする付記4記載のストレージ制御装置。
(Appendix 5)
The destination setting unit,
The address information in the memory of the first storage control device, which is set as the destination address in the response data read from the storage device in response to the data access request from the second storage control device, 6. The storage control device according to appendix 4, wherein the storage control device is rewritten using the address information notified by the notification unit.

(付記6)
前記第二のストレージ制御装置の生存確認を行なう確認部を備え、
前記第二のストレージ制御装置の生存を確認できない場合に、
前記宛先設定部が、
前記応答データの送信先アドレスにおけるアドレス情報を、前記第二のストレージ制御装置を代行する第三のストレージ制御装置のメモリにおけるアドレス情報を用いて書き換える
ことを特徴とする付記4または5記載のストレージ制御装置。
(Appendix 6)
A confirmation unit for confirming the existence of the second storage control device;
If the existence of the second storage control device cannot be confirmed,
The destination setting unit,
6. The storage control according to appendix 4 or 5, wherein the address information in the destination address of the response data is rewritten using the address information in the memory of the third storage control device acting on behalf of the second storage control device. apparatus.

1 ストレージシステム
10 CM(DCM,LCM,MCM)
20 NVMe−SSD
30 FRT
11 CPU
12 記憶部
13L LCMメモリ(メモリ)
13D DCMメモリ(メモリ)
13M MCMメモリ(メモリ)
14 IF部
15 入出力部
16 スイッチ
17 変換部
18 変換部メモリ
40 解析部
41 変換情報作成部
50D DCM設定情報
51D DCM割り込み通知情報
52D DCMアクセス情報
50L LCM設定情報
51L LCM割り込み通知情報
52L LCMアクセス情報
53 対DCM領域
54 対DCMアクセス情報
55 アクセス用アドレス変換情報
56 割り込み通知用アドレス変換情報
60 送受信部
61 アドレス変換部
62 CMアドレス情報
63 切り替え用情報
90 制御プログラム
100 ストレージシステム
101 CM
102 NVMe−SSD
103 FRT
104 メモリ
105 BECバッファ
1 Storage system 10 CM (DCM, LCM, MCM)
20 NVMe-SSD
30 FRT
11 CPU
12 storage unit 13L LCM memory (memory)
13D DCM memory (memory)
13M MCM memory (memory)
14 IF section 15 Input/output section 16 Switch 17 Converting section 18 Converting section Memory 40 Analyzing section 41 Converting information creating section 50D DCM setting information 51D DCM interrupt notification information 52D DCM access information 50L LCM setting information 51L LCM interrupt notification information 52L LCM access information 53 to DCM area 54 to DCM access information 55 access address conversion information 56 interrupt notification address conversion information 60 transmission/reception unit 61 address conversion unit 62 CM address information 63 switching information 90 control program 100 storage system 101 CM
102 NVMe-SSD
103 FRT
104 memory 105 BEC buffer

Claims (4)

第一のストレージ制御装置と、
前記第一のストレージ制御装置にインタフェースを介して接続され、前記第一のストレージ制御装置による制御下で動作する記憶装置と、
前記第一のストレージ制御装置と通信可能に接続される第二のストレージ制御装置とを備えるストレージシステムであって、
前記第二のストレージ制御装置が、
当該第二のストレージ制御装置に備えられたメモリにおけるアドレス情報を前記第一のストレージ制御装置に通知する通知部と、
前記記憶装置に対するデータアクセス要求を発行するデータアクセス要求発行部と
を備え、
前記第一のストレージ制御装置が、
前記データアクセス要求発行部からの前記記憶装置に対する前記データアクセス要求に応じて作成される応答データの送信先アドレスに、前記通知部によって通知された前記アドレス情報を用いて前記第二のストレージ制御装置の前記メモリにおけるアドレスを設定する宛先設定部と、
前記宛先設定部によって設定された前記送信先アドレスを指定して、前記応答データを、前記第二のストレージ制御装置の前記メモリに送信する送信部と
を備えることを特徴とする、ストレージシステム。
A first storage controller,
A storage device that is connected to the first storage control device via an interface and that operates under the control of the first storage control device;
A storage system comprising a second storage control device communicatively connected to the first storage control device,
The second storage control device,
A notification unit that notifies the first storage control device of address information in the memory provided in the second storage control device,
A data access request issuing unit for issuing a data access request to the storage device,
The first storage controller is
The second storage control device using the address information notified by the notifying unit as the destination address of the response data created in response to the data access request from the data access request issuing unit to the storage device. A destination setting unit for setting an address in the memory,
A storage system comprising: a transmission unit that specifies the transmission destination address set by the destination setting unit and transmits the response data to the memory of the second storage control device.
前記宛先設定部が、
前記応答データに送信先アドレスとして設定された前記第一のストレージ制御装置のメモリにおけるアドレスを、前記通知部によって通知された前記アドレス情報を用いて前記第二のストレージ制御装置の前記メモリにおけるアドレスに書き換える
ことを特徴とする請求項1記載のストレージシステム。
The destination setting unit,
The address in the memory of the first storage controller set as the destination address in the response data is set to the address in the memory of the second storage controller using the address information notified by the notification unit. The storage system according to claim 1, which is rewritten.
前記第一のストレージ制御装置が、
前記第二のストレージ制御装置の生存確認を行なう確認部を備え、
前記第二のストレージ制御装置の生存を確認できない場合に、
前記宛先設定部が、
前記第二のストレージ制御装置におけるアドレス情報を、前記第二のストレージ制御装置を代行する第三のストレージ制御装置のメモリにおけるアドレス情報に置き換える
ことを特徴とする請求項1または2記載のストレージシステム。
The first storage controller is
A confirmation unit for confirming the existence of the second storage control device;
If the existence of the second storage control device cannot be confirmed,
The destination setting unit,
3. The storage system according to claim 1, wherein the address information in the second storage control device is replaced with the address information in the memory of the third storage control device acting on behalf of the second storage control device.
インタフェースを介して接続される記憶装置を制御するとともに、第二のストレージ制御装置と通信可能に接続される第一のストレージ制御装置であって、
前記第二のストレージ制御装置から、当該第二のストレージ制御装置に備えられたメモリにおけるアドレス情報を受信する通信部と、
前記第二のストレージ制御装置からの前記記憶装置に対するデータアクセス要求に応じて作成される応答データの送信先アドレスに、前記第二のストレージ制御装置から通知されたアドレス情報を用いて前記メモリにおけるアドレスを設定する宛先設定部と、
前記宛先設定部によって設定された前記送信先アドレスを指定して前記応答データを、前記第二のストレージ制御装置の前記メモリに送信する送信部と
を備えることを特徴とする、ストレージ制御装置。

A first storage control device that controls a storage device connected via an interface and is communicatively connected to a second storage control device,
A communication unit that receives address information in a memory provided in the second storage control device from the second storage control device;
An address in the memory using the address information notified from the second storage control device as the destination address of the response data created in response to the data access request from the second storage control device to the storage device. Destination setting section for setting
A storage control device comprising: a transmission unit that specifies the transmission destination address set by the destination setting unit and transmits the response data to the memory of the second storage control device.

JP2019010432A 2019-01-24 2019-01-24 Storage system and storage control device Active JP7147589B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019010432A JP7147589B2 (en) 2019-01-24 2019-01-24 Storage system and storage control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019010432A JP7147589B2 (en) 2019-01-24 2019-01-24 Storage system and storage control device

Publications (2)

Publication Number Publication Date
JP2020119325A true JP2020119325A (en) 2020-08-06
JP7147589B2 JP7147589B2 (en) 2022-10-05

Family

ID=71890888

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019010432A Active JP7147589B2 (en) 2019-01-24 2019-01-24 Storage system and storage control device

Country Status (1)

Country Link
JP (1) JP7147589B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966303A (en) * 2020-09-02 2020-11-20 深圳大普微电子科技有限公司 Data processing method, system, equipment and readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150324118A1 (en) * 2014-05-07 2015-11-12 HGST Netherlands B.V. SYSTEM AND METHOD FOR PEER-TO-PEER PCIe STORAGE TRANSFERS
WO2017154943A1 (en) * 2016-03-11 2017-09-14 パナソニックIpマネジメント株式会社 Information processing device
WO2018020630A1 (en) * 2016-07-28 2018-02-01 株式会社日立製作所 Computer system, processing method, and driver program
JP2018060419A (en) * 2016-10-06 2018-04-12 富士通株式会社 Storage controller and storage device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150324118A1 (en) * 2014-05-07 2015-11-12 HGST Netherlands B.V. SYSTEM AND METHOD FOR PEER-TO-PEER PCIe STORAGE TRANSFERS
WO2017154943A1 (en) * 2016-03-11 2017-09-14 パナソニックIpマネジメント株式会社 Information processing device
WO2018020630A1 (en) * 2016-07-28 2018-02-01 株式会社日立製作所 Computer system, processing method, and driver program
JP2018060419A (en) * 2016-10-06 2018-04-12 富士通株式会社 Storage controller and storage device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966303A (en) * 2020-09-02 2020-11-20 深圳大普微电子科技有限公司 Data processing method, system, equipment and readable storage medium
CN111966303B (en) * 2020-09-02 2024-03-19 深圳大普微电子科技有限公司 Data processing method, system, equipment and readable storage medium

Also Published As

Publication number Publication date
JP7147589B2 (en) 2022-10-05

Similar Documents

Publication Publication Date Title
US11256582B2 (en) System, and control method and program for input/output requests for storage systems
US20180349128A1 (en) Containerized upgrade in operating system level virtualization
WO2020108271A1 (en) Application program updating method, device and equipment, and storage medium
US8032786B2 (en) Information-processing equipment and system therefor with switching control for switchover operation
JP2009205614A (en) Storage system controlling method, switch device and storage system
JP2011145910A (en) Information processing apparatus and firmware updating method of the same
JP2012027680A (en) Multipath control system and method
JP6663478B2 (en) Data migration method and computer system
US20210089379A1 (en) Computer system
WO2019080150A1 (en) Dual active storage system and address allocation method
JPWO2014147817A1 (en) Information processing apparatus, program update method, and program
JP6961045B2 (en) System and its control method and program
JP2020119325A (en) Storage system, and storage controller
US20190073150A1 (en) Storage management server, method of controlling storage management server, and computer system
US20130239110A1 (en) Detaching method and recording medium
JP2017130125A (en) Information processing device, management device and method for switching information processing device
JP5975003B2 (en) Virtualization control device, virtualization system, virtualization method, and virtualization control program.
JP5464449B2 (en) Method for detecting inconsistency between processing units considering reboot due to failure, shared apparatus, and cluster system
JP6269673B2 (en) Information processing apparatus, I / O system, and I / O control method
CN111831217A (en) Storage system, drive enclosure thereof, and parity calculation method
JP5477122B2 (en) Computer system, computer system management method, gateway device, and program
US20240078019A1 (en) Memory system and control method
JP5910745B2 (en) Data backup method and interface card
US20140059164A1 (en) Apparatus and method for managing terminal device
JP2010277555A (en) Relay device and relay program

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220812

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220905

R150 Certificate of patent or registration of utility model

Ref document number: 7147589

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150