JP2012531092A - 周波数応答バス符号化 - Google Patents

周波数応答バス符号化 Download PDF

Info

Publication number
JP2012531092A
JP2012531092A JP2012516045A JP2012516045A JP2012531092A JP 2012531092 A JP2012531092 A JP 2012531092A JP 2012516045 A JP2012516045 A JP 2012516045A JP 2012516045 A JP2012516045 A JP 2012516045A JP 2012531092 A JP2012531092 A JP 2012531092A
Authority
JP
Japan
Prior art keywords
bus
signal
encoding
detector
frequency
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.)
Granted
Application number
JP2012516045A
Other languages
English (en)
Other versions
JP5606527B2 (ja
Inventor
スク オ,キョン
ウィルソン,ジョン
キム,ジョン−ホ
レン,ジホン
Original Assignee
ラムバス・インコーポレーテッド
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 ラムバス・インコーポレーテッド filed Critical ラムバス・インコーポレーテッド
Publication of JP2012531092A publication Critical patent/JP2012531092A/ja
Application granted granted Critical
Publication of JP5606527B2 publication Critical patent/JP5606527B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4915Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using pattern inversion or substitution

Landscapes

  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Dc Digital Transmission (AREA)

Abstract

データシステムは、バスの周波数およびバスにおけるスイッチング周波数に基づいて、バスの符号化を行うことで、共振状態等の好ましくない周波数状態または他の電気装置との干渉を回避することができる。1つまたは複数のバスに沿った伝送周波数を監視および使用し、データバス反転(DBI)に基づいた符号化処理等の符号化処理を制御する。論理レベルの絶対数の尺度(「DBI_DC」)と前の信号に対する論理レベル遷移数の尺度(「DBI_AC」)の両方を使用することで、主およびプレドライバのスイッチングノイズの補正に使用可能な制御の尺度が提供される。
【選択図】 図1B

Description

関連出願の相互参照
本願は、2009年6月18日出願の「周波数応答バス符号化(FREQUENCY RESPONSIVE BUS CODING)」と題された国際出願第PCT/US2009/003697号の利益を主張し、一部継続出願となっており、その国際出願の内容は本願の一部を構成するものとしてここに援用する。その国際出願は、2008年6月20日出願の「周波数応答バス符号化(FREQUENCY RESPONSIVE BUS CODING)」と題された米国仮特許出願第61/132,585号の利益を主張するものであり、その仮出願の内容は本願の一部を構成するものとしてここに援用する。
背景技術
演算システム、通信装置、家庭用電化製品、および他のプロセッサベースシステムまたはデジタルシステムは、益々複雑化する数多くのアプリケーションをホストするよう駆動されている。このようなシステムの構成要素の間で必要とされる情報や信号の転送は、データ転送に関わるデバイスに対する要求を増大させる。実際には、バス伝送の駆動および/または受信に必要とされる電力供給ネットワーク(「PDN」)の構成および特性は、データシステムのパフォーマンス全体に影響を及ぼす場合がある。例えば、電力供給ネットワークのインピーダンスはしばしば、強共振等の周波数応答の問題によって特徴づけられる。一部のシステムでは、強共振はシステムの特性に応じて約100〜300MHzの周波数範囲で発生する可能性がある。このような周波数応答の問題は、システムの供給電圧の品質を低下させ、電圧およびタイミングのマージンに影響を及ぼし、他にもデータ依存遅延を引き起こし、増幅器の減衰をもたらし、サンプラーにおけるビットエラーを引き起こす恐れがある。他にも問題を引き起こす可能性のあるバス周波数関連の課題がある。例えば、配線された電子装置であっても、互いに干渉し合うためまたは他のデバイスによって干渉されるために、望ましくない無線周波数特性を示す場合があることは周知である。
図面の簡単な説明
本技術は、これに限定されるものではないが、添付の図面の図における例示によって示される。図面中の同様の参照番号は類似の要素を示している。
周波数ベースのバス符号化技術を実装するのに適したデータシステムの一実施形態の例示的要素を示すブロック図である。 周波数ベースのバス符号化を実装するのに適したデータシステムの一実施形態の例示的要素を示すブロック図である。 周波数ベースの符号化における例示的なデータバス逆転符号化の一実施形態を示す略図である。 周波数ベースの符号化における例示的なデータバス逆転符号化の一実施形態を示す略図である。 周波数ベースの符号化における第2の例示的なデータバス逆転符号化の一実施形態を示す略図である。 周波数ベースの符号化の例示的な一実施形態を示す略図である。 検出器で実装可能な例示的なフィルタの周波数応答を示すグラフである。 検出器で実装可能な例示的なフィルタの逆転周波数応答を示すグラフである。 例示的な検出器のフィルタ周波数応答を逆転したものをグラフ化している。 例示的な検出器のフィルタ周波数応答を逆転したものをグラフ化している。 例示的な検出器のフィルタ周波数応答を逆転したものをグラフ化している。 周波数ベースの検出器および符号器の要素を示すブロック図である。 図5Aの検出器の一実施形態における符号化セットまたは決定素子の要素を示すブロック図である。 図5Aに類似した検出器および符号器の多重周波数応答の一実施形態における要素を示すブロック図である。 図6Aの検出器の一実施形態における符号化セットまたは決定素子の要素を示すブロック図である。 多重共振ピークを有するPDNにおける周波数スペクトルを示す。 データシステムおよび周波数ベースの検出器および符号器を示すブロック図である。 図7Aに示す検出器および符号器の符号化セットまたは決定素子の要素を示すブロック図である。 周波数ベースのバス符号化技術(2つのトランシーバのそれぞれが検出器を備える)の双方向バスの一実施形態を示すブロック図である。 図8Aの構成要素に基づく双方向メソクロノスメモリシステムの一実施形態を示すブロック図である。 図8Aおよび図8Bの構成要素に基づくクロックフォワーディングの一実施形態を示すブロック図である。 図8A、8B、および8Cの構成要素に基づくシリアライザとデシリアライザを伴う並列コーデックの一実施形態を示すブロック図である。 図8A、8B、8C、および8Dの双方向バスの一実施形態での実装に適し得る例示的な検出器のブロックである。 別の例示的な検出器(即ち、フィルタを備える検出器)のブロック図である。 図11Aおよび11Bでグラフ化したシミュレーションにおいて技術を比較するのに使用された擬似共振を示す例示的なバスインピーダンス関数のグラフである。 符号化技術および非符号化技術を有するバスのシミュレーションを比較するバススペクトル分析を示す。 符号化技術および非符号化技術を有するバスのシミュレーションを比較するバススペクトル分析を示す。 様々な動作モードのパラメータを格納するのに使用されるレジスタを示す。例えば、符号化を調整して種々の環境で周波数関連の目的を達成するポータブルデバイスで使用可能である。 バスの信号ラインの符号化を選択する方法を示すフローチャートである。 バスの信号ラインを符号化する方法を示すフローチャートである。
詳細な説明
一実施形態では、各バスサイクルで所定の状態に駆動されるバスのライン数が、周波数応答フィルタに入力される。この入力は、バス駆動型電力配電回路網における消費電力の時変表現である。バスの状態の切り替えが行われるバスのライン数も周波数応答フィルタに入力される。この入力はバスドライバのプレドライバに電力を供給する電力配電回路網における消費電力の時変表現である。これらのフィルタの周波数応答は、例えば、バス電力配電回路網および/またはプレドライバ電力配電回路網の共振周波数にそれぞれ応答するピークを有する。
電力配電回路網における時変消費電力が、電力配電回路網(または他の望ましくない状況)の共振周波数に応答する強い周波数成分を有する場合、対応するフィルタの出力は閾値より高くなる。これに応答して、システムはバス上での符号化を変更してこの共振を中断させることができる。電力配電回路網の共振応答の励振を中断させることにより、電力配電回路網におけるピーク電圧、電流、および/または位相の偏差が減少する。このような偏差を減少させることにより、バス上の符号間干渉、ノイズ、およびジッタが緩和され、並びに他の回路のパフォーマンスが改善される。更に、電力配電回路網における特定の周波数または共振でのノイズを低減することで、他の近接する電子装置との干渉またはそれらの電子装置から受ける干渉を減らすことができる。
本技術の一実施形態に係る周波数ベースのバス符号化システム等、データシステム102を図1Aに示す。データシステム102の構成要素は、バスの周波数成分を監視して1つまたは複数の周波数を検出することにより、バスでのデータ伝送を制御する。このように検出される周波数は、システムパフォーマンスを低下させる可能性がある、またはそれを示唆する周波数となり得る。検出された周波数は、1つまたは複数の構成要素によって能動的に伝送される信号とすることが可能で、必要ならば、受動的に伝送される信号を含んでもよい(例えば、バスアイドル時間、ハイインピーダンス状態、リターン、またはバスで伝送される他の通信情報を示す)。特定の周波数、複数の周波数、または周波数範囲を検出したとき、データシステム102は、特定の周波数関連の目標を達成するためにバス上にデータを伝送するのに使用される符号化手法を変更する。例えば、一実施形態では、周波数ベースのバス符号化システムは、バス106上のデータと関連付けされた共振周波数状態を検出することができる。第2の実施形態では、周波数ベースのバス符号化システムは、(例えば、他の近くにある電子装置との干渉またはこれらのデバイスから受ける干渉を回避するため、または他の周波数関連の目標を達成するために)特定の周波数を回避することができる。これに応じて、周波数ベースのバス符号化システムは、少なくとも1つのデータバスの一部のラインまたは全てのラインを選択的に符号化することができる。更に別の実施形態では、周波数関連の目標が動的になり得る。例えば、周波数関連の目標を環境に応じて選択的に「オン」または「オフ」にしたり能動的に変更したりすることができる(例えば、「機内モード」を実装するために)。必要に応じてモード選択は自動とされる。
図1Aは、共振関連の課題に対処するために使用できる実施形態を示す。例えば、シングルエンデッド信号に対して構成されたシステムでは、多くのチャネルの遷移データと関連付けられた集合誘導電流が、システムの共振を励振し、システム全体のパフォーマンスを低下させる恐れがある。このような同時スイッチングノイズは、ほとんど同時に切り替わる1つまたは複数のバスの多くの出力ドライバに起因する。これにより、システムの供給電圧の品質を低下させる広帯域エネルギーが発生する恐れがある。電源ノイズが、異なる量で入力信号ノードおよび参照ノードに結合すると、その差分によって電源から入力信号へとノイズのネット転送が生じる。このネットノイズは、システムの電圧およびタイミングマージンを低下させる。更に、ノイズが大きいと、影響を受けたPDNからの回路動作が正常な動作領域から外れる場合がある。例えば、データ依存遅延、増幅器の利得低下、および/またはサンプラーでのビットエラーを引き起こす場合がある。
これらの課題を軽減するために、図1Aの実施形態に示すように、周波数ベースのバス符号化システムの代表的な構成要素は、トランスミッタ104、バス106、レシーバ110、符号器108、復号器112、および少なくとも1つの周波数検出器114を含むことができる。図1Aはまた、簡略化された等価回路モデルCLを示す。モデルCLは、バス106と関連付けられた例示的な電力供給ネットワークを示す。図示したモデルは、電源のインダクタンスとグランドリターンパスを含んでいる。また、コンデンサと有限直列インダクタンスの減結合も含む。簡単のために、抵抗は省略している。
図1Aに示すように、データシステム102は検出器114を備える。検出器114は周波数検出器としてよい。検出器114を実装することで、バス106のチャネルおよび/または信号ラインと関連付けられたエネルギー関連の特性を検出または予測することができる。検出器114は、符号器108および/または復号器112の符号化方式の状態の設定を制御する符号化制御信号(ENC)を生成する。検出器114を実装することにより、バス106で伝送されるデータの符号化を制御するスペクトルベースの決定または周波数ベースの決定を行うことができる。検出器114の周波数応答に応じて、特定の伝送条件下でバス106のエネルギー特性を減少または回避するように決定を実施することができる。これらの条件では、特定の周波数付近でのスペクトルの平滑化または整形を考慮することができる。
バス106のラインの一部または全ての集合電流に応じて符号化を制御するよう検出器114を実装することができる。符号化または符号化の変更により、スペクトル成分のエネルギーが選択された周波数またはその近辺で小さくなるように、電流が変更され得る。当該選択された周波数は、システムの電力供給ネットワークの望ましくない状況またはノイズが多い状況と関連付けられ得る周波数であり、例えば共振周波数等がある。いくつかの実施形態では、データの符号化を使用して、2つ以上の周波数帯域でスペクトルエネルギーを減少させる場合もある。但し、そのような周波数ベースのバス符号化を実装して、ピークエネルギーまたはノイズ特性を抑制しない符号化の決定を下すこともできる。
検出器114は、バス106のデータラインの一部または全てと関連付けられた伝送対象のデータ信号(例えば、DQT、DQT〜DQT)のデータにおける2つ以上の単位間隔(連続した単位間隔等)を評価することができる。オプションとして、評価はまた、バス符号化を示すライン(例えば、ENC)、マスキング信号ライン、制御信号またはアドレス指定信号の制御ライン等のバスの他のまたは全ての信号ラインを含めることができる。評価では、バス106またはPDNの潜在的な集合エネルギーまたは電流によって周波数の潜在的な好ましくない状況または不利益なエネルギー状況を予測し、好ましくない状況またはエネルギーの状況を回避または緩和するための符号化決定を行うことができる。したがって、このような周波数ベースの予測符号化決定を利用することにより、システムパフォーマンス全体に悪影響を及ぼすまたはこれを低下させる可能性のある問題を回避することができる。そのような問題としては、バス出力を切り替えることにより誘導される電力供給ネットワークの共振、電力供給ネットワークの周波数の共振におけるピークスイッチングノイズ、および特定の周波数感度を有する他の回路(位相ロックループ(PLL)、遅延ロックループ(DLL)、フィルタ、クロックバッファ等)へのノイズ注入等が考えられる。
電力供給ネットワークおよび/またはリターンパスのインピーダンスに基づいて特定の共振周波数を決定することにより、およびその周波数またはその近辺で応答するよう検出器114を構成することによって、電力供給ネットワークのあまり好ましくない動作状況を回避するよう符号化手法を制御することができる。検出器114は、アナログ(例えば、連続時間)フィルタおよび/またはデジタルフィルタ等の、特定の周波数応答を持つ1つまたは複数のフィルタと一緒に実装することができる。検出器114は、特定の周波数応答に基づいて符号器108および/または復号器112を設定するための符号化制御信号を生成することができる。この周波数応答は、電力供給ネットワークの好ましくない動作状況を引き起こす周波数特性に対応し得る。
一部の実施形態では、フィルタは、システム構成および好ましい周波数応答に応じて、1つまたは複数の帯域消去フィルタおよび/または1つまたは複数の帯域通過フィルタとして実装することができる。オプションとして、高域通過フィルタおよび/または低域通過フィルタの実装も可能である。一部の実施形態は、有限インパルス応答(FIR)フィルタおよび/または無限インパルス応答(IIR)フィルタを使用することも可能である。更に、一部の実装では、スイッチドキャパシタフィルタ、または混合モードフィルタリングシステムを使用することができる。混合モードフィルタリングシステムでは、予測された集合電流をアナログ信号に変換し、周波数ベースの決定において電流ミキシング回路を使用することができる。この情報は、変換してデジタル符号化制御信号に戻すことができる。そのような検出器では変換においてデルタシグマ変調等の技法を実装することもできる。
データシステム102はまた、少なくとも1つのトランスミッタ104を備えてもよい。トランスミッタ104は、通常、バス106のラインまたは信号パスにデータを伝送する。トランスミッタは、複数の信号ドライバを含むことができる(図1Aには図示せず)。各信号ドライバは、バス106のパスまたはチャネル(例えば、ライン)でデータ信号を伝送できる。該当するドライバがそれぞれ、データ信号の共通のデータ間隔(または単位間隔)内にデータを伝送することができるように、データの伝送は、通常、1つまたは複数の伝送クロック信号で規制されるであろう。バス106の各信号パスは、シングルエンデッド信号パスまたは信号ラインとすることができる。図1Aには図示されていないが、データシステム102は、バス106でのデータ伝送のために他の要素を採用してもよい。例えば、伝送イコライザ、レシーバイコライザ、およびクロック生成回路要素等が挙げられる。クロック生成回路要素は、例えば、発振子、位相ロックループ、遅延ロックループ、位相ミキサ等を含むことができる。
トランスミッタ104は、通常、符号器108を含むであろう。符号器108は、伝送されるデータ(例えば、DQT、DQT〜DQT)を選択的に修正または符号化するように構成される。これにより、トランスミッタ104は、符号化されたデータ信号(例えば、DQC、DQC〜DQC)を伝送することができる。伝送対象のデータをバス106上の符号化データ信号に符号化すると、一部の実施形態では、PDNに対する要求が減らされ、バス106またはPDNでのデータの伝送のエネルギー特性が改良される。したがって、バス上でデータを伝送するのに必要な電流、電圧、または電力等のいずれかまたは全てを低減するよう符号化を実施することができる。例えば、一部の状況では、符号化されたデータ信号の伝送は、伝送対象のデータ信号を符号化なしで伝送する場合に比べて、ノイズを抑え電力を少なくすることができる。
符号器108の回路は、トグル、フラグ、または極性ビット反転手法等のデータバス反転符号化手法を実装するためにデータバス反転回路内のインバータと一緒に実装してもよい。そのような実施形態において、伝送対象のデータ信号(例えば、DQT、DQT〜DQT)のデータは、符号化されたデータ信号(例えば、DQC、DQC〜DQC)としてバス106のチャネルに載せる前に選択的に反転させることができる。これは反転プロセスで達成可能である。このような反転プロセスでは、各データビットおよび各データビットの反転バージョンを、符号化制御信号によって制御される1つまたは複数のマルチプレクサ(MUX)に適用することができる。
符号化制御信号は、データ信号の反転バージョンからまたはデータ信号の非反転バージョンから選択するようマルチプレクサを制御する。例えば、バイナリシステムにおいて、バス上の論理「0」と関連付けられ得るロー信号の伝送は、論理「1」と関連付けられ得るハイ信号の伝送よりもより多くのエネルギーを必要とする場合がある。そのような場合は、ハイ信号状態ではなくロー信号状態として伝送されるデータビット数を減らすことによりバスのエネルギーを抑えることが可能である。そのような場合のデータバス反転を実装する符号器は、バスのラインの全てについて共通の単位間隔のデータビットを変更して、データビットの反転により論理ローの数を減らすことができる。反転されたデータビットは、符号化されたデータ信号として伝送される。データシステム102の符号器108の他の実施形態では、単純なデータバス反転手法よりも高度な符号化手法によって伝送対象のデータを符号化する回路を採用してもよい。
通常、検出器114からの符号化制御信号(図1AではENCとして図示)は、符号器108を制御する。この制御信号は、符号器108によって実施される符号化を設定する。特定の単位間隔での符号化制御信号の状態は、対応するデータ間隔または単位間隔内のバスのデータ信号を符号化すべきかどうか、或いはどのように符号化するかを示す。例えば、制御信号をハイに設定して、現在の単位間隔で伝送対象のデータについて符号器108によって反転を行う必要があることを示すことができる。同様に、制御信号をローに設定して、現在の単位間隔で伝送対象のデータについて符号器108によって反転を行う必要がないことを示すことができる。これは、アクティブハイの符号化として理解することができる。もう一つの方法として、符号化制御信号またはバス反転制御信号は、制御信号がロー信号である場合に反転を示す。これは、アクティブローの符号化として理解することができる。制御信号は、トランスミッタ104のドライバまたは複数のドライバ(図1Aに図示せず)によってバス106上を伝送することもできる。バス106の所与の単位間隔での制御信号の信号レベルは、バス上を同じ単位間隔において伝送されるデータの符号化状態を表す。この伝送は、例えば、共通の伝送クロックを使用して制御信号およびデータ信号を伝送することにより達成され得る。したがって、符号化制御信号を利用して、バス106上にあるレシーバの要素を制御することもできる。
データシステム102はまた、レシーバ110を備えてよい。レシーバ110は、バス106のラインから信号を受信する。例えば、レシーバ110は、複数のスライサ(図1Aに図示せず)を備えることで、バス106上の信号の連続した各単位間隔のアナログ値をサンプリングし、サンプリングされた値を閾値と比較することによりデジタル値を生成することができる。このように生成されたデジタル値(例えば、DQRC、DQRC〜DQRCとして示される受信した符号化済みデータ信号)は、通常、伝送した符号化済みデータ信号(例えば、DQTC、DQTC〜DQTC)のデータと同じになるであろう。同様に、1つまたは複数のスライサは、レシーバ110によって受信される符号化制御信号(例えば、ENC)を生成することができる。
更に、レシーバ110は、通常、復号器112を備えることになる。受信した符号化済みデータ信号(例えば、DQRC、DQRC〜DQRC)を選択的に変更または復号して受信したデータ信号(例えば、DQR、DQR〜DQR)を生成するよう、復号器112は構成される。通常、転送対象のデータ信号(例えば、DQT、DQT〜DQT)のデータは、受信したデータ信号(例えば、DQR、DQR〜DQR)と同じになるであろう。したがって、復号器112は符号器108を補完する。例えば、符号器108が転送対象のデータ信号のデータの反転を実施する場合、復号器112は、受信した符号化済みデータ信号のデータの反転を実施することになる。同様に、データシステム102で他の符号化手法が実装されている場合に、伝送した符号化済みデータを復号するよう他の復号器を実装することもできる。通常、レシーバ110によって受信される符号化制御信号(ENC)は、単位間隔ごとの復号器112による復号化を、適宜、制御するよう実装され得る。
図1Bは、周波数ベースのバス符号化を実装するのに適したデータシステムの実施形態の例示的な要素を示すブロック図である。図1Bに示す周波数ベースの符号化システム180は、2つの検出器(154および155)の出力に基づいて符号化を選択することができる。2つの検出器154および155が存在するため、周波数ベースの符号化システム180は、検出器154および155からの複数の入力に基づいて、複数の符号化手法を使用することができる。例えば、前述したように、周波数ベースの符号化システム180では、特定の論理レベルに駆動される信号ラインの周波数成分を最小限に抑えるために符号化を行うことができる(例えば、駆動される「ゼロ」の数の周波数成分を最小限に抑える)。これは「DC」データバス反転または「DBI_DC」と称することができる。周波数ベースの符号化システム180では、スイッチング信号ラインの遷移数の周波数成分を最小限に抑えるために符号化を行うことができる(例えば、「0」から「1」への切り替えおよび「1」からの「0」への切り替えの周波数成分を最小限に抑える)。これは「DBI_AC」と称することができる。検出器154および155の複数の出力を組み合わせることで、DBI_ACまたはDBI_DCが存在する場合に、どの符号化を選択するかを選ぶことができる。更に、検出器154および155の出力に基づいてより複雑な符号化システムを選択することができる。
図1Bにおいて、周波数ベースの符号化システム180は、供給電圧用のドライバ電力配電回路網(DPDN)150、供給電圧用のプレドライバ電力配電回路網(PPDN)152、検出器154、検出器155、符号器156、プレドライバ160、ドライバ161、バス162、受信デバイス170を備える。通常、プレドライバ供給電圧の場合は、他の内部回路と共有されるが、ドライバ161とは共有されない。同様に、ドライバ供給電圧の場合も、通常は、出力ドライバ専用となる。但し、一部の状況では、このような電源回路網は、内部回路、プレドライバ160、および/またはドライバ161と共有され得る。
DPDN 150を接続することで、ドライバ161に電源が提供される。ドライバ161はそれぞれ、バス162の導体(またはライン)を駆動する。したがって、ドライバ161により出力される信号は、バス162によって受信デバイス170に伝達される。PPDN 152を接続することで、プレドライバ160に電源が提供される。プレドライバ160はそれぞれ、ドライバ161の少なくとも1つを駆動する。したがって、プレドライバ160によって出力される信号は、ドライバ161によって増幅および/または中継され、バス162によって受信デバイス170に伝達される。
プレドライバ160への入力は、第1の検出器154に結合される。プレドライバ160への入力は、第2の検出器155に結合される。検出器154の出力は、符号器156に結合される。検出器155の出力は、符号器156に結合される。符号器156はまた、受信デバイス170へ送信するように意図された入力信号を受信する。
一実施形態では、検出器154は、検出器114に関連して前述した機能と同じまたはそれに類似した機能を実行することができる。検出器154は、バス162のチャネルまたは信号ラインと関連付けられたエネルギー関連の特性を検出または推測するよう、実装され得る。検出器154が生成する出力は、符号器156に結合される。この出力は、符号器156の符号手段および/または受信デバイス170によって行われる復号化の設定または状態を決定するのに役に立つ。スペクトルベースの決定または周波数ベースの決定を行ってバス162における伝送対象のデータの符号化を特定できるよう、検出器154を実装することができる。
バス162上を伝送されるデータの周波数特性を検出するよう、検出器154の周波数応答を設定できる。この検出では、伝送されるデータの周波数特性が特定の周波数の近辺で平滑化または整形されるように、バス162の特定の伝送条件下で変化する、符号器156による符号化を考慮することができる。例えば、バス162のラインの一部または全ての集合電流に応じて、符号器156による符号化を制御するように、検出器154を実装することができる。この制御では、1つまたは複数の共振周波数等、選択された周波数でまたはその近辺でスペクトル成分のエネルギーが低くなるように、当該電流を変更することができる。これらの共振は、DPDN 150等の、システムの電力供給ネットワークの好ましくない(即ち増大した)ノイズ状況と関連付けることができる。またピークエネルギーまたはノイズ特性を減じない符号化決定を行うように検出器154が実装され得ることも理解されたい。
検出器154は伝送対象の入力信号の2つ以上の単位間隔を評価することができる。この評価においては、バスの符号化を示すライン、マスキング信号ライン、アドレスライン、および/または制御ライン等、バスの他の信号ラインまたは全ての信号ラインを含むことができる。この評価では、他のバスおよび/または集積回路からの信号ラインを含んでもよい。既存の好ましくない周波数共振状況を検出することも、潜在的な好ましくない周波数共振状況を予測することもできる。検出器154によるこの検出に応答して、符号器156は符号化の変更を行うことができる。この符号化の変更は、バス162および/または電力配電回路網150での好ましくないまたは不利益な共振を回避または減じるように設計してもよい。
例では、DPDN 150の特定の共振周波数を決定することができる。その周波数でまたはその近辺で応答するよう検出器154を構成することができる。言い換えると、検出器154は、共振周波数と関連付けられた周波数特性に従って時間で変化する出力を生成する。検出器154がその周波数に応答すると、符号器156によって符号化手法が選択され、DPDN 150のあまり好ましくない動作状況を回避できるようになる。検出器154は、1つまたは複数のフィルタと一緒に実装することができる。検出器154は、1つまたは複数のフィルタの出力に基づいて、符号器156によって使用される符号化を設定するために出力を生成することができる。検出器155は、前述したフィルタと技法を使用して実装することができる。
プレドライバ160の切り替えおよび/またはバス162のチャネルまたは信号ラインの切り替えと関連付けられた周波数関連の特性を検出または予測するよう、検出器155を実装することができる。検出器155が生成する出力は、符号器156に結合される。この出力により、符号器156の符号化手法の状態の設定の制御、および/または受信デバイス170により行われる復号化の制御を容易に行うことができる。検出器154のように、スペクトルベースの決定または周波数ベースの決定を行うことで、バス162で伝送されるデータの符号化を容易に制御できるように検出器155を実装することができる。
検出器155は、バス162で伝送される論理レベルの切り替えの周波数特性を検出するよう設定され得る。このような検出により、符号器156は、特定の伝送状況下で符号化を変更することができる。これらの符号化の切り替えは、バス162(またはプレドライバ160)と関連付けられたスイッチング電流が特定の周波数の近辺で平滑化または整形されるように、選択することができる。例えば、バス162のラインの一部または全ておよび/またはプレドライバ160の集合スイッチング電流に応じて符号器156による符号化を容易に制御できるよう、検出器155を実装することができる。この制御では、1つまたは複数の共振周波数等、選択された周波数で、またはその近辺でスイッチング電流が小さくなるよう変更され得る。このような共振は、PPDN 152等、システムの電力配電回路網の好ましくない(または増大した)ノイズ状態と関連付けることができる。またスイッチングノイズ特性を減じない符号化決定を行うように検出器155が実装され得ることも理解されたい。
検出器154と同様に、検出器155は、伝送対象の入力信号の2つ以上の単位間隔を評価することができる。この評価においては、バスの符号化を示すライン、マスキング信号ライン、アドレスライン、および/または制御ライン等、バスの他の信号ラインまたは全ての信号ラインを含むことができる。この評価では、他のバスおよび/または他の集積回路からの信号ラインを含むことができる。評価では、既存の好ましくない周波数共振状況を検出することも、潜在的な好ましくない周波数共振状況を予測することもできる。検出器155によるこの検出に応答して、符号器156は符号化の変更を行うことができる。プレドライバ電力配電回路網152での好ましくないまたは不利益な共振を回避または抑制するよう、この変更を設計することができる。符号化の変更によって回避される問題としては、プレドライバ論理切り替えに起因するプレドライバ電力供給ネットワーク152における共振ノイズ、およびPLL、DLL、フィルタ、クロックバッファ等、特定の周波数感度を持つ他の回路へのノイズ注入等が挙げられる。
PPDN 152の特定の共振周波数を決定することができる。検出器154と同様に、検出器155は、その周波数またはその近辺で応答するよう設計または構成することができる。検出器155がその周波数に応答すると(即ち、検出器155がプレドライバ電力配電回路網152における共振周波数とスイッチング電流との関係を認識する)、PPDN 152におけるあまり好ましくない動作状況を回避するために符号器156によって符号化手法が選択される(または変更される)。前述したフィルタおよび技法を使用して検出器155を実装することができる。
一実施形態では、周波数ベースの決定に代わり、信号ラインの遷移数および特定の状態に駆動される信号ラインの数に従って、データバス反転を適用することができる。例えば、デフォルトでは、DBI_AC符号化を適用することができる。これにより高周波数ノイズの低減が可能である(例えば、検出器155は、信号ラインの遷移数に基づいてDBIを適用するよう符号器156を制御することができる)。しかし、特定の論理状態に駆動すべきビット数が閾値を超える場合は、DBI_ACを適用することができる(またはDBI_DCに優先する)。言い換えると、符号化された信号ライン上のビット数が特定の数を超える場合(例えば、8ビットが6)DBI_DCが適用され(DBI_ACではなく)、符号化を決定する(例えば、検出器154により選択される符号化は、送信されるビット数の閾値を超えて、特定の状態となるので、検出器155は、検出器154による符号化に「優先」し得る)。
周波数ベースのバス符号化技術を実装するデータシステム202の実施形態を図2Aに示す。本実施形態は前述した例のいずれとも一緒に使用することができる(例えば、他の近くのデバイスとのRF干渉を回避すること、システム電力供給ネットワークの共振周波数と一致するバス切り替え励振周波数を回避する等、他の判定基準を実装すること)。このために、図示した実施形態では、検出器214でバス206のデータについて電力関連の尺度を求める。このような電力関連の尺度は、ハミング重みとなり得る。電力関連の尺度は、伝送されたビットの加重和と個々の符号の電力を掛け算したものとして求めることができる。加算されたビットは、伝送されたデータと任意の反転制御ビットとを含み、バス206で伝送される他の制御ビットまたはアドレス指定ビットを含むことさえもできる。
図2Aの実施形態では、トランスミッタ204は、データバス反転符号化手法を実装した符号器208を備える。図2Aに示すレシーバ210は、図1Aおよび図1Bの実施形態と関連して導入されたレシーバに類似し得る。
検出器214は、加算器216、フィルタ218、および符号化制御セット要素(比較器220等)を備える。フィルタ218は帯域通過フィルタとして示されているが、低域通過フィルタとして実装可能である。加算器216は、バス206の集合電流を予測するために、各単位間隔で伝送されるデータのビット(例えば、DQT〜DQT)を表す信号を合計し、加算器の出力をフィルタ218に入力する。
フィルタ218の転送機能は、帯域通過フィルタの形態をとり、中心周波数はシステムおよび/または周波数帯域の共振周波数か、その近辺にある。例えば、帯域通過フィルタの中心は、電力配電回路網のピーク共振または位相ロックループのピーク利得の近くに置くことも、1つまたは複数の他の特定の周波数または周波数帯域に対して置くこともできる。図2Aの例では、帯域通過フィルタの出力は、フィルタによって示される好ましくない周波数範囲でのバス電流を示す信号である。フィルタ218の出力は、比較器220に加えられる。フィルタ218の出力と比較器220に供給される閾値との比較により、符号化制御信号が生成される。この信号は、符号器208による反転を所望の符号化手法に従って制御する。例えば、帯域通過フィルタの出力により、符号器208は、バス206の各ラインの論理状態を反転することができる(即ち、データバス時反転(DBI))。比較器220の入力で使用される閾値信号は、例えば、着信する符号化されていないビットの合計に基づく重み尺度をもたらすように、動的に変化し得る。予測電流の検出周波数に応じた集合電流の「重み」のそのような変化により、バス206のスペクトル成分は、検出器214を備えていないシステムと比較されると、様々な方法で整形され得る。
図2Bは、周波数ベースの符号化の例示的なデータバス反転符号化の実施形態を示す図である。図2Bでは、データシステム250は、検出器215、検出器265、比較器221、加算器270、トランスミッタ284、およびバス206を備える。検出器215は、加算器216とフィルタ218を備える。検出器265は、加算器266とフィルタ268を備える。トランスミッタ284は、符号器288と、プレドライバ256と、ドライバ258を備える。
図2Bに示す実施形態は、前述した例のいずれでも使用できる(例えば、他の近隣のデバイスとのRF干渉の回避、PLL等の高感度回路との干渉の低減、システム電力供給ネットワークの共振周波数と一致するバス切り替え励振周波数の回避等、他の判定基準の実装)。このために、図示した実施形態では、検出器215でバス206のデータに対する電力関連の尺度を求める。この電力関連の尺度は、前述した方法で決定することができる。
図示した実施形態(検出器265内)はまた、スイッチング電力関係尺度を決定する。スイッチング電力関係の尺度は、単位時間間隔から単位時間間隔へ切り替わるビットの数に対応し得る。カウントされるスイッチングビットの数は、任意の反転制御ビットおよび/またはプレドライバ256によって制御される他の制御ビットまたはアドレス指定ビットを含み得る。
図2Bでは、トランスミッタ284は、データバス反転符号化手法を実装する符号器288を備える。符号器288の出力は、プレドライバ256への入力である。プレドライバ256の出力は、ドライバ258への入力である。ドライバ258への出力は、バス206に結合される。図2Bに図示していないレシーバは、バス206からの受信入力となり、図1Aおよび1Bに示す実施形態に関連して導入されるレシーバに類似している。
検出器215は、加算器216とフィルタ218を備える。フィルタ218は帯域通過フィルタとして説明されているが、高域通過フィルタ、低域通過フィルタ、または他の所望のタイプのフィルタ(例えば、帯域通過、多重バンド帯域通過等)として実装してよい。加算器216は、各単位間隔で伝送するデータのビット(例えば、DQT〜DQT)を表す信号を合計することによって、および加算器216の出力をフィルタ218に入力することによって、バス206の集合電流および/またはドライバ258で使用されるPDNを予測する。
フィルタ218の伝達関数は、中心周波数がシステムの共振周波数および/または周波数帯域に位置するまたはその近くに位置する、帯域通過フィルタの形式とすることができる。例えば、帯域通過フィルタの中心は、電力配電回路網のピーク共振または位相ロックループのピーク利得の近くに置くことも、1つまたは複数の他の特定の周波数または周波数帯域に対して置くこともできる。図2Bの例では、帯域通過フィルタの出力は、フィルタによって示される好ましくない周波数範囲でのバス信号を示す信号である。フィルタ218の出力は加算器270に加えられる。
検出器265は、加算器266およびフィルタ268を備えている。フィルタ268はまた、前述したフィルタの様々なタイプを使用してフィルタ268を実装することができる。加算器266は、各単位間隔間で変化したビットを示す信号を特定して加算することで、および加算器266の出力をフィルタ268に入力することで、プレドライバ256の集合スイッチング電流および/またはプレドライバ256によって使用されるPDNを予測する。
フィルタ268の伝達関数は、中心周波数がシステムの共振周波数、PDN、および/または周波数帯域に位置するまたはその近くに位置する、帯域通過フィルタの形式とすることができる。例えば、帯域通過フィルタの中心は、プレドライバ256を提供する電力配電回路網のピーク共振、または位相ロックループのピーク利得の近くに置くことも、1つまたは複数の他の特定の周波数または周波数帯域に対して置くこともできる。図2Bの例では、帯域通過フィルタの出力は、フィルタによって示される好ましくない周波数範囲でのバススイッチングノイズを示す信号である。フィルタ268の出力は、加算器270に加えられる。
フィルタ218の出力とフィルタ268の出力は、加算器270によって合計される。フィルタ218と268の出力は、合計する前に加算器270によって重み付けされ得る。加算器270の出力と閾値との比較器221による比較により、所望の符号化手法に従って符号器288を制御する符号化制御信号が生成される。例えば、加算器270の出力により、符号器288は、バス206の各ラインの論理状態を反転させてデータバス反転(またはDBI)を実装することができる。比較器221の入力で使用される閾値信号は、例えば、着信する非符号化ビットのプロパティ(例えば、スイッチングビット数、着信ビットの重み等)に基づいて、重み尺度をもたらすために動的に変化させることができる。このような変化を使用すれば、バス206のスペクトル成分は、検出器215および265がなくてもシステムと比較される際に異なる方法で形成することができる。
図2Cは、周波数ベースの符号化の第2の例示的なデータバス反転符号化を示す図である。図2Cでは、データシステム251は、検出器215、検出器275、比較器221、加算器271、トランスミッタ284、およびバス206を備える。検出器215は、加算器216およびフィルタ218を備える。検出器275は、加算器266およびフィルタ268を備える。トランスミッタ284は、符号器288、プレドライバ256、およびドライバ258を備える。
図2Cに示すデータシステム251は、図2Aに示すデータシステム250とほぼ同じであり、検出器265が検出器275で置き換えられていること、加算器270が加算器271で置き換えられていることが異なる。検出器275は検出器265とほぼ同じであるが、加算器271に入る予備出力を備えている点が異なる。したがって、加算器271の入力は3つである。検出器275の追加出力は、加算器266の出力である。
フィルタ218の出力、フィルタ268の出力、および加算器266の出力は加算器271によって加算される。フィルタ218およびフィルタ268の出力、および/または加算器266の出力は、重み付けしてから、加算器271による加算を行うことができる。加算器271の出力と閾値とが比較器221によって比較されると、所望の符号化手法に従って符号器288を制御する符号化制御信号が生成される。例えば、加算器271の出力により、符号器288は、バス206の各ラインの論理状態を反転させることができる。比較器221の入力で使用される閾値信号は、例えば、着信する非符号化ビットのプロパティ(例えば、スイッチングビット数、着信ビットの重み等)に基づいて、重み尺度をもたらすために動的に変化させることができる。このような変化を使用すれば、バスのスペクトル成分は、検出器215および275がなくてもシステムと比較される際に異なる方法で形成することができる。図2Cから分かるように、加算器271への3つの入力により、バス重み、フィルタリングされたバス重み、およびフィルタリングされた変化ビットの数に基づいて、符号化を決定することができる。これは、消費電力と、低または中の同時スイッチング出力(SSO)ノイズと、高周波数SSOノイズと、クロストークノイズとの間のバランスを実装するのに使用することができる。
図2Dは、周波数ベースの符号化の例示的な実施形態を示す図である。図2Dでは、データシステム252は、検出器215と、検出器265と、比較器231と、比較器232と、トランスミッタ285と、バス206を備える。検出器215は、加算器216およびフィルタ218を備える。検出器265は、加算器266とフィルタ268を備える。トランスミッタ285は、符号器289と、プレドライバ256と、ドライバ258とを備える。
図2Dに示す実施形態は、前述した例のいずれとも一緒に使用することができる。図示した実施形態では、バス206のデータに関する電力関連の尺度を検出器215で決定する。この電力関連の尺度は、前述したいずれの方法でも求めることが可能である。
図示した実施形態はまた、スイッチング電力関連の尺度を検出器265で特定する。スイッチング電力関連の尺度は、単位時間間隔から単位時間間隔に切り換えるビット数に対応し得る。カウントされるスイッチングビット数は、任意の反転制御ビットおよび/またはプレドライバ256で制御される他の制御ビットまたはアドレス指定ビットを含み得る。
図2Dでは、トランスミッタ285は、複数の符号化モードを実装する符号器289を備える。例では、これらの符号化モードは、非反転、データバス反転、および予め決定されたパターンに対するデータのXORを含み得る。したがって、この例では3つの符号化手法が存在する。使用する符号化手法は、比較器231および232の出力に基づいて選択される。例えば、比較器231および232の両方の出力がローの場合は、非反転を使用することができる。比較器231および232の出力が異なる場合は、予め決定されたパターンに対してデータをXORとすることができる。両方の比較器の出力がハイの場合、データバス反転を使用することができる。他の組み合わせとしては、追加の比較器および閾値、並びに更なる符号化手法を使用することができる。
符号器289の出力は、プレドライバ256の入力である。プレドライバ256の出力は、ドライバ258への入力である。ドライバ258の出力は、バス206に結合される。レシーバ(図2Dに図示せず)は、バス206からの受信入力とすることができ、図1Aおよび図1Bに示す実施形態と関連して導入されたレシーバと類似し得る。
検出器215は、加算器216とフィルタ218を備える。図2Dの例では、帯域通過フィルタの出力は、フィルタによって示される好ましくない周波数範囲でのバス信号を示す信号である。フィルタ218の出力は、比較器231に加えられる。
検出器265は、加算器266とフィルタ268を備える。図2Dの例では、帯域通過フィルタの出力は、フィルタで示される好ましくない周波数範囲でのバススイッチングノイズを示す信号である。フィルタ268の出力は、比較器232に加えられる。
フィルタ218の出力は、比較器231によって第1の閾値と比較される。フィルタ268の出力は、比較器232によって第2の閾値と比較される。比較器231および232の出力は符号化制御信号を生成し、これにより、複数の所望の符号化手法のいずれかに従い、符号器289によって符号化が制御される。例えば、比較器231の出力により、符号器289は、バス206の各ラインの論理状態を反転することができる。比較器232の出力は、この反転を無効にすることができ、これによりバス206の各ラインの論理状態は通常の出力となる。別の例では、比較器231の出力により、符号器289は、第1の符号器手法を適用できるようになり、比較器232の出力により、符号器289は、第2の符号器手法を適用できるようになる。別の例では、比較器231および232の出力は4つの状態をとる可能性があるので、比較器231および232の出力に従って、符号器289は、4つの符号化手法のいずれかを適用することができる。
比較器231および232の入力で使用される閾値信号を動的に変化させることで、例えば、着信する非符号化ビットのプロパティ(例えば、スイッチングビットの数、着信ビットの重み等)に基づいて重み尺度をもたらすことができる。そのような変化を利用すれば、比較器231および232によって複数の閾値が提供されなくてもシステムとの比較を行う場合に、バスのスペクトル成分を様々な方法で整形することができる。
図2B、図2C、および図2Dには、2つの検出器が示されているので、周波数ベースの符号化システム250〜252では、これらの検出器からの複数の入力に基づいて複数の符号化手法を使用することができる。この場合は、プレドライバ電力スイッチングノイズおよび主ドライバ電力スイッチングノイズを低減するように、符号化を適用することができる。プレドライバ電力スイッチングノイズはジッタを引き起こす主成分となる可能性があり、主ドライバ電力スイッチングノイズは固有の問題を引き起こすので、プレドライバ電力スイッチングノイズとドライバ電力スイッチングノイズの両方に基づいて符号化を変更できるようにすれば、これらの問題の中の1つだけに単独で対処するのでなく広範なスイッチングノイズ問題に対処することができる。
符号化システム250〜252では、バス206上に8本のデータラインが示されている。但し、このような符号化システム250〜252はいずれも、より少ないデータラインで、またはデータラインを追加して実装可能である。更に、符号化制御信号用に制御ラインが1つしか示されていない場合、符号化システム250〜252およびバス206はまた、追加のまたは他の制御信号またはアドレス指定信号を実装してもよい。
前述の検出器の実施形態では、無限インパルス応答フィルタ(「IIR」)を使用できる。このようなフィルタは、回路のアナログ要素またはデジタル要素として実装され得る。バス出力重みの履歴のスケール値を蓄積することで(例えば、バスラインの電流またはスイッチング重みの複数の単位間隔の加算に基づいて)、周波数ベースのバス符号化または反転の決定を行うことができる。前述した検出器の実施形態のフィードバックループで実装され得る例示的な3タップフィルタ構造(2つの係数と遅延出力履歴)の周波数応答を示す。図3Aのグラフは、帯域通過フィルタの周波数応答を示す。図3Bのグラフは、図3Bの周波数応答の反転を示す。これらのグラフは、5Gbpsのデータレートに基づいたシステムを示す(Fs=5GHzでサンプリングされるフィルタの出力)。例示的なIIR帯域通過フィルタは、伝達関数によって以下のように説明できる。

Figure 2012531092
「a」および「b」の係数値を適切な値に設定することにより、フィルタの中心周波数が所望の周波数に調整され得る。例えば、このフィルタの中心周波数をシフトする方法として考えられる1つの方法は、フィルタ係数「a」を調整することである。中心周波数を正確に配置するための解は、方程式「a=2cos(Fr/Fs)」で求めることができる。ここで、Frはシステムの共振周波数であり、Fsはフィルタのサンプリング周波数である。「a」および「b」は、正にも負にもなり得ることを理解されたい。一般に、「a」および「b」(または、他のフィルタ伝達関数でこれらに相当するもの)の値(および符号)は、所望のフィルタ応答とフィルタを実装するのに使用される要素によって決定される。
Fsの小さな変化に対しても「a」の感度が与えられる場合、Fsの値よりかなり低い周波数にフィルタのノッチを正確に配置すると、「a」の値を正確に設定することが難しくなる場合がある。この感度を低下させるには、サブサンプリングまたはデシマルアプローチを使用することも可能である。フィルタ係数および/またはフィルタのサンプリングレートを修正することにより、バスにおける好ましくないエネルギー特性を回避するようにバスに対する周波数応答が選択される検出器のフィルタを構築することができる。図4A、4B、および4Cはそれぞれ、フィルタ伝達関数の係数「a」について様々な値を取る例示的なフィルタの周波数応答の反転をグラフ化したものである。各曲線はそれぞれ、Fs、Fs/2、およびFs/4でのサンプリングレートで、0〜1.75の範囲において0.25ずつプロットした係数「a」の値に基づくものである。
サブサンプリングアプローチを使用すれば、フィルタ係数(例えば、係数「a」)に対するノッチ周波数の感度を低下させることで、ノッチを低周波数に容易に配置することが可能になる。1/2 Xサブサンプリングアプローチの場合は、デジタルおよび/またはアナログ実装における隣接重み値(時間)の平均をとり、このストリームに基づいて符号化制御(ENC)を設定することができる。サブレートサンプリングと追加タップの使用は、デジタル実装において適切なアプローチである。但し、アナログ/デジタル組み合わせ実装の場合はまた、アナログ回路を使用してフィルタの中心周波数の配置を微調整するオプションも備えている。中心周波数のチューニングを行う更なるオプションとして考えられるのは、オンチップバイパスコンデンサに対する何らかの制御を追加的に行うことである。
システムの検出器は、いくつかの可能な周波数応答の少なくとも1つについてチューニング可能なプログラマブルフィルタを備えてもよい。そのようなシステムでは、デジタルフィルタ実装等で粗係数調整を行うことができる。システムのバスが、プログラマブル可能なオンチップバイパスコンデンサを使用して実装される場合、システムパフォーマンス中にオンチップバイパスコンデンサを調整することにより、PDNの共振周波数を調整することができる。PDNに対するそのような変更と組み合わせて、係る実施形態では、検出器の所望の周波数応答が引き続き、オンチップバイパスコンデンサおよびPDNの共振周波数に加えた調整に対する所望の周波数応答を引き続き有するように、検出器を調整することもできる。前述したように、フィルタはマルチモード様式でも実装可能であり、デバイスの動作時に予めプログラムされたモードが選択的または動的に設定される。
図5Aは、周波数ベースの検出器514および符号器550を備えるシステム500のブロック図である。検出器514は、1つまたは複数の遅延要素531、532(図5Aではそれぞれ「D1」と「D2」としても示す)と、1つまたは複数の増幅要素540、541(図5Aではそれぞれ「a」と「b」としても示す)と、フィルタ(即ち、検出器の「フィルタ部分」)を構成する1つまたは複数の加算器521、522、523、560と、符号器セット要素562とを備える。
符号器550は、着信する非符号化データ(図5Aでは「DQ非符号化」として表示)を修正するよう構成された反転/パス要素として実装することができ、これにより、バス上に実際に伝送された重みを表す集合バス重み信号(図5Aでは「SDQ」として表示)が生成される。例えば、非符号化データは、インバータ551で反転すること、および遅延要素552へ加えて非反転とすることもできる。これにより、符号化された(反転された)データ信号および符号化されていない(反転されていない)データ信号に対して同様のタイミングを維持することができる。マルチプレクサ553は、符号化セット要素562からマルチプレクサ553に加えられる符号化制御信号に基づいて、適切な信号(符号化されたまたは符号化されていない)を通過させる。いくつかの実施形態では、反転/パス要素とシステムの符号器または復号器の構成要素は同様の機能を提供するので、反転/パス要素は、システムの符号器または復号器の構成要素とすることもそれらを共有することもできる。
加算器522は、バスのデータ信号と符号化制御信号を加算し、バスの集合電流を示す和を生成する(図5Aの実施形態では、符号化制御信号はバス通信の一部として伝送される「DBI」または「DBI_DC」信号である)。このように、フィルタ遅延要素531および532は、正確な集合バス重み情報を取得し、これによってバス伝達関数の履歴は正確なものとなる。
図5Aでは、加算器521は符号化セット要素562によって行われる符号化論理決定で使用するデータ信号を加算する。加算器521の出力はSDQPである。符号化セット要素562は、DBI制御信号または符号化制御(ENC)信号を生成する。着信する集合重み信号SDQPと、検出器514のフィルタ部分の遅延要素531および532で維持される履歴集合バス重み情報に基づいて、周波数ベースのバス符号化制御決定が行われる。図5Bに関してここで詳細を説明したように、符号化セット要素562は、符号化決定を容易にするよう構成された1つまたは複数の比較器を含み得る。
加算器522の出力信号は、加算器523への入力である。これにより、新しい集合バス重み信号がフィルタの出力信号に追加される(「aD1+bD2」として表示)。加算器523の出力は、第1の遅延要素531(D1)に加えられる。第1の遅延要素は、通常、少なくとも1つの単位間隔の入力値を保持するよう、レジスタまたは他のデータストア若しくはラッチ要素を含み得る。第1の遅延要素531の出力は、第2の遅延要素および第1の増幅要素540に加えられる。第2の遅延要素は、通常、少なくとも1つの単位間隔の入力値を保持するようレジスタまたは他のデータストア若しくはラッチ要素を含み得る。第1の増幅要素540は、前述したフィルタ伝達関数のいずれかの係数「a」等、フィルタの係数に対応する利得を適用する。
第2の遅延要素532の出力(D2)は、第2のアプリケーション要素541に加えられる。第2の増幅要素541は、前述したフィルタ伝達関数のいずれかの係数「b」等、フィルタの係数に対応する利得を適用する。アプリケーション要素540および541のそれぞれの出力信号は、加算器560に加えられる。加算器560は、符号化セット要素562に入力されるフィルタ出力信号(図5では「aD1+bD2」として示す)を生成する。この実施形態では、2つの遅延要素(531および532)と2つの増幅要素(540および541)が説明されているが、所望のフィルタ伝達関数に応じて検出器514のフィルタ部分にそのような追加のまたはいくつかの要素を実装することもできる。検出器514で実装されたフィルタ伝達関数は、検出器514のフィルタの指定の周波数応答に基づいている。
符号化セット要素562の一例は、図5Bに示されている。符号化セット要素562は、比較器564、比較器566、および論理ゲート568を備えている。前述したように、集合バス重み信号SDQPは、符号化セット要素562の第1の比較器564に加えられる。比較器は、符号化が必要かどうかを評価するために信号と閾値(「閾値A」として表示される)を比較するよう構成することができる。例えば、DBI_DC符号化手法の場合、信号の重みが所望の重みを超えた場合(例えば、バスの潜在的な集合電流の50%を示す閾値)、閾値の比較は反転を示し得る。同様に、フィルタ部検出器514の出力信号(図5Aおよび図5Bでは、「aD1+bD2」として表示される)は、第2の比較器に適用され、閾値(「閾値B」として表示される)との比較も行われる。閾値Bは閾値Aと同じ値とすることも異なる値とすることもでき、フィルタの増幅要素に帰因する利得に応じて異なる。図5Bの例示的な符号器設定要素562にはアナログ比較器が示されているが、これは、デジタル振幅比較器等のデジタル構成要素を使用して実装してもよい。
比較器564および566の出力を1つまたは複数の論理ゲート568(図5BにはXNORゲートとして表示)に加え、比較器564および566の出力に応じて符号化制御信号を設定することができる。例えば、フィルタの出力に応じて、次の転送に符号化が必要な場合、論理ゲート568の出力をハイに設定できる。符号化が必要ない場合、論理ゲート568の出力をローに設定できる。
図6Aは、検出器および符号器の多重周波数応答実施形態の要素を示すブロック図である。データシステム601は、検出器615と符号器550を備える。この実施形態は、図5Aの実施形態に類似している。但し、この検出器615は、図5Aに示されていない追加のフィルタ部と修正された符号器設定要素663を備えている。図6Bに修正された符号器設定要素663の例を示し、これについて後で説明する。図6Aの下部には追加のフィルタ部が示されており、このフィルタ部は増幅要素642、増幅要素643、加算器624、加算器661、遅延要素633、および遅延要素634を備えている。追加フィルタ部により検出器615は、追加の周波数を検出できる。例えば、そのような検出器は、多重共振周波数を有する電力供給回路に対応し得るので、符号化を実装して多重共振周波数を回避することができる。例えば、データシステム601のフィルタ部分は、図6Cに示す周波数ピークによって表現される周波数を検出するよう設定され得る。図6Cのグラフは、単一の共振周波数より多くを有する、電力供給ネットワークの例示的な周波数応答を示す。図6Aの実施形態では2つのフィルタ部を実装しているが、検出器の所望の周波数応答に応じて追加のフィルタ部を追加することができる。
図6Bに符号化セット要素663の一例を示す。符号化セット要素663は、比較器674、比較器675、比較器676、および論理ブロック678を備える。集合バス重み信号SDQPは、符号化セット要素670内の第1の比較器674に加えられる。比較器674は、信号を閾値(「閾値AA」として表示)と比較して符号化が必要かどうかを評価するよう構成することができる。例えば、DBI_DC符号化手法の場合、信号の重量が所望の重みを超えた場合(例えば、バスの潜在的な集合電流の50%を示す閾値)、閾値比較は反転を示し得る。検出器615の第1のフィルタの出力信号(図6Aおよび図6Bで「aD1+bD2」として表示)は、比較器676に加えられる。この出力信号はまた、閾値(「閾値BA」として表示)と比較される。閾値BAは、閾値AAと同じ値にも異なる値にもなることができ、フィルタの増幅要素に帰因する利得によって異なる。検出器615の第2のフィルタの出力信号(図6Aおよび図6Bでは、「a2D1+b2D2」として表示)は、比較器675に加えられる。この出力信号は、閾値(「閾値CA」として表示)と比較される。閾値CAは閾値AAおよび/または閾値BAと同じ値にも異なる値にもなることができ、フィルタの増幅器要素に帰因する利得によって異なる。図6Aの例示的な符号化セット要素663にアナログ比較器が示されているが、それは、デジタル振幅比較器等のデジタル構成要素を使用して実装してもよい。
比較器674、675、および676の出力を論理ブロック678に加えると、1つまたは複数の符号化制御信号が、比較器674、675、および676の出力の関数として設定される。例えば、フィルタの出力によるが、次の転送において符号化が必要とされる場合は、論理ブロック678の1つまたは複数の出力がハイに設定され得る。符号化が必要ない場合は、論理ブロック678の出力はローに設定され得る。
図7Aはデータシステム並びに周波数応答検出器および符号器を示すブロック図である。データシステム700は、検出器714、検出器715、および符号化選択要素750を備える。検出器714は、1つまたは複数の遅延要素531、532(図7Aではそれぞれ「D1」および「D2」と表示)と、1つまたは複数の増幅要素540、541(図7Aではそれぞれ「a」および「b」として表示)と、1つまたは複数の加算器521、522、523、560と、符号化セット要素564とを備える。検出器714のフィルタ部分は、通常、増幅要素540と、増幅要素541と、遅延要素531と、遅延要素532と、加算器560と、加算器523とを備えるものとして表示され得る。したがって、この実施形態では、フィルタ部のこれらの要素が前述したフィルタリング機能を提供する。同様に、加算器521および522は、バスおよび符号化制御信号のデータ信号を加算して、バスの集合電流を示す和を生成する。
符号化選択要素750は、通常、着信する非符号化データ(図7では「DQ 非符号化」と表示)を修正して、バス上で実際に伝送された重みを表す集合バス重み信号(図7Aでは「SDQ」とラベル付け)を生成できるように構成される。例えば、符号器751はバス反転を適用することができる。符号器752は、非反転を提供する遅延要素となり得る。符号器753は、予め決定されたマスクビットのセット、マスクビットのシーケンス、または最後の伝送ビットセットに対してXORを適用することができる。マルチプレクサ754は、符号化セット要素764からマルチプレクサ754に適用された符号化制御信号に基づいて適切な信号(インバートされた、XORされた、或いは符号化もされていない)を通過させる。一部の実施形態では、符号化選択要素750は、システムの符号器または復号器の構成要素を共有する。これは符号器または復号器が類似した機能を備えるためである。
検出器714は、デジタル比較器771と加算器727を備える。デジタル比較器771は、単位間隔と単位間隔との間で状態を変化させるビット数を求める。加算器727は、トグルビットのこの数を加算して、符号化セット要素764への入力として使用する。加算器727の出力は、着信する集合スイッチング重み信号TDQPに応答する。
検出器715は、デジタル比較器770と加算器725とを備える。デジタル比較器770は、単位間隔の間で変更された状態を有するビット数を決定する。加算器725は、検出器715のフィルタ機能への入力として使用する、トグルビットのこの数を加算する。加算器725の出力は、着信集合スイッチング重み信号TDQに対応する。したがって、TDQは加算器726に入力される。履歴集合スイッチング重み情報は、検出器715のフィルタ部分の遅延要素735および736で維持される。検出器715の出力により、スイッチング周波数ベースのバス符号化制御決定を行うことができる。図7Bに関して本明細書内で詳細に説明したように、符号化セット要素764は、符号化決定を行うよう構成された1つまたは複数の比較器を備え得る。
加算器725の出力信号は、第2の加算器726への入力である。これは、新しい集合スイッチング重み信号をフィルタの出力信号に追加する(図7では、「a3D1+b3D2」として示す)。加算器726の出力は、第1の遅延要素735(D1)に加えられる。第1の遅延要素は、通常、レジスタまたは他のデータストアまたはラッチ要素を備え、少なくとも1つの単位間隔の入力値を保持する。第1の遅延要素735の出力は、第2の遅延要素および第1の増幅要素744に加えられる。第2の遅延要素もまた、通常、レジスタまたは他のデータストアまたはラッチ要素を備え、少なくとも1つの単位間隔の入力値を保持する。第1の増幅要素は、前述したフィルタ転送機能のいずれかの係数「a」等、フィルタの係数に対応する利得を適用する。
第2の遅延要素736(D2として表示されるように)の出力は、第2の増幅要素745に加えられる。第2の増幅要素は、前述したフィルタ転送機能のいずれかの係数「b」等、フィルタの係数に対応する利得を適用する。増幅器要素のそれぞれの出力信号は、加算器761に加えられる。加算器761は、フィルタ出力信号を生成する(図7Aでは「a3D1+b3D2」と示されている)。この信号は、符号化セット要素764への入力である。この実施形態では、2つの遅延要素および2つの増幅要素が示されているが、検出器715のフィルタの設計された周波数応答に基づいて検出器715に実装された所望のフィルタ伝達関数またはフィルタ伝達関数に応じて、そのような要素の追加分又をいくつかをフィルタ部分に実装することも可能である。
図7Aの符号化セット要素764の一例を図7Bに示す。集合バス重み信号SDQは、符号化セット要素780内の比較器784に加えられる。比較器784は、信号と閾値(「閾値AB」として示すように)を比較して特定の符号化が必要かどうかを評価するよう構成され得る。例えば、信号の重みが所望の重みを超えた場合(例えば、バスの潜在的な集合電流の50%を示す閾値)、DBI_DC符号化手法の場合、閾値比較は反転を示し得る。
集合スイッチング重み信号TDQPは、符号化セット要素780内の比較器785に加えられる。比較器785は、信号と閾値(「閾値DB」)を比較して、特定の符号化が必要かどうかを評価するよう構成され得る。例えば、DBI_AC符号化手法の場合、信号のスイッチング重みが所望の重みを超えた場合(例えば、バスラインの50%以上が状態を切り替えたことを示す)に、閾値比較は反転を示し得る。
検出器714のフィルタ部分の出力信号(図7Aおよび7Bで「aD1+bD2」として表示される)は、比較器786に加えられる。比較器786は、この信号を閾値(「閾値BB」)と比較する。閾値BBは、閾値ABおよび/または閾値DBと同じ値にも異なる値にもなることができ、フィルタの増幅器要素に帰因する利得によって異なる。
検出器715のフィルタ部分の出力信号(図7Aおよび7Bでは「a3D1+b3D2」として表示される)は、比較器782に加えられる。比較器782は、この信号を閾値(「閾値CB」として表示される)と比較する。閾値CBは、閾値AB、および/または閾値BB、および/またはDBと同じ値にすることも異なる値にすることも可能であり、フィルタの増幅要素に帰因する利得に応じて異なり得る。比較器782のこの比較は、前述したフィルタ伝達関数の分母内のフィルタ多項式(例えば、1−a3D1+b3D2)の減算を本質的に実行する。アナログ比較器は図7Bの例示的な符号化セット要素764に示されているが、これは、デジタル振幅比較器等のデジタル構成要素を使用して実装してもよい。
比較器782、784、785、および786の出力は、比較器の出力の関数として符号化制御信号を設定するように論理ブロック788に適用され得る。論理ブロック788は、P出力信号を使用して表示される。例えば、フィルタの出力にもよるが、次の転送に符号化が必要な場合、論理ブロック788は、適用される符号化のタイプに応じてその出力の1つまたは複数をハイに設定することができる。符号化が必要でない場合、論理ゲートはその出力の全てをローに設定することができる。
集合スイッチング重みは、バスに伝送されるデータ信号のトグルデータビット数を少なくとも加算することにより1つまたは複数の加算器で予測される。これにより、集合スイッチング重み信号TDQPが生成される。通常、加算オペレーションは、システムのデータクロックの所与の単位間隔におけるバスのトグル信号の全てまたは一部の加算処理をベースとすることができる。前述したように、一部のシステムでは、共通のシステムクロックの単位間隔のデータは、独立した伝送クロックを利用するバスのチャネルへ伝送することができる。ここで、伝送クロックは、互いに必ずしも正確に一致していない。そのようなシステムでは、バスの集合スイッチング重みの決定は、前述したように、様々な位相の伝送クロックを有するバスに入る特定のデータの遅延を補償することができる。したがって、検出器715のフィルタは、バスの異なるライン間の信号スキューの場合では、プレドライバPDNのスイッチング電流またはエネルギーステータスを正確に予測することができる。
図8Aは、双方向バスの現在の技術の周波数ベースのバス符号化を実施する、データシステム実施形態を示す。この実施形態では、検出器714はチャネルの両側に存在し得る。更に、トランシーバ(「TX−RX A」または「TX−RX B」として表示)は、チャネルの両側に実装され得る。この実施形態では、各検出器814のフィルタの履歴では、検出器814が受信モードで動作している場合でも、前の伝送からの1つまたは複数の単位間隔のデータから、バス806内の集合電流またはプレドライバまたは他の内部回路のスイッチング電流を評価し得る。同様に、各検出器814のフィルタの履歴は、検出器814が伝送モードで動作している場合でも、前の受信からの1つまたは複数の単位間隔のデータを基に、バス内の集合電流、またはプレドライバ若しくは他の内部回路内のスイッチング電流、または他の内部回路を評価し得る。言い換えると、バス806における電流の履歴、またはプレドライバまたは他の内部回路におけるスイッチング電流の履歴は、各検出器814内に、バス806からのデータの複数の単位間隔の少なくとも時間間隔の間、維持され得る。
複数の単位間隔は、チャネルの両側からのドライバ(またはプレドライバまたは他の内部回路)によって駆動される電流を表す。一方のチャネルから他方のチャネルへの伝送(例えば、図8Aでは、AからBの方向への矢印で示されている)は、他方のチャネルから元々のチャネルへの伝送(例えば、図8Aでは、BからAの方向への矢印で示されている)へ連続的に変化する。これらのトランシーバは、半二重双方向モードで動作するよう構成することも、全二重双方向モードで動作するよう構成することも可能である。いずれの場合も、検出器814のフィルタには、集合バス電流データ、プレドライバまたは他の内部回路内のスイッチング電流が、受信および伝送オペレーションから供給されるので、代表的なフィルタは受信および送信オペレーションの両方からのバス806の履歴に基づいて動作し得る。
図8Aのデータシステムの実施形態でも、各トランシーバが同様の要素で構成される。更に、各トランシーバは、前述した実施形態のように動作するレシーバまたはトランスミッタ要素も含み得る。したがって、トランシーバTX−RX Bは、ドライバ874のブロックを含むトランスミッタ構成要素を備える。ドライバ874のブロックは、バス806上で制御情報および/またはデータを駆動する。符号器808は、検出器814の制御のもとでデータバス反転または他の符号化手法によって伝送情報を符号化する。検出器814は、集合バス信号SDQおよび集合スイッチング重みTDQに基づいて周波数ベースの決定を行う。したがって、伝送されるデータは、加算器817で加算され、集合バス重み信号SDQを決定する。同様に、伝送される変更データビットは、加算器819で加算され、集合スイッチング重み信号TDRを決定する。この実施形態では、加算器817による和および加算器819による和はマルチプレクサ870に適用され、トランシーバモード信号(図8AのTx/Rxによって示される)によって示されるトランシーバTX−RX Bのモードに依存して検出器814を向上させる。トランシーバTX−RX Bがデータをバス806に伝送していることをトランシーバモード信号が示している場合、マルチプレクサ870は、加算器817からのSDQ、および加算器819からのTDQが検出器814に入力されるのを許可し、この結果として、伝送モード中に伝送されるデータが検出器814により評価される。
トランシーバTX−RX Bはまた、レシーバ要素を備える。したがって、トランシーバは、スライサーブロック872または類似のサンプリング要素を備え、バス806のチャネルからの信号を感知する。トランシーバはまた、復号器812を備え、符号化された形式で、バスから受信されたデータを復号する。復号器812は、バス806から受信した符号化制御(ENC)信号の制御に基づいて、データを復号化する。復号器812によって復号化されたバスからの受信信号は、加算器816で加算され、集合バス重み信号を生成する。同様に、バスから変更された受信信号で、復号器812によって復号化された受信信号は、加算器818で加算され、集合スイッチング重み信号を生成する。トランシーバTX−RX Bがバス806からのデータを受信していることを、トランシーバモード信号が示す場合、マルチプレクサ870は、加算器816からのSDQ、および加算器818からのTDQが検出器814へ入力することを許可し、結果として、検出器は受信モード中に受信したデータを評価することができる。
オプションとして、集合バス重み信号および/または集合スイッチング重み信号が、ちょうど説明したように、受信データまたは伝送データに基づいて検出器814に供給される間、検出器814はアイドルモードに対しても構成され得る。アイドルモードでは、トランシーバはデータの送信または受信は行わない。この期間、バスの信号は、何らかのアイドル値を持ち得る。追加の加算器構成要素(図示せず)は、アイドルモードのSDQおよび/またはTDQ信号を検出器に提供するように実装され得る。その様な実施形態では、アイドルモード中に検出器814に入るSDQはバス806のアイドル値を加算することによってバスの集合電流を表すことができる。アイドルモード中に検出器814に入るTDQは、バス806のアイドル値の変化を加算することにより、バス806、プレドライバ、または他の内部回路の集合スイッチング電流を表すことができる。この様に、検出器のフィルタの履歴はバス806の履歴をより正確に表すことができる。
例えば、アイドル期間中、バス806のトランシーバは、「ダミー」データまたは「デッド」データを伝送し得る。コントローラ等のあるデバイス上のトランシーバから、メモリまたはDRAM等の別のデバイス上のトランシーバへ伝送する際、マスク信号を使用して、これを処理することが可能である。メモリまたはDRAMからコントローラへ伝送する際、コントローラはどの期間がアイドル状態になっているかを決定するので、このダミーデータまたはデッドデータは簡単に無視することができる。或いは、コントローラの場合は、DRAMまたは受信要素がどのデータを無視すべきかを把握できるように、コマンドバスおよびアドレスバス上にコマンドを発行することが可能である。アイドル期間データがフィルタに入るのを許可し、結果として生じた信号をバス806上に伝送可能にすることによって、非常に大きなスイッチングノイズを誘導可能にするオペレーションでのステップ変化を容易に回避することができる。
また、長いアイドル期間中、伝送されるアイドルデータの特定の期間数をフィルタリングし、次いで、システムの周波数応答を認識するようにトランスミッタを低電力IDLEモードにゆっくりと設定することにより、バス806の集合シグナリング電流をゆっくりと低減するよう、コントローラを必要に応じて構成することができる。本質的に、ポストアンブルは、周波数対応の符号化手法に基づいたこの目的で実装することもできる。
オプションとして、アイドル期間の最後でバス806における指定された動作状態へ徐々に上昇させ、初期状態過渡現象を緩和するよう、コントローラを構成することもできる。本質的に、周波数対応の符号化手法に基づいてこれを達成するようプリアンブルを実装することも可能である。
図8B、8C、および8Dは、図8Aの実施形態で実装される構成要素に基づいて、種々のシステムを示す。図8Bでは、構成要素はメソクロノスメモリシステムとして実装される。図示したように、システムはPLLやDLL等のタイミング構成要素を備える。バス806のコントローラ側のPLLは、バスのコントローラ側で構成要素の動作を同期化する。バス806のメモリ側のDLLは、バスのメモリ側で構成要素の動作を同期化する。DLLおよびPLLの動作と関連付けられた特性周波数(ループ帯域や他の周波数)はまた、システムの検出器814の周波数応答になるよう設計することもできる。したがって、システムの符号化制御では、これらのタイミング構成要素の特性周波数の近くでこれらのタイミング構成要素と関連付けられたノイズを回避することができる。同様に、図8Cに示すクロックフォワーディングメモリシステムの検出器814は、タイミング構成要素と関連付けられた周波数依存ノイズをフィルタリングするよう構成することもできる。
図8Dの実施形態は、パラレルコーデックを提供する。システムは、バス806でのデータの伝送でシリアライザおよびデシリアライザを採用する。例えば、16ビットが並列に処理されるように、コントローラまたはメモリで、単位間隔あたり16ビットのデータスループット(即ち、16ビット幅の処理)を有するシステムの場合、そのシステムは、メモリとコントローラとの間のバス806上でデータをシリアルに伝送することができる。このようなシリアル伝送の例では、4ビット幅のデータバス806を利用して、16ビットデータを、しかし、バス上の4つの単位間隔にわたって伝送することができる(この例では、コントローラの単位間隔は、バスの単位間隔の4倍である)。そのようなシステムの場合、16ビットのデータが検出器814で処理される。
シリアル化後にバスで伝送されるデータの場合は、バス806で伝送されるビットのシリアル化手法に基づいて符号化制御を許可する方法で、1つまたは複数の検出器814で処理される。したがって、例では、検出器814内の16ビットの場合は、一度に4ビットが加算され、各4ビットグループがバス806上を伝送される順番およびタイミングで検出器814によって処理される。これらのグループの場合はまた、ビットの変更について検査され、検出器814によって処理される。これは、システム内の追加の構成要素によって達成され得る。
例えば、シリアル化/加算/変動加算要素877を実装することができる。それらの要素の場合は、バス806の伝送手法に従って動作するシリアル化/加算/変動加算要素内のシリアライザによるデータのシリアル化に基づいて、加算器816、817、818、819、およびマルチプレクサ870(各単位間隔でのビットは少ない)の機能を実行する。このような場合、検出器814はバスのクロックレートで動作することができる。他の構成要素を利用して、1つまたは複数の検出器814へのデータ入力を、それがバス806上を伝送されるシリアル化された方法で、実装することができる。
図9は、図8A、8B、8C、および8Dの実施形態のトランシーバで使用するのに適した例示的な検出器914を示す。但し、この実施形態では、検出器914は、バス(例えば、SDQ)の集合電流の和と、集合スイッチング信号(例えば、TDQ)の和とを得るための構成要素を備える。検出器914は、図7Aで示した検出器の動作と比較可能な動作を有する要素を備える。但し、この実施形態では、検出器がトランシーバのモードに応じて適切な符号化制御信号を選択的に利用することができるように、マルチプレクサ970が追加される。このために、マルチプレクサ970は、図8A、8B、8C、および8Dの場合と同様に、送信または受信モード信号(図9ではRX/TXで示す)によって制御される。マルチプレクサ970の出力により、符号化されていない着信データ信号は、反転/パス要素950内で、トランシーバAまたはトランシーバBがバス上でデータを送信したかどうかに応じて変更することができる。したがって、検出器を備えたトランシーバが伝送モードにある場合、マルチプレクサ970は、これらの検出器914の符号化セット要素から符号化制御信号を利用する。但し、トランシーバが受信モードにある場合、マルチプレクサ970は、バスから受信されると共にバスの反対側にある別の検出器(図9には図示せず)からの符号化セット要素から生成された符号化制御信号(「ENC_in」として表示)を利用する。したがって、反転/パス要素950の出力により、集合バス重み信号は、フィルタの履歴に適用される前にバスの集合重みを反映することが可能になる。同様に、反転/パス要素950の出力により、集合スイッチング重み信号は、フィルタの履歴に適用される前に集合スイッチング重みを反映することが可能になる。更に、集合重みおよび集合スイッチング重みは、トランシーバの伝送または受信モードに応じて、伝送されるデータまたは受信されるデータを反映する。
更に、この実施形態では、マルチプレクサ972は、トランシーバのモードに応じて、符号化されていない受信データ信号(DQRとして表示)または符号化されていない伝送データ信号DQTのいずれかを、反転/パス要素950に加えるよう実装することも可能である。これにより、伝送または受信モード信号RX/TXは、マルチプレクサ972を制御する。したがって、符号化されていない受信データ信号DRQは、トランシーバが受信モードの場合に、検出器のフィルタ部分の履歴に適用することができる。同様に、符号化されていない伝送データ信号DQTは、トランシーバが伝送モードの場合に、検出器のフィルタ部分の履歴に適用することができる。或いは、トランシーバが全二重動作に構成されている場合、マルチプレクサ972は必要でない。むしろ、符号化されていない受信データ信号DQRおよび符号化されていない伝送信号DQTは両方とも、各符号化制御信号に基づいて符号化される。これらの符号化データ信号の場合は、加算され、検出器のフィルタ部分の履歴に適用される。このイベントでは、伝送または受信モード信号RX/TXは必要とならないであろう。
図10は、アナログフィルタを使用する例示的な検出器を示す。この検出器のアナログフィルタは、前述した符号化制御を設定するための周波数応答を生成するよう、集合的に構成される。したがって、フィルタは、前述した例示的な伝達関数に従って実装され得る。検出器は、デジタル/アナログ変換器1090(DAC)と符号化セット要素1020とを備える。この実施形態では、DACはDACに加えられた信号を効果的に加算し、それらを、バスの集合電流を表すアナログ出力信号(電圧または電流)に変換する。DACの出力は、次にオプションとしてフィルタ1018へ加えられる。この実施形態では、フィルタは低域通過フィルタまたは低域通過リップルフィルタとなり得る。このフィルタは、例えば、抵抗容量フィルタとなり得る。そのような実施形態では、低域通過フィルタは、システムの任意の高周波スイッチングからリップルを除去するのに十分低いカットオフ周波数を持つことができる。これは、アクティブアナログブロックが、次いで、フィルタリングされた和信号を処理する場合に有用となり得る。例えば、Fs/2のカットオフ周波数は、妥当である。ここで、Fsはシステムのデジタルデータのデータレートである。これは設計時間で設定され得る。但し、カットオフ周波数は、通常、システムが回避するようになっている周波数帯域との干渉を避けるために十分に高く設定する必要がある。
別の実施形態では、フィルタ1018は高域通過フィルタとなり得る。そのような実施形態では、高域通過フィルタのカットオフ周波数は、システムの高周波スイッチングからスイッチング周波数を捕捉するのに十分な高さの値となり得る。したがって、フィルタ1018の出力の場合は、バス上での信号のトグリングを示す。
フィルタ1018の出力は、別のフィルタまたはフィルタ1019に加えられる。このフィルタセットは、所望の周波数帯域のエネルギーを除去し、好ましくない周波数帯域のエネルギーを通過させるように設計されている。フィルタセットが好ましくない帯域内のエネルギーを感知/および検出し、その検出結果に応じて符号化を決定させるように、このエネルギーの除去によりフィルタの出力が調節される。このフィルタは、受動フィルタおよび/または能動フィルタとすることができる。能動フィルタは、増幅器(例えば、Vg、IgGm等)を使用した連続時間フィルタとすることが可能である。能動フィルタの場合は、スイッチドキャパシタをベースにしたもの、例えば、ローQ双二次フィルタ、ハイQ双二次フィルタとすることもできる。前述したように、フィルタは、プログラム可能な帯域幅/周波数応答、クオリティファクタ(「Q」)等を使用して実装することも可能であり、この結果、ダイターミネイションでの動的変化またはシステムメインボード上のバイパスコンデンサの障害等に起因するPDNの変化に応じて、フィルタを動的に設定することが可能である。
フィルタ1019の出力は、前の実施形態の反転設定要素に類似した反転設定要素1020に加えられる。この要素は、シュミットトリガ等の比較器を備える。シュミットトリガ比較器1096は、フィルタ1019の出力と、電圧基準等の閾値とを比較する。この動作は、前に説明した図5Bの比較器566の機能と比較可能である。比較器1096は、履歴を適用して、ノイズへの感度を抑えることが可能である(そうしないと、グリッチが発生する)。例えば、フィルタ1019の出力の強度が閾値を超えると、比較器1096はTRUEレベル(例えば、「1」またはハイ)を生成する。或いは、比較器1096は、FALSEレベル(例えば、「ゼロ」またはロー)を生成する。別の比較器1094は、集合電流信号SDQを、図5Bの比較器564のような閾値と比較する。
加算器1097内で比較器の出力が追加される。サンプラー1092に和が加えられる。サンプラー1092は、符号化制御信号出力がバスにのせるデータの各単位間隔で応答するように、システムのデータレートクロックの周波数および位相を有し得るクロック信号と関連付けられた時間で、比較器出力の和をサンプリングする。
シミュレーションの場合、電力供給ネットワークのモデルは、図11に示すインピーダンス曲線に当てはめられている。このモデルの要素は、4バイト幅のドライバとコマンドおよびアドレスドライバではなく、ドライバの単一のバイト幅のみによって励振されているという事実を考慮して、5xのファクタによってスケールされている。このモデルは、Q=1.5および200MHzの共振周波数を利用している。
他の従来の技術と比較された本周波数ベースのバス符号化技術のデジタルフィルタ実施形態のシミュレーションされたパフォーマンスが、図12Aおよび12Bのグラフに示されている。本技術(図12Aおよび12Bでは「フィルタ」として示す)のシミュレーションされたパフォーマンスは、バス符号化(即ち、非符号化)(図12Aおよび12Bでは「ノーマル」として示す)を実装しないデータシステムのシミュレーションされたパフォーマンスと比較されている。本技術のシミュレーションされたパフォーマンスは、従来の低重み符号化技術(図12Aおよび12Bでは「DBI_DC」として表示)を利用するシミュレーションされたデータシステムとも比較されている。Matlabシミュレータが使用されている。Matlabシミュレーションの結果では、本周波数ベースのバス符号化技術の実施形態は、従来のバス反転符号化技術が提供し得るパフォーマンスの2倍を超えるパフォーマンスを提供することができることを示している。
図12Aに示すように、「ノーマル」動作バスおよび「DBI_DC」動作バスのパフォーマンスは、Fs=5GHzフィルタを有する3タップIIRフィルタを使用した本発明の例示的なデータシステムと比較されている。第2の比較として、Fs=2.5GHzフィルタを有する4タップIIRフィルタを使用した、本発明の例示的なデータシステムに対する「ノーマル」動作バスおよび「DBI_DC」動作バスの比較が行われている。図12Bの図面にこの比較器を示す。バス電流スペクトルと、各システムの誘導された電力供給ネットワーク電圧スペクトルが比較されている。各システムのオペレーションは、長さが16383ビットであった5Gbpsの8ビット幅PRBSデータバスパターンに基づいていた。バスのシミュレーション電流の集合重みはまた、シミュレーション対象の検出器によって特定される符号化制御ビットの重みを含んでいる。
図12Aおよび12Bで示すシミュレーション中には、ピークツーピーク誘導電圧が観測され、比較メトリックとして使用されている。更に、各ケースの平均消費電力が記録されている。別の関係するメトリックは、種々の符号化方法における符号化遅延である。DBI_DC符号化システムでは、符号化のために少なくとも1つのフルレートサイクルを必要としている。本発明の周波数ベースの符号化システムは類似の遅延を備えている。電流の重みの累積された履歴と比較する電流状態の重みを評価してデータの符号化に関する決定を行うからである。以下の表Iでは、シミュレートされたシステムについていくつかのパフォーマンスメトリックを比較している。
Figure 2012531092
図12A、12B、および表Iのグラフに示すように、本発明の例示的な実施形態の一アプリケーションの潜在的な利点は、電力供給ネットワークの共振周波数と関連付けされた周波数またはその近辺での誘導電圧の削減である。
図13は前述した原理を使用したマルチモード実装の例を示す。特に、デバイス1301(想像線で示される)は、様々な環境状況に合わせて符号化を変更するように設計され得る。非限定的な一例を提供するには、デバイス1301は、内部動作の周波数が複数モードの一つに調整される携帯機器(携帯電話、ゲーム機器、またはその他の携帯機器)となり得る。デバイス1301は、CPUまたは他のコントローラ1303と、予めプログラムされたモードの数を格納するメモリ1305と、ランタイムオペレーション中にモードの1つがメモリ1305からの動的にロードされるモードレジスタ1307と、を備える。
携帯機器の例を適用すると、オペレーションの1つのモードは周波数符号化を全く適用しないことを含み(この場合、モードの周波数特性(モード1)はヌルセットになり得る)、オペレーションの第2のモードは「機内モード」(航空機のアビオニクスまたは他の機器と干渉する可能性のある周波数を最小限に抑えるように内部バス動作が制御される)を実装する。そのようなモードはユーザによって選択されることも、検出された環境に応じ、デバイスによって自動的に駆動されることも可能である。メモリ1305内のモード番号「1」からモード番号「N」までによって示されているモードの任意の番号をほとんど提供することができる。各モードが選択されると、対応するモード番号、対応する周波数パラメータ、および符号化手法が、デバイスを能動的に制御する際に使用するためにモードレジスタ1307にロードされる。したがって、モードレジスタは2つの出力を持つように描かれている。第1は検出器への出力(前述した実施形態と関連して説明される)であり、第2は符号器への出力(前述した実施形態と関連して説明される)である。メモリ1305に格納されたモードごとにプログラムされたパラメータの一部として描かれた、周波数パラメータ情報は、検出器によって検出される1つまたは複数の周波数、または周波数帯域を示す。一方、対応する符号化情報は、関連付けられたパラメータの決定に応じて所望の符号化手法を実装するよう符号器によって使用され得る。他の手法および制御ポイントもまた採用され得る。
図13の右下に示したユーザ選択ボックス1309およびセンサボックス1311の存在から分かるように、CPUまたはコントローラ1303は、ユーザ選択に応答して、またはセンサによって検出される外部スティミュラスに応答してモードを変更するよう駆動され得る(例えば、デバイス位置または他の検出されたパラメータに基づいて)。メモリ1305およびモードレジスタ1307は、CPUによってまたはコントローラ1303によって独立して制御される個別の単位とすることも、単一の関数として制御することもでき、例えば、メモリからどのモードを取得するかおよびデバイス操作に適用するかをモードレジスタ1307に厳密に示すモード制御信号1313の使用を介して行われる。
図14は、バスの信号ラインの符号化を選択する方法を示すフローチャートである。図14に示すステップは、システムおよび/または回路の1つまたは複数の要素によって実行され得る。
信号ライン遷移の数に従って時間で変化する第1のインジケータが受信される(1402)。例えば、フィルタ268は、遷移している信号ラインの数の和を示す加算器266の出力を受信し得る。バス上の各単位間隔で伝送されるデータは変更し得るので、遷移している(または遷移する)信号ラインの数の和は時間で変化する。
第1の状態に駆動される信号ラインの数に従って時間で変化する第2のインジケータが受信される(1404)。例えば、フィルタ218は、伝送される信号の和を示す加算器216の出力を受信し得る。各単位間隔でバス上を伝送されるデータは変更され得るので、伝送される信号の和は時間で変化する。
第1のインジケータは、第1の検出された信号インジケータを生成するためにフィルタリングされる(1406)。例えば、フィルタ268は加算器266の出力をフィルタリングすることができる。フィルタ268の通過帯域に従って加算器266の出力で信号の量を検出する出力をもたらす。
第2のインジケータは、第2の検出された信号インジケータを生成するようにフィルタリングされる(1408)。例えば、フィルタ218は、加算器216の出力をフィルタリングし得る。これにより、フィルタ218の通過帯域に対応する加算器216の出力で信号の量を検出する出力をもたらす。
バス符号化は、第1の検出信号インジケータおよび第2の検出信号インジケータ(1410)に基づいて選択される。例えば、フィルタ268および218の出力は加算され得る。この合計は、閾値と比較され、DBI符号化を適用するかどうかを決定する。別の例では、フィルタ268および218の出力はそれぞれ、個別に一対の閾値と比較され得る。このような2つの比較の出力は、適用する符号化(例えば、DBI_ACまたはDBI_DC)を決定するために使用され得る。
図15は、バスの信号ラインの符号化を選択する方法を示すフローチャートである。図15に示したステップは、前述したシステムおよび/または回路の1つまたは複数の要素によって実行され得る。
データバスの反転は、信号ライン遷移(1502)の数に従って適用される。言い換えると、DBI_AC符号化が適用される。これは、高周波数ノイズを低減する。例えば、検出器155は、符号器156を制御することで、信号ライン遷移の数に基づいてDBIを適用することができる。
符号化された信号ラインのバス重み(例えば、「1」の数)が決定される(1504)。例えば、検出器154は、バスで伝送される1または0の数を求めることができる。1または0の数はブロック1502で適用される符号化に基づくべきである。
バスの重みが閾値を超えた場合、バスの重みに従ってデータバスの反転が適用される(1506)。言い換えると、符号化された信号ライン上のビット数が特定の数値(例えば、8ビットが6)を超えると、符号化を求めるためにDBI_DCが適用される。例えば、検出器154により選択された符号化が、送信されるビット数の閾値を超えると、特定の状態になるので、検出器155は検出器154による符号化を「無効」にし得る。
一般に、本明細書内で説明するデータシステムの回路または要素のそれぞれは、1つまたは複数の集積チップ上で、または1つまたは複数の集積回路上で実現され得る。データシステムは、デジタルプロセッシングデバイス、コンピュータ、コンピュータ周辺機器、グラフィック処理デバイス等の集積回路の一部となり得る。例えば、データシステムおよび/または検出器は、複数の集積回路を使用して実装され得る。この場合、バスは、異なる集積回路間の通信を実装する。このような個別の集積回路は、システムの個別の構成要素またはモジュールの一部ともなり得る。このシステムでは、構成要素またはモジュール間のバスを使用して構成要素間でのデータの転送が行われる。しかしながら、データシステムは、単一の集積チップ上に実装すると共に、集積チップの機能回路ブロック間でのデータ転送に使用することもできる。例えば、回路は、デジタルコンピュータに一般的に採用される中央処理ユニットまたはCPUの一部として実装することも、CPUと他の回路チップ間の媒介として実装することもできる。したがって、本明細書内で説明されるデータシステムの回路は、CPU等のプロセッサとキャッシュメモリとの間の通信パスに組み込むことができる。したがって、受信されるデータ信号は、当該回路構成要素間で、伝送されるベースバンドデータ信号となり得る。
バス技術は、ポイントツーポイント接続の要素として実装することもできる。更なる例として、バス技術は更に、高パフォーマンスシリアルリンク(例えば、バックプレーンリンク、PCI Gen3ライン、SATA Gen3/4等)に実装することもできる。バス技術は更に、特定のタイプのバス接続(例えば、同じ信号が同じ導体に接続された複数のデバイスへ送信される配置)で使用することもできる。データシステムは、パラレルバス等のパラレルリンクに対してまたはパラレル通信を実行する他の任意のデバイスに対して実装することも可能である。この技術は、DDR、GDDR、RDRAM技術で、および並列シングルエンドインターフェイスで使用できる。他の実施形態では、回路は、メモリコントローラおよび/またはメモリモジュール(例えば、ダイナミックランダムアクセスメモリおよびフラッシュメモリ)等、データ入力または出力デバイスコントローラ等の要素となり得る。
例えば、メモリコントローラの実施形態では、メモリコントローラは、書き込み動作時にデータをメモリに送信し、読み取り動作時にメモリからデータを受信するデバイスとして一般に機能する。データシステム102または180のバスは、メモリとメモリコントローラのいずれかまたは両方から送られた信号を伝送するために実装され、本明細書で説明したデータシステムの残りの要素を備えるこのようなデバイスのいずれかまたは両方を実現可能である。
一般に、本明細書で説明した技術で実装された回路の各々は、金属酸化膜半導体(MOS)技術をベースにしたトレース、コンデンサ、抵抗、トランジスタ等の電気素子を使用して構築され得るが、バイポーラ技術等の他の技術または信号制御の電流の流れが実現され得る他の任意の技術を使用して実装することもできる。
更に、データシステム102またはデータシステム180のこれらの回路は、集積回路を製造する自動化システムを使用して構築され得る。例えば、本明細書で説明した要素およびシステムは、1つまたは複数の集積回路としてまたは集積回路の部分として設計され、集積回路の要素またはブロックの製造を制御する回路フォーミング装置を使用してそれを行うための設計制御命令に基づいて行われる。磁気テープや光ディスクや磁気ディスク等のコンピュータで読み取り可能な媒体に格納されるデータの形式となり得る。設計制御命令は、通常、データ構造、他の情報、集積回路の要素として物理的に作成可能な回路または回路要素を記述する方法を符号化する。そのような符号化には任意の適切なフォーマットを使用できるが、そのようなデータ構造は、Caltech Intermediate Format(CIF)、Calma GDS II Stream Format(GDSII)、またはElectronic Design Interchange Format(EDIF)で一般に書き込まれる。集積回路設計の当業者は、詳しく前述したタイプの回路図および対応する記述を基に係るデータ構造を開発し、コンピュータで読み取り可能な媒体上のデータ構造を符号化することができる。集積回路の当業者は、係る符号化されたデータを使用して本明細書で説明した1つまたは複数の回路を備える集積回路を製造することができる。
一実施形態では、デバイスは、バスの複数の信号ライン上で信号を伝送する符号化手法を設定する符号器と、バス上の信号の周波数を表す情報を受け入れる検出器とを備え、検出器は周波数に応答する。検出器の出力は、周波数の関数として符号化手法を選択的に適用するように符号器を制御する。検出器は、フィルタを備え得る。検出器は、通信システム電力供給ネットワークの共振周波数に応答して、符号器の設定を変更するように構成され得る。検出器は、符号器の設定を変更して、電力供給ネットワークへの不利益な周波数をフィルタリングするように構成され得る。符号器回路は、バス反転回路を備え得る。検出器は、加算器、DAコンバータ、低域通過フィルタ、および比較器を備え得る。検出器は、バスから受信した信号を表す情報を受け入れるように、およびバスで伝送される信号を表す情報を受け入れるように構成され得る。信号を表す情報は、信号のハミング重みおよび信号のハミング重みの周波数に応答するように構成された検出器となり得る。検出器は、バスの周波数を検出するよう構成され得る(バスのアイドル時間中を含む)。
検出器は、加算器と、フィルタと、比較器を備える。このフィルタは、バスの電力供給ネットワークの共振周波数で帯域通過特性を使用して設定される帯域通過フィルタとなり得る。
デバイスの第2の実施形態では、デバイスはメモリコントローラを更に含み、メモリコントローラは、複数の信号ライン上での読み取り動作および書き込み動作を制御するよう構成され、複数の信号ラインは、アドレスバス、制御バス、データバスの少なくとも1つを含み、ここで複数の信号ラインは少なくとも4ビット幅である。デバイスの第3の実施形態では、デバイスは、シリアライザを更に含み、検出器による処理においてパラレルデータはシリアル化される。
一実施形態では、データバスを制御する方法は、バスの複数の信号ラインの信号からのデータをフィルタリングして、符号化制御信号を生成すること(フィルタリングは、少なくとも予め決定された周波数に応答する)と、フィルタリングに応答するバスの符号化手法を制御することとを含む。本方法は更に、符号化手法に従って、複数のバスの信号ライン上で信号を伝送することを含む。バスは、シングルエンデッドパラレルバスを含み得る。符号化手法は、バス反転符号化を含み得る。信号は、バスから受信される情報を表すこと、およびバスで伝送される情報を表すことが可能である。信号は、ハミング重みを含むことができ、制御はハミング重みの周波数に応答する。予め決定された周波数は、バス上での信号のクロッキングに必要とされる位相ロックループ回路または遅延ロックループ回路の共振周波数となり得る。
方法の第2の実施形態では、本方法は、バスの制御される符号化手法を使用して、メモリコントローラ内で書き込み動作のデータを符号化することを更に含む。方法の第3の実施形態では、バスでの伝送のため、およびフィルタリングのためにパラレルデータをシリアル化することを更に含む。
一実施形態では、バス符号化用の集積回路は、バスの複数の信号ラインでの伝送と関連付けられたバス特性を検出し、バス特性に応じて制御信号を生成する検出器と、バスの複数の信号ラインのデータ符号化を設定するために検出器と結合されたバス符号器とを備える。バス符号器は制御信号によって設定される。
集積回路の第2の実施形態では、検出器はフィルタを備える。検出器は、バスから受信したデータを表す情報を受信し、バスで伝送されるデータを表す情報を受信するよう構成され得る。バス特性は複数のハミング重みであり、複数のハミング重みの周波数に応答するよう構成された検出器となり得る。集積回路は更にシリアライザを含み得る。ここで、パラレルデータは、検出器での処理のためにシリアル化される。
集積回路の第3の実施形態では、集積回路の第2の実施形態のフィルタは、帯域通過フィルタを備え得る。集積回路の第4の実施形態では、集積回路の第3の実施形態のバス符号器は、データバス反転回路を備える。検出器は、電力供給ネットワークの共振周波数またはその近辺でバスの周波数に応答して符号器の設定を変更するよう、構成され得る。この検出器は更に加算器および比較器を含み得る。
集積回路の第3の実施形態では、集積回路の第2の実施形態は更に、メモリコントローラを備える。メモリコントローラは、複数の信号ラインで読み取り動作および書き込み動作を制御するよう構成される。
一実施形態では、コンピュータで読み取り可能な情報を有する情報搬送媒体が、データバス符号器を備える集積回路のブロックを記述し、集積回路は検出器回路を備え、この検出回路はバスの複数の信号ラインの入力信号値と結合され、バスの複数の信号ライン上の信号の周波数に選択的に応答する。集積回路はまた、検出回路に結合された符号器回路を備え、符号器回路は、検出器回路の制御下でバスの信号ラインの符号化を設定する。情報は更に、スペクトル整形フィルタ回路を含む検出回路を定義し得る。情報は更に、データバス反転回路を備えるようバス符号器回路を定義し得る。検出回路は、バスから受信したデータを示す情報を受け入れるように、およびバスで伝送されるデータを受け入れるように構成され得る。連続的な信号値は、ハミング重みおよびハミング重みの周波数に応答するよう構成された検出回路となり得る。
媒体の第2の実施形態では、情報は更にメモリコントローラを定義する。ここで、メモリコントローラは、複数の信号ラインで読み取り動作および書き込み動作を制御するよう構成される。媒体の第3の実施形態では、情報は更にシリアライザ回路を定義する。ここで、パラレルデータは、検出回路での処理のためにシリアル化される。
媒体の第4の実施形態では、情報は更に、フィルタ回路を備える検出回路を定義する。第4の実施形態の情報は更に、加算器および比較器を備える検出回路を定義する。
一実施形態では、システムはシグナリングバスの信号周波数を検出するための検出手段と、検出手段の検出出力に応答する制御信号を生成する手段と、生成のための手段と結合された符号化手段とを含み、符号化手段は、生成のための手段の制御信号に応答してシグナリングバスの複数のラインで伝送するためのデータを選択的に符号化するものである。検出手段、生成のための手段、および符号化手段は、メモリ構成要素またはメモリコントローラ構成要素の少なくとも一部分を備え得る。検出手段、生成のための手段、および符号化手段は、ダイナミックランダムアクセスメモリの構成要素の少なくとも一部分を含み得る。検出器の手段は、複数のラインから受信したデータを表す情報を受け入れるように、また、複数のラインで伝送されるデータを表す情報を受け入れるように構成され得る。
システムは更に、様々な集積チップのトランスミッタとレシーバとの間でデータをシグナリングするためのバス手段を備え得る。或いは、システムは、様々な集積チップのトランスミッタとレシーバとの間でデータをシグナリングするためのバス手段を備える。或いは、システムは更に、検出手段での処理のためにパラレルデータ信号をシリアル化するためのシリアル化手段を備える。
一実施形態では、バスの符号化を行うための方法は、送信元によってバスを介して伝送される信号へ符号化手法を適用すること、少なくともいくつかのバス信号の周波数を監視すること、バス信号内の少なくとも1つの周波数を減衰するために符号化を制御することを含む。バスは、少なくとも4つのパラレル信号ラインを有するパラレルバスとすることができ、符号化手法は、バス内の各パラレルラインを選択的に反転可能である。符号化手法は、バス反転を備え得る。モニタリングは、パラレルバスのラインの出力のビット単位の加算、およびバスを介して伝送される連続した信号からの加算の変化の周波数のモニタリングを含む。少なくとも1つの周波数は、バス上の信号のタイミングと関連付けられる遅延ロックループ回路または位相ロックループ回路の共振周波数によって励振される周波数を含む。符号化手法は、機械により読み取り可能な媒体に格納されたプログラム可能なパラメータによって定義され得る。
方法の第2の実施形態では、モニタリングは更に、インバウンド信号およびアウトバウンド信号のモニタリングと、インバウンド信号およびアウトバウンド信号ごとのビットラインの加算と、インバウンド信号およびアウトバウンド信号からの連続的な加算により表現される変更の周波数のモニタリングと、を含む。方法の第3の実施形態では、モニタリングは更に、複数のバスからの信号のモニタリング、複数のバスのそれぞれにおける、少なくとも各伝送信号のビットラインの加算と、バスに関係なく連続的な信号によって表わされる変更の周波数のモニタリングと、を含む。ここで、制御は、複数のバスの少なくとも1つで、少なくともアウトバウンド信号で符号化を制御することを含む。本方法の第4の実施形態では、本方法は更に、バスルーティングと関連付けられた少なくとも1つの周波数特性を決定する。ここで、制御は、バスの集合電流の周波数と、少なくとも1つの予め決定された周波数特性とを比較することと、少なくとも1つの周波数特性に応答して符号化の周波数を応答可能なように調整すること、とを含む。第4の実施形態の少なくとも1つの周波数特性は、共振周波数を含むことができ、調整は共振周波数に応答する符号化を制御することを含む。第5の実施形態では、本方法は更に、バスを符号化して、複数の予めプログラムされた符号化モードの1つを実装することを含み、ここで、各符号化モードは関連付けされた符号化手法を備え、符号化の制御はモード制御信号の受信と、モード制御信号によって示されるモードと関連付けられた符号化手法の適用を含む。
前述説明および添付の図面では、本発明を完全に理解できるように特定の術語および図面記号が説明されている。いくつかの例では、術語と記号は、本発明を実施するのに必要な特定の詳細を暗示し得る。例えば、本明細書では「第1の」および「第2の」という用語を使用したが、特に指定がない限り、言語的には特定の順番または個数を表すことを意図するものではなく、本技術の要素を説明するために便宜上使用したものである。
更に、本明細書内の技術については特定の実施形態を参照しながら説明したが、これらの実施形態は単に技術の原理および応用を示したものである。例示した実施形態には多くの変更を加えることが可能で、本発明の精神および範囲から逸脱することなく、他の配置を考案できることも理解されたい。例えば、本発明の検出器は、1つまたは複数の多重データバスで伝送されるデータの符号化を制御するために多重データバスの周波数情報を監視し得る。

Claims (43)

  1. バス駆動システムであって、
    第1の検出器出力を有する第1の検出器であって、第1の複数の信号ラインの遷移に応じて時間で変化する第1の検出器入力信号を受信する第1の検出器と、
    第2の検出器出力を有する第2の検出器であって、第2の複数の信号ラインの信号ラインレベルに応じて時間で変化する第2の検出器入力信号を受信する第2の検出器と、
    前記第1の検出器出力および前記第2の検出器出力に基づいて、少なくとも第1の符号化手法をバスの複数の信号ラインに選択的に適用する符号器と
    を含むバス駆動システム。
  2. 前記第2の複数の信号ラインが、前記バスの前記複数の信号ラインに対応する請求項1に記載のシステム。
  3. 前記第1の検出器出力が、前記第1の複数の信号ラインでの前記遷移の第1の周波数特性に応答して時間で変化する請求項1に記載のシステム。
  4. 前記第2の検出器が、前記第2の複数の信号ライン上の前記信号ラインレベルの第2の周波数特性に応答して時間で変化する第2の検出器出力をもたらす請求項3に記載のシステム。
  5. 前記第1の符号化手法が、重み付けされた第1の検出器出力および重み付けされた第2の検出器出力の和に基づいて、選択的に適用される請求項3に記載のシステム。
  6. 前記第1の検出器出力は、前記第1の複数の信号ラインで伝送される第1および第2のデータセット間で前記第1の複数の信号ラインでの遷移数に対応し、前記第2の検出器出力は、前記第2のデータセットが送信されるとき、送信される第1のレベルの信号ライン数に対応する請求項5に記載のシステム。
  7. 前記符号器が、前記第1の検出器出力に基づいて前記第1の符号化手法を適用し、前記第2の検出器出力が前記第1の符号化手法を無効にする請求項1に記載のシステム。
  8. 第1の電力配電回路網は複数のプレドライバを提供し、第2の電力配電回路網は前記バスの前記信号ラインの複数のドライバを提供し、前記複数のプレドライバは、前記複数のドライバを制御し、前記第1の検出器出力は、前記第1の電力配電回路網での動作状況に対応して時間で変化する請求項1に記載のシステム。
  9. 前記動作条件が前記第1の電力配電回路網の共振に応答する請求項8に記載のシステム。
  10. 前記少なくとも第1の符号化手法がバス反転を含む請求項1に記載のシステム。
  11. 前記バス駆動システムは第1の集積回路に組み込まれ、前記第1の複数の信号ラインの前記遷移と、前記第2の複数の信号ラインの前記信号ラインレベルは、前記第1の集積回路と第2の集積回路によって駆動される請求項1に記載のシステム。
  12. 前記第2の集積回路が、単一の符号化手法を、バスの前記複数の信号ラインに適用する請求項11に記載のシステム。
  13. 前記第1の複数の信号ラインは第1のバスと第2のバスを含み、前記第2の複数の信号ラインは前記第1のバスと前記第2のバスを含み、前記バスの前記複数の信号ラインは前記第1のバスを含む請求項1に記載のシステム。
  14. 前記少なくとも第1の符号化手法が、前記第2のバスではなく、前記第1のバスに適用される請求項13に記載のシステム。
  15. 前記バス駆動システムは第1の集積回路内に組み込まれ、前記第1の複数の信号ラインでの前記遷移および前記第2の複数の信号ライン上の前記信号ラインレベルは、前記第1の集積回路および第2の集積回路によって駆動され、前記少なくとも第1の符号化手法は、前記第2の集積回路ではなく前記第1の集積回路によって前記バスの前記複数の信号ラインに適用される請求項13に記載のシステム。
  16. 前記バス駆動システムが、メモリコントローラ集積回路内に組み込まれている請求項1に記載のシステム。
  17. 前記バス駆動システムが、メモリ集積回路に組み込まれている請求項1に記載のシステム。
  18. バスの複数の信号ラインを符号化する方法であって、
    第1の検出器で第1のインジケータを受信するステップであって、前記第1のインジケータが、前記複数の信号ラインの信号ライン状態遷移の第1の時変数に応じて時間で変化するステップと、
    第2の検出器で第2のインジケータを受信するステップであって、前記第2のインジケータが、第1の状態に駆動される前記複数の信号ラインの第2の時変数に応じて時間で変化するステップと、
    前記第1の検出器によって、前記第1のインジケータをフィルタリングして、第1の検出された信号インジケータを生成するステップと、
    前記第2の検出器によって、前記第2のインジケータをフィルタリングして、第2の検出された信号インジケータを生成するステップと、
    前記第1の検出された信号インジケータおよび前記第2の検出された信号インジケータに基づいて、前記バスの第1の符号化を選択するステップと
    を含む方法。
  19. 前記第1の検出された信号インジケータが、前記第1のインジケータの第1の周波数特性に基づいている請求項18に記載の方法。
  20. 前記第1の検出された信号インジケータと前記第2の検出された信号インジケータに基づいて、前記バスに対する第2の符号化を選択するステップを更に含み、前記第1の符号化がデータバス反転符号化であり、前記第2の符号化が非反転符号化である請求項18に記載の方法。
  21. 前記第1の検出された信号インジケータは、前記第1のインジケータと第1の周波数スペクトル特性との間の第1の相互関係に対応し、前記第2の検出された信号インジケータは、前記第2のインジケータと第2の周波数スペクトル特性との間の第2の相互関係に対応し、前記第1の符号化は、重み付けされた第1の相互関係と重み付けされた第2の相互関係を含む和に基づいて選択される請求項18に記載の方法。
  22. 集積回路であって、
    バス上の複数の信号ラインでの伝送のための内部スイッチングと関連付けられた第1の特性を感知する第1の検出器であって、前記伝送のための第1の特性と前記内部スイッチングと関連付けられた第1のインジケータを生成する第1の検出器と、
    前記複数の信号ラインでの前記伝送と関連付けられた第2の特性を感知する第2の検出器であって、前記第2の特性および前記伝送と関連付けられた第2のインジケータを生成する第2の検出器と、
    前記第1のインジケータと前記第2のインジケータを受信する符号化コントローラであって、前記第1のインジケータと前記第2のインジケータに基づいて、前記複数の信号ラインに対する少なくとも第1の符号化と第2の符号化から、選択された符号化を選択する符号化コントローラと、
    前記符号化コントローラに応答して、前記複数の信号ラインの選択された符号化を設定するバス符号器と
    を備える集積回路。
  23. 前記第1の特性が、複数の信号ラインでの前記伝送のための前記内部スイッチングに対して電力を供給する電力配電回路網の共振周波数と関連付けられる請求項22に記載の集積回路。
  24. 前記第2の特性が、前記複数の信号ラインの外部信号状態を有効にする電力を供給する電力配電回路網の共振周波数と関連付けられる請求項22に記載の集積回路。
  25. 前記第1の検出器が、複数の信号ラインでの前記伝送のための前記内部スイッチングに対して電力を供給する電力配電回路網の共振周波数を通過させるフィルタを備える請求項22に記載の集積回路。
  26. 前記第2の検出器が、前記複数の信号ラインの外部信号状態を有効にする電力を供給する電力配電回路網の共振周波数を通過させるフィルタを備える請求項22に記載の集積回路。
  27. 前記符号化コントローラは、予め決定された期間内に発生するよう決定される前記複数の信号ラインでの信号遷移数のインジケータに基づいて、選択された符号化を更に選択する請求項23に記載の集積回路。
  28. 前記複数の信号ラインでの信号遷移数が、前記複数の信号ライン上で発生すると予測される信号遷移を含む請求項22に記載の集積回路。
  29. 前記第1の検出器は、受信された伝送に関する情報を含むことで、前記第1の特性が感知されるように構成される請求項22に記載の集積回路。
  30. 前記第2の検出器は、受信された伝送に関する情報を含むことで、前記第2の特性が感知されるように構成される請求項22に記載の集積回路。
  31. バス符号器を含む集積回路のブロックを説明する情報が格納された、コンピュータで読み取り可能な媒体であって、前記集積回路が、
    第1の検出器出力を備える第1の検出器であって、第1の複数の信号ラインでの遷移に対応して時間で変化する第1の検出器入力信号を受信する第1の検出器と、
    第2の検出器出力を備える第2の検出器であって、第2の複数の信号ライン上での信号ラインレベルに対応して時間で変化する第2の検出器入力信号を受信する第2の検出器と、
    前記第1の検出器出力と前記第2の検出器出力に基づいて、少なくとも第1の符号化手法をバスの複数の信号ラインに選択的に適用する符号器と
    を備える、媒体。
  32. 第1の電力配電回路網は複数のプレドライバを提供し、第2の電力配電回路網は前記バスの前記信号ラインの複数のドライバを提供し、前記複数のプレドライバは前記複数のドライバを制御し、前記第1の検出器出力は、前記第1の電力配電回路網での動作状況に応じて時間で変化する請求項31に記載の媒体。
  33. 前記動作状態が、前記第1の電力配電回路網の共振に対応する請求項32に記載の媒体。
  34. 前記少なくとも第1の符号化手法が、バス反転を含む請求項31に記載の媒体。
  35. システムであって、
    プレドライバ電力配電回路網の共振周波数を有するプレドライバ電源と、
    信号ラインの電力配電回路網の共振周波数を有する信号ライン電源と、
    前記プレドライバ電源を使用する複数の信号ラインプレドライバと、
    複数の信号ライン上の信号レベルを設定する複数の信号ラインドライバであって、前記複数の信号ラインプレドライバによって制御され、前記信号ライン電源を使用する複数の信号ラインドライバと、
    前記プレドライバ電力配電回路網の共振周波数と関連付けられた第1の周波数特性を検出する第1の検出手段と、
    前記信号ラインドライバの電力配電回路網の共振周波数と関連付けられた第2の周波数特性を検出する第2の検出手段と、
    前記第1の検出手段によって生成される第1の信号と前記第2の検出手段によって生成される第2の信号に基づいて、前記複数の信号ライン用に少なくとも第1の符号化を選択するための、前記第1の検出手段と前記第2の検出手段とに結合された符号化選択手段と、
    前記複数の信号ラインプレドライバを制御して前記複数の信号ラインの前記第1の符号化を設定する、前記複数の信号ラインプレドライバに結合された符号化手段と
    を備えるシステム。
  36. 前記第1の符号化がデータバス反転であり、前記符号化選択手段で選択される第2の符号化が非反転符号化である請求項35に記載のシステム。
  37. 前記第1の周波数特性が、前記プレドライバ電力配電回路網の共振周波数での閾値信号電力を含む請求項35に記載のシステム。
  38. 前記第2の周波数特性が、前記信号ラインドライバの電力配電回路網の共振周波数での閾値信号電力を含む請求項35に記載のシステム。
  39. 前記第1の検出手段によって生成される前記第1の信号と、前記第2の検出手段で生成される前記第2の信号との相対的な振幅に基づいて、前記第1の符号化が選択される請求項35に記載のシステム。
  40. システムであって、
    プレドライバ電力配電回路網の共振周波数を有するプレドライバ電源と、
    信号ラインの電力配電回路網の共振周波数を有する信号ライン電源と、
    前記プレドライバ電源を使用する複数の信号ラインプレドライバと、
    複数の信号ライン上で信号レベルを設定する複数の信号ラインドライバであって、前記複数の信号ラインプレドライバによって制御され前記信号ライン電源を使用する複数の信号ラインドライバと、
    前記プレドライバ電力配電回路網の共振周波数と関連付けられた第1の特性と、前記信号ラインドライバの電力配電回路網の共振周波数と関連付けられた第2の特性とに応答する検出器と、
    前記検出器に応答する符号器であって、前記複数の信号ラインプレドライバを制御して前記複数の信号ラインの第1の符号化を設定する、前記複数の信号ラインプレドライバに結合された符号器と
    を備えるシステム。
  41. 前記第1の符号化がデータバス反転であり、前記符号化選択手段によって選択される第2の符号化が非反転符号化である請求項40に記載のシステム。
  42. 前記第1の特性が、前記プレドライバ電力配電回路網の共振周波数に対応する閾値信号電力を含む請求項40に記載のシステム。
  43. 前記第1の符号化が、前記プレドライバ電力配電回路網の共振周波数に応じた第1の信号電力と、前記プレドライバ電力配電回路網の共振周波数に応じた第2の信号電力との相対的な振幅に基づいて選択される請求項40に記載のシステム。
JP2012516045A 2008-06-20 2009-12-01 周波数応答バス符号化 Expired - Fee Related JP5606527B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13258508P 2008-06-20 2008-06-20
PCT/US2009/003697 WO2009154797A2 (en) 2008-06-20 2009-06-18 Frequency responsive bus coding
USPCT/US2009/003697 2009-06-18
PCT/US2009/066253 WO2010147608A1 (en) 2008-06-20 2009-12-01 Frequency responsive bus coding

Publications (2)

Publication Number Publication Date
JP2012531092A true JP2012531092A (ja) 2012-12-06
JP5606527B2 JP5606527B2 (ja) 2014-10-15

Family

ID=41434605

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011514626A Expired - Fee Related JP5588976B2 (ja) 2008-06-20 2009-06-18 周波数応答バス符号化
JP2012516045A Expired - Fee Related JP5606527B2 (ja) 2008-06-20 2009-12-01 周波数応答バス符号化

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2011514626A Expired - Fee Related JP5588976B2 (ja) 2008-06-20 2009-06-18 周波数応答バス符号化

Country Status (4)

Country Link
US (2) US8498344B2 (ja)
EP (2) EP2294770B1 (ja)
JP (2) JP5588976B2 (ja)
WO (2) WO2009154797A2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012533264A (ja) * 2009-07-13 2012-12-20 ラムバス・インコーポレーテッド 組み合わせデータマスクおよびデータバス反転を用いたデータ符号化
JP2016514441A (ja) * 2013-03-15 2016-05-19 クアルコム,インコーポレイテッド 動作の速度に基づくデータバス反転(dbi)符号化
KR20160072772A (ko) * 2014-12-15 2016-06-23 인텔 코포레이션 Or 체인 버스를 위한 향상된 데이터 버스 반전 인코딩
JP6126317B1 (ja) * 2014-02-07 2017-05-10 クアルコム,インコーポレイテッド パーティション化されたデータバスのための符号化
US11081091B2 (en) 2017-04-01 2021-08-03 Intel Corporation Adaptive multibit bus for energy optimization

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9231790B2 (en) 2007-03-02 2016-01-05 Qualcomm Incorporated N-phase phase and polarity encoded serial interface
US9711041B2 (en) 2012-03-16 2017-07-18 Qualcomm Incorporated N-phase polarity data transfer
US9112815B2 (en) 2012-06-15 2015-08-18 Qualcomm Incorporated Three-phase-polarity safe reverse link shutdown
US8064535B2 (en) 2007-03-02 2011-11-22 Qualcomm Incorporated Three phase and polarity encoded serial interface
US8498344B2 (en) * 2008-06-20 2013-07-30 Rambus Inc. Frequency responsive bus coding
JP2012532369A (ja) * 2009-06-30 2012-12-13 ラムバス・インコーポレーテッド ノイズを補償するためにクロック信号を調節する技法
JP5754899B2 (ja) 2009-10-07 2015-07-29 ソニー株式会社 復号装置および方法、並びにプログラム
EP2526492B1 (en) * 2010-01-20 2016-01-06 Rambus Inc. Multiple word data bus inversion
US8260992B2 (en) * 2010-04-12 2012-09-04 Advanced Micro Devices, Inc. Reducing simultaneous switching outputs using data bus inversion signaling
JP5609737B2 (ja) 2010-04-13 2014-10-22 ソニー株式会社 信号処理装置および方法、符号化装置および方法、復号装置および方法、並びにプログラム
JP5850216B2 (ja) 2010-04-13 2016-02-03 ソニー株式会社 信号処理装置および方法、符号化装置および方法、復号装置および方法、並びにプログラム
US9288089B2 (en) 2010-04-30 2016-03-15 Ecole Polytechnique Federale De Lausanne (Epfl) Orthogonal differential vector signaling
US9288082B1 (en) 2010-05-20 2016-03-15 Kandou Labs, S.A. Circuits for efficient detection of vector signaling codes for chip-to-chip communication using sums of differences
US9401828B2 (en) 2010-05-20 2016-07-26 Kandou Labs, S.A. Methods and systems for low-power and pin-efficient communications with superposition signaling codes
US9300503B1 (en) 2010-05-20 2016-03-29 Kandou Labs, S.A. Methods and systems for skew tolerance in and advanced detectors for vector signaling codes for chip-to-chip communication
US9077386B1 (en) 2010-05-20 2015-07-07 Kandou Labs, S.A. Methods and systems for selection of unions of vector signaling codes for power and pin efficient chip-to-chip communication
US9596109B2 (en) 2010-05-20 2017-03-14 Kandou Labs, S.A. Methods and systems for high bandwidth communications interface
US9106238B1 (en) 2010-12-30 2015-08-11 Kandou Labs, S.A. Sorting decoder
US9362962B2 (en) * 2010-05-20 2016-06-07 Kandou Labs, S.A. Methods and systems for energy-efficient communications interface
US9479369B1 (en) 2010-05-20 2016-10-25 Kandou Labs, S.A. Vector signaling codes with high pin-efficiency for chip-to-chip communication and storage
US9251873B1 (en) 2010-05-20 2016-02-02 Kandou Labs, S.A. Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications
US9564994B2 (en) 2010-05-20 2017-02-07 Kandou Labs, S.A. Fault tolerant chip-to-chip communication with advanced voltage
US9985634B2 (en) 2010-05-20 2018-05-29 Kandou Labs, S.A. Data-driven voltage regulator
US8593305B1 (en) 2011-07-05 2013-11-26 Kandou Labs, S.A. Efficient processing and detection of balanced codes
US9246713B2 (en) 2010-05-20 2016-01-26 Kandou Labs, S.A. Vector signaling with reduced receiver complexity
US9450744B2 (en) 2010-05-20 2016-09-20 Kandou Lab, S.A. Control loop management and vector signaling code communications links
US9667379B2 (en) 2010-06-04 2017-05-30 Ecole Polytechnique Federale De Lausanne (Epfl) Error control coding for orthogonal differential vector signaling
JP5707842B2 (ja) 2010-10-15 2015-04-30 ソニー株式会社 符号化装置および方法、復号装置および方法、並びにプログラム
US8806233B2 (en) * 2010-12-17 2014-08-12 Intel Corporation Power delivery noise reduction on a memory channel
US9275720B2 (en) 2010-12-30 2016-03-01 Kandou Labs, S.A. Differential vector storage for dynamic random access memory
JP5975243B2 (ja) * 2011-08-24 2016-08-23 ソニー株式会社 符号化装置および方法、並びにプログラム
JP6037156B2 (ja) 2011-08-24 2016-11-30 ソニー株式会社 符号化装置および方法、並びにプログラム
US8726139B2 (en) * 2011-12-14 2014-05-13 Advanced Micro Devices, Inc. Unified data masking, data poisoning, and data bus inversion signaling
US9275692B2 (en) * 2012-02-28 2016-03-01 Micron Technology, Inc. Memory, memory controllers, and methods for dynamically switching a data masking/data bus inversion input
US8878592B2 (en) * 2012-04-27 2014-11-04 Rambus Inc. Simultaneous switching noise cancellation by adjusting reference voltage and sampling clock phase
US8942309B1 (en) 2012-05-04 2015-01-27 Rambus Inc. Signal output improvement using data inversion and/or swapping
US9219509B1 (en) 2012-05-04 2015-12-22 Rambus Inc. System performance improvement using data reordering and/or inversion
US9268683B1 (en) 2012-05-14 2016-02-23 Kandou Labs, S.A. Storage method and apparatus for random access memory using codeword storage
US8996740B2 (en) 2012-06-29 2015-03-31 Qualcomm Incorporated N-phase polarity output pin mode multiplexer
US9577618B2 (en) * 2012-12-20 2017-02-21 Advanced Micro Devices, Inc. Reducing power needed to send signals over wires
CN104995612B (zh) 2013-01-17 2020-01-03 康杜实验室公司 低同步开关噪声芯片间通信方法和系统
CN105122758B (zh) 2013-02-11 2018-07-10 康杜实验室公司 高带宽芯片间通信接口方法和系统
US8841948B1 (en) * 2013-03-14 2014-09-23 Xilinx, Inc. Injection-controlled-locked phase-locked loop
CN105379170B (zh) 2013-04-16 2019-06-21 康杜实验室公司 高带宽通信接口方法和系统
EP2997704B1 (en) 2013-06-25 2020-12-16 Kandou Labs S.A. Vector signaling with reduced receiver complexity
US9172428B2 (en) * 2013-06-28 2015-10-27 Intel Corporation Determining the spectral energy content of a data bus
TWI509995B (zh) * 2013-09-09 2015-11-21 Ind Tech Res Inst 注入鎖定鎖相迴路電路、其積體電路、和其方法
JP6531649B2 (ja) 2013-09-19 2019-06-19 ソニー株式会社 符号化装置および方法、復号化装置および方法、並びにプログラム
US9270417B2 (en) 2013-11-21 2016-02-23 Qualcomm Incorporated Devices and methods for facilitating data inversion to limit both instantaneous current and signal transitions
US9106465B2 (en) 2013-11-22 2015-08-11 Kandou Labs, S.A. Multiwire linear equalizer for vector signaling code receiver
EP3087496B1 (en) * 2013-12-26 2019-02-27 Intel Corporation Transition-minimized low speed data transfer
CA2934602C (en) 2013-12-27 2022-08-30 Sony Corporation Decoding apparatus and method, and program
US9806761B1 (en) 2014-01-31 2017-10-31 Kandou Labs, S.A. Methods and systems for reduction of nearest-neighbor crosstalk
US9369312B1 (en) 2014-02-02 2016-06-14 Kandou Labs, S.A. Low EMI signaling for parallel conductor interfaces
EP3100424B1 (en) 2014-02-02 2023-06-07 Kandou Labs S.A. Method and apparatus for low power chip-to-chip communications with constrained isi ratio
US9363114B2 (en) 2014-02-28 2016-06-07 Kandou Labs, S.A. Clock-embedded vector signaling codes
US9509437B2 (en) 2014-05-13 2016-11-29 Kandou Labs, S.A. Vector signaling code with improved noise margin
US9148087B1 (en) 2014-05-16 2015-09-29 Kandou Labs, S.A. Symmetric is linear equalization circuit with increased gain
US9852806B2 (en) 2014-06-20 2017-12-26 Kandou Labs, S.A. System for generating a test pattern to detect and isolate stuck faults for an interface using transition coding
US9112550B1 (en) 2014-06-25 2015-08-18 Kandou Labs, SA Multilevel driver for high speed chip-to-chip communications
US9900186B2 (en) 2014-07-10 2018-02-20 Kandou Labs, S.A. Vector signaling codes with increased signal to noise characteristics
US9432082B2 (en) 2014-07-17 2016-08-30 Kandou Labs, S.A. Bus reversable orthogonal differential vector signaling codes
KR102243423B1 (ko) 2014-07-21 2021-04-22 칸도우 랩스 에스에이 다분기 데이터 전송
CN106576087B (zh) 2014-08-01 2019-04-12 康杜实验室公司 带内嵌时钟的正交差分向量信令码
US9674014B2 (en) 2014-10-22 2017-06-06 Kandou Labs, S.A. Method and apparatus for high speed chip-to-chip communications
US9979416B2 (en) * 2014-12-10 2018-05-22 Rambus Inc. Memory controller and method of data bus inversion using an error detection correction code
US9306585B1 (en) * 2015-02-04 2016-04-05 Xilinx, Inc. Fractional-N multiplying injection-locked oscillation
US20160342540A1 (en) * 2015-05-21 2016-11-24 Qualcomm Innovation Center, Inc. Low latency memory and bus frequency scaling based upon hardware monitoring
US10164732B2 (en) * 2015-06-24 2018-12-25 Intel IP Corporation Encoding circuit, method for transmitting data over a data bus, and radio communication device
CN113193938B (zh) 2015-06-26 2023-10-27 康杜实验室公司 高速通信系统
US9928191B2 (en) * 2015-07-30 2018-03-27 Advanced Micro Devices, Inc. Communication device with selective encoding
KR102561546B1 (ko) * 2015-08-19 2023-07-31 가부시키가이샤 와코무 스타일러스가 센서 컨트롤러를 검출하는 방법, 스타일러스, 및 센서 컨트롤러
US9557760B1 (en) 2015-10-28 2017-01-31 Kandou Labs, S.A. Enhanced phase interpolation circuit
US9577815B1 (en) 2015-10-29 2017-02-21 Kandou Labs, S.A. Clock data alignment system for vector signaling code communications link
US10055372B2 (en) 2015-11-25 2018-08-21 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
EP3408935B1 (en) 2016-01-25 2023-09-27 Kandou Labs S.A. Voltage sampler driver with enhanced high-frequency gain
EP3446403B1 (en) 2016-04-22 2021-01-06 Kandou Labs S.A. High performance phase locked loop
US10003454B2 (en) 2016-04-22 2018-06-19 Kandou Labs, S.A. Sampler with low input kickback
US10333741B2 (en) 2016-04-28 2019-06-25 Kandou Labs, S.A. Vector signaling codes for densely-routed wire groups
EP3449606A4 (en) 2016-04-28 2019-11-27 Kandou Labs S.A. LOW POWER MULTILAYER ATTACK CIRCUIT
US10153591B2 (en) 2016-04-28 2018-12-11 Kandou Labs, S.A. Skew-resistant multi-wire channel
US9906358B1 (en) 2016-08-31 2018-02-27 Kandou Labs, S.A. Lock detector for phase lock loop
US10411922B2 (en) 2016-09-16 2019-09-10 Kandou Labs, S.A. Data-driven phase detector element for phase locked loops
US10200188B2 (en) 2016-10-21 2019-02-05 Kandou Labs, S.A. Quadrature and duty cycle error correction in matrix phase lock loop
US10372665B2 (en) 2016-10-24 2019-08-06 Kandou Labs, S.A. Multiphase data receiver with distributed DFE
US10200218B2 (en) 2016-10-24 2019-02-05 Kandou Labs, S.A. Multi-stage sampler with increased gain
WO2018080360A1 (en) * 2016-10-28 2018-05-03 Telefonaktiebolaget Lm Ericsson (Publ) Dbi protection for data link
KR20180063475A (ko) 2016-12-02 2018-06-12 삼성전자주식회사 반도체 장치의 오류 검출 코드 생성 회로, 이를 포함하는 메모리 컨트롤러 및 반도체 메모리 장치
US10116468B1 (en) 2017-06-28 2018-10-30 Kandou Labs, S.A. Low power chip-to-chip bidirectional communications
US10686583B2 (en) 2017-07-04 2020-06-16 Kandou Labs, S.A. Method for measuring and correcting multi-wire skew
US10203226B1 (en) 2017-08-11 2019-02-12 Kandou Labs, S.A. Phase interpolation circuit
US10326623B1 (en) 2017-12-08 2019-06-18 Kandou Labs, S.A. Methods and systems for providing multi-stage distributed decision feedback equalization
US10554380B2 (en) 2018-01-26 2020-02-04 Kandou Labs, S.A. Dynamically weighted exclusive or gate having weighted output segments for phase detection and phase interpolation
WO2020117604A1 (en) 2018-12-04 2020-06-11 Rambus Inc. Method and system for balancing power-supply loading
US11188493B2 (en) * 2019-01-18 2021-11-30 Tektronix, Inc. Bus decode and triggering on digital down converted data in a test and measurement instrument
CN111417233B (zh) * 2019-11-19 2022-04-15 深圳智芯半导体科技有限公司 一种消除led显示低灰抖动的灯具和方法
KR20210076606A (ko) 2019-12-16 2021-06-24 삼성전자주식회사 SoC, 메모리 장치, 전자 장치 및 전자 장치의 데이터 저장 방법
CN111404636B (zh) * 2020-03-10 2022-03-04 珠海格力电器股份有限公司 一种可降低总线干扰的通信方法、装置及系统
KR20220086904A (ko) * 2020-12-17 2022-06-24 삼성전자주식회사 데이터 전송 방법 및 데이터 전송 장치
US11720516B2 (en) 2021-08-15 2023-08-08 Apple Inc. Methods for data bus inversion
US11755511B2 (en) * 2021-08-25 2023-09-12 Xilinx, Inc. Data bus inversion using multiple transforms
US11836107B2 (en) 2022-03-01 2023-12-05 Apple Inc. Power consumption control based on random bus inversion
US20240146053A1 (en) * 2022-10-28 2024-05-02 Nxp Usa, Inc. System and method of controlling communication interface to avoid power distribution resonance conflict

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895686A (ja) * 1994-09-28 1996-04-12 Hitachi Ltd データ転送方法および装置
JPH08172465A (ja) * 1994-12-16 1996-07-02 Nec Corp 並列伝送システム
JPH09204293A (ja) * 1996-01-29 1997-08-05 Fujitsu Ltd 並列データ伝送方式及び過半数判定回路
JP2005175592A (ja) * 2003-12-08 2005-06-30 Nec Electronics Corp データ伝送装置およびデータ伝送方法
JP2006191567A (ja) * 2004-12-30 2006-07-20 Hynix Semiconductor Inc オンチップデータ伝送制御装置及びその制御方法
JP2011525093A (ja) * 2008-06-20 2011-09-08 ラムバス・インコーポレーテッド 周波数応答バス符号化

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4215245A (en) * 1978-12-29 1980-07-29 Bell Telephone Laboratories, Incorporated Variable rate synchronous digital transmission system
NL8402444A (nl) * 1984-01-20 1986-03-03 Philips Nv Werkwijze voor het overdragen van informatie, codeerinrichting voor toepassing in de werkwijze en decodeerinrichting voor toepassing in de werkwijze.
GB8912471D0 (en) * 1989-05-31 1989-07-19 Int Computers Ltd Data transmission code
US5278902A (en) * 1992-12-30 1994-01-11 Intel Corporation Method and apparatus for transition direction coding
IT1272078B (it) * 1993-12-16 1997-06-11 Cselt Centro Studi Lab Telecom Ricetrasmettitore per segnali numerici ad alta velocita' in tecnologiacmos
JP2867904B2 (ja) * 1994-12-26 1999-03-10 株式会社デンソー 2次元コード読取装置
JP3252782B2 (ja) * 1998-01-13 2002-02-04 日本電気株式会社 モデム信号対応音声符号化復号化装置
US6160423A (en) * 1998-03-16 2000-12-12 Jazio, Inc. High speed source synchronous signaling for interfacing VLSI CMOS circuits to transmission lines
US6577684B1 (en) * 1998-04-07 2003-06-10 Matsushita Electric Industrial Co., Ltd. Transmission/reception method and device where information is encoded and decoded according to rules defined based on a relation between a previously-generated multilevel code and a currently generated multilevel
DE10033130A1 (de) * 2000-07-07 2002-01-31 Infineon Technologies Ag Verfahren und Vorrichtung zur digitalen Codierung binärer Daten mit einem bestimmten Sendesignalspektrum
US6661355B2 (en) * 2000-12-27 2003-12-09 Apple Computer, Inc. Methods and apparatus for constant-weight encoding & decoding
US6501396B1 (en) * 2001-03-30 2002-12-31 Xilinx, Inc. Scalable physical coding sublayer (PCS) and 8B/10B encoder
DE10134472B4 (de) * 2001-07-16 2005-12-15 Infineon Technologies Ag Sende- und Empfangsschnittstelle und Verfahren zur Datenübertragung
US7400276B1 (en) * 2002-01-28 2008-07-15 Massachusetts Institute Of Technology Method and apparatus for reducing delay in a bus provided from parallel, capacitively coupled transmission lines
US7119607B2 (en) * 2002-12-31 2006-10-10 Intel Corporation Apparatus and method for resonance reduction
JP2006004076A (ja) * 2004-06-16 2006-01-05 Matsushita Electric Ind Co Ltd 半導体集積装置の設計方法、設計プログラム、および記録媒体
US7307554B2 (en) * 2004-12-20 2007-12-11 Kawasaki Microelectronics, Inc. Parallel data transmission method and parallel data transmission system
JP4705461B2 (ja) * 2005-03-31 2011-06-22 富士通株式会社 符号器および復号器
US7447929B2 (en) * 2005-09-29 2008-11-04 Intel Corporation Countering power resonance
KR100643498B1 (ko) * 2005-11-21 2006-11-10 삼성전자주식회사 반도체 메모리에서의 데이터 버스 반전 회로 및 데이터버스 반전 방법
US7640444B2 (en) * 2006-01-26 2009-12-29 Nils Graef Systems and methods for low power bus operation
US7283460B1 (en) * 2006-04-03 2007-10-16 Stmicroelectronics S.R.L. Bus switch encoding for reducing crosstalk effects in buses
KR101355376B1 (ko) * 2007-04-30 2014-01-23 삼성전자주식회사 고주파수 영역 부호화 및 복호화 방법 및 장치
KR101411900B1 (ko) * 2007-05-08 2014-06-26 삼성전자주식회사 오디오 신호의 부호화 및 복호화 방법 및 장치
US7522073B1 (en) * 2007-11-30 2009-04-21 Qimonda North America Corp. Self-adapted bus inversion
US7616133B2 (en) * 2008-01-16 2009-11-10 Micron Technology, Inc. Data bus inversion apparatus, systems, and methods
US7583209B1 (en) * 2008-03-19 2009-09-01 Mitsubishi Electric Research Laboratories, Inc. System and method for signaling on a bus using forbidden pattern free codes
US7899961B2 (en) * 2008-09-02 2011-03-01 Qimonda Ag Multi-mode bus inversion method and apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895686A (ja) * 1994-09-28 1996-04-12 Hitachi Ltd データ転送方法および装置
JPH08172465A (ja) * 1994-12-16 1996-07-02 Nec Corp 並列伝送システム
JPH09204293A (ja) * 1996-01-29 1997-08-05 Fujitsu Ltd 並列データ伝送方式及び過半数判定回路
JP2005175592A (ja) * 2003-12-08 2005-06-30 Nec Electronics Corp データ伝送装置およびデータ伝送方法
JP2006191567A (ja) * 2004-12-30 2006-07-20 Hynix Semiconductor Inc オンチップデータ伝送制御装置及びその制御方法
JP2011525093A (ja) * 2008-06-20 2011-09-08 ラムバス・インコーポレーテッド 周波数応答バス符号化

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012533264A (ja) * 2009-07-13 2012-12-20 ラムバス・インコーポレーテッド 組み合わせデータマスクおよびデータバス反転を用いたデータ符号化
JP2016514441A (ja) * 2013-03-15 2016-05-19 クアルコム,インコーポレイテッド 動作の速度に基づくデータバス反転(dbi)符号化
US9798693B2 (en) 2013-03-15 2017-10-24 Qualcomm Incorporated Data bus inversion (DBI) encoding based on the speed of operation
JP6126317B1 (ja) * 2014-02-07 2017-05-10 クアルコム,インコーポレイテッド パーティション化されたデータバスのための符号化
JP2017514191A (ja) * 2014-02-07 2017-06-01 クアルコム,インコーポレイテッド パーティション化されたデータバスのための符号化
KR20160072772A (ko) * 2014-12-15 2016-06-23 인텔 코포레이션 Or 체인 버스를 위한 향상된 데이터 버스 반전 인코딩
JP2016122435A (ja) * 2014-12-15 2016-07-07 インテル・コーポレーション 複数orチェーンバスの拡張データバス反転符号化
KR101887126B1 (ko) * 2014-12-15 2018-08-09 인텔 코포레이션 Or 체인 버스를 위한 향상된 데이터 버스 반전 인코딩
US11081091B2 (en) 2017-04-01 2021-08-03 Intel Corporation Adaptive multibit bus for energy optimization
US11636831B2 (en) 2017-04-01 2023-04-25 Intel Corporation Adaptive multibit bus for energy optimization

Also Published As

Publication number Publication date
JP2011525093A (ja) 2011-09-08
JP5588976B2 (ja) 2014-09-10
JP5606527B2 (ja) 2014-10-15
WO2010147608A1 (en) 2010-12-23
WO2009154797A2 (en) 2009-12-23
WO2009154797A3 (en) 2010-07-29
EP2443558A4 (en) 2013-06-26
EP2443558A1 (en) 2012-04-25
EP2294770A2 (en) 2011-03-16
US20110084737A1 (en) 2011-04-14
US20110127990A1 (en) 2011-06-02
US8498344B2 (en) 2013-07-30
US8451913B2 (en) 2013-05-28
WO2009154797A4 (en) 2010-09-30
EP2443558B1 (en) 2015-02-18
EP2294770B1 (en) 2013-08-07

Similar Documents

Publication Publication Date Title
JP5606527B2 (ja) 周波数応答バス符号化
US11387852B2 (en) Time encoded data communication protocol, apparatus and method for generating and receiving a data signal
US8578222B2 (en) SerDes power throttling as a function of detected error rate
CN108418582B (zh) 传输信号的方法、驱动器及系统
US9059816B1 (en) Control loop management and differential delay correction for vector signaling code communications links
KR102312213B1 (ko) 다중와이어 스큐를 측정 및 정정하기 위한 방법
US20080019435A1 (en) Adaptive equalizer apparatus with digital eye-opening monitor unit and method thereof
CN103139116B (zh) 自适应均衡器
CN108885475A (zh) 用于自适应时钟设计的系统和方法
TWI564725B (zh) 適用於輸入輸出介面之傳輸電路及其訊號傳輸方法
US11431531B2 (en) Termination for high-frequency transmission lines
US11265190B2 (en) Variable gain amplifier and sampler offset calibration without clock recovery
KR100690293B1 (ko) 전자 장치를 상호접속하는 트랜시버와 인터페이스트랜시버에서 전력 소비를 제어하는 방법
US7986727B2 (en) In-band method to configure equalization levels
CN114765463A (zh) 接收机和数据传输系统
US11979177B2 (en) Time encoded data communication protocol, apparatus and method for generating and receiving a data signal
US9264276B1 (en) Adaptations for partial response summation node embedded FPGA transceiver
JP5407270B2 (ja) 受信回路、電子機器、及び受信回路の制御方法
JP2006018712A (ja) デジタル・アナログ混載型半導体集積回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131218

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140314

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140826

R150 Certificate of patent or registration of utility model

Ref document number: 5606527

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees