JP6953488B2 - ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法 - Google Patents

ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法 Download PDF

Info

Publication number
JP6953488B2
JP6953488B2 JP2019168477A JP2019168477A JP6953488B2 JP 6953488 B2 JP6953488 B2 JP 6953488B2 JP 2019168477 A JP2019168477 A JP 2019168477A JP 2019168477 A JP2019168477 A JP 2019168477A JP 6953488 B2 JP6953488 B2 JP 6953488B2
Authority
JP
Japan
Prior art keywords
memory
state information
stacked
coherence
information
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
JP2019168477A
Other languages
English (en)
Other versions
JP2020021495A (ja
Inventor
ディー. レイデル,ジョン
ディー. レイデル,ジョン
シー. マーフィー,リチャード
シー. マーフィー,リチャード
Original Assignee
マイクロン テクノロジー,インク.
マイクロン テクノロジー,インク.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マイクロン テクノロジー,インク., マイクロン テクノロジー,インク. filed Critical マイクロン テクノロジー,インク.
Publication of JP2020021495A publication Critical patent/JP2020021495A/ja
Application granted granted Critical
Publication of JP6953488B2 publication Critical patent/JP6953488B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0828Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • 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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/03Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
    • H01L25/04Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
    • H01L25/065Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
    • H01L25/0657Stacked arrangements of devices
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/03Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
    • H01L25/10Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices having separate containers
    • H01L25/105Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices having separate containers the devices being of a type provided for in group H01L27/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/622State-only directory, i.e. not recording identity of sharing or owning nodes
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00

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)
  • Power Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Mathematical Physics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Description

関連出願の相互参照
米国出願は、その全体を参照することによってその内容が組み込まれる、2014年5月8日に出願された米国仮特許出願第61/990,207号の優先権の利益を主張する。
マルチプロセッサシステムは、2つ以上のプロセッサが同一のデータに関して動作を実
行することを可能にする共有メモリを含むことができる。共有メモリへのアクセスは遅く、かつシステム待ち時間につながることがある。メモリアクセス時間を改善するために、マルチプロセッサ共有メモリシステムは、比較的小さいが、より高速アクセスのキャッシュメモリを含むことができる。キャッシュメモリは、プロセッサによって頻繁にアクセスされ得るデータのコピーを記憶する。キャッシュされたデータの正確性を維持するために、キャッシュコヒーレンスプロトコルに従う。キャッシュコヒーレンスプロトコルは、プロセッサによるキャッシュされたデータへのアクセスにルールを課して、データの複数のコピーがあるにも関わらず、データがプロセッサの全てにわたって正確であることを保証する。しかしながら、キャッシュコヒーレンスプロトコルは、貴重なシステム帯域幅を消費し、及びデータアクセスに対する非均一な待ち時間を生じさせることがある。本発明者は、マルチプロセッサ共有メモリシステムにおける改善されたデータ管理の必要性を認識している。
本発明の一態様は、複数のホストプロセッサと、前記ホストプロセッサに対する分散共有メモリとして構成された複数の積層メモリデバイスであって、入力/出力(I/O)情報が、パケット化I/Oプロトコルを用いて、前記複数のホストプロセッサ及び前記複数の積層メモリデバイスの間で通信される、複数の積層メモリデバイスと、を備えるコンピューティングシステムであって、各積層メモリデバイスは、第2のメモリダイの上部に配置された少なくとも第1のメモリダイを含む複数の集積回路メモリダイであって、メモリコヒーレンス情報がデータと共に前記分散共有メモリ内に格納される、複数の集積回路メモリダイと、少なくとも1つの別個のデバイスによる前記複数の集積回路メモリダイのメモリへのアクセスを管理するように構成された少なくとも1つのメモリコントローラと、論理回路とを含む論理ベースダイと、を含み、前記論理回路は、前記分散共有メモリ内に格納されたデータに対するメモリコヒーレンス状態情報を決定し、かつ、前記メモリコヒーレンス状態情報を前記データと共に前記分散共有メモリ内に格納することと、前記パケット化I/Oプロトコルに含まれるメモリコヒーレンスプロトコルを用いて、前記ホストプロセッサと前記分散共有メモリとの間でのメモリコヒーレンス状態情報の通信を管理することであって、前記メモリコヒーレンスプロトコルは、前記分散共有メモリ内に格納された前記メモリコヒーレンス状態情報にアクセスするためのチェックアウト/チェックイン機構を含む、ことと、前記パケット化I/Oプロトコルを用いて受信されたアドレス拡張を用いて、前記チェックアウト/チェックイン機構に従って受信されたメモリワードのアドレスを再マッピングすることによって、前記格納されたメモリコヒーレンス状態情報へのアクセスを許可することと、を行うように構成される。
本発明のいくつかの実施形態を実施するために使用しても良い、ハイブリッドメモリキューブの概念を示す。 本発明のいくつかの実施形態を実施するために使用しても良い、ハイブリッドメモリキューブの象限(quadrant)を示すブロック図である。 本発明のいくつかの実施形態を実施するために使用しても良い、ハイブリッドメモリキューブに対する4つの潜在的なデバイストポロジのブロック図を示す。 本発明のいくつかの実施形態を実施するために使用しても良い、コヒーレンスディレクトリメモリフォーマットの実施例を示す。 本発明のいくつかの実施形態を実施するために使用しても良い、HMCデバイスで実装されるコンピュータシステムの実施例のブロック図を示す。 コンピュータシステムを動作させる方法のフロー図を示す。
本発明の例示的な実施形態の以下の詳細な説明では、図面及び例示によって本発明の特定の例示的な実施形態を参照する。これらの実施例は、当業者が本発明を実施することができるように十分に詳細に説明され、及び本発明を種々の目的または実施形態にどのように適用し得るかを示す役割を果たす。本発明の他の実施形態が存在し、ならびにそれらは本発明の範囲内にあり、本発明の主題または範囲から逸脱することなく、論理的、機構的、電気的な変更、及び他の変更がなされても良い。しかしながら、本明細書で説明される本発明の種々の実施形態の特徴または限定は、それらが組み込まれる例示的な実施形態にとって必要であり、本発明の他の実施形態及び本発明全体として限定するものではなく、本発明、その要素、動作、及び適用に関するいずれかの言及は、本発明を全体として限定せず、単にこれらの例示的な実施形態を定義する役割を果たす。したがって、以下の詳細な説明は、本発明の種々の実施形態の範囲を限定せず、本発明は、添付の特許請求の範囲によってのみ定義される。
従来のコンピュータシステムでは、メモリは、行及び列に二次元で構成される。メモリアクセスの待ち時間を改善する取組みは、高帯域幅インタフェースを有するダブルデータレートタイプスリー(DDR3:double data rate type three)またはDDR4を含んできた。DDR3及びDDR4は、従来の行/列のアプローチを使用する。
図1は、ハイブリッドメモリキューブ105(HMC)の概念を示す。HMCは、集積回路(IC)メモリダイ110を積み重ね、かつ、ICダイの上端及び下端の両方にアクセスすることを可能にするシリコン貫通ビア(TSV)構造(図示せず)を使用してダイを相互接続することにより、第3の次元を含む。3次元ダイを構築するために、TSVの製造技術によって、複数のダイ層の相互接続が可能になる。複数のダイ層を相互接続するこの能力によって、メモリ記憶層及び1つまたは複数の論理層の組み合わせを有するメモリデバイスを構築することが可能になる。この方式では、デバイスは、単一のパッケージで物理メモリ記憶及び論理メモリトランザクション処理をもたらす。図1に示される配置は、概念を示すものであり、実際のダイのレイアウトを必ずしも表すものではない。
HMC(例えば、Hybrid Memory Cube Specification version 1.0で指定されるような)は、最大でデバイスごとに320ギガバイト/秒の利用可能な帯域幅容量を有する非常に小型かつ電力効率の良いパッケージをもたらすことができる。HMCデバイスは、設計への階層型及び並列アプローチを用いてそのような帯域幅が可能である。デバイスの階層構造は、論理層にわたって垂直になされ、ハードウェアの並列性は、所与のダイ層にわたってなされる。HMCの中で、メモリはボールト(vault)に構成される。各ボールト120は、シリコン貫通ビアを使用して、ダイの中でメモリ層の各々に垂直に及ぶ。図1の簡易化された実施例では、HMCは、各ボールトが論理ベースダイ層115または論理ベースを有する16個のボールトに構成される。
図2は、HMC205の象限(4分割された一部分)を示すブロック図である。HMCの4つのボールトが示され、各ボールト220は、複数のメモリ層を含む。論理ベース層215は、複数のコンポーネント含む。例えば、各ボールトは、ボールトに対する全てのメモリ参照動作を管理するメモリコントローラを論理ベースに有する。メモリコントローラは、3D記憶層への柔軟なアクセスをもたらす。3D階層化アプローチによって、ターゲットのストレージアレイ内のバンクにわたってのみでなく、並列なストレージアレイにわたってもメモリトランザクションが並行して行われることが可能になる。論理ベース層215は、説明される機能を実装する1つまたは複数のプロセッサを含んでも良く、HMCは、プロセッサ・イン・メモリ(PIM)デバイスとすることができる。
論理ベース層215は、HMCデバイスへの外部リンクアクセスとともに、内部ルーティング及びトランザクション論理の両方をもたらす。外部I/Oリンクは、4つまたは8つの論理リンクによってもたらされる。各リンクは、16個または8つの直列I/O、またはSERDES、双方向リンクのグループを含むことができる。4つのリンクデバイスは、10、12.5及び15Gbpsで動作する能力を有する。8つのリンクデバイスは10Gbpsで動作する能力を有する。内部的には、各々の垂直メモリ記憶ユニットを制御する論理デバイスにおけるトランザクションを指示するために、リンクがルーティング論理に連結される。図2の実施例では、ルーティング論理は、クロスバースイッチング論理を含む。
HMCリンク構造は、デバイスを両方のホスト(プロセッサ)または他のHMCデバイスに連結する能力をサポートする。この連鎖法(chaining)の概念によって、単一のデバイスよりも大きな容量を必要とするメモリサブシステムの構築が可能となるとともに、リンク構造及びパケット化トランザクションプロトコルに影響を与えない。リンクは、多数のトポロジでは、ホストデバイスリンクまたはパススルーリンクとして構成されることができる。
図3は、ベース4リンクHMC構成に基づいて4つの可能性のあるデバイストポロジのブロック図を示す。HMCメモリデバイス305は、メッシュ、トーラス(torus)、またはクロスバーなどの従来のネットワークトポロジにおいて構成されることができる。複数のHMCデバイスをともに連鎖することによって、ホストに利用可能な総メモリ容量が増加する。
図2に戻り、ボールトに対する論理ベース層は、独立したボールトごとのDIMMコントローラユニットと同様である。図2の実施例では、ボールト論理ブロック225及びそれらのそれぞれのボールト記憶ユニット220は、4系(4つのユニット;quad units)に構成されても良い。4系の各々は、4つのボールトユニットを表す。4系の各々は、最も近い物理リンクブロックと緩く(loosely)関連付けられる。この方式では、ホストデバイスは、要求パケットを、その関連付けられた4系が要求されたボールトに物理的に近接しているリンクに論理的に送信することによって、HMCデバイスの論理ベース層を通じて待ち時間を最小化する能力を有する。
ターゲットのメモリボールト内で一旦、メモリ記憶は、バンク及びダイナミックランダムアクセスメモリ(DRAM)の従来の概念に分かれることがある。積み重なったメモリ層を通じた垂直アクセスは、適切なメモリバンクを選択することと同様である。低位のバンクは、低位のダイ層において構成されることができ、垂直に上に向かって後続のバンクが選択される。バンク層内で一旦、DRAMは、従来のように行及び列を使用して構成されることができる。ボールトコントローラは、DRAMを各々が16バイトを処理する1メガビット(1Mb)のブロックに分割する。ターゲットバンクへの読み込みまたは書き込み要求は、列のフェッチごとに32バイトで実行されることができる。
マルチホスト・マルチHMCシステムについて、ホストデバイスとHMCデバイスとの間の帯域内通信がパケット化フォーマットを使用して実行される。このパケット化フォーマットは、3つの主要なパケット分類、すなわち、要求パケット、応答パケット、及びフロー制御パケットを含むことができる。パケットは、単一では16バイトのフロー単位、すなわちFLITである複数で構成されることができる。最大パケットサイズは、9FLITまたは144バイトを含む。最小の16バイト(1FLIT)パケットは、パケットヘッダ及びパケットテールを含む。全てのメモリペイロードサイズに対するメモリ読み込み要求パケットは、パケットヘッダ、テール、及びそれぞれの物理メモリアドレスのみを必要とし得る。したがって、読み込み要求は、単一のFLITを使用して構成されることができる。しかしながら、書き込み要求及び原子要求パケットはまた、書き込み及び読み込み−修正−書き込み動作それぞれのために必要とされる入力データを含む。したがって、これらの要求タイプは、2〜9FLITのパケット幅を有する。
HMCシステムの実装態様は、複数のパケットの入れ替えポイント(reordering point)を有しても良い。補助的デバイスを宛先とする到達パケットは、ローカルボールトのアクセスを待機しているそれらを超える場合がある。ローカルボールトはまた、それぞれのボールトのバンクに対する帯域幅の使用、及びそれぞれのボールトのバンクからの帯域幅の使用を最大限に効率化するために、待ち行列に入れられたパケットを入れ替えても良い。しかしながら、所与のHMCの実装態様に存在する入れ替えポイントは、ボールト内で特定のリンクから特定のバンクへのパケットのストリームの順序を維持する。これは、メモリ書き込み要求の後にメモリ読み込み要求が続くことが正確かつ決定的なメモリの振る舞いを果たす(deliver)ことを保証する。
前に説明されたように、HMCは、高帯域幅デバイスをもたらす。しかしながら、現在のシステム相互接続の仕様は一般的に、その主要なメモリがHMCなどの高帯域幅デバイスに基づいているシステムで適切にバランスを維持するために必要な十分な機能、柔軟性、及び性能に欠けている。例えば、システムアーキテクチャは、システムオンチップ(SoC)とローカルメモリとの間で秒あたり数百ギガバイトの帯域幅を維持するために1つまたは複数のHMCを含む場合があるが、システムアーキテクチャは、この利用可能な帯域幅の一部のみ(例えば、10分の1)を有するシステム相互接続をもたらす。結果として、システムが著しくアンバランスになる。
さらに、システム相互接続に連結されたプロセッサがキャッシュコヒーレンス機構をもたらす場合、共有メモリ及びキャッシュメモリサブシステムの両方で同時性及び正確性を維持するのに十分な帯域幅及び機能をもたらすために、別個の論理ブロックがシステムに追加される必要がある場合がある。これによって、複合的な組の周辺論理ブロック及び異なるレベルの待ち時間を有する複合的なプロトコルの仕様を有するプロセッサ相互接続、メモリ相互接続、及びシステム相互接続がもたらされる。
非効率的なキャッシュコヒーレンシは特に、複数のSoCデバイスまたはソケットにわたって分散される複数のスレッド(またはタスク)の実行での適用における懸念事項である。コアSoCまたはプロセッサが機能的なデータキャッシングをサポートする場合、SoCソケットの間のキャッシュコヒーレンシ機構は、システム相互接続で利用可能な帯域幅よりも10倍高くすることができるローカルなメモリ帯域幅をサポートする必要がある。再度、結果として、システムが著しくアンバランスになる。
システムレベルの待ち時間を改善するアプローチは、実質的に高帯域幅のメモリデバイスの帯域幅を有するメモリコヒーレンスサブシステムを設けることである。これを設ける1つの方法は、1つまたは複数のHMCデバイスを使用してシステムメモリコヒーレンスを実装することである。HMCがその場(in−situ)での原子メモリ動作を実行する能力を有するので、HMCは、高帯域幅及び低待ち時間のメモリコヒーレンシ機構をもたらすように拡張されることができる。
従来のシステムでは、キャッシュコヒーレンスのための1つのアプローチは、ディレクトリベースのキャッシュコヒーレンスプロトコルを使用することである。コヒーレンスディレクトリは、プロセッサが一次メモリからそのキャッシュへのエントリをロードすることの許可を求めるフィルタとして機能する。エントリが変化するとき、ディレクトリは、そのエントリを有する他のキャッシュを更新するまたは無効にする。ディレクトリベースのキャッシュコヒーレンスは、状態をキャッシュラインに割り当てる「ディレクトリ」の維持を含む。各キャッシュラインは、キャッシュラインの状態の最終的なアービタ(arbiter)として「ホームノード」が割り当てられることができる。ホームノードは、アドレス空間を保有し、及びキャッシュラインを修正する許可を付与する。ディレクトリは状態を割り当て、次いで、ディレクトリベースのプロトコルは、メタデータを処理するためにホストの間でポイントツーポイント通信を使用する。
プロセッサは一般的に、ディレクトリの相当な量のキャッシュライン状態情報を記憶し、ならびにキャッシュメタデータを読み込み、及びキャッシュラインの状態を判定するために高速キャッシュメモリアクセスに依存する。キャッシュメモリコントローラは、どのホストがキャッシュラインをチェックアウトしたかを記録する。この構成では、キャッシュディレクトリそれ自体がキャッシュされる必要があり(完全に連結されてキャッシュされることが多い)、最後のレベルのキャッシュまたはメモリコントローラにおいて維持される複合的かつ電力消費の少ない(power−hungry)データ構造を生成する。これらのデータ構造は、オンチップに適合しないことが多く、及び大規模対称マルチプロセッサ(SMP)構成に対してDRAMによって支援(back)される必要があることが多い。
その物理メモリ記憶の階層特性を理由に、HMCデバイスは、従来のバンク化されたDRAMデバイス(例えば、DDR3またはDDR4デバイス)が行うのとは異なる物理アドレス指定及びインタリーブモデルを有する。HMCデバイスに対する物理アドレスは、ボールト、バンク、及びアドレスビットを含む34ビットフィールドに符号化される。4つのリンクデバイスを有する実装態様は、より低い32ビットのフィールドを利用し、8つのリンクデバイスを有する実装態様は、より低い33ビットのフィールドを利用する。
DDR3またはDDR4デバイスとは対照的に、HMCデバイスは、抽象的(abstracted)メモリ記憶インタフェースを安価に実装することができる。例えば、DDRタイプデバイスについて、プロセッサがアドレスにアクセスすることを望むとき、現実または実際の物理アドレスは、バスに配置され、及びアクセスされる。HMCプロトコルでは、物理アドレスは、それがHMCに到達するときに異なるメモリアドレスに再マッピングされることができる。よって、HMCについて、実際のメモリ位置が書き込まれる保証がない。加えて、HMCは、設定された時間に応答を生成することが必要とされない。
HMCのこのアドレス再マッピング能力は、ディレクトリベースのメモリコヒーレンスを実装するために利用されることができる。ディレクトリメモリコヒーレンスのサポートをもたらすために、HMCのベース論理層は、所与のメモリブロックの位置を関連するメモリワードまたは「キャッシュライン」に引き出す(abstract)ように構成されることができる。よって、メモリコヒーレンスディレクトリは、HMC記憶ボールト内に記憶されることができる。これは、同一のHMCプロトコルを使用して従来のメモリトラフィック及びキャッシュコヒーレンシトラフィックの両方を管理する方法をもたらし、それによって、ローカルメモリデータアクセス及びシステムメモリデータアクセスに均一性をもたらすことができる。
図4は、コヒーレンスディレクトリメモリフォーマットの実施例を示す。HMCの直接メモリ空間を、ベース物理アドレスフィールドに含まれる物理アドレスに関して説明することができる。示される実施例では、最大で34ビットの物理アドレス記憶が利用可能である。ベース物理アドレスは、メモリ動作に対するターゲットとしての役割を果たし、ならびにボールト、バンク、及びDRAMアドレスビットを含むことができる。アドレス拡張キューブID(CUB)フィールドは、メモリワードを支援するメモリが存在するHMCデバイスを示す。ディレクトリビットフィールドは、メモリワードの状態情報を、メモリワードがキャッシュラインであったかのように維持するためのメモリコヒーレンシビットをもたらす。メモリコヒーレンスディレクトリがMESIコヒーレンスプロトコルを使用する場合、ディレクトリビットは、修正ビット、排他ビット、共有ビット、及び無効ビットを含む。キャッシュラインとしてデータワードにアクセスすることは、ベース物理アドレスにCUBオフセットを加えたものと関連付けられたメモリワードにアクセスすることによって実行される。データエントリが8バイトを含む場合、単一の8GBのHMCデバイスは、10億の同時ディレクトリエントリをサポートすることができる。
メモリコヒーレンシがこの方式で構成されるとともに、検索及び修正動作がHMC原子メモリ動作を使用してメモリ上で実行されることができる。ディレクトリの可変性(mutability)は、ディレクトリと相互作用するHMCに特有のトランザクションプロトコルを使用している間に維持される。これは、メモリアクセスのタイプをより均一にさせる。
ディレクトリエントリへのアクセスは、原子要求を使用して実行されることができる。原子要求は、16バイトのデータをDRAM(要求アドレスフィールドによってアクセスされる)から読み込むこと、16バイトのオペランド(要求パケットにも含まれる)の使用を通じてデータに関する動作を実行すること、次いで、結果をDRAMの同一の位置に再度書き込むことを含む。読み込み−更新−書き込みシーケンスは原始的に行われ、それは、原子要求の書き込みが完了するまで他の要求が同一のバンクにアクセスすることができないことを意味する。原子要求は、それらが16バイトのデータペイロードを要求パケットに有する点で16バイトの書き込み要求と同様であり、書き込み応答は、返却されても良く、または返却されなくても良い(要求がポストされた(posted)要求であるかポストされていない要求であるかに応じて)。原子動作から生じるデータは、応答コマ
ンドで返却されない。ディレクトリエントリへの修正は、例えば、HMCプロトコルのADD即時要求コマンドなどの原子メモリ動作を使用して実行されることができる。ディレクトリエントリへの検索は、例えば、ターゲットの即値(immediate value)がゼロであるADD即時要求コマンドなどの原子メモリ動作を使用して実行されることができる。
図5は、HMCベースのメモリコヒーレンスディレクトリを含むようにHMCデバイスで実装されるコンピュータシステム500の実施例のブロック図を示す。システムは複数のホストプロセッサを含む。プロセッサは、SoCソケット502によって表される各プロセッサを有するSoCとして実装されることができる。実施例は、4つのプロセッサを示すが、システムは他の数のプロセッサを含むように柔軟性を有する。
システムはまた、ホストプロセッサに対する分散共有メモリとして構成される複数のHMCデバイスを含む。HMCデバイスの一部は、エンドポイントデバイスとして使用され、一部のHMCデバイスは、ハブデバイスとして使用される。ハブデバイスは、システム内通信をもたらすパススルー通信能力をもたらし得る。
三次元で配置されたメモリダイを有するHMCデバイスでメモリが実装されると考えると、共有メモリは、3Dメモリアクセスに対して構成される。HMCデバイス505のメモリダイのメモリの少なくとも一部は、メモリコヒーレンスディレクトリの少なくとも一部を含むようにマッピングされる。これは、従来のキャッシュコヒーレンスデータまたはメタデータが、メモリワードが存在するメモリに記憶されることを非明示的に示す。HMCデバイスの論理ベースダイは、例えば、プロセッサまたは別のHMCデバイスなどの少なくとも1つの第2のデバイスによるHMCデバイスメモリへの三次元(3D)アクセスを管理する少なくとも1つのメモリコントローラを含む。論理ベースダイはまた、複数のメモリダイのメモリに記憶されたデータに対するメモリコヒーレンスプロトコルを実装する論理回路を含む。
コヒーレンスディレクトリがHMCデバイスに記憶されているので、HMCデバイス自体は、その自身のデータに対するホームノードとしての役割を果たすことができる。メモリコヒーレンス状態情報は、データとともに記憶されることができる。論理ベース層によって、データを別個のキャッシュに記憶することなく、メモリコヒーレンス状態情報がプロセッサ間で通信されることが可能になる。共有メモリに記憶されたデータは、本質的にキャッシュラインである。加えて、メモリコヒーレンスがHMCデバイスによって実装されると考えると、メモリコヒーレンス状態情報を管理することと関連付けられた処理のオーバヘッドがプロセッサから取り除かれる。
前に説明されたように、マルチホスト・マルチHMCシステムについて、ホストデバイスとHMCデバイスとの間のI/O通信は、パケット化プロトコルを使用して実行される。メモリコヒーレンスプロトコルは、このI/Oプロトコルに含まれることができる。パケット化情報は、メモリコヒーレンス状態情報を含むことができる。一部の実施例では、メモリコヒーレンス状態情報は、図4の実施例にあるようにアドレス情報とともに含まれることができる。I/Oプロトコルとともにメモリコヒーレンスプロトコルを含むことは、両方の機能を統一した効率的な通信システムに組み合わせる。これは、ローカルメモリ要求及びシステムメモリ要求の両方での待ち時間を最小化し、ならびにローカル及びシステムインタフェースの間のプロトコルトランザクションを取り除く。
状態情報は、プロセッサがデータをメモリワードに安全に書き込むことができるか、メモリワードが現在有効なデータを保持しているかを判定し、及びメモリワードへの読み込みまたは書き込みが可能な状態にメモリワードがどのように遷移することができるかを判
定する。一部の実施例では、HMCデバイスの論理回路は、MSIキャッシュコヒーレンスプロトコルを実装し、メモリダイのメモリのワードに対する「修正」状態情報、「共有」状態情報、及び「無効」状態情報を判定し、ならびにメモリダイのメモリのワードと関連付けて状態情報を記憶する。或る変形例では、修正状態情報、共有状態情報、及び無効状態情報は、修正ビット、共有ビット、及び無効ビットそれぞれを含む。或る実施例では、HMCデバイスの論理回路は、排他状態情報を判定するMESIキャッシュを実装する。或る実施例では、HMCデバイスの論理回路は、メモリダイのメモリのワードに対する所有権状態情報を判定するMOSIキャッシュを実装する。論理回路は、排他状態情報及び所有権状態情報のうちの一方または両方を、共有メモリデータのワードと関連付けて記憶する。いくつかの実施例では、ハブHMCデバイスは、ルーティング情報をパケット化メッセージに追加する。ルーティング情報は、メモリコヒーレンス状態情報を判定するために使用されることができる(例えば、受信HMCデバイスによって)。
いくつかの実施例に従って、「チェックイン/チェックアウト」機構は、特定のメモリワードを更新することを望むプロセッサによって使用される。このケースでは、プロセッサは、メモリ位置Xへの排他アクセスを要求する。そのアクセスが、メモリワードが存在するHMCデバイスによって許可されると、メモリワードは、「チェックアウト」としてマーク付けされることができる(デバイス上の小型連結テーブルにおいて、またはメモリにおける状態の追加ビットとして)。データがプロセッサによって再度チェックされるとき、HMCデバイスは、データが更新されることと推定する。よって、メモリワード自体はプロセッサによってライトバックされ(またはフラッシュされ)、メモリにおける空間は、追加の状態情報(例えば、メモリワードをチェックアウトしたデバイスを示す状態情報)を記憶するために再使用されることができる。メモリワードXに対するさらなる要求は、情報の両方の部分(例えば、キャッシュラインがプロセッサPによってチェックアウトされる状態情報)を組み合わせた応答をHMCデバイスから受信することができる。次いで、ディレクトリベースのコヒーレンスプロトコルは、メモリコヒーレンス状態更新を使用することによって続行する(例えば、プロセッサPは、メモリ内容をフラッシュするように依頼されることができる、など)。プロセッサPは、新たなデータをホームノード(メモリワードのHMCデバイス)に再度フラッシュするとき、メモリワードがチェックインされることができ、及び状態情報が消去されることができる。
いくつかの実施例では、HMCデバイスは、ターゲットメモリワードに対して特定の状態要求に応答する。例えば、ターゲットHMCデバイスは、メモリワードへの排他アクセスの要求(例えば、排他状態に対する要求)をプロセッサから受信しても良い。HMCデバイスの論理回路は、メモリワードに対する状態情報の読み込みを開始しても良い。第2のデバイスが既にメモリワードの排他アクセス及び所有権を有していることを状態情報が示す場合、論理回路は、メモリワードを無効にし、及び所有デバイスからの無効の確認を待機しても良い。確認が受信されるとき、HMCデバイスは、元の要求デバイスに排他アクセスを付与しても良い。
図6は、図5に示された例示的なシステムなどのコンピュータシステムを動作させる方法600のフロー図を示す。605では、コンピュータシステムの分散共有メモリへのアクセスが、例えば、HMCプロトコルなどによって管理される。共有メモリは、三次元アクセスに対して構成され、及び1つまたは複数のHMCデバイスを含む。
610では、メモリコヒーレンス状態情報は、メモリコヒーレンスディレクトリとして分散共有メモリに記憶される。いくつかの実施例では、メモリコヒーレンスディレクトリは、コンピュータシステムの複数のHMCデバイスにわたって分散される。
615では、パケット化情報は、コンピューティングシステムの複数のプロセッサと共
有メモリとの間で通信され、620では、メモリコヒーレンス状態情報は、通信されたパケット化情報とともに含まれる。いくつかの実施例では、620でのメモリコヒーレンス状態情報は、コンピュータシステムのプロセッサの間でポイントツーポイントで通信される。
本明細書で説明される例示的なシステム及び方法は、従来のマルチプロセッサ分散共有メモリシステムに対していくつかの利点をもたらす。HMCデバイスによってもたらされる高帯域幅は、高帯域幅メモリ及び高帯域幅システム相互接続をもたらす。システムアーキテクチャにおけるHMCデバイスの分散は、ローカルメモリの間、及びHMCデバイスと相互接続された他のシステムレベルメモリとの間で帯域幅及びシステム待ち時間の特性のバランスをとる。メモリコヒーレンスプロトコルをシステムI/Oプロトコルに組み込むことは、ローカルメモリとシステムレベルメモリとの間のメモリ要求の原子性を維持する1つの統一したプロトコルをもたらす。統一したプロトコルは、ローカルメモリアクセスとシステムレベルメモリアクセスとの間のプロトコル変換を削減または取り除くことによって、ならびにローカルメモリアクセス及びシステムレベルメモリアクセスの両方に対する効率的なHMCパケットの仕様を使用することによって待ち時間を最小化する。SoC設計は、メモリコヒーレンスディレクトリの管理の負担を取り除く(offloading)ことによって、及びSoCによるコヒーレンスディレクトリの検索を簡易化することによって簡易化される。
特定の実施形態が本明細書で示され、及び説明されてきたが、同一の目的、構造、または機能を達成するいずれかの配置が示される特定の実施形態に対して置き換えられても良いことを当業者は認識するであろう。本出願が、本明細書で説明された発明の例示的な実施形態のいずれかの適合または変形をカバーすることが意図される。本発明は、特許請求の範囲、及びそれと同等物の全範囲によってのみ限定されることが意図される。

Claims (27)

  1. 複数のホストプロセッサと、
    前記ホストプロセッサに対する分散共有メモリとして構成された複数の積層メモリデバイスであって、入力/出力(I/O)情報が、パケット化I/Oプロトコルを用いて、前記複数のホストプロセッサ及び前記複数の積層メモリデバイスの間で通信される、複数の積層メモリデバイスと、
    を備えるコンピューティングシステムであって、
    各積層メモリデバイスは、
    第2のメモリダイの上部に配置された少なくとも第1のメモリダイを含む複数の集積回路メモリダイであって、メモリコヒーレンス情報がデータと共に前記分散共有メモリ内に格納される、複数の集積回路メモリダイと、
    少なくとも1つの別個のデバイスによる前記複数の集積回路メモリダイのメモリへのアクセスを管理するように構成された少なくとも1つのメモリコントローラと、論理回路とを含む論理ベースダイと、
    を含み、
    前記論理回路は、
    前記分散共有メモリ内に格納されたデータに対するメモリコヒーレンス状態情報を決定し、かつ、前記メモリコヒーレンス状態情報を前記データと共に前記分散共有メモリ内に格納することと、
    前記パケット化I/Oプロトコルに含まれるメモリコヒーレンスプロトコルを用いて、前記ホストプロセッサと前記分散共有メモリとの間でのメモリコヒーレンス状態情報の通信を管理することであって、前記メモリコヒーレンスプロトコルは、前記分散共有メモリ内に格納された前記メモリコヒーレンス状態情報へのアクセスを要求するためのチェックアウト/チェックイン機構を含む、ことと、
    前記複数の積層メモリデバイスのうちの1つの積層メモリデバイスを指定するアドレス拡張を用いて、前記チェックアウト/チェックイン機構に従って受信されたメモリワードのアドレスを再マッピングすることによって、前記格納されたメモリコヒーレンス状態情報へのアクセスを許可することと、
    を行うように構成される、コンピューティングシステム。
  2. 前記集積回路メモリダイは、コンピューティングシステムのための共有メモリとしてマッピングされ、各積層メモリデバイスの前記論理回路は、原子メモリ動作を用いて、前記パケット化I/Oプロトコルの一部として前記メモリコヒーレンスプロトコルを実行するように構成される、請求項1に記載のシステム。
  3. 各積層メモリデバイスの前記論理回路は、パケット化情報を、前記集積回路メモリダイにアクセスし且つ前記パケット化情報にメモリコヒーレンス状態情報を含めるために使用される前記パケット化I/Oプロトコルの一部として通信するように構成される、請求項1に記載のシステム。
  4. 各積層メモリデバイスの前記論理回路は、アドレス情報を前記パケット化情報の一部として通信し、かつ、前記アドレス情報にメモリコヒーレンス状態情報を含めるように構成される、請求項に記載のシステム。
  5. 各積層メモリデバイスの前記論理回路は、前記集積回路メモリダイのメモリのワードに対する、修正された状態情報、共有された状態情報、及び無効な状態情報を決定し、かつ、これらの状態情報を前記集積回路メモリダイのメモリの前記ワードに関連付けて格納するように構成される、請求項1に記載のシステム。
  6. 各積層メモリデバイスの前記論理回路は、前記集積回路メモリダイのメモリのワードに対する、排他状態情報及び所有権状態情報のうちの少なくとも一方を決定し、かつ、これらの状態情報を共有メモリデータの前記ワードに関連付けて格納するように構成される、請求項1に記載のシステム。
  7. ハブ積層メモリデバイスとして構成された少なくとも1つの積層メモリデバイスを含み、前記ハブ積層メモリデバイスの論理回路が、パケット化メッセージにルーティング情報を追加し、また、受信する積層メモリデバイスの前記論理回路が、前記ルーティング情報を用いてメモリコヒーレンス状態情報を決定する、請求項1に記載のシステム。
  8. 各積層メモリデバイスの前記論理回路は、メモリワードへの排他アクセスの要求を受信すると、前記積層メモリデバイスから、前記メモリワードの所有権を有するプロセッサへ、要求パケットを送信するように構成される、請求項1に記載のシステム。
  9. 各積層メモリデバイスの前記論理ベースダイの前記メモリコントローラは、少なくとも1つのプロセッサによる、及び、他の積層メモリデバイスによる、前記集積回路メモリダイのメモリへの3Dアクセスを管理するように構成される、請求項1に記載のシステム。
  10. 各積層メモリデバイスの前記集積回路メモリダイは、複数のボールトとして配置されたメモリを含み、前記論理ベースダイは、前記集積回路メモリダイの各ボールトに対するメモリコントローラを含む、請求項1に記載のシステム。
  11. 前記複数のホストプロセッサのプロセッサは、システムオンチップ(SoC)プロセッサである、請求項1に記載のシステム。
  12. 第2のメモリダイの上部に配置された少なくとも1つの第1のメモリダイを含む複数の集積回路メモリダイと、
    複数のホストプロセッサ及び少なくとも1つの他の積層メモリデバイスによる、分散共有メモリの一部としての前記複数の集積回路メモリダイのメモリへのアクセスを管理するように構成された少なくとも1つのメモリコントローラと、論理回路とを含む論理ベースダイと、
    を含む積層メモリデバイスであって、
    前記論理回路は、
    データに対するメモリコヒーレンス状態情報を決定し、かつ、前記メモリコヒーレンス状態情報を前記データと共に前記分散共有メモリの前記複数の集積回路メモリダイ内に格納することと、
    メモリコヒーレンスプロトコルを含むパケット化入力/出力(I/O)プロトコルを用いて、前記ホストプロセッサと前記少なくとも1つの他の積層メモリデバイスとの間での情報の通信を管理することであって、前記メモリコヒーレンスプロトコルは、前記複数の集積回路メモリダイ内の前記メモリコヒーレンス状態情報へのアクセスを要求するためのチェックアウト/チェックイン機構を含む、ことと、
    前記複数の積層メモリデバイスのうちの1つの積層メモリデバイスを指定するアドレス拡張を用いて、前記チェックアウト/チェックイン機構に従って受信されたメモリワードのアドレスを再マッピングすることによって、前記格納されたメモリコヒーレンス状態情報へのアクセスを許可することと、
    を行うように構成される、積層メモリデバイス。
  13. 前記論理ベースダイの前記論理回路は、原子メモリ動作を用いて前記情報の通信を管理し、かつ、前記原子メモリ動作を用いて前記メモリコヒーレンスプロトコルを実行するように構成される、請求項12に記載の積層メモリデバイス。
  14. 前記論理ベースダイの前記論理回路は、アドレス情報を前記パケット化I/Oプロトコルの一部として通信し、かつ、前記アドレス情報に前記メモリコヒーレンス状態情報を含めるように構成される、請求項12に記載の積層メモリデバイス。
  15. 前記論理ベースダイの前記論理回路は、前記集積回路メモリダイのメモリのワードに対する、修正された状態情報、共有された状態情報、及び無効な状態情報を決定し、かつ、これらの状態情報を前記集積回路メモリダイのメモリの前記ワードに関連付けて格納するように構成される、請求項12に記載の積層メモリデバイス。
  16. 前記論理ベースダイの前記論理回路は、前記集積回路メモリダイのメモリのワードに対する、排他状態情報及び所有権状態情報のうちの少なくとも一方を決定し、かつ、これらの状態情報を共有メモリデータの前記ワードに関連付けて格納するように構成される、請求項12に記載の積層メモリデバイス。
  17. 前記論理ベースダイの前記メモリコントローラは、前記複数のホストプロセッサ及び前記少なくとも1つの他の積層メモリデバイスによる3Dアクセスを管理するように構成される、請求項12に記載の積層メモリデバイス。
  18. 前記複数の集積回路メモリダイは、複数のボールトとして配置されたメモリを含み、前記論理ベースダイは、前記集積回路メモリダイの各ボールトに対するメモリコントローラを含む、請求項12に記載の積層メモリデバイス。
  19. コンピューティングシステムを動作させる方法であって、
    前記コンピューティングシステムの分散共有メモリへのアクセスを管理することであって、前記分散共有メモリは、3次元アクセス用に構成された複数の積層メモリデバイスを含む、ことと、
    メモリコヒーレンスディレクトリとしての前記分散共有メモリ内にメモリコヒーレンス状態情報を格納することであって、メモリコヒーレンス状態情報は、前記分散共有メモリの前記積層メモリデバイスの論理回路によって決定され、かつ、前記分散共有メモリ内にデータと共に格納される、ことと、
    メモリコヒーレンスプロトコルを含む入力/出力(I/O)プロトコルを用いて、前記コンピューティングシステムにおける複数のプロセッサと前記分散共有メモリとの間でパケット化情報を通信することと、
    前記メモリコヒーレンス状態情報を、前記I/Oプロトコル通信される前記パケット化情報に含め、かつ、前記I/Oプロトコルを用いて前記分散共有メモリ内のデータ及び前記メモリコヒーレンス状態情報にアクセスすることであって、前記I/Oプロトコルは、前記分散共有メモリ内に格納された前記メモリコヒーレンス状態情報へのアクセスを要求するためのチェックアウト/チェックイン機構を含み、該アクセスは、前記複数の積層メモリデバイスのうちの1つの積層メモリデバイスを指定するアドレス拡張を用いて、前記チェックアウト/チェックイン機構に従って受信されたメモリワードのアドレスを前記分散共有メモリに再マッピングすることによって行われる、ことと、
    を含む方法。
  20. メモリコヒーレンス状態情報を前記通信されるパケット化情報に含めることは、前記メモリコヒーレンス状態情報を前記パケット化情報のアドレスフィールドに組み込むことを含む、請求項19に記載の方法。
  21. 前記通信されるパケット化情報を用いてメモリコヒーレンスプロトコルを実行することを含み、前記メモリコヒーレンスディレクトリのメモリコヒーレンス状態情報は、前記メモリコヒーレンスプロトコルを用いて前記分散共有メモリによって修正される、請求項19に記載の方法。
  22. 前記分散共有メモリ内にメモリコヒーレンス状態情報を格納することは、前記メモリコヒーレンス状態情報を共有メモリデータワードと共に格納することを含む、請求項19に記載の方法。
  23. 前記分散共有メモリ内にメモリコヒーレンス状態情報を格納することは、修正ビット、共有ビット、及び無効ビットを、共有メモリデータワードと共に格納することを含む、請求項19に記載の方法。
  24. 前記分散共有メモリ内にメモリコヒーレンス状態情報を格納することは、排他情報及び所有権情報のうちの少なくとも一方を共有メモリデータワードと共に格納することを含む、請求項19に記載の方法。
  25. 前記分散共有メモリに対する少なくとも1つのメモリコントローラを含む論理ベース層を用いて、前記メモリコヒーレンス状態情報を修正することを含む、請求項19に記載の方法。
  26. 原子メモリ動作を用いて前記メモリコヒーレンス状態情報を修正することを含む、請求項19に記載の方法。
  27. 前記複数のプロセッサのうちの1つのプロセッサによって、ターゲット積層メモリデバイスのメモリワード特定の状態にすることを要求することと、前記ターゲット積層メモリデバイスから前記複数のプロセッサのうちの1つ以上のプロセッサへ応答を送信することと、を含む、請求項19に記載の方法。
JP2019168477A 2014-05-08 2019-09-17 ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法 Active JP6953488B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461990207P 2014-05-08 2014-05-08
US61/990,207 2014-05-08
JP2016566636A JP6637906B2 (ja) 2014-05-08 2015-05-07 ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016566636A Division JP6637906B2 (ja) 2014-05-08 2015-05-07 ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法

Publications (2)

Publication Number Publication Date
JP2020021495A JP2020021495A (ja) 2020-02-06
JP6953488B2 true JP6953488B2 (ja) 2021-10-27

Family

ID=54367952

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016566636A Active JP6637906B2 (ja) 2014-05-08 2015-05-07 ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法
JP2019168477A Active JP6953488B2 (ja) 2014-05-08 2019-09-17 ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016566636A Active JP6637906B2 (ja) 2014-05-08 2015-05-07 ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法

Country Status (7)

Country Link
US (2) US10838865B2 (ja)
EP (1) EP3140743B1 (ja)
JP (2) JP6637906B2 (ja)
KR (1) KR102068101B1 (ja)
CN (1) CN106462501B (ja)
TW (1) TWI687810B (ja)
WO (1) WO2015171914A1 (ja)

Families Citing this family (161)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158667B2 (en) 2013-03-04 2015-10-13 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US8964496B2 (en) 2013-07-26 2015-02-24 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
US8971124B1 (en) 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9153305B2 (en) 2013-08-30 2015-10-06 Micron Technology, Inc. Independently addressable memory array address spaces
US9019785B2 (en) 2013-09-19 2015-04-28 Micron Technology, Inc. Data shifting via a number of isolation devices
US9449675B2 (en) 2013-10-31 2016-09-20 Micron Technology, Inc. Apparatuses and methods for identifying an extremum value stored in an array of memory cells
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
US9934856B2 (en) 2014-03-31 2018-04-03 Micron Technology, Inc. Apparatuses and methods for comparing data patterns in memory
US10838865B2 (en) 2014-05-08 2020-11-17 Micron Technology, Inc. Stacked memory device system interconnect directory-based cache coherence methodology
US9786335B2 (en) 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9779019B2 (en) 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9910787B2 (en) 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
US9711207B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9496023B2 (en) 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US10074407B2 (en) 2014-06-05 2018-09-11 Micron Technology, Inc. Apparatuses and methods for performing invert operations using sensing circuitry
US9830999B2 (en) 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9455020B2 (en) 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US9449674B2 (en) 2014-06-05 2016-09-20 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9711206B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US10068652B2 (en) 2014-09-03 2018-09-04 Micron Technology, Inc. Apparatuses and methods for determining population count
US9847110B2 (en) 2014-09-03 2017-12-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector
US9589602B2 (en) 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
US9898252B2 (en) 2014-09-03 2018-02-20 Micron Technology, Inc. Multiplication operations in memory
US9740607B2 (en) 2014-09-03 2017-08-22 Micron Technology, Inc. Swap operations in memory
US9747961B2 (en) 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US9904515B2 (en) 2014-09-03 2018-02-27 Micron Technology, Inc. Multiplication operations in memory
US9836218B2 (en) 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
US9940026B2 (en) 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US10163467B2 (en) 2014-10-16 2018-12-25 Micron Technology, Inc. Multiple endianness compatibility
US10147480B2 (en) 2014-10-24 2018-12-04 Micron Technology, Inc. Sort operation in memory
US9779784B2 (en) 2014-10-29 2017-10-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9747960B2 (en) 2014-12-01 2017-08-29 Micron Technology, Inc. Apparatuses and methods for converting a mask to an index
US10073635B2 (en) 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
US9583163B2 (en) 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
EP3254286B1 (en) 2015-02-06 2019-09-11 Micron Technology, INC. Apparatuses and methods for parallel writing to multiple memory device locations
WO2016126472A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for scatter and gather
EP3254287A4 (en) 2015-02-06 2018-08-08 Micron Technology, INC. Apparatuses and methods for memory device as a store for program instructions
CN107408408B (zh) 2015-03-10 2021-03-05 美光科技公司 用于移位决定的装置及方法
US9741399B2 (en) 2015-03-11 2017-08-22 Micron Technology, Inc. Data shift by elements of a vector in memory
US9898253B2 (en) 2015-03-11 2018-02-20 Micron Technology, Inc. Division operations on variable length elements in memory
WO2016144726A1 (en) 2015-03-12 2016-09-15 Micron Technology, Inc. Apparatuses and methods for data movement
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
US10049054B2 (en) 2015-04-01 2018-08-14 Micron Technology, Inc. Virtual register file
US10140104B2 (en) 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
US9959923B2 (en) 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US9704541B2 (en) 2015-06-12 2017-07-11 Micron Technology, Inc. Simulating access lines
US9921777B2 (en) 2015-06-22 2018-03-20 Micron Technology, Inc. Apparatuses and methods for data transfer from sensing circuitry to a controller
US9996479B2 (en) 2015-08-17 2018-06-12 Micron Technology, Inc. Encryption of executables in computational memory
US10984838B2 (en) * 2015-11-17 2021-04-20 Advanced Micro Devices, Inc. Interconnect architecture for three-dimensional processing systems
US9905276B2 (en) 2015-12-21 2018-02-27 Micron Technology, Inc. Control of sensing components in association with performing operations
US9952925B2 (en) 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry
US10048888B2 (en) 2016-02-10 2018-08-14 Micron Technology, Inc. Apparatuses and methods for partitioned parallel data movement
US9892767B2 (en) 2016-02-12 2018-02-13 Micron Technology, Inc. Data gathering in memory
US9971541B2 (en) 2016-02-17 2018-05-15 Micron Technology, Inc. Apparatuses and methods for data movement
US9899070B2 (en) 2016-02-19 2018-02-20 Micron Technology, Inc. Modified decode for corner turn
US10956439B2 (en) 2016-02-19 2021-03-23 Micron Technology, Inc. Data transfer with a bit vector operation device
US9697876B1 (en) 2016-03-01 2017-07-04 Micron Technology, Inc. Vertical bit vector shift in memory
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
US10262721B2 (en) 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US10379772B2 (en) 2016-03-16 2019-08-13 Micron Technology, Inc. Apparatuses and methods for operations using compressed and decompressed data
US9910637B2 (en) 2016-03-17 2018-03-06 Micron Technology, Inc. Signed division in memory
US10388393B2 (en) 2016-03-22 2019-08-20 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US11074988B2 (en) 2016-03-22 2021-07-27 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10120740B2 (en) 2016-03-22 2018-11-06 Micron Technology, Inc. Apparatus and methods for debugging on a memory device
KR102469099B1 (ko) * 2016-03-24 2022-11-24 에스케이하이닉스 주식회사 반도체 시스템
US10977033B2 (en) 2016-03-25 2021-04-13 Micron Technology, Inc. Mask patterns generated in memory from seed vectors
US10474581B2 (en) 2016-03-25 2019-11-12 Micron Technology, Inc. Apparatuses and methods for cache operations
US10430244B2 (en) 2016-03-28 2019-10-01 Micron Technology, Inc. Apparatuses and methods to determine timing of operations
US10074416B2 (en) 2016-03-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for data movement
US10453502B2 (en) 2016-04-04 2019-10-22 Micron Technology, Inc. Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions
US10607665B2 (en) 2016-04-07 2020-03-31 Micron Technology, Inc. Span mask generation
US9818459B2 (en) 2016-04-19 2017-11-14 Micron Technology, Inc. Invert operations using sensing circuitry
US10153008B2 (en) 2016-04-20 2018-12-11 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US9659605B1 (en) 2016-04-20 2017-05-23 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US10042608B2 (en) 2016-05-11 2018-08-07 Micron Technology, Inc. Signed division in memory
US9659610B1 (en) 2016-05-18 2017-05-23 Micron Technology, Inc. Apparatuses and methods for shifting data
US10503641B2 (en) * 2016-05-31 2019-12-10 Advanced Micro Devices, Inc. Cache coherence for processing in memory
US10049707B2 (en) 2016-06-03 2018-08-14 Micron Technology, Inc. Shifting data
US10153251B2 (en) 2016-06-06 2018-12-11 Micron Technology, Inc. Apparatuses and methods for scalable memory
US10387046B2 (en) 2016-06-22 2019-08-20 Micron Technology, Inc. Bank to bank data transfer
US10037785B2 (en) 2016-07-08 2018-07-31 Micron Technology, Inc. Scan chain operation in sensing circuitry
US10388360B2 (en) 2016-07-19 2019-08-20 Micron Technology, Inc. Utilization of data stored in an edge section of an array
US10387299B2 (en) 2016-07-20 2019-08-20 Micron Technology, Inc. Apparatuses and methods for transferring data
US10733089B2 (en) 2016-07-20 2020-08-04 Micron Technology, Inc. Apparatuses and methods for write address tracking
US9972367B2 (en) 2016-07-21 2018-05-15 Micron Technology, Inc. Shifting data in sensing circuitry
US9767864B1 (en) 2016-07-21 2017-09-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in a sensing circuitry element
US10303632B2 (en) 2016-07-26 2019-05-28 Micron Technology, Inc. Accessing status information
US10468087B2 (en) 2016-07-28 2019-11-05 Micron Technology, Inc. Apparatuses and methods for operations in a self-refresh state
US9990181B2 (en) 2016-08-03 2018-06-05 Micron Technology, Inc. Apparatuses and methods for random number generation
US11029951B2 (en) 2016-08-15 2021-06-08 Micron Technology, Inc. Smallest or largest value element determination
US10606587B2 (en) 2016-08-24 2020-03-31 Micron Technology, Inc. Apparatus and methods related to microcode instructions indicating instruction types
US10466928B2 (en) 2016-09-15 2019-11-05 Micron Technology, Inc. Updating a register in memory
US10387058B2 (en) 2016-09-29 2019-08-20 Micron Technology, Inc. Apparatuses and methods to change data category values
US10014034B2 (en) 2016-10-06 2018-07-03 Micron Technology, Inc. Shifting data in sensing circuitry
US10529409B2 (en) 2016-10-13 2020-01-07 Micron Technology, Inc. Apparatuses and methods to perform logical operations using sensing circuitry
US9805772B1 (en) 2016-10-20 2017-10-31 Micron Technology, Inc. Apparatuses and methods to selectively perform logical operations
US10255184B2 (en) * 2016-11-07 2019-04-09 International Business Machines Corporation Memory access architecture with coherence
US10373666B2 (en) 2016-11-08 2019-08-06 Micron Technology, Inc. Apparatuses and methods for compute components formed over an array of memory cells
US10423353B2 (en) 2016-11-11 2019-09-24 Micron Technology, Inc. Apparatuses and methods for memory alignment
US9761300B1 (en) 2016-11-22 2017-09-12 Micron Technology, Inc. Data shift apparatuses and methods
KR101853210B1 (ko) 2016-12-22 2018-04-27 한양대학교 산학협력단 하이브리드 메모리 큐브를 위한 링크 선택 방법 및 장치
US11397687B2 (en) * 2017-01-25 2022-07-26 Samsung Electronics Co., Ltd. Flash-integrated high bandwidth memory appliance
US10402340B2 (en) 2017-02-21 2019-09-03 Micron Technology, Inc. Memory array page table walk
US10403352B2 (en) 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10268389B2 (en) 2017-02-22 2019-04-23 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10838899B2 (en) 2017-03-21 2020-11-17 Micron Technology, Inc. Apparatuses and methods for in-memory data switching networks
US11222260B2 (en) 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
US10185674B2 (en) 2017-03-22 2019-01-22 Micron Technology, Inc. Apparatus and methods for in data path compute operations
US10049721B1 (en) 2017-03-27 2018-08-14 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10043570B1 (en) 2017-04-17 2018-08-07 Micron Technology, Inc. Signed element compare in memory
US10147467B2 (en) 2017-04-17 2018-12-04 Micron Technology, Inc. Element value comparison in memory
US9997212B1 (en) 2017-04-24 2018-06-12 Micron Technology, Inc. Accessing data in memory
US10942843B2 (en) 2017-04-25 2021-03-09 Micron Technology, Inc. Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes
US10236038B2 (en) 2017-05-15 2019-03-19 Micron Technology, Inc. Bank to bank data transfer
US10068664B1 (en) 2017-05-19 2018-09-04 Micron Technology, Inc. Column repair in memory
US10013197B1 (en) 2017-06-01 2018-07-03 Micron Technology, Inc. Shift skip
US10262701B2 (en) 2017-06-07 2019-04-16 Micron Technology, Inc. Data transfer between subarrays in memory
US10152271B1 (en) 2017-06-07 2018-12-11 Micron Technology, Inc. Data replication
US10318168B2 (en) 2017-06-19 2019-06-11 Micron Technology, Inc. Apparatuses and methods for simultaneous in data path compute operations
US10845866B2 (en) * 2017-06-22 2020-11-24 Micron Technology, Inc. Non-volatile memory system or sub-system
US10162005B1 (en) 2017-08-09 2018-12-25 Micron Technology, Inc. Scan chain operations
US10534553B2 (en) 2017-08-30 2020-01-14 Micron Technology, Inc. Memory array accessibility
US10346092B2 (en) 2017-08-31 2019-07-09 Micron Technology, Inc. Apparatuses and methods for in-memory operations using timing circuitry
US10741239B2 (en) 2017-08-31 2020-08-11 Micron Technology, Inc. Processing in memory device including a row address strobe manager
US10416927B2 (en) 2017-08-31 2019-09-17 Micron Technology, Inc. Processing in memory
KR102395463B1 (ko) * 2017-09-27 2022-05-09 삼성전자주식회사 적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법
US10409739B2 (en) 2017-10-24 2019-09-10 Micron Technology, Inc. Command selection policy
US10522210B2 (en) 2017-12-14 2019-12-31 Micron Technology, Inc. Apparatuses and methods for subarray addressing
US10332586B1 (en) 2017-12-19 2019-06-25 Micron Technology, Inc. Apparatuses and methods for subrow addressing
US10614875B2 (en) 2018-01-30 2020-04-07 Micron Technology, Inc. Logical operations using memory cells
US11194477B2 (en) 2018-01-31 2021-12-07 Micron Technology, Inc. Determination of a match between data values stored by three or more arrays
US10437557B2 (en) 2018-01-31 2019-10-08 Micron Technology, Inc. Determination of a match between data values stored by several arrays
US11416395B2 (en) 2018-02-05 2022-08-16 Micron Technology, Inc. Memory virtualization for accessing heterogeneous memory components
US11099789B2 (en) 2018-02-05 2021-08-24 Micron Technology, Inc. Remote direct memory access in multi-tier memory systems
US10782908B2 (en) 2018-02-05 2020-09-22 Micron Technology, Inc. Predictive data orchestration in multi-tier memory systems
US20190243787A1 (en) * 2018-02-05 2019-08-08 Micron Technology, Inc. Memory Systems having Controllers Embedded in Packages of Integrated Circuit Memory
KR102504332B1 (ko) * 2018-02-21 2023-02-28 삼성전자주식회사 서로 이격되어 배치되는 범프 어레이들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치
US10725696B2 (en) 2018-04-12 2020-07-28 Micron Technology, Inc. Command selection policy with read priority
JP6991446B2 (ja) * 2018-05-18 2022-01-12 日本電信電話株式会社 パケット処理装置及びそのメモリアクセス制御方法
US10440341B1 (en) 2018-06-07 2019-10-08 Micron Technology, Inc. Image processor formed in an array of memory cells
US10977198B2 (en) * 2018-09-12 2021-04-13 Micron Technology, Inc. Hybrid memory system interface
US11175915B2 (en) 2018-10-10 2021-11-16 Micron Technology, Inc. Vector registers implemented in memory
US10769071B2 (en) 2018-10-10 2020-09-08 Micron Technology, Inc. Coherent memory access
US10483978B1 (en) 2018-10-16 2019-11-19 Micron Technology, Inc. Memory device processing
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
US10852949B2 (en) 2019-04-15 2020-12-01 Micron Technology, Inc. Predictive data pre-fetching in a data storage device
US12118056B2 (en) 2019-05-03 2024-10-15 Micron Technology, Inc. Methods and apparatus for performing matrix transformations within a memory array
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
US11360768B2 (en) 2019-08-14 2022-06-14 Micron Technolgy, Inc. Bit string operations in memory
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
US11227641B1 (en) 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory
US11360906B2 (en) 2020-08-14 2022-06-14 Alibaba Group Holding Limited Inter-device processing system with cache coherency
KR102477775B1 (ko) * 2020-09-28 2022-12-16 서울대학교산학협력단 서브 유닛을 갖는 가비지 컬렉션 장치 및 이를 포함하는 메모리 시스템
CN114038490B (zh) * 2021-10-14 2023-07-04 西安紫光国芯半导体有限公司 基于三维异质集成的一致性链路存储芯片
US11966590B2 (en) 2022-02-25 2024-04-23 Samsung Electronics Co., Ltd. Persistent memory with cache coherent interconnect interface
US20240273040A1 (en) * 2023-02-09 2024-08-15 Advanced Micro Devices, Inc. Multi-Stack Compute Chip and Memory Architecture

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415364B1 (en) * 1997-12-31 2002-07-02 Unisys Corporation High-speed memory storage unit for a multiprocessor system having integrated directory and data storage subsystems
US6944719B2 (en) * 2002-05-15 2005-09-13 Broadcom Corp. Scalable cache coherent distributed shared memory processing system
US6792512B2 (en) 2002-08-06 2004-09-14 International Business Machines Corporation Method and system for organizing coherence directories in shared memory systems
US6934814B2 (en) * 2002-11-05 2005-08-23 Newisys, Inc. Cache coherence directory eviction mechanisms in multiprocessor systems which maintain transaction ordering
JP4119380B2 (ja) * 2004-02-19 2008-07-16 株式会社日立製作所 マルチプロセッサシステム
US20060129709A1 (en) * 2004-12-09 2006-06-15 International Business Machines Corporation Multipurpose scalable server communication link
JP4572169B2 (ja) * 2006-01-26 2010-10-27 エヌイーシーコンピュータテクノ株式会社 マルチプロセッサシステム及びその動作方法
JP5021978B2 (ja) 2006-08-11 2012-09-12 エヌイーシーコンピュータテクノ株式会社 マルチプロセッサシステム及びその動作方法
US7477535B2 (en) * 2006-10-05 2009-01-13 Nokia Corporation 3D chip arrangement including memory manager
JP4967087B2 (ja) 2007-11-01 2012-07-04 エヌイーシーコンピュータテクノ株式会社 ノードコントローラ、分散共有メモリ型情報処理装置、キャッシュコヒーレンシ制御方法
US7929368B2 (en) * 2008-12-30 2011-04-19 Micron Technology, Inc. Variable memory refresh devices and methods
WO2012061633A2 (en) 2010-11-03 2012-05-10 Netlist, Inc. Method and apparatus for optimizing driver load in a memory package
JP5505516B2 (ja) 2010-12-06 2014-05-28 富士通株式会社 情報処理システムおよび情報送信方法
US20130073811A1 (en) 2011-09-16 2013-03-21 Advanced Micro Devices, Inc. Region privatization in directory-based cache coherence
US9153520B2 (en) * 2011-11-14 2015-10-06 Micron Technology, Inc. Stacked semiconductor die assemblies with multiple thermal paths and associated systems and methods
US9753858B2 (en) * 2011-11-30 2017-09-05 Advanced Micro Devices, Inc. DRAM cache with tags and data jointly stored in physical rows
US9495308B2 (en) 2012-05-22 2016-11-15 Xockets, Inc. Offloading of computation for rack level servers and corresponding methods and systems
US9170948B2 (en) * 2012-12-23 2015-10-27 Advanced Micro Devices, Inc. Cache coherency using die-stacked memory device with logic die
US8856256B1 (en) * 2013-03-13 2014-10-07 CoralTree Inc. System and method for file sharing and updating
KR20150132099A (ko) * 2013-03-20 2015-11-25 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 서로 다른 계층 레벨의 메모리 노드를 가진 메모리 시스템에서의 데이터 캐싱
US9952975B2 (en) * 2013-04-30 2018-04-24 Hewlett Packard Enterprise Development Lp Memory network to route memory traffic and I/O traffic
US10838865B2 (en) 2014-05-08 2020-11-17 Micron Technology, Inc. Stacked memory device system interconnect directory-based cache coherence methodology

Also Published As

Publication number Publication date
EP3140743A4 (en) 2018-01-10
US10838865B2 (en) 2020-11-17
JP2017515239A (ja) 2017-06-08
TW201612755A (en) 2016-04-01
KR20170002586A (ko) 2017-01-06
JP6637906B2 (ja) 2020-01-29
US11741012B2 (en) 2023-08-29
EP3140743B1 (en) 2021-11-24
KR102068101B1 (ko) 2020-01-20
US20150324290A1 (en) 2015-11-12
CN106462501B (zh) 2019-07-09
US20210034524A1 (en) 2021-02-04
JP2020021495A (ja) 2020-02-06
TWI687810B (zh) 2020-03-11
EP3140743A1 (en) 2017-03-15
CN106462501A (zh) 2017-02-22
WO2015171914A1 (en) 2015-11-12

Similar Documents

Publication Publication Date Title
JP6953488B2 (ja) ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法
US11908546B2 (en) In-memory lightweight memory coherence protocol
JP7160682B2 (ja) メモリにおける処理のためのキャッシュコヒーレンス
JP5005631B2 (ja) 複数のコアキャッシュ・クラスタ間の包括的共有キャッシュの提供
US20160092362A1 (en) Memory network to route memory traffic and i/o traffic
US10592419B2 (en) Memory system
US9990143B2 (en) Memory system
CN115443453A (zh) 用于减少传输延迟的链路关联
US20170109070A1 (en) Memory system
US6775742B2 (en) Memory device storing data and directory information thereon, and method for providing the directory information and the data in the memory device
JP4774099B2 (ja) 演算処理装置、情報処理装置及び演算処理装置の制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191017

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191017

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210219

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20210219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210929

R150 Certificate of patent or registration of utility model

Ref document number: 6953488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150