(57)【要約】  Ｉ／Ｏインターフェース信号のためのスイング電圧を調整するための技法について、本明細書で説明する。一実施形態では、デバイス（２０１）が、入力／出力（Ｉ／Ｏ）インターフェース（２１０）とＩ／Ｏ電圧コントローラ（２０５）とを備える。Ｉ／Ｏ電圧コントローラ（２０５）は、Ｉ／Ｏインターフェース（２１０）の周波数または温度を決定し、決定された周波数または温度に少なくとも部分的に基づいてＩ／Ｏインターフェースのスイング電圧を調整するように構成される。
2017525284.tif 000002
【特許請求の範囲】
【請求項１】
入力／出力（Ｉ／Ｏ）インターフェースと、
前記Ｉ／Ｏインターフェースの周波数または温度を決定し、前記Ｉ／Ｏインターフェースの前記決定された周波数または温度に少なくとも部分的に基づいて前記Ｉ／Ｏインターフェースのスイング電圧を調整するように構成された、Ｉ／Ｏ電圧コントローラと
を備える、デバイス。
【請求項２】
前記Ｉ／Ｏインターフェースが、前記スイング電圧調整中にデータトラフィックを停止させ、前記スイング電圧調整の後、前記データトラフィックを再開するように構成された、請求項１に記載のデバイス。
【請求項３】
前記Ｉ／Ｏ電圧コントローラが、前記決定された周波数または温度に対応する電圧マージンを取得し、前記電圧マージンに基づいて前記Ｉ／Ｏインターフェースの前記スイング電圧を調整するように構成された、請求項１に記載のデバイス。
【請求項４】
ルックアップテーブルを記憶するメモリをさらに備え、ここにおいて、前記ルックアップテーブルが複数の電圧マージンを備え、前記電圧マージンの各々が、異なる温度−周波数ペアに対応し、ここにおいて、前記Ｉ／Ｏ電圧コントローラが、前記ルックアップテーブルから前記電圧マージンを取得するように構成された、請求項３に記載のデバイス。
【請求項５】
前記電圧マージンは、前記Ｉ／Ｏインターフェースの前記スイング電圧が所定のスイング電圧よりも小さい量を表す、請求項３に記載のデバイス。
【請求項６】
前記Ｉ／Ｏインターフェースの前記温度を検知し、前記検知された温度に基づいて温度示度を生成するように構成された温度センサーをさらに備え、ここにおいて、前記Ｉ／Ｏ電圧コントローラが、前記温度示度に基づいて前記Ｉ／Ｏインターフェースの前記温度を検出するように構成された、請求項１に記載のデバイス。
【請求項７】
前記Ｉ／Ｏインターフェースが、電源から電源電圧を受信し、前記Ｉ／Ｏ電圧コントローラが、前記Ｉ／Ｏインターフェースの前記スイング電圧に少なくとも部分的に基づいて前記電源の前記電源電圧を調整するように構成された、請求項１に記載のデバイス。
【請求項８】
前記Ｉ／Ｏインターフェースが、信号経路を介して第２のデバイスに信号を送信するように構成された、請求項１に記載のデバイス。
【請求項９】
前記デバイスと前記第２のデバイスとが、別個のチップ上にある、請求項８に記載のデバイス。
【請求項１０】
スイング電圧決定のための方法であって、
所定の量だけ送信機におけるスイング電圧を低減することと、
信号経路を介して前記低減されたスイング電圧において前記送信機から受信機に信号を送信することと、
前記信号が前記受信機によって正常に受信されたかどうかを決定することと、
前記信号が正常に受信されたかどうかの前記決定に少なくとも部分的に基づいて、前記送信機のためのスイング電圧を決定することと
を備える、方法。
【請求項１１】
前記信号経路が、ボード上の１つまたは複数のトレース、１つまたは複数のパッケージ接続、あるいは１つまたは複数のボードコネクタを備える、請求項１０に記載の方法。
【請求項１２】
前記決定されたスイング電圧が、前記信号経路のインピーダンス、前記信号経路の周波数応答、または前記信号経路の次元を考慮する、請求項１１に記載の方法。
【請求項１３】
前記送信機と前記受信機とが、別個のチップ上にある、請求項１１に記載の方法。
【請求項１４】
前記信号がデータパターンを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データパターンを、前記受信機における前記データパターンのコピーに対して比較することを備える、請求項１０に記載の方法。
【請求項１５】
前記信号がデータパターンを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データパターンを、前記送信機によって送信された前記データパターンに対して比較することを備える、請求項１０に記載の方法。
【請求項１６】
前記信号がデータ部分と誤り検出部分とを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データ部分から、誤り検出部分を計算することと、前記計算された誤り検出部分を、前記受信機によって受信された前記誤り検出部分と比較することとを備える、請求項１０に記載の方法。
【請求項１７】
前記信号が前記受信機によって正常に受信されなくなるまで、前記低減するステップと前記送信するステップとを繰り返すことをさらに備え、ここにおいて、前記送信機のための前記スイング電圧を決定することは、前記信号が前記受信機によって正常に受信される、前記低減されたスイング電圧のうちの１つに少なくとも部分的に基づく、請求項１０に記載の方法。
【請求項１８】
前記送信機のための前記スイング電圧を決定することは、前記信号が前記受信機によって正常に受信される、前記低減されたスイング電圧のうちの最も低い１つに少なくとも部分的に基づく、請求項１７に記載の方法。
【請求項１９】
前記信号が送信される周波数を決定することと、
前記決定されたスイング電圧に対応する電圧マージンをルックアップテーブルに記憶することと、をさらに備え、ここにおいて、前記電圧マージンが、前記ルックアップテーブル中の前記周波数に関連付けられる、
請求項１０に記載の方法。
【請求項２０】
前記信号が送信される温度を検出することと、
前記決定されたスイング電圧に対応する電圧マージンをルックアップテーブルに記憶することと、をさらに備え、ここにおいて、前記電圧マージンが、前記ルックアップテーブル中の前記温度に関連付けられる、
請求項１０に記載の方法。
【請求項２１】
入力／出力（Ｉ／Ｏ）インターフェースと、
前記Ｉ／Ｏインターフェースの周波数または温度を決定するための手段と、
前記Ｉ／Ｏインターフェースの前記決定された周波数または温度に少なくとも部分的に基づいて前記Ｉ／Ｏインターフェースのスイング電圧を調整するための手段と
を備える、デバイス。
【請求項２２】
前記スイング電圧調整中にデータトラフィックを停止させるための手段と、
前記スイング電圧調整の後、前記データトラフィックを再開するための手段と
をさらに備える、請求項２１に記載のデバイス。
【請求項２３】
前記決定された周波数または温度に対応する電圧マージンを取得するための手段と、
前記電圧マージンに基づいて前記Ｉ／Ｏインターフェースの前記スイング電圧を調整するための手段と
をさらに備える、請求項２１に記載のデバイス。
【請求項２４】
ルックアップテーブルを記憶するための手段をさらに備え、ここにおいて、前記ルックアップテーブルが複数の電圧マージンを備え、前記電圧マージンの各々が、異なる温度−周波数ペアに対応し、ここにおいて、前記電圧マージンを取得するための前記手段が、前記ルックアップテーブルから前記電圧マージンを取得するための手段を備える、請求項２３に記載のデバイス。
【請求項２５】
前記電圧マージンは、前記Ｉ／Ｏインターフェースの前記スイング電圧が所定のスイング電圧よりも小さい量を表す、請求項２３に記載のデバイス。
【請求項２６】
前記Ｉ／Ｏインターフェースの前記温度を検知するための手段と、
前記検知された温度に基づいて温度示度を生成するための手段と、
前記温度示度に基づいて前記Ｉ／Ｏインターフェースの前記温度を検出するための手段と
をさらに備える、請求項２１に記載のデバイス。
【請求項２７】
電源から電源電圧を受信するための手段と、
前記Ｉ／Ｏインターフェースの前記スイング電圧に少なくとも部分的に基づいて前記電源の前記電源電圧を調整するための手段と
をさらに備える、請求項２１に記載のデバイス。
【請求項２８】
前記Ｉ／Ｏインターフェースが、信号経路を介して第２のデバイスに信号を送信するための手段を備える、請求項２１に記載のデバイス。
【請求項２９】
前記デバイスと前記第２のデバイスとが、別個のチップ上にある、請求項２８に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示の態様は、一般にＩ／Ｏインターフェースに関し、より詳細には、Ｉ／Ｏインターフェースのためのスイング電圧を動的に調整するためのシステムおよび方法に関する。
【背景技術】
【０００２】
[0002]電子システムは、より多くの信号経路のうちの１つ（たとえば、１つまたは複数のボードトレース、ケーブルなど）を介して（via）互いと通信する第１のデバイスと第２のデバイスとを備え得る。この点について、各デバイスは、１つまたは複数の信号経路を介して（over）他方のデバイスに信号を送信し、他方のデバイスから信号を受信するための入力／出力（Ｉ／Ｏ）インターフェースを備え得る。たとえば、第１のデバイスは、システムオンチップ（ＳｏＣ）を備え得、第２のデバイスは、メモリデバイス（たとえば、ダイナミックランダムアクセスメモリ（ＤＲＡＭ））、周辺デバイス（たとえば、マウス）、モデム、または他のタイプのデバイスを備え得る。
【０００３】
[0003]電子システムでは、Ｉ／Ｏインターフェース電力が、システムの全体的電力消費の大きい要因（contributor）になり得る。インターフェース速度および性能要件が増加するにつれて、Ｉ／Ｏインターフェースにおいて観測される電力消費は著しく増加する。したがって、システムのバッテリー寿命を延長するために、特にバッテリー電源式システムのために、Ｉ／Ｏインターフェース電力を低減することが望ましい。
【発明の概要】
【０００４】
[0004]以下で、１つまたは複数の実施形態の基本的理解を与えるために、そのような実施形態の簡略化された概要を提示する。この概要は、すべての企図された実施形態の包括的な概観ではなく、すべての実施形態の主要または重要な要素を識別するものでも、いずれかまたはすべての実施形態の範囲を定めるものでもない。その唯一の目的は、後で提示されるより詳細な説明の導入として、１つまたは複数の実施形態のいくつかの概念を簡略化された形で提示することである。
【０００５】
[0005]一態様によれば、デバイスについて本明細書で説明する。本デバイスは、入力／出力（Ｉ／Ｏ）インターフェースとＩ／Ｏ電圧コントローラとを備える。Ｉ／Ｏ電圧コントローラは、Ｉ／Ｏインターフェースの周波数または温度を決定し、決定された周波数または温度に少なくとも部分的に基づいてＩ／Ｏインターフェースのスイング電圧を調整するように構成される。
【０００６】
[0006]第２の態様は、スイング電圧決定のための方法に関する。本方法は、所定の（predetermined）量だけ送信機におけるスイング電圧を低減することと、信号経路を介して低減されたスイング電圧において送信機から受信機に信号を送信することと、信号が受信機によって正常に（successfully）受信されたかどうかを決定することとを備える。本方法はまた、信号が正常に受信されたかどうかの決定に少なくとも部分的に基づいて、送信機のためのスイング電圧を決定することを備える。
【０００７】
[0007]第３の態様はデバイスに関する。本デバイスは、入力／出力（Ｉ／Ｏ）インターフェースと、Ｉ／Ｏインターフェースの周波数または温度を決定するための手段と、Ｉ／Ｏインターフェースの決定された周波数または温度に少なくとも部分的に基づいてＩ／Ｏインターフェースのスイング電圧を調整するための手段とを備える。
【０００８】
[0008]上記および関連する目的を達成するために、１つまたは複数の実施形態は、以下で十分に説明し、特に特許請求の範囲で指摘する特徴を備える。以下の説明および添付の図面に、１つまたは複数の実施形態のいくつかの例示的な態様を詳細に示す。ただし、これらの態様は、様々な実施形態の原理が採用され得る様々な方法のほんのいくつかを示すものであり、説明する実施形態は、すべてのそのような態様およびそれらの均等物を含むものとする。
【図面の簡単な説明】
【０００９】
【図１】[0009]第１のデバイスと第２のデバイスとを含む電子システムの一例を示す図。
【図２】[0010]本開示の一実施形態による、動的なスイング電圧調整を用いた電子システムの一例を示す図。
【図３】[0011]本開示の一実施形態による、例示的な電圧マージンルックアップテーブルを示す図。
【図４】[0012]本開示の一実施形態による、周波数変化に応答してＩ／Ｏインターフェースのスイング電圧を調整するための例示的なプロセスの流れ図。
【図５】[0013]本開示の一実施形態による、温度変化に応答してＩ／Ｏインターフェースのスイング電圧を調整するための例示的なプロセスの流れ図。
【図６】[0014]本開示の一実施形態による、スイング電圧を決定する例示的なプロセスの流れ図。
【発明を実施するための形態】
【００１０】
[0015]添付の図面に関して以下に記載する発明を実施するための形態は、様々な構成を説明するものであり、本明細書で説明する概念が実施され得る構成のみを表すものではない。発明を実施するための形態は、様々な概念の完全な理解を与えるための具体的な詳細を含む。ただし、これらの概念はこれらの具体的な詳細なしに実施され得ることが当業者には明らかであろう。いくつかの事例では、そのような概念を曖昧にするのを回避するために、よく知られている構造および構成要素をブロック図の形式で示す。
【００１１】
[0016]図１に、第１のデバイス１０１と第２のデバイス１０２とを含む電子システム１００の一例を示す。第１のデバイス１０１は第１のＩ／Ｏインターフェース１１０を含み、第２のデバイス１０２は第２のＩ／Ｏインターフェース１１１を含む。第１のＩ／Ｏインターフェース１１０および第２のＩ／Ｏインターフェース１１１は、１つまたは複数の物理的信号経路を介して第１のデバイス１０１と第２のデバイス１０２との間で信号（たとえば、データ信号、クロック信号など）を転送するように構成される。信号経路は、チャネルまたはレーンと呼ばれることもある。
【００１２】
[0017]図１に示されている例では、第１のＩ／Ｏインターフェース１１０は、第１の信号経路（たとえば、第１の差動伝送線路（line））１０４を介して第２のＩ／Ｏインターフェース１１１に信号（たとえば、差動データ信号）を送信し、第２のＩ／Ｏインターフェース１１１は、第２の信号経路（たとえば、第２の差動伝送線路）１０６を介して第１のＩ／Ｏインターフェース１１０に信号（たとえば、差動データ信号）を送信する。いくつかの態様では、第１のデバイス１０１と第２のデバイス１０２との間の制御シグナリングが、制御経路１０５を介して搬送される。信号経路１０４および１０６は、図１中の例では差動線路として示されているが、本開示の実施形態がデバイス間の差動信号の送信に限定されないことを諒解されたい。たとえば、本開示の実施形態は、シングルエンド信号、アンサンブルエンド（ensemble-ended）（３結合またはより高次の）信号などに適用され得る。
【００１３】
[0018]第１の信号経路１０４および第２の信号経路１０６の各々は、ツイストワイヤペア、同軸ケーブルまたは別のタイプのケーブルにおける導体、ボード（たとえば、プリント回路板（ＰＣＢ））上のトレース、パッケージコネクタ、ボードコネクタ、あるいはそれらの任意の組合せを備え得る。たとえば、第１のデバイス１０１はシステムオンチップ（ＳｏＣ）を備え得、第２のデバイス１０２は外部メモリデバイス（たとえば、ダブルデータレート同期ＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ））を備え得る。この例では、ＳｏＣとメモリデバイスとは、共通のボード（たとえば、ＰＣＢ）上に取り付けられた（mounted）別個の（separate）チップ上にあり得、そこにおいて、第１の信号経路１０４および第２の信号経路１０６はボード上のトレースを備える。別の例では、第１のデバイス１０１はＳｏＣを備え得、第２のデバイス１０２は、周辺デバイス（たとえば、マウス、サムドライブ（thumb drive）、モニタなど）を備え得る。この例では、ＳｏＣはボード上に取り付けられたチップ上にあり得、そこにおいて、第１の信号経路１０４および第２の信号経路１０６は、ボード上のトレースと、ケーブルと、ケーブルをボードに接続する１つまたは複数のボードコネクタとを備える。
【００１４】
[0019]第１のデバイス１０１および第２のデバイス１０２は、限定はしないが、周辺構成要素相互接続エクスプレス（ＰＣＩｅ）規格、ユニバーサルシリアルバス（ＵＳＢ）規格、ディスプレイシリアルインターフェース（ＤＳＩ）規格、カメラシリアルインターフェース（ＣＳＩ）規格、ハイスピードインターチップ（ＨＳＩＣ）規格などを含む、いくつかの異なる規格のうちのいずれか１つに従って、第１の信号経路１０４および第２の信号経路１０６を介して信号を転送し得る。
【００１５】
[0020]いくつかの態様では、第１のデバイス１０１と第２のデバイス１０２とは、異なるデータレートをサポートし得、デバイス間のデータレートは（たとえば、デバイスのうちの１つまたは複数の性能ニーズに基づいて）動的に調整され得る。たとえば、第１のデバイス１０１はＳｏＣを備え得、第２のデバイス１０２は外部メモリデバイス（たとえば、ＤＤＲ  ＳＤＲＡＭ）を備え得る。この例では、ＳｏＣは、ＳｏＣ上のメモリインターフェースを介してメモリデバイス（たとえば、ＤＤＲ  ＳＤＲＡＭ）にアクセスする１つまたは複数の回路（たとえば、中央処理ユニット（ＣＰＵ）、グラフィックス処理ユニット（ＧＰＵ）など）を備え得る。第１のＩ／Ｏインターフェース１１０は、メモリインターフェースの一部であり得る。メモリインターフェースを介してメモリデバイスにアクセスするＳｏＣ上の回路は、クライアントと呼ばれることがある。メモリインターフェースは、第１のＩ／Ｏインターフェース１１０を通るＳｏＣ上のクライアントとメモリデバイスとの間のデータのフローを管理する、メモリコントローラを含み得る。この例では、メモリコントローラは、クライアントの性能ニーズに基づいてＳｏＣとメモリデバイスとの間のデータレートを動的に調整し得る。
【００１６】
[0021]いくつかの態様では、データレートは、第１のデバイス１０１と第２のデバイス１０２との間で送られる信号（たとえば、データ信号）の周波数を調整することによって調整され得る（たとえば、周波数スケーリングとも呼ばれる）。第１のデバイス１０１がＳｏＣであり、第２のデバイス１０２が外部メモリデバイス（たとえば、ＤＤＲ  ＳＤＲＡＭ）である例では、信号周波数は、２００ＭＨｚ〜１６００ＭＨＺの周波数範囲内または別の周波数範囲内の複数の異なる周波数のうちのいずれか１つに調整され得る。Ｉ／Ｏインターフェース１１０および１１１による電力消費は、信号周波数が増加する（データレートが増加する）につれて、著しく増加する。この点において、Ｉ／Ｏインターフェース１１０および１１１による電力消費は、システムの全体的電力消費の大きい要因になる。
【００１７】
[0022]第１のＩ／Ｏインターフェース１１０が、第１の信号経路１０４を介して第２のＩ／Ｏインターフェース１１１に信号（たとえば、差動データ信号）を送信するとき、信号はスイング電圧を有し得る。スイング電圧は、信号の最大電圧と信号の最小電圧との間の差にほぼ等しくなり得る。同様に、第２のＩ／Ｏインターフェース１１１が、第２の信号経路１０６を介して第１のＩ／Ｏインターフェース１１０に信号を送信するとき、信号はスイング電圧を有し得る。他方のデバイスに信号を正常に送信するために各デバイスのＩ／Ｏインターフェースにおいて必要とされる最小スイング電圧は、多くのパラメータに依存し得る。
【００１８】
[0023]パラメータは、第１のデバイス１０１と第２のデバイス１０２との間の信号経路１０４および１０６の特性（たとえば、周波数応答、インピーダンス、次元（dimensions）など）を含み得る。信号経路１０４および１０６は、ボードトレース（たとえば、プリント回路板（ＰＣＢ）トレース）、チップパッケージ接続（たとえば、はんだバンプまたはボール）、ボードコネクタ、ケーブル、またはそれらの任意の組合せを含み得る。信号経路１０４および１０６の特性は、製造ばらつきにより（同じ設計を有するシステムについてさえ）システムごとに（from system to system）変動し（vary）得る。他のパラメータは、プロセスばらつきによりシステムごとに変動し得る、Ｉ／Ｏインターフェース１１０および１１１における電子的構成要素（たとえば、トランジスタ、抵抗器など）の特性（たとえば、しきい値電圧、次元など）を含み得る。したがって、最小の必要とされる信号スイング電圧は、システムごとに変動し得る。
【００１９】
[0024]追加のパラメータは、システムの動作中に動的に変化するパラメータを含み得る。これらのパラメータは、温度および信号周波数（たとえば、データ転送レート）を含み得る。したがって、最小の必要とされる信号スイング電圧は、システムの動作状態の変化により動的に変化し得る。
【００２０】
[0025]従来の手法では、信号スイング電圧は、最小の必要とされる信号スイング電圧に影響を及ぼすパラメータについてのワーストケースシナリオに基づく、所定の電圧において固定される。たとえば、信号スイング電圧は、ＤＤＲ信号の場合、１．１Ｖにおいて固定され得る。しかしながら、特定のシステムが、これらのパラメータのすべてについてワーストケースを経験することになるだろうという可能性は低い。その結果、システムの大部分では、信号スイング電圧は、デバイス間の信頼できる通信のために必要なものよりも高い、所定の電圧において固定され、電力浪費を生じる。
【００２１】
[0026]本開示の実施形態は、以下でさらに説明するように、Ｉ／Ｏインターフェースの信号スイング電圧を動的に調整することによって、Ｉ／Ｏ電力消費を低減する。
【００２２】
[0027]図２に、本開示の一実施形態による、電子システム２００の一例を示す。電子システム２００は、第１のデバイス２０１と、第２のデバイス２０２と、第１の信号経路（たとえば、第１の差動伝送線路）２０３と、第２の信号経路（たとえば、第２の差動伝送線路）２０４とを含む。第１のデバイス２０１は第１のＩ／Ｏインターフェース２１０を備え、第２のデバイス２０２は第２のＩ／Ｏインターフェース２１１を備える。第１のＩ／Ｏインターフェース２１０および第２のＩ／Ｏインターフェース２１１は、以下でさらに説明するように、信号経路２０３および２０４を介して第１のデバイス２０１と第２のデバイス２０２との間で信号（たとえば、データ信号、クロック信号など）を転送するように構成される。いくつかの態様では、第１のデバイス２０１と第２のデバイス２０２との間の制御シグナリングが、制御経路２０７を介して搬送される。
【００２３】
[0028]第１のＩ／Ｏインターフェース２１０は、第１の送信機２２０と第１の受信機２２１とを備え、第２のＩ／Ｏインターフェース２１１は、第２の送信機２３０と第２の受信機２３１とを備える。第１の送信機２２０は、第１の信号経路２０３を介して信号（たとえば、データ信号）を送信するように構成され、第２の受信機２３１は、第１の送信機２２０によって送信された信号を受信するように構成される。したがって、第１の送信機２２０および第２の受信機２３１は、第１の信号経路２０３を介した第１のデバイス２０１から第２のデバイス２０２への通信を容易にする。同様に、第２の送信機２３０は、第２の信号経路２０４を介して信号（たとえば、データ信号）を送信するように構成され、第１の受信機２２１は、第２の送信機２３０によって送信された信号を受信するように構成される。したがって、第２の送信機２３０および第１の受信機２２１は、第２の信号経路２０４を介した第２のデバイス２０２から第１のデバイス２０１への通信を可能にする。
【００２４】
[0029]第１のデバイス２０１がＳｏＣを備え、第２のデバイス２０２が外部メモリデバイス（たとえば、ＤＤＲ  ＳＤＲＡＭ）を備える例では、第１の送信機２２０は、第１の信号経路２０３を介してＳｏＣ上のクライアント（たとえば、ＣＰＵ）から外部メモリデバイスにデータを送信し得る。メモリデバイス上の第２の受信機２３１は、データを受信し、受信されたデータを、データをメモリに書き込むメモリ論理（logic）（図示せず）にフォワーディングする（forward）。第２の送信機２３０は、ＳｏＣからの読取りコマンドに応答してメモリデバイス中のメモリから読み取られたデータを受信し、信号経路２０４を介してＳｏＣにデータを送信し得る。ＳｏＣ上の第１の受信機２２１は、データを受信し、受信データをメモリコントローラ（図示せず）にフォワーディングし、それは、データを意図されたクライアント（たとえば、ＣＰＵ）にルーティングする。
【００２５】
[0030]第１のデバイス２０１は、第１のＩ／Ｏ電圧コントローラ２０５と、第１の温度センサー２１５とをも備える。第１のＩ／Ｏ電圧コントローラ２０５は、以下でさらに説明するように、第１の送信機２２０の出力スイング電圧を動的に調整するように構成される。第１の温度センサー２１５は、第１のＩ／Ｏインターフェース２１０の温度を検知し（sense）、検知された温度を第１のＩ／Ｏ電圧コントローラ２０５に報告するように構成される。この点について、第１の温度センサー２１５は、第１のＩ／Ｏインターフェース２１０の近くまたは内部に配置され（located）得る。第１のＩ／Ｏ電圧コントローラ２０５、第１のＩ／Ｏインターフェース２１０、および第１の温度センサー２１５は、同じチップ上に組み込まれ得る。
【００２６】
[0031]第２のデバイス２０２は、第２のＩ／Ｏ電圧コントローラ２０６と、第２の温度センサー２１６とをも備える。第２のＩ／Ｏ電圧コントローラ２０６は、以下でさらに説明するように、第２の送信機２３０の出力スイング電圧を動的に調整するように構成される。第２の温度センサー２１６は、第２のＩ／Ｏインターフェース２１１の温度を検知し、検知された温度を第２のＩ／Ｏ電圧コントローラ２０６に報告するように構成される。この点について、第２の温度センサー２１６は、第２のＩ／Ｏインターフェース２１１の近くまたは内部に配置され得る。第２のＩ／Ｏ電圧コントローラ２０６、第２のＩ／Ｏインターフェース２１１、および第２の温度センサー２１６は、同じチップ上に組み込まれ得る。
【００２７】
[0032]システム２００は電源２０８をも備え得る。電源２０８は、Ｉ／Ｏインターフェース２１０および２１１に電力供給する（powering）ためにＩ／Ｏインターフェース２１０および２１１に１つまたは複数の電源電圧を与え（provide）得る。いくつかの態様では、電源２０８は調整可能な電源であり得、１つまたは複数の電源電圧は、以下でさらに説明するように、第１のＩ／Ｏ電圧コントローラ２０５および／または第２のＩ／Ｏ電圧コントローラ２０６の制御下で調整され得る。
【００２８】
[0033]いくつかの態様では、第１のＩ／Ｏ電圧コントローラ２０５は、第１のＩ／Ｏインターフェース２１０の周波数および温度を決定するように構成され得る。第２のデバイス２０２がメモリデバイス（たとえば、ＤＤＲ  ＳＤＲＡＭ）である例では、第１のＩ／Ｏ電圧コントローラ２０５は、周波数を制御するメモリコントローラ（図示せず）から周波数（データレート）の指示（indication）を受信し得る。第１のＩ／Ｏ電圧コントローラ２０５は、第１の温度センサー２１５からの温度示度（temperature reading）に基づいて温度を決定し得る。
【００２９】
[0034]第１のＩ／Ｏ電圧コントローラ２０５は、次いで、決定された周波数および温度に対応する信号スイング電圧マージンを決定し得る。スイング電圧マージンは、仕様において定義されているスイング電圧からの送信機２２０のスイング電圧の低減を表し得、仕様において定義されている信号スイング電圧は、ワーストケースシナリオに基づき得る。たとえば、スイング電圧マージンが−２００ｍＶであり、仕様におけるスイング電圧が１．１Ｖである場合、送信機２２０のスイング電圧は、９００ｍＶに設定され得る。信号スイング電圧マージンは、以下で説明するように、第１デバイス２０１と第２のデバイス２０２との間で電圧マージン検知プロシージャを実行することによって、特定の周波数および温度について決定され得る。
【００３０】
[0035]一実施形態では、電圧マージン検知プロシージャは、（１）所定の量だけ送信機２２０のスイング電圧を低減することと、（２）第１の信号経路２０３を介して送信機２２０から第２のデバイス２０２の受信機２３１に所定のデータパターンを送信することと、（３）第２のデバイスによって受信された所定のデータパターンを、第２のデバイスにおける所定のデータパターンのローカルコピーと比較することとを備える。受信されたデータパターンが所定のデータパターンに一致しなくなるまで、ステップ（１）〜（３）は繰り返され得る。受信されたデータパターンが所定のデータパターンにもはや一致しないとき、電圧マージンは、パターンが一致した最も低いスイング電圧に基づいて決定され得る。
【００３１】
[0036]電圧マージン検知プロシージャは、各温度−周波数ペアについてスイング電圧マージンを取得するために、複数の異なる温度および周波数の各々１つにおいて実行され得る。スイング電圧マージンは、ルックアップテーブル３００に入力され（enter into）得、それの一例が図３に示されている。この例では、２５℃の温度および２００ＭＨｚの周波数において、スイング電圧マージンは−２００ｍＶであり、これは、スイング電圧が、仕様において定義されている信号スイング電圧よりも２００ｍＶ小さい値に設定され得ることを意味する。仕様におけるスイング電圧が１．１Ｖである場合、スイング電圧は９００ｍＶ（すなわち、１．１Ｖ−２００ｍＶ）である。このことは、第１の送信機２２０のスイング電圧が、仕様において定義されているスイング電圧において固定される（fixed at）、従来の手法と比較して、Ｉ／Ｏインターフェース２１０による電力消費の実質的な低減を生じる。ルックアップテーブルは、第１のデバイス２０１上の不揮発性メモリに記憶され得る。対応する電圧マージンの代わりに、決定されたスイング電圧がルックアップテーブルに入力され得ることを諒解されたい。したがって、本開示全体にわたって、スイング電圧（たとえば、９００ｍＶ）がルックアップテーブルにおいて使用され得ることを理解されたい。
【００３２】
[0037]次に、本開示の一実施形態による、ルックアップテーブル（たとえば、ルックアップテーブル３００）中の位置についてのスイング電圧マージンを決定するための方法について説明する。最初に、第１のＩ／Ｏ電圧コントローラ２０５は、第１の送信機２２０からの送信を、ルックアップテーブル中の周波数のうちの１つに一致する周波数に設定し得る。第１のＩ／Ｏ電圧コントローラ２０５はまた、第１の温度センサー２１５からの温度示度に基づいて、第１のＩ／Ｏインターフェース２１０の温度を決定し得る。
【００３３】
[0038]周波数が設定され、温度決定された後、第１のＩ／Ｏ電圧コントローラ２０５は、仕様におけるスイング電圧（たとえば、１．１Ｖ）から開始して、電圧ステップによって第１の送信機２２０のスイング電圧を漸進的（incrementally）に低減し得る。スイング電圧が低減されるたびに、送信機２２０は、第１の信号経路２０３を介して第２のデバイス２０２の受信機２３１に所定のデータパターンを送信し得る。スイング電圧のうちの１つにおいてパターンが第２のデバイス２０２によって受信されるたびに、パターンが第２のデバイス２０２によって正常に受信されたかどうか決定が行われ得る。この決定は、いくつかの異なる方法のうちのいずれか１つを使用して行われ得る。
【００３４】
[0039]たとえば、第２のデバイス２０２における第２のＩ／Ｏ電圧コントローラ２０６は、受信機２３１からパターンを受信し、受信されたパターンを所定のデータパターンのローカルコピーと比較し得る。受信されたパターンがパターンのローカルコピーに一致する場合、第２のＩ／Ｏ電圧コントローラ２０６は、パターンが正常に受信されたと決定し得、受信されたパターンがパターンのローカルコピーに一致しない場合、第２のＩ／Ｏ電圧コントローラ２０６は、パターンが正常に受信されなかったと決定し得る。第２のＩ／Ｏ電圧コントローラ２０６は、次いで、第１のＩ／Ｏ電圧コントローラ２０５に、パターンが正常に受信されたかどうかの指示を、送り得る。第２のＩ／Ｏ電圧コントローラ２０６は、第２のデバイス２０２の送信機２３０を使用して、第２の信号経路２０４を介して指示を送信し得る。送信機２３０は、指示が第１のデバイス２０１によって確実に（reliably）受信されることを保証するために、高いスイング電圧および／または低い周波数を使用して指示を第１のデバイス２０１に送信し得る。高いスイング電圧は、パターンが第１のデバイス２０１から送信されたスイング電圧よりも大きくなり得る。低い周波数は、パターンが第１のデバイス２０１から第２のデバイス２０２に送信された周波数よりも低くなり得る。
【００３５】
[0040]別の例では、第２のＩ／Ｏ電圧コントローラ２０６は、第２のデバイス２０２の送信機２３０を使用して、受信されたパターンを第２の信号経路２０４を介してもとの第１のデバイス２０２に送信し得る。送信機２３０は、高いスイング電圧および／または低い周波数を使用してパターンをもとの第１のデバイス２０１に送信し得る。高いスイング電圧は、パターンが第１のデバイス２０１から送信されたスイング電圧よりも大きくなり得る。低い周波数は、パターンが第１のデバイス２０１から第２のデバイス２０２に送信された周波数よりも低くなり得る。これは、第１のデバイス２０１が、パターンが第２のデバイス２０２によって受信されたようにパターンを正確に（accurately）受信することと、受信されたパターンと送信されたパターンとの間の不一致が、第１のデバイス２０１から第２のデバイス２０２への送信によるのものであることと、を保証する。受信されたパターンが送信されたパターンに一致する場合、第１のＩ／Ｏ電圧コントローラ２０５は、パターンが第２のデバイス２０２によって正常に受信されたと決定し得、受信されたパターンが送信されたパターンに一致しない場合、第１のＩ／Ｏ電圧コントローラ２０５は、パターンが第２のデバイス２０２によって正常に受信されなかったと決定し得る。
【００３６】
[0041]また別の例では、第１のデバイス２０１から第２のデバイス２０２に送信されるデータパターンは、誤り検出アルゴリズムを使用してデータ部分から計算される誤り検出部分（たとえば、パリティ検査ビット、巡回冗長検査ビットなど）とデータ部分とを備え得る。データパターンを受信すると、第２のＩ／Ｏ電圧コントローラ２０６は、受信されたデータ部分から誤り検出部分を再計算し、再計算された誤り検出部分を受信された誤り検出部分と比較し得る。再計算された誤り検出部分が受信された誤り検出部分に一致する場合、第２のＩ／Ｏ電圧コントローラ２０６は、パターンが正常に受信されたと決定し得、再計算された誤り検出部分が受信された誤り検出部分に一致しない場合、第２のＩ／Ｏ電圧コントローラ２０６は、パターンが正常に受信されなかったと決定し得る。第２のＩ／Ｏ電圧コントローラ２０６は、次いで、パターンが正常に受信されたかどうかの指示を第１のＩ／Ｏ電圧コントローラ２０５に送り得る。
【００３７】
[0042]所定のデータパターンを異なるスイング電圧において送信した後に、第１のＩ／Ｏ電圧コントローラ２０５は、パターンが第２のデバイス２０２によって正常に受信されたスイング電圧のうちの最も低い１つを決定し得る。第１のＩ／Ｏ電圧コントローラ２０５は、次いで、仕様におけるスイング電圧と最も低いスイング電圧との間の差に基づいてスイング電圧マージンを計算し、スイング電圧マージンをルックアップテーブル中の対応する位置に入力し得る。より控えめであるように（To be more conservative）、第１のＩ／Ｏ電圧コントローラ２０５は、電圧マージンを決定するために、パターンが正常に受信された２番目または３番目に低いスイング電圧を使用し得る。
【００３８】
[0043]いくつかの態様では、第１のＩ／Ｏ電圧コントローラ２０５は、スイング電圧マージンをルックアップテーブルに入力する前に、少量だけスイング電圧マージンを低減し得る。これは、スイング電圧マージンをより控えめ（conservative）にするために行われ得る。
【００３９】
[0044]温度センサー２１５からの温度がルックアップテーブル中の温度に一致しない場合、第１のＩ／Ｏ電圧コントローラ２０５は、ルックアップテーブル中の次に低い温度を決定し得る。たとえば、図３中のテーブル３００を使用すると、検知された温度が４８℃である場合、テーブル３００中の次に低い温度は４５℃である。この例では、第１のＩ／Ｏ電圧コントローラ２０５がスイング電圧マージンを決定した後に、第１のＩ／Ｏ電圧コントローラ２０５は、ルックアップテーブル中の設定された周波数と次に低い温度とに対応する位置（position）にスイング電圧マージンを入力し得る。電圧マージンは、所与の周波数について温度が増加するにつれて減少する傾向があるので、より高い温度において決定された電圧マージンは、より低い温度において機能する（work）はずである。
【００４０】
[0045]したがって、第１のＩ／Ｏ電圧コントローラ２０５は、周波数−温度ペアについての電圧マージンを決定することが可能であり、電圧マージンは、ワーストケースシナリオに基づく仕様において定義されているスイング電圧と比較して送信機２２０のスイング電圧の低減を表し得る。決定された電圧マージンは、第１の信号経路２０３を介した第１のデバイス２０１から第２のデバイス２０２への正常な送信のために必要とされるスイング電圧の量に影響を及ぼす、第１の信号経路２０３の静的パラメータを考慮に入れる。これは、電圧マージンが、第１の信号経路２０３を介した送信に基づいて決定されるからである。静的パラメータは、第１の信号経路２０３の周波数応答、インピーダンス、および／または次元を含み得る。第１の信号経路２０３は、ＰＣＢ上のトレース、チップパッケージ接続（たとえば、はんだバンプまたはボール）、ボードコネクタ、またはそれらの任意の組合せを含み得る。その結果、（ケースの大部分を表す）非ワーストケースの場合、決定された電圧マージンは、第１のＩ／Ｏ電圧コントローラ２０５が、第１のデバイス２０１と第２のデバイス２０２との間の信頼できる通信を維持しながら電力消費を低減するようにスイング電圧を低減することを可能にする。
【００４１】
[0046]いくつかの態様では、電圧マージンルックアップテーブルは製造業者によってポピュレートされ得、製造業者は、対応するスイング電圧マージンを得る（yield）ためにそれぞれの動作周波数のために、制御された温度を適用し得る。たとえば、製造業者は、（たとえば、温度制御されたチャンバを使用して）複数の異なる温度の各々１つまでＩ／Ｏインターフェース２１０を連続的に加熱し得る。各温度において、第１のＩ／Ｏ電圧コントローラ２０５は、１つまたは複数の異なる周波数における１つまたは複数のスイング電圧マージンを決定し、決定されたスイング電圧マージンをルックアップテーブルに入力し得る。いくつかの態様では、Ｉ／Ｏ電圧コントローラ２０５は、Ｉ／Ｏインターフェース２１０がアイドル状態（たとえば、データトラフィックなし）にあるとき、電圧マージンルックアップテーブルをポピュレートし得る。ルックアップテーブルは、製造業者によってと、アイドル時間中との両方で、スイング電圧マージンでポピュレートされ得ることを諒解されたい。
【００４２】
[0047]いくつかの態様では、ルックアップテーブルは最初に、図３に示されている（たとえば、２５℃の温度および２００ＭＨｚの周波数における）スイング電圧マージン３０１、（たとえば、１０５℃の温度および２００ＭＨｚの周波数における）スイング電圧マージン３０２、（たとえば、２５℃の温度および１６００ＭＨｚの周波数における）スイング電圧マージン３０３、（たとえば、１０５℃の温度および１６００ＭＨｚの周波数における）スイング電圧マージン３０４など、コーナーのケースでポピュレートされ得る。この点において、ルックアップテーブル３００中の残りの位置についての電圧マージンは、ルックアップテーブル３００中のすでにキャプチャされた電圧マージンから外挿（extrapolate）および／または補間され得る。いくつかの態様では、その後（subsequently）、上記で説明した実施形態のいずれかに従って（たとえば、アイドル状態中に）電圧マージン検知プロシージャを使用して、残りの位置のうちの１つについての電圧マージンが決定され得、決定された電圧マージンは、テーブル中の対応する外挿または補間された電圧マージンを置き換え得る。
【００４３】
[0048]動作中に、第１のＩ／Ｏ電圧コントローラ２０５は、上記で説明したように、周波数変化および／または温度変化を検知し得る。周波数変化および／または温度変化に応答して、第１のＩ／Ｏ電圧コントローラ２０５は、ルックアップテーブル（たとえば、ルックアップテーブル３００）から対応するスイング電圧マージンを取得し得る。第１のＩ／Ｏ電圧コントローラ２０５は、次いで、電圧マージンに基づいて送信機２２０の信号スイング電圧を調整し得る。たとえば、電圧マージンが−２００ｍＶである場合、第１のＩ／Ｏ電圧コントローラ２０５は、仕様において定義されている信号スイング電圧を２００ｍＶ下回る電圧に、信号スイング電圧を調整し得る。さらに、第１のＩ／Ｏ電圧コントローラ２０５は、電圧マージンに従って１つまたは複数の電源電圧を調整するために、制御信号を電源２０８に送り得る。たとえば、送信機２２０は、２つの電圧供給レール（voltage supply rail）間で電力供給され得、電圧コントローラは、電源２０８に、２つの供給レールにわたる電圧が所望のスイング電圧に対応するようにレールのうちの１つまたは複数の電源電圧を調整するように指令し得る。ルックアップテーブルがスイング電圧を含んでいる例では、第１のＩ／Ｏ電圧コントローラ２０５は、周波数変化および／または温度変化に対応するスイング電圧を取り出し、取り出されたスイング電圧に従って送信機２２０のスイング電圧を調整し得る。
【００４４】
[0049]いくつかの態様では、第１のＩ／Ｏ電圧コントローラ２０５は、信号スイング電圧を調整する前に、データトラフィックを停止させ（stall）得る（中断し得る）。データトラフィックが停止させられている間、第１のＩ／Ｏ電圧コントローラ２０５は、送信機２２０のスイング電圧を調整し得る。電圧調整の後に、第１のＩ／Ｏ電圧コントローラ２０５はデータトラフィックを再開し得る。これは、電圧調整がデータトラフィックをひずませないように行われ得る。データトラフィックは、第１のデバイス２０１の送信機２２０によって送信され、第２のデバイス２０２の受信機２３１によって受信され得る。図２では、第１のデバイス２０１における発信（outgoing）データトラフィックは、「データアウト」と示され、第２のデバイス２０２における受信データトラフィックは、「データイン」と示される。
【００４５】
[0050]いくつかの態様では、第１のＩ／Ｏ電圧コントローラ２０５は、事前に（すなわち、周波数変化が実装される前に）周波数変化を決定し得る。たとえば、周波数を制御するデバイス（たとえば、メモリコントローラ）が、周波数が新しい周波数に変更されることになるという指示を、第１のＩ／Ｏ電圧コントローラ２０５に送り得る。応答して、第１のＩ／Ｏ電圧コントローラ２０５は、ルックアップテーブル（たとえば、ルックアップテーブル３００）から新しい周波数および現在の温度に対応するスイング電圧マージンを取得し得る。第１のＩ／Ｏ電圧コントローラ２０５は、次いで、データトラフィックを停止させ得る（中断し得る）。データトラフィックが停止させられている間、第１のＩ／Ｏ電圧コントローラ２０５は、送信機２２０のスイング電圧を調整し得る。さらに、この時間中に、周波数は、新しい周波数に変更され、整定する（settle）ことを可能にされ得る。電圧調整および周波数変化の後に、第１のＩ／Ｏ電圧コントローラ２０５はデータトラフィックを再開し得る。代替的に、周波数を制御するデバイスは、周波数を変更するために、ある時間期間の間データトラフィックを停止させ得る。データトラフィックが停止させられている間、第１のＩ／Ｏ電圧コントローラ２０５はスイング電圧を調整し得る。
【００４６】
[0051]いくつかの態様では、第１のＩ／Ｏ電圧コントローラ２０５が、特定の周波数および検知された温度についてスイング電圧マージンを決定するためにルックアップテーブル（たとえば、ルックアップテーブル３００）を調べる（consult）とき、ルックアップテーブルは、検知された温度に一致するエントリを有しないことがある。この場合、第１のＩ／Ｏ電圧コントローラ２０５は、対応する周波数におけるエントリがある、ルックアップテーブル中の次に高い温度を決定し、次に高い温度に対応するスイング電圧マージンを選択し得る。たとえば、図３中のテーブル３００を使用すると、検知された温度が４０℃であり、周波数が２００ＭＨｚである場合、第１のＩ／Ｏ電圧コントローラ２０５は、テーブル３００中の４５℃の温度（次に高い温度）および２００ＭＨｚの周波数におけるスイング電圧マージン（たとえば−１８０ｍＶ）を選択し得る。（次に低い温度とは対照的に）次に高い温度についてのスイング電圧マージンを選択することは控えめな手法である。これは、スイング電圧マージンは、所与の周波数について温度が増加するにつれて減少する傾向があるからである。その結果、次に高い温度に対応するスイング電圧マージンは、検知された温度において十分なスイング電圧を与えるはずである。
【００４７】
[0052]いくつかの態様では、第１のＩ／Ｏ電圧コントローラ２０５が、第１の温度センサー２１５から温度示度を受信したとき、第１のＩ／Ｏ電圧コントローラ２０５は、温度示度に小さい温度マージン（たとえば、２度）を加算し、加算された温度マージンをもつ温度示度に基づいて、上記で説明した動作を実行し得る。小さい温度マージンは、温度を検出する際および／または温度の変化に応答する際、遅延をなくす（account for）ために使用され得る。
【００４８】
[0053]いくつかの態様では、第１のＩ／Ｏ電圧コントローラ２０５が温度の変化を検出したとき、第１のＩ／Ｏ電圧コントローラ２０５は、スイング電圧を調整すべきかどうかを決定する前に、温度の変化の大きさを決定し得る。たとえば、第１のＩ／Ｏ電圧コントローラ２０５は、温度センサー２１５からの新しい温度示度と、古い温度示度（たとえば、スイング電圧が調整された最後の時間における温度示度）との間の絶対差を計算し得る。第１のＩ／Ｏ電圧コントローラ２０５は、次いで、絶対差を温度ヒステリシス値と比較し得る。絶対温度差が、温度ヒステリシス値に等しいかまたはそれを下回る場合、第１のＩ／Ｏ電圧コントローラ２０５は、現在のスイング電圧をそのままにしておくことがある。絶対差が温度ヒステリシス値を上回る場合、第１のＩ／Ｏ電圧コントローラ２０５は、新しい温度および周波数に基づいてスイング電圧が調整される必要があるかどうかを決定するために、ルックアップテーブルを調べ得る。より詳細には、第１のＩ／Ｏ電圧コントローラ２０５は、新しい温度および周波数に対応するルックアップテーブル中のスイング電圧マージンを決定し得る。決定されたスイング電圧マージンが現在のスイング電圧マージンとは異なる場合、第１のＩ／Ｏ電圧コントローラ２０５は、上記で説明したように、決定されたスイング電圧マージンに従ってスイング電圧を調整し得る。他の場合、第１のＩ／Ｏ電圧コントローラ２０５は、現在のスイング電圧をそのままにしておくことがある。温度ヒステリシス値は、第１のＩ／Ｏ電圧コントローラ２０５が小さい温度変動（fluctuations）によりスイング電圧を絶えず変更するのを防ぐために使用され得る。
【００４９】
[0054]いくつかの態様では、第１のＩ／Ｏ電圧コントローラ２０５が周波数の変化（change in the frequency）を決定するとき、第１のＩ／Ｏ電圧コントローラ２０５は、周波数変化が、周波数が１つまたは複数の所定の周波数境界を越える（cross）かどうかを決定し得る。周波数が周波数境界のうちの１つを越えない場合、第１のＩ／Ｏ電圧コントローラ２０５は、現在のスイング電圧をそのままにしておくことがある。周波数が周波数境界のうちの少なくとも１つを越える場合、第１のＩ／Ｏ電圧コントローラ２０５は、現在の温度と周波数変化とに基づいてルックアップテーブルから電圧マージンを取得し、取得された電圧マージンに基づいてスイング電圧を調整し得る。１つまたは複数の周波数境界は、第１のＩ／Ｏ電圧コントローラ２０５が、周波数の変化がスイング電圧マージンの小さい変化のみに対応するときにスイング電圧を調整するのを防ぐために使用され得る。この例では、周波数境界は、所定の量を超える量だけ異なる、スイング電圧マージンに対応する２つの隣接する周波数間に配置され（placed）得る。
【００５０】
[0055]第２の送信機２３０のスイング電圧はまた、上記で説明した技法のいずれかを使用して調整され得ることを諒解されたい。たとえば、第２のＩ／Ｏ電圧コントローラ２０６は、上記で説明した実施形態のいずれかによる電圧マージン検知プロシージャを使用して、特定の周波数および温度についてスイング電圧マージンを決定し得る。この点について、第２のＩ／Ｏ電圧コントローラ２０６は、電圧ステップによって送信機２３０におけるスイング電圧を漸進的に低減し得る。スイング電圧が低減されるたびに、送信機２３０は、第２の信号経路２０４を介して第１のデバイス２０２の受信機２２１に所定のデータパターンを送信し得る。スイング電圧のうちの１つにおいてパターンが第１のデバイス２０１によって受信されるたびに、上記で説明した技法のいずれかを使用して、パターンが第１のデバイス２０１によって正常に受信されたかどうか決定が行われ得る。所定のデータパターンを異なるスイング電圧において送信した後に、第２のＩ／Ｏ電圧コントローラ２０６は、パターンが第１のデバイス２０１によって正常に受信されたスイング電圧のうちの最も低い１つを決定し得る。第２のＩ／Ｏ電圧コントローラ２０６は、次いで、仕様におけるスイング電圧と最も低いスイング電圧との間の差に基づいてスイング電圧マージンを計算し、スイング電圧マージンを第２のデバイス２０２のためのルックアップテーブルに入力し得る。
【００５１】
[0056]動作中に、第２のＩ／Ｏ電圧コントローラ２０６は、周波数変化および／または温度変化を検知し得る。たとえば、第２のＩ／Ｏ電圧コントローラ２０６は、第２の温度センサー２１６からの温度示度に基づいて温度変化を検知し得る。周波数変化および／または温度変化に応答して、第２のＩ／Ｏ電圧コントローラ２０６は、第２のデバイス２０２のためのルックアップテーブルから対応するスイング電圧マージンを取得し得る。第２のＩ／Ｏ電圧コントローラ２０６は、次いで、電圧マージンに基づいて送信機２３０の信号スイング電圧を調整し得る。さらに、第２のＩ／Ｏ電圧コントローラ２０６は、電圧マージンに従って１つまたは複数の電源電圧を調整するために、制御信号を電源２０８に送り得る。したがって、第２のＩ／Ｏ電圧コントローラ２０６は、第１のＩ／Ｏ電圧コントローラ２０５について上記で説明した技法のいずれかを使用して、送信機２３０のスイング電圧を動的に調整し得る。言い換えれば、スイング電圧調整は、一方向に限定されず、いずれの方向でも送信された信号に適用され得る。
【００５２】
[0057]システム２００が、第１のデバイス２０１から第２のデバイス２０２に信号（たとえば、データ信号）を搬送する複数の信号経路（レーンまたはチャネル）を備え得ることを諒解されたい。この例では、第１のデバイス２０１は複数の送信機（各信号経路のために１つ）を備え得る。第１のＩ／Ｏ電圧コントローラ２０５は、上記で説明した技法のいずれかを使用して、各送信機のスイング電圧を個々に調整し得る。
【００５３】
[0058]代替的に、第１のＩ／Ｏ電圧コントローラ２０５は、送信機のすべてについて同じスイング電圧を使用し得る。たとえば、特定の周波数および温度について、第１のＩ／Ｏ電圧コントローラ２０５は、以下のプロシージャを使用して対応するスイング電圧マージンを決定し得る。最初に、第１のＩ／Ｏ電圧コントローラ２０５は、仕様におけるスイング電圧から開始する、電圧ステップによって送信機のすべてについてスイング電圧を漸進的に低減し得る。スイング電圧が低減されるたびに、送信機は信号経路の各々上で所定のデータパターンを送信し得る。スイング電圧のうちの１つにおいてパターンが信号経路を介して送信されるたびに、パターンが第２のデバイス２０２によって各信号経路を介して正常に受信されたかどうか決定が行われ得る。たとえば、第２のＩ／Ｏ電圧コントローラ２０６は、各信号経路を介して受信されたパターンを、所定のパターンと比較し得る。第２のＩ／Ｏ電圧コントローラ２０６は、各信号経路についての受信されたパターンが所定のパターンに一致する場合、送信が成功だったと決定し、信号経路のうちの１つまたは複数についての受信されたパターンが所定のパターンに一致しない場合、送信が不成功だったと決定し得る。第２のＩ／Ｏ電圧コントローラ２０６は、次いで、送信が正常だったかどうかを第１のＩ／Ｏ電圧コントローラ２０５に通信し得る。所定のデータパターンを異なるスイング電圧において送信した後に、第１のＩ／Ｏ電圧コントローラ２０５は、パターンが信号経路のすべてを介して正常に受信機だったスイング電圧のうちの最も低い１つを決定し、最も低いスイング電圧に基づいて電圧マージンを決定し得る。
【００５４】
[0059]図４は、本開示の一実施形態による、周波数変化に応答してＩ／Ｏインターフェース（たとえば、第１のＩ／Ｏインターフェース２１０または第２のＩ／Ｏインターフェース２１１）のスイング電圧を調整するための例示的なプロセス４００の流れ図である。例示的なプロセス４００は、一例として与えられるにすぎず、本明細書で説明する様々な実施形態の範囲内で、追加のステップまたはより少ないステップが、同様のまたは代替の順序で、あるいは並列に実行され得る。プロセス４００は、Ｉ／Ｏ電圧コントローラ（たとえば、第１のＩ／Ｏ電圧コントローラ２０５または第２のＩ／Ｏ電圧コントローラ２０６）によって実行され得る。
【００５５】
[0060]ステップ４０１において、周波数が新しい周波数に変更されたかどうか決定が行われる。一態様では、周波数が変更されることになるという指示が、周波数を制御するデバイス（たとえば、メモリコントローラ）によって受信され得る。周波数の変化が決定された場合、プロセス４００はステップ４０２に進む。他の場合、プロセス４００はステップ４０１において戻る。
【００５６】
[0061]ステップ４０２において、新しい周波数が（「Ａ」と示される）周波数しきい値よりも小さいかまたはそれに等しいかどうか決定が行われる。周波数しきい値は、周波数の変化が信号スイング電圧の変化を必要とすることになる、周波数境界に関係し得る。いくつかの態様では、周波数しきい値は、ルックアップテーブル中に含まれる周波数の範囲にわたる、電圧マージンが著しい量だけ変化し始める周波数に対応する。新しい周波数が、周波数しきい値よりも小さいかまたはそれに等しい場合、プロセス４００はステップ４０３に進む。他の場合、プロセス４００はステップ４０７に進む。
【００５７】
[0062]ステップ４０３において、古い周波数が周波数しきい値よりも大きいかどうか決定が行われる。古い周波数は、周波数変化の前の周波数であり得る。古い周波数が周波数しきい値よりも大きい場合、プロセス４００はステップ４０４に進む。これは、周波数変化が、周波数を周波数しきい値を下に越えさせるとき、起こり得る。他の場合、プロセス４００はステップ４０１に戻る。
【００５８】
[0063]ステップ４０４において、新しい周波数および現在の温度に対応する電圧マージンがルックアップテーブル（たとえば、ルックアップテーブル３００）から取得される。
【００５９】
[0064]ステップ４０５において、データトラフィックを停止させる。データトラフィックが停止させられた後、プロセス４００はステップ４０６に進む。
【００６０】
[0065]ステップ４０６において、ルックアップテーブルから取得された電圧マージンに基づいて信号スイング電圧が低減される。プロセス４００は次いでステップ４１２に進み、これについて以下でさらに説明する。
【００６１】
[0066]ステップ４０７において、新しい周波数が周波数しきい値よりも大きいかどうか決定が行われる。新しい周波数が周波数しきい値よりも大きい場合、プロセス４００はステップ４０８に進む。他の場合、プロセスはステップ４０１に戻る。
【００６２】
[0067]ステップ４０８において、古い周波数が周波数しきい値よりも小さいかまたはそれに等しいかどうか決定が行われる。古い周波数が、周波数しきい値よりも小さいかまたはそれに等しいと決定された場合、プロセス４００はステップ４０９に進む。これは、周波数変化が、周波数を周波数しきい値を上に越えさせるとき、起こり得る。他の場合、プロセス４００はステップ４０１に戻る。
【００６３】
[0068]ステップ４０９において、新しい周波数および現在の温度に対応する電圧マージンがルックアップテーブル（たとえば、ルックアップテーブル３００）から取得される。
【００６４】
[0069]ステップ４１０において、データトラフィックを停止させる。データトラフィックを停止させた後に、プロセス４００はステップ４１１に進む。
【００６５】
[0070]ステップ４１１において、ルックアップテーブルから取得された電圧マージンに基づいて信号スイング電圧を増加させる。プロセス４００は、次いでステップ４１２に進む。
【００６６】
[0071]ステップ４１２において、周波数は、新しい周波数に変更され、整定することを可能にされる。
【００６７】
[0072]ステップ４１３において、信号スイング電圧調整の後および周波数が新しい周波数に整定した後に、データトラフィックが再開される。
【００６８】
[0073]ステップ４１４において、プロセス４００は、ヒステリシスタイマーが満了する（expire）まで、周波数を減少させるための任意のコマンドを遅延させる。コマンドは、周波数を制御するデバイス（たとえば、メモリコントローラ）からのものであり得る。その結果、周波数は、周波数変化の後に直ちに下がらない。これは、周波数を生成する回路（たとえば、位相ロックループ（ＰＬＬ）および分周器）が周波数を上および下に絶えず変更するのを防ぐ。いくつかの態様では、ヒステリシスタイマーは、周波数を増加させるためのコマンドに適用されない。これは、長い遅延が、できるだけ早くより高い周波数を必要とする（たとえば、第１のデバイス２０１上の）クライアントを窮乏させる（starve）ことがあるからである。
【００６９】
[0074]プロセス４００が１つの周波数しきい値に限定されないことを諒解されたい。たとえば、プロセス４００は、上記で説明したように、各しきい値が周波数境界に対応する複数の周波数しきい値を有し得る。この例では、ステップ４０１において周波数変化が決定されたとき、プロセス４００は、周波数変化が、周波数を周波数しきい値のうちの１つまたは複数を下に越えさせるかどうかを決定し得る。下に越える場合、プロセスはステップ４０４に進み得る。そうでない場合、プロセス４００は、周波数変化により、周波数が周波数しきい値のうちの１つまたは複数を上に越えるかどうかを決定し得る。上に越える場合、プロセスはステップ４０９に進み得る。他の場合、プロセス４００はステップ４０１に戻り得る。
【００７０】
[0075]図５は、本開示の一実施形態による、温度変化に応答してＩ／Ｏインターフェース（たとえば、第１のＩ／Ｏインターフェース２１０または第２のＩ／Ｏインターフェース２１１）のスイング電圧を調整するための例示的なプロセス５００の流れ図である。例示的なプロセス５００は、一例として与えられるにすぎず、本明細書で説明する様々な実施形態の範囲内で、追加のステップまたはより少ないステップが、同様のまたは代替の順序で、あるいは並列に実行され得る。プロセス５００は、Ｉ／Ｏ電圧コントローラ（たとえば、第１のＩ／Ｏ電圧コントローラ２０５または第２のＩ／Ｏ電圧コントローラ２０６）によって実行され得る。
【００７１】
[0076]ステップ５０１において、温度の変化があるかどうか決定が行われる。温度変化は、温度センサー（たとえば、第１の温度センサー２１５または第２の温度センサー２１６）を使用して検出され得る。温度の変化が決定された場合、プロセス５００はステップ５０２に進む。他の場合、プロセス５００はステップ５０１に戻る。
【００７２】
[0077]ステップ５０２において、新しい温度と古い温度との間の絶対差が（「ＴHysteresis」と示される）温度しきい値よりも大きいかどうか決定が行われる。新しい温度は、温度センサーからの現在の温度であり得、古い温度は、スイング電圧が調整された最後の時間における（at the last time）温度であり得る。新しい温度と古い温度との間の絶対差が温度しきい値よりも大きい場合、プロセス５００はステップ５０３に進む。他の場合、プロセス５００はステップ５０１に戻る。温度しきい値は、小さい温度変動によりスイング電圧が常に変化するのを防ぐために使用され得る。
【００７３】
[0078]ステップ５０３において、新しい温度が古い温度よりも大きいかどうか決定が行われる。新しい温度がより大きい場合、プロセス５００はステップ５０４に進む。他の場合、プロセス５００はステップ５０７に進む。
【００７４】
[0079]ステップ５０４において、新しい温度および現在の周波数に対応する電圧マージンがルックアップテーブル（たとえば、ルックアップテーブル３００）から取得される。
【００７５】
[0080]ステップ５０５において、データトラフィックを停止させる。データトラフィックを停止させた後に、プロセス５００はステップ５０６に進む。
【００７６】
[0081]ステップ５０６において、ルックアップテーブルから取得された電圧マージンに基づいて信号スイング電圧を増加させる。
【００７７】
[0082]プロセス５００は次いでステップ５１０に進み、これについて以下でさらに説明する。
【００７８】
[0083]ステップ５０７において、新しい温度および現在の周波数に対応する電圧マージンがルックアップテーブル（たとえば、ルックアップテーブル３００）から取得される。
【００７９】
[0084]ステップ５０８において、データトラフィックが停止させられる。データトラフィックを停止させた後に、プロセス５００はステップ５０９に進む。
【００８０】
[0085]ステップ５０９において、ルックアップテーブルから取得された電圧マージンに基づいて信号スイング電圧を低減する。プロセス５００は、次いでステップ５１０に進む。
【００８１】
[0086]ステップ５１０において、信号スイング電圧調整の後にデータトラフィックが再開される。
【００８２】
[0087]ステップ５１１において、古い温度が新しい温度に等しく設定され、プロセス５００はステップ５０１に戻る。
【００８３】
[0088]いくつかの態様では、ステップ５０４において、新しい温度に対応する電圧マージンがルックアップテーブルから取得された後、プロセス５００は、新しい温度に対応する電圧マージンが現在の電圧マージンと異なるかどうかを決定し得る。それらが異なる場合、プロセス５００は、上記で説明したステップ５０５に進み得る。それらが同じである場合、プロセス５００はステップ５０１に戻り得る。同様に、ステップ５０７において、新しい温度に対応する電圧マージンがルックアップテーブルから取得された後に、プロセス５００は、新しい温度に対応する電圧マージンが現在の電圧マージンとは異なるかどうかを決定し得る。それらが異なる場合、プロセス５００は、上記で説明したように、ステップ５０８に進み得る。それらが同じである場合、プロセス５００はステップ５０１に戻り得る。
【００８４】
[0089]図６は、本開示の一実施形態による、スイング電圧を決定するための例示的なプロセス６００の流れ図である。例示的なプロセス６００は、一例として与えられるにすぎず、本明細書で説明する様々な実施形態の範囲内で、追加のステップまたはより少ないステップが、同様のまたは代替の順序で、あるいは並列に実行され得る。プロセス６００は、Ｉ／Ｏ電圧コントローラ（たとえば、第１のＩ／Ｏ電圧コントローラ２０５および／または第２のＩ／Ｏ電圧コントローラ２０６）によって実行され得る。
【００８５】
[0090]ステップ６１０において、所定の量だけ送信機におけるスイング電圧を低減する。たとえば、送信機（たとえば、送信機２２０または送信機２３０）におけるスイング電圧は、仕様において定義されているスイング電圧から低減され得る。
【００８６】
[0091]ステップ６２０において、信号経路を介して低減されたスイング電圧において送信機から受信機に信号を送信する。たとえば、送信機および受信機（たとえば、受信機２２１または受信機２３１）は別個のチップ上に配置され得、信号は信号経路（たとえば、ＰＣＢ上のトレース）を介して送信され得、ここにおいて、信号経路は送信機と受信機との間のチップ間通信を与える。
【００８７】
[0092]ステップ６３０において、信号が受信機によって正常に受信されたかどうか決定を行う。たとえば、受信機に送信された信号は、所定のデータパターンを備え得る。この例では、受信機によって受信されたパターンが送信されたパターンに一致する場合、信号が正常に送信されたという決定が行われ得る。
【００８８】
[0093]ステップ６４０において、信号が正常に受信されたかどうかの決定に少なくとも部分的に基づいて、送信機のためのスイング電圧を決定する。たとえば、低減されたスイング電圧において信号が正常に受信された場合、送信機のためのスイング電圧は、後続のデータ送信について低減されたスイング電圧に設定され得る。スイング電圧が、仕様において定義されているスイング電圧から低減される例では、低減されたスイング電圧を使用することは、仕様において定義されているスイング電圧を使用することと比較して、送信機による電力消費を低減する。
【００８９】
[0094]本開示についての以上の説明は、いかなる当業者も本開示を作成または使用することができるように与えたものである。本開示への様々な変更は当業者には容易に明らかになり、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用され得る。したがって、本開示は、本明細書で説明した例に限定されるものではなく、本明細書で開示した原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
【００９０】
[0095]たとえば、Ｉ／Ｏ電圧コントローラ２０５および２０６の各々は、上記で説明した機能のうちの１つまたは複数を実行するように構成されたプロセッサを備え得る。本明細書で使用されるように、「プロセッサ」という用語は、限定はしないが、シングルコアプロセッサ、ソフトウェアマルチスレッド実行能力をもつシングルプロセッサ、ソフトウェアマルチスレッド実行能力をもつマルチコアプロセッサ、ハードウェアマルチスレッド技術を用いたマルチコアプロセッサ、並列プラットフォーム、および分散共有メモリをもつ並列プラットフォームを備える。さらに、プロセッサは、集積回路、特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブル論理コントローラ（ＰＬＣ）、複合プログラマブル論理デバイス（ＣＰＬＤ）、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを指すことができる。プロセッサは、空間使用を最適化するかまたはユーザ機器の性能を向上させるためにナノスケールを活用することができる。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
【００９１】
[0096]さらに、本明細書では、「メモリ」という用語は、データストア、アルゴリズムストア、ならびに、限定はしないが、画像ストア、デジタル音楽およびビデオストア、チャートおよびデータベースなど、他の情報ストアを指す。本明細書で説明するメモリ構成要素は、揮発性メモリまたは不揮発性メモリのいずれかであり得るか、あるいは揮発性メモリと不揮発性メモリの両方を含むことができることを諒解されよう。限定ではなく例として、不揮発性メモリは、読取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ（登録商標））、またはフラッシュメモリを含むことができる。揮発性メモリは、外部キャッシュメモリとして働くランダムアクセスメモリ（ＲＡＭ）を含むことができる。いくつかの異なるタイプのメモリおよびメモリ技術が利用可能であるかまたは将来企図され、それらのすべてが、様々な態様とともに使用するのに好適である。そのようなメモリ技術／タイプは、同期ＲＡＭ（ＳＤＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、拡張ＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ）、およびダイレクトランバスＲＡＭ（ＤＲＲＡＭ（登録商標））、相変化メモリ（ＰＲＡＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、擬似スタティックランダムアクセスメモリ（ＰＳＤＲＡＭ）、ならびに当技術分野で知られている他のランダムアクセスメモリ（ＲＡＭ）および読取り専用メモリ（ＲＯＭ）技術を含む。さらに、本明細書でのシステムおよび／または方法の開示するメモリ構成要素は、これらおよび任意の他の好適なタイプのメモリを、それらに限定されることなく、備えるものとする。
【００９２】
[0097]上述のメモリ技術は、たとえば、コンピュータまたは他のデジタル電子デバイスにおけるまたはそれによる使用のための命令、プログラム、制御信号、および／またはデータを記憶するのに好適な要素を含む。個々のタイプのメモリ、インターフェース、規格またはメモリ技術に関係する用語および／または技術詳細への言及は説明のためにすぎず、クレームの文言に明記されていない限り、特許請求の範囲を特定のメモリシステムまたは技術に限定するものではない。
【００９３】
[0098]ソフトウェア実装の場合、本明細書で説明した技法は、本明細書で説明した機能を実行するモジュール（たとえば、プロシージャ、関数など）を用いて実装され得る。ソフトウェアコードまたはコード命令は、メモリユニット、またはメモリコンピュータ可読媒体に記憶され、プロセッサによって実行され得る。メモリユニットまたはメモリは、プロセッサ内に実装されるか、またはプロセッサの外部に実装され得、その場合、それは、様々な従来の手段を介してプロセッサに通信可能に結合され得る。
【００９４】
[0099]１つまたは複数の例示的な実施形態では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、およびｂｌｕ−ｒａｙ（登録商標）ディスク（disc）を含み、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【００９５】
[00100]本明細書で開示する方法は、説明した方法を達成するための１つまたは複数のステップまたはアクションを備える。本方法のステップおよび／またはアクションは、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、説明した方法の適切な動作のためにステップまたはアクションの特定の順序が必要とされない限り、その順序、ならびに／あるいは特定のステップおよび／またはアクションの使用は、特許請求の範囲を逸脱することなく変更され得る。
【００９６】
[00101]上記で説明したことは、１つまたは複数の実施形態の例を含む。上述の実施形態を説明する目的で、構成要素または方法のあらゆる考えられる組合せについて説明することは、もちろん可能ではないが、様々な実施形態の多くのさらなる組合せおよび置換が可能であることを、当業者は認識し得る。したがって、説明した実施形態は、添付の特許請求の範囲の趣旨および範囲内に入るすべてのそのような改変形態、変更形態および変形形態を包含するものとする。さらに、「含む（include）」、「含む（including）」、「所有する（possess）」、および所有する（possessing）」、または「有する（have）」および「有する（having）」という用語が本明細書で使用される限りにおいて、そのような用語は、「備える（comprising）」という用語が使用時に請求項における移行語として使用されるとき解釈されるように、「備える（comprising）」と同様に包括的なものとする。
【図１】
2017525284.tif 000003
【図２】
2017525284.tif 000004
【図３】
2017525284.tif 000005
【図４】
2017525284.tif 000006
【図５】
2017525284.tif 000007
【図６】
2017525284.tif 000008
【手続補正書】
【提出日】平成29年3月27日(2017.3.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力／出力（Ｉ／Ｏ）インターフェースと、
前記Ｉ／Ｏインターフェースの周波数または温度を決定し、前記Ｉ／Ｏインターフェースの前記決定された周波数または温度に少なくとも部分的に基づいて前記Ｉ／Ｏインターフェースのスイング電圧を調整するように構成された、Ｉ／Ｏ電圧コントローラと
を備え、前記Ｉ／Ｏインターフェースが、前記スイング電圧調整中にデータトラフィックを停止させ、前記スイング電圧調整の後、前記データトラフィックを再開するように構成された、デバイス。
【請求項２】
前記Ｉ／Ｏ電圧コントローラが、前記決定された周波数または温度に対応する電圧マージンを取得し、前記電圧マージンに基づいて前記Ｉ／Ｏインターフェースの前記スイング電圧を調整するように構成された、請求項１に記載のデバイス。
【請求項３】
ルックアップテーブルを記憶するメモリをさらに備え、ここにおいて、前記ルックアップテーブルが複数の電圧マージンを備え、前記電圧マージンの各々が、異なる温度−周波数ペアに対応し、ここにおいて、前記Ｉ／Ｏ電圧コントローラが、前記ルックアップテーブルから前記電圧マージンを取得するように構成された、請求項２に記載のデバイス。
【請求項４】
前記電圧マージンは、前記Ｉ／Ｏインターフェースの前記スイング電圧が所定のスイング電圧よりも小さい量を表す、請求項２に記載のデバイス。
【請求項５】
前記Ｉ／Ｏインターフェースの前記温度を検知し、前記検知された温度に基づいて温度示度を生成するように構成された温度センサーをさらに備え、ここにおいて、前記Ｉ／Ｏ電圧コントローラが、前記温度示度に基づいて前記Ｉ／Ｏインターフェースの前記温度を検出するように構成された、請求項１に記載のデバイス。
【請求項６】
前記Ｉ／Ｏインターフェースが、電源から電源電圧を受信し、前記Ｉ／Ｏ電圧コントローラが、前記Ｉ／Ｏインターフェースの前記スイング電圧に少なくとも部分的に基づいて前記電源の前記電源電圧を調整するように構成された、請求項１に記載のデバイス。
【請求項７】
前記Ｉ／Ｏインターフェースが、信号経路を介して第２のデバイスに信号を送信するように構成された、請求項１に記載のデバイス。
【請求項８】
前記デバイスと前記第２のデバイスとが、別個のチップ上にある、請求項７に記載のデバイス。
【請求項９】
スイング電圧決定のための方法であって、
所定の量だけ送信機におけるスイング電圧を低減することと、
信号経路を介して前記低減されたスイング電圧において前記送信機から受信機に信号を送信することと、
前記信号が前記受信機によって正常に受信されたかどうかを決定することと、
前記信号が正常に受信されたかどうかの前記決定に少なくとも部分的に基づいて、前記送信機のためのスイング電圧を決定することと
前記信号が送信される温度を検出することと、
前記決定されたスイング電圧に対応する電圧マージンをルックアップテーブルに記憶することと、ここにおいて、前記電圧マージンが、前記ルックアップテーブル中の前記温度に関連付けられる、
を備える、方法。
【請求項１０】
前記信号経路が、ボード上の１つまたは複数のトレース、１つまたは複数のパッケージ接続、あるいは１つまたは複数のボードコネクタを備える、請求項９に記載の方法。
【請求項１１】
前記決定されたスイング電圧が、前記信号経路のインピーダンス、前記信号経路の周波数応答、または前記信号経路の次元を考慮する、請求項１０に記載の方法。
【請求項１２】
前記送信機と前記受信機とが、別個のチップ上にある、請求項１０に記載の方法。
【請求項１３】
前記信号がデータパターンを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データパターンを、前記受信機における前記データパターンのコピーに対して比較することを備える、請求項９に記載の方法。
【請求項１４】
前記信号がデータパターンを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データパターンを、前記送信機によって送信された前記データパターンに対して比較することを備える、請求項９に記載の方法。
【請求項１５】
前記信号がデータ部分と誤り検出部分とを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データ部分から、誤り検出部分を計算することと、前記計算された誤り検出部分を、前記受信機によって受信された前記誤り検出部分と比較することとを備える、請求項９に記載の方法。
【請求項１６】
前記信号が前記受信機によって正常に受信されなくなるまで、前記低減するステップと前記送信するステップと前記決定するステップとを繰り返すことをさらに備え、ここにおいて、前記送信機のための前記スイング電圧を決定することは、前記信号が前記受信機によって正常に受信される、前記低減されたスイング電圧のうちの１つに少なくとも部分的に基づく、請求項９に記載の方法。
【請求項１７】
前記送信機のための前記スイング電圧を決定することは、前記信号が前記受信機によって正常に受信される、前記低減されたスイング電圧のうちの最も低い１つに少なくとも部分的に基づく、請求項１６に記載の方法。
【請求項１８】
前記信号が送信される周波数を決定することと、
前記決定されたスイング電圧に対応する電圧マージンをルックアップテーブルに記憶することと、をさらに備え、ここにおいて、前記電圧マージンが、前記ルックアップテーブル中の前記周波数に関連付けられる、
請求項９に記載の方法。
【請求項１９】
入力／出力（Ｉ／Ｏ）インターフェースと、
前記Ｉ／Ｏインターフェースの周波数または温度を決定するための手段と、
前記Ｉ／Ｏインターフェースの前記決定された周波数または温度に少なくとも部分的に基づいて前記Ｉ／Ｏインターフェースのスイング電圧を調整するための手段と
前記スイング電圧調整中にデータトラフィックを停止させるための手段と、
前記スイング電圧調整の後、前記データトラフィックを再開するための手段と
を備える、デバイス。
【請求項２０】
前記決定された周波数または温度に対応する電圧マージンを取得するための手段と、
前記電圧マージンに基づいて前記Ｉ／Ｏインターフェースの前記スイング電圧を調整するための手段と
をさらに備える、請求項１９に記載のデバイス。
【請求項２１】
ルックアップテーブルを記憶するための手段をさらに備え、ここにおいて、前記ルックアップテーブルが複数の電圧マージンを備え、前記電圧マージンの各々が、異なる温度−周波数ペアに対応し、ここにおいて、前記電圧マージンを取得するための前記手段が、前記ルックアップテーブルから前記電圧マージンを取得するための手段を備える、請求項２０に記載のデバイス。
【請求項２２】
前記電圧マージンは、前記Ｉ／Ｏインターフェースの前記スイング電圧が所定のスイング電圧よりも小さい量を表す、請求項２０に記載のデバイス。
【請求項２３】
前記Ｉ／Ｏインターフェースの前記温度を検知するための手段と、
前記検知された温度に基づいて温度示度を生成するための手段と、
前記温度示度に基づいて前記Ｉ／Ｏインターフェースの前記温度を検出するための手段と
をさらに備える、請求項１９に記載のデバイス。
【請求項２４】
電源から電源電圧を受信するための手段と、
前記Ｉ／Ｏインターフェースの前記スイング電圧に少なくとも部分的に基づいて前記電源の前記電源電圧を調整するための手段と
をさらに備える、請求項１９に記載のデバイス。
【請求項２５】
前記Ｉ／Ｏインターフェースが、信号経路を介して第２のデバイスに信号を送信するための手段を備える、請求項１９に記載のデバイス。
【請求項２６】
前記デバイスと前記第２のデバイスとが、別個のチップ上にある、請求項２５に記載のデバイス。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００９６
【補正方法】変更
【補正の内容】
【００９６】
[00101]上記で説明したことは、１つまたは複数の実施形態の例を含む。上述の実施形態を説明する目的で、構成要素または方法のあらゆる考えられる組合せについて説明することは、もちろん可能ではないが、様々な実施形態の多くのさらなる組合せおよび置換が可能であることを、当業者は認識し得る。したがって、説明した実施形態は、添付の特許請求の範囲の趣旨および範囲内に入るすべてのそのような改変形態、変更形態および変形形態を包含するものとする。さらに、「含む（include）」、「含む（including）」、「所有する（possess）」、および所有する（possessing）」、または「有する（have）」および「有する（having）」という用語が本明細書で使用される限りにおいて、そのような用語は、「備える（comprising）」という用語が使用時に請求項における移行語として使用されるとき解釈されるように、「備える（comprising）」と同様に包括的なものとする。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
入力／出力（Ｉ／Ｏ）インターフェースと、
前記Ｉ／Ｏインターフェースの周波数または温度を決定し、前記Ｉ／Ｏインターフェースの前記決定された周波数または温度に少なくとも部分的に基づいて前記Ｉ／Ｏインターフェースのスイング電圧を調整するように構成された、Ｉ／Ｏ電圧コントローラとを備える、デバイス。
［Ｃ２］
前記Ｉ／Ｏインターフェースが、前記スイング電圧調整中にデータトラフィックを停止させ、前記スイング電圧調整の後、前記データトラフィックを再開するように構成された、Ｃ１に記載のデバイス。
［Ｃ３］
前記Ｉ／Ｏ電圧コントローラが、前記決定された周波数または温度に対応する電圧マージンを取得し、前記電圧マージンに基づいて前記Ｉ／Ｏインターフェースの前記スイング電圧を調整するように構成された、Ｃ１に記載のデバイス。
［Ｃ４］
ルックアップテーブルを記憶するメモリをさらに備え、ここにおいて、前記ルックアップテーブルが複数の電圧マージンを備え、前記電圧マージンの各々が、異なる温度−周波数ペアに対応し、ここにおいて、前記Ｉ／Ｏ電圧コントローラが、前記ルックアップテーブルから前記電圧マージンを取得するように構成された、Ｃ３に記載のデバイス。
［Ｃ５］
前記電圧マージンは、前記Ｉ／Ｏインターフェースの前記スイング電圧が所定のスイング電圧よりも小さい量を表す、Ｃ３に記載のデバイス。
［Ｃ６］
前記Ｉ／Ｏインターフェースの前記温度を検知し、前記検知された温度に基づいて温度示度を生成するように構成された温度センサーをさらに備え、ここにおいて、前記Ｉ／Ｏ電圧コントローラが、前記温度示度に基づいて前記Ｉ／Ｏインターフェースの前記温度を検出するように構成された、Ｃ１に記載のデバイス。
［Ｃ７］
前記Ｉ／Ｏインターフェースが、電源から電源電圧を受信し、前記Ｉ／Ｏ電圧コントローラが、前記Ｉ／Ｏインターフェースの前記スイング電圧に少なくとも部分的に基づいて前記電源の前記電源電圧を調整するように構成された、Ｃ１に記載のデバイス。
［Ｃ８］
前記Ｉ／Ｏインターフェースが、信号経路を介して第２のデバイスに信号を送信するように構成された、Ｃ１に記載のデバイス。
［Ｃ９］
前記デバイスと前記第２のデバイスとが、別個のチップ上にある、Ｃ８に記載のデバイス。
［Ｃ１０］
スイング電圧決定のための方法であって、
所定の量だけ送信機におけるスイング電圧を低減することと、
信号経路を介して前記低減されたスイング電圧において前記送信機から受信機に信号を送信することと、
前記信号が前記受信機によって正常に受信されたかどうかを決定することと、
前記信号が正常に受信されたかどうかの前記決定に少なくとも部分的に基づいて、前記送信機のためのスイング電圧を決定することとを備える、方法。
［Ｃ１１］
前記信号経路が、ボード上の１つまたは複数のトレース、１つまたは複数のパッケージ接続、あるいは１つまたは複数のボードコネクタを備える、Ｃ１０に記載の方法。
［Ｃ１２］
前記決定されたスイング電圧が、前記信号経路のインピーダンス、前記信号経路の周波数応答、または前記信号経路の次元を考慮する、Ｃ１１に記載の方法。
［Ｃ１３］
前記送信機と前記受信機とが、別個のチップ上にある、Ｃ１１に記載の方法。
［Ｃ１４］
前記信号がデータパターンを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データパターンを、前記受信機における前記データパターンのコピーに対して比較することを備える、Ｃ１０に記載の方法。
［Ｃ１５］
前記信号がデータパターンを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データパターンを、前記送信機によって送信された前記データパターンに対して比較することを備える、Ｃ１０に記載の方法。
［Ｃ１６］
前記信号がデータ部分と誤り検出部分とを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データ部分から、誤り検出部分を計算することと、前記計算された誤り検出部分を、前記受信機によって受信された前記誤り検出部分と比較することとを備える、Ｃ１０に記載の方法。
［Ｃ１７］
前記信号が前記受信機によって正常に受信されなくなるまで、前記低減するステップと前記送信するステップとを繰り返すことをさらに備え、ここにおいて、前記送信機のための前記スイング電圧を決定することは、前記信号が前記受信機によって正常に受信される、前記低減されたスイング電圧のうちの１つに少なくとも部分的に基づく、Ｃ１０に記載の方法。
［Ｃ１８］
前記送信機のための前記スイング電圧を決定することは、前記信号が前記受信機によって正常に受信される、前記低減されたスイング電圧のうちの最も低い１つに少なくとも部分的に基づく、Ｃ１７に記載の方法。
［Ｃ１９］
前記信号が送信される周波数を決定することと、
前記決定されたスイング電圧に対応する電圧マージンをルックアップテーブルに記憶することと、をさらに備え、ここにおいて、前記電圧マージンが、前記ルックアップテーブル中の前記周波数に関連付けられる、
Ｃ１０に記載の方法。
［Ｃ２０］
前記信号が送信される温度を検出することと、
前記決定されたスイング電圧に対応する電圧マージンをルックアップテーブルに記憶することと、をさらに備え、ここにおいて、前記電圧マージンが、前記ルックアップテーブル中の前記温度に関連付けられる、
Ｃ１０に記載の方法。
［Ｃ２１］
入力／出力（Ｉ／Ｏ）インターフェースと、
前記Ｉ／Ｏインターフェースの周波数または温度を決定するための手段と、
前記Ｉ／Ｏインターフェースの前記決定された周波数または温度に少なくとも部分的に基づいて前記Ｉ／Ｏインターフェースのスイング電圧を調整するための手段とを備える、デバイス。
［Ｃ２２］
前記スイング電圧調整中にデータトラフィックを停止させるための手段と、
前記スイング電圧調整の後、前記データトラフィックを再開するための手段とをさらに備える、Ｃ２１に記載のデバイス。
［Ｃ２３］
前記決定された周波数または温度に対応する電圧マージンを取得するための手段と、
前記電圧マージンに基づいて前記Ｉ／Ｏインターフェースの前記スイング電圧を調整するための手段とをさらに備える、Ｃ２１に記載のデバイス。
［Ｃ２４］
ルックアップテーブルを記憶するための手段をさらに備え、ここにおいて、前記ルックアップテーブルが複数の電圧マージンを備え、前記電圧マージンの各々が、異なる温度−周波数ペアに対応し、ここにおいて、前記電圧マージンを取得するための前記手段が、前記ルックアップテーブルから前記電圧マージンを取得するための手段を備える、Ｃ２３に記載のデバイス。
［Ｃ２５］
前記電圧マージンは、前記Ｉ／Ｏインターフェースの前記スイング電圧が所定のスイング電圧よりも小さい量を表す、Ｃ２３に記載のデバイス。
［Ｃ２６］
前記Ｉ／Ｏインターフェースの前記温度を検知するための手段と、
前記検知された温度に基づいて温度示度を生成するための手段と、
前記温度示度に基づいて前記Ｉ／Ｏインターフェースの前記温度を検出するための手段とをさらに備える、Ｃ２１に記載のデバイス。
［Ｃ２７］
電源から電源電圧を受信するための手段と、
前記Ｉ／Ｏインターフェースの前記スイング電圧に少なくとも部分的に基づいて前記電源の前記電源電圧を調整するための手段とをさらに備える、Ｃ２１に記載のデバイス。
［Ｃ２８］
前記Ｉ／Ｏインターフェースが、信号経路を介して第２のデバイスに信号を送信するための手段を備える、Ｃ２１に記載のデバイス。
［Ｃ２９］
前記デバイスと前記第２のデバイスとが、別個のチップ上にある、Ｃ２８に記載のデバイス。
【国際調査報告】
2017525284.tif 000009
2017525284.tif 000010
2017525284.tif 000011
2017525284.tif 000012
2017525284.tif 000013