JP5289569B2 - 標準メモリモジュールとピン互換性のあるメモリモジュール内における独立制御可能且つ再構成可能な仮想メモリデバイス - Google Patents

標準メモリモジュールとピン互換性のあるメモリモジュール内における独立制御可能且つ再構成可能な仮想メモリデバイス Download PDF

Info

Publication number
JP5289569B2
JP5289569B2 JP2011522032A JP2011522032A JP5289569B2 JP 5289569 B2 JP5289569 B2 JP 5289569B2 JP 2011522032 A JP2011522032 A JP 2011522032A JP 2011522032 A JP2011522032 A JP 2011522032A JP 5289569 B2 JP5289569 B2 JP 5289569B2
Authority
JP
Japan
Prior art keywords
memory
command
register
chips
memory module
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
JP2011522032A
Other languages
English (en)
Other versions
JP2011530734A (ja
Inventor
アン,ジュン,ホ
ジョウッピ,ノーマン,ピー.
シュレイバー,ロバート,エス.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2011530734A publication Critical patent/JP2011530734A/ja
Application granted granted Critical
Publication of JP5289569B2 publication Critical patent/JP5289569B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • 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
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • 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/1028Power efficiency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Description

本発明の実施形態は、メモリモジュールに向けられたものであり、及び、特に、1つか又は複数のメモリチップを含む個々の仮想メモリデバイスの独立制御を可能にするよう構成されたメモリモジュールに向けられたものである。
現代のコンピュータシステムにおいて、メモリ容量及び帯域幅に対する要求が、高まり続けている。マイクロプロセッサの最近の性能の尺度(スケーリング)は、チップ当りのコア数の増加に依存しており、マルチコア及び多数コアチップマルチプロセッサ(「CMP」)は、プロセッサ当りの複数メモリコントローラを通じた更により広いメモリ帯域幅と更により多くのメモリ容量とを必要としている。メインメモリモジュールの電力要求量(電力バジェット)は、現在のコンピュータシステムにおいて、プロセッサの電力要求量(電力バジェット)と同様であるか、或いは、それよりも更に多い。
しかしながら、典型的なメモリモジュールは、エネルギー効率が悪い。例えば、メモリアクセス毎にあまりにも多くのビットがアクティブにされ過ぎ、それらのアクセスされるビットの大部分が、使用されることなく背後に格納されて、動的電力が浪費されている。アクセスパターンの局所性を生かすことにより、複数の時間的に接近したメモリアクセスは、コンパイラか又はメモリコントローラの何れかによって組み合わされ得り、メモリがアクティブにされるごとに、より多くのビットが使用され得る。しかしながら、これらの試みは、イレギュラーなアクセスパターンでの用途では、限定された成果しかもたらさない。このアプローチの効率は、一般的な用途におけるメモリアクセスのランダムな性質により制限され、及び、マルチスレッドからの独立したメモリアクセス要求がインターリーブされるため、CMPメモリシステム内において更に悪化させられる。
情報に対するアクセスを可能にし、且つ、システム性能を著しく犠牲にすることなく、エネルギーを節約するメモリシステムが望まれている。
概要
本発明の様々な実施形態は、マルチコアメモリモジュールに向けられたものである。一実施形態において、メモリモジュールは、メモリチップと、該メモリチップの各々及びメモリコントローラに電気的に接続されたデマルチプレクサレジスタとを備える。該メモリコントローラは、性能及び/又はエネルギー効率のニーズの変化に従って、1つか又は複数の前記メモリチップを、少なくとも1つの仮想メモリデバイスにグループ化する。前記デマルチプレクサレジスタは、仮想メモリデバイスのうちの1つを識別するコマンドを受け取って、該識別された仮想メモリデバイスのメモリチップへと該コマンドを送るよう構成される。ある実施形態において、該メモリチップは、ダイナミックランダムアクセスメモリチップとすることができる。
8個のメモリチップを有するメモリモジュールの等角図を示す図である。 回路基板上に実装されたメモリモジュール及びメモリコントローラの等角図を示す図である。 メモリチップを構成する8つのバンクの概略図を示す図である。 従来のメモリモジュールの概略図を示す図である。 従来のメモリモジュールにおける全てのメモリチップに対してコマンドをブロードキャストすることの一例を示す図である。 本発明の実施形態に従って構成された単一マルチコアメモリモジュールの等角図を示す図である。 本発明の実施形態よる、回路基板上に実装されたマルチコアメモリモジュール及びメモリコントローラの等角図を示す図である。 本発明の実施形態に従って構成されたマルチコアのデュアルインラインメモリモジュール、及び関連付けられたデマルチプレクサレジスタの大まかな概略図を示す図である。 本発明の実施形態に従って構成されたマルチコアのデュアルインラインメモリモジュール、及び関連付けられたデマルチプレクサレジスタの大まかな概略図を示す図である。 本発明の実施形態に従って構成されたマルチコアのデュアルインラインメモリモジュール、及び関連付けられたデマルチプレクサレジスタの大まかな概略図を示す図である。 本発明の実施形態に従って構成されたマルチコアのデュアルインラインメモリモジュール、及び関連付けられたデマルチプレクサレジスタの大まかな概略図を示す図である。 本発明の実施形態に従って構成されたマルチコアのデュアルインラインメモリモジュール、及び関連付けられたデマルチプレクサレジスタの大まかな概略図を示す図である。 例示的なマルチコアのデュアルインラインメモリモジュール、及び、本発明の実施形態に従って構成されたメモリモジュールの第1のコンフィギュレーションに関連付けられたデマルチプレクサレジスタの概略図を示す図である。 例示的なマルチコアのデュアルインラインメモリモジュール、及び、本発明の実施形態に従って構成されたメモリモジュールの第1のコンフィギュレーションに関連付けられたデマルチプレクサレジスタの概略図を示す図である。 例示的なマルチコアのデュアルインラインメモリモジュール、及び、本発明の実施形態に従って構成されたメモリモジュールの第1のコンフィギュレーションに関連付けられたデマルチプレクサレジスタの概略図を示す図である。 本発明の実施形態による、図6内に示されたマルチコアのデュアルインラインメモリモジュールにおける2つの異なるVMDコンフィギュレーションのうちの1つの概略図を示す図である。 本発明の実施形態による、図6内に示されたマルチコアのデュアルインラインメモリモジュールにおける2つの異なるVMDコンフィギュレーションのうちの1つの概略図を示す図である。 本発明の実施形態による、16個のメモリチップを含むマルチコアのデュアルインラインメモリモジュールの概略図を示す図である。 本発明の実施形態による、メモリモジュールを制御するための、及び、仮想メモリデバイスを構成するための方法の制御フロー図を示す図である。 本発明の実施形態による、図1内に示された標準デュアルインラインメモリモジュールを、図4内に示されたマルチコアデュアルインラインメモリモジュールに置き換えることを示す図である。
詳細な説明
本発明の様々な実施形態は、メモリシステムのエネルギー効率を、コンピュータシステム性能上の僅かなインパクトで改善するために再構成(又は再設定)され得るメモリモジュールに向けられたものである。この用語「性能」は、仕事を完了させるために用いられるリソース数及び時間の量に対する、コンピュータシステムによって完了した有効な仕事の量のことを指す。性能の測定基準は、帯域幅及びレイテンシを含む。例えば、広い帯域幅と少ないレイテンシとを有したコンピュータシステムは、より狭い帯域幅とより多いレイテンシとを有したシステムよりも比較的より高い性能を有している。メモリモジュールは、1つか又は複数のメモリチップのグループにパーティションで区切られ得るメモリチップを含む。該グループは、「仮想メモリデバイス(virtual memory devices)」(「VMDs」)と呼ばれる。各VMDは、それ自体のデータ経路を有しており、時分割多重化手法において、共有コマンドパスを通じて、別個のメモリリクエストを受け取ることができる。VMDsの数と、各VMDを構成するメモリチップの数とは、起動(ブートアップ)時間中に選択され得るか、アプリケーションの実行時間中に動的に変更され得るか、或いは、コンピュータシステムオペレータによって決定され得る。換言すると、メモリアクセス当りのメモリチップ数は、性能の要求と、エネルギー効率の要求とのバランスを取るために、変更され得り及び選択され得る。
メモリモジュールはまた、多くのメモリモジュール標準とピン互換(ピンコンパチ)となるよう構成され得る。換言すると、従来のメモリモジュールをサポートするために用いられる同じメモリスロットがまた、本発明のメモリモジュールをサポートするためにも用いられ得る。
詳細な説明は、次のように体系化されている。従来のメモリモジュール及び関連したエネルギー非効率性の概略的な説明が、第1のサブセクション内において記載されている。メモリモジュール実施形態の説明が、第2のサブセクション内において提供されている。
メモリモジュールと、メモリーをアクセスすることにおけるエネルギー非効率性
メモリモジュールは、典型的には、「デュアルインラインメモリモジュール」(「DIMM」)と呼ばれる記憶ユニットを形成するプリント回路基板上に実装された幾つかのDRAMチップから成る。図1Aは、8個のDRAMチップを含む単一DIMMの等角図を示す。従って、1つか又は複数のDIMMsが、回路基板上に実装されて、メモリコントローラによって制御される。図1Bは、回路基板106上に実装されたメモリ102及びメモリコントローラ104の等角図を示す。メモリ102は、4つのDIMMスロット112〜115内へと挿入された4つのDIMMs108〜111から成る。メモリコントローラ104は、コンピュータチップとすることができるか、又はマルチコアマイクロプロセッサチップの一部とすることができ、該メモリコントローラ104は、DIMMs108〜111に対して送受されるコマンド及びデータの流れを管理し、中央処理装置のような、コンピュータシステムにおける他の主要構成要素と、メモリ102をインターフェースする。各DIMMは、インターフェース118を介してメモリコントローラ104と電気的に連通している。インターフェース118は、クロック信号と、メモリコントローラ104からメモリ102へのコマンドと、DIMMs108〜111とメモリコントローラ104との間のデータ信号とを搬送するバスである。データ信号は、メモリコントローラ104と、DIMMs108〜111内のDRAMチップとの間である。インターフェース118は、シングルデータレート(「SDR」)、ダブルデータレート(「DDR」)、及びより高速なデータレートの転送を、サポートすることができる。SDRは、クロックサイクル毎に、一度データを伝送することを意味しており、DDRは、コンピュータシステムクロック信号の立ち上がりエッジと立ち下がりエッジとの両方においてデータを伝送することを意味している。メモリコントローラ104と、DIMMs108〜111とが、SDR及びDDRに従ってデータを送受するよう構成され得る。DDR内においてクロックの両エッジを用いることにより、それらのデータ信号が、同じ制限された周波数において動作して、シングルデータレート伝送を上まわって、データ伝送レートを2倍にする。
DRAMチップは、トランジスタ及びコンデンサから成るDRAMメモリセルと呼ばれる構造内にビットを格納する。何十億ものセルが、単一DRAMチップ内に存在しており、該セルは、「バンク」と呼ばれる多くの2次元アレイの2次元構成内に編成され得る。図2は、DRAMチップ200を構成する、0〜7と表記された8つのバンクの概略図を示す。図2の例において示されているように、各バンクは、交差する信号線を介して、行デコーダ、センス増幅器、及び列デコーダに接続されている。例えば、バンク0は、信号線204のように、x軸と並行に走っている信号線を介して、行デコーダ202に接続されている。バンク0はまた、信号線210のように、y軸と並行に走っている信号線を介して、センス増幅器206及び列デコーダ208とも接続されている。メモリセルは、信号線の交差点に配置されている。例えば、メモリセル212は、信号204と信号210とが交差する地点に配置されている。
メモリコントローラ104からメモリ102へと送られるコマンドは、読み出し(リード)、書き込み(ライト)、アクティブ化(アクティベート)、リフレッシュ、及びプリチャージを含む。コマンドは、制御信号と、アドレス信号とから成る。制御信号は、該コマンドによって実行される動作を表し、アドレス信号は、該コマンドが実行されるDRAMチップ内のバンク及び行又は列アドレスを特定する。例えば、アクティブ化(アクティベート)コマンドは、アクティブ化制御信号と、該アクティブ化コマンドが実行される、DRAMチップ内におけるバンク及び行を特定(識別)するバンク及び行アドレスとから成る。読み出し及び書き込みコマンドは、読み出し及び書き込み制御信号と、読み出し及び書き込みコマンドが実行される、DRAMチップ内におけるバンク及び列を特定(識別)するバンク及び列アドレスとから成る。読み出し及び書き込みコマンドはまた、「メモリリクエスト」と呼ばれる。
DRAMチップ200のバンク内に格納されたデータは、2つのステップにおいてアクセスされる。第1に、メモリコントローラ(図示せず)が、DRAMチップ200の行アドレスとバンクアドレスとを指定するアクティブ化コマンドを送る。行内の全てのビットは(それらは典型的には、8又は16kビットのバンクである)、バンク内におけるセンス増幅器内へとアクティブ化される。第2に、バンク及び列アドレスを指定する1つか又は複数の読み出し/書き込みコマンドが送られる。読み出し/書き込みトランザクション毎に転送されるビットの数は、データバス及びバースト長のサイズによって決定される。該バースト長は、共通メモリ関連の、基本入力/出力システム設定であり、該基本入力/出力システム設定は、データブロックにおける単一バーストトランザクション内においてか又は高速トランザクション内において実施される読み出し/書き込み動作の数を制御する。典型的には、バースト長は、4か又は8に設定される。DRAMチップが、メモリリクエストを受け取った時には、例えば、メモリ読み出しリクエストを受け取った時には、該チップは、インターフェース118の信号線にわたってデータを提供することによって応答する。メモリ読み出しリクエストに応答して送られるデータのブロックのサイズは、バースト長によって決定される。64ビット幅のデータバス(すなわち、64単一終端信号線か又は128差動信号線)と、4のバースト長をサポートするよう構成されたDRAMチップとを有するメモリモジュールは、メモリコントローラからの単一読み出しリクエストに応答して32バイト(4×64ビット=32バイト)のデータブロックを送る。一方、64ビット幅のデータバスと、8のバースト長をサポートするよう構成されたDRAMチップとを有するメモリーモジュールは、メモリコントローラからの単一読み出しリクエストに応答して64バイト(8×64ビット=64バイト)のデータブロックを送る。
DRAMチップにおける同じバンク内の2つの異なる行内にデータが読み出される時には、第1の行は、ライトバックされる必要があり、そのビットラインは充電される必要があり、及び、第2の行内のデータが読み出され得る前に、プリチャージコマンド及びアクティブ化コマンドによって第2の行はラッチされる必要がある。該プリチャージコマンドは、該行を、DRAMバンクにライトバックする。該ライトバックすることは、アクティブ化コマンドが破壊的に読み出すことから必要なことである。バンクアドレスは、読み出し、書き込み、アクティブ化、及びプリチャージコマンド内の少数のビットによってもたらされる。これらのコマンド動作は、同じバンク内において、第1のアクティブ化コマンドと第2のアクティブ化コマンドとの間で頻繁に、約50nsかかる。従って、アクティブ化コマンドとプリチャージコマンドとの間において、多くの読み出し/書き込みコマンドが存在しない限り、コマンド/アドレス/データのバスは、頻繁に、アイドル状態のままでいる。しかしながら、異なるバンク内においてデータが読み出される場合には、異なるバンクに対するコマンドは、パイプライン化される可能性がある。何故ならば、2つの異なるバンク間におけるアクティブ化からアクティブ化までの時間が、約8nsだけ、より短いからである。従って、異なるバンク内におけるリクエストをインターリーブすることにより、とりわけ、アクティブ化コマンドとプリチャージコマンドとのペアの間に、あまり多くの読み出し/書き込みコマンドが存在しない時には、より高いスループットが達成され得る。
図3Aは、従来のDIMM300の概略図を示す。該DIMM300は、8個のDRAMチップを含み、それらDRAMチップの各々が、8ビットデータバスを有する。方向矢印302は、メモリコントローラ(図示せず)からレジスタ302と呼ばれるオプションのデバイスへと送られるコマンドの分配を表す。該レジスタ304は、メモリコントローラとDRAMチップとの間のバス上に配置されている。該レジスタ304は、該メモリコントローラからのコマンド信号をラッチし、次いで、該メモリコントローラ上の電気的な負荷を減少させてコマンド信号のスタビリティを維持するために、それらを、より良好な信号品質及びタイミングマージンでもって、各DRAMチップへと転送する。レジスタ304はまた、コマンドをバッファリングすることができ、及び、クロック信号をDRAMチップにブロードキャストすることができ、メモリコントローラ当りに複数DIMMsを有したシステム内における異なるDIMMsに対する重複アクセスを容易にすることができる。レジスタ304は、枝分かれした方向矢印306及び308によって示されているように、コマンドをバス上の全ての8個のDRAMチップにブロードキャストする。他の従来のメモリモジュールでは、コマンドが、レジスタ304無しに、DRAMチップに対してブロードキャストされる。
図3Bは、従来のDIMM動作の一例を示す。図3Bの例内に示されているように、DIMM300内における全てのDRAMチップが、メモリコントローラから同じコマンドを受け取り、及び、陰影が付された領域310によって表されている各DRAMチップ内の同じ行をアクティブ化する。結果として、DIMM300内における全てのDRAMチップが、より広いデータ経路とより大きな行とを有した単一DRAMチップとして作用する。
図2に関連して上述したように、DRAMチップ行のサイズは、典型的には、8kビット(又は16kビット)である。DIMMに対するキャッシュラインを読み出すためにか又は書き込むために、読み出し/書き込みコマンドが、全てのDRAMチップに対してブロードキャストされ、各DRAMチップが、同じ行をアクティブ化する。換言すると、8個のDRAMチップからなる典型的なDIMM内において、各DRAMチップは、8kビットを含む同じ行アドレスをアクティブ化する。従って、8×8kビット、すなわち64kビットの、DIMMにおけるDRAMセルが、1度にアクティブ化され、それは、読み出されるか又は書き込まれることとなるキャッシュラインのサイズよりも大きい。典型的なキャッシュラインは、64バイト、すなわち512ビットのオーダである。読み出し及び書き込みコマンドが、アクティブ化されたDRAMセルのうちの1%未満を用いて、1つのキャッシュライン内に典型的には読み出され及び書き込まれるため、アクティブ化されているDRAMセルのうちの99%を越えるDRAMセルが、単一読み出し又は書き込みトランザクションのためには使用されず、このことは、エネルギーの非効率な利用法である。
本発明の実施形態
本発明のメモリモジュール実施形態は、メモリコントローラからのコマンドを受け取るためのデマルチプレクサレジスタ(以下、「demuxレジスタ」と記す)を含む。メモリチップが、プリント基板上に、該demuxレジスタと共に実装されて、「マルチコアのデュアルインラインメモリモジュール」(以下、「MCDIMM」と記す)と呼ばれる単一記憶装置が形成される。各メモリチップは、demuxレジスタと電気的に連通している。ある実施形態において、メモリチップは、DRAMチップとすることができる。図4Aは、本発明の実施形態による、プリント回路基板412上に実装された8個のDRAMチップ401〜408とdemuxレジスタ410とを含む単一MCDIMM400の等角図を示す。DRAMチップ401〜408の各々は、別個の信号線セット(図示せず)を介してdemuxレジスタ410と電気的に連通している。該信号線セットは、コマンドバスを含み、該コマンドバスによって、demuxレジスタ410が、DRAMチップ401〜408の各々に対して別個にコマンドを送ることが可能である。
1つか又は複数のMCDIMMは、回路基板上に実装されて、メモリコントローラによって制御され得る。図4Bは、本発明の実施形態による、回路基板418上に実装されたメモリ414及びメモリコントローラ416の等角図を示す。メモリ414は、DIMMスロット424〜427にそれぞれ挿入されたMCDIMMs420〜423を含む。インターフェース428は、メモリコントローラ416と、メモリモジュール420〜423のdemuxレジスタとを電気的に接続する。インターフェース428は、メモリコントローラ416からメモリ414へとコマンド信号を搬送するバスと、メモリコントローラ416とメモリ414との間においてデータ信号を搬送するデータバスとを含む。このアーキテクチャでは、メモリコントローラ416から送られるコマンドは、メモリ414のDRAMチップに対してブロードキャストされない。その代りに、メモリコントローラ416が、MCDIMMs420〜423のdemuxレジスタに対して、どのDRAMチップがVMDsを構成するのかを指定する命令が組み込まれたメモリ設定コマンド(以下、「CONFIGUREコマンド」と記す)を送る。換言すると、メモリコントローラ416は、1つか又は複数のDRAMチップを、各VMDにグループ化(グループ分け)して、メモリリクエストに対処する。各VMDは、メモリコントローラ416に対してデータを独立に送受するための、それ自体のデータバスを有する。CONFIGUREコマンドに従って、VMDsが設定された後に、メモリコントローラ416は、MCDIMMs420〜423のVMDsに対して、メモリリクエストを表すコマンドを送ることを開始することができる。他の実施形態では、2つか又は3つ以上のCONFIGUREコマンドのシーケンスが、MCDIMMのコンフィギュレーション(構成又は設定)を変更するために用いられ得る。
メモリモジュール当りのVMDsの数が増加すると、データアクセス毎の、消費されるエネルギーが減少する。しかしながら、VMDsの数を増加させることは、より少ないVMDsを有している場合と比較して、同じ量のデータを抽出するために必要な時間の量を増加させる。何故ならば、VMD当りのメモリチップの数が減少すると、データバスの幅が減少するからである。VMDsのコンフィギュレーションが決定され得る多くのやり方が存在する。一実施形態において、メモリモジュール当りのVMDsの数は、マシン起動時間中に選択され得る。例えば、あるオペレーティングシステムは、メモリの履歴と、特定のアプリケーションのためのエネルギー利用法とを、保持することが可能である。該特定のアプリケーションは、典型的には、コンピュータシステム上において実行される。該オペレーティングシステムは、次いで、システム性能とエネルギー効率とのバランスをとるために、起動時にVMDsの数を調整することができる。別の実施形態では、VMDsの数を、アプリケーションの実行時間中に、動的に変化させることができる。例えば、アプリケーションが実行している間に、アプリケーションは、コンピュータシステム性能とエネルギー効率とを監視して、エネルギー効率要件に従って変化するメモリ要求(メモリデマンド)を満たすためにVMDsの数を調整することを可能にすることができる。別の実施形態では、コンピュータシステムオペレータが、コンピュータシステムの性能とエネルギー効率とを監視することができ、それに従ってVMDsの数を変更することができる。3つのケースの全てにおいて、性能がエネルギー効率よりもより高い優先事項である場合には、VMDsの数を減少させることができ、エネルギー効率が性能よりもより高い優先事項である場合には、VMDsの数を増加させることができ、或いは、VMDsの数を定期的に調整して、性能とエネルギー効率とをうまく両立させることができる。
ある実施形態において、コンピュータシステム内のメモリモジュールの全てが、同じ数のVMDsで構成され得る。他の実施形態では、各メモリモジュールは、異なる数のVMDsで構成され得り、及び、該VMDsは、異なる数のメモリチップを有することができる。図5A〜図5Eは、本発明の実施形態による、同じMCDIMMのメモリチップにおける2つの異なるグルーピングを表す大まかな概略図を提供する。
図5Aは、本発明の実施形態による、demuxレジスタ502と、VMDsの第1のコンフィギュレーションとを含むMCDIMM500の大まかな概略図を示す。MCDIMM500は、n個のメモリチップを含み、ここで、nは整数である。図5A内において、n個のメモリチップのうちの8個が表されており、及び「MC」により示されており、各々は、整数を表す小文字インデックスを含む。ある実施形態において、メモリチップは、DRAMチップとすることができる。図5Aはまた、N個のVMDsにグループ化(グループ分け)されたメモリチップも示しており、ここで、Nは整数である。図5A内において4つのVMDsが表されており、及びVMDによって示されており、ここで、下付き文字Kは、0〜N−1の範囲にわたる整数である。例えば、図5A内に示されるように、VMDは、MC〜MCを含み、VMDとVMDK+1は、それぞれ、MC〜MC、MC〜MCを含み、及び、VMDN−1は、MC〜MCn−1を含み、ここで、g、h、i、j、k、及びmは、条件0≦g<h≦i<j≦k<m≦n−1を満たす整数である。
各メモリチップは、demuxレジスタ502に信号線を介して電気的に接続されている。例えば、方向矢印504〜511は、demuxレジスタ502を、MC、MC、MC、MC、MC、MC、MC、及びMCn−1に電気的に接続する信号線の別個のセットをそれぞれ表す。信号線の該セットは、コマンドバスを含む。メモリコントローラ(図示せず)が、オペレーティングシステムか、アプリケーションか、又はコンピュータシステムオペレータによって提供された命令に基づいて、VMDsの数と、特に、VMD当りのメモリチップの数を選択する。メモリコントローラは、「コマンドパス(コマンド経路)」と呼ばれる信号線セット512上において、CONFIGUREコマンドを直接demuxレジスタ502に対して最初に送る。CONFIGUREコマンドは、図5A内に示されているようにメモリチップをグループ化(グループ分け)するようdemuxレジスタ502に指示する命令を含む。VMDsは各々、少なくともlognビットを含む、関連付けられたVMDアドレスを有する。後続するメモリリクエストコマンドは、VMDアドレスを含む。例えば、メモリコントローラが、VMDに対するメモリリクエストを表すコマンドを送る時には、該メモリコントローラは、VMDのアドレスをコマンド内において組み込む。demuxレジスタ502がコマンドを受け取った時には、該deumxレジスタ502は、該コマンドを、VMDのメモリチップに転送する。例えば、MC及びMCは、VMDを構成するメモリチップのうちの2つであり、VMDは、信号線504及び505のセット上において、demuxレジスタ502からのコマンドを受け取る。VMDsの各々は、図5A内におけるDQと、両矢印514などの両矢印とにより識別される別個のデータバス上において、メモリコントローラとデータ交換する。
demuxレジスタ502を、多くの異なるやり方において構成することができる。図5Bは、本発明の実施形態に従って構成されたdemuxレジスタ516の概略図を示す。demuxレジスタ516は、0〜n−1と表記されたn個のコマンドセレクタと、ブロードキャストバス518とを含み、ここで、1つのコマンドセレクタは、図5A内において示されるn個のメモリチップごとに存在する。コマンドセレクタは、ブロードキャストバス518に対して分岐線(ブランチ)520〜528を介して電気的に接続されており、各コマンドセレクタは、図5Aに関連して上述したコマンドバスを含む信号線504〜511のセットを介して1つか又は複数のメモリチップに対して接続されている。図5C内において、これもまた図5A内において示された信号線504〜511のセットが、図5A内に示された対応するメモリチップのインデックスでラベル付けられている。メモリコントローラは、図5A内において示されたコマンドパス512上において時分割多重化コマンドを送る。換言すると、各コマンドは、ビットストリームにエンコードされて、ある固定期間のタイムスロット内においてメモリコントローラからdemuxレジスタ516へと送られる。図5B内において、該タイムスロットは、一連の長方形531〜534によって表されている。各コマンドは、図5A内のVMDのインデックスを含み、該VMDは、コマンドを受け取ることが意図されている。demuxレジスタ516に対してコマンドが送られる順序は、メモリコントローラによって決定される。従って、図5B内におけるその順序でコマンドが出現する。実行されることとなる特定の種類の動作を識別する制御信号と、バンクか、行か、又は列を識別するアドレス信号と、メモリコントローラによって割り当てられるVMDアドレスとが、コマンド内において組み込まれている。
demuxレジスタ516に対して送られる各コマンドは、全てのn個のコマンドセレクタに対してブロードキャストされる。各コマンドセレクタは、コマンド内に組み込まれたVMDアドレスを抽出して、VMDにおける対応するメモリチップに対して該コマンドが転送されるべきかどうかを、或いは、該コマンドが破棄されるケースでは異なるVMDに対して該コマンドがアドレス指定されるかどうかを、決定するよう構成されている。従って、全てのn個のコマンドセレクタに対してブロードキャストされる各コマンドごとに、該コマンドは、メモリコントローラによって選択されたVMDを構成するメモリチップに対してコマンドセレクタによって送られるだけである。例えば、demuxレジスタ516は、コマンドN−1(531)を受け取って、全てのn個のコマンドセレクタ0〜n−1に該コマンドN−1(531)をブロードキャストする。しかしながら、コマンドN−1(531)は、VMDN−1のアドレスを含んでいるため、コマンドセレクタm〜n−1が、該コマンドN−1(531)を、信号線510及び511を含む信号線セット536上においてVMDN−1の対応するメモリチップに対して送る。各コマンドはまた、後続のコマンドが処理される前のある特定の期間において、demuxレジスタ516によって個別に処理されることに留意されたい。
図5Cは、本発明の実施形態に従って構成されたコマンドセレクタmの概略図を示す。その他のn−1個のコマンドセレクタは、類似に構成される。該コマンドセレクタmは、VMDアドレスコントロール540、コンフィギュレーションレジスタ542、レジスタ/カウンタ544、及びランダムアクセスメモリ(「RAM」)タイミングコントロール546を含む。図5B内にも示されているように、分岐線(ブランチ)526上のコマンドセレクタmに対してコマンドが入力される。VMDアドレスコントロール540は、各コマンド内に組み込まれたVMDアドレスを抽出する。コンフィギュレーションレジスタ542は、図5A内に示されている信号線510に対して接続されたVMDN−1の現在のVMDアドレスを格納する。コンフィギュレーションレジスタ542は、クロック信号を受け取って、VMDアドレスコントロール540に対してVMDN−1のVMDアドレスをラッチする時を決定する。VMDアドレスコントロール540は、抽出したVMDアドレスを、VMDN−1のVMDアドレスと比較して、該抽出したVMDアドレスが、VMDN−1のアドレスに一致した時に、レジスタ/カウンタ544に対して選択信号を送る。レジスタ/カウンタ542は、コマンドを一時的に格納するバッファであり、及び、立ち上がり及び/又は立ち下がりクロックエッジ毎に、VMDアドレスコントロール540から選択信号が受け取られる時に、該コマンドを対応するメモリMCに送る。
レジスタ/カウンタ544は、カウンタを含む。キャッシュラインの読み出しか又は書き込みトランザクションに関連した長いバースト長をVMDのDRAMチップがサポートできない時には、カウンタが必要とされる。demuxレジスタは、キャッシュラインをキャッシュラインセグメントにパーティションで区切って、前記コマンドを複数のコマンドに変換(トランスレート)し、該コマンドの各々は、あるキャッシュラインセグメントに対応する。従って、VMDに対して送られる各キャッシュラインセグメントは、カウンタにより送られる対応するコマンドによって先行させられる。例えば、VMDにおける1つか又は複数のDRAMチップのバースト長が、キャッシュラインをカバーするのに十分な長さが設定されることが不可能である時には、該カウンタは、読み出しか又は書き込みのような列レベルのコマンドを、各キャッシュラインセグメントごとの多くの読み出し/書き込みコマンドへと変換(トランスレート)して、各キャッシュラインセグメントが個別にDRAMチップから読み出され得るか又はDRAMチップに書き込まれ得るようにする。各カウンタは、パーティションが区切られたキャッシュラインのために生成された多くのコマンドの経過を追う、カウントするデバイスを含む。カウンタによって実行された変換は、メモリコントローラからのコマンド帯域幅を節約する。RAMタイミングコントロール548は、レジスタ/カウンタ546のカウンタ部分を制御する。
図5A内に示されるMCDIMM500におけるN個のVMDsのコンフィギュレーションは、メモリコントローラからdemuxレジスタ502に第2のCONFIGUREコマンドを送ることによって変更され得る。該第2のCONFIGUREコマンドは、メモリ要件の様々なセットに従ってVMDsをグループ化(グループ分け)するようdemuxレジスタ502に指示する命令に組み込まれる。該メモリ要件の様々なセットは、異なる起動(ブート)時間中に選択され得るか、アプリケーションの開始時の後の時点においてか又はアプリケーションの実行中に選択され得るか、或いは、コンピュータシステムオペレータによって選択され得る。
図5Dは、本発明の実施形態による、VMDsの第2のコンフィギュレーションでのMCDIMM500の大まかな概略図を示す。MCDIMM500は、同じn個のメモリチップを含んでいるが、図5D内に示されているように、VMDsの数と、VMD当りのメモリチップの数とを、メモリコントローラが再構成(再設定)している。具体的には、8個のメモリチップにおける4つのインデックスが変更されて、VMDsを構成するメモリチップにおける異なるグルーピングが表わされている。図5D内において、メモリチップは、M個のVMDsへとグループ化(グループ分け)されており、ここで、Mは、Nの数とは異なる整数である。4つのVMDsが、図5D内において表されており、及びVMD’で表記されており、ここで、下付き文字Lは、0〜M−1の範囲にわたる整数である。図5D内のメモリチップのグルーピングを、図5A内のメモリチップのグルーピングと比較すると、次のことが明らかである。すなわち、VMD’が、MC〜MCを含み、ここで、整数sは、整数gとは異なっており、VMD’とVMD’L+1が、それぞれ、メモリチップMC〜MC、MC〜MCを含み、ここで、t及びuは、h及びkとは異なっており、及び、VMD’M−1は、MC〜MCn−1を含み、ここで、整数vは、整数mとは異なっている。方向矢印550〜553は、demuxレジスタ502をMC、MC、MC、及びMCに電気的にそれぞれ接続する信号線の個別のセットを表す。
demuxレジスタ516は、本質的には変化しないままであり、及び、各コマンドセレクタのコンフィギュレーションレジスタを第2のCONFIGUREコマンドが再設定(再構成)することを除いて、図5Bに関連して上述したのと同じ手法において動作させられる。図5Eは、図5Bに関連して上述したように構成された第2のdemuxレジスタ516を示す。図5Bに関連して上述したように、demuxレジスタ530に送られた各コマンドが、全てのn個のコマンドセレクタに対してブロードキャストされる。各コマンドセレクタのVMDアドレスコントロールは、コマンド内に組み込まれた、図5D内に示されたVMDアドレスを、抽出するために再設定されて、VMDにおける対応するメモリチップ上に該コマンドが転送されるかどうかが決定されるか、或いは、異なるVMDに対して該コマンドがアドレス指定されるかどうかが決定される(このケースでは、該コマンドは破棄される)。例えば、demuxレジスタ516は、コマンドM−1(561)を受け取って、該コマンドを全てのn個のコマンドセレクタ0〜n−1に対してブロードキャストする。しかしながら、コマンドM−1(561)はVMDM−1のVMDアドレスを含むので、コマンドセレクタv〜n−1は、コマンドM−1(571)を、信号線565及び511を含む信号線562のセット上において、VMDM−1における対応するメモリチップに対して送る。残りのコマンドセレクタは、該コマンドM−1(561)を破棄する。
典型的な読み出し又は書き込みコマンドは、VMDにおける幾つかのメモリチップ上において広がるデータに関連付けられるメモリリクエストである。以前のコンフィギュレーション下においてMCDIMM内に既に格納されたデータをレストアせずに、性能及びエネルギー効率のニーズの変化に従ってVMDsを再構成することは、データを回復不可能なままにすることとなる。従って、メモリモジュールのVMDsを再構成することに先立って、該VMDs内に既に格納されたデータは、フェッチされて、別のメモリデバイス内に一時的に格納されるということを、本発明の方法の実施形態が含む。VMDsが再構成された後に、新規のVMDコンフィギュレーションでのメモリモジュール内に、該データが再び格納される。
性能及び/又はエネルギー効率のニーズに基づき、必要とされるメモリ量の変化に適応させるために、上述のように、VMDsへのメモリチップの、多くの異なるグルーピングが、選択され得る。図5A及び図5Dに関連して上述したメモリチップは、demuxレジスタ516のコマンドセレクタとの1対1のマッピングを有する単一メモリチップである。しかしながら、本発明の実施形態は、そのように限定はされない。他の実施形態において、メモリチップよりも少ないコマンドセレクタとすることもあり得る。例えば、図5内のメモリチップMC、MC、MC、MC、MC、MC、MC、及びMn−1は、単一コマンドセレクタと電気的に連通する状態にある2つか又は3つ以上のメモリチップのスタックス(積み重ね)を表すことも可能である。以下は、8個か又は16個のDRAMチップを有する例示的なMCDIMMsの説明であり、本発明の実施形態に従って、如何にVMDsが再構成(再設定)され得るかを説明している。
図6Aは、本発明の実施形態に従って再構成されたMCDIMM600の概略図を示す。図6A内に示されているように、MCDIMM600は、demuxレジスタ602と、8個のVMDsとを含み、該8個のVMDsの各々は、0〜7にラベル付けられた単一DRAMチップを含む。VMDsのこの第1のコンフィギュレーションは、起動時におけるか、アプリケーションの実行中の時点におけるか、或いは、コンピュータシステムオペレータによって選択された、必要とされるメモリの量を評価した結果とすることができる。方向矢印604〜611は、DRAMs0〜7の各々をdemuxレジスタ602にそれぞれ電気的に接続する信号線における8つの別個のセットを表す。コマンドが、コマンドパス612上においてメモリコントローラ(図示せず)からdemuxレジスタ602に対して送られる。logNに従って(ここで、N=8)、DRAMs0〜7の各々は、3ビットアドレス000、001、010、011、100、101、110、及び111のうちの1つにそれぞれ割り当てられ得る。DRAMチップ0〜7の各々は、コマンドバスの信号線における対応するセットを通じて異なるコマンドを受け取って、DQ及び(両矢印614のような)両矢印によって表されているそれ自体のデータバスを介して、他のDRAMチップとは独立して、データを転送する。
このMCDIMMがサポートすることが可能な、VMDsの最大数Nは、8であり、この数はまた、demuxレジスタ602に必要とされるコマンドセレクタ数でもある。図6Bは、ブロードキャストバス618と、0〜7と表記されたコマンドセレクタとを含むdemuxレジスタ616を示す。8個のVMDsを有するMCDIMM600をサポートするためにdemuxレジスタ602の代りに、demuxレジスタ616が用いられ得る。各コマンドは、全ての8個のコマンドセレクタに対してブロードキャストされる。図6B内において、あるコマンドに関連付けられた各タイムスロットが、長方形によって表されており、該長方形は、図6A内のDRAMチップのインデックスを含み、該インデックスは、コマンドを受け取ることを意図するものである。各コマンドセレクタは、コマンド内に組み込まれたVMDアドレスを抽出して、接続されたDRAMチップに対してコマンドが転送されるべきかどうかを決定するか、或いは、異なるDRAMチップに対してコマンドがアドレス指定され及び破棄されるかどうかを決定するよう構成される。例えば、demuxレジスタ616は、DRAMチップ5に行くことになっているコマンド5(620)を受け取って、全ての8個のコマンドセレクタにブロードキャストバス618上においてブロードキャストする。コマンド5(620)は、DRAMチップ5のアドレスを含んでいるため、コマンドセレクタ5は、コマンド5(620)を、信号線609のセット上においてDRAMチップ5に対して送り、その他のコマンドセレクタは、該コマンド5(620)を破棄する。
図6Cは、本発明の実施形態に従って構成されたコマンドセレクタ5の概略図を示す。その記載は、最大数N=8個のVMDsでの一実施形態に関するものである。従って、3(log8)ビットアドレス000、001、010、011、100、101、110、及び111が、各DRAMチップ0〜7をそれぞれ識別するためにコマンド内に用いられる。コマンドセレクタ5は、VMDアドレスコントロール622、レジスタ/カウンタ624、RAMタイミングコントロール626、及びコンフィギュレーションレジスタ628を含む。その他のコマンドセレクタは、類似に構成されている。ブランチ630上のコマンドセレクタ5にコマンドが入力されており、このことは、図6B内にもまた示されている。VMDアドレスコントロール622は、ANDゲート632と、3つのORゲート633〜635と、インバータ636とを更に含む。VMDアドレスコントロール622は、各コマンドのVMDアドレス部分を抽出する。A2、A1、及びA0として識別される3つのアドレス信号線は各々、抽出される3ビットVMDアドレスのうちの1ビットを搬送する。信号線A1上のビットは、インバータ636を通過する。コンフィギュレーションレジスタ628が、信号線B2、B1、及びB0上に3ビットを出力する。ここで、A2及びB2は、ORゲート633に対する入力であり、A1及びB1は、ORゲート634に対する入力であり、及び、A0及びB0は、ORゲート635に対する入力である。ORゲート633〜635の出力C2、C1、及びC0は、ANDゲート632に対する入力である。ANDゲート632は、全ての入力信号がビット「1」に対応する時には、ビット「1」に対応する信号を出力し、及び、少なくとも1つの入力信号がビット「0」に対応する時には、ビット「0」に対応する信号を出力する。ここで、ビット「1」及び「0」は、信号のハイ及びロー電圧をそれぞれ表すことができる。一方、ORゲート633〜635の各々は、全ての入力が「0」である時にのみビット「0」を出力し、少なくとも1つの入力がビット「1」である時にビット「1」を出力する。インバータは、ビット「1」をビット「0」へと変換し、その逆もまた同様である。
この実施形態では、到来するコマンド内に指定されたVMDを含んでいるセレクタのうちの1つが、その中に存在するコマンドセレクタであるか否かを決定することにおいて用いられるために、VMDコンフィギュレーションレジスタ628は、(VMDアドレスと同数の、logN個のビットを有する)ビットマスクを保持する。マスク内の「0」ビットによって、VMDアドレスにおける(同じ位置内の)対応するビットが、意義あるものにさせられる一方で、マスク内の「1ビット」は、VMDアドレスにおける対応するビットを、無意味なものにさせるか又は「ドントケア(don't care)」にさせる。該「ドントケア(don't care)」は、このVMDアドレスビットが、コマンドセレクタの出力に影響を及ぼさないことを意味するものである。図6A内に示されているVMDコンフィギュレーションに関して、コンフィギュレーションレジスタ628は、VMDアドレスビットを信号線B2、B1、及びB0上に常に出力する。例えば、抽出されるVMDアドレスが、DRAMチップ5の3ビットVMDアドレスであるビット101を含んでいると仮定する。インバータ536は、線A1上において搬送される信号の電圧を反転させる。従って、インバータ536の後のA2、A1、及びA0信号線は、ビット111を搬送して、ORゲート633〜635の出力線は、ビット111をANDゲート632内に搬送する。ANDゲート632は、ビット「1」を表す選択信号を、レジスタ/カウンタ624に出力することによって応答する。該レジスタ/カウンタ624は、コマンドを、クロックにより指示された時に、信号線609のセット上においてラッチする。他のアドレスについては、コンフィギュレーションレジスタ628がビット000を出力するので、ANDゲート632に入るビットストリームは、少なくとも1つの「0」ビットを含む。従って、ANDゲート632は、信号を出力しないか、又はビット「0」に対応するロー信号を出力し、レジスタ/カウンタ624は、コマンドを信号線609のセット上においてラッチしない。
図6Aに戻ると、メモリアクセスリクエスト毎に、1個のDRAMチップだけが関与させられている。DRAMチップ0〜7における陰影が付けられた領域は、異なるコマンドに関連付けられた異なる個別のメモリリクエストを表している。各DRAMチップは、コマンドバス上においてコマンドを受け取り、それ自体のデータバスを用いて個別にデータを転送する。従って、より少ないビットがアクティブにされ、アクティベーション及びプリチャージすることのためのエネルギーが節約される。しかしながら、データを転送するために、該データは、より小さなデータシリアル化部分へとパーティションで区切られる可能性があり、ここで、該部分の各々は、DRAMチップからメモリコントローラへと別々に送られる。データをシリアル化することは、より大きなデータバス上においてデータを送ることと比較して、データを送るために必要とされる時間の量を増加させる。このシリアル化のレイテンシ問題は、システム性能にネガティブな影響を及ぼす可能性がある。データを転送するために必要とされる時間は、あるVMDs内のメモリチップの数を増加させることにより、低減させられ得るということが、オペレーティングシステムによってか、アプリケーションによってか、或いはシステムを監視しているコンピュータシステムオペレータによって、決定され得る。従って、図5A〜図5Eに関連して上述したように、本アプリケーションの実施形態によって、オペレーティングシステムか、アプリケーションか、又はコンピュータシステムオペレータが、2つか又は3つ以上のDRAMチップのグループを有したVMDsを有したMCDIMM600を再構成(又は再設定)することにより、シリアル化レイテンシ問題を軽減することが可能になる。
図6A内に示されるMCDIMM600のVMDsのコンフィギュレーションは、CONFIGUREコマンドをメモリコントローラ(図示せず)からdemuxレジスタ602へと送ることによって変更される。様々なメモリ要件セットに従ってVMDsをグループ化するよう各コマンドセレクタのコンフィギュレーションレジスタに指示する命令に、CONFIGUREコマンドが組み込まれている。該メモリ要件は、アプリケーションの実行中に決定されたメモリ要求(デマンド)の変化の結果とすることができ、該アプリケーションの実行時間中の時点において選択され得るか、該アプリケーションに関連付けられたメモリ要求の履歴に従って起動時間中に決定され得るか、或いは、MCDIMM600の性能及びエネルギー効率を監視するコンピュータシステムオペレータによって決定され得る。メモリ要件の変化は、メモリモジュールの性能とエネルギー効率とのバランスを保つことにおける変化の結果とすることができる。
図6A内に示されたVMDコンフィギュレーション下において、MCDIMM600内に既に格納されたデータが、フェッチされて、MCDIMMが再構成(再設定)される間、異なる記憶デバイス内に一時的に格納されるということに留意されたい。MCDIMM600が再構成(再設定)された後に、該一時的に格納されたデータが、再構成(再設定)されたMCDIMM600に書き込まれる。
図7Aは、MCDIMM600の概略図を示す。VMDアドレス00、01、10、及び11をそれぞれ有したVMD’、VMD’、VMD’、及びVMD’として識別される4つのVMDsにグループ化されたDRAMチップ0〜7を、該MCDIMM600は有する。VMDsの各々は、2つのDRAMチップを含む。VMDsの各々は、QD及び(両矢印702などの)両矢印によって示される、その自身のデータバスを介して、データを他のVMDsとは独立に転送する。このコンフィギュレーションにおいてMCDIMM600を使用するために、メモリコントローラは、CONFIGUREコマンドをdemuxレジスタ602に送る。demuxレジスタ602は、コンフィギュレーションレジスタを新規のビットマスクにより再構成(再設定)することによって応答する。demuxレジスタ602は、メモリリクエストを有した後続コマンドを、図6B〜図6Cに関連して上述したのと同じ手法でVMDsに対して送る。例えば、VMD’に対して送られるコマンドは、VMD’のVMDアドレスを含む。demuxレジスタ602が、該コマンドを受け取って、該コマンドを、図6B〜図6Bに関連して上述したように、DRAMチップ2及び3のみに対して送る。
図7A内に示されたVMDコンフィギュレーションに関して、コンフィギュレーションレジスタ628は、VMDアドレスを、信号線B2、B1、及びB0上に常に出力する。このことは、コマンドセレクタ0〜7の各々内のコンフィギュレーションレジスタについても当てはまる。ラインA0及びB0は、VMDアドレスのうちの幾つかか又は最も右の位置におけるビットを搬送し、該ビットは、最下位ビット(「LSBs」)と呼ばれる。該LSBsは、ORゲート635に入力される。コンフィギュレーションレジスタ628から出力されるLSBが「1」である時には、該LSB VMDアドレスビットは無視される。例えば、コンフィギュレーションレジスタ628から出力されるLSB出力が「1」である時には、レジスタ/カウンタ624は、抽出されたVMDアドレスが100か又は101の時にANDゲート632から選択信号を受け取る。第1の2つのビット10は、VMD’のVMDアドレスに対応する。VMDアドレスのLSBは無視されて、MCDIMMが本コンフィギュレーション内にある間は何があっても影響を及ぼさない。
MCDIMM600が従来のDIMMとして動作させられ及びDRAMチップの全てが単一VMDを含む場合の他の実施形態において、各コマンドセレクタのコンフィギュレーションレジスタには、コマンドセレクタ0〜7のコンフィギュレーションレジスタにビット111を出力するよう指示するCONFIGUREコマンドが送られるということに留意されたい。このコンフィギュレーションでは、VMDアドレスコントロール622により生成される選択信号は、常に「1」である。
VMDsは、同じ数のメモリチップを有するよう制限されない。VMDsを、異なる数のメモリチップで再構成(再設定)することができる。図7Bは、MCDIMM600の概略図を示す。該MCDIMM600は、本発明の実施形態に従って4つのVMDsへとグループ化されたDRAMチップを有している。図7B内に示されるように、DRAMチップ0〜3は、VMD”へとグループ化されており、DRAMチップ4〜6は、VMD”及びVMD”へとグループ化されており、VMD”2とVMD”3とが、それぞれ、DRAMチップ6、及び7をそれぞれ含む。メモリコントローラの制御下において、コマンドセレクタのコンフィギュレーションレジスタ内に異なるビットマスクが格納されることとなることを可能にすることによって、図6C内に示されるコマンドセレクタの実施形態が、これを可能にする。
図8は、本発明の実施形態による、demuxレジスタ802に電気的に接続された0〜15と表記された16個のDRAMチップを含むMCDIMM800の概略図を示す。demuxレジスタ802は、8個のコマンドセレクタを含み、ここで、該コマンドセレクタの各々は、DRAMチップの対(ペア)に電気的に接続されている。例えば、コマンドセレクタ0は、DRAMチップ0と8との対に電気的に接続されている。DRAMチップの各対は、DRAMチップのスタック(積み重ね)を表してる。積み重ねられたDRAMチップの各対のデータ線は、互いに接続されており、あるアドレスビットが、それらのうちの2つの間を選択する。
図9は、本発明の実施形態による、メモリモジュールのVMDsを制御するための及び再構成(再設定)するための方法の制御フロー図を示す。ステップ901において、メモリモジュールのVMDsを構成(設定)するための命令を有したCONFIGUREコマンドが生成されて、メモリコントローラからメモリモジュールへと送られる。図5C〜5E及び図6〜図7に関連して上述したように、ステップ902において、demuxレジスタのコンフィギュレーションレジスタが、該CONFIGUREコマンドに従って設定(構成)される。ステップ903のforループ内において、ステップ903〜908が、各メモリリクエストごとに繰り返される。ステップ904において、該コマンド内のVMDのアドレスをエンコードすることによって、メモリコントローラは、VMDsのうちの1つにより受け取られることとなるコマンドを準備する。ステップ905において、メモリコントローラは、メモリモジュールのdemuxレジスタに該コマンドを送る。図5Aに関連して上述したように、該コマンドは、demuxレジスタによってコマンドパス(コマンド経路)上において受け取られる。ステップ906において、図5B〜図5Cに関連して上述したように、どのVMDがコマンドを受け取るべきかをdemuxレジスタが決定する。ステップ907において、図5B〜図5Cに関連して上述したように、demuxレジスタが、VMDにコマンドを送るための適切な信号線セットを選択する。ステップ908において、各メモリリクエストは監視され得り、及び、現在のVMDコンフィギュレーションが適切な記憶装置を提供し及びエネルギー効率のニーズを満たしているかどうかを評価するために、性能及びエネルギー効率に関する情報が収集され得る。ステップ909において、該VMDコンフィギュレーションが、適切な性能及び/又はエネルギー効率のニーズを提供していない時には、方法は、ステップ910に進み、提供している時には、方法は、ステップ911に進む。ステップ910において、異なるVMDコンフィギュレーションが、起動時にオペレーティングシステムによってか、アプリケーションを実行中の該アプリケーションによってか、或いは、コンピュータシステムオペレータによって、決定される。ステップ911において、方法は、ステップ901に戻って、ステップ901〜909が繰り返される。
他の実施形態において、MCDIMMsは、DIMM標準とピン互換(ピンコンパチ)となるよう構成され得る。用語「DIMM標準」は、DIMMインターフェースにおいて配置されたピンの数のことを指す。例えば、あるDIMMsを、168ピンで構成することができ、他のDIMMsを、184ピンで構成することができる。メモリコントローラは、図5〜図8に関連して上述した異なるVMDコンフィギュレーションの全てを検出して利用するよう構成され得り、及び、図3に関連して上述したように、標準DIMMsを検出して利用するよう構成され得る。MCDIMMが、既存のDIMMsとピン互換(ピンコンパチ)である時には、新たなメモリスロット標準は不要である。MCDIMMは、標準ピン互換(ピンコンパチ)DIMMスロット内へとMCDIMMを挿入することにより、既存のDIMMを簡単に置き換えることができる。典型的には、DRAMチップと、DIMM標準とは、DRAMチップにおける位置を指定するために必要なビットよりも、より多くのアドレスビットを備えている(リザーブしている)。これらの追加的なビットの一部は、DIMM標準によってサポートされる最大DRAM容量を犠牲にするMCDIMM内における1つか又は複数のVMDsを指定するために使用され得る。MCDIMMのVMDsのタイプと数とを検出するために、DRAMチップのうちの1つの中において組み込まれたモードレジスタが、この情報をエンコードするために拡張され得る。追加的には、メモリモジュール内の別個のピンが、モードレジスタからメモリコントローラへと情報を伝達するために専用にされ得る。従って、ある実施形態では、メモリコントローラは、各メモリモジュールをチェックすることができ、メモリモジュールがDIMMs108〜111のような標準DIMMであるのかどうかを、或いは、メモリモジュールが、多くの異なる固定のか又は再構成可能なVMDsを有したMCDIMMであるのかどうかを、決定することができる。他の実施形態において、メモリコントローラは、VMDアドレスとしてlogN個のアドレスビットを用いるよう構成(設定)され得り、それにより、アドレス範囲における損失(ロス)が生じない結果となる。
図10は、本発明の実施形態に従って、図1内に示されたDIMM109を、図4A内に示されたMCDIMM400に置き換えることを示している。図10内に示されているように、MCDIMM400は、DIMMs108〜111とピン互換(ピンコンパチ)であり、従って、DIMM109を取り除いて、DIMMスロット113内へとMCDIMM400を挿入することができる。MCDIMM400のための異なるVMDコンフィギュレーションの全てを検出して利用するために、メモリコントローラ104が構成される時には、MCDIMM400は、VMDsのアドレス及び数に関して、メモリコントローラ104に情報を伝達することができる。従って、図6〜図8に関連して上述したように、メモリコントローラ104は、MCDIMM400を動作させることを開始することが可能である。しかしながら、図3に関連して上述したように、メモリコントローラ104を、DIMMs108、110、及び111のみを利用するよう構成することもできる。他の実施形態において、MCDIMM400の使用をサポートしないメモリコントローラ104は、標準DIMMs108〜111と同様の手法において、MCDIMM400を使用することができる。
説明することを目的とするための上述の説明は、本発明の完全な理解を提供するために、特定の専門用語が用いられている。しかしながら、特定の詳細事項は、本発明を実践するためには必要とされないということが当業者にとって明らかであろう。本発明の特定の実施形態の上述の説明は、例示及び説明の目的のために提示されている。それらは、網羅的となるようにか、或いは、開示した正確な形態に本発明を限定するようには意図されていない。上記の教示を考慮して、明らかに、多くの修正及び変形形態が可能である。本発明の原理とその実際の用途を最も良く説明するために、それによって、本発明と、予期される特定の使用法に適合されるような様々な修正を伴った様々な実施形態とを他の当業者が最良に利用することが可能になるようにするために、本実施形態が示され且つ説明されている。下記の特許請求の範囲及びそれらの等価物により、本発明の範囲が画定されることが意図されている。

Claims (14)

  1. メモリモジュールであって、
    メモリチップと、
    前記メモリチップの各々及びメモリコントローラに電気的に接続されたデマルチプレクサレジス
    とを備え、
    前記メモリコントローラが、1つか又は複数の前記メモリチップを、性能及び/又はエネルギー効率のニーズの変化に従って、少なくとも1つの仮想メモリデバイスにグループ化し、及び、前記デマルチプレクサレジスタが、前記仮想メモリデバイスのうちの1つを識別するコマンドを受け取って、該識別された仮想メモリデバイスの前記メモリチップに対して該コマンドを送るよう構成されており、
    前記デマルチプレクサレジスタが、少なくとも1つのコマンドセレクタを含み、該コマンドセレクタの各々が、前記メモリチップのうちの1つに電気的に接続されており、
    前記コマンドセレクタの各々は、前記コマンド内に組み込まれたメモリアドレスを抽出するように構成されており、及び、該アドレスが、前記接続されたメモリチップのアドレスに一致する時には、前記接続されたメモリチップに該コマンドを転送するように、一致しない時には、該コマンドセレクタが該コマンドを破棄するように構成されており、及び、
    前記コマンドセレクタの各々が、キャッシュライン及びコマンドをより小さなキャッシュラインセグメントへとパーティションで分割することを制御するRAMタイミングコントロールを含むことからなる、メモリモジュール。
  2. 前記メモリコントローラが、前記1つか又は複数のメモリチップを、オペレーティングシステムか、アプリケーションか、又はコンピュータシステムオペレータによって提供される命令に従って、前記少なくとも1つの仮想メモリデバイスにグループ化することからなる、請求項1に記載のメモリモジュール。
  3. 前記メモリチップが、ダイナミックランダムアクセスメモリチップを更に含むことからなる、請求項1又は2に記載のメモリモジュール。
  4. 前記メモリコントローラから前記デマルチプレクサレジスタへと時分割多重化手法において前記コマンドが送られて、それにより、各コマンドが、前記デマルチプレクサレジスタに到来して、ある固定期間の時間区間内において、該コマンド内において識別された前記仮想メモリデバイスに送られることとなるようにすることからなる、請求項1乃至3の何れかに記載のメモリモジュール。
  5. 前記メモリコントローラが、1つか又は複数の前記メモリチップを、性能及び/又はエネルギー効率のニーズの変化に従って、少なくとも1つの仮想メモリデバイスにグループ化することは、前記メモリコントローラが、前記メモリコントローラから前記デマルチプレクサレジスタに送られるコンフィギュレーションコマンドを生成することを更に含むことからなる、請求項1乃至4の何れかに記載のメモリモジュール。
  6. 前記コンフィギュレーションコマンドが、前記少なくとも1つの仮想メモリデバイスを、前記メモリモジュールにおける1つか又は複数の異なるメモリチップで再構成するよう前記デマルチプレクサレジスタに指示する命令を更に含むことからなる、請求項5に記載のメモリモジュール。
  7. 前記デマルチプレクサレジスタが、
    前記コマンドを前記少なくとも1つのコマンドセレクタに対してブロードキャストするよう構成されたブロードキャストバ
    更に含ことからなる、請求項1乃至6の何れかに記載のメモリモジュール。
  8. 前記コマンドセレクタが、
    前記コマンドから前記メモリチップのアドレスを抽出して、該アドレスが、前記接続されたメモリチップのアドレスに一致する時には選択信号を生成するよう構成されたANDゲートと
    前記コマンドを受け取って、前記ANDゲートが前記選択信号を提供する時には前記接続されたメモリチップに伝達するように構成されたレジスタ/カウンタであって、前記ANDゲートが前記選択信号を提供しない時には該レジスタ/カウンタは、該コマンドを破棄することからなる、レジスタ/カウン
    とを更に含むことからなる、請求項1乃至7の何れかに記載のメモリモジュール。
  9. 前記メモリチップの各々に電気的に接続されている前記デマルチプレクサレジスタが、前記デマルチプレクサレジスタと前記メモリチップとの間に配置されたコマンドバスを更に含み、コマンドバスは、前記メモリチップの各々を前記デマルチプレクサレジスタに接続する信号線の個別セットを含むことからなる、請求項1乃至8の何れかに記載のメモリモジュール。
  10. 前記メモリモジュールは、DIMM標準とピン互換となるように構成されていることからなる、請求項1乃至9の何れかに記載のメモリモジュール。
  11. メモリモジュールを制御するための方法であって、
    請求項1に従って構成された前記メモリモジュールを提供し、
    少なくとも1つのメモリチップを含む少なくとも1つの仮想メモリデバイスを構成し、
    前記メモリコントローラから前記メモリモジュールの前記デマルチプレクサレジスタにコマンドを送り、該コマンドは、前記少なくとも1つの仮想メモリデバイスの前記メモリチップを識別し、
    前記デマルチプレクサレジスタから、前記コマンド内において識別された前記少なくとも1つの仮想メモリデバイスの前記少なくとも1つのメモリチップに前記コマンドを送り、及び、
    システム性能及び/又はエネルギー効率のニーズの変化に基づいて、前記少なくとも1つの仮想メモリデバイスを再構成す
    ことを含むことからなる、方法。
  12. 前記少なくとも1つの仮想メモリデバイスのアドレスを含めるために前記コマンドをメモリコントローラにおいて準備することを更に含む、請求項11に記載の方法。
  13. 前記少なくとも1つの仮想メモリデバイスを構成することが、
    アプリケーションの実行時間中に、仮想メモリデバイス当りに必要とされるメモリチップの数を決定することと、
    起動中に仮想メモリデバイス当りに必要とされるメモリチップの数を決定することと、
    コンピュータシステムオペレータによって仮想メモリデバイス当りに必要とされるメモリチップの数を決定すること
    とのうちの1つを更に含むことからなる、請求項11又は12に記載の方法。
  14. 前記少なくとも1つの仮想メモリデバイスを再構成することが、前記少なくとも1つの仮想メモリデバイス内に既に格納されたデータを、前記少なくとも1つの仮想メモリデバイスを再構成することの前に一時的に格納して、次いで、該データを再構成された前記少なくとも1つの仮想メモリデバイス内に格納することを更に含むことからなる、請求項11乃至13の何れかに記載の方法。
JP2011522032A 2008-08-08 2008-08-08 標準メモリモジュールとピン互換性のあるメモリモジュール内における独立制御可能且つ再構成可能な仮想メモリデバイス Active JP5289569B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/009522 WO2010016817A1 (en) 2008-08-08 2008-08-08 Independently controllable and reconfigurable virtual memory devices in memory modules that are pin-compatible with standard memory modules

Publications (2)

Publication Number Publication Date
JP2011530734A JP2011530734A (ja) 2011-12-22
JP5289569B2 true JP5289569B2 (ja) 2013-09-11

Family

ID=41663889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011522032A Active JP5289569B2 (ja) 2008-08-08 2008-08-08 標準メモリモジュールとピン互換性のあるメモリモジュール内における独立制御可能且つ再構成可能な仮想メモリデバイス

Country Status (6)

Country Link
US (1) US8924639B2 (ja)
EP (1) EP2313890B1 (ja)
JP (1) JP5289569B2 (ja)
KR (1) KR101477849B1 (ja)
CN (1) CN102177551B (ja)
WO (1) WO2010016817A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7458100B1 (ja) 2023-01-30 2024-03-29 株式会社ジョンクェルコンサルティング 二酸化炭素の処理装置、および二酸化炭素の処理方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010019119A1 (en) * 2008-08-13 2010-02-18 Hewlett-Packard Development Company, L.P. Dynamic utilization of power-down modes in multi-core memory modules
US8472199B2 (en) * 2008-11-13 2013-06-25 Mosaid Technologies Incorporated System including a plurality of encapsulated semiconductor chips
US8023345B2 (en) * 2009-02-24 2011-09-20 International Business Machines Corporation Iteratively writing contents to memory locations using a statistical model
US8626997B2 (en) * 2009-07-16 2014-01-07 Micron Technology, Inc. Phase change memory in a dual inline memory module
US8386739B2 (en) * 2009-09-28 2013-02-26 International Business Machines Corporation Writing to memory using shared address buses
US8230276B2 (en) * 2009-09-28 2012-07-24 International Business Machines Corporation Writing to memory using adaptive write techniques
US8463985B2 (en) 2010-03-31 2013-06-11 International Business Machines Corporation Constrained coding to reduce floating gate coupling in non-volatile memories
WO2013068862A1 (en) * 2011-11-11 2013-05-16 International Business Machines Corporation Memory module and memory controller for controlling a memory module
CN102521142B (zh) * 2011-12-13 2015-05-13 曙光信息产业(北京)有限公司 一种提高大容量、多内存设备访问效率的方法
JP5992713B2 (ja) * 2012-03-30 2016-09-14 株式会社ソニー・インタラクティブエンタテインメント メモリシステム、その制御方法及び情報処理装置
US20150169445A1 (en) 2013-12-12 2015-06-18 International Business Machines Corporation Virtual grouping of memory
WO2016082182A1 (zh) * 2014-11-28 2016-06-02 华为技术有限公司 具有光接口的内存系统的配置方法及内存系统
US10592114B2 (en) 2016-03-03 2020-03-17 Samsung Electronics Co., Ltd. Coordinated in-module RAS features for synchronous DDR compatible memory
US10621119B2 (en) 2016-03-03 2020-04-14 Samsung Electronics Co., Ltd. Asynchronous communication protocol compatible with synchronous DDR protocol
US10037150B2 (en) * 2016-07-15 2018-07-31 Advanced Micro Devices, Inc. Memory controller with virtual controller mode
EP3333852B1 (en) 2016-12-06 2019-04-24 Axis AB Memory arrangement
US20190188165A1 (en) 2019-02-22 2019-06-20 Intel Corporation Extended mode (xm) bus mode change, configuration register accesses and broadcast / multi-cast transactions to devices on a xm bus
CN113360323A (zh) * 2021-07-02 2021-09-07 西安紫光国芯半导体有限公司 一种众核计算电路、堆叠芯片和容错控制方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5960786A (ja) * 1982-09-30 1984-04-06 Fujitsu Ltd 半導体集積回路
US5960468A (en) * 1997-04-30 1999-09-28 Sony Corporation Asynchronous memory interface for a video processor with a 2N sized buffer and N+1 bit wide gray coded counters
US6091620A (en) * 1999-07-06 2000-07-18 Virage Logic Corporation Multi-bank memory with word-line banking, bit-line banking and I/O multiplexing utilizing tilable interconnects
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US6675272B2 (en) * 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
ITMI20011150A1 (it) * 2001-05-30 2002-11-30 St Microelectronics Srl Multiplatore di colonna per memorie a semiconduttore
JP4098496B2 (ja) 2001-06-22 2008-06-11 株式会社ルネサステクノロジ 半導体記憶装置
US6904490B2 (en) * 2002-10-10 2005-06-07 International Business Machines Corporation Method and system of managing virtualized physical memory in a multi-processor system
US7721679B2 (en) 2003-10-14 2010-05-25 Goodfield Energy Corporation Vapor generator with preheater and method of operating same
JP2006236105A (ja) 2005-02-25 2006-09-07 Canon Inc アクセス制御装置及びその制御方法
US7590796B2 (en) 2006-07-31 2009-09-15 Metaram, Inc. System and method for power management in memory systems
US7464225B2 (en) * 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
WO2007095080A2 (en) * 2006-02-09 2007-08-23 Metaram, Inc. Memory circuit system and method
JP5292935B2 (ja) 2008-06-16 2013-09-18 日本電気株式会社 メモリモジュール制御方法及びメモリモジュール並びにデータ転送装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7458100B1 (ja) 2023-01-30 2024-03-29 株式会社ジョンクェルコンサルティング 二酸化炭素の処理装置、および二酸化炭素の処理方法

Also Published As

Publication number Publication date
CN102177551B (zh) 2015-05-20
JP2011530734A (ja) 2011-12-22
EP2313890A4 (en) 2011-08-31
EP2313890B1 (en) 2016-05-04
EP2313890A1 (en) 2011-04-27
KR20110059711A (ko) 2011-06-03
US8924639B2 (en) 2014-12-30
WO2010016817A1 (en) 2010-02-11
US20110145504A1 (en) 2011-06-16
CN102177551A (zh) 2011-09-07
KR101477849B1 (ko) 2014-12-30

Similar Documents

Publication Publication Date Title
JP5289569B2 (ja) 標準メモリモジュールとピン互換性のあるメモリモジュール内における独立制御可能且つ再構成可能な仮想メモリデバイス
KR101467623B1 (ko) 메모리 모듈 및 메모리 모듈 제어 방법
US8812886B2 (en) Dynamic utilization of power-down modes in multi-core memory modules
KR101525282B1 (ko) 스위칭된 인터페이스 적층-다이 메모리 아키텍처
KR101865331B1 (ko) 메모리 프리페치 시스템들 및 방법들
US6961831B2 (en) Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules
US20090097348A1 (en) Integrated circuit including a memory module having a plurality of memory banks
US11029746B2 (en) Dynamic power management network for memory devices
CN111916120B (zh) 带宽提升的堆叠存储器
JP5162024B2 (ja) マルチポート型メモリスーパーセル及びデータ経路スイッチング回路を伴う集積回路
US6826657B1 (en) Techniques for increasing bandwidth in port-per-module memory systems having mismatched memory modules
US11797440B2 (en) Method and NMP DIMM for managing address map
JP2009104682A (ja) 半導体記憶装置と品種展開方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130418

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130604

R150 Certificate of patent or registration of utility model

Ref document number: 5289569

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250