CN110574013B - 存储器形状 - Google Patents
存储器形状 Download PDFInfo
- Publication number
- CN110574013B CN110574013B CN201880027807.0A CN201880027807A CN110574013B CN 110574013 B CN110574013 B CN 110574013B CN 201880027807 A CN201880027807 A CN 201880027807A CN 110574013 B CN110574013 B CN 110574013B
- Authority
- CN
- China
- Prior art keywords
- memory
- memory cells
- shape
- data
- column
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 502
- 238000000034 method Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 18
- 239000004065 semiconductor Substances 0.000 claims description 7
- 238000003491 array Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 claims description 2
- 230000000295 complement effect Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 8
- 238000005457 optimization Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000007667 floating Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 230000003213 activating effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/454—Vector or matrix data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Memory System (AREA)
- Semiconductor Memories (AREA)
- Read Only Memory (AREA)
Abstract
可接收存储器形状的用户定义且可根据所述存储器形状分配存储器阵列的多维连续物理部分。所述存储器形状的所述用户定义可包含所述存储器阵列的连续列的数量、所述存储器阵列的连续行的数量及所述存储器形状的主要维度。所述主要维度可对应于最初使存储于所述存储器形状中的数据跨越的维度。
Description
技术领域
本发明一般来说涉及半导体存储器及方法,且更特定来说,涉及经由存储器形状的使用进行的存储器装置的多维连续物理分配。
背景技术
存储器装置通常经提供作为计算系统或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器可需要电力以维持其数据(例如,用户数据、错误数据等),且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)以及其它易失性存储器。非易失性存储器可通过在未供电时保持所存储数据而提供持久数据且可包含非易失性随机存取存储器(NVRAM)、NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)及磁阻式随机存取存储器(MRAM),例如自旋扭矩转移随机存取存储器(STT RAM)以及其它非易失性存储器。
计算系统通常包含可检索及执行指令且将所述所执行指令的结果存储到适合位置的若干个处理资源(例如,一或多个处理器)。处理资源可包括可执行指令以对数据(例如,一或多个操作数)执行例如AND、OR、NOT、NAND、NOR及XOR逻辑操作的逻辑操作的若干个功能单元(例如,在本文中称为功能单元电路(FUC)),例如算术逻辑单元(ALU)电路、浮动点单元(FPU)电路及/或组合逻辑块。
在将指令提供到功能单元电路以用于执行中可涉及计算系统中的若干个组件。可(例如)由例如控制器及/或主机处理资源的处理资源产生所述指令。数据(例如,将对其执行指令以执行逻辑操作的操作数)可存储于可由FUC存取的存储器阵列中。在FUC开始对数据执行指令之前,可从存储器阵列检索指令及/或数据并对其进行定序及/或缓冲。此外,由于可在一个或多个时钟周期中通过FUC执行不同类型的操作,因此还可对操作及/或数据的中间结果进行定序及/或缓冲。在许多例子中,处理资源(例如,处理器及/或相关联FUC)可在存储器阵列外部,且可存取数据(例如,经由处理资源与存储器阵列之间的总线以执行指令)。数据可经由总线从存储器阵列移动到在存储器阵列外部的寄存器。
附图说明
图1图解说明根据本发明的若干个实施例的呈包含至少一个存储器系统的计算系统的形式的设备的框图。
图2图解说明根据本发明的若干个实施例的存储器装置的一部分的示意图,其图解说明根据存储器形状进行的多维连续物理分配。
图3图解说明根据本发明的若干个实施例的存储器装置的一部分的示意图,其图解说明根据存储器形状进行的多维连续物理分配。
图4图解说明根据本发明的若干个实施例的存储器装置的一部分的示意图,其图解说明根据多个存储器形状进行的多维连续物理分配。
图5图解说明根据本发明的若干个实施例的存储器装置的一部分的示意图,其图解说明根据多个存储器形状进行多维连续物理分配以达成外回路优化。
图6图解说明根据本发明的若干个实施例的存储器装置的一部分的示意图,其图解说明根据存储器形状阵列进行多维连续物理分配以达成外回路优化。
图7是图解说明根据本发明的若干个实施例的感测电路的示意图。
图8是根据本发明的若干个实施例图解说明由感测电路实施的可选择逻辑操作结果的逻辑表。
具体实施方式
在分配存储器的一些方法中,操作系统(OS)可提供用于将所分配存储器块组织于物理空间中的方法。关于此论述,“所分配存储器块”指代物理存储器中存储有一定量的所分配存储器(例如,一定数量的字节)的位置。举例来说,calloc()函数分配规定数目个字节且将所述字节初始化到零,此确保所分配存储器块的所有字节已被初始化到零。calloc()函数可识别单个变量的字节的大小及待分配于存储器中的变量的数目。然而,存储器块组织可为一维的(例如,完全线性的)。也就是说,存储器块可经组织使得将数据存储到耦合到连续感测线而非单个存取线的多个存储器单元。一维物理存储器分配可跨越在主机上运行的多样化应用程序组支持主机处理器的带宽。为了所述目标,一维物理存储器分配可增加来自主机处理器的存储器带宽。所分配存储器块可跨越多个存储器组或存储器装置线性地分配(例如,跨越多个存储器组或存储器装置交错)。因此,用户可受限于根据一维物理存储器分配来分配存储器块。如本文中所使用,“用户”指代程序员而非终端用户。
存储器技术(举例来说,存储器中处理)的最新进展可受益于多维存储器分配。也就是说,多维存储器分配可包含耦合到单个存储器阵列的连续感测线及连续存取线的多个存储器单元。因此,在多个维度上分配存储器阵列的物理连续部分可为有利的。然而,多维存储器分配的概念不适合一维存储器分配的当前模型。如果在一个维度上物理地分配存储器,那么可由于固有的无法在同一物理存储器组件中共置数据元素的能力而使PIM装置的性能降级。如果虚拟存储器分配不考虑多维存储器布置,那么也可使总体系统性能降级。为使PIM装置对存储于存储器分配中的数据进行操作,数据必须物理地组织于同一物理存储器组件(例如,存储器组、存储器装置等)中或在操作之前/期间移动到所述物理组织。此可因为将感测电路耦合到存储器阵列,使得在逐列基础上对数据进行操作。因此,经单独地分配的存储器块的物理布局及定向可影响PIM装置的性能。
为克服对一维存储器分配的数据的物理组织的限制,本发明与将数据存储于存储器阵列的多维连续物理分配中有关。存储器的用户定义的多维连续物理分配在本文中称为存储器形状。用户对存储器形状的定义可包含存储器阵列的连续列的数量、存储器阵列的连续行的数量及存储器形状的主要维度。所述主要维度(水平主要维度或垂直主要维度)可确定使存储于存储器形状中的数据跨越的第一维度。在下文与图2及3相关联地进一步论述主要维度的实例。用户(例如,程序员)可定义存储器形状,使得存储器形状的定义为存储器形状的用户定义。
存储器可分配到存储器阵列的连续物理部分。此分配在下文中称为存储器形状。存储器形状可使得用户(例如,程序员)能够明确地定义目标存储器分配的维度结构及布局。当存储器经分配以供由存储器中处理(PIM)装置使用时,存储器形状可为有利的。经由存储器形状在同一物理存储器组件(例如,存储器组、存储器装置等)中共置数据项目可改进PIM装置的性能及包括PIM装置的系统的总体性能。因此,存储器形状可促成PIM装置的性能经优化存储器组织。
本发明的若干个实施例可通过将数据元素存储于存储器形状中而促成在数据元素之间且在所述数据元素内的经改进数据局部性。如本文中所使用,“数据元素”指代表示例如整数、浮动点或串的数据值的位群组。如本文中所使用,“将数据元素存储于存储器形状中”指代将所述数据元素存储于耦合到所述存储器形状的存取线及感测线的一或多个存储器单元中。存储器形状的定义超过一维物理组织的定义,所述一维物理组织仅包含存储器分配的大小及存储器分配的个别数据元素的大小。若干个实施例可包含将多于一个类型的数据元素(例如,整数、浮动点、串等)存储于单个存储器形状中。存储器阵列的多维连续物理部分可根据多于一个存储器形状来分配。将数据元素存储于一或多个存储器形状中可减少多个存储器组或存储器装置之间通信。因此,可增加主机处理器的带宽,因为数据元素经存储使得主机处理器不需要与多个存储器组或存储器装置通信。若干个实施例可包含对存储于存储器形状中的数据执行操作。
存储器形状可包含若干个存储器单元以将至少一个完整数据元素存储于所述存储器形状中。举例来说,如果数据元素的长度为物理存储器的四个字节,那么所述存储器形状可包含存储所述数据元素的所述四个字节所必要的若干个存储器单元。然而,所述存储器形状可包含数目超过存储所述数据元素的所述四个字节所必要的存储器单元的存储器单元。存储器形状的主要维度可与数据元素的长度对准。举例来说,如果存储器形状包含长度为一个字节的1024个数据元素,那么存储器形状的水平主要维度的列的数目或存储器形状的垂直主要维度的行的数目可为一个字节的倍数。可对存储器形状的一或多个数据元素执行操作(例如,在存储器形状内执行操作)。可对多个存储器形状的数据元素执行操作(例如,在多个存储器形状之间执行操作)。
在本发明的以下实施方式中,参考形成本发明的一部分的所附图式,且图式中以图解说明的方式展示可如何实践本发明的若干个实施例。充分详细地描述这些实施例以使所属领域的技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在不背离本发明的范围的情况下做出过程、电及/或结构改变。如本文中所使用,指定符“A”、“B”、“C”、“M”、“N”、“S”及“X”(尤其关于图式中的参考编号)指示可包含若干个如此指定的特定特征。如本文中所使用,“若干个”特定事物可指代一或多个此类事物(例如,若干个存储器装置可指代一或多个存储器装置)。如本文中所使用,术语“第一”及“第二”用于将一个特征与另一特征区分开且未必暗示如此指定的特征之间的次序。
本文中的各图遵循其中第一个数字或前几个数字对应于图式的图编号且其余数字识别图式中的元件或组件的编号惯例。可通过使用类似数字来识别不同图之间的类似元件或组件。举例来说,240可在图2中指称元件“40”,且类似元件可在图3中指称为340。可用参考编号后续接着连字符及另一编号或字母来指称一个图内的多个类似元件。举例来说,240-1可在图2中指称元件40-1且240-X可指称元件40-X,此可类似于元件440-1。一般可在不具有连字符及额外编号或字母的情况下指称此些类似元件。举例来说,元件240-1、...、240-X一般可指称为240。如将了解,本文中可添加、交换及/或去除各种实施例中所展示的元件以便提供本发明的若干个额外实施例。另外,如将了解,各图中所提供的元件的比例及相对标度打算图解说明本发明的特定实施例且不应视为具有限制意义。
图1图解说明根据本发明的若干个实施例的呈包含至少一个存储器系统104的计算系统100的形式的设备的框图。如本文中所使用,主机102、存储器系统104、存储器装置110、存储器阵列111及/或感测电路124还可单独被视为“设备”。
计算系统100可包含耦合到存储器系统104的主机102,存储器系统104包含存储器装置110(例如,包含存储器阵列111及/或感测电路124)。主机102可为主机系统,例如个人膝上型计算机、桌上型计算机、数码相机、移动电话或存储器读卡器以及各种其它类型的主机。在一些实施例中,主机102可为或包含存储器管理单元。存储器管理单元为执行虚拟存储器地址与物理存储器地址之间的变换的硬件组件。主机102可包含系统母板及/或背板且可包含若干个处理资源(例如,一或多个处理器、微处理器或一些其它类型的控制电路)。计算系统100可包含单独集成电路,或主机102及存储器系统104两者均可在同一集成电路上。计算系统100可为(例如)服务器系统及/或高性能计算系统及/或其一部分。尽管图1中所展示的实例图解说明具有冯·诺依曼(Von Neumann)架构的系统,但本发明的实施例还可在非冯·诺依曼架构(例如,图灵机(Turing machine))中实施,所述非·冯诺依曼架构可不包含通常与冯·诺依曼架构相关联的一或多个组件(例如,CPU、ALU等)。
为了清晰起见,计算系统100已经简化以集中于与本发明具有特定相关性的特征。例如,存储器阵列111可为混合存储器立方体(HMC)、存储器中处理随机存取存储器(PIMRAM)阵列、DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NVRAM阵列、NAND快闪阵列及/或NOR快闪阵列。存储器阵列111可包括存储器单元,所述存储器单元布置成通过存取线(其在本文中可被称为字线或选择线)耦合的行及通过感测线(其在本文中可被称为数字线或数据线)耦合的列。尽管单个存储器装置110展示于图1中,但实施例并不如此受限制。例如,存储器系统104可包含若干个存储器装置110(例如,若干个DRAM单元)。
存储器装置110可为多维随机存取存储器。存储器的维度为可用于规定存储器内的位置(例如,存储器单元或存储器的可分配部分的位置)的坐标。存储器的维度的实例包含行、列、层(例如,在混合存储器立方体的情形中)、组、芯片等。就坐标来说,存储器可具有多于三个维度。举例来说,存储器装置110可包含多个存储器通道(存储器装置的第一维度为通道),每一通道包含多个存储器裸片(存储器装置110的第二维度为裸片),每一裸片包含多个子阵列(存储器装置110的第三维度为子阵列),且每一子阵列包含多个行(存储器的第四维度为行)。为了图解说明及阐释方便,在本文中关于二维存储器装置描述一些实施例,然而实施例并不如此受限制。所属领域的技术人员在读取且理解本发明之后可将教示应用于具有多于两个维度的存储器装置110。
存储器系统104包含地址电路126,地址电路126用以锁存通过I/O电路130经由I/O总线138(例如,数据总线)提供的地址信号。地址信号可由行解码器128及列解码器134接收及解码以存取存储器装置110。可通过使用感测电路124感测在感测线上的电压及/或电流改变而从存储器阵列111读取数据。感测电路124可从存储器阵列111读取及锁存数据页(例如,行)。I/O电路130可用于经由I/O总线138与主机102进行双向数据通信。写入电路132可用于将数据写入到存储器装置110。
控制器108可解码由控制总线136从主机102提供的信号。这些信号可包含用于控制对存储器装置110执行的操作(包含数据读取、数据写入及数据擦除操作)的芯片启用信号、写入启用信号及地址锁存信号。在各种实施例中,控制器108负责执行来自主机102的指令。控制器108可为状态机、定序器、处理器及/或其它控制电路。
主机102可配置有操作系统“OS”112。主机102可耦合到存储器装置110(例如,经由控制总线136及/或I/O总线138)。OS 112为管理硬件资源的可执行指令(软件)且提供服务给在OS 112上运行的其它可执行指令(程序)。OS 112可包含用以对存储器形状的所接收用户定义做出响应的指令。存储器形状的用户定义可为存储器阵列的多维连续物理部分的分配,如本文中所描述。存储器形状的用户定义可起源于主机102(例如,在主机102上运行的应用程序)以及其它起源(例如,直接存储器存取(DMA)装置)。
主机102可经配置以接收存储器形状的用户定义,接收存储器形状的数量的用户定义,根据用户定义分配存储器装置的单个物理存储器组件的存储器单元的连续列及连续行,且根据用户定义将多个数据元素连续地存储于存储器装置110的单个物理存储器组件中。主机102可经配置以分配单个物理存储器组件的存储器单元的连续列及连续行,使得存储器形状中的每一者包括耦合到共同存取线的存储器单元。主机102可经配置以对每一存储器形状单独地进行寻址(例如,向量式地址),使得对存储于特定存储器形状中的数据元素执行操作。尽管图1中未图解说明,但主机可包含经配置以接收用户定义的存储器分配应用程序接口(API)。
下文与图2相关联地进一步描述感测电路124的实例。例如,在若干个实施例中,感测电路124可包括若干个感测放大器及若干个计算组件,所述若干个计算组件可包括用作累加器的锁存器且可用于执行例如逻辑操作的操作(例如,对与互补感测线相关联的数据)。逻辑操作可包含布尔运算(例如,AND、OR、NOR、XOR等)以及布尔运算的组合以执行其它数学运算。在若干个实施例中,感测电路124可用于使用存储于存储器阵列111中的数据作为输入来执行逻辑操作且在不经由感测线地址存取进行传送的情况下(例如,在不激发列解码信号的情况下)将逻辑操作的结果存储回到存储器阵列111。如此,可使用感测电路124执行逻辑操作,而非通过在感测电路124外部的处理资源(例如,通过与主机102及/或位于存储器系统104上(例如,位于控制器108上或别处)的例如ALU电路的其它处理电路相关联的处理器)执行及/或除通过在感测电路124外部的处理资源执行以外。
在各种先前方法中,(例如)将经由感测电路从存储器读取与逻辑操作相关联的数据且将所述数据提供到外部ALU。外部ALU电路将使用元素(其可被称为操作数或输入)执行逻辑操作且可经由局部I/O线将结果传送回到阵列。相比之下,在本发明的若干个实施例中,感测电路124可经配置以对存储于存储器阵列111中的存储器单元中的数据执行逻辑操作且在不启用耦合到感测电路的局部I/O线的情况下将结果存储回到阵列111。
感测电路124可经配置以对存储于存储器形状中的所述多个数据元素中的至少一者执行操作。感测电路124可经配置以对第一存储器形状的第一数据元素执行操作且对第二存储器形状的第二数据元素执行操作。感测电路124可经配置以对特定存储器形状的第一数据元素及第二数据元素执行操作。感测电路124可经配置以同时对所述多个数据元素执行操作。
如此,在若干个实施例中,可不需要在存储器阵列111及感测电路124外部的寄存器及/或ALU来执行逻辑操作,因为感测电路124可经操作以使用存储器阵列111的地址空间执行逻辑操作。另外,可在不使用外部处理资源的情况下执行逻辑操作。
图2图解说明根据本发明的若干个实施例的存储器装置210的一部分的示意图,其图解说明根据存储器形状260进行的多维连续物理分配。存储器装置210可包含存储器阵列211,存储器阵列211包含耦合到存取线242-1、242-2、242-3、242-4、242-5、242-6、242-7、…、242-M的行及感测线244-1、244-2、244-3、244-4、244-5、244-6、244-7、244-8、…、244-N的列的存储器单元240(由经填满圆圈表示)。存储器阵列211不限于特定数目个存取线及/或感测线,且术语“行”及“列”的使用不意指存取线及/或感测线的特定物理结构及/或定向。尽管未图示,但每一存储器单元列可与对应对的互补感测线相关联。在下文与图7相关联地进一步论述其中每一存储器单元列与对应对的互补感测线相关联的实例。
存储器形状260由囊括耦合到存取线242-1到242-6及感测线244-1到244-6的存储器单元240的群组的框标示。也就是说,存储器形状260为包括存储器单元240的六个邻近行及存储器单元240的六个邻近列的6×6存储器形状。如本文中所使用,“存储器单元行”可指代耦合到存取线的存储器单元的子集且“存储器单元列”可指代耦合到感测线的存储器单元的子集。存储器形状260的主要维度为如由箭头261指示的垂直主要维度。由于主要维度为垂直主要维度,因此存储器形状260内的跨越可以将数据传送到存储器单元240-1或从存储器单元240-1传送数据来开始,接着将数据传送到存储器单元240-2或从存储器单元240-2传送数据,依此类推,使得在将数据传送到耦合到感测线244-2的以存储器单元240-7开始的存储器单元或从所述存储器单元传送数据之前将数据传送到耦合到感测线244-1的存储器单元240-1到240-6或从耦合到感测线244-1的存储器单元240-1到240-6传送数据。
可如下总结用于将存储器形状定义为编程语言数据结构(例如,C结构体)的伪代码的实例:
如上文所定义,使用户(例如,程序员)根据存储器形状分配存储器阵列的多维连续物理部分的程序功能(例如,宏)的伪代码的实例如下:
举例来说,用户可经由上文所描述的程序功能“形状”根据存储器形状260分配存储器阵列211的多维连续物理部分:
_shape(MY_SHAPE,6,6,MAJOR_VERTICAL)
数据元素可存储于与存储器形状260的连续列中的每一者对应的存储器单元中。举例来说,数据元素可存储于与存储器形状260的第一列对应的存储器单元240-1到240-6中。所述数据元素可为数个类型的数据元素中的一者,包含但不限于整数、浮动点或串。具有与存储于第一列中的数据元素的类型相同或不同的类型的另一数据元素可存储于与存储器形状260的第二列对应的耦合到感测线244-2及存取线242-1到242-6的存储器单元240的群组中。
具有与存储于存储器形状260的第一列中的数据元素的长度相同或不同的长度的另一数据元素可存储于存储器形状260的第二列中。举例来说,第一数据元素可存储于耦合到存储器形状260的第一列的存取线242-1到242-6及感测线244-1的存储器单元240中的六个存储器单元中。第二数据元素可存储于耦合到存储器形状260的第二列的存取线242-1到242-4及感测线244-2的存储器单元240中的四个存储器单元中。
在至少一个实施例中,当长度小于存储器形状的主要维度的长度的数据元素存储于存储器形状中时,填补值可存储于存储器形状的存储器单元中。如本文中所使用,“填补值”指代存储于存储器形状的未存储数据元素的位的存储器单元中的位。举例来说,如果数据元素存储于存储器形状260的存储器单元240-1到240-4中,那么填补值可存储于存储器形状260的存储器单元240-5及240-6中。填补值的长度(例如,位的数量)可等于第一数据元素的长度与第二数据元素的长度的差。
每一存储器单元列可耦合到感测电路224,感测电路224可类似于图1中所图解说明的感测电路124。在此实例中,感测电路包含耦合到相应感测线244的若干个感测放大器246-1、246-2、246-3、246-4、246-5、246-6、246-7、246-8、…、246-N。感测放大器246经由存取装置(例如,晶体管)250-1、250-2、250-3、250-4、250-5、250-6、250-7、250-8、…、250-N耦合到输入/输出(I/O)线254(例如,局部I/O线)。在此实例中,感测电路224还包含耦合到相应感测线244的若干个计算组件248-1、248-2、248-3、248-4、248-5、248-6、248-7、248-8、…、248-N。列解码线252-1、252-2、252-3、252-4、252-5、252-6、252-7、252-8、…、252-N分别耦合到晶体管250的栅极,且可选择性地经激活以将由相应感测放大器246感测到及/或存储于相应计算组件248中的数据传送到次级感测放大器256。在若干个实施例中,计算组件248可与其对应列的存储器单元及/或与对应感测放大器246同间距地形成。
在若干个实施例中,感测电路(例如,计算组件248及感测放大器246)经配置以对存储于存储器阵列211中的数据执行若干个操作(例如,逻辑操作)。作为实例,第一数据元素可存储于耦合到特定存取线(例如,存取线242-1)且耦合到若干个感测线244的存储器单元的第一群组中,且第二数据元素可存储于耦合到不同存取线(例如,存取线242-2)及相应数目个感测线244的存储器单元的第二群组中。每一存储器单元240可存储第一数据元素或第二数据元素的位。举例来说,第一数据元素的每一位可与第二数据元素的相应位一起被执行逻辑操作。逻辑操作的结果可存储(例如,作为位向量)于耦合到特定存取线(例如,存取线242-3)且耦合到若干个感测线244的存储器单元的第三群组中。
若干个实施例可包含存储器阵列211,存储器阵列211包含许多(例如,数千个)感测线244。根据本发明,可在存储器中对与许多(例如,数千个)感测线244相关联的许多存储器元件并行地执行逻辑操作(例如,而不将数据传送到阵列以外,例如传送到处理资源)。此些实施例可节省在数据传送到处理资源以执行逻辑操作(例如,以64个位/时钟周期)的情况下原本需要的显著量的时间。额外优点可通过如下方式来实现:在执行逻辑操作之前分配存储器阵列的多维连续物理部分,使得存储器中的逻辑操作的执行不会停止以便对准数据及/或分配存储器的临时可分配部分(例如,分配存储器的临时行)。
图3图解说明根据本发明的若干个实施例的存储器装置310的一部分的示意图,其图解说明根据存储器形状362进行的多维连续物理分配。存储器装置310的部分可类似于图2中所图解说明的存储器装置210的部分。存储器形状362由囊括耦合到存取线342-1到342-6及感测线344-1到344-6的存储器单元340的群组的框标示(由经填满圆圈表示)。也就是说,存储器形状362为包括存储器单元340的六个连续行及存储器单元340的六个连续列的6×6存储器形状。存储器形状362的主要维度为如由箭头363指示的水平主要维度。由于主要维度为水平主要维度,因此存储器形状内的跨越可以将数据传送到存储器单元340-1或从存储器单元340-1传送数据来开始,接着将数据传送到存储器单元340-2或从存储器单元340-2传送数据,依此类推,使得在将数据传送到耦合到存取线342-2的以存储器单元340-7开始的存储器单元或从所述存储器单元传送数据之前将数据传送到耦合到存取线342-1的存储器单元340-1到340-6或从耦合到存取线342-1的存储器单元340-1到340-6传送数据。
举例来说,用户可经由上文所描述的程序功能“形状”根据存储器形状362分配存储器阵列311的多维连续物理部分:
_shape(MY_SHAPE,6,6,MAJOR_HORIZONTAL)
数据元素可存储于与存储器形状362的连续行中的每一者对应的存储器单元中。举例来说,数据元素可存储于与存储器形状362的第一行对应的存储器单元340-1到340-6中。数据元素可为数个类型的数据元素中的一者,包含但不限于整数、浮动点或串。具有与存储于第一列中的数据元素的类型相同或不同的类型的另一数据元素可存储于与存储器形状362的第二列对应的耦合到存取线342-2及感测线344-1到344-6的存储器单元340的群组中。
图4图解说明根据本发明的若干个实施例的存储器装置的一部分的示意图,其图解说明根据多个存储器形状464-1到464-3进行的多维连续物理分配。存储器装置410的部分可类似于图2中所图解说明的存储器装置210的部分。所述多个存储器形状464-1到464-3为连续的,如由囊括耦合到存取线442-1到442-6及感测线444-1到444-9的存储器单元的群组的框标示(由经填满圆圈表示)。也就是说,所述多个存储器形状464-1到464-3中的每一者为包括存储器单元的六个连续行及存储器单元的三个连续列的6×3存储器形状,使得存储器形状464-1包含耦合到存取线442-1到442-6及感测线444-1到444-3的存储器单元,存储器形状464-2包含耦合到存取线442-1到442-6及感测线444-4到444-6的存储器单元,且存储器形状464-3包含耦合到存取线442-1到442-6及感测线444-7到444-9的存储器单元。所述多个存储器形状464-1到464-3中的每一者的主要维度为如由箭头461-1到461-3指示的垂直主要维度。
从一个存储器形状(例如,存储器形状464-1)到另一存储器形状(例如,存储器形状464-2)的存储器形状到存储器形状跨越可为水平的,如由箭头465所指示。尽管所述多个存储器形状可具有使得所述多个存储器形状垂直邻近的垂直存储器形状到存储器形状跨越,但使得所述多个存储器形状水平邻近的水平存储器形状到存储器形状跨越可克服存储器阵列的物理约束。一个此类物理约束可为:存取线的数量(例如,存储器单元行的数量)小于感测线的数量(例如,存储器单元列的数量)。举例来说,存储器阵列可具有512或1024个存取线,但具有数千个感测线444。在先前方法中,数据元素可经包装使得数据元素在一个列或行中开始,且在不同列或行中结束。与根据本发明的至少一个实施例形成对比,一些列可被掩蔽,因为数据元素可未存储于邻近列中。也就是说,可不需要进行掩蔽来使非所要数据不被操作,因为数据元素存储于邻近列或行中。
具有垂直主要维度的多个存储器形状可改进系统(例如图1中所图解说明的系统100)的总体性能。通过将数据元素存储于存储器形状的每一列中,可有效地使用例如感测电路424的感测电路,使得减少存储器装置的物理存储器组件(例如,存储器装置、存储器组等)之间通信。另外,可增加单个物理存储器组件的吞吐量,因为利用可用感测电路的较大部分。也就是说,将数据元素存储于存储器形状的每一列中会使数据元素分散在感测放大器及计算组件当中。
在至少一个实施例中,串类型数据元素(例如字符串)可存储于存储器形状中。字符串中的每一者可包括字符。字符可为包括数据字节(八个数据位)的预定义编程语言数据结构。举例来说,字符串可包括两个字符或十六个数据位。可根据存储器形状来分配存储器阵列的多维连续物理部分,使得所述存储器形状包含字符串中的四个字符串。如果存储器形状具有垂直主要维度,那么四个字符串中的每一者可存储于存储器形状的列中。因此,存储器阵列的四个连续列及十六个连续行可指派给16×4存储器形状。分配可使得能够以单指令多数据(SIMD)方式同时对每一存储器形状的四个数据元素执行操作。如果分配包含存储器形状中的多于一个存储器形状,那么可同时对所有存储器形状的四个数据元素执行操作。以下伪代码可用于定义四个数据元素,每一数据元素包括两个字符:
上文与图2相关联地描述的伪代码程序功能“形状”可用于根据如下的16×4存储器形状分配存储器阵列的多维连续物理部分:
_shape(MY_SHAPE,16,4,MAJOR_VERTICAL);
可根据多个存储器形状(例如图4中所图解说明的多个存储器形状464-1到464-3)分配存储器阵列的多维连续物理部分。可利用不同方法以根据所述多个存储器形状分配存储器阵列的多维连续物理部分。第一方法可包含将现有数据映射到所述多个存储器形状。现有数据可从单个存储器装置的不同物理存储器组件、在存储器装置外部的磁盘或将存储经映射数据元素的相同存储器阵列进行映射。第一方法可利用存储器分配API来分配多个存储器形状。可如下总结用于根据多个存储器形状分配存储器阵列的多维连续物理部分的伪代码的实例:
void*mcs_shape_mmap(size_t nmemb,mcs_shape_t shape);
其中“nmemb”为先前定义的存储器形状的数量。举例来说,如上文所定义的存储器形状“MY_SHAPE”的三者可使用如下的伪代码指派给特定类型的指示器:
struct data*mydataptr=mcs_shape_mmap(3,MY_SHAPE);
第二方法可包含分配数据将存储于其中的存储器阵列的物理存储器组件的连续行及连续列。所述第二方法可称为用户-空间适应。与其中现有数据映射到所述多个存储器形状的第一方法形成对比,第二方法分配存储器形状以供未来使用。第二方法可包含使用如下的伪代码分配如上文所定义的存储器形状“MY_SHAPE”的三者:
struct data*mydata=NULL;
mydata=mcs_calloc_shape(3,sizeof(struct data),MY_SHAPE);
根据本发明的至少一个实施例可连同数据库(例如用于医疗记录的数据库)来使用,因为存储器形状可提供对存储器形状的可与数据库的特定字段对应的特定数据元素执行操作的能力。举例来说,与医疗记录数据库的每一字段对应的数据元素可存储于存储器形状的每一列中。多个存储器形状中的每一者可对应于患者的记录。举例来说,对应于患者的姓氏的第一串类型数据元素可存储于存储器形状的相应第一列中。对应于患者的名字的第二串类型数据元素可存储于存储器形状的相应第二列中。对应于患者的邮政编码的第一整数类型数据元素可存储于存储器形状的相应第三列中。对应于患者的电话号码的第二整数类型数据元素可存储于存储器形状的相应第四列中。如果(举例来说)仅需要居住在特定邮政编码中的那些患者的医疗记录,那么可对存储于所述多个存储器形状的相应第三列中的数据元素执行操作。
图5图解说明根据本发明的若干个实施例的存储器装置的一部分的示意图,其图解说明根据多个存储器形状进行多维连续物理分配以达成外回路优化。所述外回路优化可包含根据用户定义的序列对所述多个存储器形状的数据元素执行操作。所述用户定义的序列可指示对哪些数据元素执行操作。所述用户定义的序列可指示所述多个存储器形状的子集及所述多个存储器形状的连续列或连续行的子集。
至少一个实施例可包含:接收存储器形状的连续行的用户定义的数量及所述存储器形状的连续列的用户定义的数量;接收存储器形状的用户定义的数量;根据所述用户定义的数量分配存储器装置的单个物理存储器组件的连续多维部分;将多个数据元素存储于所述连续多维部分中,使得所述多个数据元素在共同定向中;及根据用户定义的序列对所述多个数据元素中的每一者执行操作。所述用户定义的序列可包含:对第一存储器形状的所述多个数据元素中的每一者执行所述操作;及随后对第二存储器形状的所述多个数据元素中的每一者执行所述操作。
所述多个数据元素可经垂直定向,使得所述多个数据元素中的一者可存储于连续列中的每一者中,如图5中所图解说明。所述用户定义的序列可包含对所述第一存储器形状的相应第一列的第一数据元素执行所述操作,随后对所述相应第一存储器形状的相应第二列的第二数据元素执行所述操作,随后对所述第二存储器形状的相应第一列的第三数据元素执行所述操作,及随后对所述第二存储器形状的相应第二列的第四数据元素执行所述操作。存储器形状的所述相应第一列可邻近于所述存储器形状的所述相应第二列。
所述多个数据元素可经水平定向,使得所述多个数据元素中的一者可存储于连续行中的每一者中,如图6中所图解说明。所述用户定义的序列可包含对所述第一存储器形状的相应第一行的第一数据元素执行所述操作,随后对所述相应第一存储器形状的相应第二行的第二数据元素执行所述操作,随后对所述第二存储器形状的相应第一行的第三数据元素执行所述操作,及随后对所述第二存储器形状的相应第二行的第四数据元素执行所述操作。存储器形状的所述相应第一行可邻近于所述存储器形状的所述相应第二行。
图5图解说明三个存储器形状564-1到564-3,其可类似于图4中所图解说明的所述多个存储器形状464-1到464-3。存储器形状564-1到564-3中的每一者具有如由箭头561-1到561-3指示的垂直主要维度。第一索引(例如,“i”)可对应于存储器形状564-1到564-3中的特定一者。举例来说,i=0可对应于存储器形状564-1,i=1可对应于存储器形状564-2,且i=2可对应于存储器形状564-3。第二索引(例如,“j”)可对应于存储器形状564-1到564-3的特定句子。如本文中所使用,“句子”在存储器形状具有垂直主要维度的情况下指代所述存储器形状的列或在存储器形状具有水平主要维度的情况下指代所述存储器形状的行。如图5中所图解说明,j=0可对应于存储器形状564-1的相应第一列(例如,其中i=0,耦合到感测线544-1及存取线542-1到542-6的存储器单元(由经填满圆圈表示)),j=1可对应于存储器形状564-1的相应第二列(例如,其中i=0,耦合到感测线544-2及存取线542-1到542-6的存储器单元),且j=2可对应于存储器形状564-1的相应第三列(例如,其中i=0,耦合到感测线544-3及存取线542-1到542-6的存储器单元)。数据元素可存储于存储器形状的每一列中。
通过使用第一索引i及第二索引j,在对存储于第二存储器形状(例如,存储器形状564-2)的列中的每一数据元素执行操作之前可对存储于第一存储器形状(例如,存储器形状564-1)的列中的每一数据元素执行操作。替代地,第一索引i及第二索引j可用于对存储器形状的子集、存储于存储器形状中的数据元素的子集或两者执行操作。因此,可对每一存储器形状单独地进行寻址,使得对所述多个存储器形状中的特定存储器形状的数据元素的群组执行操作。地址可为包含起始地址及结束地址的向量式地址。所述向量式地址可包含起始地址及偏移。
用户可使用可由编译器解译以产生单个SIMD操作的回路构造来达成外回路优化。通过经由存储器形状使用多维连续物理分配,编译器可对原本困难或不安全(不管编译器的跨越及寻址的明确定义如何)的代码执行转变及优化。
可如下总结用于外回路优化的伪代码的实例:
根据以上实例性伪代码的用户定义的序列,对第一存储器形状(例如,存储器形状564-1)的与每一句子j=0到j=2对应的每一数据元素、接着对第二存储器形状(例如,存储器形状564-2)的与每一句子j=0到j=2对应的每一数据元素且接着对第三存储器形状(例如,存储器形状564-3)的与每一句子j=0到j=2对应的每一数据元素执行操作。以上伪代码可与具有如图5中所图解说明的垂直主要维度或如图6中所图解说明的水平主要维度的多个存储器形状一起使用。
图6图解说明根据本发明的若干个实施例的存储器装置的一部分的示意图,其图解说明根据多个存储器形状进行多维连续物理分配以达成外回路优化。图6图解说明三个存储器形状666-1到666-3,其可类似于图4中所图解说明的所述多个存储器形状464-1到464-3,惟存储器形状666-1到666-3中的每一者具有如由箭头666-1到666-3指示的水平主要维度除外。第一索引(例如,“i”)可对应于存储器形状666-1到666-3中的特定一者。举例来说,i=0可对应于存储器形状666-1,i=1可对应于存储器形状666-2,且i=2可对应于存储器形状666-3。第二索引(例如,“j”)可对应于存储器形状666-1到666-3的特定句子。如图6中所图解说明,j=0可对应于存储器形状666-1的相应第一行(例如,其中i=0,耦合到存取线642-1及感测线644-1到644-3的存储器单元(由经填满圆圈表示)),j=1可对应于存储器形状666-1的相应第二行(例如,其中i=0,耦合到存取线642-2及感测线644-1到644-3的存储器单元),j=2可对应于存储器形状666-1的相应第三行(例如,其中i=0,耦合到存取线642-3及感测线644-1到644-3的存储器单元),j=3可对应于存储器形状666-1的相应第四列(例如,其中i=0,耦合到存取线642-4及感测线644-1到644-3的存储器单元),j=4可对应于存储器形状666-1的相应第五列(例如,其中i=0,耦合到存取线642-5及感测线644-1到644-3的存储器单元),且j=5可对应于存储器形状666-1的相应第六列(例如,其中i=0,耦合到存取线642-6及感测线644-1到644-3的存储器单元)。数据元素可存储于存储器形状的每一行中。
通过使用第一索引i及第二索引j,可在对存储于第二存储器形状(例如,存储器形状666-2)的行中的每一数据元素执行操作之前对存储于第一存储器形状(例如,存储器形状666-1)的行中的每一数据元素执行操作。替代地,第一索引i及第二索引j可用于对存储器形状的子集、存储于存储器形状中的数据元素的子集或两者执行操作。因此,可对每一存储器形状单独地进行寻址,使得对所述多个存储器形状中的特定存储器形状的数据元素的群组执行操作。地址可为包含起始地址及结束地址的向量式地址。所述向量式地址可包含起始地址及跨越。
图7是图解说明根据本发明的若干个实施例的感测电路724的示意图。感测电路724可类似于图1中所图解说明的感测电路124。感测电路724可包含感测放大器746(其可类似于图2中所图解说明的感测放大器246中的任一者)及计算组件748(其可类似于图2中所图解说明的计算组件248中的任一者)。图7展示耦合到一对互补感测线742a及742b(其作为对而可类似于图2中所图解说明的感测线242中的任一者)的感测放大器746。计算组件748经由通过晶体管770-1及770-2耦合到感测放大器746。通过晶体管770-1及770-2的栅极可受逻辑操作选择逻辑信号PASS(其可从逻辑操作选择逻辑772输出)控制。图7展示标记为“A”的计算组件748及标记为“B”的感测放大器746以指示存储于计算组件748中的数据值为“A”数据值且存储于感测放大器746中的数据值为“B”数据值,如在关于图8所图解说明的逻辑表中所展示。
可选择逻辑操作选择逻辑772包含交换晶体管776,以及用以驱动交换晶体管776的逻辑。逻辑操作选择逻辑772包含四个逻辑选择晶体管:耦合于交换晶体管776的栅极与TF信号控制线之间的逻辑选择晶体管790、耦合于通过晶体管770-1及770-2的栅极与TT信号控制线之间的逻辑选择晶体管792、耦合于通过晶体管770-1及770-2的栅极与FT信号控制线之间的逻辑选择晶体管794,以及耦合于交换晶体管776的栅极与FF信号控制线之间的逻辑选择晶体管796。逻辑选择晶体管790及792的栅极通过隔离晶体管774-1(具有耦合到ISO信号控制线的栅极)耦合到真实数字线742a。逻辑选择晶体管794及796的栅极通过隔离晶体管774-2(也具有耦合到ISO信号控制线的栅极)耦合到互补数字线742b。
如图7中所图解说明,逻辑选择控制信号可施加到逻辑选择晶体管790、792、794及796以执行特定逻辑操作。逻辑选择晶体管790及796的操作基于TF及FF选择信号的状态及在将ISO信号激活/撤销激活时相应互补数字线上的数据值。逻辑选择晶体管790及796还以用以控制交换晶体管776的方式来操作。例如,为开启(例如,接通)交换晶体管776,激活TF控制信号(例如,高),其中真实数字线742a上的数据值为“1”,或激活FF控制信号(例如,高),其中互补数字线742b上的数据值为“1”。如果对应数字线(例如,特定逻辑选择晶体管的栅极耦合到的数字线)上的相应控制信号或数据值不高,那么将不开启交换晶体管776,无论特定逻辑选择晶体管790及796是否导通。
PASS*控制信号未必与PASS控制信号互补。PASS控制信号及PASS*控制信号两者可能同时被激活或同时被撤销激活。然而,PASS控制信号及PASS*控制信号两者的同时激活将所述对互补数字线742a及742b短接在一起。在于图8中图解说明的逻辑表中总结图7中图解说明的感测电路的逻辑操作结果。
可操作感测放大器746连同计算组件748以使用来自阵列的数据作为输入来执行各种逻辑操作。在若干个实施例中,可在不经由数字线地址存取传送数据的情况下(例如,在不激发列解码信号使得经由局部I/O线将数据传送到在阵列及感测电路外部的电路的情况下)将逻辑操作的结果往回存储到阵列。如此,本发明的若干个实施例可实现使用少于各种先前方法的功率执行逻辑操作及与其相关联的计算函数。另外,由于若干个实施例可消除对跨越I/O线传送数据以便执行计算函数(例如,在存储器与离散处理器之间)的需要,因此若干个实施例可实现与先前方法相比较经增加的并行处理能力。
感测放大器746可进一步包含均衡电路,所述均衡电路可经配置以使所述对互补数字线742a及742b均衡。在此实例中,均衡电路包括耦合于所述对互补数字线742a与742b之间的晶体管。均衡电路还包括各自具有耦合到均衡电压(例如,VDD/2)的第一源极/漏极区域的晶体管,其中VDD为与阵列相关联的供应电压。晶体管的第二源极/漏极区域可耦合到数字线742a,且晶体管的第二源极/漏极区域可耦合到数字线742b。晶体管的栅极可耦合在一起,且耦合到均衡(EQ)控制信号线。如此,激活EQ会启用晶体管,此将所述对互补数字线742a及742b有效地短接在一起且短接到均衡电压(例如,VDD/2)。
尽管图5展示包括均衡电路的感测放大器746,但实施例并不如此受限制,且均衡电路可与感测放大器746离散地经实施,以不同于图7中展示的配置的配置来实施,或者根本不实施。
如图7中所展示,计算组件748还可包括锁存器791。锁存器791可包含使其相应源极耦合到供应电压(例如,VDD)的一对交叉耦合的p沟道晶体管(例如,PMOS晶体管)。锁存器791可包含使其相应源极选择性地耦合到参考电压(例如,接地)的一对交叉耦合的n沟道晶体管(例如,NMOS晶体管),使得连续地启用锁存器791。计算组件748的配置不限于图7中所展示的配置。
图8是图解说明根据本发明的若干个实施例的通过感测电路(例如,图7中所展示的感测电路724)实施的可选择逻辑操作结果的逻辑表。四个逻辑选择控制信号(例如,TF、TT、FT及FF)连同存在于互补数字线(例如,图7中所展示的所述对互补数字线742a及742b)上的特定数据值可用于选择多个逻辑操作中的一者以涉及存储于感测放大器746及计算组件748中的起始数据值而实施。四个逻辑选择控制信号(例如,TF、TT、FT及FF)连同存在于互补数字线上(例如,存在于节点S及S*上)的特定数据值来控制通过晶体管770-1及770-2以及交换晶体管776,此又在激发之前/之后影响计算组件748及/或感测放大器746中的数据值。可选择地控制交换晶体管776的能力促进实施尤其涉及逆数据值(例如,逆操作数及/或逆结果)的逻辑操作。
图8中所图解说明的逻辑表8-1展示存储于计算组件748中的起始数据值(在871处的行A中展示),及存储于感测放大器746中的起始数据值(在873处的行B中展示)。逻辑表8-1中的其它三个列标头指代通过晶体管770-1及770-2以及交换晶体管776的状态,其可在ISO控制信号被断言时,取决于四个逻辑选择控制信号(例如,TF、TT、FT及FF)连同所述对互补数字线742a及742b上所存在的特定数据值的状态而分别经控制为OPEN或CLOSED。“NOTOPEN”列875对应于通过晶体管770-1及770-2以及交换晶体管776两者均处于非导通条件中。“OPEN TRUE”列877对应于通过晶体管770-1及770-2处于导通条件中。“OPEN INVERT”列879对应于交换晶体管776处于导通条件中。逻辑表8-1中不反映与通过晶体管770-1及770-2以及交换晶体管776两者均处于导通条件中对应的配置,因为此导致数字线被短接在一起。
经由通过晶体管770-1及770-2以及交换晶体管776的选择性控制,逻辑表8-1的上部分的三个列875、877及879中的每一者可与逻辑表8-1的下部分的三个列875、877及879中的每一者组合以提供对应于九个不同逻辑操作的九个(例如,3x 3)不同结果组合,如由在881处所展示的各种连接路径所指示。在逻辑表8-2中概述可由感测电路724实施的九个不同可选择逻辑操作。
逻辑表8-2的列展示包含逻辑选择控制信号(例如,FF、FT、TF、TT)的状态的标头883。举例来说,在行884中提供第一逻辑选择控制信号(例如,FF)的状态,在行885中提供第二逻辑选择控制信号(例如,FT)的状态,在行886中提供第三逻辑选择控制信号(例如,TF)的状态,且在行887中提供第四逻辑选择控制信号(例如,TT)的状态。在行888中总结对应于所述结果的特定逻辑操作。
将理解,当将元件称为“在”另一元件“上”、“连接到”另一元件或“与”另一元件“耦合”时,其可直接在另一元件上、直接连接到另一元件或直接与另一元件耦合,或者可存在介入元件。相比来说,当将元件称为“直接在”另一元件“上”、“直接连接到”另一元件或“直接与”另一元件“耦合”时,不存在介入元件或层。
尽管本文中已图解说明及描述了具体实施例,但所属领域的技术人员将了解,旨在实现相同结果的布置可替代所展示的具体实施例。本发明打算涵盖本发明的一或多个实施例的改动或变化。应理解,已以说明性方式而非限制性方式做出以上说明。在审阅以上描述后,所属领域的技术人员将明了以上实施例的组合及本文中未具体描述的其它实施例。本发明的一或多个实施例的范围包含其中使用以上结构及方法的其它应用。因此,本发明的一或多个实施例的范围应参考所附权利要求书连同授权此权利要求书的等效内容的全部范围来确认。
在前述实施方式中,出于简化本发明的目的,将一些特征一起分组于单个实施例中。本发明的此方法不应解释为反映本发明的所揭示实施例必须使用比明确陈述于每一权利要求中更多的特征的意图。而是,如所附权利要求书反映:发明性标的物在于少于单个所揭示实施例的所有特征。因此,特此将所附权利要求书并入到实施方式中,其中每一权利要求独立地作为单独实施例。
Claims (11)
1.一种操作半导体设备的方法,其包括:
接收存储器形状(260、362、464-1、464-2、464-3、564-1、564-2、564-3、666-1、666-2、666-3)的用户定义,所述用户定义包含:
存储器阵列(111、211、311、411、511、611)的连续列(244、344、444、544、644)的数量;
所述存储器阵列的连续行(242、342、442、542、642)的数量;及
所述存储器形状的主要维度(261、363、461-1、461-2、461-3、561-1、561-2、561-3、663-1、663-2、663-3),其中所述主要维度与最初使得存储于耦合到所述存储器阵列的所述连续列及连续行的存储器单元(240、340)中的数据跨越的维度相对应;及
根据所述用户定义分配所述存储器阵列的多维连续物理部分;
仅将第一数据元素存储于对应于所述存储器形状的存储器单元的第一列或存储器单元的第一行(244-1、244-2、244-3、244-4、244-5、244-6、444-1、444-2、444-3、444-4、444-5、444-6、444-7、444-8、444-9、544-1、544-2、544-3、544-4、544-5、544-6、544-7、544-8、544-9)中;及
随后仅将第二数据元素存储于对应于所述存储器形状的存储器单元的第二列或存储器单元的第二行(244-1、244-2、244-3、244-4、244-5、244-6、444-1、444-2、444-3、444-4、444-5、444-6、444-7、444-8、444-9、544-1、544-2、544-3、544-4、544-5、544-6、544-7、544-8、544-9)中,
其中存储器单元的所述第一列邻近存储器单元的所述第二列且存储器单元的所述第一行邻近存储器单元的所述第二行。
2.根据权利要求1所述的方法,其进一步包括使用耦合到所述存储器阵列(111、211、311、411、511、611的感测电路(124、224、324、424、524、624、724)对所述第一数据元素或所述第二数据元素执行操作。
3.根据权利要求1和2中任一权利要求所述的方法,其中所述第一数据元素具有第一长度,且其中所述第二数据元素具有第二长度,所述第一长度与所述第二长度不同。
4.根据权利要求3所述的方法,其进一步包括在对应于所述存储器形状(260、362、464-1、464-2、464-3、564-1、564-2、564-3、666-1、666-2、666-3)的所述存储器阵列(111、211、311、411、511、611)的不同存储器单元(240、340)中存储填补值,其中所述填补值的长度等于所述第一长度与所述第二长度之间的差。
5.根据权利要求1和2中任一权利要求所述的方法,其中所述第一数据元素具有第一类型,且其中所述第二数据元素具有第二类型,所述第一类型与所述第二类型不同。
6.根据权利要求1和2中任一权利要求所述的方法,其进一步包括将现有数据从除所述存储器阵列(111、211、311、411、511、611)以外的存储器或所述存储器阵列中的一者映射到所述存储器形状(260、362、464-1、464-2、464-3、564-1、564-2、564-3、666-1、666-2、666-3)。
7.一种半导体设备,其包括:
存储器装置(110、210、310、410、510、610);及
主机(102),其耦合到所述存储器装置,其中所述主机经配置以:
接收存储器形状(260、362、464-1、464-2、464-3、564-1、564-2、564-3、666-1、666-2、666-3)的第一用户定义,所述第一用户定义包含主要维度(261、363、461-1、461-2、461-3、561-1、561-2、561-3、663-1、663-2、663-3),其中所述主要维度与最初使得存储于对应于所述存储器形状的存储器装置的存储器单元(240、340)中的数据跨越的维度相对应;
接收所述存储器形状的数量的第二用户定义;
根据所述第一用户定义和所述第二用户定义分配所述存储器装置的单个物理存储器组件的存储器单元(240、340)的连续列(244、344、444、544、644)及连续行(242、342、442、542、642);
将多个数据元素连续地存储于所述单个物理存储器组件的存储器单元的经分配的所述连续列和所述连续行中;
仅将所述多个数据元素中的第一数据元素存储于对应于所述存储器形状的存储器单元(342-1、342-2、342-3、342-4、342-5、342-6、642-1、642-2、642-3、642-4、642-5、642-6)的第一列或存储器单元的第一行中;及
随后仅将所述多个数据元素中的第二数据元素存储于对应于所述存储器形状的存储器单元(342-1、342-2、342-3、342-4、342-5、342-6、642-1、642-2、642-3、642-4、642-5、642-6)的第二列或存储器单元的第二行中,
其中存储器单元的所述第一列邻近存储器单元的所述第二列且存储器单元的所述第一行邻近存储器单元的所述第二行。
8.根据权利要求7所述的半导体设备,其中所述主机(102)经配置以分配单个物理存储器组件的存储器单元的所述连续列(244、344、444、544、644)及连续行(242、342、442、542、642),使得所述存储器形状中的每一者包括耦合到所述单个物理存储器组件的共同存取线的存储器单元(240、340)。
9.根据权利要求7和8中任一权利要求所述的半导体设备,其进一步包括耦合到所述单个物理存储器组件的感测电路(124、224、324、424、524、624、724),其中所述感测电路经配置以对所述多个数据元素中的至少一者执行操作。
10.根据权利要求9所述的半导体设备,其中所述感测电路(124、224、324、424、524、624、724)经配置以同时对所述多个数据元素执行所述操作。
11.一种存储可由处理资源执行以进行以下操作的指令的非暂时性计算机可读媒体:
接收存储器形状(260、362、464-1、464-2、464-3、564-1、564-2、564-3、666-1、666-2、666-3)的连续行(242、342、442、542、642)的用户定义的数量及所述存储器形状的连续列(244、344、444、544、644)的用户定义的数量;
接收包含主要维度(261、363、461-1、461-2、461-3、561-1、561-2、561-3、663-1、663-2、663-3)的存储器形状的用户定义的数量,其中所述主要维度与最初使得存储于耦合到所述连续列和所述连续行的存储器单元中的数据跨越的维度相对应;
根据所述用户定义的数量分配存储器装置(110、210、310、410、510、610)的单个物理存储器组件的连续多维部分;
将多个数据元素存储于所述连续多维部分中,使得所述多个数据元素呈共同定向;
仅将所述多个数据元素中的第一数据元素存储于对应于所述存储器形状的存储器单元的第一列或存储器单元的第一行中;及
随后仅将所述多个数据元素中的第二数据元素存储于对应于所述存储器形状的存储器单元的第二列或存储器单元的第二行中,
其中存储器单元的所述第一列邻近存储器单元的所述第二列且存储器单元的所述第一行邻近存储器单元的所述第二行;及
根据用户定义的序列对所述多个数据元素执行操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/496,886 US10942843B2 (en) | 2017-04-25 | 2017-04-25 | Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes |
US15/496,886 | 2017-04-25 | ||
PCT/US2018/029295 WO2018200630A1 (en) | 2017-04-25 | 2018-04-25 | Memory shapes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110574013A CN110574013A (zh) | 2019-12-13 |
CN110574013B true CN110574013B (zh) | 2023-12-22 |
Family
ID=63853827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880027807.0A Active CN110574013B (zh) | 2017-04-25 | 2018-04-25 | 存储器形状 |
Country Status (4)
Country | Link |
---|---|
US (3) | US10942843B2 (zh) |
EP (1) | EP3616067B1 (zh) |
CN (1) | CN110574013B (zh) |
WO (1) | WO2018200630A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220391469A1 (en) * | 2021-06-04 | 2022-12-08 | Arm Limited | Methods and Circuits of Spatial Alignment |
US20240004786A1 (en) * | 2022-06-30 | 2024-01-04 | Advanced Micro Devices, Inc. | Allocating memory for processing-in-memory (pim) devices |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1445679A (zh) * | 2002-03-20 | 2003-10-01 | 精工爱普生株式会社 | 多维存储器的数据传送装置、传送程序以及传送方法 |
WO2016126478A1 (en) * | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for memory device as a store for program instructions |
WO2016191191A1 (en) * | 2015-05-28 | 2016-12-01 | Micron Technology, Inc. | Apparatuses and methods for compute enabled cache |
TW201703033A (zh) * | 2015-03-11 | 2017-01-16 | 美光科技公司 | 藉由記憶體中向量之元素之資料移位 |
Family Cites Families (317)
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 |
JPH0831168B2 (ja) | 1987-11-06 | 1996-03-27 | 沖電気工業株式会社 | 窓口用自動取引装置 |
US4843264A (en) | 1987-11-25 | 1989-06-27 | Visic, Inc. | Dynamic sense amplifier for CMOS static RAM |
US5276643A (en) | 1988-08-11 | 1994-01-04 | Siemens Aktiengesellschaft | Integrated semiconductor circuit |
JPH0713858B2 (ja) | 1988-08-30 | 1995-02-15 | 三菱電機株式会社 | 半導体記憶装置 |
US5023838A (en) | 1988-12-02 | 1991-06-11 | Ncr Corporation | Random access memory device with integral logic capability |
US4958378A (en) | 1989-04-26 | 1990-09-18 | Sun Microsystems, Inc. | Method and apparatus for detecting changes in raster data |
US5253308A (en) | 1989-06-21 | 1993-10-12 | Amber Engineering, Inc. | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing |
DE69132495T2 (de) | 1990-03-16 | 2001-06-13 | Texas Instruments Inc., Dallas | Verteilter Verarbeitungsspeicher |
US5034636A (en) | 1990-06-04 | 1991-07-23 | Motorola, Inc. | Sense amplifier with an integral logic function |
US5210850A (en) | 1990-06-15 | 1993-05-11 | Compaq Computer Corporation | Memory address space determination using programmable limit registers with single-ended comparators |
JP3361825B2 (ja) | 1990-08-22 | 2003-01-07 | テキサス インスツルメンツ インコーポレイテツド | メモリ・アレイ・アーキテクチャ |
JPH06103599B2 (ja) | 1990-11-16 | 1994-12-14 | 三菱電機株式会社 | 半導体集積回路装置 |
US5325519A (en) | 1991-10-18 | 1994-06-28 | Texas Microsystems, Inc. | Fault tolerant computer with archival rollback capabilities |
FR2685973B1 (fr) | 1992-01-03 | 1994-02-25 | France Telecom | Point memoire pour memoire associative. |
KR950005095Y1 (ko) | 1992-03-18 | 1995-06-22 | 문정환 | 양방향성 그로벌 비트 라인을 갖는 dram |
KR940004434A (ko) | 1992-08-25 | 1994-03-15 | 윌리엄 이. 힐러 | 스마트 다이나믹 랜덤 억세스 메모리 및 그 처리방법 |
KR950004854B1 (ko) | 1992-10-08 | 1995-05-15 | 삼성전자 주식회사 | 반도체 메모리 장치 |
US5440482A (en) | 1993-03-25 | 1995-08-08 | Taligent, Inc. | Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order |
US5485373A (en) | 1993-03-25 | 1996-01-16 | Taligent, Inc. | Language-sensitive text searching system with modified Boyer-Moore process |
US5369622A (en) | 1993-04-20 | 1994-11-29 | Micron Semiconductor, Inc. | Memory with isolated digit lines |
US5754478A (en) | 1993-04-20 | 1998-05-19 | Micron Technology, Inc. | Fast, low power, write scheme for memory circuits using pulsed off isolation device |
JP2663838B2 (ja) | 1993-07-27 | 1997-10-15 | 日本電気株式会社 | 半導体集積回路装置 |
JP3252306B2 (ja) | 1993-08-10 | 2002-02-04 | 株式会社日立製作所 | 半導体不揮発性記憶装置 |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
JP3251421B2 (ja) | 1994-04-11 | 2002-01-28 | 株式会社日立製作所 | 半導体集積回路 |
US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
JPH0831168A (ja) | 1994-07-13 | 1996-02-02 | Hitachi Ltd | 半導体記憶装置 |
US5481500A (en) | 1994-07-22 | 1996-01-02 | International Business Machines Corporation | Precharged bit decoder and sense amplifier with integrated latch usable in pipelined memories |
US5615404A (en) | 1994-10-31 | 1997-03-25 | Intel Corporation | System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals |
US5638128A (en) | 1994-11-08 | 1997-06-10 | General Instrument Corporation Of Delaware | Pixel interpolation filters for video decompression processor |
US5724366A (en) | 1995-05-16 | 1998-03-03 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device |
KR0146530B1 (ko) | 1995-05-25 | 1998-09-15 | 김광호 | 단속제어회로를 구비한 반도체 메모리 장치와 제어방법 |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
JP2812262B2 (ja) | 1995-08-31 | 1998-10-22 | 日本電気株式会社 | 連想記憶装置 |
JP2817836B2 (ja) | 1995-11-30 | 1998-10-30 | 日本電気株式会社 | 半導体メモリ装置 |
JP3356612B2 (ja) | 1996-02-29 | 2002-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 高速な輪郭スムージング方法及び装置 |
US6092186A (en) | 1996-05-07 | 2000-07-18 | Lucent Technologies Inc. | Apparatus and method for aborting un-needed instruction fetches in a digital microprocessor device |
US5915084A (en) | 1996-09-30 | 1999-06-22 | Advanced Micro Devices, Inc. | Scannable sense amplifier circuit |
US5991209A (en) | 1997-04-11 | 1999-11-23 | Raytheon Company | Split sense amplifier and staging buffer for wide memory architecture |
JP3592887B2 (ja) | 1997-04-30 | 2004-11-24 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6510098B1 (en) | 1997-05-28 | 2003-01-21 | Cirrus Logic, Inc. | Method and apparatus for transferring data in a dual port memory |
JPH1115773A (ja) | 1997-06-24 | 1999-01-22 | Matsushita Electron Corp | 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法 |
US5935263A (en) | 1997-07-01 | 1999-08-10 | Micron Technology, Inc. | Method and apparatus for memory array compressed data testing |
US6195734B1 (en) | 1997-07-02 | 2001-02-27 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
US6181698B1 (en) | 1997-07-09 | 2001-01-30 | Yoichi Hariguchi | Network routing table using content addressable memory |
US6025221A (en) | 1997-08-22 | 2000-02-15 | Micron Technology, Inc. | Processing methods of forming integrated circuitry memory devices, methods of forming DRAM arrays, and related semiconductor masks |
US5991785A (en) | 1997-11-13 | 1999-11-23 | Lucent Technologies Inc. | Determining an extremum value and its index in an array using a dual-accumulation processor |
US5867429A (en) | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
US6163862A (en) | 1997-12-01 | 2000-12-19 | International Business Machines Corporation | On-chip test circuit for evaluating an on-chip signal using an external test signal |
JP3488612B2 (ja) | 1997-12-11 | 2004-01-19 | 株式会社東芝 | センス増幅回路 |
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 | 富士通セミコンダクター株式会社 | 半導体記憶装置及びその制御方法 |
US6687175B1 (en) | 2000-02-04 | 2004-02-03 | Renesas Technology Corporation | Semiconductor device |
AU2001239907A1 (en) | 2000-02-29 | 2001-09-12 | Stephen J. Guerreri | Method and apparatus for building a memory image |
US7028170B2 (en) | 2000-03-08 | 2006-04-11 | Sun Microsystems, Inc. | Processing architecture having a compare capability |
JP3983969B2 (ja) | 2000-03-08 | 2007-09-26 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6678678B2 (en) | 2000-03-09 | 2004-01-13 | Braodcom Corporation | Method and apparatus for high speed table search |
JP3822412B2 (ja) | 2000-03-28 | 2006-09-20 | 株式会社東芝 | 半導体記憶装置 |
US6965648B1 (en) | 2000-05-04 | 2005-11-15 | Sun Microsystems, Inc. | Source synchronous link integrity validation |
AU2001270400A1 (en) | 2000-07-07 | 2002-01-21 | Mosaid Technologies Incorporated | A high speed dram architecture with uniform access latency |
US6466499B1 (en) | 2000-07-11 | 2002-10-15 | Micron Technology, Inc. | DRAM sense amplifier having pre-charged transistor body nodes |
AU2001285161A1 (en) | 2000-08-21 | 2002-03-04 | United States Postal Services | Delivery point validation system |
US6301164B1 (en) | 2000-08-25 | 2001-10-09 | Micron Technology, Inc. | Antifuse method to repair columns in a prefetched output memory architecture |
US6704828B1 (en) | 2000-08-31 | 2004-03-09 | Micron Technology, Inc. | System and method for implementing data pre-fetch having reduced data lines and/or higher data rates |
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 |
EP1195546B1 (en) | 2000-10-03 | 2004-09-29 | Kabushiki Kaisha Kobe Seiko Sho | Valve device |
US6304477B1 (en) | 2001-01-31 | 2001-10-16 | Motorola, Inc. | Content addressable magnetic random access memory |
US6563754B1 (en) | 2001-02-08 | 2003-05-13 | Integrated Device Technology, Inc. | DRAM circuit with separate refresh memory |
US6650158B2 (en) | 2001-02-21 | 2003-11-18 | Ramtron International Corporation | Ferroelectric non-volatile logic elements |
US7546438B2 (en) | 2001-07-19 | 2009-06-09 | Chung Shine C | Algorithm mapping, specialized instructions and architecture features for smart memory computing |
US6807614B2 (en) | 2001-07-19 | 2004-10-19 | Shine C. Chung | Method and apparatus for using smart memories in computing |
ITRM20010531A1 (it) | 2001-08-31 | 2003-02-28 | Micron Technology Inc | Dispositivo rilevatore a bassa potenza e alta tensione per memorie ditipo flash. |
US7260672B2 (en) | 2001-09-07 | 2007-08-21 | Intel Corporation | Using data stored in a destructive-read memory |
US7062689B2 (en) | 2001-12-20 | 2006-06-13 | Arm Limited | Method and apparatus for memory self testing |
US20040073773A1 (en) | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
US6707729B2 (en) | 2002-02-15 | 2004-03-16 | Micron Technology, Inc. | Physically alternating sense amplifier activation |
WO2003088033A1 (en) | 2002-04-09 | 2003-10-23 | University Of Rochester | Multiplier-based processor-in-memory architectures for image and graphics processing |
CA2382718C (en) * | 2002-04-12 | 2007-02-13 | Ibm Canada Limited-Ibm Canada Limitee | Memory balancing and optimization services |
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 |
US6986016B2 (en) | 2002-09-30 | 2006-01-10 | International Business Machines Corporation | Contiguous physical memory allocation |
US7079407B1 (en) | 2002-10-18 | 2006-07-18 | Netlogic Microsystems, Inc. | Content addressable memory (CAM) device including match line sensing |
US6765834B2 (en) | 2002-11-19 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | System and method for sensing memory cells of an array of memory cells |
US6731542B1 (en) | 2002-12-05 | 2004-05-04 | Advanced Micro Devices, Inc. | Circuit for accurate memory read operations |
KR100546307B1 (ko) | 2002-12-05 | 2006-01-26 | 삼성전자주식회사 | 글로벌 입출력라인을 프리차지 및/또는 이퀄라이징하기위한 프리차지 회로를 구비하는 반도체 장치 및프리차지 및/또는 이퀄라이즈하는 트랜지스터의 레이아웃 |
US6888372B1 (en) | 2002-12-20 | 2005-05-03 | Altera Corporation | Programmable logic device with soft multiplier |
US20050015557A1 (en) | 2002-12-27 | 2005-01-20 | Chih-Hung Wang | Nonvolatile memory unit with specific cache |
JP3996520B2 (ja) * | 2003-01-30 | 2007-10-24 | 株式会社デンソーウェーブ | 二次元情報コードおよびその生成方法 |
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 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
WO2005024843A1 (en) | 2003-09-04 | 2005-03-17 | Koninklijke Philips Electronics N.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 |
US7685365B2 (en) | 2004-09-30 | 2010-03-23 | Intel Corporation | Transactional memory execution utilizing virtual memory |
US20060069849A1 (en) | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a memory |
US20060149804A1 (en) | 2004-11-30 | 2006-07-06 | International Business Machines Corporation | Multiply-sum dot product instruction with mask and splat |
US7230851B2 (en) | 2004-12-23 | 2007-06-12 | Sandisk Corporation | Reducing floating gate to floating gate coupling effect |
KR100673901B1 (ko) | 2005-01-28 | 2007-01-25 | 주식회사 하이닉스반도체 | 저전압용 반도체 메모리 장치 |
US7543119B2 (en) | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
US7624313B2 (en) | 2005-03-28 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | TCAM BIST with redundancy |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
KR100720644B1 (ko) | 2005-11-17 | 2007-05-21 | 삼성전자주식회사 | 메모리 장치 및 메모리 그 동작 방법 |
WO2007069295A1 (ja) | 2005-12-13 | 2007-06-21 | Spansion Llc | 半導体装置およびその制御方法 |
JP5129450B2 (ja) | 2006-01-16 | 2013-01-30 | ルネサスエレクトロニクス株式会社 | 情報処理装置 |
US8077533B2 (en) | 2006-01-23 | 2011-12-13 | Freescale Semiconductor, Inc. | Memory and method for sensing data in a memory using complementary sensing scheme |
JP4989900B2 (ja) | 2006-01-31 | 2012-08-01 | ルネサスエレクトロニクス株式会社 | 並列演算処理装置 |
US7400532B2 (en) | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
KR100755370B1 (ko) | 2006-04-17 | 2007-09-04 | 삼성전자주식회사 | 반도체 메모리 장치 |
TW200828333A (en) | 2006-04-28 | 2008-07-01 | Samsung Electronics Co Ltd | Sense amplifier circuit and sense amplifier-based flip-flop having the same |
WO2007131127A2 (en) | 2006-05-05 | 2007-11-15 | Sandisk Corporation | Merging queued memory operation in a non-volatile memory |
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 |
US7443729B2 (en) | 2006-07-20 | 2008-10-28 | Sandisk Corporation | System that compensates for coupling based on sensing a neighbor using coupling |
US7885119B2 (en) | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
US7692466B2 (en) | 2006-08-18 | 2010-04-06 | Ati Technologies Ulc | Sense amplifier based flip-flop |
US7805587B1 (en) | 2006-11-01 | 2010-09-28 | Nvidia Corporation | Memory addressing controlled by PTE fields |
US8151082B2 (en) | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
US7471536B2 (en) | 2006-12-08 | 2008-12-30 | Texas Instruments Incorporated | Match mismatch emulation scheme for an addressed location in a CAM |
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 |
US8245011B2 (en) * | 2008-02-08 | 2012-08-14 | Texas Instruments Incorporated | Method and system for geometry-based virtual memory management in a tiled virtual memory |
US7808854B2 (en) | 2008-02-19 | 2010-10-05 | Kabushiki Kaisha Toshiba | Systems and methods for data transfers between memory cells |
JP5194302B2 (ja) | 2008-02-20 | 2013-05-08 | ルネサスエレクトロニクス株式会社 | 半導体信号処理装置 |
US20090254694A1 (en) | 2008-04-02 | 2009-10-08 | Zikbit Ltd. | Memory device with integrated parallel processing |
US8332580B2 (en) | 2008-04-02 | 2012-12-11 | Zikbit Ltd. | System, method and apparatus for memory with embedded associative section for computations |
US7957206B2 (en) | 2008-04-04 | 2011-06-07 | Micron Technology, Inc. | Read circuitry for an integrated circuit having memory cells and/or a memory cell array, and method of operating same |
US8339824B2 (en) | 2008-07-02 | 2012-12-25 | Cooke Laurence H | Nearest neighbor serial content addressable memory |
US8417921B2 (en) | 2008-08-15 | 2013-04-09 | Apple Inc. | Running-min and running-max instructions for processing vectors using a base value from a key element of an input vector |
US8555037B2 (en) | 2008-08-15 | 2013-10-08 | Apple Inc. | Processing vectors using wrapping minima and maxima instructions in the macroscalar architecture |
US8259509B2 (en) | 2008-08-18 | 2012-09-04 | Elpida Memory, Inc. | Semiconductor memory device and method with auxiliary I/O line assist circuit and functionality |
ITRM20080543A1 (it) | 2008-10-09 | 2010-04-10 | Micron Technology Inc | Architettura e metodo per la programmazione di memorie. |
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 |
US8412985B1 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Hardwired remapped memory |
US8412987B2 (en) | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
US8059438B2 (en) | 2009-08-28 | 2011-11-15 | International Business Machines Corporation | Content addressable memory array programmed to perform logic operations |
US8077532B2 (en) | 2009-09-02 | 2011-12-13 | Micron Technology, Inc. | Small unit internal verify read in a memory device |
US8482975B2 (en) | 2009-09-14 | 2013-07-09 | Micron Technology, Inc. | Memory kink checking |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US20120246380A1 (en) | 2009-10-21 | 2012-09-27 | Avidan Akerib | Neighborhood operations for parallel processing |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
US8650232B2 (en) | 2009-10-26 | 2014-02-11 | Via Technologies, Inc. | System and method for determination of a horizontal minimum of digital values |
KR101634340B1 (ko) | 2009-11-03 | 2016-06-28 | 삼성전자주식회사 | 반도체 메모리 장치의 프로그램 방법 |
US8583896B2 (en) | 2009-11-13 | 2013-11-12 | Nec Laboratories America, Inc. | Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain |
KR20110054773A (ko) | 2009-11-18 | 2011-05-25 | 삼성전자주식회사 | 비트라인 디스털번스를 개선하는 반도체 메모리 장치 |
US8089815B2 (en) | 2009-11-24 | 2012-01-03 | Sandisk Technologies Inc. | Programming memory with bit line floating to reduce channel-to-floating gate coupling |
US8605015B2 (en) | 2009-12-23 | 2013-12-10 | Syndiant, Inc. | Spatial light modulator with masking-comparators |
JP2011146102A (ja) | 2010-01-15 | 2011-07-28 | Elpida Memory Inc | 半導体装置及びデータ処理システム |
CN102141905B (zh) | 2010-01-29 | 2015-02-25 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
US8164942B2 (en) | 2010-02-01 | 2012-04-24 | International Business Machines Corporation | High performance eDRAM sense amplifier |
US8533245B1 (en) | 2010-03-03 | 2013-09-10 | Altera Corporation | Multipliers with a reduced number of memory blocks |
US9195657B2 (en) * | 2010-03-08 | 2015-11-24 | Microsoft Technology Licensing, Llc | Columnar storage of a database index |
US9317536B2 (en) | 2010-04-27 | 2016-04-19 | Cornell University | System and methods for mapping and searching objects in multidimensional space |
KR101119371B1 (ko) | 2010-04-29 | 2012-03-06 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 이의 동작 방법 |
US8559232B2 (en) | 2010-05-03 | 2013-10-15 | Aplus Flash Technology, Inc. | DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation |
US8351278B2 (en) | 2010-06-23 | 2013-01-08 | International Business Machines Corporation | Jam latch for latching memory array output data |
KR101143471B1 (ko) | 2010-07-02 | 2012-05-11 | 에스케이하이닉스 주식회사 | 센스앰프 및 이를 포함하는 반도체 장치 |
US20120017039A1 (en) | 2010-07-16 | 2012-01-19 | Plx Technology, Inc. | Caching using virtual memory |
US8462532B1 (en) | 2010-08-31 | 2013-06-11 | Netlogic Microsystems, Inc. | Fast quaternary content addressable memory cell |
US8347154B2 (en) | 2010-09-21 | 2013-01-01 | International Business Machines Corporation | Use of hashing function to distinguish random and repeat errors in a memory system |
US8904115B2 (en) | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
US8332367B2 (en) | 2010-10-20 | 2012-12-11 | International Business Machines Corporation | Parallel data redundancy removal |
KR101148352B1 (ko) | 2010-11-02 | 2012-05-21 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작 방법 |
KR101782373B1 (ko) * | 2010-11-10 | 2017-09-29 | 삼성전자 주식회사 | X-y 스택 메모리를 이용한 컴퓨팅 장치 및 방법 |
JP5528987B2 (ja) | 2010-11-11 | 2014-06-25 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
US8553481B2 (en) | 2010-11-29 | 2013-10-08 | Apple Inc. | Sense amplifier latch with integrated test data multiplexer |
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 | データ処理装置およびそのデータ処理方法 |
US20120221788A1 (en) * | 2011-02-28 | 2012-08-30 | Microsoft Corporation | Multi-dimensional array manipulation |
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 |
US20140247673A1 (en) | 2011-10-28 | 2014-09-04 | Naveen Muralimanohar | Row shifting shiftable memory |
US8891297B2 (en) | 2011-11-01 | 2014-11-18 | Micron Technology, Inc. | Memory cell sensing |
KR101321481B1 (ko) | 2011-11-04 | 2013-10-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 위한 테스트 회로 |
US9830158B2 (en) | 2011-11-04 | 2017-11-28 | Nvidia Corporation | Speculative execution and rollback |
KR20130052971A (ko) | 2011-11-14 | 2013-05-23 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 |
GB2511957B (en) | 2011-11-22 | 2015-02-11 | Mips Tech Inc | Processor with kernel mode access to user space virtual addresses |
CN103959237B (zh) | 2011-11-30 | 2016-09-28 | 英特尔公司 | 用于提供向量横向比较功能的指令和逻辑 |
CN104011657B (zh) | 2011-12-22 | 2016-10-12 | 英特尔公司 | 用于向量计算和累计的装置和方法 |
KR20130072869A (ko) | 2011-12-22 | 2013-07-02 | 에스케이하이닉스 주식회사 | 프리차지 회로 및 비휘발성 메모리 장치 |
WO2013130109A1 (en) | 2012-03-02 | 2013-09-06 | Hewlett-Packard Development Company L.P. | Shiftable memory defragmentation |
US20130286705A1 (en) | 2012-04-26 | 2013-10-31 | David B. Grover | Low power content addressable memory hitline precharge and sensing circuit |
US8938603B2 (en) | 2012-05-31 | 2015-01-20 | Samsung Electronics Co., Ltd. | Cache system optimized for cache miss detection |
US20130332707A1 (en) | 2012-06-07 | 2013-12-12 | Intel Corporation | Speed up big-number multiplication using single instruction multiple data (simd) architectures |
KR102062301B1 (ko) | 2013-01-03 | 2020-01-03 | 삼성전자주식회사 | 메모리 장치의 페이지 복사 방법 및 메모리 시스템의 페이지 관리 방법 |
US20140215185A1 (en) | 2013-01-29 | 2014-07-31 | Atmel Norway | Fetching instructions of a loop routine |
US9158667B2 (en) | 2013-03-04 | 2015-10-13 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9569350B2 (en) * | 2013-03-12 | 2017-02-14 | Samsung Electronics Co., Ltd. | Multidimensional resource manager/allocator |
US9171153B2 (en) | 2013-05-17 | 2015-10-27 | Hewlett-Packard Development Company, L.P. | Bloom filter with memory element |
US8964496B2 (en) | 2013-07-26 | 2015-02-24 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
US8971124B1 (en) | 2013-08-08 | 2015-03-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9153305B2 (en) | 2013-08-30 | 2015-10-06 | Micron Technology, Inc. | Independently addressable memory array address spaces |
US9019785B2 (en) | 2013-09-19 | 2015-04-28 | Micron Technology, Inc. | Data shifting via a number of isolation devices |
US9449675B2 (en) | 2013-10-31 | 2016-09-20 | Micron Technology, Inc. | Apparatuses and methods for identifying an extremum value stored in an array of memory cells |
US9430191B2 (en) | 2013-11-08 | 2016-08-30 | Micron Technology, Inc. | Division operations for memory |
US9442661B2 (en) * | 2013-12-09 | 2016-09-13 | International Business Machines Corporation | Multidimensional storage array and method utilizing an input shifter to allow an entire column or row to be accessed in a single clock cycle |
US9715343B2 (en) * | 2013-12-09 | 2017-07-25 | International Business Machines Corporation | Multidimensional partitioned storage array and method utilizing input shifters to allow multiple entire columns or rows to be accessed in a single clock cycle |
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 |
CN106415522B (zh) | 2014-05-08 | 2020-07-21 | 美光科技公司 | 存储器内轻量一致性 |
CN106462501B (zh) | 2014-05-08 | 2019-07-09 | 美光科技公司 | 基于混合存储器立方体系统互连目录的高速缓冲存储器一致性方法 |
US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9455020B2 (en) | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
US9704540B2 (en) | 2014-06-05 | 2017-07-11 | Micron Technology, Inc. | Apparatuses and methods for parity determination using sensing circuitry |
US9711207B2 (en) | 2014-06-05 | 2017-07-18 | 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 |
US10074407B2 (en) | 2014-06-05 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for performing invert operations using sensing circuitry |
US9830999B2 (en) | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US9449674B2 (en) | 2014-06-05 | 2016-09-20 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
US9589602B2 (en) | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison operations in memory |
US9747961B2 (en) | 2014-09-03 | 2017-08-29 | Micron Technology, Inc. | Division operations in memory |
US9740607B2 (en) | 2014-09-03 | 2017-08-22 | Micron Technology, Inc. | Swap operations in memory |
US9904515B2 (en) | 2014-09-03 | 2018-02-27 | Micron Technology, Inc. | Multiplication operations in memory |
US9898252B2 (en) | 2014-09-03 | 2018-02-20 | Micron Technology, Inc. | Multiplication operations in memory |
US10068652B2 (en) | 2014-09-03 | 2018-09-04 | Micron Technology, Inc. | Apparatuses and methods for determining population count |
US9847110B2 (en) | 2014-09-03 | 2017-12-19 | Micron Technology, Inc. | Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector |
US9836218B2 (en) | 2014-10-03 | 2017-12-05 | Micron Technology, Inc. | Computing reduction and prefix sum operations in memory |
US9940026B2 (en) * | 2014-10-03 | 2018-04-10 | Micron Technology, Inc. | Multidimensional contiguous memory allocation |
US10163467B2 (en) | 2014-10-16 | 2018-12-25 | Micron Technology, Inc. | Multiple endianness compatibility |
US10147480B2 (en) | 2014-10-24 | 2018-12-04 | Micron Technology, Inc. | Sort operation in memory |
US9779784B2 (en) | 2014-10-29 | 2017-10-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9747960B2 (en) | 2014-12-01 | 2017-08-29 | Micron Technology, Inc. | Apparatuses and methods for converting a mask to an index |
US10073635B2 (en) | 2014-12-01 | 2018-09-11 | Micron Technology, Inc. | Multiple endianness compatibility |
GB2533393A (en) * | 2014-12-19 | 2016-06-22 | Ibm | Pad encoding and decoding |
US10061590B2 (en) | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
US10032493B2 (en) | 2015-01-07 | 2018-07-24 | Micron Technology, Inc. | Longest element length determination in memory |
US9583163B2 (en) | 2015-02-03 | 2017-02-28 | Micron Technology, Inc. | Loop structure for operations in memory |
US9898253B2 (en) | 2015-03-11 | 2018-02-20 | Micron Technology, Inc. | Division operations on variable length elements in memory |
US10146537B2 (en) | 2015-03-13 | 2018-12-04 | Micron Technology, Inc. | Vector population count determination in memory |
US10049054B2 (en) | 2015-04-01 | 2018-08-14 | Micron Technology, Inc. | Virtual register file |
US10140104B2 (en) | 2015-04-14 | 2018-11-27 | Micron Technology, Inc. | Target architecture determination |
US9959923B2 (en) | 2015-04-16 | 2018-05-01 | Micron Technology, Inc. | Apparatuses and methods to reverse data stored in memory |
US9704541B2 (en) | 2015-06-12 | 2017-07-11 | Micron Technology, Inc. | Simulating access lines |
US9921777B2 (en) | 2015-06-22 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for data transfer from sensing circuitry to a controller |
US9996479B2 (en) | 2015-08-17 | 2018-06-12 | Micron Technology, Inc. | Encryption of executables in computational memory |
US9647685B1 (en) * | 2016-09-14 | 2017-05-09 | Federal Express Corporation | Data compression |
-
2017
- 2017-04-25 US US15/496,886 patent/US10942843B2/en active Active
-
2018
- 2018-04-25 WO PCT/US2018/029295 patent/WO2018200630A1/en unknown
- 2018-04-25 CN CN201880027807.0A patent/CN110574013B/zh active Active
- 2018-04-25 EP EP18791111.0A patent/EP3616067B1/en active Active
-
2021
- 2021-03-05 US US17/194,020 patent/US11494296B2/en active Active
-
2022
- 2022-09-28 US US17/955,371 patent/US12117929B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1445679A (zh) * | 2002-03-20 | 2003-10-01 | 精工爱普生株式会社 | 多维存储器的数据传送装置、传送程序以及传送方法 |
WO2016126478A1 (en) * | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for memory device as a store for program instructions |
TW201643872A (zh) * | 2015-02-06 | 2016-12-16 | 美光科技公司 | 用於記憶體器件之裝置及方法以作為程式化指令之一儲存 |
TW201703033A (zh) * | 2015-03-11 | 2017-01-16 | 美光科技公司 | 藉由記憶體中向量之元素之資料移位 |
WO2016191191A1 (en) * | 2015-05-28 | 2016-12-01 | Micron Technology, Inc. | Apparatuses and methods for compute enabled cache |
Also Published As
Publication number | Publication date |
---|---|
CN110574013A (zh) | 2019-12-13 |
US20230028372A1 (en) | 2023-01-26 |
US10942843B2 (en) | 2021-03-09 |
US20180307595A1 (en) | 2018-10-25 |
WO2018200630A1 (en) | 2018-11-01 |
US11494296B2 (en) | 2022-11-08 |
EP3616067B1 (en) | 2024-04-17 |
US20210191848A1 (en) | 2021-06-24 |
US12117929B2 (en) | 2024-10-15 |
EP3616067A1 (en) | 2020-03-04 |
EP3616067A4 (en) | 2021-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12050536B2 (en) | Apparatuses and methods for compute enabled cache | |
CN108541313B (zh) | 虚拟寄存器堆 | |
CN107408404B (zh) | 用于存储器装置的设备及方法以作为程序指令的存储 | |
US10540093B2 (en) | Multidimensional contiguous memory allocation | |
CN107408405B (zh) | 用于并行写入到多个存储器装置位置的设备及方法 | |
US11494078B2 (en) | Translation lookaside buffer in memory | |
KR20190130664A (ko) | 텐서 메모리 액세스를 촉진할 수 있는 메모리 디바이스 및 방법 | |
US12117929B2 (en) | Memory shapes | |
US20240354254A1 (en) | Apparatuses and methods for compute enabled cache |
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: 20240307 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. |