首页 / 专利库 / 电脑零配件 / 微码 / 用于逻辑/存储器装置的设备及方法

用于逻辑/存储器装置的设备及方法

阅读:799发布:2020-05-11

专利汇可以提供用于逻辑/存储器装置的设备及方法专利检索,专利查询,专利分析的服务。并且本 发明 提供用于逻辑/ 存储器 装置的设备及方法。实例性设备包括彼此邻近且耦合的多个存储器组件。逻辑组件耦合到所述多个存储器组件。至少一个存储器组件包括存储器装置,所述存储器装置具有存储器单元阵列及耦合到所述阵列的感测 电路 。所述感测电路包含读出 放大器 及计算组件。时序电路耦合到所述阵列及所述感测电路且经配置以控制所述感测电路的操作时序。所述逻辑组件包括耦合到所述时序电路的控制逻辑。所述控制逻辑经配置以执行指令以致使所述感测电路执行所述操作。,下面是用于逻辑/存储器装置的设备及方法专利的具体信息内容。

1.一种设备,其包括:
多个存储器组件,其彼此邻近且耦合,其中所述多个存储器组件中的每一者包括多个经分割存储库;
逻辑组件,其包括多个经分割逻辑,每一经分割逻辑耦合到所述多个经分割存储库的子集;
其中所述多个经分割存储库中的每一者包括:
存储器单元阵列;
感测电路,其耦合到所述阵列,所述感测电路包括读出放大器及计算组件;及时序电路,其耦合到所述阵列及所述感测电路,所述时序电路经配置以控制所述感测电路的操作的时序;且
其中所述多个经分割逻辑中的每一者包括耦合到相应子集中的多个时序电路的控制逻辑,所述控制逻辑经配置以执行指令以致使所述感测电路执行所述操作;及其中:
所述存储器单元阵列是动态随机存取存储器DRAM阵列;及
所述时序电路与双倍数据速率DDR寄存器分离,所述DDR寄存器用于控制所述阵列的读取及写入DRAM存取请求
2.根据权利要求1所述的设备,其中所述时序电路与所述控制逻辑处于不同时钟域中且以不同时钟速度操作。
3.根据权利要求1所述的设备,其中所述操作包含逻辑AND、OR及/或XOR布尔运算。
4.根据权利要求1所述的设备,其中所述控制逻辑包含经配置以对存储器中处理PIM命令进行操作的精简指令集计算机RISC型控制器
5.根据权利要求1所述的设备,其中:
所述控制逻辑耦合到所述逻辑组件上的定序器;
所述控制逻辑是微编码引擎;且
其中所述控制逻辑及所述定序器可分别执行微码指令及协调所述逻辑组件上的存储器中处理PIM操作。
6.根据权利要求5所述的设备,其中所述时序电路耦合到所述控制逻辑且经配置以使用所述感测电路来控制逻辑运算的时序。
7.根据权利要求1所述的设备,其中所述逻辑组件及所述多个存储器组件包括:
多个堆叠式动态随机存取存储器DRAM存储器裸片,其通过穿通孔TSV耦合到逻辑裸片以形成存储器中处理PIM装置。
8.一种用于操作存储器装置的方法:
在逻辑裸片处接收存储器中处理PIM请求,所述逻辑裸片包括多个经分割逻辑并耦合到多个存储器裸片,其中:
所述多个存储器裸片中的每一者包括多个经分割存储库;且
每一经分割逻辑耦合到所述多个经分割存储库的子集;
通过耦合到所述多个经分割逻辑的切换电路将所接收PIM请求路由到所述多个经分割逻辑中的耦合到特定经分割存储库的一者,与所述PIM请求相关联的逻辑运算将在所述特定经分割存储库上执行;
在所述逻辑裸片上执行微码指令以致使在所述存储器裸片上执行所述逻辑运算;及在所述逻辑裸片上在所接收存储器阵列请求与所接收PIM请求之间应用调度策略。
9.根据权利要求8所述的方法,其中所述方法包括对存储器阵列请求应用优先于PIM请求的优先级。
10.根据权利要求8所述的方法,其中所述方法包括对PIM请求应用优先于存储器阵列请求的优先级。
11.根据权利要求8所述的方法,其中所述方法包括:
使用所述存储器裸片上的时序电路以使用感测电路来控制逻辑运算的时序,所述感测电路与所述存储器裸片上的存储器阵列同间距;
使用所述逻辑裸片上的控制逻辑以执行所述微码指令;及
以不同时钟速度操作所述时序电路和所述控制逻辑。
12.根据权利要求11所述的方法,其中所述方法包括使用所述存储器裸片上的时序电路,所述时序电路与与所述存储器阵列相关联的双倍数据速率DDR控制寄存器分离。
13.一种用于操作逻辑/存储器装置的方法,其包括:
在所述逻辑/存储器装置的逻辑裸片处接收存储器中处理PIM请求;
在所述逻辑裸片处接收存储器阵列请求;
通过所述逻辑裸片的切换电路路由从主机接收的所述存储器阵列请求;
通过所述切换电路路由从所述主机接收的所述PIM请求以使用感测电路执行逻辑运算;
使用所述逻辑裸片上的控制逻辑以致使在与所述逻辑/存储器装置的存储器裸片上的存储器阵列相关联的感测电路上执行逻辑运算;及
使用所述存储器裸片上的时序电路以为所述存储器裸片上的所述逻辑运算提供时序,且其中所述方法还包括:
在所述存储器裸片上使用状态机作为所述时序电路以为所述逻辑运算提供时序;及使用与所述时序电路分离的双倍数据速率DDR控制寄存器以提供对所述存储器阵列的存取。
14.根据权利要求13所述的方法,其中所述方法包括在所述逻辑裸片上使用精简指令集计算机RISC型控制器作为所述控制逻辑以致使在所述感测电路上执行所述逻辑运算。
15.根据权利要求13所述的方法,其中使用所述逻辑裸片上的所述控制逻辑包括使用所述控制逻辑以:
从所述存储器阵列提取微码指令;
将所述微码指令解码为由所述逻辑裸片上的定序器实施的函数调用。
16.根据权利要求13所述的方法,其中所述方法包括使用与所述存储器裸片上的所述时序电路相关联的定序器以产生用以在所述感测电路上执行所述逻辑运算的操作循环的序列。
17.根据权利要求13所述的方法,其中使用所述逻辑裸片上的所述控制逻辑包括使用所述控制逻辑以执行所述逻辑裸片上的微码指令以致使在所述存储器裸片上执行逻辑运算。
18.根据权利要求13所述的方法,其中所述方法包括使用与所述逻辑裸片上的所述控制逻辑相关联的仲裁电路以在所接收存储器阵列请求和所接收PIM请求之间应用调度策略。
19.一种设备,其包括:
多个存储器组件,其彼此邻近且耦合,其中所述多个存储器组件中的每一者包括多个经分割存储库;
逻辑组件,其包括多个经分割逻辑,每一经分割逻辑耦合到所述多个经分割存储库的子集;
其中所述多个经分割存储库中的每一者包括:
存储器单元阵列;
感测电路,其耦合到所述阵列,所述感测电路包括读出放大器及计算组件;及时序电路,其耦合到所述阵列及所述感测电路,所述时序电路经配置以控制所述感测电路的操作的时序;且
其中所述多个经分割逻辑中的每一者包括耦合到相应子集中的多个时序电路的控制逻辑,所述控制逻辑经配置以执行指令以致使所述感测电路执行所述操作;及其中所述时序电路和所述控制逻辑处于不同时钟域中且以不同时钟速度操作。

说明书全文

用于逻辑/存储器装置的设备及方法

[0001] 本申请发明名称为“用于逻辑/存储器装置的设备及方法”、申请号为201780016434.2、申请日为2017年3月2日的中国发明专利申请的分案申请。

技术领域

[0002] 本发明大体来说涉及半导体存储器及方法,且更具体来说涉及用于逻辑/存储器装置的设备及方法。

背景技术

[0003] 存储器装置通常作为内部半导体集成电路提供于计算机或其它计算系统中。存在许多不同类型的存储器,包含挥发性及非挥发性存储器。挥发性存储器可需要电以维持其数据(例如,主机数据、错误数据等)且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)及闸流管随机存取存储器(TRAM)以及其它。非挥发性存储器在不被供电时可通过存留所存储数据而提供永久数据,且可包含NAND快闪存储器、NOR快闪存储器及电阻可变存储器(例如,相变随机存取存储器(PCRAM))、电阻式随机存取存储器(RRAM)及磁阻式随机存取存储器(MRAM)(例如自旋转矩转移随机存取存储器(STT RAM))以及其它。
[0004] 计算系统通常包含若干个处理资源(例如,一或多个处理器),所述处理资源可检索并执行指令且将经执行指令的结果存储到适合位置。举例来说,处理资源(例如,CPU)可包括可用于通过对数据(例如,一或多个操作数)执行例如AND、OR、NOT、NAND、NOR及XOR及反转(例如,求反)逻辑运算的逻辑运算而执行指令的若干个功能单元,例如算术逻辑单元(ALU)电路、浮点单元(FPU)电路及/或组合逻辑。举例来说,功能单元电路可用于经由若干个逻辑运算而对操作数执行算术运算,例如加法、减法、乘法及/或除法。
[0005] 计算系统中的若干个组件可涉及到将指令提供到功能单元电路以供执行。举例来说,所述指令可由处理资源(例如,控制器及/或主机处理器)执行。数据(例如,将被执行指令的操作数)可存储于可由功能单元电路存取的存储器阵列中。在功能单元电路开始对数据执行指令之前,可从存储器阵列检索指令及/或数据并对所述指令及/或数据进行定序及/或缓冲。此外,由于可在一个或多个时钟循环中通过功能单元电路执行不同类型的操作,因此也可对指令及/或数据的中间结果进行定序及/或缓冲。用以在一或多个时钟循环中完成操作的序列可称为操作循环。鉴于计算装置及/或系统的处理及计算性能以及电力消耗,完成操作循环所消耗的时间甚多。
[0006] 在许多例子中,处理资源(例如,处理器及/或相关联功能单元电路)可在存储器阵列外部,且经由处理资源与存储器阵列之间的总线存取数据以执行一组指令。可改进存储器中处理器(PIM)装置中的处理性能,其中可在存储器内部及/或附近(例如,直接与存储器阵列在同一芯片上)实施处理器。PIM装置可通过减少及/或消除外部通信而节省时间且也可节约电力。附图说明
[0007] 图1是呈计算系统形式的设备的框图,所述计算系统包含耦合到主机、具有存储器中处理(PIM)能力的装置的一个实例。
[0008] 图2是具有PIM能力的装置的一个实例的一部分的另一更详细框图。
[0009] 图3A是根据本发明的若干个实施例的具有在存储器组件与逻辑组件之间共享的逻辑的逻辑/存储器装置的框图。
[0010] 图3B是根据本发明的若干个实施例的具有在存储器组件与逻辑组件之间共享的逻辑的逻辑/存储器装置的另一框图。
[0011] 图4图解说明根据本发明的若干个实施例的计算系统的表示。
[0012] 图5A是图解说明根据本发明的若干个实施例的计算系统的象限的框图。
[0013] 图5B是图解说明根据本发明的若干个实施例的计算系统的象限的另一框图。
[0014] 图6是图解说明根据本发明的若干个实施例的到存储器装置的感测电路的示意图。
[0015] 图7是图解说明根据本发明的若干个实施例的到存储器装置的感测电路的示意图。
[0016] 图8是图解说明根据本发明的若干个实施例的由图3中所展示的感测电路实施的可选择逻辑运算结果的逻辑表。

具体实施方式

[0017] 本发明包含用于逻辑/存储器装置的设备及方法。在一个实例性实施例中,对到逻辑/存储器装置的一或多个存储器组件及逻辑组件两者执行逻辑运算的执行。
[0018] 实例性设备包括彼此邻近且耦合的多个存储器组件。逻辑组件耦合到多个存储器组件。至少一个存储器组件包括经分割部分,所述经分割部分具有存储器单元阵列及耦合到所述阵列的感测电路。感测电路包含经配置以执行操作的读出放大器及计算组件。时序电路耦合到所述阵列及感测电路以控制感测电路的操作时序。逻辑组件包括耦合到时序电路的控制逻辑。控制逻辑经配置以执行指令以与感测电路一起执行操作。
[0019] 逻辑组件可包括逻辑,所述逻辑在若干个单独逻辑/存储器装置当中经分割(也称为“经分割逻辑”)且针对给定逻辑/存储器装置耦合到时序电路。逻辑组件上的经分割逻辑至少包含控制逻辑,所述控制逻辑经配置以执行指令以致使对一或多个存储器组件执行操作。至少一个存储器组件包含具有与存储器单元阵列相关联的感测电路的一部分。所述阵列可以是动态随机存取存储器(DRAM)阵列且所述运算可包含逻辑AND、OR及/或XOR布尔(Boolean)运算。时序电路与控制逻辑可处于不同时钟域中且以不同时钟速度操作。时序电路与其它控制寄存器(例如,双倍数据速率(DDR)寄存器)分离、用于控制阵列(例如,在DRAM阵列中)的读取及写入存取请求
[0020] 在一些实施例中,逻辑/存储器装置允许对存储库(bank)或存储库集合的输入/输出(I/O)通道及存储器中处理(PIM)进行控制,从而允许逻辑经分割以在存储器(例如,动态随机存取存储器(DRAM))组件与逻辑组件之间执行逻辑运算。穿通孔(TSV)可允许逻辑层与DRAM层之间的额外信令。本文中所使用的术语“穿硅通孔(TSV)”是打算包含完全穿过或部分穿过硅及/或除了硅之外的其它单个、复合及/或经掺杂衬底材料而形成的通孔。实施例并不限于此。在具有经增强信令的情况下,PIM操作可被分割在组件之间,此可进一步促进与逻辑组件的处理资源(例如,嵌入式精简指令集计算机(RISC)型处理资源)及/或逻辑组件中的存储器控制器的整合。
[0021] 在本发明的以下详细说明中,参考形成本发明的一部分且其中以图解说明方式展示可如何实践本发明的一或多个实施例的附图。详细地描述这些实施例以使所属领域的技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在不背离本发明的范围的情况下做出过程改变、电改变及/或结构改变。如本文中所使用,例如“N”及“M”等标志符(特定来说,关于图式中的参考编号)指示可包含被如此标记的若干个特定特征。如本文中所使用,“若干个”特定事物可指代这些事物中的一或多者(例如,若干个存储器阵列可指代一或多个存储器阵列)。“多个”打算指代这些事物中的多于一者。
[0022] 本文中的各图遵循编号惯例,其中第一个数字或前几个数字对应于图式的图编号且其余数字识别图式中的元件或组件。可通过使用类似数字来识别不同图之间的类似元件或组件。举例来说,206可指代图2中的元件“06”,且可将图6中的类似元件指代为606。如将了解,可添加、交换及/或消除本文中的各个实施例中所展示的元件以便提供本发明的若干个额外实施例。另外,如将了解,各图中所提供的元件的比例及相对标度打算图解说明本发明的特定实施例,并不被应视为具限制意义。
[0023] 图1是呈计算系统100形式的设备的框图,计算系统100包含耦合到主机110的具有存储器中处理(PIM)能力的装置101的一个实例。具有PIM能力的装置101(也称为“存储器装置101”)可包含控制器140。图1被提供为包含当前具有PIM能力的装置101架构的系统的实例。如将结合图3A到5B中所展示的实施例所描述,结合图1所论述的控制器140的功能中的一或多者可在多个存储器组件及一或多个逻辑组件之间经分割以形成不同逻辑/存储器装置架构。
[0024] 如图1的实例中所展示,存储器装置101可包含存储器阵列130、寄存器136、感测电路150及额外逻辑电路170。系统100可包含单独集成电路,或逻辑及存储器两者可与单芯片系统(SoC)一样位于同一集成装置上。举例来说,系统100可以是服务器系统及/或高性能计算(HPC)系统及/或其一部分。
[0025] 为清晰起见,系统100已被简化以集中于与本发明相关的特征。举例来说,存储器阵列130可以是DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪阵列及/或NOR快闪阵列。阵列130可包括存储器单元,所述存储器单元被布置成通过存取线(其在本文中可称为字线或选择线)耦合的行及通过读出线(其在本文中可称为数据线或数位线)耦合的列。尽管在图1中展示单个阵列130,但实施例并不限于此。举例来说,存储器组件101可包含若干个阵列130(例如,若干个DRAM单元存储库、NAND快闪单元等)。
[0026] 存储器装置101包含用以存经由数据总线156(例如,I/O总线)、通过I/O电路144而提供的地址信号的地址电路142。可通过带外总线157从存储器装置101上的控制器140将状态及/或异常信息提供到主机110及/或逻辑组件。地址信号是通过地址电路142而接收且由行解码器146及列解码器152解码以存取存储器阵列130。可通过使用感测电路150来感测数据线上的电压及/或电流改变来自存储器阵列130读取数据。感测电路150可从存储器阵列130读取并锁存数据的页(例如,行)。I/O电路144可用于经由数据总线156与主机110进行双向数据通信。写入电路148用于将数据写入到存储器阵列130。可经由总线154将地址、控制及/或命令(例如,存储器中处理(PIM)命令)接收到控制器140。
[0027] 寄存器136可包含用以控制阵列130(例如,DRAM阵列)及/或控制器140的操作的控制寄存器(例如,DRAM中的双倍数据速率(DDR)控制寄存器)。如此,寄存器136可耦合到I/O电路144及/或控制器140。在各种实施例中,寄存器136可以是存储器映射式I/O寄存器136。存储器映射式I/O寄存器136可经映射到其中存储微码指令的存储器中的多个位置。
[0028] 在各种实施例中,控制器140可解码经由总线154从主机110接收到的信号。这些信号可包含用于控制对存储器阵列130执行的操作(包含数据读取、数据写入及数据擦除操作)的芯片启用信号、写入启用信号及地址锁存信号。在一或多个实施例中,控制器140的部分可以是对32位及/或64位长度指令进行操作的精简指令集计算机(RISC)型控制器。在各种实施例中,控制器140负责与用以执行逻辑布尔运算(例如AND、OR、XOR等)的感测电路150相关联地执行来自主机110及/或逻辑组件的指令。此外,控制器140可控制阵列(例如,存储器阵列130)中的移位数据(例如,向右或向左)。另外,控制器140的部分可包含状态机、定序器或一些其它类型的控制器,进一步结合图2所描述。
[0029] 下文结合图6到8进一步描述感测电路150的实例及其操作。在各种实施例中,感测电路150可包括多个读出放大器及多个计算组件,所述多个计算组件可用作且在本文中称为累加器,并可用于执行逻辑运算(例如,对与互补数据线相关联的数据)。
[0030] 在各种实施例中,感测电路150可用于在不经由读出线地址存取传送数据的情况下(例如,在不激发列解码信号的情况下)使用作为输入存储于阵列130中的数据执行逻辑运算并将逻辑运算的结果存储回到阵列130。如此,各种计算函数可使用感测电路150且在感测电路150内执行,而非(或与其相关联地)通过感测电路外部的处理资源(例如,通过与主机110相关联的处理器及/或其它处理电路,例如位于存储器装置101上(例如,位于控制器140上或别处)的ALU电路)执行。
[0031] 在各种先前方法中,与操作数相关联的数据(举例来说)将经由感测电路从存储器读取且经由I/O线(例如,经由局域I/O线及/或全域I/O线)提供到外部ALU电路。外部ALU电路可包含若干个寄存器且将使用操作数执行计算函数,且经由I/O线将结果传送回到阵列。相比来说,在本发明的若干个实施例中,感测电路150经配置以在不启用耦合到感测电路
150的I/O线(例如,局域I/O线)的情况下对存储于存储器阵列130中的数据执行逻辑运算且将结果存储回到存储器阵列130。感测电路150可与阵列130的存储器单元同间距地形成。额外外围读出放大器、经扩展行地址(XRA)寄存器、高速缓冲存储器及/或数据缓冲设备(例如,额外逻辑电路170)可耦合到感测电路150且可用于存储(例如,高速缓冲及/或缓冲)本文中所描述的操作的结果。
[0032] 因此,在各种实施例中,不需要在阵列130及感测电路150外部的电路来执行计算函数,这是因为感测电路150可执行适当逻辑运算以在不使用外部处理资源的情况下执行这些计算函数。因此,感测电路150可用于至少在某种程度上补充及/或替换此外部处理资源(或至少此外部处理资源的带宽)。
[0033] 然而,在若干个实施例中,除了由外部处理资源(例如,在主机110上)执行逻辑运算之外,感测电路150也可用于执行逻辑运算(例如,执行指令)。举例来说,主机110上的处理资源及/或存储器装置101上的感测电路150可限于仅执行特定逻辑运算及/或特定数目个逻辑运算。
[0034] 启用I/O线可包含启用(例如,接通)具有耦合到解码信号(例如,列解码信号)的栅极及耦合到I/O线的源极/漏极的晶体管。然而,实施例并不限于启用I/O线。举例来说,在若干个实施例中,感测电路(例如,150)可用于在不启用阵列的列解码线的情况下执行逻辑运算;然而,可启用局域I/O线以便将结果传送到适合位置(例如,传送到外部寄存器)而非传送回到阵列130。
[0035] 图2是具有PIM能力的装置220(例如,图1中的存储器装置101)的一个实例的一部分的另一更详细框图。在图2的实例中,控制器240-1、…、240-7(通常称为控制器240)可与到具有PIM能力的装置220的每一存储库221-1、…、221-7(通常称为221)相关联。在图2的实例中展示八个存储库。然而,实施例并不限于此实例性数目。控制器240可表示图1中所展示的控制器140。每一存储库可包含一或多个存储器单元阵列(未展示)。举例来说,每一存储库可包含一或多个阵列(例如,图1中的阵列130)且可包含图1中所展示的解码器、其它电路及寄存器。在图2中所展示的实例性具有PIM能力的装置220中,控制器240-1、…、240-7展示为具有控制逻辑231-1、…、231-7、定序器232-1、…、232-7及时序电路233-1、…、233-7作为存储器装置220的一或多个存储器库221上的控制器240的一部分。具有PIM能力的装置220可表示图1中所展示的存储器装置101的一部分。
[0036] 如图2的实例中所展示,具有PIM能力的装置220可包含用以在具有PIM能力的装置220处接收数据、地址、控制信号及/或命令的高速接口(HSI)241。在各种实施例中,HSI 241可耦合到与具有PIM能力的装置220相关联的存储库仲裁器245。HSI 241可经配置以从主机(例如,如图1中的110)接收命令及/或数据。如图2的实例中所展示,存储库仲裁器245可耦合到多个存储库221-1、…、221-7。
[0037] 在图2中所展示的实例中,控制逻辑231-1、…、231-7可呈微编码引擎形式,所述微编码引擎负责提取并执行来自是每一存储库221-1、…、221-7的一部分的存储器单元阵列(例如,如图1中的阵列130的阵列)(图2中未详述)的机器指令(例如,微码指令)。定序器232-1、…、232-7也可呈微编码引擎形式。另一选择为,控制逻辑231-1、…、231-7可呈极大指令字(VLIW)型处理资源形式且定序器232-1、…、232-7及时序电路233-1、…、233-7可呈状态机及晶体管电路形式。
[0038] 控制逻辑231-1、…、231-7可将微码指令解码为由定序器232-1、…、232-7实施的函数调用(例如,微码函数调用(uCODE))。微码函数调用可以是以下操作:定序器232-1、…、232-7接收并执行以致使PIM装置220使用感测电路(例如,图1中的感测电路150)执行特定逻辑运算。时序电路233-1、…、233-7可提供时序以协调逻辑运算的执行且负责提供对阵列(例如,图1中的阵列130)的无冲突存取。
[0039] 如结合图1所描述,控制器240-1、…、240-7可经由在图2中展示为255-1、…、255-7的控制线及数据路径而耦合到与存储器单元阵列相关联的感测电路150及/或额外逻辑电路170(包含高速缓冲存储器、缓冲器、读出放大器、经扩展行地址(XRA)锁存器及/或寄存器)。如此,可使用在图2中展示为255-1、…、255-7的数据I/O使图1中所展示的感测电路150及逻辑170与存储器单元阵列130相关联。控制器240-1、…、240-7可控制阵列的常规DRAM操作,例如读取、写入、复制及/或擦除操作等。然而,另外,由控制逻辑231-1、…、231-7检索并执行的微码指令及由定序器232-1、…、232-7接收并执行的微码函数调用致使图1中所展示的感测电路150执行比常规DRAM读取及写入操作更复杂的额外逻辑运算,例如加法、乘法或(作为较特定实例)布尔运算(例如,AND、OR、XOR等)。因此,在此具有PIM能力的装置220实例中,对到PIM装置220的存储库221-1、…、221-7执行微码指令执行及逻辑运算。
[0040] 如此,控制逻辑231-1、…、231-7、定序器232-1、…、232-7及时序电路233-1、…、233-7可操作以针对DRAM阵列产生操作循环的序列。在具有PIM能力的装置220实例中,每一序列可经设计以执行运算(例如,布尔逻辑运算AND、OR、XOR等),所述运算一起达成特定功能。举例来说,操作序列可重复地执行一(1)位加法的逻辑运算以便计算多位总和。每一操作序列可被馈送到耦合到时序电路233-1、…、233-7的先进/先出(FIFO)缓冲器中以提供与感测电路150及/或额外逻辑电路170(其与存储器单元阵列130(例如,图1中所展示的DRAM阵列)相关联)的时序协调。
[0041] 在图2中所展示的实例性具有PIM能力的装置220中,时序电路233-1、…、233-7提供时序且提供对来自四(4)个FIFO队列的阵列的无冲突存取。在此实例中,一个FIFO队列可支持阵列计算、一个FIFO队列可用于指令提取、一个FIFO队列用于微码(例如,Ucode)指令提取,且一个FIFO队列用于DRAM I/O。控制逻辑231-1、…、231-7及定序器232-1、…、232-7两者可产生状态信息,所述状态信息经由FIFO接口路由回到存储库仲裁器245。存储库仲裁器245可汇总此状态数据且经由HSI 241将所述状态数据报告回到主机110。
[0042] 图3A及3B是根据本发明的若干个实施例的逻辑/存储器装置305及307的框图。逻辑/存储器装置实施例305及307图解说明在存储器组件301与逻辑组件302之间经分割的逻辑(也称为“经分割逻辑”)。逻辑/存储器装置实施例305及307可以是如图4中所展示的3D逻辑/存储器装置堆栈的一部分,且可包含将存储器组件301耦合到逻辑组件302的I/O通道355。
[0043] 在一些实施例中,I/O通道可呈穿硅通孔(TSV)的形式。TSV可完全地或部分地穿过硅或者其它单个、复合及/或经掺杂衬底材料而形成到组件。此TSV技术允许逻辑组件302与一或多个存储器组件301之间的额外信令。假定通过TSV的经增强信令,类似于如在图2中展示为240的具有PIM能力的装置控制器操作可在3D逻辑/存储器装置堆栈的逻辑组件302与存储器组件301之间被分割。
[0044] 在图3A及3B的实例性实施例中,控制逻辑331(表示结合图2中的231所描述的控制逻辑结构及功能)可位于逻辑组件302上以增强并促进与分散式计算系统及/或单芯片系统(SoC)环境中的一或多个主机(例如,图5A及5B中所论述的主机510)的处理资源的紧密集成。
[0045] 图2提供PIM装置220实例,其中控制器240描述为具有三个部分;控制逻辑、定序器及时序电路。在所述实例中,时序电路233及定序器232描述为相对小的状态机,且控制逻辑231描述为是微编码引擎。
[0046] 图3A图解说明实例性逻辑/存储器装置305实施例,其中控制逻辑331及定序器332两者位于逻辑/存储器装置305的逻辑组件302上,但仍经由高速I/O通道355耦合到一或多个存储器组件301。如上所述,控制逻辑331可呈微编码引擎(例如嵌入式精简指令集计算机(RISC)型控制器)形式且定序器332可呈状态机形式。
[0047] 另一选择为,控制逻辑331及定序器332两者均可呈微编码引擎形式。如本文中所使用,引擎打算包含硬件且可包含软件及/或固件,但至少包含硬件(例如,呈专用集成电路(ASIC)形式的电路)。举例来说,在当代存储器中处理(PIM)装置中,可通过精简指令集计算机(RISC)型控制器、ASIC等而在PIM装置上使用及执行微码。RISC型控制器是对经减小位长度指令(例如,32或64位长度指令)进行操作的处理器系列中的一者。因此,如本文中所使用,提及具有PIM能力的装置上的微码指令打算包含32或64位长度指令。然而,实施例可包含其它位长度指令。
[0048] 因此,在各种实施例中,由逻辑组件302执行具有PIM能力的逻辑/存储器装置305及307的微码指令的执行,所述逻辑组件与如图1中所展示的主机110分离且也与存储器组件301分离。在图3A及3B的实施例两者中,时序电路333与存储器组件301在一起。如本文中所使用,存储器组件301上的时序电路333可称为“第一经分割逻辑”。时序电路333可表示关于图2中的具有PIM能力的装置220所描述的时序电路233。在这些实施例中,控制逻辑331及定序器332可经配置以执行逻辑组件302上的经专开发固件,例如特定用途PIM微码。
[0049] 图3B的实施例图解说明本发明的实施例,其中控制逻辑331位于逻辑/存储器装置307的逻辑组件302上,但定序器332及时序电路333位于存储器组件301上。在其中定序器
332及时序电路333两者位于存储器组件301上的图3B的实施例中,定序器332及时序电路
333可由于位于存储器组件301上而称为“第一经分割逻辑”。控制逻辑331仍经由高速I/O通道355耦合到存储器组件301。定序器332及时序电路333可表示如结合图2所描述的时序电路233及定序器232。
[0050] 在图3B的实例性实施例中,存储器组件301上的时序电路333及定序器332两者可以是用以分别提供时序及控制命令定序的状态机。因此,时序电路333及定序器332可为紧凑的,但负责提供对阵列(例如,DRAM阵列)及/或感测电路(例如,图1中的阵列130及感测电路150)的无冲突存取以用于对存储库321执行的逻辑运算。定序器332及时序电路333与用于正常DRAM逻辑运算(例如,读取、写入、复制及/或移动DRAM阵列操作)中的控制寄存器136分离。
[0051] 如图3A及3B的实施例中所展示,逻辑/存储器装置305及307的存储器组件301可含有一或多个存储库321。存储库321可含有存储器单元阵列330及耦合到所述存储器单元阵列的感测电路350。阵列330及感测电路350可表示结合图1所描述的阵列130及感测电路150。结合图6到8更详细地描述感测电路350的实施例。另外,在图3A及3B的实施例中,逻辑/存储器装置305及307的存储器组件301可包含呈I/O缓冲器及/或扩展行地址(XRA)寄存器、行地址选通(RAS)逻辑等形式的额外电路370。此额外逻辑电路370可表示图1中所描述的额外逻辑电路170。
[0052] 如图3A及3B的实例性实施例中所展示,逻辑组件302可包含用以跨越与一或多个存储库321相关联的阵列330提供路由的切换电路323。在一些实施例中,切换电路323可替换结合图2所描述的HSI 241的功能或执行所述功能中的至少一些功能。
[0053] 在图3A及3B的实例性实施例中,至少将控制逻辑331放置于逻辑/存储器装置305及307的逻辑组件302上可通过促进与主机处理资源(例如,图1中所展示的主机110及/或结合图5A及5B所展示及描述的主机装置510)的紧密集成而允许较高速度装置操作。如本文中所使用,逻辑组件302上的控制逻辑331可称为“第二经分割逻辑”。在其中控制逻辑331及定序器332两者均位于逻辑组件302上的图3A的实施例中,控制逻辑及定序器332可由于位于逻辑组件302上而统称为“第二经分割逻辑”。在一些实施例中,可达成逻辑/存储器装置305及307的逻辑组件302与一或多个存储器组件301上的经协调高速缓冲。此外,利用现有高速缓冲存储器一致性协议到单独主机(例如,图1中的主机110及/或图5A及5B中所展示的主机装置)的经改进整合可作为控制逻辑331的部分紧密地达成及/或利用切换电路323及I/O 355较松散地达成(例如,例如与客户端一起存在于具有对称式多处理(SMP)能力的总线上)。
[0054] 图3A及3B中所展示的实例性实施例可促进对一或多个存储库321的存储库间及存储库内两者的直接存储器存取(DMA)功能性。此外,逻辑/存储器装置实施例305及307可允许利用PIM命令路由操作达成较低等待时间。所述较低等待时间可甚至利用存储器组件301的时序电路333达成,所述时序电路在与逻辑组件302上的控制逻辑331的时钟域不同的时钟域中及/或以与所述控制逻辑的时钟速度不同的时钟速度操作。
[0055] 根据图3A及3B的实例性实施例,逻辑组件302可包含仲裁电路339。仲裁电路经配置以应用调度策略,所述调度策略在由切换电路323及/或控制逻辑331于逻辑组件302处接收到的供阵列330使用的正常DRAM请求与PIM请求(例如,PIM命令)之间排列优先顺序。在图3A的实施例中,仲裁电路339可与控制逻辑331及定序器332一起形成为集成电路以共同地形成逻辑/存储器装置305的逻辑组件302上的逻辑325。在此实例中,逻辑325可表示图5A的实施例中所展示及描述的逻辑/存储器装置520的逻辑组件502上的经分割逻辑525。在图3B的实施例中,仲裁电路339可与控制逻辑331一起形成为集成电路以共同地形成逻辑/存储器装置307的逻辑组件302上的逻辑325。在此实例中,逻辑325可表示图5B的实施例中所展示及描述的逻辑/存储器装置520的逻辑组件502上的经分割逻辑525。
[0056] 由仲裁电路实施的调度策略可以根据所有规则集合、一些规则集合或不根据任何规则集合,所述规则集合用于在于逻辑组件302处接收到的供存储器组件301上的存储库321的阵列330及/或感测电路350使用的DRAM请求与PIM请求之间排列优先顺序。举例来说,一个策略可允许在逻辑组件302处接收到的DRAM请求始终中止(例如,停止或暂停)与较早PIM请求相关联的PIM命令操作。根据另一实例性策略,仲裁电路339可经配置以侦测在于逻辑组件302处接收到PIM请求之后是否在特定时间窗内(例如,在特定数目个包、时钟循环等内)于逻辑组件302处接收到临限数目或类型的DRAM请求。在此实例性策略中,如果在特定时间窗内于逻辑组件302处接收到临限数目或类型的DRAM请求,那么仲裁电路339可经配置以停止或制止与较早PIM请求相关联的PIM命令请求执行直到在执行于逻辑组件302处稍后接收到的DRAM请求之后为止。另一选择为,在另一实例性策略中,仲裁电路339可经配置以对在逻辑组件302处接收到的特定或所有PIM请求赋予优先于在逻辑组件302处接收到的特定或所有DRAM请求的优先级。实施例并不限于这些实例。
[0057] 此外,本文中所描述的设备及方法提供不受与存储器阵列(例如,DRAM阵列)相关联的正常控制寄存器(例如,双倍数据速率(DDR)时序控制寄存器)的控制约束的实施例。而是,存储器组件301中的时序电路333经配置以用于与在图1中展示为136的正常控制寄存器分离的具有PIM能力的逻辑/存储器装置305及307上的逻辑运算。另外,如图3A及3B的实例性实施例中所展示,控制逻辑331及定序器332可以不同方式位于逻辑组件302与存储器组件301之间以达成可执行结合图6到8更详细地描述的逻辑运算的具有PIM能力的逻辑/存储器装置305及307。
[0058] 在维持高速缓冲存储器一致性的情形中图解说明一个实例,所述实例以其中以不同方式在存储器组件与逻辑组件之间经分割的逻辑可有利地促进及/或增强与一或多个单独主机处理资源的集成的方式扩展。举例来说,在至少一个实施例中,经分割逻辑325可维持逻辑组件302与存储器组件301之间的高速缓冲存储器一致性。在此实例中,经分割逻辑325可经配置以建立块选择作为到高速缓冲存储器线的元数据且建立子行选择作为到高速缓冲存储器线的元数据。经分割逻辑325可呈硬件、软件及/或固件的形式,但至少是呈用以执行指令及/或执行逻辑运算的电路的形式的硬件。在此实例中,经分割逻辑325经配置以建立并使用块选择元数据以达成与高速缓冲存储器线(其与单独主机相关联)的偏移。经分割逻辑325进一步经配置以建立并使用子行选择以达成到由单独主机使用的集合相联高速缓冲存储器的多个集合。在至少一个实施例中,块选择可提供与动态随机存取存储器(DRAM)中的页的偏移。另外,在一些实施例中,耦合到存储器组件301的逻辑组件302的经分割逻辑325可经配置以在接收到位向量操作指令之后立即产生到高速缓冲存储器的成批(bulk)无效化命令。
[0059] 具有PIM能力的装置操作可使用基于位向量的操作。如本文中所使用,术语“位向量”打算意指位向量存储器装置(例如,PIM装置)上的物理上连续数目个位,无论是在存储器单元阵列的行(例如,平定向)中还是在列(例如,垂直定向)中物理上连续。因此,如本文中所使用,“位向量操作”打算意指对(例如)由PIM装置使用的虚拟地址空间的连续部分(也称为“组块(chunk)”)的位向量执行的操作。举例来说,虚拟地址空间的组块可具有256个位的位长度。组块可或可不与虚拟地址空间中的其它组块物理上连续。如本文中所使用,术语“成批”打算意指对多个位置(例如,多个高速缓冲存储器线)中的信息进行寻址及操作而不必单独将指令寻址并传递到多个位置中的每一者的能力。
[0060] 在先前基于主机的高速缓冲存储器架构方法(无论是全相联、集合相联还是直接映射)中,高速缓冲存储器架构使用由与主机相关联的处理器产生的地址的一部分来定位块在高速缓冲存储器中的放置且可具有描述高速缓冲存储器块的状态的一些元数据(例如,有效及已变更位)。这是因为处理资源应具有相同存储器视。因此,基于高速缓冲存储器的存储器系统将使用某种形式的高速缓冲存储器一致性协议(例如,MESI(修改、独占、共享、无效)或基于目录的高速缓冲存储器一致性协议)来维持对处理资源之间的高速缓冲存储器系统中的准确数据的存取。
[0061] 在先前基于主机的方法中,可构造末级高速缓冲存储器架构以与3D集成存储器搭配来达成既定用途,其中标签及元数据在SRAM中存储于芯片上且块数据存储于快速存取DRAM中。在此架构中,使用芯片上SRAM标签而发生匹配且通过相对快封装上DRAM(与封装外解决方案相比)而加速存储器存取。
[0062] 在具有PIM能力的装置中,在处理资源上执行的微码指令可想要存取具有PIM能力的装置的阵列以执行基于位向量的操作。与主机相关联的处理资源可仅感知供在维持主机上的高速缓冲存储器一致性时使用的主机的高速缓冲存储器线位长度。然而,如所述,具有PIM能力的装置中的基于位向量的操作可对极其不同位长度的位向量进行操作。用于执行基于位向量的操作及维持软件中的高速缓冲存储器一致性的典型使用型式可涉及对整个高速缓冲存储器的代价巨大清空或将特定页标记为“不可高速缓冲”。就硬件及软件装置空间使用及设计开发时间来说,使具有PIM能力的装置高速缓冲存储器一致性协议感知达到与主机的层级等效的层级将是代价巨大且复杂的。此外,即使针对特定主机平台的高速缓冲存储器一致性协议完成此,具有PIM能力的装置也将并非是使用不同高速缓冲存储器一致性协议的不同平台的主机的高速缓冲存储器一致性协议感知。
[0063] 相比来说,根据例如图3A及3B中所描述的各种实施例,经分割逻辑325可包含硬件(例如,呈专用集成电路(ASIC)形式),所述硬件经配置以且可对呈固件形式的较紧凑设计的微码指令(例如,存储于阵列330中且由控制逻辑331执行的32位或64位微码指令)进行操作。根据实施例,经分割逻辑325可包含与控制逻辑331相关联的无效化引擎(未展示)。以此方式,控制逻辑331可针对与使用特定设计的固件的主机的高速缓冲存储器相关联的特定高速缓冲存储器一致性协议经配置而以硬件及软件(其完全复制主机高速缓冲存储器一致性协议)所需的显著较低成本来实施特定PIM操作。因此,在一些实施例中,经分割逻辑325中的控制逻辑331可经配置以辨识上文所描述块选择及子行选择元数据且使用所述元数据来提供计算启用式高速缓冲存储器。
[0064] 举例来说,在逻辑/存储器装置实施例305及307中,存储器组件301上的存储器库321可具有耦合到逻辑组件302的控制逻辑331的独立I/O路径(例如,TSV)且可由逻辑组件
302上的经分割逻辑325明确控制。以此方式,逻辑组件302上的高速缓冲存储器块可自逻辑组件302中的SRAM移动到存储器组件301上的存储库321中的DRAM阵列中。高速缓冲存储器块的放置可使用由逻辑组件302上的经分割逻辑325的控制逻辑331建立并添加到主机高速缓冲存储器线的元数据数据结构来控制。
[0065] 在至少一个实施例中,由逻辑组件302上的控制逻辑331建立的块选择及子行选择元数据数据结构可为逻辑/存储器装置实施例305及307内部(例如,存储并维持于逻辑组件302与存储器组件301之间且并不作为到主机(例如,图1中的主机110)上的处理资源的地址的部分而被存储、维持或跟踪)的数据结构。此外,逻辑组件302上的经分割逻辑325上的控制逻辑331至少是经配置以执行微码指令的硬件。以此方式,控制逻辑331可经配置以视需要改变块选择及子行选择,且经配置以重新定位对主机的处理资源透明的高速缓冲存储器块数据。然而,另一选择为,控制逻辑331可另外经配置以利用单独主机的处理资源存储并维持块选择及子行选择元数据结构的复本。实施例并不限于本文中所给出的实例。
[0066] 图4图解说明具有进一步耦合到逻辑组件402的多个邻近且耦合的存储器组件401-1、401-2、…、401-N(统称为401)的单芯片系统(SoC)400的实例。根据各种实施例,多个邻近且耦合的存储器组件401-1、…、401-N可呈形成为芯片上的集成电路的多个个别存储器裸片及/或不同存储器层的形式。多个存储器组件401可进一步分割成多个存储器组件
401的不同部分421,例如分割成每一存储器组件401上的单独且不同动态随机存取存储器(DRAM)库。
[0067] 类似地,逻辑组件402可呈形成为芯片上的集成电路的个别逻辑裸片及/或不同逻辑层的形式。在此实例中,SoC 400通过堆叠多个存储器组件401且使至少一个存储器组件401-1、…、401-N与逻辑组件402互连以共同地形成逻辑/存储器装置420而提供三维(3D)。
多个存储器组件401-1、…、401-N可使用I/O路径(例如,穿硅通孔(TSV)(未展示))来耦合到逻辑组件402。可使用TSV(完全或部分穿过硅或者其它单个、复合及/或经掺杂衬底材料)来使组件互连的方式是众所周知的。
[0068] 如本文中所使用,设备打算意指可经耦合以达成特定功能的一或多个组件、装置及/或系统。如本文中所使用,系统打算意指耦合在一起(无论是以有线还是无线方式)以形成较大网络(例如,如在分散式计算网络中)的装置的集合。如本文中所使用,组件打算意指裸片、衬底、层及/或集成电路。如本文中所使用,装置可形成于组件内或所述组件当中。因此,如本文中所使用,“装置”(例如,存储器装置)可完全在存储器组件内。然而,另外,装置(例如,逻辑/存储器装置)打算意指逻辑组件与存储器组件的某一组合。根据实施例,存储器装置、逻辑装置及/或逻辑/存储器装置全部包含能够执行逻辑运算的装置,例如能够执行布尔逻辑运算的设备。
[0069] TSV制造技术达成多个裸片层的互连,以便构造三维裸片。此使多个裸片层互连的能力准许用存储器存储层与一或多个逻辑层的组合来建造存储器装置。以此方式,所述装置在单个电子装置封装中提供物理存储器存储及逻辑存储器交易处理。图4中所展示的布置将图解说明实例性配置。然而,本文中所描述的实施例并不限于此实例及/或特定裸片/层布置。
[0070] 图4中所展示的SoC 400实例可提供具有每装置320GB/s的可用带宽容量的极紧凑且电力高效封装。所图解说明SoC 400可经由分层式及平行设计方法而能够具有高带宽。装置分层可跨越逻辑组件及存储器组件而发生且硬件平行性可跨越给定组件而以平坦方式发生。
[0071] 在图4的实例中,SoC 400的多个存储器组件401-1、…、401-N与一或多个逻辑组件402之间的逻辑及存储器资源的组合及/或组织可称为逻辑/存储器装置420。穿硅通孔(TSV)可针对每一逻辑/存储器装置420使存储器组件401-1、…、401-N中的每一者与一或多个逻辑组件402(例如,裸片及/或层)互连。在图4的图解说明中,SoC 400展示为组织成十六(16)个逻辑/存储器装置420,其中每一装置与逻辑组件402的至少一部分及多个存储器组件401-1、…、401-N中的一或多者的一部分相关联。然而,实施例并不限于此实例。实施例可包含与图4中所描述及图解说明的几何及/或数字配置不同的几何及/或数字配置。
[0072] 图5A是以二维图解说明图4中所展示的SoC 400的象限509的实施例的框图。图5B是以二维图解说明图4中所展示的SoC 400的象限511的另一实施例的一框图。在这些实例性图解说明中,展示四个逻辑/存储器装置520-1、…、520-M(每一逻辑/存储器装置通常称为520),其中每一逻辑/存储器装置520包含多个邻近且耦合的存储器组件501-1、…、501-N的经分割部分521-1、…、521-N(例如,特定存储器库)及一或多个逻辑组件502的至少一经分割部分525-1(例如,特定逻辑)。如所展示,至少一个逻辑组件502邻近于并耦合到多个存储器组件501-1、…、501-N。
[0073] 根据各种实施例,可相对于逻辑/存储器装置520而分割一逻辑组件502的至少一部分。举例来说,每一逻辑/存储器装置520可包含是相对于特定逻辑/存储器装置520-1、…、520-M的逻辑组件502的经分割部分的单独逻辑525-1、…、525-M(相对于逻辑组件502上的位置而也称为“经分割逻辑”或“第二经分割逻辑”)。如图5A的实施例中所展示,每一经分割逻辑525-1、…、525-M(通常称为525)包含控制逻辑531及定序器532以形成具有PIM能力的逻辑/存储器装置520,其中时序电路533在多个存储器组件501-1、…、501-N的经分割部分521-1、…、521-N中。控制逻辑531及定序器532可表示图2、3A及3B中所展示的控制逻辑
231/331及定序器232/332。时序电路533展示为与可用于多个存储器组件501-1、…、501-N的经分割部分521-1、…、521-N的正常控制寄存器及时序电路536(例如,DDR控制寄存器及时序电路)分离且不同。时序电路533可表示图2、3A及3B中所展示的时序电路233/333,且正常控制寄存器及时序电路536可表示图1中所展示的寄存器136。
[0074] 根据各种实施例,经分割逻辑525可管理逻辑/存储器装置520的存储器参考操作。举例来说,经分割逻辑525可提供对多个存储器组件501-1、…、501-N的一或多个经分割部分521-1、…、521-M(例如,特定存储器库)的存取。多个存储器组件501-1、…、501-N的经分割部分521-1、…、521-N可准许存储器交易不仅跨越目标逻辑/存储器装置520-1内的存储器组件501-1、…、501-N的经分割部分521-1、…、521-N平行地存在,而且还跨越逻辑/存储器装置520-1、…、520-M平行地存在。
[0075] 逻辑组件502的经分割逻辑525-1、…、525-M可呈控制逻辑、状态机等形式。经分割逻辑525-1、…、525-M可呈用以实施本文中所描述的功能的硬件及固件形式。
[0076] 在图5A及5B的实施例中,逻辑组件502的经分割逻辑525-1、…、525-M至少包含控制逻辑531(在图3A及3B中展示为331)。在图5A的实施例中,每一逻辑/存储器装置520的定序器532(在图3A中展示为332)也包含于逻辑组件502上以形成具有存储器中处理(PIM)能力的逻辑/存储器装置520。然而,在图5B的实施例中,每一逻辑/存储器装置520的定序器532(在图3B中展示为332)提供于多个存储器组件501-1、…、501-N的每一部分521-1、…、
521-N上以形成具有PIM能力的逻辑/存储器装置520。如结合图3A及3B所描述,控制逻辑531可呈可执行微码指令的微编码引擎形式。如本文中所使用,引擎打算意指硬件及/或软件,但至少是呈晶体管电路及/或专用集成电路(ASIC)形式的硬件。在一些实施例中,定序器
532也可呈微编码引擎形式。
[0077] 如图5A及5B的实例性实施例中所展示,逻辑组件502可包含到逻辑/存储器装置520的外部输入/输出(I/O)链路存取(例如,链路529-1、…、529-4)以及内部切换电路523。
外部I/O链路(例如,链路529-1、…、529-4(通常称为529))可由四个、八个或更多逻辑链路提供。在图5中的实例中,四个链路529-1、…、529-4(链路0、链路1、链路2及链路3)展示为耦合到切换电路523。切换电路523可将多个逻辑/存储器装置520当中的交易引导到(例如)与多个存储器组件501-1、…、501-N的部分521-1、…、521-N相关联的经分割逻辑525-1、…、
525-M。
[0078] 链路529可支持用以将逻辑/存储器装置520耦合到主机510或其它网络装置两者的能力。此耦合可在不扰动本机链路结构及经包化交易协议的情况下促进具有比单个逻辑/存储器装置520大的容量的存储器子系统的构造。可以多种拓扑形式将链路529配置为主机装置链路或直通链路。在实例中,可将基于实例性四链路配置的四个可能装置拓扑配置成网络拓扑。此四个可能装置拓扑包含网格、环面体及/或纵横式(crossbar)拓扑。将多个逻辑/存储器装置520链结在一起可增加可用于主机510的总存储器容量。
[0079] 在图5A及5B的实例性实施例中,装置520的逻辑组件502的经分割逻辑525可针对每一独立装置520包含直插式存储器模组(DIMM)控制逻辑531。在图5A及5B的实例性实施例中,展示四个经分割逻辑集合(例如,525-1、…、525-M),每一经分割逻辑集合与特定装置520相关联。每一经分割逻辑525-1、…、525-M可与链路529-1、…、529-4松散地相关联。以此方式,一或多个主机510可具有通过将请求包逻辑上发送到物理上最接近于特定装置520的相关联经分割逻辑525的链路529而使穿过逻辑组件502的带宽等待时间最小化的能力。
[0080] 在一或多个实施例中,可将目标装置520内的多个存储器组件501-1、…、501-N的经分割部分521-1、521-2、…、521-N(通常称为521)分解成动态随机存取存储器(DRAM)的存储库。在此实例中,通过堆栈式存储器组件501-1、…、501-N的存取可存取特定存储器库,例如DRAM库。在其中存储器组件501-1、…、501-N是单独裸片及/或不同存储器层的实例性实施例中,较低存储库(例如,521-1)可配置于较低裸片及/或层(例如,501-1)中,而较高存储库(例如,521-2、…、521-N)可配置于较高裸片及/或层(例如,501-2、…、501-N)中。DRAM库可使用具有16K列及512行的行及列来组织。因此,在图5A及5B的实例性实施例中,经分割逻辑525-1、…、525-M可将DRAM组织成各自寻址16字节的兆位(1Mb)区块。可针对每一列提取而以32字节执行去往多个存储器组件501-1、…、501-N的经分割部分521-1、…、521-N的读取或写入请求。
[0081] 在此实例中,包含与给定逻辑/存储器装置520的多个存储库521-1、…、521-N相关联的控制逻辑531的经分割逻辑525可解码从主机510接收到的信号。根据各种实施例,这些信号可包含用于控制DRAM库操作(包含利用到具有PIM能力的DRAM库的存储器阵列及/或感测电路而执行的传统数据读取、数据写入及数据擦除操作以及逻辑布尔AND、OR、XOR等运算)的芯片启用信号、写入启用信号、除错指示信号及地址锁存信号。因此,经分割逻辑525可负责执行来自具有PIM能力的逻辑/存储器装置520的主机510的指令。
[0082] 在图5A的实施例中,逻辑组件502的经分割逻辑525包含控制逻辑531及定序器532,且多个存储器组件501-1、…、501-N的经分割部分521-1、…、521-N包含与用以执行逻辑运算的具有PIM能力的逻辑/存储器装置520相关联、与传统DDR控制寄存器536分离的时序电路533。
[0083] 在图5B的实施例中,逻辑组件502的经分割逻辑525包含控制逻辑531且多个存储器组件501-1、…、501-N的经分割部分521-1、…、521-N包含与用以执行逻辑运算的具有PIM能力的逻辑/存储器装置520相关联、与传统DDR控制寄存器536分离的定序器532及时序电路533。
[0084] 根据各种实施例,且如图6到8的实例中所更详细地描述,图3A到5B中所描述的逻辑/存储器装置可经配置以执行PIM命令以控制包含计算组件(在图6中展示为631且在图7中展示为731)的感测电路,以实施例如AND、OR、NOT、NAND、NOR及XOR逻辑功能等逻辑功能。另外,图3A到5B中所描述的逻辑/存储器装置可经配置以控制感测电路执行非布尔逻辑运算(包含复制、比较及擦除操作)以作为执行DRAM请求的一部分。因此,到结合图2所描述的具有PIM能力的装置的控制器240的一或多个逻辑功能可在到逻辑/存储器装置的多个存储器组件与一或多个逻辑组件之间被分割。
[0085] 图6是图解说明根据本发明的若干个实施例的感测电路650的示意图。感测电路650可表示图1中所展示的感测电路150。在图6中,存储器单元包括存储元件(例如,电容器)及存取装置(例如,晶体管)。举例来说,第一存储器单元包括晶体管602-1及电容器603-1,且第二存储器单元包括晶体管602-2及电容器603-2等。在此实例中,存储器阵列630是1T1C(单晶体管单电容器)存储器单元的DRAM阵列。在若干个实施例中,存储器单元可以是破坏性读取存储器单元(例如,读取存储于单元中的数据会破坏数据,使得原本存储于单元中的数据在被读取之后刷新)。
[0086] 存储器阵列630的单元可布置成由字线604-X(行X)、604-Y(行Y)等耦合的行以及由互补读出线对(例如,数据线DIGIT(n-1)/DIGIT(n-1)_、DIGIT(n)/DIGIT(n)_、DIGIT(n+1)/DIGIT(n+1)_)耦合的列。对应于每一对互补读出线的个别读出线也可分别称为数据线
605-1(D)及605-2(D_)。尽管图6中仅展示一对互补数据线,但本发明的实施例并不限于此,且存储器单元阵列可包含额外存储器单元列及/或数据线(例如,4,096个、8,192个、16,384个数据线等)。
[0087] 存储器单元可耦合到不同数据线及/或字线。举例来说,晶体管602-1的第一源极/漏极区域可耦合到数据线605-1(D),晶体管602-1的第二源极/漏极区域可耦合到电容器603-1,且晶体管602-1的栅极可耦合到字线604-Y。晶体管602-2的第一源极/漏极区域可耦合到数据线605-2(D_),晶体管602-2的第二源极/漏极区域可耦合到电容器603-2,且晶体管602-2的栅极可耦合到字线604-X。如图6中所展示的单元板可耦合到电容器603-1及603-
2中的每一者。在各种存储器阵列配置中,单元板可以是可被施加参考电压(例如,接地)的共同节点
[0088] 根据本发明的若干个实施例,存储器阵列630耦合到感测电路650。在此实例中,感测电路650包括对应于相应存储器单元列(例如,耦合到相应对互补数据线)的读出放大器606及计算组件631。读出放大器606可耦合到所述互补读出线对605-1及605-2。计算组件
631可经由通过门607-1及607-2耦合到读出放大器606。通过门607-1及607-2的栅极可耦合到逻辑运算选择逻辑613。
[0089] 逻辑运算选择逻辑613可经配置以包含用于控制通过门(其耦合不在读出放大器606与计算组件631之间转置的所述互补读出线对)的通过门逻辑及/或用于控制交换门(其耦合在读出放大器606与计算组件631之间转置的所述互补读出线对)的交换门逻辑。逻辑运算选择逻辑613也可耦合到所述互补读出线对605-1及605-2。逻辑运算选择逻辑613可经配置以基于选定逻辑运算而控制通过门607-1及607-2的连续性,如下文针对逻辑运算选择逻辑613的各种配置详细地描述。
[0090] 读出放大器606可经操作以确定存储于选定存储器单元中的数据值(例如,逻辑状态)。读出放大器606可包括可在本文中称为初级锁存器的交叉耦合式锁存器。在图6中所图解说明的实例中,对应于读出放大器606的电路包括锁存器615,所述锁存器包含耦合到互补数据线对D 605-1及D_605-2的四个晶体管。然而,实施例并不限于此实例。锁存器615可以是交叉耦合式锁存器,一对晶体管(例如,n沟道晶体管(例如,NMOS晶体管))的栅极627-1及627-2与另一对晶体管(例如,p沟道晶体管(例如,PMOS晶体管))的栅极629-1及629-2交叉耦合。包括晶体管627-1、627-2、629-1及629-2的交叉耦合式锁存器615可称为初级锁存器。
[0091] 在操作中,当正感测(例如,读取)存储器单元时,数据线605-1(D)或605-2(D_)中的一者上的电压将稍大于数据线605-1(D)或605-2(D_)中的另一者上的电压。ACT信号及RNL*信号可经驱动为低以启用(例如,激发)读出放大器606。具有较低电压的数据线605-1(D)或605-2(D_)将接通PMOS晶体管629-1或629-2中的一者到大于PMOS晶体管629-1或629-2中的另一者的程度,借此将具有较高电压的数据线605-1(D)或605-2(D_)驱动为高到大于另一数据线605-1(D)或605-2(D_)被驱动为高的程度。
[0092] 类似地,具有较高电压的数据线605-1(D)或605-2(D_)将接通NMOS晶体管627-1或627-2中的一者到大于NMOS晶体管627-1或627-2中的另一者的程度,借此将具有较低电压的数据线605-1(D)或605-2(D_)驱动为低到大于另一数据线605-1(D)或605-2(D_)被驱动为低的程度。因此,在短延迟之后,具有稍微较大电压的数据线605-1(D)或605-2(D_)通过源极晶体管611被驱动到供应电压VCC的电压,且另一数据线605-1(D)或605-2(D_)通过吸收(sink)晶体管613被驱动到参考电压(例如,接地)的电压。因此,交叉耦合式NMOS晶体管
627-1及627-2以及PMOS晶体管629-1及629-2用作读出放大器对,所述读出放大器对放大数据线605-1(D)及605-2(D_)上的差分电压且操作以锁存自选定存储器单元感测到的数据值。
[0093] 实施例并不限于图6中所图解说明的读出放大器606配置。作为实例,读出放大器606可以是电流模式读出放大器及/或单端读出放大器(例如,耦合到一个数据线的读出放大器)。而且,本发明的实施例并不限于例如图6中所展示的折叠式数据线架构。
[0094] 读出放大器606可与计算组件631连同操作以使用来自阵列的数据作为输入来执行各种逻辑运算。在若干个实施例中,可在不经由数据线地址存取而传送数据(例如,不激发列解码信号使得数据经由局域I/O线传送到阵列及感测电路外部的电路)的情况下将逻辑运算的结果存储回到阵列。如此,本发明的若干个实施例可能够使用少于各种先前方法的电力执行逻辑运算及与其相关联的计算函数。另外,由于若干个实施例消除对跨越I/O线传送数据以便执行计算函数(例如,在存储器与离散处理器之间)的需要,因此与先前方法相比,若干个实施例可达成经增强并行处理能力。
[0095] 读出放大器606可进一步包含可经配置以平衡数据线605-1(D)与605-2(D_)的平衡电路614。在此实例中,平衡电路614包括耦合于数据线605-1(D)与605-2(D_)之间的晶体管624。平衡电路614也包括晶体管625-1及625-2,所述晶体管各自具有耦合到平衡电压(例如,VDD/2)的第一源极/漏极区域,其中VDD是与所述阵列相关联的供应电压。晶体管625-1的第二源极/漏极区域可以是经耦合数据线605-1(D),且晶体管625-2的第二源极/漏极区域可以是经耦合数据线605-2(D_)。晶体管624、625-1及625-2的栅极可耦合在一起,且耦合到平衡(EQ)控制信号线626。如此,激活EQ会启用晶体管624、625-1及625-2,这将数据线605-1(D)与605-2(D_)有效地短接在一起且短接到平衡电压(例如,VDD/2)。
[0096] 尽管图6展示包括平衡电路614的读出放大器606,但实施例并不限于此,且平衡电路614可与读出放大器606离散地实施、以与图6中所展示的配置不同的配置实施或者根本不实施。
[0097] 如下文进一步描述,在若干个实施例中,感测电路(例如,读出放大器606及计算组件631)可经操作以执行选定逻辑运算,且在不经由I/O线传送来自感测电路的数据(例如,在不经由激活列解码信号执行数据线地址存取)的情况下首先将结果存储于读出放大器606或计算组件631中的一者中。
[0098] 执行逻辑运算(例如,涉及数据值的布尔逻辑函数)是基本且常用的。布尔逻辑函数用于许多较高层级函数中。因此,可利用经改进逻辑运算实现的速度及/或功率效率可转化为较高阶函数性的速度及/或功率效率。
[0099] 如图6中所展示,计算组件631也可包括锁存器,所述锁存器在本文中可称为次级锁存器664。次级锁存器664可以与上文关于初级锁存器615所描述的方式的类似方式配置及操作,唯以下情况除外:次级锁存器的所述对交叉耦合式p沟道晶体管(例如,PMOS晶体管)可具有耦合到供应电压(例如,VDD)的其相应源且次级锁存器的所述对交叉耦合式n沟道晶体管(例如,NMOS晶体)可具有选择性地耦合到参考电压(例如,接地)的其相应源使得连续启用次级锁存器。计算组件的配置并不限于图6中在631处所展示的配置,且下文进一步描述各种其它实施例。
[0100] 图7是图解说明根据本发明的若干个实施例的能够实施XOR逻辑运算的感测电路的示意图。图7展示耦合到一对互补读出线705-1及705-2的读出放大器706、逻辑运算选择逻辑713以及经由通过门707-1及707-2而耦合到读出放大器706的计算组件731。图7中所展示的读出放大器706可对应于图6中所展示的读出放大器606。图7中所展示的计算组件731可对应于图1中的包含计算组件的感测电路150。图7中所展示的逻辑运算选择逻辑713可对应于图6中所展示的逻辑运算选择逻辑613。通过门707-1及707-2的栅极可由逻辑运算选择逻辑713信号(例如,Pass)控制。举例来说,逻辑运算选择逻辑713的输出可耦合到通过门707-1及707-2的栅极。此外,计算组件731可包括经配置以向左及向右移位数据值的可载入移位寄存器。
[0101] 根据图7中所图解说明的实施例,计算组件731可包括经配置以向左及向右移位数据值的可载入移位寄存器的相应级(例如,移位单元)。举例来说,如图7中所图解说明,移位寄存器的每一计算组件731(例如,级)包括一对右移位晶体管781及786、一对左移位晶体管789及790以及一对反相器787及788。信号PHASE 1R、PHASE2R、PHASE 1L及PHASE 2L可施加到相应控制线782、783、791及792以根据本文中所描述的实施例启用/停用与执行逻辑运算及/或移位数据相关联的对应计算组件731的锁存器上的反馈。
[0102] 图7中所展示的感测电路展示耦合到若干个逻辑选择控制输入控制线(包含ISO、TF、TT、FT及FF)的操作选择逻辑713。当经由经确证ISO控制信号启用隔离晶体管750-1及750-2时,依据逻辑选择控制输入线上的逻辑选择控制信号的状况以及存在于所述互补读出线对705-1及705-2上的数据值而确定从多个逻辑运算进行的逻辑运算选择。
[0103] 根据各种实施例,操作选择逻辑713可包含四个逻辑选择晶体管:逻辑选择晶体管762,其耦合于交换晶体管742的栅极与TF信号控制线之间;逻辑选择晶体管752,其耦合于通过门707-1及707-2的栅极与TT信号控制线之间;逻辑选择晶体管754,其耦合于通过门
707-1及707-2的栅极与FT信号控制线之间;及逻辑选择晶体管764,其耦合于交换晶体管
742的栅极与FF信号控制线之间。逻辑选择晶体管762及752的栅极通过隔离晶体管750-1(其具有耦合到ISO信号控制线的栅极)耦合到真实读出线。逻辑选择晶体管764及754的栅极通过隔离晶体管750-2(其也具有耦合到ISO信号控制线的栅极)耦合到互补读出线。
[0104] 存在于所述互补读出线对705-1及705-2上的数据值可经由通过门707-1及707-2而载入到计算组件731中。计算组件731可包括可载入移位寄存器。当通过门707-1及707-2开通时,所述互补读出线对705-1及705-2上的数据值被传递到计算组件731且借此载入到可载入移位寄存器中。所述互补读出线对705-1及705-2上的数据值可以是在读出放大器经激发的情况下存储于读出放大器706中的数据值。在此实例中,逻辑运算选择逻辑信号Pass是高的,以开通通过门707-1及707-2。
[0105] ISO、TF、TT、FT及FF控制信号可操作以基于读出放大器706中的数据值(“B”)及计算组件731中的数据值(“A”)而选择逻辑功能来实施。特定来说,ISO、TF、TT、FT及FF控制信号经配置以独立于存在于所述互补读出线对705-1及705-2上的数据值而选择逻辑功能来实施(但所实施逻辑运算的结果可取决于存在于所述互补读出线对705-1及705-2上的数据值)。举例来说,ISO、TF、TT、FT及FF控制信号选择逻辑运算来直接实施,这是因为存在于所述互补读出线对705-1及705-2上的数据值并未通过逻辑以操作通过门707-1及707-2的栅极。
[0106] 另外,图7展示经配置以在读出放大器706与计算组件731之间交换所述互补读出线对705-1及705-2的定向的交换晶体管742。当交换晶体管742开通时,交换晶体管742的读出放大器706侧上的所述互补读出线对705-1及705-2上的数据值反向耦合到交换晶体管742的计算组件731侧上的所述互补读出线对705-1及705-2,且借此载入到计算组件731的可载入移位寄存器中。
[0107] 当激活ISO控制信号线时且激活TT控制信号(例如,为高)(真实读出线上的数据值是“1”)或激活FT控制信号(例如,为高)(其中互补读出线上的数据值是“1”)时,逻辑运算选择逻辑713信号Pass可经激活(例如,为高)以开通通过门707-1及707-2(例如,进行传导)。
[0108] 真实读出线上的数据值是“1”会开通逻辑选择晶体管752及762。互补读出线上的数据值是“1”会开通逻辑选择晶体管754及764。如果ISO控制信号或相应TT/FT控制信号或者对应读出线(例如,与特定逻辑选择晶体管的栅极耦合的读出线)上的数据值并非是高的,那么通过门707-1及707-2将不由特定逻辑选择晶体管开通。
[0109] 当激活ISO控制信号线且激活TF控制信号(例如,为高)(其中真实读出线上的数据值是“1”)或激活FF控制信号(例如,为高)(其中互补读出线上的数据值是“1”)时,逻辑运算选择逻辑信号Pass*可经激活(例如,为高)以开通交换晶体管742(例如,进行传导)。如果相应控制信号或对应读出线(例如,与特定逻辑选择晶体管的栅极耦合的读出线)上的数据值并非是高的,那么交换晶体管742将不由特定逻辑选择晶体管开通。
[0110] Pass*控制信号未必与Pass控制信号互补。Pass控制信号及Pass*控制信号两者可能同时激活或同时撤销激活。然而,同时激活Pass控制信号及Pass*控制信号两者使所述互补读出线对短接在一起,这可避免破坏性配置。
[0111] 图7中所图解说明的感测电路经配置以直接依据四个逻辑选择控制信号而选择多个逻辑运算中的一者来实施(例如,逻辑运算选择不取决于存在于所述互补读出线对上的数据值)。逻辑选择控制信号的一些组合可致使通过门707-1及707-2以及交换晶体管742两者同时开通,此使所述互补读出线对705-1及705-2短接在一起。根据本发明的若干个实施例,可由图7中所图解说明的感测电路实施的逻辑运算可以是图8中所展示的逻辑表中总结的逻辑运算。
[0112] 图8是图解说明根据本发明的若干个实施例的由图7中所展示的感测电路实施的可选择逻辑运算结果的逻辑表。四个逻辑选择控制信号(例如,TF、TT、FT及FF)连同存在于互补读出线上的特定数据值可用于选择多个逻辑运算中的一者来实施,所述特定数据值涉及存储于读出放大器706及计算组件731中的开始数据值。所述四个控制信号连同存在于互补读出线上的特定数据值控制通过门707-1及707-2以及交换晶体管742的连续性,此继而在激发之前/之后影响计算组件731及/或读出放大器706中的数据值。可选择地控制交换晶体管742的连续性的能力促进实施涉及反转数据值(例如,反转操作数及/或反转结果)的逻辑运算以及其它。
[0113] 图8中所图解说明的逻辑表8-1展示存储于计算组件731中的开始数据值(以844展示于列A中)及存储于读出放大器706中的开始数据值(以845展示于列B中)。逻辑表8-1中的其它3个列标题指代通过门707-1及707-2以及交换晶体管742的连续性,其可分别为取决于四个逻辑选择控制信号(例如,TF、TT、FT及FF)连同存在于所述互补读出线对705-1及705-2上的特定数据值的状态而被控制以开通或关断。“未开通”列对应于通过门707-1及707-2以及交换晶体管742均处于未传导状况中,“开通真实”对应于通过门707-1及707-2是处于传导状况中,且“开通反转”对应于交换晶体管742是处于传导状况中。逻辑表8-1中不反映对应于通过门707-1及707-2以及交换晶体管742两者均处于传导状况中的配置,这是因为此致使读出线被短接在一起。
[0114] 经由选择性地控制通过门707-1及707-2以及交换晶体管742的连续性,逻辑表8-1的上部部分的三个列中的每一者可与逻辑表8-1的下部部分的三个列中的每一者组合以提供对应于九个不同逻辑运算的3 x 3=9个不同结果组合,如通过以875所展示的各种连接路径所指示。在图8中所图解说明的逻辑表8-2中总结可通过感测电路(例如,图5A中的550)实施的九个不同可选择逻辑运算(包含XOR逻辑运算)。
[0115] 图8中所图解说明的逻辑表8-2的列展示包含逻辑选择控制信号的状态的标题880。举例来说,第一逻辑选择控制信号的状态提供于行876中、第二逻辑选择控制信号的状态提供于行877中、第三逻辑选择控制信号的状态提供于行878中且第四逻辑选择控制信号的状态提供于行879中。在行847中总结对应于结果的特定逻辑运算。
[0116] 虽然本文中已图解说明及描述包含感测电路、读出放大器、计算组件、动态锁存器、隔离装置及/或移位电路的各种组合及配置的实例性实施例,但本发明的实施例并不限于本文中明确陈述的那些组合。本文中所揭示的感测电路、读出放大器、计算组件、动态锁存器、隔离装置及/或移位电路的其它组合及配置明确地包含于本发明的范围内。
[0117] 尽管本文中已图解说明及描述特定实施例,但所属领域的技术人员将了解,旨在达成相同结果的布置可替代所展示的特定实施例。本发明打算涵盖本发明的一或多个实施例的更改或变化形式。将理解,已以说明性方式而非限制性方式做出以上说明。在审阅以上说明后,所属领域的技术人员将立即明了以上实施例的组合及本文中未具体描述的其它实施例。本发明的一或多个实施例的范围包含其中使用以上结构及方法的其它应用。因此,本发明的一或多个实施例的范围应参考随附权利要求书连同授权此权利要求书的等效内容的全部范围来确定。
[0118] 在前述实施方式中,出于简化本发明的目的,将一些特征一起集合于单个实施例中。本发明的此方法不应被解释为反映本发明的所揭示实施例必须使用比每一权利要求中所明确陈述的特征的更多的特征意图。而是,如随附权利要求书所反映,发明性标的物在于少于单个所揭示实施例的所有特征。因此,特此将随附权利要求书并入到实施方式中,其中每一权利要求独立地作为单独实施例。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈