CN108701473B - 用于数据移动的设备及方法 - Google Patents
用于数据移动的设备及方法 Download PDFInfo
- Publication number
- CN108701473B CN108701473B CN201780011785.4A CN201780011785A CN108701473B CN 108701473 B CN108701473 B CN 108701473B CN 201780011785 A CN201780011785 A CN 201780011785A CN 108701473 B CN108701473 B CN 108701473B
- Authority
- CN
- China
- Prior art keywords
- sub
- array
- subarray
- data
- coupled
- 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 42
- 230000015654 memory Effects 0.000 claims abstract description 227
- 238000003491 array Methods 0.000 claims abstract description 109
- 238000012545 processing Methods 0.000 claims description 53
- 230000008878 coupling Effects 0.000 claims description 13
- 238000010168 coupling process Methods 0.000 claims description 13
- 238000005859 coupling reaction Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 5
- 230000011664 signaling Effects 0.000 claims 2
- 230000000295 complement effect Effects 0.000 description 36
- 238000012546 transfer Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 239000003990 capacitor Substances 0.000 description 8
- 230000003213 activating effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000011067 equilibration Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000541 pulsatile effect Effects 0.000 description 1
- 125000006850 spacer group Chemical group 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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/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/4097—Bit-line organisation, e.g. bit-line layout, folded bit lines
-
- 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/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2236—Copy
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2245—Memory devices with an internal cache buffer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
Abstract
本发明包含用于数据移动的设备及方法。一种实例性设备包含存储器装置,其包含存储器单元的多个子阵列及耦合到所述多个子阵列的感测电路。所述感测电路包含感测放大器及计算组件。所述存储器装置还包含多个子阵列控制器。所述多个子阵列控制器中的每一子阵列控制器耦合到所述多个子阵列中的相应子阵列,且经配置以指示针对存储在所述多个子阵列中的所述相应子阵列中的数据来执行运算。所述存储器装置经配置以将对应于针对存储在所述多个子阵列中的第一子阵列中的数据的运算的结果的数据值移动到所述多个子阵列中的第二子阵列中的存储器单元。
Description
技术领域
本发明大体来说涉及半导体存储器及方法,且更特定来说,涉及用于数据移动的设备及方法。
背景技术
存储器装置通常经提供作为计算机或其它电子系统中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器可能需要电力来维持其数据(例如,主机数据、错误数据等),且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存储器(SRAM)、同步动态随机存取存储器(SDRAM)及晶闸管随机存取存储器(TRAM)以及其它存储器。非易失性存储器可通过在未供电时保留所存储的数据来提供持久数据,且可包含NAND快闪存储器、NOR快闪存储器及例如相变随机存取存储器(PCRAM)、电阻随机存取存储器(RRAM)的电阻可变存储器,以及例如自旋转矩传递随机存取存储器(STT RAM)的磁阻式随机存取存储器(MRAM),以及其它存储器。
电子系统通常包含多个处理资源(例如,一或多个处理器),其可检索及执行指令并将所执行指令的结果存储到合适的位置。处理器可包括多个功能单元,例如算术逻辑单元(ALU)电路、浮点单元(FPU)电路及组合逻辑块,例如,其可用于通过执行运算来执行指令,例如“与(AND)”、“或(OR)”、“非(NOT)”、“非与(NAND)”、“非或(NOR)”及“异或(XOR)”,以及对数据(例如,一或多个操作数)的转化(例如,逆)运算。例如,功能单元电路可用于经由多个运算对操作数执行算术运算,例如加法、减法、乘法及除法。
电子系统中的许多组件可涉及于向功能单元电路提供指令以用于执行。例如,可通过例如控制器及主机处理器的处理资源来执行指令。数据(例如,将对其执行指令的操作数)可存储在可由功能单元电路存取的存储器阵列中。在功能单元电路开始对数据执行指令之前,可从存储器阵列检索指令及数据并对其进行排序及缓冲。此外,由于可通过功能单元电路在一或多个时钟周期中执行不同类型的运算,因此指令及数据的中间结果也可被排序及缓冲。
在许多情况下,处理资源(例如,处理器及相关联的功能单元电路)可在存储器阵列外部,且经由处理资源与存储器阵列之间的总线存取数据以执行指令集。在存储器中处理装置中可改进处理性能,其中处理器可经实施在存储器内部或在其附近(例如,直接在与存储器阵列相同的芯片上)。存储器中处理装置可通过减少及消除外部通信来节省时间且还可节省电力。然而,存储器内处理装置的存储体之间及存储体内的数据移动可能影响存储器中处理装置的数据处理时间。
附图说明
图1A为根据本发明的多个实施例的呈包含存储器装置的计算机系统形式的设备的框图。
图1B为根据本发明的多个实施例的存储器装置的存储体区段的框图。
图1C为根据本发明的多个实施例的存储器装置的存储体的框图。
图2为根据本发明的多个实施例说明存储器装置的感测电路的示意图。
图3为根据本发明的多个实施例说明用于向存储器装置的数据移动的电路的示意图。
图4A及4B表示根据本发明的多个实施例说明用于向存储器装置的数据移动的电路的另一示意图。
图5根据本发明的多个实施例电路说明与使用电路执行多个数据移动运算相关联的时序图。
具体实施方式
本发明包含用于数据移动的设备及方法(例如,用于存储器内处理(PIM)结构)。在至少一个实施例中,设备包含存储器装置,其经配置以包含存储器单元的多个子阵列及耦合到多个子阵列的感测电路(例如,经由多个列的存储器单元)。感测电路包含感测放大器及计算组件(例如,耦合到多个列中的每一者)。存储器装置包含多个子阵列控制器。多个子阵列控制器中的每一子阵列控制器耦合到多个子阵列中的相应子阵列,且经配置以指示关于存储在多个子阵列中的相应子阵列中的数据执行运算(例如,单个运算)。例如,对其执行运算的数据可存储在多个子阵列中的相应子阵列中的存储器单元的子组或全部中。
所述存储器装置经配置以将对应于针对存储在所述多个子阵列中的第一子阵列中的数据的运算的结果的数据值移动到所述多个子阵列的第二子阵列中的存储器单元。例如,可关于存储在第一子阵列中的数据执行第一运算,且可关于移动到第二子阵列的数据执行第二运算,其中第二运算可与第一运算不同。
大多数数据应在PIM结构内的不同存储体与子阵列之间变化(例如,PIM DRAM实施方案)。如下文更详细描述,实施例可允许主机系统在一或多个DRAM存储体中分配多个位置(例如,子阵列(sub-array或“subarray”))及子阵列的部分以保持(例如,存储)及/或处理数据。主机系统及控制器可对程序指令(例如,PIM命令指令)的整体或部分或块及数据执行地址解析并指示(例如,控制)将数据及命令分配、存储及/或流动到目的地(例如,目标)存储体内的分配位置(例如,子阵列及子阵列的部分)。写入数据及执行命令(例如,执行序列运算,如本文中所描述)可利用到DRAM装置的正常DRAM写入路径。如读者将了解,虽然关于本文中呈现的实例论述DRAM类型PIM装置,但实施例不限于PIM DRAM实施方案。
如本文中所描述,位并行单指令多数据(SIMD)功能性可经修改以运算为具有执行多指令多数据(MIMD)运算能力的脉动阵列。例如,当64个子阵列用于执行具有64个逻辑步骤的运算时,植入此架构修改可针对PIM装置的一些应用产生性能增加大约64倍(例如,通过在大约1/64的时间内执行运算)。
所述架构可使用子阵列控制器(例如,排序器、状态机、微控制器、子处理器、ALU电路或一些其它类型的控制器)执行指令集以来对数据(例如,一或多个操作数)执行运算(例如,单个运算)。如本文中所使用,运算可为,例如,布尔(Boolean)运算,例如“与”、“或”、“非”、“非”、“非与”、“非或”及“异或”,及/或其它运算(例如,转化、移位、算术、统计,及许多其它可能运算)。例如,功能单元电路可用于经由多个逻辑运算对操作数执行算术运算,例如加法、减法、乘法及除法。
每一子阵列控制器可耦合到相应的子阵列以分阶段并控制对存储在所述子阵列中的数据执行的处理(例如,其可仅为存储在所述子阵列中的所有数据的子集)。例如,每一子阵列中的每一存储器单元可涉及单个运算(也被称作为“原子运算”)的执行,所述运算可与对存储在同一子阵列中的其它存储器单元中的数据执行的运算相同(例如,完全相同)。上述情形可提供处理及/或功耗益处。
可利用流接口执行指令序列中的多个唯一运算。如本文中所描述,流接口可为存储器单元之间的共享I/O线(也被称作为数据流管线)。此数据流管线可允许关于存储在一个子阵列中的数据执行单个运算,其中对应于所述运算的结果的数据值通过数据流管线(例如,经由共享I/O线)移动(例如,传送、传输及/或馈送)到另一(例如,相邻的)子阵列的选定行中。存储器装置可经配置以对存储在另一子阵列中的数据执行下一单个运算,所述下一单个运算在各种实施例中可为相同或不同的运算。可重复此过程,直到完成指令序列以产生预期结果。
根据一或多个实施例,每一子阵列可存在一个子阵列控制器。在一些实施例中,存储器装置的存储体可具有64个子阵列。因此,存储体可能具有64个子阵列控制器。每一子阵列控制器可经配置以执行唯一定义的运算。存储器装置可经配置以将其一个运算的结果移动到另一子阵列的特定行。可基于由其相应子阵列控制器执行的指令而对存储在每一子帧中的数据执行不同运算。因为运算循环可包含花费比计算装置的一个时钟周期长的时间来执行的运算,所以在一些实施例中,运算周期可持续多于一个时钟周期。
如本文中所使用,批意欲意指在输入到第一子阵列以进行处理之前在输入数据高速缓冲存储器中累积为未处理数据的数据值单元,如本文中所述。例如,当所述批的数据值基本上等于第一子阵列(例如,在子阵列的至少一行中)的存储器单元的数目时,可将所述批的未处理数据输入到第一子阵列中。输入到第一子阵列的第一批数据值可被称作为第一批,直到在执行序列运算中的最后一个运算之后输出作为经完全处理的数据值。类似地,在第一批数据被移动(例如,传送或拷贝)到另一子阵列之后,第二批数据值可输入到第一子阵列且可被称作为第二批数据直到输出作为经完全处理的数据值,等等。
如本文中所述,脉动意欲意指输入数据以流过硬连线处理器节点的网络(例如,如本文中所描述的子阵列中的存储器单元)以将所述数据组合、处理、合并及/或分类到所导出的最终结果。每一节点可独立地计算部分结果,将部分结果存储在其自身内,且向下游移动(例如,传送及/或拷贝)部分结果以进一步处理部分结果,直到计算并输出所导出的最终结果。脉动阵列可被称作为MIMD架构。
当已输入到例如64个子阵列的序列中的第一子阵列中的第一批未处理数据已经处理并移动(例如,传送及/或拷贝)到另一(例如,第二)子阵列用于脉动处理时,可将第二批未处理数据输入到第一子阵列中,在第二批次已被移动(例如,传送及/或拷贝)到第二子阵列且第一批次已被移动时(第,传送及/或拷贝)到第三子阵列,等等时后续接着第三批。如本文中所描述,等待时间意欲意指在将第一批未处理数据输入到第一子阵列以执行第一运算与输出第一批作为经完全处理数据之间的一段时间。例如,当已执行64个指令的序列且在第64个运算周期之后输出经处理数据时(例如,在执行序列64个运算中的第64个运算之后),来自64个子阵列序列的输出的等待时间已过期。如此,因为可在每一运算循环之后输入额外批次的数据,所以在等待时间之后的存储器装置的每一运算循环可输出一批经完全处理数据,或在本文中所描述的一些实施例中,输出多于一批的经完全处理数据。
许多应用程序可能涉及输入冗长及/或连续的数据流以进行数据处理。例如,此些应用可包含信号处理、图像处理、语音辨识、分组检查、逗号分隔值(CSV)剖析、矩阵乘法及神经网络,以及可对冗长及/或连续数据流进行运算的其它应用。在一些实施例中,此未经处理的数据可被输入到经配置为子阵列堆叠的阵列的图形顶部且为通过在连续子阵列中执行指令序列来处理数据,且结果可在子阵列堆叠的底部输出。
本文中所描述的用于数据移动的设备及方法包含对例如PIM DRAM实施方案的控制器的运算的许多改变。例如,如本文中所描述,控制器可协调对序列运算的单独运算的指令分配到每一子阵列控制器,使得每一子阵列控制器关于存储在子阵列中的每一者的数据执行单独运算。例如,针对64子阵列的堆叠,可执行64个独立的运算以完成序列运算。
耦合到每一子阵列的子阵列控制器可经配置以指示(例如,通过执行指令)将运算的执行结果从如本文中所描述的感测电路移动(例如,传送及/或拷贝)到另一(例如,相邻)子阵列中的行(例如,行中的存储器单元)。例如,运算的每一执行后续可为将所得的经处理数据值从每一子阵列的感测电路移动(例如,传送及/或拷贝)到另一子阵列中的行,以便执行序列运算(例如,脉动序列)中的下一运算。经配置以在序列的开始处执行运算的子阵列控制器可耦合到输入数据高速缓冲存储器以感测其中新数据的存在且基于此起始序列运算。
本文中所描述的脉动数据移动的优点可包含PIM DRAM存储器装置可有效地利用其大规模并行化及计算能力。例如,PIM DRAM存储器装置可扩展其计算及执行能力,以便基本上同时执行序列运算中多个、独立及/或独特的运算同时从一个运算到下一个运算并行地输出经处理数据值。因此,例如,对于64个子阵列堆叠,可执行64个独立运算以有效地将PIM阵列中的数据移动的性能(例如,速度、速率及/或效率)提高64倍。
在本发明的以下详细描述中,参考形成本发明部分的附图,且在附图中通过说明的方式展示其中可实践本发明的一或多个实施例的方式。足够详细地描述这些实施例以使得所属领域的普通技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在背离本发明的范围的情况下进行处理、电气及结构变化。
如本文中所使用,例如“X”、“Y”、“N”、“M”等的指示符,特别是关于附图中的参考编号指示可包含如此指定的许多特定特征。还应理解,本文中所使用的术语为仅出于描述特定实施例的目的且并不意欲为限制性。如本文中所使用,除非上下文另有明确指示,否则单数形式“一(a)”、“一(an)”及“所述”可包含单数与复数对象两者。另外,“多个”、“至少一个”及“一或多个”(例如,多个存储器阵列)可指代一或多个存储器阵列,而“多个”意欲指代多于一个此类事情。此外,贯穿本申请案,措词“可能”及“可以”是以允许的意义(即,具有潜在的,能够的)而不是在强制意义上(即,必须)使用。术语“包含”及其派生词意指“包含但不限于”。术语“经耦合”及“耦合”意指直接或间接地物理连接或用于存取及移动(传输)命令及数据,视上下文而定。术语“数据”及“数据值”在本文中可互换使用,且可具有相同含义,视上下文而定。
本文中的附图遵循编号惯例,其中第一个数字或前几个数字对应于图号,而其余数字标识图中的元件或组件。可通过使用类似的数字来识别不同图之间的类似元件或组件。例如,108可指代图1中的元素“08”,且类似的元素可在图2中经提及为208。如将理解,可添加、交换及消除本文中的各种实施例中所展示的元件,以便提供了本发明的多个额外实施例。另外,图中提供的元件的比例及相对比例意欲说明本发明的某些实施例,而不应被视为具有限制意义。
图1A为根据本发明的多个实施例的呈包含存储器装置120的计算机系统100形式的设备的框图。如本文中所使用,存储器装置120、控制器140、通道控制器143、存储器阵列130、包括感测放大器及计算组件的感测电路150,以及外围感测放大器及逻辑170也可各自单独被认为是“设备”。
在先前方法中,数据可从阵列及感测电路(例如,经由包括输入/输出(I/O)线的总线)传送到处理资源,例如处理器、微处理器及计算引擎,其可包括ALU电路及经配置以执行适当的运算的其它功能单元电路。然而,将数据从存储器阵列及感测电路传送到此(些)处理资源可能涉及大量功耗。即使处理资源位于与存储器阵列相同的芯片上,在将数据移出阵列到计算电路可消耗大量功率,这可能涉及执行感测线(其在本文中可被称作为数字线或数据线)地址存取(例如,触发列解码信号)以便将数据从感测线传送到I/O线(例如,局域及全局I/O线),将数据移动到阵列外围,并将数据提供给计算功能。
此外,处理资源(例如,计算引擎)的电路可能不符合与存储器阵列相关联的间距规则。例如,存储器阵列的单元可具有4F2或6F2单元大小,其中“F”为对应于单元的特征大小。如此,与先前PIM系统的ALU电路相关联的装置(例如,逻辑门)可不能按间距形成有存储器单元,这可能影响例如芯片大小及存储器密度。
作为实例,一对互补存储器单元可具有带有6F2间距的单元大小,例如,3F×2F。如果用于互补存储器单元的一对互补感测线的间距为3F,那么处于间距上的感测电路指示感测电路(例如,每相应对的互补感测线的感测放大器及对应的计算组件)经形成以装配在互补感测线的3F间距内。
本发明的多个实施例包含按间距形成有感测线的感测电路及/或存储器单元阵列的存储器单元。感测电路能够执行数据感测及计算功能以及存储(例如,高速缓存)存储器单元阵列本地的数据。
为了了解本文中所描述的经改进的数据移动技术,下面为对用于实施此些技术的设备(例如,具有PIM能力的存储器装置及相关联主机)的论述。根据各种实施例,涉及具有PIM能力的存储器装置的程序指令(例如,PIM命令)可在可实施运算的多个感测电路上分配PIM命令及数据的实施方案,且可在存储器阵列内移动及存储PIM命令及数据(例如,不必在主机与存储器装置之间的A/C及数据总线上来回传送此些)。因此,可在更短的时间内且使用更少的功率来存取并使用具有PIM能力的存储器装置的数据。例如,可通过提高在计算系统中移动及存储的数据的速度、速率及/或效率来实现时间及功率优势,以便处理所请求存储器阵列运算(例如,读取、写入、逻辑运算等)。
图1A中所说明的系统100可包含耦合(例如,连接)到存储器装置120的主机110,存储器装置包含存储器阵列130。主机110可为主机系统,例如个人膝上型计算机、桌上型计算机、平板计算机、数码相机、智能手机或存储器读卡器,及各种其它类型的主机。主机110可包含系统主板及背板,且可包含多个处理资源(例如,一或多个处理器、微处理器或一些其它类型的控制电路)。系统100可包含单独的集成电路,或主机110及存储器装置120两者都可在同一集成电路上。系统100可为例如服务器系统及高性能计算(HPC)系统及其一部分。尽管图1A中所展示的实例说明具有冯·诺依曼(Von Neumann)架构的系统,但本发明的实施例可在非冯·诺依曼架构中实施,其可不包含通常与冯·诺依曼架构相关联的一或多个组件(例如,CPU、ALU等)。
为清楚起见,已简化了系统100的描述以集中于与本发明特别相关的特征。例如,在各种实施例中,存储器阵列130可为例如DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪阵列及NOR快闪阵列。存储器阵列130可包含存储器单元,所述存储器单元经布置成通过存取线(其在本文中可称作为字线或选择线)耦合的行及通过感测线(其在本文中可称作为数据线或数字线)耦合的列。尽管图1A中展示单个存储器阵列130,但实施例不限于此。例如,除了如本文中所描述的多个子阵列之外,存储器装置120还可包含多个存储器阵列130(例如,多个DRAM单元存储体、NAND快闪单元等)。
存储器装置120可包含地址电路142以通过I/O电路144(例如,经由局部I/O线及全局I/O线提供到外部ALU电路及DRAM DQ)锁存经由数据总线156(例如,来自主机110的I/O总线)提供的地址信号。状态及异常信息可从存储器装置120上的控制器140提供到沟道控制器143,例如,通过高速接口(HSI)带外总线157,其又可从沟道控制器143提供到主机110。沟道控制器143可包含逻辑组件160以在每一相应存储体的阵列中分配多个位置(例如,用于子阵列的控制器)以存储存储体命令、应用指令(例如,作为序列运算)及用于与多个存储器装置(例如,120-0、120-1、...、120-N)中的每一者的运算相关联的各种存储体的参数(PIM命令)。沟道控制器143可将命令(例如,PIM命令)分派给多个存储器装置120-1、...、120-N以将那些程序指令存储在存储器装置的给定存储体内。
地址信号通过地址电路142接收并由行解码器146及列解码器152解码以存取存储器阵列130。可通过使用感测电路150的多个感测放大器(如本文中所描述)感测感测线(数字线)上的电压及电流变化来从存储器阵列130感测(读取)数据。感测放大器可从存储器阵列130读取及锁存页面(例如,行)数据。如本文中所描述,额外计算组件可耦合到感测放大器且可与感测放大器结合使用以感测、存储(例如,高速缓存与缓冲),执行计算功能(例如,运算)及/或移动数据。I/O电路144可用于经由数据总线156(例如,64位宽数据总线)与主机110进行双向数据通信。写入电路148可用于将数据写入到存储器阵列130。
控制器140(例如,存储体控制逻辑及排序器)可解码由控制总线154从主机110提供的信号(例如,命令)。这些信号可包含芯片使能信号,写入使能信号及可用于控制对存储器阵列130执行的运算(包含数据感测、数据存储、数据移动、数据写入及数据擦除运算以及其它运算)的地址锁存信号。在各种实施例中,控制器140可负责执行来自主机110的指令并存取存储器阵列130。控制器140可为状态机、排序器或一些其它类型的控制器。控制器140可控制阵列(例如,存储器阵列130)的行中的移位数据(例如,右或左)。
以下进一步描述感测电路150的实例(例如,在图2及3中)。例如,在多个实施例中,感测电路150可包含多个感测放大器及多个计算组件,其可用作累加器且可用于执行如由每一子阵列的子阵列控制器所指示的运算(例如,对与互补感测线相关的数据)。
在多个实施例中,感测电路150可用于使用存储在存储器阵列130中的数据作为输入来执行运算,且参与将用于写入、逻辑及存储运算的数据移动到存储器阵列130中的不同位置中而无需经由感测线地址存取来传送数据(例如,不触发列解码信号)。如此,各种计算功能可使用感测电路150且在所述感测电路内执行,而非(或与之相关联)由在感测电路150外部的处理资源(例如,通过与主机110相关联的处理器及位于例如控制器140或别处上的装置120的例如ALU电路的其它处理电路)执行。
在各种先前方法中,例如,与操作数相关联的数据将经由感测电路从存储器读取及经由I/O线(例如,经由局部I/O线和全局I/O线)提供给外部ALU电路。外部ALU电路可包含多个寄存器且将使用操作数执行计算功能,且结果将经由I/O线传送回阵列。
相比之下,在本发明的多个实施例中,感测电路150经配置以对存储在存储器阵列130中的数据执行运算并将结果存储回存储器阵列130而不启用耦合到感测电路150的局部I/O线及全局I/O线。感测电路150可按间距形成有阵列的存储器单元。额外外围感测放大器及/或逻辑170(例如,各自存储用于执行运算的指令的子阵列控制器)可耦合到感测电路150。感测电路150及外围感测放大器及逻辑170可根据本文中所描述的一些实施例协作执行运算。
如此,在多个实施例中,不需要存储器阵列130及感测电路150外部的电路来执行计算功能,因为感测电路150可执行适当运算以便通过执行指令集(例如,序列)来执行此些计算功能而无需使用外部处理资源。因此,感测电路150可用于补充或至少在某种程度上替换此外部处理资源(或至少减少此外部处理资源的带宽消耗)。
在多个实施例中,除了由外部处理资源(例如,主机110)执行的运算之外,感测电路150还可用于执行运算(例如,执行指令集)。例如,主机110及感测电路150中的任一个可限于仅执行某些运算及一定数目的运算。
启用局部I/O线及全局I/O线可包含启用(例如,激活、接通)具有耦合到解码信号(例如,列解码信号)的栅极以及耦合到I/O线的源极/漏极的晶体管。然而,实施例不限于不启用局部I/O线及全局I/O线。例如,在多个实施例中,感测电路150可用于执行运算而无需启用阵列的列解码线。然而,可以启用局部I/O线及全局I/O线,以便将结果传送到除了返回到存储器阵列130之外的合适位置(例如,传送到外部寄存器)。
图1B为根据本发明的多个实施例的存储器装置的存储体区段123的框图。例如,存储体区段123可表示存储器装置的存储体的多个存储体区段的实例区段(例如,存储体区段0、存储体区段1、...、存储体区段M)。如图1B中所展示,存储体架构可包含水平显示为X的多个存储器列122(例如,实例性DRAM存储体及存储体区段中的16,384个列)。另外,存储体区段123可划分成分别展示为125-0、125-1、...、125-N-1为子阵列0、子阵列1、...、及子阵列N-1(例如,32、64或128个子阵列,以及其它子阵列配置),所述子阵列分别由经配置以耦合到数据路径(例如,本文中所描述的共享I/O线)的放大区域分离。如此,子阵列125-0、125-1、...、125-N-1可各自具有在124-0、124-1、...、124-N-1中显示的放大区域,所述放大区域分别对应于感测组件条带0、感测组件条带1、...及感测组件条件N-1。
每一列122可经配置以耦合到感测电路150,如结合图1A及本文中别处所描述。如此,子阵列中的每一列可单独耦合到感测放大器及/或计算组件,其有助于所述子阵列的感测组件条带。例如,如图1B中所展示,存储体架构可包含感测组件条带0、感测组件条带1、....、感测组件条带N-1,所述感测组件条带各自具有带有感测放大器及计算组件的感测电路150,所述计算组件可在各种实施例中用作寄存器、高速缓冲存储器等且用于计算、数据缓冲等。感测组件条带可在一些实施例中耦合到相应子阵列125-0、125-1、...、125-N-1中的每一列122。耦合到存储器阵列130的感测电路150内的计算组件,如图1A中所展示,可补充与控制器140相关联的高速缓冲存储器171。
子阵列125-0、125-1、...、125-N-1中的每一者可包含垂直展示为Y的多个行119(例如,每一子阵列可在实例性DRAM存储体中包含512个行)。实例性实施例并不限于本文中所描述的列及行的实例性水平及垂直定向或其实例性编号。
如图1B中所展示,存储体架构可与控制器140相关联。图1B中所展示的控制器140可在各种实例中表示由图1A中所展示的控制器140中体现且包含在其中的功能性的至少部分。控制器140可指示(例如,控制)将命令及数据141输入到存储体架构及从存储体架构输出(例如,到主机110)以及控制存储体架构中的数据移动(例如,脉动数据移动),如本文中所描述。存储体架构可包含到DRAM DQ的数据总线156(例如,64位宽的数据总线),其可对应于结合图1A所描述的数据总线156。
图1C为根据本发明的多个实施例的存储器装置120的存储体121的框图。例如,存储体121可表示存储器装置的实例性存储体(例如,存储体0、存储体1、...、存储体M-1)。如图1C中所展示,存储体架构可包含耦合到控制器140的地址/控制(A/C)路径153(例如,总线)。同样,图1C中所展示的控制器140在各种实例中可表示由图1A及1B中所展示的控制器140体现并包含在其中的功能性的至少部分。
如图1C中所展示,存储体121可包含多个存储体区段(例如,存储体区段123)。如图1C中进一步展示,存储体区段123可被细分成多个子阵列(例如,以125-0、125-1、...、125-N-1展示的子阵列0、子阵列1、...、子阵列N-1),所述子阵列分别通过感测组件条带124-0、124-1、...、124-N-1分离,如图1B中所展示。感测组件条带可包含感测电路150及/或可耦合到逻辑电路170,如图1A中所展示且关于结合图1C到图5的子阵列控制器进一步描述。
如图1C中示意性所展示,存储体121的架构及存储体的每一区段123可包含多个共享I/O线155(例如,数据路径、总线),所述共享I/O线经配置以耦合到存储体区段123及多个存储体(未展示)的存储器单元的多个子阵列125-0、125-1、...、125-N-1。多个共享I/O线155可经由由图1B中所展示的124-0、124-1、...、124-N-1表示的感测组件条带可选择地耦合在存储器单元的子阵列、行及特定列之间。如所述,感测组件条带124-0、124-1、...、124-N-1各自包含具有感测放大器及计算组件的感测电路150,所述计算组件经配置以耦合到每一子阵列中的每一列存储器单元,如图1A中所展示且结合图2到5进一步描述。
多个共享I/O线155可用于增加PIM阵列(例如,子阵列之间)中的数据移动的速度、速率及/或效率。在至少一个实施例中,使用多个共享I/O线155通过提供至少一千位宽度来提供改进的数据路径。在一个实施例中,2048个共享I/O线耦合到16,384个列以提供2048位宽度。所说明的多个共享I/O线155可按间距形成有阵列的存储器单元。
如本文中所描述,I/O线可通过耦合到子阵列中的每一个的感测组件条带由多个子阵列、行及特定列的存储器单元选择性地共享。例如,多个列的可选子组(例如,总列数中的八列子组)中的每一个的感测放大器及/或计算组件可针对存储(高速缓存)在感测组件条带中的数据值可选择地耦合到多个共享I/O线中的每一者以移动(例如,传送、输送及/或馈送)到多个共享I/O线中的每一者。因为单数形式“一”、“一”及“所述”在本文中可包含单数及复数指示物两者,所以“共享I/O线”可用于表示“多个共享I/O线”,除非上下文另有明确规定。此外,“共享I/O线”为“多个共享I/O线”的缩写。
在一些实施例中,控制器140可经配置以经由耦合到控制及数据寄存器151的多个共享I/O线155向存储器阵列130中的特定存储体121的多个位置以及传感组件条带124-0、124-1、...、124-N-1提供指令(命令)及数据。例如,控制及数据寄存器151可提供经执行由感测组件条带124-0、124-1、...、124-N-1中的感测电路150的感测放大器及计算组件使用的指令。图1C说明与控制器140相关联且耦合到存储体121中的子阵列125-0、125-1、...、125-N-1中的每一者的写入路径149的指令高速缓冲存储器171-1。在各种实施例中,指令高速缓冲存储器171-1可为相同高速缓冲存储器,或可与输入数据高速缓冲存储器相关联,所述输入数据高速缓冲存储器经配置以从所述主机接收数据且向控制器发出接收到数据以指示执行所存储序列的多个运算的信号。
指令高速缓冲存储器171-1可用于接收及存储针对关于存储在子阵列的存储器单元中的数据执行的运算的指令序列(例如,从结合图1A描述的逻辑组件160接收)。写入路径149可用于分配关于由不同的子阵列控制器170-0、170-1、...、170-N-1执行每一运算的指令,每一子阵列控制器个别地耦合到存储器单元的不同子阵列125-0、125-1、...、125-N-1及相关联感测组件条带124-0、124-1、...、124-N-1。由子阵列控制器170-0、170-1、...、170-N-1执行的运算的指令集可形成结合图1A所描述的逻辑170的至少部分。
子阵列控制器170-0、170-1、...、170-N-1可经配置以指示通过感测电路对每一子阵列125-0、125-1、...、125-N-1中的多个存储器单元中的数据执行运算(例如,每子阵列控制器的单个运算)。例如,子阵列控制器170-0、170-1、...、170-N-1中的每一个可在一些实施例中存储用于执行单个运算的指令集。是否实际上执行运算取决于由主机110及/或控制器140选择的数据处理实施方案(例如,运算是否是为特定输入数据选择的指令序列的部分)。在各种实施例中,与存储器单元中的每一者的列或特定子阵列中的存储器单元的子组相关联的感测电路可由耦合的子阵列控制器指示以对存储在那些存储器单元中的数据执行存储在所耦合的子阵列控制器中的运算。例如,取决于未处理数据输入的速率及/或数量,子阵列序列的行及/或列的子组可用于处理数据。行及/或列的子组可位于子阵列序列中的每一者中的对应或不同位置中。
指令可由子阵列控制器170-0、170-1、...、170-N-1执行用于相对于存储在子阵列125-0、125-1、...、125-N-1中的数据依序执行或运算,如图1C中所展示。作为实例,对存储在子阵列0(125-0)中的存储器单元中的数据执行的运算可为“与(AND)”运算。可通过感测组件条带0(124-0)中的感测电路150对数据值执行“与”运算。
例如,控制器140可控制已经对其执行运算的数据值移动到子阵列1(125-1)中的特定存储器单元。如本文中所描述,数据值可从耦合的感测组件条带移动(例如,传送及/或传输)到耦合的共享I/O线。在子阵列1(125-1)中,可执行“或”运算作为序列中的第二运算等。已对其执行“或”运算的数据值可从感测组件条带1(124-1)中移动(例如,传送及/或拷贝)到子阵列2(125-2)中的特定存储器单元,其中“非或”运算可作为序列中的第三运算来执行。已对其执行“非或”运算的数据值可从感测组件条带2(124-2)中移动(例如,传送及/或拷贝)到子阵列3(125-3)中的特定存储器单元,其中“移位”运算可作为序列中的第四运算来执行。
在通过多个中间子阵列顺序移动(例如,传送及/或拷贝)数据值之后,数据值可达到序列中的最后一个子阵列以便最终处理数据值。例如,在子阵列N-1(125-N-1)中,可执行“异或”运算作为数据值的最终处理,然后可将数据值输出141的感测组件条带N-1(124-N-1)移动(例如,传送及/或拷贝)到在一些实施例中与控制器540相关联的高速缓冲存储器571-2(例如,如图5中所展示)。
序列运算“与”、“或”、“非或”、“移位”、...“异或”通过实例方式呈现为彼此全部不同的可能运算子集,但本发明的实例并不限于此。例如,可如本文中所描述实施在数据处理中可用的任何运算组合,其中一些运算可能连续地及/或在整个序列中间隔地重复及/或可能未按顺序中使用可能的运算中的一些。
在可包含特定数目个子阵列125-0、125-1、...、125-N-1(例如,32、64、128个子阵列,以及其它子阵列配置)的存储体区段123中,多个子阵列控制器及/或操作指令集可对应于子阵列的数目。例如,对于具有64个子阵列的存储体区段,可执行序列指令以通过64个单独的子阵列控制器执行64次运算,每一个别子阵列控制器耦合到不同子阵列。然而,实施例并不限于此。例如,在一些实施例中,个别子阵列控制器可经配置以存储指令集,使得所述指令集可经执行以执行单个运算或多个运算。多个运算可用于不同运算,所述不同运算可选择地应用于在不同运算(例如,针对在不同时间处执行的运算)中存储在子阵列的存储器单元中的数据及/或可选择地应用于存储子阵列的行及/或列的多个子组中的数据(例如,针对基本上同时执行的不同运算)。
在一些实施例中,存储体区段中任何位置处的任何数目个个别子阵列控制器可经配置以不存储用于运算的指令。例如,存储体区段可具有64个子阵列,但可执行序列指令以执行更少的运算,这些运算可存储在少于64个子阵列控制器中,使得一些子阵列控制器可经编程以不执行任何运算。在一些实施例中,经编程以不执行任何运算的子阵列控制器可定位在经编程以执行运算的子阵列控制器之间(例如,作为间隔件)。
当第一批未处理数据已输入到子阵列0(125-0)中且数据值已经处理并移动(例如,传送及/或拷贝)到下一个子阵列1(125-1)时,可将第二批未处理数据输入到子阵列0(125-0)中,随后接着在已将输入到子阵列0(125-0)的第二批移动(例如,传送及/或拷贝)到子阵列1(125-1)且已将第一批移动(例如,传送及/或拷贝)到子阵列2(125-2)时输入第三批数据,等等。当未处理及/或部分处理的至少两个不同批次在存储体区段的至少两个不同子阵列中时,对存储在至少两个不同自阵列的每一选定存储器单元中的数据基本上同时执行由每一子阵列的子阵列控制器执行的操作。
例如,当64个子阵列的序列的等待时间已期满时,64个指令的序列可在64个子阵列的序列中的每一者中基本上基本上同时执行的64个运算。在经执行以执行比存储体区段中的子阵列的书面更少的运算的指令序列中,可在同一存储体区段的子阵列中执行此等指令的多个序列(例如,用于不同的运算)。例如,在具有64个子阵列的存储体区段中,16个运算中的相同及/或不同的序列中的四个可作为64个子阵列控制器的四个16单元子区段中的指令集来执行。然而,实例并不限于此。例如,通过执行指令序列执行的运算的数目及/或指令序列的数目可为不同的,使得运算中的每一个可为多于或少于16及/或序列运算的总数可为多于或少于四个,只要子阵列的总数不超过64。
从存储体区段中的任何子阵列(例如,从子阵列中的存储器单元的特定行及/或列),针对指令序列完成运算的执行,在一些实施例中,可将经处理数据值输出141到与控制器140相关联的高速缓冲存储器171-2。如此,在使多个指令序列执行为耦合到存储体区段中的多个子阵列的子阵列控制器中的操作的那些实施例中,存储器装置的每一操作循环在等待时间之后可输出多于一个经完全处理批次数据。例如,控制器140可经配置以忽略在等待时间段期间输出的空数据及/或另外未输出为处理未处理数据的输入的结果的空数据,如本文中所描述。
PIM DRAM架构的实施方案可以感测放大器及计算组件级执行处理。PIM DRAM架构的实施方案可仅允许有限数目的存储器单元连接到每一感测放大器(例如,在一些实施例中,大约512个存储器单元)。感测组件条带124可包含例如大约8,000到大约16,000个感测放大器。感测组件条带124可经配置以耦合到例如512个行及大约16,000个列的阵列。感测组件条带可用作构建块以构造更大的存储器。在用于存储器装置的阵列中,可存在例如32、64或128个感测组件条带,其对应于32、64或128个子阵列,如本文中所描述。因此,例如,512个行乘以128个感测组件条带将产生大约66,000个行,与大约16,000列相交以形成大约1千兆位的DRAM。
如此,当以感测放大器级进行处理时,仅有512行存储器单元可用于彼此执行运算,且可能无法容易地对数据耦合到不同感测组件条带的多个行执行运算。为了完成耦合到不同感测组件条带的不同子阵列中的数据的处理,可将要处理的所有数据移动到相同子阵列中,以便耦合到相同感测组件条带。
然而,DRAM实施方案尚未用于将数据从一个感测组件条带移动到另一感测组件条带。如所提及,感测组件条带可含有多达16,000个感测放大器,其对应于要从每行存储(例如,高速缓存)的大约16,000个列或大约16,000个数据值(例如,位)的数据。DRAM DQ数据总线(例如,如图1A及1B中的156所展示)可经配置以64位部分。如此,使用DRAMDQ数据总线将来自16,000个位行的整个数据从一个感测组件条带移动(例如,传送及/或拷贝)到另一感测组件条带将花费例如256个周期(例如,16,000除以64)。
为了在PIM DRAM实施方案中实现以高速度、速率及/或效率从一个感测组件条带到另一者进行的数据移动,本文中描述了共享I/O线155。例如,在2048个共享I/O线经配置为2048位宽的共享I/O线155的情况下,正如上文所描述,来自整行的数据的移动将花费8个周期,数据移动的速度、速率及/或效率增加32倍。因此,与其它PIM DRAM实施方案相比,利用本文中所描述的结构及过程可节省数据移动的时间(例如,通过不必从一个存储体、存储体区段及其子阵列中读取数据、存储数据以及然后将数据写入于另一位置)且通过减少数据移动的周期数。
图2为说明根据本发明的多个实施例的感测电路250的示意图。感测电路250可对应于图1A中展示的感测电路150。
存储器单元可包含存储元件(例如,电容器)及存取装置(例如,晶体管)。例如,第一存储器单元可包含晶体管202-1及电容器203-1,且第二存储器单元可包含晶体管202-2及电容器203-2等。在此实施例中,存储器阵列230为1T1C(一个晶体管一个电容器)存储器单元的DRAM阵列,但可使用其它配置实施例(例如,每存储器单元具有两个晶体管及两个电容器的2T2C)。在多个实施例中,存储器单元可为破坏性读取存储器单元(例如,读取存储在单元中的数据会破坏数据,使得最初存储在单元中的数据在被读取之后被刷新)。
存储器阵列230的单元可经布置成通过存取(字)线204-X(行X)、204-Y(行Y)等耦合的行,以及通过成对的互补感测线耦合的列(例如,如图2中所展示的数字线DIGIT(D)及DIGIT(D)_,图3及4A到4B中所展示的DIGIT_0及DIGIT_0*。对应于每对互补感测线的个别感测线也可分别称为DIGIT(D)的数字线205-1及DIGIT(D)_的205-2,或图3及4A到4B中的对应参考编号。尽管在图2中仅展示一对互补数字线,但本发明的实施例不限于此,且存储器单元阵列可包含额外列的存储器单元及数字线(例如,4,096、8,192、16,384等)。
尽管行及列被说明为在平面中正交定向,但实施例并不限于此。例如,行及列可以任何可行的三维配置相对于彼此定向。行及列可相对于彼此以任何角度定向,可定向在基本上水平平面或基本垂直平面中,及/或可以折叠拓扑定向,以及其它可能的三维配置。
存储器单元可耦合到不同数字线及字线。例如,晶体管202-1的第一源极/漏极区可耦合到数字线205-1(D),晶体管202-1的第二源极/漏极区可耦合到电容器203-1,且晶体管202-1的栅极可耦合到字线204-Y。晶体管202-2的第一源极/漏极区可耦合到数字线205-2(D)_,晶体管202-2的第二源极/漏极区可耦合到电容器203-2,且栅极晶体管202-2可耦合到字线204-X。如图2中所展示,单元板可耦合到电容器203-1及203-2中的每一个。单元板可为参考电压(例如,接地)可在各种存储器阵列配置中应用于其的公共节点。
存储器阵列230经配置以根据本发明的多个实施例耦合到感测电路250。在此实施例中,感测电路250包括感测放大器206及对应于存储器单元的相应列的计算组件231(例如,耦合到相应对互补数字线)。感测放大器206可耦合到所述对互补数字线205-1及205-2。计算组件231可经由传输栅极207-1及207-2耦合到感测放大器206。传输栅极207-1及207-2的栅极可耦合到运算选择逻辑213。
运算选择逻辑213可经配置以包含用于控制传输栅极的传输栅极逻辑,所述传输栅极耦合在感测放大器206与计算组件231之间未转置的所述对互补数字线且用于控制耦合所述对的交换门逻辑的交换门逻辑在感测放大器206和计算组件231之间转换的互补数字线的一部分。运算选择逻辑213也可耦合到一对互补数字线205-1及205-2。运算选择逻辑213可经配置以基于选定运算来控制传输栅极207-1及207-2的连续性。
感测放大器206可经操作以确定存储在所选存储器单元中的数据值(例如,逻辑状态)。感测放大器206可包括交叉耦合锁存器,其在本文中可被称为主锁存器。在图2中所说明的实例中,对应于感测放大器206的电路包括锁存器215,锁存器包含耦合到一对互补数字线D 205-1及(D)_205-2的四个晶体管。然而,实施例不限于此实例。锁存器215可为交叉耦合锁存器,例如,一对晶体管的栅极,例如n沟道晶体管(例如,NMOS晶体管)227-1及227-2与另一对晶体管(例如p沟道晶体管(例如,PMOS晶体管)229-1及229-2)的栅极交叉耦合。包括晶体管227-1、227-2、229-1及229-2的交叉耦合锁存器215可被称作为主锁存器。
在运算中,当感测(例如,读取)存储器单元时,数字线205-1(D)或205-2(D)_中的一者上的电压将稍微大于数字线205-1(D)或205-2(D)_中的另一者上的电压。可将ACT信号及RNL*信号驱动为低以启用(例如,触发)感测放大器206。具有较低电压的数字线205-1(D)或205-2(D)_将接通PMOS晶体管229-1或229-2中的一者到比PMOS晶体管229-1或229-2中的另一者大的程度,从而将具有较高电压的数字线205-1(D)或205-2(D)_驱动为高到比将其它数字线205-1(D)或205-2(D)_驱动为高大的程度。
类似地,具有较高电压的数字线205-1(D)或205-2(D)_将接通NMOS晶体管227-1或227-2中的一者到比NMOS晶体管227-1或227-2中的另一者大的程度,借此将具有较低电压的数字线205-1(D)或205-2(D)_驱动为低到比将其它数字线205-1(D)或205-2(D)_驱动为低大的程度。因此,在短暂延迟之后,通过源极晶体管将具有稍微较大电压的数字线205-1(D)或205-2(D)_驱动到供应电压VCC的电压,且通过吸收晶体管将另一数字线205-1(D)或205-2(D)_驱动到参考电压(例如,接地)的电压。因此,交叉耦合的NMOS晶体管227-1及227-2以及PMOS晶体管229-1及229-2用作感测放大器对,其放大数字线205-1(D)及205-2(D)_上的差分电压且操作以锁存从选定存储器单元感测的数据值。如本文中所使用,感测放大器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中所展示的配置不同的配置实施,或根本不实施。
如下面进一步描述,在多个实施例中,感测电路250(例如,感测放大器206及计算组件231)可操作以执行选定运算且最初将结果存储在感测放大器206或计算组件231中的一者中而无需经由本地或全局I/O线从传感电路传送数据(例如,无需经由激活列解码信号来执行传感线地址存取)。
可实施各种类型的运算的执行。例如,在许多更高级别的应用程序中使用布尔运算(例如,涉及数据值的布尔逻辑函数)。因此,可通过运算的经改进执行实现的速度及功率效率可为这些应用提供经改进的速度及/或功率效率。
如图2中所展示,计算组件231还可包括锁存器,其在本文中可被称为辅助锁存器264。辅助锁存器264可以类似于上文关于主要锁存器215所描述的方式类似的方式配置及操作,除了包含在辅助锁存器中的所述对交叉耦合的p沟道晶体管(例如,PMOS晶体管)可使其相应源极耦合到电源电压(例如,VDD),且次级锁存器的所述对交叉耦合的n沟道晶体管(例如,NMOS晶体管)可使其相应源极选择性地耦合到参考电压(例如,接地),使得次级锁存器被连续地启用。计算组件231的配置不限于图2中所展示的配置,且各种其它实施例是可行的。
在各种实施例中,连接电路232-1可例如在217-1处耦合,且连接电路232-2可在217-1处耦合到主锁存器215用于移动所感测及/或所存储的数据值。所感测及/或所存储的数据值可经由共享I/O线移动到另一子阵列的特定行及/或列中的所选定存储器单元,如本文中所描述,及/或经由连接电路232-1及232-2直接移动到其它子阵列的特定行及/或行中选定存储器单元中。尽管图2展示分别耦合在主锁存器215的217-1及217-2处的连接电路232-1及232-2,但实施例并不限于此。例如,连接电路232-1及232-2可例如耦合到辅助锁存器264,用于移动所感测及/或所存储的数据值,以及用于耦合连接电路232-1及232-2的其它可能位置。
图3为说明根据本发明的多个实施例的用于存储器装置中的数据移动的电路的示意图。图3显示各自耦合到相应的一对互补感测线(例如,数字线305-1及305-2)的八个感测放大器(例如,分别展示在306-0、306-1、...、306-7处的感测放大器0、1、...、7)。图3还展示八个计算组件(例如,展示在331-0、331-1、...331-7处的计算组件0、1、...、7),各自经由相应传输栅极及数字线307-1及307-2耦合到相应感测放大器(例如,如306-0处的感测放大器0所展示)。例如,传输栅极可如图2中所展示连接且可通过运算选择信号Pass来控制。例如,选择逻辑的输出可耦合到传输栅极及数字线307-1及和307-2的栅极。对应对的感测放大器及计算组件可有助于形成在350-0、350-1、...、350-7处指示的感测电路。
存在于所述对的互补数字线305-1及305-2上的数据值可被加载到计算组件331-0中,如结合图2所描述。例如,当启用传输栅极时,所述对互补数字线305-1及305-2上的数据值可从感测放大器传递到计算组件(例如,306-0到331-0)。所述对互补数字线305-1及305-2上的数据值可为当感测放大器被触发时存储在感测放大器306-0中的数据值。
图3中的感测放大器306-0、306-1、...、306-7可各自对应于图2中所展示的感测放大器206。图3中所展示的计算组件331-0、331-1、...、331-7可各自对应于图2中所展示的计算组件231。一个感测放大器与一个计算组件的组合可有助于DRAM存储器子阵列325的一部分的感测电路(例如,350-0、350-1、...、350-7)经配置以耦合到共享I/O线355,如本文中所描述。图3中所展示的感测放大器306-0、306-1、...、306-7与计算组件331-0、331-1、...、331-7的成对组合可包含在感测组件条带中,如图1B中的124处及图4A及4B中的424处所展示。
图3中所说明的实施例的配置为出于清楚的目的而展示,且不限于这些配置。例如,图3中所说明的用于感测放大器306-0、306-1、...、306-7与计算组件331-0、331-1、...、331-7及共享I/O线355组合的配置不限于感测放大器306-0、306-1、...、306-7与计算组件331-0、331-1、...、331-7的组合的一半形成在存储器单元(未展示)的列322上面且一半形成在存储器单元的列322下面。形成经配置以耦合到共享I/O线的感测电路的感测放大器与计算组件的的此些组合的数目并不限于八种。另外,共享I/O线355的配置不限于被分成两个以分别耦合两组互补数字线305-1及305-2中的每一个,共享I/O线355的定位并不限于处于形成感测电路的感测放大器及计算组件的组合的中间(例如,而不是位于感测放大器及计算组件的组合的任一端)。
图3中所说明的电路还展示列选择电路358-1及358-2,其经配置以实施关于子阵列325的特定列322的数据移动运算,与之相关的互补数字线305-1及305-2,及共享I/O线355(例如,如图1A到1C中所展示的控制器140所指示)。例如,列选择电路358-1具有选择线0、2、4及6,其经配置以与对应列(例如列0、列2、列4及列6)耦合。列选择电路358-2具有选择线1、3、5及7,其经配置以与对应列(例如列1、列3、列5及列7)耦合。结合图3所说明的列选择电路358可在各种各样实施例中表示结合图4A及4B所说明的多路复用器460所体现且包含于其中的功能性的至少一部分。
控制器140可耦合到列选择电路358以控制选择线(例如,选择线0)以存取存储在感测放大器、计算组件中及/或存在于所述对互补数字线上(例如,在选择晶体管359-1及359-2经由来自列选择线0的信号激活时为305-1及305-2)的数据值。激活选择晶体管359-1及359-2(例如,如由控制器140所指示)使得列0(322-0)的感测放大器306-0、计算组件331-0及/或互补数字线305-1及305-2的耦合能够将数字线0和数字线0*上的数据值移动到共享I/O线355。例如,移动的数据值可为来自存储(高速缓存)在感测放大器306-0及/或计算组件331-0中的特定行319的数据值。来自列0到7中的每一个的数据值可以类似地由控制器140激活适当的选择晶体管来选择。
此外,激活选择晶体管(例如,选择晶体管359-1及359-2)使得特定感测放大器及/或计算组件(例如,306-0及/或331-0)能够与共享I/O线355耦合使得所感测(所存储的)数据值可移动到(例如,放置在及/或传送到)共享I/O线355。在一些实施例中,一次选择一列(例如,列322-0)耦合到特定共享I/O线355以移动(例如,传送及/或拷贝)所感测的数据值。在图3的实例性配置中,共享I/O线355被说明为共享差分I/O线对(例如,共享I/O线及共享I/O线*)。因此,列0(322-0)的选择可从行(例如,行319)及/或存储在感测放大器中产生两个数据值(例如,具有值0及/或1的两个位)及/或计算与互补数字线305-1及305-2相关联的分量。可将这些数据值并行地移动(例如,传送,传输及/或馈送)到共享差分I/O线355的共享差分I/O对中的每一者(例如,共享I/O及共享I/O*)。
如本文中所描述,存储器装置(例如,图1A中的120)可经配置以经由数据总线(例如,156)及控制总线(例如,154)耦合到主机(例如,110)。存储器装置中的存储体(例如,图1B中的123)可包含存储器单元的多个子阵列(例如,图1B及1C中的125-0、125-1、...、125-N-1)及通过存储器单元的多个列(例如,图1B中的122)耦合到多个子阵列的感测电路(例如,图1A中的150)。感测电路可以包括感测放大器和耦合到每个列的计算组件(例如,分别在图2中的206及231)。
存储体可包含多个子阵列控制器(例如,图1C中的170-0、170-1、...、170-N-1)。每一子阵列控制器可耦合到多个子阵列中的相应子阵列(例如,图1B及1C中的125-0、125-1、...、125-N-1)且每一子阵列控制器可经配置以针对存储在多个子阵列中的相应子阵列中的数据来指示运算的执行。例如,子阵列控制器可单独地耦合到多个子阵列中的每一个,以指示对存储在多个子阵列中的每一个中的多个(例如,选定子组或全部)存储器单元中的数据执行运算(例如,单个运算)。
在各种实施例中,存储器装置可经配置以将对应于关于存储在多个子阵列的第一子阵列中的数据的运算结果的数据值移动到多个子阵列的第二子阵列中的存储器单元。例如,感测电路150可经配置以耦合到多个子阵列(例如,经由共享I/O线355,列选择电路358及/或本文中所描述的多路复用器460)以将已在第一子阵列中对其执行第一操作的数据值移动到第二子阵列中的存储器单元以执行第二运算。
在各种实施例中,关于第一子阵列执行的第一运算及关于第二子阵列执行的第二运算可为序列(例如,序列的部分)多个运算,其中指令由个别耦合到多个子阵列中的每一个的多个子阵列控制器执行。第一指令集在被执行时可指示对存储在第一子阵列中的数据执行第一运算,在一些实施例中,所述第一子运算可不同于对存储在第二子阵列中的数据执行的第二运算(如由执行第二指令集指示)。感测电路可经配置以耦合到多个子阵列以将存储在第一子阵列中的已对其执行第一运算的数据值并行移动到第二子阵列中的多个存储器单元。
存储器装置可包含共享I/O线(例如,图1C中的155),其经配置以耦合到多个子阵列中的每一个的感测电路以可选择地将存储在第一子阵列中的已对其执行第一运算的数据值移动到第二子阵列中的存储器单元。在各种实施例中,存储器装置可包含多个共享I/O线(例如,图3中的355及图4A及4B中的455-1、455-2、...、455-M),所述共享I/O线经配置以耦合到多个子阵列中的每一个的感测电路以可选择地将存储在第一子阵列中的已对其执行第一操作的多个数据值并行移动到第二子阵列中的多个存储器单元。
存储器装置可包含感测组件条带(例如,图1B中的124及图4A与4B中的424),其经配置以包含可对应于存储器单元的多个列中的多个(例如,305-1及305-2)的多个感测放大器及计算组件中的多个(例如,分别如图3中所展示的306-0、306-1、...、306-7及331-0、331-1、...331-7),其中多个感测放大器及计算组件可选择地耦合到多个共享I/O线(例如,经由列选择电路358-1及358-2)。列选择电路可经配置以通过可选择地耦合到多个(例如,八个)感测放大器及计算组件来选择性地感测子阵列的存储器单元中的特定列中的数据。
在一些实施例中,存储器装置的存储体中的多个感测组件条带中的多个(例如,图1B及1C中的124-0、...、124-N)可对应于存储体中的多个子阵列中的多个(例如,图1B及1C中的125-0、125-1、...、125-N-1)。感测组件条带可包含多个感测放大器及计算组件,感测组件条带经配置以将从第一子阵列的行感测的一定量的数据并行地移动(例如,传送及/或传输)到多个共享I/O线。在一些实施例中,数据量可对应于多个共享I/O线的至少一千位宽度。
如本文中所描述,存储器单元阵列可包含DRAM存储器单元的实施方案,其中控制器响应于命令而经配置以经由共享I/O线将数据从源位置移动到目的地位置。源位置可在第一存储体中,且目的地位置可在存储器装置中的第二存储体中及/或源位置可在存储器装置中的一个存储体的第一子阵列中,且目的地位置可在同一存储体的第二子阵列中。第一子阵列及第二子阵列可在存储体的相同区段中,或子阵列可在存储体的不同区段中。
如本文中所描述,所述装置可经配置以将来自源位置的数据(包含与子阵列0(425-0)中的第一数目个感测放大器及计算组件(例如,分别为406-0及431-0)相关联的特定行(例如,图3中的319)及列地址)移动到共享I/O线(例如,455-1)。此外,所述设备可经配置以使用共享I/O线(例如,455-1)将数据移动到目的地位置,包含与第二数目个感测放大器及计算组件相关联的特定行及列地址(例如,分别在子阵列N-1(425-N-1)中的406-0及431-0))。如读者将了解,每一共享I/O线(例如,455-1)可实际上包含互补的一对共享I/O线(例如,共享I/O线及共享I/O线*,如图3的实例配置)。在本文中所描述的一些实施例中,2048个共享I/O线(例如,互补的共享I/O线对)可经配置为2048位宽的共享I/O线。
图4A及4B表示根据本发明的多个实施例说明用于存储器装置中的数据移动的电路的另一示意图。如图1B及1C中所说明且在图4A及4B中更详细地展示,DRAM存储器装置的存储体区段可包含多个子阵列,其在图4A及4B中在425-0处指示为子阵列0且在425-N-1指示为子阵列N-1。
被认为是水平连接的图4A及4B说明图4A中部分展示且在图4B中部分展示的每一子阵列(例如,子阵列425-0)可具有多个相关联感测放大器406-0、406-1、...、406-X-1及计算组件431-0、431-1、...、431-X-1。例如,每一子阵列425-0、...、425-N-1可具有一或多个相关联感测组件条带(例如,图1B中的124-0、...、124-N-1)。根据本文中所描述的实施例,每一子阵列425-0、...、425-N-1可分裂成部分462-1(在图4A中展示)、462-2、...、462-M(在图4B中展示)。部分462-1、...、462-M可通过将可选择数目(例如,2、4、8、16等)个感测放大器及计算组件(例如,感测电路150)以及列422-0、...、422-X-1当中的对应列(例如,422-0、422-1、...、422-7)耦合到给定共享I/O线(例如,455-M)来定义。对应对的感测放大器及计算组件可有助于形成在图4A及4B中的450-0、450-1、...、450-X-1指示的感测电路。
在一些实施例中,如图3、4A及4B中所展示,可选择性地耦合到共享I/O线455(其可为一对共享差分线)的感测放大器及计算组件以及对应列的特定数目可为八个。子阵列的462-1、462-2、...、462-M的数目可与可耦合到子阵列的共享I/O线455-1、455,2、...、455-M的数目相同。可根据各种DRAM架构来安排子阵列,用于在子阵列425-0、425-1、...、425-N-1之间耦合共享I/O线455-1、455,2、...、455-M。
例如,图4A中的子阵列0(425-0)的部分462-1可对应于图3中所说明的子阵列的部分。因此,感测放大器0(406-0)及计算组件0(431-0)可耦合到列422-0。如本文中所描述,列可经配置以包含被称作为数字线0及数字线0*的一对互补数字线。然而,替代实施例可包含用于单列存储器单元的单个数字线405-0(感测线)。实施例并不限于此。图3中所说明的列选择电路358及/或图4A及4B中所说明的多路复用器可通过可选择地耦合到经耦合到子阵列的存储器单元中的特定列的相应感测线的感测放大器及计算组件中的至少一者来选择性地感测特定列中的数据。
如图1B及1C中所说明且在图4A及4B中更详细地展示,在各种实施例中,感测组件条带可从子阵列的一端延伸到子阵列的相对端。例如,如针对子阵列0(425-0)所展示,感测组件条带0(424-0),其在折叠的感测线架构中在DRAM列的上方及下方示意性地展示可包含部分462-1中的感测放大器0(406-0)及计算组件0(431-0)并从其延伸到子阵列0(425-0)的部分462-M中的感测放大器X-1(406-X-1)及计算组件X-1(431-X-1)。
如结合图3所描述,图4A及4B中所说明的用于感测放大器406-0、406-1、...、406-X-1与计算组件431-0、431-1、...、431-X-1及共享I/O线0(455-1)到共享I/O线M-1(455-M)组合的配置不限于感测放大器与感测电路(450)的计算组件的组合一半形成在存储器单元列的上面,且一半形成在折叠DRAM架构中的存储器单元422-0、422-1、...、422-X-1的列下面。例如,在各种实施例中,用于特定子阵列425的感测组件条带424可形成为具有任何数目个感测放大器,且感测组件条带的计算组件形成在存储器单元列的上面及下面。因此,在如图1B及1C中所说明的一些实施例中,感测电路及相应的感测组件条带的所有感测放大器及计算组件可形成在存储器单元列的上面或下面。
如结合图3所描述,每一子阵列可具有列选择电路(例如,358),其经配置以对子阵列(例如子阵列0(425-0))的特定列422及其互补数字线实施数据移动运算,将所存储的数据值从感测放大器406及/或计算组件431耦合到给定的共享I/O线455-1、...、455-M(例如,图3中的互补共享I/O线355)。例如,控制器140可指示感测子阵列0(425-0)的特定行(例如,行319)中的存储器单元的数据值并将其移动到相同或不同列中的子阵列425-1、425-2、...、425-N-1的相同或不同编号的行。例如,在一些实施例中,数据值可从第一子阵列的一部分移动到第二子阵列的不同部分(例如,未必从子阵列0的部分462-1到子阵列N-1的部分462-1)。例如,在一些实施例中,可使用移位技术将数据值从部分462-1中的列移动到部分462-M中的列。
列选择电路(例如,图3中的358)可指示子阵列的部分(例如,子阵列425-0的部分462-1)中的八列(例如,digit/digit*)中的每一者针对特定行移动(例如,顺序移动),且使得所述部分的感测组件条带(例如,424-0)的感测放大器及计算组件可存储(高速缓存)所有数据值并以特定顺序(例如,按照感测列的顺序)将其移动到共享I/O线中。利用互补数字线digit/digit*及互补共享I/O线355,针对八列中的每一者,可存在从子阵列的一部分排序到共享I/O线的16个数据值(例如,位),使得一个数据值(例如,位)一次从感测放大器及计算组件中的每一个移动(例如,传送,传输及/或馈送)到互补共享I/O线中的每一者。
如此,具有2048个子阵列的部分,每一者具八个列(例如,子阵列425-0、425-1、...、425-N-1中的每一者的子阵列部分462-1),且每一者经配置以耦合到不同共享I/O线(例如,455-1到455-M),2048个数据值(例如,位)可基本上在相同的时间点(例如,并行)移动到多个共享I/O线。因此,多个共享I/O线可为例如至少一千位宽(例如,2048位宽),以便提高DRAM实施方案中的数据移动的速度、速率及/或效率(例如,相对于64位宽的数据路径)。
如图4A及4B中所说明,在每一子阵列(例如,子阵列425-0)中,一或多个多路复用器460-1及460-2可耦合到子阵列的感测部件条带424-0的每一部分462-1、462-2、462-M的感测放大器及计算组件。在各种实施例中,结合图4A及4B所说明的多路复用器460可至少包含结合图3所说明的列选择电路358所体现及包含的功能性。多路复用器460-1及460-2可经配置以存取、选择、接收、协调、组合由子阵列的部分(例如,部分462-1)中的多个选定感测放大器及计算组件存储((高速缓存)的数据值(例如,位)并将其移动(例如,传送及/或传输)到共享I/O线(例如,共享I/O线455-1)。如此,如本文中所描述,共享I/O线可经配置以在成对的存储体区段子阵列之间耦合源位置与目的地位置以改进数据移动。
如本文中所描述,控制器(例如,140)可耦合到存储器装置的存储体(例如,121)以执行命令以将存储体中的数据从源位置(例如,子阵列425-0)移动到目的地位置(例如,子阵列425-N-1)。在各种实施例中,存储体区段可包含存储体区段中的存储器单元的多个子阵列(例如,子阵列125-0到125-N-1及425-0到425-N-1)。在各种实施例中,存储体区段可进一步包含经由存储器单元的多个列(例如,322-0、422-0及422-1)耦合到多个子阵列的感测电路(例如,150)。感测电路可包含耦合到列中的每一个且经配置以实施命令以移动数据的感测放大器及计算组件(例如,分别在图2中的206及231以及在图3、4A及4B中的相应参考标号)。
在各种实施例中,存储体区段可进一步包含共享I/O线(例如,155、355、455-1及455-M)以耦合源位置及目的地位置以移动数据。另外,控制器可经配置以指示多个子阵列及感测电路对移动数据执行数据写入运算到存储体区段中的目的地位置(例如,不同选定子阵列的特定行及/或列中的选定存储器单元)。
根据各种实施例,设备可包含感测组件条带(例如,124及424),其包含对应于存储器单元的多个列的多个感测放大器及计算组件(例如,其中存储器单元的每一列经配置以耦合到感测放大器及计算组件)。存储体区段中的多个感测组件条带(例如,424-0到424-N-1)可对应于存储体区段中的多个子阵列(例如,425-0到425-N-1)。
多个感测放大器及计算组件可选择性地(例如,顺序地)耦合到共享I/O线(例如,如由图3中358-1、358-2、359-1及359-2处的列选择电路所展示)。列选择电路可经配置以可选择地将共享I/O线耦合到例如源位置中的八个感测放大器及计算组件中的一或多个(例如,如图3中的子阵列325及图4A及4B中的子阵列部分462-1到462-M中所展示)。如此,源位置中的八个感测放大器及计算组件可顺序地耦合到共享I/O线。根据一些实施例,在阵列中形成的共享I/O线的数目可对应于将阵列中的列的数目除以可选择地耦合到共享I/O线中的每一者的八个感测放大器及计算组件。例如,当阵列中存在16,384个列(例如,库部分)或其每一子阵列中,且每列有一个感测放大器及计算组件时,16,384个列除以8产生2048个共享I/O线。设备可在各种实施例中包含多个多路复用器(例如,如在图4A及4B中的各种子阵列的部分462-1到462-M中的460-1及460-2处所示)。这样,根据各种实施例,设备可包含多个感测放大器及计算组件以及多路复用器以选择感测放大器及计算组件以耦合到共享I/O线。可在感测放大器与计算组件以及共享I/O线之间形成多路复用器以存取、选择、接收、协调、组合及移动(例如,传送及/或传输)所选数据到耦合的共享I/O线。
如本文中所描述,存储器单元阵列可包含具有一对互补感测(数字)线(例如,图3中的305-1及305-2)的一列存储器单元。在一些实施例中,感测电路可包含可选择地耦合到所述对互补感测(数字)线中的每一个的感测放大器(例如,306-0)及经由传输栅极(例如,307-1及307-2)耦合到感测放大器的计算组件(例如,331-0)。
根据一些实施例,源感测组件条带(例如,124及424)可包含多个感测放大器及计算组件,其可经选择及配置以将从源位置的行并行感测的数据值(例如,位的数目)移动(例如,传送及/或传输)到多个共享I/O线。例如,响应于通过列选择电路的顺序感测的命令,存储在子阵列的行的选定列的存储器单元中的数据值可被感测组件条带中的感测放大器及计算组件感测并存储(高速缓存)直到多个数据值(例如,位数)达到存储在所述行中的数据值的数目及/或阈值(例如,感测组件条带中的感测放大器及计算组件的数目)且然后经由多个共享I/O线移动(例如,传送及/或传输)数据值。在一些实施例中,数据阈值量可对应于多个共享I/O线的至少一千位宽度。
在一些实施例中,源感测组件条带可包含多个感测放大器及计算组件,其可经选择并配置以存储当所感测的数据值的量(例如,数据位的数目)超过多个共享I/O线的至少一千位宽时从源位置的行感测的数据值(例如,位)。在此实施例中,源感测组件条带可经配置以当耦合到多个共享I/O线作为多个子组时移动(例如,传送及/或传输)从源位置的行感测的数据值。例如,数据值的至少第一子组的量可对应于多个共享I/O线的至少一千位宽度。
如本文中所描述,控制器可经配置以经由共享I/O线将数据值从源位置中的选定行及选定感测线移动到目的地位置中的选定行及选定感测线。在各种实施例中,可响应于控制器140及/或耦合到特定子阵列125-0、125-1、...、125-N-1及/或子阵列的特定传感组件条带125-0、125-1、...、125-N-1的特定子阵列控制器170-0、170-1、...、170-N-1的命令来移动数据值。根据各种实施例,输入到控制器的源位置(例如,第一子阵列)中的选定行及选定感测线可与目的地位置(例如,第二子阵列)中的选定行及选定感测线不同。
如本文中所描述,源阵列中选定行的存储器单元及选定感测线中的数据的位置可不同于移动到目的地子阵列中的所选行及选定源线的存储器单元的数据的位置。例如,源位置可为图4A中的子阵列0(425-0)的部分462-1的特定行及数字线,且目的地可为图4B中的子阵列N-1(425-N-1)中的部分462-M的不同行及数字线。
如本文中所描述,目的地感测组件条带(例如,124及424)可与源感测组件条带相同。例如,多个感测放大器及/或计算组件可经选择及配置(例如,取决于来自控制器及/或子阵列控制器170-0、170-1、...、170-N-1的命令)以可选择地将所感测的数据移动(例如,传送及/或传输)到所耦合的共享I/O线,且可选择地从多个所耦合的共享I/O线中的一者接收数据(例如,被移动到目的地位置)。可使用列选择电路(例如,图3中的358-1、358-2、359-1及359-2)及/或本文中所描述的多路复用器(例如,图4A及4B中的460-1及460-2)来执行目的地感测组件条带中的感测放大器及计算组件的选择。
根据一些实施例,控制器可经配置以将由目的地感测组件条带中的多个选定感测放大器及/或计算组件可选择地接收的数据量(例如,多个数据位)写入到目的地子阵列中的目的地位置的选定行及选定感测线。在一些实施例中,要写入的数据量对应于多个共享I/O线的至少一千位宽度。
根据一些实施例,目的地感测组件条带可包含多个选定感测放大器及计算组件,其经配置以当所接收数据值的量(例如,数据位的数目)超过多个共享I/O线的至少一千位宽度时存储所接收的数据值(例如,位)。根据一些实施例,控制器可经配置以将所存储的数据值(例如,数据位的数目)写入到目的地位置中的选定行及多个选定感测线作为多个子组。在一些实施例中,写入数据的至少第一子组的数据值的量可对应于多个共享I/O线的至少一千位宽度。根据一些实施例,控制器可经配置以将所存储的数据值(例如,数据位的数目)写入到目的地位置中的选定行及选定感测线作为单个集合(例如,不作为数据值的子集)。
如本文中所描述,控制器(例如,140)可耦合到存储器装置(例如,120)的存储体(例如,121)以执行用于移动存储体中的数据的命令。存储器装置中的存储体可包含存储器单元中的多个子阵列(例如,如图1B及1C中所展示的125-0、125-1、...、125-N-1及如图4A及4B中所展示的425-0、425-1、...、425-N-1),个别地耦合到多个子阵列中的每一者的多个子阵列控制器(例如,图1C中的170-0、170-1、...、170-N-1)以指示通过多个子阵列中的每一者中的感测电路对存储在多个(例如,选定子组或全部)存储器单元中的数据执行运算(例如,单个运算)。
存储体还可包含按间距具有多个子阵列且耦合到多个子阵列的感测电路(例如,图1A中的150及图2中的250)(例如,经由图2中的多个感测线205-1及205-2、图3、4A及4B中的305-1及305-2以及对应参考标号)。感测电路可包含耦合到感测线的感测放大器及计算组件(例如,分别在图2中的206及231以及在图3、4A及4B中的相应参考标号)。
控制器140可经配置以向多个子阵列控制器中的每一个提供相应的指令集(例如,170-0、170-1、...、170-N-1)。例如,控制器可经配置以耦合到多个子阵列控制器以输入将由多个子阵列控制器中的每一个执行的相应指令集以指示由感测电路执行相应运算。
存储器单元的多个子阵列可为DRAM单元的子阵列。控制器可经配置以响应于命令,使用DRAM协议及DRAM逻辑及电接口在存储器单元的存储体中的顺序子阵列之间以脉动方式移动数据值,如本文中所描述。在一些实施例中,主机(例如,图1A中的110)可向控制器提供数据,以供控制器执行用于数据的脉动移动的命令。
第一高速缓冲存储器(例如,图1C中的171-1)可与控制器相关联。第一高速缓冲存储器可经配置以从主机接收数据且向控制器140发出接收到数据以起始多个运算的存储序列的执行的信号。控制器可经配置以基于数据的输入(例如,分析高速缓冲存储器中未经处理的数据的类型及/或内容)来确定由耦合到多个子阵列的子阵列控制器执行的多个序列运算中的哪一个运算适于处理数据。因此,控制器可经配置以基于耦合到特定子阵列的特定子阵列控制器以适当的所存储连续序列运算执行第一运算向特定子阵列提供(例如,输入)数据。例如,特定子阵列可耦合到特定子阵列控制器,所述子阵列控制器经配置以执行第一指令集,以指示对存储在多个存储器单元中的数据以在适当的所存储连续序列运算执行第一运算。
在各种实施例中,连接电路(例如,图2中的232-1及232-2)可经配置以将耦合到第一子阵列中的特定列的感测电路连接到第二(例如,相邻)子阵列中的对应列中的多个行。如此,连接电路可经配置以将数据值(例如,从选定行及特定列)移动(例如,传送及/或传输)到第二子阵列中的选定行及对应列(例如,数据值可经拷贝到其中的选定存储器单元)执行序列操作中的下一个运算。在一些实施例中,当数据值存储在感测电路中且控制器可选择与第二子阵列中的对应列相交的特定行及/或特定存储器以通过数据值的移动(例如,传送及/或传输)接收数据值时,可通过第一子阵列的子阵列控制器执行指令集指示数据值的移动。
控制器(例如,140)可耦合到存储器装置的存储体以执行用于将数据从存储体中的起始位置移动到结束位置的命令。多个子阵列控制器(例如,图1C中的170-0、170-1、...、170-N-1)可经配置以耦合到控制器以通过多个子阵列控制器中的每一者接收相应的指令集以指示关于存储在多个子阵列中的每一者中的数据执行运算。例如,多个子阵列控制器可经配置以耦合到控制器以接收指令集的输入到多个子阵列控制器中的每一者中,以在经执行时指示对多个子阵列(例如,图1B和1C中的125-0、125-1、...、125-N-1及图4A及4B中的相应参考标号)中的每一相应子阵列的数据执行运算。在各种实施例中,多个子阵列可包含多个指令集以对子阵列(例如,经配置用于处理不同数据内容)的多个连续子组执行由子阵列控制器存储的不同顺序的运算。
控制器可经配置以基于耦合到特定子阵列的特定子阵列控制器经配置以执行用于适当的连续序列运算的第一指令集而向特定子阵列提供(例如,输入)数据。耦合到特定子阵列的特定子阵列控制器可为存储体中的用于执行适当的所存储连续序列运算的起始位置(例如,基于对高速缓冲存储器中未处理数据的类型及/或内容的分析)。
在各种实施例中,作为起始位置的特定子阵列可具有存储在存储体中的起始位置与第一子阵列的开始之间的多个子阵列的至少一个连续序列运算。例如,由控制器确定为适合于未处理数据的起始位置可为图1C中的子阵列125-3,其中三个子阵列125-0、125-1及125-2为存储体中的前几个子阵列。
在各种实施例中,连续序列的多个运算的完整执行可经配置以在存储体的子阵列中的结束位置处产生输出,其中在结束位置处的特定子阵列在结束位置与存储体中最后一个子阵列的末端之间具有至少一个子阵列。例如,完成运算次数以产生输出的结束位置可为图1C中的子阵列125-3,其中子阵列125-N-1为存储体中的最后一个子阵列。经确定为适合作为输入未处理数据的起始位置的所存储连续序列运算可在第一子阵列的起始位置及开头与最后一个子阵列的结束位置及末端之间具有多个子阵列。例如,如本文中所描述,被确定为适当的且输入未处理数据的所存储连续序列运算可位于子阵列堆叠的中间中。
第二高速缓冲存储器(例如,图5中的571-2)可与控制器相关联。第二高速缓冲存储器可经配置以从多个子阵列接收已完成执行序列运算的输出。第二高速缓冲存储器可经配置以向控制器(例如,图5中的540)发出信号以在等待时间已期满之后通过将新接收的数据输入到子阵列中的选定存储器单元(例如,在子阵列的特定列及行中)在开始位置处来起始执行序列运算的另一次迭代。在等待时间期满之前,可输入新接收的数据。例如,如结合图5所描述,可将第二批未处理的数据输入到第一子阵列525-0中以在第一批未处理数据已在其中经处理并作为供第二子阵列525-1处理的第一组数据值以产生第二组数据值移动(例如,传送及/或拷贝)之后通过执行“与”运算来进行处理。
可从控制器接收命令以将数据从源位置移动到目的地位置(例如,存储器单元的DRAM阵列)。可经由多个共享I/O线使用感测放大器及计算组件将数据从源位置移动到(例如,DRAM阵列的)目的地位置。
在一些实施例中,2048个共享I/O线可经配置为2048位宽的共享I/O线。根据一些实施例,用于将数据从源位置中的第一行移动到目的地位置中的第二行的多个循环可通过使与阵列中的存储器单元行相交的阵列中的行的数目除以多个共享I/O线的2048位宽度来确定。例如,阵列(例如,存储体、存储体区段及其子阵列)可具有16,384个列,其可对应于一行中的16,384个数据值,其在除以与行相交的多个共享I/O线的2048位宽度时可产生八个周期,每一单独的周期在基本上相同的时间点(例如,并行)以用于移动所述行中的所有数据。替代地或另外地,用于将数据从源位置中的第一行移动到目的地位置中的第二行的带宽可通过使与阵列中的存储器单元行相交的阵列中的列的数目除以多个共享I/O线的2048位宽度并将结果乘以控制器的时钟速率来确定。在一些实施例中,确定阵列的行中的多个数据值可基于阵列中的多个感测(数字)线。
存储器单元的第一子阵列中的源位置可经配置以经由多个共享I/O线耦合到存储器单元的第二子阵列中的目的地位置,其中多个共享I/O线可经配置为至少一千位宽的共享I/O线。用于第一子阵列(例如,425-0)的第一感测组件条带(例如,424-0)及用于第二子阵列(例如,425-N-1)的第二感测组件条带(例如,424-N-1)可经配置以包含耦合到第一及第二子阵列(例如,422-0到422-X-1)中的存储器单元的每一对应列的感测放大器及计算组件(例如,分别为406-0及431-0)。控制器可经配置以耦合到第一及第二子阵列以及第一及第二感测组件条带的存储器单元(例如,经由列选择电路358-1、358-2、359-1及359-2)。
可使用用于第一子阵列的第一感测组件条带及用于第二子阵列的第二感测组件条带经由多个共享I/O线将数据从第一子阵列中的源位置移动到第二子阵列中的目的地位置。用于第一子阵列的第一放大器条带及用于第二子阵列的第二感测组件条带可相应于各种实施例经配置以耦合到多个共享I/O线(例如,经由图3中的列选择电路358-1、358-2、359-1及359-2及/或图4A及4B中的多路复用器460-1及460-2)。
根据一些实施例,第一子阵列中的源位置及第二子阵列中的目的地位置可在存储器装置的单个存储体区段中(例如,如图1B及1C以及图4A及4B中所展示)。替代地或另外地,第一子阵列中的源位置及第二子阵列中的目的地位置可在耦合到多个共享I/O线的存储器装置的单独的存储体及存储体区段中。如此,所述方法可包含将数据(例如,并行地)经由多个共享I/O线从用于第一子阵列的第一感测组件条带移动到用于第二子阵列的第二感测组件条带。
感测组件条带(例如,所有感测组件条带424-0到424-N-1)可经配置在多个子阵列(例如,子阵列425-0到425-N-1)中的每一个中以耦合到多个共享I/O线(例如,共享I/O线455-1)。在一些实施例中,第一子阵列中一次只有八列互补感测线中的一者可使用第一感测组件条带(例如,感测组件条带424-0)耦合到多个共享I/O线中的一者且第二子阵列中一次只有八列互补感测线中的一者可使用第二感测组件条带(例如,感测组件条带424-N-1)耦合到多个共享I/O线中的一个。
数据可经由多个共享I/O线从第一感测组件条带的多个感测放大器及计算组件移动到第二感测组件条带的相应数目个感测放大器及计算组件。例如,从源位置的每一感测放大器及/或计算组件感测的数据可被移动到目的地位置中的对应的感测放大器及/或计算组件。
根据各种实施例,控制器及/或子阵列控制器可选择(例如,通过适当的选择线打开)第一存储器单元行,其对应于源位置,用于第一感测组件条带以感测存储在其中的数据,将多个共享I/O线耦合(例如,向其开放)到第一感测组件条带,且将第二感测组件条带耦合(例如,打开)到多个共享I/O线(例如,经由列选择电路358-1、358-2、359-1及359-2及/或多路复用器460-1及460-2)。如此,数据可经由多个共享I/O线从第一感测组件条带并行移动到第二感测组件条带。第一感测组件条带可存储(例如,高速缓存)所感测的数据,且第二感测组件条带可存储(例如,高速缓存)所移动的数据。
控制器及/或子阵列控制器可为第二感测组件条带(例如,经由列选择电路358-1、358-2、359-1及359-2及/或多路复用器460-1及460-2)选择(例如,经由适当的选择线开放)第二存储器单元行,其对应于目的地位置。然后,控制器及/或子阵列控制器可将移动到第二感测组件条带的数据直接写入到第二存储器单元行中的目的地位置。
在DRAM实施方案中,共享I/O线可用作数据路径(例如,数据流管线),以在阵列中的各个位置(例如,子阵列)之间移动存储器单元阵列中的数据。共享I/O线可在所有感测组件条带之间共享。在各种实施例中,一个感测组件条带或一对感测组件条带(例如,耦合源位置及目的地位置)可在任何给定时间与共享I/O线通信。共享I/O线用于完成将数据从一个感测组件条带移动到另一感测组件条带。
可为第一感测组件条带选择(例如,通过控制器及/或子阵列控制器经由适当的选择线开放)行,且可感测行中的存储器单元的数据值。在感测之后,第一感测组件条带可耦合到共享I/O线,以及将第二感测组件条带耦合到相同的共享I/O线。第二感测组件条带仍然可处于预充电状态(例如,准备接受数据)。在来自第一感测组件条带的数据已移动(例如,驱动)到第二感测组件条带中之后,第二感测组件条带可触发(例如,锁存)以将数据存储到相应的感测放大器及计算组件中。可打开耦合到第二感测组件条带的行(例如,在锁存数据之后),且可将驻留在感测放大器及计算组件中的数据写入到所述行的目的地位置中。
图5根据本发明的多个实施例电路说明与使用电路执行多个数据移动运算相关联的时序图533。图5中示意性说明的时序图533经展示为与数据的脉动移动相关联的序列运算的实例,如本文中所描述(例如,相邻子阵列525-0、525-1、525-2、525-3及525-4之间的数据的顺序移动)。任意长度(例如,运算周期及/或时钟周期)的时间标度(例如,时间点1、2、3、4及5)被水平划分且作为实例展示。
在每一时间点处,下面所描述的功能可在执行指令序列的子阵列中基本上同时执行(例如,考虑到连续长度的共享I/O线一次移动一个数据值(例如,位)。例如,对于第一子阵列,数据的输入、利用运算处理数据,以及将数据移动到下一子阵列等可与第二子阵列、第三子阵列等等中的对应函数基本上同时发生,直到在子阵列控制器中存储的指令序列的最后一个子阵列中执行对应功能。
要存储在子阵列控制器中及/或由子阵列控制器(例如,对应于结合图1C所描述的170-0、170-1、...、170-N-1的子阵列控制器)执行且执行为序列运算的指令序列在图5中通过实例展示为五种不同运算。然而,本发明的实施例不限于五个运算的序列,但所有运算都不同,及/或任何或所有运算为图5中所展示的特定运算。
在时间点1,当第一批未处理数据已被输入到第一子阵列525-0时,可通过第一子阵列控制器(例如,结合图1C描述的子阵列控制器170-0)执行“与”运算来处理存储在其一些或所有存储器单元中的第一数据值以产生第一组数据值。在对第一组数据值进行此处理之后,可通过经由多个共享I/O线155、355及455移动(例如,传送及/或传输)从第一感测组件条带(例如,结合图1C所描述的感测组件条带124-0)移动(例如,传送及/或拷贝)第一组数据值,如分别结合图1C、3、4A及4B所描述用于输入到另一(例如,第二)子阵列525-1的选定存储器单元(例如,一些或所有存储器单元)。
在子阵列525-1中的时间点2,可通过第二子阵列控制器(例如,结合图1C描述的子阵列控制器170-2)执行“或”运算来进一步处理存储在子阵列525-1中的一些或所有存储器单元中的第一组数据值。在对第一组数据值进行此处理之后,可通过经由多个共享I/O线移动(例如,传送及/或传输)以输入到下一个(例如,第三)子阵列525-2的选定存储器单元从第二感测组件条带(例如,结合图1C所描述的感测组件条带124-1)移动(例如,传送及/或拷贝)第一组数据值。在时间点2基本上与第二子阵列525-1的选定存储器单元(例如,一些或所有存储器单元)的输入基本上同时,可将第二批未处理数据输入到第一子阵列525-0的一些或所有存储器单元中以通过执行“与”运算来处理以产生第二组数据值。在对第二组数据值进行此处理之后,可通过经由多个共享I/O线移动(例如,传送及/或传输)从第二感测组件条带(例如,结合图1C所描述的感测组件条带124-0)移动(例如,传送及/或拷贝)第一组数据值,用于输入到第二子阵列525-1的选定存储器单元(例如,一些或所有存储器单元)。
在子阵列525-2中的时间点3,可通过第三子阵列控制器(例如,结合图1C描述的子阵列控制器170-2)执行“非或”运算来进一步处理存储在子阵列525-2中的一些或所有存储器单元中的第一组数据值。在对第一组数据值进行此处理之后,可通过经由多个共享I/O线移动(例如,传送及/或传输)从第三感测组件条带(例如,感测组件条带124-2)移动(例如,传送及/或拷贝)第一组数据值,用于输入到下一(例如,第四)子阵列525-3的选定存储器单元。
在时间点3基本上与第三子阵列525-2的选定存储器单元(例如,一些或所有存储器单元)的输入同时,可以将第三批未处理数据输入到一些或所有存储器单元中。通过执行AND运算来处理第一子阵列525-0以产生第三组数据值。在对第三组数据值进行此处理之后,可通过经由多个共享I/O线移动(例如,传送及/或传输)从第三感测组件条带(例如,感测组件条带124-0)移动(例如,传送及/或拷贝)第一组数据值,用于输入到第二子阵列525-1的选定存储器单元(例如,一些或所有存储器单元)。
与在时间点3处将第一组数据值输入到第三子阵列525-2的选定存储器单元(例如,一些或所有存储器单元)及将第三组数据值输入到第一子阵列525-0的选定存储器单元基本上同时,可将第二批数据值输入到第二子阵列525-1的选定存储器单元以通过执“或”运算来处理。在对第二组数据值进行此处理之后,可通过经由多个共享I/O线移动(例如,传送及/或传输)从第二感测组件条带(例如,感测组件条带124-1)移动(例如,传送及/或拷贝)第二组数据值,用于输入到第三子阵列525-2的选定存储器单元。
在图5中所展示的实例中,刚刚描述的脉动数据移动运算可通过在时间点5执行运算周期的最后一个运算(例如,“异或”运算)而继续。在用于按运算序列完成的五个运算的五个时间点(例如,五个运算周期及/或时钟周期)的等待时间之后,可在此后的每个时间点输出完整经处理的一批数据,直到输入到第一子阵列525-0的最后一批未处理数据已经完全处理为止。
从运算序列中的最后一个(例如,第五)子阵列525-4,可输出每批的完全处理的数据值(例如,如141处所展示且结合图1B所描述),在一些实施例中,与控制器540相关联的高速缓冲存储器571-2。在图5中所展示的控制器540可在各种实例中表示由图1A到1C中所展示的控制器140体现且包含在其中的功能性的至少部分。控制器540可经配置以经由例如HSI带外总线157(例如,如结合图1A所描述的)将每批经完全处理的数据值从高速缓冲存储器571-2输出到主机110。
因此,本文中所描述的实施例提供了一种用于运算存储器装置以实施由处理资源执行非暂时性指令执行的数据移动(例如,如本文中所描述的脉动数据移动)的方法。如本文中所描述,所述方法可包含通过执行第一指令集对第一子阵列中的特定行中的存储器单元存储的数据值执行第一运算,其中第一指令集可位于第一子阵列的第一子阵列控制器中。所述方法可包含使用用于第一子阵列的第一感测组件条带将已执行了第一运算的数据值移动到第二子阵列中的选定存储器单元行。所述方法可包含通过执行第二指令集对移动到第二子阵列的选定行的数据值执行第二运算,其中第二指令集可在第二子阵列的第二子阵列控制器中。
例如,在一些实施例中,第一指令集可存储在第一子阵列控制器中,其中第一子阵列控制器耦合到第一子阵列,且第二指令集可存储在第二子阵列控制器中,其中第二子阵列控制器耦合到第二子阵列。替代地及/或另外地,第一及第二指令集可分别通过第一子阵列控制器及第二子阵列控制器从例如控制器140存取(例如,未被存储)以执行用于执行特定运算。如此,所述方法可包含控制器通过执行第一指令集来指示关于存储在第一子阵列中的数据的第一运算的执行,且通过执行第二指令集来指示关于存储在第二子阵列中的数据的第二运算的执行。
如本文中所描述,所述方法可包含经由共享I/O线(例如,455-1、455-2、...、455-M)将第一子阵列(例如,125-0)的第一感测放大器条带(例如,124-0)耦合到第二子阵列(例如,125-1)中的存储器单元的选定行(例如,319)。数据值可经由共享I/O线从已对其执行第一运算的第一子阵列中的特定行移动(例如,传送及/或传输)到使用耦合的第一感测放大器条带的第二子存储器单元中的选定存储器单元行。来自第一子阵列中的特定行的数据值可通过执行第一运算来处理,如第一子阵列控制器对第一子阵列执行指令所指示的,且可通过执行第二子阵列的选定行中的第二运算处理(例如,以脉动方式处理)数据值,如由通过第二子阵列的第二子阵列控制器执行指令所指示。在各种实施例中,所述方法可包含使用第一感测组件条带在第一子阵列中一次仅将多个(例如,八个)列(例如,互补感测线305-1及305-2的列)中的一者耦合到多个共享I/O线中的每一个。
控制器(例如,140)可耦合到第一及第二子阵列的子阵列控制器。控制器可向第一子阵列的子阵列控制器提供(例如,输入)第一指令集以指示通过第一感测组件条带执行第一运算。控制器还可向第二子阵列的子阵列控制器提供(例如,输入)第二指令集以指示通过第二感测组件条带执行第二运算。所述方法可包含控制器选择第一子阵列中的第一存储器行以供第一感测组件条带单元感测存储在其中的数据,将多个共享I/O线耦合到第一感测组件条带,将第二子阵列中的选定存储器单元行耦合到多个共享I/O线,且经由多个共享I/O线将数据从第一感测组件条带并行地移动到第二子阵列中的选定存储器单元行。第一感测组件条带可存储(例如,高速缓存)已对其执行第一运算的数据值,且移动的数据值可被存储(例如,高速缓存及/或保存)在第二子阵列中的选定存储器单元行中。
如结合图5所描述,所述方法可包含通过由耦合到第一子阵列的第一子阵列控制器执行第一指令集且通过由耦合到第二子阵列的第二子阵列控制器执行第二指令集基本上同时执行序列运算的每一运算。在存在数据以用于在第一子阵列中的特定行及第二子阵列中的选定存储器单元行中进行处理之后,可执行序列运算(例如,基本上同时执行至少两个运算)。在各种实施例中,通过由第一子阵列控制器执行指令的第一运算的执行可经配置成与通过由第二子阵列控制器执行指令而执行的第二运算不同的运算。然而,当适合于在第一及第二子阵列中执行的指令序列时,第一及第二子阵列控制器可经配置以执行相同的运算。
虽然本文中已说明及描述了包含感测电路、感测放大器、计算组件、感测组件条带、子阵列控制器、共享I/O线、列选择电路、多路复用器、时序序列等的各种组合及配置的实例性实施例,但本发明的实施例不限于本文中明确叙述的那些组合。本文中所揭示的感测电路、感测放大器、计算组件、感测组件条带、子阵列控制器、共享I/O线、列选择电路、多路复用器、定时序列等的其它组合及配置明确地包括在本发明的范围内。
尽管本文中已说明并描述了特定实施例,但所属领域的技术人员将了解,经计算以实现相同结果的布置可替代所展示的特定实施例。本发明旨在涵盖本发明的一或多个实施例的变更或变化。应理解,上述描述是以说明性方式进行的,而非限制性的。在阅读以上描述后,上述实施例的组合以及本文未具体描述的其它实施例对于所属领域的技术人眼来说将是显而易见的。本发明的一或多个实施例的范围包含括使用上述结构及过程的其它应用。因此,应当参考所附权利要求以及这些权利要求所赋予的等价物的全部范围来确定本发明的一或多个实施例的范围。
在前面的具体实施方式中,出于简化本发明的目的,一些特征在单个实施例中被组合在一起。本发明的此方法不应被解释为反映本发明的公开实施例必须使用比每个权利要求中明确记载的更多特征的意图。确切来说,如以下权利要求书反映,发明性标的物在于不足单个前所揭示实施例的所有特征。因此,以下权利要求书特此明确并入详细说明中,其中每一权利要求独自作为单独实施例。
Claims (24)
1.一种用于执行存储器操作的设备,其包括:
存储器装置(120),其包括:
存储器单元的多个子阵列(125);
感测电路(250),其耦合到所述多个子阵列,所述感测电路包含经配置以作为耦合到相应感测线(205)的存储器单元的列(122)的存储器中处理器操作的感测放大器(206)及计算组件(231);
第一子阵列控制器(170),其耦合到第一子阵列且经配置以执行第一指令集以指示第一运算的执行;及
第二子阵列控制器,其耦合到第二子阵列且经配置以独立地执行第二指令集以指示第二运算的执行;且其中:
在意图产生输出(141)的运算序列中,所述第二运算与所述第一运算不同;且
所述存储器装置经配置以将对应于来自所述第一子阵列的所述第一运算的结果的数据值移动到第二子阵列中的存储器单元。
2.根据权利要求1所述的设备,其中所述感测电路经配置以耦合到所述多个子阵列以实施将存储在所述第一子阵列中的已对其执行所述第一运算的数据值并行移动到所述第二子阵列中的多个存储器单元。
3.根据权利要求1所述的设备,其中所述设备进一步包括多个共享I/O线(155),其经配置以耦合到所述多个子阵列中的每一者的所述感测电路以可选择地实施将存储在所述第一子阵列中的已对其执行所述第一运算的多个数据值并行移动到所述第二子阵列中的多个存储器单元。
4.根据权利要求1所述的设备,其中所述存储器装置进一步包括:
感测组件条带(124),其包含对应于所述存储器单元的一定量的列(122)的所述感测电路的一定量的感测放大器及对应计算组件;且
其中所述感测放大器及对应计算组件可选择地耦合到相应共享I/O线(155)。
5.根据权利要求1到4中任一权利要求所述的设备,其中所述存储器装置进一步包括感测组件条带,其包含若干个感测放大器及计算组件,所述感测组件条带经配置以将从所述第一子阵列的行(119)感测的数据量并行地移动到多个共享I/O线(155)。
6.根据权利要求1到4中任一权利要求所述的设备,其中:
所述感测电路包括多个感测组件条带(124);且
所述存储器装置的存储体(121)中的一定量的感测组件条带对应于所述存储体中的一定量的所述多个子阵列。
7.根据权利要求1到4中任一权利要求所述的设备,其中所述存储器装置进一步包括列选择电路(358),其通过可选择地耦合到经耦合到子阵列的存储器单元中的特定列的所述相应感测线的所述感测放大器及计算组件中的至少一者来选择性地感测所述特定列中的数据。
8.一种用于执行存储器操作的设备,其包括:
存储器装置(120),其包括:
存储器单元的多个子阵列(125);
感测电路(250),其包含感测放大器(206)及计算组件(231),所述感测电路经由相应多个感测线(205)耦合到所述多个子阵列,所述感测放大器及所述计算组件经配置以作为耦合到相应感测线的存储器单元的列(122)的存储器中处理器操作;
多个子阵列控制器(170)中的第一子阵列控制器,其耦合到第一子阵列且经配置以执行第一指令集以指示由第一若干个存储器中处理器对存储在所述第一子阵列中的数据执行第一运算;及
所述多个子阵列控制器中的第二子阵列控制器,其耦合到第二子阵列且经配置以独立地执行第二指令集以指示由第二若干个存储器中处理器对存储在所述第二子阵列中的数据执行第二运算,其中在意图产生输出(141)的运算序列中,所述第二运算与所述第一运算不同;且
其中所述存储器装置的控制器(140)经配置以将用于所述第一运算及所述第二运算的不同指令集提供到相应的所述第一子阵列控制器及所述第二子阵列控制器。
9.根据权利要求8所述的设备,其中所述设备进一步包括:
高速缓冲存储器(171),其与所述控制器相关联,所述高速缓冲存储器经配置以:
从主机(110)接收数据;及
向所述控制器发出接收到所述数据以起始执行所存储序列的多个运算的信号。
10.根据权利要求8到9中任一权利要求所述的设备,其中所述处理器经进一步配置以:
基于所述数据的输入,确定由耦合到所述多个子阵列的所述子阵列控制器执行的多个运算序列中的哪一者适合于处理所述数据;及
基于耦合到特定子阵列的特定子阵列控制器经配置以按适当的所存储连续运算序列执行第一运算向所述特定子阵列提供所述数据。
11.根据权利要求8到9中任一权利要求所述的设备,其中所述存储器装置进一步包括:
连接电路(232),其经配置以将耦合到所述第一子阵列中的特定列的感测电路连接到所述第二子阵列中的对应列中的若干个行(119);且其中:
所述连接电路经配置以将数据值移动到选定行及所述第二子阵列中的所述对应列以便执行所述运算序列中的下一运算;
所述数据值的所述移动通过在所述数据值存储在所述感测电路中时所述第一子阵列的子阵列控制器执行指令集来指示;及
所述控制器选择与所述第二子阵列中的所述相应列相交的特定行以接收所述数据值。
12.一种用于执行存储器操作的设备,其包括:
控制器(140),其耦合到存储器装置(120)的存储体(121)以执行用于将数据从所述存储体中的开始位置移动到结束位置的命令,其中所述存储器装置中的所述存储体包括:
存储器单元的多个子阵列(125);
多个子阵列控制器(170),其中所述多个子阵列控制器中的每一子阵列控制器耦合到所述多个子阵列中的相应子阵列,且经配置以指示由若干个存储器中处理器针对存储在所述多个子阵列中的所述相应子阵列中的数据来执行运算;
所述多个子阵列控制器中的第一子阵列控制器及所述多个子阵列控制器中的第二子阵列控制器,所述第一子阵列控制器经配置以指示第一运算的执行,且所述第二子阵列控制器经配置以独立地执行第二指令集以指示第二运算的执行,其中在意图产生输出的运算序列中,所述第二运算与所述第一运算不同;及
感测电路(250),其经由多个感测线(205)耦合到所述多个子阵列,所述感测电路包含耦合到所述多个感测线中的相应感测线的感测放大器(206)及计算组件(231),所述感测放大器及所述计算组件经配置以作为耦合到所述相应感测线的存储器单元的列(122)的存储器中处理器操作;且
其中所述多个子阵列控制器经配置以耦合到所述控制器以通过所述多个子阵列控制器中的每一者接收相应的指令集,以指示针对存储在所述多个子阵列中的每一者中的数据的所述运算序列的执行。
13.根据权利要求12所述的设备,其中所述多个子阵列包括多个指令集,其用以执行由所述子阵列控制器存储的用于所述子阵列的多个连续子组的不同运算序列的执行。
14.根据权利要求12到13中任一权利要求所述的设备,其中所述处理器经进一步配置以:
基于数据的输入,确定由耦合到所述多个子阵列的所述多个子阵列控制器执行的多个运算序列中的哪一者适合于处理所述数据;
基于耦合到特定子阵列的特定子阵列控制器以适当的所存储连续运算序列执行第一运算向所述特定子阵列提供所述数据;且
其中耦合到所述特定子阵列的所述特定子阵列控制器为用于执行第一指令集以指示以适当的所存储连续运算序列执行第一运算的所述存储体中的所述开始位置。
15.根据权利要求12到13中任一权利要求所述的设备,其中作为所述开始位置的特定子阵列在所述开始位置与所述存储体中的第一子阵列的开始之间具有用于多个子阵列的至少一个所存储的连续运算序列。
16.一种用于执行存储器操作的设备,其包括:
存储器装置(120)的控制器(140),其用以执行用于将数据从起始位置移动到目的地位置的命令,其中所述存储器装置包括:
存储器单元的多个子阵列(125);
多个子阵列控制器(170)中的第一子阵列控制器,其耦合到第一子阵列且经配置以执行第一指令集以指示第一运算的执行;及
所述多个子阵列控制器中的第二子阵列控制器,其耦合到第二子阵列且经配置以独立地执行第二指令集以指示第二运算的执行;且
其中所述多个子阵列控制器中的每一者经配置以从所述控制器接收来自相应指令集的指令,所述指令指示由耦合到所述相应多个子阵列的感测电路(250)对存储在所述相应多个子阵列中的数据执行运算序列。
17.根据权利要求16所述的设备,其中:
所存储的连续序列的若干个运算的执行经配置以在存储体的所述子阵列中的所述目的地位置处产生输出(141);且
所述目的地位置处的特定子阵列在所述目的地位置与所述存储体中的最后一个子阵列的末端之间具有至少一个子阵列。
18.根据权利要求16所述的设备,其中所述设备进一步包括:
高速缓冲存储器(171),其与所述控制器相关联,所述高速缓冲存储器进一步经配置以:
接收来自所述多个子阵列的已完成执行所述运算序列的输出;且
向所述控制器发出信号以通过将新接收数据输入到所述起始位置处的子阵列中的选定存储器单元来起始执行所述运算序列的另一迭代。
19.一种操作存储器装置(120)的方法,其包括:
由多个子阵列控制器(170)中的第一子阵列控制器执行第一指令集,以指示按运算序列对由存储器单元存储在第一子阵列(125)中的特定行(119)中的数据执行第一运算,其中所述第一指令集由所述第一子阵列的若干个存储器中处理器执行;
使用所述第一子阵列的第一感测组件条带(124)将已对其执行所述第一运算的所述数据值移动到第二子阵列中的存储器单元的选定行;
由所述多个子阵列控制器中的第二子阵列控制器独立地执行第二指令集以指示以所述运算序列对移动到所述第二子阵列的所述选定行的所述数据值执行第二运算,其中所述第二指令集不同于所述第一指令集,且由所述第二子阵列的多个存储器中处理器执行;及
由耦合到所述第一子阵列的第一感测电路(250)执行所述第一运算且由耦合到所述第二子阵列的第二感测电路执行不同于所述第一运算的所述第二运算,所述第一感测电路及所述第二感测电路包含经配置以作为耦合到相应感测线(205)的存储器单元的列的存储器中处理器操作的感测放大器(206)及计算组件(231)。
20.根据权利要求19所述的方法,其中所述方法进一步包括:
将所述第一指令集存储在所述第一子阵列控制器中,其中所述第一子阵列控制器耦合到所述第一子阵列;及
将所述第二指令集存储在所述第二子阵列控制器中,其中所述第二子阵列控制器耦合到所述第二子阵列。
21.根据权利要求19所述的方法,其中所述方法进一步包括:
控制器(140),其指示以下各项的执行:
通过执行所述第一指令集来指示针对存储在所述第一子阵列中的数据执行所述第一运算;及
通过执行所述第二指令集来指示针对存储在所述第二子阵列中的数据执行所述第二运算。
22.根据权利要求19到21中任一权利要求所述的方法,其中所述方法进一步包括:
经由共享I/O线(155)将所述第一子阵列的所述第一感测组件条带(124)耦合到所述第二子阵列中的存储器单元的所述选定行;及
经由所述共享I/O线将来自所述第一子阵列中的特定列的已对其执行所述第一运算的数据值移动到使用所述第一感测组件条带的所述第二子阵列中的存储器单元的所述选定行。
23.根据权利要求19到21中任一权利要求所述的方法,其中所述方法进一步包括响应于命令,在存储器单元的存储体(121)中的依序子阵列之间脉动地移动所述数据值。
24.根据权利要求19到21中任一权利要求所述的方法,其中所述方法进一步包括:
通过由耦合到所述第一子阵列的所述第一子阵列控制器执行所述第一指令集且通过由耦合到所述第二子阵列的所述第二子阵列控制器执行所述第二指令集基本上同时执行所述运算序列的每一运算;且
其中在存在用于在所述第一子阵列中的所述特定行及所述第二子阵列中的存储器单元的所述选定行中进行处理的数据之后,基本上同时执行所述运算序列。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/045,750 US9971541B2 (en) | 2016-02-17 | 2016-02-17 | Apparatuses and methods for data movement |
US15/045,750 | 2016-02-17 | ||
PCT/US2017/017613 WO2017142826A1 (en) | 2016-02-17 | 2017-02-13 | Apparatuses and methods for data movement |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108701473A CN108701473A (zh) | 2018-10-23 |
CN108701473B true CN108701473B (zh) | 2022-05-17 |
Family
ID=59561503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780011785.4A Active CN108701473B (zh) | 2016-02-17 | 2017-02-13 | 用于数据移动的设备及方法 |
Country Status (3)
Country | Link |
---|---|
US (5) | US9971541B2 (zh) |
CN (1) | CN108701473B (zh) |
WO (1) | WO2017142826A1 (zh) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9971541B2 (en) | 2016-02-17 | 2018-05-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US9997232B2 (en) | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
US10014034B2 (en) * | 2016-10-06 | 2018-07-03 | Micron Technology, Inc. | Shifting data in sensing circuitry |
CN207637499U (zh) | 2016-11-08 | 2018-07-20 | 美光科技公司 | 用于形成在存储器单元阵列上方的计算组件的设备 |
US10534553B2 (en) | 2017-08-30 | 2020-01-14 | Micron Technology, Inc. | Memory array accessibility |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
US10741239B2 (en) | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
KR102586173B1 (ko) * | 2017-10-31 | 2023-10-10 | 삼성전자주식회사 | 프로세서 및 그 제어 방법 |
US10522210B2 (en) * | 2017-12-14 | 2019-12-31 | Micron Technology, Inc. | Apparatuses and methods for subarray addressing |
US10332586B1 (en) | 2017-12-19 | 2019-06-25 | Micron Technology, Inc. | Apparatuses and methods for subrow addressing |
US10614875B2 (en) | 2018-01-30 | 2020-04-07 | Micron Technology, Inc. | Logical operations using memory cells |
US11194477B2 (en) | 2018-01-31 | 2021-12-07 | Micron Technology, Inc. | Determination of a match between data values stored by three or more arrays |
US10437557B2 (en) | 2018-01-31 | 2019-10-08 | Micron Technology, Inc. | Determination of a match between data values stored by several arrays |
CN108388537B (zh) * | 2018-03-06 | 2020-06-16 | 上海熠知电子科技有限公司 | 一种卷积神经网络加速装置和方法 |
US10725696B2 (en) | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
US10440341B1 (en) | 2018-06-07 | 2019-10-08 | Micron Technology, Inc. | Image processor formed in an array of memory cells |
US10613977B1 (en) * | 2018-09-27 | 2020-04-07 | Amazon Technologies, Inc. | Target port with distributed transactions |
US10831693B1 (en) | 2018-09-27 | 2020-11-10 | Amazon Technologies, Inc. | Multicast master |
US10769071B2 (en) | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US10483978B1 (en) | 2018-10-16 | 2019-11-19 | Micron Technology, Inc. | Memory device processing |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US11094371B2 (en) | 2019-03-11 | 2021-08-17 | Samsung Electronics Co., Ltd. | Memory device for processing operation and method of operating the same |
US10867655B1 (en) | 2019-07-08 | 2020-12-15 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11152039B2 (en) * | 2019-07-11 | 2021-10-19 | Micron Technology, Inc. | Input/output line sharing for memory arrays |
US11360768B2 (en) | 2019-08-14 | 2022-06-14 | Micron Technolgy, Inc. | Bit string operations in memory |
US11842169B1 (en) | 2019-09-25 | 2023-12-12 | Amazon Technologies, Inc. | Systolic multiply delayed accumulate processor architecture |
US11769043B2 (en) | 2019-10-25 | 2023-09-26 | Samsung Electronics Co., Ltd. | Batch size pipelined PIM accelerator for vision inference on multiple images |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
KR20210063496A (ko) | 2019-11-22 | 2021-06-02 | 삼성전자주식회사 | 프로세싱 회로를 포함하는 메모리 장치, 그리고 시스템 온 칩과 메모리 장치를 포함하는 전자 장치 |
US11467806B2 (en) | 2019-11-27 | 2022-10-11 | Amazon Technologies, Inc. | Systolic array including fused multiply accumulate with efficient prenormalization and extended dynamic range |
US11816446B2 (en) | 2019-11-27 | 2023-11-14 | Amazon Technologies, Inc. | Systolic array component combining multiple integer and floating-point data types |
US11741350B2 (en) | 2019-11-27 | 2023-08-29 | Amazon Technologies, Inc. | Efficient utilization of processing element array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
TWI789589B (zh) * | 2020-02-04 | 2023-01-11 | 旺宏電子股份有限公司 | 脈衝神經網路電路及其運作方法 |
US11081149B1 (en) * | 2020-03-31 | 2021-08-03 | Winbond Electronics Corp. | Memory device for artificial intelligence operation |
US12066985B2 (en) | 2020-05-01 | 2024-08-20 | EMC IP Holding Company LLC | Token-based offload data transfer with synchronous replication |
US11586547B2 (en) * | 2020-05-26 | 2023-02-21 | Micron Technology, Inc. | Instruction caching scheme for memory devices |
US11262949B2 (en) * | 2020-05-28 | 2022-03-01 | Advanced Micro Devices, Inc. | Command throughput in PIM-enabled memory using available data bus bandwidth |
US11422773B1 (en) | 2020-06-29 | 2022-08-23 | Amazon Technologies, Inc. | Multiple busses within a systolic array processing element |
US11308027B1 (en) * | 2020-06-29 | 2022-04-19 | Amazon Technologies, Inc. | Multiple accumulate busses in a systolic array |
US11232062B1 (en) | 2020-06-29 | 2022-01-25 | Amazon Technologies, Inc. | Parallelism within a systolic array using multiple accumulate busses |
US11113233B1 (en) * | 2020-06-29 | 2021-09-07 | Amazon Technologies, Inc. | Multiple busses in a grouped systolic array |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
US11152056B1 (en) * | 2020-09-14 | 2021-10-19 | Micron Technology, Inc. | Integrated assemblies |
CN115836347A (zh) * | 2020-10-23 | 2023-03-21 | 华为技术有限公司 | 一种存储器及数据迁移方法 |
US11880682B2 (en) | 2021-06-30 | 2024-01-23 | Amazon Technologies, Inc. | Systolic array with efficient input reduction and extended array performance |
US12046324B2 (en) | 2021-08-11 | 2024-07-23 | Stmicroelectronics International N.V. | Modular memory architecture with gated sub-array operation dependent on stored data content |
US12040013B2 (en) | 2021-08-11 | 2024-07-16 | Stmicroelectronics International N.V. | Static random access memory supporting a single clock cycle read-modify-write operation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6175535B1 (en) * | 2000-01-24 | 2001-01-16 | International Business Machines Corporation | Cycle control circuit for extending a cycle period of a dynamic memory device subarray |
US7471590B2 (en) * | 2005-02-09 | 2008-12-30 | International Business Machines Corporation | Write control circuitry and method for a memory array configured with multiple memory subarrays |
CN102007539A (zh) * | 2007-08-29 | 2011-04-06 | 马维尔国际贸易有限公司 | 用于具有单元间干扰的闪存的序列检测 |
CN105027212A (zh) * | 2013-03-04 | 2015-11-04 | 美光科技公司 | 用于使用感测电路执行逻辑运算的设备及方法 |
Family Cites Families (287)
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 | テキサス インスツルメンツ インコーポレイテツド | メモリ・アレイ・アーキテクチャ |
US5546343A (en) * | 1990-10-18 | 1996-08-13 | Elliott; Duncan G. | Method and apparatus for a single instruction operating multiple processors on a memory chip |
JPH06103599B2 (ja) | 1990-11-16 | 1994-12-14 | 三菱電機株式会社 | 半導体集積回路装置 |
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 |
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 |
JP2812262B2 (ja) | 1995-08-31 | 1998-10-22 | 日本電気株式会社 | 連想記憶装置 |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
JP2817836B2 (ja) | 1995-11-30 | 1998-10-30 | 日本電気株式会社 | 半導体メモリ装置 |
US5748551A (en) * | 1995-12-29 | 1998-05-05 | Micron Technology, Inc. | Memory device with multiple internal banks and staggered command execution |
JP3356612B2 (ja) | 1996-02-29 | 2002-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 高速な輪郭スムージング方法及び装置 |
US6092186A (en) | 1996-05-07 | 2000-07-18 | Lucent Technologies Inc. | Apparatus and method for aborting un-needed instruction fetches in a digital microprocessor device |
US5915084A (en) | 1996-09-30 | 1999-06-22 | Advanced Micro Devices, Inc. | Scannable sense amplifier circuit |
US5991209A (en) | 1997-04-11 | 1999-11-23 | Raytheon Company | Split sense amplifier and staging buffer for wide memory architecture |
JP3592887B2 (ja) | 1997-04-30 | 2004-11-24 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6510098B1 (en) | 1997-05-28 | 2003-01-21 | Cirrus Logic, Inc. | Method and apparatus for transferring data in a dual port memory |
JPH1115773A (ja) | 1997-06-24 | 1999-01-22 | Matsushita Electron Corp | 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法 |
US5935263A (en) | 1997-07-01 | 1999-08-10 | Micron Technology, Inc. | Method and apparatus for memory array compressed data testing |
US6195734B1 (en) | 1997-07-02 | 2001-02-27 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
US6181698B1 (en) | 1997-07-09 | 2001-01-30 | Yoichi Hariguchi | Network routing table using content addressable memory |
US6025221A (en) | 1997-08-22 | 2000-02-15 | Micron Technology, Inc. | Processing methods of forming integrated circuitry memory devices, methods of forming DRAM arrays, and related semiconductor masks |
US5991785A (en) | 1997-11-13 | 1999-11-23 | Lucent Technologies Inc. | Determining an extremum value and its index in an array using a dual-accumulation processor |
US5867429A (en) | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
US6163862A (en) | 1997-12-01 | 2000-12-19 | International Business Machines Corporation | On-chip test circuit for evaluating an on-chip signal using an external test signal |
JP3488612B2 (ja) | 1997-12-11 | 2004-01-19 | 株式会社東芝 | センス増幅回路 |
US5986942A (en) | 1998-01-20 | 1999-11-16 | Nec Corporation | Semiconductor memory device |
JPH11260057A (ja) | 1998-03-13 | 1999-09-24 | Nec Corp | 半導体記憶装置 |
JPH11265995A (ja) | 1998-03-17 | 1999-09-28 | Mitsubishi Electric Corp | 半導体記憶装置 |
JPH11306751A (ja) | 1998-04-22 | 1999-11-05 | Toshiba Corp | 半導体記憶装置 |
US6005799A (en) | 1998-08-06 | 1999-12-21 | Silicon Aquarius | Methods and circuits for single-memory dynamic cell multivalue data storage |
US6141286A (en) | 1998-08-21 | 2000-10-31 | Micron Technology, Inc. | Embedded DRAM architecture with local data drivers and programmable number of data read and data write lines |
US7409694B2 (en) | 1998-09-09 | 2008-08-05 | Microsoft Corporation | Highly componentized system architecture with loadable virtual memory manager |
JP2000173269A (ja) | 1998-12-08 | 2000-06-23 | Mitsubishi Electric Corp | 半導体記憶装置 |
KR100381968B1 (ko) | 1998-12-30 | 2004-03-24 | 주식회사 하이닉스반도체 | 고속동작용디램 |
US5999435A (en) | 1999-01-15 | 1999-12-07 | Fast-Chip, Inc. | Content addressable memory device |
US6389507B1 (en) | 1999-01-15 | 2002-05-14 | Gigabus, Inc. | Memory device search system and method |
US6134164A (en) | 1999-04-22 | 2000-10-17 | International Business Machines Corp. | Sensing circuit for a memory cell array |
US6741104B2 (en) | 1999-05-26 | 2004-05-25 | Micron Technology, Inc. | DRAM sense amplifier for low voltages |
US6157578A (en) | 1999-07-15 | 2000-12-05 | Stmicroelectronics, Inc. | Method and apparatus for accessing a memory device |
US6208544B1 (en) | 1999-09-09 | 2001-03-27 | Harris Corporation | Content addressable memory cell providing simultaneous read and compare capability |
US6578058B1 (en) | 1999-10-06 | 2003-06-10 | Agilent Technologies, Inc. | System and method for comparing values from target systems |
US7124221B1 (en) | 1999-10-19 | 2006-10-17 | Rambus Inc. | Low latency multi-level communication interface |
US6418498B1 (en) | 1999-12-30 | 2002-07-09 | Intel Corporation | Integrated system management memory for system management interrupt handler independent of BIOS and operating system |
JP4627103B2 (ja) | 2000-01-18 | 2011-02-09 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
AU2000224587A1 (en) | 2000-02-04 | 2001-08-14 | Hitachi Ltd. | Semiconductor device |
WO2001065359A2 (en) | 2000-02-29 | 2001-09-07 | Peter Petrov | Method and apparatus for building a memory image |
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 |
EP1381957A2 (en) * | 2001-03-02 | 2004-01-21 | Atsana Semiconductor Corp. | Data processing apparatus and system and method for controlling memory access |
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 |
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 |
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 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
US7114014B2 (en) | 2003-06-27 | 2006-09-26 | Sun Microsystems, Inc. | Method and system for data movement in data storage systems employing parcel-based data mapping |
EP1665286B8 (en) | 2003-09-04 | 2007-09-12 | Nxp B.V. | Integrated circuit and a method of cache remapping |
US6956770B2 (en) | 2003-09-17 | 2005-10-18 | Sandisk Corporation | Non-volatile memory and method with bit line compensation dependent on neighboring operating modes |
US7177183B2 (en) | 2003-09-30 | 2007-02-13 | Sandisk 3D Llc | Multiple twin cell non-volatile memory array and logic block structure and method therefor |
US7913125B2 (en) | 2003-11-04 | 2011-03-22 | Lsi Corporation | BISR mode to test the redundant elements and regular functional memory to avoid test escapes |
US6950771B1 (en) | 2003-12-09 | 2005-09-27 | Xilinx, Inc. | Correlation of electrical test data with physical defect data |
US7401281B2 (en) | 2004-01-29 | 2008-07-15 | International Business Machines Corporation | Remote BIST high speed test and redundancy calculation |
US7631236B2 (en) | 2004-01-29 | 2009-12-08 | International Business Machines Corporation | Hybrid built-in self test (BIST) architecture for embedded memory arrays and an associated method |
JP4819316B2 (ja) | 2004-02-23 | 2011-11-24 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US7088606B2 (en) | 2004-03-10 | 2006-08-08 | Altera Corporation | Dynamic RAM storage techniques |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
US7120063B1 (en) | 2004-05-07 | 2006-10-10 | Spansion Llc | Flash memory cell and methods for programming and erasing |
US8522205B2 (en) | 2004-05-18 | 2013-08-27 | Oracle International Corporation | Packaging multiple groups of read-only files of an application's components into multiple shared libraries |
JP2006127460A (ja) | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
US7061817B2 (en) | 2004-06-30 | 2006-06-13 | Micron Technology, Inc. | Data path having grounded precharge operation and test compression capability |
US7116602B2 (en) | 2004-07-15 | 2006-10-03 | Micron Technology, Inc. | Method and system for controlling refresh to avoid memory cell data losses |
US7434024B2 (en) | 2004-08-30 | 2008-10-07 | Ati Technologies, Inc. | SIMD processor with register addressing, buffer stall and methods |
US20060069849A1 (en) | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a memory |
US7685365B2 (en) | 2004-09-30 | 2010-03-23 | Intel Corporation | Transactional memory execution utilizing virtual memory |
US20060149804A1 (en) | 2004-11-30 | 2006-07-06 | International Business Machines Corporation | Multiply-sum dot product instruction with mask and splat |
US7230851B2 (en) | 2004-12-23 | 2007-06-12 | Sandisk Corporation | Reducing floating gate to floating gate coupling effect |
KR100673901B1 (ko) | 2005-01-28 | 2007-01-25 | 주식회사 하이닉스반도체 | 저전압용 반도체 메모리 장치 |
US7543119B2 (en) | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
US7624313B2 (en) | 2005-03-28 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | TCAM BIST with redundancy |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
KR100720644B1 (ko) | 2005-11-17 | 2007-05-21 | 삼성전자주식회사 | 메모리 장치 및 메모리 그 동작 방법 |
JP4804479B2 (ja) | 2005-12-13 | 2011-11-02 | スパンション エルエルシー | 半導体装置およびその制御方法 |
JP5129450B2 (ja) | 2006-01-16 | 2013-01-30 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
US8077533B2 (en) | 2006-01-23 | 2011-12-13 | Freescale Semiconductor, Inc. | Memory and method for sensing data in a memory using complementary sensing scheme |
JP4989900B2 (ja) | 2006-01-31 | 2012-08-01 | ルネサスエレクトロニクス株式会社 | 並列演算処理装置 |
US7400532B2 (en) | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
KR100755370B1 (ko) | 2006-04-17 | 2007-09-04 | 삼성전자주식회사 | 반도체 메모리 장치 |
TW200828333A (en) | 2006-04-28 | 2008-07-01 | Samsung Electronics Co Ltd | Sense amplifier circuit and sense amplifier-based flip-flop having the same |
US7752417B2 (en) | 2006-06-05 | 2010-07-06 | Oracle America, Inc. | Dynamic selection of memory virtualization techniques |
US7372715B2 (en) | 2006-06-14 | 2008-05-13 | Micron Technology, Inc. | Architecture and method for NAND flash memory |
US8069377B2 (en) | 2006-06-26 | 2011-11-29 | Micron Technology, Inc. | Integrated circuit having memory array including ECC and column redundancy and method of operating the same |
US7724559B2 (en) | 2006-07-14 | 2010-05-25 | International Business Machines Corporation | Self-referenced match-line sense amplifier for content addressable memories |
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 |
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 |
ITRM20080543A1 (it) | 2008-10-09 | 2010-04-10 | Micron Technology Inc | Architettura e metodo per la programmazione di memorie. |
KR101596283B1 (ko) | 2008-12-19 | 2016-02-23 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
KR101622922B1 (ko) | 2009-03-06 | 2016-05-20 | 삼성전자 주식회사 | 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치 |
US8484276B2 (en) | 2009-03-18 | 2013-07-09 | International Business Machines Corporation | Processing array data on SIMD multi-core processor architectures |
KR20100134235A (ko) | 2009-06-15 | 2010-12-23 | 삼성전자주식회사 | 반도체 메모리 장치 |
US7898864B2 (en) | 2009-06-24 | 2011-03-01 | Sandisk Corporation | Read operation for memory with compensation for coupling based on write-erase cycles |
US8412987B2 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
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 |
US8793438B2 (en) * | 2009-10-15 | 2014-07-29 | Netronome Systems, Incorporated | Atomic compare and write memory |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
WO2011048522A2 (en) | 2009-10-21 | 2011-04-28 | Zikbit Ltd. | Neighborhood operations for parallel processing |
US9477636B2 (en) * | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
US8650232B2 (en) | 2009-10-26 | 2014-02-11 | Via Technologies, Inc. | System and method for determination of a horizontal minimum of digital values |
KR101634340B1 (ko) | 2009-11-03 | 2016-06-28 | 삼성전자주식회사 | 반도체 메모리 장치의 프로그램 방법 |
US8583896B2 (en) | 2009-11-13 | 2013-11-12 | Nec Laboratories America, Inc. | Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain |
KR20110054773A (ko) | 2009-11-18 | 2011-05-25 | 삼성전자주식회사 | 비트라인 디스털번스를 개선하는 반도체 메모리 장치 |
US8089815B2 (en) | 2009-11-24 | 2012-01-03 | Sandisk Technologies Inc. | Programming memory with bit line floating to reduce channel-to-floating gate coupling |
US8473669B2 (en) | 2009-12-07 | 2013-06-25 | Sandisk Technologies Inc. | Method and system for concurrent background and foreground operations in a non-volatile memory array |
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 |
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 |
WO2013081588A1 (en) | 2011-11-30 | 2013-06-06 | Intel Corporation | Instruction and logic to provide vector horizontal compare functionality |
CN104011657B (zh) | 2011-12-22 | 2016-10-12 | 英特尔公司 | 用于向量计算和累计的装置和方法 |
KR20130072869A (ko) | 2011-12-22 | 2013-07-02 | 에스케이하이닉스 주식회사 | 프리차지 회로 및 비휘발성 메모리 장치 |
US20130286705A1 (en) | 2012-04-26 | 2013-10-31 | David B. Grover | Low power content addressable memory hitline precharge and sensing circuit |
US8938603B2 (en) | 2012-05-31 | 2015-01-20 | Samsung Electronics Co., Ltd. | Cache system optimized for cache miss detection |
US20130332707A1 (en) | 2012-06-07 | 2013-12-12 | Intel Corporation | Speed up big-number multiplication using single instruction multiple data (simd) architectures |
KR102062301B1 (ko) | 2013-01-03 | 2020-01-03 | 삼성전자주식회사 | 메모리 장치의 페이지 복사 방법 및 메모리 시스템의 페이지 관리 방법 |
US20140215185A1 (en) | 2013-01-29 | 2014-07-31 | Atmel Norway | Fetching instructions of a loop routine |
US9171153B2 (en) | 2013-05-17 | 2015-10-27 | Hewlett-Packard Development Company, L.P. | Bloom filter with memory element |
US11074169B2 (en) | 2013-07-03 | 2021-07-27 | Micron Technology, Inc. | Programmed memory controlled data movement and timing within a main memory device |
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 |
US9536577B2 (en) | 2013-09-26 | 2017-01-03 | Intel Corporation | Data movement in memory devices |
US9449675B2 (en) | 2013-10-31 | 2016-09-20 | Micron Technology, Inc. | Apparatuses and methods for identifying an extremum value stored in an array of memory cells |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
US9423970B2 (en) * | 2013-12-30 | 2016-08-23 | Sandisk Technologies Llc | Method and system for predicting block failure in a non-volatile memory |
US20150270015A1 (en) | 2014-03-19 | 2015-09-24 | Micron Technology, Inc. | Memory mapping |
US9934856B2 (en) | 2014-03-31 | 2018-04-03 | Micron Technology, Inc. | Apparatuses and methods for comparing data patterns in memory |
US10838865B2 (en) | 2014-05-08 | 2020-11-17 | Micron Technology, Inc. | Stacked memory device system interconnect directory-based cache coherence methodology |
WO2015171905A1 (en) | 2014-05-08 | 2015-11-12 | Micron Technology, Inc. | In-memory lightweight coherency |
US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
US9455020B2 (en) | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
US10074407B2 (en) | 2014-06-05 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for performing invert operations using sensing circuitry |
US9449674B2 (en) | 2014-06-05 | 2016-09-20 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9779019B2 (en) | 2014-06-05 | 2017-10-03 | Micron Technology, Inc. | Data storage layout |
US9711206B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9711207B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9830999B2 (en) | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US9704540B2 (en) | 2014-06-05 | 2017-07-11 | Micron Technology, Inc. | Apparatuses and methods for parity determination using sensing circuitry |
KR102464801B1 (ko) * | 2015-04-14 | 2022-11-07 | 삼성전자주식회사 | 반도체 장치의 동작 방법 및 반도체 시스템 |
US9971541B2 (en) * | 2016-02-17 | 2018-05-15 | Micron Technology, Inc. | Apparatuses and methods for data movement |
-
2016
- 2016-02-17 US US15/045,750 patent/US9971541B2/en active Active
-
2017
- 2017-02-13 WO PCT/US2017/017613 patent/WO2017142826A1/en active Application Filing
- 2017-02-13 CN CN201780011785.4A patent/CN108701473B/zh active Active
-
2018
- 2018-05-14 US US15/978,750 patent/US10353618B2/en active Active
-
2019
- 2019-07-09 US US16/506,664 patent/US11010085B2/en active Active
-
2021
- 2021-05-17 US US17/321,807 patent/US11614878B2/en active Active
-
2023
- 2023-03-23 US US18/125,625 patent/US12019895B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6175535B1 (en) * | 2000-01-24 | 2001-01-16 | International Business Machines Corporation | Cycle control circuit for extending a cycle period of a dynamic memory device subarray |
US7471590B2 (en) * | 2005-02-09 | 2008-12-30 | International Business Machines Corporation | Write control circuitry and method for a memory array configured with multiple memory subarrays |
CN102007539A (zh) * | 2007-08-29 | 2011-04-06 | 马维尔国际贸易有限公司 | 用于具有单元间干扰的闪存的序列检测 |
CN105027212A (zh) * | 2013-03-04 | 2015-11-04 | 美光科技公司 | 用于使用感测电路执行逻辑运算的设备及方法 |
Also Published As
Publication number | Publication date |
---|---|
US10353618B2 (en) | 2019-07-16 |
US11614878B2 (en) | 2023-03-28 |
US20170235515A1 (en) | 2017-08-17 |
US20180267738A1 (en) | 2018-09-20 |
US20190332310A1 (en) | 2019-10-31 |
US11010085B2 (en) | 2021-05-18 |
US9971541B2 (en) | 2018-05-15 |
US12019895B2 (en) | 2024-06-25 |
WO2017142826A1 (en) | 2017-08-24 |
US20210278988A1 (en) | 2021-09-09 |
US20230236752A1 (en) | 2023-07-27 |
CN108701473A (zh) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108701473B (zh) | 用于数据移动的设备及方法 | |
CN108604169B (zh) | 用于经分割并行数据移动的设备和方法 | |
CN108885887B (zh) | 用于数据移动的设备及方法 | |
CN108885595B (zh) | 用于高速缓冲存储操作的设备及方法 | |
CN109416918B (zh) | 库到库数据传送 | |
CN109147842B (zh) | 同时进行数据路径中计算操作的设备及方法 | |
CN107430874B (zh) | 用于数据移动的设备及方法 | |
CN110326046B (zh) | 用于在数据路径中计算的设备及方法 | |
CN107408404B (zh) | 用于存储器装置的设备及方法以作为程序指令的存储 | |
CN110462738B (zh) | 用于数据路径内计算操作的设备及方法 | |
EP3586335A1 (en) | Apparatuses and methods for in-memory operations | |
CN110476210B (zh) | 用于存储器内操作的设备及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240129 Address after: Illinois, USA Patentee after: North Star Franchise Group Co.,Ltd. Country or region after: U.S.A. Address before: Idaho Patentee before: MICRON TECHNOLOGY, Inc. Country or region before: U.S.A. |