(57)【特許請求の範囲】
【請求項１】
１対の論理レベルの間で遷移し第１の周波数および第１の位相を有する第１のクロック信号を受け取る、第１のクロックラインと、
該第１の周波数および第２の位相を有する第２のクロック信号を受け取る、第２のクロックラインと、
該第２のクロックラインに結合され、該第２のクロック信号を受け取るスイッチ回路であって、第１のモードにおいては該第２のクロックラインを出力ラインに結合するように動作し、第２のモードにおいては定常状態電圧を該出力ラインに結合するように動作するスイッチ回路と、
該第１のクロックラインおよび該出力ラインに結合されたクロッキング回路であって、該出力ライン上において該第２のクロック信号を受け取ることに応答して、該第１のクロック信号の両論理レベルへの遷移でクロッキングし、該出力ライン上において該定常状態電圧を受け取ることに応答して、該第１のクロック信号の一方の論理レベルのみへの遷移でクロッキングするように構成された、クロッキング回路と、
を備え、該クロッキング回路は、該クロッキング回路がクロッキングする度ごとに所定の機能を実行する回路を含む、データレート制御回路。
【請求項２】
前記クロッキング回路はシフトレジスタを含む、請求項１に記載のデータレート制御回路。
【請求項３】
前記クロッキング回路はカウンタラッチを含む、請求項１に記載のデータレート制御回路。
【請求項４】
前記一方の論理レベルは、論理１の論理レベルを含む、請求項１に記載のデータレート制御回路。
【請求項５】
前記クロッキング回路は、前記出力ライン上において前記定常状態電圧を受け取ることに応答して、前記第１のクロック信号の論理１の論理レベルへの遷移でクロッキングする回路を含む、請求項１に記載のデータレート制御回路。
【請求項６】
前記クロッキング回路は、前記出力ライン上において前記定常状態電圧を受け取ることに応答して、前記第１のクロック信号の論理０の論理レベルへの遷移のみでクロッキングする回路を含む、請求項１に記載のデータレート制御回路。
【請求項７】
前記定常状態電圧は正の電圧を含む、請求項１に記載のデータレート制御回路。
【請求項８】
前記定常状態電圧はゼロボルトを含む、請求項１に記載のデータレート制御回路。
【請求項９】
前記スイッチ回路はスイッチング素子を含む、請求項１に記載のデータレート制御回路。
【請求項１０】
前記スイッチ回路はアンチヒューズを含む、請求項１に記載のデータレート制御回路。
【請求項１１】
前記スイッチ回路はトランジスタを含む、請求項１に記載のデータレート制御回路。
【請求項１２】
第１の周波数、第１の位相、第１のエッジ、および第２のエッジを有する第１のクロック信号を受け取る、第１のクロックラインと、
該第１の周波数、第２の位相、および第１のデューティサイクルを有する第２のクロック信号を受け取る、第２のクロックラインと、
該第２のクロックラインに結合され、出力ラインを有するデューティサイクル変換回路であって、該デューティサイクル変換回路は、該第２のクロック信号と、第２のデューティサイクルを有する基準信号とを受け取り、第１のモードにおいて該第２のクロックラインを該出力ラインに結合するように動作し、第２のモードにおいて該基準信号を該出力ラインに結合するように動作する、デューティサイクル変換回路と、
該第１のクロックラインおよび該出力ラインに結合されたクロッキング回路であって、該出力ライン上において該第１のデューティサイクルを有する信号を受け取ることに応答して、該第１のクロック信号の両エッジでクロッキングし、該出力ライン上において該第２のデューティサイクルを有する信号を受け取ることに応答して、該第１のクロック信号の一方のエッジのみでクロッキングするように構成された、クロッキング回路と、
を備え、該クロッキング回路は、該クロッキング回路がクロッキングする度ごとに所定の機能を実行する回路を含む、データレート制御回路。
【請求項１３】
前記第１のデューティサイクルは５０％であり、前記第２のデューティサイクルは１００％である、請求項１２に記載のデータレート制御回路。
【請求項１４】
前記第１のデューティサイクルは５０％であり、前記第２のデューティサイクルは０％である、請求項１２に記載のデータレート制御回路。
【請求項１５】
前記クロッキング回路はシフトレジスタを含む、請求項１２に記載のデータレート制御回路。
【請求項１６】
前記クロッキング回路はカウンタラッチを含む、請求項１２に記載のデータレート制御回路。
【請求項１７】
前記第１のエッジは立ち上がりエッジであり、前記第２のエッジは立ち下がりエッジである、請求項１２に記載のデータレート制御回路。
【請求項１８】
前記第１のエッジは立ち上がりエッジであり、前記第２のエッジは立ち下がりエッジであり、前記クロッキング回路は、前記出力ライン上において前記第２のデューティサイクルを有する信号を受け取ることに応答して、前記第１のクロック信号の該立ち上がりエッジのみでクロッキングする回路を含む、請求項１２に記載のデータレート制御回路。
【請求項１９】
前記第１のエッジは立ち上がりエッジであり、前記第２のエッジは立ち下がりエッジであり、前記クロッキング回路は、前記出力ライン上において前記第２のデューティサイクルを有する信号を受け取ることに応答して、前記第１のクロック信号の該立ち下がりエッジのみでクロッキングする回路を含む、請求項１２に記載のデータレート制御回路。
【請求項２０】
前記デューティサイクル変換回路はスイッチングエレメントを含む、請求項１２に記載のデータレート制御回路。
【請求項２１】
前記デューティサイクル変換回路はアンチヒューズを含む、請求項１２に記載のデータレート制御回路。
【請求項２２】
前記デューティサイクル変換回路はトランジスタを含む、請求項１２に記載のデータレート制御回路。
【請求項２３】
第１の周波数、第１の位相、第１のエッジ、および第２のエッジを有する第１のクロック信号を受け取る、第１のクロックラインと、
該第１の周波数および第２の位相を有する第２のクロック信号を受け取る、第２のクロックラインと、
該第２のクロックラインに結合され、出力ラインを有する周波数変換回路であって、該周波数変換回路は該第２のクロック信号と第２の周波数を有する基準信号とを受け取り、第１のモードにおいて該第２のクロックラインを該出力ラインに結合するように動作し、第２のモードにおいて該基準信号を該出力ラインに結合するように動作する、周波数変換回路と、
該第１のクロックラインおよび該出力ラインに結合されたクロッキング回路であって、該出力ライン上において該第１の周波数を有する信号を受け取ることに応答して、該第１のクロック信号の両エッジでクロッキングし、該出力ライン上において該第２の周波数を有する信号を受け取ることに応答して、該第１のクロック信号の一方のエッジのみでクロッキングするように構成された、クロッキング回路と、
を備え、該クロッキング回路は、該クロッキング回路がクロッキングする度ごとに所定の機能を実行する回路を含む、データレート制御回路。
【請求項２４】
前記第１の周波数は正の数である、請求項２３に記載のデータレート制御回路。
【請求項２５】
前記第２の周波数はゼロである、請求項２３に記載のデータレート制御回路。
【請求項２６】
前記クロッキング回路はシフトレジスタを含む、請求項２３に記載のデータレート制御回路。
【請求項２７】
前記クロッキング回路はカウンタラッチを含む、請求項２３に記載のデータレート制御回路。
【請求項２８】
前記第１のエッジは立ち上がりエッジであり、前記第２のエッジは立ち下がりエッジである、請求項２３に記載のデータレート制御回路。
【請求項２９】
前記第１のエッジは立ち上がりエッジであり、前記第２のエッジは立ち下がりエッジであり、前記クロッキング回路は、前記出力ライン上において前記第２の周波数を有する信号を受け取ることに応答して、前記第１のクロック信号の該立ち上がりエッジのみでクロッキングする回路を含む、請求項２３に記載のデータレート制御回路。
【請求項３０】
前記第１のエッジは立ち上がりエッジであり、前記第２のエッジは立ち下がりエッジであり、前記クロッキング回路は、前記出力ライン上において前記第２の周波数を有する信号を受け取ることに応答して、前記第１のクロック信号の該立ち下がりエッジのみでクロッキングする回路を含む、請求項２３に記載のデータレート制御回路。
【請求項３１】
前記周波数変換回路はスイッチングエレメントを含む、請求項２３に記載のデータレート制御回路。
【請求項３２】
前記周波数変換回路はアンチヒューズを含む、請求項２３に記載のデータレート制御回路。
【請求項３３】
前記周波数変換回路はトランジスタを含む、請求項２３に記載のデータレート制御回路。
【請求項３４】
第１の周波数、第１の位相、第１のエッジ、および第２のエッジを有する第１のクロック信号を受け取る、第１のクロックラインと、
該第１の周波数および第２の位相を有する第２のクロック信号を受け取る、第２のクロックラインと、
第１の端部および第２の端部を有するヒューズであって、該第１の端部は該第２のクロックラインに結合された、ヒューズと、
第１の面および第２の面を有するアンチヒューズであって、該第１の面は定常状態電圧源に結合され、該第２の面は該ヒューズの該第２の端部に結合された、アンチヒューズと、
該第１のクロックラインおよび該アンチヒューズの該第２の面に結合されたクロッキング回路であって、該ヒューズを介して該第２のクロック信号を受け取ることに応答して、該第１のクロック信号の両エッジでクロッキングし、該アンチヒューズを介して該定常状態電圧を受け取ることに応答して、該第１のクロック信号の一方のエッジのみでクロッキングするように構成された、クロッキング回路と、
を備え、該クロッキング回路は、該クロッキング回路がクロッキングする度ごとに所定の機能を実行する回路を含む、データレート制御回路。
【請求項３５】
前記クロッキング回路はシフトレジスタを含む、請求項３４に記載のデータレート制御回路。
【請求項３６】
前記クロッキング回路はカウンタラッチを含む、請求項３４に記載のデータレート制御回路。
【請求項３７】
前記第１のエッジは立ち上がりエッジであり、前記第２のエッジは立ち下がりエッジである、請求項３４に記載のデータレート制御回路。
【請求項３８】
前記第１のエッジは立ち上がりエッジであり、前記第２のエッジは立ち下がりエッジであり、前記クロッキング回路は、出力ライン上において前記定常状態電圧を受け取ることに応答して、前記第１のクロック信号の該立ち上がりエッジのみでクロッキングする回路を含む、請求項３４に記載のデータレート制御回路。
【請求項３９】
前記第１のエッジは立ち上がりエッジであり、前記第２のエッジは立ち下がりエッジであり、前記クロッキング回路は、出力ライン上において前記定常状態電圧を受け取ることに応答して、前記第１のクロック信号の該立ち下がりエッジのみでクロッキングする回路を含む、請求項３４に記載のデータレート制御回路。
【請求項４０】
第１の周波数と、第１の位相と、第１のエッジと、第２のエッジとを有する第１のクロック信号を受け取る第１のクロックラインと、
該第１の周波数と、第２の位相と、第３のエッジと、第４のエッジとを有する第２のクロック信号を受け取る第２のクロックラインと、
該第１のクロックラインと該第２のクロックラインとに接続されたスイッチ回路であって、第１の出力ラインと第２の出力ラインとを有し、該第１のクロックライン上の該第１のクロック信号と該第２のクロックライン上の該第２のクロック信号とを受け取り，該第１のクロックラインを該第１の出力ラインに接続し且つ該第２のクロックラインを該第２の出力ラインに接続する第１のモードで動作可能であり、該第１の出力ラインを定常状態電圧に接続し且つ該第２の出力ラインを第３のクロック信号に接続する第２のモードで動作可能であり、該第３のクロック信号が該第１の周波数と、第３の位相と、第５のエッジと、第６のエッジとを有する、スイッチ回路と、
該第１の出力ラインと該第２の出力ラインとに接続されたクロッキング回路であって、該第１の出力ライン上の信号が相対的に高電圧であるときにクロッキングするように構成され、さらに、該第２の出力ライン上の信号が相対的に低電圧であるときにクロッキングするように構成されている、クロッキング回路と、
を備え、該クロッキング回路は、該クロッキング回路がクロッキングする度ごとに所定の機能を実行する回路を含む、データレート制御回路。
【請求項４１】
アドレスバスを有するメモリ装置であって、
行列に配列された複数のメモリセルと、複数の行ラインと、該メモリセルの各列に対する少なくとも１つのディジットとを含む、メモリアレイ回路と、
該アドレスバスと該メモリアレイ回路とに接続されたアドレシング回路であって、該アドレスバス上の行アドレスおよび列アドレスを受け取り、且つ、コマンドワードに応答して該アレイ内の対応するメモリセルを活性化させるようになっており、データレート制御回路を含む、アドレシング回路と、
を備え、
該データレート制御回路は、
１対の論理レベル間で遷移する第１のクロック信号を受け取る第１のクロックラインであって、該第１のクロック信号が第１の周波数と第１の位相とを有する、第１のクロックラインと、
第２のクロック信号を受け取る第２のクロックラインであって、該第２のクロック信号が該第１の周波数と第２の位相とを有する、第２のクロックラインと、
該第２のクロックラインに接続されて該第２のクロック信号を受け取るスイッチ回路であって、該第２のクロックラインを出力ラインに接続する第１のモードで動作可能であり、且つ、定常状態電圧を該出力ラインに接続する第２のモードで動作可能であるスイッチ回路と、
該第１のクロックラインと該出力ラインとに接続されたクロッキング回路であって、該出力ライン上の該第２のクロック信号が受け取られたことに応答して該第１のクロック信号が両方の論理レベルに遷移するとクロッキングするように構成され、且つ、該出力ライン上の該定常状態電圧が受け取られたことに応答して該第１のクロック信号が１方の論理レベルにのみ遷移するとクロッキングするように構成された、クロッキング回路と、
を備え、
該クロッキング回路は、該クロッキング回路がクロッキングする度ごとに所定の機能を実行する回路を含む、メモリ装置。
【請求項４２】
前記クロッキング回路が、シフトレジスタを含む、請求項４１に記載のメモリ装置。
【請求項４３】
前記クロッキング回路が、カウンタラッチを含む、請求項４１に記載のメモリ装置。
【請求項４４】
前記１方の論理レベルが、論理１論理レベルを含む、請求項４１に記載のメモリ装置。
【請求項４５】
前記クロッキング回路が、前記出力ライン上の前記定常状態電圧が受け取られたことに応答して前記第１のクロック信号が論理１論理レベルに遷移するとクロッキングする回路を含む、請求項４１に記載のメモリ装置。
【請求項４６】
前記クロッキング回路が、前記出力ライン上の前記定常状態電圧が受け取られたことに応答して前記第１のクロック信号が論理０論理レベルに遷移したときにのみクロッキングする回路を含む、請求項４１に記載のメモリ装置。
【請求項４７】
前記定常状態電圧が正の電圧を含む、請求項４１に記載のメモリ装置。
【請求項４８】
前記定常状態電圧が０ボルトを含む、請求項４１に記載のメモリ装置。
【請求項４９】
前記スイッチ回路がスイッチングエレメントを含む、請求項４１に記載のメモリ装置。
【請求項５０】
前記スイッチ回路がアンチヒューズを含む、請求項４１に記載のメモリ装置。
【請求項５１】
前記スイッチ回路がトランジスタを含む、請求項４１に記載のメモリ装置。
【請求項５２】
プロセッサバスを有するプロセッサと、
該プロセッサバスを介して該プロセッサに接続され、データがコンピュータシステムに入力されることを可能にするようになっている、入力デバイスと、
該プロセッサバスを介して該プロセッサに接続され、データが該コンピュータシステムから出力されることを可能にするようになっている、出力デバイスと、
該プロセッサバスを介して該プロセッサに接続されたメモリ装置と、
を備えたコンピュータシステムであって、
該メモリ装置が、
行列に配列された複数のメモリセルと、複数の行ラインと、該メモリセルの各列に対する少なくとも１つのディジットとを含むメモリアレイ回路と、
アドレスバスと該メモリアレイ回路とに接続されたアドレシング回路であって、該アドレスバス上の行アドレスおよび列アドレスを受け取り、且つ、コマンドワードに応答して該アレイ内の対応するメモリセルを活性化させるようになっており、データレート制御回路を有する、アドレシング回路と、
を含み、
該データレート制御回路が、
１対の論理レベル間で遷移する第１のクロック信号を受け取る第１のクロックラインであって、該第１のクロック信号が第１の周波数と第１の位相とを有する、第１のクロックラインと、
第２のクロック信号を受け取る第２のクロックラインであって、該第２のクロック信号が該第１の周波数と第２の位相とを有する、第２のクロックラインと、
該第２のクロックラインに接続されて該第２のクロック信号を受け取るスイッチ回路であって、該第２のクロックラインを出力ラインに接続する第１のモードで動作可能であり、且つ、定常状態電圧を該出力ラインに接続する第２のモードで動作可能であるスイッチ回路と、
該第１のクロックラインと該出力ラインとに接続されたクロッキング回路であって、該出力ライン上の該第２のクロック信号が受け取られたことに応答して該第１のクロック信号が両方の論理レベルに遷移するとクロッキングするように構成され、且つ、該出力ライン上の該定常状態電圧が受け取られたことに応答して該第１のクロック信号が１方の論理レベルにのみ遷移するとクロッキングするように構成された、クロッキング回路と、
を含み、
該クロッキング回路は、該クロッキング回路がクロッキングする度ごとに所定の機能を実行する回路を含む、コンピュータシステム。
【請求項５３】
前記クロッキング回路が、シフトレジスタを含む、請求項５２に記載のコンピュータシステム。
【請求項５４】
前記クロッキング回路が、カウンタラッチを含む、請求項５２に記載のコンピュータシステム。
【請求項５５】
前記１方の論理レベルが、論理１論理レベルを含む、請求項５２に記載のコンピュータシステム。
【請求項５６】
前記クロッキング回路が、前記出力ライン上の前記定常状態電圧が受け取られたことに応答して前記第１のクロック信号が論理１論理レベルに遷移するとクロッキングする回路を含む、請求項５２に記載のコンピュータシステム。
【請求項５７】
前記クロッキング回路が、前記出力ライン上の前記定常状態電圧が受け取られたことに応答して前記第１のクロック信号が論理０論理レベルに遷移したときにのみクロッキングする回路を含む、請求項５２に記載のコンピュータシステム。
【請求項５８】
前記定常状態電圧が正の電圧を含む、請求項５２に記載のコンピュータシステム。
【請求項５９】
前記定常状態電圧が０ボルトを含む、請求項５２に記載のコンピュータシステム。
【請求項６０】
前記スイッチ回路がスイッチングエレメントを含む、請求項５２に記載のコンピュータシステム。
【請求項６１】
前記スイッチ回路がアンチヒューズを含む、請求項５２に記載のコンピュータシステム。
【請求項６２】
前記スイッチ回路がトランジスタを含む、請求項５２に記載のコンピュータシステム。
【請求項６３】
クロッキングする度ごとに所定の機能を実行する回路を含むクロッキング回路を介してデータレートを制御する方法であって、
第１の周波数と、第１の位相と、第１のエッジと、第２のエッジとを有する第１のクロック信号を該クロッキング回路に提供するステップと、
第１のモードにおいて、該第１の周波数と第２の位相とを有する第２のクロック信号を該クロッキング回路に提供するステップと、
第２のモードにおいて、定常状態信号を該クロッキング回路に提供するステップと、
該第２のクロック信号が該クロッキング回路に提供されたときに、該第１のクロック信号の第１のエッジおよび第２のエッジでクロッキングするステップと、
該定常状態信号が該クロッキング回路に提供されたときに、該第１のクロック信号の１方のエッジのみでクロッキングするステップと、
を包含する方法。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は概して、クロッキング回路に関し、より詳細には、クロッキング回路のデータレートを制御する方法および装置に関する。なお、以下では、クロッキング回路をクロック回路と記す場合もある。
【０００２】
（発明の背景）
電気回路間の通信では一般的には、データを受信する回路に、データを送信する送信側回路と同じレートおよび時間でデータを受信する能力が必要とされる。これらの２つの回路間の通信のデータレートまたは時間に差異があると、エラーまたはデータの損失の原因になり得る。
【０００３】
クロック回路は従来から、２種類のデータレート、すなわち一次クロックの一方のエッジでクロッキングするシングルデータレートまたは一次クロックの両方のエッジでクロッキングするダブルデータレートのどちらかで動作してきた。これにより、３種類の回路、すなわち、一次クロックの立ち上がりエッジでクロッキングする回路、一次クロックの立ち下がりエッジでクロッキングする回路、または一次クロックの立ち上がりエッジと立ち下がりエッジとの両方でクロッキングする回路ができる。
【０００４】
ある種類の回路が別の種類の回路との通信を試みる場合、問題が発生し得る。送信側回路が、受信側の回路の処理能力と異なるレートでのデータ送信を試みるある状況（例えば、ダブルデータレートのプロセッサ回路から、シングルデータレートのＳＤＲＡＭへの送信）を考える。送信側回路が、受信側回路の処理能力よりも速いレートでデータ送信を行う場合、受信側回路がデータの一部を受信し損なう可能性がある。例えば、送信側回路が６６ＭＨｚのレートでデータ送信を行い、受信側回路が３３ＭＨｚのレートでデータ受信を行う場合、受信側回路は、最高でも送信されたデータの半分（受信データレート／送信データレート＝３３ＭＨｚ／６６ＭＨｚ＝１／２）しか受信しない。
【０００５】
別の状況において、受信側回路は、所定のタイミングで所定の時間の間だけデータを「読む」ことが可能である。データがその時間帯に現れないと、そのデータは受信されない可能性がある。この場合、送信側回路は一次クロックの一方のエッジ（例えば、立ち上がりエッジ）でデータを送信し、受信側回路は一次クロック他方のエッジ（例えば、立ち下がりエッジ）でそのデータを「読む」可能性がある。
【０００６】
上記の問題への解決策の１つとして、送信側回路と受信側回路との間にラッチ回路を設ける考えがある。ラッチは、データ信号が新しいデータ信号で上書きされるまで、そのデータ信号を保持する。従って、受信側回路がデータを「読む」準備が整うまで、データを保持しておくことが可能となる。この解決策の問題点は、回路を新たに設ける必要があるため、スペースを取り、余計な電力が必要となる点であり、これは、回路構成要素数および使用電力を最小限に留めるという現代の回路設計の目標に反する。
【０００７】
上記の問題は、同期型動的ランダムアクセスメモリ（ＳＤＲＡＭ）での通信の場合に特に顕著となる。ＳＤＲＡＭでは、上述した３種類のクロッキングプロトコル（すなわち、クロック信号の立ち上がりエッジでのクロッキング、クロック信号の立ち下がりエッジでのクロッキング、またはクロック信号の立ち上がりエッジおよび立ち下がりエッジ両方でのクロッキング）の全てまたは幾つかを用いることが可能である。同様に、プロセッサ、すなわちより詳細にはＳＤＲＡＭと通信し、ＳＤＲＡＭを制御するメモリコントローラでは、同様なこれらの３種類のクロッキングプロトコルの全てまたは幾つかを用いることができる。所与のＳＤＲＡＭと所与のメモリコントローラとを効率的に通信させるためには、双方の回路が同じクロッキングプロトコルを用い、同じレートおよび同じ時間でデータの送受信を行う（すなわち、同じクロック信号の同じエッジ（単数または複数）でクロッキングする）ことが必要となる。そのため、クロッキングプロトコルをマッチングする必要性により、所与のＳＤＲＡＭと用いることが可能なメモリコントローラが限定される。
【０００８】
従来から、所与のメモリコントローラとＳＤＲＡＭとの間の適切な通信を確実にするために、単一のクロッキングプロトコルを用いた複数の種類のＳＤＲＡＭが製造されている。しかし、この解決策では、複数の異なる種類のＳＤＲＡＭと、それに適合可能なメモリコントローラとが利用可能であることが要求され、その結果、ＳＤＲＡＭおよびメモリコントローラの製造業者および販売者による製品ラインが不必要に大きくなる。
【０００９】
従って、様々なデータレートおよび通信時間を有するメモリコントローラと通信を行うために、クロック信号の一方のエッジまたは両方のエッジのどちらでも動作可能な単一のＳＤＲＡＭまたはクロック回路が必要とされている。
【００１０】
（発明の要旨）
本発明は、シングルデータレートまたはダブルデータレートのどちらででも動作し、かつクロック信号の立ち上がりエッジまたは立ち下がりエッジのどちらででも動作することができる、プログラム可能なクロッキング回路を製造する方法および装置を提供する。シングルデータレート回路とは、クロックサイクルあたりに１回クロッキングする回路であり、典型的にはクロック信号の一方のエッジ（立ち上がりまたは立ち下がり）のみでクロッキングする。一方、ダブルデータレート回路とは、クロックサイクルあたりに２回クロッキングする回路であり、典型的にはクロック信号の両方のエッジ（立ち上がりまたは立ち下がり）でクロッキングする。ダブルデータレート回路は、その名が示す通り、シングルデータレート回路の２倍の頻度でクロッキングする。本発明の１つの実施形態によれば、クロッキング回路は第１のクロック信号を受信し、スイッチ回路は第２のクロック信号を受信する。スイッチ回路は、第１のクロック信号をクロッキング回路に結合するようにも、または定常状態電圧をクロッキング回路に結合するようにもプログラムすることが可能である。クロッキング回路は、スイッチ回路からの第２のクロック信号の受信に応答して、第１のクロック信号が両方の論理レベル（典型的には論理０および論理１）に遷移する際にクロッキングを行い、スイッチ回路からの定常状態電圧の受信に応答して、第１のクロック信号が一方の論理レベルのみに遷移する際にクロッキングを行うような構造にされる。その時、スイッチ回路を、第２のクロック信号または定常状態電圧のどちらかがクロッキング回路と結合するようにプログラミングすることにより、クロッキング回路が通信を行う際のデータレートおよび時間を選択することができる。なお、クロッキング回路は、該クロッキング回路がクロッキングする度ごとに所定の機能を実行する回路を含む。
【００１１】
（発明の詳細な説明）
図１は、本発明によるデータレート制御回路１０の実施形態の機能的ブロック図である。データレート制御回路１０は、クロック回路１２、第１のクロックライン１４、第２のクロックライン１６、スイッチ回路１８、および第１の出力ライン２０を含む。クロック回路１２は、第１のクロックライン１４上で、論理０および論理１のような２つの論理レベル間を遷移する、第１のクロック信号を受信する。第１のクロック信号は、第１の周波数および第１の位相を有する。スイッチ回路１８は、第２のクロックライン１６上の第１の周波数および第２の位相を有する第２のクロック信号を受信する。典型的には、第２のクロック信号は、クアドゥラチャ（ｑｕａｄｒａｔｕｒｅ)クロックであり、第１のクロック信号から位相が９０度ずれている。
【００１２】
スイッチ回路１８は、２つのモードで動作する。第１のモードでは、スイッチ回路１８は第２のクロック信号を第１の出力ライン２０を通じてクロック回路１２に結合し、第２のモードでは、スイッチ回路１８は定常状態電圧を第１の出力ライン２０を通じてクロック回路１２に結合する。クロック回路１２は、スイッチ回路１８からクロック回路１２が第２のクロック信号を受信する場合、第１の信号の両方の論理レベルへの遷移の際にクロッキングし、スイッチ回路１８からクロック回路１２が定常状態電圧を受信する場合、第１のクロック信号の１つの論理レベルのみへの遷移の際にクロッキングする。第１の出力ライン２０上でクロック回路１２に印加される定常状態電圧は、典型的に、ＶCCのような正電圧であるが、０ボルト、グラウンド、または他の任意の適切な電圧であり得る。
【００１３】
１つの実施形態において、クロック回路１２は、シフトレジスタ等のクロック回路１２がクロッキングする度に所定の機能を行う回路であり得る。このようなシフトレジスタは、米国特許出願第０８／８１３，０４１号の図７に示されており、この出願は、本明細書中で参考として援用される。クロック回路は、カウンタラッチであってもよく、当業者にとって公知である多くの他の回路のうちの１つであってもよい。従って、クロック回路１２は、クロック入力ライン２３上の入力信号の受信に応答して、クロック出力ライン２１上に出力信号を生成し得る。
【００１４】
他の実施形態において、定常状態電圧が第１の出力ライン２０上でクロック回路１２に印加される場合、クロック回路１２は、第１のクロック信号の論理１論理レベルへの遷移の際にクロッキングする。定常状態電圧は、典型的には、論理１、またはＶCCのような比較的高い電圧である。他の実施形態において、クロック回路１２は、第１の出力ライン２０の定常状態電圧の受信に応答して、第１のクロック信号の論理０論理レベルへの遷移の際にのみクロッキングする。定常状態電圧は、典型的には、論理０、またはグラウンドのような比較的低い電圧である。
【００１５】
従って、データレート制御回路１０は、第１の出力ライン２０上でクロック回路１２が第２のクロック信号を受信する場合に、ダブルデータレート回路として機能し、第１の出力ライン２０上でクロック回路１２が定常状態電圧を受信する場合に、シングルデータレート回路として機能する。シングルデータレート回路として機能を果たす場合、データレート制御回路１０は、比較的高い定常状態電圧を用いて、第１のクロック信号の比較的高い電圧への遷移の際にクロッキングするようにプログム可能であり、比較的低い定常状態電圧を用いて、第１のクロック信号の比較的低い電圧への遷移の際にクロッキングするようにプログラム可能である。
【００１６】
スイッチ回路１８の実施形態の１つにおいて、スイッチ回路１８は、定常状態電圧源を第１の出力ライン２０と結合するように選択的にプログラム可能なスイッチ素子から構成される。これは、図２Ａに示すように、スイッチ２２が定常状態電圧源と第１の出力ライン２０との間に位置することによって達成され得る。この実施形態は、定常状態電圧源からの電圧に依存して、第２のクロック信号が第１の出力ライン２０にすでに存在するにも関わらず、第１の出力ライン２０を定常状態電圧にバイアスする。これを達成する方法は、当業者にとって公知である。あるいは、図２Ｂに示すように、スイッチ２４は、２つの位置を有し、１つが第２のクロックライン１６に接続され、もう１つが定常状態電圧に結合されるようなスイッチであり得る。スイッチ２４は、第１の出力ライン２０を、スイッチ２４が結合されていない位置から切り離している。
【００１７】
同様に、図２Ｃに示すように、アンチフューズ２６を用いて、定常状態電圧を第１の出力ライン２０に結合し得る。アンチフューズ２６は、定常状態電圧と第１の出力ライン２０との間に位置する。アンチフューズ２６をとばすことによって、定常状態電圧源は、第１の出力ライン２０に結合され得る。再度、この構成は、定常状態電圧が、第１の出力ライン２０にすでに存在する第２のクロック信号にも関わらず、出力ライン２０をバイアスすることを必要とする。あるいは、図２Ｄに示すように、フューズ２８、または他のデカップリングデバイスが、第２のクロックライン１６と出力ライン２０との間に位置してもよく、フューズ２８は、アンチフューズ２６をとばすことと共にとばされ得て、定常状態電圧がとばされたアンチフューズ２６によって第１の出力ライン２０に結合され、第２のクロックライン１６に存在する第２のクロック信号がとばされたフューズ２８によって第１の出力ライン２０から切り離される。当業者であれば、第２のクロック信号を第１の出力ライン２０から切り離すために、他の方法が用いられ得ることを理解する。
【００１８】
図２Ｅに示すように、スイッチ回路１８の他の実施形態において、トランジスタ３０は、その入力端子が定常状態電圧源に接続され、出力端子が出力ライン２０に接続されるように位置し得、それにより、制御端子が選択的にイネーブルまたはディセーブルされて、定常状態電圧を出力ライン２０と結合または切り離す。第２のクロックライン１６は、上述の方法、または当該技術において周知の他の方法によって、定常状態電圧が出力ライン２０に結合される場合、出力ライン２０から切り離され得る。
【００１９】
図１に示すデータレート制御回路１０の他の実施形態において、デューティサイクル変換回路３２が、スイッチ回路１８の代わりに用いられ得る。この実施形態において、クロック回路１２は、典型的には５０％の第１のデューティサイクルを有する、出力ライン２０上の信号の受信に応答して、第１のクロック信号の両方のエッジでクロッキングし、典型的には１００％または０％の第２のデューティサイクルを有する、出力ライン２０上の信号の受信に応答して、第１のクロック信号の１つのエッジのみでクロッキングする。
【００２０】
この実施形態において、第１および第２のクロック信号は、それぞれ、立ち上がりエッジおよび立ち下がりエッジを有し、クロック回路１２は、典型的には１００％の第２のデューティサイクルを有する、出力ライン２０上の信号の受信に応答して、第１のクロック信号の立ち上がりエッジのみでクロッキングする。これにより、一次クロックの立ち上がりエッジのみでクロッキングする、シングルデータレート回路となる。あるいは、クロック回路１２は、典型的には０％の第２のデューティサイクルを有する、出力ライン２０上の信号の受信に応答して、第１のクロック信号の立ち下がりエッジでクロッキングし得る。これにより、一次回路の立ち下がりエッジのみでクロッキングするシングルデータレート回路となる。
【００２１】
これらの実施形態の両方において、第１のデューティサイクルを有する、出力ライン２０上の信号をクロック回路１２が受信する場合、クロック回路１２は、第１のクロック信号の立ち上がりエッジおよび立ち下がりエッジの両方でクロッキングし、これにより、クロック回路１２がダブルデータレート回路として機能する。これらの実施形態は、他の点において、図１に示す実施形態とほぼ同様に機能し、上述の図２Ａ〜図２Ｅに示すように実現され得る。さらなる説明は、簡略化のため、省略される。
【００２２】
データレート制御回路１０の他の実施形態は、スイッチ回路１８の代わりに、周波数変換回路３４を用いる。この実施形態において、クロック回路は、第１の周波数を有する、出力ライン２０上の信号の受信に応答して、第１のクロック信号の両方のエッジでクロッキングし、第２の周波数を有する、出力ライン２０上の信号の受信に応答して、第１のクロック信号の１つのエッジのみでクロッキングする。典型的には、第２のクロック信号が第１の周波数を有し、電圧源が第２の周波数を有する。
【００２３】
本実施形態において、第１の周波数は典型的には正の数であり、第２の周波数は典型的にはゼロである。上述のデューティサイクル変換回路を用いる実施形態のように、第１および第２のクロック信号が、立ち上がりエッジおよび立ち下がりエッジであり得る第１のエッジおよび第２のエッジを有する。よって、クロック回路１２は第２の周波数および比較的に高い値の電圧を有する出力ライン２０の信号の受信に応じて、第１のクロック信号の立ち上がりエッジでのみクロッキングするように、周波数変換回路を用いてプログラムされ得る。クロック回路１２はまた、第２の周波数および比較的に低い値の電圧を有する出力ライン２０の信号の受信に応じて、第１のクロック信号の立ち下がりエッジでのみクロッキングするようにもプログラムされ得る。これらの実施形態は、他に関しては大体において図１に示す実施形態と同様に機能し、図２Ａ〜Ｅおよび上述に示されるように実現され得る。さらなる説明は簡潔のために省略する。
【００２４】
このように、クロック回路１２が第１の周波数を有する出力ライン２０の信号を受信するときに、そのクロック回路１２は第１のクロック信号の立ち上がりエッジおよび立ち下がりエッジの両方でクロッキングし、クロック回路１２はダブルデータレート回路として機能する。クロック回路１２が第２の周波数および比較的に高い値の電圧を有する出力ライン２０の信号を受信するときに、クロック回路１２は第１のクロック信号の立ち上がりエッジでクロッキングするシングルデータレート回路として機能する。クロック回路１２が第２の周波数および比較的に高い値の電圧を有する出力ライン２０の信号を受信するときに、クロック回路１２は第１のクロック信号の立ち下がりエッジでクロッキングするシングルデータレート回路として機能する。
【００２５】
図３にデータレート制御回路の別の実施形態を示す。データレート制御回路１０は、クロック回路１２、第１のクロック信号ライン１４、第２のクロック信号ライン１６、スイッチ回路１８、第１の出力ライン２０、および第２の出力ライン３６を含む。第１のクロック信号は、第１のクロック信号ライン１４を介してスイッチ回路１８へ伝送される。第２のクロック信号は、第２のクロック信号ライン１６を介してスイッチ回路１８へ伝送される。クロック回路１２は、第１の出力ライン２０の信号が論理１等の比較的に高い電圧であるときにクロッキングし、第２の出力ライン３６の信号が論理０等の比較的に低い電圧であるときにもクロッキングする。第１のクロック信号は、典型的には、上述の一次クロック信号およびクアドラチャクロック信号をＡＮＤゲートに付与することにより生成され、第２のクロック信号は、典型的には、一次クロック信号およびクアドラチャクロック信号をＯＲゲートに付与することにより生成される。
【００２６】
スイッチ回路１８は２つのモードで動作する。第１のモードにおいて、スイッチ回路１８は第１のクロックライン１４を介して受信した第１のクロック信号を第１の出力ライン２０と結合させ、第２のクロックライン１６を介して受信した第２のクロック信号を第２の出力ライン３６と結合させる。この結果、一次クロックのサイクル毎に２回生じる、第１のクロック信号がハイで、第２のクロック信号がローであるときにクロッキングするクロック回路１２を用いたダブルデータレートクロック回路となる。
【００２７】
第２のモードにおいて、スイッチ回路１８は、典型的には比較的に低い電圧である定常状態電圧を第１の出力ライン２０と結合させ、第２の出力ライン３６を、典型的には一次クロック信号である第３のクロック信号と結合させる。この結果、第２の出力ラインの信号が比較的に低い電圧であるときにのみクロッキングするクロック回路１２を用いたシングルデータレートクロック回路となる。シングルデータレートクロック回路はまた、典型的には比較的に高い電圧である定常状態電圧を第２の出力ライン３６と結合させることにより達成され得、これにより、第１の出力ライン２０の信号が比較的に高い電圧であるときにのみクロッキングするクロック回路１２となる。また、一次クロック信号は、第１の出力ライン２０に付与されるクロック信号として用いられ得る。
【００２８】
図４に示す本発明の１つの実施形態において、データレート制御回路１０が、メモリデバイス１７（図示せず）内のコマンドバッファ２００で用いられ得る。本実施形態において、スイッチ回路１８は一連のシフトレジスタ２４６−２５０を駆動する。
【００２９】
図４を参照して、複数のパケットワードからなるコマンドパケットＣＡが、コマンドデータバス２０４を介してシフトレジスタ２０２に付与される。バス２０４の幅Ｍはシフトレジスタ２０２のサイズに対応し、コマンドパケット内のパケットワードの数Ｎは、シフトレジスタ２０２の段の数の整数の約数と対応する。図５に示す実施形態において、シフトレジスタ２０２は、４つのパケットワードが存在するので、コマンドパケット内にある半数の段、すなわち、２つのシフト段を有する。よって、シフトレジスタ２０２は、クロック信号ＣＬＫに応答して、２つの１０ビットパケットワードの２つのグループを順次受信する。４ワードコマンドパケットの開始と同時に、ＦＬＡＧ信号がシフトレジスタ２０２と共にＣＬＫ信号によりクロッキングされる制御回路２０５に付与される。
【００３０】
２つのパケットワードがシフトレジスタ２０２にシフトされた後に、制御回路２０５が第１の格納レジスタ２０６に付与されるＬＯＡＤ１信号を生成する。第１の格納レジスタ２０６は次いで、シフトレジスタ２０２から第１の２つのパケットワードをロードする。パケットワードが後２つシフトレジスタ２０２にシフトされた後に、制御回路２０５が第２の格納レジスタ２０８に付与されるＬＯＡＤ２信号を生成する。第２の格納レジスタ２０８は次いで、シフトレジスタ２０２から残りの２つのパケットワードをロードする。第１および第２の格納レジスタ２０６および２０８は次いで、４０ビットコマンドワードＣＯＭＭＡＮＤをコマンドバス２２０に集合的に出力する。
【００３１】
コマンドバッファ２００はまた、ライン２２２のＣＨＰＳＥＬ信号を選択的に生成するコンパレーター２１４を含む。ＣＨＰＳＥＬ信号は、アクティブハイのときには、コマンドバッファ２００を備えるメモリデバイスに、コマンドバス２２０のＣＯＭＭＡＮＤ信号の内の１以上に対応するいくつかの機能の内の１つを実行させる。
【００３２】
２つの１０ビットコマンドワードの２つの集合が、シフトレジスタ２０２にシフトされる図４に示す実施形態において、第１および第２の格納レジスタ２０６および２０８は４０ビットのコマンドワードを受信し、且つ格納する。しかしながら、より一般的な場合において、シフトレジスタ２０２は、それぞれがＭビットの幅を有する（Ｎ／Ｙ）個の段を有し、Ｙ個の格納レジスタ２０６および２０８は、それぞれ（Ｎ／Ｙ）個のＭビットのコマンドワードをロードする。Ｍが８で、ＹおよびＮが共に４である例において、シフトレジスタ２０２は８ビットの幅を有する単一の段を有し、４つの格納レジスタのそれぞれが１個の８ビットコマンドワードをロードする。また、図４に示す実施形態において、コマンドワードのそれぞれが、ＣＬＫサイクル毎にシフトレジスタ２０２の２つの段を介してシフトされる。
【００３３】
第１の格納レジスタ２０６がロードされた後にも、第１の２つのパケットワードを初期化デコーダ２１０、ＩＤレジスタ２１２、およびコンパレーター２１４へ連続して出力する。デコーダ２１０、ＩＤレジスタ２１２およびコンパレーター２１４の機能は、第１のパケットワードのＩＤ部分を検査すること、およびコマンドパケットがコマンドバッファ２００を備えるメモリデバイスに向けられているかを判定することである。さらに詳細には、コマンドバッファ２００は、初期化ルーチン中に初期化パケットに含まれるユニークな識別コードでプログラムされる。格納レジスタ２０８から出力された初期化パケットの一部がデコーダ２１０に付与され、別の部分はＩＤレジスタ２１２に付与される。初期化パケットの一部は、デコーダ２１０により認識され、次いでＩＤレジスタ２１２に初期化パケットの他の部分を格納させるラッチ信号を生成する。ＩＤレジスタ２１２内に格納された初期化パケットの一部は、次いでコマンドバッファ２００を備えるメモリデバイスをユニークに識別する。よって、デコーダ２１０によりデコードされた初期化パケットの一部が全てのメモリデバイスに対して同じである一方で、ＩＤレジスタ２１２に付与された初期化パケットの一部は各メモリデバイスごとに異なる。（下記に説明するとおり、初期化中にメモリデバイスの全てが初期化パケットに同時に応答しないようにするための手段が提供される。）初期化の後、ＩＤレジスタ２１２は、コマンドバッファ２００を備えるメモリデバイスにユニークである識別データを備える。
【００３４】
初期化中に識別データがＩＤレジスタ２１２に格納された後、コマンドバッファ２００を含むメモリデバイス１７（図示せず）は、コマンドパケットを受け取り、メモリデバイスへの、および、メモリデバイスからのデータの転送を行う。メモリデバイスに付与され、格納レジスタ２０６に格納されたパケットワードのＩＤ部分は、コンパレータ２１４に付与される。次に、コンパレータ２１４は、パケットワードのＩＤ部分を、ＩＤレジスタ２１２に格納された識別データと比較する。一致した場合、コンパレータ２１４はアクティブなＣＨＰＳＥＬ信号を生成し、これによりメモリデバイスは、コマンドバス２２０上のＣＯＭＭＡＮＤに対応する動作を実行する。重要なのは、図２に示すように、ＩＤ部分がコマンドパケットの最初のパケットワード中にあるので、パケットワードのうちの２つのみがシフトレジスタ２０２にシフトされた後で、コンパレータ２１４がコマンドパケットのＩＤ部分をＩＤレジスタ２１２に格納された識別データと比較できることである。さらに、コマンドバッファ２００は、最初の２つのパケットがシフトレジスタ２０２にシフトされた後で、最初の３つのコマンドビットを復号し始めることができる。コマンドバッファ２００によりコマンドパケット全体が受け取られる前にコマンドパケットの一部を処理することで、コマンドバッファは、コマンドパケットの処理をより迅速に完了することができる。
【００３５】
図４をさらに参照して、スイッチ回路１８は、入力１６でクアドラチャクロック信号ＣＬＫ９０を受け取り、出力２０がＮＯＲゲート２３２の一方の入力およびＮＡＮＤゲート２４０の一方の入力に結合されている。ＮＯＲゲート２３２およびＮＡＮＤゲート２４０の他方の入力は、ライン１４上でＣＬＫ信号を受け取る。
【００３６】
制御回路２０５は、シフトレジスタ対２４６、２４８も含む。シフトレジスタ対２４６、２４８は、互いに直列接続されて、８段シフトレジスタを構成している。シフトレジスタ２４６はＦＬＡＧ信号を受け取り、ＣＬＫ０、ＣＬＫ０*、ＣＬＫ１、およびＣＬＫ１*信号に応答し、シフトレジスタ回路２４６の４つの段を介してからシフトレジスタ２４８の４つの段を介して、順次ＦＬＡＧ信号をシフトする。ＦＬＡＧ信号は、ＣＬＫ信号の各サイクルごとに、シフトレジスタ回路２４６、２４８の２つの段を介してシフトされる。従って、ＦＬＡＧがハイとなるとき、シフトレジスタ回路２４６、２４８の２つの連続するＦ＜７：０＞出力は、各クロックサイクルごとに順次ハイとなる。
【００３７】
図４に示すシフトレジスタ２０２は、１０個の個別のシフトレジスタ回路２５０ａ〜ｊを含み、そのそれぞれが入来する１０ビットパケットワードの個別のビットＣＡ０〜ＣＡ９を受け取る。さらに後述するように、シフトレジスタ回路２５０ａ〜ｊのそれぞれは、２つのシフトレジスタ段を含む。従って、各クロックサイクルの後、２つのコマンドビットＣＡがそれぞれのシフトレジスタ回路２５０内にシフトされて、これらのビットが２ビットのワードＢ＜１：０＞として利用できる。従って、１０個のシフトレジスタ回路２５０ａ〜ｊは、コマンドパケットのうちの２０ビットをまとめて出力する。
【００３８】
図４を参照して上述したように、シフトレジスタ２０２は、１０個の個別のシフトレジスタ回路２５０ａ〜ｊを含み、そのそれぞれが入来する１０ビットパケットワードの個別のビットＣＡ０〜ＣＡ９を受け取る。図５に示すように、シフトレジスタ回路２５０ａ〜ｊのそれぞれは、２つのシフトレジスタ段２５２ａ、ｂを含む。第１の段２５２ａは、パケットワードビットＣＡを受け取り、その出力は、第２の段２５２ｂの入力および外部出力Ｂ＜０＞に接続される。第２の段２５２ｂの出力は外部出力Ｂ＜１＞に接続されている。それぞれの段２５２ａ、ｂの入力から出力への転送は、より詳細に後述するように、４つのクロック信号ＣＬＫ０、ＣＬＫ０*、ＣＬＫ１、およびＣＬＫ１*に応答する。２つのクロックサイクルの後、２つのコマンドワードビットＣＡがシフトレジスタ段２５２ａ、ｂにシフトされ、これらのビットの両方が２ビットのワードＢ＜１：０＞として利用できる。従って、１０のシフトレジスタ回路２５０ａ〜ｊは、２つの１０ビットコマンドワードをまとめて出力する。
【００３９】
シフトレジスタ段２５２のそれぞれを、図６により詳細に示す。シフトレジスタ段２５２のそれぞれは、第１の転送ゲート２６０、第２の転送ゲート２６４、および第２のラッチ２６６を含む。転送ゲート２６０は、ＣＬＫ０およびＣＬＫ０*信号により動作する第１のパスゲート２７０と、第１のパスゲート２７０に並列接続され、ＣＬＫ１とＣＬＫ１*信号により動作する第２のパスゲート２７２とを含む。第１のラッチ２６２および第２のラッチ２６６はそれぞれ、入力から出力に接続されたインバータ対２７６、２７８により構成される。第２の転送ゲート２６４は、供給電圧と第２のラッチ２６６への入力との間に接続された３つのＰＭＯＳトランジスタ２８０、２８２、および２８４により構成される。第２の転送ゲート２６４は、第２のラッチ２６６の入力とグラウンドとの間に直列に接続された３つのＮＭＯＳトランジスタ２９０、２９２、および２９４も含む。後述するように、第２の転送ゲート２６４は、第１のラッチ２６２からの信号を反転する。従って、コマンド信号ＣＡの正しい位相を回復するために、第２のラッチ２６６の出力にインバータ２９８が備えられる。
【００４０】
パスゲート２７０、２７２のそれぞれは、ＮＭＯＳトランジスタおよびＰＭＯＳトランジスタ（図示せず）で構成される。ＮＭＯＳトランジスタおよびＰＭＯＳトランジスタは互いに並列接続され、ＮＭＯＳトランジスタのゲートが非反転入力に結合され、ＰＭＯＳトランジスタのゲートが反転入力に結合される。
【００４１】
図６に示すシフトレジスタ段２５２の動作は、図７のタイミング図を参照して、最適に説明される。パスゲート２７０は、ＣＬＫ０信号がハイであり、ＣＬＫ０*信号がローであるとき常に導電性である。従って、パスゲート２７０は、図７の２７０ＣＯＮＤの表示に隣接する線分により示されるように各クロックサイクルごとに、短期間導電性である。同様にパスゲート２７２は、ＣＬＫ１信号がローであり、ＣＬＫ１*信号がハイであるとき常に導電性である。図８の線分に示すように、パスゲート２７２は、各クロックサイクルごとに、短期間導電性であり、パスゲート２７０の導電期間は、パスゲート２７２の導電期間から均等に配置される。従って、第１の転送ゲート２６０は、各クロックサイクルごとに２度導電性となり、それぞれの導電期間の後に非導電期間が続く。転送ゲート２６０が導電性となる毎に、コマンドビットＣＡの逆数が、ラッチ２６２から第２の転送ゲート２６４に出力される。
【００４２】
第２の転送ゲート２６４の機能は、第２のラッチ２６６への入力を、第１のラッチ２６２の出力での値によって、適切な時刻に、ＶCCまたはグラウンドに結合することである。ＰＭＯＳトランジスタ２８０、２８２は、ＣＬＫ０およびＣＬＫ１*が共にローであるとき常に導電性であり、これは、図７の「ＰＭＯＳ」表示に隣接する線分により示される時刻に発生する。ＮＭＯＳトランジスタ２９２、２９４は両方とも、ＣＬＫ１信号およびＣＬＫ０*信号が共にハイであるとき常に導電性であり、これは、図８の「ＮＭＯＳ」表示に隣接する線分により示される時刻に発生し、各クロックサイクルでは２回発生する。従って、ＰＭＯＳトランジスタ２８０、２８２およびＮＭＯＳトランジスタ２９２、２９４は、すべて同時刻に導電性となり、これらの導電期間は、第１の転送ゲート２６０の導電期間と交互となる。第２のラッチ２６０の入力は、第１のラッチ２６２の出力がＰＭＯＳトランジスタ２８４またはＮＭＯＳトランジスタ２９０のどちらをオンにするかにより、これらの導電期間の間、ＶCCまたはグラウンドのいずれかに結合される。より具体的には、第１のラッチ２６２の出力がハイである場合、ＮＭＯＳトランジスタ２９０がオンとなり、これにより、第２のラッチ２６６の入力にローを付与する。第１のラッチ２６２の出力がローである場合、ＰＭＯＳトランジスタ２８４がオンとなり、これにより、第２のラッチ２６６の入力にハイを付与する。従って、第２の転送ゲート２６４は、第１のラッチ２６２の反転出力を第２のラッチ２６６の入力に結合する。
【００４３】
第２の転送ゲート２６４が導電性となる間、第２のラッチ２６６は、第１のラッチ２６２の出力と同じ信号を出力し、この信号は、インバータ２９８を通った後、入来するコマンドビットＣＡと同じ位相となる。ラッチ回路２５０の動作はコマンドビットＣＡを用いて示される。コマンドビットＣＡは、最初はハイであるが、ｔ0の後ほどなくローとなる。第１の転送ゲート２６０の次の導電期間中の時刻ｔ1で、ハイのコマンドビットＣＡが、図７に示すように反転した形で第１のラッチ２６２の出力に伝送される。第２の転送ゲート２６４の次の導電期間に、ラッチ２６２の出力でのハイは、ラッチ２６６の出力に結合され、これにより、その出力が時刻ｔ2においてローとなる。その後ほどなくして、コマンドビットＣＡがハイとなる。第１のラッチ２６０の次の導電期間中の時刻ｔ3で、このハイが第１のラッチ２６０を介して結合され、これにより、第２のラッチ２６２の出力がローとなる。第２の転送ゲート２６４の次の導電期間中の時刻ｔ4で、第１のラッチ２６２のハイ出力は、第２のラッチ２６６の出力に結合され、これにより、その出力がハイとなる。従って、シフトレジスタ段２５２に結合されたコマンドビットは、１クロックサイクル経たないうちに、シフトレジスタ段２５２の出力にシフトされる。次の半クロックサイクルでは、１クロックサイクルが経過するまでコマンドビットが次のシフトレジスタ段の出力にシフトされる。１クロックサイクルが経過した時点で、２つのコマンドビットはそれぞれのシフトレジスタ回路２５０にシフトされている。従って、２つのコマンドビットは、クロックサイクルごとに、それぞれのシフトレジスタ回路２５０を介してシフトされる。
【００４４】
図４を参照して、スイッチ回路１８が第１の出力ライン２０を第２のクロック信号ライン１６に結合するとき、シフトレジスタ２５０は、前述のダブルデータレート回路として機能する。しかしながら、スイッチ回路１８が第１の出力ライン２０を電圧源Ｖ1に結合するとき、シフトレジスタ２５０は、後述するシングルデータレート回路として機能する。
【００４５】
例えば、第１の電圧源Ｖ1が接地される場合、ＮＡＮＤゲート２４０の出力は、ハイとなり、インバータ２４２の出力がローとなる。従って、ＣＬＫ０信号はローにバイアスするが、ＣＬＫ０信号がインバータ２４４を介して通過することにより生成されるＣＬＫ０*信号は、ハイにバイアスされる。
【００４６】
第１の出力ライン２０が接地されるので、ＮＯＲゲート２３２の出力は、ＣＬＫ信号がローであるときハイとなり、ＣＬＫ信号がハイであるときローとなる。従って、インバータ２３４の出力は。ＣＬＫ信号がハイであるときハイとなり、ＣＬＫ信号がローであるときローとなる。その結果、インバータ２３４はＣＬＫ信号を出力する。従って、インバータ２３４の出力で生成されるＣＬＫ１信号はＣＬＫ信号と同一となるが、ＣＬＫ１信号がインバータ２３６を介して通過することにより生成されるＣＬＫ１*信号は、ＣＬＫ信号の補数となる。
【００４７】
第１の出力ライン２０がグラウンドに結合されたシフトレジスタ段２５２の動作は、図８のタイミング図を参照して最適に説明される。前述のように、パスゲート２７０は、ＣＬＫ０信号がハイであり、ＣＬＫ０*信号がローであるときは常に導電性である。従って、ＣＬＫ０信号がローにバイアスされるので、ＣＬＫ０*信号はハイにバイアスされ、パスゲート２７０は非導電性となる。同様に、パスゲート２７２は、ＣＬＫ１信号がローでありＣＬＫ１*信号がハイであるときは常に導電性となる。図８の線分に示すように、パスゲート２７２は、クロックサイクル毎に短期間導電性となる。従って、第１の転送ゲート２６０は、各クロックサイクルごとに一度導電性となり、導電期間の後に非導電期間が続く。
【００４８】
ＰＭＯＳトランジスタ２８０、２８２は、ＣＬＫ０およびＣＬＫ１*が共にローであるとき常に導電性である。これは、図８の「ＰＭＯＳ」表示に隣接する線分により示される時刻に発生する。ＮＭＯＳトランジスタ２９２、２９４は、ＣＬＫ１およびＣＬＫ０*がともにハイであるとき常に導電性である。これは、図８の「ＮＭＯＳ」表示に隣接する線分により示される時刻に、クロックサイクル毎に一度発生する。従って、ＰＭＯＳトランジスタ２８０、２８２およびＮＭＯＳトランジスタ２９２、２９４は、すべて同時刻だけ導電性であり、これらの導電期間は第１の転送ゲート２６０の導電期間と交互となる。シフトレジスタ段２５２の残りの構成要素は、上述のものと同様に機能するので、簡略化の目的で繰り返さない。
【００４９】
図８を参照し、コマンドビットＣＡを用いて、ラッチ回路２５０の動作を示す。コマンドビットＣＡは、最初はハイであるが、ｔ0の後ほどなくローとなる。第１の転送ゲート２６０が導電性であるので、ハイであるコマンドビットＣＡは、図８に示すように、反転された形で第１のラッチ２６２の出力に直ちに伝送される。第２の転送ゲート２６４の次の伝導期間の間に、ラッチ２６２の出力におけるハイは、ラッチ２６６の出力に結合され、これにより、時刻ｔ2においてその出力がローとなる。その後ほどなく、コマンドビットＣＡはハイとなる。第１のラッチ２６０の次の導電期間中の時刻ｔ4で、このハイが第１のラッチ２６０を介して結合され、これにより、第２のラッチ２６２の出力をローにする。第２の転送ゲート２６４の次の導電期間中の時刻ｔ6で、第１のラッチ２６２のハイである出力が第２のラッチ２６６の出力に結合され、これにより、その出力をハイにする。シフトレジスタ段２５２は、時刻ｔ6において新しいコマンドビットにより上書きされるまで、完全な１クロックサイクルの間、第１のコマンドビットを出力する。従って、クロックサイクルあたり、各シフトレジスタ段２５２を介して、一つのコマンドビットのみシフトされ得る。即ち、前述のダブルデータレートモードでシフトレジスタが動作する場合の半分のレートである。
【００５０】
従って、スイッチ回路１８が第１の出力ライン２０をグラウンドに結合するとき、シフトレジスタ２５０の段２５２は、スイッチ回路１８が第１の出力ライン２０を第２のクロック信号に結合する場合のクロックの半分の速度（各転送ゲート２６０、２６４に対して１クロックサイクルに一度）でクロッキングする。
【００５１】
上述の結果は、第１の出力ライン２０をＶCCに結合することにより同様に達成され得る。スイッチ回路１８およびシフトレジスタ段２５０の段２５２は、上述のものと類似して機能するので、簡略化の目的でさらなる説明は省略する。
【００５２】
コマンドバッファ２００は、図９に示し、以下に概説するメモリデバイス１７内のコマンドバッファ４６に取って代わり得る。
【００５３】
メモリデバイス１７を、ブロック図の形で図９に示す。メモリデバイス１７は、マスタクロック信号４２を受け取り、他の多数のクロックおよびタイミング信号を生成してメモリデバイス１７の様々な動作のタイミングを制御するクロックデバイダ・遅延回路４０とを含む。また、メモリデバイス１７は、コマンドバッファ４６およびアドレスキャプチャ回路４８も含む。これらは、内部クロックＣＬＫ信号、コマンドバス５０におけるコマンドパケットＣＡ０−ＣＡ９、およびライン５２におけるＦＬＡＧ信号を受け取る。コマンドパケットは、それぞれのメモリ伝送に関する制御およびアドレス情報を含み、ＦＬＡＧ信号は、コマンドパケットの開始を識別する。コマンドバッファ４６は、バス５０からコマンドパケットを受け取り、コマンドパケットの少なくとも一部をＩＤレジスタ５６からの識別データと比較して、コマンドパケットがメモリデバイス１７に向けられているのか、または他のメモリデバイス（図示せず）に向けられているのかを判断する。コマンドがメモリデバイス１７に向けられていると、コマンドバッファ４６が判断した場合、その時コマンドバッファ４６は、コマンドデコーダおよびシーケンサ６０にそのコマンドを供給する。
【００５４】
コマンドデコーダおよびシーケンサ６０は、多くの内部制御信号を生成して、メモリコマンドに対応するメモリ転送の間、メモリデバイス１７の動作を制御する。より詳細には、コマンドデコーダおよびシーケンサ６０は、コマンドパケットが受け取られると各コマンドパケットに対応するメモリコマンドを格納することにより、パイプライン方式で動作する。実際、コマンドデコーダおよびシーケンサ６０は、メモリコマンドが処理され得るよりも速いレートでメモリコマンドを受け取り、格納し得る。コマンドデコーダおよびシーケンサ６０は、その後、レイテンシーコマンドによって決定される各時間において、各メモリコマンドに対応するコマンド信号を生成する。レイテンシーコマンドは、開始から得られるクロックのデータがメモリデバイス１７に書き込まれるかまたはメモリデバイス１７から読み出されるまでに発生するクロックパルスまたはクロックエッジの数を特定する。レイテンシーコマンドは、アンチユース（ａｎｔｉ−ｕｓｅ）をプログラムする等、従来の手段によってメモリデバイス１７内にプログラムされ得る。しかし、初期化パケットの一部でもあるレイテンシーコマンドは、初期化が行われると、メモリデバイス１７によって受け取られる。
【００５５】
アドレスキャプチャ回路４８は、また、コマンドバス５０からコマンドパケットを受け取り、コマンド内のアドレス情報に対応する２０ビットのアドレスを出力する。このアドレスは、アドレスシーケンサ６４に提供される。アドレスシーケンサ６４は、バス６６上に対応する３ビットバンクアドレスを、バス６８上に１１ビット行アドレスを、そして、バス７０上に６ビット列アドレスを生成する。
【００５６】
従来のＤＲＡＭの問題の１つは、ＤＲＡＭアレイ内の回路をプレチャージおよび平衡化するために要求される時間が原因で、速度が比較的低い点にある。図９に示したパケット型メモリデバイス１７は、複数のメモリバンク８０（この場合は、８個のメモリバンク８０ａ〜８０ｈ）を用いることにより、この問題を大きく回避する。１つのバンク８０ａからのメモリ読み出しの後、残りのバンク８０ｂ〜８０ｈがアクセスされている間に、バンク８０ａがプレチャージされ得る。メモリバンク８０ａ〜８０ｈの各々は、行ラッチ／デコーダ／ドライバ８２ａ〜８２ｈの各々から行アドレスを受け取る。行ラッチ／デコーダ／ドライバ８２ａ〜８２ｈの全てが、プレデコーダ８４から同じ行アドレスを受け取る。今度は、プレデコーダ８４が、マルチプレクサ９０によって決定される行アドレスレジスタ８６またはリフレッシュカウンタ８８のいずれかから行アドレスを受け取る。しかし、バンクアドレスレジスタ９６からのバンクデータの関数としてバンク制御論理９４によって決定されるある任意の時間にアクティブであるのは、行ラッチ／デコーダ／ドライバ８２ａ〜８２ｈのうちの１つのみである。
【００５７】
バス７０上の列アドレスが列ラッチ／デコーダ１００に与えられ、列ラッチ／デコーダ１００は、今度はＩ／Ｏゲーティング信号をＩ／Ｏゲーティング回路１０２に供給する。Ｉ／Ｏゲーティング回路１０２は、センス増幅器１０４を介してメモリバンク８０ａ〜８０ｈの列とインターフェースする。データは、メモリバンク８０ａ〜８０ｈに結合されるか、または、メモリバンク８０ａ〜８０ｈからセンス増幅器１０４およびＩ／Ｏゲーティング回路１０２を介してデータパスサブシステム１０８（データパスサブシステム１０８は読み出しデータパス１１０および書き込みデータパス１１２を含む）に結合される。読み出しデータパス１１０は、Ｉ／Ｏゲーティング回路１０２からのデータを受け取って格納する読み出しラッチ１２０を含む。図９に示すメモリデバイス１７において、６４ビットのデータが読み出しラッチ１２０に与えられ、格納される。その後、読み出しラッチは、４つの１６ビットデータワードをマルチプレクサ１２２に与える。マルチプレクサ１２２は、これら１６ビットデータワードの各々を読み出しＦＩＦＯバッファ１２４に順次与える。連続する１６ビットのデータワードが、ＦＩＦＯバッファ１２４を介して、プログラム可能遅延回路１２６による内部クロックから生成されるフロック信号によりクロッキングされる。ＦＩＦＯバッファ１２４は、１６ビットワードおよび２つのクロック信号（クロック信号およびクアドラチャクロック信号）をドライバ回路１２８に順次供給し、ドライバ回路１２８は、順番にプロセッサバス１４の一部を形成するデータバス１３０に１６ビットデータワードを与える。ドライバ回路１２８はまた、クロック信号をクロックバス１３２に与え、それによりデータバス１３０上のデータを読み出すプロセッサ１２等のデバイスが、データとシンクロし得る。
【００５８】
書き込みデータパス１１２は、データバス１３０に結合された受信器バッファ１４０を含む。受信器バッファ１４０は、データバス１３０からの１６ビットワードを４個の入力レジスタ１４２に順次供給し、４個の入力レジスタ１４２の各々は、クロック生成回路１４４からの信号によって選択的にイネーブルされる。従って、入力レジスタ１４２は、４個の１６ビットデータワードを順次格納し、それらを１個の６４ビットデータワードに結合して、この６４ビットデータワードが書き込みＦＩＦＯバッファ１４８に与えられる。書き込みＦＩＦＯバッファ１４８は、クロック生成器１４４からの信号および内部書き込みクロックＷＣＬＫによってクロッキングされ、６４ビットの書き込みデータを書き込みラッチおよびドライバ１５０に順次供給する。書き込みラッチおよびドライバ１５０は、６４ビットの書き込みデータを、Ｉ／Ｏゲーティング回路１０２およびセンス増幅器１０４を介して、メモリバンク８０ａ〜８０ｈの１つに与える。
【００５９】
図１０は、図９のメモリデバイス１７を含むコンピュータシステム１００のブロック図である。コンピュータシステム１００は、特定のソフトウェアを実行して特定の計算またはタスクを実行する等のさまざまな計算機能を実行するプロセッサ１０２を含む。プロセッサ１０２は、通常アドレスバス１０６、制御バス１０８、およびデータバス１１０を含むプロセッサバス１０４を有する。さらに、コンピュータシステム１００は、キーボードまたはマウス等の、プロセッサ１０２に結合された１つ以上の入力デバイス１１４を含み、これにより、オペレータはコンピュータシステム１００とのインターフェースを行える。通常、コンピュータシステム１００はまた、通常プリンタまたはビデオ端末である出力デバイス等の、プロセッサ１０２に結合された１つ以上の出力デバイス１１６を含む。１つ以上のデータ格納デバイス１１８がまた、通常、プロセッサ１０２に結合され、外部格納媒体（図示せず）からのデータを格納するかまたは取り出す。通常の格納デバイス１１８の例として、ハードディスク、フロッピーディスク、カセットテープ、およびコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）が挙げられる。プロセッサ１０２はまた、通常、キャッシュメモリ１２６（通常はスタティックランダムアクセスメモリ（ＳＲＡＭ））と、メモリコントローラ１３０を介してメモリデバイス１７とに結合される。メモリコントローラ１３０は、通常、メモリデバイス１７に結合された制御バス１０８およびアドレスバス１０６を含む。データバス１１０は、（図示のように）直接にか、メモリコントローラ１３０を介してか、または何か他の手段によって、プロセッサバス１０４に結合され得る。
【００６０】
本明細書中、例示を目的として本発明の特定の実施形態を説明したが、以上の説明から、本発明の趣旨および範囲から逸れることなくさまざまな改変を行い得ることが理解される。例えば、データレート制御回路１０はメモリデバイス１７において使用するものとして主に説明したが、このデータレート制御回路１０は、他のタイプのデバイスにおいても使用し得ることが理解される。したがって、本発明は、添付の請求の範囲によってのみ限定される。
【図面の簡単な説明】
【図１】  図１は、本発明の１つの実施形態によるデータレート制御回路の機能ブロック図である。
【図２Ａ】  図２Ａは、図１に示すスイッチ回路の１つの実施形態の模式図である。
【図２Ｂ】  図２Ｂは、図１に示すスイッチ回路の別の実施形態の模式図である。
【図２Ｃ】  図２Ｃは、図１に示すスイッチ回路の別の実施形態の模式図である。
【図２Ｄ】  図２Ｄは、図１に示すスイッチ回路の別の実施形態の模式図である。
【図２Ｅ】  図２Ｅは、図１に示すスイッチ回路の別の実施形態の模式図である。
【図３】  図３は、本発明によるデータレート制御回路の別の実施形態の機能ブロック図である。
【図４】  図４は、メモリデバイスコマンドバッファで用いられる図１のデータレート制御回路を示す機能ブロック図である。
【図５】  図５は、図４に示すコマンドバッファで用いられるシフトレジスタ回路の１つの論理図である。
【図６】  図６は、図５のシフトレジスタ回路で用いられるシフトレジスタ段の模式的な論理図である。
【図７】  図７は、図６のシフトレジスタがダブルデータレートモードで動作している場合に現れる様々な信号を示すタイミング図である。
【図８】  図８は、図６のシフトレジスタがシングルデータレートモードで動作している場合に現れる様々な信号を示す別のタイミング図である。
【図９】  図９は、図４〜６に示すコマンドバッファを用いてパケット化されたＤＲＡＭのブロック図である。
【図１０】  図１０は、コンピュータシステムで用いられる図９のパケット化されたＤＲＡＭを示すブロック図である。
【図１】
0004392545.tif 000002
【図２Ａ】
0004392545.tif 000003
【図２Ｂ】
0004392545.tif 000004
【図２Ｃ】
0004392545.tif 000005
【図２Ｄ】
0004392545.tif 000006
【図２Ｅ】
0004392545.tif 000007
【図３】
0004392545.tif 000008
【図４】
0004392545.tif 000009
【図５】
0004392545.tif 000010
【図６】
0004392545.tif 000011
【図７】
0004392545.tif 000012
【図８】
0004392545.tif 000013
【図９】
0004392545.tif 000014
【図１０】
0004392545.tif 000015