(57)【要約】【課題】従来の調節可能な遅延回路と用いることにより、異なるクロック領域のクロック信号のうちの１つが出力される調節可能な遅延回路の時間遅延が変更されても、それらのクロック信号間の同期位相関係を維持することが可能なクロックジェネレータを提供する。【解決手段】クロックが入力される遅延回路の入力と出力を切り離した後に、遅延回路の遅延時間を変更して遅延回路の入出力を再び接続させる。同期回路は、遅延回路の入力と出力が切り離された状態においても、クロックの位相関係を追跡し、適切なタイミングで遅延回路を再接続させるための指示を与える。【選択図】図４
2011125057.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロック信号と、前記第１のクロック信号と同一位相であり前記第１のクロック信号よりも短周期の第２のクロック信号と、制御信号とに基づいて、第１のマルチプレクサを制御するための第１のマルチプレクサ選択信号と、第２のマルチプレクサを制御するための第２のマルチプレクサ選択信号とを出力する同期回路を備え、
前記第１のマルチプレクサは、前記第２のクロック信号の入力と、グランドとに結合され、出力が遅延回路に接続されており、前記第１のマルチプレクサ選択信号が入力された場合にグランドを選択して前記遅延回路との接続を切り離し、
前記第２のマルチプレクサは、前記遅延回路の出力と、グランドとに結合されており、前記第２のマルチプレクサ選択信号が入力された場合にグランドを選択して前記遅延回路との接続を切り離す
クロックジェネレータにおいて、
前記同期回路は、前記制御信号が入力された場合に、前記第１のマルチプレクサ選択信号および前記第２のマルチプレクサ選択信号を出力して前記遅延回路から前記第１および第２のマルチプレクサを切り離させ、
前記遅延回路は、前記第１および第２のマルチプレクサが切り離されているときに時間遅延設定信号を入力した場合、当該時間遅延設定信号が示す時間遅延だけ遅延した信号を出力するように設定し、
前記同期回路は、前記制御信号の入力が停止した場合に、前記第２のマルチプレクサ選択信号の出力を停止し、かつ、前記第１のクロック信号の立上りの前であって前記第２のクロックの立下りのときに前記第１のマルチプレクサ選択信号の出力を停止し、
前記遅延回路は、前記第１のクロック信号の立上りの時に入力した前記第２のクロック信号について、前記時間遅延だけ遅延した前記第２のクロック信号を出力する
ことを特徴とするクロックジェネレータ。
【請求項２】
前記同期回路は、
前記第１のマルチプレクサ選択信号を出力するための第１の出力部と、
前記第２のマルチプレクサ選択信号を出力するための第２の出力部と、
を備え、
前記第１の出力部は、前記制御信号の入力に応答して前記第１のマルチプレクサ選択信号を出力し、かつ、前記制御信号の入力の停止に応答して前記第１のマルチプレクサ選択信号の出力を停止し、
前記第２の出力部は、前記制御信号の入力に応答して前記第２のマルチプレクサ選択信号を出力し、かつ、前記制御信号の入力の停止に応答して前記第２のマルチプレクサ選択信号の出力を停止する
ことを特徴とする請求項１に記載のクロックジェネレータ。
【請求項３】
前記第２の出力部に前記制御信号が入力されたときに、前記第２の出力部は、前記第１の出力部にハイ信号を供給し、前記第１の出力部は、前記第２の出力部から供給される前記ハイ信号に応答して、前記第１のマルチプレクサ選択信号を出力し、
前記第２の出力部に前記制御信号の入力が停止されたときに、前記第２の出力部は、前記第１の出力部にロー信号を供給し、前記第１の出力部は、前記第２の出力部から供給される前記ロー信号に応答して、前記第１のマルチプレクサ選択信号の出力を停止する
ことを特徴とする請求項２に記載のクロックジェネレータ。
【請求項４】
前記第１の出力部は、第１のＤフリップフロップと、第２のＤフリップフロップとを備え、
前記第１のＤフリップフロップは、前記ハイ信号が入力されているときに、前記第１のクロック信号と同位相の信号を出力し、前記ハイ信号の入力後であって前記ロー信号が入力されたときに、前記第１のクロック信号と同位相の信号の出力を停止し、
前記第２のＤフリップフロップは、前記ロー信号または前記ハイ信号と、前記第１のＤフリップの出力とを入力するＯＲ論理ゲートの出力を入力し、かつ、前記第２のクロック信号の反転出力に結合されており、前記ロー信号が入力され、前記第１のＤフリップの出力が停止している場合に、前記第２のクロック信号の立下り時に前記前記第１のマルチプレクサ選択信号の出力を停止する
ことを特徴とする請求項３に記載のクロックジェネレータ。
【請求項５】
前記第２の出力部は、直列に結合された複数のポジティブエッジＤフリップフロップを備え、
前記ハイ信号または前記ロー信号は、前記直列に結合された複数のポジティブエッジＤフリップフロップのうちの１つから出力される
ことを特徴とする請求項３に記載のクロックジェネレータ。
【請求項６】
前記第２のクロック信号のクロック周波数は、前記第１のクロック信号のクロック周波
数の２倍であることを特徴とする請求項１に記載のクロックジェネレータ。
【請求項７】
前記第２のクロック信号のクロック周波数は、前記第１のクロック信号のクロック周波
数の４倍であることを特徴とする請求項１に記載のクロックジェネレータ。
【請求項８】
アドレスバスと、
制御バスと、
データバスと、
前記アドレスバスに結合されたアドレスデコーダと、
前記データバスに結合された読み出し／書き込み回路と、
前記データバスに結合されたデータドライバ回路と、
前記制御バスに結合された制御回路と、
前記アドレスデコーダ、制御回路、および読み出し／書き込み回路に結合されたメモリセルアレイと、
前記データドライバに結合され、内部クロック信号を与えるクロックジェネレータ
を備え、
前記クロックジェネレータは、
第１のクロック信号と、前記第１のクロック信号と同一位相であり前記第１のクロック信号よりも短周期の第２のクロック信号と、制御信号とに基づいて、第１のマルチプレクサを制御するための第１のマルチプレクサ選択信号と、第２のマルチプレクサを制御するための第２のマルチプレクサ選択信号とを出力する同期回路を備え、
前記第１のマルチプレクサは、前記第２のクロック信号の入力と、グランドとに結合され、出力が遅延回路に接続されており、前記第１のマルチプレクサ選択信号が入力された場合にグランドを選択して前記遅延回路との接続を切り離し、
前記第２のマルチプレクサは、前記遅延回路の出力と、グランドとに結合されており、前記第２のマルチプレクサ選択信号が入力された場合にグランドを選択して前記遅延回路との接続を切り離す
クロックジェネレータであって、
前記同期回路は、前記制御信号が入力された場合に、前記第１のマルチプレクサ選択信号および前記第２のマルチプレクサ選択信号を出力して前記遅延回路から前記第１および第２のマルチプレクサを切り離させ、
前記遅延回路は、前記第１および第２のマルチプレクサが切り離されているときに時間遅延設定信号を入力した場合、当該時間遅延設定信号が示す時間遅延だけ遅延した信号を出力するように設定し、
前記同期回路は、前記制御信号の入力が停止した場合に、前記第２のマルチプレクサ選択信号の出力を停止し、かつ、前記第１のクロック信号の立上りの前であって前記第２のクロックの立下りのときに前記第１のマルチプレクサ選択信号の出力を停止し、
前記遅延回路は、前記第１のクロック信号の立上りの時に入力した前記第２のクロック信号について、前記時間遅延だけ遅延した前記第２のクロック信号を出力する
ことを特徴とするメモリ素子。
【請求項９】
前記同期回路は、
前記第１のマルチプレクサ選択信号を出力するための第１の出力部と、
前記第２のマルチプレクサ選択信号を出力するための第２の出力部と、
を備え、
前記第１の出力部は、前記制御信号の入力に応答して前記第１のマルチプレクサ選択信号を出力し、かつ、前記制御信号の入力の停止に応答して前記第１のマルチプレクサ選択信号の出力を停止し、
前記第２の出力部は、前記制御信号の入力に応答して前記第２のマルチプレクサ選択信号を出力し、かつ、前記制御信号の入力の停止に応答して前記第２のマルチプレクサ選択信号の出力を停止する
ことを特徴とする請求項８に記載のメモリ素子。
【請求項１０】
前記第２の出力部に前記制御信号が入力されたときに、前記第２の出力部は、前記第１の出力部にハイ信号を供給し、前記第１の出力部は、前記第２の出力部から供給される前記ハイ信号に応答して、前記第１のマルチプレクサ選択信号を出力し、
前記第２の出力部に前記制御信号の入力が停止されたときに、前記第２の出力部は、前記第１の出力部にロー信号を供給し、前記第１の出力部は、前記第２の出力部から供給される前記ロー信号に応答して、前記第１のマルチプレクサ選択信号の出力を停止する
ことを特徴とする請求項９に記載のメモリ素子。
【請求項１１】
前記第１の出力部は、第１のＤフリップフロップと、第２のＤフリップフロップとを備え、
前記第１のＤフリップフロップは、前記ハイ信号が入力されているときに、前記第１のクロック信号と同位相の信号を出力し、前記ハイ信号の入力後であって前記ロー信号が入力されたときに、前記第１のクロック信号と同位相の信号の出力を停止し、
前記第２のＤフリップフロップは、前記ロー信号または前記ハイ信号と、前記第１のＤフリップの出力とを入力するＯＲ論理ゲートの出力を入力し、かつ、前記第２のクロック信号の反転出力に結合されており、前記ロー信号が入力され、前記第１のＤフリップの出力が停止している場合に、前記第２のクロック信号の立下り時に前記前記第１のマルチプレクサ選択信号の出力を停止する
ことを特徴とする請求項１０に記載のメモリ素子。
【請求項１２】
前記第２の出力部は、直列に結合された複数のポジティブエッジＤフリップフロップを備え、
前記ハイ信号または前記ロー信号は、前記直列に結合された複数のポジティブエッジＤフリップフロップのうちの１つから出力される
ことを特徴とする請求項１０に記載のメモリ素子。
【請求項１３】
前記第２のクロック信号のクロック周波数は、前記第１のクロック信号のクロック周波
数の２倍であることを特徴とする請求項８に記載のメモリ素子。
【請求項１４】
前記第２のクロック信号のクロック周波数は、前記第１のクロック信号のクロック周波
数の４倍であることを特徴とする請求項８に記載のメモリ素子。
【請求項１５】
プロセッサバスを有するプロセッサと、
前記プロセッサバスに結合され、ペリフェラルデバイスポートを有し、システムメモリポートに結合されたコントローラをさらに備えるシステムコントローラと、
前記システムコントローラの前記ペリフェラルデバイスポートに結合された少なくとも１つの入力デバイスと、
前記システムコントローラの前記ペリフェラルデバイスポートに結合された少なくとも１つの出力デバイスと、
前記システムコントローラの前記ペリフェラルデバイスポートに結合された少なくとも１つのデータストレージデバイスと、
前記システムコントローラに結合され、メモリ要求およびその応答を伝送するメモリバスと、
前記メモリバスに結合された複数のメモリモジュール
を備え、
前記モジュールのそれぞれが、複数のメモリ素子と、前記メモリ素子にアクセスするためにメモリ素子バスを介して前記メモリ素子に結合されたメモリハブとを有し、
前記メモリハブが、前記データドライバに結合され、内部クロック信号を与えるクロックジェネレータを備え、
前記クロックジェネレータは、
第１のクロック信号と、前記第１のクロック信号と同一位相であり前記第１のクロック信号よりも短周期の第２のクロック信号と、制御信号とに基づいて、第１のマルチプレクサを制御するための第１のマルチプレクサ選択信号と、第２のマルチプレクサを制御するための第２のマルチプレクサ選択信号とを出力する同期回路を備え、
前記第１のマルチプレクサは、前記第２のクロック信号の入力と、グランドとに結合され、出力が遅延回路に接続されており、前記第１のマルチプレクサ選択信号が入力された場合にグランドを選択して前記遅延回路との接続を切り離し、
前記第２のマルチプレクサは、前記遅延回路の出力と、グランドとに結合されており、前記第２のマルチプレクサ選択信号が入力された場合にグランドを選択して前記遅延回路との接続を切り離す
クロックジェネレータであって、
前記同期回路は、前記制御信号が入力された場合に、前記第１のマルチプレクサ選択信号および前記第２のマルチプレクサ選択信号を出力して前記遅延回路から前記第１および第２のマルチプレクサを切り離させ、
前記遅延回路は、前記第１および第２のマルチプレクサが切り離されているときに時間遅延設定信号を入力した場合、当該時間遅延設定信号が示す時間遅延だけ遅延した信号を出力するように設定し、
前記同期回路は、前記制御信号の入力が停止した場合に、前記第２のマルチプレクサ選択信号の出力を停止し、かつ、前記第１のクロック信号の立上りの前であって前記第２のクロックの立下りのときに前記第１のマルチプレクサ選択信号の出力を停止し、
前記遅延回路は、前記第１のクロック信号の立上りの時に入力した前記第２のクロック信号について、前記時間遅延だけ遅延した前記第２のクロック信号を出力する
ことを特徴とするプロセッサベースシステム。
【請求項１６】
前記同期回路は、
前記第１のマルチプレクサ選択信号を出力するための第１の出力部と、
前記第２のマルチプレクサ選択信号を出力するための第２の出力部と、
を備え、
前記第１の出力部は、前記制御信号の入力に応答して前記第１のマルチプレクサ選択信号を出力し、かつ、前記制御信号の入力の停止に応答して前記第１のマルチプレクサ選択信号の出力を停止し、
前記第２の出力部は、前記制御信号の入力に応答して前記第２のマルチプレクサ選択信号を出力し、かつ、前記制御信号の入力の停止に応答して前記第２のマルチプレクサ選択信号の出力を停止する
ことを特徴とする請求項１５に記載のプロセッサベースシステム。
【請求項１７】
前記第２の出力部に前記制御信号が入力されたときに、前記第２の出力部は、前記第１の出力部にハイ信号を供給し、前記第１の出力部は、前記第２の出力部から供給される前記ハイ信号に応答して、前記第１のマルチプレクサ選択信号を出力し、
前記第２の出力部に前記制御信号の入力が停止されたときに、前記第２の出力部は、前記第１の出力部にロー信号を供給し、前記第１の出力部は、前記第２の出力部から供給される前記ロー信号に応答して、前記第１のマルチプレクサ選択信号の出力を停止する
ことを特徴とする請求項１６に記載のプロセッサベースシステム。
【請求項１８】
前記第１の出力部は、第１のＤフリップフロップと、第２のＤフリップフロップとを備え、
前記第１のＤフリップフロップは、前記ハイ信号が入力されているときに、前記第１のクロック信号と同位相の信号を出力し、前記ハイ信号の入力後であって前記ロー信号が入力されたときに、前記第１のクロック信号と同位相の信号の出力を停止し、
前記第２のＤフリップフロップは、前記ロー信号または前記ハイ信号と、前記第１のＤフリップの出力とを入力するＯＲ論理ゲートの出力を入力し、かつ、前記第２のクロック信号の反転出力に結合されており、前記ロー信号が入力され、前記第１のＤフリップの出力が停止している場合に、前記第２のクロック信号の立下り時に前記前記第１のマルチプレクサ選択信号の出力を停止する
ことを特徴とする請求項１７に記載のプロセッサベースシステム。
【請求項１９】
前記第２の出力部は、直列に結合された複数のポジティブエッジＤフリップフロップを備え、
前記ハイ信号または前記ロー信号は、前記直列に結合された複数のポジティブエッジＤフリップフロップのうちの１つから出力される
ことを特徴とする請求項１７に記載のプロセッサベースシステム。
【請求項２０】
前記第２のクロック信号のクロック周波数は、前記第１のクロック信号のクロック周波
数の２倍であることを特徴とする請求項１５に記載のプロセッサベースシステム。
【請求項２１】
前記第２のクロック信号のクロック周波数は、前記第１のクロック信号のクロック周波
数の４倍であることを特徴とする請求項１５に記載のプロセッサベースシステム。
【請求項２２】
メモリハブであって、
前記メモリハブによってメモリ要求が受け取られる際とメモリ応答が与えられる際とに介されるメモリバスインターフェースと、
前記メモリバスインターフェースに結合され、メモリ素子コマンド、ならびにそれぞれの信号が少なくとも１つの他の信号に対するタイミング関係を有するアドレス信号およびデータ信号が結合される際に介されるローカルメモリバスインターフェースと、
前記ローカルメモリバスインターフェースに結合され、少なくとも１つの信号の前記タイミング関係を変更する遅延回路であって、入力端子および出力端子を有し、自身の時間遅延を設定する時間遅延設定信号が与えられる制御端子をさらに有する遅延回路と、
第１のクロック信号と、前記第１のクロック信号と同一位相であり前記第１のクロック信号よりも短周期の第２のクロック信号と、制御信号とに基づいて、第１のマルチプレクサを制御するための第１のマルチプレクサ選択信号と、第２のマルチプレクサを制御するための第２のマルチプレクサ選択信号とを出力する同期回路と、
を備え、
前記第１のマルチプレクサは、前記第２のクロック信号の入力と、グランドとに結合され、出力が前記遅延回路に接続されており、前記第１のマルチプレクサ選択信号が入力された場合にグランドを選択して前記遅延回路との接続を切り離し、
前記第２のマルチプレクサは、前記遅延回路の出力と、グランドとに結合されており、前記第２のマルチプレクサ選択信号が入力された場合にグランドを選択して前記遅延回路との接続を切り離し、
前記同期回路は、前記制御信号が入力された場合に、前記第１のマルチプレクサ選択信号および前記第２のマルチプレクサ選択信号を出力して前記遅延回路から前記第１および第２のマルチプレクサを切り離させ、
前記遅延回路は、前記第１および第２のマルチプレクサが切り離されているときに前記時間遅延設定信号を入力した場合、当該時間遅延設定信号が示す時間遅延だけ遅延した信号を出力するように設定し、
前記同期回路は、前記制御信号の入力が停止した場合に、前記第２のマルチプレクサ選択信号の出力を停止し、かつ、前記第１のクロック信号の立上りの前であって前記第２のクロックの立下りのときに前記第１のマルチプレクサ選択信号の出力を停止し、
前記遅延回路は、前記第１のクロック信号の立上りの時に入力した前記第２のクロック信号について、前記時間遅延だけ遅延した前記第２のクロック信号を出力する
ことを特徴とするメモリハブ。
【請求項２３】
前記同期回路は、
前記第１のマルチプレクサ選択信号を出力するための第１の出力部と、
前記第２のマルチプレクサ選択信号を出力するための第２の出力部と、
を備え、
前記第１の出力部は、前記制御信号の入力に応答して前記第１のマルチプレクサ選択信号を出力し、かつ、前記制御信号の入力の停止に応答して前記第１のマルチプレクサ選択信号の出力を停止し、
前記第２の出力部は、前記制御信号の入力に応答して前記第２のマルチプレクサ選択信号を出力し、かつ、前記制御信号の入力の停止に応答して前記第２のマルチプレクサ選択信号の出力を停止する
ことを特徴とする請求２２に記載のメモリハブ。
【請求項２４】
前記第２の出力部に前記制御信号が入力されたときに、前記第２の出力部は、前記第１の出力部にハイ信号を供給し、前記第１の出力部は、前記第２の出力部から供給される前記ハイ信号に応答して、前記第１のマルチプレクサ選択信号を出力し、
前記第２の出力部に前記制御信号の入力が停止されたときに、前記第２の出力部は、前記第１の出力部にロー信号を供給し、前記第１の出力部は、前記第２の出力部から供給される前記ロー信号に応答して、前記第１のマルチプレクサ選択信号の出力を停止する
ことを特徴とする請求項２３に記載のメモリハブ。
【請求項２５】
前記第１の出力部は、第１のＤフリップフロップと、第２のＤフリップフロップとを備え、
前記第１のＤフリップフロップは、前記ハイ信号が入力されているときに、前記第１のクロック信号と同位相の信号を出力し、前記ハイ信号の入力後であって前記ロー信号が入力されたときに、前記第１のクロック信号と同位相の信号の出力を停止し、
前記第２のＤフリップフロップは、前記ロー信号または前記ハイ信号と、前記第１のＤフリップの出力とを入力するＯＲ論理ゲートの出力を入力し、かつ、前記第２のクロック信号の反転出力に結合されており、前記ロー信号が入力され、前記第１のＤフリップの出力が停止している場合に、前記第２のクロック信号の立下り時に前記前記第１のマルチプレクサ選択信号の出力を停止する
ことを特徴とする請求項２４に記載のメモリハブ。
【請求項２６】
前記第２の出力部は、直列に結合された複数のポジティブエッジＤフリップフロップを備え、
前記ハイ信号または前記ロー信号は、前記直列に結合された複数のポジティブエッジＤフリップフロップのうちの１つから出力される
ことを特徴とする請求項２４に記載のメモリハブ。
【請求項２７】
前記第２のクロック信号のクロック周波数は、前記第１のクロック信号のクロック周波
数の２倍であることを特徴とする請求項２２に記載のメモリハブ。
【請求項２８】
前記第２のクロック信号のクロック周波数は、前記第１のクロック信号のクロック周波
数の４倍であることを特徴とする請求項２２に記載のメモリハブ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的に主にクロック信号を発生させることに関し、特に、異なる時間領域のクロック信号の擬似同期位相関係を維持するために用いることが可能な同期回路に関する。
【背景技術】
【０００２】
メモリ素子用内部クロック信号は、一般に、コアシステムクロックから導出される。コアシステムクロック信号の周波数は、一般に、内部クロック信号に必要な周波数より低いので、内部クロック信号用として、より高い周波数のクロック信号がコアシステム信号から生成される。より高い周波数のクロック信号の周波数は、一般に、コアクロック信号の周波数の倍数である。たとえば、内部クロック信号のクロック周波数がコアクロック信号周波数の２倍、３倍、または４倍であることは珍しいことではない。より高い周波数のクロック信号をコアクロック信号から発生させる手法はよく知られている。一般に、コアシステムクロックは第１のクロック領域にあり、共通の、より高いクロック周波数を有する内部クロック信号は第２のクロック領域にあり、同様に、同じ、しかしさらに高いクロック周波数を有する内部クロック信号は、さらに第３のクロック領域にあると言うことができる。異なる素子が異なるクロック領域で動作していて、動作が同期している必要がある場合がある。たとえば、メモリ素子がより高い周波数のクロック領域で動作していて、メモリ素子と通信しているメモリコントローラがより低い周波数のクロック領域で動作している場合がある。しかしながら、それらのメモリ素子およびメモリコントローラが正常に動作することは、それら二者の間で伝送される信号が、確立されたタイミング関係を満足することに依存する。
【０００３】
一般に、コアクロック信号から生成された、より高い周波数のクロック信号は、コアクロック信号との固定された位相関係を有する。たとえば、図１に示すように、コアクロック信号１０４の２倍のクロック周波数を有する内部クロック信号１０８が、コアクロック信号の各クロックエッジと同時に発生する（すなわち、同期した）立上りエッジを有する。つまり、時刻Ｔ０およびＴ１では、コアクロック信号および内部クロック信号１０８のクロック遷移が同時に発生する。同様に、コアクロック信号１０４の４倍のクロック周波数を有する内部クロック信号１１２が、コアクロック信号との、別の、しかしやはり固定された位相関係を有する。具体的には、内部クロック信号１１２の１つおきのクロックパルスの立上りエッジが、コアクロック信号１０４の毎回のクロック遷移と同期している。図１に示すように、コアクロック信号１０４および内部クロック信号１１２は、時刻Ｔ０およびＴ１において同時に発生するクロック遷移を有する。
【０００４】
内部クロック信号の発生元であるコアクロック信号に対して、内部クロック信号の位相関係を調節したい場合がよくある。この位相関係を調節することにより、期待される位相関係を変化させる固有の時間遅延を吸収することが可能である。たとえば、位相シフトは、ライン負荷の問題、ラインインピーダンスの変動、伝搬遅延などにより発生する。別の例として、別々の導電性信号経路の長さが異なると、時間遅延が異なる。したがって、同期した２つのクロック信号が長さの異なる２つの信号経路を通ると、両者の時間遅延が異なるため、それぞれの行き先に到達する時刻が異なる。この状況は、動作が２つのクロック信号の同期を前提としている場合には、明らかに望ましくない。
【０００５】
さらに、遅延回路を用いて、信号の相対的なタイミングを変化させて、信号の様々なタイミングマージンを修正することも可能である。すなわち、公開されているタイミング仕様を満たしながらタイミングマージンを大きくしたり小さくしたりするために、メモリ素子の内部にある信号、ならびにメモリ素子の外部に与えられた信号のタイミングを、他の信号のタイミングを基準にして調節することが可能である。たとえば、メモリコントローラがメモリ素子に結合されていて、書き込み動作が要求される場合に、データ書き込みストローブがメモリコントローラからメモリ素子に与えられるタイミングと、データが実際にメモリコントローラからメモリ素子に与えられるタイミングとの時間関係をシフトするために、データ送信に対するデータ書き込みストローブの相対的なタイミングを、遅延回路を用いて変更することが可能である。パフォーマンスの変動につながる処理および素子のばらつきを吸収するために、内部信号および外部信号（異なる素子間に与えられる外部信号を含む）の相対的なタイミングを柔軟に変更できることが望ましい場合が多い。
【０００６】
クロック信号の相対位相は、クロック信号の信号経路に遅延を加えることによって調節可能である。クロック信号に時間遅延が加えられると、クロック信号が時間的にシフトし、結果として、遅延されたクロック信号の位相がシフトする。固有の時間遅延のためにそのままでは同期しないであろうクロック信号をさらに遅延させて、再び同期させることができるように、時間遅延を選択することが可能である。調節可能な遅延回路があれば、クロック信号に加える時間遅延を柔軟に調節することが可能である。従来の多くの遅延回路では、遅延回路に加える、必要な時間遅延の量を表す値を変更することによって時間遅延を調節する。そのような調節可能な遅延線回路は、当該技術分野ではよく知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の遅延回路には、時間遅延の変更に応答して、遅延回路からグリッチパルスやラントパルスが出力されることが多いという問題がある。いくつかのケースでは、特定の設計の遅延回路が、本質的に、時間遅延が変更されたときにグリッチパルスを発生させやすい。時間遅延やスイッチングノイズを変化させるために遅延回路を無効にするタイミングに対する入力クロック信号のタイミングなども、グリッチパルス発生の一因である。問題は、遅延回路の出力に結合された回路の応答を、グリッチパルスが誤ってトリガしてしまう可能性があることである。つまり、遅延回路の時間遅延を変更する際に、間違ったパルスが予想外の結果をもたらす可能性がある。
【０００８】
従来の遅延線を用いることの別の問題が、第１のクロック信号と第２の、より高い周波数のクロック信号との間の位相関係を維持しながら、第２のクロック信号を遅延させるために用いる遅延線回路の時間遅延を調節することに関して起こる。遅延回路の時間遅延を調節する過程で、第２のクロック信号の、第１のクロック信号との位相関係が失われる可能性がある。具体的には、第２のクロック信号に応答して、ある機能を実行する回路があり、その機能が第２のクロック信号の結果として、第１のクロック信号のクロック遷移とほぼ同時に実行される場合に、その回路が、第１のクロック信号に対して正しくないタイミングで機能を実行してしまう可能性がある。これは、第２のクロック信号の変化の、第１のクロック信号に対する位相関係が、時間遅延が調節されたときに失われるためである。
【０００９】
たとえば、図２は、第１のクロック信号２０２と、第１のクロック信号２０２に基づいて生成された第２のクロック信号２０４とを示している。第２のクロック信号２０４は、第１のクロック信号２０２の２倍の周波数を有し、第１のクロック信号２０２と同相である。図２にさらに示している第３のクロック信号２０６は、第２のクロック信号２０４が遅延されたものであり、第２のクロック信号２０４に対して時間遅延Ｔｄ１を有する。第３のクロック信号２０６の時間遅延は、調節可能な遅延線回路（図示せず）によって与えられる。第３のクロック信号２０６は、回路のタイミングを調節するために用いられ、たとえば、第３のクロック信号２０６の１つおきの立上りエッジに応答してデータを出力する従来のラッチ回路（図示せず）のタイミングを調節するために用いられる。データを出力させる、第３のクロック信号２０６の立上りエッジは、第１のクロック信号２０２の立上りエッジとほぼ同時に発生する。結果として、時刻Ｔ１における第３のクロック信号２０６の立上りエッジに応答してデータ２２０が出力される。これは、時刻Ｔ０における第１のクロック信号２０２の立上りエッジとほぼ同時である。同様に、時刻Ｔ３における第３のクロック信号２０６の立上りエッジに応答してデータ２２２が出力される。これは、時刻Ｔ２における第１のクロック信号２０２の立上りエッジとほぼ同時である。
【００１０】
図２はさらに、第２のクロック信号２０４に対して新しい時間遅延Ｔｄ２を有するクロック信号２０６’を示している。クロック信号２０６’は、調節可能な遅延回路の時間遅延が新しい時間遅延Ｔｄ２に変更された後の第２のクロック信号を表している。前述のように、クロック信号２０６’を受け取るラッチ回路は、１つおきの立上りエッジに応答してデータを出力する。つまり、時刻Ｔ５におけるクロック信号２０６’の立上りエッジに応答してデータ２２４が出力され、時刻Ｔ７におけるクロック信号２０６’の立上りエッジに応答してデータ２２６が出力される。ただし、図２に示すように、遅延線回路の時間遅延を変更すると、第３のクロック信号２０６と第１のクロック信号２０２との間の位相関係が失われる。時刻Ｔ５におけるクロック信号２０６’の第１の立上りエッジは、時刻Ｔ４における第２のクロック信号２０４の立上りエッジに応答したものである。したがって、ラッチによってデータが出力される時刻は、もはや第１のクロック信号２０２の立上りエッジとほぼ同時ではない。図２に示すように、データ２２４および２２６が出力されるのは、それぞれ、時刻Ｔ４およびＴ６における第１のクロック信号２０２の立下りエッジとほぼ同時である。クロック信号２０６および２０６’は、従来の遅延回路の時間遅延を変更すると、出力クロック信号と別のクロック信号との位相関係がどのように失われる可能性があるかを示している。図２に関しては、位相関係が失われると、データは、本来の出力タイミングから位相が１８０度ずれてラッチ回路から出力される。さらに、メモリ素子内の他の回路、またはメモリ素子に結合されているメモリコントローラが、やはり第２のクロック信号２０４に基づくそれぞれのクロック信号によって同期している場合は、本例のラッチ回路が、メモリ素子内の他の回路またはメモリコントローラと同期しなくなり、したがって、確実にエラーが発生する。図２に示された状況は、明らかに望ましくないであろう。
【課題を解決するための手段】
【００１１】
本発明の一態様では、第１のクロック信号に基づいてクロック信号を発生させる方法を提供する。この方法は、第１のクロック信号より高いクロック周波数を有する内部クロック信号を、第１のクロック信号に基づいて発生させることを含む。内部クロック信号は、第１のクロック信号のクロックエッジを基準とする初期位相関係を有する。内部クロック信号の、第１のクロック信号に対する初期位相関係は、調節された位相関係に変更される。第１のクロック信号を基準とする位相関係と、初期位相関係の基準となったクロックエッジを追跡する論理レベルとを有する位相同期信号が生成される。この位相同期信号に基づき、内部クロック信号を発生させる。内部クロック信号は、調節された位相関係を有し、さらに、初期位相関係の基準になっていたクロックエッジと同じクロックエッジを基準とする第１のクロックパルスを有する。
【００１２】
本発明の別の態様では、内部クロック信号に応答して論理レベルを入力端子から出力端子までシフトするシフトレジスタを含む同期回路を提供する。この同期回路は、シフトレジスタのダウンストリームタップに結合された入力を有する入力マルチプレクサ制御回路をさらに含む。入力マルチプレクサ制御回路は、ダウンストリームタップに結合された第１の論理レベルに応答して、遅延回路を内部クロック信号を受け取ることから切り離すことを入力マルチプレクサに行わせる入力マルチプレクサ制御信号を発生させる。マルチプレクサ制御回路はさらに、遅延回路によって与えられる擬似同期クロック信号の、コアクロック信号の立上りエッジまたは立下りエッジを基準とする位相関係を追跡する位相同期信号を発生させる。入力マルチプレクサ制御回路は、シフトレジスタのダウンストリームタップに結合された第２の論理レベルに応答して、（入力マルチプレクサ制御回路によって追跡されるコアクロック信号の立上りエッジまたは立下りエッジを依然として基準とする）新しい位相関係を有する擬似同期クロック信号を与える時点で、遅延回路が内部クロック信号を受け取るように遅延回路の入力を再結合するよう、入力マルチプレクサ制御信号を同期信号に基づいて発生させる。
【図面の簡単な説明】
【００１３】
【図１】先行技術に従って発生させる各種の関連クロック信号のタイミング図である。
【図２】先行技術の遅延線の動作による各種信号のタイミング図である。
【図３】本発明の一実施形態による同期回路の機能ブロック図である。
【図４】図３の同期回路によって制御されるマルチプレクス入力およびマルチプレクス出力を有する従来の遅延回路の部分的な機能ブロック図である。
【図５】図３および４の同期回路の動作の各種信号のタイミング図である。
【図６】本発明の実施形態を利用することが可能な同期メモリ素子の機能ブロック図である。
【図７】本発明の実施形態を実装することが可能なメモリハブベースのシステムメモリを有するコンピュータシステムの部分的なブロック図である。
【発明を実施するための形態】
【００１４】
図３は、本発明の実施形態による同期回路３００を示している。詳細については後述するが、同期回路３００を従来の調節可能な遅延回路と用いることにより、異なるクロック領域のクロック信号のうちの１つが出力される調節可能な遅延回路の時間遅延が変更されても、それらのクロック信号間の擬似同期位相関係を維持することが可能である。以下では、本発明が十分に理解されるように、いくつかの詳細を説明する。しかしながら、当業者であれば、これらの具体的な詳細がなくても本発明が実施可能であることは明白であろう。他の事例では、本発明を不要に曖昧にすることを避けるために、よく知られている回路、制御信号、およびタイミングプロトコルを詳細には示していない。
【００１５】
同期回路３００は、直列接続された複数のポジティブエッジトリガＤフリップフロップ３０４ａ〜ｊを含む。第１のフリップフロップ３０４ａは、制御信号ＤＥＬＯＦＦと、第１の周波数を有する第１のクロック信号ＣＬＫを受け取るように結合されている。ＣＬＫ信号は、第１のクロック領域のコアクロック信号であることが可能であることを理解されたい。後で詳細に説明するように、アクティブ（ＨＩＧＨ）ＤＥＬＯＦＦ信号は、同期回路３００が結合されている調節可能な遅延回路（図２）の時間遅延の変更が要求されていることを示す。残りの直列接続されたフリップフロップ３０４ｂ〜ｊは、第２のクロック信号ＣＬＫ２Ｘを受け取るように結合されている。ＣＬＫ２Ｘ信号は、ＣＬＫ信号の２倍の周波数を有し、第２のクロック領域のクロック信号であることが可能である。ＣＬＫ２Ｘ信号は、ＣＬＫ信号に基づいて発生させることが可能であり、ＣＬＫ２Ｘ信号はＣＬＫ信号と同相である。ＣＬＫ２Ｘ信号は、当該技術分野においてよく知られている従来の回路で発生させることが可能であることを理解されたい。フリップフロップ３０４ｃおよび３０４ｊの「非反転」出力は２入力ＡＮＤゲートに結合され、このゲートの出力が、遅延出力選択信号ＤＥＬ＿ＯＵＴ＿ＳＥＬを与える。
【００１６】
同期回路３００はさらにＤフリップフロップ３１２を含み、フリップフロップ３１２は、その入力において、フリップフロップ３０４ｆの非反転出力に結合された第１の入力と、フリップフロップ３１２の「反転」出力に結合された第２の入力とを有する２入力ＡＮＤゲート３２０の出力を受け取るように結合されている。フリップフロップ３１２は、ＣＬＫ２Ｘ信号のポジティブエッジに応答してトリガされるように結合されている。Ｄフリップフロップ３１６は、その入力において、フリップフロップ３０４ｆの非反転出力に結合された第１の入力と、Ｄフリップフロップ３１２の非反転出力に結合された第２の入力とを有する２入力ＯＲゲート３２２の出力を受け取るように結合されている。Ｄフリップフロップ３１６は、ＣＬＫ２Ｘ信号のネガティブエッジに応答してトリガされるように結合されている。フリップフロップ３１６の非反転出力は、遅延入力選択信号ＤＥＬ＿ＩＮ＿ＳＥＬを与える。
【００１７】
図４は、同期回路３００のうちの、従来の遅延回路４００と結合されている部分を示している。従来の遅延回路４００の入力は、マルチプレクサ４０１の出力に結合されている。マルチプレクサ４０１の第１の入力がＣＬＫ２Ｘ信号を受け取るように結合され、第２の入力がグラウンドに結合されている。代替実施形態では、当該技術分野において知られているように、遅延回路が、内部マルチプレクス入力を含む。遅延回路４００は、制御値ＤＥＬＴＡＰに基づく時間遅延を有する、ＣＬＫ２Ｘ信号に基づく出力クロック信号ＣＬＫＤＥＬを与える。ＤＥＬＴＡＰ値は、一般に、遅延回路４００の時間遅延を設定する複数の信号によって表される。そのような信号の発生は従来技術によるものなので、簡潔さのために本明細書では説明しない。遅延回路４００の出力は、マルチプレクサ４０２の第１の入力に結合されている。マルチプレクサ４０２の第２の入力は、グラウンドに結合されている。したがって、マルチプレクサ４０２は、ＤＥＬ＿ＯＵＴ＿ＳＥＬ信号の制御下で、ＣＬＫＤＥＬ信号またはグラウンドを出力信号ＤＥＬＯＵＴとして与える。ＤＥＬ＿ＩＮ＿ＳＥＬ信号およびＤＥＬ＿ＯＵＴ＿ＳＥＬ信号は、図３に示した同期回路３００によって与えられる。後で詳細に説明するように、入力クロック信号を切り離すと、遅延線回路からグリッチパルスが出力される事象が最少化される。遅延線回路に新しい値が与えられた後、入力クロック信号が遅延線回路の入力に再結合され、遅延線回路の出力信号が新しい遅延時間だけ遅延される。前述のように、遅延回路４００は従来技術によるものであり、本発明の実施形態との使用に好適な、様々な設計が当業者にはよく知られている。
【００１８】
同期回路および遅延回路４００の動作を、図５のタイミング図を参照して説明する。図５は、ＣＬＫ信号と、ＣＬＫ信号から導出され、ＣＬＫ信号と同相であるＣＬＫ２Ｘ信号を示している。最初、ＤＥＬＯＦＦ信号（図３）はＬＯＷである。したがって、ＤＥＬ＿ＩＮ＿ＳＥＬ信号およびＤＥＬ＿ＯＵＴ＿ＳＥＬ信号もＬＯＷである。結果として、ＣＬＫ２Ｘが遅延回路４００（図４）に結合され、遅延回路４００から出力されたＣＬＫＤＥＬ信号によってＤＥＬＯＵＴ信号が与えられる。図５に示すように、ＤＥＬＯＵＴ信号は、ＣＬＫ２Ｘ信号が遅延されたものであり、現在のＤＥＬＴＡＰ値によって設定された時間遅延Ｔｄ１を有する。
【００１９】
前述のように、遅延回路４００（図４）のＤＥＬＴＡＰ値が変更されることを想定して動作を開始するためにアクティブＤＥＬＯＦＦ信号を用いる。時刻Ｔ０より前のある時刻に、ＤＥＬＯＦＦ信号がＨＩＧＨになり（図示せず）、動作の開始を要求されたことを示す。時刻Ｔ０に、ＣＬＫ信号のポジティブエッジおよびＨＩＧＨのＤＥＬＯＦＦ信号に応答して、フリップフロップ３０４ａがＨＩＧＨ信号を出力する。フリップフロップ３０４ａから発生したＨＩＧＨ信号は、直列結合された複数のフリップフロップ３０４ｂ〜ｊを通る伝搬を開始する。フリップフロップ３０４ｂ〜ｊのそれぞれの非反転出力は、ＣＬＫ２Ｘ信号のポジティブエッジに応答して順にＨＩＧＨに切り替わる。フリップフロップ３０４ｂおよび３０４ｃは、フリップフロップ３０４ｂがＣＬＫ２Ｘ信号の第１のポジティブエッジにおいて準安定であっても、ＣＬＫ２Ｘ信号の第２のポジティブエッジにおいてフリップフロップ３０４ｃから安定した信号が出力されるように結合されている。ＣＬＫ２Ｘ信号の毎回のポジティブエッジに対してフリップフロップ３０４ｂ〜ｊが順に切り替わる様子を、図５のＤＥＬＯＦＦ２Ｘ＿Ｑ信号で示している。ＤＥＬＯＦＦ２Ｘ＿Ｑ信号は、９ビットの数に対応する１６進値を表している（各フリップフロップ３０４ｂ〜ｊが９ビットの数の各ビットに対応する）。フリップフロップ３０４ｂの出力は最下位ビットを表し、フリップフロップ３０４ｊの出力は最上位ビットを表す。図５に示すように、ＤＥＬＯＦＦ２Ｘ＿Ｑ信号によって表される１６進値は、各フリップフロップ３０４ｂ〜ｊがＬＯＷからＨＩＧＨに切り替わるにつれて変化する。たとえば、時刻Ｔ０からＣＬＫ２Ｘ信号の２クロック周期後の時刻Ｔ１では、フリップフロップ３０４ｃの出力がＨＩＧＨに切り替わる。時刻Ｔ１におけるＤＥＬＯＦＦ２Ｘ＿Ｑ信号の値は０ｘ００３Ｈであり、この値は、時刻Ｔ１において、フリップフロップ３０４ｂおよび３０４ｃの出力がＨＩＧＨであり、残りのフリップフロップ３０４ｄ〜ｊの出力がＬＯＷであることに対応する。ＡＮＤゲート３０８は、入力の１つがＨＩＧＨであるが、出力はＬＯＷのままである。ＤＥＬＯＦＦ２Ｘ＿Ｑ信号は、同期回路３００の動作には必要ではないが、同期回路３００の動作を説明するために図５に示されていることを理解されたい。
【００２０】
時刻Ｔ２では、ＣＬＫ２Ｘ信号のポジティブエッジに応答してフリップフロップ３０４ｆの出力がＨＩＧＨに切り替わる。ＤＥＬＯＦＦ２Ｘ＿Ｑ信号は、時刻Ｔ２において値０ｘ０１ＦＨを有することによってフリップフロップ３０４ｆの変化を反映する。値０ｘ０１ＦＨは、フリップフロップ３０４ｂ〜３０４ｆの出力がＨＩＧＨであることに対応する。フリップフロップ３１６の入力は、フリップフロップ３０４ｆの出力がＨＩＧＨであることに応答して、ＨＩＧＨからＬＯＷに切り替わる。ＣＬＫ２Ｘ信号の、時刻Ｔ２のポジティブエッジの次の、時刻Ｔ３におけるＣＬＫ２Ｘ信号のネガティブエッジにおいて、フリップフロップ３１６の出力に与えられるＤＥＬ＿ＩＮ＿ＳＥＬ信号がＬＯＷからＨＩＧＨに切り替わる。ＤＥＬ＿ＩＮ＿ＳＥＬ信号がＬＯＷからＨＩＧＨに切り替わると、マルチプレクサ４０１（図４）がＣＬＫ２Ｘ信号を遅延回路４００の入力から切り離し、グラウンドを入力として結合する。これに応答して、図５に示すように、最後のＣＬＫ２Ｘパルスが遅延回路４００を伝搬すると、ＤＥＬＯＵＴ信号も最終的に、時刻Ｔ４でＬＯＷになる。ＤＥＬ＿ＩＮ＿ＳＥＬ信号は、フリップフロップ３０４ｆの出力がＬＯＷに切り替わるまでＨＩＧＨのままである。
【００２１】
時刻Ｔ５では、ＣＬＫ２Ｘ信号のポジティブエッジに応答してフリップフロップ３０４ｊの出力がＨＩＧＨに切り替わり、ＡＮＤゲート３０８の出力のＤＥＬ＿ＯＵＴ＿ＳＥＬ信号もＨＩＧＨになる。ＤＥＬ＿ＯＵＴ＿ＳＥＬ信号がＨＩＧＨになると、マルチプレクサ４０２の出力がグラウンドに結合され、したがって、遅延回路４００の出力が、ＤＥＬＯＵＴ信号を与えることから切り離される。遅延回路４００の入力が、時刻Ｔ３において、ＣＬＫ２Ｘ信号を受け取ることから切り離され、その後、遅延回路４００の出力が、時刻Ｔ５において、マルチプレクサ４０２の出力から切り離されるシーケンスは、あらゆるラントパルスを遅延回路４００から排出することを可能にする。すなわち、ＤＥＬ＿ＩＮ＿ＳＥＬ信号がＨＩＧＨになった時点でＣＬＫ２Ｘ信号のクロックパルスのあらゆる部分が遮断され、遅延回路４００を伝搬されなくなってから、遅延回路４００の出力が切り離される。遅延回路４００の入力および出力が切り離された状態で、時刻Ｔ６で、ＤＥＬＴＡＰ値を変更して遅延回路４００の時間遅延を調節することが可能である。
【００２２】
前述のように、問題が起こる可能性があるのは、出力クロック信号を与えるために遅延回路が再結合されたときに、第１の時間領域のクロックに対する、第２の時間領域のクロック信号の位相が維持されない場合である。図５では、ＤＥＬＯＵＴ信号が第２の時間領域のクロック信号を表しており、ＣＬＫ信号が第１の時間領域のクロック信号を表している。同期回路４００は、フリップフロップ３１２を用いて、遅延回路４００が切り離されている間のＤＥＬＯＵＴ信号とＣＬＫ信号との間の位相関係を追跡し、それによって、遅延回路４００を再結合した後のＤＥＬＯＵＴ信号の最初のクロックパルスとＣＬＫ信号との位相関係が、遅延回路４００が切り離される前とほぼ同じになるようにする。図５を参照すると、ＤＥＬＯＵＴ信号の最後のクロックパルスが時刻Ｔ３に出力される。この最後のクロックパルスは、ＣＬＫ信号のネガティブエッジと同時に発生する、ＣＬＫ２Ｘ信号の、時刻Ｔ２にポジティブエッジを有するクロックパルスが遅延されたものである。したがって、ＤＥＬＯＵＴ信号とＣＬＫ信号との間の適正な相対位相関係を維持するためには、ＤＥＬＴＡＰ値が変更された後のＤＥＬＯＵＴ信号の最初のクロックパルスがＣＬＫ信号のポジティブエッジに追従しなければならない。
【００２３】
動作時には、フリップフロップ３０４ｆの出力がＨＩＧＨに切り替わる時刻Ｔ３の後の、ＣＬＫ２Ｘ信号の次のポジティブエッジに応答して時刻Ｔ４でフリップフロップ３１２の出力がＨＩＧＨに切り替わるまで、フリップフロップ３１２の出力はＬＯＷである。図示した構成では、図５でＰＨ２ＸＯＦＦ＿Ｑ信号として示されているフリップフロップ３１２の出力が、時刻Ｔ４以降、フリップフロップ３０４ｆの出力がＬＯＷに戻るまで、ＣＬＫ２Ｘ信号の毎回のポジティブエッジに応答して、ＨＩＧＨとＬＯＷとの間で切り替わる。後で詳細に説明するように、フリップフロップ３１２のトグル動作は、遅延回路４００が切り離されている時間帯の、ＤＥＬＯＵＴ信号とＣＬＫ信号との間の位相関係を追跡するために用いる。
【００２４】
時刻Ｔ６の後、時刻Ｔ７になるまでの間、フリップフロップ３０４ａへのＤＥＬＯＦＦ信号入力はＬＯＷになる（図示せず）。これは、遅延回路４００の入力および出力の再結合が要求されていることを示している。フリップフロップ３０４ａの出力は、時刻Ｔ７において、ＣＬＫ２Ｘ信号のポジティブエッジに応答してＬＯＷになる。フリップフロップ３０４ａのＬＯＷ出力は、ＣＬＫ２Ｘ信号の毎回のポジティブエッジに応答して残りのフリップフロップ３０４ｂ〜ｊを順に伝搬し始める。時刻Ｔ８でフリップフロップ３０４ｃの出力がＬＯＷに切り替わり、これに応答して、ＡＮＤゲート３０８のＤＥＬ＿ＯＵＴ＿ＳＥＬ信号がＬＯＷに切り替わる。ＬＯＷのＤＥＬ＿ＯＵＴ＿ＳＥＬ信号により、マルチプレクサ４０２が遅延回路４００の出力を再結合して、ＣＬＫＤＥＬ信号をＤＥＬＯＵＴ信号として与える。時刻Ｔ８では、遅延回路４００の出力は再結合されるが、入力はまだ、ＣＬＫ２Ｘ信号を受け取るように再結合されていない。したがって、遅延回路の出力は、この時点ではまだＬＯＷである。
【００２５】
時刻Ｔ９では、ＣＬＫ２Ｘ信号のポジティブエッジに応答してフリップフロップ３０４ｆの出力がＬＯＷに切り替わる。フリップフロップ３１２の出力もＬＯＷであれば、フリップフロップ３０４ｆのＬＯＷ出力により、フリップフロップ３１６の出力のＤＥＬ＿ＩＮ＿ＳＥＬ信号が、その後のＣＬＫ２Ｘ信号のネガティブエッジでＬＯＷに切り替わる。しかしながら、図５に示すように、ＣＬＫ２Ｘ信号の次のネガティブエッジに対応する時刻Ｔ１０では、フリップフロップ３１２の出力はＨＩＧＨのままである。したがって、ＤＥＬ＿ＩＮ＿ＳＥＬ信号は、時刻Ｔ１０ではＬＯＷに切り替わらない。ＣＬＫ２Ｘ信号の次のポジティブエッジに対応する時刻Ｔ１１では、時刻Ｔ８でのフリップフロップ３０４ｆのＬＯＷ出力により、フリップフロップ３１２の出力がＬＯＷに切り替わる。ＣＬＫ２Ｘ信号の次のネガティブエッジに対応する時刻Ｔ１２では、フリップフロップ３１６の出力のＤＥＬ＿ＩＮ＿ＳＥＬ信号が最終的にＬＯＷになる。ＤＥＬ＿ＩＮ＿ＳＥＬ信号は、フリップフロップ３１２の出力が時刻Ｔ１１でＬＯＷに切り替わったときにＯＲゲートの出力がＬＯＷに切り替わったために、ＬＯＷに切り替わる。マルチプレクサ４０１は、ＤＥＬ＿ＩＮ＿ＳＥＬ信号がＬＯＷに切り替わるのに応答して、ＣＬＫ２Ｘ信号を遅延回路４００の入力に再結合する。したがって、時刻Ｔ１３におけるＣＬＫ２Ｘ信号のポジティブエッジは、ＤＥＬＴＡＰ値の変更後に遅延回路４００に入力されるＣＬＫ２Ｘ信号の最初のクロックパルスのポジティブエッジとなる。時刻Ｔ１４におけるＤＥＬＯＵＴ信号の最初のクロックパルスのポジティブエッジは、時刻Ｔ１３におけるＣＬＫ２Ｘ信号のポジティブエッジに対応するポジティブエッジである。ＤＥＬＯＵＴ信号は、時刻Ｔ６に遅延回路４００に与えられた新しいＤＥＬＴＡＰ値に対応する、新しい遅延時間Ｔｄ２だけ遅延される。
【００２６】
図５に示すように、ＤＥＬＯＵＴ信号は、ＣＬＫ信号との位相関係を維持する。すなわち、前述のように、ＤＥＬＯＵＴ信号とＣＬＫ信号との間の相対位相関係を維持するためには、ＤＥＬＯＵＴ信号の最初のクロックパルスがＣＬＫ信号のポジティブエッジに対応しなければならない（これは図５に示したケースである）。ＤＥＬＯＵＴ信号とＣＬＫ信号との間の相対位相関係が維持されるのは、ＣＬＫ２Ｘ信号に応答しての、フリップフロップ３１２のＨＩＧＨとＬＯＷとの間のトグル動作で追跡されるＣＬＫ信号の位相が適正になるまで、ＤＥＬ＿ＩＮ＿ＳＥＬ信号が、ＣＬＫ２Ｘ信号を遅延回路４００の入力に再結合することを許可されないためである。
【００２７】
本発明の範囲から逸脱することなく、同期回路３００に小変更を加えることが可能であることを理解されたい。たとえば、直列結合されるフリップフロップ３０４ａ〜ｊの数を変更することによって、ＤＥＬＯＵＴ信号を与える遅延線４００の切り離しおよび再結合に用いる各種信号の相対的なタイミングを変えることが可能である。代替として、フリップフロップ３１２および３１６をフリップフロップ３０４ａ〜ｊのどの出力に結合するかを変更することによっても、各種信号の相対的なタイミングを変えることが可能である。
【００２８】
本発明の代替実施形態では、同期回路３００を、ＣＬＫ信号の周波数の倍数の周波数（たとえば、ＣＬＫ信号の４倍の周波数）を有するクロック信号で用いるように変更する。ＣＬＫ信号の１周期の間に発生すると予想される４個のポジティブエッジを追跡するために、フリップフロップ３１２の代わりに非同期ＦＩＦＯ（図示せず）を用いることが可能である。ＣＬＫ信号の周波数の倍数の周波数を有するクロック信号を用いるケースでは、非同期ＦＩＦＯに結合される論理回路に、当業者にはよく理解されている小変更を加えることが可能である。非同期ＦＩＦＯを用いると、遅延回路４００の出力を再結合した後のＤＥＬＯＵＴ信号の最初のクロックパルスが発生するときの、ＣＬＫ信号との相対位相関係を、遅延回路４００の入力が、ＣＬＫ信号の４倍の周波数を有するクロック信号を受け取ることから切り離されたときと同じにすることが可能である。そのような非同期ＦＩＦＯは、当業者にはよく知られており、従来の設計および回路を用いて実装することが可能である。遅延されたクロック信号の最初のパルスが遅延回路４００から出力される際の位相関係を適正に維持するための、ＣＬＫ信号に対する位相関係の追跡に、従来の１：ｎカウンタ回路またはタイミングチェーンを用いることも可能である。本発明の範囲から逸脱することなく、フリップフロップ３１２に対する他の置き換えが可能であることを理解されたい。
【００２９】
図６は、本発明の実施形態を実装することが可能なメモリ素子６００の機能ブロック図である。図６のメモリ素子６００は、ダブルデータレート（ＤＤＲ）同期ダイナミックランダムアクセスメモリ（「ＳＤＲＡＭ」）であるが、本明細書で説明する原理は、内部および外部の信号を同期する同期回路を含むことが可能な任意のメモリ素子（たとえば、従来の同期ＤＲＡＭ（ＳＤＲＡＭ）や、ＳＬＤＲＡＭおよびＲＤＲＡＭのようなパケット化メモリ素子など）に適用可能であり、内部および外部のクロッキング信号を同期しなければならない任意の集積回路にも同様に適用可能である。
【００３０】
メモリ素子６００には制御ロジックおよびコマンドデコーダ６３４が含まれ、これは、主にメモリコントローラなどの外部回路（図示せず）から制御バスＣＯＮＴを介して複数のコマンド信号およびクロッキング信号を受け取る。コマンド信号は、一般に、チップセレクト信号ＣＳ＊、書き込みイネーブル信号ＷＥ＊、列アドレスストローブ信号ＣＡＳ＊、および行アドレスストローブ信号ＲＡＳ＊を含み、クロッキング信号は、クロックイネーブル信号ＣＫＥ、および相補クロック信号ＣＬＫ、ＣＬＫ＊を含む（「＊」は、信号がアクティブローであることを表す）。コマンド信号ＣＳ＊、ＷＥ＊、ＣＡＳ＊、およびＲＡＳ＊は、個々のコマンド（読み出し、書き込み、自動リフレッシュなどのコマンド）に対応する値まで駆動される。ＣＫＥ信号は、内部クロック、入力バッファ、および出力ドライバをアクティブ化したり非アクティブ化したりする。コマンドデコーダ６３４は、クロック信号ＣＬＫ、ＣＬＫ＊に応答して、入力コマンドをラッチおよびデコードし、コンポーネント６０２〜６３２が入力コマンドの機能を実行するように制御するクロッキング信号および制御信号のシーケンスを発生させる。コマンドデコーダ６３４は、ＣＬＫ、ＣＬＫ＊信号のポジティブエッジ（すなわち、ハイになるＣＬＫとローになるＣＬＫ＊の交差点）でコマンド信号およびアドレス信号をラッチし、同時に、データストローブ信号ＤＱＳの両エッジに応答して（したがって、クロック信号ＣＬＫ、ＣＬＫ＊の２倍の周波数で）入力レジスタ６３０がデータをメモリ素子６００に転送し、データドライバ６２４がデータをメモリ素子６００から転送する。これが成り立つのは、ＤＱＳ信号がＣＬＫ、ＣＬＫ＊信号と同じ周波数だからである。メモリ素子６００がダブルデータレート素子と呼ばれるのは、素子に転送されたり、素子から転送されたりするデータワードＤＱが従来のＳＤＲＡＭの２倍のレートで転送されるからであり、これによって、入力クロック信号の周波数に対応するレートでデータが転送される。制御信号およびタイミング信号を発生させる際の制御ロジックおよびコマンドデコーダ６３４の動作の詳細は従来どおりなので、簡潔さのために、詳細な説明は行わない。
【００３１】
メモリ素子６００にはさらに、アドレスバスＡＤＤＲを介して行アドレス、列アドレス、およびバンクアドレスを受け取るアドレスレジスタ６０２が含まれる（これらのアドレスは一般にメモリコントローラ（図示せず）から供給される）。アドレスレジスタ６０２は、行アドレスマルチプレクサ６０４に与えられる行アドレスと、バンク制御ロジック回路６０６に与えられるバンクアドレスとを受け取る。行アドレスマルチプレクサ６０４は、アドレスレジスタ６０２から受け取った行アドレス、またはリフレッシュカウンタ６０８から受け取ったリフレッシュ行アドレスを、複数の行アドレスラッチおよびデコーダ６１０Ａ〜Ｄに与える。バンク制御ロジック６０６は、アドレスレジスタ６０２から受け取ったバンクアドレス、またはリフレッシュカウンタ６０８から受け取ったリフレッシュバンクアドレスに対応する行アドレスラッチおよびデコーダ６１０Ａ〜Ｄをアクティブ化し、アクティブ化された行アドレスラッチおよびデコーダは、受け取った行アドレスをラッチおよびデコードする。アクティブ化された行アドレスラッチおよびデコーダ６１０Ａ〜Ｄは、デコードされた行アドレスに応答して、対応するメモリバンク６１２Ａ〜Ｄに各種信号を与え、それによって、デコードされた行アドレスに対応するメモリセルの行をアクティブ化する。各メモリバンク６１２Ａ〜Ｄが、行と列の形に配列された複数のメモリセルを有するメモリセルアレイを含み、アクティブ化された行にあるメモリセルに格納されているデータが、対応するメモリバンクのセンス増幅器に格納される。メモリ素子６００が、メモリ素子６００に入力された自動リフレッシュコマンドまたは自己リフレッシュコマンドに応答して自動リフレッシュモードまたは自己リフレッシュモードで動作している場合は、行アドレスマルチプレクサ６０４が、リフレッシュカウンタ６０８から受け取ったリフレッシュ行アドレスをデコーダ６１０Ａ〜Ｄに与え、バンク制御ロジック回路６０６が、リフレッシュカウンタから受け取ったリフレッシュバンクアドレスを使用する（これらは当業者であれば理解されよう）。
【００３２】
ＡＤＤＲバスには、行アドレスおよびバンクアドレスの後に列アドレスが与えられ、アドレスレジスタ６０２が列アドレスを列アドレスカウンタおよびラッチ６１４に与え、列アドレスカウンタおよびラッチ６１４が、列アドレスをラッチし、ラッチした列アドレスを複数の列デコーダ６１６Ａ〜Ｄに与える。バンク制御ロジック６０６は、受け取ったバンクアドレスに対応する列デコーダ６１６Ａ〜Ｄをアクティブ化し、アクティブ化された列デコーダは、与えられた列アドレスをデコードする。列アドレスカウンタおよびラッチ６１４は、メモリ素子６００の動作モードに応じて、ラッチした列アドレスをデコード６１６Ａ〜Ｄに直接与えるか、アドレスレジスタ６０２によって与えられる列アドレスから始まる列アドレスのシーケンスをデコーダに与える。アクティブ化された列デコーダ６１６Ａ〜Ｄは、カウンタおよびラッチ６１４から受け取った列アドレスに応答して、デコード信号および制御信号をＩ／Ｏゲーティングおよびデータマスキング回路６１８に与え、Ｉ／Ｏゲーティングおよびデータマスキング回路６１８は、アクセスされているメモリバンク６１２Ａ〜Ｄのアクティブ化された行のメモリセルの中の、デコードされた列アドレスに対応するメモリセルにアクセスする。
【００３３】
データ読み出し動作の間は、アドレス指定されたメモリセルから読み出されているデータがＩ／Ｏゲーティングおよびデータマスキング回路６１８を通って読み出しラッチ６２０に結合されている。Ｉ／Ｏゲーティングおよびデータマスキング回路６１８は、Ｎビットのデータを読み出しラッチ６２０に供給し、読み出しラッチ６２０は、次いで２つのＮ／２ビットワードをマルチプレクサ６２２に与える。図６の実施形態では、回路６１８は、６４ビットを読み出しラッチ６２０に与え、読み出しラッチ６２０は、２つの３２ビットワードをマルチプレクサ６２２に与える。データドライバ６２４が、マルチプレクサ６２２からのＮ／２ビットワードを順に受け取り、さらに、データドライバ６２４を同期するクロック信号を、本発明の実施形態による同期回路を有するクロックジェネレータ６２７から受け取る。クロックジェネレータ６２７は、遅延されたクロック信号を遅延ロックループ（ＤＬＬ）６２３から受け取るように結合されている。当該技術分野で知られているように、ＤＬＬは、別のクロック信号と同期しているクロックを発生させることが可能である。クロックジェネレータ６２７は、異なるクロック領域のクロック信号の間に擬似同期位相関係を有しながら、ＤＬＬからのクロック信号を遅延させたものを、データドライバ６２４に与える。クロックジェネレータ６２７による位相関係の調節は、調節可能な遅延回路の時間遅延を調節することによってなされる。クロックジェネレータに含まれる同期回路は、クロックジェネレータ６２７から出力されるクロック信号と、別のクロック領域にあるクロック信号との間の大まかな位相関係を維持するのに用いられる。
【００３４】
データストローブドライバ６２５が、ストローブ信号ジェネレータ６２６からデータストローブ信号ＤＱＳを受け取る。データストローブドライバ６２５は、クロックジェネレータ６２９に結合され、クロックジェネレータ６２９は、データストローブドライバ６２５の動作を同期するためのクロック信号をデータストローブドライバ６２５に与える。クロックジェネレータ６２９は、クロックジェネレータ６２７と同様に、本発明の一実施形態による同期回路を含むことにより、異なるクロック領域のクロック信号の間の擬似同期位相関係を維持する。クロックジェネレータ６２９は、入力クロック信号をＤＬＬ  ６２３から受け取る。ＤＱＳ信号は、メモリコントローラのような外部回路（図示せず）が、読み出し動作中にメモリ素子６００からのデータをラッチする際に用いる。データドライバ６２４は、遅延されたクロック信号ＣＬＫＤＥＬに応答して、受け取ったＮ／２ビットワードを、対応するデータワードＤＱとして順に出力する。各データワードは、メモリ素子６００をクロッキングするために与えられたＣＬＫ信号の立上りエッジまたは立下りエッジに同期して出力される。データドライバ６２４はさらに、ＣＬＫ信号の立上りエッジおよび立下りエッジとそれぞれ同期している立上りエッジおよび立下りエッジを有するデータストローブ信号ＤＱＳを出力する。各データワードＤＱおよびデータストローブ信号ＤＱＳが、合わせてデータバスを定義する。当業者であれば理解されるように、ＤＬＬ  ６２３からのＣＬＫＤＥＬ信号は、ＣＬＫ信号が遅延されたものであり、ＤＬＬ  ６２３は、メモリ素子６００について公開されているタイミング仕様を満たすようにＤＱＳ信号およびＤＱワードがデータバス上に配置されるよう、ＣＬＫ信号に対するＣＬＫＤＥＬ信号の遅延を調節する。データバスはさらに、マスキング信号ＤＭ０−Ｍを含む。これについては、後でデータ書き込み動作に関して詳述する。メモリ素子に含まれるクロックジェネレータの数は、本発明の範囲から逸脱することなく変更可能であることを理解されたい。たとえば、コアクロック信号を基準とする他の内部クロック信号の相対的なタイミングをより柔軟に変更できるように、それらの内部クロック信号のための追加クロックジェネレータを含めることが可能である。
【００３５】
データ書き込み動作時には、メモリコントローラのような外部回路（図示せず）が、Ｎ／２ビットデータワードＤＱ、ストローブ信号ＤＱＳ、および対応するデータマスキング信号ＤＭ０−Ｘをデータバス上に与える。データレシーバ６２８が各ＤＱワードおよび関連するＤＭ０−Ｘ信号を受け取り、これらの信号を、ＤＱＳ信号でクロッキングされている入力レジスタ６３０に与える。入力レジスタ６３０は、ＤＱＳ信号の立上りエッジに応答して、第１のＮ／２ビットＤＱワードおよび関連するＤＭ０−Ｘ信号をラッチし、ＤＱＳ信号の立下りエッジに応答して、第２のＮ／２ビットＤＱワードおよび関連するＤＭ０−Ｘ信号をラッチする。入力レジスタ６３０は、ラッチした２つのＮ／２ビットＤＱワードをＮビットワードとして書き込みＦＩＦＯおよびドライバ６３２に渡すが、与えられたＤＱワードおよびＤＭ０−Ｘ信号を、ＤＱＳ信号に応答して、クロッキングして書き込みＦＩＦＯおよびドライバに入力する。ＤＱワードは、ＣＬＫ信号に応答して、クロッキングにより書き込みＦＩＦＯおよびドライバ６３２から出力され、Ｉ／Ｏゲーティングおよびマスキング回路６１８に与えられる。Ｉ／Ｏゲーティングおよびマスキング回路６１８は、ＤＭ０−Ｘ信号に従って、アクセスされているバンク６１２Ａ〜Ｄのアドレス指定されたメモリセルにＤＱワードを転送する。ＤＭ０−Ｘ信号は、アドレス指定されたメモリセルに書き込まれているＤＱワード（すなわち、書き込みデータ）のうちのビットまたはビット群を選択的にマスクするために用いることが可能である。
【００３６】
図７は、本発明の実施形態を利用することが可能なメモリハブアーキテクチャを有するコンピュータシステム７００を示している。コンピュータシステム７００は、特定の計算またはタスクを実行する特定のソフトウェアを実行することなど、様々なコンピューティング機能を実行するプロセッサ７０４を含む。プロセッサ７０４は、アドレスバス、制御バス、およびデータバスを一般に含むプロセッサバス７０６を含む。プロセッサバス７０６は、一般に、キャッシュメモリ７０８に結合される。キャッシュメモリ７０８は一般に静的ランダムアクセスメモリ（「ＳＲＡＭ」）である。プロセッサバス７０６はさらに、バスブリッジとも呼ばれるシステムコントローラ７１０に結合される。
【００３７】
システムコントローラ７１０はさらに、他の様々なコンポーネントのための、プロセッサ７０４との通信パスとして動作する。具体的には、システムコントローラ７１０は、グラフィックスコントローラ７１２に一般に接続されるグラフィックスポートを含み、グラフィックスコントローラ７１２はビデオ端末７１４に接続される。システムコントローラ７１０はさらに、操作者がコンピュータシステム７００とインターフェースすることを可能にするために、キーボードやマウスなどの１つまたは複数の入力装置７１８に接続される。一般に、コンピュータシステム７００はさらに、システムコントローラ７１０を介してプロセッサ７０４に接続される、プリンタなどの１つまたは複数の出力装置７２０を含む。一般に、プロセッサ７０４が内部または外部の記憶媒体（図示せず）にデータを格納したり、そこからデータを取り出したりすることを可能にするために、プロセッサ７０４にはさらに、１つまたは複数のデータ記憶装置７２４がシステムコントローラ７１０を介して接続される。一般的な記憶装置７２４の例として、ハードディスク、フロッピー（登録商標）ディスク、テープカセット、コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）などがある。
【００３８】
システムコントローラ７１０は、バスシステム７３４を介して複数のメモリモジュール７３０ａ〜ｎに結合されているメモリハブコントローラ７２８を含む。メモリモジュール７３０ａ〜ｎのそれぞれは、一括してバス７５０として示されているコマンドバス、アドレスバス、およびデータバスを介して複数のメモリ素子７４８に結合されているメモリハブ７４０を含む。メモリハブ７４０は、コントローラ７２８とメモリ素子７４８との間でメモリ要求および応答を効率的にルーティングする。メモリ素子７４８は、図６に関して既に説明したメモリ素子６００のような同期ＤＲＡＭであることが可能である。メモリハブ７４０のそれぞれは、書き込みバッファおよび読み出しデータバッファを含む。このアーキテクチャを採用するコンピュータシステムは、プロセッサ７０４がメモリモジュール７３０ａ〜ｎの１つのメモリモジュールにアクセスすることと、メモリモジュール７３０ａ〜ｎの別のモジュールが前のメモリ要求に応答することとが同時に行われることが可能である。たとえば、プロセッサ７０４は、システム内のメモリモジュール７３０ａ〜ｎの１つのメモリモジュールに書き込みデータを出力し、同時に、システム内のメモリモジュール７３０ａ〜ｎの別のメモリモジュールが読み出しデータをプロセッサ７０４に提供する準備をすることが可能である。さらに、メモリハブアーキテクチャは、コンピュータシステムのメモリ容量を大幅に増やすことも可能である。
【００３９】
本発明の実施形態は、メモリ素子７４８、メモリハブコントローラ７２８、またはメモリハブ７４０において利用可能である。図７に示すように、メモリハブ７４０は、本発明の実施形態による同期回路７４２を含む。前述のように、同期回路７４２を調節可能な遅延回路と用いることにより、異なるクロック領域のクロック信号のうちの１つが出力される調節可能な遅延回路の時間遅延が変更されても、それらのクロック信号間の擬似同期位相関係を維持することが可能である。メモリハブ７４０に関しては、メモリハブ７４０の内部動作を同期するために利用されるクロック信号の間に擬似同期関係があることが可能であり、外部動作（たとえば、メモリ素子７４８との動作）を同期するために利用されるクロック信号についても同様である。
【００４０】
本明細書において本発明の特定の実施形態を例示目的で説明してきたが、本発明の趣旨および範囲から逸脱することなく様々な変更が可能であることを、先述の内容から理解されたい。したがって、本発明は、添付の特許請求項によって限定される以外は限定されない。
【図１】
2011125057.tif 000003
【図２】
2011125057.tif 000004
【図３】
2011125057.tif 000005
【図４】
2011125057.tif 000006
【図５】
2011125057.tif 000007
【図６】
2011125057.tif 000008
【図７】
2011125057.tif 000009