[go: up one dir, main page]

KR102368970B1 - 지능형 고 대역폭 메모리 장치 - Google Patents

지능형 고 대역폭 메모리 장치 Download PDF

Info

Publication number
KR102368970B1
KR102368970B1 KR1020180065482A KR20180065482A KR102368970B1 KR 102368970 B1 KR102368970 B1 KR 102368970B1 KR 1020180065482 A KR1020180065482 A KR 1020180065482A KR 20180065482 A KR20180065482 A KR 20180065482A KR 102368970 B1 KR102368970 B1 KR 102368970B1
Authority
KR
South Korea
Prior art keywords
host
high bandwidth
bandwidth memory
offload processing
logic
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
KR1020180065482A
Other languages
English (en)
Other versions
KR20190017639A (ko
Inventor
홍종 정
로버트 브레난
김진현
김형석
크리시나 테자 말라디
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20190017639A publication Critical patent/KR20190017639A/ko
Application granted granted Critical
Publication of KR102368970B1 publication Critical patent/KR102368970B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of semiconductor or other solid state devices
    • H01L25/18Assemblies consisting of a plurality of semiconductor or other solid state devices the devices being of the types provided for in two or more different main groups of the same subclass of H10B, H10D, H10F, H10H, H10K or H10N
    • 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
    • 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]
    • 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 semiconductor or other solid state devices
    • H01L25/03Assemblies consisting of a plurality of semiconductor or other solid state devices all the devices being of a type provided for in a single subclass of subclasses H10B, H10D, H10F, H10H, H10K or H10N, e.g. assemblies of rectifier diodes
    • H01L25/04Assemblies consisting of a plurality of semiconductor or other solid state devices all the devices being of a type provided for in a single subclass of subclasses H10B, H10D, H10F, H10H, H10K or H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
    • H01L25/065Assemblies consisting of a plurality of semiconductor or other solid state devices all the devices being of a type provided for in a single subclass of subclasses H10B, H10D, H10F, H10H, H10K or H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H10D89/00
    • H01L25/0655Assemblies consisting of a plurality of semiconductor or other solid state devices all the devices being of a type provided for in a single subclass of subclasses H10B, H10D, H10F, H10H, H10K or H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H10D89/00 the devices being arranged next to each other
    • 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
    • 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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of semiconductor or other solid state devices
    • H01L25/03Assemblies consisting of a plurality of semiconductor or other solid state devices all the devices being of a type provided for in a single subclass of subclasses H10B, H10D, H10F, H10H, H10K or H10N, e.g. assemblies of rectifier diodes
    • H01L25/04Assemblies consisting of a plurality of semiconductor or other solid state devices all the devices being of a type provided for in a single subclass of subclasses H10B, H10D, H10F, H10H, H10K or H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
    • H01L25/065Assemblies consisting of a plurality of semiconductor or other solid state devices all the devices being of a type provided for in a single subclass of subclasses H10B, H10D, H10F, H10H, H10K or H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H10D89/00
    • H01L25/0652Assemblies consisting of a plurality of semiconductor or other solid state devices all the devices being of a type provided for in a single subclass of subclasses H10B, H10D, H10F, H10H, H10K or H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H10D89/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)

Abstract

본 발명의 양상들은 지능형 고 대역폭 메모리 시스템을 포함하며, 지능형 고 대역폭 메모리 시스템은 CPU, GPU, ASIC 또는 FPGA 중 적어도 하나를 포함하는 호스트; 및 적층된 복수의 고 대역폭 메모리 모듈들 및 복수의 고 대역폭 메모리 모듈들 아래에 배치된 로직 다이를 포함하는 지능형 고 대역폭 메모리 스택을 포함한다. 로직 다이는 호스트로부터 처리 연산들을 오프로드한다. 지원 하드웨어 및 소프트웨어 아키텍처, 로직 다이 마이크로아키텍처, 및 메모리 인터페이스 시그널링 옵션에 따라 고 대역폭 메모리의 로직 다이에서 특정 연산능력을 제공하는 시스템 아키텍처가 개시된다. 고 대역폭 메모리 스택 하부의 로직 다이의 메모리 내 처리 능력을 이용하기 위한 다양한 새로운 방법들이 제공된다. 또한, 고 대역폭 메모리 인터페이스를 사용하기 위한 다양한 새로운 시그널링 프로토콜이 개시된다. 로직 다이 마이크로아키텍처 및 지원 시스템 프레임워크 또한 설명된다.

Description

지능형 고 대역폭 메모리 장치{INTELLIGENT HIGH BANDWIDTH MEMORY APPLIANCE}
본 개시는 반도체 회로에 관한 것이고, 보다 구체적으로는, 호스트에 의해 일반적으로 수행되는 복합 논리연산을 오프로드(Offload)하기 위한 로직 다이(Logic Die)를 포함하는 지능형 고 대역폭 메모리 장치에 관한 것이다.
인터넷으로 인하여 수많은 컴퓨터 및 모바일 디바이스에 데이터를 제공하는 컴퓨터 서버의 수가 크게 급증해왔다. 인공지능(Artificial Intelligence: AI) 및 기타 심층학습(Deep Learning) 애플리케이션들은 점점 더 보편화되고 있으며, 현재 그 수요가 크게 증가하고 있다. 오늘날의 서버 컴퓨터 환경은 스토리지 내 및 메모리 내에서 연산을 수행하는 방향으로 나아가고 있으며, 이에 따라, 데이터가 실제 존재하는 곳과 가까운 위치에서 일부 연산이 수행된다. 이는 성능을 향상시키고 에너지 소비를 감소시킨다.
심층 신경망(Deep Neural Network)과 같은 새로운 애플리케이션은 여러 데이터 세트를 훈련하고 높은 정확도로 학습하기 위해 대량의 연산 및 메모리 능력을 필요로 한다. 또한, 고성능 컴퓨터(High Performance Computer: HPC), 그래픽 알고리즘 등과 같은 애플리케이션이 데이터 및 연산 집약화되면서, 에너지 효율성 및 저지연성이 결정적인 요소가 되었다.
최근에는 동적 랜덤 액세스 메모리(Dynamic Random Access Memory: DRAM) 다이(Die)를 다른 다이 위에 적층함으로써 작은 폼 팩터(Form Factor)로 전력을 덜 소모하면서도 더 높은 대역폭을 획득하기 위해 고 대역폭 메모리(High Bandwidth Memory: HBM) 및 고 대역폭 메모리 2(HBM 2)가 이용되고 있고, 이들은 호스트와의 비동기식 통신 인터페이스를 제공한다. 비동기 통신 특성은 성능은 향상시키지만 복합 논리연산 처리는 더욱 어렵게 만든다. 논리연산이 복잡하면 판단성(Determinism)은 약하다. 다시 말해, 특정한 복합 논리연산이 완료되기까지 얼마나 오랜 시간이 걸릴 지가 확실치 않다.
본 개시는 전술한 문제점을 해결하기 위하여 지능형 고 대역폭 메모리 장치를 제공하고자 한다.
중앙처리장치(Central Processing Unit: CPU), 그래픽처리장치(Graphics Processing Unit: GPU), 주문형 집적회로(Application Specific Integrated Circuit: ASIC) 또는 필드 프로그래머블 게이트 어레이(Field Programmable Gate Array: FPGA) 중 적어도 하나를 포함하는 호스트; 및 적층된 복수의 고 대역폭 메모리(HBM) 모듈 및 복수의 고 대역폭 메모리 모듈 아래에 배치된 로직 다이를 포함하는 지능형 고 대역폭 메모리 스택을 포함하는 지능형 고 대역폭 메모리 시스템이 개시된다. 로직 다이는 호스트로부터 처리 연산을 오프로드한다.
일부 실시예들에 있어서, 로직 다이는 인터페이스 물리영역(PHY) 및 호스트 큐 관리자를 포함하는 호스트 관리자를 포함하며, 호스트 관리자는 인터페이스 물리영역을 통해 호스트와 인터페이스하고 호스트로부터 수신한 정보들(Communications)을 큐잉한다. 로직 다이는 프리페치 엔진(Prefetch Engine) 및 캐시 컨트롤러를 포함하는 메모리 컨트롤러를 더 포함할 수 있고, 메모리 컨트롤러는 프리페치 엔진 및 캐시 컨트롤러를 통해 메모리와 인터페이스한다. 로직 다이는 고 대역폭 메모리 모듈 스택과 인터페이스하는 메모리 컨트롤러를 포함하는 고 대역폭 메모리 컨트롤러를 더 포함할 수 있다. 로직 다이는 호스트로부터 처리 연산을 오프로드하는 오프로드 처리 로직부를 더 포함할 수 있다.
본 개시는 지원 하드웨어 및 소프트웨어 아키텍처, 로직 다이 마이크로아키텍처, 및 메모리 인터페이스 시그널링 옵션에 따라 특정 연산능력을 갖는 로직 다이를 제공함으로써 고 대역폭 메모리 시스템의 에너지 효율을 향상시키고 지연시간을 감소시킬 수 있다.
본 발명 원리의 전술한 특징 및 이점과 그 밖의 특징 및 이점은 첨부도면들을 참조하여 하기의 상세한 설명을 통해 보다 쉽게 명백해질 것이다.
도 1은 지능형 HBM 장치의 예시적인 평면 블록도이다.
도 2는 도 1의 2-2 선에 따른 지능형 HBM 장치의 단면 블록도를 도시한다.
도 3은 호스트로부터 연산 작업을 오프로드하기 위한 2가지 유형의 아키텍처에 대한 프레임워크 블록도이다.
도 4는 일부 실시예들에 따라 주로 하드웨어로 구현되는 호스트 구성요소 및 지능형 HBM 스택을 포함하는 시스템의 예시적인 블록도이다.
도 5a는 일부 실시예들에 따라 주로 소프트웨어로 구현되는 호스트 구성요소 및 지능형 HBM 스택을 포함하는 시스템의 예시적인 블록도이다.
도 5b는 일부 실시예들에 따라 서로 다른 커널들이 GPU 또는 지능형 HBM 스택에서 처리될 수 있는 방법을 설명하기 위한 도면이다.
도 6은 도 1 및 도 2의 로직 다이의 마이크로아키텍처를 도시한다.
도 7은 본 명세서에 개시된 실시예들에 따른 도 1의 지능형 HBM 장치를 포함하는 컴퓨팅 시스템의 예시적인 블록도이다.
이하, 첨부된 도면을 참조하여 다양한 실시예들에 대해 상세히 설명한다. 이하의 상세한 설명에서, 실시예들의 완전한 이해를 돕기 위해 다양한 특정 세부사항들이 기재된다. 그러나 본 발명이 속한 기술분야의 통상의 기술자가 이러한 특정 세부사항들 없이도 본 발명의 기술적 사상을 실시할 수 있음은 당연하다. 다른 예시들에서, 공지의 방법, 절차, 구성, 회로 및 네트워크에 대한 구체적인 설명은 본 실시예들의 다양한 양상이 불필요하게 모호해지지 않도록 생략된다.
제1, 제2 등과 같은 용어가 다양한 구성요소들을 설명하기 위해 본 명세서에서 사용되었더라도, 이와 같은 용어에 의해 해당 구성요소들이 제한되지 않음은 당연하다. 이러한 용어는 단지 구성요소 간의 구별을 위해 사용될 뿐이다. 예를 들어, 본 실시예들의 범위에서 벗어나지 않고 제1 모듈은 제2 모듈로 지칭될 수 있고, 이와 유사하게 제2 모듈 역시 제1 모듈로 지칭될 수 있다.
본 명세서에서 실시예들의 설명을 위해 사용된 전문용어는 특정 실시예들의 설명만을 목적으로 하며, 본 발명의 기술적 사상을 제한하고자 하는 것이 아니다. 실시예들에 대한 설명 및 첨부된 청구범위에서 사용되는 바와 같이, 단수형태 용어는 문맥상 명백히 달리 지시하지 않는 한 복수형태 용어도 포함한다. 본 명세서에서 사용되는 "및/또는" 이라는 용어는 열거된 하나 이상의 관련항목들의 가능한 임의의 조합 및 모든 조합들을 지칭 및 포함한다. 또한, 본 명세서에서 사용되는 "포함한다" 및/또는 "포함하는" 이라는 용어는 언급된 특징들, 숫자들, 단계들, 동작들, 요소들 및/또는 구성들의 존재를 명시하지만, 하나 이상의 다른 특징들, 숫자들, 단계들, 동작들, 요소들, 구성들 및/또는 이들의 집합들이 존재하거나 부가되는 것을 배제하는 것은 아니다. 본 도면들의 구성요소 및 특징들은 반드시 일정한 비율로 도시되는 것은 아니다.
인공지능 컴퓨팅 애플리케이션이 성장함에 따라, 이미지 및 음성 분류, 미디어 분석, 건강 관리, 자율 시스템 및 스마트 어시스턴트에 이르는 영역의 새로운 애플리케이션을 실행할 수 있는 새로운 하드웨어가 필요하다. 인공지능 애플리케이션은 기계학습 프레임워크를 구동한다. 예를 들어, 심층 신경망 알고리즘에서는 빈번하게 데이터 세트의 크기가 하드웨어의 사용 가능한 연산능력을 상회한다. 보다 새로운 아키텍처가 개발될 때까지, 높은 테라플롭스(Teraflops)의 연산능력을 갖춘 새로운 고성능 컴퓨터(High Performance Computers: HPCs)가 대용 솔루션으로서 등장했다. HBM은 HBM2로 발전하여 병렬 가속기를 위한 고 대역폭을 제공하며, 호스트 장치 당 4~8 모듈 스택을 제공한다. 호스트는 예를 들어, 마이크로프로세서와 같은 중앙처리장치(CPU), 주문형 집적회로(ASIC), 그래픽처리장치(GPU), 필드 프로그래머블 게이트 어레이(FPGA) 등을 포함할 수 있다. 현재 대역폭은 초당 1 테라바이트 범위이며, 이는 GDDR5(Double Data Rate Five Synchronous Graphics)보다 2배 더 효율적이다.
본 명세서에 개시된 실시예들은 지원 하드웨어 및 소프트웨어 아키텍처, 로직 다이 마이크로아키텍처, 및 메모리 인터페이스 시그널링 옵션에 따라 고 대역폭 메모리의 로직 다이에서 특정 연산능력을 제공하는 시스템 아키텍처를 포함한다. HBM 메모리 스택 하부에 배치된 로직 다이의 메모리 내(In-memory) 처리 능력을 이용하기 위한 여러 가지 새로운 방법들이 제공된다. 또한, HBM 인터페이스를 이용하기 위한 여러 가지 새로운 시그널링 프로토콜이 개시된다. 또한, 로직 다이 마이크로아키텍처 및 지원 시스템 프레임워크도 설명된다.
본 시스템은 GPU, FPGA 등과 같은 가속기에서 에너지 효율적으로 고속 연산을 수행하기 위한 종단 간 솔루션(End-End Solution)을 제공한다. 처리 연산을 오프로드하면 하드웨어 또는 소프트웨어 툴 체인(Tool Chain)에 다른 수준의 복잡성을 도입하여 여러 이점들을 이끌어낼 수 있다. 본 명세서에서 "지능형 HBM (HBM+)"이라 지칭되는 새로운 아키텍처는 HBM2 및 PIM으로 형성된다. HBM2 아키텍처는 호스트당 최대 4개의 스택, 스택당 최대 8개의 채널을 포함하며, 스택당 4~8개의 다이를 포함한다. 채널당 16개의 뱅크가 존재할 수 있고, 뱅크 그룹이 지원된다. 데이터 라인(DQ) 폭은 예컨대, 128 + 선택적 오류 코드 정정(Error Code Correcting: 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-ISA/G-ISA(GPU Instruction Set Architecture, 315) 및/또는 GPU(320)를 포함할 수 있다.
다른 아키텍처(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)는 예를 들어, CPU(405), DRAM 버퍼(410), PCI-E 인터페이스(415), GPU(420) 등을 포함할 수 있다. 주로 하드웨어로 구현되는 경우, 호스트(115) (예: GPU (420))는 메모리 컨트롤러의 변경을 수반할 수 있다. GPU(420)는 오프로드된 논리 처리를 수행할 수 있는 HBM2 모듈들(예: 110) 및/또는 지능형 HBM 스택(120)으로 연산을 직접 오프로드할 수 있다. 본 실시예에서는 동기식 또는 비동기식 호스트-메모리 간 프로토콜이 존재할 수 있으며, 애플리케이션의 변경은 필요하지 않다.
도 5a는 일부 실시예들에 따라 주로 소프트웨어로 구현되는 호스트 구성요소(예: 405, 410, 415 및 420) 및 지능형 HBM 스택(120)을 포함하는 시스템(500)의 예시적인 블록도이다. 호스트(115)는 예를 들어, CPU(405), DRAM 버퍼(410), PCI-E 인터페이스(415), GPU(420) 등을 포함할 수 있다.
주로 소프트웨어로 구현되는 경우, CPU(405)로 GPU 메모리의 캐시되지 않은 사용자 공간 맵핑을 생성하기 위해 gdrcopy와 같은 메모리 맵 입/출력(Memory Mapped I/O: MMIO) 기술이 사용될 수 있다. 이러한 사용자 공간 맵핑은 GPU(420)로부터 DRAM 버퍼(410) 내 공용 버퍼로 오프로드된 커널(510)의 데이터를 CPU(405)가 직접 독출할 수 있게 한다. 이후, CPU(405)는 지능형 HBM 스택(120)으로 데이터를 복사하거나, 관련 주소로 HBM 로직을 다시 전송할 수 있다. 인공지능 애플리케이션(305, 도 3 참조)과 같은 상위 계층 애플리케이션은 연산을 위해 지능형 HBM 스택을 사용하도록 변경될 수 있다. 하드웨어의 변경은 불필요하다.
도 5b는 일부 실시예들에 따라 서로 다른 커널들이 GPU 또는 지능형 HBM 스택에서 처리되는 방법을 설명하기 위한 도면(502)이다. 즉, 구성에 따라 하나의 애플리케이션 내 서로 다른 부분들은 서로 다른 하드웨어에서 실행될 수 있다. 다시 말해, 서로 다른 커널들 또는 함수들이 GPU(420) 또는 지능형 HBM 스택(120) 중 어느 하나에서 개시 및 처리됨으로써 처리 부하를 분산시킬 수 있다. 예를 들어, GPU(420)는 DATA_IN을 수신하고 KERNEL_1을 처리할 수 있다. 지능형 HBM 스택(120)은 DATA_1을 수신하고 KERNEL_2를 처리하며 DATA_2를 생성할 수 있다. GPU(420)는 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)
일부 실시예들에 있어서, 다양한 하드웨어 구성요소들 간의 처리를 조정하기 위해 하나 이상의 플래그가 설정될 수 있다. 예를 들어, CPU(405)는 처리가 개시되어야 함을 지시하는 제1 플래그를 설정할 수 있다. 이후, CPU(405)는 DRAM 버퍼(410)로부터 GPU(420)로 데이터를 복사할 수 있으며, 처리의 적어도 일부는 지능형 HBM 스택(120)에 의해 이루어질 수 있다. 그런 다음, GPU(420) 및/또는 지능형 HBM 스택(120)은 처리가 완료되었음을 지시하는 제2 플래그를 설정할 수 있다. 그리고 CPU(405)는 데이터를 DRAM 버퍼(410)로 다시 복사할 수 있다.
도 6은 도 1 및 도 2의 로직 다이(105)의 마이크로아키텍처를 도시한다. 코어 아키텍처(605)는 프로세싱-인-메모리(Processing-In-Memory: PIM) 명령(예: PIM_CMD)을 복호화하고, 내부 마이크로연산들을 출력하며, 다중 프로세싱-인-메모리(PIM) 연산들을 스케줄링한다. 주변 로직은 다양한 상태 장치(State Machine)를 포함하는, 큐잉을 제어하는 호스트 관리자(615), SRAM 컨트롤러(620), HBM 컨트롤러(625) 및 오프로드 처리 로직부(610)를 포함할 수 있다.
보다 구체적으로, 로직 다이(105)는 인터페이스 물리영역(Interface PHY, 675) 및 호스트 큐 관리자(680)를 포함하는 호스트 관리자(615)를 포함할 수 있다. 일부 실시예들에 있어서, 호스트 관리자(615)는 인터페이스 물리영역(675)을 통해 호스트(예: 도 1의 115)와 인터페이스할 수 있다. 또한, 호스트 관리자(615)는 호스트(115)로부터 수신한 정보들(Communications)을 큐잉한다. 로직 다이(105)는 프리페치 엔진(685) 및 캐시 컨트롤러(690)를 포함하는 SRAM 컨트롤러(620)를 포함할 수 있다. SRAM 컨트롤러(620)는 프리페치 엔진(685) 및 캐시 컨트롤러(690)를 통해 SRAM(635)과 인터페이스한다.
로직 다이(105)는 HBM2 모듈 스택(630)과 인터페이스하는 메모리 컨트롤러(698) 및 오류 정정 코드(Error Correction Code: ECC) 로직부(695)를 포함하는 고 대역폭 메모리(HBM) 컨트롤러(625)를 포함할 수 있다. 일부 실시예들에 있어서, 로직 다이(105)는 호스트(예: 도 1의 115)로부터 처리 연산을 오프로드하는 오프로드 처리 로직부(610)를 포함할 수 있다. 일부 실시예들에 있어서, 오프로드 처리 로직부(610)는 호스트 관리자(615)를 통해 호스트(115)로부터 오프로드 처리 연산에 대한 정보를 수신한다. 일부 실시예들에 있어서, 오프로드 처리 로직부(610)는 오프로드 처리 연산에 대한 수신된 정보에 따라 처리 연산을 수행한다. 수신된 정보는 플래그를 포함할 수 있다. 수신된 정보는 명령을 포함할 수 있다.
일부 실시예들에 있어서, 명령 복호화 로직부(640)는 명령을 복호화한다. 일부 실시예들에 있어서, 명령 출력 로직부(645)는 명령을 출력한다. 오프로드 처리 로직부(610)는 출력된 명령에 응답하여 오프로드 처리 연산을 수행할 수 있다. 오프로드 처리 로직부(610)는 ALU(Arithmetic Logic Unit, 655), FPU(Floating-Point Unit, 660), 고정 로직(670) 또는 재설정 가능 로직(665) 중 적어도 하나를 포함한다. 일부 실시예들에 있어서, 오프로드 처리 로직부(610)는 HBM2 모듈 스택(630)에 저장된 데이터에 따라 오프로드 처리 연산을 수행한다. 또한, 코어 아키텍처(605)는 유한 상태 장치(Finite State Machine: FSM, 650)를 포함할 수 있다.
하드웨어 기반 프로토콜은 1단계 프로토콜(One-step Protocol) 또는 2단계 프로토콜(Two-step Protocol)을 포함할 수 있다. 1단계 프로토콜은 호스트(예: 도 1의 115)가 추가적으로 다른 연산을 진행하기 전에 연산 결과를 기다릴 필요가 없는 간단한 연산에 적합하다. 즉, 호스트(115) 및 지능형 HBM 스택(예: 도 1의 120) 간의 결정적 타이밍(Deterministic Timing)이 존재한다. 1단계 프로토콜에서, 메모리 컨트롤러(698)는 소스와 목적지 주소 및/또는 뱅크에 대해 잠금을 수행할 수 있다. 예를 들어, 1단계 프로토콜은 독출-수정-기입(Read-Modify-Write) 연산과 같은 원자적 연산(Atomic Operation)을 포함한다.
2단계 프로토콜은 호스트(115)가 연산 결과를 기다리는 연산에 적합하다. 일례로 트랜잭션 명령을 들 수 있다. 본 실시예에 있어서, 물리영역은 호스트(115)와 지능형 HBM 스택(120, 도 1 참조) 간의 정보 흐름을 획득하기 위해 목적 변경된 트랜잭션 핀들로 변경된다(예: 핀이 변경되거나 추가됨). 본 실시예에 있어, 메모리 컨트롤러(698)는 트랜잭션이 진행되는 동안 HBM2 모듈 스택(630) 전체에 대해 잠금을 수행할 수 있다. 일례로 100 x 100 행렬을 전치시키는 것을 들 수 있다.
로직 다이(예: 도 1의 105)에서 실행될 수 있는 함수 라이브러리의 다양한 카테고리(즉, # 1 내지 5)가 아래 표 1에 도시된다. 함수 라이브러리는 호스트(예: 도 1의 115)와 협력하여 조정될 수 있고, 각각 개별 운영 필드와 구성 함수를 포함한다. 이러한 함수 라이브러리는 동기식 및 비동기식 지능형 HBM 인터페이스와 호환된다. 버스 트랜잭션, 큐잉 및 메모리 컨트롤러 지연시간이 낮아짐에 따라 성능이 향상된다. 함수를 실행시키는데 고정 로직 및/또는 재설정 가능 로직이 이용될 수 있다.
# 카테고리 함수 예 운영 필드 유스 케이스
1. 데이터 원자성 Read-modify-write; test & set; compare-and-swap (CAS); increment 식별자 (ID); 주소; 조건부 연산; 값 높은 ML 스레드 병렬처리
2. 데이터 복사 Mem-copy; Mem-set ID; 소스; 목적지 주소; 범위; 값 초기화; 저지연 데이터 이동
3. 데이터 정형 Transpose; pack/unpack (예: 벡터); swap (예: 행렬의 원소) ID; 소스; 목적지 주소; 정형(reshaping) 연산; 데이터 스트라이드; 넘버 컨볼루션 신경망(CNN); 선형대수
4. 데이터 축약 Popcount (예: 벡터의 항목 카운트); accumulation (예: 가산); bitwise operations (예: 비트단위 AND, OR 등); sum; min; dot-product; Euclidean distance ID; 소스; 목적지 주소; 연산; 데이터 스트라이드; 넘버 컨볼루션 신경망 (CNN); 이진 신경망 (BNN); 카운터
5. 특수 함수 Map function; hash; pattern match; reconfigurable compute blocks ID; 소스; 목적지 주소; 연산; 데이터 스트라이드; 넘버 함수 맵퍼
본 명세서에는 HBM 기반 로직 모듈 마이크로아키텍처, 애플리케이션 라이브러리 커널 드라이버 및 관련 프레임워크를 포함하는 시스템 아키텍처가 개시된다. 본 시스템은 고 대역폭 메모리 장치를 위한 개별 함수 카테고리를 이용하여 여러 처리 기능을 제공할 수 있다. 본 시스템은 HBM 연산 영역들을 식별하고 이들을 지능형 HBM 마이크로아키텍처에서 처리하기 위하여 호스트 메모리 컨트롤러의 변경과 함께 주로 하드웨어 기반 접근법을 사용할 수 있다. 본 시스템은 GPU의 지원을 요청하지 않고도 작업 분산을 지원하기 위해 CPU에서 직접 HBM 메모리 공간에 접근하도록 MMIO와 함께 주로 소프트웨어 기반 접근법을 사용할 수 있다. 본 시스템은 동기식 및 비동기식 HBM 메모리 인터페이스들을 각각 인에이블(enable)하기 위해 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), 디지털 카메라, 디지털 오디오 레코더/플레이어, 디지털 사진/비디오 레코더/플레이어, 휴대용 게임기, 내비게이션 시스템, 블랙박스, 3차원 텔레비전, 무선 환경에서 정보 송수신이 가능한 장치, 홈 네트워크를 구성하는 다양한 전자장치 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자장치 중 하나, 텔레매틱스(telematics) 네트워크를 구성하는 다양한 전자장치 중 하나, RFID, 또는 컴퓨팅 시스템을 구성하는 다양한 전자장치로 사용될 수 있다.
이하의 설명은 본 발명의 기술적 사상의 소정의 양상들이 구현될 수 있는 적절한 장치(들)의 간략하고 일반적인 설명을 제공하기 위함이다. 일반적으로 장치(들)은 프로세서들, 메모리(예: 랜덤 액세스 메모리(RAM), 리드-온리 메모리(Read-Only Memory: ROM), 또는 다른 상태 보존 매체), 스토리지 장치, 비디오 인터페이스, 및 입/출력 인터페이스 포트가 접속되는 시스템 버스를 포함한다. 장치(들)은 키보드, 마이크 등과 같은 기존 입력 장치들로부터의 입력에 의해 적어도 부분적으로 제어될 수 있을 뿐만 아니라, 다른 장치로부터 수신한 명령, 가상 현실(Virtual Reality: VR) 환경과의 상호작용, 생체인식 피드백 또는 다른 입력 신호에 의해서도 제어될 수 있다. 본 명세서에서 사용된 바와 같이 "장치"라는 용어는 단일장치, 가상장치, 또는 통신 가능하게 연결되어 함께 동작하는 장치들, 가상장치들 또는 디바이스들로 이루어진 시스템을 광범위하게 포함한다. 예시적인 장치로는 개인용 컴퓨터, 워크스테이션, 서버, 휴대용 컴퓨터, 핸드헬드 장치, 전화기, 태블릿 등과 같은 컴퓨팅 장치뿐만 아니라, 예컨대 자동차, 기차, 택시 등의 개인 또는 대중 교통수단과 같은 운송 장치가 포함된다.
장치(들)은 프로그램 가능/불가능 로직 장치 또는 어레이와 같은 내장형 컨트롤러, 주문형 집적회로(Application Specific Integrated Circuit: ASICs), 내장형 컴퓨터 및 스마트 카드 등을 포함할 수 있다. 장치(들)은 네트워크 인터페이스, 모뎀 또는 다른 통신 연결수단을 통하는 것과 같이 하나 이상의 원격 장치들에 대한 하나 이상의 연결을 이용할 수 있다. 장치들은 인트라넷, 인터넷, 근거리 통신망(LAN), 광역 통신망(WAN) 등과 같은 물리적 및/또는 논리적 네트워크를 통해 서로 연결될 수 있다. 본 기술분야에 속하는 통상의 기술자는 네트워크 통신이 무선 주파수(RF), 위성, 마이크로파, IEEE(Institute of Electrical and Electronics Engineers) 545.11, 블루투스®, 광학, 적외선, 케이블, 레이저 등을 포함한 다양한 유선 및/또는 무선 단거리 또는 장거리 반송파 및 프로토콜을 이용할 수 있음을 이해할 것이다.
본 발명의 기술적 사상에 따른 실시예들은 장치가 접근하면 장치로 하여금 작업을 수행하도록 하거나 추상 데이터형 또는 하위레벨 하드웨어 컨텍스트를 규정하도록 하는 함수, 절차, 데이터 구조, 애플리케이션 프로그램 등을 포함하는 관련 데이터를 참조하거나 이들과 관련하여 설명될 수 있다. 예를 들어, 관련 데이터는 RAM, ROM 등과 같은 휘발성 및/또는 비휘발성 메모리에 저장될 수 있거나, 하드드라이브, 플로피디스크, 광스토리지, 테이프, 플래시 메모리, 메모리 스틱, 디지털 비디오 디스크, 생체 스토리지 등을 포함하는 다른 스토리지 장치들 및 이들과 관련된 스토리지 매체에 저장될 수 있다. 관련 데이터는 물리적 및/또는 논리적 네트워크를 포함하는 전송 환경을 통해 패킷, 직렬 데이터, 병렬 데이터, 전파 신호 등의 형태로 전달될 수 있고, 압축 또는 암호화 포맷으로 사용될 수 있다. 관련 데이터는 분산 환경에서 사용될 수 있으며 장치의 접근을 위해 근처 또는 원격으로 저장될 수 있다.
본 발명의 기술적 사상의 원리를 설명하고 도시한 바, 도시된 실시예들은 이러한 원리에서 벗어나지 않고 배열 및 세부사항에 있어 변경될 수 있고, 임의의 바람직한 방식으로 결합될 수 있다. 앞서 설명한 내용은 특정 실시예들에 중점을 두었으나, 다른 구성들도 고려될 수 있다. 특히, "본 기술적 사상의 실시예에 따른"과 같은 표현이나 이와 유사한 표현이 본 명세서에서 사용되더라도 이러한 어구들은 일반적으로 실현 가능한 실시예의 예시를 참조로서 인용하기 위한 것이며, 특정 실시예에 따른 구성으로 본 발명의 기술적 사상을 제한하고자 하는 것은 아니다. 본 명세서에 사용된 바와 같이, 이러한 용어들은 다른 실시예들과 결합할 수 있는 동일하거나 다른 실시예들을 인용할 수 있다.
본 발명의 기술적 사상의 실시예들은 하나 이상의 프로세서에 의해 실행될 수 있는 명령어들을 포함한 비일시적인 기계판독가능 매체를 포함할 수 있으며, 명령어들은 본 명세서에 설명된 기술적 사상의 요소들을 수행하기 위한 명령어들을 포함한다.
전술한 실시예들은 그들의 기술적 사상을 제한하는 것으로 해석되어서는 안 된다. 일부 실시예들이 설명되었으나, 본 발명의 통상의 기술자는 본 개시의 신규한 교시들 및 이점들에서 실질적으로 벗어나지 않고 실시예의 여러 가지 변형이 가능한 것을 쉽게 이해할 수 있을 것이다. 따라서, 이러한 모든 변형들은 청구범위에 정의된 바와 같은 기술적 사상의 범위 내에 포함된다.
100: 지능형 HBM 장치 105: 로직 다이
110: HBM2 모듈 115: 호스트
120: 지능형 HBM 스택 205: 인터포저
210: 패키지 기판 605: 코어 아키텍처
610: 오프로드 처리 로직부 615: 호스트 관리자
620: SRAM 컨트롤러 625: HBM 컨트롤러
630: HBM2 모듈 스택 635: SRAM 메모리

Claims (25)

  1. 중앙처리장치(Central Processing Unit: CPU), 그래픽처리장치(Graphics Processing Unit: GPU), 주문형 집적회로(Application Specific Integrated Circuit: ASIC) 또는 필드 프로그래머블 게이트 어레이(Field Programmable Gate Array: FPGA) 중 적어도 하나를 포함하는 호스트; 및
    적층된 복수의 고 대역폭 메모리(High Bandwidth Memory: HBM) 모듈들 및 상기 복수의 고 대역폭 메모리 모듈들 아래에 배치된 로직 다이를 포함하는 지능형 고 대역폭 메모리 스택을 포함하고,
    상기 로직 다이는
    상기 복수의 고 대역폭 메모리 모듈들과 인터페이스하는 메모리 컨트롤러를 포함하는 고 대역폭 메모리 컨트롤러; 및
    상기 호스트로부터 처리 연산들을 오프로드하는 오프로드 처리 로직부를 포함하고,
    상기 오프로드 처리 로직부는 상기 오프로드 처리 연산들이 개시되어야 함을 지시하는 상기 호스트에 의해서 설정된 제1 플래그를 수신하고,
    상기 오프로드 처리 로직부는 상기 제1 플래그에 응답하여 상기 고 대역폭 메모리 컨트롤러를 사용하여 상기 오프로드 처리 연산들을 수행하고,
    상기 고 대역폭 메모리 컨트롤러는 상기 오프로드 처리 연산들이 완료되었음을 지시하는 제2 플래그를 설정하는, 지능형 고 대역폭 메모리 시스템.
  2. 제1항에 있어서,
    상기 로직 다이는 상기 호스트로부터 상기 처리 연산들을 오프로드하는, 지능형 고 대역폭 메모리 시스템.
  3. 제1항에 있어서,
    상기 호스트 및 상기 로직 다이에 연결된 인터포저를 더 포함하는, 지능형 고 대역폭 메모리 시스템.
  4. 제3항에 있어서,
    상기 인터포저에 연결된 기판을 더 포함하는, 지능형 고 대역폭 메모리 시스템.
  5. 제4항에 있어서,
    상기 복수의 고 대역폭 메모리 모듈들은 상기 로직 다이와 통신 가능하게 연결되고, 상기 로직 다이는 상기 호스트와 통신 가능하게 연결되는, 지능형 고 대역폭 메모리 시스템.
  6. 제1항에 있어서,
    상기 지능형 고 대역폭 메모리 스택은 제1 지능형 고 대역폭 메모리 스택으로 지칭되고;
    상기 복수의 고 대역폭 메모리 모듈들은 제1 복수의 고 대역폭 메모리 모듈들로 지칭되고;
    상기 로직 다이는 제1 로직 다이로 지칭되며; 그리고
    상기 시스템은, 적층된 제2 복수의 고 대역폭 메모리 모듈들 및 상기 제2 복수의 고 대역폭 메모리 모듈들 아래에 배치된 제2 로직 다이를 포함하는 제2 지능형 고 대역폭 메모리 스택을 더 포함하는, 지능형 고 대역폭 메모리 시스템.
  7. 제6항에 있어서,
    상기 제1 및 제2 로직 다이들은 각각 상기 호스트로부터 상기 처리 연산들을 오프로드하고;
    상기 제1 복수의 고 대역폭 메모리 모듈들은 상기 제1 로직 다이에 통신 가능하게 연결되며, 상기 제1 로직 다이는 상기 호스트에 통신 가능하게 연결되고;
    상기 제2 복수의 고 대역폭 메모리 모듈들은 상기 제2 로직 다이에 통신 가능하게 연결되며, 상기 제2 로직 다이는 상기 호스트에 통신 가능하게 연결되고; 그리고
    상기 시스템은 상기 호스트와 상기 제1 및 제2 로직 다이들에 연결된 인터포저, 및 상기 인터포저에 연결된 기판을 더 포함하는, 지능형 고 대역폭 메모리 시스템.
  8. 제1항에 있어서,
    메모리를 더 포함하되,
    상기 로직 다이는,
    인터페이스 물리영역(PHY) 및 호스트 큐 관리자를 포함하며, 상기 인터페이스 물리영역을 통해 상기 호스트와 인터페이스하고 상기 호스트로부터 수신한 정보들을 큐잉하는 호스트 관리자; 및
    프리페치 엔진 및 캐시 컨트롤러를 포함하며, 상기 프리페치 엔진 및 상기 캐시 컨트롤러를 통해 상기 메모리와 인터페이스하는 메모리 컨트롤러를 포함하는 지능형 고 대역폭 메모리 시스템.
  9. 제8항에 있어서,
    상기 오프로드 처리 로직부는,
    상기 호스트 관리자를 통해 상기 호스트로부터 상기 오프로드 처리 연산들에 대한 정보를 수신하고;
    상기 오프로드 처리 연산들에 대한 상기 수신된 정보에 따라 상기 오프로드 처리 연산들을 수행하는, 지능형 고 대역폭 메모리 시스템.
  10. 삭제
  11. 제9항에 있어서,
    상기 수신된 정보는 명령을 포함하는, 지능형 고 대역폭 메모리 시스템.
  12. 제11항에 있어서,
    상기 명령을 복호화하는 명령 복호화 로직부를 더 포함하는, 지능형 고 대역폭 메모리 시스템.
  13. 제12항에 있어서,
    상기 오프로드 처리 로직부는 상기 명령에 응답하여 상기 오프로드 처리 연산들을 수행하는, 지능형 고 대역폭 메모리 시스템.
  14. 제8항에 있어서,
    상기 오프로드 처리 로직부는 ALU(Arithmetic Logic Unit), FPU(Floating-Point Unit), 고정 로직 또는 재설정 가능 로직 중 적어도 하나를 포함하는, 지능형 고 대역폭 메모리 시스템
  15. 제8항에 있어서,
    상기 오프로드 처리 로직부는 상기 복수의 고 대역폭 메모리 모듈들에 저장된 데이터에 따라 상기 오프로드 처리 연산들을 수행하는, 지능형 고 대역폭 메모리 시스템.
  16. 제8항에 있어서,
    상기 메모리 컨트롤러는 SRAM 컨트롤러이고;
    상기 메모리는 SRAM인, 지능형 고 대역폭 메모리 시스템.
  17. 인터페이스 물리영역(PHY) 및 호스트 큐 관리자를 포함하며, 상기 인터페이스 물리영역을 통해 호스트와 인터페이스하고 상기 호스트로부터 수신한 정보들을 큐잉하는 호스트 관리자;
    프리페치 엔진 및 캐시 컨트롤러를 포함하며, 상기 프리페치 엔진 및 상기 캐시 컨트롤러를 통해 메모리와 인터페이스하는 메모리 컨트롤러;
    고 대역폭 메모리(High Bandwidth Memory: HBM) 모듈 스택과 인터페이스하는 메모리 컨트롤러를 포함하는 고 대역폭 메모리 컨트롤러; 및
    상기 호스트로부터 처리 연산들을 오프로드하는 오프로드 처리 로직부를 포함하고,
    상기 수신된 정보는 상기 오프로드 처리 연산들이 개시되어야 함을 지시하는 상기 호스트에 의해서 설정된 제1 플래그를 포함하고,
    상기 오프로드 처리 로직부는 상기 제1 플래그에 응답하여 상기 고 대역폭 메모리 컨트롤러를 사용하여 상기 오프로드 처리 연산들을 수행하고,
    상기 고 대역폭 메모리 컨트롤러는 상기 오프로드 처리 연산들이 완료되었음을 지시하는 제2 플래그를 설정하는 로직 다이.
  18. 제17항에 있어서,
    상기 오프로드 처리 로직부는,
    상기 호스트 관리자를 통해 상기 호스트로부터 상기 오프로드 처리 연산들에 대한 정보를 수신하고;
    상기 오프로드 처리 연산들에 대한 상기 수신된 정보에 따라 상기 오프로드 처리 연산들을 수행하는, 로직 다이.
  19. 삭제
  20. 제17항에 있어서,
    상기 수신된 정보는 명령을 포함하는, 로직 다이.
  21. 제20항에 있어서,
    상기 호스트로부터 수신된 상기 명령을 복호화하는 명령 복호화 로직부를 더 포함하는, 로직 다이.
  22. 제21항에 있어서,
    상기 오프로드 처리 로직부는 상기 명령에 응답하여 상기 오프로드 처리 연산들을 수행하는, 로직 다이.
  23. 제21항에 있어서,
    상기 오프로드 처리 로직부는 ALU(Arithmetic Logic Unit), FPU(Floating-Point Unit), 고정 로직 또는 재설정 가능 로직 중 적어도 하나를 포함하는, 로직 다이.
  24. 제21항에 있어서,
    상기 오프로드 처리 로직부는 상기 고 대역폭 메모리 모듈 스택에 저장된 데이터에 따라 상기 오프로드 처리 연산들을 수행하는, 로직 다이.
  25. 제17항에 있어서,
    상기 메모리 컨트롤러는 SRAM 컨트롤러이고;
    상기 메모리는 SRAM인, 로직 다이.
KR1020180065482A 2017-08-10 2018-06-07 지능형 고 대역폭 메모리 장치 Active KR102368970B1 (ko)

Applications Claiming Priority (4)

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

Publications (2)

Publication Number Publication Date
KR20190017639A KR20190017639A (ko) 2019-02-20
KR102368970B1 true KR102368970B1 (ko) 2022-03-02

Family

ID=65275225

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180065482A Active KR102368970B1 (ko) 2017-08-10 2018-06-07 지능형 고 대역폭 메모리 장치

Country Status (5)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12189948B2 (en) 2022-10-25 2025-01-07 Samsung Electronics Co., Ltd. Device and method to minimize off-chip access between host and peripherals

Families Citing this family (51)

* 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
US10409614B2 (en) 2017-04-24 2019-09-10 Intel Corporation Instructions having support for floating point and integer data types in the same register
US10474458B2 (en) 2017-04-28 2019-11-12 Intel Corporation Instructions and logic to perform floating-point and integer operations for machine learning
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
EP3938888A1 (en) 2019-03-15 2022-01-19 INTEL Corporation Systolic disaggregation within a matrix accelerator architecture
EP4024223A1 (en) 2019-03-15 2022-07-06 Intel Corporation Systems and methods for cache optimization
PL3938915T3 (pl) 2019-03-15 2025-10-20 Intel Corporation Zarządzanie pamięcią wielokafelkową
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
US11663746B2 (en) 2019-11-15 2023-05-30 Intel Corporation Systolic arithmetic on sparse data
US12039430B2 (en) * 2019-11-15 2024-07-16 Samsung Electronics Co., Ltd. Electronic device and method for inference binary and ternary neural networks
US11861761B2 (en) 2019-11-15 2024-01-02 Intel Corporation Graphics processing unit processing and caching improvements
KR102793518B1 (ko) * 2019-11-18 2025-04-11 에스케이하이닉스 주식회사 신경망 처리 회로를 포함하는 메모리 장치
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 삼성전자주식회사 고대역폭 메모리 및 이를 포함하는 시스템
JP7270234B2 (ja) * 2020-05-28 2023-05-10 パナソニックIpマネジメント株式会社 Aiチップ
KR20220032366A (ko) 2020-09-07 2022-03-15 삼성전자주식회사 가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법
WO2022056757A1 (en) * 2020-09-17 2022-03-24 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
US11625249B2 (en) * 2020-12-29 2023-04-11 Advanced Micro Devices, Inc. Preserving memory ordering between offloaded instructions and non-offloaded instructions
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
CN115469800A (zh) 2021-06-10 2022-12-13 三星电子株式会社 数据处理系统以及用于访问异构存储器系统的方法
KR102430982B1 (ko) * 2021-06-10 2022-08-11 삼성전자주식회사 프로세싱부를 포함하는 이종 메모리 시스템을 억세스하는 데이터 처리 시스템 및 방법
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 华进半导体封装先导技术研发中心有限公司 一种多层高带宽存储器及其制造方法
US20240371410A1 (en) * 2023-05-02 2024-11-07 Micron Technology, Inc. Apparatus including multiple high bandwidth memory cubes
KR20240173200A (ko) * 2023-06-02 2024-12-10 구글 엘엘씨 3d-dram 칩렛들을 이용한 대형 언어 모델들의 서빙
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
US20250123976A1 (en) * 2023-10-11 2025-04-17 Micron Technology, Inc. Apparatus including an array of pre-configurable memory and storage
KR102874491B1 (ko) * 2023-12-07 2025-10-23 주식회사 코코링크 인공지능 연산처리 시스템 및 이의 제어 방법
US12481608B2 (en) 2024-01-12 2025-11-25 Google Llc Tree-based network architecture for accelerating machine learning collective operations
US20250231877A1 (en) * 2024-01-12 2025-07-17 Micron Technology, Inc. Cache memories in vertically integrated memory systems and associated systems and methods
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 华为技术有限公司 计算装置、内存模块组、计算设备及计算设备集群
CN119046184B (zh) * 2024-08-27 2025-03-21 沐曦科技(成都)有限公司 一种gpu固件日志的存储方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150155876A1 (en) * 2012-08-06 2015-06-04 Advanced Micro Devices, Inc. Die-stacked memory device with reconfigurable logic

Family Cites Families (18)

* 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
US9098430B2 (en) * 2010-03-22 2015-08-04 Conversant Intellectual Property Management 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
WO2013081633A1 (en) * 2011-12-02 2013-06-06 Intel Corporation Stacked memory allowing variance in device interconnects
KR101639989B1 (ko) * 2011-12-22 2016-07-15 인텔 코포레이션 윈도우 인터포저를 갖는 3d 집적 회로 패키지
US20140040532A1 (en) * 2012-08-06 2014-02-06 Advanced Micro Devices, Inc. Stacked memory device with helper processor
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 삼성전자주식회사 센터 패드 타입의 스택드 칩 구조에서 신호 완결성 이슈를 개선할 수 있는 온다이 터미네이션 스키마를 갖는 반도체 메모리 장치
KR20180088438A (ko) * 2015-11-30 2018-08-03 가부시키가이샤 페지 컴퓨팅 다이 및 패키지
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 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150155876A1 (en) * 2012-08-06 2015-06-04 Advanced Micro Devices, Inc. Die-stacked memory device with reconfigurable logic

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12189948B2 (en) 2022-10-25 2025-01-07 Samsung Electronics Co., Ltd. Device and method to minimize off-chip access between host and peripherals

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102368970B1 (ko) 지능형 고 대역폭 메모리 장치
US12412231B2 (en) Graphics processing unit with network interfaces
CN110582785B (zh) 配置用于执行层描述符列表的具有功率效率的深度神经网络模块
US11500802B1 (en) Data replication for accelerator
CN107092573B (zh) 用于异构计算系统中的工作窃取的方法和设备
CN103927270B (zh) 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法
CN116777725A (zh) 跨多个计算引擎的程序化控制的数据多播
US11836491B2 (en) Data processing method and apparatus, and related product for increased efficiency of tensor processing
CN115605907A (zh) 分布式图形处理器单元架构
US11983128B1 (en) Multidimensional and multiblock tensorized direct memory access descriptors
CN117631974A (zh) 跨越基于存储器的通信队列的多信道接口的存取请求重新排序
US20230068168A1 (en) Neural network transpose layer removal
US20230418705A1 (en) Hardware-efficient pam-3 encoder and decoder
EP4634787A1 (en) Fused data generation and associated communication
CN117631976A (zh) 用于基于存储器的通信队列的存取请求重新排序
US20250175427A1 (en) Multipathing with remote direct memory access connections
US12481465B2 (en) Host-preferred memory operation
US20220413742A1 (en) Loading data from memory during dispatch
US20150356768A1 (en) Mechanism for facilitating improved copying of graphics data on computing devices
US20240070801A1 (en) Processing-in-memory system with deep learning accelerator for artificial intelligence
TW200617668A (en) Cache memory management system and method
US20220413804A1 (en) Efficient complex multiply and accumulate
CN116415100A (zh) 业务处理方法、装置、处理器及计算设备
CN111382852B (zh) 数据处理装置、方法、芯片及电子设备
US12132590B2 (en) Hardware-efficient PAM-3 encoder and decoder

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

A201 Request for examination
A302 Request for accelerated examination
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PA0302 Request for accelerated examination

St.27 status event code: A-1-2-D10-D17-exm-PA0302

St.27 status event code: A-1-2-D10-D16-exm-PA0302

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5