(57)【要約】  データバスがパーティションに分割され、各バスパーティションを介して送信されるデータに符号化が独立に適用され、電力および/またはスループット効率が向上する。符号化は、データバス反転または任意の他の適切なタイプの符号化であることが可能である。データとともに送信される符号化インジケータシンボルは、符号化されているバスパーティションがもしあればどのバスパーティションが符号化されているかを示す。いくつかの実装形態では、符号化は、並列データバスの各データ転送サイクル中に各バスパーティションに選択的に適用される。いくつかの実装形態では、符号化インジケータシンボルは、マルチレベル信号の各レベルが、対応するバスパーティションに関して、そのバスパーティションを介して送信されるデータに符号化が適用されるかどうかを示す少なくとも2ビットの情報を表すマルチレベル信号である。有利なことに、符号化インジケータシンボルは、単一の専用バスラインを介して送信することが可能である。
2017514191.tif 000002
【特許請求の範囲】
【請求項１】
通信のための装置であって、
データバスのパーティション化および前記データバスの様々に異なるパーティションに適用される符号化を示す符号化インジケータシンボルを生成するように構成された処理回路と、
前記処理回路に結合され、前記符号化インジケータシンボルを送信するように構成されたバスインターフェースとを備える装置。
【請求項２】
前記符号化はデータバス反転を含む、請求項1に記載の装置。
【請求項３】
前記符号化インジケータシンボルはマルチレベル信号であり、
前記マルチレベル信号の各レベルは、前記データバスの各パーティションについて、前記パーティションに符号化が適用されるかどうかを示す少なくとも2ビットの情報を表す、請求項1に記載の装置。
【請求項４】
前記マルチレベル信号は、複数の電圧レベル、複数の電流レベル、または複数の位相のうちの少なくとも1つによって定義される、請求項3に記載の装置。
【請求項５】
前記データバスは並列バスであり、
前記符号化インジケータシンボルの前記送信は、専用バスラインを介して前記符号化インジケータシンボルを送信することを含む、請求項1に記載の装置。
【請求項６】
前記バスインターフェースは、バスサイクル中に前記データバスを介してデータビットの並列セットを送信するようにさらに構成され、
前記符号化インジケータシンボルの前記送信は、前記バスサイクル中に単一の信号ピンを介して前記符号化インジケータシンボルを送信することを含む、請求項1に記載の装置。
【請求項７】
前記処理回路は、前記データバスの各パーティションについて、前記パーティションを介して送信すべきデータのサブセットを符号化すべきかどうかを判定するようにさらに構成され、
前記符号化インジケータシンボルの前記生成は、データの対応するサブセットが符号化されている任意のパーティションを示す値を選択することを含む、請求項1に記載の装置。
【請求項８】
データのサブセットを符号化すべきかどうかの前記判定は、
データの前記サブセットを符号化することによってデータの前記サブセットの送信に伴う電力消費量が低減するかどうかまたはデータの前記サブセットの送信に伴う干渉が低減するかどうかを判定することを含む、請求項7に記載の装置。
【請求項９】
前記処理回路は、前記パーティションを介したデータの送信に伴う電力消費量が最低になるかまたは前記パーティションを介したデータの送信に伴う干渉が最低になる前記データバスのパーティション化を選択するようにさらに構成される、請求項1に記載の装置。
【請求項１０】
前記処理回路は、前記パーティションを介したデータの送信に伴う電力消費量が最低になるかまたは前記パーティションを介したデータの送信に伴う干渉が最低になる前記様々に異なるパーティションに適用すべき符号化のタイプを選択するようにさらに構成される、請求項1に記載の装置。
【請求項１１】
通信の方法であって、
データバスのパーティション化および前記データバスの様々に異なるパーティションに適用される符号化を示す符号化インジケータシンボルを生成するステップと、
前記符号化インジケータシンボルを送信するステップとを含む方法。
【請求項１２】
前記符号化はデータバス反転を含む、請求項11に記載の方法。
【請求項１３】
前記符号化インジケータシンボルはマルチレベル信号であり、
前記マルチレベル信号の各レベルは、前記データバスの各パーティションについて、前記パーティションに符号化が適用されるかどうかを示す少なくとも2ビットの情報を表す、請求項11に記載の方法。
【請求項１４】
前記マルチレベル信号は、複数の電圧レベル、複数の電流レベル、または複数の位相のうちの少なくとも1つによって定義される、請求項13に記載の方法。
【請求項１５】
前記データバスは並列バスであり、
前記符号化インジケータシンボルの前記送信は、専用バスラインを介して前記符号化インジケータシンボルを送信することを含む、請求項11に記載の方法。
【請求項１６】
バスサイクル中に前記データバスを介してデータビットの並列セットを送信するステップをさらに含み、
前記符号化インジケータシンボルの前記送信は、前記バスサイクル中に単一の信号ピンを介して前記符号化インジケータシンボルを送信するステップを含む、請求項11に記載の方法。
【請求項１７】
前記データバスの各パーティションについて、前記パーティションを介して送信すべきデータのサブセットを符号化すべきかどうかを判定するステップをさらに含み、
前記符号化インジケータシンボルの前記生成は、データの対応するサブセットが符号化されている任意のパーティションを示す値を選択することを含む、請求項11に記載の方法。
【請求項１８】
データのサブセットを符号化すべきかどうかの前記判定は、
データの前記サブセットを符号化することによってデータの前記サブセットの送信に伴う電力消費量が低減するかどうかまたはデータの前記サブセットの送信に伴う干渉が低減するかどうかを判定するステップを含む、請求項17に記載の方法。
【請求項１９】
前記パーティションを介したデータの送信に伴う電力消費量が最低になるかまたは前記パーティションを介したデータの送信に伴う干渉が最低になる前記データバスのパーティション化を選択するステップをさらに含む、請求項11に記載の方法。
【請求項２０】
前記パーティションを介したデータの送信に伴う電力消費量が最低になるかまたは前記パーティションを介したデータの送信に伴う干渉が最低になる前記様々に異なるパーティションに適用すべき符号化のタイプを選択するステップをさらに含む、請求項11に記載の方法。
【請求項２１】
通信のための装置であって、
データバスを介してデータを受信し、前記データバスのパーティション化および前記データバスの様々に異なるパーティションに適用される符号化を示す符号化インジケータシンボルを受信するように構成されたバスインターフェースと、
前記バスインターフェースに結合され、前記符号化インジケータシンボルに基づいて前記受信されたデータを復号するように構成された処理回路とを備える装置。
【請求項２２】
前記符号化はデータバス反転を含む、請求項21に記載の装置。
【請求項２３】
前記符号化インジケータシンボルはマルチレベル信号であり、
前記マルチレベル信号の各レベルは、前記データバスの各パーティションについて、前記パーティションに符号化が適用されるかどうかを示す少なくとも2ビットの情報を表す、請求項21に記載の装置。
【請求項２４】
前記マルチレベル信号は、複数の電圧レベル、複数の電流レベル、または複数の位相のうちの少なくとも1つによって定義される、請求項23に記載の装置。
【請求項２５】
前記データバスは並列バスであり、
前記符号化インジケータシンボルの前記受信は、専用バスラインを介して符号化インジケータシンボルを受信することを含む、請求項21に記載の装置。
【請求項２６】
前記データの前記受信は、バスサイクル中に前記データバスを介してデータビットの並列セットを受信することを含み、
前記符号化インジケータシンボルの前記受信は、前記バスサイクル中に単一の信号ピンを介して前記符号化インジケータシンボルを受信することを含む、請求項21に記載の装置。
【請求項２７】
前記処理回路は、前記データバスの各パーティションについて、
前記符号化インジケータシンボルに基づいて、前記パーティションを介して受信されたデータのサブセットが符号化されているかどうかを判定し、
データの前記サブセットが符号化されていることを前記符号化インジケータシンボルが示す場合にデータの前記サブセットを復号するようにさらに構成される、請求項21に記載の装置。
【請求項２８】
通信の方法であって、
データバスを介してデータを受信するステップと、
前記データバスのパーティション化および前記データバスの様々に異なるパーティションに適用される符号化を示す符号化インジケータシンボルを受信するステップと、
前記符号化インジケータシンボルに基づいて前記受信されたデータを復号するステップとを含む方法。
【請求項２９】
前記符号化インジケータシンボルはマルチレベル信号であり、
前記マルチレベル信号の各レベルは、前記データバスの各パーティションについて、前記パーティションに符号化が適用されるかどうかを示す少なくとも2ビットの情報を表し、
前記データバスは並列バスであり、
前記符号化インジケータシンボルの前記受信は、専用バスラインを介して前記符号化インジケータシンボルを受信することを含む、請求項28に記載の方法。
【請求項３０】
前記データバスの各パーティションについて、
前記符号化インジケータシンボルに基づいて、前記パーティションを介して受信されたデータのサブセットが符号化されているかどうかを判定するステップと、
データの前記サブセットが符号化されていることを前記符号化インジケータシンボルが示す場合にデータの前記サブセットを復号するステップとをさらに含む、請求項28に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、内容の全体が参照によって本明細書に組み込まれる、2014年2月7日に米国特許商標庁に出願された、米国非仮特許出願第14/175,394号の優先権および利益を主張する。
【０００２】
本開示の態様は、概してデータ符号化に関し、より詳細には、限定はしないが、パーティション化されたデータバスのための符号化に関する。
【背景技術】
【０００３】
相互配線を介したデータ送信は、いくつかの形態をとる場合がある。構成要素間のデータ送信を容易にするための構成の一例はデータバスの使用であり、その場合、送信側構成要素は、データビットとも呼ばれるデータ信号を互いに平行な送信チャネルのグループを介して受信側構成要素に送信する。データビットは一般に、データビットの振幅およびタイミングを変化させることがあるシンボル間干渉(ISI)、クロストーク、および同時スイッチングノイズ(SSN)を受ける。データビットはしばしば、ISI、クロストーク、またはSSNの影響を低減させるために、データ符号化の様々な技法を使用して符号化される場合がある。データ符号化の1つの特定の形態としてデータバス反転(DBI)がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
以下に、説明する態様を基本的に理解できるように、本開示のいくつかの態様を要約する。この概要は、本開示のすべての企図された特徴の包括的な概観ではなく、本開示のすべての態様の主要または重要な要素を識別するものでも、本開示のいずれかまたはすべての態様の範囲を定めるものでもない。その唯一の目的は、後で提示するより詳細な説明の導入として、本開示の1つまたは複数の態様のいくつかの概念を要約の形で提示することである。
【０００５】
本開示の様々な態様は、データバスをパーティションに分割し、各バスパーティションを介して送信されるデータに独立に符号化を適用して電力消費量を低減させ、ならびに/あるいは符号化効率を向上させることを可能にする。符号化は、データバス反転または任意の他の適切なタイプの符号化であることが可能である。いくつかの実装形態では、並列データバスに関する各データ転送サイクルの間各バスパーティションに符号化が選択的に適用される。データとともに送信される符号化インジケータシンボルは、符号化されたバスパーティションがもしあればどのパーティションが符号化されたかを示す。
【０００６】
いくつかの実装形態では、符号化インジケータシンボルは、マルチレベル信号の各レベル(状態)が、対応するバスパーティションに関して、そのバスパーティションを介して送信されるデータに符号化が適用されるかどうかを示す少なくとも2ビットの情報を表すマルチレベル信号(本明細書では多状態信号とも呼ばれる)である。有利なことに、符号化インジケータシンボルは、単一の専用バスラインを介して送信することが可能である。たとえば、(DBIフラグなどの)符号化フラグを対象とするビット線を介して伝送されるマルチレベル符号化インジケータシンボルは、単一のビット線を介する各ビットセグメントについて、バスセグメント化情報と符号化インジケータの両方を有することが可能である。符号化インジケータシンボルをマルチレベル信号として送信することによって、各バスサイクルの間に複数の表示(すなわち、バスパーティションごとに1つの表示)を送信することが可能である。したがって、効率を向上させるためにバスがより小さいサブセットにパーティション化されてもよく、すべての対応する符号化表示が単一のピンのみを使用して同時に送信されてもよい。
【０００７】
本開示のさらなる態様は、処理回路と、処理回路に結合されたバスインターフェースとを含む、通信可能に構成された装置を提供する。処理回路は、データバスのパーティション化およびデータバスの様々に異なるパーティションに適用される符号化を示す符号化インジケータシンボルを生成するように構成される。バスインターフェースは、符号化インジケータシンボルを送信するように構成される。
【０００８】
本開示のまたさらなる態様は、データバスのパーティション化およびデータバスの様々に異なるパーティションに適用される符号化を示す符号化インジケータシンボルを生成し、符号化インジケータシンボルを送信するための方法を提供する。
【０００９】
本開示の別の態様は、通信可能に構成された装置を提供する。この装置は、データバスのパーティション化およびデータバスの様々に異なるパーティションに適用される符号化を示す符号化インジケータシンボルを生成するための手段と、符号化インジケータシンボルを送信するための手段とを含む。
【００１０】
本開示の他の態様は、命令が記憶された非一時的機械可読記憶媒体であって、命令が、少なくとも1つのプロセッサによって実行されたときに、少なくとも1つのプロセッサに、データバスのパーティション化およびデータバスの様々に異なるパーティションに適用される符号化を示す符号化インジケータシンボルを生成することと、符号化インジケータシンボルを送信することとを行わせる非一時的機械可読記憶媒体を提供する。
【００１１】
本開示のさらなる態様は、処理回路と、処理回路に結合されたバスインターフェースとを含む、通信可能に構成された装置を提供する。バスインターフェースは、データバスを介してデータを受信し、データバスのパーティション化およびデータバスの様々に異なるパーティションに適用される符号化を示す符号化インジケータシンボルを受信するように構成される。処理回路は、受信されたデータを符号化インジケータシンボルに基づいて復号するように構成される。
【００１２】
本開示のまたさらなる態様は、データバスを介してデータを受信し、データバスのパーティション化およびデータバスの様々に異なるパーティションに適用される符号化を示す符号化インジケータシンボルを受信し、受信されたデータを符号化インジケータシンボルに基づいて復号するための方法を提供する。
【００１３】
本開示の別の態様は、通信可能に構成された装置を提供する。この装置は、データバスを介してデータを受信するための手段と、データバスのパーティション化およびデータバスの様々に異なるパーティションに適用される符号化を示す符号化インジケータシンボルを受信するための手段と、受信されたデータを符号化インジケータシンボルに基づいて復号するための手段とを含む。
【００１４】
本開示の他の態様は、命令が記憶された非一時的機械可読記憶媒体であって、命令が、少なくとも1つのプロセッサによって実行されたときに、少なくとも1つのプロセッサに、データバスを介してデータを受信することと、データバスのパーティション化およびデータバスの様々に異なるパーティションに適用される符号化を示す符号化インジケータシンボルを受信することと、受信されたデータを符号化インジケータシンボルに基づいて復号することとを行わせる非一時的機械可読記憶媒体を提供する。
【００１５】
上記に関する本開示の他の態様の例を以下に示す。符号化インジケータシンボルはマルチレベル信号であってもよく、マルチレベル信号の各レベルは、データバスの各パーティションについて、パーティションに符号化が適用されるかどうかを示す少なくとも2ビットの情報を表す。そのようなマルチレベル信号は、複数の電圧レベル、複数の電流レベル、複数の位相、他のタイプのレベル、またはこれらのレベルの組合せとして定義することが可能である。いくつかの実装形態では、データバスは並列バスであり、符号化インジケータシンボルの送信/受信は専用バスラインを介して符号化インジケータシンボルを送信/受信することを含む。データビットの並列セットは、バスサイクルの間にデータバスを介して送信/受信されてもよく、符号化インジケータシンボルの送信/受信は、バスサイクルの間の単一の信号ピンを介して符号化インジケータシンボルを送信/受信することを含む。さらに、データバスの各パーティションについて、パーティションを介して送信すべきデータのサブセットを符号化すべきかどうかが判定されてもよく、符号化インジケータシンボルの生成は、データの対応するサブセットが符号化されている任意のパーティションを示す値を選択することを含む。場合によっては、データのサブセットを符号化すべきかどうかの判定は、データのサブセットを符号化した場合にデータのサブセットの送信に伴う電力消費量が低減するかどうかまたはデータのサブセットの送信に伴う干渉が低減するかどうかを判定することを含む。さらに、パーティションを介したデータの送信に伴う電力消費量が最低になるかまたはパーティションを介したデータの送信に伴う干渉が最低になるデータバスのパーティション化を特定するために選択を行うことができる。同様に、パーティションを介したデータの送信に伴う電力消費量が最低になるかまたはパーティションを介したデータの送信に伴う干渉が最低になる様々に異なるパーティションに適用すべき符号化のタイプを特定するために選択を行うことができる。さらに、データバスの各パーティションについて、パーティションを介して受信されたデータのサブセットが符号化されているかどうかに関する判定が符号化インジケータシンボルに基づいて下されてもよい。この場合、データのサブセットが符号化されていることを符号化インジケータシンボルが示す場合にデータのサブセットが復号される。
【００１６】
本発明のこれらの態様および他の態様は、続く詳細な説明を検討すれば、より完全に理解されるであろう。添付図面とともに本発明の特定の例示的な実装形態の以下の説明をよく見ると、本発明の他の態様、特徴、および実装形態が当業者に明らかになろう。本発明の特徴について、以下のいくつかの実装形態および図面に関して説明する場合があるが、本発明のすべての実装形態は、本明細書において説明する有利な特徴のうちの1つまたは複数を含み得る。言い換えれば、1つまたは複数の実装形態について、いくつかの有利な特徴を有するものとして説明する場合があるが、そのような特徴のうちの1つまたは複数はまた、本明細書において説明する本発明の様々な実装形態に従って使用されてもよい。同様に、例示的な実装形態はデバイスの実装形態、システムの実装形態、または方法の実装形態として以下において説明する場合があるが、そのような例示的な実装形態を様々なデバイス、システム、および方法に実装できることを理解されたい。
【図面の簡単な説明】
【００１７】
【図１】本開示の1つまたは複数の態様が適用されてもよいシステム環境の一例の簡略ブロック図である。
【図２】本開示の少なくとも1つの例によるバスパーティションに関する選択的な復号を示す簡略ブロック図である。
【図３】本開示の少なくとも1つの例に従ったデータの符号化に関連して実行される場合がある動作を示すフローチャートである。
【図４】本開示の少なくとも1つの例に従ったデータの復号に関連して実行される場合がある動作を示すフローチャートである。
【図５】データバスの様々に異なるチャネルを介して送信されるデータビットの一例を示す簡略図である。
【図６】図5のデータビットに適用される従来のDBI AC符号化の一例を示す簡略図である。
【図７】図5のデータビットに適用される従来のDBI DC符号化の一例を示す簡略図である。
【図８】図5のデータビットの部分に適用される従来のDBI DC符号化の一例に関するシグナリングを示す簡略図である。
【図９】本開示の少なくとも1つの例による図5のデータビットの一部に適用される符号化に関するシグナリング示す簡略図である。
【図１０】本開示の少なくとも1つの例によるマルチレベルインジケータを生成するための回路を示す簡略図である。
【図１１】本開示の少なくとも1つの例によるマルチレベルインジケータを生成するための別の回路を示す簡略図である。
【図１２】図11の回路によって生成される出力レベルの例を示す簡略図である。
【図１３】図11の回路によって生成されるDBIレベルの例を示す簡略図である。
【図１４】本開示の少なくとも1つの例によるマルチレベルインジケータを生成するための別の回路を示す簡略図である。
【図１５】本開示の少なくとも1つの例によるマルチレベルインジケータを生成するための別の回路を示す簡略図である。
【図１６】本開示の少なくとも1つの例によるバスパーティション化フォーマットを選択するための回路を示す簡略図である。
【図１７】本開示の少なくとも1つの例による符号化のタイプを選択するための回路を示す簡略図である。
【図１８】本開示の少なくとも1つの例によるデータバスを組み込んだプリント回路板を示す簡略図である。
【図１９】本開示の少なくとも1つの例によるデータバスを組み込んだ集積回路ダイを示す簡略図である。
【図２０】本開示の少なくとも1つの例による符号化機能を含む装置の選択構成要素を示す簡略ブロック図である。
【図２１】本開示の少なくとも1つの例に従った符号化インジケータシンボルの生成に関連して実行される場合がある動作を示すフローチャートである。
【図２２】本開示の少なくとも1つの例に従った符号化インジケータシンボルの生成に関連して実行される場合がある追加の動作を示すフローチャートである。
【図２３】本開示の少なくとも1つの例による復号機能を含む装置の選択構成要素を示す簡略ブロック図である。
【図２４】本開示の少なくとも1つの例に従った符号化インジケータシンボルに基づくデータの復号に関連して実行される場合がある動作を示すフローチャートである。
【図２５】本開示の少なくとも1つの例に従った符号化インジケータシンボルに基づくデータの復号に関連して実行される場合がある追加の動作を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下に記載される詳細な説明は、添付の図面とともに、種々の構成を説明することを意図しており、本明細書において説明される概念を実施することができる唯一の構成を表すことは意図していない。詳細な説明は、様々な概念の完全な理解を与えるために具体的な詳細を含む。しかしながら、これらの概念がこれらの具体的な詳細なしに実践され得ることは当業者に明らかであろう。場合によっては、そのような概念を曖昧にすることを回避するために、よく知られている構造および構成要素がブロック図の形態で示されている。
【００１９】
図1は、本開示の1つまたは複数の態様が適用されてもよいシステム100の一例のブロック図である。システム100は、並列データバス106によって互いに通信可能に結合された第1の電子デバイス102と第2の電子デバイス104とを含む。第1の電子デバイス102は、送信態様を強調して示されており、エンコーダ110を有し、符号化されたデータビットをデータバス106を介して第1の電子デバイス102から第2の電子デバイス104に送信するように適合されたトランスミッタ108を含む。第2の電子デバイス104は、受信態様を強調して示されており、符号化されたデータビットを受信して復号するためのデコーダ114を有するレシーバ112を含む。いくつかの例では、データバス106は単方向バスであってもよい。他の例では、データバス106は双方向バスであってもよく、その場合、第2の電子デバイス104は、データビットをデータバス106を介して第1の電子デバイス102のレシーバ118に送信するように適合されたトランスミッタ116を含んでもよい。図1の複雑さを低減させるために、データバス106とトランスミッタ116およびレシーバ118との結合は示されていない。
【００２０】
第1および第2の電子デバイス102および104は、通信シグナリング(たとえば、シングルエンドシグナリング)を使用して通信することができる任意のデバイスであってもよい。様々な例では、第1および第2の電子デバイス102および104はコンピュータシステム内の構成要素であってもよい。たとえば、いくつかの実装形態では、電子デバイス102は処理ユニットであってもよく、第2の電子デバイス104はメモリモジュールであってもよく、データバス106はシステムバスであってもよい。少なくとも1つの例では、プロセッサのメモリコントローラインターフェース(たとえば、物理メモリインターフェース回路PHY)およびメモリモジュールは、書込み動作および読取り動作を実行するためにそれぞれのトランスミッタおよびレシーバを含んでもよい。プロセッサは、中央処理ユニット(CPU)、コプロセッサ、演算処理装置、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)などの、任意の適切な種類の処理ユニットであってもよい。メモリモジュールは、任意の適切な種類のメモリであってもよい。いくつかの実装形態では、第2の電子デバイス104は、ブリッジコントローラ、記憶デバイス(たとえば、ハードドライブ、オプティカルドライブ、フラッシュドライブ、ストレージアレイなど)、ネットワークインターフェースデバイス(たとえば、ローカルまたは広域ネットワークに対して)、ユーザインターフェースデバイス(たとえば、ディスプレイデバイス、サウンドデバイス、プリンタ)などの、別の種類のデバイスであってもよい。場合によっては、第1および第2の電子デバイス102および104は、処理ユニット内の別個のコアまたはシステム内の別個の処理ユニットであってもよい。したがって、少なくとも1つの例では、システム100は通信ネットワークであってもよく、第1および第2の電子デバイス102および104は、ルータ、スイッチ、エンドデバイスなどであってもよい。したがって、一般に、第1および第2の電子デバイス102および104は、データバス106を介してデータビットの送信および/または受信を行うように適合された任意の適切なデバイスであってもよい。
【００２１】
本明細書で使用するデータ、データビットなどの用語は概して、通信媒体を介して伝送できる情報を指す。したがって、データには、たとえば、制御情報、アドレス情報、シグナリング情報、タイミング情報、ユーザデータ、ペイロードなどを含めることが可能であり、データバスは、たとえば、制御情報、アドレス情報、シグナリング情報、タイミング情報、ユーザデータ、ペイロードなどを伝送することが可能である。
【００２２】
データバス106は、チャネル120と呼ばれることもあるほぼ互いに平行な導電性トレースまたはラインを含んでもよく、これらのチャネル120は、各端部で電子デバイス102および104内のそれぞれのピンに結合されてもよい。データバス106のチャネル120の数は、様々に異なる実装形態に応じて異なる場合がある。単に例として、データバス106は、4個、8個、16個、32個、64個、72個、または他のある数のデータチャネル120を含んでもよい。少なくとも1つの追加のチャネル122が、データビットと並列に制御信号を送信するために設けられてもよい。たとえば、データバス106は、72個のデータチャネルと8個の制御チャネル122で合計80個のチャネルを有してもよい。以下でより詳細に説明するように、制御チャネル122のうちの1つは、データバス106上で使用される符号化(たとえば、データチャネル120を介して送信されるデータビット上で使用される符号化)の表示を送信するのに使用されてもよい。バスはさらに、付随するクロッキングトポロジー(図示せず)をサポートしてもよい。
【００２３】
チャネル120を介して送信されるデータビットは、「1」および「0」、または高電圧および低電圧を含むバイナリデータビットである。データビットは、データバス106を介して送信されるときに、通常、データビットの振幅およびタイミングを変化させることがあるシンボル間干渉(ISI)、クロストーク、および同時スイッチングノイズ(SSN)を受ける。データビットはしばしば、ISI、クロストーク、および/またはSSNの影響を低減させるために、データ符号化の様々な技法を使用して符号化される場合がある。データビットの送信に関連する電力消費量を低減させるためにデータ符号化を使用することもできる。
【００２４】
データバス反転(DBI)は、通信インターフェースにおける電力消費量を低減させるための公知の技法である。符号化の効果は、符号化中の並列データ(バス)の幅に依存する場合がある。したがって、バスをより小さいサブセットにパーティション化することは、場合によっては通信システムの効率を向上させ、電力をさらに低減させるための1つの方法である。しかしながら、いくつかの実装形態では、様々に異なるサブセットに関するDBIフラグをレシーバに伝送するのに必要な追加のピンのコストが過度に高額になる。したがって、DBIパーティション化は、それが他の点では有用であることを証明することができる多くの実装形態において使用されていない。
【００２５】
図2は、本明細書の教示による符号化インジケータシンボルを使用するバスパーティションに関する選択的な符号化の一例を示すブロック図である。有利なことに、符号化インジケータシンボルは、任意の符号化されたバスパーティションを特定し、単一のシグナリング線(たとえば、バスビット線)を介して送信することが可能である。たとえば、以下においてより詳しく説明するように、符号化インジケータシンボルは、各「レベル」(「状態」)がバスパーティション化および/または符号化を示す2つ以上のビットを表すマルチレベル信号(多状態信号)を含んでもよい。さらに、いくつかの実装形態では、各「レベル」(「状態」)は、対応するバスパーティションに適用すべき符号化のタイプを表す場合がある。
【００２６】
図2において、エンコーダ202は、デコーダ204に送信されるデータを選択的に符号化する。特に、エンコーダ202は、入力データバス(DATA IN)206を様々に異なるパーティションにパーティション化し、各パーティションを独立に符号化する。図2の例では、16ビット(すなわち、16ライン)データバス206が8ビットパーティションに分割される。他のパーティション化フォーマットが他の実装形態に使用されてもよい。たとえば、バスがより多くのパーティションに分割されてもよく、各パーティション内のビットの数は、本明細書の図に示す数とは異なってもよく、様々に異なるパーティション内のビットの数は異なってもよい。
【００２７】
図示のように、入力データバス206は第1のパーティション208(パーティションA)および第2のパーティション210(パーティションB)に分割される。パーティションA選択的符号化212では、たとえば、バスサイクルごとに、第1のパーティション208に関するデータを符号化すべきかどうかを判定する。パーティションA選択的符号化212の動作とは独立に、パーティションB選択的符号化214では、たとえば、バスサイクルごとに、第2のパーティション210に関するデータを符号化すべきかどうかを判定する。
【００２８】
所与のパーティションに符号化が適用されるかどうかに関する決定は、1つまたは複数の因子(たとえば、通信性能因子)に基づいて下される。たとえば、場合によっては、所与のバスパーティションを介して送信すべきデータのサブセットに符号化を適用することによってデータ送信に伴う電力消費量が低減する場合に符号化が適用される。逆に、符号化によって電力が節約されないかまたはそれほど電力が節約されない場合、その代わりにデータのサブセットが符号化せずに送信される。別の例として、場合によっては、所与のバスパーティションを介して送信すべきデータのサブセットに符号化を適用することによってデータ送信に伴う干渉が低減する場合に符号化が適用される。逆に、符号化によって干渉が低減しないかまたはそれほど干渉が低減しない場合、その代わりにデータのサブセットが符号化せずに送信される。
【００２９】
符号化の決定が下された後または符号化の決定が下されなかった場合、エンコーダ202はデータをパーティション化されたデータバスを介してデコーダ204に送信する。詳細には、エンコーダ202は、パーティションA選択的符号化212によって符号化されている場合があるデータの第1のサブセットをデータバスパーティションA216を介して送信する。同様に、エンコーダ202は、パーティションB選択的符号化214によって符号化されている場合があるデータの第2のサブセットをデータバスパーティションB218を介して送信する。
【００３０】
本明細書において使用される「バスパーティション」および「パーティション化されたバス」などの用語では、バスが物理的にパーティション化される必要がないことを理解されたい。むしろ、パーティション化は、バスのビット線の様々に異なるセットを介して送信すべきデータを異なるように処理することにすぎない場合がある。たとえば、1つのパーティションを介して送信すべきデータのサブセットを符号化する決定は、別のパーティションを介して送信すべきデータの別のサブセットを符号化する決定とは独立に下されてもよい。別の例として、様々に異なるバスパーティションに関するデータの様々に異なるサブセットに様々に異なる符号化が適用されてもよい。
【００３１】
エンコーダ202は、符号化情報をデコーダ204に送信し、それによって、デコーダ204は、所与のパーティションがエンコーダ202によって符号化されているかどうかを判定することができる。この目的のために、パーティションA選択的符号化212およびパーティションB選択的符号化214は、対応する符号化のそれぞれ表示220および表示222を符号化インジケータジェネレータ224に送信するかまたは符号化インジケータジェネレータ224に符号化決定の表示を送信しない。これらの表示に基づいて、符号化インジケータジェネレータ224は、符号化インジケータシンボルを生成し、符号化インジケータシンボルは次いで、ビット線226を介してデコーダ204に送信される。
【００３２】
図2の例では、符号化インジケータシンボルは、バスパーティション化を示す2ビットの情報と、所与のバスパーティションに符号化が適用されたかどうかとを表す。詳細には、2ビット値の00は、パーティションAデータもパーティションBデータも符号化されていないことを示す。2ビット値の01は、パーティションAデータのみが符号化されていることを示す。2ビット値の10は、パーティションBデータのみが符号化されていることを示す。2ビット値の11は、パーティションAデータとパーティションBデータの両方が符号化されていることを示す。他の実装形態では符号化インジケータシンボルが異なる数のビット(たとえば、3ビット以上)を表すことができることを諒解されたい。
【００３３】
デコーダ204の符号化インジケータ処理228は、符号化インジケータシンボルを受信し、符号化がデータバスパーティションA216およびデータバスパーティションB218に対してアクティブであるかどうかを示す表示230および232を生成する。表示230は、データバスパーティションA216上のデータが符号化されるかどうかを示す。表示232は、データバスパーティションB218上のデータが符号化されるかどうかを示す。指摘したように、符号化インジケータ処理228は、表示230をパーティションA選択的復号234に送信し、表示232をパーティションB選択的復号236に送信する。
【００３４】
したがって、デコーダ204は、各バスパーティションについて独立に、そのバスパーティションに関して復号を起動する必要があるかどうかを判定することができる。パーティションA選択的復号234は、表示230に基づいて、データバスパーティションA216上で受信されたデータを復号すべきかどうかを判定する。パーティションA選択的復号234の動作とは独立に、パーティションB選択的復号236では、表示232に基づいて、データバスパーティションB218上で受信されたデータを復号すべきかどうかを判定する。
【００３５】
本明細書において説明するように、いくつかの実装形態では符号化の決定がバスサイクルごとに下される。たとえば、エンコーダ202は、パーティション化されたデータバス上で各データ転送サイクルと並列して新しい符号化インジケータシンボルを送信することができる。したがって、デコーダ204は、あらゆるデータ転送について、任意のバスパーティション上で受信されたデータに復号を適用すべきかどうかを判定することができる。
【００３６】
上記を念頭において、次に、本開示による符号化および復号に関する動作の例について、図3および図4のフローチャートに関連してより詳しく説明する。便宜上、図3および図4の動作については(または本明細書で論じ、もしくは教示する他のどの動作についても)、特定の構成要素によって実施されるものとして説明する場合がある。しかしながら、様々な実装形態において、これらの動作が、他のタイプの構成要素によって実行されてもよく、かつ異なる数の構成要素を使用して実行されてもよいことを諒解されたい。また、本明細書において説明する動作のうちの1つまたは複数が、所与の実装形態において採用されない場合があることも諒解されたい。
【００３７】
図3は、データを選択的に符号化し、対応する符号化インジケータシンボルを生成することに関連して実行される場合がある動作の一例を示す。たとえば、図3の動作は、図1のトランスミッタ108、図2のエンコーダ202、または何らかの他の適切なエンティティによって実行することが可能である。
【００３８】
ブロック302は、データ転送よりも前に実行されるいくつかの予備的な動作に関する。指定された構成要素が、データバス上で使用すべき特定のデータパーティション化およびバスパーティションを介して送信されるデータに適用すべき符号化のタイプを選択する。
【００３９】
いくつかの実装形態では、これらの動作は静的に行われる。たとえば、データバスコントローラが、対応するシステムが初期設定されるときにこれらのパラメータを定義することができる。別の例として、製造業者が常に同じパラメータを使用するようにシステムを構成することが可能である。
【００４０】
他の実装形態では、ブロック302の動作は動的に実行される。たとえば、トランスミッタ、エンコーダ、または何らかの他の構成要素が、特定のデータ転送、特定の期間、または他の指定された条件について使用すべきパーティション化および/または符号化を指定することができる。
【００４１】
ブロック302の決定の基準は、1つまたは複数の因子に基づくことが可能である。一例として、符号化またはパーティション化は、転送中のデータのタイプ、データレート、または何らかの他のデータ関連因子もしくは非データ関連因子に依存する場合がある。
【００４２】
ブロック304では、ブロック302の選択を実行するデバイスが、データバスパーティション化情報および/または符号化タイプ情報を関連するデバイスに送信する。この場合、関連する構成要素間で適切なシグナリング(たとえば、エンコーダとデコーダとの間の専用ビット線、またはコマンドバス)を使用することによって、ある構成要素が、それに関連する構成要素に、使用すべき特定のパーティション化および/またはデータ転送に関してパーティション化されたデータバスに適用すべき符号化のタイプを通知することができる。
【００４３】
ブロック306において、ある時点で、第1のデバイスが関連する第2のデバイスに送信すべきデータを受信する。たとえば、メモリコントローラが、メモリデバイスへの転送に関してシステムプロセッサからデータを受信してもよい。本明細書の教示が他の形態のデータ転送にも適用可能であることを諒解されたい。
【００４４】
ブロック308では、各データバスパーティションについて、第1のデバイスが、そのデータバスパーティションを介して送信すべき受信されたデータのサブセットを符号化すべきかどうかを決定する。たとえば、第1のデバイスのエンコーダは、所与のデータバスパーティションを介して送信すべきデータのサブセットを分析し、それによってデータのそのサブセットを符号化すべきであるかどうかを決定してもよい。
【００４５】
ブロック310において、エンコーダが、ブロック308において符号化すべきデータとして指定されたデータの任意のサブセットを符号化する。ブロック308において符号化すべきデータとして指定されなかったデータについてはどのサブセットも符号化されない。
【００４６】
ブロック312において、エンコーダまたは関連する構成要素は、ブロック308および310の結果に基づいて符号化インジケータシンボルを生成する。本明細書において説明するように、符号化インジケータシンボルは、バスのパーティション化と符号化の両方が各バスパーティションに適用されていることを示す。
【００４７】
ブロック314において、ブロック306において受信され、場合によっては、ブロック310において受信されたデータの1つまたは複数のサブセットに対して実行された任意の符号化によって修正されたデータを、パーティション化されたデータバスを介して送信する。このデータ送信に関連して、第1のデバイスは、ブロック312において生成された対応する符号化インジケータシンボルを送信する。一般に、第1のデバイスは、データおよび関連する符号化インジケータシンボルを並列に(たとえば、実質的に同時に)送信する。しかしながら、必要な場合、データよりも前または後に、符号化インジケータシンボルを送信することができる。
【００４８】
図4は、受信された符号化インジケータシンボルに基づいて受信されたデータを選択的に復号することに関連して実行されてもよい動作の一例を示す。たとえば、図4の動作は、図1のレシーバ112、図2のデコーダ204、または何らかの他の適切なエンティティによって実行することが可能である。
【００４９】
ブロック402において、上記で言及した第2のデバイスは、図3のブロック304において送信されたデータバスパーティション化情報および/または符号化タイプ情報を受信する。このようにして、第2のデバイスは、パーティション化されたデータバスを介して受信されたデータに復号をどのように適用すべきかを判定する。
【００５０】
ブロック404において、第2のデバイスは、パーティション化されたデータバスを介して第1のデバイスからデータを受信するとともに、関連する符号化インジケータシンボルを受信する。上述のように、データバスパーティションのうちの1つまたは複数上で受信されたデータの1つまたは複数のサブセットが符号化されてもよい。
【００５１】
ブロック406において、第2のデバイスは、各データバスパーティションについて、符号化インジケータシンボルを使用して、ブロック402において受信されたデータの対応するサブセットが符号化されるかどうかを判定する。
【００５２】
ブロック408において、デコーダは、ブロック404において符号化済みと特定されたデータの任意のサブセットを復号する。ブロック406において符号化済みと特定されなかったデータについてはどのサブセットも復号されない。第2のデバイスは次いで、受信されたデータをその意図された目的に使用してもよい。
【００５３】
上述のように、本明細書の教示は、様々に異なる実装形態において様々に異なるタイプの符号化を使用して実施することが可能である。例示を目的として、次に、符号化インジケータシンボルの生成および使用に関するさらなる詳細についてDBI符号化に関して説明する。しかしながら、本明細書の教示がDBI符号化に限らないことを諒解されたい。
【００５４】
図5〜図7は、従来のDBI符号化の概要を示す。図5は、データバス502(たとえば、図1のデータバス106)の様々に異なるチャネルを介して送信されるデータビットの例を示すブロック図500である。図示のように、各行は、別個のデータチャネルを表し、各チャネル上で8個のデータビットまたはサイクルが送信されるように示されている。単に図を見やすくするように、奇数番号のサイクルまたはビットは陰影を付けられている。
【００５５】
データバス反転は、回路を使用して、送信すべきビット間の関係を調べ、送信の前にビットのいくつかまたはすべてを反転させることが有利であるかどうかを決定する機能である。ビットを反転させる場合、ビットを反転させることを示すように追加の信号もセットされる。この追加の信号は、データバス反転(DBI)フラグまたは符号化フラグと呼ばれることも多い。データのどのセットが反転されたかを受信側回路に示すために、DBIフラグを他のビットと並列して送信できるように特別なチャネルを使用することが可能である。レシーバは、DBIフラグを使用して入来データをその元の状態に戻す。
【００５６】
概して、DBI符号化に使用される2種類のデータバス反転技法がある。第1の技法は、当業者にはDBI ACまたは最少遷移と呼ばれることがあり、AC電力消費量の改善、クロストークによる問題の軽減などのためにデータチャネル上の遷移の数を減らす(たとえば、「0」から「1」に、または「1」から「0」に変更する)のに使用される。図6は、従来のDBI AC符号化の一例を示すブロック図である。左側に図5の生データを示し、右側に得られる符号化データ602を示す。DBI AC符号化は一般に、同時遷移の数を減らすのに使用される。生データには、データバス502のすべての8個のチャネル上の8サイクルにおける合計で34個の遷移がある。図示のように、デバイスは、半分よりも多くのデータチャネル上で送信されることが予定されたデータが、あるサイクルから次のサイクルへの遷移を有すると判定すると、すべてのデータチャネル上で次のサイクルを反転させることができる。たとえば、サイクル2からサイクル3では、8個のデータチャネルのうちの7個が、「1」から「0」または「0」から「1」への遷移を有する。したがって、デバイスは、サイクル3を反転させることができ、それによって、8個のデータチャネルのうちの1個のみが遷移を有する。さらに、図6においてチャネル9として識別されたDBI制御チャネル上のサイクル3においてDBIフラグがセットされる。この例では、データバス502上で送信されるデータにおける遷移の数が34個から25個に減るが、データバス502上で送信される「1」(たとえば、論理高信号)の数は31個から32個に増える。
【００５７】
データバス反転のための第2の技法は、DBI DC、最少「1」または最少「0」と呼ばれることがあり、特定の状態のデータビットの数を減らす(たとえば、「1」の数または「0」の数を減らす)のに使用される。図7は、従来のDBI DC符号化の一例を示すブロック図である。この場合も、左側の図に図5の生データを示し、右側の図に得られる符号化データ702を示す。DBI DC符号化は一般に、特定の状態を有するデータビットの数を減らすのに使用される。たとえば、この例では、DBI DCは、データバス502上で送信される「1」(または論理高信号)の数を減らすのに使用される。図示のように、デバイスは、半分よりも多くのデータチャネルが所与のサイクル上で論理高信号(「1」)を有すると判定したときに、すべてのデータチャネルについてサイクルを反転させることができる。たとえば、生データのサイクル1は、8個のデータチャネルのうちの5個のデータチャネル上で論理高信号(「1」)を有する。したがって、デバイスは、8個のデータチャネルのうちの3個のデータチャネルのみが論理高信号(「1」)を送信するように各データチャネル上でサイクル1を反転させることができる。さらに、図7においてチャネル9として識別されたDBI制御チャネル上のサイクル1においてDBIフラグがセットされる。この例では、データバス502上で送信される「1」(たとえば、論理高信号)の数が31個から22個に減らされる。この例では、遷移の数も34個から28個に減少する。ただし、この例はこの技法に典型的なものではない。一般に、この技法では、遷移の数が増える。
【００５８】
図8は、従来のDBI符号化において使用されるバイナリシグナリングの一例を示す。特に、図8は、図7から出力されるDBI DCの最初の4つのバスサイクルに関連するシグナリングを、DBI制御チャネルからの対応するDBI値とともに簡略的に示す。
【００５９】
これに対して、図9は、本明細書において教示される符号化インジケータシンボルの使用に関連して使用される場合があるシグナリングの一例を示す。この例では、各符号化インジケータシンボル(DBI値)が図9の下部に示すように4つの値(レベル)のうちの1つをとる。これらの値は、図2を参照して上記において説明した符号化インジケータシンボル値と同じである。したがって、この符号化インジケータシンボルは、バスパーティション化に関連して使用することが可能であり、所与の符号化インジケータシンボルは、各バスパーティションについて、その特定のバスパーティションに符号化が適用されているかどうかを示す。
【００６０】
図9の例では、8つのチャネルが2つのパーティションにパーティション化されている。第1のパーティションはチャネル1〜4からなり、第2のパーティションはチャネル5〜8からなる。バスサイクル1では、第1のパーティションにのみ符号化が適用される。バスサイクル2では、符号化は適用されない。バスサイクル3では、第1のパーティションと第2のパーティションの両方に符号化が適用される。バスサイクル4では、第1のパーティションにのみ符号化が適用される。
【００６１】
図9においてチャネル1〜8に関して示されている波形は、DBI DC符号化の使用に相当する。特に、DBI DC符号化は、図5の最初の4つのサイクルの各々の各バスパーティションに選択的に適用される。この場合、バスパーティション化を使用すると、「1」(この例では高信号レベル)の数が図8の従来のDBI DC実装形態よりも少なくなることがわかるであろう。詳細には、図8には9つの「1」があり、一方、図9には7つの「1」がある。したがって、図9の実装形態は一般に、図8の実装形態よりも性能が高いが、使用するビット線(またはデバイスピン)の数は同じである。
【００６２】
マルチレベル符号化インジケータシンボルは、様々な方法で実施することができる。たとえば、複数の電圧レベル、複数の電流レベル、複数の位相レベル(たとえば、位相シフト)、またはそれらの組合せによってマルチレベル符号化インジケータシンボルが定義されてもよい。図10〜図15は、マルチレベル符号化インジケータシンボルを生成するのに使用することのできる回路のいくつかの例を示す。
【００６３】
図10は、様々に異なる電圧レベルにおいて符号化インジケータシンボルを生成することのできるマルチレベル電圧ドライバ1002の簡略図である。2ビット(MSBおよびLSB)入力制御信号1004が電圧ドライバ1002の出力1006を制御する。詳細には、入力値00によってレベル0出力電圧(たとえば、0ボルト)が得られ、入力値01によってレベル1出力電圧が得られ、入力値10によってレベル2出力電圧が得られ、入力値11によってレベル3出力電圧(たとえば、最大振幅)が得られる。相補型多電圧レベルレシーバ回路(図示せず)を使用してマルチレベル符号化インジケータシンボルを受信することができる。
【００６４】
図11は、様々に異なる電流レベルにおいて符号化インジケータシンボルを生成することのできるマルチレベル電流ドライバ1102の簡略図である。2ビット入力制御(2つのスイッチ1104によって表されている)が、供給電流IMSBおよびILSBが、終端抵抗(RTerm)によって表されている出力に結合されるかどうかを制御する。この例では、IMSBはILSBの大きさの2倍である。相補型多電流レベルレシーバ回路(図示せず)を使用してマルチレベル符号化インジケータシンボルを受信することができる。
【００６５】
図12は、電流ドライバ1102によって生成することのできる4つの電流レベル1202を示す。詳細には、入力値00によってレベル0出力電流(0X電力に相当する)が得られ、入力値01によってレベル1出力電流(1X電力に相当する)が得られ、入力値10によってレベル2出力電流(4X電力に相当する)が得られ、入力値11によってレベル3出力電流(9X電力に相当する)が得られる。
【００６６】
図13は、図12の電流レベル1202にマッピングすることのできる4つのDBI値1302を示す。詳細には、レベル0出力電流は、第1のバスパーティション(パーティション1と示されている)と第2のバスパーティション(パーティション2と示されている)のいずれも符号化されていない(DBIの場合は「反転」されていない)ことを示す。レベル1出力電流は、第1のバスパーティションのみが符号化されていることを示す。レベル2出力電流は、第2のバスパーティションのみが符号化されていることを示す。レベル3出力電流は、第1のバスパーティションと第2のバスパーティションの両方が符号化されていることを示す。
【００６７】
図14は、様々に異なる位相シフトにおいて符号化インジケータシンボルを生成することのできる多状態(またはマルチレベル)位相シフタ1402の簡略ブロック図である。2ビット(MSBおよびLSB)入力制御信号1404が位相シフタ1402の出力1406を制御する。詳細には、入力値00によって状態0(レベル0)位相シフト(たとえば、位相シフトなし)が得られ、入力値01によって状態1(レベル1)位相シフト(たとえば、90度位相シフト)が得られ、入力値10によって状態2(レベル2)位相シフト(たとえば、180度位相シフト)が得られ、入力値11によって状態3(レベル3)位相シフト(たとえば、270度位相シフト)が得られる。相補型多相レベルレシーバ回路(図示せず)を使用してマルチレベル符号化インジケータシンボルを受信することができる。
【００６８】
図15は、様々に異なる位相シフトおよび振幅において符号化インジケータシンボルを生成することのできる多状態(またはマルチレベル)位相および振幅シフタ1502の簡略ブロック図である。2ビット(MSBおよびLSB)入力制御信号1504が位相および振幅シフタ1502の出力1506を制御する。詳細には、入力値00によって状態0(レベル0)位相シフト(たとえば、位相シフトなし)および振幅(たとえば、低振幅値)が得られ、入力値01によって状態1(レベル1)位相シフト(たとえば、180度位相シフト)および振幅(たとえば、低振幅値)が得られ、入力値10によって状態2(レベル2)位相シフト(たとえば、位相シフトなし)および振幅(たとえば、高振幅値)が得られ、入力値11によって状態3(レベル3)位相シフト(たとえば、180度位相シフト)および振幅(たとえば、高振幅値)が得られる。相補型多状態レシーバ回路(図示せず)を使用してマルチレベル符号化インジケータシンボルを受信することができる。様々に異なる実装形態において位相と振幅の様々に異なる組合せ(2つの位相および2つの振幅以外)を使用できることを諒解されたい。
【００６９】
上述のように、いくつかの実装形態では、データバス上で使用されるパーティション化は、指定されたシステム構成要素によって選択される(たとえば、動的に選択される)。図16は、バスパーティション化選択機能を含むトランスミッタ1602の一例を示す。本明細書において教示するバスパーティション化選択機能がこの例に限らないことを諒解されたい。むしろ、他の実装形態では、バスパーティション化選択機能が他の構成要素(たとえば、レシーバ1604または何らかの他の構成要素)に実装されてもよい。
【００７０】
トランスミッタ1602は、入力データバス1606を介してデータ(DATA IN)を受信し、選択的エンコーダ1608は、データバス1610の様々に異なるバスパーティションを介して送信すべきデータの様々に異なるサブセットに符号化を選択的に適用する。レシーバ1604の選択的デコーダ1612は、このデータを受信すると、本明細書において教示するように関連する符号化インジケータシンボル(図示せず)に基づいてデータバス1610の様々に異なるバスパーティションを介して受信されたデータの様々に異なるサブセットに復号を選択的に適用し、出力データバス1614上に出力データ(DATA OUT)を供給する。
【００７１】
トランスミッタ1602は、データバス1610上で使用すべき特定のパーティション化フォーマットを選択するように構成されたパーティション化セレクタ1616を含む。たとえば、パーティション化セレクタ1616は、使用すべきバスパーティションの数ならびにバスパーティションごとのビット線の数を選択してもよい。上述のように、様々に異なるバスパーティションにおけるビット線の数は異なってもよい。いくつかの実装形態では、パーティション化セレクタ1616は、サポートされるパーティション化フォーマットのセットからパーティション化フォーマットを選択する。
【００７２】
特定のバスパーティション化の選択は様々な因子に基づいてもよい。たとえば、バスパーティション化は、信号線(トレース)ルーティング制約、ライン間干渉要件などの影響を受ける場合がある。さらに、様々に異なるバスパーティション化が様々に異なるシステム構成、様々に異なる期間、または他の指定された条件に使用されてもよい。さらに、図16においてデータ線1620によって示されているように、いくつかの実装形態では、使用すべき特定のバスパーティション化は、パーティション化されたデータバスを介して送信すべきデータに基づいてもよい。たとえば、パーティション化は、転送すべきデータのタイプ、データレート、または何らかの他のデータ関連因子に依存してもよい。所与のパーティションの信号線をルーティングする(すなわち、互いに隣り合わせる)必要がないことを諒解されたい。たとえば、あるパーティションに奇数番号の信号線を割り振ることができ、別のパーティションに偶数番号の信号線を割り振ることができる。そのような構成は、奇数/偶数パーティション化によって奇数/偶数位相クロストークを低減させることができるので特にDBI-AC環境において有用である場合がある。
【００７３】
パーティション化セレクタ1616は、バスパーティション化を選択した後、選択されたパーティション化の表示を選択的エンコーダ1608および通信構成要素1622(たとえば、バスドライバ回路)に送信する。通信構成要素1622は次いで、パーティション化表示を適切な信号経路1624(たとえば、制御バス)を介してレシーバ1604の対応する通信構成要素1626(たとえば、バスレシーバ回路)に送信する。通信構成要素1626はさらに、パーティション化表示を適切な信号経路1628を介して選択的デコーダ1612に送信する。このようにして、データバス1610上で使用すべきパーティション化は、選択的エンコーダ1608と選択的デコーダ1612の両方に伝送される。
【００７４】
いくつかの実装形態では、データバス上で使用される符号化は、指定されたシステム構成要素によって選択される(たとえば、動的に選択される)。図17は、符号化選択機能を含むトランスミッタ1702の一例を示す。本明細書において教示する符号化選択機能がこの例に限らないことを諒解されたい。むしろ、他の実装形態では、符号化選択機能が他の構成要素(たとえば、レシーバ1704または何らかの他の構成要素)に実装されてもよい。
【００７５】
トランスミッタ1702は、入力データバス1706を介してデータ(DATA IN)を受信し、選択的エンコーダ1708は、データバス1710の様々に異なるバスパーティションを介して送信すべきデータの様々に異なるサブセットに符号化を選択的に適用する。レシーバ1704の選択的デコーダ1712は、このデータを受信すると、本明細書において教示するように関連する符号化インジケータシンボル(図示せず)に基づいてデータバス1710の様々に異なるバスパーティションを介して受信されたデータの様々に異なるサブセットに復号を選択的に適用し、出力データバス1714上に出力データ(DATA OUT)を供給する。
【００７６】
トランスミッタ1702は、データバス1710上で使用すべき特定の符号化を選択するように構成された符号化セレクタ1716を含む。たとえば、符号化セレクタ1716は、サポートされる符号化タイプ(たとえば、DBI AC、DBI DCなど)のセットから符号化のタイプを選択してもよい。いくつかの実装形態では、符号化セレクタ1716はデータバス1710全体(すなわち、すべてのバスパーティション)上に適用すべき符号化のタイプを選択する。いくつかの実装形態では、符号化セレクタ1716は様々に異なるバスパーティション用に様々に異なるタイプの符号化を選択してもよい。
【００７７】
特定の符号化の選択は様々な因子に基づいてもよい。たとえば、様々に異なるチャネル条件、様々に異なる動作条件、様々に異なるシステム構成、様々に異なる期間、または他の指定された条件について様々に異なるタイプの符号化が使用されてもよい。図17においてデータ線1720によって示されているように、いくつかの実装形態では、使用すべき特定の符号化は、パーティション化されたデータバス1710を介して送信すべきデータに基づいてもよい。たとえば、選択される符号化にタイプは、転送中のデータのタイプ、データレート、または何らかの他のデータ関連因子に依存する場合がある。
【００７８】
符号化セレクタ1716は、符号化を選択した後、選択された符号化の表示を選択的エンコーダ1708および通信構成要素1722(たとえば、バスドライバ回路)に送信する。通信構成要素1722は次いで、符号化表示を適切な信号経路1724(たとえば、制御バス)を介してレシーバ1704の対応する通信構成要素1726(たとえば、バスレシーバ回路)に送信する。通信構成要素1726はさらに、符号化表示を適切な信号経路1728を介して選択的デコーダ1712に送信する。このようにして、データバス1710上で使用すべき符号化は、選択的エンコーダ1708と選択的デコーダ1712の両方に伝送される。
【００７９】
上述のように、いくつかの実装形態では(たとえば、符号化インジケータシンボルが4つよりも多くのレベルを表す)、符号化インジケータシンボルの「レベル」のうちの1つまたは複数は、対応するバスパーティションに適用すべき符号化のタイプを示してもよい。したがって、これらの実装形態では、信号経路1724はDBIフラグビット線(もしくはピン)または他の同等の符号化インジケータビット線を備えてもよい。
【００８０】
マルチレベル符号化インジケータシンボルを組み込んだデータバスは、様々な方法で実施することができる。たとえば、このデータバスは、プリント回路板内に実装されても、あるいは集積回路ダイ内に実装されても、あるいは何らかの他の適切な構造内に実装されもよい。図18および図19は、プリント回路板実装形態および集積回路ダイ実装形態の例を示す。
【００８１】
図18において、プリント回路板1802は、プリント回路板1802の1つまたは複数の層上に配置されたいくつかのワイヤ1804(トレースとも呼ばれる)として実装されたデータバスを組み込んでいる。この例では、データバスワイヤ1804が、第1の集積回路1810および第2の集積回路1812の接点が接続されたパッド(たとえば、第1のパッド1806および第2のパッド1808)からルーティングされる。他の実装形態ではデータバスのワイヤが異なるようにルーティングされることを諒解されたい。たとえば、いくつかの実装形態では、データバスが回路とオフボードコネクタ(図示せず)との間でルーティングされる。
【００８２】
図19において、集積回路ダイ1902は、ダイ1902の1つまたは複数の層上に配置されたいくつかのワイヤ1904(トレースとも呼ばれる)として実装されたデータバスを組み込んでいる。この例では、データバスワイヤ1904が、第1の回路1910および第2の回路1912が接続された配線(たとえば、第1の配線1906および第2の配線1908)間においてルーティングされる。他の実装形態ではデータバスのワイヤが異なるようにルーティングされてもよいことを諒解されたい。たとえば、いくつかの実装形態では、データバスが外部回路(図示せず)に接続できるようにダイ1902の内部回路とダイのボンドパッドとの間においてルーティングされる。
【００８３】
図20を参照すると、本開示の少なくとも1つの例による、図1における第1または第2の電子デバイス102または104などの、装置2000の選択構成要素を示すブロック図が示されている。装置2000のトランスミッタ2002は、データバス2006の複数のチャネルを介してデータビットを送信するように適合されたエンコーダ2004を含む。
【００８４】
エンコーダ2004は一般に、データを符号化し関連する符号化インジケータシンボルを生成するように適合された回路および/またはプログラミングを含む。少なくとも1つの例によれば、エンコーダ2004は、データバスインターフェース2008によってデータバス2006の複数のデータチャネルに結合されてもよく、データバスインターフェース2008および記憶媒体2012と電気的に通信するように結合または配置された処理回路2010を含んでもよい。データバスインターフェース2008は、たとえば、信号ドライバ回路、信号レシーバ回路、増幅器、信号フィルタ、信号バッファ、またはシグナリングバスもしくは他のタイプのシグナリング媒体とのインターフェースをとるのに使用される他の回路を含んでもよい。
【００８５】
処理回路2010は、データの取得、処理、および/または送信を行い、データのアクセスおよび記憶を制御し、コマンドを発行し、他の所望の動作を制御するように構成される。処理回路2010は、少なくとも1つの例において、適切な媒体によって与えられる所望のプログラミングを実装するように適合された回路を含んでもよい。場合によっては、処理回路2010は、プログラミングを実装することによって、あるいはプログラミングを実装することなく、所望の機能を実行するように適合された回路を含んでもよい。一例として、処理回路2010は、1つもしくは複数のプロセッサ、1つもしくは複数のコントローラ、ならびに/あるいは実行可能なプログラミングの実行および/または所望の機能の実行用に構成されたその他の構造として実装されてもよい。処理回路2010の例には、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理構成要素、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明する機能を実行するように設計されたそれらの任意の組合せを含めてもよい。汎用プロセッサは、マイクロプロセッサ、および任意の通常のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンを含んでもよい。処理回路2010はまた、DSPとマイクロプロセッサとの組合せ、いくつかのマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、ASICとマイクロプロセッサ、または任意のその他のいくつかの様々な構成などのコンピューティング構成要素の組合せとして実装されてもよい。処理回路2010のこれらの例は説明のためのものであり、本開示の範囲内の他の好適な構成も企図される。
【００８６】
処理回路2010は、記憶媒体2012に記憶されてもよいプログラミングの実行を含む処理を実行するように適合される。本明細書で使用する「プログラミング」という用語は、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを、限定することなく含むように、広く解釈されるべきである。
【００８７】
場合によっては、処理回路2010は、符号化インジケータシンボルを生成するためのモジュール2014と、符号化を行うべきかどうかを判定するためのモジュール2016と、符号化のためのモジュール2018と、パーティション化を選択するためのモジュール2020と、符号化タイプを選択するためのモジュール2022とを含んでもよい。符号化インジケータシンボルを生成するためのモジュール2014は、(たとえば、様々に異なるバスパーティションに関連する)データビットの様々に異なるグループを符号化すべきかどうかに関する情報を収集し、収集された情報に基づいて値を生成し、データバスのパーティション化およびデータバスの様々に異なるパーティションに適用すべき符号化を示す働きをする、本明細書において教示するようなマルチレベル表示または同等の表示を生成するように適合された回路および/またはプログラミング(たとえば、記憶媒体2012上に記憶された、符号化インジケータシンボル2024を生成するためのモジュール2012)を含んでもよい。符号化すべきかどうかを判定するためのモジュール2016は、(たとえば、様々に異なるバスパーティションに関連する)データビットの1つまたは複数のグループを収集し、データビットを評価して、符号化する必要があることを示す基準が満たされるかどうかを判定し、その評価の表示を生成するように適合された回路および/またはプログラミング(たとえば、記憶媒体2012上に記憶された、符号化すべきかどうかを判定するためのモジュール2026)を含んでもよい。符号化のためのモジュール2018は、(たとえば、様々に異なるバスパーティションに関連する)データビットの1つまたは複数のグループを収集し、データビットを評価して、定義済みの公式に従ってデータビットのうちの少なくともいくつかに関する新しい値を求め、データビットのうちの少なくともいくつかを新しい値で置き換え、得られたデータビットを出力するように適合された回路および/またはプログラミング(たとえば、記憶媒体2012上に記憶された、符号化のためのモジュール2028)を含んでもよい。さらに、パーティション化を選択するためのモジュール2020は、パーティション選択に関する1つまたは複数の基準を取得し、1つまたは複数の基準を満たすバスパーティション化を特定し、特定されたバスパーティション化の表示を出力するように適合された回路および/またはプログラミング(たとえば、記憶媒体2012上に記憶された、パーティション化を選択するためのモジュール2030)を含んでもよい。さらに、符号化タイプを選択するためのモジュール2022は、符号化のタイプの選択に関する1つまたは複数の基準を取得し(たとえば、入力されたデータビットを収集し)、1つまたは複数の基準を満たす符号化のタイプを特定し、符号化の特定されたタイプの表示を出力するように適合された回路および/またはプログラミング(たとえば、記憶媒体2012上に記憶された、符号化タイプを選択するためのモジュール2032)を含んでもよい。
【００８８】
記憶媒体2012は、プログラミング、電子的なデータ、データベース、またはその他のデジタル情報を記憶するための、1つまたは複数のプロセッサ可読デバイスを表す場合がある。記憶媒体2012は、プログラミングを実行するときに処理回路2010によって操作されるデータを記憶するために使用されてもよい。記憶媒体2012は、可搬型または固定式記憶デバイスと、光記憶デバイスと、プログラミングの記憶、収容、および/または搬送が可能な様々なその他の媒体とを含む、処理回路2010によってアクセスすることが可能な任意の利用可能な媒体であってもよい。限定ではなく例として、記憶媒体2012は、磁気記憶デバイス(たとえば、ハードディスク、フロッピーディスク、磁気ストライプ)、光記憶媒体(たとえば、コンパクトディスク(CD)、デジタルバーサタイルディスク(DVD))、スマートカード、フラッシュメモリデバイス(たとえば、カード、スティック、キードライブ)、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、取外し可能なディスク、および/またはプログラミングを記憶するためのその他の媒体、ならびにそれらの任意の組合せなどのプロセッサ可読記憶媒体を含んでもよい。したがって、いくつかの実装形態では、記憶媒体は、非一時的(たとえば、有形の)記憶媒体であってよい。
【００８９】
記憶媒体2012は、処理回路2010がその記憶媒体2012から情報を読み取り、その記憶媒体2012に情報を書き込むことができるように処理回路2010に結合されてもよい。すなわち、記憶媒体2012は、少なくとも処理回路2010によってアクセス可能であるように処理回路2010に結合することが可能であり、記憶媒体2012が処理回路2010と一体である例、および/または記憶媒体2012が処理回路2010と分離している例を含む。
【００９０】
記憶媒体2012によって記憶されているプログラミングは、処理回路2010によって実行されたときに、処理回路2010に、本明細書で説明する様々な機能および/または処理ステップのうちの1つまたは複数を実行させる。たとえば、処理回路2012は、符号化インジケータシンボルを生成するためのモジュール(たとえば、動作)2024と、符号化を行うべきかどうかを判定するためのモジュール2026と、符号化のためのモジュール2028と、パーティション化を選択するためのモジュール2030と、符号化タイプを選択するためのモジュール2032とを含んでもよい。したがって、本開示の1つまたは複数の態様によれば、処理回路2010は、本明細書に記載の装置(たとえば、第1の電子デバイス102または第2の電子デバイス104)のいずれかまたはすべてのためのプロセス、機能、ステップおよび/またはルーチンのうちのいずれかまたはすべてを(記憶媒体2012と連携して)実行するように適合される。処理回路2010に関係して本明細書で使用する「適合される」という用語は、処理回路2010が、(記憶媒体2012と連携して)本明細書に記載する様々な特徴による特定のプロセス、機能、ステップおよび/またはルーチンを実行するように構成されること、使用されること、実装されること、および/またはプログラムされることのうちの1つまたは複数を行うことを指す場合がある。
【００９１】
図21は、符号化インジケータシンボルを生成することに関連して実行される場合がある動作2100の一例を示す。たとえば、図21の動作2100は、図1のトランスミッタ108、図2のエンコーダ202、図20の装置2000、または何らかの他の適切なエンティティによって実行することが可能である。
【００９２】
ブロック2102では、符号化インジケータシンボルが生成される。このシンボルは、データバスのパーティション化およびデータバスの様々に異なるパーティションに適用される符号化を示す。いくつかの態様では、符号化はデータバス反転を含んでもよい。いくつかの態様では、データバスは並列バスであってもよい。
【００９３】
いくつかの態様では、符号化インジケータシンボルはマルチレベル信号であってもよい。この場合、マルチレベル信号の各レベルは、データバスの各パーティションについて、パーティションに符号化が適用されるかどうかを示す少なくとも2ビットの情報を表してもよい。いくつかの態様では、マルチレベル信号は、複数の電圧レベル、複数の電流レベル、または複数の位相のうちの少なくとも1つによって定義されてもよい。
【００９４】
ブロック2104では、符号化インジケータシンボルが送信される。たとえば、符号化デバイスは符号化インジケータシンボルを復号デバイスに送信してもよい。いくつかの態様では、符号化インジケータシンボルの送信は、専用バスラインを介して符号化インジケータシンボルを送信することを含んでもよい。
【００９５】
図22は、データを選択的に符号化し、対応する符号化インジケータシンボルを生成することに関連して実行される場合がある追加の動作2200の一例を示す。たとえば、図22の動作2200は、図1のトランスミッタ108、図2のエンコーダ202、図20の装置2000、または何らかの他の適切なエンティティによって実行することが可能である。
【００９６】
任意のブロック2202では、データバス上で使用すべきデータパーティション化が選択されてもよい。これらの動作は、たとえば、図3のブロック302に関連して上記において説明した対応する動作に相当してもよい。いくつかの態様では、ブロック2202の動作は、パーティションを介したデータの送信に伴う電力消費量が最低になるかまたはパーティションを介したデータの送信に伴う干渉が最低になるデータバスのパーティション化を選択することを含んでもよい。
【００９７】
任意のブロック2204では、バスパーティションを介して送信されるデータに適用すべき符号化のタイプが選択されてもよい。これらの動作は、たとえば、図3のブロック302に関連して上記において説明した対応する動作に相当してもよい。いくつかの態様では、ブロック2202の動作は、パーティションを介したデータの送信に伴う電力消費量が最低になるかまたはパーティションを介したデータの送信に伴う干渉が最低になる様々に異なるパーティションに適用すべき符号化のタイプを選択することを含んでもよい。
【００９８】
ブロック2206において、1つまたは複数のデータバスパーティションを介して送信すべきデータの1つまたは複数のサブセットを符号化すべきかどうかに関して判定が下される。たとえば、データバスの各パーティションについて、パーティションを介して送信すべきデータのサブセットを符号化すべきかどうかに関して判定が下されてもよい。いくつかの態様では、データのサブセットを符号化すべきかどうかの判定は、データのサブセットを符号化した場合にデータのサブセットの送信に伴う電力消費量が低減するかどうかまたはデータのサブセットの送信に伴う干渉が低減するかどうかを判定することを含んでもよい。
【００９９】
ブロック2208において、ブロック2206において符号化の必要ありと特定されたサブセットのうちの任意のサブセットに符号化が適用される。ブロック2206において符号化の必要ありと特定されなかったデータについてはどのサブセットも符号化されない。
【０１００】
ブロック2210において、符号化インジケータシンボルが生成される。これらの動作は、いくつかの態様では、上述のブロック2102の動作に相当する。いくつかの態様では、符号化インジケータシンボルを生成することは、データの対応するサブセットが符号化される任意のパーティションを示す値を選択することを含んでもよい。
【０１０１】
ブロック2212において、データバスパーティションを介してデータが送信される。いくつかの実装形態では、このことは、バスサイクル中にデータバスを介してデータビットの並列セットを送信することを含んでもよい。
【０１０２】
ブロック2214において、符号化インジケータシンボルが送信される。これらの動作は、いくつかの態様では、上述のブロック2104の動作に相当する。ブロック2212がバスサイクル中にデータバスを介してデータビットの並列セットを送信することを含む実装形態では、ブロック2214の動作は、バスサイクル中に単一の信号ピンを介して符号化インジケータシンボルを送信することを含んでもよい。
【０１０３】
図23を参照すると、本開示の少なくとも1つの例による、図1における第1または第2の電子デバイス102または104などの、装置2300の選択構成要素を示すブロック図が示されている。装置2300のレシーバ2302は、データバス2306の複数のチャネルを介して送信された符号化されたデータビットを受信するように適合されたデコーダ2304を含む。
【０１０４】
デコーダ2304は一般に、関連する符号化インジケータシンボルに基づいてデータを復号するように適合された回路および/またはプログラミングを含む。すなわち、デコーダは、エンコーダ2004などのエンコーダによって実行される符号化および上述の符号化方式のいずれかを取り消すように適合される。少なくとも1つの例によれば、デコーダ2304は、データバスインターフェース2308によってデータバス2306の複数のデータチャネルに結合されてもよく、データバスインターフェース2308および記憶媒体2312と電気的に通信するように結合または配置された処理回路2310を含んでもよい。データバスインターフェース2308は、たとえば、信号ドライバ回路、信号レシーバ回路、増幅器、信号フィルタ、信号バッファ、またはシグナリングバスもしくは他のタイプのシグナリング媒体とのインターフェースをとるのに使用される他の回路を含んでもよい。
【０１０５】
処理回路2310は、データの取得、処理、および/または送信を行い、データのアクセスおよび記憶を制御し、コマンドを発行し、他の所望の動作を制御するように構成される。処理回路2310は、所望の機能を実行しおよび/または適切な媒体によって供給される所望のプログラミングを実装するように構成された回路を含んでもよい。処理回路2310は、上述の処理回路2010の例のうちのいずれかに従って実装されならびに/あるいは構成されてもよい。
【０１０６】
処理回路2310は、復号のためのモジュール2316とデータが符号化されているかどうかを判定するためのモジュール2318とを含んでもよい。復号のためのモジュール2316は、(たとえば、様々に異なるバスパーティションに関連する)データビットの1つまたは複数のグループを収集し、データビットを評価して、定義済みの公式に従ってデータビットのうちの少なくともいくつかに関する新しい値を求め、データビットのうちの少なくともいくつかを新しい値で置き換え、得られたデータビットを出力するように適合された回路および/またはプログラミング(たとえば、記憶媒体2312上に記憶された、復号のためのモジュール2320)を含んでもよい。さらに、データが符号化されているかどうかを判定するためのモジュール2318は、(たとえば、様々に異なるバスパーティションに関連する)符号化インジケータシンボルを収集し、符号化インジケータシンボルを評価して、1つまたは複数のビットが符号化されているかどうかを判定し、その評価の表示を生成するように適合された回路および/またはプログラミング(たとえば、記憶媒体2312上に記憶された、データが符号化されているかどうかを判定するためのモジュール2322)を含んでもよい。
【０１０７】
記憶媒体2312は、プロセッサが実行可能なコードもしくは命令(たとえば、ソフトウェア、ファームウェア)などのプログラミング、電子的なデータ、データベース、またはその他のデジタル情報を記憶するための、1つまたは複数のプロセッサ可読デバイスを表す場合がある。記憶媒体2312は、上述の記憶媒体2012と同様に構成されならびに/あるいは実装されてもよい。
【０１０８】
記憶媒体2312は、処理回路2310がその記憶媒体2312から情報を読み取り、その記憶媒体に情報を書き込むことができるように処理回路2310に結合されてもよい。すなわち、記憶媒体2312が少なくとも処理回路2310によってアクセス可能であるように、記憶媒体2312が、処理回路2310に結合されてよく、記憶媒体2312が処理回路2310と一体である例、および/または記憶媒体2312が処理回路2310と分離している例を含む。
【０１０９】
記憶媒体2012と同様に、記憶媒体2312は、そこに記憶されたプログラミングを含む。記憶媒体2312によって記憶されているプログラミングは、処理回路2314によって実行されると、処理回路2314に、本明細書で説明する様々な復号機能および/または処理ステップのうちの1つまたは複数を実施させる。たとえば、記憶媒体2312は、復号のためのモジュール(たとえば、動作)2320とデータが符号化されているかどうかを判定するためのモジュール2322とを含んでもよい。したがって、本開示の1つまたは複数の態様によれば、処理回路2310は、本明細書において説明する電子デバイス(たとえば、電子デバイス102または104)のいずれかもしくは全部に対する復号プロセス、機能、ステップ、および/またはルーチンのうちのいずれかあるいは全部を(記憶媒体2312と連携して)行うように適合される。処理回路2310に関係して本明細書で使用する「適合される」という用語は、処理回路2310が、(記憶媒体2312と連携して)本明細書に記載する様々な特徴による特定のプロセス、機能、ステップおよび/またはルーチンを実行するように構成されること、使用されること、実装されること、および/またはプログラムされることのうちの1つまたは複数を行うことを指す場合がある。
【０１１０】
図24は、関連する符号化インジケータシンボルに従ってデータを復号することに関連して実行される場合がある動作2400の一例を示す。したがって、これらの動作は、図21および図22において送信されるデータおよび符号化インジケータシンボルを受信する装置に相当してもよい。図24の動作2400は、図1のレシーバ112、図2のデコーダ204、図23の装置2300、または何らかの他の適切なエンティティによって実行することが可能である。
【０１１１】
ブロック2402において、データバスを介してデータが受信される。いくつかの態様では、データバスは並列バスである。いくつかの態様では、データの受信は、バスサイクル中にデータバスを介してデータビットの並列セットを受信することを含んでもよい。
【０１１２】
ブロック2404において、符号化インジケータシンボルが受信される。このシンボルは、データバスのパーティション化およびデータバスの様々に異なるパーティションに適用される符号化を示す。いくつかの態様では、符号化インジケータシンボルの受信は、専用バスラインを介して符号化インジケータシンボルを受信することを含む。ブロック2402におけるデータの受信が、バスサイクル中にデータバスを介してデータビットの並列セットを受信することを含む実装形態では、ブロック2404の動作は、バスサイクル中に単一の信号ピンを介して符号化インジケータシンボルを受信することを含んでもよい。いくつかの態様では、符号化はデータバス反転を含んでもよい。
【０１１３】
いくつかの態様では、符号化インジケータシンボルはマルチレベル信号であってもよい。この場合、マルチレベル信号の各レベルは、データバスの各パーティションについて、パーティションに符号化が適用されるかどうかを示す少なくとも2ビットの情報を表してもよい。いくつかの態様では、マルチレベル信号は、複数の電圧レベル、複数の電流レベル、または複数の位相のうちの少なくとも1つによって定義されてもよい。
【０１１４】
ブロック2406において、ブロック2402において受信されたデータはブロック2404において受信された符号化インジケータシンボルに基づいて復号される。たとえば、データが符号化されていることを符号化インジケータシンボルが示す場合にデータが復号される。
【０１１５】
図25は、関連する符号化インジケータシンボルに従ってデータを復号することに関連して実行される場合がある追加の動作2500の一例を示す。この場合も、これらの動作は、図21および図22において送信されるデータおよび符号化インジケータシンボルを受信する装置に相当してもよい。図25の動作2500は、図1のレシーバ112、図2のデコーダ204、図23の装置2300、または何らかの他の適切なエンティティによって実行することが可能である。
【０１１６】
ブロック2502において、パーティション化されたデータバスを介してデータが受信される。これらの動作は、いくつかの態様において上述のブロック2402の動作に相当する。上記に指摘したように、データバスは並列バスであってもよい。
【０１１７】
ブロック2504において、符号化インジケータシンボルが受信される。このシンボルは、データバスのパーティション化およびデータバスの様々に異なるパーティションに適用される符号化を示す。これらの動作は、いくつかの態様において、上述のブロック2404の動作に相当する。
【０１１８】
ブロック2506において、データバスの各パーティションについて、パーティションを介して受信されたデータのサブセットが符号化されているかどうかに関する判定が下される。本明細書において説明するように、この判定は符号化インジケータシンボルに基づいてもよい。
【０１１９】
ブロック2508において、データバスの各パーティションについて、ブロック2506の対応する判定に応じてデータのサブセットが復号される。たとえば、データのサブセットが符号化されていることを符号化インジケータシンボルが示す場合にデータのサブセットが復号される。
【０１２０】
当業者には、データビットのグループの復号が、データビットの元のグループが符号化された手法に依存することが認識されよう。一般に、復号動作では、符号化動作に対して逆の(または相補的な)動作が実行されてもよい。
【０１２１】
図面に示す構成要素、ステップ、特徴および/または機能のうちの1つまたは複数は、単一の構成要素、ステップ、特徴、または機能に再構成および/または結合されてよく、あるいは、いくつかの構成要素、ステップまたは機能に組み込まれてもよい。また、本明細書で開示する新規の特徴から逸脱することなく追加の要素、構成要素、ステップ、および/または機能が、同様に追加され得る。図に示される装置、デバイス、および/または構成要素は、本明細書で説明する方法、特徴、またはステップのうちの1つまたは複数を実行するように構成されてもよい。本明細書に記載の新規なアルゴリズムも、効率的にソフトウェアに実装されてもよく、および/またはハードウェアに埋め込まれてもよい。
【０１２２】
開示された方法におけるステップの具体的な順序または階層は例示的なプロセスの例示であることを理解されたい。設計の選好に基づいて、方法におけるステップの具体的な順序または階層は再構成可能であることを理解されたい。添付の方法クレームは、種々のステップの要素を例示的な順序で提示したものであり、クレーム内で具体的に列挙されない限り、提示された具体的な順序または階層に限定されることを意図するものではない。また、本開示から逸脱することなく追加の要素、構成要素、ステップ、および/または機能が追加されるか、または利用されないことがある。
【０１２３】
本開示の特徴について、いくつかの実装形態および図面に関して説明したが、本開示のすべての実装形態は、本明細書で説明する有利な特徴のうちの1つまたは複数を含むことが可能である。言い換えれば、1つまたは複数の実装形態について特定の有利な特徴を有するものとして説明したが、そのような特徴のうちの1つまたは複数も、本明細書で説明した様々な実装形態のいずれかに従って使用されてもよい。同様に、例示的な実装形態について、デバイス実装形態、システム実装形態、または方法実装形態として本明細書において説明したが、そのような例示的な実装形態を様々なデバイス、システム、および方法において実施できることを理解されたい。
【０１２４】
また、少なくともいくつかの実装形態について、流れ図、フローチャート、構造図、またはブロック図として表されるプロセスとして説明したことに留意されたい。フローチャートは動作を逐次プロセスとして説明する場合があるが、動作の多くを並列にまたは同時に実行することができる。さらに、動作の順序は、並べ替えられてもよい。プロセスは、その動作が完了したときに終了する。プロセスは、方法、機能、手順、サブルーチン、サブプログラムなどに対応してもよい。プロセスが関数に相当するとき、その終了は、呼出し関数または主関数への関数へ戻ることに相当する。本明細書で説明する様々な方法は、機械可読媒体、コンピュータ可読媒体、および/またはプロセッサ可読記憶媒体に記憶され、1つまたは複数のプロセッサ、機械、および/またはデバイスによって実行されてもよいプログラミング(たとえば命令および/またはデータ)によって、部分的にまたは完全に実装されてもよい。
【０１２５】
さらに、本明細書で開示する実装形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組合せとして実装されてもよいことが当業者には諒解されよう。この互換性を明確に示すために、種々の例示的な構成要素、ブロック、モジュール、回路、およびステップについて、全般的にそれらの機能に関して上記で説明した。そのような機能がハードウェアとして実現されるかソフトウェアとして実現されるかは、特定の適用例およびシステム全体に課される設計制約に応じて決まる。
【０１２６】
本開示では、「例示的」という言葉は、「例、事例、または例示の働きをすること」を意味するために使用される。「例示的」として本明細書で説明した任意の実装態様または様態は、必ずしも本開示の他の態様よりも好ましいまたは有利であると解釈されるべきではない。同様に、「態様」という用語は、本開示のすべての態様が、論じた特徴、利点、または動作のモードを含むことを必要としない。「結合された」という用語は、本明細書において、2つの物体間の直接的または間接的な結合を指すために使用される。たとえば、物体Aが物体Bに物理的に接触し、物体Bが物体Cに接触する場合、物体Aと物体Cとは、互いに物理的に直接接触していなくても、それでも互いに結合するものと見なされてもよい。たとえば、第1のダイがパッケージ内の第2のダイに物理的に直接接触していなくても、第1のダイは、第2のダイに結合されている可能性がある。「回路(circuit)」および「回路(circuitry)」は、広く使用され、電子回路のタイプを限定せずに、接続され、構成されるとき、本開示で説明した機能の性能を有効化する電気デバイスおよび導体のハードウェア実装形態、ならびにプロセッサによって実行されるとき、本開示で説明した機能の性能を有効化する情報および命令のソフトウェア実装形態の両方を含むことが意図される。
【０１２７】
本明細書で使用される場合、「判定する、決定する」という用語は、多種多様なアクションを包含する。たとえば、「判定する、決定する」ことは、計算すること、処理すること、導出すること、調査すること、ルックアップすること(たとえば、テーブル、データベース、または別のデータ構造をルックアップすること)、確認することなどを含んでもよい。さらに、「判定する、決定する」ことは、受信すること(たとえば、情報を受信すること)、アクセスすること(たとえば、メモリ内のデータにアクセスすること)などを含んでもよい。さらに、「判定する、決定する」ことは、解決すること、選択すること、選ぶこと、確立することなど含んでもよい。
【０１２８】
上記の説明は、本明細書において説明される種々の態様を当業者が実施できるようにするために与えられる。これらの態様に対する種々の変更形態は、当業者に容易に明らかになり、本明細書において規定される一般原理は、他の態様に適用することができる。したがって、特許請求の範囲は本明細書において示される態様に限定されることを意図するものではなく、特許請求の範囲の文言と整合するすべての範囲を許容するように意図されており、単数の要素への言及は、「唯一の」と明記されていない限り、「唯一の」ではなく、「1つまたは複数の」を意味することを意図している。特に別段の定めがない限り、「いくつか(some)」という用語は、1つまたは複数を指す。項目のリスト「のうちの少なくとも1つ」について言及する句は、単一のメンバーを含むこれらの項目の任意の組合せを指す。一例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、aおよびb、aおよびc、bおよびc、ならびにa、bおよびcを含むことが意図される。当業者に知られているまたは後で当業者に知られることになる、本開示全体にわたって説明する様々な態様の要素の構造的および機能的なすべての均等物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されることが意図される。さらに、本明細書に開示されたものは、そのような開示が特許請求の範囲において明示的に列挙されているか否かにかかわらず、公共用に提供されることは意図していない。請求項のいかなる要素も、「のための手段」という句を使用して要素が明確に記載されていない限り、または方法クレームの場合に「のためのステップ」という句を使用して要素が記載されていない限り、米国特許法第112条第6項の規定に基づいて解釈されるべきではない。
【０１２９】
本明細書で説明し、添付の図面に示す例に関連する様々な特徴は、本開示の範囲から逸脱することなく、様々に異なる例および実装形態に実装されてもよい。したがって、いくつかの特定の構成および配置について説明し、添付の図面において図示したが、前述の実装形態への種々の他の追加および変更、ならびに実装形態からの削除が当業者には明らかであるので、そのような実装形態は例示にすぎず、本開示の範囲を制限するものではない。したがって、本開示の範囲は、以下の特許請求の範囲の文言、および法的均等物によってのみ決定される。
【符号の説明】
【０１３０】
100  システム
102  第1の電子デバイス
104  第2の電子デバイス
106  並列データバス
108  トランスミッタ
110  エンコーダ
112  レシーバ
114  デコーダ
116  トランスミッタ
118  レシーバ
120  チャネル
122  制御チャネル
202  エンコーダ
204  デコーダ
206  入力データバス
208  第1のパーティション
210  第2のパーティション
212  選択的符号化
220  表示
222  表示
224  符号化インジケータジェネレータ
226  ビット線
228  符号化インジケータ処理
230  表示
232  表示
234  パーティションA選択的復号
236  パーティションB選択的復号
502  データバス
602  符号化されたデータ
702  符号化されたデータ
1002  電圧ドライバ
1004  入力制御信号
1006  出力
1102  電流ドライバ
1104  スイッチ
1202  電流レベル
1302  DBI値
1402  位相シフタ
1404  入力制御信号
1406  出力
1502  位相および振幅シフタ
1504  入力制御信号
1506  出力
1602  トランスミッタ
1604  レシーバ
1606  入力データバス
1608  選択的エンコーダ
1610  データバス
1612  選択的デコーダ
1614  出力データバス
1616  パーティション化セレクタ
1620  データ線
1622  通信構成要素
1624  信号経路
1626  通信構成要素
1628  信号経路
1702  トランスミッタ
1704  レシーバ
1706  入力データバス
1708  選択的エンコーダ
1710  データバス
1712  選択的デコーダ
1714  出力データバス
1716  符号化セレクタ
1720  データ線
1722  通信構成要素
1724  信号経路
1726  通信構成要素
1728  信号経路
1802  プリント回路板
1804  ワイヤ
1806  第1のパッド
1808  第2のパッド
1810  第1の集積回路
1812  第2の集積回路
1902  集積回路ダイ
1904  データバスワイヤ
1906  第1の配線
1908  第2の配線
1910  第1の回路
1912  第2の回路
2000  装置
2002  トランスミッタ
2004  エンコーダ
2006  データバス
2008  データバスインターフェース
2010  処理回路
2012  記憶媒体
2014  符号化インジケータシンボルを生成するためのモジュール
2016  符号化を行うべきかどうかを判定するためのモジュール
2018  符号化のためのモジュール
2020  パーティション化を選択するためのモジュール
2022  符号化タイプを選択するためのモジュール
2024  符号化インジケータシンボルを生成するためのモジュール
2026  符号化を行うべきかどうかを判定するためのモジュール
2028  符号化のためのモジュール
2030  パーティション化を選択するためのモジュール
2032  符号化タイプを選択するためのモジュール
2100  動作
2200  動作
2300  装置
2302  レシーバ
2304  デコーダ
2306  データバス
2308  データバスインターフェース
2310  処理回路
2312  記憶媒体
2314  処理回路
2316  復号のためのモジュール
2318  データが符号化されているかどうかを判定するためのモジュール
2320  復号のためのモジュール
2322  データが符号化されているかどうかを判定するためのモジュール
2400  動作
2500  動作
【図１】
2017514191.tif 000003
【図２】
2017514191.tif 000004
【図３】
2017514191.tif 000005
【図４】
2017514191.tif 000006
【図５】
2017514191.tif 000007
【図６】
2017514191.tif 000008
【図７】
2017514191.tif 000009
【図８】
2017514191.tif 000010
【図９】
2017514191.tif 000011
【図１０】
2017514191.tif 000012
【図１１】
2017514191.tif 000013
【図１２】
2017514191.tif 000014
【図１３】
2017514191.tif 000015
【図１４】
2017514191.tif 000016
【図１５】
2017514191.tif 000017
【図１６】
2017514191.tif 000018
【図１７】
2017514191.tif 000019
【図１８】
2017514191.tif 000020
【図１９】
2017514191.tif 000021
【図２０】
2017514191.tif 000022
【図２１】
2017514191.tif 000023
【図２２】
2017514191.tif 000024
【図２３】
2017514191.tif 000025
【図２４】
2017514191.tif 000026
【図２５】
2017514191.tif 000027
【手続補正書】
【提出日】平成28年8月3日(2016.8.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信のための装置であって、
データバスのパーティション化および前記データバスの異なるパーティションに適用される符号化を示す符号化インジケータシンボルを生成するように構成された処理回路であって、前記符号化インジケータシンボルはマルチレベル信号であり、前記マルチレベル信号の各レベルは、前記データバスの各パーティションについて、前記パーティションに符号化が適用されるかどうかを示す少なくとも2ビットの情報を表す処理回路と、
前記処理回路に結合され、前記符号化インジケータシンボルを送信するように構成されたバスインターフェースとを備える装置。
【請求項２】
前記符号化はデータバス反転を含む、請求項1に記載の装置。
【請求項３】
前記マルチレベル信号は、複数の電圧レベル、複数の電流レベル、または複数の位相のうちの少なくとも1つによって定義される、請求項1に記載の装置。
【請求項４】
前記データバスは並列バスであり、
前記バスインターフェースは、専用バスラインを介して前記符号化インジケータシンボルを送信するように構成される、請求項1に記載の装置。
【請求項５】
前記バスインターフェースは、バスサイクル中に前記データバスを介してデータビットの並列セットを送信するようにさらに構成され、
前記バスインターフェースは、前記バスサイクル中に単一の信号ピンを介して前記符号化インジケータシンボルを送信するように構成される、請求項1に記載の装置。
【請求項６】
前記処理回路は、前記データバスの各パーティションについて、前記パーティションを介して送信すべきデータのサブセットを符号化すべきかどうかを判定するようにさらに構成され、
前記処理回路は、データの対応するサブセットが符号化されている任意のパーティションを示す値を選択することによって前記符号化インジケータシンボルを生成するように構成される、請求項1に記載の装置。
【請求項７】
データのサブセットを符号化すべきかどうかの前記判定は、
データの前記サブセットを符号化することによってデータの前記サブセットの送信に伴う電力消費量が低減するかどうかまたはデータの前記サブセットの送信に伴う干渉が低減するかどうかを判定することを含む、請求項6に記載の装置。
【請求項８】
前記処理回路は、前記パーティションを介したデータの送信に伴う電力消費量が最低になるかまたは前記パーティションを介したデータの送信に伴う干渉が最低になる前記データバスのパーティション化を選択するようにさらに構成される、請求項1に記載の装置。
【請求項９】
前記処理回路は、前記パーティションを介したデータの送信に伴う電力消費量が最低になるかまたは前記パーティションを介したデータの送信に伴う干渉が最低になる前記異なるパーティションに適用すべき符号化のタイプを選択するようにさらに構成される、請求項1に記載の装置。
【請求項１０】
データバスに結合された送信デバイスにおいて実行される通信の方法であって、
前記データバスのパーティション化および前記データバスの異なるパーティションに適用される符号化を示す符号化インジケータシンボルを生成するステップであって、前記符号化インジケータシンボルはマルチレベル信号であり、前記マルチレベル信号の各レベルは、前記データバスの各パーティションについて、前記パーティションに符号化が適用されるかどうかを示す少なくとも2ビットの情報を表すステップと、
バスインターフェース回路を介して前記符号化インジケータシンボルを送信するステップとを含む方法。
【請求項１１】
前記符号化はデータバス反転を含む、請求項10に記載の方法。
【請求項１２】
前記マルチレベル信号は、複数の電圧レベル、複数の電流レベル、または複数の位相のうちの少なくとも1つによって定義される、請求項10に記載の方法。
【請求項１３】
前記データバスは並列バスであり、
前記符号化インジケータシンボルを送信する前記ステップは、専用バスラインを介して前記符号化インジケータシンボルを送信するステップを含む、請求項10に記載の方法。
【請求項１４】
バスサイクル中に前記データバスを介してデータビットの並列セットを送信するステップをさらに含み、
前記符号化インジケータシンボルを送信する前記ステップは、前記バスサイクル中に単一の信号ピンを介して前記符号化インジケータシンボルを送信するステップを含む、請求項10に記載の方法。
【請求項１５】
前記データバスの各パーティションについて、前記パーティションを介して送信すべきデータのサブセットを符号化すべきかどうかを判定するステップをさらに含み、
前記符号化インジケータシンボルを生成する前記ステップは、データの対応するサブセットが符号化されている任意のパーティションを示す値を選択することを含む、請求項10に記載の方法。
【請求項１６】
データのサブセットを符号化すべきかどうかの前記判定は、
データの前記サブセットを符号化することによってデータの前記サブセットの送信に伴う電力消費量が低減するかどうかまたはデータの前記サブセットの送信に伴う干渉が低減するかどうかを判定するステップを含む、請求項15に記載の方法。
【請求項１７】
前記パーティションを介したデータの送信に伴う電力消費量が最低になるかまたは前記パーティションを介したデータの送信に伴う干渉が最低になる前記データバスのパーティション化を選択するステップをさらに含む、請求項10に記載の方法。
【請求項１８】
前記パーティションを介したデータの送信に伴う電力消費量が最低になるかまたは前記パーティションを介したデータの送信に伴う干渉が最低になる前記異なるパーティションに適用すべき符号化のタイプを選択するステップをさらに含む、請求項10に記載の方法。
【請求項１９】
通信のための装置であって、
データバスを介してデータを受信し、前記データバスのパーティション化および前記データバスの異なるパーティションに適用される符号化を示す符号化インジケータシンボルを受信するように構成されたバスインターフェースであって、前記符号化インジケータシンボルはマルチレベル信号であり、前記マルチレベル信号の各レベルは、前記データバスの各パーティションについて、前記パーティションに符号化が適用されるかどうかを示す少なくとも2ビットの情報を表すバスインターフェースと、
前記バスインターフェースに結合され、前記符号化インジケータシンボルに基づいて前記受信されたデータを復号するように構成された処理回路とを備える装置。
【請求項２０】
前記符号化はデータバス反転を含む、請求項19に記載の装置。
【請求項２１】
前記マルチレベル信号は、複数の電圧レベル、複数の電流レベル、または複数の位相のうちの少なくとも1つによって定義される、請求項19に記載の装置。
【請求項２２】
前記データバスは並列バスであり、
前記バスインターフェースは、専用バスラインから前記符号化インジケータシンボルを受信するように構成される、請求項19に記載の装置。
【請求項２３】
前記バスインターフェースは、バスサイクル中に前記データバスを介してデータビットの並列セットを受信するように構成され、
前記バスインターフェースは、前記バスサイクル中に単一の信号ピンを介して前記符号化インジケータシンボルを受信するように構成される、請求項19に記載の装置。
【請求項２４】
前記処理回路は、前記データバスの各パーティションについて、
前記符号化インジケータシンボルに基づいて、前記パーティションを介して受信されたデータのサブセットが符号化されているかどうかを判定し、
データの前記サブセットが符号化されていることを前記符号化インジケータシンボルが示す場合にデータの前記サブセットを復号するようにさらに構成される、請求項19に記載の装置。
【請求項２５】
データバスに結合された受信デバイスにおいて実行される通信の方法であって、
バスインターフェース回路を介して前記データバスからデータを受信するステップと、
前記データバスのパーティション化および前記データバスの異なるパーティションに適用される符号化を示す符号化インジケータシンボルを受信するステップであって、前記符号化インジケータシンボルはマルチレベル信号であり、前記マルチレベル信号の各レベルは、前記データバスの各パーティションについて、前記パーティションに符号化が適用されるかどうかを示す少なくとも2ビットの情報を表すステップと、
前記符号化インジケータシンボルに基づいて前記受信されたデータを復号するステップとを含む方法。
【請求項２６】
前記データバスは並列バスであり、
前記符号化インジケータシンボルを受信する前記ステップは、専用バスラインから前記符号化インジケータシンボルを受信するステップを含む、請求項25に記載の方法。
【請求項２７】
前記データバスの各パーティションについて、
前記符号化インジケータシンボルに基づいて、前記パーティションを介して受信されたデータのサブセットが符号化されているかどうかを判定するステップと、
データの前記サブセットが符号化されていることを前記符号化インジケータシンボルが示す場合にデータの前記サブセットを復号するステップとをさらに含む、請求項25に記載の方法。
【国際調査報告】
2017514191.tif 000028
2017514191.tif 000029