(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-28
(54)【発明の名称】高帯域幅メモリモジュールアーキテクチャ
(51)【国際特許分類】
G06F 13/16 20060101AFI20241121BHJP
G06F 12/00 20060101ALI20241121BHJP
G11C 5/04 20060101ALI20241121BHJP
【FI】
G06F13/16 510A
G06F13/16 520C
G06F12/00 564A
G06F12/00 597C
G11C5/04 220
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024533935
(86)(22)【出願日】2022-11-04
(85)【翻訳文提出日】2024-06-19
(86)【国際出願番号】 US2022048992
(87)【国際公開番号】W WO2023107218
(87)【国際公開日】2023-06-15
(32)【優先日】2021-12-06
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-02-16
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-02-28
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-06-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】アーロン ジョン ニーグレン
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160CA08
5B160MB00
(57)【要約】
高帯域幅デュアルインラインメモリモジュール(HB-DIMM)は、複数のメモリチップと、複数のデータバッファチップと、レジスタクロックドライバ(RCD)回路と、を含む。データバッファチップは、メモリチップのそれぞれのセットに結合され、メモリチップのデータを、メモリチップのデータレートの2倍のデータレートでホストバスを介して送信する。RCD回路は、ホストバスインターフェースと、複数のメモリチップに結合されたメモリインターフェースと、を含む。RCD回路は、少なくとも2つの独立してアドレス指定可能な擬似チャネルを提供するために、コマンド/アドレス(C/A)信号をメモリチップにルーティングすることによって、ホストバスを介して受信したコマンドを実行し、RCD回路は、C/A信号から導出されたチップ識別子(CID)ビットに基づいてそれぞれの擬似チャネルをアドレス指定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ホストバスに結合するように構成された高帯域幅デュアルインラインメモリモジュール(HB-DIMM)であって、
複数のメモリチップと、
前記複数のメモリチップのそれぞれのセットに結合され、前記複数のメモリチップのデータを、前記複数のメモリチップのデータレートの2倍のデータレートでホストバスを介して送信可能な複数のデータバッファチップと、
前記ホストバスに結合するためのホストバスインターフェースと、前記複数のメモリチップに結合されたメモリインターフェースと、を含むレジスタクロックドライバ(RCD)回路であって、前記RCD回路は、少なくとも2つの独立してアドレス指定可能な擬似チャネルを提供するために、コマンド/アドレス(C/A)信号を前記複数のメモリチップにルーティングすることによって、前記ホストバスを介して受信したメモリアクセスコマンドを実行することが可能であり、前記C/A信号から導出されたチップ識別子(CID)ビットに基づいてそれぞれの擬似チャネルをアドレス指定する、RCD回路と、を備える、
高帯域幅デュアルインラインメモリモジュール(HB-DIMM)。
【請求項2】
前記RCD回路は、前記ホストバスを介して受信したメモリアクセスコマンドを再順序付けしない、
請求項1のHB-DIMM。
【請求項3】
前記RCD回路は、前記少なくとも2つの擬似チャネルの読み出し応答を、非インターリーブフォーマットで前記ホストバスを介して送信させる、
請求項1のHB-DIMM。
【請求項4】
前記RCD回路は、C/A信号をクワッドランク(QR)フォーマットで前記複数のメモリチップにルーティングすることによって、前記ホストバスを介して受信したメモリアクセスコマンドを実行することが可能であり、
前記複数のデータバッファチップは、前記RCD回路からのコマンドに応じて、前記複数のメモリチップのデータレートで前記ホストバスを介して前記複数のメモリチップからデータを送信することが可能である、
請求項1のHB-DIMM。
【請求項5】
前記RCD回路は、前記ホストバスのデータクロック(DCK)ピン及びC/Aピンがハーフレート(2N)速度で動作し、前記C/Aピンがダブルデータレート(DDR)モードで動作する第1のモードと、前記ホストバスの前記DCKピンがフルレート(1N)速度で動作し、前記ホストバスの前記C/Aピンがシングルデータレート(SDR)モードで動作する第2のモードと、で動作するようにプログラム可能である、
請求項1のHB-DIMM。
【請求項6】
前記RCD回路は、前記メモリアクセスコマンドの前記CIDビットに基づいて、前記メモリアクセスコマンドの擬似チャネル選択を示すコマンドコードを生成し、前記データバッファチップのうち少なくとも1つに送信する、
請求項1のHB-DIMM。
【請求項7】
前記RCD回路は、前記複数のメモリチップの第1のセットにコマンドを分配するための第1のRCDと、前記複数のメモリチップの第2のセットにコマンドを実装するための第2のRCDと、を含み、前記第1のRCD及び第2のRCDのうち何れかが、前記ホストバスを介して前記複数のメモリチップの両方のセットのデータを送信するために前記データバッファチップを制御するための一次RCDとして機能する、
請求項1のHB-DIMM。
【請求項8】
前記RCD回路は、バンクごとのプリチャージ(PREpb)信号を、前記擬似チャネルのうち第1の擬似チャネルのバンクごとのプリチャージ信号に変換し、前記C/A信号から導出された将来使用のための予約(RFU)ビット上の信号を、前記擬似チャネルのうち第2の擬似チャネルのPREpb信号に変換することによって、ダイレクトリフレッシュ管理(directed refresh management、DRFM)コマンドをサポートする、
請求項1のHB-DIMM。
【請求項9】
高帯域幅デュアルインラインメモリモジュール(HB-DIMM)を動作させる方法であって、
レジスタクロックドライバ(RCD)回路において、メモリインターフェースバスを介してメモリアクセスコマンドを受信することと、
前記RCD回路において、少なくとも2つの独立してアドレス指定可能な擬似チャネルを提供するために、前記メモリアクセスコマンドのコマンド/アドレス(C/A)信号を複数のメモリチップのうち選択されたメモリチップにルーティングすることであって、前記RCD回路は、前記C/A信号のチップ識別子(CID)ビットに基づいてそれぞれの擬似チャネルをアドレス指定する、ことと、
前記RCD回路において、前記メモリアクセスコマンドが実行される選択されたメモリアクセスコマンドに関連付けられた擬似チャネルを示すデータバッファコマンドコードを準備することと、を含む、
方法。
【請求項10】
複数のメモリアクセスコマンドを受信して実行することを含み、
前記RCD回路は、前記メモリインターフェースバスから受信したコマンドの順序から前記複数のメモリアクセスコマンドを再順序付けしない、
請求項9の方法。
【請求項11】
前記少なくとも2つの擬似チャネルの読み出し応答を、非インターリーブフォーマットで前記メモリインターフェースバスを介して送信することを含む、
請求項9の方法。
【請求項12】
前記RCD回路は、前記メモリインターフェースバスのデータクロック(DCK)ピン及びC/Aピンがハーフレート(2N)速度で動作し、前記C/Aピンがダブルデータレート(DDR)モードで動作する第1のモードと、前記メモリインターフェースバスの前記DCKピンがフルレート(1N)速度で動作し、前記メモリインターフェースバスの前記C/Aピンがシングルデータレート(SDR)モードで動作する第2のモードと、で動作するようにプログラム可能である、
請求項9の方法。
【請求項13】
前記RCD回路は、前記擬似チャネルのうち第1の擬似チャネルのための前記複数のメモリチップの第1のセットにコマンドを実装するための第1のRCDと、前記擬似チャネルのうち第2の擬似チャネルのための前記複数のメモリチップの第2のセットにコマンドを実装するための第2のRCDと、を含み、前記第1のRCD及び第2のRCDのうち何れかが、前記第1の擬似チャネル及び第2の擬似チャネルのデータを送信するために複数のデータバッファチップを制御するための一次RCDとして機能する、
請求項9の方法。
【請求項14】
データ処理システムであって、
ホストバスと、
前記ホストバスに結合され、少なくとも2つの独立してアドレス指定可能な擬似チャネルを介してメモリアクセスコマンドを実行するメモリコントローラと、
前記ホストバスに結合された高帯域幅デュアルインラインメモリモジュール(HB-DIMM)と、を備え、
前記HB-DIMMは、
複数のメモリチップと、
前記複数のメモリチップに結合され、前記複数のメモリチップのデータを、前記複数のメモリチップのデータレートの2倍のデータレートでホストバスを介して送信可能な複数のデータバッファチップと、
前記ホストバスに結合するためのホストバスインターフェースと、前記複数のメモリチップに結合されたメモリインターフェースと、を含むレジスタクロックドライバ(RCD)回路であって、前記RCD回路は、少なくとも2つの独立してアドレス指定可能な擬似チャネルのために、コマンド/アドレス(C/A)信号を前記複数のメモリチップにルーティングすることによって、前記ホストバスを介して受信したメモリアクセスコマンドを実行し、前記C/A信号のチップ識別子(CID)ビットに基づいてそれぞれの擬似チャネルをアドレス指定する、RCD回路と、を備える、
データ処理システム。
【請求項15】
前記RCD回路は、前記ホストバスを介して受信したメモリアクセスコマンドを再順序付けしない、
請求項14のデータ処理システム。
【請求項16】
前記RCD回路は、前記少なくとも2つの擬似チャネルの読み出し応答を、非インターリーブフォーマットで前記データバスを介して送信させる、
請求項14のデータ処理システム。
【請求項17】
前記RCD回路は、前記ホストバスのデータクロック(DCK)ピン及びC/Aピンがハーフレート(2N)速度で動作し、前記C/Aピンがダブルデータレート(DDR)モードで動作する第1のモードと、前記ホストバスの前記DCKピンがフルレート(1N)速度で動作し、前記ホストバスの前記C/Aピンがシングルデータレート(SDR)モードで動作する第2のモードと、で動作するようにプログラム可能である、
請求項14のデータ処理システム。
【請求項18】
前記RCD回路は、前記メモリアクセスコマンドの前記CIDビットに基づいて、前記メモリアクセスコマンドの擬似チャネル選択を示すコマンドコードを生成し、前記データバッファチップのうち少なくとも1つに送信する、
請求項14のデータ処理システム。
【請求項19】
前記RCD回路は、前記複数のメモリチップの第1のセットにコマンドを実装するための第1のRCDと、前記複数のメモリチップの第2のセットにコマンドを実装するための第2のRCDと、を含み、前記第1のRCD及び第2のRCDのうち何れかが、前記複数のメモリチップの両方のセットのデータを送信するために前記データバッファチップを制御するための一次RCDとして機能する、
請求項14のデータ処理システム。
【請求項20】
前記メモリコントローラは、前記CIDビットに基づいて擬似チャネルをアドレス指定するために前記HB-DIMMにアクセスする第1のモードと、前記CIDビットに基づいてメモリチップのランクにアクセスするために異なるHB-DIMMにアクセスする第2のモードと、で機能するようにプログラム可能である、
請求項14のデータ処理システム。
【請求項21】
前記HB-DIMMは、前記複数のメモリチップの第1のセットを含む第1のメモリチャネルを提供する第1の半分と、前記複数のメモリチップの第2のセットを含む第2のメモリチャネルを提供する第2の半分と、を備え、
前記メモリコントローラは、第1のデータクロック(DCK)信号を前記第1のメモリチャネルに提供し、第2のDCK信号を前記第2のメモリチャネルに提供する、
請求項14のデータ処理システム。
【発明の詳細な説明】
【背景技術】
【0001】
現代のダイナミックランダムアクセスメモリ(dynamic random-access memory、DRAM)は、DRAMと、グラフィックス処理ユニット(graphics processing unit、GPU)、中央処理ユニット(central processing unit、CPU)等の1つ以上のデータプロセッサと、を接続するバス上のデータ送信の速度を増加させることによって、高いメモリ帯域幅を提供する。DRAMは、典型的には、安価で高密度であり、それによって、デバイスごとに大量のDRAMを集積することが可能になる。今日販売されている殆どのDRAMチップは、Joint Electron Devices Engineering Council(JEDEC)が普及を推進した様々なダブルデータレート(double data rate、DDR)DRAM規格と適合する。典型的には、いくつかのDDR DRAMチップが単一のプリント回路基板上に組み合わされて、比較的高速であるだけでなくスケーラビリティも提供できるメモリモジュールを形成する。
【0002】
しかしながら、これらの強化により、コンピュータシステムのメインメモリに使用されるDDRメモリの速度が改善されたが、更なる改善が求められている。特に、複数のコア及び対応するコア当たりの帯域幅要件の増加を有する高性能グラフィックスプロセッサ及びサーバ等のアプリケーションに必要とされるメモリ帯域幅が、DDR DRAMチップの帯域幅改善のロードマップを追い越しているためである。DDR5等の現在のDDRチップ技術でそのような要件を満たすために、改善されたDIMMアーキテクチャが必要とされる。
【0003】
1つのそのようなアーキテクチャは、負荷低減デュアルインラインメモリモジュール(load-reduced dual inline memory module、LRDIMM)である。LRDIMMは、既存のDIMMよりも高い密度をサポートする負荷低減(LR)DIMM(通常、サーバで採用される)である。LRDIMMは、メモリバス上の負荷を低減するために、レジスタではなくメモリバッファ(memory buffer、MB)チップを含む。メモリバッファは、メモリバスデータライン上の単一インピーダンス負荷への各クロック、コマンド/アドレス及びデータ入力を減少させ、これはメモリ速度を増加させる。
【0004】
帯域幅性能を改善するための別の提案されたアーキテクチャは、高帯域幅DIMM(HB-DIMM)である。この手法は、DIMMフォームファクタにおいて高帯域幅メモリ(high-bandwidth memory、HBM)フォーマットの利点を使用しようとするものである。
【図面の簡単な説明】
【0005】
【
図1】いくつかの実施形態による、データ処理システムを示すブロック図である。
【
図2】従来技術による、DDR5負荷低減デュアルインラインメモリモジュール(LRDIMM)を示すブロック図である。
【
図3】いくつかの実施形態による、高帯域幅DIMM(HB-DIMM)を示すブロック図である。
【
図4】
図3のHB-DIMMの動作を示す複数の信号を示すタイミング図である。
【
図5】いくつかの他の実施形態による、HB-DIMMを示すブロック図である。
【
図6】いくつかの他の実施形態による、HB-DIMMを示すブロック図である。
【
図7】1N動作モードにおける
図5のHB-DIMMの動作を示す複数の信号を示すタイミング図である。
【
図8】2N動作モードにおける
図5のHB-DIMMの動作を示す複数の信号を示すタイミング図である。
【
図9】様々な実施形態による、HB-DIMMの構成に利用可能な様々な選択肢を含む表である。
【
図10】いくつかの実施形態による、HB-DIMMの例示的なクロック速度及びデータレートを含む表である。
【
図11】様々な実施形態による、HB-DIMMの様々な構成に対する例示的な速度制限を含む表である。
【
図12】様々な実施形態による、様々なHB-DIMMのモジュール構成を含む表である。
【
図13】いくつかの実施形態による、モジュールレジスタクロックドライバ(module register clock driver、MRCD)を示すブロック図である。
【
図14】いくつかの実施形態による、モジュールデータバッファ(module data buffer、MDB)を示す回路とブロック図の混合である。
【
図15】いくつかの実施形態による、HB-DIMMを動作させるプロセスを示すフローチャートである。
【
図16】いくつかの実施形態による、HB-DIMM示すブロック図である。
【発明を実施するための形態】
【0006】
以下の説明において、異なる図面における同一の符号の使用は、同様のアイテム又は同一のアイテムを示す。別段の言及がなければ、「連結される(coupled)」という単語及びその関連する動詞形は、当該技術分野で周知の手段による直接接続及び間接電気接続の両方を含み、また、別段の言及がなければ、直接接続の任意の記述は、好適な形態の間接電気接続を使用する代替の実施形態も同様に意味する。
【0007】
高帯域幅デュアルインラインメモリモジュール(HB-DIMM)は、ホストバスに結合するように適合され、複数のメモリチップと、複数のデータバッファチップと、レジスタクロックドライバ(register clock driver、RCD)回路と、を含む。複数のデータバッファチップは、メモリチップのそれぞれのセットに結合され、メモリチップのデータレートの2倍のデータレートでホストバスを介してメモリチップからデータを送信することが可能である。RCD回路は、ホストバスに結合するためのホストバスインターフェースと、複数のメモリチップに結合されたメモリインターフェースと、を含む。RCD回路は、少なくとも2つの独立してアドレス指定可能な擬似チャネルを提供するためにコマンド/アドレス(command/address、C/A)信号をメモリチップにルーティングすることによって、ホストバスを介して受信したメモリアクセスコマンドを実行することが可能であり、RCD回路は、C/A信号から導出されたチップ識別子(chip identifier、CID)ビットに基づいてそれぞれの擬似チャネルをアドレス指定する。
【0008】
HB-DIMMを動作させるための方法は、レジスタクロックドライバ(RCD)回路において、メモリインターフェースバスを介してメモリアクセスコマンドを受信することを含む。RCD回路において、本方法は、少なくとも2つの独立してアドレス指定可能な擬似チャネルを提供するために、メモリアクセスコマンドのためのコマンド/アドレス(C/A)信号を複数のメモリチップのうち選択されたメモリチップにルーティングすることであって、RCD回路は、C/A信号のチップ識別子(CID)ビットに基づいて各それぞれの擬似チャネルをアドレス指定する、ことを含む。RCD回路において、方法は、コマンドが実行される選択されたメモリアクセスコマンドに関連付けられた擬似チャネルを示すデータバッファコマンドコードを準備することを含む。
【0009】
データ処理システムは、ホストバスと、メモリコントローラと、HB-DIMMと、を含む。メモリコントローラは、ホストバスに結合され、少なくとも2つの独立してアドレス指定可能な擬似チャネルを介してメモリアクセスコマンドを実行するためのものである。HB-DIMMは、ホストバスに結合され、複数のメモリチップと、複数のデータバッファチップと、レジスタクロックドライバと、を含む。複数のデータバッファチップは、メモリチップのそれぞれのセットに結合され、メモリチップのデータレートの2倍のデータレートでホストバスを介してメモリチップからデータを送信することが可能である。レジスタクロックドライバ(RCD)回路は、ホストバスに結合するためのホストバスインターフェースと、複数のメモリチップに結合されたメモリインターフェースと、を含む。RCD回路は、少なくとも2つの独立してアドレス指定可能な擬似チャネルのためにコマンド/アドレス(C/A)信号をメモリチップにルーティングすることによって、ホストバスを介して受信したメモリアクセスコマンドを実行する。RCD回路は、C/A信号のチップ識別子(CID)ビットに基づいてそれぞれの擬似チャネルをアドレス指定する。
【0010】
図1は、いくつかの実施形態による、データ処理システム100を示すブロック図である。データ処理システム100は、概して、グラフィックス処理ユニット(GPU)110、ホスト中央処理ユニット(CPU)120、ダブルデータレート(DDR)メモリ130、及び、HB-DIMMメモリ140の形態のデータプロセッサを含む。
【0011】
GPU110は、最適化されたグラフィックス処理、レンダリング及び表示のために非常に高い性能を有する離散グラフィックスプロセッサであるが、これらのタスクを実行するために高いメモリ帯域幅を必要とする。GPU110は、概して、コマンドプロセッサ111のセットと、グラフィックス単一命令複数データ(single instruction multiple data、SIMD)コア112と、キャッシュ113のセットと、メモリコントローラ114と、DDR物理インターフェース回路(DDR PHY)115と、HB-DIMM PHY116と、を含む。
【0012】
コマンドプロセッサ111は、OpenGLプログラミング言語で指定されるもの等の高レベルグラフィックス命令を解釈するために使用される。コマンドプロセッサ111は、OpenGL命令等の高レベルグラフィックス命令を受信するためのメモリコントローラ114への双方向接続、キャッシュ113への双方向接続、及び、グラフィックスSIMDコア112への双方向接続を有する。高レベル命令の受信に応じて、コマンドプロセッサは、キャッシュ113を一時記憶装置として使用して、フレームデータ等のデータのレンダリング、幾何学的処理、シェーディング及びラスタ化のための低レベル命令を発行する。グラフィックス命令に応じて、グラフィックスSIMDコア112は、大規模並列方式で大きいデータセットに対して低レベル命令を実行する。コマンドプロセッサ111及びキャッシュ113は、入力データ及び出力(例えば、レンダリング及びラスタ化された)データの一時的な記憶のために使用される。また、キャッシュ113は、グラフィックスSIMDコア112への双方向接続と、メモリコントローラ114への双方向接続と、を有する。
【0013】
メモリコントローラ114は、コマンドプロセッサ111に接続された第1の上流ポート、キャッシュ113に接続された第2の上流ポート、DDR PHY115への第1の下流双方向ポート、及び、HB-DIMM PHY116への第2の下流双方向ポートを有する。本明細書で使用される場合、「上流」ポートは、データプロセッサに向かい、且つ、メモリから離れる回路の側にあり、「下流」ポートは、データプロセッサから離れ、且つ、メモリに向かう方向にある。メモリコントローラ114は、DDRメモリ130及びHB-DIMM140との間のデータ転送のタイミング及びシーケンシングを制御する。DDRメモリは非対称アクセスを有し、すなわち、メモリ内のオープンページへのアクセスは、クローズドページへのアクセスよりも高速である。メモリコントローラ114は、メモリアクセスコマンドを格納し、例えば、特定のサービス品質目標を遵守しながらオープンページへのアクセスを優先することによって、効率のためにそれらを順不同で処理する。
【0014】
DDR PHY115は、メモリコントローラ114の第1の下流ポートに接続された上流ポート、及び、DDRメモリ130に双方向に接続された下流ポートを有する。DDR PHY115は、DDRバージョン5(DDR5)等のDDRメモリ130のバージョンの全ての指定されたタイミングパラメータを満たし、メモリコントローラ114の指示でタイミング較正動作を実行する。同様に、HB-DIMM PHY116は、メモリコントローラ114の第2の下流ポートに接続された上流ポート、及び、HB-DIMM140に双方向に接続された下流ポートを有する。HB-DIMM PHY116は、この実施形態では、DDR5 DRAMチップを採用し、PHY上のデータレートがメモリチップのデータレートの2倍である新しい高速PHYインターフェース規格を採用するが、HB-DIMMのフォームファクタ及びコネクタは既存のLRDIMM仕様と互換性がある。HB-DIMM140は、動作のためにHB-DIMM140を構成するように、HB-DIMM PHY116を介してプログラム可能なモードレジスタ141のセットを含む。
【0015】
動作中、データ処理システムは、グラフィックスSIMDコア112によって実行される高帯域幅グラフィックス処理のために、グラフィックスカード又はアクセラレータとして使用することができる。オペレーティングシステム又はアプリケーションプログラムを実行するホストCPU120は、GPU110及びホストCPU120のための統合メモリとして働くDDRメモリ130を通して、グラフィックス処理コマンドをGPU110に送信する。それは、例えば、OpenGLコマンドとして使用して又は任意の他のホストCPUを通して、コマンドをGPUインターフェースに送信し得る。OpenGLはKhronos Groupによって開発された2D及び3Dベクトルグラフィックスをレンダリングするためのクロス言語、クロスプラットフォームアプリケーションプログラミングインターフェースである。ホストCPU120は、アプリケーションプログラミングインターフェース(application programming interface、API)を使用して、GPU110と相互作用し、ハードウェア加速レンダリングを提供する。
【0016】
図2は、従来技術による、DDR5負荷低減デュアルインラインメモリモジュール(LRDIMM)250(LRDIMM250)を示すブロック図である。LRDIMM250は、概して、プリント回路基板(PCB)又は他のモジュールフォーマット上に具現され、複数のDRAMチップ252、複数のデータバッファ(data buffer、DB)254、及び、レジスタクロックドライバ(RCD)256を含む。
【0017】
メモリバスのデータ(DQ)ライン(6.4Gbps)、ホストクロックDCK(3.2GHz)、及び、6.4Gbpsの「1N」モード又は3.2Gbpsの「2N」モードで動作するコマンド/アドレス(DCA_a)ラインの動作速度が示されている。4個のランクのDRAMチップ252があり、DB254は、RCDバッファ256と協働して、DRAMチップ252の電気的負荷をメモリバスから分離することによって、システムにはLRDIMM250がデュアルランクDIMMとして見えるようにする。図から分かるように、LRDIMM250は、DRAMチップの速度(6.4Gbps)でメモリバスを介してデータを送受信し、メモリ帯域幅の増加を提供しない。データ及びC/Aシグナリングは、DDR5規格で採用される速度に対して1:1の比で送信される。RCD256及びDB254は、クワッドランク論理又はタイミングを処理しない。
【0018】
図3は、いくつかの実施形態による、高帯域幅DIMM(HB-DIMM)300を示すブロック図である。HB-DIMM300は、PCB又は他のモジュールフォーマット上に具現され、複数のDRAMチップ302と、複数のデータバッファ(DB)304と、レジスタクロックドライバ(RCD)306と、を含み、モジュールの底部に沿って概して示されるピンを介してメモリバスにインターフェースする。HB-DIMM300は、「PC0」及び「PC1」とラベル付けされた2つの独立してアドレス指定可能な擬似チャネルを含む。概して、HB-DIMM300は、この実施形態では12.8Gbpsのデータ(DQ)レートを提供し、DRAMチップ302のデータレート(6.4Gbps)の2倍である。1つの物理ランク(モジュールの半分、HB-DIMMの片側のみが示されている)を含む「×4」構成が示されているが、DRAMチップ302の追加のランクを示す点線によって示されるように、2つの物理ランクを有する「×8」構成がいくつかの他の実施形態において使用される。
【0019】
示されるように、擬似チャネルPC0及びPC1は、4個のピンの個別の6.4Gbpsリンクを用いてDB304に接続し、8個のデータピンが各DB304に接続する。したがって、DB304は、メモリバスを介して12.8Gbpsの容量を提供することができる。RCD306回路は、メモリバスに結合するためのメモリバス(ホストメモリバス)インターフェースと、DRAMチップ302の各々に接続されたメモリインターフェースと、を含む。RCD306は、少なくとも2つの独立してアドレス指定可能な擬似チャネルを提供するために、コマンド/アドレス(C/A)信号をDRAMチップにルーティングすることによって、ホストバスを介して受信したメモリアクセスコマンドを実行することが可能である。RCD306は、C/A信号から導出されたチップ識別子(CID)ビットに基づいてそれぞれの擬似チャネルをアドレス指定する。
【0020】
HB-DIMM300は、12.8Gbpsのメモリバスのデータ(DQ)ラインの動作速度を有し、一方、コマンド/アドレス(「DCA_a」)ラインは、12.8Gbpsの「1N」モード又は6.4Gbpsの「2N」モードで動作する。この実施形態では、ホストクロックDCKは、LRDIMM又は他の従来のDDRx DIMMによって提供されない能力である2Nモードでより低速に動作することもでき、DCKは、1Nモードでは6.4GHzで動作するが、2Nモードでは3.2GHzで動作し、DCAライン上のデータレートに対して2:1の比である。DCKのこの2Nモードは、例えば、LRDIMMで採用されているようなシングルデータレートではなく、ダブルデータレートでC/Aバスをクロックすることによって可能にされる。
【0021】
図4は、
図3のHB-DIMM300の動作を示す複数の信号を示すタイミング
図400である。横軸は時間を示す。ホストクロック信号「DCK」、C/Aコマンドシーケンス「DCA」、「QCK/BCK」とラベル付けされたローカルクロック信号及びバッファコマンドバスクロック信号、「QCA PC0」とラベル付けされたPC0のC/Aコマンドシーケンス、「QCA PC1」とラベル付けされたPC1のC/Aシーケンス、「MDQ PC0」とラベル付けされたPC0のデータシーケンス、「MDQ PC1」とラベル付けされたPC1のデータシーケンス、及び、「DQ」とラベル付けされたメモリバスデータ(DQ)ラインのデータシーケンスが示されている。PC1についてのコマンド及びデータは、
図400においてハッチングされた背景で示されている。様々なシーケンス内のバイト又はコマンドは、「C」及びそれらの序数でラベル付けされ、データバイトは、「D」及びそれらの序数でラベル付けされている。
【0022】
他の提案されたHB-DIMMアーキテクチャは、擬似チャネル間で時間的にインターリーブされたデータを送信及び受信するが、図示された方式は、データシーケンスDQに示すように、64バイトのデータ応答を一緒に保持する。この方式は、簡略化したシグナリングを提供し、以下で更に説明するように、DDR5 DRAMチップによってサポートされる「2N」C/Aシグナリングモードの任意選択の使用を可能にする。
【0023】
図5は、いくつかの実施形態による、高帯域幅DIMM(HB-DIMM)500を示すブロック図である。HB-DIMM500は、PCB又は他のモジュールフォーマット上に具現され、複数のDRAMチップ502と、複数のモジュールデータバッファ(MDB)504と、モジュールレジスタクロックドライバ(MRCD)506と、を含み、モジュールの底部に沿って概して示されるピンを介してメモリバスにインターフェースする。HB-DIMM500は、「PC0」及び「PC1」とラベル付けされた2つの独立してアドレス指定可能な擬似チャネルを含み、擬似チャネルPC0内の2つのランクは「R0」及び「R1」とラベル付けされ、擬似チャネルPC1内の2つのランクは「R0」及び「R1」とラベル付けされている。
【0024】
概して、HB-DIMM500は、この実施形態では12.8Gbpsのデータ(DQ)レートを提供し、DRAMチップ502のデータレート(6.4Gbps)の2倍である。
【0025】
示されるように、擬似チャネルPC0及びPC1は、8個のピンの個別の6.4Gbpsリンクを用いてMDB504に接続し、16個のデータピンが各MDB504に接続する。したがって、MDB504は、メモリバスを介して12.8Gbpsの容量を提供することができる。MRCD506回路は、メモリバスに結合するためのメモリバス(ホストメモリバス)インターフェースと、DRAMチップ502の各々に接続されたメモリインターフェースと、を含む。MRCD506は、少なくとも2つの独立してアドレス指定可能な擬似チャネルを提供するために、コマンド/アドレス(C/A)信号をDRAMチップにルーティングすることによって、ホストバスを介して受信したメモリアクセスコマンドを実行することが可能である。MRCD506は、C/A信号から導出されたチップ識別子(CID)ビットに基づいてそれぞれの擬似チャネルをアドレス指定する。
【0026】
HB-DIMM500は、メモリバスのデータ(DQ)ラインの動作速度(12.8Gbps)を有し、コマンド/アドレス(DCA_a)ラインは12.8Gbpsの「1N」モード又は6.4Gbpsの「2N」モードで動作し、ホストクロックDCKは、
図4に関して説明したように、C/Aバスにダブルデータレートクロッキングを使用することによって、2Nモードでより遅い速度をサポートする(シングルデータレートクロッキングを用いる1Nモードでは6.4GHz、ダブルデータレートクロッキングを用いる2Nモードでは3.2GHz)。
【0027】
HB-DIMM500は、同様のサイズのLRDIMMに勝るいくつかの利点を有する。第1に、DRAMチップ502からMDB504へのデータラインは、MRCD506からDRAMチップ502へのQCA、QCS、QCK信号が、1Nモードで3.2Gbps及び2Nモードで1.6Gbpsの図示された周波数によって示されるように、LRDIMM上の同等の信号よりも遅くクロックされるので、より高い動作周波数のための判定帰還等化(decision feedback equalization、DFE)を必要としない。第2に、DDR5規格の予想寿命末期(end of life、EOL)動作周波数に対する1N周波数は、MRCD506を出る各信号上の負荷の数のために、QCA、QCS、QCK信号に対して達成可能であるが(QCAはこの構成では20個の負荷を有し、QCS及びQCKは両方とも10個の負荷を有する)、そのような周波数は、負荷の数が増加するために、LRDIMM構成では達成不可能である。第3に、MRCD506及びMDB504の両方は、チャネル当たり2ランク論理及びタイミング制御、又は、クワッドランク論理及びタイミング制御の両方を実施するように構成され、HB-DIMM500が、(
図6に示されるように)クワッドランクを有し、擬似チャネルを有しないように構成されるようにする。
【0028】
図6は、いくつかの実施形態による、高帯域幅DIMM(HB-DIMM)600を示すブロック図である。HB-DIMM600は、クワッドランクモードで構成された
図5のHB-DIMM500を示す。HB-DIMM600は、PCB又は他のモジュールフォーマット上に具現され、複数のDRAMチップ602と、複数のデータバッファ(MDB)604と、モジュールレジスタクロックドライバ(MRCD)606と、を含み、モジュールの底部に沿って概して示されるピンを介してメモリバスにインターフェースする。概して、HB-DIMM600は、この実施形態では804Gbpsのデータ(DQ)レートを提供し、DRAMチップ602のデータレート(4.2Gbps)の2倍である。
【0029】
示されるように、クワッドランクモードは、4個のランクのDRAMチップ602(「R0」、「R1」、「R2」、「R3」とラベル付けされている)を、4個のピンの個別の4.2Gbpsリンクを用いてMDB604に接続し、合計16個のデータピンが各MDB604に接続する。MRCD606回路は、メモリバスに結合するためのメモリバス(ホストメモリバス)インターフェースと、DRAMチップ602の各々に接続されたメモリインターフェースと、を含む。MRCD606は、クワッドランクシグナリング構成を実装するためにコマンド/アドレス(C/A)信号をDRAMチップ601にルーティングすることによって、ホストバスを介して受信したメモリアクセスコマンドを実行することが可能であり、HB-DIMM500(
図5)のプログラム可能な構成を表す。MRCD606及びMDB604の両方は、
図5の図示されるクワッドランクフォーマット又はデュアルチャネルフォーマットで動作するようにプログラム可能である。
【0030】
図7は、1N動作モードにおける
図5のHB-DIMM500の動作を示す複数の信号を示すタイミング
図700である。第1列は各信号のクロック速度又はデータレートを示し、第2列は信号名を示す。ホストクロック信号「DCK」、「CMD」とラベル付けされたコマンドシーケンス、ホストからMRCDへのC/Aコマンドシーケンス「DCA[6:0]」、「QCK」とラベル付けされたDRAMチップへのローカルMRCDクロック信号、「CMD PC0」とラベル付けされたPC0のコマンドシーケンス、「CMD PC1」とラベル付けされたPC1のコマンドシーケンス、「QACA[13:0]」とラベル付けされたMRCDからPC0のためのDRAMチップへのデータシーケンス、「QBCA[13:0]」とラベル付けされたMRCDからPC0のためのDRAMチップへのデータシーケンス、「MDQ」とラベル付けされたPC0のためのDRAMチップからMDBへのデータシーケンス、「MDQ」とラベル付けされたPC1のためのDRAMチップからMDBへの別のデータシーケンス、及び、「DQ」とラベル付けされたメモリバスデータ(DQ)ラインのデータシーケンスが示されている。データバイトは、「D」及びそれらの序数でラベル付けされている。
【0031】
図8は、2N動作モードにおける
図5のHB-DIMM500の動作を示す複数の信号を示すタイミング
図800である。信号名は
図7と同じである。「DCK opt1」及び「DCK opt2」とラベル付けされたDCKクロックの周波数の2つの選択肢が示されている。DCK opt1の場合、DCKのDCK周波数は、6.4GHzに対して、この例では3.2GHzでDCK opt2の半分である。DCK opt1の場合、C/Aバスは、QCKに対して1:1の比で、ダブルデータレートでクロックされ、一方、DCK opt2の場合、C/Aバスは、シングルデータレートでクロックされる。
【0032】
図9は、様々な実施形態による、HB-DIMMの構成に利用可能な様々な選択肢を含む表900である。様々な構成におけるモジュール上のDRAMチップのランクにアクセスするためのチップ選択値(chip select、CS)及びチップ識別子(CID)値の組み合わせを使用するための選択肢が示されている。2つの擬似チャネル「PC0」及び「PC1」を有する3つの構成と、擬似チャネルを有しないクワッドランク構成と、が示されている。第1列はDRAMチップのランクをリストし、第2列は擬似チャネル(pseudo-channel、PC)をリストする。
【0033】
1チャネル当たりランク(rank per channel、RPC)でDRAMチップ当たり4本のデータライン(1RPCx4)では、CS0及びCS1を使用し、擬似チャネル間で選択される。1RPCでDRAMチップ当たり8本のデータラインを有する構成(1RPCx8)では、CS0、及び、0又は1のCID値を使用し、擬似チャネル間で選択される。2RPCでDRAMチップ当たり8本のデータラインの構成(2RPCx8)では、ランク0については、CS0、及び、0又は1のCID値を使用し、擬似チャネル間で選択され、ランク1については、CS1、及び、0又は1のCID値を使用し、擬似チャネル間で選択される。クワッドランクでDRAMチップ当たり4本のデータラインを有する(QRx4)構成では、CS0、CS1、及び、0又は1のCID値を使用し、ランク間で選択される。
【0034】
図10は、いくつかの実施形態による、HB-DIMMの例示的なクロック速度及びデータレートを含む表1000である。図示された構成は、
図5のものと同様に実装された8800MT/s(メガ転送/秒)能力のHB-DIMMについて示されている。第1列は、信号又はデータレートをリストする。第2列は、QCK対DCKの比が2:1(すなわち、
図7)である1Nモードにおける2RPC HB-DIMMの速度を示す。第3列は、QCK対DCKの比が2:1(すなわち、
図8のDCK opt1)である2Nモードの2RPC HB-DIMMの速度を示す。第4列は、QCK対DCKの比が1:1(すなわち、
図8、DCK opt1)である2NモードのQR HB-DIMMの速度を示す。構成可能な2Nモードは、C/Aタイミングが困難であるシステムにおいてより大きなタイミングマージンを可能にし、DDR5 DRAMチップが、DDR5規格の有用な寿命を延ばすのに役立つ様々な大容量DIMMモジュールにおいて使用されることを可能にする。
【0035】
図11は、様々な実施形態による、HB-DIMMの様々な構成に対する例示的な速度制限を含む表1100である。第1行は、比較のためのベースラインとしてQR LRDIMM(HB-DIMMの特徴なし)の値を示す。他の行は、左側にラベル付けされた1組の大容量すなわち「トール(Tall)」構成を含むHB-DIMM構成を示す。「ギア」とラベル付けされた構成は、DRAMアドレス/コマンドバスにDDR5メモリバスクロックの1つおきの立ち上がりクロックを使用させるようにHB-DIMMが構成可能であるギアダウンモードを含む。クワッドランク(quad rank、QR)トール構成では、擬似チャネルは使用されず、好ましい実施形態は、アドレスをモジュール上のランクにマッピングするためにCIDビットを採用する。
【0036】
図12は、様々な実施形態による、様々なHB-DIMMのモジュール構成を含む表1200である。最後の2行は、本明細書の技術によって可能にされるモジュール構成を示し、クワッドランク(QR)能力を提供するモジュールを含む。
図9~
図13に示される様々な速度及び容量選択肢から理解され得るように、本明細書の技術は、異なるアプリケーション要件に適応する様々なモードのための柔軟な構成を可能にする。
【0037】
図13は、いくつかの実施形態による、モジュールレジスタクロックドライバ(MRCD)1300を示すブロック図である。MRCD1300は、概して、HB-DIMMモジュール上のRCDチップとして具現され、
図3、
図5、
図6、
図16のHB-DIMM、及び、本明細書の他のHB-DIMMモジュール構成における使用に適している。
【0038】
MRCD1300は、「Vref」とラベル付けされた基準電圧入力、「DCA[6:0]_A、DPAR_A」とラベル付けされたC/Aバス及びパリティ入力、「DCS[1:0]_A_n」とラベル付けされたチップ選択入力、「DRST_n」とラベル付けされたリセット入力、「DCK_t」及び「DCK_c」とラベル付けされたDCK入力の差動ペア、「QACA[13:0]_A」とラベル付けされた第1のDRAM C/A出力、「QBCA[13:0]_A」とラベル付けされた第2のDRAM C/A出力、「BCOM[2:0]_A,BCS_A_n」とラベル付けされたバッファコマンドバス出力、「QACS[1:0]_A_n」とラベル付けされた第1のDRAMチップ選択出力、「QBCS[1:0]_A_n」とラベル付けされた第2のDRAMチップ選択出力、「Q(O A)CK_A_t」及び「Q(O A)CK_A_c」とラベル付けされた差動バックサイドQCKクロック出力のペア、並びに、「QRST_[0A]_n、BRST_[0A]_n」とラベル付けされたリセット出力を含む。概して、MRCD1300は、「チャネルA」とラベル付けされた第1の擬似チャネルのためのRCDと、「チャネルB」とラベル付けされた第2の擬似チャネルのためのMRCD1320と、を含む。チャネルAのRCDは、制御論理及びチップ選択論理を有する制御ワード状態機械(「状態機械1302」)と、クロック回路1310と、を含む。
【0039】
状態機械1302は、C/Aバス及びパリティ入力DCA[6:0]_A、DPAR_Aと、チップ選択入力DCS[1:0]_A_nと、を受信するホストバスインターフェースを含む。また、状態機械1302は、クロック回路1310からクロック信号QCKを受信する入力を含む。第1のDRAM C/A出力QACA[13:0]_A及び第1のDRAMチップ選択出力QACS[1:0]_A_nは、第1のランクのDRAMチップ(例えば、
図5のPC0のR0)に接続され、第2のDRAM C/A出力QBCA[13:0]_A及び第2のDRAMチップ選択出力QBCS[1:0]_A_nは、第2のランクのDRAMチップ(例えば、
図5のPC0のR1)に接続される。バッファコマンドバス出力BCOM[2:0]_A、BCS_A_nは、HB-DIMMのMDB(例えば、
図5の504)に接続される。
【0040】
クロック回路1310は、リセット入力「DRST_n」と、「DCK_t」及び「DCK_c」とラベル付けされた差動DCK入力と、を受信し、クロック信号QCKを生成し、このクロック信号QCKは、状態機械1302に供給され、任意選択で、チャネルB用の別の同一の状態機械に供給される。クロック回路1310は、差動受信部1314及び位相ロックループ(phase locked loop、PLL)1316を含む。動作中、差動受信部1314は、ホストメモリバスから差動クロック信号DCKを受信し、これはPLL1316の入力に供給される。PLL1316の出力は、HB-DIMMのMRCD及びDBを動作させるためのQCK(バックサイド)クロックを提供する。ラベルによって示されるように、PLL1316は、2つのモードで動作するように構成可能であり、1つは、DCK及びQCKクロック信号が2:1の比を有するモードであり、1つは、それらが1:1の比を有するモードである。2:1モードでは、PLL1316はクロック分周器として機能する。3.2GHz及び6.4GHzの例示的なDCK周波数が示されているが、これらの比は、DCKの様々な周波数を用いた実施形態に使用される。
【0041】
チャネルBのためのMRCD1320は、概して、同様にVref入力、C/Aバス及びパリティ入力「DCA[6:0]_A、DPAR_A」、チップ選択入力「DCS[1:0]_A_n」、並びに、「DRST_n」とラベル付けされたリセット入力をホストコントローラインターフェースから受信する第2の状態機械1302を含む。示されるように、ホストインターフェースが異なる擬似チャネルに対して別々のDCK信号をサポートする場合、任意選択の第2のDCKを入力として受信することができる。そのような実施形態では、第2のクロック回路1310がチャネルBのために存在し、それ自体のQCK信号を生成して、第2の擬似チャネルのためのDRAMチップを駆動する。
【0042】
動作中、MRCD1300は、少なくとも2つの独立してアドレス指定可能な擬似チャネルを提供するためにコマンド/アドレス(C/A)信号をメモリチップにルーティングすることによって、ホストコネクタインターフェースを通してホストバスを介して受信したメモリアクセスコマンドを実行し、RCD回路は、C/A信号から導出されたチップ識別子(CID)ビットに基づいてそれぞれの擬似チャネルをアドレス指定する。様々な実施形態において、状態機械1302は、上述した構成に従ってDRAMチップにアクセスするための出力信号を生成するために、C/A信号の選択されたCIDビットを解釈し、再マッピングする。また、状態機械1302は、
図14に関して以下で更に説明するように、メモリアクセスコマンドの結果を各擬似チャネル(複数の擬似チャネルを有する構成の場合)又は各ランク(クワッドランク構成の場合)に正しく提供するために、HB-DIMMデータバッファのためのMDBコマンド信号を生成する。具体的には、MRCD1300は、メモリアクセスコマンド用のCIDビットに基づいてメモリアクセスコマンドのための擬似チャネル選択を示すコマンドコードを生成してMDBに送信する。また、MRCD1300は、HB-DIMMのDRAMチップを動作させるためのQCKクロック出力Q(O A)CK_A_t及びQ(O A)CK_A_cを生成するための差動ドライバ(図示せず)を含む。
【0043】
図4、
図7、
図8のタイミング図に示されるように、MRCD1300は、ホストバスを介して受信したメモリアクセスコマンドを再順序付けするのではなく、代わりに、各擬似チャネルに対する応答を順番に提供する。MRCD1300は、少なくとも2つの擬似チャネルに対する読み出し応答を、非インターリーブフォーマットでデータバスを介して送信させる。いくつかの実施形態では、MRCD1300は、ホストバスのデータクロック(data clock、DCK)ピン及びC/Aピンがハーフレート(2N)速度で動作し、C/Aピンがダブルデータレート(double data rate、DDR)モードで動作する第1のモードと、ホストバスのDCKピン及びC/Aピンがフルレート(1N)速度で動作し、ホストバスのC/Aピンがシングルデータレート(single data rate、SDR)モードで動作する第2のモードと、で動作するようにプログラム可能である。
【0044】
いくつかの実施形態では、MRCD1300は、バンクごとのプリチャージ(precharge per bank、PREpb)信号を複数の擬似チャネルのうち第1の擬似チャネルのためのバンクごとのプリチャージ信号に変換し、C/A信号から導出された将来使用のための予約(reserved for future use、RFU)ビット上の信号を複数の擬似チャネルのうち第2の擬似チャネルのためのPREpb信号に変換することによって、ダイレクトリフレッシュ管理(directed refresh management、DRFM)コマンドをサポートする。
【0045】
いくつかの実施形態では、MRCD1300は、C/A信号をクワッドランク(QR)フォーマットでメモリチップにルーティングすることによってホストバスを介して受信したメモリアクセスコマンドを実行するクワッドランク構成で動作するようにプログラム可能である。このような場合、CIDビット及びチップ選択信号は、例えば、
図9に示すように、DRAMチップの論理ランクにマッピングされる。
【0046】
図14は、いくつかの実施形態による、モジュールデータバッファ(MDB)1400を示す回路とブロック図の混合である。MDB1400は、概して、HB-DIMMモジュール上のMDBチップにおいて具現され、
図3、
図5、
図6、
図16のHB-DIMM、及び、本明細書の他のHB-DIMMモジュール構成における使用に適している。MDB1400は、概して、バッファコントローラ1410、第1のDRAMインターフェース1430、第2のDRAMインターフェース1440、及び、ホストコネクタインターフェース1450を含む。
【0047】
バッファコントローラ1410は、「BCK_t」及び「BCK_c」とラベル付けされた差動クロック入力の第1のペア、「BCOM[2:0]」とラベル付けされた制御バス入力、「BCS_n」とラベル付けされたチップ選択入力、「BRST_n」とラベル付けされたリセット入力、「ZQCAL」とラベル付けされたインピーダンス較正出力、並びに、ホストコネクタインターフェース1450に接続された複数の出力を有する。
【0048】
DRAMインターフェース1430及び1440の各々は、「MDQS0_t」及び「MDQS0_c」とラベル付けされたデータストローブ入力/出力の差動ペア、MDQ[3:0]とラベル付けされたDRAMデータバス入力/出力、基準電圧入力、並びに、ホストコネクタインターフェース1450に接続された複数の入力出力を有する。ホストコネクタインターフェース1450は、「DQS0_t」及び「DQS0_c」とラベル付けされたデータストローブ入力/出力の第1の差動ペア、「DQS1_t」及び「DQS1_c」とラベル付けされたデータストローブ入力/出力の第2の差動ペア、並びに、「DQ[3:0]、DQ[7:4]」とラベル付けされたDRAMデータバス入力/出力を有する(上位及び下位ニブルで個別のデータストローブ信号を使用するために、図示されるように下位及び上位ニブルによって分離される)。また、ホストコネクタインターフェース1450は、以下で更に説明するように、バッファコントローラ1410への複数の接続を有する。
【0049】
概して、MDB1400は、メモリアクセスコマンドを実行する際にMDBの動作を同期させるために、バッファコマンドバスを介して制御信号を受信する。MDB1400は、追加のBCOM(バッファコマンド)コードを実行して、各コマンドに対する擬似チャネルを識別し、そのBCOMコードに基づいて、DRAMインターフェース1430又は1440の何れが使用されるかを選択する。同様に、HB-DIMMにクワッドランク能力を提供する構成では、MDBは、例えば
図9に示すように、追加のBCOMコードに基づいてデバイスの論理ランクを選択することを実施する。ラベル「PC用の追加のBCOMコード」によって示されるように、MDB1400は、ホストコネクタインターフェース1450及びDRAMインターフェース1430又は1440のうち何れかによるメモリアクセスコマンド用のCIDビットに基づいて、メモリアクセスコマンドのための擬似チャネル選択を示すコマンドコードを受信し、実行し、示された擬似チャネルのためのDRAMチップに接続する。
【0050】
DRAMインターフェース1430及び1440の各々は、HB-DIMM上のDRAMチップに接続する。擬似チャネルをサポートする構成の場合、DRAMインターフェース1430は、第1の擬似チャネルのためのDRAMチップに接続し、第2のDRAMインターフェース1440は、第2の擬似チャネルのためのDRAMチップに接続する。示されるように、ホストコネクタインターフェース1450は、DRAMインターフェース1430及び1440並びに制御バスのデータレートの2倍のクロックレートで動作し、この例では、6.4GHz対3.2GHzである。概して、HB-DIMMは、MRCDからのコマンドに応じて動作して、DRAMチップのデータレートでホストバスを介してDRAMチップとの間でデータを送受信する複数のMDB1400を含む。
【0051】
バッファコントローラ1410は、差動受信部1411、複数の他の受信部1412、1413、1414、PLL1415、複数のラッチ1416、1417、1418、バッファ制御ワードブロック1420、コマンドデコーダ及び電力管理ブロック1422、終端制御ブロック1424、インピーダンス較正ブロック1426、及び、遅延要素1428を含む。差動受信部1411は、MRCDからバッファブロック信号(概してBCK)を受信し、それをPLL1415、及び、ラッチ1416、1417、1418に提供する。この実施形態では、PLL1415は、BCKについては3.2GHz及びPLL1415の出力については6.4GHzの例示的な周波数によって示されるように、BCKの周波数の2倍でMDB1400内の回路を動作させるためのクロック信号を提供する周波数逓倍器を含む。受信部1412は、制御バス入力BCOM[2:0]を受信し、それをラッチ1416に供給し、ラッチ1416はそれをコマンドデコーダ及び電力管理ブロック1422に転送する。受信部1413は、チップ選択入力BCS_nを受信し、それをラッチ1417及び1418に供給し、ラッチ1417及び1418は、それをブロック1422に供給する。受信部1414は、リセット入力BRST_nを受信し、それをラッチ1418のリセット入力に供給する。
【0052】
コマンドデコーダ及び電力管理ブロック1422は、入力BCOM[2:0]への制御バス信号を受信する入力、入力BCS_nへのチップ選択信号を受信する入力、バッファ制御ワードブロック1420への双方向接続、及び、ホスト接続インターフェース1450のトランザクションコントローラ1451に接続された出力を有する。バッファ制御ワードブロック1422は、コマンドデコーダ及び電力管理ブロック1422への双方向接続、終端制御ブロック1424に接続された出力、インピーダンス較正ブロック1426への双方向接続、及び、トランザクション制御ブロック1451に接続された出力を有する。
【0053】
終端コントローラ1424は、概して、ホストコネクタインターフェース1450の終端抵抗1460を制御する。終端コントローラ1424は、ラッチ1418の出力に接続された第1の入力、PLL1415に接続された第2の入力、及び、バッファ制御ワードブロック1420に接続された第3の入力を有する。インピーダンス較正ブロック1426は、バッファ制御ワードブロック1420への双方向接続、及び、インピーダンス較正出力ZQCALに信号を提供する出力を有する。
【0054】
DRAMインターフェース1430及び1440の各々は、差動送信部1431のペア、差動受信部1432、終端抵抗1435、受信部1433、送信部1434、遅延要素1436、及び、ラッチ1437を含む。差動送信部1431の各々は、それぞれの出力トランザクションコントローラ1451に接続された入力と、トランザクションコントローラ1451の出力に接続された制御入力と、入力/出力MDQS0_t及びMDQS0_cにそれぞれ接続された出力と、を有する。差動受信部1432は、入力/出力MDQS0_t及びMDQS0_cにそれぞれ接続された2つの入力、トランザクションコントローラ1451に接続されたイネーブル入力、並びに、遅延要素1436を通してラッチ1437のクロック入力に接続された出力を有する。終端抵抗1435は、MDQS0_t、MDQS0_c及びMDQ[3:0]への入力/出力に終端を選択的に適用する。受信部1433(4個のうち1つのみが示されている)の各々は、入力/出力MDQ[3:0]に接続された入力、MDQ基準電圧発生回路1438に接続された入力、及び、ラッチ1437を通して読み出し先入れ先出しバッファ1452に結合された出力を有する。送信部1434(1つのみが示されている)の各々は、書き込みFIFOバッファ1453に接続された入力、入力/出力MDQ[3:0]に接続された出力、及び、トランザクションコントローラ1451に接続されたイネーブル入力を有する。
【0055】
ホストコネクタインターフェース1450は、トランザクションコントローラ1451、読み出しFIFOバッファ1542、書き込みFIFOバッファ1453、差動送信部1455のペア、差動受信部1456、終端抵抗1460、送信部1457、受信部1458、ラッチ1454を含む。差動送信部1455の各々は、それぞれの出力トランザクションコントローラ1451に接続された入力と、トランザクションコントローラ1451の出力に接続された制御入力と、入力/出力DQSn_t及びDQSn_cにそれぞれ接続された出力と、を有する(ここで「n」は0又は1を示し、MDB1400によって処理されるデータバイトの下位ニブル及び上位ニブルに個別のDQS信号が提供されることを示す)。図面を簡略化するために、DQSに対して1つの送受信部のみが示されている。差動受信部1456は、入力/出力MDQS0_t及びMDQS0_cにそれぞれ接続された2つの入力、トランザクションコントローラ1451に接続されたイネーブル入力、及び、ラッチ1454のクロック入力に接続された出力を有する。終端抵抗1460は、入力/出力DQSn_t、MDQSn_c、DQ[3:0]、DQ[7:4]に終端を選択的に適用する。受信部1458(8個のうち1つのみが示されている)の各々は、入力/出力DQ[3:0]、DQ[7:4]に接続された入力、MDQ基準電圧発生回路1459に接続された入力、及び、ラッチ1454を通して書き込みFIFOバッファ1452に結合された出力を有する。送信部1457(1つのみが示されている)の各々は、読み出しFIFOバッファ1453に接続された入力、入力/出力MDQ[3:0]に接続された出力、及び、トランザクションコントローラ1451に接続されたイネーブル入力を有する。
【0056】
図示したように、DRAMインターフェース1430及び144は、DCKの半分の周波数で動作する。動作中、HB-DIMM上のMRCDからのコマンドは、入力BCOM[2:0]を介して受信され、コマンドデコーダ及び電力管理ブロック1422によって復号される。コマンドデコーダは、受信したコマンドを解釈し、バッファ制御ワードブロック1420にアクセスして、トランザクションコントローラ1451に適切な制御ワードを提供する。バッファ制御ワードに応じて、トランザクションコントローラ1451は、DRAMインターフェース1430及び1440のうち何れかを介して読み出しデータを受信して、DRAMデータレートの2倍でホストコネクタインターフェースを介してそれを送信するか、又は、ホストコネクタインターフェースを介して書き込みデータを受信して、それを受信したデータレートの半分でDRAMインターフェース1430又は1440のうち何れかを介してそれをDRAMに書き込むように、様々な送信部、受信部及びバッファを構成する。コマンドデコーダ及び電力管理回路1422は、上述したような擬似チャネル構成又はクワッドランク構成を実装するために、例えば
図9に示すように、CID及びCSビットをDRAMチップにマッピングするための復号論理を実装する。
【0057】
図15は、いくつかの実施形態による、HB-DIMMを動作させるプロセスを示すフローチャート1500である。図示したプロセスは、擬似チャネルを採用する本明細書で提供されるHB-DIMM構成と共に使用するのに適している。
【0058】
ブロック1502において、プロセスは、レジスタクロックドライバ(RCD)において、メモリインターフェースバスを介してメモリアクセスコマンドを受信することを含む。ブロック1504において、コマンドのためのC/A信号のチップ識別子(CID)ビットに基づいて、RCDは、少なくとも2つの擬似チャネルを提供する複数のメモリチップのうち選択されたメモリチップにメモリアクセスコマンドをマッピングする。RCDは、メモリアクセスコマンドのためのコマンド/アドレス(C/A)信号を、選択されたメモリチップにルーティングする。
【0059】
ブロック1506において、RCDは、コマンドが実行される選択されたメモリアクセスコマンドに関連付けられた擬似チャネルを示すデータバッファコマンドコード(buffer command code、BCOM)を準備し、送信する。概して、ブロック1506はブロック1504と同時に実行され得る。
【0060】
ブロック1508において、データバッファは、データバッファコマンドコードに従って構成され、メモリから応答データを受信する。次に、ブロック1510において、受信したデータは、指定された擬似チャネルを対象とする適切なデータピン上のホストメモリインターフェースバス上にドライブされる。メモリからの読み出しを含むシーケンスが示されているが、同じプロセスが書き込みコマンドに対して逆方向に適用される。
【0061】
概して、本明細書で説明する実施形態によるHB-DIMMを動作させるプロセスは、複数のメモリアクセスコマンドを受信して実行することを含んでもよく、RCD回路は、ホストバスから受信したコマンドの順序から複数のメモリアクセスコマンドを再順序付けしない。
図7及び
図8に関して上述したように、いくつかの実施形態におけるプロセスは、少なくとも2つの擬似チャネルに対する読み出し応答を、非インターリーブフォーマットでメモリインターフェースバスを介して送信することを含み得る。
【0062】
いくつかの実施形態によれば、方法は、ランクの異なるマッピングを用いてトレーニングモードに入ることを含み得る。既知のHB-DIMM設計は、現在のハードウェアが2つのランクのみを包含するように制限されているので、ハードウェア制約のためにクワッドランクモジュールの4個のランクを適切にトレーニングすることができないという問題がある。いくつかの実施形態によれば、本明細書の様々な実施形態のRCD回路及びDB回路にモードが追加され、それによって、トレーニング中に、2つのホスト側CS入力の各々が、論理ランク制限を回避するために2つのバックサイドランクのうち何れかにマッピングするように割り当てられる。トレーニング中、プロセスは、モードを変更して4個のランク全てに進むことができる。通常モードでは、プロセスはCS/CID信号を採用してランクをアドレス指定する。
【0063】
図16は、いくつかの実施形態による、HB-DIMM1600を示すブロック図である。概して、HB-DIMM1600は、
図5の構成のように擬似チャネル当たり2ランクの構成に構成されるが、単一のRCDではなく2つのRCDを含む。特に、HB-DIMM1600は、一次RCD1602及び二次RCD1604を有する。
【0064】
概して、提案されたHB-DIMM構成は、信号の負荷に関連する問題を抱えている。この問題は、容量の拡張と、全てのモジュール信号に対する関連する二重負荷と、に関連する。この問題の解決を助けるために、第2のRCDバッファが追加される。この追加により、外部ホスト対応インターフェースにより多くの負荷がかかるが、その追加の負荷は許容可能である可能性が高い。
図16の実装によって対処される追加の問題は、RCDバッファとDBとの間の接続性である。DBは、RCDによって制御される。しかしながら、2つのRCDを使用して、HB-DIMMモジュールは、一次RCD及び二次RCDを指定することによって、何れがデータバッファを制御するかを決定する。両方のRCDは、ホストインターフェースに接続され、したがって、何れのコマンドが他方のRCDによって実施されるかを認識している。これにより、一次RCDは、二次RCDがPC1のためのDRAMチップと通信している間に、一次RCD自身及び二次RCDの両方のDBを制御することができる。この問題を解決する別の方法は、RCD間に補助通信バスを追加することである。そのような構成は、「DB調整」とラベル付けされた任意選択の双方向接続によって示されているが、第1の解決策よりも多くのリソースを必要とする。
【0065】
HB-DIMM1600のRCD回路は、複数の擬似チャネルのうち第1の擬似チャネル(PC0)のためのDRAMチップの第1のセットへのコマンドを実行するための一次RCD1602と、複数の擬似チャネルのうち第2の擬似チャネルのためのDRAMチップの第2のセットへのコマンドを実行するための二次RCD1604と、を採用する。一次RCD1602は、データバッファチップ(MDB)を制御して、第1及び第2の擬似チャネルについてのデータを送信するように指示する。
【0066】
本明細書に説明される基準電圧発生回路、或いは、その任意の部分を含む集積回路又は複数の集積回路は、プログラムによって読み取られて使用され得るデータベース又は他のデータ構造の形態で、コンピュータアクセス可能データ構造によって記述又は表されて、直接的に又は間接的に、集積回路を製造し得る。例えば、本データ構造は、ベリログ又はVHDL等の高位設計言語(high level design language、HDL)におけるハードウェア機能の挙動レベル記述又はレジスタ転送レベル(register transfer level、RTL)記述であってもよい。記述は、合成ライブラリからゲートのリストを含むネットリストを生成するために記述を合成することができる合成ツールによって読み取ることができる。ネットリストは、集積回路を含むハードウェアの機能も表すゲートのセットを含む。ネットリストは、次に、マスクに適用される幾何学的形状を記述するデータセットを生成するために配置され、ルーティングされてもよい。次に、マスクを、様々な半導体製造工程で使用して、集積回路を製造してもよい。代替的に、コンピュータアクセス可能記憶媒体上のデータベースは、所望の場合、ネットリスト(合成ライブラリの有無にかかわらず)若しくはデータセット、又は、グラフィック・データ・システム(Graphic Data System、GDS)IIデータであってもよい。
【0067】
特定の実施形態を説明してきたが、これらの実施形態に対する様々な修正が当業者には明らかであろう。例えば、
図4、
図7、
図8に示されるようなコマンドの特定のタイミングが変更され得る。更に、本明細書の様々な特徴は、様々なサブコンビネーションで使用されてもよい。RCDは、単一のRCDチップ又は協働する一対のRCDとして回路内に具現することができる。HB-DIMMは、本明細書のクワッドランク構成と擬似チャネル構成との間でモードを変更するようにプログラム可能であるRCD回路及びDB回路を用いて構築され得るか、又は、一方若しくは他方のみを実行するように構築され得る。
【0068】
したがって、添付の特許請求の範囲は、開示された実施形態の範囲に含まれる開示された実施形態の全ての変更を網羅することを意図している。
【手続補正書】
【提出日】2024-08-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ホストバスに結合するように構成された高帯域幅デュアルインラインメモリモジュール(HB-DIMM)であって、
複数のメモリチップと、
前記複数のメモリチップのそれぞれのセットに結合され、前記複数のメモリチップのデータを、前記複数のメモリチップのデータレートの2倍のデータレートでホストバスを介して送信可能な複数のデータバッファチップと、
前記ホストバスに結合するためのホストバスインターフェースと、前記複数のメモリチップに結合されたメモリインターフェースと、を含むレジスタクロックドライバ(RCD)回路であって、前記RCD回路は、少なくとも2つの独立してアドレス指定可能な擬似チャネルを提供するために、コマンド/アドレス(C/A)信号を前記複数のメモリチップにルーティングすることによって、前記ホストバスを介して受信したメモリアクセスコマンドを実行することが可能であり、前記C/A信号から導出されたチップ識別子(CID)ビットに基づいてそれぞれの擬似チャネルをアドレス指定する、RCD回路と、を備える、
高帯域幅デュアルインラインメモリモジュール(HB-DIMM)。
【請求項2】
前記RCD回路は、前記ホストバスを介して受信したメモリアクセスコマンドを再順序付けしない、
請求項1のHB-DIMM。
【請求項3】
前記RCD回路は、前記少なくとも2つの擬似チャネルの読み出し応答を、非インターリーブフォーマットで前記ホストバスを介して送信させる、
請求項1のHB-DIMM。
【請求項4】
前記RCD回路は、C/A信号をクワッドランク(QR)フォーマットで前記複数のメモリチップにルーティングすることによって、前記ホストバスを介して受信したメモリアクセスコマンドを実行することが可能であり、
前記複数のデータバッファチップは、前記RCD回路からのコマンドに応じて、前記複数のメモリチップのデータレートで前記ホストバスを介して前記複数のメモリチップからデータを送信することが可能である、
請求項1のHB-DIMM。
【請求項5】
前記RCD回路は、前記ホストバスのデータクロック(DCK)ピン及びC/Aピンがハーフレート(2N)速度で動作し、前記C/Aピンがダブルデータレート(DDR)モードで動作する第1のモードと、前記ホストバスの前記DCKピンがフルレート(1N)速度で動作し、前記ホストバスの前記C/Aピンがシングルデータレート(SDR)モードで動作する第2のモードと、で動作するようにプログラム可能である、
請求項1のHB-DIMM。
【請求項6】
前記RCD回路は、前記メモリアクセスコマンドの前記CIDビットに基づいて、前記メモリアクセスコマンドの擬似チャネル選択を示すコマンドコードを生成し、前記データバッファチップのうち少なくとも1つに送信する、
請求項1のHB-DIMM。
【請求項7】
前記RCD回路は、前記複数のメモリチップの第1のセットにコマンドを分配するための第1のRCDと、前記複数のメモリチップの第2のセットにコマンドを実装するための第2のRCDと、を含み、前記第1のRCD及び第2のRCDのうち何れかが、前記ホストバスを介して前記複数のメモリチップの両方のセットのデータを送信するために前記データバッファチップを制御するための一次RCDとして機能する、
請求項1のHB-DIMM。
【請求項8】
前記RCD回路は、バンクごとのプリチャージ(PREpb)信号を、前記擬似チャネルのうち第1の擬似チャネルのバンクごとのプリチャージ信号に変換し、前記C/A信号から導出された将来使用のための予約(RFU)ビット上の信号を、前記擬似チャネルのうち第2の擬似チャネルのPREpb信号に変換することによって、ダイレクトリフレッシュ管理(directed refresh management、DRFM)コマンドをサポートする、
請求項1のHB-DIMM。
【請求項9】
高帯域幅デュアルインラインメモリモジュール(HB-DIMM)を動作させる方法であって、
レジスタクロックドライバ(RCD)回路において、メモリインターフェースバスを介してメモリアクセスコマンドを受信することと、
前記RCD回路において、少なくとも2つの独立してアドレス指定可能な擬似チャネルを提供するために、前記メモリアクセスコマンドのコマンド/アドレス(C/A)信号を複数のメモリチップのうち選択されたメモリチップにルーティングすることであって、前記RCD回路は、前記C/A信号のチップ識別子(CID)ビットに基づいてそれぞれの擬似チャネルをアドレス指定する、ことと、
前記RCD回路において、前記メモリアクセスコマンドが実行される選択されたメモリアクセスコマンドに関連付けられた擬似チャネルを示すデータバッファコマンドコードを準備することと、を含む、
方法。
【請求項10】
複数のメモリアクセスコマンドを受信して実行することを含み、
前記RCD回路は、前記メモリインターフェースバスから受信したコマンドの順序から前記複数のメモリアクセスコマンドを再順序付けしない、
請求項9の方法。
【請求項11】
前記少なくとも2つの擬似チャネルの読み出し応答を、非インターリーブフォーマットで前記メモリインターフェースバスを介して送信することを含む、
請求項9の方法。
【請求項12】
前記RCD回路は、前記メモリインターフェースバスのデータクロック(DCK)ピン及びC/Aピンがハーフレート(2N)速度で動作し、前記C/Aピンがダブルデータレート(DDR)モードで動作する第1のモードと、前記メモリインターフェースバスの前記DCKピンがフルレート(1N)速度で動作し、前記メモリインターフェースバスの前記C/Aピンがシングルデータレート(SDR)モードで動作する第2のモードと、で動作するようにプログラム可能である、
請求項9の方法。
【請求項13】
前記RCD回路は、前記擬似チャネルのうち第1の擬似チャネルのための前記複数のメモリチップの第1のセットにコマンドを実装するための第1のRCDと、前記擬似チャネルのうち第2の擬似チャネルのための前記複数のメモリチップの第2のセットにコマンドを実装するための第2のRCDと、を含み、前記第1のRCD及び第2のRCDのうち何れかが、前記第1の擬似チャネル及び第2の擬似チャネルのデータを送信するために複数のデータバッファチップを制御するための一次RCDとして機能する、
請求項9の方法。
【請求項14】
データ処理システムであって、
ホストバスと、
前記ホストバスに結合され、少なくとも2つの独立してアドレス指定可能な擬似チャネルを介してメモリアクセスコマンドを実行するメモリコントローラと、
前記ホストバスに結合された高帯域幅デュアルインラインメモリモジュール(HB-DIMM)と、を備え、
前記HB-DIMMは、
複数のメモリチップと、
前記複数のメモリチップに結合され、前記複数のメモリチップのデータを、前記複数のメモリチップのデータレートの2倍のデータレートでホストバスを介して送信可能な複数のデータバッファチップと、
前記ホストバスに結合するためのホストバスインターフェースと、前記複数のメモリチップに結合されたメモリインターフェースと、を含むレジスタクロックドライバ(RCD)回路であって、前記RCD回路は、少なくとも2つの独立してアドレス指定可能な擬似チャネルのために、コマンド/アドレス(C/A)信号を前記複数のメモリチップにルーティングすることによって、前記ホストバスを介して受信したメモリアクセスコマンドを実行し、前記C/A信号のチップ識別子(CID)ビットに基づいてそれぞれの擬似チャネルをアドレス指定する、RCD回路と、を備える、
データ処理システム。
【請求項15】
前記HB-DIMMは、前記複数のメモリチップの第1のセットを含む第1のメモリチャネルを提供する第1の半分と、前記複数のメモリチップの第2のセットを含む第2のメモリチャネルを提供する第2の半分と、を備え、
前記メモリコントローラは、第1のデータクロック(DCK)信号を前記第1のメモリチャネルに提供し、第2のDCK信号を前記第2のメモリチャネルに提供する、
請求項14のデータ処理システム。
【国際調査報告】