JP2017525284A - I/oインターフェース信号の動的な電圧調整 - Google Patents

I/oインターフェース信号の動的な電圧調整 Download PDF

Info

Publication number
JP2017525284A
JP2017525284A JP2017501713A JP2017501713A JP2017525284A JP 2017525284 A JP2017525284 A JP 2017525284A JP 2017501713 A JP2017501713 A JP 2017501713A JP 2017501713 A JP2017501713 A JP 2017501713A JP 2017525284 A JP2017525284 A JP 2017525284A
Authority
JP
Japan
Prior art keywords
voltage
temperature
interface
swing
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017501713A
Other languages
English (en)
Other versions
JP2017525284A5 (ja
Inventor
パク、ヘ・ジュン
チュン、デクスター・タミオ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2017525284A publication Critical patent/JP2017525284A/ja
Publication of JP2017525284A5 publication Critical patent/JP2017525284A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/01Details
    • H03K3/012Modifications of generator to improve response time or to decrease power consumption
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/01Details
    • H03K3/011Modifications of generator to compensate for variations in physical values, e.g. voltage, temperature

Abstract

I/Oインターフェース信号のためのスイング電圧を調整するための技法について、本明細書で説明する。一実施形態では、デバイス(201)が、入力/出力(I/O)インターフェース(210)とI/O電圧コントローラ(205)とを備える。I/O電圧コントローラ(205)は、I/Oインターフェース(210)の周波数または温度を決定し、決定された周波数または温度に少なくとも部分的に基づいてI/Oインターフェースのスイング電圧を調整するように構成される。

Description

[0001]本開示の態様は、一般にI/Oインターフェースに関し、より詳細には、I/Oインターフェースのためのスイング電圧を動的に調整するためのシステムおよび方法に関する。
[0002]電子システムは、より多くの信号経路のうちの1つ(たとえば、1つまたは複数のボードトレース、ケーブルなど)を介して(via)互いと通信する第1のデバイスと第2のデバイスとを備え得る。この点について、各デバイスは、1つまたは複数の信号経路を介して(over)他方のデバイスに信号を送信し、他方のデバイスから信号を受信するための入力/出力(I/O)インターフェースを備え得る。たとえば、第1のデバイスは、システムオンチップ(SoC)を備え得、第2のデバイスは、メモリデバイス(たとえば、ダイナミックランダムアクセスメモリ(DRAM))、周辺デバイス(たとえば、マウス)、モデム、または他のタイプのデバイスを備え得る。
[0003]電子システムでは、I/Oインターフェース電力が、システムの全体的電力消費の大きい要因(contributor)になり得る。インターフェース速度および性能要件が増加するにつれて、I/Oインターフェースにおいて観測される電力消費は著しく増加する。したがって、システムのバッテリー寿命を延長するために、特にバッテリー電源式システムのために、I/Oインターフェース電力を低減することが望ましい。
[0004]以下で、1つまたは複数の実施形態の基本的理解を与えるために、そのような実施形態の簡略化された概要を提示する。この概要は、すべての企図された実施形態の包括的な概観ではなく、すべての実施形態の主要または重要な要素を識別するものでも、いずれかまたはすべての実施形態の範囲を定めるものでもない。その唯一の目的は、後で提示されるより詳細な説明の導入として、1つまたは複数の実施形態のいくつかの概念を簡略化された形で提示することである。
[0005]一態様によれば、デバイスについて本明細書で説明する。本デバイスは、入力/出力(I/O)インターフェースとI/O電圧コントローラとを備える。I/O電圧コントローラは、I/Oインターフェースの周波数または温度を決定し、決定された周波数または温度に少なくとも部分的に基づいてI/Oインターフェースのスイング電圧を調整するように構成される。
[0006]第2の態様は、スイング電圧決定のための方法に関する。本方法は、所定の(predetermined)量だけ送信機におけるスイング電圧を低減することと、信号経路を介して低減されたスイング電圧において送信機から受信機に信号を送信することと、信号が受信機によって正常に(successfully)受信されたかどうかを決定することとを備える。本方法はまた、信号が正常に受信されたかどうかの決定に少なくとも部分的に基づいて、送信機のためのスイング電圧を決定することを備える。
[0007]第3の態様はデバイスに関する。本デバイスは、入力/出力(I/O)インターフェースと、I/Oインターフェースの周波数または温度を決定するための手段と、I/Oインターフェースの決定された周波数または温度に少なくとも部分的に基づいてI/Oインターフェースのスイング電圧を調整するための手段とを備える。
[0008]上記および関連する目的を達成するために、1つまたは複数の実施形態は、以下で十分に説明し、特に特許請求の範囲で指摘する特徴を備える。以下の説明および添付の図面に、1つまたは複数の実施形態のいくつかの例示的な態様を詳細に示す。ただし、これらの態様は、様々な実施形態の原理が採用され得る様々な方法のほんのいくつかを示すものであり、説明する実施形態は、すべてのそのような態様およびそれらの均等物を含むものとする。
[0009]第1のデバイスと第2のデバイスとを含む電子システムの一例を示す図。 [0010]本開示の一実施形態による、動的なスイング電圧調整を用いた電子システムの一例を示す図。 [0011]本開示の一実施形態による、例示的な電圧マージンルックアップテーブルを示す図。 [0012]本開示の一実施形態による、周波数変化に応答してI/Oインターフェースのスイング電圧を調整するための例示的なプロセスの流れ図。 [0013]本開示の一実施形態による、温度変化に応答してI/Oインターフェースのスイング電圧を調整するための例示的なプロセスの流れ図。 [0014]本開示の一実施形態による、スイング電圧を決定する例示的なプロセスの流れ図。
[0015]添付の図面に関して以下に記載する発明を実施するための形態は、様々な構成を説明するものであり、本明細書で説明する概念が実施され得る構成のみを表すものではない。発明を実施するための形態は、様々な概念の完全な理解を与えるための具体的な詳細を含む。ただし、これらの概念はこれらの具体的な詳細なしに実施され得ることが当業者には明らかであろう。いくつかの事例では、そのような概念を曖昧にするのを回避するために、よく知られている構造および構成要素をブロック図の形式で示す。
[0016]図1に、第1のデバイス101と第2のデバイス102とを含む電子システム100の一例を示す。第1のデバイス101は第1のI/Oインターフェース110を含み、第2のデバイス102は第2のI/Oインターフェース111を含む。第1のI/Oインターフェース110および第2のI/Oインターフェース111は、1つまたは複数の物理的信号経路を介して第1のデバイス101と第2のデバイス102との間で信号(たとえば、データ信号、クロック信号など)を転送するように構成される。信号経路は、チャネルまたはレーンと呼ばれることもある。
[0017]図1に示されている例では、第1のI/Oインターフェース110は、第1の信号経路(たとえば、第1の差動伝送線路(line))104を介して第2のI/Oインターフェース111に信号(たとえば、差動データ信号)を送信し、第2のI/Oインターフェース111は、第2の信号経路(たとえば、第2の差動伝送線路)106を介して第1のI/Oインターフェース110に信号(たとえば、差動データ信号)を送信する。いくつかの態様では、第1のデバイス101と第2のデバイス102との間の制御シグナリングが、制御経路105を介して搬送される。信号経路104および106は、図1中の例では差動線路として示されているが、本開示の実施形態がデバイス間の差動信号の送信に限定されないことを諒解されたい。たとえば、本開示の実施形態は、シングルエンド信号、アンサンブルエンド(ensemble-ended)(3結合またはより高次の)信号などに適用され得る。
[0018]第1の信号経路104および第2の信号経路106の各々は、ツイストワイヤペア、同軸ケーブルまたは別のタイプのケーブルにおける導体、ボード(たとえば、プリント回路板(PCB))上のトレース、パッケージコネクタ、ボードコネクタ、あるいはそれらの任意の組合せを備え得る。たとえば、第1のデバイス101はシステムオンチップ(SoC)を備え得、第2のデバイス102は外部メモリデバイス(たとえば、ダブルデータレート同期DRAM(DDR SDRAM))を備え得る。この例では、SoCとメモリデバイスとは、共通のボード(たとえば、PCB)上に取り付けられた(mounted)別個の(separate)チップ上にあり得、そこにおいて、第1の信号経路104および第2の信号経路106はボード上のトレースを備える。別の例では、第1のデバイス101はSoCを備え得、第2のデバイス102は、周辺デバイス(たとえば、マウス、サムドライブ(thumb drive)、モニタなど)を備え得る。この例では、SoCはボード上に取り付けられたチップ上にあり得、そこにおいて、第1の信号経路104および第2の信号経路106は、ボード上のトレースと、ケーブルと、ケーブルをボードに接続する1つまたは複数のボードコネクタとを備える。
[0019]第1のデバイス101および第2のデバイス102は、限定はしないが、周辺構成要素相互接続エクスプレス(PCIe)規格、ユニバーサルシリアルバス(USB)規格、ディスプレイシリアルインターフェース(DSI)規格、カメラシリアルインターフェース(CSI)規格、ハイスピードインターチップ(HSIC)規格などを含む、いくつかの異なる規格のうちのいずれか1つに従って、第1の信号経路104および第2の信号経路106を介して信号を転送し得る。
[0020]いくつかの態様では、第1のデバイス101と第2のデバイス102とは、異なるデータレートをサポートし得、デバイス間のデータレートは(たとえば、デバイスのうちの1つまたは複数の性能ニーズに基づいて)動的に調整され得る。たとえば、第1のデバイス101はSoCを備え得、第2のデバイス102は外部メモリデバイス(たとえば、DDR SDRAM)を備え得る。この例では、SoCは、SoC上のメモリインターフェースを介してメモリデバイス(たとえば、DDR SDRAM)にアクセスする1つまたは複数の回路(たとえば、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)など)を備え得る。第1のI/Oインターフェース110は、メモリインターフェースの一部であり得る。メモリインターフェースを介してメモリデバイスにアクセスするSoC上の回路は、クライアントと呼ばれることがある。メモリインターフェースは、第1のI/Oインターフェース110を通るSoC上のクライアントとメモリデバイスとの間のデータのフローを管理する、メモリコントローラを含み得る。この例では、メモリコントローラは、クライアントの性能ニーズに基づいてSoCとメモリデバイスとの間のデータレートを動的に調整し得る。
[0021]いくつかの態様では、データレートは、第1のデバイス101と第2のデバイス102との間で送られる信号(たとえば、データ信号)の周波数を調整することによって調整され得る(たとえば、周波数スケーリングとも呼ばれる)。第1のデバイス101がSoCであり、第2のデバイス102が外部メモリデバイス(たとえば、DDR SDRAM)である例では、信号周波数は、200MHz〜1600MHZの周波数範囲内または別の周波数範囲内の複数の異なる周波数のうちのいずれか1つに調整され得る。I/Oインターフェース110および111による電力消費は、信号周波数が増加する(データレートが増加する)につれて、著しく増加する。この点において、I/Oインターフェース110および111による電力消費は、システムの全体的電力消費の大きい要因になる。
[0022]第1のI/Oインターフェース110が、第1の信号経路104を介して第2のI/Oインターフェース111に信号(たとえば、差動データ信号)を送信するとき、信号はスイング電圧を有し得る。スイング電圧は、信号の最大電圧と信号の最小電圧との間の差にほぼ等しくなり得る。同様に、第2のI/Oインターフェース111が、第2の信号経路106を介して第1のI/Oインターフェース110に信号を送信するとき、信号はスイング電圧を有し得る。他方のデバイスに信号を正常に送信するために各デバイスのI/Oインターフェースにおいて必要とされる最小スイング電圧は、多くのパラメータに依存し得る。
[0023]パラメータは、第1のデバイス101と第2のデバイス102との間の信号経路104および106の特性(たとえば、周波数応答、インピーダンス、次元(dimensions)など)を含み得る。信号経路104および106は、ボードトレース(たとえば、プリント回路板(PCB)トレース)、チップパッケージ接続(たとえば、はんだバンプまたはボール)、ボードコネクタ、ケーブル、またはそれらの任意の組合せを含み得る。信号経路104および106の特性は、製造ばらつきにより(同じ設計を有するシステムについてさえ)システムごとに(from system to system)変動し(vary)得る。他のパラメータは、プロセスばらつきによりシステムごとに変動し得る、I/Oインターフェース110および111における電子的構成要素(たとえば、トランジスタ、抵抗器など)の特性(たとえば、しきい値電圧、次元など)を含み得る。したがって、最小の必要とされる信号スイング電圧は、システムごとに変動し得る。
[0024]追加のパラメータは、システムの動作中に動的に変化するパラメータを含み得る。これらのパラメータは、温度および信号周波数(たとえば、データ転送レート)を含み得る。したがって、最小の必要とされる信号スイング電圧は、システムの動作状態の変化により動的に変化し得る。
[0025]従来の手法では、信号スイング電圧は、最小の必要とされる信号スイング電圧に影響を及ぼすパラメータについてのワーストケースシナリオに基づく、所定の電圧において固定される。たとえば、信号スイング電圧は、DDR信号の場合、1.1Vにおいて固定され得る。しかしながら、特定のシステムが、これらのパラメータのすべてについてワーストケースを経験することになるだろうという可能性は低い。その結果、システムの大部分では、信号スイング電圧は、デバイス間の信頼できる通信のために必要なものよりも高い、所定の電圧において固定され、電力浪費を生じる。
[0026]本開示の実施形態は、以下でさらに説明するように、I/Oインターフェースの信号スイング電圧を動的に調整することによって、I/O電力消費を低減する。
[0027]図2に、本開示の一実施形態による、電子システム200の一例を示す。電子システム200は、第1のデバイス201と、第2のデバイス202と、第1の信号経路(たとえば、第1の差動伝送線路)203と、第2の信号経路(たとえば、第2の差動伝送線路)204とを含む。第1のデバイス201は第1のI/Oインターフェース210を備え、第2のデバイス202は第2のI/Oインターフェース211を備える。第1のI/Oインターフェース210および第2のI/Oインターフェース211は、以下でさらに説明するように、信号経路203および204を介して第1のデバイス201と第2のデバイス202との間で信号(たとえば、データ信号、クロック信号など)を転送するように構成される。いくつかの態様では、第1のデバイス201と第2のデバイス202との間の制御シグナリングが、制御経路207を介して搬送される。
[0028]第1のI/Oインターフェース210は、第1の送信機220と第1の受信機221とを備え、第2のI/Oインターフェース211は、第2の送信機230と第2の受信機231とを備える。第1の送信機220は、第1の信号経路203を介して信号(たとえば、データ信号)を送信するように構成され、第2の受信機231は、第1の送信機220によって送信された信号を受信するように構成される。したがって、第1の送信機220および第2の受信機231は、第1の信号経路203を介した第1のデバイス201から第2のデバイス202への通信を容易にする。同様に、第2の送信機230は、第2の信号経路204を介して信号(たとえば、データ信号)を送信するように構成され、第1の受信機221は、第2の送信機230によって送信された信号を受信するように構成される。したがって、第2の送信機230および第1の受信機221は、第2の信号経路204を介した第2のデバイス202から第1のデバイス201への通信を可能にする。
[0029]第1のデバイス201がSoCを備え、第2のデバイス202が外部メモリデバイス(たとえば、DDR SDRAM)を備える例では、第1の送信機220は、第1の信号経路203を介してSoC上のクライアント(たとえば、CPU)から外部メモリデバイスにデータを送信し得る。メモリデバイス上の第2の受信機231は、データを受信し、受信されたデータを、データをメモリに書き込むメモリ論理(logic)(図示せず)にフォワーディングする(forward)。第2の送信機230は、SoCからの読取りコマンドに応答してメモリデバイス中のメモリから読み取られたデータを受信し、信号経路204を介してSoCにデータを送信し得る。SoC上の第1の受信機221は、データを受信し、受信データをメモリコントローラ(図示せず)にフォワーディングし、それは、データを意図されたクライアント(たとえば、CPU)にルーティングする。
[0030]第1のデバイス201は、第1のI/O電圧コントローラ205と、第1の温度センサー215とをも備える。第1のI/O電圧コントローラ205は、以下でさらに説明するように、第1の送信機220の出力スイング電圧を動的に調整するように構成される。第1の温度センサー215は、第1のI/Oインターフェース210の温度を検知し(sense)、検知された温度を第1のI/O電圧コントローラ205に報告するように構成される。この点について、第1の温度センサー215は、第1のI/Oインターフェース210の近くまたは内部に配置され(located)得る。第1のI/O電圧コントローラ205、第1のI/Oインターフェース210、および第1の温度センサー215は、同じチップ上に組み込まれ得る。
[0031]第2のデバイス202は、第2のI/O電圧コントローラ206と、第2の温度センサー216とをも備える。第2のI/O電圧コントローラ206は、以下でさらに説明するように、第2の送信機230の出力スイング電圧を動的に調整するように構成される。第2の温度センサー216は、第2のI/Oインターフェース211の温度を検知し、検知された温度を第2のI/O電圧コントローラ206に報告するように構成される。この点について、第2の温度センサー216は、第2のI/Oインターフェース211の近くまたは内部に配置され得る。第2のI/O電圧コントローラ206、第2のI/Oインターフェース211、および第2の温度センサー216は、同じチップ上に組み込まれ得る。
[0032]システム200は電源208をも備え得る。電源208は、I/Oインターフェース210および211に電力供給する(powering)ためにI/Oインターフェース210および211に1つまたは複数の電源電圧を与え(provide)得る。いくつかの態様では、電源208は調整可能な電源であり得、1つまたは複数の電源電圧は、以下でさらに説明するように、第1のI/O電圧コントローラ205および/または第2のI/O電圧コントローラ206の制御下で調整され得る。
[0033]いくつかの態様では、第1のI/O電圧コントローラ205は、第1のI/Oインターフェース210の周波数および温度を決定するように構成され得る。第2のデバイス202がメモリデバイス(たとえば、DDR SDRAM)である例では、第1のI/O電圧コントローラ205は、周波数を制御するメモリコントローラ(図示せず)から周波数(データレート)の指示(indication)を受信し得る。第1のI/O電圧コントローラ205は、第1の温度センサー215からの温度示度(temperature reading)に基づいて温度を決定し得る。
[0034]第1のI/O電圧コントローラ205は、次いで、決定された周波数および温度に対応する信号スイング電圧マージンを決定し得る。スイング電圧マージンは、仕様において定義されているスイング電圧からの送信機220のスイング電圧の低減を表し得、仕様において定義されている信号スイング電圧は、ワーストケースシナリオに基づき得る。たとえば、スイング電圧マージンが−200mVであり、仕様におけるスイング電圧が1.1Vである場合、送信機220のスイング電圧は、900mVに設定され得る。信号スイング電圧マージンは、以下で説明するように、第1デバイス201と第2のデバイス202との間で電圧マージン検知プロシージャを実行することによって、特定の周波数および温度について決定され得る。
[0035]一実施形態では、電圧マージン検知プロシージャは、(1)所定の量だけ送信機220のスイング電圧を低減することと、(2)第1の信号経路203を介して送信機220から第2のデバイス202の受信機231に所定のデータパターンを送信することと、(3)第2のデバイスによって受信された所定のデータパターンを、第2のデバイスにおける所定のデータパターンのローカルコピーと比較することとを備える。受信されたデータパターンが所定のデータパターンに一致しなくなるまで、ステップ(1)〜(3)は繰り返され得る。受信されたデータパターンが所定のデータパターンにもはや一致しないとき、電圧マージンは、パターンが一致した最も低いスイング電圧に基づいて決定され得る。
[0036]電圧マージン検知プロシージャは、各温度−周波数ペアについてスイング電圧マージンを取得するために、複数の異なる温度および周波数の各々1つにおいて実行され得る。スイング電圧マージンは、ルックアップテーブル300に入力され(enter into)得、それの一例が図3に示されている。この例では、25℃の温度および200MHzの周波数において、スイング電圧マージンは−200mVであり、これは、スイング電圧が、仕様において定義されている信号スイング電圧よりも200mV小さい値に設定され得ることを意味する。仕様におけるスイング電圧が1.1Vである場合、スイング電圧は900mV(すなわち、1.1V−200mV)である。このことは、第1の送信機220のスイング電圧が、仕様において定義されているスイング電圧において固定される(fixed at)、従来の手法と比較して、I/Oインターフェース210による電力消費の実質的な低減を生じる。ルックアップテーブルは、第1のデバイス201上の不揮発性メモリに記憶され得る。対応する電圧マージンの代わりに、決定されたスイング電圧がルックアップテーブルに入力され得ることを諒解されたい。したがって、本開示全体にわたって、スイング電圧(たとえば、900mV)がルックアップテーブルにおいて使用され得ることを理解されたい。
[0037]次に、本開示の一実施形態による、ルックアップテーブル(たとえば、ルックアップテーブル300)中の位置についてのスイング電圧マージンを決定するための方法について説明する。最初に、第1のI/O電圧コントローラ205は、第1の送信機220からの送信を、ルックアップテーブル中の周波数のうちの1つに一致する周波数に設定し得る。第1のI/O電圧コントローラ205はまた、第1の温度センサー215からの温度示度に基づいて、第1のI/Oインターフェース210の温度を決定し得る。
[0038]周波数が設定され、温度決定された後、第1のI/O電圧コントローラ205は、仕様におけるスイング電圧(たとえば、1.1V)から開始して、電圧ステップによって第1の送信機220のスイング電圧を漸進的(incrementally)に低減し得る。スイング電圧が低減されるたびに、送信機220は、第1の信号経路203を介して第2のデバイス202の受信機231に所定のデータパターンを送信し得る。スイング電圧のうちの1つにおいてパターンが第2のデバイス202によって受信されるたびに、パターンが第2のデバイス202によって正常に受信されたかどうか決定が行われ得る。この決定は、いくつかの異なる方法のうちのいずれか1つを使用して行われ得る。
[0039]たとえば、第2のデバイス202における第2のI/O電圧コントローラ206は、受信機231からパターンを受信し、受信されたパターンを所定のデータパターンのローカルコピーと比較し得る。受信されたパターンがパターンのローカルコピーに一致する場合、第2のI/O電圧コントローラ206は、パターンが正常に受信されたと決定し得、受信されたパターンがパターンのローカルコピーに一致しない場合、第2のI/O電圧コントローラ206は、パターンが正常に受信されなかったと決定し得る。第2のI/O電圧コントローラ206は、次いで、第1のI/O電圧コントローラ205に、パターンが正常に受信されたかどうかの指示を、送り得る。第2のI/O電圧コントローラ206は、第2のデバイス202の送信機230を使用して、第2の信号経路204を介して指示を送信し得る。送信機230は、指示が第1のデバイス201によって確実に(reliably)受信されることを保証するために、高いスイング電圧および/または低い周波数を使用して指示を第1のデバイス201に送信し得る。高いスイング電圧は、パターンが第1のデバイス201から送信されたスイング電圧よりも大きくなり得る。低い周波数は、パターンが第1のデバイス201から第2のデバイス202に送信された周波数よりも低くなり得る。
[0040]別の例では、第2のI/O電圧コントローラ206は、第2のデバイス202の送信機230を使用して、受信されたパターンを第2の信号経路204を介してもとの第1のデバイス202に送信し得る。送信機230は、高いスイング電圧および/または低い周波数を使用してパターンをもとの第1のデバイス201に送信し得る。高いスイング電圧は、パターンが第1のデバイス201から送信されたスイング電圧よりも大きくなり得る。低い周波数は、パターンが第1のデバイス201から第2のデバイス202に送信された周波数よりも低くなり得る。これは、第1のデバイス201が、パターンが第2のデバイス202によって受信されたようにパターンを正確に(accurately)受信することと、受信されたパターンと送信されたパターンとの間の不一致が、第1のデバイス201から第2のデバイス202への送信によるのものであることと、を保証する。受信されたパターンが送信されたパターンに一致する場合、第1のI/O電圧コントローラ205は、パターンが第2のデバイス202によって正常に受信されたと決定し得、受信されたパターンが送信されたパターンに一致しない場合、第1のI/O電圧コントローラ205は、パターンが第2のデバイス202によって正常に受信されなかったと決定し得る。
[0041]また別の例では、第1のデバイス201から第2のデバイス202に送信されるデータパターンは、誤り検出アルゴリズムを使用してデータ部分から計算される誤り検出部分(たとえば、パリティ検査ビット、巡回冗長検査ビットなど)とデータ部分とを備え得る。データパターンを受信すると、第2のI/O電圧コントローラ206は、受信されたデータ部分から誤り検出部分を再計算し、再計算された誤り検出部分を受信された誤り検出部分と比較し得る。再計算された誤り検出部分が受信された誤り検出部分に一致する場合、第2のI/O電圧コントローラ206は、パターンが正常に受信されたと決定し得、再計算された誤り検出部分が受信された誤り検出部分に一致しない場合、第2のI/O電圧コントローラ206は、パターンが正常に受信されなかったと決定し得る。第2のI/O電圧コントローラ206は、次いで、パターンが正常に受信されたかどうかの指示を第1のI/O電圧コントローラ205に送り得る。
[0042]所定のデータパターンを異なるスイング電圧において送信した後に、第1のI/O電圧コントローラ205は、パターンが第2のデバイス202によって正常に受信されたスイング電圧のうちの最も低い1つを決定し得る。第1のI/O電圧コントローラ205は、次いで、仕様におけるスイング電圧と最も低いスイング電圧との間の差に基づいてスイング電圧マージンを計算し、スイング電圧マージンをルックアップテーブル中の対応する位置に入力し得る。より控えめであるように(To be more conservative)、第1のI/O電圧コントローラ205は、電圧マージンを決定するために、パターンが正常に受信された2番目または3番目に低いスイング電圧を使用し得る。
[0043]いくつかの態様では、第1のI/O電圧コントローラ205は、スイング電圧マージンをルックアップテーブルに入力する前に、少量だけスイング電圧マージンを低減し得る。これは、スイング電圧マージンをより控えめ(conservative)にするために行われ得る。
[0044]温度センサー215からの温度がルックアップテーブル中の温度に一致しない場合、第1のI/O電圧コントローラ205は、ルックアップテーブル中の次に低い温度を決定し得る。たとえば、図3中のテーブル300を使用すると、検知された温度が48℃である場合、テーブル300中の次に低い温度は45℃である。この例では、第1のI/O電圧コントローラ205がスイング電圧マージンを決定した後に、第1のI/O電圧コントローラ205は、ルックアップテーブル中の設定された周波数と次に低い温度とに対応する位置(position)にスイング電圧マージンを入力し得る。電圧マージンは、所与の周波数について温度が増加するにつれて減少する傾向があるので、より高い温度において決定された電圧マージンは、より低い温度において機能する(work)はずである。
[0045]したがって、第1のI/O電圧コントローラ205は、周波数−温度ペアについての電圧マージンを決定することが可能であり、電圧マージンは、ワーストケースシナリオに基づく仕様において定義されているスイング電圧と比較して送信機220のスイング電圧の低減を表し得る。決定された電圧マージンは、第1の信号経路203を介した第1のデバイス201から第2のデバイス202への正常な送信のために必要とされるスイング電圧の量に影響を及ぼす、第1の信号経路203の静的パラメータを考慮に入れる。これは、電圧マージンが、第1の信号経路203を介した送信に基づいて決定されるからである。静的パラメータは、第1の信号経路203の周波数応答、インピーダンス、および/または次元を含み得る。第1の信号経路203は、PCB上のトレース、チップパッケージ接続(たとえば、はんだバンプまたはボール)、ボードコネクタ、またはそれらの任意の組合せを含み得る。その結果、(ケースの大部分を表す)非ワーストケースの場合、決定された電圧マージンは、第1のI/O電圧コントローラ205が、第1のデバイス201と第2のデバイス202との間の信頼できる通信を維持しながら電力消費を低減するようにスイング電圧を低減することを可能にする。
[0046]いくつかの態様では、電圧マージンルックアップテーブルは製造業者によってポピュレートされ得、製造業者は、対応するスイング電圧マージンを得る(yield)ためにそれぞれの動作周波数のために、制御された温度を適用し得る。たとえば、製造業者は、(たとえば、温度制御されたチャンバを使用して)複数の異なる温度の各々1つまでI/Oインターフェース210を連続的に加熱し得る。各温度において、第1のI/O電圧コントローラ205は、1つまたは複数の異なる周波数における1つまたは複数のスイング電圧マージンを決定し、決定されたスイング電圧マージンをルックアップテーブルに入力し得る。いくつかの態様では、I/O電圧コントローラ205は、I/Oインターフェース210がアイドル状態(たとえば、データトラフィックなし)にあるとき、電圧マージンルックアップテーブルをポピュレートし得る。ルックアップテーブルは、製造業者によってと、アイドル時間中との両方で、スイング電圧マージンでポピュレートされ得ることを諒解されたい。
[0047]いくつかの態様では、ルックアップテーブルは最初に、図3に示されている(たとえば、25℃の温度および200MHzの周波数における)スイング電圧マージン301、(たとえば、105℃の温度および200MHzの周波数における)スイング電圧マージン302、(たとえば、25℃の温度および1600MHzの周波数における)スイング電圧マージン303、(たとえば、105℃の温度および1600MHzの周波数における)スイング電圧マージン304など、コーナーのケースでポピュレートされ得る。この点において、ルックアップテーブル300中の残りの位置についての電圧マージンは、ルックアップテーブル300中のすでにキャプチャされた電圧マージンから外挿(extrapolate)および/または補間され得る。いくつかの態様では、その後(subsequently)、上記で説明した実施形態のいずれかに従って(たとえば、アイドル状態中に)電圧マージン検知プロシージャを使用して、残りの位置のうちの1つについての電圧マージンが決定され得、決定された電圧マージンは、テーブル中の対応する外挿または補間された電圧マージンを置き換え得る。
[0048]動作中に、第1のI/O電圧コントローラ205は、上記で説明したように、周波数変化および/または温度変化を検知し得る。周波数変化および/または温度変化に応答して、第1のI/O電圧コントローラ205は、ルックアップテーブル(たとえば、ルックアップテーブル300)から対応するスイング電圧マージンを取得し得る。第1のI/O電圧コントローラ205は、次いで、電圧マージンに基づいて送信機220の信号スイング電圧を調整し得る。たとえば、電圧マージンが−200mVである場合、第1のI/O電圧コントローラ205は、仕様において定義されている信号スイング電圧を200mV下回る電圧に、信号スイング電圧を調整し得る。さらに、第1のI/O電圧コントローラ205は、電圧マージンに従って1つまたは複数の電源電圧を調整するために、制御信号を電源208に送り得る。たとえば、送信機220は、2つの電圧供給レール(voltage supply rail)間で電力供給され得、電圧コントローラは、電源208に、2つの供給レールにわたる電圧が所望のスイング電圧に対応するようにレールのうちの1つまたは複数の電源電圧を調整するように指令し得る。ルックアップテーブルがスイング電圧を含んでいる例では、第1のI/O電圧コントローラ205は、周波数変化および/または温度変化に対応するスイング電圧を取り出し、取り出されたスイング電圧に従って送信機220のスイング電圧を調整し得る。
[0049]いくつかの態様では、第1のI/O電圧コントローラ205は、信号スイング電圧を調整する前に、データトラフィックを停止させ(stall)得る(中断し得る)。データトラフィックが停止させられている間、第1のI/O電圧コントローラ205は、送信機220のスイング電圧を調整し得る。電圧調整の後に、第1のI/O電圧コントローラ205はデータトラフィックを再開し得る。これは、電圧調整がデータトラフィックをひずませないように行われ得る。データトラフィックは、第1のデバイス201の送信機220によって送信され、第2のデバイス202の受信機231によって受信され得る。図2では、第1のデバイス201における発信(outgoing)データトラフィックは、「データアウト」と示され、第2のデバイス202における受信データトラフィックは、「データイン」と示される。
[0050]いくつかの態様では、第1のI/O電圧コントローラ205は、事前に(すなわち、周波数変化が実装される前に)周波数変化を決定し得る。たとえば、周波数を制御するデバイス(たとえば、メモリコントローラ)が、周波数が新しい周波数に変更されることになるという指示を、第1のI/O電圧コントローラ205に送り得る。応答して、第1のI/O電圧コントローラ205は、ルックアップテーブル(たとえば、ルックアップテーブル300)から新しい周波数および現在の温度に対応するスイング電圧マージンを取得し得る。第1のI/O電圧コントローラ205は、次いで、データトラフィックを停止させ得る(中断し得る)。データトラフィックが停止させられている間、第1のI/O電圧コントローラ205は、送信機220のスイング電圧を調整し得る。さらに、この時間中に、周波数は、新しい周波数に変更され、整定する(settle)ことを可能にされ得る。電圧調整および周波数変化の後に、第1のI/O電圧コントローラ205はデータトラフィックを再開し得る。代替的に、周波数を制御するデバイスは、周波数を変更するために、ある時間期間の間データトラフィックを停止させ得る。データトラフィックが停止させられている間、第1のI/O電圧コントローラ205はスイング電圧を調整し得る。
[0051]いくつかの態様では、第1のI/O電圧コントローラ205が、特定の周波数および検知された温度についてスイング電圧マージンを決定するためにルックアップテーブル(たとえば、ルックアップテーブル300)を調べる(consult)とき、ルックアップテーブルは、検知された温度に一致するエントリを有しないことがある。この場合、第1のI/O電圧コントローラ205は、対応する周波数におけるエントリがある、ルックアップテーブル中の次に高い温度を決定し、次に高い温度に対応するスイング電圧マージンを選択し得る。たとえば、図3中のテーブル300を使用すると、検知された温度が40℃であり、周波数が200MHzである場合、第1のI/O電圧コントローラ205は、テーブル300中の45℃の温度(次に高い温度)および200MHzの周波数におけるスイング電圧マージン(たとえば−180mV)を選択し得る。(次に低い温度とは対照的に)次に高い温度についてのスイング電圧マージンを選択することは控えめな手法である。これは、スイング電圧マージンは、所与の周波数について温度が増加するにつれて減少する傾向があるからである。その結果、次に高い温度に対応するスイング電圧マージンは、検知された温度において十分なスイング電圧を与えるはずである。
[0052]いくつかの態様では、第1のI/O電圧コントローラ205が、第1の温度センサー215から温度示度を受信したとき、第1のI/O電圧コントローラ205は、温度示度に小さい温度マージン(たとえば、2度)を加算し、加算された温度マージンをもつ温度示度に基づいて、上記で説明した動作を実行し得る。小さい温度マージンは、温度を検出する際および/または温度の変化に応答する際、遅延をなくす(account for)ために使用され得る。
[0053]いくつかの態様では、第1のI/O電圧コントローラ205が温度の変化を検出したとき、第1のI/O電圧コントローラ205は、スイング電圧を調整すべきかどうかを決定する前に、温度の変化の大きさを決定し得る。たとえば、第1のI/O電圧コントローラ205は、温度センサー215からの新しい温度示度と、古い温度示度(たとえば、スイング電圧が調整された最後の時間における温度示度)との間の絶対差を計算し得る。第1のI/O電圧コントローラ205は、次いで、絶対差を温度ヒステリシス値と比較し得る。絶対温度差が、温度ヒステリシス値に等しいかまたはそれを下回る場合、第1のI/O電圧コントローラ205は、現在のスイング電圧をそのままにしておくことがある。絶対差が温度ヒステリシス値を上回る場合、第1のI/O電圧コントローラ205は、新しい温度および周波数に基づいてスイング電圧が調整される必要があるかどうかを決定するために、ルックアップテーブルを調べ得る。より詳細には、第1のI/O電圧コントローラ205は、新しい温度および周波数に対応するルックアップテーブル中のスイング電圧マージンを決定し得る。決定されたスイング電圧マージンが現在のスイング電圧マージンとは異なる場合、第1のI/O電圧コントローラ205は、上記で説明したように、決定されたスイング電圧マージンに従ってスイング電圧を調整し得る。他の場合、第1のI/O電圧コントローラ205は、現在のスイング電圧をそのままにしておくことがある。温度ヒステリシス値は、第1のI/O電圧コントローラ205が小さい温度変動(fluctuations)によりスイング電圧を絶えず変更するのを防ぐために使用され得る。
[0054]いくつかの態様では、第1のI/O電圧コントローラ205が周波数の変化(change in the frequency)を決定するとき、第1のI/O電圧コントローラ205は、周波数変化が、周波数が1つまたは複数の所定の周波数境界を越える(cross)かどうかを決定し得る。周波数が周波数境界のうちの1つを越えない場合、第1のI/O電圧コントローラ205は、現在のスイング電圧をそのままにしておくことがある。周波数が周波数境界のうちの少なくとも1つを越える場合、第1のI/O電圧コントローラ205は、現在の温度と周波数変化とに基づいてルックアップテーブルから電圧マージンを取得し、取得された電圧マージンに基づいてスイング電圧を調整し得る。1つまたは複数の周波数境界は、第1のI/O電圧コントローラ205が、周波数の変化がスイング電圧マージンの小さい変化のみに対応するときにスイング電圧を調整するのを防ぐために使用され得る。この例では、周波数境界は、所定の量を超える量だけ異なる、スイング電圧マージンに対応する2つの隣接する周波数間に配置され(placed)得る。
[0055]第2の送信機230のスイング電圧はまた、上記で説明した技法のいずれかを使用して調整され得ることを諒解されたい。たとえば、第2のI/O電圧コントローラ206は、上記で説明した実施形態のいずれかによる電圧マージン検知プロシージャを使用して、特定の周波数および温度についてスイング電圧マージンを決定し得る。この点について、第2のI/O電圧コントローラ206は、電圧ステップによって送信機230におけるスイング電圧を漸進的に低減し得る。スイング電圧が低減されるたびに、送信機230は、第2の信号経路204を介して第1のデバイス202の受信機221に所定のデータパターンを送信し得る。スイング電圧のうちの1つにおいてパターンが第1のデバイス201によって受信されるたびに、上記で説明した技法のいずれかを使用して、パターンが第1のデバイス201によって正常に受信されたかどうか決定が行われ得る。所定のデータパターンを異なるスイング電圧において送信した後に、第2のI/O電圧コントローラ206は、パターンが第1のデバイス201によって正常に受信されたスイング電圧のうちの最も低い1つを決定し得る。第2のI/O電圧コントローラ206は、次いで、仕様におけるスイング電圧と最も低いスイング電圧との間の差に基づいてスイング電圧マージンを計算し、スイング電圧マージンを第2のデバイス202のためのルックアップテーブルに入力し得る。
[0056]動作中に、第2のI/O電圧コントローラ206は、周波数変化および/または温度変化を検知し得る。たとえば、第2のI/O電圧コントローラ206は、第2の温度センサー216からの温度示度に基づいて温度変化を検知し得る。周波数変化および/または温度変化に応答して、第2のI/O電圧コントローラ206は、第2のデバイス202のためのルックアップテーブルから対応するスイング電圧マージンを取得し得る。第2のI/O電圧コントローラ206は、次いで、電圧マージンに基づいて送信機230の信号スイング電圧を調整し得る。さらに、第2のI/O電圧コントローラ206は、電圧マージンに従って1つまたは複数の電源電圧を調整するために、制御信号を電源208に送り得る。したがって、第2のI/O電圧コントローラ206は、第1のI/O電圧コントローラ205について上記で説明した技法のいずれかを使用して、送信機230のスイング電圧を動的に調整し得る。言い換えれば、スイング電圧調整は、一方向に限定されず、いずれの方向でも送信された信号に適用され得る。
[0057]システム200が、第1のデバイス201から第2のデバイス202に信号(たとえば、データ信号)を搬送する複数の信号経路(レーンまたはチャネル)を備え得ることを諒解されたい。この例では、第1のデバイス201は複数の送信機(各信号経路のために1つ)を備え得る。第1のI/O電圧コントローラ205は、上記で説明した技法のいずれかを使用して、各送信機のスイング電圧を個々に調整し得る。
[0058]代替的に、第1のI/O電圧コントローラ205は、送信機のすべてについて同じスイング電圧を使用し得る。たとえば、特定の周波数および温度について、第1のI/O電圧コントローラ205は、以下のプロシージャを使用して対応するスイング電圧マージンを決定し得る。最初に、第1のI/O電圧コントローラ205は、仕様におけるスイング電圧から開始する、電圧ステップによって送信機のすべてについてスイング電圧を漸進的に低減し得る。スイング電圧が低減されるたびに、送信機は信号経路の各々上で所定のデータパターンを送信し得る。スイング電圧のうちの1つにおいてパターンが信号経路を介して送信されるたびに、パターンが第2のデバイス202によって各信号経路を介して正常に受信されたかどうか決定が行われ得る。たとえば、第2のI/O電圧コントローラ206は、各信号経路を介して受信されたパターンを、所定のパターンと比較し得る。第2のI/O電圧コントローラ206は、各信号経路についての受信されたパターンが所定のパターンに一致する場合、送信が成功だったと決定し、信号経路のうちの1つまたは複数についての受信されたパターンが所定のパターンに一致しない場合、送信が不成功だったと決定し得る。第2のI/O電圧コントローラ206は、次いで、送信が正常だったかどうかを第1のI/O電圧コントローラ205に通信し得る。所定のデータパターンを異なるスイング電圧において送信した後に、第1のI/O電圧コントローラ205は、パターンが信号経路のすべてを介して正常に受信機だったスイング電圧のうちの最も低い1つを決定し、最も低いスイング電圧に基づいて電圧マージンを決定し得る。
[0059]図4は、本開示の一実施形態による、周波数変化に応答してI/Oインターフェース(たとえば、第1のI/Oインターフェース210または第2のI/Oインターフェース211)のスイング電圧を調整するための例示的なプロセス400の流れ図である。例示的なプロセス400は、一例として与えられるにすぎず、本明細書で説明する様々な実施形態の範囲内で、追加のステップまたはより少ないステップが、同様のまたは代替の順序で、あるいは並列に実行され得る。プロセス400は、I/O電圧コントローラ(たとえば、第1のI/O電圧コントローラ205または第2のI/O電圧コントローラ206)によって実行され得る。
[0060]ステップ401において、周波数が新しい周波数に変更されたかどうか決定が行われる。一態様では、周波数が変更されることになるという指示が、周波数を制御するデバイス(たとえば、メモリコントローラ)によって受信され得る。周波数の変化が決定された場合、プロセス400はステップ402に進む。他の場合、プロセス400はステップ401において戻る。
[0061]ステップ402において、新しい周波数が(「A」と示される)周波数しきい値よりも小さいかまたはそれに等しいかどうか決定が行われる。周波数しきい値は、周波数の変化が信号スイング電圧の変化を必要とすることになる、周波数境界に関係し得る。いくつかの態様では、周波数しきい値は、ルックアップテーブル中に含まれる周波数の範囲にわたる、電圧マージンが著しい量だけ変化し始める周波数に対応する。新しい周波数が、周波数しきい値よりも小さいかまたはそれに等しい場合、プロセス400はステップ403に進む。他の場合、プロセス400はステップ407に進む。
[0062]ステップ403において、古い周波数が周波数しきい値よりも大きいかどうか決定が行われる。古い周波数は、周波数変化の前の周波数であり得る。古い周波数が周波数しきい値よりも大きい場合、プロセス400はステップ404に進む。これは、周波数変化が、周波数を周波数しきい値を下に越えさせるとき、起こり得る。他の場合、プロセス400はステップ401に戻る。
[0063]ステップ404において、新しい周波数および現在の温度に対応する電圧マージンがルックアップテーブル(たとえば、ルックアップテーブル300)から取得される。
[0064]ステップ405において、データトラフィックを停止させる。データトラフィックが停止させられた後、プロセス400はステップ406に進む。
[0065]ステップ406において、ルックアップテーブルから取得された電圧マージンに基づいて信号スイング電圧が低減される。プロセス400は次いでステップ412に進み、これについて以下でさらに説明する。
[0066]ステップ407において、新しい周波数が周波数しきい値よりも大きいかどうか決定が行われる。新しい周波数が周波数しきい値よりも大きい場合、プロセス400はステップ408に進む。他の場合、プロセスはステップ401に戻る。
[0067]ステップ408において、古い周波数が周波数しきい値よりも小さいかまたはそれに等しいかどうか決定が行われる。古い周波数が、周波数しきい値よりも小さいかまたはそれに等しいと決定された場合、プロセス400はステップ409に進む。これは、周波数変化が、周波数を周波数しきい値を上に越えさせるとき、起こり得る。他の場合、プロセス400はステップ401に戻る。
[0068]ステップ409において、新しい周波数および現在の温度に対応する電圧マージンがルックアップテーブル(たとえば、ルックアップテーブル300)から取得される。
[0069]ステップ410において、データトラフィックを停止させる。データトラフィックを停止させた後に、プロセス400はステップ411に進む。
[0070]ステップ411において、ルックアップテーブルから取得された電圧マージンに基づいて信号スイング電圧を増加させる。プロセス400は、次いでステップ412に進む。
[0071]ステップ412において、周波数は、新しい周波数に変更され、整定することを可能にされる。
[0072]ステップ413において、信号スイング電圧調整の後および周波数が新しい周波数に整定した後に、データトラフィックが再開される。
[0073]ステップ414において、プロセス400は、ヒステリシスタイマーが満了する(expire)まで、周波数を減少させるための任意のコマンドを遅延させる。コマンドは、周波数を制御するデバイス(たとえば、メモリコントローラ)からのものであり得る。その結果、周波数は、周波数変化の後に直ちに下がらない。これは、周波数を生成する回路(たとえば、位相ロックループ(PLL)および分周器)が周波数を上および下に絶えず変更するのを防ぐ。いくつかの態様では、ヒステリシスタイマーは、周波数を増加させるためのコマンドに適用されない。これは、長い遅延が、できるだけ早くより高い周波数を必要とする(たとえば、第1のデバイス201上の)クライアントを窮乏させる(starve)ことがあるからである。
[0074]プロセス400が1つの周波数しきい値に限定されないことを諒解されたい。たとえば、プロセス400は、上記で説明したように、各しきい値が周波数境界に対応する複数の周波数しきい値を有し得る。この例では、ステップ401において周波数変化が決定されたとき、プロセス400は、周波数変化が、周波数を周波数しきい値のうちの1つまたは複数を下に越えさせるかどうかを決定し得る。下に越える場合、プロセスはステップ404に進み得る。そうでない場合、プロセス400は、周波数変化により、周波数が周波数しきい値のうちの1つまたは複数を上に越えるかどうかを決定し得る。上に越える場合、プロセスはステップ409に進み得る。他の場合、プロセス400はステップ401に戻り得る。
[0075]図5は、本開示の一実施形態による、温度変化に応答してI/Oインターフェース(たとえば、第1のI/Oインターフェース210または第2のI/Oインターフェース211)のスイング電圧を調整するための例示的なプロセス500の流れ図である。例示的なプロセス500は、一例として与えられるにすぎず、本明細書で説明する様々な実施形態の範囲内で、追加のステップまたはより少ないステップが、同様のまたは代替の順序で、あるいは並列に実行され得る。プロセス500は、I/O電圧コントローラ(たとえば、第1のI/O電圧コントローラ205または第2のI/O電圧コントローラ206)によって実行され得る。
[0076]ステップ501において、温度の変化があるかどうか決定が行われる。温度変化は、温度センサー(たとえば、第1の温度センサー215または第2の温度センサー216)を使用して検出され得る。温度の変化が決定された場合、プロセス500はステップ502に進む。他の場合、プロセス500はステップ501に戻る。
[0077]ステップ502において、新しい温度と古い温度との間の絶対差が(「THysteresis」と示される)温度しきい値よりも大きいかどうか決定が行われる。新しい温度は、温度センサーからの現在の温度であり得、古い温度は、スイング電圧が調整された最後の時間における(at the last time)温度であり得る。新しい温度と古い温度との間の絶対差が温度しきい値よりも大きい場合、プロセス500はステップ503に進む。他の場合、プロセス500はステップ501に戻る。温度しきい値は、小さい温度変動によりスイング電圧が常に変化するのを防ぐために使用され得る。
[0078]ステップ503において、新しい温度が古い温度よりも大きいかどうか決定が行われる。新しい温度がより大きい場合、プロセス500はステップ504に進む。他の場合、プロセス500はステップ507に進む。
[0079]ステップ504において、新しい温度および現在の周波数に対応する電圧マージンがルックアップテーブル(たとえば、ルックアップテーブル300)から取得される。
[0080]ステップ505において、データトラフィックを停止させる。データトラフィックを停止させた後に、プロセス500はステップ506に進む。
[0081]ステップ506において、ルックアップテーブルから取得された電圧マージンに基づいて信号スイング電圧を増加させる。
[0082]プロセス500は次いでステップ510に進み、これについて以下でさらに説明する。
[0083]ステップ507において、新しい温度および現在の周波数に対応する電圧マージンがルックアップテーブル(たとえば、ルックアップテーブル300)から取得される。
[0084]ステップ508において、データトラフィックが停止させられる。データトラフィックを停止させた後に、プロセス500はステップ509に進む。
[0085]ステップ509において、ルックアップテーブルから取得された電圧マージンに基づいて信号スイング電圧を低減する。プロセス500は、次いでステップ510に進む。
[0086]ステップ510において、信号スイング電圧調整の後にデータトラフィックが再開される。
[0087]ステップ511において、古い温度が新しい温度に等しく設定され、プロセス500はステップ501に戻る。
[0088]いくつかの態様では、ステップ504において、新しい温度に対応する電圧マージンがルックアップテーブルから取得された後、プロセス500は、新しい温度に対応する電圧マージンが現在の電圧マージンと異なるかどうかを決定し得る。それらが異なる場合、プロセス500は、上記で説明したステップ505に進み得る。それらが同じである場合、プロセス500はステップ501に戻り得る。同様に、ステップ507において、新しい温度に対応する電圧マージンがルックアップテーブルから取得された後に、プロセス500は、新しい温度に対応する電圧マージンが現在の電圧マージンとは異なるかどうかを決定し得る。それらが異なる場合、プロセス500は、上記で説明したように、ステップ508に進み得る。それらが同じである場合、プロセス500はステップ501に戻り得る。
[0089]図6は、本開示の一実施形態による、スイング電圧を決定するための例示的なプロセス600の流れ図である。例示的なプロセス600は、一例として与えられるにすぎず、本明細書で説明する様々な実施形態の範囲内で、追加のステップまたはより少ないステップが、同様のまたは代替の順序で、あるいは並列に実行され得る。プロセス600は、I/O電圧コントローラ(たとえば、第1のI/O電圧コントローラ205および/または第2のI/O電圧コントローラ206)によって実行され得る。
[0090]ステップ610において、所定の量だけ送信機におけるスイング電圧を低減する。たとえば、送信機(たとえば、送信機220または送信機230)におけるスイング電圧は、仕様において定義されているスイング電圧から低減され得る。
[0091]ステップ620において、信号経路を介して低減されたスイング電圧において送信機から受信機に信号を送信する。たとえば、送信機および受信機(たとえば、受信機221または受信機231)は別個のチップ上に配置され得、信号は信号経路(たとえば、PCB上のトレース)を介して送信され得、ここにおいて、信号経路は送信機と受信機との間のチップ間通信を与える。
[0092]ステップ630において、信号が受信機によって正常に受信されたかどうか決定を行う。たとえば、受信機に送信された信号は、所定のデータパターンを備え得る。この例では、受信機によって受信されたパターンが送信されたパターンに一致する場合、信号が正常に送信されたという決定が行われ得る。
[0093]ステップ640において、信号が正常に受信されたかどうかの決定に少なくとも部分的に基づいて、送信機のためのスイング電圧を決定する。たとえば、低減されたスイング電圧において信号が正常に受信された場合、送信機のためのスイング電圧は、後続のデータ送信について低減されたスイング電圧に設定され得る。スイング電圧が、仕様において定義されているスイング電圧から低減される例では、低減されたスイング電圧を使用することは、仕様において定義されているスイング電圧を使用することと比較して、送信機による電力消費を低減する。
[0094]本開示についての以上の説明は、いかなる当業者も本開示を作成または使用することができるように与えたものである。本開示への様々な変更は当業者には容易に明らかになり、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用され得る。したがって、本開示は、本明細書で説明した例に限定されるものではなく、本明細書で開示した原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
[0095]たとえば、I/O電圧コントローラ205および206の各々は、上記で説明した機能のうちの1つまたは複数を実行するように構成されたプロセッサを備え得る。本明細書で使用されるように、「プロセッサ」という用語は、限定はしないが、シングルコアプロセッサ、ソフトウェアマルチスレッド実行能力をもつシングルプロセッサ、ソフトウェアマルチスレッド実行能力をもつマルチコアプロセッサ、ハードウェアマルチスレッド技術を用いたマルチコアプロセッサ、並列プラットフォーム、および分散共有メモリをもつ並列プラットフォームを備える。さらに、プロセッサは、集積回路、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理コントローラ(PLC)、複合プログラマブル論理デバイス(CPLD)、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを指すことができる。プロセッサは、空間使用を最適化するかまたはユーザ機器の性能を向上させるためにナノスケールを活用することができる。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
[0096]さらに、本明細書では、「メモリ」という用語は、データストア、アルゴリズムストア、ならびに、限定はしないが、画像ストア、デジタル音楽およびビデオストア、チャートおよびデータベースなど、他の情報ストアを指す。本明細書で説明するメモリ構成要素は、揮発性メモリまたは不揮発性メモリのいずれかであり得るか、あるいは揮発性メモリと不揮発性メモリの両方を含むことができることを諒解されよう。限定ではなく例として、不揮発性メモリは、読取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能ROM(EEPROM(登録商標))、またはフラッシュメモリを含むことができる。揮発性メモリは、外部キャッシュメモリとして働くランダムアクセスメモリ(RAM)を含むことができる。いくつかの異なるタイプのメモリおよびメモリ技術が利用可能であるかまたは将来企図され、それらのすべてが、様々な態様とともに使用するのに好適である。そのようなメモリ技術/タイプは、同期RAM(SDRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、拡張SDRAM(ESDRAM)、シンクリンクDRAM(SLDRAM)、およびダイレクトランバスRAM(DRRAM(登録商標))、相変化メモリ(PRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、擬似スタティックランダムアクセスメモリ(PSDRAM)、ならびに当技術分野で知られている他のランダムアクセスメモリ(RAM)および読取り専用メモリ(ROM)技術を含む。さらに、本明細書でのシステムおよび/または方法の開示するメモリ構成要素は、これらおよび任意の他の好適なタイプのメモリを、それらに限定されることなく、備えるものとする。
[0097]上述のメモリ技術は、たとえば、コンピュータまたは他のデジタル電子デバイスにおけるまたはそれによる使用のための命令、プログラム、制御信号、および/またはデータを記憶するのに好適な要素を含む。個々のタイプのメモリ、インターフェース、規格またはメモリ技術に関係する用語および/または技術詳細への言及は説明のためにすぎず、クレームの文言に明記されていない限り、特許請求の範囲を特定のメモリシステムまたは技術に限定するものではない。
[0098]ソフトウェア実装の場合、本明細書で説明した技法は、本明細書で説明した機能を実行するモジュール(たとえば、プロシージャ、関数など)を用いて実装され得る。ソフトウェアコードまたはコード命令は、メモリユニット、またはメモリコンピュータ可読媒体に記憶され、プロセッサによって実行され得る。メモリユニットまたはメモリは、プロセッサ内に実装されるか、またはプロセッサの外部に実装され得、その場合、それは、様々な従来の手段を介してプロセッサに通信可能に結合され得る。
[0099]1つまたは複数の例示的な実施形態では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、およびblu−ray(登録商標)ディスク(disc)を含み、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[00100]本明細書で開示する方法は、説明した方法を達成するための1つまたは複数のステップまたはアクションを備える。本方法のステップおよび/またはアクションは、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、説明した方法の適切な動作のためにステップまたはアクションの特定の順序が必要とされない限り、その順序、ならびに/あるいは特定のステップおよび/またはアクションの使用は、特許請求の範囲を逸脱することなく変更され得る。
[00101]上記で説明したことは、1つまたは複数の実施形態の例を含む。上述の実施形態を説明する目的で、構成要素または方法のあらゆる考えられる組合せについて説明することは、もちろん可能ではないが、様々な実施形態の多くのさらなる組合せおよび置換が可能であることを、当業者は認識し得る。したがって、説明した実施形態は、添付の特許請求の範囲の趣旨および範囲内に入るすべてのそのような改変形態、変更形態および変形形態を包含するものとする。さらに、「含む(include)」、「含む(including)」、「所有する(possess)」、および所有する(possessing)」、または「有する(have)」および「有する(having)」という用語が本明細書で使用される限りにおいて、そのような用語は、「備える(comprising)」という用語が使用時に請求項における移行語として使用されるとき解釈されるように、「備える(comprising)」と同様に包括的なものとする。
[00101]上記で説明したことは、1つまたは複数の実施形態の例を含む。上述の実施形態を説明する目的で、構成要素または方法のあらゆる考えられる組合せについて説明することは、もちろん可能ではないが、様々な実施形態の多くのさらなる組合せおよび置換が可能であることを、当業者は認識し得る。したがって、説明した実施形態は、添付の特許請求の範囲の趣旨および範囲内に入るすべてのそのような改変形態、変更形態および変形形態を包含するものとする。さらに、「含む(include)」、「含む(including)」、「所有する(possess)」、および所有する(possessing)」、または「有する(have)」および「有する(having)」という用語が本明細書で使用される限りにおいて、そのような用語は、「備える(comprising)」という用語が使用時に請求項における移行語として使用されるとき解釈されるように、「備える(comprising)」と同様に包括的なものとする。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
入力/出力(I/O)インターフェースと、
前記I/Oインターフェースの周波数または温度を決定し、前記I/Oインターフェースの前記決定された周波数または温度に少なくとも部分的に基づいて前記I/Oインターフェースのスイング電圧を調整するように構成された、I/O電圧コントローラとを備える、デバイス。
[C2]
前記I/Oインターフェースが、前記スイング電圧調整中にデータトラフィックを停止させ、前記スイング電圧調整の後、前記データトラフィックを再開するように構成された、C1に記載のデバイス。
[C3]
前記I/O電圧コントローラが、前記決定された周波数または温度に対応する電圧マージンを取得し、前記電圧マージンに基づいて前記I/Oインターフェースの前記スイング電圧を調整するように構成された、C1に記載のデバイス。
[C4]
ルックアップテーブルを記憶するメモリをさらに備え、ここにおいて、前記ルックアップテーブルが複数の電圧マージンを備え、前記電圧マージンの各々が、異なる温度−周波数ペアに対応し、ここにおいて、前記I/O電圧コントローラが、前記ルックアップテーブルから前記電圧マージンを取得するように構成された、C3に記載のデバイス。
[C5]
前記電圧マージンは、前記I/Oインターフェースの前記スイング電圧が所定のスイング電圧よりも小さい量を表す、C3に記載のデバイス。
[C6]
前記I/Oインターフェースの前記温度を検知し、前記検知された温度に基づいて温度示度を生成するように構成された温度センサーをさらに備え、ここにおいて、前記I/O電圧コントローラが、前記温度示度に基づいて前記I/Oインターフェースの前記温度を検出するように構成された、C1に記載のデバイス。
[C7]
前記I/Oインターフェースが、電源から電源電圧を受信し、前記I/O電圧コントローラが、前記I/Oインターフェースの前記スイング電圧に少なくとも部分的に基づいて前記電源の前記電源電圧を調整するように構成された、C1に記載のデバイス。
[C8]
前記I/Oインターフェースが、信号経路を介して第2のデバイスに信号を送信するように構成された、C1に記載のデバイス。
[C9]
前記デバイスと前記第2のデバイスとが、別個のチップ上にある、C8に記載のデバイス。
[C10]
スイング電圧決定のための方法であって、
所定の量だけ送信機におけるスイング電圧を低減することと、
信号経路を介して前記低減されたスイング電圧において前記送信機から受信機に信号を送信することと、
前記信号が前記受信機によって正常に受信されたかどうかを決定することと、
前記信号が正常に受信されたかどうかの前記決定に少なくとも部分的に基づいて、前記送信機のためのスイング電圧を決定することとを備える、方法。
[C11]
前記信号経路が、ボード上の1つまたは複数のトレース、1つまたは複数のパッケージ接続、あるいは1つまたは複数のボードコネクタを備える、C10に記載の方法。
[C12]
前記決定されたスイング電圧が、前記信号経路のインピーダンス、前記信号経路の周波数応答、または前記信号経路の次元を考慮する、C11に記載の方法。
[C13]
前記送信機と前記受信機とが、別個のチップ上にある、C11に記載の方法。
[C14]
前記信号がデータパターンを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データパターンを、前記受信機における前記データパターンのコピーに対して比較することを備える、C10に記載の方法。
[C15]
前記信号がデータパターンを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データパターンを、前記送信機によって送信された前記データパターンに対して比較することを備える、C10に記載の方法。
[C16]
前記信号がデータ部分と誤り検出部分とを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データ部分から、誤り検出部分を計算することと、前記計算された誤り検出部分を、前記受信機によって受信された前記誤り検出部分と比較することとを備える、C10に記載の方法。
[C17]
前記信号が前記受信機によって正常に受信されなくなるまで、前記低減するステップと前記送信するステップとを繰り返すことをさらに備え、ここにおいて、前記送信機のための前記スイング電圧を決定することは、前記信号が前記受信機によって正常に受信される、前記低減されたスイング電圧のうちの1つに少なくとも部分的に基づく、C10に記載の方法。
[C18]
前記送信機のための前記スイング電圧を決定することは、前記信号が前記受信機によって正常に受信される、前記低減されたスイング電圧のうちの最も低い1つに少なくとも部分的に基づく、C17に記載の方法。
[C19]
前記信号が送信される周波数を決定することと、
前記決定されたスイング電圧に対応する電圧マージンをルックアップテーブルに記憶することと、をさらに備え、ここにおいて、前記電圧マージンが、前記ルックアップテーブル中の前記周波数に関連付けられる、
C10に記載の方法。
[C20]
前記信号が送信される温度を検出することと、
前記決定されたスイング電圧に対応する電圧マージンをルックアップテーブルに記憶することと、をさらに備え、ここにおいて、前記電圧マージンが、前記ルックアップテーブル中の前記温度に関連付けられる、
C10に記載の方法。
[C21]
入力/出力(I/O)インターフェースと、
前記I/Oインターフェースの周波数または温度を決定するための手段と、
前記I/Oインターフェースの前記決定された周波数または温度に少なくとも部分的に基づいて前記I/Oインターフェースのスイング電圧を調整するための手段とを備える、デバイス。
[C22]
前記スイング電圧調整中にデータトラフィックを停止させるための手段と、
前記スイング電圧調整の後、前記データトラフィックを再開するための手段とをさらに備える、C21に記載のデバイス。
[C23]
前記決定された周波数または温度に対応する電圧マージンを取得するための手段と、
前記電圧マージンに基づいて前記I/Oインターフェースの前記スイング電圧を調整するための手段とをさらに備える、C21に記載のデバイス。
[C24]
ルックアップテーブルを記憶するための手段をさらに備え、ここにおいて、前記ルックアップテーブルが複数の電圧マージンを備え、前記電圧マージンの各々が、異なる温度−周波数ペアに対応し、ここにおいて、前記電圧マージンを取得するための前記手段が、前記ルックアップテーブルから前記電圧マージンを取得するための手段を備える、C23に記載のデバイス。
[C25]
前記電圧マージンは、前記I/Oインターフェースの前記スイング電圧が所定のスイング電圧よりも小さい量を表す、C23に記載のデバイス。
[C26]
前記I/Oインターフェースの前記温度を検知するための手段と、
前記検知された温度に基づいて温度示度を生成するための手段と、
前記温度示度に基づいて前記I/Oインターフェースの前記温度を検出するための手段とをさらに備える、C21に記載のデバイス。
[C27]
電源から電源電圧を受信するための手段と、
前記I/Oインターフェースの前記スイング電圧に少なくとも部分的に基づいて前記電源の前記電源電圧を調整するための手段とをさらに備える、C21に記載のデバイス。
[C28]
前記I/Oインターフェースが、信号経路を介して第2のデバイスに信号を送信するための手段を備える、C21に記載のデバイス。
[C29]
前記デバイスと前記第2のデバイスとが、別個のチップ上にある、C28に記載のデバイス。

Claims (29)

  1. 入力/出力(I/O)インターフェースと、
    前記I/Oインターフェースの周波数または温度を決定し、前記I/Oインターフェースの前記決定された周波数または温度に少なくとも部分的に基づいて前記I/Oインターフェースのスイング電圧を調整するように構成された、I/O電圧コントローラと
    を備える、デバイス。
  2. 前記I/Oインターフェースが、前記スイング電圧調整中にデータトラフィックを停止させ、前記スイング電圧調整の後、前記データトラフィックを再開するように構成された、請求項1に記載のデバイス。
  3. 前記I/O電圧コントローラが、前記決定された周波数または温度に対応する電圧マージンを取得し、前記電圧マージンに基づいて前記I/Oインターフェースの前記スイング電圧を調整するように構成された、請求項1に記載のデバイス。
  4. ルックアップテーブルを記憶するメモリをさらに備え、ここにおいて、前記ルックアップテーブルが複数の電圧マージンを備え、前記電圧マージンの各々が、異なる温度−周波数ペアに対応し、ここにおいて、前記I/O電圧コントローラが、前記ルックアップテーブルから前記電圧マージンを取得するように構成された、請求項3に記載のデバイス。
  5. 前記電圧マージンは、前記I/Oインターフェースの前記スイング電圧が所定のスイング電圧よりも小さい量を表す、請求項3に記載のデバイス。
  6. 前記I/Oインターフェースの前記温度を検知し、前記検知された温度に基づいて温度示度を生成するように構成された温度センサーをさらに備え、ここにおいて、前記I/O電圧コントローラが、前記温度示度に基づいて前記I/Oインターフェースの前記温度を検出するように構成された、請求項1に記載のデバイス。
  7. 前記I/Oインターフェースが、電源から電源電圧を受信し、前記I/O電圧コントローラが、前記I/Oインターフェースの前記スイング電圧に少なくとも部分的に基づいて前記電源の前記電源電圧を調整するように構成された、請求項1に記載のデバイス。
  8. 前記I/Oインターフェースが、信号経路を介して第2のデバイスに信号を送信するように構成された、請求項1に記載のデバイス。
  9. 前記デバイスと前記第2のデバイスとが、別個のチップ上にある、請求項8に記載のデバイス。
  10. スイング電圧決定のための方法であって、
    所定の量だけ送信機におけるスイング電圧を低減することと、
    信号経路を介して前記低減されたスイング電圧において前記送信機から受信機に信号を送信することと、
    前記信号が前記受信機によって正常に受信されたかどうかを決定することと、
    前記信号が正常に受信されたかどうかの前記決定に少なくとも部分的に基づいて、前記送信機のためのスイング電圧を決定することと
    を備える、方法。
  11. 前記信号経路が、ボード上の1つまたは複数のトレース、1つまたは複数のパッケージ接続、あるいは1つまたは複数のボードコネクタを備える、請求項10に記載の方法。
  12. 前記決定されたスイング電圧が、前記信号経路のインピーダンス、前記信号経路の周波数応答、または前記信号経路の次元を考慮する、請求項11に記載の方法。
  13. 前記送信機と前記受信機とが、別個のチップ上にある、請求項11に記載の方法。
  14. 前記信号がデータパターンを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データパターンを、前記受信機における前記データパターンのコピーに対して比較することを備える、請求項10に記載の方法。
  15. 前記信号がデータパターンを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データパターンを、前記送信機によって送信された前記データパターンに対して比較することを備える、請求項10に記載の方法。
  16. 前記信号がデータ部分と誤り検出部分とを備え、ここにおいて、前記信号が前記受信機によって正常に受信されたかどうかを決定することが、前記受信機によって受信された前記データ部分から、誤り検出部分を計算することと、前記計算された誤り検出部分を、前記受信機によって受信された前記誤り検出部分と比較することとを備える、請求項10に記載の方法。
  17. 前記信号が前記受信機によって正常に受信されなくなるまで、前記低減するステップと前記送信するステップとを繰り返すことをさらに備え、ここにおいて、前記送信機のための前記スイング電圧を決定することは、前記信号が前記受信機によって正常に受信される、前記低減されたスイング電圧のうちの1つに少なくとも部分的に基づく、請求項10に記載の方法。
  18. 前記送信機のための前記スイング電圧を決定することは、前記信号が前記受信機によって正常に受信される、前記低減されたスイング電圧のうちの最も低い1つに少なくとも部分的に基づく、請求項17に記載の方法。
  19. 前記信号が送信される周波数を決定することと、
    前記決定されたスイング電圧に対応する電圧マージンをルックアップテーブルに記憶することと、をさらに備え、ここにおいて、前記電圧マージンが、前記ルックアップテーブル中の前記周波数に関連付けられる、
    請求項10に記載の方法。
  20. 前記信号が送信される温度を検出することと、
    前記決定されたスイング電圧に対応する電圧マージンをルックアップテーブルに記憶することと、をさらに備え、ここにおいて、前記電圧マージンが、前記ルックアップテーブル中の前記温度に関連付けられる、
    請求項10に記載の方法。
  21. 入力/出力(I/O)インターフェースと、
    前記I/Oインターフェースの周波数または温度を決定するための手段と、
    前記I/Oインターフェースの前記決定された周波数または温度に少なくとも部分的に基づいて前記I/Oインターフェースのスイング電圧を調整するための手段と
    を備える、デバイス。
  22. 前記スイング電圧調整中にデータトラフィックを停止させるための手段と、
    前記スイング電圧調整の後、前記データトラフィックを再開するための手段と
    をさらに備える、請求項21に記載のデバイス。
  23. 前記決定された周波数または温度に対応する電圧マージンを取得するための手段と、
    前記電圧マージンに基づいて前記I/Oインターフェースの前記スイング電圧を調整するための手段と
    をさらに備える、請求項21に記載のデバイス。
  24. ルックアップテーブルを記憶するための手段をさらに備え、ここにおいて、前記ルックアップテーブルが複数の電圧マージンを備え、前記電圧マージンの各々が、異なる温度−周波数ペアに対応し、ここにおいて、前記電圧マージンを取得するための前記手段が、前記ルックアップテーブルから前記電圧マージンを取得するための手段を備える、請求項23に記載のデバイス。
  25. 前記電圧マージンは、前記I/Oインターフェースの前記スイング電圧が所定のスイング電圧よりも小さい量を表す、請求項23に記載のデバイス。
  26. 前記I/Oインターフェースの前記温度を検知するための手段と、
    前記検知された温度に基づいて温度示度を生成するための手段と、
    前記温度示度に基づいて前記I/Oインターフェースの前記温度を検出するための手段と
    をさらに備える、請求項21に記載のデバイス。
  27. 電源から電源電圧を受信するための手段と、
    前記I/Oインターフェースの前記スイング電圧に少なくとも部分的に基づいて前記電源の前記電源電圧を調整するための手段と
    をさらに備える、請求項21に記載のデバイス。
  28. 前記I/Oインターフェースが、信号経路を介して第2のデバイスに信号を送信するための手段を備える、請求項21に記載のデバイス。
  29. 前記デバイスと前記第2のデバイスとが、別個のチップ上にある、請求項28に記載のデバイス。
JP2017501713A 2014-07-14 2015-05-18 I/oインターフェース信号の動的な電圧調整 Pending JP2017525284A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/330,464 2014-07-14
US14/330,464 US9461626B2 (en) 2014-07-14 2014-07-14 Dynamic voltage adjustment of an I/O interface signal
PCT/US2015/031433 WO2016010623A1 (en) 2014-07-14 2015-05-18 Dynamic voltage adjustment of an i/o interface signal

Publications (2)

Publication Number Publication Date
JP2017525284A true JP2017525284A (ja) 2017-08-31
JP2017525284A5 JP2017525284A5 (ja) 2018-06-07

Family

ID=53404851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017501713A Pending JP2017525284A (ja) 2014-07-14 2015-05-18 I/oインターフェース信号の動的な電圧調整

Country Status (5)

Country Link
US (1) US9461626B2 (ja)
EP (1) EP3170177A1 (ja)
JP (1) JP2017525284A (ja)
CN (1) CN106796566A (ja)
WO (1) WO2016010623A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109947164B (zh) * 2013-06-11 2020-10-09 株式会社索思未来 电压控制方法
US11487341B2 (en) * 2018-08-09 2022-11-01 Nvidia Corporation Techniques for configuring a processor to execute instructions efficiently
CN114489235A (zh) * 2022-01-18 2022-05-13 上海天数智芯半导体有限公司 一种用于异常温度处理的芯片频率动态调节方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002045268A1 (fr) * 2000-11-30 2002-06-06 Hitachi, Ltd Circuit integre a semi-conducteurs et systeme de traitement de donnees
US20060066351A1 (en) * 2004-09-15 2006-03-30 Lau Benedict C Scalable I/O signaling topology using source-calibrated reference voltages
WO2008076700A2 (en) * 2006-12-13 2008-06-26 Rambus Inc. Interface with variable data rate
JP2008227696A (ja) * 2007-03-09 2008-09-25 Nec Corp インタフェース回路および信号出力調整方法
JP2010178262A (ja) * 2009-02-02 2010-08-12 Fujitsu Semiconductor Ltd ドライバストレングス調整回路、半導体集積回路、及びドライバストレングスの調整方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928559B1 (en) 1997-06-27 2005-08-09 Broadcom Corporation Battery powered device with dynamic power and performance management
US6218901B1 (en) 1999-10-12 2001-04-17 International Business Machines Corporation High speed differential output driver with increased voltage swing and predrive common mode adjustment
US7941675B2 (en) * 2002-12-31 2011-05-10 Burr James B Adaptive power control
US6600346B1 (en) 2002-07-30 2003-07-29 National Semiconductor Corporation Low voltage differential swing (LVDS) signal driver circuit with low PVT and load sensitivity
US7583555B2 (en) 2003-04-11 2009-09-01 Qualcomm Incorporated Robust and Efficient dynamic voltage scaling for portable devices
US20060072241A1 (en) * 2004-09-30 2006-04-06 Feliss Norbert A System, method, and apparatus for a wireless hard disk drive
US7301410B2 (en) 2006-03-07 2007-11-27 International Business Machines Corporation Hybrid current-starved phase-interpolation circuit for voltage-controlled devices
US7405594B1 (en) 2006-06-16 2008-07-29 Integrated Device Technology, Inc. Current mode driver with constant voltage swing
US7616509B2 (en) * 2007-07-13 2009-11-10 Freescale Semiconductor, Inc. Dynamic voltage adjustment for memory
KR100889314B1 (ko) * 2007-09-10 2009-03-18 주식회사 하이닉스반도체 버퍼 회로
US8143911B2 (en) 2008-03-31 2012-03-27 Intel Corporation Input/output driver swing control and supply noise rejection
US8055477B2 (en) 2008-11-20 2011-11-08 International Business Machines Corporation Identifying deterministic performance boost capability of a computer system
CN102063144B (zh) * 2010-11-17 2014-08-13 东南大学 一种面向低功耗应用的动态电压调节系统及实现方法
US8578222B2 (en) * 2011-02-17 2013-11-05 Qualcomm Incorporated SerDes power throttling as a function of detected error rate

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002045268A1 (fr) * 2000-11-30 2002-06-06 Hitachi, Ltd Circuit integre a semi-conducteurs et systeme de traitement de donnees
US20060066351A1 (en) * 2004-09-15 2006-03-30 Lau Benedict C Scalable I/O signaling topology using source-calibrated reference voltages
WO2008076700A2 (en) * 2006-12-13 2008-06-26 Rambus Inc. Interface with variable data rate
JP2008227696A (ja) * 2007-03-09 2008-09-25 Nec Corp インタフェース回路および信号出力調整方法
JP2010178262A (ja) * 2009-02-02 2010-08-12 Fujitsu Semiconductor Ltd ドライバストレングス調整回路、半導体集積回路、及びドライバストレングスの調整方法

Also Published As

Publication number Publication date
CN106796566A (zh) 2017-05-31
US20160013774A1 (en) 2016-01-14
EP3170177A1 (en) 2017-05-24
WO2016010623A1 (en) 2016-01-21
US9461626B2 (en) 2016-10-04

Similar Documents

Publication Publication Date Title
EP2586031B1 (en) Method and apparatus for training a memory signal via an error signal of a memory
JP6409249B2 (ja) 不整合信号受信器に対するタイミング制御
US20140372791A1 (en) Interface control circuit, memory system, and method of controlling an interface control circuit
US8994447B2 (en) Voltage regulation method and corresponding HPM, chip, and chip system
KR100897298B1 (ko) 읽기 신호 타이밍을 조정하는 플래시 메모리 장치 및플래시 메모리 장치의 읽기 제어 방법
JP2015103256A (ja) ユニバーサルシリアルバス装置の検知システム及び検知方法
JP2017525284A (ja) I/oインターフェース信号の動的な電圧調整
US20200272545A1 (en) System and Method to Dynamically Increase Memory Channel Robustness at High Transfer Rates
WO2014049752A1 (ja) データ伝送装置及びデータ伝送方法
US9558139B2 (en) System interconnect dynamic scaling handshake using spare bit-lane
US9524013B2 (en) System interconnect dynamic scaling by lane width and operating frequency balancing
US9720440B2 (en) Communication apparatus and method for controlling communication apparatus
KR101637998B1 (ko) 에스피아이 통신 장치 및 방법
US10248608B2 (en) Controller circuit and method for estimating transmission delay
US20150121018A1 (en) Semiconductor memory system and voltage setting method
KR20190108346A (ko) 입출력 회로
US9407427B2 (en) Technique for optimizing the phase of a data signal transmitted across a communication link
US9887696B2 (en) Semiconductor device performing boot-up operation
TW201624298A (zh) 儲存裝置及計算機系統
TWI822563B (zh) 介面電路與記憶體控制器
US10396760B1 (en) Differential pair contact resistance asymmetry compensation system
US9502081B2 (en) Internal voltage generating circuit for generating internal voltage according to temperature and process variation
TW201502795A (zh) 訊號轉發器及訊號轉發方法
JP5123739B6 (ja) サーバ装置およびPCI Express中継バッファ制御方法
JP5123739B2 (ja) サーバ装置およびPCIExpress中継バッファ制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180420

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191023