以下に添付図面を参照して、本発明に係るメモリモジュールの実施形態を詳細に説明する。先ず、本発明に適用可能なメモリモジュール規格であるSO−DIMM(Small Outline Dual in-line Memory Module)規格について、本発明に関わりの深い部分を中心として、概略的に説明する。なお、以下では、SO−DIMM規格を、単にSO−DIMMと呼ぶ。
SO−DIMMには、72ピン、100ピン、144ピンおよび200ピンのモジュールが用意されており、144ピンおよび200ピンのモジュールは、64ビットデータ転送をサポートする。本発明の各実施形態においては、200ピンのモジュールを対象としている。
図1は、SO−DIMMによる、200ピン、DDR−SDRAM(Double Data Rate-SDRAM)に対応するメモリモジュール10の外観を示す。図1(a)は、正面図、図1(b)は、側面図である。図1(a)に例示されるように、67.60mm×31.75mmの基板1に対し、片面に4個、両面で8個のDDR−SDRAM(Double Data Rate-SDRAM)2、2、…が搭載される。基板1の一方の長辺に、このメモリモジュール10が装着されるメモリ制御基板との間の電気的接続を行うコネクタ3が設けられる。コネクタ3は、基板1の片面毎に100ピンが設けられ、基板1の一方の面に設けられるピンには、基板1の一端から順に奇数番が割り当てられ、他方の面に設けられるピンには、当該一端から順に偶数番が割り当てられる。奇数番のピンが設けられる面で見て第39ピンと第41ピンの間には切り欠きが設けられ、メモリ制御基板に対する装着時の向きを規定すると共に、同サイズの他の種類のモジュールと混同しないようにしている。
基板1に対して、さらにSPD(Serial Presence Detect)4が搭載される。SPD4は、メモリモジュール10の種類、記憶容量、アクセス速度、アクセス方法など、そのメモリモジュール10の情報が予め記憶される。
図2は、コネクタ3の各端子の意味を示し、図3は、コネクタ3の各端子の配列を、ピン番号と関連付けて示す。図2において、端子CK(0:2)および端子_CK(0:2)は、それぞれポジティブラインおよびネガティブラインのクロック入力端子、端子CKE(0:1)は、クロックイネーブル信号端子である。なお、以下において、各図中の文字に付される上線を、「_(アンダースコア)」を用いて表現する。
端子RASおよびCASは、それぞれローアドレスおよびカラムアドレスのストローブ信号端子である。端子WEは、ライトイネーブル信号端子である。端子_S(0:1)は、チップセレクト信号端子である。端子A(0:9、11:12)は、アドレス入力端子である。端子A10/APは、アドレス入力およびオートプリチャージ端子である。端子BA(0:1)は、SDRAMのバンクアドレス入力端子である。端子SCLは、SPD4のクロック入力端子、端子SDAは、SPD4のデータ入出力端子、端子SA(0:2)は、SPD4のアドレス入力端子である。
端子DQ(0:63)は、データ入出力端子であり、端子CB(7:0)は、データチェックビットの入出力端子である。端子DM(0:8)は、データマスク信号端子、端子DQS(0:8)は、データストローブ信号端子である。なお、データストローブ信号は、8ビットのデータブロック単位でデータのクロックを制御する制御信号である。また、データマスク信号は、8ビットのデータブロック単位でデータをマスクするか否かを制御する制御信号である。
端子VDD、VSS、VREF、ならびに、VDDSPDは、それぞれメモリコアおよびI/O系用、接地、ならびに、SPD4用の電源端子、端子VDDIDは、VDDおよびVDDQのレベル検出端子である。また、端子DUは、未使用(Do not Use)の端子である。
図3を参照し、SO−DIMMの端子およびピン配列について、各実施形態に関わりの深い部分を中心に説明する。データ信号に関し、第5、第7、第13、第17ピンに端子DQ0〜DQ3がそれぞれ割り当てられ、それぞれの裏側の第6、第8、第14、第18ピンに端子DQ4〜DQ7が割り当てられる。第19、第23、第29、第31ピンに端子DQ8〜DQ11がそれぞれ割り当てられ、それぞれの裏側の第20、第24、第30、第32ピンに端子DQ12〜DQ15が割り当てられる。第41、第43、第49、第53ピンに端子DQ16〜DQ19がそれぞれ割り当てられ、それぞれの裏側の第42、第44、第50、第54ピンに端子DQ20〜DQ23が割り当てられる。また、第55、第59、第65、第67ピンに端子DQ24〜DQ27がそれぞれ割り当てられ、それぞれの裏側の第56、第60、第66、第68ピンに端子DQ28〜DQ31が割り当てられる。
さらに、データ信号に関し、第127、第129、第135、第139ピンに端子DQ32〜DQ35がそれぞれ割り当てられ、それぞれの裏側の第128、第130、第136、第140ピンに端子DQ36〜DQ39が割り当てられる。第141、第145、第151、第153ピンに端子DQ40〜DQ43がそれぞれ割り当てられ、それぞれの裏側の第142、第146、第152、第154ピンに端子DQ44〜DQ47が割り当てられる。第163、第165、第171、第175ピンに端子DQ48〜DQ51がそれぞれ割り当てられ、それぞれの裏側の第164、第166、第172、第176ピンに端子DQ52〜DQ55が割り当てられる。また、第177、第181、第187、第189ピンに端子DQ56〜DQ59がそれぞれ割り当てられ、それぞれの裏側の第178、第182、第188、第190ピンに端子DQ60〜DQ63が割り当てられる。
データストローブ信号に関し、第11、第25、第47、第61、第133、第147、第169、第183、第77ピンに端子DQS0〜DQS8がそれぞれ割り当てられる。また、データマスク信号に関し、第12、第26、第48、第62、第134、第148、第170、第184、第78ピンに端子DM0〜DM8がそれぞれ割り当てられる。このように、データストローブ信号およびデータマスク信号は、同一のビットが基板の両面の対応するピンに割り当てられる。
SPD4に係る信号に関し、第193〜第198ピンに端子SDA、SCL、VDDおよびSPDSA(0:2)がそれぞれ割り当てられる。また、第85、第86、第97、第98、第124ピンは、未使用(DU)である。
図4は、データバス幅が16ビットのDDR−SDRAM2のピン配列を、パッケージを上面から見た場合について示す。各ピンは、パッケージにマークが付された端を第1ピンとし、反時計回りにピン番号が増加されて配列される。各実施形態に関係の深い部分を中心に説明すると、データ信号に関し、第2、第4、第5、第7、第8、第10、第11、第13ピンに端子DQ0〜DQ7が、それぞれ割り当てられる。また、第54、第56、第57、第59、第60、第62、第63、第65ピンに端子DQ8〜DQ15がそれぞれ割り当てられる。
データストローブ信号に関し、16ビットデータの下位8ビットに対するデータストローブ信号の端子である端子LDQSが第16ピンに割り当てられ、上位8ビットに対するデータストローブ信号の端子である端子UDQSが第51ピンに割り当てられる。データマスク信号に関し、16ビットデータの下位8ビットに対するデータマスク信号の端子である端子LDMが第20ピンに割り当てられ、上位8ビットに対するデータマスク信号の端子である端子UDMが第47ピンに割り当てられる。なお、図中の端子NC(No Connect)は、内部で接続されていない端子である。
図5は、図4に示したデータバス幅が16ビットのDDR−SDRAM2を基板1に搭載した場合の、DDR−SDRAM2と基板1のコネクタ3との間の接続を示す。この図5のブロック図は、SO−DIMM規格において、「Raw Card Version A」として規定されているものである。
なお、図5では、各実施形態に関わりの深い、データ信号、データストローブ信号およびデータマスク信号、ならびに、チップセレクト信号について示している。また、図5では、基板1に搭載される8個のDDR−SDRAM2、2、…を、それぞれ、メモリD0〜D7として示している。また、DDR−SDRAM2側のデータ信号の端子DQxを、ピンI/Oxとして示している。
チップセレクト信号の端子_S0は、メモリD0〜D3の端子_Sに、端子_S1は、メモリD4〜D7の端子_Sにそれぞれ接続され、これらメモリD0〜D3およびメモリD4〜D7をそれぞれグループとして、何れか一方を選択できるようになっている。
データ信号に関し、コネクタ3の端子DQ0〜DQ7は、メモリD0の端子DQ0(I/O0)〜DQ7(I/O7)にそれぞれ接続されると共に、メモリD4の端子DQ15〜DQ8にそれぞれ接続される。コネクタ3の端子DQ8〜DQ15は、メモリD0の端子DQ8〜DQ15にそれぞれ接続されると共に、メモリD4の端子DQ7〜DQ0にそれぞれ接続される。
メモリD1、D2およびD3、ならびに、メモリD5、D6およびD7についても同様にして、コネクタ3のピンとの接続を行う。このように、4個のDDR−SDRAM2における16本のデータ信号の端子DQ0〜DQ15を、コネクタ3のデータ信号の端子DQ0〜DQ63に対して順次割り当てていく。これにより、64ビットのメモリバス幅を得ている。
さらに、データストローブ信号に関し、コネクタ3の端子DQS0は、メモリD0の、端子D0〜D7のデータ信号のタイミングを与える端子LDQSと、メモリD4の、端子D15〜D8のデータ信号のタイミングを与える端子UDQSとにそれぞれ接続される。コネクタ3の端子DQS1は、メモリD0の、端子D8〜D15のデータ信号のタイミングを与える端子UDQSと、メモリD4の、端子D7〜D0のデータ信号のタイミングを与える端子LDQSにそれぞれ接続される。
同様に、コネクタ3の端子DQS2、DQS4およびDQS6についても、チップセレクト信号_S0で選択される側のメモリD1、D2またはD3に対しては、端子D0〜D7のデータ信号のタイミングを与える端子LDQSにそれぞれ接続され、チップセレクト信号_S1で選択される側のメモリD5、D6およびD7に対しては、端子D15〜D8のデータ信号のタイミングを与える端子UDQSにそれぞれ接続される。
また、コネクタ3の端子DQS3、DQS5およびDQS7についても、チップセレクト信号_S0で選択される側のメモリD1、D2またはD3に対しては、端子D8〜D15のデータ信号のタイミングを与える端子UDQSにそれぞれ接続され、チップセレクト信号_S1で選択される側のメモリD5、D6およびD7に対しては、端子D7〜D0のデータ信号のタイミングを与える端子LDQSにそれぞれ接続される。
データマスク信号についても同様に、コネクタ3の端子DM0、DM2、DM4およびDM6についても、チップセレクト信号_S0で選択される側のメモリD0、D1、D2およびD3に対しては、端子D0〜D7のデータ信号をマスクする端子LDMにそれぞれ接続され、チップセレクト信号_S1で選択される側のメモリD4、D5、D6およびD7に対しては、端子D15〜D8のデータ信号をマスクする端子UDMにそれぞれ接続される。
また、コネクタ3の端子DM1、DM3、DM5およびDM7についても、チップセレクト信号_S0で選択される側のメモリD0、D1、D2またはD3に対しては、端子D8〜D15のデータ信号をマスクする端子UDMにそれぞれ接続され、チップセレクト信号_S1で選択される側のメモリD4、D5、D6およびD7に対しては、端子D7〜D0のデータ信号をマスクする端子LDMにそれぞれ接続される。
このように、DDR−SDRAM2では、8ビットを1のデータブロックとして、データブロック単位でデータストローブ信号を供給するようにしている。そのため、より高い動作周波数に対応することができ、高速動作が可能となっている。
ここで、高速動作を安定的に行うためには、データストローブ信号で正確にデータ信号のタイミングを取ることができるようにする必要がある。そのために、データブロックの各データ信号と、当該データブロックに対応したデータストローブ信号とで、配線長を同一とする技術が知られている。
このデータバス幅が16ビットのDDR−SDRAM2に対して、従来技術である特許文献1の技術を適用して、メモリモジュール10のデータバス幅32ビット化を図ることが考えられる。しかしながら、この場合、従来のデータ信号およびデータマスク信号に加え、データストローブ信号も分岐させて接続させる必要がある。これは、メモリモジュール10が装着されるメモリ制御基板のサイズを拡大させる要因となる。また、データストローブ信号は、データ信号のクロック信号としての役割を果たすため、同一配線長で基板レイアウトを行う必要があるなど、制約も多く、メモリ制御基板の配線レイアウトが非常に困難なものとなってしまう。
また、メモリ制御基板のメモリバスに対して、メモリモジュール10が1枚だけ装着されている場合であっても、データストローブ信号は、メモリモジュール10の基板1に搭載されている4個のDDR−SDRAM2それぞれの端子LDQSおよびUDQSに接続されることになり、信号の反射や負荷増大により波形品質が劣化するおそれがある。また、同一のメモリバスに対して複数のメモリモジュール10が装着される場合には、さらに負荷が増加し、動作の安定化が困難になる。
図6は、データバス幅が8ビットのDDR−SDRAM2’のピン配列を、パッケージを上面から見た場合について示す。この場合も、図4と同様に、各ピンは、パッケージにマークが付された端を第1ピンとし、反時計回りにピン番号が増加されて配列される。各実施形態に関係の深い部分を中心に説明すると、データ信号に関し、第2、第5、第8、第11、第56、第59、第62、第65ピンに、端子DQ0〜DQ7がそれぞれ割り当てられる。
なお、バス幅が8ビットのDDR−SDRAM2’では、バス幅が16ビットのDDR−SDRAM2においてデータ信号が割り当てられていた第4、第7、第10、第13、第54、第57、第60、第63ピンは、端子NCとされ、使用されない。このように、データバス幅が8ビットのDDR−SDRAM2’では、上述のデータバス幅が16ビットのDDR−SDRAM2におけるデータ信号のピン配列を、1ピンおきに用いている。
データストローブ信号に関し、上述のデータバス幅が16ビットのDDR−SDRAM2においてデータストローブ信号の端子が割り当てられている、第16ピンの端子LDQSと、第51ピンの端子UDQSとがそのまま用いられる。但しこの場合、1のDDR−SDRAM2’について、端子LDQSは、実際には内部的な接続が無い端子NC(No Connect)とされ、データストローブ信号のための入力としては、端子UDQSのみが用いられる。
データマスク信号についても同様に、上述のデータバス幅が16ビットのDDR−SDRAM2においてデータマスク信号の端子が割り当てられている、第20ピンの端子LDMと、第47ピンの端子UDMとがそのまま用いられる。この場合もデータストローブ信号と同様、1のDDR−SDRAM2’について、端子LDMは、実際には内部的な接続が無い端子NCとされ、データマスク信号のための入力としては、端子UDMのみが用いられる。
図7は、図6に示したデータバス幅が8ビットのDDR−SDRAM2’を基板1に搭載した場合の、DDR−SDRAM2と基板1のコネクタ3との間の接続を示す。この図7のブロック図は、SO−DIMM規格において「Raw Card Version B」として規定されているものである。
なお、図7では、各実施形態に関わりの深い、データ信号、データストローブ信号およびデータマスク信号、ならびに、チップセレクト信号について示している。また、図7では、基板1に搭載される8個のDDR−SDRAM2’、2’、…を、それぞれ、メモリD0’〜D7’として示している。また、DDR−SDRAM2’側のデータ信号の端子DQxを、ピンI/Oxとして示している。
チップセレクト信号の端子_S0は、メモリD0’〜D3’の端子_Sに、端子_S1は、メモリD4’〜D7’の端子_Sにそれぞれ接続され、これらメモリD0’〜D3’およびメモリD4’〜D7’をそれぞれグループとして、何れか一方を選択できるようになっている。
データ信号に関し、コネクタ3の端子DQ0〜DQ7は、メモリD0’の端子DQ0(I/O0)〜DQ7(I/O7)にそれぞれ接続されると共に、メモリD4’の端子DQ7〜DQ0にそれぞれ接続される。同様に、コネクタ3の端子DQ8〜DQ15は、メモリD1’の端子DQ0(I/O0)〜DQ7(I/O7)にそれぞれ接続されると共に、メモリD5’の端子DQ7〜DQ0にそれぞれ接続される。さらに、コネクタ3の端子DQ16〜DQ23は、メモリD2’の端子DQ0(I/O0)〜DQ7(I/O7)にそれぞれ接続されると共に、メモリD6’の端子DQ7〜DQ0にそれぞれ接続される。さらにまた、コネクタ3の端子DQ24〜DQ31は、メモリD3’の端子DQ0(I/O0)〜DQ7(I/O7)にそれぞれ接続されると共に、メモリD7’の端子DQ7〜DQ0にそれぞれ接続される。
このように、4個のDDR−SDRAM2’における8本のデータ信号の端子DQ0〜DQ7を、コネクタ3のデータ信号の端子DQ0〜DQ31に対して順次割り当てていくことで、32ビットのメモリバス幅を得ている。
さらに、データストローブ信号に関し、コネクタ3の端子DQS0は、メモリD0’およびD4’それぞれの端子DQSに接続される。すなわち、端子DQS0のデータストローブ信号は、メモリD0’の端子DQ0〜DQ7と、メモリ4’の端子DQ7〜DQ0のデータ信号のタイミングを与える。以下同様に、コネクタ3の端子DQS1は、メモリD1’およびD5’それぞれの端子DQSに、コネクタ3の端子DQS2は、メモリD2’およびD6’それぞれの端子DQSに、コネクタ3の端子DQS3は、メモリD3’およびD7’それぞれの端子DQSに、それぞれ接続される。
データマスク信号についても、データストローブ信号と同様である。すなわちコネクタ3の端子DM0は、メモリD0’およびD4’それぞれの端子DMに接続される。すなわち、端子DM0のデータストローブ信号は、メモリD0’の端子DQ0〜DQ7と、メモリD4’の端子DQ7〜DQ0のデータ信号のタイミングを与える。以下同様に、コネクタ3の端子DM1は、メモリD1’およびD5’それぞれの端子DMに、コネクタ3の端子DM2は、メモリD2’およびD6’それぞれの端子DMに、コネクタ3の端子DM3は、メモリD3’およびD7’それぞれの端子DMに、それぞれ接続される。
上述したように、データバス幅が16ビットのDDR−SDRAM2を用いて、メモリモジュール10をデータバス幅が32ビットのメモリ制御基板にて使用することは、困難である。そのため、データバス幅が32ビットのメモリコントローラを持つメモリ制御基板には、このデータバス幅が8ビットのDDR−SDRAM2’をメモリバス幅が32ビットのメモリモジュールとして使用するための専用のDIMMが用いられている。
ところが、このメモリバス幅32ビットに専用のDIMMは、サイズが90.34mm×30.48mmとなっており、図1に示したSO−DIMM規格に準じた200ピンの基板サイズと比べて、コネクタが設けられる長辺が長い。したがって、この専用のDIMMを用いる場合はより大きなコネクタ幅を必要とし、メモリ制御基板のサイズもより大きなものが必要であった。
(第1の実施形態)
次に、本発明の第1の実施形態によるメモリモジュールについて説明する。本発明の第1の実施形態では、図5に示したような、データバス幅が16ビットのDDR−SDRAM2に適合した配線がなされた、SO−DIMM規格に準じた基板1に対して、このDDR−SDRAM2の代わりに、データバス幅が8ビットのDDR−SDRAM2’を搭載する。
図6を用いて説明したように、DDR−SDRAM2’のデータ信号のピン配列は、データバス幅が16ビットのDDR−SDRAM2におけるデータ信号のピン配列を、1ピンおきに用いている。このDDR−SDRAM2’を、DDR−SDRAM2用に配線レイアウトを形成したSO−DIMMによる基板1に対してそのまま、すなわち、DDR−SDRAM2’の基板1に対するピン番号を、DDR−SDRAM2の基板1に対するピン番号と一致させて搭載する。
この場合、基板1およびコネクタ3において、DDR−SDRAM2では16本のデータ線が割り当てられていた箇所に、8本のデータ線が割り当てられることになる。データストローブ信号については、2のデータブロックを1のデータブロックとして扱うことができるため、1のデータストローブ信号をメモリ制御基板上で2のデータストローブ信号に分岐して、接続する。これにより、SO−DIMM用の基板1をそのまま用いて、メモリバス幅が32ビットのメモリモジュール10を構成することができる。
図8は、本第1の実施形態による、DDR−SDRAM2’と基板1のコネクタ3との間の接続を示す。この図8は、図5を用いて説明した、SO−DIMM規格における「Raw Card Version A」に規定されるモジュールの配線パターンに、データバス幅が8ビットのDDR−SDRAM2’のピン配列をそのまま適用した場合の例を示す。
なお、図8では、各実施形態に関わりの深い、データ信号、データストローブ信号およびデータマスク信号、ならびに、チップセレクト信号について示している。また、図8では、基板1に搭載される8個のDDR−SDRAM2’、2’、…を、それぞれ、メモリD0’〜D7’として示している。また、DDR−SDRAM2’側のデータ信号の端子DQxを、ピンI/Oxとして示している。
各メモリD0’〜D7’のパッケージ上でのピン配列は、図6を用いて説明した通りである。データバス幅が16ビットのメモリD0〜D7に対して、データ信号のピン配列を、1ピンおきに用い、使用しないピンが端子NCとされる。
コネクタ3におけるチップセレクト信号の端子_S0は、メモリD0’〜D3’の端子_Sに、端子_S1は、メモリD4’〜D7’の端子_Sにそれぞれ接続され、これらメモリD0’〜D3’およびメモリD4’〜D7’をそれぞれグループとして、何れか一方を選択できるようになっている。
コネクタ3の端子_S0によるチップセレクト信号で選択されるグループを例に取ると、メモリD0’において、端子DQ0(第2ピン)、端子DQ1(第5ピン)、端子DQ2(第8ピン)および端子DQ3(第11ピン)が、それぞれコネクタ3の端子DQ0〜DQ3に接続される。同様に、メモリD0’において、端子DQ4(第56ピン)、端子DQ5(第59ピン)、端子DQ6(第62ピン)および端子DQ7(第65ピン)が、それぞれコネクタ3の端子DQ4〜DQ7に接続される。
以下、同様にして、メモリD1’の端子DQ0〜DQ7がそれぞれコネクタ3の端子DQ8〜DQ15に、メモリD2’の端子DQ0〜DQ7がそれぞれコネクタ3の端子DQ16〜DQ23に、メモリD3’の端子DQ0〜DQ7がそれぞれコネクタ3の端子DQ24〜DQ31に接続される。
また、コネクタ3の端子_S1によるチップセレクト信号で選択されるグループでも同様に、メモリD4’の端子DQ7〜DQ0がそれぞれコネクタ3の端子DQ0〜DQ7に、メモリD5’の端子DQ7〜DQ0がそれぞれコネクタ3の端子DQ8〜DQ15に、メモリD6’の端子DQ7〜DQ0がそれぞれコネクタ3の端子DQ16〜DQ23に、メモリD7’の端子DQ7〜DQ0がそれぞれコネクタ3の端子DQ24〜DQ31に接続される。
次に、本第1の実施形態によるデータストローブ信号の接続について説明する。データバス幅が32ビットなので、4本のデータストローブ信号DQS(0)〜(3)が用いられる。本第1の実施形態では、メモリコントローラから出力される4本のデータストローブ信号DQS(0)〜(3)を、メモリ制御基板上でそれぞれ2本に分岐させて、各メモリD0’〜D7’の端子UDQSおよびLDQSに供給する。図8の例では、例えば第1のデータストローブ信号DQS(0)が分岐され、分岐された信号が、チップセレクト信号_S0および_S1で一方が選択されるメモリD0’およびD4’の端子UDQSおよび端子LDQSに対してそれぞれ供給される。
なお、図6を用いて説明したように、データバス幅が8ビットのDDR−SDRAM2’の場合、データストローブ信号は1本しか用いられないため、データストローブ信号用のピンとしては端子UDQSのみが用いられ、端子LDQSは、無接続とされる。図8では、端子UDQSを単にDQSとし、端子LDQSを端子NCとしている。
図9を用いて、本第1の実施形態による接続について、より具体的に説明する。図9において、左側がメモリ制御基板100、右側がメモリモジュール10となっている。メモリモジュール10は、上述したように、SO−DIMM規格に規定される200ピンのDIMMである。
なお、図9は、煩雑さを避けるために、第1のデータストローブ信号DQS(0)に関する配線のみを示している。第2〜第4のデータストローブ信号DQS(1)〜(3)については、データストローブ信号DQS(0)と同様であるので、ここでの説明を省略する。また、データマスク信号DM(0)〜(3)については、データストローブ信号DQS(0)〜(3)と同様であるので、ここでの説明を省略する。
メモリ制御基板100には、メモリモジュール10の動作を制御するメモリコントローラ110が設けられる。メモリコントローラ110から出力された第1のデータストローブ信号DQS(0)は、メモリ制御基板100上で分岐され、メモリモジュール10の第11ピン(端子DQS0)と、第25ピン(端子DQS1)とに供給される。
メモリモジュール10において、端子DQS0は、メモリD0’の端子LDQS(第16ピン)と、メモリD4’の端子UDQS(第51ピン)とに接続される。端子LDQSは、内部的な接続の無い無接続の端子NCであって、第1のデータストローブ信号DQS(0)は、メモリD4’の端子UDQSにおいて、メモリD4’の端子DQ7〜DQ0のデータ信号に対するクロックを与える。
また、メモリモジュール10における端子DQS1は、メモリD0’の端子UDQS(第51ピン)と、メモリD4’の端子LDQS(第16ピン)とに接続される。そのため、第1のデータストローブ信号DQS(0)は、メモリD0’の端子UDQSにおいて、メモリD0’の端子DQ0〜DQ7のデータ信号に対するクロックを与える。
メモリD1’およびD5’、メモリD2’およびD6’、ならびに、メモリD3’およびD7’それぞれに対して供給する、第2〜第4のデータストローブ信号DQS(1)〜(3)についても、上述と同様であるので、ここでの詳細な説明を省略する。また、データマスク信号についても、データストローブ信号と同様の考え方ができるため、ここでの詳細な説明を省略する。
このように、本第1の実施形態によれば、分岐したデータストローブ信号DQS(0)が供給される4つの端子のうち2つは無接続(NC)の端子である。そのため、本第1の実施形態は、データ信号のクロックを制御するために4つの端子それぞれにデータストローブ信号を供給する従来技術と比較して、負荷容量が減少し、波形品質が向上される。
また、データストローブ信号の分岐がメモリモジュール10の外部で行われているので、SO−DIMMによる既存の基板1におけるデータストローブ信号に関する配線を変更しなくて済む。これは、SO−DIMMによる基板1に対して、データバス幅が16ビットのDDR−SDRAM2の代わりにデータバス幅が8ビットのDDR−SDRAM2’を搭載することを含めて、SO−DIMMによる既存の基板1をそのまま用いることができることを意味する。
(第2の実施形態)
次に、本第2の実施形態について説明する。上述した第1の実施形態では、無接続の端子LDQSに対してデータストローブ信号を供給する配線が接続されている。この配線は、実際には無駄なものと考えられ、波形品質を劣化させる要因となりうる。本第2の実施形態では、既存の基板1のデータストローブ信号に関する配線に対する変更を抑制しつつ、上述の無駄な接続を避ける。
図10を用いて、本第2の実施形態による接続について説明する。図10において、左側がメモリ制御基板100、右側がメモリモジュール10となっている。メモリモジュール10は、上述したように、SO−DIMM規格に規定される200ピンのDIMMである。
なお、図10は、煩雑さを避けるために、第1のデータストローブ信号DQS(0)に関する配線のみを示している。第2〜第4のデータストローブ信号DQS(1)〜(3)については、データストローブ信号DQS(0)と同様であるので、ここでの説明を省略する。また、データマスク信号DM(0)〜(3)については、データストローブ信号DQS(0)〜(3)と同様であるので、ここでの説明を省略する。
図10に示されるように、本第2の実施形態では、データストローブ信号が供給されるメモリモジュール10のピン、例えば第11ピン(端子DQS0)から、メモリD0’の無接続のピン(例えば端子LDQS)への配線の途中に、脱着可能なジャンパパターン210を挿入する。第25ピン(端子DQS1)側にも同様に、メモリD4’の無接続のピン(例えば端子LDQS)への配線の途中に、脱着可能なジャンパパターン211を挿入する。
そして、当該メモリモジュール10に対してデータバス幅が16ビットのDDR−SDRAM2を搭載する場合には、ジャンパパターン210および211を接続状態とし、データバス幅が8ビットのDDR−SDRAM2’を搭載する場合には、ジャンパパターン210および211を切断状態とする。
ジャンパパターン210および211を切断状態とする場合、無接続のピン側の配線がジャンパパターン210および211までとなって配線長が短縮され、波形品質が向上される。また、1種類の基板1で、メモリバス幅が32ビットおよび64ビットのメモリ制御基板に共通で対応可能となる。
(第2の実施形態の第1の変形例)
図11を用いて、本第2の実施形態の第1の変形例による接続について説明する。図11において、左側がメモリ制御基板100、右側がメモリモジュール10となっている。メモリモジュール10は、上述したように、SO−DIMM規格に規定される200ピンのDIMMである。
なお、図11は、煩雑さを避けるために、第1のデータストローブ信号DQS(0)に関する配線のみを示している。第2〜第4のデータストローブ信号DQS(1)〜(3)については、データストローブ信号DQS(0)と同様であるので、ここでの説明を省略する。また、データマスク信号DM(0)〜(3)については、データストローブ信号DQS(0)〜(3)と同様であるので、ここでの説明を省略する。
図11に示されるように、本第2の実施形態の第1の変形例では、上述した第2の実施形態におけるジャンパパターン210および211の代わりに、例えばトランジスタによるスイッチ素子220および221を用いる。
メモリモジュール10に対してデータバス幅が16ビットのDDR−SDRAM2を搭載する場合には、メモリ制御基板100側に設けた、例えばディップスイッチなどによるスイッチ120を閉状態とする。これにより、電圧Vbが抵抗R1およびR2で分圧されてスイッチ素子220および221それぞれのベースに供給され、スイッチ素子220および221が閉状態とされる。メモリモジュール10に対してデータバス幅が8ビットのDDR−SDRAM2’を搭載する場合には、メモリ制御基板100側に設けたスイッチ120を開状態とし、スイッチ素子220および221を開状態とする。
なお、スイッチ120からの電圧信号は、メモリモジュール10における未使用のピン(図11の例では、端子DUとされている第85ピン)を介して、スイッチ素子220および221に供給する。
(第2の実施形態の第2の変形例)
図12を用いて、本第2の実施形態の第2の変形例による接続について説明する。図12において、左側がメモリ制御基板100、右側がメモリモジュール10となっている。メモリモジュール10は、上述したように、SO−DIMM規格に規定される200ピンのDIMMである。
なお、図12は、煩雑さを避けるために、第1のデータストローブ信号DQS(0)に関する配線のみを示している。第2〜第4のデータストローブ信号DQS(1)〜(3)については、データストローブ信号DQS(0)と同様であるので、ここでの説明を省略する。また、データマスク信号DM(0)〜(3)については、データストローブ信号DQS(0)〜(3)と同様であるので、ここでの説明を省略する。
図12に示されるように、本第2の実施形態の第2の変形例では、上述した第2の実施形態の第1の変形例においてスイッチ素子220および221を開閉させるためのスイッチ120の役割を、64/32切替信号で置き換えた例である。
例えば、ASIC(Application Specific Integrated Circuit)130によってメモリコントローラを構成し、当該ASIC130を、汎用ポートから64/32切替信号を出力するように構成する。64/32切替信号は、例えばメモリモジュール10における未使用のピン(例えば第85ピン)を介して、スイッチ素子220および221に供給する。
例えば、ASIC130に対して、メモリ制御基板100のメモリバス幅が32ビットおよび64ビットのうち何れであるかを予め設定しておく。ASIC130は、メモリ制御基板100のブート時などに設定内容をチェックする。そして、設定された値が当該メモリ制御基板100のバス幅が32ビットであることを示していた場合に、スイッチ素子220および221を開状態とするような64/32切替信号を出力する。一方、設定された値が当該メモリ制御基板100のバス幅が64ビットであることを示していた場合、スイッチ素子220および221を閉状態とするような64/32切替信号を出力する。
本第2の実施形態の第2の変形例によれば、上述の第1の変形例のスイッチ120を設ける方法に比べ、部品点数が削減され、メモリ制御基板100の小型化が可能となると共に、コストダウンが図れる。
(第2の実施形態の第3の変形例)
図13を用いて、本第2の実施形態の第3の変形例による接続について説明する。図13において、左側がメモリ制御基板100、右側がメモリモジュール10となっている。メモリモジュール10は、上述したように、SO−DIMM規格に規定される200ピンのDIMMである。
なお、図13は、煩雑さを避けるために、第1のデータストローブ信号DQS(0)に関する配線のみを示している。第2〜第4のデータストローブ信号DQS(1)〜(3)については、データストローブ信号DQS(0)と同様であるので、ここでの説明を省略する。また、データマスク信号DM(0)〜(3)については、データストローブ信号DQS(0)〜(3)と同様であるので、ここでの説明を省略する。
図13に例示されるように、本第3の変形例では、メモリ制御を行うASIC130が、基板1上に搭載されるSPD4からメモリモジュール10に関する情報を読み出す。そして、読み出した情報に基づき、当該メモリモジュール10のメモリバス幅が32ビットおよび64ビットの何れに対応するかを判定し、判定結果に応じて64/32切替信号を出力し、スイッチ素子220および221の開閉状態を制御する。
例えば、ASIC130は、メモリ制御基板100のブート時などに、メモリモジュール10を使用しないROM(Read Only Memory)実行などを行い、SPD4からDIMMの種類を読み込む。その後、読み込んだ情報に基づき64/32切替信号を出力する。
なお、ASIC130は、SPD4を駆動するためのクロック信号を生成し、生成したクロック信号を、メモリモジュール10において規定のSPDのクロック信号用の端子SCL(第195ピン)を介して供給する。また、ASIC130は、SPD4との間でのデータの授受を、メモリモジュール10において規定のSPDのデータ用の端子SDA(第193ピン)を介して行う。
本第2の実施形態の第3の変形例によれば、予めメモリモジュール10に関する情報を記憶して当該メモリモジュール10に搭載されたSPD4の情報をメモリコントローラ側から読み出して、当該メモリモジュール10のメモリバスのバス幅が32ビットおよび64ビットのうち何れかを判定する。そのため、メモリコントローラ側でメモリモジュール10のメモリバス幅の判別を事前に行う必要が無く、ソフトウェアの共通化などを図れる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。上述の第2の実施形態および第2の実施形態の各変形例では、データストローブ信号を、メモリ制御基板100側で分岐させ、さらに、メモリモジュール10において各DDR−SDRAM2’の無接続の端子NC(端子LDQS)に接続していた。この無接続の端子NCは、内部接続を有する他の端子と比較すると、負荷容量が遙かに低い。しかしながら、この端子NCにも、デバイスのパッケージやピンそのものの負荷容量が存在するため、波形品質に若干の劣化が発生するおそれがある。
本第3の実施形態は、データストローブ信号の無接続のピンへの接続を行わないと共に、データストローブ信号の分岐をメモリモジュール10内で行うようにしている。
図14を用いて、本第3の実施形態による接続について説明する。図14において、左側がメモリ制御基板100、右側がメモリモジュール10となっている。メモリモジュール10は、上述したように、SO−DIMM規格に規定される200ピンのDIMMである。
図14は、煩雑さを避けるために、第1のデータストローブ信号DQS(0)に関する配線のみを示している。第2〜第4のデータストローブ信号DQS(1)〜(3)については、データストローブ信号DQS(0)と同様であるので、ここでの説明を省略する。また、データマスク信号DM(0)〜(3)については、データストローブ信号DQS(0)〜(3)と同様であるので、ここでの説明を省略する。
メモリコントローラ110から出力された第1のデータストローブ信号DQS(0)は、メモリモジュール10の第11ピン(端子DQS0)に供給される。このメモリモジュール10の第11ピンからの配線は、メモリモジュール10の基板1上で2本に分岐され、メモリD0’およびメモリD4’それぞれの第51ピン(端子UDQS)に接続される。一方、メモリ0’およびメモリD4’それぞれの第16ピン(端子LDQS)には、配線を接続しない。
以上説明したように、本第3の実施形態では、1本のデータストローブ信号の配線を、基板1上で2本に分岐してチップセレクト信号_S0および_S1で一方が選択される2つのメモリの端子UDQSに接続する。それと共に、これら2つのメモリの、データバス幅が8ビットのパッケージでは無接続(NC)とされている端子LDQSには、配線を接続しない。これにより、これら2つのメモリに対するデータストローブ信号の配線長を同一とする設計が容易になると共に、無駄な接続による負荷容量の増大も発生せず、波形品質が向上される。
このように、本第3の実施形態では、SO−DIMMによる基板1の配線レイアウトを多少変更するだけで、小型且つ波形品質の良好な、メモリバス幅が32ビットのメモリモジュール10を実現できる。