CN109427384B - 存储器内处理 - Google Patents
存储器内处理 Download PDFInfo
- Publication number
- CN109427384B CN109427384B CN201811004176.9A CN201811004176A CN109427384B CN 109427384 B CN109427384 B CN 109427384B CN 201811004176 A CN201811004176 A CN 201811004176A CN 109427384 B CN109427384 B CN 109427384B
- Authority
- CN
- China
- Prior art keywords
- operations
- array
- ras
- pim
- timing
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 50
- 230000015654 memory Effects 0.000 claims abstract description 124
- 238000000034 method Methods 0.000 claims abstract description 23
- 239000013598 vector Substances 0.000 claims description 67
- 230000004044 response Effects 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 230000000295 complement effect Effects 0.000 description 37
- 230000006870 function Effects 0.000 description 23
- 238000003491 array Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 9
- 150000001875 compounds Chemical class 0.000 description 8
- 239000003990 capacitor Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000007792 addition Methods 0.000 description 6
- 239000000872 buffer Substances 0.000 description 6
- 230000003213 activating effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 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
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000011067 equilibration Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
- G11C11/4085—Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
-
- 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
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Databases & Information Systems (AREA)
Abstract
提供用于存储器内处理的设备及方法。实例设备包含具有存储器内处理PIM能力的装置,所述具有PIM能力的装置具有存储器单元阵列及耦合到所述阵列的感测电路。所述具有PIM能力的装置包含可选择地耦合到所述阵列的行地址选通RAS组件。所述RAS组件经配置以选择所述阵列中的特定行、从所述阵列中的所述特定行检索数据值,及将数据值输入到所述阵列中的所述特定行。所述具有PIM能力的装置还包含可选择地耦合到所述RAS组件的RAS管理器。所述RAS管理器经配置以协调使用所述RAS组件执行的计算子操作序列的定时。所述设备还包含在所述具有PIM能力的装置外部的源。所述RAS管理器经配置以从所述源接收指令,以使用所述感测电路控制计算操作的执行定时。
Description
技术领域
本公开大体上涉及半导体存储器及方法,且更确切地说,涉及用于存储器内处理的设备及方法。
背景技术
存储器装置通常被提供为计算机或其它计算系统中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器可能需要功率来保持其数据,例如主机数据、误差数据等,并且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)及晶闸管随机存取存储器(TRAM)等等。非易失性存储器可通过在未被供电时保存所存储数据来提供永久数据,且可包含NAND快闪存储器、NOR快闪存储器及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)及磁阻随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STT RAM)等等。
计算系统通常包含多个处理资源,例如,一或多个处理器,其可检索及执行指令并且将所执行指令的结果存储到合适位置。例如CPU的处理资源可包含多个功能单元,例如,算术逻辑单元(ALU)电路、浮点单元(FPU)电路,及/或组合逻辑块,举例来说,所述功能单元可用于通过执行AND、OR、NOT、NAND、NOR及XOR等逻辑运算来执行指令,并且将对例如一或多个操作数的数据的逻辑运算反转,例如,逆运算。举例来说,功能单元电路可用于通过多个逻辑运算对操作数执行算术运算,例如加法、减法、乘法及/或除法。
计算系统中的多个组件可涉及向功能单元电路提供指令以供执行。所述指令可例如由控制器及/或主机处理器等处理资源执行。数据,例如将对其执行指令的操作数可存储于可由功能单元电路存取的存储器阵列中。指令及/或数据可从存储器阵列检索,并且在功能单元电路开始对数据执行指令之前对进行排序及/或缓冲。此外,由于可通过功能单元电路在一或多个时钟循环中执行不同类型的操作,因此指令及/或数据的中间结果也可进行排序及/或缓冲。在一或多个时钟循环中完成操作的序列可被称为操作循环。就计算装置及/或系统的处理及计算性能及功率消耗而言,完成操作循环所消耗的时间成本高。
在许多情况下,处理资源,例如处理器及/或相关联的功能单元电路可在存储器阵列外部,并且数据通过处理资源与存储器阵列之间的总线进行存取以执行指令集。处理性能可在存储器内处理器装置中改进,其中可在存储器内部及/或接近存储器,例如,直接在与存储器阵列相同的芯片上实施处理器。存储器内处理器装置可通过减少及/或消除外部通信来节约时间并且还可节约电力。
发明内容
附图说明
图1A是包含耦合到主机的存储器装置的一个实例的采用计算系统形式的设备的框图。
图1B是根据本公开的多个实施例的包含存储器装置的采用计算系统形式的设备的另一框图。
图2是说明根据本公开的多个实施例的存储器装置的感测电路的示意图。
图3是说明根据本公开的多个实施例的存储器装置的感测电路的另一示意图。
图4是说明根据本公开的多个实施例的由图3中所示的感测电路实施的可选择逻辑运算结果的逻辑表。
具体实施方式
本公开包含用于使用具有存储器内处理(PIM)能力的装置来执行存储器内操作的设备及方法。例如,如结合图1A所展示及描述的包含具有PIM能力的装置的设备的实例包含存储器单元阵列及耦合到阵列的感测电路,其中感测电路包含感测放大器及计算组件。具有PIM能力的装置包含可选择地耦合到阵列的行地址选通(RAS)组件。RAS组件经配置以选择阵列中的存储器单元的特定行、从特定行检索数据值,及/或将数据值输入到特定行。具有PIM能力的装置还包含可选择地耦合到RAS组件的RAS管理器。RAS管理器经配置以协调与使用RAS组件执行的位向量运算相关联的计算子操作序列的定时。设备还包含在具有PIM能力的装置外部的源。RAS管理器经配置以从源接收指令,以使用感测电路控制与位向量运算相关联的计算操作的执行定时。
在一些实施例中,具有PIM能力的装置,例如位向量运算电路可包含RAS管理器及RAS组件。具有PIM能力的装置可经配置以基于能够执行存储器操作,例如本文所描述的位向量运算及/或逻辑运算的逻辑运算命令而例如,通过RAS管理器及/或RAS组件控制阵列对执行子操作的定时。
如本文所使用,具有PIM能力的装置101可指能够使用存储器装置内部的处理资源对存储于存储器单元阵列中的数据执行逻辑运算,例如,而不将数据传递到主机处理器等外部处理资源的存储器装置。举例来说,具有PIM能力的装置101可包含耦合到感测电路的存储器阵列,所述感测电路包括可操作为1位处理元件,例如以在每列基础上执行并行处理的感测组件。除了可被称为“位向量运算”的“存储器内”执行的逻辑运算之外,具有PIM能力的装置101还可执行存储器操作。举例来说,具有PIM能力的装置101可包含具有存储器操作的动态随机存取存储器(DRAM)阵列,所述存储器操作包含不涉及对数据的操作,例如,通过对数据执行布尔运算的存储器存取操作,例如,加载等读取及/或写入,例如存储以及擦除等其它操作。举例来说,取决于例如由主机110正执行的程序的类型,具有PIM能力的装置101可将DRAM阵列操作为“正常”DRAM阵列及/或PIM DRAM阵列,其可包含存储器操作及位向量运算两者。举例来说,位向量运算可包含布尔运算等逻辑运算,例如AND、OR、XOR等,及转移操作,例如移位阵列中的数据值及对数据值求逆,以及其它实例。
如本文所使用,PIM操作可指与利用具有PIM能力的装置执行存储器内处理相关联的不同操作。操作层级可用于限定PIM操作的级别。举例来说,操作层级中第一级,例如低级可包含低级位向量运算,例如基本及/或个别逻辑运算的执行,所述低级位向量运算可被称为“基元”运算。操作层级中的下一级,例如中间级可包含复合运算的执行,所述复合运算包括接收用于执行多个位向量运算的指令。举例来说,复合运算可包含加法、乘法等数学运算,所述数学运算可包括多个逻辑AND、OR、XOR、移位等。操作层级中的第三级,例如高级可包含与执行由主机110确定的程序及相关联指令发送到具有PIM能力的装置101相关联的控制流操作,例如循环、分支等,其中这些命令的执行涉及通过具有PIM能力的装置执行下游逻辑运算,包含位向量运算。因此,在主机110输入控制流操作命令之后,基于具有PIM能力的装置101上的逻辑运算的执行能力,操作层级中的第三级可被称为由具有PIM能力的装置101“自动控制”。
如本文更详细地描述,PIM操作可通过包括具有PIM能力的装置的系统内的各个组件执行。举例来说,本公开描述操作层级中的第一级,其中可被称为“标量单元”且可位于主机110上的控制逻辑131可执行控制流操作,及/或可向还可位于主机上的定序器132提供复合运算。复合运算可包含其中将执行一些运算(例如,加法、乘法、移位、逻辑运算等)的多个运算。在一些实施例中,复合运算命令可提供进入VLIW指令序列的入口点,以致使执行此类复合运算。在多个实施例中,定序器132可向定时电路133提供控制逻辑运算的执行定时的定序指令,所述定时电路还可位于主机上。定时电路133可例如,通过与存储器阵列130及/或耦合到存储器阵列130的感测电路150相关联的RAS组件136将用于执行低级位向量运算的定时指令从主机110提供到位于具有PIM能力的装置上的控制器140,例如,提供给与随后可引导低级位向量运算的执行的控制器140相关联的RAS管理器139。与控制器140相关联的RAS管理器139还可实现及/或引导低级位向量运算的执行结果返回到主机110。
相比于其中定序器132、定时电路133、RAS管理器139及RAS组件136可位于具有PIM能力的装置101上的层级的第三级,本文描述的第一级在这些组件之中可仅具有位于具有PIM能力的装置101上的RAS管理器139及RAS组件136。因此,在通过主机110上的控制逻辑131、定序器132及定时电路133执行先前操作之后,基于由具有PIM能力的装置101上的RAS管理器139及RAS组件136执行低级位向量运算的能力,操作层级中的第一级可被称为由具有PIM能力的装置101“引导控制”。
如本文进一步描述,用于在具有PIM能力的装置101与主机110之间传递用于执行PIM操作及/或传递其结果的指令(例如命令)的接口,例如总线可包含边带信道157。边带信道157可为与存储器接口,例如,DDR接口分离的总线,所述存储器接口用于传递例如,用于DRAM读取及/或写入操作的命令、地址及/或数据。
在本公开的以下详细描述中,参考形成其部分的附图,且其中通过图示展示可实践本公开的一或多个实施例的方式。足够详细地描述这些实施例以使得所属领域的一般技术人员能够实践本公开的实施例,且应理解,可利用其它实施例且可在不脱离本公开的范围的情况下进行工艺、电气及/或结构变化。
应理解,本文中所用的术语仅仅是为了描述具体实施例且并不意图为限制性的。如本文中所使用,除非上下文另外明确规定,否则单数形式“一”和“所述”可包含单个及复数个指示物两者。另外,“数个”、“至少一个”及“一或多个”,例如数个存储器阵列,可指一或多个存储器阵列,而“多个”预期指此类事物中的多于一个。此外,贯穿本申请案以许可的意义,即,具有能够的潜力而非以强制性的意义,即必须,使用单词“可”。术语“包含”及其派生词意指“包含但不限于”。视上下文而定,术语“耦合(coupled/coupling)”意指物理上直接或间接连接或存取及移动(传输)命令及/或数据。视上下文而定,术语“数据”及“数据值”在本文中可互换地使用并可具有相同含义。视上下文而定,术语“与…分离”及“在…外部”在本文中也可互换地使用,例如以指示组件不在物理上及/或功能上集成为另一个组件的子组件,并可具有相同含义。视上下文而定,术语“与…相关联”可意指在物理上与另一个组件的子组件相关联,包括为其部分或是另一个组件的子组件。
本文中的图遵循编号定则,其中第一一或多个数字对应于图号,且剩余的数字标识图式中的元件或组件。可通过使用类似数字来标识不同图之间的类似元件或组件。举例来说,205可参考图2中的元件“05”,且类似元件在图3中可标记为305。可以参考标号后跟着连字符及另一数字或字母来提及一个图内的多个类似元件。举例来说,205-1可参考图2中的元件05-1且205-2可参考可类似于元件05-1的元件05-2。可在没有连字符及额外数字或字母的情况下大体上提及此类类似元件。举例来说,元件205-1及205-2可大体上标记为205。
可添加、交换及/或消除在本文中的各种实施例中展示的元件以便提供本公开的多个额外实施例。另外,图中提供的元件的比例及相对尺度预期说明本发明的某些实施例,且不应被视为限制性意义。
图1A是包含可选择地耦合到主机110的具有PIM能力的装置101的一个实例的采用计算系统100形式的设备的框图。如本文所使用,例如,如结合图1A所展示及描述的具有PIM能力的装置101、控制器140、边带信道157、存储器阵列130、感测电路150、控制逻辑131、定序器132、定时电路133、RAS管理器139、RAS组件136、信道控制器143,及/或例如,如结合图1B所展示及描述的组仲裁器145也可单独地被视为“设备”。
具有PIM能力的装置101(在本文中也被称为“存储器装置101”)可包含控制器140。除了DRAM操作,例如,读取、写入、复制及/或擦除操作等之外,通过具有PIM能力的装置101执行的操作可使用基于位向量的运算,例如,如本文所描述执行为逻辑运算的PIM操作。如本文所使用,术语“位向量”意指在存储器装置,例如,具有PIM能力的装置上的物理上连续数目个位,无论在存储器单元阵列中物理上成排连续,例如水平地定向,还是物理上成列连续,例如竖直定向。因此,如本文所使用,“位向量运算”意指在作为虚拟地址空间的连续部分(还称为“区块”)的位向量上例如,存储器内执行为PIM操作的操作。举例来说,虚拟地址空间的区块可具有256位的位长度。区块可或可不与虚拟地址空间中的其它区块在物理上相连。因此,位向量运算可包含逻辑运算,例如布尔运算,及额外运算,例如数据移位、加法、减法、乘法及/或除法等。
控制器140可与RAS管理器139相关联或可包含RAS管理器139,所述RAS管理器经配置以协调与使用RAS组件136执行的位向量运算相关联的计算子操作序列的定时。RAS管理器139可与存储器装置101上的控制器140物理地相关联。RAS组件136可以可选择地耦合到存储器单元阵列130。RAS组件136可经配置以选择阵列130中的存储器单元的特定行、从特定行检索数据值,及/或将数据值输入到特定行。
图1A中所展示的存储器单元阵列130可表示存储器装置101中的每个存储器单元阵列中的多个阵列及/或多个子阵列。在一些实施例中,阵列130可为DRAM阵列。然而,阵列130的实施例不限于DRAM配置。
在一些实施例中,经由RAS组件136从其输入数据值的特定行可为通过RAS组件136从其检索数据值的阵列130中的相同行或不同行。举例来说,在一些实施例中,数据值可经由RAS组件136从特定行中的特定位置处的特定存储器单元检索,计算操作可在检索到的数据值上执行,同时至少临时通过感测电路150存储,并且作为计算操作的执行结果的数据值可经由RAS组件136移动,例如返回到相同行中的相同位置处的相同存储器单元。然而,实施例不限于这些子操作。
在各种实施例中,由于通过RAS管理器139引导的计算操作,RAS组件136可经配置以执行与位向量运算相关联的计算操作的子操作。举例来说,RAS管理器139可引导RAS组件136执行使能够执行计算操作的子操作序列。此类子操作可包含将不同行中的多个数据值移位特定数目个位;将多个数据值从阵列130中的特定存储器单元及/或行移动,例如检索及/或输入到感测电路150,例如以供感测放大器206及/或计算组件231存储;及/或在有助于计算操作的精细度的其它子操作之中追踪为实现计算操作的执行而执行的多个子操作。举例来说,如本文所描述,在各种实施例中,计算操作可为使用感测电路150执行的移位运算及/或逻辑AND、OR及/或XOR布尔运算以及各种其它操作。
计算操作可在感测电路150中通过例如,如分别在206及306处所展示及结合图2及3所描述的感测放大器,及/或例如,如分别在231及331处所展示及结合图2及3所描述的计算组件来执行。在各种实施例中,计算操作可包含通过包含在感测电路中的感测放大器或计算组件存储,例如高速缓存数据值;对所存储数据值执行计算操作;及将计算操作的结果存储于阵列130中。
图1A提供为例如,如结合图2到4所展示及描述的包含具有PIM能力的装置101架构及/或功能性的系统100的实例。具有PIM能力的装置101进一步经配置以通过RAS管理器139接收用于使用感测电路150控制计算操作的执行定时的指令。在一些实施例中,指令可从位于与存储器装置101分离的源处的定时电路133,例如,处于位于存储器装置101外部的主机110处或与所述主机物理地相关联的定时电路接收。定时电路133可以可选择地耦合到存储器装置101上的RAS管理器139,以发布用于使用感测电路150控制与位向量运算相关联的计算操作的执行定时的指令。在一些实施例中,定时电路133及RAS管理器139可处于不同时钟域中并且以不同时钟速度操作。
由RAS管理器130接收到的逻辑运算命令可包含不同于用于读取及写入DRAM操作的双数据速率(DDR)命令的命令。可用于执行计算子操作序列的RAS组件136可不同于用于执行读取及写入DRAM操作的解码器电路,例如,在图1A处展示及结合图1A所描述的行解码器146及列解码器152。在多个实施例中,RAS组件136可经配置以将数据值移动到耦合到阵列130的感测电路150及从所述感测电路移动数据值,以在其上执行计算子操作,及将结果数据值移动到与RAS管理器139相关联的控制器140,例如以使结果数据值能够经由边带信道157传递到源,例如主机110。RAS管理器139可以可选择地耦合到边带信道157以从源接收命令,以通过RAS组件136协调计算子操作序列的定时。相反,例如,如在144处所展示及结合图1A所描述的输入/输出(I/O)电路可以可选择地耦合到例如,如在156处展示及结合图1A所描述的数据/地址总线,以从源接收用于通过解码器电路执行的读取及写入DRAM操作的命令。因此,RAS组件136可与解码器电路分离。
在读取及/或写入DRAM操作的执行及计算操作,例如逻辑运算的执行期间,用于控制计算操作的执行定时的指令的执行可提供共享资源,例如感测放大器206及/或计算组件231的无冲突使用。举例来说,定时指令的应用可通过减少或防止DRAM操作及计算操作或两个计算操作的基本上同时执行以及其它可能性来减少或防止感测电路150的感测放大器206的基本上同时使用,否则将使用例如感测放大器206中的至少一者,并且在一些实施例中还使用计算组件231中的至少一者。因此,定时电路133可提供定时以协调DRAM操作及/或计算操作的执行,并且负责提供对阵列,例如图1A中的阵列130的无冲突存取。在一些实施例中,主机110中的定时电路133可为或可包含状态机,以使用阵列的感测电路控制逻辑运算的执行定时。
预期操作中的每一者可被馈送到由定时电路133提供的先入先出(FIFO)缓冲器中,用于实现与同存储器单元阵列130相关联的感测电路150的定时协调。在各种实施例中,定时电路133提供定时并负责提供对来自多个FIFO队列的阵列的无冲突存取。因此,定时电路133可经配置以控制感测电路150的操作定时。举例来说,一个FIFO队列可通过主机110的定序器132及/或定时电路133及计算操作的处理经由控制逻辑131支持接收,例如输入,而一个FIFO队列可用于DRAM操作的输入及输出(I/O),以及其它可能配置。
在一些实施例中,RAS管理器139可与例如,用于控制对阵列130的读取及写入DRAM存取请求的双数据速率(DDR)寄存器(未展示)分离。举例来说,DDR寄存器可由主机110使用DDR信令经由数据/地址总线156,例如,用作DDR信道的I/O总线通过I/O电路144存取。
相反,在各种实施例中,边带信道157可经配置以从单独源,例如,与主机110相关联的定时电路133接收,例如传输命令及/或数据,以控制多个计算操作的执行。或者或另外,边带信道157可从信道控制器143接收,例如传输命令及/或数据。在各种实施例中,边带信道157可为例如,在定时电路133与RAS管理器139之间的用于与具有PIM能力的装置101直接通信的双向单信道,或边带信道157可包含,例如地址/控制(A/C)总线及/或带外总线(未展示)。状态及/或异常信息可通过例如,带外总线及/或地址、控制及/或命令,例如计算命令从存储器装置101上的控制器140提供到主机110,可经由边带信道157的A/C总线由控制器140,例如RAS管理器接收。
在各种实施例中,控制器140可产生状态及/或异常信息,所述状态及/或异常信息可例如经由边带信道157传递到主机110或从主机110传递。边带信道157可独立于,例如分离于双数据速率(DDR)存储器接口,例如控制总线154,所述DDR存储器接口可用于在主机110与具有PIM能力的装置101之间传递,例如传送DDR命令以供存储器内处理。举例来说,在一些实施例中,边带信道157可用于将用于致使位向量运算,例如逻辑及/或计算操作执行的命令从主机110传递到具有PIM能力的装置101以供存储器内处理,而控制总线154可用于将DRAM命令从主机110传递到具有PIM能力的装置101以供数据读取、数据写入及/或数据擦除操作的存储器内处理。在一些实施例中,经由控制总线154传递的DRAM命令可为用于控制DRAM,例如,DDR1SDRAM、DDR2SDRAM、DDR3SDRAM及/或DDR4SDRAM的操作的命令。
定时电路133可经由边带信道157将用于控制计算操作的执行定时的指令,例如本文所描述的微码指令发布到RAS管理器139,其中如图1A中所展示,边带信道157与用于控制对阵列130的读取及写入DRAM存取请求的DDR信道数据/地址总线156分离。在一些实施例中,通过边带信道157的通信可使用DDR信令,但实施例不限于此。使用单独的边带信道157及DDR信道数据/地址总线156可实现边带信道157及/或DDR信道数据/地址总线156的带宽减少。
如图1A的实例中所展示,例如表示一或多个组的具有PIM能力的装置101可包含组件,例如,控制器140、RAS管理器139、RAS组件136、感测电路150及/或例如,表示存储器单元的一或多个阵列及/或子阵列的存储器阵列130。在一些实施例中,主机110可包含组件,例如,控制逻辑131、定序器132、定时电路133,及/或信道控制器143。
如本文所描述,计算系统100可包含主机110。在多个实施例中,主机110可包含控制逻辑131。控制逻辑131可经配置以将与位向量运算相关联的命令指令集发布到定序器132,所述定序器经配置以协调与位向量运算相关联的计算操作以起始多个计算操作的执行。定序器132可进一步经配置以将与位向量运算相关联的命令指令集发布到定时电路133,所述定时电路经配置以提供定时以协调逻辑运算的执行。定时电路133可进一步经配置以将与位向量运算相关联的命令指令集发布到具有PIM能力的装置101上的RAS管理器139。RAS管理器139可经配置以协调与位向量运算相关联的计算子操作序列的定时。
在多个实施例中,具有PIM能力的装置101可进一步包含RAS组件136,所述RAS组件经配置以通过位向量运算序列的执行引导计算子操作序列的执行,所述位向量运算序列的定时由RAS管理器139引导。具有PIM能力的装置101可进一步包含感测电路150,其包含感测放大器206及计算组件231,所述感测电路经配置以执行如由RAS组件136引导的位向量运算序列,所述感测电路150可选择地耦合到存储器单元阵列130的感测线205。
在多个实施例中,计算系统100可进一步包含边带信道157,以将主机110上的定时电路133可选择地耦合到具有PIM能力的装置101上的RAS管理器139。边带信道157可经配置为双向接口,用于关于计算子操作序列的执行在具有PIM能力的装置101与主机110之间直接通信。边带信道157可为用于从定时电路133发送到RAS管理器139的总线协议指令的总线接口。在多个实施例中,总线协议指令可包含用于将由RAS组件136及感测电路150执行的基元逻辑运算的指令;用于指示由RAS组件136检索到感测电路150以执行基元逻辑运算的位向量的长度及源行地址的信息;及/或用于指示在其上执行基元逻辑运算之后由RAS组件136从感测电路150传递的数据值的长度及目标行地址的信息。在一些实施例中,边带信道157的带宽可为每秒15,000,000位(15兆位)。
如本文所描述,计算系统100可包含主机110,所述主机可选择地耦合到例如具有PIM能力的装置101等装置,以及其它可能装置。主机110可包含定序器132,所述定序器经配置以将用于操作流的命令解码成用于执行如本文所描述的基元序列的指令序列。用于操作流的命令可为通过主机110上的控制逻辑131提供给定序器132的微码命令。在多个实施例中,用于基元序列的定时指令可通过主机110,例如通过位于主机上的定时电路提供给用于执行基元序列的装置。
在一些实施例中,主机110可使用虚拟寻址,而用于存储器内处理的具有PIM能力的装置101可使用物理寻址。为了对具有PIM能力的装置101执行PIM操作,例如,为了执行位向量运算,主机110所使用的虚拟地址可转换成对应物理地址,具有PIM能力的装置101可使用所述物理地址进行存储器内处理。在一些实施例中,控制逻辑131及/或存储器管理单元(MMU)控制器134可执行地址解析,以将主机110所使用的虚拟地址转换成具有PIM能力的装置101所使用的相应物理地址。在一些实施例中,在经由边带信道157将多个对应位向量运算提供到具有PIM能力的装置101之前,控制逻辑131及/或MMU控制器134可对PIM操作执行虚拟地址解析。
主机110可包含各种组件,其包含PIM控制组件(例如,控制逻辑131、定序器132、定时电路133)、信道控制器143,及/或MMU控制器134。控制逻辑131可经配置以执行与执行PIM程序相关联的控制流命令并且将复合命令提供到定序器132。控制逻辑131可为或可包含RISC类型控制器,所述RISC类型控制器经配置以产生及发布可扩展的复合运算PIM命令集到定序器132,所述可扩展的复合运算PIM命令集包含不同于DDR命令的命令。在一些实施例中,控制逻辑131可经配置以发布复合运算命令以致使在具有PIM能力的装置101上执行位向量运算。在一些实施例中,复合运算命令可从控制逻辑131传递到具有PIM能力的装置101以供存储器内处理(例如,经由定序器132、定时电路133及边带信道157)。如图1A中所展示,主机110(及控制逻辑131、定序器132、定时电路13,及/或MMU控制器134)可与具有PIM能力的装置101及/或阵列130物理上分离地定位。
在一些实施例中,控制逻辑131可将微码指令解码成由定序器132实施的与执行位向量运算相关联的函数调用,所述函数调用可为微码函数调用。微码函数调用可为定序器132接收及/或执行以致使具有PIM能力的装置101使用感测电路,例如感测电路150执行特定位向量运算的操作。
如图1A中所展示,控制逻辑131及MMU控制器134位于主机110上,所述主机可允许控制逻辑131及/或MMU控制器134存取存储于主机110上的虚拟地址,并且在将指令传递到具有PIM能力的装置101以供存储器内处理之前,对存储于主机110上的物理地址执行虚拟到物理地址解析。
在一些实施例中,系统100可包含单独的集成电路,使得存储器装置101的组件及主机110的组件可形成于单独芯片上。在一些实施例中,存储器装置101的组件及主机110的组件都可形成于相同集成电路上,如同片上系统(SoC)一样。举例来说,系统100可为服务器系统及/或高性能计算(HPC)系统及/或其一部分。
图1B是根据本公开的多个实施例的包含存储器装置的采用计算系统形式的设备的另一框图。图1A中所示的具有PIM能力的装置101可表示多个存储器装置中的一个存储器装置120及/或结合图1B展示及描述的多个组中的一个组121。
组中的边带信道157,例如,如图1B中所示可以可选择地耦合到组仲裁器,例如,如在图1B中的145处所展示,以实现主机110与具有PIM能力的装置101的组之间的通信。组仲裁器145可以可选择地耦合到多个组,包含相关联阵列130。举例来说,主机110的定时电路133可以可选择地耦合到组仲裁器145,并且组仲裁器145可以可选择地耦合到多个组,其中每个相应组包含具有存储器单元阵列130的存储器装置101。多个组中的每个组可包含RAS管理器139,所述RAS管理器经配置以协调使用与阵列130相关联的RAS组件136执行的与位向量运算相关联的计算子操作序列的定时。在一些实施例中,多个组中的每个组可经配置以执行例如,经由DDR信道数据/地址总线156通过主机110发布的存储器阵列存取请求,及/或多个组中的每个组可包含RAS管理器139,所述RAS管理器经配置以执行微码指令,以控制与位向量运算相关联的计算操作的执行定时。
为了清晰起见,已简化图1A中所示的系统100以聚焦于与本公开相关的特征。举例来说,存储器阵列130可为DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND闪存阵列,及/或NOR闪存阵列。阵列130可包含布置在通过存取线(其在本文中可被称为字线或选择线)耦合的行及通过感测线(其在本文中可被称为数据线或数字线)耦合的列中的存储器单元,如结合图2及3进一步描述。虽然在图1A中展示单个阵列130,但是实施例不限于此。举例来说,存储器组件101可包含多个阵列130,例如,DRAM单元、NAND闪存单元等的多个组、阵列及/或子阵列。
存储器装置101包含地址电路142,以锁存通过I/O电路144在数据/地址总线156,例如用作DDR信道的I/O总线上提供的地址信号。地址信号通过地址电路142接收,并且通过行解码器146及列解码器152解码以存取存储器阵列130。通过使用感测电路150感测数据线上的电压及/或电流变化,数据可从存储器阵列130读取。感测电路150可从存储器阵列130读取及锁存数据的页面,例如行。I/O电路144可用于通过数据/地址总线156与主机110进行双向数据通信。写入电路148可用于将数据写入到存储器阵列130。在一些实施例中,控制总线154可充当控制及地址总线两者,以例如根据其中控制总线154充当单向数据总线的DDR协议进行DRAM控制及寻址。虽然在图1A及1B中展示为单独总线,但是在一些实施例中,控制总线154及数据/地址总线156可不为单独总线。
在各种实施例中,控制器140可对经由控制总线154及/或数据/地址总线156从主机110接收的信号进行解码。这些信号可包含用于控制在存储器阵列130上执行的操作,包含数据读取、数据写入及/或数据擦除操作的芯片启用信号、写入启用信号及地址锁存信号。在一或多个实施例中,控制器140的部分,例如RAS管理器139可为在32及/或64位长度指令上操作的精简指令集计算机(RISC)类型控制器。在各种实施例中,RAS管理器139负责结合感测电路150执行来自主机110,例如,从其定时电路133接收的指令,以执行AND、OR、XOR等逻辑布尔运算。此外,RAS管理器139可控制在存储器阵列130中移位数据,例如右移或左移,以及使用RAS组件136在计算操作中执行的其它子操作。
下文结合图2到4进一步描述感测电路150及其操作的实例。在各种实施例中,感测电路150可包含多个感测放大器及多个计算组件,其可充当及称为蓄能器,并且可用于例如,对与互补数据线相关联的数据执行逻辑运算。在一些实施例中,计算组件可耦合到感测电路150内的每个感测放大器,例如,如分别在图2中的231及206处所展示。然而,实施例不限于此。举例来说,在一些实施例中,在感测放大器及计算组件的数目之间可能不存在1:1相关性,例如,每计算组件可存在多于一个感测放大器,或每感测放大器可存在多于一个计算组件,这可在子阵列、组等之间改变。
在各种实施例中,感测电路150可用于将存储于阵列130中的数据用作输入来执行逻辑运算,并且将逻辑运算的结果存储回阵列130,而无需经由感测线地址存取传递数据,例如无需启动列解码信号。因此,各种计算功能可使用感测电路150及在感测电路150内执行,而不是(或与其结合)通过感测电路外部的处理资源,例如,通过与主机110及/或位于存储器装置101上,例如控制器140上或其它地方的其它处理电路(例如,ALU电路)相关联的处理资源执行。
在各种先前方法中,举例来说,与操作数相关联的数据将经由感测电路从存储器读取,并且经由I/O线,例如经由局部I/O线及/或全局I/O线提供给外部ALU电路。外部ALU电路可包含多个寄存器并将使用操作数执行计算功能,并且结果将经由I/O线传递回阵列。
相反,在本公开的多个实施例中,感测电路150经配置以对存储于存储器阵列130中的数据执行逻辑运算,并且将结果存储回存储器阵列130,而无需使I/O线,例如局部I/O线能够耦合到感测电路150。感测电路150可与阵列130的存储器单元成间距形成,例如,如结合图2所描述。额外的外围感测放大器、扩展行地址(XRA)寄存器、高速缓存器及/或数据缓冲,例如额外逻辑电路可耦合到感测电路150,并且可用于存储,例如高速缓存及/或缓冲本文所描述的操作的结果。
因此,在各种实施例中,在阵列130及感测电路150外部的电路不需要执行计算功能,因为感测电路150可执行合适的逻辑运算来执行此计算功能,而不使用外部处理资源。因此,感测电路150可用于至少在某一程度上补充及/或更换此外部处理资源(或至少此外部处理资源的带宽消耗)。
在多个实施例中,除了由例如,主机110上的外部处理资源执行的逻辑运算之外,感测电路150可用于执行逻辑运算,例如执行指令。举例来说,主机110上的处理资源及/或存储器装置101上的感测电路150可能受限于仅执行某些逻辑运算及/或特定数目的逻辑运算。
启用I/O线可包含启用,例如打开具有耦合到解码信号,例如列解码信号的栅极及耦合到I/O线的源极/漏极的晶体管。然而,实施例不限于不启用I/O线。举例来说,在多个实施例中,感测电路,例如150可用于执行逻辑运算,而不启用阵列的列解码线;然而,可启用局部I/O线,以便除了回到阵列130,例如外部寄存器之外,将结果传递到合适的位置。
如结合图1A所展示及描述,主机110可包含定时电路133,所述定时电路可以可选择地耦合到存储器装置101上的RAS管理器139,以使用感测电路150控制与位向量运算相关联的计算操作的执行定时。在各种实施例中,主机110可进一步包含控制逻辑131,所述控制逻辑经配置以将与位向量运算相关联的命令指令集发布到定序器132,以使用阵列130的感测电路150起始存储器内执行的计算操作。控制逻辑131可为或可包含RISC类型控制器,所述RISC类型控制器经配置以产生及发布可扩展的计算命令集到DDR信道数据/地址总线156,以引导多个计算操作的执行,所述可扩展的计算命令集包含不同于DDR命令的命令。在一些实施例中,控制逻辑131可经配置以例如,经由组仲裁器145将用于致使相应计算操作在多个存储器装置101上执行的命令指令集发布到多个组及/或每个组中的多个阵列或子阵列。
如本文所描述,经编码机器指令可为例如,微码指令。在一些实施例中,控制逻辑131可负责从存储器单元阵列130,例如DRAM阵列提取经编码机器指令,例如微码指令,作为DRAM操作。举例来说,控制逻辑131可提取机器指令,所述机器指令在执行时使用与阵列130的感测线成间距的感测电路150引导计算操作的执行。
如本文所描述,基于机器指令的执行而执行的操作可包含计算操作,例如,布尔逻辑运算及/或数据移动操作序列等相对于待决DRAM及/或计算操作的定时。控制逻辑131可采用可执行微码指令的微编码引擎的形式。如本文所使用,引擎意指硬件及/或软件,但至少采用晶体管电路及/或专用集成电路(ASIC)形式的硬件。在一些实施例中,定序器132也采用微编码引擎的形式。
在一些实施例中,控制逻辑131可将微码指令解码成由定序器132实施的与位向量运算相关联的函数调用,所述函数调用可为微码函数调用。微码函数调用可为定序器132接收及/或执行以致使存储器装置101使用感测电路,例如图1A中的感测电路150执行特定逻辑运算的操作。定时电路133可提供定时以协调逻辑运算的执行,并且负责提供对阵列,例如图1A中的阵列130的无冲突存取。在各种实施例中,控制器140及/或RAS管理器139可产生状态信息,所述状态信号可例如,经由FIFO接口路由回组仲裁器145。组仲裁器145可集中此状态数据,并例如经由边带信道157将其报告回主机110。
在一些实施例中,定序器132可包含经配置以对计算命令操作的超长指令字(VLIW)类型控制器,并且控制逻辑131可经配置以响应于来自主机110的处理资源的信号而将计算命令发布到定序器132。在一些实施例中,控制逻辑131可经配置以产生VLIW作为命令指令集。VLIW可为或可包含微码指令。定序器132可为或可包含经配置以将VLIW解码成多个单独微码指令的VLIW类型控制器。定序器132可以可选择地耦合到定时电路133以协调计算操作。多个微码指令可通过定序器132本身及/或通过定序器132下游的主机110中的其它组件,例如定时电路133,及/或存储器装置101中的组件,例如RAS管理器139、RAS组件136及/或感测电路150依序及/或并联执行。
结合图1A描述的控制器140可经由控制线及数据路径耦合到与存储器单元阵列相关联的感测电路150及/或额外逻辑电路(未展示),包含高速缓存器、缓冲器、感测放大器、扩展行地址(XRA)锁存器及/或寄存器。因此,图1A中所示的感测电路150可使用DDR信道数据/地址总线156与存储器单元阵列130相关联。控制器140可控制阵列的常规DRAM操作,例如读取、写入、复制及/或擦除操作等。然而,另外,由控制逻辑131检索及/或执行的微码指令及由定序器132接收及/或执行的微码函数调用可致使感测电路150执行额外逻辑运算,例如移位、加法、乘法,及除法等,或作为更具体的实例,比常规DRAM读取及写入操作更复杂的布尔运算,例如AND、OR、XOR等。
因此,控制逻辑131、定序器132及/或定时电路133可用于产生与多个位向量运算相关联的用于存储器装置101,例如其中的DRAM阵列的操作循环序列。在具有PIM能力的装置101实例中,每个序列可经设计以执行一起实现特定功能的多个操作,例如,布尔逻辑运算AND、OR、XOR等。举例来说,操作序列可重复地执行针对一(1)位加法的逻辑运算,以便计算多位总和。每个操作序列可被馈送到耦合到定时电路133的FIFO缓冲器中,以提供与同存储器单元阵列130相关联的感测电路150的定时协调。
图1B是包含经由信道控制器,例如,在143处展示及结合图1A描述的信道控制器耦合到主机110的多个存储器装置120-1、…、120-N的另一设备架构的框图。在至少一个实施例中,信道控制器143可通过一体化方式采用模块118形式耦合到多个存储器装置120-1、…、120-N,例如,形成于具有多个存储器装置120-1、…、120-N的同一芯片上。在替代实施例中,信道控制器143可与如通过111说明的主机110、多个存储器装置120-1、…、120-N集成,例如,所述主机形成于与例如SoC不同的芯片上,或形成于与例如SoC相同的芯片上。信道控制器143可经由如图1A中所描述的A/C总线154耦合到多个存储器装置120-1、…、120-N中的每一者,进而又可耦合到主机110。
信道控制器143还可经由如图1A中所描述的数据/地址总线156耦合到多个存储器装置120-1、…、120-N中的每一者,进而又可耦合到主机110。另外,信道控制器143可例如,经由与信道接口141相关联的总线耦合到多个存储器装置120-1、…、120-N中的每一者。如本文所使用,术语“信道控制器”意指采用微码指令等固件及/或ASIC等硬件的形式以实施一或多个特定功能的逻辑。信道控制器的一个实例可包含状态机。另一实例可包含嵌入式处理资源。信道控制器143包含用于处理到装置的I/O任务的逻辑。
如图1B中所示,信道控制器143可从例如在本文中也被称为状态信道接口的信道接口141接收状态及异常信息,所述信道接口与多个存储器装置120-1、…、120-N中的每一者中的组仲裁器145相关联。在图1B的实例中,多个存储器装置120-1、…、120-N中的每一者可包含相应组仲裁器145-1、…、145-N,以在多个存储器装置120-1、…、120-N中的每一者中通过多个组,例如组121-0、…、121-7等对控制及数据进行定序。例如121-0、…、121-7中的多个组中的每一者可包含控制器140及其它组件,包含存储器单元阵列130、感测电路150、逻辑电路等,如结合图1A所描述。
举例来说,在多个存储器装置120-1、…120-N中的例如121-0、…、121-7的多个组中的每一者可包含地址电路142,以通过I/O电路144锁存通过数据/地址总线156(例如,I/O总线)提供的地址信号。状态及/或异常信息可使用边带信道157从存储器装置120上的控制器140提供到信道控制器143,进而又可从多个存储器装置120-1、…、120-N提供到主机110,且反之亦然。
对于例如121-0、…、121-7的多个组中的每一者,地址信号可通过地址电路142接收,并且由行解码器146及列解码器152解码以存取存储器阵列130。通过使用感测电路150感测数据线上的电压及/或电流变化,数据可从存储器阵列130读取。感测电路150可从存储器阵列130读取及锁存数据的页面,例如行。I/O电路144可用于通过数据/地址总线156与主机110进行双向数据通信。写入电路148可用于将数据写入到存储器阵列130,且边带信道157可用于向信道控制器143报告状态、异常及其它数据信息。
信道控制器143可包含一或多个本地缓冲器161以存储微码指令,并且可包含逻辑160以在每个相应组的阵列中分配多个位置,例如子阵列或子阵列的部分,以存储与多个存储器装置120-1、…、120-N中的每一者的操作相关联的各个组的微码指令,例如组命令及自变数、与位向量运算相关联的计算命令等。信道控制器143可向多个存储器装置120-1、…、120-N发送微码指令,例如组命令及自变数、PIM命令、状态及异常信息等,以将这些微码指令存储在存储器装置的给定组内。举例来说,信道控制器143及/或组仲裁器145可例如经由信道接口141-1、…、141-N、相应多个存储器装置120-1、…、120-N中的每一者中的相应多个组121-1、…、121-7发送例如,如从主机110接收与位向量运算相关联的指令。
图2是说明根据本公开的多个实施例的感测电路250的示意图。感测电路250可表示图1A中所示的感测电路150。在图2中,存储器单元包含电容器等存储元件,及晶体管等存取装置。举例来说,第一存储器单元包含晶体管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_)。尽管图2中展示仅一对互补数据线,但是本公开的实施例不限于此,并且存储器单元阵列可包含额外的存储器单元列及/或数据线,例如,4,096、8,192、16,384个数据线等。
存储器单元可耦合到不同数据线及/或字线。举例来说,晶体管202-1的第一源极/漏极区可耦合到数据线205-1(D),晶体管202-1的第二源极/漏极区可耦合到电容器203-1,且晶体管202-1的栅极可耦合到字线204-Y。晶体管202-2的第一源极/漏极区可耦合到数据线205-2(D_),晶体管202-2的第二源极/漏极区可耦合到电容器203-2,且晶体管202-2的栅极可耦合到字线204-X。如图2中所示的单元板可耦合到电容器203-1及203-2中的每一者。单元板可为可在各种存储器阵列配置中对其施加参考电压,例如接地的共同节点。
根据本公开的多个实施例,存储器阵列230耦合到感测电路250。在此实例中,感测电路250包含感测放大器206及对应于存储器单元的相应列的计算组件231,所述计算组件例如,耦合到互补数据线的相应对。感测放大器206可耦合到互补感测线205-1及205-2对。计算组件231可经由导通门207-1及207-2耦合到感测放大器206。导通门207-1及207-2的栅极可耦合到逻辑运算选择逻辑213。
在前述方法中,数据可例如,经由包含I/O线的总线从存储器阵列及感测电路传递到处理资源,例如,处理器、微处理器及/或计算引擎,所述处理资源可包含ALU电路及/或经配置以执行合适操作的其它功能单元电路。然而,将数据从存储器阵列及感测电路传递到此处理资源会涉及相当大的时耗及/或功耗。即使处理资源与存储器阵列位于同一芯片上,在将数据移出阵列至计算电路时也可消耗大量功率,这可涉及执行感测线(在本文中还可被称为数字线或数据线)地址存取,例如,列解码信号的启动,以便将数据从感测线传递到I/O线,例如局部I/O线上,从而传递阵列外围的数据(其可传递到主机中的高速缓存器)并将数据提供到外围计算电路。
此外,处理资源,例如计算引擎的电路可不遵守与存储器阵列相关联的间距规则。举例来说,存储器阵列的存储器单元可具有4F2或6F2单元尺寸,其中“F”是对应于单元的特征尺寸。因此,与前述PIM系统的ALU电路相关联的装置,例如逻辑门可能不能够与存储器单元成间距形成,这会影响例如芯片尺寸及/或存储器密度。在一些计算系统及子系统,例如中央处理单元(CPU)的背景下,可在不与存储器,例如阵列中的存储器单元成间距及/或不与所述存储器一起处于芯片上的位置中处理数据,如本文所描述。举例来说,可通过与主机相关联而非与存储器成间距的处理资源处理数据。
相反,本公开的多个实施例可包含控制电路及/或感测电路,例如,包含如本文所描述的感测放大器及/或计算组件,其与阵列的存储器单元成间距形成并且经配置以,例如能够与存储器单元成间距执行计算功能,例如,本文所描述的那些操作等操作。感测电路能够执行数据感测及计算功能,并能够至少临时地存储,例如高速缓存存储器单元阵列本地的数据。
在一些实施例中,本文中所描述的感测电路150可与一对互补感测线成相同间距形成。举例来说,一对互补存储器单元可具有带有6F2间距,例如3F x 2F的单元尺寸。如果用于互补存储器单元的一对互补感测线的间距是3F,则感测电路成间距指示感测电路,例如每个相应对的互补感测线的感测放大器及对应计算组件形成为适配于互补感测线的3F间距内。
本公开的多个实施例可包含感测电路150,例如,包含感测放大器及/或计算组件,所述感测电路与阵列的存储器单元成间距形成。感测电路150可经配置用于,例如能够执行计算功能,例如逻辑运算。
逻辑运算选择逻辑213可经配置以包含导通门逻辑,用于控制耦合在感测放大器206与计算组件231之间未换位的互补感测线对的导通门,及/或交换门逻辑,用于控制耦合在感测放大器206与计算组件231之间换位的互补感测线对的交换门。逻辑运算选择逻辑213还可耦合到互补感测线205-1及205-2对。逻辑运算选择逻辑213可经配置以基于选定逻辑运算而控制导通门207-1及207-2的连续性,如在下文针对逻辑运算选择逻辑213的各种配置详细描述。
可操作感测放大器206以确定存储于所选择存储器单元中的数据值,例如,逻辑状态。感测放大器206可包括交叉耦合式锁存器,所述锁存器可在本文中被称为主锁存器。在图2中所说明的实例中,对应于感测放大器206的电路包含锁存器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_)上的差分电压并用于锁存从所选择存储器单元感测到的数据值。
实施例不限于图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还包含各自具有耦合到平衡电压,例如VDD/2的第一源极/漏极区的晶体管225-1及225-2,其中VDD是与阵列相关联的电源电压。晶体管225-1的第二源极/漏极区可耦合到数据线205-1(D),且晶体管225-2的第二源极/漏极区可耦合到数据线205-2(D_)。晶体管224、225-1及225-2的栅极可耦合在一起,且耦合到平衡(EQ)控制信号线226。因此,激活EQ会启用晶体管224、225-1及225-2,这会有效地将数据线205-1(D)及205-2(D_)短接到一起及短接到平衡电压,例如VDD/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是说明根据本公开的多个实施例的存储器装置的感测电路的另一示意图。图3将感测电路说明为能够实施例如,逻辑运算。
图3展示耦合到一对互补感测线305-1及305-2的感测放大器306、逻辑运算选择逻辑313,及经由导通门307-1及307-2耦合到感测放大器306的计算组件331。图3中所示的感测放大器306可对应于图2中所示的感测放大器206。图3中所示的计算组件331可对应于图2中所示的计算组件231。感测放大器306及计算组件331可包含在例如,如图1A中的150及图2中的250处展示的感测电路中。图3中所示的逻辑运算选择逻辑313可对应于图2中所示的逻辑运算选择逻辑213。导通门307-1及307-2的栅极可由逻辑运算选择逻辑313信号,例如Pass控制。举例来说,逻辑运算选择逻辑313的输出可耦合到导通门307-1及307-2的栅极。此外,计算组件331可包含经配置以使数据值左右移位的可加载移位寄存器。
如图3中所说明,计算组件331可包含经配置以使数据值左右移位的可加载移位寄存器的相应级,例如移位单元。举例来说,如图3中所说明,移位寄存器的每个计算组件331,例如级,包含一对右移位晶体管381及386、一对左移位晶体管389及390、及一对反相器387及388。信号PHASE 1R、PHASE 2R、PHASE 1L及PHASE 2L可施加到相应控制线382、383、391及392,以与根据本文所描述的实施例执行逻辑运算及/或移位数据相关联地启用/停用对应计算组件331的锁存器上的反馈。
图3中所说明的感测电路展示耦合到多个逻辑选择控制输入控制线的操作选择逻辑313,所述逻辑选择控制输入控制线包含ISO、TF、TT、FT及FF。当经由经确证的ISO控制信号启用隔离晶体管350-1及350-2时,从逻辑选择控制输入线上的逻辑选择控制信号的条件以及互补感测线305-1及305-2对上存在的数据值确定从多个逻辑运算的逻辑运算选择。
根据各种实施例,操作选择逻辑313可包含四个逻辑选择晶体管:耦合于交换晶体管342的栅极与TF信号控制线之间的逻辑选择晶体管362;耦合于导通门307-1及307-2的栅极与TT信号控制线之间的逻辑选择晶体管352;耦合于导通门307-1及307-2的栅极与FT信号控制线之间的逻辑选择晶体管354;及耦合于交换晶体管342的栅极与FF信号控制线之间的逻辑选择晶体管364。逻辑选择晶体管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中的数据值(如图2中所示的“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展示经配置以在感测放大器306与计算组件331之间交换互补感测线305-1和305-2对的定向的交换晶体管342。当交换晶体管342接通时,交换晶体管342的感测放大器306侧上的互补感测线305-1及305-2对上的数据值相对地耦合到交换晶体管342的计算组件331侧上的互补感测线305-1及305-2对,并由此加载到计算组件331的可加载移位寄存器中。
当ISO控制信号线被激活,且TT控制信号被激活为例如高,其中真正感测线上的数据值为“1”,或FT控制信号被激活为例如高,其中互补感测线上的数据值为“1”时,逻辑运算选择逻辑313信号Pass可被激活为例如高,以接通导通门307-1及307-2,例如导电。
真正感测线上的数据值为“1”接通逻辑选择晶体管352及362。互补感测线上的数据值为“1”接通逻辑选择晶体管354及364。如果ISO控制信号或特定逻辑选择晶体管的栅极耦合到的对应感测线,例如感测线上的相应TT/FT控制信号或数据值不为高,则导通门307-1及307-2将不通过特定逻辑选择晶体管接通。
当ISO控制信号线被激活,且TF控制信号被激活为例如高,其中真正感测线上的数据值为“1”,或FF控制信号被激活为例如高,其中互补感测线上的数据值为“1”时,逻辑运算选择逻辑信号Pass*可被激活为例如高,以接通交换晶体管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展示存储于计算组件331中在444处的列A中展示的开始数据值及存储于感测放大器306中在445处的列B中展示的开始数据值。逻辑表4-1中的另外3个列标题指导通门307-1及307-2及交换晶体管342的连续性,取决于四个逻辑选择控制信号,例如TF、TT、FT及FF的状态,其可结合互补感测线305-1及305-2对上存在的特定数据值分别受控制为接通或断开。“未接通(Not Open)”列对应于导通门307-1及307-2及交换晶体管342两者处于非导电条件下,“接通真(Open True)”对应于导通门307-1及307-2处于导电条件下,且“接通反转(Open Invert)”对应于交换晶体管342处于导电条件下。未在逻辑表4-1中反映对应于导通门307-1及307-2及交换晶体管342两者处于导电条件下的配置,这是因为这会致使感测线短接在一起。
通过选择性地控制导通门307-1及307-2及交换晶体管342的连续性,逻辑表4-1的上部部分的三个列中的每一者可与逻辑表4-1的下部部分的三个列中的每一者组合,以提供对应于九个不同逻辑运算的3×3=9个不同结果组合,如由475处展示的各种连接路径指示。可使用感测电路,例如图2中的250实施的九个不同可选择逻辑运算在图4中所说明的逻辑表4-2中概述。
图4中所说明的逻辑表4-2的列展示包含逻辑选择控制信号的状态的标题480。举例来说,在行476中提供第一逻辑选择控制信号的状态,在行477中提供第二逻辑选择控制信号的状态,在行478中提供第三逻辑选择控制信号的状态,且在行479中提供第四逻辑选择控制信号的状态。在行447中概括对应于结果的特定逻辑运算。
因此,本文所描述的实施例提供一种用于执行可利用本文所描述的具有PIM能力的装置101执行的存储器内处理,例如,存储器内操作的方法。此方法的实例可包含例如,从结合图1A展示及描述的定时电路133接收微码定时指令,用于例如,如在139处展示及结合图1A描述的RAS管理器处的与位向量运算相关联的计算操作。RAS管理器139可位于具有PIM能力的装置101上。定时指令可从具有PIM能力的装置101外部的源,例如,从结合图1A展示及描述的主机110接收。RAS管理器139可经配置以协调具有PIM能力的装置101上的与位向量运算相关联的计算子操作序列的定时。所述方法可包含使用耦合到RAS管理器的存储器装置101上的RAS组件(例如,如在136处展示及结合图1A描述)来执行计算子操作序列。可通过选择阵列中的存储器单元的特定行、从特定行检索数据值,及/或将数据值输入到特定行,以及其它可能子操作来执行计算子操作序列。所述方法可包含使用存储器装置101上的例如,如150处展示及结合图1A描述的感测电路执行计算操作。
在一些实施例中,所述方法可进一步包含使用具有PIM能力的装置101上的RAS管理器139,以使用与例如,如在130处展示及结合图1A描述的存储器阵列的感测线205成间距形成的感测电路150来控制逻辑运算,例如,一或多个布尔运算以及其它类型的逻辑运算的执行定时。在一些实施例中,与具有PIM能力的装置101外部的源上的定时电路133相关联的定序器(例如,如在132处展示及结合图1A描述)可用于产生如本文所描述的操作循环序列,以使用具有PIM能力的装置101上的感测电路150执行多个计算操作。
所述方法可进一步包含使用主机110上的定时电路133来执行用于协调计算操作的定时的指令;将指令发布到具有PIM能力的装置101上的RAS管理器139。RAS管理器139可负责协调计算子操作序列的定时,及经由具有PIM能力的装置101上的RAS组件136执行定时的计算子操作序列。在一些实施例中,所述方法可进一步包含从具有PIM能力的装置101上的控制逻辑(例如,如在131处展示及结合图1A描述)发布如本文所描述的寻址到虚拟地址的计算请求;及在与具有PIM能力的装置101分离及耦合到控制逻辑131的定序器132处接收计算请求。
在一些实施例中,定序器132可用于将计算请求的虚拟地址转换成对应于阵列130中的特定列及/或行的实际地址。通过减少具有PIM能力的装置101将虚拟地址转换成实际地址,通过主机110的此转换可实现减少具有PIM能力的装置101上的处理资源的使用。减少具有PIM能力的装置101中的处理资源的使用可减少此转换的时间、能量及/或成本,及/或通过主机110中的各种存储器资源,例如处理器、微处理器、ASIC、CPU等相对于具有PIM能力的装置101的那些存储器资源的增加的功率及/或可存取性来增加此转换的效率。举例来说,主机110可包含可用于比较位向量及在其上执行一些操作的标量处理器(未展示)或者,或除了定序器132的使用之外,标量处理器用于将虚拟地址转换成实际地址。
将例如控制逻辑131的控制电路、定序器132及/或定时电路133与具有PIM能力的装置101分离可提供多个优点。举例来说,此分离可允许DRAM等易失性存储器装置、SRAM、NAND等非易失性存储器装置、CMOS传感器及/或具有PIM能力的装置101中的其它潜在计算媒体中的更多PIM设计自由,同时仍能够利用本文所描述的单独控制电路。分离控制电路还可减小存储器装置101设计的复杂性,因为大量电路可移动到主机110,其中与在具有PIM能力的装置101相比,可存在用于此类组件的布置的更多空间或选择。
虽然已在本文中说明并描述包含控制器、RAS管理器、RAS组件、存储器阵列、感测电路、控制逻辑、定序器,及/或定时电路的各种组合及配置的实例实施例,但是本公开的实施例不限于在本文中明确叙述的那些组合。本文中所公开的控制器、RAS管理器、RAS组件、存储器阵列、感测电路、控制逻辑、定序器、及/或定时电路的其它组合及配置明确地包含在本公开的范围内。
虽然已在本文中说明并描述了具体实施例,但是所属领域的一般技术人员应理解,经计算以实现相同结果的布置可取代所展示具体实施例。本公开意图覆盖本公开的一或多个实施例的修改或变化。应理解,已以说明性方式而非限制性方式进行以上描述。对于所属领域的技术人员而言在审阅上述描述之后上述实施例的组合以及本文中未具体描述的其它实施例将是显而易见的。本公开的一或多个实施例的范围包含使用以上结构及方法的其它应用。因此,应参考所附权利要求书连同此类权利要求所赋予的等效物的全范围确定本公开的一或多个实施例的范围。
在前述具体实施方式中,出于简化本公开的目的而将一些特征一起分组在单个实施例中。本公开的此方法不应被理解为反映本公开的所公开实施例必须比在每项权利要求中明确叙述那样使用更多特征的意图。相反,如所附权利要求书所反映,本发明标的物在于单个所公开实施例的不到全部的特征。因此,以下权利要求特此被并入到具体实施方式中,其中每一项权利要求独自作为单独实施例。
Claims (16)
1.一种用于执行存储器操作的设备,其包括:
具有存储器内处理PIM能力的装置,其包括:
存储器单元阵列;
感测电路,所述感测电路可选择地耦合到所述阵列的感测线;
可选择地耦合到所述阵列的行地址选通RAS组件,所述RAS组件经配置以选择所述阵列中的存储器单元的特定行、从所述特定行检索输出数据值,及将输入数据值输入到所述特定行;及
可选择地耦合到所述RAS组件的RAS管理器,所述RAS管理器经配置以协调与使用所述RAS组件执行的位向量运算相关联的计算子操作序列的定时;及主机,其包括:
控制逻辑,其经配置以产生超长指令字VLIW作为与所述位向量运算相关联的命令指令集;
定序器,其包括VLIW类型控制器,其经配置以将所述VLIW解码成与所述位向量运算相关联的多个微码指令;及
可选择地耦合到所述具有PIM能力的装置上的所述RAS管理器的定时电路,所述定时电路经配置以使用所述感测电路控制与所述位向量运算相关联的计算操作的执行定时;
其中所述多个微码指令能够通过所述定序器及来自所述定序器下游的所述主机中的其它组件并联执行,包括通过所述定序器及所述定时电路并联执行。
2.根据权利要求1所述的设备,其中所述主机进一步包括控制逻辑,所述控制逻辑经配置以将与所述位向量运算相关联的命令指令集发布到定序器,以起始使用所述阵列的所述感测电路在存储器内执行的计算操作。
3.根据权利要求1所述的设备,其中所述主机进一步包括可选择地耦合到所述定时电路的定序器,所述定序器经配置以协调与所述位向量运算相关联的计算操作。
4.根据权利要求1所述的设备,其中所述主机进一步包括:
定序器,其包括超长指令字VLIW类型控制器,所述超长指令字VLIW类型控制器经配置以对与所述位向量运算相关联的计算命令进行操作;及
控制逻辑,其经配置以响应于来自所述主机的处理资源的信号而将所述计算命令发布到所述定序器。
5.根据权利要求1所述的设备,其中所述主机中的所述定时电路包括状态机,以使用所述阵列的所述感测电路来控制逻辑运算的执行定时。
6.根据权利要求1所述的设备,其中:
所述定时电路经由边带信道将微码指令发布到所述RAS管理器,以控制所述计算操作的执行定时;及
所述边带信道与用于控制所述阵列的读取及写入DRAM存取请求的双数据速率DDR控制总线分离。
7.根据权利要求1所述的设备,其中所述主机进一步包括:
控制逻辑,其包括精简指令集计算机RISC类型控制器,所述精简指令集计算机RISC类型控制器经配置以产生可扩展的计算命令集;
其中所述可扩展的计算命令集包括不同于DDR命令的命令以引导与所述位向量运算相关联的多个计算操作的执行。
8.根据权利要求1所述的设备,其中所述主机进一步包括控制逻辑,所述控制逻辑经配置以发布与所述位向量运算相关联的命令指令集,以使多个计算操作在相应的多个具有PIM能力的装置上执行。
9.根据权利要求1所述的设备,其中所述主机进一步包括:
定时电路,所述定时电路耦合至组仲裁器,所述组仲裁器可选择地耦合到多个组;且
所述多个组中的每一组包括具有存储器单元阵列的具有PIM能力的装置。
10.根据权利要求1所述的设备,其中多个组中的每个组包括相应的RAS管理器,所述相应的RAS管理器经配置以协调使用相应的RAS组件执行的与所述位向量运算相关联的计算子操作序列的定时。
11.根据权利要求1所述的设备,其中:
多个组中的每个组经配置以执行存储器阵列存取请求;及
所述多个组中的每个组包括相应的RAS管理器,所述相应的RAS管理器经配置以执行微码指令,以控制与所述位向量运算相关联的所述计算操作的执行定时。
12.一种用于操作设备的方法,其包括:
从与具有存储器内处理PIM能力的装置分离的源上的控制逻辑发布寻址到虚拟地址的与位向量运算相关联的计算请求;
在与所述具有PIM能力的装置分离且耦合到所述控制逻辑的定序器处接收所述计算请求;
使用所述定序器来将所述计算请求的所述虚拟地址转换成对应于所述具有PIM能力的装置上的存储器单元阵列中的特定列及行的实际地址;
通过减少所述具有PIM能力的装置将所述虚拟地址转换成所述实际地址,实现减少所述具有PIM能力的装置上的处理资源的使用;
在所述具有PIM能力的装置上的行地址选通RAS管理器处接收用于与所述位向量运算相关联的计算操作的微码定时指令,所述行地址选通RAS管理器经配置以协调与所述位向量运算相关联的计算子操作序列的定时;
接收来自所述源的所述定时指令;
基于所述实际地址,通过选择所述阵列中的存储器单元的特定行、从所述特定行检索输出数据值,及将输入数据值输入到所述特定行,使用处于所述具有PIM能力的装置上且耦合到所述RAS管理器的RAS组件来执行所述计算子操作序列;及
使用所述具有PIM能力的装置上的感测电路执行所述计算操作。
13.根据权利要求12所述的方法,其中所述方法进一步包括使用在所述具有PIM能力的装置上的所述RAS管理器来控制逻辑运算的执行的时序,所述逻辑运算使用与所述具有PIM能力的装置上的存储器阵列的感测线成间距形成的所述感测电路。
14.根据权利要求12所述的方法,其中所述方法进一步包括使用在与所述具有PIM能力的装置分离的所述源上的与定时电路相关联的定序器来产生操作循环序列,以使用所述具有PIM能力的装置上的所述感测电路执行与所述位向量运算相关联的多个计算操作。
15.根据权利要求12所述的方法,其中所述方法进一步包括:
使用主机上的定时电路来执行指令,以协调与所述位向量运算相关联的所述计算操作的定时;
将所述指令从所述主机发布到所述具有PIM能力的装置上的所述RAS管理器;通过所述RAS管理器协调与所述位向量运算相关联的所述计算子操作序列的定时;及
经由所述具有PIM能力的装置上的所述RAS组件执行定时的计算子操作序列。
16.一种设备,其包括:
具有存储器内处理PIM能力的装置,其包括:
存储器单元阵列;
感测电路,其可选择地耦合到所述阵列的感测线;
可选择地耦合到所述阵列的行地址选通RAS组件,所述RAS组件经配置以选择所述阵列中的存储器单元的特定行、从所述特定行检索输出数据值,及将输入数据值输入到所述特定行;及
可选择地耦合到所述RAS组件的RAS管理器,所述RAS管理器经配置以协调与使用所述RAS组件执行的位向量运算相关联的计算子操作序列的定时;及
主机,其包括:
定序器,其包括超长指令字VLIW类型控制器,所述超长指令字VLIW类型控制器经配置以对与所述位向量运算相关联的计算命令进行操作;
控制逻辑,其经配置以响应于来自所述主机的处理资源的信号而将所述计算命令发布到所述定序器;及
可选择地耦合到所述具有PIM能力的装置上的所述RAS管理器的定时电路,所述定时电路经配置以使用所述感测电路控制与所述位向量运算相关联的计算操作的执行定时。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/693,366 | 2017-08-31 | ||
US15/693,366 US10741239B2 (en) | 2017-08-31 | 2017-08-31 | Processing in memory device including a row address strobe manager |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109427384A CN109427384A (zh) | 2019-03-05 |
CN109427384B true CN109427384B (zh) | 2022-11-08 |
Family
ID=65437557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811004176.9A Active CN109427384B (zh) | 2017-08-31 | 2018-08-30 | 存储器内处理 |
Country Status (2)
Country | Link |
---|---|
US (4) | US10741239B2 (zh) |
CN (1) | CN109427384B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10908820B2 (en) | 2017-09-14 | 2021-02-02 | Samsung Electronics Co., Ltd. | Host-based and client-based command scheduling in large bandwidth memory systems |
KR20200129843A (ko) * | 2019-05-10 | 2020-11-18 | 에스케이하이닉스 주식회사 | 연산 회로를 포함하는 메모리 장치, 이를 제어하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
US11262949B2 (en) * | 2020-05-28 | 2022-03-01 | Advanced Micro Devices, Inc. | Command throughput in PIM-enabled memory using available data bus bandwidth |
US11875425B2 (en) * | 2020-12-28 | 2024-01-16 | Advanced Micro Devices, Inc. | Implementing heterogeneous wavefronts on a graphics processing unit (GPU) |
US11934827B2 (en) * | 2021-12-20 | 2024-03-19 | Advanced Micro Devices, Inc. | Partition and isolation of a processing-in-memory (PIM) device |
US11934698B2 (en) | 2021-12-20 | 2024-03-19 | Advanced Micro Devices, Inc. | Process isolation for a processor-in-memory (“PIM”) device |
US12019560B2 (en) | 2021-12-20 | 2024-06-25 | Advanced Micro Devices, Inc. | Virtual partitioning a processor-in-memory (“PIM”) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077877A (zh) * | 2014-10-29 | 2017-08-18 | 美光科技公司 | 用于使用感测电路执行逻辑操作的设备及方法 |
Family Cites Families (337)
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 |
US4747047A (en) * | 1985-12-06 | 1988-05-24 | Unisys Corporation | Data transfer system using two peripheral controllers to access dual-ported data storage units |
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 |
EP0340901A3 (en) * | 1988-03-23 | 1992-12-30 | Du Pont Pixel Systems Limited | Access system for dual port memory |
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 |
EP0584783A3 (en) | 1992-08-25 | 1994-06-22 | Texas Instruments Inc | Method and apparatus for improved processing |
KR950004854B1 (ko) | 1992-10-08 | 1995-05-15 | 삼성전자 주식회사 | 반도체 메모리 장치 |
US5485373A (en) | 1993-03-25 | 1996-01-16 | Taligent, Inc. | Language-sensitive text searching system with modified Boyer-Moore process |
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 |
US5754478A (en) | 1993-04-20 | 1998-05-19 | Micron Technology, Inc. | Fast, low power, write scheme for memory circuits using pulsed off isolation device |
US5369622A (en) | 1993-04-20 | 1994-11-29 | Micron Semiconductor, Inc. | Memory with isolated digit lines |
JP2663838B2 (ja) | 1993-07-27 | 1997-10-15 | 日本電気株式会社 | 半導体集積回路装置 |
JP3252306B2 (ja) | 1993-08-10 | 2002-02-04 | 株式会社日立製作所 | 半導体不揮発性記憶装置 |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
JP3251421B2 (ja) | 1994-04-11 | 2002-01-28 | 株式会社日立製作所 | 半導体集積回路 |
US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
JPH0831168A (ja) | 1994-07-13 | 1996-02-02 | Hitachi Ltd | 半導体記憶装置 |
US5481500A (en) | 1994-07-22 | 1996-01-02 | International Business Machines Corporation | Precharged bit decoder and sense amplifier with integrated latch usable in pipelined memories |
US5615404A (en) | 1994-10-31 | 1997-03-25 | Intel Corporation | System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals |
US5638128A (en) | 1994-11-08 | 1997-06-10 | General Instrument Corporation Of Delaware | Pixel interpolation filters for video decompression processor |
US5724366A (en) | 1995-05-16 | 1998-03-03 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device |
KR0146530B1 (ko) | 1995-05-25 | 1998-09-15 | 김광호 | 단속제어회로를 구비한 반도체 메모리 장치와 제어방법 |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
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 |
US8489861B2 (en) | 1997-12-23 | 2013-07-16 | Round Rock Research, Llc | Split embedded DRAM processor |
TW343004U (en) | 1997-08-09 | 1998-10-11 | Hon Hai Prec Ind Co Ltd | Electric power transferring apparatus |
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 |
US8686549B2 (en) | 2001-09-03 | 2014-04-01 | Martin Vorbach | Reconfigurable elements |
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 |
US6185664B1 (en) * | 1997-11-17 | 2001-02-06 | Micron Technology, Inc. | Method for providing additional latency for synchronously accessed memory |
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 | 株式会社東芝 | センス増幅回路 |
US7565461B2 (en) | 1997-12-17 | 2009-07-21 | Src Computers, Inc. | Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers |
US5986942A (en) | 1998-01-20 | 1999-11-16 | Nec Corporation | Semiconductor memory device |
JPH11260057A (ja) | 1998-03-13 | 1999-09-24 | Nec Corp | 半導体記憶装置 |
JPH11265995A (ja) | 1998-03-17 | 1999-09-28 | Mitsubishi Electric Corp | 半導体記憶装置 |
JPH11306751A (ja) | 1998-04-22 | 1999-11-05 | Toshiba Corp | 半導体記憶装置 |
US6005799A (en) | 1998-08-06 | 1999-12-21 | Silicon Aquarius | Methods and circuits for single-memory dynamic cell multivalue data storage |
US6141286A (en) | 1998-08-21 | 2000-10-31 | Micron Technology, Inc. | Embedded DRAM architecture with local data drivers and programmable number of data read and data write lines |
US7409694B2 (en) | 1998-09-09 | 2008-08-05 | Microsoft Corporation | Highly componentized system architecture with loadable virtual memory manager |
JP2000173269A (ja) | 1998-12-08 | 2000-06-23 | Mitsubishi Electric Corp | 半導体記憶装置 |
KR100381968B1 (ko) | 1998-12-30 | 2004-03-24 | 주식회사 하이닉스반도체 | 고속동작용디램 |
US6389507B1 (en) | 1999-01-15 | 2002-05-14 | Gigabus, Inc. | Memory device search system and method |
US5999435A (en) | 1999-01-15 | 1999-12-07 | Fast-Chip, Inc. | Content addressable memory device |
US6134164A (en) | 1999-04-22 | 2000-10-17 | International Business Machines Corp. | Sensing circuit for a memory cell array |
US6741104B2 (en) | 1999-05-26 | 2004-05-25 | Micron Technology, Inc. | DRAM sense amplifier for low voltages |
US6157578A (en) | 1999-07-15 | 2000-12-05 | Stmicroelectronics, Inc. | Method and apparatus for accessing a memory device |
JP2001068670A (ja) | 1999-08-30 | 2001-03-16 | Nec Corp | 半導体装置の製造方法 |
US6208544B1 (en) | 1999-09-09 | 2001-03-27 | Harris Corporation | Content addressable memory cell providing simultaneous read and compare capability |
US6578058B1 (en) | 1999-10-06 | 2003-06-10 | Agilent Technologies, Inc. | System and method for comparing values from target systems |
US7124221B1 (en) | 1999-10-19 | 2006-10-17 | Rambus Inc. | Low latency multi-level communication interface |
US6418498B1 (en) | 1999-12-30 | 2002-07-09 | Intel Corporation | Integrated system management memory for system management interrupt handler independent of BIOS and operating system |
JP4627103B2 (ja) | 2000-01-18 | 2011-02-09 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
AU2000224587A1 (en) | 2000-02-04 | 2001-08-14 | Hitachi Ltd. | Semiconductor device |
WO2001065359A2 (en) | 2000-02-29 | 2001-09-07 | Peter Petrov | Method and apparatus for building a memory image |
JP3983969B2 (ja) | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
US6678678B2 (en) | 2000-03-09 | 2004-01-13 | Braodcom Corporation | Method and apparatus for high speed table search |
JP3822412B2 (ja) | 2000-03-28 | 2006-09-20 | 株式会社東芝 | 半導体記憶装置 |
US6965648B1 (en) | 2000-05-04 | 2005-11-15 | Sun Microsystems, Inc. | Source synchronous link integrity validation |
CN1307647C (zh) | 2000-07-07 | 2007-03-28 | 睦塞德技术公司 | 动态随机存取存储器、存储器器件及其执行读命令的方法 |
US6466499B1 (en) | 2000-07-11 | 2002-10-15 | Micron Technology, Inc. | DRAM sense amplifier having pre-charged transistor body nodes |
AU2001285161A1 (en) | 2000-08-21 | 2002-03-04 | United States Postal Services | Delivery point validation system |
US6301164B1 (en) | 2000-08-25 | 2001-10-09 | Micron Technology, Inc. | Antifuse method to repair columns in a prefetched output memory architecture |
US6704828B1 (en) | 2000-08-31 | 2004-03-09 | Micron Technology, Inc. | System and method for implementing data pre-fetch having reduced data lines and/or higher data rates |
JP3699643B2 (ja) | 2000-09-13 | 2005-09-28 | ペンタックス株式会社 | 熱圧力定着方式プリンタ |
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 |
KR100390943B1 (ko) | 2000-12-29 | 2003-07-10 | 주식회사 하이닉스반도체 | 비휘발성 메모리 소자의 센싱 회로 |
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 |
US6850446B1 (en) | 2001-12-06 | 2005-02-01 | Virage Logic Corporation | Memory cell sensing with low noise generation |
US7062689B2 (en) | 2001-12-20 | 2006-06-13 | Arm Limited | Method and apparatus for memory self testing |
US20040073773A1 (en) | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
US6707729B2 (en) | 2002-02-15 | 2004-03-16 | Micron Technology, Inc. | Physically alternating sense amplifier activation |
WO2003088033A1 (en) | 2002-04-09 | 2003-10-23 | University Of Rochester | Multiplier-based processor-in-memory architectures for image and graphics processing |
JP2003331598A (ja) | 2002-05-13 | 2003-11-21 | Mitsubishi Electric Corp | 半導体記憶装置 |
US7406494B2 (en) | 2002-05-14 | 2008-07-29 | Texas Instruments Incorporated | Method of generating a cycle-efficient bit-reverse index array for a wireless communication system |
JP2003346484A (ja) | 2002-05-23 | 2003-12-05 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
US6789099B2 (en) | 2002-06-10 | 2004-09-07 | International Business Machines Corporation | Sense-amp based adder with source follower evaluation tree |
US7054178B1 (en) | 2002-09-06 | 2006-05-30 | Etron Technology, Inc. | Datapath architecture for high area efficiency |
US6987693B2 (en) | 2002-09-24 | 2006-01-17 | Sandisk Corporation | Non-volatile memory and method with reduced neighboring field errors |
US7079407B1 (en) | 2002-10-18 | 2006-07-18 | Netlogic Microsystems, Inc. | Content addressable memory (CAM) device including match line sensing |
US6765834B2 (en) | 2002-11-19 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | System and method for sensing memory cells of an array of memory cells |
US6731542B1 (en) | 2002-12-05 | 2004-05-04 | Advanced Micro Devices, Inc. | Circuit for accurate memory read operations |
KR100546307B1 (ko) | 2002-12-05 | 2006-01-26 | 삼성전자주식회사 | 글로벌 입출력라인을 프리차지 및/또는 이퀄라이징하기위한 프리차지 회로를 구비하는 반도체 장치 및프리차지 및/또는 이퀄라이즈하는 트랜지스터의 레이아웃 |
US6888372B1 (en) | 2002-12-20 | 2005-05-03 | Altera Corporation | Programmable logic device with soft multiplier |
US20050015557A1 (en) | 2002-12-27 | 2005-01-20 | Chih-Hung Wang | Nonvolatile memory unit with specific cache |
US7346903B2 (en) | 2003-02-04 | 2008-03-18 | Sun Microsystems, Inc. | Compiling and linking modules of a cycle-based logic design |
US6768679B1 (en) | 2003-02-10 | 2004-07-27 | Advanced Micro Devices, Inc. | Selection circuit for accurate memory read operations |
US6819612B1 (en) | 2003-03-13 | 2004-11-16 | Advanced Micro Devices, Inc. | Apparatus and method for a sense amplifier circuit that samples and holds a reference voltage |
US6865122B2 (en) | 2003-04-11 | 2005-03-08 | Intel Corporation | Reclaiming blocks in a block-alterable memory |
US7454451B2 (en) | 2003-04-23 | 2008-11-18 | Micron Technology, Inc. | Method for finding local extrema of a set of values for a parallel processing element |
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 |
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 |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
US7120063B1 (en) | 2004-05-07 | 2006-10-10 | Spansion Llc | Flash memory cell and methods for programming and erasing |
US8522205B2 (en) | 2004-05-18 | 2013-08-27 | Oracle International Corporation | Packaging multiple groups of read-only files of an application's components into multiple shared libraries |
JP2006127460A (ja) | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
US7061817B2 (en) | 2004-06-30 | 2006-06-13 | Micron Technology, Inc. | Data path having grounded precharge operation and test compression capability |
US7116602B2 (en) | 2004-07-15 | 2006-10-03 | Micron Technology, Inc. | Method and system for controlling refresh to avoid memory cell data losses |
US7434024B2 (en) | 2004-08-30 | 2008-10-07 | Ati Technologies, Inc. | SIMD processor with register addressing, buffer stall and methods |
US20060069849A1 (en) | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a memory |
US7685365B2 (en) | 2004-09-30 | 2010-03-23 | Intel Corporation | Transactional memory execution utilizing virtual memory |
US20060149804A1 (en) | 2004-11-30 | 2006-07-06 | International Business Machines Corporation | Multiply-sum dot product instruction with mask and splat |
US7230851B2 (en) | 2004-12-23 | 2007-06-12 | Sandisk Corporation | Reducing floating gate to floating gate coupling effect |
KR100673901B1 (ko) | 2005-01-28 | 2007-01-25 | 주식회사 하이닉스반도체 | 저전압용 반도체 메모리 장치 |
US7543119B2 (en) | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
US7624313B2 (en) | 2005-03-28 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | TCAM BIST with redundancy |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
KR100720644B1 (ko) | 2005-11-17 | 2007-05-21 | 삼성전자주식회사 | 메모리 장치 및 메모리 그 동작 방법 |
JP4804479B2 (ja) | 2005-12-13 | 2011-11-02 | スパンション エルエルシー | 半導体装置およびその制御方法 |
JP5129450B2 (ja) | 2006-01-16 | 2013-01-30 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
US8077533B2 (en) | 2006-01-23 | 2011-12-13 | Freescale Semiconductor, Inc. | Memory and method for sensing data in a memory using complementary sensing scheme |
JP4989900B2 (ja) | 2006-01-31 | 2012-08-01 | ルネサスエレクトロニクス株式会社 | 並列演算処理装置 |
US7400532B2 (en) | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
KR100755370B1 (ko) | 2006-04-17 | 2007-09-04 | 삼성전자주식회사 | 반도체 메모리 장치 |
TW200828333A (en) | 2006-04-28 | 2008-07-01 | Samsung Electronics Co Ltd | Sense amplifier circuit and sense amplifier-based flip-flop having the same |
US7752417B2 (en) | 2006-06-05 | 2010-07-06 | Oracle America, Inc. | Dynamic selection of memory virtualization techniques |
US7372715B2 (en) | 2006-06-14 | 2008-05-13 | Micron Technology, Inc. | Architecture and method for NAND flash memory |
US8069377B2 (en) | 2006-06-26 | 2011-11-29 | Micron Technology, Inc. | Integrated circuit having memory array including ECC and column redundancy and method of operating the same |
US7724559B2 (en) | 2006-07-14 | 2010-05-25 | International Business Machines Corporation | Self-referenced match-line sense amplifier for content addressable memories |
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 |
US7869273B2 (en) | 2007-09-04 | 2011-01-11 | Sandisk Corporation | Reducing the impact of interference during programming |
US7787319B2 (en) | 2007-09-06 | 2010-08-31 | Innovative Silicon Isi Sa | Sense amplifier circuitry for integrated circuit having memory cell array, and method of operating same |
US8042082B2 (en) | 2007-09-12 | 2011-10-18 | Neal Solomon | Three dimensional memory in a system on a chip |
US7965564B2 (en) | 2007-09-18 | 2011-06-21 | Zikbit Ltd. | Processor arrays made of standard memory cells |
US7663928B2 (en) | 2007-10-09 | 2010-02-16 | Ememory Technology Inc. | Sense amplifier circuit having current mirror architecture |
US8156299B2 (en) | 2007-10-19 | 2012-04-10 | Virident Systems Inc. | Managing memory systems containing components with asymmetric characteristics |
US7924628B2 (en) | 2007-11-14 | 2011-04-12 | Spansion Israel Ltd | Operation of a non-volatile memory array |
US7979667B2 (en) | 2007-12-10 | 2011-07-12 | Spansion Llc | Memory array search engine |
US7755960B2 (en) | 2007-12-17 | 2010-07-13 | Stmicroelectronics Sa | Memory including a performance test circuit |
US8495438B2 (en) | 2007-12-28 | 2013-07-23 | Texas Instruments Incorporated | Technique for memory imprint reliability improvement |
US7808854B2 (en) | 2008-02-19 | 2010-10-05 | Kabushiki Kaisha Toshiba | Systems and methods for data transfers between memory cells |
JP5194302B2 (ja) | 2008-02-20 | 2013-05-08 | ルネサスエレクトロニクス株式会社 | 半導体信号処理装置 |
US20090254694A1 (en) | 2008-04-02 | 2009-10-08 | Zikbit Ltd. | Memory device with integrated parallel processing |
US8332580B2 (en) | 2008-04-02 | 2012-12-11 | Zikbit Ltd. | System, method and apparatus for memory with embedded associative section for computations |
US7957206B2 (en) | 2008-04-04 | 2011-06-07 | Micron Technology, Inc. | Read circuitry for an integrated circuit having memory cells and/or a memory cell array, and method of operating same |
US8339824B2 (en) | 2008-07-02 | 2012-12-25 | Cooke Laurence H | Nearest neighbor serial content addressable memory |
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 |
ITRM20080543A1 (it) | 2008-10-09 | 2010-04-10 | Micron Technology Inc | Architettura e metodo per la programmazione di memorie. |
US8254191B2 (en) | 2008-10-30 | 2012-08-28 | Micron Technology, Inc. | Switched interface stacked-die memory architecture |
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 |
US8583898B2 (en) | 2009-06-12 | 2013-11-12 | Cray Inc. | System and method for managing processor-in-memory (PIM) operations |
KR20100134235A (ko) | 2009-06-15 | 2010-12-23 | 삼성전자주식회사 | 반도체 메모리 장치 |
US8732389B2 (en) | 2009-06-23 | 2014-05-20 | Seagate Technology Llc | Memory wear control |
US7898864B2 (en) | 2009-06-24 | 2011-03-01 | Sandisk Corporation | Read operation for memory with compensation for coupling based on write-erase cycles |
US8412987B2 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
US8059438B2 (en) | 2009-08-28 | 2011-11-15 | International Business Machines Corporation | Content addressable memory array programmed to perform logic operations |
US8077532B2 (en) | 2009-09-02 | 2011-12-13 | Micron Technology, Inc. | Small unit internal verify read in a memory device |
US8482975B2 (en) | 2009-09-14 | 2013-07-09 | Micron Technology, Inc. | Memory kink checking |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
US20120246380A1 (en) | 2009-10-21 | 2012-09-27 | Avidan Akerib | Neighborhood operations for parallel processing |
US8719516B2 (en) | 2009-10-21 | 2014-05-06 | Micron Technology, Inc. | Memory having internal processors and methods of controlling memory access |
US8650232B2 (en) | 2009-10-26 | 2014-02-11 | Via Technologies, Inc. | System and method for determination of a horizontal minimum of digital values |
KR101634340B1 (ko) | 2009-11-03 | 2016-06-28 | 삼성전자주식회사 | 반도체 메모리 장치의 프로그램 방법 |
US8583896B2 (en) | 2009-11-13 | 2013-11-12 | Nec Laboratories America, Inc. | Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain |
KR20110054773A (ko) | 2009-11-18 | 2011-05-25 | 삼성전자주식회사 | 비트라인 디스털번스를 개선하는 반도체 메모리 장치 |
US8089815B2 (en) | 2009-11-24 | 2012-01-03 | Sandisk Technologies Inc. | Programming memory with bit line floating to reduce channel-to-floating gate coupling |
US8605015B2 (en) | 2009-12-23 | 2013-12-10 | Syndiant, Inc. | Spatial light modulator with masking-comparators |
JP2011146102A (ja) | 2010-01-15 | 2011-07-28 | Elpida Memory Inc | 半導体装置及びデータ処理システム |
CN102141905B (zh) | 2010-01-29 | 2015-02-25 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
US8164942B2 (en) | 2010-02-01 | 2012-04-24 | International Business Machines Corporation | High performance eDRAM sense amplifier |
US8533245B1 (en) | 2010-03-03 | 2013-09-10 | Altera Corporation | Multipliers with a reduced number of memory blocks |
EP2564306A4 (en) | 2010-04-27 | 2017-04-26 | Cornell University | System and methods for mapping and searching objects in multidimensional space |
KR101119371B1 (ko) | 2010-04-29 | 2012-03-06 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 이의 동작 방법 |
US8559232B2 (en) | 2010-05-03 | 2013-10-15 | Aplus Flash Technology, Inc. | DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation |
US8351278B2 (en) | 2010-06-23 | 2013-01-08 | International Business Machines Corporation | Jam latch for latching memory array output data |
KR101143471B1 (ko) | 2010-07-02 | 2012-05-11 | 에스케이하이닉스 주식회사 | 센스앰프 및 이를 포함하는 반도체 장치 |
US20120017039A1 (en) | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
US8462532B1 (en) | 2010-08-31 | 2013-06-11 | Netlogic Microsystems, Inc. | Fast quaternary content addressable memory cell |
US8347154B2 (en) | 2010-09-21 | 2013-01-01 | International Business Machines Corporation | Use of hashing function to distinguish random and repeat errors in a memory system |
US8904115B2 (en) | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
US8332367B2 (en) | 2010-10-20 | 2012-12-11 | International Business Machines Corporation | Parallel data redundancy removal |
KR101148352B1 (ko) | 2010-11-02 | 2012-05-21 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작 방법 |
KR101854232B1 (ko) | 2010-11-09 | 2018-05-04 | 삼성전자주식회사 | 디-엠퍼시스 기능을 갖는 의사 오픈 드레인 방식의 출력 드라이버, 반도체 메모리 장치 및 그것의 제어 방법 |
JP5528987B2 (ja) | 2010-11-11 | 2014-06-25 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
US8553481B2 (en) | 2010-11-29 | 2013-10-08 | Apple Inc. | Sense amplifier latch with integrated test data multiplexer |
US9165023B2 (en) | 2011-01-31 | 2015-10-20 | Freescale Semiconductor, Inc. | Integrated circuit device and method for determining an index of an extreme value within an array of values |
KR20120088973A (ko) | 2011-02-01 | 2012-08-09 | 삼성전자주식회사 | 로컬 센스앰프 회로 및 이를 포함하는 반도체 메모리 장치 |
JP2012174016A (ja) | 2011-02-22 | 2012-09-10 | Renesas Electronics Corp | データ処理装置およびそのデータ処理方法 |
JP5259765B2 (ja) | 2011-03-29 | 2013-08-07 | 株式会社東芝 | 不揮発性半導体メモリ |
US8725730B2 (en) | 2011-05-23 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Responding to a query in a data processing system |
US8706958B2 (en) | 2011-09-01 | 2014-04-22 | Thomas Hein | Data mask encoding in data bit inversion scheme |
KR20140085468A (ko) | 2011-10-28 | 2014-07-07 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 행 시프팅 시프트가능 메모리 |
US8891297B2 (en) | 2011-11-01 | 2014-11-18 | Micron Technology, Inc. | Memory cell sensing |
US9830158B2 (en) | 2011-11-04 | 2017-11-28 | Nvidia Corporation | Speculative execution and rollback |
KR101321481B1 (ko) | 2011-11-04 | 2013-10-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 위한 테스트 회로 |
KR20130052971A (ko) | 2011-11-14 | 2013-05-23 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
WO2013078085A1 (en) | 2011-11-22 | 2013-05-30 | Mips Technologies, Inc. | Processor with kernel mode access to user space virtual addresses |
US9665371B2 (en) | 2011-11-30 | 2017-05-30 | Intel Corporation | Providing vector horizontal compare functionality within a vector register |
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 |
US9058135B1 (en) | 2012-11-12 | 2015-06-16 | Xilinx, Inc. | Synchronization of timers across clock domains in a digital system |
US9170948B2 (en) | 2012-12-23 | 2015-10-27 | Advanced Micro Devices, Inc. | Cache coherency using die-stacked memory device with logic die |
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 |
US9824004B2 (en) * | 2013-10-04 | 2017-11-21 | Micron Technology, Inc. | Methods and apparatuses for requesting ready status information from a memory |
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 |
US9135982B2 (en) * | 2013-12-18 | 2015-09-15 | Intel Corporation | Techniques for accessing a dynamic random access memory array |
US20150270015A1 (en) | 2014-03-19 | 2015-09-24 | Micron Technology, Inc. | Memory mapping |
US9934856B2 (en) | 2014-03-31 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for comparing data patterns in memory |
EP3140749B1 (en) | 2014-05-08 | 2021-01-13 | Micron Technology, INC. | In-memory lightweight coherency |
JP6637906B2 (ja) | 2014-05-08 | 2020-01-29 | マイクロン テクノロジー,インク. | ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法 |
US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
US9455020B2 (en) | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
US9779019B2 (en) | 2014-06-05 | 2017-10-03 | Micron Technology, Inc. | Data storage layout |
US9704540B2 (en) | 2014-06-05 | 2017-07-11 | Micron Technology, Inc. | Apparatuses and methods for parity determination using sensing circuitry |
US9711206B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9711207B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US10074407B2 (en) | 2014-06-05 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for performing invert operations using sensing circuitry |
US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9449674B2 (en) | 2014-06-05 | 2016-09-20 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9830999B2 (en) | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
US9847110B2 (en) * | 2014-09-03 | 2017-12-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector |
US9898252B2 (en) | 2014-09-03 | 2018-02-20 | Micron Technology, Inc. | Multiplication operations in memory |
US9747961B2 (en) | 2014-09-03 | 2017-08-29 | Micron Technology, Inc. | Division operations in memory |
US9904515B2 (en) | 2014-09-03 | 2018-02-27 | Micron Technology, Inc. | Multiplication operations in memory |
US9589602B2 (en) | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison operations in memory |
US9740607B2 (en) | 2014-09-03 | 2017-08-22 | Micron Technology, Inc. | Swap operations in memory |
US10068652B2 (en) | 2014-09-03 | 2018-09-04 | Micron Technology, Inc. | Apparatuses and methods for determining population count |
US9836277B2 (en) | 2014-10-01 | 2017-12-05 | Samsung Electronics Co., Ltd. | In-memory popcount support for real time analytics |
US9940026B2 (en) | 2014-10-03 | 2018-04-10 | Micron Technology, Inc. | Multidimensional contiguous memory allocation |
US9836218B2 (en) | 2014-10-03 | 2017-12-05 | Micron Technology, Inc. | Computing reduction and prefix sum operations in memory |
US10163467B2 (en) | 2014-10-16 | 2018-12-25 | Micron Technology, Inc. | Multiple endianness compatibility |
US10147480B2 (en) | 2014-10-24 | 2018-12-04 | Micron Technology, Inc. | Sort operation in memory |
US10073635B2 (en) | 2014-12-01 | 2018-09-11 | Micron Technology, Inc. | Multiple endianness compatibility |
US9747960B2 (en) | 2014-12-01 | 2017-08-29 | Micron Technology, Inc. | Apparatuses and methods for converting a mask to an index |
US10032493B2 (en) | 2015-01-07 | 2018-07-24 | Micron Technology, Inc. | Longest element length determination in memory |
US10061590B2 (en) | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
US9583163B2 (en) | 2015-02-03 | 2017-02-28 | Micron Technology, Inc. | Loop structure for operations in memory |
TWI595632B (zh) * | 2015-02-23 | 2017-08-11 | Toshiba Kk | Memory system |
US9741399B2 (en) | 2015-03-11 | 2017-08-22 | Micron Technology, Inc. | Data shift by elements of a vector in memory |
US9898253B2 (en) | 2015-03-11 | 2018-02-20 | Micron Technology, Inc. | Division operations on variable length elements in memory |
US10146537B2 (en) | 2015-03-13 | 2018-12-04 | Micron Technology, Inc. | Vector population count determination in memory |
US10049054B2 (en) | 2015-04-01 | 2018-08-14 | Micron Technology, Inc. | Virtual register file |
US10140104B2 (en) | 2015-04-14 | 2018-11-27 | Micron Technology, Inc. | Target architecture determination |
US9959923B2 (en) | 2015-04-16 | 2018-05-01 | Micron Technology, Inc. | Apparatuses and methods to reverse data stored in memory |
US10007435B2 (en) | 2015-05-21 | 2018-06-26 | Micron Technology, Inc. | Translation lookaside buffer in memory |
US9704541B2 (en) | 2015-06-12 | 2017-07-11 | Micron Technology, Inc. | Simulating access lines |
US9921777B2 (en) | 2015-06-22 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for data transfer from sensing circuitry to a controller |
US9996479B2 (en) | 2015-08-17 | 2018-06-12 | Micron Technology, Inc. | Encryption of executables in computational memory |
US10140122B2 (en) * | 2015-09-23 | 2018-11-27 | Hanan Potash | Computer processor with operand/variable-mapped namespace |
US9905276B2 (en) | 2015-12-21 | 2018-02-27 | Micron Technology, Inc. | Control of sensing components in association with performing operations |
US9952925B2 (en) | 2016-01-06 | 2018-04-24 | Micron Technology, Inc. | Error code calculation on sensing circuitry |
US10048888B2 (en) | 2016-02-10 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for partitioned parallel data movement |
US9892767B2 (en) | 2016-02-12 | 2018-02-13 | Micron Technology, Inc. | Data gathering in memory |
US9971541B2 (en) | 2016-02-17 | 2018-05-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US9899070B2 (en) | 2016-02-19 | 2018-02-20 | Micron Technology, Inc. | Modified decode for corner turn |
US10956439B2 (en) | 2016-02-19 | 2021-03-23 | Micron Technology, Inc. | Data transfer with a bit vector operation device |
US10120740B2 (en) | 2016-03-22 | 2018-11-06 | Micron Technology, Inc. | Apparatus and methods for debugging on a memory device |
KR20170116615A (ko) * | 2016-04-11 | 2017-10-20 | 에스케이하이닉스 주식회사 | 메모리 모듈 및 이를 포함하는 메모리 시스템 |
KR102479212B1 (ko) | 2016-08-17 | 2022-12-20 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
US10282309B2 (en) | 2017-02-24 | 2019-05-07 | Advanced Micro Devices, Inc. | Per-page control of physical address space distribution among memory modules |
US10628049B2 (en) * | 2017-07-12 | 2020-04-21 | Sandisk Technologies Llc | Systems and methods for on-die control of memory command, timing, and/or control signals |
-
2017
- 2017-08-31 US US15/693,366 patent/US10741239B2/en active Active
-
2018
- 2018-08-30 CN CN201811004176.9A patent/CN109427384B/zh active Active
-
2020
- 2020-08-10 US US16/989,620 patent/US11276457B2/en active Active
-
2022
- 2022-03-14 US US17/694,184 patent/US11894045B2/en active Active
-
2024
- 2024-02-01 US US18/430,136 patent/US20240170047A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077877A (zh) * | 2014-10-29 | 2017-08-18 | 美光科技公司 | 用于使用感测电路执行逻辑操作的设备及方法 |
Also Published As
Publication number | Publication date |
---|---|
US11894045B2 (en) | 2024-02-06 |
US11276457B2 (en) | 2022-03-15 |
US20200372946A1 (en) | 2020-11-26 |
US20190066761A1 (en) | 2019-02-28 |
US20220208249A1 (en) | 2022-06-30 |
US10741239B2 (en) | 2020-08-11 |
US20240170047A1 (en) | 2024-05-23 |
CN109427384A (zh) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109427395B (zh) | 用于存储器内操作的设备和方法 | |
US11599475B2 (en) | Apparatuses and methods for compute enabled cache | |
US11681440B2 (en) | Apparatuses and methods for parallel writing to multiple memory device structures | |
CN111052099B (zh) | 存储器内处理 | |
US20240194247A1 (en) | Apparatuses and methods for logic/memory devices | |
US10817414B2 (en) | Apparatuses and methods for memory device as a store for block program instructions | |
CN109427384B (zh) | 存储器内处理 | |
US11693561B2 (en) | Apparatuses and methods for simultaneous in data path compute operations | |
US11514957B2 (en) | Bank to bank data transfer |
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: 20230905 Address after: Illinois, America Patentee after: North Star Franchise Group Co.,Ltd. Address before: Idaho Patentee before: MICRON TECHNOLOGY, Inc. |
|
TR01 | Transfer of patent right |