JP2019053726A - 高帯域メモリシステム - Google Patents
高帯域メモリシステム Download PDFInfo
- Publication number
- JP2019053726A JP2019053726A JP2018158187A JP2018158187A JP2019053726A JP 2019053726 A JP2019053726 A JP 2019053726A JP 2018158187 A JP2018158187 A JP 2018158187A JP 2018158187 A JP2018158187 A JP 2018158187A JP 2019053726 A JP2019053726 A JP 2019053726A
- Authority
- JP
- Japan
- Prior art keywords
- pim
- hbm
- host device
- command
- word
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1615—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System (AREA)
- Bus Control (AREA)
- Dram (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
プロセシングインメモリ(Processing In Memory:PIM)は、DRAMロジックダイ(logic dies)の複雑な作業をスケジューリングして、低電力技術プロセスでデータが配置されている場所のより近くに付加的なコンピューティング機能を提供することによって、上記のような問題を解決する能力を備えている。
従って、本発明の全体にわたって「実施形態」、「一実施例において」又は「実施例において」又は「一実施例によって」(又は類似の輸入物を有する他の句)という表現は、全てが必ずしも同一の実施例を示すことではない。
なお、特定のフィーチャー(feature)、構造又は特性は、一つ以上の実施例において任意の適した方式に接続されている。
これと関連して、本明細書に使用するように、「例示的な」という単語は、「例示、実例又は例示を提供する」というのを意味する。
「例示的な」ものとして本明細書に記載された任意の実施例は、必ずしも他の実施例より好ましいか、且つ、有利なものと解釈されてはならない。
また、ここで論議の文脈によって、単数は対応する複数の形態を含むことができ、複数の用語は相応する単数の形態を含む。
本明細書に示し論議する多様な図面(構成要素も含む)は、ただ例示的な目的のためのものであり、一定の比率で描かれるものではない。
同様に、多様な波形及びタイミング図が、ただ例示的な目的のために示される。
例えば、一部要素の寸法は、明確性のために他の要素に比して誇張され得る。なお、適切なものと考慮される場合、参照符号は、相応する及び/又は類似の要素を示すために図面の間で繰り返された。
本願において使用した単数の形態は、文脈上、別に指示しない限り、複数の形態を含み得る。
本明細書において使用する「〜含む。」及び/又は「含む〜」という用語は、明示された特徴、整数、段階、動作、構成要素及び/又は構成要素の存在を示すが、存在を排除しないというのがもっと理解されるはずである。
又は、一つ以上の他の特徴、整数、段階、動作、要素、構成要素及び/又はグループの追加を含むことができる。ここに使用された「第一番目」、「第二番目」などの用語は、前に明示された名詞のラベルとして使用され、明示的に定義されない限り、全ての類型の順序(例:空間的、時間的、論理的など)を暗示しない。
なお、同一且つ同様の機能を有する部品(parts)、コンポーネント(components)、ブロック、回路、ユニット又はモジュールを示すために二つ以上の図面にわたって同一の参照番号が使用され得る。
しかしながら、このような使用法は、説明の簡素化及び論議の容易さのためだけに使用される。このような構成要素又はユニットの構成又は構造的細部事項が、全ての実施例にわたって同一であるというのを意味しないか、又は共通して参照された部品/モジュールが、本明細書に開示された特徴の実施例の教示を具現する唯一の方法であるのを意味しない。
なお、一般的に使用される辞書にて定義された用語のような一の用語は、関連技術の脈絡における意味と一致する意味を有するものと解釈されるべきであり、理想的な又は過度に形式的な意味として解釈されない限り、明示的にここに定義される。
すなわち、本明細書に開示した主題は、((High−Bandwidth Memory)HBM+システムとホスト装置との間のインターフェースとして、決定性の遅延((deterministic latency)及び非決定性の遅延(non−deterministic latency)を全て含むので、従って、準同期式(quasi−synchronous)インターフェースプロトコルである。
本明細書に開示した準同期プロトコルを介する通信は、一つ以上のクロック信号と同期化され得るが、PIM動作(演算)のような特定の動作と関連した特定の遅延は、完了のための決定性の遅延又は非決定性の遅延を有する。
決定性の遅延を提供できるPIM動作は、1段階HBM+プロトコルを使用して遂行するが、非決定性の遅延を提供できるPIM動作は、2段階HBM+プロトコルを使用して遂行する。
HBM+システム100は、ホスト装置101、インターポーザー(interposer)102、及びHBM+スタック(stack)103を含む。
HBM+スタック103は、論理回路又はダイ(die)104及び複数のHBM+メモリ装置(105a〜105d)を含む。
ホスト装置101及びHBM+スタック103は、インターポーザー102の上部表面に固定される。
HBM+メモリ装置(105a〜105d)は、チャンネル当たり、16個のバンクが有り得る二つのチャンネルに分割され得る。
HBM+メモリ装置に提供されるPIM機能は、ホスト装置101によってより効率的に提供される。
ロジックダイ104は、HBM+メモリ装置105内のPIM機能を制御するためのロジック機能を含むことができる。
HBM+内部バス111は、ロジックダイ104をHBM+メモリ装置105のそれぞれに接続させる。
HBM+内部バス111は、複数のアドレスライン、複数の命令語ライン、複数のデータライン及び/又は一つ以上の他の信号線を含むことができる。
たとえば、4個のHBM+メモリ装置105が、HBM+スタック103として示しているが、任意の数のHBM+メモリ装置105が、HBM+スタック103を形成できるのはよく理解されるはずである。
たとえば、HBM+システム100の一部のみを図1に示しているが、インターポーザー102の上部表面に取り付けられることができる追加的なHBM+スタック103が有り得るのを理解されるべきである。
基板106は、他の装置(図示せず)との電気的接続を提供するのに使用される端子107を含むことができる。
インターポーザー102は、ホスト装置101及びHBM+スタック103に対する構造的ベースを提供する以外、ホスト装置101とHBM+スタック103との間の電気的接続を提供する。
一実施形態において、インターポーザー102は、ホスト装置101とHBM+スタック103との間を電気的に接続する命令語/アドレス(command/address:以下、CA)バス108、データバス109、及びトランザクションバス110を含む。
インターポーザー102は、また、図に示さない追加的な電気的接続を含むことができる。
一実施形態において、トランザクションバス110は、トランザクション応答信号(RSP_R)及びトランザクションエラー信号(RSP_E)を含むことができる。
CAバス108、データバス109、及びトランザクションバス110は、HBM+システム100内において同期型方式で動作し得る。
即ち、CAバス108、データバス109、及びトランザクションバス110は、一つ以上のクロック信号と同期して動作する。
HBM+システム100は、また、命令語又はトランザクションの発行と応答の出力との間のタイミング、例えば、ホスト装置101とHBM+スタック103の正規データ格納機能及び/又はPIM機能に基づくか、又はHBM+スタック103が他の命令語又はトランザクションを準備する時、非決定性であり得る。
本明細書において使用される用語の「準同期インターフェース(quasi−synchronous interface)」は、決定性の通信及び非決定性の通信又はトランザクションが経て通過するインターフェースを意味する。
即ち、命令語の発行と応答の出力との間の時間又は遅延は、決定性であるから、ホスト装置101は、命令語の発行と応答の出力との間に他の動作を遂行し得る。
代案として、ホスト装置101は、決定性の遅延の後で、正規(レギュラー)トランザクションを再開するようにスケジューリングされ得る。
一般的に簡単なPIM動作には、一つ又は二つのソース及び/又は対象アドレスが含まれ、ストライド媒介変数は含まれない。
コマンドの発行と応答の出力との間の時間又は遅延は非決定性であるから、ホスト装置101は、命令語の発行と応答の出力との間、又は命令語の発行とHBM+スタック103が他の命令語又はトランザクションを受信する準備ができた時との間に他の動作を遂行し得る。
後段に示す表2は、HBM_+PIM命令語のカテゴリ及びタイミング推定の例を示すものである。
タイミング図200は、スケーリングされず、ただ例示的なPIM命令語に対する1段階(one−step)HBM+プロトコルの相対的なシーケンスを描写するためのものであるのを理解すべきである。
タイミング図200は、一般的に特定のバスの単方向性又は両方向性を示すために、異なるバスと関連された矢印を含む。
特に、左側から右側へ向ける矢印は、ホスト装置101からHBM+スタック103に伝送された通信、トランザクション、又は信号を示す反面、右側から左側へ向ける矢印は、HBM+スタック103からホスト装置101に伝送された通信、トランザクション、又は信号を示す。
ここに開示した全てのタイミング図において、HBM+内部バス111を介して発生するものとして示したトランザクション及び動作は、HBM+スタック103の外部の装置では見られない。
「PIM_CHRG」命令語は、発行される「PIM_CMD」に対するバンク及びチャンネル識別情報を含む。
ロジックダイ104は、「PIM_CHRG」命令語に応答して、一つ以上の選択されたチャンネルの関連バンクをプリチャージし、ホスト装置101と後続する「PIM_CMD」に対する関連バンクの所有権を保障するために一つ以上の選択されたチャンネルの関連バンクをロックする。
「PIM_CHRG命令語」の直ぐ次に、ホスト装置101は、202においてCAバス108を介して「PIM_WR」命令語を発行する。
下記に示す表1は、「PIM_CHRG」命令語及び「PIM_WR」命令語に対する例示的な物理的信号パラメータを示す。
「H」は高い論理電圧レベルを表し、「L」は低い論理電圧レベルを表す。「X」は「相関なし(don’t care)」の論理電圧レベルを表す。
「PIM_CMD」は、実際、PIM命令語を含み、CAバス108を介して伝送されるものとは対照的にデータバス109を介して伝送される。
ロジックダイ104は、「PIM_CMD」をデコーディングし、「PIM_CMD」命令に含まれたPIM動作を完了するために、HBM+スタック103内部のコマンドを発行する。
一実施形態において、全てのPIM命令語が「PIM_CMD」の全てのフィールドを使用し得るのではないが、「PIM_CMD」は固定された大きさ又は長さを有する。
一実施形態において、IDフィールド301は3ビットを含むことができ、動作フィールド302は3ビットを含むことができる。
ストライドフィールド303は16ビットを含むことができる。
フラッグフィールド304は2ビットを含むことができ、範囲フィールド305は32ビットを含むことができる。
値フィールド306は64ビットを含むことができる。
番号フィールド307は8ビットを含むことができる。
ソースアドレス1フィールド308は32ビットを含むことができ、ソースアドレス2フィールド309は32ビットを含むことができる。
目的地アドレス1フィールド310は32ビットを含むことができ、目的地アドレス2フィールド311は32ビットを含むことができる。
その他、追加フィールド及び/又はフィールド配列及び/又はフィールドの大きさが追加され得る。
一実施形態において、データバス109に示される「PIM_CMD」命令語は、CAバス108上に示される「PIM_WR」命令語に後続する。
他の実施形態において、データバス109上に示される「PIM_CMD」命令語は、CAバス108上に示される「PIM_WR」命令語と少なくとも部分的に同時に有り得る。
この例において、PIM動作「OP」は、205において遂行される。
PIM動作の結果は、206においてロジックダイ104により伝送された「DST_WR」命令語を使用して目的地アドレスに記録される。
207において、PIM動作は完了され、HBM+スタック103は、ホスト装置101から追加の正規動作、PIM動作及び/又は他のトランザクションを受信する準備ができる。
即ち、タイミング(tPIM_WR)は、HBM+スタック103内の同一のチャンネル/バンクにホスト装置101によって新しい命令語又はトランザクションが発行される前に、最小時間と見なすことができる。
1段階HBM+プロトコルのタイミングが決定性の属性であるのを示すために、図2に示した多様な命令語、トランザクション、及び応答の間の矢印が実線矢印で指示されている。
なお、図5及び図7は、それぞれ互いに異なる決定性のタイミングシナリオに対するタイミング図を示す。
タイミング図400は、スケーリングされず、例示的なPIM命令語に対する2段階HBM+プロトコルの相対的なシーケンスを描写するためのものであるのを理解すべきである。
図2のタイミング図200と同様に、図4に示すように、タイミング図400は、一般的に特定のバスの単方向又は両方向の特性を示すために異なるバスと関連された矢印を含む。
1段階HBM+プロトコルと同様に、「PIM_CHRG」命令語はバンクを含み、「PIM_CMD」に対するチャンネル識別情報が直ぐに発行される。
「PIM_CHRG」命令語に応答して、ロジックダイ104は、一つ以上の選択されたチャンネルで関連バンクをプリチャージし、ホスト装置101に対するHBM+スタック103の所有権を保証するように全体のHBM+スタック103をロックする。
「PIM_CHRG」命令語(図示せず)の直後に、401においてホスト装置101は、CAバス108を介して「PIM_WR」命令語を発行する。
402においてホスト装置101は、データバス109上に「PIM_CMD」を発行する。
PIM動作「OP」は404において遂行される。
PIM動作の結果は、405において「DST_WR」命令語を使用して目的地アドレスに記録される。
図4に示した例示的なタイミングに対し、406においてロジックダイ104は、トランザクションバス110を介して判読準備命令語(RD_RDY)をホスト装置101に伝送する。
408において、ロジックダイ104は、リードデータ(RD_DATA)をデータバス109を介して出力し、409においてホスト装置101は、正規動作及びトランザクションをもたらすことができる。
一部の2段階HBM+プロトコルPIM命令語に対し、判読準備命令語(RD_RDY)をホスト装置101に伝送する代わりに、ホスト装置101が中間に他の作業をスケジュールするために、ロジックダイ104はPIM動作がいつ完了され得るかに対する指示(indication)をホスト装置101に伝達する。
そのような指示を伝送するロジックダイ104のいくつかの例示的なシナリオは、図8及び図10で説明する。
なぜなら、PIM動作「OP」は、一般的に2段階HBM+プロトコルに対してより複雑であり、不確定な量の時間、PIM動作に依存する。
例えば、「100×100」行列で実行される行列転置PIM演算(動作)は、PIM転置演算が二つの場合、全てが同一の演算であるが、「10×10」行列に対して同一の行列転置PIM演算(動作)より長くかかる可能性がある。
2段階HBM+動作と関連したタイミングが一般的に非決定性であることを示すために、図4の命令語と応答との間に表示した矢印中の一部が太い点線矢印で示される。
非決定性の特性は、また、
404におけるPIM動作の「OP」と405における「DST_WR」応答との間の濃い点線矢印によっても示される。
例えば、図5は、本発明の一実施形態によるPIM動作が単一のアドレスに指向したり、HBM+装置において同一の行に指向したりする例示的な1段階HBM+プロトコルPIM命令語に対するタイミング図である。
タイミング図500は、スケーリングされず、単一のアドレスに指向したり、HBM+内の同一の行に指向したりする、例示的なPIM動作に対する1段階HBM+プロトコルの相対的なシーケンスを描写するためのものであるのを理解すべきである。
「PIM_CHRG」命令語は、直ぐに発行される「PIM_CMD」に対するバンク及びチャンネル識別情報を含む。
「PIM_CHRG」命令語に応答して、ロジックダイ104は一つ以上の選択されたチャンネルに関連バンクをプリチャージし、PIM動作中、ホスト装置101に対する所有権を保障するために一つ以上の選択されたチャンネルに関連バンクを固定する。
「PIM_CHRG」命令語の直ぐ次に、ホスト装置101は、502においてCAバス108を介して「PIM_WR」命令語を発行する。
この実施形態において、「PIM_CMD」がHBM+装置105でメモリロケーション(memory location)の値を増加させる命令であると見なす。
「PIM_WR」命令語と「PIM_CMD」命令語との間の時間遅延は、(tWL)であり、これは、「PIM_WR」命令語を送信し、「PIM_CMD」命令語を送信する間に待機しなければならないライト時間の遅延である。
「PIM_CMD」命令語は、DDR(Double Data Rate)HBMメモリ装置に対し、(tBL/2)のバースト長さの遅延を使用する。
選択された行に対する活性化遅延は(tRCD)である。
505において、ロジックダイ104は、選択されたソースデータをロードするためにリード命令語「RD」を発行する。
経路520に沿って選択されたデータをリードするための遅延は(tRL)である。
506において、選択されたソースデータは、(tBL/2)の遅延で判読される(「RD_Data」)。
507において、PIM動作「IOP」は(tIOP)の遅延で遂行される。
この例において、PIM動作「IOP」は、相対的に複雑ではないPIM動作であるHBM+装置104内のメモリロケーションの値を増加させるのである。
ライト命令語「WR」と関連された遅延は(tWL)である。
一実施形態において、ロジックダイ104は、509において、結果データを記録する(「WR_Data」)ためのタイミングが正確であるように、508でのライト命令語「WR」を伝送するための適切な時間を決定する。
再びメモリに記録した結果の復旧時間遅延は(tWR)である。
510において、ロジックダイ104は結果が記録された行に対するプリチャージ命令語「PRE」を発行し、511においてホスト装置101が追加トランザクション及び/又は命令語をHBM+スタック103に発行する前に(tRP)のプリチャージ遅延が続く。
経路520の遅延は(tRL+tBL/2+tIOP)である一方、経路530の遅延は(tRTW+tWL)である。
特に、図6は、本発明の一実施形態によるPIM動作が同一のチャンネルのバンク内にある例示的な1段階HBM+プロトコルPIM命令語に対するタイミング図である。
タイミング図600は、同一にスケーリングされたのではなく、ただ同一のチャンネルのバンクに向ける例示的なPIM動作に対する1段階HBM+プロトコルの相対的なシーケンスを示すためのものであるのを理解すべきである。
「PIM_CHRG」命令語は、直ぐに発行される「PIM_CMD」に対するバンク及びチャネル識別情報を含む。
「PIM_CHRG」命令語に応答して、ロジックダイ104は、一つ以上の選択されたチャンネルに関連バンクをプリチャージし、PIM動作中、ホスト装置101に対する所有権を保障するために一つ以上の選択されたチャンネルに関連バンクを固定する。
603において、ホスト装置101は、データバス109を介して「PIM_CMD」を伝送する。
この実施形態において、「PIM_CMD」は、メモリロケーションBを、ロケーションA及びBがHBM+装置105内の同一のチャンネル内のバンク内にあるメモリロケーションAと等しくなるように設定する命令語であると見なす。
「PIM_WR」命令語と「PIM_CMD」命令語との間のライト時間遅延は(twl)である。
「PIM_WR」命令語は、DDR HBMメモリ装置に対して(tBL/2)のバースト遅延を使用する。
ロジックダイ104が「PIM_CMD」をデコーディングし、604において「ACT1」命令語を発行するための伝播遅延は(tPD)である。
「ACT1」命令語の発行と「ACT2」命令語の発行との間の遅延は、(tRRD)又は(tRC)である。
PIM動作が、二つの互いに異なるバンクの間で進行される場合、遅延は(一般的に)(tRRD)となる。
(ソースと目的地アドレスが同一のバンクグループ内にある二つの互いに異なるバンクの間にあると、遅延は(tRRDL)となるはずであるが、ソースと目的地アドレスが他のバンクにある二つの異なるバンクにあると、遅延は(tRRDF)である。)
PIM動作が同一のバンク内にあると、遅延は(tRC)となる。
この並列経路620において、ロジックダイ104が、606においてライト命令語「WR2」を発行する前に(tRCD)の遅延が存在し、(tWL)のライト命令語「WR2」に後続する遅延がまた存在するはずである。
活性化命令語「ACT1」の以後、及びリード命令語「RD1」の以前に(tRCD)の遅延がある。
リード命令語「RD1」が発行された時間と608でのリードデータ「RD_DATA」の動作との間には、(tRL)の遅延がある。
データは、608において(tBL/2)のバースト長さの遅延で読み出される。
609において、PIM動作「IOP」は、(tIOP)の遅延で実行される。
611において、ライト命令語「WR2」に応答して、PIM動作「IOP」の結果は(tBL/2)の遅延でメモリに再び記録される(「WR_Data」)。
再びメモリに記録した結果の復旧時間は(tWR)である。
612において、ロジックダイ104は、結果を復旧するために記録された行に対するプリチャージ命令語「PRE2」を発行し、613において、ホスト装置101がHBM+スタック103に追加トランザクション及び/又は命令語を発行する前に(tRP)の遅延が続く。
経路620の遅延は(tRCD+tBL/2+tIOP)である一方、経路630の遅延は(tRRD+tRCD+tWL)である。
特に、図7は、本発明の一実施形態によるPIM動作が異なるチャンネルを介して行われる例示的な1段階HBM+プロトコルPIM命令語に対するタイミング図である。
タイミング図700はスケーリングされず、異なるチャンネルにかけた例示的なPIM動作に対する1段階HBM+プロトコルの相対的なシーケンスを示すためのものであるのを理解すべきである。
「PIM_CHRG」命令語は、直ぐに発行される「PIM_CMD」に対するバンク及びチャネル識別情報を含む。
「PIM_CHRG」命令語に応答して、ロジックダイ104は、一つ以上の選択されたチャンネルに関連バンクをプリチャージし、一つ以上の選択されたチャンネルに関連バンクを固定して、PIM動作中、ホスト装置101に対する関連バンクの所有権を保証する。
703において、ホスト装置101はデータバス109を介して「PIM_CMD」を伝送する。
「PIM_WR」命令語と「PIM_CMD」命令語との間の時間遅延は(tWL)であり、これは、「PIM_WR」命令語を送り、「PIM_CMD」命令語を送る間に待機しなければならない時間である。
「PIM_CD」命令語は、DDR HBMメモリ装置に対して(tBL/2)のバースト長さの遅延を有する。
704において、ロジックダイ104が「PIM_CMD」をデコーディングし、「ACT1」命令語を発行する時間の遅延は(tPD)である。
遅延(tRCD)後に、ロジックダイ104は、705においてリード命令語「RD1」を発行する。
707において、PIM動作「IOP」は、(tIOP)の遅延で実行される。
PIM動作「IOP」から生成されたデータを記録するため、ロジックダイ104が708においてプリチャージ命令語「PRE1」を発行するために、705においてリード命令語「RD1」の以降、遅延(tRTW−tRCD)が存在する。
PIM動作が、異なるチャンネルにかけて実行される状況において、ロジックダイ104が活性化命令語「ACT2」を発行する時に制約はない。
ロジックダイ104が、710においてライト命令語「WR2」を発行する前に(tRCD)の遅延が存在する。
711において、データは(tBL/2)のバースト長さの遅延で記録される(「WR_Data」)。
ロジックダイ104が、712において復旧のために結果を記録した行に対し、プリチャージ命令語「PRE2」を発行する前に(tWR)の遅延があり、713においてホスト装置101が、追加トランザクション及び/又は命令語をHBM+スタック103に発行する前に(tRP)の遅延が続く。
従って、一部の2段階HBM+プロトコルPIM命令語は、クライアントベースの命令語スケジューリングプロトコルを提供するものと見なすことができ、HBM+スタックは、2段階HBM+プロトコルPIM命令語の内の一部の非決定性の特徴を説明するためにPIM命令語がいつ完了するかの指示(indication)を提供することができる。
これに関連して、ロジックダイ104は、複雑なPIM命令語が完了する時間をホスト装置101に示す指示を提供することができる。
他の実施形態において、有効時間の指示は、信用ベースの値を含むことができる。
さらに他の実施形態において、有効時間の指示は、PIM動作が完了したか否かを見るために、ホスト装置101にHBM+スタックをいつポーリングするかに対する指示が与えられる再試行ベースのフィードバックを含むことができる。
ホスト装置101に提供されるPIM命令語が完了する時間に対する指示は、自動ログの内容、履歴統計情報、計算された推定値、進行中のトラフィック及び/又は最大PIM作業範囲などに基づいたり、これらから予測したりすることができるが、本発明は、これらに限定されるものではない。
その代わりに、図8〜図10に示す2段階HBM+プロトコルPIM命令語は、CAバス108、データバス109、及びHBM+内部バス111を利用して、PIM命令語が完了する有効時間の指示をホスト装置101に提供する。
タイミング図800は、スケーリングされず、ただ例示的なPIM動作が完了する時のための推定値をHBM+スタックが提供する場合に対する、2段階HBM+プロトコルの相対的なシーケンスを描写するためのものであるのを理解すべきである。
「PIM_CHRG」命令語は、直ぐに発行される「PIM_CMD」に対するバンク及びチャンネル識別情報を含む。
「PIM_CHRG」命令語に応答して、ロジックダイ104は一つ以上の選択されたチャンネル内の関連バンクをプリチャージし、PIM動作中、ホスト装置101にHBM+スタックの所有権を保障するようにHBM+スタック103を固定する。
「PIM_CHRG」命令語の直ぐ次に、ホスト装置101は、802においてCAバス108を介して「PIM_WR」命令語を発行する。
ホスト装置101は、803においてデータバス109を介して「PIM_CMD」を伝送する。
「PIM_WR」命令語と「PIM_CMD」命令語との間の遅延は、(tWL)である。
「PIM_CMD」命令語は、DDR HBMメモリ装置に対して(tBL/2)バースト長さの遅延を使用する。
804において、ロジックダイ104が「PIM_CMD」をデコーディングし、「ACT1」命令語を発行する時間の遅延は(tPD)である。
遅延(tRCD)の後に、ロジックダイ104は、805においてリード命令語「RD1」を発行する。
806において、(tBL/2)のバースト長さの遅延を有する「RD_Data」でデータが判読される前に(tRL)の遅延が存在する。
PIM動作「IOP」は、(tIOP)の遅延で807において実行される。
しかし、PIM動作「IOP」が複雑であるから、PIM動作「IOP」と関連した遅延は非決定性である。
PIM動作「IOP」の結果は、810において、ライト命令語「WR」の発行後、(tWL)の遅延後にメモリに記録される(「WR_Data」)。
811において、ロジックダイ104は、(tWR)の遅延後にプリチャージ命令語「PRE」を発行する。
ホスト装置101が、812において、HBM+スタック103に追加トランザクション及び/又は命令語を発行する前に(tRP)の遅延が続く。
807でのPIM動作「IOP」の非決定性の遅延を説明するために、ホスト装置101は、813においてCAバス108を介して「PIM_RD」命令語を発行する。
ロジックダイ104が、「PIM_EST」応答で814において応答する前に(tRL)の遅延があるはずである。
この実施形態において、「PIM_EST」応答は、807におけるPIM動作(IOP)が完了する時間を示す時間推定を含むことができる。
一実施形態において、時間の推定は、時間の単位である。
他の実施形態において、時間の推定は、クロックサイクルの単位からなる。
タイミング図900は、スケーリングされず、ただHBM+スタックが例示的なPIM動作が完了する時のための信用ベースの指示を提供する時の2段階HBM+プロトコルの相対的なシーケンスを描写するためのものであるのを理解すべきである。
「PIM_CHRG」命令語は、直ぐに発行される「PIM_CMD」に対するバンク及びチャンネル識別情報を含む。
「PIM_CHRG」命令語に応答して、ロジックダイ104は、一つ以上の選択されたチャンネル内の関連バンクをプリチャージし、PIM動作中、ホスト装置101にHBM+スタックの所有権を保障するようにHBM+スタック103を固定する。
「PIM_CHRG」命令語の直ぐ次に、902において、ホスト装置101は、CAバス108を介して「PIM_WR」命令語を発行する。
ホスト装置101は、903において、データバス109を介して「PIM_CMD」を伝送する。
「PIM_WR」命令語と「PIM_CMD」命令語との間の遅延は(tWL)である。
「PIM_CMD」命令語は、DDR HBMメモリ装置に対して(tBL/2)のバースト長さの遅延を使用する。
904において、ロジックダイ104が「PIM_CMD」をデコーディングし、「ACT1」命令語を発行する時間の遅延は(tPD)である。
遅延(tRCD)後に、ロジックダイ104は、905において、リード命令語「RD」を発行する。
906において、(tBL/2)のバースト長さの遅延を有する「RD_Data」でデータが判読される前に(tRL)の遅延が存在する。
PIM動作(IOP)は、(tIOP)の遅延で907において実行される。
しかし、PIM動作(演算)(IOP)が複雑であるから、PIM動作(演算)(IOP)と関連した遅延は非決定性である。
PIM動作「IOP」の結果は、909において(tWL)の遅延を有するライト命令語「WR」の発行後、メモリに記録される(「WR_Data」)。
910において、ロジックダイ104は、(tWR)の遅延を有するプリチャージ命令語「PRE」を発行する。
ホスト装置101が、911において、HBM+スタック103に追加トランザクション及び/又は命令語を発行する前に(tRP)の遅延が続く。
907において、PIM動作「IOP」の非決定性の遅延を説明するために、ホスト装置101は、912においてCAバス108を介して「PIM_RD」命令語を発行する。
ロジックダイ104が、「PIM_CRED」応答で913において応答する前に(tRL)の遅延があるはずである。
この実施形態において、「PIM_CRED」応答は、ホスト装置101がスロットリング(throttling)メカニズムとして使用し得る複数のクレジット(credits)に関する情報を含むことができる。
例えば、「PIM_CRED」応答が、ホスト装置101が「0」より大きな整数のクレジット(credits)を有することを示す場合、ホスト装置101は、クレジットが残っていないまでHBM+スタック103に命令語及び/又はトランザクションを発行し続けることができる。
タイミング図1000は、スケーリングされず、ただHBM+スタックが例示的なPIM動作が完了する時のためのフィードバックベースの指示を提供する場合に対する、2段階HBM+プロトコルの相対的なシーケンスを描写するためのものであるのを理解すべきである。
「PIM_CHRG」命令語は、直ぐに発行される「PIM_CMD」に対するバンク及びチャンネル識別情報を含む。
「PIM_CHRG」命令語に応答して、ロジックダイ104は、一つ以上の選択されたチャンネル内の関連バンクをプリチャージし、PIM動作中、ホスト装置101にHBM+スタックの所有権を保障するようにHBM+スタック103を固定する。
「PIM_CHRG」命令語の直ぐ次に、ホスト装置101は、1002においてCAバス108を介して「PIM_WR」命令語を発行する。
ホスト装置101は、1003において、データバス109を介して「PIM_CMD」を伝送する。
「PIM_WR」命令語と「PIM_CMD」命令語との間の時間の遅延は(tWL)である。
「PIM_CMD」命令語は、DDR HBMメモリ装置に対して(tBL/2)のバースト長さの遅延を使用する。
1004において、ロジックダイ104が、「PIM_CMD」をデコーディングし、「ACT」命令語を発行する時間の遅延は(tPD)である。
遅延(tRCD)の後に、ロジックダイ104は、1005においてリード命令語「RD」を発行する。
1006において、(tBL/2)のバースト長さの遅延を有する「RD_Data」でデータが読まれる前に(tRL)の遅延が存在する。
PIM動作「IOP」は、1007において(tIOP)の遅延で実行される。
しかし、PIM動作(演算)「IOP」が複雑であるから、PIM動作(演算)「IOP」と関連した遅延は非決定性である。
1009において、PIM動作「IOP」の結果は、(tWL)の遅延を有するライト命令語(WR)を発行後に、メモリに記録される(「WR_Data」)。
1010において、ロジックダイ104は、(tWR)の遅延を有するプリチャージ命令語「PRE」を発行する。
1011において、ホスト装置101が、HBM+スタック103に追加トランザクション及び/又は命令語を発行する前に(tRP)の遅延が続く。
符号1007におけるPIM動作「IOP」の非決定性の遅延を説明するため、ホスト装置101は、1012においてCAバス108を介して「PIM_RD」命令語を発行する。
ロジックダイ104が、「PIM_FDBK」応答で1013において応答する前に(tRL)の遅延があるはずである。
この実施形態において、「PIM_FDBK」応答は、PIM動作が完了したか否かを判定するために、ホスト装置101が、HBM+スタック103をポーリングする前の時間周期に関する情報を含むことができる。
ホスト装置101は、フィードバック情報を使用してHBM+スタック103をポーリングするために、戻ってくる前に他の動作をスケジューリングして実行することができる。
101 ホスト装置
102 インターポーザー
103 HBM+スタック
104 ロジックダイ
105a〜105d HBM+メモリ装置
106 基板
107 端子
108 CAバス
109 データバス
110 トランザクションバス
111 HBM+内部バス
200、400、500、600、700、800、900、1000 タイミング図
300 「PIM_CMD」命令語
301 IDフィールド
302 動作フィールド
303 ストライドフィールド
304 フラッグフィールド
305 範囲フィールド
306 値フィールド
307 番号フィールド
308 ソースアドレス1フィールド
309 ソースアドレス2フィールド
310 目的地アドレス1フィールド
311 目的地アドレス2フィールド
Claims (20)
- 高帯域メモリ(High−Bandwidth Memory:以下、HBM)システムにおいて、
高帯域メモリ(HBM)装置と、
ホスト装置に接続される第1インターフェースと、前記HBM装置に接続される第2インターフェースと、を含む論理回路と、を有し、
前記論理回路は、前記第1インターフェースを介して前記ホスト装置から第1命令語を受信し、前記受信した第1命令語を前記第2インターフェースを介して前記HBM装置に伝送する第1PIM(Processing−In−Memory)命令語に変換し、
前記第1PIM命令語は、完了のための決定性の遅延(deterministic latency for completion)を有し、
前記論理回路は、前記ホスト装置から前記第1インターフェースを介して第2命令語をさらに受信し、前記第2インターフェースを介して前記HBM装置に伝送する第2PIM命令語に前記受信した第2命令語を変換し、
前記第2PIM命令語は、完了のための非決定性の遅延を有することを特徴とする高帯域メモリシステム。 - 前記ホスト装置から受信した前記第1命令語に応答して、前記論理回路は、前記HBM装置を制御して、前記HBM装置のチャンネルの内の少なくとも一つの選択されたバンクをプリチャージ(pre−charge)することを特徴とする請求項1に記載の高帯域メモリシステム。
- 前記第1命令語が前記ホスト装置から前記論理回路によって受信される時と、前記HBMシステムが前記ホスト装置から他の命令語を受信する準備ができた時との間の時間は、決定性(deterministic)であることを特徴とする請求項1に記載の高帯域メモリシステム。
- 前記第1インターフェースは、命令語/アドレスバス及びデータバスを含み、
前記第1命令語は、前記命令語/アドレスバスを介して前記論理回路によって受信され、
前記第1命令語に対応する第1命令語パケットは、前記データバスを介して前記論理回路によって受信されることを特徴とする請求項3に記載の高帯域メモリシステム。 - 前記論理回路と前記ホスト装置との間を接続するトランザクションバスをさらに有し、
前記論理回路は、前記第2PIM命令語が完了した時、前記トランザクションバスを介して前記ホスト装置に指示(indication)を伝送することを特徴とする請求項4に記載の高帯域メモリシステム。 - 前記HBMシステムが、前記ホスト装置から他の命令語を受信する準備ができている時、第3命令語が前記命令語/アドレスバスを介して前記ホスト装置から前記論理回路によって受信され、
前記第3命令語に対する応答は、前記論理回路から前記データバスを介して前記ホスト装置に出力されることを特徴とする請求項5に記載の高帯域メモリシステム。 - 前記HBMシステムは、前記論理回路と前記ホスト装置との間を接続するトランザクションバスをさらに有し、
前記第2命令語は、前記命令語/アドレスバスを介して前記ホスト装置から前記論理回路によって受信され、
前記第2命令語に対応する第2命令語パケットは、前記データバスを介して前記ホスト装置から前記論理回路によって受信され、
前記論理回路は、前記第2PIM命令語が完了した時、前記トランザクションバスを介して前記ホスト装置に指示を伝送することを特徴とする請求項1に記載の高帯域メモリシステム。 - 高帯域メモリ(High−Bandwidth Memory:以下、HBM)システムにおいて、
高帯域メモリ(HBM)装置と、
ホスト装置と接続される命令語/アドレスバスと、前記ホスト装置と接続されるデータバスと、を含む第1インターフェースと、前記HBM装置と接続される第2インターフェースと、前記ホスト装置と接続されるトランザクションバスを含む論理回路とを有し、
前記論理回路は、前記第1インターフェースを介して前記ホスト装置から第1命令語を受信し、前記受信した第1命令語を前記第2インターフェースを介して前記HBM装置に伝送する第1PIM(Processing−In−Memory)命令語に変換し、前記第1PIM命令語は、完了のための非決定性の遅延(non−deterministic latency for completion)を有し、前記論理回路は、前記第1PIM命令語が完了した時、前記トランザクションバスを介して前記ホスト装置に指示を伝送することを特徴とする高帯域メモリシステム。 - 第1命令語に対応する第1命令語パケットは、前記データバスを介して前記ホスト装置から前記論理回路によって受信され、
前記第1命令語を前記ホスト装置から受信した時と、前記HBMシステムが前記ホスト装置から他の命令語を受信する準備ができた時との間の時間は、非決定性であることを特徴とする請求項8に記載の高帯域メモリシステム。 - 前記第1命令語に後続して、前記ホスト装置から第2命令語が前記命令語/アドレスバスを介して前記論理回路によって受信され、
前記第2命令語に対応する出力は、前記論理回路から前記データバスを介して前記ホスト装置に出力されることを特徴とする請求項9に記載の高帯域メモリシステム。 - 前記論理回路は、前記第1インターフェースを介して前記ホスト装置から第3命令語を受信し、前記受信した第3命令語を前記第2インターフェースを介して前記HBM装置に伝送する第2PIM命令語に変換し、前記第2PIM命令語は、完了のための決定性の遅延を有することを特徴とする請求項10に記載の高帯域メモリシステム。
- 前記ホスト装置から受信した前記第3命令語に応答して、前記論理回路は、前記HBM装置のチャンネルの内の少なくとも一つの選択されたバンクをプリチャージ(pre−charge)するように前記HBM装置を制御することを特徴とする請求項11に記載の高帯域メモリシステム。
- 前記論理回路は、前記ホスト装置から第4命令語を受信し、
前記第4命令語が前記ホスト装置から前記論理回路によって受信される時と、前記HBMシステムが前記ホスト装置から他の命令語を受信する準備ができた時との間の時間は、決定性であることを特徴とする請求項12に記載の高帯域メモリシステム。 - 前記第4命令語は、前記命令語/アドレスバスを介して受信され、
前記第4命令語に対応する第4命令語パケットは、前記データバスを介して受信されることを特徴とする請求項13に記載の高帯域メモリシステム。 - 高帯域メモリ(HBM)システムにおいて、
プロセシングインメモリ(PIM)機能を有する高帯域メモリ装置と、
ホスト装置と接続される命令語/アドレスバスと、前記ホスト装置と接続されるデータバスと、を含む第1インターフェースと、前記HBM装置と接続される第2インターフェースと、ホスト装置と接続されるトランザクションバスを含む論理回路と、を有し、
前記論理回路は、前記第1インターフェースを介して前記ホスト装置から第1命令語を受信し、前記受信した第1命令語をプロセシングインメモリ(PIM)処理のために、前記第2インターフェースを介して前記HBM装置に伝送する第1命令語に変換し、前記第1命令語は完了のための決定性の遅延を有し、
前記論理回路は、前記第1インターフェースを介して前記ホスト装置から第2命令語をさらに受信し、前記受信した第2命令語をプロセシングインメモリ(PIM)処理のために、前記第2インターフェースを介して前記HBM装置に伝送する第2命令語に変換し、 前記第2命令語は、完了のための非決定性の遅延を有することを特徴とする高帯域メモリシステム。 - 前記ホスト装置から受信した前記第1命令語に応答して、前記論理回路は、前記HBM装置のチャンネルの内の少なくとも一つの選択されたバンクをプリチャージするように前記HBM装置を制御することを特徴とする請求項15に記載の高帯域メモリシステム。
- 前記論理回路によって前記ホスト装置から第3命令語が受信される時と、前記HBMシステムが前記ホスト装置から他の命令語を受信する準備ができた時との間の時間は、決定論性であることを特徴とする請求項15に記載の高帯域メモリシステム。
- 前記第1命令語は、前記命令語/アドレスバスを介して受信され、
前記第1命令語に対応する第1命令語パケットは、前記データバスを介して受信されることを特徴とする請求項17に記載の高帯域メモリシステム。 - 前記第2命令語は、前記命令語/アドレスバスを介して前記ホスト装置から前記論理回路によって受信され、
前記第2命令語に対応する第2命令語パケットは、前記データバスを介して前記ホスト装置から前記論理回路によって受信され、
前記論理回路は、前記第2命令語が完了した時、前記トランザクションバスを介して前記ホスト装置に指示を伝送することを特徴とする請求項18に記載の高帯域メモリシステム。 - 第3命令語は、前記命令語/アドレスバスを介して前記ホスト装置から前記論理回路によって受信され、
前記第3命令語に対応する出力は、前記データバスを介して前記論理回路から前記ホスト装置に出力されることを特徴とする請求項19に記載の高帯域メモリシステム。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762558732P | 2017-09-14 | 2017-09-14 | |
US201762558726P | 2017-09-14 | 2017-09-14 | |
US201762558741P | 2017-09-14 | 2017-09-14 | |
US62/558,741 | 2017-09-14 | ||
US62/558,732 | 2017-09-14 | ||
US62/558,726 | 2017-09-14 | ||
US15/821,688 US10592121B2 (en) | 2017-09-14 | 2017-11-22 | Quasi-synchronous protocol for large bandwidth memory systems |
US15/821,688 | 2017-11-22 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019053726A true JP2019053726A (ja) | 2019-04-04 |
JP2019053726A5 JP2019053726A5 (ja) | 2021-10-07 |
JP6955478B2 JP6955478B2 (ja) | 2021-10-27 |
Family
ID=65631048
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018152980A Active JP6941082B2 (ja) | 2017-09-14 | 2018-08-15 | 高帯域メモリシステム |
JP2018158187A Active JP6955478B2 (ja) | 2017-09-14 | 2018-08-27 | 高帯域メモリシステム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018152980A Active JP6941082B2 (ja) | 2017-09-14 | 2018-08-15 | 高帯域メモリシステム |
Country Status (5)
Country | Link |
---|---|
US (4) | US10908820B2 (ja) |
JP (2) | JP6941082B2 (ja) |
KR (2) | KR102651892B1 (ja) |
CN (2) | CN109508306B (ja) |
TW (2) | TWI746852B (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9997232B2 (en) * | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
FR3075444B1 (fr) * | 2017-12-19 | 2020-07-24 | Commissariat Energie Atomique | Systeme comportant une memoire adaptee a mettre en oeuvre des operations de calcul |
EP3881078A1 (en) | 2018-11-15 | 2021-09-22 | Quantum-Si Incorporated | Methods and compositions for protein sequencing |
DE102020105628A1 (de) | 2019-03-11 | 2020-09-17 | Samsung Electronics Co., Ltd. | Verfahren zur Durchführung interner Verarbeitungsvorgänge mit vordefinierter Protokollschnittstelle einer Speichervorrichtung |
KR20200129843A (ko) * | 2019-05-10 | 2020-11-18 | 에스케이하이닉스 주식회사 | 연산 회로를 포함하는 메모리 장치, 이를 제어하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
US11086804B2 (en) * | 2019-12-09 | 2021-08-10 | Western Digital Technologies, Inc. | Storage system and method for reducing read-retry duration |
US10841645B1 (en) | 2019-12-09 | 2020-11-17 | Western Digital Technologies, Inc. | Storage system and method for video frame segregation to optimize storage |
KR20220116259A (ko) * | 2019-12-26 | 2022-08-22 | 마이크론 테크놀로지, 인크. | 적층 메모리 시스템의 비-결정 동작을 위한 기술 |
CN114930282A (zh) | 2019-12-26 | 2022-08-19 | 美光科技公司 | 堆叠式存储器***的真值表扩展 |
WO2021133690A1 (en) | 2019-12-26 | 2021-07-01 | Micron Technology, Inc. | Host techniques for stacked memory systems |
US11526435B2 (en) | 2020-02-04 | 2022-12-13 | Western Digital Technologies, Inc. | Storage system and method for automatic data phasing |
US11562018B2 (en) | 2020-02-04 | 2023-01-24 | Western Digital Technologies, Inc. | Storage system and method for optimized surveillance search |
US11328511B2 (en) | 2020-03-13 | 2022-05-10 | Western Digital Technologies, Inc. | Storage system and method for improved playback analysis |
KR20220067961A (ko) * | 2020-11-18 | 2022-05-25 | 삼성전자주식회사 | 프로세싱-인-메모리 및 프로세싱-인-메모리를 이용한 인스트럭션 출력 방법 |
US11893278B2 (en) | 2021-02-08 | 2024-02-06 | Samsung Electronics Co., Ltd. | Memory controller and memory control method for generating commands based on a memory request |
US20230162767A1 (en) * | 2021-11-24 | 2023-05-25 | Micron Technology, Inc. | Modification of a command timing pattern |
US12019560B2 (en) | 2021-12-20 | 2024-06-25 | Advanced Micro Devices, Inc. | Virtual partitioning a processor-in-memory (“PIM”) |
US11934827B2 (en) | 2021-12-20 | 2024-03-19 | Advanced Micro Devices, Inc. | Partition and isolation of a processing-in-memory (PIM) device |
US11934698B2 (en) * | 2021-12-20 | 2024-03-19 | Advanced Micro Devices, Inc. | Process isolation for a processor-in-memory (“PIM”) device |
US20230393930A1 (en) * | 2022-06-02 | 2023-12-07 | Micron Technology, Inc. | Memory sub-system addressing for data and additional data portions |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396641A (en) * | 1991-01-18 | 1995-03-07 | Iobst; Kenneth W. | Reconfigurable memory processor |
JP2010506242A (ja) * | 2006-05-29 | 2010-02-25 | パスカリス パパグリゴリオウ | 多機能メモリカードとの通信方法 |
US20160070483A1 (en) * | 2013-05-30 | 2016-03-10 | Hewlett-Packard Development, L.P. | Separate memory controllers to access data in memory |
WO2017055732A1 (fr) * | 2015-10-01 | 2017-04-06 | Upmem | Dispositif informatique muni de traitement en memoire et de ports d'acces etroits |
US20170255390A1 (en) * | 2016-03-01 | 2017-09-07 | Samsung Electronics Co., Ltd. | 3-d stacked memory with reconfigurable compute logic |
Family Cites Families (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5901304A (en) | 1997-03-13 | 1999-05-04 | International Business Machines Corporation | Emulating quasi-synchronous DRAM with asynchronous DRAM |
US6336159B1 (en) | 1997-06-25 | 2002-01-01 | Intel Corporation | Method and apparatus for transferring data in source-synchronous protocol and transferring signals in common clock protocol in multiple agent processing system |
US6510503B2 (en) | 1998-07-27 | 2003-01-21 | Mosaid Technologies Incorporated | High bandwidth memory interface |
US6622235B1 (en) | 2000-01-03 | 2003-09-16 | Advanced Micro Devices, Inc. | Scheduler which retries load/store hit situations |
CA2316590A1 (en) | 2000-08-23 | 2002-02-23 | Celestica International Inc. | System and method for using a synchronous device with an asynchronous memory controller |
US7412553B2 (en) | 2002-01-10 | 2008-08-12 | O2Micro International Limited | Enhanced protocol conversion system capable of providing offloaded protocol instruction processing |
US7296112B1 (en) | 2002-12-10 | 2007-11-13 | Greenfield Networks, Inc. | High bandwidth memory management using multi-bank DRAM devices |
JP4383148B2 (ja) | 2003-11-25 | 2009-12-16 | 株式会社日立製作所 | 処理オフロード機能モジュールを備えた磁気ディスクアレイ装置 |
US7363406B2 (en) | 2004-12-08 | 2008-04-22 | Motorola, Inc. | Dynamic access scheduling memory controller |
US9542352B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
US8386722B1 (en) * | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
US20080001271A1 (en) | 2006-06-30 | 2008-01-03 | Sony Ericsson Mobile Communications Ab | Flipped, stacked-chip IC packaging for high bandwidth data transfer buses |
US8117415B2 (en) * | 2006-09-18 | 2012-02-14 | Sandisk Il Ltd. | Storage device estimating a completion time for a storage operation |
US20080162855A1 (en) | 2006-12-29 | 2008-07-03 | Tessil Thomas | Memory Command Issue Rate Controller |
US7865660B2 (en) * | 2007-04-16 | 2011-01-04 | Montage Technology Group Ltd. | Calibration of read/write memory access via advanced memory buffer |
US8024511B2 (en) | 2007-08-31 | 2011-09-20 | Siemens Industry, Inc. | Systems, devices, and/or methods to access synchronous RAM in an asynchronous manner |
US8042082B2 (en) | 2007-09-12 | 2011-10-18 | Neal Solomon | Three dimensional memory in a system on a chip |
US7921272B2 (en) | 2007-10-05 | 2011-04-05 | International Business Machines Corporation | Monitoring patterns of processes accessing addresses in a storage device to determine access parameters to apply |
US7747803B2 (en) | 2007-11-28 | 2010-06-29 | International Business Machines Corporation | Device, system, and method of handling delayed transactions |
US7855931B2 (en) | 2008-07-21 | 2010-12-21 | Micron Technology, Inc. | Memory system and method using stacked memory device dice, and system using the memory system |
US8289760B2 (en) | 2008-07-02 | 2012-10-16 | Micron Technology, Inc. | Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes |
JP5331427B2 (ja) | 2008-09-29 | 2013-10-30 | 株式会社日立製作所 | 半導体装置 |
JP2010146252A (ja) * | 2008-12-18 | 2010-07-01 | Nec Engineering Ltd | Ddrメモリコントローラ |
US8576714B2 (en) * | 2009-05-29 | 2013-11-05 | Futurewei Technologies, Inc. | System and method for relay node flow control in a wireless communications system |
JP2011081732A (ja) | 2009-10-09 | 2011-04-21 | Elpida Memory Inc | 半導体装置及びその調整方法並びにデータ処理システム |
US8473695B2 (en) | 2011-03-31 | 2013-06-25 | Mosys, Inc. | Memory system including variable write command scheduling |
US8819687B2 (en) | 2010-05-07 | 2014-08-26 | Advanced Micro Devices, Inc. | Scheduling for multiple memory controllers |
US9251873B1 (en) | 2010-05-20 | 2016-02-02 | Kandou Labs, S.A. | Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications |
US8683148B2 (en) * | 2010-06-30 | 2014-03-25 | Sandisk Il Ltd. | Status indication when a maintenance operation is to be performed at a memory device |
US8314807B2 (en) | 2010-09-16 | 2012-11-20 | Apple Inc. | Memory controller with QoS-aware scheduling |
US8321627B1 (en) | 2011-10-06 | 2012-11-27 | Google Inc. | Memory operation command latency management |
US8694698B2 (en) | 2012-04-12 | 2014-04-08 | Hitachi, Ltd. | Storage system and method for prioritizing data transfer access |
KR101975534B1 (ko) * | 2012-09-11 | 2019-05-07 | 삼성전자주식회사 | 연산기능을 갖는 반도체 메모리 장치 |
US9201777B2 (en) | 2012-12-23 | 2015-12-01 | Advanced Micro Devices, Inc. | Quality of service support using stacked memory device with logic die |
JP6139010B2 (ja) * | 2013-03-15 | 2017-05-31 | インテル・コーポレーション | デバイス |
US9734097B2 (en) * | 2013-03-15 | 2017-08-15 | Micron Technology, Inc. | Apparatuses and methods for variable latency memory operations |
KR102094902B1 (ko) * | 2013-07-08 | 2020-03-30 | 삼성전자주식회사 | 액티브 상태에서 인터페이스 모드를 전환하는 스토리지 시스템 및 ufs 시스템 |
US9535831B2 (en) | 2014-01-10 | 2017-01-03 | Advanced Micro Devices, Inc. | Page migration in a 3D stacked hybrid memory |
US20150270015A1 (en) | 2014-03-19 | 2015-09-24 | Micron Technology, Inc. | Memory mapping |
US9747048B2 (en) | 2014-06-02 | 2017-08-29 | Micron Technology, Inc. | Systems and methods for packing data in a scalable memory system protocol |
US9436397B2 (en) * | 2014-09-23 | 2016-09-06 | Sandisk Technologies Llc. | Validating the status of memory operations |
US9836277B2 (en) * | 2014-10-01 | 2017-12-05 | Samsung Electronics Co., Ltd. | In-memory popcount support for real time analytics |
KR20160063726A (ko) | 2014-11-27 | 2016-06-07 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
KR101782501B1 (ko) * | 2014-12-10 | 2017-09-27 | 주식회사 엘지화학 | 고흡수성 수지의 제조 방법 |
US20160210174A1 (en) | 2015-01-15 | 2016-07-21 | Microsoft Corporation | Hybrid Scheduler and Power Manager |
US11086521B2 (en) | 2015-01-20 | 2021-08-10 | Ultrata, Llc | Object memory data flow instruction execution |
US10318197B2 (en) * | 2015-04-08 | 2019-06-11 | Tintri By Ddn, Inc. | Native storage quality of service for virtual machines |
US9443561B1 (en) | 2015-05-21 | 2016-09-13 | Advanced Micro Devices, Inc. | Ring networks for intra- and inter-memory I/O including 3D-stacked memories |
US10540588B2 (en) | 2015-06-29 | 2020-01-21 | Microsoft Technology Licensing, Llc | Deep neural network processing on hardware accelerators with stacked memory |
US20160379686A1 (en) | 2015-06-29 | 2016-12-29 | Microsoft Technology Licensing, Llc | Server systems with hardware accelerators including stacked memory |
US9633748B2 (en) | 2015-08-17 | 2017-04-25 | Micron Technology, Inc. | Multi-channel testing |
US9818458B1 (en) | 2015-09-23 | 2017-11-14 | Intel Corporation | Techniques for entry to a lower power state for a memory device |
WO2017065379A1 (ko) * | 2015-10-16 | 2017-04-20 | 삼성전자 주식회사 | 프로세싱-인-메모리를 이용한 명령어 처리 방법 및 그 장치 |
US10528613B2 (en) | 2015-11-23 | 2020-01-07 | Advanced Micro Devices, Inc. | Method and apparatus for performing a parallel search operation |
US20170220499A1 (en) | 2016-01-04 | 2017-08-03 | Gray Research LLC | Massively parallel computer, accelerated computing clusters, and two-dimensional router and interconnection network for field programmable gate arrays, and applications |
US20170206033A1 (en) * | 2016-01-19 | 2017-07-20 | SK Hynix Inc. | Mechanism enabling the use of slow memory to achieve byte addressability and near-dram performance with page remapping scheme |
KR101735590B1 (ko) * | 2016-01-22 | 2017-05-15 | 한양대학교 산학협력단 | 트랜잭션 추출 장치 및 방법 |
US10430244B2 (en) * | 2016-03-28 | 2019-10-01 | Micron Technology, Inc. | Apparatuses and methods to determine timing of operations |
US20170289850A1 (en) | 2016-04-01 | 2017-10-05 | Intel Corporation | Write delivery for memory subsystem with narrow bandwidth repeater channel |
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 |
US10083722B2 (en) * | 2016-06-08 | 2018-09-25 | Samsung Electronics Co., Ltd. | Memory device for performing internal process and operating method thereof |
US10416896B2 (en) * | 2016-10-14 | 2019-09-17 | Samsung Electronics Co., Ltd. | Memory module, memory device, and processing device having a processor mode, and memory system |
US10268389B2 (en) * | 2017-02-22 | 2019-04-23 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10169261B1 (en) | 2017-08-29 | 2019-01-01 | International Business Machines Corporation | Address layout over physical memory |
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 |
US10346092B2 (en) * | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
-
2017
- 2017-11-22 US US15/821,686 patent/US10908820B2/en active Active
- 2017-11-22 US US15/821,688 patent/US10592121B2/en active Active
-
2018
- 2018-05-23 TW TW107117592A patent/TWI746852B/zh active
- 2018-05-24 TW TW107117775A patent/TWI761520B/zh active
- 2018-06-26 KR KR1020180073566A patent/KR102651892B1/ko active IP Right Grant
- 2018-07-24 KR KR1020180086111A patent/KR102412987B1/ko active IP Right Grant
- 2018-08-10 CN CN201810908900.4A patent/CN109508306B/zh active Active
- 2018-08-15 JP JP2018152980A patent/JP6941082B2/ja active Active
- 2018-08-16 CN CN201810945829.7A patent/CN109508307B/zh active Active
- 2018-08-27 JP JP2018158187A patent/JP6955478B2/ja active Active
-
2020
- 2020-02-10 US US16/787,002 patent/US11893239B2/en active Active
- 2020-12-24 US US17/133,987 patent/US20210117103A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396641A (en) * | 1991-01-18 | 1995-03-07 | Iobst; Kenneth W. | Reconfigurable memory processor |
JP2010506242A (ja) * | 2006-05-29 | 2010-02-25 | パスカリス パパグリゴリオウ | 多機能メモリカードとの通信方法 |
US20160070483A1 (en) * | 2013-05-30 | 2016-03-10 | Hewlett-Packard Development, L.P. | Separate memory controllers to access data in memory |
WO2017055732A1 (fr) * | 2015-10-01 | 2017-04-06 | Upmem | Dispositif informatique muni de traitement en memoire et de ports d'acces etroits |
JP2018534666A (ja) * | 2015-10-01 | 2018-11-22 | アップメム | インメモリ処理及び狭幅データポートを備えたコンピュータデバイス |
US20170255390A1 (en) * | 2016-03-01 | 2017-09-07 | Samsung Electronics Co., Ltd. | 3-d stacked memory with reconfigurable compute logic |
Also Published As
Publication number | Publication date |
---|---|
TWI746852B (zh) | 2021-11-21 |
TW201915732A (zh) | 2019-04-16 |
KR102412987B1 (ko) | 2022-06-24 |
CN109508307A (zh) | 2019-03-22 |
JP6941082B2 (ja) | 2021-09-29 |
CN109508306A (zh) | 2019-03-22 |
US20190079677A1 (en) | 2019-03-14 |
US10592121B2 (en) | 2020-03-17 |
JP6955478B2 (ja) | 2021-10-27 |
US20200174676A1 (en) | 2020-06-04 |
US11893239B2 (en) | 2024-02-06 |
CN109508306B (zh) | 2023-11-10 |
KR20190030578A (ko) | 2019-03-22 |
US20190079678A1 (en) | 2019-03-14 |
KR102651892B1 (ko) | 2024-03-28 |
KR20190030586A (ko) | 2019-03-22 |
JP2019053725A (ja) | 2019-04-04 |
US10908820B2 (en) | 2021-02-02 |
TWI761520B (zh) | 2022-04-21 |
TW201915759A (zh) | 2019-04-16 |
US20210117103A1 (en) | 2021-04-22 |
CN109508307B (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6955478B2 (ja) | 高帯域メモリシステム | |
JP7456083B2 (ja) | ロウハンマ緩和のホスト支援のためのリフレッシュコマンド制御 | |
CN103680594B (zh) | 降低写失败的存储器件、包括该存储器件的***及其方法 | |
JP2020166832A5 (ja) | ||
US7155554B2 (en) | Methods and apparatuses for generating a single request for block transactions over a communication fabric | |
US20170110178A1 (en) | Hybrid refresh with hidden refreshes and external refreshes | |
CN103377695A (zh) | 存储***、存储器件、存储控制器及操作其的方法 | |
CN104599227B (zh) | 用于高速ccd数据存储的ddr3仲裁控制器及方法 | |
US7277975B2 (en) | Methods and apparatuses for decoupling a request from one or more solicited responses | |
TW200811650A (en) | Memory device with speculative commands to memory core | |
US20220293162A1 (en) | Randomization of directed refresh management (drfm) pseudo target row refresh (ptrr) commands | |
EP3907624A1 (en) | Memory and storage controller with integrated memory coherency interconnect | |
US20230333928A1 (en) | Storage and access of metadata within selective dynamic random access memory (dram) devices | |
US20240079036A1 (en) | Standalone Mode | |
US11928039B1 (en) | Data-transfer test mode | |
US20220190844A1 (en) | Method and apparatus to perform cyclic redundancy check training in a memory module | |
US20240070093A1 (en) | Asymmetric Read-Write Sequence for Interconnected Dies | |
US20230017161A1 (en) | Method and apparatus to perform training on a data bus between a dynamic random access memory (dram) and a data buffer on a buffered dual in-line memory module | |
US20230393740A1 (en) | Four way pseudo split die dynamic random access memory (dram) architecture | |
CN109634880A (zh) | 一种数据采集设备、数据交互设备及数据采集*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210825 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210825 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20210825 |
|
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: 20210928 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211001 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6955478 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |