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

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

Info

Publication number
JP6974270B2
JP6974270B2 JP2018139930A JP2018139930A JP6974270B2 JP 6974270 B2 JP6974270 B2 JP 6974270B2 JP 2018139930 A JP2018139930 A JP 2018139930A JP 2018139930 A JP2018139930 A JP 2018139930A JP 6974270 B2 JP6974270 B2 JP 6974270B2
Authority
JP
Japan
Prior art keywords
hbm
host
logic
intelligent
logic die
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018139930A
Other languages
English (en)
Other versions
JP2019036298A (ja
JP2019036298A5 (ja
Inventor
宏 忠 ズン,
ロバート ブレンナン,
晋 賢 金,
ヒュン ソク キム,
クリシュナ テジャ マラディ,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/18Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different subgroups of the same main group of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/03Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
    • H01L25/04Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
    • H01L25/065Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
    • H01L25/0655Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00 the devices being arranged next to each other
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/03Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
    • H01L25/04Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
    • H01L25/065Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
    • H01L25/0652Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00 the devices being arranged next and on each other, i.e. mixed assemblies
    • 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 Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Neurology (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)

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 0006974270
Figure 0006974270
本明細書には、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 (23)

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

Families Citing this family (21)

* 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
CN113396401A (zh) 2019-03-15 2021-09-14 英特尔公司 多贴片存储器管理
US10915451B2 (en) * 2019-05-10 2021-02-09 Samsung Electronics Co., Ltd. Bandwidth boosted stacked memory
CN112151526A (zh) * 2019-06-28 2020-12-29 西部数据技术公司 包括高速异质集成控制器和高速缓存的半导体设备
US11211378B2 (en) * 2019-07-18 2021-12-28 International Business Machines Corporation Heterogeneous integration structure for artificial intelligence computing
US20210150313A1 (en) * 2019-11-15 2021-05-20 Samsung Electronics Co., Ltd. Electronic device and method for inference binary and ternary neural networks
KR20220032366A (ko) 2020-09-07 2022-03-15 삼성전자주식회사 가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법
US20230326905A1 (en) * 2020-09-17 2023-10-12 Alibaba Group Holding Limited Three-dimensional stacked processing systems
US11238940B1 (en) 2020-11-19 2022-02-01 Micron Technology, Inc. Initialization techniques for memory devices
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
CN114709205B (zh) * 2022-06-02 2022-09-09 西安紫光国芯半导体有限公司 一种三维堆叠芯片及其数据处理方法
CN117673013A (zh) * 2022-08-10 2024-03-08 长鑫存储技术有限公司 半导体结构和半导体结构的制造方法
CN115394768A (zh) * 2022-09-06 2022-11-25 华进半导体封装先导技术研发中心有限公司 一种多层高带宽存储器及其制造方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5331427B2 (ja) * 2008-09-29 2013-10-30 株式会社日立製作所 半導体装置
US20100174858A1 (en) * 2009-01-05 2010-07-08 Taiwan Semiconductor Manufacturing Co., Ltd. Extra high bandwidth memory die stack
WO2011116454A1 (en) * 2010-03-22 2011-09-29 Mosaid Technologies Incorporated 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
US9627357B2 (en) * 2011-12-02 2017-04-18 Intel Corporation Stacked memory allowing variance in device interconnects
JP6014907B2 (ja) * 2011-12-22 2016-10-26 インテル・コーポレーション ウィンドウインタポーザを有する3d集積回路パッケージ
US20140040532A1 (en) * 2012-08-06 2014-02-06 Advanced Micro Devices, Inc. Stacked memory device with helper processor
US8922243B2 (en) * 2012-12-23 2014-12-30 Advanced Micro Devices, Inc. Die-stacked memory device with reconfigurable logic
US8737108B2 (en) * 2012-09-25 2014-05-27 Intel Corporation 3D memory configurable for performance and power
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
US9698790B2 (en) * 2015-06-26 2017-07-04 Advanced Micro Devices, Inc. Computer architecture using rapidly reconfigurable circuits and high-bandwidth memory interfaces
KR102275812B1 (ko) * 2015-09-04 2021-07-14 삼성전자주식회사 센터 패드 타입의 스택드 칩 구조에서 신호 완결성 이슈를 개선할 수 있는 온다이 터미네이션 스키마를 갖는 반도체 메모리 장치
WO2017094092A1 (ja) * 2015-11-30 2017-06-08 株式会社PEZY Computing ダイ及びパッケージ
US11397687B2 (en) * 2017-01-25 2022-07-26 Samsung Electronics Co., Ltd. Flash-integrated high bandwidth memory appliance
JP6815277B2 (ja) * 2017-05-24 2021-01-20 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6974270B2 (ja) 知能型高帯域幅メモリシステム及びそのための論理ダイ
US10540584B2 (en) Queue management for direct memory access
US10916252B2 (en) Accelerated data transfer for latency reduction and real-time processing
WO2020046643A1 (en) Method and system for performing parallel computation
US20220391781A1 (en) Architecture-agnostic federated learning system
CN117631974A (zh) 跨越基于存储器的通信队列的多信道接口的存取请求重新排序
WO2023124304A1 (zh) 芯片的缓存系统、数据处理方法、设备、存储介质及芯片
US11500802B1 (en) Data replication for accelerator
US11550736B1 (en) Tensorized direct memory access descriptors
CN115563053A (zh) 高性能片上内存控制器及其执行的方法
Hou et al. An FPGA-based multi-core system for synthetic aperture radar data processing
US11392377B2 (en) System-on-chip, data processing method thereof, and neural network device
CN111382852B (zh) 数据处理装置、方法、芯片及电子设备
DE112020007283T5 (de) Dockingboard für eine Multiformat-Grafikverarbeitungseinheit
CN102999393B (zh) 一种数据传输的方法、装置及电子设备
US11907144B1 (en) Early semaphore update
US11983128B1 (en) Multidimensional and multiblock tensorized direct memory access descriptors
US20240201990A1 (en) Fused Data Generation and Associated Communication
US11748253B1 (en) Address generation for page collision prevention in memory regions
US20240069800A1 (en) Host-preferred memory operation
US11789859B1 (en) Address generation for page collision prevention
CN114399034B (zh) 用于直接存储器访问装置的数据搬运方法
WO2022088171A1 (en) Neural processing unit synchronization systems and methods
US20230379746A1 (en) Deep learning-based wireless communication synchronization structures
US20230068168A1 (en) Neural network transpose layer removal

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