CN107004433B - 用于比较值的方法和设备 - Google Patents
用于比较值的方法和设备 Download PDFInfo
- Publication number
- CN107004433B CN107004433B CN201580037262.8A CN201580037262A CN107004433B CN 107004433 B CN107004433 B CN 107004433B CN 201580037262 A CN201580037262 A CN 201580037262A CN 107004433 B CN107004433 B CN 107004433B
- Authority
- CN
- China
- Prior art keywords
- value
- memory cells
- coupled
- bit
- sense
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4091—Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
- G11C11/4087—Address decoders, e.g. bit - or word line decoders; Multiple line decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
- G11C7/065—Differential amplifiers of latching type
-
- 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
- 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
- G11C7/1012—Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Memory System (AREA)
- Dram (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明的一个实例包含:使用存储于存储器阵列的耦合到感测线的若干个存储器单元的第一部分中的第一值的逻辑表示及存储于所述存储器阵列的耦合到所述感测线的所述若干个存储器单元的第二部分中的第二值的逻辑表示来在存储器中执行比较操作。所述比较操作将所述第一值与所述第二值进行比较,且方法可包含将所述比较操作的结果的逻辑表示存储于所述存储器阵列的耦合到所述感测线的所述若干个存储器单元的第三部分中。
Description
技术领域
本发明一般来说涉及半导体存储器设备及方法,且更特定来说涉及与在存储器中执行比较操作有关的设备及方法。
背景技术
存储器装置通常经提供为计算机或其它电子系统中的内部半导体集成电路。存在包含易失性及非易失性存储器的许多不同类型的存储器。易失性存储器可需要电力来维持其数据(例如,主机数据、错误数据等)且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)及晶闸管随机存取存储器(TRAM)以及其它。非易失性存储器可通过在未被供电时保持所存储数据而提供持久数据且可包含NAND快闪存储器、NOR快闪存储器及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)及磁阻式随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STT RAM)以及其它。
电子系统通常包含可检索及执行指令且将所执行指令的结果存储到适合位置的若干个处理资源(例如,一或多个处理器)。处理器可包括(举例来说)可执行指令以对数据(例如,一或多个操作数)执行例如AND、OR、NOT、NAND、NOR及XOR逻辑操作等逻辑操作的若干个功能单元(例如,在本文中称为功能单元电路(FUC)),例如算术逻辑单元(ALU)电路、浮动点单元(FPU)电路及/或组合逻辑块。
在将指令提供到功能单元电路以用于执行时可涉及电子系统中的若干个组件。可(例如)由例如控制器及/或主机处理器等处理资源产生所述指令。数据(例如,将对其执行指令以执行逻辑操作的操作数)可存储于可由FUC存取的存储器阵列中。可从存储器阵列检索指令及/或数据且在FUC开始对数据执行指令之前对指令及/或数据进行定序及/或缓冲。此外,由于可通过FUC在一或多个时钟循环中执行不同类型的操作,因此还可对操作及/或数据的中间结果进行定序及/或缓冲。
在许多实例中,处理资源(例如,处理器及/或相关联的FUC)可在存储器阵列外部,且可存取数据(例如,经由处理资源与存储器阵列之间的总线)以执行指令。可经由总线将数据从存储器阵列移动到在存储器阵列外部的寄存器。
发明内容
一方面,本申请涉及一种用于比较值的方法,其包括:使用存储于存储器阵列的耦合到一感测线的若干个存储器单元的第一部分中的第一值的逻辑表示及存储于所述存储器阵列的耦合到所述感测线的所述若干个存储器单元的第二部分中的第二值的逻辑表示来在存储器中执行第一多个逻辑操作;将所述第一多个逻辑操作的结果存储在所述存储器阵列的耦合到所述互补感测线的所述若干个存储器单元的第四部分中;使用所述第一多个逻辑操作的所述结果来在存储器中执行第二多个逻辑操作,其中所述第一多个逻辑操作和所述第二多个逻辑操作经执行以比较所述第一值与所述第二值;其中执行所述多个第二逻辑操作中的至少一者包括顺序地一次激活单个选择线;及将所述第二多个逻辑操作的结果的逻辑表示存储于所述存储器阵列的耦合到所述感测线的所述若干个存储器单元的第三部分中。
另一方面,本申请涉及一种设备,其包括:存储器阵列的第一地址空间,其包括耦合到感测线且耦合到第一数目个选择线的第一数目个存储器单元,其中所述第一地址空间存储第一值;所述存储器阵列的第二地址空间,其包括耦合到所述感测线且耦合到第二数目个选择线的第二数目个存储器单元,其中所述第二地址空间存储第二值;所述存储器阵列的第三地址空间,其包括耦合到所述感测线且耦合到第三数目个选择线的第三数目个存储器单元,其中所述第三地址空间存储第二多个逻辑操作的结果;所述存储器阵列的第四地址空间,其包括耦合到所述感测线且耦合到第四数目个选择线的第四数目个存储器单元,其中所述第四地址空间存储第一多个逻辑操作的结果;及控制电路,其经配置以控制感测电路以:使用所述第一值和所述第二值来执行所述第一多个逻辑操作,其中所述第一多个逻辑操作包括XOR操作;将所述第一多个逻辑操作的所述结果存储在所述第四地址空间中;使用所述第一多个逻辑操作的所述结果来执行所述第二多个逻辑操作以比较所述第一值与所述第二值;以及将所述第二多个逻辑操作的所述结果存储于所述第三地址空间中。
又一方面,本申请涉及一种用于执行若干个比较操作的方法,其包括:使用存储器阵列的耦合到若干个感测线的若干个计算组件来将存储于所述存储器阵列的耦合到所述若干个感测线的存储器单元的若干个第一部分中的若干个第一值与存储于所述存储器阵列的耦合到所述若干个感测线的所述存储器单元的若干个第二部分中的若干个第二值进行比较;其中每一比较操作包括执行多个逻辑操作,其中在不同时激活多于一个选择线的情况下执行所述多个逻辑操作中的至少一者;将若干个比较操作的若干个结果存储于所述存储器阵列的耦合到所述若干个感测线的所述存储器单元的若干个第三部分中,其中每一计算组件耦合到相应感测线且用以将存储在耦合到所述相应感测线的存储器单元的相应第一部分中的相应第一值与存储在耦合到所述相应感测线的存储器单元的相应第二部分中的相应第二值进行比较,且比较操作的相应结果被存储在耦合到所述相应感测线的存储器单元的相应第三部分中;且其中所述若干个比较操作中的每一者使用相同数目个计算来执行所述若干个比较操作中的每一者。
附图说明
图1是根据本发明的若干个实施例的呈包含存储器装置的计算系统的形式的设备的框图。
图2A图解说明根据本发明的若干个实施例的存储器阵列的一部分的示意图。
图2B图解说明根据本发明的若干个实施例的与使用感测电路执行若干个逻辑操作相关联的时序图。
图2C-1及2C-2图解说明根据本发明的若干个实施例的与使用感测电路执行若干个逻辑操作相关联的时序图。
图2D-1及2D-2图解说明根据本发明的若干个实施例的与使用感测电路执行若干个逻辑操作相关联的时序图。
图2E图解说明根据本发明的若干个实施例的耦合到感测电路的存储器阵列的一部分的示意图。
图3A图解说明展示根据本发明的若干个实施例的处于与执行串行比较操作相关联的特定阶段的阵列的一部分的单元的状态的逻辑图。
图3B图解说明展示处于与执行比较操作相关联的特定阶段的阵列部分的单元的状态的逻辑图。
图3C图解说明展示处于与执行比较操作相关联的特定阶段的阵列部分的单元的状态的逻辑图。
图3D图解说明展示处于与执行比较操作相关联的特定阶段的阵列部分的单元的状态的逻辑图。
图3E图解说明展示处于与执行比较操作相关联的特定阶段的阵列部分的单元的状态的逻辑图。
图3F图解说明展示处于与执行比较操作相关联的特定阶段的阵列部分的单元的状态的逻辑图。
图3G图解说明展示处于与执行比较操作相关联的特定阶段的阵列部分的单元的状态的逻辑图。
图3H图解说明展示处于与执行比较操作相关联的特定阶段的阵列部分的单元的状态的逻辑图。
图3I图解说明展示处于与执行比较操作相关联的特定阶段的阵列部分的单元的状态的逻辑图。
图3J图解说明展示处于与执行比较操作相关联的特定阶段的阵列部分的单元的状态的逻辑图。
图3K图解说明展示处于与执行比较操作相关联的特定阶段的阵列部分的单元的状态的逻辑图。
图3L图解说明展示处于与执行比较操作相关联的特定阶段的阵列部分的单元的状态的逻辑图。
图3M图解说明展示处于与执行比较操作相关联的特定阶段的阵列部分的单元的状态的逻辑图。
图4图解说明根据本发明的若干个实施例的感测电路的示意图。
图5图解说明根据本发明的若干个实施例的感测电路的一部分的示意图。
图6A图解说明根据本发明的若干个实施例的与使用感测电路执行若干个逻辑操作相关联的时序图。
图6B图解说明根据本发明的若干个实施例的与使用感测电路执行若干个逻辑操作相关联的时序图。
图7是图解说明根据本发明的若干个实施例的具有可选择逻辑操作选择逻辑的感测电路的示意图。
图8是图解说明根据本发明的若干个实施例的可由感测电路实施的可选择逻辑操作结果的逻辑表。
具体实施方式
本发明包含与存储器的比较操作有关的设备及方法。可存储于位向量中(例如,存储器阵列中)的逻辑值的实例包括第一地址空间,所述第一地址空间包括耦合到感测线且耦合到第一数目个选择线的存储器单元。所述第一地址空间的所述存储器单元可存储第一值。第二地址空间包括耦合到所述感测线且耦合到第二数目个选择线的存储器单元。所述第二地址空间的所述存储器单元可存储第二值。所述比较操作的结果存储于第三地址空间中,所述第三地址空间包括耦合到所述感测线且耦合到第三数目个选择线的存储器单元。所述第三地址空间的所述存储器单元可存储所述比较操作的所述结果的逻辑表示。
如本文中所使用,所述第一值及所述第二值是彼此相比较的数值。即,可将所述第一值与所述第二值进行比较及/或可将所述第二值与所述第一值进行比较。比较操作可确定所述第一值是否大于所述第二值、所述第二值是否大于所述第一值及/或所述第一值是否等于所述第二值。
本发明的若干个实施例可相比于先前方法提供执行若干个比较操作(例如,比较函数)时涉及的计算数目及时间的减少。由于可并行(例如,同时)执行若干个比较操作,因此可减少计算及时间。并行执行若干个比较操作可减少在执行所述若干个比较操作时涉及的计算。并行执行若干个比较操作还可减少执行若干个计算时的电力消耗。例如,若干个实施例可提供:使用以逻辑方式存储(例如,在存储器阵列中的若干个存储器单元中以二进制形式)的数据(例如,第一值及第二值)执行比较操作。实施例可在不经由总线(例如,数据总线、地址总线、控制总线等)将数据传送出存储器阵列及/或感测电路的情况下执行比较操作。比较操作可涉及执行若干个逻辑操作(例如,AND、OR、XOR等)。然而,实施例并不限于这些实例。
在先前方法中,可经由包括输入/输出(I/O)线的总线将数据(例如,第一值及第二值)从阵列及感测电路传送到若干个寄存器。可由例如处理器、微处理器及/或计算引擎的处理资源使用所述若干个寄存器,所述处理资源可包括ALU电路及/或经配置以执行适当逻辑操作的其它功能单元电路。然而,可由ALU电路执行仅单个比较函数。经由总线将数据从寄存器传送到存储器或将数据从存储器传送到寄存器可涉及显著电力消耗及时间需要。即使处理资源与存储器阵列位于同一芯片上,在将数据从阵列移出到计算电路时也可消耗显著电力,将数据从阵列移出到计算电路可涉及(例如)执行感测线地址存取(例如,激发列解码信号)以便将数据从感测线传送到I/O线上、将数据移动到阵列外围装置及将数据提供到与比较函数相关联的寄存器。
在本发明的以下详细描述中,参考形成本发明的一部分且其中以图解说明方式展示可如何实践本发明的一或多个实施例的附图。充分详细地描述这些实施例以使所属领域的技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在不背离本发明的范围的情况下做出过程、电及/或结构改变。如本文中所使用,特定来说关于图式中的参考编号的标识符“N”、“M”、“F”、“R”及“P”指示可包含如此指定的若干个特定特征。如本文中所使用,“若干个”特定事物可指此类事物中的一或多者(例如,若干个存储器阵列可指一或多个存储器阵列)。
本文中的图遵循其中第一个数字或前几个数字对应于图式的图编号且剩余数字识别图式中的元件或组件的编号惯例。不同图之间的类似元件或组件可通过使用类似数字来识别。举例来说,在图2A中204可指代元件“04”,且在图3A中类似元件可指代为304。如将了解,可添加、更换及/或消除本文中的各种实施例中所展示的元件以便提供本发明的若干个额外实施例。另外,如将了解,图中所提供的元件的比例及相对标度打算图解说明本发明的某些实施例且不应视为具限制性意义。
图1是根据本发明的若干个实施例的呈包含存储器装置160的计算系统100的形式的设备的框图。如本文中所使用,还可将存储器装置160、存储器阵列130及/或感测电路150单独视为“设备”。
系统100包含耦合到包含存储器阵列130的存储器装置160的主机110。主机110可为主机系统,例如个人膝上型计算机、桌上型计算机、数码相机、移动电话或存储器读卡器以及各种其它类型的主机。主机110可包含系统母板及/或底板且可包含若干个处理资源(例如,一或多个处理器、微处理器或某一其它类型的控制电路)。系统100可包含单独集成电路,或主机110及存储器装置160两者可位于同一集成电路上。系统100可为(例如)服务器系统及/或高性能计算(HPC)系统及/或其一部分。尽管图1中所展示的实例图解说明具有范纽曼型架构的系统,但可以非范纽曼型架构(例如,杜林机)实施本发明的实施例,非范纽曼型架构可不包含通常与范纽曼型架构相关联的一或多个组件(例如,CPU、ALU等)。
为了清晰起见,系统100已经简化以集中于与本发明具有特定相关性的特征。存储器阵列130可为(例如)DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪阵列及/或NOR快闪阵列。阵列130可包括布置成由选择线(其可在本文中称为字线或存取线)耦合的行及由感测线(其可在本文中称为数字线或数据线)耦合的列的存储器单元。尽管图1中展示单个阵列130,但实施例并不限于此。例如,存储器装置160可包含若干个阵列130(例如,若干个DRAM单元库)。与图2A相关联地描述实例性DRAM阵列。
存储器装置160包含地址电路142以锁存通过I/O电路144经由I/O总线156(例如,数据总线)提供的地址信号。由行解码器146及列解码器152接收并解码地址信号以存取存储器阵列130。在若干个实例中,可由更多或更少行解码器解码地址信号。举例来说,存储器装置可包含三个行解码器。如本文中所使用,行解码器可称为选择解码器。可通过使用感测电路150在感测线上感测电压及/或电流改变而从存储器阵列130读取数据。感测电路150可从存储器阵列130读取且锁存一页(例如,行)数据。I/O电路144可用于经由I/O总线156与主机110进行双向数据通信。写入电路148用于将数据写入到存储器阵列130。
在若干个实例中,术语解码可包含在行解码器146及/或列解码器152中实施的预解码、最终解码及/或任一其它类型的解码。在若干个实例中,术语预解码包含电路实施预解码过程使得地址并非离散地寻址。术语预解码及解码可在本文中用于区分术语可离散寻址线及/或可个别寻址线。
在若干个实例中,存储器阵列130中的若干个选择线及/或感测线可独立于存储器阵列130的其它选择线及/或感测线而个别寻址及/或解码。如本文中所使用,离散地址可为不需要解码以便激活特定选择线的地址。举例来说,地址电路142可接收与若干个选择线相关联的地址,可在不解码与所述若干个选择线相关联的地址的情况下激活所述若干个选择线。在若干个实例中,经个别寻址行及/或经离散寻址行可称为经完全解码行。与存储器阵列130相关联的存储器单元可包括(例如)以其它方式用于DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪阵列及/或NOR快闪阵列以及其它存储器配置中的存储器单元。
控制电路140解码通过控制总线154从主机110提供的信号。这些信号可包含用于控制对存储器阵列130执行的操作(包含数据读取、数据写入及数据擦除操作)的芯片启用信号、写入启用信号及地址锁存信号。在各种实施例中,控制电路140负责执行来自主机110的指令。控制电路140可为状态机、定序器或某一其它类型的控制器。
下文与图2A及图3A到3M相关联地进一步描述感测电路150的实例。例如,在若干个实施例中,感测电路150可包括若干个感测放大器及若干个计算组件,所述若干个计算组件可包括累加器且可用于执行逻辑操作(例如,对与互补感测线相关联的数据)。在若干个实施例中,感测电路(例如,150)可用于使用存储于阵列130中的数据作为输入来执行比较操作且在不经由感测线地址存取传送的情况下(例如,在不激发列解码信号的情况下)将比较操作的结果往回存储到阵列130。耦合到存储器阵列130中的选择线及感测线的存储器单元可在执行比较操作及/或执行比较操作时涉及的计算期间用作暂时存储装置(例如,寄存器)。如此,替代由在感测电路150外部的处理资源(例如,由与主机110相关联的处理器及/或位于装置160上(例如,控制电路140上或别处)的其它处理电路,例如ALU电路)执行及/或除此之外,比较函数还可使用所述感测电路执行。
在各种先前方法中,(例如)将经由感测电路从存储器读取与比较操作相关联的数据且将所述数据提供到外部ALU。外部ALU电路将使用操作数执行比较函数且可经由局部I/O线将结果传送回到阵列。相比来说,在本发明的若干个实施例中,感测电路(例如,150)经配置以对存储于存储器阵列130中的存储器单元中的数据执行比较操作且在不启用耦合到感测电路的局部I/O线的情况下将结果往回存储到阵列130。
如此,在若干个实施例中,可不需要在阵列130及感测电路150外部的寄存器及/或ALU执行比较函数,因为感测电路150可使用存储器阵列130的地址空间执行在执行比较函数时涉及的适当计算。另外,可在不使用外部处理资源的情况下执行比较函数。
图2A图解说明根据本发明的若干个实施例的存储器阵列230的一部分的示意图。在此实例中,存储器阵列230是各自由存取装置202(例如,晶体管)及存储元件203(例如,电容器)组成的1T1C(一个晶体管一个电容器)存储器单元270-0、270-1、270-2、…、270-N-1、270-N(例如,共同称为存储器单元270)的DRAM阵列。
在若干个实施例中,存储器单元270可为破坏性读取存储器单元(例如,读取存储于所述单元中的数据会破坏数据使得起初存储于单元中的数据在经读取之后被刷新)。存储器单元270布置成由选择线204-0(行0)、204-1(行1)、204-2(行2)、…、204-N-1(行N-1)、204-N(行N)(例如,共同称为选择线204)耦合的行及由感测线(例如,数字线)205-0(D)及205-1(D_)(例如,共同称为感测线205)耦合的列。在若干个实施例中,阵列230可包含耦合到单独电路的地址空间。
在此实例中,每一单元列与一对互补感测线205-0(D)及205-1(D_)相关联。图2A中所图解说明的结构可用于提供许多互补感测线205、选择线204及/或存储器单元270。尽管图2A中仅图解说明单个存储器单元270列,但实施例并不限于此。例如,特定阵列可具有若干单元列及/或感测线(例如,4,096、8,192、16,384等)。在图2A中,存储器单元270耦合到感测线205-0。特定单元晶体管202的栅极耦合到其对应选择线204-0到204-N(例如,共同称为选择线204),第一源极/漏极区域耦合到其对应感测线205-0,且特定单元晶体管的第二源极/漏极区域耦合到其对应电容器,例如,电容器203。尽管图2A中未图解说明,但感测线205-1也可具有耦合到其的存储器单元。
在若干个实例中,耦合到感测线205-0的存储器单元270可存储位。所述位可表示一值及/或若干个值(例如,第一值、第二值、暂时值及/或结果值)的逻辑表示。举例来说,第一值可由可沿着感测线205-0存储于存储器单元270-0、存储器单元270-1及存储器单元270-2中的三位向量表示。在若干个实例中,位向量可由多于或少于图2A中所论述的那些位的位表示。结合图3A到3M论述其它实例。举例来说,第一值可由4位向量、8位向量、16位向量及/或32位向量以及其它位向量维度表示。在若干个实例中,可沿着选择线204水平地(与沿着感测线205垂直地相反)存储值的每一位向量表示。
可对值的每一位向量逻辑表示加索引。举例来说,存储于存储器单元270-0中的位可与第一索引相关联,存储于存储器单元270-1中的位可与第二索引相关联,且存储于存储器单元270-2中的位可与第三索引相关联。作为实例,所述第三索引可指示所存储位向量的最高有效位(MSB)且所述第一索引可指示所存储位向量的最低有效位(LSB)。在若干个实例中,可通过将表示第一值的逻辑表示的位与表示第二值的逻辑表示的位进行比较而执行比较操作。可通过首先将来自第一值的逻辑表示的最高有效位与来自第二值的逻辑表示的最高有效位进行比较而执行所述比较操作。可通过将来自第一值的逻辑表示的次高有效位与来自第二值的逻辑表示的次高有效位进行比较而继续所述比较操作。次高有效位可表示与每当执行比较操作的迭代时递减的索引相关联的位。
与图2A相关联地使用的加索引是演示的而非限制性的。可在若干个实施例中采用其它加索引系统及/或次序。举例来说,存储于存储器单元270-2中的位可与第一索引相关联,存储于存储器单元270-1中的位可与第二索引相关联,且存储于存储器单元270-3中的位可与第三索引相关联。此外,可使用若干个不同布局及/或存储器单元定向执行本文中所描述的操作。
若干个值可存储于存储器阵列230的感测线中的每一者中。举例来说,存储器单元270-0、270-1、270-2可存储表示第一值的若干个位,存储器单元270-3、270-4、270-5可存储表示第二值的若干个位,存储器单元270-6可存储表示第一暂时值的若干个位,存储器单元270-7可存储表示第二暂时值的若干个位,且存储器单元270-8、270-9可存储表示比较操作的结果的若干个位,虽然图2A中未图解说明存储器单元270-4到存储器单元270-9,但存储器单元270-4到存储器单元270-9包含于存储器单元270-0…270-N的范围中。如所展示的存储器单元270-0到270-9耦合到第一感测线。耦合到不同感测线的存储器单元可存储表示不同第一值、不同第二值、不同第一暂时值、不同第二暂时值及/或不同比较操作的不同结果的若干个位。
在若干个实例中,可并行激活耦合到选择线204-0且耦合到若干个感测线(例如,感测线205-0及感测线205-1)的存储器单元。此外,还可通过并行激活选择线204-0、选择线204-1、选择线204-2及选择线204-3而并行激活存储器单元270-0、存储器单元270-1、存储器单元270-2、存储器单元270-3。在若干个实例中,可并行激活经独立寻址选择线204及/或感测线205以并行激活若干个存储器单元。
感测电路250包括感测放大器206及计算组件231。感测电路250可为图1中所展示的感测电路150。图2A还展示耦合到存储器阵列230的感测电路250。感测放大器206耦合到对应于特定存储器单元列的互补感测线D、D_。可操作感测放大器206以确定存储于选定单元(例如,存储器单元270)中的状态(例如,逻辑数据值)。实施例不限于给定感测放大器架构或类型。例如,根据本文中所描述的若干个实施例的感测电路可包含电流模式感测放大器及/或单端感测放大器(例如,耦合到一个感测线的感测放大器)。
在若干个实施例中,计算组件231可包括按与感测放大器206及/或阵列(例如,230)的存储器单元270的晶体管相同的间距形成的若干个晶体管,所述若干个晶体管可符合特定特征大小(例如,4F2、6F2等)。如本文中所使用,按间距用于描述沿着同一列耦合到同一感测线的电路。如下文进一步描述,计算组件231可联合感测放大器206操作以使用来自阵列230中的存储器单元270的数据作为输入来执行比较操作且在不经由感测线地址存取传送数据的情况下(例如,在不激发列解码信号使得经由局部I/O线将数据传送到在阵列及感测电路外部的电路的情况下)将结果往回存储到阵列230中的存储器单元270。如此,本发明的若干个实施例可实现使用少于各种先前方法的电力来执行比较操作及与其相关联的计算。另外,由于若干个实施例消除对跨越局部I/O线传送数据以便执行计算函数的需要,因此若干个实施例可使用计算组件231及存储器单元270实现与先前方法相比较经增加的并行处理能力。
在图2A中所图解说明的实例中,对应于计算组件231的电路包括耦合到感测线D及D_中的每一者的五个晶体管;然而,实施例不限于此实例。晶体管207-1及207-2具有分别耦合到感测线D及D_的第一源极/漏极区域及耦合到交叉耦合锁存器(例如,耦合到一对交叉耦合晶体管(例如交叉耦合NMOS晶体管208-1及208-2以及交叉耦合PMOS晶体管209-1及209-2)的栅极)的第二源极/漏极区域。如本文中进一步描述,包括晶体管208-1、208-2、209-1及209-2的交叉耦合锁存器可称为次级锁存器(例如,对应于感测放大器206的交叉耦合锁存器可在本文中称为初级锁存器)。
晶体管207-1及207-2可称为通过晶体管,所述通过晶体管可经由相应信号211-1(Passd)及211-2(Passdb)经启用以便将相应感测线D及D_上的电压或电流传递到包括晶体管208-1、208-2、209-1及209-2的交叉耦合锁存器的输入(例如,次级锁存器的输入)。在此实例中,晶体管207-1的第二源极/漏极区域耦合到晶体管208-1及209-1的第一源极/漏极区域以及晶体管208-2及209-2的栅极。类似地,晶体管207-2的第二源极/漏极区域耦合到晶体管208-2及209-2的第一源极/漏极区域以及晶体管208-1及209-1的栅极。
晶体管208-1及208-2的第二源极/漏极区域共同耦合到负控制信号212-1(Accumb)。晶体管209-1及209-2的第二源极/漏极区域共同耦合到正控制信号212-2(Accum)。Accum信号212-2可为供应电压(例如,Vcc)且Accumb信号可为参考电压(例如,接地)。启用信号212-1及212-2会激活对应于次级锁存器的包括晶体管208-1、208-2、209-1及209-2的交叉耦合锁存器。经激活交叉耦合锁存器操作以放大共同节点217-1与共同节点217-2之间的差分电压,使得节点217-1经驱动到Accum信号电压及Accumb信号电压中的一者(例如,Vcc及接地中的一者),且节点217-2经驱动到Accum信号电压及Accumb信号电压中的另一者。如下文进一步描述,信号212-1及212-2经标记为“Accum”及“Accumb”,因为次级锁存器可在用于执行逻辑操作(例如,比较操作)时用作累加器。在若干个实施例中,累加器包括形成次级锁存器的交叉耦合晶体管208-1、208-2、209-1及209-2以及通过晶体管207-1及207-2。如本文中进一步描述,在若干个实施例中,包括耦合到感测放大器的累加器的计算组件可经配置以执行逻辑操作,所述逻辑操作包括对由一对互补感测线中的至少一者上的信号(例如,电压或电流)表示的数据值执行累加操作。
计算组件231还包含具有耦合到相应数字线D及D_的第一源极/漏极区域的反相晶体管214-1及214-2。晶体管214-1及214-2的第二源极/漏极区域分别耦合到晶体管216-1及216-2的第一源极/漏极区域。晶体管214-1及214-2的栅极耦合到信号213(InvD)。晶体管216-1的栅极耦合到共同节点217-1,晶体管208-2的栅极、晶体管209-2的栅极以及晶体管208-1及209-1的第一源极/漏极区域也耦合到共同节点217-1。以互补方式,晶体管216-2的栅极耦合到共同节点217-2,晶体管208-1的栅极、晶体管209-1的栅极以及晶体管208-2及209-2的第一源极/漏极区域也耦合到共同节点217-2。如此,启用信号InvD用于使存储于次级锁存器中的数据值反转且将经反转值驱动到感测线205-0及205-1上。
在图2A中,计算组件231经配置以执行比较操作。以下实例将演示可如何使用存储于阵列230中的数据作为输入来执行比较操作及可如何经由感测电路(例如,感测放大器206及计算组件231)的操作将比较操作的结果存储于所述阵列中。实例涉及使用存储于耦合到选择线204-0到204-N且共同耦合到感测线205-0的存储器单元270中的数据值(例如,具有逻辑“1”或逻辑“0”的位)作为比较操作的相应输入。可将比较操作的结果往回存储于耦合到感测线205-0的存储器单元中。
作为实例,计算组件231可使用存储于耦合到感测线205-0的若干个存储器单元270的第一部分及第二部分中的第一值及第二值。所述第一部分可包含第一地址空间中的第一数目个存储器单元(例如,存储器单元270-0、270-1、270-2)。所述第二部分可包含第二地址空间中的第二数目个存储器单元(例如,存储器单元270-3、270-4、270-5)。可将比较操作的结果存储于第三地址空间中的存储器单元270(例如,存储器单元270-8、270-9)的第三部分中。
执行比较操作可包含在将第一值的逻辑表示存储于存储器单元270的第一部分中之前清除存储器单元270的第一部分。执行比较操作还可包含在将第二值的逻辑表示存储于存储器单元270的第二部分中之前清除存储器单元270的第二部分。执行比较操作还可包含在将比较操作的结果存储于存储器单元270的第三部分中之前清除存储器单元270的第三部分。执行比较操作可进一步包含在将用于执行比较操作的中间值(例如,暂时值)存储于存储器单元270的其它部分中之前清除存储器单元270的任何其它部分。清除存储器单元270的一部分包括将若干个预定义位存储于存储器单元270的选定部分中。预定义位可包含零数据值(例如,0位)、一数据值(例如,1位)及/或零、一的任一组合及/或其它数据值。
比较操作可包含确定第一值是否大于第二值。在若干个实例中,确定第一值是否大于第二值仅识别第一值是否较大,但不识别第二值是否大于第一值及/或第一值是否等于第二值。举例来说,如果第一值不大于第二值,那么第二值可大于第一值或第一值可等于第二值。
因此,比较操作还可包含确定第二值是否大于第一值。然而,在若干个实例中,确定第二值是否大于第一值仅识别第二值是否较大,但不识别第一值是否大于第二值及/或第二值是否等于第一值。
因此,比较操作还可包含确定第一值与第二值是否相等。在若干个实例中,确定第一值是否等于第二值仅识别第一值与第二值是否相等,但不识别第一值是否大于第二值或第二值是否大于第一值。
如此,上文所描述的比较操作可划分成计算的迭代。如本文中所使用,计算可描述在执行比较操作时涉及的计算操作。举例来说,析取(例如,OR)操作可为计算,及/或加法操作可为计算以及其它计算。比较的迭代可与索引相关联。如此,每当索引递增或递减时可起始比较操作的新迭代。
在二进制实例中,可通过确定存储于存储器单元的第一部分中的位是否等于存储于存储器单元的第二部分中的位而确定第一值是否等于第二值。可将来自存储器单元的第一部分的对应位与来自存储器单元的第二部分的对应位进行比较。如果来自第一值的逻辑表示的位等于来自第二值的逻辑表示的对应位,且如果来自第一值的逻辑表示的所有先前位等于来自第二值的逻辑表示的所有对应位,那么可将若干个位存储于存储器单元270的第三部分(例如,第三地址空间)中,此指示第一值等于第二值。
比较操作可包含:在确定来自存储于存储器单元270的第一部分及存储器单元270的第二部分中的若干个位对的较低有效位是否不同之前,确定来自存储于存储器单元270的第一部分及存储器单元270的第二部分中的若干个位对的较高有效位是否不同。举例来说,在三位值中,比较操作可包含:在确定来自是第一值的逻辑表示的若干个位的存储于存储器单元270-0中的位是否不同于来自是第二值的逻辑表示的若干个位的存储于存储器单元270-3中的位之前,确定来自是第一值的逻辑表示的若干个位的存储于存储器单元270-2中的位是否不同于来自是第二值的逻辑表示的若干个位的存储于存储器单元270-5中的位。在以上实例中,存储于存储器单元270-2中的位可比存储于存储器单元270-0中的位更有效,且存储于存储器270-5中的位可比存储于存储器单元270-3中的位更有效。
确定位是否不同可包含:如果来自第一值的逻辑表示的位不等于来自第二值的逻辑表示的对应位,那么确定来自第一值的逻辑表示的位是否大于来自第二值的逻辑表示的对应位。如果来自第一值的逻辑表示的位大于来自第二值的逻辑表示的对应位,那么可将若干个位存储于若干个存储器单元的第三部分(例如,第三地址空间)中,此指示第一值大于第二值。如果来自第二值的逻辑表示的对应位大于来自第一值的逻辑表示的位,那么可将若干个位存储于第三地址空间中的若干个存储器单元中,此指示第二值大于第一值。
本发明的实施例不限于图2A中所图解说明的特定感测电路配置。例如,不同计算组件电路可用于执行根据本文中所描述的若干个实施例的逻辑操作。尽管图2A中未图解说明,但在若干个实施例中,控制电路可耦合到阵列230、感测放大器206及/或计算组件231。此控制电路可(例如)与阵列及感测电路在同一芯片上及/或在例如外部处理器的外部处理资源上实施,且可控制启用/停用对应于阵列及感测电路的各种信号以便执行如本文中所描述的逻辑操作。此外,尽管图2A中展示单个互补感测线对(205-0/205-1),但阵列230可包含多个互补感测线对。
如下给出提供用于在存储器中执行比较操作的总结的实例性伪码:
在若干个实施例中,可使用清除操作、写入操作、读取操作、线OR运算、加法操作、减法操作及/或反转操作以及可用于执行比较操作的其它操作来执行所述比较操作。可使用布尔操作及非布尔操作执行以上操作。在若干个实施例中,可使用逻辑操作(例如,NAND、AND、NOR、XOR、OR等)执行布尔及非布尔操作。举例来说,执行比较操作可包含执行加法操作、减法操作、XOR运算、OR运算、AND运算及/或NOT操作以及可用于执行所述比较操作的其它操作。执行加法操作可包含执行OR运算、NAND运算及/或AND运算以及可用于执行加法操作的其它操作。减法操作可包含执行NAND运算、OR运算、AND运算及/或XOR运算以及可用于执行所述减法操作的其它操作。图2B、2C-1、2C-2、2D-1、2D-2及2E中给出联合计算组件231执行NAND、AND、NOR、XOR及OR逻辑操作的实例。
比较操作可包含形成tmp值及tmpset值(例如,“tmp=getTemp(0)”及“tmpset=getTmp(1)”)。tmp值及tmpset值可为用作暂时存储的值。
tmpset值表示是否已确定第一值不等于第二值。即,tmpset值表示是否已识别出第一值与第二值之间的差。
tmp值表示来自第一值的次高有效位是否不等于来自第二值的对应次高有效位。
如果存在表示第一值及第二值的相关联位中的任一者之间的差,那么可将是tmp值的逻辑表示的位设定为一(例如,“1”),或者如果未识别出表示第一值及第二值的相关联位之间的差、如果表示第一值及第二值的相关联位之间不存在差及/或如果相关联位之间的差不贡献于比较操作,那么可将是tmp值的逻辑表示的位设定为零(例如,“0”)。如果存在第一值与第二值之间的差,那么可将tmpset值设定为一(例如,“1”),或者如果未识别出第一值与第二值之间的差,那么可将tmpset值设定为零(例如,“0”)。
在若干个实例中,tmp值及/或tmpset值可作为单个位存储于单个存储器单元中,或者tmp值及/或tmpset值可使用若干个位存储于若干个存储器单元中。在若干个实例中,tmp值及tmpset值可表示为单个值及/或相异值。如图3A到图3M中所展示的实例中所使用,使用存储于存储器单元中的单个位以逻辑方式表示tmp值,而使用存储于不同存储器单元中的不同单个位以逻辑方式表示tmpset值。
比较操作可包含清除(例如,ClearOpenRow)计算组件231及/或耦合到存储器阵列230的计算组件231中的累加器。比较操作还可包含在将值存储于若干个存储器单元中之前清除所述存储器单元。经清除计算组件231可用于清除存储器单元。如本文中所使用,清除存储器单元可包含将预定义位存储于存储器单元中。举例来说,比较操作可包含清除tmpset值及/或结果值以及可被清除的其它值。举例来说,可通过将零(例如,“0”)位存储于存储值的逻辑表示的存储器单元中而清除所述值。
如本文中所使用,结果值还称为目的值。第一值还可称为如以上伪码中提及的srcA值。此外,第二值可称为如以上伪码中提及的srcB值。可使用若干个位(例如,1个、2个、4个、8个、16个、32个或64个位以及其它数目个位)表示第一值及第二值。举例来说,可由可存储于三个存储器单元中的三个位以逻辑方式表示第一值及第二值中的每一者。
比较操作可通过使用FOR循环执行对存储于若干个存储器单元270中的每一位索引的若干个调用。如本文中所使用,针对存储于若干个存储器单元270中的每一位索引执行的若干个调用是对比较操作的每一迭代的参考。举例来说,可在三个迭代中三次实施若干个调用,其中是第一值的逻辑表示的位向量包含三个位。FOR循环(例如,for(i=nbits-1;i>=0;i--))可包括将索引设定为最高有效索引(例如,i=nbits-1)。举例来说,如果第一值及第二值各自使用相应三位向量表示,那么可将索引设定为二(例如,i=3-1)。每当实施所述若干个调用时索引可递减一(例如,i--)。即,每当完成FOR循环的迭代时索引可递减一。比较操作可在索引小于零(例如,i<0)时结束。即,比较操作可在索引大于或等于零(例如,i>=0)时继续。
执行比较操作可包含将来自第一值及第二值的相关联位进行比较以确定第一值是否大于第二值、第二值是否大于第一值及/或第一值是否等于第二值。举例来说,如果存储于若干个存储器单元的第一部分中的位值等于存储于若干个存储器单元中的第二部分中的位值,那么第一值可等于第二值。即,可将来自若干个存储器单元的第一部分的对应位与来自若干个存储器单元的第二部分的对应位进行比较。举例来说,“1”位可被视为大于“0”位。“0”位可被视为等于“0”位。
来自第一值及第二值的对应位可包含与同一索引相关联的位。举例来说,可在比较具有较低索引的位之前比较具有较高索引的位。即,可确定来自第一值及第二值的具有第一索引的位是否相等,然后确定具有第二索引的位是否相等。在若干个实例中,第一索引可为比第二索引更有效的索引。
针对每一位索引执行的若干个调用可包含从存储器阵列读取第一值。从存储器读取值可包含将存储于若干个存储器单元270中的位(包括所述值的逻辑表示)中的每一者锁存到感测放大器206中。可以从最高有效到最低有效的次序锁存存储于若干个存储器单元270中的位。在若干个实例中,次高有效位可为针对来自与比较操作相关联的若干个迭代的下一迭代未经比较及/或锁存的位。举例来说,在比较操作的第一迭代期间,读取操作(例如,ReadRow(srcA+i))可锁存具有第三索引的位,所述位来自存储于存储第一值的逻辑表示的若干个存储器单元中的位向量。在比较操作的第二迭代期间,读取操作(例如,ReadRow(scrA+i))调用可锁存具有第二索引的位。在比较操作的第三迭代期间,读取操作(例如,ReadRow(scrA+i))可锁存具有第一索引的位。
针对与第一值及第二值相关联的每一位索引执行的若干个调用可包含使用来自第一值的次高有效位及来自第二值的次高有效位作为输入来执行XOR运算(例如,XorRow(srcB+i))。以上XOR运算(例如,XorRow(srcB+i))可用于将第一值与第二值进行比较以确定第一值是否等于第二值。举例来说,在比较操作的第一迭代期间,可将来自存储第一值的若干个存储器单元的具有第三索引的次高有效位与来自存储第二值的若干个存储器单元的具有第三索引的次高有效位进行比较以确定第三经索引位是否彼此相等。
针对每一位索引执行的若干个调用可包含使用先前XOR运算(例如,XorRow(srcB+i))的结果及对应tmpset值作为输入来执行XOR运算(例如,XorRow(tmpset))以确定是否已识别出比较操作的解。可在比较操作将第一值识别为大于第二值、将第二值识别为大于第一值或识别第一值等于第二值时识别出比较操作的解。
针对每一位索引执行的若干个调用可包含执行写入操作(例如,WriteRow(tmp))以将先前XOR运算(例如,XorRow(tmpset))的结果存储于存储tmp值的逻辑表示的存储器单元270中。如果来自第一值的次高有效位不等于来自第二值的次高有效位,那么写入操作(例如,WriteRow(tmp))可将一(例如,“1”)存储于相关联的存储器单元中。
针对每一位索引执行的若干个调用可包含使用tmp值及tmpset值作为输入来执行OR运算(例如,OrRow(tmpset))。若干个调用还可包含写入操作(例如,WriteRow(tmpset))以将OR运算(例如,OrRow(tmpset))的结果存储到存储tmpset值的逻辑表示的存储器单元270。先前OR运算(例如,OrRow(tmpset))及写入操作(例如,WriteRow(tmpset))可更新tmpset值以识别在比较操作的当前迭代中是否将识别出比较操作的解。
针对每一位索引执行的若干个调用可包含读取操作(例如,ReadRow(srcA+i))以锁存存储于与第一值的次高有效位相关联的存储器单元中的值。若干个调用还可包含AND运算(例如,AndRow(tmp)),其使用来自第一值的次高有效位及tmp值作为输入以确定第一值是否大于第二值。针对每一位索引执行的若干个调用还可包含OR运算(例如,OrRow(dest)),其使用先前AND运算(例如,AndRow(tmp))的结果及存储于与第一值相关联且存储结果值的存储器单元中的位作为输入。可将先前OR运算(例如,OrRow(dest))的结果存储(例如,WriteRow(dest))于存储结果值且与第一值相关联的存储器单元中。
针对每一位索引执行的若干个调用还可包含读取操作(例如,ReadRow(srcB+i))以锁存存储于与第二值的次高有效位相关联的存储器单元中的值。针对每一位索引执行的若干个调用还可包含AND运算(例如,AndRow(tmp)),其使用来自第二值的次高有效位及tmp值作为输入以确定第二值是否大于第一值。针对每一位索引执行的若干个调用还可包含OR运算(例如,OrRow(dest+1)),其使用先前AND运算(例如,AndRow(tmp))的结果及存储于与第二值相关联且存储结果值的存储器单元中的位作为输入。可将先前OR运算(例如,OrRow(dest+1))的结果存储(例如,WriteRow(dest+1))于与第二值相关联且存储结果值的存储器单元中。
针对每一位索引执行的若干个调用可包含中断操作(例如,中断)以退出FOR循环。中断操作可基于线OR运算(例如,!ACC_contains_any_zeroes())的结果而退出FOR循环以结束比较操作。如本文中所使用,NOT操作由以上伪码中的“!”符号表示。如本文中所使用,线OR运算可包含确定是否已结束针对若干个第一值及若干个第二值的若干个比较操作。图2E中进一步描述线OR运算。确定是否已结束针对若干个第一值及第二值的比较操作可基于与比较操作中的每一者相关联的tmpset值。举例来说,如果所有tmpset值等于一(例如,“1”),那么已结束所有比较操作。当已确定第一值大于第二值或第二值大于第一值时,与比较操作相关联的tmpset值可等于一(例如,“1”)。
图2B图解说明根据本发明的若干个实施例的与使用感测电路执行若干个逻辑操作相关联的时序图285-1。时序图285-1图解说明与执行逻辑操作(例如,R输入逻辑操作)的第一操作阶段相关联的信号(例如,电压信号)。例如,图2B中所描述的第一操作阶段可为AND、NAND、OR或NOR运算的第一操作阶段。如下文进一步描述,执行图2B中所图解说明的操作阶段可涉及消耗与先前处理方法相比显著较少的能量(例如,大约一半),先前处理方法可涉及提供电压轨之间(例如,供应与接地之间)的全摆动以执行计算函数。
在图2B中所图解说明的实例中,对应于互补逻辑值(例如,“1”及“0”)的电压轨是供应电压274(VDD)及接地电压272(Gnd)。在执行逻辑操作之前,可发生平衡使得互补感测线D及D_在平衡电压225(VDD/2)下短接在一起。下文与图3相关联地进一步描述平衡。
在时间t1处,对平衡信号226撤销激活,且然后激活选定行(例如,对应于其数据值将被感测且用作第一输入的存储器单元的行)。信号204-0表示施加到选定行(例如,行204-0)的电压信号。当行信号204-0达到对应于选定单元的存取晶体管(例如,202)的阈值电压(Vt)时,存取晶体管接通且将感测线D耦合到选定存储器单元(例如,如果单元是1T1C DRAM单元,那么耦合到电容器203),此在时间t2与t3之间形成感测线D与D_之间的差分电压信号(例如,如分别由信号205-0及205-1所指示)。由信号203表示选定单元的电压。由于能量守恒,形成D与D_之间的差分信号(例如,通过将单元耦合到感测线D)可不显著消耗能量,因为可在耦合到行的多个存储器单元内摊还与激活/撤销激活行信号204相关联的能量。
在时间t3处,感测放大器(例如,206)激活(例如,正控制信号290(例如,对应于图5中所展示的ACT 590)变高,且负控制信号228(例如,对应于图5中所展示的RnIF 528)变低),此放大D与D_之间的差分信号,从而导致对应于逻辑1的电压(例如,VDD)或对应于逻辑0的电压(例如,接地)处于感测线D上(且另一电压处于互补感测线D_上),使得所感测数据值存储于感测放大器206的初级锁存器中。在将感测线D(205-0)从平衡电压VDD/2充电到导轨电压VDD时发生此操作中的初级能量消耗。
在时间t4处,启用通过晶体管207-1及207-2(例如,经由分别施加到控制线211-1及211-2的相应Passd及Passdb控制信号),如图2C-1及2C-2中所展示。控制信号211-1及211-2共同称为控制信号211,如图2B中所展示。如本文中所使用,可通过参考例如Passd及Passdb等各种控制信号施加到的控制线而参考所述信号。例如,Passd信号可在图2C-1中称为控制信号211-1。在时间t5处,经由相应控制线212-1及212-2激活累加器控制信号Accumb及Accum。如下文所描述,累加器控制信号212-1及212-2可保持激活以用于后续操作阶段。如此,在此实例中,激活控制信号212-1及212-2会激活计算组件231的次级锁存器(例如,累加器)。将存储于感测放大器206中的所感测数据值传送(例如,复制)到次级锁存器。
在时间t6处,停用(例如,关断)通过晶体管207-1及207-2;然而,由于累加器控制信号212-1及212-2保持激活,因此经累加结果存储(例如,锁存)于次级锁存器(例如,累加器)中。在时间t7处,对行信号204-0撤销激活,且在时间t8处停用阵列感测放大器(例如,对感测放大器控制信号228及290撤销激活)。
在时间t9处,感测线D及D_是平衡的(例如,平衡信号226被激活),如由感测线电压信号205-0及205-1从其相应轨值移动到平衡电压225(VDD/2)所图解说明。所述平衡由于能量守恒定律而消耗极少能量。在此实例中,平衡可涉及在是VDD/2的平衡电压下将互补感测线D及D_短接在一起。例如,可在存储器单元感测操作之前发生平衡。
图2C-1及2C-2分别图解说明根据本发明的若干个实施例的与使用感测电路执行若干个逻辑操作相关联的时序图285-2及285-3。时序图285-2及285-3图解说明与执行逻辑操作(例如,R输入逻辑操作,其中R是输入的可变数目)的若干个中间操作阶段相关联的信号(例如,电压信号)。例如,时序图285-2对应于R输入NAND运算或R输入AND运算的若干个中间操作阶段,且时序图285-3对应于R输入NOR运算或R输入OR运算的若干个中间操作阶段。举例来说,执行AND或NAND运算可包含继例如图2B中所描述的初始操作阶段之后执行图2C-1中所展示的操作阶段一或多次。类似地,执行OR或NOR运算可包含继例如图2B中所描述的初始操作阶段之后执行图2C-2中所展示的操作阶段一或多次。
如时序图285-2及285-3中所展示,在时间t1处,停用平衡(例如,对平衡信号226撤销激活),且然后激活选定行(例如,对应于其数据值将被感测且用作例如第二输入、第三输入等的输入的存储器单元的行)。信号204-1表示施加到选定行(例如,行204-1)的电压信号。当行信号204-1达到对应于选定单元的存取晶体管(例如,202)的阈值电压(Vt)时,存取晶体管接通且将感测线D耦合到选定存储器单元(例如,如果单元是1T1C DRAM单元,那么耦合到电容器203),此举在时间t2与t3之间形成感测线D与D_之间的差分电压信号(例如,如分别由信号205-0及205-1所指示)。由信号203表示选定单元的电压。由于能量守恒,形成D与D_之间的差分信号(例如,通过将单元耦合到感测线D)可不消耗能量,这是因为可在耦合到行的多个存储器单元内摊还与激活/撤销激活行信号204相关联的能量。
在时间t3处,感测放大器(例如,206)激活(例如,正控制信号290变高,且负控制信号228变低),此举放大D与D_之间的差分信号,从而导致对应于逻辑1的电压(例如,VDD)或对应于逻辑0的电压(例如,接地)处于感测线D上(且另一电压处于互补感测线D_上),使得所感测数据值存储于感测放大器206的初级锁存器中。在将感测线D(205-0)从平衡电压VDD/2充电到导轨电压VDD时发生此操作中的初级能量消耗。
如时序图285-2及285-3中所展示,在时间t4处(例如,在感测选定单元之后),取决于特定逻辑操作而激活控制信号211-1(Passd)及211-2(Passdb)中的仅一者(例如,启用图2A中的通过晶体管207-1及207-2中的仅一者)。举例来说,由于图2C-1中的时序图285-2对应于NAND或AND运算的中间阶段,因此在时间t4处激活控制信号211-1且控制信号211-2保持撤销激活。相反地,由于图2C-2中的时序图285-3对应于NOR或OR运算的中间阶段,因此在时间t4处激活控制信号211-2且控制信号211-1保持撤销激活。从上文图2A中回想:累加器控制信号212-1(Accumb)及212-2(Accum)在图2B中所描述的初始操作阶段期间被激活,且其在中间操作阶段期间保持激活。
由于先前启用累加器,因此仅激活Passd(例如,图2C-1中的211-1)导致累加对应于电压信号205-0的数据值。类似地,仅激活Passdb(例如,图2C-2中的211-2)导致累加对应于电压信号205-1的数据值。例如,在其中仅激活Passd(211-1)的实例性AND/NAND运算(例如,图2C-1中的时序图285-2)中,如果存储于选定存储器单元(例如,在此实例中为行1存储器单元)中的数据值是逻辑0,那么与次级锁存器(例如,图2A中的290)相关联的经累加值被断言为低,使得次级锁存器存储逻辑0。如果存储于行1存储器单元中的数据值并非逻辑0,那么次级锁存器保持其所存储的行0数据值(例如,逻辑1或逻辑0)。如此,在此AND/NAND运算实例中,次级锁存器正用作零(0)累加器。
类似地,在其中仅激活Passdb的实例性OR/NOR运算(例如,图2C-2中的时序图285-3)中,如果存储于选定存储器单元(例如,在此实例中为行1存储器单元)中的数据值是逻辑1,那么与次级锁存器相关联的经累加值被断言为高,使得次级锁存器存储逻辑1。如果存储于行1存储器单元中的数据值并非逻辑1,那么次级锁存器保持其所存储的行0数据值(例如,逻辑1或逻辑0)。如此,在此OR/NOR运算实例中,次级锁存器正有效地用作一(1)累加器,因为D_上的电压信号205-1正设定累加器的真实数据值。
在例如图2C-1及2C-2中所展示的中间操作阶段结束时,对Passd信号(例如,用于AND/NAND)或Passdb信号(例如,用于OR/NOR)撤销激活(例如,在时间t5处),对选定行撤销激活(例如,在时间t6处),对感测放大器(例如,图2A中的206)撤销激活(例如,在时间t7处),且发生平衡(例如,在时间t8处)。可重复例如图2C-1或2C-2中所图解说明的中间操作阶段以便累加来自若干个额外行的结果。作为实例,可针对行2存储器单元执行时序图285-2或285-3的序列后续(例如,第二)次,针对行3存储器单元执行后续(例如,第三)次等。例如,针对10输入NOR运算,图2C-2中所展示的中间阶段可发生9次以提供10输入逻辑操作的9个输入,其中在初始操作阶段(例如,如图2B中所描述)期间确定第十输入。
图2D-1及2D-2分别图解说明根据本发明的若干个实施例的与使用感测电路执行若干个逻辑操作相关联的时序图285-4及285-5。时序图285-4及285-5图解说明与执行逻辑操作(例如,R输入逻辑操作)的最后操作阶段相关联的信号(例如,电压信号)。例如,图2D-1中的时序图285-4对应于R输入NAND运算或R输入NOR运算的最后操作阶段,且图2D-2中的时序图285-5对应于R输入AND运算或R输入OR运算的最后操作阶段。举例来说,执行NAND运算可包含继与图2C-1相关联地描述的中间操作阶段的若干个迭代之后执行图2D-1中所展示的操作阶段,执行NOR运算可包含继与图2C-2相关联地描述的中间操作阶段的若干个迭代之后执行图2D-1中所展示的操作阶段,执行AND运算可包含继与图2C-1相关联地描述的中间操作阶段的若干个迭代之后执行图2D-2中所展示的操作阶段,且执行OR运算可包含继与图2C-2相关联地描述的中间操作阶段的若干个迭代之后执行图2D-2中所展示的操作阶段。下文所展示的表1指示根据本文中所描述的若干个实施例的对应于与执行若干个R输入逻辑操作相关联的操作阶段序列的图。
表1
操作 | 图2B | 图2C-1 | 图2C-2 | 图2D-1 | 图2D-2 |
AND | 第一阶段 | R-1个迭代 | 最后阶段 | ||
NAND | 第一阶段 | R-1个迭代 | 最后阶段 | ||
OR | 第一阶段 | R-1个迭代 | 最后阶段 | ||
NOR | 第一阶段 | R-1个迭代 | 最后阶段 |
可(举例来说)通过以下操作实施NAND运算:将AND运算的R-1个迭代的结果存储于感测放大器中,然后在进行最后操作阶段之前使感测放大器反转以存储结果(下文所描述)。可(举例来说)通过以下操作实施NOR运算:将OR运算的R-1个迭代的结果存储于感测放大器中,然后在进行最后操作阶段之前使感测放大器反转以存储结果(下文所描述)。
与将R输入逻辑操作的结果存储到阵列(例如,图2A中的阵列230)的行相关联地描述图2D-1及2D-2的最后操作阶段。然而,如上文所描述,在若干个实施例中,可将结果存储到除往回到阵列以外的适合位置(例如,经由I/O线存储到与控制器及/或主机处理器相关联的外部寄存器、存储到不同存储器装置的存储器阵列等)。
如时序图285-4及285-5中所展示,在时间t1处,停用平衡(例如,对平衡信号226撤销激活)使得感测线D及D_浮动。在时间t2处,取决于正执行哪一逻辑操作而激活InvD信号213或Passd及Passdb信号211。在此实例中,激活InvD信号213以用于NAND或NOR运算(参见图2D-1),且激活Passd及Passdb信号211以用于AND或OR运算(参见图2D-2)。
在时间t2处激活InvD信号213(例如,与NAND或NOR运算相关联地)启用图2A中的晶体管214-1/214-2且在将感测线D或感测线D_下拉时导致存储于图2A中的次级锁存器290中的数据值的反转。如此,激活信号213会使经累加输出反转。因此,针对NAND运算,如果在先前操作阶段(例如,初始操作阶段及一或多个中间操作阶段)中感测的存储器单元中的任一者存储逻辑0(例如,如果NAND运算的R输入中的任一者是逻辑0),那么感测线D_将携载对应于逻辑0的电压(例如,接地电压)且感测线D将携载对应于逻辑1的电压(例如,供应电压,例如VDD)。针对此NAND实例,如果在先前操作阶段中感测的所有存储器单元存储逻辑1(例如,NAND运算的所有R输入是逻辑1),那么感测线D_将携载对应于逻辑1的电压且感测线D将携载对应于逻辑0的电压。在时间t3处,然后激活感测放大器206的初级锁存器(例如,激发感测放大器),从而将D及D_驱动到适当轨,且感测线D现在携载相应输入数据值的经NAND运算的结果(如从在先前操作阶段期间感测的存储器单元确定)。如此,如果输入数据值中的任一者是逻辑0,那么感测线D将处于VDD,且如果所有输入数据值是逻辑1,那么感测线D将处于接地。
针对NOR运算,如果在先前操作阶段(例如,初始操作阶段及一或多个中间操作阶段)中感测的存储器单元中的任一者存储逻辑1(例如,如果NOR运算的R输入中的任一者是逻辑1),那么感测线D_将携载对应于逻辑1的电压(例如,VDD)且感测线D将携载对应于逻辑0的电压(例如,接地)。针对此NOR实例,如果在先前操作阶段中感测的所有存储器单元存储逻辑0(例如,NOR运算的所有R输入是逻辑0),那么感测线D_将携载对应于逻辑0的电压且感测线D将携载对应于逻辑1的电压。在时间t3处,然后激活感测放大器206的初级锁存器且感测线D现在含有相应输入数据值的经NOR运算的结果(如从在先前操作阶段期间感测的存储器单元确定)。如此,如果输入数据值中的任一者是逻辑1,那么感测线D将处于接地,且如果所有输入数据值是逻辑0,那么感测线D将处于VDD。
参考图2D-2,激活Passd及Passdb信号211(例如,与AND或OR运算相关联地)将存储于计算组件231的次级锁存器中的经累加输出传送到感测放大器206的初级锁存器。例如,针对AND运算,如果在先前操作阶段(例如,图2B的第一操作阶段及图2C-1的中间操作阶段的一或多个迭代)中感测的存储器单元中的任一者存储逻辑0(例如,如果AND运算的R输入中的任一者是逻辑0),那么感测线D_将携载对应于逻辑1的电压(例如,VDD)且感测线D将携载对应于逻辑0的电压(例如,接地)。针对此AND实例,如果在先前操作阶段中感测的所有存储器单元存储逻辑1(例如,AND运算的所有R输入是逻辑1),那么感测线D_将携载对应于逻辑0的电压且感测线D将携载对应于逻辑1的电压。在时间t3处,然后激活感测放大器206的初级锁存器且感测线D现在携载相应输入数据值的经AND运算的结果(如从在先前操作阶段期间感测的存储器单元确定)。如此,如果输入数据值中的任一者是逻辑0,那么感测线D将处于接地,且如果所有输入数据值是逻辑1,那么感测线D将处于VDD。
针对OR运算,如果在先前操作阶段(例如,图2B的第一操作阶段及图2C-2中所展示的中间操作阶段的一或多个迭代)中感测的存储器单元中的任一者存储逻辑1(例如,如果OR运算的R输入中的任一者是逻辑1),那么感测线D_将携载对应于逻辑0的电压(例如,接地)且感测线D将携载对应于逻辑1的电压(例如,VDD)。针对此OR实例,如果在先前操作阶段中感测的所有存储器单元存储逻辑0(例如,OR运算的所有R输入是逻辑0),那么感测线D将携载对应于逻辑0的电压且感测线D_将携载对应于逻辑1的电压。在时间t3处,然后激活感测放大器206的初级锁存器且感测线D现在携载相应输入数据值的经OR运算的结果(如从在先前操作阶段期间感测的存储器单元确定)。如此,如果输入数据值中的任一者是逻辑1,那么感测线D将处于VDD,且如果所有输入数据值是逻辑0,那么感测线D将处于接地。
然后可将R输入AND、OR、NAND及NOR运算的结果往回存储到阵列230的存储器单元。在图2D-1及2D-2中所展示的实例中,将R输入逻辑操作的结果存储到耦合到行R(例如,204-R)的存储器单元。将逻辑操作的结果存储到行R存储器单元仅仅涉及通过激活行R而启用行R存取晶体管202。行R存储器单元的电容器203将被驱动到对应于感测线D上的数据值(例如,逻辑1或逻辑0)的电压,此本质上对先前存储于行R存储器单元中的任何数据值重写。应注意,行R存储器单元可为存储用作逻辑操作的输入的数据值的相同存储器单元。例如,可将逻辑操作的结果往回存储到行0存储器单元或行1存储器单元。
时序图285-4及285-5图解说明在时间t3处对正控制信号290及负控制信号228撤销激活(例如,信号290变高且信号228变低)以激活感测放大器206。在时间t4处,对在时间t2处激活的相应信号(例如,213或211)撤销激活。实施例并不限于此实例。例如,在若干个实施例中,可继时间t4之后(例如,在对信号213或信号211撤销激活之后)激活感测放大器206。
如图2D-1及2D-2中所展示,在时间t5处,激活行R(204-R),此将选定单元的所存储元件(例如,图2A中的电容器203)驱动到对应于存储于累加器中的逻辑值的电压。在时间t6处,对行R撤销激活,在时间t7处,对感测放大器206撤销激活(例如,对信号228及290撤销激活)且在时间t8处发生平衡(例如,激活信号226且使互补感测线205-0及205-1上的电压变为平衡电压)。
在若干个实施例中,例如图2A中所描述的感测电路(例如,按与存储器单元相同的间距形成的电路)可实现并行执行众多逻辑操作。例如,在具有16K列的阵列中,可在不经由总线传送来自阵列及感测电路的数据的情况下及/或在不经由I/O线传送来自阵列及感测电路的数据的情况下并行执行16K个逻辑操作。
而且,所属领域的技术人员将了解,执行R输入逻辑操作(例如,NAND、AND、NOR、OR等)的能力可实现执行更复杂的计算函数,例如加法、减法、乘法及除法以及其它小学数学函数及/或模式比较函数。举例来说,可组合是一系列NAND运算以执行全加法器函数。作为实例,如果全加法器需要12个NAND门来连同进位输入及进位输出使两个数据值相加,那么可执行总计384个NAND运算(12x 32)以使两个32位数相加。本发明的实施例还可用于执行可为非布尔(例如,复制、比较等)的逻辑操作。
另外,在若干个实施例中,所执行的逻辑操作的输入可并非存储于感测电路(例如,图1中的150)耦合到的存储器阵列130中的数据值。例如,可在不激活阵列(例如,图2A中的230)的行的情况下由感测放大器(例如,图2A中的206)感测逻辑操作的若干个输入。作为实例,可由感测放大器206经由耦合到其的I/O线接收所述若干个输入。例如,可将此些输入从在阵列230外部的源(例如从主机处理器(例如,主机110)及/或外部控制器)提供到感测放大器206(例如,经由适当I/O线)。作为另一实例,与执行逻辑操作相关联地,可从不同感测放大器/计算组件对接收特定感测放大器(例如,206)及其对应计算组件(例如,231)的输入。例如,存储于耦合到第一单元列的第一累加器中的数据值(例如,逻辑结果)可传送到与不同单元列(其可或可不与第一列位于同一阵列中)相关联的不同(例如,相邻)感测放大器/计算组件对。
本发明的实施例不限于图2A中所图解说明的特定感测电路配置。例如,不同计算组件电路可用于执行根据本文中所描述的若干个实施例的逻辑操作。尽管图2A中未图解说明,但在若干个实施例中,控制电路可耦合到阵列230、感测放大器206及/或计算组件231。此控制电路(例如)可与阵列及感测电路250在同一芯片上及/或在例如外部处理器的外部处理资源上实施,且可控制启用/停用对应于阵列及感测电路的各种信号以便执行如本文中所描述的逻辑操作。
与图2A、2B、2C-1、2C-2、2D-1及2D-2相关联地描述的实例性逻辑操作阶段涉及累加数据值(例如,从存储器单元感测到的数据值及/或对应于感测线的电压或电流的数据值)。由于能量守恒,在执行逻辑操作阶段时消耗的能量大约等于在将感测线D或D_的电容从VDD/2充电到VDD(其在激活感测放大器时(例如,在如图2B、2C-1、2C-2、2D-1及2D-2中所展示的时间t3处)开始)期间消耗的能量。如此,执行逻辑操作消耗大约用于将感测线(例如,数字线)从VDD/2充电到VDD的能量。相比来说,各种先前处理方法通常消耗至少用于将感测线从轨充电到轨(例如,从接地充电到VDD)的量的能量,所述能量与本文中所描述的实施例相比较可为两倍或更多倍能量。
图2E图解说明根据本发明的若干个实施例的耦合到感测电路的存储器阵列的一部分的示意图。在此实例中,存储器阵列包含存储器单元(MC)270-0、…、270-F。在若干个实施例中,存储器单元是破坏性读取存储器单元(例如,读取存储于单元中的数据会破坏数据使得起初存储于单元中的数据在经读取之后被刷新)。存储器单元270-0、…、270-F可布置成由选择线204(例如,字线)耦合的若干个行及由感测线(例如,数字线)205-0、…、205-M耦合的若干个列。为了参考方便,感测线205-0、…、205-M表示相应互补感测线对(例如,图2A中的205-0及205-1)。尽管图2E中仅图解说明一个行及两个列的存储器单元,但实施例并不限于此。例如,特定阵列可具有若干存储器单元列及/或感测线(例如,4,096、8,192、16,384等)。作为实例,特定存储器单元晶体管(例如,图2A中的202)的栅极可耦合到其对应字线(204),源极/漏极区域可耦合到其对应感测线(例如,205-0),且特定存储器单元晶体管的第二源极/漏极区域可耦合到其对应电容器(例如,图2A中的203)。
根据本发明的若干个实施例,图2E中的阵列可耦合到感测电路。在此实例中,感测电路250包括感测放大器206-1、…、206-P及次级感测放大器(SSA)268。感测电路250可为图1中所展示的感测电路150。感测放大器206-1到206-P耦合到相应感测线205-0到205-M。感测放大器206-1到206-P可为例如图2A中的感测放大器206的感测放大器。感测放大器206-1到206-P分别经由晶体管218-1及218-2耦合到输入/输出线266-1(IO)及266-2(IO_)。列解码线264-1(CD-1)到264-R(CD-R)耦合到晶体管218-1及218-2的栅极且可选择性地经激活以经由IO线266-1及266-2将相应感测放大器206-1到206-P所感测数据传送到SSA 268。
在操作中,感测放大器(例如,206-1到206-P)可通过响应于选择线(例如,字线204)的激活而放大互补感测线(例如,205-0到205-M)上的差分信号(例如,电压或电流)来感测存储于存储器单元(例如,270-0到270-F)中的数据值(例如,逻辑“1”或“0”)。作为实例,感测放大器206-1到206-P可将互补感测线对205-0的感测线中的一者(例如,来自图2A的D)驱动到第一值(例如,供应电压,例如Vcc),且将互补感测线对205-0的另一感测线(来自图2A的D_)驱动到第二值(例如,参考电压,例如接地电压)。以此方式,(例如)可基于互补感测线对的感测线中的哪一者经驱动到Vcc而确定由存储器单元(例如,270-0)存储的数据值。然后可经由选定列解码线264-1到264-R的激活将互补感测线对205-0到205-M的电压选择性地传送到I/O线266-1及266-2。以此方式,可经由I/O线266-1及266-2将由感测放大器206-1到206-P感测到的数据传送到SSA 268。SSA 268可仅能够在特定时间处存储来自单个单元(例如,单元270-0到270-F中的一者)的数据值。如此,如果期望将存储于单元270-0中的数据传送到SSA 268,那么将激活列解码线264-1,且如果期望将存储于单元270-F中的数据传送到SSA 268,那么将激活列解码线264-R。如果激活线264-1及264-R两者,那么SSA268可不能够确定存储于单元中的任一者中的实际所存储数据值。
然而,在各种实例中,选择性地激活列解码线(例如,264-1到264-R)中的一者以上可为有用的。举例来说,根据本文中所描述的若干个实施例可与执行线OR运算相关联地进行选择性地激活若干个列解码线。例如,在本发明的若干个实施例中,可操作图2E中所展示的数据路径部分以确定存储于存储器阵列(例如,图1中的阵列130)中的数据是否匹配比较值,可由裸片上控制电路(例如,图1中的控制电路140)及/或由外部控制电路(例如,图1中的主机110)作为“如果-那么-否则”程序流程的一部分提供所述比较值。
在实例性操作中,控制电路(例如,图1中的140)可经配置以将I/O线(例如,266-1)充电(例如,预充电)到一电压(例如,预充电电压)。举例来说,可将I/O线266-1预充电到对应于逻辑“1”的电压(例如,供应电压,例如Vcc)。控制电路可经配置以选择性地激活行线(例如,包含存储器单元270-0、…、270-F的行线)及列解码线264-1到264-R(例如,CD-1、…、CD-R)。感测电路(例如,图1中的150)可经配置以感测耦合到经激活行线的若干个选定存储器单元(例如,270-0、…、270-F)。感测电路可经配置以确定IO线266-1的预充电电压是否响应于列解码线CD-1到CD-R 264-1到264-R的选择性激活而改变。
在若干个实施例中,控制电路(例如,图1中的140)可联合感测电路用于执行线OR运算(例如,以确定存储于存储器阵列中的数据是否匹配比较值)。作为实例,可将IO线266-1预充电到特定电压。所述特定电压可为对应于数据值的电压。例如,预充电电压可为可对应于逻辑“1”的供应电压(例如Vcc)或可对应于逻辑“0”的接地电压。
列解码线CD-1的激活接通晶体管218-1及218-2,此将对应于存储于感测放大器206-1中的数据的电压提供到IO线266-1及266-2。如此,IO线266-1的预充电电压可基于存储于感测放大器206-1中的特定数据值(其表示存储于例如单元270-0的特定存储器单元中的数据)而改变。举例来说,如果感测放大器206-1感测到存储于单元270-0中的逻辑0(例如,接地电压),那么在激活CD-1时将下拉(例如,降低)IO线266-1上的预充电电压(例如,Vcc),且SSA 268可侦测到预充电电压的改变。如此,预充电电压的所侦测到的改变指示所感测存储器单元(例如,270-0)存储不同于对应于预充电电压的数据值(例如,1)的数据值(例如,0)。类似地,如果感测放大器206-1感测到存储于单元270-0中的逻辑1(例如,Vcc),那么在激活CD-1时将不下拉IO线266-1上的预充电电压(例如,Vcc),且SSA 268将侦测不到预充电电压的改变。如此,未侦测到预充电电压的改变指示所感测存储器单元(例如,270-0)存储与对应于预充电电压的数据值(例如,1)相同的数据值(例如,1)。
上文所描述的SSA 268确定预充电电压是否改变的能力可用于(例如)执行线OR运算以确定特定比较值是否匹配存储于存储器阵列中的数据。作为实例,如果操作用以确定耦合到特定行线的若干个单元是否存储特定比较值(例如,“0”),那么可连同对应于所述若干个存储器单元的感测线激活特定行线。如果单元中的任一者存储逻辑“0”,那么将改变(例如,下拉)IO线(例如,局部IO线)的预充电电压。例如,可将操作的结果报告给请求控制电路(例如,裸片上控制器、主机等)。可将操作的结果报告到存储器阵列中以用于进一步计算。所确定结果可用作特定比较操作或其它逻辑操作的连续执行的一部分。例如,执行可包含不仅确定行的存储器单元中的任一者是否存储数据值(例如,0),而且确定哪(些)单元存储数据值。如此,(例如)可选择性地激活列解码线的子集以将由其对应单元存储的数据值与可与比较操作相关联地使用的比较值进行比较。
例如,控制电路(例如,耦合到图1中的感测电路150(例如,图1中的裸片上控制器140))及/或例如外部主机的若干个其它源可请求与线OR运算相关联地使用的比较值。类似地,可将线OR运算的结果报告给各种控制电路及/或在报告给控制电路之前用于执行进一步操作(例如,逻辑操作)作为如果-那么-否则程序流程的一部分。
图3A图解说明展示根据本发明的若干个实施例的处于与执行串行比较操作相关联的特定阶段的阵列330的一部分的单元的状态的逻辑图。图3A包含与图2A的存储器阵列230及图1的存储器阵列130相似的存储器阵列330。存储器阵列330包含感测线305-0、305-1、305-2、305-3、305-4(例如,通常称为感测线305)。更多或更少感测线可包含于存储器阵列330中。感测线305中的每一者表示不同比较操作。举例来说,可基于存储于耦合到五个不同感测线的若干个存储器单元中的值而(例如,并行)执行五个不同比较操作。
存储器阵列330还包含选择线304-0、304-1、304-2、304-3、304-4、304-5、304-6、304-7、304-8、304-9(例如,通常称为选择线304)。在图3A中,第一比较操作可由将第一值(例如,srcA值)320-0与第二值(例如,srcB值)322-0进行比较组成。可将第一比较操作的结果存储为经复位值(例如,目的值)的第一位328-0及第二位330-0。第二比较操作可由将第一值320-1与第二值322-1进行比较组成。可将第二比较操作的结果存储为目的值的第一位328-1及第二位330-1。第三比较操作可由将第一值320-2与第二值322-2进行比较组成。可将第三比较操作的结果存储为目的值的第一位328-2及第二位330-2。第四比较操作可由将第一值320-3与第二值322-3进行比较组成。可将第四比较操作的结果存储为目的值的第一位328-3及第二位330-3。第五比较操作可由将第一值320-4与第二值322-4进行比较组成。可将第五比较操作的结果存储为目的值的第一位328-4及第二位330-4。
在若干个实例中,目的值可由是比较操作的结果的逻辑表示的第一位及第二位组成。举例来说,如果第一值大于第二值,那么可将目的值的第一位设定为一(例如,“1”)且可将目的值的第二位设定为零(例如,“0”)。如果第二值大于第一值,那么可将目的值的第一位设定为零(例如,“0”)且可将目的值的第二位设定为一(例如,“1”)。如果第一值等于第二值,那么可将目的值的第一位及第二位设定为零(例如,“0”)。然而,目的值的所给出的实例是示范性的。比较操作的结果的其它逻辑表示可联合本文中给出的实例使用。
第一值320-0、320-1、320-2、320-3、320-4(例如,通常称为第一值320)、第二值322-0、322-1、322-2、322-3、322-4(例如,通常称为第二值322)可作为位向量的一部分存储于耦合到选择线304及感测线305的存储器单元中。还在图3A中展示如上文结合图2A所描述的tmp值及tmpset值。tmp值324-0、324-1、324-2、324-3、324-4(例如,通常称为tmp值324)、tmpset值326-0、326-1、326-2、326-3、326-4(例如,通常称为tmpset值326)及包括第一位328-0、328-1、328-2、328-3、328-4(例如,通常称为第一位328)及第二位330-0、330-1、330-2、330-3、330-4(例如,通常称为第二位330)的目的值可作为位向量的一部分存储于耦合到选择线304及感测线305的存储器单元中。举例来说,存储于若干个存储器单元中的第一值320-0可具有等于三的值。第一值320-0可由可存储于耦合到感测线305-0及选择线304-0、304-1、304-2的存储器单元中的位向量[011]表示。在图3A到3M中,第一值320及第二值322中的每一者使用三个位来表示,更多或更少位可用于表示第一值320及第二值322。
图3A展示存储器阵列330中的存储器单元的初始状态。举例来说,存储tmp值324、tmpset值326及目的值的存储器单元可初始化为零。存储第一值320-0的存储器单元经初始化以存储位向量[011]。第一值320-0等于十进制值三。存储第一值320-1的存储器单元经初始化以存储位向量[000]。第一值320-1等于十进制值零。存储第一值320-2的存储器单元经初始化以存储位向量[010]。第一值320-2等于十进制值二。存储第一值320-3的存储器单元经初始化以存储位向量[100]。第一值320-3等于十进制值四。存储第一值320-4的存储器单元经初始化以存储位向量[010]。第一值320-4等于十进制值二。
存储第二值322-0的存储器单元经初始化以存储位向量[100]。所存储的第二值322-0等于十进制值四。存储第二值322-1的存储器单元经初始化以存储位向量[001]。第二值322-1等于一。存储第二值322-2的存储器单元经初始化以存储位向量[010]。第二值322-2等于十进制值二。存储第二值322-3的存储器单元经初始化以存储位向量[110]。第二值322-3等于十进制值五。存储第二值322-4的存储器单元经初始化以存储位向量[001]。第二值322-4等于十进制值一。
图3B到3M图解说明展示根据本发明的若干个实施例的在与执行比较操作相关联的不同阶段(例如,在计算之后)期间的阵列部分330的存储器单元的状态的逻辑图。图3A图解说明阵列部分330的存储器单元的原始(例如,初始化)状态,例如结合图2B所描述的初始化操作。
图3B图解说明展示处于与执行比较操作相关联的特定阶段(例如,处于继图3A中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。图3B图解说明在例如关于图2C-1到2D-2的中间操作阶段所描述的若干个比较操作的第一迭代中的第一步骤之后阵列部分330的单元。
可执行第一迭代中的第一步骤以确定来自第一值320(例如,srcA值)及第二值322(例如,srcB值)的最高有效位是否不同。如果来自第一值320及第二值322的最高有效位彼此不相等,那么其可不同。
在若干个实例中,第一组第一迭代可包含执行如上文所论述的“ReadRow(srcA+i)”调用、“XorRow(srcB+i)”调用、“XorRow(tmpset)”调用及/或“WriteRow(tmp)”调用。在三(例如,3)位实例中,在第一迭代期间,“i”索引设定为二(例如,2),此意味着与第一值320及第二值322相关联的次高有效位具有二(例如,2)的索引。
比较操作的第一迭代的第一步骤可包含:举例来说,从存储于耦合到感测线305-0及选择线304-2的存储器单元中的第一值320-0读取(例如,ReadRow(srcA+i))位(例如,“0”位);及使用所读取“0”位及来自存储于耦合到感测线305-0及选择线304-5的存储器单元中的第二值322-0的次高有效位(例如,“1”位)作为输入来执行第一XOR运算(例如,XorRow(srcB+i))。第一XOR运算(例如,XorRow(srcB+i))的结果(例如,“1”)及存储于耦合到感测线305-0及选择线304-7的存储器单元中的“0”位(例如,tmpset值)可用作第二XOR运算(例如,XorRow(tmpset))的输入。可将第二XOR运算的结果存储(例如,WriteRow(tmp))于耦合到感测线305-0及选择线304-6的存储器单元(例如,与tmp值相关联的存储器单元)中。
还可针对与感测线305-1、305-2、305-3、305-4相关联的比较操作中的每一者执行第一迭代的第一步骤。即,可针对与感测线305-1、305-2、305-3、305-4相关联的比较操作中的每一者同时执行“ReadRow(srcA+i)”调用、“XorRow(srcB+i)”调用、“XorRow(tmpset)”调用及“WriteRow(tmp)”调用。
图3C图解说明展示处于与执行比较操作相关联的特定阶段(例如,处于继图3B中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。图3C图解说明在若干个比较操作的第一迭代中的第二步骤之后阵列部分330的单元。可执行第一迭代中的第二步骤以存储第一值320与第二值322是否不同的确定。
在若干个实例中,第一迭代中的第二步骤可包含执行“OrRow(tmpset)”调用及“WriteRow(tmpset)”调用。比较操作的第一迭代的第二步骤可包含(举例来说)使用第二XOR运算(例如,XorRow(tmpset))的结果(例如,“0”)及存储于耦合到感测线305-0及选择线304-7的存储器单元中的“0”位来执行第一OR运算(例如,OrRow(tmpset))。比较操作的第一迭代的第二步骤还可包含执行写入操作(例如,WriteRow(tmpset))以将第一OR运算(例如,OrRow(tmpset))的结果存储于耦合到感测线305-0及选择线304-7的存储器单元中。还可针对与感测线305-1、305-2、305-3、305-4相关联的其它比较操作中的每一者同时执行第一迭代中的第二步骤。
图3D图解说明展示处于与执行比较操作相关联的特定阶段(例如,处于继图3C中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。图3D图解说明在若干个比较操作的第一迭代中的第三步骤之后阵列部分330的单元。可执行第一迭代中的第三步骤以确定第一值320(例如,srcA值)是否大于第二值322(例如,srcB值)。
在若干个实例中,第一迭代中的第三步骤可包含执行“ReadRow(srcA+i)”调用、“AndRow(tmp)”调用、“OrRow(dest)”调用及“WriteRow(dest)”调用。读取操作(例如,ReadRow(srcA+i))可从存储于耦合到感测线305-0及选择线304-2的存储器单元中的第一值320-0读取最高有效位(例如,“0”)。第一AND运算(例如,AndRow(tmp))可使用所读取位(例如,“0”)及存储于耦合到感测线305-0及选择线304-6的存储器单元中的位作为输入。第一AND运算的结果(例如,0)及存储于耦合到感测线305-0及选择线304-8的存储器单元中的位(例如,0)可用作第二OR运算(例如,OrRow(dest))的输入。可将第二OR运算的结果(例如,0)存储(例如,WriteRow(dest))于耦合到感测线305-0及选择线304-8的存储器单元中。还可针对与感测线305-1、305-2、305-3、305-4相关联的其它比较操作中的每一者同时执行第一迭代中的第三步骤。
图3E图解说明展示处于与执行比较操作相关联的特定阶段(例如,处于继图3D中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。图3E图解说明在若干个比较操作的第一迭代中的第四步骤之后阵列部分330的单元。可执行第一迭代中的第四步骤以确定第二值322(例如,srcB值)是否大于第一值320(例如,srcA值)。
在若干个实例中,第一迭代中的第四步骤可包含执行“ReadRow(srcB+i)”调用、“AndRow(tmp)”调用、“OrRow(dest+1)”调用及“WriteRow(dest+1)”调用。举例来说,读取操作(例如,ReadRow(srcB+i))可从存储于耦合到感测线305-0及选择线304-5的存储器单元中的第二值322-0读取最高有效位(例如,“1”)。第二AND运算(例如,AndRow(tmp))可使用所读取(例如,ReadRow(srcB+i)位(例如,“1”)及存储于耦合到感测线305-0及选择线304-6的存储器单元中的位(例如,“1”)作为输入。第二AND运算的结果(例如,“1”)及存储于耦合到感测线305-0及选择线304-9的存储器单元中的位(例如,0)可用作第三OR运算(例如,OrRow(dest+1))的输入。可将第三OR运算的结果(例如,1)存储(例如,WriteRow(dest+1))于耦合到感测线305-0及选择线304-9的存储器单元中。还可针对与感测线305-1、305-2、305-3、305-4相关联的其它比较操作中的每一者执行第三迭代中的第四步骤。
图3F图解说明展示处于与执行比较操作相关联的特定阶段(例如,处于继图3E中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。图3F图解说明在若干个比较操作的第二迭代的第一步骤之后阵列部分330的单元。可执行第二迭代中的第一步骤以确定来自第一值320(例如,srcA值)及第二值322(例如,srcB值)的次高有效位是否不同。
在若干个实例中,第二迭代的第一步骤可包含执行“ReadRow(srcA+i)”调用、“XorRow(srcB+i)”调用、“XorRow(tmpset)”调用及“WriteRow(tmp)”调用。在第二迭代期间,“i”索引设定为一(例如,1),此意味着与第一值320及第二值322相关联的次高有效位具有一(例如,1)的索引。
比较操作的第二迭代的第一步骤可(举例来说)包含:从存储于耦合到感测线305-4及选择线304-1的存储器单元中的第一值320-4读取(例如,ReadRow(srcA+i)位(例如,“1”位);及使用所读取位(例如,“1”位)及来自存储于耦合到感测线305-4及选择线304-4的存储器单元中的第二值322-4的次高有效位(例如,“0”位)作为输入来执行第一XOR运算(例如,XorRow(srcB+i))。第一XOR运算(例如,XorRow(srcB+i))的结果(例如,“1”)及存储于耦合到感测线305-4及选择线304-7的存储器单元中的“0”位(例如,tmpset值)可用作第二XOR运算(例如,XorRow(tmpset))的输入。可将第二XOR运算的结果(例如,1)存储(例如,WriteRow(tmp))于耦合到感测线305-4及选择线304-6的存储器单元(例如,与tmp值相关联的存储器单元)中。
比较操作的第二迭代的第一步骤还可(举例来说)包含:从存储于耦合到感测线305-2及选择线304-1的存储器单元中的第一值320-2读取(例如,ReadRow(srcA+i)位(例如,“1”位);及使用所读取“1”位及来自存储于耦合到感测线305-2及选择线304-4的存储器单元中的第二值322-2的次高有效位(例如,“1”位)作为输入来执行第一XOR运算(例如,XorRow(srcB+i))。第一XOR运算(例如,XorRow(srcB+i))的结果(例如,“0”)及存储于耦合到感测线305-2及选择线304-7的存储器单元中的“0”位(例如,tmpset值)可用作第二XOR运算(例如,XorRow(tmpset))的输入。可将第二XOR运算的结果(例如,0)存储(例如,WriteRow(tmp))于耦合到感测线305-2及选择线304-6的存储器单元(例如,与tmp值相关联的存储器单元)中。
还可针对与感测线305-0、305-1、305-3相关联的比较操作中的每一者执行第二迭代的第一步骤。即,可针对与感测线305-0、305-1、305-3相关联的比较操作中的每一者同时执行“ReadRow(srcA+i)”调用、“XorRow(srcB+i)”调用、“XorRow(tmpset)”调用及“WriteRow(tmp)”调用。举例来说,执行第二迭代中的第一步骤可导致将“1”位存储于耦合到感测线305-3及选择线304-6的存储器单元中。
图3G图解说明展示处于与执行比较操作相关联的特定阶段(例如,处于继图3F中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。图3G图解说明在第二迭代中的第二步骤之后阵列部分330的单元。可执行第二迭代中的第二步骤以存储第一值320(例如,srcA值)及第二值322(例如,srcB值)是否不同的确定。
在若干个实例中,第二迭代中的第二步骤可包含执行“OrRow(tmpset)”调用及“WriteRow(tmpset)”调用。比较操作的第二迭代的第二步骤可包含(举例来说)使用第二XOR运算(例如,XorRow(tmpset))的结果(例如,“1”)及存储于耦合到感测线305-4及选择线304-7的存储器单元中的“0”位来执行第一OR运算(例如,OrRow(tmpset))。比较操作的第二迭代的第二步骤还可包含执行写入操作(例如,WriteRow(tmpset))以将第一OR运算(例如,OrRow(tmpset))的结果(例如,“1”)存储于耦合到感测线305-4及选择线304-7的存储器单元中。
在若干个实例中,第二迭代中的第二步骤还可包含针对与感测线305-2相关联的比较操作执行“OrRow(tmpset)”调用及“WriteRow(tmpset)”调用。举例来说,比较操作的第二迭代的第二步骤可包含使用第二XOR运算(例如,XorRow(tmpset))的结果(例如,“0”)及存储于耦合到感测线305-2及选择线304-7的存储器单元中的“0”位来执行第一OR运算(例如,OrRow(tmpset))。比较操作的第二迭代的第二步骤还可包含:执行写入操作(例如,WriteRow(tmpset))以将第一OR运算(例如,OrRow(tmpset))的结果(例如,“0”)存储于耦合到感测线305-2及选择线304-7的存储器单元中。
还可针对与感测线305-0、305-1、305-3相关联的其它比较操作中的每一者同时执行第二迭代中的第二步骤。举例来说,执行第二迭代中的第二步骤可导致将“1”存储于耦合到感测线305-3及选择线304-7的存储器单元中。
图3H图解说明展示处于与执行比较操作相关联的特定阶段(例如,处于继图3G中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。图3H图解说明在第二迭代中的第三步骤之后阵列部分330的单元。可执行第二迭代中的第三步骤以确定第一值320(例如,srcA值)是否大于第二值322(例如,srcB值)。
在若干个实例中,第二迭代中的第三步骤可包含执行“ReadRow(srcA+i)”调用、“AndRow(tmp)”调用、“OrRow(dest)”调用及“WriteRow(dest)”调用。读取操作(例如,ReadRow(srcA+i))可从存储于耦合到感测线305-4及选择线304-1的存储器单元中的第一值320-4读取次高有效位(例如,“1”)。第一AND运算(例如,AndRow(tmp))可使用所读取位(例如,“1”)及存储于耦合到感测线305-4及选择线304-6的存储器单元中的位(例如,“1”)作为输入。第一AND运算的结果(例如,“1”)及存储于耦合到感测线305-4及选择线304-8的存储器单元中的位(例如,“0”)可用作第二OR运算(例如,OrRow(dest))的输入。可将第二OR运算的结果(例如,“1”)存储(例如,WriteRow(dest))于耦合到感测线305-4及选择线304-8的存储器单元中。
第二迭代中的第三步骤还可包含(举例来说)执行读取操作(例如,ReadRow(srcA+i))以从存储于耦合到感测线305-2及选择线304-1的存储器单元中的第一值320-2读取次高有效位(例如,“1”)。第一AND运算(例如,AndRow(tmp))可使用所读取位(例如,“1”)及存储于耦合到感测线305-2及选择线304-6的存储器单元中的位(例如,“0”)作为输入。第一AND运算的结果(例如,“0”)及存储于耦合到感测线305-2及选择线304-8的存储器单元中的位(例如,“0”)可用作第二OR运算(例如,OrRow(dest))的输入。可将第二OR运算的结果(例如,“0”)存储(例如,WriteRow(dest))于耦合到感测线305-2及选择线304-8的存储器单元中。还可针对与感测线305-0、305-1、305-3相关联的其它比较操作中的每一者同时执行第二迭代中的第三步骤。
图3I图解说明展示处于与执行比较操作相关联的特定阶段(例如,处于继图3H中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。图3I图解说明在第二迭代中的第四步骤之后阵列部分330的单元。可执行第二迭代中的第四步骤以确定第二值322(例如,srcB值)是否大于第一值320(例如,srcA值)。
在若干个实例中,第二迭代中的第四步骤可包含执行“ReadRow(srcB+i)”调用、“AndRow(tmp)”调用、“OrRow(dest+1)”调用及“WriteRow(dest+1)”调用。读取操作(例如,ReadRow(srcB+i))可从存储于耦合到感测线305-4及选择线304-4的存储器单元中的第二值322-4读取次高有效位(例如,“0”)。第二AND运算(例如,AndRow(tmp))可使用所读取位(例如,“0”)及存储于耦合到感测线305-4及选择线304-6的存储器单元中的位(例如,“1”)作为输入。第二AND运算的结果(例如,“0”)及存储于耦合到感测线305-4及选择线304-9的存储器单元中的位(例如,“0”)可用作第三OR运算(例如,OrRow(dest+1))的输入。可将第三OR运算的结果(例如,0)存储(例如,WriteRow(dest+1))于耦合到感测线305-4及选择线304-9的存储器单元中。
在若干个实例中,第二迭代中的第四步骤还可(举例来说)执行读取操作(例如,ReadRow(srcB+i))以从存储于耦合到感测线305-2及选择线304-4的存储器单元中的第二值322-2读取次高有效位(例如,“1”)。第二AND运算(例如,AndRow(tmp))可使用所读取位(例如,“1”)及存储于耦合到感测线305-2及选择线304-6的存储器单元中的位(例如,“0”)作为输入。第二AND运算的结果(例如,“0”)及存储于耦合到感测线305-0及选择线304-9的存储器单元中的位(例如,“0”)可用作第三OR运算(例如,OrRow(dest+1))的输入。可将第三OR运算的结果(例如,0)存储(例如,WriteRow(dest+1))于耦合到感测线305-2及选择线304-9的存储器单元中。
还可针对与感测线305-0、305-1、305-3相关联的其它比较操作中的每一者执行第二迭代中的第四步骤。举例来说,执行第二迭代中的第四步骤可导致将“1”存储于耦合到感测线305-3及选择线304-9的存储器单元中。
图3J图解说明展示处于与执行比较操作相关联的特定阶段(例如,处于继图3I中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。图3J图解说明在若干个比较操作的第三迭代的第一步骤之后阵列部分330的单元。可执行第三迭代中的第一步骤以确定来自第一值320(例如,srcA值)及第二值322(例如,srcB值)的次高有效位是否不同。
在若干个实例中,第三迭代的第一步骤可包含执行“ReadRow(srcA+i)”调用、“XorRow(srcB+i)”调用、“XorRow(tmpset)”调用及“WriteRow(tmp)”调用。在第三迭代期间,“i”索引设定为零(例如,“0”),此意味着与第一值320及第二值322相关联的次高有效位具有零(例如,“0”)的索引。
比较操作的第三迭代的第一步骤可(举例来说)包含:从存储于耦合到感测线305-1及选择线304-0的存储器单元中的第一值320-1读取(例如,ReadRow(srcA+i)位(例如,“0”位);及使用所读取“0”位及来自存储于耦合到感测线305-1及选择线304-0的存储器单元中的第二值322-1的次高有效位(例如,“1”位)作为输入来执行第一XOR运算(例如,XorRow(srcB+i))。第一XOR运算(例如,XorRow(srcB+i))的结果(例如,“1”)及存储于耦合到感测线305-1及选择线304-7的存储器单元中的“0”位(例如,tmpset值)可用作第二XOR运算(例如,XorRow(tmpset))的输入。可将第二XOR运算的结果(例如,“1”)存储(例如,WriteRow(tmp))于耦合到感测线305-1及选择线304-6的存储器单元(例如,与tmp值相关联的存储器单元)中。
还可针对与感测线305-0、305-2、305-3、305-4相关联的比较操作中的每一者执行第三迭代的第一步骤。即,可针对与感测线305-0、305-2、305-3、305-4相关联的比较操作中的每一者同时执行“ReadRow(srcA+i)”调用、“XorRow(srcB+i)”调用、“XorRow(tmpset)”调用及“WriteRow(tmp)”调用。
图3K图解说明展示处于与执行比较操作相关联的特定阶段(例如,处于继图3J中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。图3K图解说明在第三迭代中的第二步骤之后阵列部分330的单元。可执行第三迭代中的第二步骤以存储第一值320(例如,srcA值)及第二值322(例如,srcB值)是否不同的确定。
在若干个实例中,第三迭代中的第二步骤可包含执行“OrRow(tmpset)”调用及“WriteRow(tmpset)”调用。比较操作的第三迭代的第二步骤可包含(举例来说)使用第二XOR运算(例如,XorRow(tmpset))的结果(例如,“1”)及存储于耦合到感测线305-1及选择线304-7的存储器单元中的“1”位来执行第一OR运算(例如,OrRow(tmpset))。比较操作的第三迭代的第二步骤还可包含执行写入操作(例如,WriteRow(tmpset))以将第一OR运算(例如,OrRow(tmpset))的结果(例如,“1”)存储于耦合到感测线305-1及选择线304-7的存储器单元中。还可针对与感测线305-0、305-2、305-3、305-4相关联的其它比较操作中的每一者同时执行第三迭代中的第二步骤。
图3L图解说明展示处于与执行比较操作相关联的特定阶段(例如,处于继图3K中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。图3L图解说明在第三迭代中的第三步骤之后阵列部分330的单元。可执行第三迭代中的第三步骤以确定第一值320(例如,srcA值)是否大于第二值322(例如,srcB值)。
在若干个实例中,第三迭代中的第三步骤可包含执行“ReadRow(srcA+i)”调用、“AndRow(tmp)”调用、“OrRow(dest)”调用及“WriteRow(dest)”调用。读取操作(例如,ReadRow(srcA+i))可从存储于耦合到感测线305-1及选择线304-0的存储器单元中的第一值320-1读取次高有效位(例如,“0”)。第一AND运算(例如,AndRow(tmp))可使用所读取位(例如,“0”)及存储于耦合到感测线305-1及选择线304-6的存储器单元中的位(例如,“1”)作为输入。第一AND运算的结果(例如,“0”)及存储于耦合到感测线305-1及选择线304-8的存储器单元中的位(例如,“0”)可用作第二OR运算(例如,OrRow(dest))的输入。可将第二OR运算的结果(例如,“0”)存储(例如,WriteRow(dest))于耦合到感测线305-1及选择线304-8的存储器单元中。还可针对与感测线305-0、305-2、305-3、305-4相关联的其它比较操作中的每一者同时执行第三迭代中的第三步骤。
图3M图解说明展示处于与执行比较操作相关联的特定阶段(例如,处于继图3L中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。图3M图解说明在第三迭代中的第四步骤之后阵列部分330的单元。可执行第三迭代中的第四步骤以确定第二值322(例如,srcB值)是否大于第一值320(例如,srcA值)。
在若干个实例中,第三迭代中的第四步骤可包含执行“ReadRow(srcB+i)”调用、“AndRow(tmp)”调用、“OrRow(dest+1)”调用及“WriteRow(dest+1)”调用。读取操作(例如,ReadRow(srcB+i))可从存储于耦合到感测线305-1及选择线304-3的存储器单元中的第二值322-1读取次高有效位(例如,“1”)。第二AND运算(例如,AndRow(tmp))可使用所读取位(例如,“1”)及存储于耦合到感测线305-1及选择线304-6的存储器单元中的位(例如,“1”)作为输入。第二AND运算的结果(例如,“1”)及存储于耦合到感测线305-1及选择线304-9的存储器单元中的位(例如,“0”)可用作第三OR运算(例如,OrRow(dest+1))的输入。可将第三OR运算的结果(例如,“1”)存储(例如,WriteRow(dest+1))于耦合到感测线305-1及选择线304-9的存储器单元中。还可针对与感测线305-0、305-2、305-3、305-4相关联的其它比较操作中的每一者执行第三迭代中的第四步骤。
在若干个实例中,在所述迭代中的每一者中的第四步骤中的每一者之后,可确定比较操作是否已结束而不管当前迭代如何。举例来说,如果在第一迭代之后所有比较操作已确定所有第一值320大于或小于第二值322,那么比较操作可结束。可使用上文所描述的线OR运算执行确定所有比较操作是否已确定第一值320大于第二值322及/或第二值322是否大于第一值320。比较操作可通过断开与比较操作的所述若干个迭代相关联的FOR循环而结束。
然而,实施例不限于此实例中所展示的步骤序列的次序。举例来说,可在第一迭代中的第四步骤之后执行所述第一迭代中的第二步骤。
图4图解说明根据本发明的若干个实施例的感测电路的示意图。图4中所展示的感测电路还可用于执行如上文所描述的比较操作。存储器单元包括存储元件(例如,电容器)及存取装置(例如,晶体管)。例如,晶体管402-1及电容器403-1构成存储器单元,且晶体管402-2及电容器403-2构成存储器单元等。在此实例中,存储器阵列430是1T1C(一个晶体管一个电容器)存储器单元的DRAM阵列。在若干个实施例中,所述存储器单元可为破坏性读取存储器单元(例如,读取存储于所述单元中的数据会破坏数据使得起初存储于单元中的数据在经读取之后被刷新)。存储器阵列430的单元布置成由字线404-X(行X)、404-Y(行Y)等耦合的行及由互补数据线对DIGIT(n-1)/DIGIT(n-1)_、DIGIT(n)/DIGIT(n)_、DIGIT(n+1)/DIGIT(n+1)_耦合的列。对应于每一对互补数据线的个别数据线还可分别称为数据线405-1(D)及405-2(D_)。尽管图4中仅展示三对互补数据线,但本发明的实施例并不限于此,且存储器单元阵列可包含额外存储器单元列及/或数据线(例如,4,096、8,192、16,384等)。
存储器单元可耦合到不同数据线及/或字线。举例来说,晶体管402-1的第一源极/漏极区域可耦合到数据线405-1(D),晶体管402-1的第二源极/漏极区域可耦合到电容器403-1,且晶体管402-1的栅极可耦合到字线404-X。晶体管402-2的第一源极/漏极区域可耦合到数据线405-2(D_),晶体管402-2的第二源极/漏极区域可耦合到电容器403-2,且晶体管402-2的栅极可耦合到字线404-Y。如图4中所展示的单元板可耦合到电容器403-1及403-2中的每一者。单元板可为可在各种存储器阵列配置中将参考电压(例如,接地)施加到的共同节点。
根据本发明的若干个实施例,存储器阵列430耦合到感测电路450。在此实例中,感测电路450包括对应于相应存储器单元列(例如,耦合到相应互补数据线对)的感测放大器406及计算组件431。感测放大器406可包括可在本文中称为初级锁存器的交叉耦合锁存器。举例来说,感测放大器406可如关于图5所描述而配置。
在图4中所图解说明的实例中,对应于计算组件431的电路包括静态锁存器482及尤其实施动态锁存器的额外十个晶体管。计算组件431的动态锁存器及/或静态锁存器可在本文中共同称为可用作累加器的次级锁存器。如此,计算组件431可操作为及/或在本文中称为累加器。计算组件431可耦合到数据线D 405-1及D_405-2中的每一者,如图4中所展示。然而,实施例不限于此实例。举例来说,计算组件431的晶体管可全部是n沟道晶体管(例如,NMOS晶体管)。
在此实例中,数据线D 405-1可耦合到晶体管416-1及439-1的第一源极/漏极区域以及负载/通过晶体管418-1的第一源极/漏极区域。数据线D_405-2可耦合到晶体管416-2及439-2的第一源极/漏极区域以及负载/通过晶体管418-2的第一源极/漏极区域。
负载/通过晶体管418-1及418-2的栅极可共同耦合到LOAD控制信号或分别耦合到PASSD/PASSDB控制信号,如下文进一步论述。负载/通过晶体管418-1的第二源极/漏极区域可直接耦合到晶体管416-1及439-2的栅极。负载/通过晶体管418-2的第二源极/漏极区域可直接耦合到晶体管416-2及439-1的栅极。
晶体管416-1的第二源极/漏极区域可直接耦合到下拉晶体管414-1的第一源极/漏极区域。晶体管439-1的第二源极/漏极区域可直接耦合到下拉晶体管407-1的第一源极/漏极区域。晶体管416-2的第二源极/漏极区域可直接耦合到下拉晶体管414-2的第一源极/漏极区域。晶体管439-2的第二源极/漏极区域可直接耦合到下拉晶体管407-2的第一源极/漏极区域。下拉晶体管407-1、407-2、414-1及414-2中的每一者的第二源极/漏极区域可共同一起耦合到参考电压491(例如,接地(GND))。下拉晶体管407-1的栅极可耦合到AND控制信号线,下拉晶体管414-1的栅极可耦合到ANDinv控制信号线413-1,下拉晶体管414-2的栅极可耦合到ORinv控制信号线413-2,且下拉晶体管407-2的栅极可耦合到OR控制信号线。
晶体管439-1的栅极可称为节点S1,且晶体管439-2的栅极可称为节点S2。图4中所展示的电路将累加器数据动态地存储于节点S1及S2上。激活LOAD控制信号会致使负载/通过晶体管418-1及418-2导通,且借此将互补数据加载到节点S1及S2上。可使LOAD控制信号升高到大于VDD的电压以将全VDD电平传递到S1/S2。然而,使LOAD控制信号升高到大于VDD的电压是任选的,且图4中所展示的电路的功能性不取决于LOAD控制信号升高到大于VDD的电压。
图4中所展示的计算组件431的配置具有当下拉晶体管407-1、407-2、414-1及414-2在激发感测放大器406之前(例如,在感测放大器406的预种期间)导通时平衡感测放大器的功能性的益处。如本文中所使用,激发感测放大器406是指启用感测放大器406以设定初级锁存器及随后停用感测放大器406以保持经设定初级锁存器。在停用平衡(在感测放大器中)之后但在感测放大器激发之前执行逻辑操作可节省电力使用,因为感测放大器的锁存器不必须使用全轨电压(例如,VDD、GND)来“翻转”。
反相晶体管可在执行某些逻辑操作时下拉相应数据线。举例来说,可操作与晶体管414-1(具有耦合到ANDinv控制信号线413-1的栅极)串联的晶体管416-1(具有耦合到动态锁存器的S2的栅极)以下拉数据线405-1(D),且可操作与晶体管414-2(具有耦合到ORinv控制信号线413-2的栅极)串联的晶体管416-2(具有耦合到动态锁存器的S1的栅极)以下拉数据线405-2(D_)。
锁存器482可通过耦合到作用中负控制信号线412-1(ACCUMB)及作用中正控制信号线412-2(ACCUM)而以可控制方式启用,而非经配置以通过耦合到接地及VDD而连续地启用。在各种实施例中,负载/通过晶体管408-1及408-2可各自具有耦合到LOAD控制信号或PASSD/PASSDB控制信号中的一者的栅极。
根据一些实施例,负载/通过晶体管418-1及418-2的栅极可共同耦合到LOAD控制信号。在其中负载/通过晶体管418-1及418-2的栅极共同耦合到LOAD控制信号的配置中,负载/通过晶体管418-1及418-2可为负载晶体管。激活LOAD控制信号会致使负载晶体管导通,且借此将互补数据加载到节点S1及S2上。可使LOAD控制信号升高到大于VDD的电压以将全VDD电平传递到S1/S2。然而,不必使LOAD控制信号升高到大于VDD的电压,且图4中所展示的电路的功能性不取决于LOAD控制信号升高到大于VDD的电压。
根据一些实施例,负载/通过晶体管418-1的栅极可耦合到PASSD控制信号,且负载/通过晶体管418-2的栅极可耦合到PASSDb控制信号。在其中负载/通过晶体管418-1及418-2的栅极分别耦合到PASSD及PASSDb控制信号中的一者的配置中,负载/通过晶体管418-1及418-2可为通过晶体管。可以不同于负载晶体管的方式(例如,在不同时间处及/或在不同电压/电流条件下)操作通过晶体管。如此,通过晶体管的配置可不同于负载晶体管的配置。
举例来说,负载晶体管经构造以处置与将数据线耦合到局部动态节点S1及S2相关联的负载。通过晶体管经构造以处置与将数据线耦合到邻近累加器(例如,通过移位电路423,如图4中所展示)相关联的较重负载。根据一些实施例,负载/通过晶体管418-1及418-2可经配置以适应对应于通过晶体管的较重负载但作为负载晶体管被耦合及操作。经配置为通过晶体管的负载/通过晶体管418-1及418-2还可用作负载晶体管。然而,经配置为负载晶体管的负载/通过晶体管418-1及418-2可不能够用作通过晶体管。
在若干个实施例中,包含锁存器482的计算组件431可包括按与其所耦合的阵列(例如,图4中所展示的阵列430)的对应存储器单元的晶体管相同的间距形成的若干个晶体管,所述若干个晶体管可符合特定特征大小(例如,4F2、6F2等)。根据各种实施例,锁存器482包含通过负载/通过晶体管418-1及418-2耦合到一对互补数据线D 405-1及D_405-2的四个晶体管408-1、408-2、409-1及409-2。然而,实施例不限于此配置。锁存器482可为交叉耦合锁存器(例如,例如n沟道晶体管(例如,NMOS晶体管)409-1及409-2的一对晶体管的栅极与例如p沟道晶体管(例如,PMOS晶体管)408-1及408-2的另一对晶体管的栅极交叉耦合)。如本文中进一步描述,交叉耦合锁存器482可称为静态锁存器。
相应数据线D及D_上的电压或电流可提供到交叉耦合锁存器482的相应锁存器输入484-1及484-2(例如,次级锁存器的输入)。在此实例中,锁存器输入484-1耦合到晶体管408-1及409-1的第一源极/漏极区域以及晶体管408-2及409-2的栅极。类似地,锁存器输入484-2可耦合到晶体管408-2及409-2的第一源极/漏极区域以及晶体管408-1及409-1的栅极。
在此实例中,晶体管409-1及409-2的第二源极/漏极区域共同耦合到负控制信号线412-1(例如,类似于图5中关于初级锁存器所展示的控制信号RnIF的接地(GND)或ACCUMB控制信号)。晶体管408-1及408-2的第二源极/漏极区域共同耦合到正控制信号线412-2(例如,类似于图5中关于初级锁存器所展示的控制信号ACT的VDD或ACCUM控制信号)。正控制信号412-2可提供供应电压(例如,VDD)且负控制信号412-1可为参考电压(例如,接地)以启用交叉耦合锁存器482。根据一些实施例,晶体管408-1及408-2的第二源极/漏极区域共同直接耦合到供应电压(例如,VDD),且晶体管409-1及409-2的第二源极/漏极区域共同直接耦合到参考电压(例如,接地)以便连续地启用锁存器482。
经启用交叉耦合锁存器482操作以放大锁存器输入484-1(例如,第一共同节点)与锁存器输入484-2(例如,第二共同节点)之间的差分电压,使得锁存器输入484-1经驱动到经激活正控制信号电压(例如,VDD)或经激活负控制信号电压(例如,接地),且锁存器输入484-2经驱动到经激活正控制信号电压(例如,VDD)或经激活负控制信号电压(例如,接地)中的另一者。
图5图解说明根据本发明的若干个实施例的感测电路的一部分的示意图。根据各种实施例,感测放大器506可包括交叉耦合锁存器。然而,感测放大器506的实施例不限于交叉耦合锁存器。作为实例,感测放大器506可为电流模式感测放大器及/或单端感测放大器(例如,耦合到一个数据线的感测放大器)。而且,本发明的实施例不限于折叠式数据线架构。
在若干个实施例中,感测放大器(例如,506)可包括按与其所耦合的对应计算组件531及/或阵列(例如,图4中所展示的阵列430)的存储器单元的晶体管相同的间距形成的若干个晶体管,所述若干个晶体管可符合特定特征大小(例如,4F2、6F2等)。感测放大器506包括锁存器515,锁存器515包含耦合到一对互补数据线D 505-1及D_505-2的四个晶体管。锁存器515可为交叉耦合锁存器(例如,例如n沟道晶体管(例如,NMOS晶体管)527-1及527-2的一对晶体管的栅极与例如p沟道晶体管(例如,PMOS晶体管)529-1及529-2的另一对晶体管的栅极交叉耦合)。如本文中进一步描述,包括晶体管527-1、527-2、529-1及529-2的锁存器515可称为初级锁存器。然而,实施例并不限于此实例。
相应数据线D及D_上的电压或电流可提供到交叉耦合锁存器515的相应锁存器输入533-1及533-2(例如,次级锁存器的输入)。在此实例中,锁存器输入533-1耦合到晶体管527-1及529-1的第一源极/漏极区域以及晶体管527-2及529-2的栅极。类似地,锁存器输入533-2可耦合到晶体管527-2及529-2的第一源极/漏极区域以及晶体管527-1及529-1的栅极。计算组件531(例如,累加器)可耦合到交叉耦合锁存器515的锁存器输入533-1及533-2,如所展示;然而,实施例不限于图5中所展示的实例。
在此实例中,晶体管527-1及527-2的第二源极/漏极区域共同耦合到作用中负控制信号528(RnIF)。晶体管529-1及529-2的第二源极/漏极区域共同耦合到作用中正控制信号590(ACT)。ACT信号590可为供应电压(例如,VDD)且RnIF信号可为参考电压(例如,接地)。激活信号528及590会启用交叉耦合锁存器515。
经启用交叉耦合锁存器515操作以放大锁存器输入533-1(例如,第一共同节点)与锁存器输入533-2(例如,第二共同节点)之间的差分电压,使得锁存器输入533-1经驱动到ACT信号电压及RnIF信号电压中的一者(例如,VDD及接地中的一者),且锁存器输入533-2经驱动到ACT信号电压及RnIF信号电压中的另一者。
感测放大器506还可包含经配置以平衡数据线D与D_(例如,与使感测放大器准备用于感测操作相关联)的电路。在此实例中,平衡电路包括具有第一源极/漏极区域的晶体管588,所述第一源极/漏极区域耦合到晶体管586-1的第一源极/漏极区域及数据线D505-1。晶体管588的第二源极/漏极区域可耦合到晶体管586-2的第一源极/漏极区域及数据线D_505-2。晶体管588的栅极可耦合到晶体管586-1及586-2的栅极。
晶体管586-1及586-2的第二源极/漏极区域耦合到可等于VDD/2的平衡电压538(例如,VDD/2),其中VDD是与阵列相关联的供应电压。晶体管588、586-1及586-2的栅极可耦合到控制信号526(EQ)。如此,激活EQ会启用晶体管588、586-1及586-2,此有效地将数据线D短接到数据线D_使得数据线D及D_经平衡到平衡电压VDD/2。根据本发明的各种实施例,可使用感测放大器执行若干个逻辑操作,且将结果存储于计算组件(例如,累加器)中。
如图4中所展示,感测放大器406及计算组件431可经由移位电路423耦合到阵列430。在此实例中,移位电路423包括一对隔离装置(例如,分别耦合到数据线405-1(D)及405-2(D_)的隔离晶体管421-1及421-2))。隔离晶体管421-1及421-2耦合到控制信号480(NORM),控制信号480在被激活时启用(例如,接通)隔离晶体管421-1及421-2以将对应感测放大器406及计算组件431耦合到对应存储器单元列(例如,对应互补数据线对405-1(D)及405-2(D_))。根据各种实施例,隔离晶体管421-1及421-2的导通可称为移位电路423的“正常”配置。
在图4中所图解说明的实例中,移位电路423包含耦合到互补控制信号419(SHIFT)的另一(例如,第二)对隔离装置(例如,隔离晶体管421-3及421-4),互补控制信号419可(举例来说)在对NORM撤销激活时被激活。可操作隔离晶体管421-3及421-4(例如,经由控制信号419)使得特定感测放大器406及计算组件431耦合到不同互补数据线对(例如,不同于隔离晶体管421-1及421-2将特定感测放大器406及计算组件431耦合到的互补数据线对的互补数据线对),或可将特定感测放大器406及计算组件431耦合到另一存储器阵列(且隔离特定感测放大器406及计算组件431与第一存储器阵列)。根据各种实施例,例如,移位电路423可布置为感测放大器406的一部分(例如,在感测放大器406内)。
尽管图4中所展示的移位电路423包含用于将特定感测电路450(例如,特定感测放大器406及对应计算组件431)耦合到特定互补数据线对405-1(D)及405-2(D_)(例如,DIGIT(n)及DIGIT(n)_)的隔离晶体管421-1及421-2以及经布置以将特定感测电路450耦合到一个特定方向上的邻近互补数据线对(例如,在图4中的右边所展示的邻近数据线DIGIT(n+1)及DIGIT(n+1)_)的隔离晶体管421-3及421-4,但本发明的实施例并不限于此。例如,移位电路可包含用于将特定感测电路耦合到特定互补数据线对(例如,DIGIT(n)及DIGIT(n)_)的隔离晶体管421-1及421-2以及经布置以便用于将特定感测电路耦合到另一特定方向上的邻近互补数据线对(例如,在图4中的左边所展示的邻近数据线DIGIT(n-1)及DIGIT(n-1)_)的隔离晶体管421-3及421-4。
本发明的实施例不限于图4中所展示的移位电路423的配置。在若干个实施例中,例如,可在不经由I/O线(例如,局部I/O线(IO/IO_))将数据传送出感测电路450的情况下与执行例如加法及减法函数等计算函数相关联地操作例如图4中所展示的移位电路423(例如,联合感测放大器406及计算组件431)。
尽管图4中未展示,但每一存储器单元列可耦合到列解码线,所述列解码线可经激活以经由局部I/O线将来自对应感测放大器406及/或计算组件431的数据值传送到在阵列外部的控制组件,例如外部处理资源(例如,主机处理器及/或其它功能单元电路)。列解码线可耦合到列解码器(例如,列解码器)。然而,如本文中所描述,在若干个实施例中,不需要经由此些I/O线传送数据以执行根据本发明的实施例的逻辑操作。在若干个实施例中,例如,可联合感测放大器406及计算组件431操作移位电路423以在不将数据传送到在阵列外部的控制组件的情况下执行例如加法及减法函数等计算函数。
可以数种模式操作感测电路450以执行逻辑操作,所述模式包含其中将逻辑操作的结果最初存储于感测放大器406中的第一模式及其中将逻辑操作的结果最初存储于计算组件431中的第二模式。下文关于图3及4描述感测电路450以第一模式的操作,且关于图2B到3E描述感测电路450以第二模式的操作。另外关于第一操作模式,可以预感测(例如,在逻辑操作控制信号为作用中之前激发感测放大器)及后感测(例如,在逻辑操作控制信号为作用中之后激发感测放大器)模式两者操作感测电路450,其中逻辑操作的结果最初存储于感测放大器406中。
如下文进一步描述,可联合计算组件431操作感测放大器406以使用来自阵列的数据作为输入来执行各种逻辑操作。在若干个实施例中,可在不经由数据线地址存取传送数据的情况下(例如,在不激发列解码信号使得经由局部I/O线将数据传送到在阵列及感测电路外部的电路的情况下)将逻辑操作的结果往回存储到阵列。如此,本发明的若干个实施例可实现使用少于各种先前方法的电力执行逻辑操作及与其相关联的计算函数。另外,由于若干个实施例消除对跨越I/O线传送数据以便执行计算函数(例如,在存储器与离散处理器之间)的需要,因此若干个实施例可实现与先前方法相比较经增加的并行处理能力。
下文描述且下文的表2中总结关于执行逻辑操作且将结果最初存储于感测放大器406中的图4的感测电路450的功能性。将特定逻辑操作的结果最初存储于感测放大器406的初级锁存器中可提供与先前方法相比较经改善的多功能性,在先前方法中结果可最初驻存于计算组件431的次级锁存器(例如,累加器)中,且然后随后传送到(例如)感测放大器406。
表2
将特定操作的结果最初存储于感测放大器406中(例如,而不必须执行额外操作以将结果从计算组件431(例如,累加器)移动到感测放大器406)是有利的,因为(例如)可在不执行预充电循环(例如,在互补数据线405-1(D)及/或405-2(D_)上)的情况下将结果写入到(存储器单元阵列的)行或往回写入到累加器中。
图6A图解说明根据本发明的若干个实施例的与使用感测电路执行若干个逻辑操作相关联的时序图。图6A图解说明与在开始将第二操作数(例如,行Y数据值)加载到感测放大器中之后起始AND逻辑操作相关联的时序图。图6A图解说明用于第一与第二操作数数据值的各种组合的感测放大器及累加器信号。图6A展示对应于每一集合中的行X数据值与行Y数据值的每一组合的相应感测放大器及累加器信号。下文关于与图4中所展示的电路的AND运算相关联的伪码论述特定时序图信号。
可如下总结与将存储于耦合到行404-X的单元中的第一数据值加载(例如,复制)到累加器中相关联的伪码的实例:
将行X复制到累加器中:
对EQ撤销激活
激活行X
激发感测放大器(在此之后行X数据驻存于感测放大器中)
激活LOAD(感测放大器数据(行X)传送到累加器的节点S1及S2且动态地驻存于那里)
关闭LOAD
关闭行X
预充电
在以上伪码中,“对EQ撤销激活”指示在如图6A中所展示的t1处停用对应于感测放大器406的平衡信号(图6A中所展示的EQ信号)(例如,使得互补数据线(例如,405-1(D)及405-2(D_)不再短接到VDD/2)。在停用平衡之后,激活选定行(例如,行X),如由伪码中的“激活行X”所指示且针对图6A中的信号行X在t2处所展示。当施加到行X的电压信号达到对应于选定单元的存取晶体管(例如,402-2)的阈值电压(Vt)时,存取晶体管接通且将数据线(例如,405-2(D_))耦合到选定单元(例如,电容器403-2),此形成数据线之间的差分电压信号。
在激活(例如,选择)行X之后,在以上伪码中,“激发感测放大器”指示感测放大器406经启用以设定初级锁存器且随后经停用。举例来说,如图6A中在t3处所展示,ACT正控制信号(例如,图5中所展示的590)变高且RnIF负控制信号(例如,图5中所展示的528)变低,此放大405-1(D)与D_405-2之间的差分信号,从而导致对应于逻辑1的电压(例如,VDD)或对应于逻辑0的电压(例如,GND)处于数据线405-1(D)上(且对应于另一逻辑状态的电压处于互补数据线405-2(D_)上)。所感测数据值存储于感测放大器406的初级锁存器中。在将数据线(例如,405-1(D)或405-2(D_))从平衡电压VDD/2充电到导轨电压VDD时发生初级能量消耗。
图6A中所图解说明的四组可能感测放大器及累加器信号(例如,行X与行Y数据值的每一组合一组)展示数据线D及D_上的信号行为。行X数据值存储于感测放大器的初级锁存器中。应注意,图4展示对应于行X的包含存取晶体管402-2的存储器单元耦合到互补数据线D_,而对应于行Y的包含存取晶体管402-1的存储器单元耦合到数据线D。然而,如图4中可见,对应于“0”数据值的存储于包括存取晶体管402-2的存储器单元(对应于行X)中的电荷致使数据线D_(包括存取晶体管402-2的存储器单元耦合到其)上的电压变高且对应于“1”数据值的存储于包括存取晶体管402-2的存储器单元中的电荷致使数据线D_上的电压变低,此与存储于耦合到数据线D的对应于行Y的包括存取晶体管402-1的存储器单元中的数据状态与电荷之间的对应性相反。当将数据值写入到相应存储器单元时适当地考虑到将电荷存储于耦合到不同数据线的存储器单元中的这些差异。
在激发感测放大器之后,在以上伪码中,“激活LOAD”指示:LOAD控制信号变高,如图6A中在t4处所展示,从而致使负载/通过晶体管418-1及418-2导通。以此方式,激活LOAD控制信号会启用计算组件431的累加器中的次级锁存器。存储于感测放大器406中的所感测数据值传送(例如,复制)到次级锁存器。如针对图6A中所图解说明的四组可能感测放大器及累加器信号中的每一者所展示,累加器的次级锁存器的输入处的行为指示次级锁存器加载有行X数据值。如图6A中所展示,累加器的次级锁存器可取决于先前存储于动态锁存器中的数据值而翻转(例如,参见针对行X=“0”及行Y=“0”及针对行X=“1”及行Y=“0”的累加器信号),或不翻转(例如,参见针对行X=“0”及行Y=“1”及针对行X=“1”及行Y=“1”的累加器信号)。
在依据存储于感测放大器中(且存在于数据线405-1(D)及405-2(D_)上)的数据值设定次级锁存器之后,在以上伪码中,“关闭LOAD”指示LOAD控制信号变回为低(如图6A中在t5处所展示)以致使负载/通过晶体管418-1及418-2停止导通且借此隔离动态锁存器与互补数据线。然而,数据值保持动态地存储于累加器的次级锁存器中。
在将数据值存储于次级锁存器上之后,对选定行(例如,行X)撤销激活,如由“关闭行X”所指示且图6A中在t6处所指示,可通过存取晶体管关断完成此操作以将选定单元从对应数据线解耦。一旦关闭选定行且隔离存储器单元与数据线,便可将数据线预充电,如以上伪码中的“预充电”所指示。可通过平衡操作完成数据线的预充电,如图6A中由EQ信号在t7处变高所指示。如图6A中在t7处所图解说明的四组可能感测放大器及累加器信号中的每一者中所展示,平衡操作致使数据线D及D_上的电压各自返回到VDD/2。可(例如)在存储器单元感测操作或逻辑操作(下文所描述)之前发生平衡。
与对第一数据值(现在存储于感测放大器406及计算组件431的次级锁存器中)及第二数据值(存储于耦合到行Y 404-Y的包括存取晶体管402-1的存储器单元中)执行AND或OR运算相关联的后续操作阶段包含执行取决于将执行AND还是OR的特定步骤。下文总结与对驻存于累加器中的数据值(例如,存储于耦合到行X 404-X的包括存取晶体管402-2的存储器单元中的第一数据值)及第二数据值(例如,存储于耦合到行Y 404-Y的包括存取晶体管402-1的存储器单元中的数据值)进行“AND”操作及“OR”操作相关联的伪码的实例。与对数据值进行“AND”操作相关联的实例性伪码可包含:
对EQ撤销激活
激活行Y
激发感测放大器(在此之后行Y数据驻存于感测放大器中)
关闭行Y
在接下来的操作中,将把逻辑操作的结果置于将对为激活的任一行重写的感测放大器上。
即使在关闭行Y时,感测放大器仍含有行Y数据值。
激活AND
此导致感测放大器被写入为函数(例如,行X与行Y的AND运算)的值
如果累加器含有“0”(即,节点S2上的电压对应于“0”且节点S1上的电压对应于“1”),那么感测放大器数据经写入为“0”
如果累加器含有“1”(即,节点S2上的电压对应于“1”且节点S1上的电压对应于“0”),那么感测放大器数据保持未改变(行Y数据)
此操作使累加器中的数据未改变。
关闭AND
预充电
在以上伪码中,“对EQ撤销激活”指示停用对应于感测放大器406的平衡信号(例如,使得互补数据线405-1(D)及405-2(D_)不再短接到VDD/2),图6A中在t8处图解说明此。在停用平衡之后,激活选定行(例如,行Y),如以上伪码中由“激活行Y”所指示且图6A中在t9处所展示。当施加到行Y的电压信号达到对应于选定单元的存取晶体管(例如,402-1)的阈值电压(Vt)时,存取晶体管接通且将数据线(例如,D_405-1)耦合到选定单元(例如,电容器403-1),此形成数据线之间的差分电压信号。
在激活行Y之后,在以上伪码中,“激发感测放大器”指示:感测放大器406经启用以放大405-1(D)与405-2(D_)之间的差分信号,从而导致对应于逻辑1的电压(例如,VDD)或对应于逻辑0的电压(例如,GND)处于数据线405-1(D)上(且对应于另一逻辑状态的电压处于互补数据线405-2(D_)上)。如图6A中在t10处所展示,ACT正控制信号(例如,图5中所展示的590)变高且RnIF负控制信号(例如,图5中展示的528)变低以激发感测放大器。来自包括存取晶体管402-1的存储器单元的所感测数据值存储于感测放大器406的初级锁存器中,如先前所描述。次级锁存器仍对应于来自包括存取晶体管402-2的存储器单元的数据值,因为动态锁存器未改变。
在从耦合到行Y的包括存取晶体管402-1的存储器单元感测到的第二数据值存储于感测放大器406的初级锁存器中之后,在以上伪码中,“关闭行Y”指示:如果不期望将AND逻辑操作的结果往回存储于对应于行Y的存储器单元中,那么可对选定行(例如,行Y)撤销激活。然而,图6A展示使行Y在作用中使得可将逻辑操作的结果往回存储于对应于行Y的存储器单元中。可通过存取晶体管关断完成隔离对应于行Y的存储器单元以将包括存取晶体管402-1的选定单元从数据线405-1(D)解耦。在选定行Y经配置(例如,以隔离存储器单元或不隔离存储器单元)之后,以上伪码中的“激活AND”指示:AND控制信号变高,如图6A中在t11处所展示,从而致使通过晶体管407-1导通。以此方式,激活AND控制信号致使函数(例如,行X与行Y的AND运算)的值写入到感测放大器。
在第一数据值(例如,行X)存储于累加器431的动态锁存器中且第二数据值(例如,行Y)存储于感测放大器406中的情况下,如果计算组件431的动态锁存器含有“0”(即,节点S2上的电压对应于“0”且节点S1上的电压对应于“1”),那么感测放大器数据被写入为“0”(而不管先前存储于感测放大器中的数据值如何),因为在节点S1上对应于“1”的电压致使晶体管409-1导通,借此经由晶体管409-1、通过晶体管407-1及数据线405-1(D)将感测放大器406耦合到接地。当AND运算的任一数据值是“0”时,结果是“0”。此处,当第二数据值(在动态锁存中)是“0”时,AND运算的结果是“0”而不管第一数据值的状态如何,且因此感测电路的配置致使“0”结果经写入且最初存储于感测放大器406中。此操作使累加器中的数据值未改变(例如,来自行X)。
如果累加器的次级锁存器含有“1”(例如,来自行X),那么AND运算的结果取决于存储于感测放大器406中的数据值(例如,来自行Y)。如果存储于感测放大器406中的数据值(例如,来自行Y)是“1”,那么AND运算的结果也应是“1”,但如果存储于感测放大器406中的数据值(例如,来自行Y)是“0”,那么AND运算的结果也应是“0”。感测电路450经配置使得:如果累加器的动态锁存器含有“1”(即,节点S2上的电压对应于“1”且节点S1上的电压对应于“0”),那么晶体管409-1不导通,感测放大器不耦合到接地(如上文所描述),且先前存储于感测放大器406中的数据值保持未改变(例如,行Y数据值,因此如果行Y数据值是“1”,那么AND运算结果是“1”,且如果行Y数据值是“0”,那么AND运算结果是“0”)。此操作使累加器中的数据值未改变(例如,来自行X)。
在AND运算的结果最初存储于感测放大器406中之后,以上伪码中的“关闭AND”指示:AND控制信号变低,如图6A中在t12处所展示,从而致使通过晶体管407-1停止导通以隔离感测放大器406(及数据线405-1(D))与接地。如果先前未进行,那么可关闭行Y(如图6A中在t13处所展示)且可停用感测放大器(如图6A中在t14处通过ACT正控制信号变低且RnIF负控制信号变高所展示)。在隔离数据线的情况下,以上伪码中的“预充电”可通过平衡操作导致数据线的预充电,如先前所描述(例如,图6A中所展示在t14处开始)。
在替代方案中,图6A针对涉及可能操作数组合(例如,行X/行Y数据值00、10、01及11)中的每一者的AND逻辑操作展示耦合到感测放大器(例如,图4中所展示的406)的数据线(例如,图4中所展示的405-1(D)及405-2(D_))上的电压信号的行为及计算组件(例如,图4中所展示的431)的次级锁存器的节点S1及S2上的电压信号的行为。
尽管图6A中所图解说明的时序图及上文所描述的伪码指示在开始将第二操作数(例如,行Y数据值)加载到感测放大器中之后起始AND逻辑操作,但可通过在开始将第二操作数(例如,行Y数据值)加载到感测放大器中之前起始AND逻辑操作而成功地操作图4中所展示的电路。
图6B图解说明根据本发明的若干个实施例的与使用感测电路执行若干个逻辑操作相关联的时序图。图6B图解说明与在开始将第二操作数(例如,行Y数据值)加载到感测放大器中之后起始OR逻辑操作相关联的时序图。图6B图解说明用于第一与第二操作数数据值的各种组合的感测放大器及累加器信号。下文关于与图4中所展示的电路的AND逻辑操作相关联的伪码论述特定时序图信号。
后续操作阶段可替代地与对第一数据值(现在存储于感测放大器406及计算组件431的次级锁存器中)及第二数据值(存储于耦合到行Y 404-Y的包括存取晶体管402-1的存储器单元中)执行OR运算相关联。关于图6B未重复先前关于图6A中所展示的时间t1到t7所描述的用以将行X数据加载到感测放大器及累加器中的操作。与对数据值进行“OR”操作相关联的实例性伪码可包含:
对EQ撤销激活
激活行Y
激发感测放大器(在此之后行Y数据驻存于感测放大器中)
关闭行Y
当关闭行Y时,感测放大器仍含有行Y数据值。
激活OR
此导致感测放大器被写入为函数(例如,行X与行Y的OR运算)的值,此可如下对先前存储于感测放大器中的来自行Y的数据值重写:
如果累加器含有“0”(即,节点S2上的电压对应于“0”且节点S1上的电压对应于“1”),那么感测放大器数据保持未改变(行Y数据)
如果累加器含有“1”(即,节点S2上的电压对应于“1”且节点S1上的电压对应于“0”),那么感测放大器数据被写入为“1”
此操作使累加器中的数据未改变。
关闭OR
预充电
以上伪码中所展示的“对EQ撤销激活”(图6B中在t8处所展示)、“激活行Y”(图6B中在t9处所展示)、“激发感测放大器”(图6B中在t10处所展示)及“关闭行Y”(图6B中在t13处所展示,且此可在起始特定逻辑功能控制信号之前发生)指示与先前关于AND运算伪码所描述相同的功能性。一旦适当地配置选定行Y的配置(例如,如果逻辑操作结果将存储于对应于行Y的存储器单元中,那么选定行Y经激活,或如果逻辑操作结果将不存储于对应于行Y的存储器单元中,那么选定行Y经关闭以隔离存储器单元),以上伪码中的“激活OR”便指示:OR控制信号变高(如图6B中在t11处所展示),此致使通过晶体管407-2导通。以此方式,激活OR控制信号致使函数(例如,行X与行Y的OR运算)的值写入到感测放大器。
在第一数据值(例如,行X)存储于计算组件431的次级锁存器中且第二数据值(例如,行Y)存储于感测放大器406中的情况下,如果累加器的动态锁存器含有“0”(即,节点S2上的电压对应于“0”且节点S1上的电压对应于“1”),那么OR运算的结果取决于存储于感测放大器406中的数据值(例如,来自行Y)。如果存储于感测放大器406中的数据值(例如,来自行Y)是“1”,那么OR运算的结果应是“1”,但如果存储于感测放大器406中的数据值(例如,来自行Y)是“0”,那么OR运算的结果也应是“0”。感测电路450经配置使得:如果累加器的动态锁存器含有“0”(其中节点S2上的电压对应于“0”),那么晶体管409-2关断且不导通(且通过晶体管407-1也关断,因为AND控制信号未经断言),因此感测放大器406不耦合到接地(任一侧),且先前存储于感测放大器406中的数据值保持未改变(例如,行Y数据值,使得如果行Y数据值是“1”,那么OR运算结果是“1”,且如果行Y数据值是“0”那么OR运算结果是“0”)。
如果累加器的动态锁存器含有“1”(即,节点S2上的电压对应于“1”且节点S1上的电压对应于“0”),那么晶体管409-2导通(通过晶体管407-2同样导通,因为OR控制信号经断言),且耦合到数据线405-2(D_)的感测放大器406输入耦合到接地,因为在节点S2上对应于“1”的电压致使晶体管409-2连同通过晶体管407-2(其也导通,因为OR控制信号经断言)导通。以此方式,当累加器的次级锁存器含有“1”时将“1”作为OR运算的结果最初存储于感测放大器406中而不管先前存储于感测放大器中的数据值如何。此操作使累加器中的数据未改变。在替代方案中,图6B针对涉及可能操作数组合(例如,行X/行Y数据值00、10、01及11)中的每一者的OR逻辑操作展示耦合到感测放大器(例如,图4中所展示的406)的数据线(例如,图4中所展示的405-1(D)及405-2(D_))上的电压信号的行为及计算组件431的次级锁存器的节点S1及S2上的电压信号的行为。
在OR运算的结果最初存储于感测放大器406中之后,以上伪码中的“关闭OR”指示:OR控制信号变低(如图6B中在t12处所展示),从而致使通过晶体管407-2停止导通以隔离感测放大器406(及数据线D 405-2)与接地。如果先前未进行,那么可关闭行Y(如图6B中在t13处所展示)且可停用感测放大器(如图6B中在t14处通过ACT正控制信号变低且RnIF负控制信号变高所展示)。在隔离数据线的情况下,以上伪码中的“预充电”可通过平衡操作导致数据线的预充电,如先前所描述及6B中在t14处所展示。
图4中所图解说明的感测电路450可如下提供额外逻辑操作灵活性。通过在上文所描述的AND及OR运算中用ANDinv控制信号的操作替代AND控制信号的操作及/或用ORinv控制信号的操作替代OR控制信号的操作,逻辑操作可从{Row X AND Row Y}改变为{~Row XAND Row Y}(其中“~Row X”指示与行X数据值的对立面,例如,NOTRow X)且可从{Row X ORRow Y}改变为{~Row X OR Row Y}。举例来说,在涉及反转数据值的AND运算期间,可断言ANDinv控制信号而非AND控制信号,且在涉及反转数据值的OR运算期间,可断言ORInv控制信号而非OR控制信号。激活ORinv控制信号致使晶体管414-1导通且激活ANDinv控制信号致使晶体管414-2导通。在每一情形中,断言适当的反转控制信号可使感测放大器翻转且致使最初存储于感测放大器406中的结果为使用反转行X及真实行Y数据值的AND运算的结果或使用反转行X及真实行Y数据值的OR运算的结果。一个数据值的真实或互补版本可在累加器中用于(举例来说)通过首先加载将反转的数据值且其次加载将不反转的数据值而执行逻辑操作(例如,AND、OR)。
在类似于上文关于使上文所描述的AND及OR运算的数据值反转所描述的方法中,图4中所展示的感测电路可通过将非反转数据值置入到累加器的动态锁存器中且使用所述数据来使感测放大器406中的数据值反转而执行NOT(例如,反转)操作。如先前所提及,激活ORinv控制信号致使晶体管414-1导通且激活ANDinv控制信号致使晶体管414-2导通。ORinv及/或ANDinv控制信号用于实施NOT函数,如下文进一步描述:
将行X复制到累加器中
对EQ撤销激活
激活行X
激发感测放大器(在此之后行X数据驻存于感测放大器中)
激活LOAD(感测放大器数据(行X)传送到累加器的节点S1及S2且动态地驻存于那里)
关闭LOAD
激活ANDinv及ORinv(此将互补数据值置于数据线上)
此导致感测放大器中的数据值经反转(例如,使感测放大器锁存器翻转)
此操作使累加器中的数据未改变
关闭ANDinv及ORinv
关闭行X
预充电
以上伪码中所展示的“对EQ撤销激活”、“激活行X”、“激发感测放大器”、“激活LOAD”及“关闭LOAD”指示与在用于AND运算及OR运算的伪码之前的上文所描述的用于“将行X复制到累加器中”初始操作阶段的伪码中的相同操作相同的功能性。然而,不是在将行X数据加载到感测放大器406中且复制到动态锁存器中之后关闭行X及预充电,而是可将累加器的动态锁存器中的数据值的互补版本置于数据线上且因此通过启用(例如,致使晶体管导通)及停用反相晶体管(例如,ANDinv及ORinv)而传送到感测放大器406。此导致感测放大器406从先前存储于感测放大器中的真实数据值翻转为存储于感测放大器中的互补数据值(例如,反转数据值)。即,可通过激活及撤销激活ANDinv及ORinv而将累加器中的数据值的真实或互补版本传送到感测放大器。此操作使累加器中的数据未改变。
由于图4中所展示的感测电路450将AND、OR及NOT逻辑操作的结果最初存储于感测放大器406中(例如,感测放大器节点上),因此这些逻辑操作结果可容易地且迅速地传达到任一作用中行(在完成逻辑操作之后激活任一行)及/或传达到计算组件431的次级锁存器中。还可通过在感测放大器406激发之前适当激发AND、OR、ANDinv及/或ORinv控制信号(及具有耦合到特定控制信号的栅极的对应晶体管的操作)而互换用于AND、OR及/或NOT逻辑操作的感测放大器406及定序。
当以此方式执行逻辑操作时,感测放大器406可预种有来自累加器的动态锁存器的数据值以减少所利用的总体电流,因为当累加器函数复制到感测放大器406时感测放大器406未处于全轨电压(例如,供应电压或接地/参考电压)。关于经预种感测放大器406的操作序列将数据线中的一者驱迫到参考电压(从而使互补数据线处于VDD/2)或使互补数据线未改变。当感测放大器406激发时,感测放大器406将相应数据线拉到全轨。使用此操作序列将对激活行中的数据重写。
可通过使用传统DRAM隔离(ISO)方案将两个相邻数据线互补对多路复用(“多路复用传输”)而完成SHIFT操作。根据本发明的实施例,移位电路423可用于使存储于耦合到特定互补数据线对的存储器单元中的数据值移位到对应于不同互补数据线对的感测电路450(例如,感测放大器406)(例如,例如对应于左或右邻近互补数据线对的感测放大器406)。如本文中所使用,感测放大器406对应于在隔离晶体管421-1及421-2导通时感测放大器耦合到的互补数据线对。SHIFT操作(向右或向左)不将行X数据值预复制到累加器中。可如下总结用以使行X向右移位的操作:
对Norm撤销激活且激活Shift
对EQ撤销激活
激活行X
激发感测放大器(在此之后经移位行X数据驻存于感测放大器中)
激活Norm且对Shift撤销激活
关闭行X
预充电
在以上伪码中,“对Norm撤销激活且激活Shift”指示:NORM控制信号变低,从而致使移位电路423的隔离晶体管421-1及421-2不导通(例如,隔离感测放大器与对应互补数据线对)。SHIFT控制信号变高,从而致使隔离晶体管421-3及421-4导通,借此将感测放大器406耦合到左邻近互补数据线对(例如,针对左邻近互补数据线对在非导通隔离晶体管421-1及421-2的存储器阵列侧上)。
在配置移位电路423之后,以上伪码中所展示的“对EQ撤销激活”、“激活行X”及“激发感测放大器”指示与在用于AND运算及OR运算的伪码之前的上文所描述的用于“将行X复制到累加器中”初始操作阶段的伪码中的相同操作相同的功能性。在这些操作之后,耦合到左邻近互补数据线对的存储器单元的行X数据值向右移位且存储于感测放大器406中。
在以上伪码中,“激活Norm且对Shift撤销激活”指示:NORM控制信号变高,从而致使移位电路423的隔离晶体管421-1及421-2导通(例如,将感测放大器耦合到对应互补数据线对),且SHIFT控制信号变低,从而致使隔离晶体管421-3及421-4不导通且隔离感测放大器406与左邻近互补数据线对(例如,针对左邻近互补数据线对在非导通隔离晶体管421-1及421-2的存储器阵列侧上)。由于行X仍在作用中,因此已向右移位的行X数据值通过隔离晶体管421-1及421-2传送到对应互补数据线对的行X。
在行X数据值向右移位到对应互补数据线对之后,对选定行(例如,行X)撤销激活,如以上伪码中的“关闭行X”所指示,可通过存取晶体管关断完成此操作以将选定单元从对应数据线解耦。一旦关闭选定行且隔离存储器单元与数据线,便可将数据线预充电,如以上伪码中的“预充电”所指示。可通过平衡操作完成数据线的预充电,如上文所描述。
可如下总结用以使行X向左移位的操作:
激活Norm且对Shift撤销激活
对EQ撤销激活
激活行X
激发感测放大器(在此之后行X数据驻存于感测放大器中)
对Norm撤销激活且激活Shift
将感测放大器数据(向左移位的行X)传送到行X
关闭行X
预充电
在以上伪码中,“激活Norm且对Shift撤销激活”指示:NORM控制信号变高,从而致使移位电路423的隔离晶体管421-1及421-2导通,且SHIFT控制信号变低,从而致使隔离晶体管421-3及421-4不导通。此配置将感测放大器406耦合到对应互补数据线对且隔离感测放大器与右邻近互补数据线对。
在配置移位电路之后,以上伪码中所展示的“对EQ撤销激活”、“激活行X”及“激发感测放大器”指示与在用于AND运算及OR运算的伪码之前的上文所描述的用于“将行X复制到累加器中”初始操作阶段的伪码中的相同操作相同的功能性。在这些操作之后,将耦合到对应于感测电路450的互补数据线对的存储器单元的行X数据值存储于感测放大器406中。
在以上伪码中,“对Norm撤销激活且激活Shift”指示:NORM控制信号变低,从而致使移位电路423的隔离晶体管421-1及421-2不导通(例如,隔离感测放大器与对应互补数据线对),且SHIFT控制信号变高,从而致使隔离晶体管421-3及421-4导通,从而将感测放大器耦合到左邻近互补数据线对(例如,针对左邻近互补数据线对在非导通隔离晶体管421-1及421-2的存储器阵列侧上)。由于行X仍在作用中,因此已向左移位的行X数据值传送到左邻近互补数据线对的行X。
在行X数据值向左移位到左邻近互补数据线对之后,停用选定行(例如,行X),如由“关闭行X”所指示,可通过存取晶体管关断完成此操作以将选定单元从对应数据线解耦。一旦关闭选定行且隔离存储器单元与数据线,便可将数据线预充电,如以上伪码中的“预充电”所指示。可通过平衡操作完成数据线的预充电,如上文所描述。
根据各种实施例,举例来说,可在存储器中处理器(PIM)装置的存储器阵列核心(例如DRAM每存储器单元一个晶体管(例如,1T1C)配置,为6F^2或4F^2存储器单元大小)中实现通用计算。本文中所描述的设备及方法的优点并非是就单个指令速度实现,而是就可通过在不将数据传送出存储器阵列(例如,DRAM)或激发列解码的情况下并行计算整个数据库而达成的累积速度来实现。换句话说,可消除数据传送时间。举例来说,本发明的设备可使用耦合到数据线(例如,16K存储器单元列)的存储器单元中的数据值同时执行AND或OR。
在其中移出数据以用于逻辑操作处理(例如,使用32或64位寄存器)的先前方法感测电路中,可并行执行与本发明的设备相比较较少的操作。以此方式,与涉及与存储器离散的中央处理单元(CPU)使得数据必须在其之间传送的常规配置相比较,有效地提供显著较高吞吐量。根据本发明的设备及/或方法还可使用少于其中CPU与存储器离散的配置的能量/面积。此外,本发明的设备及/或方法可对较小能量/面积优点进行改善,因为存储器中阵列逻辑操作通过消除某些数据值传送而节省能量。
图7是图解说明根据本发明的若干个实施例的具有可选择逻辑操作选择逻辑的感测电路的示意图。图7展示耦合到一对互补感测线705-1及705-2的感测放大器706及经由通过门707-1及707-2耦合到感测放大器706的计算组件731。通过门707-1及707-2的栅极可由可从逻辑操作选择逻辑713-5输出的逻辑操作选择逻辑信号PASS控制。图7展示标记为“A”的计算组件731及标记为“B”的感测放大器706以指示存储于计算组件731中的数据值是“A”数据值且存储于感测放大器706中的数据值是“B”数据值,关于图8所图解说明的逻辑表中所展示。
图7中所图解说明的感测电路750包含逻辑操作选择逻辑713-5。在此实例中,逻辑713-5包括由逻辑操作选择逻辑信号PASS*控制的交换门742。逻辑操作选择逻辑713-5还包括四个逻辑选择晶体管:逻辑选择晶体管762,其耦合于交换晶体管742的栅极与TF信号控制线之间;逻辑选择晶体管752,其耦合于通过门707-1及707-2的栅极与TT信号控制线之间;逻辑选择晶体管754,其耦合于通过门707-1及707-2的栅极与FT信号控制线之间;及逻辑选择晶体管764,其耦合于交换晶体管742的栅极与FF信号控制线之间。逻辑选择晶体管762及752的栅极通过隔离晶体管750-1(具有耦合到ISO信号控制线的栅极)耦合到真实感测线(例如,705-1),且逻辑选择晶体管764及754的栅极通过隔离晶体管750-2(也具有耦合到ISO信号控制线的栅极)耦合到互补感测线(例如,705-2)。
逻辑选择晶体管752及754分别类似于如图4中所展示的晶体管407-1(耦合到AND信号控制线)及晶体管407-2(耦合到OR信号控制线)而布置。逻辑选择晶体管752及754的操作基于在断言ISO信号时TT及FT选择信号的状态及相应互补感测线上的数据值而是类似的。逻辑选择晶体管762及764还以类似方式操作以控制交换晶体管742的连续性。即,为开启(OPEN,例如,接通)交换晶体管742,在真实感测线上的数据值为“1”的情况下激活TF控制信号(例如,为高),或在互补感测线上的数据值为“1”的情况下激活FF控制信号(例如,为高)。如果对应感测线(例如,特定逻辑选择晶体管的栅极耦合到的感测线)上的相应控制信号或数据值并非高的,那么交换晶体管742将不由特定逻辑选择晶体管开启。
PASS*控制信号未必与PASS控制信号互补。例如,可能同时激活PASS及PASS*控制信号两者或对所述两者撤销激活。然而,同时激活PASS及PASS*控制信号两者使互补感测线对短接在一起,此可为待避免的破坏性配置。图8中所图解说明的逻辑表中总结图7中所图解说明的感测电路的逻辑操作结果。
图8是图解说明根据本发明的若干个实施例的可由图7中所展示的感测电路实施的可选择逻辑操作结果的逻辑表。四个逻辑选择控制信号(例如,TF、TT、FT及FF)联合存在于互补感测线上的特定数据值可用于选择多个逻辑操作中的一者来实施涉及存储于感测放大器706及计算组件731中的开始数据值。所述四个控制信号联合存在于互补感测线上的特定数据值控制通过门707-1及707-2以及交换晶体管742的连续性,此又在激发之前/之后影响计算组件731及/或感测放大器706中的数据值。选择性地控制交换晶体管742的连续性的能力促进实施涉及反转数据值(例如,反转操作数及/或反转结果)的逻辑操作以及其它操作。
图8中所图解说明的逻辑表展示844处的栏A中所展示的存储于计算组件731中的开始数据值及845处的栏B中所展示的存储于感测放大器706中的开始数据值。图8的逻辑表中的其它3个顶栏标题(未开启(NOT OPEN)856、开启真实(OPEN TRUE)870及开启反转(OPENINVERT)871)是指通过门707-1及707-2以及交换晶体管742的连续性,通过门707-1及707-2以及交换晶体管742可分别取决于在断言ISO控制信号时四个逻辑选择控制信号(例如,TF、TT、FT及FF)的状态联合存在于互补感测线对705-1及705-2上的特定数据值而经控制为开启或关闭。“未开启”栏对应于通过门707-1及707-2以及交换晶体管742两者均处于非导通状况中,“开启真实”对应于通过门707-1及707-2处于导通状况中,且“开启反转”对应于交换晶体管742处于导通状况中。图8的逻辑表中未反映对应于通过门707-1及707-2以及交换晶体管742两者均处于导通状况中的配置,因为此配置导致感测线短接在一起。
经由对通过门707-1及707-2以及交换晶体管742的连续性的选择性控制,图8的逻辑表的上部部分的第一组两行的三个栏中的每一者可与在第一组下面的第二组两行的三个栏中的每一者组合以提供对应于九个不同逻辑操作的3×3=9个不同结果组合,如由875处所展示的各种连接路径所指示。图8中所图解说明的逻辑表中总结可由感测电路750实施的九个不同可选择逻辑操作。
图8中所图解说明的逻辑表的下部部分的栏展示包含逻辑选择控制信号的状态的标题880。举例来说,第一逻辑选择控制信号的状态提供于行876中,第二逻辑选择控制信号的状态提供于行877中,第三逻辑选择控制信号的状态提供于行878中,且第四逻辑选择控制信号的状态提供于行879中。行847中总结对应于结果的特定逻辑操作。
如此,图7中所展示的感测电路可用于执行如图8中所展示的各种逻辑操作。举例来说,根据本发明的若干个实施例,可操作感测电路750以执行与比较存储器中的数据模式相关联的各种逻辑操作(例如,AND及OR逻辑操作)。
结论
本发明包含与在存储器中执行比较操作有关的设备及方法。实例性设备可包含包括耦合到感测线且耦合到第一数目个选择线的第一数目个存储器单元的存储器阵列的第一地址空间。第一值可存储于所述第一地址空间中。所述存储器阵列的第二地址空间包括耦合到所述感测线且耦合到第二数目个选择线的第二数目个存储器单元。第二值可存储于所述第二地址空间中。所述存储器阵列的第三地址空间包括耦合到所述感测线且耦合到第三数目个选择线的第三数目个存储器单元。结果可存储于所述第三地址空间中。感测电路可经配置以接收所述第一值及所述第二值、将所述第一值与所述第二值进行比较以确定所述第一值及所述第二值中的哪一者较大且将所述比较操作的结果存储于所述第三地址空间中。
尽管本文中已图解说明及描述了具体实施例,但所属领域的技术人员将了解,旨在实现相同结果的布置可替代所展示的具体实施例。本发明打算涵盖本发明的一或多个实施例的更改或变化。应理解,已以说明性方式而非限定性方式做出以上描述。在审阅以上描述后,所属领域的技术人员将明了以上实施例的组合及本文中未具体描述的其它实施例。本发明的一或多个实施例的范围包含其中使用以上结构及方法的其它应用。
在前述实施方式中,出于简化本发明的目的,将一些特征一起集合于单个实施例中。本发明的此方法不应解释为反映本发明的所揭示实施例必须使用所有这些特征的意图。而是,发明性标的物在于少于单个所揭示实施例的所有特征。
Claims (20)
1.一种用于比较值的方法,其包括:
使用存储于存储器阵列的耦合到一感测线的数个存储器单元的第一部分中的第一值的逻辑表示及存储于所述存储器阵列的耦合到所述感测线的所述数个存储器单元的第二部分中的第二值的逻辑表示来在存储器中执行第一多个逻辑操作;
将所述第一多个逻辑操作的结果存储在所述存储器阵列的耦合到所述感测线的所述数个存储器单元的第四部分中;
使用所述第一多个逻辑操作的所述结果来在存储器中执行第二多个逻辑操作,其中所述第一多个逻辑操作和所述第二多个逻辑操作经执行以比较所述第一值与所述第二值;
其中执行所述第二多个逻辑操作中的至少一者包括顺序地一次激活单个选择线;及
将所述第二多个逻辑操作的结果的逻辑表示存储于所述存储器阵列的耦合到所述感测线的所述数个存储器单元的第三部分中。
2.根据权利要求1所述的方法,其进一步包括:
将所述第一值的所述逻辑表示作为第一操作数位向量存储于耦合到所述感测线的所述数个存储器单元的所述第一部分中,其中所述数个存储器单元的所述第一部分中的每一存储器单元存储来自所述第一操作数位向量的相应位;及
将所述第二值的所述逻辑表示作为第二操作数位向量存储于耦合到所述感测线的所述数个存储器单元的所述第二部分中,其中所述数个存储器单元的所述第二部分中的每一存储器单元存储来自所述第二操作数位向量的相应位;且
其中存储所述第二多个逻辑操作的所述结果的所述逻辑表示包括:将所述第二多个逻辑操作的所述结果的所述逻辑表示作为结果位向量存储于耦合到所述感测线的所述数个存储器单元的所述第三部分中,其中所述数个存储器单元的所述第三部分中的每一存储器单元存储来自所述结果位向量的相应位。
3.根据权利要求2所述的方法,其中所述数个存储器单元的所述第三部分中的所述结果位向量包括至少两个位的位向量。
4.根据权利要求1到3中任一权利要求所述的方法,其中比较所述第一值与所述第二值包括确定所述第一值是否大于所述第二值、所述第二值是否大于所述第一值或所述第一值是否等于所述第二值。
5.根据权利要求1到3中任一权利要求所述的方法,其中比较所述第一值与所述第二值包含清除计算组件及存储所述第二多个逻辑操作的所述结果的所述逻辑表示的第三数目个存储器单元。
6.根据权利要求1到3中任一权利要求所述的方法,其进一步包含:
确定存储于所述数个存储器单元的所述第一部分中的位是否等于存储于所述数个存储器单元的所述第二部分中的位;
其中将来自所述数个存储器单元的所述第一部分的对应位与来自所述数个存储器单元的所述第二部分的对应位进行比较。
7.根据权利要求6所述的方法,其中确定存储于所述数个存储器单元的所述第一部分中的位是否等于存储于所述数个存储器单元的所述第二部分中的位包括:
确定来自所述第一值及所述第二值的具有第一索引的位是否相等,然后确定具有第二索引的位是否相等;
其中所述第一索引是比第二索引更有效的索引。
8.一种设备,其包括:
存储器阵列的第一地址空间,其包括耦合到感测线且耦合到第一数目个选择线的第一数目个存储器单元,其中所述第一地址空间存储第一值;
所述存储器阵列的第二地址空间,其包括耦合到所述感测线且耦合到第二数目个选择线的第二数目个存储器单元,其中所述第二地址空间存储第二值;
所述存储器阵列的第三地址空间,其包括耦合到所述感测线且耦合到第三数目个选择线的第三数目个存储器单元,其中所述第三地址空间存储第二多个逻辑操作的结果;
所述存储器阵列的第四地址空间,其包括耦合到所述感测线且耦合到第四数目个选择线的第四数目个存储器单元,其中所述第四地址空间存储第一多个逻辑操作的结果;及
控制电路,其经配置以控制感测电路以:
使用所述第一值和所述第二值来执行所述第一多个逻辑操作,其中所述第一多个逻辑操作包括XOR操作;
将所述第一多个逻辑操作的所述结果存储在所述第四地址空间中;
使用所述第一多个逻辑操作的所述结果来执行所述第二多个逻辑操作以比较所述第一值与所述第二值;以及
将所述第二多个逻辑操作的所述结果存储于所述第三地址空间中。
9.根据权利要求8所述的设备,其中所述控制电路经配置以控制所述感测电路以从最高有效位到最低有效位的顺序确定来自所述第一值的逻辑表示的位是否等于来自所述第二值的逻辑表示的对应位。
10.根据权利要求9所述的设备,其中所述控制电路经配置以控制所述感测电路以响应于来自所述第一值的所述逻辑表示的所有位等于来自所述第二值的所述逻辑表示的所有对应位的确定将指示所述第一值等于所述第二值的位存储于所述第三地址空间中。
11.根据权利要求10所述的设备,其中所述控制电路经配置以控制所述感测电路以响应于来自所述第一值的所述逻辑表示的所述位不等于来自所述第二值的所述逻辑表示的所述对应位的确定,确定来自所述第一值的所述逻辑表示的所述位是否大于来自所述第二值的所述逻辑表示的所述对应位。
12.根据权利要求11所述的设备,其中所述控制电路经配置以控制所述感测电路以响应于来自所述第一值的所述逻辑表示的所述位大于来自所述第二值的所述逻辑表示的所述对应位的确定,将指示所述第一值大于所述第二值的位存储于所述第三地址空间中。
13.根据权利要求11所述的设备,其中所述控制电路经配置以控制所述感测电路以响应于来自所述第二值的所述逻辑表示的所述对应位大于来自所述第一值的所述逻辑表示的所述位的确定,将指示所述第二值大于所述第一值的位存储于所述第三地址空间中。
14.一种用于执行数个比较操作的方法,其包括:
使用存储器阵列的耦合到数个感测线的数个计算组件来使用存储于所述存储器阵列的耦合到所述数个感测线的存储器单元的数个第一部分中的数个第一值和存储于所述存储器阵列的耦合到所述数个感测线的所述存储器单元的数个第二部分中的数个第二值来执行第一多个逻辑操作;
将所述第一多个逻辑操作的结果存储在所述存储器阵列的耦合到所述数个感测线的存储器单元的第四部分中;
使用所述第一多个逻辑操作的结果来在存储器中执行第二多个逻辑操作,其中所述第一多个逻辑操作和所述第二多个逻辑操作经执行以比较所述第一值与所述第二值;
其中在不同时激活多于一个选择线的情况下执行所述第二多个逻辑操作中的至少一者;
将所述第二多个逻辑操作的数个结果存储于所述存储器阵列的耦合到所述数个感测线的所述存储器单元的数个第三部分中,其中每一计算组件耦合到相应感测线且用以将存储在耦合到所述相应感测线的存储器单元的相应第一部分中的相应第一值与存储在耦合到所述相应感测线的存储器单元的相应第二部分中的相应第二值进行比较,且比较操作的相应结果被存储在耦合到所述相应感测线的存储器单元的相应第三部分中;且
其中所述第一多个逻辑操作和所述第二多个逻辑操作中的每一者使用相同数目个计算来执行数个比较操作中的每一者。
15.根据权利要求14所述的方法,其中所述存储器单元的所述数个第一部分中的每一者耦合到所述数个感测线中的不同感测线;且
其中所述存储器单元的所述数个第二部分中的每一者耦合到所述数个感测线中的不同感测线。
16.根据权利要求15所述的方法,其中所述数个比较操作中的每一者包括将来自所述数个第一值的相应第一值与来自所述数个第二值的相应第二值进行比较,其中所述数个比较操作中的相应比较操作的所述第一值及所述第二值存储于耦合到所述数个感测线中的同一感测线的存储器单元中。
17.根据权利要求14到16中任一权利要求所述的方法,其中执行所述第一多个逻辑操作进一步包括:
使用来自相应第一值中的次高有效位及存储于相应第二值中的对应次高有效位作为输入来执行第一互斥析取XOR运算。
18.根据权利要求17所述的方法,其中执行所述第一多个逻辑操作进一步包括:
使用所述第一XOR运算的结果及存储于所述存储器阵列的耦合到所述相应感测线的所述存储器单元的第五部分中的位作为输入来执行第二XOR运算;
其中所述存储器单元的所述第五部分用于存储第一暂时值的逻辑表示,所述第一暂时值识别是否已确定所述相应第一值不等于所述相应第二值;且
其中执行所述第一多个逻辑操作进一步包括:
将所述第二XOR运算的结果作为第二暂时值的逻辑表示存储于所述存储器阵列的耦合到所述相应感测线的所述存储器单元的所述第四部分中;
其中所述存储器单元的所述第四部分用于存储所述第二暂时值的所述逻辑表示,所述第二暂时值识别来自所述相应第一值的所述次高有效位是否不等于来自所述相应第二值的所述对应次高有效位。
19.根据权利要求18所述的方法,其中执行所述第二多个逻辑操作进一步包括:
使用存储于所述存储器阵列的耦合到所述相应感测线的所述存储器单元的所述第四部分中的位及存储于所述存储器阵列的耦合到所述相应感测线的所述存储器单元的所述第五部分中的所述位作为输入来执行第一析取OR运算;
将所述第一OR运算的结果存储于所述存储器单元的所述第五部分中以更新所述第一暂时值:
使用来自所述相应第一值的所述次高有效位及存储于所述存储器单元的所述第四部分中的所述位作为输入来执行第一合取AND运算以确定所述相应第一值是否大于所述相应第二值;
使用所述第一AND运算的结果及存储于所述存储器单元的所述相应第三部分中的位作为输入来执行第二OR运算;及
将所述第二OR运算的结果存储于所述存储器单元的所述相应第三部分中。
20.根据权利要求19所述的方法,其中执行所述第二多个逻辑操作进一步包括:
使用来自所述相应第二值的所述次高有效位及存储于所述存储器单元的所述第四部分中的所述位作为输入来执行第二AND运算以确定所述相应第二值是否大于所述相应第一值;
使用所述第二AND运算的结果及存储于所述存储器单元的所述相应第三部分中的另一位来执行第三OR运算;
将所述第三OR运算的结果存储于所述存储器单元的所述相应第三部分中;及
如果将所述第三OR运算的所述结果存储于所述存储器单元的所述相应第三部分中包括相应计算组件锁存指示所述相应第一值等于所述相应第二值的位,那么结束相应比较操作的执行。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462008007P | 2014-06-05 | 2014-06-05 | |
US62/008,007 | 2014-06-05 | ||
US14/715,001 | 2015-05-18 | ||
US14/715,001 US9496023B2 (en) | 2014-06-05 | 2015-05-18 | Comparison operations on logical representations of values in memory |
PCT/US2015/033655 WO2015187609A2 (en) | 2014-06-05 | 2015-06-02 | Comparison operations in memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107004433A CN107004433A (zh) | 2017-08-01 |
CN107004433B true CN107004433B (zh) | 2020-08-28 |
Family
ID=54767555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580037262.8A Active CN107004433B (zh) | 2014-06-05 | 2015-06-02 | 用于比较值的方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (5) | US9496023B2 (zh) |
EP (1) | EP3167448B1 (zh) |
KR (1) | KR101955126B1 (zh) |
CN (1) | CN107004433B (zh) |
TW (1) | TWI570715B (zh) |
WO (1) | WO2015187609A2 (zh) |
Families Citing this family (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9940026B2 (en) | 2014-10-03 | 2018-04-10 | Micron Technology, Inc. | Multidimensional contiguous memory allocation |
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 |
EP3268965A4 (en) | 2015-03-12 | 2018-10-03 | Micron Technology, INC. | Apparatuses and methods for data movement |
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 |
US9704541B2 (en) | 2015-06-12 | 2017-07-11 | Micron Technology, Inc. | Simulating access lines |
US9905276B2 (en) | 2015-12-21 | 2018-02-27 | Micron Technology, Inc. | Control of sensing components in association with performing operations |
US9952925B2 (en) | 2016-01-06 | 2018-04-24 | Micron Technology, Inc. | Error code calculation on sensing circuitry |
US10048888B2 (en) | 2016-02-10 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for partitioned parallel data movement |
US9892767B2 (en) | 2016-02-12 | 2018-02-13 | Micron Technology, Inc. | Data gathering in memory |
US9971541B2 (en) | 2016-02-17 | 2018-05-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US9899070B2 (en) | 2016-02-19 | 2018-02-20 | Micron Technology, Inc. | Modified decode for corner turn |
US10956439B2 (en) | 2016-02-19 | 2021-03-23 | Micron Technology, Inc. | Data transfer with a bit vector operation device |
US9697876B1 (en) * | 2016-03-01 | 2017-07-04 | Micron Technology, Inc. | Vertical bit vector shift in memory |
US9997232B2 (en) * | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10262721B2 (en) | 2016-03-10 | 2019-04-16 | Micron Technology, Inc. | Apparatuses and methods for cache invalidate |
US10379772B2 (en) | 2016-03-16 | 2019-08-13 | Micron Technology, Inc. | Apparatuses and methods for operations using compressed and decompressed data |
US9910637B2 (en) | 2016-03-17 | 2018-03-06 | Micron Technology, Inc. | Signed division in memory |
US10388393B2 (en) | 2016-03-22 | 2019-08-20 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10120740B2 (en) | 2016-03-22 | 2018-11-06 | Micron Technology, Inc. | Apparatus and methods for debugging on a memory device |
US11074988B2 (en) | 2016-03-22 | 2021-07-27 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10474581B2 (en) | 2016-03-25 | 2019-11-12 | Micron Technology, Inc. | Apparatuses and methods for cache operations |
US10977033B2 (en) | 2016-03-25 | 2021-04-13 | Micron Technology, Inc. | Mask patterns generated in memory from seed vectors |
US10074416B2 (en) | 2016-03-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10430244B2 (en) | 2016-03-28 | 2019-10-01 | Micron Technology, Inc. | Apparatuses and methods to determine timing of operations |
US10453502B2 (en) | 2016-04-04 | 2019-10-22 | Micron Technology, Inc. | Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions |
US10607665B2 (en) | 2016-04-07 | 2020-03-31 | Micron Technology, Inc. | Span mask generation |
US9818459B2 (en) | 2016-04-19 | 2017-11-14 | Micron Technology, Inc. | Invert operations using sensing circuitry |
US9659605B1 (en) | 2016-04-20 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10153008B2 (en) | 2016-04-20 | 2018-12-11 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn operations using sensing circuitry |
US10042608B2 (en) | 2016-05-11 | 2018-08-07 | Micron Technology, Inc. | Signed division in memory |
US9640250B1 (en) | 2016-05-16 | 2017-05-02 | Qualcomm Incorporated | Efficient compare operation |
US9659610B1 (en) | 2016-05-18 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for shifting data |
US10049707B2 (en) | 2016-06-03 | 2018-08-14 | Micron Technology, Inc. | Shifting data |
US10387046B2 (en) | 2016-06-22 | 2019-08-20 | Micron Technology, Inc. | Bank to bank data transfer |
US10037785B2 (en) | 2016-07-08 | 2018-07-31 | Micron Technology, Inc. | Scan chain operation in sensing circuitry |
US10388360B2 (en) | 2016-07-19 | 2019-08-20 | Micron Technology, Inc. | Utilization of data stored in an edge section of an array |
US10733089B2 (en) | 2016-07-20 | 2020-08-04 | Micron Technology, Inc. | Apparatuses and methods for write address tracking |
US10387299B2 (en) | 2016-07-20 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods for transferring data |
US9972367B2 (en) | 2016-07-21 | 2018-05-15 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US9767864B1 (en) | 2016-07-21 | 2017-09-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in a sensing circuitry element |
US10303632B2 (en) | 2016-07-26 | 2019-05-28 | Micron Technology, Inc. | Accessing status information |
US10468087B2 (en) * | 2016-07-28 | 2019-11-05 | Micron Technology, Inc. | Apparatuses and methods for operations in a self-refresh state |
US9990181B2 (en) | 2016-08-03 | 2018-06-05 | Micron Technology, Inc. | Apparatuses and methods for random number generation |
US11029951B2 (en) | 2016-08-15 | 2021-06-08 | Micron Technology, Inc. | Smallest or largest value element determination |
US10606587B2 (en) | 2016-08-24 | 2020-03-31 | Micron Technology, Inc. | Apparatus and methods related to microcode instructions indicating instruction types |
US10466928B2 (en) | 2016-09-15 | 2019-11-05 | Micron Technology, Inc. | Updating a register in memory |
US10387058B2 (en) | 2016-09-29 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods to change data category values |
US10014034B2 (en) | 2016-10-06 | 2018-07-03 | Micron Technology, Inc. | Shifting data in sensing circuitry |
US10529409B2 (en) | 2016-10-13 | 2020-01-07 | Micron Technology, Inc. | Apparatuses and methods to perform logical operations using sensing circuitry |
US9805772B1 (en) | 2016-10-20 | 2017-10-31 | Micron Technology, Inc. | Apparatuses and methods to selectively perform logical operations |
CN207637499U (zh) | 2016-11-08 | 2018-07-20 | 美光科技公司 | 用于形成在存储器单元阵列上方的计算组件的设备 |
US10423353B2 (en) | 2016-11-11 | 2019-09-24 | Micron Technology, Inc. | Apparatuses and methods for memory alignment |
US9761300B1 (en) | 2016-11-22 | 2017-09-12 | Micron Technology, Inc. | Data shift apparatuses and methods |
US10402340B2 (en) | 2017-02-21 | 2019-09-03 | Micron Technology, Inc. | Memory array page table walk |
US10403352B2 (en) | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
US10268389B2 (en) | 2017-02-22 | 2019-04-23 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10838899B2 (en) | 2017-03-21 | 2020-11-17 | Micron Technology, Inc. | Apparatuses and methods for in-memory data switching networks |
US11222260B2 (en) | 2017-03-22 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for operating neural networks |
US10185674B2 (en) | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
US10049721B1 (en) | 2017-03-27 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10043570B1 (en) | 2017-04-17 | 2018-08-07 | Micron Technology, Inc. | Signed element compare in memory |
US10147467B2 (en) | 2017-04-17 | 2018-12-04 | Micron Technology, Inc. | Element value comparison in memory |
US9997212B1 (en) | 2017-04-24 | 2018-06-12 | Micron Technology, Inc. | Accessing data in memory |
US10942843B2 (en) | 2017-04-25 | 2021-03-09 | Micron Technology, Inc. | Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes |
US10236038B2 (en) | 2017-05-15 | 2019-03-19 | Micron Technology, Inc. | Bank to bank data transfer |
US10068664B1 (en) | 2017-05-19 | 2018-09-04 | Micron Technology, Inc. | Column repair in memory |
US10013197B1 (en) | 2017-06-01 | 2018-07-03 | Micron Technology, Inc. | Shift skip |
US10152271B1 (en) | 2017-06-07 | 2018-12-11 | Micron Technology, Inc. | Data replication |
US10262701B2 (en) | 2017-06-07 | 2019-04-16 | Micron Technology, Inc. | Data transfer between subarrays in memory |
US10074436B1 (en) * | 2017-06-13 | 2018-09-11 | Winbound Electronics Corp. | Memory device and data reading method thereof |
US10318168B2 (en) | 2017-06-19 | 2019-06-11 | Micron Technology, Inc. | Apparatuses and methods for simultaneous in data path compute operations |
US10162005B1 (en) | 2017-08-09 | 2018-12-25 | Micron Technology, Inc. | Scan chain operations |
US10534553B2 (en) | 2017-08-30 | 2020-01-14 | Micron Technology, Inc. | Memory array accessibility |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
US10741239B2 (en) | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
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 |
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 |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
CN109766309B (zh) * | 2018-12-29 | 2020-07-28 | 北京航空航天大学 | 自旋存算一体芯片 |
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 |
US11152054B2 (en) * | 2019-08-28 | 2021-10-19 | Micron Technology, Inc. | Apparatuses and methods for performing background operations in memory using sensing circuitry |
US11693657B2 (en) | 2019-09-05 | 2023-07-04 | Micron Technology, Inc. | Methods for performing fused-multiply-add operations on serially allocated data within a processing-in-memory capable memory device, and related memory devices and systems |
US11829729B2 (en) | 2019-09-05 | 2023-11-28 | Micron Technology, Inc. | Spatiotemporal fused-multiply-add, and related systems, methods and devices |
US11934824B2 (en) | 2019-09-05 | 2024-03-19 | Micron Technology, Inc. | Methods for performing processing-in-memory operations, and related memory devices and systems |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US11537861B2 (en) | 2020-06-23 | 2022-12-27 | Micron Technology, Inc. | Methods of performing processing-in-memory operations, and related devices and systems |
US11403111B2 (en) | 2020-07-17 | 2022-08-02 | Micron Technology, Inc. | Reconfigurable processing-in-memory logic using look-up tables |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
US11355170B1 (en) * | 2020-12-16 | 2022-06-07 | Micron Technology, Inc. | Reconfigurable processing-in-memory logic |
CN116129973A (zh) * | 2021-11-15 | 2023-05-16 | 长鑫存储技术有限公司 | 一种存内计算方法及电路、半导体存储器和存储结构 |
CN115113846B (zh) * | 2022-08-31 | 2022-12-06 | 之江实验室 | 一种全加器电路和多位全加器 |
WO2024086261A1 (en) * | 2022-10-19 | 2024-04-25 | TripleBlind, Inc. | Fast secure multiparty comparison optimized for common computing architectures |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4380046A (en) * | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
US4435792A (en) * | 1982-06-30 | 1984-03-06 | Sun Microsystems, Inc. | Raster memory manipulation apparatus |
EP0214718A2 (en) * | 1985-07-22 | 1987-03-18 | Alliant Computer Systems Corporation | Digital computer |
US5276643A (en) * | 1988-08-11 | 1994-01-04 | Siemens Aktiengesellschaft | Integrated semiconductor circuit |
US20050146959A1 (en) * | 2004-01-07 | 2005-07-07 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device and electric device with the same |
CN101968970A (zh) * | 2009-07-28 | 2011-02-09 | 慧国(上海)软件科技有限公司 | 资料读取的方法及资料储存装置 |
CN102141905A (zh) * | 2010-01-29 | 2011-08-03 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
Family Cites Families (267)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6032911B2 (ja) | 1979-07-26 | 1985-07-31 | 株式会社東芝 | 半導体記憶装置 |
US4727474A (en) | 1983-02-18 | 1988-02-23 | Loral Corporation | Staging memory for massively parallel processor |
US5201039A (en) | 1987-09-30 | 1993-04-06 | Mitsubishi Denki Kabushiki Kaisha | Multiple address-space data processor with addressable register and context switching |
JPH0831168B2 (ja) | 1987-11-06 | 1996-03-27 | 沖電気工業株式会社 | 窓口用自動取引装置 |
US4843264A (en) | 1987-11-25 | 1989-06-27 | Visic, Inc. | Dynamic sense amplifier for CMOS static RAM |
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 |
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 |
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 |
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 |
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 | 주식회사 하이닉스반도체 | 고속동작용디램 |
US6389507B1 (en) | 1999-01-15 | 2002-05-14 | Gigabus, Inc. | Memory device search system and method |
US5999435A (en) | 1999-01-15 | 1999-12-07 | Fast-Chip, Inc. | Content addressable memory device |
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 |
CA2273122A1 (en) * | 1999-05-26 | 2000-11-26 | Gershom Birk | Multilevel dram with local reference generation |
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 |
US20010042069A1 (en) | 2000-02-29 | 2001-11-15 | Petrov Peter D. | Method and apparatus for building a memory image |
US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
JP3983969B2 (ja) | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
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 |
WO2002005281A2 (en) * | 2000-07-07 | 2002-01-17 | 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 |
WO2002017262A2 (en) | 2000-08-21 | 2002-02-28 | 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 |
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 |
AU2002353406A1 (en) | 2002-12-27 | 2004-07-22 | Solid State System Co., Ltd. | 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 |
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 |
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 |
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 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
CN1846278B (zh) | 2003-09-04 | 2010-04-28 | Nxp股份有限公司 | 集成电路和高速缓冲存储器的重新映射方法 |
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 |
US7685365B2 (en) | 2004-09-30 | 2010-03-23 | Intel Corporation | Transactional memory execution utilizing virtual memory |
US20060069849A1 (en) | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a 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 |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
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 |
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 |
US7958181B2 (en) | 2006-09-21 | 2011-06-07 | Intel Corporation | Method and apparatus for performing logical compare operations |
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 |
US8200932B2 (en) | 2007-10-19 | 2012-06-12 | 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 |
JP5194302B2 (ja) | 2008-02-20 | 2013-05-08 | ルネサスエレクトロニクス株式会社 | 半導体信号処理装置 |
US7787282B2 (en) * | 2008-03-21 | 2010-08-31 | Micron Technology, Inc. | Sensing resistance variable memory |
JP2009245503A (ja) * | 2008-03-31 | 2009-10-22 | Nec Electronics Corp | 半導体記憶装置 |
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 |
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 |
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 | 株式会社東芝 | 半導体記憶装置 |
EP2467133B1 (en) | 2009-08-18 | 2014-01-22 | Dow Corning Corporation | Multi-layer transdermal patch |
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 | 半導体装置及びデータ処理システム |
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 |
WO2011137189A1 (en) | 2010-04-27 | 2011-11-03 | Cornell Research Foundation | 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 |
KR20110128047A (ko) * | 2010-05-20 | 2011-11-28 | 삼성전자주식회사 | 3차원 적층 구조를 갖는 반도체 장치 및 데이터 디스큐잉 방법 |
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 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
US8553482B2 (en) | 2010-11-29 | 2013-10-08 | Apple Inc. | Sense amplifier and sense amplifier latch having common control |
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 | データ処理装置およびそのデータ処理方法 |
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 |
WO2013062596A1 (en) | 2011-10-28 | 2013-05-02 | Hewlett-Packard Development Company, L.P. | Row shifting shiftable memory |
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 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
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 | 에스케이하이닉스 주식회사 | 프리차지 회로 및 비휘발성 메모리 장치 |
WO2013095592A1 (en) | 2011-12-22 | 2013-06-27 | Intel Corporation | Apparatus and method for vector compute and accumulate |
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 |
US20140140124A1 (en) * | 2012-11-21 | 2014-05-22 | Dong-seok Kang | Resistive memory device having selective sensing operation and access control method thereof |
US9013930B2 (en) * | 2012-12-20 | 2015-04-21 | Winbond Electronics Corp. | Memory device with interleaved high-speed reading function and method thereof |
US8934278B2 (en) * | 2012-12-28 | 2015-01-13 | Qualcomm Incorporated | Hybrid ternary content addressable memory |
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 |
KR102121331B1 (ko) * | 2013-10-28 | 2020-06-11 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 |
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 |
JP6637906B2 (ja) | 2014-05-08 | 2020-01-29 | マイクロン テクノロジー,インク. | ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法 |
KR101887797B1 (ko) | 2014-05-08 | 2018-09-10 | 마이크론 테크놀로지, 인크. | 메모리 내 가벼운 일관성 |
-
2015
- 2015-05-18 US US14/715,001 patent/US9496023B2/en active Active
- 2015-06-02 CN CN201580037262.8A patent/CN107004433B/zh active Active
- 2015-06-02 EP EP15802782.1A patent/EP3167448B1/en active Active
- 2015-06-02 WO PCT/US2015/033655 patent/WO2015187609A2/en active Application Filing
- 2015-06-02 KR KR1020177000074A patent/KR101955126B1/ko active IP Right Grant
- 2015-06-05 TW TW104118412A patent/TWI570715B/zh active
-
2016
- 2016-11-08 US US15/346,526 patent/US10490257B2/en active Active
-
2019
- 2019-11-12 US US16/681,523 patent/US10839892B2/en active Active
-
2020
- 2020-11-13 US US17/098,160 patent/US11238920B2/en active Active
-
2022
- 2022-01-31 US US17/589,417 patent/US11967361B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4380046A (en) * | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
US4435792A (en) * | 1982-06-30 | 1984-03-06 | Sun Microsystems, Inc. | Raster memory manipulation apparatus |
EP0214718A2 (en) * | 1985-07-22 | 1987-03-18 | Alliant Computer Systems Corporation | Digital computer |
US5276643A (en) * | 1988-08-11 | 1994-01-04 | Siemens Aktiengesellschaft | Integrated semiconductor circuit |
US20050146959A1 (en) * | 2004-01-07 | 2005-07-07 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device and electric device with the same |
CN101968970A (zh) * | 2009-07-28 | 2011-02-09 | 慧国(上海)软件科技有限公司 | 资料读取的方法及资料储存装置 |
CN102141905A (zh) * | 2010-01-29 | 2011-08-03 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
Also Published As
Publication number | Publication date |
---|---|
WO2015187609A2 (en) | 2015-12-10 |
US10490257B2 (en) | 2019-11-26 |
TWI570715B (zh) | 2017-02-11 |
US20200082871A1 (en) | 2020-03-12 |
EP3167448A2 (en) | 2017-05-17 |
US10839892B2 (en) | 2020-11-17 |
US20220157370A1 (en) | 2022-05-19 |
US11238920B2 (en) | 2022-02-01 |
US9496023B2 (en) | 2016-11-15 |
EP3167448B1 (en) | 2020-11-25 |
KR20170016918A (ko) | 2017-02-14 |
US11967361B2 (en) | 2024-04-23 |
US20150357019A1 (en) | 2015-12-10 |
KR101955126B1 (ko) | 2019-03-06 |
TW201614650A (en) | 2016-04-16 |
US20170053693A1 (en) | 2017-02-23 |
WO2015187609A3 (en) | 2017-04-06 |
EP3167448A4 (en) | 2018-03-21 |
US20210065778A1 (en) | 2021-03-04 |
CN107004433A (zh) | 2017-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107004433B (zh) | 用于比较值的方法和设备 | |
US11205497B2 (en) | Comparison operations in memory | |
US10713011B2 (en) | Multiplication operations in memory | |
US9940985B2 (en) | Comparison operations in memory | |
US9928887B2 (en) | Data shift by elements of a vector in memory | |
US9747961B2 (en) | Division operations in memory | |
US9904515B2 (en) | Multiplication operations in memory | |
US20160062672A1 (en) | Swap operations in memory | |
US10014034B2 (en) | Shifting data in sensing circuitry | |
EP3066665A1 (en) | Division operations for memory |
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 |