(57)【特許請求の範囲】
【請求項１】
アプリケーションプロセッサ(AP)においてデータバイトをシリアライズするステップと、
前記シリアライズされたデータをダイナミックランダムアクセスメモリ(DRAM)素子を送信するためのバスの単一のレーンを決定するステップと、
前記シリアライズされたデータバイトを前記決定された前記バスの単一のレーンを介して前記ダイナミックランダムアクセスメモリ(DRAM)素子に送信するステップと、
前記DRAM素子において、前記バスの前記単一のレーンから、前記シリアライズされたデータバイトを受信するステップと、
前記APにおいて2つ以上の他のデータバイトをシリアライズするステップと、
前記2つ以上の他のデータバイトを、前記バスの異なるレーンを介して前記DRAM素子に送信するステップと、
前記2つ以上の他のデータバイトのうちのいくつが存在するかに基づいて使用される前記異なるレーンの数を選択的に変更するステップであって、必要とされない前記バスのレーンをオフにする、ステップと
を含む、方法。
【請求項２】
前記DRAM素子において、前記シリアライズされたデータバイトをデシリアライズするステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記デシリアライズされたデータバイトを先入れ先出し(FIFO)バッファに記憶するステップをさらに含む、請求項2に記載の方法。
【請求項４】
前記シリアライズされたデータバイトからのデータを前記DRAM素子のメモリアレイにロードするステップをさらに含む、請求項1に記載の方法。
【請求項５】
アプリケーションプロセッサ(AP)であって、
シリアライザと、
通信バスに動作可能に結合されるとともに、前記通信バスに関連付けられる複数のデータレーンを扱うように構成されるバスインターフェースと、
制御システムであって、
前記シリアライザに、データバイトをシリアライズすることと、前記シリアライズされたデータバイトを、前記バスインターフェースを通して前記通信バスの単一のレーンに渡すことと、異なるデータのバイトを送信するために使用されるデータレーンの数を変更および決定することとを行わせ、前記変更することが、前記複数のデータレーン内のレーンをオンおよびオフに切り替えることを含む
ように構成される制御システムと
を備える、アプリケーションプロセッサ(AP)。
【請求項６】
クロック信号を生成する位相ロックループをさらに備え、前記クロック信号は前記バスインターフェースによって使用される、請求項5に記載のAP。
【請求項７】
前記バスインターフェースは、クロック信号と、コマンドおよびアドレス信号とを受信するように構成される通信レーンに結合するように構成される、請求項5に記載のAP。
【請求項８】
前記通信レーンは、前記クロック信号と、前記コマンドおよびアドレス信号との両方を搬送するように構成される、請求項7に記載のAP。
【請求項９】
ダイナミックランダムアクセスメモリ(DRAM)素子であって、
通信バスに動作可能に結合されるとともに、前記通信バスからの複数のデータレーンを収容するように構成されるDRAMバスインターフェースであって、前記複数のデータレーンのうちの1つはクロックレーンを備える、DRAMバスインターフェースと、
前記複数のデータレーンのうちの単一のデータレーンからデータ全体を受信するとともに、前記受信したデータをデシリアライズするように構成されるデシリアライザと、
前記DRAM素子によって受信された前記データを記憶するように構成されるメモリアレイと
を備える、ダイナミックランダムアクセスメモリ(DRAM)素子。
【請求項１０】
前記複数のデータレーンのうちの1つはコマンドレーンを含む、請求項9に記載のDRAM素子。
【請求項１１】
前記デシリアライザに接続されるとともに、前記デシリアライザから前記デシリアライズされたデータを受信するように構成される先入れ先出し(FIFO)バッファをさらに備える、請求項9に記載のDRAM素子。
【請求項１２】
前記FIFOバッファは、データを前記メモリアレイにロードするようにさらに構成される、請求項10に記載のDRAM素子。
【請求項１３】
複数のデータレーン、1つのクロックレーンおよび1つのコマンドレーンを備える通信バスと、
請求項5〜8のいずれか一項に記載のアプリケーションプロセッサ(AP)と、
請求項9〜12のいずれか一項に記載のダイナミックランダムアクセスメモリ(DRAM)素子と
を備える、メモリシステム。
【請求項１４】
前記クロックレーンは前記コマンドレーンである、請求項13に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権主張
本出願は、その全体が参照により本明細書に組み込まれる、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  ビデオプロセッサ
【図１】
0006426193.tif 000002
【図２】
0006426193.tif 000003
【図３】
0006426193.tif 000004
【図４】
0006426193.tif 000005
【図５】
0006426193.tif 000006
【図６】
0006426193.tif 000007