メモリモジュール
【課題】高いデータ転送レートを実現可能なLoad Reduced型のメモリモジュールを提供する。
【解決手段】モジュール基板110の長辺に沿って設けられた複数のデータコネクタ120と、モジュール基板110に搭載されたメモリチップ200及びデータレジスタバッファ300と、データコネクタ120とデータレジスタバッファ300とを接続するデータ配線L0と、データレジスタバッファ300とメモリチップ200とを接続するデータ配線L1,L2とを備える。各データレジスタバッファ300と、これに対応するデータコネクタ120及びメモリチップ200は、モジュール基板110の短辺方向に並べて配置されている。本発明によれば、データ配線の配線距離が非常に短くなることから、非常に高いデータ転送レートを実現することが可能となる。
【解決手段】モジュール基板110の長辺に沿って設けられた複数のデータコネクタ120と、モジュール基板110に搭載されたメモリチップ200及びデータレジスタバッファ300と、データコネクタ120とデータレジスタバッファ300とを接続するデータ配線L0と、データレジスタバッファ300とメモリチップ200とを接続するデータ配線L1,L2とを備える。各データレジスタバッファ300と、これに対応するデータコネクタ120及びメモリチップ200は、モジュール基板110の短辺方向に並べて配置されている。本発明によれば、データ配線の配線距離が非常に短くなることから、非常に高いデータ転送レートを実現することが可能となる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はメモリモジュールに関し、特に、Load Reduced型のメモリモジュールに関する。
【背景技術】
【0002】
DIMM(Dual Inline Memory Module)などのメモリモジュールは、モジュール基板上にDRAM(Dynamic Random Access Memory)などのメモリチップが多数搭載された構成を有している。このようなメモリモジュールは、マザーボード上に設けられたメモリスロットに装着され、これによってメモリコントローラとの間でデータの転送が行われる。近年においては、システムが要求するメモリ容量が非常に大きいため、1枚のメモリモジュールによって必要なメモリ容量を確保することは困難である。このため、通常は、マザーボード上に複数のメモリスロットが設けられており、これにより複数のメモリモジュールを装着可能であることがほとんどである。
【0003】
しかしながら、複数のメモリモジュールを装着すると、マザーボード上におけるデータ配線の負荷容量が大きくなり、信号品質が劣化する。このような問題は、メモリコントローラとメモリモジュール間のデータ転送レートがある程度低い場合には大きな問題とはならないが、メモリコントローラとメモリモジュール間のデータ転送レートが高くなると、信号品質の劣化によって正しくデータ転送を行うことができないという問題が生じる。近年においては、1.6〜3.2Gbps程度のデータ転送レートが要求されており、このような高速転送を実現するためには、マザーボード上におけるデータ配線の負荷容量を十分に低減する必要がある。
【0004】
データ配線の負荷容量を低減することが可能なメモリモジュールとしては、いわゆるFully Buffered型のメモリモジュールが知られている(特許文献1)。Fully Buffered型のメモリモジュールにおいては、メモリコントローラから供給されるライトデータを一旦全てAdvanced Memory Buffer(AMB)と呼ばれる専用チップで受け、これを所定のメモリチップに供給する。リード動作はこの逆であり、メモリチップから出力されたリードデータが一旦全てAMBに供給され、AMBからメモリコントローラへ供給される。したがって、メモリコントローラからは各メモリチップの負荷容量が見えないことから、データ配線の負荷容量が大幅に低減する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−135597号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、Fully Buffered型のメモリモジュールに用いられるAMBは高機能なチップであり、比較的高価であることから、メモリモジュールの価格が大幅に高くなるという問題がある。また、Fully Buffered型のメモリモジュールでは、メモリコントローラとAMBとの間におけるインターフェースが、メモリコントローラとメモリチップ間における通常のインターフェースとは異なることから、従来のメモリコントローラをそのまま使用することができないという問題もある。
【0007】
このような背景から、近年、Load Reduced型と呼ばれるメモリモジュールが提案されている。Load Reduced型のメモリモジュールは、AMBの代わりにレジスタバッファを用いるタイプのメモリモジュールである。レジスタバッファは、データやコマンド/アドレスなどの信号をバッファリングするだけのチップであることから、安価に提供することができる。しかも、メモリコントローラとレジスタバッファとの間におけるインターフェースは、メモリコントローラとメモリチップとの間における通常のインターフェースとは変わらないことから、従来のメモリコントローラをそのまま使用することができる。
【0008】
しかしながら、本発明者らは、Load Reduced型のメモリモジュールについて鋭意研究を重ねた結果、データ転送レートが非常に高くなると、単に1個のレジスタバッファを用いるのみではモジュール基板上における信号品質が不十分となることが明らかとなった。このため、本発明者らは、非常に高いデータ転送レートを実現可能なLoad Reduced型のメモリモジュールについてさらなる研究を行った。本発明は、このような研究の結果なされたものである。
【課題を解決するための手段】
【0009】
本発明によるメモリモジュールは、モジュール基板と、前記モジュール基板の長辺に沿って設けられた複数のデータコネクタと、前記モジュール基板に搭載された複数のメモリチップと、前記モジュール基板に搭載され、それぞれ2個以上の前記メモリチップが割り当てられた複数のデータレジスタバッファと、前記モジュール基板に形成され、前記複数のデータコネクタと前記複数のデータレジスタバッファとを接続する複数の第1のデータ配線と、前記モジュール基板に形成され、前記複数のデータレジスタバッファと前記複数のメモリチップとを接続する複数の第2のデータ配線と、を備え、各データレジスタバッファと、これに対応する複数の前記データコネクタ及び複数の前記メモリチップは、前記モジュール基板の短辺方向に並べて配置されていることを特徴とする。
【発明の効果】
【0010】
本発明によれば、モジュール基板上に複数のデータレジスタバッファを搭載するとともに、各データレジスタバッファとこれに対応するデータコネクタ及びメモリチップを短辺方向に並べて配置していることから、データコネクタからメモリチップまでの配線距離が非常に短くなる。これにより、モジュール基板上における信号品質が高められ、その結果、非常に高いデータ転送レートを実現することが可能となる。
【図面の簡単な説明】
【0011】
【図1】本発明の好ましい実施形態によるメモリモジュール100の構成を示す模式図である。
【図2】メモリモジュール100を備える情報処理システム10の構成を示すブロック図である。
【図3】メモリシステム20が形成された部分におけるマザーボードの構造を模式的に示す斜視図である。
【図4】メモリチップ200の構成を示すブロック図である。
【図5】データレジスタバッファ300の構成を示すブロック図である。
【図6】コマンド/アドレス/コントロールレジスタバッファ400の構成を示すブロック図である。
【図7】メモリモジュール100の配線図である。
【図8】メモリモジュール100の1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【図9】データ配線L1,L2を1本に纏めた場合における1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【図10】2本のデータ配線L1,L2を用いたインターリーブ動作を説明するためのタイミング図である。
【図11】メモリモジュール100のリード動作を説明するためのタイミング図である。
【図12】メモリモジュール100のライト動作を説明するためのタイミング図である。
【図13】メモリモジュール100の起動時における初期化動作を説明するためのフローチャートである。
【図14】データレジスタバッファ300とメモリチップ200との間のライトレベリング動作を説明するためのタイミング図であり、(a)はレベリング開始時におけるタイミング図、(b)レベリング終了時におけるタイミング図である。
【図15】データレジスタバッファ300とメモリチップ200との間のリードレベリング動作を説明するためのタイミング図である。
【図16】メモリコントローラ12とデータレジスタバッファ300との間のライトレベリング動作を説明するためのタイミング図であり、(a)はレベリング開始時におけるタイミング図、(b)レベリング終了時におけるタイミング図である。
【図17】メモリコントローラ12とデータレジスタバッファ300との間のリードレベリング動作を説明するためのタイミング図である。
【図18】DLL回路を使用せずにODT動作を行う場合の問題点を説明するためのタイミング図である。
【図19】ODT機能及びDLL回路ともオン状態とした場合のリードtoリード動作を説明するためのタイミング図である。
【図20】ODT機能及びDLL回路ともオフ状態とした場合のリードtoリード動作を説明するためのタイミング図である。
【図21】ODT機能及びDLL回路ともオン状態とした場合のライトtoライト動作を説明するためのタイミング図である。
【図22】ODT機能及びDLL回路ともオフ状態とした場合のライトtoライト動作を説明するためのタイミング図である。
【図23】変形例によるメモリモジュールの1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【図24】他の変形例によるメモリモジュールの1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【図25】さらに他の変形例によるメモリモジュールの構成を示す模式図である。
【図26】サブモジュール500の構成を示す平面図である。
【図27】図26に示すY1−Y1'線に沿った断面図である。
【図28】サブモジュール500の別の構成を示す平面図である。
【図29】図28に示すY2−Y2'線に沿った断面図である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
【0013】
図1は、本発明の好ましい実施形態によるメモリモジュール100の構成を示す模式図である。
【0014】
図1に示すように、本実施形態によるメモリモジュール100は、モジュール基板110と、モジュール基板110に搭載された複数のメモリチップ200、複数のデータレジスタバッファ300及び1個のコマンド/アドレス/コントロールレジスタバッファ400とを備えている。
【0015】
本実施形態では、メモリチップ200の搭載数は36個であり、各メモリチップを特に区別する必要があるときは、それぞれメモリチップ200−0〜200−35と表記する。また、本実施形態では、データレジスタバッファ300の搭載数は9個であり、各データレジスタバッファを特に区別する必要があるときは、それぞれデータレジスタバッファ300−0〜300−8と表記する。これに対し、コマンド/アドレス/コントロールレジスタバッファ400の搭載数は1個である。但し、本発明においてコマンド/アドレス/コントロールレジスタバッファ400の搭載数を1個とすることは必須でなく、2個以上のコマンド/アドレス/コントロールレジスタバッファ400を搭載しても構わない。
【0016】
モジュール基板110は多層配線が施されたプリント基板であり、その平面形状は、図1に示すX方向を長辺とし、Y方向を短辺とする略長方形である。モジュール基板110の一辺には、長辺であるX方向に沿って複数のデータコネクタ120及び複数のコマンド/アドレス/コントロールコネクタ130が設けられている。データコネクタ120及びコマンド/アドレス/コントロールコネクタ130は、後述するメモリスロットを介して、メモリコントローラとの電気的な接続を取るための端子である。
【0017】
データコネクタ120は、メモリチップ200に書き込むべきライトデータ及びメモリチップ200から読み出されたリードデータを授受するためのコネクタである。特に限定されるものではないが、本実施形態ではデータコネクタ120のピン数は72個である。図1に示すように、これら72個のデータコネクタ120のうち、メモリチップ200−0〜200−19に対応するデータコネクタは、これらメモリチップ200−0〜200−19のほぼ真下に位置する領域110aに配置され、メモリチップ200−20〜200−35に対応するデータコネクタは、これらメモリチップ200−20〜200−35のほぼ真下に位置する領域110bに配置されている。
【0018】
コマンド/アドレス/コントロールコネクタ130は、コマンド/アドレス/コントロールレジスタバッファ400に供給するコマンド信号、アドレス信号、コントロール信号及びクロック信号が供給されるコネクタである。図1に示すように、これらコマンド/アドレス/コントロールコネクタ130は、領域110aと領域110bとの間に位置する領域110cに配置されている。
【0019】
メモリチップ200は例えばDRAMであり、枝番号が偶数であるメモリチップ200−0,200−2・・・はモジュール基板110の一方の表面に搭載され、枝番号が奇数であるメモリチップ200−1,200−3・・・はモジュール基板110の他方の表面に搭載されている。そして、対応する2個のメモリチップ、例えばメモリチップ200−0と200−1は、モジュール基板110を介して互いに対向する位置に搭載されている。
【0020】
本実施形態によるメモリモジュール100は、いわゆる4Rank構成である。Rank数とは、排他的に選択されるメモリ空間の数を指す。各Rank間には同じアドレスが割り当てられるものの、チップセレクト(CS)信号を排他的に活性化させたり、クロックイネーブル(CKE)信号を排他的に活性化させたりすることによって、いずれか1つのRankが選択される。
【0021】
本実施形態では、4個のメモリチップ200が一つの組を構成しており、これら4個のメモリチップ200が互いに異なるRankに属している。例えば、メモリチップ200−0〜200−3が一つの組を構成しており、これらメモリチップ200−0〜200−3が互い異なるRankに属している。
【0022】
図1に示すように、このような組を構成する4個のメモリチップ200は、1つのデータレジスタバッファ300に接続されている。例えば、メモリチップ200−0〜200−3からなる組は、データレジスタバッファ300−0に接続されている。このうち、上側に搭載されたメモリチップ200−0,200−1は、データ配線L1を介してデータレジスタバッファ300−0に接続され、下側に搭載されたメモリチップ200−2,200−3は、データ配線L2を介してデータレジスタバッファ300−0に接続されている。尚、図1に示すデータ配線L1,L2の矢印は、いずれも1バイト(8ビット)分の配線を示している。データ配線L1,L2は、いずれもモジュール基板110の内部に形成された配線である。
【0023】
メモリチップ200の動作は、コマンド/アドレス/コントロールレジスタバッファ400より供給されるコマンド信号、アドレス信号、コントロール信号及びクロック信号に基づいて制御される。メモリチップ200の詳細については後述する。
【0024】
データレジスタバッファ300は、上述の通り、4個のメモリチップ200に対して1個ずつ割り当てられており、9個のデータレジスタバッファ300が長辺であるX方向に配列されている。データレジスタバッファ300は、データ配線L0を介して転送されるライトデータをバッファリングしてデータ配線L1,L2のいずれかへ出力するとともに、いずれかのデータ配線L1,L2を介して転送されるリードデータをバッファリングしてデータ配線L0に出力するためのチップである。データ配線L0も、モジュール基板110の内部に形成された配線である。
【0025】
かかる構成により、1個のデータレジスタバッファ300と、これに対応するデータコネクタ120及び4個のメモリチップ200は、一つのグループGを構成している。同じグループに含まれるメモリチップ200、データレジスタバッファ300及びデータコネクタ120は、モジュール基板110の短辺であるY方向に並べて配置されており、このようなグループGが長辺であるX方向に並べて配置されている。したがって、各データレジスタバッファ300とこれに対応する4個のメモリチップ200との相対的な位置関係は、全てのグループGについて一定となる。
【0026】
これにより、データ配線L0の配線長を短くすることができるとともに、グループ間におけるデータ配線L0の配線長をほぼ等しくすることが可能となる。同様に、データ配線L1,L2の配線長を短くすることができるとともに、グループ間におけるデータ配線L1,L2の配線長をほぼ等しくすることが可能となる。
【0027】
データレジスタバッファ300の動作は、コマンド/アドレス/コントロールレジスタバッファ400より供給されるコントロール信号に基づいて制御される。データレジスタバッファ300の詳細については後述する。
【0028】
コマンド/アドレス/コントロールレジスタバッファ400は、モジュール基板110に1個だけ搭載されている。図1に示すように、コマンド/アドレス/コントロールレジスタバッファ400は、モジュール基板110の長辺であるX方向における略中央部に配置されている。
【0029】
コマンド/アドレス/コントロールレジスタバッファ400は、コマンド/アドレス/コントロールコネクタ130をから供給されるコマンド信号、アドレス信号、コントロール信号及びクロック信号(これらを纏めてコマンド/アドレス/コントロール信号と呼ぶことがある)を入力端子401で受け、これらをバッファリングしてメモリチップ200に供給するとともに、コントロール信号を生成する。メモリチップ200へ供給するコマンド/アドレス信号は、出力端子402を介して出力され、データバッファ300へ供給するコントロール信号は出力端子403を介して出力される。
【0030】
出力端子402はコマンド/アドレス/コントロールレジスタバッファ400の左側用と右側用にそれぞれ1セット用意され、例えば左側の出力端子402は、Rankの選択などに必要なコントロール信号を除き、メモリチップ200−0〜200−19に対して共通接続されている。すなわち、コマンド信号、アドレス信号及びクロック信号は、メモリチップ200−0〜200−19に対して共通に供給される。また、出力端子403においても、コマンド/アドレス/コントロールレジスタバッファ400の左側用と右側用にそれぞれ1セット用意され、例えば左側の出力端子402は、データレジスタバッファ300−0〜300−4に対して共通接続されている。これにより、生成されたコントロール信号は、データレジスタバッファ300−0〜300−4に対して共通に供給される。
【0031】
また、モジュール基板110には、コマンド/アドレス/コントロールレジスタバッファ400から出力されたコマンド/アドレス信号やコントロール信号の反射を防止すべく、X方向における端部に終端抵抗R1が設けられている。さらに、コマンド/アドレス/コントロールレジスタバッファ400に入力されるコマンド/アドレス/コントロール信号の反射波を吸収すべく、コマンド/アドレス/コントロールコネクタ130とコマンド/アドレス/コントロールレジスタバッファ400とを接続するコマンド/アドレス/コントロール配線L3の経路上には、スタブ抵抗R2が挿入されている。コマンド/アドレス/コントロールレジスタバッファ400の詳細については後述する。
【0032】
図2は、本実施形態によるメモリモジュール100を備える情報処理システム10の構成を示すブロック図である。
【0033】
図2に示す情報処理システム10は、CPU11と、メモリコントロールハブ(MCH)12及びインターフェースコントロールハブ(ICH)13を介してCPU11に接続された各種デバイスとを備えている。
【0034】
MCH12には、図1に示したメモリモジュール100及びグラフィックコントローラ15が接続されている。図2に示すように、メモリモジュール100とMCH12はメモリシステム20を構成し、MCH12はメモリモジュール100に対するコントローラ機能を有している。すなわち、メモリコントローラとして機能する。
【0035】
ICH13には、ストレージデバイス16、I/Oデバイス17、及びBIOS(Basic Input/Output System)18が接続されている。ストレージデバイス16は、ハードディスクドライブなどの磁気ドライブや、CD−ROMドライブなどの光学ドライブなどが含まれる。また、I/Oデバイス17は、キーボード、マウスなどの入力デバイスや、スピーカなどの出力デバイス、さらには、モデム、LANなどのネットワークデバイスが含まれる。BIOS18は、当該情報処理システム10に関する基本的な各種情報を記憶する一種のファームウェアであり、フラッシュメモリなどの不揮発性メモリによって構成される。
【0036】
図3は、メモリシステム20が形成された部分におけるマザーボードの構造を模式的に示す斜視図である。
【0037】
図3に示すように、マザーボード21にはメモリスロット22が設けられており、メモリスロット22にメモリモジュール100が挿入されている。一方、メモリコントローラ12は、マザーボード21に直接実装されている。既に説明したように、メモリモジュール100には複数のメモリチップ200が搭載されている。
【0038】
ここで、メモリコントローラ12とメモリチップ200との間の信号経路には、マザーボード21に形成された配線23と、モジュール基板110に形成されたデータ配線L0及びコマンド/アドレス/コントロール配線L3が存在する。しかしながら、図1を用いて説明したように、本実施形態によるメモリモジュール100では、データ配線L0にデータレジスタバッファ300が接続されているため、その先の信号経路に存在するメモリチップ200の負荷容量はメモリコントローラ12からは見えない。同様に、コマンド/アドレス/コントロール配線L3にはコマンド/アドレス/コントロールレジスタバッファ400が接続されているため、その先の信号経路に存在するメモリチップ200の負荷容量はメモリコントローラ12からは見えない。これにより、メモリコントローラ12とメモリモジュール100とを接続する信号経路の負荷容量が低減されるため、データ転送レートが高い場合であっても良好な信号品質を確保することが可能となる。
【0039】
尚、図3に示したメモリシステム20では、マザーボード21にメモリスロット22が1個だけ設けられているが、実際のメモリシステムでは、複数(例えば4個)のメモリスロットが設けられ、これらメモリスロットにそれぞれメモリモジュール100が装着される。複数のメモリモジュール100を装着すると信号経路の負荷容量はその分増大するが、本実施形態では、メモリモジュール1枚当たりの負荷容量が従来に比べて非常に小さいことから、複数のメモリモジュールを装着した場合であっても、高速なデータ転送を行うことが可能となる。
【0040】
次に、メモリチップ200の構成について説明する。
【0041】
図4は、メモリチップ200の構成を示すブロック図である。
【0042】
メモリチップ200はDRAMであり、図4に示すように、外部端子として、クロック端子201、コマンド端子202、コントロール端子206、アドレス端子203、データ入出力端子204及びデータストローブ端子205を備えている。このうち、クロック端子201、コマンド端子202及び、コントロール端子206、アドレス端子203については、図1に示したコマンド/アドレス/コントロール配線L5を介してコマンド/アドレスレジスタバッファ400に接続されている。また、データ入出力端子204及びデータストローブ端子205については、図1に示したデータ配線L1又はL2を介して、データレジスタバッファ300に接続されている。その他、電源端子なども備えられているが、これらについては図示を省略してある。
【0043】
クロック端子201はクロック信号CKが供給される端子であり、供給されたクロック信号CKは、内部クロック生成回路211に供給される。内部クロック生成回路211の出力である内部クロックICLKは、各種内部回路に供給される。クロック信号CKはDLL回路212にも供給される。DLL回路212は、内部クロックLCLKを生成し、これをデータ入出力回路213及びデータストローブ信号入出力回路214に供給する役割を果たす。ここで、内部クロックLCLKは、クロック信号CKに対して位相制御された信号であり、リードデータDQ及びデータストローブ信号DQSの位相がクロック信号CKの位相と一致するよう、クロック信号CKに対してやや位相が進められている。
【0044】
DLL回路212は、モードレジスタ215へのセット内容に応じて使用の可否が選択される。つまり、モードレジスタ215に「DLLオンモード」がセットされている場合には、DLL回路212は使用状態とされ、内部クロックLCLKはクロック信号CKに対して位相制御される。一方、モードレジスタ215に「DLLオフモード」がセットされている場合には、DLL回路212は不使用状態(クロック信号CKはショートカット)とされ、内部クロックLCLKはクロック信号CKに対して位相制御されなくなる。
【0045】
コマンド端子202は、ロウアドレスストローブ(RAS)信号、カラムアドレスストローブ(CAS)信号、ライトイネーブル(WE)信号などからなるコマンド信号CMDが供給される端子である。コントロール端子206は、チップセレクト(CS)信号、クロックイネーブル(CKE)信号、オンダイターミネーション(ODT)信号などの、Rankごとのコントロール信号CTRLが供給される端子である。チップセレクト(CS)信号により、コマンド発行対象となるDRAMが切り換えられ、DRAM内のクロック系の活性化や、オンダイターミネーション制御がなされる。コマンド信号CMDは、コマンドデコーダ216に供給される。コマンドデコーダ216は、内部クロックICLKに同期して、コマンド信号の保持、デコード及びカウントなどを行うことによって、各種内部コマンドICMDを生成する回路である。生成された内部コマンドは、モードレジスタ215を含む各種制御回路(図示せず)に供給される。また、コントロール信号CTRLは、コントロール回路218に供給される。コントロール回路218は、コントロール信号CTRLに基づいてODT信号などの内部コントロール信号を生成する回路である。
【0046】
アドレス端子203は、アドレス信号ADDが供給される端子であり、供給されたアドレス信号ADDはアドレスラッチ回路217に供給される。アドレスラッチ回路217は、内部クロックICLKに同期してアドレス信号ADDをラッチする回路である。アドレスラッチ回路217にラッチされたアドレス信号ADDのうち、ロウアドレスについてはロウデコーダ221に供給され、カラムアドレスについてはカラムデコーダ222に供給される。また、モードレジスタセットにエントリしている場合には、アドレス信号ADDはモードレジスタ215に供給され、これによってモードレジスタ215の内容が更新される。
【0047】
ロウデコーダ221は、メモリセルアレイ230に含まれるいずれかのワード線WLを選択する回路である。メモリセルアレイ230内においては、複数のワード線WLと複数のビット線BLが交差しており、その交点にはメモリセルMCが配置されている(図4では、1本のワード線WL、1本のビット線BL及び1個のメモリセルMCのみを示している)。ビット線BLは、センスアンプ列231に含まれるいずれかのセンスアンプSAに接続されている。センスアンプSAの選択は、カラムデコーダ222によって行われる。
【0048】
選択されたセンスアンプSAは、データ入出力回路213に接続される。データ入出力回路213には、内部クロックLCLK及び内部データストローブ信号PDQSが供給されており、リード動作時においては内部クロックLCLKに同期してリードデータを出力し、ライト動作時においては内部データストローブ信号PDQSに同期してライトデータを取り込む。これにより、リード動作時においては、メモリセルアレイ230から読み出されたリードデータがデータ入出力端子204から出力され、ライト動作時においては、データ入出力端子204から受信したライトデータがメモリセルアレイ230に供給される。
【0049】
データストローブ端子205は、データストローブ信号DQSの入出力を行うための端子であり、データストローブ信号入出力回路214に接続されている。データストローブ信号入出力回路214は、上述した内部データストローブ信号PDQSを生成し、これをデータ入出力回路213に供給する。
【0050】
また、データ入出力回路213及びデータストローブ信号入出力回路214には、コントロール回路218の出力であるODT信号も供給されている。ODT信号が活性化すると、データ入出力回路213及びデータストローブ信号入出力回路214は、いずれも終端抵抗として機能する。
【0051】
以上がメモリチップ200の全体構成である。次に、データレジスタバッファ300の構成について説明する。
【0052】
図5は、データレジスタバッファ300の構成を示すブロック図である。
【0053】
図5に示すように、データレジスタバッファ300は、入出力端子340を介して供給されるデータDQを、入出力端子350を介して供給されるデータストローブ信号DQSでバッファリングするFIFO(Write)回路301と、入出力端子341又は342を介して供給されるデータDQを、入出力端子351又は352を介して供給されるデータストローブ信号DQSでバッファリングするFIFO(Read)回路302とを備えている。ストローブ生成回路376は、DLL回路310によって生成される内部クロックLCLKRに同期して、データコネクタ120へ供給すべきデータストローブ信号DQSを生成する。ストローブ生成回路374は、DLL回路310によって生成される内部クロックLCLKWに同期して、メモリチップ200へ供給すべきデータストローブ信号DQSを生成する。
【0054】
尚、図5に示すFIFO回路301,302は、1ビット分のデータの入出力を行う回路であり、実際には、入出力データ幅分のFIFO回路301,302を用意しておく。本実施形態では、1個のデータレジスタバッファ300が1バイト分のデータを入出力することから、8組のFIFO回路301,302が必要となる。
【0055】
入出力端子340,350はデータ配線L0を介してデータコネクタ120に接続される端子である。一方、入出力端子341,351はデータ配線L1を介してメモリチップ200に接続される端子であり、入出力端子342,352はデータ配線L2を介してメモリチップ200に接続される端子である。このように、データレジスタバッファ300は、メモリコントローラ12に接続される入出力端子の数(M個)と、メモリチップ200に接続される入出力端子の数(N個)の数が相違しており、本実施形態では、N=2Mである。換言すれば、データ配線L1,L2の数がデータ配線L0の数のN/M倍(本実施形態では2倍)とされている。
【0056】
FIFO(Write)回路301の出力動作タイミングは、DLL回路310によって生成される内部クロックLCLKWによって規定される。FIFO(Read)回路302の出力動作タイミングは、DLL回路310によって生成される内部クロックLCLKRによって規定される。DLL回路310は、コマンド/アドレス/コントロールレジスタバッファ400より供給されるクロック信号CKに基づいて内部クロックLCLKWやLCLKRを生成する回路であり、メモリチップ200に設けられたDLL回路212と同様の回路構成及び機能を有している。DLL回路310の使用の可否については、データレジスタコントロール回路320の設定内容によって選択される。また、DLL回路310の代わりにPLL回路を用いても構わない。
【0057】
データレジスタコントロール回路320は、コマンド/アドレス/コントロールレジスタバッファ400より供給されるコントロール信号DRCに基づいて、データレジスタバッファ300の動作を制御する回路である。具体的には、バッファ制御信号BCを生成することにより、入力バッファINB及び出力バッファOUTBの動作を制御するとともに、選択信号SELを生成することにより、セレクタ331〜334の動作を制御する。出力バッファOUTBの制御内容としては、例えば出力インピーダンスの調整やODT動作のオンオフ制御が挙げられる。ODT機能の使用の可否は、モードレジスタ321の設定内容によって選択される。
【0058】
また、データレジスタコントロール回路320は、フィードバック信号DRFを生成し、これをコマンド/アドレス/コントロールレジスタバッファ400に供給する。フィードバック信号DRFは、データレジスタバッファ300の現在のステータスを示す信号である。
【0059】
さらに、データレジスタコントロール回路320には、ライトレベリング回路322及びリードレベリング回路323が含まれている。ライトレベリング回路322はライトレベリング動作を行うための回路であり、リードレベリング回路323はリードレベリング動作を行うための回路である。ライトレベリング動作及びリードレベリング動作については後述する。
【0060】
セレクタ333は、FIFO(Write)回路301の出力であるデータDQを入出力端子341,342のいずれか一方に供給する回路である。また、セレクタ334は、入出力端子341,342から入力されたデータDQを選択し、選択したデータDQをFIFO(Read)回路302に供給する回路である。セレクタ331,332についても、それぞれセレクタ333,334と同様の機能を果たす。より具体的には、セレクタ332は、入出力端子351,352から入力されるデータストローブ信号DQSを選択する。選択されたデータストローブ信号DQSは、遅延回路372によりおおよそ90°位相を遅らせて、FIFO(Read)回路302に入力トリガ信号として供給される。セレクタ331は、ストローブ生成回路374から供給されるデータストローブ信号DQSを入出力端子351,352のいずれかに供給する。ストローブ生成回路374により生成されるデータストローブ信号DQSは、遅延回路370により内部クロックLCLKWよりもおおよそ90°位相が遅れる。これらセレクタ331〜334による上記の選択は、データレジスタコントロール回路320の出力である選択信号SELによって指定される。
【0061】
このように、データレジスタバッファ300は、データ配線L0を介して転送されるライトデータをバッファリングしてデータ配線L1,L2のいずれかへ出力するとともに、いずれかのデータ配線L1,L2を介して転送されるリードデータをバッファリングしてデータ配線L0に出力する役割を果たす。ここで、データレジスタバッファ300はデータのバッファリングを行っているだけであることから、データ配線L0を介して転送されるライトデータ及びリードデータの転送レートと、データ配線L1,L2を介して転送されるライトデータ及びリードデータの転送レートとは互いに等しい。
【0062】
このため、データレジスタバッファ300は、Fully Buffered型のメモリモジュールに用いられるAMBのような高価なチップではなく、比較的安価に提供されるチップを用いることが可能となる。
【0063】
以上がデータレジスタバッファ300の全体構成である。次に、コマンド/アドレス/コントロールレジスタバッファ400の構成について説明する。
【0064】
図6は、コマンド/アドレス/コントロールレジスタバッファ400の構成を示すブロック図である。
【0065】
図6に示すように、コマンド/アドレス/コントロールレジスタバッファ400は、コマンド/アドレス/コントロールコネクタ130に接続される入力端子401と、メモリチップ200に接続される出力端子402と、データレジスタバッファ300に接続される出力端子403及び入力端子404とを備えている。
【0066】
入力端子401からは、メモリコントローラ12より供給されるコマンド/アドレス/コントロール信号が入力される。入力されたコマンド/アドレス/コントロール信号のうち、コマンド信号CMD、アドレス信号ADD及びコントロール信号CTRLについてはレジスタ回路410に供給され、クロック信号CKについてはPLL回路420に供給される。レジスタ回路410は、コマンド信号CMD、アドレス信号ADD及びコントロール信号CTRLをバッファリングする回路であり、バッファリングされたコマンド信号CMD、アドレス信号ADD及びコントロール信号CTRLは、出力端子402を介してメモリチップ200に供給される。
【0067】
レジスタ回路410の動作タイミングは、PLL回路420によって生成される内部クロックLCLKCAによって規定される。PLL回路420は、メモリコントローラ12より供給されるクロック信号CKに基づいて内部クロックLCLKCAを生成する回路であり、メモリチップ200に設けられた回路212と同様の回路構成及び機能を有している。PLL回路420の使用の可否については、コントロール信号生成回路430に含まれるモードレジスタ431の設定内容によって選択される。また、PLL回路420の代わりにDLL回路を用いても構わない。
【0068】
コントロール信号生成回路430は、入力端子401を介して供給されるコマンド/アドレス/コントロール信号に基づいて、データレジスタ300に供給するコントロール信号DRCを生成する回路であり、その動作は内部クロックLCLKCAに同期して行われる。データレジスタ300用のコントロール信号DRCは、出力端子403を介してデータレジスタバッファ300に供給される。また、データレジスタ300用のコントロール信号生成回路430には、入力端子404を介してデータレジスタバッファ300よりフィードバック信号DRFが供給される。
【0069】
コントロール信号DRCには、データの送受信方向を示す信号、データレジスタバッファ300のL0側のODTタイミングを制御する信号、L1、L2側のODTタイミングを制御する信号、DLL回路のオン/オフ制御をする信号、データレジスタバッファ300のイネーブル/ディセーブル制御をする信号、データレジスタバッファ300のモード切り替えおよびモードレジスタセットを行う信号などが含まれている。これらの信号には、それぞれ別個の配線を割り当てても構わないし、複数の信号に1本の配線を割り当てても構わない。また、これらの信号をコマンドとしてデータレジスタバッファ300に送信しても構わない。
【0070】
以上がコマンド/アドレス/コントロールレジスタバッファ400の全体構成である。
【0071】
図7は、本実施形態によるメモリモジュール100の配線図である。
【0072】
図7に示すように、本実施形態では、データコネクタ120とメモリチップ200との間にデータレジスタバッファ300が介在している。データコネクタ120とデータレジスタバッファ300はデータ配線L0によって接続され、データレジスタバッファ300とメモリチップ200はデータ配線L1又はL2によって接続されている。図7では、データ配線L0によって転送される複数のデータをDQ−Preと表記し、データ配線L1,L2によって転送されるデータをDQ−Postと表記している。同様に、データ配線L0によって転送されるデータストローブ信号をDQS−Preと表記し、データ配線L1,L2によって転送されるデータストローブ信号をDQS−Postと表記している。
【0073】
データDQ−PreとデータDQ−Postの内容は同一であるが、データレジスタバッファ300によってバッファリングされる分、両者のタイミングにはずれが生じる。データストローブ信号DQS−Preとデータストローブ信号DQS−Postとの関係についても同様である。このため、本実施形態では、メモリチップ200とデータレジスタバッファ300との間のタイミング調整と、データレジスタバッファ300とメモリコントローラとの間のタイミング調整とは、それぞれ別個に行う必要がある。これらタイミング調整の具体的な方法については後述する。
【0074】
既に説明したとおり、本実施形態では、1個のデータレジスタバッファ300に4個のメモリチップ200が割り当てられている。これら4個のメモリチップ200は、互いに異なるRankを構成するメモリチップであり、コントロール信号CTRLに含まれるチップセレクト(CS)信号やクロックイネーブル(CKE)信号によって排他的に活性化される。アドレス/コマンド信号ADD,CMDについては、これら4個のメモリチップ200に対して共通に供給される。
【0075】
メモリチップ200に供給されるアドレス信号ADD、コマンド信号CMD、コントロール信号CTRL及びクロック信号CKは、コマンド/アドレス/コントロールレジスタバッファ400より供給される。また、データレジスタバッファ300に供給されるコントロール信号DRCについても、コマンド/アドレス/コントロールレジスタバッファ400より供給される。
【0076】
図7に示すように、コマンド/アドレス/コントロールコネクタ130とコマンド/アドレス/コントロールレジスタバッファ400はコマンド/アドレス/コントロール配線L3によって接続され、コマンド/アドレス/コントロールレジスタバッファ400とデータレジスタバッファ300はコントロール配線L4によって接続され、コマンド/アドレス/コントロールレジスタバッファ400とメモリチップ200はコマンド/アドレス/コントロール配線L5によって接続されている。図7では、コマンド/アドレス/コントロール配線L3によって転送されるコマンド/アドレス信号をADD/CMD−Preと表記し、コマンド/アドレス/コントロール配線L5によって転送されるコマンド/アドレス信号をADD/CMD−Postと表記している。同様に、コマンド/アドレス/コントロール配線L3によって転送されるコントロール信号をCNTRL−Preと表記し、コマンド/アドレス/コントロール配線L5によって転送されるコントロール信号をCNTRL−Postと表記している。
【0077】
また、メモリチップ200及びデータレジスタバッファ300に供給されるクロック信号CKは、全てコマンド/アドレス/コントロールレジスタバッファ400より供給される。図7では、コマンド/アドレス/コントロール配線L3によって転送されるクロック信号をCK−Preと表記し、コントロール配線L4及びコマンド/アドレス/コントロール配線L5によって転送されるクロック信号をCK−Postと表記している。
【0078】
図8は、本実施形態によるメモリモジュールの1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【0079】
図8(a),(b)に示すように、1ビットのデータはデータコネクタ120の所定のコネクタ121を介して授受される。コネクタ121は、1本のデータ配線L0を介してデータレジスタバッファ300に接続される。図5を用いて説明したように、本実施形態では、1本のデータ配線L0に対して2系統のデータ配線L1,L2が割り当てられている。具体的には、データ配線L1については2個のメモリチップ200−0,200−1に共通接続され、データ配線L2については2個のメモリチップ200−2,200−3に共通接続される。
【0080】
かかる構成により、1本のデータ配線L1又はL2の負荷容量が小さくなるとともに、分岐点の数が少なくなり、さらに、分岐点からの配線長も短くなることから、データ配線L1,L2上を伝送されるデータの信号品質が高められる。具体的には、1本のデータ配線L1に接続される端子は、メモリチップ200−0,200−1のデータ入出力端子と、データレジスタバッファ300のデータ出力端子の合計3端子だけである。しかも、図8(a)に示すように、メモリチップ200−0と200−1はモジュール基板110を介して互いに対向する搭載に配置されていることから、分岐点Pをメモリチップ200−0と200−1によって挟まれた領域に配置すれば、分岐点からメモリチップ200−0,200−1までの配線長が非常に短くなる。さらに、これらメモリチップ200−0〜200−3は互いに近接した位置に搭載されており、これによりメモリチップ間における遠近端差についても最小限に抑えられている。
【0081】
図9は、データ配線L1,L2を1本に纏めた場合における1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【0082】
図9(a),(b)に示すように、データ配線L1,L2を1本に纏めた場合、データレジスタバッファ300と4個のメモリチップ200−0〜200−3が1本のデータ配線L1によって共通接続されることになる。このため、図8に示す構成と比べると、1本のデータ配線L1の負荷容量が大きくなるとともに、分岐点の数が多くなり、さらに、分岐点からの配線長も長くなる。具体的には、1本のデータ配線L1に接続される端子は、メモリチップ200−0〜200−3のデータ入出力端子と、データレジスタバッファ300のデータ出力端子の合計5端子となる。しかも、分岐点P1で2分岐し、分岐点P2にてさらに2分岐する構成となることから、分岐点P1からメモリチップ200−0〜200−3までの配線長が長くなる。
【0083】
これに対し、本実施形態においては、図8(a),(b)に示したように2系統のデータ配線L1,L2を用いていることから、モジュール基板内におけるデータの信号品質を高めることが可能となる。但し、2系統のデータ配線L1,L2を用いると、メモリチップ200とデータレジスタバッファ300とを接続する配線の本数が2倍に増加する。しかしながら、本実施形態では、図1を用いて説明したように、同じグループGを構成するメモリチップ200とデータレジスタバッファ300がモジュール基板110の短辺方向に並べて配置されていることから、配線スペースには十分な余裕がある。このため、短辺方向に延びる配線の本数が2倍に増えても問題なく配線を施すことが可能である。
【0084】
一方、Fully Buffered型のメモリモジュールのように、モジュール基板の中央にデータを集中させるようなレイアウトである場合、モジュール基板の長辺方向に長いデータ配線を多数形成する必要がある。このようなレイアウトにおいては、本実施形態のレイアウトと比べてデータ配線の総延長が大幅に長くなるため、データ配線の本数を2倍とするためには、モジュール基板を構成する絶縁層の積層数を大幅に増やすなどの対策が必要となる。これに対し、本実施形態では上記の問題が生じないことから、モジュール基板110を構成する絶縁層の積層数を増やすことなく、メモリチップ200とデータレジスタバッファ300とを接続する配線本数を2倍とすることが可能となる。
【0085】
図10は、2本のデータ配線L1,L2を用いたインターリーブ動作を説明するためのタイミング図である。
【0086】
図10はRank0〜Rank3からの連続したリード動作を示しており、バースト長が4ビット(BL=4)であるケース(或いは、バーストチョップによってバースト動作を4ビットで停止させたケース)を示している。図10に示す例では、クロック信号CKに同期した時刻T0,T2,T4,T6にてRank0,2,1,3の順にリードコマンドが発行されている。これらリードコマンドに応答して、所定のCASレイテンシ(本例ではCL=12)が経過した後、4ビットのリードデータDQがバースト出力される。
【0087】
その結果、時刻T12〜T14の期間は、Rank0のメモリチップ200からデータ配線L1を用いたデータ転送が行われ、時刻T14〜T16の期間は、Rank2のメモリチップ200からデータ配線L2を用いたデータ転送が行われ、時刻T16〜T18の期間は、Rank1のメモリチップ200からデータ配線L1を用いたデータ転送が行われ、時刻T18〜T20の期間は、Rank3のメモリチップ200からデータ配線L2を用いたデータ転送が行われる。つまり、データ配線L1,L2が交互に使用される。
【0088】
このようにして次々と転送されるリードデータは、データレジスタバッファ300に供給され、データレジスタバッファ300に含まれるFIFO回路によってバッファリングされた後、データ配線L0へ出力される。図10に示す例では、データレジスタバッファ300にリードデータが入力されてから、1クロックサイクル遅れてリードデータが出力されている。
【0089】
このように、本実施形態では、2本のデータ配線L1,L2を用いたインターリーブ動作が可能であることから、複数のメモリチップに対するリード動作を途切れることなく連続的に実行することが可能となる。これにより、データレジスタバッファ300から出力されるリードデータも途切れることなくメモリコントローラへ供給することができ、バスの利用効率を高めることが可能となる。尚、本実施形態においてデータ配線L1とL2が同時に使用されることはないが、これらデータ配線L1,L2を1本に纏めると、異なるメモリチップから出力されるリードデータ間に1クロックサイクル以上の時間を空ける必要が生じる。これに対し、本実施形態では、2本のデータ配線L1,L2を交互に使用していることから、異なるメモリチップから出力されるリードデータ間に隙間を設ける必要が無い。
【0090】
尚、図10においてはリード動作を例に説明したが、ライト動作についても同様のインターリーブ動作が可能である。
【0091】
以下、本実施形態によるメモリモジュール100の動作について、より詳細に説明する。
【0092】
図11は、本実施形態によるメモリモジュール100のリード動作を説明するためのタイミング図である。
【0093】
リード動作においては、メモリコントローラ12からアクティブコマンドACT及びリードコマンドreadがこの順に発行される。図11に示す例では、クロック信号CKに同期した時刻T−5にてアクティブコマンドACTがコマンド/アドレス/コントロールコネクタ130に到達し、時刻T0にてリードコマンドreadがコマンド/アドレス/コントロールコネクタ130に到達している。
【0094】
コマンド/アドレス/コントロールコネクタ130に到達したこれらコマンドACT,readは、コマンド/アドレス/コントロールレジスタバッファ400に入力される。ここで、これらコマンドACT,readがコマンド/アドレス/コントロールコネクタ130に到達するタイミングと、これらコマンドACT,readがコマンド/アドレス/コントロールレジスタバッファ400に入力されるタイミングとの間には所定の時間差(Flight Time)が生じる。
【0095】
コマンド/アドレス/コントロールレジスタバッファ400は、受信したコマンドACT,readを図6に示したレジスタ回路410にて、入力クロック信号によってレジスタリングした後、メモリチップ200に出力する。この時、クロック信号CK出力については追加の1/2クロックサイクル相当量の遅延を持たせることにより、コマンドACT,read出力との同期を図る。また、コマンド/アドレス/コントロールレジスタバッファ400は、リードコマンドReadをコントロール信号DRCの一部としてデータレジスタバッファ300にも供給する。
【0096】
そして、メモリチップ200はコマンドACT,readを受け、実際にリード動作を開始する。ここで、コマンドACT,readがコマンド/アドレス/コントロールレジスタバッファ400から出力されるタイミングと、コマンドACT,readがメモリチップ200に入力されるタイミングとの間には所定の時間差(Flight Time)が生じる。
【0097】
図11に示す例ではCL=5に設定されていることから、メモリチップ200はリードコマンドreadを受けてから5クロックサイクル後である時刻T5からリードデータDQのバースト出力を開始する。図11に示す例では、バースト長は8ビット(BL=8)である。メモリチップ200からバースト出力されるリードデータDQ及びデータストローブ信号DQSは、データレジスタバッファ300に供給される。
【0098】
データレジスタバッファ300は、メモリチップ200から出力されるリードデータDQを、一定位相量(たとえば、おおむね、90°の位相差分)だけ遅延させたデータストローブ信号DQSでFIFO回路302に取り込む。ここで、リードデータDQ及びデータストローブ信号DQSがメモリチップ200から出力されるタイミングと、リードデータDQ及びデータストローブ信号DQSがデータレジスタバッファ300に入力されるタイミングとの間には所定の時間差(Flight Time)が生じる。
【0099】
そして、データレジスタバッファ300は、FIFO回路302を用いて内部クロックLCLKRに同期したリタイミングを行い、CL=6に変換して出力する。これにより、メモリコントローラは、正しくリードデータを受信することが可能となる。
【0100】
以上が本実施形態によるメモリモジュール100のリード動作である。次に、ライト動作について説明する。
【0101】
図12は、本実施形態によるメモリモジュール100のライト動作を説明するためのタイミング図である。
【0102】
ライト動作においては、メモリコントローラからアクティブコマンドACT及びライトコマンドWriteがこの順に発行されるとともに、ライトコマンドWriteを発行してからライトレイテンシ(WL)が経過した後、ライトデータをバースト出力する。図12に示す例では、クロック信号CKに同期した時刻T−5にてアクティブコマンドACTがコマンド/アドレス/コントロールコネクタ130に到達し、時刻T0にてライトコマンドWriteがコマンド/アドレス/コントロールコネクタ130に到達している。また、本例ではWL=4に設定されており、データコネクタ120には時刻T4からライトデータが入力される。
【0103】
コマンドの流れは図11に示したリード動作と同様であることから、重複する説明は省略する。一方、データコネクタ120に到達したこれらライトデータDQは、データレジスタバッファ300に入力される。ここで、ライトコマンドがコマンド/アドレス/コントロールコネクタ130に到達するタイミングと、ライトコマンド(Direction Control)がデータレジスタバッファ300に入力されるタイミングとの間には所定の時間差(Flight Time)が生じる。これを考慮して、メモリコントローラは、このFlight Time分だけ遅れてライトデータDQを出力する。
【0104】
データレジスタバッファ300は、受け付けたライトデータDQを、一定位相量(たとえば、おおむね、90°の位相差分)だけ遅延させたデータストローブ信号DQSでFIFO回路301に取り込む。そして、データレジスタバッファ300は、FIFO回路301を用いて内部クロックLCLKWに同期したリタイミングを行い、WL=5に変換して出力する。既に説明したとおり、データレジスタバッファ300からメモリチップ200へのライトデータの送信は、2本のデータ配線L1,L2のいずれか一方を用いて行われる。いずれのデータ配線を用いるかは、指定されたRankによって決まる。
【0105】
そして、メモリチップ200は、データレジスタバッファ300からバースト出力されるライトデータDQを受信し、これをメモリセルアレイに書き込む。ここで、ライトデータDQ及びデータストローブ信号DQSがデータレジスタバッファ300から出力されるタイミングと、ライトデータDQ及びデータストローブ信号DQSがメモリチップ200に入力されるタイミングとの間には所定の時間差(Flight Time)が生じる。これを考慮して、データレジスタバッファ300は、このFlight Time分だけ早くライトデータDQを出力する。これにより、メモリチップ200は正しくライトデータDQを受信することが可能となる。
【0106】
次に、本実施形態によるメモリモジュール100の起動時における初期化動作について説明する。
【0107】
図13は、メモリモジュール100の起動時における初期化動作を説明するためのフローチャートである。
【0108】
まず、電源が投入されると(ステップS1)、メモリチップ200、データレジスタバッファ300及びコマンド/アドレス/コントロールレジスタバッファ400は、それぞれ内部でリセット信号を活性化し、内部回路をリセットする(ステップS2)。これにより、メモリチップ200、データレジスタバッファ300及びコマンド/アドレス/コントロールレジスタバッファ400は、それぞれ初期化動作を実行する。初期化動作にはモードレジスタの設定動作が含まれており、これにより、メモリチップ200、データレジスタバッファ300及びコマンド/アドレス/コントロールレジスタバッファ400にそれぞれ含まれるモードレジスタ215,321,431に所定のモード情報が設定される(ステップS3)。
【0109】
モードレジスタに対する設定動作が完了すると、次に、データレジスタバッファ300とメモリチップ200との間のレベリング動作が行われる(ステップS4)。レベリング動作とは、信号の伝搬時間を考慮してライトタイミングやリードのタイミングを調整する動作である。ライトタイミングの調整はライトレベリング動作によって行われ、リードタイミングの調整はリードレベリング動作によって行われる。
【0110】
データレジスタバッファ300とメモリチップ200との間のレベリング動作が完了すると、次に、メモリコントローラとデータレジスタバッファ300との間のレベリング動作が行われる(ステップS5)。
【0111】
図14は、データレジスタバッファ300とメモリチップ200との間のライトレベリング動作を説明するためのタイミング図であり、(a)はレベリング開始時におけるタイミング図、(b)レベリング終了時におけるタイミング図である。この動作は、図5に示したライトレベリング回路322によって行われる。
【0112】
データレジスタバッファ300とメモリチップ200との間のライトレベリング動作においては、まず、図14(a)に示すように、データレジスタバッファ300からクロック信号CKに同期したデータストローブ信号DQSを出力する。クロック信号CKはコマンド/アドレス/コントロールレジスタバッファ400から供給される信号であり、既に説明したとおり、メモリチップ200にも供給される。ここで、データストローブ信号DQSがメモリチップ200に伝達されるまでにはある程度の伝搬時間が必要であることから、メモリチップ200側においては、クロック信号CKとデータストローブ信号DQSの入力タイミングは必ずしも一致しない。
【0113】
図14(a)に示す例では、メモリチップ200側において、データストローブ信号DQSの立ち上がりエッジにおけるクロック信号CKの論理レベルが「ハイレベル」であるケースを示している。これに応答して、メモリチップ200はデータ入出力端子204から「ハイレベル」の信号DQを出力する。かかる信号DQは、データレジスタバッファ300に入力され、これにより、データレジスタバッファ300は、クロック信号CKとデータストローブ信号DQSの位相がどの方向にずれているのかを知ることができる。
【0114】
データレジスタバッファ300のライトレベリング回路322は、位相のズレ方向に基づいてLCLKWを変位させ、データストローブ信号DQSの出力タイミングを変化させる。図14(a)に示す例では、メモリチップ200に到達するクロック信号CKの立ち上がりエッジに比べて、データストローブ信号DQSの到達が遅れていることから、データレジスタバッファ300は、データストローブ信号DQSの出力タイミングを早める。
【0115】
そして、上記の動作を繰り返すと、図14(b)に示すように、メモリチップ200側において、データストローブ信号DQSの立ち上がりエッジにおけるクロック信号CKの論理レベルが「ローレベル」に変化する。これによりライトレベリング動作が終了し、データレジスタバッファ300は、入力されるクロック信号CKを基準として、データストローブ信号DQSの出力すべきタイミングを知ることができる。ライトレベリング動作の結果は、データレジスタバッファ300内のデータレジスタコントロール回路320に記憶される。このようにしてライトレベリング動作が完了すると、メモリチップ200に入力されるクロック信号CKとデータストローブ信号DQSの位相は実質的に一致することになる。
【0116】
図15は、データレジスタバッファ300とメモリチップ200との間のリードレベリング動作を説明するためのタイミング図である。この動作は、図5に示したリードレベリング回路323によって行われる。
【0117】
データレジスタバッファ300とメモリチップ200との間のリードレベリング動作においては、図15に示すように、コマンド/アドレス/コントロールレジスタバッファ400からクロック信号CKを出力するとともに、アクティブコマンドACT及びリードコマンドReadを発行する。クロック信号CKはメモリチップ200及びデータレジスタバッファ300に供給され、コマンドACT,readはメモリチップ200に供給される。また、リードコマンドReadについては、コントロール信号DRCの一部としてデータレジスタバッファ300にも供給される。
【0118】
図15に示す例では、クロック信号CKに同期した時刻T−5にてアクティブコマンドACTが発行され、時刻T0にてリードコマンドReadが発行されている。つまり、RAS−CASディレイ(tRCD)は5クロックサイクルである。
【0119】
メモリチップ200は、リードコマンドReadを受けて実際にリード動作を実行する。図15に示す例では、CASレイテンシが5クロックサイクル(CL=5)に設定されており、したがって、時刻T5からリードデータDQの出力が開始される。リードレベリング時におけるリードデータDQは、たとえば、ハイレベルとローレベルが交互に繰り返される信号などである。
【0120】
メモリチップ200から出力されたリードデータDQは、データレジスタバッファ300に到達し、これにより、データレジスタバッファ300は、コントロール信号DRCの一部として入力されたリードコマンドReadの入力タイミングから、リードデータDQが入力されるまでの時間Aを知ることができる。かかる時間はメモリチップ200ごとに測定され、データレジスタバッファ300内のデータレジスタコントロール回路320に記憶され、入力バッファ回路INBの活性化タイミングの調整等に使われる。図15には、リードコマンドReadの入力からリードデータDQの入力までの時間Aが短いケース(メモリチップ200−0とデータレジスタバッファ300−0との間)と、長いケース(メモリチップ200−19とデータレジスタバッファ300−4との間)の2つを示している。
【0121】
図16は、メモリコントローラ12とデータレジスタバッファ300との間のライトレベリング動作を説明するためのタイミング図であり、(a)はレベリング開始時におけるタイミング図、(b)レベリング終了時におけるタイミング図である。この動作は、図2に示したライトレベリング回路12aによって行われる。
【0122】
メモリコントローラ12とデータレジスタバッファ300との間のライトレベリング動作においては、まず、図16(a)に示すように、メモリコントローラ12からクロック信号CKとデータストローブ信号DQSを出力する。このうち、クロック信号CKについてはコマンド/アドレス/コントロールレジスタバッファ400を介してデータレジスタバッファ300に供給され、データストローブ信号DQSについてはデータレジスタバッファ300に直接供給される。したがって、データレジスタバッファ300側においては、クロック信号CKとデータストローブ信号DQSの入力タイミングは必ずしも一致しない。
【0123】
図16(a)に示す例では、データレジスタバッファ300側において、データストローブ信号DQSの立ち上がりエッジにおけるクロック信号CKの論理レベルが「ローレベル」であるケースを示している。これに応答して、データレジスタバッファ300は入出力端子340から「ローレベル」の信号DQを出力する。かかる信号DQは、メモリコントローラ12に供給され、これにより、メモリコントローラ12はクロック信号CKとデータストローブ信号DQSの位相がどの方向にずれているのかを知ることができる。
【0124】
メモリコントローラ12は、位相のズレ方向に基づいてデータストローブ信号DQSの出力タイミングを変化させる。図16(a)に示す例では、データレジスタバッファ300に到達するクロック信号CKの立ち上がりエッジに比べて、データストローブ信号DQSの到達が進んでいることから、メモリコントローラ12は、データストローブ信号DQSの出力タイミングを遅らせる。
【0125】
そして、上記の動作を繰り返すと、図16(b)に示すように、データレジスタバッファ300側において、データストローブ信号DQSの立ち上がりエッジにおけるクロック信号CKの論理レベルが「ハイレベル」に変化する。これによりライトレベリング動作が終了し、メモリコントローラ12は、自ら出力するクロック信号CKを基準として、データストローブ信号DQSの出力すべきタイミングを知ることができる。ライトレベリング動作の結果は、メモリコントローラ12の内部回路に記憶される。このようにしてライトレベリング動作が完了すると、データレジスタバッファ300に入力されるクロック信号CKとデータストローブ信号DQSの位相は実質的に一致することになる。
【0126】
図17は、メモリコントローラ12とデータレジスタバッファ300との間のリードレベリング動作を説明するためのタイミング図である。この動作は、図2に示したリードレベリング回路12bによって行われる。
【0127】
メモリコントローラ12とデータレジスタバッファ300との間のリードレベリング動作においては、図17に示すように、メモリコントローラ12からクロック信号CKを出力するとともに、アクティブコマンドACT及びリードコマンドReadを発行する。クロック信号CKはデータレジスタバッファ300に供給され、コマンドACT,readは、コマンド/アドレス/コントロールレジスタバッファ400を介し、コントロール信号DRCの一部としてデータレジスタバッファ300に供給される。
【0128】
図17に示す例では、クロック信号CKに同期した時刻T−5にてアクティブコマンドACTが発行され、時刻T0にてリードコマンドReadが発行されている。つまり、RAS−CASディレイ(tRCD)は5クロックサイクルである。
【0129】
データレジスタバッファ300は、リードコマンドReadを受けて、あらかじめ定められたCASレイテンシが経過した後、ダミーデータDQを出力する。ダミーデータDQは、メモリチップ200から読み出されたリードデータではなく、データレジスタバッファ300内のデータレジスタコントロール回路320によって自動生成されたデータである。図17に示す例では、CASレイテンシが6クロックサイクル(CL=6)に設定されており、したがって、時刻T6からダミーデータDQの出力が開始される。ダミーデータDQは、たとえば、ハイレベルとローレベルが交互に繰り返される信号などである。
【0130】
データレジスタバッファ300から出力されたダミーデータDQは、メモリコントローラ12に到達し、これにより、メモリコントローラ12はリードコマンドReadの発行タイミングから、リードデータDQが入力されるまでの時間Bを知ることができる。かかる時間はデータレジスタバッファ300ごとに測定され、メモリコントローラ12の内部回路に記憶され、入力バッファ回路(図示せず)の活性化タイミングの調整等に使われる。図17には、リードコマンドReadの発行からリードデータDQの入力までの時間Bが短いケース(メモリコントローラ12とデータレジスタバッファ300−0との間)と、長いケース(メモリコントローラ12とデータレジスタバッファ300−4との間)の2つを示している。
【0131】
以上が本実施形態によるメモリモジュール100の起動時における初期化動作である。次に、本発明によるメモリモジュール100とDLL回路及びODT機能との関係について説明する。
【0132】
既に説明したように、DLL回路とは、外部クロック信号に対して位相制御された内部クロック信号を生成する回路であり、リードデータDQ及びデータストローブ信号DQSの位相をクロック信号CKの位相と一致させるために用いられる。DDR3型のDRAMのような近年の高速メモリにおいては、DLL回路の使用はほぼ必須であり、DLL回路を使用しなければ正常なデータ転送を行うことが困難となる。その一方で、DLL回路は消費電力が比較的大きいという問題を有している。
【0133】
一方、ODT機能とは、終端抵抗をメモリチップの内部に持たせる機能であり、反射による信号品質の劣化を防止するために用いられる。通常のメモリモジュールは、1本のデータ配線に多数のメモリチップが共通接続されることから、近年の高速メモリにおいては、ODT機能の使用はほぼ必須であり、ODT機能をオフにすると信号波形が著しく劣化する。その一方で、ODT機能をオンにすると、消費電力が増大するという問題を有している。また、ODT動作は、データの入出力動作と同期している必要があるため、基本的に、DLL回路の使用が前提となる。
【0134】
図18は、DLL回路を使用せずにODT動作を行う場合の問題点を説明するためのタイミング図である。
【0135】
図18に示す例では、時刻T0の直前にODT信号をアクティブに変化させている。これに応答して、メモリチップ200の内部回路は、時刻T0のクロック信号CKに同期してODT機能をオンさせる。しかしながら、ODTインピーダンス(データ入出力端子204,205のインピーダンス)は直ちに所望の値とはならず、tAONDFminが経過しないとハイインピーダンス状態(RTT_OFF)から変化しない。本例では、tAONDFminは約3クロックサイクルである。
【0136】
tAONDFminが経過した後は、電源電圧やチップ温度の条件次第でハイインピーダンス状態ではなくなるが、条件によってはまだ所望のインピーダンスRTT_ONにはならない。最悪の条件下では、所望のインピーダンスRTT_ONが得られるのは、時刻T0からtAONDFmaxが経過した後であり、本例ではtAONDFmaxは約8クロックサイクルである。
【0137】
したがって、ODTインピーダンスが不定状態となる時刻T3から、ODTインピーダンスが所望の値RTTとなる次のサイクルである時刻T9までの期間は、インピーダンスが不定な期間である。このため、この期間は他のメモリチップにアクセスできないロスサイクルとなる。このように、DLL回路を使用せずにODT動作を行うと、ODT機能のオン/オフの切り替えが非同期となることから、インピーダンスの不定期間が長くなり、その間のリードライト動作が妨げられる。
【0138】
このようなロスサイクルの問題を考慮すれば、DLL回路を使用しない場合にはODT機能も使用しないことが望ましいが、上述の通り、通常のメモリモジュールにおいてODT機能はほぼ必須であり、これをオフにすることは困難である。
【0139】
しかしながら、本実施形態によるメモリモジュール100では、メモリチップ200に接続されたデータ配線L1,L2の負荷容量が非常に小さいことから、DDR3型のDRAMのような高速メモリを用いた場合であっても、ODT動作をオフ状態で使用することができる。しかも、メモリチップ200とデータレジスタバッファ300との距離が非常に短いことから、DLL回路を用いた同期制御を行わなくても、正しくデータ転送を行うことができる。すなわち、ODT機能及びDLL回路ともオフ状態とすることができるので、消費電力を大幅に低減することが可能となる。さらには、メモリチップ200からODT回路及びDLL回路を排除することもでき、この場合には、チップ面積を縮小することも可能となる。
【0140】
次に、ODT機能及びDLL回路の使用の有無による動作タイミングの違いについて説明する。
【0141】
図19は、ODT機能及びDLL回路ともオン状態とした場合のリードtoリード動作を説明するためのタイミング図である。
【0142】
図19に示すように、ODT機能及びDLL回路ともオン状態でのリード動作タイミングは、図11に示した動作タイミングと基本的に同じである。図19に示す例では、時刻T0においてRank0に対してリードコマンドReadが発行され、時刻T6においてRank1に対してリードコマンドReadが発行されている。Rank0のメモリチップ200とRank1のメモリチップ200は、データ配線L1に共通接続されているため、相互に影響を及ぼし合う。
【0143】
このため、Rank0のメモリチップ200からリードデータDQがバースト出力される時刻T5〜T9の期間においては、Rank1のメモリチップ200のデータ入出力端子204は、ODT機能によってインピーダンスがRtt_Nomに設定される。同様に、Rank1のメモリチップ200からリードデータDQがバースト出力される時刻T11〜T15の期間においては、Rank0のメモリチップ200のデータ入出力端子204は、ODT機能によってインピーダンスがRtt_Nomに設定される。
【0144】
このように、一方のメモリチップ200がリードデータDQを出力している間は、他方のメモリチップ200がODT動作を行うため、信号の反射が防止される。但し、上述の通り、DLL回路及びODT機能の使用による消費電流が発生する。
【0145】
図20は、ODT機能及びDLL回路ともオフ状態とした場合のリードtoリード動作を説明するためのタイミング図である。
【0146】
図20に示すように、DLL回路をオフ状態とすると、リードデータDQの出力タイミングはクロック信号CKに対して非同期となる。しかしながら、本実施形態では、メモリチップ200とデータレジスタバッファ300との距離が非常に近いことから、データレジスタバッファ300は非同期に出力されたリードデータDQを正しく受信することが可能である。また、Rank0のメモリチップとRank1のメモリチップは、データ配線L1のほぼ末端に配置されていることから、非動作側のメモリチップ200による信号の反射の影響も非常に少ない。このようにして非同期に出力されたリードデータDQは、データレジスタバッファ300においてリタイミングされ、メモリコントローラ12へ出力される。
【0147】
このように、本実施形態においては、メモリチップ200のODT機能及びDLL回路をいずれもオフ状態にした場合であっても、これらをオン状態とした場合と同様のリード動作を行うことが可能となる。むしろ、DLL回路によるタイミング調整が行われない分、リードデータDQの出力タイミングが早くなるため、より高速なアクセスが実現できる可能性がある。
【0148】
図21は、ODT機能及びDLL回路ともオン状態とした場合のライトtoライト動作を説明するためのタイミング図である。
【0149】
図21に示すように、ODT機能及びDLL回路ともオン状態でのライト動作タイミングは、図12に示した動作タイミングと基本的に同じである。図21に示す例では、時刻T0においてRank0に対してライトコマンドWriteが発行され、時刻T6においてRank1に対してライトコマンドWriteが発行されている。上述の通り、Rank0のメモリチップ200とRank1のメモリチップ200は、データ配線L1に共通接続されているため、相互に影響を及ぼし合う。
【0150】
このため、Rank0のメモリチップ200へライトデータDQがバースト入力される時刻T5〜T9の期間においては、Rank1のメモリチップ200のデータ入出力端子204は、ODT機能によってインピーダンスがRtt_Nomに設定される。同様に、Rank1のメモリチップ200へライトデータDQがバースト入力される時刻T11〜T15の期間においては、Rank0のメモリチップ200のデータ入出力端子204は、ODT機能によってインピーダンスがRtt_Nomに設定される。
【0151】
このように、一方のメモリチップ200がライトデータDQを受け付けている間は、他方のメモリチップ200がODT動作を行うため、信号の反射が防止される。但し、上述の通り、DLL回路及びODT機能の使用による消費電流が発生する。
【0152】
図22は、ODT機能及びDLL回路ともオフ状態とした場合のライトtoライト動作を説明するためのタイミング図である。
【0153】
図22に示すように、ODT機能をオフにすると、非動作側のメモリチップ200のデータ入出力端子204はハイインピーダンス状態となり、ここで信号の反射が生じる。しかしながら、本実施形態では、メモリチップ200とデータレジスタバッファ300との距離が非常に近く、且つ、Rank0のメモリチップとRank1のメモリチップは、データ配線L1のほぼ末端に配置されていることから、非動作側のメモリチップ200による信号の反射の影響は非常に少ない。したがって、各メモリチップ200は、ライトデータDQを正しく受信することが可能となる。
【0154】
このように、本実施形態においては、メモリチップ200のODT機能及びDLL回路をいずれもオフ状態、つまり、DLL回路及びODT機能による消費電流をゼロにした場合であっても、これらをオン状態とした場合と同様のライト動作を行うことが可能となる。むしろ、ODTインピーダンスの切り替え動作が不要であることから、ライトデータDQの入力タイミングを早めることも可能となる。実際、図22に示す動作タイミングでは、図21に示す動作タイミングよりも、ライトtoライト動作が1クロックサイクルだけ高速化されている。
【0155】
以下、本発明のいくつかの変形例について説明する。
【0156】
図23は、変形例によるメモリモジュールの1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【0157】
図23(a),(b)に示す例は、上述した実施形態とは異なり、データ配線L1,L2にそれぞれメモリチップ200が1個だけ接続されている。具体的には、データ配線L1にはメモリチップ200−0だけが接続され、データ配線L2にはメモリチップ200−1だけが接続されている。本発明はこのような態様も包含する。すなわち、データレジスタバッファ300とメモリチップ200とを接続する1本のデータ配線(L1又はL2)に割り当てられたメモリチップ200の数については特に限定されない。但し、データ配線L1,L2の負荷容量低減、分岐点の削減、配線長の短縮などを行うためには、1本のデータ配線に接続されるメモリチップ200の数は2個以下とすることが好ましい。
【0158】
図24は、他の変形例によるメモリモジュールの1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【0159】
図24(a),(b)に示す例は、上述した実施形態とは異なり、1本のデータ配線L0に対して4系統のデータ配線L1a,L1b,L2a,L2bが割り当てられている。具体的には、データ配線L1aにはメモリチップ200−0だけが接続され、データ配線L1bにはメモリチップ200−1だけが接続され、データ配線L2aにはメモリチップ200−2だけが接続され、データ配線L2bにはメモリチップ200−3だけが接続されている。本発明はこのような態様も包含する。すなわち、1個のデータレジスタバッファ300に割り当てられるメモリチップ200の数は、2個以上であれば特に限定されない。
【0160】
図25は、さらに他の変形例によるメモリモジュールの構成を示す模式図である。
【0161】
図25に示すメモリモジュールは、同じグループを構成する複数のメモリチップ200と1個のデータレジスタバッファ300がサブモジュール500に集積された構成を有している。このようなサブモジュール500を用いることにより、データ配線L1,L2をサブモジュール基板上に形成することができるため、モジュール基板110の配線密度が緩和される。また、モジュール基板110への部品搭載点数が大幅に少なくなることから、モジュール基板110への実装工程が簡素化される。
【0162】
図26は、サブモジュール500の構成を示す平面図である。また、図27は、図26に示すY1−Y1'線に沿った断面図である。尚、図26においては、裏面に形成された外部端子を透過的に示している。
【0163】
図26及び図27に示すサブモジュール500は、サブモジュール基板510と、サブモジュール基板510に搭載された2個のメモリチップ200と、1個のデータレジスタバッファ300と、サブモジュール基板510の裏面に形成された外部端子(ソルダボール)520によって構成されている。メモリチップ200とデータレジスタバッファ300は、封止材530によって封止されている。
【0164】
外部端子520は、データの授受を行うDQボール521と、データレジスタ300に供給すべきコントロール信号の受信を行うControlボール522と、コマンド/アドレス信号の受信を行うCAボール523からなる。DQボール521とControlボール522は、データレジスタバッファ300の搭載領域近傍における裏面に配置されている。一方、CAボール523は、メモリチップ200搭載領域近傍における裏面に配置されている。
【0165】
DQボール521及びControlボール522は、それぞれサブモジュール基板510に形成された内部配線511,512を介してデータレジスタバッファ300に接続される。また、CAボール523は、サブモジュール基板510に形成された内部配線513を介してメモリチップ200に接続される。
【0166】
このようなサブモジュール500を用いれば、メモリチップ200とデータレジスタバッファ300を接続するデータ配線L1,L2をモジュール基板110に形成する必要がなくなる。このため、モジュール基板110の配線自由度が向上する。
【0167】
図28は、サブモジュール500の別の構成を示す平面図である。また、図29は、図28に示すY2−Y2'線に沿った断面図である。尚、図28においては、裏面に形成された外部端子を透過的に示している。
【0168】
図28及び図29に示すサブモジュール500は、図26及び図27に示したサブモジュール500と基本的に同じ構成を有しているが、サブモジュール基板510に8個のメモリチップ200が搭載されている点において相違する。これら8個のメモリチップ200は2個ずつ積層されており、これら4つの積層体がサブモジュール基板510上に平面的に搭載されている。このようなサブモジュール500を用いれば、メモリモジュールの記憶容量を高めることが可能となる。
【0169】
以上、本発明の好ましい実施形態について説明したが、本発明は、上記の実施形態に限定されることなく、本発明の主旨を逸脱しない範囲で種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることはいうまでもない。例えば、上記の実施例では、メモリチップ200として内部にDLL回路を有するものについて説明したが、内部にDLL回路を備えていないメモリチップを用いることができる。この場合、データレジスタバッファ300が有するDLL回路を用いて、入出力のタイミング調整を行なう。
【符号の説明】
【0170】
10 情報処理システム
12 メモリコントローラ
12a ライトレベリング回路
12b リードレベリング回路
20 メモリシステム
21 マザーボード
22 メモリスロット
100 メモリモジュール
110 モジュール基板
120 データコネクタ
130 コマンド/アドレス/コントロールコネクタ
200 メモリチップ
300 データレジスタバッファ
301〜304 FIFO回路
320 データレジスタコントロール回路
322 ライトレベリング回路
323 リードレベリング回路
331〜334 セレクタ
340〜342,350〜352 入出力端子
400 コマンド/アドレス/コントロールレジスタバッファ
401,404 入力端子
402,403 出力端子
430 コントロール信号生成回路
500 サブモジュール
L0 データ配線(第1のデータ配線)
L1,L2 データ配線(第2のデータ配線)
L3,L5 コマンド/アドレス/コントロール配線
L4 コントロール配線
【技術分野】
【0001】
本発明はメモリモジュールに関し、特に、Load Reduced型のメモリモジュールに関する。
【背景技術】
【0002】
DIMM(Dual Inline Memory Module)などのメモリモジュールは、モジュール基板上にDRAM(Dynamic Random Access Memory)などのメモリチップが多数搭載された構成を有している。このようなメモリモジュールは、マザーボード上に設けられたメモリスロットに装着され、これによってメモリコントローラとの間でデータの転送が行われる。近年においては、システムが要求するメモリ容量が非常に大きいため、1枚のメモリモジュールによって必要なメモリ容量を確保することは困難である。このため、通常は、マザーボード上に複数のメモリスロットが設けられており、これにより複数のメモリモジュールを装着可能であることがほとんどである。
【0003】
しかしながら、複数のメモリモジュールを装着すると、マザーボード上におけるデータ配線の負荷容量が大きくなり、信号品質が劣化する。このような問題は、メモリコントローラとメモリモジュール間のデータ転送レートがある程度低い場合には大きな問題とはならないが、メモリコントローラとメモリモジュール間のデータ転送レートが高くなると、信号品質の劣化によって正しくデータ転送を行うことができないという問題が生じる。近年においては、1.6〜3.2Gbps程度のデータ転送レートが要求されており、このような高速転送を実現するためには、マザーボード上におけるデータ配線の負荷容量を十分に低減する必要がある。
【0004】
データ配線の負荷容量を低減することが可能なメモリモジュールとしては、いわゆるFully Buffered型のメモリモジュールが知られている(特許文献1)。Fully Buffered型のメモリモジュールにおいては、メモリコントローラから供給されるライトデータを一旦全てAdvanced Memory Buffer(AMB)と呼ばれる専用チップで受け、これを所定のメモリチップに供給する。リード動作はこの逆であり、メモリチップから出力されたリードデータが一旦全てAMBに供給され、AMBからメモリコントローラへ供給される。したがって、メモリコントローラからは各メモリチップの負荷容量が見えないことから、データ配線の負荷容量が大幅に低減する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−135597号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、Fully Buffered型のメモリモジュールに用いられるAMBは高機能なチップであり、比較的高価であることから、メモリモジュールの価格が大幅に高くなるという問題がある。また、Fully Buffered型のメモリモジュールでは、メモリコントローラとAMBとの間におけるインターフェースが、メモリコントローラとメモリチップ間における通常のインターフェースとは異なることから、従来のメモリコントローラをそのまま使用することができないという問題もある。
【0007】
このような背景から、近年、Load Reduced型と呼ばれるメモリモジュールが提案されている。Load Reduced型のメモリモジュールは、AMBの代わりにレジスタバッファを用いるタイプのメモリモジュールである。レジスタバッファは、データやコマンド/アドレスなどの信号をバッファリングするだけのチップであることから、安価に提供することができる。しかも、メモリコントローラとレジスタバッファとの間におけるインターフェースは、メモリコントローラとメモリチップとの間における通常のインターフェースとは変わらないことから、従来のメモリコントローラをそのまま使用することができる。
【0008】
しかしながら、本発明者らは、Load Reduced型のメモリモジュールについて鋭意研究を重ねた結果、データ転送レートが非常に高くなると、単に1個のレジスタバッファを用いるのみではモジュール基板上における信号品質が不十分となることが明らかとなった。このため、本発明者らは、非常に高いデータ転送レートを実現可能なLoad Reduced型のメモリモジュールについてさらなる研究を行った。本発明は、このような研究の結果なされたものである。
【課題を解決するための手段】
【0009】
本発明によるメモリモジュールは、モジュール基板と、前記モジュール基板の長辺に沿って設けられた複数のデータコネクタと、前記モジュール基板に搭載された複数のメモリチップと、前記モジュール基板に搭載され、それぞれ2個以上の前記メモリチップが割り当てられた複数のデータレジスタバッファと、前記モジュール基板に形成され、前記複数のデータコネクタと前記複数のデータレジスタバッファとを接続する複数の第1のデータ配線と、前記モジュール基板に形成され、前記複数のデータレジスタバッファと前記複数のメモリチップとを接続する複数の第2のデータ配線と、を備え、各データレジスタバッファと、これに対応する複数の前記データコネクタ及び複数の前記メモリチップは、前記モジュール基板の短辺方向に並べて配置されていることを特徴とする。
【発明の効果】
【0010】
本発明によれば、モジュール基板上に複数のデータレジスタバッファを搭載するとともに、各データレジスタバッファとこれに対応するデータコネクタ及びメモリチップを短辺方向に並べて配置していることから、データコネクタからメモリチップまでの配線距離が非常に短くなる。これにより、モジュール基板上における信号品質が高められ、その結果、非常に高いデータ転送レートを実現することが可能となる。
【図面の簡単な説明】
【0011】
【図1】本発明の好ましい実施形態によるメモリモジュール100の構成を示す模式図である。
【図2】メモリモジュール100を備える情報処理システム10の構成を示すブロック図である。
【図3】メモリシステム20が形成された部分におけるマザーボードの構造を模式的に示す斜視図である。
【図4】メモリチップ200の構成を示すブロック図である。
【図5】データレジスタバッファ300の構成を示すブロック図である。
【図6】コマンド/アドレス/コントロールレジスタバッファ400の構成を示すブロック図である。
【図7】メモリモジュール100の配線図である。
【図8】メモリモジュール100の1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【図9】データ配線L1,L2を1本に纏めた場合における1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【図10】2本のデータ配線L1,L2を用いたインターリーブ動作を説明するためのタイミング図である。
【図11】メモリモジュール100のリード動作を説明するためのタイミング図である。
【図12】メモリモジュール100のライト動作を説明するためのタイミング図である。
【図13】メモリモジュール100の起動時における初期化動作を説明するためのフローチャートである。
【図14】データレジスタバッファ300とメモリチップ200との間のライトレベリング動作を説明するためのタイミング図であり、(a)はレベリング開始時におけるタイミング図、(b)レベリング終了時におけるタイミング図である。
【図15】データレジスタバッファ300とメモリチップ200との間のリードレベリング動作を説明するためのタイミング図である。
【図16】メモリコントローラ12とデータレジスタバッファ300との間のライトレベリング動作を説明するためのタイミング図であり、(a)はレベリング開始時におけるタイミング図、(b)レベリング終了時におけるタイミング図である。
【図17】メモリコントローラ12とデータレジスタバッファ300との間のリードレベリング動作を説明するためのタイミング図である。
【図18】DLL回路を使用せずにODT動作を行う場合の問題点を説明するためのタイミング図である。
【図19】ODT機能及びDLL回路ともオン状態とした場合のリードtoリード動作を説明するためのタイミング図である。
【図20】ODT機能及びDLL回路ともオフ状態とした場合のリードtoリード動作を説明するためのタイミング図である。
【図21】ODT機能及びDLL回路ともオン状態とした場合のライトtoライト動作を説明するためのタイミング図である。
【図22】ODT機能及びDLL回路ともオフ状態とした場合のライトtoライト動作を説明するためのタイミング図である。
【図23】変形例によるメモリモジュールの1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【図24】他の変形例によるメモリモジュールの1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【図25】さらに他の変形例によるメモリモジュールの構成を示す模式図である。
【図26】サブモジュール500の構成を示す平面図である。
【図27】図26に示すY1−Y1'線に沿った断面図である。
【図28】サブモジュール500の別の構成を示す平面図である。
【図29】図28に示すY2−Y2'線に沿った断面図である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
【0013】
図1は、本発明の好ましい実施形態によるメモリモジュール100の構成を示す模式図である。
【0014】
図1に示すように、本実施形態によるメモリモジュール100は、モジュール基板110と、モジュール基板110に搭載された複数のメモリチップ200、複数のデータレジスタバッファ300及び1個のコマンド/アドレス/コントロールレジスタバッファ400とを備えている。
【0015】
本実施形態では、メモリチップ200の搭載数は36個であり、各メモリチップを特に区別する必要があるときは、それぞれメモリチップ200−0〜200−35と表記する。また、本実施形態では、データレジスタバッファ300の搭載数は9個であり、各データレジスタバッファを特に区別する必要があるときは、それぞれデータレジスタバッファ300−0〜300−8と表記する。これに対し、コマンド/アドレス/コントロールレジスタバッファ400の搭載数は1個である。但し、本発明においてコマンド/アドレス/コントロールレジスタバッファ400の搭載数を1個とすることは必須でなく、2個以上のコマンド/アドレス/コントロールレジスタバッファ400を搭載しても構わない。
【0016】
モジュール基板110は多層配線が施されたプリント基板であり、その平面形状は、図1に示すX方向を長辺とし、Y方向を短辺とする略長方形である。モジュール基板110の一辺には、長辺であるX方向に沿って複数のデータコネクタ120及び複数のコマンド/アドレス/コントロールコネクタ130が設けられている。データコネクタ120及びコマンド/アドレス/コントロールコネクタ130は、後述するメモリスロットを介して、メモリコントローラとの電気的な接続を取るための端子である。
【0017】
データコネクタ120は、メモリチップ200に書き込むべきライトデータ及びメモリチップ200から読み出されたリードデータを授受するためのコネクタである。特に限定されるものではないが、本実施形態ではデータコネクタ120のピン数は72個である。図1に示すように、これら72個のデータコネクタ120のうち、メモリチップ200−0〜200−19に対応するデータコネクタは、これらメモリチップ200−0〜200−19のほぼ真下に位置する領域110aに配置され、メモリチップ200−20〜200−35に対応するデータコネクタは、これらメモリチップ200−20〜200−35のほぼ真下に位置する領域110bに配置されている。
【0018】
コマンド/アドレス/コントロールコネクタ130は、コマンド/アドレス/コントロールレジスタバッファ400に供給するコマンド信号、アドレス信号、コントロール信号及びクロック信号が供給されるコネクタである。図1に示すように、これらコマンド/アドレス/コントロールコネクタ130は、領域110aと領域110bとの間に位置する領域110cに配置されている。
【0019】
メモリチップ200は例えばDRAMであり、枝番号が偶数であるメモリチップ200−0,200−2・・・はモジュール基板110の一方の表面に搭載され、枝番号が奇数であるメモリチップ200−1,200−3・・・はモジュール基板110の他方の表面に搭載されている。そして、対応する2個のメモリチップ、例えばメモリチップ200−0と200−1は、モジュール基板110を介して互いに対向する位置に搭載されている。
【0020】
本実施形態によるメモリモジュール100は、いわゆる4Rank構成である。Rank数とは、排他的に選択されるメモリ空間の数を指す。各Rank間には同じアドレスが割り当てられるものの、チップセレクト(CS)信号を排他的に活性化させたり、クロックイネーブル(CKE)信号を排他的に活性化させたりすることによって、いずれか1つのRankが選択される。
【0021】
本実施形態では、4個のメモリチップ200が一つの組を構成しており、これら4個のメモリチップ200が互いに異なるRankに属している。例えば、メモリチップ200−0〜200−3が一つの組を構成しており、これらメモリチップ200−0〜200−3が互い異なるRankに属している。
【0022】
図1に示すように、このような組を構成する4個のメモリチップ200は、1つのデータレジスタバッファ300に接続されている。例えば、メモリチップ200−0〜200−3からなる組は、データレジスタバッファ300−0に接続されている。このうち、上側に搭載されたメモリチップ200−0,200−1は、データ配線L1を介してデータレジスタバッファ300−0に接続され、下側に搭載されたメモリチップ200−2,200−3は、データ配線L2を介してデータレジスタバッファ300−0に接続されている。尚、図1に示すデータ配線L1,L2の矢印は、いずれも1バイト(8ビット)分の配線を示している。データ配線L1,L2は、いずれもモジュール基板110の内部に形成された配線である。
【0023】
メモリチップ200の動作は、コマンド/アドレス/コントロールレジスタバッファ400より供給されるコマンド信号、アドレス信号、コントロール信号及びクロック信号に基づいて制御される。メモリチップ200の詳細については後述する。
【0024】
データレジスタバッファ300は、上述の通り、4個のメモリチップ200に対して1個ずつ割り当てられており、9個のデータレジスタバッファ300が長辺であるX方向に配列されている。データレジスタバッファ300は、データ配線L0を介して転送されるライトデータをバッファリングしてデータ配線L1,L2のいずれかへ出力するとともに、いずれかのデータ配線L1,L2を介して転送されるリードデータをバッファリングしてデータ配線L0に出力するためのチップである。データ配線L0も、モジュール基板110の内部に形成された配線である。
【0025】
かかる構成により、1個のデータレジスタバッファ300と、これに対応するデータコネクタ120及び4個のメモリチップ200は、一つのグループGを構成している。同じグループに含まれるメモリチップ200、データレジスタバッファ300及びデータコネクタ120は、モジュール基板110の短辺であるY方向に並べて配置されており、このようなグループGが長辺であるX方向に並べて配置されている。したがって、各データレジスタバッファ300とこれに対応する4個のメモリチップ200との相対的な位置関係は、全てのグループGについて一定となる。
【0026】
これにより、データ配線L0の配線長を短くすることができるとともに、グループ間におけるデータ配線L0の配線長をほぼ等しくすることが可能となる。同様に、データ配線L1,L2の配線長を短くすることができるとともに、グループ間におけるデータ配線L1,L2の配線長をほぼ等しくすることが可能となる。
【0027】
データレジスタバッファ300の動作は、コマンド/アドレス/コントロールレジスタバッファ400より供給されるコントロール信号に基づいて制御される。データレジスタバッファ300の詳細については後述する。
【0028】
コマンド/アドレス/コントロールレジスタバッファ400は、モジュール基板110に1個だけ搭載されている。図1に示すように、コマンド/アドレス/コントロールレジスタバッファ400は、モジュール基板110の長辺であるX方向における略中央部に配置されている。
【0029】
コマンド/アドレス/コントロールレジスタバッファ400は、コマンド/アドレス/コントロールコネクタ130をから供給されるコマンド信号、アドレス信号、コントロール信号及びクロック信号(これらを纏めてコマンド/アドレス/コントロール信号と呼ぶことがある)を入力端子401で受け、これらをバッファリングしてメモリチップ200に供給するとともに、コントロール信号を生成する。メモリチップ200へ供給するコマンド/アドレス信号は、出力端子402を介して出力され、データバッファ300へ供給するコントロール信号は出力端子403を介して出力される。
【0030】
出力端子402はコマンド/アドレス/コントロールレジスタバッファ400の左側用と右側用にそれぞれ1セット用意され、例えば左側の出力端子402は、Rankの選択などに必要なコントロール信号を除き、メモリチップ200−0〜200−19に対して共通接続されている。すなわち、コマンド信号、アドレス信号及びクロック信号は、メモリチップ200−0〜200−19に対して共通に供給される。また、出力端子403においても、コマンド/アドレス/コントロールレジスタバッファ400の左側用と右側用にそれぞれ1セット用意され、例えば左側の出力端子402は、データレジスタバッファ300−0〜300−4に対して共通接続されている。これにより、生成されたコントロール信号は、データレジスタバッファ300−0〜300−4に対して共通に供給される。
【0031】
また、モジュール基板110には、コマンド/アドレス/コントロールレジスタバッファ400から出力されたコマンド/アドレス信号やコントロール信号の反射を防止すべく、X方向における端部に終端抵抗R1が設けられている。さらに、コマンド/アドレス/コントロールレジスタバッファ400に入力されるコマンド/アドレス/コントロール信号の反射波を吸収すべく、コマンド/アドレス/コントロールコネクタ130とコマンド/アドレス/コントロールレジスタバッファ400とを接続するコマンド/アドレス/コントロール配線L3の経路上には、スタブ抵抗R2が挿入されている。コマンド/アドレス/コントロールレジスタバッファ400の詳細については後述する。
【0032】
図2は、本実施形態によるメモリモジュール100を備える情報処理システム10の構成を示すブロック図である。
【0033】
図2に示す情報処理システム10は、CPU11と、メモリコントロールハブ(MCH)12及びインターフェースコントロールハブ(ICH)13を介してCPU11に接続された各種デバイスとを備えている。
【0034】
MCH12には、図1に示したメモリモジュール100及びグラフィックコントローラ15が接続されている。図2に示すように、メモリモジュール100とMCH12はメモリシステム20を構成し、MCH12はメモリモジュール100に対するコントローラ機能を有している。すなわち、メモリコントローラとして機能する。
【0035】
ICH13には、ストレージデバイス16、I/Oデバイス17、及びBIOS(Basic Input/Output System)18が接続されている。ストレージデバイス16は、ハードディスクドライブなどの磁気ドライブや、CD−ROMドライブなどの光学ドライブなどが含まれる。また、I/Oデバイス17は、キーボード、マウスなどの入力デバイスや、スピーカなどの出力デバイス、さらには、モデム、LANなどのネットワークデバイスが含まれる。BIOS18は、当該情報処理システム10に関する基本的な各種情報を記憶する一種のファームウェアであり、フラッシュメモリなどの不揮発性メモリによって構成される。
【0036】
図3は、メモリシステム20が形成された部分におけるマザーボードの構造を模式的に示す斜視図である。
【0037】
図3に示すように、マザーボード21にはメモリスロット22が設けられており、メモリスロット22にメモリモジュール100が挿入されている。一方、メモリコントローラ12は、マザーボード21に直接実装されている。既に説明したように、メモリモジュール100には複数のメモリチップ200が搭載されている。
【0038】
ここで、メモリコントローラ12とメモリチップ200との間の信号経路には、マザーボード21に形成された配線23と、モジュール基板110に形成されたデータ配線L0及びコマンド/アドレス/コントロール配線L3が存在する。しかしながら、図1を用いて説明したように、本実施形態によるメモリモジュール100では、データ配線L0にデータレジスタバッファ300が接続されているため、その先の信号経路に存在するメモリチップ200の負荷容量はメモリコントローラ12からは見えない。同様に、コマンド/アドレス/コントロール配線L3にはコマンド/アドレス/コントロールレジスタバッファ400が接続されているため、その先の信号経路に存在するメモリチップ200の負荷容量はメモリコントローラ12からは見えない。これにより、メモリコントローラ12とメモリモジュール100とを接続する信号経路の負荷容量が低減されるため、データ転送レートが高い場合であっても良好な信号品質を確保することが可能となる。
【0039】
尚、図3に示したメモリシステム20では、マザーボード21にメモリスロット22が1個だけ設けられているが、実際のメモリシステムでは、複数(例えば4個)のメモリスロットが設けられ、これらメモリスロットにそれぞれメモリモジュール100が装着される。複数のメモリモジュール100を装着すると信号経路の負荷容量はその分増大するが、本実施形態では、メモリモジュール1枚当たりの負荷容量が従来に比べて非常に小さいことから、複数のメモリモジュールを装着した場合であっても、高速なデータ転送を行うことが可能となる。
【0040】
次に、メモリチップ200の構成について説明する。
【0041】
図4は、メモリチップ200の構成を示すブロック図である。
【0042】
メモリチップ200はDRAMであり、図4に示すように、外部端子として、クロック端子201、コマンド端子202、コントロール端子206、アドレス端子203、データ入出力端子204及びデータストローブ端子205を備えている。このうち、クロック端子201、コマンド端子202及び、コントロール端子206、アドレス端子203については、図1に示したコマンド/アドレス/コントロール配線L5を介してコマンド/アドレスレジスタバッファ400に接続されている。また、データ入出力端子204及びデータストローブ端子205については、図1に示したデータ配線L1又はL2を介して、データレジスタバッファ300に接続されている。その他、電源端子なども備えられているが、これらについては図示を省略してある。
【0043】
クロック端子201はクロック信号CKが供給される端子であり、供給されたクロック信号CKは、内部クロック生成回路211に供給される。内部クロック生成回路211の出力である内部クロックICLKは、各種内部回路に供給される。クロック信号CKはDLL回路212にも供給される。DLL回路212は、内部クロックLCLKを生成し、これをデータ入出力回路213及びデータストローブ信号入出力回路214に供給する役割を果たす。ここで、内部クロックLCLKは、クロック信号CKに対して位相制御された信号であり、リードデータDQ及びデータストローブ信号DQSの位相がクロック信号CKの位相と一致するよう、クロック信号CKに対してやや位相が進められている。
【0044】
DLL回路212は、モードレジスタ215へのセット内容に応じて使用の可否が選択される。つまり、モードレジスタ215に「DLLオンモード」がセットされている場合には、DLL回路212は使用状態とされ、内部クロックLCLKはクロック信号CKに対して位相制御される。一方、モードレジスタ215に「DLLオフモード」がセットされている場合には、DLL回路212は不使用状態(クロック信号CKはショートカット)とされ、内部クロックLCLKはクロック信号CKに対して位相制御されなくなる。
【0045】
コマンド端子202は、ロウアドレスストローブ(RAS)信号、カラムアドレスストローブ(CAS)信号、ライトイネーブル(WE)信号などからなるコマンド信号CMDが供給される端子である。コントロール端子206は、チップセレクト(CS)信号、クロックイネーブル(CKE)信号、オンダイターミネーション(ODT)信号などの、Rankごとのコントロール信号CTRLが供給される端子である。チップセレクト(CS)信号により、コマンド発行対象となるDRAMが切り換えられ、DRAM内のクロック系の活性化や、オンダイターミネーション制御がなされる。コマンド信号CMDは、コマンドデコーダ216に供給される。コマンドデコーダ216は、内部クロックICLKに同期して、コマンド信号の保持、デコード及びカウントなどを行うことによって、各種内部コマンドICMDを生成する回路である。生成された内部コマンドは、モードレジスタ215を含む各種制御回路(図示せず)に供給される。また、コントロール信号CTRLは、コントロール回路218に供給される。コントロール回路218は、コントロール信号CTRLに基づいてODT信号などの内部コントロール信号を生成する回路である。
【0046】
アドレス端子203は、アドレス信号ADDが供給される端子であり、供給されたアドレス信号ADDはアドレスラッチ回路217に供給される。アドレスラッチ回路217は、内部クロックICLKに同期してアドレス信号ADDをラッチする回路である。アドレスラッチ回路217にラッチされたアドレス信号ADDのうち、ロウアドレスについてはロウデコーダ221に供給され、カラムアドレスについてはカラムデコーダ222に供給される。また、モードレジスタセットにエントリしている場合には、アドレス信号ADDはモードレジスタ215に供給され、これによってモードレジスタ215の内容が更新される。
【0047】
ロウデコーダ221は、メモリセルアレイ230に含まれるいずれかのワード線WLを選択する回路である。メモリセルアレイ230内においては、複数のワード線WLと複数のビット線BLが交差しており、その交点にはメモリセルMCが配置されている(図4では、1本のワード線WL、1本のビット線BL及び1個のメモリセルMCのみを示している)。ビット線BLは、センスアンプ列231に含まれるいずれかのセンスアンプSAに接続されている。センスアンプSAの選択は、カラムデコーダ222によって行われる。
【0048】
選択されたセンスアンプSAは、データ入出力回路213に接続される。データ入出力回路213には、内部クロックLCLK及び内部データストローブ信号PDQSが供給されており、リード動作時においては内部クロックLCLKに同期してリードデータを出力し、ライト動作時においては内部データストローブ信号PDQSに同期してライトデータを取り込む。これにより、リード動作時においては、メモリセルアレイ230から読み出されたリードデータがデータ入出力端子204から出力され、ライト動作時においては、データ入出力端子204から受信したライトデータがメモリセルアレイ230に供給される。
【0049】
データストローブ端子205は、データストローブ信号DQSの入出力を行うための端子であり、データストローブ信号入出力回路214に接続されている。データストローブ信号入出力回路214は、上述した内部データストローブ信号PDQSを生成し、これをデータ入出力回路213に供給する。
【0050】
また、データ入出力回路213及びデータストローブ信号入出力回路214には、コントロール回路218の出力であるODT信号も供給されている。ODT信号が活性化すると、データ入出力回路213及びデータストローブ信号入出力回路214は、いずれも終端抵抗として機能する。
【0051】
以上がメモリチップ200の全体構成である。次に、データレジスタバッファ300の構成について説明する。
【0052】
図5は、データレジスタバッファ300の構成を示すブロック図である。
【0053】
図5に示すように、データレジスタバッファ300は、入出力端子340を介して供給されるデータDQを、入出力端子350を介して供給されるデータストローブ信号DQSでバッファリングするFIFO(Write)回路301と、入出力端子341又は342を介して供給されるデータDQを、入出力端子351又は352を介して供給されるデータストローブ信号DQSでバッファリングするFIFO(Read)回路302とを備えている。ストローブ生成回路376は、DLL回路310によって生成される内部クロックLCLKRに同期して、データコネクタ120へ供給すべきデータストローブ信号DQSを生成する。ストローブ生成回路374は、DLL回路310によって生成される内部クロックLCLKWに同期して、メモリチップ200へ供給すべきデータストローブ信号DQSを生成する。
【0054】
尚、図5に示すFIFO回路301,302は、1ビット分のデータの入出力を行う回路であり、実際には、入出力データ幅分のFIFO回路301,302を用意しておく。本実施形態では、1個のデータレジスタバッファ300が1バイト分のデータを入出力することから、8組のFIFO回路301,302が必要となる。
【0055】
入出力端子340,350はデータ配線L0を介してデータコネクタ120に接続される端子である。一方、入出力端子341,351はデータ配線L1を介してメモリチップ200に接続される端子であり、入出力端子342,352はデータ配線L2を介してメモリチップ200に接続される端子である。このように、データレジスタバッファ300は、メモリコントローラ12に接続される入出力端子の数(M個)と、メモリチップ200に接続される入出力端子の数(N個)の数が相違しており、本実施形態では、N=2Mである。換言すれば、データ配線L1,L2の数がデータ配線L0の数のN/M倍(本実施形態では2倍)とされている。
【0056】
FIFO(Write)回路301の出力動作タイミングは、DLL回路310によって生成される内部クロックLCLKWによって規定される。FIFO(Read)回路302の出力動作タイミングは、DLL回路310によって生成される内部クロックLCLKRによって規定される。DLL回路310は、コマンド/アドレス/コントロールレジスタバッファ400より供給されるクロック信号CKに基づいて内部クロックLCLKWやLCLKRを生成する回路であり、メモリチップ200に設けられたDLL回路212と同様の回路構成及び機能を有している。DLL回路310の使用の可否については、データレジスタコントロール回路320の設定内容によって選択される。また、DLL回路310の代わりにPLL回路を用いても構わない。
【0057】
データレジスタコントロール回路320は、コマンド/アドレス/コントロールレジスタバッファ400より供給されるコントロール信号DRCに基づいて、データレジスタバッファ300の動作を制御する回路である。具体的には、バッファ制御信号BCを生成することにより、入力バッファINB及び出力バッファOUTBの動作を制御するとともに、選択信号SELを生成することにより、セレクタ331〜334の動作を制御する。出力バッファOUTBの制御内容としては、例えば出力インピーダンスの調整やODT動作のオンオフ制御が挙げられる。ODT機能の使用の可否は、モードレジスタ321の設定内容によって選択される。
【0058】
また、データレジスタコントロール回路320は、フィードバック信号DRFを生成し、これをコマンド/アドレス/コントロールレジスタバッファ400に供給する。フィードバック信号DRFは、データレジスタバッファ300の現在のステータスを示す信号である。
【0059】
さらに、データレジスタコントロール回路320には、ライトレベリング回路322及びリードレベリング回路323が含まれている。ライトレベリング回路322はライトレベリング動作を行うための回路であり、リードレベリング回路323はリードレベリング動作を行うための回路である。ライトレベリング動作及びリードレベリング動作については後述する。
【0060】
セレクタ333は、FIFO(Write)回路301の出力であるデータDQを入出力端子341,342のいずれか一方に供給する回路である。また、セレクタ334は、入出力端子341,342から入力されたデータDQを選択し、選択したデータDQをFIFO(Read)回路302に供給する回路である。セレクタ331,332についても、それぞれセレクタ333,334と同様の機能を果たす。より具体的には、セレクタ332は、入出力端子351,352から入力されるデータストローブ信号DQSを選択する。選択されたデータストローブ信号DQSは、遅延回路372によりおおよそ90°位相を遅らせて、FIFO(Read)回路302に入力トリガ信号として供給される。セレクタ331は、ストローブ生成回路374から供給されるデータストローブ信号DQSを入出力端子351,352のいずれかに供給する。ストローブ生成回路374により生成されるデータストローブ信号DQSは、遅延回路370により内部クロックLCLKWよりもおおよそ90°位相が遅れる。これらセレクタ331〜334による上記の選択は、データレジスタコントロール回路320の出力である選択信号SELによって指定される。
【0061】
このように、データレジスタバッファ300は、データ配線L0を介して転送されるライトデータをバッファリングしてデータ配線L1,L2のいずれかへ出力するとともに、いずれかのデータ配線L1,L2を介して転送されるリードデータをバッファリングしてデータ配線L0に出力する役割を果たす。ここで、データレジスタバッファ300はデータのバッファリングを行っているだけであることから、データ配線L0を介して転送されるライトデータ及びリードデータの転送レートと、データ配線L1,L2を介して転送されるライトデータ及びリードデータの転送レートとは互いに等しい。
【0062】
このため、データレジスタバッファ300は、Fully Buffered型のメモリモジュールに用いられるAMBのような高価なチップではなく、比較的安価に提供されるチップを用いることが可能となる。
【0063】
以上がデータレジスタバッファ300の全体構成である。次に、コマンド/アドレス/コントロールレジスタバッファ400の構成について説明する。
【0064】
図6は、コマンド/アドレス/コントロールレジスタバッファ400の構成を示すブロック図である。
【0065】
図6に示すように、コマンド/アドレス/コントロールレジスタバッファ400は、コマンド/アドレス/コントロールコネクタ130に接続される入力端子401と、メモリチップ200に接続される出力端子402と、データレジスタバッファ300に接続される出力端子403及び入力端子404とを備えている。
【0066】
入力端子401からは、メモリコントローラ12より供給されるコマンド/アドレス/コントロール信号が入力される。入力されたコマンド/アドレス/コントロール信号のうち、コマンド信号CMD、アドレス信号ADD及びコントロール信号CTRLについてはレジスタ回路410に供給され、クロック信号CKについてはPLL回路420に供給される。レジスタ回路410は、コマンド信号CMD、アドレス信号ADD及びコントロール信号CTRLをバッファリングする回路であり、バッファリングされたコマンド信号CMD、アドレス信号ADD及びコントロール信号CTRLは、出力端子402を介してメモリチップ200に供給される。
【0067】
レジスタ回路410の動作タイミングは、PLL回路420によって生成される内部クロックLCLKCAによって規定される。PLL回路420は、メモリコントローラ12より供給されるクロック信号CKに基づいて内部クロックLCLKCAを生成する回路であり、メモリチップ200に設けられた回路212と同様の回路構成及び機能を有している。PLL回路420の使用の可否については、コントロール信号生成回路430に含まれるモードレジスタ431の設定内容によって選択される。また、PLL回路420の代わりにDLL回路を用いても構わない。
【0068】
コントロール信号生成回路430は、入力端子401を介して供給されるコマンド/アドレス/コントロール信号に基づいて、データレジスタ300に供給するコントロール信号DRCを生成する回路であり、その動作は内部クロックLCLKCAに同期して行われる。データレジスタ300用のコントロール信号DRCは、出力端子403を介してデータレジスタバッファ300に供給される。また、データレジスタ300用のコントロール信号生成回路430には、入力端子404を介してデータレジスタバッファ300よりフィードバック信号DRFが供給される。
【0069】
コントロール信号DRCには、データの送受信方向を示す信号、データレジスタバッファ300のL0側のODTタイミングを制御する信号、L1、L2側のODTタイミングを制御する信号、DLL回路のオン/オフ制御をする信号、データレジスタバッファ300のイネーブル/ディセーブル制御をする信号、データレジスタバッファ300のモード切り替えおよびモードレジスタセットを行う信号などが含まれている。これらの信号には、それぞれ別個の配線を割り当てても構わないし、複数の信号に1本の配線を割り当てても構わない。また、これらの信号をコマンドとしてデータレジスタバッファ300に送信しても構わない。
【0070】
以上がコマンド/アドレス/コントロールレジスタバッファ400の全体構成である。
【0071】
図7は、本実施形態によるメモリモジュール100の配線図である。
【0072】
図7に示すように、本実施形態では、データコネクタ120とメモリチップ200との間にデータレジスタバッファ300が介在している。データコネクタ120とデータレジスタバッファ300はデータ配線L0によって接続され、データレジスタバッファ300とメモリチップ200はデータ配線L1又はL2によって接続されている。図7では、データ配線L0によって転送される複数のデータをDQ−Preと表記し、データ配線L1,L2によって転送されるデータをDQ−Postと表記している。同様に、データ配線L0によって転送されるデータストローブ信号をDQS−Preと表記し、データ配線L1,L2によって転送されるデータストローブ信号をDQS−Postと表記している。
【0073】
データDQ−PreとデータDQ−Postの内容は同一であるが、データレジスタバッファ300によってバッファリングされる分、両者のタイミングにはずれが生じる。データストローブ信号DQS−Preとデータストローブ信号DQS−Postとの関係についても同様である。このため、本実施形態では、メモリチップ200とデータレジスタバッファ300との間のタイミング調整と、データレジスタバッファ300とメモリコントローラとの間のタイミング調整とは、それぞれ別個に行う必要がある。これらタイミング調整の具体的な方法については後述する。
【0074】
既に説明したとおり、本実施形態では、1個のデータレジスタバッファ300に4個のメモリチップ200が割り当てられている。これら4個のメモリチップ200は、互いに異なるRankを構成するメモリチップであり、コントロール信号CTRLに含まれるチップセレクト(CS)信号やクロックイネーブル(CKE)信号によって排他的に活性化される。アドレス/コマンド信号ADD,CMDについては、これら4個のメモリチップ200に対して共通に供給される。
【0075】
メモリチップ200に供給されるアドレス信号ADD、コマンド信号CMD、コントロール信号CTRL及びクロック信号CKは、コマンド/アドレス/コントロールレジスタバッファ400より供給される。また、データレジスタバッファ300に供給されるコントロール信号DRCについても、コマンド/アドレス/コントロールレジスタバッファ400より供給される。
【0076】
図7に示すように、コマンド/アドレス/コントロールコネクタ130とコマンド/アドレス/コントロールレジスタバッファ400はコマンド/アドレス/コントロール配線L3によって接続され、コマンド/アドレス/コントロールレジスタバッファ400とデータレジスタバッファ300はコントロール配線L4によって接続され、コマンド/アドレス/コントロールレジスタバッファ400とメモリチップ200はコマンド/アドレス/コントロール配線L5によって接続されている。図7では、コマンド/アドレス/コントロール配線L3によって転送されるコマンド/アドレス信号をADD/CMD−Preと表記し、コマンド/アドレス/コントロール配線L5によって転送されるコマンド/アドレス信号をADD/CMD−Postと表記している。同様に、コマンド/アドレス/コントロール配線L3によって転送されるコントロール信号をCNTRL−Preと表記し、コマンド/アドレス/コントロール配線L5によって転送されるコントロール信号をCNTRL−Postと表記している。
【0077】
また、メモリチップ200及びデータレジスタバッファ300に供給されるクロック信号CKは、全てコマンド/アドレス/コントロールレジスタバッファ400より供給される。図7では、コマンド/アドレス/コントロール配線L3によって転送されるクロック信号をCK−Preと表記し、コントロール配線L4及びコマンド/アドレス/コントロール配線L5によって転送されるクロック信号をCK−Postと表記している。
【0078】
図8は、本実施形態によるメモリモジュールの1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【0079】
図8(a),(b)に示すように、1ビットのデータはデータコネクタ120の所定のコネクタ121を介して授受される。コネクタ121は、1本のデータ配線L0を介してデータレジスタバッファ300に接続される。図5を用いて説明したように、本実施形態では、1本のデータ配線L0に対して2系統のデータ配線L1,L2が割り当てられている。具体的には、データ配線L1については2個のメモリチップ200−0,200−1に共通接続され、データ配線L2については2個のメモリチップ200−2,200−3に共通接続される。
【0080】
かかる構成により、1本のデータ配線L1又はL2の負荷容量が小さくなるとともに、分岐点の数が少なくなり、さらに、分岐点からの配線長も短くなることから、データ配線L1,L2上を伝送されるデータの信号品質が高められる。具体的には、1本のデータ配線L1に接続される端子は、メモリチップ200−0,200−1のデータ入出力端子と、データレジスタバッファ300のデータ出力端子の合計3端子だけである。しかも、図8(a)に示すように、メモリチップ200−0と200−1はモジュール基板110を介して互いに対向する搭載に配置されていることから、分岐点Pをメモリチップ200−0と200−1によって挟まれた領域に配置すれば、分岐点からメモリチップ200−0,200−1までの配線長が非常に短くなる。さらに、これらメモリチップ200−0〜200−3は互いに近接した位置に搭載されており、これによりメモリチップ間における遠近端差についても最小限に抑えられている。
【0081】
図9は、データ配線L1,L2を1本に纏めた場合における1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【0082】
図9(a),(b)に示すように、データ配線L1,L2を1本に纏めた場合、データレジスタバッファ300と4個のメモリチップ200−0〜200−3が1本のデータ配線L1によって共通接続されることになる。このため、図8に示す構成と比べると、1本のデータ配線L1の負荷容量が大きくなるとともに、分岐点の数が多くなり、さらに、分岐点からの配線長も長くなる。具体的には、1本のデータ配線L1に接続される端子は、メモリチップ200−0〜200−3のデータ入出力端子と、データレジスタバッファ300のデータ出力端子の合計5端子となる。しかも、分岐点P1で2分岐し、分岐点P2にてさらに2分岐する構成となることから、分岐点P1からメモリチップ200−0〜200−3までの配線長が長くなる。
【0083】
これに対し、本実施形態においては、図8(a),(b)に示したように2系統のデータ配線L1,L2を用いていることから、モジュール基板内におけるデータの信号品質を高めることが可能となる。但し、2系統のデータ配線L1,L2を用いると、メモリチップ200とデータレジスタバッファ300とを接続する配線の本数が2倍に増加する。しかしながら、本実施形態では、図1を用いて説明したように、同じグループGを構成するメモリチップ200とデータレジスタバッファ300がモジュール基板110の短辺方向に並べて配置されていることから、配線スペースには十分な余裕がある。このため、短辺方向に延びる配線の本数が2倍に増えても問題なく配線を施すことが可能である。
【0084】
一方、Fully Buffered型のメモリモジュールのように、モジュール基板の中央にデータを集中させるようなレイアウトである場合、モジュール基板の長辺方向に長いデータ配線を多数形成する必要がある。このようなレイアウトにおいては、本実施形態のレイアウトと比べてデータ配線の総延長が大幅に長くなるため、データ配線の本数を2倍とするためには、モジュール基板を構成する絶縁層の積層数を大幅に増やすなどの対策が必要となる。これに対し、本実施形態では上記の問題が生じないことから、モジュール基板110を構成する絶縁層の積層数を増やすことなく、メモリチップ200とデータレジスタバッファ300とを接続する配線本数を2倍とすることが可能となる。
【0085】
図10は、2本のデータ配線L1,L2を用いたインターリーブ動作を説明するためのタイミング図である。
【0086】
図10はRank0〜Rank3からの連続したリード動作を示しており、バースト長が4ビット(BL=4)であるケース(或いは、バーストチョップによってバースト動作を4ビットで停止させたケース)を示している。図10に示す例では、クロック信号CKに同期した時刻T0,T2,T4,T6にてRank0,2,1,3の順にリードコマンドが発行されている。これらリードコマンドに応答して、所定のCASレイテンシ(本例ではCL=12)が経過した後、4ビットのリードデータDQがバースト出力される。
【0087】
その結果、時刻T12〜T14の期間は、Rank0のメモリチップ200からデータ配線L1を用いたデータ転送が行われ、時刻T14〜T16の期間は、Rank2のメモリチップ200からデータ配線L2を用いたデータ転送が行われ、時刻T16〜T18の期間は、Rank1のメモリチップ200からデータ配線L1を用いたデータ転送が行われ、時刻T18〜T20の期間は、Rank3のメモリチップ200からデータ配線L2を用いたデータ転送が行われる。つまり、データ配線L1,L2が交互に使用される。
【0088】
このようにして次々と転送されるリードデータは、データレジスタバッファ300に供給され、データレジスタバッファ300に含まれるFIFO回路によってバッファリングされた後、データ配線L0へ出力される。図10に示す例では、データレジスタバッファ300にリードデータが入力されてから、1クロックサイクル遅れてリードデータが出力されている。
【0089】
このように、本実施形態では、2本のデータ配線L1,L2を用いたインターリーブ動作が可能であることから、複数のメモリチップに対するリード動作を途切れることなく連続的に実行することが可能となる。これにより、データレジスタバッファ300から出力されるリードデータも途切れることなくメモリコントローラへ供給することができ、バスの利用効率を高めることが可能となる。尚、本実施形態においてデータ配線L1とL2が同時に使用されることはないが、これらデータ配線L1,L2を1本に纏めると、異なるメモリチップから出力されるリードデータ間に1クロックサイクル以上の時間を空ける必要が生じる。これに対し、本実施形態では、2本のデータ配線L1,L2を交互に使用していることから、異なるメモリチップから出力されるリードデータ間に隙間を設ける必要が無い。
【0090】
尚、図10においてはリード動作を例に説明したが、ライト動作についても同様のインターリーブ動作が可能である。
【0091】
以下、本実施形態によるメモリモジュール100の動作について、より詳細に説明する。
【0092】
図11は、本実施形態によるメモリモジュール100のリード動作を説明するためのタイミング図である。
【0093】
リード動作においては、メモリコントローラ12からアクティブコマンドACT及びリードコマンドreadがこの順に発行される。図11に示す例では、クロック信号CKに同期した時刻T−5にてアクティブコマンドACTがコマンド/アドレス/コントロールコネクタ130に到達し、時刻T0にてリードコマンドreadがコマンド/アドレス/コントロールコネクタ130に到達している。
【0094】
コマンド/アドレス/コントロールコネクタ130に到達したこれらコマンドACT,readは、コマンド/アドレス/コントロールレジスタバッファ400に入力される。ここで、これらコマンドACT,readがコマンド/アドレス/コントロールコネクタ130に到達するタイミングと、これらコマンドACT,readがコマンド/アドレス/コントロールレジスタバッファ400に入力されるタイミングとの間には所定の時間差(Flight Time)が生じる。
【0095】
コマンド/アドレス/コントロールレジスタバッファ400は、受信したコマンドACT,readを図6に示したレジスタ回路410にて、入力クロック信号によってレジスタリングした後、メモリチップ200に出力する。この時、クロック信号CK出力については追加の1/2クロックサイクル相当量の遅延を持たせることにより、コマンドACT,read出力との同期を図る。また、コマンド/アドレス/コントロールレジスタバッファ400は、リードコマンドReadをコントロール信号DRCの一部としてデータレジスタバッファ300にも供給する。
【0096】
そして、メモリチップ200はコマンドACT,readを受け、実際にリード動作を開始する。ここで、コマンドACT,readがコマンド/アドレス/コントロールレジスタバッファ400から出力されるタイミングと、コマンドACT,readがメモリチップ200に入力されるタイミングとの間には所定の時間差(Flight Time)が生じる。
【0097】
図11に示す例ではCL=5に設定されていることから、メモリチップ200はリードコマンドreadを受けてから5クロックサイクル後である時刻T5からリードデータDQのバースト出力を開始する。図11に示す例では、バースト長は8ビット(BL=8)である。メモリチップ200からバースト出力されるリードデータDQ及びデータストローブ信号DQSは、データレジスタバッファ300に供給される。
【0098】
データレジスタバッファ300は、メモリチップ200から出力されるリードデータDQを、一定位相量(たとえば、おおむね、90°の位相差分)だけ遅延させたデータストローブ信号DQSでFIFO回路302に取り込む。ここで、リードデータDQ及びデータストローブ信号DQSがメモリチップ200から出力されるタイミングと、リードデータDQ及びデータストローブ信号DQSがデータレジスタバッファ300に入力されるタイミングとの間には所定の時間差(Flight Time)が生じる。
【0099】
そして、データレジスタバッファ300は、FIFO回路302を用いて内部クロックLCLKRに同期したリタイミングを行い、CL=6に変換して出力する。これにより、メモリコントローラは、正しくリードデータを受信することが可能となる。
【0100】
以上が本実施形態によるメモリモジュール100のリード動作である。次に、ライト動作について説明する。
【0101】
図12は、本実施形態によるメモリモジュール100のライト動作を説明するためのタイミング図である。
【0102】
ライト動作においては、メモリコントローラからアクティブコマンドACT及びライトコマンドWriteがこの順に発行されるとともに、ライトコマンドWriteを発行してからライトレイテンシ(WL)が経過した後、ライトデータをバースト出力する。図12に示す例では、クロック信号CKに同期した時刻T−5にてアクティブコマンドACTがコマンド/アドレス/コントロールコネクタ130に到達し、時刻T0にてライトコマンドWriteがコマンド/アドレス/コントロールコネクタ130に到達している。また、本例ではWL=4に設定されており、データコネクタ120には時刻T4からライトデータが入力される。
【0103】
コマンドの流れは図11に示したリード動作と同様であることから、重複する説明は省略する。一方、データコネクタ120に到達したこれらライトデータDQは、データレジスタバッファ300に入力される。ここで、ライトコマンドがコマンド/アドレス/コントロールコネクタ130に到達するタイミングと、ライトコマンド(Direction Control)がデータレジスタバッファ300に入力されるタイミングとの間には所定の時間差(Flight Time)が生じる。これを考慮して、メモリコントローラは、このFlight Time分だけ遅れてライトデータDQを出力する。
【0104】
データレジスタバッファ300は、受け付けたライトデータDQを、一定位相量(たとえば、おおむね、90°の位相差分)だけ遅延させたデータストローブ信号DQSでFIFO回路301に取り込む。そして、データレジスタバッファ300は、FIFO回路301を用いて内部クロックLCLKWに同期したリタイミングを行い、WL=5に変換して出力する。既に説明したとおり、データレジスタバッファ300からメモリチップ200へのライトデータの送信は、2本のデータ配線L1,L2のいずれか一方を用いて行われる。いずれのデータ配線を用いるかは、指定されたRankによって決まる。
【0105】
そして、メモリチップ200は、データレジスタバッファ300からバースト出力されるライトデータDQを受信し、これをメモリセルアレイに書き込む。ここで、ライトデータDQ及びデータストローブ信号DQSがデータレジスタバッファ300から出力されるタイミングと、ライトデータDQ及びデータストローブ信号DQSがメモリチップ200に入力されるタイミングとの間には所定の時間差(Flight Time)が生じる。これを考慮して、データレジスタバッファ300は、このFlight Time分だけ早くライトデータDQを出力する。これにより、メモリチップ200は正しくライトデータDQを受信することが可能となる。
【0106】
次に、本実施形態によるメモリモジュール100の起動時における初期化動作について説明する。
【0107】
図13は、メモリモジュール100の起動時における初期化動作を説明するためのフローチャートである。
【0108】
まず、電源が投入されると(ステップS1)、メモリチップ200、データレジスタバッファ300及びコマンド/アドレス/コントロールレジスタバッファ400は、それぞれ内部でリセット信号を活性化し、内部回路をリセットする(ステップS2)。これにより、メモリチップ200、データレジスタバッファ300及びコマンド/アドレス/コントロールレジスタバッファ400は、それぞれ初期化動作を実行する。初期化動作にはモードレジスタの設定動作が含まれており、これにより、メモリチップ200、データレジスタバッファ300及びコマンド/アドレス/コントロールレジスタバッファ400にそれぞれ含まれるモードレジスタ215,321,431に所定のモード情報が設定される(ステップS3)。
【0109】
モードレジスタに対する設定動作が完了すると、次に、データレジスタバッファ300とメモリチップ200との間のレベリング動作が行われる(ステップS4)。レベリング動作とは、信号の伝搬時間を考慮してライトタイミングやリードのタイミングを調整する動作である。ライトタイミングの調整はライトレベリング動作によって行われ、リードタイミングの調整はリードレベリング動作によって行われる。
【0110】
データレジスタバッファ300とメモリチップ200との間のレベリング動作が完了すると、次に、メモリコントローラとデータレジスタバッファ300との間のレベリング動作が行われる(ステップS5)。
【0111】
図14は、データレジスタバッファ300とメモリチップ200との間のライトレベリング動作を説明するためのタイミング図であり、(a)はレベリング開始時におけるタイミング図、(b)レベリング終了時におけるタイミング図である。この動作は、図5に示したライトレベリング回路322によって行われる。
【0112】
データレジスタバッファ300とメモリチップ200との間のライトレベリング動作においては、まず、図14(a)に示すように、データレジスタバッファ300からクロック信号CKに同期したデータストローブ信号DQSを出力する。クロック信号CKはコマンド/アドレス/コントロールレジスタバッファ400から供給される信号であり、既に説明したとおり、メモリチップ200にも供給される。ここで、データストローブ信号DQSがメモリチップ200に伝達されるまでにはある程度の伝搬時間が必要であることから、メモリチップ200側においては、クロック信号CKとデータストローブ信号DQSの入力タイミングは必ずしも一致しない。
【0113】
図14(a)に示す例では、メモリチップ200側において、データストローブ信号DQSの立ち上がりエッジにおけるクロック信号CKの論理レベルが「ハイレベル」であるケースを示している。これに応答して、メモリチップ200はデータ入出力端子204から「ハイレベル」の信号DQを出力する。かかる信号DQは、データレジスタバッファ300に入力され、これにより、データレジスタバッファ300は、クロック信号CKとデータストローブ信号DQSの位相がどの方向にずれているのかを知ることができる。
【0114】
データレジスタバッファ300のライトレベリング回路322は、位相のズレ方向に基づいてLCLKWを変位させ、データストローブ信号DQSの出力タイミングを変化させる。図14(a)に示す例では、メモリチップ200に到達するクロック信号CKの立ち上がりエッジに比べて、データストローブ信号DQSの到達が遅れていることから、データレジスタバッファ300は、データストローブ信号DQSの出力タイミングを早める。
【0115】
そして、上記の動作を繰り返すと、図14(b)に示すように、メモリチップ200側において、データストローブ信号DQSの立ち上がりエッジにおけるクロック信号CKの論理レベルが「ローレベル」に変化する。これによりライトレベリング動作が終了し、データレジスタバッファ300は、入力されるクロック信号CKを基準として、データストローブ信号DQSの出力すべきタイミングを知ることができる。ライトレベリング動作の結果は、データレジスタバッファ300内のデータレジスタコントロール回路320に記憶される。このようにしてライトレベリング動作が完了すると、メモリチップ200に入力されるクロック信号CKとデータストローブ信号DQSの位相は実質的に一致することになる。
【0116】
図15は、データレジスタバッファ300とメモリチップ200との間のリードレベリング動作を説明するためのタイミング図である。この動作は、図5に示したリードレベリング回路323によって行われる。
【0117】
データレジスタバッファ300とメモリチップ200との間のリードレベリング動作においては、図15に示すように、コマンド/アドレス/コントロールレジスタバッファ400からクロック信号CKを出力するとともに、アクティブコマンドACT及びリードコマンドReadを発行する。クロック信号CKはメモリチップ200及びデータレジスタバッファ300に供給され、コマンドACT,readはメモリチップ200に供給される。また、リードコマンドReadについては、コントロール信号DRCの一部としてデータレジスタバッファ300にも供給される。
【0118】
図15に示す例では、クロック信号CKに同期した時刻T−5にてアクティブコマンドACTが発行され、時刻T0にてリードコマンドReadが発行されている。つまり、RAS−CASディレイ(tRCD)は5クロックサイクルである。
【0119】
メモリチップ200は、リードコマンドReadを受けて実際にリード動作を実行する。図15に示す例では、CASレイテンシが5クロックサイクル(CL=5)に設定されており、したがって、時刻T5からリードデータDQの出力が開始される。リードレベリング時におけるリードデータDQは、たとえば、ハイレベルとローレベルが交互に繰り返される信号などである。
【0120】
メモリチップ200から出力されたリードデータDQは、データレジスタバッファ300に到達し、これにより、データレジスタバッファ300は、コントロール信号DRCの一部として入力されたリードコマンドReadの入力タイミングから、リードデータDQが入力されるまでの時間Aを知ることができる。かかる時間はメモリチップ200ごとに測定され、データレジスタバッファ300内のデータレジスタコントロール回路320に記憶され、入力バッファ回路INBの活性化タイミングの調整等に使われる。図15には、リードコマンドReadの入力からリードデータDQの入力までの時間Aが短いケース(メモリチップ200−0とデータレジスタバッファ300−0との間)と、長いケース(メモリチップ200−19とデータレジスタバッファ300−4との間)の2つを示している。
【0121】
図16は、メモリコントローラ12とデータレジスタバッファ300との間のライトレベリング動作を説明するためのタイミング図であり、(a)はレベリング開始時におけるタイミング図、(b)レベリング終了時におけるタイミング図である。この動作は、図2に示したライトレベリング回路12aによって行われる。
【0122】
メモリコントローラ12とデータレジスタバッファ300との間のライトレベリング動作においては、まず、図16(a)に示すように、メモリコントローラ12からクロック信号CKとデータストローブ信号DQSを出力する。このうち、クロック信号CKについてはコマンド/アドレス/コントロールレジスタバッファ400を介してデータレジスタバッファ300に供給され、データストローブ信号DQSについてはデータレジスタバッファ300に直接供給される。したがって、データレジスタバッファ300側においては、クロック信号CKとデータストローブ信号DQSの入力タイミングは必ずしも一致しない。
【0123】
図16(a)に示す例では、データレジスタバッファ300側において、データストローブ信号DQSの立ち上がりエッジにおけるクロック信号CKの論理レベルが「ローレベル」であるケースを示している。これに応答して、データレジスタバッファ300は入出力端子340から「ローレベル」の信号DQを出力する。かかる信号DQは、メモリコントローラ12に供給され、これにより、メモリコントローラ12はクロック信号CKとデータストローブ信号DQSの位相がどの方向にずれているのかを知ることができる。
【0124】
メモリコントローラ12は、位相のズレ方向に基づいてデータストローブ信号DQSの出力タイミングを変化させる。図16(a)に示す例では、データレジスタバッファ300に到達するクロック信号CKの立ち上がりエッジに比べて、データストローブ信号DQSの到達が進んでいることから、メモリコントローラ12は、データストローブ信号DQSの出力タイミングを遅らせる。
【0125】
そして、上記の動作を繰り返すと、図16(b)に示すように、データレジスタバッファ300側において、データストローブ信号DQSの立ち上がりエッジにおけるクロック信号CKの論理レベルが「ハイレベル」に変化する。これによりライトレベリング動作が終了し、メモリコントローラ12は、自ら出力するクロック信号CKを基準として、データストローブ信号DQSの出力すべきタイミングを知ることができる。ライトレベリング動作の結果は、メモリコントローラ12の内部回路に記憶される。このようにしてライトレベリング動作が完了すると、データレジスタバッファ300に入力されるクロック信号CKとデータストローブ信号DQSの位相は実質的に一致することになる。
【0126】
図17は、メモリコントローラ12とデータレジスタバッファ300との間のリードレベリング動作を説明するためのタイミング図である。この動作は、図2に示したリードレベリング回路12bによって行われる。
【0127】
メモリコントローラ12とデータレジスタバッファ300との間のリードレベリング動作においては、図17に示すように、メモリコントローラ12からクロック信号CKを出力するとともに、アクティブコマンドACT及びリードコマンドReadを発行する。クロック信号CKはデータレジスタバッファ300に供給され、コマンドACT,readは、コマンド/アドレス/コントロールレジスタバッファ400を介し、コントロール信号DRCの一部としてデータレジスタバッファ300に供給される。
【0128】
図17に示す例では、クロック信号CKに同期した時刻T−5にてアクティブコマンドACTが発行され、時刻T0にてリードコマンドReadが発行されている。つまり、RAS−CASディレイ(tRCD)は5クロックサイクルである。
【0129】
データレジスタバッファ300は、リードコマンドReadを受けて、あらかじめ定められたCASレイテンシが経過した後、ダミーデータDQを出力する。ダミーデータDQは、メモリチップ200から読み出されたリードデータではなく、データレジスタバッファ300内のデータレジスタコントロール回路320によって自動生成されたデータである。図17に示す例では、CASレイテンシが6クロックサイクル(CL=6)に設定されており、したがって、時刻T6からダミーデータDQの出力が開始される。ダミーデータDQは、たとえば、ハイレベルとローレベルが交互に繰り返される信号などである。
【0130】
データレジスタバッファ300から出力されたダミーデータDQは、メモリコントローラ12に到達し、これにより、メモリコントローラ12はリードコマンドReadの発行タイミングから、リードデータDQが入力されるまでの時間Bを知ることができる。かかる時間はデータレジスタバッファ300ごとに測定され、メモリコントローラ12の内部回路に記憶され、入力バッファ回路(図示せず)の活性化タイミングの調整等に使われる。図17には、リードコマンドReadの発行からリードデータDQの入力までの時間Bが短いケース(メモリコントローラ12とデータレジスタバッファ300−0との間)と、長いケース(メモリコントローラ12とデータレジスタバッファ300−4との間)の2つを示している。
【0131】
以上が本実施形態によるメモリモジュール100の起動時における初期化動作である。次に、本発明によるメモリモジュール100とDLL回路及びODT機能との関係について説明する。
【0132】
既に説明したように、DLL回路とは、外部クロック信号に対して位相制御された内部クロック信号を生成する回路であり、リードデータDQ及びデータストローブ信号DQSの位相をクロック信号CKの位相と一致させるために用いられる。DDR3型のDRAMのような近年の高速メモリにおいては、DLL回路の使用はほぼ必須であり、DLL回路を使用しなければ正常なデータ転送を行うことが困難となる。その一方で、DLL回路は消費電力が比較的大きいという問題を有している。
【0133】
一方、ODT機能とは、終端抵抗をメモリチップの内部に持たせる機能であり、反射による信号品質の劣化を防止するために用いられる。通常のメモリモジュールは、1本のデータ配線に多数のメモリチップが共通接続されることから、近年の高速メモリにおいては、ODT機能の使用はほぼ必須であり、ODT機能をオフにすると信号波形が著しく劣化する。その一方で、ODT機能をオンにすると、消費電力が増大するという問題を有している。また、ODT動作は、データの入出力動作と同期している必要があるため、基本的に、DLL回路の使用が前提となる。
【0134】
図18は、DLL回路を使用せずにODT動作を行う場合の問題点を説明するためのタイミング図である。
【0135】
図18に示す例では、時刻T0の直前にODT信号をアクティブに変化させている。これに応答して、メモリチップ200の内部回路は、時刻T0のクロック信号CKに同期してODT機能をオンさせる。しかしながら、ODTインピーダンス(データ入出力端子204,205のインピーダンス)は直ちに所望の値とはならず、tAONDFminが経過しないとハイインピーダンス状態(RTT_OFF)から変化しない。本例では、tAONDFminは約3クロックサイクルである。
【0136】
tAONDFminが経過した後は、電源電圧やチップ温度の条件次第でハイインピーダンス状態ではなくなるが、条件によってはまだ所望のインピーダンスRTT_ONにはならない。最悪の条件下では、所望のインピーダンスRTT_ONが得られるのは、時刻T0からtAONDFmaxが経過した後であり、本例ではtAONDFmaxは約8クロックサイクルである。
【0137】
したがって、ODTインピーダンスが不定状態となる時刻T3から、ODTインピーダンスが所望の値RTTとなる次のサイクルである時刻T9までの期間は、インピーダンスが不定な期間である。このため、この期間は他のメモリチップにアクセスできないロスサイクルとなる。このように、DLL回路を使用せずにODT動作を行うと、ODT機能のオン/オフの切り替えが非同期となることから、インピーダンスの不定期間が長くなり、その間のリードライト動作が妨げられる。
【0138】
このようなロスサイクルの問題を考慮すれば、DLL回路を使用しない場合にはODT機能も使用しないことが望ましいが、上述の通り、通常のメモリモジュールにおいてODT機能はほぼ必須であり、これをオフにすることは困難である。
【0139】
しかしながら、本実施形態によるメモリモジュール100では、メモリチップ200に接続されたデータ配線L1,L2の負荷容量が非常に小さいことから、DDR3型のDRAMのような高速メモリを用いた場合であっても、ODT動作をオフ状態で使用することができる。しかも、メモリチップ200とデータレジスタバッファ300との距離が非常に短いことから、DLL回路を用いた同期制御を行わなくても、正しくデータ転送を行うことができる。すなわち、ODT機能及びDLL回路ともオフ状態とすることができるので、消費電力を大幅に低減することが可能となる。さらには、メモリチップ200からODT回路及びDLL回路を排除することもでき、この場合には、チップ面積を縮小することも可能となる。
【0140】
次に、ODT機能及びDLL回路の使用の有無による動作タイミングの違いについて説明する。
【0141】
図19は、ODT機能及びDLL回路ともオン状態とした場合のリードtoリード動作を説明するためのタイミング図である。
【0142】
図19に示すように、ODT機能及びDLL回路ともオン状態でのリード動作タイミングは、図11に示した動作タイミングと基本的に同じである。図19に示す例では、時刻T0においてRank0に対してリードコマンドReadが発行され、時刻T6においてRank1に対してリードコマンドReadが発行されている。Rank0のメモリチップ200とRank1のメモリチップ200は、データ配線L1に共通接続されているため、相互に影響を及ぼし合う。
【0143】
このため、Rank0のメモリチップ200からリードデータDQがバースト出力される時刻T5〜T9の期間においては、Rank1のメモリチップ200のデータ入出力端子204は、ODT機能によってインピーダンスがRtt_Nomに設定される。同様に、Rank1のメモリチップ200からリードデータDQがバースト出力される時刻T11〜T15の期間においては、Rank0のメモリチップ200のデータ入出力端子204は、ODT機能によってインピーダンスがRtt_Nomに設定される。
【0144】
このように、一方のメモリチップ200がリードデータDQを出力している間は、他方のメモリチップ200がODT動作を行うため、信号の反射が防止される。但し、上述の通り、DLL回路及びODT機能の使用による消費電流が発生する。
【0145】
図20は、ODT機能及びDLL回路ともオフ状態とした場合のリードtoリード動作を説明するためのタイミング図である。
【0146】
図20に示すように、DLL回路をオフ状態とすると、リードデータDQの出力タイミングはクロック信号CKに対して非同期となる。しかしながら、本実施形態では、メモリチップ200とデータレジスタバッファ300との距離が非常に近いことから、データレジスタバッファ300は非同期に出力されたリードデータDQを正しく受信することが可能である。また、Rank0のメモリチップとRank1のメモリチップは、データ配線L1のほぼ末端に配置されていることから、非動作側のメモリチップ200による信号の反射の影響も非常に少ない。このようにして非同期に出力されたリードデータDQは、データレジスタバッファ300においてリタイミングされ、メモリコントローラ12へ出力される。
【0147】
このように、本実施形態においては、メモリチップ200のODT機能及びDLL回路をいずれもオフ状態にした場合であっても、これらをオン状態とした場合と同様のリード動作を行うことが可能となる。むしろ、DLL回路によるタイミング調整が行われない分、リードデータDQの出力タイミングが早くなるため、より高速なアクセスが実現できる可能性がある。
【0148】
図21は、ODT機能及びDLL回路ともオン状態とした場合のライトtoライト動作を説明するためのタイミング図である。
【0149】
図21に示すように、ODT機能及びDLL回路ともオン状態でのライト動作タイミングは、図12に示した動作タイミングと基本的に同じである。図21に示す例では、時刻T0においてRank0に対してライトコマンドWriteが発行され、時刻T6においてRank1に対してライトコマンドWriteが発行されている。上述の通り、Rank0のメモリチップ200とRank1のメモリチップ200は、データ配線L1に共通接続されているため、相互に影響を及ぼし合う。
【0150】
このため、Rank0のメモリチップ200へライトデータDQがバースト入力される時刻T5〜T9の期間においては、Rank1のメモリチップ200のデータ入出力端子204は、ODT機能によってインピーダンスがRtt_Nomに設定される。同様に、Rank1のメモリチップ200へライトデータDQがバースト入力される時刻T11〜T15の期間においては、Rank0のメモリチップ200のデータ入出力端子204は、ODT機能によってインピーダンスがRtt_Nomに設定される。
【0151】
このように、一方のメモリチップ200がライトデータDQを受け付けている間は、他方のメモリチップ200がODT動作を行うため、信号の反射が防止される。但し、上述の通り、DLL回路及びODT機能の使用による消費電流が発生する。
【0152】
図22は、ODT機能及びDLL回路ともオフ状態とした場合のライトtoライト動作を説明するためのタイミング図である。
【0153】
図22に示すように、ODT機能をオフにすると、非動作側のメモリチップ200のデータ入出力端子204はハイインピーダンス状態となり、ここで信号の反射が生じる。しかしながら、本実施形態では、メモリチップ200とデータレジスタバッファ300との距離が非常に近く、且つ、Rank0のメモリチップとRank1のメモリチップは、データ配線L1のほぼ末端に配置されていることから、非動作側のメモリチップ200による信号の反射の影響は非常に少ない。したがって、各メモリチップ200は、ライトデータDQを正しく受信することが可能となる。
【0154】
このように、本実施形態においては、メモリチップ200のODT機能及びDLL回路をいずれもオフ状態、つまり、DLL回路及びODT機能による消費電流をゼロにした場合であっても、これらをオン状態とした場合と同様のライト動作を行うことが可能となる。むしろ、ODTインピーダンスの切り替え動作が不要であることから、ライトデータDQの入力タイミングを早めることも可能となる。実際、図22に示す動作タイミングでは、図21に示す動作タイミングよりも、ライトtoライト動作が1クロックサイクルだけ高速化されている。
【0155】
以下、本発明のいくつかの変形例について説明する。
【0156】
図23は、変形例によるメモリモジュールの1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【0157】
図23(a),(b)に示す例は、上述した実施形態とは異なり、データ配線L1,L2にそれぞれメモリチップ200が1個だけ接続されている。具体的には、データ配線L1にはメモリチップ200−0だけが接続され、データ配線L2にはメモリチップ200−1だけが接続されている。本発明はこのような態様も包含する。すなわち、データレジスタバッファ300とメモリチップ200とを接続する1本のデータ配線(L1又はL2)に割り当てられたメモリチップ200の数については特に限定されない。但し、データ配線L1,L2の負荷容量低減、分岐点の削減、配線長の短縮などを行うためには、1本のデータ配線に接続されるメモリチップ200の数は2個以下とすることが好ましい。
【0158】
図24は、他の変形例によるメモリモジュールの1ビット分のデータ伝送経路を説明するための模式図であり、(a)はレイアウト図、(b)は配線図である。
【0159】
図24(a),(b)に示す例は、上述した実施形態とは異なり、1本のデータ配線L0に対して4系統のデータ配線L1a,L1b,L2a,L2bが割り当てられている。具体的には、データ配線L1aにはメモリチップ200−0だけが接続され、データ配線L1bにはメモリチップ200−1だけが接続され、データ配線L2aにはメモリチップ200−2だけが接続され、データ配線L2bにはメモリチップ200−3だけが接続されている。本発明はこのような態様も包含する。すなわち、1個のデータレジスタバッファ300に割り当てられるメモリチップ200の数は、2個以上であれば特に限定されない。
【0160】
図25は、さらに他の変形例によるメモリモジュールの構成を示す模式図である。
【0161】
図25に示すメモリモジュールは、同じグループを構成する複数のメモリチップ200と1個のデータレジスタバッファ300がサブモジュール500に集積された構成を有している。このようなサブモジュール500を用いることにより、データ配線L1,L2をサブモジュール基板上に形成することができるため、モジュール基板110の配線密度が緩和される。また、モジュール基板110への部品搭載点数が大幅に少なくなることから、モジュール基板110への実装工程が簡素化される。
【0162】
図26は、サブモジュール500の構成を示す平面図である。また、図27は、図26に示すY1−Y1'線に沿った断面図である。尚、図26においては、裏面に形成された外部端子を透過的に示している。
【0163】
図26及び図27に示すサブモジュール500は、サブモジュール基板510と、サブモジュール基板510に搭載された2個のメモリチップ200と、1個のデータレジスタバッファ300と、サブモジュール基板510の裏面に形成された外部端子(ソルダボール)520によって構成されている。メモリチップ200とデータレジスタバッファ300は、封止材530によって封止されている。
【0164】
外部端子520は、データの授受を行うDQボール521と、データレジスタ300に供給すべきコントロール信号の受信を行うControlボール522と、コマンド/アドレス信号の受信を行うCAボール523からなる。DQボール521とControlボール522は、データレジスタバッファ300の搭載領域近傍における裏面に配置されている。一方、CAボール523は、メモリチップ200搭載領域近傍における裏面に配置されている。
【0165】
DQボール521及びControlボール522は、それぞれサブモジュール基板510に形成された内部配線511,512を介してデータレジスタバッファ300に接続される。また、CAボール523は、サブモジュール基板510に形成された内部配線513を介してメモリチップ200に接続される。
【0166】
このようなサブモジュール500を用いれば、メモリチップ200とデータレジスタバッファ300を接続するデータ配線L1,L2をモジュール基板110に形成する必要がなくなる。このため、モジュール基板110の配線自由度が向上する。
【0167】
図28は、サブモジュール500の別の構成を示す平面図である。また、図29は、図28に示すY2−Y2'線に沿った断面図である。尚、図28においては、裏面に形成された外部端子を透過的に示している。
【0168】
図28及び図29に示すサブモジュール500は、図26及び図27に示したサブモジュール500と基本的に同じ構成を有しているが、サブモジュール基板510に8個のメモリチップ200が搭載されている点において相違する。これら8個のメモリチップ200は2個ずつ積層されており、これら4つの積層体がサブモジュール基板510上に平面的に搭載されている。このようなサブモジュール500を用いれば、メモリモジュールの記憶容量を高めることが可能となる。
【0169】
以上、本発明の好ましい実施形態について説明したが、本発明は、上記の実施形態に限定されることなく、本発明の主旨を逸脱しない範囲で種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることはいうまでもない。例えば、上記の実施例では、メモリチップ200として内部にDLL回路を有するものについて説明したが、内部にDLL回路を備えていないメモリチップを用いることができる。この場合、データレジスタバッファ300が有するDLL回路を用いて、入出力のタイミング調整を行なう。
【符号の説明】
【0170】
10 情報処理システム
12 メモリコントローラ
12a ライトレベリング回路
12b リードレベリング回路
20 メモリシステム
21 マザーボード
22 メモリスロット
100 メモリモジュール
110 モジュール基板
120 データコネクタ
130 コマンド/アドレス/コントロールコネクタ
200 メモリチップ
300 データレジスタバッファ
301〜304 FIFO回路
320 データレジスタコントロール回路
322 ライトレベリング回路
323 リードレベリング回路
331〜334 セレクタ
340〜342,350〜352 入出力端子
400 コマンド/アドレス/コントロールレジスタバッファ
401,404 入力端子
402,403 出力端子
430 コントロール信号生成回路
500 サブモジュール
L0 データ配線(第1のデータ配線)
L1,L2 データ配線(第2のデータ配線)
L3,L5 コマンド/アドレス/コントロール配線
L4 コントロール配線
【特許請求の範囲】
【請求項1】
モジュール基板と、
前記モジュール基板の長辺に沿って設けられた複数のデータコネクタと、
前記モジュール基板に搭載された複数のメモリチップと、
前記モジュール基板に搭載され、それぞれ2個以上の前記メモリチップが割り当てられた複数のデータレジスタバッファと、
前記モジュール基板に形成され、前記複数のデータコネクタと前記複数のデータレジスタバッファとを接続する複数の第1のデータ配線と、
前記モジュール基板に形成され、前記複数のデータレジスタバッファと前記複数のメモリチップとを接続する複数の第2のデータ配線と、を備え、
各データレジスタバッファと、これに対応する複数の前記データコネクタ及び複数の前記メモリチップは、前記モジュール基板の短辺方向に並べて配置されていることを特徴とするメモリモジュール。
【請求項2】
前記データレジスタバッファは、前記データコネクタを介して転送されるライトデータをバッファリングして対応する前記メモリチップへ出力するとともに、前記メモリチップから転送されるリードデータをバッファリングして対応する前記データコネクタに出力することを特徴とする請求項1に記載のメモリモジュール。
【請求項3】
前記データコネクタを介して転送される前記ライトデータ及び前記リードデータの転送レートと、前記メモリチップに供給される前記ライトデータ及び前記メモリチップから出力される前記リードデータの転送レートとが互いに等しいことを特徴とする請求項2に記載のメモリモジュール。
【請求項4】
前記データレジスタバッファは、前記ライトデータ及び前記リードデータの1バイトごとに設けられていることを特徴とする請求項2又は3に記載のメモリモジュール。
【請求項5】
所定のデータレジスタバッファとこれに対応する複数の前記メモリチップとの相対的な位置関係は、全てのデータレジスタバッファについて一定であることを特徴とする請求項1乃至4のいずれか一項に記載のメモリモジュール。
【請求項6】
異なる前記データレジスタバッファに接続された前記複数の第1のデータ配線は、配線長が互いに等しいことを特徴とする請求項1乃至5のいずれか一項に記載のメモリモジュール。
【請求項7】
異なる前記データレジスタバッファに接続された前記複数の第2のデータ配線は、配線長が互いに等しいことを特徴とする請求項1乃至6のいずれか一項に記載のメモリモジュール。
【請求項8】
前記モジュール基板の長辺に沿って設けられた複数のコマンド/アドレスコネクタと、
前記モジュール基板に搭載されたコマンド/アドレスレジスタバッファと、をさらに備え、
前記コマンド/アドレスレジスタバッファの入力端子は、前記複数のコマンド/アドレスコネクタに接続され、前記コマンド/アドレスレジスタバッファの第1の出力端子は、前記複数のメモリチップに接続され、前記コマンド/アドレスレジスタバッファの第2の出力端子は、前記複数のデータレジスタバッファに接続されていることを特徴とする請求項1乃至7のいずれか一項に記載のメモリモジュール。
【請求項9】
前記コマンド/アドレスレジスタバッファは、前記入力端子を介して供給されるコマンド/アドレス信号をバッファリングするレジスタ回路と、前記入力端子を介して供給されるコマンド/アドレス信号に基づいてコントロール信号を生成するコントロール信号生成回路とを有しており、
前記レジスタ回路によってバッファリングされた前記コマンド/アドレス信号が前記第1の出力端子に供給され、
前記コントロール信号生成回路によって生成された前記コントロール信号が前記第2の出力端子に供給されることを特徴とする請求項8に記載のメモリモジュール。
【請求項10】
前記コマンド/アドレスレジスタバッファの前記第1の出力端子は、前記複数のメモリチップに対して共通接続されており、
前記コマンド/アドレスレジスタバッファの前記第2の出力端子は、前記複数のデータレジスタバッファに対して共通接続されていることを特徴とする請求項9に記載のメモリモジュール。
【請求項11】
各データレジスタバッファとこれに対応する複数の前記メモリチップとが、それぞれ1つのサブモジュール基板に搭載されており、
複数の前記サブモジュール基板が前記モジュール基板に実装されていることを特徴とする請求項1乃至10のいずれか一項に記載のメモリモジュール。
【請求項1】
モジュール基板と、
前記モジュール基板の長辺に沿って設けられた複数のデータコネクタと、
前記モジュール基板に搭載された複数のメモリチップと、
前記モジュール基板に搭載され、それぞれ2個以上の前記メモリチップが割り当てられた複数のデータレジスタバッファと、
前記モジュール基板に形成され、前記複数のデータコネクタと前記複数のデータレジスタバッファとを接続する複数の第1のデータ配線と、
前記モジュール基板に形成され、前記複数のデータレジスタバッファと前記複数のメモリチップとを接続する複数の第2のデータ配線と、を備え、
各データレジスタバッファと、これに対応する複数の前記データコネクタ及び複数の前記メモリチップは、前記モジュール基板の短辺方向に並べて配置されていることを特徴とするメモリモジュール。
【請求項2】
前記データレジスタバッファは、前記データコネクタを介して転送されるライトデータをバッファリングして対応する前記メモリチップへ出力するとともに、前記メモリチップから転送されるリードデータをバッファリングして対応する前記データコネクタに出力することを特徴とする請求項1に記載のメモリモジュール。
【請求項3】
前記データコネクタを介して転送される前記ライトデータ及び前記リードデータの転送レートと、前記メモリチップに供給される前記ライトデータ及び前記メモリチップから出力される前記リードデータの転送レートとが互いに等しいことを特徴とする請求項2に記載のメモリモジュール。
【請求項4】
前記データレジスタバッファは、前記ライトデータ及び前記リードデータの1バイトごとに設けられていることを特徴とする請求項2又は3に記載のメモリモジュール。
【請求項5】
所定のデータレジスタバッファとこれに対応する複数の前記メモリチップとの相対的な位置関係は、全てのデータレジスタバッファについて一定であることを特徴とする請求項1乃至4のいずれか一項に記載のメモリモジュール。
【請求項6】
異なる前記データレジスタバッファに接続された前記複数の第1のデータ配線は、配線長が互いに等しいことを特徴とする請求項1乃至5のいずれか一項に記載のメモリモジュール。
【請求項7】
異なる前記データレジスタバッファに接続された前記複数の第2のデータ配線は、配線長が互いに等しいことを特徴とする請求項1乃至6のいずれか一項に記載のメモリモジュール。
【請求項8】
前記モジュール基板の長辺に沿って設けられた複数のコマンド/アドレスコネクタと、
前記モジュール基板に搭載されたコマンド/アドレスレジスタバッファと、をさらに備え、
前記コマンド/アドレスレジスタバッファの入力端子は、前記複数のコマンド/アドレスコネクタに接続され、前記コマンド/アドレスレジスタバッファの第1の出力端子は、前記複数のメモリチップに接続され、前記コマンド/アドレスレジスタバッファの第2の出力端子は、前記複数のデータレジスタバッファに接続されていることを特徴とする請求項1乃至7のいずれか一項に記載のメモリモジュール。
【請求項9】
前記コマンド/アドレスレジスタバッファは、前記入力端子を介して供給されるコマンド/アドレス信号をバッファリングするレジスタ回路と、前記入力端子を介して供給されるコマンド/アドレス信号に基づいてコントロール信号を生成するコントロール信号生成回路とを有しており、
前記レジスタ回路によってバッファリングされた前記コマンド/アドレス信号が前記第1の出力端子に供給され、
前記コントロール信号生成回路によって生成された前記コントロール信号が前記第2の出力端子に供給されることを特徴とする請求項8に記載のメモリモジュール。
【請求項10】
前記コマンド/アドレスレジスタバッファの前記第1の出力端子は、前記複数のメモリチップに対して共通接続されており、
前記コマンド/アドレスレジスタバッファの前記第2の出力端子は、前記複数のデータレジスタバッファに対して共通接続されていることを特徴とする請求項9に記載のメモリモジュール。
【請求項11】
各データレジスタバッファとこれに対応する複数の前記メモリチップとが、それぞれ1つのサブモジュール基板に搭載されており、
複数の前記サブモジュール基板が前記モジュール基板に実装されていることを特徴とする請求項1乃至10のいずれか一項に記載のメモリモジュール。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【公開番号】特開2010−282702(P2010−282702A)
【公開日】平成22年12月16日(2010.12.16)
【国際特許分類】
【出願番号】特願2009−136647(P2009−136647)
【出願日】平成21年6月5日(2009.6.5)
【出願人】(500174247)エルピーダメモリ株式会社 (2,599)
【Fターム(参考)】
【公開日】平成22年12月16日(2010.12.16)
【国際特許分類】
【出願日】平成21年6月5日(2009.6.5)
【出願人】(500174247)エルピーダメモリ株式会社 (2,599)
【Fターム(参考)】
[ Back to top ]