CN110326046B - 用于在数据路径中计算的设备及方法 - Google Patents

用于在数据路径中计算的设备及方法 Download PDF

Info

Publication number
CN110326046B
CN110326046B CN201880013333.4A CN201880013333A CN110326046B CN 110326046 B CN110326046 B CN 110326046B CN 201880013333 A CN201880013333 A CN 201880013333A CN 110326046 B CN110326046 B CN 110326046B
Authority
CN
China
Prior art keywords
shared
array
data
line
lines
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880013333.4A
Other languages
English (en)
Other versions
CN110326046A (zh
Inventor
G·E·胡申
R·C·墨菲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN110326046A publication Critical patent/CN110326046A/zh
Application granted granted Critical
Publication of CN110326046B publication Critical patent/CN110326046B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

本发明包含用于在数据路径中计算的设备及方法。实例设备包含存储器单元阵列。感测电路耦合到所述存储器单元阵列。共享输入/输出I/O线提供与所述阵列相关联的数据路径。所述共享I/O线将所述感测电路耦合到所述共享I/O线的所述数据路径中的计算组件。

Description

用于在数据路径中计算的设备及方法
技术领域
本发明大体上涉及半导体存储器及方法,且更特定来说,涉及用于在数据路径中计算的设备及方法。
背景技术
存储器装置通常提供为计算机或其它电子系统中的内部半导体集成电路。存在数个不同类型的存储器,包含易失性存储器及非易失性存储器。易失性存储器可需要电力来维持其数据(例如,主机数据、错误数据等),且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)与晶闸管随机存取存储器(TRAM)等。非易失性存储器可在未供电时通过留存存储数据而提供永久性数据,且可包含NAND快闪存储器、NOR快闪存储器及电阻可变存储器(例如相变随机存取存储器(PCRAM))、电阻性随机存取存储器(RRAM)及磁阻性随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STT RAM)等。
电子系统通常包含数个处理资源(例如,一或多个处理器),所述处理资源可检索及执行指令且将所述经执行指令的结果存储到合适位置。处理器可包括数个功能单元(例如算术逻辑单元(ALU)电路、浮点单元(FPU)电路及组合逻辑块),例如,所述功能单元可用于通过对数据(例如,一或多个操作数)执行运算而执行指令。如本文中所使用,运算可为(例如)布尔(Boolean)运算(例如AND、OR、NOT、NAND、NOR及XOR),及/或其它运算(例如,反相、移位、算术、统计以及许多其它可能运算)。例如,功能单元电路可用于经由数个运算对操作数执行算术运算,例如加法、减法、乘法及除法。
在提供指令到功能单元电路以供执行时可涉及电子系统中的数个组件。可(例如)通过处理资源(例如控制器及/或主机处理器)执行所述指令。可将数据(例如,将对其执行指令的操作数)存储于可由功能单元电路存取的存储器阵列中。可从所述存储器阵列检索指令及/或数据,且可在功能单元电路开始对所述数据执行指令之前序列化及/或缓冲所述指令及/或数据。此外,由于可通过功能单元电路以一或多个时钟循环执行不同类型的运算,所以还可序列化及/或缓冲所述指令及/或数据的中间结果。在一或多个时钟循环中完成运算的序列可被称为运算循环。在计算设备及/或系统的处理及计算性能及电力消耗方面,完成运算循环所消耗的时间成本高。
在许多例子中,处理资源(例如,处理器及相关联功能单元电路)可在存储器阵列外部,且可经由所述处理资源与所述存储器阵列之间的总线存取数据以执行指令集。可改进其中可在存储器内部及/或附近(例如,直接在与存储器阵列相同的芯片上)实施处理及/或逻辑资源的存储器中处理(PIM)装置中的处理性能。存储器中处理(PIM)装置可通过减小及消除外部通信而节省时间且还可节约电力。
附图说明
图1A是根据本发明的数个实施例的呈包含存储器装置的电子系统的形式的设备的框图。
图1B是根据本发明的数个实施例的呈包含存储器装置(其具有在阵列的库区段本地的数据路径中的共享输入/输出(I/O)线)的电子系统的形式的设备的另一框图。
图2是说明根据本发明的数个实施例的存储器装置的感测电路的示意图,所述感测电路包含计算组件。
图3是说明根据本发明的数个实施例的用于阵列的数据路径中的多个共享I/O线的电路的示意图。
图4A是说明由在阵列本地的数据路径中的多个共享I/O线耦合到具有多个逻辑条的计算单元的所述阵列的多个区段的框图实例。
图4B是说明多个阵列的框图实例,所述多个阵列由在所述阵列本地的数据路径中的多个共享I/O线耦合到计算单元中的多个计算组件,其中所述计算组件具有等于共享I/O线的数据路径的间距的间距且所述间距是所述阵列的数字线的间距的倍数。
图5是说明根据本发明的数个实施例的存储器装置的控制器的实例的框图。
图6是说明存储器装置的控制器的另一实例的框图,所述控制器使用在阵列本地的数据路径中的共享I/O线控制数据值到具有多个逻辑条的计算单元的移动。
图7是说明根据本发明的数个实施例的存储器装置的感测电路的示意图。
图8是说明根据本发明的数个实施例的由图3中所展示的感测电路实施的可选择逻辑运算结果的逻辑表。
具体实施方式
本发明包含用于在数据路径中计算的设备及方法。在至少一个实施例中,设备包含存储器装置,所述存储器装置具有存储器单元阵列及耦合到所述存储器单元阵列的感测电路。在一些实施例中,所述存储器装置可为存储器中处理(PIM)装置且所述感测电路可包含感测放大器及计算组件(例如,耦合到存储器单元的每一列)。
共享输入/输出(I/O)线用作与阵列相关联的数据路径。所述共享I/O线将感测电路耦合到所述共享I/O线的所述数据路径中的计算组件。与所述共享I/O线的所述数据路径相关联的计算组件具有等于所述数据路径的间距的间距且所述间距依据存储器单元阵列的数字线的间距而变化。例如,计算组件具有一间距,其是存储器单元阵列的数字线的间距的整数倍。如本文中所使用,“共享I/O线”意在表示在数据路径中的阵列本地的I/O线,所述数据路径具有依据存储器单元阵列的间距而变化的间距。所述共享I/O可定位于存储器阵列的库上且可经多路复用到所述阵列的多个列(例如,动态随机存取存储器(DRAM)阵列的互补数字线)。所述共享I/O不同且相异于与阵列相关联的I/O电路,其希望根据阵列协议(例如DDR4)往返于阵列移动数据及/或运用主机将数据移到及移出存储器装置。
在一些实施例中,计算组件是在与阵列本地的数据路径的共享I/O线相关联的逻辑条中。阵列可具有用于在所述阵列本地的数据路径的多个共享I/O线且所述逻辑条可具有多个计算组件。所述多个计算组件中的每一者与阵列本地的数据路径的多个共享I/O线中的至少一者相关联。在一些实施例中,所述多个计算组件中的每一个计算组件是与阵列本地的数据路径的多个共享I/O线中的一者相关联。
在一些实施例中,多个计算组件中的每一者可移位到阵列本地的数据路径的多个共享I/O线中的另一者。在一些实施例中,阵列是动态随机存取存储器(DRAM)阵列且感测电路包含感测放大器及计算组件。
存储器装置包含控制器且可进一步包含可选择地耦合到存储器单元行且经配置以存储(例如,高速缓冲存储)从感测电路移动的数据值的锁存器。存储器装置包含控制器,所述控制器经配置以引导数据值从阵列中的存储器单元列移动到与所述阵列本地的数据路径的多个共享I/O线中的一者相关联的计算组件。
如下文更详细描述,实施例可允许主机系统分配一或多个DRAM库中的数个位置(例如,阵列、子阵列及/或子阵列的部分)以保持(例如,存储)及/或处理数据。主机系统及控制器可对整个块的程序指令(例如,PIM命令指令)及数据执行地址解析且引导(例如,控制)数据及命令分配、存储及/或移动(例如,流动)到目的地(例如,目标)库内的经分配位置(例如,子阵列及子阵列的部分)中。写入数据及/或执行命令(例如,执行运算,如本文中所描述)可利用DRAM装置的正常DRAM写入路径。如读者将了解,虽然关于本文中所提呈的实例论述DRAM型PIM装置,但实施例并不限于PIM DRAM实施方案。
本文中所描述的存储器装置可使用针对子阵列的库的数个控制器、针对个别子阵列的控制器及/或针对锁存器组件的控制器(例如,每一控制器为序列发生器、状态机、微控制器、子处理器、ALU电路或某一其它类型的控制器)来执行指令集以对数据(例如,一或多个操作数)执行运算。如本文中所使用,运算可为(例如)布尔逻辑运算(例如AND、OR、NOT、NAND、NOR及XOR),及/或其它运算(例如,反相、移位、算术、统计以及许多其它可能运算)。例如,功能单元电路可用于经由数个逻辑运算对操作数执行算术运算,例如加法、减法、乘法及除法。
本发明描述实现对存储于存储器单元中的数据值(例如,在移动到计算组件时,如本文中所描述)执行运算(例如,PIM运算,例如AND、OR、刷新、行复制、移位、加法、乘法等),基本上同时对来自相同库、所述相同库中的相同子阵列及/或所述相同子阵列中的相同行(例如,在DRAM阵列中,以及其它类型的存储器阵列中)的数据值执行(例如)读取及/或写入操作。例如,可对存储于子阵列的存储器单元的行中的数据值执行所述运算,基本上同时由控制器及/或主机对相同数据执行读取及/或写入操作,如本文中所描述。
因此,当一行经激活以在阵列中经感测时,存储于所述行的存储器单元中的数据值(例如,整个行的数据值)可移动(例如,复制、传送及/或输送)到与所述阵列相关联的数据路径中的多个计算组件(例如,其各自形成计算单元中的逻辑条的至少一部分)。多个共享输入/输出(I/O)线将所述数据值耦合到所述阵列本地的所述数据路径中的所述多个计算组件。与所述共享I/O线的所述数据路径相关联的所述多个计算组件具有依据存储器单元阵列的数字线的间距而变化的间距。在本文中所描述的一些实施例中,计算单元中的逻辑条的多个计算组件可与阵列的库中的每一库区段相关联。与共享I/O相关联的计算组件可经配置以耦合(例如,直接或间接连接,如本文中所描述)到阵列本地的共享I/O的数据路径,且可进一步耦合到连接到远离存储器装置的主机的数据总线及/或耦合到将存储器装置上的阵列的库连接到阵列的另一库的数据总线。
在一个实例中,本发明在一些实施例中描述在感测一行时,所述行中的数据值(例如,来自所述行中的所有16,384个存储器单元的数据值)可经移动以存储(例如,高速缓冲存储)于锁存器组件(例如,感测放大器)中以进一步在共享I/O线上移动到阵列本地的共享I/O的数据路径中的计算单元中的逻辑条。在一个实例中,两千个数据值(2K)可由八路多路复用器通过两千个(2K)共享I/O线从1万6千列(例如,数字线对)的锁存器多路复用到计算单元的逻辑条中的两千个(2K)计算组件(例如,2K个位)。在另一实例中,一千个数据值(1K)可由十六路多路复用器通过一千条(1K)共享I/O线从1万6千列(例如,数字线对)的锁存器多路复用到计算单元的逻辑条中的一千个(1K)计算组件(例如,1K个位)。因而,从其移动数据值的库、子阵列及/或行中的存储器单元可用于(例如,通过使原始数据值移动到阵列本地的共享I/O的数据路径中的计算单元中的逻辑条而)对存储于其中的其它数据值执行运算。
如本文中所使用,数据移动是包含性术语,其包含(例如)将数据值从源位置复制、传送及/或输送到目的地位置。例如,数据可从子阵列的锁存器(例如,感测放大器)移动到阵列本地的共享I/O线的数据路径中的逻辑条中的计算组件。复制数据值可指示存储(高速缓冲存储)于锁存器中的数据值经复制及移动到阵列本地的共享I/O线的数据路径中的逻辑条中的计算组件且存储于子阵列的行中的原始数据值可保持不变。传送数据值可指示存储(高速缓冲存储)于锁存器中的数据值经复制及移动到阵列本地的共享I/O线的数据路径中的逻辑条中的计算组件且存储于子阵列的行中的原始数据值中的至少一者可改变(例如,通过经擦除及/或通过后续写入操作,如本文中所描述)。输送数据值可用于指示通过其使经复制及/或经传送的数据值移动(例如,通过将数据值从源位置放置于共享I/O线上且输送到目的地位置)的过程。
PIM DRAM架构的实施方案可在感测放大器及计算组件层级处(例如,在逻辑条中)执行处理。PIM DRAM架构的实施方案可允许仅有限数目个存储器单元(例如,大约1K或1024个存储器单元,如上文一个实例中给出)连接到阵列本地的共享I/O线的数据路径中的逻辑条中的每一计算组件。阵列可包含从大约8K到大约16K列(数字线对)及相关联感测放大器。阵列的库可划分成四(4)个象限且每一象限可具有多个子阵列,例如,三十二(32)个子阵列。每一子阵列可具有多个行(例如,512行)且耦合到大约16K列。然而,实施例并不限于此说明性实例。
在一些实施例中,作为计算单元的部分的多个逻辑条可与每一象限相关联。例如,在阵列本地的共享I/O线的数据路径中的计算单元中的每一逻辑条可与库的每一象限中的子阵列相关联。因此,在以上实例中,在阵列本地的共享I/O线的数据路径中的计算单元可具有128个逻辑条(4个象限,一个逻辑条针对每象限32个子阵列中的每一者)。然而,实施例并不限于此说明性实例。在一些实施例中,存储器(例如,DRAM阵列中的存储器单元的)的库可包含DRAM的64K行×16K列以提供大约千兆位的存储器。
本发明描述在阵列本地的共享I/O线的数据路径中的计算组件,其包含用作感测放大器以存储(高速缓冲存储)从与所述阵列相关联的感测电路移动(例如,复制、传送及/或输送)的数据值的多个锁存器。计算组件可在阵列本地的多个共享I/O线的数据路径中的计算单元中的多个逻辑条中使得所述多个逻辑条各自包含总数目个计算组件的子集。计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N(例如,如结合图1B展示及描述)具有等于在阵列的库121-1本地的多个共享I/O线155的数据路径的间距的间距。根据实施例,所述多个共享I/O线155的数据路径的间距依据存储器单元阵列的数字线的间距而变化。计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N可通过感测电路150及/或额外锁存器170(图1A中所展示)耦合到多个共享I/O线155的数据路径。
因而,所述架构可促进存储于阵列的一行中的数据值移动(例如,复制、传送及/或输送)到阵列本地的多个共享I/O线的数据路径中的计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N。具有感测放大器的感测电路150(且其在一些实施例中还可包含如图2中所展示的计算组件)可将来自阵列中的存储器单元的经多路复用列的存储器单元耦合到所述阵列本地的多个共享I/O线155的数据路径中的计算单元中的计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N。以此方式,计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N可经由选择逻辑(结合图3到7所论述)通过多个共享I/O线155间接耦合到一列的存储器单元。
本文中所描述的存储器阵列架构可提供除刚描述的益处以外的数个益处。可通过(例如)与执行其它运算(例如,执行DDR4 I/O运算)并行地实现对存储于存储器单元中的数据执行的PIM运算而增大整体处理速度。例如,可在阵列本地的共享I/O线155的数据路径中的具有多个计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N的计算单元中执行PIM运算。通过实例且非限制地,一旦将数据值从阵列的行加载到所述计算单元中的多个计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N,便可在所述计算单元中以2纳秒(ns)的速度(相较于触发阵列中的行所需的60纳秒(ns)的实例时间)控制计算操作而无需将所述数据值移动回到所述行中。以此方式,计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N提供经移动数据值的存储以执行特定函数(例如,AND、OR、NOR、XOR、加法、减法、乘法、除法等),同时可将一行的原始数据值保存回到一行,保存于别处及/或重写。如结合图5及6更多论述,可通过库的控制器引导在阵列本地的多个共享I/O线的数据路径中的计算单元中的计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N的操作。
在本发明的以下详细描述中,参考形成本发明的一部分的附图式,且在附图中通过说明展示可如何实践本发明的一或多个实施例。这些实施例经足够详细描述以使所属领域的一般技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在不脱离本发明的范围的情况下作出过程、电及结构改变。
如本文中所使用,指定符例如“X”、“Y”、“N”、“M”等(尤其关于图式中的元件符号)指示可包含如此指定的数个特定特征。还应理解,本文中所使用的术语仅出于描述特定实施例的目的,且并不希望具限制性。如本文中所使用,除非上下文另有明确规定,否则单数形式“一”、“一个”及“所述”可包含单数及多个参考物两者。此外,“数个”、“至少一个”及“一或多个”(例如,数个存储器阵列)可指代一或多个存储器阵列,而“多个”意指一个以上此类事物。此外,贯穿此申请案在允许意义上(即,有可能、能够)而非在强制意义上(即,必须)使用字词“可(can及may)。术语“包含”及其衍生词意味着“包含(但不限于)”。术语“耦合(coupled/coupling)”意味着直接或间接物理连接或用于命令及/或数据的存取及移动(传输),视上下文情况而定。术语“数据”及“数据值”在本文中可互换使用且可具有相同含义,视上下文情况而定。
如本文中所描述,多个共享I/O线155可经由耦合到每一阵列的选择逻辑而由多个子阵列、库区段、象限、行及/或存储器单元的特定列可选择地共享。例如,包含感测放大器及用于数个列的可选择子集(例如,总数目个列的八(8)个、十六(16)个等列子集)中的每一者的选择逻辑的感测电路150及/或额外锁存器170可选择地耦合到多个共享I/O线155中的每一者以使数据值移动到所述多个共享I/O线的数据路径中的计算单元中的多个计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N。在一些实施例中,可选择地耦合到多个共享I/O线155中的每一者的多个计算组件131-1、…、131-M可对应于可选择地耦合到所述多个共享I/O线的列数(例如,2K、1K等)。因为单数形式“一”、“一个”及“所述”在本文中可包含单数及多个参考物两者,所以除非上下文另有明确规定,否则“共享I/O线”可用于指代“一对互补共享I/O线”。此外,“共享I/O线”是“多个共享I/O线”的缩写。
本文中的图遵循编号惯例,其中首位数字或前几位数字对应于图号且剩余数字识别图中的元件或组件。可通过使用类似数字识别不同图之间的类似元件或组件。例如,108可指代图1A中的元件“08”,且类似元件可在图2中指代为208。如将了解,可添加、交换及/或消除本文中的各种实施例中所展示的元件,以便提供本发明的数个额外实施例。此外,图中所提供的元件的比例及/或相对标度希望说明本发明的某些实施例,且不应被视作限制意义。
图1A是根据本发明的数个实施例的呈包含存储器装置120(其包含存储器阵列130)的计算系统100的形式的设备的框图。如本文中所使用,存储器装置120、控制器140、存储器阵列130、感测电路150及/或数个额外锁存器170还可被单独视作“设备”。
如本文中所使用,额外锁存器意在表示感测、耦合及/或移动(例如,读取、存储、高速缓冲存储)阵列中的存储器单元的数据值且相异于图1B、3到4及6到7中所展示的多个共享I/O线155的数据路径中的计算单元中的多个计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N的额外功能性(例如,放大器、选择逻辑)。如图1B中所展示,在阵列本地的多个共享输入/输出(I/O)线155的数据路径中的逻辑条124-1、…、124-N可与库121-1中的存储器单元的各种库区段123-1、…、123-N相关联。库121-1可为存储器装置120上的多个库中的一者。
图1A中的系统100包含耦合(例如,连接)到存储器装置120的主机110。主机110可为主机系统,例如个人膝上型计算机、桌上型计算机、数码相机、智能电话或存储器卡读取器以及各种其它类型的主机。主机110可包含系统主板及/或底板,且可包含数个处理资源(例如,一或多个处理器、微处理器或某一其它类型的控制电路)。系统100可包含单独集成电路,或主机110及存储器装置120两者可在相同集成电路上。系统100可为(例如)服务器系统及/或高性能计算(HPC)系统及/或其一部分。尽管图1A中所展示的实例说明具有冯·诺伊曼(Von Neumann)架构的系统,但本发明的实施例也可实施于非冯·诺伊曼架构中,其可不包含通常与冯·诺伊曼架构相关联的一或多个组件(例如,CPU、ALU等)。
为清楚起见,系统100已经简化以集中于与本发明特定相关的特征。存储器阵列130可为DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪阵列及/或NOR快闪阵列以及其它类型的阵列。阵列130可包含布置成通过存取线(其在本文中可称为字线或选择线)耦合的行及通过感测线(其在本文中可称为数据线或数字线)耦合的列的存储器单元。尽管图1A中展示单个阵列130,但实施例并不受限于此。例如,存储器装置120可包含数个阵列130(例如,DRAM单元、NAND快闪单元的数个库等)。
存储器装置120可包含地址电路142以锁存通过I/O电路144经由数据总线156(例如,连接到主机110的I/O总线)提供的地址信号(例如,经由本地I/O线及全局I/O线提供到外部ALU电路及/或DRAM DQ)。如本文中所使用,DRAM DQ可能够经由总线(例如,数据总线156)将数据输入到库及/或从库输出数据(例如,从控制器140及/或主机110输出数据及/或将数据输入到控制器140及/或主机110)。在写入操作期间,可将电压(高=1、低=0)施加到DQ(例如,引脚)。此电压可转变成适当信号且存储于所选择的存储器单元中。在读取操作期间,一旦完成存取,从所选择的存储器单元读取的数据值便可出现于DQ处且(例如,通过输出启用信号为低)启用输出。在其它时间,DQ可处于高阻抗状态中,使得DQ未流出或汲入电流且未向系统呈现信号。当两个或两个以上装置(例如,库)共享经组合数据总线时,此还可减少DQ争用,如本文中所描述。此类DQ是单独的且相异于在阵列130本地的数据路径中的多个共享I/O线155(在图1B中)。
状态及异常信息可(例如)通过带外(OOB)总线157(例如,高速接口(HSI))从存储器装置120的控制器140提供到通道控制器143,又可从所述通道控制器143提供到主机110。所述通道控制器143可包含逻辑组件以将多个位置(例如,针对子阵列的控制器)分配于相应库的阵列中以存储与多个存储器装置120中的每一者的操作相关联的各种库的库命令、应用程序指令(例如,针对操作序列)及自变量(PIM命令)。通道控制器143可将命令(例如,PIM命令)分派给多个存储器装置120以将所述程序指令存储于存储器装置120的给定库121(图1B)内。
通过地址电路142接收地址信号且通过行解码器146及列解码器152解码所述地址信号以存取存储器阵列130。可通过使用感测电路150的如本文中所描述的数个感测放大器感测在感测线(数字线)上的电压及/或电流变化而从存储器阵列130感测(读取)数据。感测放大器可从存储器阵列130读取及锁存一页(例如,一行)数据。如本文中所描述,额外计算电路可耦合到感测电路150且可结合感测放大器一起用于感测、存储(例如,高速缓冲存储及/或缓冲)、执行计算功能(例如,运算)及/或移动数据。可使用I/O电路144以经由数据总线156(例如,64位宽数据总线)与主机110进行双向数据通信。可使用写入电路148以将数据写入到存储器阵列130。
控制器140(例如,图5中所展示的库控制逻辑、序列发生器及时序电路)可解码通过控制总线154从主机110提供的信号(例如,命令)。这些信号可包含芯片启用信号、写入启用信号及/或地址锁存信号,所述信号可用于控制对存储器阵列130执行的操作,包含数据感测、数据存储、数据移动(例如,复制、传送及/或输送数据值)、数据写入及/或数据擦除操作以及其它操作。在各种实施例中,控制器140可负责执行来自主机110的指令且存取存储器阵列130。控制器140可为状态机、序列发生器或某一其它类型的控制器。控制器140可控制使数据在阵列(例如,存储器阵列130)的行中移位(例如,向右或向左)及执行微代码指令以执行例如计算操作的运算,例如,AND、OR、NOR、XOR、加法、减法、乘法、除法等。
下文(例如,在图2及3中)进一步描述感测电路150的实例。例如,在一些实施例中,感测电路150可包含数个感测放大器及数个计算组件,其可用作累加器且可用于在每一子阵列中(例如,对与互补感测线相关联的数据)执行运算。
在一些实施例中,感测电路150可用于使用存储于存储器阵列130中的数据作为输入执行操作且参与将用于复制、传送、输送、写入、逻辑及/或存储操作的数据移动到存储器阵列130中的不同位置而不经由感测线地址存取传送数据(例如,未触发列解码信号)。因而,各种计算功能可使用感测电路150且在感测电路150内执行而非通过感测电路150外部的处理资源(例如,通过与主机110相关联的处理器及/或定位于装置120上(例如定位于控制器140上或别处)的其它处理电路,例如ALU电路)执行(或与由处理资源执行相关联)。然而,此外,根据本发明的实施例对从阵列的行移动到计算单元中的多个计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N的数据值执行计算功能。且作为实例,根据实施例,可在所述计算单元中以2纳秒(ns)的速度(相较于触发阵列中的行所需的60纳秒(ns)的实例时间)控制计算操作而无需将所述数据值移动回到所述行中。
在各种先前方法中,(例如)与操作数相关联的数据将经由感测电路从存储器读取且经由I/O线(例如,经由本地I/O线及/或全局I/O线)提供到外部ALU电路。外部ALU电路可包含数个寄存器且将使用操作数执行计算功能且结果将经由I/O电路144传送回到阵列。
相比之下,根据本发明的实施例在阵列本地的数据路径中的计算单元中对经由多个共享I/O线155从阵列的行移动到多个计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N的数据值执行计算功能。此外,感测电路150可经配置以对存储于存储器阵列130中的数据执行运算且在未启用耦合到感测电路150的I/O线(例如,本地I/O线)的情况下将结果存储回到存储器阵列130。然而,一旦经加载,便可在计算单元中更快(例如,以2纳秒(ns)的速度)(相较于触发阵列中的行所需的(例如)60纳秒(ns)的实例时间)地控制计算操作而无需将所述数据值移动回到行中。感测电路150可形成于与阵列的存储器单元的间距上。与多个共享I/O线155的数据路径相关联的多个计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N具有等于所述数据路径的间距的间距且所述间距依据存储器单元阵列的数字线的间距而变化。例如,计算组件具有所述存储器单元阵列的数字线的间距的整数倍的间距。
例如,本文中所描述的感测电路150可形成于与一对互补感测线(例如,数字线)相同的间距上。作为实例,一对互补存储器单元可具有拥有6F2间距(例如,3F x 2F)的单元大小,其中F是特征大小。如果所述互补存储器单元的一对互补感测线的间距是3F,那么感测电路在间距上指示所述感测电路(例如,每相应对的互补感测线感测放大器及对应计算组件)经形成以装配于所述互补感测线的3F间距内。同样地,与多个共享I/O线155的数据路径相关联的计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N具有依据所述互补感测线的3F间距而变化的间距。例如,计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N将具有存储器单元阵列的数字线的3F间距的整数倍的间距。
相比之下,各种先前系统的(若干)处理资源(例如,计算引擎,例如ALU)的电路可不符合与存储器阵列相关联的间距规则。例如,存储器阵列的存储器单元可具有4F2或6F2单元大小。因而,与先前系统的ALU电路相关联的装置(例如,逻辑门)可不能够形成于与存储器单元的间距上(例如,形成于与感测线相同的间距上),例如,此可影响芯片大小及/或存储器密度。在一些计算系统及子系统(例如,中央处理单元(CPU))的上下文中,可在并不处于与存储器(例如,阵列中的存储器单元)的间距上及/或具有存储器的芯片上的位置中处理数据,如本文中所描述。例如,可通过与主机相关联的处理资源(例如,而非在与存储器的间距上)处理数据。
因而,在数个实施例中,不需要在阵列130及感测电路150外部的电路来执行计算功能,因为感测电路150可在不使用外部处理资源的情况下执行适当操作以执行此类计算功能或可在阵列本地的多个共享I/O线的数据路径中执行此类操作。因此,感测电路150及/或多个共享I/O线155的数据路径中的计算单元中的多个计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N可用于至少在一定程度上补充或取代此外部处理资源(或此外部处理资源的至少带宽消耗)。在一些实施例中,感测电路150及/或多个共享I/O线155的数据路径中的计算单元中的多个计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N可用于执行除了通过外部处理资源(例如,主机110)执行的操作以外的操作(例如,执行指令)。例如,主机110及/或感测电路150可限于仅执行特定操作及/或特定数目个操作。
本文中所描述的操作可包含与具备存储器中处理(PIM)能力的装置相关联的操作。具备PIM能力的装置操作可使用基于位向量的操作。如本文中所使用,术语“位向量”希望意味着位向量存储器装置(例如,PIM装置)上的物理上连续存储于存储器单元阵列的一行中的物理上连续数目个位。因此,如本文中所使用,“位向量操作”希望意味着对位向量(其是(例如,通过PIM装置使用的)虚拟地址空间的连续部分)执行的操作。例如,所述PIM装置中的虚拟地址空间的一行可具有16K个位的位长度(例如,对应于DRAM配置中的16K对互补存储器单元)。如本文中所描述,用于此16K位行的感测电路150可包含形成于与可选择地耦合到所述16位行中的对应存储器单元的感测线的间距上的对应16K个处理元件(例如,计算组件,如本文中所描述)。PIM装置中的计算组件可作为单位处理元件(PE)而对通过感测电路150感测(例如,通过与计算组件成对的感测放大器感测及/或存储于所述感测放大器中,如本文中所描述)的存储器单元的行的位向量的单个位进行操作。类似地,多个共享I/O线155的数据路径中的计算单元中的多个计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N可作为单位处理元件(PE)而对存储于阵列中的存储器单元的行的位向量的单个位进行操作。
启用I/O线可包含启用(例如,接通、激活)具有耦合到解码信号(例如,列解码信号)的栅极及/或耦合到所述I/O线的源极/漏极的晶体管。然而,实施例并不限于不启用I/O线。例如,在数个实施例中,感测电路(例如,150)可用于在不启用阵列的列解码线的情况下执行操作。
然而,可启用多个共享I/O线155以便将数据值加载到所述多个共享I/O线155的数据路径中的计算单元中的多个计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N(其中可更快地控制计算操作)。例如,在所述计算单元中的所述多个计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N中,可以2纳秒(ns)的速度执行计算操作。此速度增强可归因于无需凭借用于触发阵列中的行的相关联时间(例如,60纳秒(ns))将数据值移动回到行中。
图1B是根据本发明的数个实施例的存储器装置的库121-1的框图。例如,库121-1可表示存储器装置120的实例库。如图1B中所展示,库121-1可包含多个主存储器列(水平展示为X)(例如,在实例DRAM库中的16,384列)。此外,库121-1可划分成库区段(例如,32个子阵列的象限)123-1、123-2、…、123-N。每一库区段可与多个共享I/O线155的数据路径中的计算单元中的逻辑条124-1、…、124-N中的多个计算组件131-1、…、131-M相关联。库区段123-1、…、123-N中的每一者可包含多个行(垂直展示为Y)(例如,每一区段可为实例DRAM库中的包含32个子阵列的象限,每一子阵列各自可包含512行)。实例实施例并不限于本文所描述的列及行的实例水平及/或垂直定向或所述列及行的实例数目。
如图1B中所展示,库121-1可划分成多个库区段123-1、…、123-N。每一库区段可具有在与其相关联的多个共享I/O线155的数据路径中的计算单元中的多个计算组件131-1、…、131-M及/或逻辑条124-1、…、124-N。库121-1可包含用以引导对加载到多个共享I/O线155的数据路径中的计算单元中的逻辑条124-1、…、124-N中的多个计算组件131-1、…、131-M的数据值的操作的控制器140。
图2是说明根据本发明的数个实施例的感测电路250的示意图。感测电路250可对应于图1A中所展示的感测电路150。
如图2的实例实施例中所展示,存储器单元可包含存储元件(例如,电容器)及存取装置(例如,晶体管)。例如,第一存储器单元可包含晶体管202-1及电容器203-1,且第二存储器单元可包含晶体管202-2及电容器203-2等。在此实施例中,存储器阵列230是1T1C(一个晶体管一个电容器)存储器单元的DRAM阵列,但可使用其它配置实施例(例如,每存储器单元具有两个晶体管及两个电容器的2T2C)。在数个实施例中,存储器单元可为破坏性读取存储器单元(例如,读取存储于单元中的数据损毁所述数据使得最初存储于单元中的数据在被读取之后刷新)。
存储器阵列230的单元可布置成通过存取(字)线204-X(行X)、204-Y(行Y)等耦合的行及通过互补感测线对(例如,图2中所展示的数字线DIGIT(D)及DIGIT(D)_)耦合的列。对应于每一对互补感测线的个别感测线还可分别被称为数字线205-1DIGIT(D)及205-2DIGIT(D)_或图3及4A到4B中的对应参考数字。尽管图2中展示仅一对互补数字线,但本发明的实施例并不受限于此,且存储器单元阵列可包含额外列的存储器单元及数字线(例如,4,096、8,192、16,384等)。
尽管行及列是说明为正交定向在平面中,但实施例并不受限于此。例如,行及列可相对于彼此以任何可行三维配置定向。例如,行及列可相对于彼此定向成任何角度,可定向于基本上水平平面中或基本上垂直平面中,及/或可定向成折叠拓扑以及其它可能三维配置。
存储器单元可耦合到不同数字线及字线。例如,晶体管202-1的第一源极/漏极区域可耦合到数字线205-1(D),晶体管202-1的第二源极/漏极区域可耦合到电容器203-1且晶体管202-1的栅极可耦合到字线204-Y。晶体管202-2的第一源极/漏极区域可耦合到数字线205-2(D)_,晶体管202-2的第二源极/漏极区域可耦合到电容器203-2且晶体管202-2的栅极可耦合到字线204-X。如图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之间;及交换栅极逻辑,其用于控制交换栅极以将经转置的互补数字线对耦合于感测放大器206与计算组件231之间。运算选择逻辑213还可耦合到互补数字线对205-1及205-2。运算选择逻辑213可经配置以基于所选择的操作控制传递门207-1及207-2的连续性。
可操作感测放大器206以确定存储于所选择的存储器单元中的数据值(例如,逻辑状态)。感测放大器206可包括交叉耦合锁存器(其在本文中可被称为主要锁存器)。在图2中所说明的实例中,对应于感测放大器206的电路包括锁存器215,锁存器215包含耦合到一对互补数字线D 205-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)_经驱使而降低的程度。因此,在短暂延迟之后,具有稍大电压的数字线205-1(D)或205-2(D)_通过源晶体管驱动到供应电压VCC的电压,且另一数字线205-1(D)或205-2(D)_通过汲入晶体管驱动到参考电压的电压(例如,接地)。因此,交叉耦合NMOS晶体管227-1及227-2及PMOS晶体管229-1及229-2用作感测放大器对,其放大数字线205-1(D)及205-2(D)_上的差分电压且操作以锁存从所选择的存储器单元感测的数据值。
实施例并不限于图2中所说明的感测放大器206配置。作为实例,感测放大器206可为电流模式感测放大器及单端感测放大器(例如,耦合到一个数字线的感测放大器)。而且,本发明的实施例并不限于折叠数字线架构(例如图2中所展示的架构)。
感测放大器206可连同计算组件231一起操作以使用来自阵列的数据作为输入而执行各种运算。在数个实施例中,可在不经由数字线地址存取传送数据的情况下(例如,在未触发列解码信号使得经由本地I/O线将数据传送到阵列及感测电路外部的电路的情况下)将运算的结果存储回到所述阵列。因而,本发明的数个实施例可能够使用少于各种先前方法的功率执行运算及与所述运算相关联的计算功能。此外,因为数个实施例无需跨本地及全局I/O线传送数据以便执行计算功能(例如,在存储器与离散处理器之间),所以相较于先前方法,数个实施例可实现增大(例如,更快)的处理能力。
感测放大器206可进一步包含平衡电路214,平衡电路214可经配置以使数字线205-1(D)及205-2(D)_平衡。在此实例中,平衡电路214包括耦合于数字线205-1(D)与205-2(D)_之间的晶体管224。平衡电路214还包括各自具有耦合到平衡电压(例如,VDD/2)的第一源极/漏极区域的晶体管225-1及225-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)_有效地短接在一起且短接到平衡电压(例如,VCC/2)。
尽管图2展示包括平衡电路214的感测放大器206,但实施例并不受限于此,且平衡电路214可与感测放大器206离散地实施,以与图2中所展示的配置不同的配置实施,或完全不实施。
如下文进一步描述,在数个实施例中,感测电路250(例如,感测放大器206及计算组件231)可经操作以执行所选择的运算且在不经由本地或全局I/O线传送来自感测电路的数据的情况下(例如,在不经由例如激活列解码信号执行感测线地址存取的情况下)首先将结果存储于感测放大器206或计算组件231中的一者中。
然而,进一步关于本文中所描述的实施例,具有感测放大器的感测电路150(且其在一些实施例中还可包含如图2中所展示的计算组件)还可将来自阵列中的存储器单元的经多路复用列的存储器单元耦合到如结合图4所论述的在阵列本地的多个共享I/O线455的数据路径中的计算单元460中的计算组件431-1、…、431-Z及/或逻辑条424-1、…、424-N。以此方式,计算组件431-1、…、431-Z及/或逻辑条424-1、…、424-N可经由选择逻辑(结合图3到7所论述)通过多个共享I/O线455间接耦合到一列的存储器单元。
运算(例如,涉及数据值的布尔逻辑运算)的执行是基本且常用的。布尔逻辑运算是用于许多更高级运算中。因此,可通过改进运算实现的速度及/或功率效率可转变成更高级功能性的速度及/或功率效率。
如图2中所展示,计算组件231还可包括锁存器(其在本文中被称为次要锁存器264)。次要锁存器264可以类似于上文关于主要锁存器215所描述的方式的方式配置及操作,除以下外:包括次要锁存器的交叉耦合的p沟道晶体管(例如,PMOS晶体管)对可具有耦合到供应电压(例如,通过耦合到VDD的线212-2)的其相应源极,且次要锁存器的交叉耦合的n沟道晶体管(例如,NMOS晶体管)对可具有选择性地耦合到参考电压(例如,通过耦合到接地(GND)的线212-1)的其相应源极,使得连续地启用次要锁存器。计算组件231的配置并不限于图2中所展示的配置,且各种其它实施例是可行的。
如本文中所描述,存储器装置(例如,图1A中的120)可经配置以经由数据总线(例如,156)及控制总线(例如,154)耦合到主机(例如,110)。存储器装置120中的库121可包含存储器单元的多个库区段(图1B中的123-1、…、123-N)。库121可包含经由存储器单元的多个列(图1B)耦合到多个阵列的感测电路(例如,图1A中的150及图2及3中的对应参考数字)。所述感测电路可包含耦合到所述列中的每一者的感测放大器及计算组件(例如,在图2中分别为206及231)。
每一库区段123可与在阵列230本地的多个共享I/O线(图1B中的155)的数据路径中的计算单元中的多个逻辑条(例如,图1B中的124-1、…、124-N-1)相关联。耦合到库的控制器(例如,图1A到1B中的140)可经配置以如本文中所描述那样引导数据值移动到阵列230本地的共享I/O线355/455(图3及4)的数据路径中的计算单元360/460(图3及4)中的逻辑条424(图4)中的计算组件431(图4)。
存储器装置可包含具有可对应于存储器单元的多个列(图1B)的数目的多个计算组件(例如,图4中分别为431-1、…、431-Z)的逻辑条(例如,图1B中的124及图4中的424)。如结合图3进一步论述,感测电路250中的数个感测放大器206及/或计算组件231可(例如,经由图3中的列选择电路358-1及358-2)可选择地耦合到多个共享I/O线355(图3)。所述列选择电路可经配置以通过可选择地耦合到多个(例如,四个、八个及十六个及其它可能性)感测放大器及/或计算组件而可选择地感测阵列的存储器单元的特定列中的数据。
在一些实施例中,库中的多个逻辑条(例如,图1B中的124-1、…、124-N)的数目可对应于所述库中的图1B中的库区段123-1、…、123-N(例如,具有多个子阵列的象限)的数目。逻辑条可包含在阵列230本地的共享I/O线455(图4)的数据路径中的多个计算组件431-1、…、431-Z(图4),其如同图2中所展示的计算组件231。如图3中将展示,从阵列的一行感测的数据值可通过列选择逻辑经由多个共享I/O线355(图3)并行移动到所述多个共享I/O线355(图3)的数据路径中的计算单元360(图3)中的多个计算组件431(图4)。在一些实施例中,数据量可对应于所述多个共享I/O线的至少1K位宽度。
如本文中所描述,存储器单元阵列可包含DRAM存储器单元的实施方案,其中控制器经配置以响应于命令而经由共享I/O线将数据从源位置移动(例如,复制、传送及/或输送)到目的地位置。在各种实施例中,所述源位置可在第一库中且所述目的地位置可在阵列230本地的共享I/O线355(图3)的数据路径中的计算单元360(图3)中。
如图3中所描述,设备可经配置以将数据从包含与第一数目个感测放大器及计算组件相关联的特定行(例如,图3中的319)及列地址的源位置移动(例如,复制、传送及/或输送)到共享I/O线(例如,图3中的355)。此外,设备可经配置以将数据移动到包含与共享I/O线355(图3)的数据路径中的计算单元360(图3)相关联的特定逻辑条424(图4)的目的地位置。如读者将了解,每一共享I/O线355(图3)可实际上包含一对互补共享I/O线(例如,图3中的共享I/O线及共享I/O线*)。在本文中所描述的一些实施例中,2048个共享I/O线(例如,互补共享I/O线对)可经配置为2048位宽共享I/O线。在本文中所描述的一些实施例中,1024个共享I/O线(例如,互补共享I/O线对)可经配置为1024位宽共享I/O线。
图3是说明根据本发明的数个实施例的用于存储器装置中的数据移动的电路的示意图。图3展示各自耦合到相应互补共享I/O线355对(例如,共享I/O线及共享I/O线*)的八个感测放大器(例如,分别以306-0、306-1、…、306-7展示的感测放大器0、1、…、7)。图3还展示各自经由相应传递门307-1及307-2以及数字线305-1及305-2耦合到相应感测放大器(例如,如对于感测放大器0以306-0展示)的八个计算组件(例如,以331-0、331-1、…、331-7展示的计算组件0、1、…、7)。例如,所述传递门可如图2中所展示那样连接且可通过运算选择信号Pass加以控制。例如,选择逻辑的输出可耦合到传递门307-1及307-2的栅极以及数字线305-1及305-2。对应感测放大器及计算组件对可促进形成以350-0、350-1、…、350-7指示的感测电路。
可将存在于互补数字线对305-1及305-2上的数据值加载到计算组件331-0中,如结合图2所描述。例如,当启用传递门307-1及307-2时,可将所述对互补数字线305-1及305-2上的数据值从感测放大器传递到计算组件(例如,306-0到331-0)。当触发感测放大器306-0时所述对互补数字线305-1及305-2上的数据值可为存储于所述感测放大器中的数据值。
图3中的感测放大器306-0、306-1、…、306-7可各自对应于图2中所展示的感测放大器206。图3中所展示的计算组件331-0、331-1、…、331-7可各自对应于图2中所展示的计算组件231。一个感测放大器与一个计算组件的组合可促成耦合到共享I/O线355(其由所述共享I/O线355的数据路径中的数个逻辑条共享)的DRAM存储器子阵列325的一部分的感测电路(例如,350-0、350-1、…、350-7)。
图3中所说明的实施例的配置是为清楚目的而展示且并不限于这些配置。例如,图3中所说明的用于感测放大器306-0、306-1、…、306-7连同计算组件331-0、331-1、…、331-7及共享I/O线355的配置并不限于感测电路的感测放大器306-0、306-1、…、306-7与计算组件331-0、331-1、…、331-7的组合的一半形成于存储器单元列322(未展示)上方且一半形成于存储器单元列322下方。形成经配置以耦合到共享I/O线的感测电路的感测放大器与计算组件的此类组合的数目也不限于八个。此外,共享I/O线355的配置并不限于分成单独耦合两组互补数字线305-1及305-2中的每一者的两个部分,共享I/O线355还不限于定位于形成感测电路的感测放大器与计算组件的组合的中间(例如,而非定位于感测放大器与计算组件的组合的任一端处)。
图3中所说明的电路还展示列选择电路358-1及358-2,其经配置以实施相对于子阵列325的特定列322、与其相关联的互补数字线305-1及305-2以及共享I/O线355的数据移动操作(例如,如通过图1A到1B中所展示的控制器140引导)。例如,列选择电路358-1具有经配置以与对应列(例如列0(332-0)、列2、列4及列6)耦合的选择线0、2、4及6。列选择电路358-2具有经配置以与对应列(例如列1、列3、列5及列7)耦合的选择线1、3、5及7。在各种实施例中,结合图3所描述的列选择电路358可表示通过多路复用器(例如,八(8)路多路复用器、十六(16)路多路复用器等)体现及包含在多路复用器中的功能性的至少一部分。
控制器140可耦合到列选择电路358以控制选择线(例如,选择线0)以存取存储于感测放大器、计算组件中及/或存在于互补数字线对(例如,305-1及305-2,当经由来自选择线0的信号激活选择晶体管359-1及359-2时)上的数据值。激活选择晶体管359-1及359-2(例如,如通过控制器140引导)实现列0(322-0)的感测放大器306-0、计算组件331-0及/或互补数字线305-1及305-2的耦合以将数字线0及数字线0*上的数据值移动到共享I/O线355。例如,所述经移动的数据值可为来自存储(高速缓冲存储)于感测放大器306-0及/或计算组件331-0中的特定行319的数据值。类似地可通过控制器140激活适当选择晶体管而选择来自列0到7中的每一者的数据值。
此外,启用(例如,激活)选择晶体管(例如,选择晶体管359-1及359-2)可启用特定感测放大器及/或计算组件(例如,分别为306-0及/或331-0)以与共享I/O线355耦合使得可将通过放大器及/或计算组件存储的数据值移动到共享I/O线355(例如,放置于共享I/O线355上及/或传送到共享I/O线355)。在一些实施例中,每次选择一个列(例如,列322-0)以耦合到特定共享I/O线355以移动(例如,复制、传送及/或输送)经存储数据值。在图3的实例配置中,共享I/O线355是说明为共享、差分I/O线对(例如,共享I/O线及共享I/O线*)。因此,选择列0(322-0)可从一行(例如,行319)产生两个数据值(例如,具有值0及/或1的两个位)及/或可产生如存储于与互补数字线305-1及305-2相关联的感测放大器及/或计算组件中的两个数据值。这些数据值可并行输入到共享差分I/O线355的每一共享、差分I/O对(例如,共享I/O线及共享I/O线*)。
图4A是说明通过在阵列130(图1A)本地的数据路径中的多个共享I/O线455耦合到具有多个逻辑条424-1、…、424-N的计算单元460的阵列130的多个区段423的一者的框图。在图4A的实例实施例中,库区段423(例如,库象限)经展示为具有多个子阵列425-1、…、425-32。在图4A中,库象限423中说明三十二(32)个子阵列。然而,实施例并不限于此实例。此实例展示具有通过十六(16)多路复用到共享I/O线455的16K列的库区段。因此,16K列经多路复用到1K共享I/O线455使得每16列可提供可作为1024(1K)个位的群组并行移动到计算单元460的数据值。此处,共享I/O线455对计算单元460提供1K位宽数据路径。
在图4A的实例中,每一逻辑条424-1、…、424-N具有多个计算组件431-1、…、431-Z,如本文中已结合图2的感测电路250描述。在一些实施例中,多个逻辑条424-1、…、424-N中的每一者经配置以使用多个计算组件431-1、…、431-Z执行计算功能。在一些实施例中,多个逻辑条424-1、…、424-N中的每一者可使用多个计算组件431-1、…、431-Z执行不同逻辑运算。例如,在一些实施例中,多个逻辑条424-1、…、424-N中的至少一者可经配置以执行长移位加速器操作,例如,八(8)六十四(64)位桶形移位器操作。此实例还可提供八(8)位数据块中的一部分重新排序且可支持具有8位交叉条的256个位的数据块中的收集/分散操作。在另一实例中,在一些实施例中多个逻辑条424-1、…、424-N中的至少一者可经配置以执行Kogge-Stone加速以产生一部分进位预看(carry look ahead)以加速水平加法。在另一实例中,在一些实施例中多个逻辑条424-1、…、424-N中的至少一者可经配置以执行“数据块”匹配加速。此实例可提供小位群组(例如,4个或8个位数据块)中的垂直模式加速。在另一实例中,在一些实施例中多个逻辑条424-1、…、424-N可经配置以用作显式屏蔽寄存器以实施如将由编译程序使用的布尔运算。如本文中所使用,“数据块”指代参考小于经寻址数据行的位长度,例如,256位数据块(在128字节可寻址行内)可经寻址以使位宽度匹配到特定接口。此可期望匹配16K+列存储器阵列的256位接口。
根据实施例,与库区段相关联的控制器140(图1A)可执行微代码指令以引导1K位数据值从与特定经存取行连接的多个子阵列425-1、…、425-32中的每一经多路复用列并行移动到计算单元460中的特定逻辑条424-1、…、424-N的特定计算组件431-1、…、431-Z。
根据一些实施例,可使用蝴蝶式网络465以将1K位数据值连接到多个逻辑条424-1、…、424-N的相应者中的多个计算组件431-1、…、431-Z中的相应者。通过实例且非限制地,可将1K位的数据值并行移动到与库区段423的4个象限中的每一者中的32个子阵列425-1、…、425-32中的每一者相关联的逻辑条。在此实例中,具有1K计算组件431-1、…、431-Z的128个逻辑条424-1、…、424-N各自可包含于计算单元460中。可根据来自控制器140(图1A)的微代码指令对加载到计算单元460的逻辑条424-1、…、424-N中的多个计算组件431-1、…、431-Z的数据值进行操作以对所述数据值执行运算(例如,AND、OR、NOR、XOR、加法、减法、乘法、除法等),如本文中已结合图2的感测电路250描述。如上文所提及,一旦将数据值加载到计算单元460,便可根据通过控制器140(图1A)执行的微代码指令在计算单元中更快地(例如,以大约2纳秒(ns)的速度)控制计算操作而无需将所述数据值移动回到阵列130(图1A)的行中。例如,可使用计算单元460以更快速度(相较于触发及存取所述阵列130(图1A)中的行所需的(例如)大约60纳秒(ns)的实例时间)执行计算操作。
在图4A的实例实施例中,多个共享I/O线455的数据路径中的计算单元460中的多个计算组件431-1、…、431-Z及/或424-1、…、424-N具有等于共享I/O线的数据路径的间距的间距。根据实施例,所述数据路径的间距依据存储器单元的阵列130(图1A)的数字线的间距而变化(例如,是数字线的间距的倍数(2x、4x等))。例如,多个计算组件431-1、…、431-Z及/或424-1、…、424-N具有所述存储器单元阵列的数字线的间距的整数倍的间距。
图4B是说明多个阵列的框图实例,所述多个阵列通过在所述阵列本地的数据路径中的多个共享I/O线耦合到计算单元中的多个计算组件,其中所述计算组件具有等于共享I/O线的数据路径的间距的间距且所述间距是所述阵列的数字线的间距的倍数。图4B的实例说明多个阵列(例如,库象限423-1、423-2、阵列区段等),其可具有通过数字线405存取的存储器单元。
在图4B的实例中,库象限423-1及423-2经展示为具有根据数字线制造过程的给定特征尺寸(设计规则)的大约一万六千(16K)条数字线405宽的间距。库象限423-1及423-2可分别包含感测放大器条406-1及406-2。又展示多个共享I/O线455-1、455-2、…、455-Z,其可具有依据所述数字线制造过程的给定特征尺寸(设计规则)而变化(例如,是所述给定特征尺寸的倍数)的不同间距。在图4B的实例中,多个共享I/O线455-1、455-Z的数据路径具有数字线405的间距的大约十六(16)倍的间距。因此在此实例中,展示分别通过16:1多路复用器(例如,409-1、…、409-Z及414-1、…、414-Z)多路复用到16K数字线405的大约一千(1K)条共享I/O线455-1、…、455-Z。然而,实施例并不限于本文所提供的数值实例且可将更多或更少数字线405多路复用到多个共享I/O线455-1、…、455-Z。例如,共享I/O线455-1、…、455-Z可具有如通过数字线制造工艺的给定特征尺寸(设计规则)设置的数字线405的间距的倍数(除了16倍(例如,16x)以外)的间距。
如图4B的实例中所展示,计算组件(例如,在多个计算组件431-1、…、431-Z及451-1、…、451-Z中)可分别与每一共享I/O线455-1、…、455-Z相关联。所述多个计算组件431-1、…、431-Z及451-1、…、451-Z可分别在展示为460-1及460-2的计算单元的图4A中所展示的多个逻辑条(例如,424-1、424-2、…、424-N)内。如
图4B的实例中所展示,计算组件(例如,与每一共享I/O线455-1、…、455-Z相关联的多个计算组件431-1、…、431-Z及451-1、…、451-Z中)可具有等于所述共享I/O线455-1、…、455-Z的数据路径且因此是阵列(例如,423-1及423-2)的数字线405的间距的十六倍(例如,16x)的间距。根据各种实施例,因为共享I/O线455-1、…、455-Z的数据路径中的计算组件431-1、…、431-Z及451-1、…、451-Z与数字线405的间距并不限于一对一(例如,1x倍)关系,所以所述计算组件431-1、…、431-Z及451-1、…、451-Z并不限于阵列423-1及423-2的“垂直”对准,且在此实例中可为十六倍(16x)。因而,共享I/O线455-1、…、455-Z的数据路径中的计算组件431-1、…、431-Z及451-1、…、451-Z可用于(例如,通过具有更大占据面积及空间)对存储于其中的数据值执行更稳健逻辑运算集(例如上文提及的长移位加速),同时仍接近阵列423-1及423-2且不在阵列或存储器裸片的外围区域中。
图5是说明根据本发明的数个实施例的存储器装置的控制器的实例的框图。在一些实施方案中,所述框图提供具备PIM能力的装置(例如图1A到2中的存储器装置120)的一个实例的一部分的更多细节。在图5的实例中,控制器540-1、…、540-7(通称为控制器540)可与具备PIM能力的装置520中的每一库521-1、…、521-7(通称为521)相关联。在图5的实例中展示八个库。然而,实施例并不限于此实例数目。控制器540可表示图1A中所展示的控制器140。每一库可包含一或多个存储器单元阵列(未展示)。例如,每一库可包含一或多个阵列(例如图1A中的阵列130)且可包含图1A中所展示的解码器、其它电路及寄存器。在图5中所展示的实例具备PIM能力的装置520中,控制器540-1、…、540-7经展示为具有控制逻辑531-1、…、531-7、序列发生器532-1、…、532-7及时序电路533-1、…、533-7作为存储器装置520的一或多个库521上的控制器540的部分。所述具备PIM能力的装置520可表示图1A中所展示的存储器装置120的部分。
如图5的实例中所展示,具备PIM能力的装置520可包含用以在所述具备PIM能力的装置520处接收数据、地址、控制信号及/或命令的高速接口(HSI)541。在各种实施例中,HSI541可耦合到与具备PIM能力的装置520相关联的库仲裁器545。HSI 541可经配置以从主机(例如,如图1A中的110)接收命令及/或数据。如图5的实例中所展示,库仲裁器545可耦合到多个库521-1、…、521-7。
在图5中所展示的实例中,控制逻辑531-1、…、531-7可呈负责提取及执行来自每一库521-1、…、521-7的部分的存储器单元阵列(例如,如图1A中的阵列130的阵列)的机器指令(例如,微代码指令)的经微编码引擎的形式。序列发生器532-1、…、532-7也可呈经微编码引擎的形式。替代性地,控制逻辑531-1、…、531-7可呈特大指令字(VLIW)类型处理资源的形式且序列发生器532-1、…、532-7及时序电路533-1、…、533-7可呈状态机及晶体管电路的形式。
控制逻辑531-1、…、531-7可将微代码指令解码成通过序列发生器532-1、…、532-7实施的函数调用(例如,微代码函数调用(uCODE))。图6说明在图6中展示为642的控制器540的另一实施例,其说明根据本发明的实施例的序列发生器的更详细部分。微代码函数调用可为序列发生器532-1、…、532-7接收及执行以引起PIM装置520使用感测电路(例如图1A中的感测电路150)或使用图4及6中所展示的计算单元460及660执行特定逻辑运算的操作。时序电路533-1、…、533-7可提供时序以协调所述逻辑运算的执行且负责提供对阵列(例如图1A中的阵列130)的无冲突存取。
如结合图1A所描述,控制器540-1、…、540-7可经由图5中展示为555-1、…、555-7的控制线及数据路径耦合到与存储器单元阵列相关联的感测电路150、计算单元460/660及/或额外逻辑电路170(包含高速缓冲存储器、缓冲器、感测放大器、扩展行地址(XRA)锁存器及/或寄存器)。因而,图1A、4及6中所展示的感测电路150、计算单元460/660及逻辑170可使用图5中展示为555-1、…、555-7的共享I/O线相关联于存储器单元阵列130。控制器540-1、…、540-7可控制阵列的正规DRAM操作(例如读取、写入、复制及/或擦除操作等)。此外,然而,通过控制逻辑531-1、…、531-7检索及执行的微代码指令及通过序列发生器532-1、…、532-7接收及执行的微代码函数调用引起图1A、4及6中所展示的感测电路150及/或计算单元460/660执行额外逻辑运算(例如加法、乘法或(作为更特定实例)布尔运算,例如AND、OR、XOR等),其不同于常规DRAM读取及写入操作(例如,比常规DRAM读取及写入操作更复杂)。因此,在此具备PIM能力的装置520实例中,可在具备PIM能力的装置520的库521-1、…、521-7上执行微代码指令执行及逻辑运算。
根据实施例,控制逻辑531-1、…、531-7、序列发生器532-1、…、532-7及时序电路533-1、…、533-7可操作以针对DRAM阵列产生操作循环序列及/或引导存储器装置520上(例如,库521-1、…、521-7上,包含在共享I/O线455-1、…、455-7的数据路径中的计算单元460/660中)的运算(例如,逻辑运算)的执行。在具备PIM能力的装置520实例中,每一序列可经设计以执行一起实现特定功能的运算(例如布尔逻辑运算AND、OR、XOR等)。例如,运算序列可重复执行一(1)位加法的逻辑运算以计算多位总和。可将每一运算序列馈送到耦合到时序电路533-1、…、533-7的先进/先出(FIFO)缓冲器中以提供与和图1A中所展示的存储器单元阵列130(例如,DRAM阵列)相关联的感测电路150、计算单元460/660及/或额外逻辑电路170的时序协调。
在图5中所展示的实例具备PIM能力的装置520中,时序电路533-1、…、533-7可提供时序且可提供对来自四个(4)FIFO队列的阵列的无冲突存取及/或可协调计算单元460/660中的运算的时序。在此实例中,一个FIFO队列可支持阵列计算,一个FIFO队列可用于指令提取,一个FIFO队列用于微代码(例如,Ucode)指令提取且一个FIFO队列用于DRAM I/O。控制逻辑531-1、…、531-7及序列发生器532-1、…、532-7两者都可产生经由FIFO接口投送回到库仲裁器545的状态信息。库仲裁器545可汇总此状态数据且经由接口(HSI)541将其报告回到主机110。
图6是说明存储器装置120(图1A)的控制器642的一部分的另一实例的框图,控制器642通过具有多个逻辑条624-1、…、624-N的计算单元660使用在阵列130(图1A)本地的数据路径中的共享I/O线655引导数据值的移动及对数据值的运算。在图6的实例中,控制器642的部分是控制器是序列发生器部分(例如图5中的序列发生器532)的实例。
在图6的实例实施例中,控制器642的序列发生器部分可对三种类别的微代码指令(阵列操作、计算组件操作及控制操作)操作。如601处所展示,位值可提供为子阵列掩码的部分以识别库区段的象限中的特定子阵列,如上文已描述。在602-1及602-2处,与如结合图2的感测电路250描述且在图7中更详细展示为731(A)及706(B)的主要锁存器及次要锁存器相关联的A及B地址指针提供阵列130(图1A)中的数据值的物理地址的指针。在603处,位值可另外提供额外索引到阵列130(图1A)中。如图6的实例中所展示,地址指针602-1及602-2以及索引603是用于存取阵列130(图1A)的特定行及感测线(例如,行字线及位线)。
本文中所描述的多个共享I/O线655可将阵列130(图1A)连接到在所述阵列本地的共享I/O线655的数据路径中的计算单元660。将指令从控制器642提供到所述计算单元以将来自共享I/O线655的数据值加载到所述计算单元660的给定逻辑条624-1、…、624-N中的给定计算组件631-1、…、631-Z。计算单元660的屏蔽条641可能够选择感测线及计算组件值以用于读取或写入。
在604处,来自线或(wired OR)逻辑配置的条件代码可提供运用计算单元660的线或运算的位值结果。在611处,位值可提供寄存器地址作为用于计算组件操作指令的第二寄存器源的指针。在612处,位值可指示计算单元660的逻辑条624-1、…、624-N的寄存器索引以及用于计算组件操作指令的第二寄存器源的寄存器地址指针611。
图7是说明根据本发明的数个实施例的能够实施XOR逻辑运算的计算单元460/660电路的示意图。图7展示耦合到一对互补共享I/O线755-1及755-2的感测放大器706、逻辑运算选择逻辑713及经由传递门707-1及707-2耦合到感测放大器706的计算组件731。图7中所展示的感测放大器706可以类似于图2中所展示的如与感测电路250相关联的感测放大器206(例如,主要锁存器)的方式运作。图7中所展示的计算组件731可类似于图2中所展示的如与感测电路250相关联的计算组件231(例如,次要锁存器)运作。图7中所展示的逻辑运算选择逻辑713可类似于图2中所展示的与感测电路250相关联的逻辑运算选择逻辑213运作。传递门707-1及707-2的栅极可由逻辑运算选择逻辑713信号(例如,Pass)加以控制。例如,逻辑运算选择逻辑713的输出可耦合到传递门707-1及707-2的栅极。此外,计算组件731可包括经配置以使数据值向左及向右移位的可载入移位寄存器。
根据图7中所说明的实施例,计算组件731可包括经配置以使数据值向左及向右移位的可载入移位寄存器的相应阶段(例如,移位单元)。例如,如图7中所说明,所述移位寄存器的每一计算组件731(例如,级)包括一对右移位晶体管781及786、一对左移位晶体管789及790以及一对反相器787及788。可将信号PHASE 1R、PHASE2R、PHASE 1L及PHASE 2L施加到相应控制线782、783、791及792以启用/停用对应计算组件731的锁存器上与根据本文中所描述的实施例执行逻辑运算及/或移位数据相关联的反馈。
图7中所展示的计算单元460/660电路展示耦合到数个逻辑选择控制输入控制线(包含ISO、TF、TT、FT及FF)的运算选择逻辑713。从逻辑选择控制输入控制线上的逻辑选择控制信号的条件以及在经由断言ISO控制信号启用隔离晶体管750-1及750-2时存在于互补共享I/O线对755-1及755-2上的数据值而确定从多个逻辑运算的逻辑运算选择。
根据各种实施例,运算选择逻辑713可包含四个逻辑选择晶体管:耦合于交换晶体管742的栅极与TF信号控制线之间的逻辑选择晶体管762、耦合于传递门707-1及707-2的栅极与TT信号控制线之间的逻辑选择晶体管752、耦合于传递门707-1及707-2的栅极与FT信号控制线之间的逻辑选择晶体管754及耦合于交换晶体管742的栅极与FF信号控制线之间的逻辑选择晶体管764。逻辑选择晶体管762及752的栅极通过隔离晶体管750-1(其具有耦合到ISO信号控制线的栅极)耦合到真感测线。逻辑选择晶体管764及754的栅极通过隔离晶体管750-2(其还具有耦合到ISO信号控制线的栅极)耦合到互补感测线。
可经由传递门707-1及707-2将存在于互补共享I/O线对755-1及755-2上的数据值加载到计算组件731中。计算组件731可包括可载入移位寄存器。当传递门707-1及707-2开启时,互补共享I/O线对755-1及755-2上的数据值(“A”)经传递到计算组件731且借此经载入到所述可载入移位寄存器中。互补共享I/O线对755-1及755-2上的数据值可为在触发感测放大器706时存储于所述感测放大器中的数据值(“B”)。在此实例中,逻辑运算选择逻辑信号Pass为高以开启传递门707-1及707-2。
ISO、TF、TT、FT及FF控制信号可操作以基于感测放大器706中的数据值(“B”)及计算组件731中的数据值(“A”)选择逻辑功能进行实施。特定来说,ISO、TF、TT、FT及FF控制信号经配置以独立于存在于互补共享I/O线对755-1及755-2上的数据值而选择逻辑功能进行实施(尽管经实施逻辑运算的结果可取决于存在于互补共享I/O线对755-1及755-2上的数据值)。例如,ISO、TF、TT、FT及FF控制信号直接选择逻辑运算进行实施,这是因为存在于互补共享I/O线对755-1及755-2上的数据值并未传递通过用以操作传递门707-1及707-2的栅极的逻辑。
此外,图7展示经配置以在感测放大器706与计算组件731之间交换互补共享I/O线对755-1及755-2的定向的交换晶体管742。当交换晶体管742开启时,交换晶体管742的感测放大器706侧上的互补共享I/O线对755-1及755-2上的数据值相反耦合(oppositely-couple)到交换晶体管742的计算组件731侧上的互补共享I/O线对755-1及755-2,且借此加载到计算组件731的可载入移位寄存器中。
当ISO控制信号线被激活且TT控制信号在真共享I/O线上的数据值为“1”的情况下被激活(例如,为高)或FT控制信号在互补共享I/O线上的数据值为“1”的情况下被激活(例如,为高)时,逻辑运算选择逻辑713信号Pass可经激活(例如,为高)以开启传递门707-1及707-2(例如,传导)。
真共享I/O线上的数据值是“1”开启逻辑选择晶体管752及762。互补共享I/O线上的数据值是“1”开启逻辑选择晶体管754及764。如果ISO控制信号或对应共享I/O线(例如,特定逻辑选择晶体管的栅极耦合到的共享I/O线)上的相应TT/FT控制信号或数据值并非为高,那么传递门707-1及707-2将不会由特定逻辑选择晶体管开启。
当ISO控制信号线经激活且TF控制信号在真共享I/O线上的数据值为“1”的情况下经激活(例如,为高)或FF控制信号在互补共享I/O线上的数据值为“1”的情况下经激活(例如,为高)时,逻辑运算选择逻辑信号Pass*可经激活(例如,为高)以开启交换晶体管742(例如,传导)。如果对应共享I/O线(例如,特定逻辑选择晶体管的栅极耦合到的共享I/O线)上的相应控制信号或数据值并非为高,那么交换晶体管742将不会由特定逻辑选择晶体管开启。
Pass*控制信号不一定与Pass控制信号互补。可同时激活或取消激活Pass及Pass*控制信号两者。然而,Pass及Pass*控制信号两者的同时激活使互补共享I/O线对短接在一起,此可为应避免的破坏性配置。
图7中所说明的计算单元460/660电路经配置以从四个逻辑选择控制信号直接选择多个逻辑运算中的一者来实施(例如,逻辑运算选择并不取决于存在于互补共享I/O线对上的数据值)。逻辑选择控制信号的一些组合可引起传递门707-1及707-2及交换晶体管742两者同时开启,此将互补共享I/O线对755-1及755-2短接在一起。根据本发明的数个实施例,可通过图7中所说明的计算单元460/660电路实施的逻辑运算可为图8中展示的逻辑表中概述的逻辑运算。
图8是说明根据本发明的数个实施例的通过图7中所展示的多个共享I/O线755-1及755-2的数据路径中的计算单元460/660电路实施的可选择逻辑运算结果的逻辑表。四个逻辑选择控制信号(例如,TF、TT、FT及FF)连同存在于互补共享I/O线上的特定数据值一起可用于选择多个逻辑运算中的一者进行实施,此涉及存储于计算单元460/660电路的感测放大器706(例如,主要锁存器)及计算组件731(例如,次要锁存器)中的起始数据值(“A”及“B”)。所述四个控制信号连同存在于互补共享I/O线上的特定数据值一起控制传递门707-1及707-2以及交换晶体管742的连续性,此又影响在触发之前/之后在计算组件731及/或感测放大器706中的数据值。可选择地控制交换晶体管742的连续性的能力促进实施涉及反相数据值(例如,反相操作数及/或反相结果)等的逻辑运算。
图8中所说明的逻辑表8-1展示在844处的栏A中所展示的存储于计算组件731(例如,次要锁存器)中的起始数据值及在845处的栏B中所展示的存储于感测放大器706(例如,主要锁存器)中的起始数据值。逻辑表8-1中的其它3栏标头是指传递门707-1及707-2以及交换晶体管742的连续性,其可取决于四个逻辑选择控制信号(例如,TF、TT、FT及FF)的状态以及存在于互补共享I/O线对755-1及755-2上的特定数据值而分别控制为开启或关闭。“Not Open”栏856对应于传递门707-1及707-2以及交换晶体管742都处于非传导条件,“Open True”栏870对应于传递门707-1及707-2处于传导条件下且“Open Invert”栏871对应于交换晶体管742处于传导条件。在逻辑表8-1中未反映对应于传递门707-1及707-2以及交换晶体管742都处于传导条件的配置,这是因为此导致感测线短接在一起。
经由传递门707-1及707-2以及交换晶体管742的连续性的选择性控制,逻辑表8-1的上部分的三个栏中中的每一者可与逻辑表8-1的下部分的三个栏中的每一者组合以提供对应于九个不同逻辑运算的3x 3=9个不同结果组合,如通过875处所展示的各种连接路径所指示。在图8中所说明的逻辑表8-2中概述可通过计算单元460/660电路实施的九个不同可选择逻辑运算(包含XOR逻辑运算)。
图8中所说明的逻辑表8-2的栏展示包含逻辑选择控制信号的状态的标头880。例如,在表8-2的行876中提供第一逻辑选择控制信号的状态,在表8-2的行877中提供第二逻辑选择控制信号的状态,在表8-2的行878中提供第三逻辑选择控制信号的状态且在表8-2的行879中提供第四逻辑选择控制信号的状态。在表8-2的行847中概述对应于结果的特定逻辑运算。
方法可进一步包含将数据值(已对其执行运算)从计算组件731移动到多个逻辑条624-1、624-N中的另一所选择的逻辑条624-1、624-N中的计算组件以重写所述所选择的逻辑条的计算组件中的最初使用网络(例如图4中的465)移动到所述计算组件的数据值。例如,如本文中所描述,可在第一计算组件中对移动到所述第一计算组件的数据值执行运算,且可将所述数据值移动回到次要计算组件以重写最初移动到所述第一计算组件的数据值。
在各种实施例中,方法可进一步包含将多个经存储的数据值从逻辑条624-1、…、624-N中的多个计算组件631-1、…、631-Z移动到计算单元460/660中的另一所选择的逻辑条624-1、624-N,所述另一所选择的逻辑条624-1、624-N不同于最初从其移动经存储的数据值的第一所选择的逻辑条624-1、624-N。在一些实施例中,所述多个经存储的数据值可为已对其执行运算的多个数据值。在各种实施例中,方法可进一步包含将多个经存储的数据值从逻辑条中的多个计算组件移动到计算单元中的多个所选择的逻辑条及/或移动到存储器装置520的另一库521-1、…、521-7的数据路径中的计算单元中的多个逻辑条。例如,移动到库中的计算单元中的所述多个所选择的逻辑条的所述多个经存储的数据值可为(例如,如通过控制器及/或主机引导)已对其执行运算的多个数据值。
在各种实施例中,方法可进一步包含:感测所选择的逻辑条的所选择的第一计算组件中的数据值;将所述经感测的数据值从所述第一计算组件移动到第二计算组件;及将所述经存储的数据值从所述第二计算组件移动到共享I/O线及/或数据总线。所述经感测的数据值可存储回到耦合到所述共享I/O线的阵列130中的所选择的行中的存储器单元。
方法可进一步包含经由数据总线的至少一部分将存储于计算单元的多个逻辑条中的多个计算组件中的多个值的至少一数据值可选择地输出到主机。所述多个计算组件的子集可在数个逻辑条中的每一者中且所述多个逻辑条中的至少一者可在多个计算单元中的每一者中。在所述多个计算单元中的每一者中的多个逻辑条中的多个计算组件可各自可选择地耦合到数据总线的相应部分。用于多个库中的每一者的数据总线的相应部分可经组合以形成经组合数据总线。所述经组合数据总线的每一相应部分可选择地耦合到主机。例如,在一些实施例中,数据值可经由所述经组合数据总线输出到主机中的数个DQ组件以启用对来自多个库的数据值的读取操作及/或写入操作。
在DRAM实施方案中,共享I/O线可用作数据路径(例如,数据流管线)以在存储器单元阵列的各种位置之间(例如,在子阵列之间及/或在子阵列与锁存器条之间)移动(例如,复制、传送及/或输送)所述阵列中的数据。所述共享I/O线可在所有逻辑条与锁存器条之间共享。在各种实施例中,一个逻辑条或锁存器条及/或一对逻辑条与锁存器条(例如,耦合源位置与目的地位置)可在任何给定时间与所述共享I/O线通信。所述共享I/O线可用于完成将数据从一个逻辑条移动(例如,复制、传送及/或输送)到锁存器条,且反之亦然。
本发明的实施例可通过使用DRAM实施方案的经改进数据路径(例如,共享I/O线)增大PIM阵列中的数据移动的速度、速率及/或效率。如本文中所描述,存储器装置中的一对库位置中的源位置与目的地位置可经配置以经由多个共享I/O线耦合。如本文中所描述,所述存储器装置中的库包含存储器单元阵列、经由多个感测线耦合到所述阵列的感测电路(所述感测电路包含感测放大器及计算组件)及经由多个共享I/O线耦合到所述阵列及所述感测电路的计算单元电路(所述计算单元电路包含具有经配置以实施运算的感测放大器及计算组件的多个逻辑条)。控制器耦合到所述阵列、所述感测电路及所述计算单元电路。
可从所述控制器接收命令以将来自阵列中的源位置的数据值移动(例如,复制、传送及/或输送)到计算单元电路中的目的地位置。可使用感测放大器及/或计算组件经由多个共享I/O线将所述数据值从所述源位置移动到所述目的地位置。
虽然在本文中已说明及描述包含感测电路、感测放大器、计算组件、逻辑条、共享I/O线、列选择电路、多路复用器、锁存器组件、锁存器条及/或锁存器等的各种组合及配置的实例实施例,但本发明的实施例并不限于本文中明确叙述的所述组合。本文中所揭示的感测电路、感测放大器、计算组件、逻辑条、共享I/O线、列选择电路、多路复用器、锁存器组件、锁存器条及/或锁存器等的其它组合及配置明确包含于本发明的范围内。
尽管在本文中已说明及描述特定实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可替代所展示的特定实施例。本发明希望涵盖本发明的一或多个实施例的调适或变化。应理解,已以说明性方式且非限制性方式作出上文描述。所属领域的技术人员在审阅上文描述之后将明白在本文中未具体描述的上述实施例的组合及其它实施例。本发明的一或多个实施例的范围包含其中使用上述结构及过程的其它应用。因此,应参考所附权利要求书以及此类权利要求所授权的等效物的全范围而确定本发明的一或多个实施例的范围。
在前述具体实施方式中,出于简化本发明的目的,将一些特征集中于单个实施例中。本发明的此方法不应解释为反映本发明的所揭示实施例必须使用多于每一权利要求中明确叙述的特征的意图。而是,如以所附利要求反映,本发明标的物在于少于单个所揭示实施例的所有特征。因此,所附权利要求特此并入具体实施方式中,其中每一权利要求自身独立地作为单独实施例。

Claims (23)

1.一种存储器设备,其包括:
存储器单元阵列,其包括多个感测线,所述多个感测线经由多路复用器连接到共享输入/输出I/O线(155);
感测电路(150),其耦合到所述存储器单元阵列(130),其中所述感测电路包括第一多个计算组件(231、331)和多个感测放大器;
所述共享I/O线(155),其提供与所述阵列(130)相关联的数据路径,其中所述共享I/O线将所述感测电路(150)耦合到所述共享I/O线(155)的所述数据路径中的第二多个计算组件(360、431、451),
其中所述第二多个计算组件包括在多个数据块中操作的逻辑条以执行运算,其中所述多个数据块中的一个数据块参考小于所述逻辑条的位长度的位长度。
2.根据权利要求1所述的存储器设备,其中与所述共享I/O线(155)的所述数据路径相关联的所述第二多个计算组件(360、431、451)具有等于所述数据路径的间距的间距且所述间距依据所述存储器单元阵列(130)的数字线的间距而变化。
3.根据权利要求2所述的存储器设备,其中所述间距是所述存储器单元阵列(130)的数字线的所述间距的整数倍。
4.根据权利要求1所述的存储器设备,其中所述共享I/O线(155)经多路复用到所述阵列的多个互补数字线。
5.根据权利要求4所述的存储器设备,其中所述第二多个计算组件(360、431、451)是在与所述阵列(130)本地的所述共享I/O线(155)的所述数据路径相关联的所述逻辑条(124)中。
6.根据权利要求1到3中任一项所述的存储器设备,其进一步包括:
控制器(140),其经配置以引导:
数据值从所述阵列中的存储器单元移动到所述共享I/O线(155)的所述数据路径中的所述第二多个计算组件(360、431、451);及
使用所述共享I/O线(155)的所述数据路径中的所述第二多个计算组件(360、
431、451)对所述数据值执行所述运算。
7.根据权利要求6所述的存储器设备,其中所述第二多个计算组件(360、431、451)在与所述共享I/O线(155)的所述数据路径相关联的逻辑条(124)中。
8.根据权利要求7所述的存储器设备,其中所述第一多个计算组件(231、331)中的每一者与在所述阵列(130)本地的所述多个共享I/O线(155)中的至少一者相关联。
9.一种存储器设备,其包括:
存储器单元阵列(130),其包括多个感测线,所述多个感测线经由多路复用器连接到多个共享输入/输出I/O线(155);
感测电路(150),其耦合到所述存储器单元阵列(130),其中所述感测电路包括第一多个计算组件(231、331)和多个感测放大器;
所述多个共享I/O线(155),其在所述阵列(130)本地且提供与所述阵列相关联的数据路径;
计算单元(360、460),其在所述多个共享I/O线(155)的数据路径中,其中所述多个共享I/O线将所述感测电路(150)耦合到所述计算单元(360、460)的第二多个计算组件(431、451);及
控制器(140),其经配置以引导:
数据值从所述阵列中的存储器单元移动到所述计算单元(360、460)中的所述第二多个计算组件(431、451);及
使用所述共享I/O线(155)的所述数据路径中的所述第二多个计算组件(431、
451)对所述数据值执行运算,
其中所述第二多个计算组件包括在多个数据块中操作的逻辑条以执行运算,其中所述多个数据块中的一个数据块参考小于所述逻辑条的位长度的位长度。
10.根据权利要求9所述的存储器设备,其中所述计算单元(360、460)包括包含所述逻辑条的多个逻辑条(124)。
11.根据权利要求10所述的存储器设备,其中所述第二多个计算组件(431、451)中的每一者中的一者与在所述阵列(130)本地的所述多个共享I/O线(155)中的一者相关联。
12.根据权利要求10所述的存储器设备,其中所述多个逻辑条(124)中的每一者的计算功能可经配置以执行不同逻辑运算,且所述多个逻辑条中的至少一者经配置以执行长移位加速器运算。
13.根据权利要求10所述的存储器设备,其中可使用所述感测电路(150)中的所述第一多个计算组件(231、331)及使用所述计算单元(360、460)中的所述第二多个计算组件(431、451)执行所述运算。
14.根据权利要求10所述的存储器设备,其中所述控制器(140)经配置以使用所述计算单元(360、460)中的所述第二多个计算组件(431、451)对所述数据值执行多个运算而未将所述多个运算中的每一者的结果移动回到所述阵列(130)中的存储器单元。
15.一种用于在存储器装置中执行计算操作的方法,其包括:
将数据值从阵列(130)中的存储器单元移动到感测电路,所述阵列包括经由多路复用器连接到共享输入/输出I/O线(155)的多个感测线,所述感测电路包括第一多个计算组件(231、331)和多个感测放大器;
将来自所述感测电路的所述数据值移动到所述阵列(130)本地的所述共享I/O线(155)的数据路径中的第二多个计算组件(360、431、451),其中所述共享I/O线(155)的间距依据所述阵列(130)的间距而变化,其中所述第二多个计算组件包括在多个数据块中操作的逻辑条以执行运算,其中所述多个数据块中的一个数据块参考小于所述逻辑条的位长度的位长度;及
使用所述共享I/O线(155)的所述数据路径中的所述第二多个计算组件(360、431、451)对所述数据值执行所述运算。
16.根据权利要求15所述的方法,其中执行所述运算包括在所述共享I/O线(155)的所述数据路径中对所述数据值执行逻辑运算。
17.根据权利要求15所述的方法,其中所述方法包括将多个数据值从所述阵列中的一行移动到所述共享I/O线(155)的所述数据路径中的所述逻辑条(124)中的所述第二多个计算组件(360、431、451)。
18.根据权利要求17所述的方法,其中所述方法包括:
将所述多个数据值移动到包含所述逻辑条的多个逻辑条(124),其中所述多个逻辑条(124)中的每一者可经配置以执行不同逻辑运算;及
使用所述多个逻辑条(124)中的至少一者在所述数据路径中执行长移位加速器运算。
19.一种用于在存储器装置中执行计算操作的方法,其包括:
将多个数据值从存储器单元阵列(130)中的一行移动到感测电路,所述感测电路包括第一多个计算组件(231、331)和多个感测放大器,所述阵列(130)包括经由多路复用器连接到共享输入/输出I/O线(155)的多个感测线;
将来自所述感测电路的所述多个数据值移动到所述阵列本地的所述共享I/O线(155)的数据路径中的第二多个计算组件(431、451),其中所述共享I/O线(155)的间距依据所述阵列(130)的间距而变化,其中所述第二多个计算组件包括在多个数据块中操作的逻辑条以执行运算,其中所述多个数据块中的一个数据块参考小于所述逻辑条的位长度的位长度;及
使用所述共享I/O线(155)的所述数据路径中的所述第二多个计算组件(431、451)对所述多个数据值执行所述运算。
20.根据权利要求19所述的方法,其中所述方法包括将所述多个数据值移动到所述共享I/O线(155)的所述数据路径中的计算单元(360、460)的多个逻辑条(124)中的所述第二多个计算组件(431、451),且所述多个逻辑条(124)包含所述逻辑条。
21.根据权利要求20所述的方法,其中所述方法包括:
使用所述计算单元(360、460)中的所述第二多个计算组件(431、451)对所述多个数据值执行多个运算而未将所述多个运算中的每一者的结果移动回到所述阵列(130)中的所述行。
22.根据权利要求19所述的方法,其中所述方法包括使用所述阵列(130)的库(121)上的控制器(140)执行伪代码指令以:
将所述多个数据值移动到所述第二多个计算组件(431、451);及
在所述共享I/O线(155)的所述数据路径中对所述多个数据值执行所述运算。
23.根据权利要求19所述的方法,其中所述方法包括:
使用多个共享I/O线(155)将所述多个数据值移动到所述第二多个计算组件(431、451),所述多个共享I/O线中的每一者经多路复用到所述阵列中的多个列;及
在所述多个共享I/O线(155)的所述数据路径中对作为一群组的所述多个数据值并行执行所述运算。
CN201880013333.4A 2017-02-22 2018-02-14 用于在数据路径中计算的设备及方法 Active CN110326046B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/438,989 2017-02-22
US15/438,989 US10403352B2 (en) 2017-02-22 2017-02-22 Apparatuses and methods for compute in data path
PCT/US2018/018145 WO2018156398A1 (en) 2017-02-22 2018-02-14 Apparatuses and methods for compute in data path

Publications (2)

Publication Number Publication Date
CN110326046A CN110326046A (zh) 2019-10-11
CN110326046B true CN110326046B (zh) 2023-11-07

Family

ID=63166577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880013333.4A Active CN110326046B (zh) 2017-02-22 2018-02-14 用于在数据路径中计算的设备及方法

Country Status (6)

Country Link
US (3) US10403352B2 (zh)
EP (1) EP3586334B1 (zh)
KR (1) KR102305389B1 (zh)
CN (1) CN110326046B (zh)
TW (1) TWI656533B (zh)
WO (1) WO2018156398A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10403352B2 (en) * 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10749529B2 (en) * 2017-09-29 2020-08-18 Crossbar, Inc. Memory device including integrated deterministic pattern recognition circuitry
US11175915B2 (en) 2018-10-10 2021-11-16 Micron Technology, Inc. Vector registers implemented in memory
US10769071B2 (en) 2018-10-10 2020-09-08 Micron Technology, Inc. Coherent memory access
US10483978B1 (en) 2018-10-16 2019-11-19 Micron Technology, Inc. Memory device processing
US10838732B2 (en) * 2018-12-21 2020-11-17 Micron Technology, Inc. Apparatuses and methods for ordering bits in a memory device
US10818359B2 (en) 2018-12-21 2020-10-27 Micron Technology, Inc. Apparatuses and methods for organizing data in a memory device
EP3671748A1 (en) * 2018-12-21 2020-06-24 IMEC vzw In-memory computing for machine learning
US11403067B2 (en) * 2019-03-20 2022-08-02 Micron Technology, Inc. Memory array data structure for posit operations
US11360768B2 (en) 2019-08-14 2022-06-14 Micron Technolgy, Inc. Bit string operations in memory
US11200029B2 (en) * 2020-04-16 2021-12-14 Flashsilicon Incorporation Extendable multiple-digit base-2n in-memory adder device
US11227641B1 (en) 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory
US12014798B2 (en) 2022-03-31 2024-06-18 Macronix International Co., Ltd. In memory data computation and analysis
US11755399B1 (en) 2022-05-24 2023-09-12 Macronix International Co., Ltd. Bit error rate reduction technology

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1344028A (zh) * 1996-03-08 2002-04-10 株式会社日立制作所 半导体集成电路装置
TW200943315A (en) * 2008-02-20 2009-10-16 Renesas Tech Corp Semiconductor signal processing device
CN105556607A (zh) * 2013-08-08 2016-05-04 美光科技公司 使用感测电路执行逻辑运算的设备及方法

Family Cites Families (311)

* Cited by examiner, † Cited by third party
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
EP0446721B1 (en) 1990-03-16 2000-12-20 Texas Instruments Incorporated Distributed processing memory
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
US5279683A (en) 1990-06-20 1994-01-18 Kawasaki Steel Corporation Method of producing high-strength cold-rolled steel sheet suitable for working
JP3361825B2 (ja) 1990-08-22 2003-01-07 テキサス インスツルメンツ インコーポレイテツド メモリ・アレイ・アーキテクチャ
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
EP0584783A3 (en) 1992-08-25 1994-06-22 Texas Instruments Inc Method and apparatus for improved processing
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
US5369622A (en) 1993-04-20 1994-11-29 Micron Semiconductor, Inc. Memory with isolated digit lines
US5754478A (en) 1993-04-20 1998-05-19 Micron Technology, Inc. Fast, low power, write scheme for memory circuits using pulsed off isolation device
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
US6351427B1 (en) * 1997-12-10 2002-02-26 Texas Instruments Incorporated Stored write scheme for high speed/wide bandwidth memory devices
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
US6157578A (en) 1999-07-15 2000-12-05 Stmicroelectronics, Inc. Method and apparatus for accessing a memory device
US6208544B1 (en) 1999-09-09 2001-03-27 Harris Corporation Content addressable memory cell providing simultaneous read and compare capability
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 富士通セミコンダクター株式会社 半導体記憶装置及びその制御方法
AU2000224587A1 (en) 2000-02-04 2001-08-14 Hitachi Ltd. Semiconductor device
WO2001065359A2 (en) 2000-02-29 2001-09-07 Peter Petrov 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
CN1307647C (zh) 2000-07-07 2007-03-28 睦塞德技术公司 动态随机存取存储器、存储器器件及其执行读命令的方法
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
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
WO2003088033A1 (en) 2002-04-09 2003-10-23 University Of Rochester Multiplier-based processor-in-memory architectures for image and graphics processing
GB2419005B (en) * 2002-04-22 2006-06-07 Micron Technology Inc Providing a register file memory with local addressing in a SIMD parallel processor
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
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
US6731542B1 (en) 2002-12-05 2004-05-04 Advanced Micro Devices, Inc. Circuit for accurate memory read operations
KR100546307B1 (ko) 2002-12-05 2006-01-26 삼성전자주식회사 글로벌 입출력라인을 프리차지 및/또는 이퀄라이징하기위한 프리차지 회로를 구비하는 반도체 장치 및프리차지 및/또는 이퀄라이즈하는 트랜지스터의 레이아웃
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
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
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
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 ローム株式会社 演算機能付き記憶装置および演算記憶方法
EP1665286B8 (en) 2003-09-04 2007-09-12 Nxp B.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
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
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 삼성전자주식회사 메모리 장치 및 메모리 그 동작 방법
JP4804479B2 (ja) 2005-12-13 2011-11-02 スパンション エルエルシー 半導体装置およびその制御方法
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
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
US7443729B2 (en) 2006-07-20 2008-10-28 Sandisk Corporation System that compensates for coupling based on sensing a neighbor using coupling
US7885119B2 (en) 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
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
US7460387B2 (en) 2007-01-05 2008-12-02 International Business Machines Corporation eDRAM hierarchical differential sense amp
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
US8156299B2 (en) 2007-10-19 2012-04-10 Virident Systems Inc. Managing memory systems containing components with asymmetric characteristics
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
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 삼성전자 주식회사 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치
JP2012515376A (ja) * 2009-01-12 2012-07-05 ラムバス・インコーポレーテッド クロック転送低電力シグナリングシステム
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
US9606807B2 (en) * 2009-06-04 2017-03-28 Micron Technology, Inc. Direct communication with a processor internal to a memory device
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
US8412987B2 (en) 2009-06-30 2013-04-02 Micron Technology, Inc. Non-volatile memory to store memory remap information
US8412985B1 (en) 2009-06-30 2013-04-02 Micron Technology, Inc. Hardwired remapped memory
US8238173B2 (en) 2009-07-16 2012-08-07 Zikbit Ltd Using storage cells to perform computation
US9076527B2 (en) 2009-07-16 2015-07-07 Mikamonu Group Ltd. Charge sharing in a TCAM array
JP4951041B2 (ja) 2009-08-06 2012-06-13 株式会社東芝 半導体記憶装置
JP5568133B2 (ja) 2009-08-18 2014-08-06 ダウ コーニング コーポレーション 多層経皮パッチ
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
EP2564306A4 (en) 2010-04-27 2017-04-26 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
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
US9165023B2 (en) 2011-01-31 2015-10-20 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 データ処理装置およびそのデータ処理方法
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
US8706958B2 (en) 2011-09-01 2014-04-22 Thomas Hein Data mask encoding in data bit inversion scheme
KR20140085468A (ko) 2011-10-28 2014-07-07 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 행 시프팅 시프트가능 메모리
US8891297B2 (en) 2011-11-01 2014-11-18 Micron Technology, Inc. Memory cell sensing
US9830158B2 (en) 2011-11-04 2017-11-28 Nvidia Corporation Speculative execution and rollback
KR101321481B1 (ko) 2011-11-04 2013-10-28 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이를 위한 테스트 회로
KR20130052971A (ko) 2011-11-14 2013-05-23 삼성전자주식회사 비휘발성 메모리 장치의 동작 방법
WO2013078085A1 (en) 2011-11-22 2013-05-30 Mips Technologies, Inc. Processor with kernel mode access to user space virtual addresses
US9665371B2 (en) 2011-11-30 2017-05-30 Intel Corporation Providing vector horizontal compare functionality within a vector register
US20140108480A1 (en) 2011-12-22 2014-04-17 Elmoustapha Ould-Ahmed-Vall Apparatus and method for vector compute and accumulate
KR20130072869A (ko) 2011-12-22 2013-07-02 에스케이하이닉스 주식회사 프리차지 회로 및 비휘발성 메모리 장치
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
US9153305B2 (en) 2013-08-30 2015-10-06 Micron Technology, Inc. Independently addressable memory array address spaces
US9019785B2 (en) 2013-09-19 2015-04-28 Micron Technology, Inc. Data shifting via a number of isolation devices
US9536577B2 (en) 2013-09-26 2017-01-03 Intel Corporation Data movement in memory devices
US9449675B2 (en) 2013-10-31 2016-09-20 Micron Technology, Inc. Apparatuses and methods for identifying an extremum value stored in an array of memory cells
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
US20150270015A1 (en) 2014-03-19 2015-09-24 Micron Technology, Inc. Memory mapping
US9934856B2 (en) 2014-03-31 2018-04-03 Micron Technology, Inc. Apparatuses and methods for comparing data patterns in memory
EP3140749B1 (en) 2014-05-08 2021-01-13 Micron Technology, INC. In-memory lightweight coherency
JP6637906B2 (ja) 2014-05-08 2020-01-29 マイクロン テクノロジー,インク. ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法
US10074407B2 (en) 2014-06-05 2018-09-11 Micron Technology, Inc. Apparatuses and methods for performing invert operations using sensing circuitry
US9449674B2 (en) 2014-06-05 2016-09-20 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9830999B2 (en) 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9496023B2 (en) 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US9455020B2 (en) 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US9910787B2 (en) 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
US9786335B2 (en) 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9779019B2 (en) 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9711206B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9711207B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9747961B2 (en) 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US9898252B2 (en) 2014-09-03 2018-02-20 Micron Technology, Inc. Multiplication operations in memory
US9904515B2 (en) 2014-09-03 2018-02-27 Micron Technology, Inc. Multiplication operations in memory
US9847110B2 (en) 2014-09-03 2017-12-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector
US9740607B2 (en) 2014-09-03 2017-08-22 Micron Technology, Inc. Swap operations in memory
US9589602B2 (en) 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
US10068652B2 (en) 2014-09-03 2018-09-04 Micron Technology, Inc. Apparatuses and methods for determining population count
US9836218B2 (en) 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
US9940026B2 (en) 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US10163467B2 (en) 2014-10-16 2018-12-25 Micron Technology, Inc. Multiple endianness compatibility
US10147480B2 (en) 2014-10-24 2018-12-04 Micron Technology, Inc. Sort operation in memory
US9779784B2 (en) 2014-10-29 2017-10-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9747960B2 (en) 2014-12-01 2017-08-29 Micron Technology, Inc. Apparatuses and methods for converting a mask to an index
US10073635B2 (en) 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US9583163B2 (en) 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
US9741399B2 (en) 2015-03-11 2017-08-22 Micron Technology, Inc. Data shift by elements of a vector in memory
US9898253B2 (en) 2015-03-11 2018-02-20 Micron Technology, Inc. Division operations on variable length elements in memory
CN107430874B (zh) * 2015-03-12 2021-02-02 美光科技公司 用于数据移动的设备及方法
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
US10049054B2 (en) 2015-04-01 2018-08-14 Micron Technology, Inc. Virtual register file
US10140104B2 (en) 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
US9959923B2 (en) 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
US10073786B2 (en) * 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US9704541B2 (en) 2015-06-12 2017-07-11 Micron Technology, Inc. Simulating access lines
KR102238296B1 (ko) * 2015-06-12 2021-04-08 에스케이하이닉스 주식회사 반도체 메모리 장치
US9921777B2 (en) * 2015-06-22 2018-03-20 Micron Technology, Inc. Apparatuses and methods for data transfer from sensing circuitry to a controller
US10403352B2 (en) * 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US11157422B2 (en) * 2017-03-31 2021-10-26 Intel Corporation Shared memory for intelligent network interface cards

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1344028A (zh) * 1996-03-08 2002-04-10 株式会社日立制作所 半导体集成电路装置
TW200943315A (en) * 2008-02-20 2009-10-16 Renesas Tech Corp Semiconductor signal processing device
CN105556607A (zh) * 2013-08-08 2016-05-04 美光科技公司 使用感测电路执行逻辑运算的设备及方法

Also Published As

Publication number Publication date
EP3586334B1 (en) 2023-07-19
EP3586334A1 (en) 2020-01-01
CN110326046A (zh) 2019-10-11
EP3586334A4 (en) 2020-12-02
KR20190110154A (ko) 2019-09-27
US20180240510A1 (en) 2018-08-23
WO2018156398A1 (en) 2018-08-30
US11682449B2 (en) 2023-06-20
TW201835906A (zh) 2018-10-01
TWI656533B (zh) 2019-04-11
US11011220B2 (en) 2021-05-18
US20190362771A1 (en) 2019-11-28
KR102305389B1 (ko) 2021-09-28
US20210272622A1 (en) 2021-09-02
US10403352B2 (en) 2019-09-03

Similar Documents

Publication Publication Date Title
CN110326046B (zh) 用于在数据路径中计算的设备及方法
US10482948B2 (en) Apparatuses and methods for data movement
CN109147842B (zh) 同时进行数据路径中计算操作的设备及方法
US20220004497A1 (en) Apparatuses and methods for cache operations
CN107408404B (zh) 用于存储器装置的设备及方法以作为程序指令的存储
CN107408405B (zh) 用于并行写入到多个存储器装置位置的设备及方法
CN110462738B (zh) 用于数据路径内计算操作的设备及方法
US11474965B2 (en) Apparatuses and methods for in-memory data switching networks
CN112840401B (zh) 用于存储器装置处理的设备、方法和系统
CN112802517B (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