JP6426193B2 - ダイナミックランダムアクセスメモリ(dram)インターフェースのためのシリアルデータ伝送 - Google Patents

ダイナミックランダムアクセスメモリ(dram)インターフェースのためのシリアルデータ伝送 Download PDF

Info

Publication number
JP6426193B2
JP6426193B2 JP2016546101A JP2016546101A JP6426193B2 JP 6426193 B2 JP6426193 B2 JP 6426193B2 JP 2016546101 A JP2016546101 A JP 2016546101A JP 2016546101 A JP2016546101 A JP 2016546101A JP 6426193 B2 JP6426193 B2 JP 6426193B2
Authority
JP
Japan
Prior art keywords
data
lane
dram
bus
lanes
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.)
Active
Application number
JP2016546101A
Other languages
English (en)
Other versions
JP2017504120A5 (ja
JP2017504120A (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 JP2017504120A publication Critical patent/JP2017504120A/ja
Publication of JP2017504120A5 publication Critical patent/JP2017504120A5/ja
Application granted granted Critical
Publication of JP6426193B2 publication Critical patent/JP6426193B2/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • 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/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • 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/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • 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)
  • Dram (AREA)

Description

優先権主張
本出願は、その全体が参照により本明細書に組み込まれる、2014年1月24日に出願された“SERIAL DATA TRANSMISSION FOR A DYNAMIC RANDOM ACCESS MEMORY(DRAM) INTERFACE”と題する米国仮特許出願第61/930,985号の優先権を主張する。
また、本出願は、その全体が参照により本明細書に組み込まれる、2015年1月19日に出願された“SERIAL DATA TRANSMISSION FOR DYNAMIC RANDOM ACCESS MEMORY(DRAM) INTERFACES”と題する米国特許出願第14/599,768号の優先権を主張する。
本開示の技術は一般的に、メモリ構造、およびメモリ構造からのデータ転送に関する。
コンピューティングデバイスはメモリに依存する。メモリは、たとえば、ハードドライブまたはリムーバブルメモリドライブとすることができ、コンピューティングデバイスに関する機能を可能にするソフトウェアを記憶することができる。さらに、メモリによって、ソフトウェアは、ソフトウェアの機能を実行する際に使用されるデータを読み出し、書き込むことができるようになる。いくつかのタイプのメモリが存在するが、ランダムアクセスメモリ(RAM)は、コンピューティングデバイスによって最も頻繁に使用されるタイプのうちの1つである。ダイナミックRAM(DRAM)は、広く使用される1つのタイプのRAMである。計算速度は、少なくとも部分的には、DRAMセルからいかに速くデータを読み出すことができるかと、DRAMセルにいかに速くデータを書き込むことができるかとの関数である。バスを通してDRAMをアプリケーションプロセッサに結合するために、種々のトポロジが考案されてきた。DRAMの1つの一般的なフォーマットはダブルデータレート(DDR)DRAMである。DDR標準規格のリリース2(すなわち、DDR2)では、Tブランチトポロジが使用された。DDR標準規格のリリース3(すなわち、DDR3)では、フライバイトポロジが使用された。
既存のDRAMインターフェースでは、データは、バスの幅にわたってパラレルに送信される。すなわち、たとえば、8ビットワードの8ビットがすべて、バスの8レーンにわたって同時に送信される。ビットはメモリに取り込まれ、1つのブロックに統合され、メモリアレイの中にアップロードされる。特にフライバイトポロジにおいて、そのようなパラレル伝送が使用されるとき、メモリが同じワードに属するものとしてビットを識別し、ビットを正確なメモリアドレスにアップロードできるように、ワードは同期して取り込まれなければならない。
ビット間、およびバスのレーン間のスキューは不可避であり、速度が速いほど、真に問題になる。このタイミングスキューは、トレーニングを通して、ビットおよびストローブの遅延を調整することによって「レベリングする」ことができる。この「レベリング型」の手法は多くの場合に、「ライトレベリング」と呼ばれる。ライトレベリングは、高速において解決するのが難しい問題であるとともに調整可能なクロックを必要とし、その結果として、さらには、複雑な周波数切替え問題が生じる。したがって、DRAMアレイにデータを転送する改善された方法が必要とされている。
詳細な説明において開示される態様は、ダイナミックランダムアクセスメモリ(DRAM)インターフェースのためのシリアルデータ伝送を含む。スキューの懸念を生じさせるパラレルデータ伝送の代わりに、本開示の例示的な態様は、ワードのビットをバスの単一のレーンを介してシリアルに伝送する。バスが高速バスであるため、ビットが次々に(すなわち、シリアルに)到来する場合であっても、ワードの最初のビットの到着と最後のビットの到着との間の時間は依然として相対的に短い。同様に、ビットはシリアルに到着するため、ビット間のスキューは無意味になる。ビットは、所与の長さの時間内に統合され、メモリアレイにロードされる。
ビットをシリアルに送信することによって、書込みレベリングを実行するのを不要にし、それによりトレーニング時間を短縮するとともにメモリデバイス内のエリアオーバーヘッドを低減する。同様に、必要とされないレーンをオフにすることによって、電力低減技法を実施することができる。選択的なレーンアクティブ化が使用されると、クロック周波数の変更を必要とすることなく、伝送速度を変更することができる。位相ロックループ(PLL)によるロック、またはチャネルのトレーニングを待つ必要がないため、この帯域幅調整は、周波数スケーリングの場合よりはるかに迅速に達成することができる。
これに関連して、例示的な態様では、方法が開示される。本方法は、アプリケーションプロセッサ(AP)においてデータバイトをシリアライズするステップを含む。本方法はまた、シリアライズされたデータバイトをバスの単一のレーンを介してDRAM素子に送信するステップを含む。本方法はまた、DRAM素子において、バスの単一のレーンからシリアライズされたデータバイトを受信するステップを含む。
これに関連して、別の例示的な態様では、メモリシステムが開示される。メモリシステムは、複数のデータレーンと、コマンドレーンとを備える通信バスを備える。メモリシステムはまた、APを備える。APはシリアライザを備える。APはまた、通信バスに動作可能に結合されるバスインターフェースを備える。APはまた、制御システムを備える。制御システムは、シリアライザに、データバイトをシリアライズすることと、シリアライズされたデータバイトをバスインターフェースを通して通信バスに渡すこととを行わせるように構成される。メモリシステムはまた、DRAM素子を備える。DRAM素子は、通信バスに動作可能に結合されるDRAMバスインターフェースを備える。DRAM素子はまた、DRAMバスインターフェースからデータを受信するとともに、受信したデータをデシリアライズするように構成されるデシリアライザを備える。DRAM素子はまた、DRAM素子によって受信されたデータを記憶するように構成されるメモリアレイを備える。
これに関連して、別の例示的な態様では、APが開示される。APはシリアライザを備える。APはまた、通信バスに動作可能に結合されるバスインターフェースを備える。APはまた、制御システムを備える。制御システムは、シリアライザに、データバイトをシリアライズすることと、シリアライズされたデータバイトをバスインターフェースを通して通信バスの単一のレーンに渡すこととを行わせるように構成される。
これに関連して、別の例示的な態様では、DRAM素子が開示される。DRAM素子は、通信バスに動作可能に結合されるDRAMバスインターフェースを備える。DRAM素子はまた、DRAMバスインターフェースからデータを受信するとともに、受信したデータをデシリアライズするように構成されるデシリアライザを備える。DRAM素子はまた、DRAM素子によって受信されたデータを記憶するように構成されるメモリアレイを備える。
例示的な従来のパラレルデータ転送のブロック図である。 シリアルデータ転送能力を有するメモリシステムの例示的な態様のブロック図である。 シリアルデータを受信する例示的なデシリアライザを備える、図2のダイナミックランダムアクセスメモリ(DRAM)素子のブロック図である。 シリアルデータ転送および選択的レーンアクティブ化を用いることによって帯域幅および電力のスケーリングが達成される、図2のメモリシステムのブロック図である。 図2のメモリシステムに関連付けられる例示的なプロセスを示す流れ図である。 図2のメモリシステムを含むことができる例示的なプロセッサベースシステムのブロック図である。
ここで図面を参照しながら、本開示のいくつかの例示的な態様について説明する。「例示的」という語は、本明細書では「一例、事例、または例示としての役割を果たすこと」を意味するために使用される。「例示的」として本明細書において説明されるいずれの態様も、必ずしも他の態様よりも好ましいか、または有利であると解釈されるとは限らない。
詳細な説明において開示される態様は、ダイナミックランダムアクセスメモリ(DRAM)インターフェースのためのシリアルデータ伝送を含む。スキューの懸念を生じさせるパラレルデータ伝送の代わりに、本開示の例示的な態様は、ワードのビットをバスの単一のレーンを介してシリアルに伝送する。バスが高速バスであるため、ビットが次々に(すなわち、シリアルに)到来する場合であっても、ワードの最初のビットの到着と最後のビットの到着との間の時間は依然として相対的に短い。同様に、ビットはシリアルに到着するため、ビット間のスキューは無意味になる。ビットは、所与の長さの時間内に統合され、メモリアレイにロードされる。
ビットをシリアルに送信することによって、ライトレベリングを実行するのを不要にし、それによりトレーニング時間を短縮するとともに、メモリデバイス内のエリアオーバーヘッドを低減する。同様に、必要とされないレーンをオフにすることによって、電力低減技法を実施することができる。選択的レーンアクティブ化が使用されると、クロック周波数の変更を必要とすることなく、伝送速度を変更することができる。位相ロックループ(PLL)によるロック、またはチャネルのトレーニングを待つ必要がないため、この帯域幅調整は、周波数スケーリングの場合よりはるかに迅速に達成することができる。
本開示の例示的な態様に取り組む前に、図1を参照しながら、従来のパラレルデータ転送の簡単な概説が与えられる。シリアルデータ転送方式の例示的な態様の検討は、以下において図2を参照しながら開始される。これに関連して、図1は、(多くの場合にアプリケーションプロセッサ(AP)と呼ばれる)システムオンチップ(SoC)12と、DRAM素子16および18のバンク14とを備える従来のメモリシステム10である。SoC12は、クロック(CK)信号22を与える可変周波数PLL20を含む。SoC12はまた、インターフェース24を含む。インターフェース24は、バスインターフェース26、28、30および32と、CA-CKインターフェース34とを含むことができる。
図1を引き続き参照すると、各バスインターフェース26、28、30および32は、それぞれのMレーンバス36、38、40および42(ここで、Mは1より大きい整数である)に結合することができる。Mレーンバス36および38は、SoC12をDRAM素子16に結合することができ、一方、Mレーンバス40および42は、SoC12をDRAM素子18に結合することができる。例示的な態様では、Mレーンバス36、38、40および42はそれぞれ8レーンバスである。SoC12はコマンドおよびアドレス(CA)信号を生成することができ、その信号はCA-CKインターフェース34に渡される。そのようなCA信号およびクロック信号22は、フライバイトポロジを通して、DRAM素子16および18と共有される。
図1を引き続き参照すると、1ワード、たとえば、32ビットワードがSoC12内で生成され、そのワードは4バイトデータ(それぞれ8ビット)から構成され、ワードは4つのバスインターフェース26、28、30および32間で分割される。従来のパラレル伝送技法では、4バイトすべてが、クロック信号22に対して、DRAM素子16および18に同時に到着しなければならない。フライバイトポロジに起因して、クロック信号22はDRAM素子16および18に異なる時刻に到着するため、4つのバスインターフェース26、28、30および32からの伝送は複雑なライトレベリングプロセスを通じて制御される。可変PLL20の周波数が、そのようなパラレル伝送のための帯域幅および電力を低減またはスケーリングする唯一の手段である。
ライトレベリングによって課せられる不利益を排除するとともに、可変PLL20を不要にするために、本開示の例示的な態様は、データバス内での単一のレーンを介したワードのシリアル伝送を提供する。ワードがシリアルに受信されるため、メモリシステム10の正確なタイミングおよびライトレベリングは不要である。さらに、データをシリアライズするとともに、データバス内の単一のレーン上でワードを送信することによって、どのレーンが動作しているかを選択することにより実効帯域幅を抑制することができる。
これに関連して、図2は、SoC52(APとも呼ばれる)と、DRAM素子56および58のバンク54とを備えるメモリシステム50を示す。SoC52は、制御システム(CS)60およびPLL62を含む。PLL62はクロック(CK)信号64を生成する。SoC52はまた、インターフェース66を含む。インターフェース66はCA-CKインターフェース68を含むことができる。制御システム60は、CA-CKインターフェース68に、クロック信号64とともに、コマンドおよびアドレス(CA)信号70を与えることができる。CA-CKインターフェース68は、DRAM素子56および58と通信するためにフライバイトポロジに配置される通信レーン72に結合することができる。SoC52は、1つまたは複数のシリアライザ74(1つのみが示される)をさらに含むことができる。インターフェース66はバスインターフェース76(1)〜76(N)および78(1)〜78(P)を含むことができる(ここで、NおよびPは1より大きい整数である)。バスインターフェース76(1)〜76(N)はそれぞれMレーンバス80(1)〜80(N)に結合する(ここで、Mは1より大きい整数である)。Mレーンバス80(1)〜80(N)のそれぞれは、それぞれのデータレーン82(1)(1)〜82(1)(M)から82(N)(1)〜82(N)(M)までを含む。データレーン82(1)(1)〜82(1)(M)から82(N)(1)〜82(N)(M)はSoC52をDRAM素子56に接続する。同様に、バスインターフェース78(1)〜78(P)は、それぞれのM'レーンバス84(1)〜84(P)に結合する(ここで、M'は1より大きい整数である)。M'レーンバス84(1)〜84(P)のそれぞれは、それぞれのデータレーン86(1)(1)〜86(1)(M')から86(P)(1)〜86(P)(M')までを含む。例示的な態様では、N=P=2であり、M=M'=8である。データレーン86(1)(1)〜86(1)(M')から86(P)(1)-86(P)(M')はSoC52をDRAM素子58に接続する。例示的な態様では、インターフェース66に結合される(通信レーン72を除く)レーンの数(たとえば、N+P)に等しいシリアライザ74が存在する。別の例示的な態様では、マルチプレクサ(図示せず)が、単一のシリアライザ74の出力をインターフェース66に結合される(ここでも、通信レーン72は除く)各レーンにルーティングする。
引き続き図2を参照すると、メモリシステム50において、DRAM素子56に送信されるワードは、Mレーンバス80のうちの単一のデータレーン82(たとえば、Mレーンバス80(1)のうちのデータレーン82(1)(1))上でのみ送信される。したがって、たとえば、ワードが4バイトを有する32ビットである場合には、各バイトの各ビットがMレーンバス80のうちの単一のデータレーン82上で送信される。異なるワードがDRAM素子56および58のうちの異なるDRAM素子に記憶される。2つのDRAM素子56および58のみが示されるが、代替の態様は、対応するマルチレーンデータバスとともに、さらに多くのDRAM素子を有することができることを理解されたい。
上記のように、図1の従来のDRAM素子16および18は、SoC12から送信されたワードごとにパラレルデータビットを受信することを期待する。したがって、SoC52から送信されたシリアライズされたデータを取り込むために、図2のDRAM素子56および58に変更が加えられる。これに関連して、図3は、DRAM素子58が類似であるという了解の下で、DRAM素子56のブロック図を示す。詳細には、Mレーンバス80(X)のうちのデータレーン82(X)(Y)が、DRAM素子56のDRAMバスインターフェース88に結合される。シリアライズされたデータがDRAMバスインターフェース88からデシリアライザ90に渡され、デシリアライザはデータをデシリアライズしてパラレルデータにする。デシリアライズされた(パラレル)データはデシリアライザ90から先入れ先出し(FIFO)バッファ92に渡され、FIFOバッファは、よく知られているように、ワードをメモリアレイ94にさらにアップロードする。例示的な態様では、FIFOバッファ92のサイズは、メモリアクセス長(MAL)と同じである。DRAMバスインターフェース88は、データを受信するために、データレーン82(X)(Y)に結合される場合があるだけではなく、Mレーンバス80(1)〜80(N)のすべてのデータレーン82(1)(1)〜82(1)(M)から82(N)(1)〜82(N)(M)までに結合される場合もあり、クロック信号64(図示せず)および/またはCA信号70(図示せず)を受信するために通信レーン72に結合される場合もあることを理解されたい。例示的な態様では、通信レーン72は専用コマンドレーンおよび専用クロックレーンによって置き換えられる場合がある。いずれの場合でも、クロック信号64は高速クロック信号であることを理解されたい。
DRAM素子56および58において受信されたデータを、クロック信号64に基づいてシリアルデータに変更し、その後、データをFIFOバッファ92内に集めることによって、メモリシステム50は、ライトレベリングを不要にすることができる。すなわち、データがシリアルに到着するため、もはや異なるパラレルビットが同時に到着するという要件はなく、したがってそのような同時到着を達成するために用いられる複雑な手順(たとえば、ライトレベリング)は不要である。さらに、本開示の態様はまた、調整可能な帯域幅を与え、バスの周波数のスケーリングを必要とすることなく、同等の電力低減の恩恵を受ける。具体的には、使用されないレーンが不要である場合には、使用されないレーンをオフに切り替えることができる。帯域幅を狭くすることができるときにレーンをオフに切り替え、広い帯域幅が必要とされるときにレーンを再びアクティブ化することによって、動的な帯域幅が達成される。対照的に、図1のメモリシステム10のような従来のメモリシステムは、クロック周波数スケーリングを通してのみ、そのような動的な帯域幅を達成することができる。クロック周波数スケーリングは、電力を低減するために動的に周波数を変更するための(PLLからクロック分配への)全体クロッキングアーキテクチャを必要とするので、そのようなクロック周波数スケーリングは一般的に高価であり、メモリシステム内の相対的に大きな広さの面積を消費する。周波数スケーリングを用いることなく帯域幅スケーリングを可能にすることは、動的な周波数スケーリングに関連付けられる複雑な事態を伴うことなく電力低減を可能にする。さらに、帯域幅スケーリングに関するさらなるオプションが必要とされる場合には、クロック信号64の分周器(たとえば、簡単な後置分周器によって達成することができる2n分周)または選択的レーンアクティブ化を含む他の興味深いオプションを使用することができる。
これに関連して、図4は、シリアルデータ転送および選択的レーンアクティブ化を用いることによって帯域幅および電力のスケーリングが達成される、図2のメモリシステム50を示す。簡単のため、SoC52のいくつかの要素が省略されていることに留意されたい。SoC52は、第1のMレーンバス80(1)のための第1のスイッチング要素96と、他のMレーンバス80(2)〜80(N)のための対応する追加のスイッチング要素とを含むが、Mレーンバス80(N)のための第2のスイッチング要素98のみが示される。第1のスイッチング要素96は、個々のデータレーン82(1)(1)〜82(1)(M)を非アクティブ化できるようにするスイッチを有することができる。同様に、第2のスイッチング要素98は、個々のデータレーン82(N)(1)〜82(N)(M)を非アクティブ化できるようにするスイッチを有することができる。追加のスイッチング要素は同様のスイッチを有することができ、他のMレーンバスに対しても同様のスイッチング要素が存在することができる。制御システム60は、第1のスイッチング要素96および第2のスイッチング要素98を制御することができる。個々のレーンをアクティブ化および非アクティブ化することによって、Mレーンバス80の実効帯域幅が変更される。たとえば、データレーン82(1)(1)-82(1)(M)の半分をオフに切り替えることによって、Mレーンバス80(1)の帯域幅が半分になり、電力消費量が半分になる。第1のスイッチング要素96および第2のスイッチング要素98として図示および説明されているが、そのようなルーティングは、上記のマルチプレクサを通して行われる場合があることを理解されたい。所与のデータレーン82は、限られた数の配線を介して、バイナリデータおよび/またはコーディングされたシンボルの両方を含むことができる。
このハードウェアに関する背景に対して、図5は、本開示の例示的な態様による、図2のメモリシステム50とともに使用することができるプロセス100を示す流れ図を示す。プロセス100は、SoC(AP)52内にシリアライザ74を設けること(ブロック102)によって開始する。DRAM素子56および58内にデシリアライザ90が設けられる(ブロック104)。デシリアライザ90に加えて、FIFOバッファ92がDRAM素子56および58内に設けられる(ブロック106)。
図5を引き続き参照すると、ハードウェアが設けられると、DRAM素子56(および58)に記憶されることになるデータが生成される。そのように生成されたデータがワードに分割され、ワードの各バイトが、シリアライザ74によってSoC(AP)52においてシリアライズされる(ブロック108)。制御システム60は、シリアライズされたデータを送信するためにどのデータレーンが使用されることになるかを判断し、シリアライズされたデータを適切なデータレーンにルーティングする。その後、SoC52は、シリアライズされたデータバイトを単一のデータレーン(たとえば、Mレーンバス(たとえば、Mレーンバス80(1)〜80(N))のデータレーン82(X)(Y))を介してDRAM素子(たとえば、DRAM素子56)に送信する(ブロック110)。複数のバイトが送信されている場合、制御システム60は、異なるデータバイトを送信するために使用されるデータレーンの数を決定、変更することができる(ブロック112)。
図5を引き続き参照すると、プロセス100は、DRAM素子56および58において、シリアライズされたデータを受信することによって継続する(ブロック114)。その後、デシリアライザ90が、DRAM素子56および58においてデータをデシリアライズする(ブロック116)。デシリアライズされたデータはFIFOバッファ92に記憶される(ブロック118)とともに、FIFOバッファ92からメモリアレイ94にロードされる(ブロック120)。
先に言及されたように、Mレーンバス80およびM'レーンバス84の速度は相対的に高いので、バイトの最初のビットの到着とバイトの最後のビットの到着との間の遅延は相対的に小さい。したがって、デシリアライズおよびFIFOバッファ92に記憶する際の遅延によって導入されるいかなる待ち時間も、ライトレベリングおよび/または可変周波数PLLに関連付けられる費用および困難性に比べて許容可能である。
本明細書において開示される態様によるDRAMインターフェースのためのシリアルデータ伝送は、任意のプロセッサベースデバイス内に設けられるか、または組み込まれる場合がある。例として、限定はしないが、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定位置データユニット、モバイル位置データユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナー、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤが含まれる。
これに関連して、図6は、図2に示されるメモリシステム50のためのシリアルデータ伝送を利用することができるプロセッサベースシステム130の一例を示す。この例では、プロセッサベースシステム130は、1つまたは複数の中央処理ユニット(CPU)132を含み、各CPUが1つまたは複数のプロセッサ134を含む。CPU132は、一時的に記憶されたデータへの高速アクセスのためにプロセッサ134に結合されたキャッシュメモリ136を有することができる。CPU132は、システムバス138に結合され、プロセッサベースシステム130中に含まれるデバイスを相互結合することができる。よく知られているように、CPU132は、システムバス138を介してアドレス情報、制御情報、およびデータ情報を交換することによって、これらの他のデバイスと通信する。システムバス138は、図2のバス80、84とすることができるか、またはMレーンバス80、84はCPU132の内部に存在することができることに留意されたい。
他のデバイスをシステムバス138に接続することができる。図6に示されるように、これらのデバイスは、例として、メモリシステム140、1つまたは複数の入力デバイス142、1つまたは複数の出力デバイス144、1つまたは複数のネットワークインターフェースデバイス146、および1つまたは複数のディスプレイコントローラ148を含むことができる。入力デバイス142は、限定はしないが、入力キー、スイッチ、音声プロセッサ等を含む、任意のタイプの入力デバイスを含むことができる。出力デバイス144は、限定はしないが、音声、ビデオ、他の視覚インジケータなどを含む、任意のタイプの出力デバイスを含むことができる。ネットワークインターフェースデバイス146は、ネットワーク150との間でのデータ交換を可能にするように構成される任意のデバイスとすることができる。ネットワーク150は、限定はしないが、有線ネットワークまたはワイヤレスネットワーク、プライベートネットワークまたは公衆ネットワーク、ローカルエリアネットワーク(LAN)、ワイヤレスローカルエリアネットワーク(WLAN)、ワイドエリアネットワーク(WAN)、Bluetooth(登録商標)ネットワークおよびインターネットを含む、任意のタイプのネットワークとすることができる。ネットワークインターフェースデバイス146は、所望の任意のタイプの通信プロトコルをサポートするように構成することができる。
また、CPU132は、1つまたは複数のディスプレイ152に送られる情報を制御するために、システムバス138を介してディスプレイコントローラ148にアクセスするように構成することができる。ディスプレイコントローラ148は、1つまたは複数のビデオプロセッサ154を介して表示される情報をディスプレイ152に送り、ビデオプロセッサ154は、表示される情報を、ディスプレイ152に適したフォーマットとなるように処理する。ディスプレイ152は、限定はしないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、発光ダイオード(LED)ディスプレイなどを含む、任意のタイプのディスプレイを含むことができる。
本明細書において開示される態様に関して説明される種々の例示的な論理ブロック、モジュール、回路、およびアルゴリズムは、電子ハードウェア、メモリもしくは別のコンピュータ可読媒体に記憶され、プロセッサもしくは他の処理デバイスによって実行される命令、または両方の組合せとして実現できることを、当業者はさらに理解されよう。本明細書において説明されるデバイスは、例として、任意の回路、ハードウェア構成要素、集積回路(IC)、またはICチップ内で用いることができる。本明細書において開示されるメモリは、任意のタイプおよびサイズのメモリとすることができ、所望の任意のタイプの情報を記憶するように構成することができる。このような互換性を明確に例示するために、種々の例示的な構成要素、ブロック、モジュール、回路、およびステップが、概してその機能に関して説明されてきた。そのような機能がどのように実現されるかは、特定の用途、設計上の選択、および/または、システム全体に課された設計上の制約によって決まる。当業者は、説明された機能を特定の適用例ごとに様々な方法で実施することができるが、そのような実施態様の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
本明細書において開示される態様に関して説明される種々の例示的な論理ブロック、モジュール、および回路は、プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書において説明される機能を実行するように設計されたそれらの任意の組合せにおいて実現または実行することができる。プロセッサは、マイクロプロセッサとすることができるが、代替形態では、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンとすることができる。また、プロセッサは、コンピューティングデバイスの組合せ、たとえばDSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと併用した1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成として実現することができる。
本明細書において開示される態様は、ハードウェアにおいて、また、ハードウェアに記憶された命令において具現される場合があり、命令は、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において知られている任意の他の形態のコンピュータ可読媒体内に存在することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替形態では、記憶媒体はプロセッサと一体に構成することができる。プロセッサおよび記憶媒体はASIC内に存在することができる。ASICは、リモート局内に存在することができる。代替形態では、プロセッサおよび記憶媒体は、個別構成要素として、リモート局、基地局、またはサーバ内に存在することができる。
本明細書の例示的な態様のいずれかにおいて説明された動作ステップは、例および考察を提供するために説明されることにも留意されたい。説明される動作は、図示されるシーケンス以外の多数の異なるシーケンスにおいて実行することができる。さらに、単一の動作ステップにおいて記載される動作が、実際にはいくつかの異なるステップにおいて実行される場合もある。さらに、例示的態様において論じられる1つまたは複数の動作ステップが組み合わせられる場合がある。流れ図に示される動作ステップは、当業者から見て容易に明らかになるような、数多くの異なる変更を受ける場合があることを理解されたい。また、情報および信号を種々の異なる技術および技法のいずれかを使用して表すことができることは、当業者には理解されよう。たとえば、上記の説明全体にわたって参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表すことができる。
本開示のこれまでの説明は、当業者が本開示を作製または使用することを可能にするために提供される。本開示に対する種々の変更形態が当業者には容易に明らかとなり、本明細書において規定される一般的な原理は、本開示の趣旨または範囲から逸脱することなく、他の変形形態に適用することができる。したがって、本開示は、本明細書において説明される例および設計に限定されるものではなく、本明細書において開示される原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
10 メモリシステム
12 システムオンチップ(SoC)、アプリケーションプロセッサ
16 DRAM素子
18 DRAM素子
20 可変周波数PLL
22 クロック(CK)信号
24 インターフェース
26 バスインターフェース
28 バスインターフェース
30 バスインターフェース
32 バスインターフェース
34 CA-CKインターフェース
36 Mレーンバス
38 Mレーンバス
40 Mレーンバス
42 Mレーンバス
50 メモリシステム
52 SoC、AP
54 バンク
56 DRAM素子
58 DRAM素子
60 制御システム(CS)
62 PLL
64 クロック(CK)信号
66 インターフェース
68 CA-CKインターフェース
70 コマンドおよびアドレス(CA)信号
72 通信レーン
74 シリアライザ
76(1) バスインターフェース
76(N) バスインターフェース
78(1) バスインターフェース
78(N) バスインターフェース
80 Mレーンバス
80(1) Mレーンバス
80(N) Mレーンバス
80(X) Mレーンバス
82 データレーン
82(1)(1) データレーン
82(1)(M) データレーン
82(N)(1) データレーン
82(N)(M) データレーン
82(X)(Y) データレーン
84(1) M'レーンバス
84(P) M'レーンバス
86(1)(1) データレーン
86(1)(M') データレーン
86(P)(1) データレーン
86(P)(M') データレーン
88 DRAMバスインターフェース
90 デシリアライザ
92 先入れ先出し(FIFO)バッファ
94 メモリアレイ
96 第1のスイッチング要素
98 第2のスイッチング要素
130 プロセッサベースシステム
132 中央処理ユニット(CPU)
134 プロセッサ
136 キャッシュメモリ
138 システムバス
140 メモリシステム
142 入力デバイス
144 出力デバイス
146 ネットワークインターフェースデバイス
148 ディスプレイコントローラ
150 ネットワーク
152 ディスプレイ
154 ビデオプロセッサ

Claims (14)

  1. アプリケーションプロセッサ(AP)においてデータバイトをシリアライズするステップと、
    前記シリアライズされたデータをダイナミックランダムアクセスメモリ(DRAM)素子を送信するためのバスの単一のレーンを決定するステップと、
    前記シリアライズされたデータバイトを前記決定された前記バスの単一のレーンを介して前記ダイナミックランダムアクセスメモリ(DRAM)素子に送信するステップと、
    前記DRAM素子において、前記バスの前記単一のレーンから、前記シリアライズされたデータバイトを受信するステップと、
    前記APにおいて2つ以上の他のデータバイトをシリアライズするステップと、
    前記2つ以上の他のデータバイトを、前記バスの異なるレーンを介して前記DRAM素子に送信するステップと、
    前記2つ以上の他のデータバイトのうちのいくつが存在するかに基づいて使用される前記異なるレーンの数を選択的に変更するステップであって、必要とされない前記バスのレーンをオフにする、ステップと
    を含む、方法。
  2. 前記DRAM素子において、前記シリアライズされたデータバイトをデシリアライズするステップをさらに含む、請求項1に記載の方法。
  3. 前記デシリアライズされたデータバイトを先入れ先出し(FIFO)バッファに記憶するステップをさらに含む、請求項2に記載の方法。
  4. 前記シリアライズされたデータバイトからのデータを前記DRAM素子のメモリアレイにロードするステップをさらに含む、請求項1に記載の方法。
  5. アプリケーションプロセッサ(AP)であって、
    シリアライザと、
    通信バスに動作可能に結合されるとともに、前記通信バスに関連付けられる複数のデータレーンを扱うように構成されるバスインターフェースと、
    制御システムであって、
    前記シリアライザに、データバイトをシリアライズすることと、前記シリアライズされたデータバイトを、前記バスインターフェースを通して前記通信バスの単一のレーンに渡すことと、異なるデータのバイトを送信するために使用されるデータレーンの数を変更および決定することとを行わせ、前記変更することが、前記複数のデータレーン内のレーンをオンおよびオフに切り替えることを含む
    ように構成される制御システムと
    を備える、アプリケーションプロセッサ(AP)。
  6. クロック信号を生成する位相ロックループをさらに備え、前記クロック信号は前記バスインターフェースによって使用される、請求項5に記載のAP。
  7. 前記バスインターフェースは、クロック信号と、コマンドおよびアドレス信号とを受信するように構成される通信レーンに結合するように構成される、請求項5に記載のAP。
  8. 前記通信レーンは、前記クロック信号と、前記コマンドおよびアドレス信号との両方を搬送するように構成される、請求項7に記載のAP。
  9. ダイナミックランダムアクセスメモリ(DRAM)素子であって、
    通信バスに動作可能に結合されるとともに、前記通信バスからの複数のデータレーンを収容するように構成されるDRAMバスインターフェースであって、前記複数のデータレーンのうちの1つはクロックレーンを備える、DRAMバスインターフェースと、
    前記複数のデータレーンのうちの単一のデータレーンからデータ全体を受信するとともに、前記受信したデータをデシリアライズするように構成されるデシリアライザと、
    前記DRAM素子によって受信された前記データを記憶するように構成されるメモリアレイと
    を備える、ダイナミックランダムアクセスメモリ(DRAM)素子。
  10. 前記複数のデータレーンのうちの1つはコマンドレーンを含む、請求項9に記載のDRAM素子。
  11. 前記デシリアライザに接続されるとともに、前記デシリアライザから前記デシリアライズされたデータを受信するように構成される先入れ先出し(FIFO)バッファをさらに備える、請求項9に記載のDRAM素子。
  12. 前記FIFOバッファは、データを前記メモリアレイにロードするようにさらに構成される、請求項10に記載のDRAM素子。
  13. 複数のデータレーン、1つのクロックレーンおよび1つのコマンドレーンを備える通信バスと、
    請求項5〜8のいずれか一項に記載のアプリケーションプロセッサ(AP)と、
    請求項9〜12のいずれか一項に記載のダイナミックランダムアクセスメモリ(DRAM)素子と
    を備える、メモリシステム。
  14. 前記クロックレーンは前記コマンドレーンである、請求項13に記載のメモリシステム。
JP2016546101A 2014-01-24 2015-01-20 ダイナミックランダムアクセスメモリ(dram)インターフェースのためのシリアルデータ伝送 Active JP6426193B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461930985P 2014-01-24 2014-01-24
US61/930,985 2014-01-24
US14/599,768 2015-01-19
US14/599,768 US20150213850A1 (en) 2014-01-24 2015-01-19 Serial data transmission for dynamic random access memory (dram) interfaces
PCT/US2015/011998 WO2015112483A1 (en) 2014-01-24 2015-01-20 Serial data transmission for dynamic random access memory (dram) interfaces

Publications (3)

Publication Number Publication Date
JP2017504120A JP2017504120A (ja) 2017-02-02
JP2017504120A5 JP2017504120A5 (ja) 2018-02-15
JP6426193B2 true JP6426193B2 (ja) 2018-11-21

Family

ID=53679615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016546101A Active JP6426193B2 (ja) 2014-01-24 2015-01-20 ダイナミックランダムアクセスメモリ(dram)インターフェースのためのシリアルデータ伝送

Country Status (7)

Country Link
US (1) US20150213850A1 (ja)
EP (1) EP3097491A1 (ja)
JP (1) JP6426193B2 (ja)
KR (1) KR20160113152A (ja)
CN (1) CN106415511B (ja)
TW (1) TW201535123A (ja)
WO (1) WO2015112483A1 (ja)

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04326138A (ja) * 1991-04-25 1992-11-16 Fujitsu Ltd 高速メモリic
US5506485A (en) * 1992-08-21 1996-04-09 Eaton Corporation Digital modular microprocessor based electrical contactor system
US7013359B1 (en) * 2001-12-21 2006-03-14 Cypress Semiconductor Corporation High speed memory interface system and method
US7120203B2 (en) * 2002-02-12 2006-10-10 Broadcom Corporation Dual link DVI transmitter serviced by single Phase Locked Loop
US7426597B1 (en) * 2003-05-07 2008-09-16 Nvidia Corporation Apparatus, system, and method for bus link width optimization of a graphics system
US7143207B2 (en) * 2003-11-14 2006-11-28 Intel Corporation Data accumulation between data path having redrive circuit and memory device
US20050210185A1 (en) * 2004-03-18 2005-09-22 Kirsten Renick System and method for organizing data transfers with memory hub memory modules
US7721118B1 (en) * 2004-09-27 2010-05-18 Nvidia Corporation Optimizing power and performance for multi-processor graphics processing
JP4565966B2 (ja) * 2004-10-29 2010-10-20 三洋電機株式会社 メモリ素子
JP2006195810A (ja) * 2005-01-14 2006-07-27 Fuji Xerox Co Ltd メモリコントローラおよび高速データ転送方法
US7624221B1 (en) * 2005-08-01 2009-11-24 Nvidia Corporation Control device for data stream optimizations in a link interface
EP1958404B1 (en) * 2005-11-04 2011-01-19 Nxp B.V. Alignment and deskew for multiple lanes of serial interconnect
US7809969B2 (en) * 2005-12-28 2010-10-05 Intel Corporation Using asymmetric lanes dynamically in a multi-lane serial link
US7593279B2 (en) * 2006-10-11 2009-09-22 Qualcomm Incorporated Concurrent status register read
JP2008176518A (ja) * 2007-01-18 2008-07-31 Renesas Technology Corp マイクロコンピュータ
US7908501B2 (en) * 2007-03-23 2011-03-15 Silicon Image, Inc. Progressive power control of a multi-port memory device
US7930462B2 (en) * 2007-06-01 2011-04-19 Apple Inc. Interface controller that has flexible configurability and low cost
US7624211B2 (en) * 2007-06-27 2009-11-24 Micron Technology, Inc. Method for bus width negotiation of data storage devices
US8582448B2 (en) * 2007-10-22 2013-11-12 Dell Products L.P. Method and apparatus for power throttling of highspeed multi-lane serial links
JP5305543B2 (ja) * 2007-12-21 2013-10-02 ラムバス・インコーポレーテッド メモリシステムの書き込みタイミングを較正する方法および装置
US20090185487A1 (en) * 2008-01-22 2009-07-23 International Business Machines Corporation Automated advance link activation
US7791976B2 (en) * 2008-04-24 2010-09-07 Qualcomm Incorporated Systems and methods for dynamic power savings in electronic memory operation
JP2010081577A (ja) * 2008-08-26 2010-04-08 Elpida Memory Inc 半導体装置およびデータ伝送システム
US20120030420A1 (en) * 2009-04-22 2012-02-02 Rambus Inc. Protocol for refresh between a memory controller and a memory device
US8452908B2 (en) * 2009-12-29 2013-05-28 Juniper Networks, Inc. Low latency serial memory interface
US8890817B2 (en) * 2010-09-07 2014-11-18 Apple Inc. Centralized processing of touch information
CN102411982B (zh) * 2010-09-25 2014-12-10 杭州华三通信技术有限公司 内存控制器及命令控制方法
US8792294B2 (en) * 2012-01-09 2014-07-29 Mediatek Inc. DRAM and access and operating method thereof
KR20140008745A (ko) * 2012-07-11 2014-01-22 삼성전자주식회사 자기 메모리 장치
US8780655B1 (en) * 2012-12-24 2014-07-15 Arm Limited Method and apparatus for aligning a clock signal and a data strobe signal in a memory system
US10191884B2 (en) * 2014-01-28 2019-01-29 Hewlett Packard Enterprise Development Lp Managing a multi-lane serial link

Also Published As

Publication number Publication date
KR20160113152A (ko) 2016-09-28
US20150213850A1 (en) 2015-07-30
WO2015112483A1 (en) 2015-07-30
CN106415511B (zh) 2020-08-28
JP2017504120A (ja) 2017-02-02
EP3097491A1 (en) 2016-11-30
TW201535123A (zh) 2015-09-16
CN106415511A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
KR101288179B1 (ko) 적층된 메모리 디바이스 다이들을 이용하는 메모리 시스템 및 방법, 및 그 메모리 시스템을 이용하는 시스템
US10503435B2 (en) Providing extended dynamic random access memory (DRAM) burst lengths in processor-based systems
US8850137B2 (en) Memory subsystem for counter-based and other applications
KR102664062B1 (ko) 비동기 카운터와 동기 카운터를 포함하는 코드 생성기 및 그것의 동작 방법
US9304532B2 (en) Receiver circuit for correcting skew, semiconductor apparatus and system including the same
KR102354764B1 (ko) 포트-투-포트 루프백들을 이용한 동적 랜덤 액세스 메모리 (dram) 시스템들의 메모리 훈련의 제공, 및 관련 방법들, 시스템들, 및 장치들
WO2015171265A1 (en) Clock skew management systems, methods, and related components
US20210280226A1 (en) Memory component with adjustable core-to-interface data rate ratio
JP6363316B1 (ja) 複数のインターフェースによるメモリ空間へのコンカレントアクセス
US11144368B2 (en) Providing self-resetting multi-producer multi-consumer semaphores in distributed processor-based systems
JP6426193B2 (ja) ダイナミックランダムアクセスメモリ(dram)インターフェースのためのシリアルデータ伝送
US20160292112A1 (en) Shared control of a phase locked loop (pll) for a multi-port physical layer (phy)
US11567769B2 (en) Data pipeline circuit supporting increased data transfer interface frequency with reduced power consumption, and related methods
US20170330634A1 (en) Test mode circuit with serialized i/o and semiconductor memory device including the same
KR20170116918A (ko) 다중-입력 쉬프트 레지스터 기능을 지원하는 입출력 회로 및 이를 포함하는 메모리 장치
KR20170108454A (ko) 레이턴시 제어 장치 및 이를 포함하는 반도체 장치
JP2017504120A5 (ja)

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180919

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181024

R150 Certificate of patent or registration of utility model

Ref document number: 6426193

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