(57)【要約】      （修正有）【課題】SDRAMインタフェースの動作速度の向上とSDRAMデータ入出力の時のデータを整合させるようにSDRAMに使用されるクロックと選択的データキャプチャ方式を利用するSDRAMアクセスのためのデータインタフェース装置を提供する。【解決手段】SDRAMの動作を駆動するために使用されるクロックとして、SDRAMだけでなくSDRAMコントローラー自らの同期化のために使用されるフィードバッククロックを利用する。データ保存のためのレジスタ部１０は、入力されるデータとフィードバッククロックの相関関係に応じて交番方式(alternativeway)によって動作するダブルレジスタで構成する。【選択図】図５
2005129055.tif 000002
【特許請求の範囲】
【請求項１】
SDRAMインタフェースの動作速度の向上とSDRAMデータ入出力の時のデータ整合のため、SDRAMに使用されるクロックと選択的データキャプチャ(data capturing)方式を利用することを特徴とするSDRAMアクセスのためのデータインタフェース装置。
【請求項２】
請求項1において、
上記クロックは、SDRAMの動作を駆動するために使用されるクロックとして、SDRAMだけでなくSDRAMコントローラー自らの同期化のために使用されるフィードバッククロックであることを特徴とするSDRAMアクセスのためのデータインタフェース装置。
【請求項３】
請求項2において、
上記フィードバッククロックはSDRAMコントローラー内部で生成されたクロックが、出力パッド、SDRAM、及び入力パッドの順次な経路を経り、外部SDRAMを用いる時には、使用されるクロックとSDRAMの出力データ時点を近似的に予測するクロックであることを特徴とするSDRAMアクセスのためのデータインタフェース装置。
【請求項４】
請求項1において、
上記選択的データキャプチャ方式はSDRAMで入力されるデータを保存するためのレジスタ部を利用することを特徴とするSDRAMアクセスのためのデータインタフェース装置。
【請求項５】
請求項4において、
上記データ保存のためのレジスタ部は入力されるデータとフィードバッククロックの相関関係に応じて交番方式(alternative way)によって動作するダブルレジスタで構成されることを特徴とするSDRAMアクセスのためのデータインタフェース装置。
【請求項６】
請求項5において、
上記各レジスタに入力されるフィードバッククロックの位相が相互異なるようにインバータを何れ一つのレジスタの入力端に設けて構成されることを特徴とするSDRAMアクセスのためのデータインタフェース装置。
【請求項７】
請求項5において、
上記フィードバッククロックの周期は動作を保つためにメインクロックの2倍乃至4倍の間で設定されることを特徴とするSDRAMアクセスのためのデータインタフェース装置。
【請求項８】
請求項4において、
上記保存されたデータを内部クロックで行った信号を利用して選択することを特徴とするSDRAMアクセスのためのデータインタフェース装置。
【請求項９】
請求項4乃至7の何れかにおいて、
上記レジスタ部は、
発生された内部クロックが入力され内部クロック選択信号を出力する第1Tフリップフロップ;
上記内部クロックからパッドを経って遅延されたボードクロックをフィードバックしたフィードバッククロックが入力されてフィードバッククロック選択信号を出力する第2Tフリップフロップ;
上記フィードバッククロックが入力されると共に上記第2Tフリップフロップから出力されて反転されるフィードバッククロック選択信号を受け取る第1論理積素子;
上記フィードバッククロックが入力される共に上記第2Tフリップフロップから出力されたフィードバッククロック選択信号が入力される第2論理積素子; 
上記第1論理積素子から出力されたクロックを受け取ると共にデータが入力される第1Dフリップフロップ; 
上記第2論理積素子から出力されたクロックを受け取ると共ににデータが入力される第2Dフリップフロップ;
上記第1Dフリップフロップ及び第2Dフリップフロップから出力されたデータに対して、上記第1Tフリップフロップから出力された内部クロック選択信号に対応して選択的に出力させるデータ選択素子;及び
内部クロックが入力されると共に上記データ選択素子から出力されたデータが入力されてデータを内部クロックに対応して出力させる第3Dフリップフロップ;
で構成されることを特徴とするSDRAMアクセスのためのデータインタフェース装置。
【請求項１０】
請求項9において、
上記反転されるフィードバッククロック選択信号を発生させるために、第2論理積素子入力端と第2Tフリップフロップ出力端の接点と第1論理積素子入力端との間にインバータを形成させたことを特徴とするSDRAMアクセスのためのデータインタフェース装置。
【請求項１１】
請求項9において、
上記内部クロック選択信号とフィードバッククロック選択信号を出力する第1Tフリップフロップ及び第2Tフリップフロップのリセット制御のため、
命令信号が入力されると共に内部クロックが入力されて演算し、上記第1Tフリップフロップのリセット端子で出力させる第3論理積素子;及び
命令信号が入力されると共に内部クロックが入力されて演算し、第2Tフリップフロップのリセット端子で出力させる第4Dフリップフロップ
を更に形成させて構成されることを特徴とするSDRAMアクセスのためのデータインタフェース装置。
【発明の詳細な説明】
【背景技術】
【０００１】
本発明は、SDRAMアクセスのためのデータインタフェース装置に関して、特に、高速のSDRAMアクセス(memoryaccess)時、発生するクロック(clock)とデータ(DATA)間の位相(phase)問題を解決するためのSDRAMアクセスのためのデータインタフェース装置に関する。
図1は、SDRAMインタフェースのためのクロックとデータバスの一般的な連結状態を示した図面である。これに対するタイミングは、図2に図示している。SDRAM(1)とメモリーコントローラー(memorycontroller、2)との間にはそれぞれの入力パッド(inputPAD)(3、5)及び出力パッド(outputPAD)(4、6)が設けられ、図2に図示されたように、ボードクロック(boardclock)とボードデータ(boardDATA)は、図1のSDRAM(1)とメモリーコントローラー(2)パッドとの間で測定した時の値である。すなわち、メモリーコントローラー(2)の内部クロック(internalclock)がパッドを経ってボードレベル(boardlevel)信号になると、内部クロックに比べてかなり遅くなることが分かる。この遅延(delay)は、電圧、温度、ボード状態など複数の要素によって変わり、このような遅延が、図2より更に大きい値を持つ場合を図3で示す。SDRAM(1)はボードクロックの上昇エッジ(risingedge)に合わせてデータを出力することにより、図2及び図3とのように、SDRAMを駆動するクロックが遅くなるほど入力されるデータは内部クロックに比べてかなりの遅延を含ことになる。
クロックとデータのような信号の遅延が大きい時、データがメモリーコントローラー(2)の内部に入力された時点が図3のように、内部クロックの上昇エッジと同様になる場合もある(V)。すなわち、内部クロックで内部データを利用する時、セットアップ、あるいは、ホールドバイオレイション(holdviolation)が発生する。これを防止するために、内部クロックのネガティブエッジ(negativeedge)を利用する方法もあるが、このような方法は遅延が、図3より少なく発生されてデータがネガティブエッジ時点で入力される場合に問題になる恐れがある。
すなわち、このような現象は、内部クロックとデータ入力の関係が非同期式(asynchronous)であるから発生する問題であると見なせて、これを解決できない時には動作状態によって動作周波数を低めさせなければならない状況になって、これによって、性能(performance)にも影響を及ぼすようになる。
これを防止する方法で、図4のようにDLL回路(7)を利用している。このように、DLL回路(7)を利用すると、外部クロック(ボードクロック)と内部クロックの位相(phase)を一致させることができるので、外部から入力されるデータをあるほど予測でき、前に説明した非同期(asynchronous)に係わる問題を避けることができる。然し、DLL回路(7)の設計が一般回路とは異なり、難しい技術であって、特に、パッド(PAD)及びピン(pin)などのレプルリカ遅延(replicadelay)を予測するのが非常に難しいという問題点がある。
【発明の開示】
【発明が解決しようとする課題】
【０００２】
従って、本発明の目的は、既存の問題点を解決するため、SDRAMインタフェースの動作速度の向上とSDRAMデータ入出力の時のデータを整合させるようにSDRAMに使用されるクロックと選択的データキャプチャ(datacapturing)方式を利用するSDRAMアクセスのためのデータインタフェース装置を提供することである。
【課題を解決するための手段】
【０００３】
上記した本発明の目的を果たすために、SDRAMアクセスのためのデータインタフェース装置は、SDRAMインタフェースの動作速度の向上とSDRAMデータ入出力の時のデータ整合のため、SDRAMに使用されるクロックと選択的データキャプチャ(datacapturing)方式を利用することを特徴とする。この時、上記クロックはSDRAMの動作を駆動するために使用されるクロックとして、SDRAMだけでなくSDRAMコントローラー自らの同期化のために使用されるフィードバッククロックである。また、上記フィードバッククロックは、SDRAMコントローラー内部で生成されたクロックが、出力パッド、SDRAM、及び入力パッドの順次な経路を経って、外部SDRAMを用いるとき使用されるクロックと、SDRAMの出力データ時点を近似的に予測するクロックである。
上記選択的データキャプチャ方式は、SDRAMから入力されるデータを保存するためのレジスタ部を利用し、このデータ保存のためのレジスタ部は、入力されるデータとフィードバッククロックの相関関係により、交番方式(alternativeway)に従って動作するダブルレジスタで構成される。この時、上記各レジスタに入力されるフィードバッククロックの位相が相互違うようにインバータを何れ一つのレジスタの入力端に設ける。また、上記フィードバッククロックの周期は動作を保つためにメインクロックの2倍乃至4倍の間で設定されることが望ましい。そして、上記保存されたデータを内部クロックから得られた信号を利用して選択する。
上記レジスタ部は、発生された内部クロックが入力されて内部クロック選択信号を出力する第1Tフリップフロップ;上記内部クロックからパッドを経って遅延されたボードクロックをフィードバックしたフィードバッククロックを受け取ると共に、フィードバッククロック選択信号を出力する第2Tフリップフロップ;上記フィードバッククロックが入力されると共に上記第2Tフリップフロップから出力され、反転されるフィードバッククロック選択信号を受け取る第1論理積素子;上記フィードバッククロックが入力されると共に上記第2Tフリップフロップから出力されたフィードバッククロック選択信号を受け取る第2論理積素子;上記第1論理積素子から出力されたクロックを受け取ると共にデータが入力される第1Dフリップフロップ;上記第2論理積素子から出力されたクロックを受け取ると共にデータが入力される第2Dフリップフロップ;上記第1Dフリップフロップ及び第2Dフリップフロップから出力されたデータに対して、上記第1Tフリップフロップから出力された内部クロック選択信号に対応して選択的に出力させるデータ選択素子;及び内部クロックが入力されると共に上記データ選択素子から出力されたデータが入力されてデータを内部クロックに対応して出力させる第3Dフリップフロップにて構成される。上記反転されるフィードバッククロック選択信号を発生させるため、第2論理積素子入力端と第2Tフリップフロップ出力端の接点と第1論理積素子入力端との間にインバータを形成させる。そして、上記内部クロック選択信号とフィードバッククロック選択信号を出力する第1Tフリップフロップ及び第2Tフリップフロップのリセット制御のため、命令信号が入力されると共に内部クロックが入力されて演算し、上記第1Tフリップフロップのリセット端子で出力させる第3論理積素子;及び命令信号が入力されると共に内部クロックが入力されて演算し、第2Tフリップフロップのリセット端子で出力させる第4Dフリップフロップを更に形成させる。
以下、添付された図面を参照して本発明の好ましい実施例に対して説明する。
図5は、前に説明した内部クロックとデータ入力との間の非同期(asynchronous)的な関係により発生する問題を解決するための回路である。図5を参照すると、本発明のSDRAM(SynchronousDynamicRandomAccessMemory)アクセスのためのデータインタフェース装置は大きく分けて、レジスタ部(10)とリセット部(20)にて構成される。上記レジスタ部(10)はSDRAMに使用されるクロックとしてボードクロックをフィードバックして使用する。また、選択的なデータキャプチャ(datacapturing)方式を利用するが、SDRAMから入力されるデータを保存するためのレジスタ部(10)は入力されるデータとフィードバッククロック(feedbackclock)の相関関係よって交番方式(alternativeway)に従って動作するダブルレジスタを利用する。これの構成に対して詳細な説明ば次のようである。
上記レジスタ部(10)は、発生された内部クロック(internalclock)が入力されて内部クロック選択信号(select_i)を出力する第1Tフリップフロップ(101)と、上記内部クロックからパッドを経って遅延されたボードクロックをフィードバッククロック(feedbackclock)が入力されてフィードバッククロック選択信号(select_f)を出力する第2Tフリップフロップ(102)と、上記フィードバッククロックが入力されると共にに上記第2Tフリップフロップ(102)から出力されて反転されるフィードバッククロック選択信号(select_f)を受け取る第1論理積素子(103)と、上記フィードバッククロックが入力されると共に上記第2Tフリップフロップ(102)から出力されたフィードバッククロック選択信号(select_f)を受け取る第2論理積素子(104)と、上記第1論理積素子(103)から出力されたクロックを受け取ると共にデータが入力される第1Dフリップフロップ(106)と、上記第2論理積素子(104)から出力されたクロックを受け取ると共にデータが入力される第2Dフリップフロップ(107)と、上記第1Dフリップフロップ(106)及び第2Dフリップフロップ(107)から出力されたデータに対して、上記第1Tフリップフロップ(101)から出力された内部クロック選択信号(select_i)に対応して出力させるデータ選択素子(108)と、内部クロックが入力されると共に上記データ選択素子(108)から出力されたデータが入力されてデータを内部クロックに対応して出力させる第3Dフリップフロップ(109)にて構成される。そして、ここに上記第2論理積素子(104)と第2Tフリップフロップ(102)の接点と第1論理積素子(103)との間にインバータ(105)を更に形成させている。
一方、上記リセット部(20)は、命令信号が入力されると共に内部クロックが入力され、演算し、上記第1Tフリップフロップ(101)のリセット端子で出力させる第3論理積素子(201)と、命令信号が入力されると共に内部クロックが入力され、演算し、第2Tフリップフロップ(102)のリセット端子で出力させる第4Dフリップフロップ(202)にて構成される。
このように、図5から、フィードバッククロック(feedbackclock)は図1でSDRAMの動作に使用されたボードクロックが更にコントローラー(controller)として入力されている。また、図1で、内部データ(internalDATA)に該当される信号が図5のDATA_INであり、図5のDATAは、これを内部クロックに合わせて保存している。
外部データ(ExternalDATA)の入力パス(path)がクロック(clock)の入力パス(path)との遅延において、大きな差異がないと判断される場合、フィードバッククロックを利用すると、DATA_INを保存することに対して問題が発生しない。単に、このようなデータ(DATA)を保存する場合、フィードバッククロックと内部クロックとの間の位相関係が問題になるが、これは図5のような回路構造で解決できる。
然し、フィードバッククロックでキャプチャ(capture)されたデータ(DATA)を内部クロックが同一なクロック(clock)で利用し、内部クロックに対してデータ(DATA)が安定化されない場合がある。つきまして、本発明ではデータ(DATA)がフィードバッククロックによってキャプチャされた後、次の内部クロックで利用するように設けた。このためには、データ(DATA)は2クロックに一度だけ保存されることになるため、レジスタ(register)を2対(pair)に置いて、交賛に利用するように設け、このレジスタを選択する信号は非同期(asynchronous)問題が発生しないフィードバッククロックで設ける。図6に、図示されたように、DATA_F0とDATA_F1がフィードバッククロック選択信号(select_f)に対応してDATA_F0とDATA_F1を2クロックに一度ずつ保存しているし、データ選択素子から出力されるDATA_Fは内部クロック選択信号(select_i)に対応してデータを第3Dフリップフロップ(109)で入力させている。ここにデータ(DATA)が内部クロック選択信号(select_i)に対応して出力される。
図7は、2つのクロックに対する位相差をそれぞれの場合に対して考慮したデータの動きを示している。図7aは、遅延が小さくて内部クロックとフィードバッククロックの位相差が1/2クロックより小さな場合であり、図7bは、内部クロックとフィードバッククロックが正確に1/2週期程度の差異を持つ場合だ。図7c及び図7dでは、相対的に遅延の値が大きい時のデータインタフェース(datainterface)であって、特に、図7dのような場合は1クロック程度のクロック差がある場合である。
図5に示す構造を利用すると、図7のように多様な種類の遅延に対してフィードバック(feedback)により保存されたデータ(DATA)が内部クロックによるバイオレイション(violation)が発生する可能性がない。
然し、select_fは必ずフィードバッククロックで設けることでクロック制御過程において問題が発生しないし、DATA_F0/DATA_F1の2つのデータの内、内部データ(internaldata)を決めるselect_iは内部クロックで設けるべきである。この時、図7のようにselect_iとselect_fとの間の動きが主な作用になるので、2つのフリップフロップ(flip-flop)に入力されるリセット(reset)を適切に行うことで、select_iとselect_fは2つのクロック間の位相差に応じて動く形態が変わるので、リセット信号をそれぞれのクロックに対して構成できない問題になる。
これを解決するために、リセット部分に図5のリセット部(20)のような回路を具現している。ここでリセット信号は、命令(command)信号を基準で発生し、元々は内部クロックの上昇エッジから発生するコマンドを下降エッジ(fallingedge)で保存したことをCMDとして仮定している。
すなわち、select_iを設けるためのフリップフロップのリセット入力はCMDと内部クロックのハイ(high)を論理積(AND)し、select_fのためのフリップフロップのリセット入力は内部クロックのネガティブエッジ(negativeedge)でCMDを保存して利用している。図8では、図7のように各フィードバック遅延(feedbackdelay)によるリセット信号とselect_iとselect_fの動きを示している。
本発明は、上述した実施例に限定されないし、本発明の技術的思想内で該当分野の通常の知識を持った者によって多数の変形が可能であることは明白である。
【発明の効果】
【０００４】
上述したように、既存にはメモリーアクセス(Memoryaccess)速度が早くなるほど利用するクロック(clock)に対してデータ(DATA)の入力速度は遅くなって、これによりデータ(DATA)保存の時、バイオレイション(violation)などの問題が発生するが、本発明によるSDRAMアクセスのためのデータインタフェース装置は、データ(DATA)入力時間と内部動作クロック(clock)との間に相互影響が受けないため設計が難しいDLLのような複雑な回路が要しない簡便な動作周波数を高めることができる。
【図面の簡単な説明】
【０００５】
【図１】SDRAMインタフェースのためのクロックとデータバスの一般的な連結状態を示した図である。
【図２】ボードクロック遅延によるデータ遅延を示したタイミング図である。
【図３】遅延が大きくなってセットアップ、あるいは、ホールドバイオレイションが発生する場合のタイミング図である。
【図４】DLLを利用して内部クロックとボードクロックの位相を一致させる制御回路ブロック図である。
【図５】本発明のSDRAMアクセスのためのデータインタフェース装置を示した制御回路ブロック図である。
【図６】本発明のSDRAMアクセスのためのデータインタフェース装置のタイミング図である。
【図７】内部クロックとフィードバッククロックの位相差によるデータの動きを示したタイミング図である。
【図８】フィードバッククロックの遅延によるリセット信号とセレクト(select)_iとセレクト(select)_fの動きを示したタイミング図である。
【符号の説明】
【０００６】
1:SDRAM
2:メモリーコントローラー
3、4、5、6:入出力パッド
7:DLL
10:レジスタ部
101、102:Tフリップフロップ
103、104:論理積素子
105:インバータ
106、107:Dフリップフロップ
20:リセット部
201:論理積素子
202:Dフリップフロップ
【図１】
2005129055.tif 000003
【図２】
2005129055.tif 000004
【図３】
2005129055.tif 000005
【図４】
2005129055.tif 000006
【図５】
2005129055.tif 000007
【図６】
2005129055.tif 000008
【図７】
2005129055.tif 000009
【図８】
2005129055.tif 000010