(57)【特許請求の範囲】
【請求項１】
メモリシステムにおけるデータ取得の方法であって、
第１の入力信号を含む複数の入力信号を受信するステップ；
上記複数の入力信号の各々に関し一組のオーバーサンプリングされた入力値を生成するステップ；
上記複数の入力信号の各々に関する上記一組のオーバーサンプリングされた入力値から、少なくとも１つの論理遷移をもつ上記第１の入力信号に関する上記一組のオーバーサンプリングされた入力値を選択する、ステップ；
上記第１の入力信号に関する上記一組のオーバーサンプリングされた入力値を使用してビット境界範囲を決定するステップ；および
上記ビット境界範囲を使用して、上記複数の入力信号の各々に関する上記一組のオーバーサンプリングされた入力値から少なくとも１つのデータワードを決定するステップ
を含み、
メモリコントローラが上記各ステップを行う方法。
【請求項２】
上記受信するステップは、第１の電子回路からの上記複数の入力信号を第２の電子回路が受信するステップを含む請求項１に記載の方法。
【請求項３】
上記生成するステップが、上記第２の電子回路で上記一組のオーバーサンプリングされた入力値を生成するステップを含む請求項２に記載の方法。
【請求項４】
上記第１の電子回路が第１の半導体チップ上に配置された請求項３に記載の方法。
【請求項５】
上記第１の電子回路が第１の半導体チップ上に配置された請求項２に記載の方法。
【請求項６】
上記第２の電子回路がメモリコントローラ上に配置された請求項３に記載の方法。
【請求項７】
上記第１の電子回路がメモリデバイス上に配置された請求項６に記載の方法。
【請求項８】
フィルタ回路が、上記第１の入力信号に関する上記一組のオーバーサンプリングされた入力値を使用してフィルタリングされた一組のオーバーサンプリングされた入力値を生成し；
ビット遷移回路が、上記フィルタリングされた一組のオーバーサンプリングされた入力値を使用してビット境界範囲を決定する請求項４に記載の方法。
【請求項９】
上記複数の入力信号がタイミング基準信号を含む請求項１に記載の方法。
【請求項１０】
上記第１の入力信号がタイミング基準信号であり、
上記一組のオーバーサンプリングされた入力値を選択するステップが、上記タイミング基準信号に対応する一組のオーバーサンプリングされた入力値を選択するステップを含む請求項１に記載の方法。
【請求項１１】
上記ビット境界範囲を決定するステップが、上記第１の入力信号に関する上記一組のオーバーサンプリングされた入力値の中の少なくとも１つのビット遷移位置を決定するステップと、上記ビット境界範囲を決定するために上記少なくとも１つのビット遷移位置を使用するステップとを含む請求項１に記載の方法。
【請求項１２】
上記ビット境界範囲を決定するステップが、出力データパターンが所定のパターンに一致するまで、ビット境界範囲値を調整するステップを含む請求項１に記載の方法。
【請求項１３】
上記メモリデバイスがダブルデータレート（ＤＤＲ）メモリデバイスを含み、
上記データワードを決定するステップが、上記複数の入力値の各々に関する偶数データワードおよび奇数データワードを決定するステップを含む請求項７に記載の方法。
【請求項１４】
上記複数のデータワードを出力するステップを含む請求項１に記載の方法。
【請求項１５】
上記第２の電子回路が３信号レベルを使用する構成にされ、上記３信号レベルのうち１つが待機信号レベルであって、上記ビット境界範囲を決定するステップが、
上記第１の入力信号に関する上記オーバーサンプリングされた入力値の中で待機状態から非待機状態への信号遷移位置を決定するステップ；および
所定数のクロックサイクルを上記信号遷移位置に加えて、上記ビット境界範囲を決定するステップ
を含む請求項３に記載の方法。
【請求項１６】
上記データワードを決定する前に、上記複数の入力信号の少なくとも２つに対応する少なくとも一組のオーバーサンプリングされた入力値の中の第１の信号遷移位置を決定するステップ；
上記少なくとも一組のオーバーサンプリングされた入力値の中の第１の信号遷移位置が上記ビット境界範囲に関連する第１の信号遷移の前に発生するか否かを決定するステップ；および
上記第１の信号遷移の前に発生すると、上記少なくとも一組のオーバーサンプリングされた入力値に関連する上記信号遷移位置に基づいて、さらに上記ビット境界範囲に関連する上記第１の信号遷移に基づいて上記ビット境界範囲を調整するステップ
をさらに含む請求項１に記載の方法。
【請求項１７】
メモリシステムにおけるデータ取得の方法であって、
第１の電子回路から複数の入力データ信号を受信するステップ；
上記第１の電子回路から上記複数の入力データ信号に関連するタイミング基準信号を受信するステップ；
上記複数の入力データ信号の各々に関する一組のオーバーサンプリングされた入力データ値を生成するステップ；
上記タイミング基準信号に関する一組のオーバーサンプリングされたタイミング基準値を生成するステップ；
上記一組のオーバーサンプリングされたタイミング基準値の中の第１のビット遷移位置および第２のビット遷移位置を決定するステップ；
上記第１のビット遷移位置および上記第２のビット遷移位置を使用してビット境界範囲を決定するステップ；および
上記ビット境界範囲を使用して、上記複数の入力データ信号の各々に関し生成された各一組のオーバーサンプリングされた入力データ値から少なくとも１つのデータワードを決定するステップ
を含み、
メモリコントローラが上記各ステップを行う方法。
【請求項１８】
上記受信するステップは、上記第１の電子回路からの上記複数の入力信号を第２の電子回路が受信することを含み、
上記第２の電子回路がダブルデータレート（ＤＤＲ）メモリデバイスを含むメモリデバイスであって、上記各一組のオーバーサンプリングされた入力データ値から少なくとも１つのデータワードを決定するステップが、各一組のオーバーサンプリングされた入力データ値の偶数データワードおよび奇数データワードを決定するステップを含む請求項１７に記載の方法。
【請求項１９】
上記第１のビット遷移位置および第２のビット遷移位置を決定する前に、フィルタ回路が、上記一組のオーバーサンプリングされたタイミング基準値をフィルタリングして一組のフィルタリングされたオーバーサンプリングされたタイミング基準値を生成する請求項１７に記載の方法。
【請求項２０】
上記フィルタリングするステップは、ビット遷移と考えられる第１のビットに続く第２のビットが上記第１のビットとは異なる信号値をもつと、ビット遷移位置を有効なビット遷移位置として破棄するステップを含む請求項１９に記載の方法。
【請求項２１】
複数の上記オーバーサンプリングされた入力データ値および上記オーバーサンプリングされたタイミング基準値を格納するステップ；および
上記第１のビット遷移位置が端部のビット遷移位置か否かを決定するステップ；および
端部のビット遷移位置であると、上記オーバーサンプリングされたタイミング基準値を使用して第１のビット遷移位置を決定するステップ
をさらに含む請求項１７に記載の方法。
【請求項２２】
第２の電子回路からデータを読み出す電子回路であって、
上記第２の電子回路から第１の入力信号を含む複数の入力信号を受信し、上記複数の入力信号の各々に関する一組のオーバーサンプリングされた入力値を生成するために構成された第１の回路手段；
上記第１の入力信号に関する一組のオーバーサンプリングされた入力値を使用してビット境界範囲を決定する第２の回路手段；および
上記第２の回路手段から上記ビット境界範囲を受信し、上記複数の入力信号の各々に関する上記一組のオーバーサンプリングされた入力値から少なくとも１つのデータワードを決定する第３の回路手段であって、上記ビット境界範囲を使用して少なくとも１つのデータワードを決定する上記第３の回路手段
を含む電子回路。
【請求項２３】
上記第２の回路手段が、上記第１の入力信号に関する一組のオーバーサンプリングされた入力値を選択し、上記第１の入力信号に関する上記一組のオーバーサンプリングされた入力値の中の信号レベル遷移位置に基づいてビット境界範囲を決定するために構成された請求項２２に記載の電子回路。
【請求項２４】
上記第１の入力信号に関する上記一組のオーバーサンプリングされた入力値をフィルタリングして、一組のフィルタリングされたオーバーサンプリングされた入力値を生成するため構成された第４の回路手段をさらに含み、
上記第２の回路手段が上記一組のフィルタリングされたオーバーサンプリングされた入力値を使用して上記信号遷移位置を決定するために構成された請求項２３に記載の電子回路。
【請求項２５】
上記第４の回路手段が、無効なビット遷移位置をフィルタリングするためにさらに構成され、上記第４の回路手段が、ビット遷移と考えられるビットに続くビットが異なる信号レベルをもつならばそのビット遷移は無効であると考えるために構成された請求項２４に記載の電子回路。
【請求項２６】
上記第１の入力信号がタイミング基準信号であり、
上記第２の回路手段が、一組のオーバーサンプリングされたタイミング基準値の中の信号遷移位置に基づいて上記ビット境界範囲を決定するために構成された請求項２２に記載の電子回路。
【請求項２７】
メモリコントローラを含み、
上記第２の電子回路がメモリデバイスを含む請求項２２に記載の電子回路。
【請求項２８】
上記メモリデバイスがダブルデータレートメモリデバイスを含む請求項２７に記載の電子回路。
【請求項２９】
上記複数の入力信号の各々に関する上記一組のオーバーサンプリングされた値の生成に使用されるクロック信号を生成するために構成されたクロック生成手段を含む請求項２２に記載の電子回路。
【請求項３０】
上記クロック信号が高速クロック信号を含み、
上記クロック生成手段から高速クロック信号を受信し、整数で上記高速クロック信号を分割し、低速クロック信号を第２の電子回路へ提供するために構成された分周回路手段
をさらに含む請求項２９に記載の電子回路。
【請求項３１】
上記クロック生成手段が、上記複数の信号の各々に関し上記一組のオーバーサンプリングされた値の生成に使用される多相クロック信号を生成するために構成された請求項２９に記載の電子回路。
【請求項３２】
上記第２の電子回路がマルチランクメモリシステム内に第１のメモリデバイスを備える請求項２２に記載の電子回路。
【請求項３３】
第２の電子回路からデータを読み出す電子回路であって、
上記第２の電子回路から第１の入力信号を含む複数の入力信号を受信するために構成され、上記複数の入力信号の各々に関する一組のオーバーサンプリングされた入力値を生成するために構成され、さらに、各一組のオーバーサンプリングされた入力値を出力するために構成された入力サンプリング回路；および
各上記一組のオーバーサンプリングされた入力値を受信するために構成されたデータ修復回路を備え、該データ修復回路が、
上記第１の入力信号に関する上記一組のオーバーサンプリングされた入力値を使用してビット境界範囲を決定するために構成され、上記ビット境界範囲が、上記第１の入力信号に関する上記一組のオーバーサンプリングされた入力値の中の信号論理状態遷移位置に基づいて決定されるビット遷移検出回路；および
上記ビット遷移検出回路からビット境界範囲を受信するために構成され、さらに上記複数の入力信号の各々に関する上記一組のオーバーサンプリングされた入力値を受信するために構成され、さらに上記ビット境界範囲を使用して上記複数の入力信号の各々に関する上記一組のオーバーサンプリングされた入力値からデータワードを決定するために構成されたデータ抽出回路
を含む電子回路。
【請求項３４】
高速クロック信号を生成し、上記高速クロック信号を使用して各一組のオーバーサンプリングされた入力値を生成する上記入力サンプリング回路へ、上記高速クロック信号を提供するために構成されたクロック生成回路であって、上記第２の電子回路に出力される第２のクロック信号を生成するために構成された分周器へ、上記高速クロック信号がさらに入力され、上記第２のクロック信号が上記高速クロック信号に比較して低速のクロック信号であるクロック生成回路
をさらに含む請求項３３に記載の電子回路。
【請求項３５】
多相クロック信号を生成し、上記多相クロック信号を使用して各一組のオーバーサンプリングされた入力値を生成する上記入力サンプリング回路へ、上記多相クロック信号を提供するために構成されたクロック生成回路であって、上記第２の電子回路へ出力される上記多相クロック信号から１クロック信号を選択するために構成されたマルチプレクサへ上記多相クロック信号がさらに入力されるクロック生成回路
をさらに含む請求項３３に記載の電子回路。
【請求項３６】
上記ビット遷移検出回路でビット境界範囲を決定する前に、上記第１の入力信号に関する上記一組のオーバーサンプリングされた入力値をフィルタリングするために構成され、無効なビット遷移をフィルタリングするために構成され、ビット遷移と考えられるビットに続くビットが異なる信号レベルをもつと、無効なビット遷移を検出するために構成されるフィルタ回路
をさらに含む請求項３３に記載の電子回路。
【請求項３７】
上記第１の入力信号がタイミング基準信号であり、
上記ビット遷移検出回路が、上記タイミング基準信号に対応する一組のオーバーサンプリングタイミング基準値を使用して、上記ビット境界範囲を決定するために構成された請求項３３に記載の電子回路。
【請求項３８】
上記第２の電子回路がマルチランクメモリシステム内のダブルデータレートメモリデバイスを含み、
上記データ抽出回路が、上記ダブルデータレートメモリデバイスから受信する各入力データ信号に関する偶数データワードおよび奇数データワードを決定するよう構成されている請求項３３に記載の電子回路。
【請求項３９】
上記データ抽出回路が、上記入力値に関するビット境界範囲のビットの値に基づいて論理状態を決定する投票者回路である請求項３３に記載の電子回路。
【請求項４０】
第２の電子回路から受信したデータを読み出す電子回路であって、
上記第２の電子回路から受信した複数の入力信号に基づいて生成される複数の一組のオーバーサンプリングされた入力値を受信するために構成され、上記複数の入力信号は第１の入力信号を含み、さらに上記第１の入力信号に関する一組のオーバーサンプリングされた入力値内の信号論理状態遷移位置に基づいて、ビット境界範囲を決定するために構成されたビット遷移検出回路；および
上記ビット遷移検出回路から上記ビット境界範囲を受信するために構成され、さらに上記複数の入力信号の各々に関する上記一組のオーバーサンプリングされた入力値を受信するために構成され、さらに上記ビット境界範囲を使用して、上記複数の入力信号の各々に関する上記一組のオーバーサンプリングされた入力値から少なくとも１つのデータワードを決定するために構成されたデータ抽出回路
を含む電子回路。
【請求項４１】
上記複数の入力信号の各々に関する上記一組のオーバーサンプリングされた入力値が、一組のタイミング基準のオーバーサンプリングされた値および少なくとも１つのデータ信号に対応する少なくとも一組のオーバーサンプリングされたデータ値を含み、
上記ビット遷移検出回路で使用される上記第１の入力信号に関する上記一組のオーバーサンプリングされた入力値が上記一組のタイミング基準のオーバーサンプリングされた値を含む請求項４０に記載の電子回路。
【請求項４２】
上記ビット遷移検出回路で使用される上記第１の入力信号に関する上記一組のオーバーサンプリングされた入力値が、上記少なくとも一組のオーバーサンプリングされたデータ値に対応する請求項４０に記載の電子回路。
【請求項４３】
ビット遷移検出回路でビット境界範囲を決定する前に上記第１の入力信号に関する一組のオーバーサンプリングされた入力値をフィルタリングするために構成され、無効なビット遷移をフィルタリングするために構成されたフィルタ回路
をさらに含む請求項４０に記載の電子回路。
【請求項４４】
さらに上記フィルタ回路が、上記第１の入力信号に関する一組のオーバーサンプリングされた入力値をフィルタリングし、一組のフィルタリングされたオーバーサンプリングされた入力値を上記ビット遷移検出回路へ供給するために構成され、上記ビット遷移検出回路は、上記一組のフィルタリングされたオーバーサンプリングされた入力値を使用して上記ビット境界範囲を決定し、さらに上記フィルタ回路は、上記一組のフィルタリングされたオーバーサンプリングされた入力値を上記データ抽出回路に供給するために構成され、次に上記データ抽出回路は、上記一組のフィルタリングされたオーバーサンプリングされた入力値を使用して上記データワードを決定するために構成された請求項４３に記載の電子回路。
【請求項４５】
マルチランクメモリシステム内のダブルデータレートメモリデバイスに含まれており、
上記データ抽出回路が、各一組のオーバーサンプリングされた入力値から偶数データワードおよび奇数データワードを決定するために構成された請求項４０に記載の電子回路。
【請求項４６】
上記データ抽出回路が、上記入力値に関するビット境界範囲のビットの値に基づいて論理状態を決定する投票者回路である請求項４０に記載の電子回路。
【請求項４７】
マルチランクメモリシステム内のデータ取得用メモリコントローラであって、
高速クロック信号を受信し、低速クロック信号を上記マルチランクメモリシステム内の複数のメモリデバイスに提供するために構成されたクロック分周回路；
上記マルチランクメモリシステム内の上記複数のメモリデバイスの１つから受信した複数の入力信号に基づいて生成される複数のオーバーサンプリングされた入力信号を受信するために構成され、上記複数の入力信号は第１の入力信号を含み、上記第１の入力信号に関する一組のオーバーサンプリングされた入力信号を使用してビット境界範囲を決定し、上記ビット境界範囲を上記複数のオーバーサンプリングされた入力信号に適用して上記複数のオーバーサンプリングされた入力信号からデータワードを決定するために構成されたデータ修復回路
を備えるメモリコントローラ。
【請求項４８】
コントローラが第２の電子回路から受信した複数のオーバーサンプリングされた入力信号から、少なくとも１つの論理遷移をもつ第１のオーバーサンプリングされた入力信号を選択するステップ；
上記第１のオーバーサンプリングされた入力信号を使用してビット境界範囲を決定するステップ；および
上記ビット境界範囲を使用して上記複数のオーバーサンプリングされた入力信号から複数のデータワードを決定するステップ
を含む方法を実行する電子回路。
【請求項４９】
コントローラが電子回路を含み、メモリデバイスが上記第２の電子回路を含み、上記コントローラがマルチランクメモリシステム内で使用され、上記メモリデバイスが上記マルチランクメモリシステム内の複数のメモリデバイスの１つである請求項４８に記載の電子回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的にチップ間およびチップ内通信システムに関し、さらに詳しくは、本発明は電子システムのデータ取得方法およびデータ取得装置に関する。
【背景技術】
【０００２】
コンピュータシステムは、コンピュータシステムのプロセッサにより使用される命令及びデータを保持するメモリデバイスを含むメモリサブシステムを含む。プロセッサは典型的にメモリサブシステムよりも高速に動作可能であるため、メモリサブシステムの動作速度はコンピュータシステムの性能に非常に大きな影響をもつ。
【０００３】
過去、メモリサブシステムを構成するダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイスなどのメモリデバイスは、典型的に非同期デバイス、すなわち、プロセッサからの制御信号に応答してデータを格納または出力するメモリデバイスである。しかし、非同期動作により、読み出し命令および読み出しアドレス値などの制御信号をメモリデバイスが受信する時間と、データがメモリデバイスから出力されるなどのデバイスが応答する時間との間に遅延を生じる。制御信号の受信とデバイスの応答との間のこの遅延は、数サイクルのプロセッサ動作の間続き、この遅延の間、プロセッサは、典型的に、有用な機能を実行できず、結果として動作サイクルを無駄にする。
【０００４】
メモリからの応答を待つ間の動作サイクルを無駄にしないため、同期ＤＲＡＭ（ＳＤＲＡＭ）などの同期メモリデバイスが開発された。大抵のメモリアクセスは連続していて、可能な限り速くバーストモードでデータワードをフェッチするように設計されているという事実を、ＳＤＲＡＭデバイスは有効に使っている。ＳＤＲＡＭデバイスは、プロセッサからの１制御信号に応答して数データワードまたは数データバイトの、連続またはバーストを出力することにより典型的に動作する。例えば、バーストサイクル５−１−１−１は、メモリデバイスに入力されるアドレスバス経由で最初のデータワードのアドレスのみが供給される４データワード連続転送から成る。５−１−１−１は、各データワードのバースト転送に必要なクロックサイクルの数を意味する。この例では、最初のデータワードは、命令信号の入力サイクルの後の５クロックサイクルでＳＤＲＡＭデバイスから出力され、残りのデータワードは、それに続くクロックの各立ち上がりでメモリデバイスから出力されてバーストを成す。
【０００５】
メモリ性能を改善するために開発されたもう１つのアプローチは、ダブルデータレート（ＤＤＲ）と呼ばれ、ＤＤＲ  ＤＲＡＭメモリデバイスで使用されている。ＤＤＲ  ＤＲＡＭデバイスでは、バースト中に、クロックサイクルの立ち上がりおよび立ち下がりの両方でデータが出力され、メモリサブシステムの動作帯域幅速度を効果的に倍にする。
【０００６】
図１は、従来技術にかかるＤＤＲメモリコントローラ２０の例を示すメモリアーキテクチャ１０の機能ブロック図である。メモリコントローラ２０は、クロック信号ＣＬＫ０を生成するクロック生成回路２２を含む。ＣＬＫ０は偶数クロック領域レジスタ２４および２５、ならびに奇数クロック領域レジスタ２６および２７を駆動する。ＣＬＫ０信号は、また、ＤＤＲ  ＤＲＡＭブロック９０に連結され、図１のブロック９２で表されているように、伝搬遅延時間間隔ｔPDの後、ＤＤＲ  ＤＲＡＭデバイス９０のクロック入力（ＣＬＫ）に入力される。
【０００７】
ＤＤＲ  ＤＲＡＭデバイス９０は、順に、遅延間隔ｔDQCを出力するクロック後、出力ＤＱへのデータ出力信号を生成し、ブロック９４により表されるもう１つの伝搬遅延ｔPDを経た後、遅延データ信号ＤＱ１としてメモリコントローラ２０に達する。遅延間隔ｔDQCKを出力するクロックの後、ＤＤＲ  ＤＲＡＭデバイス９０は、データストローブ信号として知られるデータ出力同期信号ＤＱＳも出力し、ブロック９６に表されているように、これも伝搬遅延時間ｔPD遅延し、ＤＱＳ１と呼ばれるＤＱＳ信号の遅延信号をコントローラ２０が受信する。ブロック９２、９４および９６で表される伝搬遅延は必ずしも等しくない。
【０００８】
コントローラ２０のＤＱＳ領域回路７０が、ＤＱ１およびＤＱＳ１信号を受信する。ＤＱ１信号はエッジトリガーデータサンプラー７４および７６に入力される。ＤＱＳ１信号はｔ1遅延回路７２に入力され、遅延信号ＤＱＳ２を生成する。ＤＱＳ２信号が立ち上がると、エッジトリガーデータサンプラー７４がサンプリング能力を始動させ、ＤＱＳ２信号が立ち下がると、エッジトリガーデータサンプラー７６のサンプリング能力を始動させ、これらはＤＱ１信号の各偶数および奇数データワードをラッチする。
【０００９】
データ有効時間間隔ｔvの後、エッジトリガーデータサンプラー７４は、偶数クロック領域レジスタ２４に入力されるデータ信号ＤＱ２を生成し、次に、クロック生成回路２２により生成されるＣＬＫ０信号の立ち上がりで１クロック進む。また、データ有効間隔ｔvの後、エッジトリガーデータサンプラー７６は、遅延データ信号ＤＱ３を奇数クロック領域レジスタ２６へ出力し、それは、ＣＬＫ０信号の立ち下がりで１クロック進む。
【００１０】
図１に示されているＤＤＲメモリコントローラ２０は、１３３ＭＨｚより遅い速度で動作する低速メモリシステムでよく動作する。高速ソースシンクロナスメモリシステム、すなわち、ストローブまたはアドレス／データ信号により生成されるクロック信号を使用して、受信部でアドレス／データ信号をラッチまたは信号のクロックを進めるシステムにおいて、データが特定のメモリデバイスから読み込まれ、任意の付随するＤＱＳ信号は、システムクロックに対していくらかのタイミングオフセットをもってメモリコントローラに到達する。これらのわずかなタイミングオフセットが、高速メモリシステムにおいては性能を制限する要素となる。
【００１１】
したがって、メモリコントローラは、メモリシステムがよく管理された（所定のまたは既知の）タイミングオフセットをもつので、一般的に、ディレイ・ロックト・ループ（ＤＬＬ）を使用して、ＤＲＡＭデバイスまたはポイント・トゥ・ポイントＤＤＲメモリシステムの位相オフセットを訂正する。しかし、従来技術で知られているように、ＤＤＲメモリデバイスは、マルチランクメモリシステムでも使用されており、マルチランクメモリシステムでは、１以上のメモリデバイスが同じメモリチャネルを共有する。図１に示されている従来のデバイスの読み出し動作の間、ＤＤＲメモリデバイスはＮデータ（ＤＱ）信号（典型的には８ないしは３２）を、ストローブ（ＤＱＳ）信号とともにコントローラ２０へ送信し、それらの信号はデータ信号と立ち上がり、立ち下がりが重なる。これらのＤＱ／ＤＱＳ信号は、コントローラに達するときまでに、ＤＤＲ  ＤＲＡＭデバイスから入力グローバルクロック（ＣＬＫ）に近い形で発生するけれども、それらは、ＣＬＫに対して、いくらかの任意の位相関係をもって到達する。この任意の位相関係は、マルチランクＤＤＲシステムの課題を形成する。マルチランクシステムでは、ランクの中のどのデバイスがデータを送信したかにより、読み出し動作の間に、ＤＱ／ＤＱＳ信号が、ＣＬＫに対して異なる位相をもってコントローラに到達する。したがって、１クロック信号、例えばＤＬＬによりＣＬＫから得られるクロックを使用して、データ源にかかわらず全てのデータをサンプリングすることは非常に難しい。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
したがって、望まれるのは、改良された回路トポロジーおよびマルチランクメモリシステムにおけるデータ取得の方法を提供することである。
【課題を解決するための手段】
【００１３】
本発明の第１の形態では、データ取得の方法が提供される。本方法は、複数の入力信号を受信するステップ、各受信入力信号に関して一連のオーバーサンプリングされた入力信号を生成するステップ、および一連の信号から少なくとも１ビットの遷移を含む１つの信号を選択するステップを含む。本方法は、さらに、選択された一連の信号を使用してビット境界範囲を決定するステップ、およびビット境界範囲を使用して各データワードが複数の入力信号のうちの１つに対応する複数のデータワードを決定するステップを含む。本発明はチップ間通信およびチップ内通信の両方に使用可能である。
【００１４】
本発明の第２の形態では、第２の電子回路からのデータを読み出す第１の電子回路が提供される。第１の電子回路は、第２の電子回路からの複数の入力信号を受信し、複数のオーバーサンプリングされた入力信号を生成し、複数のオーバーサンプリングされた入力信号を出力するように構成された入力サンプリング回路を含む。第１の電子回路は、さらに、複数のオーバーサンプリングされた入力信号を受信するように構成されたデータ修復回路を含む。１つの実施形態によれば、データ修復回路は、選択されたオーバーサンプリングされた入力信号の中の信号論理状態遷移位置に基づいて、複数のオーバーサンプリングされた入力信号のうちの１つを使用してビット境界範囲を決定するよう構成されたビット遷移検出回路を含む。第１の電子回路は、ビット遷移検出回路からビット境界範囲を受信し、さらに複数のオーバーサンプリングされた入力信号を受信するよう構成され、次にビット境界範囲を使用して複数のオーバーサンプリングされた入力信号からデータワードを決定するデータ抽出回路をさらに含む。本発明の１つの実施の形態では、第１の電子回路はメモリコントローラであって、第２の電子回路がメモリデバイスである。
【００１５】
本発明の他の特徴および利点と同様に、添付の図を参照して以下に続く詳細な説明を読むことにより、これらも当業者にとって明らかになる。
【発明を実施するための最良の形態】
【００１６】
以下、添付の図を参照して発明の実施の形態を説明する。
【００１７】
本発明は、オーバーサンプリング技術を使用したデータ取得に関する。例えば、そのような技術は、例えばメモリシステム内に含まれるチップ間通信システムに使用可能である。そのような技術はチップ内通信システムにも使用可能である。種々の実施の形態が、ＤＤＲメモリシステムを参照してこの後に説明される。しかし、本発明はＤＤＲメモリシステムには限定されず、この後説明される方法およびシステムは、例えばＲＤＲＡＭ（登録商標）、ＦＣＤＲＡＭ、およびＳＤＲＡＭシステムなどの他のソースシンクロナスメモリシステムを含む他のチップ間およびチップ内通信システムにも同様に応用可能である。
【００１８】
図２Ａは、本発明の１つの実施の形態にかかるデータ取得用の典型的なシステム２００の機能ブロック図である。このシステム２００は第１の回路素子２１８および第２の回路素子２２０を含む。典型的な実施の形態では、回路素子２１８および２２０は、複数の電子回路を含む１チップ上に位置する第１の電子回路および第２の電子回路であってもよい。代わりに、上記回路素子２１８および２２０は１基板上または異なる基板上に配置された２つの異なるチップに配置されてもよい。
【００１９】
第２の回路素子２２０はクロック信号ＣＬＫ０を供給するように構成されたクロック源２０２を含む。典型的な実施の形態によれば、クロック源２０２は、今後多相クロック信号ＣＬＫ０と呼ぶ徐々に増える位相オフセットクロック信号の組を生成するように構成されたクロック生成回路であってもよい。クロック生成回路２０２はチップ上のクロック生成源であってもよいし、チップ外のクロック生成源であってもよい。典型的な実施の形態によれば、クロック生成回路２０２で生成された多相クロック信号ＣＬＫ０は「ｋ個の」位相オフセットクロック信号を含んでもよい。クロック生成回路２０２は第１の回路素子へＣＬＫ１信号を供給する。図２Ａに示されているように、ＣＬＫ１信号は、マルチプレクサ（ＭＵＸ）２０４により「ｋ個の」ＣＬＫ０信号から選択される。「ｋ」の値は２以上の任意の整数であってもよく、ある実施の形態では「ｋ」の値は、好ましくは、４、８、１６などの２の乗数である。
【００２０】
第１の回路素子２１８は、出力ＯＵＴ経由で第２の回路素子２２０に入力されるＮ１入力データ信号を生成する。図２Ａに示されているように、第２の回路素子２２０は入力サンプリング回路２１０を含み、データ修復回路２１２はデータ抽出回路２１６およびビット遷移検出回路２１４を含む。入力サンプリング回路２１０は、クロック生成回路２０２により供給される位相オフセットクロック信号（ＣＬＫ０）により駆動される。１つの実施の形態によれば、入力サンプリング回路２１０は１以上のエッジトリガーデータサンプリング回路を含んでもよい。しかし異なる実施の形態も同様に可能である。
【００２１】
入力サンプリング回路２１０は「ｋ個の」位相オフセットクロック信号を使用して、図２にＮ１Sで示されたオーバーサンプリングされた入力値を生成し、続いてビット遷移検出回路２１４およびデータ抽出回路２１６へ入力される。入力サンプリング回路２１０は、Ｎ個の入力データ信号Ｎ１の各々に関するｋ回オーバーサンプリングされたＮ１S値を出力する。例えば、もし第１の回路素子２１８が８個のＮ１入力信号（なぜなら、この例ではＮ＝８であるから）を出力し、ｋ＝８ならば、入力サンプリング回路２１０はｋ＊ｎ個すなわち６４個のオーバーサンプリングされたＮ１S値を出力する。各入力信号に関し８個である。
【００２２】
典型的な実施の形態によれば、ビット遷移検出回路２１４は、選択されたＮ１S値内の論理状態ビット遷移を検出する入力信号の１つに対応する８組のＮ１S値を使用する。例えば、ビット遷移検出回路２１４は、入力信号Ｎ１の１つに対応するオーバーサンプリングされたＮ１S値の選択された組の中のビット遷移を決定する１以上のアルゴリズムを用いてプログラム可能である。
【００２３】
さらに、ビット遷移検出回路２１４は、選択されたオーバーサンプリングされた値の中で検出される論理状態ビット遷移の位置に基づいてビット境界範囲を決定する。次に、ビット遷移検出回路２１４は、決定されたビット境界範囲をデータ抽出回路２１６へ提供する。次に、データ抽出回路２１６は、ビット境界範囲を使用して、第１の回路素子２１８から出力された各入力信号Ｎ１に対応するオーバーサンプリングされた値からデータを修復する。
【００２４】
図２Ｂはメモリデバイス２５２に連結された典型的なメモリコントローラ２５０の機能ブロック図である。メモリコントローラ２５０は、本発明の実施の形態によれば、データ修復のために使用可能である。図２Ｂに示されているメモリコントローラ２５０はＤＤＲメモリコントローラである。しかし、メモリコントローラ２５０は異なるメモリデバイスにも同様に使用可能である。さらに１つのメモリデバイス２５２のみが図２Ｂに示されているにもかかわらず、メモリデバイス２５２は、複数のメモリデバイスをもつメモリシステム内の第１のメモリデバイスである。
【００２５】
メモリコントローラ２５０は、ＣＬＫ０信号を提供するために使用されるクロック源２５４を含む。典型的な実施の形態によれば、クロック源２５４は、ＣＬＫ０信号を生成するよう構成されたクロック生成回路２５４であってもよい。もう１つの典型的な実施の形態によれば、クロック生成回路２５４は、高速クロック信号ＣＬＫ０を生成する高速、低ジッタークロック源であってもよい。クロック生成回路２５４はチップ上のクロック生成源であってもよいし、チップ外のクロック生成源であってもよい。もしチップ上のクロック生成回路が使用されたならば、回路２５４は、基準に使用されるチップ外の信号と位相同期ループ（ＰＬＬ）とを使用してもよい。そのような実施の形態では、ＰＬＬは基準信号のクロック周波数を乗じて、所望の高周波数クロック信号を得る。しかし、図２Ａを参照して説明した多相クロック信号を生成するクロック源２０２のような代わりのクロック源も使用可能である。
【００２６】
クロック生成回路２５４は、さらに、ＣＬＫ１信号をＤＤＲメモリデバイス２５２へ供給する。図２Ｂに示されているように、ＣＬＫ１信号は、高速クロック信号ＣＬＫ０を分割して低周波数クロック信号ＣＬＫ１を生成する分周器２５６によりＣＬＫ０信号から得られ、次に、ＤＤＲメモリデバイス２５２へ出力される。好ましくは、分周器２５６は高速クロック信号の周波数を整数ｋにより分割する。
【００２７】
読み出し動作の間、ＤＤＲメモリデバイス２５２は、出力ＤＱ経由でメモリコントローラ２５０に入力されるＮ個の入力データ信号を生成する。Ｎは０より大きい値をもつ任意の整数と等しいけれども、典型的な実施の形態では、Ｎは８ないしは３２に等しい。メモリコントローラ２５０に到達するＮ個のＤＱデータ信号は、信号がＤＤＲメモリデバイス２５２から出力される時間から信号がメモリコントローラ２５０に入力されるまでのいくらかの伝搬遅延を経ることもある。ＤＱ信号に加えて、ＤＤＲメモリデバイス２５２は、データ出力同期信号ＤＱＳ（ストローブ信号）も出力し、データ出力同期信号ＤＱＳは、メモリコントローラ２５０に到達する前にいくらかの遅延を経ることもある。
【００２８】
図２Ｂに示されているように、入力サンプリング回路２１０はＤＱおよびＤＱＳ信号をＤＤＲメモリデバイス２５２から受信する。図２Ｂの入力サンプリング回路２１０は、高速クロック信号ＣＬＫ０により駆動される立ち上がり依存性回路である。入力サンプリング回路２１０は立ち上がり依存性回路に限定されない。入力サンプリング回路２１０は立ち上がり依存性および／または立ち下がり依存性回路である。代わりの実施の形態では、入力サンプリング回路２１０は、立ち上がりに応答する第１の入力サンプリング回路および立ち下がりにより始動する第２の入力サンプリング回路を含む。典型的な実施の形態によれば、入力サンプリング回路２１０は、クロック信号ＣＬＫ０の全ての立ち上がりで１出力を生成する１以上のエッジトリガーデータサンプリング回路を含んでもよい。
【００２９】
入力サンプリング回路２１０は、各々ＤＱSおよびＤＱＳSで示されるオーバーサンプリングされたＤＱ値およびＤＱＳ値を生成し、それらの値は、続いてデータ修復回路２１２へ入力される。もしＮ＝８ならばＤＤＲメモリデバイス２０８が１つのＤＱＳ信号を伴う８個のＤＱ信号を提供するように、もしオーバーサンプリングレートｋ＝８ならばオーバーサンプリングレートがｋｘであるように、入力サンプリング回路２１０は、ＤＤＲデバイス２５２からの８個のＤＱ信号入力の各々に関して８個のオーバーサンプリングされたＤＱS信号を出力する。加えて、入力サンプリング回路２１０は、ＤＤＲ２５２から入力されたＤＱＳ信号に関して８個のオーバーサンプリングされたＤＱＳS値を提供する。したがって、例えば、もしオーバーサンプリングレートが８ｘならば、入力サンプリング回路２１０は、全てのクロックサイクルの間に、８ビットの深さと９ビットの長さのマトリックスデータ（８ＤＱ信号および１ＤＱＳ信号）を生成する。
【００３０】
前の段落で説明されている典型的な実施の形態では、Ｎおよびｋの値は等しい。しかし、Ｎおよびｋの値は異なっていてもよい。たとえば、ｋは２以上の任意の整数値と等しくてもよく、Ｎは０より大きい任意の整数値と等しくてもよい。しかし、典型的な実施の形態によれば、ｋは２、４、８、１６などの２の乗数に等しく、Ｎは８、１６、ないしは３２に等しい。全てのクロックサイクルの間、入力サンプリング回路２１０はｋビットの深さ×（Ｎ＋１）ビットの長さのマトリックスデータ（Ｎ個のＤＱ信号と１個のＤＱＳ信号）を生成する。例えば、もしｋ＝４およびＮ＝８ならば、入力サンプリング回路２１０は、全てのクロックサイクルの間に、４ビットの深さ×９ビットの長さのマトリックスデータ（８個のＤＱ信号と１個のＤＱＳ信号）を生成する。
【００３１】
データ修復回路２１２はビット遷移検出回路２１４およびデータ抽出回路２１６を含む。典型的な実施の形態によれば、データ修復回路２１２は、時間同期信号として（従来技術における典型的なＤＱＳ信号の使用法）よりも、存在検出信号としてＤＱＳS信号を使用する。そのような実施の形態では、ビット遷移検出回路２１４は、オーバーサンプリングされたＤＱＳS信号内の論理状態ビット遷移位置を検出する。例えばビット遷移検出回路２１４は、オーバーサンプリングされたＤＱＳS信号内のビット遷移を検出する１以上のアルゴリズムでプログラム可能である。１つの実施の形態では、ビット遷移検出回路２１４は、各サンプルと一連のＤＱＳSサンプル内の隣接するサンプルとの排他的論理和（ＸＯＲ）をとることによりＤＱＳS信号内のビット遷移を決定できる。そのような実施の形態では、もしＤＱＳSサンプル（ｉ）のすぐ前でビット遷移が発生したならば、ＸＯＲ論理からの出力（ｉ）はｈｉｇｈ（１）になる。
【００３２】
さらに、典型的な実施の形態によれば、ビット遷移検出回路２１４は、ＤＱＳS信号内で検出された論理状態ビット遷移の位置に基づいてビット境界範囲（ＢＢＲ）を決定する。例えば、もしＤＱＳS信号がビット位置２およびビット位置６で遷移しているとビット遷移検出回路２１４が決定したならば、ビット遷移検出回路２１４はビット境界範囲をビット位置３からビット位置５（３：５）までに設定する。次に、ビット遷移検出回路２１４は、図２Ｂに（ＢＢＲ）で示されているように、ビット境界範囲を、データ抽出回路２１６に提供する。
【００３３】
データ抽出回路２１６がビット遷移検出回路２１４からビット境界範囲を受信したとき、データ抽出回路２１６は、受信したビット境界範囲を適用して、各ＤＱ信号に対応するオーバーサンプリングされたＤＱS値のそれぞれの組からデータを修復する。図２Ｂに示されている典型的な実施の形態によれば、ＤＤＲデバイス２５２は１クロックサイクルあたり偶数のデータワードおよび奇数のデータワードの２つの出力を生成する。そのような実施の形態では、データ抽出回路２１６は、ビット境界範囲を使用して、各ＤＱ入力に関し、どのオーバーサンプリングされた入力値が偶数および奇数データワードを生成するために使用されたかを決定し、図２ＢにＮ２で示されているように、データ修復回路２１２から出力される。
【００３４】
図３は、データ修復回路２１２の１つの実施の形態を示すブロック図である。図２Ａおよび図２Ｂに示されているように、データ修復回路２１２は、ビット遷移検出回路２１４およびデータ抽出回路２１６を含む。図３に示されている１つの典型的な実施の形態によれば、ビット遷移検出回路２１４は、一連のＤＱＳSサンプルの中で遷移を検出するＸＯＲゲート３０２であってもよい。特に、ＸＯＲゲート３０２は各サンプルと隣接するサンプルとの排他的論理和をとる。例えば、もしＤＱＳS信号が“０１１１１０００”であるならば、ＸＯＲゲート３０２はＸＯＲ演算を（図３ではＤＱＳ7:0で示されている）ＤＱＳS信号“０１１１１０００”および（図３ではＤＱＳ8:1で示されている）ＤＱＳS信号のシフトされた信号“００１１１１００”に適用して、出力信号“０１０００１００”を生成する。ＸＯＲゲート３０２の出力を使用して、ビット境界範囲（ＢＢＲ）は３：５であると決定される。
【００３５】
次に、ビット境界範囲は、各ＤＱ信号に対応するＤＱSビットを選択するために使用されて、マルチプレクサ（ＭＵＸ）３０４により出力される。典型的な実施の形態によれば、マルチプレクサ３０４は、ビット遷移検出回路２１４により提供されるＢＢＲ信号を使用してＤＱS信号の複数のビットを選択する。したがって、典型的な実施の形態では、マルチプレクサ３０４はＤＱS信号のビット３からビット５を選択する。マルチプレクサ３０４はビット３からビット５をデータ抽出回路２１６へ提供する。選択されたビットを使用して、データ抽出回路２１６はＤＱの値および出力Ｑのような値の出力を修復する。データ抽出回路２１６は、例えば、同じ論理値をもつ連続入力ビットを探すことにより出力値Ｑを決定するデータフィルタ回路である。表１は、データフィルタ回路により使用可能な典型的な真理値表を示す。代わりに、データ抽出回路２１６は、例えば、投票者回路（ｖｏｔｅｒ  ｃｉｒｃｕｉｔ）であってもよい。表２は投票者回路において投票用に使用可能な典型的な真理値表を示す。表１および表２は典型的な実施の形態のみを示していて、異なる実施の形態も同様に可能である。例えば、投票者回路は、１つの出力ビットＱを生成するために、表２で“ａ”、“ｂ”および“ｃ”として示される３つのビットに投票するのに限定されない。
【表１】
0004634803.tif 000002
【表２】
0004634803.tif 000003
【００３６】
図４は、図２Ｂで示されているように、メモリコントローラ２５０においてＤＤＲメモリデバイス２５２から受信可能なＤＱ信号の典型的な組からデータを修復する典型的な処理を示すブロック図である。
【００３７】
入力サンプリング回路２１０は、ＤＤＲメモリデバイス２５２から、ストローブ信号（ＤＱＳ）とともに８個のデータ入力信号（ＤＱ0−ＤＱ7）を受信する。したがってＮの値は８である。次に、図２Ｂを参照して説明したように、入力サンプリング回路２１０は、クロック信号ＣＬＫ０のすべての立ち上がりに関して１つの出力を生成する。ｋｘサンプリングレートと仮定すると、そのような各信号出力は、すべてのＤＱ信号に関するｋビットおよびＤＱＳ信号に関するｋビットを含む。例えばもしオーバーサンプリングレートが８ｘならば、ＣＬＫ０信号のすべてのクロックサイクルの間に、入力サンプリング回路２１０は、すべてのＤＱ信号に関し８ビットおよびＤＱＳ信号に関し８ビットを出力する。図４は、データ修復回路２１２へ入力される典型的な８ビットの深さと９ビットの長さのマトリックスデータを示す。
【００３８】
ビット遷移検出回路２１４は、ＤＱＳS信号遷移をビット位置２および６で検出する。すなわち、ビット２で“０”から“１”、およびビット６で“１”から“０”へ遷移している。１つの実施の形態では、ビット遷移検出回路２１４は、次に、ビット境界範囲を決定し、ビット境界範囲を投票者回路２１６Ａへ提供する。投票者回路２１６Ａは、次に、ビット境界範囲を使用してオーバーサンプリングされたＤＱ信号からデータを修復する。図４に示された実施の形態では、ビット境界範囲は３：５である。ビット境界範囲を提供する代わりに、ビット遷移検出回路２１４は、ビット遷移位置を投票者回路２１６Ａへ提供してもよく、投票者回路２１６Ａが、ビット遷移位置を使用してビット境界範囲を決定してもよい。
【００３９】
次に、投票者回路２１６Ａは、ビット遷移検出回路２１４から受信したビット境界範囲を使用して、ＤＤＲメモリデバイス２５２から受信した各ＤＱ信号に関して偶数データワードおよび奇数データワードを決定するために投票する。例えば、オーバーサンプリングされたＤＱ0値からの偶数データワードＤ０eを決定するために、投票者回路２１６Ａは、ビット位置３からビット位置５まで、ＤＱ0信号のビットに投票する。図４を参照すると、ＤＱ0信号内のビット境界範囲３：５内のビットの連続は“１１１”であり、それらのビットに投票する投票者回路２１６Ａは対応する出力偶数データワードが“１”であることを決定できる。投票者回路２１６Ａは同じ方法を使用して、オーバーサンプリングされたＤＱ信号（ＤＱ1−ＤＱ7）に対応する残りの偶数データワード（Ｄ１e−Ｄ７e）を決定する。偶数データワードに対応する修復されたデータワードは、図４に示されているように、Ｄ０e＝１、Ｄ１e＝０、Ｄ２e＝１、Ｄ３e＝０、Ｄ４e＝０、Ｄ５e＝１、Ｄ６e＝０およびＤ７e＝１である。
【００４０】
同様に、ＤＤＲメモリデバイス２５２から受信された各ＤＱ信号に関する奇数データワードを決定するために、投票者回路２１６ＡはＤＱ値のビット６からビット８に投票する。図４に示されているように、奇数データワードはＤ０o＝０、Ｄ１o＝１、Ｄ２o＝１、Ｄ３o＝０、Ｄ４o＝１、Ｄ５o＝０、Ｄ６o＝０およびＤ７o＝１である。
【００４１】
図５は、メモリコントローラ２５０で使用可能なデータ修復回路５００の代わりの実施の形態を示す単純化された機能ブロック図である。データ修復回路５００はビット遷移検出回路２１４、投票者回路２１６Ａおよびフィルタ回路５０４を含む。
【００４２】
図５に示された典型的な実施の形態によれば、フィルタ回路５０４は、ビット遷移検出回路２１４がビット遷移を決定する前に、入力されるオーバーサンプリングされたＤＱＳ値、すなわちＤＱＳSをフィルタリングする。例えば、フィルタ回路５０４は、もし２つの連続したＤＱＳサンプルが等しければ、ビット遷移を有効なビット遷移として見なすよう構成可能である。そのような実施の形態では、例えば、もしオーバーサンプリングされたＤＱＳ入力値が“００１０１１１１”ならば、フィルタ回路５０４は３番目のビット位置をビット境界として無視し、フィルタリング下ＤＱＳF値“００００１１１１”をビット遷移検出回路２１４に提供できる。次に、ビット遷移検出回路２１４は、有効なビット遷移位置をＤＱＳ信号の５ビット目に決定する。
【００４３】
図６は、典型的な実施の形態で使用可能なフィルタ回路６００の実施の形態を示すブロック図である。フィルタ回路は、３つのＤフリップフロップ６０２、６０４、６１０、ＸＯＲゲート６０６およびマルチプレクサ（ＭＵＸ）６０８を含む。図６に示されているように、Ｄフリップフロップ６０２および６０４は直列に接続されていて、Ｄフリップフロップ６０２の第１の入力はオーバーサンプリングされたＤＱＳ信号（ＤＱＳS）に接続されていて、第１のＤフリップフロップ６０２の出力は第２のＤフリップフロップ６０４の入力に接続されている。さらに、図６に示されているように、１つのクロック入力がＤフリップフロップ６０２、６０４および６１０に接続されている。Ｄフリップフロップ６０２および６０４の出力は、さらに２入力ＸＯＲゲート６０６に接続されている。最後に、ＭＵＸ６０８の第１の入力はＤフリップフロップ６０２の出力に接続されていて、第２の入力はＤフリップフロップ６１０のＱ出力に接続されている。ＭＵＸ６０８の出力はＤフリップフロップ６１０のＤ入力に接続されている。さらに、ＭＵＸ６０８の選択制御入力はＸＯＲゲート６０６の出力に接続されている。フィルタリングされたＤＱＳF信号は、Ｄフリップフロップ６１０のＱ出力に出力される。
【００４４】
典型的な実施の形態によれば、もしＤフリップフロップ６０２および６０４の２つの出力が同じであれば、ＸＯＲゲートの出力はｌｏｗ（０）であり、第１のＤフリップフロップ６０２の出力はＭＵＸ６０８から出力される。もしＤフリップフロップの２つの出力が異なる論理値をもてば、ＸＯＲゲート６０６の出力はｈｉｇｈ（１）になり、ＭＵＸ６０８は前の出力を維持する。したがって、例えば、もし入力が“００１０”であるならば、ＭＵＸ６０８の出力は“００００”である。典型的な実施の形態は、図６に示されたフィルタ回路６００に限定されず、当業者にとって、異なるまたは同等のフィルタ回路も使用可能であることは当然である。
【００４５】
図７は、図２Ｂで示されているメモリコントローラ２５０に使用可能なデータ修復回路７００のもう１つの代わりの実施の形態をしめすブロック図である。データ修復回路７００は、フィルタ回路７０２、ビット遷移検出回路７０４およびデータ抽出回路７０６を含む。図７に示されているように、フィルタ回路７０２は、ＤＱＳ信号に対応するオーバーサンプリングされたタイミング信号値と同様にＤＱ0−ＤＱ7信号に対応するオーバーサンプリングされたデータ値もフィルタリングして、無効なサンプルを除去する。例えば、図５を参照して説明したように、フィルタ回路７０２は、ビット位置を有効なビット遷移位置とみなす前に、連続した２ビットが有効か否かを決定するよう構成可能である。図７に示されているように、フィルタ回路７０２は、フィルタリングされたＤＱＳF値およびフィルタリングされたＤＱ０F−ＤＱ７F値を、データ抽出回路７０６と同様にビット遷移検出回路７０４へ提供する。図６に示されているフィルタ回路６００はフィルタ回路７０２としても使用可能である。
【００４６】
典型的な実施の形態によれば、ビット遷移検出回路７０４は、フィルタリングされたＤＱＳおよびＤＱ信号とフィルタリングされていないＤＱＳおよびＤＱ信号との中のビット遷移位置を検出する。例えば、フィルタリングされていないオーバーサンプリングされたＤＱＳ値が“００１１１１００”であり、フィルタリングされていないオーバーサンプリングされたＤＱ0値が“０１１１１０００”であり、フィルタリングされていないＤＱ１値が“１００００１１１”であると仮定すると、ビット遷移検出回路６０４は初期にＤＱＳ信号と比較された上記ＤＱ0およびＤＱ1遷移を決定し、このようにシステムの１以上の部分により入り込んだ体系的な「歪み誤り」を検出する。ＤＱＳ信号に基づいて、ビット遷移検出回路７０４は、ビット境界範囲が４：６であることを決定できる。しかし歪み誤りのために、ビット遷移検出回路７０４は、ビット境界範囲を３：５に調整できる。
【００４７】
次に、ビット遷移検出回路７０４は、調整されたビット境界範囲をデータ抽出回路７０６に提供できて、データ抽出回路７０６は、範囲位置３：５の中で投票して、信号ＤＱ0−ＤＱ7に対応するオーバーサンプリングされたデータからデータワードを決定する。したがって、あたえられた例では、データ抽出回路７０６が、ＤＱ0信号の中から偶数データワードを“１”に決定し、ＤＱ0に対応する奇数データワードを０に決定する。同様に、ＤＱ1の中で、偶数データワードが“０”であって、奇数データワードが“１”である。この実施の形態の中の各データワードが１つのビットまたは情報の符号から成るけれども、各データワードは１以上のそのようなビットまたは符号を含むことができる。
【００４８】
もう１つの実施の形態では、ビット遷移検出回路２１４または７０４は、もし第１のビット境界がオーバーサンプリングされたタイミング値の端部に近いならば、ビット境界範囲を決定するために使用可能な前のマトリックスデータを格納するよう構成可能である。例えば、ＤＱＳ値が“００００１１１１”の場合には、ビット遷移検出回路２１４または７０４は、第２のビット境界が第５のビット位置であることを決定できる。ビット遷移検出回路２１４または７０４が前のＤＱＳサンプルと関連する入手可能な情報をもち、前のサンプルが例えば“１１”である典型的な実施の形態では、２つの前のサンプルと連結されたＤＱＳ値は“１１００００１１１１”であり、ビット遷移検出回路は第１のビット位置で第１のビット境界を検出できる。
【００４９】
上の典型的な実施の形態は、ＤＱＳ信号に対応するオーバーサンプリングされた値を使用したビット遷移位置の検出、またＤＱ信号に対応するオーバーサンプリングされた値の各組のデータワードを決定するビット遷移位置の使用を参照して説明してきた。典型的な実施の形態は、上に説明したように、ビット境界情報をビット遷移検出回路に提供する信号として、ＤＱＳ信号を使用することに限定されない。下にさらに詳細に説明する代わりの実施の形態では、ビット遷移回路は、データ信号に対応するオーバーサンプリングされた値の１以上の組を使用して、ビット境界範囲を決定できる。そのような実施の形態では、遷移検出回路で使用されているデータ信号はロジック状態遷移をもつと仮定する。
【００５０】
図８は、そのようなデータ修復回路８００の実施の形態を示すブロック図であって、ＤＱデータ信号がビット境界位置を検出するために使用されている。データ修復回路８００は、ＤＱデータ信号を使用してビット境界範囲を決定するよう構成されたビット遷移検出回路８０２、およびビット遷移検出回路８０２により提供されるビット境界範囲に基づいてＤＱデータ信号内の出力データワードを決定するよう構成されたデータ抽出回路８０４を含む。
【００５１】
ビット遷移検出回路８０２とデータ抽出回路８０４とに入力される８個のデータ信号（ＤＱ0−ＤＱ7）は、図４に示されているのと同じデータ信号である。ビット遷移位置を決定するためにビット遷移検出回路２１４がＤＱＳ信号を使用した図４に戻って参照すると、ビット遷移検出回路２１４により決定されるビット境界範囲は３：５であった。次に図８を参照すると、ビット遷移検出回路８０２は、データ信号ＤＱ0またはデータ信号ＤＱ1などの論理状態ビット遷移を含むデータ信号を使用して、ビット境界範囲を決定する。データ信号ＤＱ0またはＤＱ1を検査して、ビット遷移検出回路８０２は、ＤＱ0またはＤＱ1信号内のビット２およびビット６においてビット遷移を検出し、こうして、図４に示されている実施の形態におけるように、ビット境界範囲３：５を決定する。次に、ビット遷移回路８０２はビット境界範囲３：５をデータ抽出回路８０４へ提供し、続いて、データ抽出回路８０４はビット境界範囲３：５を使用して、各ＤＱ信号内のデータワードを検出できる。
【００５２】
ビット境界範囲検出の他の技術も、代わりに使用可能である。例えば、バイトに渡ってビット境界範囲検出を行うもう１つの方法は、既知または現在のパターンを送信するメモリデバイスまたは他の送信デバイスをもつことである。次に、もう１つの回路が既知のパターンを修復するビット境界設定を探す間、受信回路がデータをオーバーサンプリングして保持する。この例では、出力データが既知の所定のパターンと一致するまで、もう１の回路がＢＢＲ値を調整する。
【００５３】
さらに、従来技術で知られているように、いくつかのメモリシステムでは、スタブにシリーズ抵抗を付加し反射を抑えた高速インタフェース（ＳＳＴＬ）信号を使用できる。そのようなシステムでは、（ＤＲＡＭデバイス）などのメモリデバイスからメモリコントローラが受信する入力データビットは、３つの区別できる電圧（信号）レベルをもち、そのレベルは論理０信号レベル、論理１信号レベルおよび待機信号レベルを含む。典型的な実施の形態によれば、ＳＳＴＬを使用したメモリシステムでは、ＤＱ信号またはＤＱＳ信号を使用して、待機状態から非待機（アクティブ）状態“０”または“１”への遷移を検出することにより、ビット遷移検出回路はビット境界範囲を決定できる。
【００５４】
ビット遷移検出回路は、電圧比較器を使用して、入力データ信号が、待機状態から論理０または論理１などの非待機状態へいつ遷移したかを決定する。例えば、もし“ｊ”が待機電圧状態を表し、第１のＤＱ0信号が“ｊｊｊ０００００”であるならば、ビット遷移検出回路の比較器は、ビット位置４において、待機状態から論理０状態への信号の遷移を決定できる。次に、ビット遷移検出回路は“Ｌ”サイクルをビット遷移位置（この例ではビット位置４）に加え、“Ｍ”の現在値を使用して境界範囲を定義するように構成可能である。例えば、遷移検出回路は、“Ｌ”および“Ｍ”に関する値でプリプログラム可能であって、典型的な実施の形態では、例えば、Ｌの値は１サイクルに設定可能であって、Ｍの値は３サイクルに設定可能である。こうしてＬ＝１かつＭ＝３で“ｊｊｊ０００００”のあたえられた例を参照すると、境界範囲は５：７になる。異なる値も使用可能である。
【００５５】
図９は、本発明の典型的な実施の形態によるメモリデバイスからデータを読み出すためのメモリコントローラにより実行される処理９００の実施の形態を示す制御フローチャートである。ステップ９０２で、メモリコントローラは、複数の入力信号をメモリデバイスから受信する。メモリデバイスはマルチランクメモリシステム内のＤＤＲメモリデバイスであってもよい。さらに、メモリデバイスは、Ｎ（典型的には８ないしは３２）個のデータ信号をメモリコントローラへ送信可能である。データ信号に加えて、メモリコントローラは、メモリデバイスから、入力データ信号に関連するタイミング基準信号（またはデータ出力同期信号）も受信可能である。
【００５６】
ステップ９０４で、メモリコントローラは、メモリデバイスから受信した複数の入力信号の各々に関する複数のオーバーサンプリングされた入力値を生成する。１つの実施の形態では、メモリコントローラは、メモリデバイスで使用されるクロックの倍数のクロック周波数をもつ高速クロック信号により駆動される１以上のエッジトリガーデータサンプリング回路などの入力サンプリング回路を含んでもよい。
【００５７】
ステップ９０６で、メモリコントローラは、ビット境界範囲を決定するために使用されるオーバーサンプリングされた入力値の組の１つを選択する。典型的な実施の形態によれば、メモリコントローラにより選択されたオーバーサンプリングされた入力値の組は、例えば１から０などの論理状態からの論理遷移のような、少なくとも１つの論理状態遷移をもつ。１つの実施の形態によれば、メモリコントローラは、タイミング基準信号またはデータ信号に対応するオーバーサンプリングされた値の組を選択可能である。
【００５８】
ステップ９０８で、メモリコントローラは、オーバーサンプリングされた入力値の選択された組を使用してビット境界範囲を決定する。１つの実施の形態では、メモリコントローラは、オーバーサンプリングされたタイミング基準信号を使用してビット境界範囲を決定する。代わりに、メモリコントローラは、ビット遷移を含むオーバーサンプリングされた入力データ値の１以上の組を使用してビット境界範囲を決定する。メモリコントローラは、前の図を参照して説明したように、第１にビット遷移位置を決定でき、次にビット遷移位置はビット境界範囲を決定するために使用される。
【００５９】
ステップ９１０で、メモリコントローラは、各入力データ信号に対応するオーバーサンプリングされた入力データ値からデータワードを決定する。典型的な実施の形態によれば、そうするために、メモリコントローラはビット境界範囲を使用する。例えば、ＤＤＲメモリデバイスの場合、メモリコントローラは、オーバーサンプリングされた入力データ値の各組に関する偶数データワードおよび奇数データワードを決定可能である。
【００６０】
ステップ９１２で、メモリコントローラはデータワードを出力し、方法９００が終了する。
【００６１】
本発明は、多くの典型的な実施の形態に関連して説明してきたけれども、上の説明は本発明の範囲を特定の形式、回路配置または半導体構成に限定しようと意図するものではない。これに対して、本発明は、当業者にとって上の詳細な説明を読むことにより明らかであるそのような代替、変更および変化を含むように意図している。
【００６２】
さらに、説明されている実施の形態は典型的なもののみであって、ハードウェア、ソフトウェアおよびハードウェアとソフトウェアの組合せにより実施可能である。例えば、上に説明したコントローラの典型的な実施の形態は、上に説明したデータ取得の方法を実行する一連の命令によりプログラム可能である。また、ここに説明した典型的な実施の形態はメモリデバイス、メモリコントローラおよびメモリシステムに言及しているけれども、本発明はメモリシステムに限定されない。本発明は、互いに通信する２つの回路をもつ任意の電子システムで実施可能である。示された実施の形態ではｈｉｇｈ（１）およびｌｏｗ（０）の論理状態をもつバイナリシステムを参照して説明されているけれども、本発明は多レベル信号を使用するシステムでも実施可能である。本発明は電子システムと同様に光システムでも実現可能である。
【図面の簡単な説明】
【００６３】
【図１】シンクロナスメモリデバイス用の従来のメモリコントローラの例を示す単純化された機能ブロック図
【図２Ａ】本発明にかかるチップ間通信システムの例を示す単純化された機能ブロック図
【図２Ｂ】本発明にかかるメモリデバイス用のメモリコントローラの例を示す単純化された機能ブロック図
【図３】図２Ｂに示されたデータ修復回路の例を示す単純化された機能ブロック図
【図４】本発明にかかるデータ信号の典型的な集合からデータを修復する典型的な処理を示す単純化された機能ブロック図
【図５】図２Ｂに示されたメモリコントローラに使用可能なデータ修復回路の第２の典型的な実施の形態を示す単純化された機能ブロック図
【図６】図５に示された典型的な実施の形態に使用可能なフィルタ回路の例を示す単純化された機能ブロック図
【図７】図２Ｂに示されたメモリコントローラに使用可能なデータ修復回路の第３の典型的な実施の形態を示す単純化された機能ブロック図
【図８】図２Ｂに示されたメモリコントローラに使用可能なデータ修復回路の第４の典型的な実施の形態を示す単純化された機能ブロック図
【図９】コントローラにより実行されてメモリデバイスからのデータを修復する本発明にかかる機能の実施の形態を示す制御フローチャート
【符号の説明】
【００６４】
１０  メモリアーキテクチャ
２０  コントローラ
２２  クロック生成回路
２４  偶数クロック領域レジスタ
２５  偶数クロック領域レジスタ
２６  奇数クロック領域レジスタ
２７  奇数クロック領域レジスタ
７０  ＤＱＳ領域回路
７２  ｔ1遅延回路
７４  エッジトリガーデータサンプラー
７６  エッジトリガーデータサンプラー
９０  ＤＤＲ  ＤＲＡＭデバイス
９２  伝搬遅延ブロック
９４  伝搬遅延ブロック
９６  伝搬遅延ブロック
２００  システム
２０２  クロック源
２０４  マルチプレクサ（ＭＵＸ）
２１０  入力サンプリング回路
２１２  データ修復回路
２１４  ビット遷移検出回路
２１６  データ抽出回路
２１６Ａ  投票者回路
２１８  第１の回路素子
２２０  第２の回路素子
２５０  メモリコントローラ
２５２  メモリデバイス
２５４  クロック生成回路
２５６  分周器
３０２  ＸＯＲゲート
３０４  マルチプレクサ
５００  データ修復回路
５０４  フィルタ回路
６００  フィルタ回路
６０２  Ｄフリップフロップ
６０４  Ｄフリップフロップ
６０６  ＸＯＲゲート
６０８  マルチプレクサ（ＭＵＸ）
６１０  Ｄフリップフロップ
７００  データ修復回路
７０２  フィルタ回路
７０４  ビット遷移検出回路
７０６  データ抽出回路
８００  データ修復回路
８０２  ビット遷移検出回路
８０４  データ抽出回路
９００  処理
【図１】
0004634803.tif 000004
【図２Ａ】
0004634803.tif 000005
【図２Ｂ】
0004634803.tif 000006
【図３】
0004634803.tif 000007
【図４】
0004634803.tif 000008
【図５】
0004634803.tif 000009
【図６】
0004634803.tif 000010
【図７】
0004634803.tif 000011
【図８】
0004634803.tif 000012
【図９】
0004634803.tif 000013