JP3727778B2 - データ高速転送同期システム及びデータ高速転送同期方法 - Google Patents
データ高速転送同期システム及びデータ高速転送同期方法 Download PDFInfo
- Publication number
- JP3727778B2 JP3727778B2 JP12463698A JP12463698A JP3727778B2 JP 3727778 B2 JP3727778 B2 JP 3727778B2 JP 12463698 A JP12463698 A JP 12463698A JP 12463698 A JP12463698 A JP 12463698A JP 3727778 B2 JP3727778 B2 JP 3727778B2
- Authority
- JP
- Japan
- Prior art keywords
- delay
- clock
- circuit
- output
- unit
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Memory System (AREA)
Description
【発明の属する技術分野】
この発明は複数のメモリモジュールとこれら複数のメモリモジュールを制御して複数のメモリモジュールとの間でデータの授受を行うメモリコントローラとが実装されたメモリボードシステムに係り、特にメモリコントローラとメモリモジュールとからなる環境が異なっていても、クロックに同期したデータの高速転送が確実に行えるようにしたデータ高速転送同期システム及びデータ高速転送同期方法に関する。
【0002】
【従来の技術】
情報処理装置の分野ではMPU(マイクロプロセッサユニット)の性能が向上し、使用されるICメモリの容量も256Mビット、1Gビットと飛躍的に増大している。このような状況において、複数個のICメモリが実装されたメモリモジュールとMPUとの間で、大量のデータを如何に効率良く転送するかということが益々重要になってきている。
【0003】
一般に複数のメモリモジュールはメモリコントローラと組み合わされてメモリボードシステムが構成される。
【0004】
図38は一般的なメモリボードシステムの概略的な構成を示している。クロックは、メモリコントローラ(以下、単にコントローラと称する)MEC内に設けられたクロック発生器CGによって作られる。クロック発生器CGによって作られたクロックは、複数のメモリモジュールMM1〜MMnの並びをTCLKとして順次通過し、コントローラMECから最も離れたメモリモジュールMMnの位置で折り返し、さらに複数のメモリモジュールの並びを上記とは逆の方向にRCLKとして順次通過し、コントローラMECまで伝達される。
【0005】
一方、コントローラMECから出力されるコマンドは、コマンドバスを経由して上記複数のメモリモジュールMM1〜MMnに伝えられる。各メモリモジュールは、クロックTCLKに同期して上記コマンドバスからコマンドを取り込み、クロックRCLKに同期してデータをデータバス上に出力する。データバスに出力された各メモリモジュールからの読み出しデータはコントローラMECに入力される。
【0006】
各メモリモジュールに書き込むデータはコントローラからデータバス上に出力される。各メモリモジュールは、クロックTCLKに同期してデータバスからデータを取り込み、その後、データを書き込む。なお、メモリボードシステムには、上記クロックTCLK、RCLKを転送するクロックバス、コマンドバス及びデータバスの他にアドレスバスが設けられるが、図38のシステムではこのアドレスバスの図示は省略している。
【0007】
ところで、各メモリモジュールはそれぞれ、上記クロックTCLK、RCLKに同期して内部クロックを発生し、この内部クロックに同期してデータの読み出し/書き込み動作を制御している。また、このような内部クロックを作る回路は、本発明者による特願平9−100490号に係る出願でシンクロナス・アジャスタブル・デレイ(SAD:Synchronous Adjustable Delay)として提案されている。
【0008】
【発明が解決しようとする課題】
図38に示すシステムで正常なデータ転送が行われるための条件は、クロックバス上を伝播するクロックTCLK、RCLKと、データバス上を伝播するデータとが常に同期していることである。しかし、この条件を完全に満足させることはむずかしい。まず、クロックを伝えるクロックバスと、データを伝えるデータバス及びコマンドを伝えるコマンドバスの物理的条件例えば、抵抗値やキャパシタンスなどの条件を完全に揃えることは困難である。
【0009】
このため、例えばあるメモリモジュールがクロックRCLKに同期してデータをデータバス上に出力しても、コントローラにはクロックRCLKとデータとが僅かなずれを生じて到着する。このずれは当然、メモリモジュールが置かれている位置毎に異なる。クロックの周期がこのずれに対して大きい時はコントローラ側でデータウィンドウ、すなわちデータの取り込み期間を十分確保できるので、このずれは問題とならない。
【0010】
しかし、クロック周期が小さくなってくると、このずれはクロックバスなどにおける抵抗値などの物理的条件で決まっているので、クロックバスやデータバスの物理的条件をできるだけ同じにして、このずれを小さくして、高速データ転送に対応するしかない。
【0011】
ところが、このようにするとメモリシステムの自由度が失われる。以下、この点について図39を用いて説明する。
【0012】
図39(a)はコントローラMECと3個のメモリモジュールMM1〜MM3が実装されたメモリボードシステムの構成を示しており、図39(b)はコントローラMECと4個のメモリモジュールMM1〜MM4が実装されたメモリボードシステムの構成を示している。クロックバスとデータバスに対するメモリモジュールの負荷条件は必ずしも同じではないので、この両システムのいずれか一方でクロックバスとデータバスの物理条件を一致させれば、他方ではこの一致条件から外れてしまうことがある。
【0013】
そこで例えば図39(b)のシステムでバス条件を一致させたと仮定し、メモリモジュールMM3からコントローラMECへ信号が伝播する場合を考える。図40の(a)には、図39(a)及び(b)に記載したシステムにおけるメモリモジュールMM3でのクロックRCLKとデータのタイミングが示されている。また、図40の(b)には、図39(a)及び(b)に記載したシステムにおけるコントローラMECでのクロックRCLKとデータのタイミングが示されている。
【0014】
図40に示すように、図39(b)のシステムでバス条件を一致させているので、図39(b)のシステムに対応するデータとコントローラMECの位置でクロックRCLKは同期している。これに対し、図39(a)のシステムに対応するデータはクロックRCLKに対してバス遅延時間が異なるので、図示のようにコントローラの位置で同期が取れなくなる。例えば太線で示したようにずれると、コントローラはクロックRCLKの立ち上がりのタイミングではもはやデータを取り込むことはできなくなる。
【0015】
ここで、バスの特性のずれがどの程度タイミングに影響を与えるかを見積もっておく。理想的な場合で考えると、単位長さ(cm)当たりの容量CとインダクタンスLの信号線では、信号は単位長さを(CL)1/2 の時間で伝わる。一般的なメモリボードシステムで、Cの値が5〜7pF、Lの値が15〜20nH位であるとすると、信号の単位長さ当たりの遅延時間は0.27〜0.37nSとなる。従って、単位長さ当たりのばらつきは約0.1nSとなり、メモリモジュール全体の大きさを10cmとすると、タイミングのばらつきは1nSになる。これは特定のコントローラとメモリモジュールからなるシステムでタイミングを最適化しても、他のシステムでは1nS程度はずれてしまうことを意味する。
【0016】
ばらつきと同程度のデータウィンドウ、すなわちデータ取り込み期間が要求されているとすると、2nSの周期すなわち500MHz位までが、バスの物理条件をきちんと揃えるという条件を厳しくせずとも、データ転送を行うことができる。なお、コマンドはクロックTCLKに対して毎サイクル入るのではなく、2サイクル毎などのようにデータよりタイミング規定が緩くできるので、データ程クロックとの同期性は必要とされない。
【0017】
【発明が解決しようとする課題】
このように複数のメモリモジュールとメモリコントローラからなる従来のメモリボードシステムでは、データの転送速度を高速化するためにクロックの周期がより短くなってくると、メモリモジュールのバス上での位置やバスシステムの環境によっては正常な動作が期待できなくなるという問題がある。
【0018】
この発明は上記のような事情を考慮してなされたものであり、その目的は、メモリモジュールとメモリコントローラとの間のバスの物理条件をそれ程厳しく制限しなくても、高速な同期型データ転送が実現できるデータ高速転送同期システム及びデータ高速転送同期方法を提供することにある。
【0019】
【課題を解決するための手段】
この発明のデータ高速転送同期システムは、クロックを受け、このクロックに同期して動作する複数のメモリモジュールと、上記クロックを発生し、上記複数のメモリモジュールとの間でデータの転送が行われるメモリコントローラと、上記複数のメモリモジュール内にそれぞれ設けられ、上記クロックからこのクロックに同期しかつ上記クロックと異なる位相を持ち、上記クロックとの位相ずれ量がプログラム可能な内部クロックを発生する内部クロック発生回路とを具備し、上記内部クロック発生回路は、一定の遅延時間を有する複数の第1遅延ユニットが縦続接続され、前進パルスを伝達する前進パルス遅延回路と、一定の遅延時間を有する複数の第2遅延ユニットが縦続接続され、後進パルスを伝達する後進パルス遅延回路と、上記前進パルス遅延回路の第1遅延ユニットと上記後進パルス遅延回路の第2遅延ユニットとに対応して設けられ、リセット状態とセット状態とを有する複数の状態保持部とを有し、上記前進パルスが伝達した上記第1遅延ユニットに対応する上記状態保持部がセット状態にされ、セット状態の状態保持部に対応する後進パルス遅延回路の第2遅延ユニットは後段の第2遅延ユニットからの後進パルスをそれよりも前段の第2遅延ユニットに伝達し、リセット状態の状態保持部に対応する後進パルス遅延回路の第2遅延ユニットは内部クロックを直接、前段の第2遅延ユニットに伝達し、上記状態保持部は複数のグループに区分され、それぞれのグループに属する状態保持部を一つずつ順番に並べた状態保持部を上記第1、第2遅延ユニットに順番に対応させて、各グループ毎に状態保持部をセットする外部クロックのサイクルを順次ずらして動作させるようにしたことを特徴とする。
【0020】
この発明のデータ高速転送同期方法は、クロックを受け、このクロックに同期して動作し、それぞれが上記クロックに同期し、上記クロックとの位相ずれ量がプログラム可能な内部クロックを発生する内部クロック発生回路を有する複数のメモリモジュールと、上記クロックを発生し、上記複数のメモリモジュールとの間でデータの転送が行われるメモリコントローラとを具備し、上記内部クロック発生回路は、上記クロックを受ける第1のバッファ回路と、上記第1のバッファ回路の出力を受け、上記第1のバッファ回路における遅延時間と同等の遅延時間を有し、第1のバッファ回路の出力を遅延する第1の遅延回路と、上記第1の遅延回路からの出力を受け、この第1の遅延回路からの出力を固定された一定時間遅延する第2の遅延回路と、上記第2の遅延回路からの出力を受ける第2のバッファ回路と、多段縦続接続された複数の第1遅延ユニットを有し、上記第2のバッファ回路の出力を受け、この第2のバッファ回路の出力を上記クロックの周期に応じた期間中、上記複数の第1遅延ユニットで伝達して遅延する第3の遅延回路と、多段縦続接続された複数の第2遅延ユニットを有し、上記第3の遅延回路で遅延される信号が供給され、この信号を上記第2のバッファ回路の出力が伝達した上記第1遅延ユニットと同じ数の第2遅延ユニットで伝達して遅延する第4の遅延回路と、上記第4の遅延回路からの出力を受け、この第4の遅延回路からの出力を制御信号に応じた時間だけ遅延して出力する可変遅延回路と、上記第2のバッファ回路における遅延時間と同等の遅延時間を有し、上記可変遅延回路からの出力を受けて前記内部クロックを発生する第3のバッファ回路とから構成されたデータ高速転送同期システムを有し、上記複数のメモリモジュールに対して所定のデータパターンを格納させ、予め各メモリモジュールに格納されているデータパターンを上記複数のメモリモジュールから読み出して上記メモリコントローラに転送させ、上記メモリコントローラにおいて上記各メモリモジュールから転送されたデータパターンと元の所定のデータパターンとの一致比較を行い、上記両データパターンが一致するように上記制御信号を発生することを特徴とする。
【0021】
【発明の実施の形態】
まず、この発明に係るデータ高速転送同期システム及びデータ高速転送同期方法の原理について説明する。
【0022】
この発明では、先の図38に示す一般的なメモリボードシステムにおいて、コントローラと複数のメモリモジュールとの間のバスの物理条件を厳しく制限しなくても、例えば500MHz以上のクロックでデータの同期型転送制御が可能な方式として、各メモリモジュール内で外部クロックに同期した内部クロックを発生させる。そして、この内部クロックに一定の遅延を付加もしくは差し引いて、データの入出力タイミングを調節する方式を採用する。このような方式を用いると、先の図40に示すようなメモリモジュールの個数の違いよるデータとクロックRCLKとのタイミングのずれによる影響を、メモリコントローラが受けないようにすることができる。
【0023】
この発明の方式の原理をさらに詳しく説明する。
【0024】
図1(a)は前記図38に示すものと同様に、コントローラMECと3個のメモリモジュールMM1〜MM3が実装され、これらがクロックバス、データバス及びコマンドバスで接続されたメモリボードシステムの構成を示しており、図1(b)はこのメモリボードシステムにおける一部の信号を抽出したタイミングチャートを示している。
【0025】
先の図40中に太線で示すように、コントローラに到着したデータがクロックRCLKに対して遅れるような場合には、図1に示すようにデータを送る側のメモリモジュール、例えばメモリモジュールMM3ではクロックRCLKよりも速いタイミング(図1(b)中のt1)でデータを出力する。また、先の図40中に実線で示すように、コントローラにデータが速いタイミングで到着する場合には、図1に示すようにデータを送る側のメモリモジュールではクロックRCLKよりも遅いタイミング(図1(b)中のt2)でデータを出力する。
【0026】
このように、コントローラにデータが到着するタイミングに応じて、メモリモジュール側からデータを出力するタイミングを調節することにより、コントローラには常にクロックRCLKに同期してデータが到着し、これによりメモリモジュールとコントローラとの間の高速データ転送を確実に行うことができる。
【0027】
この発明ではこのようなタイミングの調節を各メモリモジュール毎に行うものであり、さらにこのようなタイミングの調節を先のSADを用いて行う。
【0028】
ここで、先の出願(特願平9−100490号)に係る明細書及び図面に記載されているSADについて説明しておく。
【0029】
図2は、SADを、このSADに対して信号の入出力を行う入出力バッファと共に示しており、図2(a)は回路を論理ゲートレベルで表現したものであり、図2(b)はシンボルで表現したものである。なお、図2(a)、(b)において対応する箇所には同じ符号を付して説明を行う。
【0030】
図2に示したSADは、外部クロックRCLKから内部クロックintRCを発生する場合のものを例示しているが、他方の外部クロックTCLKから内部クロックintTCを発生するSADもこれと同様に構成されているので、その説明は省略する。
【0031】
図2中、11は外部クロックRCLKが入力され、遅延D1を有する入力バッファである。また、12は上記入力バッファ11の出力信号Aを受けてその出力をSAD13に供給し、D(=D1+D2)の遅延を有する遅延回路である。14はSAD13の出力信号を受けて内部クロックintRCを発生し、D2の遅延を有する出力バッファである。なお、上記入力バッファ11の出力信号AはSAD13に信号Bとしても供給されている。
【0032】
上記SAD13内には、直列接続された2個のインバータ15、16と、それぞれNANDゲート17及びこのNANDゲート17の出力が一方入力端に供給されるNORゲート18からなり、多段縦続接続された複数個の遅延ユニットDU1と、それぞれNANDゲート19及びこのNANDゲート19の出力が一方入力端に供給されるNORゲート20からなり、多段縦続接続され上記遅延ユニットDU1と同数の遅延ユニットDU2と、上記インバータ15の出力Cと前記入力バッファ11からの信号Bとが供給されるNANDゲート21と、このNANDゲート21の出力を反転して制御信号Sを出力するインバータ22と、上記インバータ22から出力される信号Sとタイミングを合わせるために、前記入力Bからの遅延が同等になるように遅延を行うパスゲート23と、上記一方の遅延ユニットDU1と他方の遅延ユニットDU2との間にそれぞれ挿入された各NORゲート24及びNANDゲート25とが設けられている。
【0033】
ここで、多段縦続接続された複数個の一方の遅延ユニットDU1で前進パルス遅延回路(Forward Delay 、以下FDと略称する)が構成され、同様に多段縦続接続された複数個の他方の遅延ユニットDU2で後進パルス遅延回路(Backward Delay、以下BDと略称する)が構成されている。
【0034】
前記各NORゲート24及びNANDゲート25は、上記FDで遅延された信号を、信号Bの立上がりのタイミングでBDに伝達する制御を行うものであり、各NORゲート24には前記制御信号/S及び対応する一方の遅延ユニットDU1内のNANDゲート17の出力が供給され、その出力は対応する他方の遅延ユニットDU2内のNORゲート20に供給される。前記各NANDゲート25には制御信号S及び対応する一方の遅延ユニットDU1内のNORゲート18の出力が供給され、その出力は対応する他方の遅延ユニットDU2内のNANDゲート19に供給されている。
【0035】
次に図2に示したSADの動作を簡単に説明する。外部クロックRCLKが立ち上がると、この正パルスが遅延回路12において遅延量D(=D1+D2)だけ遅延される。その後、正パルスはSAD13に入力され、FDのNANDゲート17とNORゲート18を交互に伝播して行く。
【0036】
他方、SAD13には、FDを伝播するパルスを後進パルス遅延回路BDに負のパルスとして転送するタイミングを設定するための信号Bが入力される。そして、信号Aと信号Bのパルスの立ち上がり相互間に相当する遅延量Δが、FDを進行する正パルスの立ち上がり位置(NORゲート18の出力の立ち上がり位置またはNANDゲート17の出力の立ち下がり位置)として検出され、BDに負パルスの立ち上がり位置として移動される。このパルスを移動させる際の移動用ゲートとなるのがFDとBDとの間に設けられているNORゲート24とNANDゲート25である。信号Aと信号Bとは同じものなので、前サイクルにFDに入ったパルスを先ずBDに移し、遅延量D(=D1+D2)を経てFDに入るパルスにはBDへの移動が生じないように、信号Bから信号Sへの経路に信号AからのパルスとのNANDゲート21が挿入されており、信号Sの出力が禁止されるようになっている。
【0037】
このような構成のSADでは、外部クロックRCLKの周期Tに応じて遅延量Δが変化し、外部クロックRCLKの一発目と二発目で遅延量Δが決定され、二発目以降からこの遅延量Δを使って内部クロックintRCが作られる。従って、内部クロックintRCは三発目のRCLKから位相が一致するようになる。
【0038】
ここで外部クロックRCLKの周期をTとすれば、D+Δ=Tであるから、RCLK入力からT後に内部クロックintRCが出力され、これが外部クロックRCLKに同期することになる。
【0039】
このようなSADを各メモリモジュール毎に設けることにより、そのメモリモジュールが受ける外部クロックRCLKに同期したタイミングを作ることができる。
【0040】
なお、FDで遅延されるパルスは各NANDゲート17、NORゲート18のどこからでもBD側に移ることができるので、得られる内部クロックintRCのタイミングの精度は論理ゲート1個分になる。
【0041】
このようにして図2に示す回路では、内部クロックintRCを外部クロックRCLKに対して位相差ゼロで同期して発生することができる。
【0042】
図3は、上記とは異なるSADの構成を、このSADに対して信号の入出力を行う入出力バッファと共に示すブロック図である。なお、このSADでも、外部クロックRCLKから内部クロックintRCを発生する場合のものを例示しているが、他方の外部クロックTCLKから内部クロックintTCを発生するSADもこれと同様に構成されているので、その説明は省略する。
【0043】
外部クロックRCLKは、遅延量D1を有する入力バッファ31に入力される。この入力バッファク31は、外部クロックRCLKに対してD1のスキュー(遅延量)を有するクロックCLKを出力する。このクロックCLKは、遅延量D(=D1+D2)を有する遅延回路32に入力され、この遅延回路32は前進パルスFCL1を出力する。
【0044】
上記クロックCLK及びこのクロックCLKをインバータ33により反転したクロック/CLKは、それぞれn個の遅延回路34−1〜34−nに入力される。これらn個の遅延回路34−1〜34−nは多段に縦続接続されており、初段の遅延回路34−1には前進パルスFCL1が入力され、この遅延回路34−1から後進パルスRCL1が出力される。初段の遅延回路34−1から出力される後進パルスRCL1は、遅延量D2を有する出力バッファ35を経由することにより、内部クロックintRCとして出力される。
【0045】
なお、上記各遅延回路34−i(i=1〜n)の動作は、上記クロックCLK、/CLKが入力される制御パルス発生回路36から出力される制御パルスP、/Pに基づいて制御される。
【0046】
図4は、上記図3に示したSADにおける各遅延回路34−iの詳細な構成を示している。各遅延回路34−iは、FD、BD及び状態保持回路(Sample Hold 、以下SHと略称する)の3つの部分から構成されている。
【0047】
FDは、2個のクロックドインバータ41、42と1個のインバータ43とから構成された遅延ユニットを有する。一方のクロックドインバータ41には前段の遅延回路34からの前進パルスFCLiが入力され、他方のクロックドインバータ42には接地電位(“L”)が入力される。上記一方のクロックドインバータ41は、制御パルス/Pが“H”のときに動作し、入力される前進パルスFCLiを反転して出力する。また、上記他方のクロックドインバータ42は、制御パルスPが“H”のときに動作し、入力されている“L”の信号電位を反転して“H”の信号電位出力する。上記両クロックドインバータ41、42の出力ノードは共通に接続されており、この共通接続ノードに上記インバータ43の入力ノードが接続されている。そして、このインバータ43の出力信号が後段の遅延回路34にFCLi+1 として出力される。
【0048】
BDは、2個のクロックドインバータ44、45と1個のインバータ46とから構成された遅延ユニットを有する。一方のクロックドインバータ44には後段遅延回路34の後進パルスRCLi+1 もしくはクロックCLKが入力され、他方のクロックドインバータ45にはクロックCLKが入力される。上記一方のクロックドインバータ44は、SHから出力される制御パルスQが“H”のときに動作し、入力される後進パルスRCLi+1 もしくはクロックCLKを反転して出力する。また、上記他方のクロックドインバータ42は、SHから出力される制御パルス/Qが“H”のときに動作し、入力されるクロックCLKを反転して出力する。上記両クロックドインバータ44、45の出力ノードは共通に接続されており、この共通接続ノードには上記インバータ45の入力ノードが接続されている。そして、このインバータ45の出力信号が前段の遅延回路34にRCLiとして出力される。
【0049】
SHは、状態保持部47と2個のNANDゲート48、49とから構成されている。上記一方のNANDゲート48には、前段の遅延回路34からの前進パルスFCLiと反転クロック/CLKとが入力され、上記他方のNANDゲート49には、対応する段のインバータ46の出力である前段への後進パルスRCLiとクロックCLKとが入力される。
【0050】
上記NANDゲート48の出力は状態保持部47にセット信号/Sとして入力され、上記NANDゲート49の出力は状態保持部47にリセット信号/Rとして入力される。
【0051】
状態保持部47は、セット/リセット状態に対応して上記制御パルスQ、/Qを発生する。ちなみに、制御パルスQは状態保持部47がセット状態のときに“H”となり、制御パルス/Qは状態保持部47がリセット状態のときに“H”となる。なお、この状態保持部47の詳細な構成については後に詳述する。
【0052】
次に、図3に示したような構成のSADの動作について、図5のタイミングチャートを参照して説明する。まず、クロックCLKの1つ目のパルスが発生した時点(クロックCLKが立ち上がった時点)から時間D(=D1+D2)が経過した後に前進パルスFCL1が発生する。また、この前進パルスFCL1が発生した時点から、クロックCLKの2つ目のパルスが発生する時点までの時間はΔfとなる。
【0053】
また、この時間ΔfをコピーしてΔbを作り、パルスFCL1が発生した時点から、時間2*Δ(ただし、Δf=Δb=Δ)が経過した時点でパルスRCL1が発生する。すると、パルスRCL1が発生した時点から遅延量Dが経過した時点は、クロックCLKの3つ目のパルスが立ち上がる時点と一致する。ただし、(A+W)<Tとする。なお、WはパルスFCL1、パルスRCL1それぞれのパルス幅である。
【0054】
パルスRCL1が発生した時点から外部クロックRCLKの3つ目のパルスが発生する時点までの時間をD2とすると、パルスFCL1をD+2*Δ+D2だけ遅らせれば、外部クロックRCLKのタイミングに一致した内部クロックintRCが得られることになる。
【0055】
なお、D=D1+D2という関係が成立するため、遅延量D2は、D及びD1から求めることができる。また、制御パルスP、/Pは、パルスFCLiが初段の遅延回路に入力される前に、全ての遅延回路のBDを初期化しておくため、つまり、クロックドインバータ42を動作させてインバータ43の入力ノードの信号を“H”に設定するために使用されるものである。
【0056】
この発明によるデータ高速転送同期システム及びデータ高速転送同期方法では、各メモリモジュール内で外部クロックに同期した内部クロックを発生させ、この内部クロックを用いてデータの入出力を行う際に、内部クロックに一定の遅延を付加もしくは差し引いて、データの入出力タイミングを調節するために、SADとして図6に示すような構成のものが使用される。
【0057】
なお、この図6に示したSADは、図2に示したSADに対してデータの入出力タイミングを調節する機能を付加したものであるが、図3に示したSADに対してデータの入出力タイミングを調節する機能を付加して使用するようにしてもよい。また、図6のSADでは、外部クロックRCLKから内部クロックintRCを発生する場合のものを例示しているが、他方の外部クロックTCLKから内部クロックintTCを発生するSADもこれと同様に構成されているので、その説明は省略する。
【0058】
図6に示したこの発明の第1の実施の形態のシステムで使用されるSADが先の図2のものと異なるところは、内部クロックのタイミングを調節するために、図2中の遅延D(=D1+D2)を有する遅延回路12に変えて、新たな遅延回路26が設けられている点と、図2中の出力バッファ14に変えて遅延回路27が設けられている点の2点である。その他の構成は図2のものと同様なので、以下、図2と異なる点についてのみ説明する。
【0059】
上記遅延回路26は、遅延D1を有するバッファ51と、このバッファ51の出力が供給され、このバッファ51の出力を固定された一定時間d0だけ遅延して第1の遅延出力を得ると共にこの固定された遅延時間d0と同等の時間d0だけバッファ51の出力を遅延して第2の遅延出力を得る可変遅延部52と、この可変遅延部52で得られる第2の遅延出力を受け遅延D2を有するバッファ53と、上記可変遅延部52で得られる第1の遅延出力を受け遅延D2を有するバッファ54とから構成されている。そして、上記バッファ53の出力がSAD13のFDに供給される。
【0060】
上記遅延回路27は、上記SAD13の出力を固定された一定時間d0だけ遅延して第1の遅延出力を得ると共にこの固定された遅延時間d0に対し、外部からの制御により遅延時間がd0に対してdだけ増減される第2の遅延出力を得る可変遅延部55と、この可変遅延部55で得られる第2の遅延出力を受け遅延D2を有するバッファ56と、上記可変遅延部55で得られる第1の遅延出力を受け遅延D2を有するバッファ57とから構成されている。そして、上記バッファ56、57の出力が、外部クロックRCLKに同期した内部クロックintRC′、intRCとして出力される。
【0061】
なお、遅延回路26に設けられている可変遅延部52は、第1の遅延出力と第2の遅延出力の遅延時間が共に固定された一定時間d0なので、特に遅延時間を可変させるような構成とする必要はないが、遅延回路27にも可変遅延部55が設けられており、この可変遅延部55と同等の回路条件を持たせるために可変遅延部52が用いられている。これと同じ理由により、遅延回路26に設けられているバッファ54は、その出力が他の回路部に供給されないので、このバッファ54を省略することも可能である。しかし、内部クロックintRCを得るために可変遅延部55にバッファ56を接続しており、可変遅延部55に対する負荷条件と同じ負荷条件を持たせるために、可変遅延部52にもバッファ54を接続している。
【0062】
このような構成のSADの基本的な動作は図2に示したものと同様であり、T=D+Δ=D1+d0+D2であるから、外部クロックRCLKから内部クロックintRC′までの経路ではD1+Δ+d0±d+D2=T±dとなって、外部クロックRCLKに対してdだけずれたタイミングを持つ内部クロックintRC′を発生することができる。なお、バッファ57から出力される内部クロックintRCは、遅延時間がd0のパスを経て出力されるので、外部クロックRCLKと位相が一致したものとなる。
【0063】
上記可変遅延部52、55は、外部からの制御によって遅延時間が可変できるものであるが、その具体的な回路構成を図7に示す。
【0064】
この回路は、単位遅延素子61をn段直列に接続し、これらの各直列接続点から信号を取り出すようにしている。信号の取り出しには複数のスイッチ回路62が用いられる。このスイッチ回路62には、固定された一定時間d0だけ遅延された先の第1の遅延出力を得るための1個のスイッチ回路62−1と、遅延時間がd0に対してdだけ増減される先の第2の遅延出力を得るための複数個のスイッチ回路62−2とからなる。これらのスイッチ回路62−1、62−2はそれぞれ、図8に示すように、電源電位と接地電位との間に直列に接続されたそれぞれ2個のPチャネルMOSトランジスタ63、64及びNチャネルMOSトランジスタ65、66とからなり、トランジスタ64と65のゲートに上記単位遅延素子61の対応する直列接続点の信号が供給され、トランジスタ63のゲートに制御信号/Tapi(i=0〜n)が供給され、トランジスタ66のゲートに制御信号Tapiが供給されるCMOS型のクロックドインバータ67と、PチャネルMOSトランジスタ68とNチャネルMOSトランジスタ69とからなり、上記クロックドインバータ67の出力を反転して出力するCMOS型のインバータ70とから構成されている。
【0065】
上記第1の遅延出力を得るためのスイッチ回路62−1は、全体の最大遅延量のほぼ中間の遅延量d0が得られる単位遅延素子61の直列接続点に接続されており、このスイッチ回路62−1には制御信号/Tapiに相当する信号として“L”が、制御信号Tapiに相当する信号として“H”が常時供給されている。従って、このスイッチ回路62−1は常時動作し、このスイッチ回路62−1が接続されている単位遅延素子61の信号が常時選択される。そして、n段直列接続された単位遅延素子61の一端側に入力される信号inからこのスイッチ回路62−1の出力ノード(fixed out )までの遅延時間が、図6中のd0に相当している。
【0066】
また、上記第2の遅延出力を得るための複数のスイッチ回路62−2のうちのただ一つに、制御信号/Tapiとして“L”が、制御信号Tapiとして“H”が供給され、この制御信号が供給されたスイッチ回路62−2が接続されている単位遅延素子61の直列接続点の信号が選択され、第2の遅延出力(out )として出力される。そして、入力inからこのただ一つのスイッチ回路62−2の出力ノードまでの遅延時間が、図6中のd0±dに相当している。
【0067】
上記のように複数のスイッチ回路62−2は、制御信号/Tapi、Tapiに基づいていずれか一つが動作し、単位遅延素子61で遅延された信号を選択する。
【0068】
図9は、上記複数個のスイッチ回路62−2の制御に使用される制御信号/Tapi、Tapiを発生する制御信号発生回路の構成を示している。
【0069】
図9に示される回路では、それぞれが2個のレジスタを含む回路ユニット71を複数個並べ、各回路ユニット71からそれぞれ連続する2つの制御信号Tapi(/Tapiについては図示を省略している)を出力させている。これら複数個の回路ユニット71に対し、2種類の同期信号Φ1、Φ2と右シフト信号Rsft及び左シフト信号Lsftが供給される。
【0070】
複数個の回路ユニット71の下部に記載した「“1”」や「“0”」は、各回路ユニット71に設けられているそれぞれ2個のレジスタの記憶状態を示しており、「“1”」と「“0”」の境目の位置に対応した制御信号Tapiのみが “H”にされる。例えば、図9では左から4番目の回路ユニット71内の2個のレジスタの記憶状態が「“1”」と「“0”」なので、その境目の位置に対応した制御信号Tap6が“H”にされている。
【0071】
また、初期状態では、図7中の「m」の位置のスイッチ回路62−2に供給される制御信号Tapが“H”となるように、各回路ユニット71内のそれぞれ2個のレジスタがセットされる。セット後は各レジスタの「“1”」、「“0”」の状態が、先の同期信号Φ1、Φ2と右シフト信号Rsftもしくは左シフト信号Lsftに基づいてレジスタ1個分ずつ左右に移動する。
【0072】
上記同期信号Φ1、Φ2は交互に立ち上がるパルスであり、右シフト信号Rsft及び左シフト信号Lsftはこれらの信号が“H”のときに同期信号Φ1またはΦ2に従ってレジスタの「“1”」または「“0”」の状態をそれぞれ右もしくは左方向に一つのレジスタ分移動させる信号である。
【0073】
図10は、図9における1個の回路ユニット71の詳細な回路構成を示している。図において、72、73はそれぞれ2個のインバータの入出力端間を逆並列接続して構成されたレジスタであり、一方のレジスタ72の出力を/i、i、他方のレジスタ73の出力を/i+1、i+1とすると、一方のレジスタ72の出力/iと接地電位との間には3個のNチャネルMOSトランジスタ74〜76が直列に接続され、一方のレジスタ72の出力iと接地電位との間には3個のNチャネルMOSトランジスタ77〜79が直列に接続され、他方のレジスタ73の出力/i+1と接地電位との間には3個のNチャネルMOSトランジスタ80〜82が直列に接続され、他方のレジスタ73の出力i+1と接地電位との間には3個のNチャネルMOSトランジスタ83〜85が直列に接続されている。
【0074】
上記トランジスタ74〜76のゲートには、隣接する前段の回路ユニット71内のレジスタ73の出力i−1、同期信号Φ1及び右シフト信号Rsftがそれぞれ供給される。上記トランジスタ77〜79のゲートには、同じ回路ユニット71内のレジスタ73の出力/i+1、同期信号Φ2及び左シフト信号Lsftがそれぞれ供給される。上記トランジスタ80〜82のゲートには、同じ回路ユニット71内のレジスタ72の出力i、同期信号Φ2及び右シフト信号Rsftがそれぞれ供給される。同様に、上記トランジスタ83〜85のゲートには、隣接する後段の回路ユニット71内のレジスタ72の出力/i+2、同期信号Φ1及び左シフト信号Lsftがそれぞれ供給される。
【0075】
そして、上記レジスタ72の出力iとレジスタ73の出力/i+1とがNANDゲート86に供給され、このNANDゲート86から先の制御信号/Tapiが出力される。さらにこの制御信号/Tapiがインバータ87に供給され、このインバータ87から先の制御信号Tapiが出力される。
【0076】
なお、この図10に示した回路ユニット71に隣接する前段の回路ユニット71では、レジスタ72の出力/iとその回路ユニット71内のレジスタ73の出力i−1とを用いて制御信号Tapi−1、/Tapi−1が生成され、この図10に示した回路ユニット71に隣接する後段の回路ユニット71では、レジスタ73の出力i+1とその回路ユニット71内のレジスタ72の出力/i+2とを用いて制御信号Tapi+1、/Tapi+1が生成される。
【0077】
次に図10に示す回路ユニット71の動作を説明する。いま、レジスタ出力iまでが“1”で、レジスタ出力i+1が“0”であると仮定する。このとき、NANDゲート86の入力は両方とも“1”なので、その出力である制御信号/Tapiは“0”、インバータ87の出力である制御信号Tapiは“1”となる。このとき、その他の制御信号Tapは“0”である。同期信号Φ1、Φ2は交互に立ち上り、いまiが「“1”」と「“0”」の境目なので、図10の回路において最後に立ち上がった同期信号はΦ1である。次にΦ2が立ち上がるときに右シフト信号Rsftを“H”にすると、トランジスタ81、82が共にオンする。そして、これらのトランジスタ81、82に対して直列接続されているトランジスタ80がレジスタ72の出力i(“1”)に応じてオン状態にされ、レジスタ73の出力/i+1がこれら3個のトランジスタ80〜82を介して接地電位により“0”に設定される。これにより、レジスタ73の出力i+1が“1”に反転し、「“1”」の状態が右方向にシフトされたことになる。
【0078】
上記とは逆に、Φ2が立ち上がるときに左シフト信号Lsftを“H”にすると、トランジスタ78、79が共にオンする。そして、これらのトランジスタ78、79に対して直列接続されているトランジスタ77がレジスタ73の出力/i+1(“1”)に応じてオン状態にされ、レジスタ72の出力iがこれら3個のトランジスタ77〜79を介して接地電位により“0”に設定される。これにより、レジスタ72の出力iが“0”に反転し、「“0”」の状態が左方向にシフトされたことになる。
【0079】
シフト後は同期信号Φ1、Φ2を止めるか、右シフト信号Rsftや左シフト信号Lsftを入力しなければ、各レジスタの記憶状態がそのまま保持されるので、設定された制御信号Tapiがそのまま維持される。これにより、先の図4の回路で設定された可変の遅延時間が固定され、そのまま保持される。
【0080】
図11は上記実施の形態に係るシステムで使用される1個のメモリモジュールの内部構成を示すブロック図である。なお、ここでは、メモリセルアレイなどのコア部やその周辺回路などは図示を省略した。
【0081】
SAD91は、クロックバス上を伝達される外部クロックTCLKを受けて内部クロックintTC′を出力する。同様に、SAD92は、クロックバス上を伝達される外部クロックRCLKを受けて内部クロックintRC′を出力する。コマンドデコーダ93は、外部クロックTCLK及びコマンドバスを伝達されるコマンドを受け、このコマンドをデコードして、上記両SAD91、92の動作を制御する制御回路94、95にそのデコード出力を供給する。
【0082】
上記両制御回路94、95は、上記各SAD91、92におけるタイミング調整動作を含む動作を制御するものであり、先の図9に示す制御信号発生回路などを含んでいる。
【0083】
データ入力制御回路96は、メモリコントローラから対応するメモリモジュールに対してデータの書き込みを行う際に、上記SAD91から出力される内部クロックintTC′に基づいてデータストローブ信号を作り、このデータストローブ信号に同期してデータバス上のデータを取り込み、図示しないメモリ回路に供給する。データ出力制御回路97は、対応するメモリモジュールからデータを読み出してメモリコントローラに転送する際に、上記SAD92から出力される内部クロックintRC′に同期して図示しないメモリ回路からのデータをデータバス上に出力する。
【0084】
このような構成のメモリモジュールによれば、SAD91、92それぞれで、外部クロックTCLK、RCLKから内部クロックintTC′、intRC′を発生する際に、個々のSADで内部クロックintTC′、intRC′のタイミング調整を図ることができるので、環境の差などによる転送データのタイミングのずれを、メモリコントローラ側で見えないようにすることができ、高速な同期型データ転送を実現することができる。
【0085】
次に、図7に示した可変遅延部において遅延量をどのようにして設定するかについて説明する。これは先の図38に示したシステムにおいて、通常の動作周波数よりも低い周波数のクロックCLK(TCLK及びRCLKに相当)に同期して所定のバーストデータを転送し、メモリモジュールなりコントローラなりに格納させることなどにより行われる。
【0086】
図12は、上記クロックCLKに同期して例えば「1001」という4ビットのバーストデータを転送し、これを格納する場合の動作を示すタイミングチャートである。
【0087】
クロックに同期してデータを出力するのがコントローラなら、データはメモリモジュールのデータバス上の位置には無関係にクロックCLKに同期して一定のタイミングで出力される。このとき、データを取り込むのはメモリモジュールであり、メモリモジュールはクロックCLKに同期したタイミングに基づいて作られる内部クロックからデータストローブ信号を作り、このデータストローブ信号に基づいてデータバス上のデータを取り込む。
【0088】
他方、クロックに同期してデータを出力するのがメモリモジュールなら、データを取り込む側はコントローラであり、コントローラはクロックCLKに同期した内部信号から作られるストローブ信号を用いて、メモリモジュールのデータバス上の位置に関係なく、データを一定のタイミングで取り込む。
【0089】
図12では、データストローブのタイミングが上向きの矢印の位置で示されている。クロックCLKとデータとの位相ずれがなければ、「1001」の波形で示したように正しくデータが取りまれる。
【0090】
クロックCLKに対してデータの位相が遅れると、取り込まれるデータは「X100」の波形のようになり、読み込まれたデータは「X100」となる。なお、「X」は不定を意味する。このとき、可変遅延量の設定は、データ読み込みに対しては、クロックCLKに同期した内部クロックからデータストローブのタイミングを遅らせるように、先の制御信号Tapiの設定をコントローラ側からコマンドで行い、正しく「1001」とデータが読み込めるようにする。
【0091】
制御信号Tapiの設定はコマンドによって、先の同期信号Φ1、Φ2及び右/左シフト信号Rsft/Lsftの出力動作を制御すればよい。
【0092】
データ出力に対しては、クロックCLKよりさらに位相を進めてデータを出力する必要があり、クロックCLKに同期した内部クロックからデータ出力のタイミングを早めるように制御信号Tapiの設定をコントローラからのコマンドで行い、メモリコントローラが正しく「1001」と読み込めるようにする。
【0093】
クロックCLKに対してデータの位相が進んでいると、取り込まれるデータは「001X」の波形のようになり、読み込まれたデータは「001X」となる。このとき、メモリモジュールにおける可変遅延量の設定は、データ読み込みに対しては、クロックCLKに同期した内部クロックからデータストローブのタイミングを進めるように、先の制御信号Tapiの設定をコントローラ側からコマンドで行い、正しく「1001」と読み込めるようにする。
【0094】
データ出力に対しては、クロックCLKよりさらに位相を遅らせてデータを出力する必要があり、クロックCLKに同期した内部クロックからデータ出力のタイミングを遅らせるように制御信号Tapiの設定をコントローラからのコマンドで行い、コントローラが正しく「1001」と読み込めるようにする。
【0095】
次に、コントローラと各メモリモジュールとの間での、システムとしての上記遅延量の設定の手順について説明する。
【0096】
コントローラからメモリモジュールが最初にアクセスされたときには可変遅延量は設定されていないので、データの転送タイミングは最適化されておらず、正しいデータの読み書きは保証されない。そこで、先の制御信号Tapiの設定の手順が重要になる。
【0097】
先の「1001」からなる4ビットのデータパターンを用いれば、制御信号Tapiをどのようにしてシフトするかの情報が得られることは先に説明した通りであるが、この手順をまとめると以下のようになる。
【0098】
(1)「1001」のようなデータパターンをメモリモジュールにデータとしてセットする。この場合、メモリモジュールに対し、通常の動作時に比べてゆっくりとしたタイミングでデータを与えて、1ビットずつデータを入力する。なお、予めメモリモジュール内に上記データパターンを固定データとして持たせるようにしてもよい。
【0099】
(2)メモリモジュールのデータ出力タイミングを調節する。メモリモジュールが、上記データパターンをコントローラからのコマンドで正規のクロックに基づいてバーストデータとして出力する。また、コントローラはバーストデータを読み込み、設定したデータパターンが得られる最適な位置に、コマンドによりメモリモジュールの制御信号Tapiをずらして設定する。
【0100】
以上のような手順を全てのメモリモジュールについて行う。これにより、メモリモジュールのデータバス上の位置毎のタイミングの調節が完了し、どのメモリモジュールからのデータもコントローラはクロックから一定のタイミングのストローブで正しく読み込めるようになる。
【0101】
(3)メモリモジュールにおけるデータ読み込みタイミングの調節は以下のように行われる。まず、コントローラはメモリモジュールが読み込むデータパターンをバーストデータとして正規のタイミング(通常動作時のタイミング)でメモリモジュールに出力する。次に、メモリモジュールはこれを読み込み、読み込んだデータをコントローラからのコマンドで出力する。コントローラはメモリモジュールから読み出されたデータを読み込み(既に手順2で、出力についてはタイミング調整が完了している)、出力したデータと比較する。コントローラは、コマンドにより、データパターンが一致する最適な位置にメモリモジュールのデータ取り込みタイミングの制御信号Tapiをずらして設定する。
【0102】
以上のような手順をデータバス上の全てのメモリモジュールに対して行い、この後、コントローラがクロックTCLKに同期してデータを出力すれば、どのメモリモジュールでも正しくデータを読み込むことができる。
【0103】
これにより、メモリモジュールにおける可変遅延の設定が終わり、コントローラはメモリモジュールのバス上の位置やバスシステムの環境による違いを気にすることなく、一定のタイミングでデータの転送を行うことができる。
【0104】
次にこの発明の第2の実施の形態について図13を参照して説明する。
【0105】
図13はこの発明の第2の実施の形態に係るメモリボードシステムの概略的なブロック構成を示す。コントローラMECがクロックCLK(TCLK、RCLK)を出力し、このクロックを複数のメモリモジュールMM(図では1個のみ示している)が受け取り、このクロックのタイミングでコマンドやデータをメモリモジュールMMが受け、ループバックして戻っていくクロックに同期してメモリモジュールMMがコントローラMECにデータを出力するシステムにおいて、コントローラMECはクロックCLKとして先のクロックTCLK、RCLKと共に、これらクロックTCLK、RCLKの2倍の周期を持つクロックTSIGN、RSIGNを同時に出力する。
【0106】
そして、メモリモジュールMMのデータバス上での位置に応じたデータ転送時間の差を、2倍周期のクロックTSIGN、RSIGNを使い、クロックTCLK、RCLKの偶数番目と奇数番目を識別することによって変えて、データバスを有効に利用するようにしている。なお、あるクロックとそのクロックに対して2倍の周期を持つクロックを用いることによって、データバスを有効に利用するようにしたシステムの基本については、本発明者による特願平10−8297号の出願で詳しく説明されている。
【0107】
上記クロックTCLK、RCLK及びクロックTSIGN、RSIGNの位相関係を図14のタイミングチャートに示す。図示のように、例えば上向きの矢印のサイクルがクロックの折り返し点前と後の対応するサイクルとなる。2倍周期のクロックを用いているので、メモリモジュールなりコントローラが受け取るクロックTCLK、RCLKを偶数クロックと奇数クロックに分けることが出来る。以後、偶数クロックに関係したものには「e」、奇数クロックに関係したものには「o」、またクロックTCLK、RCLKの立ち上がりに同期したものには「u」、立ち上がり周期に180度位相がずれたタイミングに同期したものには「d」という添え字を付けて表すことにする。
【0108】
このような構成のシステムにおいて、TCLKとRCLKの位相が360度*2までの任意の値ずれた場合に、その中間のタイミングMを設定することにより、どのように対応するTCLKとRCLKとを関連付けてデータバス上の位置の異なるメモリモジュールが、データバス上でデータの衝突を起こさずにかつデータ転送のギャップが無くデータの転送を行うことができるかを説明する。また、中間のタイミングMを作る具体的な方法については後に詳述する。
【0109】
図15にクロックバス上の異なる二つの場所でのTCLKとRCLKの位相関係を示す。TCLKのタイミングtAが折り返し点で戻り、RCLKのタイミングtBとなる。折り返し点に近い場所と遠い場所でそれぞれの場所のTCLKを基準にしてみれば、タイミングtAとtMとtBの関係は図12に示したようになる。
【0110】
コントローラMECからのクロックはTCLK、コントローラMECへのクロックはRCLKであるから、メモリモジュールMMはタイミングtAで受けたコマンドに対してタイミングtBを起点にしてデータをRCLKに同期してデータバスに乗せてやればデータのバス上での衝突は起きないし、コントローラMECが受け取るデータに空きサイクルが生じることもない。
【0111】
各メモリモジュールMMはタイミングtAでコマンドを受けてタイミングtBから一定のサイクルの後所謂レイテンシーの後にデータをデータバスに出力するが、一連のデータを出し終わり新たなデータ出力サイクルを始める際、そのレイテンシーのRCLKでの数え方の手順は以下の通りである。
【0112】
(1)TCLKに同期して取り込んだコマンドが新たなサイクル数カウントコマンドであれば、この直後のtMのタイミングでサイクル数カウントを可能状態とする。無論、TCLKに同期して取り込んだコマンドがコマンドが無い状態も含めて新たなサイクル数カウントコマンドでなければカウント可能状態とすることはない。
【0113】
(2)タイミングtMの直後のRCLKからRCLKに同期してサイクル数をカウントし必要なサイクル数継続する。
【0114】
上記の手順でRCLKのサイクルをTCLKに同期したコマンドを受けて数えれば、図15中でRCLKに付した丸数字のように、折り返し点の近くに配置されたメモリモジュールでもコントローラの近くに配置されたメモリモジュールの場合でも、タイミングtAのコマンドに対応するタイミングtBから同じレイテンシーでデータをRCLKに同期してデータバスに乗せることが出来る。
【0115】
これによってコントローラもTCLKのタイミングtAとRCLKのタイミングtBがコントローラでの中間タイミングtMを介して同様に対応づけられているので、コントローラにとってコマンドを出して対応するデータを受け取るという動作のメモリのデータバス上での位置の差は全くなくなる。
【0116】
なお、倍周期のクロックTSIGN、RSIGNによって、図15中の太線で示したサイクルと細線で示したサイクルが識別できるので、クロックTCLK、RCLKの位相が1サイクル以上2サイクル未満までずれても、中間タイミングtMを確定することができる。すなわち、クロックバスのループがクロック(TCLK、RCLK)の周期に比べて長く、TCLKがRCLKとして戻ってきたときに2サイクルまで転送時間がかかっても良いことになる。
【0117】
次にメモリモジュールMMやコントローラMECで上記中間タイミングtMを設定する具体的な方法について説明する。
【0118】
図16はTCLKまたはRCLKに同期して作られた偶数内部クロックTeuまたはReu、奇数内部クロックTouまたはRouの変化を示す。これらの内部クロックがメモリモジュールまたはコントローラ内で作られるならば、これらを用いて先のタイミングtMをメモリモジュールまたはコントローラで作ることができる。
【0119】
このタイミングtMは、TouまたはTCLKのいずれかのサイクル(これを例えばCLK1と称する)に対してδだけ遅れたRouまたはRCLKのいずれかのサイクル(これを例えばCLK2と称する)があるときに、CLK1からδ/2だけ遅れたタイミングに相当しており、以下のような方法で作られる。
【0120】
すなわち、CLK2のCLK1に対する遅れ(δ)をCLK1のCLK2に対する遅れ(2τ−δ)(ただしτはCLK1またはCLK2の周期)としてとらえ、この遅れの半分の遅れ(τ−δ/2)の遅れたタイミングをCLK1から作り、このタイミングからあるCLK1サイクルまでの遅れ(τ+δ/2)をとらえ、この遅れだけ上記のあるCLK1サイクルから遅れたタイミングを作り、このタイミングをCLK1に対してδ/2遅れたタイミングとする。
【0121】
次に、先のSADを用いて上記タイミングtMを作る具体的な方法を図17のタイミングチャートを用いて説明する。TCLKとRCLKは折り返し点で戻ってくることにより、TCLKとRCLKとの間にδなる位相差が生じたとする。この位相差δは0から(360*2)度である。クロックにeとoの区別を示しておいたが、図17では上向き矢印の付いたeクロックから対応するtMのタイミングtMeが作られる様子を示している。oクロックからの場合も同様に考えることが出来るのでこの場合は省略した。
【0122】
まずRouの「1」のタイミングから始まる。SADを用いてRouと直後のTouの遅延量をTouの「2」のタイミングで検出し、この遅延量の半分の遅延の後に内部クロックΦeを「3」のタイミングで発生する。クロックTCLK、RCLKの周期をτとすれば、RouとTouの間の遅延量は2τ−δであるから「2」と「3」の間すなわちTouとΦeの遅延量はτ−δ/2となる。さらにSADを用いてΦeのタイミングと直後のTouとの遅延量をTouの「4」のタイミングで検出し、この遅延量と同じ遅延の後にtMeを「5」のタイミングで発生する。
【0123】
「2」から「4」までの遅延はTouの周期に等しく2τであるから、「3」から「4」までの、すなわちΦeとTouの遅延量は「2」から「4」までの遅延量から、「2」から「3」までの遅延量を引いてτ+δ/2となり、「4」から「5」までの遅延量もこれに等しくτ+δ/2となる。従ってTouからτ+δ/2のtMeのタイミングはTeuからδ/2のタイミングであり、TeuとReuの求める中間のタイミングとなる。
【0124】
このようにクロックTCLK、RCLKの5サイクルで必要なタイミング信号が得られる。図17中及び上記説明での添え字eとoを交換すれば、Touからδ/2のタイミングであるMoが得られ、tMeとtMoを合わせれば図12におけるタイミングtMが得られる。
【0125】
次に上記図16、図17で説明した内部クロックTou、Rou、Teu、Reuを発生する内部クロック発生回路の具体的な構成及びその動作を、図18を参照して説明する。
【0126】
図18(a)はクロックTCLK、RCLKの偶数eと奇数oを分けるための信号T2またはR2を作る回路を示しており、TCLKもしくはRCLKが入力されるバッファ101と、TSIGNもしくはRSIGNが入力される奇数段(本例では3段)縦続接続されたバッファ102と、4個のNANDゲート103〜106とから構成されている。
【0127】
すなわち、バッファ101の出力は、NANDゲート103の一方入力端に反転して入力されると共にNANDゲート104の一方入力端に反転して入力される。3段縦続接続されたバッファ102の後段のバッファ102の出力は、NANDゲート103の他方入力端とNANDゲート104の他方の反転入力端にそれぞれ供給される。上記NANDゲート103の出力はNANDゲート105の一方入力端に供給される。上記NANDゲート104の出力はNANDゲート106の一方入力端に供給される。上記NANDゲート105、106の他方入力端は互いに異なるNANDゲートの出力端に接続されている。
【0128】
すなわち、図18(a)に示した回路は、2個のNANDゲート105、106よりなるフリップフロップによってクロックの偶数eと奇数oを分けるための信号T2またはR2を作っており、T2(R2)は取り込んだクロックTSIGN(RSIGN)が“H”のときのクロックTCLK(RCLK)の“L”への遷移で“H”となり、取り込んだクロックTSIGN(RSIGN)が“L”のときのクロックTCLK(RCLK)の“L”への遷移で“L”となる。なお、クロックTCLK(RCLK)、TSIGN(RSIGN)とT2(R2)の関係を図18(d)のタイミングチャートに示す。
【0129】
図18(b)はTouまたはRouを作る回路の構成を、同図(c)はTeuまたはReuを作る回路の構成をそれぞれ示している。各回路の基本的な構成は同じであリ、入力信号のみが異なるので図18(b)で代表して説明する。
【0130】
図18(b)に示した回路は以下のように構成されている。クロックTCLKもしくはRCLKはバッファ111を介してANDゲート112の一方入力端に供給される。このANDゲート112の他方入力端には図18(a)の回路で作られる信号T2またはR2が供給される。上記ANDゲート112の出力は、バッファ113を介してANDゲート114の一方入力端に供給される。このANDゲート114の他方入力端には“H”が常時供給されている。上記ANDゲート114の出力は、バッファ115を介してSAD116のFDに供給される。また、ANDゲート112の出力は制御クロックとして上記SAD116に供給される。上記SAD116には、上記FDの他にBDが設けられている。
【0131】
SAD116のFD内には複数の遅延ユニットが設けられており、入力された信号はこの複数の遅延ユニットを伝達することによって遅延される。そして、SAD116では、FDにバッファ115からの信号が供給され、次のサイクルのANDゲート112の出力が立ち上がる時点までの遅延時間Δが、FDへの入力信号が伝達した遅延ユニットの数に対応して検出される。さらに、この検出された信号の遅延時間Δに相当する遅延量が保持される。
【0132】
BDは、FDで保持された遅延時間Δに相当する遅延量だけ信号を遅延する。そして、BDの出力はバッファ117を介して前記TouまたはRouとして出力される。
【0133】
ここで、クロックTCLKもしくはRCLKに対する上記バッファ111及びANDゲート112からなる回路における遅延をD1、BDの出力に対する上記バッファ117おける遅延をD2とすると、ANDゲート112の出力に対する上記バッファ113、ANDゲート114及びバッファ115からなる遅延回路における遅延DはD1+D2となるように設定されている。
【0134】
このSADを用いた回路の基本的な動作は先に説明した通りであるが、これを簡単に説明すると、図示のようにD=D1+D2とすれば、TouまたはRouの立ち上がりはクロックTCLKまたはRCLKの奇数クロックの立ち上がりに一致する。これはD+Δの遅延量が丁度奇数のクロックTCLKまたはRCLKの周期2τに等しくなることから分かる。Δは周期τやD1、D2の遅延の時間の変化を検出して補償している。
【0135】
図18(c)の回路が同図(b)のものと異なる点は、ANDゲート114の他方入力端に“L”を常時供給することによって偶数のクロックTCLKまたはRCLKで動作するようにしただけである。
【0136】
図19(a)、(b)は、図17に示した内部タイミングクロックΦe(Φo)を発生する回路の具体的な構成を示しており、図19(a)はΦeの、図19(b)はΦoの発生回路である。両回路の基本的な構成は同じであるので図19(a)で代表して説明する。
【0137】
Rouは縦続接続された2段のバッファ121からなる遅延回路による遅延D(=2*D2)を経た後にSAD122のFDに供給される。このSAD122にはTouが供給されており、SAD122でTouまでの遅延量ΔがFDで検出される。HBD(Half BD)は、遅延量が常にFDの半分になるように遅延ユニットの数がFD(もしくはBD) の半分に間引かれており、TouのタイミングからΔ/2の遅延を経てSAD122を出た信号は、バッファ123による遅延D2を経た後にΦeとなる。
【0138】
すなわち、RouからTouの遅延量が2*D2+Δで、TouからΦeまでの遅延量がその半分のD2+Δ/2となる。
【0139】
図19(b)の回路でも、上記と同様にしてReuとTeuに対してΦoが得られる。
【0140】
図17に示したように、ΦeからTouまでの遅延量をTouから検出することによりタイミングtMeが得られる。またΦoからTeuまでの遅延量をTeuから検出することによりタイミングtMoが得られる。さらに、タイミングtMeとtMoを合わせてタイミングtMとなるが、これを発生する回路の構成を図20に示す。
【0141】
図20の回路の機能は図18(b)、(c)の回路と基本的に同じである。ここではそれぞれFD及びBDが設けられた二つのSAD124、125の出力のOR論理をORゲート126でとることによって、tM(tMeまたはtMo)を得るようにしている。このため、入出力段における遅延量を合わせるために、両SAD124、125の前段にもORゲート127、128が設けられている。上記一方のORゲート127にはΦeと“L”が供給され、他方のORゲート128にはΦoと“L”が供給されている。また、一方のSAD124にはTouが、他方のSAD125にはTeuがそれぞれ供給されている。
【0142】
データの入出力はクロックTCLKまたはRCLKの1周期に2つのデータを転送する所謂DDR(Double Data Rate)であるとする。また、基準タイミングはTCLKやRCLKの立上がりで規定されているとして、クロックのデューティ比に依存しないようにする。その理由は、クロックバスの位置に依らないで、クロックの精度良いデューティを保証するのが困難であると思われるからである。そこで、クロックの立上がりサイクルの丁度中間のタイミングを発生させて、データのDDR転送に対応する。
【0143】
また、図2 1のタイミングチャートに示すように、Reu(Teu)、Rou(Tou)、Red(Ted)、Rod(Tod)を発生させ、これらの信号に同期させてデータの転送を行う。
【0144】
クロックの立上がりに同期した内部クロックの発生方法については、図18で既に説明したので、これらと180度位相がずれたクロックの発生方法について図22(a)、(b)を参照して説明する。
【0145】
図22(a)、(b)に示した回路の構成は図19(a)、(b)のものと同様であり入出力信号が異なるだけなので、図19(a)、(b)と対応する箇所には同じ符号を付してその説明は省略する。
【0146】
図22(a)は偶数番目のクロックで180度位相がずれたクロックを作る回路であり、図22(b)は奇数番目のクロックで180度位相がずれたクロックを作る回路である。
【0147】
まず、図22(a)の回路におけるTodの発生方法について簡単に説明する。TeuとTouの位相差は、これはクロックTCLK(RCLK)そのものであるので360度であり、SAD122のFDではこの遅延量に相当するΔを検出する。HBDは遅延量Δ/2を作るものであり、TouからHBDを経て発生されたタイミングTodはTouから180度位相が遅れていることになる。データの入力はクロックTCLK(RCLK)の立上がりのタイミングと、さらにこれと180度位相がずれたタイミングに対して、あるデータウィンドウを持って転送されてくる。このため、図22の回路で発生された信号のタイミングでデータを取り込むことができる。
【0148】
RCLKでデータを出力する場合の内部タイミングの発生の方法が、先の図21のタイミングチャートに示されている。Reu、Rou、Red、Rodは既に発生されているものを使用する。Q(D)はデータ出力の状態を示しているが、データの切り替わりがこれらのタイミングにある場合を示している。
【0149】
ところで、上記した第2の実施の形態では、SADを用いて発生する内部クロックのタイミングを、実際のずれに合わせて調節する可変遅延機能については特に説明していないが、回路規模を大きくしないために、Teu、Tou、Reu、Rouの発生回路に先の可変遅延機能を持たせるようにする。
【0150】
図23は、Tou、Teu、Rou、Reuの発生回路に可変遅延機能を持たせるために、先の図18(b)、(c)の回路に変えて使用される回路の構成を示している。すなわち、図18(b)の回路の代わりに図23(a)の回路が使用され、図18(c)の回路の代わりに図23(b)の回路が使用される。
【0151】
この図23(a)、(b)に示した回路が図18(b)、(c)ものと異なるところは、内部クロックのタイミングを調節するために、図6に示した回路に設けられている可変遅延部52と55と同様の回路が追加されていることである。図中、Tou′、Teu′、Rou′、Reu′が遅延時間の調節を受けた信号であり、Tou、Teu、Rou、ReuはTCLK、RCLKと位相が一致した信号である。
【0152】
なお、この場合にも、可変遅延部52における負荷条件を可変遅延部55と一致させるために、先のバッファ54と同じバッファ54が設けられている。
【0153】
ところで、図2や図3などに示したSADに供給されるクロックには、本来の周期の周りに、ある分布で揺いだジッターが存在している。これはクロック発生器における信号の揺らぎが、一定周期であるべきクロックに与える影響であり、当然ながら平均的な周期は一定である。
【0154】
いま、外部クロックに対し、図24に示すように「0」から「5」の番号を付し、それぞれのサイクルが持つジッターに対してはδと共に外部クロックに付された番号と同じ番号を付す。ジッターの統計的な最大値はδとする。
【0155】
ジッターの定義は、一定の周期のクロックが本来あるべき時刻から実際のクロックがどれだけ遅れたかを表す量としている。従って、実際のクロックが早まれば、値としては負になることもある。
【0156】
図24において、クロック1から内部信号を発生する場合を考えると、SADではクロック2とクロック1の間の遅延を検出して、クロック1からの遅延とするために、クロック2でのジッターが+δでクロック1でのジッターが−δの場合と、クロック2でのジッターが−δでクロック1でのジッターが+δの場合が、クロック2とクロック1の間の遅延の両極端となるので、図示のようにクロック0に対する内部信号のジッターは絶対値で3δとなる。
【0157】
このようにSADを用いた方式では、外部クロックのジッターの状況によってはこのジッターが大きく増幅され、外部クロックと同期した内部信号のジッターとなってしまう。
【0158】
そこで、先の図2や図3などに示したSADにおいては、外部クロックのジッターによる影響をできるだけ小さくする必要があり、これを実現するこの発明の第3の実施の形態について以下に説明する。
【0159】
まず、SADを用いた回路での外部クロックのジッター増幅を抑制する原理についてまず説明を行い、次にこれを実現するための具体的な回路構成について説明を行う。
【0160】
図25に示すように、外部クロックに対し、図24と同様に「0」から「5」の番号を付し、それぞれのサイクルが持つジッターに対してはδと共に外部クロックに付された番号と同じ番号を付す。クロック1のタイミングから発生されるクロック0に対応する内部信号を発生する際に用いる遅延量を、図24の場合のようにクロック2とクロック1との間で検出しないで、クロック3とクロック1との間、クロック5とクロック1との間で検出して1サイクル分の平均値を遅延量として用いるようにする。クロック3とクロック1との間の遅延量を用いると、平均されたジッターは±δとなるので、これにクロック1でのジッターが付加されて、内部信号のジッターは±2δとなり、図24の場合よりは軽減される。
【0161】
さらに、クロック5とクロック1との間の遅延量を用いると、1/4に平均化されるので、平均されたジッターは±0.5δとなり、内部信号のジッターは±1.5δとなる。このようにSADで用いる遅延量を何サイクルかの間で平均すれば、ジッターは平均化されて小さくなる。
【0162】
次に、例えば先の図3に示したSADで、このような平均化をどのようにして行うかを考える。
【0163】
図26は、図3に示したSADを書き直したものである。なお、説明を簡略化にするために、内部クロックのタイミングを調節するための先の可変遅延部52、55等は図示を省略している。また、入力クロックはCKとした。このCKは先のTCLKやRCLKに相当するものである。
【0164】
このSADは、FD及びBDの他にSHを持つ。FD及びBDはそれぞれ複数の遅延ユニットによって構成されている。SHは、FDとBDの遅延ユニットにそれぞれ対応した複数の状態保持部で構成されている。FD内を前進パルスFCLiが伝達すると、伝達した遅延ユニットに対応した状態保持部がリセット状態からセット状態になり、セット状態になった状態保持部に対応するBD内の遅延ユニットが内部のクロックCLKを直接前段に伝達する。このようにして、前進パルスの伝達した遅延ユニット数に相当する遅延量Δを後進パルスが伝達する遅延ユニットの数として遅延量Δがセットできる。
【0165】
また、後進パルスは、伝達しながら伝達した遅延ユニットに対応するSHの状態保持部をリセット状態に戻す。このようにして、クロックの毎サイクルでSHはクロックの1サイクル分の遅延量Δを検出することができる。
【0166】
図3のSADでは、SHがクロックの1サイクル毎にセットされていたが、これを複数サイクルにわたって部分的に行えば、毎サイクルの遅延量Δをこれら複数のサイクルで平均化することができる。
【0167】
2サイクルで平均化する場合の、SADの構成例を図27に示す。この例ではSHを二つの部分に分け、これらをクロックの交互のサイクルでセット/リセット動作を行わせるものである。
【0168】
例えば、図25中のクロック3とクロック2の間はΔ1として、クロック2とクロック1の間はΔ2として測定される。SHを構成する複数の状態保持部は二つに区分されており、各々のサイクルでΔ1とΔ2の半分に相当する状態保持部がセットされ、クロック1で内部信号を作る時点ではセットされた状態保持部の数はΔ1とΔ2の平均値に対応していることになる。さらに、SH内の複数の状態保持部を4つに区分して、4クロックサイクルで順番にセットするようにすれば、図25の4サイクル平均の場合が得られる。
【0169】
次に、このセットされた状態保持部をBDのパルス遅延に変換する方式について説明する。図26で説明したように、SHの状態保持部のセット部とリセット部の境目からCLKがBDに入り、これがBDを伝達していく。従って、図27に示すように、Δ1とΔ2が共に二つに区分されたSHを構成する小ブロックの途中までの状態保持部がセットされていると、図27の「1」と「2」に見られるような二か所から同時にCLKがBDに進入する。従って、「1」から進入した部分のセットされたユニットのいくつかは、BDでの遅延に寄与しない。この無視されるユニットの数をできるだけ少なくする方法を図28に示す。
【0170】
図28(a)、(b)は、図27のSADのBDのみを模式的に示している。図において、二つに区分されたSHの対応する遅延ユニットのブロックを符号130で示している。各遅延ユニットのブロック130のそれぞれには「e」と「o」を付して、クロックの交互のサイクルで各々のブロックが遅延線としてセットされることを示している。
【0171】
また、各遅延ユニットのブロック130において、斜線を施した部分は、セットされた遅延ユニットに相当している。BDの小ブロックの伝達した後進パルスは、直接次の小ブロックに伝達されるのではなく、ANDゲート131により、一つ前のブロック130の出力とのAND論理をとった後に伝達される。このようにすることで、例えば図28(a)に示すように、途中までセットされた小ブロック130が隣接している場合は、セットされている領域が多い方が遅延として働き、少ない方は無視される。すなわち、図28(a)中、太枠で囲んだ小ブロック130による遅延は無視されて誤差となる。また。図28(b)に示すように、クロックの揺らぎが大きく、「e」の小ブロック130と「o」の小ブロック130の間で1小ブロック以上の差ができた場合は、部分的にセットされた小ブロックのうち、よりパルスの進行の方向の先にある、図中、太枠で囲んだ小ブロック130による遅延が無視される。
【0172】
もし、ANDゲート131によって論理をとらないと、部分的にセットされた小ブロック130に挟まれた全ての小ブロック130の遅延が無視されてしまう。以上により、小ブロックのセット状態がどのようになろうとも、小ブロックの一つが無視されるのみとなる。
【0173】
図29(a)、(b)は、SHを4つの部分に区分して、4サイクルの平均値をとる場合の例を示している。この場合、小ブロック130の種類は4種となり、これらに「a」、「b」、「c」、「d」を付して区別している。また、各小ブロック130は連続した4つの小ブロックの出力のAND論理をとるANDゲート131の出力を入力としている。図29(a)では、隣接する小ブロックが部分的にセットされた状態を示しており、このときはセット部分が最大の小ブロックを除いて他の部分的にセットされた小ブロックの遅延は無視される。図では太枠が囲んだ小ブロックの遅延が無視される。
【0174】
図29(b)では、部分的にセットされた状態の小ブロックが隣接しない場合であり、このときフルにセットされた小ブロックよりもパルス進行方向の先にある部分セット状態の小ブロックが無視され、フルにセットされた小ブロックよりパルス進行手前にある部分セット状態の小ブロックのうち最もセット部分が多い部分セットの小ブロックとフルセット小ブロック以外も無視される。
【0175】
すなわち、図中、太枠で囲まれた小ブロックが無視されて遅延に寄与しない。ANDゲート131が設けられていないと、部分セットの小ブロックに囲まれたフルセットの小ブロックも無視されることになる。以上により、無視される小ブロックの数は3つを越えることはない。
【0176】
このような小ブロックに分けた構成でのジッターの影響を理論的に扱って、小ブロックの規模などを以下に考察する。
【0177】
外部クロックの周期をτとし、図25に示すようにサイクル1を起点に考える。各サイクルでのジッターを考慮すると、各サイクルでの周期は下記の表1に示すような関係となる。
【0178】
【表1】
【0179】
SHを複数の状態保持部で構成し、これらの状態保持部をα個ずつの小ブロックに分けて、図29の「a」、「b」、「c」、「d」…のようにn種に分け、各サイクルでの周期を用いてセットを行うと、各サイクル毎にセットされている状態保持部の数は各々の種別毎に1/nの個数しかないので、上記各サイクルでの周期が1/nされたものとなる。小ブロックはαユニットからなるので、各種別毎に部分的にセットされた小ブロックは一つあり、その小ブロックでのセットされたユニットの数はiサイクル前の種で、
【数1】
【0180】
となる。Δiはαを法としているから、0≦Δi<αを満たす。
【0181】
これらの未充足小ブロックの一つを例えばjを除いて無視されるのが図28や図29の方式であるから、サイクル1で発生されてサイクル0に一致すべき内部信号のタイミングは、
【数2】
よって、内部信号のジッターJは、
【数3】
【0182】
と表される。なお、−δ≦δi≦δ、0≦Δi<αである。
【0183】
よって、
【数4】
【0184】
となる。
【0185】
図3の従来のSADは、n=1の場合で±3δがジッターの最大となる。小ブロックをどの位の大きさにするかを考えると、α=1とすれば、Δi=0となるので、
【数5】
【0186】
となり、ジッターを最も小さくできることがわかる。
【0187】
すなわち、図28や図29に示す小ブロックは、一つずつの遅延ユニットから構成するようにするのが良い。この構成の具体的な方法については後に説明するが、まず、このようにした場合の効果を理論的に見積もっておく。
【0188】
さて、各サイクルのジッターは完全にランダムであるわけはなく相関を持っている。次にこの点について考慮する。すなわち、
【数6】
【0189】
として、相関の強さβを導入する。0≦β≦1であり、rはランダムな変数で−δ≦r≦δである。cは他のサイクルと相関した変数でやはり−δ≦c≦δであり、サイクル間の相関係数を用いて次のように表される。
【0190】
【数7】
【0191】
上記(7)式において、ζは相関距離に相当するサイクル数で、c(1,i)はサイクル1とiとの相関係数で、c(1,i)>0なる条件を満たす。
【0192】
また、δi=δのとき、cが最大になるので、
【数8】
【0193】
となる。
【0194】
以上を考慮すると、内部信号のジッターJは、
ζ
Σ をΣと略記して、以下の式で表される。
【0195】
i=2
【数9】
【0196】
次にこのJの範囲を評価する。
【0197】
ζ<n+1のとき、すなわち相関の距離を越えたサイクルでの平均をとると、最大はr=δ、δi=δ、δn+1 =−δのときであり、最小はr=−δ、δi=−δ、δn+1 =−δのときであるから、これらを代入して計算すると次式が得られる。
【0198】
【数10】
【0199】
上記(10)式で示されるように、図25に示した場合と同じになり、平均をとるサイクル数を多くすると、ジッター増幅の効果はそれだけ小さくなる。なお、図25は相関距離が極端に短い場合または相関がない場合に相当している。
【0200】
ζ≧n+1のとき、すなわち相関の距離内での平均をとる場合はδn+1 の係数の正負によってJの最大最小の条件が異なってくる。
【0201】
【数11】
【0202】
であるから(11)式の右辺第2項の鉤括弧内の値が正のとき、すなわちβc {1,n+1}をAnと表して、
【数12】
【0203】
のとき、最大はr=δ、δi=δ、δn+1 =δのときであり、最小はr=−δ、δi=−δ、δn+1 =−δで、(8)式から、
【数13】
【0204】
てあることを使うと、−δ≦J≦δとなり、ジッターは増幅されない。
【0205】
【数14】
【0206】
のときは(11)式の右辺第2項の鉤括弧内の値は負となり、最大はr=δ、δi=δ、δn+1 =−δのときであり、最小はr=−δ、δi=−δ、δn+1 =δとなり、
【数15】
【0207】
となる。
【0208】
以上から、相関距離内で平均をとるとさらにジッターの増幅は小さくなり、相関の量Anによっては全くジッターの増幅がなくなる。例えば2サイクルの平均をとる場合は、An=1/3が条件の分かれ目だから2サイクル前と約33%以上相関があれば、ジッターは外部クロックのままで変化なく、33%以下でも (15)式でn=2として分かるように、最大δ(1−3An)のジッターの増加があるのみである。
【0209】
また、4サイクルの平均をとる場合はAn=1/5が条件の分かれ目だから4サイクル前と20%以上の相関があれば、ジッターは外部クロックのままで変化なく、20%以下でも(15)式でn=4として分かるように、最大δ(1−5An)/2のジッターの増加があるのみである。
【0210】
何サイクルの平均をとったら最適かは、相関係数のサイクル依存性によるが、2サイクル以上の平均化を行うことによって、ジッターの増加が大幅に押さえられることに変わりはない。無相関の場合のAn=0とすれば、図25の場合と同様の効果が得られることはいうまでもない。
【0211】
次に上記したような小ブロックが1遅延ユニットからなる場合のSADの具体的な回路構成を図30に示す。
【0212】
図30は、先の図28に示したBDを具体的に示したものである。ここで、各遅延ユニットは2個のクロックドインバータ141、142と1個のNORゲート143とから構成されている。上記2個のクロックドインバータ141、142は、先の図4に示した2個のクロックドインバータ44、45に対応するものであり、それぞれの動作は対応する遅延ユニット内の状態保持部で発生される制御パルスQ、/Qで制御される。上記NORゲート143は、先の図4に示したインバータ46と、図28中のANDゲート131との機能を兼ね備えたものであり、このNORゲート143には上記2個のクロックドインバータ141、142の出力が供給される。
【0213】
このような構成のBDにおいて、各遅延ユニット内の2個のクロックドインバータ141、142は、対応する遅延ユニット内の状態保持部で発生される制御パルスQ、/Qに基づき、後段からのパルスRCLを受けて前段に伝える遅延素子として働くか、クロックCLKを後進パルスの遅延経路に導入する入り口として働く。また、各遅延ユニットは、自分自身の状態と後段からの状態とを受けて、出力RCLioまたはRCLieを対応する状態保持部に送る。
【0214】
この場合のFDの基本的な構成は、図31に示すようにBDと同じであり、2個のクロックドインバータ151、152は、先の図4に示した2個のクロックドインバータ41、42に対応している。また、NORゲート153は、先の図4に示したインバータ43とANDゲート131との機能を兼ね備えたものであり、このNORゲート153には上記2個のクロックドインバータ151、152の出力が供給される。
【0215】
図32は、上記各遅延ユニット内に設けられる状態保持部を、そのクロックサイクル毎にセット/リセットのグループ選択を行うための制御部と共に示したものである。図中、破線で囲んだ部分が状態保持部であり、この状態保持部は前進パルスを伝達するFDの各遅延ユニット毎に設けられている。
【0216】
この状態保持部において、電源電位のノードと接地電位のノードとの間にはそれぞれ2個のPチャネル及びNチャネルMOSトランジスタ161〜164が直列に挿入されている。
【0217】
PチャネルMOSトランジスタ161のゲートには、パルスRCLioもしくはRCLieがインバータ165を介して供給される。PチャネルMOSトランジスタ162のゲートには、後述する制御部から出力される信号/Roもしくは/Reが供給される。NチャネルMOSトランジスタ163のゲートには、後述する制御部から出力される信号SoもしくはSeが供給される。NチャネルMOSトランジスタ164のゲートには、パルスFCLioもしくはFCLieが供給される。
【0218】
そして、PチャネルMOSトランジスタ162とNチャネルMOSトランジスタ163の直列接続ノードから制御パルス/Qkもしくは/Qk+1 が出力され、さらにこの制御パルス/Qkもしくは/Qk+1 をインバータ166で反転することにより、制御パルスQkもしくはQk+1 が出力される。
【0219】
状態保持部の制御部は、それぞれ1個のNORゲート167、NANDゲート168と、2個のインバータ169、170とから構成されている。NORゲート167には、制御信号/Foもしくは/Feと制御信号BPMが供給される。NANDゲート168には、制御信号FoもしくはFeと制御信号BPMが供給される。そして、NORゲート167の出力がインバータ169で反転されることによって先の信号/Roもしくは/Reが発生され、NANDゲート168の出力がインバータ170で反転されることによって先の信号SoもしくはSeが発生される。
【0220】
図32に示した状態保持部は、トランジスタ162と163の直列接続ノードがセット/リセット状態に応じた信号を出力する信号ノードとなり、トランジスタ161と162はこの信号ノードに電荷を供給するためのものであり、トランジスタ163と164はこの信号ノードから電荷を引き抜くものである。そして、トランジスタ163と164が共に導通状態にされたときに上記信号ノードにセット出力(/Q=“L”、Q=“H”)が得られ、トランジスタ161と162が共に導通状態にされたときに上記信号ノードにリセット出力(/Q=“H”、Q=“L”)が得られる。
【0221】
すなわち、前進パルスFCLioもしくはFCLieによって制御パルスQkもしくはQk+1 が立ち上がることにより、セット状態にされる。しかし、このセット動作を行うのは、FCLioならばSo、FCLieならばSeがそれぞれ“H”のときである。
【0222】
また、状態保持部は、FDを構成する遅延ユニットからのパルスRCLioもしくはRCLieを受けてリセット状態にされ、制御パルスQkもしくはQk+1 が立ち下がる。しかし、このリセット動作を行うのは、RCLioならば/Ro、RCLieならば/Reがそれぞれ“L”のときである。
【0223】
信号/Ro、Soのレベルは/Fo、Foによって制御され、Foが“L”のときにはそれぞれ“H”、“L”となり、このときは状態保持部のセット/リセットが行われず、以前のQkの状態がダイナミック的に維持される。信号/Re、Seと/Fe、Feについても同様である。なお、制御信号BPMは、状態保持部がセット/リセットの受け入れ可能サイクルであれば、そのレベルが“L”となるタイミングで状態保持部をリセットするための信号である。
【0224】
このように、制御信号FoやFeを制御することで状態保持部の有効なサイクルを決定することができる。次にこの制御信号Fo、Feを発生する制御信号発生回路について図33を参照して説明する。
【0225】
上記のように2サイクルで平均をとる場合は、外部クロックの1サイクル毎にFoとFeを交互に立てるようにして、遅延ユニットの一つおきに交互に状態保持部のセット/リセット動作を行うようにすれば良い。
【0226】
図33(a)に示す回路は、クロックCLKと前進パルスFCL0の反転信号とが供給されるANDゲート171と、制御信号Feを所定時間遅延する遅延回路172と、制御信号Foを所定時間遅延する遅延回路173と、上記ANDゲート171の出力aと上記遅延回路172の遅延出力とが供給されるNANDゲート174と、上記ANDゲート171の出力aと上記遅延回路173の遅延出力とが供給されるNANDゲート175と、それぞれ一方の出力信号が他方の一つ目の入力信号として供給される如くいわゆるたすき掛け接続されてフリップフロップ回路を構成する2個のNANDゲート176、177とを有している。
【0227】
NANDゲート176、177それぞれの二つ目の入力信号として、NANDゲート174、175の出力信号が供給される。そして、制御信号Fo、Feは上記NANDゲート176、177の出力信号として得られる。ここで得られた制御信号Fo、Feは遅延回路172、173にフィードバックされる。
【0228】
図33(b)は、同図(a)中の遅延回路172、173それぞれの具体的回路構成を示している。両遅延回路は同様に構成されており、上記ANDゲート171の出力信号aの反転信号/aが“H”のときに動作して信号FeもしくはFoを反転するクロックドインバータ181と、上記信号aが“H”のときに動作して上記クロックドインバータ181の出力ノードの信号を反転するクロックドインバータ182と、直列接続された2個のインバータからなり上記クロックドインバータ181の出力ノードの信号を同じノードに正帰還する正帰還回路183とから構成されている。
【0229】
図33(a)に示された制御信号発生回路は、2個のNANDゲート176、177からなるフリップフロップ回路において、信号Fo、Feの両方が同時に同じ状態にならないことを利用している。そして、信号Fo、Feの状態は、クロックCLKが立ち上がり、前進パルスがFDに入力される前で後進パルスがBD中を伝達されている最中に、毎サイクル交互に切り替わるようになっている。これにより、状態保持部のセットされた総数は毎サイクルで2サイクル分の平均となり、図30に示すBDによって、この総数分のBDの遅延ユニットを後進パルスが伝達することになる。
【0230】
次に、図29に対応した4サイクルで平均する場合で、小ブロックが1遅延ユニットからなる場合の具体的な回路構成について説明する。
【0231】
図34は、図29の場合のBDを具体的に示している。この場合、各遅延ユニットは2個のクロックドインバータ141、142と1個のNORゲート144とから構成されている。このNORゲート144は、先の図30中のNORゲート143とは異なり、4個の遅延ユニットからの出力信号が供給されるように4入力となっている。その他の構成及び基本的な動作は図30のものと同様なので、これらの説明は省略する。
【0232】
図35は、図29の場合のFDを具体的に示している。この場合、各遅延ユニットは2個のクロックドインバータ151、152と1個のNORゲート154とから構成されている。このNORゲート154は、先の図31中のNORゲート153とは異なり、4個の遅延ユニットからの出力信号が供給されるように4入力となっている。その他の構成及び基本的な動作は図31のものと同様なので、これらの説明は省略する。
【0233】
図36は、上記のように4サイクルで平均する場合の、上記各遅延ユニット内に設けられる状態保持部を、そのクロックサイクル毎にセット/リセットのグループ選択を行うための制御部と共に示したものである。図中、破線で囲んだ部分が状態保持部である。この状態保持部は、それぞれ2個のPチャネル、NチャネルMOSトランジスタ191〜194と、2個のインバータ195、196とで構成されている。PチャネルMOSトランジスタ191のゲートには、パルスRCLia、RCLib、RCLic、RCLidのうちのいずれか一つの信号がインバータ195を介して供給される。
【0234】
PチャネルMOSトランジスタ192のゲートには、後述する制御部から出力される信号/Ra、/Rb、/Rc、/Rdのうちいずれか一つの信号が供給される。NチャネルMOSトランジスタ193のゲートには、後述する制御部から出力される信号Sa、Sb、Sc、Sdのうちいずれか一つの信号が供給される。NチャネルMOSトランジスタ194のゲートには、パルスFCLia、FCLib、FCLic、FCLidのうちいずれか一つのパルスが供給される。
【0235】
そして、PチャネルMOSトランジスタ192とNチャネルMOSトランジスタ193の直列接続ノードから制御パルス/Qk、/Qk+1 、/Qk+2 、/Qk+3 のうちいずれか一つが出力され、さらにこの制御パルス/Qk、/Qk+1 、/Qk+2 、/Qk+3 をインバータ196で反転することにより、制御パルスQk、Qk+1 、Qk+2 、Qk+3 のうちいずれか一つが出力される。
【0236】
状態保持部の制御部は、それぞれ1個のNORゲート197、NANDゲート198と、2個のインバータ199、200とから構成されている。NORゲート197には、制御信号/Fa、/Fb、/Fc、/Fdのうちいずれか一つと先の制御信号BPMとが供給される。NANDゲート198には、制御信号Fa、Fb、Fc、Fdのうちいずれか一つと先の制御信号BPMが供給される。そして、NORゲート197の出力がインバータ199で反転されることによって先の信号/Ra、/Rb、/Rc、/Rdのうちいずれか一つが発生され、NANDゲート198の出力がインバータ200で反転されることによって先の信号Sa、Sb、Sc、Sdのうちいずれか一つが発生される。
【0237】
図36に示した状態保持部は、前進パルスFCLia、FCLib、FCLic、FCLidのいずれかによって制御パルスQk、Qk+1 、Qk+2 、Qk+3 のいずれかが立ち上がることにより、セット状態にされる。しかし、このセット動作を行うのは、FCLiaならばSa、FCLibならばSb、FCLicならばSc、FCLidならばSdがそれぞれ“H”のときである。
【0238】
また、状態保持部は、FDを構成する遅延ユニットからのパルスRCLia、RCLib、RCLic、RCLidのいずれかを受けてリセット状態にされ、制御パルスQk、Qk+1 、Qk+2 、Qk+3 のいずれかが立ち下がる。しかし、このリセット動作を行うのは、RCLiaならば/Ra、RCLibならば/Rb、RCLicならば/Rc、RCLidならば/Rdがそれぞれ“L”のときである。
【0239】
例えば、信号/Ra、Saのレベルは/Fa、Faによって制御され、Faが“L”のときにはそれぞれ“H”、“L”となり、このときは状態保持部のセット/リセットが行われず、以前のQkの状態がダイナミック的に維持される。信号/Rb、Sbと/Fb、Fb、信号/Rc、Scと/Fc、Fc、信号/Rd、Sdと/Fd、Fdについても同様である。
【0240】
このように、制御信号Fa、Fb、Fc、Fdを制御することで状態保持部の有効なサイクルを決定することができる。
【0241】
次に、これらの制御信号Fa、Fb、Fc、Fdを発生する制御信号発生回路について図37を参照して説明する。
【0242】
上記のように4サイクルで平均をとる場合は、外部クロックの4サイクルでFa、Fb、Fc、Fdを順次立てるようにする。
【0243】
図37(a)に示す回路は図33(a)の回路で得られる信号Foを入力としている。すなわち、この回路は、インバータ201、このインバータ201の出力を所定時間遅延する遅延回路202、この遅延回路202の出力と上記信号Foとが供給されるNANDゲート203、このNANDゲート203の出力を反転するインバータ204からなり、信号Foの立ち上がりエッジに同期したパルスを発生するエッジパルス発生回路205と、制御信号Feeを所定時間遅延する遅延回路206と、制御信号Fooを所定時間遅延する遅延回路207と、上記エッジパルス発生回路205の出力信号bと上記遅延回路206の遅延出力とが供給されるNANDゲート208と、上記エッジパルス発生回路205の出力信号bと上記遅延回路207の遅延出力とが供給されるNANDゲート209と、それぞれ一方の出力信号が他方の一つ目の入力信号として供給される如くいわゆるたすき掛け接続されてフリップフロップ回路を構成する2個のNANDゲート210、211とを有している。
【0244】
上記NANDゲート210、211それぞれの二つ目の入力信号として、上記NANDゲート208、209の出力信号が供給される。そして、制御信号Foo、Feeは、上記NANDゲート210、211の出力信号として得られる。ここで得られた制御信号Foo、Feeは、遅延回路206、207にフィードバックされる。
【0245】
図37(b)は、同図(a)中の遅延回路206、207それぞれの具体的回路構成を示している。両遅延回路は同様に構成されており、上記エッジパルス発生回路205の出力信号bの反転信号/bが“H”のときに動作して信号FeeもしくはFooを反転するクロックドインバータ221と、上記信号bが“H”のときに動作して上記クロックドインバータ221の出力ノードの信号を反転するクロックドインバータ222と、直列接続された2個のインバータからなり上記クロックドインバータ221の出力ノードの信号を同じノードに正帰還する正帰還回路223とから構成されている。
【0246】
図37(c)は、先の制御信号Fo及びFeと、同図(a)の回路によって得られる制御信号Foo、Feeとから、制御信号Fa、Fb、Fc、Fd及びこれらの反転信号/Fa、/Fb、/Fc、/Fdを発生する回路の構成を示している。この図37(c)に示した回路は、Faと/Fa、Fbと/Fb、Fcと/Fc、Fdと/Fdの4種の信号を発生するために4個設けられている。
【0247】
この回路はANDゲート224とインバータ225とから構成されている。ANDゲート224には制御信号FoとFoo、FeとFoo、FoとFee、FeとFeeが供給され、このANDゲート224からは制御信号Fa、Fb、Fc、Fdが出力される。そして、この制御信号Fa、Fb、Fc、Fdがインバータ225によって反転されることにより制御信号/Fa、/Fb、/Fc、/Fdが出力される。
【0248】
図36(a)に示された制御信号発生回路においても、2個のNANDゲート210、211からなるフリップフロップ回路で信号Foo、Feeの両方が同時に同じ状態にならないことを利用している。そして、信号Foo、Feeの状態を変えるために信号Foの立ち上がりを利用している点が図33(a)のものとは異なっている。すなわち、1サイクルおきに信号Foが立ち上がるから、信号FooとFeeは2サイクル続けて同じ状態を維持し、2サイクルおきに状態が変化する。これらの信号Foo、Feeを用いて、1サイクル毎に状態を変化させて、4サイクルで一巡する制御信号Fa、Fb、Fc、Fdとその反転信号を発生することができる。
【0249】
このように、第3の実施の形態によれば、外部クロックのジッターによる影響を外部クロック複数サイクルで平均するようにしたので、内部クロックのタイミング調節により、データ転送を確実に行えるという効果に加えて、外部クロックのジッターによる悪影響を削減することができて、より確実なデータ転送を行うことができるという効果が得られる。
【0250】
【発明の効果】
以上説明したようにこの発明によれば、メモリモジュールとメモリコントローラとの間のバスの物理条件をそれ程厳しく制限しなくても、高速な同期型データ転送が実現できるデータ高速転送同期システム及びデータ高速転送同期方法を提供することができる。
【図面の簡単な説明】
【図1】この発明の原理を説明するために使用される一般的なメモリボードシステムの概略的な構成を示すブロック図及びそのタイミングチャート。
【図2】先願に記載されたSAD(Synchronous Adjustable Delay)を論理ゲートレベル及びシンボルで表現した回路図。
【図3】図2とは異なる従来のSADの構成を示すブロック図。
【図4】図3に示したSADの遅延回路の詳細な構成を示す回路図。
【図5】図3に示したSADの動作の一例を示すタイミングチャート。
【図6】この発明の第1の実施の形態で使用されるSADの構成を示す回路図。
【図7】図6のSAD中の可変遅延部の具体的な回路構成図。
【図8】図7の可変遅延部に設けられるスイッチ回路の具体的な構成を示す回路図。
【図9】図8に示すスイッチ回路の制御に使用される制御信号を発生する制御信号発生回路の構成を示すブロック図。
【図10】図9における1個の回路ユニットの詳細な回路構成を示す図。
【図11】この発明の第1の実施の形態に係るシステムで使用されるメモリモジュールの内部構成を示すブロック図。
【図12】この発明の第1の実施の形態において、4ビットのバーストデータを転送して格納する場合の動作を示すタイミングチャート。
【図13】この発明の第2の実施の形態に係るメモリボードシステムの概略的なブロック構成を示す図。
【図14】第2の実施の形態における複数のクロック間の位相関係を示すタイミングチャート。
【図15】第2の実施の形態において、メモリモジュールがデータバス上でデータの衝突を起こさずにかつデータ転送のギャップが無くデータの転送を行うためのタイミングtMを作る方法を説明するためのタイミングチャート。
【図16】第2の実施の形態における複数の内部クロックの関係を示すタイミングチャート。
【図17】第2の実施の形態において、SADを用いてタイミングtMを作る具体的な方法を説明するためのタイミングチャート。
【図18】図16、図17中の各種内部クロックを発生する内部クロック発生回路の具体的な構成を示す回路図及びその動作を説明するためのタイミングチャート。
【図19】図17に示した内部タイミングクロックを発生する回路の具体的な構成を示す図。
【図20】第2の実施の形態において、タイミングtMを発生する回路の回路図。
【図21】第2の実施の形態において、クロックTCLKでデータを出力する場合の内部タイミングの発生の方法を説明するためのタイミングチャート。
【図22】第2の実施の形態において、クロックの立上がりに同期した内部クロックと180度位相がずれたクロックを発生する回路の構成を示す図。
【図23】第2の実施の形態において、内部クロックTou、Teu、Rou、Reuに可変遅延機能を持たせるようにした内部クロック発生回路の回路図。
【図24】外部クロックとこの外部クロックが持つジッターとの関係を示すタイミングチャート。
【図25】この発明の第3の実施の形態の原理を説明するためのタイミングチャート。
【図26】図3に示したSADを書き直して示すブロック図。
【図27】第3の実施の形態において、外部クロックに含まれるジッターを2サイクルで平均化する場合のSADの構成を示すブロック図。
【図28】第3の実施の形態において、外部クロックに含まれるジッターを2サイクルで平均化する場合のBDの構成を示すブロック図。
【図29】第3の実施の形態において、外部クロックに含まれるジッターを4サイクルで平均化する場合のBDの構成を示すブロック図。
【図30】第3の実施の形態において、外部クロックに含まれるジッターを2サイクルで平均化する際にBDの小ブロックを1遅延ユニットとした場合のBDの具体的な回路構成を示す図。
【図31】第3の実施の形態において、外部クロックに含まれるジッターを2サイクルで平均化する際にFDの小ブロックを1遅延ユニットとした場合のFDの具体的な回路構成を示す図。
【図32】第3の実施の形態において、外部クロックに含まれるジッターを2サイクルで平均化する際の状態保持部をそのクロックサイクル毎にセット/リセットのグループ選択を行うための制御部と共に示す回路図。
【図33】図32の回路で使用される制御信号Fo、Feを発生する制御信号発生回路の回路図。
【図34】第3の実施の形態において、外部クロックに含まれるジッターを4サイクルで平均化する際にFDの小ブロックを1遅延ユニットとした場合のFDの具体的な回路構成を示す図。
【図35】第3の実施の形態において、外部クロックに含まれるジッターを4サイクルで平均化する際にFDの小ブロックを1遅延ユニットとした場合のFDの具体的な回路構成を示す図。
【図36】第3の実施の形態において、外部クロックに含まれるジッターを4サイクルで平均化する際の状態保持部をそのクロックサイクル毎にセット/リセットのグループ選択を行うための制御部と共に示す回路図。
【図37】図36の回路で使用される制御信号Fa、Fb、Fc、Fdを発生する制御信号発生回路の回路図。
【図38】一般的なメモリボードシステムの概略的な構成を示すブロック図。
【図39】メモリコントローラと異なる数のメモリモジュールが実装された種々のメモリボードシステムの構成を示すブロック図。
【図40】図39に示した種々のメモリボードシステムにおける動作タイミングの差異を説明するためのタイミングチャート。
【符号の説明】
11…入力バッファ、
13…SAD(Synchronous Adjustable Delay)、
26、27…遅延回路、
51、53、54、56、57…バッファ、
52、55…可変遅延部、
61…単位遅延素子、
62−1、62−2…スイッチ回路、
63、64、68…PチャネルMOSトランジスタ、
65、66、69、74〜85…NチャネルMOSトランジスタ、
67…CMOS型のクロックドインバータ、
70…CMOS型のインバータ、
71…回路ユニット、
72、73…レジスタ、
86…NANDゲート、
87…インバータ、
91、92…SAD、
93…コマンドデコーダ、
94、95…制御回路、
96…データ入力制御回路、
97…データ出力制御回路、
101、102、111、113、115、117、121、123…バッファ、
103〜106…NANDゲート、
114…ANDゲート、
116、122、124、125…SAD、
126、127、128…ORゲート、
130…遅延ユニットのブロック、
131…ANDゲート、
141、142、151、152…クロックドインバータ、
143、144、153、154…NORゲート、
161、162、191、192…PチャネルMOSトランジスタ、
163、164、193、194…NチャネルMOSトランジスタ、
165、166、195、196…インバータ、
167、197…NORゲート、
168、198…NANDゲート、
169、170、199、200、201、204、225…インバータ、
171、224…ANDゲート、
172、173、206、207…遅延回路、
174〜177、203、208〜211…NANDゲート、
181、182、221、222…クロックドインバータ、
183、223…正帰還回路、
202…遅延回路、
205…エッジパルス発生回路、
MEC…メモリコントローラ、
MM…メモリモジュール。
Claims (14)
- クロックを受け、このクロックに同期して動作する複数のメモリモジュールと、
上記クロックを発生し、上記複数のメモリモジュールとの間でデータの転送が行われるメモリコントローラと、
上記複数のメモリモジュール内にそれぞれ設けられ、上記クロックからこのクロックに同期しかつ上記クロックと異なる位相を持ち、上記クロックとの位相ずれ量がプログラム可能な内部クロックを発生する内部クロック発生回路とを具備し、
上記内部クロック発生回路は、
一定の遅延時間を有する複数の第1遅延ユニットが縦続接続され、前進パルスを伝達する前進パルス遅延回路と、
一定の遅延時間を有する複数の第2遅延ユニットが縦続接続され、後進パルスを伝達する後進パルス遅延回路と、
上記前進パルス遅延回路の第1遅延ユニットと上記後進パルス遅延回路の第2遅延ユニットとに対応して設けられ、リセット状態とセット状態とを有する複数の状態保持部とを有し、
上記前進パルスが伝達した上記第1遅延ユニットに対応する上記状態保持部がセット状態にされ、セット状態の状態保持部に対応する後進パルス遅延回路の第2遅延ユニットは後段の第2遅延ユニットからの後進パルスをそれよりも前段の第2遅延ユニットに伝達し、
リセット状態の状態保持部に対応する後進パルス遅延回路の第2遅延ユニットは内部クロックを直接、前段の第2遅延ユニットに伝達し、
上記状態保持部は複数のグループに区分され、それぞれのグループに属する状態保持部を一つずつ順番に並べた状態保持部を上記第1、第2遅延ユニットに順番に対応させて、各グループ毎に状態保持部をセットする外部クロックのサイクルを順次ずらして動作させるようにしたことを特徴とするデータ高速転送同期システム。 - クロックを受け、このクロックに同期して動作する複数のメモリモジュールと、
上記クロックを発生し、上記複数のメモリモジュールとの間でデータの転送が行われるメモリコントローラと、
上記複数のメモリモジュール内にそれぞれ設けられ、上記クロックからこのクロックに同期した内部クロックを発生する内部クロック発生回路とを具備し、
上記内部クロック発生回路は、
一定の遅延時間を有する複数の第1遅延ユニットが縦続接続され、前進パルスを伝達する前進パルス遅延回路と、
一定の遅延時間を有する複数の第2遅延ユニットが縦続接続され、後進パルスを伝達する後進パルス遅延回路と、
上記前進パルス遅延回路の第1遅延ユニットと上記後進パルス遅延回路の第2遅延ユニットとに対応して設けられ、リセット状態とセット状態とを有する複数の状態保持部とを備え、
上記前進パルスが伝達した上記第1遅延ユニットに対応する上記状態保持部がセット状態にされ、セット状態の状態保持部に対応する後進パルス遅延回路の第2遅延ユニットは後段の第2遅延ユニットからの後進パルスをそれよりも前段の第2遅延ユニットに伝達し、
リセット状態の状態保持部に対応する後進パルス遅延回路の第2遅延ユニットは内部クロックを直接、前段の第2遅延ユニットに伝達し、
上記状態保持部は複数のグループに区分され、それぞれのグループに属する状態保持部を一つずつ順番に並べた状態保持部を上記第1、第2遅延ユニットに順番に対応させて、各グループ毎に状態保持部をセットする外部クロックのサイクルを順次ずらして動作させるように構成したことを特徴とするデータ高速転送同期システム。 - 前記第1、第2遅延ユニットはそれぞれ第1及び第2のクロックドインバータとNORゲートとから構成され、
第1のクロックドインバータには他の遅延ユニットからの出力が入力として供給され、
第2のクロックドインバータには前記前進パルス遅延回路もしくは後進パルス遅延回路を構成する全ての遅延ユニットに共通の信号が入力として供給され、
上記NORゲートには上記第1及び第2のクロックドインバータの出力が入力として供給され、
上記第1のクロックドインバータはセット状態の前記状態保持部の出力に基づいてインバータとして動作し、
上記第2のクロックドインバータはリセット状態の前記状態保持部の出力に基づいてインバータとして動作するを具備することを特徴とする請求項2記載のデータ高速転送同期システム。 - 前記状態保持部は、
セット/リセット状態に応じた信号を出力する信号ノードと、
前記後進パルス遅延回路の第2遅延ユニットの出力によって導通制御され、上記信号ノードに電荷を供給する第1チャネルのトランジスタと、
前記前進パルス遅延回路の第1遅延ユニットの出力によって導通制御され、上記信号ノードから電荷を引き抜く第2チャネルのトランジスタとを有し、
上記第2チャネルのトランジスタが導通状態にされたときにセット状態に対応した信号が上記信号ノードに得られ、上記第1チャネルのトランジスタが導通状態にされたときにリセット状態に対応した信号が上記信号ノードに得られ、
上記第1、第2チャネルのトランジスタは同時に導通状態とはならないように制御されることを請求項3に記載のデータ高速転送同期システム。 - 前記状態保持部は2つのグループに区分され、各グループに属する状態保持部が交互に並べられ、対応する前記前進パルス遅延回路の第1遅延ユニット及び後進パルス遅延回路の第2遅延ユニットと対応させ、一方のグループに属する状態保持部内の前記第1、第2チャネルのトランジスタの働きを全て無効にする前記クロックのサイクルと、他方のグループに属する状態保持部内の前記第1、第2チャネルのトランジスタの働きを全て無効にする前記クロックのサイクルとが交互になるように制御されることを特徴とする請求項4記載のデータ高速転送同期システム。
- 前記状態保持部は第1ないし第4からなる4つのグループに区分され、各グループに属する状態保持部が順番にかつ交互に並べられ、対応する前記前進パルス遅延回路の第1遅延ユニット及び後進パルス遅延回路の第2遅延ユニットと対応させ、第1のグループに属する状態保持部内の前記第1、第2チャネルのトランジスタの働きを全て無効にする前記クロックのサイクルと、第2のグループに属する状態保持部内の前記第1、第2チャネルのトランジスタの働きを全て無効にする前記クロックのサイクルと、第3のグループに属する状態保持部内の前記第1、第2チャネルのトランジスタの働きを全て無効にする前記クロックのサイクルと、第4のグループに属する状態保持部内の前記第1、第2チャネルのトランジスタの働きを全て無効にする前記クロックのサイクルとが順番にかつ交互になるように制御されることを請求項4記載のデータ高速転送同期システム。
- 外部クロックを受ける第1のバッファ回路と、
上記第1のバッファ回路における遅延時間と同等の遅延時間を有し、上記第1のバッファ回路の出力を受けてこの第1のバッファ回路の出力を遅延する第1の遅延回路と、
上記第1の遅延回路の出力を受けてこの第1の遅延回路の出力を所定の時間遅延する第2の遅延回路と、
上記第2遅延回路からの出力を受ける第2のバッファ回路と、
多段縦続接続された複数の第1遅延ユニットを有し、上記第2のバッファ回路の出力を上記クロックの周期に応じた期間中、上記複数の第1遅延ユニットで伝達することによって遅延する第3の遅延回路と、
多段縦続接続された複数の第2遅延ユニットを有し、上記第3の遅延回路で遅延された信号が供給され、この遅延された信号を上記第2のバッファ回路の出力が伝達した上記第1遅延ユニットと同じ数の第2遅延ユニットで伝達することによって遅延する第4の遅延回路と、
上記第4の遅延回路からの出力を受け、この第4の遅延回路からの出力を制御信号に応じた時間だけ遅延して出力する可変遅延回路と、
上記第2のバッファ回路における遅延時間と同等の遅延時間を有し、上記可変遅延回路からの出力を受けて内部クロックを発生する第3のバッファ回路と
を具備したことを特徴とするクロック発生回路。 - 前記可変遅延回路は、
一端に前記第4の遅延回路の出力が供給される複数の単位遅延素子と、
上記複数の単位遅延素子の各直列接続ノードに接続され、これら各直列接続ノードの信号を前記制御信号に基づいて選択する複数の第1のスイッチ回路
とを含むことを特徴とする請求項7記載のクロック発生回路。 - 前記可変遅延回路は、
前記複数の単位遅延素子の各直列接続ノードのうち特定の1つの直列接続ノードの信号を選択する第2のスイッチ回路をさらに含むことを特徴とする請求項8記載のクロック発生回路。 - クロックを受け、このクロックに同期して動作し、それぞれが上記クロックに同期し、上記クロックとの位相ずれ量がプログラム可能な内部クロックを発生する内部クロック発生回路を有する複数のメモリモジュールと、
上記クロックを発生し、上記複数のメモリモジュールとの間でデータの転送が行われるメモリコントローラとを具備し、
上記内部クロック発生回路は、
上記クロックを受ける第1のバッファ回路と、
上記第1のバッファ回路の出力を受け、上記第1のバッファ回路における遅延時間と同等の遅延時間を有し、第1のバッファ回路の出力を遅延する第1の遅延回路と、
上記第1の遅延回路からの出力を受け、この第1の遅延回路からの出力を固定された一定時間遅延する第2の遅延回路と、
上記第2の遅延回路からの出力を受ける第2のバッファ回路と、
多段縦続接続された複数の第1遅延ユニットを有し、上記第2のバッファ回路の出力を受け、この第2のバッファ回路の出力を上記クロックの周期に応じた期間中、上記複数の第1遅延ユニットで伝達して遅延する第3の遅延回路と、
多段縦続接続された複数の第2遅延ユニットを有し、上記第3の遅延回路で遅延される信号が供給され、この信号を上記第2のバッファ回路の出力が伝達した上記第1遅延ユニットと同じ数の第2遅延ユニットで伝達して遅延する第4の遅延回路と、
上記第4の遅延回路からの出力を受け、この第4の遅延回路からの出力を制御信号に応じた時間だけ遅延して出力する可変遅延回路と、
上記第2のバッファ回路における遅延時間と同等の遅延時間を有し、上記可変遅延回路からの出力を受けて前記内部クロックを発生する第3のバッファ回路とから構成されたデータ高速転送同期システムを有し、
上記複数のメモリモジュールに対して所定のデータパターンを格納させ、
予め各メモリモジュールに格納されているデータパターンを上記複数のメモリモジュールから読み出して上記メモリコントローラに転送させ、
上記メモリコントローラにおいて上記各メモリモジュールから転送されたデータパターンと元の所定のデータパターンとの一致比較を行い、上記両データパターンが一致するように上記制御信号を発生することを特徴とするデータ高速転送同期方法。 - 前記制御信号の発生は、前記メモリコントローラから前記複数の各メモリモジュールに与えられるコマンドに基づいて行われることを特徴とする請求項10記載のデータ高速転送同期方法。
- 前記複数のメモリモジュールに対して所定のデータパターンを格納させる際に、前記メモリコントローラから上記データパターンを通常動作時の転送タイミングに比べて緩い転送タイミングで転送させ、前記複数のメモリモジュールで格納させるようにしたことを特徴とする請求項10に記載のデータ高速転送同期方法。
- 前記複数の各メモリモジュールに格納されているデータパターンを読み出して前記メモリコントローラに転送させる際に、各メモリモジュールから通常動作時の転送タイミングでバーストデータとして読み出させることを特徴とする請求項10記載のデータ高速転送同期方法。
- 前記複数のメモリモジュールに対して所定のデータパターンを格納させる際に、前記メモリコントローラから上記データパターンを通常動作時の転送タイミングで転送させて前記複数のメモリモジュールで格納させ、
前記複数の各メモリモジュールに格納されているデータパターンを読み出して前記メモリコントローラに転送させる際は、各メモリモジュールから通常動作時の転送タイミングでバーストデータとして読み出させることを特徴とする請求項10記載のデータ高速転送同期方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12463698A JP3727778B2 (ja) | 1998-05-07 | 1998-05-07 | データ高速転送同期システム及びデータ高速転送同期方法 |
US09/306,724 US6449727B1 (en) | 1998-05-07 | 1999-05-07 | High-speed data transfer synchronizing system and method |
KR10-1999-0016302A KR100425661B1 (ko) | 1998-05-07 | 1999-05-07 | 데이타 고속 전송 동기 시스템 및 데이타 고속 전송 동기 방법 |
US10/201,943 US6738918B2 (en) | 1998-05-07 | 2002-07-25 | High speed data transfer synchronizing system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12463698A JP3727778B2 (ja) | 1998-05-07 | 1998-05-07 | データ高速転送同期システム及びデータ高速転送同期方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11316706A JPH11316706A (ja) | 1999-11-16 |
JP3727778B2 true JP3727778B2 (ja) | 2005-12-14 |
Family
ID=14890325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12463698A Expired - Fee Related JP3727778B2 (ja) | 1998-05-07 | 1998-05-07 | データ高速転送同期システム及びデータ高速転送同期方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US6449727B1 (ja) |
JP (1) | JP3727778B2 (ja) |
KR (1) | KR100425661B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10522231B2 (en) | 2018-02-21 | 2019-12-31 | Toshiba Memory Corporation | Semiconductor memory device |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374371B1 (en) * | 1998-03-18 | 2002-04-16 | Micron Technology, Inc. | Method and apparatus for monitoring component latency drifts |
JP3825573B2 (ja) | 1999-02-17 | 2006-09-27 | 株式会社東芝 | 同期回路とその遅延回路 |
US6643787B1 (en) | 1999-10-19 | 2003-11-04 | Rambus Inc. | Bus system optimization |
US6646953B1 (en) | 2000-07-06 | 2003-11-11 | Rambus Inc. | Single-clock, strobeless signaling system |
US6321282B1 (en) * | 1999-10-19 | 2001-11-20 | Rambus Inc. | Apparatus and method for topography dependent signaling |
US6643752B1 (en) * | 1999-12-09 | 2003-11-04 | Rambus Inc. | Transceiver with latency alignment circuitry |
US7010642B2 (en) | 2000-01-05 | 2006-03-07 | Rambus Inc. | System featuring a controller device and a memory module that includes an integrated circuit buffer device and a plurality of integrated circuit memory devices |
US7356639B2 (en) | 2000-01-05 | 2008-04-08 | Rambus Inc. | Configurable width buffered module having a bypass circuit |
US7404032B2 (en) | 2000-01-05 | 2008-07-22 | Rambus Inc. | Configurable width buffered module having switch elements |
US6502161B1 (en) * | 2000-01-05 | 2002-12-31 | Rambus Inc. | Memory system including a point-to-point linked memory subsystem |
US7266634B2 (en) | 2000-01-05 | 2007-09-04 | Rambus Inc. | Configurable width buffered module having flyby elements |
US7363422B2 (en) | 2000-01-05 | 2008-04-22 | Rambus Inc. | Configurable width buffered module |
US6625687B1 (en) * | 2000-09-18 | 2003-09-23 | Intel Corporation | Memory module employing a junction circuit for point-to-point connection isolation, voltage translation, data synchronization, and multiplexing/demultiplexing |
US6519688B1 (en) * | 2000-09-29 | 2003-02-11 | S3 Incorporated | Read data valid loop-back for high speed synchronized DRAM controller |
US6788593B2 (en) * | 2001-02-28 | 2004-09-07 | Rambus, Inc. | Asynchronous, high-bandwidth memory component using calibrated timing elements |
US6675272B2 (en) | 2001-04-24 | 2004-01-06 | Rambus Inc. | Method and apparatus for coordinating memory operations among diversely-located memory components |
US8391039B2 (en) | 2001-04-24 | 2013-03-05 | Rambus Inc. | Memory module with termination component |
US6697926B2 (en) * | 2001-06-06 | 2004-02-24 | Micron Technology, Inc. | Method and apparatus for determining actual write latency and accurately aligning the start of data capture with the arrival of data at a memory device |
US6850107B2 (en) | 2001-08-29 | 2005-02-01 | Micron Technology, Inc. | Variable delay circuit and method, and delay locked loop, memory device and computer system using same |
US20030052719A1 (en) * | 2001-09-20 | 2003-03-20 | Na Kwang Jin | Digital delay line and delay locked loop using the digital delay line |
JP4159415B2 (ja) | 2002-08-23 | 2008-10-01 | エルピーダメモリ株式会社 | メモリモジュール及びメモリシステム |
JP2004185134A (ja) * | 2002-11-29 | 2004-07-02 | Matsushita Electric Ind Co Ltd | 記憶装置 |
AT501536B1 (de) * | 2003-04-08 | 2007-02-15 | Tttech Computertechnik Ag | Zeitgesteuertes betriebssystem für echtzeitkritische anwendungen |
KR100564568B1 (ko) * | 2003-06-05 | 2006-03-28 | 삼성전자주식회사 | 데이터 패치 제어 회로를 갖는 파이프라인 메모리 장치 및데이터 패치 방법 |
US7669027B2 (en) | 2004-08-19 | 2010-02-23 | Micron Technology, Inc. | Memory command delay balancing in a daisy-chained memory topology |
US7301831B2 (en) | 2004-09-15 | 2007-11-27 | Rambus Inc. | Memory systems with variable delays for write data signals |
KR100594294B1 (ko) * | 2004-09-21 | 2006-06-30 | 삼성전자주식회사 | 메모리 장치 및 데이터 트레이닝 방법 |
US7324403B2 (en) * | 2004-09-24 | 2008-01-29 | Intel Corporation | Latency normalization by balancing early and late clocks |
US7173877B2 (en) * | 2004-09-30 | 2007-02-06 | Infineon Technologies Ag | Memory system with two clock lines and a memory device |
US7339840B2 (en) * | 2005-05-13 | 2008-03-04 | Infineon Technologies Ag | Memory system and method of accessing memory chips of a memory system |
KR101048380B1 (ko) * | 2005-05-21 | 2011-07-12 | 삼성전자주식회사 | 메모리 모듈 장치 |
US11328764B2 (en) | 2005-09-26 | 2022-05-10 | Rambus Inc. | Memory system topologies including a memory die stack |
US7562271B2 (en) | 2005-09-26 | 2009-07-14 | Rambus Inc. | Memory system topologies including a buffer device and an integrated circuit memory device |
US7464225B2 (en) | 2005-09-26 | 2008-12-09 | Rambus Inc. | Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology |
US7321524B2 (en) | 2005-10-17 | 2008-01-22 | Rambus Inc. | Memory controller with staggered request signal output |
US7900079B2 (en) * | 2006-08-11 | 2011-03-01 | International Business Machines Corporation | Data capture window synchronizing method for generating data bit sequences and adjusting capture window on parallel data paths |
US8098784B2 (en) * | 2006-09-05 | 2012-01-17 | International Business Machines Corporation | Systems, methods and computer program products for high speed data transfer using a plurality of external clock signals |
TWI311326B (en) * | 2006-12-01 | 2009-06-21 | Realtek Semiconductor Corp | Memory controller and signal synchronizing method thereof |
US7865660B2 (en) * | 2007-04-16 | 2011-01-04 | Montage Technology Group Ltd. | Calibration of read/write memory access via advanced memory buffer |
JP5369430B2 (ja) | 2007-11-20 | 2013-12-18 | 富士通株式会社 | 可変遅延回路,メモリ制御回路,遅延量設定装置,遅延量設定方法および遅延量設定プログラム |
US7652512B2 (en) * | 2008-02-07 | 2010-01-26 | Macronix International Co., Ltd. | Clock synchronizing circuit |
US7808849B2 (en) * | 2008-07-08 | 2010-10-05 | Nvidia Corporation | Read leveling of memory units designed to receive access requests in a sequential chained topology |
US7796465B2 (en) * | 2008-07-09 | 2010-09-14 | Nvidia Corporation | Write leveling of memory units designed to receive access requests in a sequential chained topology |
US8461884B2 (en) * | 2008-08-12 | 2013-06-11 | Nvidia Corporation | Programmable delay circuit providing for a wide span of delays |
KR101477809B1 (ko) * | 2008-08-20 | 2014-12-30 | 엘지전자 주식회사 | 메모리 모듈을 제어하는 컴퓨터 시스템 및 그 제어방법 |
US20110050297A1 (en) * | 2009-08-28 | 2011-03-03 | Nel Frequency Controls, Inc. | System employing synchronized crystal oscillator-based clock |
TWI404339B (zh) * | 2009-11-25 | 2013-08-01 | Mstar Semiconductor Inc | 記憶體信號相位調整方法 |
JP2012008881A (ja) * | 2010-06-25 | 2012-01-12 | Elpida Memory Inc | メモリシステム及びその制御方法 |
US8635390B2 (en) * | 2010-09-07 | 2014-01-21 | International Business Machines Corporation | System and method for a hierarchical buffer system for a shared data bus |
JP2012108979A (ja) * | 2010-11-17 | 2012-06-07 | Elpida Memory Inc | 半導体装置 |
JP2012252530A (ja) * | 2011-06-03 | 2012-12-20 | Fujitsu Ltd | メモリコントローラ及び制御方法 |
US10037213B2 (en) * | 2016-09-19 | 2018-07-31 | Nxp Usa, Inc. | System and method for adjusting boot interface frequency |
KR102657550B1 (ko) * | 2016-11-14 | 2024-04-16 | 에스케이하이닉스 주식회사 | 수신 회로, 이를 포함하는 반도체 장치 및 시스템 |
JP2019053444A (ja) * | 2017-09-13 | 2019-04-04 | 東芝メモリ株式会社 | 半導体集積回路及び半導体装置 |
US10410698B2 (en) * | 2017-12-07 | 2019-09-10 | Micron Technology, Inc. | Skew reduction of a wave pipeline in a memory device |
US11456729B1 (en) * | 2021-03-26 | 2022-09-27 | Analog Devices, Inc. | Deskew cell for delay and pulse width adjustment |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5668989A (en) * | 1979-11-08 | 1981-06-09 | Nec Corp | Memory circuit |
US5062109A (en) * | 1988-09-02 | 1991-10-29 | Advantest Corporation | Memory tester |
IL96808A (en) * | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
JP3240709B2 (ja) * | 1992-10-30 | 2001-12-25 | 株式会社アドバンテスト | メモリ試験装置 |
JPH0737389A (ja) * | 1993-07-20 | 1995-02-07 | Mitsubishi Electric Corp | 半導体装置 |
US6032282A (en) * | 1994-09-19 | 2000-02-29 | Advantest Corp. | Timing edge forming circuit for IC test system |
JPH08123717A (ja) * | 1994-10-25 | 1996-05-17 | Oki Electric Ind Co Ltd | 半導体記憶装置 |
KR0167683B1 (ko) * | 1995-09-11 | 1999-02-01 | 김광호 | 동기메모리의 고주파 동작용 데이타 출력버퍼 제어방법 |
US5933623A (en) * | 1995-10-26 | 1999-08-03 | Hitachi, Ltd. | Synchronous data transfer system |
JP3410922B2 (ja) * | 1996-04-23 | 2003-05-26 | 株式会社東芝 | クロック制御回路 |
JP3487532B2 (ja) * | 1996-07-08 | 2004-01-19 | 株式会社東芝 | データ処理装置、半導体記憶装置、及びデータ処理方法 |
US6003118A (en) * | 1997-12-16 | 1999-12-14 | Acer Laboratories Inc. | Method and apparatus for synchronizing clock distribution of a data processing system |
-
1998
- 1998-05-07 JP JP12463698A patent/JP3727778B2/ja not_active Expired - Fee Related
-
1999
- 1999-05-07 US US09/306,724 patent/US6449727B1/en not_active Expired - Fee Related
- 1999-05-07 KR KR10-1999-0016302A patent/KR100425661B1/ko not_active IP Right Cessation
-
2002
- 2002-07-25 US US10/201,943 patent/US6738918B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10522231B2 (en) | 2018-02-21 | 2019-12-31 | Toshiba Memory Corporation | Semiconductor memory device |
Also Published As
Publication number | Publication date |
---|---|
KR100425661B1 (ko) | 2004-04-03 |
US20030041224A1 (en) | 2003-02-27 |
JPH11316706A (ja) | 1999-11-16 |
US6449727B1 (en) | 2002-09-10 |
US6738918B2 (en) | 2004-05-18 |
KR19990088104A (ko) | 1999-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3727778B2 (ja) | データ高速転送同期システム及びデータ高速転送同期方法 | |
JP3410922B2 (ja) | クロック制御回路 | |
KR100311334B1 (ko) | 복수의 메모리 모듈과 제어기를 구비한 데이터 고속 전송 시스템 | |
US5822255A (en) | Semiconductor integrated circuit for supplying a control signal to a plurality of object circuits | |
US6940782B2 (en) | Memory system and control method for the same | |
JP3993717B2 (ja) | 半導体集積回路装置 | |
US6259288B1 (en) | Semiconductor integrated circuit having a DLL circuit and a special power supply circuit for the DLL circuit | |
US6603706B1 (en) | Method and apparatus for synchronization of read data in a read data synchronization circuit | |
US6313676B1 (en) | Synchronous type semiconductor integrated circuit having a delay monitor controlled by a delay control signal obtained in a delay measuring mode | |
JPH06103881B2 (ja) | クロックスキュー補正回路 | |
JPH10228449A (ja) | 半導体装置システム及び半導体装置 | |
WO2012078341A1 (en) | Memory components and controllers that utilize multiphase synchronous timing references | |
US6765423B2 (en) | Semiconductor circuit having clock synchronous receiver circuit | |
JP4748896B2 (ja) | 同期型データ転送処理装置 | |
US20050138458A1 (en) | System and method for signal timing | |
US6608514B1 (en) | Clock signal generator circuit and semiconductor integrated circuit with the same circuit | |
KR100292127B1 (ko) | 클록 동기 지연 제어 회로 | |
US6353574B1 (en) | Semiconductor memory device having pipe register operating at high speed | |
KR101215953B1 (ko) | 버스트 오더 제어회로 | |
US20150256184A1 (en) | Semiconductor apparatus and semiconductor system including the same, and method of operating the same | |
US6731149B2 (en) | Synchronizing circuit for generating a signal synchronizing with a clock signal | |
US8035429B2 (en) | Semiconductor device and driving method thereof | |
JP3719865B2 (ja) | データ高速転送システム | |
JP4516979B2 (ja) | 半導体装置 | |
JP3831142B2 (ja) | 半導体集積回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050524 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050823 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050905 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050927 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050929 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081007 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091007 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |