【手続補正書】
【提出日】平成22年9月14日(2010.9.14)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
回路122が、少しの初期化サンプルを生成するために提供される。これは、DQ0 88をサンプリングするDフリップフロップ112から構成されている。Dフリップフロップ112は、フリップフロップ114を使用して0度クロックに再調整される。フリップフロップ114は、任意選択で、フリップフロップ116によりRTLクロックに再調整される。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
同期メモリを制御するための方法であって、
メモリコントローラが、メモリの所定位置に初期化シーケンスを書き込むステップと、
前記メモリコントローラが、前記メモリに読出しコマンドを送って前記所定位置を読み出し、リターンデータ信号を受け取るステップと、
前記読出しコマンドを送った後の所定時間に、前記メモリコントローラが、単一の初期化サンプルを生成するために前記リターンデータ信号をサンプリングするステップと、
前記メモリと前記メモリコントローラとの間の前記読出しデータパス遅延を決定するために前記初期化サンプルを使用するステップとによって、
前記メモリと前記メモリコントローラとの間で読出しデータパス遅延を設定するステップを有する方法。
【請求項２】
読出しコマンドを送るステップと、
前記読出しコマンド対応して、データ信号を受け取るとともに、データストローブ信号を前記データ信号に同期させて受け取るステップと、
前記読出しデータパス遅延の機能として前記データストローブ信号をイネーブルするステップとによって、
継続的に前記メモリからの読出しを実行するステップをさらに有する請求項1に記載の方法。
【請求項３】
前記リターンデータ信号をサンプリングするステップは、
グレイコードの各ビットを4つのクロック位相でサンプリングするステップを有する請求1および2のいずれか一項に記載の方法。
【請求項４】
前記グレイコードは、2n個の符号語を有するN-ビットグレイコードであり、
前記メモリコントローラが前記メモリの所定位置にグレイコード初期化シーケンスを書き込むステップは、前記2n個の符号語の各々を2n+1個の連続するアドレス内の1対のアドレスに書き込むステップを有する請求項3に記載の方法。
【請求項５】
前記2n個の符号語を2n+1個の連続するアドレスに書き込むステップは、Nビットを前記2n+1個のアドレスの各々に書き込むステップを有し、
4つのクロック位相でグレイコードの各ビットをサンプリングするステップは、N-ビットのグレイコードの第n番目のビットが前記4つのクロック位相(ただしn = 0、...、N-1)で書き込まれた、それぞれの読込み信号をサンプリングするステップを有する請求項4に記載の方法。
【請求項６】
前記2n個の符号語を2n+1個の連続するアドレスに書き込むステップは、g1,g1,g1,g1,..., gN,gN,gN,gNを1対のアドレスに書き込むことで、それぞれのグレイコード符号語g1, g2, ...,gNのビットを4Nビットとして前記2n+1個のアドレスの各々に書き込むステップを有し、
グレイコードの各ビットを4つのクロック位相でサンプリングするステップは、
前記読出しコマンド対応して、前記リターンデータ信号として4N個のデータ信号を受け取るステップと、
N個のデータ信号を第1のクロック位相でサンプリングするステップと、
別のN個のデータ信号を第2のクロック位相でサンプリングするステップと、
別のN個のデータ信号を第3のクロック位相でサンプリングするステップと、
別のN個のデータ信号を第4のクロック位相でサンプリングするステップとを有する請求項4に記載の方法。
【請求項７】
N=2である請求項6に記載の方法。
【請求項８】
N=3である請求項6に記載の方法。
【請求項９】
複数の読出し遅延の各々に対して、予想される初期化サンプルを保存するステップをさらに有し、
前記メモリと前記メモリコントローラとの間の前記読出しデータパス遅延を決定するために前記初期化シーケンスを使用するステップは、前記初期化シーケンスに保存された前記読出しデータパス遅延を検索するステップを有する請求項1から8のいずれか一項に記載の方法。
【請求項１０】
複数の読出し遅延の各々に対して、予想される初期化シーケンスを保存するステップは、
各読出し遅延に対するカウンタの状態を決定するステップと前記初期化シーケンスに関連する前記カウンタの状態を保存するステップとを有し、
前記方法が
継続的に、各読出しコマンドに対して、読出しコマンドを送った後に前記カウンタを開始するステップと、前記コードカウンタが前記決定された読出し遅延に対する前記カウンタの状態に達するときにデータストローブをイネーブルするステップとをさらに有する請求項9に記載の方法。
【請求項１１】
前記カウンタは、1/4クロック位相で増加するハードウェアとして実現されたグレイコードカウンタである請求項10に記載の方法。
【請求項１２】
前記カウンタは、1/4クロック位相で増加するRTLカウンタである請求項10に記載の方法。
【請求項１３】
継続的に、クロック変動があるかを決定し、該クロック変動がある場合は前記読出しデータパス遅延を更新するステップをさらに有する請求項1から12のいずれか一項に記載の方法。
【請求項１４】
読出しバースト長および連続する読出しコマンドをもたらす前記データストローブ信号をディスエーブルするステップをさらに有する請求項1から13のいずれか一項に記載の方法。
【請求項１５】
各遅延に対して、
前記データストローブをいつイネーブルするかを示すイネーブルカウントを保存するステップと、
前記データストローブをいつディスエーブルするかを示すディスエーブルカウントを保存するステップと、
データ回復のために0度または180度のクロック位相のどちらでサンプリングするかの指示を保存するステップとをさらに有する請求項1から14のいずれか一項に記載の方法。
【請求項１６】
読出しデータ信号をRTLクロックに再調整するステップをさらに有する請求項1から15のいずれか一項に記載の方法。
【請求項１７】
同期クロック源および双方向データストローブを備えた双方向読出し/書込みバスを有するメモリを制御する方法を実施するように構成されたメモリコントローラであって、
前記方法は、
前記メモリコントローラが、前記メモリの所定位置にグレイコード初期化シーケンスを書き込むステップと、
前記メモリコントローラが、前記所定位置を読み出すために前記メモリに読出しコマンドを送り、リターンデータ信号を受け取るステップと、
前記読出しコマンドを送った後の所定時間に、前記メモリコントローラが、単一の初期化サンプルを生成するために前記リターンデータ信号をサンプリングするステップと、
前記メモリと前記メモリコントローラとの間の前記読出し遅延を決定するために前記初期化サンプルを使用するステップとによって、
前記メモリと前記メモリコントローラとの間の読出し遅延を測定するステップを有するメモリコントローラ。
【請求項１８】
同期クロック源および双方向データストローブを備えた双方向読出し/書込みバスを有するメモリを制御するためのメモリコントローラであって、
読出し遅延決定回路およびデータストローブイネーブル回路を備え、
初期化中、前記読出し遅延決定回路が、読出しコマンドのメモリへの送出とリターンデータ信号の受取りとの間の読出し遅延を決定し、前記読出し遅延決定回路が、単一の初期化サンプルを生成するために所定時間に前記データをサンプリングするための回路と、前記初期化サンプルの各順列に対してそれぞれの読出し遅延を保存するテーブル検索機能とを備え、
前記データストローブイネーブル回路は、前記読出し遅延に応じて受け取ったDQSをゲート制御するように構成されているメモリコントローラ。
【請求項１９】
0度サンプルまたは180度サンプルのいずれかを選択するための回路と、
前記データ信号をメインクロックに再調整するための回路と
のうちの少なくとも1つをさらに備えた請求項18に記載のメモリコントローラ。
【請求項２０】
前記テーブル検索機能は、前記初期化シーケンスの各順列に対して、
データストローブイネーブルカウントと、
データストローブディスエーブルカウントと、を行い、
メモリの通常読出し動作に対して0度または180度のいずれかでサンプリングする機能である請求項18および19のいずれか一項に記載のメモリコントローラ。
【請求項２１】
同期クロック源および双方向データストローブを備えた双方向読出し/書込みバスを有するメモリと共に使用するためのデータストローブイネーブル回路であって、
立ち上がりエッジおよび立ち下がりエッジを有するデータストローブ信号を受け取るための入力と、
ゲート制御されたデータストローブ信号を生成するための出力と、
選択入力に応じて、前記データストローブ信号をゲート制御するマルチプレクサと、
データストローブイネーブルおよびデータストローブディスエーブルを受け取るために接続された選択入力生成回路とを備え、
前記選択入力生成回路は、前記データストローブイネーブルの起動の際に、前記データストローブ信号を選択するように前記選択入力を設定し、前記データストローブディスネーブルの起動およびそれに続くデータストローブ信号の次の立ち上がりエッジの際に、前記データストローブ信号を非選択にするように前記選択入力を設定するデータストローブイネーブル回路。
【請求項２２】
前記選択入力生成回路は、
前記データストローブイネーブルを受け取る第1のDフリップフロップと、
前記データストローブディスエーブルを受け取る第2のDフリップフロップと、
前記第1のDフリップフロップおよび前記第2のDフリップフロップの出力を結合するANDゲートと、
ゲート制御された前記データストローブ信号によってクロックされるSRフリップフロップとを備え、
前記SRフリップフロップは、前記第2のDフリップフロップの出力を受け取るためのD入力を有し、ANDゲートの出力を受け取るためのS入力を有し、かつ前記選択入力として機能するQ出力を有し、それにより、イネーブル入力がアクティブになるときは、前記選択入力が非同期的に前記データストローブ信号を選択し、前記データストローブディスエーブル入力がアクティブになるときは、前記選択入力が前記データストローブ信号の次の立ち上がりエッジでこれを反映させる請求項21に記載のデータストローブイネーブル回路。
【請求項２３】
前記選択入力を使用して、ゲート制御された反転データストローブ信号を生成するようにさらに構成された請求項21および22のいずれか一項に記載のデータストローブイネーブル回路。
【請求項２４】
データストローブ信号を受け取り反転されたデータストローブ信号が生成される第1の動作モードと、データストローブ信号および反転されたデータストローブ信号を受け取る第2の動作モードとのいずれかを選択するための回路をさらに備えた請求項23に記載のデータストローブイネーブル回路。
【請求項２５】
入力クロック信号と同期してマスタークロックの第1のクロック位相の第1の値をラッチするための第1の回路と、
入力クロック信号と同期してマスタークロックの第2のクロック位相の第2の値をラッチするための第2の回路とを備え、
前記第1の値または前記第2の値のいずれかの変化は、前記入力クロック信号が、前記マスタークロック源と比べて少なくとも所定量だけ変動したことを示す変動検知回路。
【請求項２６】
前記第1の回路は第1のDフリップフロップを備え、
前記第1のDフリップフロップは、前記第1のDフリップフロップの第1のクロック入力へ前記入力クロック信号を受け取るために接続され、前記マスタークロックの前記第1のクロック位相を受け取る第1のD入力を有し、かつ前記第1の値を生成する第1のQ出力を有し、
前記第2の回路は第2のDフリップフロップを備え、
前記第2のDフリップフロップは、その第2のクロック入力へ前記入力クロック信号を受け取るために接続され、前記マスタークロックの前記第2のクロック位相を受け取る第2のD入力を有し、かつ前記第2の値を生成する第2のQ出力を有する請求項25に記載の変動検知回路。
【請求項２７】
前記第1のクロック位相は、前記マスタークロックに基づいて0度クロックであり、
前記第2のクロック位相は、前記マスタークロックに基づいて90度クロックであり、
前記所定量は1/4クロックサイクルである請求項25および26のいずれか一項に記載の変動検知回路。
【請求項２８】
前記マスタークロックからの前記第1のクロック位相および前記第2のクロック位相を生成するためのマスタースレーブDLLを備えた請求項26に記載の変動検知回路。