CN106489179B - 存储器中的比较操作 - Google Patents

存储器中的比较操作 Download PDF

Info

Publication number
CN106489179B
CN106489179B CN201580037972.0A CN201580037972A CN106489179B CN 106489179 B CN106489179 B CN 106489179B CN 201580037972 A CN201580037972 A CN 201580037972A CN 106489179 B CN106489179 B CN 106489179B
Authority
CN
China
Prior art keywords
coupled
row
stored
comp
bit vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580037972.0A
Other languages
English (en)
Other versions
CN106489179A (zh
Inventor
桑贾伊·蒂瓦里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN106489179A publication Critical patent/CN106489179A/zh
Application granted granted Critical
Publication of CN106489179B publication Critical patent/CN106489179B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/785Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) with decentralized control, e.g. smart memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/1201Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/32Serial access; Scan testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • G11C7/065Differential amplifiers of latching type
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明的实例提供与在存储器中执行比较操作有关的设备及方法。实例设备可包含耦合到第一存取线且经配置以存储第一元素的第一存储器单元群组。实例设备还可包含耦合到第二存取线且经配置以存储第二元素的第二存储器单元群组。实例设备还可包含感测电路,所述感测电路经配置以通过在不经由输入/输出I/O线传送数据的情况下执行数个AND操作、OR操作、SHIFT操作及INVERT操作而将所述第一元素与所述第二元素进行比较。

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)可在存储器阵列外部,且可存取数据(例如,经由处理资源与存储器阵列之间的总线)以执行指令。可经由总线将数据从存储器阵列移动到在存储器阵列外部的寄存器。
附图说明
图1是根据本发明的数个实施例的呈包含存储器装置的计算系统的形式的设备的框图。
图2A图解说明根据本发明的数个实施例的存储器阵列的一部分的示意图。
图2B图解说明根据本发明的数个实施例的存储器阵列的一部分的示意图。
图3图解说明根据本发明的数个实施例的存储器阵列的一部分的示意图。
图4A图解说明展示根据本发明的数个实施例的处于与执行比较操作相关联的特定阶段的阵列的存储器单元的状态的表。
图4B图解说明展示根据本发明的数个实施例的处于与执行比较操作相关联的特定阶段的阵列的存储器单元的状态的表。
图4C图解说明展示根据本发明的数个实施例的处于与执行比较操作相关联的特定阶段的阵列的存储器单元的状态的表。
图5图解说明根据本发明的数个实施例的与使用感测电路执行数个逻辑操作相关联的时序图。
图6图解说明根据本发明的数个实施例的与使用感测电路执行数个逻辑操作相关联的时序图。
图7图解说明根据本发明的数个实施例的与使用感测电路执行数个逻辑操作相关联的时序图。
图8图解说明根据本发明的数个实施例的与使用感测电路执行数个逻辑操作相关联的时序图。
图9图解说明根据本发明的数个实施例的与使用感测电路执行数个逻辑操作相关联的时序图。
图10图解说明根据本发明的数个实施例的与使用感测电路执行数个逻辑操作相关联的时序图。
图11是图解说明根据本发明的数个实施例的具有可选择逻辑操作选择逻辑的感测电路的示意图。
图12是图解说明根据本发明的数个实施例的由感测电路实施的可选择逻辑操作结果的逻辑表。
具体实施方式
本发明包含与在存储器中执行比较操作有关的设备及方法。如本文中所使用,比较操作包含比较向量。可对第一元素(例如,第一向量)及第二元素(例如,第二向量)执行比较操作。元素可存储于耦合到存取线的存储器单元群组中。举例来说,耦合到第一存取线的第一存储器单元群组可经配置以存储第一元素。耦合到第二存取线的第二存储器单元群组可经配置以存储第二元素。所述比较操作可通过在不经由输入/输出(I/O)线传送数据的情况下执行数个AND操作、OR操作、SHIFT操作及INVERT操作而将所述第一元素与所述第二元素进行比较。
如本文中所使用,第一元素及第二元素可为彼此经比较(例如,相比较)的数值。即,可将第一值与第二值进行比较及/或可将所述第二值与所述第一值进行比较。比较操作可用于确定所述第一值是否大于所述第二值、所述第二值是否大于所述第一值及/或所述第一值是否等于所述第二值。
在数个实例中,元素可表示可由位向量表示的对象及/或其它构造。作为实例,可执行比较操作以通过比较表示对象的位向量而比较所述相应对象。
本发明的数个实施例可相对于先前方法提供在执行数个比较操作(例如,比较函数)时涉及的计算数目及/或时间的减少。例如,就吞吐量来说,由于并行(例如,同时)执行所述数个比较操作的各个部分的能力而可减少所述计算数目及/或所述时间。与先前方法相比较,执行如本文中所描述的数个比较操作还可减少电力消耗。根据数个实施例,可在不经由总线(例如,数据总线、地址总线、控制总线等)将数据传送出存储器阵列及/或感测电路的情况下对元素(例如,存储于阵列中的呈位向量的形式的数据)执行比较操作,此可减少将数据传送到主机以便执行比较操作所需要的时间及/或电力。而且,来自比较操作的结果可格式化为二位向量。所述二位向量可并入有大于及小于结果。所述二位向量可以掩码的形式提供到其它单指令多数据(SIMD)操作(例如,位向量划分)及/或先进模式搜索应用。比较操作可涉及执行数个逻辑操作(例如,AND操作、OR操作、SHIFT操作、INVERT操作及BLOCKOR操作等)。然而,实施例并不限于这些实例。如本文中所使用,SIMD操作经定义为对多个元素并行(例如,同时)执行同一操作。
在各种先前方法中,可经由包括输入/输出(I/O)线的总线将待比较的元素(例如,第一数据值及第二数据值)从阵列及感测电路传送到数个寄存器。可由例如处理器、微处理器及/或计算引擎等处理资源使用所述数个寄存器,所述处理资源可包括ALU电路及/或经配置以执行适当逻辑操作的其它功能单元电路。然而,通常可由ALU电路执行仅单个比较函数,且经由总线将数据从寄存器传送到存储器/从存储器传送到寄存器可涉及显著电力消耗及时间需要。即使处理资源与存储器阵列位于同一芯片上,在将数据从阵列移出到计算电路(例如,ALU)时也可消耗显著电力,将数据从阵列移出到计算电路(例如,ALU)可涉及(例如)执行感测线地址存取(例如,激发列解码信号)以便将数据从感测线传送到I/O线上、将数据移动到阵列外围及将数据提供到与执行比较操作相关联的寄存器。
在本发明的以下详细描述中,参考形成本发明的一部分且其中以图解说明方式展示可如何实践本发明的一或多个实施例的附图。充分详细地描述这些实施例以使所属领域的技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在不背离本发明的范围的情况下做出过程、电及/或结构改变。如本文中所使用,特定来说关于图式中的参考编号的标识符“F”、“M”、“N”、“P”、“R”、“S”、“U”、“V”、“X”及“W”指示可包含如此指定的数个特定特征。如本文中所使用,“数个”特定事物可指此类事物中的一或多者(例如,数个存储器阵列可指一或多个存储器阵列)。
本文中的图遵循其中第一个数字或前几个数字对应于图式的图编号且剩余数字识别图式中的元件或组件的编号惯例。不同图之间的类似元件或组件可通过使用类似数字来识别。举例来说,130在图1中可指代元件“30”,且在图2中类似元件可指代为230。如将了解,可添加、更换及/或消除本文中的各种实施例中所展示的元件以便提供本发明的数个额外实施例。另外,如将了解,图中所提供的元件的比例及相对标度打算图解说明本发明的某些实施例且不应视为具限制性意义。
图1是根据本发明的数个实施例的呈包含存储器装置120的计算系统100的形式的设备的框图。如本文中所使用,还可将存储器装置120、存储器阵列130及/或感测电路150单独视为“设备”。
系统100包含耦合到包含存储器阵列130的存储器装置120的主机110。主机110可为主机系统,例如个人膝上型计算机、桌上型计算机、数码相机、移动电话或存储器读卡器以及各种其它类型的主机。主机110可包含系统母板及/或底板且可包含数个处理资源(例如,一或多个处理器、微处理器或某一其它类型的控制电路)。系统100可包含单独集成电路,或主机110及存储器装置120两者可位于同一集成电路上。系统100可为(例如)服务器系统及/或高性能计算(HPC)系统及/或其部分。尽管图1中所展示的实例图解说明具有范纽曼型架构的系统,但可以非范纽曼型架构(例如,杜林机)实施本发明的实施例,非范纽曼型架构可不包含通常与范纽曼型架构相关联的一或多个组件(例如,CPU、ALU等)。
为了清晰起见,系统100已经简化以集中于与本发明具有特定相关性的特征。存储器阵列130可为(例如)DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪阵列及/或NOR快闪阵列。阵列130可包括布置成由存取线(其可在本文中称为字线或选择线)耦合的行及由感测线(其可在本文中称为数字线或数据线)耦合的列的存储器单元。尽管图1中展示单个阵列130,但实施例并不限于此。例如,存储器装置160可包含数个阵列130(例如,数个DRAM单元库)。与图2相关联地描述实例DRAM阵列。
存储器装置120包含地址电路142以锁存通过I/O电路144经由I/O总线156(例如,数据总线)提供的地址信号。由行解码器146及列解码器152接收并解码地址信号以存取存储器阵列130。可通过使用感测电路150在感测线上感测电压及/或电流改变而从存储器阵列130读取数据。感测电路150可从存储器阵列130读取且锁存一页(例如,行)数据。I/O电路144可用于经由I/O总线156与主机110进行双向数据通信。写入电路148用于将数据写入到存储器阵列130。
控制电路140解码通过控制总线154从主机110提供的信号。这些信号可包含用于控制对存储器阵列130执行的操作(包含数据读取、数据写入及数据擦除操作)的芯片启用信号、写入启用信号及地址锁存信号。在各种实施例中,控制电路140负责执行来自主机110的指令。控制电路140可为状态机、定序器或某一其它类型的控制器。
下文与图2相关联地进一步描述感测电路150的实例。例如,在数个实施例中,感测电路150可包括数个感测放大器及数个计算组件,所述数个计算组件可包括累加器且可用于执行逻辑操作(例如,对与互补感测线相关联的数据)。在数个实施例中,感测电路(例如,150)可用于使用存储于阵列130中的数据作为输入来执行比较操作且在不经由感测线地址存取传送的情况下(例如,在不激发列解码信号的情况下)将比较操作的结果往回存储到阵列130。如此,替代由在感测电路150外部的处理资源(例如,由与主机110相关联的处理器及/或位于装置160上(例如,控制电路140上或别处)的其它处理电路,例如ALU电路)执行及/或除此之外,比较函数还可使用感测电路150执行。
在各种先前方法中,(例如)将经由感测电路从存储器读取与比较操作相关联的数据且将所述数据提供到外部ALU。外部ALU电路将使用元素(其可称为操作数或输入)执行比较函数且可经由局部I/O线将结果传送回到阵列。相比之下,在本发明的数个实施例中,感测电路(例如,150)经配置以对存储于存储器阵列130中的存储器单元中的数据执行比较操作且在不启用耦合到感测电路的局部I/O线的情况下将结果往回存储到阵列130。
如此,在数个实施例中,可不需要在阵列130及感测电路150外部的寄存器及/或ALU执行比较函数,因为感测电路150可使用存储器阵列130的地址空间执行在执行比较函数时涉及的适当计算。另外,可在不使用外部处理资源的情况下执行比较函数。
图2A图解说明根据本发明的数个实施例的包含感测电路250的存储器阵列230的一部分的示意图。在图2A中,存储器单元包括存储元件(例如,电容器)及存取装置(例如,晶体管)。例如,晶体管202-1及电容器203-1构成存储器单元,且晶体管202-2及电容器203-2构成存储器单元等。在此实例中,存储器阵列230是1T1C(一个晶体管一个电容器)存储器单元的DRAM阵列。在数个实施例中,所述存储器单元可为破坏性读取存储器单元(例如,读取存储于所述单元中的数据会破坏数据使得起初存储于单元中的数据在经读取之后被刷新)。存储器阵列230的单元布置成由字线204-X(行X)、204-Y(行Y)等耦合的行及由互补数据线对DIGIT(n-1)/DIGIT(n-1)_、DIGIT(n)/DIGIT(n)_、DIGIT(n+1)/DIGIT(n+1)_耦合的列。对应于每一对互补数据线的个别数据线还可分别称为数据线205-1(D)及205-2(D_)。尽管图2A中展示仅三对互补数据线,但本发明的实施例并不限于此,且存储器单元阵列可包含额外存储器单元列及/或数据线(例如,4,096、8,192、16,384等)。
存储器单元可耦合到不同数据线及/或字线。举例来说,晶体管202-1的第一源极/漏极区域可耦合到数据线205-1(D),晶体管202-1的第二源极/漏极区域可耦合到电容器203-1,且晶体管202-1的栅极可耦合到字线204-X。晶体管202-2的第一源极/漏极区域可耦合到数据线205-2(D_),晶体管202-2的第二源极/漏极区域可耦合到电容器203-2,且晶体管202-2的栅极可耦合到字线204-Y。如图2A中所展示的单元板可耦合到电容器203-1及203-2中的每一者。单元板可为可在各种存储器阵列配置中将参考电压(例如,接地)施加到的共同节点。
根据本发明的数个实施例,存储器阵列230耦合到感测电路250。在此实例中,感测电路250包括对应于相应存储器单元列(例如,耦合到相应互补数据线对)的感测放大器206及计算组件231。感测放大器206可包括可在本文中称为初级锁存器的交叉耦合锁存器。举例来说,感测放大器206可如关于图2B所描述而配置。
在图2A中所图解说明的实例中,对应于计算组件231的电路包括静态锁存器264及尤其实施动态锁存器的额外十个晶体管。计算组件231的动态锁存器及/或静态锁存器可在本文中共同称为可用作累加器的次级锁存器。如此,计算组件231可操作为及/或在本文中称为累加器。计算组件231可耦合到数据线D 205-1及D_205-2中的每一者,如图2A中所展示。然而,实施例并不限于此实例。举例来说,计算组件231的晶体管可全部是n沟道晶体管(例如,NMOS晶体管)。
在此实例中,数据线D 205-1可耦合到晶体管216-1及239-1的第一源极/漏极区域以及负载/通过晶体管218-1的第一源极/漏极区域。数据线D_205-2可耦合到晶体管216-2及239-2的第一源极/漏极区域以及负载/通过晶体管218-2的第一源极/漏极区域。
负载/通过晶体管218-1及218-2的栅极可共同耦合到LOAD控制信号或分别耦合到PASSD/PASSDB控制信号,如下文进一步论述。负载/通过晶体管218-1的第二源极/漏极区域可直接耦合到晶体管216-1及239-2的栅极。负载/通过晶体管218-2的第二源极/漏极区域可直接耦合到晶体管216-2及239-1的栅极。
晶体管216-1的第二源极/漏极区域可直接耦合到下拉晶体管214-1的第一源极/漏极区域。晶体管239-1的第二源极/漏极区域可直接耦合到下拉晶体管207-1的第一源极/漏极区域。晶体管216-2的第二源极/漏极区域可直接耦合到下拉晶体管214-2的第一源极/漏极区域。晶体管239-2的第二源极/漏极区域可直接耦合到下拉晶体管207-2的第一源极/漏极区域。下拉晶体管207-1、207-2、214-1及214-2中的每一者的第二源极/漏极区域可共同一起耦合到参考电压线291-1(例如,接地(GND))。下拉晶体管207-1的栅极可耦合到AND控制信号线,下拉晶体管214-1的栅极可耦合到ANDinv控制信号线213-1,下拉晶体管214-2的栅极可耦合到ORinv控制信号线213-2,且下拉晶体管207-2的栅极可耦合到OR控制信号线。
晶体管239-1的栅极可称为节点S1,且晶体管239-2的栅极可称为节点S2。图2A中所展示的电路将累加器数据动态地存储于节点S1及S2上。激活LOAD控制信号致使负载/通过晶体管218-1及218-2导通,且借此将互补数据加载到节点S1及S2上。LOAD控制信号可升高到大于VDD的电压以将全VDD电平传递到S1/S2。然而,使LOAD控制信号升高到大于VDD的电压是任选的,且图2A中所展示的电路的功能性不取决于LOAD控制信号升高到大于VDD的电压。
图2A中所展示的计算组件231的配置具有当下拉晶体管207-1、207-2、214-1及214-2在激发感测放大器206之前(例如,在感测放大器206的预种期间)导通时平衡感测放大器的功能性的益处。如本文中所使用,激发感测放大器206是指启用感测放大器206以设定初级锁存器及随后停用感测放大器206以保持经设定初级锁存器。在停用平衡(在感测放大器中)之后但在感测放大器激发之前执行逻辑操作可节省电力使用,因为感测放大器的锁存器不必须使用全轨电压(例如,VDD、GND)来“翻转”。
反相晶体管可在执行某些逻辑操作时下拉相应数据线。举例来说,可操作与晶体管214-1(具有耦合到ANDinv控制信号线213-1的栅极)串联的晶体管216-1(具有耦合到动态锁存器的S2的栅极)以下拉数据线205-1(D),且可操作与晶体管214-2(具有耦合到ORinv控制信号线213-2的栅极)串联的晶体管216-2(具有耦合到动态锁存器的S1的栅极)以下拉数据线205-2(D_)。
锁存器264可通过耦合到作用中负控制信号线212-1(ACCUMB)及作用中正控制信号线212-2(ACCUM)而以可控制方式启用,而非经配置以通过耦合到接地及VDD而连续地启用。在各种实施例中,负载/通过晶体管208-1及208-2可各自具有耦合到LOAD控制信号或PASSD/PASSDB控制信号中的一者的栅极。
根据一些实施例,负载/通过晶体管218-1及218-2的栅极可共同耦合到LOAD控制信号。在其中负载/通过晶体管218-1及218-2的栅极共同耦合到LOAD控制信号的配置中,晶体管218-1及218-2可为负载晶体管。激活LOAD控制信号致使负载晶体管导通,且借此将互补数据加载到节点S1及S2上。LOAD控制信号可升高到大于VDD的电压以将全VDD电平传递到S1/S2。然而,LOAD控制信号升高到大于VDD的电压是任选的,且图2A中所展示的电路的功能性不取决于LOAD控制信号升高到大于VDD的电压。
根据一些实施例,负载/通过晶体管218-1的栅极可耦合到PASSD控制信号,且负载/通过晶体管218-2的栅极可耦合到PASSDb控制信号。在其中晶体管218-1及218-2的栅极分别耦合到PASSD及PASSDb控制信号中的一者的配置中,晶体管218-1及218-2可为通过晶体管。可以不同于负载晶体管的方式(例如,在不同时间处及/或在不同电压/电流条件下)操作通过晶体管。如此,通过晶体管的配置可不同于负载晶体管的配置。
举例来说,负载晶体管经构造以处置与将数据线耦合到局部动态节点S1及S2相关联的负载。通过晶体管经构造以处置与将数据线耦合到邻近累加器(例如,通过移位电路223,如图2A中所展示)相关联的较重负载。根据一些实施例,负载/通过晶体管218-1及218-2可经配置以适应对应于通过晶体管的较重负载但作为负载晶体管被耦合及操作。经配置为通过晶体管的负载/通过晶体管218-1及218-2还可用作负载晶体管。然而,经配置为负载晶体管的负载/通过晶体管218-1及218-2可不能够用作通过晶体管。
在数个实施例中,包含锁存器264的计算组件231可包括按与其所耦合的阵列(例如,图2A中所展示的阵列230)的对应存储器单元的晶体管相同的间距形成的数个晶体管,所述数个晶体管可符合特定特征大小(例如,4F2、6F2等)。根据各种实施例,锁存器264包含通过负载/通过晶体管218-1及218-2耦合到一对互补数据线D 205-1及D_205-2的四个晶体管208-1、208-2、209-1及209-2。然而,实施例不限于此配置。锁存器264可为交叉耦合锁存器(例如,例如n沟道晶体管(例如,NMOS晶体管)209-1及209-2的一对晶体管的栅极与例如p沟道晶体管(例如,PMOS晶体管)208-1及208-2的另一对晶体管的栅极交叉耦合)。如本文中进一步描述,交叉耦合锁存器264可称为静态锁存器。
相应数据线D及D_上的电压或电流可提供到交叉耦合锁存器264的相应锁存器输入217-1及217-2(例如,次级锁存器的输入)。在此实例中,锁存器输入217-1耦合到晶体管208-1及209-1的第一源极/漏极区域以及晶体管208-2及209-2的栅极。类似地,锁存器输入217-2可耦合到晶体管208-2及209-2的第一源极/漏极区域以及晶体管208-1及209-1的栅极。
在此实例中,晶体管209-1及209-2的第二源极/漏极区域共同耦合到负控制信号线212-1(例如,类似于图2B中关于初级锁存器所展示的控制信号RnIF的接地(GND)或ACCUMB控制信号)。晶体管208-1及208-2的第二源极/漏极区域共同耦合到正控制信号线212-2(例如,类似于图2B中关于初级锁存器所展示的控制信号ACT的VDD或ACCUM控制信号)。正控制信号212-2可提供供应电压(例如,VDD)且负控制信号212-1可为参考电压(例如,接地)以启用交叉耦合锁存器264。根据一些实施例,晶体管208-1及208-2的第二源极/漏极区域共同直接耦合到供应电压(例如,VDD),且晶体管209-1及209-2的第二源极/漏极区域共同直接耦合到参考电压(例如,接地)以便连续地启用锁存器264。
经启用交叉耦合锁存器264操作以放大锁存器输入217-1(例如,第一共同节点)与锁存器输入217-2(例如,第二共同节点)之间的差分电压,使得锁存器输入217-1经驱动到经激活正控制信号电压(例如,VDD)或经激活负控制信号电压(例如,接地),且锁存器输入217-2经驱动到经激活正控制信号电压(例如,VDD)或经激活负控制信号电压(例如,接地)中的另一者。
图2B图解说明根据本发明的数个实施例的存储器阵列的一部分的示意图。根据各种实施例,感测放大器206可包括交叉耦合锁存器。然而,感测放大器206的实施例不限于交叉耦合锁存器。作为实例,感测放大器206可为电流模式感测放大器及/或单端感测放大器(例如,耦合到一个数据线的感测放大器)。而且,本发明的实施例不限于折叠式数据线架构。
在数个实施例中,感测放大器(例如,206)可包括按与其所耦合的对应计算组件231及/或阵列(例如,图2A中所展示的阵列230)的存储器单元的晶体管相同的间距形成的数个晶体管,所述数个晶体管可符合特定特征大小(例如,4F2、6F2等)。感测放大器206包括锁存器215,锁存器215包含耦合到一对互补数据线D 205-1及D_205-2的四个晶体管。锁存器215可为交叉耦合锁存器(例如,例如n沟道晶体管(例如,NMOS晶体管)227-1及227-2的一对晶体管的栅极与例如p沟道晶体管(例如,PMOS晶体管)229-1及229-2的另一对晶体管的栅极交叉耦合)。如本文中进一步描述,包括晶体管227-1、227-2、229-1及229-2的锁存器215可称为初级锁存器。然而,实施例并不限于此实例。
相应数据线D及D_上的电压或电流可提供到交叉耦合锁存器215的相应锁存器输入233-1及233-2(例如,次级锁存器的输入)。在此实例中,锁存器输入233-1耦合到晶体管227-1及229-1的第一源极/漏极区域以及晶体管227-2及229-2的栅极。类似地,锁存器输入233-2可耦合到晶体管227-2及229-2的第一源极/漏极区域以及晶体管227-1及229-1的栅极。计算组件231(例如,累加器)可耦合到交叉耦合锁存器215的锁存器输入233-1及233-2,如所展示;然而,实施例不限于图2B中所展示的实例。
在此实例中,晶体管227-1及227-2的第二源极/漏极区域共同耦合到作用中负控制信号228(RnIF)。晶体管229-1及229-2的第二源极/漏极区域共同耦合到作用中正控制信号265(ACT)。ACT信号265可为供应电压(例如,VDD)且RnIF信号可为参考电压(例如,接地)。激活信号228及265会启用交叉耦合锁存器215。
经启用交叉耦合锁存器215操作以放大锁存器输入233-1(例如,第一共同节点)与锁存器输入233-2(例如,第二共同节点)之间的差分电压,使得锁存器输入233-1经驱动到ACT信号电压及RnIF信号电压中的一者(例如,VDD及接地中的一者),且锁存器输入233-2经驱动到ACT信号电压及RnIF信号电压中的另一者。
感测放大器206还可包含经配置以平衡数据线D与D_(例如,与使感测放大器准备用于感测操作相关联)的电路。在此实例中,平衡电路包括具有第一源极/漏极区域的晶体管224,所述第一源极/漏极区域耦合到晶体管225-1的第一源极/漏极区域及数据线D205-1。晶体管224的第二源极/漏极区域可耦合到晶体管225-2的第一源极/漏极区域及数据线D_205-2。晶体管224的栅极可耦合到晶体管225-1及225-2的栅极。
晶体管225-1及225-2的第二源极漏极区域耦合到可等于VDD/2的平衡电压238(例如,VDD/2),其中VDD是与阵列相关联的供应电压。晶体管224、225-1及225-2的栅极可耦合到控制信号225(EQ)。如此,激活EQ会启用晶体管224、225-1及225-2,此有效地将数据线D短接到数据线D_使得数据线D及D_经平衡到平衡电压VDD/2。根据本发明的各种实施例,可使用感测放大器执行数个逻辑操作,且将结果存储于计算组件(例如,累加器)中。
如图2A中所展示,感测放大器206及计算组件231可经由移位电路223耦合到阵列230。在此实例中,移位电路223包括一对隔离装置(例如,分别耦合到数据线205-1(D)及205-2(D_)的隔离晶体管221-1及221-2))。隔离晶体管221-1及221-2耦合到控制信号222(NORM),控制信号222在被激活时启用(例如,接通)隔离晶体管221-1及221-2以将对应感测放大器206及计算组件231耦合到对应存储器单元列(例如,对应互补数据线对205-1(D)及205-2(D_))。根据各种实施例,隔离晶体管221-1及221-2的导通可称为移位电路223的“正常”配置。
在图2A中所图解说明的实例中,移位电路223包含耦合到互补控制信号219(SHIFT)的另一(例如,第二)对隔离装置(例如,隔离晶体管221-3及221-4),互补控制信号219可(举例来说)在对NORM撤销激活时被激活。可操作隔离晶体管221-3及221-4(例如,经由控制信号219)使得特定感测放大器206及计算组件231耦合到不同互补数据线对(例如,不同于隔离晶体管221-1及221-2将特定感测放大器206及计算组件231耦合到的互补数据线对的互补数据线对),或可将特定感测放大器206及计算组件231耦合到另一存储器阵列(且隔离特定感测放大器206及计算组件231与第一存储器阵列)。根据各种实施例,例如,移位电路223可布置为感测放大器206的一部分(例如,在感测放大器206内)。
尽管图2A中所展示的移位电路223包含用于将特定感测电路250(例如,特定感测放大器206及对应计算组件231)耦合到特定互补数据线对205-1(D)及205-2(D_)(例如,DIGIT(n)及DIGIT(n)_)的隔离晶体管221-1及221-2以及经布置以将特定感测电路250耦合到一个特定方向上的邻近互补数据线对(例如,在图2A中的右边所展示的邻近数据线DIGIT(n+1)及DIGIT(n+1)_)的隔离晶体管221-3及221-4,但本发明的实施例并不限于此。例如,移位电路可包含用于将特定感测电路耦合到特定互补数据线对(例如,DIGIT(n)及DIGIT(n)_)的隔离晶体管221-1及221-2以及经布置以便用于将特定感测电路耦合到另一特定方向上的邻近互补数据线对(例如,在图2A中的左边所展示的邻近数据线DIGIT(n-1)及DIGIT(n-1)_)的隔离晶体管221-3及221-4。
本发明的实施例不限于图2A中所展示的移位电路223的配置。在数个实施例中,例如,可与在不经由I/O线(例如,局部I/O线(IO/IO_))将数据传送出感测电路250的情况下执行例如加法及减法函数的计算函数相关联地操作(例如,联合感测放大器206及计算组件231)例如图2A中所展示的移位电路223。
尽管图2A中未展示,但每一存储器单元列可耦合到列解码线,所述列解码线可经激活以经由局部I/O线将来自对应感测放大器206及/或计算组件231的数据值传送到在阵列外部的控制组件,例如外部处理资源(例如,主机处理器及/或其它功能单元电路)。列解码线可耦合到列解码器(例如,列解码器)。然而,如本文中所描述,在数个实施例中,不需要经由此些I/O线传送数据以执行根据本发明的实施例的逻辑操作。在数个实施例中,例如,可联合感测放大器206及计算组件231操作移位电路223以在不将数据传送到在阵列外部的控制组件的情况下执行例如加法及减法函数的计算函数。
可以数种模式操作感测电路250以执行逻辑操作,所述模式包含其中将逻辑操作的结果最初存储于感测放大器206中的第一模式及其中将逻辑操作的结果最初存储于计算组件231中的第二模式。下文关于图3及4描述感测电路250以第一模式的操作,且下文关于图7到10描述感测电路250以第二模式的操作。另外关于第一操作模式,可以预感测(例如,在逻辑操作控制信号为作用中之前激发感测放大器)及后感测(例如,在逻辑操作控制信号为作用中之后激发感测放大器)模式两者操作感测电路250,其中逻辑操作的结果最初存储于感测放大器206中。
如下文进一步描述,可联合计算组件231操作感测放大器206以使用来自阵列的数据作为输入来执行各种逻辑操作。在数个实施例中,可在不经由数据线地址存取传送数据的情况下(例如,在不激发列解码信号使得经由局部I/O线将数据传送到在阵列及感测电路外部的电路的情况下)将逻辑操作的结果往回存储到阵列。如此,本发明的数个实施例可实现使用少于各种先前方法的电力执行逻辑操作及与其相关联的计算函数。另外,由于数个实施例消除对跨越I/O线传送数据以便执行计算函数(例如,在存储器与离散处理器之间)的需要,因此数个实施例可实现与先前方法相比较经增加的并行处理能力。
图3图解说明根据本发明的数个实施例的存储器阵列330的一部分的示意图。阵列330包含耦合到存取线304-0、304-1、304-2、304-3、304-4、304-5、304-6、…、304-R的行及感测线305-0、305-1、305-2、305-3、305-4、305-5、305-6、305-7、…、305-S的列的存储器单元303-0、303-1、303-3、303-4、303-5、303-6、303-7、303-8、…、303-J(例如,通常称为存储器单元303)。存储器阵列330不限于特定数目个存取线及/或感测线,且术语“行”及“列”的使用不意指存取线及/或感测线的特定物理结构及/或定向。尽管未画出,但每一存储器单元列可与对应互补感测线对(例如,图2A中的互补感测线205-1及205-2)相关联。
每一存储器单元列可耦合到感测电路(例如,图1中所展示的感测电路150)。在此实例中,感测电路包括耦合到相应感测线305-0、305-1、305-2、305-3、305-4、305-5、305-6、305-7、…、305-S的数个感测放大器306-0、306-1、306-2、306-3、306-4、306-5、306-6、306-7、…、306-U(例如,通常称为感测放大器306)。感测放大器306经由存取装置(例如,晶体管)308-0、308-2、308-3、308-4、308-5、308-6、308-7、…、308-V耦合到输入/输出(I/O)线334(例如,局部I/O线)。在此实例中,感测电路还包括耦合到相应感测线的数个计算组件331-0、331-2、331-3、331-4、331-5、331-6、331-7、…、331-X(例如,通常称为计算组件331)。列解码线310-0到310-W分别耦合到晶体管308-0到308-V的栅极,且可选择性地经激活以将相应感测放大器306-0到306-U所感测及/或存储于相应计算组件331-0到331-X中的数据传送到次级感测放大器312。在数个实施例中,计算组件331可按与其对应列的存储器单元及/或与对应感测放大器306相同的间距形成。
感测电路(例如,计算组件331及感测放大器306)经配置以执行根据本文中所描述的数个实施例的比较操作。图4A、4B及4C中给出的实例演示可如何使用存储于阵列330中的数据作为输入来执行比较操作。实例涉及使用存储于耦合到存取线304-0到304-R且共同耦合到感测线305-0到305-S的存储器单元中的元素(例如,具有逻辑“1”或逻辑“0”的位)作为比较操作的相应输入。比较操作的结果可存储于阵列330中及/或可传送到阵列330的外部(例如,传送到主机的功能单元电路)。
图4A、4B及4C图解说明展示根据本发明的数个实施例的处于与执行比较操作相关联的数个特定阶段的阵列的存储器单元的状态的表。表的栏496提供用于表的行的参考编号(例如,1到8),且表中所展示的参考编号对应于下文所描述的伪码的相应参考编号。位向量476(Row_Mask)、478(Row_LowAct)、480(Row_Retained)、482(Row_Object)、488(srca)、490(srcb)、492(dest)及494(dest+1)中的每一者的位向量值在对应于参考编号1到6的各种比较操作阶段存储于阵列中。
位向量476、478、480及482可存储于耦合到可称为暂时存储行470(例如,存储可在比较操作的各个阶段期间更新的数据的行)的特定存取线的相应存储器单元群组中。位向量488、490、492及494可称为向量自变量472。图4A到4C还指示存储于阵列的计算组件(例如,图3中所展示的331)中的位向量431(Comp_Comp)的位向量值。
标量整数变量484(destc)及486(destpc)可存储于与图1中的控制电路140相关联的存储器(例如,寄存器)中。在数个实例中,destc 484及/或destpc 486还可存储于图1中的阵列130中。
在图4A、4B及4C中,以十六进制格式展示对应于行470及/或向量自变量472的位向量的值,但可将在比较操作期间经操作的对应位向量作为二进制位模式存储于阵列中。举例来说,srca位向量488(例如,[0000 0011,0000 1001,0000 0010,0000 1100]可以十六进制格式表示为[03,09,02,0c]。为了参考方便,以十六进制格式展示图4A、4B及4C中所展示的值。
在本文中所使用的实例中,为了参考方便,位向量值可包含逗号及/或空格。例如,以十六进制标记法表示为[03,09,02,0c]的位向量可对应于四个8位宽的向量元素,其中四个元素由相应逗号及空格分开。然而,相同位向量可表示为[03 09 02 0c](例如,不具有逗号)及/或表示为[0309020c](例如,不具有逗号且不具有空格)。
在图4A、4B及4C中,以粗体指示对存储对应于Comp_Comp 431的位向量的感测电路、存储对应于暂时存储行470的位向量(例如,Row_Mask 476、Row_LowAct 478、Row_Retained 480及Row_Object 482)的存储器单元及存储对应于向量自变量472的位向量(例如,srca 488、srcb 490、dest 492及dest+1 494)的存储器单元的改变。举例来说,在参考1处,以粗体展示srca 488、srcb 490、dest 492及dest+1 494,从而指示相应位向量的值在参考编号所对应的操作阶段期间已改变。还以粗体展示对destc 484及destpc 486的改变,从而指示对控制电路140中的存储器的改变。
在图4A、4B及4C中所展示的实例中,srca 488(例如,[0309020c])及srcb 490(例如,[0705080c])中的每一者包括四个元素且与四个单独比较操作相关联。
举例来说,在第一比较操作中比较第一元素对(例如,分别来自srca 488及srcb490的03及07)中的元素。在第二比较操作中比较第二元素对(例如,分别来自srca 488及srcb 490的09及05)中的元素。在第三比较操作中比较第三元素对(例如,分别来自srca488及srcb 490的02及08)中的元素,且在第四比较操作中比较第四元素对(例如,分别来自srca 488及srcb 490的0c及0c)中的元素。
存储srca 488的第一存储器单元群组可为耦合到特定存取线(例如,图3中的304-0)且耦合到数个感测线(例如,图3中的305-0到305-31)的单元。存储srcb 490的第二存储器单元群组可为耦合到不同特定存取线(例如,图3中的304-1)且耦合到数个感测线(例如,图3中的305-0到305-31)的单元。
srca 488的四个元素可存储于第一存储器单元群组中。举例来说,srcb 488的第一元素(例如,03)可存储于耦合到图3中的存取线304-0及感测线305-0到305-7的存储器单元中,第二元素(例如,09)可存储于耦合到图3中的存取线304-0及感测线305-8到305-15的存储器单元中,第三元素(例如,02)可存储于耦合到图3中的存取线304-0及感测线305-16到305-23的存储器单元中,且第四元素(例如,0c)可存储于耦合到图3中的存取线304-0及感测线305-24到305-31的存储器单元中。
srcb 490的四个元素可存储于第二存储器单元群组中。举例来说,srcb 490的第一元素(例如,07)可存储于耦合到存取线304-1及感测线305-0到305-7的存储器单元中,第二元素(例如,05)可存储于耦合到存取线304-1及感测线305-8到305-15的存储器单元中,第三元素(例如,08)可存储于耦合到存取线304-1及感测线305-16到305-23的存储器单元中,且第四元素(例如,0c)可存储于耦合到存取线304-1及感测线305-24到305-31的存储器单元中。
Row_Mask 476、Row_LowAct 478、Row_Retained 480及Row_Object 482包含存储于多个存储器单元群组中的位向量。例如,Row_Mask 476、Row_LowAct 478、Row_Retained480及Row_Object 482可存储于耦合到相应存取线304-2到304-5且耦合到感测线305-0到305-31的存储器单元中。Destc 484及destpc 486包含用于比较操作中的标量整数。
在此实例中,scra 488中的第一元素具有可由具有8位宽度的位向量[0000 0011]表示的十进制值3。位向量的特定位可存储于耦合到图3中的存取线304-0且耦合到对应相应感测线305-0到305-7的单元中(例如,位向量的最高有效位(MSB)可存储于耦合到感测线305-0的行0单元中,次低有效位(LSB)可存储于耦合到感测线305-1的行0单元中,…,且LSB可存储于耦合到感测线305-7的行0单元中)。类似地,srcb 490中的第一元素具有可由位向量[0000 0111]表示的十进制值7,且位向量的特定位可存储于耦合到存取线304-1且耦合到对应相应感测线305-0到305-7的单元中。如此,表示srca 488中的第一元素及srcb 490中的第一元素的8位宽的位向量的相应位可存储于耦合到相应相同感测线(例如,列)的单元中。即,在此实例中,位向量的MSB存储于耦合到感测线305-0的单元中,位向量的次低有效位存储于耦合到感测线305-1的单元等。为了简单,忽略端模式字节次序。相反,呈逻辑字大小的位总是呈具有在右边的最低有效位到在左边的最高有效位的连续顺序。
然而,实施例并不限于此实例。例如,将根据本文中所描述的实施例经比较的元素可由具有除8位以外的宽度的位向量表示。而且,多个元素可由特定位向量表示。例如,第一64位宽的位向量可表示各自由16位宽的位向量表示的四个元素且可存储于耦合到存取线304-0(且耦合到感测线305-0到305-63)的单元中,且第二64位宽的位向量可表示各自由16位宽的位向量表示的四个元素且可存储于耦合到存取线304-1(且耦合到感测线305-0到305-63)的单元中。根据本文中所描述的实施例,可将由第一64位宽的位向量表示的四个元素与由第二64位宽的位向量表示的相应四个元素进行比较。
在数个实施例中,比较操作的结果可存储于第三存储器单元群组中,所述第三存储器单元群组可为耦合到数个特定存取线(例如,图3中的304-0到304-R)的单元。所述第三存储器单元群组可用于存储指示比较操作的结果的第一位向量及/或第二位向量。即,存储于第三存储器单元群组中的位向量可指示srca 488中的第一元素是否大于srcb 490中的第一元素、srcb 490中的第一元素是否大于srca 488中的第一元素及/或srca 488中的第一元素是否等于srcb 490中的第一元素。第三存储器单元群组(举例来说)可为耦合到存取线304-7的单元或耦合到存取线304-0及存取线304-1中的至少一者的单元。即,第三存储器单元群组可与第一存储器单元群组或第二存储器单元群组为同一存储器单元群组。例如,在上文的8位宽的位向量实例中,第三存储器单元群组可为耦合到存取线304-0且耦合到感测线305-0到305-7的单元及/或耦合到存取线304-1且耦合到感测线305-0到305-7的单元。
第三存储器单元群组还可包括耦合到特定存取线的第一数目个存储器单元及耦合到不同特定存取线的第二数目个存储器单元。第一数目个及第二数目个存储器单元可存储一起指示比较操作的结果的两个不同位向量(例如,在2位水平向量行中)。举例来说,第一结果位向量可存储于第一数目个存储器单元中且第二结果位向量可存储于第二数目个存储器单元中。第一及第二结果位向量的特定位模式可指示srca 488中的第一元素是否大于srcb 490中的第一元素、srcb 490中的第一元素是否大于srca 488中的第一元素及/或srca 488中的第一元素是否等于srcb 490中的第一元素。
例如,如下文进一步描述,响应于srca 488中的第一元素大于srcb 490中的第一元素,第一结果位向量可为第一位模式(例如,[1111 1111])且第二结果位向量可为第二位模式(例如,[0000 0000]),且响应于srcb 490中的第一元素大于srca 488中的第一元素,第一结果位向量可为第二位模式(例如,[0000 0000])且第二结果位向量可为第一位模式(例如,[1111 1111])。响应于srca 488中的第一元素与srcb 490中的第一元素相等,第一结果位向量及第二结果位向量可为同一位模式(例如,[0000 0000]或[1111 1111])。
作为实例,第一结果位向量可存储于耦合到图3中所展示的存取线304-2且耦合到感测线305-0到305-7的单元中。第二结果位向量可存储于(例如)耦合到存取线304-3且耦合到感测线305-0到305-7的单元中。在数个实例中,第一结果位向量及/或第二结果位向量可存储于耦合到存储经比较的第一及/或第二元素的单元所耦合到的存取线的单元中。例如,如果第一元素存储于耦合到存取线304-0的第一单元群组中且第二元素存储于耦合到存取线304-1的第二单元群组中,那么存储第一及第二结果位向量的第三单元群组可包括分别耦合到图3中的存取线304-0及304-1的单元。
应注意,第一元素是否大于第二元素的确定可包含第一元素不小于第二元素的确定,但不可识别第一元素是否等于第二元素。即,如果第一元素不大于第二元素,那么第二元素可大于第一元素或第一元素可等于第二元素。
因此,比较操作还可包含第二元素是否大于第一元素的确定,所述确定可包含第二元素不小于第一元素的确定。然而,第二元素不小于第一元素的确定可不可识别第二元素是否等于第一元素。
在数个实例中,对第一元素及第二元素执行比较操作可包含在不经由输入/输出(I/O)线传送数据的情况下执行数个AND操作、OR操作、SHIFT操作及INVERT操作。可使用按与对应于相应互补感测线列的存储器单元相同的间距的感测电路来执行所述数个AND操作、OR操作、INVERT操作及SHIFT操作。
根据本发明的数个实施例,以下伪码表示可执行以在存储器中执行数个比较操作的指令。使用参考编号1到8指代实例伪码,所述参考编号1到8对应于图4A、4B及4C中所展示的表的栏496中所展示的相应参考编号1到8。举例来说,参考编号一(1)对应于伪码中的“加载srca、srcb”,且参考编号三(3)对应于伪码中的“获得所有Temp行”。
1.加载srca、srcb。
2.针对向量长度确定子阵列中的元素计数。
3.获得所有Temp行。
4.找到MSB且存储于Comp_Comp、Row_Mask、Row_Retained中。
5.通过以固定向量向右移位Comp_Comp中的每一长度而找到MSB。
6.向右移位固定长度且存储于Row_Object中。
7.针对每一向量元素:
7.a.在启用位的情况下创建元素的完整Row_Mask。
7.b使Row_Retained向右移位元素的固定长度。
7.c.将srca加载于Comp_Comp中
7.d.进行Comp_Comp与srcb的AND操作
7.e.将Comp_Comp的反转存储于Row_LowAct中
7.f.将Row_LowAct加载于Comp_Comp中
7.g.进行Comp_Comp与srca的AND操作
7.h.进行Comp_Comp与Row_Mask的AND操作
7.i.进行Comp_Comp与dest的OR操作
7.j.将Com_Comp存储于dest中
7.k.将Row_LowAct加载于Comp_Comp中
7.l.进行Comp_Comp与srcb的AND操作
7.m.进行Comp_Comp与Row_Mask的AND操作
7.n.进行Comp_Comp与dest+1的OR操作
7.o.将Comp_Comp存储于dest+1中
7.p.将dest加载于Comp_Comp中
7.q.进行Comp_Comp与Row_Mask的AND操作
7.r.将Comp_Comp存储于Row_LowAct中
7.s.针对向量固定宽度:
7.s.i.进行Comp_Comp与Row_Mask的AND操作
7.s.ii.将Comp_Comp存储于Row_LowAct中
7.s.iii.进行Comp_Comp与Row_Object的AND操作
7.s.iv.将BLOCKOR操作的返回值存储到标量整数destc中
7.s.v.将Row_LowAct加载于Comp_Comp中
7.s.vi.向右移位
7.t.将dest+1加载于Comp_Comp中
7.u.进行Comp_Comp与Row_Mask的AND操作
7.v.将Comp_Comp存储于Row_LowAct中
7.w.针对向量固定宽度:
7.w.i.进行Comp_Comp与Row_Mask的AND操作
7.w.ii.将Comp_Comp存储于Row_LowAct中
7.w.iii.进行Comp_Comp与Row_Object的AND操作
7.w.iv.将BLOCKOR操作的结果值存储到标量整数destpc中
7.w.v.将Row_LowAct加载于Comp_Comp中
7.w.vi.向右移位
7.x.如果destc>destpc
7.x.i.那么用Row_Mask填充dest
7.x.ii.用反转Row_Mask填充dest+1
7.y.否则如果destpc>destc
7.y.i.那么用Row_Mask填充dest+1
7.y.ii.用反转Row_Mask填充dest
7.z.否则
7.z.i.用反转Row_Mask填充dest及dest+1
8.释放所有Temp行且返回。
出于论述的目的,以上伪码将划分成设置阶段及比较阶段。由参考编号1到6指代的伪码可对应于设置阶段。在数个实施例中,可针对所有比较操作同时执行设置阶段。图4A图解说明在设置阶段之后与执行比较操作相关联的数个位向量的值。
由参考编号7(例如,7.a到7.z.i)指代的伪码可对应于比较阶段。比较阶段可进一步划分成确定阶段及结果阶段。确定阶段可对应于由参考编号7.a.到7.w.vi指代的伪码。可执行确定阶段以确定元素对中的每一者中的第一元素是否大于第二元素、元素对中的每一者中的第二元素是否大于第一元素及/或元素对中的每一者中的第一元素是否等于第二元素。图4B及4C中展示在执行实例比较阶段期间数个位向量的值。
可执行对应于结果阶段的伪码以存储比较操作的结果。结果阶段可包括由参考编号7.x.到7.z.i指代的伪码。在数个实例中,可在不经由I/O线(例如,I/O线334)传送数据的情况下将比较操作的结果存储于阵列(例如,图3中的阵列330)中。在数个实例中,可将比较操作的结果传送到除图3中的阵列330以外的位置。
比较阶段可包含执行数个操作迭代。举例来说,对应于参考编号7的伪码(例如,“针对每一向量元素:”)可表示与迭代通过用于比较数个向量元素对中的每一向量元素对的数个逻辑操作相关联的“For”循环。
可执行对应于参考编号7的“For”循环的第一迭代以将第一元素对的第一元素与第二元素进行比较,同时可执行“For”循环的后续迭代以比较额外元素对。在数个实例中,可顺序地执行对应于参考编号7的“For”循环的每一迭代。顺序地执行“For”循环的每一迭代可包含在开始“For”循环的下一迭代之前结束“For”循环的每一迭代。
对应于参考编号1的伪码(例如,“加载srca、srcb”)与将srca 488及srcb 490存储到图3中的阵列330中相关联。如上文所描述,srca 488及srcb 490可各自包含待比较的数个元素。在参考编号1处,位向量[0309020c]存储于存储srca 488的存储器单元群组中,位向量[0705080c]存储于存储srcb 490的存储器单元群组中,位向量[00000000]存储于存储dest 492及dest+1 494的多个存储器单元群组中。在参考编号1处,标量整数0存储于存储destc 484及destpc 486的寄存器中。
对应于参考编号2的伪码(例如,“针对向量长度确定子阵列中的元素计数”)与确定srca 488及srcb 490的元素计数相关联。确定srca 488及srcb 490中的元素计数可包含确定待比较的元素对的数目。在参考编号2处,还确定向量长度。尽管图4A中未展示,但元素计数及向量长度可存储于存储暂时数据的行470中。在图4A、4B及4C中,元素计数是四且向量长度是八。向量长度是八(8),因为八个位用于表示元素位向量中的每一元素。举例来说,呈十六进制形式的03元素由具有八个位的[0000 0011]位向量表示。
作为实例,可基于srca 488及srcb 490的宽度且基于元素宽度(例如,用于表示每一元素的位的数目)而确定元素计数。给出srca 488及srcb 490各自是32位宽的位向量(例如,存储于耦合到存储器中的32个列的存储器单元中)且每一元素由八个位表示,srca 488及srcb 490中的每一者包括四个元素(例如,32/8=4)。
在数个实例中,用于表示每一元素的位的数目(例如,元素宽度)可为(例如)由主机及/或用户提供的参数。而且,在数个实施例中,srca 488及/或srcb 490的元素计数及/或对应于srca 488及srcb 490的向量宽度可由主机及/或用户提供为参数。如此,在数个实例中,可基于srca 488及srcb 490的向量宽度且基于元素计数而确定构成srca 488及/或srcb 490的位向量的元素宽度。例如,给出向量宽度为32个位且元素计数为4,元素宽度将是8个位(例如,32/4=8)。
参考编号3处指代的伪码(例如,获得所有Temp行)对应于在比较操作期间初始化数个存储器单元群组以用作暂时存储行。即,所述数个存储器单元群组可为耦合到相应存取线(例如,行)的单元群组且可用于暂时存储与执行比较操作相关联的数据(例如,作为暂时存储装置)。举例来说,第一存储器单元群组可存储称为“Row_Mask”的位向量,第二存储器单元群组可存储称为“Row_LowAct”的位向量,第三存储器单元群组可存储称为“Row_Retained”的位向量,第四存储器单元群组可存储称为“Row_Object”的位向量,第五存储器单元群组可存储称为“destc”的位向量,且第六存储器单元群组可存储称为“destpc”的位向量。实施例不限于特定数目个暂时存储行。在数个实例中,经比较的每一元素对(例如,第一元素srca及第一元素srcb)可与对应于存储Row_Mask 476、Row_LowAct 478、Row_Retained 480、Row_Object 482、destc 484及/或destpc 486的行的不同数目个位向量相关联。在数个实例中,对应于存储暂时数据的行的位向量与经比较的元素对存储于耦合到相同感测线的存储器单元中。
例如,Row_Mask 476可用于识别及/或隔离经比较的元素及/或对应于经比较的元素的位向量的位。Row_LowAct 478可用于识别将在比较操作中进行比较的srca 488及srcb490的元素。Row_Object 482可用于识别每一元素中的最低有效位。Destc 484及destpc486可用于识别srca 488与srcb 490的差异(例如,具有不同二进制值的相应位位置)。
对应于暂时存储行470的存储器单元群组可以促进对元素对执行比较操作的方式定向于存储器330内。举例来说,各自存储对应于相应暂时存储行的位向量的多个存储器单元群组可耦合到图3中的感测线305-0到305-31。所述多个存储器单元群组中的每一群组可耦合到不同存取线(例如,具有耦合到其的不用于存储对应于经比较的元素的位向量的单元的存取线)。
起始Row_Mask 476、Row_LowAct 478、Row_Retained 480及Row_Object 482可包含将位向量[00000000]存储于存储Row_Mask 476、Row_LowAct 478、Row_Retained 480及Row_Object 482的多个存储器单元群组中。
参考编号4处指代的伪码(例如,“找出MSB且存储于Comp_Comp、Row_Mask、Row_Retained中”)与确定srca 488及/或srcb 490中的最高有效位(MSB)且将指示MSB的位向量存储于特定存储器单元群组中相关联。指示最高有效位的位模式可存储(例如,作为位向量)于用于存储Row_Mask 476的存储器单元群组中且存储于用于存储Row_Retained 480的存储器单元群组中。指示最高有效位的位模式还可存储(例如,作为经锁存位向量)于感测电路(例如,图3中的计算组件331及/或感测放大器306)中。作为实例,包括在MSB位置中的“1”及在剩余位位置中的所有“0”的位模式可用于指示srca 488及/或srcb 490的MSB。举例来说,如果srca 488及/或srcb 490是32位宽的位向量且存储于耦合到感测线305-0到305-31的存储器单元中,那么32位宽的二进制位向量[1000 0000 0000 0000 0000 0000 00000000](例如,十六进制位向量[80000000])可用作指示srca 488及/或srcb 490中的MSB的位向量。在数个实例中,图3中的计算组件331-0到331-32可锁存位向量[1000 0000 00000000 0000 0000 0000 0000]的相应位。举例来说,计算组件331-0可锁存一(1)位而计算组件331-1到331-31可锁存零(0)位。
参考编号5处指代的伪码(例如,通过以固定向量向右移位Comp_Comp中的每一长度而找出MSB)与确定可指示对应于由srca 488及/或srcb 490表示的数个元素中的每一者的MSB的位向量相关联。可通过如下操作确定用于指示对应于所述数个元素的MSB的位向量:对存储于计算组件(例如,图3中的331-0到331-31)及存储Row_Object 482(例如,其对应位可存储于耦合到特定暂时存储行且耦合到相应感测线305-0到305-31的单元中)的存储器单元群组中的位向量执行数个逻辑操作(例如,SHIFT操作及OR操作的数个迭代)。SHIFT及OR迭代可产生二进制位向量[1000 0000,1000 0000,1000 0000](例如,十六进制位向量[80808080]),所述二进制位向量包括对应于由srca 488及/或srcb 490表示的四个元素中的每一者的MSB的位位置处的“1”。SHIFT操作可为向右SHIFT操作;然而,实施例不限于此实例。可对Comp_Comp 431执行SHIFT操作。可对Row_Object 482及Comp_Comp 431执行OR操作。SHIFT操作及OR操作的结果可存储于存储Row_Object 482的存储器单元群组及计算组件(例如,图3中的331-0到331-31)中。
参考编号6处指代的伪码(例如,向右移位固定向量且存储于Row_Object中)与确定可指示对应于由srca 488及/或srcb 490表示的数个元素中的每一者的LSB的位向量相关联。可对Comp_Comp 431(例如,在参考编号5中执行的SHIFT及OR操作的结果)执行数个SHIFT操作以识别对应于所述数个元素中的每一者的LSB。举例来说,如果二进制位向量[1000 0000,1000 0000,1000 0000]识别srca 488及/或srcb 490中的每一元素的最高有效位,那么位向量[000 0001,0000 0001,0000 0001]可识别表示srca 488及/或srcb 490中的元素的每一位向量的最低有效位。可通过多次执行向右SHIFT操作(等于向量长度)而识别srca 488位向量及/或srcb 490中的每一元素的最低有效位。十六进制位向量[01010101]存储于存储Row_Object 482的存储器单元群组中。位向量[01010101]位向量识别(例如,借助“1”)元素中的每一者中的最低有效位。
图4B图解说明展示根据本发明的数个实施例的处于与执行比较操作相关联的特定阶段的阵列的存储器单元的状态的表。图4B包含存储包含Row_Mask 476、Row_LowAct478、Row_Retained 480及Row_Object 482的暂时数据的行470,行470与图4A中存储暂时数据Row_Mask 476、Row_LowAct 478、Row_Retained 480及Row_Object 482的行470相似。图4B包含与图4A中的Comp_Comp 431相似的Comp_Comp 431。图4B还包含与图4A中的向量自变量472相似的向量自变量472。向量自变量472可包含与图4A中的向量自变量472(srca 488、srcb 490、dest 492及/或dest+1 494)相似的srca 488、srcb 490、dest 492及/或dest+1位向量494。图4B包含与图4A中的标量整数destc 484及destpc 486相似的标量整数destc484及destpc 486。图4B展示在比较阶段中执行的数个指令的结果。
参考编号7处指代的伪码(例如,针对每一向量元素)对应于经由参考编号7.a到7.z.i处指代的伪码描述的“For”循环。如此,对应于参考编号7的“For”循环涉及执行数个操作迭代。所述数个操作迭代中的每一操作迭代对应于经比较的特定元素对。例如,与比较第一元素对相关联地执行展示为伪码7.a到7.z.i的第一操作迭代,与比较第二元素对相关联地执行展示为伪码7.a到7.z.i的第二操作迭代等。
在参考编号7.a(例如,在启用位的情况下创建元素的完整Row_Mask)处,创建完整行掩码。完整行掩码定义为包含用于一特定元素及/或多个特定元素的特殊位模式的掩码。所述特定位模式可包含所有一(例如,“1”)或所有(例如,“0”)。举例来说,在与参考编号7.a相关联的“For”循环的第一迭代(例如,对应于第一元素对的迭代)期间,创建二进制位向量[1111 1111,0000 0000,0000 0000](例如,十六进制位向量[ff000000])且存储于存储Row_Mask 476的存储器单元群组中。Row_Mask 476可用于在比较操作期间隔离srca 488及/或srcb 490中的元素。位向量[ff000000]还可识别:当前比较操作将来自srca 488的第一元素与来自srcb 490的第一元素进行比较。可经由对Row_Mask 476执行的多个SHIFT操作及对Comp_Comp 431及Row_Mask 476执行的多个OR操作创建完整行掩码。
在参考编号7.b(例如,使Row_Retained向右移位元素的固定长度)处,将Row_Retained 480存储于图3中的计算组件331的群组中(例如,读取Row_Retained位向量)。即,Comp_Comp 431可等于Row_Retained 480。可对Comp_Comp 431执行SHIFT操作以识别将经比较的来自srca 488及srcb 490的下一元素对。举例来说,可对Row_Retained(例如,二进制位向量[1000 0000,0000 0000,0000 0000,0000 0000])执行向右SHIFT操作,此识别将比较来自srca 488及srcb 490的第一元素对。向右SHIFT操作的结果(例如,十六进制位向量[00800000])可存储于存储Row_Retained 480的第三暂时存储器单元群组中。
在参考编号7.c(例如,将srca加载于Comp_Comp中)处,srca 488可存储于感测电路中。举例来说,srca 488(例如,十六进制位向量[0309020c])可存储于图3中的计算组件331及/或感测放大器306中。
在参考编号7.d(例如,进行Comp_Comp与srcb的AND操作)处,可对存储于耦合到存取线304-1的存储器单元群组中的Comp_Comp 431及srcb 490执行AND操作。可执行AND操作以识别Comp_Comp 431(例如,srca 488)与srcb 490之间的具有等于一(1)的值的共同位。AND操作的结果(例如,十六进制位向量[0301000c])可存储于感测电路(例如,计算组件331及/或感测放大器306)中。
在参考编号7.e(例如,将Comp_Comp的反转存储于Row_LowAct中)处,可对Comp_Comp 431(例如,是先前AND操作的结果的十六进制位向量[0301000c])执行INVERT操作以识别未在srca 488与srcb 490之间共享的位。INVERT操作的结果(例如,位向量[fcfefff3])可存储于存储Row_LowAct 478的存储器单元群组中。
在参考编号7.f(例如,将Row_LowAct加载于Comp_Comp中)处,Row_LowAct 478(例如,位向量[fcfefff3])存储于感测电路中。在参考编号7.g(例如,进行Comp_Comp与srca的AND操作)处,对Comp_Comp 431(例如,Row_LowAct 478)及srca 488执行AND操作。可对Comp_Comp 431(例如,位向量[fcfefff3])及srca 488(例如,位向量[0309020c])执行AND操作以识别srca 488中的具有一(1)的值的位及srcb 490中的具有零(0)的值的相关联位的索引。AND操作的结果(例如,位向量[00080200])存储于感测电路中。结果识别:srca 488中的第二元素中的具有等于四(4)的索引(例如,假定第一索引识别最低有效位)的位具有一(1)值且srcb 490中的相关联元素中的具有等于四(4)的索引的位具有零(0)值。结果还识别:srca 488中的第三元素中的具有等于二(2)的索引(例如,假定第一索引识别最低有效位)的位具有一(1)值且srcb 490中的相关联元素中的具有等于二(2)的索引的位具有零(0)值。AND逻辑操作的结果可存储于感测电路中。
在参考编号7.h(例如,进行Comp_Comp与Row_Mask的AND操作)处,对Comp_Comp431(例如,十六进制位向量[00080200])且对Row_Mask 476(例如,位向量[ff000000])执行AND操作以隔离与当前比较操作相关联的经识别索引。AND操作的结果(例如,位向量[00000000]位向量)可存储于感测电路中。
在参考编号7.i(例如,进行Comp_Comp与dest的OR操作)处,对Comp_Comp 431(例如,十六进制位向量[00000000])及dest 492(例如,位向量[00000000])执行OR操作。OR操作的结果(例如,位向量[00000000])存储于感测电路中。在参考编号7.j(例如,将Comp_Comp存储于dest中)处,Comp_Comp 431(例如,位向量[00000000])存储于存储dest 492的存储器单元群组中。
在参考编号7.k(例如,将Row_LowAct加载于Comp_Comp中)处,Row_LowAct 478(例如,位向量[fcfefff3])存储于感测电路中。在参考编号7.l(例如,进行Comp_Comp与srcb的AND操作)处,对Comp_Comp 431(例如,位向量[fcfefff3])且对srcb 490(例如,位向量[0705080c])执行AND操作。执行AND操作以识别srcb 490中的具有一(1)的值的位及srca488中的具有零(0)的值的相关联位的索引。结果(例如,位向量[04040800])存储于感测电路中。
在参考编号7.m(例如,进行Comp_Comp与Row_Mask的AND操作)处,对Comp_Comp431(例如,位向量[04040800])且对Row_Mask 476(例如,位向量[ff000000])执行AND操作以隔离与当前比较操作相关联的经识别索引。结果(例如,位向量[04000000])存储于感测电路中。在参考编号7.n(例如,进行Comp_Comp与dest+1的OR操作)处,对Comp_Comp 431(例如,位向量[04000000])及dest+1 494(例如,位向量[00000000])执行OR操作。在参考编号7.o(例如,将Comp_Comp存储于dest+1中)处,OR操作的结果(例如,位向量[04000000])存储于存储dest+1 494的存储器单元群组中。
在参考编号7.p(例如,将dest加载于Comp_Comp中)处,dest 492(例如,位向量[00000000])存储于感测电路中。在参考编号7.q(例如,进行Comp_Comp与Row_Mask的AND操作)处,对Comp_Comp 431(例如,位向量[00000000])及Row_Mask 476(例如,位向量[FF000000])执行AND操作以隔离Comp_Comp 431中的与当前比较操作相关联的位。AND操作的结果存储于感测电路中。在参考编号7.r(例如,将Comp_Comp存储于Row_LowAct中)处,Comp_Comp 431(例如,位向量[00000000])存储于存储Row_LowAct 478的存储器单元群组中。
在参考编号7.s(针对向量固定宽度)处,执行“For”循环。“For”循环迭代通过与元素宽度相关联的索引。针对每一索引执行数个操作(例如,与参考编号7.s.i.到7.s.vi.相关联的操作)。“For”循环迭代通过与元素宽度相关联的索引。举例来说,如果元素由具有八个位(例如,元素宽度)的位向量表示,那么“For”循环可迭代八次,每一迭代使索引递增一。在“For”循环的第一迭代期间,索引将具有一(1)的值,在“For”循环的第二迭代期间索引将具有二(2)的值,…,且在“For”循环的第八迭代期间索引将具有八(8)的值。“For”循环将在第八迭代之后结束(例如,中断)。
在参考编号7.s.i(例如,进行Comp_Comp与Row_Mask的AND操作)处,对Comp_Comp(例如,位向量[00000000])及Row_Mask 476(例如,位向量[ff000000])执行AND操作。AND操作的结果(例如,位向量[00000000])存储于感测电路中。在参考编号7.s.ii(例如,将Comp_Comp存储于Row_LowAct中)处,Comp_Comp 431(例如,位向量[00000000])存储于存储Row_LowAct 478的存储器单元群组中。
在参考编号7.s.iii.(进行Comp_Comp与Row_Object的AND操作)处,对Comp_Comp431(例如,位向量[00000000])且对Row_Object 482(例如,位向量[01010101])执行AND操作。AND操作的结果(例如,位向量[00000000])存储于感测电路中。
在参考编号7.s.iv.(例如,将BLOCKOR操作的返回值存储到标量整数destc中),对Comp_Comp 431执行BLOCKOR操作。BLOCKOR操作的结果(例如,[00000000])存储于与控制电路相关联且存储destc 484的存储器中。如本文中所使用,可执行BLOCKOR操作以确定存储于感测电路中的位向量的一或多个位是否是特定值(例如,存储于感测电路中的位中的任一者是否是一“1”位)。可使用I/O线334及次级感测放大器312执行BLOCKOR操作。
执行BLOCKOR操作以确定srca 488中的具有一(1)的值的位及srcb 490中的具有零(0)的值的相关联位的最高有效位索引。BLOCKOR操作的结果作为标量整数经存储于与控制电路相关联且存储destc 484的存储器中。对Comp_Comp的与数个索引相关联的位执行BLOCKOR操作。所述数个索引是参考编号7.s中的“For”循环迭代的索引。举例来说,在参考编号7.s中指代的“For”循环的每一迭代期间执行且仅对“For”循环的经迭代索引执行BLOCKOR操作。举例来说,在参考编号7.s中指代的“For”循环的第一迭代期间,对Comp_Comp431中的最低有效位执行BLOCKOR操作。在参考编号7.s中指代的“For”循环的第二迭代期间,对两个最低有效位(例如,Comp_Comp 431中的具有等于零(0)及一(1)的索引的位)执行BLOCKOR操作。在参考编号7.s中指代的“For”循环的第八迭代期间,对Comp_Comp 431中的所有位执行BLOCKOR操作。
在数个实施例中,可与确定耦合到一或多个(例如,任何)特定感测线的存储器单元是否存储匹配目标数据模式的数据模式相关联地执行BLOCKOR操作。举例来说,知晓与目标数据模式的一或多个匹配是否存储于阵列中可为有用信息,即使在不知晓哪(些)特定感测线耦合到存储匹配数据模式的单元的情况下也如此。在此些实例中,感测线中的任何者是否耦合到存储目标数据模式的匹配的单元的确定可包含将耦合到次级感测放大器(例如,312)的局部I/O线(例如,局部I/O线334)充电(例如,预充电)到特定电压。可经由例如图1中所展示的控制电路140的控制电路及/或例如图1中所展示的电路150的感测电路将I/O线(例如,334)预充电(例如)到例如供应电压(例如,Vcc)或接地电压(例如,0V)的电压。
在执行BLOCKOR操作(其可称为“AccumulatorBlockOr”)时,可并行激活耦合到选定感测电路(例如,感测放大器306及/或计算组件331)的列解码线(例如,310-1到310-W)(例如,使得接通相应晶体管308-1到308-V)以便将感测电路(例如,感测放大器306及/或计算组件331)的组件的电压传送到局部I/O线(例如,334)。次级感测放大器(例如,SSA 314)可感测局部I/O线的预充电电压是否响应于列解码线的激活而改变(例如,达多于阈值量)。
例如,如果将I/O线234预充电到接地电压且选定计算组件(例如,331-1到331-X)中的一或多者存储逻辑1(例如,0V)以表示匹配,那么SSA 312可感测到I/O线334上的电压的上拉(例如,增加)以确定任何所存储数据模式是否匹配目标数据模式(例如,累加器中的至少一者是否存储“1”)。或者,如果将I/O线334预充电到Vcc且选定感测电路组件(例如,累加器)中的一或多者存储逻辑0(例如,Vcc)以表示匹配,那么SSA 312可感测到I/O线334上的电压的下拉(例如,减少)以确定任何所存储数据模式是否匹配目标数据模式(例如,累加器中的至少一者是否存储“0”)。
在数个实例中,耦合到选定列解码线的感测电路是否存储特定数据值(例如,匹配数据值“1”)的确定有效地执行逻辑OR操作。以此方式,对应于存储于感测电路中的数据的电压可并行传送到局部I/O线334且作为BLOCKOR操作的一部分由SSA 312感测。本发明的实施例不限于局部I/O线334的特定预充电电压及/或对应于逻辑1或逻辑0的特定电压值。
在参考编号7.s.v(将Row_LowAct加载于Comp_Comp中)处,Row_LowAct 478存储于感测电路中。在参考编号7.s.vi(向右移位)处,对Comp_Comp 431(例如,位向量[00000000])执行SHIFT操作。SHIFT操作可为向右SHIFT操作。SHIFT操作的结果存储于感测电路中。
在参考编号7.t(将dest+1加载于Comp_Comp中)处,dest+1 494存储于感测电路中。在参考编号7.u(例如,进行Comp_Comp与Row_Mask的AND操作)处,对Comp_Comp(例如,位向量[04000000])431及Row_Mask 476(例如,位向量[ff000000])执行AND操作。结果[04000000]存储于感测电路中。在参考编号7.v(例如,将Comp_Comp存储于Row_LowAct中)处,Comp_Comp 431(例如,位向量[04000000])存储于存储Row_LowAct 478的存储器单元群组中。
在参考编号7.w(例如,针对向量固定宽度)处,执行“For”循环。参考编号7.w中指代的“For”循环与参考编号7.s中指代的“For”循环相似。参考编号7.w.i到7.w.iii也与参考编号7.s.i到7.s.iii相似。
在参考编号7.w.i(例如,进行Comp_Comp与Row_Mask的AND操作)处,对Comp_Comp431(例如,位向量[04000000])及Row_Mask 476(例如,位向量[ff000000])执行AND操作。AND操作的结果(例如,[04000000])存储于感测电路中。在参考编号7.w.ii(例如,将Comp_Comp存储于Row_LowAct中)处,AND操作的结果存储于存储Row_LowAct 478的存储器单元群组中。
在参考编号7.w.iii(例如,进行Comp_Comp与Row_Object的AND操作)处,对Comp_Comp 431(例如,位向量[04000000])及Row_Object 482(例如,位向量[01010101])执行AND操作。AND操作的结果(例如,[01000000])存储于感测电路中。
在参考编号7.w.iv(例如,将BLOCKOR操作的结果值存储到标量整数destpc中)处,对Comp_Comp 431(例如,位向量[01000000])执行BLOCKOR操作。BLOCKOR操作的结果(例如,3)存储于存储destpc 486的存储器单元群组中。
在参考编号7.w.v(例如,将Row_LowAct加载于Comp_Comp中)处,Row_LowAct 478存储于感测电路中。在参考编号7.w.vi(例如,向右移位)处,对Comp_Comp 431(例如,位向量[01000000])执行SHIFT操作。SHIFT操作的结果(例如,位向量[00000000])存储于感测电路中。
在参考编号7.x(例如,如果destc>destpc)处,确定destc 484(例如,位向量[0])不大于destpc 486(例如,位向量[3])。如果destc 484大于destpc 486,那么将执行参考编号7.x.i到7.x.ii中指代的数个操作。
举例来说,在参考编号7.x.i(例如,用Row_Mask填充dest)处,dest 492存储于感测电路中。对Comp_Comp 431及Row_Mask 476执行OR操作。OR操作的结果存储于存储dest492的存储器单元群组中。
在参考编号7.x.ii(例如,用反转Row_Mask填充dest+1)处,对Row_Mask 476执行INVERT操作。INVERT操作的结果存储于感测电路中。对Comp_Comp 431及dest+1 494执行AND操作。AND操作的结果存储于存储dest+1 494的存储器单元群组中。
在参考编号7.y(例如,否则如果destpc>destc)处,确定destpc 486(例如,标量整数3)大于destc 484(例如,标量整数0)。基于destpc 486大于destc 484的确定而执行参考编号7.y.i到7.y.ii中指代的数个操作。
在参考编号7.y.i(用Row_Mask填充dest+1)处,dest+1 494存储于感测电路中。对dest+1 494及Row_Mask 476执行OR操作。OR操作的结果(例如,位向量[ff000000])存储于存储dest+1 494以更新dest+1 494的存储器单元群组中。
在参考编号7.y.ii(用反转Row_Mask填充dest)处,对Row_Mask 476执行INVERT操作。对Comp_Comp 431及dest 492执行AND操作。AND操作的结果(例如,位向量[00000000])存储于存储dest 492以更新dest 492的存储器单元群组中。以上位向量中使用的粗体描述经更新的位向量的一部分(例如,dest 492及/或dest+1 494)。
位向量[ff000000](例如,dest+1 494)指示srcb 490中的第一元素大于srca 488中的第一元素。与dest+1 494中的“ff”相关联的位具有数个索引。所述索引可识别srca488及srcb 490中的形成元素对的相关联元素。dest+1 494中的“ff”指示srcb 490中的经识别元素大于srca 488中的经识别元素。[00000000]dest位向量492指示srca 488中的第一元素可小于srcb 490中的第一元素或等于srcb 490中的第一元素。
在参考编号7.z(例如,否则)处,确定destc 484是否不等于destpc 486及destpc486是否不等于destc 484。即,在参考编号7.z处,确定destc 484是否等于destpc 486。如果destc 484等于destpc 486,那么在参考编号7.z.i处执行数个操作。所述数个操作可包含对Row_Mask 476执行INVERT操作且将INVERT操作的结果存储于感测电路中。所述数个操作还可包含对Comp_Comp 431及dest 492执行AND操作。AND操作的结果可存储于存储dest492的存储器单元群组中。所述数个操作还可包含对Comp_Comp 431及dest+1 494执行AND操作。AND操作的结果可存储于存储dest+1 494的存储器单元群组中。
图4C图解说明展示根据本发明的数个实施例的处于与执行比较操作相关联的特定阶段的阵列的存储器单元的状态的表。图4C包含存储包含Row_Mask 476、Row_LowAct478、Row_Retained 480及Row_Object 482的暂时数据的行470,行470与图4A、4B中的存储暂时数据Row_Mask 476、Row_LowAct 478、Row_Retained 480及Row_Object 482的行470相似。图4C包含与图4A及图4B中的Comp_Comp 431相似的Comp_Comp 431。图4C还包含与图4A及4B中的向量自变量472相似的向量自变量472。向量自变量472可包含与图4A及4B中的向量自变量472、srca 488、srcb 490、dest 492及/或dest 494相似的srca 488、srcb 490、dest 492及/或dest+1 494。图4c还包含与图4A及4B中的标量整数destc 484及destpc 486相似的标量整数destc 484及/或destpc 486。
图4C展示在图4B中的比较阶段之后的比较阶段期间的数个存储器单元的状态。即,图4C展示在参考编号7中指代的“For”循环的第二迭代期间所述数个存储器单元的状态。
在参考编号7.a处,创建位向量[00ff0000]。位向量[00ff0000]位于存储Row_Mask476的存储器单元群组中。Row_Mask 476(例如,位向量[00ff0000])识别:当前比较操作将来自srca 488的第二元素与来自srcb 490的第二元素进行比较。
在参考编号7.b处,[00008000]位向量存储于感测电路中且存储于存储Row_Retained 480的存储器单元群组中。位向量[00008000]识别将在参考编号7中指代的“For”循环的后续迭代中经比较的接下来元素。
在参考编号7.c处,srca 488存储于感测电路中。在参考编号7.d处,对srca 488及srcb 490执行的AND操作的结果(例如,[0301000c])存储于感测电路中。
在参考编号7.e处,对位向量[0301000c]执行INVERT操作。INVERT操作的结果是位向量[fcfefff3]。[fcfefff3]位向量存储于存储Row_LowAct 478的存储器单元群组中。在参考编号7.f.处,位向量[fcfefff3](例如,Row_LowAct 478)存储于感测电路中。在参考编号7.g.处,对Comp_Comp 431(例如,位向量[fcfefff3])及srca 488(例如,位向量[0309020c])执行AND操作。结果(例如,位向量[00080200])存储于感测电路中。
在参考编号7.h处,对Comp_Comp(例如,位向量[00080200])且对Row_Mask 476(例如,位向量[00ff0000])执行AND操作。结果(例如,位向量[00080000])存储于感测电路中。在参考编号7.i处,对Comp_Comp 431(例如,位向量[00080000])及dest 492(例如,位向量[00000000])执行OR操作。OR操作的结果(例如,位向量[00080000])存储于感测电路中。
在参考编号7.j处,OR操作的结果(例如,位向量[00080000])存储于存储dest 492的存储器单元群组中。在参考编号7.k处,Row_LowAct 478(例如,位向量[fcfefff3])存储于感测电路中。在参考编号7.l处,对Comp_Comp 431(例如,位向量[fcfefff3])且对srcb490(例如,位向量[0705080c])执行AND操作。结果(例如,位向量[04040800])存储于感测电路中。
在参考编号7.m处,对位向量[04040800](例如,Comp_Comp 431)及位向量[00ff0000](例如,Row_Mask 476)执行AND操作。结果(例如,位向量[00040000])存储于感测电路中。在参考编号7.n处,对位向量[00040000](例如,Comp_Comp 431)及位向量[ff000000](例如,dest+1 494)执行OR操作。在参考编号7.o处,结果(例如,位向量[ff040000])存储于dest+1 494中。
在参考编号7.p处,dest 492(例如,[00080000])存储于感测电路中。在参考编号7.q处,对位向量[00080000](例如,Comp_Comp 431)及位向量[00ff0000](例如,Row_Mask476)执行AND操作。在参考编号7.r处,AND操作的结果(例如,位向量[00080000])存储于存储Row_LowAct 478的存储器单元群组中。
在参考编号7.s处,执行“For”循环。“For”循环在每一迭代之后使位索引递增。索引以一(1)值开始且递增直到“For”循环中断。当索引小于或等于元素宽度时“For”循环继续。参考编号7.s.i到7.s.vi展示在“For”循环的最后迭代之后数个存储器单元的状态。
在参考编号7.s.i.处,对位向量[00080000](例如,Comp_Comp 431)及位向量[000ff000](例如,Row_Mask 476)执行AND操作。AND操作的结果(例如,位向量[00080000])存储于感测电路中。在参考编号7.s.ii.处,AND操作的结果存储于存储Row_LowAct 478的存储器单元群组中。
在参考编号7.s.iii处,对位向量[00080000](例如,Comp_Comp 431)及位向量[01010101](例如,Row_Object 482)执行AND操作。结果(例如,位向量[00000000])存储于感测电路中。在参考编号7.s.iv处,对Comp_Comp 431执行BLOCKOR操作。BLOCKOR操作的结果(例如,4)存储于与控制电路相关联且存储destc 484的存储器中。
在参考编号7.s.v处,Row_LowAct 478存储于感测电路中。在参考编号7.s.vi.处,对位向量[00080000](例如,Comp_Comp 431)执行SHIFT操作。SHIFT操作的结果存储于感测电路中。
在参考编号7.t处,位向量[ff040000](例如,dest+1 494]存储于感测电路中。在参考编号7.u处,对位向量[ff040000](例如,Comp_Comp 431)及位向量[00ff0000](例如,Row_Mask 476)执行AND操作。结果(例如,位向量[00040000])存储于感测电路中。在参考编号7.v处,结果(例如,位向量[00040000])存储于存储Row_LowAct 478的存储器单元群组中。
参考编号7.w.i到7.w.vi指代在“For”循环(例如,7.w)中执行的数个操作。在参考编号7.w.i处,对位向量[00040000](例如,Comp_Comp)及位向量[00ff0000](例如,Row_Mask 476)执行AND操作。AND操作的结果(例如,位向量[00040000])存储于感测电路431中。在参考编号7.w.ii处,AND操作的结果(例如,位向量[00040000])存储于存储Row_LowAct478的存储器单元群组中。在参考编号7.w.iii.处,对位向量[00040000](例如,Comp_Comp)及位向量[01010101](例如,Row_Object 482)执行AND操作。AND操作的结果(例如,[00000000])存储于感测电路中。在参考编号7.w.iv处,对位向量[00000000](例如,Comp_Comp)执行BLOCKOR操作。BLOCKOR操作的结果(例如,3)存储于与控制电路相关联且存储destpc 486的存储器中。在参考编号7.w.v处,Row_LowAct 478存储于感测电路中。在参考编号7.w.vi处,对位向量[00000000](例如,Comp_Comp)执行SHIFT操作(例如,向右SHIFT操作)。SHIFT操作的结果(例如,位向量[00000000])存储于感测电路中。
在参考编号7.x处,确定destc 484(例如,[4])大于destpc 486(例如,[3])。在参考编号7.x.i处,位向量[00080000](例如,dest 492)存储于感测电路中且对位向量[00080000](例如,Comp_Comp 431)及位向量[00ff0000](例如,Row_Mask 476)执行OR操作。作为结果(例如,位向量[00ff0000])存储于存储dest 492的存储器单元群组中。即,更新dest 492(例如,[00ff0000])。在参考编号7.x.ii处,对位向量[00ff0000]执行INVERT操作。结果(例如,位向量[ff00ffff])存储于感测电路中。对位向量[ff00ffff](例如,Comp_Comp 431)及位向量[ff040000](例如,dest+1 494)执行AND操作。结果(例如,位向量[ff000000])存储于存储dest+1 494的存储器单元群组中。即,更新dest+1 494。位向量[00ff0000](例如,dest 492)指示srca 488中的第二元素大于srcb 490中的第二元素。位向量[ff000000]dest+1 494指示srcb 490中的第二元素小于或等于srca 488中的第二元素。
在参考编号7.y处,确定destpc 486不大于destc 484。在参考编号7.z处,确定destc 484不等于destpc 486。
未展示参考编号7中指代的“For”循环的最后两个迭代。在“For”循环的第三迭代之后,dest 492具有等于位向量[00ff0000]的值且dest+1 494具有等于位向量[ff00ff00]的值。即,dest+1 494指示srcb 490中的第三元素大于srca 488中的第三元素。
在参考编号7中指代的“For”循环的第四迭代之后,dest 492具有等于位向量[00ff0000]的值且dest+1具有等于位向量[ff00ff00]的值。即,dest 492及dest+1 494一起指示srca 488中的第四元素等于srcb 490中的第四元素。在dest+1 494及dest 492两者中具有相同索引的“00”位指示来自srcb 490及srca 488的对应元素相等。
在参考编号8处,可释放存储Row_Mask 476、Row_LowAct 478、Row_Retained 480、Row_Object 482、srca 488及/或srcb 490的存储器单元。如本文中所使用,释放存储器单元可使所述存储器单元可用于存储与比较操作的不同实例相关联的数据及/或不与比较操作相关联的逻辑操作。
然而,实施例不限于此实例中的伪码中的指令序列的次序。举例来说,可在执行参考编号7.p.到7.s.vi.中指代的数个操作之前执行参考编号7.t.到7.w.vi.中指代的数个操作。
下文描述且下文的表1中总结关于执行逻辑操作且将结果最初存储于感测放大器206中的图2A的感测电路250的功能性。将特定逻辑操作的结果最初存储于感测放大器206的初级锁存器中可提供与先前方法相比较经改善的多功能性,在先前方法中结果可最初驻存于计算组件231的次级锁存器(例如,累加器)中,且然后随后传送到(例如)感测放大器206。
<u>操作</u> <u>累加器</u> <u>感测放大器</u>
AND 未改变 结果
OR 未改变 结果
NOT 未改变 结果
SHIFT 未改变 经移位数据
表1
将特定操作的结果最初存储于感测放大器206中(例如,而不必须执行额外操作以将结果从计算组件231(例如,累加器)移动到感测放大器206)是有利的,因为(例如)可在不执行预充电循环(例如,在互补数据线205-1(D)及/或205-2(D_)上)的情况下将结果写入到(存储器单元阵列的)行或往回写入到累加器中。
图5图解说明根据本发明的数个实施例的与使用感测电路执行数个逻辑操作相关联的时序图。图5图解说明与起始对第一操作数及第二操作数的AND逻辑操作相关联的时序图。在此实例中,第一操作数存储于耦合到第一存取线(例如,行X)的存储器单元中且第二操作数存储于耦合到第二存取线(例如,行Y)的存储器单元中。尽管实例是指对存储于对应于一个特定列的单元中的数据执行AND,但实施例并不限于此。例如,可与不同数据值行并行地对整个数据值行进行AND操作。举例来说,如果阵列包括2,048个列,那么可并行执行2,048个AND操作。
图5图解说明与操作感测电路(例如,250)以执行AND逻辑操作相关联的数个控制信号。“EQ”对应于施加到感测放大器206的平衡信号,“行X”对应于施加到存取线204-X的激活信号,“行Y”对应于施加到存取线204-Y的激活信号,“Act”及“RnIF”对应于施加到感测放大器206的相应作用中正及负控制信号,“LOAD”对应于load控制信号(例如,图2A中所展示的LOAD/PASSD及LOAD/PASSDb),且“AND”对应于图2A中所展示的AND控制信号。图5还图解说明展示在行X及行Y数据值的各种数据值组合的AND逻辑操作期间对应于感测放大器206的数字线D及D_及对应于计算组件231(例如,Accum)的节点S1及S2上的信号(例如,电压信号)的波形图(例如,图式对应于相应数据值组合00、10、01、11)。下文关于与图2A中所展示的电路的AND操作相关联的伪码论述特定时序图波形。
可如下总结与将存储于耦合到行204-X的单元中的第一数据值加载(例如,复制)到累加器中相关联的伪码的实例:
将行X复制到累加器中:
对EQ撤销激活
开启行X
激发感测放大器(在此之后行X数据驻存于感测放大器中)
激活LOAD(感测放大器数据(行X)传送到累加器的节点S1及S2且动态地驻存于那里)
对LOAD撤销激活
关闭行X
预充电
在以上伪码中,“对EQ撤销激活”指示在如图5中所展示的t1处停用对应于感测放大器206的平衡信号(图5中所展示的EQ信号)(例如,使得互补数据线(例如,205-1(D)及205-2(D_)不再短接到VDD/2)。在停用平衡之后,启用(例如,例如通过激活信号以选择特定行而选择、开启)选定行(例如,行X),如伪码中的“开启行X”所指示且针对图5中的信号行X在t2处所展示。当施加到行X的电压信号达到对应于选定单元的存取晶体管(例如,202-2)的阈值电压(Vt)时,存取晶体管接通且将数据线(例如,205-2(D_))耦合到选定单元(例如,耦合到电容器203-2),此形成数据线之间的差分电压信号。
在启用(例如,激活)行X之后,在以上伪码中,“激发感测放大器”指示感测放大器206经启用以设定初级锁存器且随后经停用。举例来说,如图5中在t3处所展示,ACT正控制信号(例如,图2B中所展示的265)变高且RnIF负控制信号(例如,图2B中所展示的228)变低,此放大205-1(D)与D_205-2之间的差分信号,从而导致对应于逻辑1的电压(例如,VDD)或对应于逻辑0的电压(例如,GND)处于数据线205-1(D)上(且对应于另一逻辑状态的电压处于互补数据线205-2(D_)上)。所感测数据值存储于感测放大器206的初级锁存器中。在将数据线(例如,205-1(D)或205-2(D_))从平衡电压VDD/2充电到导轨电压VDD时发生初级能量消耗。
图5中所图解说明的四组可能感测放大器及累加器信号(例如,针对行X与行Y数据值的每一组合一组)展示数据线D及D_上的信号行为。行X数据值存储于感测放大器的初级锁存器中。应注意,图2A展示对应于行X的包含存储元件202-2的存储器单元耦合到互补数据线D_,而对应于行Y的包含存储元件202-1的存储器单元耦合到数据线D。然而,如图2A中可见,对应于“0”数据值的存储于存储器单元202-2(对应于行X)中的电荷致使数据线D_(存储器单元202-2耦合到其)上的电压变高且对应于“1”数据值的存储于存储器单元202-2中的电荷致使数据线D_上的电压变低,此与存储于耦合到数据线D的对应于行Y的存储器单元202-1中的数据状态与电荷之间对应性相反。当将数据值写入到相应存储器单元时适当地考虑将电荷存储于耦合到不同数据线的存储器单元中的这些差异。
在激发感测放大器之后,在以上伪码中,“激活LOAD”指示:LOAD控制信号变高,如图5中在t4处所展示,从而致使负载/通过晶体管218-1及218-2导通。以此方式,激活LOAD控制信号会启用计算组件231的累加器中的次级锁存器。存储于感测放大器206中的所感测数据值传送(例如,复制)到次级锁存器。如针对图5中所图解说明的四组可能感测放大器及累加器信号中的每一者所展示,累加器的次级锁存器的输入处的行为指示次级锁存器加载有行X数据值。如图5中所展示,累加器的次级锁存器可取决于先前存储于动态锁存器中的数据值而翻转(例如,参见针对行X=“0”及行Y=“0”及针对行X=“1”及行Y=“0”的累加器信号),或不翻转(例如,参见针对行X=“0”及行Y=“1”及针对行X=“1”及行Y=“1”的累加器信号)。
在依据存储于感测放大器中(且存在于数据线205-1(D)及205-2(D_)上)的数据值设定次级锁存器之后,在以上伪码中,“对LOAD撤销激活”指示:LOAD控制信号变回为低(如图5中在t5处所展示)以致使负载/通过晶体管218-1及218-2停止导通且借此隔离动态锁存器与互补数据线。然而,数据值保持动态地存储于累加器的次级锁存器中。
在将数据值存储于次级锁存器上之后,停用(例如通过对特定行的选择信号撤销激活而取消选择、关闭)选定行(例如,行X),如由“关闭行X”所指示且图5中在t6处所指示,可通过存取晶体管关断完成此操作以将选定单元从对应数据线解耦。一旦关闭选定行且隔离存储器单元与数据线,便可将数据线预充电,如以上伪码中的“预充电”所指示。可通过平衡操作完成数据线的预充电,如图5中由EQ信号在t7处变高所指示。如图5中在t7处所图解说明的四组可能感测放大器及累加器信号中的每一者中所展示,平衡操作致使数据线D及D_上的电压各自返回到VDD/2。可(例如)在存储器单元感测操作或逻辑操作(下文所描述)之前发生平衡。
与对第一数据值(现在存储于感测放大器206及计算组件231的次级锁存器中)及第二数据值(存储于耦合到行Y 204-Y的存储器单元202-1中)执行AND或OR操作相关联的后续操作阶段包含执行取决于将执行AND还是OR的特定步骤。下文总结与对驻存于累加器中的数据值(例如,存储于耦合到行X 204-X的存储器单元202-2中的第一数据值)及第二数据值(例如,存储于耦合到行Y 204-Y的存储器单元202-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撤销激活”指示停用对应于感测放大器206的平衡信号(例如,使得互补数据线205-1(D)及205-2(D_)不再短接到VDD/2),图5中在t8处图解说明此。在停用平衡之后,启用选定行(例如,行Y),如以上伪码中由“开启行Y”所指示且图5中在t9处所展示。当施加到行Y的电压信号达到对应于选定单元的存取晶体管(例如,202-1)的阈值电压(Vt)时,存取晶体管接通且将数据线(例如,D_205-1)耦合到选定单元(例如,电容器203-1),此形成数据线之间的差分电压信号。
在启用行Y之后,在以上伪码中,“激发感测放大器”指示:感测放大器206经启用以放大205-1(D)与205-2(D_)之间的差分信号,从而导致对应于逻辑1的电压(例如,VDD)或对应于逻辑0的电压(例如,GND)处于数据线205-1(D)上(且对应于另一逻辑状态的电压处于互补数据线205-2(D_)上)。如图5中在t10处所展示,ACT正控制信号(例如,图2B中所展示的265)变高且RnIF负控制信号(例如,图2B中展示的228)变低以激发感测放大器。来自存储器单元202-1的所感测数据值存储于感测放大器206的初级锁存器中,如先前所描述。次级锁存器仍对应于来自存储器单元202-2的数据值,因为动态锁存器未改变。
在从耦合到行Y的存储器单元202-1感测到的第二数据值存储于感测放大器206的初级锁存器中之后,在以上伪码中,“关闭行Y”指示:如果不期望将AND逻辑操作的结果往回存储于对应于行Y的存储器单元中,那么可停用选定行(例如,行Y)。然而,图5展示使行Y经启用使得可将逻辑操作的结果往回存储于对应于行Y的存储器单元中。可通过存取晶体管关断完成隔离对应于行Y的存储器单元以将选定单元202-1从数据线205-1(D)解耦。在选定行Y经配置(例如,以隔离存储器单元或不隔离存储器单元)之后,以上伪码中的“激活AND”指示:AND控制信号变高,如图5中在t11处所展示,从而致使通过晶体管207-1导通。以此方式,激活AND控制信号致使函数(例如,行X与行Y的AND操作)的值写入到感测放大器。
在第一数据值(例如,行X)存储于累加器231的动态锁存器中且第二数据值(例如,行Y)存储于感测放大器206中的情况下,如果计算组件231的动态锁存器含有“0”(即,节点S2上的电压对应于“0”且节点S1上的电压对应于“1”),那么感测放大器数据经写入为“0”(而不管先前存储于感测放大器中的数据值如何),因为在节点S1上对应于“1”的电压致使晶体管209-1导通借此经由晶体管209-1、通过晶体管207-1及数据线205-1(D)将感测放大器206耦合到接地。当AND操作的任一数据值是“0”时,结果是“0”。此处,当第二数据值(在动态锁存器中)是“0”时,AND操作的结果是“0”而不管第一数据值的状态如何,且因此感测电路的配置致使“0”结果经写入且最初存储于感测放大器206中。此操作使累加器中的数据值未改变(例如,来自行X)。
如果累加器的次级锁存器含有“1”(例如,来自行X),那么AND操作的结果取决于存储于感测放大器206中的数据值(例如,来自行Y)。如果存储于感测放大器206中的数据值(例如,来自行Y)是“1”,那么AND操作的结果也应是“1”,但如果存储于感测放大器206中的数据值(例如,来自行Y)是“0”,那么AND操作的结果也应是“0”。感测电路250经配置使得:如果累加器的动态锁存器含有“1”(即,节点S2上的电压对应于“1”且节点S1上的电压对应于“0”),那么晶体管209-1不导通,感测放大器不耦合到接地(如上文所描述),且先前存储于感测放大器206中的数据值保持未改变(例如,行Y数据值,因此如果行Y数据值是“1”,那么AND操作结果是“1”,且如果行Y数据值是“0”,那么AND操作结果是“0”)。此操作使累加器中的数据值未改变(例如,来自行X)。
在AND操作的结果最初存储于感测放大器206中之后,以上伪码中的“对AND撤销激活”指示:AND控制信号变低,如图5中在t12处所展示,从而致使通过晶体管207-1停止导通以隔离感测放大器206(及数据线205-1(D))与接地。如果先前未进行,那么可关闭行Y(如图5中在t13处所展示)且可停用感测放大器(如图5中在t14处通过ACT正控制信号变低且RnIF负控制信号变高所展示)。在隔离数据线的情况下,以上伪码中的“预充电”可通过平衡操作导致数据线的预充电,如先前所描述(例如,图5中所展示在t14处开始)。
在替代方案中,图5针对涉及可能操作数组合(例如,行X/行Y数据值00、10、01及11)中的每一者的AND逻辑操作展示耦合到感测放大器(例如,图2A中所展示的206)的数据线(例如,图2A中所展示的205-1(D)及205-2(D_))上的电压信号的行为及计算组件(例如,图2A中所展示的231)的次级锁存器的节点S1及S2上的电压信号的行为。
尽管图5中所图解说明的时序图及上文所描述的伪码指示在开始将第二操作数(例如,行Y数据值)加载到感测放大器中之后起始AND逻辑操作,但可通过在开始将第二操作数(例如,行Y数据值)加载到感测放大器中之前起始AND逻辑操作而成功地操作图2A中所展示的电路。
图6图解说明根据本发明的数个实施例的与使用感测电路执行数个逻辑操作相关联的时序图。图6图解说明与在开始将第二操作数(例如,行Y数据值)加载到感测放大器中之后起始OR逻辑操作相关联的时序图。图6图解说明第一与第二操作数数据值的各种组合的感测放大器及累加器信号。下文关于与图2A中所展示的电路的AND逻辑操作相关联的伪码论述特定时序图信号。
后续操作阶段可替代地与对第一数据值(现在存储于感测放大器206及计算组件231的次级锁存器中)及第二数据值(存储于耦合到行Y 204-Y的存储器单元202-1中)执行OR操作相关联。关于图6未重复先前关于图5中所展示的时间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撤销激活”(图6中在t8处所展示)、“开启行Y”(图6中在t9处所展示)、“激发感测放大器”(图6中在t10处所展示)及“关闭行Y”(图6中在t13处所展示,且此可在起始特定逻辑功能控制信号之前发生)指示与先前关于AND操作伪码所描述相同的功能性。一旦适当地配置选定行Y的配置(例如,如果逻辑操作结果将存储于对应于行Y的存储器单元中那么选定行Y经启用或如果逻辑操作结果将不存储于对应于行Y的存储器单元中那么选定行Y经关闭以隔离存储器单元),以上伪码中的“激活OR”便指示:OR控制信号变高(如图6中在t11处所展示),此致使通过晶体管207-2导通。以此方式,激活OR控制信号致使函数(例如,行X与行Y的OR操作)的值写入到感测放大器。
在第一数据值(例如,行X)存储于计算组件231的次级锁存器中且第二数据值(例如,行Y)存储于感测放大器206中的情况下,如果累加器的动态锁存器含有“0”(即,节点S2上的电压对应于“0”且节点S1上的电压对应于“1”),那么OR操作的结果取决于存储于感测放大器206中的数据值(例如,来自行Y)。如果存储于感测放大器206中的数据值(例如,来自行Y)是“1”,那么OR操作的结果应是“1”,但如果存储于感测放大器206中的数据值(例如,来自行Y)是“0”,那么OR操作的结果也应是“0”。感测电路250经配置使得:如果累加器的动态锁存器含有“0”(其中节点S2上的电压对应于“0”),那么晶体管209-2关断且不导通(且通过晶体管207-1还关断,因为AND控制信号未经断言),因此感测放大器206不耦合到接地(任侧),且先前存储于感测放大器206中的数据值保持未改变(例如,行Y数据值,使得如果行Y数据值是“1”那么OR操作结果是“1”,且如果行Y数据值是“0”那么OR操作结果是“0”)。
如果累加器的动态锁存器含有“1”(即,节点S2上的电压对应于“1”且节点S1上的电压对应于“0”),那么晶体管209-2导通(通过晶体管207-2同样导通,因为OR控制信号经断言),且耦合到数据线205-2(D_)的感测放大器206输入耦合到接地,因为在节点S2上对应于“1”的电压致使晶体管209-2连同通过晶体管207-2(其也导通,因为OR控制信号经断言)导通。以此方式,当累加器的次级锁存器含有“1”时将“1”作为OR操作的结果最初存储于感测放大器206中而不管先前存储于感测放大器中的数据值如何。此操作使累加器中的数据未改变。在替代方案中,图6针对涉及可能操作数组合(例如,行X/行Y数据值00、10、01及11)中的每一者的OR逻辑操作展示耦合到感测放大器(例如,图2A中所展示的206)的数据线(例如,图2A中所展示的205-1(D)及205-2(D_))上的电压信号的行为及计算组件231的次级锁存器的节点S1及S2上的电压信号的行为。
在OR操作的结果最初存储于感测放大器206中之后,以上伪码中的“对OR撤销激活”指示:OR控制信号变低(如图6中在t12处所展示),从而致使通过晶体管207-2停止导通以隔离感测放大器206(及数据线D 205-2)与接地。如果先前未进行,那么可关闭行Y(如图6中在t13处所展示)且可停用感测放大器(如图6中在t14处通过ACT正控制信号变低且RnIF负控制信号变高所展示)。在隔离数据线的情况下,以上伪码中的“预充电”可通过平衡操作导致数据线的预充电,如先前所描述及图6中在t14处所展示。
图2A中所图解说明的感测电路250可如下提供额外逻辑操作灵活性。通过在上文所描述的AND及OR操作中用ANDinv控制信号的操作替代AND控制信号的操作及/或用ORinv控制信号的操作替代OR控制信号的操作,逻辑操作可从{Row X AND Row Y}改变为{~RowX AND Row Y}(其中“~ROW X”指示与行X数据值的对立面,例如,NOT行X)且可从{ROW X ORROW Y}改变为{~ROW X OR ROW Y}。举例来说,在涉及反转数据值的AND操作期间,可断言ANDinv控制信号而非AND控制信号,且在涉及反转数据值的OR操作期间,可断言ORInv控制信号而非OR控制信号。激活ORinv控制信号致使晶体管214-1导通且激活ANDinv控制信号致使晶体管214-2导通。在每一情形中,断言适当的反转控制信号可使感测放大器翻转且致使最初存储于感测放大器206中的结果为使用反转行X及真实行Y数据值的AND操作的结果或使用反转行X及真实行Y数据值的OR操作的结果。一个数据值的真实或互补版本可在累加器中用于(举例来说)通过首先加载将反转的数据值且其次加载将不反转的数据值而执行逻辑操作(例如,AND、OR)。
在类似于上文关于使上文所描述的AND及OR操作的数据值反转所描述的方法中,图2A中所展示的感测电路可通过将非反转数据值置于累加器的动态锁存器中且使用所述数据来使感测放大器206中的数据值反转而执行NOT(例如,反转)操作。如先前所提及,激活ORinv控制信号致使晶体管214-1导通且激活ANDinv控制信号致使晶体管214-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数据加载到感测放大器206中且复制到动态锁存器中之后关闭行X及预充电,而是可将累加器的动态锁存器中的数据值的互补版本置于数据线上且因此通过启用(例如,致使晶体管导通)及停用反相晶体管(例如,ANDinv及ORinv)而传送到感测放大器206。此导致感测放大器206从先前存储于感测放大器中的真实数据值翻转到存储于感测放大器中的互补数据值(例如,反转数据值)。即,可通过激活及撤销激活ANDinv及ORinv而将累加器中的数据值的真实或互补版本传送到感测放大器。此操作使累加器中的数据未改变。
由于图2A中所展示的感测电路250将AND、OR及NOT逻辑操作的结果最初存储于感测放大器206中(例如,感测放大器节点上),因此这些逻辑操作结果可容易地且迅速地传达到任一经启用行(在完成逻辑操作之后激活任一行)及/或传达到计算组件231的次级锁存器中。还可通过在感测放大器206激发之前适当激发AND、OR、ANDinv及/或ORinv控制信号(及具有耦合到特定控制信号的栅极的对应晶体管的操作)而互换用于AND、OR及/或NOT逻辑操作的感测放大器206及定序。
当以此方式执行逻辑操作时,感测放大器206可预种有来自累加器的动态锁存器的数据值以减少所利用的总体电流,因为当累加器函数复制到感测放大器206时感测放大器206未处于全轨电压(例如,供应电压或接地/参考电压)。关于经预种感测放大器206的操作序列将数据线中的一者驱迫到参考电压(从而使互补数据线处于VDD/2)或使互补数据线未改变。当感测放大器206激发时,感测放大器206将相应数据线拉到全轨。使用此操作序列将对经启用行中的数据重写。
可通过使用传统DRAM隔离(ISO)方案将两个相邻数据线互补对多路复用(“多路复用传输”)而完成SHIFT操作。根据本发明的实施例,移位电路223可用于使存储于耦合到特定互补数据线对的存储器单元中的数据值移位到对应于不同互补数据线对的感测电路250(例如,感测放大器206)(例如,例如对应于左或右邻近互补数据线对的感测放大器206)。如本文中所使用,感测放大器206对应于在隔离晶体管221-1及221-2导通时感测放大器耦合到的互补数据线对。SHIFT操作(向右或向左)不将行X数据值预复制到累加器中。可如下总结用以使行X向右移位的操作:
对Norm撤销激活且激活Shift
对EQ撤销激活
开启行X
激发感测放大器(在此之后经移位行X数据驻存于感测放大器中)
激活Norm且对Shift撤销激活
关闭行X
预充电
在以上伪码中,“对Norm撤销激活且激活Shift”指示:NORM控制信号变低,从而致使移位电路223的隔离晶体管221-1及221-2不导通(例如,隔离感测放大器与对应互补数据线对)。SHIFT控制信号变高,从而致使隔离晶体管221-3及221-4导通,借此将感测放大器206耦合到左邻近互补数据线对(例如,针对左邻近互补数据线对在非导通隔离晶体管221-1及221-2的存储器阵列侧上)。
在配置移位电路223之后,以上伪码中所展示的“对EQ撤销激活”、“开启行X”及“激发感测放大器”指示与在用于AND操作及OR操作的伪码之前的上文所描述的用于“将行X复制到累加器中”初始操作阶段的伪码中的相同操作相同的功能性。在这些操作之后,耦合到左邻近互补数据线对的存储器单元的行X数据值向右移位且存储于感测放大器206中。
在以上伪码中,“激活Norm且对Shift撤销激活”指示:NORM控制信号变高,从而致使移位电路223的隔离晶体管221-1及221-2导通(例如,将感测放大器耦合到对应互补数据线对),且SHIFT控制信号变低,从而致使隔离晶体管221-3及221-4不导通且隔离感测放大器206与左邻近互补数据线对(例如,针对左邻近互补数据线对在非导通隔离晶体管221-1及221-2的存储器阵列侧上)。由于行X仍在作用中,因此已向右移位的行X数据值通过隔离晶体管221-1及221-2传送到对应互补数据线对的行X。
在行X数据值向右移位到对应互补数据线对之后,停用选定行(例如,行X),如以上伪码中的“关闭行X”所指示,可通过存取晶体管关断完成此操作以将选定单元从对应数据线解耦。一旦关闭选定行且隔离存储器单元与数据线,便可将数据线预充电,如以上伪码中的“预充电”所指示。可通过平衡操作完成数据线的预充电,如上文所描述。可如下总结用以使行X向左移位的操作:
激活Norm且对Shift撤销激活
对EQ撤销激活
开启行X
激发感测放大器(在此之后行X数据驻存于感测放大器中)
对Norm撤销激活且激活Shift
将感测放大器数据(向左移位的行X)传送到行X
关闭行X
预充电
在以上伪码中,“激活Norm且对Shift撤销激活”指示:NORM控制信号变高,从而致使移位电路223的隔离晶体管221-1及221-2导通,且SHIFT控制信号变低,从而致使隔离晶体管221-3及221-4不导通。此配置将感测放大器206耦合到对应互补数据线对且隔离感测放大器与右邻近互补数据线对。
在配置移位电路之后,以上伪码中所展示的“对EQ撤销激活”、“开启行X”及“激发感测放大器”指示与在用于AND操作及OR操作的伪码之前的上文所描述的用于“将行X复制到累加器中”初始操作阶段的伪码中的相同操作相同的功能性。在这些操作之后,将耦合到对应于感测电路250的互补数据线对的存储器单元的行X数据值存储于感测放大器206中。
在以上伪码中,“对Norm撤销激活且激活Shift”指示:NORM控制信号变低,从而致使移位电路223的隔离晶体管221-1及221-2不导通(例如,隔离感测放大器与对应互补数据线对),且SHIFT控制信号变高,从而致使隔离晶体管221-3及221-4导通,从而将感测放大器耦合到左邻近互补数据线对(例如,针对左邻近互补数据线对在非导通隔离晶体管221-1及221-2的存储器阵列侧上)。由于行X仍在作用中,因此已向左移位的行X数据值传送到左邻近互补数据线对的行X。
在行X数据值向左移位到左邻近互补数据线对之后,停用选定行(例如,行X),如由“关闭行X”所指示,此可通过存取晶体管关断完成以将选定单元从对应数据线解耦。一旦关闭选定行且隔离存储器单元与数据线,便可将数据线预充电,如以上伪码中的“预充电”所指示。可通过平衡操作完成数据线的预充电,如上文所描述。
根据各种实施例,举例来说,可在存储器中处理器(PIM)装置的存储器阵列核心(例如DRAM每存储器单元一个晶体管(例如,1T1C)配置,为6F^2或4F^2存储器单元大小)中实现通用计算。本文中所描述的设备及方法的优点并非是就单个指令速度实现,而是就可通过在不将数据传送出存储器阵列(例如,DRAM)或激发列解码的情况下并行计算整个数据库而达成的累积速度来实现。换句话说,可消除数据传送时间。举例来说,本发明的设备可使用耦合到数据线(例如,16K存储器单元列)的存储器单元中的数据值同时执行AND或OR。
在其中移出数据以用于逻辑操作处理(例如,使用32或64位寄存器)的先前方法感测电路中,可并行执行与本发明的设备相比较较少的操作。以此方式,与涉及与存储器离散的中央处理单元(CPU)使得数据必须在其之间传送的常规配置相比较,有效地提供显著较高吞吐量。根据本发明的设备及/或方法还可使用少于其中CPU与存储器离散的配置的能量/面积。此外,本发明的设备及/或方法可对较小能量/面积优点进行改善,因为存储器中阵列逻辑操作通过消除某些数据值传送而节省能量。
图7图解说明根据本发明的数个实施例的与使用感测电路执行数个逻辑操作相关联的时序图。下文描述关于执行逻辑操作且将结果最初存储于计算组件231(例如,累加器的次级锁存器)中的图2A的感测电路250的功能性。图7中所展示的时序图图解说明与使用图2A中所图解说明的感测电路执行逻辑操作(例如,R输入逻辑操作)的第一操作阶段相关联的信号(例如,电压信号)。例如,关于图7所描述的第一操作阶段可为AND、NAND、OR或NOR操作的第一操作阶段。执行图7中所图解说明的操作阶段可涉及消耗显著少于先前处理方法的能量(例如,为大约一半),先前处理方法可涉及提供电压轨之间(例如,供应与接地之间)的全摆动。
在图7中所图解说明的实例中,对应于互补逻辑值(例如,“1”及“0”)的电压轨是供应电压(VDD)及参考电压(例如,接地(Gnd))。在执行逻辑操作之前,可发生平衡使得互补数据线D及D_在平衡电压(VDD/2)下短接在一起,如先前所描述。
下文所描述的逻辑操作的第一操作阶段涉及将逻辑操作的第一操作数加载到累加器中。图7中所展示的时间参考(例如,t1等)未必表示与其它时序图中的类似时间参考相同的绝对或相对时间。
在时间t1处,对平衡信号726撤销激活,且然后启用选定行(例如,对应于其数据值将经感测且用作第一输入的存储器单元的行)。信号704-0表示施加到选定行(例如,图2A中所展示的行Y 204-Y)的电压信号。当行信号704-0达到对应于选定单元的存取晶体管(例如,图2A中所展示的202-1)的阈值电压(Vt)时,存取晶体管接通且将数据线D耦合到选定存储器单元(例如,如果单元是1T1C DRAM单元,那么耦合到图2A中所展示的电容器203-1),此在时间t2与t3之间形成数据线D与D_之间的差分电压信号(例如,如分别由数据线上的信号705-1及705-2所指示)。由信号703表示选定单元的电压。由于能量守恒,形成数据线D与D_之间的差分信号(例如,通过将单元耦合到数据线D)不消耗能量,因为可在耦合到行的多个存储器单元内摊还与启用/停用行信号704-0相关联的能量。
在时间t3处,激活感测放大器(例如,图2A中所展示的206)(例如,正控制信号765(例如,对应于图2B中所展示的ACT 265)变高,且负控制信号728(例如,对应于图2B中所展示的RnIF 228)变低),此放大数据线D与D_之间的差分信号,从而导致对应于逻辑“1”的电压(例如,VDD)或对应于逻辑“0”的电压(例如,接地)处于数据线D上(且另一电压处于互补数据线D_上),使得所感测数据值存储于感测放大器206的初级锁存器中。在将数据线D(205-1)从平衡电压VDD/2充电到导轨电压VDD时发生初级能量消耗。图7展示在实例中对应于逻辑“1”的数据线电压705-1及705-2处于数据线D上。
根据一些实施例,感测放大器206的初级锁存器可通过相应通过晶体管耦合到互补数据线D及D_(图2B中未展示,但呈与锁存器264通过图2A中所展示的负载/通过晶体管218-1及218-2耦合到数据线D及D_的方式类似的配置)。Passd控制信号711控制一个通过晶体管。Passdb控制信号控制另一通过晶体管,且此处Passdb控制信号可在此处表现得与Passd控制信号相同。
在时间t4处,可启用通过晶体管(如果存在)(例如,经由施加到耦合到通过晶体管的相应栅极的控制线的相应Passd及Passdb控制信号711变高)。在时间t5处,经由图2A中所展示的相应控制线212-1及212-2激活累加器正控制信号712-1(例如,Accumb)及累加器正控制信号712-2(例如,Accum)。如下文所描述,累加器控制信号ACCUMB 712-1及ACCUM 712-2可针对后续操作阶段保持激活。如此,在此实例中,激活控制信号ACCUMB 712-1及ACCUM712-2会启用图2A中所展示的计算组件231-6的次级锁存器(例如,累加器)。存储于感测放大器206中的所感测数据值传送(例如,复制)到次级锁存器,包含动态锁存器及锁存器264。
在时间t6处,Passd控制信号711(及Passdb控制信号)变低借此关断通过晶体管(如果存在)。然而,由于累加器控制信号ACCUMB 712-1及ACCUM 712-2保持激活,因此经累加结果存储(例如,锁存)于次级锁存器(例如,累加器)中。在时间t7处,对行信号704-0撤销激活,且在时间t8处停用阵列感测放大器(例如,对感测放大器控制信号728及765撤销激活)。
在时间t9处,数据线D及D_是平衡的(例如,激活平衡信号726),如由从其相应轨值移动到平衡电压(VDD/2)的数据线电压信号705-1及705-2所图解说明。所述平衡由于能量守恒定律而消耗极少能量。如下文与图2B相关联地所描述,在此实例中,平衡可涉及使互补数据线D与D_在是VDD/2的平衡电压下短接在一起。例如,可在存储器单元感测操作之前发生平衡。
图8及9分别图解说明根据本发明的数个实施例的与使用感测电路执行数个逻辑操作相关联的时序图。图8及9中所展示的时序图图解说明与执行逻辑操作(例如,R输入逻辑操作)的数个中间操作阶段相关联的信号(例如,电压信号)。例如,图8中所展示的时序图对应于R输入NAND操作或R输入AND操作的数个中间操作阶段,且图9中所展示的时序图对应于R输入NOR操作或R输入OR操作的数个中间操作阶段。举例来说,执行AND或NAND操作可包含继例如关于图7所描述的初始操作阶段之后执行图8中所展示的操作阶段一或多次。类似地,执行OR或NOR操作可包含继例如关于图7所描述的初始操作阶段之后执行关于图9所展示及所描述的操作阶段一或多次。
如图8及9中所图解说明的时序图中所展示,在时间t1处,停用平衡(例如,对平衡信号826/926撤销激活),且然后启用选定行(例如,对应于其数据值将经感测且用作例如第二输入、第三输入等的输入的存储器单元的行)。信号804-1/904-1表示施加到选定行(例如,图2A中所展示的行Y 204-Y)的电压信号。当行信号804-1达到对应于选定单元的存取晶体管(例如,图2A中所展示的202-1)的阈值电压(Vt)时,存取晶体管接通且将数据线D耦合到选定存储器单元(例如,如果单元是1T1C DRAM单元,那么耦合到电容器203-1),此在时间t2与t3之间形成数据线D与D_之间的差分电压信号(例如,如分别由信号805-1/905-1及805-2/905-2所指示)。由信号803/903表示选定单元的电压。由于能量守恒,形成D与D_之间的差分信号(例如,通过将单元耦合到数据线D)可不消耗能量,因为可在耦合到行的多个存储器单元内摊还与激活/撤销激活行信号804-1/904-1相关联的能量。
在时间t3处,启用感测放大器(例如,图2A中所展示的206)(例如,正控制信号865/965(例如,对应于图2B中所展示的ACT 233)变高,且负控制信号828/928(例如,图2B中所展示的RnIF 228)变低),此放大D与D_之间的差分信号,从而导致对应于逻辑1的电压(例如,VDD)或对应于逻辑0的电压(例如,接地)处于数据线D上(且另一电压处于互补数据线D_上),使得所感测数据值存储于感测放大器206的初级锁存器中。在将数据线D(205-1)从平衡电压VDD/2充电到导轨电压VDD时发生初级能量消耗。
如图8及9中所图解说明的时序图中所展示,在时间t4处(例如,在感测到选定单元之后),取决于特定逻辑操作而激活图8中所展示的控制信号811-1(Passd)及图9中所展示的控制信号911-2(Passdb)中的仅一者(例如,启用通过晶体管中的仅一者(如果存在))。举例来说,由于图8中所图解说明的时序图对应于NAND或AND操作的中间阶段,因此在时间t4处激活控制信号811-1(Passd)以接通将初级锁存器耦合到数据线D的通过晶体管,且Passdb控制信号保持撤销激活从而使将初级锁存器耦合到数据线D_的通过晶体管关断。相反地,由于图9中所图解说明的时序图对应于NOR或OR操作的中间阶段,因此在时间t4处激活控制信号911-2(Passdb)以接通将初级锁存器耦合到数据线D_的通过晶体管,且控制信号Passd保持撤销激活从而使将初级锁存器耦合到数据线D的通过晶体管关断。从上文回想:累加器控制信号712-1(Accumb)及712-2(Accum)在关于图7所描述的初始操作阶段期间经激活,且其在中间操作阶段期间保持激活。
由于先前启用累加器,因此仅激活Passd(如图8中所展示的811-1)导致累加对应于图8中所展示的电压信号805-1(对应于数据线D)的数据值。类似地,仅激活Passdb(如图9中所展示的911-2)导致累加对应于电压信号905-2(对应于数据线D_)的数据值。例如,在图8中所图解说明的时序图中所展示的实例AND/NAND操作(其中仅激活Passd(811-1))中,如果存储于第二选定存储器单元中的数据值是逻辑“0”,那么与次级锁存器相关联的经累加值经断言为低使得次级锁存器存储逻辑“0”。如果存储于第二选定存储器单元中的数据值并非逻辑“0”,那么次级锁存器保持其所存储第一选定存储器单元数据值(例如,逻辑“1”或逻辑“0”)。如此,在此AND/NAND操作实例中,次级锁存器正用作零(0)累加器。
类似地,在图9中所图解说明的时序图中所展示的实例OR/NOR操作(其中仅激活Passdb 911-2)中,如果存储于第二选定存储器单元中的数据值是逻辑“1”,那么与次级锁存器相关联的经累加值经断言为高使得次级锁存器存储逻辑“1”。如果存储于第二选定存储器单元中的数据值并非逻辑“1”,那么次级锁存器保持其所存储第一选定存储器单元数据值(例如,逻辑“1”或逻辑“0”)。如此,在此OR/NOR操作实例中,次级锁存器正有效地用作一(1)累加器,因为D_上的电压信号905-2正设定累加器的真实数据值。
在例如图8或9中所展示的中间操作阶段结束时,对Passd信号811-1(例如,用于AND/NAND)或Passdb信号911-2(例如,用于OR/NOR)撤销激活(例如,在时间t5处),停用选定行(例如,在时间t6处),停用感测放大器(例如,在时间t7处),且发生平衡(例如,在时间t8处)。可重复例如图8或9中所图解说明的中间操作阶段以便累加来自数个额外行的结果。作为实例,图8及/或9中所图解说明的时序图的序列可针对第三存储器单元经执行后续(例如,第二)次,针对第四存储器单元经执行后续(例如,第三)次等。例如,针对10输入NOR操作,图9中所展示的中间阶段可发生9次以提供10输入逻辑操作的9个输入,其中在初始操作阶段(例如,如关于图7所描述)期间确定第十输入。
图10图解说明根据本发明的数个实施例的与使用感测电路执行数个逻辑操作相关联的时序图。图10中所图解说明的时序图展示与执行逻辑操作(例如,R输入逻辑操作)的最后操作阶段相关联的信号(例如,电压信号)。例如,图10中所图解说明的时序图对应于R输入AND操作或R输入OR操作的最后操作阶段。
举例来说,执行R输入的最后操作阶段可包含继与图8及/或9相关联地描述的中间操作阶段的数个迭代之后执行图10中所展示的操作阶段。下文所展示的表2指示根据本文中所描述的数个实施例的对应于与执行数个R输入逻辑操作相关联的操作阶段序列的各图。
操作 图7 图8 图9 图10
AND 第一阶段 R-1个迭代 最后阶段
NAND 第一阶段 R-1个迭代
OR 第一阶段 R-1个迭代 最后阶段
NOR 第一阶段 R-1个迭代
表2
可(举例来说)通过以下操作实施NAND操作:将AND操作的R-1个迭代的结果存储于感测放大器中,然后使感测放大器在进行最后操作阶段之前反转以存储结果(下文所描述)。可(举例来说)通过以下操作实施NOR操作:将OR操作的R-1个迭代的结果存储于感测放大器中,然后使感测放大器在进行最后操作阶段之前反转以存储结果(下文所描述)。
与将R输入逻辑操作的结果存储到阵列(例如,图2A中所展示的阵列230)的行相关联地描述图10的时序图中所图解说明的最后操作阶段。然而,如上文所描述,在数个实施例中,可将结果存储到除往回到阵列以外的适合位置(例如,经由I/O线存储到与控制器及/或主机处理器相关联的外部寄存器、存储到不同存储器装置的存储器阵列等)。
如图10中所图解说明的时序图中所展示,在时间t1处,停用平衡(例如,对平衡信号1026撤销激活)使得数据线D及D_浮动。在时间t2处,激活Passd控制信号1011(及Passdb信号)以用于AND或OR操作。
激活Passd控制信号1011(及Passdb信号)(例如,与AND或OR操作相关联)将存储于图2A中所展示的计算组件231-6的次级锁存器中的所累加输出传送到感测放大器206的初级锁存器。例如,针对AND操作,如果在先前操作阶段(例如,图7中所图解说明的第一操作阶段及图8中所图解说明的中间操作阶段的一或多个迭代)中感测的存储器单元中的任何者存储逻辑“0”(例如,如果AND操作的R输入中的任何者是逻辑“0”),那么数据线D_将携载对应于逻辑“1”的电压(例如,VDD)且数据线D将携载对应于逻辑“0“的电压(例如,接地)。针对此AND操作实例,如果在先前操作阶段中感测的所有存储器单元存储逻辑“1”(例如,AND操作的所有R输入是逻辑“1”),那么数据线D_将携载对应于逻辑“0”的电压且数据线D将携载对应于逻辑“1”的电压。在时间t3处,然后启用感测放大器206的初级锁存器(例如,正控制信号1065(例如,对应于图2B中所展示的ACT 265)变高且负控制信号1028(例如,对应于图2B中所展示的RnIF 228)变低),此放大数据线D与D_之间的差分信号使得数据线D现在携载相应输入数据值的经AND操作结果(如从在先前操作阶段期间感测的存储器单元确定)。如此,如果输入数据值中的任何者是逻辑“0”,那么数据线D将处于接地,且如果所有输入数据值是逻辑“1”,那么数据线D将处于VDD
针对OR操作,如果在先前操作阶段(例如,图7的第一操作阶段及图9中所展示的中间操作阶段的一或多个迭代)中感测的存储器单元中的任何者存储逻辑“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逻辑操作的结果然后可往回存储到图2A中所展示的阵列230的存储器单元。在图10中所展示的实例中,R输入逻辑操作的结果存储到耦合到经启用的最后行(例如,最后逻辑操作操作数的行)的存储器单元。将逻辑操作的结果存储到存储器单元仅仅涉及通过启用特定行而启用相关联行存取晶体管。存储器单元的电容器将经驱动到对应于数据线D上的数据值(例如,逻辑“1”或逻辑“0”)的电压,此本质上对先前存储于选定存储器单元中的任何数据值重写。应注意,选定存储器单元可为存储用作逻辑操作的输入的数据值的同一存储器单元。例如,逻辑操作的结果可往回存储到存储逻辑操作的操作数的存储器单元。
图10中所图解说明的时序图展示在时间t3处对正控制信号1065及负控制信号1028撤销激活(例如,信号1065变高且信号1028变低)以停用图2A中所展示的感测放大器206。在时间t4处,对在时间t2处激活的Passd控制信号1011(及Passdb信号)撤销激活。实施例并不限于此实例。例如,在数个实施例中,可继时间t4之后(例如,在对Passd控制信号1011(及Passdb信号)撤销激活之后)启用图2A中所展示的感测放大器206。
如图10中所展示,在时间t5处,启用选定行(例如,通过行激活信号1004变高),此将选定单元的电容器驱动到对应于存储于累加器中的逻辑值的电压。在时间t6处,停用选定行。在时间t7处,停用图2A中所展示的感测放大器206(例如,对正控制信号1065及负控制信号1065撤销激活),且在时间t8处发生平衡(例如,激活信号1026且使互补数据线1005-1(D)及1005-2(D_)上的电压变为平衡电压)。
尽管上文关于图10论述执行R输入的最后操作阶段的实例以用于执行AND及OR逻辑操作,但实施例不限于这些逻辑操作。举例来说,NAND及NOR操作还可涉及使用控制信号操作图2A中所图解说明的感测电路来往回存储到阵列230的存储器单元的R输入的最后操作阶段。
图11是图解说明根据本发明的数个实施例的具有可选择逻辑操作选择逻辑的感测电路的示意图。图11展示耦合到一对互补感测线1105-1及1105-2的感测放大器1106及经由通过门1107-1及1107-2耦合到感测放大器1106的计算组件1131。通过门1107-1及1107-2的栅极可由可从逻辑操作选择逻辑1113-5输出的逻辑操作选择逻辑信号PASS控制。图11展示标记为“A”的计算组件1131及标记为“B”的感测放大器1106以指示存储于计算组件1131中的数据值是“A”数据值且存储于感测放大器1106中的数据值是“B”数据值,关于图12所图解说明的逻辑表中所展示。
图11中所图解说明的感测电路1150包含逻辑操作选择逻辑1113-5。在此实例中,逻辑1113-5包括由逻辑操作选择逻辑信号PASS*控制的交换门1142。逻辑操作选择逻辑1113-5还包括四个逻辑选择晶体管:逻辑选择晶体管1162,其耦合于交换晶体管1142的栅极与TF信号控制线之间;逻辑选择晶体管1152,其耦合于通过门1107-1及1107-2的栅极与TT信号控制线之间;逻辑选择晶体管1154,其耦合于通过门1107-1及1107-2的栅极与FT信号控制线之间;及逻辑选择晶体管1164,其耦合于交换晶体管1142的栅极与FF信号控制线之间。逻辑选择晶体管1162及1152的栅极通过隔离晶体管1181-1(具有耦合到ISO信号控制线的栅极)耦合到真实感测线(例如,1105-1),且逻辑选择晶体管1164及1154的栅极通过隔离晶体管1181-2(也具有耦合到ISO信号控制线的栅极)耦合到互补感测线(例如,1105-2)。
逻辑选择晶体管1152及1154分别类似于如图2A中所展示的晶体管207-1(耦合到AND信号控制线)及晶体管207-2(耦合到OR信号控制线)而布置。逻辑选择晶体管1152及1154的操作基于TT及FT选择信号的状态及在断言ISO信号时相应互补感测线上的数据值而是类似的。逻辑选择晶体管1162及1164还以类似方式操作以控制交换晶体管1142的连续性。即,为开启(OPEN,例如,接通)交换晶体管1142,在真实感测线上的数据值为“1”的情况下激活TF控制信号(例如,为高),或在互补感测线上的数据值为“1”的情况下激活FF控制信号(例如,为高)。如果对应感测线(例如,特定逻辑选择晶体管的栅极耦合到的感测线)上的相应控制信号或数据值并非高的,那么交换晶体管1142将不由特定逻辑选择晶体管开启。
PASS*控制信号未必与PASS控制信号互补。例如,可能同时激活PASS及PASS*控制信号两者或对所述两者撤销激活。然而,同时激活PASS及PASS*控制信号两者使互补感测线对短接在一起,此可为待避免的破坏性配置。图12中所图解说明的逻辑表中总结图11中所图解说明的感测电路的逻辑操作结果。
图12是图解说明根据本发明的数个实施例的可由图11中所展示的感测电路实施的可选择逻辑操作结果的逻辑表。四个逻辑选择控制信号(例如,TF、TT、FT及FF)联合存在于互补感测线上的特定数据值可用于选择多个逻辑操作中的一者来实施涉及存储于感测放大器1106及计算组件1131中的开始数据值。所述四个控制信号联合存在于互补感测线上的特定数据值控制通过门1107-1及1107-2以及交换晶体管1142的连续性,此又在激发之前/之后影响计算组件1131及/或感测放大器1106中的数据值。选择性地控制交换晶体管1142的连续性的能力促进实施涉及反转数据值(例如,反转操作数及/或反转结果)的逻辑操作以及其它。
图12中所图解说明的逻辑表展示1244处的栏A中所展示的存储于计算组件1131中的开始数据值及1245处的栏B中所展示的存储于感测放大器1106中的开始数据值。图12的逻辑表中的其它3个顶栏标题(未开启(NOT OPEN)、开启真实(OPEN TRUE)及开启反转(OPENINVERT))是指通过门1107-1及1107-2以及交换晶体管1142的连续性,通过门1107-1及1107-2以及交换晶体管1142可分别取决于在断言ISO控制信号时四个逻辑选择控制信号(例如,TF、TT、FT及FF)的状态联合存在于互补感测线对1105-1及1105-2上的特定数据值而经控制为开启或关闭。“未开启”栏对应于通过门1107-1及1107-2以及交换晶体管1142两者均处于非导通状况中,“开启真实”对应于通过门1107-1及1107-2处于导通状况中,且“开启反转”对应于交换晶体管1142处于导通状况中。图12的逻辑表中未反映对应于通过门1107-1及1107-2以及交换晶体管1142两者均处于导通状况中的配置,因为此配置导致感测线短接在一起。
经由通过门1107-1及1107-2以及交换晶体管1142的连续性的选择性控制,图12的逻辑表的上部部分的第一组两行的三个栏中的每一者可与在第一组下面的第二组两行的三个栏中的每一者组合以提供对应于九个不同逻辑操作的3×3=9个不同结果组合,如由1275处所展示的各种连接路径所指示。图12中所图解说明的逻辑表中总结可由感测电路1150实施的九个不同可选择逻辑操作。
图12中所图解说明的逻辑表的下部部分的栏展示包含逻辑选择控制信号的状态的标题1280。举例来说,第一逻辑选择控制信号的状态提供于行1276中,第二逻辑选择控制信号的状态提供于行1277中,第三逻辑选择控制信号的状态提供于行1278中,且第四逻辑选择控制信号的状态提供于行1279中。行1247中总结对应于结果的特定逻辑操作。
如此,图11中所展示的感测电路可用于执行如图12中所展示的各种逻辑操作。举例来说,根据本发明的数个实施例,可操作感测电路1150以执行与比较存储器中的数据模式相关联的各种逻辑操作(例如,AND及OR逻辑操作)。
本发明包含与在存储器中执行比较操作有关的设备及方法。实例设备可包含耦合到第一存取线的第一存储器单元群组。第一元素可存储于所述第一存储器单元群组中。实例设备可包含耦合到第二存取线的第二存储器单元群组。第二元素可存储于所述第二存储器单元群组中。实例设备还可包含感测电路,所述感测电路经配置以通过在不经由输入/输出(I/O)线传送数据的情况下执行数个AND操作、OR操作、SHIFT操作及INVERT操作而将所述第一元素与所述第二元素进行比较。
尽管本文中已图解说明及描述了具体实施例,但所属领域的技术人员将了解,旨在实现相同结果的布置可替代所展示的具体实施例。本发明打算涵盖本发明的一或多个实施例的更改或变化。应理解,已以说明性方式而非限定性方式做出以上描述。在审阅以上描述后,所属领域的技术人员将明了以上实施例的组合及本文中未具体描述的其它实施例。本发明的一或多个实施例的范围包含其中使用以上结构及方法的其它应用。因此,本发明的一或多个实施例的范围应参考所附权利要求书连同授权此权利要求书的等效内容的全部范围来确定。
在前述实施方式中,出于简化本发明的目的,将一些特征一起集合于单个实施例中。本发明的此方法不应解释为反映本发明的所揭示实施例必须使用比明确陈述于每一权利要求中更多的特征的意图。而是,如所附权利要求书反映:发明性标的物在于少于单个所揭示实施例的所有特征。因此,特此将所附权利要求书并入到实施方案中,其中每一权利要求独立地作为单独实施例。

Claims (20)

1.一种用于比较元素的设备,其包括:
第一存储器单元群组(303-0到303-J),其耦合到第一存取线(204-X、204-Y、304-0到304-R)且经配置以存储第一元素(488);
第二存储器单元群组(303-0到303-J),其耦合到第二存取线(204-X、204-Y、304-0到304-R)且经配置以存储第二元素(490);及
控制器(140),其经配置以使用感测电路(150、250、306-0到306-U、331-0到331-X)以通过在不经由输入/输出I/O线(334)传送数据的情况下执行数个AND操作、OR操作、SHIFT操作及INVERT操作而将所述第一元素(488)与所述第二元素(490)进行比较;以及
将所述第一元素和所述第二元素比较的结果存储于耦合到第三存取线的第三存储器单元群组中。
2.根据权利要求1所述的设备,其中执行所述数个AND操作、OR操作、INVERT操作及SHIFT操作包括在不执行感测线地址存取的情况下执行所述数个AND操作、OR操作、INVERT操作及SHIFT操作。
3.根据权利要求2所述的设备,其进一步包括使用按与对应于所述第一及第二存储器单元群组(303-0到303-J)的数个互补感测线(205-1、205-2、305-0到305-S)列相同的间距的感测电路(150、250、306-0到306-U、331-0到331-X)来执行所述数个AND操作、OR操作、INVERT操作及SHIFT操作。
4.根据权利要求3所述的设备,其中所述感测电路(150、250、306-0到306-U、331-0到331-X)包括对应于所述数个列中的每一相应列的感测放大器(206、306-0到306-U)及计算组件(232、331-0到331-X)。
5.根据权利要求4所述的设备,其中所述感测放大器(206、306-0到306-U)进一步包括初级锁存器且所述计算组件(232、331-0到331-X)包括次级锁存器。
6.一种用于比较元素的方法,其包括:
在不执行感测线地址存取的情况下对以下各项执行比较操作:
第一元素(488),其存储于存储器阵列的耦合到第一存取线(204-X、204-Y、304-0到304-R)且耦合到数个感测线(205-1、205-2、305-0到305-S)的第一存储器单元群组(303-0到303-J)中;及
第二元素(490),其存储于所述存储器阵列的耦合到第二存取线(204-X、204-Y、304-0到304-R)且耦合到所述数个感测线(205-1、205-2、305-0到305-S)的第二存储器单元群组(303-0到303-J)中;且
其中所述比较操作提供指示所述第一元素(488)是否等于所述第二元素(490)或所述第一元素(488)及所述第二元素(490)中的哪一者较大的结果;以及
将所述比较操作的所述结果存储于耦合到第三存取线和所述数个感测线的第三存储器单元群组中。
7.根据权利要求6所述的方法,其进一步包括将所述第一元素(488)作为第一位向量存储于所述第一存储器单元群组(303-0到303-J)中,其中所述第一存储器单元群组(303-0到303-J)中的每一存储器单元存储来自所述第一位向量的相应位。
8.根据权利要求7所述的方法,其进一步包括将所述第二元素(490)作为第二位向量存储于所述第二存储器单元群组(303-0到303-J)中,其中所述第二存储器单元群组(303-0到303-J)中的每一存储器单元存储来自所述第二位向量的相应位。
9.根据权利要求6到8中任一权利要求所述的方法,其中所述第一元素(488)是第一值且所述第二元素(490)是第二值,且其中所述比较操作的所述结果指示所述第一值是否等于所述第二值或所述第一值及所述第二值中的哪一者较大。
10.一种用于比较元素的设备,其包括:
第一存储器单元群组(303-0到303-J),其耦合到第一存取线(204-X、204-Y、304-0到304-R)且经配置以存储第一元素(488);
第二存储器单元群组(303-0到303-J),其耦合到第二存取线(204-X、204-Y、304-0到304-R)且经配置以存储第二元素(490);及
控制器(140),其经配置以使用感测电路(150、250、306-0到306-U、331-0到331-X)以:
通过将所述第一元素(488)与所述第二元素(490)进行比较而执行比较操作;及
在不经由输入/输出I/O线(334)传送数据的情况下将所述比较操作的结果存储于耦合到第三存取线的第三存储器单元群组(303-0到303-J)中。
11.根据权利要求10所述的设备,其中所述第三存储器单元群组包括第一位向量和第二位向量,并且其中
响应于所述第一元素(488)大于所述第二元素(490),所述第一位向量是第一位模式且所述第二位向量是第二位模式;
响应于所述第二元素(490)大于所述第一元素(488),所述第一位向量是所述第二位模式且所述第二位向量是所述第一位模式;且
响应于所述第一元素(488)等于所述第二元素(490),所述第一位向量及所述第二位向量两者均为以下各项中的一者:
所述第一位模式;及
所述第二位模式。
12.一种用于比较元素的设备,其包括:
第一存储器单元群组(303-0到303-J),其耦合到第一存取线(204-X、204-Y、304-0到304-R)且耦合到数个感测线(205-1、205-2、305-0到305-S)并且经配置以存储第一元素(488);
第二存储器单元群组(303-0到303-J),其耦合到第二存取线(204-X、204-Y、304-0到304-R)且耦合到所述数个感测线(205-1、205-2、305-0到305-S)并且经配置以存储第二元素(490);
第三存储器单元群组(303-0到303-J),其经配置以存储对所述第一元素(488)及所述第二元素(490)执行的比较操作的结果,所述第三存储器单元群组包括:
耦合到第三存取线(204-X、204-Y、304-0到304-R)且耦合到所述数个感测线(205-1、205-2、305-0到305-S)的数个单元;及
耦合到第四存取线(204-X、204-Y、304-0到304-R)且耦合到所述数个感测线(205-1、205-2、305-0到305-S)的数个单元;及
控制器(140),其经配置以使用感测电路(150、250、306-0到306-U、331-0到331-X)以执行所述比较操作,且在不经由输入/输出I/O线(334)传送数据的情况下将所述比较操作的所述结果存储于所述第三存储器单元群组(303-0到303-J)中。
13.根据权利要求12所述的设备,其中所述控制器(140)进一步经配置以使用所述感测电路(150、250、306-0到306-U、331-0到331-X)以:
创建识别所述第一元素(488)与所述第二元素(490)相比较的差异的第一位向量;及
创建识别所述第二元素(490)与所述第一元素(488)相比较的差异的第二位向量。
14.一种用于比较元素的方法,其包括:
在不执行感测线地址存取的情况下在存储器中对以下各项执行比较操作:
多(M)个第一元素(488),其存储于存储器阵列的耦合到第一存取线(204-X、204-Y、304-0到304-R)且耦合到若干(C)个感测线(205-1、205-2、305-0到305-S)的第一存储器单元群组(303-0到303-J)中;及
多(M)个第二元素(490),其存储于所述存储器阵列的耦合到第二存取线(204-X、204-Y、304-0到304-R)且耦合到所述若干(C)个感测线(205-1、205-2、305-0到305-S)的第二存储器单元群组(303-0到303-J)中;及
在耦合到第三存取线和所述若干(C)个感测线的第三存储器单元群组中,存储指示所述多(M)个第一元素(488)是否等于所述多(M)个第二元素(490)或所述多(M)个第一元素(488)及所述多(M)个第二元素(490)中的哪些较大的比较操作结果。
15.根据权利要求14所述的方法,其中所述多(M)个第一元素(488)及所述多(M)个第二元素(490)中的每一者由N个位组成。
16.根据权利要求15所述的方法,其中M等于C除N。
17.根据权利要求15所述的方法,其中所述多(M)个第一元素(488)及所述多(M)个第二元素(490)中的每一者中的所述N个位中的每一者与一索引相关联,且其中来自对应元素的与同一索引相关联的位存储于耦合到来自所述C个感测线(205-1、205-2、305-0到305-S)的同一感测线(205-1、205-2、305-0到305-S)的存储器单元(303-0到303-J)中。
18.根据权利要求15到17中任一权利要求所述的方法,其进一步包括识别所述多(M)个第一元素(488)及所述多(M)个第二元素(490)的最高有效位MSB。
19.根据权利要求18所述的方法,其进一步包括识别所述多(M)个第一元素(488)及所述多(M)个第二元素(490)中的每一者的最低有效位LSB。
20.根据权利要求19所述的方法,其中执行所述比较操作进一步包括使用掩码元素执行数个操作迭代以隔离来自所述多(M)个第一元素(488)与所述多(M)个第二元素(490)的对应元素,其中使用所述多(M)个第一元素(488)及所述多(M)个第二元素(490)的所述MSB来创建所述掩码元素。
CN201580037972.0A 2014-06-05 2015-06-04 存储器中的比较操作 Active CN106489179B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462008004P 2014-06-05 2014-06-05
US62/008,004 2014-06-05
US14/716,079 US9830999B2 (en) 2014-06-05 2015-05-19 Comparison operations in memory
US14/716,079 2015-05-19
PCT/US2015/034103 WO2015187902A1 (en) 2014-06-05 2015-06-04 Comparison operations in memory

Publications (2)

Publication Number Publication Date
CN106489179A CN106489179A (zh) 2017-03-08
CN106489179B true CN106489179B (zh) 2019-04-16

Family

ID=54767346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580037972.0A Active CN106489179B (zh) 2014-06-05 2015-06-04 存储器中的比较操作

Country Status (5)

Country Link
US (3) US9830999B2 (zh)
KR (1) KR101921433B1 (zh)
CN (1) CN106489179B (zh)
TW (1) TWI575449B (zh)
WO (1) WO2015187902A1 (zh)

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830999B2 (en) * 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9589602B2 (en) * 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
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
US9583163B2 (en) * 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
CN107430874B (zh) 2015-03-12 2021-02-02 美光科技公司 用于数据移动的设备及方法
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
US10282486B2 (en) * 2015-09-08 2019-05-07 Micron Technology, Inc. Methods and apparatuses for searching data stored in a memory array using a replicated data pattern
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
US10956439B2 (en) 2016-02-19 2021-03-23 Micron Technology, Inc. Data transfer with a bit vector operation device
US9899070B2 (en) 2016-02-19 2018-02-20 Micron Technology, Inc. Modified decode for corner turn
US9697876B1 (en) 2016-03-01 2017-07-04 Micron Technology, Inc. Vertical bit vector shift in memory
US10262721B2 (en) 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US9997232B2 (en) * 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
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
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
US10388393B2 (en) 2016-03-22 2019-08-20 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10977033B2 (en) 2016-03-25 2021-04-13 Micron Technology, Inc. Mask patterns generated in memory from seed vectors
US10474581B2 (en) 2016-03-25 2019-11-12 Micron Technology, Inc. Apparatuses and methods for cache operations
US10430244B2 (en) 2016-03-28 2019-10-01 Micron Technology, Inc. Apparatuses and methods to determine timing of operations
US10074416B2 (en) 2016-03-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for data movement
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
US10153008B2 (en) 2016-04-20 2018-12-11 Micron Technology, Inc. Apparatuses and methods for performing corner turn 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
US10042608B2 (en) 2016-05-11 2018-08-07 Micron Technology, Inc. Signed division in memory
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
US10373666B2 (en) 2016-11-08 2019-08-06 Micron Technology, Inc. Apparatuses and methods for compute components formed over an array of memory cells
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
US10268389B2 (en) 2017-02-22 2019-04-23 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10403352B2 (en) 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10496631B2 (en) * 2017-03-10 2019-12-03 Symphony Communication Services Holdings Llc Secure information retrieval and update
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
US10147467B2 (en) 2017-04-17 2018-12-04 Micron Technology, Inc. Element value comparison in memory
US10043570B1 (en) 2017-04-17 2018-08-07 Micron Technology, Inc. Signed element compare 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
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
US10402165B2 (en) * 2017-08-30 2019-09-03 Gsi Technology Inc. Concurrent multi-bit adder
US10416927B2 (en) 2017-08-31 2019-09-17 Micron Technology, Inc. Processing in memory
US10346092B2 (en) 2017-08-31 2019-07-09 Micron Technology, Inc. Apparatuses and methods for in-memory operations using timing circuitry
US10741239B2 (en) 2017-08-31 2020-08-11 Micron Technology, Inc. Processing in memory device including a row address strobe manager
US10936221B2 (en) 2017-10-24 2021-03-02 Micron Technology, Inc. Reconfigurable memory architectures
US10409739B2 (en) 2017-10-24 2019-09-10 Micron Technology, Inc. Command selection policy
US11281608B2 (en) 2017-12-11 2022-03-22 Micron Technology, Inc. Translation system for finer grain memory architectures
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
KR102424285B1 (ko) * 2018-02-01 2022-07-25 에스케이하이닉스 주식회사 멀티 레벨 센싱 회로 및 이를 포함하는 반도체 장치
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
US10769071B2 (en) 2018-10-10 2020-09-08 Micron Technology, Inc. Coherent memory access
US11175915B2 (en) 2018-10-10 2021-11-16 Micron Technology, Inc. Vector registers implemented in memory
US10706911B1 (en) * 2018-10-10 2020-07-07 Samsung Electronics Co., Ltd. Sense amplifier for sensing multi-level cell and memory device including the sense amplifier
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
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
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
US11861369B2 (en) 2020-01-07 2024-01-02 SK Hynix Inc. Processing-in-memory (PIM) device
US11537323B2 (en) 2020-01-07 2022-12-27 SK Hynix Inc. Processing-in-memory (PIM) device
KR102342994B1 (ko) * 2020-07-21 2021-12-24 고려대학교 산학협력단 산술 연산을 지원하는 인메모리 컴퓨팅
US11227641B1 (en) 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory
US20220075600A1 (en) * 2020-09-08 2022-03-10 Macronix International Co., Ltd. Memory device and operation method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638317A (en) * 1990-08-22 1997-06-10 Texas Instruments Incorporated Hierarchical DRAM array with grouped I/O lines and high speed sensing circuit
CN1574078A (zh) * 2003-04-29 2005-02-02 赛芬半导体有限公司 存储器阵列中多电平检测的装置和方法

Family Cites Families (284)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4380046A (en) 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
JPS6032911B2 (ja) 1979-07-26 1985-07-31 株式会社東芝 半導体記憶装置
US4435792A (en) 1982-06-30 1984-03-06 Sun Microsystems, Inc. Raster memory manipulation apparatus
US4727474A (en) 1983-02-18 1988-02-23 Loral Corporation Staging memory for massively parallel processor
EP0214718A3 (en) 1985-07-22 1990-04-04 Alliant Computer Systems Corporation Digital computer
US5201039A (en) 1987-09-30 1993-04-06 Mitsubishi Denki Kabushiki Kaisha Multiple address-space data processor with addressable register and context switching
US4843264A (en) 1987-11-25 1989-06-27 Visic, Inc. Dynamic sense amplifier for CMOS static RAM
US5276643A (en) 1988-08-11 1994-01-04 Siemens Aktiengesellschaft Integrated semiconductor circuit
JPH0713858B2 (ja) 1988-08-30 1995-02-15 三菱電機株式会社 半導体記憶装置
US5023838A (en) 1988-12-02 1991-06-11 Ncr Corporation Random access memory device with integral logic capability
US4958378A (en) 1989-04-26 1990-09-18 Sun Microsystems, Inc. Method and apparatus for detecting changes in raster data
US5253308A (en) 1989-06-21 1993-10-12 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
DE69132495T2 (de) 1990-03-16 2001-06-13 Texas Instruments Inc Verteilter Verarbeitungsspeicher
US5034636A (en) 1990-06-04 1991-07-23 Motorola, Inc. Sense amplifier with an integral logic function
US5210850A (en) 1990-06-15 1993-05-11 Compaq Computer Corporation Memory address space determination using programmable limit registers with single-ended comparators
US5546343A (en) 1990-10-18 1996-08-13 Elliott; Duncan G. Method and apparatus for a single instruction operating multiple processors on a memory chip
JPH06103599B2 (ja) 1990-11-16 1994-12-14 三菱電機株式会社 半導体集積回路装置
EP0557310B1 (de) 1990-11-16 1997-06-04 Siemens Aktiengesellschaft Verfahren zur adaptiven quantisierung zwecks datenreduktion bei der übertragung von digitalen bildern
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
JPH06215160A (ja) 1992-08-25 1994-08-05 Texas Instr Inc <Ti> データ処理方法および装置
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 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
US5396467A (en) * 1994-03-30 1995-03-07 United Microelectronics Corp. Sense amplifier
JP3176008B2 (ja) * 1994-03-30 2001-06-11 株式会社東芝 半導体メモリ回路
US5430687A (en) 1994-04-01 1995-07-04 Xilinx, Inc. Programmable logic device including a parallel input device for loading memory cells
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
US5787484A (en) * 1996-08-08 1998-07-28 Micron Technology, Inc. System and method which compares data preread from memory cells to data to be written to the cells
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
US5953738A (en) 1997-07-02 1999-09-14 Silicon Aquarius, Inc DRAM with integral SRAM and arithmetic-logic units
US6195734B1 (en) 1997-07-02 2001-02-27 Micron Technology, Inc. System for implementing a graphic address remapping table as a virtual register file in system memory
US6181698B1 (en) 1997-07-09 2001-01-30 Yoichi Hariguchi Network routing table using content addressable memory
US6025221A (en) 1997-08-22 2000-02-15 Micron Technology, Inc. Processing methods of forming integrated circuitry memory devices, methods of forming DRAM arrays, and related semiconductor masks
US5991785A (en) 1997-11-13 1999-11-23 Lucent Technologies Inc. Determining an extremum value and its index in an array using a dual-accumulation processor
US5867429A (en) 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US6163862A (en) 1997-12-01 2000-12-19 International Business Machines Corporation On-chip test circuit for evaluating an on-chip signal using an external test signal
JP3488612B2 (ja) 1997-12-11 2004-01-19 株式会社東芝 センス増幅回路
US5986942A (en) 1998-01-20 1999-11-16 Nec Corporation Semiconductor memory device
JPH11260057A (ja) 1998-03-13 1999-09-24 Nec Corp 半導体記憶装置
JPH11265995A (ja) 1998-03-17 1999-09-28 Mitsubishi Electric Corp 半導体記憶装置
JPH11306751A (ja) 1998-04-22 1999-11-05 Toshiba Corp 半導体記憶装置
US6005799A (en) 1998-08-06 1999-12-21 Silicon Aquarius Methods and circuits for single-memory dynamic cell multivalue data storage
US6141286A (en) 1998-08-21 2000-10-31 Micron Technology, Inc. Embedded DRAM architecture with local data drivers and programmable number of data read and data write lines
US7409694B2 (en) 1998-09-09 2008-08-05 Microsoft Corporation Highly componentized system architecture with loadable virtual memory manager
JP2000173269A (ja) 1998-12-08 2000-06-23 Mitsubishi Electric Corp 半導体記憶装置
KR100381968B1 (ko) 1998-12-30 2004-03-24 주식회사 하이닉스반도체 고속동작용디램
US5999435A (en) 1999-01-15 1999-12-07 Fast-Chip, Inc. Content addressable memory device
US6389507B1 (en) 1999-01-15 2002-05-14 Gigabus, Inc. Memory device search system and method
US6134164A (en) 1999-04-22 2000-10-17 International Business Machines Corp. Sensing circuit for a memory cell array
US6741104B2 (en) 1999-05-26 2004-05-25 Micron Technology, Inc. DRAM sense amplifier for low voltages
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 富士通セミコンダクター株式会社 半導体記憶装置及びその制御方法
WO2001057875A1 (fr) 2000-02-04 2001-08-09 Hitachi, Ltd. Dispositif semi-conducteur
AU2001239907A1 (en) 2000-02-29 2001-09-12 Stephen J. Guerreri 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
CN1307647C (zh) 2000-07-07 2007-03-28 睦塞德技术公司 动态随机存取存储器、存储器器件及其执行读命令的方法
US6466499B1 (en) 2000-07-11 2002-10-15 Micron Technology, Inc. DRAM sense amplifier having pre-charged transistor body nodes
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
US7058880B1 (en) 2001-12-26 2006-06-06 Altera Corporation Techniques for programming and verifying data in a programmable circuit
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
KR100546307B1 (ko) 2002-12-05 2006-01-26 삼성전자주식회사 글로벌 입출력라인을 프리차지 및/또는 이퀄라이징하기위한 프리차지 회로를 구비하는 반도체 장치 및프리차지 및/또는 이퀄라이즈하는 트랜지스터의 레이아웃
US6731542B1 (en) 2002-12-05 2004-05-04 Advanced Micro Devices, Inc. Circuit for accurate memory read operations
US6888372B1 (en) 2002-12-20 2005-05-03 Altera Corporation Programmable logic device with soft multiplier
WO2004059651A2 (en) 2002-12-27 2004-07-15 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
US7574466B2 (en) 2003-04-23 2009-08-11 Micron Technology, Inc. Method for finding global extrema of a set of shorts distributed across an array of parallel processing elements
US7447720B2 (en) 2003-04-23 2008-11-04 Micron Technology, Inc. Method for finding global extrema of a set of bytes distributed across an array of parallel processing elements
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
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
US7142464B2 (en) 2003-04-29 2006-11-28 Saifun Semiconductors Ltd. Apparatus and methods for multi-level sensing in a memory array
JP3898152B2 (ja) 2003-05-27 2007-03-28 ローム株式会社 演算機能付き記憶装置および演算記憶方法
EP1665286B8 (en) 2003-09-04 2007-09-12 Nxp B.V. Integrated circuit and a method of cache remapping
US6956770B2 (en) 2003-09-17 2005-10-18 Sandisk Corporation Non-volatile memory and method with bit line compensation dependent on neighboring operating modes
US7177183B2 (en) 2003-09-30 2007-02-13 Sandisk 3D Llc Multiple twin cell non-volatile memory array and logic block structure and method therefor
US7913125B2 (en) 2003-11-04 2011-03-22 Lsi Corporation BISR mode to test the redundant elements and regular functional memory to avoid test escapes
US6950771B1 (en) 2003-12-09 2005-09-27 Xilinx, Inc. Correlation of electrical test data with physical defect data
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
US7401281B2 (en) 2004-01-29 2008-07-15 International Business Machines Corporation Remote BIST high speed test and redundancy calculation
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 삼성전자주식회사 메모리 장치 및 메모리 그 동작 방법
JP4804479B2 (ja) 2005-12-13 2011-11-02 スパンション エルエルシー 半導体装置およびその制御方法
JP5129450B2 (ja) 2006-01-16 2013-01-30 ルネサスエレクトロニクス株式会社 情報処理装置
US8077533B2 (en) 2006-01-23 2011-12-13 Freescale Semiconductor, Inc. Memory and method for sensing data in a memory using complementary sensing scheme
JP4989900B2 (ja) 2006-01-31 2012-08-01 ルネサスエレクトロニクス株式会社 並列演算処理装置
US7400532B2 (en) 2006-02-16 2008-07-15 Micron Technology, Inc. Programming method to reduce gate coupling interference for non-volatile memory
KR100755370B1 (ko) 2006-04-17 2007-09-04 삼성전자주식회사 반도체 메모리 장치
US7606098B2 (en) * 2006-04-18 2009-10-20 Innovative Silicon Isi Sa Semiconductor memory array architecture with grouped memory cells, and method of controlling same
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
US7542340B2 (en) * 2006-07-11 2009-06-02 Innovative Silicon Isi Sa Integrated circuit including memory array having a segmented bit line architecture and method of controlling and/or operating same
US7724559B2 (en) 2006-07-14 2010-05-25 International Business Machines Corporation Self-referenced match-line sense amplifier for content addressable memories
US7443729B2 (en) 2006-07-20 2008-10-28 Sandisk Corporation System that compensates for coupling based on sensing a neighbor using coupling
US7885119B2 (en) 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7692466B2 (en) 2006-08-18 2010-04-06 Ati Technologies Ulc Sense amplifier based flip-flop
US7805587B1 (en) 2006-11-01 2010-09-28 Nvidia Corporation Memory addressing controlled by PTE fields
US8151082B2 (en) 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US7471536B2 (en) 2006-12-08 2008-12-30 Texas Instruments Incorporated Match mismatch emulation scheme for an addressed location in a CAM
KR100821616B1 (ko) 2006-12-14 2008-04-16 한국과학기술원 반도체 집적회로의 두 숫자 비교기
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
US7609546B2 (en) * 2007-10-15 2009-10-27 Rao G R Mohan Multivalue memory storage with two gating transistors
US8156299B2 (en) 2007-10-19 2012-04-10 Virident Systems Inc. Managing memory systems containing components with asymmetric characteristics
US7924628B2 (en) 2007-11-14 2011-04-12 Spansion Israel Ltd Operation of a non-volatile memory array
US7979667B2 (en) 2007-12-10 2011-07-12 Spansion Llc Memory array search engine
US7755960B2 (en) 2007-12-17 2010-07-13 Stmicroelectronics Sa Memory including a performance test circuit
US8495438B2 (en) 2007-12-28 2013-07-23 Texas Instruments Incorporated Technique for memory imprint reliability improvement
US7808854B2 (en) 2008-02-19 2010-10-05 Kabushiki Kaisha Toshiba Systems and methods for data transfers between memory cells
JP5194302B2 (ja) 2008-02-20 2013-05-08 ルネサスエレクトロニクス株式会社 半導体信号処理装置
US20090254694A1 (en) 2008-04-02 2009-10-08 Zikbit Ltd. Memory device with integrated parallel processing
US8332580B2 (en) 2008-04-02 2012-12-11 Zikbit Ltd. System, method and apparatus for memory with embedded associative section for computations
US7957206B2 (en) 2008-04-04 2011-06-07 Micron Technology, Inc. Read circuitry for an integrated circuit having memory cells and/or a memory cell array, and method of operating same
JP2010015614A (ja) * 2008-07-01 2010-01-21 Renesas Technology Corp 半導体装置
US8339824B2 (en) 2008-07-02 2012-12-25 Cooke Laurence H Nearest neighbor serial content addressable memory
US8279187B2 (en) 2008-08-01 2012-10-02 3M Innovative Properties Company Touch sensitive devices with composite electrodes
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
US8555037B2 (en) 2008-08-15 2013-10-08 Apple Inc. Processing vectors using wrapping minima and maxima instructions in the macroscalar architecture
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
KR101611375B1 (ko) 2008-08-19 2016-04-11 톰슨 라이센싱 압축된 비디오에서 구문 요소의 cabac/avc 준수 워터마킹
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 株式会社東芝 半導体記憶装置
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
WO2011048522A2 (en) 2009-10-21 2011-04-28 Zikbit Ltd. Neighborhood operations for parallel processing
US9477636B2 (en) 2009-10-21 2016-10-25 Micron Technology, Inc. Memory having internal processors and data communication methods in memory
US8650232B2 (en) 2009-10-26 2014-02-11 Via Technologies, Inc. System and method for determination of a horizontal minimum of digital values
KR101634340B1 (ko) 2009-11-03 2016-06-28 삼성전자주식회사 반도체 메모리 장치의 프로그램 방법
US8583896B2 (en) 2009-11-13 2013-11-12 Nec Laboratories America, Inc. Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain
KR20110054773A (ko) 2009-11-18 2011-05-25 삼성전자주식회사 비트라인 디스털번스를 개선하는 반도체 메모리 장치
US8089815B2 (en) 2009-11-24 2012-01-03 Sandisk Technologies Inc. Programming memory with bit line floating to reduce channel-to-floating gate coupling
US8605015B2 (en) 2009-12-23 2013-12-10 Syndiant, Inc. Spatial light modulator with masking-comparators
JP2011146102A (ja) 2010-01-15 2011-07-28 Elpida Memory Inc 半導体装置及びデータ処理システム
CN102141905B (zh) 2010-01-29 2015-02-25 上海芯豪微电子有限公司 一种处理器体系结构
US8164942B2 (en) 2010-02-01 2012-04-24 International Business Machines Corporation High performance eDRAM sense amplifier
US8533245B1 (en) 2010-03-03 2013-09-10 Altera Corporation Multipliers with a reduced number of memory blocks
EP2564306A4 (en) 2010-04-27 2017-04-26 Cornell University System and methods for mapping and searching objects in multidimensional space
KR101119371B1 (ko) 2010-04-29 2012-03-06 주식회사 하이닉스반도체 반도체 메모리 장치 및 이의 동작 방법
US8559232B2 (en) 2010-05-03 2013-10-15 Aplus Flash Technology, Inc. DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation
US8351278B2 (en) 2010-06-23 2013-01-08 International Business Machines Corporation Jam latch for latching memory array output data
KR101143471B1 (ko) 2010-07-02 2012-05-11 에스케이하이닉스 주식회사 센스앰프 및 이를 포함하는 반도체 장치
US20120017039A1 (en) 2010-07-16 2012-01-19 Plx Technology, Inc. Caching using virtual memory
US8462532B1 (en) 2010-08-31 2013-06-11 Netlogic Microsystems, Inc. Fast quaternary content addressable memory cell
KR101201582B1 (ko) * 2010-09-06 2012-11-14 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
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
US8478969B2 (en) 2010-09-24 2013-07-02 Intel Corporation Performing a multiply-multiply-accumulate instruction
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
US8446748B2 (en) * 2011-08-04 2013-05-21 International Business Machines Corporation Content addressable memories with wireline compensation
US8706958B2 (en) 2011-09-01 2014-04-22 Thomas Hein Data mask encoding in data bit inversion scheme
US20140247673A1 (en) 2011-10-28 2014-09-04 Naveen Muralimanohar Row shifting shiftable memory
US8891297B2 (en) 2011-11-01 2014-11-18 Micron Technology, Inc. Memory cell sensing
KR101321481B1 (ko) 2011-11-04 2013-10-28 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이를 위한 테스트 회로
US9830158B2 (en) 2011-11-04 2017-11-28 Nvidia Corporation Speculative execution and rollback
KR20130052971A (ko) 2011-11-14 2013-05-23 삼성전자주식회사 비휘발성 메모리 장치의 동작 방법
WO2013078085A1 (en) 2011-11-22 2013-05-30 Mips Technologies, Inc. Processor with kernel mode access to user space virtual addresses
CN105955704B (zh) 2011-11-30 2018-12-04 英特尔公司 用于提供向量横向比较功能的指令和逻辑
US9235414B2 (en) 2011-12-19 2016-01-12 Intel Corporation SIMD integer multiply-accumulate instruction for multi-precision arithmetic
KR20130072869A (ko) 2011-12-22 2013-07-02 에스케이하이닉스 주식회사 프리차지 회로 및 비휘발성 메모리 장치
US20140108480A1 (en) 2011-12-22 2014-04-17 Elmoustapha Ould-Ahmed-Vall 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
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
US9424031B2 (en) 2013-03-13 2016-08-23 Intel Corporation Techniques for enabling bit-parallel wide string matching with a SIMD register
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
US9639458B2 (en) 2013-09-26 2017-05-02 Emu Solutions, Inc. Reducing memory accesses for enhanced in-memory parallel operations
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
TWM485601U (zh) 2014-04-10 2014-09-01 Joinsoon Electronics Mfg Co 防治電信號受到干擾的電路結構
EP3140743B1 (en) 2014-05-08 2021-11-24 Micron Technology, INC. Hybrid memory cube system interconnect directory-based cache coherence methodology
CN106415522B (zh) 2014-05-08 2020-07-21 美光科技公司 存储器内轻量一致性
US9830999B2 (en) * 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9589602B2 (en) * 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638317A (en) * 1990-08-22 1997-06-10 Texas Instruments Incorporated Hierarchical DRAM array with grouped I/O lines and high speed sensing circuit
CN1574078A (zh) * 2003-04-29 2005-02-02 赛芬半导体有限公司 存储器阵列中多电平检测的装置和方法

Also Published As

Publication number Publication date
US11205497B2 (en) 2021-12-21
TWI575449B (zh) 2017-03-21
TW201626215A (zh) 2016-07-16
US20150357047A1 (en) 2015-12-10
KR101921433B1 (ko) 2018-11-22
US9830999B2 (en) 2017-11-28
US10593418B2 (en) 2020-03-17
WO2015187902A1 (en) 2015-12-10
US20180082756A1 (en) 2018-03-22
US20200219577A1 (en) 2020-07-09
KR20170015477A (ko) 2017-02-08
CN106489179A (zh) 2017-03-08

Similar Documents

Publication Publication Date Title
CN106489179B (zh) 存储器中的比较操作
CN106688040B (zh) 存储器中的交换运算
CN107408403A (zh) 存储器中的最长元素长度确定
TWI601149B (zh) 用於執行乘法運算之方法及裝置
CN106663459B (zh) 使用感测电路执行逻辑操作的方法和设备
TWI609264B (zh) 記憶體中之除法運算
CN107430877B (zh) 通过存储器中的向量的元素进行数据移位
TWI576761B (zh) 記憶體中之乘法運算
CN107004434B (zh) 用于使用感测电路执行异或操作的设备及方法
CN106471582A (zh) 用于使用感测电路来执行逻辑操作的设备及方法
CN108885885B (zh) 存储器中的数据收集
CN106415726B (zh) 用于比较存储器中数据模式的设备及方法
CN106605204B (zh) 用于确定总体计数的设备及方法
WO2016036912A1 (en) Comparison operations in memory

Legal Events

Date Code Title Description
C06 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