CN116547755A - 存储电路及存储器 - Google Patents
存储电路及存储器 Download PDFInfo
- Publication number
- CN116547755A CN116547755A CN202180076669.7A CN202180076669A CN116547755A CN 116547755 A CN116547755 A CN 116547755A CN 202180076669 A CN202180076669 A CN 202180076669A CN 116547755 A CN116547755 A CN 116547755A
- Authority
- CN
- China
- Prior art keywords
- memory
- read
- transistor
- level
- pole
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Static Random-Access Memory (AREA)
Abstract
本申请涉及一种存储电路及存储器,所述存储电路包括写晶体管以及读晶体管,所述写晶体管用于接收第一输入信号,并根据所述第一输入信号更新所述存储电路的存储状态;所述读晶体管包括背栅,用于接收第二输入信号,所述读晶体管用于根据所述第二输入信号以及所述存储状态进行逻辑运算,并输出表示逻辑运算结果的第一输出信号。根据本申请实施例的存储电路,在满足具有存储功能的同时,还具备逻辑运算功能,使得存储电路应用到存储器中时,存储器不需要增加单独的运算电路即可实现存内运算,可以提高存储器的芯片利用率。
Description
本申请涉及集成电路技术领域,尤其涉及一种存储电路及存储器。
随着集成电路技术的不断演进,针对计算机、手机等电子产品的芯片,其单位面积上的晶体管数量不断增加,电子产品的性能因此得到不断的优化。一方面,芯片的处理器在单位时间能够运算的数据量不断提高;另一方面,芯片的存储器的存储密度也不断增长,从而满足信息时代下人们对于数据处理的需求。然而,由于处理器中的逻辑单元和存储器中的存储单元在结构和工艺上的不同,使得二者的性能提高的程度出现差距,存储器的存储密度、读写速度跟不上处理器的运算速度,存储器性能严重限制处理器性能发挥,也即“存储墙”现象。导致使用芯片的系统整体性能受限。
发明内容
有鉴于此,本申请提供一种存储电路及存储器,根据本申请实施例的存储电路,能够在存储器内部实现逻辑运算,提高使用存储器芯片的系统性能。
第一方面,本申请实施例提供了一种存储电路,包括写晶体管以及读晶体管,所述写晶体管用于接收第一输入信号,并根据所述第一输入信号更新所述存储电路的存储状态;所述读晶体管包括背栅,用于接收第二输入信号,所述读晶体管用于根据所述第二输入信号以及所述存储状态进行逻辑运算,并输出表示逻辑运算结果的第一输出信号。
根据本申请实施例的存储电路,通过写晶体管接收第一输入信号,能够完成数据的写入或擦除,更新存储电路的存储状态;通过读晶体管接收第二输入信号,使得读晶体管能够根据第二输入信号和存储电路的存储状态进行逻辑运算。本申请实施例的存储电路,在满足具有存储功能的同时,还具备逻辑运算功能,使得存储电路应用到存储器中时,存储器不需要增加单独的运算电路即可实现存内运算,可以提高存储器的芯片利用率。
根据第一方面,在所述存储电路的第一种可能的实现方式中,所述第二输入信号的不同电压值或者所述第二输入信号的电压值的不同组合,对应于不同的逻辑运算类型。
这样,通过输入不同电压值的第二输入信号,存储电路即可完成相应类型的逻辑运算。由此,同一个存储电路可以实现不同类型的逻辑运算,不需要为不同的逻辑运算设置不同结构的存储电路,提高了芯片利用率和使用灵活性。
根据第一方面,在所述存储电路的第二种可能的实现方式中,所述读晶体管还用于,在未接收到所述第二输入信号时,输出表示所述存储状态的第二输出信号。
通过第二输出信号的电位变化情况,可以确定存储电路的存储状态。基于此,本申请实施例的存储电路能够完成数据的读取。
根据第一方面,或以上第一方面的任意一种实现方式,在所述存储电路的第三种可能的实现方式中,所述写晶体管的栅极连接写字线,第一极连接写位线,第二极连接所述读晶体管的顶栅;所述读晶体管的第一极连接读字线,第二极连接读位线,所述读晶体管的背栅连接数据线,其中,所述写字线用于选通所述写晶体管以便输入所述第一输入信号到所述写晶体管,所述数据线用于输入所述第二输入信号到所述读晶体管的背栅,使得所述读晶体管输出表示逻辑运算结果的第一输出信号到所述读位线或所述读字线,所述读晶体管用于,在未接收到所述第二输入信号时,输出表示所述存储状态的第二输出信号到所述读位线或所述读字线。
通过写字线、写位线、读字线、读位线、数据线分别与写晶体管和读晶体管的相应端点相连,便于存储电路之间的级联与控制,实现所需的存储和逻辑运算功能。
根据第一方面,或以上第一方面的任意一种实现方式,在所述存储电路的第四种可能的实现方式中,所述存储电路还包括电容,所述电容的一侧极板连接所述写晶体管的第二极和所述读晶体管的顶栅,所述电容的另一侧极板连接地GND。
通过这种方式,可减少多次向存储电路写入需要存储的数据所需的功耗。
根据第一方面,或以上第一方面的任意一种实现方式,在所述存储电路的第五种可能的实现方式中,在所述背栅未接收到所述第二输入信号时,所述读晶体管的第一极保持第一电平,所述读晶体管的第二极预充至第二电平并浮置,通过第二极输出表示存储状态的第二输出信号,或者所述读晶体管的第二极保持第一电平,所述读晶体管的第一极预充至第二电平并浮置,通过第一极输出表示存储状态的第二输出信号。
通过这种方式,可以完成存储电路的数据读取。
根据第一方面的第一种实现方式,在所述存储电路的第六种可能的实现方式中,所述存储电路进行与逻辑运算时,所述第二输入信号的电压值为表示逻辑1的第一电压值和表示逻辑0的第二电压值其中之一,所述第一电压值使得,所述读晶体管顶栅电压为高电平时,读晶体管导通,所述顶栅电压为低电平时,读晶体管截止;所述第二电压值使得,无论所述顶栅电压为高电平还是低电平,所述读晶体管均截止。
根据第一方面的第一种实现方式,在所述存储电路的第七种可能的实现方式中,所述存储电路进行或逻辑运算时,所述第二输入信号的电压值为表示逻辑1的第三电压值和表示逻辑0的第四电压值其中之一,所述第三电压值使得无论顶栅电压为高电平还是低电平,读晶体管均导通;所述第四电压值使得读晶体管顶栅电压为高电平时,读晶体管导通,顶栅电压为低电平时,读晶体管截止。
根据第一方面的第一种实现方式,在所述存储电路的第八种可能的实现方式中,所述存储电路进行非逻辑运算时,所述第二输入信号的电压值为第五电压值,
所述第五电压值使得顶栅电压为高电平时,读晶体管截止,顶栅电压为低电平时,读晶体管导通。
根据第一方面,或以上第一方面的任意一种实现方式,在所述存储电路的第九种可能的实现方式中,在逻辑运算中:所述读晶体管的第一极保持第一电平,所述读晶体管的第二极预充至第二电平并浮置,通过第二极输出表示逻辑运算结果的第一输出信号,或者所述读晶体管的第二极保持第一电平,所述读晶体管的第一极预充至第二电平并浮置,通过第一极输出表示逻辑运算结果的第一输出信号。
根据第一方面,或以上第一方面的任意一种实现方式,在所述存储电路的第十种可能的实现方式中,所述写晶体管的第二极或所述读晶体管的顶栅还用于输出表示存储状态的第二输出信号。
通过这种方式,存储电路可同时进行读取和运算的操作。
根据第一方面,或以上第一方面的任意一种实现方式,在所述存储电路的第十一种可能的实现方式中,所述读晶体管是薄膜晶体管TFT。
根据第一方面的第三种至第五种实现方式以及第九种至第十一种实现方式中的任意一种实现方式,在所述存储电路的第十二种可能的实现方式中,所述读晶体管的第一极是源极或者漏极其中之一、所述读晶体管的第二极是源极或者漏极中的另一个。
第二方面,本申请实施例提供了一种存储器,包括存储阵列,包括多个以上第一方面以及第一方面的任意一种实现方式所述的存储电路。
通过这种方式,在存储器中,多个存储电路可以同时进行数据写入、数据擦除、数据读取以及逻辑运算等操作,不需单独的运算电路,可提高存储器的芯片利用率。
根据第二方面,在所述存储器的第一种可能的实现方式中,所述存储器连接多条写字线、多条写位线、多条读字线、多条读位线以及多条数据线;所述存储阵列中,同一行的存储电路连接相同的写字线、读字线和数据线,同一列的存储电路连接相同的写位线和读位线,或者同一行的存储电路连接相同的读字线、数据线和写位线,同一列的存储电路连接相同的写字线和读位线。
通过这种方式,在存储阵列中,数据的写入、擦除以及逻辑运算可以以行或者以列为单位进行。
根据第二方面,或者第二方面的第一种实现方式,在所述存储器的第二种可能的实现方式中,所述存储器还包括控制电路,所述控制电路连接所述存储阵列,用于根据接收到的处理指令输出控制信号至所述写字线、所述写位线、所述读字线、所述读位线以及所述数据线中的至少一个;所述控制电路还用于根据接收到的处理指令控制写位线接收来自处理器的数据信号,或者,用于根据接收到的处理指令控制数据线接收来自处理器的数据信号。
根据第二方面的第二种可能的实现方式,在所述存储器的第三种可能的实现方式中,在所述处理指令指示更新一组存储电路的存储状态时,所述控制电路用于:根据所述处理指令输出控制信号至一组存储电路的写字线,以控制所述一组存储电路的写晶体管导通,所述一组存储电路包括至少一行存储电路,或者至少一列存储电路;根据所述处理指令控制来自处理器的数据信号转换为一个或多个第一输入信号,并控制连接所述一组存储电路的一条或多条写位线分别接收所述一个或多个第一输入信号。
根据第二方面的第二种可能的实现方式,在所述存储器的第四种可能的实现方式中,在所述处理指令指示一组存储电路进行逻辑运算时,所述控制电路用于:
根据所述处理指令输出控制信号至所述一组存储电路连接的写字线,以控制所述一组存储电路的写晶体管截止,所述一组存储电路包括至少一行存储电路,或者至少一列存储电路;根据所述处理指令输出控制信号至所述一组存储电路连接的读字线和读位线,以控制所述一组存储电路的读晶体管的第一极保持第一电平,以及控制所述一组存储电路的读晶体管的第二极预充至第二电平并浮置,或者,根据所述处理指令 输出控制信号至所述一组存储电路连接的读字线和读位线,以控制所述一组存储电路的读晶体管的第二极保持第一电平,以及控制所述一组存储电路的读晶体管的第一极预充至第二电平并浮置;根据处理指令指示的逻辑运算类型,控制来自处理器的数据信号转换为与所述逻辑运算类型对应的一个或多个第二输入信号;控制所述一组存储电路连接的一条或多条数据线接收转换后的一个或多个第二输入信号,以通过浮置的所述第二极或浮置的所述第一极输出表示逻辑运算结果的第一输出信号。
根据第二方面的第二种可能的实现方式,在所述存储器的第五种可能的实现方式中,在所述处理指令指示读取一组存储电路的存储状态时,所述控制电路用于:
根据所述处理指令输出控制信号至所述一组存储电路连接的写字线,以控制所述一组存储电路的写晶体管截止,所述一组存储电路包括至少一行存储电路,或者至少一列存储电路;根据所述处理指令输出控制信号至所述一组存储电路连接的读字线和读位线,以控制所述读晶体管的第一极保持第一电平,所述读晶体管的第二极预充至第二电平并浮置,以通过第二极输出表示存储状态的第二输出信号,或者所述读晶体管的第二极保持第一电平,所述读晶体管的第一极预充至第二电平并浮置,以通过第一极输出表示存储状态的第二输出信号。
根据第二方面的第四种可能的实现方式,在所述存储器的第六种可能的实现方式中,所述处理指令指示与逻辑运算类型时,每个第二输入信号的电压值对应第一电压值和第二电压值其中之一。
根据第二方面的第四种可能的实现方式,在所述存储器的第七种可能的实现方式中,所述处理指令指示或逻辑运算类型时,每个第二输入信号的电压值对应第三电压值和第四电压值其中之一。
根据第二方面的第四种可能的实现方式,在所述存储器的第八种可能的实现方式中,所述处理指令指示非逻辑运算类型时,每个第二输入信号的电压值对应第五电压值。
通过这种方式,存储阵列可完成存储、读取以及不同类型的逻辑运算功能。
图1示出现有技术的计算机系统的结构示意图;
图2示出根据本申请实施例的存储电路的一个示例性应用场景;
图3示出根据本申请实施例的存储电路的一种示例性结构图;
图4示出根据本申请实施例的存储电路的一种示例性结构图;
图5示出根据本申请实施例的一种数据写入和数据擦除的示例性流程的示意图;
图6示出根据本申请实施例的一种可能的数据读取流程;
图7示出根据本申请实施例的读晶体管Tr1的转移曲线;
图8示出根据本申请实施例的读晶体管Tr1的转移曲线;
图9示出根据本申请实施例的读晶体管Tr1的另一种转移曲线;
图10示出根据本申请实施例的另一种存储电路的一种示例性结构图;
图11示出根据本申请实施例的存储阵列100的一种示例性结构图;
图12示出本申请实施例的控制电路、存储阵列与处理器的连接方式的示例性示意图。
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
计算机通常使用的是传统的冯诺依曼架构系统,在冯诺依曼架构系统中,具有运算功能的部分(一般是处理器)与具有存储功能的部分(一般是存储器)是分开的,在计算机系统需要对存储器数据进行运算处理时,需要对其存储的数据进行“数据读出-数据搬运-数据处理-数据搬运-数据写回”的步骤,即,第一步,存储器读取其上存储的数据信息;第二步,存储器将读取的数据信息传输到处理器;第三步,处理器对接收到的数据信息进行数据处理;第四步,处理器将处理后的数据信息回传到存储器;第五步,存储器将接收到的处理后的数据信息写入。在此情况下,存储器传输到处理器的数据量以及处理器要完成的运算量都比较大。为了满足用户对性能更优的计算机系统的需求,相关技术人员对存储器与处理器作出了一些改进。例如,通过增加存储器的存储单元数量以扩大存储器的存储上限,以及提高处理器的运算速度以优化处理器的运算能力等。
在这种趋势下,处理器需要从存储器中获取并进行处理的数据越来越多。数据在处理器以及存储器之间传输、处理器对大量数据进行运算所需要的时间成本以及功耗等越来越大,导致处理器对存储器的数据进行运算处理的效率越来越低。
基于此,现有技术提出一种使用存内计算存储器的计算机系统。如图1所示,现有技术的计算机系统包括存内计算存储器以及处理器,存内计算存储器内部包含存储器阵列、存内计算功能电路以及控制电路。其中,存内计算功能电路使得在存内计算存储器内部能够进行一些简单的运算,在存内计算存储器内部不能进行的复杂运算所需的数据,再由存内计算存储器传输到处理器进行运算,并根据实际需要将数据写回到存储器阵列或者读出到存内计算存储器外部。由于部分计算过程转移到了存内计算存储器内,可以减少数据在存内计算存储器与处理器之间大量搬运带来的功耗、延迟问题,从而能够提高计算机整体的数据处理效率。
然而,现有技术的存内计算存储器中,存内计算功能电路需要占用一定的芯片面积,导致存储器的芯片利用率降低。
有鉴于此,本申请提出一种存储电路,在具有存储数据功能的同时可以兼具逻辑运算功能,应用于存储器中,不必使用单独的运算电路,具有较高的芯片利用率。
图2示出根据本申请实施例的存储电路的一个示例性应用场景,如图2所示,本申请实施例的存储电路20可以设置在终端设备1800的存储器800中,存储器800还 可包括控制电路40,存储器800可与终端设备1800内的处理器900连接进行数据交换,或者与连接终端设备1800的I/O接口的外部设备(例如键盘、移动硬盘等)连接进行数据交换。处理器900或者连接在终端设备1800的I/O接口的外部设备可输出第二输入信号V
BG到存储电路20,处理器900可输出处理指令D1到控制电路,由控制电路40根据处理指令D1输出控制信号到存储电路。在控制信号的控制下,第二输入信号V
BG输入到存储电路20,存储电路20根据接收到的第二输入信号V
BG进行逻辑运算。逻辑运算的结果,即第一输出信号V
RB在控制电路输出的控制信号的控制下输出到处理器900或者输出到连接在终端设备1800的I/O接口的外部设备,亦或者,在控制信号的控制下写回到存储器800中。
图3示出根据本申请实施例的存储电路的一种示例性结构图,如图3所示,在一种可能的实现方式中,存储电路20包括写晶体管Tr0以及读晶体管Tr1,其中,
所述写晶体管Tr0用于接收第一输入信号V
WB,并根据所述第一输入信号V
WB更新所述存储电路的存储状态;
所述读晶体管Tr1包括背栅,用于接收第二输入信号V
BG,所述读晶体管Tr1用于根据所述第二输入信号V
BG以及所述存储状态进行逻辑运算,并输出表示逻辑运算结果的第一输出信号V
RB。
根据本申请实施例的存储电路,通过写晶体管接收第一输入信号,能够完成数据的写入或擦除,更新存储电路的存储状态;通过读晶体管接收第二输入信号,使得读晶体管能够根据第二输入信号和存储电路的存储状态进行逻辑运算。本申请实施例的存储电路,在满足具有存储功能的同时,还具备逻辑运算功能,使得存储电路应用到存储器中时,存储器不需要增加单独的运算电路即可实现存内运算,可以提高存储器的芯片利用率。
图4示出根据本申请实施例的存储电路的一种示例性结构图。
如图4所示,在一种可能的实现方式中,所述写晶体管Tr0的栅极G0连接写字线WWL,第一极a连接写位线WBL,第二极b连接所述读晶体管Tr1的顶栅G1;所述读晶体管Tr1的第一极c连接读字线RWL,第二极d连接读位线RBL,所述读晶体管Tr1的背栅G2连接数据线BRBL,其中,所述写字线WWL用于选通所述写晶体管Tr0以便输入所述第一输入信号V
WB到写晶体管Tr0,所述数据线BRBL用于输入所述第二输入信号V
BG到所述读晶体管Tr1的背栅G2,使得所述读晶体管Tr1输出表示逻辑运算结果的第一输出信号V
RB到读位线RBL或所述读字线RWL,所述读晶体管Tr1用于,在未接收到第二输入信号V
BG时,输出表示存储状态的第二输出信号V
RW到所述读位线RBL或所述读字线RWL。通过写字线、写位线、读字线、读位线、数据线分别与写晶体管和读晶体管的相应端点相连,便于存储电路之间的级联与控制,实现所需的存储和逻辑运算功能。
在一种可能的实现方式中,所述读晶体管是薄膜晶体管TFT。其中,薄膜晶体管(Thin Film Transistor,TFT)可以是P型晶体管,也可以是N型晶体管,还可以是双极型晶体管,本申请对此不作限制。进一步地,本申请实施例中的写晶体管Tr0也可以是薄膜晶体管,下面以写晶体管Tr0和读晶体管Tr1均是N型晶体管为例进行描述。
举例来说,写晶体管Tr0的导通与否由写晶体管Tr0的栅极G0连接的写字线WWL 的输入信号决定。例如,在写晶体管Tr0是N型晶体管时,可通过写字线WWL输入高电平信号使得写晶体管Tr0导通,通过写字线WWL输入低电平信号使得写晶体管Tr0截止,即,可通过写字线WWL输入高电平信号来选通写晶体管Tr0。在写晶体管Tr0导通后,第一极a连接的写位线WBL的输入信号(第一输入信号V
WB)的电压写入写晶体管Tr0的第二极b。写晶体管Tr0的第二极b和读晶体管Tr1的顶栅G1可连接在节点N0,因此节点N0的电位Vn和读晶体管Tr1的顶栅G1的电位均与写晶体管Tr0的第二极b相同。例如,在输入信号为高电平(例如,第一输入信号V
WB是“1”)时使得写晶体管Tr0的第二极b、节点N0、读晶体管Tr1的顶栅G1都是高电平,在输入信号为低电平(例如,第一输入信号V
WB是“0”)时使得写晶体管Tr0的第二极b、节点N0、读晶体管Tr1的顶栅G1都是低电平。
在一种可能的实现方式中,读晶体管Tr1的导通与否,可由读晶体管Tr1的顶栅G1的电位高低和读晶体管Tr1的背栅G2连接的数据线BRBL的输入信号(第二输入信号V
BG)的电压值决定。例如,在读晶体管Tr1是N型晶体管,并且背栅G2连接的数据线BRBL没有信号输入(或者,背栅G2连接的数据线BRBL输入低电平)时,顶栅G1高电平可使得读晶体管Tr1导通,顶栅G1低电平可使得读晶体管Tr1截止。
在一种可能的实现方式中,本申请实施例的存储电路20具有存储数据的功能,其能够完成数据的写入和擦除。具体的实现方式可通过将数据写入节点N0,改变节点N0的电压高低,进而改变节点N0存储的电荷量来实现。
图5示出根据本申请实施例的一种数据写入和数据擦除的示例性流程的示意图。
如图5所示,在步骤S41中,写字线的电位保持在低电平。
在步骤S42中,需要向存储电路中写入数据或者需要擦除存储电路中可能存储的数据时,写字线的电位被拉高。
在步骤S43中,写晶体管导通。
在步骤S44中,写位线输入的第一输入信号的电压通过写晶体管写入节点N0。
在步骤S45中,在第一输入信号的逻辑值是高电平的情况下,完成数据1的写入;或者,在步骤S46中,在第一输入信号的逻辑值是低电平的情况下,完成数据0的写入或数据擦除。
在步骤S47中,写字线的电位回到低电平并保持。
举例来说,在不需要对存储电路20进行数据的写入和擦除操作时,可通过控制写字线WWL的电位保持在低电平,使得写晶体管Tr0处于截止状态。
在一种可能的实现方式中,在需要向存储电路中写入数据,或者,需要将存储电路中可能存储的数据进行擦除时,写字线WWL的电位可被拉高。在此情况下,写晶体管Tr0导通,在所述写晶体管Tr0导通时,所述第一输入信号V
WB写入所述写晶体管Tr0的第二极b和所述读晶体管Tr1的顶栅G1,或者所述第一输入信号V
WB使已写入写晶体管Tr0的第二极b和所述读晶体管Tr1的顶栅G1的信号擦除,以更新所述存储电路的存储状态。
其中,写位线WBL输入的第一输入信号V
WB的逻辑值即为需要存储到存储电路20中的数据信息,在第一输入信号V
WB是逻辑高电平时,例如,第一输入信号V
WB可以是“1”,在此情况下,第一输入信号V
WB对应的电荷存储到N0节点,使得N0 节点电位变高,从而完成数据“1”的写入,存储电路20的存储状态更新为“1”。在一种可能的实现方式中,第一输入信号V
WB可以是逻辑低电平,例如,第一输入信号V
WB可以是“0”,在此情况下,第一输入信号V
WB对应的电荷存储到N0节点,使得N0节点电位变低,从而完成数据“0”的写入,存储电路20的存储状态更新为“0”。
在一种可能的实现方式中,在需要擦除存储电路中存储的数据时,也可以通过写位线WBL输入低电平的第一输入信号V
WB来实现。在此情况下,如果N0节点的电位高于第一输入信号V
WB,存储的电荷将全部流出,使得N0节点电位变低;如果N0节点的电位等于第一输入信号V
WB,存储的电荷保持不变,从而完成数据的擦除,存储电路20的存储状态更新为“0”。
在数据写入或者数据擦除完成后,写字线WWL的电位可重新回到低电平。在此情况下,写晶体管Tr0截止,节点N0上存储的电荷可以保持,实现存储电路20的存储功能。
在一种可能的实现方式中,所述读晶体管Tr1还用于,在未接收到所述第二输入信号V
BG时,输出表示所述存储状态的第二输出信号V
RW。通过第二输出信号V
RW的电位变化情况,可以确定存储电路的存储状态。基于此,本申请实施例的存储电路20能够完成数据的读取。
在一种可能的实现方式中,在所述背栅G2未接收到所述第二输入信号时,所述读晶体管Tr1的第一极c保持第一电平,所述读晶体管Tr1的第二极d预充至第二电平并浮置,通过第二极d输出表示存储状态的第二输出信号V
RW,或者所述读晶体管Tr1的第二极d保持第一电平,所述读晶体管Tr1的第一极c预充至第二电平并浮置,通过第一极c输出表示存储状态的第二输出信号V
RW。
其中,读晶体管Tr0的第一极可为源极,第二极可为漏极,或者第一极可为漏极,第二极可为源极,同样,写晶体管Tr1的第一极可为源极,第二极可为漏极,或者第一极可为漏极,第二极可为源极,第一电平可为高电平,第二电平为低电平,或者,第一电平可为低电平,第二电平为高电平。本申请对此不作限制。
在一种可能的实现方式中,在不需要存储电路20进行逻辑运算操作时,读晶体管Tr1的背栅G2可能未接收到第二输入信号(例如背栅G2为低电平)。在此情况下,如果不需要对存储电路20进行数据读取操作,可使得读位线RBL预充至第一电平后浮置,并且使得读字线RWL也持续输入第一电平,这样,无论读晶体管Tr1处于导通状态还是截止状态,读晶体管的第一极c和第二极d的电位均相等。
在一种可能的实现方式中,在需要读取存储电路20中存储的数据时,可以将读字线RWL的电平由第一电平变换为第二电平。在此情况下,只需检测读位线RBL输出的第二输出信号V
RW是第一电平还是第二电平,即可得知存储电路20中存储的数据是1还是0,完成数据读取。
举例来说,如果此时存储电路20的存储状态是“1”(即,存储的数据是“1”),则节点N0处于高电平,读晶体管Tr1导通;读字线RWL的电位可经读晶体管Tr1的第一极c、读晶体管Tr1的第二极d拉低浮置的读位线RBL的电位。因此,可检测到读位线RBL输出的第二输出信号V
RW电位是第二电平,即可得知存储电路20中存储数据是1;如果此时存储电路20中没有数据存储(或者,存储数据是“0”),则节 点N0处于低电平,读晶体管Tr1截止;读字线RWL的电位不能写入读晶体管Tr1的第二极d,浮置的读位线RBL输出的第二输出信号V
RW电位不会产生变化,仍然保持第一电平。因此,可检测到读位线RBL的电位是第一电平,即可得知存储电路20中存储数据是0。
在数据读取完成后,读字线RWL的电平可重新回到第一电平,读位线RBL可重新预充至第一电平并浮置,以便下一次对存储电路20进行读取操作。
在一种可能的实现方式中,也可以选择读位线RBL作为持续输入第一电平(或者第二电平)的对象,选择读字线RWL作为预充后浮置的对象,在此情况下,则可以通过检测读字线RWL的电位变化情况来判断读晶体管Tr1是否导通。
举例来说,可先通过读位线RBL保持第一电平(或者第二电平)的电位,并将读字线RWL的电位预充到第一电平(或者第二电平)后浮置,在浮置状态下,读字线RWL的电位只受读晶体管Tr1状态的影响。通过将读位线RBL的电位变换为第二电平(或者第一电平),并检测读字线RWL的电位变化情况,如果在读字线RWL的电位预充到第一电平的前提下,检测到其输出的第二输出信号V
RW电位变化为第二电平,就可以确定存储状态是“1”;如果检测到其电位仍为第一电平,则存储状态是“0”。同样,如果在读字线RWL的电位预充到第二电平的前提下,检测到其输出的第二输出信号V
RW电位变化为第一电平,就可以确定存储状态是“1”;如果检测到其电位仍为第二电平,则存储状态是“0”。
图6示出根据本申请实施例的一种可能的数据读取流程。
如图6所示,在步骤S51中,读位线预充至高电平后浮置;读字线保持高电平。
在步骤S52中,需要读取存储电路存储的数据时,读字线的电位被拉低。
在步骤S53中,检测读位线的电位。
在步骤S54中,如果读位线是低电平,说明读晶体管导通,存储电路中有数据存储,且存储数据为1;或者,在步骤S55中,如果读位线是高电平,说明读晶体管截止,存储电路中没有数据存储,或者存储数据为0。
在步骤S56中,读位线预充至高电平后浮置;读字线回到高电平。
本领域技术人员应理解,本申请实施例的存储电路20中读晶体管Tr1状态的判断方式应不止上述方法,例如,也可通过分别检测读晶体管Tr1的顶栅G1和背栅G2的电位情况,并结合读晶体管Tr1的转移特性曲线确定读晶体管Tr1的状态等,只要通过存储电路20的某些位置的电位能够判断读晶体管Tr1的状态即可,本公开对此不作限制。通过上述方式,可以完成存储电路的数据读取。
在一种可能的实现方式中,本申请实施例的存储电路20能够完成逻辑运算功能。所述第二输入信号V
BG的不同电压值或者所述第二输入信号V
BG的电压值的不同组合,对应于不同的逻辑运算类型。举例来说,逻辑运算的类型可以包括“与”、“或”、“非”等多种类型。存储电路20存储的数据1和0可分别对应逻辑值1和0,第二输入信号V
BG的可能电压值可以根据读晶体管Tr1的特性预先设置,使得不同的运算类型下,第二输入信号V
BG的电压值不同或者第二输入信号V
BG的电压值的组合不同。在一种运算类型的第二输入信号V
BG电压值的组合中,不同的电压值分别对应逻辑值1和0。本申请实施例的存储电路20的逻辑运算,可以看作存储电路20存储的数据对 应的逻辑值1或0,与第二输入信号V
BG的电压值对应的逻辑值1或0进行的逻辑运算;或者可以看作在第二输入信号V
BG的电压值的作用下,存储数据对应的逻辑值1或0自身实现的逻辑运算。
其中,第二输入信号V
BG可用于对读晶体管Tr1的沟道电阻进行调节,读晶体管Tr1沟道电阻由节点N0电位(读晶体管Tr1顶栅G1的电位)以及第二输入信号V
BG共同决定。第二输入信号V
BG的取值可以根据读晶体管Tr1的特性曲线预先设置。在读晶体管Tr1接收到第二输入信号V
BG时,根据第二输入信号V
BG的大小以及当前时刻读晶体管Tr1顶栅G1的电位高低情况,读晶体管Tr1的沟道电阻可能是低阻态或高阻态,即,读晶体管Tr1可能处在导通或者截止状态。可以预先设置读晶体管Tr1的导通和截止的状态也分别对应逻辑值1和0。此时,可认为逻辑运算已经完成但逻辑运算结果尚未输出。在此情况下,通过获取读晶体管Tr1输出的第一输出信号V
RB并且通过第一输出信号V
RB体现读晶体管Tr1的状态,即可得到逻辑运算的结果。
由此,同一个存储电路可以实现不同类型的逻辑运算,不需要为不同的逻辑运算设置不同结构的存储电路,提高了芯片利用率和使用灵活性。
下面以本申请实施例的存储电路实现“与”、“或”、“非”三种逻辑运算为例,对本申请实施例的存内计算方法进行描述。
在一种可能的实现方式中,所述存储电路20进行“与”逻辑运算时,所述第二输入信号V
BG的电压值为表示逻辑1的第一电压值和表示逻辑0的第二电压值其中之一,第一电压值和第二电压值可以预先设置。
举例来说,利用“与”逻辑运算中,1与1进行“与”运算的结果为1,0与1或0进行“与”运算的结果均为0这一特性,可以预设第二输入信号V
BG的第一电压值V1,作为存储电路进行“与”逻辑运算时的第二输入信号V
BG的逻辑1值。第一电压值V1使得读晶体管Tr1顶栅电压Vn为高电平(对应逻辑值1)时,读晶体管Tr1导通(对应逻辑值1),Tr1顶栅电压Vn为低电平(对应逻辑值0)时,读晶体管Tr1截止(对应逻辑值0)。还可预设第二输入信号V
BG的第二电压值V0,作为存储电路进行“与”逻辑运算时的第二输入信号的逻辑0值。第二电压值V0使得无论Tr1顶栅G1电压Vn为高电平(对应逻辑值1)还是低电平(对应逻辑值0),读晶体管Tr1均截止(对应逻辑值0)。基于此,在第二输入信号V
BG输入到存储电路后,存储电路可进行存储数据和第二输入信号之间的“与”逻辑运算。
图7和图8示出根据本申请实施例的读晶体管Tr1的转移曲线。需要注意的是,图7和图8中示出的转移曲线为读晶体管Tr1是N型薄膜晶体管时的特性曲线。其中,曲线M1对应在读晶体管Tr1顶栅G1电位为高电平时,读晶体管Tr1的漏源电流I
DS随读晶体管Tr1的背栅G2输入第二输入信号V
BG变化的情况,曲线N1对应在读晶体管Tr1顶栅G1电位为低电平时,读晶体管Tr1的漏源电流I
DS随读晶体管Tr1的背栅G2输入第二输入信号V
BG变化的情况。
例如,如图7所示,可以预设V1=0V,V0=-1V,由曲线M1可知,读晶体管Tr1顶栅G1电压为高电平(Vn=1V)且第二输入信号V
BG=V1(0V)时,读晶体管Tr1导通,相当于完成了“与”逻辑运算中的“1∧1=1”;读晶体管Tr1顶栅G1电压为高电平(Vn=1V)且第二输入信号V
BG=V0(-1V)时,读晶体管Tr1截止,相当于完 成了“与”逻辑运算中的“1∧0=0”。由曲线N1可知,读晶体管Tr1顶栅G1电压为低电平(Vn=0V)且第二输入信号V
BG=V1(0V)时,读晶体管Tr1截止,相当于完成了“与”逻辑运算中的“0∧1=0”;读晶体管Tr1顶栅G1电压为低电平(Vn=0V)且第二电压V
BG=V0(-1V)时,读晶体管Tr1截止,相当于完成了“与”逻辑运算中的“0∧0=0”。
为了便于理解,本申请将第二输入信号V
BG为V0和V1分别对应第二输入信号V
BG的逻辑值0和1,将存储电路20存储的数据为0或1时也分别对应逻辑值0和1,存储电路20进行“与”逻辑运算的真值表如表1所示。
表1
如表1所示,读晶体管Tr1处于截止状态时还可表现为读晶体管Tr1的漏源之间处于高阻态,读晶体管Tr1处于导通状态时还可表现为读晶体管Tr1的漏源之间处于低阻态。本领域技术人员应理解,读晶体管Tr1的状态还可以用其他参数进行描述,例如通过读晶体管Tr1的漏极和源极连接不同的电位时输出低电流或者高电流来表示读晶体管Tr1所处的状态等。本申请对此不作限制。
在一种可能的实现方式中,在所述背栅G2接收到所述第二输入信号V
BG时,所述读晶体管Tr1的第一极c保持第一电平,所述读晶体管Tr1的第二极d预充至第二电平并浮置,通过第二极d输出表示逻辑运算结果的第一输出信号V
RB,或者所述读晶体管Tr1的第二极d保持第一电平,所述读晶体管Tr1的第一极c预充至第二电平并浮置,通过第一极c输出表示逻辑运算结果的第一输出信号V
RB。
下面针对本申请实施例存储电路实现“与”逻辑运算的示例性流程进行描述。
举例来说,当不需要进行逻辑运算时,存储电路20的读晶体管Tr1背栅G2可能未接收到第二输入信号V
BG。存储电路20中可例如存储有数据1,对应逻辑值1。存储电路20可根据上文所示的方法进行数据的写入、擦除与读取的操作。
当需要进行逻辑运算时,存储电路20所存储的数据需要在运算过程中保持不变,因此,在第二输入信号V
BG输入之前,可控制写字线WWL的电平使得写晶体管Tr0保持关闭。举例来说,写晶体管Tr0是N型薄膜晶体管时,可控制写字线WWL的电平使其保持在低电平。这样,写晶体管Tr0第二极b的电位将不会变化,存储电路20存储的数据也不会变化。
在此情况下,可例如在读位线RBL和读字线RWL分别输入相同的低电平(第二电平),并向读位线RBL继续输入低电平(第二电平),读字线RWL浮置。此时,读晶体管Tr1的第一极c和第二极d均是低电平。
此后,数据线BRBL将第二输入信号V
BG输入到存储电路20。其中,第二输入信号V
BG的电压值可例如是V0,对应逻辑值0。
在第二输入信号V
BG输入到存储电路20后,可以向读位线RBL输入高电平(第一电平),并检测读字线RWL的电平,根据检测到的读字线RWL的电平值,可以确定“与”逻辑运算的结果。其中,检测到的电平值即为第一输出信号V
RB,在存储电路存储数据1、且第二输入信号V
BG的电压值是V0时,读晶体管Tr1处于截止状态,因此,读晶体管Tr1第二极d的读位线RBL持续输入的高电平,不会改变读晶体管Tr1第一极c的读字线RWL的低电平,检测到的读字线RWL的电平值为低电平,对应逻辑值0,与存储数据的逻辑值1和第二输入信号V
BG的逻辑值0的“与”运算结果0是相同的,在此情况下,第一输出信号V
RB可表示“与”逻辑运算结果。
备选地,在另一种操作流程中,第二输入信号V
BG输入之前,也可以使得读字线RWL继续输入低电平(第二电平),读位线RBL浮置。并且在第二输入信号V
BG输入到存储电路20后,可以向读字线RWL输入高电平(第一电平),并检测读位线RBL的电平,根据检测到的读位线RBL的电平值,确定“与”逻辑运算的结果。在此情况下,检测到的电平值即为第一输出信号V
RB,在存储电路20存储数据1、且第二输入信号V
BG的电压值是V0时,读晶体管Tr1处于截止状态,因此,读晶体管Tr1第一极c的读字线RWL持续输入的高电平,不会改变读晶体管Tr1第二极d的读位线RBL的低电平,检测到的读位线RBL的电平值为低电平,对应逻辑值0,与存储数据的逻辑值1和第二输入信号V
BG的逻辑值0的“与”运算结果0是相同的,在此情况下,第一输出信号V
RB可表示“与”逻辑运算结果。
通过这种方式,本申请实施例的存储电路能够实现“与”逻辑运算。
在一种可能的实现方式中,所述存储电路20进行“或”逻辑运算时,所述第二输入信号V
BG的电压值为表示逻辑1的第三电压值和表示逻辑0的第四电压值其中之一,第三电压值和第四电压值可以预先设置。
举例来说,利用“或”逻辑运算中,1与1或0进行“或”运算的结果均为1,0与0进行“或”运算的结果为0这一特性,可以预设第二输入信号V
BG的第四电压值V0',作为存储电路20进行“或”逻辑运算时的第二输入信号的逻辑0值。第四电压值V0'使得读晶体管Tr1顶栅电压Vn为高电平(对应逻辑值1)时,读晶体管Tr1导通(对应逻辑值1),Tr1顶栅电压Vn为低电平(对应逻辑值0)时,读晶体管Tr1截止(对应逻辑值0)。还可预设第二输入信号V
BG的第三电压值V1',作为存储电路20在进行“或”逻辑运算时第二输入信号V
BG的逻辑1值,第三电压值V1'使得无论Tr1顶栅电压Vn为高电平(对应逻辑值1)还是低电平(对应逻辑值0),读晶体管Tr1均导通(对应逻辑值1)。基于此,在第二输入信号V
BG输入到存储电路20后,存储电路20可进行存储数据和第二输入信号V
BG之间的“或”逻辑运算。
例如,如图8所示,可以预设V0'=1V,V1'=2V,由曲线M1可知,读晶体管Tr1顶栅G1电位为高电平(Vn=1V)且第二输入信号V
BG等于V0'时,读晶体管Tr1导通,相当于完成了“或”逻辑运算中的“1∨0=1”;在读晶体管Tr1顶栅G1电位为高电平且第二输入信号V
BG等于V1'时,读晶体管Tr1导通,相当于完成了“或”逻辑运算中的“1∨1=1”;由曲线N1可知,读晶体管Tr1顶栅G1电位为低电平(Vn=0V) 且第二输入信号V
BG等于V0'时,读晶体管Tr1截止,相当于完成了“或”逻辑运算中的“0∨0=0”;读晶体管Tr1顶栅G1电位为低电平且第二输入信号V
BG等于V1'时,读晶体管Tr1导通,相当于完成了“或”逻辑运算中的“0∨1=1”。
为了便于理解,本申请将第二输入信号V
BG为V1'和V0'分别对应第二输入信号V
BG的逻辑信号1和0,将存储电路的存储状态也分别对应存储状态的逻辑信号1和0,存储电路进行“或”逻辑运算的真值表如表2所示。
表2
下面针对本申请实施例存储电路实现“或”逻辑运算的示例性流程进行描述。
存储电路中可例如存储有数据1,对应逻辑值1。首先,在第二输入信号V
BG输入之前,在读位线RBL和读字线RWL分别输入相同的低电平(第二电平),并向读位线RBL继续输入低电平(第二电平),读字线RWL浮置。在此情况下,读晶体管Tr1的第一极c和第二极d均是低电平。
此后,数据线BRBL将第二输入信号V
BG输入到存储电路20。其中,第二输入信号V
BG的电压值是V0',对应逻辑值0。
在第二输入信号V
BG输入到存储电路20后,可以向读位线RBL输入高电平(第一电平),并检测读字线RWL的电平,根据检测到的读字线RWL的电平值,可以确定“或”逻辑运算的结果。其中,检测到的电平值即为第一输出信号V
RB,在存储电路20存储数据1、且第二输入信号V
BG的电压值是V0'时,读晶体管Tr1处于导通状态,因此,读晶体管Tr1第二极d的读位线RBL持续输入的高电平,会改变读晶体管Tr1第一极c的读字线RWL电平,使得检测到的读字线RWL的电平值为高电平,对应逻辑值1,与存储数据的逻辑值1和第二输入信号V
BG的逻辑值0的“或”运算结果1是相同的,在此情况下,第一输出信号V
RB可表示“或”逻辑运算结果。
备选地,在另一种操作流程中,第二输入信号V
BG输入之前,也可以使得读字线RWL继续输入低电平(第二电平),读位线RBL浮置。并且在第二输入信号V
BG输入到存储电路20后,可以向读字线RWL输入高电平(第一电平),并检测读位线RBL的电平,根据检测到的读位线RBL的电平值,确定“或”逻辑运算的结果。在此情况下,检测到的电平值即为第一输出信号V
RB,在存储电路20存储数据1、且第二输入信号V
BG的电压值是V0'时,读晶体管Tr1处于导通状态,因此,读晶体管Tr1第一极c的读字线RWL持续输入的高电平,会改变读晶体管Tr1第二极d的读位线RBL的电平,检测到的读位线RBL的电平值为高电平,对应逻辑值1,与存储数据的逻辑值1和第二输入信号V
BG的逻辑值0的“或”运算结果1是相同的,在此情况下,第 一输出信号V
RB可表示“或”逻辑运算结果。
通过这种方式,本申请实施例的存储电路能够实现“或”逻辑运算。
在一种可能的实现方式中,所述存储电路进行“非”逻辑运算时,所述第二输入信号V
BG的电压值为第五电压值,第五电压值可以预先设置。利用“非”逻辑运算中,1进行“非”运算的结果为0,0进行“非”运算的结果为1这一特性,可以预设第二输入信号V
BG的第五电压值V3,该值能使得顶栅G1电压Vn为高电平(对应逻辑值1)时,读晶体管Tr1截止(对应逻辑值0),顶栅G1电压Vn为低电平(对应逻辑值0)时,读晶体管Tr1导通(对应逻辑值1),第五电压值V3即可作为在进行“非”逻辑运算时输入到存储电路的第二输入信号V
BG。基于此,在第二输入信号V
BG输入到存储电路后,存储电路可进行存储数据自身的“非”逻辑运算。
图9示出根据本申请实施例的读晶体管Tr1的另一种转移曲线。下面结合图9对本申请实施例的存储电路20进行“非”逻辑运算的流程进行描述。需要注意的是,图9中示出的转移曲线为读晶体管Tr1是碳纳米晶体管(Carbon Nanotube Transistor,CNT)时的特性曲线。本领域技术人员应理解,也可以选用使用其他双极型沟道材料的晶体管,本申请对晶体管的具体类型不作限制。
其中,曲线M2对应在读晶体管Tr1顶栅G1电位为高电平(Vn=1V)时,读晶体管的漏源电流I
DS随读晶体管Tr1的背栅G2输入第二输入信号V
BG的变化情况,曲线N2对应在读晶体管顶栅电位为低电平时,读晶体管Tr1的漏源电流I
DS随读晶体管Tr1的背栅G2输入的第二输入信号V
BG的变化情况。
例如,如图9所示,可以预设V3=3V,由曲线M2可知,读晶体管Tr1顶栅G1电位为高电平(Vn=1V)且第二输入信号V
BG等于V3时,读晶体管Tr1截止,相当于完成了“非”逻辑运算中的“非1等于0”;读晶体管Tr1顶栅G1电位为低电平且第二输入信号V
BG等于V3时,读晶体管Tr1导通,相当于完成了“非”逻辑运算中的“非0等于1”。
为了便于理解,本申请将存储电路20的存储数据也分别对应逻辑信号1和0,在第二输入信号V
BG为V3时,存储电路20进行“非”逻辑运算的真值表如表3所示。
需要说明,双极型晶体管,也就是具有图9所示的特性曲线的晶体管,除了可以完成“非”逻辑运算之外,同样可以完成“与”和“或”逻辑运算。
表3
下面针对本申请实施例的存储电路实现“非”逻辑运算的示例性流程进行描述。存储电路20中可例如存储有数据1,对应逻辑值1。首先,在第二输入信号V
BG输入之前,在读位线RBL和读字线RWL分别输入相同的低电平(第二电平),并向读位线RBL继续输入低电平(第二电平),读字线RWL浮置。在此情况下,读晶体管Tr1的第一极c和第二极d均是低电平。
此后,数据线BRBL将第二输入信号V
BG输入到存储电路20。其中,第二输入信号V
BG的电压值可例如是V3。
在第二输入信号V
BG输入到存储电路20后,可以向读位线RBL继续输入高电平(第一电平),并检测读字线RWL的电平,根据检测到的读字线RWL的电平值,可以确定“非”逻辑运算的结果。其中,检测到的电平值即为第一输出信号V
RB,在存储电路20存储数据1、且第二输入信号V
BG的电压值是V3时,读晶体管Tr1处于截止状态,因此,读晶体管Tr1第二极d的读位线RBL持续输入的高电平,不会改变读晶体管Tr1第一极c的读字线RWL的低电平,检测到的读字线RWL的电平值为低电平,对应逻辑值0,与存储数据的逻辑值1的“非”运算结果0是相同的,在此情况下,第一输出信号V
RB表示“非”逻辑运算结果。
备选地,在另一种操作流程中,第二输入信号V
BG输入之前,也可以使得读字线RWL继续输入低电平(第二电平),读位线RBL浮置。并且在第二输入信号V
BG输入到存储电路20后,可以向读字线RWL输入高电平(第一电平),并检测读位线RBL的电平,根据检测到的读位线RBL的电平值,确定“非”逻辑运算的结果。在此情况下,检测到的电平值即为第一输出信号V
RB,在存储电路20存储数据1、且第二输入信号V
BG的电压值是V3时,读晶体管Tr1处于截止状态,因此,读晶体管Tr1第一极c的读字线RWL持续输入的高电平,不会改变读晶体管Tr1第二极d的读位线RBL的低电平,检测到的读位线RBL的电平值为低电平,对应逻辑值0,与存储数据的逻辑值1的“非”运算结果0是相同的,在此情况下,第一输出信号V
RB表示“非”逻辑运算结果。
通过这种方式,本申请实施例的存储电路能够实现“非”逻辑运算,即对存储数据(例如读晶体管顶栅存储的数据)进行的“非”逻辑运算。
根据以上示例,第二输入信号V
BG以0V作为逻辑1,-1V作为逻辑0时,可进行存储数据和第二输入信号的“与”逻辑运算,第二输入信号V
BG以2V作为逻辑1,1V作为逻辑0时,可进行存储数据和第二输入信号的“或”逻辑运算,第二输入信号V
BG为3V时,可以进行存储数据的“非”逻辑运算。
第二输入信号V
BG的值的选择这里仅是示例,还可以有其他值作为逻辑0或1来实现上述“与”或者“或”逻辑运算,或者还可以有其他值,来进行存储数据的“非”逻辑运算。本申请对第二输入信号取值,以及逻辑运算的类型,均不做限制。
举例来说,在执行“与”逻辑运算时,第二输入信号V
BG为第一电压值V0,作为逻辑0,在存储数据是1或0时,逻辑运算结果均是0;第二输入信号V
BG为第二电压值V1作为逻辑1,在存储数据是1或0时,逻辑运算结果分别是1或0;逻辑运算结果通过读字线RWL或者读位线RBL输出。在执行“或”逻辑运算时,第二输入信号V
BG为第四电压值V0',作为逻辑0,在存储数据是1或0时,逻辑运算结果分别是1或0;第二输入信号V
BG为第三电压值V1'作为逻辑1,在存储数据是1或0时,逻辑运算结果均是1;逻辑运算结果通过读字线RWL或者读位线RBL输出。在执行“非”逻辑运算时,第二输入信号V
BG为第五电压值V3,在存储数据是1或0时,逻辑运算结果分别是0或1;逻辑运算结果通过读字线RWL或者读位线RBL输出。
在一种可能的实现方式中,所述写晶体管Tr0的第二极b或所述读晶体管Tr1的 顶栅G1还用于输出表示存储状态的第二输出信号V
RW。举例来说,读取存储电路20中存储的数据也可以通过检测写晶体管Tr0的第二极b或读晶体管Tr1的顶栅G1的电位完成,可在写晶体管Tr0的第二极b和读晶体管Tr1的顶栅G1连接的节点N0处新增一根线缆,通过线缆的另一端检测到的电位高低情况,即可确定存储电路的存储状态。
在此情况下,表示存储状态的第二输出信号V
RW可以由新增的线缆输出,表示逻辑运算结果的第一输出信号V
RB可以由读字线RWL或者读位线RBL输出。
举例来说,在存储电路20中有数据存储时,存储状态可能为“1”或“0”。在新增的线缆一端连接写晶体管Tr0的第二极b和读晶体管Tr1的顶栅G1时,可通过检测新增的线缆另一端的电平的操作,获取第二输出信号V
RW。与此同时,可以通过控制数据线BRBL输入第二输入信号V
BG、控制读字线RWL和读位线RBL的电平后,检测读字线RWL或者读位线RBL的电平的操作,获取第一输出信号V
RB。在此情况下,存储电路20的数据读取与逻辑运算可以同时进行,第二输出信号V
RW的输出与第一输出信号V
RB的输出互不干扰。
下面是示出存储电路20可同时进行读取和运算的操作时,逻辑运算的一种示例性操作流程:
在第二输入信号V
BG输入之前,可控制写字线WWL的电平使得写晶体管Tr0保持关闭。在此情况下,可例如在读位线RBL和读字线RWL分别输入相同的低电平,并向读位线RBL继续输入低电平,读字线RWL浮置。此时,读晶体管Tr1的第一极c和第二d极均是低电平。此后,数据线BRBL将第二输入信号V
BG输入到存储电路20。其中,在进行“与”逻辑运算时,第二输入信号V
BG的电压值可例如是第一电压值V0或者第二电压值V1,在进行“或”逻辑运算时,第二输入信号V
BG的电压值可例如是第三电压值V1'或者第四电压值V0',在进行“非”逻辑运算时,第二输入信号V
BG的电压值可例如是第五电压值V3。
在第二输入信号V
BG输入到存储电路20后,可以向读位线RBL继续输入高电平,并检测读字线RWL的电平,检测到的电平值即为第一输出信号V
RB,表示逻辑运算的结果,根据检测到的读字线RWL的电平值,可以确定逻辑运算的结果。
其中,第二输入信号V
BG输入之前,也可以使得读字线RWL继续输入低电平,读位线RBL浮置。并且在第二输入信号V
BG输入到存储电路20后,可以向读字线RWL输入高电平,第一输出信号V
RB也可例如由检测读位线RBL的电平值获得,具体实现方式在上文中已经描述过,为了简洁,在此不再赘述。
通过这种方式,使得读位线RBL和读字线RWL可以单独为逻辑运算服务,存储电路可同时进行读取和运算的操作,可以提升存储电路的多种功能的实现方式的灵活性。
图10示出根据本申请实施例的另一种存储电路的一种示例性结构图。
在一种可能的实现方式中,存储电路20还包括电容C
S,其中,电容C
S的一侧极板连接写晶体管Tr0的第二极b和读晶体管Tr1的顶栅G1,电容C
S的另一侧极板连接地GND。
举例来说,电容C
S的一侧极板、写晶体管Tr0的第二极b和读晶体管Tr1的顶栅 G1可连接在同一节点N0。这样,针对存储电路20进行写入操作时,电容C
S可用于存储写位线WBL写入N0的电位,并在写入完成、写字线WWL关闭后,维持节点N0的电位,在此情况下,节点N0的电位可以长时间保持在写入时的状态,减少多次向存储电路20写入需要存储的数据所需的功耗。
图10示出的存储电路同样能够完成上文所述的写入或擦除、读取以及多种类型的逻辑运算功能。具体实现方式可参考上文中相应的描述。
在实际应用时,可根据应用场景的需求,选择是否在存储电路20中设置电容C
S。如果想要进一步降低存储电路的面积以及减少成本,可以选择没有电容的存储电路,如果想要降低功耗,可以选择有电容的存储电路,本申请对此不做限制。
本申请实施例还提供一种存储器,包括存储阵列100,包括多个根据本申请实施例的存储电路。在存储器中,多个存储电路可以同时进行数据写入、数据擦除、数据读取以及逻辑运算等操作,不需单独的运算电路,可提高存储器的芯片利用率。图11示出根据本申请实施例的存储阵列100的一种示例性结构图。
如图11所示,在一种可能的实现方式中,所述存储器连接多条写字线、多条写位线、多条读字线、多条读位线以及多条数据线;同一行的存储电路连接相同的写字线WWL、读字线RWL和数据线BRBL,同一列的存储电路连接相同的写位线WBL和读位线RBL,或者同一行的存储电路连接相同的读字线RWL、数据线BRBL和写位线WBL,同一列的存储电路连接相同的写字线WWL和读位线RBL。
举例来说,在同一行的存储电路连接相同的写字线WWL、读字线RWL和数据线BRBL,同一列的存储电路连接相同的写位线WBL和读位线RBL时,不同行的存储电路可连接不同的写字线WWL、读字线RWL、数据线BRBL,不同列的存储电路可连接不同的写位线WBL和读位线RBL。在利用存储阵列100实现存储器的读取功能或者逻辑运算功能时,同一行的存储电路通过数据线BRBL输入相同的第二输入信号V
BG,不同行的存储电路20输入的第二输入信号V
BG相同或不同。
在一种可能的实现方式中,本申请实施例的存储器还包括控制电路40,图12示出本申请实施例的控制电路、存储阵列与处理器的连接方式的示例性示意图。
如图12所示,所述控制电路40连接所述存储阵列100,用于根据接收到的处理指令D1输出控制信号至所述写字线WWL_1-WWL_K、所述写位线WBL_1-WBL_J、所述读字线RWL_1-RWL_K、所述读位线RBL_1-RBL_J以及所述数据线BRBL_1-BRBL_K中的至少一个;所述控制电路40还用于根据接收到的处理指令D1控制写位线WBL_1-WBL_J接收来自处理器900的数据信号,例如控制来自于处理器900的数据信号串中的各位数据按顺序分配到各写位线WBL_1-WBL_J。其中,数据信号可例如包括输入到存储阵列100的多个第一输入信号V
WB的数据信息(例如,图12中使用DATA表示的数据流)。控制电路40还可用于根据接收到的处理指令D1控制数据线BRBL接收来自处理器900的数据信号。其中,控制电路40可根据处理指令D1指示的逻辑运算类型,控制将来自处理器900的数据信号转换为与该逻辑运算类型对应的电平值,并控制数据线BRBL接收转换后的数据信号。例如,如果处理指令D1指示的逻辑运算类型为“与”,那么控制电路40可通过控制外围电路,将处理器提供的逻辑1值转换为0V,逻辑0值转换为-1V,再传输至数据线。
通过这种方式,存储阵列100可完成存储、读取以及不同类型的逻辑运算功能。
其中,存储器800还用于接收处理器900传输的第二输入信号V
BG,并且通过数据线BRBL输入存储阵列100中。存储阵列100可根据第二输入信号V
BG进行逻辑运算,其逻辑运算结果输出到处理器900中,或者,通过I/O接口输出到与存储阵列100所在的终端设备相连接的外部设备。
在一种可能的实现方式中,处理指令D1可指示控制电路40控制存储器800实现不同的功能。在所述处理指令D1指示更新一组存储电路的存储状态时,所述控制电路用于:根据所述处理指令D1输出控制信号至一组存储电路的写字线,以控制所述一组存储电路的写晶体管Tr0导通,所述一组存储电路包括至少一行存储电路,或者至少一列存储电路;根据所述处理指令D1控制来自处理器的数据信号转换为一个或多个第一输入信号,并控制连接所述一组存储电路的一条或多条写位线分别接收所述一个或多个第一输入信号V
WB。
在一种可能的实现方式中,在所述处理指令D1指示读取一组存储电路的存储状态时,所述控制电路用于:根据所述处理指令D1输出控制信号至所述一组存储电路连接的写字线,以控制所述一组存储电路的写晶体管Tr0截止,所述一组存储电路包括至少一行存储电路,或者至少一列存储电路;根据所述处理指令输出控制信号至所述一组存储电路连接的读字线和读位线,以控制所述读晶体管Tr1的第一极保持第一电平,所述读晶体管Tr1的第二极预充至第二电平并浮置,以通过第二极输出表示存储状态的第二输出信号V
RW,或者所述读晶体管Tr1的第二极保持第一电平,所述读晶体管Tr1的第一极预充至第二电平并浮置,以通过第一极输出表示存储状态的第二输出信号V
RW。
在一种可能的实现方式中,在所述处理指令D1指示一组存储电路进行逻辑运算时,所述控制电路用于:根据所述处理指令D1输出控制信号至所述一组存储电路连接的写字线,以控制所述一组存储电路的写晶体管Tr0截止,所述一组存储电路包括至少一行存储电路,或者至少一列存储电路;根据所述处理指令D1输出控制信号至所述一组存储电路连接的读字线和读位线,以控制所述一组存储电路的读晶体管Tr1的第一极保持第一电平,以及控制所述一组存储电路的读晶体管Tr1的第二极预充至第二电平并浮置,或者,根据所述处理指令D1输出控制信号至所述一组存储电路连接的读字线和读位线,以控制所述一组存储电路的读晶体管Tr1的第二极保持第一电平,以及控制所述一组存储电路的读晶体管Tr1的第一极预充至第二电平并浮置;根据处理指令D1指示的逻辑运算类型,控制来自处理器的数据信号转换为与所述逻辑运算类型对应的一个或多个第二输入信号V
BG;控制所述一组存储电路连接的一条或多条数据线接收转换后的一个或多个第二输入信号V
BG,以通过浮置的所述第二极或浮置的所述第一极输出表示逻辑运算结果的第一输出信号V
RB。
在一种可能的实现方式中,所述处理指令D1指示与逻辑运算类型时,每个第二输入信号V
BG的电压值对应第一电压值和第二电压值其中之一;所述处理指令D1指示或逻辑运算类型时,每个第二输入信号V
BG的电压值对应第三电压值和第四电压值其中之一;所述处理指令指示非逻辑运算类型时,每个第二输入信号V
BG的电压值对应第五电压值。
下面针对一组存储电路分别为一行存储电路和一列存储电路的不同情况,对存储器在控制电路的控制下实现上述多种功能进行详细描述。
在一种可能的实现方式中,在存储阵列100中,处理指令D1指示更新一组存储电路的存储状态时,存储器可完成数据的写入或擦除;处理指令D1指示读取一组存储电路的存储状态时,存储器可完成数据的读取;处理指令D1指示一组存储电路进行逻辑运算时,存储器可完成对应类型的逻辑运算。其中,数据的写入、擦除、读取以及逻辑运算可以以行为单位进行。
如图11所示,K行J列的共K*J个存储电路共同组成一个存储阵列100,在一种可能的实现方式中,在所述处理指令D1指示更新一组存储电路的存储状态、且一组存储电路是一行存储电路时,存储器800可根据处理指令D1和数据信号完成数据写入。
例如,存储阵列100的每一行可包括6个存储电路(J=6),需要写入一行存储电路的数据信号为“000110”,根据处理指令D1,控制电路40可确定需要写入数据到存储阵列100的第2行存储电路。在此情况下,控制电路40可控制写位线WBL_1-WBL_6分别接收6位数据中的1位,从而将6个第一输入信号V
WB输出到第2行存储电路,例如,在数据信号是“000110”时,输入到第2行存储电路的第1个到第3个存储电路的第一输入信号V
WB(分别通过存储电路的写位线WBL_1-WBL_3输入)可全部为第二电平(例如低电平),输入到第2行存储电路的第4个到第6个存储电路的第一输入信号V
WB(分别通过存储电路的写位线WBL_4-WBL_6输入)可分别为第一电平(例如高电平)、第一电平、第二电平。其中,以存储阵列100使用N型晶体管为例,第二电平可对应逻辑“0”,第一电平可对应逻辑“1”。同时,控制电路可输出控制信号控制第2行存储电路连接的写字线WWL_2的电平,以控制第2行存储电路中的写晶体管均导通,使得第一输入信号能够输入到每个存储电路。这样,第2行存储电路的存储状态可更新为“000110”,即,存储“0”“0”“0”“1”“1”“0”的数据。
在一种可能的实现方式中,在所述处理指令指示更新一组存储电路的存储状态、且一组存储电路是一行存储电路时,存储器800可根据处理指令D1和数据信号完成数据擦除。举例来说,处理器900可向控制电路40输出处理指令D1,并且向存储阵列100输出完成数据擦除需要的数据信号。控制电路40可确定需要擦除存储阵列100的某一行存储电路的数据。控制电路40可输出控制信号控制该行存储电路连接的写字线和写位线的电平以完成数据的擦除。
例如,控制电路40可确定需要擦除第2行存储电路的数据。在此情况下,控制电路40可输出控制信号到存储阵列100,根据控制信号以及数据信号,通过写位线输入到第2行存储电路的每个存储电路的第一输入信号可均为第二电平。同时,通过控制信号还可控制连接第2行存储电路的写字线WWL_2的电平,使得第2行存储电路中的写晶体管均导通,第二电平的第一输入信号能够输入到第2行存储电路的每个存储电路。这样,第2行存储电路就可以存储“0”、“0”、“0”、“0”、“0”、“0”的数据,即,第2行存储电路的存储状态更新为“000000”,从而完成第2行的存储电路的数据擦除。
在一种可能的实现方式中,多行存储电路的数据擦除也可以同时进行。根据控制信号,通过写位线输入到多行存储电路的每个存储电路的第一输入信号V
WB可均为第二电平,控制信号还可控制连接多行存储电路的多条写字线的电平,使多行存储电路中的写晶体管均导通,使得第二电平的第一输入信号能够输入到多行存储电路的每个存储电路。这样,多行存储电路中的每个存储电路的存储状态均更新为0,从而完成多行存储电路的数据擦除。
在一种可能的实现方式中,在所述处理指令D1指示读取一组存储电路的存储状态、且一组存储电路是一行存储电路时,存储器800可根据处理指令D1完成数据读取。举例来说,存储阵列100的每一行可包括6个存储电路(J=6),处理器900可向控制电路40输出处理指令D1,控制电路40可确定需要读取存储阵列100的第2行存储电路的数据。其中,第2行存储电路的存储状态为“000110”。控制电路40可输出控制信号控制该行存储电路连接的写字线,使得该行存储电路的写晶体管保持截止。使得在数据读取过程中,第2行存储电路的存储状态保持不变。
在此情况下,控制电路40可根据处理指令D1输出控制信号,可先控制第2行存储电路连接的读字线RWL_2和读位线RBL_1-RBL_J的电平为第二电平后,再控制读字线RWL_2的电平由第二电平变化为第一电平,读位线RBL_1-RBL_J为浮置状态。这样,第2行的每个存储电路的存储状态都将作为一个第二输出信号V
RW,通过该存储电路连接的一条读位线RBL_N(1≤N≤J且为整数)输出,J=6时,6个存储电路共有6个第二输出信号输出,可分别为“0”“0”“0”“1”“1”“0”,从而完成一行存储电路的存储状态读取。
在一种可能的实现方式中,在所述处理指令D1指示一组存储电路进行逻辑运算、且一组存储电路是一行存储电路时,存储器800可根据处理指令D1和数据信号完成对应类型的逻辑运算。可通过输入第二输入信号V
BG控制一行存储电路进行多位数据的逻辑运算,并通过读位线RBL_1-RBL_J输出逻辑运算结果。举例来说,在不需要存储阵列100工作时,可不向存储阵列100连接的K条读字线RWL_1-RWL_K和J条读位线RBL_1-RBL_J提供电平。在需要某一行存储电路进行逻辑运算时(例如,图11中第2行),处理器900可向控制电路40输出处理指令D1,并且向存储阵列100输出数据信号,在此情况下,处理指令D1指示一组存储电路进行逻辑运算。控制电路40可根据处理指令D1输出控制信号,控制该行存储电路连接的写字线,使得该行存储电路的写晶体管保持截止。使得在数据读取过程中,第2行存储电路的存储状态保持不变。根据控制信号,可控制第2行存储电路连接的读字线RWL_2和读位线RBL_1-RBL_J的电平为第二电平后,再控制读字线RWL_2的电平由第二电平变化为第一电平,读位线RBL_1-RBL_J为浮置状态。
根据处理指令指示的逻辑运算类型,控制电路可控制来自处理器的数据信号转换为与所述逻辑运算类型对应的一个第二输入信号,并可控制一行存储电路连接的一条数据线接收转换后的一个第二输入信号,在此情况下,第2行的每个存储电路进行相应类型的逻辑运算。第2行的每个存储电路完成的逻辑运算结果都将通过该存储电路连接的一条浮置的读位线RBL_N(1≤N≤J且为整数)输出,J个存储电路共有J个逻辑运算结果输出,从而完成存内逻辑运算。
例如,存储阵列100的第2行存储电路进行“非”逻辑运算,第二输入信号可以为V3(例如3V)。每个存储电路的存储状态(存储的数据)可能不同,例如,第2行的第2个存储电路的存储状态对应逻辑值可为“0”,第2行的第4个存储电路的存储状态对应逻辑值可为“1”,在此情况下,结合第二输入信号的值V3,对存储数据进行“非”逻辑运算,第2行的第2个存储电路输出的逻辑运算结果可为“1”,第2行的第4个存储电路输出的逻辑运算结果可为“0”。第2行存储电路进行逻辑运算,得到J个逻辑运算结果,可分别由每个存储电路连接的读位线RBL_N(1≤N≤J且为整数)输出。在一种可能的实现方式中,在控制电路40的控制下,J个逻辑运算结果可以以字符串的形式输出到处理器900或外部设备。处理器900可根据接收到的包括逻辑运算结果信息的字符串进行下一步的计算。
例如,第2行存储电路可包括6个存储电路,根据第2行存储电路的存储状态“000110”,第2行的第1个存储电路到第6个存储电路输出的“非”逻辑运算的运算结果可分别是“1”、“1”、“1”、“0”、“0”、“1”,基于此,输出到处理器900或外部设备的字符串的形式可以是“111001”。
上面仅以在输入一行存储电路的第二输入信号的电压值为第五电压值时,一行存储电路进行“非”逻辑运算的场景进行了描述。本领域技术人员应理解,在输入一行存储电路的第二输入信号的电压值为第一电压值和第二电压值其中一个时,一行存储电路可进行“与”逻辑运算;在输入一行存储电路的第二输入信号的电压值为第三电压值和第四电压值其中一个时,一行存储电路可进行“或”逻辑运算。其具体实现方式可参考“非”逻辑运算的场景的相应描述。
在一种可能的实现方式中,在控制电路40的控制下,存储阵列100的逻辑运算结果也可以写回到存储阵列100中的第2行存储电路之外的其他行的存储电路(例如,第3行存储电路)。其中,存储阵列100还可连接外围电路,外围电路可以根据用于将逻辑运算结果写回的控制信号,将输出逻辑运算结果的输出端和写回逻辑运算结果的输入端连通,例如,当用于写回的控制信号输出到外围电路时,外围电路根据控制信号能够使得第3行存储电路的写位线输入信号与第2行存储电路的读位线输出的运算结果的逻辑值相同。例如,运算结果分别是“1”、“1”、“1”、“0”、“0”、“1”时,使得输入到第3行存储电路的第1个到第6个存储电路的第一输入信号分别为第一电平、第一电平、第一电平、第二电平、第二电平、第一电平。这样,第3行存储电路就可以存储“1”、“1”、“1”、“0”、“0”、“1”的数据,第3行存储电路的存储状态更新为“111001”。
通过这种方式,可以以行为单位实现数据写入、数据擦除、数据读取以及数据逻辑运算的功能。
在一种可能的实现方式中,在同一行的存储电路连接相同的读字线RWL、数据线BRBL和写位线WBL,同一列的存储电路连接相同的写字线WWL和读位线RBL时,不同行的存储电路可连接不同的读字线RWL、数据线BRBL和写位线WBL,不同列的存储电路可连接不同的写字线WWL和读位线RBL。同一行的存储电路可输入相同的第二输入信号V
BG,不同行的存储电路20输入的第二输入信号V
BG相同或不同。在此情况下,在存储阵列100中,数据的写入、擦除以及逻辑运算可以以列为单位进行。
在一种可能的实现方式中,在所述处理指令D1指示更新一组存储电路的存储状态、且一组存储电路是一列存储电路时,存储器800可根据处理指令D1和数据信号完成数据写入。
例如,存储阵列100的每一列可包括6个存储电路(K=6),需要写入存储电路的数据信号为“000110”,根据处理指令D1,控制电路40可确定需要写入数据到第2列存储电路。在此情况下,控制电路40可控制写位线WBL_1-WBL_6依次接收6位数据中的1位,使得6个第一输入信号输入到第2列存储电路,例如,在数据信号是“000110”时,输入到第2列存储电路的第1个到第3个存储电路的第一输入信号可全部为第二电平,输出到第2列存储电路的第4个到第6个存储电路的第一输入信号可分别为第一电平、第一电平、第二电平。其中,以存储阵列40使用N型晶体管为例,第二电平可对应逻辑“0”,第一电平可对应逻辑“1”。同时,控制电路40可输出控制信号控制第2列存储电路连接的写字线WWL_2的电平,以使第2列存储电路中的写晶体管均导通,在此情况下,第一输入信号能够通过写晶体管输入到每个存储电路。这样,第2列存储电路的存储状态可更新为“000110”,即,存储“0”“0”“0”“1”“1”“0”的数据。
在一种可能的实现方式中,在所述处理指令D1指示更新一组存储电路的存储状态、且一组存储电路是一列存储电路时,存储器800可根据处理指令D1和数据信号完成数据擦除。举例来说,根据处理指令,处理器900可向控制电路40输出处理指令D1,并且向存储阵列100输出完成数据擦除需要的数据信号。控制电路40可确定需要擦除存储阵列100的某一列存储电路的数据。控制电路40可控制该列存储电路连接的写字线和写位线输入到存储阵列100的信号的电平以完成数据的擦除。
例如,控制电路可确定需要擦除第2列存储电路的数据。在此情况下,控制电路40可输出控制信号到存储阵列100,根据控制信号以及数据信号,通过写位线输入到第2列存储电路的每个存储电路的第一输入信号可均为第二电平。同时,控制信号还可控制连接第2列存储电路的写字线WWL_2的电平,以控制第2列存储电路中的写晶体管均导通,使得第二电平的第一输入信号能够输入到第2列存储电路的每个存储电路。这样,第2列存储电路就可以存储“0”、“0”、“0”、“0”、“0”、“0”的数据,即,第2列存储电路的存储状态更新为“000000”,从而完成第2列的存储电路的数据擦除。
在一种可能的实现方式中,多列存储电路的数据擦除也可以同时进行。根据控制信号,通过写位线输入到多列存储电路的每个存储电路的第一输入信号V
WB可均为第二电平,控制信号还可控制连接多列存储电路的多条写字线的电平,使多列存储电路中的写晶体管均导通,使得第二电平的第一输入信号能够输入到多列存储电路的每个存储电路。这样,多列存储电路中的每个存储电路的存储状态均更新为0,从而完成多列存储电路的数据擦除。
在一种可能的实现方式中,在所述处理指令D1指示读取一组存储电路的存储状态、且一组存储电路是一列存储电路时,存储器800可根据处理指令D1完成数据读取。举例来说,存储阵列100的每一列可包括4个存储电路(K=4),处理器900可向控制电路40输出处理指令D1,控制电路40可确定需要读取存储阵列100的第2列 存储电路的数据。其中,第2列存储电路的存储状态为“0101”。控制电路40可输出控制信号控制该列存储电路连接的写字线,使得该列存储电路的写晶体管保持截止。使得在数据读取过程中,第2列存储电路的存储状态保持不变。
在此情况下,控制电路40可根据处理指令D1输出控制信号,可先控制第2列存储电路连接的读字线RWL_1-RWL_K和读位线RBL_2的电平为第二电平后,再控制读位线RBL_2的电平由第二电平变化为第一电平,读字线RWL_1-RWL_K为浮置状态。这样,第2列的每个存储电路的存储状态都将作为一个第二输出信号,通过该存储电路连接的一条读字线RWL_N(1≤N≤K且为整数)输出,K=4时,4个存储电路共有4个第二输出信号输出,可分别为“0”“1”“0”“1”,从而完成一列存储电路的存储状态读取。
在一种可能的实现方式中,在所述处理指令指示一组存储电路进行逻辑运算、且一组存储电路是一列存储电路时,存储器800可根据处理指令D1和数据信号完成对应类型的逻辑运算。
举例来说,在需要某一列存储电路进行逻辑运算时,处理器900可向控制电路40输出处理指令D1,并且向存储阵列输出数据信号。在此情况下,处理指令D1指示一组存储电路进行逻辑运算。此时,数据信号可包括输入到存储阵列100的多个第二输入信号V
BG的数据信息。控制电路40可根据处理指令D1输出控制信号,控制该列存储电路连接的写字线,使得该列存储电路的写晶体管保持截止。使得在数据读取过程中,第2列存储电路的存储状态保持不变。根据控制信号,可控制第2列存储电路连接的读位线RBL_2和读字线RWL_1-RWL_K的电平为第二电平后,再控制读位线RBL_2的电平由第二电平变化为第一电平,读字线RWL_1-RWL_K浮置。
根据处理指令D1指示的逻辑运算类型,控制电路可控制来自处理器的数据信号转换为与所述逻辑运算类型对应的多个第二输入信号,并可控制一列存储电路连接的多条数据线接收转换后的多个第二输入信号,在此情况下,第2列的每个存储电路进行相应类型的逻辑运算。第2列的每个存储电路完成的逻辑运算结果(第一电平或第二电平)都将通过该存储电路连接的一条浮置的读字线RWL_n(1≤n≤K且为整数)输出,K个存储电路共有K个逻辑运算结果输出,从而完成存内逻辑运算。
例如,存储阵列100的第2列存储电路进行“与”逻辑运算,K个第二输入信号可以均为V1。每个存储电路的存储状态(存储的数据)可能不同,例如,第2列的第1个存储电路的存储状态可以为“0”,在此情况下,结合第二输入信号的值V1(逻辑1),第2列的第1个存储电路输出的逻辑运算结果可为“0”。第2列存储电路进行逻辑运算,得到K个逻辑运算结果,可分别由每个存储电路连接的读字线RWL_n(1≤n≤K且为整数)输出。在一种可能的实现方式中,在控制电路40的控制下,K个逻辑运算结果可以以字符串的形式输出到处理器900或外部设备。处理器900可根据接收到的包括逻辑运算结果信息的字符串进行下一步的计算。
例如,在K=4时,第2列存储电路可包括4个存储电路,存储状态可以为“0101”,由上文描述可知,第2列的第1个存储电路到第4个存储电路输出的与第二输入信号(逻辑1)进行“与”逻辑运算的逻辑运算结果可分别是“0”、“1”、“0”、“1”,基于此,输出到处理器900或外部设备的字符串的形式可以是“0101”。
在一种可能的实现方式中,K个第二输入信号还可以由需要进行逻辑运算的二进制数值确定。在一种可能的应用场景中,需要第2列存储电路的存储的数据A与另一个二进制数B进行“或”逻辑运算,举例来说,A可以为“0101”,B可以为“0010”,在此情况下,输入到第2列的第1个到第4个存储电路的4个第二输入信号的电压值可分别是V0'、V0'、V1'、V0',对应逻辑值“0”、“0”、“1”、“0”。
在一种可能的实现方式中,第2列存储电路进行“或”逻辑运算,得到4个逻辑运算结果,可分别由每个存储电路连接的读字线RWL_n(1≤n≤4且为整数)输出。
由上文描述可知,第2列的第1个存储电路到第4个存储电路输出的与第二输入信号V
BG进行“或”逻辑运算的逻辑运算结果可分别是“0”、“1”、“1”、“1”,基于此,输出到处理器900或外部设备的字符串的形式可以是“0111”。
上面仅以在输入一列存储电路的第二输入信号的电压值为第一电压值时,一列存储电路进行“与”逻辑运算的场景,以及输入一列存储电路的第二输入信号的电压值为第三电压值和第四电压值时,一列存储电路进行“或”逻辑运算的场景进行了描述。本领域技术人员应理解,在输入一列存储电路的第二输入信号的电压值为第二电压值时,一列存储电路可进行“与”逻辑运算;在输入一列存储电路的第二输入信号的电压值为第五电压值时,一列存储电路可进行“非”逻辑运算。其具体实现方式可参考“与”逻辑运算和“或”逻辑运算的场景的相应描述。
在一种可能的实现方式中,在控制电路40的控制下,存储阵列100的逻辑运算结果也可以写回到存储阵列中的第2列存储电路之外的其他列的存储电路(例如,第3列存储电路)。其中,存储阵列100还可连接外围电路,控制信号可例如输出到外围电路,外围电路根据控制信号能够使得第3列存储电路的写位线输入的第一输入信号与第2列存储电路的读字线输出的逻辑运算结果相对应。例如,运算结果分别是“0”、“1”、“1”、“1”时,使得输入到第3列存储电路的第1个到第4个存储电路的第一输入信号应分别为第二电平、第一电平、第一电平、第一电平。这样,第3列存储电路就可以存储“0”、“1”、“1”、“1”的数据,第3列存储电路的存储状态更新为“0111”。
通过这种方式,可以以列为单位实现数据写入、数据擦除、数据读取以及数据逻辑运算的功能,使得存储阵列的设置方式更为灵活。并且,在此情况下,存储阵列进行逻辑运算时,一列的每一个存储电路接收的第二输入信号可以不同,能够完成更加复杂的存内计算。
下面结合图12介绍根据本实施例的存储器800完成以列为单位的存内逻辑运算的一个应用场景。
如图12所示,终端设备可包括处理器900以及存储器800,其中,处理器900需要存储阵列100对其第2列存储电路中存储的数据A以及一个二进制数B进行“(A∧B)∨B”的逻辑运算。
在此情况下,处理器900可发出处理指令D1到存储器800中的控制电路40,处理指令D1可例如包括逻辑运算过程的信息(例如包括逻辑运算的类型、运算周期、需要进行运算的数据在存储器中的位置等),也可以包括数据存储、读取或擦除过程的信息(例如需存储的数据在存储器中的目标位置、需读取或擦除的数据在存储器中 的位置等)。以存储阵列100获得一次逻辑运算结果视为完成一个运算周期为例,根据用于逻辑运算的处理指令D1,控制电路40可以将处理指令D1转换为逻辑运算需要的各运算周期中,控制电路需要输出的控制信号,控制信号输出到存储阵列100连接的写字线、写位线、读字线、读位线、数据线中的至少一个,用于在逻辑运算过程中控制写字线、写位线、读字线、读位线、数据线中的至少一个输出的电平。控制电路可按照转换的结果,向存储阵列100输出控制信号,使得存储电路能够完成逻辑运算,并可输出逻辑运算结果到处理器900或外部设备,或者将逻辑运算结果写回存储阵列100内部。同时,处理器900可通过数据线BRBL输出K个第二输入信号到存储器800的存储阵列100,其中,K个第二输入信号的电压值可例如对应“与”逻辑运算类型的逻辑值,并且对应二进制数B的每一位数值。
举例来说,处理指令D1可指示仅需要存储阵列100完成A∧B的逻辑运算过程,再根据A∧B的结果,自己完成(A∧B)∨B的计算。根据处理指令D1,逻辑运算可在一个运算周期内完成,控制电路40可将处理指令D1转换为该运算周期中,控制电路需要输出给存储阵列100的控制信号。
在一种可能的实现方式中,第2列存储电路中存储有数据A,根据处理指令D1,控制电路40可控制连接第2列存储电路的写字线的电平,以使第2列存储电路的写晶体管截止,使得第2列存储电路的存储状态在运算过程中保持不变。根据处理指令D1,控制电路40还可控制连接存储阵列100的读位线与读字线的电平,例如,可控制第2列存储电路的连接的读字线RWL_1-RWL_K的电平使得第2列存储电路的每个读晶体管的第一极均预充至第二电平并浮置,可控制第2列存储电路的连接的读位线RBL_2的电平使得每个读晶体管的第二极能够保持第一电平。并且,控制电路40还可控制连接第2列存储电路之外的其他存储电路的读位线等浮置。这样,第2列存储电路之外的其他存储电路不参与逻辑运算,不会影响到第2列存储电路的逻辑运算结果。
在此情况下,存储器800的存储阵列100能够基于处理器900输入的第二输入信号完成一次逻辑运算,根据逻辑运算的结果,可以生成一个指示第2列的存储电路的逻辑运算结果的第一字符串(例如,A∧B),运算周期结束。
在一种可能的实现方式中,根据处理指令D1的指示,第一字符串可以输出到处理器900中,在输出第一字符串后,控制电路40可控制存储阵列100连接的读字线等浮置,在控制电路40接收到新的处理指令时,再输出控制信号调整相应的读字线、写字线等的电平。(A∧B)∨B的计算可由处理器900完成。
在另一种可能的实现方式中,举例来说,处理指令D1还可指示存储阵列需要完成(A∧B)∨B的逻辑运算过程。根据处理指令D1,控制电路40可分析确定逻辑运算可在两个运算周期内完成。其中,第一个运算周期完成时存储阵列100可计算获得A∧B的逻辑运算结果,第二个运算周期完成时存储阵列100可计算获得(A∧B)∨B的逻辑运算结果。
举例来说,根据处理指令D1的指示A∧B的逻辑运算结果可以由通过数据写入操作写回存储阵列100中的第2列存储电路之外的任意一列,例如,第3列存储电路,控制电路40可输出控制信号控制存储阵列100基于新写入的数据继续完成(A∧B)∨B的逻辑运算。
在一种可能的实现方式中,处理指令D1还可指示控制电路40在第一个运算周期结束后继续工作,举例来说,控制电路40可输出控制信号控制连接第3列存储电路的写字线的电平,以使第3列存储电路的写晶体管截止,使得第3列存储电路的存储状态在运算过程中保持不变,即保持存储A∧B的逻辑运算结果。
在一种可能的实现方式中,根据处理指令D1,控制电路40还可控制连接存储阵列100的读位线与读字线的电平,例如,可控制第3列存储电路的连接的读字线RWL_1-RWL_K的电平使得第3列存储电路的每个读晶体管的第一极均预充至低电平并浮置,可控制第3列存储电路的连接的读位线RBL_3的电平使得每个读晶体管的第二极能够保持高电平。并且,控制电路40还可控制连接第3列存储电路之外的其他存储电路的读位线等浮置。这样,第3列存储电路之外的其他存储电路不参与逻辑运算,不会影响到第3列存储电路的逻辑运算结果。
在此情况下,存储器800的存储阵列100能够基于处理器900输入的第二输入信号完成一次逻辑运算,根据逻辑运算的结果,可以生成一个指示第3列的存储电路的逻辑运算结果的第二字符串(例如,(A∧B)∨B),第二个运算周期结束。
在一种可能的实现方式中,根据处理指令D1的指示,第二字符串可以输出到处理器900中,在输出第二字符串后,控制电路40可控制存储阵列100连接的读字线等浮置,在控制电路100接收到新的处理指令时,再输出控制信号调整相应的读字线、写字线等的电平。处理器900可根据第二字符串进行其他运算。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (22)
- 一种存储电路,其特征在于,包括写晶体管以及读晶体管,所述写晶体管用于接收第一输入信号,并根据所述第一输入信号更新所述存储电路的存储状态;所述读晶体管包括背栅,用于接收第二输入信号,所述读晶体管用于根据所述第二输入信号以及所述存储状态进行逻辑运算,并输出表示逻辑运算结果的第一输出信号。
- 根据权利要求1所述的存储电路,其特征在于,所述第二输入信号的不同电压值或者所述第二输入信号的电压值的不同组合,对应于不同的逻辑运算类型。
- 根据权利要求1所述的存储电路,其特征在于,所述读晶体管还用于,在未接收到所述第二输入信号时,输出表示所述存储状态的第二输出信号。
- 根据权利要求1-3中任意一项所述的存储电路,其特征在于,所述写晶体管的栅极连接写字线,第一极连接写位线,第二极连接所述读晶体管的顶栅;所述读晶体管的第一极连接读字线,第二极连接读位线,所述读晶体管的背栅连接数据线,其中,所述写字线用于选通所述写晶体管以便输入所述第一输入信号到所述写晶体管,所述数据线用于输入所述第二输入信号到所述读晶体管的背栅,使得所述读晶体管输出表示逻辑运算结果的第一输出信号到所述读位线或所述读字线,所述读晶体管用于,在未接收到所述第二输入信号时,输出表示所述存储状态的第二输出信号到所述读位线或所述读字线。
- 根据权利要求1-4中任意一项所述的存储电路,其特征在于,所述存储电路还包括电容,所述电容的一侧极板连接所述写晶体管的第二极和所述读晶体管的顶栅,所述电容的另一侧极板连接地GND。
- 根据权利要求1-5中任意一项所述的存储电路,其特征在于,在所述背栅未接收到所述第二输入信号时,所述读晶体管的第一极保持第一电平,所述读晶体管的第二极预充至第二电平并浮置,通过第二极输出表示存储状态的第二输出信号,或者所述读晶体管的第二极保持第一电平,所述读晶体管的第一极预充至第二电平并浮置,通过第一极输出表示存储状态的第二输出信号。
- 根据权利要求2所述的存储电路,其特征在于,所述存储电路进行与逻辑运算时,所述第二输入信号的电压值为表示逻辑1的第一电压值和表示逻辑0的第二电压值其中之一,所述第一电压值使得,所述读晶体管顶栅电压为高电平时,读晶体管导通,所述顶栅电压为低电平时,读晶体管截止;所述第二电压值使得,无论所述顶栅电压为高电平还是低电平,所述读晶体管均截止。
- 根据权利要求2所述的存储电路,其特征在于,所述存储电路进行或逻辑运算 时,所述第二输入信号的电压值为表示逻辑1的第三电压值和表示逻辑0的第四电压值其中之一,所述第三电压值使得无论顶栅电压为高电平还是低电平,读晶体管均导通;所述第四电压值使得读晶体管顶栅电压为高电平时,读晶体管导通,顶栅电压为低电平时,读晶体管截止。
- 根据权利要求2所述的存储电路,其特征在于,所述存储电路进行非逻辑运算时,所述第二输入信号的电压值为第五电压值,所述第五电压值使得顶栅电压为高电平时,读晶体管截止,顶栅电压为低电平时,读晶体管导通。
- 根据权利要求1-9中任一项所述存储电路,其特征在于,在逻辑运算中:所述读晶体管的第一极保持第一电平,所述读晶体管的第二极预充至第二电平并浮置,通过第二极输出表示逻辑运算结果的第一输出信号,或者所述读晶体管的第二极保持第一电平,所述读晶体管的第一极预充至第二电平并浮置,通过第一极输出表示逻辑运算结果的第一输出信号。
- 根据权利要求1-10中任意一项所述的存储电路,其特征在于,所述写晶体管的第二极或所述读晶体管的顶栅还用于输出表示存储状态的第二输出信号。
- 根据权利要求1-11中任意一项所述的存储电路,其特征在于,所述读晶体管是薄膜晶体管TFT。
- 根据权利要求4-6、10-12中任一项所述的存储电路,其特征在于,所述读晶体管的第一极是源极或者漏极其中之一、所述读晶体管的第二极是源极或者漏极中的另一个。
- 一种存储器,其特征在于,包括存储阵列,包括多个根据权利要求1-13中任意一项所述的存储电路。
- 根据权利要求14所述的存储器,其特征在于,所述存储器连接多条写字线、多条写位线、多条读字线、多条读位线以及多条数据线;所述存储阵列中,同一行的存储电路连接相同的写字线、读字线和数据线,同一列的存储电路连接相同的写位线和读位线,或者同一行的存储电路连接相同的读字线、数据线和写位线,同一列的存储电路连接相同的写字线和读位线。
- 根据权利要求14或15所述的存储器,其特征在于,所述存储器还包括控制电路,所述控制电路连接所述存储阵列,用于根据接收到的处理指令输出控制信号至所述写字线、所述写位线、所述读字线、所述读位线以及所述数据线中的至少一个;所述控制电路还用于根据接收到的处理指令控制写位线接收来自处理器的数据信号,或者,用于根据接收到的处理指令控制数据线接收来自处理器的数据信号。
- 根据权利要求16所述的存储器,其特征在于,在所述处理指令指示更新一组存储电路的存储状态时,所述控制电路用于:根据所述处理指令输出控制信号至一组存储电路的写字线,以控制所述一组存储电路的写晶体管导通,所述一组存储电路包括至少一行存储电路,或者至少一列存储 电路;根据所述处理指令控制来自处理器的数据信号转换为一个或多个第一输入信号,并控制连接所述一组存储电路的一条或多条写位线分别接收所述一个或多个第一输入信号。
- 根据权利要求16所述的存储器,其特征在于,在所述处理指令指示一组存储电路进行逻辑运算时,所述控制电路用于:根据所述处理指令输出控制信号至所述一组存储电路连接的写字线,以控制所述一组存储电路的写晶体管截止,所述一组存储电路包括至少一行存储电路,或者至少一列存储电路;根据所述处理指令输出控制信号至所述一组存储电路连接的读字线和读位线,以控制所述一组存储电路的读晶体管的第一极保持第一电平,以及控制所述一组存储电路的读晶体管的第二极预充至第二电平并浮置,或者,根据所述处理指令输出控制信号至所述一组存储电路连接的读字线和读位线,以控制所述一组存储电路的读晶体管的第二极保持第一电平,以及控制所述一组存储电路的读晶体管的第一极预充至第二电平并浮置;根据处理指令指示的逻辑运算类型,控制来自处理器的数据信号转换为与所述逻辑运算类型对应的一个或多个第二输入信号;控制所述一组存储电路连接的一条或多条数据线接收转换后的一个或多个第二输入信号,以通过浮置的所述第二极或浮置的所述第一极输出表示逻辑运算结果的第一输出信号。
- 根据权利要求16所述的存储器,其特征在于,在所述处理指令指示读取一组存储电路的存储状态时,所述控制电路用于:根据所述处理指令输出控制信号至所述一组存储电路连接的写字线,以控制所述一组存储电路的写晶体管截止,所述一组存储电路包括至少一行存储电路,或者至少一列存储电路;根据所述处理指令输出控制信号至所述一组存储电路连接的读字线和读位线,以控制所述读晶体管的第一极保持第一电平,所述读晶体管的第二极预充至第二电平并浮置,以通过第二极输出表示存储状态的第二输出信号,或者所述读晶体管的第二极保持第一电平,所述读晶体管的第一极预充至第二电平并浮置,以通过第一极输出表示存储状态的第二输出信号。
- 根据权利要求18所述的存储器,其特征在于,所述处理指令指示与逻辑运算类型时,每个第二输入信号的电压值对应第一电压值和第二电压值其中之一。
- 根据权利要求18所述的存储器,其特征在于,所述处理指令指示或逻辑运算类型时,每个第二输入信号的电压值对应第三电压值和第四电压值其中之一。
- 根据权利要求18所述的存储器,其特征在于,所述处理指令指示非逻辑运算类型时,每个第二输入信号的电压值对应第五电压值。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/075855 WO2022165808A1 (zh) | 2021-02-07 | 2021-02-07 | 存储电路及存储器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116547755A true CN116547755A (zh) | 2023-08-04 |
Family
ID=82741940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180076669.7A Pending CN116547755A (zh) | 2021-02-07 | 2021-02-07 | 存储电路及存储器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116547755A (zh) |
WO (1) | WO2022165808A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2736044B1 (en) * | 2012-11-22 | 2017-11-15 | Technische Universität Wien | Rram implication logic gates |
CN111033438B (zh) * | 2017-09-06 | 2023-12-05 | 株式会社半导体能源研究所 | 运算装置及电子设备 |
US11037622B2 (en) * | 2017-11-24 | 2021-06-15 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and dynamic logic circuit |
US10418079B1 (en) * | 2018-03-26 | 2019-09-17 | Oracle International Corporation | Register file bit cells with integrated multiplexer |
CN111126579B (zh) * | 2019-11-05 | 2023-06-27 | 复旦大学 | 一种适用于二值卷积神经网络计算的存内计算装置 |
CN111045954B (zh) * | 2019-11-29 | 2023-08-08 | 北京航空航天大学青岛研究院 | 基于nand-spin的存内计算加速方法 |
-
2021
- 2021-02-07 WO PCT/CN2021/075855 patent/WO2022165808A1/zh active Application Filing
- 2021-02-07 CN CN202180076669.7A patent/CN116547755A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022165808A1 (zh) | 2022-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10170192B2 (en) | Nonvolatile memory device | |
JPS6032918B2 (ja) | 不揮発性半導体メモリ・システム | |
US9082486B2 (en) | Row decoding circuit and memory | |
CN110007895B (zh) | 一种模拟乘法电路、模拟乘法方法及其应用 | |
TWI716215B (zh) | 近記憶體計算系統及非揮發性記憶體單元 | |
JP3118239B2 (ja) | 半導体記憶装置 | |
JP3204119B2 (ja) | 不揮発性半導体メモリおよびそのデータ書込方法 | |
TWI699711B (zh) | 記憶體裝置及其製造方法 | |
US4374430A (en) | Semiconductor PROM device | |
TWI435325B (zh) | 具有和儲存電容器串聯之互補式金氧半導體相容非依電性儲存元件的隨機存取記憶體 | |
JPH0845280A (ja) | 不揮発性半導体記憶装置 | |
CN110543937A (zh) | 神经网络及操作方法、神经网络信息处理系统 | |
KR20190052548A (ko) | 비휘발성 메모리 장치 | |
CN115249502A (zh) | Nor闪存阵列及其数据写入方法、读取方法及擦除方法 | |
JP3983940B2 (ja) | 不揮発性半導体メモリ | |
CN116547755A (zh) | 存储电路及存储器 | |
US7376033B2 (en) | Semiconductor device and programming method therefor | |
CN113707200B (zh) | 存储器及其读、写、擦除方法 | |
CN112017701B (zh) | 阈值电压调整装置和阈值电压调整方法 | |
JP3400214B2 (ja) | 不揮発性半導体記憶装置 | |
JPH10275484A (ja) | 不揮発性半導体記憶装置 | |
US7773425B2 (en) | Nonvolatile semiconductor memory, method for reading the same, and microprocessor | |
CN111243648A (zh) | 闪存单元、闪存模块以及闪存芯片 | |
JP2001035173A (ja) | フラッシュメモリ装置及びそれのプログラム方法 | |
US20240005977A1 (en) | Compute-in-memory devices, neural network accelerators, and electronic devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |