(57)【要約】【課題】クロックの周波数が高い場合であっても動作マージンを十分に確保可能なレイテンシカウンタを提供する。【解決手段】内部クロックＬＣＬＫに基づいて互いに位相の異なる複数の分周クロックＬＣＬＫＥ，ＬＣＬＫＯを生成する分周回路１２０と、それぞれ対応する分周クロックＬＣＬＫＥ，ＬＣＬＫＯに基づいて内部コマンドのレイテンシをカウントする分周カウンタ回路１３０，１４０とを備える。このように、内部クロックＬＣＬＫそのものではなく、これを分周した分周クロックＬＣＬＫＥ，ＬＣＬＫＯに基づいてレイテンシのカウントを行っていることから、内部クロックＬＣＬＫの周波数が高い場合であっても動作マージンを十分に確保することが可能となる。【選択図】図１
2009020932.tif 000002
【特許請求の範囲】
【請求項１】
内部クロックに同期して内部コマンドのレイテンシをカウントするレイテンシカウンタであって、
前記内部クロックに基づいて互いに位相の異なる複数の分周クロックを生成する分周回路と、それぞれ対応する前記分周クロックに基づいて前記内部コマンドのレイテンシをカウントする複数の分周カウンタ回路とを備えることを特徴とするレイテンシカウンタ。
【請求項２】
前記内部コマンドのレイテンシを前記内部クロックの少なくとも１クロック分追加することが可能なレイテンシ追加回路をさらに備えることを特徴とする請求項１に記載のレイテンシカウンタ。
【請求項３】
前記分周回路は、所定の制御信号に応答して、前記内部クロックを分周することなくそのまま分周クロックとして一部の前記分周カウンタに供給可能であることを特徴とする請求項１又は２に記載のレイテンシカウンタ。
【請求項４】
前記複数の分周カウンタ回路は、それぞれ入力ゲート及び出力ゲートを備える複数のラッチ回路が並列接続され、前記内部コマンドが前記入力ゲートに共通に供給されるポイントシフト型ＦＩＦＯ回路と、前記入力ゲートのいずれか及び前記出力ゲートのいずれかを導通させるセレクタと含んでいることを特徴とする請求項１乃至３のいずれか一項に記載のレイテンシカウンタ。
【請求項５】
前記セレクタは、前記入力ゲート及び前記出力ゲートの選択動作を切り替えるカウンタを含み、前記カウンタは、前記内部クロックに同期してカウント値をバイナリ形式で出力することを特徴とする請求項４に記載のレイテンシカウンタ。
【請求項６】
前記カウンタは、前記カウント値を構成する複数のビットの変化タイミングを一致させる手段を含んでいることを特徴とする請求項５に記載のレイテンシカウンタ。
【請求項７】
前記カウンタはリップルカウンタであり、前記手段は遅延回路であることを特徴とする請求項６に記載のレイテンシカウンタ。
【請求項８】
前記セレクタは、バイナリ形式の前記カウント値をデコードするデコーダをさらに備え、前記デコーダの出力値に基づいて、導通させる前記入力ゲート及び前記出力ゲートの一方を指定することを特徴とする請求項５乃至７のいずれか一項に記載のレイテンシカウンタ。
【請求項９】
前記セレクタは、あらかじめ定められた前記入力ゲートと前記出力ゲートとの対応関係に基づいて、導通させる前記入力ゲート及び前記出力ゲートの他方を指定するシフト回路をさらに備えることを特徴とする請求項８に記載のレイテンシカウンタ。
【請求項１０】
前記シフト回路は、前記入力ゲートと前記出力ゲートとの前記対応関係を設定信号に基づいて変更可能であることを特徴とする請求項９に記載のレイテンシカウンタ。
【請求項１１】
請求項１乃至１０のいずれか一項に記載のレイテンシカウンタを備える半導体記憶装置。
【請求項１２】
請求項１１に記載の半導体記憶装置と、データプロセッサと、ＲＯＭと、ストレージデバイスと、Ｉ／Ｏデバイスとを備え、これらがシステムバスにより相互に接続されていることを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はレイテンシカウンタに関し、特に、同期式メモリ内において内部コマンドのレイテンシをカウントするレイテンシカウンタに関する。また、本発明は、このようなレイテンシカウンタを備える半導体記憶装置、並びに、このような半導体記憶装置を備えるデータ処理システムに関する。
【背景技術】
【０００２】
シンクロナスＤＲＡＭ（Synchronous Dynamic Random Access Memory）に代表される同期式メモリは、パーソナルコンピュータのメインメモリなどに広く利用されている。同期式メモリは、コントローラより供給されるクロック信号に同期してデータを入出力することから、より高速なクロックを使用することによって、データ転送レートを高めることが可能である。
【０００３】
しかしながら、シンクロナスＤＲＡＭにおいても、ＤＲＡＭコアはあくまでアナログ動作であり、極めて微弱な電荷をセンス動作により増幅する必要がある。そのため、リードコマンドが発行されてから、最初のデータを出力するまでの時間を短縮することはできず、リードコマンドが発行されてから所定の遅延時間が経過した後、外部クロックに同期して最初のデータが出力される。
【０００４】
この遅延時間は一般に「ＣＡＳレイテンシ」と呼ばれ、クロック周期の整数倍に設定される。例えば、ＣＡＳレイテンシが５（ＣＬ＝５）であれば、外部クロックに同期してリードコマンドを取り込んだ後、５周期後の外部クロックに同期して最初のデータが出力される。つまり、５クロック後に最初のデータが出力されることになる。このようなレイテンシをカウントするカウンタは、「レイテンシカウンタ」と呼ばれる。
【０００５】
レイテンシカウンタとしては、非特許文献１に記載された回路が知られている。非特許文献１に記載されたレイテンシカウンタは、リードコマンドをラッチする複数のラッチ回路と、ラッチ回路のいずれかからリードコマンドを読み出すスイッチと、リードコマンドをラッチさせるラッチ回路を順に循環しながら選択する第１のリングカウンタと、リードコマンドを読み出すラッチ回路を順に循環しながら選択する第２のリングカウンタとを備えている。これにより、ラッチされたリードコマンドは、第１のリングカウンタのカウント値と第２のリングカウンタのカウント値との差に応じたタイミングで出力されることになる。
【０００６】
しかしながら、入力用と出力用とで異なるリングカウンタを用いた場合、クロックの周波数が高くなると２つのリングカウンタの動作を同期させることが困難となる。また、リセット時においてこれら２つのリングカウンタを同時にリセットすることができない場合も生じる。このため、レイテンシのカウント数がずれてしまい、誤動作を起こしてしまうという問題があった。
【非特許文献１】Ho Young Song、外１５名、"A 1.2Gb/s/pin Double Data Rate SDRAM with On-Die-Termination", ISSCC 2003/SESSION 17/SRAM AND DRAM/PAPER 17.8、（米国）、IEEE, 2003年, p.314
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このような問題を解決すべく、本発明者は、入力用と出力用とでリングカウンタを共有する方法を提案した。この方法は、リングカウンタの値を出力用の値として用い、リングカウンタの値を所定値分ずらした値を入力用の値として用いることによって、リングカウンタの共有を可能としている。
【０００８】
しかしながら、本発明者がさらに検討を重ねた結果、場合によってはリングカウンタ自体が誤動作する可能性があることが判明した。つまり、リングカウンタは、循環接続された複数のラッチ回路のうち、いずれか１つのラッチ回路にアクティブレベル（例えばハイレベル）がラッチされ、これが循環的に移動する構成を有している。ところが、セルフリフレッシュモードやパワーダウンモードにエントリーする際、タイミングによっては内部クロックにハザードが出力されることがあり、これによってリングカウンタが不定状態になることがある。
【０００９】
リングカウンタが不定状態になると、複数のラッチ回路にアクティブレベルがラッチされたり、全てのラッチ回路に非アクティブレベルがラッチされるなどのエラーが生じてしまう。このようなエラーはメモリ全体を再起動しない限り回復できないことから、レイテンシカウンタはもはや正常な動作を行うことができなくなる。
【００１０】
本発明は、このような問題を解決すべくなされたものである。したがって、本発明の目的は改良されたレイテンシカウンタ及びこれを備える半導体記憶装置を提供することである。
【００１１】
また、本発明の他の目的は、カウンタが一時的に不定状態となっても、再起動することなく自動回復可能なレイテンシカウンタ及びこれを備える半導体記憶装置を提供することである。
【００１２】
また、本発明のさらに他の目的は、クロックの周波数が高い場合であっても動作マージンを十分に確保可能なレイテンシカウンタ及びこれを備える半導体記憶装置を提供することである。
【００１３】
また、本発明のさらに他の目的は、このような半導体記憶装置を用いたデータ処理システムを提供することである。
【課題を解決するための手段】
【００１４】
本発明によるレイテンシカウンタは、内部クロックに同期して内部コマンドのレイテンシをカウントするレイテンシカウンタであって、内部クロックに基づいて互いに位相の異なる複数の分周クロックを生成する分周回路と、それぞれ対応する分周クロックに基づいて内部コマンドのレイテンシをカウントする複数の分周カウンタ回路とを備えることを特徴とする。
【００１５】
カウンタの種類については特に限定されないが、カウント値をバイナリ形式で出力するカウンタ、例えば、リップルカウンタを用いることができる。リップルカウンタを用いた場合、インクリメント又はデクリメントする際、上位ビットほど変化が遅れるという問題があるが、本発明では、内部カウンタそのものではなく、これを分周した分周クロックに基づいてカウント動作を行っていることから、上位ビットの遅れを十分に吸収することが可能となる。しかも、分周によりリップルカウンタのビット数自体を減らすことができることから、分周しない場合と比べて、最上位ビットの遅れそのものが低減される。
【００１６】
但し、分周クロックに基づいてカウント動作を行っていることから、基本的に、分周数を倍数としたレイテンシしかカウントできない。例えば、分周クロックが内部クロックを２分周したクロックであるとすれば、偶数レイテンシしかカウントできなくなる。実用上この点が問題となる場合には、内部コマンドのレイテンシを内部クロックの少なくとも１クロック分追加することが可能なレイテンシ追加回路を設ければよい。これにより、任意のレイテンシに設定することが可能となる。
【発明の効果】
【００１７】
このように、本発明によれば、内部クロックそのものではなく、これを分周した分周クロックに基づいてレイテンシのカウントを行っていることから、クロックの周波数が高い場合であっても動作マージンを十分に確保することが可能となる。
【００１８】
しかも、カウント値をバイナリ形式で出力するカウンタを用いれば、カウント値がエラーとなること自体が無くなる。つまり、リングカウンタであれば、１つのラッチ回路にのみアクティブレベルがラッチされている必要があり、その他の状態はエラーとなるが、カウント値をバイナリ形式で出力するカウンタにはそのような制約が無い。
【００１９】
このため、カウンタが一時的に不定状態となり、その結果、カウンタのカウント値が変化してしまったとしても、レイテンシのカウント動作には何らの影響もない。つまり、カウンタが不定状態から自動回復することから、再起動することなく通常動作を継続することが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
【００２１】
図１は、本発明の好ましい実施形態によるレイテンシカウンタ１００の回路図である。
【００２２】
本実施形態によるレイテンシカウンタ１００は、リード動作時においてリードコマンドのＣＡＳレイテンシをカウントするカウンタ（ＣＬカウンタ）であるが、本発明の適用対象がこれに限定されるものではない。
【００２３】
図１に示すように、本実施形態によるレイテンシカウンタ１００は、内部クロックＬＣＬＫに基づいて分周クロックＬＣＬＫＥ，ＬＣＬＫＯを生成する分周回路１２０と、それぞれ対応する分周クロックＬＣＬＫＥ，ＬＣＬＫＯに基づいて内部コマンドＭＤＲＤＴのレイテンシをカウントする分周カウンタ回路１３０，１４０と、内部コマンドＭＤＲＤＴのレイテンシを１クロック分追加可能なレイテンシ追加回路１５０とを備える。
【００２４】
内部クロックＬＣＬＫは、図示しないＤＬＬ（Delay Locked Loop）回路によって生成されるクロックである。セルフリフレッシュ時やパワーダウン時においては、消費電力を低減するため、レイテンシカウンタ１００に供給される内部クロックＬＣＬＫは、停止回路１１０によって遮断される。
【００２５】
図２は、停止回路１１０の回路図である。
【００２６】
図２に示すように、停止回路１１０は、アイドル信号ＩＤＬＥ、セルフリフレッシュ信号ＳＲ及びパワーダウン信号ＰＤを受けるＡＮＤ回路１１１と、内部クロックＬＣＬＫに同期してＡＮＤ回路１１１の出力を取り込むラッチ回路１１２を有している。アイドル信号ＩＤＬＥ、セルフリフレッシュ信号ＳＲ及びパワーダウン信号ＰＤは、いずれも通常動作時においてはハイレベルを維持している。このため、通常動作時においてはラッチ回路１１２の出力もハイレベルに維持される。
【００２７】
ラッチ回路１１２の出力はＮＡＮＤ回路１１３の一方の入力端に供給される。ＮＡＮＤ回路１１３の他方の入力端には、内部クロックＬＣＬＫをインバータ１１４によって反転した信号が供給される。このため、通常動作時においては、停止回路１１０は内部クロックＬＣＬＫをそのまま通過させる。
【００２８】
一方、アイドル信号ＩＤＬＥ、セルフリフレッシュ信号ＳＲ及びパワーダウン信号ＰＤの少なくとも一つがローレベルとなった場合、つまり、アイドル状態、セルフリフレッシュモード及びパワーダウンモードのいずれかにエントリーした場合には、ラッチ回路１１２にはローレベルが取り込まれることになる。その結果、内部クロックＬＣＬＫはＮＡＮＤ回路１１３によって遮断されることになる。
【００２９】
このような停止回路１１０を通過した内部クロックＬＣＬＫは、図１に示した分周回路１２０及びレイテンシ追加回路１５０に供給される。
【００３０】
図３は分周回路１２０の回路図であり、図４はその動作波形図である。
【００３１】
図３に示すように、分周回路１２０は、内部クロックＬＣＬＫの立ち下がりエッジに同期してラッチ動作を行うラッチ回路１２１と、ラッチ回路の出力端Ｑより出力される分周信号ＬＱを反転させて入力端Ｄに供給するインバータ１２２と、内部クロックＬＣＬＫと分周信号ＬＱの論理積をとるＡＮＤ回路１２３と、内部クロックＬＣＬＫと分周信号ＬＱの反転信号の論理積をとるＡＮＤ回路１２４とを備えている。
【００３２】
このような回路構成により、図４に示すように、ＡＮＤ回路１２３の出力である分周クロックＬＣＬＫＥは、偶数番目の内部クロックＬＣＬＫに連動した波形となり、ＡＮＤ回路１２４の出力である分周クロックＬＣＬＫＯは、奇数番目の内部クロックＬＣＬＫに連動した波形となる。このため、分周クロックＬＣＬＫＥ，ＬＣＬＫＯは、アクティブな期間（ハイレベルである期間）が０．５ｔＣＫとなり、非アクティブな期間（ローレベルである期間）が１．５ｔＣＫとなる。
【００３３】
このように、本実施形態による分周回路は、内部クロックＬＣＬＫを２分周することによって、互いに位相の異なる２つの分周クロックＬＣＬＫＥ，ＬＣＬＫＯを生成している。生成された分周クロックＬＣＬＫＥ，ＬＣＬＫＯは、図１に示すように、分周カウンタ回路１３０，１４０にそれぞれ供給される。このため、分周カウンタ回路１３０，１４０は、内部クロックＬＣＬＫの半分の周波数で動作を行うことになる。
【００３４】
また、ラッチ回路１２１にはセット端子Ｓが設けられており、このセット端子Ｓには制御信号Ｌ１が供給されている。制御信号Ｌ１は、ＣＡＳレイテンシの値を１に設定する場合に活性化される信号である。したがって、ＣＡＳレイテンシを１に設定すると、分周回路１２０は、内部クロックＬＣＬＫを分周することなくそのまま分周クロックＬＣＬＫＥとして出力する。この場合、分周クロックＬＣＬＫＯのクロッキングは停止する。
【００３５】
図５は、分周カウンタ回路１３０，１４０の構成を示す回路図である。
【００３６】
図５に示すように、分周カウンタ回路１３０，１４０は互いに同じ回路構成を有しており、並列接続された複数のラッチ回路からなるポイントシフト型ＦＩＦＯ回路１６０と、その動作を制御するセレクタ２００，３００とを備えている。
【００３７】
セレクタ２００は、分周クロックＬＣＬＫＥに同期してカウント値をインクリメント（又はデクリメント）するカウンタ２１０と、カウンタ２１０のカウント値をデコードするデコーダ２２０と、デコーダ２２０の出力を分周クロックＬＣＬＫＥに同期させる同期回路２３０と、同期回路２３０の出力をシフトさせるシフト回路２４０によって構成されている。同様に、セレクタ３００は、分周クロックＬＣＬＫＯに同期してカウント値をインクリメント（又はデクリメント）するカウンタ３１０と、カウンタ３１０のカウント値をデコードするデコーダ３２０と、デコーダ３２０の出力を分周クロックＬＣＬＫＯに同期させる同期回路３３０と、同期回路３３０の出力をシフトさせるシフト回路３４０によって構成されている。
【００３８】
図６は、セレクタ２００に含まれるカウンタ２１０、デコーダ２２０及び同期回路２３０の回路図である。
【００３９】
図６に示すように、カウンタ２１０は、リップル型のフリップフロップ２１１，２１２が従属接続された２ビットのリップルカウンタである。フリップフロップ２１１のクロック端には分周クロックＬＣＬＫＥが供給されており、したがって、フリップフロップ２１１の出力ビットＢ１はバイナリ信号の最下位ビットを示す。フリップフロップ２１２の出力ビットＢ２はバイナリ信号の最上位ビットである。
【００４０】
これらフリップフロップ２１１，２１２の出力ビットＢ１，Ｂ２は、デコーダ２２０に供給される。しかしながら、出力ビットＢ１，Ｂ２の変化タイミングは同時ではなく、下位ビットから変化する。つまり、上位ビットの変化が遅れる。本実施形態では、このような変化タイミングの差を無くすために、遅延回路２１９を用いている。遅延回路２１９は、フリップフロップ１段分に相当する遅延量を有している。図６に示すように、遅延回路２１９は、フリップフロップ２１１とデコーダ２２０との間に接続されている。このため、フリップフロップ２１１の出力ビットＢ１は、フリップフロップ１段分の遅延が与えられた後、デコーダ２２０に入力される。
【００４１】
これにより、デコーダ２２０に入力されるビットＢ１，Ｂ２の変化タイミングは実質的に一致することになる。デコーダ２２０は、バイナリ形式であるビットＢ１，Ｂ２に基づいて、４本（＝２２）の出力のいずれか一つをハイレベルに活性化させる。
【００４２】
デコーダ２２０の出力を受ける同期回路２３０は、デコーダ２２０の出力に対応する４つのＡＮＤ回路２３０−０，２，４，６によって構成されている。ＡＮＤ回路２３０−０，２，４，６の一方の入力端には、デコーダ２２０の対応する出力がそれぞれ供給され、他方の入力端には分周クロックＬＣＬＫＥが共通に供給される。デコーダ２２０の出力は、カウンタ２１０や遅延回路２１９の存在により分周クロックＬＣＬＫＥよりも遅れて変化するが、本実施形態では、カウンタ２１０が僅か２ビットのリップルカウンタであり、遅延量が非常に小さいことから、デコーダ２２０の出力と分周クロックＬＣＬＫＥとのスキューはほとんど問題とならない。同期回路２３０の出力は、出力ゲート制御信号ＣＯＴ０，２，４，６として用いられる。
【００４３】
出力ゲート制御信号ＣＯＴ０，２，４，６は、図５に示したシフト回路２４０に供給される。シフト回路２４０は、これに基づいて入力ゲート制御信号ＣＩＴ０，２，４，６を生成する。
【００４４】
図７は、シフト回路２４０の回路図である。
【００４５】
図７に示すように、シフト回路２４０は、出力ゲート制御信号ＣＯＴ０，２，４，６をそれぞれ遅延させる遅延回路２４１−０，２，４，６と、いずれも遅延回路２４１−０，２，４，６の出力を受けるマルチプレクサ２４２−０，２，４，６とを備えている。
【００４６】
遅延回路２４１−０，２，４，６は、分周クロックＬＣＬＫＥに同期している出力ゲート制御信号ＣＯＴ０，２，４，６を外部クロック（ＣＫ）に同期させるべく、これらのタイミング差を相殺するための回路である。また、マルチプレクサ２４２−０，２，４，６は、出力ゲート制御信号ＣＯＴ０，２，４，６のうち、所定の一つがハイレベルとなった場合に、その出力である入力ゲート制御信号ＣＩＴ０，２，４，６をハイレベルに活性化させる回路である。
【００４７】
どの出力ゲート制御信号ＣＯＴ０，２，４，６がハイレベルとなった場合に入力ゲート制御信号ＣＩＴ０，２，４，６をハイレベルとするかは、マルチプレクサ２４２−０，２，４，６によって全て異なっている。その指定は、レイテンシ設定信号ＣＬによって行われる。
【００４８】
図８は、シフト回路２４０の機能を説明するための模式図である。
【００４９】
図８に示す外側のリングＣＯＴは出力ゲート制御信号に対応し、内側のリングＣＩＴは入力ゲート制御信号に対応している。そして、これらリングＣＯＴ，ＣＩＴに付された目盛りが一致する信号同士が対応する信号であることを意味する。
【００５０】
より具体的に説明すると、図８（ａ）は、出力ゲート制御信号ＣＯＴ０，２，４，６と入力ゲート制御信号ＣＩＴ０，２，４，６との差分を「０」に設定した例を示している。この場合、出力ゲート制御信号ＣＯＴ０がハイレベルになれば、これに対応する入力ゲート制御信号ＣＩＴ０がハイレベルとなり、出力ゲート制御信号ＣＯＴ２がハイレベルになれば、これに対応する入力ゲート制御信号ＣＩＴ２がハイレベルとなる。つまり、出力ゲート制御信号ＣＯＴｋ（ｋは０，２，４，６のいずれか）と入力ゲート制御信号ＣＩＴｊ（ｊは０，２，４，６のいずれか）が対応しているとすると、ｊ＝ｋの状態である。
【００５１】
一方、図８（ｂ）は、出力ゲート制御信号ＣＯＴ０，２，４，６と入力ゲート制御信号ＣＩＴ０，２，４，６との差分を「６」に設定した例を示している。これは、内側のリングＣＩＴを左回りに３目盛り分回転させたイメージである。この場合、出力ゲート制御信号ＣＯＴ０がハイレベルになれば、これに対応する入力ゲート制御信号ＣＩＴ６がハイレベルとなり、出力ゲート制御信号ＣＯＴ２がハイレベルになれば、これに対応する入力ゲート制御信号ＣＩＴ０がハイレベルとなる。つまり、ｊ−ｋ＝６又は−２の状態である。
【００５２】
差分は０，２，４，６のいずれかに設定可能であり、設定された状態においては、出力ゲート制御信号と入力ゲート制御信号との対応関係は固定される。このように、シフト回路は、出力ゲート制御信号ＣＯＴ０，２，４，６をシフトさせて、入力ゲート制御信号ＣＩＴ０，２，４，６を生成する。
【００５３】
このような差分は、必要とされるＣＡＳレイテンシに基づいて定められる。本実施形態においては、内部クロックＬＣＬＫを２分周した分周クロックＬＣＬＫＥを用いてカウント動作を行っていることから、セレクタ２００にて設定可能なＣＡＳレイテンシは、０，２，４，６のいずれかとなる。つまり、レイテンシを偶数にしか設定することはできない。分周カウンタ回路１４０に含まれるセレクタ３００についても、上述したセレクタ２００と同様の回路構成を有しており、出力ゲート制御信号ＣＯＴ１，３，５，７及び入力ゲート制御信号ＣＩＴ１，３，５，７を生成する。
【００５４】
このように、セレクタ２００，３００とも、偶数のレイテンシしかカウントすることができない。しかしながら、セレクタ２００とセレクタ３００は、内部クロックＬＣＬＫの１クロック分だけ位相がずれて動作していることから、コマンドの受け付けは随時可能である。したがって、偶数番目の内部クロックＬＣＬＫに同期した内部コマンドＭＤＲＤＴはセレクタ２００にてカウントされ、奇数番目の内部クロックＬＣＬＫに同期した内部コマンドＭＤＲＤＴはセレクタ３００にてカウントされることになる。
【００５５】
図５に戻って、ポイントシフト型ＦＩＦＯ回路１６０は、８つのラッチ回路１６０−０〜１６０−７によって構成される。ラッチ回路１６０−０〜１６０−７は、それぞれフリップフロップ１６０ｆ〜１６７ｆと、これらフリップフロップに対応してそれぞれ設けられた入力ゲート１６０ｉ〜１６７ｉ及び出力ゲート１６０ｏ〜１６７ｏによって構成されている。入力ゲート１６０ｉ〜１６７ｉには、シフト回路２４０，３４０の出力である入力ゲート制御信号ＣＩＴ０〜ＣＩＴ７がそれぞれ供給される。また、出力ゲート１６０ｏ〜１６７ｏには、同期回路２３０，３３０の出力である出力ゲート制御信号ＣＯＴ０〜ＣＯＴ７がそれぞれ供給される。
【００５６】
図９は、ラッチ回路１６０−０の回路図である。
【００５７】
図９に示すように、ラッチ回路１６０−０は、入力ゲート制御信号ＣＩＴ０がハイレベルになると入力ゲート１６０ｉが開き、リードコマンドＭＤＲＤＴを取り込む。取り込まれたリードコマンドＭＤＲＤＴは、フリップフロップ１６０ｆによって保持される。そして、出力ゲート制御信号ＣＯＴ０がハイレベルになると出力ゲート１６０ｏが開き、取り込まれたリードコマンドＭＤＲＤＴを出力する。
【００５８】
また、ラッチ回路１６０−０にはリセット回路１６０ｒが設けられている。リセット回路１６０ｒは、出力ゲート制御信号ＣＯＴ０がハイレベルからローレベルに変化したことに応答してフリップフロップ１６０ｆに保持されたリードコマンドＭＤＲＤＴを消去する。また、リセット信号ＲＥＳＥＴがハイレベルとなった場合には、フリップフロップ１６０ｆに保持されたリードコマンドＭＤＲＤＴを強制的に消去する。
【００５９】
他のラッチ回路１６０−１〜１６０−７の回路構成についても、入力ゲート制御信号ＣＩＴ１〜ＣＩＴ７及び出力ゲート制御信号ＣＯＴ１〜ＣＯＴ７が供給される他は、図９に示したラッチ回路１６０−０と同じ回路構成を有している。これらラッチ回路１６０−０〜１６０−７の出力は共通接続され、リードコマンドＤＲＣａとして用いられる。
【００６０】
図１に戻って、本実施形態によるレイテンシカウンタ１００は、ポイントシフト型ＦＩＦＯ回路１６０の後段に接続されたレイテンシ追加回路１５０をさらに備えている。
【００６１】
図１０は、レイテンシ追加回路１５０の回路図である。
【００６２】
図１０に示すように、レイテンシ追加回路１５０は、内部クロックＬＣＬＫの立ち下がりエッジに同期してリードコマンドＤＲＣａをラッチするラッチ回路１５１と、ラッチ回路１５１の出力及びリードコマンドＤＲＣａのいずれかを選択するマルチプレクサ１５２とを備えている。
【００６３】
マルチプレクサ１５２には、制御信号Ｌ２が供給されている。制御信号Ｌ２は、ＣＡＳレイテンシの値を奇数に設定する場合に活性化される信号である。したがって、制御信号Ｌ２が非活性である場合には、リードコマンドＤＲＣａがそのままリードコマンドＤＲＣｂとして出力される一方、制御信号Ｌ２が活性状態である場合には、リードコマンドＤＲＣａは一旦ラッチ回路１５１にラッチされた後にリードコマンドＤＲＣｂとして出力されることになる。これにより、制御信号Ｌ２が活性状態となると、ＣＡＳレイテンシが内部クロックＬＣＬＫの１クロック分追加されることになる。
【００６４】
本発明においてこのようなレイテンシ追加回路１５０を設けることは必須でないが、上述の通り、分周カウンタ回路１３０，１４０にて設定可能なＣＡＳレイテンシは偶数に限られている。このため、奇数レイテンシが要求される場合には、レイテンシ追加回路１５０を設けることにより、これを実現することが可能となる。
【００６５】
以上が本実施形態によるレイテンシカウンタ１００の構成である。次に、本実施形態によるレイテンシカウンタ１００の動作について説明する。
【００６６】
図１１は、本実施形態によるレイテンシカウンタ１００の動作を説明するためのタイミング図であり、レイテンシを偶数に設定したケースを示している。
【００６７】
図１１では、外部クロックＣＫのエッジ０に同期してリードコマンドＲＤが発行された例を示している。図１１に示すように、リードコマンドＲＤが発行されてから、内部のリードコマンドＭＤＲＤＴが生成されるまでには所定の時間がかかる。リードコマンドＭＤＲＤＴは、シフト回路２４０，３４０の出力に基づいて、ポイントシフト型ＦＩＦＯ回路１６０を構成する８つのフリップフロップ１６０ｆ〜１６７ｆのいずれかに保持される。本例では、最初のリードコマンドＭＤＲＤＴが生成されたタイミングにおいて入力ゲート制御信号ＣＩＴ０が選択された状態を示している。したがって、この場合、リードコマンドＭＤＲＤＴはフリップフロップ１６０ｆに格納されることになる。
【００６８】
フリップフロップ１６０ｆに格納されたリードコマンドＭＤＲＤＴは、カウンタ２１０のインクリメントによって出力ゲート制御信号ＣＯＴ０が選択されるまで、フリップフロップ１６０ｆに保持される。そして、出力ゲート制御信号ＣＯＴ０が選択されると、ポイントシフト型ＦＩＦＯ回路１６０の出力であるリードコマンドＤＲＣａが活性化する。本例では、レイテンシが偶数に設定されていることから、リードコマンドＤＲＣａはレイテンシ追加回路１５０をスルーし、そのままリードコマンドＤＲＣｂとして出力される。
【００６９】
リードコマンドＤＲＣｂは偶数番目の内部クロックＬＣＬＫに同期しており、これを用いて実際にリードデータＤＱが出力される。
【００７０】
その後、セルフリフレッシュモードやパワーダウンモードにエントリーすると、図１に示した停止回路１１０によって内部クロックＬＣＬＫが遮断される。これにより、レイテンシカウンタ１００の動作は停止する。この時、タイミングによっては内部クロックＬＣＬＫにハザードが出力されることがあり、これによってカウンタ２１０，２２０が不定状態になることがある。
【００７１】
しかしながら、本実施形態によるレイテンシカウンタ１００では、カウント値自体に意味はなく、通常動作時において正しくインクリメント（又はデクリメント）されれば問題は全く生じない。つまり、カウント値がエラーとなること自体が無く、不定状態となることによってカウント値が変化しても、そのまま次の動作を実行することができる。
【００７２】
図１２は、本実施形態によるレイテンシカウンタ１００の動作を説明するための別のタイミング図であり、レイテンシを奇数に設定したケースを示している。
【００７３】
レイテンシを奇数に設定した場合、分周カウンタ回路１３０，１４０より出力されたリードコマンドＤＲＣａは、レイテンシ追加回路１５０によって１クロック遅延され、リードコマンドＤＲＣｂとして出力される。これにより、リードコマンドＤＲＣｂは奇数番目の内部クロックＬＣＬＫに同期し、これを用いて実際にリードデータＤＱが出力される。
【００７４】
尚、図示しないが、レイテンシの値を１に設定した場合には、分周回路１２０による分周動作がストップし、内部クロックＬＣＬＫがそのまま分周カウンタ回路１３０に供給される。このため、分周カウンタ回路１３０内におけるカウント値は０〜３に設定することができ、レイテンシ＝１を実現することが可能となる。
【００７５】
以上説明したように、本実施形態によるレイテンシカウンタ１００によれば、内部クロックＬＣＬＫを２分周した分周クロックＬＣＬＫＥ，ＬＣＬＫＯに同期してカウント動作を行っていることから、内部クロックＬＣＬＫの周波数が高い場合であっても分周カウンタ回路１３０，１４０の動作マージンを十分に確保することが可能となる。
【００７６】
また、分周カウンタ回路１３０，１４０に含まれるリップルカウンタ２１０，３１０のビット数が少なくなることから、リップルカウンタにて生じる遅延が小さくなり、その結果、同期回路２３０，３３０に分周クロックＬＣＬＫＥ，ＬＣＬＫＯを直接供給することが可能となる。つまり、リップルカウンタの遅延が大きい場合、正しく同期を取るためには、分周クロックＬＣＬＫＥ，ＬＣＬＫＯをある程度遅延させてから同期回路２３０，３３０に入力する必要がある。この場合、遅延を回復させるための再同期回路を設けることによって、リードコマンドを内部クロックＬＣＬＫに再同期させる必要が生じる。このような再同期回路は、クロックの周波数が高い場合、コマンドの転送マージンを低下させる原因となりうる。しかしながら、本実施形態では、このような再同期回路は不要であり、その結果、クロックの周波数が高い場合であっても十分な転送マージンを確保することが可能となる。
【００７７】
しかも、本実施形態では、リップルカウンタ２１０，３１０を用いていることから、上述の通り、内部クロックＬＣＬＫのハザードに起因するエラーを防止することが可能となる。
【００７８】
しかも、レイテンシをカウントしている間、リードコマンドＭＤＲＤＴはポイントシフト型ＦＩＦＯ回路１６０内の一つのフリップフロップに保持されたままの状態であることから、リードコマンドの同期対象を外部クロックＣＫから内部クロックＬＣＬＫに移し替える時間的余裕を十分に確保することも可能となる。
【００７９】
本実施形態によるレイテンシカウンタは、特に、ＤＤＲ型のＤＲＡＭに用いることが最も好適である。
【００８０】
図１３は、本発明の好ましい実施形態による半導体記憶装置を用いたデータ処理システム４００の構成を示すブロック図であり、本実施形態による半導体記憶装置がＤＲＡＭである場合を示している。
【００８１】
図１３に示すデータ処理システム４００は、データプロセッサ４２０と、本実施形態による半導体記憶装置（ＤＲＡＭ）４３０が、システムバス４１０を介して相互に接続された構成を有している。データプロセッサ４２０としては、例えば、マイクロプロセッサ（ＭＰＵ）、ディジタルシグナルプロセッサ（ＤＳＰ）などを含まれるが、これらに限定されない。図１３においては簡単のため、システムバス４１０を介してデータプロセッサ４２０とＤＲＡＭ４３０とが接続されているが、システムバス４１０を介さずにローカルなバスによってこれらが接続されていても構わない。
【００８２】
また、図１３には、簡単のためシステムバス４１０が１組しか描かれていないが、必要に応じ、コネクタなどを介しシリアルないしパラレルに設けられていても構わない。また、図１３に示すメモリシステムデータ処理システムでは、ストレージデバイス４４０、Ｉ／Ｏデバイス４５０、ＲＯＭ４６０がシステムバス４１０に接続されているが、これらは必ずしも必須の構成要素ではない。
【００８３】
ストレージデバイス４４０としては、ハードディスクドライブ、光学ディスクドライブ、フラッシュメモリなどが挙げられる。また、Ｉ／Ｏデバイス４５０としては、液晶ディスプレイなどのディスプレイデバイスや、キーボード、マウスなどの入力デバイスなどが挙げられる。また、Ｉ／Ｏデバイス４５０は、入力デバイス及び出力デバイスのいずれか一方のみであっても構わない。さらに、図１３に示す各構成要素は、簡単のため１つずつ描かれているが、これに限定されるものではなく、１又は２以上の構成要素が複数個設けられていても構わない。
【００８４】
以上、本発明の好ましい実施形態について説明したが、本発明は、上記の実施形態に限定されることなく、本発明の主旨を逸脱しない範囲で種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることはいうまでもない。
【００８５】
例えば、上記実施形態では、分周回路１２０を用いて内部クロックＬＣＬＫを２分周しているが、本発明において分周数がこれに限定されるものではない。したがって、内部クロックＬＣＬＫがより高速である場合には、内部クロックＬＣＬＫを４分周するとともに、分周カウンタ回路を４台設けても構わない。
【００８６】
また、上記実施形態では、レイテンシを１クロック分追加するレイテンシ追加回路１５０を用いているが、本発明においてレイテンシ追加回路を設けることは必須でなく、実用上、奇数レイテンシの設定が不要であれば、当該回路を省略しても構わない。
【００８７】
さらに、上記実施形態では、レイテンシが１に設定されるケースを想定して分周動作を停止させる機能を持たせているが、実用上、このようなレイテンシの設定が不要であれば、当該機能を省略しても構わない。
【００８８】
さらに、上記実施形態では、カウンタ２１０，３１０としてリップルカウンタを用いているが、本発明がこれに限定されるものではない。
【図面の簡単な説明】
【００８９】
【図１】本発明の好ましい実施形態によるレイテンシカウンタ１００の回路図である。
【図２】停止回路１１０の回路図である。
【図３】分周回路１２０の回路図である。
【図４】分周回路１２０の動作波形図である。
【図５】分周カウンタ回路１３０，１４０の構成を示す回路図である。
【図６】カウンタ２１０、デコーダ２２０及び同期回路２３０の回路図である。
【図７】シフト回路２４０の回路図である。
【図８】シフト回路２４０の機能を説明するための模式図である。
【図９】ラッチ回路１６０−０の回路図である。
【図１０】レイテンシ追加回路１５０の回路図である。
【図１１】レイテンシカウンタ１００の動作を説明するためのタイミング図であり、レイテンシを偶数に設定したケースを示している。
【図１２】レイテンシカウンタ１００の動作を説明するための別のタイミング図であり、レイテンシを奇数に設定したケースを示している。
【図１３】本発明の好ましい実施形態によるデータ処理システム４００の構成を示すブロック図である。
【符号の説明】
【００９０】
１００      レイテンシカウンタ
１１０      停止回路
１１１，１２３，１２４，２３０−０，２，４，６      ＡＮＤ回路
１１２，１２１，１５１，１６０−０〜１６０−７      ラッチ回路
１１３      ＮＡＮＤ回路
１１４，１２２      インバータ
１２０      分周回路
１３０，１４０      分周カウンタ回路
１５０      レイテンシ追加回路
１５２      マルチプレクサ
１６０      ポイントシフト型ＦＩＦＯ回路
１６０ｆ〜１６７ｆ，２１１，２１２      フリップフロップ
１６０ｉ〜１６７ｉ      入力ゲート
１６０ｏ〜１６７ｏ      出力ゲート
１６０ｒ      リセット回路
２００，３００      セレクタ
２１０，２２０      カウンタ
２１９，２４１      遅延回路
２２０，３２０      デコーダ
２３０，２３０      同期回路
２４０，３４０    シフト回路
２４２      マルチプレクサ
４００      データ処理システム
４１０      システムバス
４２０      データプロセッサ
４４０      ストレージデバイス
４５０      デバイス
【図１】
2009020932.tif 000003
【図２】
2009020932.tif 000004
【図３】
2009020932.tif 000005
【図４】
2009020932.tif 000006
【図５】
2009020932.tif 000007
【図６】
2009020932.tif 000008
【図７】
2009020932.tif 000009
【図８】
2009020932.tif 000010
【図９】
2009020932.tif 000011
【図１０】
2009020932.tif 000012
【図１１】
2009020932.tif 000013
【図１２】
2009020932.tif 000014
【図１３】
2009020932.tif 000015