CN107408405B - 用于并行写入到多个存储器装置位置的设备及方法 - Google Patents
用于并行写入到多个存储器装置位置的设备及方法 Download PDFInfo
- Publication number
- CN107408405B CN107408405B CN201680012339.0A CN201680012339A CN107408405B CN 107408405 B CN107408405 B CN 107408405B CN 201680012339 A CN201680012339 A CN 201680012339A CN 107408405 B CN107408405 B CN 107408405B
- Authority
- CN
- China
- Prior art keywords
- memory
- memory device
- bank
- array
- coupled
- 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
Links
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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- 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/0625—Power saving in storage systems
-
- 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/0683—Plurality of storage devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/26—Accessing multiple arrays
- G11C29/28—Dependent multiple arrays, e.g. multi-bit arrays
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/26—Accessing multiple arrays
- G11C2029/2602—Concurrent test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/025—Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computing Systems (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
本发明包含用于并行写入到多个存储器装置位置的设备及方法。实例设备包括存储器装置。所述存储器装置包含存储器单元阵列及耦合到所述阵列的感测电路。所述感测电路包含感测放大器及经配置以实施逻辑运算的计算组件。所述存储器装置中的存储器控制器经配置以从主机接收经解析指令块及/或常数数据。所述存储器控制器经配置以将所述经解析指令及/或常数数据并行写入到所述存储器装置的多个位置。
Description
技术领域
本发明大体上涉及半导体存储器及方法,且更特定来说,涉及用于并行写入到多个存储器装置位置的设备及方法。
背景技术
通常提供存储器装置作为计算系统中的内部、半导体、集成电路。存在包含易失性及非易失性存储器的许多不同类型的存储器。易失性存储器可能需要电力来维持其数据(例如,主机数据、误差数据等等),且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)及晶闸管随机存取存储器(TRAM)以及其它存储器。非易失性存储器可在不通电时通过留存存储的数据来提供永久数据,且可包含NAND快闪存储器、NOR快闪存储器及电阻可变存储器(例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)及磁阻式随机存取存储器(MRAM),例如自旋转矩传送随机存取存储器(STT RAM))以及其它存储器。
计算系统通常包含数个处理资源(例如,一或多个处理器),其可检索及执行指令,并将经执行指令的结果存储到合适的位置。处理器可包括数个功能单元,例如算术逻辑单元(ALU)电路、浮点单元(FPU)电路及/或组合逻辑块,举例来说,所述组合逻辑块可用于通过对数据(例如,一或多个操作数)执行逻辑运算(例如AND、OR、NOT、NAND、 NOR及XOR)及逆(例如,反演)逻辑运算来执行指令。举例来说,功能单元电路可用于经由数个逻辑运算对操作数执行算术运算,例如加法、减法、乘法及/或除法。
计算系统中的数个组件可涉及将指令提供到功能单元电路以供执行。所述指令可例如由处理资源(例如控制器及/或主机处理器)执行。数据(例如,将对其执行指令的操作数) 可存储于可由功能单元电路进行存取的存储器阵列中。可从存储器阵列检索指令及/或数据,且可在功能单元电路开始对数据执行指令之前对所述指令及/或数据进行排序及/或缓冲。此外,因为可在一或多个时钟循环中通过功能单元电路执行不同类型的运算,所以也可对指令及/或数据的中间结果进行排序及/或缓冲。
在许多例子中,处理资源(例如,处理器及/或相关联的功能单元电路)可能在存储器阵列外部,且经由处理资源与存储器阵列之间的总线对数据进行存取以执行一组指令。在存储器内处理器装置中,处理性能可得以改进,其中可在存储器内及/或接近所述存储器(例如,直接在与存储器阵列相同的芯片上)实施处理资源。存储器内处理装置可通过减小及/或消除外部通信来节省时间且还可节约电力。
附图说明
图1A是根据本发明的数个实施例的呈计算系统形式的设备的框图,所述计算装置包含存储器装置。
图1B是根据本发明的数个实施例的呈计算系统形式的设备的另一框图,所述计算装置包含存储器装置。
图1C是根据本发明的数个实施例的到存储器装置的库的框图。
图1D是根据本发明的数个实施例的到存储器装置的库的另一框图。
图1E是根据本发明的数个实施例的到存储器装置的多个库的框图。
图2是说明根据本发明的数个实施例的到存储器装置的感测电路的示意图。
图3是说明根据本发明的数个实施例的到存储器装置的感测电路的示意图。
图4是说明根据本发明的数个实施例的由图3中展示的感测电路实施的可选择逻辑运算结果的逻辑表。
具体实施方式
本发明包含用于并行写入到多个存储器装置位置(例如写入到多个存储器内处理器 (PIM)阵列)的设备及方法。在一个实施例中,所述设备包括经由数据总线及控制总线耦合到主机的存储器装置。所述存储器装置包含存储器单元阵列及经由多个感测线耦合到所述阵列的感测电路。所述感测电路包含感测放大器及经配置以实施逻辑运算的计算组件。
存储器控制器耦合到所述阵列及感测电路。所述存储器控制器经配置以从所述主机接收经解析指令块。所述存储器控制器经配置以将所述经解析指令及/或“常数数据”(例如,可重复使用的数据)并行写入到所述存储器装置上的库及/或多个库中的多个位置。
通常,在存储器内处理器(PIM)装置内的不同库与子阵列之间,数据将不同。然而,在所述部件上的不同库当中,将对所述数据操作的经解析(例如,经地址转译)指令可相同。另外,可将常数数据写入到多个库中,且写入到多个子阵列中以建立PIM计算,例如,PIM命令。
本文的实施例揭示一种具有PIM功能的装置,其可与可选择容量相关联以将数据并行(例如,同时)写入到多个库,例如避免需要执行多个写入序列来实现相同效果。举例来说,本文描述的设备及方法可促进将数据同时写入到同一存储器装置上的多个库与子阵列之间的多个位置。取决于对PIM DRAM装置执行的算法,所揭示的技术可节省大量用于建立用于执行PIM运算块的环境的时间。接着,这可增加到存储器装置的有效数据吞吐量,且增加PIM系统中的整体有效处理能力。
在至少一个实施例中,到存储器装置的库仲裁器可与一系列寄存器相关联,所述寄存器经设置以选择包含于“多播”数据写入操作中的库以及待写入到的子阵列。存储器装置的命令协议可经扩增以指示写入(在一些实施例中,其可为屏蔽式写入)是以多播方式完成的。可忽略库地址位及/或(例如)常规用于选择PIM中的子阵列或子阵列的部分的高阶行地址位。
芯片及库级硬件可读取(例如)先前建立以控制多播数据写入操作的寄存器,并保证写入的数据被分布到存储器装置上的所选择位置。将数据写入到全部指定位置可并行(例如,同时)而非以串行方式发生。库及子阵列是可选择的,且可在写入共同数据之前进行配置。
本发明的实施例提供一种有效的方法,其将具有自变量的大量指令及/或常数数据提供到装置且接着以低时延将那些指令路由到所述装置的嵌入式处理引擎(例如,计算组件),同时保留所述装置的协议、逻辑及电接口。因此,本文描述的实施例可促进以标准宽度及数据速率保持A/C总线,从而减小PIM的任何特别设计量,且还使PIM与多种计算装置中的现有存储器接口更兼容。
另外,本文描述的实施例可允许主机系统在开始操作时将大指令块及/或常数数据提供到PIM装置,从而显著减小或完全消除指令执行中的中断(以将更多指令传送到PIM装置)及/或对常数数据的重复传送。PIM装置设计及嵌入式处理引擎(例如,计算组件) 的控制流中的先前妥协包含PIM装置上使用的I/O的显著增加,这会增大部件上的非生产空间的部分,且增大元件平面布置(floor planning)及噪声抑制复杂性,且在未增加额外计算性能的情况下增大部件上的电力消耗。此外,其它先前妥协包含在PIM装置中使用相对较大、专用存储器区域以存储指令,但所述区域仍不会大到足以保持大量程序指令及/或常数数据,因此增大整个芯片上的I/O资源的争用,且降低计算引擎的有效速度。
如下文更详细描述,实施例可允许主机系统分配多个库中的数个位置(例如,子阵列(sub-arrays)或“子阵列(subarrays)”及/或子阵列的部分)以保持指令及/或常数数据。主机系统可对整个程序指令(例如,PIM命令指令)块及/或数据执行地址解析,并将其写入到目标库内的分配的位置中,例如,子阵列/子阵列的部分。写入这些块指令及/或数据可利用到存储器装置的正常写入路径。如读者应了解,虽然本文实例论述了DRAM样式 PIM装置,但实施例不限于DRAM存储器内处理器(PIM)实施方案。
为了了解改进的程序指令技术,接下来论述用于实施此类技术的设备,例如,具有PIM能力的存储器装置及相关联的主机。根据各种实施例,涉及具有PIM能力的存储器装置的程序指令(例如,PIM命令)可将PIM命令及/或常数数据的实施分布于多个感测电路之上,所述感测电路可例如在不必经由A/C及/或主机与存储器装置之间的数据总线来回传送此类数据的情况下实施逻辑运算且可将PIM命令及/或常数数据存储于存储器阵列内。因此,可在较少时间且使用较少电力对具有PIM能力的存储器装置的PIM命令及/或常数数据进行存取和使用。举例来说,可通过减小在计算系统中到处移动以处理请求的存储器阵列操作(例如,读取、写入等等)的数据量来实现时间及电力优势。
与先前系统(例如先前PIM系统及具有外部处理器(例如,位于例如单独的集成电路芯片上的存储器阵列外部的处理资源)的系统)相比,本发明的数个实施例可提供与执行计算功能相关联的改进的并行性及/或减小的电力消耗。例如,数个实施例可提供执行完全完整计算功能,例如整数加法、减法、乘法、除法及CAM(内容可寻址存储器)功能,而无需例如经由总线(例如,数据总线、地址总线、控制总线)将数据传送出存储器阵列及感测电路。此类计算功能可涉及执行数个逻辑运算(例如,AND、OR、NOT、NOR、 NAND、XOR等逻辑运算)。然而,实施例不限于这些实例。例如,执行逻辑运算可包含执行数个非布尔(non-Boolean)逻辑运算,例如复制、比较、破坏等等。
在先前方法中,可(例如,经由包括输入/输出(I/O)线的总线)将数据从阵列及感测电路传送到处理资源,例如处理器、微处理器及/或计算引擎,所述计算引擎可包括ALU电路及/或经配置以执行合适的逻辑运算的其它功能单元电路。然而,将数据从存储器阵列及感测电路传送到此类处理资源可涉及显著电力消耗。即使处理资源定位于与存储器阵列相同的芯片上,将数据从阵列移动到计算电路也可消耗显著电力,所述移动可涉及执行感测线(本文可称之为数字线或数据线)地址存取(例如,触发列解码信号)以便将数据从感测线传送到I/O线(例如,本地I/O线)上,从而将数据移动到阵列外围,且将数据提供到计算功能。
此外,处理资源(例如,计算引擎)的电路可能不符合与存储器阵列相关联的间距规则。举例来说,存储器阵列单元可具有4F2或6F2的单元尺寸,其中“F”是对应于单元的特征尺寸。因而,与先前PIM系统的ALU电路相关联的装置(例如,逻辑栅极)可能不能够与存储器单元邻接(on pitch)形成,此举例如可影响芯片尺寸及/或存储器密度。
本发明的数个实施例包含与存储器单元阵列邻接形成的感测电路及逻辑电路。感测电路及逻辑电路能够在存储器单元阵列本地执行计算功能及存储,例如缓存。
在本发明的以下详细描述中,参考附图,所述附图形成本发明的部分且在其中通过说明展示可如何实践本发明中的一或多个实施例。足够详细地描述这些实施例以使所属领域的一般技术人员能够实践本发明的实施例,且应理解,可利用其它实施例,且可在不背离本发明的范围的情况下作出过程、电气及/或结构改变。如本文所使用,特别是关于图中的元件符号的例如“N”、“M”等等的标志符指示可包含如此指定的数个特定特征。如本文所使用,“数个”特定事物可指代一或多个此类事物(例如,数个存储器阵列可指代一或多个存储器阵列)。“多个”旨在指代多于一个的此类事物。
本文的图遵循编号规定,其中第一数字对应于图纸编号,且剩余数字识别图中的元件或组件。可通过使用类似数字识别不同图之间的类似元件或组件。举例来说,206可引用图2中的元件“06”。如应了解,可添加、交换及/或消除本文的各种实施例中展示的元件以便提供本发明的数个额外实施例。另外,如应了解,图中提供的元件的比例及相对标尺旨在说明本发明的某些实施例,且不应以限制意义来解释。
图1A是根据本发明的数个实施例的呈计算系统100的形式的设备的框图,所述计算装置包含存储器装置120。如本文所使用,也可将如图1A到1E中展示的存储器装置 120、存储器控制器140、通道控制器143、库仲裁器145、高速接口(HSI)141、存储器阵列130、感测电路150及逻辑电路170分开视为“设备”。
系统100包含耦合(例如,连接)到包含存储器阵列130的存储器装置120的主机110。主机110可为主机系统,例如个人膝上型计算机、桌上型计算机、数码相机、智能电话或存储卡读卡器,以及各种其它类型的主机。主机110可包含系统主板及/或背板,且可包含数个处理资源(例如,一或多个处理器、微处理器、或一些其它类型的控制电路)。系统100可包含分开的集成电路,或主机110与存储器装置120两者都可在同一集成电路上。系统100可为例如服务器系统及/或高性能计算(HPC)系统及/或其部分。尽管图 1A及1B中展示的实例说明具有冯·诺依曼(Von Neumann)架构的系统,但可将本发明的实施例实施于非冯·诺依曼架构中,所述非冯·诺依曼架构可能不包含通常与冯·诺依曼架构相关联的一或多个组件(例如,CPU、ALU等等)。
为了清楚起见,已简化了系统100以专注于与本发明特定相关的特征。存储器阵列130可为(例如)DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、 RRAM阵列、NAND快闪阵列及/或NOR快闪阵列。阵列130可包括布置于由存取线(本文可能将其称为字线或选择线)耦合的行中及由感测线(本文可能将其称为数据线或数字线)耦合的列中的存储器单元。尽管在图1中展示了单个阵列130,但实施例并不如此受限。例如,存储器装置120可包含数个阵列130(例如,DRAM单元、NAND快闪单元等等的数个库)。
存储器装置120包含地址电路142,其用于锁存经由数据总线156(例如,I/O总线)通过I/O电路144提供的地址信号。可通过包含带外总线157(图1B中展示)的高速接口(HSI)141将状态及/或异常信息从存储器装置120上的存储器控制器140提供到通道控制器143,又可将所述信息从通道控制器143提供到主机110。通过地址电路142接收地址信号,且所述信号由行解码器146及列解码器152解码以对存储器阵列130进行存取。可使用感测电路150通过感测数据线上的电压及/或电流变化来从存储器阵列130 读取数据。感测电路150可从存储器阵列130读取数据页(例如,行)并锁存所述数据页(例如,行)。I/O电路144可用于经由数据总线156与主机110进行双向数据通信。写入电路148用于将数据写入到存储器阵列130。
存储器控制器140(例如,库控制逻辑及/或定序器)解码由控制总线154提供的来自主机110的信号。这些信号可包含芯片启用信号、写入启用信号及地址锁存信号,所述信号用于控制对存储器阵列130执行的操作,包含数据读取、数据写入及数据擦除操作。在各种实施例中,存储器控制器140负责执行来自主机110的指令及定序对阵列130的存取。存储器控制器140可为状态机、定序器或某一其它类型的控制器。控制器140可控制在阵列(例如,存储器阵列130)中(例如,向右或向左)移位数据。
下文例如在图2及3中进一步描述感测电路150的实例。例如,在数个实施例中,感测电路150可包括数个感测放大器及数个计算组件,所述计算组件可用作(且在本文被称为)累加器,且可用于(例如,对与互补数据线相关联的数据)执行逻辑运算。
在数个实施例中,感测电路150可用于使用存储于阵列130中的数据作为输入执行逻辑运算,并将逻辑运算的结果存储回到阵列130,而无需经由感测线地址存取传送数据(例如,无需触发列解码信号)。因而,可使用感测电路150且在感测电路150内执行各种计算功能,而非由感测电路外部的处理资源(例如,由与主机110相关联的处理器及 /或位于装置120上(例如,在控制器140上或别处)的其它处理电路,例如ALU电路)执行(或相关联)。
在各种先前方法中,例如会经由感测电路从存储器读取与操作数相关联的数据,且经由I/O线(例如,经由本地I/O线及/或全局I/O线)将所述数据提供到外部ALU电路。外部ALU电路可包含数个寄存器,且会使用操作数执行计算功能,且会经由I/O线把结果传送回到阵列。相比之下,在本发明的数个实施例中,感测电路150经配置以对存储于存储器阵列130中的数据执行逻辑运算,并将结果存储回到存储器阵列130,而无需启用耦合到感测电路150的I/O线(例如,本地I/O线)。感测电路150可与阵列的存储器单元邻接形成。额外逻辑电路170可耦合到感测电路150,且可用于存储(例如,缓存及 /或缓冲)本文描述的运算的结果。
因而,在数个实施例中,无需阵列130及感测电路150外部的电路执行计算功能,因为感测电路150可执行适当逻辑运算以执行此类计算功能而无需使用外部处理资源。因此,感测电路150可用于在至少某一程度上补充及/或取代此外部处理资源(或至少此外部处理资源的带宽消耗)。
然而,在数个实施例中,感测电路150可用于执行除了由外部处理资源(例如,主机110)执行的逻辑运算外的逻辑运算(例如,执行指令)。例如,主机110及/或感测电路150 可限于仅执行某些逻辑运算及/或某一数目个逻辑运算。
启用I/O线可包含启用(例如,接通)具有耦合到解码信号(例如,列解码信号)的栅极及耦合到I/O线的源极/漏极的晶体管。然而,实施例不限于启用I/O线。例如,在数个实施例中,感测电路(例如,150)可用于执行逻辑运算而无需启用阵列的列解码线;然而,可启用本地I/O线以便将结果传送到合适的位置,而非传送回到阵列130(例如,传送到外部寄存器)。
图1B是根据本发明的数个实施例的呈计算系统100的形式的另一设备架构的框图,所述计算系统包含经由通道控制器143耦合到主机110的多个存储器装置120-1、…、120-N。在至少一个实施例中,通道控制器143可以集成方式耦合到多个存储器装置 120-1、…、120-N而呈模块118的形式,例如与多个存储器装置120-1、…、120-N形成于相同的芯片上。在替代实施例中,通道控制器143可与主机110集成,如由虚线111 说明,例如形成于与多个存储器装置120-1、…、120-N分开的芯片上。通道控制器143 可经由如图1A中描述的地址及控制(A/C)总线154耦合到多个存储器装置120-1、…、 120-N中的每一者,多个存储器装置120-1、…、120-N又可耦合到主机110。通道控制器143还可经由数据总线156耦合到多个存储器装置120-1、…、120-N中的每一者,如图1A中描述,数据线156又可耦合到主机110。另外,通道控制器143可经由与结合图3更详细描述的高速接口(HSI)141相关联的带外(OOB)总线157耦合到多个存储器装置120-1、…、120-N中的每一者,HSI 141经配置以将状态、异常及其它数据信息报告到与主机110进行交换的通道控制器143。
如图1B中所展示,通道控制器143可从与多个存储器装置120-1、…、120-N中的每一者中的库仲裁器145相关联的高速接口(HSI)(本文也称之为状态通道接口)141接收状态及异常信息。在图1B的实例中,多个存储器装置120-1、…、120-N中的每一者可包含库仲裁器以使用多个库(例如,库零(0)、库一(1)、…、库六(6)、库七(7)等等)对控制及数据进行排序。多个库(库0、…、库7)中的每一者可包含存储器控制器140及其它组件,包含存储器单元阵列130及感测电路150、额外逻辑电路170等等,如结合图1A 所描述。
举例来说,多个存储器装置120-1、…、120-N中的多个库(例如,库0、…、库7) 中的每一者可包含地址电路142,其用于锁存经由数据总线156(例如,I/O总线)通过I/O 电路144提供的地址信号。可使用OOB总线157将状态及/或异常信息从存储器装置120 上的存储器控制器140提供到通道控制器143,又可将所述状态及/或异常信息从多个存储器装置120-1、…、120-N提供到主机110。对于多个库(例如,库0、…、库7)中的每一者,可通过地址电路142接收地址信号,且所述信号由行解码器146及列解码器152 解码以对存储器阵列130进行存取。可通过使用感测电路150感测数据线上的电压及/ 或电流变化而从存储器阵列130读取数据。感测电路150可从存储器阵列130读取数据页(例如,行),且锁存所述数据页(例如,行)。I/O电路144可用于经由数据总线156与主机110进行双向数据通信。写入电路148用于将数据写入到存储器阵列130,且OOB 总线157可用于将状态、异常及其它数据信息报告到通道控制器143。
通道控制器143可包含用于存储程序指令的一或多个本地缓冲器161,且可包含逻辑160,其用于分配每一相应库阵列中的多个位置(例如,子阵列)以存储与多个存储器装置120-1、…、120-N中的每一者的操作相关联的各种库的库命令及自变量(PIM命令)。通道控制器143可将命令(例如,PIM命令)发送到多个存储器装置120-1、…、120-N以将那些程序指令存储于存储器装置的给定库内。
如上文结合图1A所描述,存储器阵列130可为例如DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪阵列及/或NOR快闪阵列。阵列130可包括由存取线(本文可称之为字线或选择线)耦合的行及由感测线(本文可称之为数据线或数字线)耦合的列中布置的存储器单元。
如在图1A中,与给定存储器装置120-1、…、120-N中的任何特定库(库0、…、库 7)相关联的存储器控制器140(例如,库控制逻辑及/或定序器)可解码由控制总线154从主机110提供的信号。这些信号可包含芯片启用信号、写入启用信号及地址锁存信号,所述信号用于控制对存储器阵列130执行的操作,所述操作包含数据读取、数据写入及数据擦除操作。在各种实施例中,存储器控制器140负责执行来自主机110的指令。且,如上文,存储器控制器140可为状态机、定序器或一些其它类型的控制器。控制器140 可控制在阵列(例如,存储器阵列130)中(例如,向右或向左)移位数据。
图1C是根据本发明的数个实施例的到存储器装置的库121-1的框图。库121-1可表示到存储器装置的实例库,例如图1B中展示的库0、…、库7(121-0、…、121-7)。如图1C中展示,库架构可包含多个主存储器列(水平展示为X),例如,在实例DRAM库中,包含16,384个列。另外,可将库121-1划分成由数据路径的放大区域分离的区段 123-1、123-2、…、123-N。库区段123-1、…、123-N中的每一者可包含多个行(垂直展示为Y),例如,在实例DRAM库中,每一区段可包含16,384个行。实例实施例不限于本文描述的列及行的实例水平及/或垂直定向或其实例数目。
如图1C中展示,库架构可包含额外逻辑电路170,其包含感测放大器、寄存器、缓存及数据缓冲,其耦合到库区段123-1、…、123-N。额外逻辑电路170可表示与图1A 中的存储器控制器140相关联的缓存171的另一实例或与如图1A中展示的感测电路150 及阵列130相关联的额外逻辑阵列170。此外,如图1C中展示,库架构可与库控制件(例如,存储器控制器140)相关联。在实例中,图1C中展示的库控制件表示由图1A及1B 中展示的存储器控制器140体现且含于存储器控制器140中的功能性的至少一部分。
图1D是根据本发明的数个实施例的到存储器装置的库121的另一框图。库121可表示到存储器装置的实例库,例如1B中展示的库0、…、库7(121-0、…、121-7)。如图1D中展示,库架构可包含耦合到存储器控制器(例如,控制器140)的地址/控制(A/C) 路径(例如总线)153。此外,在实例中,图1D中展示的控制器140可表示由图1A及1B 中展示的存储器控制器140体现且含于存储器控制器140中的功能性的至少一部分。此外,如图1D中展示,在特定库121中,库架构可包含耦合到指令及/或数据(例如,程序指令(PIM命令))读取路径中的多个控制/数据寄存器且耦合到多个库区段(例如,库区段 123)的数据路径(例如,总线)155。
如图1D中展示,可将库区段123进一步细分成再次由如图1A中展示且结合图2 到4进一步描述的多个感测电路及逻辑电路150/170分离的多个子阵列(或子阵列)125-1、125-2、…、125-N。在一个实例中,可将库区段121划分成十六(16)个子阵列。然而,实施例不限于此实例数目。
图1D说明与控制器140相关联且耦合到写到库区段123中的子阵列125-1、…、125-N中的每一者的写入路径149的指令缓存171。在至少一个实施例中,多个子阵列 125-1、…、125-N及/或多个子阵列的部分可称为用于将程序指令(例如,PIM命令)及/ 或常数数据(例如,用于建立PIM计算的数据)存储到存储器装置中的库区段123的多个位置。
根据本发明的实施例,存储器控制器140(例如,图1D展示的控制器140)经配置以从主机(例如,图1A中的主机110)接收指令块及/或常数数据。替代地,可接收从通道控制器143到存储器控制器140的指令块及/或常数数据,通道控制器143与主机110集成或与所述主机分离,例如与多个存储器装置120-1、…、120-N集成而呈模块118的形式,如图1B中展示。
接收指令块及/或常数数据包含经由耦合到主机110及/或控制器143的数据总线156 接收经解析指令块(例如,PIM命令)及/或用于建立PIM计算的数据。根据实施例,存储器控制器140经配置以设置库仲裁器145及/或逻辑电路170中的一系列寄存器147。存储器控制器140及/或库仲裁器145经配置以接收去往存储器装置120的多播写入命令。存储器控制器140及/或库仲裁器145经配置以读取设置的寄存器系列,并执行多播写入操作以将经解析指令及/或数据存储于阵列(例如,图1A中展示的阵列130)及/或库(例如,图1B、1C及1D中展示的库121-0、…、121-7)的(图1D中展示的)库区段123中。存储器控制器140可包含呈硬件电路及/或专用集成电路(ASIC)的形式的逻辑。因此,存储器控制器140可控制多播数据写入操作。存储器控制器140进一步经配置以将经解析指令及/或常数数据路由到感测电路(包含计算组件,例如图1A中展示为150的感测电路及图 2及3中的计算组件231及331)以如本文描述执行逻辑函数及/或运算(例如,程序指令执行(PIM命令执行))。
根据实施例,指令被解析(例如,由程序员写入)及/或被提供到主机110及/或控制器 143,且从通道控制器接收到如图1B中展示的多个存储器装置120-1、…、120-N中的每一者中的库仲裁器145。在至少一个实施例中,存储器控制器140经配置以接收经扩增动态随机存取存储器(DRAM)命令协议以指示何时以多播方式执行写入。如图1D中展示,在至少一个实施例中,存储器控制器140经配置以使用DRAM协议及DRAM逻辑及电接口从主机110及/或通道控制器143接收经解析指令及/或常数数据,并将经解析指令及/或常数数据路由到感测电路150、250及/或350的计算组件。然后,如图1E的实例中展示,在至少一个实施例中,存储器控制器140经配置以使用DRAM写入路径对多个库中的多个子阵列及/或多个子阵列的部分中的经解析位置执行多播数据写入操作。
图1E是根据本发明的数个实施例的到存储器装置的多个库的框图。在图1E的实例中,展示耦合到存储器装置120的多个库121-0、…、121-N(库0、库1、…、库N)。每一相应库121-0、…、121-N可包含库0的多个子阵列(例如125-0、…、125-N)及/或子阵列的部分、库1的多个子阵列126-0、…、126-N及/或子阵列的部分、及库N的多个子阵列127-0、…、127-N及/或子阵列的部分。
在图1E的实例中,存储器装置120可接收到库仲裁器145的多播写入命令。库仲裁器可将经设置的寄存器系列147读取到经解析位置,并将经解析指令及/或常数数据发送到多个库121-0、…、121-N以使用写入控制器/驱动器148及DRAM写入路径149并行执行到多个库121-0、…、121-N及每一库中的多个子阵列(例如,库0的125-0、…、 125-N、库1的126-0、…、126-N、及库N的127-0、…、127-N)的多个位置的多播数据写入操作。在图1E的实例中,将一组共同经解析指令(数据)(例如,PIM命令及/或用于建立PIM计算的常数数据)写入到存储器装置120的前两个库中的每一者中的三(3)个子阵列中,例如,库121-0的子阵列125-0、125-1及125-2及库121-1的子阵列126-0、126-1 及126-2。
然而,实施例不限于图1E的实例。在替代实施例中,通道控制器143经配置以将多播命令发送到多个存储器装置120-1、…、120-N中的选定者。而且,相关库仲裁器 145-1、…、145-N经配置以将经解析指令及/或常数数据发送到多个库121-0、…、121-7 等中的选定者。在至少一个实施例中,在多个库中的选定者之中,子阵列及/或子阵列的部分不同。
因此,可经由多个存储器装置120-1、…、120-N中的每一存储器装置120中的库仲裁器145从通道控制器143接收去往多个库的经解析指令。经解析指令可由通道控制器 143解析。如上文描述,可将经设置以选择特定库121-0、…、121-N的一系列寄存器147 提供到库仲裁器145。然而,在各种实施例中,可另外将一系列寄存器提供到与存储器控制器140及/或逻辑电路170相关联的多个库121-0、…、121-N中的每一者。举例来说,可设置给定库121中的一系列寄存器以屏蔽每一存储器装置120中的多个库 121-0、…、121-N中的多个位置的地址位。此外,可设置多个库121-0、…、121-N中的每一者的存储器控制器140中的一系列寄存器以屏蔽每一库(例如,121-0)中的多个子阵列(例如,125-0、125-1、125-2)或子阵列的部分的多个位置的地址位。可从通道控制器143接收去往多个存储器装置中的库仲裁器的多播写入命令。可读取库仲裁器、逻辑电路中设置的寄存器系列及/或多个库的存储器控制器中设置的寄存器系列。可在存储器控制器140的控制下执行多播数据写入操作,以使用DRAM写入路径并行写入到多个库及每一库中的多个子阵列或子阵列的部分的经解析位置。而且,在多个库的经解析位置之间,多个子阵列的经解析位置可不同。
在一些实施例中,如图1B中所见,存储器单元阵列(图1A中的130)包含存储器单元120-1、…、120-N的多个库,且存储器装置120包含耦合到多个库120-1、…、120-N 中的每一者的库仲裁器145。在此类实施例中,每一库仲裁器经配置以接收包含与来自库仲裁器145的特定库相关的多个程序指令(例如,PIM命令)及/或常数数据的指令块。库仲裁器可接收多播写入命令,并读取与库仲裁器145相关联的寄存器系列147,且将经解析指令及/或常数数据发送到多个库120-1、…、120-N中的多个位置。接着,存储器控制器140可将接收到的指令块及/或接收到的常数数据中的经解析指令存储到如由主机110及/或通道控制器143分配的特定库的多个位置。主机110及/或通道控制器143 可经配置以为库仲裁器145解析指令,例如,对多个位置进行地址转译,以分配到存储器装置120的库。在至少一个实施例中,如图1D中展示,多个位置包含DRAM库 121-1、…、121-7中的数个子阵列125-1、…、125-N及/或子阵列的部分。
在并行写入到多个存储器装置结构的一些额外实例中,每一存储器控制器140可经配置以从主机110及/或例如A/C总线154上的通道控制器143接收程序指令(例如,PIM 命令)及/或常数数据(例如,用于建立PIM计算的数据)。每一存储器控制器140可经配置以使用上文描述的技术将PIM命令及/或常数数据并行写入到多个PIM装置。以所述方式,存储器控制器可经配置以接收开始执行接收到的到给定库121-1、…、121-7的指令块的命令。接着,存储器控制器140可经配置以在例如具有控制及数据寄存器151的读取数据路径155上从特定库的多个位置检索指令及/或常数数据,并使用感测电路150 的计算组件执行。存储器控制器140可缓存在特定库本地(例如,在指令缓存171及/或逻辑电路170中)检索到的指令及/或常数数据以处置指令的块执行内含有的分支、环路、逻辑及数据运算。经如此配置,存储器控制器140可根据需要重新缓存检索到的指令及 /或常数数据。因此,对于PIM系统,可无需增大PIM装置上的专用指令存储器(缓存) 的大小。
此外,根据实施例,存储器控制器140经配置使得库121可接收与特定库相关的程序指令的后续指令块及/或常数数据,并将接收到的指令块及/或接收到常数数据中的指令存储到特定库的多个位置,同时(例如并行地)存储器控制器140正使用先前常数数据执行先前接收到的指令块。因此,本文描述的实施例避免需要等待从主机110及/或通道控制器143接收到的未来或下一组指令(例如,PIM命令)。代替地,本文描述的设备及方法、装置可促进将程序指令后备存储于PIM装置中,且可促进将后续指令块及/或常数数据预写入到分配的位置中,同时执行先前接收到的指令块,以便促进在PIM系统(例如,PIM DRAM)中开始未来计算。所属领域的一般读者将明白本文揭示的实施例的这些及其它优点。
如读者将了解,且如图2到4的实例中更详细描述,存储器控制器140经配置以通过控制感测电路150(其包含计算组件251及/或351)以实施逻辑函数(例如AND、OR、 NOT、NAND、NOR及XOR逻辑函数)来控制经解析指令(例如,PIM命令)的执行,及/ 或对常数数据(例如,用于建立PIM计算的数据)进行存取。另外,存储器控制器140经配置以控制感测电路150执行包含复制、比较及擦除运算的非布尔逻辑运算,其作为执行程序指令(例如,PIM命令)的部分。
图2是说明根据本发明的数个实施例的感测电路250的示意图。感测电路250可对应于图1A及1B中展示的感测电路150。感测电路250的感测放大器206可对应于图2 中展示的感测放大器206,且感测电路250的计算组件231可对应于包含例如图1A中展示的计算组件150的感测电路。
存储器单元包括存储元件(例如,电容器)及存取装置(例如,晶体管)。例如,第一存储器单元包括晶体管202-1及电容器203-1,且第二存储器单元包括晶体管202-2及电容器203-2,等等。在此实例中,存储器阵列230是1T1C(一个晶体管一个电容器)存储器单元的DRAM阵列。在数个实施例中,存储器单元可为破坏性的读取存储器单元(例如,读取单元中存储的数据会破坏所述数据,使得原始存储于所述单元中的数据在被读取之后被刷新)。
存储器单元阵列230可布置于由字线204-X(行X)、204Y(行Y)等等耦合的行及由互补感测线对(例如,数据线DIGIT(n-1)/DIGIT(n-1)_、DIGIT(n)/DIGIT(n)_、DIGIT (n+1)/DIGIT(n+1)_)耦合的列中。对应于每一对互补感测线的个别感测线也可分别称为数据线205-1(D)及205-2(D_)。尽管在图2中仅展示一对互补数据线,但本发明的实施例并非如此受限,且存储器单元阵列可包含存储器单元的额外列及/或数据线(例如, 4,096、8,192、16,384等等)。
存储器单元可耦合到不同数据线及/或字线。举例来说,晶体管202-1的第一源极/漏极区可耦合到数据线205-1(D),晶体管202-1的第二源极/漏极区可耦合到电容器 203-1,且晶体管202-1的栅极可耦合到字线204-X。晶体管202-2的第一源极/漏极区可耦合到数据线205-2(D_),晶体管202-2的第二源极/漏极区可耦合到电容器203-2,且晶体管202-2的栅极可耦合到字线204-Y。如图2中展示的单元板可耦合到电容器203-1 及203-2中的每一者。单元板可为共同节点,在各种存储器阵列配置中,可将参考电压(例如,接地)施加到所述共同节点。
根据本发明的数个实施例,存储器阵列230耦合到感测电路250。在此实例中,感测电路250包括感测放大器206及对应于(例如,耦合到相应互补数据线对的)存储器单元的相应列的计算组件231。感测放大器206可耦合到互补感测线对205-1与205-2。计算组件231可经由传递栅极207-1及207-2耦合到感测放大器206。传递栅极207-1及 207-2的栅极可耦合到逻辑运算选择逻辑213。
逻辑运算选择逻辑213可经配置以包含:传递栅极逻辑,其用于控制将未换位的互补感测线对耦合于感测放大器206与计算组件231之间(如图2中展示)的传递栅极;及/ 或交换栅极逻辑,其用于控制将换位的互补感测线对耦合于感测放大器206与计算组件 231之间的交换栅极。逻辑运算选择逻辑213还可耦合到互补感测线对205-1与205-2。逻辑运算选择逻辑213可经配置以基于所选择的逻辑运算控制传递栅极207-1与207-2 的连续性,如下文针对逻辑运算选择逻辑413的各种配置进行详细描述。
感测放大器206可经操作以确定所选择的存储器单元中存储的数据值(例如,逻辑状态)。感测放大器206可包括交叉耦合锁存器,本文可称其为初级锁存器。在图2中说明的实例中,对应于感测放大器206的电路包括锁存器215,其包含耦合到一对互补数据线D205-1及D_205-2的四个晶体管。然而,实施例不限于此实例。锁存器215可为交叉耦合锁存器(例如,一对晶体管(例如n沟道晶体管(例如,NMOS晶体管)227-1与227-2) 的栅极与另一对晶体管(例如p沟道晶体管(例如,PMOS晶体管)229-1与229-2)的栅极交叉耦合)。包括晶体管227-1、227-2、229-1及229-2的交叉耦合锁存器215可称为初级锁存器。
在操作中,当感测(例如,读取)存储器单元时,数据线205-1(D)或205-2(D_)中的一者上的电压将稍微大于数据线205-1(D)或205-2(D_)中另一者上的电压。可将ACT信号及RNL*信号驱动为低到能启用(例如,触发)感测放大器206。具有较低电压的数据线 205-1(D)或205-2(D_)将接通PMOS晶体管229-1或229-2中的一者到比PMOS晶体管 229-1或229-2中的另一者更大的程度,借此将具有更高电压的数据线205-1(D)或 205-2(D_)驱动为高到比将另一数据线205-1(D)或205-2(D_)驱动为高的更大程度。
类似地,具有更高电压的数据线205-1(D)或205-2(D_)将接通NMOS晶体管227-1或227-2中的一者到比NMOS晶体管227-1或227-2中的另一者更大的程度,借此将具有较低电压的数据线205-1(D)或205-2(D_)驱动为低到比将另一数据线205-1(D)或 205-2(D_)驱动为低的更大的程度。因此,在短延迟之后,通过源极晶体管211将具有稍微较高电压的数据线205-1(D)或205-2(D_)驱动到供应电压Vcc的电压,且通过灌入 (sink)晶体管213将另一数据线205-1(D)或205-2(D_)驱动到参考电压(例如,接地)的电压。因此,交叉耦合NMOS晶体管227-1及227-2及PMOS晶体管229-1及229-2用作感测放大器对,其放大数据线205-1(D)或205-2(D_)上的差分电压且进行操作以锁存从所选择的存储器单元感测到的数据值。如本文所使用,感测放大器206的交叉耦合锁存器可称为初级锁存器215。
实施例不限于图2中说明的感测放大器206的配置。作为实例,感测放大器206可为电流模式感测放大器及/或单端式感测放大器(例如,耦合到一个数据线的感测放大器)。此外,本发明的实施例不限于折叠式数据线架构,例如图2中展示的架构。
感测放大器206可连同计算组件231一起被操作以使用来自阵列的数据作为输入执行各种逻辑运算。在数个实施例中,可将逻辑运算的结果存储回到阵列,而无需经由数据线地址存取传送数据(例如,无需触发列解码信号,使得数据经由本地I/O线被传送到阵列及感测电路外的电路)。因而,本发明的数个实施例可实现使用比各种先前方法更少的电力执行逻辑运算及与其相关联的计算功能。另外,因为数个实施例消除了对跨越I/O 线传送数据以便(例如,在存储器与离散处理器之间)执行计算功能的需要,所以与先前方法相比,数个实施例可实现增大的并行处理能力。
感测放大器206可进一步包含平衡电路214,其可经配置以使数据线205-1(D)及205-2(D_)平衡。在此实例中,平衡电路214包括耦合于数据线205-1(D)与205-2(D_)之间的晶体管224。平衡电路214还包括晶体管225-1及225-2,其各自具有耦合到平衡电压(例如,VDD/2)的第一源极/漏极区,其中VDD是与所述阵列相关联的供应电压。晶体管225-1的第二源极/漏极区可耦合数据线205-1(D),且晶体管225-2的第二源极/漏极区域可耦合数据线205-2(D_)。晶体管224、225-1及225-2的栅极可耦合在一起,且耦合到平衡(EQ)控制信号线226。因而,激活EQ会启用晶体管224、225-1及225-2,此举有效地使数据线205-1(D)与205-2(D_)短接在一起,且接到平衡电压(例如,Vdd/2)。
尽管图2展示包括平衡电路214的感测放大器206,但实施例并非如此受限,且可与感测放大器206离散地实施平衡电路214,将所述平衡电路以与图2中展示的配置不同的配置实施,或完全不实施。
如下文进一步描述,在数个实施例中,感测电路(例如,感测放大器206及计算组件231)可经操作以执行所选择的逻辑运算,并初始地将结果存储于感测放大器206或计算组件231中的一者中,而无需经由I/O线从感测电路传送数据(例如,无需经由激活列解码信号来执行数据线地址存取)。
逻辑运算(例如,涉及数据值的布尔逻辑函数)的执行是基础且常用的。布尔逻辑函数用于许多更高级函数中。因此,通过改进的逻辑运算可实现的速度及/或电力效率可转化成更高阶功能性的速度及/或电力效率。
如图2中所展示,计算组件231还可包含锁存器,在本文中可称之为次级锁存器264。次级锁存器264可以与上文关于初级锁存器215描述的方式类似的方式进行配置及操作,不同点在于,包括次级锁存器的交叉耦合p沟道晶体管对(例如,PMOS晶体管)可使其相应源极耦合到供应电压(例如,VDD),且次级锁存器的交叉耦合n沟道晶体管对(例如,NMOS晶体管)可使其相应源极选择性地耦合到参考电压(例如,接地),使得次级锁存器被连续地启用。计算组件的配置不限于在图2中的231处展示的配置,且下文进一步描述各种其它实施例。
图3是说明根据本发明的数个实施例的能够实施XOR逻辑运算的感测电路的示意图。图3展示耦合到一对互补感测线305-1与305-2的感测放大器306及经由传递栅极 307-1及307-2耦合到感测放大器306的计算组件331。图3中展示的感测放大器306可对应于图2中展示的感测放大器206。图3中展示的计算组件331可对应于包含(例如) 图1A中展示的计算组件150的感测电路。图3中展示的逻辑运算选择逻辑313可对应于例如图4中展示的逻辑运算选择逻辑413。
传递栅极307-1及307-2的栅极可由逻辑运算选择逻辑信号Pass控制。举例来说,逻辑运算选择逻辑的输出可耦合到传递栅极307-1及307-2的栅极。计算组件331可包括经配置以使数据值向左及向右移位的可加载移位寄存器。
根据图3中说明的实施例,计算组件331可包括经配置以使数据值向左及向右移位的可加载移位寄存器的相应级(例如,移位单元)。举例来说,如图3中说明,移位寄存器中的每一计算组件331(例如,级)包括一对右移位晶体管381与386、一对左移位晶体管389与390及一对逆变器387与388。可将信号PHASE 1R、PHASE 2R、PHASE 1L 及PHASE 2L施加到相应控制线382、383、391及392以启用/停用对应计算组件331 的锁存器上与根据本文描述的实施例执行逻辑运算及/或使数据移位相关联的反馈。
图3中展示的感测电路还展示耦合到数个逻辑选择控制输入控制线(包含ISO、TF、TT、FT及FF)的逻辑运算选择逻辑313。当经由被断言的ISO控制信号启用隔离晶体管时,从逻辑选择控制输入控制线上的逻辑选择控制信号的状况、以及互补感测线对305-1 及305-2上存在的数据值确定从多个逻辑运算选择逻辑运算。
根据各种实施例,逻辑运算选择逻辑313可包含四个逻辑选择晶体管:逻辑选择晶体管362,其耦合于交换晶体管342的栅极与TF信号控制线之间;逻辑选择晶体管352,其耦合于传递栅极307-1及307-2的栅极与TT信号控制线之间;逻辑选择晶体管354,其耦合于传递栅极307-1及307-2的栅极与FT信号控制线之间;及逻辑选择晶体管364,其耦合于交换晶体管342的栅极与FF信号控制线之间。逻辑选择晶体管362及352的栅极通过隔离晶体管350-1(其具有耦合到ISO信号控制线的栅极)耦合到真值感测线。逻辑选择晶体管364及354的栅极通过隔离晶体管350-2(其也具有耦合到ISO信号控制线的栅极)耦合到互补感测线。
可经由传递栅极307-1及307-2将互补感测线对305-1与305-2上存在的数据值加载到计算组件331中。计算组件331可包括可加载移位寄存器。当传递栅极307-1及307-2 打开时,互补感测线对305-1与305-2上的数据值被传递到计算组件331,且借此被加载到可加载移位寄存器中。当触发感测放大器时,互补感测线对305-1与305-2上的数据值可为感测放大器306中存储的数据值。逻辑运算选择逻辑信号Pass处于高位以使传递栅极307-1及307-2打开。
ISO、TF、TT、FT及FF控制信号可操作以基于感测放大器306中的数据值(“B”) 及计算组件331中的数据值(“A”)选择待实施的逻辑运算。特定来说,ISO、TF、TT、 FT及FF控制信号经配置以独立于互补感测线对305-1与305-2上存在的数据值而选择待实施的逻辑运算(尽管实施的逻辑运算的结果可为取决于互补感测线对305-1与305-2 上存在的数据值)。举例来说,ISO、TF、TT、FT及FF控制信号直接选择待实施的逻辑运算,这是因为互补感测线对305-1与305-2上存在的数据值并未通过逻辑传递来操作传递栅极307-1及307-2的栅极。
另外,图3展示交换晶体管342,其经配置以在感测放大器313-7与计算组件331 之间交换互补感测线对305-1与305-2的定向。当交换晶体管342打开时,交换晶体管 342的感测放大器306侧上的互补感测线对305-1与305-2上的数据值反向耦合到交换晶体管432的计算组件331侧上的互补感测线对305-1与305-2,且借此被加载到计算组件331的可加载移位寄存器中。
当ISO控制信号线被激活,且TT控制信号被激活(例如,高)(其中真值感测线上的数据值是“1”)或FT控制信号被激活(例如,高)(其中互补感测线上的数据值是“1”) 时,那么逻辑运算选择逻辑信号Pass可经激活(例如,高)以使传递栅极307-1及307-2 打开(例如,导电)。
真值感测线上是“1”的数据值使逻辑选择晶体管352及362打开。互补感测线上是“1”的数据值使逻辑选择晶体管354及364打开。如果ISO控制信号或相应TT/FT 控制信号或对应感测线(例如,特定逻辑选择晶体管的栅极耦合到的感测线)上的数据值不高,那么传递栅极307-1及307-2将不会被特定逻辑选择晶体管打开。
当ISO控制信号线被激活,且TF控制信号被激活(例如,高)(其中真值感测线上的数据值是“1”)或FF控制信号被激活(例如,高)(其中互补感测线上的数据值是“1”) 时,那么逻辑运算选择逻辑信号PassF可经激活(例如,高)以使交换晶体管342打开(例如,导电)。如果相应控制信号或对应感测线(例如,特定逻辑选择晶体管的栅极耦合到的感测线)上的数据值不高,那么交换晶体管342将不会被特定逻辑选择晶体管打开。
Pass*控制信号不一定与Pass控制信号互补。有可能同时激活Pass与Pass*控制信号两者或同时取消激活两者。然而,同时激活Pass与Pass*控制信号两者会使互补感测线对短接在一起,这是应避免的破坏性配置。
图3中说明的感测电路经配置以选择多个逻辑运算中的一者以直接根据四个逻辑选择控制信号来实施(例如,逻辑运算选择不取决于互补感测线对上存在的数据值)。逻辑选择控制信号的一些组合可致使传递栅极307-1及307-2与交换晶体管342两者同时打开,这使互补感测线对305-1与305-2短接在一起。根据本发明的数个实施例,可由图 3中说明的感测电路实施的逻辑运算可为图4中展示的逻辑表中总结的逻辑运算。
图4是说明根据本发明的数个实施例的由图3中展示的感测电路实施的可选择逻辑运算结果的逻辑表。四个逻辑选择控制信号(例如,TF、TT、FT及FF)连同互补感测线上存在的特定数据值可用于选择待实施的涉及感测放大器306及计算组件331中存储的开始数据值的多个逻辑运算中的一者。四个控制信号连同互补感测线上存在的特定数据值控制传递栅极307-1及307-2与交换晶体管342的连续性,这又在触发之前/之后影响计算组件331及/或感测放大器306中的数据值。可选择性地控制交换晶体管342的连续性的能力促进实施涉及逆数据值(例如,逆操作数及/或逆结果)以及其它的逻辑运算。
图4中说明的逻辑表4-1展示在444处在列A中展示的计算组件331中存储的开始数据值及在445处在列B中展示的感测放大器306中存储的开始数据值。逻辑表4-1中的其它3列标题是指传递栅极307-1及307-2与交换晶体管342的连续性,其分别可取决于四个逻辑选择控制信号(例如,TF、TT、FT及FF)的状态连同互补感测线对305-1 与305-2上存在的特定数据值被控制为打开或关闭。“未打开”列对应于传递栅极307-1 及307-2与交换晶体管342两者都处于非导电状态,“打开真”对应于传递栅极307-1及 307-2处于导电状态,且“打开逆”对应于交换晶体管342处于导电状态。在逻辑表4-1 中未反映对应于传递栅极307-1及307-2与交换晶体管342两者都处于导电状态的配置,因为此举会导致感测线被短接在一起。
经由选择性地控制传递栅极307-1及307-2及交换晶体管342的连续性,逻辑表4-1的上部的三个列中的每一者可与逻辑表4-1的下部的三个列中的每一者组合,以提供对应于九个不同逻辑运算的3x 3=9个不同结果组合,如由475处展示的各种连接路径所指示。在图4中说明的逻辑表4-2中概述可由感测电路850实施的九个不同可选择逻辑运算,其包含XOR逻辑运算。
图4中说明的逻辑表4-2中的列展示包含逻辑选择控制信号的状态的首部480。举例来说,在行476中提供第一逻辑选择控制信号的状态,在行477中提供第二逻辑选择控制信号的状态,在行478中提供第三逻辑选择控制信号的状态,且在行479中提供第四逻辑选择控制信号的状态。在行447中概述对应于结果的特定逻辑运算。
虽然本文已说明及描述了包含感测电路、感测放大器、计算组件、动态锁存器、隔离装置及/或移位电路的各种组合及配置的实例实施例,但本发明的实施例不限于本文明确陈述的那些组合。本文揭示的感测电路、感测放大器、计算组件、动态锁存器、隔离装置及/或移位电路的其它组合及配置明确地包含于本发明的范围内。
尽管本文已说明及描述了具体实施例,但所属领域的一般技术人员应了解,经计算以实现相同结果的布置可代替展示的具体实施例。本发明希望覆盖本发明的一或多个实施例的调适或变体。应理解,已以说明性方式且非限制性方式进行了上文描述。所属领域的技术人员在查看了上文描述之后,将明白上文实施与本文未具体描述的其它实施例的组合。本发明的一或多个实施例的范围包含上文结构及方法用于其中的其它应用。因此,应参考所附权利要求书与此类权利要求书所授权的等效物的全部范围一起确定本发明的一或多个实施例的范围。
在前述详细描述中,出于简化本发明的目的,在单个实施例中将一些特征组群在一起。不应将本发明的此方法解译为反映本发明揭示的实施例必须使用比每一权利要求中明确陈述的特征更多的特征的意图。事实上,如所附权利要求书反映的那样,本发明主题在于少于揭示的单个实施例的全部特征。因此,所附权利要求书借此并入到具体实施方式中,其中每一权利要求独立地作为单独实施例。
Claims (22)
1.一种用于并行写入到多个存储器装置位置的设备,其包括:
存储器装置(120),其中所述存储器装置包括:
存储器单元阵列(130;230);
感测电路(150;250),其经由多个感测线(205-1、205-2;305-1、305-2)耦合到所述阵列,所述感测电路包含感测放大器(206;306)及经配置以实施逻辑运算的计算组件(231;331);及
存储器控制器(140),其耦合到所述阵列及感测电路,所述存储器控制器经配置以:
使用DRAM协议和DRAM逻辑以及电接口从主机(110)接收经解析指令和/或常数数据;及
将所述经解析指令并行写入到所述阵列中的多个位置;以及
库仲裁器(145),其中所述库仲裁器经配置以:
地址转译所接收的多播命令;以及
将所述经解析指令和/或常数数据发送至与所述存储器控制器(140)相关联的库(121-0,…,121-7)以将多个地址并行写入至所述库中。
2.根据权利要求1所述的设备,其中所述存储器控制器(140)经配置以:
接收经解析常数数据;及
将所述经解析常数数据并行写入到所述阵列(130;230)中的多个位置。
3.根据权利要求1所述的设备,其中所述库仲裁器(145)经配置以:
使用与所述库仲裁器(145)相关联的一系列寄存器(147)对所述多播命令进行地址转译;及
经由耦合到所述主机(110)的通道控制器(143)接收所述多播命令。
4.根据权利要求1到3中任一权利要求所述的设备,其中所述设备包括耦合到所述存储器装置(120)中的多个库(121-0、…、121-7)的库仲裁器(145),且其中所述库仲裁器经配置以:
经由经扩增动态随机存取存储器DRAM命令协议接收多播命令;且
其中使用耦合到所述存储器装置(120)的DRAM控制总线接收所述经扩增DRAM命令协议。
5.根据权利要求4所述的设备,其中所述经扩增DRAM命令协议指示所述库仲裁器(145)写入是以多播方式执行。
6.根据权利要求1到3中任一权利要求所述的设备,其中所述设备包括耦合到所述存储器装置(120)中的多个库(121-0、…、121-7)的库仲裁器(145),且所述库仲裁器包括用于设置所述多个库(121-0、…、121-7)中的多个位置的一系列寄存器(147)中的库地址位及行地址位的逻辑。
7.根据权利要求6所述的设备,其中所述库仲裁器(145)经配置以:
经由耦合到所述存储器装置(120)的DRAM控制总线接收多播写入命令;
读取所述寄存器系列(147);及
将经解析指令及常数数据中的所述至少一者发送到相关存储器控制器以并行写入到所述多个位置。
8.根据权利要求1到3中任一权利要求所述的设备,其中所述经解析指令包含存储器内处理器PIM命令。
9.一种用于并行写入到多个存储器装置位置的设备,其包括:
存储器装置(120),其中所述存储器装置包括耦合到库仲裁器(145)的多个库(121-0、…、121-7),所述库仲裁器经配置以:
接收多播命令;
读取与所述多播命令相关联的寄存器(147);及
将经解析指令及常数数据中的至少一者发送到所述多个库中的所选择的库,其中每一库(121-0、…、121-7)包括:
存储器单元阵列(130;230);
感测电路(150;250),其经由多个感测线(205-1、205-2;305-1、305-2)耦合到所述阵列,所述感测电路包含感测放大器(206;306)及经配置以实施逻辑运算的计算组件(231;331);及
存储器控制器(140),其耦合到所述阵列及所述感测电路,其中所述存储器控制器经配置以:
接收发送到所述库(121-0、…、121-7)的经解析指令及常数数据中的所述至少一者;及
将经解析指令及常数数据中的所述至少一者写入到所述库(121-0、…、121-7)。
10.根据权利要求9所述的设备,其中所述存储器控制器(140)经配置以将经解析指令及常数数据中的所述至少一者写入到所述相应多个库(121-0、…、121-7)的所述所选择的库中的多个子阵列(125-1、…、125-N)。
11.根据权利要求10所述的设备,其中在所述多个库(121-0、…、121-7)中的所选择者之中,所述多个子阵列(125-1、…、125-N)不同。
12.根据权利要求9到11中任一权利要求所述的设备,其中所述设备包括经由通道控制器(143)耦合到主机(110)的多个存储器装置(120),其中所述设备经配置以:
在所述多个存储器装置之中,从所述通道控制器(143)接收去往相关库仲裁器(145)的所述多播命令;
在所述相应存储器装置的所述多个库中的所述所选择的库之中,接收去往相关存储器控制器的所述多播命令。
13.一种用于并行写入到多个存储器装置位置的设备,其包括:
通道控制器(143),其耦合到多个存储器装置(120),所述通道控制器(143)经配置以将多播命令发送到所述多个存储器装置;及
库仲裁器(145),其用于耦合到所述通道控制器的每一存储器装置,每一库仲裁器耦合到所述相应存储器装置中的多个库(121-0、…、121-7),每一库仲裁器(145)经配置以:
从所述通道控制器(143)接收所述多播命令;
响应于所述接收到的多播命令,读取与所述库仲裁器(145)相关联的寄存器(147);及
基于所述读取寄存器(147),将经解析指令及常数数据中的至少一者发送到所述多个库中的所选择的库;且
其中每一库(121-0、…、121-7)包括:
存储器单元阵列(130;230);
感测电路(150;250),其经由多个感测线(205-1、205-2;305-1、305-2)耦合到所述阵列,所述感测电路包含感测放大器(206;306)及经配置以实施逻辑运算的计算组件(231;331);及
存储器控制器(140),其耦合到所述阵列及所述感测电路,其中所述存储器控制器经配置以对所述多个库(121-0、…、121-7)中的所述所选择的库执行数据写入操作。
14.根据权利要求13所述的设备,其中由所述通道控制器(143)对经解析指令及常数数据中的所述至少一者进行地址转译。
15.根据权利要求13所述的设备,其中所述存储器控制器(140)经配置以控制所述感测电路(150;250)来:
实施包含AND、OR、NOT、XOR、NAND及NOR逻辑功能的逻辑功能;及
执行包含复制、比较及擦除的非布尔逻辑运算。
16.根据权利要求13到15中任一权利要求所述的设备,其中:
所述存储器单元阵列(130;230)是动态随机存取存储器DRAM单元,且对所述所选择的库进行的所述数据写入操作是针对所述所选择库中的多个子阵列(125-1、…、125-N);
所述存储器控制器(140)经配置以针对非多播写入操作使用DRAM协议及DRAM逻辑及电接口;且
所述通道控制器(143)经配置以将经扩增DRAM命令发送到所述相应存储器装置(120)中的所述库仲裁器(145)以指示何时执行多播写入操作。
17.一种用于操作存储器装置以并行写入到多个位置的方法,其包括:
接收去往所述存储器装置(120)的经解析指令及常数数据中的至少一者,其中所述存储器装置(120)包括:
存储器单元阵列(130;230);
感测电路(150;250),其耦合到所述阵列,所述感测电路包含感测放大器(206;
306)及经配置以实施逻辑运算的计算组件(231;331);及
存储器控制器(140),其耦合到所述阵列及所述感测电路;及
在所述存储器控制器处接收多播写入命令;
将经解析指令及常数数据中的所述至少一者写入到所述存储器装置(120)中的所述多个位置;
其中写入所述经解析指令和/或常数数据包括将与存储器内处理(PIM)命令相关联的经解析指令和/或常数数据写入至所述多个存储器装置,
读取设置在所述存储器控制器上的一系列寄存器以将所述经解析指令和/或常数数据发送到与所述存储器控制器相关联的库中的多个子阵列;以及
执行多播写入操作以将所述经解析指令和/或常数数据发送到所述存储器装置中的所述多个位置。
18.根据权利要求17所述的方法,其中所述方法包括:执行多播写入操作以将经解析指令及常数数据中的所述至少一者并行写入到所述存储器装置(120)的多个库(121-0、…、121-7)。
19.根据权利要求18所述的方法,其中所述方法包括:将经解析指令及常数数据中的所述至少一者并行写入到所述存储器装置的所述多个库(121-0、…、121-7)之中的多个子阵列(125-1、…、125-N)。
20.根据权利要求19所述的方法,其中所述方法包括:将经解析指令及常数数据中的所述至少一者并行写入到所述存储器装置的所述多个库(121-0、…、121-7)之中的多个不同子阵列(125-1、…、125-N)。
21.一种用于并行写入到多个存储器装置位置的设备,其包括:
存储器装置,其中所述存储器装置包括:
存储器单元阵列;
感测电路,其经由多个感测线耦合到所述阵列,所述感测电路包含感测放大器及经配置以实施逻辑运算的计算组件;及
存储器控制器,其耦合到所述阵列及感测电路,所述存储器控制器经配置以:
接收经解析指令块;以及
将所述经解析指令并行写入到所述阵列中的多个位置;以及
库仲裁器,其耦合至所述存储器装置中的多个库,且其中所述库仲裁器经配置以:
经由经扩增动态随机存取存储器DRAM命令协议接收多播命令;且
其中使用耦合所述存储器装置的DRAM控制总线接收所述经扩增DRAM命令协议。
22.一种用于并行写入到多个存储器装置位置的设备,其包括:
存储器装置,其中所述存储器装置包括:
存储器单元阵列;
感测电路,其经由多个感测线耦合到所述阵列,所述感测电路包含感测放大器及经配置以实施逻辑运算的计算组件;及
存储器控制器,其耦合到所述阵列及感测电路,所述存储器控制器经配置以:
接收经解析指令块;以及
将所述经解析指令并行写入到所述阵列中的多个位置;以及
库仲裁器,其耦合至所述存储器装置中的多个库且所述库仲裁器包括用于设置所述多个库中的多个位置的一系列寄存器中的库地址位及行地址位的逻辑。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562112868P | 2015-02-06 | 2015-02-06 | |
US62/112,868 | 2015-02-06 | ||
PCT/US2016/015029 WO2016126474A1 (en) | 2015-02-06 | 2016-01-27 | Apparatuses and methods for parallel writing to multiple memory device locations |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107408405A CN107408405A (zh) | 2017-11-28 |
CN107408405B true CN107408405B (zh) | 2021-03-05 |
Family
ID=56564521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680012339.0A Active CN107408405B (zh) | 2015-02-06 | 2016-01-27 | 用于并行写入到多个存储器装置位置的设备及方法 |
Country Status (4)
Country | Link |
---|---|
US (4) | US10496286B2 (zh) |
EP (1) | EP3254286B1 (zh) |
CN (1) | CN107408405B (zh) |
WO (1) | WO2016126474A1 (zh) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107408405B (zh) * | 2015-02-06 | 2021-03-05 | 美光科技公司 | 用于并行写入到多个存储器装置位置的设备及方法 |
US10037150B2 (en) * | 2016-07-15 | 2018-07-31 | Advanced Micro Devices, Inc. | Memory controller with virtual controller mode |
US10559356B2 (en) | 2017-06-14 | 2020-02-11 | Nxp Usa, Inc. | Memory circuit having concurrent writes and method therefor |
US10402116B2 (en) * | 2017-12-11 | 2019-09-03 | Micron Technology, Inc. | Systems and methods for writing zeros to a memory array |
US10825491B2 (en) * | 2017-12-11 | 2020-11-03 | Micron Technology, Inc. | Systems and methods for writing zeros to a memory array |
US10522210B2 (en) | 2017-12-14 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for subarray addressing |
US10332586B1 (en) | 2017-12-19 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for subrow addressing |
US10614875B2 (en) | 2018-01-30 | 2020-04-07 | Micron Technology, Inc. | Logical operations using memory cells |
US10437557B2 (en) | 2018-01-31 | 2019-10-08 | Micron Technology, Inc. | Determination of a match between data values stored by several arrays |
US11194477B2 (en) | 2018-01-31 | 2021-12-07 | Micron Technology, Inc. | Determination of a match between data values stored by three or more arrays |
US10725696B2 (en) | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
US10440341B1 (en) | 2018-06-07 | 2019-10-08 | Micron Technology, Inc. | Image processor formed in an array of memory cells |
US11169920B2 (en) * | 2018-09-17 | 2021-11-09 | Micron Technology, Inc. | Cache operations in a hybrid dual in-line memory module |
US10831693B1 (en) * | 2018-09-27 | 2020-11-10 | Amazon Technologies, Inc. | Multicast master |
US10613977B1 (en) * | 2018-09-27 | 2020-04-07 | Amazon Technologies, Inc. | Target port with distributed transactions |
US10769071B2 (en) | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US10483978B1 (en) * | 2018-10-16 | 2019-11-19 | Micron Technology, Inc. | Memory device processing |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US11360704B2 (en) | 2018-12-21 | 2022-06-14 | Micron Technology, Inc. | Multiplexed signal development in a memory device |
US10901734B2 (en) * | 2019-03-01 | 2021-01-26 | Micron Technology, Inc. | Memory mapping using commands to transfer data and/or perform logic operations |
CN111813722B (zh) * | 2019-04-10 | 2022-04-15 | 北京灵汐科技有限公司 | 基于共享内存的数据读写方法,系统及可读存储介质 |
US12118056B2 (en) | 2019-05-03 | 2024-10-15 | Micron Technology, Inc. | Methods and apparatus for performing matrix transformations within a memory array |
US10867655B1 (en) | 2019-07-08 | 2020-12-15 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11360768B2 (en) | 2019-08-14 | 2022-06-14 | Micron Technolgy, Inc. | Bit string operations in memory |
US11513719B2 (en) | 2019-08-29 | 2022-11-29 | Micron Technology, Inc. | Fast purge on storage devices |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11741350B2 (en) | 2019-11-27 | 2023-08-29 | Amazon Technologies, Inc. | Efficient utilization of processing element array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
KR20210091404A (ko) * | 2020-01-13 | 2021-07-22 | 삼성전자주식회사 | 메모리 장치, 메모리 모듈 및 메모리 장치의 동작 방법 |
US11176043B2 (en) * | 2020-04-02 | 2021-11-16 | International Business Machines Corporation | Distributed memory-augmented neural network architecture |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
US11380372B1 (en) * | 2020-12-17 | 2022-07-05 | Micron Technology, Inc. | Transferring data between DRAM and SRAM |
US20220206685A1 (en) * | 2020-12-31 | 2022-06-30 | Advanced Micro Devices, Inc. | Reusing remote registers in processing in memory |
TWI773106B (zh) * | 2021-01-28 | 2022-08-01 | 華邦電子股份有限公司 | 具有運算功能的記憶體裝置及其操作方法 |
US11468001B1 (en) | 2021-03-30 | 2022-10-11 | Advanced Micro Devices, Inc. | Processing-in-memory concurrent processing system and method |
US11693585B2 (en) * | 2021-04-26 | 2023-07-04 | Apple Inc. | Address hashing in a multiple memory controller system |
US11972140B2 (en) | 2021-04-26 | 2024-04-30 | Apple Inc. | Hashing with soft memory folding |
Family Cites Families (282)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4380046A (en) | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
JPS6032911B2 (ja) | 1979-07-26 | 1985-07-31 | 株式会社東芝 | 半導体記憶装置 |
US4435792A (en) | 1982-06-30 | 1984-03-06 | Sun Microsystems, Inc. | Raster memory manipulation apparatus |
US4727474A (en) | 1983-02-18 | 1988-02-23 | Loral Corporation | Staging memory for massively parallel processor |
EP0214718A3 (en) | 1985-07-22 | 1990-04-04 | Alliant Computer Systems Corporation | Digital computer |
US5201039A (en) | 1987-09-30 | 1993-04-06 | Mitsubishi Denki Kabushiki Kaisha | Multiple address-space data processor with addressable register and context switching |
US4843264A (en) | 1987-11-25 | 1989-06-27 | Visic, Inc. | Dynamic sense amplifier for CMOS static RAM |
US5276643A (en) | 1988-08-11 | 1994-01-04 | Siemens Aktiengesellschaft | Integrated semiconductor circuit |
JPH0713858B2 (ja) | 1988-08-30 | 1995-02-15 | 三菱電機株式会社 | 半導体記憶装置 |
US5023838A (en) | 1988-12-02 | 1991-06-11 | Ncr Corporation | Random access memory device with integral logic capability |
US4958378A (en) | 1989-04-26 | 1990-09-18 | Sun Microsystems, Inc. | Method and apparatus for detecting changes in raster data |
US5253308A (en) | 1989-06-21 | 1993-10-12 | Amber Engineering, Inc. | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing |
DE69132495T2 (de) | 1990-03-16 | 2001-06-13 | Texas Instruments Inc., Dallas | Verteilter Verarbeitungsspeicher |
US5034636A (en) | 1990-06-04 | 1991-07-23 | Motorola, Inc. | Sense amplifier with an integral logic function |
US5210850A (en) | 1990-06-15 | 1993-05-11 | Compaq Computer Corporation | Memory address space determination using programmable limit registers with single-ended comparators |
JP3361825B2 (ja) * | 1990-08-22 | 2003-01-07 | テキサス インスツルメンツ インコーポレイテツド | メモリ・アレイ・アーキテクチャ |
US5546343A (en) * | 1990-10-18 | 1996-08-13 | Elliott; Duncan G. | Method and apparatus for a single instruction operating multiple processors on a memory chip |
JPH06103599B2 (ja) | 1990-11-16 | 1994-12-14 | 三菱電機株式会社 | 半導体集積回路装置 |
US5325519A (en) | 1991-10-18 | 1994-06-28 | Texas Microsystems, Inc. | Fault tolerant computer with archival rollback capabilities |
FR2685973B1 (fr) | 1992-01-03 | 1994-02-25 | France Telecom | Point memoire pour memoire associative. |
KR950005095Y1 (ko) | 1992-03-18 | 1995-06-22 | 문정환 | 양방향성 그로벌 비트 라인을 갖는 dram |
KR940004434A (ko) | 1992-08-25 | 1994-03-15 | 윌리엄 이. 힐러 | 스마트 다이나믹 랜덤 억세스 메모리 및 그 처리방법 |
KR950004854B1 (ko) | 1992-10-08 | 1995-05-15 | 삼성전자 주식회사 | 반도체 메모리 장치 |
US5440482A (en) | 1993-03-25 | 1995-08-08 | Taligent, Inc. | Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order |
US5485373A (en) | 1993-03-25 | 1996-01-16 | Taligent, Inc. | Language-sensitive text searching system with modified Boyer-Moore process |
US5754478A (en) | 1993-04-20 | 1998-05-19 | Micron Technology, Inc. | Fast, low power, write scheme for memory circuits using pulsed off isolation device |
US5369622A (en) | 1993-04-20 | 1994-11-29 | Micron Semiconductor, Inc. | Memory with isolated digit lines |
JP2663838B2 (ja) | 1993-07-27 | 1997-10-15 | 日本電気株式会社 | 半導体集積回路装置 |
JP3252306B2 (ja) | 1993-08-10 | 2002-02-04 | 株式会社日立製作所 | 半導体不揮発性記憶装置 |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
JP3251421B2 (ja) | 1994-04-11 | 2002-01-28 | 株式会社日立製作所 | 半導体集積回路 |
US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
JPH0831168A (ja) | 1994-07-13 | 1996-02-02 | Hitachi Ltd | 半導体記憶装置 |
US5481500A (en) | 1994-07-22 | 1996-01-02 | International Business Machines Corporation | Precharged bit decoder and sense amplifier with integrated latch usable in pipelined memories |
US5615404A (en) | 1994-10-31 | 1997-03-25 | Intel Corporation | System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals |
US5638128A (en) | 1994-11-08 | 1997-06-10 | General Instrument Corporation Of Delaware | Pixel interpolation filters for video decompression processor |
US5724366A (en) | 1995-05-16 | 1998-03-03 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device |
KR0146530B1 (ko) | 1995-05-25 | 1998-09-15 | 김광호 | 단속제어회로를 구비한 반도체 메모리 장치와 제어방법 |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
JP2812262B2 (ja) | 1995-08-31 | 1998-10-22 | 日本電気株式会社 | 連想記憶装置 |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
JP2817836B2 (ja) | 1995-11-30 | 1998-10-30 | 日本電気株式会社 | 半導体メモリ装置 |
JP3356612B2 (ja) | 1996-02-29 | 2002-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 高速な輪郭スムージング方法及び装置 |
US6092186A (en) | 1996-05-07 | 2000-07-18 | Lucent Technologies Inc. | Apparatus and method for aborting un-needed instruction fetches in a digital microprocessor device |
US5915084A (en) | 1996-09-30 | 1999-06-22 | Advanced Micro Devices, Inc. | Scannable sense amplifier circuit |
US5991209A (en) | 1997-04-11 | 1999-11-23 | Raytheon Company | Split sense amplifier and staging buffer for wide memory architecture |
JP3592887B2 (ja) | 1997-04-30 | 2004-11-24 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6510098B1 (en) | 1997-05-28 | 2003-01-21 | Cirrus Logic, Inc. | Method and apparatus for transferring data in a dual port memory |
JPH1115773A (ja) | 1997-06-24 | 1999-01-22 | Matsushita Electron Corp | 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法 |
US5935263A (en) | 1997-07-01 | 1999-08-10 | Micron Technology, Inc. | Method and apparatus for memory array compressed data testing |
US6195734B1 (en) | 1997-07-02 | 2001-02-27 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
US6181698B1 (en) | 1997-07-09 | 2001-01-30 | Yoichi Hariguchi | Network routing table using content addressable memory |
US6025221A (en) | 1997-08-22 | 2000-02-15 | Micron Technology, Inc. | Processing methods of forming integrated circuitry memory devices, methods of forming DRAM arrays, and related semiconductor masks |
US5991785A (en) | 1997-11-13 | 1999-11-23 | Lucent Technologies Inc. | Determining an extremum value and its index in an array using a dual-accumulation processor |
US5867429A (en) | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
US6163862A (en) | 1997-12-01 | 2000-12-19 | International Business Machines Corporation | On-chip test circuit for evaluating an on-chip signal using an external test signal |
JP3488612B2 (ja) | 1997-12-11 | 2004-01-19 | 株式会社東芝 | センス増幅回路 |
US5986942A (en) | 1998-01-20 | 1999-11-16 | Nec Corporation | Semiconductor memory device |
JPH11260057A (ja) | 1998-03-13 | 1999-09-24 | Nec Corp | 半導体記憶装置 |
JPH11265995A (ja) | 1998-03-17 | 1999-09-28 | Mitsubishi Electric Corp | 半導体記憶装置 |
JPH11306751A (ja) | 1998-04-22 | 1999-11-05 | Toshiba Corp | 半導体記憶装置 |
US6005799A (en) | 1998-08-06 | 1999-12-21 | Silicon Aquarius | Methods and circuits for single-memory dynamic cell multivalue data storage |
US6141286A (en) | 1998-08-21 | 2000-10-31 | Micron Technology, Inc. | Embedded DRAM architecture with local data drivers and programmable number of data read and data write lines |
US7409694B2 (en) | 1998-09-09 | 2008-08-05 | Microsoft Corporation | Highly componentized system architecture with loadable virtual memory manager |
JP2000173269A (ja) | 1998-12-08 | 2000-06-23 | Mitsubishi Electric Corp | 半導体記憶装置 |
KR100381968B1 (ko) | 1998-12-30 | 2004-03-24 | 주식회사 하이닉스반도체 | 고속동작용디램 |
US5999435A (en) | 1999-01-15 | 1999-12-07 | Fast-Chip, Inc. | Content addressable memory device |
US6389507B1 (en) | 1999-01-15 | 2002-05-14 | Gigabus, Inc. | Memory device search system and method |
US6134164A (en) | 1999-04-22 | 2000-10-17 | International Business Machines Corp. | Sensing circuit for a memory cell array |
US6741104B2 (en) | 1999-05-26 | 2004-05-25 | Micron Technology, Inc. | DRAM sense amplifier for low voltages |
JP4748828B2 (ja) * | 1999-06-22 | 2011-08-17 | ルネサスエレクトロニクス株式会社 | 半導体記憶装置 |
US6535963B1 (en) * | 1999-06-30 | 2003-03-18 | Cisco Technology, Inc. | Memory apparatus and method for multicast devices |
US6157578A (en) | 1999-07-15 | 2000-12-05 | Stmicroelectronics, Inc. | Method and apparatus for accessing a memory device |
TW440750B (en) | 1999-08-23 | 2001-06-16 | Seiko Epson Corp | Original plate for display panel and method for manufacturing the display panel, indication machine |
US6208544B1 (en) | 1999-09-09 | 2001-03-27 | Harris Corporation | Content addressable memory cell providing simultaneous read and compare capability |
GB2363231B (en) * | 1999-09-24 | 2002-05-08 | Clearspeed Technology Ltd | Memory devices |
US6578058B1 (en) | 1999-10-06 | 2003-06-10 | Agilent Technologies, Inc. | System and method for comparing values from target systems |
US7124221B1 (en) | 1999-10-19 | 2006-10-17 | Rambus Inc. | Low latency multi-level communication interface |
US6418498B1 (en) | 1999-12-30 | 2002-07-09 | Intel Corporation | Integrated system management memory for system management interrupt handler independent of BIOS and operating system |
JP4627103B2 (ja) | 2000-01-18 | 2011-02-09 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
US6687175B1 (en) | 2000-02-04 | 2004-02-03 | Renesas Technology Corporation | Semiconductor device |
AU2001239907A1 (en) | 2000-02-29 | 2001-09-12 | Stephen J. Guerreri | Method and apparatus for building a memory image |
JP3983969B2 (ja) | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
US6678678B2 (en) | 2000-03-09 | 2004-01-13 | Braodcom Corporation | Method and apparatus for high speed table search |
JP3822412B2 (ja) | 2000-03-28 | 2006-09-20 | 株式会社東芝 | 半導体記憶装置 |
US6965648B1 (en) | 2000-05-04 | 2005-11-15 | Sun Microsystems, Inc. | Source synchronous link integrity validation |
AU2001270400A1 (en) | 2000-07-07 | 2002-01-21 | Mosaid Technologies Incorporated | A high speed dram architecture with uniform access latency |
US6466499B1 (en) | 2000-07-11 | 2002-10-15 | Micron Technology, Inc. | DRAM sense amplifier having pre-charged transistor body nodes |
AU2001285161A1 (en) | 2000-08-21 | 2002-03-04 | United States Postal Services | Delivery point validation system |
US6301164B1 (en) | 2000-08-25 | 2001-10-09 | Micron Technology, Inc. | Antifuse method to repair columns in a prefetched output memory architecture |
US6704828B1 (en) | 2000-08-31 | 2004-03-09 | Micron Technology, Inc. | System and method for implementing data pre-fetch having reduced data lines and/or higher data rates |
US6948056B1 (en) | 2000-09-28 | 2005-09-20 | Intel Corporation | Maintaining even and odd array pointers to extreme values by searching and comparing multiple elements concurrently where a pointer is adjusted after processing to account for a number of pipeline stages |
US6304477B1 (en) | 2001-01-31 | 2001-10-16 | Motorola, Inc. | Content addressable magnetic random access memory |
US6563754B1 (en) | 2001-02-08 | 2003-05-13 | Integrated Device Technology, Inc. | DRAM circuit with separate refresh memory |
US6650158B2 (en) | 2001-02-21 | 2003-11-18 | Ramtron International Corporation | Ferroelectric non-volatile logic elements |
US20030018846A1 (en) * | 2001-07-18 | 2003-01-23 | Blaise Fanning | Method and system for fast memory initialization or diagnostics |
US6807614B2 (en) | 2001-07-19 | 2004-10-19 | Shine C. Chung | Method and apparatus for using smart memories in computing |
US7546438B2 (en) | 2001-07-19 | 2009-06-09 | Chung Shine C | Algorithm mapping, specialized instructions and architecture features for smart memory computing |
ITRM20010531A1 (it) | 2001-08-31 | 2003-02-28 | Micron Technology Inc | Dispositivo rilevatore a bassa potenza e alta tensione per memorie ditipo flash. |
US7260672B2 (en) | 2001-09-07 | 2007-08-21 | Intel Corporation | Using data stored in a destructive-read memory |
US7062689B2 (en) | 2001-12-20 | 2006-06-13 | Arm Limited | Method and apparatus for memory self testing |
US20040073773A1 (en) | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
US6707729B2 (en) | 2002-02-15 | 2004-03-16 | Micron Technology, Inc. | Physically alternating sense amplifier activation |
WO2003088048A1 (en) * | 2002-04-08 | 2003-10-23 | University Of Texas System | Non-uniform cache apparatus, systems, and methods |
WO2003088033A1 (en) | 2002-04-09 | 2003-10-23 | University Of Rochester | Multiplier-based processor-in-memory architectures for image and graphics processing |
JP2003331598A (ja) | 2002-05-13 | 2003-11-21 | Mitsubishi Electric Corp | 半導体記憶装置 |
US7406494B2 (en) | 2002-05-14 | 2008-07-29 | Texas Instruments Incorporated | Method of generating a cycle-efficient bit-reverse index array for a wireless communication system |
JP2003346484A (ja) | 2002-05-23 | 2003-12-05 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
US6789099B2 (en) | 2002-06-10 | 2004-09-07 | International Business Machines Corporation | Sense-amp based adder with source follower evaluation tree |
US6778435B1 (en) * | 2002-06-12 | 2004-08-17 | T-Ram, Inc. | Memory architecture for TCCT-based memory cells |
US7054178B1 (en) | 2002-09-06 | 2006-05-30 | Etron Technology, Inc. | Datapath architecture for high area efficiency |
US6987693B2 (en) | 2002-09-24 | 2006-01-17 | Sandisk Corporation | Non-volatile memory and method with reduced neighboring field errors |
US7079407B1 (en) | 2002-10-18 | 2006-07-18 | Netlogic Microsystems, Inc. | Content addressable memory (CAM) device including match line sensing |
US6765834B2 (en) | 2002-11-19 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | System and method for sensing memory cells of an array of memory cells |
KR100546307B1 (ko) | 2002-12-05 | 2006-01-26 | 삼성전자주식회사 | 글로벌 입출력라인을 프리차지 및/또는 이퀄라이징하기위한 프리차지 회로를 구비하는 반도체 장치 및프리차지 및/또는 이퀄라이즈하는 트랜지스터의 레이아웃 |
US6731542B1 (en) | 2002-12-05 | 2004-05-04 | Advanced Micro Devices, Inc. | Circuit for accurate memory read operations |
US6888372B1 (en) | 2002-12-20 | 2005-05-03 | Altera Corporation | Programmable logic device with soft multiplier |
US20050015557A1 (en) | 2002-12-27 | 2005-01-20 | Chih-Hung Wang | Nonvolatile memory unit with specific cache |
US7346903B2 (en) | 2003-02-04 | 2008-03-18 | Sun Microsystems, Inc. | Compiling and linking modules of a cycle-based logic design |
US6768679B1 (en) | 2003-02-10 | 2004-07-27 | Advanced Micro Devices, Inc. | Selection circuit for accurate memory read operations |
US6819612B1 (en) | 2003-03-13 | 2004-11-16 | Advanced Micro Devices, Inc. | Apparatus and method for a sense amplifier circuit that samples and holds a reference voltage |
US6865122B2 (en) | 2003-04-11 | 2005-03-08 | Intel Corporation | Reclaiming blocks in a block-alterable memory |
US7454451B2 (en) | 2003-04-23 | 2008-11-18 | Micron Technology, Inc. | Method for finding local extrema of a set of values for a parallel processing element |
US7574466B2 (en) | 2003-04-23 | 2009-08-11 | Micron Technology, Inc. | Method for finding global extrema of a set of shorts distributed across an array of parallel processing elements |
US7447720B2 (en) | 2003-04-23 | 2008-11-04 | Micron Technology, Inc. | Method for finding global extrema of a set of bytes distributed across an array of parallel processing elements |
US9015390B2 (en) | 2003-04-25 | 2015-04-21 | Micron Technology, Inc. | Active memory data compression system and method |
DE10319271A1 (de) | 2003-04-29 | 2004-11-25 | Infineon Technologies Ag | Speicher-Schaltungsanordnung und Verfahren zur Herstellung |
JP3898152B2 (ja) | 2003-05-27 | 2007-03-28 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
WO2005024843A1 (en) | 2003-09-04 | 2005-03-17 | Koninklijke Philips Electronics N.V. | Integrated circuit and a method of cache remapping |
US6956770B2 (en) | 2003-09-17 | 2005-10-18 | Sandisk Corporation | Non-volatile memory and method with bit line compensation dependent on neighboring operating modes |
US7177183B2 (en) | 2003-09-30 | 2007-02-13 | Sandisk 3D Llc | Multiple twin cell non-volatile memory array and logic block structure and method therefor |
US7913125B2 (en) | 2003-11-04 | 2011-03-22 | Lsi Corporation | BISR mode to test the redundant elements and regular functional memory to avoid test escapes |
US6950771B1 (en) | 2003-12-09 | 2005-09-27 | Xilinx, Inc. | Correlation of electrical test data with physical defect data |
US7401281B2 (en) | 2004-01-29 | 2008-07-15 | International Business Machines Corporation | Remote BIST high speed test and redundancy calculation |
US7631236B2 (en) | 2004-01-29 | 2009-12-08 | International Business Machines Corporation | Hybrid built-in self test (BIST) architecture for embedded memory arrays and an associated method |
JP4819316B2 (ja) | 2004-02-23 | 2011-11-24 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US7088606B2 (en) | 2004-03-10 | 2006-08-08 | Altera Corporation | Dynamic RAM storage techniques |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
US7120063B1 (en) | 2004-05-07 | 2006-10-10 | Spansion Llc | Flash memory cell and methods for programming and erasing |
US8522205B2 (en) | 2004-05-18 | 2013-08-27 | Oracle International Corporation | Packaging multiple groups of read-only files of an application's components into multiple shared libraries |
JP2006127460A (ja) | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
US7061817B2 (en) | 2004-06-30 | 2006-06-13 | Micron Technology, Inc. | Data path having grounded precharge operation and test compression capability |
US7116602B2 (en) | 2004-07-15 | 2006-10-03 | Micron Technology, Inc. | Method and system for controlling refresh to avoid memory cell data losses |
US20060026432A1 (en) * | 2004-07-30 | 2006-02-02 | Weirauch Charles R | Drive tracking system for removable media |
US7434024B2 (en) | 2004-08-30 | 2008-10-07 | Ati Technologies, Inc. | SIMD processor with register addressing, buffer stall and methods |
US20060069849A1 (en) | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a memory |
US7685365B2 (en) | 2004-09-30 | 2010-03-23 | Intel Corporation | Transactional memory execution utilizing virtual memory |
US20060149804A1 (en) | 2004-11-30 | 2006-07-06 | International Business Machines Corporation | Multiply-sum dot product instruction with mask and splat |
US7230851B2 (en) | 2004-12-23 | 2007-06-12 | Sandisk Corporation | Reducing floating gate to floating gate coupling effect |
KR100673901B1 (ko) | 2005-01-28 | 2007-01-25 | 주식회사 하이닉스반도체 | 저전압용 반도체 메모리 장치 |
US7543119B2 (en) | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
US7209405B2 (en) * | 2005-02-23 | 2007-04-24 | Micron Technology, Inc. | Memory device and method having multiple internal data buses and memory bank interleaving |
US7624313B2 (en) | 2005-03-28 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | TCAM BIST with redundancy |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
KR100720644B1 (ko) | 2005-11-17 | 2007-05-21 | 삼성전자주식회사 | 메모리 장치 및 메모리 그 동작 방법 |
WO2007069295A1 (ja) | 2005-12-13 | 2007-06-21 | Spansion Llc | 半導体装置およびその制御方法 |
JP5129450B2 (ja) | 2006-01-16 | 2013-01-30 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
US8077533B2 (en) | 2006-01-23 | 2011-12-13 | Freescale Semiconductor, Inc. | Memory and method for sensing data in a memory using complementary sensing scheme |
JP4989900B2 (ja) | 2006-01-31 | 2012-08-01 | ルネサスエレクトロニクス株式会社 | 並列演算処理装置 |
US7400532B2 (en) | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
KR100755370B1 (ko) | 2006-04-17 | 2007-09-04 | 삼성전자주식회사 | 반도체 메모리 장치 |
TW200828333A (en) | 2006-04-28 | 2008-07-01 | Samsung Electronics Co Ltd | Sense amplifier circuit and sense amplifier-based flip-flop having the same |
US7752417B2 (en) | 2006-06-05 | 2010-07-06 | Oracle America, Inc. | Dynamic selection of memory virtualization techniques |
US7372715B2 (en) | 2006-06-14 | 2008-05-13 | Micron Technology, Inc. | Architecture and method for NAND flash memory |
US8395414B2 (en) * | 2006-06-21 | 2013-03-12 | Element Cxi, Llc | Hierarchically-scalable reconfigurable integrated circuit architecture with unit delay modules |
US8407429B2 (en) * | 2006-06-21 | 2013-03-26 | Element Cxi, Llc | Multi-context configurable memory controller |
US8390325B2 (en) * | 2006-06-21 | 2013-03-05 | Element Cxi, Llc | Reconfigurable integrated circuit architecture with on-chip configuration and reconfiguration |
US8069377B2 (en) | 2006-06-26 | 2011-11-29 | Micron Technology, Inc. | Integrated circuit having memory array including ECC and column redundancy and method of operating the same |
US7724559B2 (en) | 2006-07-14 | 2010-05-25 | International Business Machines Corporation | Self-referenced match-line sense amplifier for content addressable memories |
US7885119B2 (en) | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
US7443729B2 (en) | 2006-07-20 | 2008-10-28 | Sandisk Corporation | System that compensates for coupling based on sensing a neighbor using coupling |
US7692466B2 (en) | 2006-08-18 | 2010-04-06 | Ati Technologies Ulc | Sense amplifier based flip-flop |
US7805587B1 (en) | 2006-11-01 | 2010-09-28 | Nvidia Corporation | Memory addressing controlled by PTE fields |
US8151082B2 (en) | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
US7471536B2 (en) | 2006-12-08 | 2008-12-30 | Texas Instruments Incorporated | Match mismatch emulation scheme for an addressed location in a CAM |
US7668040B2 (en) * | 2006-12-22 | 2010-02-23 | Fujitsu Microelectronics Limited | Memory device, memory controller and memory system |
JP5018074B2 (ja) * | 2006-12-22 | 2012-09-05 | 富士通セミコンダクター株式会社 | メモリ装置,メモリコントローラ及びメモリシステム |
US7460387B2 (en) | 2007-01-05 | 2008-12-02 | International Business Machines Corporation | eDRAM hierarchical differential sense amp |
US8145869B2 (en) * | 2007-01-12 | 2012-03-27 | Broadbus Technologies, Inc. | Data access and multi-chip controller |
US7743303B2 (en) | 2007-01-22 | 2010-06-22 | Micron Technology, Inc. | Defective memory block remapping method and system, and memory device and processor-based system using same |
US7937535B2 (en) | 2007-02-22 | 2011-05-03 | Arm Limited | Managing cache coherency in a data processing apparatus |
US7804718B2 (en) | 2007-03-07 | 2010-09-28 | Mosaid Technologies Incorporated | Partial block erase architecture for flash memory |
US7492640B2 (en) | 2007-06-07 | 2009-02-17 | Sandisk Corporation | Sensing with bit-line lockout control in non-volatile memory |
JP2009009665A (ja) | 2007-06-29 | 2009-01-15 | Elpida Memory Inc | 半導体記憶装置 |
US7996749B2 (en) | 2007-07-03 | 2011-08-09 | Altera Corporation | Signal loss detector for high-speed serial interface of a programmable logic device |
US7489543B1 (en) | 2007-07-25 | 2009-02-10 | Micron Technology, Inc. | Programming multilevel cell memory arrays |
US7694195B2 (en) | 2007-08-14 | 2010-04-06 | Dell Products L.P. | System and method for using a memory mapping function to map memory defects |
US7869273B2 (en) | 2007-09-04 | 2011-01-11 | Sandisk Corporation | Reducing the impact of interference during programming |
US7787319B2 (en) | 2007-09-06 | 2010-08-31 | Innovative Silicon Isi Sa | Sense amplifier circuitry for integrated circuit having memory cell array, and method of operating same |
US8042082B2 (en) | 2007-09-12 | 2011-10-18 | Neal Solomon | Three dimensional memory in a system on a chip |
US7965564B2 (en) | 2007-09-18 | 2011-06-21 | Zikbit Ltd. | Processor arrays made of standard memory cells |
US7663928B2 (en) | 2007-10-09 | 2010-02-16 | Ememory Technology Inc. | Sense amplifier circuit having current mirror architecture |
WO2009052525A1 (en) | 2007-10-19 | 2009-04-23 | Virident Systems, Inc. | Managing memory systems containing components with asymmetric characteristics |
US8914612B2 (en) * | 2007-10-29 | 2014-12-16 | Conversant Intellectual Property Management Inc. | Data processing with time-based memory access |
US7924628B2 (en) | 2007-11-14 | 2011-04-12 | Spansion Israel Ltd | Operation of a non-volatile memory array |
US7979667B2 (en) | 2007-12-10 | 2011-07-12 | Spansion Llc | Memory array search engine |
US7755960B2 (en) | 2007-12-17 | 2010-07-13 | Stmicroelectronics Sa | Memory including a performance test circuit |
US8495438B2 (en) | 2007-12-28 | 2013-07-23 | Texas Instruments Incorporated | Technique for memory imprint reliability improvement |
US7808854B2 (en) | 2008-02-19 | 2010-10-05 | Kabushiki Kaisha Toshiba | Systems and methods for data transfers between memory cells |
JP5194302B2 (ja) | 2008-02-20 | 2013-05-08 | ルネサスエレクトロニクス株式会社 | 半導体信号処理装置 |
US20090254694A1 (en) | 2008-04-02 | 2009-10-08 | Zikbit Ltd. | Memory device with integrated parallel processing |
US8332580B2 (en) * | 2008-04-02 | 2012-12-11 | Zikbit Ltd. | System, method and apparatus for memory with embedded associative section for computations |
US7957206B2 (en) | 2008-04-04 | 2011-06-07 | Micron Technology, Inc. | Read circuitry for an integrated circuit having memory cells and/or a memory cell array, and method of operating same |
US8339824B2 (en) | 2008-07-02 | 2012-12-25 | Cooke Laurence H | Nearest neighbor serial content addressable memory |
US8555037B2 (en) | 2008-08-15 | 2013-10-08 | Apple Inc. | Processing vectors using wrapping minima and maxima instructions in the macroscalar architecture |
US8417921B2 (en) | 2008-08-15 | 2013-04-09 | Apple Inc. | Running-min and running-max instructions for processing vectors using a base value from a key element of an input vector |
US8259509B2 (en) | 2008-08-18 | 2012-09-04 | Elpida Memory, Inc. | Semiconductor memory device and method with auxiliary I/O line assist circuit and functionality |
ITRM20080543A1 (it) | 2008-10-09 | 2010-04-10 | Micron Technology Inc | Architettura e metodo per la programmazione di memorie. |
KR101596283B1 (ko) | 2008-12-19 | 2016-02-23 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
KR101622922B1 (ko) | 2009-03-06 | 2016-05-20 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
US8484276B2 (en) | 2009-03-18 | 2013-07-09 | International Business Machines Corporation | Processing array data on SIMD multi-core processor architectures |
US8243737B2 (en) * | 2009-03-23 | 2012-08-14 | Lsi Corporation | High speed packet FIFO input buffers for switch fabric with speedup and retransmit |
KR20100134235A (ko) | 2009-06-15 | 2010-12-23 | 삼성전자주식회사 | 반도체 메모리 장치 |
US7898864B2 (en) | 2009-06-24 | 2011-03-01 | Sandisk Corporation | Read operation for memory with compensation for coupling based on write-erase cycles |
US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
US8412987B2 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
US8059438B2 (en) | 2009-08-28 | 2011-11-15 | International Business Machines Corporation | Content addressable memory array programmed to perform logic operations |
US8077532B2 (en) | 2009-09-02 | 2011-12-13 | Micron Technology, Inc. | Small unit internal verify read in a memory device |
US8482975B2 (en) | 2009-09-14 | 2013-07-09 | Micron Technology, Inc. | Memory kink checking |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
US20120246380A1 (en) | 2009-10-21 | 2012-09-27 | Avidan Akerib | Neighborhood operations for parallel processing |
US8650232B2 (en) | 2009-10-26 | 2014-02-11 | Via Technologies, Inc. | System and method for determination of a horizontal minimum of digital values |
KR101634340B1 (ko) | 2009-11-03 | 2016-06-28 | 삼성전자주식회사 | 반도체 메모리 장치의 프로그램 방법 |
US8583896B2 (en) | 2009-11-13 | 2013-11-12 | Nec Laboratories America, Inc. | Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain |
KR20110054773A (ko) | 2009-11-18 | 2011-05-25 | 삼성전자주식회사 | 비트라인 디스털번스를 개선하는 반도체 메모리 장치 |
US8089815B2 (en) | 2009-11-24 | 2012-01-03 | Sandisk Technologies Inc. | Programming memory with bit line floating to reduce channel-to-floating gate coupling |
US8605015B2 (en) | 2009-12-23 | 2013-12-10 | Syndiant, Inc. | Spatial light modulator with masking-comparators |
JP2011146102A (ja) | 2010-01-15 | 2011-07-28 | Elpida Memory Inc | 半導体装置及びデータ処理システム |
CN102141905B (zh) | 2010-01-29 | 2015-02-25 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
US8164942B2 (en) | 2010-02-01 | 2012-04-24 | International Business Machines Corporation | High performance eDRAM sense amplifier |
US8533245B1 (en) | 2010-03-03 | 2013-09-10 | Altera Corporation | Multipliers with a reduced number of memory blocks |
US9317536B2 (en) | 2010-04-27 | 2016-04-19 | Cornell University | System and methods for mapping and searching objects in multidimensional space |
KR101119371B1 (ko) | 2010-04-29 | 2012-03-06 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 이의 동작 방법 |
US8559232B2 (en) | 2010-05-03 | 2013-10-15 | Aplus Flash Technology, Inc. | DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation |
US8351278B2 (en) | 2010-06-23 | 2013-01-08 | International Business Machines Corporation | Jam latch for latching memory array output data |
KR101143471B1 (ko) | 2010-07-02 | 2012-05-11 | 에스케이하이닉스 주식회사 | 센스앰프 및 이를 포함하는 반도체 장치 |
US20120017039A1 (en) | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
US8462532B1 (en) | 2010-08-31 | 2013-06-11 | Netlogic Microsystems, Inc. | Fast quaternary content addressable memory cell |
US8347154B2 (en) | 2010-09-21 | 2013-01-01 | International Business Machines Corporation | Use of hashing function to distinguish random and repeat errors in a memory system |
US8904115B2 (en) | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
US8850137B2 (en) * | 2010-10-11 | 2014-09-30 | Cisco Technology, Inc. | Memory subsystem for counter-based and other applications |
US8332367B2 (en) | 2010-10-20 | 2012-12-11 | International Business Machines Corporation | Parallel data redundancy removal |
KR101148352B1 (ko) | 2010-11-02 | 2012-05-21 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작 방법 |
JP5528987B2 (ja) | 2010-11-11 | 2014-06-25 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
US8553481B2 (en) | 2010-11-29 | 2013-10-08 | Apple Inc. | Sense amplifier latch with integrated test data multiplexer |
WO2012104674A1 (en) | 2011-01-31 | 2012-08-09 | Freescale Semiconductor, Inc. | Integrated circuit device and method for determining an index of an extreme value within an array of values |
KR20120088973A (ko) | 2011-02-01 | 2012-08-09 | 삼성전자주식회사 | 로컬 센스앰프 회로 및 이를 포함하는 반도체 메모리 장치 |
JP2012174016A (ja) | 2011-02-22 | 2012-09-10 | Renesas Electronics Corp | データ処理装置およびそのデータ処理方法 |
JP2012203919A (ja) * | 2011-03-23 | 2012-10-22 | Toshiba Corp | 半導体記憶装置およびその制御方法 |
JP5259765B2 (ja) | 2011-03-29 | 2013-08-07 | 株式会社東芝 | 不揮発性半導体メモリ |
US8725730B2 (en) | 2011-05-23 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Responding to a query in a data processing system |
US8982649B2 (en) | 2011-08-12 | 2015-03-17 | Gsi Technology, Inc. | Systems and methods involving multi-bank, dual- or multi-pipe SRAMs |
US8706958B2 (en) | 2011-09-01 | 2014-04-22 | Thomas Hein | Data mask encoding in data bit inversion scheme |
US20140247673A1 (en) | 2011-10-28 | 2014-09-04 | Naveen Muralimanohar | Row shifting shiftable memory |
US8891297B2 (en) | 2011-11-01 | 2014-11-18 | Micron Technology, Inc. | Memory cell sensing |
KR101321481B1 (ko) | 2011-11-04 | 2013-10-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 위한 테스트 회로 |
US9830158B2 (en) | 2011-11-04 | 2017-11-28 | Nvidia Corporation | Speculative execution and rollback |
KR20130052971A (ko) | 2011-11-14 | 2013-05-23 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
GB2511957B (en) | 2011-11-22 | 2015-02-11 | Mips Tech Inc | Processor with kernel mode access to user space virtual addresses |
CN103959237B (zh) | 2011-11-30 | 2016-09-28 | 英特尔公司 | 用于提供向量横向比较功能的指令和逻辑 |
KR20130072869A (ko) | 2011-12-22 | 2013-07-02 | 에스케이하이닉스 주식회사 | 프리차지 회로 및 비휘발성 메모리 장치 |
CN104011657B (zh) | 2011-12-22 | 2016-10-12 | 英特尔公司 | 用于向量计算和累计的装置和方法 |
US20130286705A1 (en) | 2012-04-26 | 2013-10-31 | David B. Grover | Low power content addressable memory hitline precharge and sensing circuit |
US8938603B2 (en) | 2012-05-31 | 2015-01-20 | Samsung Electronics Co., Ltd. | Cache system optimized for cache miss detection |
US20130332707A1 (en) | 2012-06-07 | 2013-12-12 | Intel Corporation | Speed up big-number multiplication using single instruction multiple data (simd) architectures |
KR102062301B1 (ko) | 2013-01-03 | 2020-01-03 | 삼성전자주식회사 | 메모리 장치의 페이지 복사 방법 및 메모리 시스템의 페이지 관리 방법 |
US20140215185A1 (en) | 2013-01-29 | 2014-07-31 | Atmel Norway | Fetching instructions of a loop routine |
US9158667B2 (en) | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9171153B2 (en) | 2013-05-17 | 2015-10-27 | Hewlett-Packard Development Company, L.P. | Bloom filter with memory element |
US8964496B2 (en) | 2013-07-26 | 2015-02-24 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
US8971124B1 (en) | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
CN106462501B (zh) | 2014-05-08 | 2019-07-09 | 美光科技公司 | 基于混合存储器立方体系统互连目录的高速缓冲存储器一致性方法 |
CN106415522B (zh) | 2014-05-08 | 2020-07-21 | 美光科技公司 | 存储器内轻量一致性 |
CN107408405B (zh) * | 2015-02-06 | 2021-03-05 | 美光科技公司 | 用于并行写入到多个存储器装置位置的设备及方法 |
-
2016
- 2016-01-27 CN CN201680012339.0A patent/CN107408405B/zh active Active
- 2016-01-27 WO PCT/US2016/015029 patent/WO2016126474A1/en active Application Filing
- 2016-01-27 EP EP16746987.3A patent/EP3254286B1/en active Active
-
2017
- 2017-08-04 US US15/669,538 patent/US10496286B2/en active Active
-
2019
- 2019-06-06 US US16/433,803 patent/US10942652B2/en active Active
-
2021
- 2021-03-08 US US17/195,348 patent/US11681440B2/en active Active
-
2023
- 2023-06-19 US US18/211,356 patent/US20230333744A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20190286337A1 (en) | 2019-09-19 |
EP3254286A4 (en) | 2018-08-08 |
WO2016126474A1 (en) | 2016-08-11 |
US10942652B2 (en) | 2021-03-09 |
EP3254286A1 (en) | 2017-12-13 |
US11681440B2 (en) | 2023-06-20 |
US10496286B2 (en) | 2019-12-03 |
EP3254286B1 (en) | 2019-09-11 |
US20230333744A1 (en) | 2023-10-19 |
US20170336989A1 (en) | 2017-11-23 |
US20210191624A1 (en) | 2021-06-24 |
CN107408405A (zh) | 2017-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107408405B (zh) | 用于并行写入到多个存储器装置位置的设备及方法 | |
US11263123B2 (en) | Apparatuses and methods for memory device as a store for program instructions | |
US12050536B2 (en) | Apparatuses and methods for compute enabled cache | |
US11614877B2 (en) | Apparatuses and methods for data movement | |
US11755206B2 (en) | Bank to bank data transfer | |
US10482948B2 (en) | Apparatuses and methods for data movement | |
CN109003640B (zh) | 存储器中子阵列之间的数据传送 | |
CN112840401B (zh) | 用于存储器装置处理的设备、方法和系统 | |
US20240354254A1 (en) | Apparatuses and methods for compute enabled cache |
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 |