JP2016514441A - 動作の速度に基づくデータバス反転(dbi)符号化 - Google Patents

動作の速度に基づくデータバス反転(dbi)符号化 Download PDF

Info

Publication number
JP2016514441A
JP2016514441A JP2016501269A JP2016501269A JP2016514441A JP 2016514441 A JP2016514441 A JP 2016514441A JP 2016501269 A JP2016501269 A JP 2016501269A JP 2016501269 A JP2016501269 A JP 2016501269A JP 2016514441 A JP2016514441 A JP 2016514441A
Authority
JP
Japan
Prior art keywords
data bus
dbi
bus inversion
algorithm
data
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
JP2016501269A
Other languages
English (en)
Other versions
JP2016514441A5 (ja
JP6130043B2 (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 JP2016514441A publication Critical patent/JP2016514441A/ja
Publication of JP2016514441A5 publication Critical patent/JP2016514441A5/ja
Application granted granted Critical
Publication of JP6130043B2 publication Critical patent/JP6130043B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/287Multiplexed DMA
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Dc Digital Transmission (AREA)

Abstract

データ伝送のための方法について説明する。電子デバイスの動作のシグナリング速度を判定する。動作のシグナリング速度に基づいてデータバス反転アルゴリズムを選択する。データを符号化するのに選択されたデータバス反転アルゴリズムを使用する。符号化されたデータおよびデータバス反転フラグを伝送媒体を介して受信器に送る。

Description

関連出願
本願は、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 通信インターフェース

Claims (30)

  1. 電子デバイスの動作のシグナリング速度を判定するステップと、
    動作の前記シグナリング速度に基づいてデータバス反転アルゴリズムを選択するステップと、
    データを符号化するのに前記選択されたデータバス反転アルゴリズムを使用するステップと、
    前記符号化されたデータおよびデータバス反転フラグを伝送線を介して受信器に送るステップと
    を含む、データ伝送のための方法。
  2. 前記選択されたデータバス反転アルゴリズムは、DBI-ACアルゴリズムおよびDBI-DCアルゴリズムのうちの1つである、請求項1に記載の方法。
  3. 前記選択されたデータバス反転アルゴリズムは、動作の前記シグナリング速度が低速モードである時にはDBI-ACである、請求項2に記載の方法。
  4. 前記選択されたデータバス反転アルゴリズムは、動作の前記シグナリング速度が高速モードである時にはDBI-DCである、請求項2に記載の方法。
  5. 動作の前記シグナリング速度は、専用信号によって符号器に通信される、請求項1に記載の方法。
  6. 前記専用信号は、コマンドアドレスバスを介して提供される、請求項5に記載の方法。
  7. 前記専用信号は、既存のデータ信号線を使用して提供される、請求項5に記載の方法。
  8. 動作の前記シグナリング速度は、符号器によって自律的に判定される、請求項1に記載の方法。
  9. 前記選択されたデータバス反転アルゴリズムは、フィードバックを含まないトポロジを使用してデータを符号化するのに使用される、請求項1に記載の方法。
  10. 前記選択されたデータバス反転アルゴリズムは、フィードバックを含むトポロジを使用してデータを符号化するのに使用される、請求項1に記載の方法。
  11. データバス反転アルゴリズム符号化は、動的使用不能化信号に基づいて自律的に使用不能にされる、請求項1に記載の方法。
  12. 前記選択されたデータバス反転アルゴリズムに基づいて終端制御信号を生成するステップと、
    前記終端制御信号を前記受信器に送るステップと
    をさらに含む、請求項1に記載の方法。
  13. 前記方法は、
    アルゴリズム選択マルチプレクサと、
    やがて現れるバーストの符号化されていない並列データと以前のバーストの並列データとを受け取るXORゲートと、
    インバータと、
    過半数検出回路と、
    真/補数マルチプレクサと
    を含むデータバス反転符号器によって実行される、請求項1に記載の方法。
  14. 前記データバス反転符号器は、周波数検出回路をさらに含み、前記選択されたデータバス反転アルゴリズムは、物理層クロック周波数と基準周波数との間の関係に基づく、請求項13に記載の方法。
  15. プロセッサと、
    前記プロセッサと電子通信しているメモリと、
    電子デバイスの動作のシグナリング速度を判定し、
    動作の前記シグナリング速度に基づいてデータバス反転アルゴリズムを選択し、
    データを符号化するのに前記選択されたデータバス反転アルゴリズムを使用し、
    前記符号化されたデータおよびデータバス反転フラグを伝送線を介して受信器に送る
    ために前記プロセッサによって実行可能である、前記メモリ内に記憶された命令と
    を含む、データ伝送のための装置。
  16. 前記選択されたデータバス反転アルゴリズムは、DBI-ACアルゴリズムおよびDBI-DCアルゴリズムのうちの1つである、請求項15に記載の装置。
  17. 前記選択されたデータバス反転アルゴリズムは、動作の前記シグナリング速度が低速モードである時にはDBI-ACである、請求項16に記載の装置。
  18. 前記選択されたデータバス反転アルゴリズムは、動作の前記シグナリング速度が高速モードである時にはDBI-DCである、請求項16に記載の装置。
  19. 動作の前記シグナリング速度は、専用信号によって符号器に通信される、請求項15に記載の装置。
  20. 前記専用信号は、コマンドアドレスバスを介して提供される、請求項19に記載の装置。
  21. 前記専用信号は、既存のデータ信号線を使用して提供される、請求項19に記載の装置。
  22. 動作の前記シグナリング速度は、符号器によって自律的に判定される、請求項15に記載の装置。
  23. 前記選択されたデータバス反転アルゴリズムは、フィードバックを含まないトポロジを使用してデータを符号化するのに使用される、請求項15に記載の装置。
  24. 前記選択されたデータバス反転アルゴリズムは、フィードバックを含むトポロジを使用してデータを符号化するのに使用される、請求項15に記載の装置。
  25. データバス反転アルゴリズム符号化は、動的使用不能化信号に基づいて自律的に使用不能にされる、請求項15に記載の装置。
  26. 前記命令は、
    前記選択されたデータバス反転アルゴリズムに基づいて終端制御信号を生成し、
    前記終端制御信号を前記受信器に送る
    ために前記プロセッサによってさらに実行可能である、請求項15に記載の装置。
  27. アルゴリズム選択マルチプレクサと、
    やがて現れるバーストの符号化されていない並列データと以前のバーストの並列データとを受け取るXORゲートと、
    インバータと、
    過半数検出回路と、
    真/補数マルチプレクサと
    を含むデータバス反転符号器をさらに含む、請求項15に記載の装置。
  28. 前記データバス反転符号器は、周波数検出回路をさらに含み、前記選択されたデータバス反転アルゴリズムは、物理層クロック周波数と基準周波数との間の関係に基づく、請求項27に記載の装置。
  29. 電子デバイスの動作のシグナリング速度を判定するための手段と、
    動作の前記シグナリング速度に基づいてデータバス反転アルゴリズムを選択するための手段と、
    データを符号化するのに前記選択されたデータバス反転アルゴリズムを使用するための手段と、
    前記符号化されたデータおよびデータバス反転フラグを伝送線を介して受信器に送るための手段と
    を含む、電子デバイス。
  30. 電子デバイスに、前記電子デバイスの動作のシグナリング速度を判定させるためのコードと、
    前記電子デバイスに、動作の前記シグナリング速度に基づいてデータバス反転アルゴリズムを選択させるためのコードと、
    前記電子デバイスに、データを符号化するのに前記選択されたデータバス反転アルゴリズムを使用させるためのコードと、
    前記電子デバイスに、前記符号化されたデータおよびデータバス反転フラグを伝送線を介して受信器に送らせるコードと
    を含む命令を記憶した非一時的コンピュータ可読記憶媒体。
JP2016501269A 2013-03-15 2014-03-11 動作の速度に基づくデータバス反転(dbi)符号化 Active JP6130043B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361791865P 2013-03-15 2013-03-15
US61/791,865 2013-03-15
US14/202,783 2014-03-10
US14/202,783 US9529749B2 (en) 2013-03-15 2014-03-10 Data bus inversion (DBI) encoding based on the speed of operation
PCT/US2014/023508 WO2014150529A1 (en) 2013-03-15 2014-03-11 Data bus inversion (dbi) encoding based on the speed of operation

Publications (3)

Publication Number Publication Date
JP2016514441A true JP2016514441A (ja) 2016-05-19
JP2016514441A5 JP2016514441A5 (ja) 2017-03-23
JP6130043B2 JP6130043B2 (ja) 2017-05-17

Family

ID=51533777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016501269A Active JP6130043B2 (ja) 2013-03-15 2014-03-11 動作の速度に基づくデータバス反転(dbi)符号化

Country Status (6)

Country Link
US (2) US9529749B2 (ja)
EP (1) EP2972927B1 (ja)
JP (1) JP6130043B2 (ja)
KR (1) KR101759816B1 (ja)
CN (1) CN105190585B (ja)
WO (1) WO2014150529A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6126317B1 (ja) * 2014-02-07 2017-05-10 クアルコム,インコーポレイテッド パーティション化されたデータバスのための符号化
US11409676B2 (en) 2019-12-16 2022-08-09 Samsung Electronics Co., Ltd. System on chip, memory device, electronic device comprising the SoC and memory device, and method for storing data in the electronic device

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9529749B2 (en) 2013-03-15 2016-12-27 Qualcomm Incorporated Data bus inversion (DBI) encoding based on the speed of operation
US9614703B2 (en) 2015-03-30 2017-04-04 Qualcomm Incorporated Circuits and methods providing high-speed data link with equalizer
US10345836B1 (en) 2015-08-21 2019-07-09 Rambus Inc. Bidirectional signaling with asymmetric termination
CN107131921B (zh) * 2016-02-26 2020-12-11 高准公司 用于计量电子器件的低功率模式
US10243916B2 (en) 2016-04-07 2019-03-26 Cisco Technology, Inc. Control plane based technique for handling multi-destination traffic in overlay networks
US9922686B2 (en) 2016-05-19 2018-03-20 Micron Technology, Inc. Apparatuses and methods for performing intra-module databus inversion operations
US10008287B2 (en) 2016-07-22 2018-06-26 Micron Technology, Inc. Shared error detection and correction memory
US10373657B2 (en) * 2016-08-10 2019-08-06 Micron Technology, Inc. Semiconductor layered device with data bus
US10126979B2 (en) 2016-10-04 2018-11-13 Qualcomm Incorporated Bus encoding using metadata
EP3533193A1 (en) * 2016-10-28 2019-09-04 Telefonaktiebolaget LM Ericsson (publ) Dbi protection for data link
KR20180057028A (ko) 2016-11-21 2018-05-30 에스케이하이닉스 주식회사 데이터 반전 회로
WO2018127764A1 (en) * 2017-01-06 2018-07-12 Telefonaktiebolaget Lm Ericsson (Publ) Explicit configuration of paging and control channel in system information
US10146719B2 (en) * 2017-03-24 2018-12-04 Micron Technology, Inc. Semiconductor layered device with data bus
KR20190029227A (ko) * 2017-09-12 2019-03-20 에스케이하이닉스 주식회사 데이터 전송 회로, 이를 이용하는 반도체 장치 및 반도체 시스템
US10599606B2 (en) 2018-03-29 2020-03-24 Nvidia Corp. 424 encoding schemes to reduce coupling and power noise on PAM-4 data buses
US11159153B2 (en) 2018-03-29 2021-10-26 Nvidia Corp. Data bus inversion (DBI) on pulse amplitude modulation (PAM) and reducing coupling and power noise on PAM-4 I/O
US10657094B2 (en) 2018-03-29 2020-05-19 Nvidia Corp. Relaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses
US11966348B2 (en) 2019-01-28 2024-04-23 Nvidia Corp. Reducing coupling and power noise on PAM-4 I/O interface
US10664432B2 (en) 2018-05-23 2020-05-26 Micron Technology, Inc. Semiconductor layered device with data bus inversion
US10585817B2 (en) 2018-05-29 2020-03-10 Seagate Technology Llc Method of signal integrity and power integrity analysis for address bus
US10623200B2 (en) 2018-07-20 2020-04-14 Nvidia Corp. Bus-invert coding with restricted hamming distance for multi-byte interfaces
US10964702B2 (en) 2018-10-17 2021-03-30 Micron Technology, Inc. Semiconductor device with first-in-first-out circuit
US10861508B1 (en) 2019-11-11 2020-12-08 Sandisk Technologies Llc Transmitting DBI over strobe in nonvolatile memory
KR20210149543A (ko) * 2020-06-02 2021-12-09 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US11756592B2 (en) 2020-09-29 2023-09-12 Samsung Electronics Co., Ltd. Memory device supporting DBI interface and operating method of memory device
US11237729B1 (en) 2020-10-13 2022-02-01 Sandisk Technologies Llc Fast bus inversion for non-volatile memory
US11720516B2 (en) 2021-08-15 2023-08-08 Apple Inc. Methods for data bus inversion
US11749374B1 (en) * 2022-02-22 2023-09-05 Winbond Electronics Corp. Memory device
US11836107B2 (en) 2022-03-01 2023-12-05 Apple Inc. Power consumption control based on random bus inversion

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090228624A1 (en) * 2008-03-10 2009-09-10 Michael Maldei Derivative logical output
JP2011525093A (ja) * 2008-06-20 2011-09-08 ラムバス・インコーポレーテッド 周波数応答バス符号化
US20110222623A1 (en) * 2010-03-10 2011-09-15 Micron Technology, Inc. Communication Interface With Configurable Encoding Based on Channel Termination
US8094045B2 (en) * 2008-01-16 2012-01-10 Micron Technology, Inc. Data bus inversion apparatus, systems, and methods
US20130061006A1 (en) * 2011-09-01 2013-03-07 Elpida Memory, Inc. Data mask encoding in data bit inversion scheme

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6407680B1 (en) 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
KR20050069789A (ko) 2003-12-31 2005-07-05 엘지전자 주식회사 유/무선 네트워크 장치의 인코딩 비율 조정 장치와 방법
AU2005253592B2 (en) 2004-06-04 2009-02-05 Qualcomm Incorporated High data rate interface apparatus and method
KR100643498B1 (ko) 2005-11-21 2006-11-10 삼성전자주식회사 반도체 메모리에서의 데이터 버스 반전 회로 및 데이터버스 반전 방법
US7456760B2 (en) 2006-09-11 2008-11-25 Apple Inc. Complexity-aware encoding
US7522073B1 (en) 2007-11-30 2009-04-21 Qimonda North America Corp. Self-adapted bus inversion
US8467486B2 (en) * 2007-12-14 2013-06-18 Mosaid Technologies Incorporated Memory controller with flexible data alignment to clock
US8181101B2 (en) 2009-01-30 2012-05-15 International Business Machines Corporation Data bus system, its encoder/decoder and encoding/decoding method
EP4224328A3 (en) 2009-07-13 2023-10-18 Rambus Inc. Encoding data using combined data mask and data bus inversion
KR101688050B1 (ko) * 2009-12-22 2016-12-21 삼성전자 주식회사 반도체 장치 및 반도체 장치의 리드 또는 라이트 동작 수행 방법
US8726139B2 (en) 2011-12-14 2014-05-13 Advanced Micro Devices, Inc. Unified data masking, data poisoning, and data bus inversion signaling
US9529749B2 (en) 2013-03-15 2016-12-27 Qualcomm Incorporated Data bus inversion (DBI) encoding based on the speed of operation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8094045B2 (en) * 2008-01-16 2012-01-10 Micron Technology, Inc. Data bus inversion apparatus, systems, and methods
US20090228624A1 (en) * 2008-03-10 2009-09-10 Michael Maldei Derivative logical output
JP2011525093A (ja) * 2008-06-20 2011-09-08 ラムバス・インコーポレーテッド 周波数応答バス符号化
JP2012531092A (ja) * 2008-06-20 2012-12-06 ラムバス・インコーポレーテッド 周波数応答バス符号化
US20110222623A1 (en) * 2010-03-10 2011-09-15 Micron Technology, Inc. Communication Interface With Configurable Encoding Based on Channel Termination
US20130061006A1 (en) * 2011-09-01 2013-03-07 Elpida Memory, Inc. Data mask encoding in data bit inversion scheme

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6126317B1 (ja) * 2014-02-07 2017-05-10 クアルコム,インコーポレイテッド パーティション化されたデータバスのための符号化
JP2017514191A (ja) * 2014-02-07 2017-06-01 クアルコム,インコーポレイテッド パーティション化されたデータバスのための符号化
US11409676B2 (en) 2019-12-16 2022-08-09 Samsung Electronics Co., Ltd. System on chip, memory device, electronic device comprising the SoC and memory device, and method for storing data in the electronic device

Also Published As

Publication number Publication date
US20140281075A1 (en) 2014-09-18
CN105190585A (zh) 2015-12-23
US20170075854A1 (en) 2017-03-16
US9798693B2 (en) 2017-10-24
US9529749B2 (en) 2016-12-27
WO2014150529A1 (en) 2014-09-25
EP2972927A1 (en) 2016-01-20
KR20150132296A (ko) 2015-11-25
EP2972927B1 (en) 2017-08-02
CN105190585B (zh) 2018-04-13
KR101759816B1 (ko) 2017-07-31
JP6130043B2 (ja) 2017-05-17

Similar Documents

Publication Publication Date Title
JP6130043B2 (ja) 動作の速度に基づくデータバス反転(dbi)符号化
US10116413B2 (en) Determining a high data rate for backchannel communications for initialization of high-speed networks
TWI547120B (zh) 用於高速網路的初始化之背通道通訊技術
KR20200040313A (ko) 적층 메모리 다이와 데이터 통신
KR20220104291A (ko) 메모리 디바이스의 단일 핀에서 별개 신호 멀티플렉싱
KR102452890B1 (ko) 프로그래밍 가능 종단 레벨을 갖는 동적 버스 반전
KR20180074682A (ko) N-위상 고속 버스 턴어라운드
US20170068628A1 (en) Reducing ethernet latency in a multi-server chassis
KR20200037871A (ko) 듀얼 모드 변조를 지원하는 메모리 시스템
JP2016514430A (ja) クロック情報を信号状態の遷移に組み込むマルチワイヤシグナリングのためのトランスコーディング方法
KR20180073578A (ko) Mipi csi-2 c-phy 에 대한 의사-무작위 2진 시퀀스 시드들을 교번시키기
JP2016514441A5 (ja)
US10090835B2 (en) On-die termination circuit, a memory device including the on-die termination circuit, and a memory system including the memory device
US9223385B2 (en) Re-driver power management
EP3072238B1 (en) Devices and methods for facilitating data inversion to limit both instantaneous current and signal transitions
JP2018509710A (ja) 共有マルチモードバスを介したレガシーデバイスと次世代デバイスの共存のためのフェアウェルリセットおよび再開方法
KR100763533B1 (ko) 버스 인버팅 코드 생성 장치 및 이를 이용한 버스 인버팅코드 생성 방법
KR20150126895A (ko) 버스 속도에 기초하여 양방향성 데이터 버스 상에서 신호들을 선택적으로 종결하기 위한 방법 및 장치
US20190207744A1 (en) System, Apparatus And Method For Low Overhead Communication Encoding
US8731073B1 (en) In-band lane alignment for a multi-lane transceiver
US10157161B2 (en) Conditional embedding of dynamically shielded information on a bus
JP2015104126A (ja) インデックス化入出力符号通信

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170214

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170214

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170306

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: 20170313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170412

R150 Certificate of patent or registration of utility model

Ref document number: 6130043

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