用于存储器的除法运算

申请号 CN201480067273.6 申请日 2014-11-04 公开(公告)号 CN105814637A 公开(公告)日 2016-07-27
申请人 美光科技公司; 发明人 凯尔·B·惠勒;
摘要 本 发明 的实例提供用于执行 存储器 中的除法运算的设备及方法。实例设备包括:第一地址空间,其包括耦合到感测线及第一数目个选择线的第一数目个存储器单元,其中所述第一地址空间存储被除数值。第二地址空间包括耦合到所述感测线及第二数目个选择线的第二数目个存储器单元,其中所述第二地址空间存储除数值。第三地址空间包括耦合到所述感测线及第三数目个选择线的第三数目个存储器单元,其中所述第三地址空间存储余数值。感测 电路 可经配置以接收所述被除数值及所述除数值,将所述被除数值除以所述除数值,且将余数结果存储于所述第三数目个存储器单元中。
权利要求

1.一种用于执行除法运算的方法,其包括:
使用存储于耦合到存储器阵列的感测线的若干存储器单元的第一部分中的被除数值的逻辑表示,及存储于耦合到所述存储器阵列的所述感测线的所述若干存储器单元的第二部分中的除数值的逻辑表示来执行除法运算;及
将所述除法运算的结果的商数值的逻辑表示存储于耦合到所述存储器阵列的所述感测线的所述若干存储器单元的第三部分中。
2.根据权利要求1所述的方法,其进一步包括将所述被除数值的所述逻辑表示作为位向量存储于耦合到所述感测线的所述若干存储器单元的所述第一部分中,其中所述若干存储器单元的所述第一部分中的每一存储器单元存储来自所述位向量的相应位。
3.根据权利要求1所述的方法,其进一步包括将所述除数值的所述逻辑表示作为位向量存储于耦合到所述感测线的所述若干存储器单元的所述第二部分中,其中所述若干存储器单元的所述第二部分中的每一存储器单元存储来自所述位向量的相应位。
4.根据权利要求1所述的方法,其中存储所述商数值的所述逻辑表示包括:将所述商数值的所述逻辑表示作为位向量存储于耦合到所述感测线的所述若干存储器单元的所述第三部分中,其中所述若干存储器单元的所述第三部分中的每一存储器单元存储来自所述位向量的相应位。
5.根据权利要求1所述的方法,其中所述商数值是表示所述除数值整除所述被除数值的次数的整数。
6.根据权利要求1到5中任一权利要求所述的方法,其中所述若干存储器单元的所述第一部分包括N个存储器单元,且其中执行所述除法运算包括:
将存储于所述若干存储器单元的所述第一部分的第N存储器单元中的位复制到所述若干存储器单元的第四部分的第一存储器单元中,其中所述若干存储器单元的所述第四部分存储所述除法运算的所述结果的余数值的逻辑表示;及
比较所述除数值与所述余数值。
7.根据权利要求6所述的方法,其进一步包括:如果所述除数值小于或等于所述余数值,那么:
从所述余数值减去所述除数值,且将所得值的逻辑表示作为所述余数值的所述逻辑表示存储于所述若干存储器单元的所述第四部分中;
移位及递增所述商数值的所述逻辑表示以更新所述商数值;及
移位所述余数值的所述逻辑表示以更新所述余数值。
8.根据权利要求7所述的方法,其进一步包括:如果所述除数值大于所述余数值,那么:
移位所述商数值的所述逻辑表示以更新所述商数值;及
移位所述余数值的所述逻辑表示以更新所述余数值。
9.根据权利要求8所述的方法,其进一步包括:
将存储于所述若干存储器单元的所述第一部分的第N-1存储器单元中的位复制到所述若干存储器单元的所述第四部分的所述第一存储器单元中;及
比较所述除数值与所述余数值。
10.根据权利要求8到9中任一权利要求所述的方法,其进一步包括:在将存储于所述若干存储器单元的所述第一部分的所述第N存储器单元中的所述位复制到所述若干存储器单元的所述第四部分的所述第一存储器单元中之前,将所述余数值及所述商数值初始化到0。
11.根据权利要求8到9中任一权利要求所述的方法,其进一步包括响应于所述比较产生掩码,其中所述掩码指示所述除数值是否小于或等于所述余数值,或所述除数值是否大于所述余数值。
12.一种设备,其包括:
存储器阵列的第一地址空间,其包括耦合到感测线及第一数目个选择线的第一数目个存储器单元,其中所述第一地址空间存储被除数值;
所述存储器阵列的第二地址空间,其包括耦合到所述感测线及第二数目个选择线的第二数目个存储器单元,其中所述第二地址空间存储除数值;
所述存储器阵列的第三地址空间,其包括耦合到所述感测线及第三数目个选择线的第三数目个存储器单元,其中所述第三地址空间存储余数值;及
感测电路,其经配置以:
接收所述被除数值及所述除数值;
将所述被除数值除以所述除数值;及
将所述余数值存储于所述第三地址空间中。
13.根据权利要求12所述的设备,其中耦合到所述感测线的所述第一数目个存储器单元包括耦合到所述感测线的N个存储器单元,且其中所述感测电路经配置以将所述被除数值除以所述除数值包括所述感测电路经配置以:
将存储于所述第一数目个存储器单元的所述第N存储器单元中的位复制到所述第三数目个存储器单元的第一存储器单元中;及
比较所述除数值与所述余数值。
14.根据权利要求13所述的设备,其中所述感测电路经配置以将所述余数值存储于所述第三地址空间中包括所述感测电路经配置以:
如果所述除数值小于或等于所述余数值,那么:
从所述余数值减去所述除数值,且将所得值的逻辑表示存储于所述第三数目个存储器单元中;及
移位所述所得值的所述逻辑表示以更新所述余数值,
其中所述感测电路经配置以将所述被除数值除以所述除数值进一步包括所述感测电路经配置以移位及递增存储于所述存储器阵列的第四地址空间中的商数值的逻辑表示。
15.根据权利要求14所述的设备,其中所述感测电路经配置以将所述被除数值除以所述除数值进一步包括所述感测电路经配置以在所述除数值大于所述余数值的情况下移位所述商数值的所述逻辑表示以更新所述商数值。
16.根据权利要求15所述的设备,其中所述感测电路经配置以将所述余数值存储于所述第三地址空间中包括所述感测电路经配置以在所述除数值大于所述余数值的情况下移位所述余数值的逻辑表示以更新所述余数值。
17.根据权利要求16所述的设备,其中所述感测电路经配置以将所述被除数值除以所述除数值进一步包括所述感测电路经配置以响应于所述比较产生掩码,其中所述掩码指示所述除数值是否小于或等于所述余数值,或所述除数值是否大于所述余数值。
18.根据权利要求12到17中任一权利要求所述的设备,其进一步包括所述存储器阵列的第四地址空间,所述第四地址空间包括耦合到所述感测线及第四数目个选择线的第四数目个存储器单元,其中所述第四地址空间且其中所述感测电路经配置以将所述商数值存储于所述第四数目个存储器单元中。
19.根据权利要求12到17中任一权利要求所述的设备,其中所述感测电路包括与所述存储器阵列的所述存储器单元有间距地形成的晶体管。
20.根据权利要求12到17中任一权利要求所述的设备,其中所述感测电路经配置以在无需经由感测线地址存取转移数据的情况下将所述被除数值除以所述除数值。
21.根据权利要求12到17中任一权利要求所述的设备,其中所述感测电路包括计算组件,其包含与所述第一数目个存储器单元、所述第二数目个存储器单元、所述第三数目个存储器单元及所述第四数目个存储器单元有间距的晶体管。
22.一种用于执行若干除法运算的方法,其包括:
将存储于耦合到存储器阵列的若干感测线的存储器单元的若干第一部分中的若干被除数值除以存储于耦合到所述存储器阵列的所述若干感测线的所述存储器单元的若干第二部分中的若干除数值;
将所述若干被除数值除以所述若干除数值的结果的若干商数值存储于耦合到所述存储器阵列的所述若干感测线的所述存储器单元的若干第三部分中;及
将所述若干被除数值除以所述若干除数值的所述结果的若干余数值存储于耦合到所述存储器阵列的所述若干感测线的所述存储器单元的第四部分中;
其中执行所述若干除法运算所使用的计算次数与执行所述若干除法运算中的任一者所使用的计算次数相同。
23.根据权利要求22所述的方法,其中所述存储器单元的所述若干第一部分中的每一者耦合到所述若干感测线中的不同感测线,且其中所述若干被除数值中的每一者被存储于所述若干第一部分的不同第一部分中。
24.根据权利要求23所述的方法,其中所述存储器单元的所述若干第二部分中的每一者耦合到所述若干感测线中的不同感测线,且其中所述若干除数值中的每一者被存储于所述若干第二部分的不同第二部分中。
25.根据权利要求24所述的方法,其中所述若干除法运算中的每一者包括来自所述若干被除数值的相应被除数值除以来自所述若干除数值的相应除数值,其中所述若干除法运算的相应除法运算的所述被除数值及所述除数值被存储于耦合到所述若干感测线的相同感测线的存储器单元中。
26.根据权利要求25所述的方法,其中耦合到若干感测线的存储器单元的所述若干第一部分中的每一者包括耦合到所述若干感测线中的一者的N个存储器单元,且其中将所述若干被除数值除以所述若干除数值包括:
将存储于所述若干存储器单元的所述第一部分的所述第N存储器单元中的每一位复制到所述若干存储器单元的所述第四部分的第一存储器单元中的每一者中;
其中复制存储于所述若干存储器单元的所述第一部分的所述第N存储器单元中的每一位所涉及的计算次数不会改变,无论所述若干被除数值、所述若干除数值及所述若干余数值的大小为何。
27.根据权利要求26所述的方法,其中将所述若干被除数值除以所述若干除数值包括比较所述若干除数值与所述若干余数值。
28.根据权利要求27所述的方法,其进一步包括:针对所述除数值中小于或等于来自所述若干余数值的对应余数值的每一者:
从所述对应余数值减去除数值,及将所得值的逻辑表示作为所述对应余数值的逻辑表示存储于所述若干存储器单元的对应第四部分中;
移位及递增对应商数值的逻辑表示以更新所述对应商数值;
移位所述对应余数值的所述逻辑表示以更新所述对应余数值。
29.根据权利要求28所述的方法,其进一步包括:针对所述除数值中大于来自所述若干余数值的对应余数值的每一者:
移位所述对应商数值的所述逻辑表示以更新所述对应商数值;及
移位所述对应余数值的所述逻辑表示以更新所述对应余数值。
30.根据权利要求29所述的方法,其进一步包括:
将存储于所述若干存储器单元的所述第一部分的所述第N-1存储器单元中的每一位复制到所述若干存储器单元的所述第四部分的所述第一存储器单元中的每一者中;及比较所述若干除数值与所述若干余数值。
31.根据权利要求30所述的方法,其进一步包括:在将存储于所述若干存储器单元的所述第一部分的所述第N存储器单元中的每一位复制到所述若干存储器单元的所述第四部分的所述第一存储器单元中之前,将所述若干余数值及所述商数值初始化到0。

说明书全文

用于存储器的除法运算

技术领域

[0001] 本发明大体上涉及半导体存储器设备及方法,且更特定来说,涉及与用于存储器的除法运算有关的设备及方法。

背景技术

[0002] 存储器装置通常被提供为计算机或其它电子系统中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器可能需要电来维持其数据(例如,主机数据、错误数据等等),且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)与晶闸管随机存取存储器(TRAM)以及其它存储器。非易失性存储器可通过在未经供电时保留所存储的数据而提供持久性数据,且可包含NAND快闪存储器、NOR快闪存储器及电阻可变存储器(例如相变随机存取存储器(PCRAM))、电阻性随机存取存储器(RRAM)及磁阻随机存取存储器(MRAM)(例如自旋力矩转移随机存取存储器(STT RAM))以及其它存储器。
[0003] 电子系统常常包含若干处理资源(例如,一或多个处理器),所述处理资源可检索及执行指令且将所执行指令的结果存储到合适位置。处理器可包括若干功能单元(例如,本文中称为功能单元电路(FUC)),举例来说,例如算术逻辑单元(ALU)电路、浮点单元(FPU)电路及/或组合逻辑,可使用所述功能单元以通过对数据(例如,一或多个操作数)执行逻辑运算(例如AND、OR、NOT、NAND、NOR及XOR逻辑运算)而执行指令。
[0004] 将指令提供到FUC以用于执行时可涉及电子系统中的若干组件。可(例如)通过处理资源(例如控制器及/或主机处理器)产生所述指令。可将数据(例如,将对其执行指令的操作数)存储于存储器阵列中,所述存储器阵列可由FUC存取。可从所述存储器阵列检索所述指令及/或数据,且可在FUC开始对所述数据执行指令之前对所述指令及/或数据进行排序及/或缓冲。此外,由于可通过FUC在一或多个时钟循环中执行不同类型的运算,所以也可对所述指令及/或数据的中间结果进行排序及/或缓冲。
[0005] 在许多实例中,处理资源(例如,处理器及/或相关联的FUC)可位于存储器阵列外部,且可经由所述处理资源与所述存储器阵列之间的总线存取数据(例如,以执行指令)。可经由总线将数据从存储器阵列移动到所述存储器阵列外部的寄存器。附图说明
[0006] 图1是根据本发明的若干实施例的呈包含存储器装置的计算系统的形式的设备的框图
[0007] 图2A说明根据本发明的若干实施例的存储器阵列的部分的示意图。
[0008] 图2B说明根据本发明的若干实施例的与使用感测电路执行若干逻辑运算相关联的时序图。
[0009] 图2C-1及2C-2说明根据本发明的若干实施例的与使用感测电路执行若干逻辑运算相关联的时序图。
[0010] 图2D-1及2D-2说明根据本发明的若干实施例的与使用感测电路执行若干逻辑运算相关联的时序图。
[0011] 图3A说明展示根据本发明的若干实施例的位于与执行一系列除法运算相关联的特定阶段处的阵列的部分的单元的状态的逻辑图。
[0012] 图3B说明展示根据本发明的若干实施例的位于与执行一系列除法运算相关联的特定阶段处的阵列的部分的单元的状态的逻辑图。
[0013] 图3C说明展示根据本发明的若干实施例的位于与执行一系列除法运算相关联的特定阶段处的阵列的部分的单元的状态的逻辑图。
[0014] 图3D说明展示根据本发明的若干实施例的位于与执行一系列除法运算相关联的特定阶段处的阵列的部分的单元的状态的逻辑图。
[0015] 图3E说明展示根据本发明的若干实施例的位于与执行一系列除法运算相关联的特定阶段处的阵列的部分的单元的状态的逻辑图。
[0016] 图3F说明展示根据本发明的若干实施例的位于与执行一系列除法运算相关联的特定阶段处的阵列的部分的单元的状态的逻辑图。
[0017] 图3G说明展示根据本发明的若干实施例的位于与执行一系列除法运算相关联的特定阶段处的阵列的部分的单元的状态的逻辑图。
[0018] 图3H说明展示根据本发明的若干实施例的位于与执行一系列除法运算相关联的特定阶段处的阵列的部分的单元的状态的逻辑图。
[0019] 图3I说明展示根据本发明的若干实施例的位于与执行一系列除法运算相关联的特定阶段处的阵列的部分的单元的状态的逻辑图。
[0020] 图3J说明展示根据本发明的若干实施例的位于与执行一系列除法运算相关联的特定阶段处的阵列的部分的单元的状态的逻辑图。
[0021] 图3K说明展示根据本发明的若干实施例的位于与执行一系列除法运算相关联的特定阶段处的阵列的部分的单元的状态逻辑图。

具体实施方式

[0022] 本发明包含与用于存储器的除法运算有关的设备及方法。可存储于位向量中(例如,存储器阵列中)的逻辑值的实例包括第一地址空间,其包括耦合到感测线及第一数目个选择线的存储器单元。所述第一地址空间的所述存储器单元可存储被除数值。第二地址空间包括耦合到所述感测线及第二数目个选择线的存储器单元。所述第二地址空间的所述存储器单元可存储除数值。可将除法运算的结果存储于第三地址空间中,所述第三地址空间包括耦合到所述感测线及第三数目个选择线的存储器单元。所述第三地址空间的所述存储器单元可存储商数值。第四地址空间包括耦合到所述感测线及第四数目个选择线的存储器单元。所述第四地址空间的所述存储器单元可存储余数值。
[0023] 如本文中所使用,被除数值是将在除法运算中被除的数值。除数值是除法运算中除被除数的值。除法运算的结果可为商数值及余数值。商数值可表示除数值可除被除数值的整数倍。余数值可表示来自除数值可除被除数值的整数倍的余数。举例来说,如果被除数值是11且除数值是5,那么将被除数值(例如,11)除以除数值(例如,5)的结果是商数值2及余数值1。
[0024] 相比于先前方法,本发明的若干实施例可提供执行若干除法运算(例如,除法功能)中所涉及的计算次数及时间的减少。因为可并行(例如,同时)执行所述若干除法运算,所以可减少计算及时间。并行执行所述若干除法运算可减少执行所述若干除法运算中所涉及的计算。并行执行若干除法运算也可减少在执行若干计算时的电力消耗。例如,若干实施例可提供使用逻辑存储(例如,以二进制形式存储于存储器阵列中的若干存储器单元中)的数据(例如,被除数值及除数值)执行除法功能。所述实施例可在无需经由总线(例如,数据总线地址总线、控制总线等等)将数据转移出存储器阵列及/或感测电路的情况下执行除法功能。除法功能可涉及执行若干逻辑运算(例如,AND、NOT、NOR、NAND、XOR等等)。然而,实施例并不限于这些实例。
[0025] 在先前方法中,可(例如,经由包括输入/输出(I/O)线的总线)将数据(例如,被除数值及除数值)从阵列及感测电路转移到若干寄存器,所述寄存器可由处理资源(例如处理器、微处理器及/或计算引擎)使用,所述处理资源可包括经配置以执行适当逻辑运算的ALU电路及/或其它功能单元电路。然而,ALU电路仅可使用单一被除数值及单一除数值以执行单一除法功能(例如,除法运算)。经由总线将数据从寄存器转移到存储器或将数据从存储器转移到寄存器可涉及大量电力消耗及时间需求。即使处理资源定位于与存储器阵列相同的芯片上,在使数据移动离开所述阵列到计算电路时也可能消耗大量电力,这可涉及(例如):执行感测线地址存取(例如,触发一列解码信号)以便将数据从感测线转移到I/O线上;将所述数据移动到阵列外围;及将所述数据提供到与除法功能相关联的寄存器。
[0026] 在本发明的以下详细描述中,参考形成所述详细描述的一部分的附图,且在附图中借助于说明展示可如何实践本发明的一或多个实施例。充分详细描述这些实施例以使所属领域的一般技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在不背离本发明的范围的情况下作出过程、电及/或结构改变。如本文中所使用,指定符“N”,尤其关于图式中的参考数字,指示可包含如此指定的若干特定特征。如本文中所使用,“若干”特定事物可指此类事物中的一或多者(例如,若干存储器阵列可指一或多个存储器阵列)。
[0027] 本文中的图式遵循编号惯例,其中首位数字或前几位数字对应于图式编号且剩余数字识别图式中的元件或组件。可通过使用类似数字识别不同图之间的类似元件或组件。举例来说,204可指代图2A中的元件“04”,且类似元件可指代为图3A中的304。如将了解,可增加、交换及/或消除本文中的各种实施例中所展示的元件,以便提供本发明的若干额外实施例。此外,如将了解,图中所提供的元件的比例及相对尺度是为了说明本发明的某些实施例,且不应以限制性意义理解。
[0028] 图1是根据本发明的若干实施例的呈包含存储器装置160的计算系统100的形式的设备的框图。如本文中所使用,存储器装置160、存储器阵列130及/或感测电路150也可被单独视为“设备”。
[0029] 系统100包含耦合到存储器装置160的主机110,存储器装置160包含存储器阵列130。主机110可为主机系统,例如个人膝上型计算机、桌上型计算机、数码相机移动电话或存储卡读取器以及各种其它类型的主机。主机110可包含系统主机板及/或底板,且可包含若干处理资源(例如,一或多个处理器、微处理器或一些其它类型的控制电路)。系统100可包含单独集成电路,或主机110及存储器装置160两者都可在相同集成电路上。系统100可为(例如)服务器系统及/或高性能计算(HPC)系统及/或其的一部分。尽管图1中所展示的实例说明具有冯·诺伊曼(Von Neumann)架构的系统,但也可在非冯·诺伊曼架构(例如,图灵机(Turing machine))中实施本发明的实施例,所述非冯·诺伊曼架构可能并不包含通常与冯·诺伊曼架构相关联的一或多个组件(例如,CPU、ALU等等)。
[0030] 为清楚起见,系统100已经简化以集中于与本发明特定相关的特征上。存储器阵列130可为(例如)DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪存储器阵列及/或NOR快闪存储器阵列。阵列130可包括以由选择线(其在本文中可称为字线或存取线)耦合的行及由感测线(其在本文中可称为数字线或数据线)耦合的列中所布置的存储器单元。尽管图1中展示单一阵列130,但实施例并不如此受限制。例如,存储器装置
160可包含若干阵列130(例如,若干DRAM单元库)。结合图2A描述实例DRAM阵列。
[0031] 存储器装置160包含地址电路142以存通过I/O电路144经由I/O总线156(例如,数据总线)提供的地址信号。由行解码器146及列解码器152接收及解码地址信号以存取存储器阵列130。在若干实例中,可由更多或更少个行解码器来解码地址信号。举例来说,存储器装置可包含三个行解码器。如本文中所使用,行解码器可称为选择解码器。可通过使用感测电路150感测感测线上的电压及/或电流变化来从存储器阵列130读取数据。感测电路150可从存储器阵列130读取及锁存一页(例如,行)数据。可使用I/O电路144以经由I/O总线156与主机110进行双向数据通信。使用写入电路148以将数据写入到存储器阵列130。
[0032] 在若干实例中,术语解码可包含在行解码器146及/或列解码器152中实施的预解码、最终解码及/或任何其它类型的解码。在若干实例中,术语预解码包含电路实施预解码过程使得地址并未被离散寻址。在本文中可使用术语预解码及解码以区分术语可离散寻址的线及/或可个别寻址的线。
[0033] 在若干实例中,存储器阵列130中的若干选择线及/或感测线可独立于存储器阵列130的其它选择线及/或感测线而被个别寻址及/或解码。如本文中所使用,离散地址可为并不需要解码以便激活特定选择线的地址。举例来说,地址电路142可接收与若干选择线相关联的地址,可在无需解码与所述若干选择线相关联的地址的情况下激活所述选择线。在若干实例中,个别寻址的行及/或离散寻址的行可称为完全解码的行。与存储器阵列130相关联的存储器单元可包括以其它方式用于(例如)DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪存储器阵列及/或NOR快闪存储器阵列以及其它存储器配置中的存储器单元。
[0034] 控制电路140解码由控制总线154从主机110提供的信号。这些信号可包含芯片启用信号、写入启用信号及地址锁存信号,可使用所述信号以控制对存储器阵列130执行的操作,包含数据读取、数据写入及数据擦除操作。在各种实施例中,控制电路140负责执行来自主机110的指令。控制电路140可为状态机、定序器或某种其它类型的控制器。
[0035] 下文结合图2A及图3A到3K进一步描述感测电路150的实例。例如,在若干实施例中,感测电路150可包括若干感测放大器及若干计算组件,所述计算组件可包括累加器且可使用其以(例如,对与互补感测线相关联的数据)执行逻辑运算。在若干实施例中,可使用感测电路(例如,150)以使用存储于阵列130中的数据作为输入来执行除法运算,及在无需经由感测线地址存取转移的情况下(例如,在无需触发列解码信号的情况下)将所述除法运算的结果存储回到阵列130。在执行除法运算及/或在执行所述除法运算时所涉及的计算期间,存储器阵列130中耦合到选择线及感测线的存储器单元可用作暂时存储装置(例如,寄存器)。因而,可使用感测电路150执行除法功能而非由所述感测电路外部的处理资源(例如,由与主机110相关联的处理器及/或定位于装置160上(例如,定位于控制电路140上或别处)的其它处理电路,例如ALU电路)执行所述除法功能,及/或除了由所述感测电路外部的所述处理资源执行所述除法功能之外,也可使用感测电路150执行所述除法功能。
[0036] 在各种先前方法中,例如,将经由感测电路从存储器读取与除法运算相关联的数据,且将所述数据提供到外部ALU。所述外部ALU电路将使用操作数执行除法功能,且可经由局部I/O线将结果转移回到阵列。相比之下,在本发明的若干实施例中,感测电路(例如,150)经配置以对存储于存储器阵列130中的存储器单元中的数据执行除法运算且在无需启用耦合到所述感测电路的局部I/O线的情况下将结果存储回到所述阵列130。
[0037] 因而,在若干实施例中,可能并不需要阵列130及感测电路150外部的寄存器及/或ALU来执行除法功能,这是因为感测电路150可使用存储器阵列130的地址空间执行在执行除法功能时所涉及的适当计算。另外,可在无需使用外部处理资源的情况下执行除法功能。
[0038] 图2A说明根据本发明的若干实施例的存储器阵列230的部分的示意性图。在此实例中,存储器阵列230是1T1C(一个晶体管一个电容器)存储器单元270-0、270-1、270-2、…、270-N-1、270-N(例如,统称为存储器单元270)的DRAM阵列,所述存储器单元各自由存取装置202(例如,晶体管)及存储元件203(例如,电容器)组成。
[0039] 在若干实施例中,存储器单元270是破坏性的读取存储器单元(例如,读取存储于单元中的数据破坏所述数据,使得最初存储于单元中的所述数据在读取之后被刷新)。将存储器单元270布置于由选择线204-0(行0)、204-1(行1)、204-2(行2)、…、204-N-1(行N-1)、204-N(行N)耦合的行及由感测线(例如,数字线)205-0(D)及205-1(D_)耦合的列中。在若干实施例中,阵列230可包含耦合到单独电路的地址空间。
[0040] 在此实例中,每一单元列与一对互补感测线205-0(D)及205-1(D_)相关联。尽管图2A中仅说明存储器单元270的单一列,但实施例并不如此受限制。例如,特定阵列可具有若干单元列及/或感测线(例如,4,096个、8,192个、16,384个等等)。在图2A中,存储器单元270耦合到感测线205-0。特定单元晶体管202的栅极耦合到其对应选择线204-0到204-N(例如,统称为选择线204),第一源极/漏极区域耦合到其对应感测线205-0,且特定单元晶体管的第二源极/漏极区域耦合到其对应电容器203。尽管图2A中并未说明,但感测线205-1也可具有耦合到其的存储器单元。
[0041] 在若干实例中,耦合到感测线205的存储器单元270可存储位。所述位可表示值及/或若干值(例如,被除数值、除数值、商数值及/或余数值)的逻辑表示。举例来说,被除数值可由四位向量表示,可将所述四位向量存储于存储器单元270-0、存储器单元270-1、存储器单元270-2及存储器单元270-3中。在若干实例中,位向量可由比图2A及图3A到3K中所使用的位更多或更少的位表示。举例来说,被除数值可由8位向量、16位向量及/或32位向量以及其它位向量维数表示。在若干实例中,可沿着感测线205垂直存储值的每一位向量表示,这与沿着选择线204平存储相反。
[0042] 可为值的每一位向量逻辑表示编写索引。举例来说,存储于存储器单元270-0中的位可与第一索引相关联,存储于存储器单元270-1中的位可与第二索引相关联,存储于存储器单元270-2中的位可与第三索引相关联,且存储于存储器单元270-3中的位可与第四索引相关联。作为实例,所述第一索引可指示所存储位向量的最高有效位(MSB),且所述第四索引可指示所存储位向量的最低有效位(LSB)。结合图2A所使用的索引编写是说明性的且非限制性。在若干实施例中可采用其它索引系统及/或顺序。举例来说,存储于存储器270-3中的位可与第一索引相关联,存储于存储器单元270-2中的位可与第二索引相关联,存储于存储器单元270-1中的位可与第三索引相关联,且存储于存储器单元270-0中的位可与第四索引相关联。此外,可使用若干不同布局及/或存储器单元定向来执行本文中所描述的运算。
[0043] 可将若干值存储于存储器阵列230的每一感测线中。举例来说,存储器单元270-0、270-1、270-2、270-3可存储表示第一被除数值的若干位;存储器单元270-4、270-5、270-6、
270-7可存储表示第一除数值的若干位;存储器单元270-8、270-9、270-10、270-11可存储表示第一商数值的若干位;且存储器单元270-12、270-13、270-14、270-15可存储表示第一余数值的若干位(例如,图2A中并未说明存储器单元270-3到存储器单元270-15)。存储器单元
270-0到270-15可耦合到第一感测线。耦合到不同感测线的存储器单元可存储表示第二被除数值、第二除数值、第二商数值及/或第二余数值的若干位。
[0044] 在若干实例中,可并行激活耦合到选择线204-0及若干感测线(例如,感测线205-0及感测线205-1)的存储器单元。此外,也可并行激活存储器单元270-0、存储器单元270-1、存储器单元270-2、存储器单元270-3。在若干实例中,可并行激活独立寻址的选择线204及/或感测线205以并行激活若干存储器单元。
[0045] 感测电路包括感测放大器206及计算组件231。感测电路可为图1中所展示的感测电路150。感测放大器206耦合到对应于特定存储器单元列的互补感测线D、D_。可操作感测放大器206以确定存储于所选择单元(例如,存储器单元270)中的状态(例如,逻辑数据值)。实施例并不限于实例感测放大器206。例如,根据本文中所描述的若干实施例的感测电路可包含电流模式感测放大器及/或单端感测放大器(例如,耦合到一个感测线的感测放大器)。
[0046] 在若干实施例中,计算组件(例如,231)可包括与感测放大器(例如,206)及/或阵列(例如,230)的存储器单元270的晶体管有节距地形成的若干晶体管,所述晶体管可符合特定特征大小(例如,4F2、6F2等等)。如下文进一步描述,计算组件231可结合感测放大器206一起操作以使用来自阵列230中的存储器单元270的数据作为输入执行除法运算,且在无需经由感测线地址存取转移所述数据的情况下(例如,在无需触发列解码信号使得经由局部I/O线将数据从阵列及感测电路转移到外部电路的情况下)将结果存储回到所述阵列230中的所述存储器单元270。因而,本发明的若干实施例可实现使用低于各种先前方法的电力执行除法运算及与所述除法运算相关联的计算。此外,因为若干实施例无需跨越局部I/O线转移数据以便执行计算功能,所以与先前方法相比较,若干实施例可使用计算组件(例如,231)及存储器单元270实现增强的并行处理能力。
[0047] 在图2A中所说明的实例中,对应于计算组件231的电路包括耦合到感测线D及D_中的每一者的五个晶体管;然而,实施例并不限于此实例。晶体管207-1及207-2具有分别耦合到感测线D及D_的第一源极/漏极区域,及耦合到交叉耦合锁存器(例如,耦合到一对交叉耦合晶体管(例如耦合到交叉耦合NMOS晶体管208-1及208-2以及交叉耦合PMOS晶体管209-1及209-2)的栅极)的第二源极/漏极区域。如本文中进一步描述,包括晶体管208-1、208-2、209-1及209-2的交叉耦合锁存器可称为次要锁存器(对应于感测放大器206的交叉耦合锁存器在本文中可称为主要锁存器)。
[0048] 晶体管207-1及207-2可称为传输晶体管,可经由相应信号211-1(Passd)及211-2(Passdb)启用其以便将相应感测线D及D_上的电压或电流传输到包括晶体管208-1、208-2、209-1及209-2的交叉耦合锁存器的输入(例如,次要锁存器的输入)。在此实例中,晶体管
207-1的第二源极/漏极区域耦合到晶体管208-1及209-1的第一源极/漏极区域以及耦合到晶体管208-2及209-2的栅极。类似地,晶体管207-2的第二源极/漏极区域耦合到晶体管
208-2及209-2的第一源极/漏极区域以及耦合到晶体管208-1及209-1的栅极。
[0049] 晶体管208-1及208-2的第二源极/漏极区域通常耦合到负控制信号212-1(Accumb)。晶体管209-1及209-2的第二源极/漏极区域通常耦合到正控制信号212-2(Accum)。Accum信号212-2可为供应电压(例如,Vcc),且Accumb信号可为参考电压(例如,接地)。启用信号212-1及212-2激活对应于次要锁存器的包括晶体管208-1、208-2、209-1及209-2的交叉耦合锁存器。经激活的感测放大器对操作以放大共同节点217-1与共同节点
217-2之间的差分电压,使得将节点217-1驱动到Accum信号电压及Accumb信号电压中的一者(例如,到Vcc及接地中的一者),且将节点217-2驱动到Accum信号电压及Accumb信号电压中的另一者。如下文进一步描述,信号212-1及212-2被标记为“Accum”及“Accumb”,这是因为次要锁存器可用作累加器,同时使用其以执行逻辑运算(例如,除法运算)。在若干实施例中,累加器包括形成次要锁存器的交叉耦合晶体管208-1、208-2、209-1及209-2以及传输晶体管207-1及208-2。如本文中进一步描述,在若干实施例中,包括耦合到感测放大器的累加器的计算组件可经配置以执行逻辑运算,所述逻辑运算包括对由一对互补感测线中的至少一者上的信号(例如,电压或电流)表示的数据值执行累加运算。
[0050] 计算组件231还包含反相晶体管214-1及214-2,其具有耦合到相应数字线D及D_的第一源极/漏极区域。晶体管214-1及214-2的第二源极/漏极区域分别耦合到晶体管216-1及216-2的第一源极/漏极区域。晶体管214-1及214-2的栅极耦合到信号213(InvD)。晶体管216-1的栅极耦合到共同节点217-1,晶体管208-2的栅极、晶体管209-2的栅极及晶体管
208-1的第一源极/漏极区域也耦合到共同节点217-1。以互补方式,晶体管216-2的栅极耦合到共同节点217-2,晶体管208-1的栅极、晶体管209-1的栅极及晶体管208-2的第一源极/漏极区域也耦合到共同节点217-2。因而,使用启用信号InvD以将存储于次要锁存器中的数据值反相,且将所述经反相的值驱动到感测线205-0及205-1上。
[0051] 在图2A中,计算组件231经配置以执行除法运算。以下实例将说明可如何使用存储于阵列230中的数据作为输入来执行除法运算,及可如何经由感测电路(例如,感测放大器206及计算组件231)的操作将所述除法运算的结果存储于所述阵列中。所述实例涉及使用存储于耦合到选择线204-0到204-N且通常耦合到感测线205-0的存储器单元270中的位(例如,逻辑1或逻辑0)作为到除法运算的相应输入。可将所述除法运算的结果存储于耦合到感测线205-0的存储器单元中。
[0052] 作为实例,计算组件231可使用存储于耦合到感测线205-0的若干存储器单元270的第一部分及第二部分中的被除数值及除数值。所述第一部分可包含第一数目个存储器单元。所述第二部分可包含第二数目个存储器单元。可将除法运算的中间结果保存于耦合到感测线205-0的存储器单元的第三部分及/或第四部分中。
[0053] 除法运算可包含将存储于存储被除数值的存储器单元270-0到270-3中的位复制到存储余数值的存储器单元270-12到270-15的存储器单元270-12中。可将存储于存储器单元270-0到270-3中的位连续(例如,逐个)复制到存储器单元270-12中。与将位存储于存储器单元270-0到270-3中所依的顺序相比,可以反向顺序复制存储于存储器单元270-0到270-3中的所述位。举例来说,在将存储于存储器单元270-2中的位复制到存储器单元270-
12之前,可将存储于存储器单元270-3中的位复制到存储器单元270-12。
[0054] 在若干实例中,可将存储于存储器单元270-0到270-3中的位复制到与余数位向量的第一索引相关联的存储器单元。存储器单元270-12与余数位向量的第一索引相关联,这是因为存储器单元270-12可存储所述余数位向量的第一位。举例来说,等于5的余数值可由位向量[0101]表示。可将所述位向量存储于存储器单元270-12到270-15中。位向量[0101]的第一位可等于1且可将其存储于与第一索引相关联的存储器单元270-12中。位向量[0101]的第二位可等于0且可将其存储于与第二索引相关联的存储器单元270-13中。与第三索引相关联的存储器单元270-14可等于1。与第四索引相关联的存储器单元270-15可等于0。
[0055] 除法运算可分成若干次计算迭代。如本文中所使用,计算可描述在执行除法运算时所涉及的计算操作。举例来说,复制运算可为计算及/或加法运算可为计算,以及其它计算。每当被除数值的位中的一者被复制到与余数位向量的第一索引相关联的存储器单元时,除法运算的迭代可开始。
[0056] 每当将位复制到与余数位向量的第一索引相关联的存储器单元时,可产生掩码。掩码可指示除数值是否小于或等于对应余数值。如果所述除数值小于或等于所述余数值,那么所述掩码的对应位可被设置为等于1的值,且可从所述余数值减去所述除数值及可存储及移位所述减法的结果的逻辑表示(例如,位向量),如果复制到与余数位向量的第一索引相关联的存储器单元的位并非待迭代的被除数值的最后位,那么更新余数值,且商数值的逻辑表示(例如,位向量)可累加1。如果所述除数值大于所述余数值,那么所述掩码的对应位被设置为零,且商数值的逻辑表示及所述余数值的逻辑表示可经移位以分别更新所述商数值及所述余数值。将关于图3A到3K进一步解释移位。在图3A到3K中给出以上除法运算作为实例。
[0057] 本发明的实施例并不限于图2A中所说明的特定感测电路配置。例如,可使用不同计算组件电路以执行根据本文中所描述的若干实施例的逻辑运算。尽管图2A中并未说明,但在若干实施例中,控制电路可耦合到阵列230、感测放大器206及/或计算组件231。可将此类控制电路实施于与阵列及感测电路相同的芯片上及/或实施于外部处理资源(举例来说,例如外部处理器)上,且可控制启用/停用对应于阵列及感测电路的各种信号以便执行如本文中所描述的逻辑运算。此外,尽管图2A中展示单对互补感测线(205-0/205-1),但阵列230还可包含多个互补感测线对。
[0058] 对执行存储器中的除法运算提供概述的实例伪码给出如下:
[0059]
[0060] 在若干实施例中,可使用减法运算、加法运算、比较运算、移位运算及/或复制运算以及可经使用以执行除法运算的其它运算来执行除法运算。可使用布尔(Boolean)运算及非布尔运算来执行所述减法运算、所述加法运算、所述比较运算、所述移位运算及/或所述复制运算。在若干实施例中,可使用逻辑运算(例如,NAND、AND、NOR、OR等等)来执行布尔及非布尔运算。结合计算组件231执行NAND、AND、NOR及OR逻辑运算的实例在图2B、2C-1、2C-1、2D-1及2D-2中给出。
[0061] 表1给出可经执行以执行加法运算的若干指令的实例。表1中给出的所述实例增加1(一)到存储于存储器阵列230的部分中的值(例如,加数)的逻辑表示(例如,位向量)。位向量“srcdest[p]”是加数的逻辑表示且可将其存储于存储器阵列230中的第一数目个存储器单元中。所述位向量srcdest[p]是将增加1的数值的逻辑表示。P表示与位向量srcdest[p]相关联的索引。举例来说,位向量[011]是值3的逻辑表示,可将所述值3存储于存储器单元
270-0到270-2中,使得位srcdest[0]等于1、位srcdest[1]等于1且位srcdest[2]等于0。位向量tmp[p]是存储变量的逻辑表示,且可将其存储于存储器阵列230中的第二数目个存储器单元中。举例来说,可将位向量tmp[p]存储于存储器单元270-3到270-5中。
[0062] 表1
[0063] 加法运算可分成两个阶段。“Add one”阶段可将1增加到第一位向量srcdest[p]的逻辑表示。在“Add one”阶段中,“read srcdest[0]”调用可读取(例如,锁存)位向量srcdest[p]中具有第一索引的位。举例来说,如本文中所描述,可将存储于存储器单元270-0中的位锁存于感测放大器206及/或计算组件231中。“write tmp[0]”调用可通过激活存储器单元270-3而将锁存于感测放大器206及/或计算组件231中的值(例如,位向量tmp[0]的第一索引)存储于存储器单元270-3中。“write-inverted srcdest[0]”调用可将存储于感测放大器206及/或计算组件231处的位反相,且可通过激活存储器单元270-0而将所述经反相的位存储到存储器单元270-0。
[0064] “For all remaining P bits”阶段可通过对在位向量srcdest[p]中的第一索引之后的每个索引执行表1中的调用而将来自第一阶段的任何余数载送到所述位向量srcdest[p]中的其它位。举例来说,在第一次迭代上,“read srcdest[p]”调用可通过将存储于存储器单元270-1中的位锁存于感测放大器206及/或计算组件231处来读取存储于存储器单元270-1中的所述位。“or tmp[0]”调用可使用锁存的位(例如,从存储器单元270-1读取的位)及存储于存储器单元270-3中的位作为输入来执行OR运算。可在“read srcdest[p]”调用之后锁存存储于存储器单元270-3中的所述位。如下文所描述,可在计算组件231中执行所述OR运算。“write tmp[1]”调用可通过激活存储器单元270-4而将所述OR运算的结果存储于存储器单元270-4中。“read srcdest[p]”调用可将存储于存储器阵列270-1中的位锁存于感测放大器206处。“nand tmp[0]”调用可使用锁存的位(例如,存储于感测放大器206及/或计算组件231中的位)及存储于存储器单元270-3中的位作为输入来执行NAND运算。在“read srcdest[p]”调用之后,可将存储于存储器单元270-3中的所述位锁存于感测放大器206处且将其提供到计算组件231作为用于NAND运算的输入。“write-inverted tmp[0]”调用可将NAND运算的结果在计算组件231处反相。可通过激活存储器单元270-3而将经反相的位存储于存储器单元270-3中。“and tmp[1]”调用可使用NAND运算的结果及存储于存储器单元270-4中的位作为输入来执行AND运算。“write srcdest[p]”调用可将所述AND运算的结果存储于存储器单元270-1中。此时,可使用p的第三索引执行第二阶段的第二次迭代。当加法运算到达位向量srcdest[p]的最后索引时,所述加法运算可结束。
[0065] 表2给出可经执行以执行减法运算的若干指令的实例。可使用表1中所使用的语法来执行表2中所展示的减法运算。所述减法运算可包含三个阶段。“Setup”阶段、“Loop-through remaining P bits”阶段及“Cleanup”阶段。表2中给出的指令使用位向量minuend[p]、位向量subtrahend[p]、位向量tmp[p]及位向量result[p]。所述位向量subtrahend[p]是减数值的逻辑表示,而所述位向量minuend[p]是被减数值的逻辑表示。在所述减法运算中,从被减数值减去减数值。位向量result[p]是所述减法运算的可被存储于所述位向量result[p]中的结果值的逻辑表示。位向量tmp[p]是在执行减法运算时用作暂时存储装置的值的逻辑表示。可将所述位向量minuend[p]、subtrahend[p]、tmp[p]及result[p]存储于存储器阵列230中的若干存储器单元270中。举例来说,可将位向量minuend[p]存储于存储器单元270-0到270-3中,可将位向量subtrahend[p]存储于存储器单元270-4到270-7中,可将位向量tmp[p]存储于存储器单元270-8到270-11中,且可将位向量result[p]存储于存储器单元270-12到270-15中。减法运算可包含计算减数值的二进制补码及将所述减数值的所述二进制补码增加到被减数值。在将所述减数值的所述二进制补码增加到被减数值的对应位时,可逐位计算所述二进制补码。
[0066]
[0067] 表2
[0068]
[0069] 表3给出可经执行以执行复制及/或移位运算的若干指令的实例。复制运算可使用输入值作为输入及使用输出值作为输出。位向量input[p]是输入值的逻辑表示。位向量output[p]是输出值的逻辑表示。对于位向量input[p]中的每个索引,通过将对应位锁存于感测放大器206及/或计算组件231处而从对应于所述位向量input[p]的存储器单元读取位。可将所述锁存的对应位存储于对应于具有与位向量input[p]相同的索引的位向量output[p]的存储器单元中。左移位运算可包含在将位存储于对应于位向量output[p]的存储器单元之前,将移位值增加到所述位向量output[p]的索引。举例来说,“read input[p]”调用可锁存存储于对应于位向量input[p]的存储器单元中的位,所述存储器单元具有来自存储器阵列230的第一部分的第一索引,且“write output[p]”调用可将所述位存储于对应于位向量output[p]的存储器单元中,所述存储器单元具有来自存储器阵列230的第二部分的第二索引。
[0070] 表3
[0071]For each of the P bits
read input[p]
write output[p]
[0072] 表4给出可经执行以执行比较运算的若干指令的实例。所述比较运算可比较除数值与余数值,以确定所述除数值是否大于所述余数值。位向量divisor[p]是除数值的逻辑表示。位向量remainder[p]是余数值的逻辑表示。如用于“read divisor[max]”调用中的Max表示与位向量divisor[p]及/或位向量remainder[p]相关联的最高索引。位difference_found_yet[0]及位difference_this_time[0]是用作暂时存储器的变量的逻辑表示。位result[0]是结果变量的逻辑表示。比较运算包含“Setup”阶段、“Loop-through remaining P bits”阶段及“Cleanup”阶段。所述“Setup”阶段使用位向量divisor[p]及位向量remainder[p]的最大索引。所述“Loop-through remaining P bits”阶段以比最大索引小1的索引开始,且通过缩减所述索引而循环,直到到达位向量divisor[p]及位向量remainder[p]的第一索引。举例来说,如果最大索引为4,那么“Loop-through remaining P bits”阶段以等于3的索引开始,且缩减所述索引直到到达等于1的第一索引。“Cleanup”阶段将位result[0]反相且将所述位存储于与位result[0]相关联的存储器单元中。
[0073] 表4
[0074]
[0075]
[0076] 图2B说明根据本发明的若干实施例的与使用感测电路执行若干逻辑运算相关联的时序图285-1。时序图285-1说明与执行逻辑运算(例如,R输入逻辑运算)的第一运算阶段相关联的信号(例如,电压信号)。图2B中描述的所述第一运算阶段可为(例如)AND、NAND、OR或NOR运算的第一运算阶段。如下文进一步描述,执行图2B中所说明的运算阶段可涉及消耗明显少于(例如,约少一半)先前处理方法的能量,这可涉及在电压轨之间(例如,在供应与接地之间)提供全摆动以执行计算功能。
[0077] 在图2B中所说明的实例中,对应于互补逻辑值(例如,“1”及“0”)的电压轨是供应电压274(VDD)及接地电压272(Gnd)。在执行逻辑运算之前,可发生平衡使得互补感测线D及D_在平衡电压225(VDD/2)下短接在一起。下文结合图3进一步描述平衡。
[0078] 在时间t1处,撤销激活平衡信号226,且接着激活所选择行(例如,对应于其数据值将被感测及用作第一输入的存储器单元的行)。信号204-0表示施加到所述所选择行(例如,行204-0)的电压信号。当行信号204-0达到对应于所选择单元的存取晶体管(例如,202)的阈值电压(Vt)时,所述存取晶体管接通且将感测线D耦合到所述所选择存储器单元(例如,如果所述单元是1T1C DRAM单元,那么耦合到电容器203),这在时间t2与t3之间在感测线D与D_之间产生差分电压信号(例如,如分别由信号205-0及205-1指示)。所述所选择单元的电压由信号203表示。归因于能量守恒,在D与D_之间产生差分信号(例如,通过将单元耦合到感测线D)并不消耗能量,这是因为与激活/撤销激活行信号204相关联的能量可在耦合到行的多个存储器单元之间分摊。
[0079] 在时间t3处,感测放大器(例如,206)激活(例如,正控制信号231变高,且负控制信号228变低),这放大了D与D_之间的差分信号,从而导致对应于逻辑1的电压(例如,VDD)或感测线D上的对应于逻辑0的电压(例如,接地)(且另一电压在互补感测线D_上),使得所感测的数据值被存储于感测放大器206的主要锁存器中。主要能量消耗在将感测线D(205-0)从平衡电压VDD/2充电到轨电压VDD时发生。
[0080] 在时间t4处,(例如,经由分别施加到控制线211-1及211-2的相应Passd及Passdb控制信号)启用传输晶体管207-1及207-2。控制信号211-1及211-2统称为控制信号211。如本文中所使用,各种控制信号(例如Passd及Passdb)可通过指代信号所施加到的控制线而进行引用。例如,Passd信号可称为控制信号211-1。在时间t5处,经由相应控制线212-1及212-2激活累加器控制信号Accumb及Accum。如下文所描述,累加器控制信号212-1及212-2对于后续运算阶段可保持激活。因而,在此实例中,激活控制信号212-1及212-2激活计算组件231的次要锁存器(例如,累加器)。将存储于感测放大器206中的所感测的数据值转移(例如,复制)到所述次要锁存器。
[0081] 在时间t6处,停用(例如,断开)传输晶体管207-1及207-2;然而,因为累加器控制信号212-1及212-2保持激活,所以累加的结果被存储(例如,锁存)于次要锁存器(例如,累加器)中。在时间t7处,撤销激活行信号204-0,且在时间t8处撤销激活阵列感测放大器(例如,撤销激活感测放大器控制信号228及231)。
[0082] 在时间t9处,使感测线D及D_平衡(例如,激活平衡信号226),如由从其相应轨值移动到平衡电压225(VDD/2)的感测线电压信号205-0及205-1所说明。归因于能量守恒定律,所述平衡消耗较少能量。在此实例中,平衡可涉及使互补感测线D及D_在平衡电压(其为VDD/2)下短接在一起。例如,平衡可在存储器单元感测操作之前发生。
[0083] 图2C-1及2C-2分别说明根据本发明的若干实施例的与使用感测电路执行若干逻辑运算相关联的时序图285-2及285-3。时序图285-2及285-3说明与执行逻辑运算(例如,R输入逻辑运算)的若干中间运算阶段相关联的信号(例如,电压信号)。例如,时序图285-2对应于R输入NAND运算或R输入AND运算的若干中间运算阶段,且时序图285-3对应于R输入NOR运算或R输入OR运算的若干中间运算阶段。举例来说,执行AND或NAND运算可包含继初始运算阶段(例如图2B中所描述的运算阶段)之后执行图2C-1中所展示的运算阶段一或多次。类似地,执行OR或NOR运算可包含继初始运算阶段(例如图2B中所描述的运算阶段)之后执行图2C-2中所展示的运算阶段一或多次。
[0084] 如时序图285-2及285-3中所展示,在时间t1处,停用平衡(例如,撤销激活平衡信号226),且接着激活所选择行(例如,对应于其数据值将被感测及用作输入(例如第二输入、第三输入等等)的存储器单元的行)。信号204-1表示施加到所述所选择行(例如,列204-1)的电压信号。当行信号204-1达到对应于所选择单元的存取晶体管(例如,202)的阈值电压(Vt)时,所述存取晶体管接通且将感测线D耦合到所述所选择存储器单元(例如,如果所述单元是1T1C DRAM单元,那么耦合到电容器203),这在时间t2与t3之间在感测线D与D_之间产生差分电压信号(例如,如分别由信号205-0及205-1指示)。所述所选择单元的电压由信号203表示。归因于能量守恒,在D与D_之间产生差分信号(例如,通过将所述单元耦合到感测线D)并不消耗能量,这是因为与激活/撤销激活行信号204相关联的能量可在耦合到行的多个存储器单元之间分摊。
[0085] 在时间t3处,感测放大器(例如,206)激活(例如,正控制信号231变高,且负控制信号228变低),这放大了D与D_之间的差分信号,从而导致对应于逻辑1的电压(例如,VDD)或感测线D上的对应于逻辑0的电压(例如,接地)(且另一电压在互补感测线D_上),使得所感测的数据值被存储于感测放大器206的主要锁存器中。主要能量消耗在将感测线D(205-0)从平衡电压VDD/2充电到轨电压VDD时发生。
[0086] 如时序图285-2及285-3中所展示,在时间t4处(例如,在感测所选择单元之后),取决于特定逻辑运算,仅激活控制信号211-1(Passd)及211-2(Passdb)中的一者(例如,仅启用传输晶体管207-1及207-2中的一者)。举例来说,因为时序图285-2对应于NAND或AND运算的中间阶段,所以在时间t4处激活控制信号211-1且控制信号211-2保持撤销激活。相反地,因为时序图285-3对应于NOR或OR运算的中间阶段,所以在时间t4处激活控制信号211-2且控制信号211-1保持撤销激活。回顾上文,在图2B中所描述的初始运算阶段期间激活累加器控制信号212-1(Accumb)及212-2(Accum),且其在所述中间运算阶段期间保持激活。
[0087] 因为先前已激活累加器,所以仅激活Passd(211-1)导致累加对应于电压信号205-0的数据值。类似地,仅激活Passdb(211-2)导致累加对应于电压信号205-1的数据值。举例来说,在其中仅激活Passd(211-1)的实例AND/NAND运算中(例如,时序图285-2),如果存储于所选择存储器单元(例如,在此实例中为行1存储器单元)中的数据值是逻辑0,那么与次要锁存器相关联的累加值断言为低,使得所述次要锁存器存储逻辑0。如果存储于行1存储器单元中的数据值并非逻辑0,那么次要锁存器保留其所存储的行0数据值(例如,逻辑1或逻辑0)。因而,在此AND/NAND运算实例中,次要锁存器用作零(0)累加器。类似地,在其中仅激活Passdb的实例OR/NOR运算中(例如,时序图285-3),如果存储于所选择存储器单元(例如,在此实例中为行1存储器单元)中的数据值是逻辑1,那么与次要锁存器相关联的累加值断言为高,使得所述次要锁存器存储逻辑1。如果存储于行1存储器单元中的数据值并非逻辑1,那么次要锁存器保留其所存储的行0数据值(例如,逻辑1或逻辑0)。因而,在此OR/NOR运算实例中,次要锁存器有效地用作一个(1)累加器,因为D_上的电压信号205-1设置所述累加器的真实数据值。
[0088] 在中间运算阶段(例如图2C-1及2C-2中所展示的中间运算阶段)结束时,(例如,在时间t5处)撤销激活Passd信号(例如,对于AND/NAND)或Passdb信号(例如,对于OR/NOR),(例如,在时间t6处)撤销激活所选择行,(例如,在时间t7处)撤销激活感测放大器,且(例如,在时间t8处)平衡发生。可重复中间运算阶段(例如图2C-1或2C-2中所说明的中间运算阶段)以便累加来自若干额外行的结果。作为实例,时序图285-2或285-3的序列可被执行:对于行2存储器单元为后续(例如,第二)时间,对于行3存储器单元为后续(例如,第三)时间等等。例如,对于10输入NOR运算,图2C-2中所展示的中间阶段可发生9次以提供所述10输入逻辑运算的9个输入,其中在(例如,如图2B中所描述的)初始运算阶段期间确定第十输入。
[0089] 图2D-1及2D-2分别说明根据本发明的若干实施例的与使用感测电路执行若干逻辑运算相关联的时序图285-4及285-5。时序图285-4及285-5说明与执行逻辑运算(例如,R输入逻辑运算)的最后运算阶段相关联的信号(例如,电压信号)。例如,时序图285-4对应于R输入NAND运算或R输入NOR运算的最后运算阶段,而时序图285-5对应于R输入AND运算或R输入OR运算的最后运算阶段。举例来说,执行NAND运算可包含继结合图2C-1所描述的中间运算阶段的数次迭代之后执行图2D-1中所展示的运算阶段,执行NOR运算可包含继结合图2C-2所描述的中间运算阶段的数次迭代之后执行图2D-1中所展示的运算阶段,执行AND运算可包含继结合图2C-1所描述的中间运算阶段的数次迭代之后执行图2D-2中所展示的运算阶段,且执行OR运算可包含继结合图2C-2所描述的中间运算阶段的数次迭代之后执行图
2D-2中所展示的运算阶段。下面所展示的表5指示对应于根据本文中所描述的若干实施例的与执行若干R输入逻辑运算相关联的运算阶段的序列的图。
[0090] 表5
[0091]
[0092] 结合将R输入逻辑运算的结果存储到阵列(例如,阵列230)的行来描述图2D-1及2D-2的最后运算阶段。然而,如上文所描述,在若干实施例中,除了将结果存储回到阵列之外,也可将结果存储到合适位置(例如,经由I/O线存储到与控制器及/或主机处理器相关联的外部寄存器,存储到不同存储器装置的存储器阵列等等)。
[0093] 如时序图285-4及285-5中所展示,在时间t1处,停用平衡(例如,撤销激活平衡信号226)使得感测线D及D_浮动。在时间t2处,取决于执行哪一逻辑运算,激活InvD信号213或Passd及Passdb信号211。在此实例中,对于NAND或NOR运算激活InvD信号213(参见图2D-1),且对于AND或OR运算激活Passd及Passdb信号211(参见图2D-2)。
[0094] 在时间t2处激活InvD信号213(例如,结合NAND或NOR运算)启用晶体管214-1/214-2,且在将感测线D或感测线D_拉低时导致将存储于次要锁存器中的数据值反相。因而,激活信号213将所累加的输出反相。因此,对于NAND运算,如果在先前运算阶段(例如,初始运算阶段及一或多个中间运算阶段)中感测的存储器单元中的任一者存储逻辑0(例如,如果所述NAND运算的R输入中的任一者是逻辑0),那么感测线D_将载送对应于逻辑0的电压(例如,接地),且感测线D将载送对应于逻辑1的电压(例如,供应电压,例如VDD)。对于此NAND实例,如果在先前运算阶段中感测的全部存储器单元存储逻辑1(例如,所述NAND运算的全部R输入是逻辑1),那么感测线D_将载送对应于逻辑1的电压,且感测线D将载送对应于逻辑0的电压。在时间t3处,接着激活感测放大器206的主要锁存器(例如,触发所述感测放大器),驱动D及D_到适当轨电压,且感测线D现载送如从先前运算阶段期间感测的存储器单元确定的相应输入数据值的经NAND运算的结果。因而,如果输入数据值中的任一者是逻辑0,那么感测线D将处于VDD下,且如果全部输入数据值都是逻辑1,那么感测线D将处于接地。
[0095] 对于NOR运算,如果在先前运算阶段(例如,初始运算阶段及一或多个中间运算阶段)中感测的存储器单元中的任一者存储逻辑1(例如,如果所述NOR运算的R输入中的任一者是逻辑1),那么感测线D_将载送对应于逻辑1的电压(例如,VDD),且感测线D将载送对应于逻辑0的电压(例如,接地)。对于此NOR实例,如果在先前运算阶段中感测的全部存储器单元存储逻辑0(例如,所述NOR运算的全部R输入是逻辑0),那么感测线D_将载送对应于逻辑0的电压,且感测线D将载送对应于逻辑1的电压。在时间t3处,接着激活感测放大器206的主要锁存器,且感测线D现含有如从先前运算阶段期间感测的存储器单元确定的相应输入数据值的经NOR运算的结果。因而,如果输入数据值中的任一者是逻辑1,那么感测线D将处于接地,且如果全部输入数据值是逻辑0,那么感测线D将处于VDD。
[0096] 参考图2D-2,激活Passd及Passdb信号211(例如,结合AND或OR运算)将存储于计算组件231的次要锁存器中的累加输出转移到感测放大器206的主要锁存器。例如,对于AND运算,如果在先前运算阶段(例如,图2B的第一运算阶段及图2C-1的中间运算阶段的一或多次迭代)中感测的存储器单元中的任一者存储逻辑0(例如,如果所述AND运算的R输入中的任一者是逻辑0),那么感测线D_将载送对应于逻辑1的电压(例如,VDD),且感测线D将载送对应于逻辑0的电压(例如,接地)。对于此AND实例,如果在先前运算阶段中感测的全部存储器单元存储逻辑1(例如,所述AND运算的全部R输入都是逻辑1),那么感测线D_将载送对应于逻辑0的电压,且感测线D将载送对应于逻辑1的电压。在时间t3处,接着激活感测放大器206的主要锁存器,且感测线D现载送如从先前运算阶段期间感测的存储器单元确定的相应输入数据值的经AND运算的结果。因而,如果输入数据值中的任一者是逻辑0,那么感测线D将处于接地,且如果全部输入数据值都是逻辑1,那么感测线D将处于VDD。
[0097] 对于OR运算,如果在先前运算阶段(例如,图2B的第一运算阶段及图2C-2中所展示的中间运算阶段的一或多次迭代)中感测的存储器单元中的任一者存储逻辑1(例如,如果所述OR运算的R输入中的任一者是逻辑1),那么感测线D_将载送对应于逻辑0的电压(例如,接地),且感测线D将载送对应于逻辑1的电压(例如,VDD)。对于此OR实例,如果在先前运算阶段中感测的全部存储器单元存储逻辑0(例如,所述OR运算的全部R输入是逻辑0),那么感测线D将载送对应于逻辑0的电压,且感测线D_将载送对应于逻辑1的电压。在时间t3处,接着激活感测放大器206的主要锁存器,且感测线D现载送如从先前运算阶段期间感测的存储器单元确定的相应输入数据值的经OR运算的结果。因而,如果输入数据值中的任一者是逻辑1,那么感测线D将处于VDD下,且如果全部输入数据值是逻辑0,那么感测线D将处于接地。
[0098] 接着,可将R输入AND、OR、NAND及NOR运算的结果存储回到阵列230的存储器单元。在图2D-1及2D-2中所展示的实例中,R输入逻辑运算的结果被存储到耦合到行R(例如,204-R)的存储器单元。将逻辑运算的结果存储到行R存储器单元仅涉及通过激活行R而启用行R存取晶体管202。行R存储器单元的电容器203将被驱动到对应于感测线D上的数据值(例如,逻辑1或逻辑0)的电压,所述电压本质上重写先前存储于行R存储器单元中的任何数据值。
应注意,行R存储器单元可为存储用作逻辑运算的输入的数据值的相同存储器单元。例如,逻辑运算的结果可被存储回到行0存储器单元或行1存储器单元。
[0099] 时序图285-4及285-5说明,在时间t3处,撤销激活正控制信号231及负控制信号228(例如,信号231变高且信号228变低)以激活感测放大器206。在时间t4处,撤销激活在时间t2处激活的相应信号(例如,213或211)。实施例并不限于此实例。例如,在若干实施例中,可继时间t4之后(例如,在撤销激活信号213或信号211之后)激活感测放大器206。
[0100] 如图2D-1及2D-2中所展示,在时间t5处,激活行R(204-R),这将所选择单元的电容器203驱动到对应于存储于累加器中的逻辑值的电压。在时间t6处,撤销激活行R,在时间t7处,撤销激活感测放大器206(例如,撤销激活信号228及231),且在时间t8处平衡发生(例如,激活信号226且使互补感测线205-0/205-1上的电压达到平衡电压)。
[0101] 在若干实施例中,感测电路(例如,与存储器单元有节距地形成的电路),例如图2A中所描述的感测电路,可实现并行执行数种逻辑运算。例如,在具有16K列的阵列中,可在无需经由总线转移来自阵列及感测电路的数据的情况下及/或在无需经由I/O线转移来自阵列及感测电路的数据的情况下并行执行16K的逻辑运算。
[0102] 而且,所属领域的一般技术人员将了解,执行R输入逻辑运算(例如,NAND、AND、NOR、OR等等)的能力可实现更复杂的计算功能的执行,例如加法、减法、乘法及除法以及其它初级数学功能及/或图案比较功能。举例来说,可组合一系列NAND运算以执行全加器功能。作为实例,如果全加器需要12个NAND以连同进位输入(carry in)及进位输出(carry out)一起增加两个数据值,那么可执行总共384个NAND运算(12x 32)以增加两个32位数。也可使用本发明的实施例以执行可为非布尔运算的逻辑运算(例如,复制、比较等等)。
[0103] 此外,在若干实施例中,到所执行的逻辑运算的输入可能并非为存储于感测电路(例如,150)所耦合的存储器阵列中的数据值。例如,可在不激活阵列(例如,230)的行的情况下由感测放大器(例如,206)来感测到逻辑运算的若干输入。作为实例,可由感测放大器206经由耦合到其的I/O线来接收所述若干输入。可将此类输入(例如,经由适当I/O线)从阵列230外部的源(举例而言,例如从主机处理器(例如,主机110)及/或外部控制器)提供到感测放大器206。作为另一实例,结合执行逻辑运算,可从不同感测放大器及/或计算组件对接收到特定感测放大器(例如,206)及其对应计算组件(例如,231)的输入。例如,可将存储于耦合到第一单元列的第一累加器中的数据值(例如,逻辑结果)转移到与不同单元列相关联的不同(例如,相邻)感测放大器/计算组件对,所述不同单元行可或可不定位于与所述第一列相同的阵列中。
[0104] 本发明的实施例并不限于图2A中所说明的特定感测电路配置。例如,可使用不同计算组件电路以执行根据本文中所描述的若干实施例的逻辑运算。尽管图2A中并未说明,但在若干实施例中,控制电路可耦合到阵列230、感测放大器206及/或计算组件231。可将此类控制电路实施于与阵列及感测电路相同的芯片上及/或实施于外部处理资源(举例来说,例如外部处理器)上,且可控制启用/停用对应于阵列及感测电路的各种信号以便执行如本文中所描述的逻辑运算。
[0105] 结合图2A、2B、2C-1、2C-2、2D-1及2D-2所描述的实例逻辑运算阶段涉及累加数据值(例如,从存储器单元感测的数据值及/或对应于感测线的电压或电流的数据值)。归因于能量守恒,在执行逻辑运算阶段中所消耗的能量约等于在将感测线D或D_的电容从VDD/2充电到VDD期间消耗的能量,在激活感测放大器时开始此充电(例如,在如图2B、2C-1、2C-2、2D-1及2D-2中所展示的时间t3处)。因而,执行逻辑运算约消耗将感测线(例如,数字线)从VDD/2充电到VDD所使用的能量。相比之下,各种先前处理方法常常消耗从轨电压到轨电压(例如,从接地到VDD)对感测线充电的至少一定量的能量,所述能量可为相比于本文中所描述的实施例的能量的两倍或更多。
[0106] 图3A说明展示根据本发明的若干实施例的处于与执行一系列除法运算相关联的特定阶段的阵列330的一部分的单元的状态的逻辑图。图3A包含类似于图2A的存储器阵列230及图1的存储器阵列130的存储器阵列330。存储器阵列330包含感测线305-0、305-1、
305-2、305-3、305-4、305-5(例如,整体称为感测线305)。更多或更少条感测线可包含于存储器阵列330中。感测线305中的每一者表示不同除法运算。举例来说,可基于存储于耦合到六条不同感测线的若干存储器单元中的值来(例如,并行)执行六个不同除法运算。
[0107] 存储器阵列330还包含选择线304-0、304-1、304-2、304-3、304-4、304-5、304-6、304-7、304-8、304-9、304-10、304-11、304-12、304-13、304-14、304-15、304-16(例如,整体称为选择线304)。在图3A中,第一除法运算可由被除数值320-0除以除数值322-0组成。可将所述第一除法运算的结果存储于商数值324-0及余数值326-0中。第二除法运算可由被除数值320-1除以除数值322-1组成。可将所述第二除法运算的结果存储于商数值324-1及余数值326-1中。第三除法运算可由被除数值320-2除以除数值322-2组成。可将所述第三除法运算的结果存储于商数值324-2及余数值326-2中。第四除法运算可由被除数值320-3除以除数值322-3组成。可将所述第四除法运算的结果存储于商数值324-3及余数值326-3中。第五除法运算可由被除数值320-4除以除数值322-4组成。可将所述第五除法运算的结果存储于商数值324-4及余数值326-4中。第六除法运算可由被除数值320-5除以除数值322-5组成。
可将所述第六除法运算的结果存储于商数值324-5及余数值326-5中。
[0108] 被除数值320-0、320-1、320-2、320-3、320-4、320-5(例如,整体称为被除数值320)、除数值322-0、322-1、322-2、322-3、322-4、322-5(例如,整体称为除数值322)、商数值
324-0、324-1、324-2、324-3、324-4、324-5及余数值326-0、326-1、326-2、326-3、326-4、326-
5可作为位向量被存储于耦合到选择线304及感测线305的存储器单元中。举例来说,存储于若干存储器单元中的被除数值320-0可具有等于5的值。被除数值320-0可由位向量[0101]表示,所述位向量[0101]可被存储于耦合到感测线320-0及选择线304-0、304-1、304-2、
304-3的存储器单元中。
[0109] 图3A展示存储器阵列330中的存储器单元的初始状态。举例来说,可使用表示值0的位向量[0000]初始化存储商数值及余数值的存储器单元。存储被除数值320-0的存储器单元经初始化以存储位向量[0101]。被除数值320-0等于5。存储被除数值320-1的存储器单元经初始化以存储位向量[0111]。被除数值320-1等于7。存储被除数值320-2的存储器单元经初始化以存储位向量[0011]。被除数值320-2等于3。存储被除数值320-3的存储器单元经初始化以存储位向量[0110]。被除数值320-3等于6。存储被除数值320-4的存储器单元经初始化以存储位向量[1000]。被除数值320-4等于8。存储被除数值320-5的存储器单元经初始化以存储位向量[1100]。被除数值320-5等于12。
[0110] 存储除数值322-0的存储器单元经初始化以存储位向量[0100]。所存储的除数值322-0等于4。存储除数值322-1的存储器单元经初始化以存储位向量[0010]。除数值322-1等于2。存储除数值322-2的存储器单元经初始化以存储位向量[0001]。除数值322-2等于1。
存储除数值322-3的存储器单元经初始化以存储位向量[0011]。除数值322-3等于3。存储除数值322-4的存储器单元经初始化以存储位向量[0101]。除数值322-4等于5。存储除数值
322-5的存储器单元经初始化以存储位向量[0110]。除数值322-5等于6。
[0111] 图3A还包含掩码328-0、328-1、328-2、328-3、328-4、328-5(例如,整体称为掩码328)。在图3C中进一步描述掩码328。
[0112] 图3B到3K说明展示根据本发明的若干实施例的在与执行除法运算相关联的不同阶段期间(例如,在计算之后)的阵列部分330的存储器单元的状态的逻辑图。图3A说明阵列部分330的存储器单元的原始(例如,经初始化的)状态。
[0113] 图3B说明展示处于与执行除法运算相关联的特定阶段(例如,在继图3A中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。
[0114] 执行除法运算中的第一计算是将存储于与表示被除数值320的位向量的第四索引相关联的存储器单元中的位复制到与表示余数值326的位向量的第一索引相关联的存储器单元。举例来说,将存储于耦合到图3A中存储被除数值320-0的存储器单元的感测线305-0及选择线304-3的存储器单元中的位(例如,0)复制到耦合到存储余数值326-0的存储器单元的感测线305-0及选择线304-12的存储器单元。将存储于耦合到图3A中存储被除数值320-1的存储器单元的感测线305-1及选择线304-3的存储器单元中的位(例如,0)复制到耦合到存储余数值326-1的存储器单元的感测线305-1及选择线304-12的存储器单元。将存储于耦合到图3A中存储被除数值320-1的存储器单元的感测线305-2及选择线304-3的存储器单元中的位(例如,0)复制到耦合到存储余数值326-2的存储器单元的感测线305-2及选择线304-12的存储器单元。将存储于耦合到图3A中存储被除数值320-3的存储器单元的感测线305-3及选择线304-3的存储器单元中的位(例如,0)复制到耦合到存储余数值326-3的存储器单元的感测线305-3及选择线304-12的存储器单元。将存储于耦合到图3A中存储被除数值320-4的存储器单元的感测线305-4及选择线304-3的存储器单元中的位(例如,1)复制到耦合到存储余数值326-4的存储器单元的感测线305-4及选择线304-12的存储器单元。将存储于耦合到图3A中存储被除数值320-5的存储器单元的感测线305-5及选择线304-3的存储器单元中的位(例如,1)复制到耦合到存储余数值326-5的存储器单元的感测线305-5及选择线304-12的存储器单元。因此,在复制运算之后,表示余数值326-0、…、326-5的位向量已分别被更新到[0000]、[0000]、[0000]、[0000]、[0001]及[0001],所述更新的位向量分别表示更新的余数值0、0、0、0、1及1。
[0115] 图3C说明展示处于与执行除法运算相关联的特定阶段(例如,在继图3B中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。
[0116] 在图3C中,产生若干掩码328。如本文中所使用,掩码可为在比较两个值(例如,比较被除数值与余数值)之后产生的掩码及/或在比较若干值之后产生的掩码。举例来说,掩码328-0可指示除数值322-0与余数值326-0的比较结果。掩码328-1可指示除数值322-1与余数值326-1的比较结果。掩码328-2可指示除数值322-2与余数值326-2的比较结果。掩码328-3可指示除数值322-3与余数值326-3的比较结果。掩码328-4可指示除数值322-4与余数值326-4的比较结果。掩码328-5可指示除数值322-5与余数值326-5的比较结果。比较可确定除数值是否小于或等于余数值。存储掩码328-0、328-1、328-2、328-3、328-4、328-5(例如,整体称为掩码328)的存储器单元在除数值大于余数值时可被设置为零,且在所述除数值小于或等于所述余数值时被设置为1。图3C中的掩码328全部被设置为0,这是因为除数值
322均不小于或等于余数值326。举例来说,掩码328-5的存储器单元被设置为0,这是因为除数值322-5(例如,6)大于余数值326-5(例如,1)。
[0117] 图3D说明展示处于与执行除法运算相关联的特定阶段(例如,在继图3C中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。
[0118] 在图3D中,与具有等于0的值的掩码328相关联的商数值324的逻辑表示(例如,位向量)经移位以更新所述商数值。即,因为除数值322大于余数值326,所以移位商数值324的逻辑表示。在若干实例中,也可将移位表示为左移位及/或向下移位。移位可涉及将存储于存储器单元中的位复制到与大于最初存储所述位的存储器单元的索引相关联的不同存储器单元。举例来说,当将存储于耦合到感测线305-0及选择线304-8的存储器单元中的位(例如,0)复制到耦合到感测线305-0及选择线304-9的存储器单元时,移位发生。在以上实例中,耦合到感测线305-0及选择线304-8的存储器单元与等于1的索引相关联,所述索引低于与耦合到感测线305-0及选择线304-9的存储器单元相关联的等于2的索引。
[0119] 图3E说明展示处于与执行除法运算相关联的特定阶段(例如,在继图3D中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。
[0120] 在图3E中,全部余数值324的逻辑表示也被移位(以更新余数值324),这是因为掩码328全部都具有等于0的值。举例来说,存储于耦合到感测线305-4及选择线304-12到304-15的存储器单元中的位被移位到耦合到感测线305-4及选择线304-13到304-16的存储器单元。存储于耦合到感测线305-4及选择线304-12的存储器单元中的位被移位(例如,复制)到耦合到感测线305-4及选择线304-13的存储器单元。通过将存储于所述存储器单元中的位设置为等于0而空出耦合到感测线305-4及选择线304-12的存储器单元。凭借移位(例如,从位向量[0001]到位向量[0010]),余数值326-4及326-5经更新以具有为二(2)的值。
[0121] 这是除法运算的第一次迭代的结束。除法运算的第二次迭代(图3A到3K中并未展示)包含将存储于耦合到感测线305-0到感测线305-5及选择线304-2的存储器单元中的位复制到耦合到感测线305-0到感测线305-5及选择线304-12的存储器单元。所述第二次迭代也可包含重新产生掩码。所述第二次迭代可包含确定掩码是否具有等于1或0的值。所述第二次迭代可包含:如果确定所述掩码具有等于1的值,那么从余数值减去除数值,且将结果的逻辑表示存储为余数值。如果所述掩码具有等于一(1)的值,那么商数值的逻辑表示(位向量)经移位且累加一(1)以更新所述商数值。如果所述掩码具有等于一(1)的值,且如果耦合到感测线305-0到感测线305-5及选择线304-2的存储器单元并不具有第一索引,那么减法运算的结果的逻辑表示经移位以更新余数值。
[0122] 图3F说明展示处于与执行除法运算相关联的特定阶段(例如,在继图3E中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。
[0123] 在图3F中,将存储于与表示被除数值320的位向量的第一索引相关联的存储器单元中的位复制到与表示余数值326的位向量的第一索引相关联的存储器单元。举例来说,将存储于耦合到感测线320-0到感测线320-5及选择线304-0的存储器单元中的位复制到耦合到感测线320-0到感测线320-5及选择线304-12的存储器单元。
[0124] 图3G说明展示处于与执行除法运算相关联的特定阶段(例如,在继图3F中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。
[0125] 在图3G中,已重新产生掩码328。举例来说,掩码328-0等于1,这是因为除数值322-0(例如,4)小于余数值326-0(例如,5)。掩码328-3等于0,这是因为除数值322-3(例如,3)大于余数值326-6(例如,0)。
[0126] 图3H说明展示处于与执行除法运算相关联的特定阶段(例如,在继图3G中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。
[0127] 在图3H中,已从余数值326减去除数值322,其中相关联的掩码等于1。举例来说,在图3G中从余数值326-0(例如,5)减去除数值322-0(例如,4),且将结果存储于如图3H中所说明的存储余数值326-0(例如,1)的存储器单元中。类似地,在图3G中从余数值326-4(例如,8)减去除数值322-4(例如,5),且将减法的结果存储于图3H中存储余数值326-4(例如,3)的存储器单元中。然而,并未从余数值326-3及326-5减去除数值322-3及除数值322-5,这是因为相关联的掩码328-3及掩码328-5等于0。
[0128] 图3I说明展示处于与执行除法运算相关联的特定阶段(例如,在继图3H中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。
[0129] 在图3I中,商数值324-0、324-1、324-2及324-4的逻辑表示已被左移位且累加1,这是因为对应掩码328-0、328-1、328-2及324-4等于1。举例来说,存储于图3H中存储商数值324-1(例如,1)的存储器单元中的位经向下移位以将所述商数值暂时更新到值2。在图3I中,商数值324-1(例如,暂时为2)的逻辑表示已被累加1以对图3I中的商数值提供等于3的更新值。
[0130] 在图3I中,尽管相关联的掩码值328-0、328-1、328-2、328-4等于1,但余数值326-0、326-1、326-2、326-4的逻辑表示并未经移位,这是因为图3F中所复制的位是从连接到感测线320-0到感测线320-5及选择线304-0的具有等于1的索引的存储器单元复制。即,不存在更多的位来复制,且余数值326-0、326-1、326-2、326-4是除法运算的最终余数值。同样地,商数值324-0、324-1、324-2、324-4是除法运算的最终商数值。
[0131] 然而,如图3J及图3K中所展示,将移位与具有等于0的值的掩码相关联的商数值及余数值的逻辑表示。
[0132] 图3J说明展示处于与执行除法运算相关联的特定阶段(例如,在继图3I中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。
[0133] 在图3J中,左移位商数值324-3、324-5的逻辑表示。举例来说,图3I中的商数值324-3、324-5在其被左移位之前具有等于1的值,且在其被左移位之后具有等于2的值。
[0134] 图3K说明展示处于与执行除法运算相关联的特定阶段(例如,在继图3J中所展示的阶段之后的阶段)的阵列部分330的单元的状态的逻辑图。
[0135] 在图3K中,左移位余数值326-3、326-5的逻辑表示。举例来说,图3J中的余数值326-3、326-5在其被左移位之前具有等于0的值,且在其被左移位之后具有等于0的值。所述移位对余数值326-3、326-5无影响,这是因为所述余数值在所述移位之前等于0,且因此所述余数值的0位的移位并不影响所述余数值。
[0136] 结论
[0137] 本发明包含用于感测线除法的装置及方法。实例设备包括存储器阵列的第一地址空间,其包括耦合到感测线及第一数目个选择线的第一数目个存储器单元,其中所述第一地址空间存储被除数值。所述存储器阵列的第二地址空间包括耦合到所述感测线及第二数目个选择线的第二数目个存储器单元,其中所述第二地址空间存储除数值。所述存储器阵列的第三地址空间包括耦合到所述感测线及第三数目个选择线的第三数目个存储器单元,其中所述第三地址空间存储余数值。感测电路可经配置以接收所述被除数值及所述除数值,将所述被除数值除以所述除数值,及将除法的余数结果存储于所述第三数目个存储器单元中。
[0138] 尽管本文中已说明及描述特定实施例,但所属领域的一般技术人员将了解经计算以实现相同结果的布置可替代所展示的特定实施例。本发明希望涵盖本发明的一或多个实施例的调适及变化。应理解,已以说明性方式且非限制性方式作出上文描述。所属领域的技术人员在审阅上文描述之后将明白本文中并未特定描述的上文实施例及其它实施例的组合。本发明的一或多个实施例的范围包含其中使用上文结构及方法的其它应用。因此,本发明的一或多个实施例的范围应参考所附权利要求书连同此类权利要求书所拥有的等效物的完整范围而确定。
[0139] 在前述具体实施方式中,在单一实施例中出于简化本发明的目的而将一些特征组合在一起。本发明的此方法不应解释为反映以下意向:本发明的所揭示实施例必须使用多于每一权利要求中所明确叙述的特征。而是,如所附权利要求书反映,本发明标的物在于少于单一所揭示实施例的全部特征。因此,所附权利要求书由此被并入具体实施方式中,其中每一权利要求独立作为单独实施例。
QQ群二维码
意见反馈