用于存储器内操作的设备和方法与流程

文档序号:17051526发布日期:2019-03-05 20:13阅读:156来源:国知局
用于存储器内操作的设备和方法与流程

本公开大体上涉及半导体存储器和方法,且更确切地说,涉及用于存储器内处理的设备和方法。



背景技术:

存储器装置通常被提供为计算机或其它计算系统中的内部半导体集成电路。存在许多不同种类型的存储器,包含易失性和非易失性存储器。易失性存储器可能需要功率来保持其数据,例如主机数据、误差数据等,并包含随机存取存储器(randomaccessmemory,ram)、动态随机存取存储器(dynamicrandomaccessmemory,dram)、静态随机存取存储器(staticrandomaccessmemory,sram)、同步动态随机存取存储器(synchronousdynamicrandomaccessmemory,sdram)和闸流体随机存取存储器(thyristorrandomaccessmemory,tram)等等。非易失性存储器可通过在未被供电时保持所存储数据来提供持久数据,并可包含nand快闪存储器、nor快闪存储器和电阻可变存储器,例如相变随机存取存储器(phasechangerandomaccessmemory,pcram)、电阻性随机存取存储器(resistiverandomaccessmemory,rram)、以及磁阻随机存取存储器(magnetoresistiverandomaccessmemory,mram),例如自旋力矩转移随机存取存储器(spintorquetransferrandomaccessmemory,sttram)等等。

计算系统常常包含数个处理资源,例如一或多个处理器,所述处理资源可检索并执行指令并将所执行指令的结果存储到合适的位置。处理资源,例如cpu,可包含例如可用以通过对数据,例如一或多个运算数执行例如and、or、not、nand、nor和xor和反转(inverse),例如反转(inversion)逻辑运算等逻辑运算来执行指令的数个功能单元,例如算术逻辑单元(arithmeticlogicunit,alu)电路、浮点单元(floatingpointunit,fpu)电路和/或组合逻辑块。举例来说,功能单元电路可用于通过数个逻辑运算对运算数执行算术运算,例如加法、减法、乘法和/或除法。

计算系统中的数个组件可涉及向功能单元电路提供指令以供执行。所述指令可例如由控制器和/或主机处理器等处理资源执行。数据,例如将对其执行指令的运算数,可存储于可由功能单元电路存取的存储器阵列中。可从存储器阵列检索指令和/或数据,且在功能单元电路开始对所述数据执行指令之前对所述指令和/或数据进行定序和/或缓冲。此外,由于可通过功能单元电路在一或多个时钟循环中执行不同类型的操作,因此指令和/或数据的中间结果也可进行定序和/或缓冲。在一或多个时钟循环中完成操作的序列可被称为操作循环。就计算装置和/或系统的处理和计算性能和功率消耗来说,完成操作循环所消耗的时间成本高。

在许多情况下,处理资源,例如处理器和/或相关联功能单元电路,可在存储器阵列外部,且通过处理资源与存储器阵列之间的总线存取数据以执行指令集。处理执行可在存储器内处理器装置中得以改善,其中可在存储器内部和/或接近存储器实施处理器,例如在同一芯片上将处理器直接实施为存储器阵列。存储器内处理器装置可通过减少和/或消除外部通信来节约时间,并还可节约电力。



技术实现要素:

附图说明

图1a是呈包含耦合到主机的存储器装置的一个实例的计算系统形式的设备的框图。

图1b是根据本公开的数个实施例的呈包含存储器装置的计算系统形式的设备的另一框图。

图2是说明根据本公开的数个实施例的存储器装置的感测电路的示意图。

图3是说明根据本公开的数个实施例的存储器装置的感测电路的另一示意图。

图4是说明根据本公开的数个实施例的使用图3中展示的感测电路来实施的可选逻辑运算结果的逻辑表。

图5是说明根据本公开的数个实施例的用于边带信道的数个信号定义的表。

图6是说明根据本公开的数个实施例的用于边带信道的数个命令的表。

具体实施方式

本公开包含用于使用具有存储器内处理(pim)能力的装置来执行存储器内操作的设备和方法。包含例如如结合图1a所展示的具pim能力的装置的设备的实例包含存储器单元阵列和耦合到所述阵列的感测电路,其中所述感测电路包含感测放大器和计算组件。所述具pim能力的装置包含可选择地耦合到所述感测电路的定时电路。所述定时电路经配置以控制使用所述感测电路来执行的计算操作的执行定时。所述具pim能力的装置还包含可选择地耦合到所述定时电路的定序器。所述定序器经配置以协调所述计算操作。所述设备还包含所述具pim能力的装置外部的源。所述定序器经进一步配置以从所述源接收命令指令集以起始对计算操作的执行。

在一些实施例中,具pim能力的装置,例如位向量运算电路,可包含如本文所描述的定序器、定时电路、ras管理器和/或ras组件。具pim能力的装置可经配置以从定位于主机上的控制逻辑接收在操作层级的第三级处执行位向量运算的指令,如本文所描述。来自控制逻辑的指令可以是控制,例如引导与执行程序相关联的操作流程,例如循环、分支化等等,所述程序例如是数个位向量运算。通过具pim能力的装置的控制器,例如通过与控制器相关联的定序器接收指令使得具pim能力的装置的定序器、定时电路、ras管理器和/或ras组件能够基于来自控制逻辑的与执行程序相关联的指令而对本文中所描述的位向量运算进行协调、定时和执行,所述指令例如是针对循环、分支化等等。

如本文所使用,具pim能力的装置101可以指能够使用存储器装置内部的处理资源对存储于存储器单元阵列中的数据执行逻辑运算例如而不将数据传送到例如主机处理器等外部处理资源的存储器装置。举例来说,具有pim能力的装置101可包含耦合到感测电路的存储器阵列,所述感测电路包括可操作为1位处理元件,例如以在每列基础上执行并行处理的感测组件。除了可被称为“位向量运算”的“存储器内”执行的逻辑运算之外,具有pim能力的装置101还可执行存储器操作。举例来说,具有pim能力的装置101可包含具有存储器操作的动态随机存取存储器(dram)阵列,所述存储器操作包含不涉及对数据的操作,例如,通过对数据执行布尔运算的存储器存取操作,例如,加载等读取和/或除了其它操作(例如,擦除)之外的存储等写入。举例来说,取决于例如由主机110正执行的程序的类型,具有pim能力的装置101可将dram阵列操作为“正常”dram阵列和/或pimdram阵列,其可包含存储器操作和位向量运算两者。举例来说,位向量运算可包含布尔运算等逻辑运算,例如and、or、xor等,以及传送操作,例如移位阵列中的数据值和对数据值求逆等等。

如本文所使用,pim操作可以指与利用具pim能力的装置来执行存储器内处理相关联的各种操作。操作层级可用以定义pim操作的级。举例来说,操作层级中的第一级,例如更低级可包含执行低级位向量运算,例如可被称作“原始”运算的基本和/或个别逻辑运算。操作级中的下一级,例如中间级可包含复合运算的执行,所述复合运算包括接收用于执行多个位向量运算的指令。举例来说,复合运算可包含加法、乘法等数学运算,所述数学运算可包括数个逻辑and、or、xor、移位等。操作层级中的第三级,例如更高级可包含与执行其执行涉及使用具pim能力的装置来执行处理的程序相关联的控制流操作,例如循环、分支化等等。

如本文更详细地描述,pim操作可通过包括具有pim能力的装置的系统内的各个组件执行。举例来说,本公开描述操作层级中的第一级,其中可被称为“标量单元”且可位于主机110上的控制逻辑131可执行控制流操作,和/或可向还可位于主机上的定序器132提供复合运算。复合运算可包含其中将执行一些运算(例如,加法、乘法、移位、逻辑运算等)的数个运算。在一些实施例中,复合运算命令可提供进入一系列vliw指令的入口点,以致使执行此类复合运算。在数个实施例中,定序器132可向定时电路133提供控制逻辑运算的执行的定时的定序指令,所述定时电路还可位于主机上。例如通过与存储器阵列130和/或耦合到存储器阵列130的感测电路150相关联的ras组件136,定时电路133可将用于执行低级位向量运算的定时指令从主机110提供到位于具有pim能力的装置上的控制器140,例如提供给与随后可引导低级位向量运算的执行的控制器140相关联的ras管理器139。与控制器140相关联的ras管理器139还可实现和/或引导低级位向量运算的执行结果返回到主机110。如在本文中进一步描述,用以在具pim能力的装置101与主机110之间传送执行pim操作和/或传送其结果指令,例如命令,的接口,例如总线,可包含边带信道157,所述边带信道可以是与用以传送命令、位址和/或数据例如来进行dram读取和/或写入操作的例如ddr接口等存储器接口分离的总线。

在本公开的以下详细描述中,参考形成其部分的附图,且其中通过图示展示可实践本公开的一或多个实施例的方式。足够详细地描述这些实施例以使得所属领域的一般技术人员能够实践本公开的实施例,且应理解,可利用其它实施例,且可在不脱离本公开的范围的情况下进行工艺、电气和/或结构改变。

应理解,本文中所用的术语仅仅是为了描述具体实施例且并不意图是限制性的。如本文中所使用,除非内容另外明确指示,否则单数形式“一”和“所述”可包含单个和多个指示物。另外,“数个”、“至少一个”和“一或多个”,例如数个存储器阵列,可以指一或多个存储器阵列,而“多个”意图指此类事物中的多于一个。此外,贯穿本申请以许可的意义,即,具有能够的潜力,而非以强制性的意义,即,必须,使用单词“可”。术语“包含”和其派生词意指“包含但不限于”。视上下文而定,术语“耦合(coupled/coupling)”意味着物理上直接或间接连接或存取和移动(发射)命令和/或数据。视上下文而定,术语“数据”与“数据值”在本文中可互换地使用并可具有相同含义。视上下文而定,术语“与…分离”与“在…外部”还在本文中可互换地使用,例如以指示组件不在物理上和/或功能上集成为另一个组件的子组件,并可具有相同含义。视上下文而定,术语“与…相关联”可意味着在物理上与另一个组件的子组件相关联,包含为其部分或是另一个组件的子组件。

本文中的图遵循编号定则,其中第一一或多个数字对应于图号,且剩余的数字标识所述图式中的元件或组件。可通过使用类似数字来标识不同图之间的类似元件或组件。举例来说,205可表示图2中的元件“05”,且类似元件可表示为图3中的305。可以附图标记后跟着连字符和另一数目或字母来表示一个图内的多个类似元件。举例来说,205-1可表示图2中的元件05-1且205-2可表示可类似于元件05-1的元件05-2。可在没有连字符和额外数字或字母的情况下大体上表示此类类似元件。举例来说,元件205-1和205-2可大体上表示为205。

可添加、交换和/或消除在本文中的各种实施例中展示的元件以便提供本公开的数个额外实施例。另外,图中提供的元件的比例和相对尺度意图说明本发明的某些实施例,且不应被视为限制性意义。

图1a是呈包含可选择地耦合到主机110的具pim能力的装置101的一个实例的计算系统100形式的设备的框图如本文所使用,如结合图1a所展示并描述的具pim能力的装置101、控制器140、边带信道157、存储器阵列130、感测电路150、控制逻辑131、定序器132、定时电路133、ras管理器139、ras组件136、信道控制器143和/或如结合图1b所展示并描述的组仲裁器145也可单独地被视为“设备”。

具pim能力的装置101(在本文中也被称为“存储器装置101”)可包含控制器140。由具pim能力的装置101执行的操作可使用基于位向量的操作,例如如本文所描述的执行为逻辑运算的pim操作,以及dram操作,例如读取、写入、复制和/或擦除操作等等。如本文所使用,术语“位向量”意图意味着存储器装置上的物理上相连的位数,例如具pim能力的装置,不管在存储器单元阵列中是物理上成行相连,例如水平定向,或成列相连,例如竖直定向。因此,如本文所使用,“位向量运算”意图意味着在存储器内作为例如pim操作对是虚拟地址空间的连续部分(还被称作“块”)的位向量执行的操作。举例来说,虚拟地址空间的块可具有256个位元的位长度。块可或可不与虚拟地址空间中的其它块在物理上相连。因而,位向量运算可包含逻辑运算,例如布尔运算,以及额外操作,例如数据移位、加法、减法、乘法和/或除法等等。

控制器140可与经配置以协调使用ras组件136来执行的计算子操作的序列的定时相关联的ras管理器139或可包含ras管理器139。ras管理器139可物理上与存储器装置101上的控制器140相关联。ras组件136可以可选择地耦合到存储器单元阵列130。ras组件136可经配置以选择阵列130中的存储器单元的特定行,从特定行检索数据值,和/或将数据值输入到特定行。

图1a中所展示的存储器单元的阵列130可表示存储器装置101中的存储器单元的多个阵列和/或每个阵列中的多个子阵列。在一些实施例中,阵列130可以是dram阵列。但是,阵列130的实施例不限于dram配置。

在一些实施例中,通过ras组件136从其输入数据值的特定行可以是通过ras组件136从其检索数据值的阵列130中的相同行或不同行。举例来说,在一些实施例中,可通过ras组件136从特定行中的特定位置处的特定存储器单元检索数据值,可在检索到的数据值至少暂时由感测电路150存储时对所述数据值执行计算操作,且可通过ras组件136将是计算操作的执行结果的数据值移动,例如返回,到同一行中的同一位置处的同一存储器单元。但是,实施例不限于这些子操作。

在各种实施例中,由于由ras管理器139引导的计算操作,ras组件136可经配置以执行计算操作的子操作。举例来说,ras组件136可由ras管理器139引导以执行使能够执行计算操作的子操作的序列。此类子操作可包含是各行中的数个数据值移位特定位数,将来自阵列130中的特定存储器单元和/或行的数个数据值移动,例如检索和/或输入到感测电路150,例如来由感测放大器206和/或计算组件231存储,此类子操作和/或可包含跟踪经执行以实现对计算操作的执行的数个子操作、以及促进计算操作的粒度的其它子操作。举例来说,如本文所描述,在各种实施例中,计算操作可以是使用感测电路150来执行的移位运算和/或逻辑and、or和/或xor布尔运算、以及各种其它运算。

由ras管理器139接收到的逻辑运算命令可包含不同于用于读取和写入dram操作的双数据速率(ddr)命令的命令。可用于执行计算子操作序列的ras组件136可不用于用于执行读取和写入dram操作的解码器电路,例如,在图1a处展示并结合图1a所描述的行解码器146和列解码器152。在数个实施例中,ras组件136可经配置以将数据值移动到耦合到阵列130的感测电路150和从所述感测电路移动数据值,以在其上执行计算子操作,并将结果数据值移动到与ras管理器139相关联的控制器140,例如以使结果数据值能够通过边带信道157传递到源,例如主机110。ras管理器139可以可选择地耦合到边带信道157以从源接收命令,以通过ras组件136协调计算子操作序列的定时。相比之下,例如如在144处展示并结合图1a描述的输入/输出(input/output,i/o)电路可以可选择地耦合到如在156处展示并结合图1a描述的数据/地址总线,以从源接收由解码器电路执行的读取和写入dram操作的命令。因而,ras组件136可与解码器电路分离。

可使用感测放大器和/或计算组件来在感测电路150中执行计算操作,感测放大器例如如分别在206和306处展示并结合图2和3描述,计算组件例如如分别在231和331处展示并结合图2和3描述。在各种实施例中,计算操作可包含通过包含在感测电路中的感测放大器或计算组件存储,例如高速缓存数据值;对所存储数据值执行计算操作;以及将计算操作的结果存储于阵列130中。

提供图1a作为包含例如如结合图2到4所展示并描述的具计算能力的装置101架构和/或功能性的系统100的实例。具有pim能力的装置101经进一步配置以通过ras管理器139接收用于使用感测电路150来控制数个计算子操作的执行定时的指令。在一些实施例中,可从与存储器装置101的控制器140相关联地定位的定时电路133接收指令,所述定时电路例如是物理上与控制器140相关联或是其部分的定时电路。定时电路133可以可选择地耦合到,定序器132经配置以协调与位向量运算相关联的计算操作的执行并物理上与控制器140相关联或是其部分。定时电路133可发布使用感测电路150来控制计算操作的执行定时的指令。ras管理器139可以可选择地耦合到ras组件136和定时电路133。ras管理器可经配置以协调使用ras组件136执行的计算子操作的序列的定时。

在读取和/或写入dram操作的执行和计算操作,例如逻辑运算的执行期间,用于控制计算操作的执行定时的指令的执行可提供共享资源,例如感测放大器206和/或计算组件231的无冲突使用。举例来说,定时指令的应用可通过减少或防止dram操作和计算操作或两个计算操作的基本上同时执行以及其它可能性来减少或防止感测电路150的感测放大器206的基本上同时使用,否则将使用例如感测放大器206中的至少一者,并且在一些实施例中还使用计算组件231中的至少一者。因而,定时电路133可提供定时以协调dram操作和/或计算操作的执行,并且负责提供对阵列,例如图1a中的阵列130的无冲突存取。在一些实施例中,存储器装置101的定时电路133可以是或可包含状态机以使用阵列的感测电路来控制逻辑运算的执行定时。

既定运算中的每一个可馈送到由定时电路133提供先入先出(firstin/firstout,fifo)缓冲器中,来实现与与存储器单元的阵列130相关联的感测电路150的定时协调。在各种实施例中,定时电路133提供定时并负责提供对来自数个fifo队列的阵列的无冲突存取。因而,定时电路133可经配置以控制感测电路150的操作定时。举例来说,一个fifo队列可支持存储器装置101的定序器132和/或定时电路133通过主机110的控制逻辑131进行接收,例如输入,以及计算操作的处理,而一个fifo队列可用于dram操作的输入和输出(i/o),以及其它可能的配置。定时电路133可向发布ras管理器139指令,例如如本文所描述的微码指令,以控制与位向量运算相关联的计算操作的执行定时。

在一些实施例中,定序器132、定时电路133和/或ras管理器139可与例如用以控制阵列130的读取和写入dram存取请求的双数据速率(doubledatarate,ddr)寄存器(未展示)分离。举例来说,通过使用ddr信令的i/o电路144,ddr寄存器可由主机110通过数据/地址总线156存取,所述数据/地址总线例如是用作ddr信道的i/o总线。

相比之下,在各种实施例中,边带信道157可经配置为接口,例如总线,以接收,例如发射,来自分离的源的命令和/或数据以控制对与位向量运算相关联的数个计算操作的执行,分离的源例如是与主机110相关联的控制逻辑131。或者或另外,边带信道157可接收,例如发射,来自信道控制器143的命令和/或数据。在各种实施例中,边带信道157可以是例如控制逻辑131与定序器132之间的用于与具pim能力的装置101直接通信的双向单信道,或边带信道157可包含例如地址/控制(address/control,a/c)总线(未展示)和/或带外总线(未展示)。可通过例如带外总线和/或地址将状态和/或异常信息从存储器装置101上的控制器140提供到主机110,控制和/或命令,例如计算命令,可由控制器140,例如定序器132,通过边带信道157的a/c总线接收。

在各种实施例中,控制器140可产生状态和/或异常信息,可例如通过边带信道157将所述信息传送到主机110或从主机110传送所述信息。边带信道157可独立于可用以在主机110与具pim能力的装置101之间传送,例如传递ddr命令以进行存储器内处理的双数据速率(ddr)存储器接口,例如控制总线154,例如与其分离。举例来说,在一些实施例中,边带信道157可用以从主机110向具pim能力的装置101传送致使执行位向量运算,例如逻辑和/或计算操作以进行存储器内处理的命令,而控制总线154可用以从主机110向具pim能力的装置101传送dram命令以进行数据读取、数据写入和/或数据擦除操作的存储器内处理。在一些实施例中,通过控制总线154传送的dram命令可以是控制例如ddr1sdram、ddr2sdram、ddr3sdram和/或ddr4sdram等dram的操作的命令。在一些实施例中,通过边带信道157的总线接口的通信可使用ddr信令,但实施例不受如此限制。

如图1a的实例中所展示,例如表示一或多个组的具pim能力的装置101可包含控制器140、定序器132、定时电路133、ras管理器139、ras组件136、感测电路150、和/或例如表示存储器单元的一或多个阵列和/或子阵列的存储器阵列130。在一些实施例中,主机110可包含例如控制逻辑131和/或信道控制器143等组件。

在一些实施例中,主机110可使用虚拟寻址,而用于存储器内处理的具有pim能力的装置101可使用物理寻址。为了对具有pim能力的装置101执行pim操作,例如,为了执行位向量运算,主机110所使用的虚拟地址可转换成对应物理地址,具有pim能力的装置101可使用所述物理地址进行存储器内处理。在一些实施例中,控制逻辑131和/或存储器管理单元(memorymanagementunit,mmu)控制器134可执行地址解析,以将主机110所使用的虚拟地址转换成具有pim能力的装置101所使用的相应物理地址。在一些实施例中,在通过边带信道157将多个对应位向量运算提供到具有pim能力的装置101之前,控制逻辑131和/或mmu控制器134可对pim操作执行虚拟地址解析。

主机110可包含各种组件,包含pim控制部件(例如,控制逻辑131)、信道控制器143和/或mmu控制器134。控制逻辑131可经配置以执行与执行pim程序相关联的控制流命令并例如通过边带信道157向具pim能力的装置101的定序器132提供复合命令。控制逻辑131可以是或可包含risc类型控制器,所述risc类型控制器经配置以产生并发布可扩展的复合运算pim命令集到定序器132,所述可扩展的复合运算pim命令集包含不同于ddr命令的命令。在一些实施例中,控制逻辑131可经配置以发布复合运算命令以致使在具有pim能力的装置101上执行位向量运算。在一些实施例中,可从控制逻辑131向具pim能力的装置101的控制器140传送复合操作命令以进行存储器内处理(例如,通过定序器132、定时电路133和ras管理器139)。如图1a中所展示,主机110(包含控制逻辑131和/或mmu控制器134)可物理上与具pim能力的装置101和/或阵列130分离地定位。

在一些实施例中,控制逻辑131可将微码指令编码成由具pim能力的装置101的定序器132实施的与执行位向量运算相关联的函数调用,所述函数调用可以是微码函数调用。微码函数调用可以是定序器132通过边带信道157接收和/或执行以致使具pim能力的装置101使用例如感测电路150等感测电路来执行特定位向量运算的运算。

如图1a中所展示,控制逻辑131和mmu控制器134位于主机110上,所述主机可允许控制逻辑131和/或mmu控制器134存取存储于主机110上的虚拟地址,并且在将指令传递到具有pim能力的装置101以供存储器内处理之前,对存储于主机110上的物理地址执行虚拟到物理地址解析。

在一些实施例中,系统100可包含单独的集成电路,使得存储器装置101的组件和主机110的组件可形成于单独芯片上。在一些实施例中,存储器装置101的组件和主机110的组件都可形成于相同集成电路上,如同片上系统(systemonachip,soc)一样。举例来说,系统100可以是服务器系统和/或高效能计算(highperformancecomputing,hpc)系统或其一部分。

图1b是根据本公开的数个实施例的呈包含存储器装置的计算系统形式的设备的另一框图。图1a中所展示的具有pim能力的装置101可表示多个存储器装置中的一个存储器装置120和/或结合图1b展示并描述的多个组中的一个组121。

组中的边带信道157,例如,如图1b中所展示,可以可选择地耦合到组仲裁器,例如,如在图1b中的145处所展示,以实现主机110与具有pim能力的装置101的组之间的通信。组仲裁器145可以可选择地耦合到多个组,包含相关联阵列130。举例来说,主机110的控制逻辑131可以可选择地耦合到组仲裁器145,并且组仲裁器145可以可选择地耦合到多个组,其中每个相应组包含具有存储器单元阵列130的存储器装置101。多个组中的每个组可包含ras管理器139,所述ras管理器经配置以协调使用与阵列130相关联的ras组件136执行的与位向量运算相关联的计算子操作序列的定时。在一些实施例中,多个组中的每个组可经配置以执行例如,通过ddr信道,例如数据/地址总线156通过主机110发布的存储器阵列存取,和/或多个组中的每个组可包含ras管理器139,所述ras管理器经配置以执行微码指令以控制与位向量运算相关联的计算操作的执行定时。

为了清晰起见,已简化图1a中所展示的系统100以聚焦于与本公开相关性的特征。举例来说,存储器阵列130可以是dram阵列、sram阵列、sttram阵列、pcram阵列、tram阵列、rram阵列、nand闪存阵列,和/或nor闪存阵列。阵列130可包含布置在通过存取线(其在本文中可被称为字线或选择线)的行和通过感测线(其在本文中可被称为数据线或数字线)耦合的列中的存储器单元,如结合图2和3进一步描述。虽然在图1a中展示单个阵列130,但是实施例不受如此限制。举例来说,存储器组件101可包含数个阵列130,例如dram单元、nand闪存单元的数个组、阵列和/或子阵列等等。

存储器装置101包含地址电路142以锁存通过i/o电路144通过数据/地址总线156提供的地址信号,所述数据/地址总线例如是用作ddr信道的i/o总线。通过地址电路142接收到的地址信号,且地址信号由行解码器146和列解码器152解码以存取存储器阵列130。通过使用感测电路150感测数据线上的电压和/或电流变化,数据可从存储器阵列130读取。感测电路150可从存储器阵列130读取和锁存数据的页面,例如行。i/o电路144可用于通过数据/地址总线156与主机110进行双向数据通信。写入电路148可用以将数据写入到存储器阵列130。在一些实施例中,控制总线154可充当控制和地址总线两者,以例如根据其中控制总线154充当单向数据总线的ddr协议进行dram控制和寻址。虽然在图1a和1b中展示为单独总线,但是在一些实施例中,控制总线154和数据/地址总线156可不为单独总线。

在各种实施例中,控制器140可对通过控制总线154和/或数据/地址总线156从主机110接收的信号进行解码。这些信号可包含用于控制在存储器阵列130上执行的操作,包含数据读取、数据写入和/或数据擦除操作的芯片启用信号、写入启用信号和地址锁存信号。在一或多个实施例中,控制器140的部分,例如定序器132、定时电路133和/或ras管理器139,可以是对32和/或64位长度指令进行操作的精简指令集计算机(reducedinstructionsetcomputer,risc)型控制器,例如如结合主机110的控制逻辑131进一步描述。在各种实施例中,定序器132、定时电路133和/或ras管理器139负责执行来自主机110,例如从其控制逻辑131接收到,的与感测电路150相关联的指令,以执行逻辑布尔运算,例如and、or、xor等等。另外,ras管理器139可控制在存储器阵列130中使例如右或左数据移位,以及与位向量运算相关联的计算操作中的使用ras组件136执行的其它子操作。在一些实施例中,存储器装置101可包含可以可选择地耦合到ras管理器139以使用感测电路150来控制计算操作的执行定时的定时电路133。

在下文结合图2到4进一步描述感测电路150和其操作的实例。在各种实施例中,感测电路150可包含多个感测放大器和多个计算组件,所述感测放大器和计算组件可充当并被称作储能器并可用以例如对与互补数据线相关联的数据执行逻辑运算。在一些实施例中,计算组件可耦合到感测电路150内的每个感测放大器,例如如在图2中分别在231和206处所展示。但是,实施例不受如此限制。举例来说,在一些实施例中,在感测放大器和计算组件的数目之间可能不存在1:1相关性,例如,每计算组件可存在多于一个感测放大器,或感测放大器存在多于一个计算组件,这可在子阵列、组等之间改变。

在各种实施例中,感测电路150可用于将存储于阵列130中的数据用作输入来执行逻辑运算,并且将逻辑运算的结果存储回阵列130,而无需通过感测线地址存取传递数据,例如无需触发列解码信号。因而,各种计算功能可使用感测电路150和在感测电路150内执行,而不是(或与其相关联)通过感测电路外部的处理资源,例如,通过与主机110和/或位于存储器装置101上,例如控制器140上或其它地方的例如alu等其它处理电路相关联的处理资源执行。

在各种先前方法中,举例来说,将通过感测电路从存储器读取与运算数相关联的数据,并通过i/o线,例如通过本地i/o线和/或全局i/o线,将所述数据提供给外部alu电路。外部alu电路可包含数个寄存器并将运算数来执行计算功能,且将通过i/o线将结果传送回到阵列。

相比之下,在本公开的数个实施例中,感测电路150经配置以对存储于存储器阵列130中的数据执行逻辑运算,并且将结果存储回存储器阵列130,而无需使i/o线,例如本地i/o线能够耦合到感测电路150。感测电路150可与阵列130的存储器单元按间距形成,例如如结合图2所描述。额外的外围感测放大器、扩展行地址(extendedrowaddress,xra)寄存器、高速缓存器和/或数据缓冲,例如额外逻辑电路可耦合到感测电路150,并且可用于存储,例如高速缓存和/或缓冲本文所描述的操作的结果。

因此,在各种实施例中,在阵列130和感测电路150外部的电路不需要执行计算功能,这是因为感测电路150可执行合适的逻辑运算来执行此计算功能,而不使用外部处理资源。因此,感测电路150可用于至少在某一程度上互补和/或更换此外部处理资源(或至少此外部处理资源的带宽消耗)。

在数个实施例中,除了由外部处理资源执行的逻辑运算以外,感测电路150还可用以对主机110执行逻辑运算,例如执行指令。举例来说,主机110上的处理资源和/或存储器装置101上的感测电路150可能受限于仅执行某些逻辑运算和/或特定数目的逻辑运算。

启用i/o线可包含启用,例如开启,具有耦合到解码信号的栅极和耦合到i/o线的源极/漏极的晶体管,解码信号例如是列解码信号。然而,实施例不限于不启用i/o线。举例来说,在数个实施例中,感测电路,例如感测电路150,可用以执行逻辑运算而不启用阵列的列解码线;但是,可启用本地i/o线以便将结果传送到除回到阵列130以外的合适位置,例如传送到外部寄存器。

与存储器装置101分离,例如在其外部的源,例如主机110,可包含可选择地耦合到存储器装置101的控制逻辑131。控制逻辑131可经配置以将与位向量运算相关联的命令指令集发布到存储器装置101上的定序器132,以起始与位向量运算相关联的计算操作。举例来说,在各种实施例中,主机110可包含控制逻辑131,所述控制逻辑经配置以将与位向量运算相关联的命令指令集发布到存储器装置101上的定序器132,以起始使用阵列130的感测电路150来在存储器内执行的计算操作。

主机110上的控制逻辑131可以是或可包含risc型控制器,所述risc型控制器经配置以产生并发布可扩展的计算命令集到ddr信道数据/地址总线156,以引导多个计算操作的执行,所述可扩展的计算命令集包含不同于ddr命令的命令。此risc型控制器可包含各种类型架构,例如risc-4、risc-v、无互锁管线级式微处理器(microprocessorwithoutinterlockedpipelinestages,mips)、高级risc机器(arm)、risc计算机(arc)、阿尔夫与维加德(alfandvegard's,avr)和/或可扩展处理器架构(scalableprocessorarchitecture,sparc)、以及其它risc型控制器架构。在一些实施例中,控制逻辑131可经配置以例如,通过组仲裁器145将用于致使相应计算操作在多个存储器装置101上执行的命令指令集发布到多个组和/或每个组中的多个阵列或子阵列。此类计算操作可包含指标跟踪、纯量操控、纯量数学、和逻辑运算、以及本文中或以其它方式描述的其它计算操作。在数个实施例中,包含控制逻辑131、信道控制器143以及其它组件的主机110可形成于应是soc的同一集成电路上。

如本文所描述,经译码指令可以是例如微码指令。在一些实施例中,控制逻辑131可负责作为dram操作从存储器单元的阵列130,例如dram阵列,提取经译码机器指令,例如微码指令。举例来说,控制逻辑131可提取机器指令,所述机器指令在执行时使用具有阵列130的感测线的在间距上的感测电路150引导计算操作的执行。

如本文所描述,基于机器指令的执行而执行的操作可包含相对于待决dram和/或计算操作的计算操作,例如,布尔逻辑运算和/或数据移动操作序列等的定时。控制逻辑131可采用可执行与位向量运算相关联的微码指令的微编码引擎的形式。如本文所使用,引擎意指硬件和/或软件,但至少采用晶体管电路和/或专用集成电路(applicationspecificintegratedcircuit,asic)形式的硬件。在一些实施例中,定序器132也采用微编码引擎的形式。在一些实施例中,控制逻辑131与定序器132可处于不同时钟域中并以不同时钟速度操作。

在一些实施例中,控制逻辑131可将微码指令编码成由定序器132实施的函数调用,所述函数调用与执行位向量运算相关联的微码函数调用。微码函数调用可以是定序器132接收和/或执行以致使存储器装置101使用例如图1a中的感测电路150等感测电路来执行特定逻辑运算的操作。存储器装置101上的定时电路133可提供定时以协调逻辑运算的执行并负责提供对例如图1a中的阵列130等阵列的无冲突存取。在各种实施例中,控制器140和/或定序器132可产生状态信息,可例如通过fifo接口将所述状态信息导引回到组仲裁器145。组仲裁器145可聚合此状态数据,并例如通过边带信道157将其报告回到主机110。

在一些实施例中,定序器132可包含经配置以对计算命令操作的超长指令字(verylargeinstructionword,vliw)型控制器,且控制逻辑131可经配置以响应于来自主机110的处理资源的信号而例如通过边带信道157向定序器132发布计算命令。在一些实施例中,控制逻辑131可经配置以产生vliw作为命令指令集。vliw可以是或可包含微码指令。定序器132可以是或可包含经配置以将vliw解码成与位向量运算相关联的多个分离的微码指令的vliw型控制器。定序器132可以可选择地耦合到定时电路133以协调与位向量运算相关联的计算操作。所述多个微码指令可以是可由定序器132自身和/或由存储器装置101中的定序器132下游的其它组件依序和/或并行地执行的,所述其它组件例如是定时电路133、ras管理器139、ras组件136和/或感测电路150。

结合图1a描述的控制器140可通过控制线和数据路径耦合到与存储器单元的阵列相关联的感测电路150和/或额外逻辑电路(未展示),包含高速缓冲存储器、缓冲器、感测放大器、扩展行地址(xra)锁存器和/或寄存器。因而,图1a中所展示的感测电路150可使用ddr信道数据/地址总线156来与存储器单元的阵列130相关联。控制器140可控制阵列的常规dram操作,例如读取、写入、复制和/或擦除操作等等。但是,此外,由控制逻辑131检索和/或执行的微码指令和/或由定序器132接收和/或执行的微码函数调用可致使感测电路150执行额外逻辑运算,例如移位、加法、减法、乘法和/或除法等等,或作为更具体的实例,执行比常规dram读取和写入操作更复杂的布尔运算,例如and、or和/或xor等等。

因而,控制逻辑131、定序器132和/或定时电路133可操作以产生存储器装置101,例如其中的dram阵列,的操作周期的序列。在具pim能力的装置101实例中,每个序列可被设计成执行一起实现具体函数的多个运算,例如布尔逻辑运算and、or、xor等。举例来说,运算的序列可重复地针对一(1)位加法执行逻辑运算以便计算多位总和。运算的每个序列可馈送到耦合到定时电路133以提供与与存储器单元的阵列130相关联的感测电路150的定时协调的fifo缓冲器中。

如本文所描述,计算系统100可包含具pim能力的装置101。具pim能力的装置101可包含经配置以协调与位向量运算相关联的计算操作以起始对多个计算操作的执行的定序器132。定序器132可经进一步配置以将与位向量运算相关联的命令指令集发布到定时电路133,所述定时电路经配置以提供定时以协调逻辑运算的执行。具pim能力的装置101上的定时电路133可经进一步配置以将与位向量运算相关联的命令指令集发布到具pim能力的装置101上的ras管理器139。ras管理器139可经配置以协调与位向量运算相关联的计算子操作的序列的定时。ras管理器139可经配置以将与位向量运算相关联的命令指令集发布到具pim能力的装置101上的ras组件136。ras组件136可经配置以通过执行位向量运算的序列来引导对计算子操作的序列的执行,位向量运算的序列的定时由ras管理器139引导。具有pim能力的装置101可进一步包含包含感测放大器206和计算组件231的经配置以执行如由ras组件136引导的位向量运算序列的感测电路150,感测电路150可选择地耦合到存储器单元阵列130的感测线205。

计算系统100可进一步包含主机110。在数个实施例中主机110可包含控制逻辑131。控制逻辑131可经配置以向具pim能力的装置101上的定序器132发布与位向量运算相关联的起始对多个计算操作的执行的命令指令集。

在数个实施例中,计算系统100可进一步包含边带信道157以将主机110上的控制逻辑131可选择地耦合到具pim能力的装置101上的定序器132。边带信道157可经配置为关于对多个计算操作的执行的用于具pim能力的装置101与主机110之间的直接通信的双向接口。在一些实施例中,边带信道157的带宽可以是15,000,000位(15兆位)每秒。

图1b是包含通过信道控制器耦合到主机110的多个存储器装置120-1、…、120-n的另一设备架构的框图,所述信道控制器例如是在143处展示并结合图1a描述的信道控制器。在至少一个实施例中,信道控制器143可以模块118形式以集成方式耦合到多个存储器装置120-1、…、120-n,例如与多个存储器装置120-1、…、120-n形成于同一芯片上。在替代实施例中,信道控制器143可与主机110集成,如由短划线111说明,例如形成于与多个存储器装置120-1、…、120-n分离的芯片上或与其相同,例如与soc相同的芯片上。信道控制器143可通过如图1a中所描述的控制总线154和/或数据/地址总线156耦合到多个存储器装置120-1、…、120-n中的每一个,所述数据/地址总线又可耦合到主机110。

信道控制器143还可通过如图1a中所描述的数据/地址总线156耦合到多个存储器装置120-1、…、120-n中的每一个,所述数据/地址总线又可耦合到主机110。另外,信道控制器143可例如通过信道接口141耦合到多个存储器装置120-1、…、120-n中的每一个。如本文所使用,术语信道控制器意图意味着呈固件,例如微码指令,和/或硬件,例如asic,形式的逻辑,以实施一或多个特定功能。信道控制器的一个实例可包含状态机。另一实例可包含嵌入式处理资源。信道控制器143包含用以处理到装置的i/o任务的逻辑。

如图1b中所展示,信道控制器143可从例如在本文中也被称为状态信道接口的信道接口141接收状态和异常信息,所述信道接口与多个存储器装置120-1、…、120-n中的每一个中的组仲裁器145相关联。在图1b的实例中,多个存储器装置120-1、…、120-n可包含相应组仲裁器145-1、…、145-n以在多个存储器装置120-1、…、120-n中的每一个中通过多个组,例如组121-0、…、121-7等等对控制和数据进行定序。所述多个组,例如121-0、…、121-7中的每一个可包含控制器140和其它组件,包含如结合图1a所描述的存储器单元阵列130、感测电路150、逻辑电路等等。

举例来说,多个存储器装置120-1、…、120-n中的多个组,例如121-0、…、121-7中的每一个可包含地址电路142以通过i/o电路144锁存通过数据总线156(例如,i/o总线)提供的地址信号。使用边带信道157可将状态和/或异常信息从存储器装置120上的控制器140提供到信道控制器143,又可将边带信道157从多个存储器装置120-1、…、120-n提供到主机110,且反之亦然。

对于所述多个组中的每一个,例如121-0、…、121-7,可通过地址电路142接收地址信号,且地址信号可由行解码器146和列解码器152解码以存取存储器阵列130。通过使用感测电路150感测数据线上的电压和/或电流变化,数据可从存储器阵列130读取。感测电路150可从存储器阵列130读取和锁存数据的页面,例如行。i/o电路144可用于通过数据/地址总线156与主机110进行双向数据通信。写入电路148可用以将数据写入到存储器阵列130,且边带信道157可用以向信道控制器143报告状态、异常和其它数据信息。

信道控制器143可包含一或多个本地缓冲器161以存储微码指令并可包含逻辑160以在每个相应组的阵列中分配多个位置,例如子阵列或子阵列的部分,以存储与多个存储器装置120-1、…、120-n中的每一个的操作相关联的各组的微码指令,例如组命令和自变数、与位向量运算相关联的计算命令等等。信道控制器143可向多个存储器装置120-1、…、120-n发送微码指令,例如组命令和自变数、pim命令、状态和异常信息等等,以在存储器装置的给定组内存储那些微码指令。举例来说,信道控制器143和/或组仲裁器145可例如通过信道接口141-1、…、141-n、相应多个存储器装置120-1、…、120-n中的相应多个组121-1、…、121-7发送与位向量运算相关联的指令,如从主机110接收到。

图2是说明根据本公开的数个实施例的感测电路250的示意图。感测电路250可表示图1a中所展示的感测电路150。在图2中,存储器单元包含存储元件,例如电容器、和存取装置,例如晶体管。举例来说,第一存储器单元包含晶体管202-1和电容器203-1,且第二存储器单元包含晶体管202-2和电容器203-2等等。在此实例中,存储器阵列230是一晶体管一电容器(onetransistoronecapacitor,1t1c)存储器单元的dram阵列。在数个实施例中,存储器单元可以是破坏性读取存储器单元,例如读取存储于单元中的数据会破坏数据使得最初存储于单元中的数据在被读取之后刷新。

存储器阵列230的单元可以由字线204-x(行x)、204-y(行y)等等耦合的行和由互补感测线的对,例如digit(n-l)/digit(n-l)_、digit(n)/digit(n)_、digit(n+l)/digit(n+l)_耦合的列布置。对应于每一对互补感测线的个别感测线还可分别被称作数据线205-1(d)和205-2(d_)。虽然在图2中仅展示一对互补数据线,但是本公开的实施例不受如此限制,且存储器单元阵列可包含额外列的存储器单元和/或数据线,例如4,096、8,192、16,384个数据线等等。

存储器单元可耦合到不同数据线和/或字线。举例来说,晶体管202-1的第一源极/漏极区域可耦合到数据线205-1(d),晶体管202-1的第二源极/漏极区域可耦合到电容器203-1,且晶体管202-1的栅极可耦合到字线204-y。晶体管202-2的第一源极/漏极区域可耦合到数据线205-2(d_),晶体管202-2的第二源极/漏极区域可耦合到电容器203-2,且晶体管202-2的栅极可耦合到字线204-x。如图2中所展示的单元板可耦合到电容器203-1和203-2中的每一个。单元板可以是对可在各种存储器阵列配置中被施加参考电压,例如接地,的共同节点。

存储器阵列230耦合到根据本公开的数个实施例的感测电路250。在此实例中,感测电路250包含对应于存储器单元的相应列,例如耦合到相应对互补数据线,的感测放大器206和计算组件231。感测放大器206可耦合到所述互补感测线205-1和205-2对。计算组件231可通过通过门207-1和207-2耦合到感测放大器206。通过门207-1和207-2的栅极可耦合到逻辑运算选择逻辑213。

在先前方法中,可例如通过包含i/o线的总线将数据从存储器阵列和感测电路传送到例如处理器、微处理器和/或计算引擎等处理资源,所述处理资源可包含alu电路和/或经配置以执行适当操作的其它功能单元电路。但是,将数据从存储器阵列和感测电路传送到此(类)处理资源会涉及相当大的时耗和/或功耗。即使处理资源与存储器阵列位于相同芯片上,但是会在将数据从阵列移出到计算电路的过程中消耗大量功率,这会涉及执行感测线(可在本文中被称作数字线或数据线)地址存取,例如发射列解码信号,以便将来自感测线的数据传送到i/o线,例如本地i/o线,上、传送在阵列外围的可被传送到主机中的高速缓冲存储器的数据、并将所述数据提供到外围计算电路。

此外,处理资源,例如计算引擎,的电路可不遵守与存储器阵列相关联的间距规则。举例来说,存储器阵列的存储器单元可具有4f2或6f2单元大小,其中“f”是对应于单元的特征大小。因而,与先前pim系统的alu电路相关联的装置,例如逻辑门,可能不能够与存储器单元按间距形成,这会影响例如芯片大小和/或存储器密度。在一些计算系统和子系统,例如中央处理单元(centralprocessingunit,cpu),的情境下,可在不与存储器成间距和/或在芯片上的位置中处理数据,如本文所描述,所述存储器例如是阵列中的存储器单元。举例来说,可通过与主机相关联而非与存储器成间距的处理资源处理数据。

相比之下,本公开的数个实施例可包含控制电路系统和/或感测电路,所述控制电路系统和/或感测电路例如包含与阵列中的存储器单元按间距形成的如本文所描述,的感测放大器和/或计算组件,且经配置以,例如能够与所述存储器单元成间距地执行例如本文中所描述的计算功能的计算功能,例如运算。感测电路能够执行数据感测和计算功能,并能够至少临时地存储,例如高速缓冲,存储器单元阵列本地的数据。

在一些实施例中,本文中所描述的感测电路150可与一对互补感测线按相同间距形成。作为实例,一对互补存储器单元可具有具有6f2间距,例如3f×2f的单元大小。如果用于互补存储器单元的一对互补感测线的间距是3f,那么成间距的感测电路指示感测电路,例如每个相应对的互补感测线的感测放大器和对应计算组件,形成为适配于互补感测线的3f间距内。

本公开的数个实施例可包含与阵列中的存储器单元按间距形成的感测电路150,例如包含感测放大器和/或计算组件。感测电路150可经配置以用于,例如能够执行计算功能,例如逻辑运算。

逻辑运算选择逻辑213可经配置以包含用于控制耦合在感测放大器206与计算组件231之间未换位的所述对互补感测线的通过门的通过门逻辑,和/或用于控制耦合在感测放大器206与计算组件231之间换位的所述对互补感测线的调换栅极的调换栅极逻辑。逻辑运算选择逻辑213还可耦合到所述对互补感测线205-1和205-2。逻辑运算选择逻辑213可经配置以基于选定逻辑运算而控制通过门207-1和207-2的连续性,如在下文针对逻辑运算选择逻辑213的各种配置详细描述。

可操作感测放大器206以确定存储于选定存储器单元中的数据值,例如逻辑状态。感测放大器206可包含交叉耦合的锁存器,所述锁存器可在本文中被称作主锁存器。在图2中说明的实例中,对应于感测放大器206的电路包含锁存器215,所述锁存器包含耦合到一对互补数据线d205-1和d_205-2的四个晶体管。但是,实施例不限于此实例。锁存器215可以是交叉耦合的锁存器,例如,例如n沟道晶体管等一对晶体管,例如nmos晶体管227-1和227-2,的栅极,与例如p沟道晶体管等另一对晶体管,例如pmos晶体管229-1和229-2,的栅极交叉耦合。包含晶体管227-1、227-2、229-1和229-2的交叉耦合式锁存器215可被称作主锁存器。

在操作中,当正感测,例如读取,存储器单元时,数据线205-1(d)或205-2(d_)中的一个上的电压将略微大于数据线205-1(d)或205-2(d_)中的另一个上的电压。act信号和rnl*信号可驱动为低以启用,例如发射,感测放大器206。具有更低电压的数据线205-1(d)或205-2(d_)将把pmos晶体管229-1或229-2中的一个接通到比pmos晶体管229-1或229-2中的另一个更大的程度,由此将具有更高电压的数据线205-1(d)或205-2(d_)驱动高到比将另一数据线205-1(d)或205-2(d_)驱动高更大的程度。

类似地,具有更高电压的数据线205-1(d)或205-2(d_)将把nmos晶体管227-1或227-2中的一个接通到比nmos晶体管227-1或227-2中的另一个更大的程度,由此将具有更低电压的数据线205-1(d)或205-2(d_)驱动低到比将另一数据线205-1(d)或205-2(d_)驱动低更大的程度。因此,在短延迟之后,具有略微更大的电压的数据线205-1(d)或205-2(d_)被驱动成穿过源晶体管211的供应电压vcc的电压,且另一数据线205-1(d)或205-2(d_)被驱动成穿过吸收晶体管213的参考电压,例如接地,的电压。因此,交叉耦合的nmos晶体管227-1和227-2以及pmos晶体管229-1和229-2充当感测放大器对,所述感测放大器对放大数据线205-1(d)和205-2(d_)上的差分电压并用以锁存从所选存储器单元感测到的数据值。

实施例不限于图2中所说明的感测放大器206配置。作为实例,感测放大器206可以是电流模式感测放大器和/或单端感测放大器,例如耦合到一个数据线的感测放大器。而且,本公开的实施例不限于折叠式数据线架构,例如图2中所展示的折叠式数据线架构。

结合计算组件231,可操作感测放大器206以执行将来自阵列的数据用作输入的各种逻辑运算。在数个实施例中,逻辑运算的结果可存储回到阵列而不通过数据线地址存取传送数据,例如不发射列解码信号使得通过本地i/o线将数据传送到阵列和感测电路外部的电路。因而,本公开的数个实施例可比各种先前方法使用更少功率来实现执行逻辑运算和与其相关联的计算功能。此外,因为数个实施例不需要跨越i/o线例如在存储器同一离散处理器之间传送数据以便执行计算功能,所以数个实施例可相比于先前方法实现增加的并行处理能力。

感测放大器206可进一步包含平衡电路214,所述平衡电路可经配置以平衡数据线205-1(d)与205-2(d_)。在此实例中,平衡电路214包含耦合于数据线205-1(d)与205-2(d_)之间的晶体管224。平衡电路214还包含各自具有耦合到平衡电压,例如vdd/2,的第一源极/漏极区域的晶体管225-1和225-2,其中vdd是与阵列相关联的供应电压。晶体管225-1的第二源极/漏极区域可耦合到数据线205-1(d),且晶体管225-2的第二源极/漏极区域可耦合到数据线205-2(d_)。晶体管224、225-1与225-2的栅极可耦合在一起,且耦合到平衡(eq)控制信号线226。因而,激活eq会启用晶体管224、225-1和225-2,这会有效地将数据线205-1(d)与205-2(d_)短路到一起和短路到平衡电压,例如vdd/2。

虽然图2展示包含平衡电路214的感测放大器206,但是实施例不受如此限制,且平衡电路214可与感测放大器206离散地实施、实施于与图2中所展示的配置不同的配置中或完全不实施。

如下文进一步描述,在数个实施例中,可操作感测电路,例如感测放大器206和计算组件231,以执行选定逻辑运算,并首先在感测放大器206或计算组件231中的一个中存储结果而不通过i/o线传送来自感测电路的数据,例如不通过激活列解码信号来执行数据线地址存取。

对逻辑运算,例如涉及数据值的布尔逻辑函数,的执行是基本且常用的。布尔逻辑函数用于许多更高级的函数中。因此,可通过改善型逻辑运算实现的速度和/或功率效率可转换成更高阶功能性的速度和/或功率效率。

如图2中所展示,计算组件231还可包含锁存器,所述锁存器可在本文中被称作次要锁存器264。次锁存器264可以类似于上文关于主锁存器215所描述的方式的方式配置和操作,不同的是次锁存器的所述对交叉耦合的p沟道晶体管,例如pmos晶体管,可使其相应源耦合到供应电压,例如vdd,且次锁存器的所述对交叉耦合的n沟道晶体管,例如nmos晶体管,可使其相应源选择性地耦合到参考电压,例如接地,使得持续启用次锁存器。计算组件的配置不限于图2中在231处所展示的配置,且在下文进一步描述各种其它实施例。

图3是说明根据本公开的数个实施例的存储器装置的感测电路的另一示意图。图3将感测电路说明为能够实施例如逻辑运算。

图3展示耦合到一对互补感测线305-1和305-2的感测放大器306、逻辑运算选择逻辑313、和通过通过门307-1和307-2耦合到感测放大器306的计算组件331。图3中展示的感测放大器306可对应于图2中所展示的感测放大器206。图3中展示的计算组件331可对应于图2中所展示的计算组件231。感测放大器306和计算组件331可包含于例如如图1a中的150和图2中的250处所展示的感测电路中。图3中展示的逻辑运算选择逻辑313可对应于图2中所展示的逻辑运算选择逻辑213。通过门307-1和307-2的栅极可受逻辑运算选择逻辑313信号,例如通过(pass)控制。举例来说,逻辑运算选择逻辑313的输出可耦合到通过门307-1和307-2的栅极。另外,计算组件331可包含经配置以使数据值左右移位的可加载移位寄存器。

如图3中所说明,计算组件331可包含经配置以使数据值左右移位的可加载移位寄存器的相应级,例如移位单元。举例来说,如图3中所说明,移位寄存器的每个计算组件331,例如级,包含一对右移晶体管381和386、一对左移位晶体管389和390、以及一对反相器387和388。信号phase1r、phase2r、phase1l和phase2l可应用于相应控制线382、383、391和392,以与根据本文所描述的实施例而执行逻辑运算和/或移位数据相关联地启用/停用对应计算组件331的锁存器上的反馈。

图3中所说明的感测电路展示耦合到数个逻辑选择控制输入控制线的操作选择逻辑313,所述控制线包含iso、tf、tt、ft和ff。当通过经确证的iso控制信号启用隔离晶体管350-1和350-2时,从逻辑选择控制输入线上的逻辑选择控制信号的条件以及所述对互补感测线305-1和305-2上存在的数据值确定从多个逻辑运算对逻辑运算的选择。

根据各种实施例,操作选择逻辑313可包含四个逻辑选择晶体管:耦合于调换晶体管342的栅极与tf信号控制线之间的逻辑选择晶体管362;耦合于通过门307-1和307-2的栅极与tt信号控制线之间的逻辑选择晶体管352;耦合于通过门307-1和307-2的栅极与ft信号控制线之间的逻辑选择晶体管354;以及耦合于调换晶体管342的栅极与ff信号控制线之间的逻辑选择晶体管364。逻辑选择晶体管362和352的栅极通过隔离晶体管350-1(具有耦合到iso信号控制线的栅极)耦合到真感测线。逻辑选择晶体管364和354的栅极通过隔离晶体管350-2(也具有耦合到iso信号控制线的栅极)耦合到互补感测线。

所述对互补感测线305-1和305-2上存在的数据值可通过通过门307-1和307-2加载到计算组件331中。计算组件331可包含可加载移位寄存器。当通过门307-1和307-2打开时,所述对互补感测线305-1和305-2上的数据值被传递给计算组件331并由此加载到可加载移位寄存器中。当启动感测放大器时,所述对互补感测线305-1和305-2上的数据值可以是存储于感测放大器306中的数据值。在此实例中,逻辑运算选择逻辑信号pass是高的以打开通过门307-1和307-2。

iso、tf、tt、ft和ff控制信号可用以选择逻辑函数以基于感测放大器306中的数据值(“b”)和计算组件331中的数据值(如图2中所展示的“a”)而实施。具体来说,iso、tf、tt、ft和ff控制信号经配置以选择逻辑函数以独立于所述对互补感测线305-1和305-2上存在的数据值而实施(但是所实施逻辑运算的结果可取决于所述对互补感测线305-1和305-2上存在的数据值)。举例来说,iso、tf、tt、ft和ff控制信号选择逻辑运算以直接实施,这是因为所述对互补感测线305-1和305-2上存在的数据值不通过逻辑来操作通过门307-1和307-2的栅极。

此外,图3展示经配置以在感测放大器306与计算组件331之间调换所述对互补感测线305-1和305-2的定向的调换晶体管342。当调换晶体管342打开时,调换晶体管342的感测放大器306侧上的所述对互补感测线305-1和305-2上的数据值相对地耦合到调换晶体管342的计算组件331侧上的所述对互补感测线305-1和305-2,并由此加载到计算组件331的可加载移位寄存器中。

当iso控制信号线激活且tt控制信号激活,例如高,且真感测线上的数据值是“1”或ft控制信号激活,例如高,且补足感测线上的数据值是“1”时,逻辑运算选择逻辑313信号pass可激活成例如高以打开通过门307-1和307-2,例如导电。

真感测线上的是“1”的数据值打开逻辑选择晶体管352和362。互补感测线上的是“1”的数据值打开逻辑选择晶体管354和364。如果iso控制信号或相应tt/ft控制信号或对应感测线,例如特定逻辑选择晶体管的栅极耦合到的感测线,上的数据值不高,那么通过门307-1和307-2将不由特定逻辑选择晶体管打开。

当iso控制信号线激活且tt控制信号激活,例如高,且真感测线上的数据值是“1”或ff控制信号激活,例如高,且补足感测线上的数据值是“1”时,逻辑运算选择逻辑信号pass*可激活成例如高以打开调换晶体管342,例如导电。如果相应控制信号或对应感测线,例如特定逻辑选择晶体管的栅极耦合到的感测线,上的数据值不高,那么调换晶体管342将不由特定逻辑选择晶体管打开。

pass*控制信号不必与pass控制信号互补。pass和pass*控制信号有可能同时两者都被激活或都被去激活。但是,同时激活pass和pass*控制信号两者将所述对互补感测线短路在一起,这会是应被避免的破坏性配置。

图3中所说明的感测电路经配置以选择多个逻辑运算中的一个以从四个逻辑选择控制信号直接实施,例如,逻辑运算选择不取决于所述对互补感测线上存在的数据值。逻辑选择控制信号的一些组合可致使同时打开通过门307-1和307-2和调换晶体管342两者,这会将所述对互补感测线305-1与305-2短路在一起。根据本公开的数个实施例,可使用图3中所说明的感测电路实施的逻辑运算可以是图4中所展示的逻辑表中概括的逻辑运算。

图4是说明根据本公开的数个实施例的使用图3中展示的感测电路来实施的可选逻辑运算结果的逻辑表。四个逻辑选择控制信号,例如tf、tt、ft和ff,结合互补感测线上存在的特定数据值,可用以选择待实施的多个逻辑运算中的涉及存储于感测放大器306和计算组件331中的开始数据值的一个。四个控制信号,结合互补感测线上存在的特定数据值,控制通过门307-1和307-2和调换晶体管342的连续性,这又在发射之前/之后影响计算组件331和/或感测放大器306中的数据值。可选择地控制调换晶体管342的连续性的能力促进实施涉及逆数据值,例如逆运算数和/或逆结果等等,的逻辑运算。

图4中所说明的逻辑表4-1展示存储于计算组件331中在444处的列a中展示的开始数据值和存储于感测放大器306中在445处的列b中展示的开始数据值。逻辑表4-1中的另外3个列标题指通过门307-1和307-2和调换晶体管342的连续性,其可分别受控制为打开或关闭,这取决于四个逻辑选择控制信号,例如tf、tt、ft和ff,结合所述对互补感测线305-1和305-2上存在的特定数据值的状态。“未打开(notopen)”列对应于通过门307-1和307-2和调换晶体管342两者处于非导电条件下,“打开真(opentrue)”对应于通过门307-1和307-2处于导电条件下,且“打开反转(openinvert)”对应于调换晶体管342处于导电条件下。未在逻辑表4-1中反映对应于通过门307-1和307-2和调换晶体管342两者处于导电条件下的配置,这是因为这会致使感测线短路在一起。

通过选择性地控制通过门307-1和307-2和调换晶体管342的连续性,逻辑表4-1的上部部分的三个列中的每一个可与逻辑表4-1的下部部分的三个列中的每一个组合,以提供对应于九个不同逻辑运算的3×3=9个不同结果组合,如由475处展示的各种连接路径指示。在图4中所说明的逻辑表4-2中概括可使用例如图2中的感测电路例如250实施的九个不同可选逻辑运算,包含xor逻辑运算。

图4中所说明的逻辑表4-2的列展示包含逻辑选择控制信号的状态的标题480。举例来说,在行476中提供第一逻辑选择控制信号的状态,在行477中提供第二逻辑选择控制信号的状态,在行478中提供第三逻辑选择控制信号的状态,且在行479中提供第四逻辑选择控制信号的状态。在行447中概括对应于结果的特定逻辑运算。

因此,本文中所描述的实施例提供用于执行存储器内处理,例如存储器内运算的方法,可利用如本文所描述的存储器装置101,例如具pim能力的装置,执行所述存储器内处理。此方法的实例可包含在具pim能力的装置上的经配置以协调计算操作的定序器132处,例如在结合图1a描述的定序器132处,接收与位向量运算相关联的计算请求。可从与具pim能力的装置101上的定序器132分离的源,例如主机110,接收计算请求。可通过定序器132将计算请求解码成能够执行为与位向量运算相关联的对应多个计算操作的多个微码指令。方法可包含使用具pim能力的装置101上的且可选择地耦合到定序器132的例如如在133处展示并结合图1a描述的定时电路。定时电路133可使用具pim能力的装置101上的感测电路150来控制用于执行与位向量运算相关联的所述多个计算操作的所述多个微码指令的定时。

在一些实施例中,方法可进一步包含使用具pim能力的装置101上的定时电路133以控制使用与具pim能力的装置101上的存储器阵列130的感测线205按间距形成的感测电路150来执行逻辑运算的定时。方法可进一步包含使用与具pim能力的装置101上的定时电路133相关联的定序器132以产生操作周期的序列,如本文所描述,以使用感测电路来执行与位向量运算相关联的所述多个计算操作。

方法可进一步包含使用主机110上的例如如在131处展示并结合图1a描述的控制逻辑,以执行与位向量运算相关联的命令指令集并例如通过在157处展示并结合图1a描述的边带信道将命令指令集作为计算请求发布到定序器132。命令指令集可例如由正被定序器132中的vliw控制器解码的vliw执行为个别微码指令,以致使在具pim能力的装置101上执行对应多个计算操作。

方法可进一步包含从与具pim能力的装置101分离的控制逻辑131发布与位向量运算相关联的计算请求和在通过边带信道157可选择地耦合到控制逻辑131的定序器132处接收计算请求,其中边带信道157与与具pim能力的装置101相关联的例如如在154处展示并结合图1a描述的ddr控制总线分离。使用分离的边带信道157与ddr控制总线154可实现边带信道157和/或ddr控制总线154的带宽减小。

方法可进一步包含通过主机110上的控制逻辑131从具pim能力的装置101上的存储器单元的阵列130提取所述多个微码指令。主机110上的控制逻辑131可对从具pim能力的装置101提取的所述多个微码指令作为计算请求进行编码。可在具pim能力的装置101上的定序器132处从控制逻辑131接收计算请求。在数个实施例中,主机110与具pim能力的装置101可形成于应是soc的同一集成电路上。

分离主机110上的控制逻辑131与具pim能力的装置101上的额外控制电路,例如定序器132、定时电路133和/或ras管理器139,可提供数个优点。举例来说,基于主机110中的各种存储器资源,例如处理器、微处理器、asic、cpu等等相对于存储器装置101的增加的功率和/或可存取性,控制逻辑131可以增加的速度和/或效率操作。定序器132、定时电路133和ras管理器139全部在具pim能力的装置101上可使得这些组件能够按相同计算速率操作,例如如由控制器140和/或具pim能力的装置101的时钟速度确定。这还可有助于相比于定位于主机110上并通过边带信道157与存储器装置101通信的定序器132、定时电路133和/或ras管理器139而减小边带信道157的带宽。

可通过主机110上的逻辑,例如控制逻辑131,控制存储器装置101,例如具pim能力的装置。在数个实施例中,主机可以是soc,或结合具pim能力的装置的主机可以是soc。具pim能力的装置101可包含计算元件和向量定序元件,例如定序器132,以将从控制逻辑131接收到的指令集转换成个别微码指令,以使得在具pim能力的装置上执行对应多个计算操作。主机110可因此具有驻留指令协议、总线接口,例如如中所展示图1a的边带信道157的a/c总线(未展示)和/或带外总线(未展示)、和可控制和/或安排待在具pim能力的装置101上执行的位向量运算的总线应用编程接口(applicationprograminterface,api),例如控制逻辑131和/或信道控制器143。

实施为总线接口,例如实施为如本文所描述的边带接口,的边带信道157可使用用于发送到定序器132的vliw控制器的指令,例如消息,的总线协议。总线协议可使用且指令可包含以下信息。指令可包含指示应执行所述多个计算操作的哪一序列的入口点标识符、vliw控制器的内部寄存器的初始值、和/或用以指示涉及操作的位向量的长度,例如成行,的信息。在数个实施例中vliw控制器可具有八个16位寄存器,得到总共128个位。可在不多于10个位中描述入口点标识符。可在不多于12个位中描述用以指示位向量的长度的信息。因而,在数个实施例中,总共高达150个位可含有足以起始vliw控制器的功能性,例如启动vliw控制器的指令,例如信息。但是,在数个实施例中,使用各种技术,例如寄存器视窗化和使用专用寄存器以存储对多个指令通用的位值等等可将位数减小到80位或更小。

图5是说明根据本公开的数个实施例的用于边带信道157,例如总线协议,的数个信号定义580的表。图5中展示的表包含标头以指示数个列的内容。在数个实施例中,表可包含三个列。在图5中所说明的实施例中,所述三个列含有信号名称、用以指示与信号名称相关联的功能性的描述、和关于存储器装置101,例如具pim能力的装置,的相关联信号的方向。方向可指示是否通过边带信道157从主机110,例如从控制逻辑131,将信号输入到存储器装置101,例如输入到定序器132的vliw控制器,或指示是否从存储器装置101,例如从定序器132的vliw控制器,将信号输入到主机110,例如输出到控制逻辑131。

图6是说明根据本公开的数个实施例的用于边带信道157,例如总线协议,的数个命令690的表。图6中所展示的表包含用以指示待通过边带信道157发送的特定命令的标头。在数个实施例中,表可包含两个列。在图6中所说明的实施例中,两个列含有四个特定命令690,所述特定命令例如具有用以指示与命令相关联的功能性的描述和四个命令690中的每一个可被编码的方式的实例,例如二进制方式。在数个实施例中,四个命令690可以是nop691(“无操作”的首字母缩写词)、从属写入692、从属结果693和查询警报694,如本文所描述。可通过数个信道接口将命令发送,例如引导到控制器140-1、…、140-7,所述信道接口例如是如结合图1b所展示并描述的信道接口141-1、…、141-n,所述控制器例如包含存储器装置120-1、…、120-n的多个组当中的特定组121-0、…、121-7的被发送命令的定序器132。

四个命令690可例如在包含主机110和存储器装置的组的soc中用作命令以执行物理上与每个组中的定序器132相关联的vliw控制器的功能。可如下执行实例操作,例如如由soc的控制逻辑131引导。可通过执行使得能够执行写入操作的多个操作,例如写入操作的子操作,来实施实例写入操作,如下文所描述。

当未选择从属选择(slaveselect,ss)585引脚时,可通过多路复用器选择从属数据输出(slavedataout,sdo)583引脚和组需要行动(abankrequiresaction,arert)587引脚的值,以分别匹配从属数据入(slavedatain,sdi)584引脚和警报中继器入(alertrepeaterin,ari)588引脚处的值。当选择ss585引脚时,sdo583引脚和警报(alert)587引脚的值可反映边带信道157的控制器,例如信道控制器143和/或存储器装置控制器140,的状态。为了soc与特定组通信来致使vliw控制器起始对操作的执行,soc可选择期望从属装置,例如特定组121和/或相关联边带信道157,对组选择(bankselect,bs)586引脚上的期望组进行编码,并对sc589引脚上的从属写入692命令进行编码。在数个实施例中,可通过例如与先前时钟周期的关闭和新时钟周期的开口相关联的时钟的上升边缘上的从属时钟入(clk)581引脚接受从属写入692命令。soc可接着在下一连续数个时钟,例如150个时钟周期上对vliw命令进行定时入。在此时间期间,从属装置可例如响应于从属结果693命令或未经提示而将状态响应定时回到从时钟出(clko)582引脚上的soc。在数个实施例中,响应于来自特定组和/或其中的存储器装置的alert587引脚上的信号,可通过相关联边带信道157发送查询警报694命令以查询,例如确定,警报的起因。在数个实施例中,从属命令(sc)589引脚可在不将执行操作时对nop691进行编码。

在数个实施例中,运算的序列,例如刚描述的子操作,可具有每十(10)微秒(μs)一个操作的平均执行速率。因此,边带信道157的带宽可具有含有指令的150位的位率除以10μs以得到15,000,000位(15兆位)每秒的带宽。

虽然已且在本文中说明并描述包含控制器、ras管理器、ras组件、存储器阵列、感测电路、控制逻辑、定序器、定时电路和/或边带信道的各种组合和配置的实例实施例,但是本公开的实施例不限于在本文中明确叙述的那些组合。本文中所公开的控制器、ras管理器、ras组件、存储器阵列、感测电路、控制逻辑、定序器、定时电路和/或边带信道的其它组合和配置明确地包含于本公开的范围内。

虽然已在本文中说明并描述了具体实施例,但是所属领域的一般技术人员应理解,经计算以实现相同结果的布置可取代所展示具体实施例。本公开意图覆盖本公开的一或多个实施例的改编或变化。应理解,已以说明性方式而非限制性方式进行以上描述。对于所属领域的技术人员来说,在审阅上述描述之后,上述实施例的组合以及本文中未具体描述的其它实施例将是显而易见的。本公开的一或多个实施例的范围包含使用以上结构和方法的其它应用。因此,应参考所附权利要求书连同此类权利要求有权享有的等效物的全范围确定本公开的一或多个实施例的范围。

在实前述具体实施方式中,出于简化本公开的目的而将一些特征一并归到单个实施例中。此公开方法不应被理解为反映本公开的所公开的实施例必须比在每项权利要求中明确叙述使用更多特征的意图。实际上,如所附权利要求书所反映,本发明主题在于单个所公开实施例的不到全部的特征。因此,以下权利要求特此并入于具体实施方式中,其中每项权利要求就其自身来说作为单独实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1