(57)【特許請求の範囲】
【請求項１】
ダブルデータレートのデータをストローブ信号と共に出力するメモリに接続され該メモリを制御するメモリコントローラであって、
該メモリに供給するクロック信号を生成するクロック信号生成回路と、
前記クロック信号を参照信号として用い該クロック信号をフィードバック制御して略１／４サイクルに相当する時間だけ遅延するように制御する信号と同一の信号により該ストローブ信号の可変遅延回路を制御し、該クロック信号の略１／４サイクルに相当する時間だけ該ストローブ信号を遅延させ、遅延されたストローブ信号をタイミング信号として該データをラッチするデータ取り込み回路
を含むことを特徴とするメモリコントローラ。
【請求項２】
該データ取り込み回路は、
該クロック信号の略１／４サイクルに相当する時間だけ該ストローブ信号を遅延させる前記可変遅延回路と、
該可変遅延回路で遅延されたストローブ信号をタイミング信号として該データをラッチするラッチ回路
を含むことを特徴とする請求項１記載のメモリコントローラ。
【請求項３】
該データ取り込み回路は、
該可変遅延回路と同一の遅延を有するように制御される回路を一段或いは複数段直列に接続した可変遅延回路列と、
該クロック信号を参照信号として該可変遅延回路列の遅延量を検出する位相比較回路
を更に含み、該位相比較回路の遅延量検出結果に基づいて該可変遅延回路及び該可変遅延回路列の遅延を制御することを特徴とする請求項２記載のメモリコントローラ。
【請求項４】
該データ取り込み回路は、該位相比較回路の該遅延量検出結果に基づいて該可変遅延回路及び該可変遅延回路列の遅延を制御する制御信号を生成する遅延制御回路を更に含むことを特徴とする請求項３記載のメモリコントローラ。
【請求項５】
該位相比較回路の該遅延量検出結果を該メモリコントローラ外部に送出し、該可変遅延回路及び該可変遅延回路列の遅延を制御する制御信号を該メモリコントローラ外部から受け取ることを特徴とする請求項３記載のメモリコントローラ。
【請求項６】
該可変遅延回路列は、該可変遅延回路と同一の遅延を有するように制御される回路を４段直列に接続した構成であり、該クロック信号を受け取り該可変遅延回路の４倍の遅延量だけ該クロック信号を遅延させ、該位相比較回路は、該クロック信号と該可変遅延回路列で遅延されたクロック信号との位相を比較することを特徴とする請求項３記載のメモリコントローラ。
【請求項７】
該可変遅延回路列は、該可変遅延回路と同一の遅延を有するように制御される回路を２段直列に接続した構成であり、該クロック信号を受け取り該可変遅延回路の２倍の遅延量だけ該クロック信号を遅延させ、該位相比較回路は、該クロック信号の反転信号と該可変遅延回路列で遅延されたクロック信号との位相を比較することを特徴とする請求項３記載のメモリコントローラ。
【請求項８】
該可変遅延回路列は、該可変遅延回路と同一の遅延を有するように制御される回路を２段直列に接続した構成であり、該クロック信号の２倍の周波数の信号を受け取り該可変遅延回路の２倍の遅延量だけ遅延させ、該位相比較回路は、該クロック信号の２倍の周波数の信号と該可変遅延回路列で遅延された該クロック信号の２倍の周波数の信号との位相を比較することを特徴とする請求項３記載のメモリコントローラ。
【請求項９】
該可変遅延回路列は、該可変遅延回路と同一の遅延を有するように制御される回路が１段よりなる構成であり、該クロック信号の２倍の周波数の信号を受け取り該可変遅延回路と等しい遅延量だけ遅延させ、該位相比較回路は、該クロック信号の２倍の周波数の信号の反転信号と該可変遅延回路列で遅延された該クロック信号の２倍の周波数の信号との位相を比較することを特徴とする請求項３記載のメモリコントローラ。
【請求項１０】
ダブルデータレートのデータをストローブ信号と共に出力するメモリと、
該データと該ストローブ信号を受け取ると共に該メモリを制御するメモリコントローラと、
該メモリに供給するクロック信号を生成するクロック信号生成回路と、
前記クロック信号を参照信号として用い該クロック信号をフィードバック制御して略１／４サイクルに相当する時間だけ遅延するように制御する信号と同一の信号により該ストローブ信号の可変遅延回路を制御し、該クロック信号の略１／４サイクルに相当する時間だけ該ストローブ信号を遅延させ、遅延されたストローブ信号をタイミング信号として該データをラッチする該メモリコントローラ内部に設けられるデータ取り込み回路
を含むことを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に半導体記憶装置のコントローラ、及び半導体記憶装置及びコントローラを含むシステムに関し、詳しくは、ダブルデータレートのデータをストローブ信号と共に出力する半導体記憶装置のコントローラ、及びダブルデータレートのデータをストローブ信号で制御するシステムに関する。
【０００２】
【従来の技術】
ダブルデータレートで動作するＤＲＡＭ等の半導体記憶装置は、一般に、データストローブ信号とデータ信号とを同位相で出力し、データ信号のデータ変化タイミングを、ストローブ信号の立ち上がりエッジと立ち下がりエッジとの両方のタイミングに合わせている。半導体記憶装置に接続されたコントローラは、ストローブ信号を受け取り適当な遅延量だけ遅延し、この遅延されたストローブ信号を用いてデータ信号をラッチすることで、内部にデータを取り込む。
【０００３】
【発明が解決しようとする課題】
従来、コントローラ内部では、インバータ列等から構成されるディレイ回路を使用してストローブ信号を遅延させることで、データ信号を最適なタイミングでラッチするようにタイミング信号を生成していた。しかし、製造プロセスの誤差、動作温度や電源電圧の変動等によって、ディレイ回路の遅延量が変化してしまうと、データに対して最適な取り込みタイミングを保つことが困難になる。即ち、データに対する適切なデータホールド時間及びデータセットアップ時間を確保することが難しくなる。
【０００４】
従って、本発明は、半導体記憶装置に接続されたコントローラにおいて、種々の変動要因が存在しても最適なデータ取り込みタイミングを保つことが可能なコントローラを提供することを目的とする。
【０００５】
【課題を解決するための手段】
請求項１の発明では、ダブルデータレートのデータをストローブ信号と共に出力するメモリに接続され該メモリを制御するメモリコントローラは、該メモリに供給するクロック信号を生成するクロック信号生成回路と、前記クロック信号を参照信号として用い該クロック信号をフィードバック制御して略１／４サイクルに相当する時間だけ遅延するように制御する信号と同一の信号により該ストローブ信号の可変遅延回路を制御し、該クロック信号の略１／４サイクルに相当する時間だけ該ストローブ信号を遅延させ、遅延されたストローブ信号をタイミング信号として該データをラッチするデータ取り込み回路を含む。
【０００６】
請求項２の発明では、請求項１記載のメモリコントローラにおいて、該データ取り込み回路は、該クロック信号の略１／４サイクルに相当する時間だけ該ストローブ信号を遅延させる可変遅延回路と、該可変遅延回路で遅延されたストローブ信号をタイミング信号として該データをラッチするラッチ回路を含む。
【０００７】
請求項３の発明では、請求項２記載のメモリコントローラにおいて、該データ取り込み回路は、該可変遅延回路と同一の遅延を有するように制御される回路を一段或いは複数段直列に接続した可変遅延回路列と、該クロック信号を参照信号として該可変遅延回路列の遅延量を検出する位相比較回路を更に含み、該位相比較回路の遅延量検出結果に基づいて該可変遅延回路及び該可変遅延回路列の遅延を制御する。
【０００８】
請求項４の発明では、請求項３記載のメモリコントローラにおいて、該データ取り込み回路は、該位相比較回路の該遅延量検出結果に基づいて該可変遅延回路及び該可変遅延回路列の遅延を制御する制御信号を生成する遅延制御回路を更に含む。
【０００９】
請求項５の発明では、請求項３記載のメモリコントローラは、該位相比較回路の該遅延量検出結果を該メモリコントローラ外部に送出し、該可変遅延回路及び該可変遅延回路列の遅延を制御する制御信号を該メモリコントローラ外部から受け取る。
【００１０】
請求項６の発明では、請求項３記載のメモリコントローラにおいて、該可変遅延回路列は、該可変遅延回路と同一の遅延を有するように制御される回路を４段直列に接続した構成であり、該クロック信号を受け取り該可変遅延回路の４倍の遅延量だけ該クロック信号を遅延させ、該位相比較回路は、該クロック信号と該可変遅延回路列で遅延されたクロック信号との位相を比較する。
【００１１】
請求項７の発明では、請求項３記載のメモリコントローラにおいて、該可変遅延回路列は、該可変遅延回路と同一の遅延を有するように制御される回路を２段直列に接続した構成であり、該クロック信号を受け取り該可変遅延回路の２倍の遅延量だけ該クロック信号を遅延させ、該位相比較回路は、該クロック信号の反転信号と該可変遅延回路列で遅延されたクロック信号との位相を比較する。
【００１２】
請求項８の発明では、請求項３記載のメモリコントローラにおいて、該可変遅延回路列は、該可変遅延回路と同一の遅延を有するように制御される回路を２段直列に接続した構成であり、該クロック信号の２倍の周波数の信号を受け取り該可変遅延回路の２倍の遅延量だけ遅延させ、該位相比較回路は、該クロック信号の２倍の周波数の信号と該可変遅延回路列で遅延された該クロック信号の２倍の周波数の信号との位相を比較する。
【００１３】
請求項９の発明では、請求項３記載のメモリコントローラにおいて、該可変遅延回路列は、該可変遅延回路と同一の遅延を有するように制御される回路が１段よりなる構成であり、該クロック信号の２倍の周波数の信号を受け取り該可変遅延回路と等しい遅延量だけ遅延させ、該位相比較回路は、該クロック信号の２倍の周波数の信号の反転信号と該可変遅延回路列で遅延された該クロック信号の２倍の周波数の信号との位相を比較する。
【００１４】
上記発明では、ラッチ回路に供給されるタイミング信号は、データストローブ信号をクロック信号ＣＬＫの１／４サイクル分だけ遅延した信号であるので、データ信号におけるデータ変化タイミングの丁度真中でデータ信号をラッチすることになる。従って、最適なデータホールド時間とデータセットアップ時間を実現することが出来る。また所定値に遅延時間を設定するのではなく、フィードバック制御によってクロック信号の１／４サイクルになるように遅延時間を制御するので、製造プロセスの誤差、動作温度や電源電圧の変動等、種々の変動要因が存在しても、最適なデータ取り込みタイミングを確保することが出来る。またクロック信号の反転信号や、クロック信号の２倍の周波数の信号をフィードバック制御における参照信号として用いることで、可変遅延回路列の規模を縮小することが出来る。
【００１５】
また上記のメモリコントローラをダブルデータレートのメモリと組み合わせたシステムにおいても、上記と同様の作用を実現することが出来る。
【００１６】
【発明の実施の形態】
図１は、本発明を適用するシステムの一例の構成を示す。
【００１７】
図１のシステムは、メモリコントローラ１０と、メモリデバイス１１と、マイクロプロセッサ１２を含む。メモリコントローラ１０は、データ読み出し書き込み操作をメモリデバイス１１に行う際に、マイクロプロセッサ１２とメモリデバイス１１との間で制御の仲介を行う。マイクロプロセッサ１２とメモリコントローラ１０との間は、データ信号、アドレス信号、コントロール信号、及びクロック信号が伝送される。メモリコントローラ１０とメモリデバイス１１との間は、ストローブ信号、データ信号、アドレス信号、コントロール信号、及びクロック信号が伝送される。
【００１８】
一般にメモリコントローラ１０の役割としては、マイクロプロセッサ１２とメモリデバイス１１との間でデータバスのバス幅を変換したり、メモリデバイス１１に対してＤＭＡ（ダイレクトメモリアクセス）動作を実行したり等、メモリアクセスに関連する種々の制御動作を実行する。
【００１９】
本発明が適用されるシステムにおいては、メモリデバイス１１は、ストローブ信号の立ち上がりエッジと立ち上がりエッジの両方でデータを入出力するデータダブルレートのメモリデバイスである。データ書き込み時には、メモリコントローラ１０からメモリデバイス１１にデータと共にストローブ信号が供給され、データ読み出し時には、メモリデバイス１１からメモリコントローラ１０へデータと共にストローブ信号が供給される。データ読み出し時にメモリデバイス１１からメモリコントローラ１０に供給されるストローブ信号は、その立ち上がりエッジ及び立ち上がりエッジのタイミングが、データ信号のデータ変化点のタイミングに一致した信号である。
【００２０】
図２は、本発明によるメモリコントローラの一例の概略構成を示す。
【００２１】
図２に示されるメモリコントローラ１０は、マイクロプロセッサ１２のデータバスの幅が６４ビットでありメモリデバイス１１のデータバスの幅が３２ビットである場合に、マイクロプロセッサ１２とメモリデバイス１１との間でデータバス幅の変換を行うコントローラの一例である。
【００２２】
図２に示されるメモリコントローラ１０は、クロック発生回路２１、ライトコントロール回路２２、リードコントロール回路２３、インターフェイス２４、インターフェイス２５、遅延回路２６、ラッチ回路２７、セレクタ回路２８、セレクタ回路２９、及びラッチ回路３０乃至３３を含む。
【００２３】
クロック発生回路２１は、クロック信号ＣＬＫを発生し、ライトコントロール回路２２及びリードコントロール回路２３に供給する。クロック発生回路２１は更に、メモリコントローラ１０に接続されたメモリデバイス１１に、クロック信号ＣＬＫを供給する。なおダブルデータレートのメモリデバイスに対しては、クロック信号ＣＬＫだけでなく、クロック信号ＣＬＫを反転したクロック信号／ＣＬＫも供給するのが一般的である。また場合によっては、クロック発生回路２１は、クロック信号ＣＬＫの２倍の周波数を有するクロック信号ＣＬＫ２及びその反転クロック／ＣＬＫ２を生成する場合もある。
【００２４】
データ書き込み時には、マイクロプロセッサ１２からの６４ビットデータが、インターフェイス２５を介して、ラッチ回路３０及び３１に３２ビットずつ格納される。セレクタ回路２８は、ラッチ回路３０及び３１の一方を交互に選択し、選択したラッチ回路の３２ビットのデータを、インターフェイス２４を介してメモリデバイス１１に供給する。これらの動作のタイミングは、ライトコントロール回路２２によって制御される。またライトコントロール回路２２は、インターフェイス２４を介して、データストローブ信号をメモリデバイス１１に供給する。
【００２５】
データ読み出し時には、メモリデバイス１１からの３２ビットのデータが、インターフェイス２４を介してラッチ回路２７に供給される。またメモリデバイス１１からのストローブ信号は、インターフェイス２４を介して、遅延回路２６に供給される。ストローブ信号は、遅延回路２６によってクロック信号ＣＬＫの１／４サイクル分だけ遅延され、タイミング信号としてラッチ回路２７に供給される。ラッチ回路２７は、供給されたタイミング信号を用いてデータ信号をラッチする。セレクタ回路２９はラッチ回路３２及び３３の一方を交互に選択し、ラッチ回路２７にラッチされたデータを、選択したラッチ回路に交互に格納する。ラッチ回路３２及び３３に格納された計６４ビットのデータは、インターフェイス２５を介して、マイクロプロセッサ１２に供給される。
【００２６】
ここで遅延回路２６とラッチ回路２７とが、クロック信号ＣＬＫの１／４サイクル分だけストローブ信号を遅延してデータ信号を取り込む本発明によるデータ取り込み回路５０を構成する。データ取り込み回路５０は、クロック信号ＣＬＫを、クロック発生回路２１から供給される。
【００２７】
図３は、本発明によるデータ取り込み回路５０の第1の実施例の構成を示す。
【００２８】
データ取り込み回路５０は、５つの可変遅延回路５１−１乃至５１−５、遅延制御回路５２、位相比較器５３、及びラッチ回路２７を含む。可変遅延回路５１−１乃至５１−５は、同一の回路構成を有しており、遅延制御回路５２から出力される同一の制御信号によって制御される。従って、可変遅延回路５１−１乃至５１−５は、常に同一の遅延を有することになる。なお図２においては、簡略化のために、可変遅延回路５１−１乃至５１−５、遅延制御回路５２、位相比較器５３を纏めて、遅延回路２６として示している。
【００２９】
クロック信号ＣＬＫは、そのまま位相比較器５３の一方の入力端子に入力されると共に、４つの可変遅延回路５１−１乃至５１−４によって遅延された後に位相比較器５３のもう一方の入力端子に遅延クロック信号ＤＣＬＫとして入力される。位相比較器５３は、クロック信号ＣＬＫと遅延クロック信号ＤＣＬＫとの位相を比較して、位相比較結果を遅延制御回路５２に供給する。
【００３０】
遅延制御回路５２は、クロック信号ＣＬＫと遅延クロック信号ＤＣＬＫとの位相が同一（正確には遅延クロック信号ＤＣＬＫが３６０度遅延した位相）となるように、制御信号を生成して４つの可変遅延回路５１−１乃至５１−４の遅延量を調整する。即ち、クロック信号ＣＬＫと遅延クロック信号ＤＣＬＫとのエッジタイミングを比較して、遅延クロック信号ＤＣＬＫのエッジタイミングが相対的に早い場合には遅延量を増やすように制御し、遅延クロック信号ＤＣＬＫのエッジタイミングが相対的に遅い場合には遅延量を減らすように制御する。
【００３１】
上記の遅延調整の結果、遅延クロック信号ＤＣＬＫはクロック信号ＣＬＫより３６０度位相が遅れた状態に制御される。前述のように可変遅延回路５１−１乃至５１−４は同一の回路構成で同一の遅延量を有するので、遅延クロック信号ＤＣＬＫがクロック信号ＣＬＫより３６０度位相が遅れた状態では、一つの可変遅延回路は、クロック信号ＣＬＫの１／４サイクルに相当する遅延量を有することになる。
【００３２】
図４は、クロック信号ＣＬＫ、遅延クロック信号ＤＣＬＫ、及び可変遅延回路５１−１の出力の関係を示した図である。
【００３３】
図４に示されるように、遅延クロック信号ＤＣＬＫは、クロック信号ＣＬＫより３６０度位相が遅れるように調整される。この時、４つの可変遅延回路５１−１乃至５１−４の遅延量はクロック信号ＣＬＫの１サイクルに等しいので、可変遅延回路５１−１の出力は、クロック信号ＣＬＫを１／４サイクルだけ遅延した信号となる。即ち、可変遅延回路５１−１の遅延量は、クロック信号ＣＬＫの１／４サイクルに等しい遅延量に設定される。
【００３４】
図３において、可変遅延回路５１−５は、他の可変遅延回路と同じ制御信号で同じ遅延量を有するように制御されるので、クロック信号ＣＬＫの１／４サイクルに等しい遅延を有することになる。この結果、可変遅延回路５１−５に入力されるデータストローブ信号ＤＳは、クロック信号ＣＬＫの１／４サイクル分だけ遅延され、ラッチ回路２７にタイミング信号として供給される。ラッチ回路２７は、供給されたタイミング信号を用いてデータ信号ＤＱをラッチする。
【００３５】
ラッチ回路２７に供給されるタイミング信号は、データストローブ信号ＤＳをクロック信号ＣＬＫの１／４サイクル分だけ遅延した信号である。またデータ信号ＤＱにおけるデータ変化タイミングは、データストローブ信号ＤＳの立ち上り及び立下りエッジである。従って、ラッチ回路２７に供給されるタイミング信号は、データ信号ＤＱにおけるデータ変化タイミングの丁度真中でデータ信号ＤＱをラッチすることになる。従って、最適なデータホールド時間とデータセットアップ時間を実現することが出来る。
【００３６】
また製造プロセスの誤差、動作温度や電源電圧の変動等、種々の変動要因によって可変遅延回路の遅延が変動しても、クロック信号の位相比較に基づく遅延量制御によって、可変遅延回路５１−５の遅延量がクロック信号の１／４サイクルになるように調整されるので、種々の変動要因が存在する条件下でも最適なデータ取り込みタイミングを確保することが出来る。
【００３７】
図５は、位相比較器５３及び遅延制御回路５２の回路構成の一例を示す回路図である。図５の回路に入力される信号Ｓ１及びＳ２は、クロック信号ＣＬＫ及び遅延クロック信号ＤＣＬＫに対応する。
【００３８】
図５の回路は、ＮＡＮＤ回路１４１乃至１４５、インバータ１４６乃至１４９、ＮＡＮＤ回路１５０及び１５１、インバータ１５２及び１５３、バイナリカウンタ１５４、インバータ１５５、ＮＡＮＤ回路１５６及び１５７、及びインバータ１５８及び１５９を含む。例えば、ＮＡＮＤ回路１４１乃至１４５及びインバータ１４６乃至１４９が位相比較器５３を構成し、残りの部分が遅延制御回路５２を構成すると考えればよい。
【００３９】
ＮＡＮＤ回路１４４及び１４５はラッチを構成し、図５に示されるように初期状態では２つの入力がＬＯＷであり、２つの出力はＨＩＧＨである。信号Ｓ１の立ち上がりエッジが、信号Ｓ２の立ち上がりエッジより早い場合、ＮＡＮＤ回路１４３の出力の方がＮＡＮＤ回路１４２の出力よりも先にＨＩＧＨになる。従って、ＮＡＮＤ回路１４５の出力がＬＯＷになり、ＮＡＮＤ回路１４４の出力はＨＩＧＨのままである。この状態はラッチされるので、その後信号Ｓ２の立ち上がりエッジによってＮＡＮＤ回路１４２の出力がＨＩＧＨになっても状態は変化しない。従って、信号Ｓ１の方が位相が進んでいる場合には、インバータ１４９の出力はＨＩＧＨになる。逆に信号Ｓ２の方が位相が進んでいる場合には、インバータ１５５の出力がＨＩＧＨになる。
【００４０】
ここでインバータ１４８からの信号は、適切なタイミングでＮＡＮＤ回路１４２及び１４３の出力を同時にＬＯＷにすることで、ラッチの状態を初期状態に戻す役目を果たす。このような構成にしないと、信号Ｓ１の方が位相が進んでいる場合に、ＮＡＮＤ回路１４３の出力がＨＩＧＨになり続いてＮＡＮＤ回路１４２の出力がＨＩＧＨになった後、信号Ｓ１が信号Ｓ２より先にＬＯＷに戻ることでラッチの状態が逆転され、ＮＡＮＤ回路１４４の出力がＬＯＷになってしまう。これを避けるために、ＮＡＮＤ回路１４２及び１４３の出力を同時にＬＯＷにすることが行われる。
【００４１】
インバータ１４８の出力信号は、バイナリカウンタ１５４に供給される。バイナリカウンタ１５４の２つの出力は、入力信号Ｓ１及びＳ２の１サイクル毎に交互にＨＩＧＨになる信号である。バイナリカウンタ１５４は、ＮＡＮＤ回路１６１乃至１６８と、インバータ１６９乃至１７１を含む。その動作は従来技術の範囲内であるので、説明を省略する。
【００４２】
バイナリカウンタ１５４の２つの出力は、ＮＡＮＤ回路１５０及び１５１の一方の入力に供給される。ＮＡＮＤ回路１５０及び１５１のもう一方の入力には、インバータ１４９からの出力が供給される。更にバイナリカウンタ１５４の２つの出力は、ＮＡＮＤ回路１５６及び１５７の一方の入力に供給される。ＮＡＮＤ回路１５６及び１５７のもう一方の入力には、インバータ１５５からの出力が供給される。
【００４３】
従って、信号Ｓ１の方が信号Ｓ２より位相が進んでいる場合には、ＮＡＮＤ回路１５０及び１５１の出力を反転するインバータ１５２及び１５３から、ＨＩＧＨパルスが交互に出力されることになる。逆に信号Ｓ２の方が位相が進んでいる場合には、ＮＡＮＤ回路１５６及び１５７の出力を反転するインバータ１５８及び１５９から、ＨＩＧＨパルスが交互に出力される。
【００４４】
インバータ１５２及び１５３或いはインバータ１５８及び１５９から交互に出力されるＨＩＧＨパルスが、可変遅延回路に供給されて、可変遅延回路の遅延量を調整する。
【００４５】
図６は可変遅延回路の構成の一部を示す回路図であり、図７は可変遅延回路の構成の残りの部分を示す回路図である。図６及び図７の回路構成で、可変遅延回路の全体を構成する。
【００４６】
可変遅延回路は、ＮＯＲ回路２０１−０乃至２０１−ｎ、インバータ２０２−１乃至２０２−ｎ、ＮＡＮＤ回路２０３−１乃至２０３−ｎ、ＮＭＯＳトランジスタ２０４−１乃至２０４−ｎ、ＮＭＯＳトランジスタ２０５−１乃至２０５−ｎ、ＮＭＯＳトランジスタ２０６−１乃至２０６−ｎ、及びＮＭＯＳトランジスタ２０７−１乃至２０７−ｎを含む。リセット信号ＲがＬＯＷにされると、図６の回路はリセットされる。即ち、リセット信号ＲがＬＯＷになると、ＮＡＮＤ回路２０３−１乃至２０３−ｎの出力がＨＩＧＨになり、インバータ２０２−１乃至２０２−ｎの出力がＬＯＷになる。ＮＡＮＤ回路２０３−１乃至２０３−ｎとインバータ２０２−１乃至２０２−ｎとの各ペアは、互いの出力を互いの入力とすることでラッチを形成する。従って、上記リセット信号Ｒで設定された初期状態は、リセット信号ＲがＨＩＧＨに戻っても保持される。
【００４７】
この初期状態では、図６に示されるように、ＮＯＲ回路２０１−０の出力Ｐ（０）はＨＩＧＨであり、ＮＯＲ回路２０１−１乃至２０１−ｎの出力Ｐ（１）乃至Ｐ（ｎ）はＬＯＷである。即ち出力Ｐ（０）だけがＨＩＧＨである。
【００４８】
遅延量を大きくする必要がある場合には、信号線Ａ及びＢに交互にＨＩＧＨパルスを供給する。まず信号線ＢにＨＩＧＨパルスが供給されると、ＮＭＯＳトランジスタ２０４−１がオンになる。このときＮＭＯＳトランジスタ２０６−１がオンであるので、ＮＡＮＤ回路２０３−１の出力がグランドに接続されて、強制的にＨＩＧＨからＬＯＷに変化させられる。従ってインバータ２０２−１の出力はＨＩＧＨになり、この状態がＮＡＮＤ回路２０３−１とインバータ２０２−１からなるラッチに保持される。またこの時出力Ｐ（０）はＨＩＧＨからＬＯＷに変化し、出力Ｐ（１）はＬＯＷからＨＩＧＨに変化する。従ってこの状態では、出力Ｐ（１）のみがＨＩＧＨになる。
【００４９】
次に信号線ＡにＨＩＧＨパルスが供給されると、ＮＭＯＳトランジスタ２０４−２がオンになる。このときＮＭＯＳトランジスタ２０６−２がオンになっているので、ＮＡＮＤ回路２０３−２の出力がグランドに接続されて、強制的にＨＩＧＨからＬＯＷに変化させられる。従ってインバータ２０２−２の出力はＨＩＧＨになり、この状態がＮＡＮＤ回路２０３−２とインバータ２０２−２からなるラッチに保持される。またこの時出力Ｐ（１）はＨＩＧＨからＬＯＷに変化し、出力Ｐ（２）はＬＯＷからＨＩＧＨに変化する。従ってこの状態では、出力Ｐ（２）だけがＨＩＧＨになる。
【００５０】
このように信号線Ａ及びＢに交互にＨＩＧＨパルスを供給することで、出力Ｐ（０）乃至Ｐ（ｎ）のうちで一つだけＨＩＧＨである出力を一つずつ右にずらしていくことが出来る。
【００５１】
遅延量を小さくする必要がある場合には、信号線Ｃ及びＤに交互にＨＩＧＨパルスを供給する。この場合の動作は、上述の動作と逆であるので、詳細な説明は省略するが、 信号線Ｃ及びＤに交互にＨＩＧＨパルスを供給することで、出力Ｐ（０）乃至Ｐ（ｎ）のうちで一つだけＨＩＧＨである出力を一つずつ左にずらしていくことが出来る。
【００５２】
これらの出力信号Ｐ（１）乃至Ｐ（ｎ）を、可変遅延回路の図７の回路部分に供給することで、信号の遅延量を調整する。
【００５３】
可変遅延回路の図７の回路部分は、インバータ２１０、ＮＡＮＤ回路２１１−１乃至２１１−ｎ、ＮＡＮＤ回路２１２−１乃至２１２−ｎ、及びインバータ２１３−１乃至２１３−ｎを含む。ここでＮＡＮＤ回路２１２−１乃至２１２−ｎ及びインバータ２１３−１乃至２１３−ｎが、遅延素子列を構成する。
【００５４】
ＮＡＮＤ回路２１１−１乃至２１１−ｎの一方の入力には、入力信号ＳＩの反転信号がインバータ２１０から供給され、もう一方の入力には信号Ｐ（１）乃至Ｐ（ｎ）が供給される。信号Ｐ（１）乃至Ｐ（ｎ）のうちで、一つだけＨＩＧＨである信号をＰ（ｘ）とする。
【００５５】
ＮＡＮＤ回路２１１−１乃至２１１−ｎうちでＮＡＮＤ回路２１１−ｘ以外のものは、一方の入力がＬＯＷであるから、出力はＨＩＧＨレベルになる。このＨＩＧＨレベルを一方の入力に受け取るＮＡＮＤ回路２１２−１乃至２１２−ｎのうちでＮＡＮＤ回路２１２−ｘ以外のものは、他方の入力に対するインバータとして機能する。
【００５６】
従って、ＮＡＮＤ回路２１２−ｘより図面左側にある遅延素子列は、ＮＡＮＤ回路２１２−ｎの一方の入力に与えられる固定のＨＩＧＨレベルを伝達する。従って、ＮＡＮＤ回路２１２−ｘの一方の入力はＨＩＧＨである。ＮＡＮＤ回路２１２−ｘのもう一方の入力には、インバータ２１０及びＮＡＮＤ回路２１１−ｘを介して、入力信号ＳＩが供給される。従って、ＮＡＮＤ回路２１２−ｘからインバータ２１３−１までの遅延素子列は、入力信号ＳＩを遅延させながら伝播させ、遅延された信号が出力信号ＳＯとして得られる。この場合の出力信号ＳＯは、入力信号ＳＩに対して、遅延素子ｘ段分の遅延時間だけ遅れることになる。
【００５７】
このように、図５に示される位相比較器５３及び遅延制御回路５２がクロック信号の位相を比較して、この位相比較結果に基づいて、交互にＨＩＧＨになるパルス信号を出力する。このパルス信号が可変遅延回路の図６に示される回路部分に供給され、出力信号Ｐ（１）乃至Ｐ（ｎ）のうちで唯一ＨＩＧＨである信号の位置を制御し、この信号Ｐ（１）乃至Ｐ（ｎ）によって、可変遅延回路の図７に示される回路部分の遅延量を設定する。
【００５８】
図８は、本発明によるデータ取り込み回路の第２の実施例の構成を示す。
【００５９】
図８のデータ取り込み回路５０Ａは、３つの可変遅延回路５１−１、５１−２、及び５１−５、遅延制御回路５２、位相比較器５３、及びラッチ回路２７を含む。
【００６０】
クロック信号ＣＬＫの反転信号／ＣＬＫが、位相比較器５３の一方の入力端子に入力される。またクロック信号ＣＬＫが、２つの可変遅延回路５１−１及び５１−２によって遅延された後に、位相比較器５３のもう一方の入力端子に遅延クロック信号ＤＣＬＫとして入力される。位相比較器５３は、反転クロック信号／ＣＬＫと遅延クロック信号ＤＣＬＫとの位相を比較して、位相比較結果を遅延制御回路５２に供給する。
【００６１】
遅延制御回路５２は、反転クロック信号／ＣＬＫと遅延クロック信号ＤＣＬＫとの位相が同一となるように、制御信号を生成して２つの可変遅延回路５１−１及び５１−２の遅延量を調整する。即ち、反転クロック信号／ＣＬＫと遅延クロック信号ＤＣＬＫとのエッジタイミングを比較して、遅延クロック信号ＤＣＬＫのエッジタイミングが相対的に早い場合には遅延量を増やすように制御し、遅延クロック信号ＤＣＬＫのエッジタイミングが相対的に遅い場合には遅延量を減らすように制御する。
【００６２】
上記の遅延調整の結果、遅延クロック信号ＤＣＬＫは反転クロック信号／ＣＬＫと同位相の状態に制御される。即ち、遅延クロック信号ＤＣＬＫはクロック信号ＣＬＫより１８０度位相が遅れた状態に制御される。可変遅延回路５１−１及び５１−２は同一の回路構成で同一の遅延量を有するので、遅延クロック信号ＤＣＬＫがクロック信号ＣＬＫより１８０度位相が遅れた状態では、一つの可変遅延回路は、クロック信号ＣＬＫの１／４サイクルに相当する遅延量を有することになる。
【００６３】
可変遅延回路５１−５は、他の可変遅延回路と同じ制御信号で同じ遅延量を有するように制御されるので、クロック信号ＣＬＫの１／４サイクルに等しい遅延を有することになる。この結果、可変遅延回路５１−５に入力されるデータストローブ信号ＤＳは、クロック信号ＣＬＫの１／４サイクル分だけ遅延され、ラッチ回路２７にタイミング信号として供給される。ラッチ回路２７は、供給されたタイミング信号を用いてデータ信号ＤＱをラッチする。
【００６４】
従って、製造プロセスの誤差、動作温度や電源電圧の変動等、種々の変動要因が存在する条件下であっても、最適なデータ取り込みタイミングを確保することが出来る。また可変遅延回路の数を削減して回路規模を縮小し、コスト削減を図ることが出来る。
【００６５】
図９は、本発明によるデータ取り込み回路の第３の実施例の構成を示す。
【００６６】
図９のデータ取り込み回路５０Ｂは、３つの可変遅延回路５１−１、５１−２、及び５１−５、遅延制御回路５２、位相比較器５３、及びラッチ回路２７を含む。
【００６７】
クロック信号ＣＬＫの２倍の周波数のクロック信号ＣＬＫ２が、クロック発生回路２１（図２参照）によって生成され、位相比較器５３の一方の入力端子に入力されると共に、２つの可変遅延回路５１−１及び５１−２によって遅延された後に、位相比較器５３のもう一方の入力端子に遅延クロック信号ＤＣＬＫ２として入力される。位相比較器５３は、クロック信号ＣＬＫ２と遅延クロック信号ＤＣＬＫ２との位相を比較して、位相比較結果を遅延制御回路５２に供給する。
【００６８】
遅延制御回路５２は、クロック信号ＣＬＫ２と遅延クロック信号ＤＣＬＫ２との位相が同一（正確には遅延クロック信号ＤＣＬＫ２が３６０度遅延した位相）となるように、制御信号を生成して２つの可変遅延回路５１−１及び５１−２の遅延量を調整する。この遅延調整の結果、遅延クロック信号ＤＣＬＫ２はクロック信号ＣＬＫ２から位相が３６０度遅延した状態に制御される。可変遅延回路５１−１及び５１−２は同一の回路構成で同一の遅延量を有するので、遅延クロック信号ＤＣＬＫ２がクロック信号ＣＬＫ２より３６０度位相が遅れた状態では、一つの可変遅延回路は、クロック信号ＣＬＫ２の１／２サイクルに相当する遅延量を有することになる。クロック信号ＣＬＫ２の２倍の周波数を有するクロック信号ＣＬＫのサイクルで考えた場合には、一つの可変遅延回路は、１／４サイクルに相当する遅延量を有することになる。
【００６９】
この結果、可変遅延回路５１−５は、クロック信号ＣＬＫの１／４サイクルに等しい遅延を有することになる。またラッチ回路２７は、クロック信号ＣＬＫの１／４サイクル分だけ遅延されたタイミング信号によって、データ信号ＤＱをラッチすることになる。
【００７０】
従って、製造プロセスの誤差、動作温度や電源電圧の変動等、種々の変動要因が存在する条件下であっても、最適なデータ取り込みタイミングを確保することが出来る。また可変遅延回路の数を削減して回路規模を縮小し、コスト削減を図ることが出来る。
【００７１】
図１０は、本発明によるデータ取り込み回路の第４の実施例の構成を示す。
【００７２】
図１０のデータ取り込み回路５０Ｃは、２つの可変遅延回路５１−１及び５１−５、遅延制御回路５２、位相比較器５３、及びラッチ回路２７を含む。
【００７３】
クロック信号ＣＬＫの２倍の周波数のクロック信号ＣＬＫ２及びその反転信号／ＣＬＫ２が、クロック発生回路２１（図２参照）によって生成される。反転クロック信号／ＣＬＫ２は、位相比較器５３の一方の入力端子に入力され、クロック信号ＣＬＫ２は、可変遅延回路５１−１によって遅延された後に位相比較器５３のもう一方の入力端子に遅延クロック信号ＤＣＬＫ２として入力される。位相比較器５３は、反転クロック信号／ＣＬＫ２と遅延クロック信号ＤＣＬＫ２との位相を比較して、位相比較結果を遅延制御回路５２に供給する。
【００７４】
遅延制御回路５２は、反転クロック信号／ＣＬＫ２と遅延クロック信号ＤＣＬＫ２との位相が同一となるように、制御信号を生成して可変遅延回路５１−１の遅延量を調整する。この遅延調整の結果、遅延クロック信号ＤＣＬＫ２はクロック信号ＣＬＫ２より１８０度位相が遅れた状態に制御される。即ち、可変遅延回路５１−１は、クロック信号ＣＬＫ２の１／２サイクルに相当する遅延量を有することになる。クロック信号ＣＬＫ２の２倍の周波数を有するクロック信号ＣＬＫのサイクルで考えた場合には、可変遅延回路５１−１は、１／４サイクルに相当する遅延量を有することになる。
【００７５】
この結果、可変遅延回路５１−５は、クロック信号ＣＬＫの１／４サイクルに等しい遅延を有することになる。またラッチ回路２７は、クロック信号ＣＬＫの１／４サイクル分だけ遅延されたタイミング信号によって、データ信号ＤＱをラッチすることになる。
【００７６】
従って、製造プロセスの誤差、動作温度や電源電圧の変動等、種々の変動要因が存在する条件下であっても、最適なデータ取り込みタイミングを確保することが出来る。また可変遅延回路の数を削減して回路規模を縮小し、コスト削減を図ることが出来る。
【００７７】
図１１は、本発明によるデータ取り込み回路の第５の実施例の構成を示す。図１１において、図３と同一の構成要素は同一の参照番号で参照され、その説明は省略される。
【００７８】
データ取り込み回路５０Ｄは、図３のデータ取り込み回路５０と比較して、遅延制御回路５２が取り除かれる。またデータ取り込み回路５０Ｄは、インターフェイス２５（図２参照）を介して、マイクロプロセッサ１２に接続される。
【００７９】
データ取り込み回路５０Ｄの位相比較器５３は、位相比較結果をマイクロプロセッサ１２に送る。マイクロプロセッサ１２は、応答として制御信号を供給し、データ取り込み回路５０Ｄの可変遅延回路５１−１乃至５１−５の遅延量を制御する。具体的には、図５に示される位相比較器５３において、入力信号Ｓ１及びＳ２のどちらの立ち上りエッジか時間的に先行するかを示す信号として、例えばインバータ１４９の出力を、インターフェイス２５を介してマイクロプロセッサ１２に供給すればよい。またマイクロプロセッサ１２からは、図６に示される可変遅延回路において、遅延を増大させるか減少させるかに応じて信号線Ａ及びＢ或いは信号線Ｃ及びＤに供給される交互にＨＩＧＨになるパルス信号を、制御信号として供給すればよい。
【００８０】
このように位相比較結果を位相比較器５３からマイクロプロセッサ１２に送り、可変遅延回路の遅延量調整のための制御信号をマイクロプロセッサ１２から可変遅延回路に供給する構成とすれば、遅延制御回路をなくす構成とすることが出来るので、回路規模を小さくすることが可能になる。またハードワイヤードな結線制御でなく、マイクロプロセッサ１２で実行するプログラムとしてのソフトウェア制御によって遅延時間を調整することになるので、設定変更や構成変更に対して容易に対応可能である。
【００８１】
なお上記のように位相比較結果を位相比較器５３からマイクロプロセッサに送り可変遅延回路の遅延量調整のための制御信号をマイクロプロセッサから可変遅延回路に供給する構成は、図８乃至図１０に示されるデータ取り込み回路の第２乃至第４の実施例の構成にも適用可能であることは明らかである。また位相比較結果を受け取り遅延制御のための制御信号を供給するのは、マイクロプロセッサ１２である必要はなく、別のマイクロプロセッサ或いは同様の制御プロセッサ等であってもよい。
【００８２】
また上記実施例の説明において、メモリコントローラ１０としては、マイクロプロセッサ１２のデータバスの幅が６４ビットでありメモリデバイス１１のデータバスの幅が３２ビットである場合にデータバス幅の変換を行うコントローラとしたが、本発明はこのような構成に限られるものではなく、種々の制御機能を備えた様々なコントローラに適用可能なものである。
【００８３】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【００８４】
【発明の効果】
本発明では、ラッチ回路に供給されるタイミング信号は、データストローブ信号をクロック信号ＣＬＫの略１／４サイクル分だけ遅延した信号であるので、データ信号におけるデータ変化タイミングの略真中でデータ信号をラッチすることになる。従って、最適なデータホールド時間とデータセットアップ時間を実現することが出来る。また所定値に遅延時間を設定するのではなく、フィードバック制御によってクロック信号の１／４サイクルになるように遅延時間を制御するので、製造プロセスの誤差、動作温度や電源電圧の変動等、種々の変動要因が存在しても、最適なデータ取り込みタイミングを確保することが出来る。これによって信頼性のあるメモリシステムを構築することが可能になる。
【００８５】
またクロック信号の反転信号や、クロック信号の２倍の周波数の信号をフィードバック制御における参照信号として用いることで、可変遅延回路列の規模を縮小することが可能になり、最適なデータ取り込みタイミングを確保するためのコストを抑えることが出来る。
【図面の簡単な説明】
【図１】本発明を適用するシステムの一例の構成を示す図である。
【図２】本発明によるメモリコントローラの一例の概略構成を示す構成図である。
【図３】本発明によるデータ取り込み回路の第1の実施例の構成を示す構成図である。
【図４】クロック信号ＣＬＫ、遅延クロック信号ＤＣＬＫ、及び可変遅延回路の出力の関係を示した図である。
【図５】位相比較器及び遅延制御回路の回路構成の一例を示す回路図である。
【図６】可変遅延回路の構成の一部を示す回路図である。
【図７】可変遅延回路の構成の残りの部分を示す回路図である。
【図８】本発明によるデータ取り込み回路の第２の実施例の構成を示す構成図である。
【図９】本発明によるデータ取り込み回路の第３の実施例の構成を示す構成図である。
【図１０】本発明によるデータ取り込み回路の第４の実施例の構成を示す構成図である。
【図１１】本発明によるデータ取り込み回路の第５の実施例の構成を示す構成図である。
【符号の説明】
１０  メモリコントローラ
１１  メモリデバイス
１２  マイクロプロセッサ
２７  ラッチ回路
５１−１、５１−２、５１−３、５１−４、５１−５  可変遅延回路
５２  遅延制御回路
５３  位相比較器
【図１】
0004778132.tif 000002
【図２】
0004778132.tif 000003
【図３】
0004778132.tif 000004
【図４】
0004778132.tif 000005
【図５】
0004778132.tif 000006
【図６】
0004778132.tif 000007
【図７】
0004778132.tif 000008
【図８】
0004778132.tif 000009
【図９】
0004778132.tif 000010
【図１０】
0004778132.tif 000011
【図１１】
0004778132.tif 000012