(57)【要約】  高性能、低電力かつコスト効率に優れた多重チャネルキャッシュ−システムメモリシステムを開示する。【選択図】図１
2019523508.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスであって、
一つまたは複数のＣＰＵコア、前記一つまたは複数のＣＰＵコアに結合されたメモリコントローラ、および第一のシリアライザ−デシリアライザデバイスを含む第一のチップと、
前記メモリコントローラによって管理されるキャッシュメモリ、データルータ、および第二のシリアライザ−デシリアライザデバイスを含む第二のチップと、
前記第一のチップおよび前記第二のチップから切り離され、前記メモリコントローラによって管理されるシステムメモリと、
前記第一のチップおよび前記第二のチップに結合されるアナログインターフェースであって、前記第一のシリアライザ−デシリアライザデバイスおよび前記第二のシリアライザ−デシリアライザデバイスが直交振幅変調を用いる前記インターフェースを介してデータを交換する、アナログインターフェースと、
を含み、
前記キャッシュメモリまたは前記システムメモリから前記一つまたは複数のＣＰＵコアにデータを提供することによって前記メモリコントローラおよび前記データルータにより前記一つまたは複数のＣＰＵコアからのメモリ要求が満たされる（ｓｅｒｖｉｃｅ）、
コンピューティングデバイス。
【請求項２】
前記メモリコントローラがプロセッサバスを有する前記一つまたは複数のＣＰＵコアに結合される、請求項１に記載のコンピューティングデバイス。
【請求項３】
前記メモリコントローラに結合されたシステムバスをさらに含む、請求項２に記載のコンピューティングデバイス。
【請求項４】
前記システムバスが一つまたは複数のグラフィックプロセッサユニット（ＧＰＵ）コアに結合される、請求項３に記載のコンピューティングデバイス。
【請求項５】
前記メモリコントローラが前記アナログインターフェースの制御を管理するためのアービタを含む、請求項４に記載のコンピューティングデバイス。
【請求項６】
コンピューティングデバイスであって、
一つまたは複数のＣＰＵコア、前記一つまたは複数のＣＰＵコアに結合されたメモリコントローラ、および第一のシリアライザ−デシリアライザデバイスを含む第一のチップと、
前記メモリコントローラによって管理されるキャッシュメモリ、データルータ、および第二のシリアライザ−デシリアライザデバイスを含む第二のチップと、
前記第一のチップおよび前記第二のチップから切り離され、前記メモリコントローラによって管理される、システムメモリと、
前記第一のチップおよび前記第二のチップに結合されるアナログインターフェースであって、前記第一のシリアライザ−デシリアライザデバイスおよび前記第二のシリアライザ−デシリアライザデバイスが直交振幅変調を用いて前記インターフェースを介してデータを交換する、アナログインターフェースと、
前記メモリコントローラと前記データルータとの間のバスであって、前記バスが多重化方式でコマンドおよびアドレス情報を転送する、バスと、
を含み、
前記キャッシュメモリまたは前記システムメモリから前記一つまたは複数のＣＰＵコアにデータを提供することによって前記メモリコントローラおよび前記データルータにより前記一つまたは複数のＣＰＵコアからのメモリ要求が満たされる、
コンピューティングデバイス。
【請求項７】
前記メモリコントローラがプロセッサバスを有する前記一つまたは複数のＣＰＵコアに結合される、請求項６に記載のコンピューティングデバイス。
【請求項８】
前記メモリコントローラに結合されたシステムバスをさらに含む、請求項７に記載のコンピューティングデバイス。
【請求項９】
前記システムバスが一つまたは複数のグラフィックプロセッサユニット（ＧＰＵ）コアに結合される、請求項８に記載のコンピューティングデバイス。
【請求項１０】
前記メモリコントローラが前記アナログインターフェースの制御を管理するためのアービタを含む、請求項９に記載のコンピューティングデバイス。
【請求項１１】
コンピューティングデバイス内のデータを読み取るための方法であって、前記コンピューティングデバイスが第一のチップ、第二のチップ、およびシステムメモリを含み、前記第一のチップが一つまたは複数のＣＰＵコア、前記一つまたは複数のＣＰＵコアに結合されたメモリコントローラ、および第一のシリアライザ−デシリアライザデバイスを含み、前記第二のチップが前記メモリコントローラによって管理されるキャッシュメモリ、および第二のシリアライザ−デシリアライザデバイスを含み、
前記メモリコントローラによって、アドレスに関連付けられたデータに対する前記一つまたは複数のＣＰＵコアからの読み取り要求を受信することと、
アドレスに関連付けられた前記データが前記キャッシュメモリに記憶されていることを判断することと、
前記キャッシュメモリからアドレスに関連付けられた前記データを取得することと、
前記第二のシリアライザ−デシリアライザデバイスを用いて、アナログ信号を生成するために直交振幅変調を用いるアドレスに関連付けられた前記データを変調することと、
アナログインターフェースを介して前記アナログ信号を前記第二のチップから前記第一のチップに伝送することと、
前記第一のシリアライザ−デシリアライザデバイスを用いて、アドレスに関連付けられた前記データを生成するために前記データを復調することと、
前記読み取り要求に応答してアドレスに関連付けられた前記データを前記一つまたは複数のＣＰＵコアに送信することと、
を含む、方法。
【請求項１２】
前記変調ステップが、
アドレスに関連付けられた前記データを調停アナログ信号に変換することと、
複数の直交振幅変調器を用いて前記調停アナログ信号を変調することと、
前記アナログ信号を生成するために前記複数の直交振幅変調器の出力を合計することと、
を含む、請求項１１に記載の方法。
【請求項１３】
前記復調ステップが、
増幅アナログ信号を生成するために前記アナログ信号に利得を適用することと、
複数の直交振幅変調器を用いて前記増幅アナログ信号を復調することと、
ローパスフィルタを用いて前記復調信号をフィルタリングすることと、
前記フィルタリングされたデータをアドレスに関連付けられた前記データに変換することと、
を含む、請求項１２に記載の方法。
【請求項１４】
コンピューティングデバイス内のデータを読み取るための方法であって、前記コンピューティングデバイスが第一のチップ、第二のチップ、およびシステムメモリを含み、前記第一のチップが一つまたは複数のＣＰＵコア、前記一つまたは複数のＣＰＵコアに結合されたメモリコントローラ、および第一のシリアライザ−デシリアライザデバイスを含み、前記第二のチップが前記メモリコントローラによって管理されるキャッシュメモリ、および第二のシリアライザ−デシリアライザデバイスを含み、
前記メモリコントローラによって、アドレスに関連付けられたデータに対する前記一つまたは複数のＣＰＵコアからの読み取り要求を受信することと、
アドレスに関連付けられた前記データが前記キャッシュメモリに記憶されていることを判断することと、
前記第二のチップによって、コマンドおよびアドレスのための多重化バスを介して前記第一のチップからコマンドおよびアドレスを受信することと、
前記キャッシュメモリからアドレスに関連付けられた前記データを取得することと、
前記第二のシリアライザ−デシリアライザデバイスを用いて、アナログ信号を生成するために直交振幅変調を用いるアドレスに関連付けられた前記データを変調することと、
アナログインターフェースを介して前記アナログ信号を前記第二のチップから前記第一のチップに伝送することと、
前記第一のシリアライザ−デシリアライザデバイスを用いて、アドレスに関連付けられた前記データを生成するために前記データを復調することと、
前記読み取り要求に応答してアドレスに関連付けられた前記データを前記一つまたは複数のＣＰＵコアに送信することと、
を含む、方法。
【請求項１５】
前記変調ステップが、
アドレスに関連付けられた前記データを調停アナログ信号に変換することと、
複数の直交振幅変調器を用いて前記調停アナログ信号を変調することと、
前記アナログ信号を生成するために前記複数の直交振幅変調器の出力を合計することと、
を含む、請求項１４に記載の方法。
【請求項１６】
前記復調ステップが、
増幅アナログ信号を生成するために前記アナログ信号に利得を適用することと、
複数の直交振幅変調器を用いて前記増幅アナログ信号を復調することと、
ローパスフィルタを用いて前記復調信号をフィルタリングすることと、
前記フィルタリングされたデータをアドレスに関連付けられた前記データに変換することと、
を含む、請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［優先権の主張］
本出願は、２０１６年８月１日に出願された「Ｍｕｌｔｉｐｌｅ Ｃｈａｎｎｅｌ Ｃａｃｈｅ Ｍｅｍｏｒｙ ａｎｄ Ｓｙｓｔｅｍ Ｍｅｍｏｒｙ Ｄｅｖｉｃｅ Ｕｔｉｌｉｚｉｎｇ ａ Ｐｓｅｕｄｏ Ｍｕｌｔｉｐｌｅ Ｐｏｒｔ ｆｏｒ Ｃｏｍｍａｎｄｓ ａｎｄ Ａｄｄｒｅｓｓｅｓ ａｎｄ Ａ Ｍｕｌｔｉｐｌｅ Ｆｒｅｑｕｅｎｃｙ Ｂａｎｄ ＱＡＭ Ｓｅｒｉａｌｉｚｅｒ/Ｄｅ−Ｓｅｒｉａｌｉｚｅｒ ｆｏｒ Ｄａｔａ」と題する米国仮特許出願第６２／３６９，５９７号に基づく優先権を主張するものであり、参照により本明細書に組み入れられる。
【０００２】
［技術分野］
高性能、低電力かつコスト効率に優れた多重チャネルキャッシュメモリ／システムメモリが開示される。
【背景技術】
【０００３】
複数のコアプロセッサまたは複数のプロセッサを含む高性能コンピューティングシステム、特にはグラフィックプロセッシングユニット（ＧＰＵ）等のさらなるハードウェアアクセラレータを用いるシステムにおいてはキャッシュメモリおよびシステムメモリの両方の性能が重要である。これらのコンピューティングシステムはますます汎用コンピューティングを実行するだけでなくディープマシンラーニングや大規模データマイニングをも実行するようになってきている。
【０００４】
コンピューティングシステムに課される要求に対処するために、メモリシステムはメモリアクセスレイテンシおよびメモリ帯域幅への最適化を同時に行う必要がある。同じコンピューティングシステム上のメモリアクセスレイテンシおよびメモリ帯域幅を最適化するためには、バス上でのメモリ衝突の頻度を減少させるとともにキャッシュ性能を向上させなければならない。
【０００５】
従来技術の手法には大型のキャッシュＲＡＭがサービス（ｓｅｒｖｉｃｅ）しているプロセッサコアと同じシリコン上にその大型のキャッシュＲＡＭを統合することによってキャッシュ性能を向上させることが含まれてきた。しかしながら、この手法は大型ＲＡＭのコストのために制限される。
【０００６】
他の従来技術の手法では大型のオフチップＲＡＭがサーブ（ｓｅｒｖｅ）しているプロセッサコアとは異なるシリコン上に配置されたその大型のオフチップＲＡＭを用いてきた。しかしながら、この手法ではＲＡＭチップとプロセッサコアチップとの間に多数の接続ピンが必要になり、システム設計コストは好ましいものではなくなる。
【０００７】
別の従来技術の手法はメモリバスのバス幅およびクロックレートを増加させることによってメモリ帯域幅を広げる「ブルートフォース（ｂｒｕｔｅ ｆｏｒｃｅ）」手法である。しかしながら、この手法の下では、システムが複数のハードウェアアクセラレータを有する場合はシステムの様々なメモリマスタからのメモリ要求が衝突しやすくなる。
【０００８】
別の従来技術の手法は多重並列メモリチャネルであり、この手法は高い有効メモリ帯域幅を維持し、複数のハードウェアアクセラレータに対してその高帯域幅をサポートするための最も効果的な解決策である。この手法の限界はプロセッサチップとＲＡＭチップとの間に多数のインターフェース接続ピンがまたしても必要になることである。多数の接続ピンを用いることにより、チップのコスト、サイズおよび製造上の複雑さが増加する。
【０００９】
従来技術にはあるチップから別のチップへとデータを伝送するための複数の手法も含まれる。参照により本明細書に組み入れられ、発明者にこの出願を共有する「Ｓｃａｌａｂｌｅ Ｓｅｒｉａｌ/Ｄｅ−ｓｅｒｉａｌ Ｉ/Ｏ ｆｏｒ Ｃｈｉｐ−ｔｏ−Ｃｈｉｐ Ｃｏｎｎｅｃｔｉｏｎ Ｂａｓｅｄ ｏｎ Ｍｕｌｔｉ Ｆｒｅｑｕｅｎｃｙ ＱＡＭ Ｓｃｈｅｍｅ」と題する米国特許第９，３６９，３１８号では、シリアライザ/デシリアライザ（「ＳｅｒＤｅｓ」） の実施形態が開示された。
【００１０】
この従来技術の技法は図５に示される。シリアライザ５３０およびデシリアライザ５４０は一般に異なるチップ上に配置されＩ／Ｏインターフェース５１０によって接続される。シリアライザ５４０はこの例において８ビット、Ｄ０からＤ７として示されている、並列デジタルデータを受信する。このデータはデジタル−アナログ２ビットコンバータ５０１、５０２、５０３および５０４によってアナログ形式に変換される。デジタル−アナログ２ビットコンバータ５０１、５０２、５０３および５０４からの各アナログ出力はＱＡＭミキサに結合される。ＤＡＣ５０１からの出力はミキサ５０５のＱＡＭ Ｉチャネルで受信され、ミキサ５０５はまた９０度位相のずれた変調搬送波Ｆ１＿Ｉを受信する。ＤＡＣ５０２からの出力はミキサ５０６のＱＡＭ Ｉチャネルで受信され、ミキサ５０６はまた９０度位相のずれた変調搬送波Ｆ１＿Ｑを受信する。ミキサ５０５および５０６の両方がＱＡＭ変調器５２４に関連付けられる。同様に、ＤＡＣ５０３からの出力は９０度位相のずれた変調搬送波Ｆ２＿Ｉも受信するミキサ５０７に結合され、一方ＤＡＣ５０４からの出力は９０度位相のずれた変調搬送波Ｆ２＿Ｑも受信するミキサ５０８で受信される。ミキサ５０７および５０８の両方がＱＡＭ変調器５２５に関連付けられる。両方のＱＡＭ変調器５２４および５２５のミキサからの出力は加算器５０９で合計され、シリアライザ５３０を含むチップからＩ／Ｏインターフェース５１０を介して出力される。この変調プロセスを通して、並列入力はアナログ信号として直列出力にシリアル化される。
【００１１】
Ｉ／Ｏ接続部５１０を介したアナログ信号は第二のチップ内のデシリアライザ５４０によって受信される。デシリアライザ５４０は信号を受信し、ローパスフィルタにおける損失を補うために利得段を提供する増幅器５１１を含むことが好ましい。増幅信号は第一のＱＡＭ復調器５２６内のミキサ５１２および５１３に、そして第二のＱＡＭ復調器５２７内のミキサ５１４および５１５にそれぞれ提供され、第一のＱＡＭ復調器５２６は９０度位相のずれた変調搬送波Ｆ１＿Ｉ、Ｆ１＿Ｑを受信し、第二のＱＡＭ復調器５２７は増幅信号とともに９０度位相のずれた変調搬送波Ｆ２＿Ｉ、Ｆ２＿Ｑを受信する。四つのアナログ信号はミキサ５１２、５１３、５１４および５１５からローパスフィルタ５１６、５１７、５１８および５１９にそれぞれ出力される。ローパスフィルタは任意の所望の構成および次数（すなわち、二次、三次等）であり得る。ローパスフィルタ５１６、５１７、５１８および５１９からの出力は２ビットアナログ−デジタルコンバータ（ＡＤＣ）５２０、５２１、５２２および５２３によってそれぞれ受信され、２ビットＡＤＣ５２０、５２１、５２２および５２３はデジタルデータを出力する。この復調プロセスを通して、アナログ直列信号は並列デジタル出力にデシリアル化される。一般に、いずれかのチップがデータを送信していずれかのチップがデータを受信することができるように、各チップはシリアライザ５３０およびデシリアライザ５４０を含む。
【００１２】
したがって、図５の従来技術のシステムでは、８ビット並列入力は第一のチップ内の一つのＩ／ＯインターフェースにＱＡＭ１６の二つの周波数帯によってシリアル化され、第二のチップに送信され、さらにＱＡＭ１６復調の二つの周波数帯によって第二のチップ内で並列データにデシリアル化される。１６ビットの並列データおよび四つの周波数帯域のＱＡＭ１６または二つの周波数帯域のＱＡＭ２５６を用いること等の、他の構成を用いることができることを理解されるべきである。今日まで、図５のＳｅｒＤｅｓ設計はメモリシステムにおいて用いられてこなかった。
【００１３】
従来技術は所与のチャネルを介して伝送されることのできる情報量を最大化するための他の技法を含む。参照により本明細書に組み入れられ、発明者にこの出願を共有する「Ｐｉｐｅｌｉｎｅｄ Ｄｕａｌ Ｐｏｒｔ ＲＡＭ」と題する米国特許第５，２０６，８３３号は疑似多重ポートメモリの技法を紹介した。この従来技術の技法は図６に示される。デバイス６０１および６０２はそれぞれデータを出力し、そのデータはマルチプレクサ６０３によって受信される。マルチプレクサ６０３は調停信号によって制御される。図示されるように、マルチプレクサ６０３はデバイス６０１および６０２からのデータを単一のチャネルに統合する。一つの実施形態では、デバイス６０１はデバイス６０２よりも優先され、デバイス６０２からのデータはデバイス６０１が休止している場合にのみマルチプレクサ６０３から出力される。実際には一つのポートしか存在しないにもかかわらず、これにより疑似多重ポートデバイスが効果的に生成される。今日まで、この技法はメモリシステムでのコマンドおよびアドレスの処理において用いられてこなかった。
【００１４】
プロセッサチップとメモリチップとの間に多数のさらなるピンを加えることなくメモリアクセスレイテンシおよびメモリ帯域幅を最適化しながらも同時に動作させることのできる多重メモリチャネルを可能にするキャッシュメモリおよびシステムメモリのための新しいアーキテクチャが必要とされている。
【発明の概要】
【００１５】
本明細書に記載の実施形態はデータバスにＳｅｒＤｅｓ技法を活用し、コマンド／アドレスバス用の疑似多重ポート技法を活用するキャッシュメモリおよびシステムメモリアーキテクチャを含み、多重チャネルの並列キャッシュ−システムメモリが得られる。提案されるキャッシュ−システムメモリの多重チャネルにより良好なキャッシュ性能と良好なシステムメモリ性能が得られる。
【図面の簡単な説明】
【００１６】
【図１】図１は、改良されたキャッシュメモリおよびシステムメモリアーキテクチャを活用するコンピューティングデバイスの実施形態を描写する。
【図２】図２は、改良されたキャッシュメモリおよびシステムメモリアーキテクチャを活用する実施形態のクアッドチャネルのブロックダイアグラムを含む。
【図３】図３は、改良されたキャッシュメモリおよびシステムメモリアーキテクチャにおいて活用される、プロセッサチップとキャッシュメモリチップとの間のバス用の例示的なタイミングダイアグラムを描写する。
【図４Ａ】図４Ａは、従来技術のメモリシステムを描写する。
【図４Ｂ】図４Ｂは、改良されたキャッシュメモリおよびシステムメモリアーキテクチャを活用する実施形態のブロックダイアグラムを描写する。
【図５】図５は、従来技術のシリアライザおよびデシリアライザを描写する。
【図６】図６は、従来技術の疑似多重ポートデバイスを描写する。
【発明を実施するための形態】
【００１７】
図１は４チャネル並列キャッシュ−システムメモリシステムを含むコンピューティングデバイス１００の実施形態を描写する。コンピューティングデバイス１００は（「ＳＯＣ」と表される）システムオンチッププロセッサ１１０を含み、ＳＯＣプロセッサ１１０は（「ＬＬＣ／ＤＲＡＭコントローラ」と表される）ラストレベルキャッシュおよびシステムメモリコントローラ１０４を含む。ＳＯＣプロセッサ１１０はキャッシュシステムチップ１２０に結合され、キャッシュシステムチップ１２０はＳＯＣプロセッサ１１０から切り離されている。
【００１８】
キャッシュシステムチップ１２０は異なるタイプのシステムメモリを接続するためにキャッシュＲＡＭとレガシーＰＨＹの多重チャネルとを統合する。キャッシュシステムチップ１２０はキャッシュシステムチップ１２０と、システムメモリバス１１７と、プロセッサキャッシュバス１２９との間のトラフィックを調整するデータルータ１２７を含む。キャッシュシステムチップ１２０はキャッシュシステムチップ１２０をＬＰＤＤＲ、ＤＤＲ、ＧＤＲ、ＨＢＭ、ＨＭＣ等のシステムメモリ１３０に接続するためにキャッシュメモリアレイ１２６ａ．．．１２６ｊ（ｊは４等の整数）およびレガシーフィジカルインターフェース（ＰＨＹ）１２８ａ．．．１２８ｄ（ｄは４等の整数）をさらに含む。この例において、キャッシュメモリアレイ１２６はそれぞれ４ＭＢの四つのアレイを含む。当該技術分野の当業者においては、図１の例は目標とする性能およびシステムオンチップの複雑さに応じてさらなるメモリチャネルおよびより大きなキャッシュＲＡＭサイズを含むために拡張されることができることが理解されるであろう。
【００１９】
ＳＯＣプロセッサ１１０はＣＰＵコア１０１ａ．．．１０１ｉ（ｉは２または４等の整数）をさらに含み、その各々がＬ１キャッシュメモリシステム１０２ａ．．．１０２ｉに結合され、さらにその各々がＬ２キャッシュメモリシステム１０３に結合される。Ｌ２キャッシュメモリシステム１０３はプロセッサキャッシュバス１２９を介してＬＬＣ／ＤＲＡＭコントローラ１０４に（具体的には、ラストレベルキャッシュコントローラ１０５に）結合される。ここで、ＬＬＣまたはラストレベルキャッシュはＬ３またはＬ４（後者はＬ２キャッシュメモリ１０３とラストレベルキャッシュコントローラ１０５との間に別のレベルのキャッシュメモリを必要とする）等の、ＣＰＵコア１０１ａ．．．１０１ｉによって活用されるキャッシュメモリのラストレベルを参照する。
【００２０】
ＳＯＣプロセッサ１１０はグラフィックプロセッサユニット（ＧＰＵ）コア１１５ａ．．．１１５ｋ（ｋは整数）をさらに含み、その各々が共有ＧＰＵキャッシュメモリシステム１１６に結合される。
【００２１】
ＳＯＣプロセッサ１１０は以下のデバイス、共有ＧＰＵキャッシュメモリシステム１１６、シリアルＭＦＩ ＳｅｒＤｅｓコントローラ１１８、バスブリッジ１２１、ディスプレイエンジン１２３、ＤＳＰビデオマルチメディアプロセッサ１２４およびＳＯＣプロセッサ１１０が結合されるシステムバス１１７をさらに含む。シリアルＭＦＩ ＳｅｒＤｅｓコントローラ１１８はシリアルＭＦＩ ＳｅｒＤｅｓ１１９にも結合され、シリアルＭＦＩ ＳｅｒＤｅｓ１１９はさらにソリッドステートドライブまたはハードウェアアクセラレータ等の外部デバイス１４０に接続する。バスブリッジ１２１はＰＣＩｅ（ＰＣＩ Ｅｘｐｒｅｓｓ）コントローラ１２２に結合され、ＰＣＩｅコントローラ１２２はさらにレガシーＰｈｙ１２５に結合される。ディスプレイエンジン１２３もまたレガシーＰｈｙ１２５に結合され、レガシーＰｈｙ１２５はさらにＵＳＢ、イーサネット（登録商標）およびＨＤＭＩ（登録商標）ポート等のＩ／Ｏポート１５０に結合される。
【００２２】
ＬＬＣ／ＤＲＡＭコントローラ１０４はラストレベルキャッシュ（ＬＬＣ）コントローラ１０５、クアッドチャネルメモリアービタ１０６、ＭＦＩ ＳｅｒＤｅｓ１０７、ＤＲＡＭコントローラ１０８およびＭＦＩ ＳｅｒＤｅｓ１０９をさらに含む。クアッドチャネルメモリアービタ１０６はシステムバス１１７に結合される。
【００２３】
図１に示されるように、システムは複数のハードウェアアクセラレータおよびメモリマスタを有する。多重メモリチャネルはメモリ要求が衝突する可能性を減少させ高持続性のメモリ帯域幅を達成することができる。二つのメモリ要求が特定のメモリチャネルにおいて衝突した場合は、メモリアビータ１０６は調停アルゴリズムに基づく特定のメモリマスタへのサービスを許可するために要求の調停を実行する。
【００２４】
図２はコンピューティングデバイス１００のクアッドチャネル並列キャッシュメモリ／システムメモリシステムに関するさらなる詳細を含む。プロセッサキャッシュバス１２９およびシステムバス１１７が描写されている。システムメモリバス１１７はクアッドチャネルメモリアービタ１０６に接続され、クアッドチャネルメモリアービタ１０６はさらにシステムメモリコントローラ１０８、ＳｅｒＤｅｓ１０７および疑似多重ポートＣＭＤ／ＡＤＲ２０５ａ、２０５ｂ、２０５ｃおよび２０５ｄに結合される。プロセッサキャッシュバス１２９はＬＬＣ Ｔａｇ２０６に結合され、ＬＬＣ Ｔａｇ２０６はさらにＬＬＣコントローラ１０５、ＳｅｒＤｅｓ１０７および疑似多重ポートＣＭＤ／ＡＤＲ２０４ａ、２０４ｂ、２０４ｃおよび２０４ｄに結合される。疑似多重ポートＣＭＤ／ＡＤＲ２０４、２０４ｂ、２０４ｃ、２０４ｄ、２０５ａ、２０５ｂ、２０５ｃおよび２０５ｄはキャッシュシステムチップ１２０、具体的には、ＣＭＤ／ＡＤＲインターフェース２０２ａ、２０２ｂ、２０２ｃおよび２０２ｄに結合される。ＳｅｒＤｅｓ１０７はキャッシュシステムチップ１２０、具体的には、ＳｅｒＤｅｓインターフェース２０１ａ、２０１ｂ、２０ｃ、２０１ｄ、２０３ａ、２０３ｂ、２０３ｃおよび２０３ｄに結合される。データルータ１２７はレガシーＰｈｙ１２８ａ、１２８ｂ、１２８ｃおよび１２８ｄに結合され、レガシーＰｈｙ１２８ａ、１２８ｂ、１２８ｃおよび１２８ｄはさらにシステムメモリ１３０に結合される。
【００２５】
図２において、メモリ要求はシステムメモリバス１１７上のメモリマスタだけでなくキャッシュミスがある場合のラストレベルキャッシュ１０５によってもアサートされる。すなわち、特定のメモリ要求に対して、ＬＬＣコントローラ１０５はまずそのデータについてラストレベルキャッシュメモリをチェックする。データがラストレベルキャッシュメモリに存在しないかまたはデータが古くなっている（ｓｔａｌｅ）場合、それはキャッシュミスとみなされ、その要求はキャッシュシステムチップ１２０に転送される。メモリアクセスのためのデータ経路は、キャッシュメモリチップ１２０内のデータルータ１２７によって様々なバス条件に対してアレンジされる。アービタ１０６がどのメモリマスタをサーブさせるかを決定すると、バス要求はシステムメモリコントローラ１０８に転送される。システムメモリコントローラ１０８内のステートマシンはシステムメモリ１３０に対して正しいシーケンスのコマンドおよびアドレスを発行する。
【００２６】
アービタ１０６がシステムメモリコントローラ１０８に要求を転送するとき、メモリ要求がキャッシュ可能な交換メモリ領域にある場合はスヌーピング比較のために、ラストレベルキャッシュ（ＬＬＣ）ＴＡＧ２０６に同じメモリ要求を転送する必要もある。スヌーピングヒットがある場合、キャッシュメモリチップ１２０内のデータルータ１２７は比較的遅いシステムメモリ１３０の代わりに高速キャッシュＲＡＭ１２６ａ．．．１２６ｊからのデータ経路の再ルーティングを実行しなければならない。
【００２７】
プロセッサメモリ要求がキャッシュヒットである場合、ＳＯＣプロセッサ１１０は他のシステムメモリマスタと同時にメモリにアクセスする。しかしキャッシュミスがある場合、ＬＬＣ ＴＡＧ２０６はプロセッサメモリ要求をアービタ１０６に転送しなければならず、アービタ１０６はシステムメモリバス１１７をＬＬＣ ＴＡＧ２０６に許可する。このキャッシュミスサイクルが実行されると、キャッシュメモリチップ１２０内のデータルータ１２７はデータ経路の再ルーティングを実行しなければならない。
【００２８】
表１はキャッシュメモリチップ１２０内のデータルータ１２７がどのようにして全ての可能性のあるサイクルについてルーティングを実行するかを示す。
【表１】
2019523508.tif 000003
【００２９】
この実施形態では、キャッシュメモリチップ１２０内のデータルータ１２７は表１に記載のメモリデータ経路のルーティングを実行しなければならない。
【００３０】
ＳｅｒＤｅｓアーキテクチャを活用することで図２に示されるようにＳＯＣプロセッサ１１０とキャッシュメモリチップ１２０との間のデータバスに必要なピンの数を減らすことができる。しかし半二重ＳｅｒＤｅｓのレイテンシがメモリ性能を低下させるためＳｅｒＤｅｓ設計をコマンドおよびアドレスバスに用いることができない。全二重ＳｅｒＤｅｓはレイテンシ問題を解決することができるが、並列バスと比較したＳｅｒＤｅｓのアドバンテージはピンの数を倍にするためのコストにより容易に打ち消される。
【００３１】
システムメモリバス１１７が固定バースト長転送においてデータを転送する場合、バス上の連続したコマンドとアドレスとの間のアイドルサイクルを観察することができる。一般的なメモリ設計において、バースト長は各メモリアクセスに対して４または８の固定されたバーストである。メモリバスのバースト長の選択はプロセッサキャッシュラインサイズとＤＲＡＮの固定バースト長を同期させることである。
【００３２】
メモリバースト長が８である場合、最速の連続したコマンドおよびアドレスは８番目のクロックよりも早くなることはない。図３はプロセッサとキャッシュＲＡＭチップとの間のインターフェースバスのタイミングシーケンスを示し、メモリアレイに対するパイプラインレイテンシは２-１-１-１-１-１-１-１である。
【００３３】
第一のコマンド／アドレスは１番目のクロックでメモリマスタ０によってアサートされる。メモリアレイは２番目のクロックで開始し９番目のクロックで終了する８つの連続したデータを返す。図３に示されるように、１番目のクロックでコマンドアドレスを発行した後メモリマスタ０による最速の次の連続したコマンドアドレスは９番目のクロックにある。すなわち、１番目のクロックと９番目のクロックの間、コマンド／アドレスバスはメモリマスタ０に対してアイドル状態であり、他のメモリマスタが同じバスにコマンドアドレスを発行するために利用可能である。したがって、他のメモリマスタはアイドル状態のコマンドアドレスバスから「サイクルスチール（ｃｙｃｌｅ ｓｔｅａｌｉｎｇ）」を実行することができる。単一のコマンドアドレス上でこのタイプのサイクルスチールを通すことにより、各メモリチャネルに対して複数の専用のコマンドアドレスバスを用いることなく単一のコマンドアドレスバス上で複数のメモリチャネルをサポートすることができる。図３は、８つのメモリバースト長が単一のコマンドアドレスバス上で最大８つの並列メモリチャネルコマンドアドレスサイクルをサポートすることができることを示す。
【００３４】
メモリアレイアーキテクチャは行および列デコーダから構成されるため、性能を低下させることなくコマンドおよびアドレスバスプロトコルのさらなる削減を達成することができる。キャッシュメモリチップ１２０は一般にＳＲＡＭから構成され、メモリアクセスを減速させることなく行アドレスよりも後に列アドレスをデコードすることができる。したがって、ＳＲＡＭコマンドアドレスバスプロトコルは立ち上がりクロックエッジで行アドレスをストローブし、立ち下がりクロックエッジで列アドレスをストローブすることができる。このようにして、アドレス信号の数を半分に減らすことができる。
【００３５】
キャッシュＲＡＭチップ１２０に対するコマンドアドレスバスプロトコルは二組のコマンドアドレスプロトコルから成り、一方はキャッシュＲＡＭに対するもの、もう一方はレガシーシステムメモリに対するものである。データルータ１２７はキャッシュミスまたはスヌープヒットがある場合は必ず、表１に記載されるようにキャッシュＲＡＭ１２６ａ．．．１２６ｊとシステムメモリ１３０との間でデータを再びルーティングしなければならない。したがって、キャッシュＲＡＭチップに対するコマンドには、メモリデータをどのように再ルーティングするかについてのデータルータ１２７への命令を含まなければならない。
【００３６】
図２に示される四つの切り離されたキャッシュＲＡＭコマンドアドレスバスは前述の固定バースト長サイクルスチール技法に基づく単一のコマンドアドレスバスによって実施することができる。すなわち、単一のコマンドアドレスバスはメモリコマンドアドレスバスの疑似多重ポートとして実行する。四つのレガシーシステムメモリコマンドはキャッシュＲＡＭコマンドアドレスバスのような単一のコマンドアドレスバスまで減らすこともできる。
【００３７】
従来技術の設計とこれらの実施形態との間の高度な差が図４Ａおよび図４Ｂに示される。
【００３８】
図４Ａにおいて、従来技術のシステム４００が示されており、プロセッサＳＯＣ４１０はラストレベルキャッシュ４２０を含み、またＳＯＣ４１０は多数のデータピン４４０およびコマンド／アドレスピン４５０を介してシステムメモリ４３０（例えば、ＤＲＡＭチップ）とインターフェースをとる。ラストレベルキャッシュ４２０のサイズを増加させることでキャッシュヒット率が向上する。しかしながら、ＳＯＣ半導体プロセスは比較的高価であり、そのためＳＯＣ４１０上でより大きなラストレベルキャッシュ４２０を用いることは高価になる。
【００３９】
図４Ｂにおいて、コンピューティングデバイス１００が示されており、プロセッサＳＯＣ１１０はＳｅｒＤｅｓインターフェース１１２およびコマンド／アドレスインターフェース４１０を介してキャッシュシステムメモリ１２０とインターフェースをとる。キャッシュシステムメモリモジュール１２０はラストレベルキャッシュメモリ１２６ａ．．．１２６ｊならびにシステムメモリ１２８ａ．．．１２８ｄおよび１３０とから成る。ラストレベルキャッシュはＳＯＣとは別のチップ上にあるため、キャッシュシステムメモリモジュールをより安価な半導体プロセスで製造することができ、図４Ａよりもラストレベルキャッシュを大きく作ることができる。一般に、ＳＯＣは約１１の金属層を用いて製造されるのに対して、メモリチップは約６の金属層を用いて製造されることができる。
【００４０】
図４Ｂに示される実施形態の別の利点はＳＯＣとシステムメモリとの間にピンを必要としないことである。これらのピンは一般にかなりの電力を必要とし、終端回路も必要とする。
【００４１】
要約すると、我々はレイテンシの短いＳｅｒＤｅｓおよび疑似多重ポートコマンドアドレスバスに基づく多重チャネル並列キャッシュＲＡＭおよびシステムメモリのための発明を説明する。本発明はコスト競争力のある製造のために多重メモリチャネル用のプロセッサとメモリシステムとの間のインターフェースピンを減らすだけでなく、レイテンシが短く同時性の高い、高度なメモリ性能を維持する。
【図１】
2019523508.tif 000004
【図２】
2019523508.tif 000005
【図３】
2019523508.tif 000006
【図４Ａ】
2019523508.tif 000007
【図４Ｂ】
2019523508.tif 000008
【図５】
2019523508.tif 000009
【図６】
2019523508.tif 000010
【国際調査報告】
2019523508.tif 000011