(57)【要約】【解決手段】  誤り検出機能の結果に基づきメモリデバイスにおける書き込みタイミングを調節するための方法、システム及びコンピュータプログラム製品が提供される。例えば方法は、誤り検出機能の結果に基づきデータバス上の信号と書き込みクロック信号との間の書き込みタイミング窓を決定することを含むことができる。方法はまた、書き込みタイミング窓に基づきデータバス上の信号と書き込みクロック信号との間の位相差を調節することを含むことができる。メモリデバイスは、調節された位相差に基づきデータバス上の信号を回復することができる。【選択図】図６
2013504817.tif 000002
【特許請求の範囲】
【請求項１】
メモリデバイスにおける書き込みタイミングを調節するための方法であって、
誤り検出機能の結果に基づきデータバス上の信号と書き込みクロック信号との間の書き込みタイミング窓を決定することと、
前記書き込みタイミング窓に基づき前記データバス上の前記信号と前記書き込みクロック信号との間の位相差を調節することと、を備え、
前記メモリデバイスは前記調節された位相差に基づき前記データバス上の前記信号を回復する方法。
【請求項２】
前記メモリデバイスを誤り検出モードの動作に設定することを更に備える請求項１の方法。
【請求項３】
前記メモリデバイスを前記誤り検出モードの動作に設定することは、前記メモリデバイスを前記誤り検出モードの動作の間に書き込みモードの動作に設定することを備える請求項２の方法。
【請求項４】
前記書き込みタイミング窓を決定することは、
第１のデータパターンに誤り検出機能を行って前記誤り検出機能から第１の結果を生成することと、
前記第１のデータパターンをデータバス上で前記メモリデバイスへ伝送することと、
前記書き込みクロック信号に基づき前記メモリデバイスのインタフェースで受信される前記第１のデータパターンを備える第２のデータパターンに対して行われる前記誤り検出機能に基づく第２の結果を前記メモリデバイスから受信することと、
前記第１の結果を前記第２の結果と比較して前記第１及び第２の結果が互いに一致するかどうかを決定することと、
前記第１及び第２の結果の前記比較に基づき前記書き込みタイミング窓の第１のタイミング境界及び第２のタイミング境界を決定することと、を備える請求項１の方法。
【請求項５】
前記誤り検出機能を行うことは、パリティ機能及びチェックサム機能の少なくとも１つを行うことを備える請求項４の方法。
【請求項６】
前記第１及び第２の結果が互いに一致する場合に、
前記タイミング窓の前記第１のタイミング境界及び前記第２のタイミング境界を決定することは、
前記第１のデータパターンにおける正の漸増的位相シフトに対して前記伝送し、受信し及び比較するステップのシーケンスを反復的に繰り返して前記第１のタイミング境界を決定することと、
前記第１のデータパターンにおける負の漸増的位相シフトに対して前記伝送し、受信し及び比較するステップの前記シーケンスを反復的に繰り返して前記第２のタイミング境界を決定することと、を備え、
前記第１のタイミング境界は、正の位相シフトされた前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記第１のデータパターンにおける最後の正の漸増的位相シフトによって定義され、
前記第２のタイミング境界は、負の位相シフトされた前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記第１のデータパターンにおける最後の負の漸増的位相シフトによって定義される請求項４の方法。
【請求項７】
前記第１及び第２の結果が互いに一致する場合に、
前記タイミング窓の前記第１のタイミング境界及び前記第２のタイミング境界を決定することは、
前記書き込みクロック信号における正の漸増的位相シフトに対して前記伝送し、受信し及び比較するステップのシーケンスを反復的に繰り返して前記第１のタイミング境界を決定することと、
前記書き込みクロック信号における負の漸増的位相シフトに対して前記伝送し、受信し及び比較するステップの前記シーケンスを反復的に繰り返して前記第２のタイミング境界を決定することと、を備え、
前記第１のタイミング境界は、前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記書き込みクロック信号における最後の正の漸増的位相シフトによって定義され、
前記第２のタイミング境界は、前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記書き込みクロック信号における最後の負の漸増的位相シフトによって定義される請求項４の方法。
【請求項８】
前記第１及び第２の結果が互いに一致しない場合に、
前記タイミング窓の前記第１のタイミング境界及び前記第２のタイミング境界を決定することは、
前記第１のデータパターンにおける正の漸増的位相シフトに対して前記伝送し、受信し及び比較するステップのシーケンスを反復的に繰り返して前記第１のタイミング境界を決定することと、
前記第１のタイミング境界で開始して、前記第１のデータパターンにおける正の漸増的位相シフトに対して前記伝送し、受信し及び比較するステップの前記シーケンスを反復的に繰り返して前記第２のタイミング境界を決定することと、を備え、
前記第１のタイミング境界は、正の位相シフトされた前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記第１のデータパターンにおける最初の正の漸増的位相シフトによって定義され、
前記第２のタイミング境界は、正の位相シフトされた前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記第１のデータパターンにおける最後の正の漸増的位相シフトによって定義される請求項４の方法。
【請求項９】
前記第１及び第２の結果が互いに一致しない場合に、
前記タイミング窓の前記第１のタイミング境界及び前記第２のタイミング境界を決定することは、
前記書き込みクロック信号における正の漸増的位相シフトに対して前記伝送し、受信し及び比較するステップのシーケンスを反復的に繰り返して前記第１のタイミング境界を決定することと、
前記第１のタイミング境界で開始して、前記書き込みクロック信号における正の漸増的位相シフトに対して前記伝送し、受信し及び比較するステップの前記シーケンスを反復的に繰り返して前記第２のタイミング境界を決定することと、を備え、
前記第１のタイミング境界は、前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記書き込みクロック信号における最初の正の漸増的位相シフトによって定義され、
前記第２のタイミング境界は、前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記書き込みクロック信号における最後の正の漸増的位相シフトによって定義される請求項４の方法。
【請求項１０】
前記第１の結果を前記第２の結果と比較することは、前記第１の結果における各ビットを前記第２の結果における各対応するビットと比較して前記第１及び第２の結果が互いに一致するかどうかを決定することを備える請求項４の方法。
【請求項１１】
前記位相差を調節することは、前記データバス上の前記信号、前記書き込みクロック信号、並びに前記データバス上の前記信号及び前記書き込みクロック信号の両方、の少なくとも１つに位相遅延を導入することを備える請求項１の方法。
【請求項１２】
メモリデバイスにおける書き込みタイミングを調節するための方法であって、
処理ユニットから伝送される第１のデータパターンを受信することと、
書き込みクロック信号に基づき前記メモリデバイスのインタフェースで受信される前記第１のデータパターンを備える第２のデータパターンに誤り検出機能を行って第１の結果を生成することと、
前記第１の結果を前記処理ユニットへ伝送することと、
データバス上の信号を受信することと、を備え、
前記データバス上の前記信号と前記書き込みクロック信号との間の位相差は書き込みタイミング窓内にあり、前記書き込みタイミング窓は、前記第１の結果と前記第１のデータパターンに行われる前記誤り検出機能からの第２の結果との間での比較に基づいている方法。
【請求項１３】
誤り検出モードの動作において動作することを更に備える請求項１２の方法。
【請求項１４】
前記データバス上の前記信号を受信することは、前記書き込みタイミング窓の第１の境界及び第２の境界の間にある前記データバス上の前記信号を受信することを備える請求項１２の方法。
【請求項１５】
前記誤り検出機能を行うことは、パリティ機能及びチェックサム機能の少なくとも１つを行うことを備える請求項１２の方法。
【請求項１６】
メモリデバイスと前記メモリデバイスに結合される処理ユニットとを備えるシステムであって、
前記処理ユニットは、誤り検出機能の結果に基づきデータバス上の信号と書き込みクロック信号との間の書き込みタイミング窓を決定すると共に前記書き込みタイミング窓に基づき前記データバス上の前記信号と前記書き込みクロック信号との間の位相差を調節するように構成され、
前記メモリデバイスは前記調節された位相差に基づき前記データバス上の前記信号を回復するシステム。
【請求項１７】
前記処理ユニットは、書き込みモードの動作の間に前記メモリデバイスを誤り検出モードの動作に置くように構成される請求項１６のシステム。
【請求項１８】
前記処理ユニットは、
第１のデータパターンに誤り検出機能を行って前記誤り検出機能から第１の結果を生成し、
前記第１のデータパターンをデータバス上で前記メモリデバイスへ伝送し、
前記書き込みクロック信号に基づき前記メモリデバイスのインタフェースで受信される前記第１のデータパターンを備える第２のデータパターンに対して行われる前記誤り検出機能に基づく第２の結果を前記メモリデバイスから受信し、
前記第１の結果を前記第２の結果と比較して前記第１及び第２の結果が互いに一致するかどうかを決定し、
前記第１及び第２の結果の前記比較に基づき前記書き込みタイミング窓の第１のタイミング境界及び第２のタイミング境界を決定するように構成される請求項１６のシステム。
【請求項１９】
前記処理ユニットは、前記誤り検出機能を行う場合にパリティ機能及びチェックサム機能の少なくとも１つを行うように構成される請求項１８のシステム。
【請求項２０】
前記第１及び第２の結果が互いに一致する場合に、
前記処理ユニットは、
前記第１のデータパターンにおける正の漸増的位相シフトに対して前記伝送し、受信し及び比較する機能のシーケンスを反復的に繰り返して前記第１のタイミング境界を決定することと、
前記第１のデータパターンにおける負の漸増的位相シフトに対して前記伝送し、受信し及び比較する機能の前記シーケンスを反復的に繰り返して前記第２のタイミング境界を決定することと、に基づいて前記タイミング窓の前記第１のタイミング境界及び前記第２のタイミング境界を決定するように構成され、
前記第１のタイミング境界は、正の位相シフトされた前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記第１のデータパターンにおける最後の正の漸増的位相シフトによって定義され、
前記第２のタイミング境界は、負の位相シフトされた前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記第１のデータパターンにおける最後の負の漸増的位相シフトによって定義される請求項１８のシステム。
【請求項２１】
前記第１及び第２の結果が互いに一致する場合に、
前記処理ユニットは、
前記書き込みクロック信号における正の漸増的位相シフトに対して前記伝送し、受信し及び比較する機能のシーケンスを反復的に繰り返して前記第１のタイミング境界を決定することと、
前記書き込みクロック信号における負の漸増的位相シフトに対して前記伝送し、受信し及び比較する機能の前記シーケンスを反復的に繰り返して前記第２のタイミング境界を決定することと、に基づいて前記タイミング窓の前記第１のタイミング境界及び前記第２のタイミング境界を決定するように構成され、
前記第１のタイミング境界は、前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記書き込みクロック信号における最後の正の漸増的位相シフトによって定義され、
前記第２のタイミング境界は、前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記書き込みクロック信号における最後の負の漸増的位相シフトによって定義される請求項１８のシステム。
【請求項２２】
前記第１及び第２の結果が互いに一致しない場合に、
前記処理ユニットは、
前記第１のデータパターンにおける正の漸増的位相シフトに対して前記伝送し、受信し及び比較する機能のシーケンスを反復的に繰り返して前記第１のタイミング境界を決定することと、
前記第１のタイミング境界で開始して、前記第１のデータパターンにおける正の漸増的位相シフトに対して前記伝送し、受信し及び比較する機能の前記シーケンスを反復的に繰り返して前記第２のタイミング境界を決定することと、に基づいて前記タイミング窓の前記第１のタイミング境界及び前記第２のタイミング境界を決定するように構成され、
前記第１のタイミング境界は、正の位相シフトされた前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記第１のデータパターンにおける最初の正の漸増的位相シフトによって定義され、
前記第２のタイミング境界は、正の位相シフトされた前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記第１のデータパターンにおける最後の正の漸増的位相シフトによって定義される請求項１８のシステム。
【請求項２３】
前記第１及び第２の結果が互いに一致しない場合に、
前記処理ユニットは、
前記書き込みクロック信号における正の漸増的位相シフトに対して前記伝送し、受信し及び比較する機能のシーケンスを反復的に繰り返して前記第１のタイミング境界を決定することと、
前記第１のタイミング境界で開始して、前記書き込みクロック信号における正の漸増的位相シフトに対して前記伝送し、受信し及び比較する機能の前記シーケンスを反復的に繰り返して前記第２のタイミング境界を決定することと、に基づいて前記タイミング窓の前記第１のタイミング境界及び前記第２のタイミング境界を決定するように構成され、
前記第１のタイミング境界は、前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記書き込みクロック信号における最初の正の漸増的位相シフトによって定義され、
前記第２のタイミング境界は、前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記書き込みクロック信号における最後の正の漸増的位相シフトによって定義される請求項１８のシステム。
【請求項２４】
前記処理ユニットは、前記データバス上の前記信号と前記書き込みクロック信号との間の前記位相差を調節する場合に、前記データバス上の前記信号、前記書き込みクロック信号、並びに前記データバス上の前記信号及び前記書き込みクロック信号の両方、の少なくとも１つに位相遅延を導入するように構成される請求項１６のシステム。
【請求項２５】
処理ユニットと前記処理ユニットに結合されるメモリデバイスとを備えるシステムであって、
前記メモリデバイスは、
処理ユニットから伝送される第１のデータパターンを受信し、
書き込みクロック信号に基づき前記メモリデバイスのインタフェースで受信される前記第１のデータパターンを備える第２のデータパターンに誤り検出機能を行って第１の結果を生成し、
前記第１の結果を前記処理ユニットへ伝送し、
データバス上の信号を受信するように構成され、
前記データバス上の前記信号と前記書き込みクロック信号との間の位相差は書き込みタイミング窓内にあり、前記書き込みタイミング窓は、前記第１の結果と前記第１のデータパターンに行われる前記誤り検出機能からの第２の結果との間での比較に基づいているシステム。
【請求項２６】
前記メモリデバイスは、誤り検出モードの動作において動作するように構成される請求項２５のシステム。
【請求項２７】
前記メモリデバイスは、前記書き込みタイミング窓の第１の境界及び第２の境界の間にある前記データバス上の前記信号を受信するように構成される請求項２５のシステム。
【請求項２８】
前記メモリデバイスは、前記誤り検出機能を行う場合にパリティ機能及びチェックサム機能の少なくとも１つを行うように構成される請求項２５のシステム。
【請求項２９】
プロセッサがソフトウエアコードを解析することを可能にするコンピュータプログラム論理が記録されるコンピュータ使用可能媒体を備えるコンピュータプログラム製品であって、
前記コンピュータプログラム論理は、
プロセッサが誤り検出機能の結果に基づきデータバス上の信号と書き込みクロック信号との間の書き込みタイミング窓を決定することを可能にする第１のコンピュータ可読プログラムコードと、
プロセッサが前記書き込みタイミング窓に基づき前記データバス上の前記信号と前記書き込みクロック信号との間の位相差を調節することを可能にする第２のコンピュータ可読プログラムコードと、を備え、
メモリデバイスは前記調節された位相差に基づき前記データバス上の前記信号を回復するコンピュータプログラム製品。
【請求項３０】
前記第１のコンピュータ可読プログラムコードは、
プロセッサが第１のデータパターンに誤り検出機能を行って前記誤り検出機能から第１の結果を生成することを可能にする第３のコンピュータ可読プログラムコードと、
プロセッサが前記第１のデータパターンをデータバス上で前記メモリデバイスへ伝送することを可能にする第４のコンピュータ可読プログラムコードと、
前記メモリデバイスのインタフェースで受信される前記第１のデータパターンを備える第２のデータパターンに対して行われる前記誤り検出機能から生成される第２の結果をプロセッサが前記メモリデバイスから受信することを可能にする第５のコンピュータ可読プログラムコードと、
プロセッサが前記第１の結果を前記第２の結果と比較して前記第１及び第２の結果が互いに一致するかどうかを決定することを可能にする第６のコンピュータ可読プログラムコードと、
プロセッサが前記第１及び第２の結果の前記比較に基づき前記書き込みタイミング窓の第１のタイミング境界及び第２のタイミング境界を決定することを可能にする第７のコンピュータ可読プログラムコードと、を備える請求項２９のコンピュータプログラム製品。
【請求項３１】
前記第１及び第２の結果が互いに一致する場合に、
前記第７のコンピュータ可読プログラムコードは、
前記第１のデータパターンにおける正の漸増的位相シフトに対してプロセッサが前記第４、第５及び第６のコンピュータ可読プログラムコードのシーケンスを反復的に繰り返して前記第１のタイミング境界を決定することを可能にする第８のコンピュータ可読プログラムコードと、
前記第１のデータパターンにおける負の漸増的位相シフトに対してプロセッサが前記第４、第５及び第６のコンピュータ可読プログラムコードの前記シーケンスを反復的に繰り返して前記第２のタイミング境界を決定することを可能にする第９のコンピュータ可読プログラムコードと、を備え、
前記第１のタイミング境界は、正の位相シフトされた前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記第１のデータパターンにおける最後の正の漸増的位相シフトによって定義され、
前記第２のタイミング境界は、負の位相シフトされた前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記第１のデータパターンにおける最後の負の漸増的位相シフトによって定義される請求項３０のコンピュータプログラム製品。
【請求項３２】
前記第１及び第２の結果が互いに一致する場合に、
前記第７のコンピュータ可読プログラムコードは、
前記書き込みクロック信号における正の漸増的位相シフトに対してプロセッサが前記第４、第５及び第６のコンピュータ可読プログラムコードのシーケンスを反復的に繰り返して前記第１のタイミング境界を決定することを可能にする第８のコンピュータ可読プログラムコードと、
前記書き込みクロック信号における負の漸増的位相シフトに対してプロセッサが前記第４、第５及び第６のコンピュータ可読プログラムコードの前記シーケンスを反復的に繰り返して前記第２のタイミング境界を決定することを可能にする第９のコンピュータ可読プログラムコードと、を備え、
前記第１のタイミング境界は、前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記書き込みクロック信号における最後の正の漸増的位相シフトによって定義され、
前記第２のタイミング境界は、前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記書き込みクロック信号における最後の負の漸増的位相シフトによって定義される請求項３０のコンピュータプログラム製品。
【請求項３３】
前記第１及び第２の結果が互いに一致しない場合に、
前記第７のコンピュータ可読プログラムコードは、
前記第１のデータパターンにおける正の漸増的位相シフトに対してプロセッサが前記第４、第５及び第６のコンピュータ可読プログラムコードのシーケンスを反復的に繰り返して前記第１のタイミング境界を決定することを可能にする第８のコンピュータ可読プログラムコードと、
プロセッサが前記第１のタイミング境界で開始すること並びに前記第１のデータパターンにおける正の漸増的位相シフトに対して前記第４、第５及び第６のコンピュータ可読プログラムコードの前記シーケンスを反復的に繰り返して前記第２のタイミング境界を決定することを可能にする第９のコンピュータ可読プログラムコードと、を備え、
前記第１のタイミング境界は、正の位相シフトされた前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記第１のデータパターンにおける最初の正の漸増的位相シフトによって定義され、
前記第２のタイミング境界は、正の位相シフトされた前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記第１のデータパターンにおける最後の正の漸増的位相シフトによって定義される請求項３０のコンピュータプログラム製品。
【請求項３４】
前記第１及び第２の結果が互いに一致しない場合に、
前記第７のコンピュータ可読プログラムコードは、
前記書き込みクロック信号における正の漸増的位相シフトに対してプロセッサが前記第４、第５及び第６のコンピュータ可読プログラムコードのシーケンスを反復的に繰り返して前記第１のタイミング境界を決定することを可能にする第８のコンピュータ可読プログラムコードと、
プロセッサが前記第１のタイミング境界で開始すること並びに前記書き込みクロック信号における正の漸増的位相シフトに対して前記第４、第５及び第６のコンピュータ可読プログラムコードの前記シーケンスを反復的に繰り返して前記第２のタイミング境界を決定することを可能にする第９のコンピュータ可読プログラムコードと、を備え、
前記第１のタイミング境界は、前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記書き込みクロック信号における最初の正の漸増的位相シフトによって定義され、
前記第２のタイミング境界は、前記第１のデータパターンに行われた前記誤り検出機能からの前記第１の結果が、対応する前記第２の結果に一致する前記書き込みクロック信号における最後の正の漸増的位相シフトによって定義される請求項３０のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、概してメモリデバイスにおける書き込みタイミングの調節に関する。より特定的には、本発明の実施形態は、誤り検出機能の結果に基づいてメモリデバイスの書き込みタイミングを調節することに言及する。
【背景技術】
【０００２】
処理ユニットとメモリデバイスの間でのデータ通信は、典型的には、例えばワイヤ及びトレース等の信号パスに沿ってデータを送ることを伴う。同期インタフェースを伴うメモリデバイスにおいては、処理ユニットは、クロック信号をデータ信号と共にメモリデバイスへ送信することがある。クロック信号は、データ信号がいつメモリデバイスによってラッチされるべきかを決定するために用いられ、このようにしてメモリデバイスを処理ユニットに同期させる。適切なデータ回復のために、メモリデバイスは、クロック信号がデータ信号をサンプリングすることが可能な時間周期内でクロック信号を受信する必要がある（例えばクロック信号は、データ信号のデータアイに対応する時間の周期内でデータ信号をサンプリングする必要がある）。さもなければ、メモリデバイスは正確なデータ値を回復することができないであろう。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
温度やジッタ(jitter)等の実体的な変化は、処理ユニットからメモリデバイスへ伝送されるデータ信号及びクロック信号の減衰の原因となり得るので、データ信号の完全性における損失を引き起こす可能性がある。その結果、メモリデバイスによる貧弱な又は不正確なデータ回復がもたらされ得る。コンピュータシステムにおける動作周波数が高くなるに従って、処理ユニットからメモリデバイスへより高速にデータを伝送する必要性が生じている。従って、メモリデバイスは、より高速にデータをサンプリングすることを必要とするだけでなく、適切なタイミングでデータをサンプリングすることを必要とする。
【課題を解決するための手段】
【０００４】
本発明の実施形態は、メモリデバイスにおける書き込みタイミングを調節するための方法を含む。方法は、誤り検出機能の結果に基づきデータバス上の信号と書き込みクロック信号との間の書き込みタイミング窓を決定することを含むことができる。方法はまた、書き込みタイミング窓に基づきデータバス上の信号と書き込みクロック信号との間の位相差を調節することを含むことができ、ここでメモリデバイスは、調節された位相差に基づきデータバス上の信号を回復する。
【０００５】
本発明の実施形態はまた、メモリデバイスにおける書き込みタイミングを調節するための別の方法を含む。方法は、処理ユニットから伝送される第１のデータパターンを受信することと、書き込みクロック信号に基づきメモリデバイスのインタフェースで受信される第１のデータパターンであり得る第２のデータパターンに誤り検出機能を行って第１の結果を生成することと、第１の結果を処理ユニットへ伝送することと、データバス上の信号を受信することと、を含むことができ、データバス上の信号と書き込みクロック信号との間の位相差は書き込みタイミング窓内にあり、書き込みタイミング窓は、第１の結果と第１のデータパターンに行われる誤り検出機能からの第２の結果との間での比較に基づいている。
【０００６】
本発明の実施形態は、メモリデバイスにおける書き込みタイミングを調節するシステムのためのシステムを含む。システムは、メモリデバイスと、メモリデバイスに結合される処理ユニットと、を含むことができる。処理ユニットは、誤り検出機能の結果に基づきデータバス上の信号と書き込みクロック信号との間の書き込みタイミング窓を決定する機能と、書き込みタイミング窓に基づきデータバス上の信号と書き込みクロック信号との間の位相差を調節する機能と、を行うように構成されることができ、ここでメモリデバイスは調節された位相差に基づきデータバス上の信号を回復する。
【０００７】
本発明の実施形態は、メモリデバイスにおける書き込みタイミングを調節するシステムのための別のシステムを含む。システムは、処理ユニットと、処理ユニットに結合されるメモリデバイスと、を含むことができる。メモリデバイスは、処理ユニットから伝送される第１のデータパターンを受信する機能と、書き込みクロック信号に基づきメモリデバイスのインタフェースで受信される第１のデータパターンを備える第２のデータパターンに誤り検出機能を行って第１の結果を生成する機能と、第１の結果を処理ユニットへ伝送する機能と、データバス上の信号を受信する機能と、を行うように構成されることができ、ここでデータバス上の信号と書き込みクロック信号との間の位相差は書き込みタイミング窓内にあり、書き込みタイミング窓は、第１の結果と第１のデータパターンに行われる誤り検出機能からの第２の結果との間での比較に基づいている。
【０００８】
本発明の実施形態は、メモリデバイスにおける書き込みタイミングを調節するためのコンピュータプログラム製品を更に含む。コンピュータプログラム製品は、プロセッサがソフトウエアコードを解析することを可能にするコンピュータプログラム論理が記録されるコンピュータ使用可能媒体を含む。コンピュータプログラム論理は、プロセッサが誤り検出機能の結果に基づきデータバス上の信号と書き込みクロック信号との間の書き込みタイミング窓を決定することを可能にする第１のコンピュータ可読プログラムコードと、プロセッサが書き込みタイミング窓に基づきデータバス上の信号と書き込みクロック信号との間の位相差を調節することを可能にする第２のコンピュータ可読プログラムコードと、を含み、ここでメモリデバイスは調節された位相差に基づきデータバス上の信号を回復する。
【０００９】
本発明の更なる特徴及び利点の他、本発明の種々の実施形態の構成及び動作は、添付の図面を参照して以下に詳細に説明される。本発明はここに説明される特定の実施形態に限定されないことに留意されたい。そのような実施形態は例示のみを目的としてここに提示されている。ここに含まれる教示に基づいて追加の実施形態が関連分野を含めた当業者にとって明らかであろう。
【図面の簡単な説明】
【００１０】
ここに組み込まれ且つ出願書類の一部をなす添付の図面は、本発明の実施形態を示し、そして明細書と共に、本発明の原理を説明し関連分野を含めた当業者が本発明を作りまた用いることを可能にするのに更に役に立つ。
【００１１】
【図１】図１は処理ユニット及びメモリデバイスを伴う例示的なコンピュータシステムを示す図である。
【００１２】
【図２】図２はメモリデバイスによる適切なデータ回復を代表する例示的な書き込みタイミング図を示す図である。
【００１３】
【図３】図３はメモリデバイスによる適切なデータ回復を代表しない例示的な書き込みタイミング図を示す図である。
【００１４】
【図４】図４はメモリデバイスにおける書き込みタイミングを調節するコンピュータシステムの実施形態を示す図である。
【００１５】
【図５】図５はメモリデバイスにおける書き込みタイミングを調節するための方法の実施形態を示す図である。
【００１６】
【図６】図６は第１及び第２の誤り検出機能結果が互いに一致する場合に書き込みタイミング周期の第１の書き込みタイミング境界を決定するためのフローチャートの実施形態を示す図である。
【００１７】
【図７】図７は第１及び第２の誤り検出機能結果が互いに一致する場合に書き込みタイミング周期の第１の書き込みタイミング境界を決定するためのフローチャートの説明を容易にする例示的なタイミング図を示す図である。
【００１８】
【図８】図８は第１及び第２の誤り検出機能結果が互いに一致する場合に書き込みタイミング周期の第２の書き込みタイミング境界を決定するためのフローチャートを示す図である。
【００１９】
【図９】図９は第１及び第２の誤り検出機能結果が互いに一致する場合に書き込みタイミング周期の第２の書き込みタイミング境界を決定するためのフローチャートの説明を容易にする例示的なタイミング図を示す図である。
【００２０】
【図１０】図１０は第１及び第２の誤り検出機能結果が互いに一致する場合に書き込みクロック信号に基づく書き込みタイミング周期の第１の書き込みタイミング境界の決定の説明を容易にする例示的なタイミング図を示す図である。
【００２１】
【図１１】図１１は第１及び第２の誤り検出機能結果が互いに一致する場合に書き込みクロック信号に基づく書き込みタイミング周期の第２の書き込みタイミング境界の決定の説明を容易にする例示的なタイミング図を示す図である。
【００２２】
【図１２】図１２は第１及び第２の誤り検出機能結果が互いに一致しない場合に書き込みタイミング周期の第１の書き込みタイミング境界を決定するためのフローチャートを示す図である。
【００２３】
【図１３】図１３は第１及び第２の誤り検出機能結果が互いに一致しない場合に書き込みタイミング周期の第１の書き込みタイミング境界を決定するためのフローチャートの説明を容易にする例示的なタイミング図を示す図である。
【００２４】
【図１４】図１４は第１及び第２の誤り検出機能結果が互いに一致しない場合に書き込みタイミング周期の第２の書き込みタイミング境界を決定するためのフローチャートを示す図である。
【００２５】
【図１５】図１５は第１及び第２の誤り検出機能結果が互いに一致しない場合に書き込みタイミング周期の第２の書き込みタイミング境界を決定するためのフローチャートの説明を容易にする例示的なタイミング図を示す図である。
【００２６】
【図１６】図１６は第１及び第２の誤り検出機能結果が互いに一致しない場合に書き込みクロック信号に基づく書き込みタイミング周期の第１の書き込みタイミング境界の決定の説明を容易にする例示的なタイミング図を示す図である。
【００２７】
【図１７】図１７は第１及び第２の誤り検出機能結果が互いに一致しない場合に書き込みクロック信号に基づく書き込みタイミング周期の第２の書き込みタイミング境界の決定の説明を容易にする例示的なタイミング図を示す図である。
【００２８】
【図１８】図１８は本発明の実施形態が実装され得る例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【００２９】
以下の詳細な説明は、本発明に従う例示的な実施形態を示す添付の図面を参照する。他の実施形態も可能であり、また本発明の精神及び範囲内で実施形態に対して修正がなされ得る。従って、詳細な説明は本発明を限定することを意図されていない。むしろ、本発明の範囲は添付の特許請求の範囲によって画定される。
【００３０】
以下に説明されるように、本発明は、ソフトウエア、ハードウエア、ファームウエア、及び／又は図面に示される構成要素の多くの異なる実施形態において実装され得ることが関連分野を含めた当業者には明らかであろう。従って、本発明の実施形態の動作的な挙動は、ここに提示されるレベルの詳細を与えられて実施形態の修正及び変形が可能であるという理解の下で説明されることになる。
【００３１】
図１は処理ユニット及びメモリデバイスを伴う例示的なコンピュータシステム１００を示す図である。コンピュータシステム１００は、処理ユニット１１０、メモリデバイス１２０、データバス１３０７〜１３００、アドレス／制御（Ａ／Ｃ）バス１４０１５〜１４００、クロック信号１５０（例えば書き込みクロック信号）、並びに誤り検出及び訂正（ＥＤＣ）信号１６０を含む。
【００３２】
処理ユニット１１０は、Ａ／Ｃバス１４０１５〜１４００を介してメモリデバイス１２０へアドレス／制御信号を送信する。アドレス／制御信号は、例えば、クロックイネーブル（／ＣＫＥ）、チップ選択（／ＣＳ）、行アドレスストローブ（／ＲＡＳ）、列アドレスストローブ（／ＣＡＳ）、書き込みイネーブル（／ＷＥ）、及びアドレスバス（例えばＡ［８：０］）を含み得る。メモリデバイス１２０内のコマンドデーコーダ（図示せず）は、アドレス／制御信号を受信し、そしてアドレス／制御信号のビットセッティングに基づいて、メモリデバイス１２０に対する動作のモードを示す。メモリデバイス１２０に対する動作のモードは、例えば、読み出し動作、書き込み動作、アイドル動作、及びリフレッシュ動作を含み得る。
【００３３】
同期メモリシステムにおいては、図１のＡ／Ｃバス１４０１５〜１４００上のアドレス／制御信号は、クロック信号１５０のエッジ（例えばクロック信号１５０の立ち上がりエッジ）に対してタイミングをとられており、アドレス／制御信号はクロック信号１５０のエッジ上でサンプリングされる。例示の目的で、Ａ／Ｃバス１４０１５〜１４００は１６ビットデータバスとして示されている。ここでの説明に基づいて、関連分野を含めた当業者であれば、Ａ／Ｃバス１４０１５〜１４００のバス幅が変化し得る（例えば８ビット、３２ビット等）ことを認識するであろう。アドレス／制御バス及びこれらのバス上を進行する関連信号は、関連分野を含めた当業者に知られている。
【００３４】
誤り検出及び訂正（ＥＤＣ）は、データが処理ユニット１１０からメモリデバイス１２０へ誤りなしに伝送されることを確実にするための技術を参照する。ある例においては、ＥＤＣ信号１６０は、処理ユニット１１０とメモリデバイス１２０の間でパリティ情報又は誤り訂正符号を伝えるために用いられ得る。誤り検出機能は、関連分野を含めた当業者に知られているように、データバス１３０７〜１３００上のデータ信号に基づいてパリティ及び誤り訂正符号を生成する。パリティ情報又は誤り訂正符号に基づいて、処理ユニット１１０は、メモリデバイス１２０へのデータ伝送に誤りがないかどうかを決定することができる。コンピュータシステム１００においては、ＥＤＣ信号１６０は、ＥＤＣデータをメモリデバイス１２０から処理ユニット１１０へ伝える単方向信号である。当業者であれば、ＥＤＣ信号１６０が双方向信号であってもよいことを理解するであろうし、この場合、ＥＤＣデータは処理ユニット１１０とメモリデバイス１２０の間で運ばれる。ＥＤＣ技術及びアルゴリズムは、関連分野を含めた当業者に知られている。
【００３５】
処理ユニット１１０は、データバス１３０７〜１３００を介してメモリデバイス１２０へデータを送信し、またメモリデバイス１２０からデータを受信する。書き込み動作の間、データは処理ユニット１１０からメモリデバイス１２０へデータバス１３０７〜１３００を介して転送される。読み出し動作の間、データはメモリデバイス１２０から処理ユニット１１０へデータバス１３０７〜１３００を介して運ばれる。同期メモリシステムにおいては、処理ユニット１１０によってデータが送信されまた受信される速度は、クロック信号、例えばクロック信号１５０に基づいている。例示の目的で、データバス１３０７〜１３００は８ビット双方向データバスとして示されている。ここでの説明に基づいて、関連分野を含めた当業者であれば、データバス１３０７〜１３００のバス幅が変化し得る（例えば１６ビット、３２ビット等）ことを認識するであろう。データバス及びこれらのバス上を進行する関連信号は、関連分野を含めた当業者に知られている。
【００３６】
メモリデバイス１２０は、処理ユニット１１０から伝送されたデータを記憶する。データ（処理ユニット１１０から伝送されたデータ）の受信及び記憶は、メモリデバイス１２０への「書き込み(writing)」として知られている。逆に、データはメモリデバイス１２０からリトリーブされる(retrieved)ことができ、これはメモリデバイス１２０からの「読み出し(reading)」として知られている。メモリデバイス１２０は同期インタフェースを伴って構成されてよく、メモリデバイス１２０は、データバス１３０７〜１３００上のデータを処理するのに先立ち、同期インタフェースにおいてクロック信号１５０を待つ。例えば、メモリデバイス１２０は、データバス１３０７〜１３００からのデータを受信するために、又はデータバス１３０７〜１３００を介してメモリデバイス１２０からのデータを処理ユニット１１０へ送信するために、クロック信号１５０にアラインされた内部クロック信号を生成することができる。メモリデバイス１２０の内部クロック信号は、関連分野を含めた当業者によって理解されるように、例えばクロック信号１５０の周波数の倍数（例えば２倍、４倍、等）であってよい。
【００３７】
図２は、メモリデバイス１２０による適切なデータ回復を代表する、コンピュータシステム１００のための例示的な書き込みタイミング図２００を示す図である。書き込みタイミング図２００は、データ信号１３００のためのデータアイとクロック信号１５０とに対するタイミングを含み、ここでデータアイは、クロック信号１５０がデータ信号１３００をサンプリングするために用いられ得る時間の周期２１０を定義することができる（例えば、メモリデバイス１２０による適切なデータ回復は時間の周期２１０内で起こり得る）。データアイは、例えば、有効バイナリ値を伴うデータ信号１３００の部分を参照する。ここで、クロック信号１５０は、データ信号１３００に対して中央にアラインされており、そしてクロック信号１５０がＨＩＧＨの場合（又は論理値の「１」を有している場合）にデータアイ内でデータ信号１３００をサンプリングする。関連分野を含めた当業者によって理解されるように、クロック信号１５０のデータ信号１３００に対する中央アライメントは、メモリデバイス１２０がデータ信号１３００を受信しまたサンプリングするのに十分な時間の周期を割り当てられることを理由として、コンピュータシステム１００に対して理想的な書き込みタイミングをもたらす。当業者であれば、データ信号１３００に対するクロック信号１５０のアライメントは他のアライメント位置で生じ得ることを理解するはずである。
【００３８】
図３は、メモリデバイス１２０による適切なデータ回復を代表していない、コンピュータシステム１００のための例示的な書き込みタイミング図３００を示す図である。書き込みタイミング図２００と同様、書き込みタイミング図３００は、データ信号１３００のデータアイとクロック信号１５０とに対するタイミングを含む。しかし、クロック信号１５０はデータ信号１３００に対して相対的な位相差３１０（又はタイミングスキュー(timing skew)）を有しており、ここで位相差３１０は、データ信号１３００をサンプリングするのに十分な時間（例えばメモリデバイス１２０がデータ信号１３００をラッチするのに十分な時間）をメモリデバイス１２０に提供しないであろう。データ信号１３００とクロック信号１５０の間での相対的な位相差３１０における変動は、例えばコンピュータシステム１００における温度及びジッタのような種々の因子に起因し得る。例示的な書き込みタイミング図３００においては、相対的な位相差３１０は、データアイ２１０の中心と、クロック信号１５０がデータ信号１３００をサンプリングするとき（例えばクロック信号１５０がＨＩＧＨであるとき又は論理値の「１」を有しているとき）のクロック信号１５０の中心との間の差によって定義され得る。
【００３９】
コンピュータシステム１００の動作周波数が高くなるに従って、メモリデバイス１２０は、より高速な周波数でデータバス１３０７〜１３００上の信号をサンプリングすることが必要なだけでなく、適切なタイミングでデータ信号をサンプリングする必要がある。データの適切なサンプリングを確実にするために、クロック信号１５０はデータバス１３０７〜１３００上の信号に対して最適にアラインされるべきである。データバス１３０７〜１３００上の信号に対してクロック信号１５０をアラインするために、データバス１３０７〜１３００とクロック信号１５０の間での相対的な位相差（又はタイミングスキュー）が、誤り検出機能に基づいてモニタリングされ且つ調節され得る。結果として、コンピュータシステム１００は、処理ユニット１１０とメモリデバイス１２０の間での書き込みタイミングが最適化され得るように構成され得る。
【００４０】
図４はメモリデバイスにおける書き込みタイミングを調節するコンピュータシステム４００の実施形態を示す図である。コンピュータシステム４００は、処理ユニット４１０、メモリデバイス４２０、データバス１３０７〜１３００、Ａ／Ｃバス１４０１５〜１４００、クロック信号１５０（ここでは書き込みクロック信号とも称される）、及びＥＤＣ信号１６０を含む。データバス１３０７〜１３００、Ａ／Ｃバス１４０１５〜１４００、書き込みクロック信号１５０、及びＥＤＣ信号１６０は、図１を参照して上述したのと同様の様態で機能する。
【００４１】
ある実施形態においては、処理ユニット４１０及びメモリデバイス４２０は回路基板上の集積回路（ＩＣ）デバイスであり、これら２つのＩＣデバイスは、データバス１３０７〜１３００、Ａ／Ｃバス１４０１５〜１４００、及び書き込みクロック信号１５０によって通信可能に結合され、ここでデータバス１３０７〜１３００、Ａ／Ｃバス１４０１５〜１４００、書き込みクロック信号１５０、及びＥＤＣ信号１６０は、ワイヤ、相互接続、又は回路基板トレースであり得る。別の実施形態においては、処理ユニット４１０及びメモリデバイス４２０は、処理ユニット４１０をメモリデバイス４２０に通信可能に結合するデータバス１３０７〜１３００、Ａ／Ｃバス１４０１５〜１４００、書き込みクロック信号１５０、及びＥＤＣ信号１６０と共に、単一のＩＣデバイス上に集積化されている。
【００４２】
データバス１３０７〜１３００、Ａ／Ｃバス１４０１５〜１４００、書き込みクロック信号１５０、及びＥＤＣ信号１６０は、メモリデバイス４２０の動作のモード（例えば読み出し、書き込み、アイドル、及びリフレッシュの動作のモード）において用いられる処理ユニット４１０及びメモリデバイス４２０の入力／出力（Ｉ／Ｏ）ポートに接続される。処理ユニットをメモリデバイスに接続するＩ／Ｏポート（例えばＤＱピン及びクロックピン）は、関連分野を含めた当業者に知られている。
【００４３】
処理ユニット４１０は本発明の実施形態に従いＧＰＵである。代替的に別の実施形態においては、処理ユニット４１０はＣＰＵ又はメモリ制御器であり得る。ここでの説明に基づいて、関連分野を含めた当業者であれば、本発明の実施形態は本発明の範囲及び精神に含まれる他の種類の処理ユニットと共に実装され得ることを認識するであろう。
【００４４】
ある実施形態においては、処理ユニット４１０は、位相遅延回路４３０及び４４０と制御器４５０とを含む。ある実施形態においては、位相遅延回路４３０は、データバス１３０７〜１３００上を進行する信号の伝送を遅延させるように構成される。同様に、ある実施形態においては、位相遅延回路４４０は、書き込みクロック信号１５０を遅延させるように構成される。制御器４５０は、本発明の実施形態に従い各位相遅延回路４３０及び４４０のための位相遅延の量を制御するように構成される。制御器４５０から位相遅延回路４３０及び４４０に発行される位相遅延の量は、図５の方法５００を参照して後で詳細に説明される。移送遅延回路及び位相遅延回路を制御するために用いられる関連する制御器は、関連分野を含めた当業者に知られている。
【００４５】
図４を参照すると、ある実施形態においては、メモリデバイス４２０はダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイスである。ここでの説明に基づいて、関連分野を含めた当業者であれば、本発明の実施形態は他の種類のメモリデバイスと共に実装され得ることを認識するであろう。これらの他の種類のメモリデバイスは本発明の範囲及び精神に含まれる。
【００４６】
図５はメモリデバイスにおいて書き込みタイミングを調節するための方法５００の実施形態を示している。方法５００は、例えば、図４のコンピュータシステム４００を用いて生じ得る。説明の目的で、方法５００の説明を容易にするためにコンピュータシステム４００が用いられる。しかし、ここでの説明に基づいて、関連分野を含めた当業者であれば、方法５００が他のコンピュータシステムにおいて実装され得ることを認識するはずである。
【００４７】
ある実施形態においては、方法５００は、処理ユニット４１０とメモリデバイス４２０の間での書き込みタイミングを調節するために、コンピュータシステム４００によって用いられ得る。特に、１つ以上のデータパターンをメモリデバイス４２０に書き込むこと及びメモリデバイス４２０からの対応する誤り検出機能結果を読み出すことの１つ以上のシーケンスを通して、処理ユニット４１０の制御器４５０は、メモリデバイス４２０がデータバス１３０７〜１３００からのデータを適切に回復するように、データバス１３０７〜１３００上のデータ信号と書き込みクロック信号１５０との間の位相を調節することができる（位相遅延回路４３０及び４４０を介して）。
【００４８】
図５の方法５００を参照すると、ステップ５１０では、処理ユニット４１０は、メモリデバイス４２０を誤り検出モードの動作に設定するための１つ以上のコマンドを発行する。ある実施形態においては、メモリデバイス４２０は、メモリデバイス４２０のアクティブモードの動作の間に、誤り検出モードの動作にあることが可能である。これらのアクティブモードの動作は、例えば、読み出し及び書き込みモードの動作を含み得る。別の実施形態においては、メモリデバイス４２０は、メモリデバイス資源が非アクティブである場合に、誤り検出モードの動作にあることが可能である。これらのモードの動作においては、例えばデータバス１３０７〜１３００、Ａ／Ｃバス１４０１５〜１４００、及び書き込みクロック信号１５０等のメモリデバイス資源は、読み出し又は書き込みモードの動作に対してコンピュータシステム４００によって用いられていない。
【００４９】
説明を容易にするために、方法５００の以下の説明は、メモリデバイス資源が非アクティブである場合の誤り検出モードに関連してなされる（例えばデータバス１３０７〜１３００、Ａ／Ｃバス１４０１５〜１４００、及び書き込みクロック信号１５０は、読み出し及び／又は書き込みの動作に対してコンピュータシステム４００によって用いられていない）。しかし、ここでの説明に基づいて、関連分野を含めた当業者であれば、メモリデバイス資源がアクティブである場合の誤り検出モードにおいても方法５００が実装され得ることを認識するはずである（例えばデータバス１３０７〜１３００、Ａ／Ｃバス１４０１５〜１４００、及び書き込みクロック信号１５０は、読み出し及び／又は書き込みの動作に対してコンピュータシステム４００によって用いられている）。
【００５０】
ステップ５２０では、処理ユニット４１０は、誤り検出機能の結果に基づいて、データバス１３０７〜１３００上のデータ信号と書き込みクロック信号１５０との間での書き込みタイミング窓を決定する。書き込みタイミング窓はある時間周期を参照し、その時間周期内において、データバス１３０７〜１３００上のデータ信号、書き込みクロック信号１５０、又はデータバス１３０７〜１３００上のデータ信号及び書き込みクロック信号１５０の両方が、メモリデバイス４２０がデータバス１３０７〜１３００上のデータを適切に回復するように、互いに位相調節され得る。ある実施形態においては、書き込みタイミング窓は、第１のタイミング境界及び第２のタイミング境界によって定義される。書き込みタイミング窓並びにそれが関連する第１及び第２の書き込みタイミング境界は、図６〜１７に関して後で更に詳細に説明される。
【００５１】
誤り検出機能は、データが誤りなしに処理ユニット４１０からメモリデバイス４２０に伝送されることを確実にするために用いられ得る誤り検出及び訂正技術において用いられるアルゴリズムを参照する。上述したように、データ伝送誤りは、例えばコンピュータシステム４００における温度及びジッタ等の変化の結果であり得る。方法５００に関連するような誤り検出機能は、図６〜１７に関して後で更に詳細に説明される。
【００５２】
ある実施形態においては、メモリデバイス４２０の書き込みタイミングを調節するために、第１のデータパターンが用いられる。第１のデータパターンは、例えば、「１」及び「０」の論理値のランダムな組み合わせを伴う８ビットデータパターンであってよい。ある実施形態においては、処理ユニット４１０は、第１のデータパターンに誤り検出機能を行って、例えばパリティ値、チェックサム値、又は誤り検出機能からの別の種類の結果を生成する。ある実施形態においては、誤り検出機能はチェックサムスキームを実装しており、この場合、第１のデータパターンのチェックサム値は、固定サイズのビット長を伴う第１のデータパターンのハッシュバージョン(hashed version)を表す。第１のデータパターンに対する誤り検出機能の結果は、本発明の実施形態に従い比較目的（後で更に説明される）で用いられるためにプロセッサ４１０内に記憶される。
【００５３】
パリティスキーム及びチェックサムスキームは、特に誤り検出及び訂正（ＥＤＣ）技術と併せて用いられ、また関連分野を含めた当業者に知られている。ここでの説明に基づいて、関連分野を含めた当業者であれば、他の誤り検出機能がＥＤＣ技術と併せて用いられ得ることを認識するはずである。これらの他の誤り検出機能は、本発明の範囲及び精神に含まれる。
【００５４】
ある実施形態においては、第１のデータパターンは処理ユニット４１０からメモリデバイス４２０に伝送され、この場合、メモリデバイス４２０は、書き込みクロック信号１５０に基づいてメモリデバイス４２０のインタフェース（例えばメモリデバイス４２０のＩ／Ｏピンインタフェース）で第１のデータパターンにおける情報をサンプリングする。第１のデータパターンがメモリデバイス４２０によって受信された後、メモリデバイス４２０は、第２のデータパターンに誤り検出機能を行う。第２のデータパターンは、メモリデバイス４２０のインタフェースで受信される第１のデータパターンを表す。ある実施形態においては、書き込みクロック信号１５０とデータバス１３０７〜１３００上のデータ信号との間にはタイミングスキューが生じてしまっているであろうから、第２のデータパターンは、処理ユニット４１０から伝送された第１のデータパターンのビット情報とは異なるビット情報を含み得る。このタイミングスキューは、図３に関して上述したタイミングスキューと同様である。
【００５５】
ある実施形態においては、メモリデバイス４２０は、プロセッサ４１０が第１のデータパターンに適用したのと同じ誤り検出機能を第２のデータパターンに適用する。第２のデータパターンに対する誤り検出機能の結果は、本発明の実施形態に従い、固定サイズのビット長を伴う第２のデータパターンのハッシュバージョンを表す。第２のデータパターンに対する誤り検出機能の結果は、本発明の実施形態に従い、ＥＤＣ信号１６０を介してプロセッサ４１０へ伝送される。
【００５６】
処理ユニット４１０は、第１のデータパターンに対する誤り検出機能の結果（ここでは「第１の結果」とも称される）を第２のデータパターンに対する誤り検出機能の結果（ここでは「第２の結果」とも称される）と比較して、２つの結果が互いに一致するかどうかを決定する。ある実施形態においては、処理ユニット４１０の制御器４５０が第１の結果を第２の結果と比較し、この場合、制御器４５０は、第１の結果からのビット情報を第２の結果からのビット情報とビット単位ベース(bit-by-bit basis)で比較する。つまり、第１の結果における各ビットが第２の結果における対応するビットと比較されて、第１及び第２の結果が互いに一致するかどうかを決定する。
【００５７】
ある実施形態においては、制御器４５０は、第１及び第２の結果の比較に基づいて、書き込みタイミング窓の第１のタイミング境界及び第２のタイミング境界を決定する。書き込みタイミング窓の第１及び第２のタイミング境界の決定の以下の説明は、２つのシナリオに照らしてなされており、即ち（１）図６〜１１において説明されるように第１及び第２の結果が互いに一致する場合のシナリオと、（２）図１２〜１７において説明されるように第１及び第２の結果が互いに一致しない場合のシナリオとである。説明を容易にするために、書き込みタイミング窓の第１及び第２のタイミング境界の以下の説明は、データバス１３０７〜１３００上のデータ信号１３００に基づいている。関連分野を含めた当業者であれば、ここでの説明に基づいて、以下に説明されるフローチャート及び例示的なタイミング図がデータバス１３０７〜１３００上のデータ信号に等しく適用されることを認識するはずである。
【００５８】
図６は第１及び第２の結果が互いに一致する場合に書き込みタイミング窓の第１のタイミング境界を決定するためのフローチャート６００の実施形態を示す図である。フローチャート６００の説明を容易にするために、図７のタイミング図７００が用いられることになる。タイミング図７００を参照すると、タイミング図I及びIIIはそれぞれデータ信号１３００及び書き込みクロック信号１５０を表している。ここで、書き込みクロック信号１５０はデータ信号１３００をサンプリングするのに十分な時間（例えばメモリデバイス４２０がデータ信号１３００をラッチするのに十分な時間）を有しているので、メモリデバイス４２０は、データ信号１３００からデータを適切に回復することができる。これは図２に関して上述したデータ信号１３００とクロック信号１５０の間のタイミング関係と同様である。図７のタイミング図IIは、データ信号１３００の位相シフトされた表現であり、フローチャート６００に関して以下に説明されることになる。
【００５９】
図６のフローチャート６００を参照すると、フローチャート６００の開始点は、第１の結果が第２の結果に一致する場合の状況を考慮している。これは、タイミング図７００に関して上述したように、メモリデバイス４２０がデータ信号１３００をサンプリングするのに十分な時間を有してことによる場合である（図７のタイミング図Iにおいて）。従って、第１のデータパターンに対する誤り検出機能の結果は、本発明の実施形態に従い、第２のデータパターンに対する誤り検出機能の結果に一致する。ある実施形態においては、処理ユニット４１０が、書き込みタイミング窓の第１のタイミング境界を決定するに際してフローチャート６００のステップを実行する。
【００６０】
ステップ６１０では、処理ユニット４１０は、第１のデータパターンに正の漸増的(incremental)位相シフトを導入する。ある実施形態においては、漸増的位相シフトは、書き込みクロック信号１５０のサイクルの分数として定義される。例えば分数は、書き込みクロック信号１５０の１／１０、１／５、３／１０、又は２／５であってよい。また、図７のタイミング図７００を参照すると、本発明の実施形態に従い、正の漸増的位相シフトは「（＋）」方向における漸増的位相シフトとして定義される。
【００６１】
ステップ６２０では、位相シフトされた第１のデータパターンがメモリデバイス４２０へ伝送される。
【００６２】
ステップ６３０では、処理ユニット４１０は、第２のデータパターンに適用された誤り検出機能からの結果を受信する。第２のデータパターンは、メモリデバイス４２０のインタフェースで受信される位相シフトされた第１のデータパターンを表す。ある実施形態においては、メモリデバイス４２０は、プロセッサ４１０によって第１のデータパターンに適用された誤り検出機能と同じ誤り検出機能を第２のデータパターンに行う。第２のデータパターンに対する誤り検出機能の結果は、本発明の実施形態に従い、メモリデバイス４２０から処理ユニット４１０へＥＤＣ信号１６０を介して伝送される。
【００６３】
ステップ６４０では、処理ユニット４１０は、第１のデータパターンに適用された誤り検出機能の第１の結果を第２のデータパターンに適用された誤り検出機能の第２の結果と比較し、この場合、制御器４５０が第１の結果のビット情報を記憶している。制御器４５０は第１の結果からのビット情報を第２の結果からのビット情報と比較し、ここで第２の結果は、本発明の実施形態に従い、メモリデバイス４２０のインタフェースで受信される位相シフトされた第１のデータパターンを示している。ある実施形態においては、第１及び第２の結果はビット単位ベースで互いと比較される。
【００６４】
ステップ６５０において、第１の結果からのビット情報が第２の結果からのビット情報に一致する場合には、処理ユニット４１０は追加的な正の漸増的位相遅延を第１のデータパターンに導入し（ステップ６１０）、そしてステップ６２０〜６４０が繰り返される。
【００６５】
第１及び第２の結果からのビット情報が互いに一致しない場合には、ステップ６６０において、先の位相シフトされた第１のデータパターンからの位相シフト情報が処理ユニット４１０内に記憶される。図７のタイミング図７００を参照すると、タイミング図IIは正の位相シフトされたデータ信号１３００（即ち正の位相シフトされた第１のデータパターン）を表している。タイミング図I及びIIにおける標識７１０は、データ信号１３００における正の漸増的位相シフトを示すためのデータ信号１３００上での基準点を表している。また、標識７３０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件を示しており、ここでは、正の位相シフトの追加的な漸増がデータ信号１３００に導入されるとすると（図７のタイミング図IIにおいて）、書き込みクロック信号１５０は有効なデータ信号１３００をサンプリングすることができない。この理由は、位相シフトにおける追加的な正の漸増が少しでもデータ信号１３００に与えられると、データ信号１３００をサンプリングするのに十分な時間を書き込みクロック信号１５０が有することができないところにある（例えばメモリデバイス４２０がデータ信号１３００をラッチするのに不十分な時間）。
【００６６】
図７のタイミング図７００を参照すると、時間周期７２０は、本発明の実施形態に従う書き込みタイミング窓の第１のタイミング境界を表している。特に、時間周期７２０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件であり、ここにおいては、データ信号１３００は、メモリデバイス４２０による不適切なデータ回復の危険性を伴わずに位相シフトにおける追加的な正の漸増を有することはできない。ある実施形態においては、書き込みクロック信号１５０に対するデータ信号１３００の元の位相位置（例えば図７のタイミング図Iにおける標識７１０）を参照すると、データ信号１３００は、メモリデバイス４２０による不適切なデータ回復の危険性を伴わずに時間周期７２０よりも大きな正の位相シフトを有することはできない。
【００６７】
図８は第１及び第２の結果が互いに一致する場合に書き込みタイミング窓の第２の境界条件を決定するためのフローチャート８００の実施形態を示す図である。フローチャート８００の説明を容易にするために、図９の例示的なタイミング図９００が用いられることになる。タイミング図９００を参照すると、タイミング図I及びIIIはそれぞれデータ信号１３００及び書き込みクロック信号１５０を表している。ここで、書き込みクロック信号１５０はデータ信号１３００をサンプリングするのに十分な時間（例えばメモリデバイス４２０がデータ信号１３００をラッチするのに十分な時間）を有しているので、図２に関して上述したデータ信号１３００とクロック信号１５０の間のタイミング関係と同様に、メモリデバイス４２０は、データ信号１３００からデータを適切に回復することができる。図９のタイミング図IIは、データ信号１３００の位相シフトされた表現であり、フローチャート８００に関して以下に説明されることになる。
【００６８】
フローチャート８００のステップは、第１のデータパターンにおける漸増的位相シフトが「（−）」方向であることを除いてフローチャート６００のステップと同様である。特にステップ８１０において、処理ユニット４１０は負の漸増的位相シフトを第１のデータパターンに導入する。ステップ８２０〜８４０はフローチャート６００のそれぞれステップ６２０〜６４０と同様の機能を行う。
【００６９】
ステップ８５０において、第１の結果からのビット情報が第２の結果からのビット情報に一致する場合には、処理ユニット４１０は追加的な負の漸増的位相遅延を第１のデータパターンに導入し（ステップ８１０）、そしてステップ８２０〜８４０が繰り返される。
【００７０】
第１及び第２のデータパターンからのビット情報が互いに一致しない場合には、ステップ８６０において、先の位相シフトされた第１のデータパターンからの位相シフト情報が処理ユニット４１０内に記憶される。図９のタイミング図９００を参照すると、タイミング図IIは負の位相シフトされたデータ信号１３００（即ち負の位相シフトされた第１のデータパターン）を表している。タイミング図I及びIIにおける標識７１０は、データ信号１３００における負の漸増的位相シフトを示すためのデータ信号１３００上での基準点を表している。また、標識９３０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件を示しており、ここでは、負の位相シフトの追加的な漸増がデータ信号１３００に導入されるとすると（図９のタイミング図IIにおいて）、書き込みクロック信号１５０は、データ信号１３００をサンプリングするのに十分な時間を有しないことになる（例えばメモリデバイス４２０がデータ信号１３００をラッチするのに不十分な時間）。
【００７１】
図９のタイミング図９００を参照すると、時間周期９２０は、本発明の実施形態に従う書き込みタイミング窓の第２のタイミング境界を表している。特に、時間周期９２０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件であり、ここにおいては、データ信号１３００は、メモリデバイス４２０による不適切なデータ回復の危険性を伴わずに位相シフトにおける追加的な負の漸増を有することはできない。ある実施形態においては、書き込みクロック信号１５０に対するデータ信号１３００の元の位相位置（例えば図９のタイミング図Iにおける標識７１０）を参照すると、データ信号１３００は、メモリデバイス４２０による不適切なデータ回復の危険性を伴わずに時間周期９２０よりも大きな負の位相シフトを有することはできない。
【００７２】
図６〜９について要約すると、書き込みタイミング窓の第１及び第２のタイミング境界が、書き込みクロック信号１５０に対するデータ信号１３００の位相シフトに関して定義されたことになる。ある実施形態においては、書き込みクロック信号１５０に対するデータ信号１３００の元の位相位置から、書き込みタイミング窓は第１及び第２のタイミング境界によって境界される。ある実施形態においては、第１のタイミング境界は、メモリデバイス４２０による不適切なデータ回復を伴わない元の位相位置からのデータ信号１３００の最大の正の位相シフトとして定義される。また、第２のタイミング境界は、本発明の実施形態に従い、メモリデバイス４２０による不適切なデータ回復を伴わない元の位相位置からのデータ信号１３００の最大の負の位相シフトとして定義される。
【００７３】
上述の説明に基づいて、ある実施形態においては、書き込みタイミング窓の第１及び第２の境界を決定するために、書き込みクロック信号１５０が用いられてもよい。図１０及び１１の以下の説明は、本発明の実施形態に従い書き込みタイミング窓の第１及び第２の境界を決定するに際して、フローチャート６００及び８００のステップとそれぞれ同様のステップがどのようにして書き込みクロック信号１５０に適用され得るのかの説明を容易にするために用いられることになる。
【００７４】
図１０は、本発明の実施形態に従い書き込みクロック信号１５０に基づいて書き込みタイミング窓の第１のタイミング境界を決定するために図６のフローチャート６００におけるステップと同様のステップがどのようにして用いられ得るのかの説明を容易にするために用いられることになる例示的な書き込みタイミング図１０００を示す図である。タイミング図１０００を参照すると、タイミング図I及びIIはそれぞれデータ信号１３００及び書き込みクロック信号１５０を表している。ここで、書き込みクロック信号１５０はデータ信号１３００をサンプリングするのに十分な時間（例えばメモリデバイス４２０がデータ信号１３００をラッチするのに十分な時間）を有しているので、図２に関して上述したデータ信号１３００とクロック信号１５０の間のタイミング関係と同様に、メモリデバイス４２０は、データ信号１３００からデータを適切に回復することができる。図１０のタイミング図IIIは、書き込みクロック信号１５０の位相シフトされた表現であり、そして以下に更に詳細に説明されることになる。
【００７５】
図６のステップ６１０と同様に、処理ユニット４１０は、書き込みクロック信号１５０に正の漸増的位相シフトを導入する。次いで、ステップ６２０〜６４０の伝送、受信及び比較のステップが、正の位相シフトされた書き込みクロック信号１５０に適用され得る。
【００７６】
図１０のタイミング図II及びIIIを参照すると、タイミング図II及びIIIにおける標識１０１０は、書き込みクロック信号１５０における正の漸増的位相シフトを示すための書き込みクロック信号１５０上での基準点を表している。また、標識１０３０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件を示しており、ここでは、正の位相シフトの追加的な漸増が書き込みクロック信号１５０に導入されるとすると（図１０のタイミング図IIIにおいて）、書き込みクロック信号１５０は、データ信号１３００をサンプリングするのに十分な時間を有しないことになる（例えばメモリデバイス４２０がデータ信号１３００をラッチするのに不十分な時間）。
【００７７】
図１０のタイミング図１０００を参照すると、時間周期１０２０は、本発明の実施形態に従う書き込みタイミング窓の第１のタイミング境界を表している。特に、時間周期１０２０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件であり、ここにおいては、書き込みクロック信号１５０は、メモリデバイス４２０による不適切なデータ回復の危険性を伴わずに位相シフトにおける追加的な正の漸増を有することはできない。ある実施形態においては、データ信号１３００に対する書き込みクロック信号１５０の元の位相位置（例えば図１０のタイミング図IIにおける標識１０１０）を参照すると、書き込みクロック信号１５０は、メモリデバイス４２０による不適切なデータ回復の危険性を伴わずに時間周期１０２０よりも大きな正の位相シフトを有することはできない。
【００７８】
図１１は、本発明の実施形態に従い書き込みクロック信号１５０に基づいて書き込みタイミング窓の第２のタイミング境界を決定するために図８のフローチャート８００におけるステップと同様のステップがどのようにして用いられ得るのかの説明を容易にするために用いられることになる例示的な書き込みタイミング図１１００を示す図である。タイミング図１１００を参照すると、タイミング図I及びIIはそれぞれデータ信号１３００及び書き込みクロック信号１５０を表している。ここで、書き込みクロック信号１５０はデータ信号１３００をサンプリングするのに十分な時間（例えばメモリデバイス４２０がデータ信号１３００をラッチするのに十分な時間）を有しているので、図２に関して上述したデータ信号１３００とクロック信号１５０の間のタイミング関係と同様に、メモリデバイス４２０は、データ信号１３００からデータを適切に回復することができる。図１１のタイミング図IIIは、書き込みクロック信号１５０の位相シフトされた表現であり、そして以下に更に詳細に説明されることになる。
【００７９】
図８のステップ８１０と同様に、処理ユニット４１０は、書き込みクロック信号１５０に負の漸増的位相シフトを導入する。次いで、ステップ８２０〜８４０の伝送、受信及び比較のステップが、負の位相シフトされた書き込みクロック信号１５０に適用され得る。
【００８０】
図１１のタイミング図II及びIIIを参照すると、タイミング図II及びIIIにおける標識１０１０は、書き込みクロック信号１５０における負の漸増的位相シフトを示すための書き込みクロック信号１５０上での基準点を表している。また、標識１１３０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件を示しており、ここでは、負の位相シフトの追加的な漸増が書き込みクロック信号１５０に導入されるとすると（図１１のタイミング図IIIにおいて）、書き込みクロック信号１５０は、データ信号１３００をサンプリングするのに十分な時間を有しないことになる（例えばメモリデバイス４２０がデータ信号１３００をラッチするのに不十分な時間）。
【００８１】
図１１のタイミング図１１００を参照すると、時間周期１１２０は、本発明の実施形態に従う書き込みタイミング窓の第２のタイミング境界を表している。特に、時間周期１１２０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件であり、ここにおいては、書き込みクロック信号１５０は、メモリデバイス４２０による不適切なデータ回復の危険性を伴わずに位相シフトにおける追加的な負の漸増を有することはできない。ある実施形態においては、データ信号１３００に対する書き込みクロック信号１５０の元の位相位置（例えば図１１のタイミング図IIにおける標識１０１０）を参照すると、書き込みクロック信号１５０は、メモリデバイス４２０による不適切なデータ回復の危険性を伴わずに時間周期１０２０よりも大きな負の位相シフトを有することはできない。
【００８２】
図１０及び１１について要約すると、書き込みタイミング窓の第１及び第２のタイミング境界が、データ信号１３００に対する書き込みクロック信号１５０の位相シフトに関して定義されたことになる。ある実施形態においては、データ信号１３００に対する書き込みクロック信号１５０の元の位相位置から、書き込みタイミング窓は第１及び第２のタイミング境界によって境界される。ある実施形態においては、第１のタイミング境界は、メモリデバイス４２０による不適切なデータ回復を伴わない元の位相位置からの書き込みクロック信号１５０の最大の正の位相シフトとして定義される。また、第２のタイミング境界は、本発明の実施形態に従い、メモリデバイス４２０による不適切なデータ回復を伴わない元の位相位置からの書き込みクロック信号１５０の最大の負の位相シフトとして定義される。
【００８３】
図６〜１１に関する上述した説明は、第１及び第２の結果が互いに一致する場合に書き込みタイミング窓の第１及び第２の境界を決定するに際しての技術についてなされている。上述した実施形態においては、データ信号１３００又は書き込みクロック信号１５０のいずれかが、これら２つの信号の間での相対的な位相アライメントがメモリデバイス４２０による適切なデータ回復を可能にするように、漸増的位相シフトによって調節される。ここでの説明に基づき、当業者であれば、データ信号１３００及び書き込みクロック信号１５０の両方が、これら２つの信号の間での相対的な位相アライメントがメモリデバイス４２０による適切なデータ回復を可能にするように、例えば正及び負の漸増的位相シフトの適切な組み合わせで調節され得ることを認識するはずである。
【００８４】
図１２〜１７に関する以下の説明は、第１及び第２の結果が互いに一致しない場合における書き込みタイミング窓の第１及び第２のタイミング境界の決定についてなされる。
【００８５】
図１２は第１及び第２の結果が互いに一致しない場合に書き込みタイミング窓の第１のタイミング境界を決定するためのフローチャート１２００の実施形態を示す図である。フローチャート１２００の説明を容易にするために、図１３のタイミング図１３００が用いられることになる。タイミング図１３００を参照すると、タイミング図I及びIIIはそれぞれデータ信号１３００及び書き込みクロック信号１５０を表している。ここで、書き込みクロック信号１５０はデータ信号１３００をサンプリングするのに十分な時間を有していない（例えばメモリデバイス４２０がデータ信号１３００をラッチするのに不十分な時間）ので、メモリデバイス４２０は、データ信号１３００からデータを適切には回復しない。これは図３に関して上述したデータ信号１３００とクロック信号１５０の間のタイミング関係と同様である。図１３のタイミング図IIは、データ信号１３００の位相シフトされた表現であり、そしてフローチャート１２００に関して以下に説明されることになる。
【００８６】
図１２のフローチャート１２００を参照すると、フローチャート１２００の開始点は、第１の結果が第２の結果に一致しない場合の状況を考慮している。これは、タイミング図１３００に関して上述したように、メモリデバイス４２０がデータ信号１３００をサンプリングするのに十分な時間を有していないことによる場合である。従って、第１のデータパターンに対する誤り検出機能の結果は、本発明の実施形態に従い、第２のデータパターンに対する誤り検出機能の結果と同一ではない。ある実施形態においては、処理ユニット４１０が、書き込みタイミング窓の第１のタイミング境界を決定するに際してフローチャート１２００のステップを実行する。
【００８７】
ステップ１２１０では、処理ユニット４１０は、第１のデータパターンに正の漸増的位相シフトを導入する。
【００８８】
ステップ１２２０では、位相シフトされた第１のデータパターンがメモリデバイス４２０へ伝送され、そしてメモリデバイス４２０内に記憶される。
【００８９】
ステップ１２３０では、処理ユニット４１０は、第２のデータパターンに適用された誤り検出機能からの結果を受信する。第２のデータパターンは、メモリデバイス４２０のインタフェースで受信される位相シフトされた第１のデータパターンを表す。ある実施形態においては、メモリデバイス４２０は、プロセッサ４１０によって第１のデータパターンに適用された誤り検出機能と同じ誤り検出機能を第２のデータパターンに行う。第２のデータパターンに対する誤り検出機能の結果は、本発明の実施形態に従い、メモリデバイス４２０から処理ユニット４１０へＥＤＣ信号１６０を介して伝送される。
【００９０】
ステップ１２４０では、処理ユニット４１０は、位相シフトされた第１のデータパターンに適用された誤り検出機能からの第１の結果を第２のデータパターンに適用された誤り検出機能の第２の結果と比較し、この場合、制御器４５０が第１の結果のビット情報を記憶している。制御器４５０は第１の結果からのビット情報を第２の結果からのビット情報と比較し、ここで第２の結果は、本発明の実施形態に従い、メモリデバイス４２０のインタフェースで受信される位相シフトされた第１のデータパターンを示している。ある実施形態においては、第１及び第２の結果はビット単位ベースで互いと比較される。
【００９１】
ステップ１２５０において、第１の結果からのビット情報が第２の結果からのビット情報に一致しない場合には、処理ユニット４１０は追加的な正の漸増的位相遅延を第１のデータパターンに導入し（ステップ１２１０）、そしてステップ１２２０〜１２４０が繰り返される。
【００９２】
第１及び第２の結果からのビット情報が互いに一致する場合には、ステップ１２６０において、位相シフトされた第１のデータパターンからの位相シフト情報が処理ユニット４１０内に記憶される。図１３のタイミング図１３００を参照すると、タイミング図IIは正の位相シフトされたデータ信号１３００（即ち正の位相シフトされた第１のデータパターン）を表している。タイミング図I及びIIにおける標識１３１０は、データ信号１３００における正の漸増的位相シフトを示すためのデータ信号１３００上での基準点を表している。また、標識１３３０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件を示しており、ここでは、正の位相シフトの追加的な漸増がデータ信号１３００に導入された場合（図１３のタイミング図IIにおいて）に、書き込みクロック信号１５０は有効なデータ信号１３００をサンプリングするために用いられ得る。この理由は、データ信号１３００の位相シフトにおける追加的な正の漸増が少しでもあれば、有効なデータ信号１３００をサンプリングするのに十分な時間を書き込みクロック信号１５０が有することになるところにある。
【００９３】
図１３のタイミング図１３００を参照すると、時間周期１３２０は、本発明の実施形態に従う書き込みタイミング窓の第１のタイミング境界を表している。特に、時間周期１３２０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件であり、ここにおいては、データ信号１３００は位相シフトにおける追加的な正の漸増を有することができ、そしてメモリデバイス４２０はデータ信号１３００を適切に回復することができる。ある実施形態においては、書き込みクロック信号１５０に対するデータ信号１３００の元の位相位置（例えば図１３のタイミング図Iにおける標識１３１０）を参照すると、データ信号１３００は、メモリデバイス４２０がデータ信号１３００を適切に回復するために、時間周期１３２０の少なくとも正の位相シフトを有することが必要とされる。
【００９４】
図１４は第１及び第２の結果が互いに一致しない場合に書き込みタイミング窓の第２の境界条件を決定するためのフローチャート１４００の実施形態を示す図である。フローチャート１４００の説明を容易にするために、図１５の例示的なタイミング図１５００が用いられることになる。タイミング図１５００を参照すると、タイミング図I及びIIIはそれぞれデータ信号１３００及び書き込みクロック信号１５０を表している。ここで、書き込みクロック信号１５０はデータ信号１３００をサンプリングするのに十分な時間を有していない（例えばメモリデバイス４２０がデータ信号１３００をラッチするのに不十分な時間）ので、図３に関して上述したデータ信号１３００とクロック信号１５０の間のタイミング関係と同様に、メモリデバイス４２０は、データ信号１３００からデータを適切には回復しない。図１５のタイミング図IIは、データ信号１３００の位相シフトされた表現であり、そしてフローチャート１４００に関して以下に説明されることになる。
【００９５】
ある実施形態においては、フローチャート１４００のための開始点は、図１２のフローチャート１２００及び図１３のタイミング図１３００に関して上述した第１の書き込みタイミング境界に対応するデータ信号１３００の正の位相シフトからである。
【００９６】
フローチャート１４００のステップは、フローチャート１２００のステップと同様である。ある実施形態においては、ステップ１４１０〜１４４０はフローチャート１２００のそれぞれステップ１２１０〜１２４０と同様の機能を行う。
【００９７】
ステップ１４５０において、第１のデータパターンに適用された誤り検出機能の第１の結果からのビット情報が第２のデータパターンに適用された誤り検出機能の第２の結果からのビット情報に一致する場合には、処理ユニット４１０は追加的な正の漸増的位相遅延を第１のデータパターンに導入し（ステップ１４１０）、そしてステップ１４２０〜１４４０が繰り返される。
【００９８】
第１及び第２の結果からのビット情報が互いに一致しない場合には、ステップ１４６０において、先の位相シフトされた第１のデータパターンからの位相シフト情報が処理ユニット４１０内に記憶される。図１５のタイミング図１５００を参照すると、タイミング図IIは正の位相シフトされたデータ信号１３００（即ち正の位相シフトされた第１のデータパターン）を表している。タイミング図I及びIIにおける標識１３１０は、データ信号１３００における正の漸増的位相シフトを示すためのデータ信号１３００上での基準点を表している。また、標識１５３０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件を示しており、ここでは、正の位相シフトの追加的な漸増がデータ信号１３００に導入されるとすると（図１５のタイミング図IIにおいて）、書き込みクロック信号１５０は、無効なデータ信号１３００をサンプリングしてしまうことになる（例えばデータ信号１３００の移行状態）。
【００９９】
図１５のタイミング図１５００を参照すると、時間周期１５２０は、本発明の実施形態に従う書き込みタイミング窓の第２のタイミング境界を表している。特に、時間周期１５２０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件であり、ここにおいては、データ信号１３００は、メモリデバイス４２０による不適切なデータ回復の危険性を伴わずに位相シフトにおける追加的な正の漸増を有することはできない。ある実施形態においては、書き込みクロック信号１５０に対するデータ信号１３００の元の位相位置（例えば図１５のタイミング図Iにおける標識１３１０）を参照すると、データ信号１３００は、メモリデバイス４２０による不適切なデータ回復の危険性を伴わずに時間周期１５２０よりも大きな正の位相シフトを有することはできない。
【０１００】
図１２〜１５について要約すると、書き込みタイミング窓の第１及び第２のタイミング境界が、書き込みクロック信号１５０に対するデータ信号１３００の位相シフトに関して定義されたことになる。ある実施形態においては、書き込みクロック信号１５０に対するデータ信号１３００の元の位相位置から、書き込みタイミング窓は第１及び第２のタイミング境界によって境界される。ある実施形態においては、第１のタイミング境界は、メモリデバイス４２０による適切なデータ回復を伴う元の位相位置からのデータ信号１３００の最小の正の位相シフトとして定義される。また、第２のタイミング境界は、本発明の実施形態に従い、メモリデバイス４２０による適切なデータ回復を伴う元の位相位置からのデータ信号１３００の最大の正の位相シフトとして定義される。
【０１０１】
上述の説明に基づいて、ある実施形態においては、書き込みタイミング窓の第１及び第２の境界を決定するために、書き込みクロック信号１５０が用いられてもよい。図１６及び１７の以下の説明は、本発明の実施形態に従い書き込みタイミング窓の第１及び第２の境界を決定するに際して、フローチャート１２００及び１４００のステップとそれぞれ同様のステップがどのようにして書き込みクロック信号１５０に適用され得るのかの説明を容易にするために用いられることになる。
【０１０２】
図１６は、本発明の実施形態に従い書き込みクロック信号１５０に基づいて書き込みタイミング窓の第１のタイミング境界を決定するために図１２のフローチャート１２００におけるステップと同様のステップがどのようにして用いられ得るのかの説明を容易にするために用いられることになる例示的な書き込みタイミング図１６００を示す図である。タイミング図１６００を参照すると、タイミング図I及びIIはそれぞれデータ信号１３００及び書き込みクロック信号１５０を表している。ここで、書き込みクロック信号１５０はデータ信号１３００をサンプリングするのに十分な時間を有していない（例えばメモリデバイス４２０がデータ信号１３００をラッチするのに不十分な時間）ので、図３に関して上述したデータ信号１３００とクロック信号１５０の間のタイミング関係と同様に、メモリデバイス４２０は、データ信号１３００からデータを適切には回復しない。図１６のタイミング図IIIは、書き込みクロック信号１５０の位相シフトされた表現であり、そして以下に更に詳細に説明されることになる。
【０１０３】
図１２のステップ１２１０と同様に、処理ユニット４１０は、書き込みクロック信号１５０に正の漸増的位相シフトを導入する。次いで、ステップ１２２０〜１２４０の伝送、受信及び比較のステップが、正の位相シフトされた書き込みクロック信号１５０に適用され得る。
【０１０４】
図１６のタイミング図II及びIIIを参照すると、タイミング図II及びIIIにおける標識１６１０は、書き込みクロック信号１５０における正の漸増的位相シフトを示すための書き込みクロック信号１５０上での基準点を表している。また、標識１６３０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件を示しており、ここでは、正の位相シフトの追加的な漸増が書き込みクロック信号１５０に導入された場合（図１６のタイミング図IIIにおいて）に、書き込みクロック信号１５０は、データ信号１３００をサンプリングするのに十分な時間を有することになる（例えばメモリデバイス４２０がデータ信号１３００をラッチするのに十分な時間）。
【０１０５】
図１６のタイミング図１６００を参照すると、時間周期１６２０は、本発明の実施形態に従う書き込みタイミング窓の第１のタイミング境界を表している。特に、時間周期１６２０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件であり、ここにおいては、書き込みクロック信号１５０は、位相シフトにおける追加的な正の漸増を有することができ、そしてメモリデバイス４２０はデータ信号１３００を適切に回復することができる。ある実施形態においては、データ信号１３００に対する書き込みクロック信号１５０の元の位相位置（例えば図１６のタイミング図IIにおける標識１６１０）を参照すると、書き込みクロック信号１５０は、メモリデバイス４２０がデータ信号１３００を適切に回復するために、時間周期１６２０の少なくとも正の位相シフトを有することが必要とされる。
【０１０６】
図１７は、本発明の実施形態に従い書き込みクロック信号１５０に基づいて書き込みタイミング窓の第２のタイミング境界を決定するために図１４のフローチャート１４００におけるステップと同様のステップがどのようにして用いられ得るのかの説明を容易にするために用いられることになる例示的な書き込みタイミング図１７００を示す図である。タイミング図１７００を参照すると、タイミング図I及びIIはそれぞれデータ信号１３００及び書き込みクロック信号１５０を表している。ここで、書き込みクロック信号１５０はデータ信号１３００をサンプリングするのに十分な時間を有していない（例えばメモリデバイス４２０がデータ信号１３００をラッチするのに不十分な時間）ので、図３に関して上述したデータ信号１３００とクロック信号１５０の間のタイミング関係と同様に、メモリデバイス４２０は、データ信号１３００からデータを適切には回復することができない。図１７のタイミング図IIIは、書き込みクロック信号１５０の位相シフトされた表現であり、そして以下に更に詳細に説明されることになる。
【０１０７】
ある実施形態においては、フローチャート１４００と同様に、書き込みタイミング図１７００のための開始点は、図１６のタイミング図１６００に関して上述した第１の書き込みタイミング境界に対応するデータ信号１３００の正の位相シフトからである。
【０１０８】
図１４のステップ１４１０と同様に、処理ユニット４１０は、書き込みクロック信号１５０に正の漸増的位相シフトを導入する。次いで、ステップ１４２０〜１４４０の伝送、受信及び比較のステップが、正の位相シフトされた書き込みクロック信号１５０に適用され得る。
【０１０９】
図１７のタイミング図II及びIIIを参照すると、タイミング図II及びIIIにおける標識１６１０は、書き込みクロック信号１５０における正の漸増的位相シフトを示すための書き込みクロック信号１５０上での基準点を表している。また、標識１７３０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件を示しており、ここでは、正の位相シフトの追加的な漸増が書き込みクロック信号１５０に導入された場合（図１７のタイミング図IIIにおいて）に、書き込みクロック信号１５０は、データ信号１３００をサンプリングするのに十分な時間を有しないことになる（例えばメモリデバイス４２０がデータ信号１３００をラッチするのに不十分な時間）。
【０１１０】
図１７のタイミング図１７００を参照すると、時間周期１７２０は、本発明の実施形態に従う書き込みタイミング窓の第２のタイミング境界を表している。特に、時間周期１７２０はデータ信号１３００と書き込みクロック信号１５０の間での相対的な位相シフトに対する境界条件であり、ここにおいては、書き込みクロック信号１５０は、メモリデバイス４２０による不適切なデータ回復の危険性を伴わずに位相シフトにおける追加的な正の漸増を有することはできない。ある実施形態においては、データ信号１３００に対する書き込みクロック信号１５０の元の位相位置（例えば図１７のタイミング図IIにおける標識１６１０）を参照すると、書き込みクロック信号１５０は、メモリデバイス４２０による不適切なデータ回復の危険性を伴わずに時間周期１７２０よりも大きな正の位相シフトを有することはできない。
【０１１１】
図１６及び１７について要約すると、書き込みタイミング窓の第１及び第２のタイミング境界が、データ信号１３００に対する書き込みクロック信号１５０の位相シフトに関して定義されたことになる。ある実施形態においては、データ信号１３００に対する書き込みクロック信号１５０の元の位相位置から、書き込みタイミング窓は第１及び第２のタイミング境界によって境界される。ある実施形態においては、第１のタイミング境界は、メモリデバイス４２０による適切なデータ回復を伴う元の位相位置からの書き込みクロック信号１５０の最小の正の位相シフトとして定義される。また、第２のタイミング境界は、本発明の実施形態に従い、メモリデバイス４２０による適切なデータ回復を伴う元の位相位置からの書き込みクロック信号１５０の最大の正の位相シフトとして定義される。
【０１１２】
図１２〜１７に関する上述した説明は、第１及び第２の結果が互いに一致しない場合に書き込みタイミング窓の第１及び第２の境界を決定するに際しての技術についてなされている。上述した実施形態においては、データ信号１３００又は書き込みクロック信号１５０のいずれかが、これら２つの信号の間での相対的な位相アライメントがメモリデバイス４２０による適切なデータ回復を可能にするように、正の漸増的位相シフトによって調節される。ここでの説明に基づき、当業者であれば、データ信号１３００及び書き込みクロック信号１５０の各々が、書き込みタイミング窓を決定するため及びこれら２つの信号の間での適切な位相アライメントを達成するために、負の漸増的位相シフトによって調節され得ることを認識するはずである。また、ここでの説明に基づき、当業者であれば、データ信号１３００及び書き込みクロック信号１５０の両方が、これら２つの信号の間での相対的な位相アライメントがメモリデバイス４２０による適切なデータ回復を可能にするように、例えば正及び負の漸増的位相シフトの適切な組み合わせで調節され得ることを認識するはずである。
【０１１３】
図５のステップ５２０に関する書き込みタイミング窓の決定の上述した説明は、メモリデバイス４２０の資源（例えばデータバス１３０７〜１３００、Ａ／Ｃバス１４０１５〜１４００及び書き込みクロック信号１５０）が読み出し及び／又は書き込みモードの動作のために用いられている最中でないことを前提としている。しかし、ここでの説明に基づいて、関連分野を含めた当業者であれば、書き込みタイミング窓の決定がコンピュータシステム４００の書き込みモードの動作の間にもなされ得ることを認識するはずである。
【０１１４】
ある実施形態においては、書き込みモードの動作の間、メモリデバイス４２０へ書き込まれるデータが、書き込みタイミング窓を決定するために用いられ得る。本発明の実施形態に従い、書き込みデータ（例えば第１のデータパターン）が図５のステップ５２０に関して上述したように位相調節され得る結果、書き込みタイミング窓の第１及び第２の境界が決定され得る。書き込みデータを位相調節して書き込みタイミング窓を決定するに際して、データ信号１３０７〜１３００をサンプリングするのに十分な時間をメモリデバイス４２０が有していないことに起因して、書き込み誤りがコンピュータシステム４００において生じることがある。従って、書き込みデータを用いて書き込みタイミング窓を決定する場合、関連分野を含めた当業者であれば、特定の数の書き込み誤りがコンピュータシステム４００に著しく影響し得る（例えばディスプレイモニタ上のグラフィクスがつっかえることがある）スレッショルド条件がコンピュータシステム４００において存在することを認識するはずである。この状況に鑑み、コンピュータシステム４００の性能が影響を受けないように、ＥＤＣモードの動作における位相調節の繰り返し数を小さくすることが望ましいであろう。読み出し／書き込み動作の回数は、コンピュータシステム４００の性能に基づいて予め定められた値であってよく、ここで予め定められた値は、本発明の実施形態に従い、システム性能に影響を与えない。ある実施形態においては、読み出し／書き込み動作の回数は、基準点からの適切なタイミング窓を確保する予め定められた値（例えばＥＤＣデータパターンの元のタイミング位置からの「（＋）」及び「（−）」の両方向における漸増的位相シフトの予め定められた回数）に基づいていてよい。
【０１１５】
ある実施形態においては、書き込みタイミング窓の境界は、予め定められた数の書き込み誤りを生じさせる、データバス１３０７〜１３００と書き込みクロック信号１５０の間の相対的な位相差（ここでは「プログラム可能スレッショルド値」とも称される）によって定義され得る。即ち、処理ユニット４１０とメモリデバイス４２０の間で繰り返された書き込み動作の結果として予め定められた数の誤ったチェックサム値が生じる場合に、データバス１３０７〜１３００上のデータ信号と書き込みクロック信号１５０との間の相対的な位相差が書き込みタイミング窓の境界として定義される。
【０１１６】
例えば、データバス１３０７〜１３００上のデータ信号と書き込みクロック信号１５０との間のある相対的な位相差で、処理ユニット４１０からメモリデバイス４２０に伝送される特定のデータパターンに対して、書き込み誤り（例えば誤ったチェックサム値）が生じ得る。別の書き込み誤りが生じるかどうかを検証するために、同じデータパターンが処理ユニット４１０からメモリデバイス４２０に伝送され得る。別の書き込み誤りが生じる場合、同じデータパターンをメモリデバイス４２０に伝送すると共にチェックサム値を検証するこの処理は、繰り返されてよい。この繰り返し処理の後に予め定められた数の書き込み誤りが生じていた場合（例えばプログラム可能スレッショルド値に到達していた場合）には、データバス１３０７〜１３００上のデータ信号と書き込みクロック信号１５０との間の相対的な位相差が、書き込みタイミング窓の境界として定義され得る。ある実施形態においては、書き込み誤りの予め定められた数（例えばプログラム可能スレッショルド値）は、コンピュータシステム４００の性能に基づき得るし、ここで予め定められた値はシステム性能に影響を及ぼさない（例えばディスプレイモニタ上のグラフィクスがつっかえない）。
【０１１７】
図５の方法５００を参照すると、ステップ５３０において、処理ユニット４１０は、ステップ５２０で決定された書き込みタイミング窓に基づいて、データバス１３０７〜１３００上のデータ信号と書き込みクロック信号１５０との間の位相差を調節する。上述したように、ステップ５２０に関して、書き込みタイミング窓は時間周期を参照し、この時間周期において、データバス１３０７〜１３００上のデータ信号、書き込みクロック信号１５０、又はデータバス１３０７〜１３００上のデータ信号及び書き込みクロック信号１５０の両方が互いに位相調節され得ることによって、メモリデバイス４２０はデータバス１３０７〜１３００上のデータ信号を適切に回復することができる。
【０１１８】
図４を参照すると、第１のデータパターンに対する書き込みタイミング窓に基づいて、制御器４５０は、本発明の実施形態に従い、データバス１３０７〜１３００上のデータ信号及び書き込みクロック信号１５０の伝送における位相遅延を、位相遅延回路４３０及び４４０を介して調節することができる。ある実施形態においては、データバス１３０７〜１３００上のデータ信号と書き込みクロック信号１５０との間の相対的な位相差が書き込みタイミング窓内であるように、データバス１３０７〜１３００上のデータ信号の伝送を調節することができ、書き込みクロック信号１５０の伝送を調節することができ、あるいはデータバス１３０７〜１３００上のデータ信号及び書き込みクロック信号１５０の両方の伝送を調節することができる。
【０１１９】
本発明の実施形態に従い、データバス１３０７〜１３００上のデータ信号と書き込みクロック信号１５０との間の相対的な位相差がステップ５３０で調節された後、処理ユニット４１０は、相対的な位相差設定に基づいて、メモリデバイス４２０上での書き込み動作を行う。ある実施形態においては、メモリデバイス４２０の書き込みタイミングを調節する方法５００のステップは、コンピュータシステム４００の要求に応じて周期的ベースで又は「必要に応じて」ベースで行われてよい。
【０１２０】
本発明の種々の態様がソフトウエア、ファームウエア、ハードウエア、又はそれらの組み合わせにおいて実装されてよい。図１８は例示的なコンピュータシステム１８００を示す図であり、システム１８００においては、本発明の実施形態又はその部分がコンピュータ可読コードとして実装され得る。例えば、図５のフローチャート５００によって示される方法がシステム１８００内に実装され得る。本発明の種々の実施形態が、この例示的なコンピュータシステム１８００に関して説明される。この明細書を読んだ後に、他のコンピュータシステム及び／又はコンピュータアーキテクチャを用いて本発明の実施形態をどのように実装するかは、関連分野を含めた当業者に明らかなはずである。
【０１２１】
尚、この発明の種々の実施形態のシミュレーション、合成及び／又は製造は、部分的には、一般的なプログラミング言語（例えばＣ又はＣ＋＋）、例えばベリログＨＤＬ(Verilog HDL)、ＶＨＤＬ、アルテラＨＤＬ(Altera HDL)（ＡＨＤＬ）等のハードウエア記述言語（ＨＤＬ）、若しくは他の利用可能なプログラミングを含むコンピュータ可読コード、及び／又は回路等キャプチュアツール（例えば回路キャプチュアツール）の使用を通して達成され得る。このコンピュータ可読コードは、半導体、磁気ディスク、光学ディスク（例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ）を含むあらゆる既知のコンピュータ使用可能媒体内に配置され得る。従って、コードは、インターネットを含む通信ネットワークを介して伝送され得る。上述したシステム及び技術により達成される機能及び／又は提供される構造は、プログラムコードにおいて具現化されるコア（例えばＧＰＵコア）内に表現することができ、また集積回路の生産の一部としてハードウエアに変換され得ることが理解される。
【０１２２】
コンピュータシステム１８００は１つ以上のプロセッサ、例えばプロセッサ１８０４を含む。プロセッサ１８０４は特定用途のあるいは汎用のプロセッサ（例えばＧＰＵ）であってよい。プロセッサ１８０４は通信基盤(communication infrastructure)１８０６（例えばバス又はネットワーク）に接続される。
【０１２３】
コンピュータシステム１８００はまた、主メモリ１８０８、望ましくはランダムアクセスメモリ（ＲＡＭ）を含み、そして補助メモリ１８１０を含んでいてもよい。補助メモリ１８１０は例えば、ハードディスクドライブ１８１２、リムーバブル記憶ドライブ１８１４、及び／又はメモリスティックを含み得る。リムーバブル記憶ドライブ１８１４はフロッピー（登録商標）ディスクドライブ、磁気テープドライブ、光学ディスクドライブ、フラッシュメモリ等を含み得る。リムーバブル記憶ドライブ１８１４は周知の方法によりリムーバブル記憶ユニット１８１８から読み出し及び／又はリムーバブル記憶ユニット１８１８へ書き込みする。リムーバブル記憶ユニット１８１８はフロッピー（登録商標）ディスク、磁気テープ、光学ディスク等を備えていてよく、リムーバブル記憶ドライブ１８１４によって読み出され且つ書き込まれる。関連分野を含めた当業者に理解されるであろうように、リムーバブル記憶ユニット１８１８はコンピュータソフトウエア及び／又はデータが既に記憶されたコンピュータ使用可能記憶媒体を含む。
【０１２４】
代替的な実装においては、補助メモリ１８１０は、コンピュータプログラム又は他の命令がコンピュータシステム１８００にロードされることを可能にする他の同様のデバイスを含むことができる。そのようなデバイスは例えばリムーバブル記憶ユニット１８２２及びインタフェース１８２０を含み得る。そのようなデバイスの例は、プログラムカートリッジ及びカートリッジインタフェース（ビデオゲームデバイスにおいて見られるようなもの）、リムーバブルメモリチップ（例えばＥＰＲＯＭ又はＰＲＯＭ）及び関連するソケット、並びにソフトウエア及びデータをリムーバブル記憶ユニット１８２２からコンピュータシステム１８００へ転送することを可能にする他のリムーバブル記憶ユニット１８２２及びインタフェース１８２０を含み得る。
【０１２５】
コンピュータシステム１８００はまた通信インタフェース１８２４を含むことができる。通信インタフェース１８２４はソフトウエア及びデータがコンピュータシステム１８００と外部デバイスの間で転送されることを可能にする。通信インタフェース１８２４はモデム、ネットワークインタフェース（例えばイーサネット（登録商標）カード）、通信ポート、ＰＣＭＣＩＡスロット及びカード等を含み得る。通信インタフェース１８２４を介して転送されるソフトウエア及びデータは、電子的、電磁気的、光学的であってよい信号、又は通信インタフェース１８２４によって受信されることが可能な他の信号の形態にある。これらの信号は通信パス１８２６を介して通信インタフェース１８２４へ供給される。通信パス１８２６は信号を伝え、ワイヤ若しくはケーブル、光ファイバ、電話線、携帯電話リンク、ＲＦリンク又は他の通信チャネルを用いて実装され得る。
【０１２６】
この文書では、「コンピュータプログラム媒体」及び「コンピュータ使用可能媒体」という用語は、リムーバブル記憶ユニット１８１８、リムーバブル記憶ユニット１８２２、及びハードディスクドライブ１８１２に組み込まれるハードディスクを一般的には参照して用いられる。コンピュータプログラム媒体及びコンピュータ使用可能媒体はまた、主メモリ１８０８及び補助メモリ１８１０等のメモリ半導体（例えばＤＲＡＭ等）であり得るメモリを参照してよい。これらのコンピュータプログラム製品はコンピュータシステム１８００にソフトウエアを提供する。
【０１２７】
コンピュータプログラム（コンピュータ制御論理とも称される）は主メモリ１８０８及び／又は補助メモリ１８１０内に記憶される。コンピュータプログラムはまた、通信インタフェース１８２４を介して受信されてもよい。そのようなコンピュータプログラムは、実行されるときに、ここで論じられる本発明の実施形態をコンピュータシステム１８００が実装することを可能にする。特に、コンピュータプログラムは、実行されるときに、上述した図５のフローチャート５００によって示される方法におけるステップのような本発明の実施形態のプロセスをプロセッサ１８０４が実装することを可能にする。従って、そのようなコンピュータプログラムはコンピュータシステム１８００の制御器を代表する。ソフトウエアを用いて本発明の実施形態が実装される場合、ソフトウエアは、コンピュータプログラム製品内に記憶され得ると共に、リムーバブル記憶ドライブ１８１４、インタフェース１８２０、ハードドライブ１８１２、又は通信インタフェース１８２４を用いてコンピュータシステム１８００内にロードされ得る。
【０１２８】
本発明の実施形態はまた、任意のコンピュータ使用可能媒体上に記憶されるソフトウエアを含むコンピュータプログラム製品に向けられている。そのようなソフトウエアは、１つ以上のデータ処理デバイス内で実行されるときに、単一又は複数のデータ処理デバイスをここで説明されているように動作させる。本発明の実施形態は、現在知られている又は将来知られることになる任意のコンピュータ使用可能又はコンピュータ可読の媒体を採用する。コンピュータ使用可能媒体の例は、限定はされないが、主記憶デバイス（例えば任意の種類のランダムアクセスメモリ）、補助記憶デバイス（例えばハードドライブ、フロッピー（登録商標）ディスク、ＣＤ＿ＲＯＭ、ＺＩＰディスク、テープ、磁気記憶デバイス、光学記憶デバイス、ＭＥＭＳ、ナノテクノロジー記憶デバイス等）、及び通信媒体（例えば有線及び無線通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、イントラネット等）を含む。
【０１２９】
本発明の種々の実施形態が上に説明されてきたが、それらは例示のみを目的として提示されたものであり、限定を目的とはしていないことが理解されるべきである。添付の特許請求の範囲において画定されるような本発明の精神及び範囲から逸脱することなしに、形態及び詳細における種々の変更がここになされ得ることが関連分野を含めた当業者によって理解されるはずである。本発明はこれらの例示に限定されないことが理解されるべきである。本発明はここに説明されるように動作する任意の要素に適用可能である。従って、本発明の広さ及び範囲は上述のいかなる例示的実施形態によっても限定されるべきではなく、後述の特許請求の範囲及びそれらの均等なものに従ってのみ画定されるべきである。
【図１】
2013504817.tif 000003
【図２】
2013504817.tif 000004
【図３】
2013504817.tif 000005
【図４】
2013504817.tif 000006
【図５】
2013504817.tif 000007
【図６】
2013504817.tif 000008
【図７】
2013504817.tif 000009
【図８】
2013504817.tif 000010
【図９】
2013504817.tif 000011
【図１０】
2013504817.tif 000012
【図１１】
2013504817.tif 000013
【図１２】
2013504817.tif 000014
【図１３】
2013504817.tif 000015
【図１４】
2013504817.tif 000016
【図１５】
2013504817.tif 000017
【図１６】
2013504817.tif 000018
【図１７】
2013504817.tif 000019
【図１８】
2013504817.tif 000020
【国際調査報告】
2013504817.tif 000021
2013504817.tif 000022