具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。
图1为本公开实施例提供的存储器的一种框图,为了便于图示,图1中以一个圆圈表示一个存储单元,以一个三角形表示一个感测放大器。
参考图1,本公开实施例提供的存储器包括存储阵列101。存储阵列101包括连接到多条字线和多条位线的多个存储单元,其中,多条字线包括相互独立的第一字线WL1和第二字线WL0,位线包括相互独立的第一位线BL1和第二位线BL0,多个存储单元包括由第一存储单元C1、第一参考存储单元C1R、第二存储单元C2以及第二参考存储单元C2R构成的目标存储单元组,第一存储单元C1连接第一字线WL1以及第一位线BL1,第一参考存储单元C1R连接第一字线WL1以及第二位线BL0,第二存储单元C2连接第二字线WL0以及第一位线BL1,第二参考存储单元C2R连接第二字线WL0以及第二位线BL0。
其中,在存内计算模式下,在对目标存储单元组执行读操作期间,第一存储单元C1以及第二存储单元C2均与第一位线BL1共享电荷,第一参考存储单元C1R以及第二参考存储单元C2R均与第二位线BL0共享电荷。存储阵列101被配置为,响应于处于有效状态的存内计算使能信号PIM,第一存储单元C1以及第一参考存储单元C1R均被写入第一数据,第二存储单元C2以及第二参考存储单元C2R均被写入第二数据。
存储器可以处于传统工作模式或者PIM模式。其中,传统工作模式指的是,存储器内不同存储单元之间无需进行逻辑运算,而是直接读取出选中的存储单元内存储的数据。
PIM模式指的是,存储器内不同存储单元之间可以进行逻辑运算,具体地,选中的不同存储单元内存储的数据之间进行逻辑运算得到运算结果,并输出该运算结果。
其中,存储器响应于存内计算使能信号PIM,以决定该存储器工作于传统工作模式还是PIM模式。
当存内计算使能信号PIM处于有效状态时,存储器工作于PIM模式。当存内计算使能信号PIM处于无效状态时,存储器工作于传统工作模式。
在一些例子中,存内计算使能信号PIM为逻辑1时,存内计算使能信号PIM处于有效状态,相应的,存储器工作于PIM模式;存内计算使能信号PIM为逻辑0时,存内计算使能信号PIM处于无效状态,相应的,存储器工作于传统工作模式。
在另一些例子中,存内计算使能信号PIM为逻辑0时,存内计算使能信号PIM处于有效状态,相应的,存储器工作于PIM模式;存内计算使能信号PIM为逻辑1时,存内计算使能信号PIM处于无效状态,相应的,存储器工作于传统工作模式。
可以理解的是,如无特别说明,本公开实施例中的逻辑1指的是高电平,逻辑0指的是低电平。此外,本公开实施例中的所称高电平、低电平均为相对的概念(即高电平的电压值高于与其对应的低电平的电压值),不限定高电平的具体电压值,也不限定低电平的具体电压值。
在一些例子中,存内计算使能信号PIM的值预存在寄存器中。
存内计算使能信号PIM是否处于有效状态,由寄存器的读出值决定。例如,寄存器的读出值为第一值,则存内计算使能信号处于有效状态,寄存器的读出值为不同于第一值的第二值,则存内计算使能信号处于无效状态。
图1中,以存储阵列101包括连接到4条字线和8条位线的多个存储单元为例,相应的,感测放大器阵列102包括8个感测放大器112,感测放大器112采用开放式位线连接方式,故存储阵列101还包括8条参考位线(也即,互补位线)。
可以理解的是,本公开实施例并不对存储阵列101中字线的数量和位线的数量做限定,类似的,本公开实施例也并不对感测放大器阵列102中的感测放大器112的数量做限定。
为了便于图示和说明,图1中,4条字线按照排布顺序依次标示为WL0、WL1、WL2、WL3,8条位线按照排布顺序依次标示为BL0、BL1、BL2、BL3、BL4、BL5、BL6、BL7。与位线BL0、BL1、BL2、BL3、BL4、BL5、BL6、BL7各自相对应的参考位线分别标示为BLB0、BLB1、BLB2、BLB3、BLB4、BLB5、BLB6、BLB7。
其中,第一字线WL1和第二字线WL0可以为相邻的两条字线,也可以为相间隔的两条字线,且相间隔的两条字线之间可以具有1条或者多条字线。第一位线BL1和第二位线BL0可以为相邻的位线,也可以为相间隔的两条位线,且相间隔的两条位线之间可以具有1条或者多条位线。
其中,在存内计算模式下,目标存储单元组中存储单元的位置由第一位线BL1、第二位线BL0、第一字线WL1以及第二字线WL0决定。与同一目标存储单元中的存储单元连接的第一位线BL1和第二位线BL0为目标位线组。
在一些例子中,存储阵列101中可以具有一个目标存储单元组,相应的,存储阵列101可以具有1个目标位线组。在另一些例子中,存储阵列101中也可以具有多个目标存储单元组,相应的,存储阵列101可以具有多个目标位线组,每个目标位线组中均具有相应的第一位线BL1和第二位线BL0。
参考图1,在一个具体例子中,存储阵列101具有4个目标位线组,分别标识为Group0、Group1、Group2、Group3,且以每个目标位线组中的第一位线BL1和第二位线BL0均为相邻位线作为示例。
以目标位线组Group0为例,第一位线BL1、第二位线BL0、第一字线WL1和第二字线WL0定义出第一存储单元C1、第一参考存储单元C1R、第二存储单元C2以及第二参考存储单元C2R。
需要说明的是,第一位线BL1和第二位线BL0仅是为了区分不同位线的定义,在另一些例子中,也可以定义为第一位线BL0和第二位线BL1。
同理,第一字线WL1和第二字线WL0仅是为了区分不同字线的定义,在另一些例子中,也可以定义为第一字线WL0和第二字线WL1。
在对同一目标存储单元组执行读操作期间,第一存储单元C1以及第二存储单元C2均与第一位线BL1共享电荷,第一参考存储单元C1R以及第二参考存储单元C2R均与第二位线BL0共享电荷。
可以理解的是,存储器还包括预充电电路。在执行读操作之前,预充电电路会对第一位线BL1以及第二位线BL0进行预充电操作,以将第一位线BL1上的电压电平以及第二位线BL0上的电压电平均预充电至VDD/2。其中,VDD为预设电平。
当开启一个存储单元时,对于任一存储单元而言,若存储单元内存储的数据为逻辑0,则在对该存储单元执行读操作期间,存储单元与位线之间共享电荷,在共享电荷后,位线的电压降低ΔV。对于任一存储单元而言,若存储单元内存储的数据为逻辑1,则在对该存储单元执行读操作期间,存储单元与位线之间共享电荷,位线的电压电平增加ΔV。其中,ΔV为电荷共享导致的电压变化量。
在存内计算模式下,当开启两个存储单元时,由于第一位线BL1与第一存储单元C1以及第二存储单元C2均连接,当通过第一字线WL1选通第一存储单元C1且通过第二字线WL0选通第二存储单元C2,第一存储单元C1中存储的电荷以及第二存储单元C2中存储的电荷均与第一位线BL1之间共享。
由于第二位线BL0与第一参考存储单元C1R以及第二参考存储单元C2R均连接,当通过第一字线WL1选通第一参考存储单元C1R且通过第二字线WL0选通第二参考存储单元C2R,第一参考存储单元C1R中存储的电荷以及第二参考存储单元C2R中存储的电荷均与第二位线BL0之间共享。
为了实现存内计算,存储阵列101被配置为,响应于处于有效状态的存内计算使能信号PIM,第一存储单元C1和第一参考存储单元C1R被写入相同的第一数据,第二存储单元C2和第二参考存储单元C2R被写入相同的第二数据。
也就是说,在存储器工作于PIM模式下,第一存储单元C1和第一参考存储单元C1R均被写入1或者均被写入0,第二存储单元C2和第二参考存储单元C2R均被写入1或者被写入0。
表1为在存储器处于PIM模式下时,对目标存储单元组执行读操作时,位线的电压电平变化的情况。位线即为第一位线BL1或者第二位线BL0,可以理解的是,第一位线BL1和第二位线BL0的电压电平同步变化。
其中,电压电平变化,指的是在共享电荷前后的电平变化。
表1
为了便于说明,以下将以第一位线BL1的电压电平为例进行说明:
第一存储单元C1存储的第一数据为0且第二存储单元C2存储的第二数据为0的情况下:在电荷共享前,第一位线BL1的电压电平为VDD/2;存0的第一存储单元C1打开即被选中后,第一存储单元C1对应的电压电平为0,因此与第一存储单元C1共享电荷会使第一位线BL1的电压电平降低ΔV;存0的第二存储单元C2打开即被选中后,第二存储单元C2对应的电压电平为0,因此与第二存储单元C2共享电荷会使第一位线BL1的电压电平降低ΔV。最终,在结束电荷共享后,第一位线BL1的电压电平变化为-2ΔV,将相较于VDD/2而言降低了2ΔV。
第一存储单元C1存储的第一数据为0且第二存储单元C2存储的第二数据为1的情况下:在电荷共享前,第一位线BL1的电压电平为VDD/2;存0的第一存储单元C1打开即被选中后,第一存储单元C1对应的电压电平为0,因此与第一存储单元C1共享电荷会使第一位线BL1的电压电平降低ΔV;存1的第二存储单元C2打开即被选中后,第二存储单元C2对应的电压电平为VDD,因此与第二存储单元C2共享电荷会使第一位线BL1的电压电平增加ΔV。最终,在结束共享电荷后,第一位线BL1的电压电平变化为0。
同理,第一存储单元C1存储的第一数据为1且第二存储单元C2存储的第二数据为0的情况下,在结束共享电荷后,第一位线BL1的电压电平变化为0。
第一存储单元C1存储的第一数据为1且第二存储单元C2存储的第二数据为1的情况下:在电荷共享前,第一位线BL1的电压电平为VDD/2;存0的第一存储单元C1打开即被选中后,第一存储单元C1对应的电压电平为VDD,因此与第一存储单元C1共享电荷会使第一位线BL1的电压电平增加ΔV;存0的第二存储单元C2打开即被选中后,第二存储单元C2对应的电压电平为VDD,因此与第二存储单元C2共享电荷会使第一位线BL1的电压电平增加ΔV。最终,在结束共享电荷后,第一位线BL1的电压电平变化为+2ΔV,将相较于VDD/2而言增加了2ΔV。
存储器还包括感测放大器阵列102。感测放大器阵列102包括连接到相应的位线的多个感测放大器112,每一感测放大器112还连接到相应的参考位线,多个感测放大器112包括连接到第一位线BL1以及相应的参考位线BLB1的第一感测放大器1121,还包括,连接到第二位线BL0以及相应的参考位线BLB0的第二感测放大器1122。
第一感测放大器1121被配置为,在对目标存储单元组执行读操作期间,响应于处于有效状态的存内计算使能信号PIM,且基于第一位线BL1的电压电平在共享电荷前后是否增加,将第一位线BL1上的信号放大为第一信号。第二感测放大器1122被配置为,在对目标存储单元组执行读操作期间,响应于处于有效状态的存内计算使能信号PIM,且基于第二位线BL0的电压电平在共享电荷前后是否增加,将第二位线BL0上的信号放大为第二信号。
其中,若第一位线BL1上的电压电平在共享电荷前后未增加,则第一信号为逻辑0,第二信号为第一数据以及第二数据的异或运算结果;若第一位线BL1上的电压电平在共享电荷前后增加,则第一信号为逻辑1,第二信号的反相信号为第一数据以及第二数据的异或运算结果。
当需要对第一数据和第二数据进行异或比较时,可以实现在存储阵列101内进行计算处理,即实现存内计算处理。
本公开实施例中,在对存储阵列101以及感测放大器阵列102的整体架构变动较小的情况下,就能够实现存储器的存内计算。具体地,对存储阵列101的写入逻辑进行调整,使得在存内计算使能信号PIM处于有效状态的情况下,第一存储单元C1和第一参考存储单元C1R可以被写入相同的第一数据,第二存储单元C2和第二参考存储单元C2R可以被写入相同的第二数据;且对感测放大器阵列102中的第一感测放大器1121和第二感测放大器1122的放大逻辑进行调整,使得在存内计算使能信号PIM处于有效状态的情况下,对目标存储单元组执行读操作期间,基于第一位线BL1上的电压电平在共享电荷前后是否增加,将第一位线BL1上的信号放大为第一信号,将第二位线BL0上的信号放大为第二信号,其中,第一信号为逻辑0则第二信号为第一数据和第二数据进行异或比较的结果,第一信号为逻辑1则第二信号的反相信号为第一数据和第二数据进行异或比较的结果。
也就是说,本公开实施例中,仅对感测放大器阵列102中的部分感测放大器进行改进,即可实现存内计算。
表2为在表1的基础上,当存储器处于PIM模式时第一位线BL1上的第一信号和第二位线BL0上的第二信号的读出结果。
表2
参考表2,在存储器处于PIM模式,第一位线BL1的第一信号为逻辑0时,则第二位线BL0的第二信号0为第一数据0以及第二数据0的异或运算结果;第一位线BL1的第一信号为逻辑0时,则第二位线BL0的第二信号1为第一数据0以及第二数据1的异或运算结果;第一位线BL1的第一信号为逻辑0时,则第二位线BL0的第二信号1为第一数据0以及第二数据0的异或运算结果;第一位线BL1的第一信号为逻辑1时,则第二位线BL0的第二信号1的反相信号0为第一数据1以及第二数据1的异或运算结果。
也就是说,本公开实施例中,若第一位线BL1上的电压电平在共享电荷前后未增加,则第一信号为逻辑0,第二信号为第一数据以及第二数据的异或运算结果;若第一位线BL1上的电压电平在共享电荷前后增加,则第一信号为逻辑1,第二信号的反相信号为第一数据以及第二数据的异或运算结果。
可以理解的是,对第一数据和第二数据进行异或运算的结果与对第一数据和第二数据进行同或运算的结果互为反相关系,因此,本公开实施例提供的存储器同样可以实现同或的存内计算。具体地,若第一位线BL1上的电压电平在共享电荷前后未增加,则第一信号为逻辑0,第二信号的反相信号为第一数据以及第二数据的同或运算结果;若第一位线BL1上的电压电平在共享电荷前后增加,则第一信号为逻辑1,第二信号为第一数据以及第二数据的同或运算结果。
图2为任一感测放大器的基础电路结构示意图,图3为第一感测放大器的一种电路结构示意图,图4为第二感测放大器的一种电路结构示意图。
结合参考图2至图4,每一感测放大器112均包括:第一PMOS管MP1以及第二PMOS管MP2,第一PMOS管MP1的源极以及第二PMOS管MP2的源极均连接工作电源VDD,第一PMOS管MP1的栅极连接第二PMOS管MP2的漏极,第二PMOS管MP2的栅极连接第一PMOS管MP1的漏极;第一NMOS管MN1以及第二NMOS管MN2,第一NMOS管MN1的漏极连接第一PMOS管MP1的漏极以及相应的位线BL,第二NMOS管MN2的漏极连接第二PMOS管MP2的漏极以及相应的参考位线BLB,第一NMOS管MN1的源极以及第二NMOS管MN2的源极均连接地端GND。
在一些实施例中,继续参考图2至图4,每一感测放大器112还可以包括第一使能管R1,第一使能管R1可以为PMOS管。第一使能管R1连接在第一PMOS管MP1的源极与工作电源VDD之间,且还连接在第二PMOS管MP2的源极与工作电源VDD之间。第一使能管R1的一端连接工作电源VDD,栅极接使能信号EN。
在使能信号EN有效期间,第一使能管R1导通,以使第一PMOS管MP1的源极以及第二PMOS管MP2的源极连接工作电源VDD。
可以理解的是,在另一些实施例中,第一PMOS管MP1的源极以及第二PMOS管MP2的源极也可以直接连接工作电源VDD。
在一些实施例中,继续参考图2至图4,每一感测放大器112还可以包括第二使能管R2,第二使能管R2可以为NMOS管。第二使能管R2连接在第一NMOS管MN1的源极与地端GND之间,且还连接在第二NMOS管MN2的源极与地端GND之间。第二使能管R2的栅极接收使能信号EN。
在使能信号EN有效期间,第二使能管R2导通,以使第一NMOS管MN1的源极以及第二NMOS管MN2的源极连接地端GND。
可以理解的是,在另一些实施例中,第一NMOS管MN1的源极以及第二NMOS管MN2的源极也可以直接连接地端GND。
继续参考图2至图4,每一感测放大器112还可以与预充电电路连接。预充电电路连接相应的位线BL以及参考位线BLB。具体地,预充电电路可以包括第一预充管P1、第二预充管P2以及第三预充管P3。第一预充管P1、第二预充管P2以及第三预充管P3可以均为PMOS管,且第一预充管P1的栅极、第二预充管P2的栅极以及第三预充管P3的栅极连接。第一预充管P1的栅极、第二预充管P2的栅极以及第三预充管P3的栅极均接收预充电控制信号Pre。
第一预充管P1的一端以及第二预充管P2的一端均与预充电源VDD/2连接,第一预充管P1的另一端连接相应的位线BL,第二预充管P2的另一端连接相应的参考位线BLB。第三预充管P3的两端分别连接位线BL和相应的参考位线BLB。在执行读操作之前,第一预充管P1、第二预充管P2以及第三预充管P3响应于有效的预充电控制信号Pre导通,以使得位线BL以及参考位线BLB被预充电至VDD/2。
继续参考图3,第一感测放大器1121还包括第一调节电路10,第一调节电路10与第一感测放大器1121的第一NMOS管MN1并联。第一调节电路10被配置为,响应于第一控制信号Con1导通,以增加第一位线BL1与地端GND之间的导通程度。
继续参考图4,第二感测放大器1122还包括:第二调节电路20,第二调节电路20与第二感测放大器1122的第二NMOS管MN2并联。第二调节电路20被配置为,响应于第二控制信号Con2导通,以增加第二位线BL0的参考位线BLB0与地端GND之间的导通程度。
其中,第一控制信号Con1以及第二控制信号Con2均基于存内计算使能信号PIM生成,且存内计算使能信号PIM处于有效状态时,第一调节电路10导通,第二调节电路20导通。
在存储器处于PIM模式时,第一调节电路10导通和/或第二调节电路20导通,第一位线BL1与地端GND之间的导通能力大于相应的参考位线BLB1与地端GND之间的导通能力,即,第一位线BL1被下拉的速度大于与第一位线BL1相对应的参考位线BLB1被下拉的速度;同时,第二位线BL0与地端之间的导通能力小于与第二位线BL0相对应的参考位线BLB0与地端GND之间的导通能力,即,第二位线BL0被下拉的速度小于与第二位线BL0相对应的参考位线BLB0被下拉的速度。
结合参考图3、图4以及表2,在存储器处于PIM模式时,在对目标存储单元组执行读操作期间,经由感测放大器进行放大后,有如下的不同情形:
在第一数据为0且第二数据为0的情况下,在电荷共享结束后,第一位线BL1和第二位线BL0的电平较VDD/2小2ΔV,且参考位线BLB1和BLB0的电平均为VDD/2。对于第一感测放大器1121而言,由于第一调节电路10导通,使得第一位线BL1与地端GND之间的导通能力大于相应的参考位线BLB1与地端GND之间的导通能力,因而第一位线BL1上的第一信号读出为0,且相应的参考位线BLB1上的信号读出为1。对于第二感测放大器1122而言,由于第二调节电路20导通,使得第二位线BL0与地端GND之间的导通能力小于相应的参考位线BLB0与地端GND之间的导通能力,但是,第二调节电路20的导通能力相对较小,小于位线电平降低2ΔV带来的影响,可以保证第二位线BL0上的第二信号仍被读出为0,且相应的参考位线BLB0上的信号读出为1。
在第一数据为0且第二数据为1的情况下,在电荷共享结束后,第一位线BL1和第二位线BL0的电平不变,且参考位线BLB1和BLB0的电平均为VDD/2。对于第一感测放大器1121而言,由于第一调节电路10导通,使得第一位线BL1与地端GND之间的导通能力大于相应的参考位线BLB1与地端GND之间的导通能力,因而第一位线BL1上的第一信号读出为0,且相应的参考位线BLB1上的信号读出为1。对于第二感测放大器1122而言,由于第二调节电路20导通,使得第二位线BL0与地端GND之间的导通能力小于相应的参考位线BLB0与地端GND之间的导通能力,第二位线BL0上的第二信号被读出为1,且相应的参考位线BLB0上的信号读出为0。
同理,在第一数据为1且第二数据为0的情况下,第一位线BL1上的第一信号读出为0,且相应的参考位线BLB1上的信号读出为1。第二位线BL0上的第二信号被读出为1,且相应的参考位线BLB0上的信号读出为0。
在第一数据为1且第二数据为1的情况下,在电荷共享结束后,第一位线BL1和第二位线BL0的电平增加2ΔV,且参考位线BLB1和BLB0的电平均为VDD/2。对于第一感测放大器1121而言,由于第一调节电路10导通,使得第一位线BL1与地端GND之间的导通能力大于相应的参考位线BLB1与地端GND之间的导通能力,但由于第一调节电路10的导通能力相对较小,小于位线电平增加2ΔV带来的影响,因而可以保证第一位线BL1上的第一信号读出为1,且相应的参考位线BLB1上的信号读出为0。对于第二感测放大器1122而言,由于第二调节电路20导通,使得第二位线BL0与地端GND之间的导通能力小于相应的参考位线BLB0与地端GND之间的导通能力,但由于第二调节电路20的导通能力相对较小,可以保证第二位线BL0上的第二信号被读出为1,且相应的参考位线BLB0上的信号读出为0。
由上述分析可知,第一调节电路10可以增加对第一位线BL1的下拉能力,第二调节电路20可以增加对参考位线BLB0的下拉能力,使得在第一位线BL1以及第二位线BL0的电压电平不变的情况下,可以保证第二位线BL0上的第二信号被放大为1。但是,第一调节电路10以及第二调节电路20的导通能力均较弱,可以保证在第一位线BL1以及第二位线BL0的电压电平增加或者降低的情况下,保证第一位线BL1上的第一信号被放大的值仍然由第一位线BL1和参考位线BLB1的电压差值决定,即,若第一位线BL1上的电压大于参考位线BLB1上的电压,则第一信号为1,若第一位线BL1上的电压小于参考位线BLB1上的电压,则第一信号为0;同理,保证第二位线BL0上的第二信号被放大的值仍然由第二位线BL0和参考位线BLB0的电压差值决定,即,若第二位线BL0上的电压大于参考位线BLB0上的电压,则第二信号为1,若第二位线BL0上的电压小于参考位线BLB0上的电压,则第二信号为0。
第一控制信号Con1以及第二控制信号Con2均基于存内计算使能信号PIM生成。具体地,存内计算使能信号PIM处于有效状态,则相应生成的第一控制信号Con1控制第一调节电路10导通,相应生成的第二控制信号Con2控制第二调节电路20导通。存内计算使能信号PIM处于无效状态,则相应生成的第一控制信号Con1控制第一调节电路10截止,相应生成的第二控制信号Con2控制第二调节电路20截止,第一感测放大器1121以及第二感测放大器1122均处于传统工作模式。
图5为图3中第一调节电路的一种电路结构示意图,图6为图4中第二调节电路的一种电路结构示意图。
参考图5,第一调节电路10包括:第一MOS管M1,第一MOS管M1的栅极接收第一控制信号Con1,第一MOS管M1的第一端连接第一位线BL1,第一MOS管M1的第二端连接地端GND。
参考图6,第二调节电路20包括:第二MOS管M2,第二MOS管M2的栅极接收第二控制信号Con2,第二MOS管M2的第一端连接第二位线BL0的参考位线BLB0,第二MOS管M2的第二端连接地端GND。
在一些例子中,第一MOS管M1和第二MOS管M2可以均为NMOS管,相应的,第一控制信号Con1和第二控制信号Con2均为高电平时,第一调节电路10和第二调节电路20导通。
可以理解的是,在另一些例子中,第一MOS管M1和第二MOS管M2也可以均为PMOS管,相应的,第一控制信号Con1和第二控制信号Con2均为低电平时,第一调节电路10和第二调节电路20导通。在又一些例子中,第一MOS管M1和第二MOS管M2中的一者为NMOS管另一者为PMOS管,通过设置第一控制信号Con1和第二控制信号Con2的电平,可以保证存内计算使能信号PIM处于有效状态时,第一调节电路10导通期间第二调节电路20也导通。
此外,可以通过选择调整第一MOS管M1的沟道宽长比W/L或者调整阈值电压的方式,来选择具有合适导通能力的MOS管作为第一MOS管M1。类似的,可以通过选择调整第二MOS管M2的沟道宽长比或者调整阈值电压的方式,来选择具有合适导通能力的MOS管作为第二MOS管M2。
图7为第一感测放大器的另一种电路结构示意图,图8为第二感测放大器的另一种电路结构示意图。
参考图7,第一感测放大器1121还可以包括:第三调节电路30,第三调节电路30与第一感测放大器1121的第二NMOS管MN2并联。第三调节电路30被配置为,接收第三控制信号Con3,第三调节电路30的电路结构与第一调节电路10的电路结构相同。
具体地,第三调节电路30包括第一MOS管,且第三调节电路30的第一MOS管的栅极接收第三控制信号Con3。
参考图8,第二感测放大器1122还可以包括:第四调节电路40,第四调节电路40与第二感测放大器1122的第一NMOS管MN1并联。第四调节电路40被配置为,接收第四控制信号Con4,第四调节电路40的电路结构与第二调节电路20的电路结构相同。
具体地,第四调节电路40包括第四MOS管,且第四调节电路40的第四MOS管的栅极接收第四控制信号Con4。
其中,第一控制信号Con1与第二控制信号Con2可以为同一信号;第三控制信号Con3与第四控制信号Con4可以为同一信号。
感测放大器作为一个模拟结构,对电流、电压、制造工艺、环境等比较敏感,因此,增加与第一调节电路10相匹配的第三调节电路30,以及与第二调节电路20相匹配的第四调节电路40,可以增加感测放大器的对称性,更有利于该感测放大器正常工作,降低工艺、环境等因素的干扰,增加其稳定性。
可以理解的是,在一些例子中,第一控制信号Con1与第三控制信号Con3可以互为反相信号,第一调节电路10导通时第三调节电路30截止,第二调节电路20导通时第四调节电路40截止。
在另一些例子中,第一控制信号Con1与第三控制信号Con3也可以不是互为反相信号的关系,第一调节电路10导通时第三调节电路30也可以导通,但是第三调节电路30的导通能力小于第一调节电路10的导通能力,第二调节电路20导通时第四调节电路40也导通,但是第四调节电路40的导通能力小于第二调节电路20的导通能力。例如,第一MOS管以及第二MOS管均为NMOS管时,第一控制信号Con1以及第二控制信号Con2的电平均为正值,第一控制信号Con1的电压电平大于第三控制信号Con3的电压电平,如此,对于第一感测放大器1121而言,第一调节电路10的导通能力大于第三调节电路30的导通能力,对于第二感测放大器1122而言,第二调节电路20的导通能力大于第四调节电路40的导通能力。又例如,第一MOS管以及第二MOS管均为PMOS管时,第一控制信号Con1以及第二控制信号Con2的电平均为负值,且第一控制信号Con1的电压电平的绝对值大于第三控制信号Con3的电压电平的绝对值,如此,对于第一感测放大器1121而言,第一调节电路10的导通能力大于第三调节电路30的导通能力,对于第二感测放大器1122而言,第二调节电路20的导通能力大于第四调节电路40的导通能力。
有关第三调节电路30的具体电路结构,与第一调节电路10的具体电路结构相同,为避免重复,在此不再赘述。有关第四调节电路40的具体电路结构,与第二调节电路20的具体电路结构相同,为避免重复,在此不再赘述。
在一些实施例中,第一感测放大器1121还被配置为,在存内计算使能信号PIM处于无效状态的情况下,第一调节电路10以及第三调节电路30均截止;和/或,第二感测放大器1122还被配置为,在存内计算使能信号PIM处于无效状态的情况下,第二调节电路20以及第四调节电路40均截止。
也就是说,在存储器处于传统工作模式下时,第一感测放大器1121中的第一调节电路10和第三调节电路30均截止,第二感测放大器1122中的第二调节电路20和第四调节电路40均截止。
图9为存储器的另一种框图,图10为存储器的再一种框图。需要说明的是,本公开实施例后续均以第一位线BL1和第二位线BL0为例进行说明。
参考图9和图10,存储器还可以包括第一本地数据线Ldata1和第二本地数据线Ldata0,第一本地数据线Ldata1经由列选择电路103与第一位线BL1连接,第二本地数据线Ldata0经由列选择电路103与第二位线BL0连接;第一全局数据线Gdata1和第二全局数据线Gdata0,第一全局数据线Gdata1经由第一读写转换电路104连接第一本地数据线Ldata1,第二全局数据线Gdata0经由第二读写转换电路105连接第二本地数据线Ldata0,其中,第一信号经由第一读写转换电路104传输至第一全局数据线Gdata1。存储器还可以包括控制电路106。控制电路106被配置为,响应于处于有效状态的存内计算使能信号PIM,将异或结果信号提供给第二全局数据线Gdata0或者异或结果输出端;其中,若第一信号为逻辑0,则异或结果信号的逻辑值与第二信号的逻辑值相同,若第一信号为逻辑1,则异或结果信号的逻辑值取反与第二信号的逻辑值相同。
列选择电路103用于选中相应的位线,并将位线的信号传输至相应的第一本地数据线Ldata1或者第二本地数据线Ldata0。第一读写转换电路104用于将第一本地数据线Ldata1上的信号进行放大并输出至第一全局数据线Gdata1,第二读写转换电路105用于将第二本地数据线Ldata0上的信号进行放大并输出至第二全局数据线Gdata0。
具体地,列选择电路103连接列选择线(CSL,Colum Select Line),响应于列选择线上的处于有效状态的列选择信号导通。
控制电路106的作用为,响应于有效状态的存内计算使能信号PIM,基于第一信号的逻辑值,对第二信号进行相应的处理以输出异或结果信号。其中,第一信号为逻辑0时,则控制电路106直接输出第二信号作为异或结果信号,即第二信号为0则异或结果信号为0,第二信号为1则异或结果信号也为1。第一信号为逻辑1时,则控制电路106对第二信号进行反相后作为异或结果信号输出,即第二信号为0则异或结果信号为1,第二信号为1则异或结果信号为0。
在一些实施例中,控制电路106还可以响应于无效状态的存内计算使能信号PIM,使得第一位线BL1上的第一信号被传输至第一全局数据线Gdata1,第二位线BL0上的第二信号被传输至第二全局数据线Gdata0。
参考图9,控制电路106可以被配置为,将异或结果信号提供给异或结果输出端OUT1;存储器还包括非PIM输出端OUT2(也即,传统模式的输出端)。控制电路106包括:第三MOS管M3,第三MOS管M3的栅极接收存内计算使能信号PIM,第三MOS管M3的第一端和第二端分别连接第二读写转换电路105的输出端和非PIM输出端OUT2;第四MOS管M4,第四MOS管M4的栅极接收存内计算使能信号PIM,第四MOS管M4的第一端连接第二读写转换电路105的输出端;第三PMOS管MP3,第三PMOS管MP3的栅极连接第一全局数据线Gdata1,第三PMOS管MP3的第一端连接第四MOS管M4的第二端,第三PMOS管MP3的第二端连接异或结果输出端OUT1;反相器Inv,反相器Inv的输入端连接第三PMOS管MP3的第一端,反相器Inv的输出端连接异或结果输出端OUT1。
其中,第三MOS管M3和第四MOS管M4中的一者为NMOS管,另一者为PMOS管。
在存内计算使能信号PIM有效期间,通过异或结果输出端OUT1输出异或结果信号;在存内计算使能信号PIM无效期间,通过非PIM输出端OUT2输出第二位线BL0上的信号。
在一些例子中,有效状态的存内计算使能信号PIM为1,第三MOS管M3为PMOS管,第四MOS管M4则为NMOS管。在存内计算使能信号PIM处于有效状态时,第三MOS管M3截止,第四MOS管M4导通。在存内计算使能信号PIM处于无效状态时,第三MOS管M3导通,第四MOS管M4截止。
可以理解的是,在另一些例子中,有效状态的存内计算使能信号PIM为0,第三MOS管M3为NMOS管,第四MOS管M4则为PMOS管。在存内计算使能信号PIM处于有效状态时,第三MOS管M3截止,第四MOS管M4导通。在存内计算使能信号PIM处于无效状态时,第三MOS管M3导通,第四MOS管M4截止。
在存内计算使能信号PIM处于有效状态时,第三MOS管M3截止,第四MOS管M4导通。如此,若第一信号为0,则第一全局数据线Gdata1上的信号为0,第三PMOS管MP3导通,反相器Inv被短路,异或结果输出端OUT1输出的信号即为第二读写转换电路105的输出端输出的信号,即第二信号为0时异或结果信号为0,第二信号为1时异或结果信号为1;若第一信号为1,则第一全局数据线Gdata1上的信号为1,第三PMOS管MP3截止,反相器Inv工作,异或结果输出端OUT1输出的信号即为第二读写转换电路105的输出端输出的信号的反相信号,即第二信号为0时异或结果信号为1,第二信号为1时异或结果信号为0。
在存内计算使能信号PIM处于无效状态时,第三MOS管M3导通,第四MOS管M4截止,则无论第三PMOS管MP3导通与否,都不会影响PIM输出端OUT2输出的信号。
第一全局数据线Gdata1上的信号为第一数据和第二数据的与运算结果信号,第二读写转换电路105的输出端的信号为第一数据和第二数据的或运算结果信号。
在一些例子中,参考图9,第一读写转换电路104的输出端可以直接连接第一全局数据线Gdata1,第二读写转换电路105的输出端也可以直接连接第二全局数据线Gdata0。如此,第一全局数据线Gdata1上的信号为第一数据和第二数据的与运算结果信号,第二全局数据线Gdata0上的信号为第一数据和第二数据的或运算结果信号。
在另一些例子中,也可以设置为非PIM输出端OUT2以及异或结果输出端OUT1直接连接第二全局数据线Gdata0,这样,无论是存储器处于PIM模式还是处于传统工作模式,均可以通过仅采集第二全局数据线Gdata0上的信号,来获取相应的输出信号。图11为图9基础上存储器的另一种框图。
参考图11,第二读写转换电路105的输出端连接第二全局数据线Gdata0;存储器还可以包括选择器107,选择器107的输入端分别连接异或结果输出端OUT1、第一全局数据线Gdata1以及第二全局数据线Gdata0,第一数据以及第二数据的与运算结果经由第一全局数据线Gdata1输出,第一数据以及第二数据的或运算结果经由第二全局数据线Gdata0输出。选择器107被配置为,响应于处于有效状态的存内计算使能信号PIM和存内计算选择信号SEL,选择输出异或结果输出端OUT1的信号、第一全局数据线Gdata1的信号或者第二全局数据线Gdata0的信号。
其中,选择器107具有选择输出端OUT,异或结果输出端OUT1的信号、第一全局数据线Gdata1的信号或者第二全局数据线Gdata0的信号经由选择输出端OUT输出。
也就是说,本公开实施例中,还可以选择输出异或运算结果、或运算结果或者与运算结果。
前述例子中,如图9所示,控制电路106直接连接第一全局数据线Gdata1和第二全局数据线Gdata0。可以理解的是,控制电路106也可以直接连接第一本地数据线Ldata1和第二本地数据线Ldata0。
参考图10,在另一些例子中,控制电路106可以包括:第五MOS管M5以及第四PMOS管MP4,第五MOS管M5的栅极接收存内计算使能信号PIM,第五MOS管M5的第一端和第二端分别连接第二本地数据线Ldata0和第二读写转换电路105的输入端,第四PMOS管MP4的栅极连接第一本地数据线Ldata1,第四PMOS管MP4的第一端连接第五MOS管M5的第一端,第四PMOS管MP4的第二端连接第五MOS管M5的第二端;第六MOS管M6以及第三NMOS管MN3,第六MOS管M6栅极接收存内计算使能信号PIM,第六MOS管M6的第一端连接第二读写转换电路105的输入端,第六MOS管M6的第二端连接第三NMOS管MN3的第一端,第三NMOS管MN3的栅极连接第一本地数据线Ldata1,第三NMOS管MN3的第二端连接地端GND。
在存内计算使能信号PIM有效期间,通过第二全局数据线Gdata0输出异或结果信号;在存内计算使能信号PIM无效期间,也通过第二全局数据线Gdata0输出第二位线BL0上的信号。
在一些例子中,有效状态的存内计算使能信号PIM为1,第五MOS管M5为PMOS管,第六MOS管M6为NMOS管。在存内计算使能信号PIM处于有效状态时,第五MOS管M5截止,第六MOS管M6导通。如此,若第一信号为0,则第四PMOS管MP4导通且第三NMOS管MN3截止,异或结果输出端的信号与第二信号相同,第二信号为0则异或结果输出信号为0,第二信号为1则异或结果输出信号为1;若第一信号为1,则第四PMOS管MP4截止,第三NMOS管MN3导通,异或结果输出端输出的异或结果信号为0。在存内计算使能信号PIM处于无效状态时,第五MOS管M5导通,第六MOS管M6截止。
在另一些例子中,有效状态的存内计算使能信号PIM为0,第五MOS管M5为NMOS管,第六MOS管M6为PMOS管。
存储器可以包括多个存储阵列101,且相邻存储阵列101之间均设置有感测放大器阵列102,也就是说,对于同一存储阵列101而言,其相对两侧均设置有感测放大器阵列102。在一些例子中,如图1所示,在存内计算使能信号PIM处于有效状态,且对目标存储单元组执行读操作期间,同一目标位线组Group0中的第一位线BL1和第二位线BL0可以均由位于同一侧的感测放大器阵列102中的感测放大器112放大。也就是说,参考位线BLB1以及参考位线BLB0与来自同一存储阵列101的存储单元连接。
图12为存储器的又一种框图。参考图12,在存内计算使能信号PIM处于有效状态,且对目标存储单元组执行读操作期间,在另一些例子中,同一目标位线组Group0中的第一位线BL1和第二位线BL0可以由处于相对两侧的感测放大器阵列102中的不同的感测放大器112放大。具体地,第一位线BL1可以由处于左侧的感测放大器阵列102中的第一感测放大器1121放大,第二位线BL0可以由处于右侧的感测放大器阵列120中的第二感测放大器1122放大。也就是说,参考位线BLB1以及参考位线BLB0与来自不同的存储阵列101的存储单元连接。
本公开实施例提供的可实现存内计算的存储阵列可以为存储器中的任一存储阵列。
图13为本公开实施例提供的存储器的再一种框图。
存储器还包括边缘存储阵列,边缘存储阵列处于边缘位置,本公开实施例提供的可实现存内计算的存储阵列也可以为边缘存储阵列。为了便于说明,以图13中的存储阵列101为边缘存储阵列作为示例,对于边缘存储阵列而言,多条位线中的一半数量的位线并没有相对应的互补位线,使得边缘存储阵列本身的存储容量相较于边缘存储阵列以外的其余存储阵列的存储容量而言是减半的。具体地,位线BL6、BL4、BL2以及BL0均具有相对应的互补位线BLB6、BLB4、BLB2以及BLB0,且各位线以及相对应的互补位线与感测放大器112连接。而位线BL7、BL5、BL3以及BL1均没有相对应的互补位线。
可以理解的是,由前述分析可知,对于需实现存内计算的目标存储单元组而言,该目标存储单元组相较于传统工作模式而言的存储容量是减半的。因此,可以利用边缘存储阵列来实现存内计算,这样无需牺牲存储器的总存储容量。
具体地,为边缘存储阵列额外设计感测放大器阵列102,该感测放大器阵列中的感测放大器用于连接没有相对应的互补位线的位线,并且,额外补充提供相对应的参考位线,该参考位线标示为blb1、blb3、blb5和blb7,可以理解的是,参考位线blb1、blb3、blb5和blb7均未连接到存储单元。目标位线组包括由位线BL1和位线BL3构成的目标位线组Group0,还包括由位线BL5和位线BL7构成的目标位线组Group1。有关额外设计的感测放大器阵列102中的第一感测放大器1121以及第二感测放大器1122的具体工作原理,可参考前述的详细说明,在此不再赘述。
本公开实施例提供的存储器的技术方案中,存内计算使能信号PIM处于无效状态,不同的存储单元内可写入相互独立的数据,第一存储单元C1和第一参考存储单元C1R无需同时写入相同的数据,第二存储单元C2和第二参考存储单元C2R无需同时写入相同的数据。对存储阵列101中的第一存储单元C1执行读操作,第一存储单元C1与第一位线BL1共享电荷,若第一存储单元C1内存储的数据为0,则在共享电荷结束后第一位线BL1上的电压电平降低,第一感测放大器中的第一调节电路截止,第一位线BL1读出为0且参考位线BLB1读出为1;第一位线BL1上的信号经由列选择电路103传输至第一本地数据线Ldata1,且第一本地数据线Ldata1上的信号经由第一读写转换电路104传输至第一全局数据线Gdata1,使得第一全局数据线Gdata1上的信号读出为0。若第一存储单元C1内存储的数据为1,则共享电荷结束后第一位线BL1上的电压电平变大,第一感测放大器中的第一调节电路截止,第一位线BL1读出为1且参考位线BLB1读出为0;第一位线BL1上的信号经由列选择电路103传输至第一本地数据线Ldata1,且第一本地数据线Ldata1上的信号经由第一读写转换电路104传输至第一全局数据线Gdata1,使得第一全局数据线Gdata1上的信号读出为1。
如此,在存内计算使能信号PIM处于无效状态时,存储器工作于传统工作模式。
存内计算使能信号PIM处于有效状态时,第一存储单元C1和第一参考存储单元C1R被写入相同的数据,第二存储单元C2和第二参考存储单元C2R被写入相同的数据。有关存内计算使能信号PIM处于有效状态时,存储器的工作原理可参考前述的详细说明,在此不再赘述。
本领域的普通技术人员可以理解,上述各实施方式是实现本公开的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本公开实施例的精神和范围。任何本领域技术人员,在不脱离本公开实施例的精神和范围内,均可作各自变动与修改,因此本公开实施例的保护范围应当以权利要求限定的范围为准。