JP5659289B1 - ストレージシステム - Google Patents
ストレージシステム Download PDFInfo
- Publication number
- JP5659289B1 JP5659289B1 JP2013272300A JP2013272300A JP5659289B1 JP 5659289 B1 JP5659289 B1 JP 5659289B1 JP 2013272300 A JP2013272300 A JP 2013272300A JP 2013272300 A JP2013272300 A JP 2013272300A JP 5659289 B1 JP5659289 B1 JP 5659289B1
- Authority
- JP
- Japan
- Prior art keywords
- group
- card
- connector
- interface
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/025—Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Bus Control (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
【課題】利便性を向上させるストレージシステムを得ること。【解決手段】ストレージシステムは、記憶部とインタフェース部とを備える。記憶部は、2以上の異なる方向に相互に接続される複数のノードモジュールを備える。各ノードモジュールは、パケットの転送とデータの記憶とを実行する。インタフェース部は、記憶部が備える複数のノードモジュールと外部のノードモジュールとを接続する。【選択図】図1
Description
本発明の実施形態は、ストレージシステムに関する。
近年、ストレージシステムを備えた複数台の情報処理装置を、相互にネットワークで接続して、一つの情報処理システムとして動作させる場合(例えばクラウドコンピューティング)が増加している。また、ストレージシステムとしても、従来型のHDDを使用したものと比較してより高速な、DRAMチップやNANDフラッシュチップなどを多数並べてチップ間配線によって接続し、一つのストレージシステムとして用いられるものが存在する。
本発明の一つの実施形態は、利便性を向上させたストレージシステムを提供することを目的とする。
本発明の一つの実施形態によれば、ストレージシステムにおいて、第1ノードコントローラを有する第1ノードモジュールおよび第2ノードコントローラを其々有する複数の第2ノードモジュールを備えるネットワークが構成される。前記第1ノードコントローラと、前記複数の第2ノードコントローラとは、其々互いにデータ転送可能に接続される。前記複数の第2ノードモジュールは、前記ネットワークから着脱可能なインターフェース部を有するカード基板に実装される。前記複数の第2ノードコントローラのうちの一の第2ノードコントローラは、前記インターフェース部により前記第1ノードコントローラと通信可能に接続される。前記インターフェース部は、第1グループと第2グループとに分類され、前記カード基板は、前記第1グループ及び前記第2グループのうち、何れか少なくとも一方で電気的に接続されていれば前記ネットワーク内でデータ転送を実行可能であり、前記第1グループの端子は他のカード基板の他の第1グループの端子とともに第1グループインターフェースとして纏められ、前記第2グループの端子は前記他のカード基板の他の第2グループの端子とともに第2グループインターフェースとして纏められる。
以下に添付図面を参照して、実施形態にかかるストレージシステムを詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(第1の実施形態)
まず、実施形態のストレージシステムの構成の概念を説明する。図1は、ストレージシステムの構成の概念を示す図である。図示するように、ストレージシステム1は、記憶部10、コネクションユニット(CU)11、インタフェース部(I/F部)12およびマネジメントモジュール(MM)13を備えている。
まず、実施形態のストレージシステムの構成の概念を説明する。図1は、ストレージシステムの構成の概念を示す図である。図示するように、ストレージシステム1は、記憶部10、コネクションユニット(CU)11、インタフェース部(I/F部)12およびマネジメントモジュール(MM)13を備えている。
記憶部10は、記憶機能およびデータ転送機能を其々有する複数のノードモジュール(NM)14をメッシュネットワークにより相互に接続した構成を備える。記憶部10は、複数のNM14に対してデータを分散して記憶する。データ転送機能は、各NM14が効率的にパケットを転送する転送方式を備える。
図1では、各NM14が其々格子点に配置された、矩形状のネットワークの例を示す。格子点の座標を座標(x、y)で示し、格子点に配置されるNM14の位置情報は、当該格子点の座標と対応してノードアドレス(xD、yD)で示されるものとする。また、図1の例では、左上隅に位置するNM14が原点のノードアドレス(0、0)を有し、各NM14を横方向(X方向)および縦方向(Y方向)に移動することで、ノードアドレスが整数値で増減する。
各NM14は、それぞれ、2つ以上のインタフェース15を備える。各NM14は、隣接するNM14と、インタフェース15を介して接続される。各NM14は、2以上の異なる方向に隣接するNM14と接続される。例えば、図1において左上隅のノードアドレス(0、0)で示されるNM14は、X方向に隣接するノードアドレス(1、0)で表されるNM14と、X方向とは異なる方向であるY方向に隣接するノードアドレス(0、1)で表されるNM14と、それぞれ接続される。また、図1においてノードアドレス(1、1)で表されるNM14は、互いに異なる4の方向に隣接する、ノードアドレス(1、0)、(0、1)、(2、1)および(1、2)でそれぞれ示される4のNM14に接続される。以降、ノードアドレス(xD、yD)で表されるNM14を、ノード(xD、yD)と表記することがある。
図1では、各NM14が矩形格子の格子点に配置されるように示したが、各NM14の配置の様態は、この例に限定されない。すなわち、格子の形状は、格子点に配置される各NM14が2以上の異なる方向に隣接するNM14と接続されればよく、例えば三角形、六角形などでもよい。また、図1では各NM14が2次元状に配置されているが、各NM14を3次元的に配置しても構わない。3次元的にNM14を配置した場合は、(x、y、z)の3つの値で各NM14を指定することができる。また、NM14が2次元的に配置される場合には、対辺に位置するNM14同士を接続することによって、NM14をトーラス状に接続するようにしてもよい。
CU11は、外部に接続するコネクタを備え、外部からの要求に応じて記憶部10にデータを入出力することができる。具体的には、CU11は、図示していない記憶装置と演算装置とを備え、演算装置は、記憶装置をワークエリアとして使用しながらサーバアプリケーションプログラムを実行することができる。CU11は、サーバアプリケーションによる制御の下で、外部からの要求を処理する。CU11は、外部からの要求の処理の過程において、記憶部10に対するアクセスを実行する。CU11は、記憶部10にアクセスする際には、NM14が転送したり実行したりすることが可能なパケットを生成し、生成したパケットを、自CU11に接続されているNM14に送信する。
図1の例では、ストレージシステム1は、4つのCU11を備えている。4つのCU11は、夫々異なるNM14に接続される。ここでは、4つのCU11は、ノード(0、0)、ノード(1、0)、ノード(2、0)、およびノード(3、0)に一対一に接続されている。なお、CU11の数は任意に構成することが可能である。また、CU11は、記憶部10を構成する任意のNM14に接続されることが可能である。また、1つのCU11が複数のNM14に接続されてもよいし、1つのNM14が複数のCU11に接続されてもよい。また、記憶部10を構成する複数のNM14のうちの任意のNM14にCU11が接続されてもよい。
図2は、NM14の構成の一例を示す図である。NM14は、ノードコントローラ(NC)140と、ストレージとして機能する第1のメモリ141と、NC140がワークエリアとして使用する第2のメモリ142とを備えている。第1のメモリ141としては、NANDメモリ、ビットコストスケーラブルメモリ(BiCS)、磁気抵抗メモリ(MRAM)、相変化メモリ(PcRAM)、抵抗変化型メモリ(RRAM(登録商標))、またはこれらの組み合わせが適用可能である。第2のメモリ142としては、各種RAMが適用可能である。なお、第1のメモリ141がワークエリアとしての機能を提供することによって第2のメモリ142はNM14に具備されなくてもよい。
NC140は、4つのインタフェース15が接続される。NC140は、CU11または他のNM14からインタフェース15を介してパケットを受信したり、CU11または他のNM14にインタフェース15を介してパケットを送信したりする。NC140は、受信したパケットの宛先が自NM14である場合には、そのパケット(そのパケットに記録されるコマンド)に応じた処理を実行する。例えば、コマンドがアクセスコマンド(リードコマンドまたはライトコマンド)である場合には、NC140は第1のメモリ141に対するアクセスを実行する。NC140は、受信したパケットの宛先が自NM14では無い場合には、そのパケットを自NM14に接続されている他のNM14に転送する。
図3は、パケットの構成を説明する図である。パケットは、宛先のノードアドレス、送り元のノードアドレス、および、コマンドまたはデータが記録されて構成される。
パケットは、そのパケットを受信したNC140が所定の転送アルゴリズムに基づいてルーティング先を決定することで、NM14間を転送されて、宛先のNM14に到達する。例えば、NC140は、自NM14に接続されている複数のNM14のうちの、自NM14から宛先のNM14までの転送回数が最小となる経路上に位置するNM14を、転送先のNM14に決定する。NC140は、自NM14から宛先のNM14までの転送回数が最小となる経路が複数存在する場合には、複数の経路から1つの経路を任意の方法で選択する。NC140は、自NM14に接続されている複数のNM14のうちの転送回数が最小となる経路上に位置するNM14が故障していたりビジーであったりする場合には、他のNM14を転送先に決定する。
記憶部10は、複数のNM14がメッシュネットワークで接続されて構成されていることにより、転送回数が最小となる経路が複数存在する。特定のNM14を宛先とするパケットが複数発行された場合であっても、発行された複数のパケットは、上述の転送アルゴリズムにより複数の経路に分散して転送されるので、特定のNM14に対するアクセス集中によるストレージシステム1全体のスループットの低下が抑制される。
図4は、NM14の実装例を示す図である。各NM14は、カード基板20に実装されている。4つのカード基板20が、着脱可能にコネクタを介してバックプレーン22に装着される。各カード基板20には、4つのNM14が実装されている。Y方向に配列された4つのNM14は、同一のカード基板20に実装され、X方向に配列された4つのNM14は、夫々異なるカード基板20に実装されている。ここで、記憶部10においてRAID(Redundant Arrays of Inexpensive Disks)を構築することが可能である。例えば、図4に示す例では、4つのRAIDグループ21が構築されており、各NM14は、4つのRAIDグループ21のうちのいずれかに属する。そして、夫々異なるカード基板20に実装されている4つのNM14は1つのRAIDグループ21が構成される。ここでは、X方向に配列された4つのNM14が同一のRAIDグループ21に属する。適用されるRAIDのレベルは、任意である。例えばRAID5が適用される場合には、RAIDグループ21を構成する複数のNM14のうちの1つが破損したとき、破損したNM14を有するカード基板20を交換することで、破損したNM14に記憶されるデータが復旧される。また、RAID6が適用される場合には、RAIDグループ21を構成する複数のNM14のうちの2つのNM14が破損した場合であっても復旧可能である。
MM13は、各CU11と、ノード(0、0)とに接続されている。MM13は、図示していないBMC(Base Management Controller)を備えている。MM13は、BMCの機能の一環として、環境温度の監視、ファンの回転数の監視とコントロール、電源電流および電源電圧の監視、各CU11のステータスの記録、各CU11の温度の監視、CU11のリセット、などを実行する。また、MM13は、BMCの機能のほかに、記憶部10に対する処理(NM制御処理)を実行する機能を備える。NM制御処理は任意である。例えば、第1のメモリ141がフラッシュメモリで構成される場合には、MM13は、第1のメモリ141のウェアレベリングを実行してもよい。また、MM13は、MM14の故障が発見されたとき、故障したMM14が実装されているカード基板20の交換を外部に通知するようにしてもよい。また、MM13は、カード基板20の交換後、RAIDのリビルドを行ってもよい。なお、MM14の故障の検知は、NC140によって行われてもよいし、CU11によって行われてもよい。MM14の故障の検知は、そのMM14に具備される第1のメモリ141からのリードデータに対するエラー検出に基づいて実行されてもよい。MM13は、記憶部10に対して処理を行う際には、処理に応じたパケットを発行する。MM13は、例えば図3に示す様式に準拠するパケットを発行する。
I/F部12は、記憶部10を拡張するための接続インタフェースである。異なる2台のストレージシステム1がI/F部12を介して相互に接続されることで、各ストレージシステム1が備える記憶部10が論理的に結合されて、1つの記憶部10として使用可能になる。I/F部12は、1以上のNM14からインタフェース15で接続されている。ここでは、ノード(0、0)、ノード(0、1)、ノード(0、2)、およびノード(0、3)の4つのNM14に接続されている各インタフェース15がI/F部12に夫々接続されている。
図5は、I/F部12を介して2台のストレージシステム1が接続されたときのNM14間の接続関係を示す図である。図示するように、2台のストレージシステム1のうちの一のストレージシステム1に具備される4つのNM14と、2台のストレージシステム1のうちの他のストレージシステムに具備される4つのNM14とが、I/F部12を介して一対一で接続されている。2台のストレージシステム1間では、I/F部12により接続されたインタフェース15を介してパケットが転送可能である。これにより、4行4列のNM14群により構成される2つの記憶部10が論理的に結合されて、4行8列のNM14群により構成される1つの記憶部10として使用可能となる。
なお、記憶部10を構成する複数のNM14のうちの何れをI/F部12に接続するか、および、I/F部12に接続するNM14の数は、任意である。また、記憶部10間の接続関係のバリエーションについては後述する。
次に、第1の実施形態の実装例を説明する。
図6は、ストレージシステム1が収容される筐体(エンクロージャ)を示す図である。ストレージシステム1は、サーバラック201にマウント可能なエンクロージャ200に収容される。エンクロージャ200の寸法は、サーバラック201が準拠する規格によって規定されている。エンクロージャ200の寸法のうちの高さは、「U(ユニット)」によって表現される。例えば、エンクロージャ200は、「2U」の高さを有する。
図7は、エンクロージャ200の前面図、図8は、エンクロージャ200の背面図、図9は、エンクロージャ200の内部の上面図、を夫々示している。
エンクロージャ200の前面の中央には、電源ボタン、各種LED、および各種コネクタが配設されたコンソールパネル202が設けられている。コンソールパネル202の左右には、空気を吸気または排気するファン203が夫々2つずつ設けられている。
エンクロージャ200の背面の中央部分には、後述の電源装置211を冷却するための2つのファン203と、2つの電源コネクタ204と、が設けられている。そして、CU11が外部と接続するための6対で合計12個のコネクタ205と、I/F部12が外部と接続するための4対で合計8個のコネクタ206と、MM13が外部と接続するための1個のコネクタ207と、が、中央部分の左右に夫々設けられている。
なお、ここでは、コネクタ205の規格として、イーサネット(登録商標)規格に準拠するコネクタが採用されるとして説明するが、ネットワーク接続可能な規格であればコネクタ205の規格として任意の規格が採用可能である。また、コネクタ206の規格には、任意の規格が採用可能である。ここでは、NM14間のインタフェースとしてLVDS(Low voltage differential signaling)が採用され、コネクタ206の規格としてLVDSが採用されるものとする。また、コネクタ207の規格として、任意の規格が採用可能である。
エンクロージャ200の内部においては、中央部分に、電源用のバックプレーン210が収容されている。そして、電源用のバックプレーン210の左右には、バックプレーン300が其々収容されている。各バックプレーン300は、カード基板に実装されたCU11、I/F部12、MM13、およびNM14が装着されることで、1つのストレージシステム1として機能する。即ち、エンクロージャ200は、2つのストレージシステム1が収容可能である。なお、エンクロージャ200には、1つのバックプレーン300が収容されている状態で動作可能である。また、エンクロージャ200は、2つのバックプレーン300が収容された場合、2つのバックプレーン300がコネクタ206を介して互いに接続されることにより、2つのストレージシステム1の夫々が有する記憶部10を1つの記憶部10に統合して運用することが可能である。
電源用のバックプレーン210には、エンクロージャ200の高さ方向に重ねられた2個の電源装置211がエンクロージャ200の背面(Rear)側に接続され、エンクロージャ200の奥行き方向に2個のバッテリー212がエンクロージャ200の前面(Front)側に並べて接続される。2個の電源装置211は、外部から電源コネクタ204を介して供給された商用電源に基づいて内部電源を生成し、生成した内部電源を電源用のバックプレーン210を介して2つのバックプレーン300に供給する。2個のバッテリー212は、停電など商用電源の供給が途絶えたときに内部電源を生成するバックアップ電源である。
図10は、バックプレーン300の構成例を示す図である。CU11、I/F部12、MM13、およびNM14は、夫々カード基板に実装される。これらのカード基板は、バックプレーン300に設けられたスロットに装着される。NM14が実装されているカード基板を、NMカード(NMカード400)と表記する。I/F部12が実装されているカード基板を、I/Fカード(I/Fカード500)と表記する。CU11が実装されているカード基板を、CUカード(CUカード600)と表記する。MM13が実装されているカード基板を、MMカード(MMカード700)と表記する。
バックプレーン300は、背面側において、左から1枚のMMカード700、2枚のI/Fカード500、および6枚のCUカード600が装着される。また、バックプレーン300は、前面側において、24枚のNMカード400が2列に配列されて装着されている。24枚のNMカード400は、紙面左側の12枚のNMカード400からなるブロック(第1ブロック401)と、紙面右側の12枚のNMカード400からなるブロック(第2ブロック402)とに分類される。この分類は、装着位置に基づくものである。
図11は、エンクロージャ200の使用形態の一例を示す図である。エンクロージャ200は、コネクタ205とネットワークスイッチ(Network SW)3を介してPCサーバ2が接続されている。エンクロージャ200に収容されているストレージシステム1は、CUカード600においてPCサーバ2からの要求を解釈し、記憶部10にアクセスすることができる。CUカード600においては、サーバアプリケーションが実行されている。PCサーバ2は、サーバアプリケーションが受け付け可能な要求を送信することができる。なお、ここでは、CUカード600毎にコネクタ205とネットワークスイッチ3とが接続されているが、任意のCUカード600とネットワークスイッチ3とを接続することができる。
図12は、NMカード400の構成を示すブロック図である。図13および図14は、NMカード400の概観図である。図13は、NMカード400の一方の面を示し、図14は、他方の面を示している。この実装例においては、NM14間を接続するインタフェース15の規格には、LVDSが適用され、NM14とCU11とを接続するインタフェース15の規格には、PCIe(PCI Express)が適用される。また、NM14とMM13とを接続するインタフェースの規格には、PCIeが適用され、NM14とCU11とを接続するインタフェースの規格には、I2Cおよびイーサネットが適用される。
NMカード400は、第1のFPGA(field-programmable gate array)403、第2のFPGA404、フラッシュメモリ405〜408、DRAM409、410、フラッシュメモリ411〜414、DRAM415、416およびコネクタ417を備えている。図13および図14に示すように、第1のFPGA403、フラッシュメモリ405,406、DRAM409、410、及びフラッシュメモリ407,408は、其々、第2のFPGA404、フラッシュメモリ411,412、DRAM415,416、フラッシュメモリ414,415に対して位置的に対称に設けられ、コネクタ417は、該対称の中心から偏心された位置に設けられる。
コネクタ417は、バックプレーン300上のスロットに物理的および電気的に接続される接続機構である。NMカード400は、コネクタ417と、バックプレーン300に形成された配線と、を介して他のカードと通信を行うことができる。
第1のFPGA403は、4つのフラッシュメモリ405〜408と、2つのDRAM409、410とに接続されている。第1のFPGA403は、4つのNC140を内部に含む。第1のFPGA403に含まれる4つのNC140は、DRAM409、410を、第2のメモリ142として使用する。また、第1のFPGA403に含まれる4つのNC140は、フラッシュメモリ405〜408のうちの夫々異なるフラッシュメモリを、第1のメモリ141として使用する。即ち、第1のFPGA403、フラッシュメモリ405〜408、DRAM409、410は、4つのNM14からなるNM14群に相当する。
第2のFPGA404は、4つのフラッシュメモリ411〜414と、2つのDRAM415、416とに接続されている。第2のFPGA404は、4つのNC140を内部に含む。第2のFPGA404に含まれる4つのNC140は、DRAM415、416を、第2のメモリ142として使用する。また、第2のFPGA404に含まれる4つのNC140は、フラッシュメモリ411〜414のうちの夫々異なるフラッシュメモリを、第1のメモリ141として使用する。即ち、第2のFPGA404、フラッシュメモリ411〜414、DRAM415、416は、4つのNM14からなるNM14群に相当する。
第1のFPGA403は、1本のPCIeインタフェース418と、6本のLVDSインタフェース419とでコネクタ417と接続されている。また、第2のFPGA404は、1本のPCIeインタフェース418と、6本のLVDSインタフェース419とでコネクタ417と接続されている。第1のFPGA403と、第2のFPGA404とは、2本のLVDSインタフェース420で接続されている。また、第1のFPGA403および第2のFGPA404は、I2Cインタフェース421でコネクタ417に接続されている。
図15は、NC140間の論理的な接続関係を示す図である。各NC140は、合計4つのインタフェースを其々備える。各NC140は、FPGAの内部の2つのインタフェースで、同一のFPGAに含まれる他の2つのNC140と接続される。第1のFPGA403に含まれる4つのNC140のうちの2つのNC140は、第2のFPGA404に含まれる4つのNC140のうちの2つのNC140と、LVDSインタフェース420で相互に接続される。このようにNC140間が接続されることにより、NMカード400が有する8個相当のNM14は、4行2列のNM14群を構成する。
各NC140が備える残りのインタフェースは、他のNMカード400(図示せず)上のFPGAに含まれるNC140と接続するためのインタフェース(LVDSインタフェース419)である。4行2列の配列の4隅に位置するNC140は、2つのLVDSインタフェース419を備え、4隅以外の外縁部に位置するNC140は、1つのLVDSインタフェース419を備える。即ち、NMカード400は、合計12本のLVDSインタフェース419を具備する。
LVDSインタフェース419は、NMカード400間の接続に使用される。X方向のうちの正側(「X+」方向)に位置するNC140は、「X+」方向に論理的に隣接して装着される他のNMカード400上のNC140と相互に接続可能である。X方向のうちの負側(「X−」方向)に位置するNC140は、「X−」方向に論理的に隣接して装着される他のNMカード400上のNC140と相互に接続可能である。Y方向のうちの正側(「Y+」方向)に位置するNC140は、「Y+」方向に論理的に隣接して装着される他のNMカード400上のNC140と相互に接続可能である。Y方向のうちの負側(「Y−」方向)に位置するNC140は、「Y−」方向に論理的に隣接して装着される他のNMカード400上のNC140と相互に接続可能である。
本実施例では、NMカード400が有する合計12本のLVDSインタフェース419は、オッドグループとイーブングループとの2つのグループに分類して説明する。オッドグループに分類されるLVDSインタフェース419を、LVDSインタフェース419a、イーブングループに分類されるLVDSインタフェース419を、LVDSインタフェース419b、と表記する。ここでは、12本のLVDSインタフェース419は、「X+」方向、「X−」方向、「Y+」方向、および「Y−」方向の夫々において、オッドグループとイーブングループとで同数となるように、分類される。図15において、実線はオッドグループに属するLVDSインタフェース419aを示しており、点線はイーブングループに属するLVDSインタフェース419bを示している。
図16は、I/Fカード500の構成を示すブロック図である。I/Fカード500は、LVDSバッファ501、502、キャパシタ503、504、コネクタ206、およびコネクタ509を備える。
コネクタ509は、バックプレーン300上のスロットに物理的および電気的に接続される接続機構である。I/Fカード500は、コネクタ509と、バックプレーン300に形成された配線と、を介してNMカード400に接続される。
コネクタ206は、4つのコネクタ505〜508を含む。なお、コネクタ505とコネクタ506とは、同時に着脱可能な着脱機構を備え、コネクタ507とコネクタ508とは、同時に着脱可能な着脱機構を備えるものとする。コネクタ505は、「X+」方向のLVDSインタフェース419の端子を集めたLVDSケーブルコネクタである。コネクタ506は、「X−」方向のLVDSインタフェース419の端子を集めたLVDSケーブルコネクタである。コネクタ507は、「Y+」方向のLVDSインタフェース419の端子を集めたLVDSケーブルコネクタである。コネクタ508は、「Y−」方向のLVDSインタフェース419の端子を集めたLVDSケーブルコネクタである。
「X+」方向のLVDSインタフェース419および「X−」方向のLVDSインタフェース419は、コネクタ509、LVDSバッファ501、およびキャパシタ503を介して、コネクタ505およびコネクタ506に夫々接続される。「Y+」方向のLVDSインタフェース419および「Y−」方向のLVDSインタフェース419は、コネクタ509、LVDSバッファ502、およびキャパシタ504を介して、コネクタ507およびコネクタ508に夫々接続される。
なお、前述のように、バックプレーン300には、2枚のI/Fカード500が装着される。バックプレーン300に装着される2枚のI/Fカード500のうちの一方は、オッドグループだけを集めたものであり、他方は、イーブングループだけを集めたものである。
図17は、NMカード400とI/Fカード500との間の接続関係を示す図である。ここで、オッドグループにかかるコネクタには、符号の末尾にアルファベット「a」を付し、イーブングループにかかるコネクタには、符号の末尾にアルファベット「b」を付して互いに区別する。
図17に示すように、第1ブロック401および第2ブロック402の夫々において、紙面横方向に物理的に隣接する2枚のNMカード400が、2本のLVDSインタフェース419aと2本のLVDSインタフェース419bとで相互に接続される。また、第1ブロック401および第2ブロック402の夫々において、紙面縦方向に物理的に隣接する2枚のNMカード400が、1本のLVDSインタフェース419aと1本のLVDSインタフェース419bとで相互に接続される。
第1ブロック401の下段に装着されているNMカード400は、第2ブロック402の下段に装着されているNMカード400と、1本のLVDSインタフェース419aと1本のLVDSインタフェース419bとで一対一に接続される。第1ブロック401の下段において紙面左側からi番目に装着されているNMカード400は、第2ブロック402の下段において紙面右側からi番目に装着されているNMカード400と一対一に接続される。上記のように物理的に接続されることにより、論理的には、X方向の定義およびY方向の定義が、第1ブロック401と第2ブロック402とで相違する。第1ブロック401においては紙面右方向が「X+」方向に該当する。第2ブロック402においては紙面左方向が「X+」方向に該当する。第1ブロック401においては紙面上方向が「Y+」方向に該当する。第2ブロック402においては紙面下方向が「Y+」方向に該当する。
第1ブロック401の右端に装着されたNMカード400および第2ブロック402の左端に装着されたNMカード400が有する「X+」方向のLVDSインタフェース419のうち、オッドグループに属するLVDSインタフェース419aは、コネクタ505aに接続される。第1ブロック401の右端に装着されたNMカード400および第2ブロック402の左端に装着されたNMカード400が有する「X+」方向のLVDSインタフェース419のうち、イーブングループに属するLVDSインタフェース419bは、コネクタ505bに接続される。
第1ブロック401の左端に装着されたNMカード400および第2ブロック402の右端に装着されたNMカード400が有する「X−」方向のLVDSインタフェース419のうち、オッドグループに属するLVDSインタフェース419aは、コネクタ506aに接続される。第1ブロック401の左端に装着されたNMカード400および第2ブロック402の右端に装着されたNMカード400が有する「X−」方向のLVDSインタフェース419のうち、イーブングループに属するLVDSインタフェース419bは、コネクタ506bに接続される。
第1ブロック401の上段に装着されたNMカード400が有する「Y+」方向のLVDSインタフェース419のうち、オッドグループに属するLVDSインタフェース419aは、コネクタ507aに接続される。第1ブロック401の上段に装着されたNMカード400が有する「Y+」方向のLVDSインタフェース419のうち、イーブングループに属するLVDSインタフェース419bは、コネクタ507bに接続される。
第2ブロック402の上段に装着されたNMカード400が有する「Y−」方向のLVDSインタフェース419のうち、オッドグループに属するLVDSインタフェース419aは、コネクタ508aに接続される。第2ブロック402の上段に装着されたNMカード400が有する「Y−」方向のLVDSインタフェース419のうち、イーブングループに属するLVDSインタフェース419bは、コネクタ508bに接続される。
図18は、CUカード600の構成を示すブロック図である。CUカード600は、第1のプロセッサ601、第2のプロセッサ602、DRAM603、DRAM604、2つのコネクタ205、SDソケット609、SDソケット610、およびコネクタ611を備える。
コネクタ611は、バックプレーン300上のスロットに物理的および電気的に接続される接続機構である。CUカード600は、コネクタ611と、バックプレーン300に形成された配線と、を介して他のカードと通信を行うことができる。
第1のプロセッサ601および第2のプロセッサ602は、夫々プログラムを実行することにより、夫々個別のCU11として機能する。即ち、CUカード600は、2つのCU11に相当する。第1のプロセッサ601は、DRAM603に接続されており、DRAM603をワークエリアとして使用することができる。第1のプロセッサ601は、SDソケット609に接続されている。SDソケット609には、第1のプロセッサ601によって実行されるプログラムが予め格納されたMicroSDカード612が接続される。第2のプロセッサ602は、DRAM604に接続されており、DRAM604をワークエリアとして使用することができる。第2のプロセッサ602は、SDソケット610に接続される。SDソケット610は、第2のプロセッサ602によって実行されるプログラムが予め格納されたMicroSDカード613が接続される。
第1のプロセッサ601は、2個のコネクタ205のうちの1つにイーサネット規格に準拠するインタフェース606で接続される。また、第1のプロセッサ601は、2本のPCIeインタフェース605でコネクタ611に接続される。また、第1のプロセッサ601は、イーサネット規格に準拠する1本のインタフェース607でコネクタ611に接続される。また、第1のプロセッサ601は、1本のI2Cインタフェース608でコネクタ611に接続される。
同様に、第2のプロセッサ602は、2個のコネクタ205のうちの1つにイーサネット規格に準拠するインタフェース606で接続される。また、第2のプロセッサ602は、2本のPCIeインタフェース605でコネクタ611に接続される。また、第2のプロセッサ602は、イーサネット規格に準拠する1本のインタフェース607でコネクタ611に接続される。また、第2のプロセッサ602は、1本のI2Cインタフェース608でコネクタ611に接続される。
図19は、MMカード700の構成を示すブロック図である。MMカード700は、BMCチップ701、第3のプロセッサ702、DRAM703、DRAM704、スイッチ705、コネクタ207、SDソケット706、SDソケット707、およびコネクタ720を備えている。
コネクタ720は、バックプレーン300上のスロットに物理的および電気的に接続される接続機構である。MMカード700は、コネクタ720と、バックプレーン300に形成された配線と、を介して他のカードと通信を行うことができる。
BMCチップ701は、BMCの機能を実現するチップである。BMCチップ701は、DRAM703に接続されており、DRAM703をワークエリアとして使用する。BMCチップ701は、SDソケット706と接続されている。BMCチップ701は、SDソケット706に接続されたMicroSDカード716に、各種監視データを記録することができる。BMCチップ701は、コネクタ207とイーサネット規格に準拠するインタフェース708で接続されており、コネクタ207を介して外部と通信を行うことができる。
第3のプロセッサ702は、プログラムに基づいて記憶部10に対してNM制御処理を実行することができる。第3のプロセッサ702は、DRAM704に接続されており、DRAM704をワークエリアとして使用することができる。第3のプロセッサ702は、SDソケット707に接続されている。SDソケット707は、第3のプロセッサ702によって実行されるプログラムが予め格納されたMicroSDカード717が接続される。
スイッチ705は、コネクタ720との間で12本のインタフェース710で接続され、第3のプロセッサ702との間で1本のインタフェース711で接続され、BMCチップ701との間で1本のインタフェースで接続される。スイッチ705に接続される各インタフェースは、イーサネット規格に準拠するものである。12本のインタフェース710は、コネクタ720およびバックプレーン300を介して、CUカード600に実装されている各プロセッサ(第1のプロセッサ601、第2のプロセッサ602)に接続される。スイッチ705は、第1のプロセッサ601、第2のプロセッサ602、および第3のプロセッサ702と、BMCチップ701と、の間の通信を中継する。BMCチップ701は、各プロセッサが生成する情報を、スイッチ705を介して取得することができる。
また、BMCチップ701は、コネクタ720との間でI2Cインタフェース712で接続されている。I2Cインタフェース712は、途中でI2Cインタフェース713に分岐して、I2Cインタフェース713は第3のプロセッサ702に接続されている。I2Cインタフェース712のコネクタ720側の端子は、バックプレーン300および各種カードのコネクタを介して第1のプロセッサ601、第2のプロセッサ602、第1のFPGA403、および第2のFPGA404に接続される。BMCチップ701は、I2Cインタフェース712を介して第1のプロセッサ601、第2のプロセッサ602、第1のFPGA403、および第2のFPGA404を監視する。第1のプロセッサ601、第2のプロセッサ602、第1のFPGA403、および第2のFPGA404から送られてくる監視データは、I2Cインタフェース713を介して第3のプロセッサ702からも参照される。第3のプロセッサ702は、監視データを用いてNM制御処理を実行することができる。
第3のプロセッサ702は、PCIeインタフェース714でコネクタ720と接続される。PCIeインタフェース714のコネクタ720側の端子は、バックプレーン300を介して、1つのNMカード400に接続される。第3のプロセッサ702は、任意のNC140に対するパケットをPCIeインタフェース714に送信したり、任意のNC140からのパケットをPCIeインタフェース714を介して受信したりすることができる。
図20は、NMカード400、CUカード600、およびMMカード700の間の接続関係を示す図である。本図に示す接続は、全てPCIeインタフェースによるものである。また、図20に示す接続関係は、各カード内の配線とバックプレーン300に形成された配線とによって実現する。
前述のように、各CUカード600は、4本のPCIeインタフェース605を備え、各NMカード400は、2本のPCIeインタフェース418を備える。各CUカード600は、4本のPCIeインタフェース605が夫々異なるNMカード400との接続に使用されることにより、4つのNMカード400に接続される。各NMカード400は、2本のPCIeインタフェース418のうちの1本がCUカード600との接続に使用される。ここでは、第1のFPGA403が有するPCIeインタフェース418がCUカード600との接続に使用される。
紙面左側の3枚のCUカード600が有する各第1のプロセッサ601は、第1ブロック401の上段に装着された夫々異なるNMカード400と、第2ブロック402の上段に装着された夫々異なるNMカード400と、に接続される。また、紙面左側の3枚のCUカード600が有する各第2のプロセッサ602は、第1ブロック401の下段に装着された夫々異なるNMカード400と、第2ブロック402の下段に装着された夫々異なるNMカード400と、に接続される。
紙面右側の3枚のCUカード600が有する各第1のプロセッサ601は、第1ブロック401の上段に装着された夫々異なるNMカード400と、第2ブロック402の上段に装着された夫々異なるNMカード400と、の両方に接続される。また、紙面右側の3枚のCUカード600が有する各第2のプロセッサ602は、第1ブロック401の下段に装着された夫々異なるNMカード400と、第2ブロック402の下段に装着された夫々異なるNMカード400と、の両方に接続される。
このように、各CUカード600は、第1ブロック401に属するNMカード400と第2ブロック402に属するNMカードの両方に接続される。これにより、第1ブロック401および第2ブロック402の何れか一方にしかNMカード400が装着されない場合であっても、各CUカード600は、装着されているNMカード400に対してCU11としての機能を発揮することが可能となる。また、第1ブロック401および第2ブロック402の両方にNMカード400が装着されているか否かにかかわらず、1〜6のうちの任意の数のCUカード600を装着した状態で運用することが可能となる。
なお、次に説明するようにMMカード700は第1ブロック401に属する1つのNMカード400にのみ接続されるので、エンクロージャ200は、少なくとも第1ブロック401にNMカード400が接続されている状態で運用される。MMカード700が第2ブロック402に属する任意のNMカード400に接続される場合には、エンクロージャ200は、第2ブロック402にのみNMカード400が装着されている状態での運用が可能である。
MMカード700は、1本のPCIeインタフェース714を備える。MMカード700は、PCIeインタフェース714が使用されることにより、1つのNMカード400に接続される。ここでは、NMカード400においては、第2のFPGA404が有するPCIeインタフェース418がMMカード700との接続に使用される。また、MMカード700は、第1ブロック401の上段の最も左側に装着されたNMカード400に接続される。MMカード700は、PCIeインタフェース714を介してパケットを送受信することができる。
図21は、CUカード600とMMカード700との間の接続関係を示す図である。ここでは、I2Cインタフェースによる接続の図示を省略し、イーサネット規格に準拠するインタフェースによる接続関係を示す。図21に示す接続関係は、各カード内の配線とバックプレーン300に形成された配線とによって実現する。
MMカード700は、イーサネット規格に準拠する12本のインタフェース710を備えている。また、各CUカード600は、イーサネット規格に準拠する2本のインタフェース607を備えている。MMカード700は、CUカード600毎に2本のインタフェース710が使用されることにより、6枚のCUカード600と接続される。
次に、記憶部10をスケールアウトするための接続例を説明する。
1つのエンクロージャ200が備える2つのストレージシステム1を用いて1つの記憶部10を構築するための接続例(第1接続例)を説明する。複数のストレージシステム1を互いに識別するために、各ストレージシステム1の符号の末尾にアルファベットを付すこととする。
図22は、第1接続例において使用されるコネクタ群を示す図である。図23は、第1接続例による具体的な接続関係を示す図である。図24は、第1接続例によって論理的に構築される記憶部10を示す図である。
図22に示すように、第1接続例においては、1つのエンクロージャ200が備える2つのストレージシステム1のうちの一(ストレージシステム1a)が備えるコネクタ206と、他(ストレージシステム1b)が備えるコネクタ206と、の間で相互に接続される。具体的には、図23に示すように、ストレージシステム1aが備えるコネクタ507aと、ストレージシステム1bが備えるコネクタ508aとが接続される。また、ストレージシステム1aが備えるコネクタ507bと、ストレージシステム1bが備えるコネクタ508bとが接続される。これらの接続により、ストレージシステム1aが備える記憶部10の「Y+」方向にストレージシステム1bが備える記憶部10が接続される。即ち、各ストレージシステム1a、1bの記憶部10が統合されて、図24に示すような新たな1つの記憶部10が論理的に構成される。新たな記憶部10は、X方向に6枚のNMカード400が配列され、Y方向に8枚のNMカード400が配列されて構成される。
第1接続例においてはY方向に2つの記憶部10が接続されたが、2つの記憶部10をX方向に接続することも可能である。図25は、第2接続例による具体的な接続関係を示す図である。図26は、第2接続例によって論理的に構築される記憶部10を示す図である。
図25に示すように、第2接続例においては、ストレージシステム1aが備えるコネクタ505aとストレージシステム1bが備えるコネクタ506aとが接続される。また、ストレージシステム1aが備えるコネクタ505bとストレージシステム1bが備えるコネクタ506bとが接続される。これらの接続により、ストレージシステム1aが備える記憶部10の「X+」方向にストレージシステム1bが備える記憶部10が接続される。即ち、図26に示すように、各ストレージシステム1a、1bの記憶部10は統合されて、X方向に12枚のNMカード400が配列され、Y方向に4枚のNMカード400が配列されて構成される、新たな1つの記憶部10が、論理的に構築される。
このように、一のストレージシステム1aの「X+」方向のコネクタ505と、他のストレージシステム1bの「X−」方向のコネクタ506と、を相互に接続することによって、記憶部10の規模をX方向に拡張することができる。また、一のストレージシステム1aの「Y+」方向のコネクタ507と、他のストレージシステム1bの「Y−」方向のコネクタ508と、を相互に接続することによって、記憶部10の規模をY方向に拡張することができる。
さらに、複数のエンクロージャ200を用いて記憶部10を拡張することが可能である。2つのエンクロージャ200が備える合計4つのストレージシステム1を用いて1つの記憶部10を構築するための接続例である第3接続例を説明する。2つのエンクロージャ200を夫々識別するために、2つのエンクロージャ200の符号の末尾に夫々異なるアルファベットを付すこととする。
図27は、第3接続例において使用されるコネクタ群を示す図である。図28は、第3接続例による具体的な接続関係を示す図である。図29は、第3接続例によって論理的に構築される記憶部10を示す図である。
図27に示すように、第3接続例においては、1つのエンクロージャ200(エンクロージャ200a)が備えるストレージシステム1a、1bと、他のエンクロージャ200(エンクロージャ200b)が備えるストレージシステム1c、1dと、の間で、コネクタ206を介して接続される。より詳しくは、ストレージシステム1a、1dは、ストレージシステム1bおよびストレージシステム1cと接続される。
図28に示すようにコネクタ間が接続される。即ち、ストレージシステム1aが備えるコネクタ505aとストレージシステム1bが備えるコネクタ506aとが接続される。また、ストレージシステム1aが備えるコネクタ505bとストレージシステム1bが備えるコネクタ506bとが接続される。また、ストレージシステム1aが備えるコネクタ507aと、ストレージシステム1cが備えるコネクタ508aとが接続される。また、ストレージシステム1aが備えるコネクタ507bと、ストレージシステム1cが備えるコネクタ508bとが接続される。また、ストレージシステム1cが備えるコネクタ505aとストレージシステム1dが備えるコネクタ506aとが接続される。また、ストレージシステム1cが備えるコネクタ505bとストレージシステム1bが備えるコネクタ506bとが接続される。また、ストレージシステム1bが備えるコネクタ507aと、ストレージシステム1dが備えるコネクタ508aとが接続される。また、ストレージシステム1bが備えるコネクタ507bと、ストレージシステム1dが備えるコネクタ508bとが接続される。
図29に示すように、ストレージシステム1a〜1dが備える記憶部10は統合されて、X方向に12枚のNMカード400が配列され、Y方向に8枚のNMカード400が配列されて構成される、1つの新たな記憶部10が、論理的に構築される。
このように、複数のエンクロージャ200を用いて記憶部10の規模をX方向およびY方向の両方に拡張することが可能である。なお、ストレージシステム1a〜1dを用いてX方向のみに拡張することも可能である。また、ストレージシステム1a〜1dを用いてY方向のみに拡張することも可能である。なお、ここでは2台のエンクロージャ200を用いて記憶部10の規模が拡張される例を示したが、3台以上のエンクロージャ200を用いて記憶部10の規模が拡張されることも可能である。
NM14が2次元的に配置される場合には、対辺に位置するNM14同士を接続することによって、NM14をトーラス状に接続するようにしてもよい。図30は、トーラス状の接続関係を示す図である。図30で示した例では、NM14間は、実線で示す配線と点線で示す配線とで互いに接続されている。点線で示す配線は、実線で示す配線と等価である。このような場合、ノードアドレスのX座標値が増加する方向にルーティングするか減少する方向にルーティングするか、および/または、ノードアドレスのY座標値が増加する方向にルーティングするか減少する方向にルーティングするか、に応じて、複数の方向にルーティングすることが可能である。例えば、ノード(2、0)を送り元とし、メモリノード(2、2)を宛先とするパケットは、Y座標値が増加する方向にルーティングされる場合には、例えば、ノードアドレスが(2、0)、(2、1)、(2、2)のNM14をこの順番で転送される。また、このパケットは、Y座標値が減少する方向にルーティングされる場合には、例えば、ノードアドレスが(2、0)、(2、3)、(2、2)のNM14をこの順番で転送される。このように、記憶部10を構成する複数のNM14がトーラス状に接続される場合、宛先までの経路が増加するので、ストレージシステム1全体のスループットが向上する。以下、トーラス状の接続を実現するためのコネクタ間の接続例を説明する。
図31は、第4接続例による具体的な接続関係を示す図である。第4接続例は、1つのストレージシステム1aのみでトーラス状の接続を実現する接続例である。図示するように、コネクタ505aとコネクタ506aとが接続される。また、コネクタ505bとコネクタ506bとが接続される。また、コネクタ507aとコネクタ508aとが接続される。また、コネクタ507bとコネクタ508bとが接続される。これにより、1つのストレージシステム1aが有する記憶部10のみによってトーラス状の接続が実現する。
図32は、第5接続例による具体的な接続関係を示す図である。第5接続例は、2つのストレージシステム1a、1bによりトーラス状の接続を実現する接続例である。第5接続例は、第2接続例と同様のコネクタ間の接続に加えて次のように接続することによって、実現される。即ち、ストレージシステム1aのコネクタ506aと、ストレージシステム1bのコネクタ505aとが接続される。また、ストレージシステム1aのコネクタ506bと、ストレージシステム1bのコネクタ505bとが接続される。また、ストレージシステム1a、ストレージシステム1bの夫々において、コネクタ507aとコネクタ508aとが接続され、コネクタ507bとコネクタ508bとが接続される。
図33は、第6接続例による具体的な接続関係を示す図である。第6接続例は、4つのストレージシステム1a、1b、1c、1dによりトーラス状の接続を実現する接続例である。第6接続例は、第3接続例と同様のコネクタ間の接続に加えて次のように接続することによって、実現される。即ち、ストレージシステム1aのコネクタ506aと、ストレージシステム1bのコネクタ505aとが接続される。また、ストレージシステム1aのコネクタ506bと、ストレージシステム1bのコネクタ505bとが接続される。また、ストレージシステム1cのコネクタ506aと、ストレージシステム1dのコネクタ505aとが接続される。また、ストレージシステム1cのコネクタ506bと、ストレージシステム1dのコネクタ505bとが接続される。また、ストレージシステム1aのコネクタ508aと、ストレージシステム1cのコネクタ507aとが接続される。また、ストレージシステム1aのコネクタ508bと、ストレージシステム1cのコネクタ507bとが接続される。また、ストレージシステム1bのコネクタ508aと、ストレージシステム1dのコネクタ507aとが接続される。また、ストレージシステム1bのコネクタ508bと、ストレージシステム1dのコネクタ507bとが接続される。
このように、第1の実施形態においては、ストレージシステム1は記憶部10に接続されるI/F部12を有し、当該I/F部12は、他のストレージシステム1が有するI/F部12と接続される。この構成により、記憶部10を拡張することが可能である。即ち、ストレージシステム1は、容易に記憶部10のスケールアウトを行うことが可能である。
さらに、前述のように、LVDSインタフェース419は、オッドグループとイーブングループとに分類される。バックプレーン300に装着される2枚のI/Fカード500のうちの一方は、オッドグループの端子だけを集めたものであり、他方は、イーブングループの端子だけを集めたものである。これにより、2枚のI/Fカード500のうちの何れか一方が故障した場合であっても、外部との接続が故障していない他方のI/Fカード500を介して維持される。なお、ここでは、LVDSインタフェース419は、オッドグループとイーブングループとの2種類に分類されるとして説明したが、3種類以上に分類され、各種類の端子が夫々別々のI/Fカード500に集められて構成されてもよい。
(第2の実施形態)
第1の実施形態においては、エンクロージャ200に収容されたストレージシステム1は、外部からの要求をCU11において受け付けられて解釈される。第2の実施形態においては、エンクロージャ200は、CU11を省略して構成され、外部から直接に記憶部10にケーブル接続することが可能である。
第1の実施形態においては、エンクロージャ200に収容されたストレージシステム1は、外部からの要求をCU11において受け付けられて解釈される。第2の実施形態においては、エンクロージャ200は、CU11を省略して構成され、外部から直接に記憶部10にケーブル接続することが可能である。
図34は、第2の実施形態のエンクロージャ200の背面図を示す図である。図35は、第2の実施形態のCUカード600の構成を示すブロック図である。第2の実施形態においては、CUカード600の構成が第1の実施形態と異なる。CUカード600は、PCIe規格に準拠するケーブルコネクタであるコネクタ208を備え、複数のCUカード600がバックプレーン300に装着されることによりコネクタ208がエンクロージャ200の背面部に配列される。
また、CUカード600は、スイッチ620およびコネクタ611を備える。スイッチ620は、4本のPCIeインタフェース621でコネクタ611に接続され、1本のPCIeインタフェース622でコネクタ208に接続される。スイッチ620は、4本のPCIeインタフェース621を1本のPCIeインタフェース622に束ねる。4本のPCIeインタフェース621は、コネクタ611およびバックプレーン300を介して夫々異なるNMカード400に接続される。
図36は、第2の実施形態のエンクロージャ200の、使用形態の一例を示す図である。エンクロージャ200は、3つのPCサーバ4から夫々異なるコネクタ208に接続されている。各コネクタ208は、夫々異なるPCサーバ4と一対一に接続される。
なお、エンクロージャ200とPCサーバ4との間の通信規格は、PCサーバ4の内部のバスをPCサーバ4の外部にケーブリングにより拡張することが可能な規格であれば、任意の規格が採用可能である。
一般に、複数のコンピュータと1つの記憶装置とがバス型のネットワークで接続される場合には、複数のコンピュータからの記憶装置に対するアクセスが衝突することにより全体の性能が低下するという問題(いわゆるフォン・ノイマン・ボトルネック)が発生する。第2の実施形態によれば、複数のPCサーバ4が夫々異なるコネクタ208を介して記憶部10に対して接続されることが可能であり、かつ、記憶部10はデータ転送機能を有する複数のNM14がメッシュネットワークにより接続された構成を有するので、仮に複数のPCサーバ4が1つのNM14に対してアクセスする事態が発生したとしても、そのNM14への複数の経路にアクセスが分散される。その結果、第2の実施形態によれば、アクセスの衝突に起因する性能低下が起こりにくい。
また、第2の実施形態によれば、外部のPCサーバ4は、記憶部10に対して直接にパケットを送信することができるので、外部のPCサーバ4上でサーバアプリケーションプログラムを実行する構成を採用することが可能となる。サーバアプリケーションプログラムの演算コストが高い場合であっても、その演算コストにフィットした外部のPCサーバ4を用意することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1,1a,1b,1c,1d ストレージシステム、2,4 PCサーバ、3 ネットワークスイッチ、10 記憶部、11 コネクションユニット、12 インタフェース部、13 マネジメントモジュール、14 ノードモジュール、15 インタフェース、20 カード基板、21 RAIDグループ、22,300 バックプレーン、140 ノードコントローラ、141 第1のメモリ、142 第2のメモリ、200,200a,200b エンクロージャ、201 サーバラック、205〜208 コネクタ、210 バックプレーン、400 NMカード、500 I/Fカード、600 CUカード、700 MMカード。
Claims (6)
- 第1ノードコントローラを有する第1ノードモジュールおよび第2ノードコントローラを其々有する複数の第2ノードモジュールを備えるネットワークを構成し、
前記第1ノードコントローラと、前記複数の第2ノードコントローラとは、其々互いにデータ転送可能に接続され、
前記複数の第2ノードモジュールは、前記ネットワークから着脱可能なインターフェース部を有するカード基板に実装され、
前記複数の第2ノードコントローラのうちの一の第2ノードコントローラは、前記インターフェース部により前記第1ノードコントローラと通信可能に接続され、
前記インターフェース部は、第1グループと第2グループとに分類され、
前記カード基板は、前記第1グループ及び前記第2グループのうち、何れか少なくとも一方で電気的に接続されていれば前記ネットワーク内でデータ転送を実行可能であり、
前記第1グループの端子は他のカード基板の他の第1グループの端子とともに第1グループインターフェースとして纏められ、前記第2グループの端子は前記他のカード基板の他の第2グループの端子とともに第2グループインターフェースとして纏められることを特徴とするストレージシステム。 - 第1制御部が含まれる第1記憶部および第2制御部が其々含まれる複数の第2記憶部を備える記憶部グループを備えるネットワークを構成し、
前記第1制御部と、前記複数の第2制御部とは、其々互いにデータ転送可能であり、
前記複数の第2記憶部は、同一の第1基板上に実装され、
前記複数の第2制御部のうちの一の第2制御部は、インターフェース部により前記第1制御部と接続され、
前記インターフェース部は、第1グループと第2グループとに分類され、
前記第1基板は、前記第1グループ及び前記第2グループのうち、何れか少なくとも一方で電気的に接続されていれば前記ネットワーク内でデータ転送機能を実行可能であり、
前記第1グループの端子は他の第1基板の他の第1グループの端子とともに第1グループインターフェースとして纏められ、前記第2グループの端子は前記他の第1基板の他の第2グループの端子とともに第2グループインターフェースとして纏められることを特徴とするストレージシステム。 - 外部のコンピュータと前記記憶部グループとを接続する複数の接続部と、
前記記憶部グループと前記複数の接続部とを制御可能な第3制御部と、
電源部と、
ファンと、
を更に備え、
前記第3制御部は、環境温度の監視、前記ファンの回転数の監視および制御、前記電源部が各部に供給する電流および電圧の監視、各接続部のステータスの記録、各接続部の温度の監視、ならびに、各制御部の暴走時のリセット、の何れか少なくとも1つを実行する、
ことを特徴とする請求項2に記載のストレージシステム。 - 前記第1制御部および第2制御部は、前記記憶部グループ内でのデータ転送ルートを其々決定する、
ことを特徴とする請求項2に記載のストレージシステム。 - 前記第1記憶部および前記複数の第2記憶部は、其々不揮発性メモリを備え、
前記第3制御部は、前記第1記憶部および前記複数の第2記憶部の夫々が備える不揮発性メモリの管理を実行する、
ことを特徴とする請求項3に記載のストレージシステム。 - 前記第3制御部は、前記第2基板の交換通知と、前記第2基板の交換後の連携のリビルドと、を実行する、
ことを特徴とする請求項3に記載のストレージシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013272300A JP5659289B1 (ja) | 2013-12-27 | 2013-12-27 | ストレージシステム |
US14/408,120 US9891841B2 (en) | 2013-12-27 | 2014-03-14 | Storage system including a plurality of memory nodes connected through first and second groups of interfaces |
PCT/JP2014/056962 WO2015098138A1 (ja) | 2013-12-27 | 2014-03-14 | ストレージシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013272300A JP5659289B1 (ja) | 2013-12-27 | 2013-12-27 | ストレージシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5659289B1 true JP5659289B1 (ja) | 2015-01-28 |
JP2015125763A JP2015125763A (ja) | 2015-07-06 |
Family
ID=52437492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013272300A Expired - Fee Related JP5659289B1 (ja) | 2013-12-27 | 2013-12-27 | ストレージシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9891841B2 (ja) |
JP (1) | JP5659289B1 (ja) |
WO (1) | WO2015098138A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016143307A (ja) * | 2015-02-04 | 2016-08-08 | 株式会社東芝 | ストレージシステム |
JP2016162176A (ja) * | 2015-03-02 | 2016-09-05 | 株式会社東芝 | ストレージシステム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018156594A (ja) * | 2017-03-21 | 2018-10-04 | 東芝メモリ株式会社 | ストレージシステムおよび処理方法 |
US11710531B2 (en) * | 2019-12-30 | 2023-07-25 | Micron Technology, Inc. | Memory redundancy repair |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0784876A (ja) * | 1993-09-07 | 1995-03-31 | At & T Global Inf Solutions Internatl Inc | データ記憶装置のマトリックス構造 |
JP2004272527A (ja) * | 2003-03-07 | 2004-09-30 | Hitachi Ltd | ディスクアレイ装置および障害回復制御方法 |
JP2006065697A (ja) * | 2004-08-27 | 2006-03-09 | Hitachi Ltd | 記憶デバイス制御装置 |
JP2007219846A (ja) * | 2006-02-16 | 2007-08-30 | Fuji Xerox Co Ltd | 半導体ディスク装置の異常監視・記録方法、プログラム、半導体ディスク装置、および記憶システム |
JP2010524089A (ja) * | 2007-04-06 | 2010-07-15 | ラムバス・インコーポレーテッド | バッファ装置と集積回路メモリ装置を含むメモリシステムトポロジ |
JP2012103926A (ja) * | 2010-11-10 | 2012-05-31 | Toshiba Corp | 転送機能を有するメモリノードを相互に接続したストレージ装置及びデータ処理方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09297663A (ja) | 1996-05-08 | 1997-11-18 | Ekushingu:Kk | ディスクアレイ装置 |
US7308524B2 (en) * | 2003-01-13 | 2007-12-11 | Silicon Pipe, Inc | Memory chain |
US7827345B2 (en) * | 2005-08-04 | 2010-11-02 | Joel Henry Hinrichs | Serially interfaced random access memory |
US8234235B2 (en) * | 2008-03-25 | 2012-07-31 | Fuhu Holdings, Inc. | Security and remote support apparatus, system and method |
US8738962B2 (en) * | 2010-11-17 | 2014-05-27 | International Business Machines Corporation | Memory mirroring with memory compression |
US9299455B2 (en) * | 2012-03-06 | 2016-03-29 | Hitachi, Ltd. | Semiconductor storage device having nonvolatile semiconductor memory |
-
2013
- 2013-12-27 JP JP2013272300A patent/JP5659289B1/ja not_active Expired - Fee Related
-
2014
- 2014-03-14 WO PCT/JP2014/056962 patent/WO2015098138A1/ja active Application Filing
- 2014-03-14 US US14/408,120 patent/US9891841B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0784876A (ja) * | 1993-09-07 | 1995-03-31 | At & T Global Inf Solutions Internatl Inc | データ記憶装置のマトリックス構造 |
JP2004272527A (ja) * | 2003-03-07 | 2004-09-30 | Hitachi Ltd | ディスクアレイ装置および障害回復制御方法 |
JP2006065697A (ja) * | 2004-08-27 | 2006-03-09 | Hitachi Ltd | 記憶デバイス制御装置 |
JP2007219846A (ja) * | 2006-02-16 | 2007-08-30 | Fuji Xerox Co Ltd | 半導体ディスク装置の異常監視・記録方法、プログラム、半導体ディスク装置、および記憶システム |
JP2010524089A (ja) * | 2007-04-06 | 2010-07-15 | ラムバス・インコーポレーテッド | バッファ装置と集積回路メモリ装置を含むメモリシステムトポロジ |
JP2012103926A (ja) * | 2010-11-10 | 2012-05-31 | Toshiba Corp | 転送機能を有するメモリノードを相互に接続したストレージ装置及びデータ処理方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016143307A (ja) * | 2015-02-04 | 2016-08-08 | 株式会社東芝 | ストレージシステム |
US10389808B2 (en) | 2015-02-04 | 2019-08-20 | Toshiba Memory Corporation | Storage system and control method thereof |
JP2016162176A (ja) * | 2015-03-02 | 2016-09-05 | 株式会社東芝 | ストレージシステム |
US10037165B2 (en) | 2015-03-02 | 2018-07-31 | Toshiba Memory Corporation | Storage system and control method thereof |
US10346083B2 (en) | 2015-03-02 | 2019-07-09 | Toshiba Memory Corporation | Storage system and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
WO2015098138A1 (ja) | 2015-07-02 |
JP2015125763A (ja) | 2015-07-06 |
US9891841B2 (en) | 2018-02-13 |
US20150293710A1 (en) | 2015-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180024775A1 (en) | Technologies for storage block virtualization for non-volatile memory over fabrics | |
KR101604962B1 (ko) | 큰 확장성 프로세서 설치에 있어서 유연한 저장 및 네트워크 프로비저닝을 위한 시스템 및 방법 | |
US9176799B2 (en) | Hop-by-hop error detection in a server system | |
JP2016162458A (ja) | モジュール型不揮発性フラッシュメモリブレード及びその動作方法 | |
JP5985403B2 (ja) | ストレージ装置 | |
JP2016212880A (ja) | 多重プロトコル入出力インターフェイスを支援するストレージシステム及びコンピューティングシステム | |
US20100026408A1 (en) | Signal transfer for ultra-high capacity circuits | |
JP5659289B1 (ja) | ストレージシステム | |
US20150036681A1 (en) | Pass-through routing at input/output nodes of a cluster server | |
US10545901B2 (en) | Memory card expansion | |
US9806908B2 (en) | Route mapping at individual nodes of a cluster server | |
JP2017531856A (ja) | アクティブストレージユニットおよびアレイ | |
US20150058518A1 (en) | Modular server system, i/o module and switching method | |
US9939863B2 (en) | Power control system and storage system | |
US10346083B2 (en) | Storage system and control method thereof | |
US10558603B2 (en) | Storage system including a plurality of storage devices arranged in a holder | |
US10389808B2 (en) | Storage system and control method thereof | |
US9645760B2 (en) | Storage system and control method thereof | |
US20240134814A1 (en) | Scaling midplane bandwidth between storage processors via network devices | |
CN116991488A (zh) | 一种芯片板卡和服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20141104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141201 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5659289 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |