CN111913652A - 包括处理电路的存储器件、存储器控制器和存储系统 - Google Patents
包括处理电路的存储器件、存储器控制器和存储系统 Download PDFInfo
- Publication number
- CN111913652A CN111913652A CN201910577662.8A CN201910577662A CN111913652A CN 111913652 A CN111913652 A CN 111913652A CN 201910577662 A CN201910577662 A CN 201910577662A CN 111913652 A CN111913652 A CN 111913652A
- Authority
- CN
- China
- Prior art keywords
- memory
- pim
- command
- commands
- requests
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 91
- 239000000872 buffer Substances 0.000 claims description 38
- 230000007704 transition Effects 0.000 claims description 19
- 239000003638 chemical reducing agent Substances 0.000 claims description 9
- 238000000034 method Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 6
- 238000011112 process operation Methods 0.000 claims description 2
- 239000004065 semiconductor Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 21
- 239000011159 matrix material Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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/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
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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
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)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Software Systems (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
半导体设备可以包括存储器控制器,该存储器控制器可以包括:请求队列,其储存存储器请求和存储器内处理(PIM)请求,所述存储器请求包括对存储器件的读取请求和对该存储器件的写入请求,以及所述存储器内处理器(PIM)请求用于要求在该存储器件中的处理操作;命令发生器,被配置为从请求队列输出的存储器请求来产生存储器命令,或者从请求队列输出的PIM请求来产生PIM命令;命令队列,其储存从命令发生器输出的存储器命令和PIM命令;以及命令调度器,被配置为控制储存在命令队列中的存储器命令和PIM命令的输出顺序或输出时序。
Description
相关申请的交叉引用
本申请要求2019年5月10日提交的申请号为10-2019-0054844的韩国专利申请的优先权,其公开内容通过引用整体合并于此。
技术领域
各种实施例大体可以涉及一种包括处理电路的存储器件,用于控制该存储器件的存储器控制器以及包括该存储器件的存储系统,并且更具体地涉及一种在处理操作期间能够执行一般的存储器读取或写入操作的存储器件,以及用于控制该存储器件的存储器控制器,以及包括该存储器件的存储系统。
背景技术
正在开发存储器内处理(PIM)技术以在存储器件内执行处理操作。
传统的PIM技术局限于基于诸如超级存储器立方体(HMC)或高带宽存储器(HBM)的3D层叠存储器件的特定应用,或者已经被开发为动态随机存取存储器(DRAM)器件中的加速器。
在采用传统PIM技术的存储器件中,在处理操作期间不能执行一般的存储器读取和写入操作,因此存储系统的性能恶化。
发明内容
根据本教导,一种存储器控制器可以包括:请求队列,其储存存储器请求和存储器内处理(PIM)请求,所述存储器请求包括对存储器件的读取请求和对存储器件的写入请求,所述存储器内处理(PIM)请求要求所述存储器件中的处理操作;命令发生器,被配置为从自所述请求队列输出的存储器请求来产生存储器命令,或者从自所述请求队列输出的PIM请求来产生PIM命令;命令队列,其储存从所述命令发生器输出的存储器命令和PIM命令;以及命令调度器,被配置为控制在所述命令队列中储存的存储器命令和PIM命令的输出顺序或输出时序。
根据本教导,一种存储器件可以包括:命令解码器,其被配置为解码代表存储器件中的读取操作或写入操作的存储器命令或代表存储器件中的处理操作的PIM命令;存储体,其储存数据;输入/输出(IO)缓冲器,被配置为输入或输出数据;共享总线,被配置为在所述存储体与所述IO缓冲器之间传输数据;以及处理电路,被配置为与所述共享总线和所述存储体连接,并根据所述命令解码器的控制来执行处理操作,其中,在所述处理电路根据PIM命令而执行处理操作时,所述存储体由所述命令解码器控制而执行存储器命令。
根据本教导,一种存储系统可以包括:存储器件;和存储器控制器,被配置为从存储器请求来产生存储器命令,从PIM请求来产生PIM命令,并且将PIM命令与存储器命令一起调度,所述存储器请求包括对存储器件的读取请求和写入请求,所述PIM请求要求在存储器件中的处理操作,其中,所述存储器件根据来自所述存储器控制器的存储器命令而执行数据读取或数据写入操作,并根据来自所述存储器控制器的PIM命令而执行处理操作,以及其中,在所述存储器件执行所述处理操作时,所述存储器件执行所述数据读取或数据写入操作。
附图说明
附图(其中贯穿不同的视图相同的附图标记指代相同或功能相似的元件)连同下面的详细描述被并入并形成说明书的一部分,并且用于进一步说明包括所要求保护的新颖性的概念的实施例,并解释那些实施例的各种原理和优点。
图1示出了说明根据本公开的实施例的存储系统的框图。
图2和图3示出了说明根据本公开的实施例的存储器控制器的框图。
图4A和图4B示出了根据本公开的实施例的存储器命令和PIM命令的数据结构。
图5示出了说明根据本公开的实施例的PIM命令的表。
图6示出了说明根据本公开的实施例的存储器件的操作的状态图。
图7和图8示出了说明根据本公开的实施例的存储器件的框图。
图9示出了说明根据本公开的实施例的处理电路的框图。
图10至图12示出了说明根据本公开的实施例的PIM操作的图。
具体实施方式
以下详细描述参考附图来描述与本公开一致的说明性实施例。提供实施例是出于说明性目的而非穷举。未明确说明或描述的其他实施例是可能的。此外,可以在本教导的范围内对所呈现的实施例进行修改。详细描述并不意味着限制本公开。相反,本公开的范围根据所提出的权利要求及其等同物来限定。
图1示出了说明根据本公开的实施例的存储系统的框图。
根据本公开的实施例的存储系统包括存储器控制器100和存储器件200。
存储器控制器100从主机10接收存储器请求和存储器内处理(PIM)请求。存储器请求和PIM请求可以经由公共接口传送。
根据本实施例的存储系统可以经由存储器总线连接到主机10。
根据本实施例的存储系统可以与连接到存储器总线的主存储器件分开提供,并且该存储系统可以经由诸如PCI Express(PCIe)接口的单独接口连接到主机10。
以这种方式,主机10可以经由公共接口向该存储系统提供存储器请求和PIM请求。
存储器控制器100从存储器请求和PIM请求产生存储器命令和PIM命令,并经由相同的接口将它们提供给存储器件200。
存储器控制器100将存储器命令和PIM命令一起调度,并将它们提供给存储器件200,存储器件200操作使得存储器命令和PIM命令可以根据相同的状态图来被处理。
因此,根据本实施例的存储系统不需要用于PIM命令的单独接口。
主机10可以向存储器控制器100提供PIM指令而不是PIM请求。
PIM指令对应于可以经由一个或更多个PIM请求而被执行的操作。
PIM指令可以响应于要求PIM操作的软件的特定代码而产生,并且可以从主机10提供。
在一个实施例中,可以通过软件库来预处理PIM指令,其中主机10可以向存储器控制器100提供PIM请求而不是PIM指令。
在主机10直接向存储器控制器100提供PIM指令而不是PIM请求的情况下,根据实施例的存储系统可以接收PIM指令并在内部将PIM指令解码为PIM请求。
图2示出了说明根据本公开的实施例的存储器控制器100的框图。
图2对应于主机10向存储器控制器100提供存储器请求和PIM请求的实施例。
在图2中,存储器控制器100包括请求队列110、请求调度器120、命令发生器130、命令队列140和命令调度器150。
由主机10提供的存储器请求和PIM请求被储存在请求队列110中。
请求调度器120确定在请求队列110中储存的存储器请求和PIM请求的处理顺序。
存储器请求包括存储器读取请求和存储器写入请求。
PIM请求是要求处理操作的请求,在一个实施例中,PIM请求包括PIM读取请求和PIM写入请求。
存储器请求和PIM请求可以包括特殊比特位(PIM比特位)以将存储器请求与PIM请求区分开。
例如,如果PIM比特位为0则它被确定为存储器请求,以及如果PIM比特位为1则它被确定为PIM请求。
存储器控制器100还可以将PIM比特位插入在从存储器请求或PIM请求所产生的相应命令中,并将该相应的命令提供给存储器件200。
请求调度器120可以应用诸如先到先服务(FCFS)和先读先到先服务(FR-FCFS)的各种调度技术,来调度储存在请求队列110中的请求,并且可以向命令发生器130提供所选择的请求。
命令发生器130把从请求队列110输出的存储器请求转换为一个或更多个存储器命令,把PIM请求转换为一个或更多个PIM命令,并将存储器命令和PIM命令储存到命令队列140中。
考虑到存储器件200的操作所需的时序限制(timing constraint),命令调度器150选择储存在命令队列140中的存储器命令和PIM命令并将其输出到存储器件200。
时序限制通过标准等来预定义,并且将省略其详细描述。
在该实施例中,除了时序限制之外,命令调度器150还可以考虑附加限制。
如下面将详细描述的,根据本实施例的存储器件200包括多个存储体和多个处理电路,并且多个存储体和多个处理电路可以通过共享总线(SBUS)交换数据。
因此,在该实施例中,命令调度器150可以通过进一步考虑共享总线的状态来调度存储器命令和PIM命令,以防止共享总线上的数据冲突。
在该实施例中,命令调度器150可以按每个存储体来调度存储器命令和PIM命令,并将它们提供给存储器件200。
图3示出了说明根据本发明的另一实施例的存储器控制器101的框图。
图3对应于主机10向存储器控制器101提供PIM指令而不是PIM请求的实施例。
因此,存储器控制器101还包括:指令队列160,其用于储存PIM指令;和PIM解码器170,其用于将PIM指令转换为一个或更多个PIM请求。
主机10可以产生写入请求,所述写入请求在写入数据中包括PIM指令的内容,并且将写入请求和写入数据发送到存储器控制器101。
为方便起见,具有包括PIM指令的内容的写入数据的写入请求可以被称为PIM指令。
此时,可以添加PIM比特位以将PIM指令与一般写入请求区分开。
在这种情况下,包括在PIM比特位被设置为1的写入请求中的写入数据可以被视为PIM指令并被储存在PIM指令队列160中。
具有被设置为0的PIM比特位的存储器请求可以被视为一般的存储器请求并且被直接储存在请求队列110中。
为此目的,可以包括路径选择电路180以用于根据PIM比特位来确定输出方向。
PIM解码器170对应于PIM指令而产生一个或更多个PIM请求。
PIM解码器170可以操作由上述软件库执行的操作的一部分或全部。根据实施例特定的解码规则可以是预先确定的,因此将省略关于特定解码操作的描述。
请求队列110、请求调度器120、命令发生器130、命令调度器150和命令队列140的操作基本上与参考图2描述的那些相同。
图4A示出了存储器命令的数据结构,以及图4B示出了PIM命令的数据结构。
图4A中所示的存储器命令相对于传统存储器命令还包括PIM比特位。
在该实施例中,对应于存储器命令的PIM比特位被设置为零。
常规存储器命令包括总共7个比特位,包括2比特位的CKE字段、1比特位的CS字段、1比特位的ACT字段、1比特位的RAS字段、1比特位的CAS字段和1比特位的WE字段。
存储器件200中的命令解码器根据预定规则对存储器命令进行解码以控制存储器件200的内部元件。
存储器命令的每个字段的含义和将它们解码的技术是公知的,将省略其详细描述。
图4B中所示的PIM命令具有与存储器命令相同的比特位数,并且PIM命令的PIM比特位被设置为1。
在该实施例中,PIM命令包括3比特位的OPCODE字段,以及2比特位的SRC字段和2比特位的DST字段。
OPCODE字段用于区分PIM命令的类型和每种类型的特定操作。
SRC字段和DST字段可以用于指示在PIM操作期间数据的来源和目的地。
如同存储器件200参考与存储器命令相关联地提供给存储器件200的地址,存储器件200还可以参考与PIM命令相关联地提供给存储器件200的地址。
在该实施例中,PIM命令被产生以具有与存储器命令相同的比特位数。
在该实施例中,存储器命令和PIM命令中除了PIM比特位之外的7比特位信号可以如同传统方式经由命令总线被传送到存储器件200。
此时,可以利用在命令信号的传送期间未使用的焊盘而在存储器控制器100与存储器件200之间传送PIM比特位。
例如,能够经由在传送命令信号期间未使用的数据焊盘或者地址焊盘来传送PIM比特位。
在另一个实施例中,可以将另外的焊盘添加到存储器控制器100和存储器件200以传送PIM比特位。
在另一实施例中,包括PIM比特位的总共8个比特位可以被编码以被转换为小于7比特位的信号并通过传统的命令总线来传送。
接收到已编码的命令信号的存储器件200可以将已编码的命令信号解码并产生存储器命令或PIM命令,然后解码每个命令并相应地控制内部元件。
可以对用于向存储器件发送存储器命令和PIM命令的接口进行各种修改。
通常,存储器命令对应于在存储体与IO缓冲器之间传送或接收数据的操作。
在该实施例中,PIM命令对应于在存储体或共享总线与处理电路之间传送或接收数据的操作。
此时,PIM命令可以指定可以由处理电路执行的特定操作。
在该实施例中,PIM操作通过传送存储器读取命令开始,因此,PIM操作可以被解释为具有较长延时(latency)的读取操作。
图5示出了说明根据本公开的实施例的PIM命令的表。
图5的表中所示的PIM命令的类型可以与包括在存储器件200中的处理电路300的内部结构一起进行设计和修改。稍后将详细描述处理电路300的内部结构。
PIM命令包括PIM读取命令(PIM RD)和PIM写入命令(PIM WR)。
在本实施例中,根据OPCODE字段的内容,PIM读取命令被细分为四个操作命令,诸如读取操作命令PRD、清除操作命令CLR、处理操作命令MAC和归约(reduction)操作命令RADD。
读取操作命令PRD由在OPCODE字段中的“010”表示。读取(READ)操作是将存储体的数据储存在第0缓冲器(BUF0)或第1缓冲器(BUF1)中的操作、或将共享总线(SBUS)的数据复制到第0缓冲器或第1缓冲器的操作。
此时,存储体由在SRC字段中的“00”表示,共享总线由在SRC字段中的“01”表示,BUF0由在DST字段中的“10”表示,以及BUF1由在DST字段中的“11”表示。
BUF0和BUF1被包括在处理电路300中,并且共享总线是共同连接到多个存储体和IO缓冲器的数据总线,这些在下面具体描述。
清除操作命令CLR由在OPCODE字段中的“000”表示,并且随后的四个比特位中的每个比特位分别对应于BUF0、BUF1、vACC和rACC。与被激活的比特位相对应的元件在清除操作中被重置。
vACC是累加器,其将向量运算的结果相累加,以及rACC是累加器,其将标量运算的结果相累加。在下文中,vACC可以被称为第一累加器,以及rACC可以被称为第二累加器。
处理操作命令MAC由在OPCODE字段中的“100”表示,并且不使用与SRC字段和DST字段对应的信息。
在处理操作中,vACC的元素的每个值与BUF0与BUF1的对应元素的相乘相累加。
归约操作命令RADD由在OPCODE字段中的“110”表示,并且不使用DST字段中的信息。
归约操作根据SRC字段的信息而被细分为两个操作。
当SRC字段是“0X”时为第一归约操作,其对应于将vACC的所有元素相加并将结果储存在rACC中。
当SRC字段是“1X”时为第二归约操作,其对应于将rACC的值与被提供给共享总线的值相累加。
在该实施例中,PIM写入命令由在OPCODE字段中的“001”表示,并且包括写入操作命令PWR。
写入(WRITE)操作是将vACC或rACC的数据复制到存储体或共享总线的操作。
此时,存储体由在DST字段中的“00”表示,共享总线由在DST字段中的“01”表示,vACC由在SRC字段中的“10”表示,并且rACC由在SRC字段中的“11”表示。
图6示出了说明根据本公开的实施例的存储器件200的操作的状态图。
图6的状态图与传统的动态随机存取存储器(DRAM)的状态图实质上相同。
在本实施例中,除了作为传统的DRAM命令的读取命令(RD)和写入命令(RD)之外,还包括了作为PIM命令的PIM读取命令(PIM RD)和PIM写入命令(PIM WR)。
存储器件200的状态包括空闲状态S10、存储体激活状态S20、写入状态S30、读取状态S40、预充电状态S50和刷新状态S60。
当在空闲状态S10中输入激活命令ACT时,状态转换为存储体激活状态S20。当在空闲状态S10中输入刷新命令REF时,状态转换为刷新状态S60。
当在存储体激活状态S20中输入写入命令WR或PIM写入命令PIM WR时,状态转换为写入状态S30。当在存储体激活状态S20中输入读取命令RD或PIM读取命令PIM RD时,状态转换为读取状态S40。当在存储体激活状态S20中输入预充电命令PRE时,状态转换为预充电状态S50。
当在写入状态S30中输入写入命令WR或PIM写入命令PIM WR时,保持写入状态S30。当在写入状态S30中输入读取命令RD或PIM读取命令时,状态转换为读取状态S40。当在写入状态S30中输入预充电命令PRE时,状态转换为预充电状态S50。当在写入状态S30中写入操作完成而没有接收到另一命令时,状态转换为存储体激活状态S20。
当在读取状态S40中输入写入命令WR或PIM写入命令PIM WR时,状态转换为写入状态S30。当在读取状态S40中输入读取命令RD或PIM读取命令PIM RD时,状态转换为读取状态S40。当在读取状态S40中输入预充电命令PRE时,状态转换为预充电状态S50。当在读取状态S40中读取操作完成而没有接收到另一命令时,状态转换为存储体激活状态S20。
当在预充电状态S50中预充电操作终止时,状态转换为空闲状态S10。当在刷新状态S60中刷新操作终止时,状态转换为空闲状态S10。
如图6所示,存储器命令和PIM命令根据相同的状态图而被一起处理,这具有以下优点。
首先,可以防止存储器命令的处理在PIM命令的处理期间被无条件地中断。因此,由于可以在PIM命令的处理期间调度和处理存储器命令而不发生冲突,所以可以防止存储系统的性能下降。
第二,由于使用公共的状态图,因此可以在单个命令队列中处理存储器命令和PIM命令。因此,存储器控制器和存储器件中可以不包括与存储器命令分开地处理PIM命令所需的其他元件,从而简化了存储系统。
图7示出了说明根据本公开的实施例的存储器件200的框图。
根据本实施例的存储器件200包括多个存储体210、多个处理电路300、共享总线220和IO缓冲器230。
在该实施例中,存储体和处理电路的数量各自是16,并且一个存储体210对应于一个处理电路300。
考虑地址映射或并行处理,存储体210与处理电路300之间的关系可以进行各种改变。例如,可以提供其中单个处理电路300对应于多个存储体210的实施例。
共享总线220在存储体210、处理电路300与IO缓冲器230之间传输数据。
处理电路300可以使用对应的存储体210的数据来执行处理操作,或者处理电路300可以使用另一存储体或另一处理电路的通过共享总线220传输的数据来执行处理操作。
图8示出了说明根据本公开的实施例的存储器件200的另一框图。
如上所述,在该实施例中,存储器件200包括存储体210、共享总线220和IO缓冲器230。
存储体210包括存储单元阵列211、感测放大器212和行缓冲器213,其详细配置和操作与传统存储器件中的那些实质相同。
尽管图8中示出了一个存储体210,但是存储器件200可以包括多个存储体,所述存储体各自具有相同的结构。
存储器件200还包括命令解码器240、行解码器250和列解码器260。
命令解码器240、行解码器250和列解码器260的基本操作与传统存储器件的基本操作相同。
在该实施例中,命令解码器240既对通过命令信号提供的存储器命令还对通过命令信号提供的PIM命令进行解码,并控制存储体210、行解码器250、列解码器260、共享总线220、处理电路300和IO缓冲器230。
在图8中,命令包括存储器命令和PIM命令。
命令解码器240参考PIM比特位来识别存储器命令或PIM命令并控制包括在存储器件200中的其他元件。
当所识别的命令是存储器命令时,它可以使用传统的解码技术来控制存储器件200中所包括的其他元件。
如果所识别的命令是PIM命令,则它进一步控制存储器件200中所包括的其他元件以执行如图5的表中所示的操作。
根据存储器命令和PIM命令的存储器件200的状态转换已经如上参考图6的状态图进行了描述。
处理电路300读取存储体210或共享总线220的信息以执行指定操作,并将操作结果写入存储体210或共享总线220。
在本实施例中,假设处理电路300执行矩阵与向量的乘法运算,但是根据实施例可以对处理电路300的特定处理操作和详细结构进行各种改变。
图9示出了说明根据本公开的实施例的处理电路300的框图。
在该实施例中,从每个存储体210输出的数据由128比特位的信号表示,矩阵或向量的每个元素由8比特位的信号表示,并且矩阵或向量的每一行包括16个元素。
处理电路300包括BUF0 310和BUF1 311,它们各自储存从存储体210或共享总线220传输的128比特位的数据。
处理电路300还可以包括锁存器,所述锁存器用于储存BUF0 310和BUF1 311的数据以用于管线操作(pipeline operation)。
128比特位的数据包括16个8比特位的数据元素,每个数据元素对应于向量或矩阵的元素。
处理电路300还包括ALU 320和vACC 330。
ALU 320和vACC 330对储存在BUF0 310与BUF1 311中的16个8比特位的数据元素执行逐个元素乘法运算,并将乘法运算的结果累加到储存在vACC 330中的数据。
即,ALU 320对储存在BUF0 310与BUF1 311中的元素执行乘法运算,并将乘法结果累加到储存在vACC 330中的值。
例如,将储存在BUF0 310中的16个元素之中的第i个元素乘以储存在BUF1 311中的第i个元素,并且将乘法结果累加在vACC 330的第i个元素中。
处理电路300还包括归约器(reducer)360。归约器360将储存在vACC 330中的所有16个8比特位的数据元素相加以产生8比特位的值。
处理电路300还包括第一选择器340。第一选择器340从自存储体210或共享总线220传送来的128比特位的数据中输出16个8比特位的数据元素之中的一个8比特位的数据元素。
此时,第一选择器340可以使用可以与PIM读取命令一起从存储器控制器100提供的地址信息来选择数据元素中的任何一个。
处理电路300还包括加法器350和rACC 380。
加法器350将第一选择器340的输出与储存在rACC 380中的值相加以更新rACC380的值。
处理电路300还包括第二选择器370。第二选择器370可以响应于DST字段的第一比特位而被控制用于选择归约器360的输出或加法器350的输出,并将第二选择器370的输出提供给rACC 380。
在该实施例中,rACC 380储存512比特位的数据。rACC 380可以储存多达四个128比特位的数据以支持突发写入功能。
例如,在图5中,在归约操作期间,当DST字段为“0X”时选择归约器360的输出,而当DST字段为“1X”时选择加法器350的输出。
处理电路300还包括第三选择器390,并且第三选择器390选择储存在rACC380中的512比特位数据之中的四个128比特位数据中的一个128比特位数据。
此时,第三选择器390可以从可以与PIM写入命令一起被提供的地址中选择四个128比特位数据中的一个。
储存在rACC 380中的四个128比特位的数据可以在突发写入操作中被顺序地选择并且从目的地的地址开始被顺序地储存。
处理电路300还包括连接到存储体210的第一三态缓冲器301和连接到共享总线220的第二三态缓冲器302,以防止数据冲突。
图10示出了说明根据本公开的实施例的PIM操作的图。
第一操作对应于PIM RD命令,并且具体地对应于清除操作命令CLR,所述清除操作命令CLR根据在SRC和DST字段中指定的比特位信息来清除BUF0 310、BUF1 311、vACC 330和rACC 380。
第二操作对应于PIM RD命令,并且具体地对应于读取操作命令PRD,所述读取操作命令PRD用于从存储体210读取第一操作数(operand)以及用于将第一操作数储存到BUF0310。
第三操作对应于PIM RD命令,并且具体地对应于读取操作命令PRD,所述读取操作命令PRD用于从存储体210读取第二操作数以及用于将第二操作数储存到BUF1 311。
第四操作对应于PIM RD命令,并且具体地对应于处理操作命令MAC,所述处理操作命令MAC用于将BUF0 310和BUF1 311的对应元素相乘并且用于将vACC 330的元素与相应的乘法结果相累加。
在本实施例中,存储器控制器100可以不发送用于第四操作的命令。相反,存储器件200的命令解码器240可以控制存储器件200的元件以在第二操作和第三操作执行之后自动地执行第四操作。
例如,如果假设重复地执行第二至第四操作,则可以在执行用于下一循环的第二操作和第三操作时并行地执行第四操作,从而提高处理性能。
第五操作对应于PIM RD命令,并且具体地对应于归约操作命令RADD,所述归约操作命令RADD用于将vACC 330的元素相加并用于将结果储存到rACC 380。
将vACC 330的元素相加的操作可以在归约器360中执行,并且该结果经由第二选择器370储存在rACC 380中。
第六操作对应于PIM WR命令,并且具体地对应于写入操作命令PWR,所述写入操作命令PWR用于将数据从rACC 380储存到共享总线220。
可以执行第六操作以将从处理电路300输出的数据提供给另一个处理电路300或另一个存储体210。
图11示出了说明根据本公开的实施例的另一PIM操作的图。
图11还包括在图10中的第五操作与第六操作之间的第七操作。
第七操作对应于PIM RD命令,并且具体地对应于归约操作命令RADD,所述归约操作命令RADD从共享总线220选择数据以更新rACC 380的数据。
共享总线220上的数据可以是从与当前处理电路300不关联的另一个处理电路或另一个存储体提供的数据。
图12示出了说明根据本公开的实施例的另一PIM操作的图。
图12包括第八操作而不是图11的第六操作。
第八操作对应于PIM WR命令,并且具体地对应于写入操作命令PWR,所述写入操作命令PWR用于将rACC 380的数据写入存储体210。
尽管出于说明性目的描述了各种实施例,但是对于本领域技术人员来说显而易见的是,在不脱离由权利要求定义的本公开的精神和范围的情况下,可以对所描述的实施例进行各种改变和修改。
Claims (27)
1.一种存储器控制器,包括:
请求队列,其储存存储器请求和存储器内处理PIM请求,所述存储器请求包括对存储器件的读取请求和对所述存储器件的写入请求,所述存储器内处理PIM请求要求在所述存储器件中的处理操作;
命令发生器,被配置为从自所述请求队列输出的存储器请求来产生存储器命令,或者从自所述请求队列输出的PIM请求来产生PIM命令;
命令队列,其储存从所述命令发生器输出的存储器命令和PIM命令;和
命令调度器,被配置为控制储存在所述命令队列中的存储器命令和PIM命令的输出顺序或输出时序。
2.如权利要求1所述的存储器控制器,还包括:请求调度器,被配置为控制储存在所述请求队列中的存储器请求和PIM请求的输出顺序。
3.如权利要求3所述的存储器控制器,其中,所述命令调度器根据所述存储器件中的共享总线的状态或时序限制来控制所述输出顺序和所述输出时序。
4.如权利要求1所述的存储器控制器,还包括:
PIM解码器,被配置为从PIM指令来产生PIM请求;和
PIM指令队列,其储存所述PIM指令。
5.如权利要求4所述的存储器控制器,其中,所述PIM指令被包括在写入请求的写入数据中,并且所述写入请求包括PIM信息,所述PIM信息表示PIM指令是否被包括在所述写入请求中,以及
其中,所述存储器控制器还包括:路径选择电路,用于根据所述PIM信息而将所述写入请求发送到所述请求队列或所述PIM指令队列。
6.如权利要求1所述的存储器控制器,其中,所述存储器命令和所述PIM命令包括用于识别命令的种类的信息。
7.如权利要求6所述的存储器控制器,其中,所述PIM命令包括:OPCODE字段,其表示在所述存储器件中执行的操作的类型;SRC字段,其表示所述存储器件中的数据来源;和DST字段,其表示所述存储器件中的数据的目的地。
8.如权利要求6所述的存储器控制器,其中,所述PIM命令包括PIM读取命令和PIM写入命令,
其中,所述PIM读取命令包括:读取操作命令,用于将数据从由所述SRC字段指定的位置储存到由所述DST字段指定的位置;和处理操作命令,用于执行针对根据所述读取操作命令而储存的数据的处理操作;以及
其中,所述PIM写入命令包括:写入操作命令,用于将数据从由所述SRC字段指定的位置储存到由所述DST字段指定的位置。
9.如权利要求8所述的存储器控制器,其中,针对所述读取操作命令,所述SRC字段指定所述存储器件中的存储体或共享总线,并且所述DST字段指定所述存储器件中的缓冲器,以及
其中,针对所述写入操作命令,所述SRC字段指定所述存储器件中的缓冲器,并且所述DST字段指定所述存储器件中的存储体或共享总线。
10.一种存储器件,包括:
命令解码器,被配置为解码存储器命令或PIM命令,所述存储器命令代表所述存储器件中的读取操作或写入操作,所述PIM命令代表所述存储器件中的处理操作;
存储体,其储存数据;
输入/输出IO缓冲器,被配置为输入或输出数据;
共享总线,被配置为在所述存储体与所述IO缓冲器之间传输数据;和
处理电路,其与所述共享总线和所述存储体耦接,并且被配置为根据所述命令解码器来执行处理操作,
其中,在所述处理电路根据PIM命令而执行处理操作时,所述存储体由所述命令解码器控制而执行存储器命令。
11.如权利要求10所述的存储器件,其中,所述命令解码器通过解码存储器命令或PIM命令而输出控制信号以控制所述存储器件,
其中,所述存储器件根据所述控制信号而通过转换状态来进行操作;以及
其中,所述状态包括存储体激活状态、写入状态和读取状态。
12.如权利要求11所述的存储器件,其中,在所述存储器件处于所述存储体激活状态、所述写入状态或所述读取状态时,当所述命令解码器通过解码存储器命令而输出写入命令或通过解码PIM命令而输出PIM写入命令时,所述存储器件维持或转换为所述写入状态,以及
其中,在所述存储器件处于所述存储体激活状态、所述写入状态或所述读取状态时,当所述命令解码器通过解码存储器命令而输出读取命令或通过解码PIM命令而输出PIM读取命令时,所述存储器件维持或转换为所述读取状态。
13.如权利要求10所述的存储器件,其中,所述处理电路包括:
多个缓冲器,每个缓冲器储存来自所述存储体或所述共享总线的数据;
ALU,被配置为对储存在所述多个缓冲器中的数据执行算术运算;和
第一累加器,被配置为储存从所述ALU输出的运算结果并向所述存储体或所述共享总线提供数据。
14.如权利要求13所述的存储器件,其中,所述处理电路还包括:
第二累加器,被配置为向所述存储体或所述共享总线提供数据;和
加法器,被配置为将来自所述第二累加器的数据与从所述存储体或所述共享总线提供的数据相加。
15.如权利要求14所述的存储器件,其中,所述多个缓冲器和所述第一累加器均储存向量数据,所述ALU执行向量运算,所述第二累加器储存标量数据;以及所述加法器执行标量加法。
16.如权利要求15所述的存储器件,还包括:归约器,其将储存在所述第一累加器中的向量数据的所有元素相加;以及选择器,被配置为选择所述归约器的输出或所述加法器的输出,以向所述第二累加器提供所选择的输出。
17.如权利要求10所述的存储器件,包括多个存储体和多个处理电路,每个处理电路对应于所述多个存储体之一。
18.一种存储系统:包括:
存储器件;和
存储器控制器,被配置为从存储器请求产生存储器命令,从PIM请求产生PIM命令,以及将所述PIM命令与所述存储器命令一起调度,所述存储器请求包括对所述存储器件的读取请求和写入请求,所述PIM请求要求在所述存储器件中的处理操作,
其中,所述存储器件根据来自所述存储器控制器的存储器命令而执行数据读取操作或数据写入操作,以及根据来自所述存储器控制器的PIM命令而执行处理操作,以及
其中,在所述存储器件执行所述处理操作时,所述存储器件执行所述数据读取操作或所述数据写入操作。
19.如权利要求18所述的存储系统,其中,所述存储器控制器包括:
请求队列,其储存存储器请求和PIM请求,所述存储器请求包括对存储器件的读取请求和对所述存储器件的写入请求,所述PIM请求用于指定所述存储器件中的处理操作;
命令发生器,被配置为从自所述请求队列输出的存储器请求来产生存储器命令,或者从自所述请求队列输出的PIM请求来产生PIM命令;
命令队列,其储存从所述命令发生器输出的存储器命令和PIM命令;和
命令调度器,被配置为控制储存在所述命令队列中的存储器命令和PIM命令的输出顺序或输出时序。
20.如权利要求19所述的存储系统,其中,所述存储器控制器还包括请求调度器,所述请求调度器被配置为控制储存在所述请求队列中的存储器请求和PIM请求的输出顺序,以及其中,所述命令调度器根据所述存储器件中的共享总线的状态或时序限制来控制所述输出顺序和所述输出时序。
21.如权利要求18所述的存储系统,其中,所述存储器件包括:
命令解码器,被配置为解码存储器命令或PIM命令,所述存储器命令表示所述存储器件中的读取操作或写入操作,所述PIM命令表示所述存储器件中的处理操作;
存储体,其储存数据;
输入/输出IO缓冲器,被配置为输入或输出数据;
共享总线,被配置为在所述存储体与所述IO缓冲器之间传输数据;和
处理电路,其与所述共享总线和所述存储体耦接,并且被配置为根据所述命令解码器来执行处理操作,
其中,在所述处理电路根据PIM命令而执行处理操作时,所述存储体由所述命令解码器控制而执行存储器命令。
22.如权利要求21所述的存储系统,其中,所述命令解码器通过解码存储器命令或PIM命令而输出控制信号以控制所述存储器件,
其中,所述存储器件根据所述控制信号而通过转换状态来进行操作;以及
其中,所述状态包括存储体激活状态、写入状态和读取状态。
23.如权利要求21所述的存储系统,其中,在所述存储器件处于所述存储体激活状态、所述写入状态或所述读取状态时,当所述命令解码器通过解码存储器命令而输出写入命令或通过解码PIM命令而输出PIM写入命令时,所述存储器件维持或转换为所述写入状态,以及
其中,在所述存储器件处于所述存储体激活状态、所述写入状态或所述读取状态时,当所述命令解码器通过解码存储器命令而输出读取命令或通过解码PIM命令而输出PIM读取命令时,所述存储器件维持或转换为所述读取状态。
24.如权利要求21所述的存储系统,其中,所述处理电路包括:
多个缓冲器,每个缓冲器储存来自所述存储体或所述共享总线的数据;
ALU,被配置为对储存在所述多个缓冲器中的数据执行算术运算;和
第一累加器,被配置为储存从所述ALU输出的运算结果并向所述存储体或所述共享总线提供数据。
25.如权利要求24所述的存储系统,其中,所述处理电路还包括:
第二累加器,被配置为向所述存储体或所述共享总线提供数据;和
加法器,被配置为将来自所述第二累加器的数据与从所述存储体或所述共享总线提供的数据相加。
26.如权利要求25所述的存储系统,其中,所述多个缓冲器和所述第一累加器均储存向量数据,所述ALU执行向量运算,所述第二累加器储存标量数据;以及所述加法器执行标量加法。
27.如权利要求26所述的存储系统,还包括:归约器,其将储存在所述第一累加器中的向量数据的所有元素相加;以及选择器,被配置为选择所述归约器的输出或所述加法器的输出,以向所述第二累加器提供所选择的输出。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0054844 | 2019-05-10 | ||
KR1020190054844A KR20200129843A (ko) | 2019-05-10 | 2019-05-10 | 연산 회로를 포함하는 메모리 장치, 이를 제어하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111913652A true CN111913652A (zh) | 2020-11-10 |
CN111913652B CN111913652B (zh) | 2024-03-15 |
Family
ID=73047173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910577662.8A Active CN111913652B (zh) | 2019-05-10 | 2019-06-28 | 包括处理电路的存储器件、存储器控制器和存储系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11379149B2 (zh) |
KR (1) | KR20200129843A (zh) |
CN (1) | CN111913652B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11907575B2 (en) | 2021-02-08 | 2024-02-20 | Samsung Electronics Co., Ltd. | Memory controller and memory control method |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11262949B2 (en) * | 2020-05-28 | 2022-03-01 | Advanced Micro Devices, Inc. | Command throughput in PIM-enabled memory using available data bus bandwidth |
US11874739B2 (en) * | 2020-09-25 | 2024-01-16 | Advanced Micro Devices, Inc. | Error detection and correction in memory modules using programmable ECC engines |
US11409674B2 (en) | 2020-10-02 | 2022-08-09 | Micron Technology, Inc. | Memory with improved command/address bus utilization |
KR20220067961A (ko) * | 2020-11-18 | 2022-05-25 | 삼성전자주식회사 | 프로세싱-인-메모리 및 프로세싱-인-메모리를 이용한 인스트럭션 출력 방법 |
US20220206685A1 (en) * | 2020-12-31 | 2022-06-30 | Advanced Micro Devices, Inc. | Reusing remote registers in processing in memory |
US11922066B2 (en) * | 2021-01-21 | 2024-03-05 | Rambus Inc. | Stacked device communication |
US11868657B2 (en) | 2021-02-08 | 2024-01-09 | Samsung Electronics Co., Ltd. | Memory controller, method of operating the memory controller, and electronic device including the memory controller |
US11893278B2 (en) | 2021-02-08 | 2024-02-06 | Samsung Electronics Co., Ltd. | Memory controller and memory control method for generating commands based on a memory request |
US11468001B1 (en) * | 2021-03-30 | 2022-10-11 | Advanced Micro Devices, Inc. | Processing-in-memory concurrent processing system and method |
KR102365312B1 (ko) | 2021-06-17 | 2022-02-23 | 삼성전자주식회사 | 스토리지 컨트롤러, 연산 스토리지 장치, 및 연산 스토리지 장치의 동작 방법 |
EP4105771A1 (en) * | 2021-06-17 | 2022-12-21 | Samsung Electronics Co., Ltd. | Storage controller, computational storage device, and operational method of computational storage device |
KR20230095692A (ko) * | 2021-12-22 | 2023-06-29 | 삼성전자주식회사 | 메모리 프로세서 제어 방법 및 장치 |
US20230205706A1 (en) * | 2021-12-23 | 2023-06-29 | Advanced Micro Devices, Inc. | Approach for managing near-memory processing commands and non-near-memory processing commands in a memory controller |
US11630605B1 (en) * | 2022-08-10 | 2023-04-18 | Recogni Inc. | Methods and systems for processing read-modify-write requests |
US20240103745A1 (en) * | 2022-09-28 | 2024-03-28 | Advanced Micro Devices, Inc. | Scheduling Processing-in-Memory Requests and Memory Requests |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484317A (zh) * | 2015-08-27 | 2017-03-08 | 三星电子株式会社 | 存储器系统、存储器模块及其方法 |
CN107450844A (zh) * | 2016-06-01 | 2017-12-08 | 忆锐公司 | 存储器控制器和存储模块以及包括其的处理器 |
US20190034097A1 (en) * | 2017-07-25 | 2019-01-31 | Samsung Electronics Co., Ltd. | Coordinated near-far memory controller for process-in-hbm |
US20190066761A1 (en) * | 2017-08-31 | 2019-02-28 | Micron Technology, Inc. | Processing in memory |
US20190065111A1 (en) * | 2017-08-31 | 2019-02-28 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US20190079678A1 (en) * | 2017-09-14 | 2019-03-14 | Samsung Electronics Co., Ltd. | Quasi-synchronous protocol for large bandwidth memory systems |
CN109690508A (zh) * | 2016-07-15 | 2019-04-26 | 超威半导体公司 | 带虚拟控制器模式的存储器控制器 |
Family Cites Families (1)
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 |
-
2019
- 2019-05-10 KR KR1020190054844A patent/KR20200129843A/ko not_active Application Discontinuation
- 2019-06-28 CN CN201910577662.8A patent/CN111913652B/zh active Active
- 2019-12-11 US US16/711,274 patent/US11379149B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484317A (zh) * | 2015-08-27 | 2017-03-08 | 三星电子株式会社 | 存储器系统、存储器模块及其方法 |
CN107450844A (zh) * | 2016-06-01 | 2017-12-08 | 忆锐公司 | 存储器控制器和存储模块以及包括其的处理器 |
CN109690508A (zh) * | 2016-07-15 | 2019-04-26 | 超威半导体公司 | 带虚拟控制器模式的存储器控制器 |
US20190034097A1 (en) * | 2017-07-25 | 2019-01-31 | Samsung Electronics Co., Ltd. | Coordinated near-far memory controller for process-in-hbm |
CN109299024A (zh) * | 2017-07-25 | 2019-02-01 | 三星电子株式会社 | 协调存储器命令的方法和高带宽存储器系统 |
US20190066761A1 (en) * | 2017-08-31 | 2019-02-28 | Micron Technology, Inc. | Processing in memory |
US20190065111A1 (en) * | 2017-08-31 | 2019-02-28 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US20190079678A1 (en) * | 2017-09-14 | 2019-03-14 | Samsung Electronics Co., Ltd. | Quasi-synchronous protocol for large bandwidth memory systems |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11907575B2 (en) | 2021-02-08 | 2024-02-20 | Samsung Electronics Co., Ltd. | Memory controller and memory control method |
Also Published As
Publication number | Publication date |
---|---|
US11379149B2 (en) | 2022-07-05 |
CN111913652B (zh) | 2024-03-15 |
KR20200129843A (ko) | 2020-11-18 |
US20200356305A1 (en) | 2020-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111913652B (zh) | 包括处理电路的存储器件、存储器控制器和存储系统 | |
EP3729281B1 (en) | Scheduling memory requests with non-uniform latencies | |
KR102532173B1 (ko) | 메모리 액세스 기술 및 컴퓨터 시스템 | |
EP3732578B1 (en) | Supporting responses for memory types with non-uniform latencies on same channel | |
KR102448999B1 (ko) | 캐시 및 다중 독립 어레이를 갖는 메모리용 인터페이스 | |
JP6961997B2 (ja) | 情報処理装置、メモリ制御装置および情報処理装置の制御方法 | |
US20140344512A1 (en) | Data Processing Apparatus and Memory Apparatus | |
JP2020087499A (ja) | スタティックランダムアクセスメモリにアクセスするための方法、装置、機器及び記憶媒体 | |
JPH0474229A (ja) | 情報処理装置 | |
CN114942831A (zh) | 处理器、芯片、电子设备及数据处理方法 | |
US6782463B2 (en) | Shared memory array | |
CN116737083B (zh) | 存储器访问电路及存储器访问方法、集成电路和电子设备 | |
CN116685943A (zh) | 可编程原子单元中的自调度线程 | |
US8127110B2 (en) | Method, system, and medium for providing interprocessor data communication | |
US20090235026A1 (en) | Data transfer control device and data transfer control method | |
US10223269B2 (en) | Method and apparatus for preventing bank conflict in memory | |
CN116521096B (zh) | 存储器访问电路及存储器访问方法、集成电路和电子设备 | |
JP2005209206A (ja) | マルチプロセッサシステムにおけるデータ転送方法、マルチプロセッサシステム、及び、この方法を実施するプロセッサ | |
US6567908B1 (en) | Method of and apparatus for processing information, and providing medium | |
JP6004463B2 (ja) | 記憶装置及びその制御方法 | |
KR20210151250A (ko) | 확장 메모리 인터페이스 | |
US20060218313A1 (en) | DMA circuit and computer system | |
KR20140131781A (ko) | 메모리 제어 장치 및 방법 | |
US10366049B2 (en) | Processor and method of controlling the same | |
CN107025190B (zh) | 系统及其操作方法 |
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 |