JP6740456B2 - 多重チャネルキャッシュメモリおよびシステムメモリデバイス - Google Patents

多重チャネルキャッシュメモリおよびシステムメモリデバイス Download PDF

Info

Publication number
JP6740456B2
JP6740456B2 JP2019505360A JP2019505360A JP6740456B2 JP 6740456 B2 JP6740456 B2 JP 6740456B2 JP 2019505360 A JP2019505360 A JP 2019505360A JP 2019505360 A JP2019505360 A JP 2019505360A JP 6740456 B2 JP6740456 B2 JP 6740456B2
Authority
JP
Japan
Prior art keywords
chip
memory
memory controller
cache
serializer
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
JP2019505360A
Other languages
English (en)
Other versions
JP2019523508A (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 JP2019523508A publication Critical patent/JP2019523508A/ja
Application granted granted Critical
Publication of JP6740456B2 publication Critical patent/JP6740456B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)

Description

[優先権の主張]
本出願は、2016年8月1日に出願された「Multiple Channel Cache Memory and System Memory Device Utilizing a Pseudo Multiple Port for Commands and Addresses and A Multiple Frequency Band QAM Serializer/De−Serializer for Data」と題する米国仮特許出願第62/369,597号に基づく優先権を主張するものであり、参照により本明細書に組み入れられる。
[技術分野]
高性能、低電力かつコスト効率に優れた多重チャネルキャッシュメモリ/システムメモリが開示される。
複数のコアプロセッサまたは複数のプロセッサを含む高性能コンピューティングシステム、特にはグラフィックプロセッシングユニット(GPU)等のさらなるハードウェアアクセラレータを用いるシステムにおいてはキャッシュメモリおよびシステムメモリの両方の性能が重要である。これらのコンピューティングシステムはますます汎用コンピューティングを実行するだけでなくディープマシンラーニングや大規模データマイニングをも実行するようになってきている。
コンピューティングシステムに課される要求に対処するために、メモリシステムはメモリアクセスレイテンシおよびメモリ帯域幅への最適化を同時に行う必要がある。同じコンピューティングシステム上のメモリアクセスレイテンシおよびメモリ帯域幅を最適化するためには、バス上でのメモリ衝突の頻度を減少させるとともにキャッシュ性能を向上させなければならない。
従来技術の手法には大型のキャッシュRAMがサービス(service)しているプロセッサコアと同じシリコン上にその大型のキャッシュRAMを統合することによってキャッシュ性能を向上させることが含まれてきた。しかしながら、この手法は大型RAMのコストのために制限される。
他の従来技術の手法では大型のオフチップRAMがサーブ(serve)しているプロセッサコアとは異なるシリコン上に配置されたその大型のオフチップRAMを用いてきた。しかしながら、この手法ではRAMチップとプロセッサコアチップとの間に多数の接続ピンが必要になり、システム設計コストは好ましいものではなくなる。
別の従来技術の手法はメモリバスのバス幅およびクロックレートを増加させることによってメモリ帯域幅を広げる「ブルートフォース(brute force)」手法である。しかしながら、この手法の下では、システムが複数のハードウェアアクセラレータを有する場合はシステムの様々なメモリマスタからのメモリ要求が衝突しやすくなる。
別の従来技術の手法は多重並列メモリチャネルであり、この手法は高い有効メモリ帯域幅を維持し、複数のハードウェアアクセラレータに対してその高帯域幅をサポートするための最も効果的な解決策である。この手法の限界はプロセッサチップとRAMチップとの間に多数のインターフェース接続ピンがまたしても必要になることである。多数の接続ピンを用いることにより、チップのコスト、サイズおよび製造上の複雑さが増加する。
従来技術にはあるチップから別のチップへとデータを伝送するための複数の手法も含まれる。参照により本明細書に組み入れられ、発明者にこの出願を共有する「Scalable Serial/De−serial I/O for Chip−to−Chip Connection Based on Multi Frequency QAM Scheme」と題する米国特許第9,369,318号では、シリアライザ/デシリアライザ(「SerDes」) の実施形態が開示された。
この従来技術の技法は図5に示される。シリアライザ530およびデシリアライザ540は一般に異なるチップ上に配置されI/Oインターフェース510によって接続される。シリアライザ540はこの例において8ビット、D0からD7として示されている、並列デジタルデータを受信する。このデータはデジタル−アナログ2ビットコンバータ501、502、503および504によってアナログ形式に変換される。デジタル−アナログ2ビットコンバータ501、502、503および504からの各アナログ出力はQAMミキサに結合される。DAC501からの出力はミキサ505のQAM Iチャネルで受信され、ミキサ505はまた90度位相のずれた変調搬送波F1_Iを受信する。DAC502からの出力はミキサ506のQAM Iチャネルで受信され、ミキサ506はまた90度位相のずれた変調搬送波F1_Qを受信する。ミキサ505および506の両方がQAM変調器524に関連付けられる。同様に、DAC503からの出力は90度位相のずれた変調搬送波F2_Iも受信するミキサ507に結合され、一方DAC504からの出力は90度位相のずれた変調搬送波F2_Qも受信するミキサ508で受信される。ミキサ507および508の両方がQAM変調器525に関連付けられる。両方のQAM変調器524および525のミキサからの出力は加算器509で合計され、シリアライザ530を含むチップからI/Oインターフェース510を介して出力される。この変調プロセスを通して、並列入力はアナログ信号として直列出力にシリアル化される。
I/O接続部510を介したアナログ信号は第二のチップ内のデシリアライザ540によって受信される。デシリアライザ540は信号を受信し、ローパスフィルタにおける損失を補うために利得段を提供する増幅器511を含むことが好ましい。増幅信号は第一のQAM復調器526内のミキサ512および513に、そして第二のQAM復調器527内のミキサ514および515にそれぞれ提供され、第一のQAM復調器526は90度位相のずれた変調搬送波F1_I、F1_Qを受信し、第二のQAM復調器527は増幅信号とともに90度位相のずれた変調搬送波F2_I、F2_Qを受信する。四つのアナログ信号はミキサ512、513、514および515からローパスフィルタ516、517、518および519にそれぞれ出力される。ローパスフィルタは任意の所望の構成および次数(すなわち、二次、三次等)であり得る。ローパスフィルタ516、517、518および519からの出力は2ビットアナログ−デジタルコンバータ(ADC)520、521、522および523によってそれぞれ受信され、2ビットADC520、521、522および523はデジタルデータを出力する。この復調プロセスを通して、アナログ直列信号は並列デジタル出力にデシリアル化される。一般に、いずれかのチップがデータを送信していずれかのチップがデータを受信することができるように、各チップはシリアライザ530およびデシリアライザ540を含む。
したがって、図5の従来技術のシステムでは、8ビット並列入力は第一のチップ内の一つのI/OインターフェースにQAM16の二つの周波数帯によってシリアル化され、第二のチップに送信され、さらにQAM16復調の二つの周波数帯によって第二のチップ内で並列データにデシリアル化される。16ビットの並列データおよび四つの周波数帯域のQAM16または二つの周波数帯域のQAM256を用いること等の、他の構成を用いることができることを理解されるべきである。今日まで、図5のSerDes設計はメモリシステムにおいて用いられてこなかった。
従来技術は所与のチャネルを介して伝送されることのできる情報量を最大化するための他の技法を含む。参照により本明細書に組み入れられ、発明者にこの出願を共有する「Pipelined Dual Port RAM」と題する米国特許第5,206,833号は疑似多重ポートメモリの技法を紹介した。この従来技術の技法は図6に示される。デバイス601および602はそれぞれデータを出力し、そのデータはマルチプレクサ603によって受信される。マルチプレクサ603は調停信号によって制御される。図示されるように、マルチプレクサ603はデバイス601および602からのデータを単一のチャネルに統合する。一つの実施形態では、デバイス601はデバイス602よりも優先され、デバイス602からのデータはデバイス601が休止している場合にのみマルチプレクサ603から出力される。実際には一つのポートしか存在しないにもかかわらず、これにより疑似多重ポートデバイスが効果的に生成される。今日まで、この技法はメモリシステムでのコマンドおよびアドレスの処理において用いられてこなかった。
プロセッサチップとメモリチップとの間に多数のさらなるピンを加えることなくメモリアクセスレイテンシおよびメモリ帯域幅を最適化しながらも同時に動作させることのできる多重メモリチャネルを可能にするキャッシュメモリおよびシステムメモリのための新しいアーキテクチャが必要とされている。
本明細書に記載の実施形態はデータバスにSerDes技法を活用し、コマンド/アドレスバス用の疑似多重ポート技法を活用するキャッシュメモリおよびシステムメモリアーキテクチャを含み、多重チャネルの並列キャッシュ−システムメモリが得られる。提案されるキャッシュ−システムメモリの多重チャネルにより良好なキャッシュ性能と良好なシステムメモリ性能が得られる。
図1は、改良されたキャッシュメモリおよびシステムメモリアーキテクチャを活用するコンピューティングデバイスの実施形態を描写する。 図2は、改良されたキャッシュメモリおよびシステムメモリアーキテクチャを活用する実施形態のクアッドチャネルのブロックダイアグラムを含む。 図3は、改良されたキャッシュメモリおよびシステムメモリアーキテクチャにおいて活用される、プロセッサチップとキャッシュメモリチップとの間のバス用の例示的なタイミングダイアグラムを描写する。 図4Aは、従来技術のメモリシステムを描写する。 図4Bは、改良されたキャッシュメモリおよびシステムメモリアーキテクチャを活用する実施形態のブロックダイアグラムを描写する。 図5は、従来技術のシリアライザおよびデシリアライザを描写する。 図6は、従来技術の疑似多重ポートデバイスを描写する。
図1は4チャネル並列キャッシュ−システムメモリシステムを含むコンピューティングデバイス100の実施形態を描写する。コンピューティングデバイス100は(「SOC」と表される)システムオンチッププロセッサ110を含み、SOCプロセッサ110は(「LLC/DRAMコントローラ」と表される)ラストレベルキャッシュおよびシステムメモリコントローラ104を含む。SOCプロセッサ110はキャッシュシステムチップ120に結合され、キャッシュシステムチップ120はSOCプロセッサ110から切り離されている。
キャッシュシステムチップ120は異なるタイプのシステムメモリを接続するためにキャッシュRAMとレガシーPHYの多重チャネルとを統合する。キャッシュシステムチップ120はキャッシュシステムチップ120と、システムメモリバス117と、プロセッサキャッシュバス129との間のトラフィックを調整するデータルータ127を含む。キャッシュシステムチップ120はキャッシュシステムチップ120をLPDDR、DDR、GDR、HBM、HMC等のシステムメモリ130に接続するためにキャッシュメモリアレイ126a...126j(jは4等の整数)およびレガシーフィジカルインターフェース(PHY)128a...128d(dは4等の整数)をさらに含む。この例において、キャッシュメモリアレイ126はそれぞれ4MBの四つのアレイを含む。当該技術分野の当業者においては、図1の例は目標とする性能およびシステムオンチップの複雑さに応じてさらなるメモリチャネルおよびより大きなキャッシュRAMサイズを含むために拡張されることができることが理解されるであろう。
SOCプロセッサ110はCPUコア101a...101i(iは2または4等の整数)をさらに含み、その各々がL1キャッシュメモリシステム102a...102iに結合され、さらにその各々がL2キャッシュメモリシステム103に結合される。L2キャッシュメモリシステム103はプロセッサキャッシュバス129を介してLLC/DRAMコントローラ104に(具体的には、ラストレベルキャッシュコントローラ105に)結合される。ここで、LLCまたはラストレベルキャッシュはL3またはL4(後者はL2キャッシュメモリ103とラストレベルキャッシュコントローラ105との間に別のレベルのキャッシュメモリを必要とする)等の、CPUコア101a...101iによって活用されるキャッシュメモリのラストレベルを参照する。
SOCプロセッサ110はグラフィックプロセッサユニット(GPU)コア115a...115k(kは整数)をさらに含み、その各々が共有GPUキャッシュメモリシステム116に結合される。
SOCプロセッサ110は以下のデバイス、共有GPUキャッシュメモリシステム116、シリアルMFI SerDesコントローラ118、バスブリッジ121、ディスプレイエンジン123、DSPビデオマルチメディアプロセッサ124およびSOCプロセッサ110が結合されるシステムバス117をさらに含む。シリアルMFI SerDesコントローラ118はシリアルMFI SerDes119にも結合され、シリアルMFI SerDes119はさらにソリッドステートドライブまたはハードウェアアクセラレータ等の外部デバイス140に接続する。バスブリッジ121はPCIe(PCI Express)コントローラ122に結合され、PCIeコントローラ122はさらにレガシーPhy125に結合される。ディスプレイエンジン123もまたレガシーPhy125に結合され、レガシーPhy125はさらにUSB、イーサネット(登録商標)およびHDMI(登録商標)ポート等のI/Oポート150に結合される。
LLC/DRAMコントローラ104はラストレベルキャッシュ(LLC)コントローラ105、クアッドチャネルメモリアービタ106、MFI SerDes107、DRAMコントローラ108およびMFI SerDes109をさらに含む。クアッドチャネルメモリアービタ106はシステムバス117に結合される。
図1に示されるように、システムは複数のハードウェアアクセラレータおよびメモリマスタを有する。多重メモリチャネルはメモリ要求が衝突する可能性を減少させ高持続性のメモリ帯域幅を達成することができる。二つのメモリ要求が特定のメモリチャネルにおいて衝突した場合は、メモリアビータ106は調停アルゴリズムに基づく特定のメモリマスタへのサービスを許可するために要求の調停を実行する。
図2はコンピューティングデバイス100のクアッドチャネル並列キャッシュメモリ/システムメモリシステムに関するさらなる詳細を含む。プロセッサキャッシュバス129およびシステムバス117が描写されている。システムメモリバス117はクアッドチャネルメモリアービタ106に接続され、クアッドチャネルメモリアービタ106はさらにシステムメモリコントローラ108、SerDes107および疑似多重ポートCMD/ADR205a、205b、205cおよび205dに結合される。プロセッサキャッシュバス129はLLC Tag206に結合され、LLC Tag206はさらにLLCコントローラ105、SerDes107および疑似多重ポートCMD/ADR204a、204b、204cおよび204dに結合される。疑似多重ポートCMD/ADR204、204b、204c、204d、205a、205b、205cおよび205dはキャッシュシステムチップ120、具体的には、CMD/ADRインターフェース202a、202b、202cおよび202dに結合される。SerDes107はキャッシュシステムチップ120、具体的には、SerDesインターフェース201a、201b、20c、201d、203a、203b、203cおよび203dに結合される。データルータ127はレガシーPhy128a、128b、128cおよび128dに結合され、レガシーPhy128a、128b、128cおよび128dはさらにシステムメモリ130に結合される。
図2において、メモリ要求はシステムメモリバス117上のメモリマスタだけでなくキャッシュミスがある場合のラストレベルキャッシュ105によってもアサートされる。すなわち、特定のメモリ要求に対して、LLCコントローラ105はまずそのデータについてラストレベルキャッシュメモリをチェックする。データがラストレベルキャッシュメモリに存在しないかまたはデータが古くなっている(stale)場合、それはキャッシュミスとみなされ、その要求はキャッシュシステムチップ120に転送される。メモリアクセスのためのデータ経路は、キャッシュメモリチップ120内のデータルータ127によって様々なバス条件に対してアレンジされる。アービタ106がどのメモリマスタをサーブさせるかを決定すると、バス要求はシステムメモリコントローラ108に転送される。システムメモリコントローラ108内のステートマシンはシステムメモリ130に対して正しいシーケンスのコマンドおよびアドレスを発行する。
アービタ106がシステムメモリコントローラ108に要求を転送するとき、メモリ要求がキャッシュ可能な交換メモリ領域にある場合はスヌーピング比較のために、ラストレベルキャッシュ(LLC)TAG206に同じメモリ要求を転送する必要もある。スヌーピングヒットがある場合、キャッシュメモリチップ120内のデータルータ127は比較的遅いシステムメモリ130の代わりに高速キャッシュRAM126a...126jからのデータ経路の再ルーティングを実行しなければならない。
プロセッサメモリ要求がキャッシュヒットである場合、SOCプロセッサ110は他のシステムメモリマスタと同時にメモリにアクセスする。しかしキャッシュミスがある場合、LLC TAG206はプロセッサメモリ要求をアービタ106に転送しなければならず、アービタ106はシステムメモリバス117をLLC TAG206に許可する。このキャッシュミスサイクルが実行されると、キャッシュメモリチップ120内のデータルータ127はデータ経路の再ルーティングを実行しなければならない。
表1はキャッシュメモリチップ120内のデータルータ127がどのようにして全ての可能性のあるサイクルについてルーティングを実行するかを示す。
Figure 0006740456
この実施形態では、キャッシュメモリチップ120内のデータルータ127は表1に記載のメモリデータ経路のルーティングを実行しなければならない。
SerDesアーキテクチャを活用することで図2に示されるようにSOCプロセッサ110とキャッシュメモリチップ120との間のデータバスに必要なピンの数を減らすことができる。しかし半二重SerDesのレイテンシがメモリ性能を低下させるためSerDes設計をコマンドおよびアドレスバスに用いることができない。全二重SerDesはレイテンシ問題を解決することができるが、並列バスと比較したSerDesのアドバンテージはピンの数を倍にするためのコストにより容易に打ち消される。
システムメモリバス117が固定バースト長転送においてデータを転送する場合、バス上の連続したコマンドとアドレスとの間のアイドルサイクルを観察することができる。一般的なメモリ設計において、バースト長は各メモリアクセスに対して4または8の固定されたバーストである。メモリバスのバースト長の選択はプロセッサキャッシュラインサイズとDRANの固定バースト長を同期させることである。
メモリバースト長が8である場合、最速の連続したコマンドおよびアドレスは8番目のクロックよりも早くなることはない。図3はプロセッサとキャッシュRAMチップとの間のインターフェースバスのタイミングシーケンスを示し、メモリアレイに対するパイプラインレイテンシは2-1-1-1-1-1-1-1である。
第一のコマンド/アドレスは1番目のクロックでメモリマスタ0によってアサートされる。メモリアレイは2番目のクロックで開始し9番目のクロックで終了する8つの連続したデータを返す。図3に示されるように、1番目のクロックでコマンドアドレスを発行した後メモリマスタ0による最速の次の連続したコマンドアドレスは9番目のクロックにある。すなわち、1番目のクロックと9番目のクロックの間、コマンド/アドレスバスはメモリマスタ0に対してアイドル状態であり、他のメモリマスタが同じバスにコマンドアドレスを発行するために利用可能である。したがって、他のメモリマスタはアイドル状態のコマンドアドレスバスから「サイクルスチール(cycle stealing)」を実行することができる。単一のコマンドアドレス上でこのタイプのサイクルスチールを通すことにより、各メモリチャネルに対して複数の専用のコマンドアドレスバスを用いることなく単一のコマンドアドレスバス上で複数のメモリチャネルをサポートすることができる。図3は、8つのメモリバースト長が単一のコマンドアドレスバス上で最大8つの並列メモリチャネルコマンドアドレスサイクルをサポートすることができることを示す。
メモリアレイアーキテクチャは行および列デコーダから構成されるため、性能を低下させることなくコマンドおよびアドレスバスプロトコルのさらなる削減を達成することができる。キャッシュメモリチップ120は一般にSRAMから構成され、メモリアクセスを減速させることなく行アドレスよりも後に列アドレスをデコードすることができる。したがって、SRAMコマンドアドレスバスプロトコルは立ち上がりクロックエッジで行アドレスをストローブし、立ち下がりクロックエッジで列アドレスをストローブすることができる。このようにして、アドレス信号の数を半分に減らすことができる。
キャッシュRAMチップ120に対するコマンドアドレスバスプロトコルは二組のコマンドアドレスプロトコルから成り、一方はキャッシュRAMに対するもの、もう一方はレガシーシステムメモリに対するものである。データルータ127はキャッシュミスまたはスヌープヒットがある場合は必ず、表1に記載されるようにキャッシュRAM126a...126jとシステムメモリ130との間でデータを再びルーティングしなければならない。したがって、キャッシュRAMチップに対するコマンドには、メモリデータをどのように再ルーティングするかについてのデータルータ127への命令を含まなければならない。
図2に示される四つの切り離されたキャッシュRAMコマンドアドレスバスは前述の固定バースト長サイクルスチール技法に基づく単一のコマンドアドレスバスによって実施することができる。すなわち、単一のコマンドアドレスバスはメモリコマンドアドレスバスの疑似多重ポートとして実行する。四つのレガシーシステムメモリコマンドはキャッシュRAMコマンドアドレスバスのような単一のコマンドアドレスバスまで減らすこともできる。
従来技術の設計とこれらの実施形態との間の高度な差が図4Aおよび図4Bに示される。
図4Aにおいて、従来技術のシステム400が示されており、プロセッサSOC410はラストレベルキャッシュ420を含み、またSOC410は多数のデータピン440およびコマンド/アドレスピン450を介してシステムメモリ430(例えば、DRAMチップ)とインターフェースをとる。ラストレベルキャッシュ420のサイズを増加させることでキャッシュヒット率が向上する。しかしながら、SOC半導体プロセスは比較的高価であり、そのためSOC410上でより大きなラストレベルキャッシュ420を用いることは高価になる。
図4Bにおいて、コンピューティングデバイス100が示されており、プロセッサSOC110はSerDesインターフェース112およびコマンド/アドレスインターフェース410を介してキャッシュシステムメモリ120とインターフェースをとる。キャッシュシステムメモリモジュール120はラストレベルキャッシュメモリ126a...126jならびにシステムメモリ128a...128dおよび130とから成る。ラストレベルキャッシュはSOCとは別のチップ上にあるため、キャッシュシステムメモリモジュールをより安価な半導体プロセスで製造することができ、図4Aよりもラストレベルキャッシュを大きく作ることができる。一般に、SOCは約11の金属層を用いて製造されるのに対して、メモリチップは約6の金属層を用いて製造されることができる。
図4Bに示される実施形態の別の利点はSOCとシステムメモリとの間にピンを必要としないことである。これらのピンは一般にかなりの電力を必要とし、終端回路も必要とする。
要約すると、我々はレイテンシの短いSerDesおよび疑似多重ポートコマンドアドレスバスに基づく多重チャネル並列キャッシュRAMおよびシステムメモリのための発明を説明する。本発明はコスト競争力のある製造のために多重メモリチャネル用のプロセッサとメモリシステムとの間のインターフェースピンを減らすだけでなく、レイテンシが短く同時性の高い、高度なメモリ性能を維持する。

Claims (16)

  1. コンピューティングデバイスであって、
    一つまたは複数のCPUコア、前記一つまたは複数のCPUコアに結合されたメモリコントローラ、および第一のシリアライザ−デシリアライザデバイスを含む第一のチップであって、前記メモリコントローラがキャッシュメモリコントローラ、およびシステムメモリコントローラを含む、第一のチップと、
    前記キャッシュメモリコントローラによって管理されるキャッシュメモリ、データルータ、および第二のシリアライザ−デシリアライザデバイスを含む第二のチップと、
    前記第一のチップおよび前記第二のチップから切り離され、前記システムメモリコントローラおよび前記データルータによって管理されるシステムメモリと、
    前記システムメモリと前記第二のチップとの間に結合される第一のインターフェースと、
    前記第一のシリアライザ−デシリアライザデバイスと前記第二のシリアライザ−デシリアライザデバイスとの間に結合される単一のワイヤを含む第二のインターフェースであって、前記第一のシリアライザ−デシリアライザデバイスおよび前記第二のシリアライザ−デシリアライザデバイスが直交振幅変調を用いる前記単一のワイヤを介してデータを交換する、第二のインターフェースと、
    を含み、
    メモリ要求に対するキャッシュヒットがある場合は前記第二のインターフェースを介して前記キャッシュメモリから前記一つまたは複数のCPUコアにデータを提供することによって前記キャッシュメモリコントローラにより、または前記メモリ要求に対するキャッシュミスがある場合は前記システムメモリから前記一つまたは複数のCPUコアにデータを提供することによって前記データルータにより前記一つまたは複数のCPUコアからのメモリ要求が満たされる(service)、
    コンピューティングデバイス。
  2. 前記メモリコントローラがプロセッサバスを有する前記一つまたは複数のCPUコアに結合される、請求項1に記載のコンピューティングデバイス。
  3. 前記メモリコントローラに結合されたシステムバスをさらに含む、請求項2に記載のコンピューティングデバイス。
  4. 前記システムバスが一つまたは複数のグラフィックプロセッサユニット(GPU)コアに結合される、請求項3に記載のコンピューティングデバイス。
  5. 前記メモリコントローラが前記システムバスの制御を管理するためのアービタを含む、請求項4に記載のコンピューティングデバイス。
  6. コンピューティングデバイスであって、
    一つまたは複数のCPUコア、前記一つまたは複数のCPUコアに結合されたメモリコントローラ、および第一のシリアライザ−デシリアライザデバイスを含む第一のチップとであって、前記メモリコントローラがキャッシュメモリコントローラ、およびシステムメモリコントローラを含む、第一のチップと
    前記キャッシュメモリコントローラによって管理されるキャッシュメモリ、データルータ、および第二のシリアライザ−デシリアライザデバイスを含む第二のチップと、
    前記第一のチップおよび前記第二のチップから切り離され、前記システムメモリコントローラおよび前記データルータによって管理され、第一のインターフェースにより前記第二のチップに結合される、システムメモリと、
    前記第一のチップ前記第二のチップとの間に単一のワイヤを含む第二のインターフェースであって、前記第一のシリアライザ−デシリアライザデバイスおよび前記第二のシリアライザ−デシリアライザデバイスが直交振幅変調を用いて前記単一のワイヤを介して複数のデータビットを交換する、第二のインターフェースと、
    前記第一のチップと前記第二のチップとの間のバスであって、前記メモリコントローラおよび前記データルータがコマンドおよびアドレス情報を転送する、バスと、
    を含み、
    前記バスを介して前記データルータにより受信される前記一つまたは複数のCPUコアからのメモリ要求に応答して、前記メモリ要求に対するキャッシュヒットがある場合は前記キャッシュメモリから、または前記メモリ要求に対するキャッシュミスがある場合は前記システムメモリから前記一つまたは複数のCPUコアに前記第二のインターフェースを介してデータ提供される、
    コンピューティングデバイス。
  7. 前記メモリコントローラがプロセッサバスを有する前記一つまたは複数のCPUコアに結合される、請求項6に記載のコンピューティングデバイス。
  8. 前記メモリコントローラに結合されたシステムバスをさらに含む、請求項7に記載のコンピューティングデバイス。
  9. 前記システムバスが一つまたは複数のグラフィックプロセッサユニット(GPU)コアに結合される、請求項8に記載のコンピューティングデバイス。
  10. 前記メモリコントローラが前記システムバスの制御を管理するためのアービタを含む、請求項9に記載のコンピューティングデバイス。
  11. コンピューティングデバイス内のデータを読み取るための方法であって、前記コンピューティングデバイスが第一のチップ、第二のチップ、およびシステムメモリを含み、前記第一のチップが一つまたは複数のCPUコア、前記一つまたは複数のCPUコアに結合されたメモリコントローラ、および第一のシリアライザ−デシリアライザデバイスを含み、前記メモリコントローラがシステムメモリコントローラ、およびキャッシュメモリコントローラを含み、前記第二のチップが前記キャッシュメモリコントローラによって管理されるキャッシュメモリ、および第二のシリアライザ−デシリアライザデバイスを含み、
    前記メモリコントローラによって、アドレスに関連付けられたデータに対する前記一つまたは複数のCPUコアからの読み取り要求を受信することと、
    前記アドレスに対するキャッシュヒットがある場合は前記キャッシュメモリから、および前記アドレスに対するキャッシュミスがある場合は前記システムメモリから、前記アドレスに関連付けられた前記データを取得することと、
    前記第二のシリアライザ−デシリアライザデバイスを用いて、アナログ信号を生成するために直交振幅変調を用いる前記アドレスに関連付けられた前記データを変調することと、
    単一のワイヤを介して前記アナログ信号を前記第二のシリアライザ−デシリアライザから前記第一のシリアライザ−デシリアライザに伝送することと、
    前記第一のシリアライザ−デシリアライザデバイスを用いて、前記アドレスに関連付けられた前記データを生成するために前記データを復調することと、
    前記読み取り要求に応答して前記アドレスに関連付けられた前記データを前記一つまたは複数のCPUコアに送信することと、
    を含む、方法。
  12. 変調ステップが、
    アドレスに関連付けられた前記データを調停アナログ信号に変換することと、
    複数の直交振幅変調器を用いて前記調停アナログ信号を変調することと、
    前記アナログ信号を生成するために前記複数の直交振幅変調器の出力を合計することと、
    を含む、請求項11に記載の方法。
  13. 復調ステップが、
    増幅アナログ信号を生成するために前記アナログ信号に利得を適用することと、
    複数の直交振幅変調器を用いて前記増幅アナログ信号を復調することと、
    ローパスフィルタを用いて復調信号をフィルタリングすることと、
    前記フィルタリングされたデータをアドレスに関連付けられた前記データに変換することと、
    を含む、請求項12に記載の方法。
  14. コンピューティングデバイス内のデータを読み取るための方法であって、前記コンピューティングデバイスが第一のチップ、第二のチップ、およびインターフェースにより前記第二のチップに結合されたシステムメモリを含み、前記第一のチップが一つまたは複数のCPUコア、前記一つまたは複数のCPUコアに結合されたメモリコントローラ、および第一のシリアライザ−デシリアライザデバイスを含み、前記第二のチップが前記メモリコントローラによって管理されるキャッシュメモリ、および第二のシリアライザ−デシリアライザデバイスを含み、前記メモリコントローラがシステムメモリコントローラ、およびキャッシュメモリコントローラを含み、
    前記メモリコントローラによって、アドレスに関連付けられたデータに対する前記一つまたは複数のCPUコアからの読み取り要求を受信することと、
    前記第二のチップによって、コマンドおよびアドレスのためのバスを介して前記第一のチップからコマンドおよびアドレスを受信することと、
    前記アドレスに対するキャッシュヒットがある場合は前記キャッシュメモリから、および前記アドレスに対するキャッシュミスがある場合は前記システムメモリから、前記アドレスに関連付けられた前記データを取得することと、
    前記第二のシリアライザ−デシリアライザデバイスを用いて、アナログ信号を生成するために直交振幅変調を用いる前記アドレスに関連付けられた前記データを変調することと、
    単一のワイヤを介して前記アナログ信号を前記第二のチップから前記第一のチップに伝送することと、
    前記第一のシリアライザ−デシリアライザデバイスを用いて、アドレスに関連付けられた前記データを生成するために前記データを復調することと、
    前記読み取り要求に応答してアドレスに関連付けられた前記データを前記一つまたは複数のCPUコアに送信することと、
    を含む、方法。
  15. 変調ステップが、
    アドレスに関連付けられた前記データを調停アナログ信号に変換することと、
    複数の直交振幅変調器を用いて前記調停アナログ信号を変調することと、
    前記アナログ信号を生成するために前記複数の直交振幅変調器の出力を合計することと、
    を含む、請求項14に記載の方法。
  16. 復調ステップが、
    増幅アナログ信号を生成するために前記アナログ信号に利得を適用することと、
    複数の直交振幅変調器を用いて前記増幅アナログ信号を復調することと、
    ローパスフィルタを用いて復調信号をフィルタリングすることと、
    前記フィルタリングされたデータをアドレスに関連付けられた前記データに変換することと、
    を含む、請求項15に記載の方法。
JP2019505360A 2016-08-01 2017-07-24 多重チャネルキャッシュメモリおよびシステムメモリデバイス Active JP6740456B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662369597P 2016-08-01 2016-08-01
US62/369,597 2016-08-01
PCT/US2017/043556 WO2018026562A1 (en) 2016-08-01 2017-07-24 A multiple channel cache memory and system memory device
US15/657,972 2017-07-24
US15/657,972 US10713170B2 (en) 2016-08-01 2017-07-24 Multiple channel cache memory and system memory device utilizing a pseudo-multiple port for commands and addresses and a multiple frequency band QAM serializer/deserializer for data

Publications (2)

Publication Number Publication Date
JP2019523508A JP2019523508A (ja) 2019-08-22
JP6740456B2 true JP6740456B2 (ja) 2020-08-12

Family

ID=61011652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019505360A Active JP6740456B2 (ja) 2016-08-01 2017-07-24 多重チャネルキャッシュメモリおよびシステムメモリデバイス

Country Status (5)

Country Link
US (1) US10713170B2 (ja)
EP (1) EP3491740B1 (ja)
JP (1) JP6740456B2 (ja)
CN (1) CN109845113B (ja)
WO (1) WO2018026562A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110380944A (zh) * 2019-08-14 2019-10-25 Oppo广东移动通信有限公司 一种电子设备及其控制方法
US11573902B1 (en) 2021-08-18 2023-02-07 International Business Machines Corporation Controlling issue rates of requests of varying broadcast scopes in a data processing system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206833A (en) 1988-09-12 1993-04-27 Acer Incorporated Pipelined dual port RAM
JP2006236388A (ja) 1997-06-27 2006-09-07 Renesas Technology Corp メモリモジュール及びデータ処理システム
US6469703B1 (en) * 1999-07-02 2002-10-22 Ati International Srl System of accessing data in a graphics system and method thereof
US6708254B2 (en) * 1999-11-10 2004-03-16 Nec Electronics America, Inc. Parallel access virtual channel memory system
US20040225830A1 (en) * 2003-05-06 2004-11-11 Eric Delano Apparatus and methods for linking a processor and cache
JP2005316546A (ja) 2004-04-27 2005-11-10 Victor Co Of Japan Ltd メモリコントローラ
US20060041715A1 (en) * 2004-05-28 2006-02-23 Chrysos George Z Multiprocessor chip having bidirectional ring interconnect
US8683143B2 (en) 2005-12-30 2014-03-25 Intel Corporation Unbounded transactional memory systems
JP5752686B2 (ja) 2009-08-20 2015-07-22 ラムバス・インコーポレーテッド 原子メモリ装置
US8412971B2 (en) * 2010-05-11 2013-04-02 Advanced Micro Devices, Inc. Method and apparatus for cache control
GB2491588A (en) 2011-06-06 2012-12-12 St Microelectronics Res & Dev Multiprocessor with different cache coherency protocols between different parts
US20130054896A1 (en) * 2011-08-25 2013-02-28 STMicroelectronica Inc. System memory controller having a cache
KR101858159B1 (ko) * 2012-05-08 2018-06-28 삼성전자주식회사 멀티-cpu 시스템과 이를 포함하는 컴퓨팅 시스템
US9529719B2 (en) * 2012-08-05 2016-12-27 Advanced Micro Devices, Inc. Dynamic multithreaded cache allocation
WO2014074300A1 (en) * 2012-11-06 2014-05-15 The Regents Of The University Of California Scalable serial/de-serial i/o for chip-to-chip connection based on multi-frequency qam scheme
US9052900B2 (en) * 2013-01-29 2015-06-09 Oracle International Corporation Serdes fast retrain method upon exiting power saving mode
US20180234846A1 (en) * 2015-09-28 2018-08-16 Intel Corporation Pairing electronic devices

Also Published As

Publication number Publication date
EP3491740A4 (en) 2020-02-26
CN109845113B (zh) 2023-05-09
US20180032436A1 (en) 2018-02-01
CN109845113A (zh) 2019-06-04
EP3491740B1 (en) 2021-07-21
EP3491740A1 (en) 2019-06-05
WO2018026562A1 (en) 2018-02-08
JP2019523508A (ja) 2019-08-22
US10713170B2 (en) 2020-07-14

Similar Documents

Publication Publication Date Title
US11194749B2 (en) Cross-threaded memory system
US8373709B2 (en) Multi-processor architecture and method
US6581124B1 (en) High performance internal bus for promoting design reuse in north bridge chips
US7797467B2 (en) Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features
US20030088743A1 (en) Mobile wireless communication device architectures and methods therefor
CN115248796B (zh) 用于芯粒到芯粒互连的总线流水线结构和芯片
CA2558360A1 (en) Pvdm (packet voice data module) generic bus protocol
JP2007164755A (ja) グラフィックスメモリハブ用の装置、システムおよび方法
US6985988B1 (en) System-on-a-Chip structure having a multiple channel bus bridge
KR20060122934A (ko) 복수의 어드레스 2 채널 버스 구조
US7822903B2 (en) Single bus command having transfer information for transferring data in a processing system
EP3575972B1 (en) Inter-processor communication method for access latency between system-in-package (sip) dies
CN105068951A (zh) 一种具有非等时传输结构的片上系统总线
US20090138645A1 (en) Soc system
JP6740456B2 (ja) 多重チャネルキャッシュメモリおよびシステムメモリデバイス
US10162522B1 (en) Architecture of single channel memory controller to support high bandwidth memory of pseudo channel mode or legacy mode
US20100088452A1 (en) Internal BUS Bridge Architecture and Method in Multi-Processor Systems
US7600081B2 (en) Processor architecture having multi-ported memory
US6502173B1 (en) System for accessing memory and method therefore
US9104819B2 (en) Multi-master bus architecture for system-on-chip
WO2009137996A1 (zh) 存储设备级联方法、存储系统及存储设备
EP1477903A2 (en) Memory system for a radiotelephone
US6377581B1 (en) Optimized CPU-memory high bandwidth multibus structure simultaneously supporting design reusable blocks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200417

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200722

R150 Certificate of patent or registration of utility model

Ref document number: 6740456

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