CN111694514A - 用于处理运算的存储器设备及操作该存储器设备的方法 - Google Patents
用于处理运算的存储器设备及操作该存储器设备的方法 Download PDFInfo
- Publication number
- CN111694514A CN111694514A CN202010165077.XA CN202010165077A CN111694514A CN 111694514 A CN111694514 A CN 111694514A CN 202010165077 A CN202010165077 A CN 202010165077A CN 111694514 A CN111694514 A CN 111694514A
- Authority
- CN
- China
- Prior art keywords
- bank
- memory
- memory device
- data
- processing element
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000008569 process Effects 0.000 claims abstract description 32
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000013528 artificial neural network Methods 0.000 claims description 12
- 238000011112 process operation Methods 0.000 claims description 9
- 230000000903 blocking effect Effects 0.000 claims description 2
- 230000008859 change Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 18
- 230000004044 response Effects 0.000 description 14
- 102100021568 B-cell scaffold protein with ankyrin repeats Human genes 0.000 description 5
- 101000971155 Homo sapiens B-cell scaffold protein with ankyrin repeats Proteins 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 101100328884 Caenorhabditis elegans sqt-3 gene Proteins 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
- G11C11/4087—Address decoders, e.g. bit - or word line decoders; Multiple line decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4097—Bit-line organisation, e.g. bit-line layout, folded bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Databases & Information Systems (AREA)
- Memory System (AREA)
Abstract
一种存储器设备包括:存储器存储体,其包括至少一个存储体组;存储器中处理器(PIM)电路,包括被布置为与存储体组相对应的第一处理元件,其通过使用由主机提供的数据和从存储体组读出的数据中的至少一个来处理运算;处理元件输入和输出(PEIO)选通电路,其被配置为控制被布置为与存储体组中的每个存储体相对应的存储体局部IO和被布置为与存储体组相对应的存储体组IO之间的电连接;以及控制逻辑,其被配置为执行控制操作,使得执行对存储器存储体的存储器操作或者由PIM电路处理运算。当运算由第一处理元件处理时,PEIO选通电路阻断存储体局部IO和存储体组IO之间的电连接。
Description
相关申请的交叉引用
本申请要求2019年3月11日在美国专利局提交的第62/816,509号美国临时申请和2019年11月22日在韩国知识产权局提交的第10-2019-0151617号韩国专利申请的优先权,其全部公开内容通过引用结合于此。
技术领域
本发明构思的示例性实施例涉及存储器设备,并且更具体地,涉及用于处理运算的存储器设备及操作该存储器设备的方法。
背景技术
用于高性能电子系统的半导体存储器设备的容量和速度正在增加。作为存储器设备的一个示例,作为一种类型的易失性存储器的动态随机存取存储器(dynamic randomaccess memory,DRAM)通过存储在电容器中的电荷来确定数据。
包括DRAM的存储器设备可以用于各种目的,例如,用于存储用于处理各种种类的运算(诸如神经网络运算)的数据或运算处理结果。
发明内容
根据本发明构思的示例性实施例,一种存储器设备包括:存储器存储体(memorybank),其包括存储体组(bank group),存储体组包括多个存储体(bank);存储器中处理器(processor in memory,PIM)电路,其包括被布置为与存储体组相对应的第一处理元件,其中,该第一处理元件通过使用由主机提供的数据和从存储体组读出的数据中的至少一个来处理运算;处理元件输入和输出(processing element input and output,PEIO)选通电路,其被配置为控制被布置为与存储体组的多个存储体中的每一个相对应的存储体局部输入和输出线(bank local IO,存储体局部IO)和被布置为与存储体组相对应的存储体组输入和输出线(bank group IO,存储体组IO)之间的电连接;以及控制逻辑,其被配置为执行控制操作,以使基于对从主机接收的命令/地址的解码结果,执行对存储器存储体的存储器操作或者由PIM电路处理运算。当运算由第一处理元件处理时,PEIO选通电路阻断存储体局部IO和存储体组IO之间的电连接。
根据本发明构思的示例性实施例,一种存储器设备包括:存储器存储体,其包括存储体组,存储体组包括第一存储体和第二存储体;存储体组输入和输出线(存储体组IO),其被布置为与存储体组相对应,并且包括外部主机和存储体组之间的数据传输路径;第一存储体局部输入和输出线(存储体局部IO),其被布置为与第一存储体相对应,并且包括提供给第一存储体的数据和从第一存储体读出的数据的传输路径;第一处理元件,其连接到存储体组IO和第一存储体局部IO,并被配置为通过使用从主机提供的数据和从第一存储体读出的数据中的至少一个来处理运算;以及第一处理元件输入和输出(PEIO)选通电路,其被配置为控制数据传输路径,以使当运算由第一处理元件处理时,从主机提供的数据被提供给第一处理元件而不被提供给存储器存储体。
根据本发明构思的示例性实施例,针对一种操作包括存储体组的存储器设备的方法,该存储体组包括多个存储体,该方法包括:基于来自主机的命令/地址的解码结果来确定存储器设备的运算处理模式;当运算处理模式被确定时,阻断与多个存储体当中的所选择的存储体相对应的存储体局部输入和输出线(存储体局部IO)和被布置为与存储体组相对应的存储体组输入和输出线(存储体组IO)之间的电连接;在其中存储体局部IO和存储体组IO之间的电连接被阻断的状态下,将由主机提供的数据和从所选择的存储体读出的数据中的至少一个提供给处理元件;以及由处理元件处理运算。
附图说明
通过参考附图详细描述本发明构思的示例性实施例,将更清楚地理解本发明构思的上述和其他特征。
图1是示出根据本发明构思的示例性实施例的包括存储器设备的存储器系统的框图。
图2是示出根据本发明构思的示例性实施例的图1的存储器设备的框图。
图3是示出根据本发明构思的示例性实施例的包括存储器设备的数据处理系统的框图。
图4是示出根据本发明构思的示例性实施例的存储器系统的操作的概念图。
图5是示出根据本发明构思的示例性实施例的存储器设备中包括的各种组件的框图。
图6和图7是示出根据本发明构思的示例性实施例的存储器设备中包括的与运算处理相关的组件的框图。
图8是示出其中根据本发明构思的示例性实施例的存储器设备包括高带宽存储器(high bandwidth memory,HBM)的示例的框图。
图9是示出根据本发明构思的示例性实施例的操作存储器设备的方法的流程图。
图10A、图10B和图10C示出根据本发明构思的示例性实施例的由存储器设备定义的操作命令。
图11是示出根据本发明构思的示例性实施例的由存储器设备串行处理的运算的波形图。
图12A、图12B、图13A、图13B、图14A和图14B示出了根据本发明构思的示例性实施例的存储器设备。
图15示出了根据本发明构思的示例性实施例的存储器设备。
图16是示出根据本发明构思的示例性实施例的包括数据处理系统的服务器系统的框图。
具体实施方式
在下文中,将参照附图详细描述本发明构思的示例性实施例。贯穿本申请,相似的附图标记可以指代相似的元件。
本发明构思的示例性实施例提供了一种用于处理运算的存储器设备及操作该存储器设备的方法,其中该存储器设备能够通过提供最佳数据传输路径来防止数据彼此冲突。
图1是示出根据本发明构思的示例性实施例的包括存储器设备的存储器系统的框图。
参考图1,存储器系统10可以包括存储器控制器100和存储器设备200。存储器控制器100可以包括存储器接口110,可以通过存储器接口110向存储器设备200提供各种信号,并且可以控制诸如写入或读出的存储器操作。例如,存储器控制器100可以向存储器设备200提供命令CMD和地址ADD,并且可以访问存储器设备200的数据DATA。
存储器控制器100可以根据来自主机HOST的请求来访问存储器设备200,并且存储器接口110可以提供与存储器设备200的接口。存储器控制器100可以通过使用各种协议与主机HOST通信。例如,存储器控制器100可以通过使用接口协议与主机HOST进行通信,该接口协议诸如外围组件互连高速(peripheral component interconnect–express,PCI-E)、高级技术附件(advanced technology attachment,ATA)、串行ATA(serial ATA,SATA)、并行ATA(parallel ATA,PATA)或串行附接的小型计算机系统接口(serial attached smallcomputer system interface,SCSI)(SAS(serial attached small,串行附接的小型))。此外,诸如通用串行总线(universal serial bus,USB)、多媒体卡(multi-media card,MMC)、增强型小型磁盘接口(enhanced small disk interface,ESDI)或集成驱动电子设备(integrated drive electronics,IDE)的其他各种接口协议中的每一个可以被应用于主机HOST和存储器控制器100之间的协议。
根据本发明构思的示例性实施例,存储器控制器100可以与主机HOST或主机HOST中包括的组件相对应。主机HOST和存储器设备200可以配置数据处理系统。因此,存储器系统10可以与数据处理系统相对应,或者可以由数据处理系统中包括的组件来定义。
存储器设备200可以包括存储器存储体210、存储器中处理器(processor inmemory,PIM)电路220、处理元件输入和输出选通电路(在下文中称为PEIO选通电路)230和控制逻辑240。控制逻辑240可以包括命令/地址解码器241。此外,存储器存储体210可以包括多个存储体BANK 0到BANKN-1,并且存储体BANK 0到BANK N-1中的每一个可以包括单元阵列,该单元阵列包括多个存储器单元。存储体可以被不同地定义。例如,存储体可以被定义为包括存储器单元的组件或包括一个或多个外围电路和存储器单元的组件。
另一方面,两个或多个存储体可以被分类为一个存储体组,并且被包括在相同存储体组中的存储体可以通过公共存储体组输入和输出线(在下文中称为存储体组IO)向存储器控制器100发送数据DATA和从存储器控制器100接收数据DATA。此外,作为用于访问单元阵列的局部(local)路径,存储体局部输入和输出线(在下文中称为存储体局部IO)可以被布置为与存储体BANK 0到BANK N-1中的每一个相对应。
根据存储器控制器100,通过地址ADD,可以选择要在其中执行数据访问的存储体。此外,可以选择存储体中的存储器单元。此外此外,命令/地址解码器241可以对来自存储器控制器100的命令/地址CMD/ADD执行解码操作,并且控制逻辑240可以对存储器设备200执行内部控制操作,使得根据解码结果执行存储器操作。
另一方面,存储器设备200可以是动态随机存取存储器(dynamic random accessmemory,DRAM),诸如,双数据速率同步动态随机存取存储器(DDRSDRAM,double data ratesynchronousDRAM)、低功率双数据速率(low power double data rate,LPDDR)SDRAM、图形双数据速率(graphics double data rate,GDDR)SDRAM、或兰布斯DRAM(Rambus DRAM,RDRAM)。然而,本发明构思不限于此。例如,存储器设备200可由非易失性存储器来实施,诸如,闪存、磁性RAM(magnetic RAM,MRAM)、铁电RAM(ferroelectric RAM,FeRAM)、相变RAM(phase change RAM,PRAM)、或电阻RAM(resistive RAM,ReRAM)。
此外,存储器设备200可以与半导体芯片或者包括具有独立接口的多个通道的存储器设备中的通道相对应。可替换地,存储器设备200可以与存储器模块相对应。可替换地,存储器模块可以包括多个存储器芯片,并且图1的存储器设备200可以与安装在模块板上的存储器芯片相对应。
在下文中,根据本发明构思的示例性实施例,描述了其中存储器设备200的PIM电路220处理运算的示例。各种种类的运算处理操作可以在存储器设备200中执行。例如,关于人工智能(artificial intelligence,AI),神经网络运算的至少部分可以在存储器设备200中执行。例如,主机HOST可以通过存储器控制器100控制存储器设备200,使得神经网络运算的至少部分可以由存储器设备200执行。此外,在本发明构思的以下示例性实施例中,将描述存储器控制器100控制存储器设备200。然而,本发明构思不限于此。例如,可以描述存储器控制器100与主机HOST中包括的组件相对应,并且主机HOST控制存储器设备200。
存储器控制器100可以向存储器设备200发送一个或多个指令Inst以处理各种运算。例如,存储器设备200可以接收多个指令Inst,并且可以以指令加载模式存储所接收的指令Inst。在图1中,分别示出了指令Inst和数据DATA的发送。然而,在本发明构思的示例性实施例中,指令Inst和数据DATA可以以各种形式发送和接收。例如,指令Inst可以通过与数据DATA无关的单独的线或者用于发送数据DATA的线(数据线)来发送。
作为实施方式示例,PIM电路220可以包括一个或多个处理元件221和用于存储指令Inst的指令存储器。然后,当从存储器控制器100接收到指示要处理的运算的命令/地址CMD/ADD时,可以执行与从指令存储器读出的指令Inst相对应的操作。由于运算可以由提供命令/地址CMD/ADD的存储器控制器100在存储器设备200中处理,所以存储器控制器100可以控制存储器设备200,使得常规存储器操作不会与运算处理操作冲突。
另一方面,用于指示要处理的运算的命令/地址CMD/ADD可以被不同地定义。例如,除了与诸如数据写入/读出的存储器操作相关的命令之外,还可以进一步定义操作命令CMD_PE。存储器设备200可以基于对命令/地址CMD/ADD的解码操作选择性地执行存储器操作或运算处理操作。此外,基于地址ADD,可以确定要用于处理运算的数据的位置或者其中存储运算结果的位置。
另一方面,处理元件221可以包括各种数量的处理元件。例如,处理元件中的每一个可以被布置为与一个存储体相对应。可替换地,处理元件中的每一个可以被布置为与两个或多个存储体相对应。处理元件221中的每一个可以通过使用由存储器控制器100提供的数据DATA、从存储器存储体210读出的数据DATA和存储在处理元件中包括的寄存器中的信息中的至少一个来处理运算。
PEIO选通电路230可以控制诸如数据的信息的传输路径。例如,PEIO选通电路230可被布置为与存储体BANK 0到BANK N-1中的每一个相对应。当多个数据线被布置为与存储体BANK 0到BANK N-1中的每一个相对应时,PEIO选通电路230包括多个开关,并且可以根据开关的开关状态来控制数据的传输路径。在存储器设备200的存储器操作期间,通过PEIO选通电路230,可在存储器控制器100与存储体BANK 0到BANK N-1之间发送和接收数据DATA。另一方面,当存储器设备200通过PEIO选通电路230处理运算时,可以在存储器控制器100与处理元件221之间以及在存储体BANK0到BANK N-1和处理元件221之间发送和接收数据DATA。
作为实施方式示例,PEIO选通电路230可以被布置在与存储体BANK 0到BANK N-1中的每一个相对应的存储体局部IO和与存储体组相对应的存储体组IO之间。基于PEIO选通电路230的开关操作,由于存储体局部IO和存储体组IO彼此电连接,所以可以执行诸如对存储体BANK 0到BANK N-1的数据写入和数据读出的存储器操作。
另一方面,处理元件221中的每一个的运算处理操作将参考一个处理元件(例如,与第一存储体BANK 0相对应的第一处理元件)描述如下。
第一处理元件可以通过使用来自存储器控制器100的数据DATA来处理运算。在这种情况下,通过存储体组IO发送的数据DATA不需要被提供给连接到第一存储体BANK 0的存储体局部IO。此外,第一处理元件可以通过使用从第一存储体BANK 0读出的数据DATA来处理运算。在这种情况下,数据DATA不需要提供给存储体组IO。此外,第一处理元件可以通过使用来自存储器控制器100的数据DATA和从第一存储体BANK 0读出的数据DATA来处理运算。在这种情况下,存储体局部IO和存储体组IO可以彼此电隔离。因此,在运算处理操作中,通过PEIO选通电路230的开关操作,可以在其中存储体组IO和存储体局部IO之间的电连接被阻断的状态下处理运算。
根据本发明构思的示例性实施例,在具有存储体组IO和存储体局部IO的结构的存储器设备200中,可以最佳地设置用于存储器操作和运算处理操作的数据DATA的传输路径。此外,当PIM电路220通过使用各种数据项DATA来处理运算时,可以防止各种数据项DATA彼此冲突。此外,根据本发明构思的示例性实施例,由于存储器设备200不处理运算,并且运算由来自存储器控制器100的请求来处理,所以存储器控制器100或包括存储器控制器100的主机HOST可以控制存储器设备200的运算处理定时,并且可以防止性能由于存储器操作和运算处理操作之间的冲突而恶化。
另一方面,根据本发明构思的示例性实施例的PIM电路220可以被不同地定义,并且因此,PIM电路220可以包括各种组件。例如,PIM电路220可以包括与运算处理有关的其他各种组件和上述处理元件221。例如,诸如用于控制处理运算的整体操作的控制器、用于存储指令Inst的指令存储器(或指令队列)和指令解码电路的各种组件可以包括在PIM电路220中。
另一方面,发送到处理元件221的操作数可以包括各种种类的信息项,诸如数据DATA、权重值信息、或者常数。在本发明构思的以下示例性实施例中,这些项可以混合使用。然而,本发明构思不限于上述项。
图2是示出根据本发明构思的示例性实施例的图1的存储器设备的框图。以第一存储体BANK 0和第二存储体BANK1为示例描述图2的存储器设备200的配置和操作。在图2中,第一存储体BANK 0到第四存储体BANK 3被定义为一个存储体组BG,并且因此,示出了其中第一存储体BANK 0到第四存储体BANK 3共享存储体组I/O(bank group I/O,BGIO)的示例。存储体组I/O(BGIO)可以在主机HOST和存储体组BG之间双向传输数据。
参考图1和图2,存储器设备200还可以包括与存储器操作相关的各种组件。例如,存储器设备200可以包括读出放大器(sense amplifier,IOSA)251、写入驱动器(writingdriver,WRDRV)252和存储体组输入和输出选通电路(在下文中称为BGIO选通电路253),以与第一存储体BANK 0相对应。此外,读出放大器251和写入驱动器252可以布置在存储体局部I/O(BLIO)上,并且BGIO选通电路253可以布置为选择存储体局部I/O(BLIO)的数据发送方向。在图2中,示出了一个示例,其中BGIO选通电路253被布置在其中通过写入驱动器252发送数据DATA的路径中。然而,本发明构思不限于此。例如,存储器设备200可以被实施为使得BGIO选通电路253被布置在其中通过读出放大器251输出数据DATA的路径中。
另一方面,PEIO选通电路230可以包括被布置为与第一存储体BANK 0相对应的第一PEIO选通电路231和被布置为与第二存储体BANK1相对应的第二PEIO选通电路232。第一PEIO选通电路231和第二PEIO选通电路232可以被布置为在运算处理操作中控制数据DATA的移动路径。
在存储器操作中,第一PEIO选通电路231电连接存储体局部I/O(BLIO)和存储体组I/O(BGIO)。因此,来自第一存储体BANK 0的数据DATA可以被提供给存储体组I/O(BGIO),或者来自存储器控制器100的数据DATA可以通过BGIO选通电路253被提供给第一存储体BANK0。另一方面,在运算处理操作中,第一PEIO选通电路231将存储体局部I/O(BLIO)与存储体组I/O(BGIO)电隔离。因此,来自存储器控制器100的数据DATA可以被提供给第一处理元件PE0,而不被提供给存储体局部I/O(BLIO)。此外,来自第一存储体BANK 0的数据DATA可以被提供给第一处理元件PE0,而不被提供给存储体组I/O(BGIO)。
如图2所示,第一处理元件PE0可以被布置为与至少两个存储体相对应。例如,第一处理元件PE0可以连接到第二存储体BANK 1。当第一处理元件PE0通过使用来自第一存储体BANK0和第二存储体BANK1的数据DATA来处理运算时,被布置为与第二存储体BANK1相对应的第二PEIO选通电路232可以阻断存储体组I/O(BGIO)和与第二存储体BANK1相对应的存储体本地I/O(BLIO)之间的电连接。
此外,在本发明构思的示例性实施例中,当第一处理元件PE0由多个存储体共享时,通过使用一个存储体的数据DATA获得的运算处理结果可以存储在另一个存储体中。例如,从第一存储体BANK 0读出的数据DATA作为操作数被提供给第一处理元件PE0,并且来自第一处理元件PE0的运算结果可以被存储在第二存储体BANK1中。
图3是示出根据本发明构思的示例性实施例的包括存储器设备的数据处理系统的框图。如图3所示,数据处理系统300可以包括应用处理器310和存储器设备320,并且应用处理器310可以包括与存储器设备320通信的存储器控制模块311。例如,存储器控制模块311和存储器设备320可以配置存储器系统。应用处理器310可以作为图1的主机HOST。
应用处理器310可以由包括系统总线的片上系统(system on chip,SoC)实施。作为系统总线的标准规范,可以应用高级RISC机器(advanced RISC machine,ARM)的高级微控制器总线体系结构(advanced microcontroller bus architecture,AMBA)协议。AMBA协议的总线类型可以是高级高性能总线(advanced high-performance bus,AHB)、高级外围总线(advanced peripheral bus,APB)、高级可扩展接口(advanced extensibleinterface,AXI)、AX4或AXI一致性扩展(AXI coherency extensions,ACE)。除了上述总线类型之外,还可以应用另一种类型的协议,诸如SONICs公司的uNetwork、IBM的CoreConnect或OCP-IP的开放核心协议。
存储器控制模块311可以用作本发明构思的上述示例性实施例中的存储器控制器,并且可以通过向存储器设备320发送命令/地址CMD/ADD来控制存储器设备320中的存储器操作或运算处理操作。根据本发明构思的上述示例性实施例,数据处理系统300可以包括存储器存储体321、PIM电路322、PEIO选通电路323和控制逻辑324,PIM电路322可以包括处理元件322_1,并且控制逻辑324可以包括命令/地址解码器。此外,应用处理器310可以向存储器设备320提供多个指令Inst以处理存储器设备320中的运算,并且多个指令Inst可以被存储在存储器设备320中的指令存储器中。
此外,根据本发明构思的上述示例性实施例,应用处理器310可以向存储器设备320提供指示要处理的运算的操作命令CMD_PE。控制逻辑324可以基于所接收的命令/地址CMD/ADD的解码结果来确定运算处理模式,并且可以基于运算处理模式来控制PEIO选通电路323的开关状态。例如,在运算处理操作中,根据PEIO选通电路323的开关状态,可以阻断存储体局部IO和存储体组IO之间的电连接,并且因此,可以防止作为操作数的用于处理运算的数据DATA彼此冲突。
图4是示出根据本发明构思的示例性实施例的存储器系统的操作的概念图。在图4中,示出了其中存储器设备与主机HOST进行通信的示例,并且在主机HOST中,可以提供与存储器设备进行通信的存储器控制器(或存储器控制模块)。
参考图4,主机HOST可以控制存储器设备的各种操作模式,并且当存储器设备以指令加载模式操作时,主机HOST可以向存储器设备发送用于处理运算的多个指令,并且所发送的指令可以被加载到存储器设备中的指令存储器中。例如,通过在运算处理模式下读出指令并解码所读出的指令,诸如加法、减法和乘法的各种运算可以由存储器设备处理,并且PIM电路可以确定与指令相对应的运算的种类。
主机HOST可以执行控制操作,以使存储器设备以常规模式操作。例如,主机HOST可以将用于指示存储器操作的命令/地址CMD/ADD发送到存储器设备。存储器设备可以解码所接收的命令/地址CMD/ADD,并且当命令CMD指示诸如写入命令CMD_WR或读出命令CMD_RD的存储器操作时,可以执行相应的存储器操作。此外,当存储器操作被完全处理时,存储器操作结果可以被输出到主机HOST。
另一方面,主机HOST可以将用于指示要处理的运算的命令/地址CMD/ADD发送到存储器设备。当操作命令CMD_PE被提供给存储器设备时,基于命令/地址CMD/ADD解码操作,存储器设备可以处理运算。例如,通过在运算处理模式下控制被布置为与所选择的存储体相对应的PEIO选通电路,存储器设备可以在其中存储体局部I/O(BLIO)和存储体组I/O(BGIO)之间的电连接被阻断的状态下处理运算。例如,PIM电路中的处理元件可以通过使用来自主机HOST的数据、从所选择的存储体读出的数据和存储在处理元件中的信息中的至少一个来处理运算,并且运算处理结果可以被发送到主机HOST。可替换地,根据本发明构思的示例性实施例,运算处理结果可以存储在存储体的处理元件或单元阵列中的寄存器中,并且主机HOST可以将用于读出运算处理结果的命令/地址发送到存储器设备。
图5是示出根据本发明构思的示例性实施例的存储器设备中包括的各种组件的框图。在图5中,示出了其中存储器设备包括多个通道(例如,第一通道CH1和第二通道CH2)的示例。第一通道CH1和第二通道CH2可以包括与外部主机通信的单独的输入和输出线IO。
以第一通道CH1为示例,第一通道CH1可以包括多个存储体组(例如,第一组BG0和第二组BG1),并且第一存储体组BG0和第二存储体组BG1中的每一个可以包括多个存储体。例如,第一存储体组BG0可以包括第一存储体BANK 0到第四存储体BANK 3。由于一个处理元件由两个存储体共享,第一处理元件PE0和第二处理元件PE1可以被布置为与第一存储体组BG0相对应。此外,存储体组IO可以被布置为与第一存储体组BG0相对应,并且第一存储体BANK 0到第四存储体BANK 3中的每一个可以连接到对应的存储体局部IO。
数据总线可以包括用于传输由第一通道CH1访问的数据的路径。存储体控制器可以执行存储体控制操作,用于访问包括在第一通道CH1中的存储体的数据。作为实施示例,可以布置与一个存储体相对应的一个存储体控制器。存储体控制器可以控制对应的存储体中包括的行的激活操作和预充电操作,并且还可以控制用于访问数据的列选择操作。
另一方面,处理元件控制器(在下文中称为PE控制器)可以控制处理元件PE0到PE3。PE控制器可以通过各种方法来布置。例如,PE控制器可以被布置为与存储体组或通道相对应。此外,命令/地址CMD/ADD解码器可以解码来自主机HOST的命令/地址,并且可以基于解码结果来控制存储器操作或运算处理操作。例如,PE控制器可以基于命令/地址CMD/ADD解码器的解码操作来执行与运算处理相关的各种控制操作。
根据本发明构思的上述示例性实施例,PE控制器可以控制处理元件的运算处理操作,并且可以控制数据的传输路径。例如,一个或多个PEIO选通电路可布置在存储器设备中,并且PE控制器可生成用于控制一个或多个PEIO选通电路的开关操作的控制信号。
另一方面,存储体组可以被不同地定义。例如,在本发明构思的上述示例性实施例中,存储体组被示为包括多个存储体的单元阵列。然而,存储体组可以被定义为还包括与存储器操作和运算处理操作相关的组件和上述单元阵列。例如,一个或多个处理元件PE和PEIO选通电路可以被定义为包括在存储体组中。
图6和图7是示出根据本发明构思的示例性实施例的存储器设备中包括的与运算处理相关的组件的框图。
参考图5至图7,存储器设备400可以包括多个处理元件。图6所示的处理元件(例如,第一处理元件PE0)可以包括输入选择器410、运算器420、寄存器堆(register file)430和输出选择器440。在图6中,作为运算器420的示例,示出了单指令多数据(singleinstruction multi data,SIMD)计算器。然而,本发明构思不限于此。各种种类的运算器可以应用于第一处理元件PE0。此外,示出了其中用于运算的各种信息项包括N位的示例。但是,位数可能会不同。
寄存器堆430可以存储与运算处理相关的各种信息项。例如,在寄存器堆430中,可以存储包括用于运算的操作数、运算结果和预先设置的各种信息项(例如,用于缩放的常数值)的数据。为此,寄存器堆430可以包括一个或多个寄存器。
输入选择器410可以响应于输入控制信号INPUT_CTRL向运算器420提供用于运算的数据项。以第一处理元件PE0作为示例,输入选择器410可以通过存储体局部I/O(BLIO)接收来自第一存储体BANK 0的数据和来自第二存储体BANK 1的数据,可以通过存储体组I/O(BGIO)接收来自主机HOST的数据,可以接收存储在寄存器堆430中的数据(例如,寄存器输出reg_out),并且可以响应于输入控制信号INPUT_CTRL向运算器420提供至少一个数据。
运算器420可以响应于运算控制信号CAL_CTRL来执行运算,并且可以提供运算结果作为寄存器堆430的输入reg_in。运算结果可以存储在寄存器堆430中,并且寄存器堆430可以响应于寄存器控制信号REG_CTRL向输出选择器440提供存储的信息(例如,运算结果)。此外,输出选择器440可以响应于输出控制信号OUTPUT_CTRL通过各种路径输出运算结果。例如,输出选择器440可以通过存储体局部I/O(BLIO)向第一存储体BANK 0或第二存储体BANK 1提供运算结果,可以通过存储体组I/O(BGIO)向主机HOST提供运算结果,或者可以提供运算结果作为输入选择器410的输入以用于运算。
另一方面,图7示出了存储器设备400中包括的PE控制器450的实施示例。如图7所示,存储器设备400可以还包括指令队列460、指令解码器470和命令/地址CMD/ADD解码器480和PE控制器450。图6和图7中所示的各种组件可以被包括在本发明构思的上述示例性实施例中描述的PIM电路中。例如,指令队列460和指令解码器470可以被包括在PIM电路中。
PE控制器450可以基于命令/地址CMD/ADD或解码结果来执行与运算处理相关的各种控制操作。地址ADD包括存储体地址BA、行地址RA和列地址CA。此外,PE控制器450可以基于解码的命令/地址CMD/ADD生成上述各种控制信号INPUT_CTRL、CAL_CTRL、REG_CTRL和OUTPUT_CTRL,并且通过根据本发明构思的上述示例性实施例控制PEIO选通电路的开关状态,可以输出PEIO控制信号PEIO_CTRL,用于控制存储体局部I/O(BLIO)和存储体组I/O(BGIO)之间的电连接。
另一方面,运算处理可以包括各种种类的运算,诸如加法、减法和乘法,并且可以通过解码指令来确定运算的种类。指令队列460可以从主机HOST接收多个指令Inst,并且可以存储例如通过数据总线接收的指令Inst。PE控制器450可以通过向指令队列460提供指令控制信号INST_CTRL来控制将指令Inst存储到指令队列460中或从指令队列460读出指令Inst的操作。此外,从指令队列460读出的指令Inst可以被提供给指令解码器470,并且指令解码器470可以解码指令Inst。
图8是示出其中根据本发明构思的示例性实施例的存储器设备包括高带宽存储器(HBM)的示例的框图。
HBM 500包括具有独立接口的多个通道,并且可以具有增加的带宽。参考图8,HBM500可以包括多个裸芯,例如,缓冲裸芯(或逻辑裸芯510)和堆叠在缓冲裸芯(或逻辑裸芯510)上的一个或多个核心裸芯。在图8中,示出了其中在HBM 500中包括四个核心裸芯的示例。然而,核心裸芯的数量可以变化。图8的配置将参考核心裸芯当中的第一核心裸芯520描述如下。
第一核心裸芯520可以包括一个或多个通道。在图8中,示出了其中第一核心裸芯520包括两个通道CH1和CH2的示例。缓冲裸芯510可以包括与主机HOST(或存储器控制器)进行通信的接口电路,并且可以通过缓冲裸芯510从主机HOST接收命令/地址CMD/ADD和数据。此外,根据本发明构思的示例性实施例,第一核心裸芯520的第一通道CH1和第二通道CH2可以各自包括命令/地址解码器521和PIM电路522。PIM电路522可以基于解码命令/地址的结果来控制内部运算处理。此外,与本发明构思的上述示例性实施例中描述的运算处理相关的各种组件可以被包括在第一通道CH1和第二通道CH2中。例如,第一通道CH1和第二通道CH2中的每一个可以包括:包含多个存储体的存储体组、存储体局部I/O(BLIO)、存储体组I/O(BGIO)以及用于控制存储体局部I/O(BLIO)和存储体组I/O(BGIO)之间的电连接的PEIO选通电路。
在图8中,示出了其中HBM 500的第一通道CH1和第二通道CH2中的每一个包括至少两个伪通道的实施示例。例如,第一核心裸芯520的第一通道CH1可以包括两个伪通道PC0和PC1,数据总线被分别实施为与两个伪通道PC0和PC1相对应,并且两个伪通道PC0和PC1可以共享命令/地址解码器521。此外,根据本发明构思的示例性实施例,PIM电路522中包括的各种组件中的至少一个可以由两个伪通道PC0和PC1共享。换句话说,两个伪通道PC0和PC1可以通过单独的数据总线或公共命令/地址总线与主机HOST接口。
图9是示出根据本发明构思的示例性实施例的操作存储器设备的方法的流程图。
参考图9,存储器设备可以接收由主机HOST提供的指令,可以存储所接收的指令,并且可以根据来自主机HOST的请求来处理运算。在操作S11中,存储器设备可以从主机HOST接收命令/地址CMD/ADD,并且可以解码所接收的命令/地址CMD/ADD。此外,根据解码结果,存储器设备可以以运算处理模式操作。例如,根据本发明构思的上述示例性实施例,定义了用于处理运算的单独命令,或者可以基于命令/地址CMD/ADD中包括的多个位的值来选择运算处理模式。
在操作S12中,基于解码结果确定是否选择了运算处理模式。当确定未选择运算处理模式时(S12:否),在操作S13中,为常规存储器操作选择的存储体的存储体局部I/O(BLIO)和存储体组I/O(BGIO)彼此电连接。当执行常规存储器操作时,在操作S14中,可以向所选择的存储体提供数据或者从所选择的存储体读出数据。
另一方面,当选择运算处理模式时(S12:是),对于运算处理操作,在操作S15中,存储体局部I/O(BLIO)和存储体组I/O(BGIO)彼此电隔离,并且可以将用于处理运算的数据和/或信息提供给处理元件PE。例如,在操作S16中,来自主机HOST的数据可以通过存储体组I/O(BGIO)提供给处理元件PE。此外,在操作S17中,可以通过存储体局部I/O(BLIO)将从所选择的存储体读出的数据提供给处理元件PE。在操作S18中,处理元件PE可以通过使用所接收的数据来处理运算。
另一方面,根据本发明构思的上述示例性实施例,由处理元件PE处理的运算可以包括神经网络运算,诸如深度学习算法。例如,神经网络运算可以由诸如通用硬件(诸如中央处理单元(central processing unit,CPU)或图形处理单元(graphics processingunit,GPU))、或者针对特定软件优化的专用硬件的各种种类硬件(或处理器)来执行。例如,专用硬件可以包括各种种类的硬件,诸如专用集成电路(ASIC)、神经处理单元(neuralprocessing unit,NPU)、张量处理单元(tensor processing unit,TPU)或神经引擎。
根据本发明构思的示例性实施例,神经网络运算的至少部分运算可以由根据本发明构思的示例性实施例的存储器设备来执行。神经网络运算可以包括使用数据和权重的运算。用于运算的数据和权重可以从主机HOST提供,或者可以存储在存储器设备中。例如,当数据由主机HOST提供并且权重被存储在存储器设备的存储体中时,在图9的上述示例性实施例中,数据可以通过存储体组I/O(BGIO)被提供给处理元件PE,并且权重可以从所选择的存储体读出并且通过存储体局部I/O(BLIO)提供给处理元件PE。
图10A、图10B和图10C示出了根据本发明构思的示例性实施例的由存储器设备定义的操作命令。
根据本发明构思的示例性实施例,如图10A、图10B和图10C所示,关于运算处理,可以定义各种操作命令PERW、PERD和PEWR。当接收到第一操作命令到第三操作命令PERW、PERD和PEWR时,存储器设备可以通过解码先前存储在指令存储器中的指令来处理运算。此外,根据第一操作命令到第三操作命令PERW、PERD和PEWR的种类,用于运算的数据的传输路径可能变化。作为实施方式示例,基于第一操作命令到第三操作命令PERW、PERD和PEWR的解码结果,用于处理运算的数据的传输路径可以被控制为不同。
例如,参考图10A,第一操作命令PERW可以从主机HOST提供给存储器设备,并且响应于第一操作命令PERW,可以通过使用来自主机HOST的数据和存储器设备中的数据来执行运算。选择一个或多个存储体,并且存储体中的行可以处于激活状态,并且根据地址ADD中包括的列地址信息COL,从存储体中读出数据项,并且可以通过存储体局部I/O(BLIO)将其提供给处理元件PE。此外,在规定的等待时间之后,数据DATA从主机HOST通过存储体组I/O(BGIO)发送,并且可以被提供给处理元件PE。处理元件PE可以通过使用所接收的数据项来处理运算。
另一方面,参考图10B,第二操作命令PERD可以从主机HOST提供给存储器设备,并且响应于第二操作命令PERD,可以通过使用存储器设备中的数据来执行运算。例如,根据列地址信息COL,从存储体读出数据,并通过存储体局部I/O(BLIO)将其提供给处理元件PE,并且处理元件PE可以通过使用来自存储体的数据来处理运算。作为操作示例,从存储体读出的数据与神经网络运算的权重相对应,并且当用于缩放权重的值的信息(例如,预定常数值)被存储在处理元件PE的寄存器中时,处理元件PE可以基于权重和常数值进行操作。
另一方面,参考图10C,第三操作命令PEWR可以从主机HOST提供给存储器设备,并且响应于第三操作命令PEWR,存储在处理元件PE中的寄存器中的信息(例如,运算结果)可以被记录在存储体中。例如,基于命令/地址CMD/ADD的解码结果,处理元件PE中的寄存器的信息被读出,并且读出的信息可以通过存储体局部I/O(BLIO)被提供到与存储体的列地址信息COL相对应的位置。
在图10A、图10B和图10C的上述示例性实施例中,仅提及了可被处理的运算的部分。然而,根据本发明构思的示例性实施例的存储器设备可以处理各种其他种类的运算。例如,可以根据响应于第一操作命令到第三操作命令PERW、PERD和PEWR而读出的指令来处理各种种类的运算,并且可以使用各种种类的操作命令PERW、PERD和PEWR来控制数据的传输路径。例如,主机HOST可以提供第三操作命令PEWR和数据,并且处理元件PE可以响应于第三操作命令PEWR通过使用由主机HOST提供的数据来处理运算。
另一方面,主机HOST可以顺序地向存储器设备提供用于处理一系列运算的指令。因此,可以确定在各个操作定时要处理的运算的种类。基于在各个操作定时处理的运算的种类,可以从上述操作命令PERW、PERD和PEWR中选择命令,并且可以将所选择的命令提供给存储器设备。
图11是示出根据本发明构思的示例性实施例的由存储器设备串行处理的运算的波形图。在图11中,示出了其中多个存储体的行被同时选择并且运算由多个处理元件并行处理的示例。
参考图11,可以定义用于激活多个存储体中包括的多个行的激活命令PEACT。当主机HOST向存储器设备提供激活命令PEACT时,多个存储体中的每一个的行(例如,第一行Row0)可以被激活。
主机HOST可以向存储器设备提供一个或多个操作命令,以使存储器设备可以串行处理运算。例如,在本发明构思的上述示例性实施例中提到的第一操作命令到第三操作命令PERW、PERD和PEWR可以被提供给存储器设备。例如,可以基于第一操作命令到第三操作命令PERW、PERD和PEWR的解码结果来控制存储器设备的数据和/或信息的传输路径,并且基于从指令存储器读出的指令(例如,第一指令Inst 0)的解码操作,可以确定处理的运算的种类。
例如,存储器设备可以接收表示第一列Col0的地址和第三操作命令PEWR,并且根据第一指令Inst 0的解码结果mov,可以将数据和/或信息写入处理元件PE中的寄存器中。例如,当多个存储体的行被激活时,多个处理元件PE可以并行处理运算。例如,响应于第三操作命令PEWR,可以将来自数据总线的数据并行提供给多个处理元件PE作为寄存器输入reg_in。
此外,存储器设备可以从主机HOST接收第一操作命令PERW和表示第二列Col1的地址,并且可以响应于第一操作命令PERW和地址来读出和解码第二指令Inst 1。根据第二指令Inst 1的解码结果mac,多个处理元件PE中的每一个可以通过使用从存储体的第二列Col1读出的数据来处理存储在寄存器中的信息(例如,由主机HOST提供并存储在寄存器中的信息)和运算(例如,乘法和累加(accumulation,MAC))。
当运算由多个处理元件PE完全地并行处理时,为了对存储体的行进行预充电,预充电命令PEPRE可以从主机HOST提供给存储器设备。此外,根据操作示例,存储在多个处理元件PE中的运算处理结果可以被写入存储体中。为此,主机HOST可以将行(例如,第二行Row1)和激活命令PEACT提供给存储器设备,且存储器设备可以接收第三操作命令PEWR和地址(例如,第一列Col0)。存储器设备可以响应于第三操作命令PEWR读出并解码第三指令Inst 2,并且根据解码结果,存储在多个处理元件PE中的运算处理结果可以被分别存储在相应的存储体中。然后,根据来自主机HOST的预充电命令PEPRE,存储器设备的存储体的行可以被预充电。
图12A、图12B、图13A、图13B、图14A和图14B示出了根据本发明构思的示例性实施例的存储器设备。
参考图12A和图12B,存储器设备600A可以包括一个或多个存储体组。例如,第一存储体组BG0可以包括第一存储体BANK 0到第四存储体BANK3,并且处理元件可以被布置为与第一存储体BANK 0到第四存储体BANK 3相对应。例如,在图12A中,示出了其中第一处理元件611A和第二处理元件612A被布置为与第一存储体BANK 0和第二存储体BANK 1相对应的示例。第一PEIO选通电路621A可以被布置为控制存储体组I/O(BGIO)和第一存储体BANK 0的存储体局部I/O(BLIO)之间的连接。第二PEIO选通电路622A可以被布置为控制存储体组I/O(BGIO)和第二存储体BANK 1的存储体局部I/O(BLIO)之间的连接。
另一方面,参考图12B,存储器设备600A可以包括多个通道(例如,第一通道CH1和第二通道CH2),并且第一通道CH1和第二通道CH2中的每一个可以包括一个或多个存储体组。例如,图12A中所示的组件可以被包括在存储器设备600A的第一通道CH1中。此外,类似于本发明构思的上述示例性实施例,用于控制对第一通道CH1和第二通道CH2中的每一个的存储器操作和运算处理操作的各种组件可以被包括在存储器设备600A中。例如,在图12B中,示出了数据总线、存储体控制器、PE控制器和命令/地址解码器。
根据图12A和图12B所示的示例性实施例,可以通过使用存储在第一存储体BANK 0到第四存储体BANK 3中的数据来并行处理运算。以使用存储在第一存储体BANK 0到第四存储体BANK 3中的权重值信息的神经网络运算作为示例,来自主机HOST的数据通常被提供给图12A所示的处理元件PE0到PE3,并且处理元件PE0到PE3可以通过使用相同的数据并行地处理使用具有不同值的权重值的运算。
在图13A和图13B中,示出了其中存储器设备600B包括一个或多个存储体组,并且一个处理元件610B被布置为与一个存储体组(例如,第一存储体组BG0)相对应的示例。此外,PEIO选通电路621B到624B可以被布置为与第一存储体组BG0的第一存储体BANK 0到第四存储体BANK 3相对应。
根据要处理的运算的种类(或用于处理运算的操作数),可以将来自第一存储体BANK 0到第四存储体BANK 3中的至少一个存储体的数据提供给处理元件610B。根据用于处理运算的数据和/或信息,可以控制PEIO选通电路621B到624B的连接状态。此外,在图13B中,当存储器设备600B包括与图13A所示相同的组件时,示出了存储器设备600B中包括的多个通道(例如,第一通道CH1和第二通道CH2)的实施方式示例。
另一方面,在图14A中,示出了配置示例,其中一个处理元件被布置为与一个存储体组相对应,并且一个处理元件被布置在存储体组I/O(BGIO)上。
参考图14A和图14B,存储器设备700包括第一存储体组BG0,该第一存储体组BG0包括第一存储体BANK 0到第四存储体BANK 3,并且被布置为与第一存储体组BG0相对应的处理元件710可以通过存储体组I/O(BGIO)从第一存储体BANK 0到第四存储体BANK 3接收数据,并且可以通过数据总线从外部主机接收数据。此外,存储器设备700还包括PEIO选通电路720以与第一存储体组BG0相对应,并且PEIO选通电路720可以控制存储体组I/O(BGIO)和数据总线之间的电连接。
作为操作示例,当运算被处理时,PEIO选通电路720可以阻断存储体组I/O(BGIO)和数据总线之间的电连接,并且可以防止来自主机HOST的、提供给处理元件710的数据与通过存储体组I/O(BGIO)的数据冲突。另一方面,在图14B中,当存储器设备700包括与图14A中所示相同的组件时,示出了存储器设备700中包括的多个通道(例如,第一通道CH1和第二通道CH2)的实施方式示例。例如,与本发明构思的上述示例性实施例不同,处理元件710PE0可以连接在第一存储体组BG0的存储体组I/O(BGIO)和数据总线之间。
图15示出了根据本发明构思的示例性实施例的存储器设备。在图15中,示出了存储在存储器设备的存储体组中包括的多个存储体中的一个的单元阵列中的信息的示例。
根据本发明构思的示例性实施例,存储器设备包括PIM电路,并且可以响应于来自存储器控制器(或主机HOST)的常规命令来处理运算。例如,常规命令可以包括指示存储器操作的写入命令和读出命令,并且单元阵列的部分区域可以用作PIM区域,用于存储用于控制PIM电路的控制信息和用于处理运算的指令。在图15中,示出了其中指令和控制信息被存储在单元阵列的第一行Row0中的示例。然而,本发明构思不限于此,并且可以不同地设置PIM区域。
根据本发明构思的示例性实施例,通过指示单元阵列的PIM区域执行读出操作,主机HOST可以执行控制操作,使得存储器设备处理运算。存储器设备可以读出与本发明构思的上述示例性实施例中的指令相对应的信息和用于处理运算的各种控制信息项,并且可以通过使用上述信息项来处理运算。例如,存储器设备可以基于读出的指令来确定运算的种类(例如,数据的移动和MAC操作),并且可以基于读出的控制信息来控制激活/预充电操作,或者可以根据本发明构思的上述示例性实施例来控制各种路径。
图16是示出根据本发明构思的示例性实施例的包括数据处理系统的服务器系统的框图。
参考图16,服务器系统800可以包括管理器810和多个服务器820_1到820_K。多个服务器820_1到820_K中的每一个可以与在本发明构思的上述示例性实施例中描述的数据处理系统相对应。多个服务器820_1到820_K通过支持规定的协议(例如,PCI或PCIe)的总线彼此连接。例如,多个服务器820_1到820_K可以基于管理器810的控制通过P2P连接结构彼此通信。
参考一个服务器(例如,第一服务器820_1),第一服务器820_1包括根据本发明构思的上述示例性实施例的主机HOST和一个或多个存储器设备MEM,可以根据第一服务器820_1的功能处理各种种类的运算,并且可以存储运算结果。
根据本发明构思的示例性实施例,存储器设备MEM中的每一个可以包括多个存储体和被布置为与多个存储体相对应的处理元件。通过主机HOST提供操作命令,可以控制存储器设备MEM的运算处理定时。此外,根据本发明构思的上述示例性实施例,在存储器设备MEM中,关于多个存储体,存储体局部I/O(BLIO)和存储体组I/O(BGIO)被布置,并且存储器设备MEM具有其中在处理运算的过程中存储体局部I/O(BLIO)和存储体组I/O(BGIO)之间的电连接被阻断的配置。在本发明构思的示例性实施例中,服务器系统800与神经网络服务器系统相对应,并且第一服务器820_1可以控制存储器设备MEM,使得大量神经网络运算的至少部分可以由存储器设备MEM处理。
虽然已经参照本发明构思的示例性实施例具体示出和描述了本发明构思,但是应当理解,在不脱离由所附权利要求提出的本发明构思的精神和范围的情况下,可以在形式和细节上对其做出各种改变。
Claims (20)
1.一种存储器设备,包括:
存储器存储体,其包括存储体组,所述存储体组包括多个存储体;
存储器中处理器(PIM)电路,其包括被布置为与所述存储体组相对应的第一处理元件,其中,所述第一处理元件被配置为通过使用由主机提供的数据和从所述存储体组读出的数据中的至少一个来处理运算;
处理元件输入和输出(PEIO)选通电路,其被配置为控制被布置为与所述存储体组的多个存储体中的每一个相对应的存储体局部输入和输出线(存储体局部IO)和被布置为与所述存储体组相对应的存储体组输入和输出线(存储体组IO)之间的电连接;和
控制逻辑,其被配置为执行控制操作,以使基于对从所述主机接收的命令/地址的解码结果,执行对所述存储器存储体的存储器操作或者由所述PIM电路处理运算,
其中,当所述运算由所述第一处理元件处理时,所述PEIO选通电路阻断所述存储体局部IO和所述存储体组IO之间的所述电连接。
2.根据权利要求1所述的存储器设备,其中,所述第一处理元件通过使用由所述主机提供的所述数据、从所述存储体组读出的所述数据和存储在寄存器中的数据中的至少一个来处理所述运算。
3.根据权利要求1所述的存储器设备,其中,所述存储体组包括第一存储体和第二存储体,
其中,所述PEIO选通电路包括被布置在与所述第一存储体相对应的第一存储体局部IO中的第一PEIO选通电路和被布置在与所述第二存储体相对应的第二存储体局部IO中的第二PEIO选通电路,并且
其中,所述第一处理元件通过从所述第一存储体和所述第二存储体中的至少一个接收数据来处理所述运算。
4.根据权利要求3所述的存储器设备,其中,
当所述运算由所述第一处理元件处理时,所述第一存储体局部IO和所述第二存储体局部IO与所述存储体组IO之间的电连接被阻断。
5.根据权利要求1所述的存储器设备,还包括被配置为存储由所述主机提供的至少一个指令的指令存储器,
其中,当从所述主机接收到指示要处理的所述运算的所述命令/地址时,所述PIM电路处理与从所述指令存储器读出的所述至少一个指令相对应的运算。
6.根据权利要求5所述的存储器设备,其中,所述PIM电路包括处理元件(PE)控制器,其被配置为生成与处理所述运算相关的用于控制所述至少一个指令的存储和读出以及控制所述第一处理元件的控制信号。
7.根据权利要求6所述的存储器设备,其中,所述第一处理元件包括:
输入选择器,其被配置为接收通过所述存储体局部IO发送的数据和通过所述存储体组IO发送的数据,并输出要用于运算的数据;
运算器,其被配置为处理对于从所述输入选择器提供的一个或多个数据的运算;和
寄存器堆,其被配置为存储所述运算器的运算结果。
8.根据权利要求7所述的存储器设备,其中,所述第一处理元件还包括:输出选择器,其被配置为从所述寄存器堆接收所述运算结果,并将所述运算结果输出到所述存储体局部IO或所述存储体组IO。
9.根据权利要求1所述的存储器设备,其中,定义了用于指示要由所述存储器设备处理的所述运算的多个操作命令,并且
其中,根据所述多个操作命令中的操作命令的种类,控制所述PEIO选通电路的开关状态改变。
10.根据权利要求1所述的存储器设备,其中,所述PIM电路还包括第二处理元件到第M处理元件(其中,M是小于或等于N的整数,并且N是大于2的自然数),以与所述存储体组的N个存储体相对应,并且
其中,所述第一处理元件到所述第M处理元件基本上同时被启用,接收通过所述存储体组IO从所述主机发送的数据,并通过使用由所述主机提供的所述数据并行地处理运算。
11.根据权利要求1所述的存储器设备,其中,用于处理神经网络的多个运算的至少部分由所述存储器设备处理,并且
其中,所述PIM电路通过使用由所述主机提供的所述数据和与存储在所述存储器存储体中的权重信息相对应的数据来处理运算。
12.一种存储器设备,包括:
存储器存储体,其包括存储体组,所述存储体组包括第一存储体和第二存储体;
存储体组输入和输出线(存储体组IO),其被布置为与所述存储体组相对应,并且包括外部主机和所述存储体组之间的数据传输路径;
第一存储体局部输入和输出线(存储体局部IO),其被布置为与所述第一存储体相对应,并且包括提供给所述第一存储体的数据和从所述第一存储体读出的数据的传输路径;
第一处理元件,其连接到所述存储体组IO和所述第一存储体局部IO,并被配置为通过使用从所述主机提供的数据和从所述第一存储体读出的所述数据中的至少一个来处理运算;和
第一处理元件输入和输出(PEIO)选通电路,其被配置为控制数据传输路径,以使当运算由所述第一处理元件处理时,从所述主机提供的所述数据被提供给所述第一处理元件而不被提供给所述存储器存储体。
13.根据权利要求12所述的存储器设备,其中,所述第一PEIO选通电路被布置在所述存储体组IO和所述第一存储体局部IO之间,并且
其中,当所述运算由所述第一处理元件处理时,所述第一PEIO选通电路阻断所述存储体组IO和所述第一存储体局部IO之间的连接。
14.根据权利要求12所述的存储器设备,其中,所述第一PEIO选通电路被布置在所述存储体组IO和用于发送从所述主机提供的所述数据的数据总线之间,并且
其中,当所述运算由所述第一处理元件处理时,所述第一PEIO选通电路阻断所述存储体组IO和所述数据总线之间的连接。
15.根据权利要求12所述的存储器设备,还包括:
第二存储体局部IO,其被布置为与所述第二存储体相对应,并且包括提供给所述第二存储体的数据和从所述第二存储体读出的数据的传输路径;和
第二PEIO选通电路,其被配置为控制所述存储体组IO和所述第二存储体局部IO之间的电连接,
其中,所述第一处理元件还连接到所述第二存储体局部IO,并通过使用从所述第二存储体读出的所述数据来处理运算。
16.根据权利要求15所述的存储器设备,其中,所述第一PEIO选通电路被布置在所述存储体组IO和所述第一存储体局部IO之间,并且
其中,当所述运算由所述第一处理元件处理时,所述存储体组IO与所述第一存储体局部IO和所述第二存储体局部IO之间的连接被阻断。
17.根据权利要求12所述的存储器设备,还包括:
指令存储器,其被配置为存储由所述主机提供的至少一个指令;
指令解码器,其被配置为当从所述主机接收到用于指示要处理的所述运算的命令/地址时,解码从所述指令存储器读出的指令;和
处理元件控制器,其被配置为向所述第一处理元件输出控制信号,以使根据从所述指令存储器读出的所述指令的解码结果来处理运算。
18.一种操作包括存储体组的存储器设备的方法,所述存储体组包括多个存储体,所述方法包括:
基于来自主机的命令/地址的解码结果来确定所述存储器设备的运算处理模式;
当所述运算处理模式被确定时,阻断与所述多个存储体当中的所选择的存储体相对应的存储体局部输入和输出线(存储体局部IO)和被布置为与所述存储体组相对应的存储体组输入和输出线(存储体组IO)之间的电连接;
在其中所述存储体局部IO和所述存储体组IO之间的电连接被阻断的状态下,将由所述主机提供的数据和从所选择的存储体读出的数据中的至少一个提供给处理元件;以及
由所述处理元件处理运算。
19.根据权利要求18所述的方法,还包括:
当确定所述运算处理模式未被确定时,将所述存储体局部IO电连接到所述存储体组IO;和
通过在所述存储体局部IO和所述存储体组IO之间传输数据来执行存储器操作。
20.根据权利要求18所述的方法,其中,
在所述运算处理模式的所述确定时,除了与常规存储器操作相关的命令之外,还确定是否接收到指示要处理的运算的命令。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962816509P | 2019-03-11 | 2019-03-11 | |
US62/816,509 | 2019-03-11 | ||
KR10-2019-0151617 | 2019-11-22 | ||
KR1020190151617A KR20200108768A (ko) | 2019-03-11 | 2019-11-22 | 연산 처리를 수행하는 메모리 장치 및 메모리 장치의 동작방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111694514A true CN111694514A (zh) | 2020-09-22 |
CN111694514B CN111694514B (zh) | 2024-06-18 |
Family
ID=72422648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010165077.XA Active CN111694514B (zh) | 2019-03-11 | 2020-03-11 | 用于处理运算的存储器设备及操作该存储器设备的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11094371B2 (zh) |
CN (1) | CN111694514B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817125A (zh) * | 2021-01-28 | 2022-07-29 | 华邦电子股份有限公司 | 具有运算功能的内存装置及其操作方法 |
WO2022193478A1 (zh) * | 2021-03-19 | 2022-09-22 | 长鑫存储技术有限公司 | 数据处理电路及设备 |
US11776598B2 (en) | 2021-03-19 | 2023-10-03 | Changxin Memory Technologies, Inc. | Data processing circuit and device |
US11810614B2 (en) | 2021-03-19 | 2023-11-07 | Changxin Memory Technologies, Inc. | Data processing circuit and device |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11474718B2 (en) * | 2020-01-07 | 2022-10-18 | SK Hynix Inc. | Processing-in-memory (PIM) device and PIM system including the PIM device |
US11422804B2 (en) | 2020-01-07 | 2022-08-23 | SK Hynix Inc. | Processing-in-memory (PIM) device |
US11422803B2 (en) | 2020-01-07 | 2022-08-23 | SK Hynix Inc. | Processing-in-memory (PIM) device |
US11842266B2 (en) | 2020-01-07 | 2023-12-12 | SK Hynix Inc. | Processing-in-memory (PIM) device, controller for controlling the PIM device, and PIM system including the PIM device and the controller |
US11861369B2 (en) | 2020-01-07 | 2024-01-02 | SK Hynix Inc. | Processing-in-memory (PIM) device |
US11467965B2 (en) | 2020-01-07 | 2022-10-11 | SK Hynix Inc. | Processing-in-memory (PIM) device |
US11537323B2 (en) * | 2020-01-07 | 2022-12-27 | SK Hynix Inc. | Processing-in-memory (PIM) device |
US12106819B2 (en) | 2020-01-07 | 2024-10-01 | SK Hynix Inc. | Processing-in-memory (PIM) device |
KR20210091404A (ko) * | 2020-01-13 | 2021-07-22 | 삼성전자주식회사 | 메모리 장치, 메모리 모듈 및 메모리 장치의 동작 방법 |
KR20210143048A (ko) | 2020-05-19 | 2021-11-26 | 삼성전자주식회사 | 상이한 엔디언 포맷에 따른 데이터 변환을 위한 인터페이스 회로를 갖는 메모리 장치 |
KR20230105594A (ko) * | 2022-01-04 | 2023-07-11 | 에스케이하이닉스 주식회사 | 반도체장치 |
US12079482B2 (en) | 2022-01-06 | 2024-09-03 | Samsung Electronics Co., Ltd. | Memory device |
EP4332751A1 (en) * | 2022-08-30 | 2024-03-06 | Samsung Electronics Co., Ltd. | Apparatus and method with in-memory computing (imc) |
US20240281397A1 (en) * | 2023-02-17 | 2024-08-22 | Stmicroelectronics International N.V. | Reconfigurable, streaming-based clusters of processing elements, and multi-modal use thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107450890A (zh) * | 2016-05-30 | 2017-12-08 | 三星电子株式会社 | 半导体存储设备及其操作方法 |
CN107767919A (zh) * | 2016-08-17 | 2018-03-06 | 三星电子株式会社 | 半导体存储器设备、包括其的存储器系统及操作其的方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100639614B1 (ko) | 2004-10-15 | 2006-10-30 | 주식회사 하이닉스반도체 | 뱅크 내 셀을 테스트하기 위한 데이터 출력 컴프레스 회로및 방법 |
JP2006293538A (ja) | 2005-04-07 | 2006-10-26 | Renesas Technology Corp | 演算システム |
JP4796339B2 (ja) | 2005-06-20 | 2011-10-19 | Okiセミコンダクタ株式会社 | メモリの読み出し及び書き込み方法 |
US9606807B2 (en) | 2009-06-04 | 2017-03-28 | Micron Technology, Inc. | Direct communication with a processor internal to a memory device |
US8806446B2 (en) | 2010-03-22 | 2014-08-12 | Analog Devices, Inc. | Methods and apparatus for debugging programs in shared memory |
KR101090410B1 (ko) | 2010-07-02 | 2011-12-06 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 |
US8949551B2 (en) | 2011-02-23 | 2015-02-03 | Freescale Semiconductor, Inc. | Memory protection unit (MPU) having a shared portion and method of operation |
US9575903B2 (en) | 2011-08-04 | 2017-02-21 | Elwha Llc | Security perimeter |
US9530245B2 (en) | 2011-12-29 | 2016-12-27 | Qualcomm Incorporated | Packing multiple shader programs onto a graphics processor |
US10042750B2 (en) | 2013-03-15 | 2018-08-07 | Micron Technology, Inc. | Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor |
JP2015032253A (ja) | 2013-08-06 | 2015-02-16 | ソニー株式会社 | 情報処理装置および情報処理方法 |
US10061590B2 (en) | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
US9892058B2 (en) | 2015-12-16 | 2018-02-13 | Advanced Micro Devices, Inc. | Centrally managed unified shared virtual address space |
US9971541B2 (en) | 2016-02-17 | 2018-05-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10795815B2 (en) | 2016-05-27 | 2020-10-06 | Arm Limited | Method and apparatus for maintaining data coherence in a non-uniform compute device |
US10303632B2 (en) | 2016-07-26 | 2019-05-28 | Micron Technology, Inc. | Accessing status information |
US10402340B2 (en) | 2017-02-21 | 2019-09-03 | Micron Technology, Inc. | Memory array page table walk |
US10185674B2 (en) | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
US10049721B1 (en) | 2017-03-27 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
KR102395463B1 (ko) | 2017-09-27 | 2022-05-09 | 삼성전자주식회사 | 적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법 |
KR20190075363A (ko) * | 2017-12-21 | 2019-07-01 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈 |
KR102453542B1 (ko) * | 2018-02-21 | 2022-10-12 | 삼성전자주식회사 | 스킵 연산 모드를 지원하는 메모리 장치 및 그 동작 방법 |
US10692570B2 (en) | 2018-07-11 | 2020-06-23 | Sandisk Technologies Llc | Neural network matrix multiplication in memory cells |
US11138499B2 (en) | 2018-09-28 | 2021-10-05 | Intel Corporation | Applications of back-end-of-line (BEOL) capacitors in compute-in-memory (CIM) circuits |
-
2020
- 2020-03-05 US US16/810,344 patent/US11094371B2/en active Active
- 2020-03-11 CN CN202010165077.XA patent/CN111694514B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107450890A (zh) * | 2016-05-30 | 2017-12-08 | 三星电子株式会社 | 半导体存储设备及其操作方法 |
CN107767919A (zh) * | 2016-08-17 | 2018-03-06 | 三星电子株式会社 | 半导体存储器设备、包括其的存储器系统及操作其的方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817125A (zh) * | 2021-01-28 | 2022-07-29 | 华邦电子股份有限公司 | 具有运算功能的内存装置及其操作方法 |
WO2022193478A1 (zh) * | 2021-03-19 | 2022-09-22 | 长鑫存储技术有限公司 | 数据处理电路及设备 |
US11776598B2 (en) | 2021-03-19 | 2023-10-03 | Changxin Memory Technologies, Inc. | Data processing circuit and device |
US11810614B2 (en) | 2021-03-19 | 2023-11-07 | Changxin Memory Technologies, Inc. | Data processing circuit and device |
Also Published As
Publication number | Publication date |
---|---|
US11094371B2 (en) | 2021-08-17 |
US20200294575A1 (en) | 2020-09-17 |
CN111694514B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111694514B (zh) | 用于处理运算的存储器设备及操作该存储器设备的方法 | |
US11416178B2 (en) | Memory device performing parallel calculation processing, operating method thereof, and operating method of memory controller controlling the memory device | |
US11482278B2 (en) | Method of performing internal processing operation of memory device | |
US12106107B2 (en) | Memory device for processing operation, data processing system including the same, and method of operating the memory device | |
EP3403184B1 (en) | Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory | |
KR20200108768A (ko) | 연산 처리를 수행하는 메모리 장치 및 메모리 장치의 동작방법 | |
KR20210059803A (ko) | 뱅크 대 뱅크 데이터 전달 | |
US10741241B2 (en) | Apparatuses and methods for subarray addressing in a memory device | |
CN114153373A (zh) | 用于执行存储器设备内的数据操作的存储器系统及其操作方法 | |
US20210200465A1 (en) | Direct data transfer in memory and between devices of a memory module | |
US11281397B2 (en) | Stacked memory device performing function-in-memory (FIM) operation and method of operating the same | |
US20200293452A1 (en) | Memory device and method including circular instruction memory queue | |
US11620088B2 (en) | Dual speed memory | |
US11762582B2 (en) | Background operations in memory | |
US20190096459A1 (en) | Memory devices for performing multiple write operations and operating methods thereof | |
TWI856072B (zh) | 記憶體裝置、資料處理系統以及操作記憶體裝置的方法 | |
US12001713B2 (en) | Data transfer in port switch memory | |
US12124741B2 (en) | Memory module interfaces | |
US20240028260A1 (en) | Memory module interfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |