(57)【特許請求の範囲】
【請求項１】
設定可能メモリサブシステムであって、
第１のメモリモジュールおよび第２のメモリモジュールを備え、
第１および２メモリモジュールのそれぞれが、第１のＭＣＤペアおよび第２のＭＣＤペアを装着した回路基板を含み、
各ＭＣＤペアが、第１のＭＣＤおよび第２のＭＣＤを有し、
各ＭＣＤが、入力ポート、出力ポート、メモリ、ならびに前記入力ポート、前記出力ポートおよび前記メモリに通じているブリッジを有し、
前記ブリッジが、前記入力ポートから命令およびデータパケットを受信するようになされ、前記入力ポートから前記メモリへの前記データパケットの一部の転送、前記入力ポートから前記出力ポートへの前記データパケットの一部の転送、および前記メモリから前記出力ポートへのメモリパケットの一部の転送のうちの少なくとも１つの転送を前記命令に応じて実行するようになされ、
前記ＭＣＤペアのそれぞれが、前記第１のＭＣＤの前記入力ポートに通じていると共に前記回路基板の縁部にある複数の入力導体に通じているペア入力部を有し、前記第１のＭＣＤの前記出力ポートが、前記第２のＭＣＤの前記入力ポートに通じ、前記第２のＭＣＤの前記出力ポートが、ペア出力部に通じていると共に前記回路基板の前記縁部にある複数の出力導体に通じており、
前記第１のメモリモジュールに通じている第１の折返しデバイスと、前記第２のメモリモジュールに通じている第２の折返しデバイスとをさらに備え、
前記第１の折返しデバイスが、前記第１のメモリモジュールの前記第１のＭＣＤペアの前記ペア出力部から前記命令および前記データパケットを受信し、前記第１のメモリモジュールの前記第２のＭＣＤペアの前記ペア入力部に前記命令および前記データパケットを伝送し、
前記第２の折返しデバイスが、前記第２のメモリモジュールの前記第１のＭＣＤペアの前記ペア出力部から前記命令および前記データパケットを受信し、前記第２のメモリモジュールの前記第２のＭＣＤペアの前記ペア入力部に前記命令および前記データパケットを伝送する、設定可能メモリサブシステム。
【請求項２】
前記第１および第２の折返しデバイスのそれぞれが、折返し回路基板に複数の折返し経路を備え、前記折返し経路が、前記折返し回路基板の縁部にある複数の導体に通じており、前記第１のメモリモジュールの前記第１のＭＣＤペアの前記ペア出力部と前記第１のメモリモジュールの前記第２のＭＣＤペアの前記ペア入力部との間、または前記第２のメモリモジュールの前記第１のＭＣＤペアの前記ペア出力部と前記第２のメモリモジュールの前記第２のＭＣＤペアの前記ペア入力部との間の通信を行う、請求項１に記載の設定可能メモリサブシステム。
【請求項３】
前記第１および第２の折返しデバイスのそれぞれが、前記第１のメモリモジュールの前記第１のＭＣＤペアの前記ペア出力部と前記第１のメモリモジュールの前記第２のＭＣＤペアの前記ペア入力部との間、または前記第２のメモリモジュールの前記第１のＭＣＤペアの前記ペア出力部と前記第２のメモリモジュールの前記第２のＭＣＤペアの前記ペア入力部との間の通信を行う複数の折返し経路を含む、請求項１に記載の設定可能メモリサブシステム。
【請求項４】
前記第１および第２の折返しデバイスのそれぞれが、第１のＭＣＤペアおよび第２のＭＣＤペアを備え、前記第１および第２の折返しデバイスの前記ＭＣＤペアのそれぞれが、第１のＭＣＤの入力ポートに通じているペア入力部、第２のＭＣＤの入力ポートに通じている前記第１のＭＣＤの出力ポート、およびペア出力部に通じている前記第２のＭＣＤの出力ポートを備え、
前記第１および第２の折返しデバイスのそれぞれの前記第１のＭＣＤペアの前記ペア入力部が、回路基板の縁部にある複数の入力導体に通じ、前記第１および第２の折返しデバイスのそれぞれの前記第１のＭＣＤペアの前記ペア出力部が、前記第１および第２の折返しデバイスのそれぞれの前記第２のＭＣＤペアの前記ペア入力部に通じ、前記第１および第２の折返しデバイスのそれぞれの前記第２のＭＣＤペアの前記ペア出力部が、前記回路基板の前記縁部にある複数の出力導体に通じており、
前記第１および第２のメモリモジュールのそれぞれの前記第１のＭＣＤペアの前記ペア出力部が、前記第１または第２の折返しデバイスの前記第１のＭＣＤペアの前記ペア入力部に通じ、前記第１および第２の折返しデバイスのそれぞれの前記第２のＭＣＤペアの前記ペア出力部が、前記第１または第２のメモリモジュールの前記第２のＭＣＤペアの前記ペア入力部に通じている、請求項１に記載の設定可能メモリサブシステム。
【請求項５】
前記メモリサブシステムが、第３のメモリモジュールおよび第４のメモリモジュールを備え、
前記第１のメモリモジュールから第４のメモリモジュールは順に隣接して配設され、
前記第３のメモリモジュールの第１のＭＣＤペアのペア出力部が、前記第１のメモリモジュールの第１のＭＣＤペアのペア入力部に通じ、前記第１のメモリモジュールの第２のＭＣＤペアのペア出力部が、前記第３のメモリモジュールの第２のＭＣＤペアのペア入力部に通じ、
前記第４のメモリモジュールの第１のＭＣＤペアのペア出力部が、前記第２のメモリモジュールの第１のＭＣＤペアのペア入力部に通じ、前記第２のメモリモジュールの第２のＭＣＤペアのペア出力部が、前記第４のメモリモジュールの第２のＭＣＤペアのペア入力部に通じている、請求項１に記載の設定可能メモリサブシステム。
【請求項６】
第３のＭＣＤペアおよび第４のＭＣＤペアをさらに備え、前記第２のＭＣＤペアの前記ペア出力部が、前記第３のＭＣＤペアのペア入力部に通じ、前記第１および第２の折返しデバイスのそれぞれが、前記第３のＭＣＤペアのペア出力部から前記命令および前記データパケットを受け取り、前記第４のＭＣＤペアのペア入力部に前記命令および前記データパケットを伝送する、請求項１に記載の設定可能メモリサブシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、2009年5月22日に出願された「HYPERLINK HLDIMM MODULE AND MEMORY SUBSYSTEM」という名称の同時係属の米国仮出願第61/180,693号、および2010年4月29日に出願した米国出願第12/770,376号の優先権を主張するものであり、その全体は参照により本明細書に組み込まれる。
【０００２】
本発明は、一般に、メモリサブシステムに関する。より詳細には、本発明は、使用者によるメモリチャネルの個数、メモリ速度およびメモリ容量の設定を可能にするメモリサブシステムに関する。
【背景技術】
【０００３】
大企業のサーバからパーソナルコンピュータに至るまで多くのホストシステムは、様々なメモリサブシステムを用いて中央処理装置(CPU)が使用するためのデータを供給する。ホストシステムはしばしば、異なる速度および容量を有する記憶階層を使用する。典型的には、メモリが大きい容量となるほど、遅延が長くなり、したがって、より小さい容量のメモリよりも遅くなる。典型的な記憶階層では、CPUは、高速レジスタおよびキャッシュメモリと直接通信し、CPU速度に匹敵する速度で少量のデータを転送する。キャッシュメモリは、ダイナミックランダムアクセスメモリ(DRAM)からより大きいブロックのデータを先読みするが、CPU速度より遅い速度である。このキャッシュは、CPUによる多くのデータ要求のシーケンシャルな性質(sequential nature)を利用して、CPUの機能停止、または必要なデータを欠くためCPUがタスクを完了することができない状況を最小限にする。DRAMも、ハードディスクドライブ(HDD)からより大きいブロックのデータを先読みする。階層の各レベルで、より遅い先読みレート(prefetch rate)を補償するのに十分大きいデータのブロックを先読みすることが重要である。これにより、階層の全てのレベルで平均データ転送速度を維持することが可能になる。HDDの記憶は、その機械的性質によりDRAMおよび他の固体メモリよりかなり遅い。記憶階層の各レベルは、数桁のメモリ容量の増加を、ただ1桁の遅延の増加と共に与えることが好ましい。DRAMの記憶階層レベルとHDDの記憶階層レベルの間の遅延の著しい増加には、記憶階層の全体にわたってデータフローのバランスをとるように、DRAM技術およびHDD技術によって利用できるものの中間の性能および容量を用いるメモリソリューションが必要とされる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第12/401,963号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のメモリモジュールは、共有バスを通じて通信する。このことは、メモリ速度を減少させる共有バス上の高容量性負荷をもたらす。共有バスの手法は、メモリモジュールを取り外すときにスタブももたらす。スタブは、負荷で終端されない伝導経路であり、長い整定時間を必要とし得る信号反射をもたらし、したがってシステムクロック速度が減少する。DRAMとHDDの間の性能ギャップの隔たりを埋めるメモリソリューションを提供するために、共有メモリバスおよびスタブを有する従来のシステムの速度限界を克服するメモリサブシステムが必要とされている。
【課題を解決するための手段】
【０００６】
一態様では、本発明は、複数のメモリ収容デバイス(MCD: memory-containing device)を備えるメモリモジュールを特色とする。各MCDは、入力ポート、出力ポート、メモリ、ならびにこの入力ポート、出力ポートおよびメモリに通じているブリッジを有する。ブリッジは、入力ポートから命令およびデータパケットを受信するようになされ、入力ポートからメモリへのデータパケットの一部の転送、入力ポートから出力ポートへのデータパケットの一部の転送、およびメモリから出力ポートへのメモリパケットの一部の転送のうちの少なくとも1つの転送を命令に応じて実行するようになされている。回路基板は、複数のMCD回路がこの回路基板に装着されていると共に、複数のMCDの少なくとも2つの間のシリアル通信のために複数の伝導経路を有する。
【０００７】
別の態様では、本発明は、第1のMCDペアおよび第2のMCDペアを装着したメモリモジュールを備えた設定可能メモリサブシステムを特色とする。MCDペアのそれぞれは、第1のMCDおよび第2のMCDを有する。各MCDは、入力ポート、出力ポート、メモリ、ならびにこの入力ポート、出力ポートおよびメモリに通じているブリッジを有する。ブリッジは、入力ポートから命令およびデータパケットを受信するようになされ、入力ポートからメモリへのデータパケットの一部の転送、入力ポートから出力ポートへのデータパケットの一部の転送、およびメモリから出力ポートへのメモリパケットの一部の転送のうちの少なくとも1つの転送を命令に応じて実行するようになされる。MCDペアのそれぞれは、第1のMCDの入力ポートに通じていると共に回路基板の縁部にある複数の入力導体に通じているペア入力部を有する。第1のMCDの出力ポートは、第2のMCDの入力ポートに通じている。第2のMCDの出力ポートは、ペア出力部に通じていると共に回路基板の縁部にある複数の出力導体に通じている。折返しデバイスは、メモリモジュールと通じている。折返しデバイスは、第1のMCDペアのペア出力部から命令およびデータパケットを受信し、第2のMCDペアのペア入力部に命令およびデータパケットを伝送する。
【０００８】
別の態様では、本発明は、前方メモリモジュール(forward memory module)と、逆さメモリモジュール(reversed memory module)とを備える設定可能メモリサブシステムを特色とする。前方メモリモジュールおよび逆さメモリモジュールのそれぞれは、上半分および下半分に分けられた回路基板を有する。上半分および下半分は、この上半分および下半分に装着した複数のMCDペアをそれぞれ含む。MCDペアのそれぞれは、パケットを受信するペア入力部、およびパケットを伝送するペア出力部を有する。上半分は、外側MCDペアおよび内側MCDペアを有する。各MCDペアは、部品の付いていない同MCDペア装着位置に隣接して配設される。下半分は、外側MCDペアおよび内側MCDペアを有する。外側MCDペアは、内側MCDペアに隣接して配設される。内側MCDペアは、上半分に隣接した部品の付いてないMCDペア装着位置に隣接して配設される。逆さメモリモジュールは、前方メモリモジュールに隣接して配設され、逆さメモリモジュールにあるMCDペアの直線配列は、前方メモリモジュールの直線配列とは反対である。前方メモリモジュールの上半分にあるMCDペアの少なくとも1つは、逆さメモリモジュールの下半分にあるMCDペアの少なくとも1つとシリアル通信する。前方メモリモジュールの下半分にあるMCDペアの少なくとも1つは、逆さメモリモジュールの上半分にあるMCDペアの少なくとも1つとシリアル通信する。
【０００９】
本発明の上記およびさらなる利点は、下記の説明を、様々な図において同様の数字が同様の構造要素および特色を示す添付図面と併せて参照することによってより良く理解できよう。図面は必ずしも縮尺通りではなく、代わりに本発明の原理を示すことに重点が置かれている。
【図面の簡単な説明】
【００１０】
【図１】本発明による設定可能メモリサブシステムの一実施形態の斜視図である。
【図２】MCDの概略図である。
【図３】複数の通信チャネルのうちの1本の通信チャネルの方向をさらに示した、A-A'に沿った図1の断面図である。
【図４】4つのMCDペアの間の通信を示すメモリモジュールの前側および後側の概略図である。
【図５Ａ】MCDペアが交互になっている配置を示すメモリモジュールの前側および後側の概略図である。
【図５Ｂ】8ビットバス用の図5A中のメモリモジュールのあるチャネルの折返し信号の概略図である。
【図６Ａ】MCDペアが交互になっている配置、およびMCDペアのうちの2つが交互になっているバス配列を示す、メモリモジュールの前側および後側の概略図である。
【図６Ｂ】8ビットバス用の図6A中のメモリモジュールのあるチャネルの折返し信号の概略図である。
【図７】MCDペアが交互になっていると共にジグザグ状である配置を示すメモリモジュールの前側および後側の概略図である。
【図８】MCDペアが交互になっていると共に回転した配置を示すメモリモジュールの前側および後側の概略図である。
【図９】4つのMCDペアを含む折返しデバイスの一実施形態の概略図である。
【図１０】MCD装着位置を示すリバーシブルメモリモジュール(reversible memory module)の前側および後側の概略図である。
【図１１Ａ】3つの折返しデバイスのうちの1つを備える2チャネルのメモリサブシステムの一実施形態の説明図である。
【図１１Ｂ】3つの折返しデバイスのうちの1つを備える2チャネルのメモリサブシステムの一実施形態の説明図である。
【図１１Ｃ】3つの折返しデバイスのうちの1つを備える2チャネルのメモリサブシステムの一実施形態の説明図である。
【図１２Ａ】3つの折返しデバイスのうちの1つを備える4チャネル交互配置型メモリサブシステムの一実施形態の説明図である。
【図１２Ｂ】3つの折返しデバイスのうちの1つを備える4チャネル交互配置型メモリサブシステムの一実施形態の説明図である。
【図１２Ｃ】3つの折返しデバイスのうちの1つを備える4チャネル交互配置型メモリサブシステムの一実施形態の説明図である。
【図１３】3つの折返しデバイスのうちの1つを備えるシングルチャネルのメモリサブシステムの一実施形態の説明図である。
【図１４】前方位置における1つのモジュールおよび逆さ位置における1つのモジュールを示すリバーシブルメモリサブシステムの一実施形態の説明図である。
【発明を実施するための形態】
【００１１】
本明細書に記載の設定可能モジュールおよびメモリサブシステムの実施形態により、メモリチャネルの個数、メモリ速度、およびメモリ容量、またはそれらの任意の組み合わせを設定する柔軟性を使用者に提供する。使用者には、製品消費者、または製品の製造に関わる任意の人または団体が含まれるがこれに限定されない。一例では、パーソナルコンピュータは、4つのメモリモジュールを電気ソケットによって取り付けたマザーボードを含む。使用者は、メモリモジュールを取り外しメモリモジュールを他のソケットに置き換え、またはメモリモジュールを異なる属性を有する異なるメモリモジュールに置き換えることによってシステムを設定する。使用者は、メモリモジュールの向きを逆にして、メモリモジュールとマザーボードの間の接続を変更する。代替として、使用者は、メモリモジュールと通信するコントローラを書き換える。
【００１２】
コントローラは、ホストシステムとメモリモジュールの間の通信を行い、後者は、1つまたは複数のデイジーチェーンリングに設定される。本明細書で用いられるように、通信は、一般に、回路基板トレース上の電圧伝導(electrical voltage conduction)を指すが、他の実施形態において、電流伝導、光ファイバ伝導、または誘導結合などの他の通信技法も考えられる。ホストシステムの電源を入れると、コントローラは、相互接続したメモリモジュールに命令パケットを送信して、メモリモジュールの特徴を記憶する。次いで、コントローラは、リングに命令および適宜データパケットを送受信する。リングは、コントローラで始まりコントローラで終わるものであり、このコントローラは、リングの個数を設定することができる。
【００１３】
本明細書に記載の様々な設定可能メモリサブシステムは、例えば、大容量記憶装置クラスメモリ、高速のパーソナルコンピュータメモリ、またはポータブル型装置向けの低電力メモリの範囲に及ぶシステムである。メモリサブシステムは、HDDを半導体ドライブ(SSD)に置き換えてもよく、それによって消費電力とデータアクセス遅延を共に減少させ、寿命および耐衝撃性を改善する。本明細書に記載のメモリサブシステムの様々なメモリタイプ、メモリ速度およびメモリ容量の組み合わせを使用することによって、新しいメモリの応用を可能にする。
【００１４】
図1は、4つのメモリモジュール12a、12b、12cおよび12d(全体的に12)を備えるメモリサブシステム10の一実施形態の斜視図を示すと共に、2つのチャネルについての命令およびデータパケットの流れの方向を例示する。メモリサブシステム10は、任意の個数のメモリモジュール12を含むことができる。各メモリモジュール12は、マザーボードなどの別の回路基板14と通信するために、前側22に導体16aおよび後側24に導体16b(全体的に16)を備えた回路基板14を有する。導体16は、他の基板へのソケット接続、はんだ付け接続を介してまたは当業者に知られている様々な手段を介して、別の回路基板14に通じることができる。回路基板14は、前側22に取り付けられた複数のMCD20a、および後側24に取り付けられた複数のMCD20bを有する。複数のMCD20aおよび導体16aを備える回路基板14の前側22は、斜視図によって生じた視角によって図1では見えない。複数のMCD20aおよび複数のMCD20b(全体的に20)は、同様に構築され、または内部に含まれるコンポーネントが、異なるピン配列、もしくは異なるタイプ、数量および容量を有する。MCD20の例には、マルチチップデバイス、および(1つのコンポーネントを有する)モノリシックデバイスが含まれる。
【００１５】
メモリモジュール12は、メモリモジュール12とホストシステムの間のデータ通信を調整するコントローラ40と情報をやりとりする。図1は、2チャネルのシステムを示す。第1のチャネル(CH0)は、コントローラ40から命令および適宜バス42上のデータパケットを受信する。バス42上のパケットは、第1のメモリモジュール12aを通じて流れ、バス44上のパケットとして出る。同様に、バス44上のパケットは、メモリモジュール12b、12cおよび12dを連続して通じて流れ、折返し経路46を介して12dに戻り、メモリモジュール12d、12cおよび12bを連続して通じて流れ、バス48上のパケットになる。バス48上のパケットは、メモリモジュール12aを通じて流れ、バス50上のパケットとして出てコントローラ40に戻り、それによってデイジーチェーンリングを完成する。第2のチャネル(CH1)は、第1のチャネルCH0と同様の経路に従い、バス52上のパケットとして始まり、メモリモジュール12aを通じて流れ、バス54上のパケットとして出て、メモリモジュール12b、12cおよび12dを連続して通じて流れる。次いで、チャネルCH1は、折返し経路56を介して12dに戻る。続いて、チャネルCH1は、メモリモジュール12d、12cおよび12bを連続して通じて進行し、バス58上のパケットとしてメモリモジュール12aに入り、バス60上のパケットとして出て、コントローラ40に通じる。
【００１６】
コントローラ40は、命令およびデータパケットの幅を設定する。各図全体を通じて例示した様々な実施形態は、8ビット幅のバスを示す。典型的には1ビット幅、4ビット幅および8ビット幅が使用されるが、任意の幅が、本発明の範囲内である。狭いバス幅は、システムの物理的サイズを減少させ、一方、バス幅をより広くすると、システム帯域幅、またはデータがシステムを通じて流れる速度を増大させる。
【００１７】
典型的なメモリモジュール12は、回路基板14の縁部に導体16を含む。一実施形態では、メモリモジュール12のフォームファクタおよび物理的形状は、DDR2 SDRAM 200ピン小型デュアルインラインメモリモジュール(SO-DIMM: small outline dual in-line memory module)規格に一致する。別の実施形態では、メモリモジュール12は、240ピンDDR2 SDRAM SO-DIMMフォームファクタに一致する。これらフォームファクタは、業界内で普及しているのでコスト効率がよい。前述の規格は、同期式ダイナミックランダムアクセスメモリ(SDRAM)のために開発されたものであるが、これら規格は、不揮発性メモリ(NVM)を含む他の形態のメモリに同様に適用可能である。
【００１８】
図2は、MCD20の一般機能を示す。ブリッジ32は、入力ポート26で命令および適宜データパケット受信する。命令パケットは、ブリッジ32に、データパケットの一部をメモリ30に書き込むこと、データパケットの一部を出力ポート28へ転送すること、またはメモリパケットの一部をメモリ30から出力ポート28へ転送することを含む1つまたは複数の動作を実行するように指示する。複数のMCD20が直列に接続される図1に示すようなリング型トポロジーでは、ブリッジ32により、命令およびデータパケットが、リングにあるデバイスの全てを通じて伝搬することが可能になる。各リングは、例えば、図1に示されたようにCH0およびCH1などのチャネルに対応する。ブリッジ32により、データを任意のMCD20に書き込むこと、または複数のMCD全てに一斉配信することが可能になる。同様に、チャネル内の1つのMCD20にデータが書き込まれると共に、同時に、チャネルがコントローラ40に戻るところにより近い位置にあるさらに下流の別のMCD20からデータを読むことができる。
【００１９】
電源を入れると、コントローラ40は、固有番号を、各チャネルにある各MCD20に割り当てる。コントローラ40は、メモリ30の特徴を決定するために各MCD20に問い合わせも行う。例えば、異なる複数のMCD20は、異なる量のメモリ容量、様々なメモリ速度およびメモリタイプを有し得る。一実施形態では、複数のMCD20のそれぞれは、8つスタックしたNAND型フラッシュNVMを有し、各メモリは、メモリ30とやりとりする8ビットデータ転送を支援する。他の実施形態は、NOR型フラッシュ、EEPROM、強誘電体RAM(FRAM)、磁気抵抗RAM(MRAM)、相変化RAM、MEMS RAM、ROMおよび当業者に知られた他のもののようなそうした不揮発性メモリタイプを使用する。別の実施形態では、MCD20の1つまたは複数は、SRAMおよびDRAMなどの揮発性メモリを含む。別の実施形態では、各MCD20は、揮発性メモリと不揮発性メモリを混合したもの、異なる容量のメモリを混合したもの、および異なる速度のメモリを混合したものを含む。メモリ速度は遅延も指し得るが、典型的には、メモリ速度は、クロック速度によって決定される持続データスループット(sustained data throughput)を指す。様々な実施形態において、メモリ30は、シリコン、炭素、ガリウムヒ素(GaAs)、および当業界で知られた他の半導体技術のいずれかに基づいて、CMOS設計、MOS設計およびバイポーラ設計の組み合わせから製造される。
【００２０】
MCD20の組立体は、モノリシックデバイスまたはマルチチップデバイスに基づいている。マルチチップデバイスは、スタックしたコンポーネント、共通の基板に配置したコンポーネント(「サイドバイサイド(side-by-side)」)、システムインパッケージ(SiP)、パッケージインパッケージ(PiP)、およびパッケージオンパッケージ(PoP)の技術を用いる技術に基づくことができる。コンポーネントは、例えば半導体技術におけるCMOS設計であり得る。
【００２１】
一実施形態では、ブリッジ32は、2009年3月11日に出願した「A COMPOSITE MEMORY HAVING A BRIDGING DEVICE FOR CONNECTING DISCRETE MEMORY DEVICES TO A SYSTEM」という名称の共有の米国特許出願公開第12/401,963号明細書に開示されたようなデバイスであり、ブリッジ32がHYPERLINK(登録商標) NAND (HLNAND(商標))フラッシュインタフェースを使用するこの開示は、参照により本明細書に組み込まれる。
【００２２】
HYPERLINK(登録商標)技術は、ソース同期クロックを使用するHL2バージョンと、パラレルクロックを使用するHL1バージョンとを含む。減少した信号負荷(reduce signal loading)の利益を最適化するためには、HL2バージョンがHL1バージョンより好ましいが、両バージョンは、本発明の範囲内で想定される。
【００２３】
図3は、回路基板14の前側22にある第1のMCD20a、および回路基板14の後側24にある第2のMCD20bを示す。複数のMCD20は、互いにシリアル通信し、MCDペアを形成する。MCD20aの出力ポート28aは、第2のMCD20bの入力ポート26bに近接して配置されて、通信経路、およびしたがって容量性負荷を減少させる。近接的配置(Proximately located)は、あるビットの長さを別のビットより大きく最適化するのではなく、ポート内のビットパスの全ての長さが共に平均されることを意味する。
【００２４】
図3は、図1のチャネル通信の方向をさらに示す。CH0からのバス42上のパケットは、入力導体16aを通じてメモリモジュール12と通信する。一実施形態では、入力導体16aおよび出力導体16bは、マザーボードに取り付けられているソケットに接触しており、このソケットは、コントローラ40との電気的接続を有する。別の実施形態では、ソケットをドータボードに取り付け、このドータボードをマザーボードに取り付ける。ドータボードの配置により、メモリモジュール12が互いにどのように通信するか設定することについてさらなる調整を使用者にもたらす。別の実施形態では、入力導体16aおよび出力導体16bをはんだ付け接続によってドータボードまたはマザーボードに取り付ける。他の実施形態では、入力導体16aおよび出力導体16bの一方または両方は、回路基板14の片側または両側に配設される。第1のMCD20aの入力ポート26aは、バス42上のパケットを受信し、第1のMCD20aの出力ポート28aは、バス42上のパケットの少なくとも命令部分を、回路基板14中の導体を通じて第2のMCD20bの入力ポート26bへ伝送する。続いて、第2のMCD20bは、出力ポート28bから出力導体16bを通じて、MCD20bの入力ポート26bで受信したパケットの少なくとも命令部分を伝送する。
【００２５】
図4は、メモリモジュール12の前側22および後側24を示す。本実施形態では、チャネルの方向は、図1に示す方向に一致する。CH0については、バス42上のパケットは、モジュール12の前側22に装着した第1のMCD20aの入力ポート26aと通信する。MCD20aは、出力ポート28aからモジュール12の後側24にあるMCD20bの入力ポート26bへ伝送する。次いで、モジュール12の後側24にあるMCD20bは、バス44上のパケットを次のモジュールへ伝送する。複数の他のモジュールを通じて伝搬し、モジュール12に戻った後、モジュール12の前側22にあるMCD20aの入力ポート26aは、バス48上のパケットを受信する。出力ポート28aにおいてMCD20aは、モジュール12の後側にあるMCD20bの入力ポート26bへ伝送する。次いで、モジュール12の後側24にあるMCD20bは、バス50上のパケットを次のモジュールへ伝送する。CH1について同様の経路を図4に示す。
【００２６】
図5Aは、図4に示す実施形態の代替実施形態であり、導体16同士の間の通信経路および図3に示す複数のMCD20は、バス48上のパケットが、メモリモジュール62の後側24にあるMCD20bの入力ポート26bと通信し、メモリモジュール62の後側24にあるMCD20bの出力ポート28bが、メモリモジュール62の前側22にあるMCD20aの入力ポート26aと通じており、メモリモジュール62の前側22にあるMCD20aの出力ポート28aは、バス50上のパケットをコントローラ40へ伝送するように変更されている。CH1について同様の経路を図5Aに示す。
【００２７】
図5Bは、後続の図にさらに示される図1の折返し接続46を示す。より詳細には、図5Bは、CH0についてのバス44上のパケットを伝送する、メモリモジュール62の後側24に装着されるMCD20bの出力ポート28bのバス配列と、CH0についてのバス48上のパケットを受信する、メモリモジュール62の後側24に装着されるMCD20bの入力ポート26bのバス配列とを示す。本実施形態では、バス44上のパケットを伝送する出力ポート28bおよびバス48上のパケットを受信する入力ポート26bは、70、71、72、73、74、75、76および77として示す8ビットを有するようにそれぞれ構成されており、ビット70は、最下位ビット(LSB)に対応し、ビット77は、最上位ビット(MSB)に対応する。図5Bに示すバス配列は、信号が互いに交差することを必要とするが、各ビット70〜77が、出力ポート28bのドライバ上で同様の長さ、したがって同様の容量性負荷を有するという利点を有する。同様に、バス54上のパケットを伝送する出力ポート28bおよびバス58上のパケットを受信する入力ポート26bによって構築されるような図1の折返し接続56は、互いに交差する信号を有するバス配列を有するが、バス56の各ビットは同様の長さを有し、したがって出力ポート28bのドライバ上で同様の容量性負荷を有する。同様の負荷が全ビットにかかることは、より大きいピーク電流消費およびMCD20b上のドライバ領域を必要とする最大容量性負荷でビットを駆動するようにドライバが設計されるので有利である。さらに、メモリデバイスは、典型的には、メモリの製造に用いられるプロセスが、高い伝送速度ではなくメモリ密度に最適化されるときに限界ドライブ能力を有する。
【００２８】
図6Aは、図5Aに示す実施形態の代替実施形態であり、バス48上のパケットを受信する入力ポート26bのバス配列は、バス44上のパケットを伝送する出力ポート28bのバス配列とは逆にされ、バス58上のパケットを受信する入力ポート26bのバス配列は、バス54上のパケットを伝送する出力ポート28bのバス配列とは逆さにされる。図5Aおよび図5Bに示す実施形態とは対照的に、図6Aの実施形態は、ビット70〜77のいずれの交差をなくすことによってルーティングの複雑さを低減するが、1つのビット70は最短の長さを有し、別のビット77は最長の長さを有する。図6Bに示す最長のビット77の(図5Bに比べて)増加したビットの長さは、出力28bにより大きいドライバを必要とするが、折返し経路46および56は、ビットが他のビットに交差することによる追加の回路基板層を必要としない。一実施形態では、図5Aおよび図5Bに示すようなバス配列、または図6Aおよび図6Bに示すようなバス配列は、図4に示す実施形態を変更する。
【００２９】
図7は、メモリモジュール66の前側22にある複数のMCD20aが、他の複数のMCD20aと直線上になく、メモリモジュール66の後側24にある複数のMCD20bが、他の複数のMCD20bと直線上にない実施形態を示す。複数のMCD20aおよび複数のMCD20bは、ジグザグ状配置でメモリモジュール66へ装着される。この実施形態は、追加のコンポーネント(図示せず)、例えば、信号の過渡応答をフィルタ処理するための直列抵抗またはコンデンサを、MCD20aの出力ポート28aまたはMCD20bの出力ポート28bの近くに装着することを可能にするのに有利である。
【００３０】
図8は、複数のMCD20aおよび複数のMCD20bがメモリモジュール68上で回転した実施形態を示す。このMCDの回転は、MCD20aの出力ポート28aとMCD20bの入力ポート26bの間の信号のルーティング、およびMCD20bの出力ポート28bとMCD20aの入力ポート26aの間の信号のルーティングを容易にするのに有利である。この回転によって、図1に示す折返し経路46および56の長さを減少させる利点がもたらされる。
【００３１】
図9は、前述の実施形態のいずれかに同様に適用可能である図6Aのメモリモジュール64の変更形態を示す。例示のメモリモジュール69は、図1に示す折返し経路46および56を一体にする。詳細には、後側24に装着したMCD20bの出力ポート28bは、経路80を介して、後側24に装着したMCD20bの入力ポート26bに通じている。加えて、後側24に装着したMCD20bの出力ポート28bは、経路82を介して、後側24に装着したMCD20bの入力ポート26bと通じている。4つのメモリモジュール12を備える設定可能メモリサブシステム10の実施形態を示す図1を参照すると、一実施形態では、使用者は、モジュール12dを取り除き、折返し経路46および折返し経路56を介するリング接続を完成するための伝導経路を有する終端モジュールを挿入することによってサブシステム10の容量を減少させる。メモリモジュール69が、図1に示すメモリモジュール12dに取って代わる代替の実施形態では、使用者は、メモリモジュール12c、12bまたは12aとメモリモジュール69の配置を取り換えることによってメモリサブシステム10の容量を段々と減少させる。
【００３２】
図10は、リバーシブルメモリモジュール90の前側22および後側24を示す。6つの位置91、92、93、94、95および96は、MCDペアのための装着箇所を与え、各MCDペアは、メモリモジュール90の前側22に装着したMCD20aと、メモリモジュール90の後側に装着したMCDペア20bとを含む。MCDペア装着位置91、92および93は、メモリモジュール90の上半分を定め、MCDペア装着位置94、95および96は、メモリモジュール90の下半分を定める。メモリモジュール90の上半分は、MCDペア装着位置91に装着され、部品の付いていない同MCDペア装着位置92に隣接している外側MCDペアを有する。メモリモジュール90の上半分は、MCDペア装着位置93に装着され、部品の付いていない同MCDペア装着位置92に隣接している内側MCDペアも有する。メモリモジュール90の下半分は、MCDペア装着位置96に装着され、MCDペア装着位置95に装着された内側MCDペアに隣接した外側MCDペアを有する。内側MCDペアは、部品の付いてないMCDペア装着位置94に隣接している。メモリモジュール90にあるMCDペアの装着位置は、メモリモジュール90が、この後、図14においてさらに詳細に説明する逆さメモリモジュール90bに隣接して配置されるときにメモリシステムの折返し接続を助ける。好ましくは、この実施形態は、240ピンDDR2 SDRAM SO-DIMM規格に一致するフォームファクタおよび物理的形状で作製されるが、他の様々なフォームファクタおよび形状が考えられる。この240ピンDDR2 SDRAM SO-DIMM規格は、コスト効率がよい工業規格フォーマットである。
【００３３】
別の実施形態は、メモリモジュール90の上半分にあるMCDペア装着位置91〜93およびそこに装着したMCDペアのグループを、モジュール90の下半分にあるMCDペア装着位置94〜96およびそこに装着したMCDペアのグループの繰り返しと同じ回数だけ繰り返すことによって図10に示す実施形態を変更する。
【００３４】
図11Aは、図1に示すように設定された2チャネルの設定可能メモリサブシステム10を示す。分かりやすいように、図11A中のMCDペア100が、図4に示すように第1のMCD20aが第2のMCD20bに通じていることを表す。図11A中のペア入力部102は、図4に示すメモリモジュール12の前側22にある第1のMCD20aの入力ポート26aを表す。図11A中のペア出力部104は、メモリモジュール12の後側24にある第2のMCD20bの出力ポート28bを表す。設定可能メモリサブシステム10に示される折返し経路46および56は、メモリモジュール12およびホストコントローラ40の間の通信経路を与える同じ回路基板にある伝導経路であってもよい。図11A中のメモリモジュール12のいずれか1つまたは複数は、前述のメモリモジュールの実施形態で変更されまたは置き換えられてもよい。
【００３５】
図11Bは、図11Aのメモリモジュール12dが取り除かれてメモリモジュール位置118が空になっていると共に、図11Aのメモリモジュール12cが終端モジュール112によって置き換えられている設定可能メモリサブシステム110を示す。終端モジュール112は、メモリモジュール12dを取り除くと無効にされる折返し経路46および56によって前もって与えられる折返し機能を与える。詳細には、メモリモジュール12bにあるMCDペア100のペア出力部104は、折返し経路114を介して、メモリモジュール12bにあるMCDペア100のペア入力部102と通じている。メモリモジュール12bにある別のMCDペア100のペア出力部104は、折返し経路116を介して、メモリモジュール12bにある別のMCDペア100のペア入力部102と通じている。
【００３６】
図11Cは、終端モジュール112が、図9に示すメモリモジュール69によって置き換えられた図11Bの設定可能メモリサブシステムの別の変形形態を示し、本明細書に記載の関連した変形例を示す。図11C中のメモリモジュール12bをメモリモジュール69に置き換えると、図11Bに示すメモリサブシステム110と同じメモリ容量になる。
【００３７】
メモリモジュール12a、12bまたは69のいずれかを、メモリ容量、メモリ速度またはメモリのタイプが異なっているMCDペア100を有する変形例に置き換えることにより、メモリサブシステム120をさらに再設定する。例えば、MCDペア100は、電源を投入するとホストシステムを「ブートする」またはオペレーティングシステムをロードするために使用されるROMを含んでもよい。メモリサブシステム120は、チャネルごとにより短いリングで設定されてもよく、それによってより遅いクロック速度を必要とするメモリを備えるMCDペア100がリング遅延(ring latency)を増大させることなく使用可能になる。CH0についてのリング遅延は、バス42上のパケットをメモリモジュール12aへコントローラ40が伝送するのと、メモリモジュール12aからバス50上のパケットをコントローラ40が受信するのとの間の経過時間である。一般に、より遅いメモリはより古い製造技術により入手可能であるので、より遅いクロック速度を有するメモリを使用することにより、設定可能メモリサブシステム120のコストを削減することができる。加えて、遅いメモリを使用するメモリサブシステムは、より短いリング遅延を必要とするアップグレードしたホストシステム用に再設定することができる。最短のリング遅延は、メモリモジュール12aをメモリモジュール69に置き換えることによって実現することができる。
【００３８】
図12Aは、4チャネル交互配置型メモリサブシステム140を示す。図11A中のメモリサブシステム10と比較すると、メモリサブシステム140は、各チャネルが半分のメモリ容量を有した状態で2倍のチャネルを有する。使用者は、シングルプロセッサシステムからいくつかのプロセスを並列して実行するマルチプロセッサシステムへのホストのアップグレードを利用するようにメモリチャネルの個数を増加させることができる。
【００３９】
典型的なチャネルCH0は、コントローラ40からバス42上のパケットを受信する。メモリモジュール12aにあるMCDペア100は、ペア入力部102でバス42上のパケットを受信し、メモリモジュール12aにあるMCDペア100のペア出力部104からバス44上のパケットを伝送する。メモリモジュール12cにあるMCDペア100は、ペア入力部102でバス44上のパケットを受信し、折返し経路46を介して、メモリモジュール12cにある別のMCDペア100の入力ポート102へパケットを伝送する。メモリモジュール12cにあるこの別のMCDペア100は、メモリモジュール12aにある別のMCDペア100の入力ポート102へバス48上のパケットを伝送する。この別のMCDペア100は、出力ポート104からコントローラ40へバス50上のパケットを伝送する。
【００４０】
典型的な交互配置型チャネルCH2は、コントローラ40からバス142上のパケットを受信する。メモリモジュール12bにあるMCDペア100は、ペア入力部102でバス142上のパケットを受信し、メモリモジュール12bにあるMCDペア100のペア出力部104からバス144上のパケットを伝送する。メモリモジュール12dにあるMCDペア100は、ペア入力部102でバス144上のパケットを受信し、折返し経路146を介して、メモリモジュール12dにある別のMCDペア100の入力ポート102へパケットを伝送する。メモリモジュール12dにあるこの別のMCDペア100は、メモリモジュール12bにある別のMCDペア100の入力ポート102へバス148上のパケットを伝送する。この別のMCDペア100は、出力ポート104からコントローラ40へバス150上のパケットを伝送する。CH0がCH2と交互配置される仕方と同様のやり方で、CH1はCH3と交互配置される。
【００４１】
図12Bは、図12Aのメモリモジュール12cおよび12dが終端モジュール112によってそれぞれ置き換えられた設定可能メモリサブシステム160を示す。図12Bに示す設定可能メモリモジュール160は、同数のチャネルを保持しつつ、図12Aに示す設定可能メモリモジュール140のメモリ容量を半分に減少させ、リング遅れ(ring delay)を半分に減少させる。
【００４２】
図12Cは、図12Aのメモリモジュール12cおよび12dがメモリモジュール69によってそれぞれ置き換えられた設定可能メモリサブシステム180を示す。設定可能メモリモジュール180は、図12Aに示す設定可能メモリモジュール140と同じメモリ容量、同じリング遅れ、および同数のチャネルを保持する。使用者は、メモリモジュール12aおよび12bをメモリモジュール69に置き換えて、チャネルの個数を変更することなくメモリサブシステムのメモリ容量を半分に減少させると共にリング遅れを半分に減少させることによって、設定可能メモリサブシステム180を簡単に再設定することができる。代替として、使用者は、メモリモジュール12aをメモリモジュール69に置き換えるだけでCH2およびCH3の特徴に影響を与えることなくCH0およびCH1の特徴を変えることができる。
【００４３】
図13は、図11Aに示す2チャネルの実施形態の変更形態であるメモリサブシステム190のシングルチャネルの実施形態を示す。経路192を介してメモリモジュール12aにあるMCDペア100の出力ポート104をメモリモジュール12aにある別のMCDペア100の入力ポート102に接続することにより、2チャネルのメモリサブシステム10をシングルチャネルのメモリサブシステム190に再設定する。設定可能メモリサブシステム190は、図11Aに示すメモリサブシステム10の2倍のメモリ容量、2倍のリング遅れ、および半数のチャネルを有する。メモリモジュール12の前述の変更形態は、設定可能メモリサブシステム190に適用可能である。
【００４４】
図14は、図10に示すリバーシブルメモリモジュール90を用いるリバーシブルメモリサブシステム200を示す。フルメモリサブシステム(full memory subsystem)200は、図12Bおよび図12Cにそれぞれ示すような特別な終端モジュール112またはメモリモジュール69を必要とせずにただ1種類のメモリモジュール90を用いて構築することができる。メモリモジュール90bによって示されるようにメモリモジュール90を逆さにして、各チャネルの折返しを完成する。
【００４５】
詳細には、チャネルCH0は、メモリモジュール90にあるMCDペア100のペア入力部102でコントローラ40からバス42上のパケットを受信する。メモリモジュール90にあるMCDペア100の出力ポート104は、メモリモジュール90bにあるMCDペア100の入力ポート102へバス44上のパケットを伝送する。メモリモジュール90bにあるMCDペア100は、出力ポート104からメモリモジュール90bにある別のMCDペア100の入力ポート102へパケットを伝送する。メモリモジュール90bにあるこの別のMCDペア100の出力ポート104は、メモリモジュール90にある別のMCDペア100の入力ポート102へメモリバス48上のメモリパケットを伝送する。メモリモジュール90にあるこの別のMCDペア100の出力ポート104は、コントローラ40へバス50上のパケットを伝送する。第2のチャネルCH1は、CH0について説明したものと同様の経路に従う。
【００４６】
特定の好ましい実施形態を参照して本発明を図示および説明してきたが、添付の特許請求の範囲によって定められる本発明の精神および範囲から逸脱することなく本明細書において形態および細部の様々な変更がなされてもよいことが当業者には理解されよう。
【符号の説明】
【００４７】
10  メモリサブシステム、設定可能メモリサブシステム、2チャネルのメモリサブシステム
12、12b、12c  メモリモジュール
12a  メモリモジュール、第1のメモリモジュール
12d  メモリモジュール、モジュール
14  回路基板
16  導体
16a  導体、入力導体
16b  導体、出力導体
20、20a、20b  MCD
22  前側
24  後側
26、26a、26b  入力ポート
28、28a、28b  出力ポート
30  メモリ
32  ブリッジ
40  コントローラ
42、44、48、50、52、54、58、60  バス
46、56  折返し経路
62、64、66、68、69  メモリモジュール
70  ビット、最下位ビット(LSB)
71〜76  ビット
77  ビット、最上位ビット(MSB)
80、82  経路
90  リバーシブルメモリモジュール、メモリモジュール
90b  逆さメモリモジュール、メモリモジュール
91〜96  装着箇所、MCDペア装着位置
100  MCDペア
102  ペア入力部
104  ペア出力部
110  設定可能メモリサブシステム、メモリサブシステム
112  終端モジュール
114、116  折返し経路
118  メモリモジュール位置
120  メモリサブシステム
140  4チャネル交互配置型メモリサブシステム、メモリサブシステム、設定可能メモリモジュール
142、144、148、150  バス
146  折返し経路
160、180  設定可能メモリサブシステム
190  メモリサブシステム、シングルチャネルのメモリサブシステム、設定可能メモリサブシステム
192  経路
200  リバーシブルメモリサブシステム、フルメモリサブシステム
CH0  第1のチャネル、チャネル
CH1  第2のチャネル、チャネル
CH2  交互配置型チャネル
【図２】
0005681704.tif 000002
【図４】
0005681704.tif 000003
【図５Ａ】
0005681704.tif 000004
【図６Ａ】
0005681704.tif 000005
【図７】
0005681704.tif 000006
【図８】
0005681704.tif 000007
【図９】
0005681704.tif 000008
【図１０】
0005681704.tif 000009
【図１１Ａ】
0005681704.tif 000010
【図１１Ｂ】
0005681704.tif 000011
【図１１Ｃ】
0005681704.tif 000012
【図１２Ａ】
0005681704.tif 000013
【図１２Ｂ】
0005681704.tif 000014
【図１２Ｃ】
0005681704.tif 000015
【図１３】
0005681704.tif 000016
【図１４】
0005681704.tif 000017
【図１】
0005681704.tif 000018
【図３】
0005681704.tif 000019
【図５Ｂ】
0005681704.tif 000020
【図６Ｂ】
0005681704.tif 000021