JP2023139763A - メモリシステム、メモリシステムの制御方法、およびホストシステム - Google Patents
メモリシステム、メモリシステムの制御方法、およびホストシステム Download PDFInfo
- Publication number
- JP2023139763A JP2023139763A JP2022045462A JP2022045462A JP2023139763A JP 2023139763 A JP2023139763 A JP 2023139763A JP 2022045462 A JP2022045462 A JP 2022045462A JP 2022045462 A JP2022045462 A JP 2022045462A JP 2023139763 A JP2023139763 A JP 2023139763A
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- signal
- port
- ssd module
- terminals
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 142
- 238000000034 method Methods 0.000 title claims abstract description 23
- 239000004065 semiconductor Substances 0.000 claims abstract description 24
- 239000000758 substrate Substances 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 11
- 241000699813 Pedetes Species 0.000 description 68
- 238000010586 diagram Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 230000000052 comparative effect Effects 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000017525 heat dissipation Effects 0.000 description 4
- 239000012212 insulator Substances 0.000 description 4
- 230000005855 radiation Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000000498 cooling water Substances 0.000 description 2
- 239000003822 epoxy resin Substances 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 239000010410 layer Substances 0.000 description 2
- 229920000647 polyepoxide Polymers 0.000 description 2
- 230000004397 blinking Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002344 surface layer Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/409—Mechanical coupling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System (AREA)
- Printing Elements For Providing Electric Connections Between Printed Circuits (AREA)
- Combinations Of Printed Boards (AREA)
- Details Of Connecting Devices For Male And Female Coupling (AREA)
Abstract
【課題】ストレージシステムの小型化を図ることができるメモリシステム、メモリシステムの制御方法及びホストシステムを提供する。【解決手段】ストレージシステムにおいて、メモリシステムであるSSDモジュールは、基板と、メモリコントローラ32と、半導体メモリと、を備える。メモリコントローラは、第3ポート152Dに入力される信号又は外部から受信されるコマンドが第1条件を満たす場合に、第1ポート152Aを第1信号用のポートとして使用し、且つ、第2ポート152Cを第2信号用のポートとして使用する。メモリコントローラは、第3ポートに入力される信号又は外部から受信されるコマンドが第2条件を満たす場合に、第1ポートを第2信号用のポートとして使用し、且つ、第2ポートを第1信号用のポートとして使用する。【選択図】図12
Description
本発明の実施形態は、メモリシステム、メモリシステムの制御方法、およびホストシステムに関する。
ホストシステムと、ホストシステムから受け取る命令に応じて動作を実行するメモリシステムとを備えたストレージシステムが知られている。このようなストレージシステムの一例は、コネクタが実装されたプリント配線基板を備える。この例では、コネクタを介して、ホストシステムとメモリシステムとが接続される。
本発明が解決しようとする課題は、ストレージシステムの小型化を図ることができるメモリシステム、メモリシステムの制御方法、およびホストシステムを提供することである。
実施形態のメモリシステムは、外部のコネクタに接続可能な端子部を有した基板と、前記基板に実装されたメモリコントローラと、前記基板に実装され、前記メモリコントローラと接続された半導体メモリとを備える。前記端子部は、第1端子と、第2端子と、第3端子とを含む。前記メモリコントローラは、前記第1端子と接続された第1ポートと、前記第2端子と接続された第2ポートと、前記第3端子と接続された第3ポートとを有する。前記メモリコントローラは、前記第3ポートに入力される信号、または前記外部から受信されるコマンドが第1条件を満たす場合に、前記第1ポートを第1信号用のポートとして使用し、且つ前記第2ポートを前記第1信号とは異なる第2信号用のポートとして使用する。前記メモリコントローラは、前記第3ポートに入力される前記信号、または前記外部から受信される前記コマンドが前記第1条件とは異なる第2条件を満たす場合に、前記第1ポートを前記第2信号用のポートとして使用し、且つ前記第2ポートを前記第1信号用のポートとして使用する。
以下、実施形態のメモリシステム、メモリシステムの制御方法、およびホストシステムを、図面を参照して説明する。以下の説明では、同一または類似の機能を有する構成に同一の符号を付す。そして、それら構成の重複する説明は省略する場合がある。「平行」、「直交」、または「同じ」とは、それぞれ「略平行」、「略直交」、または「略同じ」である場合も含み得る。「接続」とは、機械的な接続に限定されず、電気的な接続も含み得る。すなわち「接続」とは、対象物と直接に接続された場合に限定されず、別の要素を間に介在させて対象物と接続される場合も含み得る。
(第1実施形態)
<1.ストレージシステムの全体構成>
図1は、第1実施形態のストレージシステム1の全体構成を示す斜視図である。ストレージシステム1は、例えば、ノート型パーソナルコンピュータのような情報処理装置(または電子機器)である。ただし、ストレージシステム1は、上記例に限定されず、据置型のパーソナルコンピュータや、サーバ装置、モバイル型の情報端末機器、車載装置など各種の情報処理装置が適宜該当する。
<1.ストレージシステムの全体構成>
図1は、第1実施形態のストレージシステム1の全体構成を示す斜視図である。ストレージシステム1は、例えば、ノート型パーソナルコンピュータのような情報処理装置(または電子機器)である。ただし、ストレージシステム1は、上記例に限定されず、据置型のパーソナルコンピュータや、サーバ装置、モバイル型の情報端末機器、車載装置など各種の情報処理装置が適宜該当する。
ストレージシステム1は、例えば、報知装置13を有する。報知装置13は、後述するSSD(Solid State Drive)モジュール30(図2参照)の状態を外部(例えばユーザ)に報知する装置である。報知装置13は、例えば、ストレージシステム1の外部から視認可能なLED(Light Emitting Diode)13aと、LED13aの発光を制御する制御回路とを含む。報知装置13は、例えば、SSDモジュール30が動作中である場合に、LED13aを点滅させることで、SSDモジュール30が動作中であることを報知する。
図2は、ストレージシステム1の機能構成の一部を示すブロック図である。ストレージシステム1は、例えば、ホスト装置10と、複数のSSDモジュール30とを有する。複数のSSDモジュール30は、第1SSDモジュール30Aと、第2SSDモジュール30Bとを含む。本実施形態では、第1SSDモジュール30Aと第2SSDモジュール30Bとを区別しない場合、「SSDモジュール30」と称する。
ホスト装置10は、例えば、ホストコントローラ11、ホストメモリ12、報知装置13、ホストブリッジ14、電源回路15、およびコネクタ20を含む。ホスト装置10は、「ホストシステム」の一例である。なお、コネクタ20は、ホスト装置10の外部の構成として設けられてもよい。
ホストコントローラ11は、ストレージシステム1に搭載されたハードウェア回路である。ホストコントローラ11は、CPU(Central Processing Unit)のようなハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。ただし、ホストコントローラ11の機能の全部または一部は、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、またはFPGA(Field Programmable Gate Array)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアとの協働によって実現されてもよい。
ホストコントローラ11は、ストレージシステム1の全体を制御する。例えば、ホストコントローラ11は、SSDモジュール30に対するデータの書き込みまたは読み出しを実行する。本実施形態では、ホストコントローラ11は、ホストブリッジ14およびコネクタ20を介して、SSDモジュール30とデータ等の送受信を行う。
ホストメモリ12は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などにより構成される。ホストメモリ12は、例えば、ホストコントローラ11とSSDモジュール30との間で転送されるデータが一時的に格納されるデータバッファである。
ホストブリッジ14は、ホストコントローラ11、ホストメモリ12、報知装置13、およびコネクタ20に接続される。ホストブリッジ14は、ホストインターフェイス回路(ホストI/F)14fを含む。ホストI/F14fは、ホストコントローラ11とSSDモジュール30との間で、データ、コマンド、およびアドレスを送受信するハードウェア回路である。ホストブリッジ14は、「ブリッジ回路」の一例である。ホストI/F14fは、例えば、PCIe(PCI Express)(登録商標)、またはSATA(Serial Advanced Technology Attachment)などの通信インターフェイス規格に適合している。
電源回路15は、後述する回路基板16(図4参照)に設けられ、コネクタ20に接続されている。電源回路15は、コネクタ20を介してSSDモジュール30に電力を供給する。
コネクタ20は、ホストブリッジ14、電源回路15、およびSSDモジュール30に接続される。コネクタ20は、SSDモジュール30が着脱可能に取り付けられる構造を有する。コネクタ20は、ホストブリッジ14とSSDモジュール30とを接続するとともに、電源回路15とSSDモジュール30とを接続する。コネクタ20は、SSDモジュール30から見た場合、「外部のコネクタ」の一例である。コネクタ20の詳細については後述する。
SSDモジュール30は、ホスト装置10から受け取るデータを不揮発に記憶する記憶装置である。第1SSDモジュール30Aは、「第1メモリシステム」の一例である。第2SSDモジュール30Bは、「第2メモリシステム」の一例である。
<2.SSDモジュールの構成>
図3は、SSDモジュール30(例えば第1SSDモジュール30A)を示す図である。図3中の(a)は、SSDモジュール30(例えば第1SSDモジュール30A)を表面視した図である。図3中の(b)は、SSDモジュール30(例えば第1SSDモジュール30A)を裏面視した図である。すなわち、図3中の(b)は、図3中の(a)で示すSSDモジュール30を裏返しにして示す図である。第1SSDモジュール30Aは、例えば、第1基板31A、第1メモリコントローラ32A、および1つ以上(例えば複数)の第1半導体メモリ33Aを有する。
図3は、SSDモジュール30(例えば第1SSDモジュール30A)を示す図である。図3中の(a)は、SSDモジュール30(例えば第1SSDモジュール30A)を表面視した図である。図3中の(b)は、SSDモジュール30(例えば第1SSDモジュール30A)を裏面視した図である。すなわち、図3中の(b)は、図3中の(a)で示すSSDモジュール30を裏返しにして示す図である。第1SSDモジュール30Aは、例えば、第1基板31A、第1メモリコントローラ32A、および1つ以上(例えば複数)の第1半導体メモリ33Aを有する。
第1基板31Aは、ガラスエポキシ樹脂のような絶縁体と、絶縁体の表層および内層に設けられた配線パターンとを有する回路基板またはプリント配線基板である。第1基板31Aは、第1面S1と、第1面S1とは反対側に位置した第2面S2とを有する。第1面S1は表面の一例、第2面S2は裏面の一例、である。
第1基板31Aの一端部は、コネクタ20に接続可能な端子部34を有する。端子部34は、複数の端子35を含む。複数の端子35は、第1基板31Aの第1面S1に設けられた複数の端子35mと、第1基板31Aの第2面S2に設けられた複数の端子35nとを含む。端子部34は、ホストブリッジ14のホストI/F14fと同じ通信インターフェイス規格に適合している。端子部34は、例えば、M.2規格に適合している。
第1メモリコントローラ32Aは、ホストブリッジ14のホストI/F14fに接続可能なインターフェイス回路(ホスト接続I/F)32fを有する。ホスト接続I/F32fは、第1基板31Aの端子部34およびコネクタ20を介して、ホストI/F14f(図2参照)と接続される。ホスト接続I/F32fは、ホストI/F14fと同じ通信インターフェイス規格に適合している。
第1メモリコントローラ32Aは、第1基板31Aに設けられた配線を通じて、複数の第1半導体メモリ33Aと接続されている。第1メモリコントローラ32Aは、複数の第1半導体メモリ33Aを制御する。例えば、第1メモリコントローラ32Aは、ホスト装置10から受け取る命令に基づき、複数の第1半導体メモリ33Aに対するデータの書き込み、読み出し、および消去を実行する。第1メモリコントローラ32Aは、例えば、第1基板31Aの第1面S1に実装されている。
第1半導体メモリ33Aは、データを不揮発に記憶する不揮発性の半導体メモリである。第1半導体メモリ33Aは、例えば、NAND型フラッシュメモリである。ただし、第1半導体メモリ33Aは、上記例に限定されず、MRAM(Magnetoresistive Random Access Memory)やその他のタイプの記憶装置でもよい。複数の第1半導体メモリ33Aは、例えば、第1基板31Aの第1面S1に実装されている。
第1SSDモジュール30Aは、上述した構成に加えて、第1基板31Aに実装された第1揮発性メモリ37Aを有してもよい。第1揮発性メモリ37Aは、DRAMなどにより構成される。第1揮発性メモリ37Aは、ホスト装置10と第1半導体メモリ33Aとの間で転送されるデータが一時的に格納されるデータバッファを含む。第1揮発性メモリ37Aは、第1メモリコントローラ32Aの内部に設けられてもよい。
同様に、第2SSDモジュール30Bは、第2基板31B、第2メモリコントローラ32B、および1つ以上(例えば複数)の第2半導体メモリ33Bを有する。本実施形態では、第2SSDモジュール30Bは、第1SSDモジュール30Aと同じタイプのメモリモジュールである。ここで、同じタイプとは、少なくとも端子部34の構造および仕様が同じであることを含む。このため、第2SSDモジュール30Bに関する説明は、第1SSDモジュール30Aに関する上記説明において、「第1SSDモジュール30A」を「第2SSDモジュール30B」、「第1基板31A」を「第2基板31B」、「第1面S1」を「第3面S3」、「第2面S2」を「第4面S4」、「第1メモリコントローラ32A」を「第2メモリコントローラ32B」、「第1半導体メモリ33A」を「第2半導体メモリ33B」、「第1揮発性メモリ37A」を「第2揮発性メモリ37B」とそれぞれ読み替えればよい。
また以下では、第1SSDモジュール30Aと第2SSDモジュール30Bとを区別しない場合、第1基板31Aまたは第2基板31Bを「基板31」、第1メモリコントローラ32Aまたは第2メモリコントローラ32Bを「メモリコントローラ32」、第1半導体メモリ33Aまたは第2半導体メモリ33Bを「半導体メモリ33」、第1揮発性メモリ37Aまたは第2揮発性メモリ37Bを「揮発性メモリ37」と称する場合がある。
本実施形態では、第1SSDモジュール30Aと第2SSDモジュール30Bは、部品配置も含め完全に同じタイプのメモリモジュールである。ただし、「同じタイプのメモリモジュール」とは、完全に同じタイプのメモリモジュールに限定されず、同じ規格に適合したメモリモジュールであればよい。例えば、第1SSDモジュール30Aと第2SSDモジュール30Bとは、搭載される半導体メモリの数や容量が異なってもよい。
<3.SSDモジュールの実装姿勢>
図4は、ストレージシステム1の一部を示す断面図である。ここで、X方向、Y方向、およびZ方向について定義する。X方向およびY方向は、後述する回路基板16の表面に沿う方向である。X方向は、コネクタ20からSSDモジュール30に向かう方向であり、SSDモジュール30の長さ方向である。Y方向は、X方向とは交差する方向(例えば直交する方向)であり、SSDモジュール30の幅方向である。Z方向は、X方向およびY方向とは交差する方向(例えばそれぞれに直交する方向)である。Z方向は、回路基板16からコネクタ20に向かう方向であり、回路基板16の厚さ方向である。Y方向は、「第1方向」の一例である。Z方向は、「第2方向」の一例である。以下では、説明の便宜上、コネクタ20に接続されたSSDモジュール30から見て、回路基板16から離れる方向を「上」、回路基板16に近付く方向を「下」と定義する。ただしこれら定義は、重力方向を規定するものではない。
図4は、ストレージシステム1の一部を示す断面図である。ここで、X方向、Y方向、およびZ方向について定義する。X方向およびY方向は、後述する回路基板16の表面に沿う方向である。X方向は、コネクタ20からSSDモジュール30に向かう方向であり、SSDモジュール30の長さ方向である。Y方向は、X方向とは交差する方向(例えば直交する方向)であり、SSDモジュール30の幅方向である。Z方向は、X方向およびY方向とは交差する方向(例えばそれぞれに直交する方向)である。Z方向は、回路基板16からコネクタ20に向かう方向であり、回路基板16の厚さ方向である。Y方向は、「第1方向」の一例である。Z方向は、「第2方向」の一例である。以下では、説明の便宜上、コネクタ20に接続されたSSDモジュール30から見て、回路基板16から離れる方向を「上」、回路基板16に近付く方向を「下」と定義する。ただしこれら定義は、重力方向を規定するものではない。
本実施形態では、第1SSDモジュール30Aは、第1基板31Aの第1面S1を上方に向け、第2面S2を下方に向けた姿勢で、コネクタ20に差し込まれる。一方で、第2SSDモジュール30Bは、第1SSDモジュール30Aに対して反転した姿勢(上下を逆に回転させた姿勢)で、コネクタ20に差し込まれる。すなわち、第2SSDモジュール30Bは、第2基板31Bの第3面S3を下方に向け、第4面S4を上方に向けた姿勢で、コネクタ20に差し込まれる。言い換えると、第1SSDモジュール30Aおよび第2SSDモジュール30Bは、それぞれメモリコントローラ32および半導体メモリ33が搭載されていない第2面S2と第4面S4とを向かい合わせにしてコネクタ20に取り付けられている。
<4.ストレージシステムが有するその他の構成>
図4に示すように、ストレージシステム1は、上述したホストコントローラ11、ホストブリッジ14、コネクタ20、第1SSDモジュール30A、および第2SSDモジュール30Bに加え、回路基板16、放熱用部材40、第1熱伝導部材41A、および第2熱伝導部材41Bを有する。
図4に示すように、ストレージシステム1は、上述したホストコントローラ11、ホストブリッジ14、コネクタ20、第1SSDモジュール30A、および第2SSDモジュール30Bに加え、回路基板16、放熱用部材40、第1熱伝導部材41A、および第2熱伝導部材41Bを有する。
回路基板16は、例えば、ストレージシステム1のマザーボードである。回路基板16は、ガラスエポキシ樹脂のような絶縁体と、絶縁体の内層および外層に設けられた配線パターンとを有する。配線パターンは、ホストブリッジ14とコネクタ20とを電気的に接続する複数の配線と、電源回路15とコネクタ20とを電気的に接続する複数の配線とを含む。
放熱用部材40は、Z方向で、第1SSDモジュール30Aと第2SSDモジュール30Bとの間に位置する。放熱用部材40は、複数のフィンを有したヒートシンクでもよいし、ヒートシンクに接続されたヒートパイプでもよいし、冷却水供給装置から冷却水が供給される水冷式の放熱装置でもよい。
第1熱伝導部材41Aは、第1SSDモジュール30Aの第1基板31Aと放熱用部材40との間に設けられ、第1SSDモジュール30Aの第1基板31Aの第2面S2と放熱用部材40とに接している。第2熱伝導部材41Bは、第2SSDモジュール30Bの第2基板31Bと放熱用部材40との間に設けられ、第2SSDモジュール30Bの第2基板31Bの第4面S4と放熱用部材40とに接している。
<5.コネクタ>
<5.1 端子群の配置および端子配列>
次に、コネクタ20について詳しく説明する。コネクタ20は、多段(例えば2段)差しのコネクタである。コネクタ20は、例えば、コネクタケース21と、第1スロット22Aと、第2スロット22Bとを有する。コネクタケース21は、絶縁性の樹脂部材などで形成されている。コネクタケース21は、コネクタ20の外郭を形成するとともに、図5を用いて後述する4つの端子群TG1,TG2,TG3,TG4に含まれる複数の端子51,52,53,54を支持している。
<5.1 端子群の配置および端子配列>
次に、コネクタ20について詳しく説明する。コネクタ20は、多段(例えば2段)差しのコネクタである。コネクタ20は、例えば、コネクタケース21と、第1スロット22Aと、第2スロット22Bとを有する。コネクタケース21は、絶縁性の樹脂部材などで形成されている。コネクタケース21は、コネクタ20の外郭を形成するとともに、図5を用いて後述する4つの端子群TG1,TG2,TG3,TG4に含まれる複数の端子51,52,53,54を支持している。
第1スロット22Aおよび第2スロット22Bは、コネクタケース21に設けられた差込口である。第1スロット22Aおよび第2スロット22Bの各々は、X方向に開口するとともに、Y方向に延びている。第1スロット22Aおよび第2スロット22Bの各々は、例えば、M.2規格に適合したスロットである。第1スロット22Aおよび第2スロット22Bは、Z方向で異なる高さに設けられ、Z方向で互いに離れている。本実施形態では、第2スロット22Bは、Z方向において、第1スロット22Aと、回路基板16との間に位置する。第1スロット22Aには、第1SSDモジュール30Aの端子部34が着脱可能に差し込まれる。第2スロット22Bには、第2SSDモジュール30Bの端子部34が着脱可能に差し込まれる。
図5は、図4中に示されたF5-F5線に沿う断面図である。第1スロット22Aは、第1端子群TG1と、第3端子群TG3とを有する。第1端子群TG1は、第1スロット22Aに挿入される第1SSDモジュール30Aの第1基板31Aの第2面S2側に位置する。第1端子群TG1は、Y方向に並ぶ複数の端子51を有する。複数の端子51は、第1SSDモジュール30Aの端子部34に対して第2面S2側から接し、端子部34に含まれる複数の端子35nと接続される。
第3端子群TG3は、第1スロット22Aに挿入される第1SSDモジュール30Aの第1基板31Aの第1面S1側に位置する。言い換えると、第1SSDモジュール30Aの第1基板31Aは、第1端子群TG1と第3端子群TG3との間に差し込まれる。第3端子群TG3は、Y方向に並ぶ複数の端子53を有する。複数の端子53は、第1SSDモジュール30Aの端子部34に対して第1面S1側から接し、端子部34に含まれる複数の端子35mと接続される。
第2スロット22Bは、第2端子群TG2と、第4端子群TG4とを有する。第2端子群TG2は、第2スロット22Bに挿入される第2SSDモジュール30Bの第2基板31Bの第4面S4側に位置する。第2端子群TG2は、Y方向に並ぶ複数の端子52を有する。複数の端子52は、第2SSDモジュール30Bの端子部34に対して第4面S4側から接し、端子部34に含まれる複数の端子35nと接続される。
第4端子群TG4は、第2スロット22Bに挿入される第2SSDモジュール30Bの第2基板31Bの第3面S3側に位置する。言い換えると、第2SSDモジュール30Bの第2基板31Bは、第2端子群TG2と第4端子群TG4との間に差し込まれる。第4端子群TG4は、Y方向に並ぶ複数の端子54を有する。複数の端子54は、第2SSDモジュール30Bの端子部34に対して第3面S3側から接し、端子部34に含まれる複数の端子35mと接続される。
本実施形態では、第2スロット22Bは、第1スロット22Aに対して、上下が逆になるように反転(回転)された端子配列(または信号配列)を有する。「反転(回転)」とは、例えば、第1SSDモジュール30Aが第1スロット22Aに差し込まれる方向と平行な仮想的な軸線Aを中心とする回転対称であることを意味する。「端子配列」とは、複数の端子に対して割り当てられる複数の配線の機能(電源やグラウンド、各種信号)の配列(すなわち並び順)を意味する。そして、第1端子群TG1と第2端子群TG2には、同じ信号が割り当てられている。さらに、第3端子群TG3と第4端子群TG4には、同じ信号が割り当てられている。
詳しく述べると、第1端子群TG1のY方向の端子配列の順と、第2端子群TG2のY方向の端子配列の順とは後述する一部の端子を除いて逆となるように、第1端子群TG1に含まれる複数の端子51および第2端子群TG2に含まれる複数の端子52が回路基板16の複数の配線(例えば図8に示す配線100、110、120)に接続されている。
図5に示す例では、第1端子群TG1の複数の端子51には、図5中の右側から端子番号(ピン番号)がP2、P4、P6、…、PM(Mは任意の偶数)のように割り当てられている。一方で、第2端子群TG2の複数の端子52には、図5中の左側から端子番号(ピン番号)がP2、P4、P6、…PMのように割り当てられている。そして、第1端子群TG1と第2端子群TG2において、同じ端子番号(同じピン番号)の端子には、同じ機能(例えば同じ信号)の配線が割り当てられている。ただし本実施形態では、例外的に、第2端子群TG2に含まれるいくつかの端子52に割り当てられる機能(例えば信号)が互いに入れ替えられている。この内容については、詳しく後述する。
また本実施形態では、第3端子群TG3のY方向の端子配列の順と、第4端子群TG4のY方向の端子配列の順とは逆となるように、第3端子群TG3に含まれる複数の端子53および第4端子群TG4に含まれる複数の端子54が回路基板16の複数の配線(例えば図8に示す配線100、110、120)に接続されている。
図5に示す例では、第3端子群TG3の複数の端子53には、図5中の右側から端子番号(ピン番号)がP1、P3、P5、…、PN(Nは任意の奇数)のように割り当てられている。一方で、第4端子群TG4の複数の端子54には、図5中の左側から端子番号(ピン番号)がP1、P3、P5、…、PNのように割り当てられている。そして、第3端子群TG3と第4端子群TG4において、同じ端子番号(同じピン番号)の端子には、同じ機能(例えば同じ信号)の配線が割り当てられている。
図6は、4つの端子群TG1,TG2,TG3,TG4の端子配列を示す図である。ここで、4つの端子群TG1,TG2,TG3,TG4は、それぞれY方向において、第1端部E1と、第1端部E1とは反対側に位置した第2端部E2とを有する。「端部」とは、例えば、第1端子群TG1において、Y方向における端から1つ(または2つ)の端子51が存在する領域を意味する。この定義は、第2から第4の端子群TG2,TG3,TG4についても同様である。
[第1端子群]
第1端子群TG1の複数の端子51は、例えば、複数の電源端子61A、アラート信号端子62A,バスデータ端子63A、バスクロック端子64A、第1PLP(Power Loss Protection)信号端子65A、第2PLP信号端子66A、および状態信号端子67Aを含む。
第1端子群TG1の複数の端子51は、例えば、複数の電源端子61A、アラート信号端子62A,バスデータ端子63A、バスクロック端子64A、第1PLP(Power Loss Protection)信号端子65A、第2PLP信号端子66A、および状態信号端子67Aを含む。
電源端子61Aは、第1SSDモジュール30Aに電源を供給する端子である。電源端子61Aは、少なくとも第1端子群TG1の第1端部E1と第2端部E2とに設けられている。
アラート信号端子62Aは、第1SSDモジュール30Aが予め設定された所定状態になった場合に、警告または所定の通知を示すアラート信号が転送される端子である。
バスデータ端子63Aは、第1SSDモジュール30Aと第2SSDモジュール30Bとのうち一方を特定可能なアドレス情報を伴う信号が転送される端子である。「アドレス情報」とは、信号の送信先を示すアドレス情報でもよく、信号の送信元を示すアドレス情報でもよい。例えば、バスデータ端子63Aには、第1SSDモジュール30Aまたは第2SSDモジュール30Bを宛先とする送信先のアドレス情報を伴う特定コマンドが転送される。特定コマンドは、SSDモジュール30に対するデータの書き込みまたは読み出しの要求とは異なるコマンドであり、例えば、SSDモジュール30の温度情報を要求するコマンドである。また、バスデータ端子63Aには、上記特定コマンドに対するレスポンスとして、送信元のSSDモジュール30のデータ信号(例えば、SSDモジュール30の温度情報を示す信号)が転送される。上記データ信号は、受領したコマンドに対する応答のデータを示す信号である。
バスクロック端子64Aは、バスデータ端子63Aに転送されるデータ信号の取り込みに用いられるクロック信号が転送される端子である。バスデータ端子63Aおよびバスクロック端子64Aは、例えばPCIe規格またはSATA規格におけるSMBus(System Management Bus)として用いられる端子である。
第1PLP信号端子65Aは、第1SSDモジュール30Aに対する電源供給が遮断される場合に、ホストコントローラ11から第1SSDモジュール30Aに出力される所定の信号(以下「第1PLP信号」と称する)が転送される端子である。第1PLP信号は、ホスト装置10から第1SSDモジュール30Aへの電源供給が遮断される場合に状態が変化する信号である。例えば、ホストコントローラ11は、第1SSDモジュール30Aに対する電源供給が遮断される場合に、第1PLP信号として、第1電圧(例えばHighレベルの電圧)に維持されていた電圧を第1電圧とは電圧レベルが異なる第2電圧(例えばLowレベルの電圧)に変化させる。第1SSDモジュール30Aは、第2電圧の第1PLP信号を検出した場合に、例えば第1揮発性メモリ37Aに一時的に格納されているデータを第1半導体メモリ33Aに書き込むデータ退避処理を行う。
第2PLP信号端子66Aは、第1SSDモジュール30Aのデータ退避処理が正常に終了した場合、第1SSDモジュール30Aからホストコントローラ11に出力される所定の信号(以下では「第2PLP信号」)が転送される端子である。第2PLP信号は、第1SSDモジュール30Aのデータ退避処理が正常に終了した場合に状態が変化する信号である。例えば、第1SSDモジュール30Aは、データ退避処理を開始する場合に、第1電圧(例えばHighレベルの電圧)に維持されていた電圧を第1電圧とは電圧レベルが異なる第2電圧(例えばLowレベルの電圧)に変化させる。そして、第1SSDモジュール30Aは、データ退避処理が正常に終了した場合に、第2PLP信号として、第2電圧に維持していた電圧を第1電圧に戻す。これにより、ホストコントローラ11は、データ退避処理が正常に終了したことを検出する。ホストコントローラ11は、データ退避処理が正常に終了したことを検出した場合、第1SSDモジュール30Aへの電源供給を遮断する。
状態信号端子67Aは、第1SSDモジュール30Aが動作中(例えば、データの書き込み、読み出し、または消去の動作中)である場合に、第1SSDモジュール30Aから出力される、第1SSDモジュール30Aが動作中であることを示す状態信号が転送される端子である。例えば、状態信号は、第1SSDモジュール30Aの動作が停止中の場合に、第1SSDモジュール30Aによって第1電圧(例えばHighレベルの電圧)に維持される。一方で、状態信号は、第1SSDモジュール30Aが動作中である場合に、第1SSDモジュール30Aによって第1電圧とは電圧レベルが異なる第2電圧(例えばLowレベルの電圧)に維持される。ホストコントローラ11は、状態信号端子67Aの電圧レベルが第2電圧に維持される場合、報知装置13のLED13aを点灯させることで、SSDモジュール30が動作中であることを外部に報知する。
[第2端子群]
第2端子群TG2は、第1端子群TG1と同様に、例えば、複数の電源端子61B、アラート信号端子62B、バスデータ端子63B、バスクロック端子64B、第1PLP信号端子65B、第2PLP信号端子66B、および状態信号端子67Bを含む。
第2端子群TG2は、第1端子群TG1と同様に、例えば、複数の電源端子61B、アラート信号端子62B、バスデータ端子63B、バスクロック端子64B、第1PLP信号端子65B、第2PLP信号端子66B、および状態信号端子67Bを含む。
電源端子61Bは、第2SSDモジュール30Bに電源を供給する端子である。電源端子61Bは、少なくとも第2端子群TG2の第1端部E1と第2端部E2とに設けられている。
アラート信号端子62Bは、第2SSDモジュール30Bが予め設定された所定状態になった場合に、警告または所定の通知を示すアラート信号が転送される端子である。本実施形態では、アラート信号端子62Bで転送されるアラート信号と、アラート信号端子62Aで転送されるアラート信号は、同じ仕様の信号である。アラート信号は、「所定の状態を通知する信号」の一例である。
バスデータ端子63Bは、第1SSDモジュール30Aと第2SSDモジュール30Bとのうち一方を特定可能なアドレス情報を伴う信号が転送される端子である。例えば、バスデータ端子63Bには、第1SSDモジュール30Aまたは第2SSDモジュール30Bを宛先とする送信先のアドレス情報を伴う特定コマンドが転送される。また、バスデータ端子63Bには、上記特定コマンドに対するレスポンスとして、送信元のSSDモジュール30のアドレス情報を伴うデータ信号が転送される。以下では、バスデータ端子63Aまたはバスデータ端子63Bを流れる信号を「バスデータ信号」と称する場合がある。
バスクロック端子64Bは、バスデータ端子63Bで転送されるデータ信号の取り込みに用いられるクロック信号が転送される端子である。バスデータ端子63Bおよびバスクロック端子64Bは、例えばPCIe規格またはSATA規格におけるSMBusとして用いられる端子である。本実施形態では、バスクロック端子64Bで転送されるクロック信号と、バスクロック端子64Aで転送されるクロック信号は、同じ仕様の信号である。
ここで本実施形態では、第1端子群TG1に含まれるアラート信号端子62A、バスデータ端子63A、およびバスクロック端子64AのY方向の並び順(図6中の1点鎖線R1参照)と、第2端子群TG2に含まれるアラート信号端子62B、バスデータ端子63B、およびバスクロック端子64BのY方向の並び順(図6中の1点鎖線R2参照)は、同じに設定されている。
コネクタ20の端子として、アラート信号端子62Aは「第1端子」の一例であり、バスクロック端子64Aは「第2端子」の一例であり、アラート信号端子62Bは「第3端子」の一例であり、バスクロック端子64Bは「第4端子」の一例である。アラート信号端子62Aで転送されるアラート信号およびアラート信号端子62Bで転送されるアラート信号の各々は、「第1信号」の一例である。バスクロック端子64Aで転送されるクロック信号およびバスクロック端子64Bで転送されるクロック信号の各々は、「第2信号」の一例である。バスデータ端子63Aで転送されるバスデータ信号およびバスデータ端子63Bで転送されるバスデータ信号の各々は、「第3信号」の一例である。
第1PLP信号端子65Bは、第2SSDモジュール30Bに対する電源供給が遮断される場合に、ホストコントローラ11から第2SSDモジュール30Bに出力される第1PLP信号が転送される端子である。本実施形態では、第1PLP信号端子65Bで転送される第1PLP信号と、第1PLP信号端子65Aで転送される第1PLP信号は、同じ仕様の信号である。第1PLP信号は、「所定の状態を通知する信号」の別の一例である。
第2PLP信号端子66Bは、第2SSDモジュール30Bのデータ退避処理が正常に終了した場合、第2SSDモジュール30Bからホストコントローラ11に出力される第2PLP信号が転送される端子である。本実施形態では、第2PLP信号端子66Bで転送される第2PLP信号と、第2PLP信号端子66Aで転送される第2PLP信号は、同じ仕様の信号である。第2PLP信号は、「所定の状態を通知する信号」の別の一例である。
状態信号端子67Bは、第2SSDモジュール30Bが動作中(例えば、データの書き込み、読み出し、または消去の動作中)である場合に、第2SSDモジュール30Bから出力される、第2SSDモジュール30Bが動作中であることを示す状態信号が転送される端子である。本実施形態では、状態信号端子67Bからホストコントローラ11に出力される状態信号と、状態信号端子67Aからホストコントローラ11に出力される状態信号は、同じ仕様の信号である。
[第3端子群]
第3端子群TG3は、複数のグラウンド端子71Aと、PEDET端子72Aと、第1から第4の送信端子81A~84Aと、第1から第4の受信端子85A~88Aとを含む。
第3端子群TG3は、複数のグラウンド端子71Aと、PEDET端子72Aと、第1から第4の送信端子81A~84Aと、第1から第4の受信端子85A~88Aとを含む。
グラウンド端子71Aは、第1SSDモジュール30Aの第1基板31Aのグラウンドに接続される端子である。グラウンド端子71Aは、少なくとも第3端子群TG3の第1端部E1と第2端部E2とに設けられている。
PEDET端子72Aは、ホストコントローラ11が、第1スロット22Aに接続されたSSDモジュール30の規格を判定するために用いられる識別用端子である。本実施形態では、PEDET端子72Aは、第1スロット22Aに挿入された第1SSDモジュール30Aが、当該第1SSDモジュール30Aの表裏の姿勢を判定するために用いられる識別用端子でもある。「表裏の姿勢を判定」とは、コネクタ20に対するSSDモジュール30の姿勢が、図4に示す第1SSDモジュール30Aのように表向きの姿勢であるか、または図4に示す第2SSDモジュール30Bのように裏向きの姿勢であるか、を判定することを意味する。PEDET端子72Aは、「第5端子」の一例である。PEDET端子72Aについては、詳しく後述する。
第1から第4の送信端子81A~84Aは、第1SSDモジュール30Aに書き込まれるライトデータがホスト装置10から第1SSDモジュール30Aに向けて転送される端子である。第1から第4の受信端子85A~88Aは、第1SSDモジュール30Aから読み出されたリードデータが第1SSDモジュール30Aからホスト装置10に向けて転送される端子である。第1から第4の送信端子81A~84Aおよび第1から第4の受信端子85A~88Aは、例えば、PCle規格のレーンに対応する端子である。
[第4端子群]
第4端子群TG4は、第3端子群TG3と同様に、複数のグラウンド端子71Bと、PEDET端子72Bと、第1から第4の送信端子81B~84Bと、第1から第4の受信端子85B~88Bとを含む。
第4端子群TG4は、第3端子群TG3と同様に、複数のグラウンド端子71Bと、PEDET端子72Bと、第1から第4の送信端子81B~84Bと、第1から第4の受信端子85B~88Bとを含む。
グラウンド端子71Bは、第2SSDモジュール30Bの第2基板31Bのグラウンドに接続される端子である。グラウンド端子71Bは、少なくとも第4端子群TG4の第1端部E1と第2端部E2とに設けられている。
PEDET端子72Bは、第2スロット22Bに挿入された第2SSDモジュール30Bが、当該第2SSDモジュール30Bの表裏の姿勢を判定するために用いられる識別用端子でもある。PEDET端子72Bは、前述の仮想的な軸線Aを中心とする、第2端子群TG2のPEDET端子72Aに対する回転対称の位置に配置されている。PEDET端子72Bは、「第6端子」の一例である。PEDET端子72Bについては、詳しく後述する。
第1から第4の送信端子81B~84Bは、第2SSDモジュール30Bに書き込まれるライトデータがホスト装置10から第2SSDモジュール30Bに向けて転送される端子である。第1から第4の受信端子85B~88Bは、第2SSDモジュール30Bから読み出されたリードデータが第2SSDモジュール30Bからホスト装置10に向けて転送される端子である。第1から第4の送信端子81B~84Bおよび第1から第4の受信端子85B~88Bは、例えば、PCle規格のレーンに対応する端子である。
<5.2 端子群と回路基板との接続関係>
図7は、回路基板16およびコネクタ20を示す断面図である。コネクタ20は、第1から第4の端子群TG1,TG2,TG3,TG4に含まれる複数の端子51,52,53,54をそれぞれ回路基板16に接続する複数の導電部90を有する。導電部90は、例えば、対応する各端子51,52,53,54と一体に形成されている。導電部90は、端子51,52,53,54から回路基板16に向けてコネクタケース21の内部を延びている。
図7は、回路基板16およびコネクタ20を示す断面図である。コネクタ20は、第1から第4の端子群TG1,TG2,TG3,TG4に含まれる複数の端子51,52,53,54をそれぞれ回路基板16に接続する複数の導電部90を有する。導電部90は、例えば、対応する各端子51,52,53,54と一体に形成されている。導電部90は、端子51,52,53,54から回路基板16に向けてコネクタケース21の内部を延びている。
本実施形態では、複数の導電部90は、第1端子群TG1に含まれる第1特定端子51Sと第2端子群TG2に含まれる第2特定端子52Sとに対応する導電部91を有する。導電部91は、第1特定端子51Sに接続された導電部91aと、第2特定端子52Sに接続された導電部91bとを含むとともに、回路基板16に接続されている。言い換えると、導電部91は、第1特定端子51Sと第2特定端子52Sに対して共通に設けられた導電部である。回路基板16には、第1特定端子51Sおよび第2特定端子52Sに対応する共通の配線100が設けられている。そして、導電部91は、共通の配線100を介してホストブリッジ14または電源回路15に接続されている。
本実施形態では、上記接続関係を持つ第1特定端子51Sと第2特定端子52Sの組の例として、第1端子群TG1の電源端子61Aと第2端子群TG2の電源端子61Bの組、第1端子群TG1のアラート信号端子62Aと第2端子群TG2のアラート信号端子62Bの組、第1端子群TG1のバスデータ端子63Aと第2端子群TG2のバスデータ端子63Bの組、第1端子群TG1のバスクロック端子64Aと第2端子群TG2のバスクロック端子64Bの組、第1端子群TG1の第1PLP信号端子65Aと第2端子群TG2の第1PLP信号端子65Bの組、第1端子群TG1の第2PLP信号端子66Aと第2端子群TG2の第2PLP信号端子66Bの組、および、第1端子群TG1の状態信号端子67Aと第2端子群TG2の状態信号端子67Bの組がある。
また上述した複数の導電部90は、第3端子群TG3に含まれる第3特定端子53Sに接続された第3導電部93と、第4端子群TG4に含まれる第4特定端子54Sに接続された第4導電部94とを含む。本実施形態では、第3導電部93と、第4導電部94は、互いに絶縁されて、回路基板16に対して別々に接続されている。回路基板16には、第3特定端子53Sに対する個別の配線110、及び第4特定端子54Sに対する個別の配線120が設けられている。そして、第3導電部93は、個別の配線110を介して、ホストブリッジ14に接続されている。第4導電部94は、個別の配線120を介して、ホストブリッジ14に接続されている。
本実施形態では、上記接続関係を持つ第3特定端子53Sと第4特定端子54Sの組の例として、第3端子群TG3の第1送信端子81Aと第4端子群TG4の第1送信端子81Bの組がある。この場合、第3端子群TG3の第1送信端子81Aに接続された第3導電部93と、第4端子群TG4の第1送信端子81Bに接続された第4導電部94とは、回路基板16に対して別々に接続されている。そして、第3導電部93および第4導電部94は、それぞれ個別の配線110,120を介して互いに独立してホストブリッジ14に接続されている。第3端子群TG3の第2から第4の送信端子82A~84Aおよび第1から第4の受信端子85A~88Aと、第4端子群TG4の第2から第4の送信端子82B~84Bおよび第1から第4の受信端子85B~88Bとについても同様である。また、第3特定端子53Sと第4特定端子54Sの組の別の例としては、第3端子群TG3のPEDET端子72Aと第4端子群TG4のPEDET端子72Bの組がある。
図8は、回路基板16およびコネクタ20を示す平面図である。本実施形態では、上述した配線100は、電力線101A、電力線101B、信号線102、信号線103、信号線104、信号線105、信号線106、および信号線107を含む。
第1端子群TG1の第1端部E1の電源端子61Aと第2端子群TG2の第2端部E2の電源端子61Bとに接続された導電部91は、電力線101Aを介して電源回路15に接続されている。第1端子群TG1の第2端部E2の電源端子61Aと第2端子群TG2の第1端部E1の電源端子61Bとに接続された導電部91は、電力線101Bを介して電源回路15に接続されている。
アラート信号端子62Aとアラート信号端子62Bとに接続された導電部91は、信号線102を介してホストブリッジ14に接続されている。バスデータ端子63Aとバスデータ端子63Bとに接続された導電部91は、信号線103を介してホストブリッジ14に接続されている。バスクロック端子64Aとバスクロック端子64Bとに接続された導電部91は、信号線104を介してホストブリッジ14に接続されている。
第1PLP信号端子65Aと第1PLP信号端子65Bとに接続された導電部91は、信号線105を介してホストブリッジ14に接続されている。第2PLP信号端子66Aと第2PLP信号端子66Bとに接続された導電部91は、信号線106を介してホストブリッジ14に接続されている。状態信号端子67Aと状態信号端子67Bとに接続された導電部91は、信号線107を介してホストブリッジ14に接続されている。
一方で、第3端子群TG3の送信端子81A~84A、第3端子群TG3の受信端子85A~88A、第4端子群TG4の送信端子81B~84B、および第4端子群TG4の受信端子85B~88Bは、コネクタ20の内部を互いに絶縁された状態で回路基板16まで引き出され、それぞれ回路基板16に設けられた配線(レーン)111~114,115~118,121~124,125~128と1対1で接続されている。配線111~118,121~128は、ホストブリッジ14に接続されている。また、PEDET端子72Aは、回路基板16に設けられた配線119を介して、ホストブリッジ14に接続されている。PEDET端子72Bは、回路基板16に設けられた配線129を介して、ホストブリッジ14に接続されている。
<5.3 第2端子群の端子配列>
図9は、第2端子群TG2の端子配列を説明するための図である。図9中の(a)は、比較例として、第1端子群TG1の端子配列と第2端子群TG2の端子配列とが完全な回転対称の関係で配置された例である。この構成では、アラート信号端子62Aとアラート信号端子62Bとを接続する導電部91と、バスデータ端子63Aとバスデータ端子63Bとを接続する導電部91と、バスクロック端子64Aとバスクロック端子64Bとを接続する導電部91とが互いに交差する関係にある。このため、例えば、第2端子群TG2を迂回するように一部の導電部91を配線する必要があり、上記3つの導電部91の全てを短く形成することが難しい。
図9は、第2端子群TG2の端子配列を説明するための図である。図9中の(a)は、比較例として、第1端子群TG1の端子配列と第2端子群TG2の端子配列とが完全な回転対称の関係で配置された例である。この構成では、アラート信号端子62Aとアラート信号端子62Bとを接続する導電部91と、バスデータ端子63Aとバスデータ端子63Bとを接続する導電部91と、バスクロック端子64Aとバスクロック端子64Bとを接続する導電部91とが互いに交差する関係にある。このため、例えば、第2端子群TG2を迂回するように一部の導電部91を配線する必要があり、上記3つの導電部91の全てを短く形成することが難しい。
そこで本実施形態では、図9中の(b)に示すように、第2端子群TG2の端子配列は、第1端子群TG1の端子配列の回転対称である端子配列に対して、バスクロック端子64Bとアラート信号端子62Bとの配置が入れ替えられている。この構成によれば、アラート信号端子62Aとアラート信号端子62Bとを接続する導電部91と、バスデータ端子63Aとバスデータ端子63Bとを接続する導電部91と、バスクロック端子64Aとバスクロック端子64Bとを接続する導電部91とが互いに交差する関係にない。このため、図9中の(a)に示す比較例の構成と比べて、上記3つの導電部91を短くすることができる。
<6.SSDモジュールの姿勢の検出と信号の入れ替え>
本実施形態では、上述したように、第1端子群TG1の端子配列と比較して、第2端子群TG2のバスクロック端子64Bとアラート信号端子62Bとの配置が入れ替えられている。このため、第2スロット22Bに差し込まれたSSDモジュール30は、当該SSDモジュール30が裏向きの姿勢でコネクタ20に接続されたことを検出し、本実施形態のバスクロック端子64Bおよびアラート信号端子62Bの配置に対応するように、SSDモジュール30の内部で一部の信号を入れ替える必要がある。以下、この内容について詳しく説明する。
本実施形態では、上述したように、第1端子群TG1の端子配列と比較して、第2端子群TG2のバスクロック端子64Bとアラート信号端子62Bとの配置が入れ替えられている。このため、第2スロット22Bに差し込まれたSSDモジュール30は、当該SSDモジュール30が裏向きの姿勢でコネクタ20に接続されたことを検出し、本実施形態のバスクロック端子64Bおよびアラート信号端子62Bの配置に対応するように、SSDモジュール30の内部で一部の信号を入れ替える必要がある。以下、この内容について詳しく説明する。
<6.1 SSDモジュールの姿勢の検出>
図10は、比較例のPEDET端子72の使用方法を説明するための図である。図10に示す使用方法では、ホスト装置10は、PEDET端子72とホストコントローラ11とを接続する信号線131を有する。信号線131には、プルアップ抵抗132を経由して、ホスト装置10の電源133から電圧が印加されている。
図10は、比較例のPEDET端子72の使用方法を説明するための図である。図10に示す使用方法では、ホスト装置10は、PEDET端子72とホストコントローラ11とを接続する信号線131を有する。信号線131には、プルアップ抵抗132を経由して、ホスト装置10の電源133から電圧が印加されている。
図10中の(a)は、第1規格(例えばPCIe規格)のSSDモジュール30がコネクタ20に接続された状態を示す。SSDモジュール30の端子35は、PEDET端子72に接続される端子35Dを含む。第1規格のSSDモジュール30では、端子35Dがオープン状態にされている。このため、第1規格のSSDモジュール30がコネクタ20に接続される場合、ホストコントローラ11には、PEDET端子72から第1電圧(例えばHighレベルの電圧)の信号が入力される。
一方で、図10中の(b)は、第1規格とは異なる第2規格(例えばSATA規格)のSSDモジュール30がコネクタ20に接続された状態を示す。第2規格のSSDモジュール30では、端子35DがSSDモジュール30のグラウンドに接続されている。このため、第2規格のSSDモジュール30がコネクタ20に接続される場合、ホストコントローラ11には、PEDET端子72から第2電圧(例えばLowレベルの電圧)の信号が入力される。このため、ホストコントローラ11は、PEDET端子72から入力される信号に基づき、コネクタ20に接続されたSSDモジュール30が、第1規格のSSDモジュール30であるか、第2規格のSSDモジュール30であるかを判定可能である。
図11は、本実施形態のPEDET端子72AおよびPEDET端子72Bの使用方法を説明するための図である。なお本実施形態では、ホストコントローラ11は、コネクタ20に接続されたSSDモジュール30が第1規格(例えばPCIe規格)のSSDモジュール30であるか否かを判定し、第1規格のSSDモジュール30でないと判定した場合はエラー状態を報知する例について説明する。
本実施形態では、ホスト装置10は、第1スロット22Aに関して、PEDET端子72Aとホストコントローラ11とを接続する信号線141を有する。信号線141には、プルアップ抵抗142を経由して、ホスト装置10内の電源143から電圧が印加される。一方で、ホスト装置10は、第2スロット22Bに関して、PEDET端子72Bとホスト装置10内のグラウンドとを接続する信号線144を有する。第1スロット22Aまたは第2スロット22Bに接続されるSSDモジュール30は、PEDET端子72AまたはPEDET端子72Bに接続される端子35Dと、SSDモジュール30のメモリコントローラ32とを接続する信号線151を有する。
SSDモジュール30が第1スロット22Aに接続される場合、ホストコントローラ11にはPEDET端子72Aから第1電圧(例えばHighレベルの電圧)の信号が入力される。ホストコントローラ11は、PEDED端子72Aから第1電圧の信号が入力される場合、第1スロット22Aに接続されたSSDモジュール30が第1規格のSSDモジュール30であると判定する。一方で、ホストコントローラ11は、PEDED端子72Aから第2電圧(例えばLowレベルの電圧)の信号が入力される場合、第1スロット22Aに接続されたSSDモジュール30が第1規格のSSDモジュール30ではないと判定する。
本実施形態では、SSDモジュール30が第1スロット22Aに接続される場合、SSDモジュール30のメモリコントローラ32には、PEDED端子72Aに接続される端子35Dから第1電圧の信号が入力される。メモリコントローラ32は、端子35Dから第1電圧の信号が入力される場合、SSDモジュール30が表向きの姿勢(例えば第1基板31Aの第1面S1を上方に向けた姿勢)であると判定する。
一方で、SSDモジュール30が第2スロット22Bに接続される場合、SSDモジュール30のメモリコントローラ32には、PEDED端子72Bに接続される端子35Dから第2電圧の信号が入力される。メモリコントローラ32は、端子35Dから第2電圧の信号が入力される場合、SSDモジュール30が裏向きの姿勢(例えば第2基板31Bの第3面S3を下方に向けた姿勢)であると判定する。PEDET端子72AまたはPEDET端子72Bと接続される端子35Dは、SSDモジュール30における「第3端子」の一例である。第1電圧の信号は、「第1レベルの信号」の一例である。第2電圧の信号は、「第2レベルの信号」の一例である。端子35Dから入力される信号が第1電圧の信号であることは、「第1条件を満たす」ことの一例である。端子35Dから入力される信号が第2電圧の信号であることは、「第2条件を満たす」ことの一例である。
<6.2 SSDモジュールの信号の入れ替え>
図12は、ストレージシステム1の機能構成の一部を示すブロック図である。本実施形態では、SSDモジュール30の複数の端子35は、上述した端子35Dに加え、端子35A、端子35B、および端子35Cを含む。端子35Aは、SSDモジュール30が第2スロット22Bに挿入される場合、第2スロット22Bのアラート信号端子62Bに接続される端子である。端子35Bは、第2SSDモジュール30Bが第2スロット22Bに挿入される場合、第2スロット22Bのバスデータ端子63Bに接続される端子である。端子35Cは、SSDモジュール30が第2スロット22Bに挿入される場合、第2スロット22Bのバスクロック端子64Bに接続される端子である。本実施形態では、SSDモジュール30の端子35として、端子35Aが「第1端子」の一例であり、端子35Bが「第4端子」の一例であり、端子35Cが「第2端子」の一例である。
図12は、ストレージシステム1の機能構成の一部を示すブロック図である。本実施形態では、SSDモジュール30の複数の端子35は、上述した端子35Dに加え、端子35A、端子35B、および端子35Cを含む。端子35Aは、SSDモジュール30が第2スロット22Bに挿入される場合、第2スロット22Bのアラート信号端子62Bに接続される端子である。端子35Bは、第2SSDモジュール30Bが第2スロット22Bに挿入される場合、第2スロット22Bのバスデータ端子63Bに接続される端子である。端子35Cは、SSDモジュール30が第2スロット22Bに挿入される場合、第2スロット22Bのバスクロック端子64Bに接続される端子である。本実施形態では、SSDモジュール30の端子35として、端子35Aが「第1端子」の一例であり、端子35Bが「第4端子」の一例であり、端子35Cが「第2端子」の一例である。
メモリコントローラ32は、ポート152A、ポート152B、ポート152C、およびポート152Dを有する。ポート152Aは、基板31の信号線151Aを介して端子35Aに接続されている。ポート152Bは、基板31の信号線151Bを介して端子35Bに接続されている。ポート152Cは、基板31の信号線151Cを介して端子35Cに接続されている。ポート152Dは、基板31の信号線151Dを介して端子35Dに接続されている。本実施形態では、ポート152Aが「第1ポート」の一例であり、ポート152Bが「第4ポート」の一例であり、ポート152Cが「第2ポート」の一例であり、ポート152Dが「第3ポート」の一例である。
本実施形態では、メモリコントローラ32は、例えば、判定部161と、ポート管理部162とを有する。判定部161は、コネクタ20に接続されたSSDモジュール30の姿勢に関する判定を行う。例えば、判定部161は、コネクタ20に対してSSDモジュール30が表向きの姿勢で接続されたか、裏向きの姿勢で接続されたかを区別するための判定を行う。別の観点で述べると、判定部161は、SSDモジュール30がコネクタ20の第1スロット22Aに接続されたか、第2スロット22Bに接続されたかを区別するための判定を行う。本実施形態では、判定部161は、上述したSSDモジュール30の姿勢に関する判定として、PEDET端子72Aに接続される端子35Dから入力される信号(以下「PEDET信号」と称する場合がある)が、第1電圧の信号であるか否かを判定する。
ポート管理部162は、メモリコントローラ32のポート152A,152B,152Cと、これらポート152A,152B,152Cに割り当てられる機能(信号)との対応関係を管理する。例えば、ポート管理部162は、ポート152A,152B,152Cに転送される信号と、ポート152A,152B,152Cに割り当てられる機能(信号)とが対応するように、必要に応じてポート152A,152B,152Cに割り当てられる機能(信号)を入れ替える。
判定部161およびポート管理部162は、メモリコントローラ32に含まれるCPUのようなハードウェアプロセッサによりプログラム(例えばファームウェア)実行されることで実現されるソフトウェア機能部である。ただし、判定部161およびポート管理部162の各々の全部または一部は、ASIC、PLD、またはFPGAなどのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアとの協働によって実現されてもよい。
図13は、信号の入れ替えに関するSSDモジュール30の処理を示すフローチャートである。判定部161は、SSDモジュール30がコネクタ20に接続された場合、PEDET端子72Aに接続された端子53Dから入力されるPEDET信号が、第1電圧の信号であるか否かを判定する(S101)。
判定部161によりPEDET信号が第1電圧の信号であると判定された場合(S101:YES)、ポート管理部162は、メモリコントローラ32のポート152A,152B,152Cと、これらポート152A,152B,152Cに割り当てられる機能(信号)との対応関係を基準設定から変更しない。メモリコントローラ32は、基準設定に基づき、各種の信号を送受信する(S102)。この場合、ポート管理部162は、ポート152Aをアラート信号用のポートとして使用し、ポート152Aからアラート信号を出力させる。また、ポート管理部162は、ポート152Bをバスデータ信号用のポートとして使用し、ポート152Bを介して特定コマンドまたはデータ信号を送受信する。また、ポート管理部162は、ポート152Cをクロック信号用のポートとして使用し、ポート152Cにクロック信号を入力させる。
一方で、判定部161によりPEDET信号が第1電圧の信号でないと判定された場合(S101:NO)、ポート管理部162は、メモリコントローラ32のポート152A,152B,152Cと、これらポート152A,152B,152Cに割り当てられる機能(信号)との対応関係を基準設定から変更する。メモリコントローラ32は、変更された設定に基づき、各種の信号を送受信する(S103)。この場合、ポート管理部162は、ポート152Aをクロック信号用のポートとして使用し、ポート152Aにクロック信号を入力させる。また、ポート管理部162は、ポート152Bをバスデータ信号用のポートとして使用し、ポート152Bを介して特定コマンドまたはデータ信号を送受信する。また、ポート管理部162は、ポート152Cをアラート信号用のポートとして使用し、ポート152Cからアラート信号を出力させる。
<6.3 SSDモジュールの規格の判定に関するホスト装置の処理>
本実施形態では、ホストコントローラ11は、第2スロット22BのPEDET端子72Bから入力される信号を受け取ることができない。そのため、ホストコントローラ11は、第1スロット22AのPEDET端子72Aから入力される信号(PEDET信号)に基づき、第1SSDモジュール30Aおよび第2SSDモジュール30Bの規格に関する判定を行う。
本実施形態では、ホストコントローラ11は、第2スロット22BのPEDET端子72Bから入力される信号を受け取ることができない。そのため、ホストコントローラ11は、第1スロット22AのPEDET端子72Aから入力される信号(PEDET信号)に基づき、第1SSDモジュール30Aおよび第2SSDモジュール30Bの規格に関する判定を行う。
図14は、SSDモジュール30の規格の判定に関するホスト装置10の処理を示すフローチャートである。本実施形態のホスト装置10は、第1SSDモジュール30Aおよび第2SSDモジュール30Bとして同じ規格のSSDモジュール30が使用されることを前提に、以下の判定を行う。
ホストコントローラ11は、第1スロット22AのPEDET端子72Aから入力されるPEDET信号が第1電圧の信号であるか否かを判定する(S201)。第1スロット22AのPEDET端子72Aから入力されるPEDET信号が第1電圧の信号である場合(S201:YES)、ホストコントローラ11は、第1SSDモジュール30Aおよび第2SSDモジュール30Bが第1規格(例えばPCIe規格)のSSDモジュール30であると判定する。この場合、ホストコントローラ11は、第1SSDモジュール30Aおよび第2SSDモジュール30Bが適切なSSDモジュール30であるとして各種の信号を送受信する(S202)。
一方で、第1スロット22AのPEDET端子72Aから入力されるPEDET信号が第1電圧の信号でない場合(S201:NO)、ホストコントローラ11は、第1SSDモジュール30Aおよび第2SSDモジュール30Bが第1規格のSSDモジュールでないと判定する。この場合、ホストコントローラ11は、第1SSDモジュール30Aおよび第2SSDモジュール30Bが適切なSSDモジュール30でないとして、表示装置などにエラーを報知させる(S203)。
<7.利点>
本実施形態では、コネクタ20において、同じ信号が転送される第1スロット22Aの第1端子群TG1と第2スロット22Bの第2端子群TG2とがZ方向で隣り合わせに配置される。このような構成によれば、第1端子群TG1に含まれる一部の端子と、第2端子群TG2に含まれる一部の端子に関して、コネクタ20と回路基板16の接続構造の簡略化や回路基板16に設けられる配線の一部の共通化を図ることができる。これにより、ストレージシステム1の小型化を図ることができる。
本実施形態では、コネクタ20において、同じ信号が転送される第1スロット22Aの第1端子群TG1と第2スロット22Bの第2端子群TG2とがZ方向で隣り合わせに配置される。このような構成によれば、第1端子群TG1に含まれる一部の端子と、第2端子群TG2に含まれる一部の端子に関して、コネクタ20と回路基板16の接続構造の簡略化や回路基板16に設けられる配線の一部の共通化を図ることができる。これにより、ストレージシステム1の小型化を図ることができる。
さらに本実施形態では、SSDモジュール30のメモリコントローラ32は、ポート152Aと、ポート152Cと、ポート152Dとを有する。メモリコントローラ32は、ポート152Dに入力される信号が第1条件を満たす場合に、ポート152Aを第1信号用のポートとして使用し、ポート152Cを第2信号用のポートとして使用する。メモリコントローラ32は、ポート152Dに入力される信号が第2条件を満たす場合に、ポート152Aを第2信号用のポートとして使用し、ポート152Cを第1信号用のポートとして使用する。このような構成によれば、コネクタ20において、第1スロット22Aの第1端子群TG1と第2スロット22Bの第2端子群TG2とをZ方向で隣り合わせに配置した場合に、第1端子群TG1に含まれる一部の端子と、第2端子群TG2に含まれる一部の端子とを接続する導電部91の配線長を短くすることができる。これにより、ストレージシステム1のさらなる小型化を図ることができる。
<8.変形例>
次に、第1実施形態の変形例について説明する。なお本変形例において以下に説明する以外の構成は、第1実施形態の構成と同じである。
次に、第1実施形態の変形例について説明する。なお本変形例において以下に説明する以外の構成は、第1実施形態の構成と同じである。
図15および図16は、第1実施形態の変形例のストレージシステム1Sの機能構成の一部を示すブロック図である。本変形例では、SSDモジュール30Sのメモリコントローラ32Sは、判定部161と、切替部171と、内部ノード181Aと、内部ノード181Bとを含む。
切替部171は、例えば、第1スイッチ素子171Aと、第2スイッチ素子171Bとを含む。第1スイッチ素子171Aおよび第2スイッチ素子171Bの各々は、メモリコントローラ32Sの内部に設けられたハードウェアである。第1スイッチ素子171Aおよび第2スイッチ素子171Bの各々は、例えばマルチプレクサやトランジスタである。第1スイッチ素子171Aおよび第2スイッチ素子171Bの各々は、判定部161からの制御信号に基づき、各スイッチ素子の接続関係を切り替える。内部ノード181Aは、アラート信号用のノードである。内部ノード181Bは、クロック信号用のノードである。
図15は、SSDモジュール30が第1スロット22Aに差し込まれた場合を示す。この場合、第1スイッチ素子171Aは、判定部161からの制御信号に基づき、ポート152Aと内部ノード181Aとを接続する。また、第2スイッチ素子171Bは、判定部161からの制御信号に基づき、ポート152Cと内部ノード181Bとを接続する。これにより、ポート152Aがアラート信号用のポートとして使用され、ポート152Cがクロック信号用のポートとして使用される。
図16は、SSDモジュール30が第2スロット22Bに差し込まれた場合を示す。この場合、第1スイッチ素子171Aは、判定部161からの制御信号に基づき、ポート152Aと内部ノード181Bとを接続する。また、第2スイッチ素子171Bは、判定部161からの制御信号に基づき、ポート152Cと内部ノード181Aとを接続する。これにより、ポート152Aがクロック信号用のポートとして使用され、ポート152Cがアラート信号用のポートとして使用される。
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態では、第2端子群TG2のアラート信号端子62Bとバスクロック端子64Bとに代えて、第2端子群TG2の第1PLP信号端子65Bと第2PLP信号端子66Bとが入れ替えられた点で、第1実施形態とは異なる。なお以下に説明する以外の構成は、第1実施形態と同様である。
次に、第2実施形態について説明する。第2実施形態では、第2端子群TG2のアラート信号端子62Bとバスクロック端子64Bとに代えて、第2端子群TG2の第1PLP信号端子65Bと第2PLP信号端子66Bとが入れ替えられた点で、第1実施形態とは異なる。なお以下に説明する以外の構成は、第1実施形態と同様である。
図17は、第2実施形態のコネクタ20Tの4つの端子群TG1,TG2,TG3,TG4の端子配列を示す図である。本実施形態では、第1端子群TG1に含まれる第1PLP信号端子65A、状態信号端子67A、および第2PLP信号端子66AのY方向の並び順(図17中の1点鎖線R11,R12参照)と、第2端子群TG2に含まれる第1PLP信号端子65B、状態信号端子67B、および第2PLP信号端子66BのY方向の並び順(図17中の1点鎖線R21,R22参照)は、同じに設定されている。
本実施形態では、コネクタ20Tの端子として、第1PLP信号端子65Bは「第1端子」の一例であり、第2PLP信号端子66Bは「第2端子」の一例であり、状態信号端子67Bは「第4端子」の一例であり、PEDET端子72Aは「第3端子」の一例である。第1PLP信号端子65Aで転送される第1PLP信号および第1PLP信号端子65Bで転送される第1PLP信号の各々は、「第1信号」の一例である。第2PLP信号端子66Aで転送される第2PLP信号および第2PLP信号端子66Bで転送される第2PLP信号の各々は、「第2信号」の一例である。状態信号端子67Aで転送される状態通知信号および状態信号端子67Bで転送される状態通知信号の各々は、「第3信号」の一例である。
図18は、第2端子群TG2の端子配列を説明するための図である。図18中の(a)は、比較例として、第1端子群TG1の端子配列と第2端子群TG2の端子配列とが完全な回転対称の関係で配置された例である。この構成では、第1PLP信号端子65Aと第1PLP信号端子65Bとを接続する導電部91と、状態信号端子67Aと状態信号端子67Bとを接続する導電部91と、第2PLP信号端子66Aと第2PLP信号端子66Bとを接続する導電部91とが互いに交差する関係にある。このため、例えば、第2端子群TG2を迂回するように一部の導電部91を配線する必要があり、上記3つの導電部91の全てを短く形成することが難しい。
そこで本実施形態では、図17中の(b)に示すように、第2端子群TG2の端子配列は、第1端子群TG1の端子配列の回転対称である端子配列に対して、第1PLP信号端子65Bと第2PLP信号端子66Bとの配置が入れ替えられている。この構成によれば、第1PLP信号端子65Aと第1PLP信号端子65Bとを接続する導電部91と、状態信号端子67Aと状態信号端子67Bとを接続する導電部91と、第2PLP信号端子66Aと第2PLP信号端子66Bとを接続する導電部91とが互いに交差する関係にない。このため、図18中の(a)に示す比較例の構成と比べて、上記3つの導電部91を短くすることができる。
本実施形態に関するその他の説明は、第1実施形態の説明と同様である。すなわち本実施形態では、メモリコントローラ32は、第1実施形態と同様に、メモリコントローラ32のポートに割り当てられる機能(信号)を入れ替えることで、第1PLP信号端子65Bと第2PLP信号端子66Bとが入れ替えられたコネクタ20Tに接続可能になる。このような構成でも、第1実施形態と同様の効果を得ることができる。
(第3実施形態)
次に、第3実施形態について説明する。第3実施形態は、ホスト装置10が2種類の規格(例えばPCIe規格およびSATA規格)に対応可能である点で、第1実施形態とは異なる。なお以下に説明する以外の構成は、第1実施形態と同様である。
次に、第3実施形態について説明する。第3実施形態は、ホスト装置10が2種類の規格(例えばPCIe規格およびSATA規格)に対応可能である点で、第1実施形態とは異なる。なお以下に説明する以外の構成は、第1実施形態と同様である。
図19は、第3実施形態のストレージデバイス1UのPEDET端子72Aの使用方法を説明するための図である。本実施形態では、第2規格(例えばSATA規格)のSSDモジュール30は、信号線191と、スイッチ素子192と、制御線193とを含む。信号線191は、PEDET端子72Aに接続される端子35Dと、メモリコントローラ32とを接続する。スイッチ素子192は、信号線191をグラウンドに接続可能である。スイッチ素子192は、制御線193を介してメモリコントローラ32に接続されている。スイッチ素子192は、メモリコントローラ32から制御線193を介して入力される制御信号に基づき、開閉動作する。スイッチ素子192は、例えばトランジスタで構成されればよい。
本実施形態では、第2規格のSSDモジュール30のメモリコントローラ32は、予め設定された所定期間において、スイッチ素子192をON状態にすることで、信号線191をグラウンドに接続させる。そして、ホストコントローラ11は、上記所定期間において、PEDET端子72Aから入力される信号が第1電圧(例えばHighレベル)の信号であるか、第2電圧(例えばLowレベル)の信号であるかを判定する。なお「所定期間」としては、例えば、SSDモジュール30の電源投入直後の一定期間が設定されてもよいし、電源投入とは異なるタイミングでの一定期間が設定されてもよい。
図20は、第3実施形態のSSDモジュール30を備えるストレージシステム1の処理を示すフローチャートである。ここでは、第2規格のSSDモジュール30がコネクタ20に接続される場合を例に説明する。
第2規格のSSDモジュール30のメモリコントローラ32は、予め設定された所定期間において、スイッチ素子192をON状態にすることで、信号線191をグラウンドに接続させる(S301)。これにより、ホストコントローラ11には、PEDET端子72Aから第2電圧の信号が入力される。
ホストコントローラ11は、上記所定期間において、PEDET端子72Aから入力される信号が第1電圧の信号であるか第2電圧の信号であるかを判定する(S302)。上記所定期間にPEDET端子72Aから第2電圧の信号が入力される場合(S302:第2電圧)、ホストコントローラ11は、コネクタ20に接続されたSSDモジュール30(例えば第1スロット22Aに接続された第1SSDモジュール30A)が第2規格(例えばSATA規格)のSSDモジュール30であると判定する(S303)。この場合、ホストコントローラ11は、第2規格に準拠した信号をSSDモジュール30との間で送受信する(S304)。なお本実施形態においても、ホストコントローラ11は、第1SSDモジュール30Aおよび第2SSDモジュール30Bとして同じ規格のSSDモジュール30が使用されることを前提とし、第1スロット22Aに接続された第1SSDモジュール30Aが第2規格のSSDモジュール30であると判定する場合、第2スロット22Bに接続された第2SSDモジュール30Bについても第2規格のSSDモジュール30であると判定する。
一方で本実施形態においても、第1規格(例えばPCIe規格)のSSDモジュール30(すなわち、図10中の(a)又は図11を参照して説明したSSDモジュール30)がコネクタ20に接続された場合は、ホストコントローラ11には、上記所定期間において、PEDET端子72Aから第1電圧(例えばHighレベル)の信号が入力される。上記所定期間にPEDET端子72Aから第1電圧の信号が入力される場合(S302:第1電圧)、ホストコントローラ11は、コネクタ20に接続されたSSDモジュール30が第1規格(例えばPCIe規格)のSSDモジュール30であると判定する(S305)。この場合、ホストコントローラ11は、第1規格に準拠した信号をSSDモジュール30との間で送受信する(S306)。上述したように、ホストコントローラ11は、第1SSDモジュール30Aおよび第2SSDモジュール30Bとして同じ規格のSSDモジュール30が使用されることを前提とし、第1スロット22Aに接続された第1SSDモジュール30Aが第1規格のSSDモジュール30であると判定する場合、第2スロット22Bに接続された第2SSDモジュール30Bについても第1規格のSSDモジュール30であると判定する。
このような構成によれば、複数の規格(例えばPCIe規格およびSATA規格)に対応するストレージシステム1Uを提供することができる。
(第4実施形態)
次に、第4実施形態について説明する。第4実施形態は、PEDET端子72Aからの信号に代えて、ホスト装置10から受信するコマンドに基づいてSSDモジュール30の実装姿勢が検出される点で、第1実施形態とは異なる。なお以下に説明する以外の構成は、第1実施形態と同様である。
次に、第4実施形態について説明する。第4実施形態は、PEDET端子72Aからの信号に代えて、ホスト装置10から受信するコマンドに基づいてSSDモジュール30の実装姿勢が検出される点で、第1実施形態とは異なる。なお以下に説明する以外の構成は、第1実施形態と同様である。
図21は、第4実施形態のSSDモジュール30を備えるストレージシステム1の処理を示すフローチャートである。本実施形態では、PEDET端子72Aは、図10に示す比較例のPEDET端子72と同様の態様で使用される。すなわち本実施形態では、PEDET信号は、メモリコントローラ32には入力されない。本実施形態のホスト装置10は、第1SSDモジュール30Aおよび第2SSDモジュール30Bとして同じ規格のSSDモジュール30が使用されることを前提に、以下の判定を行う。
ホストコントローラ11は、第1スロット22AのPEDET端子72Aからホストコントローラ11に入力されるPEDET信号に基づき、第1スロット22Aに接続されたSSDモジュール30が第1規格(例えばPCIe規格)のSSDモジュール30であるか、第2規格(例えばSATA規格)のSSDモジュール30であるか、を判定する(S301)。すなわち、ホストコントローラ11は、第1スロット22Aに接続されたSSDモジュール30(第1SSDモジュール30A)に関するPEDET信号が、第1電圧(例えばHighレベル)であるか否かを判定する。
ホストコントローラ11は、第1スロット22AのPEDET端子72Aから入力されるPEDET信号が第1電圧(例えばHighレベル)の信号である場合(S401:YES)、第1SSDモジュール30Aおよび第2SSDモジュール30Bが第1規格(例えばPCIe規格)のSSDモジュール30であると判定する(S402)。この場合、ホストコントローラ11は、第2スロット22Bに接続されたSSDモジュール30に対して、メモリコントローラ32のポート152A,152Cと信号との対応関係を入れ替えさせるためのコマンドを送信する(S403)。このコマンドは、例えば、SMBusに含まれるバスデータ端子63Aを利用した信号ではなく、第1から第4の送信端子81A~84Aのうち1つ以上を利用したPCIeまたはSATAの高速信号を用いて送信される。
第2スロット22Bに接続されたSSDモジュール30のメモリコントローラ32は、ホストコントローラ11から受信するコマンドに基づき、ポート152A,152Cと信号の対応関係を入れ替える。その後、ホストコントローラ11は、第1SSDモジュール30Aおよび第2SSDモジュール30Bが第1規格のSSDモジュール30であるとして各種の信号を送受信する(S404)。
一方で、ホストコントローラ11は、第1スロット22AのPEDET端子72Aから入力されるPEDET信号が第2電圧(例えばLowレベル)の信号である場合(S401:NO)、第1SSDモジュール30Aおよび第2SSDモジュール30Bが第2規格(例えばSATA格)のSSDモジュール30であると判定する(S405)。この場合、ホストコントローラ11は、第2スロット22Bに接続されたSSDモジュール30に対して、メモリコントローラ32のポート152A,152Cと信号との対応関係を入れ替えさせるためのコマンドを送信する(S406)。
第2スロット22Bに接続されたSSDモジュール30のメモリコントローラ32は、ホストコントローラ11から受信するコマンドに基づき、ポート152A,152Cと信号の対応関係を入れ替える。その後、ホストコントローラ11は、第1SSDモジュール30Aおよび第2SSDモジュール30Bが第2規格のSSDモジュール30であるとして各種の信号を送受信する(S407)。
このような構成によっても、第1実施形態と同様に、ストレージシステム1の小型化を図ることができる。
以上、いくつかの実施形態および変形例について説明したが、実施形態および変形例は、上記例に限定されない。例えば、2つ以上の実施形態または変形例は、互いに組み合わされて実現可能である。例えば、第1実施形態と第3実施形態とが組み合わされることで、アラート信号端子62Bとバスクロック端子64Bとが入れ替えられるとともに、第1PLP信号端子65Bと第2PLP信号端子66Bとが入れ替えられてもよい。
以上説明した少なくともひとつの実施形態によれば、メモリシステムのメモリコントローラは、第1ポートと、第2ポートと、第3ポートとを有する。メモリコントローラは、第3ポートに入力される信号、または外部から受信されるコマンドが第1条件を満たす場合に、第1ポートを第1信号用のポートとして使用し、且つ第2ポートを第2信号用のポートとして使用する。メモリコントローラは、第3ポートに入力される信号、または外部から受信されるコマンドが第2条件を満たす場合に、第1ポートを第2信号用のポートとして使用し、且つ第2ポートを第1信号用のポートとして使用する。このような構成によれば、ストレージシステムの小型化を図ることができる。
<付記>
以下、いくつかのメモリシステム、メモリシステムの制御方法、およびホストシステムを付記する。
以下、いくつかのメモリシステム、メモリシステムの制御方法、およびホストシステムを付記する。
[1]外部のコネクタに接続可能な端子部を有した基板と、
前記基板に実装されたメモリコントローラと、
前記基板に実装され、前記メモリコントローラと接続された半導体メモリと、
を備え、
前記端子部は、第1端子と、第2端子と、第3端子とを含み、
前記メモリコントローラは、
前記第1端子と接続された第1ポートと、前記第2端子と接続された第2ポートと、前記第3端子と接続された第3ポートとを有し、
前記第3ポートに入力される信号、または前記外部から受信されるコマンドが第1条件を満たす場合に、前記第1ポートを第1信号用のポートとして使用し、且つ前記第2ポートを第2信号用のポートとして使用し、
前記第3ポートに入力される前記信号、または前記外部から受信される前記コマンドが前記第1条件とは異なる第2条件を満たす場合に、前記第1ポートを前記第2信号用のポートとして使用し、且つ前記第2ポートを前記第1信号用のポートとして使用する、
メモリシステム。
前記基板に実装されたメモリコントローラと、
前記基板に実装され、前記メモリコントローラと接続された半導体メモリと、
を備え、
前記端子部は、第1端子と、第2端子と、第3端子とを含み、
前記メモリコントローラは、
前記第1端子と接続された第1ポートと、前記第2端子と接続された第2ポートと、前記第3端子と接続された第3ポートとを有し、
前記第3ポートに入力される信号、または前記外部から受信されるコマンドが第1条件を満たす場合に、前記第1ポートを第1信号用のポートとして使用し、且つ前記第2ポートを第2信号用のポートとして使用し、
前記第3ポートに入力される前記信号、または前記外部から受信される前記コマンドが前記第1条件とは異なる第2条件を満たす場合に、前記第1ポートを前記第2信号用のポートとして使用し、且つ前記第2ポートを前記第1信号用のポートとして使用する、
メモリシステム。
[2]、[1]に記載のメモリシステムにおいて、
前記端子部は、前記第1端子と前記第2端子との間に配置された第4端子を有し、
前記メモリコントローラは、前記第4端子に接続された第4ポートを有し、前記第1所定条件が満たされる場合と、前記第2条件が満たされる場合との両方で、前記第4ポートを前記第1信号および前記第2信号とは異なる第3信号用のポートとして使用する。
前記端子部は、前記第1端子と前記第2端子との間に配置された第4端子を有し、
前記メモリコントローラは、前記第4端子に接続された第4ポートを有し、前記第1所定条件が満たされる場合と、前記第2条件が満たされる場合との両方で、前記第4ポートを前記第1信号および前記第2信号とは異なる第3信号用のポートとして使用する。
[3]、[1]または[2]に記載のメモリシステムにおいて、
前記第1信号は、クロック信号、または所定の状態を通知する信号である。
前記第1信号は、クロック信号、または所定の状態を通知する信号である。
[4]、[1]または[2]に記載のメモリシステムにおいて、
前記第1信号は、前記メモリシステムへの電源供給が遮断される場合に状態が変化する信号、または前記メモリシステムのデータ退避処理が正常に終了した場合に状態が変化する信号である、
前記第1信号は、前記メモリシステムへの電源供給が遮断される場合に状態が変化する信号、または前記メモリシステムのデータ退避処理が正常に終了した場合に状態が変化する信号である、
[5]、[1]から[4]のうちいずれか1つに記載のメモリシステムにおいて、
前記第1端子、前記第2端子、および前記第3端子は、PCIe規格に準拠した端子である。
前記第1端子、前記第2端子、および前記第3端子は、PCIe規格に準拠した端子である。
[6]メモリシステムの制御方法であって、
前記メモリシステムは、第1ポートと、第2ポートと、第3ポートとを含むメモリコントローラを有し、
前記制御方法は、
前記第3ポートに入力される信号、または外部から受信されるコマンドが第1条件を満たす場合に、前記第1ポートを第1信号用のポートとして使用し、且つ前記第2ポートを前記第1信号とは異なる第2信号用のポートとして使用し、
前記第3ポートに入力される前記信号、または前記外部から受信される前記コマンドが前記第1条件とは異なる第2条件を満たす場合に、前記第1ポートを前記第2信号用のポートとして使用し、且つ前記第2ポートを前記第1信号用のポートとして使用する、
ことを含む、メモリシステムの制御方法。
前記メモリシステムは、第1ポートと、第2ポートと、第3ポートとを含むメモリコントローラを有し、
前記制御方法は、
前記第3ポートに入力される信号、または外部から受信されるコマンドが第1条件を満たす場合に、前記第1ポートを第1信号用のポートとして使用し、且つ前記第2ポートを前記第1信号とは異なる第2信号用のポートとして使用し、
前記第3ポートに入力される前記信号、または前記外部から受信される前記コマンドが前記第1条件とは異なる第2条件を満たす場合に、前記第1ポートを前記第2信号用のポートとして使用し、且つ前記第2ポートを前記第1信号用のポートとして使用する、
ことを含む、メモリシステムの制御方法。
[7]第1方向に複数の端子が並ぶ第1端子群を有した第1スロットと、前記第1方向とは交差する第2方向で前記第1スロットから離れ、前記第1方向に複数の端子が並ぶ第2端子群を有した第2スロットとを含むコネクタと、
複数の配線を有し、前記コネクタが実装される基板と、
を備え、
前記第1端子群の前記第1方向の端子配列の順と前記第2端子群の前記第1方向の端子配列の順とが一部を除いて逆となるように、前記第1端子群に含まれる前記複数の端子および前記第2端子群に含まれる前記複数の端子が前記複数の配線に接続されており、
前記第1端子群は、第1信号用の第1端子と、前記第1信号とは異なる第2信号用の第2端子とを含み、
前記第2端子群は、前記第1信号用の第3端子と、前記第2信号用の第4端子とを含み、
前記第1方向における前記第1端子と前記第2端子との並び順と、前記第1方向における前記第3端子と前記第4端子との並び順が同じである、
ホストシステム。
複数の配線を有し、前記コネクタが実装される基板と、
を備え、
前記第1端子群の前記第1方向の端子配列の順と前記第2端子群の前記第1方向の端子配列の順とが一部を除いて逆となるように、前記第1端子群に含まれる前記複数の端子および前記第2端子群に含まれる前記複数の端子が前記複数の配線に接続されており、
前記第1端子群は、第1信号用の第1端子と、前記第1信号とは異なる第2信号用の第2端子とを含み、
前記第2端子群は、前記第1信号用の第3端子と、前記第2信号用の第4端子とを含み、
前記第1方向における前記第1端子と前記第2端子との並び順と、前記第1方向における前記第3端子と前記第4端子との並び順が同じである、
ホストシステム。
[8]、[7]に記載のホストシステムにおいて、
前記第1端子と前記第3端子は、前記基板において共通の第1信号線に接続されており、
前記第2端子と前記第4端子は、前記基板において共通の第2信号線に接続されている。
前記第1端子と前記第3端子は、前記基板において共通の第1信号線に接続されており、
前記第2端子と前記第4端子は、前記基板において共通の第2信号線に接続されている。
[9]、[7]または[8]に記載のホストシステムにおいて、
前記第1スロットは、第5端子を含み、
前記第2スロットは、前記第1スロットに対する第1メモリシステムの差し込み方向と平行な軸線を中心とする、前記第5端子に対する回転対称の位置に第6端子を有し、
前記コネクタは、前記第5端子から第1レベルの信号を出力し、且つ前記第6端子から前記第1レベルとは異なる第2レベルの信号を出力可能である。
前記第1スロットは、第5端子を含み、
前記第2スロットは、前記第1スロットに対する第1メモリシステムの差し込み方向と平行な軸線を中心とする、前記第5端子に対する回転対称の位置に第6端子を有し、
前記コネクタは、前記第5端子から第1レベルの信号を出力し、且つ前記第6端子から前記第1レベルとは異なる第2レベルの信号を出力可能である。
[10]、[9]に記載のホストシステムにおいて、
前記第1スロットに差し込まれる前記第1メモリシステムおよび前記第2スロットに差し込まれる第2メモリシステムを制御可能なホストコントローラを備え、
前記ホストコントローラは、前記第5端子から前記ホストコントローラに入力される信号に基づき、前記第1スロットに差し込まれる前記第1メモリシステムの規格を判定する。
前記第1スロットに差し込まれる前記第1メモリシステムおよび前記第2スロットに差し込まれる第2メモリシステムを制御可能なホストコントローラを備え、
前記ホストコントローラは、前記第5端子から前記ホストコントローラに入力される信号に基づき、前記第1スロットに差し込まれる前記第1メモリシステムの規格を判定する。
[11]、[10]に記載のホストシステムにおいて、
前記ホストコントローラは、前記第5端子から前記ホストコントローラに入力される信号に基づき、前記第2スロットに差し込まれる前記第2メモリシステムの規格をさらに判定する。
前記ホストコントローラは、前記第5端子から前記ホストコントローラに入力される信号に基づき、前記第2スロットに差し込まれる前記第2メモリシステムの規格をさらに判定する。
[12]、[7]または[8]に記載のホストシステムにおいて、
ホストコントローラをさらに備え、
前記ホストコントローラは、前記第2スロットに差し込まれるメモリシステムに対して、前記メモリシステムに含まれるメモリコントローラの第1ポートの機能と第2ポートの機能とを入れ替えさせるためのコマンドを送信する。
ホストコントローラをさらに備え、
前記ホストコントローラは、前記第2スロットに差し込まれるメモリシステムに対して、前記メモリシステムに含まれるメモリコントローラの第1ポートの機能と第2ポートの機能とを入れ替えさせるためのコマンドを送信する。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…ストレージシステム、10…ホスト装置(ホストシステム)、20…コネクタ、22A…第1スロット、22B…第2スロット、TG1…第1端子群、TG2…第2端子群、TG3…第3端子群、TG4…第4端子群、30…SSDモジュール(メモリシステム)、30A…第1SSDモジュール(第1メモリシステム)、30B…第2SSDモジュール(第2メモリシステム)、31…基板、32…メモリコントローラ、33…半導体メモリ、34…端子部、152A…ポート(第1ポート)、152B…ポート(第4ポート)、152C…ポート(第2ポート)、152D…ポート(第3ポート)。
Claims (6)
- 外部のコネクタに接続可能な端子部を有した基板と、
前記基板に実装されたメモリコントローラと、
前記基板に実装され、前記メモリコントローラと接続された半導体メモリと、
を備え、
前記端子部は、第1端子と、第2端子と、第3端子とを含み、
前記メモリコントローラは、
前記第1端子と接続された第1ポートと、前記第2端子と接続された第2ポートと、前記第3端子と接続された第3ポートとを有し、
前記第3ポートに入力される信号、または前記外部から受信されるコマンドが第1条件を満たす場合に、前記第1ポートを第1信号用のポートとして使用し、且つ前記第2ポートを前記第1信号とは異なる第2信号用のポートとして使用し、
前記第3ポートに入力される前記信号、または前記外部から受信される前記コマンドが前記第1条件とは異なる第2条件を満たす場合に、前記第1ポートを前記第2信号用のポートとして使用し、且つ前記第2ポートを前記第1信号用のポートとして使用する、
メモリシステム。 - 前記端子部は、前記第1端子と前記第2端子との間に配置された第4端子を有し、
前記メモリコントローラは、前記第4端子に接続された第4ポートを有し、前記第1条件が満たされる場合と、前記第2条件が満たされる場合との両方で、前記第4ポートを前記第1信号および前記第2信号とは異なる第3信号用のポートとして使用する、
請求項1に記載のメモリシステム。 - 前記第1信号は、クロック信号、または所定の状態を通知する信号である、
請求項1または請求項2に記載のメモリシステム。 - 前記第1信号は、前記メモリシステムへの電源供給が遮断される場合に状態が変化する信号、または前記メモリシステムのデータ退避処理が正常に終了した場合に状態が変化する信号である、
請求項1または請求項2に記載のメモリシステム。 - メモリシステムの制御方法であって、
前記メモリシステムは、第1ポートと、第2ポートと、第3ポートとを含むメモリコントローラを有し、
前記制御方法は、
前記第3ポートに入力される信号、または外部から受信されるコマンドが第1条件を満たす場合に、前記第1ポートを第1信号用のポートとして使用し、且つ前記第2ポートを前記第1信号とは異なる第2信号用のポートとして使用し、
前記第3ポートに入力される前記信号、または前記外部から受信される前記コマンドが前記第1条件とは異なる第2条件を満たす場合に、前記第1ポートを前記第2信号用のポートとして使用し、且つ前記第2ポートを前記第1信号用のポートとして使用する、
ことを含む、メモリシステムの制御方法。 - 第1方向に複数の端子が並ぶ第1端子群を有した第1スロットと、前記第1方向とは交差する第2方向で前記第1スロットから離れ、前記第1方向に複数の端子が並ぶ第2端子群を有した第2スロットとを含むコネクタと、
複数の配線を有し、前記コネクタが実装される基板と、
を備え、
前記第1端子群の前記第1方向の端子配列の順と前記第2端子群の前記第1方向の端子配列の順とが一部を除いて逆となるように、前記第1端子群に含まれる前記複数の端子および前記第2端子群に含まれる前記複数の端子が前記複数の配線に接続されており、
前記第1端子群は、第1信号用の第1端子と、前記第1信号とは異なる第2信号用の第2端子とを含み、
前記第2端子群は、前記第1信号用の第3端子と、前記第2信号用の第4端子とを含み、
前記第1方向における前記第1端子と前記第2端子との並び順と、前記第1方向における前記第3端子と前記第4端子との並び順が同じである、
ホストシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022045462A JP2023139763A (ja) | 2022-03-22 | 2022-03-22 | メモリシステム、メモリシステムの制御方法、およびホストシステム |
US17/841,390 US11914544B2 (en) | 2022-03-22 | 2022-06-15 | Memory system, method of controlling memory system, and host system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022045462A JP2023139763A (ja) | 2022-03-22 | 2022-03-22 | メモリシステム、メモリシステムの制御方法、およびホストシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023139763A true JP2023139763A (ja) | 2023-10-04 |
Family
ID=88095831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022045462A Pending JP2023139763A (ja) | 2022-03-22 | 2022-03-22 | メモリシステム、メモリシステムの制御方法、およびホストシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US11914544B2 (ja) |
JP (1) | JP2023139763A (ja) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2585683B2 (ja) | 1988-02-10 | 1997-02-26 | 富士写真フイルム株式会社 | Icカード及びicカードを使用する装置 |
JP2000099220A (ja) | 1998-09-17 | 2000-04-07 | Matsushita Electric Ind Co Ltd | Pcカードスロット機構 |
US20100257313A1 (en) * | 2006-06-02 | 2010-10-07 | Renesas Technology Corp. | Semiconductor device |
US9524108B2 (en) * | 2014-08-29 | 2016-12-20 | Dell Products, Lp | System and method for providing personality switching in a solid state drive device |
KR20180095765A (ko) * | 2017-02-17 | 2018-08-28 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US11226765B2 (en) * | 2017-11-22 | 2022-01-18 | Hewlett-Packard Development Company, L.P. | Serial AT attachment and non-volatile memory express device determination |
US10649940B2 (en) * | 2018-03-05 | 2020-05-12 | Samsung Electronics Co., Ltd. | Modular system architecture for supporting multiple solid-state drives |
JP2021012993A (ja) | 2019-07-09 | 2021-02-04 | キオクシア株式会社 | 半導体記憶装置 |
TWI768355B (zh) * | 2020-05-28 | 2022-06-21 | 瑞昱半導體股份有限公司 | 介面連接裝置、系統及其方法 |
JP2022146351A (ja) | 2021-03-22 | 2022-10-05 | キオクシア株式会社 | ストレージシステム |
-
2022
- 2022-03-22 JP JP2022045462A patent/JP2023139763A/ja active Pending
- 2022-06-15 US US17/841,390 patent/US11914544B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20230305986A1 (en) | 2023-09-28 |
US11914544B2 (en) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11741040B2 (en) | SFF-TA-100X based multi-mode protocols solid state devices | |
US9934825B2 (en) | Semiconductor device and electronic device | |
US7418533B2 (en) | Data storage system and control apparatus with a switch unit connected to a plurality of first channel adapter and modules wherein mirroring is performed | |
CN102081561B (zh) | 在存储系统的冗余存储控制器之间镜像数据 | |
US9507529B2 (en) | Apparatus and method for routing information in a non-volatile memory-based storage device | |
US20100078635A1 (en) | Semiconductor device | |
US9645940B2 (en) | Apparatus and method for accessing a non-volatile memory blade using multiple controllers in a non-volatile memory based storage device | |
US8090913B2 (en) | Coherency groups of serially coupled processing cores propagating coherency information containing write packet to memory | |
US20140223097A1 (en) | Data storage system and data storage control device | |
KR102234261B1 (ko) | 가상 디바이스 기반의 시스템 | |
TWI791231B (zh) | 儲存系統 | |
JP2023139763A (ja) | メモリシステム、メモリシステムの制御方法、およびホストシステム | |
US20110018623A1 (en) | Integrated circuit package | |
JP6358483B2 (ja) | 不揮発性メモリベースの記憶装置において情報をルーティングする装置および方法 | |
JP2023044478A (ja) | コントローラおよびメモリシステム | |
US20240176697A1 (en) | Controller-Level Memory Repair | |
WO2021171639A1 (ja) | 半導体記憶装置 |