(57)【要約】  データ伝送のための方法について説明する。電子デバイスの動作のシグナリング速度を判定する。動作のシグナリング速度に基づいてデータバス反転アルゴリズムを選択する。データを符号化するのに選択されたデータバス反転アルゴリズムを使用する。符号化されたデータおよびデータバス反転フラグを伝送媒体を介して受信器に送る。
2016514441.tif 000002
【特許請求の範囲】
【請求項１】
電子デバイスの動作のシグナリング速度を判定するステップと、
動作の前記シグナリング速度に基づいてデータバス反転アルゴリズムを選択するステップと、
データを符号化するのに前記選択されたデータバス反転アルゴリズムを使用するステップと、
前記符号化されたデータおよびデータバス反転フラグを伝送線を介して受信器に送るステップと
を含む、データ伝送のための方法。
【請求項２】
前記選択されたデータバス反転アルゴリズムは、DBI-ACアルゴリズムおよびDBI-DCアルゴリズムのうちの1つである、請求項1に記載の方法。
【請求項３】
前記選択されたデータバス反転アルゴリズムは、動作の前記シグナリング速度が低速モードである時にはDBI-ACである、請求項2に記載の方法。
【請求項４】
前記選択されたデータバス反転アルゴリズムは、動作の前記シグナリング速度が高速モードである時にはDBI-DCである、請求項2に記載の方法。
【請求項５】
動作の前記シグナリング速度は、専用信号によって符号器に通信される、請求項1に記載の方法。
【請求項６】
前記専用信号は、コマンドアドレスバスを介して提供される、請求項5に記載の方法。
【請求項７】
前記専用信号は、既存のデータ信号線を使用して提供される、請求項5に記載の方法。
【請求項８】
動作の前記シグナリング速度は、符号器によって自律的に判定される、請求項1に記載の方法。
【請求項９】
前記選択されたデータバス反転アルゴリズムは、フィードバックを含まないトポロジを使用してデータを符号化するのに使用される、請求項1に記載の方法。
【請求項１０】
前記選択されたデータバス反転アルゴリズムは、フィードバックを含むトポロジを使用してデータを符号化するのに使用される、請求項1に記載の方法。
【請求項１１】
データバス反転アルゴリズム符号化は、動的使用不能化信号に基づいて自律的に使用不能にされる、請求項1に記載の方法。
【請求項１２】
前記選択されたデータバス反転アルゴリズムに基づいて終端制御信号を生成するステップと、
前記終端制御信号を前記受信器に送るステップと
をさらに含む、請求項1に記載の方法。
【請求項１３】
前記方法は、
アルゴリズム選択マルチプレクサと、
やがて現れるバーストの符号化されていない並列データと以前のバーストの並列データとを受け取るXORゲートと、
インバータと、
過半数検出回路と、
真/補数マルチプレクサと
を含むデータバス反転符号器によって実行される、請求項1に記載の方法。
【請求項１４】
前記データバス反転符号器は、周波数検出回路をさらに含み、前記選択されたデータバス反転アルゴリズムは、物理層クロック周波数と基準周波数との間の関係に基づく、請求項13に記載の方法。
【請求項１５】
プロセッサと、
前記プロセッサと電子通信しているメモリと、
電子デバイスの動作のシグナリング速度を判定し、
動作の前記シグナリング速度に基づいてデータバス反転アルゴリズムを選択し、
データを符号化するのに前記選択されたデータバス反転アルゴリズムを使用し、
前記符号化されたデータおよびデータバス反転フラグを伝送線を介して受信器に送る
ために前記プロセッサによって実行可能である、前記メモリ内に記憶された命令と
を含む、データ伝送のための装置。
【請求項１６】
前記選択されたデータバス反転アルゴリズムは、DBI-ACアルゴリズムおよびDBI-DCアルゴリズムのうちの1つである、請求項15に記載の装置。
【請求項１７】
前記選択されたデータバス反転アルゴリズムは、動作の前記シグナリング速度が低速モードである時にはDBI-ACである、請求項16に記載の装置。
【請求項１８】
前記選択されたデータバス反転アルゴリズムは、動作の前記シグナリング速度が高速モードである時にはDBI-DCである、請求項16に記載の装置。
【請求項１９】
動作の前記シグナリング速度は、専用信号によって符号器に通信される、請求項15に記載の装置。
【請求項２０】
前記専用信号は、コマンドアドレスバスを介して提供される、請求項19に記載の装置。
【請求項２１】
前記専用信号は、既存のデータ信号線を使用して提供される、請求項19に記載の装置。
【請求項２２】
動作の前記シグナリング速度は、符号器によって自律的に判定される、請求項15に記載の装置。
【請求項２３】
前記選択されたデータバス反転アルゴリズムは、フィードバックを含まないトポロジを使用してデータを符号化するのに使用される、請求項15に記載の装置。
【請求項２４】
前記選択されたデータバス反転アルゴリズムは、フィードバックを含むトポロジを使用してデータを符号化するのに使用される、請求項15に記載の装置。
【請求項２５】
データバス反転アルゴリズム符号化は、動的使用不能化信号に基づいて自律的に使用不能にされる、請求項15に記載の装置。
【請求項２６】
前記命令は、
前記選択されたデータバス反転アルゴリズムに基づいて終端制御信号を生成し、
前記終端制御信号を前記受信器に送る
ために前記プロセッサによってさらに実行可能である、請求項15に記載の装置。
【請求項２７】
アルゴリズム選択マルチプレクサと、
やがて現れるバーストの符号化されていない並列データと以前のバーストの並列データとを受け取るXORゲートと、
インバータと、
過半数検出回路と、
真/補数マルチプレクサと
を含むデータバス反転符号器をさらに含む、請求項15に記載の装置。
【請求項２８】
前記データバス反転符号器は、周波数検出回路をさらに含み、前記選択されたデータバス反転アルゴリズムは、物理層クロック周波数と基準周波数との間の関係に基づく、請求項27に記載の装置。
【請求項２９】
電子デバイスの動作のシグナリング速度を判定するための手段と、
動作の前記シグナリング速度に基づいてデータバス反転アルゴリズムを選択するための手段と、
データを符号化するのに前記選択されたデータバス反転アルゴリズムを使用するための手段と、
前記符号化されたデータおよびデータバス反転フラグを伝送線を介して受信器に送るための手段と
を含む、電子デバイス。
【請求項３０】
電子デバイスに、前記電子デバイスの動作のシグナリング速度を判定させるためのコードと、
前記電子デバイスに、動作の前記シグナリング速度に基づいてデータバス反転アルゴリズムを選択させるためのコードと、
前記電子デバイスに、データを符号化するのに前記選択されたデータバス反転アルゴリズムを使用させるためのコードと、
前記電子デバイスに、前記符号化されたデータおよびデータバス反転フラグを伝送線を介して受信器に送らせるコードと
を含む命令を記憶した非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、2013年3月15日に出願した米国特許仮出願第61/791865号、名称「FREQUENCY-DEPENDENT BUS INVERSION ENCODING」に関連し、その優先権を主張するものである。
【０００２】
本開示は、全般的には電子通信に関する。より具体的には、本開示は、動作の速度に基づくデータバス反転(DBI)符号化のためのシステムおよび方法に関する。
【背景技術】
【０００３】
信号および電力の完全性を高め、電力消費を減らすために、データバス反転(DBI)符号化を使用することができる。DBI符号化は、大量のデータをすばやく転送するために特に有用である可能性がある。たとえば、DBI符号化を使用して、パッケージオンパッケージ(POP)、マルチチップパッケージ(MCP)、またはさまざまな他のメモリインターフェース構成内の中央処理装置(CPU)とダイナミックランダムアクセスメモリ(DRAM)デバイスとの間の高速データ転送を容易にすることができる。DBI符号化は、Low Power Double Data Rate 4(LPDDR4)などのモバイルメモリ応用例で特に有用である可能性がある。
【０００４】
しかし、データの情況に基づいて異なるDBI符号化アルゴリズムの間で切り替えることによって、追加の利益を実現することができる。異なるDBI符号化アルゴリズムは、正しく使用される時には電力削減を、不正に使用される時には電力ペナルティをもたらす可能性がある。シグナリング速度に基づいてDBI符号化アルゴリズムを選択することによって、利益を実現することができる。
【発明の概要】
【課題を解決するための手段】
【０００５】
データ伝送のための方法について説明する。電子デバイスの動作のシグナリング速度を判定する。動作のシグナリング速度に基づいてデータバス反転アルゴリズムを選択する。データを符号化するのに選択されたデータバス反転アルゴリズムを使用する。符号化されたデータおよびデータバス反転フラグを伝送線を介して受信器に送る。
【０００６】
選択されたデータバス反転アルゴリズムは、DBI-ACアルゴリズムおよびDBI-DCアルゴリズムのうちの1つとすることができる。選択されたデータバス反転アルゴリズムは、動作のシグナリング速度が低速モードである時にはDBI-ACとすることができる。選択されたデータバス反転アルゴリズムは、動作のシグナリング速度が高速モードである時にはDBI-DCとすることができる。動作のシグナリング速度は、専用信号によって符号器に通信され得る。専用信号は、コマンドアドレスバスを介してまたは既存のデータ信号線を使用して提供され得る。
【０００７】
動作のシグナリング速度は、符号器によって自律的に判定され得る。選択されたデータバス反転アルゴリズムは、フィードバックを含まないトポロジを使用して、またはフィードバックを含むトポロジを使用してデータを符号化するのに使用され得る。データバス反転アルゴリズム符号化は、動的使用不能化信号に基づいて自律的に使用不能にされ得る。
【０００８】
終端制御信号は、選択されたデータバス反転アルゴリズムに基づいて生成され得る。終端制御信号は、受信器に送られ得る。方法は、アルゴリズム選択マルチプレクサと、やがて現れるバーストの符号化されていない並列データと以前のバーストの並列データとを受け取るXORゲートと、インバータと、過半数検出回路と、真/補数マルチプレクサとを含むデータバス反転符号器によって実行され得る。データバス反転符号器は、周波数検出回路をも含むことができる。選択されたデータバス反転アルゴリズムは、物理層クロック周波数と基準周波数との間の関係に基づくものとすることができる。
【０００９】
データ伝送の装置についても説明する。この装置は、プロセッサと、プロセッサと電子通信しているメモリと、メモリ内に記憶された命令とを含む。命令は、電子デバイスの動作のシグナリング速度を判定するためにプロセッサによって実行可能である。命令は、動作のシグナリング速度に基づいてデータバス反転アルゴリズムを選択するためにプロセッサによって実行可能でもある。命令は、データを符号化するのに選択されたデータバス反転アルゴリズムを使用するためにプロセッサによってさらに実行可能である。命令は、符号化されたデータおよびデータバス反転フラグを伝送線を介して受信器に送るためにプロセッサによって実行可能でもある。
【００１０】
電子デバイスについて説明する。電子デバイスは、電子デバイスの動作のシグナリング速度を判定するための手段を含む。電子デバイスは、動作のシグナリング速度に基づいてデータバス反転アルゴリズムを選択するための手段をも含む。電子デバイスは、データを符号化するのに選択されたデータバス反転アルゴリズムを使用するための手段をさらに含む。電子デバイスは、符号化されたデータおよびデータバス反転フラグを伝送線を介して受信器に送るための手段をも含む。
【００１１】
データ伝送のためのコンピュータプログラム製品についても説明する。コンピュータプログラム製品は、命令をその上に有する非一時的コンピュータ可読媒体を含む。命令は、電子デバイスに、電子デバイスの動作のシグナリング速度を判定させるためのコードを含む。命令は、電子デバイスに、動作のシグナリング速度に基づいてデータバス反転アルゴリズムを選択させるためのコードをも含む。命令は、電子デバイスに、データを符号化するのに選択されたデータバス反転アルゴリズムを使用させるためのコードをさらに含む。命令は、電子デバイスに、符号化されたデータおよびデータバス反転フラグを伝送線を介して受信器に送らせるコードをも含む。
【図面の簡単な説明】
【００１２】
【図１】データバス反転(DBI)符号化/復号回路を示すブロック図である。
【図２】データバス反転(DBI)符号化/復号を示すブロック図である。
【図３】動作のシグナリング速度に依存してDBIアルゴリズムを使用してデータを符号化するための方法を示す流れ図である。
【図４】高水準DBIアルゴリズム制御を示すブロック図である。
【図５】DBI符号器内のDBI選択回路の一例を示すブロック図である。
【図６】DBI符号器内のDBI選択回路のもう1つの例を示すブロック図である。
【図７】周波数検出回路を含むチャネル構成モジュールを示すブロック図である。
【図８】速度依存データバス反転(DBI)符号化を使用する電子デバイスのハードウェア実施態様の一部を示す図である。
【発明を実施するための形態】
【００１３】
図1は、本システムおよび本方法で使用するための電子デバイス102のブロック図である。電子デバイス102は、基地局、ワイヤレス通信デバイス、または電気を使用する他のデバイスとすることができる。電子デバイス102は、送信器104と受信器112との間でデータを伝送するのに使用される伝送線110(伝送媒体とも称する)を含むことができる。送信器104および受信器112を、異なる電子デバイス(図示せず)上に配置することもできる。伝送線110を介して伝送されるデータを符号化して、シングルエンデッドインターフェース内のシグナリング電力を減らすことができる。たとえば、伝送線110を介して伝送されるデータを、データバス反転(DBI)またはバス反転コーディング(bus-invert coding)を使用して符号化することができる。DBI符号化は、ある種のシグナリング特性を最大化または最小化するために伝送の前にデータビットを反転することができる技法である。DBI符号化は、コマンド、アドレス情報などを含む、任意の並列インターフェースのためのビット反転符号化を含むことができる。動作の速度(たとえば、使用されるデータレート)に基づいて、データを符号化するのに使用されるDBIアルゴリズムを調整することによって、電力節約または十分な信号完全性などの利益を達成することができる。
【００１４】
送信器104は、DBI符号器106を含むことができる。DBI符号器106は、DBIアルゴリズムを使用してデータを符号化することができる。符号化されたデータを、伝送線110を介して受信器112に送信することができる。受信器112は、DBI復号器114を使用して、符号化されたデータを復号することができる。1つの構成では、送信器104および受信器112を、単一のチップ上に配置することができる。もう1つの構成では、送信器104および受信器112のそれぞれを、電子デバイス102内の異なるチップ上に配置することができる。
【００１５】
電子デバイス102は、モードコントローラ118を含むことができる。モードコントローラ118を、送信器104および/もしくは受信器112と同一のチップ上または異なるチップ上に配置することができる。モードコントローラ118は、伝送線110上のデータを符号化するためにどのDBIアルゴリズム116を使用すべきかに関して送信器104に指示することができる。モードコントローラ118は、送信器104上のチャネル構成モジュール108と通信することができる。1つの構成では、チャネル構成モジュール108は、正しい符号化アルゴリズムを使用可能にするために、モードコントローラ118から指示を受け取ることができる。もう1つの構成では、チャネル構成モジュール108を、動作のモードを検出でき、モードコントローラ118からの外部指示なしで正しい符号化アルゴリズムをセットできるものとすることができる。チャネル構成モジュール108については、下で図4に関連してさらに詳細に議論する。
【００１６】
図2は、データバス反転(DBI)符号化/復号を示すブロック図である。上で議論したように、DBI符号化は、ある種のシグナリング特性を最大化または最小化するために伝送の前にデータビットを反転することができる技法である。DBI符号化は、コマンド、アドレス情報などを含む、任意の並列インターフェースのためのビット反転符号化を含むことができる。たとえば、DBI符号化を使用して、送信器204と受信器212との間で転送されるデータビットを反転することができる。DBI符号化は、しばしば、電力消費を減らし、信号および電力の完全性を改善するのに使用される。いくつかの構成では、送信器204と受信器212との両方を、同一の電子デバイス102上に配置することができる。送信器204は、短いチャネル長(たとえば、2〜3ミリメートル未満)を介してまたはより長い長さ(たとえば、数インチ)を介して受信器212に大量のデータを転送することができる。チャネル210は、パッケージ/プリント回路基板(PCB)伝送線110とすることができる。1つの構成では、チャネルを、ワイヤレスチャネル210とすることができる。一例として、チャネル210を、同軸ケーブル、シリコンインターポーザトレース、または任意の他のワイヤライン相互接続技術とすることができる。
【００１７】
送信器204は、DBI符号器206を含むことができる。DBI符号器206は、送信器204から受信器212に送信される信号にDBI符号化を適用することができる。DBI符号化アルゴリズムの例は、DBI-ACおよびDBI-DCを含む。DBI-ACは、インターフェースの幅にまたがって同時に遷移するデータビットの個数を制限するように設計されたアルゴリズムである。DBI-DCは、2つの2進レベルのうちの1つでの同時データビットの個数を制限するように設計されたアルゴリズムである。
【００１８】
DBIアルゴリズム216の選択は、シグナリング環境に依存するものとすることができる。DBI-ACアルゴリズムまたはDBI-DCアルゴリズムのいずれかを使用可能にする能力を有することが、有利である可能性がある。不正なDBIアルゴリズム216が選択される場合には、性能ペナルティをこうむる可能性がある。DBIアルゴリズム216を、モードコントローラ218(コアとも称する)によって選択することができる。モードコントローラ218は、選択されたDBIアルゴリズム216としてDBI-ACまたはDBI-DCのどちらを使用すべきかに関してDBI符号器206に指示することができる。
【００１９】
モードコントローラ218は、非対称負荷終端228を(終端制御信号226を介して)使用すべきかどうかに関して受信器212に指示することもできる。非対称負荷終端228を受信器212によって使用して、伝送線110上の反射を制限することができる。非対称終端されるチャネルへのDBI-DCの適用は、18%の電力削減をもたらすことができる(1バイトあたり1つのDBIフラグを仮定して)。しかし、終端されないチャネルがDBI-DCとともに使用される場合には、4%の電力ペナルティが発生する可能性がある。逆に、終端されないチャネルへのDBI-ACの適用は、16%の電力削減をもたらすことができる。しかし、非対称に終端されるチャネルがDBI-ACとともに使用される場合には、4%の電力ペナルティが発生する可能性がある。したがって、ほとんどの場合に、終端制御信号226を、使用されるDBIアルゴリズム216とともに調整することができる。チャネル210がハイ電圧レールとロウ電圧レールとの両方への対称接続を介して終端される構成がある。その場合には、DBI-ACアルゴリズムが、電力削減および雑音削減に関して最良の性能を提供することができる。
【００２０】
1つの構成では、モードコントローラ218は、送信器204内のチャネル構成モジュール108をオーバーライドする権限を有することができる。たとえば、モードコントローラ218は、リンクがすばやく切り替わろうとしており、負荷終端228が使用可能/使用不能になるのを待つ必要がないことが好ましいことの知識など、追加情報を有することができる。モードコントローラ218は、信号完全性の展望から、送信されるデータパターンがストレス性ではなく、その結果、データが、より高いレートで送信されつつある場合であっても、負荷終端228が必要ではない可能性が生じる(したがって、モードコントローラ218が、チャネル構成モジュール108によって行われる終端判断をオーバーライドすることができる)ことを知っている場合もある。
【００２１】
しかし、DBIアルゴリズム216と負荷終端228とシグナリング電力との間には明瞭な関係があるが、それでも、DBI-ACが終端されるチャネルに関連して使用される構成と、DBI-DCが終端されないチャネルに関連して使用される構成とがある可能性があることに留意することが重要である。たとえば、特定のチャネル環境の信号完全性が、漏話によって支配される場合には、遷移の回数を制限する符号化アルゴリズムが、対応する電力ペナルティにもかかわらず、よりよい選択である可能性がある。
【００２２】
送信器204は、DBIアルゴリズム符号化されたデータ222およびDBIフラグ224を、チャネル210を介し、ドライバ220を使用して受信器212に送信することができる。DBIフラグ224を、チャネル210を介してさまざまな形で送信することができる。たとえば、DBIフラグ224は、他のデータビットと同一の入出力回路を使用して、送信器204と受信器212との間で駆動されるものとすることができる。もう1つの例として、複数の順次サイクルに対応するDBIフラグ224を、蓄積し、対応するデータバーストの前または後に並列に送り、これによって、追加の回路または基板ルーティングを全く必要としない(追加の送信サイクルのみ)ものとすることができる。終端制御信号226を、チャネル210を介して受信器212に送信することもできる。受信器212は、DBIフラグ224を使用してDBIアルゴリズム符号化されたデータ222を復号するDBI復号器214を含むことができる。DBIフラグ224は、符号化に使用されるDBIアルゴリズム216を示すことができる(使用されるDBIアルゴリズム216が、バーストごとに変化する可能性があるので)が、これは、必ず必要なわけではない。DBIフラグ224が、使用されるDBIアルゴリズム216を示すために、送信器204は、追加の1ビットまたは2ビットの情報を受信器212に送信する必要がある(データバーストと並列にまたは追加の送信サイクル中にバーストの前/後にのいずれかで)。
【００２３】
着信する符号化されたデータを、補数値(すなわち、反転された並列符号化されたデータ)と一緒に真/補数乗算器に供給することができる。真/補数乗算器を、DBIフラグ224によって制御し、これによって、反転されたデータのすべてを反転解除することができる。復号処理は、使用されるDBIアルゴリズム216の間でDBIフラグ224が一貫している限り、符号化DBIアルゴリズム216と独立とすることができる。DBIフラグ224の極性が、DBIアルゴリズム216の間で異なることが有利である可能性がある。DBI復号器214は、符号化されていない並列データ230を出力することができる。
【００２４】
DBI-ACアルゴリズムまたはDBI-DCアルゴリズムのいずれかを使用可能にする能力を有することが有利である可能性がある1つの例が、low power double data rate(LPDDR4)メモリである。LPDDR4メモリでは、シグナリング動作の2つの主モードすなわち、高速および低速があると予想される。高速動作は、3.2ギガビット毎秒(Gb/s)を超えるデータレートで動作すると期待される。その結果、チップからチップへの伝送線110は、十分な信号完全性を保証するために、チャネル特性インピーダンスに負荷整合されて終端される必要がある可能性がある。言い換えると、高速モードでは、DBI-DCの使用(終端されたチャネルとともの)が、実質的な利益を提供する可能性がある。
【００２５】
低速動作は、0.2Gb/s付近のデータレートで動作すると期待される。より低い速度は、整合されたチャネル終端の使用不能化(すなわち、終端されないチャネルを用いる)を可能にし、これは、かなりの電力を節約する。その結果、低速モードでのDBI-ACアルゴリズムの適用は、実質的な利益を提供する可能性がある。
【００２６】
モードコントローラ218は、送信器204から受信器212への動作における変化(たとえば、速度、終端)を開始することができる。したがって、モードコントローラ218は、DBIアルゴリズム216を動的に選択するために、DBI符号器206と直接に通信することもできる。モードコントローラ218は、コマンドバスまたはある他の信号(たとえば、終端制御信号226)によって負荷終端228を使用可能/使用不能にするために、受信器212上のメモリと通信することもできる。いくつかの受信器212は、メモリ内に負荷終端228を記憶する可能性があり、他の受信器212は、負荷終端228を記憶するためのメモリを含まない。
【００２７】
図3は、動作のシグナリング速度に依存してDBIアルゴリズム116を使用してデータを符号化するための方法300の流れ図である。方法300を、電子デバイス102によって実行することができる。1つの構成では、方法300を、電子デバイス102上(たとえば、電子デバイス102上の送信器104内)のDBI符号器106によって実行することができる。電子デバイス102は、動作のシグナリング速度を判定する302ことができる。たとえば、電子デバイス102は、電子デバイス102が高速動作または低速動作のどちらを使用しつつあるのかを判定することができる。
【００２８】
1つの構成では、動作のシグナリング速度を、専用の信号によってDBI符号器106に通信することができる。専用の信号を、コマンドアドレスバスまたは既存のデータ信号線を介して供給することができる。DBI符号器106は、動作のシグナリング速度を自律的に判定する302こともできる。
【００２９】
電子デバイス102は、動作のシグナリング速度に基づいてDBIアルゴリズム116を選択する304ことができる。一例として、動作のシグナリング速度が高速である場合には、電子デバイス102は、DBIアルゴリズム116としてDBI-DCを選択する304ことができる。動作のシグナリング速度が低速である場合には、電子デバイス102は、DBIアルゴリズム116としてDBI-ACを選択する304ことができる。電子デバイス102は、データを符号化するのに、選択されたDBIアルゴリズム116を使用する306ことができる。電子デバイス102は、選択されたDBIアルゴリズム116に基づいて、終端制御信号226を判定する308こともできる。たとえば、終端制御信号226は、DBI-DCアルゴリズムが選択される場合には終端されたチャネルが使用されなければならず、DBI-ACアルゴリズムが選択される場合には終端されていないチャネルが使用されなければならないことを示すことができる。電子デバイス102は、DBIアルゴリズム符号化されたデータ222、終端制御信号226、およびDBIフラグ224を受信器212に送る310ことができる。上で議論したように、受信器212を、同一の電子デバイス102上または異なる電子デバイス(図示せず)上に配置することができる。
【００３０】
図4は、高水準DBIアルゴリズム制御を示すブロック図である。送信器104(電子デバイス102上の)は、チャネル構成モジュール408およびDBI符号器406を含むことができる。チャネル構成モジュール408は、コア(たとえば、モードコントローラ118)から指示を受け取ることができる。コアからの指示は、どのDBIアルゴリズム416を使用すべきかおよびチャネル終端を使用可能/使用不能にすべきかどうかに関してチャネル構成モジュール408に指示することができる。チャネル構成モジュール408は、選択されたDBIアルゴリズム416をDBI符号器406に供給することができる。DBI符号器406は、データイン432(符号化されていない)を受け取ることができる。DBI符号器406は、データアウト422(符号化された)およびDBIフラグ424を(選択されたDBIアルゴリズム416に従って)出力することができる。チャネル構成モジュール408は、終端制御信号426を出力することができる。
【００３１】
チャネル構成モジュール408は、物理層(PHY)クロック(入出力(I/O)アクティビティ(通常は入出力データレートの分数調波)を同期化するのに使用され得る)と基準クロック周波数との相対周波数に基づいて動作のモードを検出できるものとすることができる。基準クロック434の周波数は、データレートまたはPHYクロックとは独立でなければならない。チャネル構成モジュール408は、PHYクロックスヌープ信号線436を介してPHYクロックを受け取る周波数検出回路438を含むことができる。周波数検出回路438を、下で図7に関連してさらに詳細に議論する。チャネル構成モジュール408は、PHYクロックの周波数の検出に使用される基準クロック434信号をも受け取ることができる。
【００３２】
1つの構成では、チャネル構成モジュール408は、発振の既知の周波数を有する発振器440を含むことができる。チャネル構成モジュール408は、電子デバイス102の動作のモードを検出するのに発振器440を使用することができる。発振器440の周波数は、PHYクロックのデータレートと独立とすることができる。高速と低速との間の大きい差(たとえば、1桁)を有するシステムについて、発振器440および/または周波数検出方式の精度は、正確である必要がない可能性がある。複数の動作の速度を許容でき、かつ/または異なる動作モードの間の速度のステップがより漸進的である、他のシステムでは、全体的な周波数検出方式が、高められた精度から利益を得る可能性がある。
【００３３】
チャネル構成モジュール408は、使用すべき正しいDBI符号化アルゴリズム416をセットし、チャネル終端を使用可能/使用不能にする(すなわち、終端制御信号426を使用して)ための外部の指示なしで、それを行うことができる。
【００３４】
図5は、DBI符号器506内のDBI選択回路の一例を示すブロック図である。図示のメモリインターフェースは、一方向性である。しかし、DBI符号器506の多くの応用例は、両方向性である可能性がある。図5のDBI符号器506は、図1のDBI符号器106の1つの構成とすることができる。DBI符号器506は、並列データイン(符号化されていない)532を受け取ることができる。並列データイン(符号化されていない)532を、アルゴリズムマルチプレクサ540の第1の入力に供給することができる。アルゴリズムマルチプレクサ540を、どのDBIアルゴリズム116を適用すべきか(たとえば、シグナリング速度モードに基づいて)をDBI符号器506に示すアルゴリズム選択539信号によって制御することができる。並列データアウト(符号化された)522を、並列データイン(符号化されていない)532とともにXORゲート546に供給することができる。XORゲート546の出力を、アルゴリズムマルチプレクサ540の第2の入力に供給することができる。XORゲート546は、並列データの着信(次)サイクルを発信(最後の)サイクルからのフィードバックと比較する。
【００３５】
アルゴリズムマルチプレクサ540の出力を、過半数検出回路550に供給することができる。過半数検出回路550は、複数の入力の論理1または論理0の個数の間のアンバランスを示すように設計されている。DBI-DC動作中には、入力値は、次のサイクル中に送信される1または0の個数を表す。DBI-AC動作中には、入力値(XORゲート546動作に由来する)は、次のサイクル中の期待される遷移の回数を示す。DBI-ACのケースで、並列データビットの半分より多数が次のサイクル中に遷移する場合には、過半数検出回路550は、並列データイン(符号化されていない)532の反転された版(インバータ544を介して)を通過させるように真/補数マルチプレクサ542に示す(真/補数信号548を介して)ことができる。並列データビットの半分未満が次のサイクル中に遷移する場合には、過半数検出回路550は、反転なしで並列データイン(符号化されていない)532を通過させる(並列データアウト(符号化された)522として)ように真/補数マルチプレクサ542に示す(真/補数信号548を介して)ことができる。
【００３６】
過半数検出回路550は、DBIフラグ524を生成することもできる。1つの構成では、DBIフラグ524を、真/補数信号548と同一の信号とすることができる。DBIフラグ524を、追加のオフチップドライバに送ることができる。
【００３７】
メモリインターフェースでは、データは、一般にバーストで伝送され、所与のバースト内のデータのすべてが、一般に1つのメモリバンク(領域)から来る。しかし、連続するバーストの物理的近接および時間的近接に対する制約はない。バーストは、予測不能な時間的分離を伴って、メモリの異なる領域から来る可能性がある。したがって、メモリデバイスが、フィードバックなし符号器を用いてDBI-ACを実施するために、あるバーストの終りと次のバーストの始めとの間に発生する遷移の回数を分析することは、むずかしいか不可能である可能性がある。
【００３８】
DBI-ACの場合に、現在のサイクルに先行するデータの状態が未知である時には、DBI符号器506を一時的に使用不能にすることが有利である可能性がある。これは、各バーストの終りにDBI符号化を使用不能にすることと、新しいバーストの最初のエッジがDBI符号器506に到着した後(またはその時)にDBI符号化を再び使用可能にすることとによって達成することができる。この挙動は、一貫しているはずであり、有限状態機械を使用して制御され得るはずである。より複雑な手法は、2つの連続するバーストのソースをさらに考慮することになるはずである。2つのバーストが、中間のタイミングバブル(timing bubble)なしで同一のバンクから来る場合には、DBI符号器506が、それでも有効な遷移データを計算できる可能性がある。したがって、DBI符号器506は、バースト境界にまたがって使用可能にされたままになることができる。2つのバーストが同一のバンクから来るのではない場合、または中間のタイミングバブルがある場合には、DBI符号器506を、各バーストの後で使用不能にし、後続バーストの第2のサイクルに間に合って再び使用可能にすることができる。
【００３９】
第3のケースでは、バーストの間に、データを、必ず既知の値(たとえば、すべて0)にすることができる。DBI符号器506は、その既知の値を、各バーストの始めのバスの先行する状態としてXORゲート546に供給することができる。信号がグラウンドに対して明示的に参照され、したがって、能動的に駆動されていない時に自然にグラウンドに向かう傾向があるLPDDR4の場合に、「先行する状態」仮定は、明瞭である可能性があり、したがって、データ状態を強制的に既知の値にするための追加回路を必要としない可能性がある。
【００４０】
図6は、DBI符号器606内のDBI選択回路のもう1つの例を示すブロック図である。図示のメモリインターフェースは、一方向性である。しかし、DBI符号器606の多くの応用例は、両方向性である可能性がある。図6のDBI符号器606は、図1のDBI符号器106の1つの構成とすることができる。DBI符号器606は、並列データイン(符号化されていない)632を受け取ることができる。並列データイン(符号化されていない)632を、アルゴリズムマルチプレクサ640の第1の入力に供給することができる。アルゴリズムマルチプレクサ640を、どのDBIアルゴリズム116を適用すべきか(たとえば、シグナリング速度モードに基づいて)をDBI符号器606に示すアルゴリズム選択639によって制御することができる。並列データアウト(符号化された)622を、並列データイン(符号化されていない)632とともにXORゲート646に供給することができる。XORゲート646の出力を、アルゴリズムマルチプレクサ640の第2の入力に供給することができる。XORゲート646は、並列データの着信(次)サイクルを発信(最後の)サイクルからのフィードバックと比較する。
【００４１】
DBI-ACの適用を容易にするために、アルゴリズムマルチプレクサ640の出力を、過半数検出回路650に供給することができる。過半数検出回路650は、並列データビットの半分より多数が次のサイクル中に遷移するかどうかを判定することができる。並列データビットの半分より多数が次のサイクル中に遷移する場合には、過半数検出回路650は、デジタル論理1である真/補数信号648を出力することができる。並列データビットの半分未満が次のサイクル中に遷移する場合には、過半数検出回路650は、デジタル論理0である真/補数信号648を出力することができる。真/補数信号648および動的使用不能化信号652を、入力としてANDゲートに供給することができる。このANDゲートの出力は、真/補数マルチプレクサ642を制御することができる。真/補数マルチプレクサ642の1つの入力を、並列データイン(符号化されていない)632とすることができる。真/補数マルチプレクサ642の第2の入力を、インバータ644を介して渡される並列データイン(符号化されていない)632とすることができる。したがって、動的使用不能化信号652が0のデジタル論理である時には必ず、DBI符号器606は、DBI計算にかかわりなく、符号化されていないデータを出力する。動的使用不能化信号652は、フィードバックを使用しないトポロジを有する符号器内でも適用され得る。
【００４２】
過半数検出回路650は、DBIフラグ624を生成することもできる。1つの構成では、DBIフラグ624を、真/補数信号648と同一の信号とすることができる。DBIフラグ624を、追加のオフチップドライバに送ることができる。もう1つの構成では、データバーストに先行するかこれに続くかのいずれかである送信サイクル中にDBIフラグ624を送ることによって、追加のオフチップドライバなしでDBIフラグ624を送ることができる。
【００４３】
図7は、周波数検出回路738を含むチャネル構成モジュール708を示すブロック図である。図7の周波数検出回路738は、図4の周波数検出回路438の1つの構成とすることができる。周波数検出回路738は、エッジカウンタ758とエッジカウントおよび評価トリガ760とを含むことができる。エッジカウンタ758は、PHYクロックスヌープ信号線736からPHYクロックを受け取る。エッジカウンタ758は、PHYクロックのエッジをカウントすることができる。周期的に、エッジカウントおよび評価トリガ760は、エッジカウントを評価し、エッジカウンタ758をリセットする(リセット信号754を使用して)ことができる。エッジカウントおよび評価トリガ760は、基準クロック734を受け取ることができる。エッジカウンタ758をリセットするためにトリガされる時に、現行エッジカウント764が、結果構成モジュール762に供給される。結果構成モジュール762は、周波数しきい値を交差したかどうかを調べるために、エッジカウント764を所定のしきい値と比較する(たとえば、ルックアップテーブルまたはレジスタを使用して)ことができる。より多くのカウントされたエッジは、動作のより高い速度を示すことができる。その後、結果構成モジュール762は、判定された動作の周波数に基づいて、適当なDBI符号化アルゴリズム716および終端制御信号726を選択することができる。
【００４４】
図8に、周波数依存データバス反転(DBI)符号化を使用する電子デバイス802内に含めることができる、ある種のコンポーネントを示す。電子デバイス802は、アクセス端末、移動局、ワイヤレス通信デバイス、ユーザ機器(UE)、基地局、Node B、ハンドヘルド電子デバイスなどとすることができる。電子デバイス802は、プロセッサ803を含む。プロセッサ803は、汎用のシングルチップまたはマルチチップのマイクロプロセッサ(たとえば、ARM)、特殊目的マイクロプロセッサ(たとえば、デジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイなどとすることができる。プロセッサ803は、中央処理装置(CPU)と呼ばれる場合がある。単一のプロセッサ803だけが、図8の電子デバイス802内に示されているが、代替の構成では、プロセッサ803の組合せ(たとえば、ARMおよびDSP)を使用することができる。
【００４５】
電子デバイス802は、メモリ805をも含む。メモリ805は、電子情報を記憶することができる任意の電子コンポーネントとすることができる。メモリ805は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、磁気ディスク(disk)記憶媒体、光記憶媒体、RAM内のフラッシュメモリデバイス、プロセッサとともに含まれるオンボードメモリ、EPROMメモリ、EEPROMメモリ、レジスタなど(その組合せを含む)として実施され得る。
【００４６】
データ809aおよび命令807aを、メモリ805に記憶することができる。命令807aは、本明細書で開示される方法を実施するためにプロセッサ803によって実行可能とすることができる。命令807aの実行は、メモリ805に記憶されたデータ809aの使用を伴うことができる。プロセッサ803が命令807aを実行する時に、命令807bのさまざまな部分を、プロセッサ803にロードすることができ、データ809bのさまざまな片を、プロセッサ803にロードすることができる。
【００４７】
電子デバイス802は、電子デバイス802へおよびこれからの信号の送信および受信を可能にするために送信器811および受信器813を含むこともできる。送信器811および受信器813を、集合的にトランシーバ815と称する場合がある。アンテナ817を、トランシーバ815に電気的に結合することができる。電子デバイス802は、(図示されていない)複数の送信器、複数の受信器、複数のトランシーバ、および/または複数のアンテナを含むこともできる。
【００４８】
電子デバイス802は、デジタル信号プロセッサ(DSP)821を含むことができる。電子デバイス802は、通信インターフェース823を含むこともできる。通信インターフェース823は、ユーザが電子デバイス802と対話することを可能にすることができる。
【００４９】
電子デバイス802のさまざまなコンポーネントを、1つまたは複数のバスによって一緒に結合することができ、このバスは、電力バス、制御信号バス、状況信号バス、データバスなどを含むことができる。明瞭さのために、さまざまなバスは、図8ではバスシステム819として図示されている。
【００５０】
本明細書で説明される技法を、直交多重化方式に基づく通信システムを含むさまざまな通信システムのために使用することができる。そのような通信システムの例は、直交周波数分割多元接続(OFDMA)システム、Single-Carrier Frequency Division Multiple Access(SC-FDMA)システムなどを含む。OFDMAシステムは、直交周波数分割多重(OFDM)を使用し、このOFDMは、システム帯域幅全体を複数の直交副搬送波に区分する変調技法である。これらの副搬送波は、トーン、ビンなどと呼ばれる場合もある。OFDMを用いると、各副搬送波にデータを独立に変調することができる。SC-FDMAシステムは、システム帯域幅にまたがって分配された副搬送波上で送信するのにinterleaved FDMA(IFDMA)を、隣接する副搬送波のブロック上で送信するのにlocalized FDMA(LFDMA)を、または隣接する副搬送波の複数のブロック上で送信するのにenhanced FDMA(EFDMA)を利用することができる。一般に、変調シンボルは、OFDMでは周波数領域で、SC-FDMAでは時間領域で送られる。
【００５１】
「判定(determining)」という用語は、さまざまな行為を包含し、したがって、「判定」は、計算、コンピューティング、処理、導出、調査、ルックアップ(たとえば、テーブル、データベース、または別のデータ構造内のルックアップ)、確認、および類似物を含むことができる。また、「判定」は、受信(たとえば、情報の受信)、アクセス(たとえば、メモリ内のデータへのアクセス)、および類似物を含むことができる。また、「判定」は、解決、選択(selecting、choosing)、確立、および類似物を含むことができる。
【００５２】
「〜に基づく」という句は、そうではないと明示的に指定されない限り、「〜だけに基づく」を意味しない。言い換えると、「〜に基づく」という句は、「〜だけに基づく」と「少なくとも〜に基づく」との両方について説明するものである。
【００５３】
「プロセッサ」という用語は、汎用プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、状態機械などを包含するように広義に解釈されなければならない。いくつかの情況の下で、「プロセッサ」は、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)などを指す場合がある。「プロセッサ」という用語は、処理デバイスの組合せ、たとえばDSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアに関連する1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成を指す場合がある。
【００５４】
「メモリ」という用語は、電子情報を記憶することができるすべての電子コンポーネントを包含するように広義に解釈されなければならない。メモリという用語は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、フラッシュメモリ、磁気データストレージ、光データストレージ、レジスタ、その他などのさまざまなタイプのプロセッサ可読媒体を指すことができる。メモリは、プロセッサがメモリから情報を読み取り、かつ/またはメモリに情報を書き込むことができる場合に、そのプロセッサと電子通信していると言われる。プロセッサに一体化されたメモリは、そのプロセッサと電子通信している。
【００５５】
「命令」および「コード」という用語は、すべてのタイプのコンピュータ可読ステートメントを含むように広義に解釈されなければならない。たとえば、「命令」および「コード」という用語は、1つまたは複数のプログラム、ルーチン、サブルーチン、関数、手続きなどを指すことができる。「命令」および「コード」は、単一のコンピュータ可読ステートメントまたは多数のコンピュータ可読ステートメントを含むことができる。
【００５６】
本明細書で説明される機能を、ハードウェアによって実行されるソフトウェアまたはファームウェアで実施することができる。機能を、コンピュータ可読媒体上の1つまたは複数の命令として記憶することができる。「コンピュータ可読媒体」または「コンピュータプログラム製品」という用語は、コンピュータまたはプロセッサによってアクセスできる任意の有形の記憶媒体を指す。限定ではなく例として、コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク(disc)ストレージ、磁気ディスク(disk)ストレージもしくは他の磁気ストレージデバイス、または命令もしくはデータ構造の形で所望のプログラムコードを担持するか記憶するのに使用でき、コンピュータによってアクセスできる任意の他の媒体を含むことができる。ディスク(diskおよびdisc)は、本明細書で使用される時に、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピディスク(disk)、およびブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常はデータを磁気的に再生し、ディスク(disc)は、レーザを用いて光学的にデータを再生する。コンピュータ可読媒体を、有形および非一時的(non-transitory)とすることができることに留意されたい。「コンピュータプログラム製品」という用語は、コンピューティングデバイスまたはプロセッサによって実行され、処理され、または計算され得るコードまたは命令(たとえば、「プログラム」)と組み合わされたコンピューティングデバイスまたはプロセッサを指す。本明細書で使用される時に、「コード」という用語は、コンピューティングデバイスまたはプロセッサによって実行可能であるソフトウェア、命令、コード、またはデータを指すことができる。
【００５７】
本明細書で開示される方法は、説明される方法を達成するための1つまたは複数のステップまたは行為を含む。方法ステップおよび/または行為を、特許請求の範囲の範囲から逸脱せずにお互いと交換することができる。言い換えると、ステップまたは行為の特定の順序が、説明されつつある方法の正しい動作のために必要である場合を除いて、特定のステップおよび/または行為の順序および/または使用を、特許請求の範囲の範囲から逸脱せずに変更することができる。
【００５８】
さらに、図3によって示されるものなど、本明細書で説明される方法および技法を実行するためのモジュールおよび/または他の適当な手段を、デバイスによってダウンロードし、かつ/または他の形で入手できることを了解されたい。たとえば、本明細書で説明される方法を実行するための手段の転送を容易にするために、デバイスをサーバに結合することができる。その代わりに、デバイスがデバイスへの記憶手段の結合または提供の際にさまざまな方法を入手できるように、本明細書で説明されるさまざまな方法を、記憶手段(たとえば、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、コンパクトディスク(disc)(CD)もしくはフロッピディスク(disk)などの物理記憶媒体など)を介して提供することができる。
【００５９】
特許請求の範囲が、上で示された正確な構成およびコンポーネントに限定されないことを理解されたい。特許請求の範囲の範囲から逸脱せずに、本明細書で説明されるシステム、方法、および装置の配置、動作、および詳細においてさまざまな修正、変更、および変形を行うことができる。
【符号の説明】
【００６０】
102  電子デバイス
104  送信器
106  DBI符号器
108  チャネル構成モジュール
110  伝送線
112  受信器
114  DBI復号器
116  DBIアルゴリズム
118  モードコントローラ
204  送信器
206  DBI符号器
210  チャネル
212  受信器
214  DBI復号器
216  DBIアルゴリズム
218  モードコントローラ
220  ドライバ
222  DBIアルゴリズム符号化されたデータ
224  DBIフラグ
226  終端制御信号
228  非対称負荷終端
230  符号化されていない並列データ
300  方法
406  DBI符号器
408  チャネル構成モジュール
416  DBIアルゴリズム
422  データアウト
424  DBIフラグ
426  終端制御信号
432  データイン
434  基準クロック
436  PHYクロックスヌープ信号線
438  周波数検出回路
440  発振器
506  DBI符号器
522  並列データアウト(符号化された)
524  DBIフラグ
532  並列データイン(符号化されていない)
539  アルゴリズム選択
540  アルゴリズムマルチプレクサ
542  真/補数マルチプレクサ
544  インバータ
546  XORゲート
548  真/補数信号
550  過半数検出回路
606  DBI符号器
622  並列データアウト(符号化された)
624  DBIフラグ
632  並列データイン(符号化されていない)
639  アルゴリズム選択
640  アルゴリズムマルチプレクサ
642  真/補数マルチプレクサ
644  インバータ
646  XORゲート
648  真/補数信号
650  過半数検出回路
652  動的使用不能化信号
708  チャネル構成モジュール
716  DBI符号化アルゴリズム
726  終端制御信号
734  基準クロック
736  PHYクロックスヌープ信号線
738  周波数検出回路
754  リセット信号
758  エッジカウンタ
760  エッジカウントおよび評価トリガ
762  結果構成モジュール
764  現行エッジカウント
802  電子デバイス
803  プロセッサ
805  メモリ
807a  命令
807b  命令
809a  データ
809b  データ
811  送信器
813  受信器
815  トランシーバ
817  アンテナ
819  バスシステム
821  デジタル信号プロセッサ(DSP)
823  通信インターフェース
【図１】
2016514441.tif 000003
【図２】
2016514441.tif 000004
【図３】
2016514441.tif 000005
【図４】
2016514441.tif 000006
【図５】
2016514441.tif 000007
【図６】
2016514441.tif 000008
【図７】
2016514441.tif 000009
【図８】
2016514441.tif 000010
【国際調査報告】
2016514441.tif 000011
2016514441.tif 000012