JP2008278518A - 半導体装置およびデータ伝送システム - Google Patents
半導体装置およびデータ伝送システム Download PDFInfo
- Publication number
- JP2008278518A JP2008278518A JP2008149265A JP2008149265A JP2008278518A JP 2008278518 A JP2008278518 A JP 2008278518A JP 2008149265 A JP2008149265 A JP 2008149265A JP 2008149265 A JP2008149265 A JP 2008149265A JP 2008278518 A JP2008278518 A JP 2008278518A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- data
- signals
- circuit
- reference signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Dc Digital Transmission (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
【課題】周期の短い高速データの伝送において、並列データ配線間の経路長差や寄生素子を含めた負荷容量の相違等がある場合にも、誤りなく並列データ伝送を行うことのできる半導体装置およびデータ伝送システムを提供する。
【解決手段】複数ビットで構成されるデータ信号を並列信号として受信する第1のレシーバと、並列信号の取り込みのための基準信号を受信する第2のレシーバと、並列信号の全部または一部の位相を基準信号と比較しその比較結果を並列信号および基準信号の送り手側に送信する同着判定回路とを備える。
【選択図】図1
【解決手段】複数ビットで構成されるデータ信号を並列信号として受信する第1のレシーバと、並列信号の取り込みのための基準信号を受信する第2のレシーバと、並列信号の全部または一部の位相を基準信号と比較しその比較結果を並列信号および基準信号の送り手側に送信する同着判定回路とを備える。
【選択図】図1
Description
本発明は、並列データを伝送するデータ伝送システムに関し、特にメモリシステムにおける高速データ伝送に好適なデータ伝送システムに関する。
高速なデータ伝送を行う装置では、伝送経路によるデータ伝播遅延時間がデータ伝送周期に対して無視できない値にまで大きくなってきている。高速なデータ伝送速度が要求される装置の一例として、マイクロプロセッサ(MPU)と、メモリコントローラLSIと、複数のメモリモジュールとからなり、パーソナルコンピュータなどで使用されるメモリシステムがある。各メモリモジュールには、メモリチップであるシンクロナスDRAM(SDRAM)が複数個搭載されている。このようなメモリシステムでは、データの読出しの際は、メモリモジュール上のSDRAMがデータを送信するドライバとなり、メモリコントローラがデータを受信するレシーバとなる。
各メモリモジュール上で同位置のメモリは、バス上のデータ信号配線を共有する。このとき、メモリコントローラLSI側に近いメモリモジュール上のSDRAMからのデータ読出しと、メモリコントローラLSIから遠いメモリモジュール上のSDRAMからのデータ読出しでは、メモリモジュールとメモリコントローラLSI間の配線長が異なる。このため、メモリコントローラLSIが、遠いメモリモジュール上のSDRAMからのデータ読出しを行う場合には、近いメモリモジュール上のSDRAMからのデータ読出しを行う場合と比較して、両メモリモジュール間の伝播遅延時間の差分だけデータの到着が遅れる。
このように、モジュールの位置の相違によって異なるタイミングで到着する信号に対し、レシーバが一定タイミングの基準信号を用いてデータ取込みを行うと、データの有効な時間が減少し、データ取込みのためのセットアップ時間とホールド時間が確保できなくなるという問題がある。
こうした問題を解決するために、例えば、特開平3−157030号公報(特許文献1)に開示されている方法がある。これは、データを出力するドライバが、自データを取り込むための基準信号をデータ信号とともに送出して、伝送遅延時間差を吸収する方法である。
ここで、前述したメモリシステムで使用されるデータビット幅64ビットのメモリモジュールの典型的な構成例を、図3に模式的に示す。図3(a)は、×16ビット出力のSDRAMを4個搭載するメモリモジュールであり、図3(b)は、×4ビット出力のSDRAMを16個搭載するメモリモジュールである。ただし、図3(b)はメモリモジュールの片面を示してある。
図3(a),(b)の両メモリモジュールは統一されたピン配置を用いており、データ信号DQi(i=0−63)、メモリコントローラLSIからSDRAMにデータを書込む際に基準とする信号CLKj(j=0−3)、およびSDRAMからメモリコントローラLSIにデータを読出す際の基準信号DQSj(j=0−3)を4本ずつ有する。データ信号DQiは64ビットあるから、基準信号CLKjおよびDQSjは、それぞれ16本のデータ信号の取込み基準とする。
以下、基準信号CLK0およびDQS0はそれぞれデータ信号DQ0−DQ15、基準信号CLK1およびDQS1はそれぞれデータ信号DQ16−DQ31、基準信号CLK2およびDQS2はそれぞれデータ信号DQ32−DQ47、基準信号CLK3およびDQS3はそれぞれデータ信号DQ48−DQ63の信号の書込み動作および読出し動作の取込み基準とする。
ここで、図3(a)のメモリモジュールでは、搭載するSDRAMが4個であるため、基準信号とそれに対応する16本のデータ信号は同一のSDRAMに接続する。一方、図3(b)のメモリモジュールでは、SDRAMが16個あるため、基準信号CLKiはメモリモジュール上で4分岐させて各SDRAMに信号を分配する。また、基準信号DQSjは、1つのSDRAMからの出力を4チップ分のデータ取込み基準として代表させて用いる。
図4は、ある一つのモジュール上のドライバDRVが、データ信号DQi(i=A,B,C)とデータ取り込みのための基準信号CLKの位相を揃えて信号の送出を行い、レシーバRCVが基準信号CLKの位相を1/2周期(T/2)遅らせてデータの取込みを行う例を単純化して示したものである。
ここで、参照符号401,402,403はそれぞれ信号DQA,DQB,DQCの出力位相を決めるフリップフロップ、411,412,413,414はそれぞれ信号DQA,DQB,DQC,CLKの出力バッファ、421,422,423,424はドライバとレシーバを結ぶ信号配線であり、例えばメモリモジュールとメモリコントローラLSI間のバス配線等に相当する。また、431,432,433,434はレシーバにおける各信号の入力バッファであり、441,442,443は伝送データを取り込むフリップフロップである。
伝送すべきデータ信号DQi(i=A,B,C)と基準信号CLKを有するドライバは、例えば、図3(a)のように1チップの場合もあるし、図3(b)の信号DQSのように異なる複数のチップで構成する場合もある。いずれの場合でも、メモリモジュール毎に異なる伝送経路長の相違は、データ取込みのための基準信号を特開平3−157030号公報(特許文献1)に記載されたように、データ信号と同時に送出することにより吸収可能である。
但し、このためには、データ信号と基準信号の各配線421−424を等長に配線し、かつ、これらの負荷を等しくすることが必要である。並列に送出するデータ信号と基準信号の間で、こうした等長・等負荷配線が実現されていれば、図4(b)のタイミング図に示すように、ドライバDRV内のフリップフロップ401−403でのデータ信号DQA−DQCと基準信号CLKの位相関係は、レシーバRCVの入力バッファ431−434を通過しても相対的に同じに保たれるからである。
したがって、ドライバとレシーバ間の配線421−424、すなわちメモリコントローラLSIとメモリモジュール間の線路の伝送経路長によらず、ドライバが同一タイミングで送出した基準信号とデータ信号は、レシーバにすべて同一タイミングで到着する。レシーバがこの基準信号を用いてデータ取込みを行えば、十分なセットアップ時間(tDS)451とホールド時間(tDH)452を確保することができる。
また、従来技術の別の例として、データ送信側にトレーニングデータ発生回路と、トレーニングモード信号により通常データとトレーニングデータを切り替えるセレクタを設け、データ受信側にトレーニングモード時に動作して自動的に各ビットデータ間の位相を同期化するビット位相同期回路と、このビット位相同期回路に接続して自動的に各ビットデータ間の位相を同期化するビット間位相同期回路からなるパラレルビット同期方式が特開平5−75594号公報(特許文献2)に開示されている。
特開平3−157030号公報
特開平5−75594号公報
しかし、ドライバが基準信号をデータ信号とともに送出する第1の従来技術では、図5(a)に示すように、プリント基板やメモリモジュール基板には配線を引くことのできない領域501が存在する。このため、基準信号CLKとデータ信号DQA−DQCの配線の等長配線が困難となる場合がある。また、等長配線が実現できた場合でも、他の配線との並走・交差による寄生容量の存在や、チップ間のプロセスばらつき等によって、入力・出力バッファの特性が揃わないなど、各配線の負荷を等しくすることが必ずしも可能ではない。このような場合、各信号配線間で伝播遅延時間がそれぞれ異なるため、ドライバDRVから同一の位相で送出された信号であっても、必ずしもレシーバRCVに同着するとは限らない。
図5(a)に示した例では、データ信号DQAの配線521が他の配線よりも長く、かつ寄生容量522が付加されているために、信号DQAの伝播遅延時間は大きくなる。また、データ信号DQCは、レシーバRCVの入力バッファ533の入力容量が、他の信号の入力バッファと比べて小さくなっている。このような場合、図5(b)のタイミング図に示すように、信号DQBと信号CLKのレシーバへの到着タイミングに対し、信号DQAは到着タイミングが遅く、信号DQCは到着タイミングが早くなる。その結果、セットアップ時間(tDS)551とホールド時間(tDH)552がともに短くなる。
更に図3(b)のように、データ信号DQiと基準信号DQSjを異なるチップで構成する場合には、出力バッファの遅延時間のばらつきも加わる。
周期の短い高速データ伝送では、こうした並列データ間の伝播遅延時間差が無視できない大きさとなり、データ取込みのためのセットアップ時間とホールド時間が確保できずに、データが正常に伝送できなくなるという問題がある。
また、パラレルビットを同期化する第2の従来技術では、トレーニングデータ発生回路と通常動作時のデータ発生回路とのデータの経路が異なる。このため、トレーニングによりデータ信号とクロック信号およびデータ信号間の同期を確立しても、通常データ送信時には遅延時間差が生じてしまう問題がある。
本発明の目的は、上記の問題点を解決し、周期の短い高速データの伝送において、並列データ配線間の経路長差や寄生素子を含めた負荷容量の相違等がある場合にも、誤りなく並列データ伝送を行うことのできる半導体装置およびデータ伝送システムを提供することにある。
この目的を達成するため、本発明では、並列データを受信するレシーバに、受信データの一部または全部のデータの位相を比較する同着判定回路を設ける。そして、この同着判定回路の判定結果に基づいてレシーバのデータ取込み点での位相を調整するタイミング調整機構を設けることにより、各データ信号をレシーバに同着させて、データ取込みのためのセットアップ時間とホールド時間を確保する。ここで、データ取込みの基準とする信号は、ドライバからレシーバへデータ信号とともに送出しても良いし、レシーバ内部の基準信号を用いても良い。
この際のタイミング調整機構は、データまたは基準信号の位相を可変とする回路か、またはドライバの出力バッファの駆動力を可変とする回路とすればよい。
さらに、データ系列に依存する信号間の遅延時間差を吸収するためには、タイミング調整機構は、送出するデータビットの時系列に応じてもタイミングを可変とすることができるように構成する。
また、このタイミング調整機構は、ドライバチップ内、またはレシーバチップ内、またはドライバチップとレシーバチップの間に設けられたドライバともレシーバとも異なるチップに設けることができる。
特に、ドライバが送出し、レシーバが受信する上記2ビット以上の並列データは、異なる複数のドライバチップにより出力されてもよい。この際、レシーバが同着を判定する際の基準とする信号として、上記異なる複数のドライバチップ間で共通の信号を用いれば好適である。
本発明によれば、周期の短い高速データの伝送において、並列データ配線間の経路長差や寄生素子を含めた負荷容量の相違等がある場合にも、誤りなく並列データ伝送を行うことができる。
以下、本発明の望ましい実施形態の一例を、メモリシステムを例に具体的に説明する。
図2は、本発明に係るデータ伝送装置を適用した第1の実施例であるメモリシステムの簡略化した構成図である。このメモリシステムは、マイクロプロセッサ(MPU)201とメモリコントローラLSI202、およびメモリモジュール(DIMM)203−206から構成される。
データの読出しの際は、メモリモジュール203−206上のメモリチップであるシンクロナスDRAM(SDRAM)がデータを送信するドライバとなり、メモリコントローラLSI202がデータを受信するレシーバとなる。図2に示した例では、各メモリモジュール上で同位置のメモリチップ、例えばSDRAM210,211,212,213,は、バス上のデータ信号配線207を共有する。
ここで、SDRAMおよびメモリコントローラLSIには後述するように、並列データの送信または受信タイミングを調整するために、同着判定回路とタイミング調整機構を含むデータ入出力ブロック230,233が設けられている。なお、図2ではさらにMPU201およびメモリコントローラLSI202に、同様のデータ入出力ブロック231,232がそれぞれ設けられている。
しかし、MPU201およびメモリコントローラLSI202間でのデータ伝送速度がメモリシステムの処理動作速度を制限していない場合には、それぞれデータ入出力ブロック231,232を搭載しないメモリコントローラLSIおよび従来のマイクロプロセッサを使用してもよい。ここでは、本発明をメモリコントローラLSI202とMPU201間のデータ伝送にも単に適用可能なことを示したものである。このデータ入出力ブロック231,232のそれぞれの動作は、データ入出力ブロック230,233と基本的に同じであるので、以下の説明ではメモリモジュール上のSDRAMとメモリコントローラLSI間の並列データ送受信のために設けたデータ入出力ブロック230,233に関して説明する。
図24は、本発明を適用したメモリモジュールの概念図である。同図(a)は×16ビット出力のSDRAMを4個搭載するメモリモジュールの例であり、(b)は×4ビット出力のSDRAMを16個搭載するメモリモジュールの例である。なお、図24において、従来例の図3で示した構成要素と同じ構成部分については、同じ参照符号を付してその詳細な説明は省略する。すなわち、本実施例のメモリモジュールでは、並列データの送信または受信タイミングを調整するために、図3の(a),(b)に示したメモリモジュールに対して、同着判定回路とタイミング調整機構を含むデータ入出力ブロック251および252をそれぞれメモリチップ内に設けている点が従来例と相違する。なお、ここでデータ入出力ブロック251,252は、それぞれ図2で示したデータ入出力ブロック230に相当する。
本発明に係るデータ伝送装置はメモリモジュールの構成によらずに実施できるから、以下、図6を用いて、詳細に説明する。
図6は、本発明を適用した×4ビット出力のSDRAMを16個搭載し、64ビットの並列データ転送を行うように構成したメモリモジュールの例である。このメモリモジュール600は、メモリモジュール基板の両面を使用するが、図には片面分の構成を模式的に示した。図3(b)と比較すると、図6に示したメモリモジュール600では、タイミング調整を行うためのデータビットを選択するデータビットセレクタ(DBS)デコーダ回路601と、各SDRAMへの信号DBSi(i=0−5),CUP,CDN,CR,CW,TB0,TB1およびCENj(j=0−5)の配線が追加されている。また、各SDRAM内には、同着判定回路とタイミング調整機構を含むデータ入出力ブロック610が追加されている。
DBSデコーダ回路601は、信号DBSiをデコードする。これにより、64ビットのデータ信号中からメモリコントローラLSIが指定する1ビットと、その信号が接続されているSDRAMを選択して、そのSDRAMでの選択ビット信号TBi(i=0−1)として出力する機能を持つ。また、DBSデコーダ回路601は、SDRAM−メモリコントローラLSI間でタイミング調整のために授受する信号CUP,CDNを、選択されたSDRAMに接続する機能を持つ。さらに、タイミング調整のためにSDRAMが選択された状態に有るか否かを示す信号CENjを、各SDRAMに出力する。このDBSデコーダ回路601は、図示したように独立したLSIとして作成しても良いし、コントロール・アドレス信号用バッファLSI602内に組み込んでもよい。
以下、これらの機能を実現するためのDBSデコーダ回路チップの構成の一例を、図7と図8を用いて説明する。図7は、DBSi信号のデコード表である。DBSi信号のデコード表は、メモリモジュールDIMM上でのDQピン番号0−63に対応した64本のデータ信号DQ0−63のそれぞれが、どのSDRAMにおけるDQ出力ピン0−3の中のどれに対応しているかを示している。この図7に示した例では、例えば、DBSi=000000は64本のデータ信号DQ0−DQ63の中の信号DQ0を意味し、SDRAM0におけるDQ出力ピン0−3の中のDQ出力ピン0に対応している。同様に、DBSi=111111は信号DQ63を意味し、メモリモジュール基板の裏面にある図示されていないSDRAM15のDQ出力ピン3に対応している。
図8に、図7のデコード表の機能を実現するDBSデコーダ回路の具体的な構成例を示す。図8中で、参照符号800として示したブロックは、図示されていないSDRAM0とメモリコントローラLSIとの通信を制御するブロックである。以下、800のブロックを例に回路の説明を行うが、他の破線で示したブロックについても全く同様にしてSDRAM1−15に対するDBSデコーダ回路を構成できる。
図7のデコード表から、DBSi信号の上位4ビットDBS2−DBS5が全て0のときに、SDRAM0とメモリコントローラLSIが通信を行うので、この4ビットに対して論理801をとることにより、SDRAM0を選択する信号CEN0(802)を作成できる。DBSi信号の下位2ビットDBS0,DBS1は、SDRAM0におけるDQ出力ピンを選択するから、信号CEN0によりイネーブルされる3ステートバッファ804,805を介して、DQ出力ピン選択信号TB0(807),TB1(808)として出力する。
タイミング調整信号CUP,CDNは双方向信号であるから、メモリコントローラLSIが出力してタイミング調整を行うチップを示す信号CR,CWと、信号CEN0の論理積を制御信号809,810として、3ステートバッファ811−814で相互接続する。ここで、タイミング調整を行うチップを示す信号CR,CWの意味は、図9に示すように定義できる。さらに、本例では、CR,CW信号をSDRAM内部でも使用するため、図示しないバッファを介して全SDRAMへ供給する。
図10に、本発明を適用した×4ビット出力のSDRAMのブロック図を示す。また、図11に、本発明を適用したメモリコントローラLSIのブロック図を示す。図10におけるSDRAMは、DRAMコア部1050と、入力ブロック1020および出力ブロック1010等を含む入出力ブロック1000から構成される。ここで、DRAMコアの動作を簡単に説明しておく。
DRAMコア部1050は、行アドレスバッファ、行デコーダ、列アドレスバッファ、列デコーダ、センスアンプ、メモリセルアレイ等からなり、メモリ内容読出し動作においては、データ入出力ブロック1000を介して外部からアドレス(Address)信号を入力する。まず、行アドレスバッファにより行アドレス信号を増幅し、行アドレスに対応するメモリセルアレイ上の行位置を、行デコーダにより活性化する。同様に、列アドレスバッファにより列アドレス信号を増幅し、列アドレスに対応するメモリセルアレイ上の列位置を、列デコーダにより選択する。こうして選択された、行・列アドレスの交点にあるメモリセルの内容を、センスアンプを通じて、データ出力ブロック1010へ送出する。
DRAMコア部1050のメモリ内容書込み動作でも、行アドレスおよび列アドレスに対応するメモリセルアレイ上の位置を行デコーダおよび列デコーダで選択する。その後データ入力ブロック1120から入力されたデータを、センスアンプを通じて行・列アドレスの交点にあるメモリセルへ書き込む。
図11におけるメモリコントローラLSIは、メモリコントローラコア部1150と、データ出力ブロック1110およびデータ入力ブロック1120等を含むデータ入出力ブロック1100から構成される。さらにメモリコントローラコア部1150は、MPU向けI/Oインタフェース、データ/アドレス変換回路、主クロック発生器、およびデータバッファ等よりなる。ここで、メモリコントローラコア部1150の動作を簡単に説明しておく。MPUが、メモリコントローラLSIを通じて或るアドレスに対応するメモリ値を書き込む場合および読み出す場合には、メモリコントローラコア部1150は次のように動作する。
データ入出力ブロック1100を介してMPUから指定されたアドレスと命令をMPU向けI/Oインタフェースで受け取り、データ/アドレス変換回路を用いて解釈し、メモリシステム上での対応するアドレスに変換する。この変換されたアドレスを用いて、メモリモジュールの指定、アドレスの指定、読出し/書込みタイミングの指定などを行い、データ入出力ブロック1100を通じてこれらの制御信号を出力する。また、同時に、データ出力ブロック1110を通じて、データ信号を出力する。
データ読出しの場合には、制御信号出力の後、指定した時間が経過したときにメモリからデータが送信されてくるから、データ入力ブロック1120でこのデータを受信し、データ・アドレス変換回路、MPU向けI/Oインタフェースを通じて、読み出したデータをMPUへ送出する。
メモリコントローラコア部1150内のデータ信号用バッファは、こうした読出し・書込み動作をより高速に行うために、およびデータの送受信のタイミングを調整するために設ける。
さらに、図10、図11の例では、SDRAMおよびメモリコントローラLSIの双方に対して、それぞれの入出力ブロック1000,1100に、同着判定回路と、遅延量調整回路および可変遅延回路からなるタイミング調整回路を追加してある。以下、(1)−(3)の順で、上述したコア部以外の本実施例の説明を行う。
(1)SDRAM、メモリコントローラLSIの入出力信号と主要回路ブロックの機能を説明する。
(2)これら主要回路ブロックの詳細な回路図を用いて、その動作を個別に説明する。
(3)主要な信号のタイミング図を用いて、タイミング調整の例を具体的に説明する。
(1)SDRAM、メモリコントローラLSIの入出力信号と主要回路ブロックの機能を説明する。
(2)これら主要回路ブロックの詳細な回路図を用いて、その動作を個別に説明する。
(3)主要な信号のタイミング図を用いて、タイミング調整の例を具体的に説明する。
まず、図10を用いてSDRAMの入出力信号と、データ入出力ブロック1000内の主要回路ブロックの機能を説明する。入力信号TB0,TB1は、メモリコントローラLSIにより出力されるDBSi(i=0−5)信号を、DBSデコーダ回路でデコードした信号であり、図7で示したように両信号の組み合わせにより、タイミング制御対象であるSDRAMのDQ信号ピンを示す。
入力信号CR,CWは、メモリコントローラLSIにより出力されるCR,CW信号を、DBSデコーダ回路内のバッファを介して入力した信号である。ここで、信号CR="1"はSDRAMが出力するデータをメモリコントローラLSI上で同着させるよう調整するモードにあることを示し、信号CW="1"は、メモリコントローラLSIが出力するデータをSDRAM上で同着させるように調整するモードにあることを示す。信号CR,CWの論理値割り当ての一例は、図9に示した。
CENi(i=0−15)信号は、どのSDRAMのDQ信号が、タイミング調整のために選択されているかを示す信号である。
またCUP,CDN信号は、同着判定回路による位相比較結果を示す信号であり、信号CR="1"の場合には、メモリコントローラLSIから送出されるCUP,CDN信号を用いてSDRAMの遅延量調整回路1006内の遅延量記憶レジスタを増減し、可変遅延回路1001−1005の遅延量を変えることによりデータ出力のタイミング調整を行う。CUP,CDN信号の論理値割り当ての一例を、図12に示す。
図10におけるデータ出力のタイミング調整は、データ出力時の位相を決定する最終段フリップフロップ回路1011−1014を動作させるためのクロック信号1008のタイミングを、可変遅延回路1001−1005を用いて変化させることにより行う。この例では、SDRAMの可変遅延回路の遅延量調整は、6ビットすなわち64段階に調整可能であるとした。これは例えば、周波数200MHzの速度でデータ伝送を行い、可変遅延回路の最大遅延調整量を1周期分である5nsとする場合、1段階分の遅延調整量は約78psとなる。以上がデータ出力ブロック1010の動作である。
一方、データ入力ブロック1020において、信号CW="1"の場合には、メモリコントローラLSIから送出されたデータ信号と基準信号であるCLKの位相を同着判定回路1026により比較して、その比較結果を信号CUPおよびCDNとしてメモリコントローラLSIへ送出する。
次に、図11を用いて、メモリコントローラLSIが入出力する信号と、データ入出力ブロック1100内の主要回路ブロックの機能について説明する。DBSi(i=0−5)信号は、同着判定を行い、タイミングを調整する対象となるデータ信号を選択する信号である。後述するように、本実施例では、メモリモジュールDIMM0からDIMM3まで、およびデータ信号DQ0からDQ63まで1ビットずつ順次タイミング調整を行うため、この順序を発生するカウンタ回路1106により、DBSi信号を作成する。
CRおよびCW信号は、SDRAMとメモリコントローラLSIのうち、どちらの出力タイミング調整を行う状態にあるかを示す。
/CSi(i=0−3)信号はメモリモジュールを選択する信号であり、4本中のいずれか1本が排他的に選択される。この信号により選択されているメモリモジュールのみが、動作およびタイミング調整の対象となる。
DQSi(i=0−3)信号は、データ信号取込みの基準信号として、SDRAMがデータ信号とともに送出する信号である。但し、基準信号DQS0,DQS1,DQS2,DQS3は、それぞれデータ信号DQ0−DQ15,DQ16−DQ31,DQ32−DQ47,DQ48−DQ63のデータ取込みの基準である。
信号CR="1"の場合には、データ入力ブロック1120において、基準信号DQSiとデータ信号DQjの位相を1信号対ずつ順次同着判定回路1126で比較する。同着判定回路1126は、図12に示した論理値割り当てに従い、位相比較の結果を信号CUP,CDNを用いてSDRAMへ送出する。SDRAMは、この結果を参照してタイミング調整を行う。
一方、信号CW="1"の場合には、データ出力ブロック1110においてSDRAMから送出される信号CUP,CDNを受信し、遅延量調整回路1116内の遅延量レジスタを増減することにより、可変遅延回路1101−1104のクロック出力のタイミング調整を行う。SDRAMと同様に、メモリコントローラLSIでも可変遅延回路の調整は、6ビット64段階とした。図11に示した可変遅延回路1101−1104と位相制御用フリップフロップ1111−1114は、それぞれ16ビット分ずつまとめて記述してあるが、ここではデータ信号64ビット全てのクロック入力に対し、6ビットの可変遅延回路を接続しているものとする。
この実施例では、レシーバのデータ取込み節点での並列ビットの位相を揃えるタイミング調整機構は、遅延量調整回路と可変遅延回路により構成されていることが分かる。
図13に、DQS信号を出力しないSDRAM内の遅延量調整回路1006の構成例を示す。この例では、遅延量を6ビットの遅延量記憶レジスタ1300−1303に保持し、信号CUP,CDNにより加減算される2進アップダウンカウンタとして構成した。ここで、例えば回路ブロック1300は、信号DQ0のための遅延量記憶レジスタである。同様に、回路ブロック1301,1302,1303は、それぞれ信号DQ1,DQ2,DQ3のための遅延量記憶レジスタである。
信号DQ0においては、レジスタのLSB(最下位ビット)−MSB(最上位ビット)がそれぞれ1310−1315に対応する。遅延量記憶レジスタ1301−1303についても、遅延量記憶レジスタ1300と同様に構成できるため、内部構造は省略して記述していない。
信号CTEiは、現在、このSDRAM上のデータ信号がタイミング調整の対象となっていることを示す信号であり、例えば信号CTEiは、信号CR,CS,CENiを用いて、CTEi=CR・CS・CENiとして作成できる。信号CTEi="1"のとき、信号TB0,TB1によりタイミングを制御すべき出力データ信号を選択する。
例えば、信号TB0=TB1="0"のときには、このSDRAMのデータ信号DQ0がタイミングの制御対象として選択される。このとき、UPi,DNi(i=0−3)信号のうち、UP0とDN0信号のみが信号配線CUP,CDNと接続するから、クロック信号CLKの立上りで信号CUP="1"または信号CDN="1"の時に、データ信号DQ0の遅延量記憶レジスタがインクリメントまたはデクリメントされる。ここで、抵抗1331−1334は、TB0,TB1,CUP,CDNの各信号が非選択となっているときに中間的な電圧を取らないように、接地電位1335に弱く接続するための抵抗である。
また、この例でのアップダウンカウンタは、T型フリップフロップにより構成し、ブロック1310内の配線1321および1322は信号CTEiと接続し、ブロック1311−1315内で配線1321および1322に相当する配線は、1ビット下位のブロックにおける配線1323および1324にあたる配線にそれぞれ接続する。また、ブロック1311−1315におけるT型フリップフロップのT入力は、それぞれ1ビット下位のブロックで配線1325に相当する配線に接続する。
図13の遅延量調整回路によってタイミングの調整を行うことができる可変遅延回路の構成の一例を、図14に示す。この可変遅延回路は、インバータINV0,INV1間に、2倍ずつ容量値の異なる容量C0−C5を、スイッチMOSトランジスタを介して負荷として接続した構成である。これらのMOSスイッチSW0−SW5を、遅延量記憶レジスタに設定された値b0−b5で開閉することにより、インバータINV0からインバータINV1間の遅延時間を64段階に単調に変化させることができる。
例えば、レジスタの値b0−b5が全て"0"の時の遅延時間t0は、MOSスイッチSW0−SW5が全て非導通となるので、インバータINV0が駆動すべき容量は、次段のインバータINV1のゲート容量だけであり、インバータINV0とINV1間の遅延時間は最短となる。
一方、レジスタの値b0−b5が全て"1"の時の遅延時間t63は、MOSスイッチSW0−SW5が全て導通となるので、インバータINV0が駆動すべき容量は、次段のインバータINV1のゲート容量とMOSスイッチを介して接続する6個の容量の和(C0+C1+C2+C3+C4+C5)である。従って、容量C0による遅延時間をΔtとすると、インバータINV0と1NV1間の遅延時間は最大で、t63=t0+63Δtとなる。
図15は、メモリコントローラLSI内の遅延量調整回路1116の構成の一例を示したものである。データ信号DQ0からDQ63まで、同一回路の繰り返しとして構成されているため、図15においてはデータ信号DQ0用の遅延量調整回路DCR00のみ簡略化した内部構造を示し、他のデータ信号DQ01−DQ63用の遅延量調整回路DCR01−DCR63については、内部構造の記述を省略してある。ブロック1510,1511,1512,1513はそれぞれ、メモリモジュールDIMM0,DIMM1,DIMM2,DIMM3用の遅延量を記憶する遅延量記憶レジスタである。遅延量記憶レジスタ1510,1511,1512,1513は、いずれもデータ信号DQ0のメモリモジュール位置に対応した遅延調整に用いる。同様に、データ信号DQ1,DQ2,…の遅延調整のために、この図では省略したメモリモジュール位置に応じた遅延量記憶レジスタを設ける。
メモリコントローラLSIが送出するデータ信号DQiは、4つあるメモリモジュール(DIMM)スロットのいずれかに搭載されているSDRAMに書き込まれる。このため、メモリコントローラLSIでは、1本のデータ信号に対してDIMMスロットに対応する4つの遅延量記憶レジスタ1510−1513を持つ。ここで、図13の遅延量記憶レジスタ1300にそれぞれ相当する6ビットの2進アップダウンカウンタ回路1510−1513を、図15ではb0−b5の箱として示してある。レジスタ値を変更する際には、まず図7に示したDBSi信号のデコード表に従ってDBS0−DBS5の信号によりデータ信号DQ0−DQ63を選択し、次にCSi信号によりMOSスイッチ1520−1523を開閉してDIMMスロットに対応するレジスタを選択する。こうしてメモリモジュールとデータ信号DQを選択し、SDRAMからのCUP,CDN信号を受けてレジスタ値を1ビットずつインクリメントまたはデクリメントする。
また、図11に示した可変遅延回路1101−1104は、CSi信号により選択されたDIMMスロットの遅延量b0−b5を、それぞれ参照する。メモリコントローラLSI内の可変遅延回路1101−1104は、例えば、SDRAMと同様に図14に示した構成の可変遅延回路を用いればよい。
この実施例では、遅延量記憶レジスタセット数は、「タイミングを調整する信号数」×「各送出信号を受信するチップ数」となる。例えば、基準信号DQSを出力しないSDRAMは、4ビットのデータ信号を送出し、これを受信するのはメモリコントローラLSIだけであるから、4×1=4セットの遅延量記憶レジスタセットを持つ。一方、メモリコントローラLSIは、データ信号64ビットを送出し、これを受信するのは第0から第3のメモリモジュールに搭載されたSDRAMであるから、64×4=256セットの遅延量記憶レジスタセットを持つ。
さらに、基準信号の立上りだけでなく基準信号の立下りについてもデータの取り込みを行う場合には、立上りと立下りのそれぞれについて1セットずつ遅延量記憶レジスタセットを持たせることが望ましい。特に、最終段の出力バッファ回路をCMOS構成にする場合には、PMOSトランジスタとNMOSトランジスタの電流供給量や、その温度特性などが対称にならない場合が多く、また、基準信号の立上り時と立下り時の波形が完全には対称でないことがその理由である。
しかし、精度は劣るが、立上りと立下りでのレジスタ値を平均することにより遅延量を決めるなどして、遅延量記憶レジスタセット数の増加を抑えることも可能である。
また、出力バッファ回路の同時動作による電源電圧変動によって、信号間に遅延時間差が生じる場合が有る。この遅延時間差は、パッケージの電源ピンのインダクタンス成分に出力バッファが時間変化の大きな電流を流すことにより生じる電源電圧の変動に起因する。さらに、データ信号が伝送周期の間に十分整定しないような場合にも、やはり、過去に出力した論理値に応じて遅延時間差が生じる。
こうした過去のデータ系列に依存して発生する遅延時間差を低減するためには、例えば、1周期分過去の出力論理値とこれから出力する論理値とを比較し、論理変化"0"→"1",論理変化"1"→"0"および論理変化なしの3通りの状態に対応する遅延量記憶レジスタを持ち、それぞれに対応するデータ系列を送受信し、同着判定することにより、これらのレジスタ値を設定すればよい。
また、過去の信号系列だけでなく、パッケージや基板上の信号配線間の相互結合による信号の遅延時間差についても、例えば同時刻の隣接信号の論理変化を考慮して遅延レジスタ値を設定するなどの方法により、こうした信号間の遅延時間差を低減することが可能である。
図16は、図10に示したSDRAM内の同着判定回路1026の一構成例を示す回路図である。判定の基準はCLK信号を2分周した信号CLK2であり、一度に1本のデータ信号との同着判定を行う。信号CLK2と同着を判定するデータ信号は、ビット選択信号TB0,TB1を用いてセレクタ1601により選択されるデータ信号DQ0−DQ3の内の1ビットである。図7に示したデコード表を参照すれば、例えば信号TB0,TB1が、TB0="1",TB1="0"の場合には、信号DQ1が比較対象のデータ信号となる。基準信号とデータ信号の同着を正確に判定するために、必要ならば基準信号CLK2側には、セレクタ1601の遅延時間とほぼ等価な遅延回路1602を挿入しておく。また、1602の等価遅延回路の代わりに、基準信号とデータ信号とを所望の位相差とするための任意の遅延回路を挿入することも可能である。なお、信号PHIは節点DBx,DByの信号を、後段に順次送るタイミングを決める信号である。
この同着判定回路例では、節点CxおよびCyでの信号の立上りで、DQ信号を取り込む回路となっている。このため、信号CLK2は、一定の遅延taを持つ回路1603を通じて、節点Cyに接続する。この実施例の構成では、一定遅延taが基準信号CLK2とデータ信号DQi(i=0−3)の同着判定における最大誤差を規定するから、場合によっては、この遅延時間をチップ外部から制御できるように構成するとよい。
一定遅延回路1603は、例えば、配線をメモリチップ内で引き回すか、または偶数段のインバータ回路を直列に接続するなどして実現することができる。
次に、図16の同着判定回路の動作を、図17に示したタイミングチャートを参照しながら説明する。図17の(a)(b)(c)各図において、参照符号Cx,Cy,DA,DBx,DByは、それぞれ図16における同符号で示した節点の電圧に対応する。
同図(a)は信号DQの位相が信号CLK2よりもte早い場合:節点DAでの信号は、節点Cxでの信号よりもteだけ位相が早く、各節点Cx,Cyで取り込まれる信号は、節点DBX,DByでは、斜線で示した時刻tの範囲ta<t<Tにおいて、いずれも0となる。
同図(b)は信号DQが信号CLK2とほぼ同着する場合:この例では、節点DAでの信号は、節点Cxよりも微小時間teだけ位相が遅い。ただし、微小時間teは遅延taよりも小さいものとする。この場合、各節点Cx,Cyで取り込まれる信号は、節点DBx,DByでは、斜線で示した時刻t、の範囲ta<t<Tにおいて、それぞれ1,0となる。
同図(c)は信号CLK2が信号DQよりも位相が早い場合:節点DAでの信号は、節点Cxで取り込まれる信号よりも時間teだけ位相が遅く、各節点Cx,Cyで取り込まれる信号は、節点DBx,DByでは、斜線で示した時刻tの範囲ta<t<Tにおいて、いずれも1となる。
以上の3ケースそれぞれについて、時刻tが、ta<t<Tの範囲のときに取り込まれる信号の、節点DBx,DByにおける組合わせは異なっているから、例えば、論理ゲートNORとANDにより、信号DQが信号CLK2よりも早い場合には、信号CUPとCDNのそれぞれをCUP="1",CDN"0"(遅延カウンタを増加させて信号DQの到着を遅らせる)とし、信号DQが信号CLK2とほぼ同着する場合には、CUP=CDN="0"とし、信号CLK2が信号DQよりも早い場合には、CUP="0",CDN="1"(遅延カウンタを減少させて信号DQの到着を早める)とすることができる。
逆に、この同着判定回路例で同着と判断される許容範囲は、信号DQの信号CLK2に対する遅延が0からtaまでである。
また、この例では同着判定を基準信号と1本のデータ信号の一組ずつで行うとしているが、この同着判定回路を複数並べて、複数ビットを同時に比較するように構成しても良い。
図18は、図11で示したメモリコントローラLSI内の同着判定回路1126の具体的な構成例である。同着を判定する回路は、図16と同様にして構成できる。但し、この実施例では、同着判定を一組ずつ行っていることから、判定を行う組はセレクタにより選択する必要が有る。
はじめに、メモリモジュールのスロット位置による同着判定回路への入力信号の到着時間差をなくすために、同着判定回路1810−1813に入力されるDQSi(i=0−3)信号を、メモリコントローラLSI内の基準信号CLKに対し同着させる。次に、各DQS信号に対してデータ信号DQを同着させる。このようにするため、基準信号としてDQSi信号とCLK信号をセレクタ1801により選択し、基準信号に同着させる信号として、データ信号DQ0−DQ15など信号DQSiに対応する16本のデータ信号のうちから1本を別のセレクタ1802により選択できるように構成する。但し、セレクタ1801がCLK信号を選択しているときには、セレクタ1802はDQSi信号を選択する。
同様に、同着判定回路1810−1813の出力信号についても、現在判定を行っている結果を出力するように、セレクタ1803,1804を介してCUP,CDN信号の配線に接続する。この例でのセレクタ1803,1804の制御信号はともに、信号DBS4およびDBS5である。ここで、信号CR="0"のときに図12での定義通りにCUP=CDN="0"となるよう、セレクタの制御信号にCR信号を加えるか、または図16と同様、出力信号に対し信号CRと論理積をとっておく必要が有る。
以上、回路動作を個別に説明してきたが、次に前述した同着判定回路とタイミング調整回路を含む本発明に係るデータ伝送装置を適用したメモリシステムのタイミング調整の大まかな手順を、図19を用いて説明する。
図19(a)は、データ書込みのためのタイミング調整手順を示したもので、メモリコントローラLSIから基準信号CLKとデータ信号DQを送出し、SDRAM内部で生成する基準信号CLK2とデータ信号DQを比較する手順を示したものである。
まず、メモリコントローラLSIからメモリモジュールDIMM0への書込みについて、タイミング調整を行う。例えば、図6で示した×4ビット出力のSDRAMを用いたメモリモジュールでは、CSi信号によりメモリモジュールDIMM0を選択して、DIMM0上のSDRAM0で信号CLK2と信号DQ0のタイミング調整を行う。以後、順次信号CLK2と信号DQ1,DQ2,DQ3のタイミング調整を行い、次にSDRAM1で信号CLK2と信号DQ4,DQ5,DQ6,DQ7のタイミング調整を行う。同様にして、SDRAM15の信号CLK2と信号DQ60−DQ63のタイミング調整を終了した時点で、DIMM0でのタイミング調整を終了する。
同じ手順で、CSi信号を変えながらメモリモジュールDIMM1,DIMM2,DIMM3上のデータ信号DQ0−DQ63について、基準信号CLK2とのタイミング調整を行う。すべてのメモリモジュール上で、すべてのDQ信号についてタイミング調整を行った時点で、データ書込みのためのタイミング調整を終了する。
次に、図19(b)を用いて、SDRAMからメモリコントローラLSIへのデータ読出し動作のためのタイミング調整手順を説明する。
メモリコントローラLSIに到着するデータ信号の位相を、読出し対象のメモリモジュール位置によらず全て揃えるために、まず、各メモリモジュールから出力される基準信号DQSをメモリコントローラLSI内の基準信号CLKに同期させる。この同期化は、データ取込みのためには必ずしも必要ではない。しかし、メモリコントローラLSI内のタイミング設計を容易化するために、行っておくことが望ましい。
また、同期化の対象は、メモリコントローラLSI内の信号に限らず、例えば、メモリコントローラLSIに最も近いメモリモジュール(DIMM0)から送出する信号DQSを基準信号として、他のスロットから送出される信号DQSのタイミング調整を行っても良い。
また、基準信号を常にレシーバであるメモリコントローラLSI内の基準信号CLKに固定すれば、各メモリモジュールは基準信号DQSを送出する必要がなくなり、ピン数を削減できる。いま、この例では4本のDQS信号DQS0−DQS3を、メモリモジュールのスロット位置毎に順次基準信号に同期化させる。この操作により、どの位置のメモリモジュールからの読出しであっても、基準信号DQSi(i=0−3)は、メモリコントローラLSIに全て同着する。
次に、各メモリモジュール上のSDRAMについて順次、基準信号DQSとデータ信号DQを同期化させる。この例では、基準信号DQS0にデータ信号DQ0−DQ15を、基準信号DQS1にデータ信号DQ16−DQ31を、基準信号DQS2にデータ信号DQ32−DQ47を、基準信号DQS3にデータ信号DQ48−DQ63をそれぞれ同期化させている。
この同期化も、必ずしもすべてのDQ信号について行う必要はない。同期化精度とのトレードオフになるが、レジスタやセレクタの回路素子数を削減するために、例えば物理的に近い2本の信号は、そのうちの1本のDQ信号を代表させて基準信号DQSとの同期化を行うなどすれば、同期化する信号数を減らすことができる。
図20に、データ読出し動作におけるタイミング調整の具体例を示す。この例は、メモリモジュールDIMM0上のSDRAM0が出力するデータ信号DQ0−DQ3を、信号DQS0に対して同期化させる例である。
この時点では既に、信号DQSのメモリコントローラLSI内部の基準信号CLKへの同期化は終了し同位相となっているため、信号DQS0−DQS3は一つの行に記述してある。DQiカウンタは、データ信号DQiの6ビット遅延カウンタの値であり、6ビットを10進数に変換した数値を示している。初期値は、いずれも中間値32に設定してある。なお、図には、信号DQ3およびDQ3カウンタを省略してある。また、この例は、メモリモジュールDIMM0上の同期化の例であるため、メモリモジュールの選択信号/CSは、DIMM0上のSDRAMのタイミング調整を示す選択信号/CS0のみ"0"となり、選択信号/CS1−/CS3が"1"となっている。信号DBS0−DBS5は、メモリコントローラLSIが順次送出するタイミング調整の対象ビットの選択信号であり、これも6ビットを10進数で示した。信号DQS0−DQS3,DQ0,DQ1,DQ2は、メモリコントローラLSIの同着判定回路直前での信号を示している。
データ読出し動作のためのタイミング調整モードを示すCR="1"となったら、すべての基準信号DQSとデータ信号DQは0101...が連続する交互パターンを送る。
まず、タイムスロット2において、メモリコントローラLSIの同着判定回路で、DBS信号で選択されるデータ信号DQ0と基準信号DQS0を比較する。その結果、データ信号DQ0の位相が遅れていることがわかるので、タイムスロット3で信号CDN="1"をSDRAMへ向けて送信する。これを、DBS信号で選択されるSDRAM0だけが受信して、データ信号DQ0が遅れていたことを知り、信号DQ0の遅延カウンタを32から31へデクリメントする。
タイムスロット4で、データ信号DQ0と基準信号DQS0を比較し、まだデータ信号DQ0の位相が遅れているため、タイムスロット5で信号CDN="1"を送信する。SDRAM0はカウンタを31から30へデクリメントして、データ信号DQ0の出力タイミングを早める。
タイムスロット6で、データ信号DQ0と基準信号DQS0が同着したと見なされたため、位相比較結果がCUP=CDN="0"となり、信号DBSがインクリメントされてデータ信号DQ1と基準信号DQS0の比較に移る。
以下、同様に、タイムスロット8,10,12での同着判定により、データ信号DQ1が基準信号DQS0よりも位相がすすんでいるために、SDRAM0ではデータ信号DQ1の遅延カウンタ(DQ1カウンタ)の値を1ビットずつインクリメントさせ、タイムスロット14で、データ信号DQ1と基準信号DQS0の同着が得られた。
こうした手順を順次繰り返せば、すべてのメモリモジュールから送出されるすべてのDQ信号について、信号DQSとメモリコントローラLSI内の基準信号CLKとの同着を実現することができる。
以上説明してきたように、本発明のデータ伝送装置を適用した第1の実施例のメモリシステムによれば、並列に送信されるデータ信号の受信点での位相を、ある許容誤差範囲内に合わせることができる。このため、並列データ配線間の経路長差や寄生素子を含めた負荷容量の相違がある場合にも、伝播遅延時間差に起因するデータ取込みウィンドウの減少を防止することができる。
こうしたタイミング調整は、例えば、電源投入後の起動手順の一環として一度行い、その後、メモリシステム動作中に適当な間隔で行って、遅延量記憶レジスタを更新するとよい。動作中の温度変動や電源電圧の変動などを補償するためである。
メモリシステム動作中のタイミング調整は、メモリシステムの動作効率を下げるので、全ビット一度に行わず、数ビットずつに分けて分散して行っても良い。
また、伝送効率を低下させないよう、一回の更新処理に多くの時間をさけない場合には、完全な同着が得られなくても、数ビット分の遅延記憶レジスタ値の更新を行うだけでも、データ信号取込みのセットアップ・ホールド時間改善に効果がある。
また、温度変動が大きいと考えられるスリープ状態からの復帰直後には、システム起動直後と同様のタイミング調整を行うことが望ましい。
また、この実施例では、DBS信号やCR,CW信号などを独立した配線にして同着判定を行うビットの選択として用いたが、DBS信号のようにメモリコントローラLSIからSDRAMへの単一方向にのみ伝送される信号は、例えば、アドレス信号を用いて伝送することができる。通常、SDRAMは、モードレジスタを持つので、このモードとして、本実施例のCR,CW信号で指定される状態を割り当てることが可能である。例えば、CR="1"または、CW="1"に相当するモードに入った際には、アドレス信号の任意の6本を第1の実施例における信号DBS0−DBS5などに割り当て、SDRAM内でこの信号をデコードして用いればよい。信号CUP,CDNについては、双方向の伝送が必要となるが、これは例えばDQ信号を時分割して信号CUP,CDNとしても用いることができる。このようにすれば、新規に配線を設けることなく、本発明を実施することができる。
以上述べてきた第1の実施例は、図1に示すように要約して書くことができる。すなわち、並列データ信号を受信するレシーバRCVが同着判定回路126を持ち、並列データを送信するドライバDRVがタイミング調整機構を持つ。
第1の実施例は、メモリコントローラLSIとSDRAMが相互にドライバとレシーバとなった例であり、ドライバ側にタイミング調整機構が設けてあった。こうした構成を取る場合には、レシーバRCVが、データ取り込みのための基準信号CLK_Rと、データ取込みのためのフリップフロップ131−134に入力される直前の並列データ信号121−124との同着判定を同着判定回路126で行い、位相比較結果127をドライバDRVに送信する。ここで、同着判定回路126の三角形の記号は、基準信号CLK_Rの入力端子であることを示す。
ドライバDRVは、レシーバRCVからの位相比較結果127を受けて、遅延量調整回路106と可変遅延回路101−104からなるタイミング調整機構により、レシーバRCVのデータ取込み点での並列データ121−124の位相を揃える。図1では、可変遅延回路101−104により、データ信号の位相を決めるフリップフロップ111−114に入力される基準信号CLK_Dのタイミングを変えているが、データ出力経路中に可変遅延回路をおいてタイミング調整を行うことも可能である。
また、図1では、データ出力のための基準信号CLK_Dと、データ取り込みのための基準信号CLK_Rを別々の信号として記述してあるが、第1の実施例で述べたように、ドライバDRVは基準信号CLK_Dをデータ信号とともに送出して、レシーバRCVは受信した基準信号CLK_Dを基準信号CLK_Rとして用いることもできる。
さらに、受信したデータ信号のうちの一つを基準信号CLK_Rとして用いても良い。こうした場合には、同着判定回路126の基準信号入力端子には、データ取込みのために適切な位相となるよう、例えば図16に示した遅延回路1602のような遅延回路を通過させた後に、同着判定を行うとよい。
図21は、レシーバRCVに同着判定回路とタイミング調整機構をともに設けた第2の実施例を示す構成図である。このような構成は、例えば、ドライバDRV側の回路素子数の増加を抑えたい場合で、かつ、レシーバ側での回路素子数の増加を許容できる場合に好適である。
同図(a)は、可変遅延回路2101−2104と遅延量調整回路2106からなるタイミング調整機構などをレシーバRCV側に持つ例の一つであり、可変遅延回路2101−2104をデータ取込みの基準信号CLK_Rの経路上に設けている。従って、位相比較結果を伝達する信号2127も、レシーバRCVの内部信号となる。このとき、同着判定回路2126において、データ信号2111−2114と、これらのデータ信号のそれぞれに対応するタイミング調整後の基準信号2121−2124の位相比較が出来るように、セレクタ2125を設ける。具体的には、データ信号2111と基準信号2121、データ信号2112と基準信号2122、データ信号2113と基準信号2123、データ信号2114と基準信号2124の同着をそれぞれ判定するように、セレクタ2125により基準信号を選択する。
一方、図21(b)は、レシーバRCV側にタイミング調整機構を持つ別の例であり、データ信号を遅延させる構成例である。なお、同図(b)において、同図(a)に示した構成要素と同じ構成部分については、同一の参照符号を付してある。この構成の場合、可変遅延回路2101−2104を遅延量調整回路2106により制御して、データ信号2111−2114と基準信号CLK_Rと同着させる。同図(a)の構成と比べると、基準信号CLK_Rを選択するためのセレクタ2125が不要となり、構成を簡略にできる。
図22は、タイミング調整機構を、ドライバDRVでもレシーバRCVでもない別チップ上に設けた第3の実施例を示す構成図である。これは、レシーバRCV上の同着判定回路2226で、データ信号2211−2214と基準信号CLK_Rとの同着判定を行った結果を、信号2227を用いてタイミング調整チップ2205に伝達する。この信号2227を受けて、遅延調整回路2206は、可変遅延回路2201−2204の遅延量を調整することにより、レシーバ上でのデータ信号2211−2214と基準信号CLK_Rの同着を可能とすることが出来る。
図23に、タイミング調整機構の別の構成例を示す。図中、インバータINV1と、これに並列に接続している3ステートバッファ2310−2315により、各データ信号の最終段の出力バッファ回路を形成する。特に、第1の実施例のようにドライバ側チップ上でタイミング調整を行う場合には、ドライバの出力バッファの駆動力を可変とすることにより、タイミングを有効に調整できる。
ここで、3ステートバッファの制御信号b0−b5は、例えば図13に示した遅延量調整回路の出力である。3ステートバッファ2310−2315は、信号bi="0"のときにドライバとして機能し、bi="1"のときにハイインピーダンス(Hi−Z)となるようにすれば、第1の実施例における図14に示した可変遅延回路と論理的に同様の動作となる。
また、信号bi(i=0−5)の値に応じて、遅延時間を出来るだけ単調に変化させるためには、例えばb0−b5により制御されるバッファのMOSトランジスタサイズW/Lを、バッファ2310から出発して2311,…,2315の順に大きくなるように設計するとよい。
以上、本発明に係るデータ伝送装置の好適な実施例について、ドライバ・レシーバのうち、一方はメモリコントローラLSI(一つの半導体チップ)で、他方はメモリモジュール(複数の半導体チップから構成される半導体装置)間の並列データ伝送に適用した場合を説明したが、本発明は前記実施例に限定されるものではなく、並列データの伝送を行う場合には全て適用可能であり、本発明の精神を逸脱しない範囲内で種々の設計変更を為し得ることは勿論である。
例えば、図2で示した、メモリコントローラLSIとMPU間の並列データ伝送のように、ドライバ・レシーバ共にそれぞれ一つの半導体チップで構成されたチップ間の並列データ伝送に適用できる。また、ドライバ・レシーバ共に複数の半導体装置から構成される装置間の並列データ伝送にも本発明を適用できる。さらには、半導体チップ内の高速並列データ伝送が必要な回路ブロック間のスキュー防止のために適用出来ることは言うまでもない。
これまで述べてきたように、本発明によってデータ信号をレシーバに同着させることが可能となるため、周期の短い高速データの伝送において、データ配線間の経路長差や寄生素子を含めた負荷容量の相違等がある場合にも、誤りなくデータ伝送を行うことのできる並列データ伝送装置が実現可能となる。
また、本発明の副次的な効果として、並列データの配線長や負荷容量の相違が許容されることになるために、プリント基板やメモリモジュール、およびドライバ・レシーバチップ内のレイアウト制約が緩和され、設計を容易化できる。
さらに、装置動作中の温度等の環境変動や伝送データパターンに依存する電源変動に起因するスキューに強い並列データ伝送装置を実現することが可能となる。
Claims (5)
- 複数ビットで構成されるデータ信号を並列信号として受信する第1のレシーバと、前記並列信号の取り込みのための基準信号を受信する第2のレシーバと、前記並列信号の全部または一部の位相を前記基準信号と比較しその比較結果を前記並列信号および前記基準信号の送り手側に送信する同着判定回路とを備えることを特徴とする半導体装置。
- 請求項1に記載の半導体装置と、
前記並列信号を送信するドライバ回路を備える第2の半導体装置が信号線路を介して相互接続されたデータ伝送システムにおいて、
前記第2の半導体装置はさらに前記判定信号に基づいて前記ドライバ回路の出力時間を調整する遅延量調整回路をもつことを特徴とするデータ伝送システム。 - 請求項2に記載のデータ伝送システムにおいて、
前記第2の半導体装置はさらにカウンタ回路を備え、前記カウンタ回路は前記判定信号によりカウントアップまたはカウントダウンを行い前記ドライバ回路の出力時間を調整することを特徴とするデータ伝送システム。 - 複数ビットで構成されるデータ信号を第1の並列信号として受信する第1のレシーバと、前記並列信号の取り込みのための基準信号を受信する第2のレシーバと、前記第1の並列信号の全部または一部の位相を前記基準信号と比較しその比較結果を前記並列信号および前記基準信号の送り手側に送信する同着判定回路とを備え、さらに、
複数ビットで構成されるデータ信号を第2の並列信号として出力するドライバ回路と、前記ドライバ回路の出力時間を制御する制御信号を受信する第3のレシーバと、前記制御信号により前記第2の並列信号の出力時間を調整する遅延量調整回路とを備えることを特徴とする半導体装置。 - 請求項4に記載の半導体装置において
前記遅延量調整回路はレジスタを含み、前記レジスタが保持する情報は前記制御信号により制御されることを特徴とする半導体装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008149265A JP2008278518A (ja) | 2008-06-06 | 2008-06-06 | 半導体装置およびデータ伝送システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008149265A JP2008278518A (ja) | 2008-06-06 | 2008-06-06 | 半導体装置およびデータ伝送システム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000536005A Division JP4634605B2 (ja) | 1998-03-12 | 1998-03-12 | データ伝送システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008278518A true JP2008278518A (ja) | 2008-11-13 |
Family
ID=40055847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008149265A Pending JP2008278518A (ja) | 2008-06-06 | 2008-06-06 | 半導体装置およびデータ伝送システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008278518A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010141703A (ja) * | 2008-12-12 | 2010-06-24 | Nec Corp | 並列データ伝送回路及び並列データ伝送方法 |
JP2010219967A (ja) * | 2009-03-17 | 2010-09-30 | Nec Corp | 同期伝送路及び該同期伝送路に用いられるデータ伝送方法 |
JP2011010118A (ja) * | 2009-06-26 | 2011-01-13 | Fujitsu Semiconductor Ltd | 集積回路装置及びデータ伝送システム |
JP2013183325A (ja) * | 2012-03-02 | 2013-09-12 | Fujitsu Semiconductor Ltd | 受信回路、半導体集積回路および伝送システム |
JP2013236296A (ja) * | 2012-05-10 | 2013-11-21 | Shinko Electric Ind Co Ltd | 伝送システム、伝送装置及びジッタ補償方法 |
JP2016019095A (ja) * | 2014-07-07 | 2016-02-01 | ソニー株式会社 | 受信装置、送信装置、および通信システム |
US10254002B2 (en) | 2014-11-04 | 2019-04-09 | Mitsubishi Electric Corporation | Communication system, signal transfer method, and air conditioner |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS639246A (ja) * | 1986-06-30 | 1988-01-14 | Nec Corp | 高速光バス |
JPS6367931A (ja) * | 1986-09-10 | 1988-03-26 | Nec Corp | 高速光バス |
JPH0969829A (ja) * | 1995-08-31 | 1997-03-11 | Kyocera Corp | 同期式データ伝送方式 |
-
2008
- 2008-06-06 JP JP2008149265A patent/JP2008278518A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS639246A (ja) * | 1986-06-30 | 1988-01-14 | Nec Corp | 高速光バス |
JPS6367931A (ja) * | 1986-09-10 | 1988-03-26 | Nec Corp | 高速光バス |
JPH0969829A (ja) * | 1995-08-31 | 1997-03-11 | Kyocera Corp | 同期式データ伝送方式 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010141703A (ja) * | 2008-12-12 | 2010-06-24 | Nec Corp | 並列データ伝送回路及び並列データ伝送方法 |
JP2010219967A (ja) * | 2009-03-17 | 2010-09-30 | Nec Corp | 同期伝送路及び該同期伝送路に用いられるデータ伝送方法 |
JP2011010118A (ja) * | 2009-06-26 | 2011-01-13 | Fujitsu Semiconductor Ltd | 集積回路装置及びデータ伝送システム |
JP2013183325A (ja) * | 2012-03-02 | 2013-09-12 | Fujitsu Semiconductor Ltd | 受信回路、半導体集積回路および伝送システム |
JP2013236296A (ja) * | 2012-05-10 | 2013-11-21 | Shinko Electric Ind Co Ltd | 伝送システム、伝送装置及びジッタ補償方法 |
JP2016019095A (ja) * | 2014-07-07 | 2016-02-01 | ソニー株式会社 | 受信装置、送信装置、および通信システム |
US10516522B2 (en) | 2014-07-07 | 2019-12-24 | Sony Corporation | Receiver, transmitter, and communication system |
US11296859B2 (en) | 2014-07-07 | 2022-04-05 | Sony Group Corporation | Receiver, transmitter, and communication system |
US10254002B2 (en) | 2014-11-04 | 2019-04-09 | Mitsubishi Electric Corporation | Communication system, signal transfer method, and air conditioner |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4634605B2 (ja) | データ伝送システム | |
US9397661B2 (en) | On-die termination circuit and on-die termination method | |
US8988919B2 (en) | Semiconductor device having a control chip stacked with a controlled chip | |
JP4885623B2 (ja) | 積層半導体装置 | |
US9135981B2 (en) | Memory system having memory ranks and related tuning method | |
US8351283B2 (en) | Semiconductor storage device | |
US7804720B2 (en) | Integrated circuit memory devices including mode registers set using a data input/output bus | |
US7498834B2 (en) | Semiconductor memory device | |
US8928349B2 (en) | On-die termination circuit, semiconductor memory device and memory system | |
JP2008278518A (ja) | 半導体装置およびデータ伝送システム | |
KR100929846B1 (ko) | 온 다이 터미네이션 제어 회로 | |
KR20120056268A (ko) | 다이 위치 보상 | |
US7671622B2 (en) | On-die-termination control circuit and method | |
US9330218B1 (en) | Integrated circuits having input-output circuits with dedicated memory controller circuitry | |
US6574154B2 (en) | Data transmitter | |
US7626417B2 (en) | On-die-termination control circuit and method | |
US9300282B2 (en) | Semiconductor device and semiconductor system including the same | |
JP4109841B2 (ja) | 半導体集積回路装置および半導体機器システム | |
CN110782929B (zh) | 每个通路的占空比校正 | |
JP2006065470A (ja) | メモリ制御方法および装置 | |
CN116913334A (zh) | 半导体裸片、多芯片封装件和存储系统 | |
JP4536736B2 (ja) | 半導体装置システム及び半導体装置 | |
KR20080098857A (ko) | 반도체메모리소자의 입력장치 | |
JP2010097660A (ja) | 半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100203 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100609 |