CN108713196A - 使用位向量运算装置进行的数据传送 - Google Patents
使用位向量运算装置进行的数据传送 Download PDFInfo
- Publication number
- CN108713196A CN108713196A CN201780012224.6A CN201780012224A CN108713196A CN 108713196 A CN108713196 A CN 108713196A CN 201780012224 A CN201780012224 A CN 201780012224A CN 108713196 A CN108713196 A CN 108713196A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- dte
- bit vector
- 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.)
- Granted
Links
- 239000013598 vector Substances 0.000 title claims abstract description 41
- 230000005540 biological transmission Effects 0.000 title claims abstract 5
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000013501 data transformation Methods 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims description 18
- 239000000872 buffer Substances 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000017105 transposition Effects 0.000 claims description 2
- 230000009466 transformation Effects 0.000 claims 4
- 239000004744 fabric Substances 0.000 claims 1
- 230000000295 complement effect Effects 0.000 description 31
- 238000012546 transfer Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000006880 cross-coupling reaction Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Dram (AREA)
Abstract
本发明的实例提供用于直接数据传送的设备及方法。实例性方法包括:在第一装置与第二装置之间传送数据,其中所述第一装置是位向量运算装置;及当在所述第二装置与第一存储器装置之间传送所述数据时,使用数据变换引擎DTE通过重新布置所述数据来变换所述数据,以使所述数据能够存储在所述第一装置上。
Description
技术领域
本发明大体上涉及半导体存储器设备及方法,且更特定来说,涉及与使用位向量运算装置进行数据传送相关的设备及方法。
背景技术
存储器装置通常提供为计算机或其它电子系统中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器可需要电力来维持其数据(例如,主机数据、错误数据等),且尤其包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)及晶闸管随机存取存储器(TRAM)。非易失性存储器可通过在未被供电时保留所存储数据来提供持久性数据,且可尤其包含NAND快闪存储器、NOR快闪存储器及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)及磁阻式随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STT RAM)。
电子系统通常包含多个处理资源(例如,一或多个处理器),所述多个处理资源可检索及执行指令且将所执行指令的结果存储到合适位置。处理器可包括例如可执行指令以对数据(例如,一或多个操作数)执行逻辑运算(例如AND、OR、NOT、NAND、NOR及XOR逻辑运算)的多个功能单元(例如,本文中称为功能单元电路,例如算术逻辑单元(ALU)电路、浮点单元(FPU)电路及/或组合逻辑块)。
将指令提供到功能单元电路以供执行可涉及电子系统中的多个组件。例如,可由处理资源(例如控制器及/或主机处理器)生成指令。可将数据(例如,将对其执行指令以执行逻辑运算的操作数)存储在可由功能单元电路存取的存储器阵列中。在功能单元电路开始对数据执行指令之前,可从存储器阵列检索指令及/或数据且对指令及/或数据进行定序及/或缓冲。此外,由于可通过功能单元电路在一或多个时钟周期中执行不同类型的运算,所以还可对运算的中间结果及/或数据进行定序及/或缓冲。
在许多实例中,处理资源(例如,处理器及/或相关联功能单元电路)可在存储器阵列外部,且可经由处理资源与存储器阵列之间的总线存取数据以执行指令。数据可经由总线从存储器阵列移动到存储器阵列外部的装置。
附图说明
图1A是根据本发明的多个实施例的呈包含耦合到存储器装置的装置的系统的形式的设备的框图。
图1B是根据本发明的多个实施例的呈包含耦合到存储器装置的装置的系统的形式的设备的另一框图。
图2是说明根据本发明的多个实施例的在装置之间交换的数据包中包含的信息的框图。
图3A到3B是说明根据本发明的多个实施例的感测电路的示意图。
图4说明根据本发明的多个实施例的存储器阵列的部分的示意图。
具体实施方式
本发明的实例提供用于直接数据传送的设备及方法。方法的实例包括:在第一装置与第二装置之间传送数据,其中第一装置是位向量运算装置;及当在第二装置与第一存储器装置之间传送数据时,使用数据变换引擎(DTE)通过重新布置数据来变换数据以使数据能够存储在第一装置上。
在多个实施例中,存储器装置(例如位向量运算装置(例如,存储器中处理(PIM)装置)与另一计算装置之间的数据传送可直接进行而无需通过单独主机连接。如本文中所使用,计算装置希望包含存储装置、网络装置及/或另一存储器装置等。存储装置的实例可包含廉价存储(RAID)装置冗余阵列等。联网装置的实例可包含交换机、路由器等。PIM装置与另一装置之间的直接数据传送可避免需要存储数据的中间副本以促进两个装置之间(例如操作系统高速缓冲存储器中)的数据传送,这可提供数据传送速率的增大。
在多个实施例中,通过在数据包中(例如,在包报头中)包含信息,可在PIM装置与另一装置(例如,服务器、存储装置及/或网络装置)之间直接传送数据。在各种实施例中,信息可呈指示符(例如,旗标)的形式,且包含关于数据及发送/接收数据的装置的信息。在一或多个实施例中,如本文中所使用,指示符(也称为旗标)希望意指数据包中被设置为特定状态且可由数据变换引擎(DTE)读取以指示状态或其它信息(例如,数据大小信息、位向量形状信息、发送/接收装置信息等)的一或多个位,所述DTE是呈固件(例如,呈微代码指令的形式)及/或硬件(例如,晶体管电路及/或专用集成电路(ASIC))的形式的逻辑。旗标中的信息可由数据变换引擎(DTE)用来变换数据以存储在将接收所述数据的装置上。可由DTE检测、接收及/或操作旗标以在PIM装置与连接(例如,总线、无线或其它网络连接等)上的另一装置之间直接传送相关联数据。在各种实施例中,在数据传送期间,可经由数据变换引擎变换数据。
在本发明的下文详细描述中,参考形成本发明的部分的附图,且其中通过说明来展示可如何实践本发明的一或多个实施例。足够详细地描述这些实施例以使所属领域的一般技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且在不脱离本发明的范围的情况下,可进行过程改变、电改变及/或结构改变。如本文中所使用,“多个”特定事物可指此类事物中的一或多者(例如,多个存储器阵列可指一或多个存储器阵列)。
本文中的图遵循编号惯例,其中第一个数字或前几个数字对应于附图编号且剩余数字识别附图中的元件或组件。可通过使用类似数字来识别不同图之间的类似元件或组件。例如,270可指代图2中的元件“70”,且类似元件可在图3中指代为370。将明白,可添加、交换及/或消除本文中的各种实施例中所展示的元件以便提供本发明的多个额外实施例。另外,将明白,图中所提供的元件的比例及相对尺度希望说明本发明的某些实施例,且不应被视为具有限制意义。
图1A是根据本发明的多个实施例的呈计算系统100的形式的设备的框图,计算系统100包含耦合到另一装置105的存储器装置120。如上所述,装置105可包含存储装置、联网装置、另一存储器装置、服务器、主机等。在图1A的实例性实施例中,装置105可包含通道控制器143,通道控制器143具有数据变换引擎(DTE)161及用来存储指令及/或数据的一或多个本地缓冲器161。如图1A中所展示,存储器装置120可包含经耦合到存储器单元阵列130的控制器140、感测电路150、逻辑170等。如本文中所使用,存储器装置120、控制器140、存储器阵列130、感测电路150及逻辑电路170、通道控制器143及数据变换引擎(DTE)也可单独被视为“设备”。
系统100包含装置105,装置105经耦合(例如,经连接)到具有存储器阵列130的存储器装置120。装置105可为网络装置、存储装置、另一存储器装置及/或主机系统,例如个人膝上型计算机、台式计算机、数码相机、智能手机或存储卡读卡器以及各种其它类型的主机当中。装置105可包含系统主板及/或背板且可包含多个处理资源(例如,一或多个处理器、微处理器或某种其它类型的控制电路)。实施例不限于这些实例。
在各种实施例中,存储器装置120可为位向量运算装置(例如,存储器中处理(PIM)装置)。系统100可包含单独集成电路,或装置105及存储器装置120两者可位于相同集成电路上。系统100可为例如服务器系统及/或高性能计算(HPC)系统及/或其部分。尽管图1A及1B中所展示的实例说明具有冯·诺依曼架构的系统,但本发明的实施例可在可不包含通常与冯·诺依曼架构相关联的一或多个组件(例如,CPU、ALU等)的非冯·诺依曼架构中实施。
为清楚起见,已简化系统100以集中于与本发明特别相关的特征。例如,存储器阵列130可为DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪存储器阵列及/或NOR快闪存储器阵列。阵列130可包含布置成通过存取线(本文中可称为字线或选择线)耦合的行及通过感测线(本文中可称为数据线或数字线)耦合的列的存储器单元。尽管图1A中展示单个阵列130,但实施例不限于此。例如,存储器装置120可包含多个阵列130(例如,DRAM单元、NAND快闪单元等的多个库)。
存储器装置120包含地址电路142,地址电路142用来锁存通过I/O电路144经由总线156(例如,I/O总线)提供的地址信号。可通过高速接口(HSI)将状态及/或异常信息从存储器装置120上的存储器控制器140提供到通道控制器143,包含另一装置上的DTE161。HSI可包含带外总线157。地址信号通过地址电路142接收且由行解码器146及列解码器152解码以存取存储器阵列130。还可将地址信号提供到控制器140。通过使用感测电路150来感测数据线上的电压及/或电流变化,可从存储器阵列130读取数据。感测电路150可从存储器阵列130读取及锁存一页(例如,行)数据。I/O电路144可用于通过数据总线156与装置105进行双向数据通信。写入电路148用来将数据写入到存储器阵列130。
在图1A的实例性实施例中,装置105上的通道控制器143可包含数据变换引擎(DTE)161。然而,实施例不限于与通道控制器143相关联的DTE 161。例如,数据变换引擎161可包含呈固件(例如,微代码指令)及/或硬件(例如,晶体管电路及/或一或多个专用集成电路(ASIC))的形式的逻辑,所述逻辑经配置以变换(例如,重新布置)在存储器装置120与另一装置105之间传送的数据。在各种实施例中,数据变换引擎161可尤其包含转置引擎、地址定序引擎及/或数据重排引擎以变换在装置之间传送的数据。数据可直接在存储器装置120与另一装置105(例如,存储装置、网络装置等)之间传送,以减少或消除操作系统或用户制作数据的中间副本的需要。例如,存储器中处理(PIM)装置中的数据可作为“位向量”在PIM装置上操作且存储在PIM装置中。如本文中所使用,术语“位向量”希望意指存储器中的物理上连续的多个位,无论是在存储器单元阵列中(例如,在动态随机存取存储器(DRAM)阵列中)的行(例如,水平定向)还是列(例如,垂直定向)中物理上连续。位向量可包含数字元素,每一元素包括位向量中的多个位的部分。
在位向量运算装置中,位向量可与存储器库连续地水平(例如,呈行)或垂直地(例如,呈列呈)布置,这与可使跨多个存储器库的数据子集交错的其它存储器存储装置形成对照。在各种实施例中,本文中所描述的设备及方法可将数据从PIM动态随机存取存储器(DRAM)装置120流式传输到用于数据存储、联网、流式传输等的其它装置105,且反之亦然。为实现相同目的,由数据变换引擎161变换数据,因此数据呈准备存储在接收数据的装置中的布置(例如,顺序)。以这种方式,可减少DRAM的使用且改善系统性能。例如,无需将数据复制到操作系统的文件高速缓冲存储器(“文件缓冲器高速缓冲存储器”)或操作系统的网络高速缓冲存储器或从操作系统的文件高速缓冲存储器(“文件缓冲器高速缓冲存储器”)或操作系统的网络高速缓冲存储器复制数据。另外,数据的复制无需作为变换到或来自PIM存储器的数据(例如,垂直存储数据或水平存储数据)的中间步骤来进行。
在各种实施例中,数据变换引擎161可接收及操作指示符(例如,旗标),所述指示符包含关于数据、发送数据的装置及接收数据的装置的信息。基于旗标中的信息,数据变换引擎161可将数据从允许数据存储在发送数据的装置中的顺序重排到将允许接收数据的装置存储数据的顺序。以这种方式,数据变换引擎161允许数据以不同数据格式在存储器装置之间直接传送,而不必存储数据的中间副本,例如在操作系统高速缓冲存储器中。在多个实施例中,存储器装置之间的直接数据传送可被实施为应用程序接口(API)。
存储器控制器140(例如,库控制逻辑及/或定序器)解码通过控制总线154从装置105提供的信号。这些信号可包含用来控制对存储器阵列130执行的操作(包含数据读取、数据写入及数据擦除操作)的芯片启用信号、写入启用信号及地址锁存信号。在各种实施例中,存储器控制器140负责执行来自装置105的指令及定序对阵列130的存取。存储器控制器140可为状态机、定序器或某种其它类型的控制器。控制器140可根据本文中所描述的多个实施例控制在阵列(例如,存储器阵列130)中移位数据(例如,右移或左移)以及转置数据。
根据各种实施例,图1A中所展示的感测电路150的实例可包括多个感测放大器及多个对应计算组件,所述计算组件可用作累加器且可在本文中称为累加器并且可用来(例如,对与互补数据线相关联的数据)执行逻辑运算。
在多个实施例中,感测电路150可用来使用存储在阵列130中的数据作为输入来执行逻辑运算且将逻辑运算的结果存储回到阵列130,而无需经由感测线地址存取传送数据(例如,无需触发列解码信号)。因而,各种计算功能可使用感测电路150且在感测电路150内执行,而非(或关联于)由所述感测电路外部的处理资源(例如,由与主机、另一装置105、及/或位于控制器140上或存储器装置120上的其它地方的其它处理电路(例如ALU电路)相关联的处理资源)来执行。
在各种先前方法中,例如,与操作数相关联的数据将经由感测电路从存储器读取且经由I/O线(例如,经由本地I/O线及/或全局I/O线)提供到外部ALU电路。外部ALU电路可包含多个寄存器且将使用操作数来执行计算功能,且结果将经由I/O线传送回阵列。相反,在本发明的多个实施例中,感测电路150经配置以对存储在存储器阵列130中的数据执行逻辑运算且将结果存储回到存储器阵列130,而无需启用耦合到感测电路150的I/O线(例如,本地I/O线)。感测电路150可与阵列的存储器单元形成有节距。额外逻辑电路170可经耦合到感测电路150且可用来存储(例如,高速缓冲存储及/或缓冲)本文中所描述的运算的结果。
因而,在多个实施例中,阵列130及感测电路150外部的电路无需执行计算功能,因为感测电路150可在不使用外部处理资源的情况下执行适当逻辑运算以执行此类计算功能。因此,感测电路150可用来补充及/或至少在某种程度上替换此外部处理资源(或至少此外部处理资源的带宽消耗)。
然而,在多个实施例中,感测电路150可用来执行除由外部处理资源(例如,在主机或另一装置105上)执行的逻辑运算外的逻辑运算(例如,以执行指令)。例如,主机、另一装置105及/或感测电路150可限于仅执行某些逻辑运算及/或一定数目的逻辑运算。
启用I/O线可包含启用(例如,接通)具有耦合到解码信号(例如,列解码信号)的栅极及耦合到I/O线的源极/漏极的晶体管。然而,实施例不限于不启用I/O线。例如,在多个实施例中,感测电路(例如,150)可用来执行逻辑运算而无需启用阵列的列解码线;然而,可启用本地I/O线以便将结果传送到合适位置(例如,到外部寄存器)而非传送回到阵列130。
图1B是呈计算系统100的形式的另一设备的框图,计算系统100包含通过例如可能存在于分布式计算系统中的网络耦合到另一装置105的多个存储器装置120-1、...、120-N。例如,另一装置105可为主机服务器、网络装置、存储装置等。各种网络链路可将多个存储器装置120-1、...、120-N连接到装置105。例如,路由逻辑可包含用来在装置105与多个存储器装置120-1、...、120-N之间进行链接的纵横式开关逻辑。
在至少一个实施例中,通道控制器143可以集成方式呈模块118的形式耦合到多个存储器装置120-1、..、120-N(例如,与多个存储器装置120-1、...、120-N形成在相同芯片上)。在替代实施例中,通道控制器143可与装置105集成,如由虚线111所说明(例如,形成在与多个存储器装置120-1、...、120-N分离的芯片上)。
在一些实施例中,通道控制器143可经由如图1A中所描述的控制总线154耦合到多个存储器装置120-1、...、120-N中的每一者,控制总线154又可经耦合到装置105。通道控制器143还可经由如图1A中所描述的控制总线156耦合到多个存储器装置120-1、...、120-N中的每一者,控制总线156又可经耦合到装置105。另外,通道控制器143可经由与高速接口(HSI)141相关联的带外(OOB)总线157耦合到多个存储器装置120-1、...、120-N中的每一者,高速接口(HSI)141经配置以向通道控制器143报告状态、异常及其它信息(例如,数据),以与装置105进行交换。
在图1B的实例性实施例中,在模块118上展示通道控制器143、数据变换引擎(DTE)及缓冲器171。根据实施例,数据变换引擎161用来变换在多个存储器装置120-1、.....、120-N与另一装置105之间传送的数据。
如图1B中所展示,通道控制器143及DTE 161可经耦合到高速接口(HSI)141,高速接口(HSI)141与多个存储器装置120-1、...、120-N中的每一者中的库仲裁器145相关联。在图1B的实例中,多个存储器装置120-1、...、120-N中的每一者可包含库仲裁器145,库仲裁器145用来定序多个库(例如,库零(0)121-0、库一(1)121-1、...、库六(6)121-6、库七(7)121-7等)的控制及数据。多个库121-0到121-7(通常称为库121)中的每一者可包含存储器控制器140及其它组件,包含存储器单元阵列130及感测电路150、外围逻辑170等,如结合图1A所描述。多个存储器装置120-1、…、120-N中的多个库121中的每一者可包含如结合图1A所描述的电路。
在各种实施例中,通道控制器143可包含用来存储程序指令的一或多个本地缓冲器171,且可包含用来在每一相应库阵列中分配多个位置(例如,子阵列)以存储与多个存储器装置120-1、...、120-N中的每一者的操作相关联的各个库的库命令、参数及/或数据的逻辑。通道控制器143可将命令分派给多个存储器装置120-1、...、120-N以将程序指令及/或数据存储在存储器装置的给定库内。
如在图1A中,与给定存储器装置120-1、...、120-N中的任何特定库121相关联的控制器140(例如,库控制逻辑及/或定序器)可解码通过控制总线154从主机或另一装置105提供的信号。这些信号可包含用来控制对存储器阵列130执行的操作的芯片启用信号、写入启用信号及地址锁存信号,所述操作包含数据读取、数据写入及数据擦除操作。在各种实施例中,控制器140可负责执行来自主机或另一装置105的指令。根据实施例,控制器140可为状态机、定序器或某种其它类型的控制器。因而,控制器140可控制阵列(例如,存储器阵列130)中的移位数据(例如,右移或左移),及/或存储器中处理(PIM)装置120上的定序逻辑布尔运算。
图2是可由例如图1A及1B中所展示的数据变换引擎(DTE)接收及操作的指示符280(例如,旗标)的框图。如上所述,指示符280(例如,旗标)可为呈设置为特定状态且包含在数据包的特定部分(例如,字段)内的一或多个位的形式的信息。根据本发明的多个实施例,指示符280中包含的信息可包含装置信息282、数据形状信息284、数据大小信息286及装置源/目的地流信息288。例如,指示符280中的信息可包含与数据包一起在PIM存储器装置(例如,120)与另一存储器、网络、存储装置及/或主机装置(例如,105)之间传送的旗标,如图1A及1B中所展示。
在各种实施例中,装置信息282可识别位向量运算装置(例如,PIM装置)及/或其它装置(例如,发送及/或接收装置)的类型及特性。形状信息284可识别给定装置(例如,PIM装置)如何存储数据。例如,PIM装置可将数据存储在水平位向量、垂直位向量、对角线位向量及/或这些向量的组合中。因此,如本文中所使用,位向量的“形状”希望意指表示相对于PIM装置中位向量存储的垂直及/或水平定向的范围的信息。大小信息286可识别位长度。例如,大小信息286可为PIM装置中的一或多个位向量的连续位数目,例如,在位向量中存储多少位。流信息288可识别指示哪一数据从装置(例如,从存储器、网络、主机等)传送到PIM装置或反之亦然的方向。因此,根据实施例,指示符280可由DTE的逻辑来操作,以在存储装置、网络、主机或其它存储器装置等与PIM装置之间的数据传送中布置数据。例如,数据变换引擎可使用指示符280中的信息来变换来自存储装置、网络或其它连接装置的数据以存储在PIM装置中。
在操作的一些实施例中,本文中所描述的设备及方法可涉及指定数据的“形状”,例如位向量形状,因为其将存储在PIM装置中。例如,用户可指定指示数据垂直存储在PIMDRAM装置的每列的一定数目的连续位中的“形状”。实施例不限于这个实例。这个规范可通过提供明确定义的数据组织来帮助用户存取PIM DRAM中的数据。另外,此指定形状可由与DTE相关联的另一装置(例如,105)用来从PIM DRAM接收数据且识别数据在PIM DRAM中的定向。例如,使用本文中所描述的设备及方法可允许数据经由网络连接直接传送到具有水平或垂直布置存储的PIM装置或从具有水平或垂直布置存储的PIM装置直接传送。
根据各种实施例,本文中所描述的设备及方法可经暴露以经由共享程序库(例如,动态加载内核模块(DLKM)等)将软件(例如,机器/计算机可执行指令)用作应用程序接口(API)。应注意,如本文中所使用,术语“引擎”希望意指硬件及/或软件,但至少是呈实施为晶体管电路及/或一或多个专用集成电路(ASIC)的逻辑的形式的硬件。如本文所使用的术语“模块”希望意指软件及/或硬件,且至少是可由处理资源执行的机器/计算机可执行指令的形式的软件。
在一或多个实施例中,API可允许用户及/或系统从另一装置105(例如,存储装置、网络装置等))检索数据及/或发送数据到另一装置105(直接从PIM装置(例如,120)进行)。例如,用户可向各种输入/输出(I/O)接口(例如Linux open()及fcntl())指定指示符280,例如一或多个旗标。后续I/O操作(例如read()或write())将直接从装置105存取数据且将数据分配在用户指定的PIM装置120中。有利地,以这种方式,本文中所描述的设备及方法可允许绕过操作系统的文件系统缓冲器高速缓冲存储器且可有利地避免存储器间复制。
在实例性实施方案中,可通过以下API结构将设备及方法暴露给软件。一个实例可使用特定指示符280,例如由DLKM启用或以其它方式与Linux open()或fcntl()系统调用相关联的旗标。另一实例可使用提供为共享或存档软件程序库的API。在这个实例中,API可接受与由PIM DRAM使用的存储装置相关联的形状指示,例如定义。API另外可在指示符280中接受关于装置信息282、大小信息286及流信息288的信息,如本文中所描述。又一实例可使用上述信息与经分配以在PIM装置存储(例如,垂直及/或水平)中接受存储器的缓冲器的组合。
作为实例且非限制,结合本文中所描述的设备及方法使用的API可包含mcs_fread(pim_vert*ptr、pim_shape*shape、size_t、nelements、pim_file*stream)。在这个实例中,“ptr”可表示PIM装置120中的PIM存储器存储地址,例如垂直对齐。“Shape”可为关于存储在PIM装置中的数据的垂直及/或水平定向的范围的信息,例如对所传送位向量元素的定义。此外,“nelements”可表示将传送的元素的数目,其中大小信息另外包含在“shape”信息中。最后,在这个实例中,“stream”可为关于其中数据经传送到或从中传送数据的装置类型及/或特性的信息。然而,实施例不限于这个实例。
图3A是说明根据本发明的多个实施例的能够实施多个逻辑运算的感测电路的示意图。图3A说明耦合到相应互补感测线对305-1及305-2的多个感测放大器306以及经由通过门307-1及307-2耦合到感测放大器306的多个对应计算组件331。例如,图3A中所展示的感测放大器306及计算组件331可对应于图1中所展示的感测电路150。图3A中所展示的感测电路包含可如下文进一步描述那样操作的逻辑运算选择逻辑313。
尽管未展示,但存储器单元经耦合到互补感测线对305-1及305-2(例如,列)。存储器单元可为例如各自包括存储元件(例如,电容器)及存取装置(例如,晶体管)的1T1C DRAM单元。例如,存储器单元可包括晶体管及电容器。在多个实施例中,存储器单元可为破坏性读取存储器单元(例如,读取存储在单元中的数据破坏数据使得在读取之后刷新最初存储在单元中的数据)。存储器阵列的单元可经布置成通过字线耦合的行及通过互补数据线对DIGIT(n-1)/DIGIT(n-1)_、DIGIT(n)/DIGIT(n)_、DIGIT(N+1)/DIGIT(N+1)_耦合的列。对应于每一互补数据线对的个别数据线也可分别称为数据线305-1(D)及305-2(D_)。尽管在图3A中仅展示三对互补数据线(例如,三列),但本发明的实施例不限于此,且存储器单元阵列可包含额外存储器单元及/或数据线列(例如,4,096、8,192、16,384等)。
存储器单元可经耦合到不同数据线及/或字线。例如,存储器单元的存取晶体管的第一源极/漏极区可经耦合到数据线305-1(D),存储器单元的存取晶体管的第二源极/漏极区可经耦合到存储器单元的电容器,且存储器单元的存取晶体管的栅极可经耦合到存储器阵列的字线。
如图3A中所展示,感测电路可包含感测放大器306、计算组件331及对应于相应存储器单元列(例如,经耦合到相应互补数据线对)的逻辑运算选择逻辑313。感测放大器306可包括例如交叉耦合锁存器,其在本文中可称为主锁存器。例如,感测放大器306可如关于图3B所描述那样配置。
在图3A中所说明的实例中,对应于计算组件331的电路经配置为可加载移位寄存器。例如,每一计算组件331包括:锁存器,其可在本文中称为辅助锁存器;及额外数目的晶体管,其可操作以向右及/或向左(例如,向相邻计算组件331的锁存器)传送(例如,移位)数据值。如本文中进一步描述,在多个实施例中,计算组件331的锁存器可用作累加器。因而,计算组件331可操作为及/或可在本文中称为累加器。
通过门307-1及307-2的栅极可受逻辑运算选择逻辑信号Pass控制。例如,逻辑运算选择逻辑313的输出可经耦合到通过门307-1及307-2的栅极,如图3A中所展示。
图3A中所展示的感测电路还展示耦合到多个逻辑选择控制输入控制线的逻辑运算选择逻辑313,所述逻辑选择控制输入控制线包含ISO、TF、TT、FT及FF。当经由ISO控制信号被断言而启用隔离晶体管(例如,350-1及350-2)时,从逻辑选择控制输入控制线上的逻辑选择控制信号的条件以及互补感测线对305-1及305-2上存在的数据值确定从多个逻辑运算选择逻辑运算。
根据各种实施例,逻辑运算选择逻辑313可包含四个逻辑选择晶体管:逻辑选择晶体管362,其经耦合在交换晶体管342的栅极与TF信号控制线之间;逻辑选择晶体管352,其经耦合在通过门307-1及307-2的栅极与TT信号控制线之间;逻辑选择晶体管354,其经耦合在通过门307-1及307-2的栅极与FT信号控制线之间;及逻辑选择晶体管364,其经耦合在交换晶体管342的栅极与FF信号控制线之间。逻辑选择晶体管362及352的栅极通过隔离晶体管350-1(具有耦合到ISO信号控制线的栅极)耦合到真感测线。逻辑选择晶体管364及354的栅极通过隔离晶体管350-2(也具有耦合到ISO信号控制线的栅极)耦合到互补感测线。
互补感测线对305-1及305-2上存在的数据值可经由通过门307-1及307-2加载到计算组件331中。当通过门307-1及307-2开启时,互补传感线对305-1及305-2上的数据值经传递到计算组件331且由此经加载到可加载移位寄存器中。当启用(例如,触发)感测放大器时,互补感测线对305-1及305-2上的数据值可为存储在感测放大器306中的数据值。激活逻辑运算选择逻辑信号Pass以开启(例如,接通)通过门307-1及307-2。
ISO、TF、TT、FT及FF控制信号可操作以基于感测放大器306中的数据值(“B”)及计算组件331中的数据值(“A”)(例如,如本文中所使用,存储在感测放大器的锁存器中的数据值称为“B”数据值,且存储在计算组件的锁存器中的数据值称为“A”数据值)来选择要实施的逻辑运算。特定来说,ISO、TF、TT、FT及FF控制信号经配置以独立于互补感测线对305-1及305-2上存在的数据值来选择要实施的逻辑运算(例如,功能)(尽管所实施逻辑运算的结果可取决于互补传感线对305-1及305-2上存在的数据值)。即,由于互补传感线对305-1及305-2上存在的数据值未被传递通过逻辑以操作通过门307-1及307-2的栅极,所以ISO、TF、TT、FT及FF控制信号直接选择要实施的逻辑运算。
另外,图3A展示交换晶体管342,其经配置以在感测放大器306与计算组件331之间交换互补感测线对305-1及305-2的定向。例如,当交换晶体管342开启(例如,接通)时,交换晶体管342的感测放大器306侧上的互补感测线对305-1及305-2上的数据值相对地耦合到交换晶体管342的计算组件331侧上的互补感测线对305-1及305-2,且由此以互补方式加载到计算组件331的可加载移位寄存器中。
作为实例,当激活ISO控制信号线且激活TT控制信号(例如,高)(其中真感测线上的数据值是“1”)或激活FT控制信号(例如,高)(其中互补感测线上的数据值是“1”)时,可激活逻辑运算选择逻辑信号Pass(例如,高)以开启(例如,接通)通过门307-1及307-2。
真感测线上的数据值是“1”开启逻辑选择晶体管352及362。互补感测线上的数据值是“1”开启逻辑选择晶体管354及364。如果ISO控制信号或相应TT/FT控制信号或对应感测线(例如,特定逻辑选择晶体管的栅极所耦合到的感测线)上的数据值非高,那么特定逻辑选择晶体管将不开启通过门307-1及307-2。
当激活ISO控制信号线且激活TT控制信号(例如,高)(其中真感测线上的数据值是“1”)或激活FT控制信号(例如,高)(其中互补感测线上的数据值是“1”)时,可激活逻辑运算选择逻辑信号Pass*(例如,高)以开启(例如,接通)交换晶体管342。如果相应控制信号或对应感测线(例如,特定逻辑选择晶体管的栅极所耦合到的感测线)上的数据值非高,那么特定逻辑选择晶体管将不开启交换晶体管342。
图3A中所说明的感测电路经配置以直接从四个逻辑选择控制信号选择要实施的多个逻辑运算中的一者(例如,逻辑运算选择不取决于互补感测线对上存在的数据值)。逻辑选择控制信号的一些组合可引起通过门307-1及307-2以及交换晶体管342同时开启(例如,导通),这使互补感测线对305-1及305-2短接在一起。尽管图3A中未展示,但每一存储器单元列可经耦合到列解码线,所述列解码线可经激活以经由本地I/O线将数据值从对应感测放大器306及/或计算组件331传送到阵列外部的控制组件,例如外部处理资源(例如,主机处理器及/或其它功能单元电路)。列解码线可经耦合到列解码器。然而,如本文中所描述,在多个实施例中,无需经由此类I/O线传送数据以执行根据本发明的实施例的逻辑运算。例如,在多个实施例中,移位电路可结合感测放大器306及计算组件331操作以执行逻辑运算,而无需将数据传送到阵列外部的控制组件。如本文中所使用,传送数据(其也可称为移动数据)是包含性术语,其可包含例如将数据从源位置复制到目的地位置及/或将数据从源位置移动到目的地位置,而无需在源位置处维持数据的副本。
如上所述,计算组件331可包括可加载移位寄存器。在这个实例中,每一计算组件331经耦合到对应互补数据线对305-1/305-2,其中节点ST2经耦合到传达“真”数据值的特定数据线(例如,DIGIT(n))且节点SF2经耦合到传达互补数据值(例如,“假”数据值)的对应互补数据线(例如,DIGIT(n)_)。
在这个实例中,可加载移位寄存器包括:特定计算组件331的第一右移晶体管381,其具有耦合到第一右移控制线382(例如,相位1R)的栅极;及特定计算组件331的第二右移晶体管386,其具有耦合到第二右移控制线383(例如,相位2R)的栅极。特定控制组件的节点ST2经耦合到第一反相器387的输入,第一反相器387的输出(例如,节点SF1)经耦合到晶体管386的第一源极/漏极区。晶体管386的第二源极/漏极区经耦合到第二反相器388的输出(例如,节点SF2)。反相器388的输出(例如,节点ST1)经耦合到晶体管381的第一源极/漏极区,且特定计算组件331的晶体管381的第二源极/漏极区经耦合到相邻计算组件331的第一反相器387的输入(例如,节点ST2)。图3A中所展示的可加载移位寄存器包含耦合在特定计算组件的节点SF2与相邻计算组件331的节点SF1之间的第一左移晶体管389。图3A中所展示的可加载移位寄存器还包含特定计算组件331的第二左移晶体管390,第二左移晶体管390具有耦合到节点ST2的第一源极/漏极区及耦合到节点ST1的第二源极/漏极区。第一左移晶体管389的栅极经耦合到第一左移控制线391(例如,相位1L),且第二左移晶体管390的栅极经耦合到第二左移控制线492(例如,相位2L)。
在操作中,可将互补数据线对(例如,305-1/305-2)上的数据值加载到对应计算组件331中(例如,通过操作如上文所描述的逻辑运算选择逻辑)。作为实例,数据值可经由使用存储在对应感测放大器306中数据值覆写当前存储在计算组件331中的数据值来加载到计算组件331中。替代地,数据值可通过撤销激活控制线382、383、391及392加载到计算组件331中。
一旦数据值经加载到计算组件331中,便通过第一反相器387将“真”数据值与互补数据值分离。向右(例如,向相邻计算组件331)移位数据可例如经由相位1R及相位2R控制信号是彼此是异相地变高的周期性信号(例如,非重叠交替方波异相180)交替第一右移晶体管381及第二右移晶体管386的操作。可接通晶体管390以锁存所移位数据值。
图3A中所展示的经由移位寄存器向左移位数据的实例可包含操作控制信号391及392以通过晶体管389及390将数据值向左移动一个控制组件。来自节点ST2的数据通过反相器387反转到节点SF1。控制信号391的激活引起来自节点SF1的数据通过晶体管389向左移动到左相邻计算组件331的节点SF2。来自节点SF2的数据通过反相器388反转到节点ST1。控制信号392的后续激活引起来自节点ST1的数据通过晶体管390向左移动到节点ST2,这通过一个计算组件331完成左移。通过重复左移序列多次,数据可向左“冒泡”。通过维持控制信号392被激活,可锁存数据值(且防止进一步移位)。
本发明的实施例不限于关联计算组件331所描述的移位能力。例如,多个实施例包含除关联可加载移位电路所描述的移位电路外及/或代替关联可加载移位电路所描述的移位电路的移位电路。
图3A中的感测电路可在若干模式下操作以执行逻辑运算,包含其中逻辑运算的结果最初存储在感测放大器306中的第一模式及其中逻辑运算的结果最初存储在计算组件331中的第二模式。另外,关于第一操作模式,感测电路可在预感测模式(例如,在逻辑运算控制信号起作用之前触发感测放大器)及后感测模式(例如,在逻辑运算控制信号起作用之后触发感测放大器)两者下操作,其中逻辑运算的结果最初存储在感测放大器306中。
在多个实例中,感测放大器306及计算组件331可处于与第一模式及第二模式相关联的两种状态中的至少一者。如本文中所使用,感测放大器306及/或计算组件331的状态描述感测放大器306及/或计算组件331之间的数据传送。感测放大器306及计算组件331的状态也可被描述为感测组件的状态。感测组件的状态可基于感测放大器306是处于平衡状态还是存储数据值(例如,逻辑“0”或逻辑“1”)。即,感测放大器可经配置以处于初始状态,其中初始状态是平衡状态及数据存储状态中的一者。平衡状态包含感测放大器306处于平衡状态。数据存储状态包含感测放大器306存储数据值。如本文中所使用,数据值可称为位及/或数字值。响应于启用通过门(例如,经由在本文中称为逻辑运算选择逻辑的TF 362、TT352、FT 354及/或FF 364控制信号激活PASS及/或PASS*控制信号)且感测放大器306处于平衡状态,可将数据从计算组件331传送到感测放大器306。响应于启用通过门(例如,经由在本文中称为逻辑运算选择逻辑的TF 362、TT 352、FT 354及/或FF 364控制信号激活PASS及/或PASS*控制信号)且感测放大器306处于数据存储状态,可将数据从感测放大器306传送到计算组件331。感测放大器306与计算组件331之间的数据传送方向由在激活PASS及/或PASS*控制信号之前感测放大器306是处于平衡状态还是存储数据值及由经由逻辑运算选择逻辑(例如,TF 362、TT 352、FT 354及FF 364控制信号)选择的特定运算来确定。
例如,如果平衡感测放大器306且激活PASS及/或PASS*控制信号以在感测放大器306与计算组件331之间提供传导路径(例如,电连续性),那么可将存储在计算组件331中的数据值从计算组件331传送到感测放大器306。
如果感测放大器306经配置以存储第一位(例如,第一数据值)且激活PASS及/或PASS*控制信号以在感测放大器306与计算组件331之间提供传导路径,接着可由第一位替换在激活PASS及/或PASS*控制信号之前存储在计算组件331中的第二位(例如,第二数据值),且感测放大器306保留第一位。此外,可使用逻辑运算选择逻辑、使用第一位及第二位来执行多个运算,且可将运算的结果存储在计算组件331中。
使用平衡信号来引导感测放大器306与计算组件331之间的数据传送可提供在非平衡感测放大器中选择性地执行运算而不在平衡的感测放大器中执行所述运算的能力。即,可在多个感测组件中激活PASS及/或PASS*控制信号,以在第一组多个平衡感测放大器与第一组多个计算组件之间移动数据。还可激活PASS及/或PASS*控制信号以在第二组多个感测放大器与第二组多个非平衡组件组件之间移动数据,以在第二组感测组件中选择性地执行运算,而不在第一组感测组件上执行所述运算。
图3B说明根据本发明的多个实施例的感测电路的部分的示意图。根据各种实施例,感测放大器306可包括交叉耦合锁存器。然而,感测放大器306的实施例不限于交叉耦合锁存器。作为实例,图3B中的感测放大器306可为电流模式感测放大器及/或单端感测放大器(例如,耦合到一条数据线的感测放大器)。而且,本发明的实施例不限于折叠数据线架构。
在多个实施例中,感测放大器(例如,306)可包含与对应计算组件331的晶体管及/或其所耦合的阵列(例如,图3A中所展示的330)的存储器单元形成有节距的多个晶体管,其可符合特定特征大小(例如,4F2、6F2等)。感测放大器306包含锁存器315,锁存器315包含耦合到互补数据线对D 305-1及D_305-2的四个晶体管。锁存器315可为交叉耦合锁存器。即,晶体管对(例如n沟道晶体管(例如,NMOS晶体管)327-1及327-2)的栅极与另一晶体管对(例如p沟道晶体管(例如,PMOS晶体管)329-1及329-2)的栅极交叉耦合。如本文进一步描述,包括晶体管327-1、327-2、329-1及329-2的锁存器315可称为主锁存器。然而,实施例不限于这个实例。
可将相应数据线D及D_上的电压或电流提供到交叉耦合锁存器315的相应锁存器输入333-1及333-2(例如,主锁存器的输入)。在这个实例中,锁存器输入333-1经耦合到晶体管327-1及329-1的第一源极/漏极区以及晶体管327-2及329-2的栅极。类似地,锁存器输入333-2可经耦合到晶体管327-2及329-2的第一源极/漏极区以及晶体管327-1及329-1的栅极。计算组件331(其本文中可称为累加器)可如所展示那样耦合到交叉耦合锁存器315的锁存器输入333-1及333-2;然而,实施例不限于图3B中所展示的实例。
在这个实例中,晶体管327-1及327-2的第二源极/漏极区共同耦合到RnIF 328。晶体管329-1及329-2的第二源极/漏极区共同耦合到ACT信号365。ACT信号365可为电源电压(例如,VDD),且RnIF信号可为参考电压(例如,接地)。激活信号328及365启用交叉耦合锁存器315。
所启用交叉耦合锁存器315操作以放大锁存器输入333-1(例如,第一共同节点)与锁存器输入333-2(例如,第二共同节点)之间的差分电压,使得将锁存器输入333-1被驱动到ACT信号电压及RnIF信号电压中的一者(例如,到VDD及接地中的一者),且将锁存器输入333-2驱动到ACT信号电压及RnIF信号电压中的另一者。
感测放大器306还可包含经配置以平衡数据线D及D_的电路(例如,与使感测放大器准备好进行感测操作的相关联)。在这个实例中,平衡电路包括晶体管324,晶体管324具有耦合到晶体管325-1的第一源极/漏极区及数据线D 305-1的第一源极/漏极区。晶体管324的第二源极/漏极区可经耦合到晶体管325-2的第一源极/漏极区及数据线D_305-2。晶体管324的栅极可经耦合到晶体管325-1及325-2的栅极。
晶体管325-1及325-2的第二源极/漏极区经耦合到平衡电压338(例如,VDD/2),其可等于VDD/2,其中VDD是与阵列相关联的电源电压。晶体管324、325-1及325-2的栅极可经耦合到控制信号326(EQ)。因而,激活EQ启用晶体管324、325-1及325-2,这将数据线D有效地短接到数据线D_使得数据线D及D_平衡到平衡电压VDD/2。根据本发明的多个实施例,可使用感测放大器306及计算组件331来执行多个逻辑运算,且可将结果存储在感测放大器及/或计算组件中。
图3A中的感测电路350-2可在若干模式下操作以执行逻辑运算,包含其中逻辑运算的结果最初存储在感测放大器306中的第一模式及其中逻辑运算的结果最初存储在计算组件331中的第二模式。另外,关于第一操作模式,感测电路350-2可在预感测模式(例如,在逻辑运算控制信号起作用之前触发感测放大器)及后感测模式(例如,在逻辑运算控制信号起作用之后触发感测放大器)两者下操作,其中逻辑运算的结果最初存储在感测放大器306中。
如下文进一步描述,感测放大器306可结合计算组件331操作以使用来自阵列的数据作为输入而执行各种逻辑运算。在多个实施例中,可将逻辑运算的结果存储回到阵列而无需经由数据线地址存取传送数据(例如,而无需触发列解码信号使得数据经由本地I/O线传送到阵列及感测电路外部的电路)。因而,本发明的多个实施例可实现使用比各种先前方法更少的功率来执行各种运算(例如,逻辑运算、数学运算等)。另外,由于多个实施例消除跨I/O线传送数据以便执行运算(例如,在存储器与离散处理器之间)的需要,所以与先前方法相比,多个实施例可实现增加的并行处理能力。
图4说明根据本发明的多个实施例的存储器阵列430的部分的示意图。阵列430包含耦合到存取线行404-0、...、404-R及感测线列405-0、405-1、405-2、405-3、405-4、405-5、405-6、405-7、......、405-S的存储器单元(通常称为存储器单元403且更具体来说称为403-0到403-J)。存储器阵列430不限于特定数目的存取线及/或感测线,且术语“行”及“列”的使用不意指存取线及/或感测线的特定物理结构及/或定向。尽管未描绘,但每一存储器单元列可与对应互补感测线对(例如,图2A中的互补感测线205-1及205-2)相关联。
每一存储器单元列可经耦合到感测电路(例如,图1中所展示的感测电路150)。在这个实例中,感测电路包括耦合到相应感测线405-0、405-1、405-2、405-3、405-4、405-5、405-6、405-7、......、405-S的多个感测放大器406-0、406-1、406-2、406-3、406-4、406-5、406-6、406-7、...、406-U(通常称为感测放大器406)。感测放大器406经由存取装置(例如,晶体管)408-0、408-1、408-2、408-3、408-4、408-5、408-6、408-7、......、408-V耦合到输入/输出(I/O)线434(例如,本地I/O线)。在这个实例中,感测电路还包括耦合到相应感测线的多个计算组件431-0、431-1、431-2、431-3、431-4、431-5、431-6、431-7、......、431-X(通常称为计算组件431)。列解码线410-1到410-W分别耦合到晶体管408-1到408-V的栅极,且可选择性地经激活以将由相应感测放大器406-0到406-U感测及/或存储在相应计算组件431-0至431-X中的数据传送到二级感测放大器412。在多个实施例中,计算组件431可与其对应列的存储器单元及/或对应感测放大器406形成有节距。以这种方式,在包括16K列的阵列中,16K垂直存储数据元素可由对应16K 1位处理器并行处理。即,每一列可并行处理1位信息。
存储器单元403可存储多个位向量。例如,耦合到特定感测线405的存储器单元403可存储垂直位向量及/或水平位向量。例如,在图4中,耦合到感测线405-0且耦合到存取线404-0到404-R的存储器单元可存储具有R+1位的垂直位向量。而且,在图4中,耦合到存取线404-0及感测线405-0到405-S的存储器单元可存储具有S=1位的水平位向量。图4中的存储器单元403还可以多种配置存储位向量,例如垂直、水平、对角线及/或垂直、水平及/或对角线的组合(例如,位向量包含垂直、水平及/或对角线部分)。其中位向量经存储在存储器单元中的配置(例如,垂直、水平、对角线及/或垂直、水平及/或对角线的组合)可为数据形状。当将数据传送到存储器单元403及/或从存储器单元403传送数据时,可通过数据所包含的旗标识别数据形状。
尽管本文中已说明及描述具体实施例,但所属领域的一般技术人员将明白,经计算以达成相同结果的布置可替代所展示的具体实施例。本发明希望涵盖本发明的一或多个实施例的调适或变动。应理解,上文描述是以说明性而非限制性方式进行。在阅读上文描述后,上述实施例及本文中未具体描述的其它实施例的组合对于所属领域的技术人员来说将显而易见。本发明的一或多个实施例的范围包含其中使用上述结构及方法的其它应用。因此,应参考所附权利要求书连同本权利要求书所赋予的等效物的全部范围来确定本发明的一或多个实施例的范围。
在前述具体实施方式中,出于简化本发明的目的,将一些特征一起分组在单个实施例中。本发明方法不应被解释为反映希望本发明所揭示的实施例必须使用比每一权利要求中明确列举更多的特征。相反,如所附权利要求书所反映,发明标的物在于少于单个所揭示实施例的所有特征。因此,所附权利要求书在此并入具体实施方式中,其中每一权利要求自身作为单独实施例。
Claims (26)
1.一种方法,其包括:
在第一装置与第二装置之间传送数据,其中所述第一装置是位向量运算装置;及
当在所述第二装置与第一存储器装置之间传送所述数据时,使用数据变换引擎DTE通过重新布置所述数据来变换所述数据,以使所述数据能够存储在所述第一装置上。
2.根据权利要求1所述的方法,其中在所述第一装置与所述第二装置之间传送数据包括将数据从存储装置传送到存储器中处理PIM装置。
3.根据权利要求1所述的方法,其中在所述第一装置与所述第二装置之间传送数据包括将数据从网络装置传送到存储器中处理PIM装置。
4.根据权利要求1所述的方法,其中经由DTE变换所述数据包括当将所述数据从所述第一装置传送到所述第二装置时,重新布置所述数据以使所述数据能够存储在所述第二装置上。
5.根据权利要求1所述的方法,其中所述方法包含提供识别所述第一装置的类型及所述第二装置的类型的信息。
6.根据权利要求5所述的方法,其中:
经由所述DTE变换所述数据包括当将数据从所述第一装置传送到所述第二装置时,使用识别所述第一装置的所述类型及所述第二存储器装置的所述类型的所述信息来重新布置所述数据的位以存储在所述第二装置中。
7.根据权利要求5所述的方法,其中经由所述DTE变换所述数据包含当将数据从所述第二存储器装置传送到所述第一装置时,使用识别所述第一装置的所述类型及所述第二装置的所述类型的所述信息来重新布置所述数据的位以存储在所述第一装置中。
8.根据权利要求1到5中任一权利要求所述的方法,其中传送所述数据包括绕过操作系统高速缓冲存储器。
9.根据权利要求1到5中任一权利要求所述的方法,其中传送数据包括当变换所述数据时绕过存储所述数据的副本。
10.一种方法,其包括:
将数据从网络中的装置接收到数据变换引擎DTE;及
使用所述DTE通过重新布置所述所接收数据的位来变换所述所接收数据以存储在位向量运算装置上。
11.根据权利要求10所述的方法,其中变换所述所接收数据包含重新布置所述数据的位以垂直存储在所述位向量运算装置中。
12.根据权利要求10所述的方法,其中变换所述所接收数据包含重新布置数据的位以水平存储在所述位向量运算装置中。
13.根据权利要求10所述的方法,其中所述方法包含使用所述DTE及与所述所接收数据相关联的指示符来识别大小信息、形状信息、源装置信息及目的地装置信息。
14.根据权利要求10到13中任一权利要求所述的方法,其中所述方法包含当变换所述数据时,将所述经变换的所接收数据的部分存储在所述位向量运算装置中的多个缓冲器中。
15.根据权利要求10到13中任一权利要求所述的方法,其中将所述数据接收到所述DTE包括与所述数据一起接收一或多个旗标以将所述数据传送到所述位向量运算装置。
16.根据权利要求10到13中任一权利要求所述的方法,其中将所述数据接收到所述DTE包括从存储装置接收所述数据。
17.根据权利要求16所述的方法,其中接收所述数据且变换所述所接收数据包括绕过操作系统高速缓冲存储器以将所述数据传送到所述位向量运算装置。
18.一种方法,其包括:
将数据从位向量运算装置发送到装置;且
其中发送所述数据包括使用数据变换引擎DTE通过重新布置所述数据的位来变换所述数据以存储在所述装置上。
19.根据权利要求19所述的方法,其中发送所述数据包括包含一或多个位作为所述数据的指示符以识别目的地装置类型。
20.根据权利要求19所述的方法,其中变换所述数据包含基于所述指示符重排所述数据以存储在所述装置上。
21.根据权利要求18所述的方法,其中所述方法包括在不使用操作系统高速缓冲存储器的情况下将数据从所述PIM装置发送到网络装置。
22.根据权利要求19所述的方法,其中所述方法包括使用所述指示符提供指定所述PIM装置中的所述数据的大小及形状的信息。
23.一种设备,其包括:
存储器单元阵列;及
数据变换引擎DTE,其经耦合到所述阵列,其中所述DTE经配置以变换在所述存储器单元阵列与装置之间传送的数据。
24.根据权利要求23所述的设备,其中所述DTE包括操作为转置引擎以用于存储器中处理PIM装置中的位向量存储的逻辑。
25.根据权利要求23所述的设备,其中所述DTE包括操作为地址定序引擎以用于存储器中处理PIM装置中的位向量存储的逻辑。
26.根据权利要求23到25中任一权利要求所述的设备,其中所述DTE经暴露以经由共享动态加载内核模块将软件用作应用程序接口API。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/048,179 US10956439B2 (en) | 2016-02-19 | 2016-02-19 | Data transfer with a bit vector operation device |
US15/048,179 | 2016-02-19 | ||
PCT/US2017/017919 WO2017142914A1 (en) | 2016-02-19 | 2017-02-15 | Data transfer with a bit vector operation device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108713196A true CN108713196A (zh) | 2018-10-26 |
CN108713196B CN108713196B (zh) | 2021-12-31 |
Family
ID=59626255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780012224.6A Active CN108713196B (zh) | 2016-02-19 | 2017-02-15 | 使用位向量运算装置进行的数据传送 |
Country Status (3)
Country | Link |
---|---|
US (4) | US10956439B2 (zh) |
CN (1) | CN108713196B (zh) |
WO (1) | WO2017142914A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113196396A (zh) * | 2018-12-21 | 2021-07-30 | 美光科技公司 | 用于对存储装置中的位进行排序的设备和方法 |
CN113762518A (zh) * | 2020-06-02 | 2021-12-07 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9997232B2 (en) * | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
CN207637499U (zh) | 2016-11-08 | 2018-07-20 | 美光科技公司 | 用于形成在存储器单元阵列上方的计算组件的设备 |
US10534553B2 (en) | 2017-08-30 | 2020-01-14 | Micron Technology, Inc. | Memory array accessibility |
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 |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
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 |
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 |
US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US10769071B2 (en) | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
US10483978B1 (en) | 2018-10-16 | 2019-11-19 | Micron Technology, Inc. | Memory device processing |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US12118056B2 (en) | 2019-05-03 | 2024-10-15 | Micron Technology, Inc. | Methods and apparatus for performing matrix transformations within a memory array |
US10867655B1 (en) | 2019-07-08 | 2020-12-15 | Micron Technology, Inc. | Methods and apparatus for dynamically adjusting performance of partitioned memory |
US11360768B2 (en) | 2019-08-14 | 2022-06-14 | Micron Technolgy, Inc. | Bit string operations in memory |
US11449577B2 (en) | 2019-11-20 | 2022-09-20 | Micron Technology, Inc. | Methods and apparatus for performing video processing matrix operations within a memory array |
US11853385B2 (en) | 2019-12-05 | 2023-12-26 | Micron Technology, Inc. | Methods and apparatus for performing diversity matrix operations within a memory array |
US11227641B1 (en) | 2020-07-21 | 2022-01-18 | Micron Technology, Inc. | Arithmetic operations in memory |
KR20230053320A (ko) | 2021-10-14 | 2023-04-21 | 삼성전자주식회사 | 비트라인 감지 증폭기 및 이를 포함하는 메모리 장치 |
US11899961B2 (en) * | 2021-12-30 | 2024-02-13 | Micron Technology, Inc. | Redundant computing across planes |
US12346343B2 (en) * | 2022-12-12 | 2025-07-01 | Maxlinear, Inc. | Data transform acceleration using metadata stored in accelerator memory |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1077832A (zh) * | 1992-03-10 | 1993-10-27 | 国际商业机器公司 | 高速数据业务组合终端适配器 |
US5416907A (en) * | 1990-06-15 | 1995-05-16 | Digital Equipment Corporation | Method and apparatus for transferring data processing data transfer sizes |
CN1122475A (zh) * | 1994-11-02 | 1996-05-15 | 星通资讯股份有限公司 | 高速数据传输机测试方法 |
CN1169807A (zh) * | 1994-12-12 | 1998-01-07 | 诺基亚流动电话有限公司 | 数据传输方法 |
US5781763A (en) * | 1995-04-07 | 1998-07-14 | International Business Machines Corporation | Independent control of DMA and I/O resources for mixed-endian computing systems |
US5941980A (en) * | 1996-08-05 | 1999-08-24 | Industrial Technology Research Institute | Apparatus and method for parallel decoding of variable-length instructions in a superscalar pipelined data processing system |
US20060043312A1 (en) * | 2004-08-31 | 2006-03-02 | James Siebert | Enhanced scanning control of charged particle beam systems |
US20090254697A1 (en) * | 2008-04-02 | 2009-10-08 | Zikbit Ltd. | Memory with embedded associative section for computations |
TW201106373A (en) * | 2009-06-04 | 2011-02-16 | Micron Technology Inc | Internal processor buffer |
CN102667752A (zh) * | 2009-10-21 | 2012-09-12 | 美光科技公司 | 具有内部处理器的存储器及存储器中的数据通信方法 |
CN103207773A (zh) * | 2006-08-18 | 2013-07-17 | 高通股份有限公司 | 使用标量/向量指令处理数据的系统和方法 |
CN103620684A (zh) * | 2011-06-30 | 2014-03-05 | 高通股份有限公司 | 感测电路 |
US20140189250A1 (en) * | 2012-12-28 | 2014-07-03 | Steffen Kosinski | Store Forwarding for Data Caches |
CN104169870A (zh) * | 2012-03-15 | 2014-11-26 | 国际商业机器公司 | 将具有终止字符的字符数据从一个存储器位置复制到另一个存储器位置 |
CN105027212A (zh) * | 2013-03-04 | 2015-11-04 | 美光科技公司 | 用于使用感测电路执行逻辑运算的设备及方法 |
Family Cites Families (289)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3042082A (en) | 1959-12-02 | 1962-07-03 | Emil Forster | Thread tensioning or braking devices for shuttles |
US4380046A (en) | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
JPS6032911B2 (ja) | 1979-07-26 | 1985-07-31 | 株式会社東芝 | 半導体記憶装置 |
US4435792A (en) | 1982-06-30 | 1984-03-06 | Sun Microsystems, Inc. | Raster memory manipulation apparatus |
US4727474A (en) | 1983-02-18 | 1988-02-23 | Loral Corporation | Staging memory for massively parallel processor |
EP0214718A3 (en) | 1985-07-22 | 1990-04-04 | Alliant Computer Systems Corporation | Digital computer |
US5201039A (en) | 1987-09-30 | 1993-04-06 | Mitsubishi Denki Kabushiki Kaisha | Multiple address-space data processor with addressable register and context switching |
US4843264A (en) | 1987-11-25 | 1989-06-27 | Visic, Inc. | Dynamic sense amplifier for CMOS static RAM |
US5276643A (en) | 1988-08-11 | 1994-01-04 | Siemens Aktiengesellschaft | Integrated semiconductor circuit |
JPH0713858B2 (ja) | 1988-08-30 | 1995-02-15 | 三菱電機株式会社 | 半導体記憶装置 |
US5023838A (en) | 1988-12-02 | 1991-06-11 | Ncr Corporation | Random access memory device with integral logic capability |
US4958378A (en) | 1989-04-26 | 1990-09-18 | Sun Microsystems, Inc. | Method and apparatus for detecting changes in raster data |
US5253308A (en) | 1989-06-21 | 1993-10-12 | Amber Engineering, Inc. | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing |
DE69132495T2 (de) | 1990-03-16 | 2001-06-13 | Texas Instruments Inc., 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 | 삼성전자 주식회사 | 반도체 메모리 장치 |
US5485373A (en) | 1993-03-25 | 1996-01-16 | Taligent, Inc. | Language-sensitive text searching system with modified Boyer-Moore process |
US5440482A (en) | 1993-03-25 | 1995-08-08 | Taligent, Inc. | Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order |
US5754478A (en) | 1993-04-20 | 1998-05-19 | Micron Technology, Inc. | Fast, low power, write scheme for memory circuits using pulsed off isolation device |
US5369622A (en) | 1993-04-20 | 1994-11-29 | Micron Semiconductor, Inc. | Memory with isolated digit lines |
JP2663838B2 (ja) | 1993-07-27 | 1997-10-15 | 日本電気株式会社 | 半導体集積回路装置 |
JP3252306B2 (ja) | 1993-08-10 | 2002-02-04 | 株式会社日立製作所 | 半導体不揮発性記憶装置 |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
JP3251421B2 (ja) | 1994-04-11 | 2002-01-28 | 株式会社日立製作所 | 半導体集積回路 |
US5655113A (en) | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
JPH0831168A (ja) | 1994-07-13 | 1996-02-02 | Hitachi Ltd | 半導体記憶装置 |
US5481500A (en) | 1994-07-22 | 1996-01-02 | International Business Machines Corporation | Precharged bit decoder and sense amplifier with integrated latch usable in pipelined memories |
US5615404A (en) | 1994-10-31 | 1997-03-25 | Intel Corporation | System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals |
US5638128A (en) | 1994-11-08 | 1997-06-10 | General Instrument Corporation Of Delaware | Pixel interpolation filters for video decompression processor |
US5724366A (en) | 1995-05-16 | 1998-03-03 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device |
KR0146530B1 (ko) | 1995-05-25 | 1998-09-15 | 김광호 | 단속제어회로를 구비한 반도체 메모리 장치와 제어방법 |
US7301541B2 (en) | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
JP2812262B2 (ja) | 1995-08-31 | 1998-10-22 | 日本電気株式会社 | 連想記憶装置 |
JP2817836B2 (ja) | 1995-11-30 | 1998-10-30 | 日本電気株式会社 | 半導体メモリ装置 |
JP3356612B2 (ja) | 1996-02-29 | 2002-12-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 高速な輪郭スムージング方法及び装置 |
US6092186A (en) | 1996-05-07 | 2000-07-18 | Lucent Technologies Inc. | Apparatus and method for aborting un-needed instruction fetches in a digital microprocessor device |
US5915084A (en) | 1996-09-30 | 1999-06-22 | Advanced Micro Devices, Inc. | Scannable sense amplifier circuit |
US5991209A (en) | 1997-04-11 | 1999-11-23 | Raytheon Company | Split sense amplifier and staging buffer for wide memory architecture |
JP3592887B2 (ja) | 1997-04-30 | 2004-11-24 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6510098B1 (en) | 1997-05-28 | 2003-01-21 | Cirrus Logic, Inc. | Method and apparatus for transferring data in a dual port memory |
JPH1115773A (ja) | 1997-06-24 | 1999-01-22 | Matsushita Electron Corp | 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法 |
US5935263A (en) | 1997-07-01 | 1999-08-10 | Micron Technology, Inc. | Method and apparatus for memory array compressed data testing |
US6195734B1 (en) | 1997-07-02 | 2001-02-27 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
US6181698B1 (en) | 1997-07-09 | 2001-01-30 | Yoichi Hariguchi | Network routing table using content addressable memory |
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 |
US20010042069A1 (en) | 2000-02-29 | 2001-11-15 | Petrov Peter D. | 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 |
WO2002017262A2 (en) | 2000-08-21 | 2002-02-28 | United States Postal Services | Delivery point validation system |
US6301164B1 (en) | 2000-08-25 | 2001-10-09 | Micron Technology, Inc. | Antifuse method to repair columns in a prefetched output memory architecture |
US6704828B1 (en) | 2000-08-31 | 2004-03-09 | Micron Technology, Inc. | System and method for implementing data pre-fetch having reduced data lines and/or higher data rates |
US6948056B1 (en) | 2000-09-28 | 2005-09-20 | Intel Corporation | Maintaining even and odd array pointers to extreme values by searching and comparing multiple elements concurrently where a pointer is adjusted after processing to account for a number of pipeline stages |
US6304477B1 (en) | 2001-01-31 | 2001-10-16 | Motorola, Inc. | Content addressable magnetic random access memory |
US6563754B1 (en) | 2001-02-08 | 2003-05-13 | Integrated Device Technology, Inc. | DRAM circuit with separate refresh memory |
US6650158B2 (en) | 2001-02-21 | 2003-11-18 | Ramtron International Corporation | Ferroelectric non-volatile logic elements |
US7546438B2 (en) | 2001-07-19 | 2009-06-09 | Chung Shine C | Algorithm mapping, specialized instructions and architecture features for smart memory computing |
US6807614B2 (en) | 2001-07-19 | 2004-10-19 | Shine C. Chung | Method and apparatus for using smart memories in computing |
ITRM20010531A1 (it) | 2001-08-31 | 2003-02-28 | Micron Technology Inc | Dispositivo rilevatore a bassa potenza e alta tensione per memorie ditipo flash. |
US7260672B2 (en) | 2001-09-07 | 2007-08-21 | Intel Corporation | Using data stored in a destructive-read memory |
US7062689B2 (en) | 2001-12-20 | 2006-06-13 | Arm Limited | Method and apparatus for memory self testing |
US20040073773A1 (en) | 2002-02-06 | 2004-04-15 | Victor Demjanenko | Vector processor architecture and methods performed therein |
US6707729B2 (en) | 2002-02-15 | 2004-03-16 | Micron Technology, Inc. | Physically alternating sense amplifier activation |
WO2003088033A1 (en) | 2002-04-09 | 2003-10-23 | University Of Rochester | Multiplier-based processor-in-memory architectures for image and graphics processing |
US7190724B2 (en) * | 2002-04-12 | 2007-03-13 | Seiko Epson Corporation | Method and apparatus for transform domain video processing |
JP2003331598A (ja) | 2002-05-13 | 2003-11-21 | Mitsubishi Electric Corp | 半導体記憶装置 |
US7406494B2 (en) | 2002-05-14 | 2008-07-29 | Texas Instruments Incorporated | Method of generating a cycle-efficient bit-reverse index array for a wireless communication system |
JP2003346484A (ja) | 2002-05-23 | 2003-12-05 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
US6789099B2 (en) | 2002-06-10 | 2004-09-07 | International Business Machines Corporation | Sense-amp based adder with source follower evaluation tree |
US7054178B1 (en) | 2002-09-06 | 2006-05-30 | Etron Technology, Inc. | Datapath architecture for high area efficiency |
US6987693B2 (en) | 2002-09-24 | 2006-01-17 | Sandisk Corporation | Non-volatile memory and method with reduced neighboring field errors |
US7079407B1 (en) | 2002-10-18 | 2006-07-18 | Netlogic Microsystems, Inc. | Content addressable memory (CAM) device including match line sensing |
US6765834B2 (en) | 2002-11-19 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | System and method for sensing memory cells of an array of memory cells |
KR100546307B1 (ko) | 2002-12-05 | 2006-01-26 | 삼성전자주식회사 | 글로벌 입출력라인을 프리차지 및/또는 이퀄라이징하기위한 프리차지 회로를 구비하는 반도체 장치 및프리차지 및/또는 이퀄라이즈하는 트랜지스터의 레이아웃 |
US6731542B1 (en) | 2002-12-05 | 2004-05-04 | Advanced Micro Devices, Inc. | Circuit for accurate memory read operations |
US6888372B1 (en) | 2002-12-20 | 2005-05-03 | Altera Corporation | Programmable logic device with soft multiplier |
WO2004059651A2 (en) | 2002-12-27 | 2004-07-15 | Solid State System Co., Ltd. | Nonvolatile memory unit with specific cache |
US7346903B2 (en) | 2003-02-04 | 2008-03-18 | Sun Microsystems, Inc. | Compiling and linking modules of a cycle-based logic design |
US6768679B1 (en) | 2003-02-10 | 2004-07-27 | Advanced Micro Devices, Inc. | Selection circuit for accurate memory read operations |
US6819612B1 (en) | 2003-03-13 | 2004-11-16 | Advanced Micro Devices, Inc. | Apparatus and method for a sense amplifier circuit that samples and holds a reference voltage |
US6865122B2 (en) | 2003-04-11 | 2005-03-08 | Intel Corporation | Reclaiming blocks in a block-alterable memory |
US7447720B2 (en) | 2003-04-23 | 2008-11-04 | Micron Technology, Inc. | Method for finding global extrema of a set of bytes distributed across an array of parallel processing elements |
US7574466B2 (en) | 2003-04-23 | 2009-08-11 | Micron Technology, Inc. | Method for finding global extrema of a set of shorts distributed across an array of parallel processing elements |
US7454451B2 (en) | 2003-04-23 | 2008-11-18 | Micron Technology, Inc. | Method for finding local extrema of a set of values for a parallel processing element |
US9015390B2 (en) | 2003-04-25 | 2015-04-21 | Micron Technology, Inc. | Active memory data compression system and method |
DE10319271A1 (de) | 2003-04-29 | 2004-11-25 | Infineon Technologies Ag | Speicher-Schaltungsanordnung und Verfahren zur Herstellung |
JP3898152B2 (ja) | 2003-05-27 | 2007-03-28 | ローム株式会社 | 演算機能付き記憶装置および演算記憶方法 |
JP2007504548A (ja) | 2003-09-04 | 2007-03-01 | コニンクリユケ フィリップス エレクトロニクス エヌ.ブイ. | 集積回路およびキャッシュ・リマッピングの方法 |
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 |
KR20060063619A (ko) * | 2004-12-06 | 2006-06-12 | 엘지전자 주식회사 | 영상 신호의 인코딩 및 디코딩 방법 |
US7230851B2 (en) | 2004-12-23 | 2007-06-12 | Sandisk Corporation | Reducing floating gate to floating gate coupling effect |
KR100673901B1 (ko) | 2005-01-28 | 2007-01-25 | 주식회사 하이닉스반도체 | 저전압용 반도체 메모리 장치 |
US7543119B2 (en) | 2005-02-10 | 2009-06-02 | Richard Edward Hessel | Vector processor |
US7624313B2 (en) | 2005-03-28 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | TCAM BIST with redundancy |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
KR100647906B1 (ko) * | 2005-09-15 | 2006-11-23 | 한국전자통신연구원 | 초광대역방식의 무선 usb 호스트 장치 |
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 |
JP4607796B2 (ja) * | 2006-03-06 | 2011-01-05 | 富士通株式会社 | 共用メモリ型スカラ並列計算機向け、高速3次元フーリエ変換処理方法 |
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 |
US8255446B2 (en) * | 2006-12-12 | 2012-08-28 | Arm Limited | Apparatus and method for performing rearrangement and arithmetic operations on data |
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 |
US8200932B2 (en) | 2007-10-19 | 2012-06-12 | 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 |
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. |
US8111696B2 (en) * | 2008-10-14 | 2012-02-07 | Emulex Design & Manufacturing Corporation | Method to improve the performance of a computer network |
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 |
US8234460B2 (en) | 2009-06-04 | 2012-07-31 | Micron Technology, Inc. | Communication between internal and external processors |
US8583898B2 (en) | 2009-06-12 | 2013-11-12 | Cray Inc. | System and method for managing processor-in-memory (PIM) operations |
KR20100134235A (ko) | 2009-06-15 | 2010-12-23 | 삼성전자주식회사 | 반도체 메모리 장치 |
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 |
US8238173B2 (en) | 2009-07-16 | 2012-08-07 | Zikbit Ltd | Using storage cells to perform computation |
US9076527B2 (en) | 2009-07-16 | 2015-07-07 | Mikamonu Group Ltd. | Charge sharing in a TCAM array |
JP4951041B2 (ja) | 2009-08-06 | 2012-06-13 | 株式会社東芝 | 半導体記憶装置 |
EP2467133B1 (en) | 2009-08-18 | 2014-01-22 | Dow Corning Corporation | Multi-layer transdermal patch |
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 |
US8225182B2 (en) * | 2009-10-04 | 2012-07-17 | Mellanox Technologies Ltd. | Processing of block and transaction signatures |
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 |
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 |
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 |
JP5204195B2 (ja) * | 2010-10-29 | 2013-06-05 | 株式会社東芝 | データ送信システムおよびデータ送信プログラム |
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 |
CN103907157B (zh) | 2011-10-28 | 2017-10-17 | 慧与发展有限责任合伙企业 | 进行行移位的可移位存储器 |
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 |
WO2013095592A1 (en) | 2011-12-22 | 2013-06-27 | Intel Corporation | Apparatus and method for vector compute and accumulate |
KR20130072869A (ko) | 2011-12-22 | 2013-07-02 | 에스케이하이닉스 주식회사 | 프리차지 회로 및 비휘발성 메모리 장치 |
US20130238669A1 (en) * | 2012-03-09 | 2013-09-12 | Business Objects Software Ltd | Using Target Columns in Data Transformation |
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 |
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 |
JP6311360B2 (ja) * | 2014-03-06 | 2018-04-18 | ブラザー工業株式会社 | 画像処理装置 |
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 |
US10523753B2 (en) * | 2014-05-06 | 2019-12-31 | Western Digital Technologies, Inc. | Broadcast data operations in distributed file systems |
EP3140743B1 (en) | 2014-05-08 | 2021-11-24 | Micron Technology, INC. | Hybrid memory cube system interconnect directory-based cache coherence methodology |
WO2015171905A1 (en) | 2014-05-08 | 2015-11-12 | Micron Technology, Inc. | In-memory lightweight coherency |
US9711207B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
US9830999B2 (en) | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US9779019B2 (en) | 2014-06-05 | 2017-10-03 | Micron Technology, Inc. | Data storage layout |
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 |
US9711206B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
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 |
US10074407B2 (en) | 2014-06-05 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for performing invert operations using sensing circuitry |
US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9836277B2 (en) * | 2014-10-01 | 2017-12-05 | Samsung Electronics Co., Ltd. | In-memory popcount support for real time analytics |
-
2016
- 2016-02-19 US US15/048,179 patent/US10956439B2/en active Active
-
2017
- 2017-02-15 WO PCT/US2017/017919 patent/WO2017142914A1/en active Application Filing
- 2017-02-15 CN CN201780012224.6A patent/CN108713196B/zh active Active
-
2021
- 2021-03-11 US US17/199,261 patent/US11816123B2/en active Active
-
2023
- 2023-11-13 US US18/507,914 patent/US12259903B2/en active Active
-
2025
- 2025-01-16 US US19/025,884 patent/US20250156440A1/en active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5416907A (en) * | 1990-06-15 | 1995-05-16 | Digital Equipment Corporation | Method and apparatus for transferring data processing data transfer sizes |
CN1077832A (zh) * | 1992-03-10 | 1993-10-27 | 国际商业机器公司 | 高速数据业务组合终端适配器 |
CN1122475A (zh) * | 1994-11-02 | 1996-05-15 | 星通资讯股份有限公司 | 高速数据传输机测试方法 |
CN1169807A (zh) * | 1994-12-12 | 1998-01-07 | 诺基亚流动电话有限公司 | 数据传输方法 |
US5781763A (en) * | 1995-04-07 | 1998-07-14 | International Business Machines Corporation | Independent control of DMA and I/O resources for mixed-endian computing systems |
US5941980A (en) * | 1996-08-05 | 1999-08-24 | Industrial Technology Research Institute | Apparatus and method for parallel decoding of variable-length instructions in a superscalar pipelined data processing system |
US20060043312A1 (en) * | 2004-08-31 | 2006-03-02 | James Siebert | Enhanced scanning control of charged particle beam systems |
CN103207773A (zh) * | 2006-08-18 | 2013-07-17 | 高通股份有限公司 | 使用标量/向量指令处理数据的系统和方法 |
US20090254697A1 (en) * | 2008-04-02 | 2009-10-08 | Zikbit Ltd. | Memory with embedded associative section for computations |
TW201106373A (en) * | 2009-06-04 | 2011-02-16 | Micron Technology Inc | Internal processor buffer |
CN102667752A (zh) * | 2009-10-21 | 2012-09-12 | 美光科技公司 | 具有内部处理器的存储器及存储器中的数据通信方法 |
CN103620684A (zh) * | 2011-06-30 | 2014-03-05 | 高通股份有限公司 | 感测电路 |
CN104169870A (zh) * | 2012-03-15 | 2014-11-26 | 国际商业机器公司 | 将具有终止字符的字符数据从一个存储器位置复制到另一个存储器位置 |
US20140189250A1 (en) * | 2012-12-28 | 2014-07-03 | Steffen Kosinski | Store Forwarding for Data Caches |
CN105027212A (zh) * | 2013-03-04 | 2015-11-04 | 美光科技公司 | 用于使用感测电路执行逻辑运算的设备及方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113196396A (zh) * | 2018-12-21 | 2021-07-30 | 美光科技公司 | 用于对存储装置中的位进行排序的设备和方法 |
US11269648B2 (en) | 2018-12-21 | 2022-03-08 | Micron Technology, Inc. | Apparatuses and methods for ordering bits in a memory device |
CN113196396B (zh) * | 2018-12-21 | 2022-11-22 | 美光科技公司 | 用于对存储装置中的位进行排序的设备和方法 |
US11782721B2 (en) | 2018-12-21 | 2023-10-10 | Micron Technology, Inc. | Apparatuses and methods for ordering bits in a memory device |
US12314723B2 (en) | 2018-12-21 | 2025-05-27 | Lodestar Licensing Group Llc | Apparatuses and methods for ordering bits in a memory device |
CN113762518A (zh) * | 2020-06-02 | 2021-12-07 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN113762518B (zh) * | 2020-06-02 | 2024-07-12 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2017142914A1 (en) | 2017-08-24 |
US11816123B2 (en) | 2023-11-14 |
US10956439B2 (en) | 2021-03-23 |
US20250156440A1 (en) | 2025-05-15 |
US20240078247A1 (en) | 2024-03-07 |
US20170242902A1 (en) | 2017-08-24 |
CN108713196B (zh) | 2021-12-31 |
US20210200783A1 (en) | 2021-07-01 |
US12259903B2 (en) | 2025-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108713196B (zh) | 使用位向量运算装置进行的数据传送 | |
US10984842B2 (en) | Multiple endianness compatibility | |
US10983706B2 (en) | Multiple endianness compatibility | |
US12340217B2 (en) | Apparatus and methods related to microcode instructions indicating instruction types | |
US20210200636A1 (en) | Error code calculation on sensing circuitry | |
CN107832081B (zh) | 更新存储器中的寄存器的设备及方法 | |
US10725952B2 (en) | Accessing status information | |
US10971214B2 (en) | Apparatuses and methods to perform logical operations using sensing circuitry | |
US9805772B1 (en) | Apparatuses and methods to selectively perform logical operations | |
US20180349052A1 (en) | Shift skip |
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 |