[go: up one dir, main page]

JP2019036298A - 知能型高帯域幅メモリシステム及びそのための論理ダイ - Google Patents

知能型高帯域幅メモリシステム及びそのための論理ダイ Download PDF

Info

Publication number
JP2019036298A
JP2019036298A JP2018139930A JP2018139930A JP2019036298A JP 2019036298 A JP2019036298 A JP 2019036298A JP 2018139930 A JP2018139930 A JP 2018139930A JP 2018139930 A JP2018139930 A JP 2018139930A JP 2019036298 A JP2019036298 A JP 2019036298A
Authority
JP
Japan
Prior art keywords
logic
host
bandwidth memory
high bandwidth
intelligent
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
Application number
JP2018139930A
Other languages
English (en)
Other versions
JP2019036298A5 (ja
JP6974270B2 (ja
Inventor
宏 忠 ズン,
Hongzhong Zheng
宏 忠 ズン,
ロバート ブレンナン,
Brennan Robert
ロバート ブレンナン,
晋 賢 金,
Jinhyun Kim
晋 賢 金,
ヒュン ソク キム,
Hyungseuk Kim
ヒュン ソク キム,
クリシュナ テジャ マラディ,
T Malladi Krishna
クリシュナ テジャ マラディ,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2019036298A publication Critical patent/JP2019036298A/ja
Publication of JP2019036298A5 publication Critical patent/JP2019036298A5/ja
Application granted granted Critical
Publication of JP6974270B2 publication Critical patent/JP6974270B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • H10W90/00
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/602Details relating to cache prefetching
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Advance Control (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】知能型高帯域幅メモリ装置を提供する。【解決手段】HBM2モジュール110は、論理ダイ105の上に積み重ねて、知能型HBMスタック120を形成する。複数の知能型HBMスタックが知能型HBM装置に含まれる。ホスト115は、各々の論理ダイと通信する。ホスト及び論理ダイは、インタポーザ(Interposer)205の上部に配置され、インタポーザに連結される。インタポーザは、パッケージ基板210の上部に配置され、かつパッケージ基板に連結される。論理ダイは、基本的な入/出力(I/O)演算を実行し、遅延時間を減少させ、メモリトラフィックが改善される。プロセッサ隣接メモリは、知能型HBMの論理ダイを介してホストを支援する。【選択図】図2

Description

本発明は、知能型高帯域幅メモリシステムに係り、より詳細には、ホストにより一般に実行される複雑な論理演算をオフロード(offload)するための論理ダイ(logic die)を含む知能型高帯域幅メモリシステムに関する。
インターネットにより数多くのコンピュータ及びモバイル機器にデータを提供するコンピュータのサーバの数が大幅に急増してきた。人工知能(Artificial Intelligence:AI)及びその他、深層学習(deep learning)アプリケーションは、ますます普遍化しており、現在その需要が大きく増加している。今日のサーバコンピュータの環境は、ストレージ内及びメモリ内で演算を実行する方向に進んでおり、これにより実際にデータが存在する所と近い位置で一部の演算が実行される。これは、性能を向上させ、エネルギー消費を削減させる。
多層のニューラルネットワーク(deep neural network)のような新たなアプリケーションは、様々なデータセットを訓練し、高精度で学習するために、大量の演算及びメモリ能力を必要とする。また、高性能コンピュータ(High Performance Computer: HPC)、グラフィックスアルゴリズムなどのアプリケーションにおいて、データ又は演算が集約化されて、エネルギー効率及び低レイテンシ(low latency)が決定的な要素になった。
最近、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory: DRAM)のダイを別のダイの上に積み重ねることにより、小さなフォームファクタであまり電力を消費せず、より高い帯域幅を得るために、高帯域幅メモリ(High Bandwidth Memory: HBM)及び高帯域幅メモリ2(HBM2)が利用されており、これらは、ホストとの非同期式通信インタフェースを提供する。非同期通信の特徴は、性能は向上するが、複雑な論理演算の処理はさらに難しくなる。論理演算が複雑であれば、判断性(determinism)は弱い。言い換えると、特定の複雑な論理演算が完了するまで、どれほど長い時間がかかるのかがはっきりしない。
本発明は、上述の問題点を解決するためのものであって、本発明の目的は、知能型高帯域幅メモリ装置を提供することにある。
中央処理装置(Central Processing Unit: CPU)、グラフィック処理装置(Graphics Processing Unit: GPU)、注文型集積回路(Application Specific Integrated Circuit: ASIC)、又はフィールドプログラマブルゲートアレイ(Field Programmable Gate Array: FPGA)の少なくとも1つを含むホストと、積層された複数の高帯域幅メモリモジュールおよび複数の高帯域幅メモリモジュールの下に配置された論理ダイとを有する知能型高帯域幅メモリスタックと、を含む知能型高帯域幅メモリシステムを開示している。論理ダイは、ホストから処理演算をオフロードする。
一部の実施形態において、論理ダイは、インタフェース物理層(PHY)とホストキューマネージャとを含むホストマネージャを含み、ホストマネージャは、インタフェース物理層(PHY)を介してホストとインタフェースし、ホストから受信した情報(communications)をキューイングする。論理ダイは、さらに、プリフェッチエンジン(prefetch engine)とキャッシュコントローラとを含む、メモリコントローラを含み、メモリコントローラは、プリフェッチエンジン及びキャッシュコントローラを介してメモリとインタフェースする。論理ダイは、さらに、高帯域幅メモリモジュールスタックとインタフェースするメモリコントローラを有する高帯域幅メモリコントローラを含む。論理ダイは、さらに、ホストから処理演算をオフロードするオフロード処理論理部を含む。
本発明は、支援ハードウェア及びソフトウェアアーキテクチャ、論理ダイのマイクロアーキテクチャ、並びにメモリインタフェースシグナルオプションとともに特定の演算能力を有する論理ダイを提供することにより、高帯域幅メモリシステムのエネルギー効率を向上し、かつ遅延時間を減少できる。
知能型HBM装置の例示的な平面ブロック図である。 図1の2−2線に沿った知能型HBM装置の側面ブロック図である。 ホストから演算作業をオフロードするための2種類のアーキテクチャに関するフレームワークブロック図である。 一部の実施形態により主にハードウェアで実現されるホストの構成要素及び知能型HBMスタックを含むシステムの例示的なブロック図である。 (A)は、一部の実施形態により主にソフトウェアで実現されるホストの構成要素及び知能型HBMスタックを含むシステムの例示的なブロック図である。(B)は、一部の実施形態により別々のカーネルがGPU又は知能型HBMスタックで処理される方法を説明するための図である。 図1及び図2の論理ダイのマイクロアーキテクチャである。 本明細書に開示する実施形態による図1の知能型HBM装置を含むコンピューティングシステムの例示的なブロック図である。
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。以下の詳細な説明で実施形態の完全な理解を助けるために様々な特定の細部事項を記載する。しかし、本発明が属する技術分野の通常の技術者は、このような特定の細部事項がなくても本発明の技術的思想を実施し得ることは当然である。別の例示において、公知の方法、手順、構成、回路、及びネットワークに関する具体的な説明は、本実施形態の様々な様態が不要且つあいまいにならないように省略する。
第1、第2等の用語を様々な構成要素を説明するために本明細書で用いたとしても、このような用語によって、該当構成要素が制限されないことは当然である。このような用語は、単にある構成要素を別の構成要素と区別するためにのみ用いる。例えば、本実施形態の範囲から逸脱することなく、第1モジュールは第2モジュールと指称でき、同様に、第2モジュールも第1モジュールと指称できる。
本明細書で実施形態の説明のために用いる技術用語は、特定の実施形態を説明するための目的のみであって、本発明の技術的思想を制限しようとするものではない。実施形態に関する説明及び特許請求の請求範囲で用いるように、単数形の用語は、文脈上明らかに指示がない限り、複数形の用語も含む。本明細書で用いる「及び/又は」という用語は、挙げられる1つ以上の関連項目の任意の何れか1つ及び全ての組み合せを指すか、又は、含むと理解すべきである。また、本明細書で使用する「含む」という用語は、挙げられた特徴、数字、段階、動作、要素、及び/又は構成の存在を明示するが、1以上の別の特徴、数字、段階、動作、要素、構成、及び/又はこれらの集合の存在や付加を排除するものではない。本図面の構成要素及び特徴は必ずしも一定の比率で示すものではない。
人工知能コンピューティングアプリケーションが発達するにつれて、イメージと音声の分類、メディアの分析、健康管理、自律機械、及びスマートアシスタントに至る領域の新たなアプリケーションを実行し得る、新たなハードウェアが必要となっている。人工知能アプリケーションは、機械学習フレームワークを駆動する。例えば、多層のニューラルネットワークのアルゴリズムでは、頻繁にデータセットの大きさがハードウェアの使用可能な演算能力を上回る。より新たなアーキテクチャが開発されるまで、高いテラフロップス(teraflops)の演算能力を備えた新たな高性能コンピュータが代替ソルーションとして登場していた。HBMは、HBM2に発展して並列加速器のための高帯域幅を提供し、ホスト装置当たり4乃至8個のモジュールスタックを提供する。ホストは、例えば、マイクロプロセッサなどの中央処理装置(CPU)、注文型集積回路(ASIC)、グラフィック処理装置(GPU)、フィールドプログラマブルゲートアレイ(FPGA)などを含む。現在、帯域幅は、1秒当たり1テラバイトの範囲であり、これは、GDDR5(Double Data Rate Five Synchronous Graphics)より2倍も効率的である。
本明細書に開示する実施形態は、支援ハードウェア及びソフトウェアアーキテクチャ、論理ダイのマイクロアーキテクチャ、並びにメモリインタフェースシグナルオプションとともに高帯域幅メモリ(HBM)の論理ダイで特定の演算能力を提供するシステムアーキテクチャを含む。HBMメモリスタックの下方に配置された論理ダイのメモリ内(in−memory)の処理能力を利用するために種々の新たな方法が提供される。また、HBMインタフェースを利用するための種々の新たな信号プロトコルを開示する。論理ダイのマイクロアーキテクチャ及び支援システムフレームワークもさらに説明する。
本システムは、GPU、FPGA等の加速器でエネルギー効率の良い高速演算を実行するための終端間ソリューション(end−end solution)を提供する。処理演算をオフロードすると、ハードウェア又はソフトウェアのツールチェーン(tool chain)に別のレベルの複雑さを取り入れて種々の利点を導き出す。本明細書で「知能型HBM(HBM+)」と指称する新たなアーキテクチャは、HBM2と、PIMとで形成される。HBM2アーキテクチャは、ホスト当たり最大4個のスタックと、スタック当たり最大8個のチャンネルとを含み、スタック当たり4乃至8個のダイを含む。チャンネル当たり8乃至16個のバンクが存在し、バンクのグループを支援する。データライン(DQ)の幅は、例えば、128プラス選択的エラー訂正コード(Error Correction Code: ECC)ピンプラス2つの擬似チャンネル(pseudo channel)である。バンク当たり秒当たり2ギガバイトの場合、システムの帯域幅は、システム当たり秒当たり1テラバイトである。
図1は、知能型HBM装置100の例示的な平面ブロック図である。知能型HBM装置100は、ホスト115(例:CPU、GPU、ASIC、FPGAなど)を含む。知能型HBM装置100は、HBM2モジュール110とこれに対応してHBM2モジュール110の下方に配置される論理ダイ105とを含む、複数の知能型HBMスタック120を含む。知能型HBM装置100は、PCI−E互換ボートである。
図2は、図1の2−2線に沿った知能型HBM装置100の側面ブロック図である。図2に示すように、HBM2モジュールは、論理ダイ105の上に積み重ねて、知能型HBMスタック120を形成する。複数の知能型HBMスタック120が知能型HBM装置100に含まれる。ホスト115は、各々の論理ダイ105と通信する。ホスト115及び論理ダイ105は、インタポーザ(Interposer)205の上部に配置され、インタポーザ205に連結される。インタポーザ205は、パッケージ基板210の上部に配置され、かつパッケージ基板210に連結される。
知能型HBMにおいて、論理ダイ105は、基本的な入/出力(I/O)演算を実行し、遅延時間を減少させ、メモリトラフィックが改善される。機械学習アルゴリズムは、訓練及び予測のために強い帯域幅を必要とするため、このようなアーキテクチャの利点を享受する。プロセッサ隣接メモリは、知能型HBMの論理ダイ105を介してホスト115を支援する。
知能型HBMスタック120は、演算作業をホスト115からHBM2モジュール110下の論理ダイ105にオフロードする。ホスト115は、CPU、GPU、ASIC、FPGAなどを含む。論理ダイ105は、特化した論理関数を実行し、特化した論理関数は、特別高い帯域幅を要求する機械学習アプリケーションに特化した関数である。結果として、システムの性能は向上し、エネルギー消費は減る。
図3は、ホスト(例:115)から演算作業をオフロードするための2種類のアーキテクチャ(例:340及び345)に関するフレームワークのブロック図300を示す。図3に示すように、第1アーキテクチャ340は、上位層アプリケーション(例:人工知能アプリケーション305)を変更する必要なく、HBMの演算機能アーキテクチャ(例:310、315、及び320)を用いる。HBMの演算機能アーキテクチャは、CUDA(Compute Unified Device Architecture)310、GPU命令集合アーキテクチャ(GPU Instruction Set Architecture:GPU−ISA又はG−ISA)315、及び/又はGPU320を含む。
別のアーキテクチャ345は、根底にあるHBM論理命令集合アーキテクチャ(ISA)を使用するために人工知能アプリケーション305に知能型HBMライブラリ関数呼び出し(例:325、330、及び335)を提供する。知能型HBMライブラリ関数呼び出しは、ライブラリ325、メモリISA(M−ISA)330、又は他の知能型HBM専用のライブラリ関数呼び出し部335を含む。本実施形態において、上位層アプリケーション(例えば、人工知能アプリケーション305)は、ライブラリ関数呼び出し部を呼び出すように変更される。全体のフレームワークは、システムと、マイクロアーキテクチャと、ライブラリと、ドライバーと、を含む。更に、本システムは、後述のように、2つのハードウェアプロトコルと論理マイクロアーキテクチャとを含む。
図4は、一部の実施形態により主にハードウェアで実現される、ホストの構成要素(405、410、415、及び420)及び知能型HBMスタック120を含むシステム400の例示的なブロック図である。ホスト115は、例えば、CPU405、DRAMバッファ410、PCI−Eインタフェース415、GPU420などを含む。主にハードウェアで実現される場合、ホスト115(例えば、GPU420)は、メモリコントローラの変更を伴うことがある。GPU420は、オフロードされた論理処理を実行するHBM2モジュール(例:110)及び/又は知能型HBMスタック120へ演算を直接オフロードする。本実施形態では、同期又は非同期のホスト−メモリ間のプロトコルが存在し、アプリケーションの変更の必要がない。
図5(A)は、一部の実施形態により主にソフトウェアで実現される、ホストの構成要素(例:405、410、415、及び420)及び知能型HBMスタック120を含むシステム500の例示的なブロック図である。ホスト115は、例えば、CPU405、DRAMバッファ410、PCI−Eインタフェース415、GPU420等を含む。
主にソフトウェアで実現される場合、CPU405へGPUメモリのキャッシュされていないユーザー空間のマッピングを生成するために、gdrcopyなどのメモリマップドI/O(Memory Mapped I/O:MMIO)の技術が使用される。このようなユーザー空間のマッピングは、GPU420からDRAMバッファ410内の共用バッファへオフロードされたカーネル510のデータをCPU405が直接読み取り可能にする。その後、CPU405は、知能型HBMスタック120へデータをコピーするか、関連アドレスにHBM論理を送信し直す。人工知能アプリケーション305(図3参照)などの上位層アプリケーションは、演算のために、知能型HBMスタックを使用するように変更される。ハードウェアの変更は必要ではない。
図5(B)は、一部の実施形態により別々のカーネルがGPU又は知能型HBMスタックで処理される方法を説明するための図面502である。すなわち、構成に応じて、アプリケーション内の別々の部分は、別々のハードウェアで実行される。言い換えると、別々のカーネル又は関数をGPU420又は知能型HBMスタック120のいずれかで開始及び処理することにより、処理負荷を分散させる。例えば、GPU420は、DATA_INを受信し、KERNEL_1を処理する。知能型HBMスタック120は、DATA_1を受信し、KERNEL_2を処理して、DATA_2を生成する。GPU420は、KERNEL_3を処理し、DATA_OUTを生成する。一実行例による擬似コードを以下に示す。
gdrcopy(DATA_IN,numBytes,HostToDevice)
GPU_Kernel<<<1,N>>>(DATA_IN)
CpuWaitFunction(lock)
gdrcopy(DATA_1,numBytes,DeviceToHost)
HBM_Kernel<<<1,N>>>(DATA_1)
CpuWaitFunction(lock)
gdrcopy(DATA_2,numBytes,HostToDevice)
GPU_Kernel<<<1,N>>>(DATA_2)
一部の実施形態において、多様なハードウェアの構成要素の間の処理を調整するために1以上のフラグが設定される。例えば、CPU405は、処理を開始すべきことを指示する第1フラグを設定する。次に、CPU405は、DRAMバッファ410からGPU420にデータをコピーし、処理の少なくとも一部は、知能型HBMスタック120により行われる。その後、GPU420及び/又は知能型HBMスタック120は、処理が終了したことを指示する第2フラグを設定する。そして、CPU405は、データをDRAMバッファ410にコピーし直す。
図6は、図1及び図2の論理ダイ105のマイクロアーキテクチャである。コアアーキテクチャ605は、プロセシング−イン−メモリ(Processing−In−Memory:PIM)コマンド(例:PIM_CMD)を復号し、内部のマイクロ演算を出力し、多重プロセシング−イン−メモリ(PIM)演算をスケジューリングする。周辺ロジックは、種々の状態機械を含む、キューイングを制御するホストマネージャ615と、SRAMコントローラ620と、HBMコントローラ625と、オフロード処理論理部610とを含む。
より具体的に、論理ダイ105は、インタフェース物理層(PHY)675とホストキューマネージャ680とを含む、ホストマネージャ615を含む。一部の実施形態において、ホストマネージャ615は、インタフェース物理層(PHY)675を介してホスト(例:図1の115)とインタフェースする。また、ホストマネージャ615は、ホスト115から受信した情報をキューイングする。論理ダイ105は、プリフェッチエンジン685とキャッシュコントローラ690とを含む、SRAMコントローラ620を含む。SRAMコントローラ620は、プリフェッチエンジン685及びキャッシュコントローラ690を介してSRAM635とインタフェースする。
論理ダイ105は、HBM2モジュールスタック630とインタフェースするメモリコントローラ698とエラー訂正コード(ECC)論理部695を含む、HBMコントローラ625を含む。一部の実施形態において、論理ダイ105は、ホスト(例:図1の115)から処理演算をオフロードするオフロード処理論理部610を含む。一部の実施形態において、オフロード処理論理部610は、ホストマネージャ615を介してホスト115からオフロード処理演算に関する情報を受信する。一部の実施形態において、オフロード処理論理部610は、オフロード処理演算に関する受信された情報に応じて処理演算を実行する。受信された情報は、フラグを含む。受信された情報は、コマンドを含む。
一部の実施形態において、コマンド復号論理部640は、コマンドを復号する。
一部の実施形態において、コマンド出力論理部645は、コマンドを出力する。オフロード処理論理部610は、出力されたコマンドに応答してオフロード処理演算を実行する。オフロード処理論理部610は、演算論理ユニット(ALU)655、浮動小数点ユニット(FPU)660、固定論理670、又は再設定可能な論理665の少なくとも1つを含む。一部の実施形態において、オフロード処理論理部610は、HBM2モジュールスタック630に格納されたデータに応じてオフロード処理演算を実行する。また、コアアーキテクチャ605は、有限状態機械(Finite State Machine:FSM)650を含む。
ハードウェアベースのプロトコルは、1段階プロトコル又は2段階プロトコルを含む。1段階プロトコルは、ホスト(例:図1の115)がさらなる別の演算を進行する前に、演算の結果を待つ必要のない簡単な演算に好適である。すなわち、ホスト115と知能型HBMスタック(例:図1の120)との間の決定的なタイミングが存在する。1段階プロトコルにおいて、メモリコントローラ698は、ソース、宛先アドレス、及び/又はバンクに対してのみロックを実行する。例えば、1段階プロトコルは、読み取り−修正−書き込み(read−modify−write)演算などの原子演算(atomic operation)を含む。
2段階プロトコルは、ホスト115が演算結果を待つ演算に好適である。一例に、トランザクションコマンドが挙げられる。本実施形態において、PHYは、ホスト115と知能型HBMスタック120(図1参照)との間の情報の流れを得るために、目的が変更されたトランザクションピンで修正される(例:ピンが変更または追加される。)。本実施形態において、メモリコントローラ698は、トランザクションを行う間HBM2モジュールスタック630全体に対してロックする。一例に、100×100列を転置することが挙げられる。
論理ダイ(例:図1の105)で実行される関数ライブラリの様々なカテゴリー(すなわち、#1乃至5)を以下の表1に示す。関数ライブラリは、ホスト(例:図1の115)と調整され、個別の運営フィールド及び構成関数をそれぞれ含む。このような関数ライブラリは、同期及び非同期の知能型HBMインタフェースと互換される。バストランザクション、キューイング、及びメモリコントローラの遅延時間が短くなることにより、性能が向上する。関数の実行に固定論理及び/又は再設定可能な論理が利用される。
Figure 2019036298
Figure 2019036298
本明細書には、HBMベースの論理モジュールマイクロアーキテクチャと、アプリケーションライブラリカーネルドライバーと、関連のフレームワークと、を含む、システムアーキテクチャを開示している。本システムは、HBM装置のための個別の関数カテゴリーを利用して種々の処理機能を提供する。本システムは、HBM演算領域を識別し、これらを知能型HBMマイクロアーキテクチャで処理するために、ホストメモリコントローラの修正とともに、主にハードウェアベースのアクセス法を用いる。本システムは、GPUの支援を要求することなく、作業の分散を支援するために直接CPUからHBMメモリの空間にアクセスするように、主にMMIOとともにソフトウェアベースのアクセス法を用いる。本システムは、同期及び非同期のHBMメモリインタフェースをそれぞれ可能にするために、1段階プロトコル及び/又は2段階プロトコルを用いる。本明細書に開示するHBM論理は、マイクロアーキテクチャがコマンド復号、並列関数スケジュールリング、ホスト、並びにホスト側インタフェース、キューイング、内部SRAMキャッシュ、及び/又はエラー訂正を管理する周辺論理を支援するように具現する。
図7は、本明細書に開示する実施形態による図1の知能型HBM装置を含むコンピューティングシステム700の例示的なブロック図である。知能型HBM装置100は、システムバス705に電気的に連結される。コンピューティングシステム700は、クロック710、ランダムアクセスメモリ(RAM)及び/若しくはフラッシュメモリ715、メモリコントローラ745、ユーザーインタフェース720、ベースバンドチップセットなどのモデム725、並びに/又は自動試験装置(Automated Test Equipment:ATE)735を含み、これらのうちの一部又は全部は、システムバス705に電気的に結合される。
コンピューティングシステム700がモバイル装置である場合、さらにコンピューティングシステム700に電力を供給するバッテリー740を含む。図7には示していないが、コンピューティングシステム700は、アプリケーションチップセット、カメライメージプロセッサ(Camera Image Processor:CIS)、モバイルDRAMなどをさらに含む。メモリコントローラ745及びフラッシュメモリ715は、データを格納するために不揮発性メモリを使用するソリッドステートドライブ/ディスク(Solid State Drive/Disk:SSD)の一部を構成する。
例示的な実施形態において、コンピューティングシステム700は、コンピュータ、携帯型コンピュータ、ウルトラモバイルPC(Ultra Mobile PC:UMPC)、ワークステーション、ネットブック、PDA、ウェブタブレット、無線電話、移動電話、スマートフォン、eブック、PMP(Portable Multimedia Player)、デジタルカメラ、デジタルオーディオレコーダ/プレーヤ、デジタル写真/ビデオレコーダ/プレーヤ、携帯ゲーム機、ナビゲーションシステム、ブラックボックス、三次元テレビ、無線環境で情報の送受信が可能な装置、ホームネットワークを構成する多様な電子装置の1つ、コンピュータネットワークを構成する多様な電子装置の1つ、テレマティクスネットワークを構成する多様な電子装置の1つ、RFID、又はコンピューティングシステムを構成する多様な電子装置として使用される。
以下の説明は、本発明の技術的思想の所定の様相が具現され得る適切な装置の簡略かつ一般的な説明を提供するためである。一般に、装置は、プロセッサ、メモリ(例:ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、又は他の状態保存媒体、ストレージ装置、ビデオインタフェース、及び入/出力インタフェースポートが接続されるシステムバスを含む。装置は、キーボード、マイク等の従来の入力装置からの入力により少なくとも部分的に制御されるだけでなく、他の装置から受信した命令、仮想現実(Virtual Reality:VR)環境との相互作用、生体認識フィードバック、又は他の入力信号によっても制御される。本明細書で用いるように、「機械」という用語は、単一機械、仮想機械、又は通信可能に連結され共に動作する機械、仮想機械若しくはデバイスからなるシステムを広範に含む。例示的な機械としては、パソコン、ワークステーション、サーバ、携帯型コンピュータ、携帯用デバイス、電話機、タブレット等のコンピューティング装置だけではなく、例えば、自動車、列車、タクシーなどの個人又は公共交通機関などの輸送装置を含む。
機械は、プログラム可能/不可能な論理装置又はアレーなどの埋め込みコントローラ、注文型集積回路(ASICs)、埋め込み式コンピュータ、及びスマートカード等を含む。機械は、例えばネットワークインタフェース、モデム、又は他の通信連結手段を介して1以上の遠隔装置に対する1以上の連結を利用する。機械は、イントラネット、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)などの物理及び/又は論理ネットワークを介して互いに連結する。本技術分野に属する通常の技術者は、ネットワーク通信が、無線周波数(RF)、衛星、マイクロ波、IEEE(Institute of Electrical and Electronics Engineers)545.11、ブルートゥース(登録商標)、光学、赤外線、ケーブル、レーザー等を含む様々な有線及び/若しくは無線の短距離又は長距離搬送波、並びにプロトコルを利用可能であることを理解するであろう。
本発明の技術的思想による実施形態は、機械がアクセスする場合、機械に作業を実行させるか、抽象データ型又は下位層のハードウェアコンテキストを規定するようにする関数、手順、データ構造、アプリケーションのプログラム等を含む関連データを参照するか、又はこれらと共に説明される。例えば、関連データは、RAM、ROMなどのような揮発性及び/又は不揮発性メモリに格納するか、又はハードドライブ、フロッピーディスク、光ストレージ、テープ、フラッシュメモリ、メモリスティック、デジタルビデオディスク、生体ストレージなどを含む他のストレージ装置、及びこれらに関するストレージ媒体に格納される。関連データは、物理及び/又は論理ネットワークを含む伝送環境を介してパケット、直列データ、並列データ、電波信号などの形で伝えられ、圧縮又は暗号化フォーマットで使用される。関連データは、分散環境で使用され、機械のアクセスのために、ローカル又は遠隔に格納される。
実施形態に関して本発明の技術的思想の原理を説明し示したが、実施形態は、このような原理から逸脱することなく、配列及び詳細事項において修正され、任意の好ましい方法で組み合わせることが可能である。先に説明した内容は、特定の実施形態に焦点を合わせているが、他の構成も考えられる。特に、「本発明の技術的思想の実施形態による」などの表現や、これと同様の表現を本明細書で使用していても、このような語句は、一般に実現可能な実施形態の例示を参照として組み込むためのものであり、特定の実施形態による構成に本発明の技術的思想を制限するわけではない。本明細書では、このような用語は、他の実施形態と組合せ可能な同一または異なる実施形態を引用可能である。
本発明の技術的思想の実施形態は、1以上のプロセッサにより実行可能な命令を含む非一時的な機械の読み取り可能な媒体を含み、命令は、本明細書に説明する技術的思想の要素を行うための命令を含む。
上述の実施形態は、それらの技術的思想を限定すると解釈すべきではない。一部の実施形態を説明したが、本発明の通常の技術者は、本開示の新規な教示及び利点から実質的に逸脱することなく、実施形態の種々の変形が可能であることは、容易に理解できる。従って、このような全ての変形は、請求範囲に規定されている技術的思想の範囲内に含まれる。
100 知能型HBM装置
105 論理ダイ
110 HBM2モジュール
115 ホスト
120 知能型HBMスタック
205 インタポーザ
210 パッケージ基板
300 ブロック図
305 人工知能アプリケーション
310 CUDA
315 GPU命令集合アーキテクチャ
320、420 GPU
325 ライブラリ
330 メモリISA
335 ライブラリ関数呼び出し部
340、345 アーキテクチャ
400、500 システム
405 CPU
410 DRAMバッファ
415 PCI−Eインタフェース
502 図面
510 カーネル
605 コアアーキテクチャ
610 オフロード処理論理部
615 ホストマネージャ
620 SRAMコントローラ
625 HBMコントローラ
630 HBM2モジュールスタック
635 SRAM
640 コマンド復号論理部
645 コマンド出力論理部
650 有限状態機械
655 演算論理ユニット
660 浮動小数点ユニット
665 再設定可能な論理
670 固定論理
675 インタフェース物理層
680 ホストキューマネージャ
685 プリフェッチエンジン
690 キャッシュコントローラ
695 エラー訂正コード論理部
698、745 メモリコントローラ
700 コンピューティングシステム
705 システムバス
710 クロック
715 ランダムアクセスメモリ及び/若しくはフラッシュメモリ
720 ユーザーインタフェース
725 モデム
735 自動試験装置
740 バッテリー

Claims (25)

  1. 中央処理装置(CPU)、グラフィック処理装置(GPU)、注文型集積回路(ASIC)、又はフィールドプログラマブルゲートアレイ(FPGA)の少なくとも1つを含むホストと、
    積層された複数の高帯域幅メモリモジュール及び前記複数の高帯域幅メモリモジュールの下方に配置された論理ダイを有する知能型高帯域幅メモリスタックと、を含むことを特徴とする知能型高帯域幅メモリシステム。
  2. 前記論理ダイは、前記ホストから処理演算をオフロードすることを特徴とする請求項1に記載の知能型高帯域幅メモリシステム。
  3. さらに、前記ホスト及び前記論理ダイに連結されたインタポーザを有することを特徴とする請求項1に記載の知能型高帯域幅メモリシステム。
  4. さらに、前記インタポーザに連結された基板を有することを特徴とする請求項3に記載の知能型高帯域幅メモリシステム。
  5. 前記複数の高帯域幅メモリモジュールは、前記論理ダイと通信可能に連結され、前記論理ダイは、前記ホストと通信可能に連結されることを特徴とする請求項4に記載の知能型高帯域幅メモリシステム。
  6. 前記知能型高帯域幅メモリスタックは、第1知能型高帯域幅メモリスタックと呼ばれ、
    前記複数の高帯域幅メモリモジュールは、第1の複数の高帯域幅メモリモジュールと呼ばれ、
    前記論理ダイは、第1論理ダイと呼ばれ、
    前記知能型高帯域幅メモリシステムは、さらに、積層された第2の複数の高帯域幅メモリモジュールと、前記第2の複数の高帯域幅メモリモジュールの下方に配置された第2論理ダイと、を有する第2知能型高帯域幅メモリスタックを有することを特徴とする請求項1に記載の知能型高帯域幅メモリシステム。
  7. 前記第1論理ダイ及び第2論理ダイは、各々前記ホストから処理演算をオフロードし、
    前記第1の複数の高帯域幅メモリモジュールは、前記第1論理ダイに通信可能に連結され、前記第1論理ダイは、前記ホストに通信可能に連結され、
    前記第2の複数の高帯域幅メモリモジュールは、前記第2論理ダイに通信可能に連結され、前記第2論理ダイは、前記ホストに通信可能に連結され、
    前記知能型高帯域幅メモリシステムは、さらに、前記ホストと前記第1論理ダイ及び第2論理ダイに連結されたインタポーザと、
    前記インタポーザに連結された基板と、を有することを特徴とする請求項6に記載の知能型高帯域幅メモリシステム。
  8. さらに、メモリを含み、
    前記論理ダイは、
    インタフェース物理層(PHY)とホストキューマネージャとを有し、前記インタフェース物理層(PHY)を介して前記ホストとインタフェースし、前記ホストから受信した情報をキューイングするホストマネージャと、
    プリフェッチエンジンとキャッシュコントローラとを有し、前記プリフェッチエンジン及び前記キャッシュコントローラを介して前記メモリとインタフェースするメモリコントローラと、
    前記複数の高帯域幅メモリモジュールとインタフェースするメモリコントローラを有する高帯域幅メモリコントローラと、
    前記ホストから処理演算をオフロードするオフロード処理論理部と、をさらに有することを特徴とする請求項1に記載の知能型高帯域幅メモリシステム。
  9. 前記オフロード処理論理部は、
    前記ホストマネージャを介して前記ホストから前記オフロードされた処理演算に関する情報を受信し、
    前記オフロードされた処理演算に関する前記受信した情報に応じて前記オフロードされた処理演算を実行することを特徴とする請求項8に記載の知能型高帯域幅メモリシステム。
  10. 前記受信した情報は、フラグを含むことを特徴とする請求項9に記載の知能型高帯域幅メモリシステム。
  11. 前記受信した情報は、コマンドを含むことを特徴とする請求項9に記載の知能型高帯域幅メモリシステム。
  12. 前記論理ダイは、さらに、
    前記コマンドを復号するコマンド復号論理部と、
    前記コマンドを出力するコマンド出力論理部と、を有することを特徴とする請求項11に記載の知能型高帯域幅メモリシステム。
  13. 前記オフロード処理論理部は、前記出力されたコマンドに応答して前記オフロードされた処理演算を実行することを特徴とする請求項12に記載の知能型高帯域幅メモリシステム。
  14. 前記オフロード処理論理部は、演算論理ユニット(ALU)、浮動小数点ユニット(FPU)、固定論理、又は再設定可能な論理の少なくとも1つを有することを特徴とする請求項8に記載の知能型高帯域幅メモリシステム。
  15. 前記オフロード処理論理部は、前記複数の高帯域幅メモリモジュールに格納したデータに応じて前記オフロードされた処理演算を実行することを特徴とする請求項8に記載の知能型高帯域幅メモリシステム。
  16. 前記メモリコントローラは、SRAMコントローラであり、
    前記メモリは、SRAMであることを特徴とする請求項8に記載の知能型高帯域幅メモリシステム。
  17. インタフェース物理層(PHY)とホストキューマネージャとを有し、前記インタフェース物理層(PHY)を介してホストとインタフェースし、前記ホストから受信した情報をキューイングするホストマネージャと、
    プリフェッチエンジンとキャッシュコントローラとを有し、前記プリフェッチエンジン及び前記キャッシュコントローラを介してメモリとインタフェースするメモリコントローラと、
    高帯域幅メモリモジュールスタックとインタフェースするメモリコントローラを有する高帯域幅メモリコントローラと、
    前記ホストから処理演算をオフロードするオフロード処理論理部と、を含むことを特徴とする論理ダイ。
  18. 前記オフロード処理論理部は、
    前記ホストマネージャを介して前記ホストから前記オフロードされた処理演算に関する情報を受信し、
    前記オフロードされた処理演算に関する前記受信した情報に応じて前記オフロードされた処理演算を実行することを特徴とする請求項17に記載の論理ダイ。
  19. 前記受信した情報は、フラグを含むことを特徴とする請求項17に記載の論理ダイ。
  20. 前記受信した情報は、コマンドを含むことを特徴とする請求項17に記載の論理ダイ。
  21. さらに、前記コマンドを復号するコマンド復号論理部と、
    前記コマンドを出力するコマンド出力論理部と、を含むことを特徴とする請求項20に記載の論理ダイ。
  22. 前記オフロード処理論理部は、前記出力したコマンドに応答して前記オフロードされた処理演算を実行することを特徴とする請求項21に記載の論理ダイ。
  23. 前記オフロード処理論理部は、演算論理ユニット、浮動小数点ユニット、固定論理、又は再設定可能な論理の少なくとも1つを含むことを特徴とする請求項21に記載の論理ダイ。
  24. 前記オフロード処理論理部は、前記高帯域幅メモリモジュールスタックに格納されたデータに応じて前記オフロードされた処理演算を実行することを特徴とする請求項21に記載の論理ダイ。
  25. 前記メモリコントローラは、SRAMコントローラであり、
    前記メモリは、SRAMであることを特徴とする請求項17に記載の論理ダイ。
JP2018139930A 2017-08-10 2018-07-26 知能型高帯域幅メモリシステム及びそのための論理ダイ Active JP6974270B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762543918P 2017-08-10 2017-08-10
US62/543918 2017-08-10
US15/796743 2017-10-27
US15/796,743 US10545860B2 (en) 2017-08-10 2017-10-27 Intelligent high bandwidth memory appliance

Publications (3)

Publication Number Publication Date
JP2019036298A true JP2019036298A (ja) 2019-03-07
JP2019036298A5 JP2019036298A5 (ja) 2021-08-12
JP6974270B2 JP6974270B2 (ja) 2021-12-01

Family

ID=65275225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018139930A Active JP6974270B2 (ja) 2017-08-10 2018-07-26 知能型高帯域幅メモリシステム及びそのための論理ダイ

Country Status (5)

Country Link
US (1) US10545860B2 (ja)
JP (1) JP6974270B2 (ja)
KR (1) KR102368970B1 (ja)
CN (1) CN109388595B (ja)
TW (1) TWI746878B (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021082246A (ja) * 2019-11-18 2021-05-27 エスケーハイニックス株式会社SK hynix Inc. ニューラルネットワーク処理回路を含むメモリ装置
JP2022523909A (ja) * 2019-03-15 2022-04-27 インテル・コーポレーション マルチタイルメモリ管理
JP2024502279A (ja) * 2020-12-29 2024-01-18 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド オフロードされた命令とオフロードされていない命令との間のメモリ順序付けの保持
US12056059B2 (en) 2019-03-15 2024-08-06 Intel Corporation Systems and methods for cache optimization
US12141578B2 (en) 2017-04-28 2024-11-12 Intel Corporation Instructions and logic to perform floating point and integer operations for machine learning
US12175252B2 (en) 2017-04-24 2024-12-24 Intel Corporation Concurrent multi-datatype execution within a processing resource
US12198222B2 (en) 2019-03-15 2025-01-14 Intel Corporation Architecture for block sparse operations on a systolic array
US12361600B2 (en) 2019-11-15 2025-07-15 Intel Corporation Systolic arithmetic on sparse data
JP2025523323A (ja) * 2023-06-02 2025-07-23 グーグル エルエルシー 大規模言語モデルへの3d-dramチップレットの適用
US12493922B2 (en) 2019-11-15 2025-12-09 Intel Corporation Graphics processing unit processing and caching improvements

Families Citing this family (46)

* Cited by examiner, † Cited by third party
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
GB2553102B (en) * 2016-08-19 2020-05-20 Advanced Risc Mach Ltd A memory unit and method of operation of a memory unit to handle operation requests
US11301412B2 (en) * 2017-12-22 2022-04-12 Intel Corporation Scaling interface architecture between memory and programmable logic
US10770129B2 (en) * 2018-08-21 2020-09-08 Intel Corporation Pseudo-channeled DRAM
US11204819B2 (en) * 2018-12-21 2021-12-21 Samsung Electronics Co., Ltd. System and method for offloading application functions to a device
US10642946B2 (en) 2018-12-28 2020-05-05 Intel Corporation Modular periphery tile for integrated circuit device
US10915451B2 (en) * 2019-05-10 2021-02-09 Samsung Electronics Co., Ltd. Bandwidth boosted stacked memory
US11152343B1 (en) * 2019-05-31 2021-10-19 Kepler Computing, Inc. 3D integrated ultra high-bandwidth multi-stacked memory
US11841803B2 (en) * 2019-06-28 2023-12-12 Advanced Micro Devices, Inc. GPU chiplets using high bandwidth crosslinks
CN112151526B (zh) * 2019-06-28 2024-12-03 桑迪士克科技股份有限公司 包括高速异质集成控制器和高速缓存的半导体设备
US11211378B2 (en) * 2019-07-18 2021-12-28 International Business Machines Corporation Heterogeneous integration structure for artificial intelligence computing
US12039430B2 (en) * 2019-11-15 2024-07-16 Samsung Electronics Co., Ltd. Electronic device and method for inference binary and ternary neural networks
KR102791004B1 (ko) * 2019-12-26 2025-04-02 삼성전자주식회사 셀 단위로 액세스 가능한 스토리지 장치 및 그 동작방법
US11056179B2 (en) * 2020-01-08 2021-07-06 Intel Corporation Techniques to couple high bandwidth memory device on silicon substrate and package substrate
KR102844113B1 (ko) * 2020-01-13 2025-08-11 삼성전자주식회사 메모리 장치, 메모리 모듈 및 메모리 장치의 동작 방법
KR102845463B1 (ko) * 2020-01-15 2025-08-11 삼성전자주식회사 병렬 연산 처리를 수행하는 메모리 장치 및 그 동작방법, 그리고 메모리 장치를 제어하는 메모리 컨트롤러의 동작방법
KR102831057B1 (ko) * 2020-01-20 2025-07-07 삼성전자주식회사 고대역폭 메모리 및 이를 포함하는 시스템
WO2021241048A1 (ja) * 2020-05-28 2021-12-02 パナソニックIpマネジメント株式会社 Aiチップ
KR102911993B1 (ko) 2020-09-07 2026-01-12 삼성전자 주식회사 가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법
CN115868023B (zh) * 2020-09-17 2025-07-01 阿里巴巴集团控股有限公司 三维堆叠处理系统
US11238940B1 (en) * 2020-11-19 2022-02-01 Micron Technology, Inc. Initialization techniques for memory devices
US12347818B2 (en) * 2021-03-26 2025-07-01 Intel Corporation Logic die in a multi-chip package having a configurable physical interface to on-package memory
KR102430982B1 (ko) * 2021-06-10 2022-08-11 삼성전자주식회사 프로세싱부를 포함하는 이종 메모리 시스템을 억세스하는 데이터 처리 시스템 및 방법
CN115469800A (zh) 2021-06-10 2022-12-13 三星电子株式会社 数据处理系统以及用于访问异构存储器系统的方法
CN113760796B (zh) * 2021-09-01 2023-12-22 山东华芯半导体有限公司 一种基于hbm缓存的ssd固态盘
US20230077933A1 (en) * 2021-09-14 2023-03-16 Advanced Micro Devices, Inc. Supporting processing-in-memory execution in a multiprocessing environment
US12274058B2 (en) * 2022-03-21 2025-04-08 Macronix International Co., Ltd. Memory device
CN114706679A (zh) * 2022-03-30 2022-07-05 深圳致星科技有限公司 融合计算和通信的计算网络单元、计算节点及计算网络
CN114709205B (zh) * 2022-06-02 2022-09-09 西安紫光国芯半导体有限公司 一种三维堆叠芯片及其数据处理方法
CN117673013A (zh) * 2022-08-10 2024-03-08 长鑫存储技术有限公司 半导体结构和半导体结构的制造方法
CN115394768B (zh) * 2022-09-06 2025-05-30 华进半导体封装先导技术研发中心有限公司 一种多层高带宽存储器及其制造方法
KR102896243B1 (ko) 2022-10-25 2025-12-08 삼성전자주식회사 호스트와 주변 장치 간의 오프 칩 액세스을 최소화하는 장치 및 방법
US20240371410A1 (en) * 2023-05-02 2024-11-07 Micron Technology, Inc. Apparatus including multiple high bandwidth memory cubes
US12450178B2 (en) 2023-06-02 2025-10-21 Avago Technologies International Sales Pte. Limited Aggregation of multiple memory modules for a system-on-chip
US20240403254A1 (en) * 2023-06-02 2024-12-05 Google Llc Serving Large Language Models with 3D-DRAM Chiplets
US12525540B1 (en) * 2023-06-05 2026-01-13 Eliyan Corp. Multi-chip module (MCM) with scalable high bandwidth memory
US12517664B2 (en) 2023-10-11 2026-01-06 Micron Technology, Inc. Apparatus including an array of pre-configurable memory and storage
KR102874491B1 (ko) * 2023-12-07 2025-10-23 주식회사 코코링크 인공지능 연산처리 시스템 및 이의 제어 방법
US20250231877A1 (en) * 2024-01-12 2025-07-17 Micron Technology, Inc. Cache memories in vertically integrated memory systems and associated systems and methods
US12481608B2 (en) 2024-01-12 2025-11-25 Google Llc Tree-based network architecture for accelerating machine learning collective operations
US20250298523A1 (en) * 2024-03-21 2025-09-25 Samsung Electronics Co., Ltd. Systems and methods of incorporating artificial intelligence accelerators on memory base dies
CN120929419A (zh) * 2024-05-11 2025-11-11 华为技术有限公司 计算装置、内存模块组、计算设备及计算设备集群
KR102888680B1 (ko) * 2024-06-17 2025-11-26 국립한밭대학교 산학협력단 메모리 모듈 및 그 제조방법
US20260003628A1 (en) * 2024-06-28 2026-01-01 Samsung Electronics Co., Ltd. Systems and methods of concurrent execution in processing in memory systems
WO2026015391A1 (en) * 2024-07-09 2026-01-15 Micron Technology, Inc. Memory in package devices and associated systems and methods
CN119046184B (zh) * 2024-08-27 2025-03-21 沐曦科技(成都)有限公司 一种gpu固件日志的存储方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010080802A (ja) * 2008-09-29 2010-04-08 Hitachi Ltd 半導体装置
JP2015533009A (ja) * 2012-09-25 2015-11-16 インテル・コーポレーション パフォーマンスおよび電力のために構成可能な3dメモリ
WO2016209406A1 (en) * 2015-06-26 2016-12-29 Advanced Micro Devices, Inc. Computer architecture using rapidly reconfigurable circuits and high-bandwidth memory interfaces
JP2018198017A (ja) * 2017-05-24 2018-12-13 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100174858A1 (en) * 2009-01-05 2010-07-08 Taiwan Semiconductor Manufacturing Co., Ltd. Extra high bandwidth memory die stack
EP2550661A4 (en) * 2010-03-22 2013-10-09 Mosaid Technologies Inc COMPOSITE SEMICONDUCTOR MEMORY DEVICE WITH ERROR CORRECTION
US20130073755A1 (en) * 2011-09-20 2013-03-21 Advanced Micro Devices, Inc. Device protocol translator for connection of external devices to a processing unit package
JP5970078B2 (ja) * 2011-12-02 2016-08-17 インテル・コーポレーション デバイス相互接続の変化を可能にする積層メモリ
DE112011105990T5 (de) * 2011-12-22 2014-09-11 Intel Corporation Integriertes 3D-Schaltungspaket mit Fensterinterposer
US8922243B2 (en) * 2012-12-23 2014-12-30 Advanced Micro Devices, Inc. Die-stacked memory device with reconfigurable logic
US20140040532A1 (en) * 2012-08-06 2014-02-06 Advanced Micro Devices, Inc. Stacked memory device with helper processor
KR20140131623A (ko) * 2013-05-06 2014-11-14 에스케이하이닉스 주식회사 반도체 장치
KR20140147218A (ko) * 2013-06-19 2014-12-30 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 시스템
US20150106574A1 (en) * 2013-10-15 2015-04-16 Advanced Micro Devices, Inc. Performing Processing Operations for Memory Circuits using a Hierarchical Arrangement of Processing Circuits
US9535831B2 (en) * 2014-01-10 2017-01-03 Advanced Micro Devices, Inc. Page migration in a 3D stacked hybrid memory
US20160188519A1 (en) * 2014-12-27 2016-06-30 Intel Corporation Method, apparatus, system for embedded stream lanes in a high-performance interconnect
KR102275812B1 (ko) * 2015-09-04 2021-07-14 삼성전자주식회사 센터 패드 타입의 스택드 칩 구조에서 신호 완결성 이슈를 개선할 수 있는 온다이 터미네이션 스키마를 갖는 반도체 메모리 장치
US10691634B2 (en) * 2015-11-30 2020-06-23 Pezy Computing K.K. Die and package
US11397687B2 (en) * 2017-01-25 2022-07-26 Samsung Electronics Co., Ltd. Flash-integrated high bandwidth memory appliance

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010080802A (ja) * 2008-09-29 2010-04-08 Hitachi Ltd 半導体装置
JP2015533009A (ja) * 2012-09-25 2015-11-16 インテル・コーポレーション パフォーマンスおよび電力のために構成可能な3dメモリ
WO2016209406A1 (en) * 2015-06-26 2016-12-29 Advanced Micro Devices, Inc. Computer architecture using rapidly reconfigurable circuits and high-bandwidth memory interfaces
JP2018530025A (ja) * 2015-06-26 2018-10-11 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 高速で再構成可能な回路及び高帯域幅のメモリインタフェースを用いたコンピュータアーキテクチャ
JP2018198017A (ja) * 2017-05-24 2018-12-13 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12411695B2 (en) 2017-04-24 2025-09-09 Intel Corporation Multicore processor with each core having independent floating point datapath and integer datapath
US12175252B2 (en) 2017-04-24 2024-12-24 Intel Corporation Concurrent multi-datatype execution within a processing resource
US12141578B2 (en) 2017-04-28 2024-11-12 Intel Corporation Instructions and logic to perform floating point and integer operations for machine learning
US12217053B2 (en) 2017-04-28 2025-02-04 Intel Corporation Instructions and logic to perform floating point and integer operations for machine learning
US12066975B2 (en) 2019-03-15 2024-08-20 Intel Corporation Cache structure and utilization
US12182035B2 (en) 2019-03-15 2024-12-31 Intel Corporation Systems and methods for cache optimization
US12056059B2 (en) 2019-03-15 2024-08-06 Intel Corporation Systems and methods for cache optimization
JP2022523909A (ja) * 2019-03-15 2022-04-27 インテル・コーポレーション マルチタイルメモリ管理
US12079155B2 (en) 2019-03-15 2024-09-03 Intel Corporation Graphics processor operation scheduling for deterministic latency
US12093210B2 (en) 2019-03-15 2024-09-17 Intel Corporation Compression techniques
US12099461B2 (en) 2019-03-15 2024-09-24 Intel Corporation Multi-tile memory management
US12124383B2 (en) 2019-03-15 2024-10-22 Intel Corporation Systems and methods for cache optimization
US12013808B2 (en) 2019-03-15 2024-06-18 Intel Corporation Multi-tile architecture for graphics operations
US12141094B2 (en) 2019-03-15 2024-11-12 Intel Corporation Systolic disaggregation within a matrix accelerator architecture
US12153541B2 (en) 2019-03-15 2024-11-26 Intel Corporation Cache structure and utilization
US12007935B2 (en) 2019-03-15 2024-06-11 Intel Corporation Graphics processors and graphics processing units having dot product accumulate instruction for hybrid floating point format
US12182062B1 (en) 2019-03-15 2024-12-31 Intel Corporation Multi-tile memory management
JP7513354B2 (ja) 2019-03-15 2024-07-09 インテル・コーポレーション マルチタイルメモリ管理
US12198222B2 (en) 2019-03-15 2025-01-14 Intel Corporation Architecture for block sparse operations on a systolic array
US12204487B2 (en) 2019-03-15 2025-01-21 Intel Corporation Graphics processor data access and sharing
US12210477B2 (en) 2019-03-15 2025-01-28 Intel Corporation Systems and methods for improving cache efficiency and utilization
US12386779B2 (en) 2019-03-15 2025-08-12 Intel Corporation Dynamic memory reconfiguration
US12242414B2 (en) 2019-03-15 2025-03-04 Intel Corporation Data initialization techniques
US12293431B2 (en) 2019-03-15 2025-05-06 Intel Corporation Sparse optimizations for a matrix accelerator architecture
US12321310B2 (en) 2019-03-15 2025-06-03 Intel Corporation Implicit fence for write messages
US12361600B2 (en) 2019-11-15 2025-07-15 Intel Corporation Systolic arithmetic on sparse data
US12493922B2 (en) 2019-11-15 2025-12-09 Intel Corporation Graphics processing unit processing and caching improvements
JP2021082246A (ja) * 2019-11-18 2021-05-27 エスケーハイニックス株式会社SK hynix Inc. ニューラルネットワーク処理回路を含むメモリ装置
JP2024502279A (ja) * 2020-12-29 2024-01-18 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド オフロードされた命令とオフロードされていない命令との間のメモリ順序付けの保持
JP2025523323A (ja) * 2023-06-02 2025-07-23 グーグル エルエルシー 大規模言語モデルへの3d-dramチップレットの適用

Also Published As

Publication number Publication date
TW201918883A (zh) 2019-05-16
KR20190017639A (ko) 2019-02-20
US20190050325A1 (en) 2019-02-14
US10545860B2 (en) 2020-01-28
KR102368970B1 (ko) 2022-03-02
TWI746878B (zh) 2021-11-21
CN109388595B (zh) 2023-12-01
CN109388595A (zh) 2019-02-26
JP6974270B2 (ja) 2021-12-01

Similar Documents

Publication Publication Date Title
JP6974270B2 (ja) 知能型高帯域幅メモリシステム及びそのための論理ダイ
CN110546654B (zh) 通过构造接口的带宽控制来增强dnn模块的处理性能
CN110007961B (zh) 一种基于risc-v的边缘计算硬件架构
US11461651B2 (en) System on a chip with deep learning accelerator and random access memory
US20210089871A1 (en) Processing system and method for binary weight convolutional neural network
WO2020073211A1 (zh) 运算加速器、处理方法及相关设备
CN110147251A (zh) 用于计算神经网络模型的架构、芯片及计算方法
CN104915322A (zh) 一种卷积神经网络硬件加速方法及其axi总线ip核
US20210320967A1 (en) Edge Server with Deep Learning Accelerator and Random Access Memory
US20200073702A1 (en) Method and system for performing parallel computation
WO2023124428A1 (zh) 芯片、加速卡以及电子设备、数据处理方法
CN111209243B (zh) 数据处理装置、方法及相关产品
CN117632844A (zh) 一种可重构ai算法硬件加速器
CN110888824A (zh) 多级存储器层级结构
CN114492729B (zh) 卷积神经网络处理器、实现方法、电子设备及存储介质
CN107678781A (zh) 处理器以及用于在处理器上执行指令的方法
US11907144B1 (en) Early semaphore update
CN111813449A (zh) 运算方法、装置及相关产品
CN116521088A (zh) 数据处理方法、装置、设备及存储介质
CN111382856A (zh) 数据处理装置、方法、芯片及电子设备
WO2023207295A1 (zh) 数据处理方法、数据处理单元、系统及相关设备
CN114489496A (zh) 基于fpga人工智能加速器的数据存储和传输方法
CN111382852A (zh) 数据处理装置、方法、芯片及电子设备
TW202540836A (zh) 減少記憶體中處理操作中之延時
CN111813376A (zh) 运算方法、装置及相关产品

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210702

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210702

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211005

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211104

R150 Certificate of patent or registration of utility model

Ref document number: 6974270

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250