JP5985403B2 - ストレージ装置 - Google Patents

ストレージ装置 Download PDF

Info

Publication number
JP5985403B2
JP5985403B2 JP2013002999A JP2013002999A JP5985403B2 JP 5985403 B2 JP5985403 B2 JP 5985403B2 JP 2013002999 A JP2013002999 A JP 2013002999A JP 2013002999 A JP2013002999 A JP 2013002999A JP 5985403 B2 JP5985403 B2 JP 5985403B2
Authority
JP
Japan
Prior art keywords
data
memory
unit
storage
processing 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
Application number
JP2013002999A
Other languages
English (en)
Other versions
JP2014134981A (ja
Inventor
勇輝 佐々木
勇輝 佐々木
貴宏 栗田
貴宏 栗田
敦寛 木下
敦寛 木下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013002999A priority Critical patent/JP5985403B2/ja
Priority to TW102129705A priority patent/TW201428497A/zh
Priority to KR1020130103726A priority patent/KR101457302B1/ko
Priority to CN201310394679.2A priority patent/CN103927274A/zh
Priority to US14/023,835 priority patent/US9442877B2/en
Publication of JP2014134981A publication Critical patent/JP2014134981A/ja
Application granted granted Critical
Publication of JP5985403B2 publication Critical patent/JP5985403B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)

Description

本発明の実施形態は、ストレージ装置に関する。
近年、クラウドコンピューティングなどの広がりによって、ストレージ装置を備えた複数台の情報処理装置を、相互にネットワークで接続して、一つの情報処理システムとして動作させる場合が増加している。また、ストレージ装置としても、従来型のHDDを使用したものと比較してより高速な、DRAMチップやNANDフラッシュチップなどを多数並べてチップ間配線によって接続し、一つのストレージ装置として用いられるものが存在する。
このような、複数の情報処理装置を接続して成る単一の情報システムでは、システムを構成する情報処理装置の台数を増やすことで性能向上が図られている。しかしながら、台数が増加した大規模な情報処理システムにおいては、想定通りの性能が発揮されない、管理のための手間やコストが増大するなどの問題があった。
このような問題点に対する解決方法として、これまでに、データ転送機能を有するメモリノードを複数接続して成るストレージ装置が提案されている。このようなストレージ装置内では、各メモリノードは、自身に宛てたデータパケットを受信した場合は読み出し、又は書き込みなどの所定の処理を行い、自身宛てでないパケットを受信した場合は、受信パケットを適切な他のメモリノードに転送する。各メモリノードによって適切な転送が繰り返されることで、データパケットは目的のメモリノードに到達できる。このような構成にすると、ストレージ装置が大型化しても設計が容易になるというメリットがあった。
特開2006−243967号公報 特開2012−103926号公報
しかし、このような技術を用いても、複数のボードや筐体、ラック等から成るような、規模の大きなシステムを構成しようとした場合には、スケールアウトの際、思うような性能向上が実現できなかったり、運用が困難になったりするなどの問題があった。
本発明の実施形態は、上記に鑑みてなされたものであって、容易にスケールアウトが可能となる情報処理システムを実現することを目的とする。
上述した課題を解決し、目的を達成するために、本発明の実施形態は、データの読み出し、及び書き込みの制御命令を発行するプロセシング部と、少なくとも2次元以上の配列として、互いに接続された複数の記憶部と、を備え、前記記憶部は、隣り合う他の前記記憶部と接続されるとともに、データを記憶可能なメモリと、前記データに含まれる前記記憶部の位置情報に基づいて、他の前記記憶部への前記データの転送経路を決定して、転送処理を行うルーティング部と、を備え、前記プロセシング部は、配列された複数の前記記憶部のうち周辺部に位置する前記記憶部と接続されていることを特徴とする。
図1は、実施形態のストレージ装置の構成を示す図である。 図2は、従来のストレージ装置の構成を示す図である。 図3は、従来のストレージ装置の構成を示す図である。 図4は、実施形態のプロセシングユニットの内部構造を示す図である。 図5は、実施形態のメモリノードの内部構造を示す図である。 図6は、実施形態の別のメモリノードの内部構造を示す図である。 図7は、実施形態のメモリノードにおけるコントローラーの詳細な構成を示す図である。 図8−1は、実施形態のデータの転送の際のルーティングアルゴリズムを説明する図である。 図8−2は、実施形態の異常が発生した場合のデータの転送の際のルーティングアルゴリズムを説明する図である。 図9−1は、実施形態のメモリノードとプロセシングユニットの接続態様を示す図である。 図9−2は、実施形態のメモリノードとプロセシングユニットの接続態様を示す図である。 図10−1は、実施形態のメモリノードとプロセシングユニットの接続態様を示す図である。 図10−2は、実施形態のメモリノードとプロセシングユニットの接続態様を示す図である。 図11は、実施形態のプロセシングユニットの基板への実装態様を示す図である。 図12は、実施形態のプロセシングユニットの基板への実装態様を示す図である。 図13は、実施形態のメモリノードの基板への実装態様を示す図である。 図14は、実施形態のメモリノードの基板への実装態様を示す図である。 図15は、実施形態のプリント基板の筐体への実装態様を示す図である。 図16は、実施形態のアナログスイッチの一例を示す図である。 図17は、実施形態のメモリノードとプロセシングユニットを同一の基板に実装する態様を示す図である。 図18は、実施形態のメモリノードとプロセシングユニットを同一の基板に実装する態様を示す図である。 図19は、実施形態のプリント基板を筐体へ実装する態様を示す図である。 図20は、実施形態のプリント基板を筐体へ実装する態様を示す図である。 図21は、実施形態のプリント基板を筐体へ実装する態様を示す図である。
以下に本発明の実施形態にかかるストレージ装置について説明する。図1に、ストレージ装置10の構成を示す。ストレージ装置10は、プロセシングユニット200〜203、メモリノード300〜315を備えている。プロセシングユニット200〜203は、ストレージ装置10内でのデータ処理を行い、メモリノード300〜315へのデータの読み書きを制御するプロセシング部に相当する。メモリノード300〜315は、電力供給がなくてもデータが保持される不揮発性メモリであり、他のメモリノードへの転送機能を有し、データの読み出し、書き込みを行うことが可能である。プロセシングユニット200〜203と、メモリノード300〜315は本実施形態では例えばICパッケージのような電子部品となっており、配線を経由して電気信号をやり取りすることができる。
また、プロセシングユニット200〜203(プロセシング部)、及びメモリノード300〜315(記憶部)は、プリント基板100〜103上に実装され、プリント基板100〜103上の配線、又はプリント基板100〜103間を接続するコネクタ1100〜1107等を介して、データをやり取りすることができる。メモリノード300〜315は二次元格子状に配列されている。なお、格子状の接続配線を構成する配線のうち、少なくとも一部、例えばプリント基板100〜103間の配線が、物理的に抜き差し可能なコネクタ1100〜1107を介して、相互的に接続されている。
プロセシングユニット200はメモリノード300と接続されており、メモリノード300を介して、任意の他のメモリノード301〜315に対して二次元格子における座標を用いてアクセスする。その他のプロセシングユニット201〜203も同様である。また、プロセシングユニット200〜203は、ホストインターフェース400〜403を介して、ホストシステムとデータのやり取りをすることができる。これらの各部材は筐体500に収められている。
本実施形態では、説明の便宜上、プリント基板100〜103上にはそれぞれ1つのプロセシングユニットしか実装されていないが、複数を実装することも可能であり、ホストインターフェース400〜403も各基板に対して1つのみが接続されているが、複数になってもかまわない。また同様に、メモリノードも4つを1列に並べて実装されているが、個数も、配列も任意の数とすることができる。さらに、筐体500に収められるプリント基板であるボードの数も4つに限る必要はない。
実施形態で示した、二次元格子状に配列されたネットワークでは、例えばプロセシングユニット200からメモリノード305に対して、例えばメモリノード300、301、305の順に逐次的なデータパケットの送受信によってアクセスが行われる。すなわち、この例だと3回のパケット送受信が行われることとなるが、システム全体のサイズが大きくなるにつれてこの送受信回数が多くなり、実際にアクセスしたいノードに到達するまでに大きな遅延時間が生じるようになる。従って、大規模なシステムだと、このパケットの逐次送受信にかかる時間をいかに小さくできるかが性能に大きく影響する。
従来用いられていた、記憶媒体がHDDであるシステムの場合、HDDそのものの遅延時間が大きいため、遅延時間を小さくすることができない。また、二次元格子を構成するメモリノード300〜315間を、プリント基板100〜103上以外の配線(ケーブル等)を用いたり、転送経路の選択をプロセシングユニット200〜203等に行わせたりする場合では、このパケットの逐次送受信における遅延時間が極めて大きくなってしまう。したがって、バス接続を介さないプリント基板100〜103上の配線を用いることでこの時間を大幅に短縮している。ちなみに、不揮発性メモリから成るストレージ装置とプリント基板上の配線を用いていても、二次元格子構造を取らなかった場合、筐体間の通信等にかかる時間が大きくなってしまい、伝送時間は遅くなってしまう。
すなわち、図2に示したような、二次元格子状に配列されたメモリノードから成るストレージ装置の場合、メモリノード300〜315がHDDで構成される場合や、メモリノード間の接続が、物理的に抜き差し可能なコネクタ1100〜1105を介した、プリント基板上の配線によって実現されていない場合には、伝送時間が遅くなってしまう。
また、図3に示したように、物理的に抜き差し可能なコネクタ1100〜1103を介した、プリント基板上の配線によって、不揮発性メモリから成るメモリノード300〜315とプロセシングユニット200〜203等を接続したとしても、メモリノード300〜315を2次元格子状に接続した構成を取らない限り、所望の伝送速度は得られない。これは、メモリノード300〜315同士でデータをやり取りしたい場合に、図中に示したような外部のネットワークスイッチ550を経由する必要があるからである。
次に、本実施形態の別の効果について説明する。多数のメモリノードから成る単一のシステムの場合、システム内において、いくつかのメモリノードが故障した場合でも、システム全体は不具合なく機能し続ける必要がある。RAIDなどの公知の技術を用いれば、このような要件を満たしたシステムを構築することは可能であるが、スケールアウトを容易にするためには、このような場合の運用において必ず発生する、故障が発生したメモリノードの交換が容易でなければならない。
本実施形態では、図1に示したように、少なくとも1つ以上のノードが実装されたプリント基板100〜103が、物理的に抜き差し可能なコネクタ1100〜1105を介して接続された構成となっているため、故障したメモリノードを含むプリント基板100〜103を抜き、新しいプリント基板100〜103を差すだけで交換が完了する。このとき、プリント基板100〜103が交換中であることを、各プロセシングユニット200〜203が把握していなくても、交換中以外のプリント基板100〜103を介して、複数のデータパスが存在するためデータ転送が可能となる。例えば、プロセシングユニット200から、メモリノード313に対して、データを読み書きしたい場合、プリント基板102を経由する経路とプリント基板101を経由する経路が存在する。従って、例えば、プリント基板101が交換中であっても、適切なルーティングアルゴリズムが実装されていれば、各プロセシングユニットがその事実を把握していなくても、メモリノード同士のデータ転送によって、プリント基板102を経由する経路が選択できる。
一方、図2で示した構成の場合、故障したメモリノードにつながる各接続線を抜き、ノードを交換する必要があるため、手順が極めて煩雑となる。また、このような作業を行う場合、通信経路上にノイズが乗ることが多く、この点でも、図1で示したような構成であることが望ましい。
また、図3に示したような、メモリノード300〜315がプリント基板100〜103上に実装されていても、二次元ネットワークとなっていない場合では、任意のノード同士の通信に必ずネットワークスイッチ550を経由する必要がある。そのため、例えば、プリント基板100の交換中、ホストインターフェース400を介してプリント基板100とやり取りされていたデータが他のホストインターフェース401〜403を通過することとなり、各インターフェースの負荷が増してしまうため、交換前に負荷の調整を行うなどする必要がある。
本実施形態では、ホストインターフェース400を介さずとも、メモリノード間のデータ転送によってプリント基板100上のメモリノード300〜303と、それ以外のメモリノード304〜315がデータをやり取りしているため、このような負荷調整は必要ない。例えば、プロセシングユニット200からプリント基板101を経由してメモリノード313とやり取りをしているような場合に、プリント基板101が取り外されたとしても、プリント基板102を経由する経路が残っている。そのため、ホストインターフェース401〜403の負荷調整をする必要がない。ちなみに、二次元格子状の接続の場合、メモリノード間接続によるデータ転送経路は無数にあるため、適切なルーティングアルゴリズムを備えたネットワークなら、負荷の調整は必要ない。
次に、プロセシングユニット200〜203、及びメモリノード300〜315の内部構造について説明する。図4は、プロセシングユニット200の内部構造を示したものである。プロセシングユニット200は、データを処理するためのプロセッサに該当するマイクロプロセッサ(MPU)210、主記憶となるランダムアクセスメモリ(RAM)220、第1のインターフェース装置600、第2のインターフェース装置700を備える。第1のインターフェース装置600は、ホストインターフェース400とデータの送受信をするためのものであり、外部のネットワークとの間で通信を行うネットワーク通信部に相当する。2のインターフェース装置700は、不揮発性メモリを備えるメモリノード300とデータの送受信をするためのものである。そして、各部はデータのやり取りを行うBUS230によって接続されている。
MPU210としては、例えばARM製A9(800MHz)やIntel製のCore i7などが用いられる。この場合、BUS230もMPU210に合わせて、それぞれAMBA BUSやQPI(Quick Path Interconnect)BUS等が用いられる。RAM220としては、例えば4GB DRAMなどの揮発性メモリや、MRAM、PcRAM、RRAM(登録商標)等も用いることができる。外部のネットワークとの間で通信を行うネットワーク通信部に相当する、第1のインターフェース装置600としては、例えばイーサネット(登録商標)、インフィニバンド、ファイバーチャネルといったネットワークインターフェースや、PCI Express、Universal serial bus、Serial attached SCSIなどの外部BUS、あるいはストレージインターフェース等を用いることができる。また、第2のインターフェース装置700は、MPU201がBUS230を通してメモリノード300との通信を行うものである。
図5はメモリノード300の内部構造を示したものである。メモリノード300は、コントローラー800と、ストレージを構成する第1の不揮発性メモリ900を備えている。コントローラー800は、本実施形態では少なくとも6種類のデータ通信用のインターフェースを有しており、そのうちの4種は隣接したメモリノード300とのデータ通信に用いられる記憶部入出力部803に相当する。また、1種はプロセシングユニット200とのデータ通信に用いられるプロセッサ入出力部802に相当する。残る1種は第1の不揮発性メモリ900に対するインターフェースとなっている。
第1の不揮発性メモリ900の具体例としては、NANDフラッシュメモリや、ビットコストスケーラブルメモリ(BiCS)、磁気抵抗メモリ(MRAM)、相変化メモリ(PcRAM)、抵抗変化型メモリ(RRAM(登録商標))等が挙げられる。
図6はメモリノード300の別の構成を示したものである。この例では、コントローラー801は7種類のデータ通信インターフェースを備えており、新たに第2の不揮発性メモリ1000に対するインターフェースを備えている。この第2の不揮発性メモリ1000は、第1の不揮発性メモリ900と比べて、速度やランダムアクセス性能、書換可能回数が優れたものが用いられ、具体的には、DRAMやMRAM、PcRAM、RRAM(登録商標)等である。
第2の不揮発性メモリ1000には、例えば、読み書き回数の多いメタ情報と呼ばれるデータが格納される。メタ情報の例としては、第1の不揮発性メモリ900、第2の不揮発性メモリ1000中における特定のアドレスと、システム上の論理的なアドレスが異なる場合、相互を変換するためのテーブル情報や、第1の不揮発性メモリ900、第2の不揮発性メモリ1000に記録されたデータの属性情報などが挙げられる。
続いて、コントローラー800、801の詳細な構造について図7を用いて説明する。図7に示されるように、コントローラー800、801は、0から4までの5つの入出力ポート810と、IOブロック820、入力ポートバッファ830、出力ポートバッファ840を備えている。0番の入出力ポート810がプロセシングユニット200とのデータ通信に用いられプロセッサ入出力部802に相当する。また、1〜4番ポートはそれぞれ対応するメモリノードとのデータ通信に用いられる記憶部入出力部803に相当する。なお、データは、所定のサイズ単位のデータパケットとして、各メモリノード300〜315間を転送される。パケットは、送信先アドレスおよび送信元アドレスからなるメモリノードの位置情報を少なくとも含むヘッダ部と、データ部とを有する。
入出力ポート810からデータが入力されると、ルーティングコントローラー850(ルーティング部)が、パケットが含む送信先(宛先)アドレスと、そのメモリノード自身のアドレスの少なくとも2つの情報に基づいて、パケットのルーティング先を決定する。そして、ルーティングコントローラー850は、マルチプレクサ(MUX)860を切り替えて、適切な出力ポートバッファ840へと入力されたデータを転送する。
この際、自分宛てのデータだった場合は、データはコマンドプロセッサ870へと送られる。コマンドプロセッサ870は、SRAM880や、第1のメモリI/F910を介して第1の不揮発性メモリ900や、第2のメモリI/F920を介して第2の不揮発性メモリ1000等とのデータの読み書きや適切な処理を行う。例えば読み出し命令などの場合には、コマンドプロセッサ870は、新たなデータパケットを生成して、出力ポートバッファ840へと送る。
IOブロック820の内部には、各入出力ポート810に対するエラー検出回路が設けられている。エラー検出回路は、データの送受信の最中に異常が発生した場合や、コントローラー800、801及び接続された各不揮発性メモリ900、1000等に異常が発生した場合に、エラー情報を送信する。このことにより、隣接したメモリノードは、データの転送を行う前に、エラーを検出し、異常の生じたメモリノードとデータの送受信をしないようになる。
このような場合、エラー情報は、任意の方式を用いられるが、メモリノード自身が故障した場合を考慮して、信号が来ていない状態をエラーと認識するように構成することが望ましい。なお、コントローラー800については、例えば第2のメモリI/F920を設けない構成であってもよい。
次に、データの転送の際のルーティングアルゴリズムについて図8を用いて説明する。図8−1に示されるように、ストレージ装置10には、複数のメモリノード300に対してデータが分散して格納される。この例では、各メモリノード300は、2次元格子状に配置されている。格子点の座標を座標(x,y)で示し、格子点に配置されるメモリノード300の物理アドレスは、当該格子点の座標と対応して物理アドレス(xD,yD)で示されるものとする。
また、図8−1の例では、左上隅に位置するメモリノード300が原点の物理アドレス(0,0)を有し、各メモリノード300を横方向(X方向)、及び縦方向(Y方向)に移動することで、物理アドレスが整数値で増減する。
各メモリノード300は、それぞれ4つの入力ポート18、及び出力ポート19を備える。各メモリノード300は、隣接するメモリノード300と、これら4つの入力ポート18、及び出力ポート19を介して接続される。具体的には、対向する隣接したメモリノード300は、互いの入力ポート18、及び出力ポート19を介して接続される。
例えば、図8−1において左上隅の物理アドレス(0,0)で示されるメモリノード300は、X方向に隣接する物理アドレス(1,0)で表されるメモリノード300と、X方向とは異なる方向であるY方向に隣接する物理アドレス(0,1)で表されるメモリノード300と、それぞれ接続される。また、物理アドレス(1,1)で表されるメモリノード300は、互いに異なる4の方向に隣接する、物理アドレス(1,0)、(0,1)、(2,1)、及び(1,2)でそれぞれ示される4つのメモリノード300に接続される。
ストレージ装置10は、パリティの計算とデータ読み書き命令の発行とを行う、少なくとも1つのプロセシングユニット13を備える。プロセシングユニット13は、BUS17を介してメモリノード300に接続される。図8―1では、プロセシングユニット13は、物理アドレス(0,0)と(2,2)で表されるメモリノード300に、それぞれ接続されている。
各メモリノード300に格納するためのデータは、例えば外部のクライアントPC11からネットワークを介してストレージ装置10に供給され、選択回路12に入力される。選択回路12は、各プロセシングユニット13の状態を調べ、処理に余裕があるプロセシングユニット13を選択して、当該データを転送する。
続いて、図8−2を参照して、異常が発生した場合のルーティングの流れについて説明する。本来、プロセシングユニット200から、メモリノード312に対して、データを読み書きしようとする場合、最短経路である、出発地点であるプロセシングユニット200がつながるメモリノード300と、目的地であるメモリノード312とを結んだ直線、例えば、300→301→306→311→312という経路をたどる。ここで、例えば、メモリノード306が故障あるいは、混雑していて、メモリノード301からデータが送れない状況である場合を想定する。この場合、メモリノード301が、優先順位の低い経路である、メモリノード302に対してパケットを送信することで、自然と最短距離である307→312とルーティングされることが望ましい。このように、メモリノード306が、メモリノード301からデータが送れない状況であることをメモリノード301が知るために、上述したIOブロック820に設けられたエラー検出回路が用いられる。
次に、プロセシングユニット200と、メモリノード300との好適な接続の態様について図9、及び図10を用いて説明する。なお、図9−1においては、5行5列のメモリノードから成る説明図を用いるが、他の構成に関しても同様に実施することができる。
図9−1に示されるように、プロセシングユニット200〜215を、メモリノード300〜324で構成されるネットワーク全体の周辺部に接続すると、他の構成と比べ、隣接したプロセシングユニット200〜215間でデータをやり取りする際の遅延時間を短くできる。周辺部とは、2次元格子状に接続されたメモリノード300のうち、外側に位置するものを示す。これは、複数のプロセシングユニット200〜215で、仕事を分担しなければならないような構成において有効である。
また、図9−2に示されるように、必ずしも隣り合う周辺部のすべてにプロセシングユニットを接続するのではなく、間隔をあけて接続する構成も考えられる。
また、図10−1に示されるように、プロセシングユニット200〜203がメモリノード300〜324で構成されるネットワークのうち、内部に位置するメモリノード306、308、316、及び318に接続される構成も採用可能である。この場合、図9−1、図9−2で示したように、メモリノードの中央部に接続した場合、周辺部にプロセシングユニットを接続した場合と比較して、任意のメモリノードまでの平均到達ステップ数が少なくなり全体的な遅延時間を短くできる。中央部とは、メモリノードのうち周辺部以外の位置に位置するメモリノードを示す。なお、最も好ましい中央部の態様は、全てのメモリノード300のうち、中心に位置するものである。これは、プロセシングユニット200〜203間で、データを独立に読み書きするような構成において有効である。
図10−2に示されるように、ストレージ装置10のx方向のメモリノード数をNx、y方向のメモリノード数をNyとする。プロセシングユニット200の接続先がストレージ装置10の周辺部に配置されたメモリノードに限定される場合、プロセシングユニット200からの目的のメモリノードに到達するまでのパケットの平均転送回数は、Nx/2+Ny/2である。一方、ストレージ装置10の中央部に位置するメモリノードにプロセシングユニットを接続すると、平均転送回数は、Nx/4+Ny/4となる。したがって、ストレージ装置10の内部のメモリノードにプロセシングユニット200を接続すると、任意のメモリノードまでの平均到達ステップ数が少なくなる。
なお、プロセシングユニット200が周辺部のメモリノードに接続されている場合の配線長をd、内部に接続されている場合の配線長をd’とした時(d<d’)、信号の遅延時間の増加分をΔtとする。また、内部に接続することによって減少した平均到達ステップ数をΔn、メモリノード間のデータ転送速度をTとする。この際、Δt<TΔnの時は周辺部のメモリノードに接続し、Δt≧TΔnの時は中央に位置するメモリノードに接続すると好適である。
続いて、図11、図12を参照して、プロセシングユニット200の基板実装の具体例を説明する。図1では、プロセシングユニット200は、複数のメモリノード300〜303と同一のプリント基板100上に実装されていたが、少なくとも一つ以上のプロセシングユニット200を備えた基板を別途用いてもよい。
図11の例では、プロセシングユニット200が、プリント基板100の表面に実装されており、端部には基板スロット接続部110が設けられている。この場合、上述したホストインターフェース400との入出力を行う第1のインターフェース装置600、及び第2のインターフェース装置700は、基板スロット接続部110に配線が接続された形となる。また、図12に示されるように、プリント基板100の表面に第1のインターフェース装置600を直接インターフェースポートとして形成してもよい。
図13はストレージ装置10におけるメモリノード300の基板実装の具体例を表している。この場合は、図1の例とは異なり、各プリント基板にプロセシングユニットが搭載された場合ではなく、メモリノードのみが搭載された場合である。図13に示されるように、メモリノード基板1200は、複数のメモリノード300が実装されており、基板スロット接続部1210と、1つのプロセシングユニット200との配線1230と隣接するメモリノード300との4つの配線1240が基板スロット接続部1210に接続されて設けられている。図では両面に8個ずつのメモリノード300を一列に配置しているが、これに限定するものではない。
メモリノード基板1200に搭載されているメモリノード300は、基板が差し込まれる筐体500のスロット側のコネクタ1100〜1105(図1参照)で相互接続することで、メモリノード300同士が接続される構成となっている。つまり、筐体500側の接続によって、メモリノード300同士の接続を柔軟に変更できる。
さらにメモリノード基板1200は筐体500の基板のスロットを介して、他のメモリノード基板1200と接続することが可能であり、これによって、ストレージ規模拡大が容易となる。
このとき、図14のように、全てのメモリノード300との配線1240を基板スロット接続部1210に接続するのではなく、メモリノード基板1200上でメモリノード300同士を配線しても構わない。これにより、ストレージ規模拡大時の配線作業削減が期待できる。
図13、図14のいずれの場合も、図15のように、2列8行の単位ボード50を構成することになり、この場合、右図のような筐体のスロットであるコネクタ1100に単位ボード50を挿入する構成が考えられる。このとき、単位ボード50がメンテナンスで抜かれたり、障害が発生して機能しなくなったりした場合、隣接する単位ボードのルーティング用インターフェースは接続相手を失い、その方向へのパケット転送が不能となる。そこで、単位ボード50が抜かれるなどルーティング機能がなくなったスロットに、対向するスロット内の各端子71、72が接続されるようなアナログスイッチ70を搭載することで、経路障害による性能低下を抑制することが可能となる。
図16は、アナログスイッチ70の一例として、トランスミッションゲートの回路図を表している。図15、16に示されるように、アナログスイッチ70は少なくとも1つの電界効果トランジスタから構成されており、入力端子71と、出力端子72と、制御端子73とを備える。アナログスイッチ70は、制御端子73への電気信号のオンとオフを切り替えることで、入力端子71の電気信号を出力端子72に出力する回路である。トランスミッションゲートは、異なるチャネルの電界効果トランジスタから構成されており、制御用回路の極性を問わない双方向動作を実現できる。
すなわち、スロットのルーティング機能がなくなったと筺体側ボードの判断回路が判断した時に、アナログスイッチ70の制御端子73にオンの電気信号が入力されるような構成にすることで、アナログスイッチ70を介したパケット転送が実現できる。つまり、メモリノードが機能していない時に、動作するようなノーマリーオンのスイッチを実現できる。なお、回路の一例としてトランスミッションゲートを示したが、この例に限定されるものではない。また、ルーティング機能の正常動作を判断する判断回路が、筺体側のボードにある例を示したが、この例に限定されるものではない。
図17、図18は、プロセシングユニット200とメモリノード300を共通のプリント基板上で配線した一例を示している。図17では基板スロット接続部1210側でプロセシングユニット200とメモリノード300とを接続する構成を示している。一方、図18は、プロセシングユニット200とメモリノード300を同一のプリント基板上(以下、単位ボードという。)で配線した構成を示している。この場合、プロセシングユニット200とメモリノード300との間の配線長を短くすることが可能となるため、信号の遅延時間を低減することが可能となる。さらに、ストレージインターフェースの配線を削減することが可能になる。なお、第1のインターフェース装置600を単位ボード上に設計しているが、配線として基板スロット接続部1210に接続する方式でも構わない。またメモリノード300同士を単位ボード上で配線した構成でも構わない。
さらに、これらの図では、単位ボードの両面に8個ずつのメモリノードを一列に配置し、表面にのみ1つのプロセシングユニット200を配置しているが、これに限定するものではない。
このようにプロセシングユニットと、メモリノードを同一の基板上に設けることで、ストレージ装置10の規模拡大において、メモリノード300間の配線や、プロセシングユニット200とメモリノード300の間の配線などの作業を削減することが可能となる。さらに、プリント基板同士を組み合わせることで、メモリノード300の格子の内部にプロセシングユニット200を接続した構成を実現できる。そのため目的とするメモリノード300までの平均到達ステップ数が低減し、ストレージ性能の向上を図ることができる。
図19はストレージ装置10を実装するための単位ブレード51の具体例を表している。単位ブレード51は、複数の単位ボード50から構成され、単位ボード50を挿入するための複数のスロットと、ネットワークと接続するための複数のネットワークポート52を備えている。ネットワークポート52は、プロセシングユニット200の第1のインターフェース装置600と接続される。
単位ブレード51として構成することで、異なる単位ボード50同士を接続し、単位ボード50に配置されているすべてのメモリノード300の相互接続が可能となっている。さらに、単位ブレード51同士を接続することで、メモリノード300同士の相互接続が可能であれば、複数の単位ブレード51をまとめてサーバーラック53として構成することで、規模拡大が容易なシステムとなる。このような構成の場合、サーバーラック53内のシステムのうち、一部のみを本実施形態のストレージ装置10として構成してもかまわない。例えば、ある1段のみをストレージ装置10として構成し、その他のブレードサーバーは通常のサーバーやストレージサーバーで構成してもよい。このような場合、ストレージ装置10がその他のホストシステムに接続される必要がある。さらに、複数のブレードサーバーにより構成した場合に、必ずしもすべてを単一のストレージ装置として用いる必要もない。
また、メモリノードの相互接続ができればよいのでラックマウントで構成しなくてもよい。例えば図20のように、PCスロットのような差し込み口が並んだボードに、PCカードを差し込んでいく方式を一例として示す。この形式によって奥行きの小さいスリムな筺体を実現することができる。さらにパッケージされているので、取り扱いやすいと言ったメリットもある。図ではPCカードで表現しているが、これに限定するものではない。
もしくは、図21のように、あらかじめコントローラーを格子状に敷き詰めたボードを用意しておき、後から不揮発性メモリを追加する構成も可能である。このような場合、不揮発性メモリが接続されていないコントローラーもルーティングを行うことができるところが特徴となっている。コントローラーとプロセシングユニットを並べることで、スケールアウト特性を向上させ、必要に応じてメモリの容量を増やすなど柔軟な規模拡張が可能となっている。この時、SDカードやUSBメモリを追加できるようなスロットがあると望ましい。これにより、個人にとっても構成しやすいストレージ装置が実現できる。
以上に示した本実施形態のストレージ装置10にあっては、プロセシングユニット200とメモリノード300が設けられた単位ボード50を増設することによって、記憶可能なデータ量を増加させることができるとともに、処理能力も向上する。すなわち、プロセシングユニット200が増加することによって、外部のネットワークを通じて接続されているクライアントPCからの処理依頼に対しても遅延を起こすことなく対応が可能となる。したがって、単位ボード50を増設するのみで、ネットワークの通信速度の向上や、プロセッサの性能の向上などを伴わずに、容易にストレージ装置10の性能の向上を図ることが可能となることに本実施形態の利点がある。
以下、ストレージ装置10における、ホットスワップ機能について説明する。サーバーのメンテナンスの際や故障発生時には、システム運用のために問題個所の交換が行われる。特に、スマートメーターなどの連続稼働要求の厳しいクラウドの世界では、電源を完全停止することなく部品交換するようなホットスワップ機能が不可欠である。
実施形態に係るストレージ装置10では、単位ボード50や単位ブレード51がホットスワップ可能であることが、もっとも単純な構成である。この構成では、最小交換単位が単位ボード50であるため、1つのメモリノード300が故障した場合でも、他のメモリノード300とプロセシングユニット200を交換する必要がある。そこで、単位ボード50からプロセシングユニット200とメモリノード300がそれぞれホットスワップ可能であれば、故障したメモリノード300、もしくはプロセシングユニット200のみを交換することが可能となり、保守コストを削減することが可能となる。
また、一般的にコントローラー800(図7参照)などに用いられるLSIよりも、寿命があるNAND Flashのような不揮発性メモリの方が故障する可能性が高いと考えられる。つまり不揮発性メモリが故障した場合、メモリノード300単位で交換を行うと、故障していないコントローラーも含めて交換する必要がある。そこで、メモリノード300から不揮発性メモリをホットスワップ可能とすることで、故障した不揮発性メモリのみを交換することが可能となり、保守コストを削減することが可能となる。
なお、図1では、各メモリノードが矩形格子の格子点に配置されるように示したが、各メモリノードの配置は、これらの例に限定されない。すなわち、格子の形状は、格子点に配置される各メモリノードが2以上の異なる方向に隣接するメモリノードと接続されればよく、例えば三角形、六角形などでもよい。また、図1では各メモリノードが2次元状に配置されているが、コントローラーの入出力ポートの数を2つ増やして、各メモリノードを3次元的に配置しても構わない。3次元的にメモリノードを配置した場合は、メモリノードは(x、y、z)の3つの値でその位置を指定することができる。また、例えば2次元正方格子からトーラスを構成する場合、対辺に位置するノードを接続することで実現が可能である。例えば、図10−1で示した例では、メモリノード300と、メモリノード320、メモリノード300とメモリノード304などをトーラス状に接続する。トーラス状にすることで、プロセッシングユニットからのメモリノードへの平均アクセス距離を短くすることができ、性能の向上を図ることができる。
また、ストレージ装置10に接続可能なプロセッシングユニット200の数について考える。メモリノード300の数をN、プロセシングユニット200の数をMとする。内部が渋滞しないようにパケットを投げるための条件は、「プロセッシングユニット200が1パケット投げた後、帰ってくるまで次のパケットを投げ入れない」こととなる。パケット応答の待ち時間をt[sec]とする。この場合のシステム全体のスループット性能は、M/t[IOPS]と表される。
プロセッシングユニット200は、最大でメモリノード300の数N個設置可能であるため、MはN以下となる。また、応答の待ち時間tは、片道にかかる平均ステップ数が√N(すなわち往復で2√N)なので、1回のルーティングにかかる時間をts、ルーティング以外の時間(たとえばNANDフラッシュなどのメモリへの読み書き時間)をtfとすると、t=2√N×ts+tfとなる。
このとき、プロセッシングユニット200は時間tに1回の割合でパケットを送ればよいので、パケットの処理にtcだけかかるとすると、プロセッシングユニット200の数Mはメモリノード300の数Nに対して、(ts+tc)/t=(1+tc/ts)/(2√N+tf/ts)以上の割合有ればよいこととなる。つまりM>=N×(1+tc/ts)/(2√N+tf/ts)となる。したがってプロセッシングユニット200の数MはN×(1+tc/ts)/(2√N+tf/ts)以上、N以下が最適となる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
10 ストレージ装置
11 クライアントPC
12 選択回路
13 プロセシングユニット
18 入力ポート
19 出力ポート
50 単位ボード
51 単位ブレード
52 ネットワークポート
53 サーバーラック
70 アナログスイッチ
71 入力端子
72 出力端子
73 制御端子
100 プリント基板
101 プリント基板
102 プリント基板
110 基板スロット接続部
200 プロセシングユニット
300 メモリノード
400 ホストインターフェース
500 筐体
550 ネットワークスイッチ
600 第1のインターフェース装置
700 第2のインターフェース装置
800 コントローラー
801 コントローラー
802 プロセッサ入出力部
803 記憶部入出力部
810 入出力ポート
820 IOブロック
830 入力ポートバッファ
840 出力ポートバッファ
850 ルーティングコントローラー
870 コマンドプロセッサ
900 第1の不揮発性メモリ
1000 第2の不揮発性メモリ
1100 コネクタ
1200 メモリノード基板
1210 基板スロット接続部
1230 配線
1240 配線

Claims (7)

  1. データの読み出し、及び書き込みの制御命令を発行するプロセシング部と、
    少なくとも2次元以上の配列として、互いに接続された複数の記憶部と、
    を備え
    前記記憶部は
    り合う他の前記記憶部と接続されるとともに、
    データを記憶可能なメモリと、
    前記データに含まれる前記記憶部の位置情報に基づいて、他の前記記憶部への前記データの転送経路を決定して、転送処理を行うルーティング部と、
    を備え
    前記プロセシング部は、配列された複数の前記記憶部のうち周辺部に位置する前記記憶部と接続されている
    ことを特徴とするストレージ装置。
  2. データの読み出し、及び書き込みの制御命令を発行するプロセシング部と、
    少なくとも2次元以上の配列として、互いに接続された複数の記憶部と、
    を備え
    前記記憶部は
    り合う他の前記記憶部と接続されるとともに、
    データを記憶可能なメモリと、
    前記データに含まれる前記記憶部の位置情報に基づいて、他の前記記憶部への前記データの転送経路を決定して、転送処理を行うルーティング部と、
    を備え
    前記プロセシング部は、配列された複数の前記記憶部のうち中央に位置する前記記憶部と接続されている
    ことを特徴とするストレージ装置。
  3. データの読み出し、及び書き込みの制御命令を発行するプロセシング部と、
    少なくとも2次元以上の配列として、互いに接続された複数の記憶部と、
    を備え
    前記記憶部は
    り合う他の前記記憶部と接続されるとともに、
    データを記憶可能なメモリと、
    前記データに含まれる前記記憶部の位置情報に基づいて、他の前記記憶部への前記データの転送経路を決定して、転送処理を行うルーティング部と、
    を備え
    前記記憶部の数をN、前記プロセシング部の数をMとし、読み書きにかかる時間のうち前記プロセッシング部での処理時間をtc、前記記憶部間の1度の転送時間をts、前記記憶部内でそれ以外の処理にかかる時間をtfとした場合に、N×(1+tc/ts)/(2√N+tf/ts)<=M<=Nを満たす
    ことを特徴とするストレージ装置。
  4. データの読み出し、及び書き込みの制御命令を発行するプロセシング部と、
    少なくとも2次元以上の配列として、互いに接続された複数の記憶部と、
    を備え
    前記記憶部は
    り合う他の前記記憶部と接続されるとともに、
    データを記憶可能なメモリと、
    前記データに含まれる前記記憶部の位置情報に基づいて、他の前記記憶部への前記データの転送経路を決定して、転送処理を行うルーティング部と、
    を備え
    前記プロセシング部と、複数の前記記憶部は、同一のプリント基板上に配設され、
    複数の前記プリント基板が互いに接続される
    ことを特徴とするストレージ装置。
  5. 前記プリント基板が挿入されるスロットは、前記プリント基板が接続されていない状態にあっては対向する各端子が接続されるように切り替えられる切替部を更に備える
    ことを特徴とする請求項に記載のストレージ装置。
  6. 前記プロセシング部、及び前記記憶部は、ホットスワップ可能である
    ことを特徴とする請求項に記載のストレージ装置。
  7. 前記メモリは、前記記憶部からホットスワップ可能である
    ことを特徴とする請求項に記載のストレージ装置。
JP2013002999A 2013-01-10 2013-01-10 ストレージ装置 Expired - Fee Related JP5985403B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2013002999A JP5985403B2 (ja) 2013-01-10 2013-01-10 ストレージ装置
TW102129705A TW201428497A (zh) 2013-01-10 2013-08-19 儲存裝置
KR1020130103726A KR101457302B1 (ko) 2013-01-10 2013-08-30 스토리지 장치
CN201310394679.2A CN103927274A (zh) 2013-01-10 2013-09-03 存储装置
US14/023,835 US9442877B2 (en) 2013-01-10 2013-09-11 Storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013002999A JP5985403B2 (ja) 2013-01-10 2013-01-10 ストレージ装置

Publications (2)

Publication Number Publication Date
JP2014134981A JP2014134981A (ja) 2014-07-24
JP5985403B2 true JP5985403B2 (ja) 2016-09-06

Family

ID=51061897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013002999A Expired - Fee Related JP5985403B2 (ja) 2013-01-10 2013-01-10 ストレージ装置

Country Status (5)

Country Link
US (1) US9442877B2 (ja)
JP (1) JP5985403B2 (ja)
KR (1) KR101457302B1 (ja)
CN (1) CN103927274A (ja)
TW (1) TW201428497A (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015152949A (ja) 2014-02-10 2015-08-24 株式会社東芝 ストレージシステム
CN104461398B (zh) * 2014-12-25 2018-05-01 浪潮电子信息产业股份有限公司 一种面向融合架构的内存扩展模块架构
US9645760B2 (en) * 2015-01-29 2017-05-09 Kabushiki Kaisha Toshiba Storage system and control method thereof
JP6313237B2 (ja) 2015-02-04 2018-04-18 東芝メモリ株式会社 ストレージシステム
JP6342351B2 (ja) 2015-03-02 2018-06-13 東芝メモリ株式会社 ストレージシステム
CN104777786B (zh) * 2015-03-20 2018-01-19 深圳市科陆电子科技股份有限公司 热插拔识别方法及系统
US10108377B2 (en) * 2015-11-13 2018-10-23 Western Digital Technologies, Inc. Storage processing unit arrays and methods of use
EP3511837B1 (en) 2016-09-29 2023-01-18 Huawei Technologies Co., Ltd. Chip having extensible memory
JP2018156594A (ja) * 2017-03-21 2018-10-04 東芝メモリ株式会社 ストレージシステムおよび処理方法
US11880583B2 (en) * 2020-09-14 2024-01-23 Samsung Electronics Co., Ltd. Systems, methods, and devices for attachable compute resources for storage devices
GB2611575A (en) * 2021-10-11 2023-04-12 The Sec Dep For Business Energy And Industrial Strategy Connection of solid-state storage devices

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274800A (en) * 1991-02-22 1993-12-28 Hewlett-Packard Company Automatic signal configuration
JP3237736B2 (ja) 1993-09-07 2001-12-10 ヒュンダイ エレクトロニクス アメリカ データ記憶装置のマトリックス構造
JPH07234763A (ja) 1994-02-25 1995-09-05 Fujitsu Ltd ディスクアレイ装置の処理方法
US6424625B1 (en) 1998-10-28 2002-07-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for discarding packets in a data network having automatic repeat request
US6457100B1 (en) 1999-09-15 2002-09-24 International Business Machines Corporation Scaleable shared-memory multi-processor computer system having repetitive chip structure with efficient busing and coherence controls
US7493438B2 (en) * 2001-10-03 2009-02-17 Intel Corporation Apparatus and method for enumeration of processors during hot-plug of a compute node
JP2003345531A (ja) 2002-05-24 2003-12-05 Hitachi Ltd ストレージシステム、管理サーバ、及びそのアプリケーションの管理方法
US20050166006A1 (en) 2003-05-13 2005-07-28 Advanced Micro Devices, Inc. System including a host connected serially in a chain to one or more memory modules that include a cache
US6965811B2 (en) 2003-07-14 2005-11-15 Quantum Corporation Media drive module and storage library system
JP2005293370A (ja) 2004-04-01 2005-10-20 Hitachi Ltd 記憶制御システム
JP4713902B2 (ja) 2005-03-01 2011-06-29 株式会社日立製作所 ストレージシステム
JP4274140B2 (ja) * 2005-03-24 2009-06-03 日本電気株式会社 ホットスワップ機能付きメモリシステム及びその障害メモリモジュールの交換方法
JP2006293863A (ja) * 2005-04-13 2006-10-26 Hitachi Ltd ディスクアレイ装置及びその制御方法
KR101271245B1 (ko) 2005-04-21 2013-06-07 바이올린 메모리 인코포레이티드 상호접속 시스템
TW200824197A (en) 2006-11-29 2008-06-01 Inventec Corp Expansion structure of memory module slot
CN101681282A (zh) * 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
US7773451B2 (en) 2007-07-19 2010-08-10 Zi San Electronics Corp. Circuit for transforming address
US9229887B2 (en) * 2008-02-19 2016-01-05 Micron Technology, Inc. Memory device with network on chip methods, apparatus, and systems
US8656082B2 (en) 2008-08-05 2014-02-18 Micron Technology, Inc. Flexible and expandable memory architectures
US10236032B2 (en) * 2008-09-18 2019-03-19 Novachips Canada Inc. Mass data storage system with non-volatile memory modules
JP2010171557A (ja) 2009-01-21 2010-08-05 Mitsubishi Electric Corp 同報送信装置及び受信ノード及び同報送信プログラム及び記録媒体
US8549092B2 (en) * 2009-02-19 2013-10-01 Micron Technology, Inc. Memory network methods, apparatus, and systems
US20100241783A1 (en) 2009-03-23 2010-09-23 Honeywell International Inc. Memory node for use within a data storage system having a plurality of interconnected memory nodes
US9779057B2 (en) * 2009-09-11 2017-10-03 Micron Technology, Inc. Autonomous memory architecture
FR2957176B1 (fr) 2010-03-02 2012-04-06 Commissariat Energie Atomique Puce electronique et circuit integre comportant une telle puce electronique
JP2012080390A (ja) 2010-10-04 2012-04-19 Japan Radio Co Ltd 位置情報分散管理システム
JP5238791B2 (ja) 2010-11-10 2013-07-17 株式会社東芝 転送機能を有するメモリノードを相互に接続したストレージ装置及びデータ処理方法

Also Published As

Publication number Publication date
KR101457302B1 (ko) 2014-11-04
KR20140090928A (ko) 2014-07-18
TW201428497A (zh) 2014-07-16
CN103927274A (zh) 2014-07-16
JP2014134981A (ja) 2014-07-24
US20140195710A1 (en) 2014-07-10
US9442877B2 (en) 2016-09-13

Similar Documents

Publication Publication Date Title
JP5985403B2 (ja) ストレージ装置
CN100405352C (zh) 通过串行总线互连多个处理节点的装置及方法
TWI756488B (zh) 支援多模式及/或多速度之跨架構高速非揮發性記憶體裝置的系統與方法及儲存裝置
US11165717B2 (en) Fabric interconnection for memory banks based on network-on-chip methodology
CN107643996B (zh) 包括单端口存储控制器的基于pci express的双端口存储盒
US9720864B2 (en) Flexible server system
US11157200B2 (en) Communicating over portions of a communication medium
EP2517110B1 (en) Configurable interconnection system
KR101245096B1 (ko) 상호연결 시스템에서의 스큐 관리
CN107769956A (zh) 计算系统和冗余资源连接结构
JP2016162458A (ja) モジュール型不揮発性フラッシュメモリブレード及びその動作方法
US20150036681A1 (en) Pass-through routing at input/output nodes of a cluster server
US20160231939A1 (en) Tunneling of storage operations between storage nodes
US9806908B2 (en) Route mapping at individual nodes of a cluster server
US20190243796A1 (en) Data storage module and modular storage system including one or more data storage modules
JP2019518286A (ja) メモリバス上のマルチレベルデータキャッシュ及びストレージ
CN103608762B (zh) 存储设备、存储系统及数据发送方法
WO2015098138A1 (ja) ストレージシステム
US8270194B2 (en) Distributed flash memory storage manager systems
US11323391B1 (en) Multi-port stream switch for stream interconnect network
KR20190056951A (ko) 호스트의 개입 없이 외부 장치와 피어-투-피어 통신을 수행하는 스토리지 장치
US9164914B1 (en) Multiple port routing circuitry for flash memory storage systems
US10346083B2 (en) Storage system and control method thereof
US10558603B2 (en) Storage system including a plurality of storage devices arranged in a holder
JP6313237B2 (ja) ストレージシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150210

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20151102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160803

R151 Written notification of patent or utility model registration

Ref document number: 5985403

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