CN107683505B - 用于计算启用的高速缓冲存储器的设备及方法 - Google Patents
用于计算启用的高速缓冲存储器的设备及方法 Download PDFInfo
- Publication number
- CN107683505B CN107683505B CN201680030869.8A CN201680030869A CN107683505B CN 107683505 B CN107683505 B CN 107683505B CN 201680030869 A CN201680030869 A CN 201680030869A CN 107683505 B CN107683505 B CN 107683505B
- Authority
- CN
- China
- Prior art keywords
- cache
- array
- memory
- metadata
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000015654 memory Effects 0.000 claims abstract description 127
- 238000012545 processing Methods 0.000 claims description 35
- 239000013598 vector Substances 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 5
- 238000013468 resource allocation Methods 0.000 claims description 5
- 229910052710 silicon Inorganic materials 0.000 claims description 4
- 239000010703 silicon Substances 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 230000003252 repetitive effect Effects 0.000 claims 1
- 230000000295 complement effect Effects 0.000 description 32
- 230000006870 function Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 17
- 238000003491 array Methods 0.000 description 13
- 239000003990 capacitor Substances 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 238000002955 isolation Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000011067 equilibration Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001066 destructive effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4091—Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1012—Design facilitation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6032—Way prediction in set-associative cache
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4094—Bit-line management or control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital stores in which the information is moved stepwise, e.g. shift registers
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明包含用于计算启用的高速缓冲存储器的设备及方法。实例设备包括计算组件、存储器及耦合到所述存储器的控制器。所述控制器经配置以对作为到高速缓冲存储器线的元数据的块选择及子行选择进行操作以控制所述高速缓冲存储器线在所述存储器中的放置以允许计算启用的高速缓冲存储器。
Description
技术领域
本发明大体上涉及半导体存储器及方法,且更特定来说,涉及用于计算启用的高速缓冲存储器的设备及方法。
背景技术
存储器装置通常提供为计算系统中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性存储器及非易失性存储器。易失性存储器可需要电力以维持其数据(例如,主机数据、错误数据等)且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)与晶闸管随机存取存储器(TRAM)等。非易失性存储器可在未供电时通过保持存储数据而提供永久性数据,且可包含NAND快闪存储器、NOR快闪存储器及电阻可变存储器(例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)及磁阻性随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STT RAM))等。
计算系统通常包含若干处理资源(例如,一或多个处理器),其可检索并执行指令且将所执行指令的结果存储到适合位置。处理资源(例如CPU)可包括若干功能单元,例如算术逻辑单元(ALU)电路、浮点单元(FPU)电路及/或组合逻辑块,例如,所述功能单元可用以通过对数据(例如,一或多个操作数)执行例如AND、OR、NOT、NAND、NOR及XOR及反相(例如,反转)逻辑运算的逻辑运算而执行指令。举例来说,功能单元电路可用以经由若干逻辑运算而对操作数执行例如加法、减法、乘法及/或除法的算术运算。
在提供指令到功能单元电路以供执行时可涉及计算系统中的若干组件。可例如由处理资源(例如控制器及/或主机处理器)执行所述指令。可将数据(例如,将对其执行指令的操作数)存储于可由功能单元电路存取的存储器阵列中。可从所述存储器阵列检索指令及/或数据,且可在功能单元电路开始对数据执行指令之前序列化及/或缓冲指令及/或数据。此外,因为可通过功能单元电路以一或多个时钟循环执行不同类型的运算,所以也可序列化及/或缓冲所述指令及/或数据的中间结果。
在许多例子中,处理资源(例如,处理器及/或相关联功能单元电路)可在存储器阵列外部,且可经由处理资源与存储器阵列之间的总线存取数据以执行指令集。可在存储器中处理(PIM)装置中改进处理性能,其中可在存储器内部及/或在存储器附近(例如,直接在与存储器阵列相同的芯片上)实施处理器。存储器中处理(PIM)装置可通过减少及/或消除外部通信而节省时间,且还可节约电力。
典型高速缓冲存储器架构(完全关联型、集合关联型或直接映射)使用由处理资源产生的地址的部分以定位块在高速缓冲存储器中的放置且可具有描述高速缓冲存储器块的状态的一些元数据(例如有效位及脏位)。最后级高速缓冲存储器架构可基于3D集成存储器,其中标记及元数据存储于SRAM中的芯片上且块数据在快速存取DRAM中。在此架构中,匹配使用芯片上SRAM标记而发生且存储器存取由相对较快封装上DRAM(相较于脱离封装解决方案)而加速。
附图说明
图1A是根据本发明的若干实施例的呈包含存储器装置的计算系统的形式的设备的框图。
图1B是说明具有块选择及子行选择的高速缓冲存储器线的使用用于阵列中的高速缓冲存储器块的存储及/或检索的框图。
图1C是说明到高速缓冲存储器线的块选择结构及子行选择结构可经重复以允许高速缓冲存储器线在高速缓冲存储器块、阵列及/或存储器装置内不同地分裂及放置的框图。
图1D是根据本发明的若干实施例的呈包含存储器装置的计算系统的形式的设备的另一框图。
图1E是根据本发明的若干实施例的库到存储器装置的框图。
图1F是根据本发明的若干实施例的库到存储器装置的另一框图。
图2是说明根据本发明的若干实施例的感测电路到存储器装置的示意图。
图3是说明根据本发明的若干实施例的感测电路到存储器装置的示意图。
图4是说明根据本发明的若干实施例的由图3中所展示的感测电路实施的可选择逻辑运算结果的逻辑表。
具体实施方式
本发明包含用于计算启用的高速缓冲存储器的设备及方法,例如,如可经实施用于存储器中处理(PIM)及/或3D高速缓冲存储器集成存储器。在一个实例实施例中,提供一种设备,其具有计算组件、高速缓冲存储器及耦合到所述高速缓冲存储器的高速缓冲存储器控制器。所述高速缓冲存储器控制器经配置以产生块选择作为到高速缓冲存储器线的元数据且产生子行选择作为到所述高速缓冲存储器线的元数据以提供计算启用的高速缓冲存储器。使接口耦合于所述高速缓冲存储器与所述计算组件之间。在一个实例实施例中,所述接口包含穿硅导通孔(TSV),其使多个存储器裸片连接到逻辑裸片作为三维(3D)集成存储器的部分。如本文中所使用,TSV可为完全或部分贯穿导通孔且包含除硅外的衬底材料。
在另一实例实施例中,所述设备包括耦合到主机的存储器装置。所述存储器装置可经由总线(例如数据总线及/或控制总线)而耦合到所述主机。所述存储器装置包含存储器单元阵列及耦合到所述阵列的感测电路。在一个实例中,所述阵列可经由多个感测线而耦合到所述感测电路。所述感测电路包含感测放大器及经配置以实施逻辑运算的计算组件。
控制器(例如存储器控制器)耦合到所述阵列及感测电路。所述控制器经配置以接收具有块选择元数据及子行选择元数据的高速缓冲存储器线以允许所述存储器装置作为计算启用的高速缓冲存储器而操作。所述控制器进一步经配置以对所述块选择元数据及所述子行选择元数据进行操作以控制所述阵列中的高速缓冲存储器块的对准且允许高速缓冲存储器块放置于所述阵列的多个不同行上。在一个实施例中,所述控制器经配置以将高速缓冲存储器块存储于所述阵列中且检索高速缓冲存储器块以使用所述计算组件来执行逻辑运算。
根据一些实施例,上文所描述的所述高速缓冲存储器架构(例如,完全关联型、集合关联型或直接映射)可使用由处理资源产生的地址的部分来定位数据块在高速缓冲存储器中的所述放置。在先前方法中,此地址可已包含元数据(例如有效位及脏位)用于描述所述高速缓冲存储器块的状态,但所述地址不含有任何元数据或标记用于以对所述主机处理器透明的方式的所述高速缓冲存储器块在不同对准或多个不同位置中的放置以促进或提供计算启用的高速缓冲存储器。特定来说,所述高速缓冲存储器线不以可利用存储器中处理(PIM)装置的计算能力的方式而构建。
本文中所描述的改进通过提供高速缓冲存储器控制器而克服此类障碍,所述高速缓冲存储器控制经配置以产生块选择作为到高速缓冲存储器线的元数据且产生子行选择作为到所述高速缓冲存储器线的元数据。
在本发明的以下详细描述中,参考形成本发明的一部分且其中通过说明展示本发明的一或多个实施例可如何实践的随图。足够详细描述这些实施例以使所属领域的一般技术人员实践本发明的实施例,且应理解,可在不脱离本发明的范围的情况下利用其它实施例且做出过程改变、电改变及/或结构改变。如本文中所使用,例如“N”、“M”等的标示符(尤其关于图式中的元件符号)指示:可包含如此指定的若干特定特征。如本文中所使用,“若干”特定事物可指代此类事物中的一或多者(例如,若干存储器阵列可指代一或多个存储器阵列)。“多个”希望指代一个以上此类事物。
本文中的图遵循编号惯例,其中首位或前几位数字对应于图式图号且剩余数字识别图式中的元件或组件。可通过使用类似数字而识别不同图之间的类似元件或组件。举例来说,206可参考图2中的元件“06”,且类似元件可在图3中称为306。应了解,可添加、交换及/或消除本文中在各种实施例中所展示的元件以便提供本发明的若干额外实施例。此外,应了解,图中所提供元件的比例及相对尺度希望说明本发明的某些实施例,而不应被视为具限制性。
图1A是根据本发明的若干实施例的呈包含存储器装置的计算系统的形式的设备的框图。如图1A中所展示,主机110可包含处理资源,例如逻辑资源112。如本文中所使用,逻辑资源(也有时称为“逻辑层”或仅仅“逻辑”)意在表示固件(例如呈微码指令的形式)及/或硬件(例如,晶体管电路及/或一或多个专用集成电路(ASIC))。在至少一实施例中,逻辑资源112可包含静态随机存取存储器(SRAM)存储器于逻辑资源112上。如在图1A的实例实施例中所展示,逻辑资源112可在主机110上耦合到主机110上的高速缓冲存储器113,例如封装上(也称为芯片上及/或裸片上),例如在3D集成存储器中。逻辑资源112可经由宽的(例如256)位接口(接口114)而耦合到高速缓冲存储器113。此接口可包含穿硅导通孔(TSV)作为具有堆叠于逻辑裸片上的多个存储器裸片的3D集成存储器的部分。
在一或多个实施例中,高速缓冲存储器113(展示为与图1A中的主机相关联)可具有呈多个阵列、存储器层、库、库区段、子阵列、行等的形式的复本于存储器装置120的阵列130中的若干经分配位置中的存储器装置120上。替代地,存储器装置120的全部或至少一部分可经替代为具有主机110上的逻辑资源112的封装上的高速缓冲存储器113。实施例不受限于此。在至少一个实施例中,高速缓冲存储器113的一部分及/或阵列130中的所述若干经分配位置可用作最后层高速缓冲存储器(LLC)部分。根据实施例,具有及/或能够对子行选择元数据及块选择元数据进行操作的LLC(如下文进一步描述)可控制块数据对准且可减小高速缓冲存储器的整体数据大小,无论在3D集成存储器芯片或在单独存储器中处理随机存取存储器(PIMRAM)装置(例如存储器装置120)中。
如图1A中所展示,高速缓冲存储器控制器115可使用固件(例如微码指令)及/或硬件(例如专用集成电路(ASIC))。根据实施例,由高速缓冲存储器控制器115使用的固件及/或硬件经配置以产生块选择作为到高速缓冲存储器线的元数据且产生子行选择作为到所述高速缓冲存储器线的元数据(如更加详细展示于图1B中)。在一个实施例中,所述块选择启用到所述高速缓冲存储器线的偏移且所述子行选择启用多个集合到集合关联型高速缓冲存储器。在一个实施例中,所述块选择提供到动态随机存取存储器(DRAM)中的页的偏移。
高速缓冲存储器控制器115可提供具有所述块选择元数据及所述子行选择元数据的高速缓冲存储器线到存储器装置120的阵列130中的所述若干经分配位置以提供计算启用的高速缓冲存储器于存储器装置120上。替代地,在3D集成存储器芯片实例中,存储器库可具有独立TSV路径(例如主机110上的接口114)到其中且可明确地由高速缓冲存储器控制115控制。具有子行选择元数据及块选择元数据的高速缓冲存储器块(如图1B中更多说明及描述)可从逻辑资源112中的SRAM移动到DRAM中的高速缓冲存储器中,例如作为主机110上的3D集成高速缓冲存储器113的部分或到PIMRAM 120上的阵列130中的若干经分配位置。在各种实例实施例中,所述高速缓冲存储器块的放置可使用由高速缓冲存储器控制器115产生且添加到高速缓冲存储器线的所述子行选择元数据数据结构及所述块选择元数据数据结构而控制。
如本文中所使用,“高速缓冲存储器块”意在表示使用于高速缓冲存储器功能中的存储器中的可寻址区域。可寻址高速缓冲存储器块可包含一或多个可寻址高速缓冲存储器线。因此。可寻址高速缓冲存储器线可具有等于高速缓冲存储器块的可寻址位宽度的位长度,但高速缓冲存储器块可包含一个以上可寻址高速缓冲存储器线。另外,高速缓冲存储器块可具有小于所述高速缓冲存储器线的可寻址位长度的可寻址位宽度,例如如下文更加详细描述的所述高速缓冲存储器块内的可寻址“组块”。
举例来说,根据给定装置上的特定高速缓冲存储器架构,高速缓冲存储器线可经配置以具有128个字节的位长度。所述特定装置或另一装置(例如存储器装置120)上的可寻址高速缓冲存储器块还可具有128个字节的可寻址位宽度。如下文进一步详细描述,根据各种实施例提供块选择元数据数据结构,其启用那128个字节位长度的全部及/或一部分到所述高速缓冲存储器线的选择,例如整个128个字节及/或具有仅256位、64位等的较小位长度(本文称为“组块”)的一部分。实施例不受限于此。
在至少一个实施例中,由高速缓冲存储器控制器115产生的所述块选择元数据数据结构及所述子行选择元数据数据结构是在所述计算启用的高速缓冲存储器内部使用的数据结构,例如经存储及经维持于所述主机上的高速缓冲存储器控制器115与高速缓冲存储器113之间或在阵列130中的所述若干经分配位置与PIMRAM 120上的控制器140之间。举例来说,所述子行选择元数据数据结构及所述块选择元数据数据结构不必经存储、经维持或经跟踪为到主机110上的逻辑资源112的地址的部分。以此方式,高速缓冲存储器控制器115及/或存储器装置120上的控制器140由执行指令及/或执行逻辑运算的固件及/或硬件配置以能够改变所述块选择及所述子行选择且将对逻辑资源112透明的所述高速缓冲存储器块数据重新定位于主机110上。然而,在其它实施例中,高速缓冲存储器控制器115可另外经配置以存储并维持具有逻辑资源112的所述块选择元数据结构及所述子行选择元数据结构的复本于主机110上。
图1B是说明使用具有块选择及子行选择的高速缓冲存储器线进行阵列中的高速缓冲存储器块的存储及/或检索的框图。如图1B的实例说明中所展示,图1A中所描述的高速缓冲存储器控制器115及/或控制器140可由执行指令及/或执行逻辑运算的固件及/或硬件配置以产生块选择162数据结构及行选择163数据结构以插入于高速缓冲存储器线160中。
如图1B中所展示,可根据主机110或其它装置(例如存储器装置120)的高速缓冲存储器架构而提供包含标记及偏移的地址161。所述接收到的地址可相较于高速缓冲存储器线160(例如相较于直接映射标记),用于指示高速缓冲存储器中的位置的一或多个匹配165(一般由箭头171展示)以定位所述高速缓冲存储器线。然而,根据本文中所描述的实施例,控制器(例如高速缓冲存储器控制器115及/或控制器140)可将额外块选择162元数据数据结构及行选择163元数据数据结构插入到高速缓冲存储器线160中,高速缓冲存储器线160可用以规定特定高速缓冲存储器块127-0、…、127-N(由箭头167展示)及/或与所述特定高速缓冲存储器块有关的特定行(由箭头169展示)。举例来说,特定高速缓冲存储器块(例如块127-5)可使用块选择元数据162而选择。此外,特定行(例如,行126-0、行126-1等)可使用行选择元数据163选择以使特定位向量、组块及/或高速缓冲存储器线数据对准到阵列的感测电路150/感测电路对准130/150中的特定计算组件(例如150-5),例如,根据如结合图2及3更加详细描述的特定数字线/计算组件对准。
如所提及,块选择元数据数据结构162可提供到所述高速缓冲存储器线的偏移且用作到DRAM中的页的偏移。因而,块选择元数据162可用以控制高速缓冲存储器块在主机110上的高速缓冲存储器113中的阵列内的对准(如图1A中所展示)或可由控制器140使用来控制存储器装置120中的阵列130内的高速缓冲存储器块的对准。子行选择元数据163可启用集合关联型高速缓冲存储器中的多个集合且可控制高速缓冲存储器块的放置,使得经复制及/或分裂高速缓冲存储器线及/或高速缓冲存储器块可放置于主机上的高速缓冲存储器113中的阵列或存储器装置120上的阵列130中的多个不同行上。
如本文中所使用,集合关联型高速缓冲存储器是指直接映射高速缓冲存储器(例如,其中每一块经准确映射到一个位置)及完全关联型高速缓冲存储器(例如,其类似于直接高速缓冲存储器映射但允许高速缓冲存储器块映射到任何高速缓冲存储器位置)的组合。在集合关联型高速缓冲存储器中,每一高速缓冲存储器块经映射到高速缓冲存储器位置的子集。因此,根据实施例,术语“多个集合”意在表示所述子行选择元数据可允许高速缓冲存储器线及/或高速缓冲存储器块经分裂及/或经复制,使得所述分裂高速缓冲存储器线及/或分裂块可放置于高速缓冲存储器位置的多个不同子集中以实现特定对准。举例来说,子行选择元数据数据结构163允许给定高速缓冲存储器线放置于多个不同行上。如图1B中所展示,子行选择元数据数据结构163可经添加作为标记的部分。如本文中所使用,到高速缓冲存储器线的“标记”意在表示唯一识别符用于所述高速缓冲存储器中的数据群组。元数据(如本文中所使用)意在表示用作关于其与其相关联的数据(例如描述其它数据的数据)的额外信息的一或多个额外位。
图1B说明包含元数据及标记以及高速缓冲存储器块数据的实例1K(一千位)高速缓冲存储器线160。根据本文中所描述的实施例,额外块选择元数据162及子行选择元数据163(例如,如可由高速缓冲存储器控制器115产生)经插入到(如由“箭头”展示)高速缓冲存储器线160中。块选择元数据数据结构162及子行选择元数据数据结构163有利地对以若干方式在主机110及/或存储器装置120上提供计算启用的高速缓冲存储器做贡献。
举例来说,在典型高速缓冲存储器架构或甚至具有3D集成存储器中,DRAM将存取比所需显著更多的数据。举例来说,使用具有TSV的3D集成存储器,具有256个位的高速缓冲存储器请求可致使DRAM存取高达16K+个列(16,000+位)。如果此256个高速缓冲存储器请求是针对具有仅128个字节的位宽度的高速缓冲存储器系统,那么具有256个位的高速缓冲存储器请求将仅使用功率及发信号时间来存取具有128个字节的位宽度的行。致使DRAM存取全16K+个列(16K+个位)可比存取具有仅128个字节的位宽度的行在128个字节高速缓冲存储器架构中显著地耗功率及发信号时间。
因此,根据本发明的实施例,块选择元数据数据结构162可选择性地控制位的那个相同16+千位宽行的部分存取,例如由匹配选择“箭头”167所展示。在此实例中,箭头167说明用以选择特定高速缓冲存储器块127-0、…、127-N于高速缓冲存储器的阵列121(例如主机110上的高速缓冲存储器113中或图1A中的存储器装置120上的阵列130中的若干位置中)的块选择元数据162存取。通过实例且不通过限制,高速缓冲存储器控制器115、逻辑资源112、控制器140(下方)或其它计算组件(例如,下文所描述的感测电路)可存取本文中所描述的元数据数据结构(例如,块选择162及子行选择163)且操作以比较其中的信息(例如位(旗标)或在多个位情况中的其它值)与参考位或位值以确定逻辑动作或随后动作。
在图1B中,高速缓冲存储器121中的所述阵列可为DRAM库,其是16k列宽。在到阵列121的DRAM库内可存在多个库区段123且每一库区段123可具有特定数目个行(例如,库区段123可具有512行)。通过说明且不通过限制,图1B展示多个块127-0、…、127-N跨16K+列宽库区段123。所述库区段中的块127-0、…、127-N可具有1K+列宽,例如经配置以基本上在位长度上等于1K+位长度高速缓冲存储器线(例如高速缓冲存储器线160)的宽度。因此,块选择元数据162可由高速缓冲存储器控制器115及/或控制器140用于PIM能力装置中以选择存取位的整个16K+位宽行的哪一部分,等于高速缓冲存储器线位长度。举例来说,根据各种实施例,块选择元数据162可用以选择128个字节位长度高速缓冲存储器线的全部及/或一部分,例如整个128个字节及/或具有较小位长度的一部分。
在一个实例中,块选择元数据162可用以选择较小位长度,例如256位组块。选择所述较小位长度(例如等于256位组块)的目的可为匹配到特定接口(例如256位接口(在图1A中,114))的位宽度与16K+列存储器阵列。这可(例如)提供甚至进一步粒度到16K+列宽DRAM行存取。在此实例中,块选择元数据162可为六(6)位宽以选择256位组块。在另一实例中,块选择元数据162数据结构可为八(8)位宽以提供进一步粒度且存取256位组块内的64位值。如本文中所使用,术语“组块”希望是指取决于特定设计实施方案的高速缓冲存储器块的较小位长度部分。举例来说,高速缓冲存储器块可具有128字节的位长度且在特定设计实施方案中的“组块”可具有较小经界定位长度(例如256位、64位等等)。
如在本发明中的下文将进一步显而易见,此精细选择能力可用于其中需要对准向量以执行处理的基于存储器中处理(PIM)的存储器装置。在一个实例中,每一高速缓冲存储器线可经处理为具有一或多个向量且向量可具有多个元素,其具有多个表示数值的位。举例来说,向量可具有四个(4)64位值,例如数值。每一64位值可为在逻辑运算中到向量的元素。所述向量或所述个别元素可经处理为如本文中所描述的“组块”。块选择元数据162可用以控制此“组块”(例如,向量及/或到向量的元素)在阵列、子阵列等中的对准。
此外,额外子行选择元数据数据结构163(例如,如由高速缓冲存储器控制器115产生)可插入到(如由“箭头”所展示)高速缓冲存储器线160中且用以选择哪一行(例如,子阵列中的哪一行)进行存取。如图1B中所展示,子行选择元数据结构163可添加到高速缓冲存储器线160中的所述标记的一部分。举例来说,四(4)位子行选择数据结构163将允许针对给定高速缓冲存储器块127-0、…、127-N的在DRAM阵列(例如,在16行子阵列内)中的十六(16)行的一(1)的选择。这些行将被分配且所述高速缓冲存储器(例如,主机上的高速缓冲存储器113或图1A中的存储器装置120上的阵列130中的所述若干经分配位置)可自由存取。因此,子行选择元数据163在图1B的实例中展示为用以选择(例如,在箭头169处)子阵列125中的行。子行选择元数据163也可用以选择特定元件被放置于哪一子阵列中作为资源分配。
图1C是说明到高速缓冲存储器线的块选择数据结构及子行选择数据结构用以使高速缓冲存储器线160分离成组块190的框图。如上文所描述,组块可具有小于整体高速缓冲存储器线的位长度或DRAM阵列中的高速缓冲存储器块宽度(例如,图1B中所展示的块127-0、…、127-N)的位长度。到组块的所述不同选定位宽度可取决于特定设计实施方案。在一个实施例中,选择组块具有256位的位宽度来匹配特定接口带宽的宽度,例如图1A中的接口114,还具有256位的位宽度。在图1C中所展示的此实例中,在1K+位宽高速缓冲存储器线160中可存在四(4)个组块(例如,组块0、…、组块N)190。如图1C中所展示且如上文所讨论,块选择(BS)元数据数据结构162可用作到高速缓冲存储器线160的偏移以在给定高速缓冲存储器线160中选择特定组块(例如,组块0)。
另外,子行选择(SRS)元数据数据结构163可用以允许给定高速缓冲存储器线160放置于阵列、库、库区段、子阵列等等中的高速缓冲存储器块(例如高速缓冲存储器块127-0、…、127-N)中的多个不同行上,如图1B中所展示。因此,图1C的实例实施例说明块选择元数据数据结构162及子行选择元数据数据结构163可经重复以允许高速缓冲存储器线在高速缓冲存储器块、阵列及/或存储器装置内不同地分裂及放置。子行选择元数据数据结构163允许多个放置垂直且启用接合数据项,其可需要经组合,(例如)于基于PIM的装置中。因此,根据实施例,添加所述两个额外元数据数据结构、块选择及子行选择可控制所述对准(块选择)及资源分配(子行选择)来提供计算启用的高速缓冲存储器。
上文所描述的优点可甚至在基于PIM的装置中被进一步利用。特定来说,块对准及资源分配的额外能力可在基于PIM的动态随机存取存储器(PIMRAM)中被利用。举例来说,本文中所描述的实施例可额外使用于PIMRAM中以在所述PIMRAM上提供计算启用的高速缓冲存储器能力。
为说明,图1A额外展示主机110到存储器装置120的耦合。具有块选择162元数据数据结构及子行选择元数据数据结构的高速缓冲存储器线可存储于可快速存取动态随机存取存储器(DRAM)中且可由到PIMRAM的控制器140及/或感测电路150操作。接着,这提供有效方法,其提供具有自变量的大量指令到所述DRAM且接着使用低延迟路由那些指令到嵌入处理引擎(例如,所述DRAM的控制器140及/或感测电路150),同时为所述DRAM保存协议、逻辑及电接口。因此,本文中所描述的实施例可促进以标准宽度及数据速率保持所述A/C总线,减少所述PIMRAM的“特定”设计的任何量,且还使所述PIMRAM与多种计算装置中的现存存储器接口更加兼容。
先前方法(例如3D集成存储器)可能已经包含芯片上SRAM,但不提供机会以使计算组件的元件对准感测电路150,如用于处理PIMRAM中的位向量所需。根据各种实施例,PIM运算可涉及基于位向量的运算。如本文中所使用,术语“位向量”意在表示位向量运算能力存储器装置(例如PIM装置)上的物理邻接(在存储器单元阵列中的行(例如,水平定向)或列(例如,垂直定向)中物理邻接)数目个位。因此,如本文中所使用,“位向量运算”意在表示对位向量执行的运算,所述位向量是例如由PIM装置使用的虚拟地址空间的邻接部分(也称为“组块”)。例如,虚拟地址空间的组块可具有256个位的位长度。块可或可不与所述虚拟地址空间中的其它块物理邻接。
举例来说,在PIMRAM中的逻辑除法运算中,可对包括可变位长度向量的位向量做除法运算。这可包含具有可变长度元素的第一向量除以具有可变长度元素的第二向量。所述第一向量可表示若干被除数且可存储于耦合到阵列中的第一存取线及若干感测线的群组的存储器单元中。所述第二向量可表示若干除数且存储于耦合到所述阵列中的第二存取线及所述若干感测线的群组的存储器单元中。所述除法运算可包含在无需经由输入/输出(I/O)线而传送数据的情况下执行的若干“与”运算、“或”运算、“移位”运算及“反相”运算。在此实例中,第一元素及第二元素可为彼此相除的数值。相除的元素可指称除法运算的操作数。所述元素可为可作为位向量而存储于存储器中且检索到及存储于最后层高速缓冲存储器(LLC)、在所述PIMRAM中等效的DRAM中以根据本发明的实施例而操作的数值。
如下文更详细描述,实施例可允许主机系统分配多个DRAM库中的若干位置(例如,子阵列(或“子阵列”)或子阵列的部分)到高速缓冲存储器块。所述主系统及/或所述PIMRAM可执行地址解析用于整体高速缓冲存储器块上的高速缓冲存储器线,包含块选择元数据数据结构162及子行选择元数据数据结构163的添加。高速缓冲存储器线160及高速缓冲存储器块127-0、…、127-N可接着被写入到目标库内的所述经分配指令位置中,例如,子阵列。命令可利用到所述DRAM装置的正常DRAM写入路径。在所述高速缓冲存储器线及所述高速缓冲存储器块被写入到所述存储位置中(例如子阵列)之后,DRAM库控制器(例如存储器控制器)可以等效于在图1A中的主机(例如110)上的最后层高速缓冲存储器(LLC)的运算的方式而检索并对高速缓冲存储器线160及高速缓冲存储器块127-0、…、127-N操作。所述存储器控制器将拉动来自所述存储子阵列的高速缓冲存储器块数据作为必要处理指令块所含有的分支、回路、逻辑及数据运算、高速缓冲存储所述指令且再次填充所述LLC高速缓冲存储器(根据需要)。如读者将了解,虽然本文中用实例论述DRAM式PIM装置,但实施例不限于DRAM存储器中处理器(PIM)实施方案。
为了解经改进程序指令技术,用于实施此类技术的设备、具有PIM能力的存储器装置及相关联主机的论述如下。根据各种实施例,涉及具有PIM能力的存储器装置的程序指令(例如,PIM命令)可将PIM命令的实施分布在多个感测电路上方,所述感测电路可实施逻辑运算且可将PIM命令存储于存储器阵列内,例如不必用主机经由存储器装置的A/C总线来回传送所述PIM命令。因此,涉及具有PIM能力的存储器装置的PIM命令可以较少时间且使用较少电力完成。通过减少在计算系统周围移动以处理所请求的存储器阵列操作(例如,读取、写入等)的数据量,可实现某一时间及电力优点。
与先前系统(例如先前PIM系统)及具有外部处理器的系统(例如,定位于存储器阵列外部(例如在单独集成电路芯片上)的处理资源)相比,本发明的若干实施例可提供与执行计算功能相关联的经改进并行性及/或降低的电力消耗。例如,若干实施例可提供执行充分完整的计算功能,例如整数加法、减法、乘法、除法及CAM(内容可寻址存储器)功能,而例如不经由总线(例如,数据总线、地址总线、控制总线)将数据传送出存储器阵列及感测电路。此类计算功能可涉及执行若干逻辑运算(例如,例如AND、OR、NOT、NOR、NAND、XOR等的逻辑函数)。然而,实施例不受限于这些实例。例如,执行逻辑运算可包含执行若干非布尔(Boolean)逻辑运算,例如复制、比较、破坏等。
在先前方法中,可(例如,经由包括输入/输出(I/O)线的总线)将数据从阵列及感测电路传送到例如处理器、微处理器及/或计算引擎的处理资源,所述处理资源可包括经配置以执行适当逻辑运算的ALU电路及/或其它功能单元电路。然而,将数据从存储器阵列及感测电路传送到此(类)处理资源可涉及大量电力消耗。即使处理资源定位于与存储器阵列相同的芯片上,在将数据移出阵列而到计算电路(此可涉及执行感测线(在本文中可称为数字线或数据线)地址存取(例如,列解码信号的触发(firing))以将数据从感测线传送到I/O线(例如,本地I/O线)上;将数据移动到阵列外围;及将数据提供到计算功能)时仍可消耗大量电力。
此外,所述处理资源(例如计算引擎)的电路可不符合与存储器阵列相关联的间距规则。举例来说,存储器阵列的单元可具有4F2或6F2单元大小,其中“F”是对应于单元的特征大小。因而,与先前PIM系统的ALU电路相关联的装置(例如逻辑门)可无法形成于与存储器单元的间距上,这可影响例如芯片大小及/或存储器密度。本发明的若干实施例包含形成于与存储器单元阵列的间距上且能够在存储器单元阵列本地执行例如集中及分散操作的计算功能的感测电路。
图1A及1D是根据本发明的若干实施例的呈具有存储器装置120的计算系统100的形式的设备的框图。主机110、逻辑112、高速缓冲存储器113及高速缓冲存储器控制器已在上文详细讨论。图1A中所展示的存储器装置120可包含控制器140(例如存储器控制器)、通道控制器143、库仲裁器145、高速接口(HSI)141、具有感测电路150及/或逻辑电路170的存储器阵列130。如本文中所使用的这些中的每一者还可为单独称作“设备”。
图1A及1D展示系统100包含耦合(例如连接)到存储器装置120的主机110,存储器装置120包含存储器阵列130。主机110可为主机系统,例如个人膝上型计算机、桌面计算机、数码相机、智能电话或存储器卡读取器,以及各种其它类型的主机。主机110可包含系统主板及/或背板且可包含若干处理资源(例如,一或多个处理器、微处理器或某一其它类型的控制电路)。系统100可包含个别集成电路,或主机110及存储器装置120两者可在相同集成电路上。系统100可为(例如)服务器系统及/或高性能计算(HPC)系统及/或所述高性能计算(HPC)系统的部分。尽管图1A及1D中所示的实例说明具有冯·诺伊曼(Von Neumann)架构的系统,但本发明的实施例可以非冯·诺伊曼架构实施,其可不包含通常与冯·诺伊曼架构相关联的一或多个组件(例如,CPU、ALU等)。
存储器阵列130可为(例如)DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪阵列及/或NOR快闪阵列。阵列130可包括布置成由存取线(本文中可称为字线或选择线)耦合的行及由感测线(本文中可称为数据线或数字线)耦合的列的存储器单元。尽管图1中展示单个阵列130,但实施例不受限于此。例如,存储器装置120可包含若干阵列130(例如,若干DRAM单元库、NAND快闪单元等)。
存储器装置120包含用以锁存经由数据总线156(例如,I/O总线)通过I/O电路144提供的地址信号的地址电路142。状态及/或异常信息可从存储器装置120上的控制器140提供到通道控制器143(包含带外总线157),带外总线157又可从存储器装置120提供到主机110。通过地址电路142接收地址信号,且由行解码器146及列解码器152解码地址信号以存取存储器阵列130。可提供阵列130的若干经指定部分以接收并存储具有子行选择元数据数据结构163及块选择元数据数据结构162的计算启用的高速缓冲存储器线。可通过使用感测电路150感测数据线上的电压及/或电流变化而从存储器阵列130读取数据。感测电路150可从存储器阵列130读取及锁存数据页(例如,行)。I/O电路144可用于经由数据总线156与主机110进行双向数据通信。写入电路148用以将数据写入到存储器阵列130。
控制器140(例如存储器控制器)可解码由控制总线154从主机110提供的信号。这些信号可包含用以控制对存储器阵列130执行的控制操作(包含数据读取、数据写入及数据擦除操作)的芯片启用信号、写入启用信号及地址锁存信号。在各种实施例中,控制器140负责执行来自主机110的指令。控制器140可为状态机、序列发生器或某一其它类型的控制器。控制器140可控制阵列(例如,存储器阵列130)中的移位数据(例如,右或左)。
下文进一步描述感测电路150的实例。例如,在若干实施例中,感测电路150可包括若干感测放大器及若干计算组件,其可用作且在本文中称为累加器且可用以(例如,对与互补数据线相关联的数据)执行逻辑运算。
在若干实施例中,感测电路150可用以使用存储于阵列130中的数据作为输入而执行逻辑运算,且将逻辑运算的结果存储回到阵列130而不经由感测线地址存取传送数据(例如,不触发列解码信号)。因而,各种计算功能可使用感测电路150且在感测电路150内执行,而非(或结合)通过感测电路外部的处理资源(例如,通过与主机110相关联的处理器及/或定位于装置120上(例如,在控制器140上或别处)的其它处理电路,例如ALU电路)执行。
在各种先前方法中,例如与操作数相关联的数据将经由感测电路从存储器读取且经由I/O线(例如,经由本地I/O线及/或全局I/O线)提供到外部ALU电路。外部ALU电路可包含若干寄存器且将使用操作数执行计算功能,且结果将经由I/O线传送回到阵列。相比之下,在本发明的若干实施例中,感测电路150经配置以对存储于存储器阵列130中的数据执行逻辑运算且将结果存储回到存储器阵列130,而不启用耦合到感测电路150的I/O线(例如,本地I/O线)。感测电路150可与阵列的存储器单元有间距地形成。逻辑电路170可耦合到感测电路150且可包含额外外围感测放大器、寄存器、高速缓冲存储器及/或数据缓冲器来存储、高速缓冲存储器及/或缓存本文中所描述的运算的结果。
因而,在若干实施例中,不需要阵列130及感测电路150外部的电路来执行计算功能,这是因为感测电路150可执行适当逻辑运算以执行此类计算功能,而无需使用外部处理资源。因此,感测电路150可用以至少在某种程度上补充及/或取代此外部处理资源(或至少此外部处理资源的带宽消耗)。事实上,一旦控制器140接收并对具有块选择162元数据结构及子行选择163元数据结构的高速缓冲存储器线160操作,阵列130及感测电路可根据实施例用作计算启用高速缓冲存储器。
然而,在若干实施例中,感测电路150可用以执行除由外部处理资源(例如,主机110)执行的逻辑运算外的逻辑运算(例如,以执行指令)。例如,主机110及/或感测电路150可限于仅执行特定逻辑运算及/或特定数目个逻辑运算。
启用I/O线可包含启用(例如,接通)具有耦合到解码信号(例如,列解码信号)的栅极及耦合到所述I/O线的源极/漏极的晶体管。然而,实施例不限于不启用I/O线。例如,在若干实施例中,感测电路(例如,150)可用以执行逻辑运算而不启用阵列的列解码线;然而,除传送回到阵列130之外,可启用(若干)本地I/O线以将结果传送到适合位置(例如,到外部寄存器)。
图1D是根据本发明的若干实施例的呈包含经由通道控制器143耦合到主机110的多个存储器装置120-1、…、120-N的计算系统100的形式的另一设备架构的框图。在至少一个实施例中,通道控制器143可按集成方式以模块118的形式耦合到多个存储器装置120-1、…、120-N,例如,形成于与多个存储器装置120-1、…、120-N的相同芯片上。在替代实施例中,通道控制器143可与主机110集成(如由虚线111说明),例如形成于与多个存储器装置120-1、…、120-N的芯片分开的芯片上。通道控制器143可经由控制总线154(如图1A中所描述)耦合到多个存储器装置120-1、…、120-N中的每一者,其又可耦合到主机110。如图1A中所描述,通道控制器143也可经由数据总线156耦合到多个存储器装置120-1、…、120-N中的每一者,其又可耦合到主机110。另外,通道控制器143可经由与高速接口(HSI)141相关联的带外(OOB)总线157耦合到多个存储器装置120-1、…、120-N中的每一者,所述高速接口(HSI)141经配置以将状态、异常及其它数据信息报告到通道控制器143以与主机110交换。
如图1D中所示,通道控制器143可从与多个存储器装置120-1、…、120-N中的每一者中的库仲裁器145相关联的高速接口(HSI)(在本文中也称为状态通道接口)141接收状态及异常信息。在图1B的实例中,多个存储器装置120-1、…、120-N中的每一者可包含用以序列化关于多个库(例如,Bank零(0)、Bank一(1)、…、Bank六(6)、Bank七(7)等)的控制及数据的库仲裁器145。多个库Bank 0、…、Bank 7中的每一者可包含控制器140及其它组件,包含存储器单元阵列130及感测电路150、逻辑电路170等,如结合图1A描述。
举例来说,多个存储器装置120-1、…、120-N中的多个库(例如,Bank 0、…、Bank7)中的每一者可包含用以锁存经由数据总线156(例如,I/O总线)通过I/O电路144提供的地址信号的地址电路142。状态及/或异常信息可使用OOB总线157从存储器装置120上的控制器140提供到通道控制器143,又可从多个存储器装置120-1、…、120-N提供到主机110。对于多个库(例如,Bank 0、…、Bank 7)中的每一者,可通过地址电路142接收地址信号,且由行解码器146及列解码器152解码地址信号以存取存储器阵列130。可通过使用感测电路150感测数据线上的电压及/或电流变化而从存储器阵列130读取数据。感测电路150可从存储器阵列130读取及锁存数据页(例如,行)。I/O电路144可用于经由数据总线156与主机110进行双向数据通信。写入电路148用以将数据写入到存储器阵列130,且OOB总线157可用以将状态、异常及其它数据信息报告到通道控制器143。
通道控制器143可包含一或多个局部缓冲器以存储程序指令,且可包含逻辑160以分配每一相应库的阵列中的多个位置(例如,子阵列或子阵列的部分)以存储与多个存储器装置120-1、…、120-N中的每一者的操作相关联的各个库的库命令及自变量(PIM命令)。通道控制器143可分派命令(例如PIM命令)到多个存储器装置120-1、……、120-N以将那些程序指令存储于存储器装置的给定库内。
如上文结合图1A所描述,存储器阵列130可为例如DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪阵列及/或NOR快闪阵列。阵列130可包括布置成由存取线(本文中可称为字线或选择线)耦合的行及由感测线(本文中可称为数据线或数字线)耦合的列的存储器单元。
如图1A中,与给定存储器装置120-1、…、120-N中的任何特定库Bank 0、…、Bank 7相关联的控制器140(例如,库控制逻辑及/或序列发生器)可解码由控制总线154从主机110提供的信号。这些信号可包含用以控制对存储器阵列130执行的控制操作(包含数据读取、数据写入及数据擦除操作)的芯片启用信号、写入启用信号及地址锁存信号。在各种实施例中,控制器140负责执行来自主机110的指令。且如上文,控制器140可为状态机、序列发生器或某一其它类型的控制器。举例来说,控制器140可控制阵列(例如,存储器阵列130)中的移位数据(例如,右或左)。
图1E是根据本发明的若干实施例的存储器装置的库121-1的框图。即,库121-1可表示存储器装置的实例库,例如图1B中所示的Bank 0、…、Bank 7(121-0、…、121-7)。如图1B中所示,库架构可包含多个主存储器列(水平展示为X),例如在实例DRAM库中16,384个列。另外,库121-1可分成由用于数据路径的放大区域分离的区段123-1、123-2、…、123-N。库区段123-1、…、123-N中的每一者可包含多个行(垂直展示为Y),例如,在实例DRAM库中每一区段可包含16,384个行。库区段123-1、……、123-N的一或多者可包含若干位置,经配置以接收并存储如图1B中所展示的计算启用高速缓冲存储器块(例如127-0、……、127-N),具有子行选择元数据数据结构及块选择元数据数据结构。实例实施例不限于此处描述的列及行的实例水平及/或垂直定向或其的实例数目。
如图1E中所示,库架构可包含耦合到库区段123-1、…、123-N的逻辑电路170,例如感测放大器、寄存器、高速缓冲存储器及数据缓冲。逻辑电路170可提供高速缓冲存储器(例如,与图1A中所展示的感测电路150及阵列130相关联的逻辑电路170)的另一形式。此外,如图1E中所展示,所述库架构可与库控制(例如控制器140)相关联。在实例中,图1E中所示的库控制可表示由图1A及1D中所示的控制器140具体实施且包含于所述控制器140中的功能性的至少一部分。
图1F是根据本发明的若干实施例的存储器装置的库121的另一框图。举例来说,库121可表示存储器装置的实例库,例如图1D中所示的Bank 0、…、Bank 7(121-0、…、121-7)。如图1F中所示,库架构可包含耦合控制器140的控制总线154。此外,图1F中所示的控制器140可(例如)表示由图1A及1D中所示的控制器140具体实施且包含于所述控制器140中的功能性的至少一部分。此外,如图1F中所示,所述库架构可包含数据总线156,其耦合到指令(例如,程序指令(PIM命令))读取路径151中的多个控制/数据寄存器且耦合到特定库121中的多个库区段(例如,库区段123)。
如图1F中所示,库区段123进一步可细分成多个子阵列125-1、125-2、…、125-N,其再次由如图1A中所示且结合图2到4进一步描述的多个感测电路及逻辑150/170分离。在一个实例中,库区段121可分成十六(16)个子阵列。然而,实施例不限于此实例数目。子阵列125-1、125-2、……、125-N的一或多者可包含经配置以接收并存储如图1B中所展示的计算启用高速缓冲存储器块(例如127-0、…、127-N),具有子行选择元数据数据结构及块选择元数据数据结构。
图1F说明控制器140,其耦合到写入路径149且耦合到库123中的子阵列125-1、…、125-N中的每一者。替代地或额外,图1A中所示的逻辑电路170可用作(例如)用以在特定库本地(“有间距”)高速缓冲存储及/或重新高速缓冲存储所检索的指令的指令高速缓冲存储器。在至少一个实施例中,多个子阵列125-1、…、125-N及/或多个子阵列的部分可称为用于将程序指令(例如,PIM命令)及/或常数数据存储到存储器装置中的库123的多个位置。
根据本发明的实施例,控制器140经配置以从主机(例如图1A中的主机110)接收指令块,计算启用高速缓冲存储器块(例如,如图1B中所展示的127-0、……、127-N,其具有子行选择元数据数据结构及块选择元数据数据结构)及/或常数数据。替代地,指令块,计算启用高速缓冲存储器块(例如,如图1B中所展示的127-0、……、127-N,其具有子行选择元数据数据结构及块选择元数据数据结构)及/或常数数据可从与主机110集成或与主机110分离(例如,以模块118的形式与多个存储器装置120-1、…、120-N集成,如图1D中所示)的通道控制器143接收到控制器140。
指令块及/或数据可包含一组程序指令(例如,PIM命令)及/或常数数据(例如,经设置用于PIM计算的数据)。根据实施例,控制器140经配置以将来自主机110及/或通道控制器143的指令块及/或常数数据存储于阵列(例如,图1A中所示的阵列130)及/或库(例如,图1D、1E及1F中所示的库121-0、…、121-7)的图1D中所示的123中。控制器140进一步经配置以(例如)包含呈硬件电路及/或专用集成电路(ASIC)的形式的逻辑,以路由程序指令到感测电路(包含计算组件(例如在图1A中展示为150的感测电路及图2及3中的计算组件231及331)以执行本文中所描述的逻辑功能及/或运算(例如程序指令执行)。
在至少一个实施例中,控制器140经配置以使用DRAM协议及DRAM逻辑及电接口以从主机110及/或通道控制器143接收程序指令及/或常数数据,且路由程序指令及/或常数数据到感测电路150、250及/或350的计算组件。在控制器140处接收的程序指令及/或常数数据可由程序员预解析(例如,预定义)及/或提供到主机110及/或通道控制器143。
在一些实施例中,如图1D中所见,存储器单元阵列(图1A中的130)包含存储器单元120-1、…、120-N的多个库,且存储器装置120包含耦合到所述多个库120-1、…、120-N中的每一者的库仲裁器145。在此类实施例中,每一库仲裁器经配置以从库仲裁器145接收与特定库相关的具有程序指令的指令块(具有子行选择元数据数据结构及块选择元数据数据结构的计算启用高速缓冲存储器块)及/或常数数据。接着,控制器140可将接收到的指令块(计算启用高速缓冲存储器块)中的指令及/或常数数据存储到如由主机110及/或通道控制器143分配的特定库的多个位置。举例来说,主机110及/或通道控制器143经配置以对库仲裁器145的多个位置进行地址转译以指派给存储器装置120的库。在至少一个实施例中,如图1D中所示,多个位置包含DRAN库121-1、…、121-7中的若干子阵列125-1、…、125-N及/或所述若干子阵列的部分。
根据实施例,每一控制器140可经配置以(例如在数据总线156上)从主机110及/或通道控制器143接收计算启用高速缓冲存储器线160,以存储接收到给定库121-1、…、121-7的高速缓冲存储器块。接着,控制器140经配置以在具有控制及数据寄存器151的数据总线156上从特定库的多个位置检索高速缓冲存储器块数据,且使用感测电路150的计算组件执行逻辑运算。控制器140可在特定库本地(例如,阵列130、库区段123及/或子阵列125)高速缓冲存储所检索的高速缓冲存储器块,以处置指令块执行内所含有的分支、循环、逻辑及数据操作。并且,控制器140可根据需要重新高速缓冲存储所检索的指令。因此,所述DRAM部分上的专用指令存储器(高速缓冲存储器)的大小不必针对PIM系统而增加。
在一些实施例中,多个存储器装置120-1、…、120-N耦合到主机110及/或通道控制器143。此处,主机110及/或通道控制器143可(例如)经由数据总线156将高速缓冲存储器块发送到多个存储器装置120-1、…、120-N的适当库仲裁器145-1、…、145-N。
此外,根据实施例,控制器140经配置使得库121可接收与与所述特定库有关的另一高速缓冲存储器块相关联的随后高速缓冲存储器线160,且使用块选择162元数据数据结构及子行选择163元数据数据结构于接收到的高速缓冲存储器线160中,以存储高速缓冲存储器块到用于所述特定库的多个位置,且存取来自用于所述特定库的多个位置的高速缓冲存储器块,同时(例如并行)控制器140对另一先前所检索高速缓冲存储器块操作。因此,本文中描述的实施例无需等待将从主机110及/或通道控制器143接收的未来或下一高速缓冲存储器块存取指令集(例如,PIM命令)。代替地,本文中所描述的设备及方法装置促进存储器装置120用作最后层高速缓冲存储器(LLC)于DRAM部分中用于高速缓冲存储器块且可促进直接在芯片上、与所述PIM系统(例如PIMRAM)中的存储器装置120有间距的计算启用高速缓冲存储器。
如读者将了解,且如图2到4的实例中更详细描述,控制器140经配置以通过控制感测电路150(包含计算组件251及/或351)实施例如AND、OR、NOT、NAND、NOR及XOR逻辑函数的逻辑函数而控制程序指令(例如,PIM命令)的执行。另外,控制器140经配置以控制感测电路150以执行非布尔逻辑运算(包含复制、比较及擦除操作)作为执行程序指令(例如,PIM命令)的部分。
图2是说明根据本发明的若干实施例的感测电路250的示意图。感测电路250可对应于图1A及1B中所示的感测电路150。感测电路250的感测放大器206可对应于图2中所示的感测放大器206,且感测电路250的计算组件231可对应于(例如)图1A中所示的感测电路(包含计算组件)150。
存储器单元包括存储元件(例如电容器)及存取装置(例如晶体管)。例如,第一存储器单元包括晶体管202-1及电容器203-1,且第二存储器单元包括晶体管202-2及电容器203-2,等等。在此实例中,存储器阵列230是1T1C(一个晶体管一个电容器)存储器单元的DRAM阵列。在若干实施例中,存储器单元可为破坏性读取存储器单元(例如,读取存储于单元中的数据破坏所述数据使得最初存储于单元中的数据在读取之后经刷新)。
存储器阵列230的单元可布置成由字线204-X(Row X)、204-Y(Row Y)等耦合的行及由互补感测线对(例如,数据线DIGIT(n-1)/DIGIT(n-1)_、DIGIT(n)/DIGIT(n)_、DIGIT(n+1)/DIGIT(n+1)_)耦合的列。对应于每一对互补感测线的个别感测线也可分别称为数据线205-1(D)及205-2(D_)。尽管图2中仅展示一对互补数据线,但本发明的实施例不限于此,且存储器单元阵列可包含存储器单元及/或数据线的额外列(例如,4,096个、8,192个、16,384个等)。
存储器单元可耦合到不同数据线及/或字线。举例来说,晶体管202-1的第一源极/漏极区域可耦合到数据线205-1(D),晶体管202-1的第二源极/漏极区域可耦合到电容器203-1,且晶体管202-1的栅极可耦合到字线204-X。晶体管202-2的第一源极/漏极区域可耦合到数据线205-2(D_),晶体管202-2的第二源极/漏极区域可耦合到电容器203-2,且晶体管202-2的栅极可耦合到字线204-Y。单元板(如图2中所示)可耦合到电容器203-1及203-2中的每一者。单元板可为在各种存储器阵列配置中可施加参考电压(例如接地)的共同节点。
根据本发明的若干实施例,存储器阵列230耦合到感测电路250。在此实例中,感测电路250包括对应于存储器单元的相应列(例如,耦合到相应互补数据线对)的感测放大器206及计算组件231。感测放大器206可耦合到互补感测线对205-1及205-2。计算组件231可经由传递门207-1及207-2耦合到感测放大器206。传递门207-1及207-2的栅极可耦合到逻辑运算选择逻辑213。
逻辑运算选择逻辑213可经配置以包含:传递门逻辑,其用于控制传递门以将未转置的互补感测线对耦合于感测放大器206与计算组件231之间(如图2中所示);及/或交换门逻辑,其用于控制交换门以将经转置的互补感测线对耦合于感测放大器206与计算组件231之间。逻辑运算选择逻辑213还可耦合到互补感测线对205-1及205-2。逻辑运算选择逻辑213可经配置以基于选定逻辑运算而控制传递门207-1及207-2的连续性,如下文针对逻辑运算选择逻辑413的各种配置所详细描述。
感测放大器206可经操作以确定存储于选定存储器单元中的数据值(例如,逻辑状态)。感测放大器206可包括交叉耦合锁存器,其在本文中可称为初级锁存器。在图2中说明的实例中,对应于感测放大器206的电路包括锁存器215,锁存器215包含耦合到一对互补数据线D 205-1及D_205-2的四个晶体管。然而,实施例不限于此实例。锁存器215可为交叉耦合锁存器(例如,例如n沟道晶体管(例如,NMOS晶体管)227-1及227-2的一对晶体管的栅极与例如p沟道晶体管(例如,PMOS晶体管)229-1及229-2的另一对晶体管的栅极交叉耦合)。包括晶体管227-1、227-2、229-1及229-2的交叉耦合锁存器215可称为初级锁存器。
在操作中,当感测(例如,读取)存储器单元时,数据线205-1(D)或205-2(D_)的一者上的电压将略大于数据线205-1(D)或205-2(D_)的另一者上的电压。可驱动ACT信号及RNL*信号降低以启用(例如,触发)感测放大器206。与PMOS晶体管229-1或229-2的一者相比,具有较低电压的数据线205-1(D)或205-2(D_)将在更大程度上接通PMOS晶体管229-1或229-2的另一者,借此驱动具有较高电压的数据线205-1(D)或205-2(D_)升高到大于另一数据线205-1(D)或205-2(D_)经驱动而升高的程度。
类似地,与NMOS晶体管227-1或227-2的一者相比,具有较高电压的数据线205-1(D)或205-2(D_)将在更大程度上接通NMOS晶体管227-1或227-2的另一者,借此驱动具有较低电压的数据线205-1(D)或205-2(D_)降低到大于另一数据线205-1(D)或205-2(D_)经驱动而降低的程度。因此,在短暂延迟之后,具有略大电压的数据线205-1(D)或205-2(D_)通过源晶体管211驱动到供应电压的电压VCC,且另一数据线205-1(D)或205-2(D_)通过汲集晶体管213驱动到参考电压的电压(例如,接地)。因此,交叉耦合NMOS晶体管227-1及227-2以及PMOS晶体管229-1及229-2用作感测放大器对,其放大数据线205-1(D)及205-2(D_)上的差分电压且操作以锁存从选定存储器单元感测的数据值。如本文中所使用,感测放大器206的交叉耦合锁存器可称为初级锁存器215。
实施例不限于图2中说明的感测放大器206配置。作为实例,感测放大器206可为电流模式感测放大器及/或单端感测放大器(例如,耦合到一个数据线的感测放大器)。此外,本发明的实施例不限于例如图2中所示的架构的折叠数据线架构。
感测放大器206可连同计算组件231一起操作以使用来自阵列的数据作为输入而执行各种逻辑运算。在若干实施例中,可将逻辑运算的结果存储回到阵列而不经由数据线地址存取传送数据(例如,不触发列解码信号使得数据经由本地I/O线传送到阵列及感测电路外部的电路)。因而,与各种先前方法相比,本发明的若干实施例可能够使用较少电力执行逻辑运算及其相关联的计算功能。另外,由于若干实施例无需跨越I/O线传送数据以执行计算功能(例如,在存储器与离散处理器之间),所以与先前方法相比,若干实施例可实现增加的并行处理能力。
感测放大器206可进一步包含平衡电路214,其可经配置以平衡数据线205-1(D)及205-2(D_)。在此实例中,平衡电路214包括耦合于数据线205-1(D)与205-2(D_)之间的晶体管224。平衡电路214还包括晶体管225-1及225-2,其各自具有耦合到平衡电压(例如,VDD/2)的第一源极/漏极区域,其中VDD是与阵列相关联的供应电压。晶体管225-1的第二源极/漏极区域可耦合数据线205-1(D),且晶体管225-2的第二源极/漏极区域可耦合数据线205-2(D_)。晶体管224、225-1及225-2的栅极可耦合在一起且耦合到平衡(EQ)控制信号线226。因而,激活EQ启用晶体管224、225-1及225-2,这将数据线205-1(D)及205-2(D_)有效地短接在一起且短接到平衡电压(例如,VCC/2)。
尽管图2展示包括平衡电路214的感测放大器206,但实施例不限于此,且平衡电路214可与感测放大器206离散地实施、以与图2中所示的配置不同的配置实施或完全不实施。
如下文进一步描述,在若干实施例中,感测电路(例如,感测放大器206及计算组件231)可经操作以执行选定逻辑运算且最初将结果存储于感测放大器206或计算组件231的一者中,而不经由I/O线从感测电路传送数据(例如,不经由例如列解码信号的激活执行数据线地址存取)。
逻辑运算(例如,涉及数据值的布尔逻辑函数)的执行是基本及常用的。在许多较高阶函数中使用布尔逻辑函数。因此,用改进的逻辑运算实现的速度及/或功率效率可转译成较高阶功能性的速度及/或功率效率。
如图2中所示,计算组件231还可包括锁存器,其在本文中可称为次级锁存器264。次级锁存器264可以类似于上文关于初级锁存器215描述的方式的方式配置及操作,除了包括次级锁存器的交叉耦合p沟道晶体管(例如,PMOS晶体管)对可使其相应源极耦合到供应电压(例如,VDD),且次级锁存器的交叉耦合n沟道晶体管(例如,NMOS晶体管)对可使其相应源极选择性地耦合到参考电压(例如,接地),使得连续启用次级锁存器除外。计算组件的配置不限于图2中在231处展示的配置,且下文进一步描述各种其它实施例。
图3是说明根据本发明的若干实施例的能够实施XOR逻辑运算的感测电路的示意图。图3展示耦合到一对互补感测线305-1及305-2的感测放大器306,及经由传递门307-1及307-2耦合到感测放大器306的计算组件331。图3中所示的感测放大器306可对应于图2中所示的感测放大器206。图3中所示的计算组件331可对应于例如图1A中所示的感测电路(包含计算组件)150。图3中所示的逻辑运算选择逻辑313可对应于(例如)图4中所示的逻辑运算选择逻辑413。
传递门307-1及307-2的栅极可受控于逻辑运算选择逻辑信号Pass。举例来说,逻辑运算选择逻辑的输出可耦合到传递门307-1及307-2的栅极。计算组件331可包括经配置以使数据值左移位及右移位的可加载移位寄存器。
根据图3中说明的实施例,计算组件331可包括经配置以使数据值左移位及右移位的可加载移位寄存器的相应级(例如,移位单元)。举例来说,如图3中所说明,移位寄存器中的每一计算组件331(例如,级)包括一对右移位晶体管381及386、一对左移位晶体管389及390以及一对反相器387及388。可将信号PHASE 1R、PHASE2R、PHASE 1L及PHASE 2L施加到相应控制线382、383、391及392,以启用/停用对应计算组件331的锁存器上与根据本文中描述的实施例执行逻辑运算及/或移位数据相关联的反馈。
图3中所示的感测电路还展示耦合到若干逻辑选择控制输入控制线(包含ISO、TF、TT、FT及FF)的逻辑运算选择逻辑313。从逻辑选择控制输入控制线上的逻辑选择控制信号的条件以及在经由断言ISO控制信号启用隔离晶体管时存在于互补感测线对305-1及305-2上的数据值而确定从多个逻辑运算的逻辑运算选择。
根据各种实施例,逻辑运算选择逻辑313可包含四个逻辑选择晶体管:逻辑选择晶体管362,其耦合于交换晶体管342的栅极与TF信号控制线之间;逻辑选择晶体管352,其耦合于传递门307-1及307-2的栅极与TT信号控制线之间;逻辑选择晶体管354,其耦合于传递门307-1及307-2的栅极与FT信号控制线之间;及逻辑选择晶体管364,其耦合于交换晶体管342的栅极与FF信号控制线之间。逻辑选择晶体管362及352的栅极通过隔离晶体管350-1(具有耦合到ISO信号控制线的栅极)耦合到真值感测线。逻辑选择晶体管364及354的栅极通过隔离晶体管350-2(也具有耦合到ISO信号控制线的栅极)耦合到互补感测线。
存在于互补感测线对305-1及305-2上的数据值可经由传递门307-1及307-2加载到计算组件331中。计算组件331可包括可加载移位寄存器。当传递门307-1及307-2开启时,互补感测线对305-1及305-2上的数据值被传递到计算组件331且借此被载入到可载入移位寄存器中。互补感测线对305-1及305-2上的数据值可为在触发感测放大器时存储于感测放大器306中的数据值。逻辑运算选择逻辑信号Pass为高以开启传递门307-1及307-2。
ISO、TF、TT、FT及FF控制信号可操作以基于感测放大器306中的数据值(“B”)及计算组件331中的数据值(“A”)选择逻辑函数进行实施。特定来说,ISO、TF、TT、FT及FF控制信号经配置以独立于存在于互补感测线对305-1及305-2上的数据值而选择逻辑函数进行实施(然而所实施逻辑运算的结果可取决于存在于互补感测线对305-1及305-2上的数据值)。举例来说,ISO、TF、TT、FT及FF控制信号直接选择逻辑运算进行实施,这是因为存在于互补感测线对305-1及305-2上的数据值并未传递通过用以操作传递门307-1及307-2的栅极的逻辑。
另外,图3展示经配置以在感测放大器313-7与计算组件331之间交换互补感测线对305-1及305-2的定向的交换晶体管342。当交换晶体管342开启时,交换晶体管342的感测放大器306侧上的互补感测线对305-1及305-2上的数据值相反耦合(oppositely-couple)到交换晶体管342的计算组件331侧上的互补感测线对305-1及305-2,且借此加载到计算组件331的可加载移位寄存器中。
当ISO控制信号线被激活且TT控制信号在真值感测线上的数据值为“1”的情况下被激活(例如,为高)或FT控制信号在互补感测线上的数据值为“1”的情况下被激活(例如,为高)时,逻辑运算选择逻辑信号Pass可经激活(例如,为高)以开启传递门307-1及307-2(例如,传导)。
真值感测线上的数据值是“1”开启逻辑选择晶体管352及362。互补感测线上的数据值是“1”开启逻辑选择晶体管354及364。如果ISO控制信号或对应感测线(例如,特定逻辑选择晶体管的栅极耦合到的感测线)上的相应TT/FT控制信号或数据值并非为高,那么传递门307-1及307-2将不会由特定逻辑选择晶体管开启。
当ISO控制信号线经激活且TF控制信号在真值感测线上的数据值为“1”的情况下经激活(例如,为高)或FF控制信号在互补感测线上的数据值为“1”的情况下经激活(例如,为高)时,逻辑运算选择逻辑信号PassF可经激活(例如,为高)以开启交换晶体管342(例如,传导)。如果对应感测线(例如,特定逻辑选择晶体管的栅极耦合到的感测线)上的相应控制信号或数据值并非为高,那么交换晶体管342将不会由特定逻辑选择晶体管开启。
Pass*控制信号不一定与Pass控制信号互补。可同时激活或撤销激活Pass及Pass*控制信号两者。然而,Pass及Pass*控制信号两者的同时激活使互补感测线对短接在一起,此可为应避免的破坏性配置。
图3中说明的感测电路经配置以从四个逻辑选择控制信号直接选择多个逻辑运算的一者进行实施(例如,逻辑运算选择并不取决于存在于互补感测线对上的数据值)。逻辑选择控制信号的一些组合可引起传递门307-1及307-2以及交换晶体管342两者同时开启,此使互补感测线对305-1及305-2短接在一起。根据本发明的若干实施例,可由图3中说明的感测电路实施的逻辑运算可为图4中所示的逻辑表中所概述的逻辑运算。
图4是说明根据本发明的若干实施例的由图3中所示的感测电路实施的可选择逻辑运算结果的逻辑表。四个逻辑选择控制信号(例如,TF、TT、FT及FF)连同存在于互补感测线上的特定数据值一起可用以选择多个逻辑运算的一者进行实施,此涉及存储于感测放大器306及计算组件331中的开始数据值。四个控制信号连同存在于互补感测线上的特定数据值一起控制传递门307-1及307-2以及交换晶体管342的连续性,此又影响在触发之前/之后计算组件331及/或感测放大器306中的数据值。可选择地控制交换晶体管342的连续性的能力有利于实施涉及反相数据值(例如,反相操作数及/或反相结果)等的逻辑运算。
图4中说明的逻辑表4-1在444处展示栏A中所示的存储于计算组件331中的开始数据值,且在445处展示栏B中所示的存储于感测放大器306中的开始数据值。逻辑表4-1中的其它3栏标头指代传递门307-1及307-2以及交换晶体管342的连续性,其可取决于四个逻辑选择控制信号(例如,TF、TT、FT及FF)的状态以及存在于互补感测线对305-1及305-2上的特定数据值而分别控制为开启或关闭。“Not Open”456栏对应于传递门307-1及307-2以及交换晶体管342都处于非传导条件,“Open True”470对应于传递门307-1及307-2处于传导条件,且“Open Invert”471对应于交换晶体管342处于传导条件。逻辑表4-1中未反映对应于传递门307-1及307-2以及交换晶体管342都处于传导条件的配置,这是因为此导致感测线短接在一起。
经由对传递门307-1及307-2以及交换晶体管342的连续性的选择性控制,逻辑表4-1的上部分的三个栏中的每一者可与逻辑表4-1的下部分的三个栏中的每一者组合,以提供对应于九个不同逻辑运算的3x 3=9种不同结果组合,如由475处所示的各种连接路径所指示。图4中说明的逻辑表4-2中概述可由感测电路(例如,图1A中所示的感测电路150)实施的九种不同可选择逻辑运算,包含XOR逻辑运算。
图4中说明的逻辑表4-2的栏展示包含逻辑选择控制信号的状态的标头480。举例来说,在行476中提供第一逻辑选择控制信号的状态,在行477中提供第二逻辑选择控制信号的状态,在行478中提供第三逻辑选择控制信号的状态,且在行479中提供第四逻辑选择控制信号的状态。在行447中概述对应于结果的特定逻辑运算。
虽然本文中已说明且描述包含感测电路、感测放大器、计算组件、动态锁存器、隔离装置及/或移位电路的各种组合及配置的实例实施例,但本发明的实施例不限于本文中所明确陈述的那些组合。本文中所揭示的感测电路、感测放大器、计算组件、动态锁存器、隔离装置及/或移位电路的其它组合及配置清楚地包含于本发明的范围内。
尽管本文中已说明及描述特定实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可取代所示的特定实施例。本发明希望涵盖本发明的一或多个实施例的调适或变化。应理解,已以说明性方式而非限制性方式进行以上描述。所属领域的技术人员在检视上述描述后将明白未在本文中特别描述的上述实施例的组合及其它实施例。本发明的一或多个实施例的范围包含其中使用上文结构及方法的其它应用。因此,应参考所附权利要求书连同此类权利要求范围所授权的等效物的全部范围而确定本发明的一或多个实施例的范围。
在前述具体实施方式中,为简化本发明的目的将一些特征一起集合于单个实施例中。本发明的此方法不应被解释为反映本发明的所揭示实施例必须使用比明确陈述于每一权利要求中更多的特征的意图。而是,如所附权利要求书反映,发明标的物可存在少于单个所揭示实施例的所有特征。因此,所附权利要求书借此以此方式并入具体实施方式中,其中每一权利要求单独作为独立实施例。
Claims (18)
1.一种用于计算启用的高速缓冲存储器的设备,其包括:
高速缓冲存储器,其经配置以存储高速缓冲存储器数据,其具有计算组件;及
控制器,其耦合到所述高速缓冲存储器,所述控制器经配置以:
产生块选择作为到高速缓冲存储器线的元数据;
产生子行选择作为到所述高速缓冲存储器线的元数据;
使用所述块选择来控制所述高速缓冲存储器中的存储器阵列中的所述高速缓冲存储器数据的对准;及
使用所述子行选择来控制所述存储器阵列中的资源分配。
2.根据权利要求1所述的设备,其中所述控制器是高速缓冲存储器控制器且所述高速缓冲存储器是最后层高速缓冲存储器。
3.根据权利要求2所述的设备,其中所述计算组件经配置以在不使所述高速缓冲存储数据移动到所述高速缓冲存储器中的较高级的情况下存取所述最后层高速缓冲存储器中的高速缓冲存储数据且对所述最后层高速缓冲存储器中的高速缓冲存储数据操作。
4.根据权利要求1到3中任一权利要求所述的设备,其中所述计算组件是与所述高速缓冲存储器的存储器阵列集成的静态随机存取存储器SRAM逻辑资源。
5.根据权利要求1所述的设备,其中所述块选择提供到动态随机存取存储器DRAM页中的页的偏移。
6.根据权利要求1所述的设备,其中所述子行选择控制高速缓冲线在所述存储器中的阵列中的多个不同行上的放置。
7.一种用于计算启用的高速缓冲存储器的设备,其包括:
高速缓冲存储器,其经配置以存储高速缓冲存储器数据,其具有计算组件;及
控制器,其耦合到所述高速缓冲存储器,所述控制器经配置以:
产生块选择作为到高速缓冲存储器线的元数据;
产生子行选择作为到所述高速缓冲存储器线的元数据,其中所述块选择及所述子行选择不为主机处理器的地址空间的部分;
改变所述块选择及所述子行选择;及
重新定位所述高速缓冲存储数据对所述主机处理器透明。
8.一种用于计算启用的高速缓冲存储器的设备,其包括:
高速缓冲存储器,其经配置以存储高速缓冲存储器数据,其具有计算组件;及
控制器,其耦合到所述高速缓冲存储器,所述控制器经配置以:
产生块选择作为到高速缓冲存储器线的元数据;以及
产生子行选择作为到所述高速缓冲存储器线的元数据;
使用所述块选择来选择所述存储器阵列中的行的哪一部分具有第一位宽度以存取作为具有第二位宽度的组块作为阵列存取请求的部分;及
以重复方式而使用所述块选择及所述子行选择以允许高速缓冲存储器线在动态随机存取存储器DRAM的库中不同地分裂及放置。
9.一种用于计算启用的高速缓冲存储器的设备,其包括:
存储器装置,其经配置以耦合到主机,其中所述存储器装置包含:
存储器单元阵列;
耦合到所述阵列的感测电路,所述感测电路包含感测放大器及经配置以执行逻辑运算的计算组件;及
控制器,其耦合到所述阵列及感测电路,所述控制器经配置以:
接收具有块选择元数据及子行选择元数据的高速缓冲存储器线;及
对所述块选择元数据及子行选择元数据操作以:
控制所述阵列中的高速缓冲存储器块的对准;及
允许所述高速缓冲存储器线放置于所述阵列的特定行上;
其中每一高速缓冲存储器线经处置为具有不同位长度值的多个向量;且
其中所述控制器经进一步配置以处置所述多个向量的每一向量作为组块。
10.根据权利要求9所述的设备,其中所述设备进一步包含高速缓冲存储器控制器,其经配置以:
产生所述块选择元数据且插入到所述高速缓冲存储器线;及
产生所述子行选择元数据且插入到所述高速缓冲存储器线。
11.根据权利要求9所述的设备,其中所述控制器经进一步配置以:
对所述高速缓冲存储器线操作以根据所述块选择元数据而控制所述阵列中的高速缓冲存储器块的对准;及
对所述高速缓冲存储器线操作以根据所述子行选择元数据而允许所述高速缓冲存储器线放置于所述阵列的多个不同行上。
12.一种用于计算启用的高速缓冲存储器的设备,其包括:
存储器装置,其经配置以耦合到主机,其中所述存储器装置包含:
存储器单元阵列;
耦合到所述阵列的感测电路,所述感测电路包含感测放大器及经配置以执行逻辑运算的计算组件;及
控制器,其耦合到所述阵列及所述感测电路,所述控制器经配置以:
接收具有块选择元数据以及子行选择元数据的高速缓冲存储器线;及
对所述块选择元数据及子行选择元数据操作以:
控制所述阵列中的高速缓冲存储器块的对准;及
允许所述高速缓冲存储器线放置于所述阵列的特定行上;
处理资源;
存储器,其具有所述阵列且耦合到所述处理资源;及
接口,其在所述处理资源与所述存储器之间。
13.根据权利要求12所述的设备,其中所述接口包括:
穿硅导通孔TSV,其使所述处理资源耦合到所述存储器;且
所述设备是3D集成逻辑/存储器。
14.根据权利要求12到13中任一权利要求所述的设备,其中所述存储器是存储器中处理PIM装置,所述阵列是动态随机存取存储器DRAM阵列,且其中所述PIM装置包含:
耦合到所述阵列的感测电路,所述感测电路包含感测放大器及经配置以执行逻辑运算的计算组件;且
其中所述控制器耦合到所述阵列及所述感测电路,所述控制器经进一步配置以:
从所述处理资源接收具有块选择元数据及子行选择元数据的所述高速缓冲存储器线;及
对所述块选择元数据及所述子行选择元数据操作以:
控制所述阵列中的高速缓冲存储器块的对准;及
控制所述高速缓冲存储器线在所述阵列的特定行上的放置。
15.根据权利要求14所述的设备,其中所述控制器经进一步配置以:
对所述高速缓冲存储器线操作以根据所述块选择元数据而控制所述阵列中的所述高速缓冲存储器块的对准;及
对所述高速缓冲存储器线操作以根据所述子行选择元数据而允许所述高速缓冲存储器线放置于所述阵列的多个不同行上。
16.一种用于操作高速缓冲存储器的方法,其包括:
产生块选择作为到高速缓冲存储器线的元数据以控制所述高速缓冲存储器的阵列中的高速缓冲存储器块的对准;及
产生子行选择作为到所述高速缓冲存储器线的元数据以控制所述阵列中的特定行上的所述高速缓冲存储器线的至少一部分的放置;
使用所述块选择来控制所述高速缓冲存储器中的所述存储器阵列中的所述高速缓冲存储器块的对准;及
使用所述子行选择来控制所述存储器阵列中的资源分配。
17.根据权利要求16所述的方法,其中所述方法包括:
接收到存储器中处理PIM装置中的控制器的所述块选择及所述子行选择,所述阵列是动态随机存取存储器DRAM阵列,其中所述PIM装置包括:
耦合到所述阵列的感测电路,所述感测电路包含感测放大器及经配置以实施逻辑运算的计算组件;
将所述高速缓冲存储器块存储于所述阵列中;及
检索所述高速缓冲存储器线的至少一部分以使用所述计算组件执行逻辑运算。
18.一种用于操作高速缓冲存储器的方法,其包括:
产生块选择作为到高速缓冲存储器线的元数据以控制所述高速缓冲存储器的阵列中的高速缓冲存储器的对准;以及
产生子行选择作为到所述高速缓冲存储器线的元数据以控制所述阵列中的特定行上的所述高速缓冲存储器线的至少一部分的放置;
接收到存储器中处理PIM装置中的控制器的所述块选择及所述子行选择,其中所述阵列是动态随机存取存储器DRAM阵列,且其中所述PIM装置包括:
耦合到所述阵列的感测电路,所述感测电路包含感测放大器及经配置以执行逻辑运算的计算组件;
将所述高速缓冲存储器块存储于所述阵列中,其中将所述高速缓冲存储器块存储于所述阵列中包括存储具有小于所述高速缓冲存储器线的位长度的位长度的高速缓冲存储器块的一部分;以及
检索所述高速缓冲存储器线的至少一部分以使用所述计算组件执行逻辑运算。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562167451P | 2015-05-28 | 2015-05-28 | |
US62/167,451 | 2015-05-28 | ||
US15/066,488 | 2016-03-10 | ||
US15/066,488 US10073786B2 (en) | 2015-05-28 | 2016-03-10 | Apparatuses and methods for compute enabled cache |
PCT/US2016/033259 WO2016191191A1 (en) | 2015-05-28 | 2016-05-19 | Apparatuses and methods for compute enabled cache |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107683505A CN107683505A (zh) | 2018-02-09 |
CN107683505B true CN107683505B (zh) | 2021-10-08 |
Family
ID=57394277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680030869.8A Active CN107683505B (zh) | 2015-05-28 | 2016-05-19 | 用于计算启用的高速缓冲存储器的设备及方法 |
Country Status (5)
Country | Link |
---|---|
US (5) | US10073786B2 (zh) |
EP (1) | EP3304319B1 (zh) |
CN (1) | CN107683505B (zh) |
TW (1) | TWI651617B (zh) |
WO (1) | WO2016191191A1 (zh) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9430191B2 (en) * | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
EP3234784B1 (en) * | 2014-12-19 | 2021-04-28 | Rambus Inc. | Dynamic random access memory (dram) component for high-performance,high-capacity registered memory modules |
US10073786B2 (en) | 2015-05-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for compute enabled cache |
US10235176B2 (en) | 2015-12-17 | 2019-03-19 | The Charles Stark Draper Laboratory, Inc. | Techniques for metadata processing |
US9997232B2 (en) | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US11119936B2 (en) | 2016-09-27 | 2021-09-14 | Spin Memory, Inc. | Error cache system with coarse and fine segments for power optimization |
US11119910B2 (en) | 2016-09-27 | 2021-09-14 | Spin Memory, Inc. | Heuristics for selecting subsegments for entry in and entry out operations in an error cache system with coarse and fine grain segments |
US10990465B2 (en) | 2016-09-27 | 2021-04-27 | Spin Memory, Inc. | MRAM noise mitigation for background operations by delaying verify timing |
US11010294B2 (en) | 2016-09-27 | 2021-05-18 | Spin Memory, Inc. | MRAM noise mitigation for write operations with simultaneous background operations |
US10818331B2 (en) | 2016-09-27 | 2020-10-27 | Spin Memory, Inc. | Multi-chip module for MRAM devices with levels of dynamic redundancy registers |
US11151042B2 (en) | 2016-09-27 | 2021-10-19 | Integrated Silicon Solution, (Cayman) Inc. | Error cache segmentation for power reduction |
US11386010B2 (en) | 2016-09-27 | 2022-07-12 | Integrated Silicon Solution, (Cayman) Inc. | Circuit engine for managing memory meta-stability |
US10991410B2 (en) * | 2016-09-27 | 2021-04-27 | Spin Memory, Inc. | Bi-polar write scheme |
US11048633B2 (en) | 2016-09-27 | 2021-06-29 | Spin Memory, Inc. | Determining an inactive memory bank during an idle memory cycle to prevent error cache overflow |
EP3534265A4 (en) * | 2016-11-16 | 2019-10-30 | Huawei Technologies Co., Ltd. | MEMORY ACCESS TECHNIQUE |
US20180191862A1 (en) * | 2016-12-29 | 2018-07-05 | Microsoft Technology Licensing, Llc | Detection and delegation of action tasks |
US10162756B2 (en) * | 2017-01-18 | 2018-12-25 | Intel Corporation | Memory-efficient last level cache architecture |
US10403352B2 (en) * | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
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 |
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 |
US10013197B1 (en) | 2017-06-01 | 2018-07-03 | Micron Technology, Inc. | Shift skip |
US10262701B2 (en) | 2017-06-07 | 2019-04-16 | Micron Technology, Inc. | Data transfer between subarrays in memory |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
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 |
EP3746921B1 (en) | 2018-02-02 | 2023-12-27 | Dover Microsystems, Inc. | Systems and methods for policy linking and/or loading for secure initialization |
TWI794405B (zh) | 2018-02-02 | 2023-03-01 | 美商查爾斯塔克德拉普實驗室公司 | 用於政策執行處理的系統及方法 |
US10672456B2 (en) | 2018-02-27 | 2020-06-02 | Micron Technology, Inc. | Three dimensional memory devices |
US10725696B2 (en) | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
EP3788488A1 (en) | 2018-04-30 | 2021-03-10 | Dover Microsystems, Inc. | Systems and methods for checking safety properties |
US10440341B1 (en) | 2018-06-07 | 2019-10-08 | Micron Technology, Inc. | Image processor formed in an array of memory cells |
US11175915B2 (en) * | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US10769071B2 (en) | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
US10483978B1 (en) | 2018-10-16 | 2019-11-19 | Micron Technology, Inc. | Memory device processing |
TW202022679A (zh) | 2018-11-06 | 2020-06-16 | 美商多佛微系統公司 | 用於停滯主處理器的系統和方法 |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
WO2020132012A1 (en) | 2018-12-18 | 2020-06-25 | Dover Microsystems, Inc. | Systems and methods for data lifecycle protection |
US11360704B2 (en) | 2018-12-21 | 2022-06-14 | Micron Technology, Inc. | Multiplexed signal development in a memory device |
WO2020167496A1 (en) * | 2019-02-13 | 2020-08-20 | Spin Memory, Inc. | Multi-chip module for mram devices |
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 |
US12079197B2 (en) | 2019-10-18 | 2024-09-03 | Dover Microsystems, Inc. | Systems and methods for updating metadata |
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 |
JP7423367B2 (ja) * | 2020-03-23 | 2024-01-29 | キオクシア株式会社 | 通信システム、デバイス、及び通信方法 |
CN114158284A (zh) * | 2020-07-07 | 2022-03-08 | 尼奥耐克索斯有限私人贸易公司 | 用于使用存储器内处理进行矩阵乘法的装置和方法 |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
CN115188404A (zh) * | 2021-04-07 | 2022-10-14 | 华为技术有限公司 | 存储装置和处理数据的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866223A (zh) * | 2005-05-20 | 2006-11-22 | 株式会社瑞萨科技 | 存储模块、存储系统、以及信息设备 |
CN103959260A (zh) * | 2011-11-30 | 2014-07-30 | 超威半导体公司 | 标签和数据共同存储在物理行中的dram高速缓存 |
Family Cites Families (281)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4380046A (en) | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
JPS6032911B2 (ja) | 1979-07-26 | 1985-07-31 | 株式会社東芝 | 半導体記憶装置 |
US4435792A (en) | 1982-06-30 | 1984-03-06 | Sun Microsystems, Inc. | Raster memory manipulation apparatus |
US4727474A (en) | 1983-02-18 | 1988-02-23 | Loral Corporation | Staging memory for massively parallel processor |
EP0214718A3 (en) | 1985-07-22 | 1990-04-04 | Alliant Computer Systems Corporation | Digital computer |
US5201039A (en) | 1987-09-30 | 1993-04-06 | Mitsubishi Denki Kabushiki Kaisha | Multiple address-space data processor with addressable register and context switching |
US4843264A (en) | 1987-11-25 | 1989-06-27 | Visic, Inc. | Dynamic sense amplifier for CMOS static RAM |
US5276643A (en) | 1988-08-11 | 1994-01-04 | Siemens Aktiengesellschaft | Integrated semiconductor circuit |
JPH0713858B2 (ja) | 1988-08-30 | 1995-02-15 | 三菱電機株式会社 | 半導体記憶装置 |
US5023838A (en) | 1988-12-02 | 1991-06-11 | Ncr Corporation | Random access memory device with integral logic capability |
US4958378A (en) | 1989-04-26 | 1990-09-18 | Sun Microsystems, Inc. | Method and apparatus for detecting changes in raster data |
US5253308A (en) | 1989-06-21 | 1993-10-12 | Amber Engineering, Inc. | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing |
EP0446721B1 (en) | 1990-03-16 | 2000-12-20 | Texas Instruments Incorporated | Distributed processing memory |
US5034636A (en) | 1990-06-04 | 1991-07-23 | Motorola, Inc. | Sense amplifier with an integral logic function |
US5210850A (en) | 1990-06-15 | 1993-05-11 | Compaq Computer Corporation | Memory address space determination using programmable limit registers with single-ended comparators |
JP3361825B2 (ja) | 1990-08-22 | 2003-01-07 | テキサス インスツルメンツ インコーポレイテツド | メモリ・アレイ・アーキテクチャ |
JPH06103599B2 (ja) | 1990-11-16 | 1994-12-14 | 三菱電機株式会社 | 半導体集積回路装置 |
US5325519A (en) | 1991-10-18 | 1994-06-28 | Texas Microsystems, Inc. | Fault tolerant computer with archival rollback capabilities |
FR2685973B1 (fr) | 1992-01-03 | 1994-02-25 | France Telecom | Point memoire pour memoire associative. |
KR950005095Y1 (ko) | 1992-03-18 | 1995-06-22 | 문정환 | 양방향성 그로벌 비트 라인을 갖는 dram |
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 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
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 |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
JP2812262B2 (ja) | 1995-08-31 | 1998-10-22 | 日本電気株式会社 | 連想記憶装置 |
JP2817836B2 (ja) | 1995-11-30 | 1998-10-30 | 日本電気株式会社 | 半導体メモリ装置 |
JP3356612B2 (ja) | 1996-02-29 | 2002-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 高速な輪郭スムージング方法及び装置 |
US6092186A (en) | 1996-05-07 | 2000-07-18 | Lucent Technologies Inc. | Apparatus and method for aborting un-needed instruction fetches in a digital microprocessor device |
US5915084A (en) | 1996-09-30 | 1999-06-22 | Advanced Micro Devices, Inc. | Scannable sense amplifier circuit |
US5991209A (en) | 1997-04-11 | 1999-11-23 | Raytheon Company | Split sense amplifier and staging buffer for wide memory architecture |
JP3592887B2 (ja) | 1997-04-30 | 2004-11-24 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6510098B1 (en) | 1997-05-28 | 2003-01-21 | Cirrus Logic, Inc. | Method and apparatus for transferring data in a dual port memory |
JPH1115773A (ja) | 1997-06-24 | 1999-01-22 | Matsushita Electron Corp | 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法 |
US5935263A (en) | 1997-07-01 | 1999-08-10 | Micron Technology, Inc. | Method and apparatus for memory array compressed data testing |
US6195734B1 (en) | 1997-07-02 | 2001-02-27 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
US6181698B1 (en) | 1997-07-09 | 2001-01-30 | Yoichi Hariguchi | Network routing table using content addressable memory |
US6025221A (en) | 1997-08-22 | 2000-02-15 | Micron Technology, Inc. | Processing methods of forming integrated circuitry memory devices, methods of forming DRAM arrays, and related semiconductor masks |
US5991785A (en) | 1997-11-13 | 1999-11-23 | Lucent Technologies Inc. | Determining an extremum value and its index in an array using a dual-accumulation processor |
US5867429A (en) | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
US6163862A (en) | 1997-12-01 | 2000-12-19 | International Business Machines Corporation | On-chip test circuit for evaluating an on-chip signal using an external test signal |
JP3488612B2 (ja) | 1997-12-11 | 2004-01-19 | 株式会社東芝 | センス増幅回路 |
TW420294U (en) | 1997-12-30 | 2001-01-21 | Jang Jung Shuen | Infrared pen holder |
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 |
US7660941B2 (en) | 2003-09-10 | 2010-02-09 | Super Talent Electronics, Inc. | Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories |
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 |
US6339813B1 (en) * | 2000-01-07 | 2002-01-15 | International Business Machines Corporation | Memory system for permitting simultaneous processor access to a cache line and sub-cache line sectors fill and writeback to a system memory |
JP4627103B2 (ja) | 2000-01-18 | 2011-02-09 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
AU2000224587A1 (en) | 2000-02-04 | 2001-08-14 | Hitachi Ltd. | Semiconductor device |
WO2001065359A2 (en) | 2000-02-29 | 2001-09-07 | Peter Petrov | Method and apparatus for building a memory image |
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 |
KR100869870B1 (ko) | 2000-07-07 | 2008-11-24 | 모사이드 테크놀로지스, 인코포레이티드 | 메모리 소자에서의 읽기 명령 수행 방법 및 dram액세스 방법 |
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 |
US7546438B2 (en) | 2001-07-19 | 2009-06-09 | Chung Shine C | Algorithm mapping, specialized instructions and architecture features for smart memory computing |
US6807614B2 (en) | 2001-07-19 | 2004-10-19 | Shine C. Chung | Method and apparatus for using smart memories in computing |
ITRM20010531A1 (it) | 2001-08-31 | 2003-02-28 | Micron Technology Inc | Dispositivo rilevatore a bassa potenza e alta tensione per memorie ditipo flash. |
US7260672B2 (en) | 2001-09-07 | 2007-08-21 | Intel Corporation | Using data stored in a destructive-read memory |
US7062689B2 (en) | 2001-12-20 | 2006-06-13 | Arm Limited | Method and apparatus for memory self testing |
US20040073773A1 (en) | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
US6707729B2 (en) | 2002-02-15 | 2004-03-16 | Micron Technology, Inc. | Physically alternating sense amplifier activation |
WO2003088033A1 (en) | 2002-04-09 | 2003-10-23 | University Of Rochester | Multiplier-based processor-in-memory architectures for image and graphics processing |
JP2003331598A (ja) | 2002-05-13 | 2003-11-21 | Mitsubishi Electric Corp | 半導体記憶装置 |
US7406494B2 (en) | 2002-05-14 | 2008-07-29 | Texas Instruments Incorporated | Method of generating a cycle-efficient bit-reverse index array for a wireless communication system |
JP2003346484A (ja) | 2002-05-23 | 2003-12-05 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
US6789099B2 (en) | 2002-06-10 | 2004-09-07 | International Business Machines Corporation | Sense-amp based adder with source follower evaluation tree |
US7054178B1 (en) | 2002-09-06 | 2006-05-30 | Etron Technology, Inc. | Datapath architecture for high area efficiency |
US6987693B2 (en) | 2002-09-24 | 2006-01-17 | Sandisk Corporation | Non-volatile memory and method with reduced neighboring field errors |
US7079407B1 (en) | 2002-10-18 | 2006-07-18 | Netlogic Microsystems, Inc. | Content addressable memory (CAM) device including match line sensing |
US6765834B2 (en) | 2002-11-19 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | System and method for sensing memory cells of an array of memory cells |
US7073026B2 (en) | 2002-11-26 | 2006-07-04 | Advanced Micro Devices, Inc. | Microprocessor including cache memory supporting multiple accesses per cycle |
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 |
AU2002353406A1 (en) | 2002-12-27 | 2004-07-22 | Solid State System Co., Ltd. | Nonvolatile memory unit with specific cache |
US7346903B2 (en) | 2003-02-04 | 2008-03-18 | Sun Microsystems, Inc. | Compiling and linking modules of a cycle-based logic design |
US6768679B1 (en) | 2003-02-10 | 2004-07-27 | Advanced Micro Devices, Inc. | Selection circuit for accurate memory read operations |
JP2006520044A (ja) | 2003-03-06 | 2006-08-31 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データフローアプリケーションを処理するために最適化されるキャッシュを備えるデータ処理システム |
US6819612B1 (en) | 2003-03-13 | 2004-11-16 | Advanced Micro Devices, Inc. | Apparatus and method for a sense amplifier circuit that samples and holds a reference voltage |
US6865122B2 (en) | 2003-04-11 | 2005-03-08 | Intel Corporation | Reclaiming blocks in a block-alterable memory |
US7447720B2 (en) | 2003-04-23 | 2008-11-04 | Micron Technology, Inc. | Method for finding global extrema of a set of bytes distributed across an array of parallel processing elements |
US7574466B2 (en) | 2003-04-23 | 2009-08-11 | Micron Technology, Inc. | Method for finding global extrema of a set of shorts distributed across an array of parallel processing elements |
US7454451B2 (en) | 2003-04-23 | 2008-11-18 | Micron Technology, Inc. | Method for finding local extrema of a set of values for a parallel processing element |
US9015390B2 (en) | 2003-04-25 | 2015-04-21 | Micron Technology, Inc. | Active memory data compression system and method |
DE10319271A1 (de) | 2003-04-29 | 2004-11-25 | Infineon Technologies Ag | Speicher-Schaltungsanordnung und Verfahren zur Herstellung |
JP3898152B2 (ja) | 2003-05-27 | 2007-03-28 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
EP1665286B8 (en) | 2003-09-04 | 2007-09-12 | Nxp B.V. | Integrated circuit and a method of cache remapping |
US6956770B2 (en) | 2003-09-17 | 2005-10-18 | Sandisk Corporation | Non-volatile memory and method with bit line compensation dependent on neighboring operating modes |
US7177183B2 (en) | 2003-09-30 | 2007-02-13 | Sandisk 3D Llc | Multiple twin cell non-volatile memory array and logic block structure and method therefor |
US7913125B2 (en) | 2003-11-04 | 2011-03-22 | Lsi Corporation | BISR mode to test the redundant elements and regular functional memory to avoid test escapes |
US6950771B1 (en) | 2003-12-09 | 2005-09-27 | Xilinx, Inc. | Correlation of electrical test data with physical defect data |
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 |
JP4036206B2 (ja) | 2004-03-31 | 2008-01-23 | 日本電気株式会社 | セットアソシアティブキャッシュシステム及びキャッシュメモリの制御方法 |
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 |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
KR100720644B1 (ko) | 2005-11-17 | 2007-05-21 | 삼성전자주식회사 | 메모리 장치 및 메모리 그 동작 방법 |
JP4804479B2 (ja) | 2005-12-13 | 2011-11-02 | スパンション エルエルシー | 半導体装置およびその制御方法 |
JP5129450B2 (ja) | 2006-01-16 | 2013-01-30 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
US8077533B2 (en) | 2006-01-23 | 2011-12-13 | Freescale Semiconductor, Inc. | Memory and method for sensing data in a memory using complementary sensing scheme |
JP4989900B2 (ja) | 2006-01-31 | 2012-08-01 | ルネサスエレクトロニクス株式会社 | 並列演算処理装置 |
US7400532B2 (en) | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
KR100755370B1 (ko) | 2006-04-17 | 2007-09-04 | 삼성전자주식회사 | 반도체 메모리 장치 |
TW200828333A (en) | 2006-04-28 | 2008-07-01 | Samsung Electronics Co Ltd | Sense amplifier circuit and sense amplifier-based flip-flop having the same |
US7752417B2 (en) | 2006-06-05 | 2010-07-06 | Oracle America, Inc. | Dynamic selection of memory virtualization techniques |
US7372715B2 (en) | 2006-06-14 | 2008-05-13 | Micron Technology, Inc. | Architecture and method for NAND flash memory |
US8069377B2 (en) | 2006-06-26 | 2011-11-29 | Micron Technology, Inc. | Integrated circuit having memory array including ECC and column redundancy and method of operating the same |
US7724559B2 (en) | 2006-07-14 | 2010-05-25 | International Business Machines Corporation | Self-referenced match-line sense amplifier for content addressable memories |
US7885119B2 (en) | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
US7443729B2 (en) | 2006-07-20 | 2008-10-28 | Sandisk Corporation | System that compensates for coupling based on sensing a neighbor using coupling |
US7692466B2 (en) | 2006-08-18 | 2010-04-06 | Ati Technologies Ulc | Sense amplifier based flip-flop |
US7805587B1 (en) | 2006-11-01 | 2010-09-28 | Nvidia Corporation | Memory addressing controlled by PTE fields |
US8151082B2 (en) | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
US7471536B2 (en) | 2006-12-08 | 2008-12-30 | Texas Instruments Incorporated | Match mismatch emulation scheme for an addressed location in a CAM |
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 |
US9015399B2 (en) * | 2007-08-20 | 2015-04-21 | Convey Computer | Multiple data channel memory module architecture |
US7869273B2 (en) | 2007-09-04 | 2011-01-11 | Sandisk Corporation | Reducing the impact of interference during programming |
US7787319B2 (en) | 2007-09-06 | 2010-08-31 | Innovative Silicon Isi Sa | Sense amplifier circuitry for integrated circuit having memory cell array, and method of operating same |
US8042082B2 (en) | 2007-09-12 | 2011-10-18 | Neal Solomon | Three dimensional memory in a system on a chip |
US7965564B2 (en) | 2007-09-18 | 2011-06-21 | Zikbit Ltd. | Processor arrays made of standard memory cells |
US7663928B2 (en) | 2007-10-09 | 2010-02-16 | Ememory Technology Inc. | Sense amplifier circuit having current mirror architecture |
WO2009052525A1 (en) | 2007-10-19 | 2009-04-23 | Virident Systems, Inc. | Managing memory systems containing components with asymmetric characteristics |
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 | ルネサスエレクトロニクス株式会社 | 半導体信号処理装置 |
US8332580B2 (en) | 2008-04-02 | 2012-12-11 | Zikbit Ltd. | System, method and apparatus for memory with embedded associative section for computations |
US20090254694A1 (en) | 2008-04-02 | 2009-10-08 | Zikbit Ltd. | Memory device with integrated parallel processing |
US7957206B2 (en) | 2008-04-04 | 2011-06-07 | Micron Technology, Inc. | Read circuitry for an integrated circuit having memory cells and/or a memory cell array, and method of operating same |
US8339824B2 (en) | 2008-07-02 | 2012-12-25 | Cooke Laurence H | Nearest neighbor serial content addressable memory |
US8555037B2 (en) | 2008-08-15 | 2013-10-08 | Apple Inc. | Processing vectors using wrapping minima and maxima instructions in the macroscalar architecture |
US8417921B2 (en) | 2008-08-15 | 2013-04-09 | Apple Inc. | Running-min and running-max instructions for processing vectors using a base value from a key element of an input vector |
US8259509B2 (en) | 2008-08-18 | 2012-09-04 | Elpida Memory, Inc. | Semiconductor memory device and method with auxiliary I/O line assist circuit and functionality |
US8103830B2 (en) | 2008-09-30 | 2012-01-24 | Intel Corporation | Disabling cache portions during low voltage operations |
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 |
JP2011028736A (ja) * | 2009-07-02 | 2011-02-10 | Fujitsu Ltd | キャッシュメモリ装置、演算処理装置及びキャッシュメモリ装置の制御方法 |
US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
JP5568133B2 (ja) | 2009-08-18 | 2014-08-06 | ダウ コーニング コーポレーション | 多層経皮パッチ |
US8059438B2 (en) | 2009-08-28 | 2011-11-15 | International Business Machines Corporation | Content addressable memory array programmed to perform logic operations |
US8077532B2 (en) | 2009-09-02 | 2011-12-13 | Micron Technology, Inc. | Small unit internal verify read in a memory device |
US8482975B2 (en) | 2009-09-14 | 2013-07-09 | Micron Technology, Inc. | Memory kink checking |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
WO2011048522A2 (en) | 2009-10-21 | 2011-04-28 | Zikbit Ltd. | Neighborhood operations for parallel processing |
US8650232B2 (en) | 2009-10-26 | 2014-02-11 | Via Technologies, Inc. | System and method for determination of a horizontal minimum of digital values |
KR101634340B1 (ko) | 2009-11-03 | 2016-06-28 | 삼성전자주식회사 | 반도체 메모리 장치의 프로그램 방법 |
US8583896B2 (en) | 2009-11-13 | 2013-11-12 | Nec Laboratories America, Inc. | Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain |
KR20110054773A (ko) | 2009-11-18 | 2011-05-25 | 삼성전자주식회사 | 비트라인 디스털번스를 개선하는 반도체 메모리 장치 |
US8089815B2 (en) | 2009-11-24 | 2012-01-03 | Sandisk Technologies Inc. | Programming memory with bit line floating to reduce channel-to-floating gate coupling |
US8605015B2 (en) | 2009-12-23 | 2013-12-10 | Syndiant, Inc. | Spatial light modulator with masking-comparators |
JP2011146102A (ja) | 2010-01-15 | 2011-07-28 | Elpida Memory Inc | 半導体装置及びデータ処理システム |
CN102141905B (zh) | 2010-01-29 | 2015-02-25 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
US8164942B2 (en) | 2010-02-01 | 2012-04-24 | International Business Machines Corporation | High performance eDRAM sense amplifier |
US8533245B1 (en) | 2010-03-03 | 2013-09-10 | Altera Corporation | Multipliers with a reduced number of memory blocks |
WO2011137189A1 (en) | 2010-04-27 | 2011-11-03 | Cornell Research Foundation | System and methods for mapping and searching objects in multidimensional space |
KR101119371B1 (ko) | 2010-04-29 | 2012-03-06 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 이의 동작 방법 |
US8559232B2 (en) | 2010-05-03 | 2013-10-15 | Aplus Flash Technology, Inc. | DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation |
US8351278B2 (en) | 2010-06-23 | 2013-01-08 | International Business Machines Corporation | Jam latch for latching memory array output data |
KR101143471B1 (ko) | 2010-07-02 | 2012-05-11 | 에스케이하이닉스 주식회사 | 센스앰프 및 이를 포함하는 반도체 장치 |
US20120017039A1 (en) | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
US8462532B1 (en) | 2010-08-31 | 2013-06-11 | Netlogic Microsystems, Inc. | Fast quaternary content addressable memory cell |
US8347154B2 (en) | 2010-09-21 | 2013-01-01 | International Business Machines Corporation | Use of hashing function to distinguish random and repeat errors in a memory system |
US8904115B2 (en) | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
US8332367B2 (en) | 2010-10-20 | 2012-12-11 | International Business Machines Corporation | Parallel data redundancy removal |
KR101148352B1 (ko) | 2010-11-02 | 2012-05-21 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작 방법 |
JP5528987B2 (ja) | 2010-11-11 | 2014-06-25 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
US8553482B2 (en) | 2010-11-29 | 2013-10-08 | Apple Inc. | Sense amplifier and sense amplifier latch having common control |
WO2012104674A1 (en) | 2011-01-31 | 2012-08-09 | Freescale Semiconductor, Inc. | Integrated circuit device and method for determining an index of an extreme value within an array of values |
KR20120088973A (ko) | 2011-02-01 | 2012-08-09 | 삼성전자주식회사 | 로컬 센스앰프 회로 및 이를 포함하는 반도체 메모리 장치 |
JP2012174016A (ja) | 2011-02-22 | 2012-09-10 | Renesas Electronics Corp | データ処理装置およびそのデータ処理方法 |
JP5259765B2 (ja) | 2011-03-29 | 2013-08-07 | 株式会社東芝 | 不揮発性半導体メモリ |
US8725730B2 (en) | 2011-05-23 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Responding to a query in a data processing system |
US8902653B2 (en) * | 2011-08-12 | 2014-12-02 | Micron Technology, Inc. | Memory devices and configuration methods for a memory device |
US8706958B2 (en) | 2011-09-01 | 2014-04-22 | Thomas Hein | Data mask encoding in data bit inversion scheme |
GB2510286B (en) | 2011-10-28 | 2015-08-19 | Hewlett Packard Development Co | Row shifting shiftable memory |
US8891297B2 (en) | 2011-11-01 | 2014-11-18 | Micron Technology, Inc. | Memory cell sensing |
US9830158B2 (en) | 2011-11-04 | 2017-11-28 | Nvidia Corporation | Speculative execution and rollback |
KR101321481B1 (ko) | 2011-11-04 | 2013-10-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 위한 테스트 회로 |
KR20130052971A (ko) | 2011-11-14 | 2013-05-23 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
GB2511957B (en) | 2011-11-22 | 2015-02-11 | Mips Tech Inc | Processor with kernel mode access to user space virtual addresses |
US9208110B2 (en) | 2011-11-29 | 2015-12-08 | Intel Corporation | Raw memory transaction support |
WO2013081588A1 (en) | 2011-11-30 | 2013-06-06 | Intel Corporation | Instruction and logic to provide vector horizontal compare functionality |
KR20130072869A (ko) | 2011-12-22 | 2013-07-02 | 에스케이하이닉스 주식회사 | 프리차지 회로 및 비휘발성 메모리 장치 |
CN104011657B (zh) | 2011-12-22 | 2016-10-12 | 英特尔公司 | 用于向量计算和累计的装置和方法 |
US20130286705A1 (en) | 2012-04-26 | 2013-10-31 | David B. Grover | Low power content addressable memory hitline precharge and sensing circuit |
US10474584B2 (en) | 2012-04-30 | 2019-11-12 | Hewlett Packard Enterprise Development Lp | Storing cache metadata separately from integrated circuit containing cache controller |
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 |
US9430410B2 (en) | 2012-07-30 | 2016-08-30 | Soft Machines, Inc. | Systems and methods for supporting a plurality of load accesses of a cache in a single cycle |
US8990512B2 (en) * | 2012-10-31 | 2015-03-24 | Intel Corporation | Method and apparatus for error correction in a cache |
KR102062301B1 (ko) | 2013-01-03 | 2020-01-03 | 삼성전자주식회사 | 메모리 장치의 페이지 복사 방법 및 메모리 시스템의 페이지 관리 방법 |
US20140215185A1 (en) | 2013-01-29 | 2014-07-31 | Atmel Norway | Fetching instructions of a loop routine |
US9158667B2 (en) | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9171153B2 (en) | 2013-05-17 | 2015-10-27 | Hewlett-Packard Development Company, L.P. | Bloom filter with memory element |
US8964496B2 (en) | 2013-07-26 | 2015-02-24 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
US8971124B1 (en) | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9153305B2 (en) | 2013-08-30 | 2015-10-06 | Micron Technology, Inc. | Independently addressable memory array address spaces |
US9019785B2 (en) | 2013-09-19 | 2015-04-28 | Micron Technology, Inc. | Data shifting via a number of isolation devices |
US9449675B2 (en) | 2013-10-31 | 2016-09-20 | Micron Technology, Inc. | Apparatuses and methods for identifying an extremum value stored in an array of memory cells |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
US9411694B2 (en) * | 2014-02-12 | 2016-08-09 | Micron Technology, Inc. | Correcting recurring errors in memory |
US9934856B2 (en) | 2014-03-31 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for comparing data patterns in memory |
WO2015171905A1 (en) | 2014-05-08 | 2015-11-12 | Micron Technology, Inc. | In-memory lightweight coherency |
US10838865B2 (en) | 2014-05-08 | 2020-11-17 | Micron Technology, Inc. | Stacked memory device system interconnect directory-based cache coherence methodology |
US10073786B2 (en) * | 2015-05-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for compute enabled cache |
-
2016
- 2016-03-10 US US15/066,488 patent/US10073786B2/en active Active
- 2016-05-19 EP EP16800515.5A patent/EP3304319B1/en active Active
- 2016-05-19 WO PCT/US2016/033259 patent/WO2016191191A1/en unknown
- 2016-05-19 CN CN201680030869.8A patent/CN107683505B/zh active Active
- 2016-05-26 TW TW105116507A patent/TWI651617B/zh active
-
2018
- 2018-09-10 US US16/126,169 patent/US10372612B2/en active Active
-
2019
- 2019-08-05 US US16/531,619 patent/US10970218B2/en active Active
-
2021
- 2021-04-05 US US17/222,642 patent/US11599475B2/en active Active
-
2023
- 2023-03-06 US US18/117,974 patent/US12050536B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866223A (zh) * | 2005-05-20 | 2006-11-22 | 株式会社瑞萨科技 | 存储模块、存储系统、以及信息设备 |
CN103959260A (zh) * | 2011-11-30 | 2014-07-30 | 超威半导体公司 | 标签和数据共同存储在物理行中的dram高速缓存 |
Also Published As
Publication number | Publication date |
---|---|
US10970218B2 (en) | 2021-04-06 |
WO2016191191A1 (en) | 2016-12-01 |
TWI651617B (zh) | 2019-02-21 |
CN107683505A (zh) | 2018-02-09 |
TW201710909A (zh) | 2017-03-16 |
US10372612B2 (en) | 2019-08-06 |
US12050536B2 (en) | 2024-07-30 |
US20190018782A1 (en) | 2019-01-17 |
EP3304319A4 (en) | 2019-01-09 |
EP3304319A1 (en) | 2018-04-11 |
US20160350230A1 (en) | 2016-12-01 |
US20190354485A1 (en) | 2019-11-21 |
US20230236983A1 (en) | 2023-07-27 |
EP3304319B1 (en) | 2020-07-08 |
US20210224192A1 (en) | 2021-07-22 |
US10073786B2 (en) | 2018-09-11 |
US11599475B2 (en) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107683505B (zh) | 用于计算启用的高速缓冲存储器的设备及方法 | |
US11513713B2 (en) | Apparatuses and methods for partitioned parallel data movement | |
US11614877B2 (en) | Apparatuses and methods for data movement | |
US11693783B2 (en) | Apparatuses and methods for cache operations | |
US10482948B2 (en) | Apparatuses and methods for data movement | |
US10915249B2 (en) | Apparatuses and methods for in-memory operations | |
CN107408404B (zh) | 用于存储器装置的设备及方法以作为程序指令的存储 | |
CN107408405B (zh) | 用于并行写入到多个存储器装置位置的设备及方法 | |
US9921777B2 (en) | Apparatuses and methods for data transfer from sensing circuitry to a controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240115 Address after: Illinois, USA Patentee after: North Star Franchise Group Co.,Ltd. Address before: Idaho Patentee before: MICRON TECHNOLOGY, Inc. |
|
TR01 | Transfer of patent right |