本開示は、直列/並列化器(SerDes)デバイスに関する。
旧来、コンピュータの中央処理装置(CPU)とコンピュータのメインメモリとの間のコンピュータ内バスは、並列バスであった。コンピュータの処理スループットが増加するにつれて、またメモリ帯域幅の需要が増加するにつれて、CPUとメモリ間のバスが、1つまたは複数の直列化器/並列化器(SerDes: Serializer/Deserializer)リンクとして実装されることが次第に一般的になってきた。これらのSerDesリンクは比較的高価であり、概して大量の電力を消費する傾向があった。したがって、SerDesリンクは概して、消費電力を低く保つことが非常に重要であるモバイルデバイス(セルラー電話など)における使用に適しているとは思われていなかった。しかしながら、最近、セルラー電話など、低電力モバイルデバイスにおいてSerDesまたはSerDesライクな技術を使用する動きがある。たとえば、SerDesインターフェースに対する議論の下でJEDEC(Joint Electron Device Engineering Council)が提案する規格が存在する。この提案された規格は、提案されたSerDesインターフェースを低電力モバイルデバイスに対してより適切にする節電の特徴を含む。提案されたJEDEC規格におけるSerDesインターフェースに加えて、多数の他の知られているSerDes設計が存在する。これらの規格および知られている設計は、消費電力を低減するために多数の特徴および方法を含んでいる。
そのような節電の特徴の第1の例は、インターフェースがプロセッサによってアクティブにアクセスされていない低電力モードにおいてSerDesインターフェースを置くことを伴う。しかしながら、一般的なCPUによるメモリの使用は本来ランダムアクセスであるので、メモリは本質的に、(スリープモード動作を除いて)ほとんど常にプロセッサに対して利用可能でなければならない。その結果、節電のこの第1の例は、消費電力を低減することにおいてほとんど効果的ではない。節電特徴の第2の例は、SerDesのPLL(位相ロックループ)および(CDR)クロックおよびデータ回復回路への電源を切って、それらをディセーブルすることを伴う。SerDesリンクの両側は、PLLとCDRとを含む。この回路は多くの電力を消費する可能性がある。インターフェースがアクティブでないときに消費電力を低減するために、これらの回路をターンオフすることができる。残念ながら、これらの回路を再びターンオンして(PLLのロック時間を整定させ)、それらを再び機能させるために、ある時間量が必要である。プロセッサがメモリにアクセスする必要があるときにこれらの回路がオフ状態にある場合、メモリがSerDesリンクを介してアクセス可能になるまでに遅延が存在し、その遅延が、事実上プロセッサを失速させる。これは望ましくない。節電特徴の第3の例は、米国特許出願公開第2006/0115316号に説明されている。この例では、SerDes送信機の信号振幅は、送信エラーを防止するために必要なだけの大きさに作られる。しかしながら、モバイルアプリケーションに対してもっと節電する必要が残されており、第1と第2の両方の例では、主たる節電は、一部の時間にSerDesインターフェースを使用不能で非アクティブにさせ、それによりプロセッサのインターフェース使用が複雑となって部分的に機能低下する(compromise)ことによって達成される。
コンピュータシステムは、プロセッサ集積回路内のSerDesデバイスとメモリ集積回路内のSerDesデバイスとを伴う。両SerDesデバイスは、SerDes送信機部とSerDes受信機部とを含む。メモリ集積回路内のSerDes受信機部は、第1のSerDesリンクを介してプロセッサ集積回路内のSerDesデバイスからメモリ集積回路内のSerDesデバイスに送信されたパケットがエラーを含んでいるかどうかを検出するためのエラー検出機構を有する。一例では、この第1のSerDesリンクを介して送信された各パケットは、データペイロード部分とCRC照合部分とを含む。メモリ集積回路内のSerDesデバイスは、パケットを受信し、CRC部分がデータペイロード部分に対して正しいかどうかを判断するために、CRCエラー検出回路を使用する。エラーが検出されると、メモリ集積回路内のSerDesデバイスは、第2のSerDesリンクを介してプロセッサ集積回路内のSerDesデバイスにエラー(または複数のエラー)の表示を報告する。一例では、メモリ集積回路内のSerDesデバイスは、ヘルスステータスフラグの形態のエラー情報を含むSerDes「キープアライブ(keep alive)」同期パケットを送信することによってこの報告を行う。キープアライブ同期パケットは、第2のSerDesリンクを介してメモリ集積回路からプロセッサ集積回路に送信される。エラー情報は、このプロセッサ−メモリリンクに対してメモリ集積回路内でSerDesデバイスによって保持されているエラーレートであってよく、またはエラー情報は、第1のSerDesリンク介する前のプロセッサ−メモリ通信内の個別のエラーもしくは複数のエラーの発生の表示であってよい。プロセッサ集積回路内のSerDesデバイスはまた、メモリ集積回路のSerDesデバイスからプロセッサ集積回路のSerDesデバイスに第2のリンクを介して送信されたパケット内のエラーを検出するエラー検出および訂正回路を有する。
プロセッサ集積回路内のSerDesデバイスは、「キープアライブ」同期パケットを受信し、プロセッサからメモリへの第1のSerDesリンクに対するエラーレートを決定するために、パケットによって搬送されるエラー情報を使用する。加えて、SerDesデバイスは、第2のSerDesリンクを介してメモリ集積回路から受信された着信パケット内のエラーを検出するために、それのエラー検出CRC照合部分を使用する。プロセッサ集積回路内のSerDesデバイスは、メモリからプロセッサへの第2のSerDesリンクに対するエラーレートを決定するために、それのCRC照合部分からのこのエラー情報を使用する。
決定された第1のSerDesリンクに対するエラーレートが、第1のSerDesリンクに対するエラーレート下限を下回る場合、第1のSerDesリンクの回路内の消費電力は低減される。一例では、メモリ集積回路内のSerDes受信機の入力インピーダンス設定は、入力インピーダンスがより高くなるように調整される。このことは、第1のSerDesリンクのビットエラーレートを劣化させる。決定された第1のSerDesリンクに対するエラーレートが、第1のSerDesリンクに対するエラーレート上限を上回る場合、第1のSerDesリンクの回路内の消費電力は、メモリ内のSerDes受信機の入力インピーダンス設定を低減することによって増大される。このことは、第1のSerDesリンクのビットエラーレートを改善させる。決定された第1のSerDesリンクに対するエラーレートが上限と下限との間である場合、それの許容可能なビットエラーレート範囲内にあるものと判断され、第1のSerDesリンクの回路に対する消費電力設定は変更されない。
同様に、決定されたメモリ集積回路からプロセッサ集積回路への第2のSerDesリンクに対するエラーレートが、第2のSerDesリンクに対するエラーレート下限を下回る場合、プロセッサ集積回路内のSerDes受信機の消費電力設定が第2のSerDesリンクの回路内の消費電力を低減するように調整され、それにより第2のSerDesリンクのビットエラーレートが劣化する。決定された第2のSerDesリンクに対するエラーレートが、第2のSerDesリンクに対するエラーレート上限を上回る場合、プロセッサ集積回路内のSerDes受信機の消費電力設定が、第2のSerDesリンクの回路内の消費電力を増加させるように調整され、それにより、第2のSerDesリンクのビットエラーレートが改善する。決定された第2のSerDesリンクに対するエラーレートが上限と下限との間である場合、それの許容可能な範囲内にあるものと判断され、第2のSerDesリンクの回路の消費電力設定は変更されない。SerDesリンクは、信号の1つまたは複数のペアを伴う。
パケットが第1のSerDesリンクを介して通信されるにつれて、決定された第1のSerDesリンクに対するビットエラーレートが更新され、メモリ集積回路のSerDes受信機の入力インピーダンス設定が、第1のリンクのエラーレートがそれの許容範囲内に実質的に維持されるように調整される。エラーレート下限は実質的にゼロより大であり、したがって、第1のSerDesリンクの回路の消費電力は、別法によりリンクがビットエラーを最小化するように動作されているよりも小さくなる。第1のSerDesリンクに対するエラーレート上限および下限は、消費電力とビットエラーレートとの間のトレードオフを変更するために調整され得る。消費電力と第1のSerDesリンクに対するビットエラーレートとの間のトレードオフは、プロセッサおよびコンピュータシステムの特定の動作条件ならびに環境条件に対して動的に制御および最適化され得る。
同様に、パケットが第2のSerDesリンクを介して通信されるにつれて、決定された第2のSerDesリンクに対するビットエラーレートが更新され、プロセッサのSerDes受信機の消費電力設定は、第2のリンクのエラーレートがそれの許容範囲内に実質的に維持されるように調整される。エラーレート下限は実質的にゼロより大であり、したがって、第2のSerDesリンクの回路の消費電力は、別法によりリンクがビットエラーを最小化するように動作されているよりも小さくなる。第1のSerDesリンクに対するエラーレート上限および下限は、消費電力とビットエラーレートとの間のトレードオフを変更するために調整され得る。消費電力と第2のSerDesリンクに対するビットエラーレートとの間のトレードオフは、プロセッサおよびコンピュータシステムの特定の動作条件ならびに環境条件に対して動的に制御および最適化され得る。
エラー検出および訂正回路が、第1と第2の両SerDesリンクのSerDes受信機内に設けられる。このエラー検出および訂正回路は、SerDes通信内の1つまたは複数のビットエラーを検出してシングルビットエラーを訂正することができる。このエラー検出および訂正回路を設けることによって、許容可能なビットエラーレート範囲の下限が実質的にゼロより大に設定されているという事実にもかかわらず、SerDesリンクを介してデータを正常に通信するために再送信する必要性が低減される。より強力なエラー訂正回路が設けられるならば、2つのリンクの許容可能なビットエラーレート範囲の下限は、リンクを介する再送信レートに影響を実質的に与えることなく増大され得る。SerDes受信機をディセーブルしてリンクの使用を機能低下させることによって消費電力が低減される従来技術の例とは対照的に、リンクのSerDes受信機の消費電力は、SerDesリンクがアクティブでかつ使用可能である状況において低減される。
上記は概要であり、したがって当然、詳細の簡略化、一般化および省略を含んでおり、したがって、概要はいかなる形でも例示的なものに過ぎず、限定的なものではないことを当業者は諒解されたい。特許請求の範囲のみによって定義される、本明細書で説明するデバイスおよび/またはプロセスの他の態様、発明的特徴、および利点は、本明細書に記載する非限定的な詳細な説明において明らかになるであろう。
新規の一態様による、電池式モバイル通信デバイス内のSerDesシステムの簡略図。
SerDes信号が図1のシステム内でいかにして受信されるかを示す波形図。
図1のSerDesシステムのプロセッサ集積回路3内のSerDesデバイス2のより詳細な図。
第1の新規な態様による、図1のシステム1の動作の方法の図。
ビットエラーが図1のシステム内で保持される許容可能なビットエラーレート範囲を示す図。
第2の新規な態様による、図1のシステム1の動作の方法の図。
図1のシステムのプロセッサ集積回路3内のSerDesデバイス2の動作の方法のフローチャート。
図1のシステムのプロセッサ集積回路3内のSerDesデバイス2の動作の方法のフローチャート。
図1のシステムのメモリ集積回路5内のSerDesデバイス4の動作の方法のフローチャート。
図1のシステムのSerDes受信機RX 16の簡略回路図。
図1のシステムのイコライザ17の簡略図。
図1のシステムのCDR回路18内の4相サンプラ424の図。
図1のシステムのCDR回路18内のアーリーレート(early-late)検出器443の図。
図1のシステムにおいて、データが並列化器(deserializer)19からコントローラ6内に、いかにして進むかを示す図。
図1のシステムのCDR回路18内のループフィルタ66の図。
図1のシステムのCDR回路18内の4相クロック発生器469の図。
図1のシステムのPLL 12の図。
PLL 12から導線487上に出力される信号を示す表。
図1のシステムの送信回路の簡略図。
SerDes受信機の入力インピーダンスを変更することが、SerDesリンクの他端におけるSerDes送信機の消費電力にいかに影響するかを示す図。
図1のシステムのプロセッサ集積回路3内のSerDesデバイス2における消費電力の内訳を示すパイチャート。
高電力モードおよび低電力モードにおけるSerDesデバイス2の全消費電力を示す表。
SerDesリンクが広帯域チャネルである一例を示す図。
SerDesリンクがわずかに帯域制限されたチャネルである一例を示す図。
SerDesリンクが実質的に帯域制限されたチャネルである一例を示す図。
詳細な説明
図1は、プロセッサ集積回路3内のSerDesデバイス2と、メモリ集積回路5内のSerDesデバイス4とを伴うシステム1の図である。一例では、システム1は、セルラー電話ハンドセットなど、電池式ワイヤレスモバイル通信デバイスである。SerDesデバイス2は、コントローラ部6と、SerDes送信機部7と、SerDes受信機部8とを含む。SerDesデバイス4は、コントローラ部9と、SerDes送信機部10と、SerDes受信機部11とを含む。プロセッサ集積回路3のSerDesデバイス2内の位相ロックループ(PLL)12は、SerDes送信機部7の一部とSerDes受信機部8の一部の両方であるものと考えられる。同様に、メモリ集積回路5のSerDesデバイス4内のPLL 13は、SerDes送信機部10の一部とSerDes受信機部11の一部の両方であるものと考えられる。
プロセッサ集積回路3のSerDes送信機部7は、直列化器(serializer)と呼ばれる並直列変換回路(parallel-to-serial circuit)14と送信機ドライバTX 15とを含む。プロセッサ集積回路3のSerDes受信機部8は、受信機増幅器RX 16と、イコライザ17と、クロックおよびデータ回復(CDR)回路18と、並列化器(deserializer)と呼ばれる直並列回路19とを含む。コントローラ部6は、エラー検出回路21を次に含むリンクコントローラ20と、エラー訂正回路22と、レジスタ23および24のペアとを含む。中央処理装置(CPU)25は、並列ローカルバス機能27を介してローカルキャッシュメモリ26およびコントローラ6と通信する。記号28および29は、送信機TX 15が第1のSerDesリンク31の2つの対応する導線30上に差動SerDes信号を送信する、2つの集積回路端子を表す。記号32および33は、受信機RX 16が第2のSerDesリンク35の2つの対応する導線34上から差動SerDes信号を受信する、2つの集積回路端子を表す。
メモリ集積回路5のSerDes送信機部10は、並直列変換回路36と送信機TX 37とを含む。メモリ集積回路5のSerDes受信機部11は、受信機増幅器RX 38と、イコライザ39と、クロックおよびデータ回復(CDR)回路40と、直並列変換回路41とを含む。コントローラ部9は、エラー検出回路43およびエラー訂正回路44をさらに含むリンクコントローラ42と、レジスタ45および46のペアとを含む。メモリ量47は、バスインターフェース48を介してコントローラ9に結合される。記号49および50は、送信機TX 37が第2のSerDesリンク35の2つの導線34上に差動SerDes信号を送信する、2つの集積回路端子を表す。記号51および52は、受信機RX 38が第1のSerDesリンク31の2つの導線30上から差動SerDes信号を受信する、2つの集積回路端子を表す。
図2は、図1のSerDesリンクを介して通信されるSerDes信号の波形図である。たとえば、第1のSerDesリンク31を介して通信されるSerDes信号を取り上げる。信号RX+およびRX−は、メモリ集積回路5の入力端子51および52上で受信される、導線30上のSerDes信号である。図2で0°、90°、180°および270°と標示された波形は、クロックおよびデータ回復(CDR)40によって生成される多相クロック信号を表す。これらの回復されたクロック信号は、受信機RX 38の差動出力をサンプリングするために使用される。回復されたクロック信号のうちの1つは、直列データストリームの値がサンプリングされ得るように、示されるような着信直列データストリームのビット時間のそれぞれの中央で高に遷移する。図2で「直並化器(DESERIALIZER)入力」と標示された波形は、図1のイコライザブロック39およびCDRブロック40によって出力された信号を表す。図2で「並列化器(DESERIALIZER)出力」と標示された波形は、図1の直並列変換回路41の8ビット並列出力を表す。端子51および52において差動信号RX+およびRX−として直列に受信された、1、0、0、1および1のビット値の直列ストリームが、波形「並列化器出力」で示されるように、直並列変換器回路41の8ビット出力においてデジタル形式で出力される。本例では、1ビットが1ナノ秒ごとに通信される。これは、1ギガビット毎秒のビットレートに相当する。
図3は、プロセッサ集積回路3内のSerDesデバイス2のより詳細な図である。コントローラ6は、マルチビットデジタル消費電力設定53を出力する。消費電力設定53は、SerDesデバイスの様々なサブブロックに供給される複数のデジタル設定54、55、58、61および64の合成である。たとえば、第1の設定54は、送信機TX 15に供給されるマルチビットデジタル値である。設定54は、送信機TX 15の出力インピーダンスを設定する。送信機の出力インピーダンスは、SerDes送信機15が出力信号を駆動する、送信機におけるエッジレートと信号反射とを決定する。低電力モードでは送信機TX 15の出力インピーダンスはより高い(より遅いエッジレート)のに対して、高電力モードでは送信機TX 15の出力インピーダンスはより低い(より速いエッジレート)。出力インピーダンスがより高いかまたはより低いかは、設定54の値によって決定される。加えて、プロセッサ内のSerDesデバイスの送信機TXがそれの出力を駆動する、高信号レベルおよび低信号レベルのレベル(電流レベル)を設定するVDIFF設定が存在する。低電力設定では、高信号レベルと低信号レベルとの間により小さい差(電流差)が存在するのに対して、高電力設定では、高信号レベルと低信号レベルとの間により大きい差(電流差)が存在する。図3の概念では、「LP」は低電力モードまたは設定を示すのに対して、「HP」は高電力モードまたは設定を示す。「−25%」の表記は、送信機TXが、高電力モードにおけるそれの消費電力と比較して、低電力モードにおいて約25パーセント少ない電力を消費することを示す。
第2の設定は、受信機RX 16に供給される設定55である。設定55は、1ビット終端選択値部分(TERM_SELECT)56とマルチビット終端値部分(TERM_VALUE)57とを含む。低電力モードでは、端子32および33から受信機RX 16を見た入力インピーダンスが比較的高くなるように、低インピーダンス終端がディセーブルされる。このインピーダンスは、導線34および第2のSerDesリンク35の他の部分の線路インピーダンスより大きくてよい。このより高い入力インピーダンスを使用することで、概して、悪い受信信号品質を引き起こす望ましくない信号反射が生じる。高電力モードでは、終端がイネーブルされ、受信機RX 16の入力インピーダンスはより低い。一例では、受信機RX 16を見たより低い入力インピーダンスが、導線34および第2のSerDesリンク35の線路インピーダンスに適合させられ、より高い受信機信号品質を生じる。入力インピーダンスの実効値は、マルチビット終端値部分(TERM_VALUE)57によって決定される。「−20%」の表記によって示されるように、受信機RX 16は、高電力モードにおけるそれの消費電力と比較して、低電力モードにおいて約20パーセント少ない電力を消費する。
第3の設定は、イコライザ17に供給される設定58である。設定58は、イコライザ電力オン部分(EQ_POWER_ON)59とイコライザ選択部分(EQ_SELECT)60とを含む。低電力モードでは、イコライザオン部分は、イコライザが給電されないようにイコライザをターンオフさせる値を有する。高電力モードでは、イコライザオン部分は、イコライザをターンオンして給電させ、同じく高周波数ブースト機能を完全にイネーブルにさせる値を有する。高周波数ブーストは、イコライザ選択部分60の値に応じて、イネーブルされるかまたはディセーブルされる。「−50%」の表記によって示されるように、受信機イコライザ17は、高電力モードにおけるそれの消費電力と比較して、低電力モードにおいて約50パーセント少ない電力を消費する。
第4の設定は設定61である。設定61は、クロックおよびデータ回復(CDR)回路18に供給される。設定61は、2次選択部分(SECOND_ORDER_SELECT)62と細かさ選択部分(FINE_SELECT)63とを含む。低電力モードでは、CDR回路18内のループフィルタ66が、1次のローパスフィルタとして構成されるのに対して、高電力モードでは、ループフィルタが、2次のローパスフィルタとして構成される。ループフィルタ66が1次のフィルタとして構成されるかまたは2次のフィルタとして構成されるかは、2次選択部分62の値によって決定される。低電力モードでは、クロックおよびデータ回復は、より少ない多相クロック信号(粗い)を使用して行われる。高電力モードでは、クロックおよびデータ回復は、より多い多相クロック信号(細かい)を使用して行われる。より少ない多相クロック信号が使用されるかまたはより多くの多相クロック信号が使用されるかは、細かさ選択部分63の値によって決定される。「−25%」の表記によって示されるように、クロックおよびデータ回復回路18は、高電力モードにおけるそれの消費電力と比較して、低電力モードにおいて約25パーセント少ない電力を消費する。
第5の設定は、PLL 12に供給される設定64である。設定64は、節電するために、PLLがCDRに対して駆動する多相クロック信号の数が、一定の条件の下で低減されることを可能にする。この特定の例においてPLL 12に供給される設定64は、CDR回路18に供給される設定61の細かさ選択部分(FINE_SELECT)63と同じであるが、他の例では、設定64は、PLLの他の部分を制御するために追加のデジタル制御ビットを含んでもよい。低電力モードでは、PLLは、より少ない多相クロック信号をCDRに対して駆動するのに対して、高電力モードでは、PLLは、より多くの多相クロック信号をCDRに対して駆動する。PLLがCDRに対してより少ない多相クロック信号を駆動するかまたはより多い多相クロック信号を駆動するかは、設定64の値によって決定される。「−25%」の表記によって示されるように、PLL 12は、高電力モードにおけるそれの消費電力と比較して、低電力モードにおいて約25パーセント少ない電力を消費する。
これらの設定54、55、58、61および64のすべては、コントローラ6から導線65を介して、図3に示す回路15〜18および12のうちの様々な適切な回路に、合成消費電力設定53の形態で供給される。コントローラ6は、SerDes送信機部7に供給される設定54の値を変えることによって、第1のSerDesリンク31の消費電力を増加または減少させることができる。コントローラ6は、SerDes受信機部8に供給される設定55、58、61および64の値を変えることによって、第2のSerDesリンク35の消費電力を増加または減少させることができる。SerDes回路のこれらの様々な部分において消費される電力量と、関連するSerDesリンクのビットエラーレートとの間には関連性がある。回路の部分への消費電力がますます低減されると、ある時点において回路の消費電力のさらなる低下が性能を低下させ始め、ビットエラーレートの増加として現れる。以下でさらに説明するように、SerDes回路の消費電力設定は、SerDes回路内で過剰な消費電力が発生しないように調整される。このことは、リンクのエラーレートが、エラーレート範囲の下限が実質的にゼロより大きい許容範囲内に維持されるように、SerDesリンクに対する回路の消費電力を制御することによって達成される。第1のSerDesリンク31および第2のSerDesリンク35のそれぞれにおける消費電力は、このようにして制御される。
図4は、第1の新規な態様による、図1のシステム1の動作の方法の図である。図4の円内の「1」は第1のステップを示す。プロセッサ集積回路3のSerDesデバイスは、メモリ集積回路5のSerDesデバイスから第2のSerDesリンクを介して第1のSerDes通信を受信する。図4の円内の「2」は第2のステップを示す。プロセッサ集積回路3のコントローラ6内のエラー検出回路21は、SerDes通信のデータペイロードをSerDes通信のCRC値と照合し、それにより1つまたは複数のビットエラーが発生したかどうかを判断する。図4の円内の「3」は第3のステップを示す。ビットエラーが発生したかどうかについて判断された情報は、第2のSerDesリンクに対するビットエラーレートを決定して更新するために使用される。このビットエラーレートは、レジスタ23内で保持される。次いで、第2のSerDesリンクに対して更新されたビットエラーレートが、第2のSerDesリンクに対する許容ビットエラーレート範囲内にあるかどうかが判断される。更新されたビットエラーレートが許容範囲内にある場合、消費電力設定53は調整されない。しかしながら、更新されたビットエラーレートがあまりに低くて許容範囲を下回る場合、プロセッサ集積回路3のSerDes受信機部8内の消費電力を低減するように消費電力設定が調整され(図4の円内の「4」で示される第4のステップ)、それによりビットエラーレートが増大されて許容範囲に戻る。一方、ビットエラーレートがあまりに大きくて許容範囲を上回る場合、プロセッサ集積回路3のSerDes受信機部8内の消費電力を増大させるように消費電力設定が調整され(第4のステップ)、それによりビットエラーレートが低減されて許容範囲に戻る。
図5は、許容可能なビットエラーレート範囲67を示す図である。この場合の範囲67の下限68は、通信された1012ビット当たりに1ビットのエラーである。この場合の範囲67の上限69は、通信された109ビット当たりに1ビットのエラーである。下限68は、実質的にゼロより大きいことに留意されたい。消費電力は、可能な最低のビットエラーレートにおいて第2のSerDesリンクを最大限高信頼にするために増大されることはなく、むしろ、消費電力は、ビットエラーレートを許容範囲内に保つように制御される。
図5の上限および下限は、特定の実施形態に対する例であることを理解されたい。一例では、下限は、再送信を引き起こすタイプのエラー(たとえば、特定の実施形態における二重エラー)が、毎秒約10回より高い頻度で発生しないほど十分に低いという意味で、実質的にゼロより大きい。したがって、この場合のビットエラーレートの実際の下限は、当該のSerDesリンクのチャネル特性、ならびに特定の実装形態のSerDes受信回路のエラー検出および訂正機能に依存する。
図6は、第2の新規な態様による、図1のシステム1の動作の方法の図である。図6の円内の「1」は第1のステップを示す。プロセッサ集積回路3のSerDesデバイス2は、第1のSerDes通信を第1のSerDesリンクを介してメモリ集積回路5のSerDesデバイス4に送信する。図6の円内の「2」は第2のステップを示す。メモリ集積回路5のコントローラ9内のエラー検出回路43は、SerDes通信のデータペイロードをSerDes通信のCRC値と照合し、それにより1つまたは複数のビットエラーが発生したかどうかを判断する。図6の円内の「3」は第3のステップを示す。メモリ集積回路5内のSerDesデバイスは、第2のSerDes通信をプロセッサ集積回路3のSerDesデバイスに戻して送信し、このSerDes通信は、第1のSerDes通信内でどれだけ多くのビットエラーが検出されたかを示すエラー情報を含む。一例では、この第2のSerDes通信は、検出されたビットエラーの数を示すヘルスステータスフラグを含むキープアライブ同期パケットである。図6の円内の「4」は第4のステップを示す。プロセッサ集積回路3のSerDesデバイス内のコントローラ6は第2のSerDes通信を受信し、第1のSerDesリンクに対するビットエラーレートを決定して更新するために、第2のSerDes通信に含まれるエラー情報を使用する。一例では、コントローラ6は、それが、第1のSerDesリンクを介してメモリのSerDesデバイスに送信することを試みるビットの数の実行中の計数を維持する。加えて、コントローラ6は、キープアライブ同期パケット内の、SerDesデバイスによって報告されたビットエラーを合計することによって、第1のSerDesリンクを介して発生したビットエラーの数の実行中の計数を維持する。ビットエラーの総数を、送信を試みられたビットの総数で割った商が、ビットエラーレートである。更新された第1のSerDesリンクに対するビットエラーレートが、レジスタ24内に記憶される。次いで、この更新された第1のSerDesリンクに対するビットエラーレートが、第1のSerDesリンクに対する許容ビットエラーレート範囲内にあるかどうかが判断される。更新されたビットエラーレートが許容範囲内にある場合、第1のSerDesの回路の消費電力設定は調整されない。しかしながら、ビットエラーレートがあまりに低くて許容範囲を下回る場合、プロセッサ集積回路3のSerDesデバイスは、第3のSerDes通信を第1のSerDesリンクを介してメモリ集積回路5のSerDesデバイスに送信する(第5ステップ)。この第3のSerDes通信は、メモリ集積回路5のSerDesデバイス内の受信機回路が、それの消費電力を低減することを引き起こす制御パケットまたは他の情報を含み、それにより第1のSerDesリンクのビットエラーレートが増加する。一例では、第3のSerDes通信は、メモリ集積回路5のSerDesデバイスが、受信機RX 38の入力インピーダンスを増加することを引き起こす(第6ステップ)。このことは、第1のSerDesリンク全体の消費電力を減少させる効果を有し、ビットエラーレートを増加させる影響を有する。ビットエラーレートが第1のSerDesリンクに対して許容範囲内に入るまで、ビットエラーレートは、このようにして増加させられる。しかしながら、更新された第1のSerDesリンクのビットエラーレートが、(第1のSerDesリンクに対する許容範囲を超えて)あまりに大きいと判断される場合、プロセッサ集積回路3のSerDesデバイスは、第3のSerDes通信を第1のSerDesリンクを介してメモリ集積回路5のSerDesデバイスに送信するが、この第3のSerDes通信は、メモリ集積回路5のSerDesデバイスが、受信機RX 38の入力インピーダンスを低減させることを引き起こす(第6のステップ)制御パケットまたは他の情報を含む。受信機RX 38の入力インピーダンスを低減させることは、第1のSerDesリンクの消費電力を増加させる影響を有し、それによりビットエラーレートが減少する。第1のSerDesリンクのビットエラーレートは、ビットエラーレートが第1のSerDesリンクに対する許容範囲内に入るまで、このようにして低減される。それに応じて、第1および第2のSerDesリンクに対するビットレートは、それらをそれらの許容ビットレート範囲内に維持するために、制御ループ内で制御される。
図7(図7Aおよび図7B)は、プロセッサ集積回路3内のSerDesデバイス2によって遂行される方法200のフローチャートである。方法は、第1のSerDesリンク31および第2のSerDesリンク35のビットエラーレートを制御することを伴う。第1に、パケットが、メモリ集積回路5から第2のSerDesリンクを介してプロセッサ集積回路3上で受信される(ステップ201)。プロセッサ集積回路3内のエラー検出回路が、受信されたパケット内のビットエラーの数を検出するために使用される(ステップ202)。データの完全性を維持するために、プロセッサ集積回路3に対するコントローラ6も同様に、パケット内の単一ビットエラーを訂正し、パケット内に2つ以上のエラーがある場合は、メモリからのデータを再要求する。受信されたビット数と検出されたビットエラー数とに基づいて、第2のSerDesリンク35に対するビットエラーレートが再計算され(ステップ203)て更新される。次いで、プロセッサ集積回路3内のコントローラ6は、更新されたビットエラーレートを、第2のSerDesリンクに対する許容ビットエラーレート範囲の上限および下限と比較する(ステップ204)。更新されたビットエラーレートが範囲内にある場合(ステップ205)、ステップ206が省略されて、プロセッサ集積回路3のSerDes受信機部8に対する消費電力設定は変更されない。しかしながら、更新されたビットエラーレートが範囲内にない場合(ステップ205)、プロセッサ集積回路3のSerDes受信機部8に対する消費電力設定が、ビットエラーレートを範囲内に戻す方法などで調整される(ステップ206)。更新されたビットエラーレートがあまりに高い場合、この調整は、ビットエラーレートを制限しているSerDes受信機の一部の消費電力を増加させることを伴う。更新されたビットエラーレートがあまりに低い場合、SerDes受信機に対する消費電力は、ビットエラーレートが許容範囲内に戻るまで削減される。
ステップ201における受信されたパケットは、第1のSerDesリンク31を介する以前のSerDes通信に関連してメモリ集積回路5内のSerDesデバイスによって生成されたエラー情報を含む。エラー情報は、たとえば、第1のSerDesリンク31を介する以前のSerDes通信内でメモリ集積回路によって検出されていたビットエラーの数を示すことができる。ステップ207で、このエラー情報が、第1のSerDesリンクに対するエラーレートを再計算するために使用される。プロセッサ集積回路3内のコントローラ6は、第1のSerDesリンク31を介してメモリ集積回路5に転送されたビットの総数の合計を保持し、コントローラ6は、メモリ集積回路5によって検出されるにつれて、これらの通信内のビットエラーの総数の経過を追うために、エラー情報を使用する。次いで、得られた、更新された第1のSerDesリンク31に対するビットエラーレートは、第1のSerDesリンク31に対する許容エラーレート範囲の上限および下限と比較される(ステップ208)。更新されたビットエラーレートが範囲内にある場合(ステップ209)、ステップ210が省略されて、プロセッサ集積回路3が、メモリ集積回路5がSerDes受信機38の入力インピーダンスを変更することを引き起こさせることない。しかしながら、更新されたビットエラーレートが範囲内にない場合(ステップ209)、プロセッサ集積回路3のSerDesデバイスは、制御パケットを第1のSerDesリンク31を介してメモリ集積回路5のSerDesデバイスに送信し(ステップ210)、この制御パケットは、SerDes受信機38の入力インピーダンスが、ビットエラーレートを範囲内に戻す方法などで調整されることを引き起こす。更新されたビットエラーレートがあまりに高い場合、制御パケットは、入力インピーダンスが低減されることを引き起こし、それにより第1のSerDesリンク31の一部の消費電力が増加してビットエラーレートが減少する。更新されたビットエラーレートがあまりに低い場合、制御パケットは、入力インピーダンスが増大されることを引き起こし、それにより第1のSerDesリンク31の一部の消費電力が減少してビットエラーレートが増加する。制御パケットは、たとえば、SerDes受信機38の制御レジスタ(図示せず)への書込みを引き起こすことができ、制御レジスタ内の値がSerDes受信機38の入力インピーダンスを決定する。
図8は、メモリ集積回路5内のSerDesデバイス4によって遂行される方法300のフローチャートである。パケットは、プロセッサ集積回路3から第1のSerDesリンク31を介して受信される。エラー検出回路43は、パケットの受信の中に1つまたは複数のビットエラーが存在するかどうかを判断するために、パケットのデータペイロードをパケット内で搬送されたCRCと照合する(ステップ302)。ステップ302でエラーが検出されなかった場合、処理は、直接ステップ303に進む。パケットが、SerDes受信機38の入力インピーダンスを調整するための制御パケットである場合、SerDes受信機の入力インピーダンスが、それに応じて調整される(ステップ303)。しかしながら、ステップ302で1つのエラーが検出された場合、コントローラ9は、第1のSerDesリンク31に対してコントローラ9上で保持されている(オプション)エラー回数の合計を増分し(ステップ304)、エラー情報を第2のSerDesリンク35を介してプロセッサ集積回路3内のSerDesデバイス2に送信し(ステップ305)、エラー情報は検出されたビットエラーの数を示す。エラー検出および訂正方式が使用され、着信パケットが単一のビットエラーを含む場合は、検出回路43が単一のエラーを検出してエラー訂正回路44がエラーを訂正するのに対して、着信パケットが2つのビットエラーを含む場合は、検出回路43が2つのエラーを検出するが、エラー訂正回路44は両エラーを訂正し得ない。したがって、ステップ306で、エラー訂正回路44は、着信パケット内の単一のビットエラーを訂正してデータペイロードを適宜に使用する。ステップ302で複数のエラーが検出された場合、処理は、直接ステップ307に進む。第1のSerDesリンク31に対するエラー回数の合計は、検出されたビットエラーの数だけ増分され(ステップ302)、メモリ集積回路5内のSerDesデバイスは、エラー情報を第2のSerDesリンク35を介してプロセッサ集積回路3内のSerDesデバイス2に送信し(ステップ308)、エラー情報は、検出されたビットエラーの数を示す。メモリ集積回路5内のSerDesデバイス4もまた、再送信要求を第2のSerDesリンク35を介してプロセッサ集積回路3内のSerDesデバイス2に送信し(ステップ309)、再送信要求は、複数のエラーを有することが検出されたパケットを再送信するための要求である。再送信要求は、ステップ308のエラー情報を含むパケットと同じパケットであってよく、または再送信要求は、異なるパケットであってよい。
図9は、SerDes受信機16の一例のより詳細な図である。この例におけるSerDes受信機38は、同一の構造である。端子RX+ 32および端末RX− 33は、導線34から1ギガビット毎秒のビットレートの差動着信信号を受信する。終端入力インピーダンスオン/オフ信号TERM_SELECT 56は、1ビットのデジタル信号であり、かつ設定55の一部であり、マルチビットデジタル終端入力インピーダンス振幅制御信号TERM_VALUE 57も設定55の一部である。TERM_SELECT 56がデジタル論理低である場合、スイッチ401および402は図示のように開であるのに対して、TERM_SELECT 56がデジタル論理高である場合、スイッチ401および402は閉である。スイッチが開である場合、受信機RX 16を見たインピーダンスは高く、抵抗器403および404の抵抗による影響を受けない。入力インピーダンスは、増幅器405および406の入力インピーダンスである。これは、比較的高い入力インピーダンスである。スイッチが閉である場合、受信機RX 16を見たインピーダンスは低く、抵抗器403および404の抵抗、ならびにキャパシタ407および408のキャパシタンスによる影響を受ける。
図10は、イコライザ17の一例のより詳細な図である。それの低電力モードまたは設定において、1ビットデジタル信号EQ_POWER_ON 59は、デジタル論理低であり、スイッチ409は開であり、それによりアクティブ回路410〜413は給電されない。1ビットデジタル信号EQ_SELECT 60もまたデジタル論理低であり、スイッチ414および416は、入力リード線418上の信号が、導線419を介してディセーブルされ、給電されないアクティブ回路410および412をバイパスし、出力リード線420に進むように設定される。同様に、スイッチ415および417は、入力リード線421上の信号が、導線422を介してディセーブルされ、給電されないアクティブ回路411および413をバイパスし、出力リード線423に進むように設定される。それの高電力モードまたは設定において、EQ_POWER_ON 59はデジタル論理高であり、スイッチ409は閉であり、それによりアクティブ回路410〜413は給電される。EQ_SELECT 60はデジタル論理高であり、スイッチ414および416は図10に示す位置にある。入力リード線418上の信号は、高周波数ブースト回路412を通り、次いで増幅器410を通って出力リード線420に進む。入力リード線421上の信号は、高周波数ブースト回路413を通り、次いで増幅器411を通って出力リード線423に進む。高周波数ブースト回路412および413は、高周波数成分の信号が増幅される量と比較して、より少ない量の増幅(2dB少ない利得)で処理された低周波数成分の信号を通す回路である。この例では、高周波数成分は、700MHz以上の周波数の成分である。高周波数ブーストは、SerDesリンク35が帯域制限チャネルである状況において、受信機性能を改善する。制御信号EQ_POWER_ON 59およびEQ_SELECT 60はともに、イコライザに供給される設定58を構成する。
図11は、図3のCDR回路18の4相サンプラ部424の簡略図である。図11の入力リード線425は、図10の出力リード線420に結合される。2本のリード線は、同じ導線およびノードの部品である。同様に、図11の入力リード線426は、図10の出力リード線423に結合される。2本のリード線は、同じ導線およびノードの部品である。信号0°、90°、180°および270°は、PLL 12から受信される4相クロック信号である。これらの信号は、1ギガビット毎秒の通信レートの半分の周波数である。スイッチ427〜434の動作によって、比較器435〜438は、入力リード線425および426上の差動信号をシングルエンドのデジタル信号に量子化する。この量子化は、0度、90度、180度および270度の4つのサンプル時間において発生する。比較器435〜438は、出力リード線439〜442上に、シングルエンドのサンプル値データ信号0°SD、90°SD、180°SDおよび270°SDを出力する。
図12は、図3のCDR回路18のアーリーレート(early-late)検出器部443の図である。アーリーレート検出器部の入力リード線444〜447は、図11の4相のサンプラ部424の出力リード線439〜442に結合される。着信するサンプル値データ信号0°SD、90°SD、180°SDおよび270°SDは、導線452上の信号0°の立上りエッジのときに、フリップフロップ448〜451によって記憶される。この信号「0°」は、図15の回路によって出力される、クロックを回復された信号である。表453は、参照用テーブル455による出力として、導線454上の2ビット値H/R/A(停止(Hold)/遅延(Retard)/進める(Advance))の意味を示す。2ビット値H/R/Aは、データのサンプリングが理想的であるように、回復されたクロックが位相を進められるべきか、位相を調整すべきでないか、または位相を遅延されるべきかを示す。
図13は、並列化器19の動作を示す図である。入力リード線456上の信号0°SDおよび入力リード線457上の信号180°SDは、データの偶数および奇数のサンプルを表す。信号0°SDは、図11の出力リード線439上の信号である。信号180°SDは、図11の出力リード線441上の信号である。並列化器19は、シフトレジスタと、制御回路と、マルチプレクサとを含む。0°SD信号および180°SD信号の値は、前後に次々と交番方式でシフトレジスタ内にシフトされる。8つのこれらのシフトイン動作の最後に得られた、シフトレジスタの8ビット並列出力が、導線459上の信号458である。これらの8ビット値の連続する値のそれぞれが、シフトレジスタの出力において真(valid)になると、それぞれは、コントローラ6内の先入れ先出し(FIFO)のエラスティックバッファ460に押し込まれる。CPUは、別のポートを介してFIFOのエラスティックバッファ460からデータを読み取る。並列化器19によるFIFO 460への書込みおよびCPUによるFIFO 460からの読取りは、互いに非同期であるが同じ公称レートを有する。(並列化器を出てコントローラ内に進む並列データおよびコントローラから直列化器内に進む並列データは、8ビット以外のビット数であってよいことを理解されたい。本明細書で説明する8ビット並列データは、単なる一例である。)
図14は、図3のCDR回路18内のループフィルタ66の図である。ループフィルタは、図12のアーリーレート検出器443からの2ビットデジタル値H/R/Aのストリームをフィルタリングするデジタルフィルタである。破線461内の回路だけが使用される場合、デジタルフィルタは、1次のローパスフィルタとなるように構成される。破線462内の全回路が使用される場合、デジタルフィルタは、2次のローパスフィルタとなるように構成される。ループフィルタ66が1次のローパスフィルタまたは2次のローパスフィルタのいずれに構成されるかにかかわらず、フィルタの出力は、導線463上の16ビット値のストリームとして現れる。入力リード線464上のSECOND_ORDER_SEL信号62は、図3のCDR回路18に供給される設定61の一部である。2次のフィルタがディセーブルされると、クロック信号CLKは、アキュムレータ466をクロッキングすることを(開であるスイッチ465で表されるように)阻止されるのに対して、2次のフィルタがイネーブルされると、クロック信号CLKはゲートオフされない。回路はデジタルであるので、消費電力は低減される。というのはデジタル回路の静的消費電力は低いからである。2次のフィルタがディセーブルされると、スイッチ467および468は図示の位置にあるのに対して、2次のフィルタがイネーブルされると、スイッチ467および468は図示と反対の位置にある。導線463上の16ビット信号は、ループフィルタのローパスフィルタリング効果によってゆっくりと変化する信号である。
図15は、図3のCDR18の4相クロック発生部469の図である。ループフィルタ66からの16ビット値のそれぞれの5つの最上位ビット470は、PLLから受信された500MHzのマスタークロック472の多相信号471のうちのいくつかの信号を選択するために使用される。矢印472は、低電力モードにおける500MHzマスタークロック信号のうちの4相か、または高電力モードにおける500MHzのマスタークロックのうちの8相のいずれかを表す。8つの信号導線があるが、低電力モードでは、導線のうちの4つの上で駆動される信号は存在しない。低電力モードでは、16の異なる多相信号471が存在する(16の導線の各ペアが、このモードにおいて異なる位相の信号を搬送する)のに対して、高電力モードでは、32の異なる多相信号471が存在する(32の導線のそれぞれが、このモードにおいて異なる位相の信号を搬送する)。
多相信号471のうちの適切な信号を選択するために、ループフィルタから受信された各16ビット値のうちの5つの最上位ビット470が、参照用テーブル473に供給される。参照用テーブル473の出力は、多相信号471のうちのどの1つが0°の信号としてマルチプレクサ474によって導線475に供給されるか、多相信号471のうちのどの1つが90°の信号としてマルチプレクサ476によって導線477に供給されるか、多相信号471のうちのどの1つが180°の信号としてマルチプレクサ478によって導線479に供給されるか、および多相信号471のうちのどの1つが270°の信号としてマルチプレクサ480によって導線481に供給されるかを判断する。参照用テーブル473は、0°、90°、180°および270°のそれぞれに対して選択された多相信号を進めるべきか、保持すべきか、または遅延すべきかを示す、着信する5ビット値470からのマッピングを提供する。マルチプレクサ474、476、478および480を制御する5ビット選択信号は、それらのそれぞれのマルチプレクサを選択し、それにより、マルチプレクサによって選択された多相信号のうちの信号が、位相を前にともにシフトするか、位相を保持するか、または位相を後ろにシフトされる。導線475、477、479および481上の4つの信号の位相のこの調整は、着信データの各ビット時間内に、サンプリング時間の位置の前進、保持または遅延のいずれかをもたらす。
4相クロック発生器部469の2つのモード、細かいモードおよび粗いモードが存在する。細かいモードが高電力モードであるのに対して、粗いモードは低電力モードである。2つのモードのうちのいずれのモードが使用されているかは、1ビットのFINE SELECT入力信号63によって決定される。細かいモードが選択される場合、32の位相信号が必要であり、マルチプレクサ474、476、478および480は、32位相のうちの1つを選択するように作られる。多相補間器481は、PLLから8位相472を受信し、より細かい位相分解能のために、それらから32位相を補間する。同様に、参照用テーブル473は、32の可能な入力信号のうちの1つを選択するために、マルチプレクサのそれぞれを制御する。細かいモードでは、多相補間器481から来る32の導線のそれぞれが、異なる位相の信号を搬送する。粗いモードが選択される場合、マルチプレクサ474、476、478および480のそれぞれは、16の異なる位相のうちの1つだけを選択する。多相補間器481は、PLLから4位相を受信し、マルチプレクサに供給するために、それらから16位相を補間する。粗いモードでは、多相補間器481から来る32の導線の連続するペアのそれぞれが、異なる位相の信号を搬送するので、16だけの異なる位相が、多相補間器481によって提供される。
図16は、PLL 12の簡略図である。PLL 12は、位相検出器482と、ループフィルタ483と、8位相VCO 484と、ループディバイダ485とを含む。到来する基準クロックREF_FREQは、たとえば、水晶発振器または他の高精度基準から得ることができる。VCO 484は、制御された周波数の1つの信号を出力するだけではなく、VCO 484は、8バージョンの信号を8つの異なる、均等に離間した位相を出力する。これらの8つの信号は、クロックブロッキング回路486に供給される。FINE SELECT信号63が細かいモードを選択している場合、8バージョンのクロック信号は、すべて、クロックブロッキング回路486を通過して8つの導線487に乗る。細かいモードにおいて上記で説明したように、これらの8つの導線487は、8バージョンのマスタークロックを図15の4相クロック発生器469に供給する。しかしながら、FINE SELECT信号63が粗いモードを選択している場合、クロックブロッキング回路486から来る8つの導線487の1つおきの導線は、駆動されない。4つの異なる位相信号だけがクロックブロッキング回路486から駆動され、したがって、8つの導線のすべてが駆動される細かいモードの動作と比較して電力が節約される。
図17は、PLL 12から導線487上に出力される信号を示す表である。チャートの中間列は、細かいモード動作を表す。8つの導線のすべてが、クロック信号で駆動され、各信号は異なる位相を有する。チャートの右端の列は、粗いモード動作を表す。8つの導線のうちの半分だけが、クロック信号で駆動される。
図18は、送信回路の簡略図である。コントローラ6は、送信のための8ビット並列データを供給する。8ビット値は、125MHzのレートで供給される。直列化器14は、並列化器19に関して上記で説明した直並列変換動作の逆を実行する。直列化器14は、着信データストリームから偶数信号と奇数信号とを生成し、これらの偶数および奇数の信号が、次いで、データを単一の直列ストリーム内にアップサンプリングするために使用される。得られたアップサンプリングされたデータの直列ストリームは、1ギガビット毎秒の出力データレートを有する。プリドライバ488は、着信するデジタルビットのシングルエンドストリームを取得するアナログ増幅器であり、このストリームから2つの異なるアナログ出力信号を生成する。1つの信号は、導線491を介して出力ドライバ489に供給される。もう1つの信号は、導線492を介して出力ドライバ490に供給される。出力ドライバ489および490は、デジタルに制御される出力インピーダンスを有する。出力インピーダンスが低いほど駆動される信号は強いが、より多くの電力が消費される。マルチビットデジタル信号OUTPUT_VALUEは、この出力インピーダンスを判断し、また図3に示された設定54である。
電流源記号493および494のそれぞれは、制御された電流源である。データ入力信号がデジタル論理1の値を有するときは、電流源はオンであり、電流制限された量の電流を供給しているが、データ入力信号がデジタル論理0の値を有するときは、電流源はオフであり、電流は供給されない。オンであるとき電流源が供給する電流の最大の量は、OUTPUT_VALUE信号によって判断される。端子TX+またはTX−のうちの一方の信号が高に遷移すると、関連する電流源はそれの電流制限された量の電流を供給しようと試みる。このことが、出力端末の電圧を、電圧が電源電圧(SUPPLY POWER)に達するまで上昇させ、その時点で電流源は電圧制限され、電流をほとんど供給しない。端子の信号が低に遷移すると、関連する電流源がターンオフされ、それにより出力端末の電圧が、送信機内およびSerDesリンクの他端の受信機内のプルダウンインピーダンスによって接地電位にプルダウンされる。
図19は、SerDes受信機の入力インピーダンスを下げることで、いかにして送信機のSerDesドライバの消費電力が低減する結果が生じるかを示す図である。図1のSerDes送信機15のバッファ490を、図19の左に示す。図1のSerDes受信機38の半分495を、図19の右に示す。信号DATABがデジタル論理低に遷移すると、電流源494はターンオンされる。端子TX−の電圧は、引き上げられて高に遷移する。電流源494によって供給される電流は、送信機内でインピーダンス496を通って接地に至る電流経路497と、受信機495内で抵抗器404を通って設置に至る電流経路498との間で分割される。電流源494は、電源導線490Aの固定電源電圧によって給電され、電流源494は比較的大量の電流を供給することができ、それゆえ、図19の回路内で、電流源494によって供給される電流の量は、実際には、送信機の抵抗496および受信機の抵抗404によって制限される。したがって、抵抗404を低減することで、送信機の電流源494からより多くの電流が引き出される。逆に、抵抗404を増加させることで、送信機の電流源494からより少ない電流が引き出される。受信機の入力インピーダンスを増加させることは、送信機内での消費電力を減少させると言われている。導線30は、しばしば接地インピーダンスと呼ばれる対地インピーダンス(たとえば、対地50オーム)を有する。従来のように、送信機の出力インピーダンスと受信機の入力インピーダンスとを線路インピーダンスに整合させるのではなく、システム全体で消費電力を低減させるために、受信機の入力インピーダンスが線路インピーダンスより故意に高くされる。ビットエラーレートを許容範囲内に保つために、不整合の程度が制御され、許容範囲の下限は、実質的にゼロより大きい。SerDesリンクはビットエラーを最小化するようには動作するのではないが、ビットエラーレートは許容可能であり、消費電力は、伝送線路が従来の方法で終端される状況と比較して低減される。単一ビットエラーを検出して訂正することができるエラー検出および訂正回路をSerDes受信機内に設けることによって、許容可能なビットエラーレート範囲の下限が実質的にゼロより大になるように設定されているという事実にもかかわらず、SerDesリンクを介してデータを正常に通信するために再送信する必要性が、低減または排除される。
図20は、プロセッサ集積回路3内のSerDesデバイス2における消費電力の内訳を示すパイチャートである。チャートの各セクションに対して、丸括弧内にないパーセンテージ数が、高電力モードで動作しているときに消費される全消費電力のパーセンテージを示すのに対して、丸括弧で囲まれるパーセンテージ数が、低電力モードで動作することによって節約される全消費電力のパーセンテージを示す。たとえば、「RX ANA 4%(2%)」は、低電力モードにおいてSerDes受信機RXのアナログ部が(全SerDesデバイス2の)全消費電力の4パーセントを消費することを示す。「RX ANA 4%(2%)」の2%は、低電力モードにおいて全体的な全消費電力(全SerDesデバイス2の全消費電力)の2パーセントが、SerDes受信機RXを低電力モードで動作させることによってその受信機のアナログ部において節約されることを示す。チャートでは、「DIG」は、回路のデジタル部を意味し、「ANA」は回路のアナログ部を意味する。「RX」はSerDes受信機RXを意味し、「CDR」はクロックおよびデータ回復回路を意味し、「PLL」は位相ロックループを意味し、「CLK TREE」は各クロック位相をそれらのそれぞれの宛先に分配するアクティブなクロックバッファおよび相互接続を意味し、「TX」はSerDes送信機TXを意味する。本実施形態では、SerDesリンクのSerDes送信機部内で可能であるよりも多くの消費電力の節約が、SerDesリンクのSerDes受信機内で可能である。
図21は、高電力モードおよび低電力モードにおけるSerDesデバイス2の全消費電力を示す表である。低電力モードでイコライザオンに対する「−20.5%」の表記は、消費電力が、高電力モードにおけるよりも20.5%少ないことを意味する。
図22〜図24は、プロセッサ集積回路3とメモリ集積回路5との間のSerDesリンクが異なる量の帯域制限を有する例を示す。図22は、SerDesリンクが広帯域チャネルである一例を示す。太い両矢印507は、広帯域チャネルを表す。プロセッサ集積回路3は第1のパッケージ500内にあり、メモリ集積回路5はPOP(パッケージオンパッケージ(Package-On-Package))アセンブリ502の第2のパッケージ501内にある。チャネルは、一方の集積回路からそれのパッケージを通り、POPのボンドボールを通って別のパッケージに入り、他方の集積回路まで延在する。チャネル内の帯域制限によるビットエラーレートは存在しない。したがって、均等化の高周波数ブーストはディセーブルされ、上記で説明したすべての他の節電特徴が、消費電力を低減するために動的に使用される。
図23は、SerDesリンクがわずかに帯域制限されたチャネルである一例を示す。集積回路3および5がパッケージングされ、パッケージ500および501がPCB(プリント回路板)上に搭載され、それによりSerDesリンクは、一方の集積回路からそれのパッケージを通り、PCB上の配線および導線503を通り、別のパッケージを通って他方の集積回路まで延在する。したがって、均等化の高周波数ブーストはイネーブルされて動的に使用され、上記で説明したすべての他の節電特徴が、消費電力を低減するために動的に使用される。
図24は、SerDesリンクが実質的に帯域制限されたチャネルである一例を示す。メモリ集積回路5は、メモリスティックの一部であるパッケージ501内にある。メモリスティックは、マザーボードPCB上のコネクタに差し込まれる。図中のコネクタ記号504は、このコネクタを表す。プロセッサ集積回路3はパッケージ500内にあり、このパッケージ500は、今度はPCBに搭載されるソケット内にある。ソケットは、コネクタ記号505で表される。SerDesリンク506は、プロセッサ集積回路3からそれのパッケージ500を通り、ソケット505を通り、PCBを通り、PCB上のメモリスティックコネクタ504を通り、メモリスティックに入り、メモリ集積回路のパッケージ501を通り、メモリ集積回路5まで延在する。したがって、均等化の高周波数ブーストはイネーブルされて動的に使用され、上記で説明したすべての他の節電特徴が、消費電力を低減するために動的に使用される。
第1の例では、プロセッサ集積回路3のCPU 25は、電源投入および初期化時に、構成情報(チャネルタイプおよび/または特性を示す情報)を読み取り、その構成情報からそれのチャネル環境を決定する。それの決定された環境の知識に基づいて、CPU 25は、適切な消費電力節約モード中にあるように、バス機構27を介してSerDesコントローラを構成する。記号27は、いくつかの特定のバス幅の単一の並列バスだけを表すのではなく、1つまたは複数のバスおよび他の回路を伴い得るバス機構を、より全体的に表す。第2の例では、CPUおよびSerDesコントローラは、チャネルタイプを検出し、検出されたチャネルタイプに対する適切な消費電力モード中にあるようにSerDes低電力回路を自動的に構成するために、検出されたビットエラーレートを使用する。この自動構成は、特別な構成情報を読み取る必要なしに、同じSerDesインターフェース設計が異なるタイプの製品およびシステムで使用されることを可能にする。この自動構成はまた、単一の製品の製造ばらつきにわたってユニットごとに最適化された性能(ビットエラーレートのトレードオフに対する最適な消費電力)を可能にする。ユニットは、時間とともに変化する動作パラメータに対応するため、およびユニットの動作環境における変化に対応するように、性能(ビットエラーレートのトレードオフに対する最適な消費電力)を最適化するように動作するので、単一ユニットのSerDesインターフェースは、時間とともにそれ自体を自動的に再構成することができる。
1つまたは複数の例示的な実施形態では、説明した機能はハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装できる。ソフトウェアで実装する場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶するか、あるいはコンピュータ可読媒体を介して送信することができる。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスできる任意の利用可能な媒体でよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROM、あるいは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、もしくは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用でき、コンピュータによってアクセスできる任意の他の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。一例では、プロセッサ実行可能命令のセットが、図1のメモリ26内にある。上記で説明したように、命令のそのセットを実行することで、コントローラ6は、ビットエラーレートと消費電力とのバランスをとるようにSerDes受信機8を構成することを引き起こす。別の例では、コントローラ6は、命令を記憶しているメモリを含む。コントローラ6内のプロセッサがこれらの命令を実行し、SerDes受信機の構成を引き起こす。
いくつかの特定の実施形態について説明の目的で上述したが、本特許文書の教示は、一般的な適用可能性を有し、上述した特定の実施形態に限定されない。低電力モードという用語および高電力モードという用語が、2つの可能性のある電力モードの例として上記で使用されたが、低電力モードと高電力モードとを有するものとして上記で説明したSerDes受信機およびSerDes送信機の各部は、実際には、多くの異なる電力モードを有することができ、低電力モードおよび高電力モードはそれらのうちの2つであるに過ぎないことを理解されたい。全SerDes受信機または全SerDes送信機も同様に、低電力モードと高電力モードとを有すると言えるが、これらのそれぞれが、実際には、多数の異なる電力モードを有することができることを理解されたい。たとえば、SerDes受信機8において、消費電力設定53がSerDes受信機の電力モードを決定する。したがって、説明した特定の実施形態の様々な特徴の様々な変更、適合、および組合せは、以下に記載する特許請求の範囲の範囲から逸脱することなく実施できる。