具有累积写入特征的存储方法、存储器和存储系统转让专利

申请号 : CN201110079022.8

文献号 : CN102280138B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郝亨福

申请人 : 西安华芯半导体有限公司

摘要 :

本发明提供一种具有累积写入特征的存储方法、存储器及存储系统,其将或运算、与运算从CPU/ALU(控制器)转移至存储器内,可减少数据传输线读写转换次数。本发明的一种存储器的接口单元包括写入运算指令接口、写入指令接口、地址指令接口;所述写入运算指令接口包括“写入_或”指令接口和/或“写入_与”指令接口;所述指令/地址-译码器用于写入运算指令、写入指令、地址指令的解码;所述p场效应晶体管的驱动能力大于数据开关的驱动能力,所述n场效应晶体管的驱动能力小于数据开关的驱动能力。本发明可减少CPU/ALU的工作负荷(负载);可连续将数据写入至存储器(无需先读取)。

权利要求 :

1.一种具有累积写入特征的存储方法,其特征在于:包括以下步骤:

1】在控制器或CPU与存储器之间设置标准的指令接口,从而控制器或CPU能够向存储器发出写入指令、地址指令以及写入运算指令;所述写入运算指令包括“写入_或”指令和/或“写入_与”指令;

2】在存储器内使用指令/地址-译码器对写入指令、地址指令以及写入运算指令进行解码;

3】当解码“写入_或”指令后,接通地址指令相应存储单元的互补数据开关的“写入_或”数据开关,数据传输线写入的数据可将交叉耦合反相器内的正相数据从0切换至1,但不能从1切换至0;当解码“写入_与”指令后,接通地址指令相应存储单元的互补数据开关的“写入_与”数据开关,数据传输线写入的数据可将交叉耦合反相器内的正相数据从1切换至0,但不能从0切换至1;当解码写入指令后,接通地址指令相应的存储单元的两个互补数据开关,数据传输线写入的数据可将交叉耦合反相器内的数据双向切换,所述存储单元包括两个互补数据开关、两个交叉耦合反相器,所述两个互补数据开关包括“写入_与”数据开关和“写入_或”数据开关。

2.根据权利要求1所述的具有累积写入特征的存储方法,其特征在于:所述存储单元为SRAM单元、DRAM单元或FLASH单元。

3.一种具有累积写入特征的存储器,包括接口单元、指令/地址-译码器、多个存储单元、数据传输线,所述数据传输线包括正相数据传输线和反相数据传输线,所述存储单元包括两个互补数据开关、两个交叉耦合反相器;所述反相器包括p场效应晶体管和n场效应晶体管;所述指令/地址-译码器的输出端分别与两个互补数据开关相连;所述两个互补数据开关分别连接正相数据传输线和正相数据、反相数据传输线和反相数据;

其特征在于:

所述接口单元包括写入运算指令接口、写入指令接口、地址指令接口;所述写入运算指令接口包括“写入_或”指令接口和/或“写入_与”指令接口;所述指令/地址-译码器用于写入运算指令、写入指令、地址指令的解码;

所述p场效应晶体管的驱动能力大于数据开关的驱动能力,所述n场效应晶体管的驱动能力小于数据开关的驱动能力,当指令/地址-译码器“写入_或”指令时,将接通两个互补数据开关中的一个“写入_或”数据开关,指令/地址-译码器“写入_与”指令时,将接通两个互补数据开关中的一个“写入_与”数据开关,指令/地址-译码器“写入”指令时,将同时接通两个互补数据开关。

4.根据权利要求3所述的具有累积写入特征的存储器,其特征在于:所述存储单元为SRAM单元、DRAM单元或FLASH单元。

5.一种具有累积写入特征的存储器,包括接口单元、指令/地址-译码器、多个存储单元、数据传输线,所述数据传输线包括正相数据传输线和反相数据传输线,所述存储单元包括两个互补数据开关、两个交叉耦合反相器;所述反相器包括p场效应晶体管和n场效应晶体管;所述指令/地址-译码器的输出端分别与两个互补数据开关相连;所述两个互补数据开关分别连接正相数据传输线和正相数据、反相数据传输线和反相数据;

其特征在于:

所述接口单元包括写入运算指令接口、写入指令接口、地址指令接口;所述写入运算指令接口包括“写入_或”指令接口和/或“写入_与”指令接口;所述指令/地址-译码器用于写入运算指令、写入指令、地址指令的解码;

所述p场效应晶体管的驱动能力小于数据开关的驱动能力,所述n场效应晶体管的驱动能力大于数据开关的驱动能力,指令/地址-译码器“写入_或”指令时,将接通两个互补数据开关中的一个“写入_或”数据开关,指令/地址-译码器“写入_与”指令时,将接通两个互补数据开关中的一个“写入_与”数据开关,指令/地址-译码器“写入”指令时,将同时接通两个互补数据开关。

6.根据权利要求5所述的具有累积写入特征的存储器,其特征在于:所述存储单元为SRAM单元、DRAM单元或FLASH单元。

7.一种具有累积写入特征的存储系统,包括存储器控制器或CPU、指令/地址-译码器、数据传输线、多个缓存器、多个存储单元,所述数据传输线包括正相数据传输线和反相数据传输线,所述存储单元包括两个互补数据开关、两个交叉耦合反相器;所述反相器包括p场效应晶体管和n场效应晶体管;所述指令/地址-译码器的输出端分别与两个互补数据开关相连;所述两个互补数据开关分别连接正相数据传输线和正相数据、反相数据传输线和反相数据;

其特征在于:

所述控制器用于向指令/地址-译码器发出写入运算指令、写入指令、地址指令;所述写入运算指令包括“写入_或”指令和/或“写入_与”指令;

所述指令/地址-译码器用于写入运算指令、写入指令、地址指令的解码;

所述p场效应晶体管的驱动能力大于数据开关的驱动能力,所述n场效应晶体管的驱动能力小于数据开关的驱动能力,指令/地址-译码器“写入_或”指令时,将接通两个互补数据开关中的一个“写入_或”数据开关,指令/地址-译码器“写入_与”指令时,将接通两个互补数据开关中的一个“写入_与”数据开关,指令/地址-译码器“写入”指令时,将同时接通两个互补数据开关。

8.根据权利要求7所述的具有累积写入特征的存储系统,其特征在于:所述存储单元为SRAM单元、DRAM单元或FLASH单元。

9.一种具有累积写入特征的存储系统,包括存储器控制器或CPU、指令/地址-译码器、数据传输线、多个缓存器、多个存储单元,所述数据传输线包括正相数据传输线和反相数据传输线,所述存储单元包括两个互补数据开关、两个交叉耦合反相器;所述反相器包括p场效应晶体管和n场效应晶体管;所述指令/地址-译码器的输出端分别与两个互补数据开关相连;所述两个互补数据开关分别连接正相数据传输线和正相数据、反相数据传输线和反相数据;

其特征在于:

所述控制器用于向指令/地址-译码器发出写入运算指令、写入指令、地址指令;所述写入运算指令包括“写入_或”指令和/或“写入_与”指令;

所述指令/地址-译码器用于写入运算指令、写入指令、地址指令的解码;

所述p场效应晶体管的驱动能力小于数据开关的驱动能力,所述n场效应晶体管的驱动能力大于数据开关的驱动能力,指令/地址-译码器“写入_或”指令时,将接通两个互补数据开关中的一个“写入_或”数据开关,指令/地址-译码器“写入_与”指令时,将接通两个互补数据开关中的一个“写入_与”数据开关,指令/地址-译码器“写入”指令时,将同时接通两个互补数据开关。

10.根据权利要求9所述的具有累积写入特征的存储系统,其特征在于:所述存储单元为SRAM单元、DRAM单元或FLASH单元。

说明书 :

具有累积写入特征的存储方法、存储器和存储系统

技术领域

[0001] 本发明涉及一种用于电子设备中数据存储方法及相应的存储器和存储系统。

背景技术

[0002] 动态随机存储器(DRAM)、静态随机存储器(SRAM),快闪存储器(Flash)等不同类型的存储器已经应用于几乎所有现代电子设备(计算机、手机、路由器、机顶盒、打印机、全球定位系统(GPS)等等)中。这些存储器可用来存储及检索二进制数字数据,并通过自身系统不同部分(如:中央处理器(CPU))对这些数据进行处理。
[0003] 对于存储器的写入来说,存储器会给出地址及写入指令。在给出写入指令的同时或之后,将会给出数据,这些数据将会随之写入被选地址的存储单元(根据所用存储设备的类型,会以单个周期形式在单引脚或并行多引脚上传送数据;或以多个周期中的脉冲串的形式传送数据)。
[0004] 写入指令将会无条件地覆盖之前存储于相同地址内的数据。
[0005] 对于存储器的读出来说,地址及读出指令会提供给存储器。在特定延时后(检索数据所需的时间),存储器将会输出数据(以单周期或以多个周期中的脉冲串形式传送数据),并且控制器或CPU将锁存或处理这些数据。
[0006] 存储器通常会作为系统的从设备运转。即存储器执行被授予的指令(地址及指令均为单向型,即从控制器/CPU至存储器)。不同的是,数据传输线为双向型,即存储器可接收数据(写入时)和发送数据(读取时)。
[0007] 为使系统的总体速度达到最大化,通过单个存储器/多个存储器实现的数据吞吐量是关键因素。只有执行写入指令后,数据才可从控制器单向流至存储器。控制器内的先入先出(FIFO)步骤可以减少地址/指令与数据之间的延时/等待期。这样才有可能通过数据传输线连续输出数据(可能出现最大数据速率)。
[0008] 同样的原理也适用于只包含读取指令的序列。数据从控制器/CPU单向流至存储器。通过持续使用数据传输线(发送连续序列的地址/指令,从而连续输出数据)可再次实现最大数据速率。
[0009] 若指令序列在读取和写入之间交替变化,数据速率将会大大降低。出现这种现象是因为此时数据传输线双向传输,每次当指令从读取切换至写入时,数据传输线必须转换方向,反之亦然。比如:控制器发出读取指令。在特定延时(读取延迟)后,数据出现在存储器的数据引脚上。数据通过数据传输线传送给控制器并被控制器接收。如果此时下一指令为写入指令,在控制器安全接收并存储存储器先前发出的数据之后,控制器才可将数据发送至存储器,否则将会出现数据冲突,并且将会丢失先前发送的数据。一旦控制器允许发送数据,数据将通过数据传输线从控制器传送至存储器,由存储器接收,并转移和存储于存储器内被选定的单元。只有完成这一操作才可执行下一读取指令。
[0010] 因此,人们希望通过使数据传输线长期单向传输取代控制器/CPU和存储器之间的数据传输线从读取到写入的切换(反之亦然),从而降低数据传输线切换的发生率。遗憾的是,确定的运算/算法需要使用大量数据(模式识别算法、神经网络、绘图出错等等)。
[0011] 例如:
[0012] 运算X:=X|Y;(取出数据X;用数据Y与X进行或运算,作为新数据X存储),在系统内需要一个CPU及一个存储器,并将执行以下序列:
[0013] a)CPU向存储器发出读取指令,从而实现X数据的检索
[0014] b)CPU等待读取指令发送至存储器,存储器解码并执行该指令然后将数据输出至数据传输线上(读取延迟)
[0015] c)CPU检索数据X
[0016] d)CPU内的运算器(ALU)执行X|Y运算(假定Y存储于寄存器内)
[0017] e)CPU发出写入指令,将运算结果(X:=X|Y)写入到存储器内。
[0018] f)根据存储器类型(如DDR2及DDR3DRAM),CPU需等写入指令发出后,才可发送数据
[0019] g)存储器接收通过数据传输线由CPU传送至存储器的数据,这些数据将会在内部传送并存储至相应存储单元。
[0020] 只有完成所有以上步骤后,存储器才可读取下一数据。
[0021] 按照DDR3DRAM标准中的执行多重读取及写入指令时最小指定计时,可以知道:
[0022] a)读取到读取连续数据输出的形式进行读取(数据传输线能够100%使用)。
[0023] b)写入到写入也可100%使用数据传输线。
[0024] c)读取到写入需要小间隔,该装置为2个时钟周期(4个周期的数据,2个周期的间隔,66%数据传输线使用率)
[0025] d)写入到读取是DRAM的最差的情况,即只有完全读取所有存储器单元内的数据后,才可执行下一读取。在发出写入指令到发出读取指令之间需要13个周期(4个周期的数据,9个周期的间隔,31%的数据传输线使用率)。
[0026] 迄今为止解决这一问题是通过随时读写较大数据块可减少转换次数。还有一个办法是靠增加一个或几个不同级的中间高速缓冲存储器来达此目的。高速缓冲存储器是一种可将慢速存储器中较大数据块读取/写入至高速缓存线或缓冲区的一种快速存储器,因此,不仅可减少进入慢速存储器的总次数,而且通过数据块传输可提高数据的存取效率。
[0027] 然而,将或运算或者与运算数据存储于高速缓冲存储器中时,虽然较快的缓存存储器缩短了延迟时间,但上述方法并不能完全解决前述的一系列问题。

发明内容

[0028] 本发明目的是提供一种具有累积写入特征的存储方法、存储器及存储系统,其将或运算、与运算从CPU/ALU(控制器)转移至存储器内,可减少数据传输线读写转换次数。
[0029] 本发明的技术解决方案是:
[0030] 一种具有累积写入特征的存储方法,包括以下步骤:
[0031] 1】在控制器或CPU与存储器之间设置标准的指令接口,从而控制器或CPU能够向存储器发出写入指令、地址指令以及写入运算指令;所述写入运算指令包括“写入_或”指令和/或“写入_与”指令;
[0032] 2】在存储器内使用指令/地址-译码器对写入指令、地址指令以及写入运算指令进行解码;
[0033] 3】当解码“写入_或”指令后,接通地址指令相应存储单元的互补数据开关的“写入_或”数据开关,数据传输线写入的数据可将交叉耦合反相器内的正相数据从0切换至1,但不能从1切换至0;当解码“写入_与”指令后,接通地址指令相应存储单元的互补数据开关的“写入_与”数据开关,数据传输线写入的数据可将交叉耦合反相器内的正相数据从
1切换至0,但不能从0切换至1;当解码写入指令后,接通地址指令相应的存储单元的两个互补数据开关,数据传输线写入的数据可将交叉耦合反相器内的数据双向切换。
[0034] 上述存储单元为SRAM单元、DRAM单元或FLASH单元。
[0035] 第一种具有累积写入特征的存储器,包括接口单元、指令/地址-译码器、多个存储单元、数据传输线,所述数据传输线包括正相数据传输线和反相数据传输线,所述存储单元包括两个互补数据开关、两个交叉耦合反相器;所述反相器包括p场效应晶体管和n场效应晶体管;所述指令/地址-译码器的输出端分别与两个互补数据开关相连;所述两个互补数据开关分别连接正相数据传输线和正相数据、反相数据传输线和反相数据;其特殊之处是:所述接口单元包括写入运算指令接口、写入指令接口、地址指令接口;所述写入运算指令接口包括“写入_或”指令接口和/或“写入_与”指令接口;所述指令/地址-译码器用于写入运算指令、写入指令、地址指令的解码;所述p场效应晶体管的驱动能力大于数据开关的驱动能力,所述n场效应晶体管的驱动能力小于数据开关的驱动能力。
[0036] 上述存储单元为SRAM单元、DRAM单元或FLASH单元。
[0037] 第二种具有累积写入特征的存储器,包括接口单元、指令/地址-译码器、多个存储单元、数据传输线,所述数据传输线包括正相数据传输线和反相数据传输线,所述存储单元包括两个互补数据开关、两个交叉耦合反相器;所述反相器包括p场效应晶体管和n场效应晶体管;所述指令/地址-译码器的输出端分别与两个互补数据开关相连;所述两个互补数据开关分别连接正相数据传输线和正相数据、反相数据传输线和反相数据;其特殊之处是:所述接口单元包括写入运算指令接口、写入指令接口、地址指令接口;所述写入运算指令接口包括“写入_或”指令接口和/或“写入_与”指令接口;所述指令/地址-译码器用于写入运算指令、写入指令、地址指令的解码;所述p场效应晶体管的驱动能力小于数据开关的驱动能力,所述n场效应晶体管的驱动能力大于数据开关的驱动能力。
[0038] 上述存储单元为SRAM单元、DRAM单元或FLASH单元。
[0039] 第一种具有累积写入特征的存储系统,包括存储器控制器或CPU、指令/地址-译码器、数据传输线、多个缓存器、多个存储单元,所述数据传输线包括正相数据传输线和反相数据传输线,所述存储单元包括两个互补数据开关、两个交叉耦合反相器;所述反相器包括p场效应晶体管和n场效应晶体管;所述指令/地址-译码器的输出端分别与两个互补数据开关相连;所述两个互补数据开关分别连接正相数据传输线和正相数据、反相数据传输线和反相数据;其特殊之处是:所述控制器用于向指令/地址-译码器发出写入运算指令、写入指令、地址指令;所述写入运算指令包括“写入_或”指令和/或“写入_与”指令;所述指令/地址-译码器用于写入运算指令、写入指令、地址指令的解码;所述p场效应晶体管的驱动能力大于数据开关的驱动能力,所述n场效应晶体管的驱动能力小于数据开关的驱动能力。
[0040] 上述存储单元为SRAM单元、DRAM单元或FLASH单元。
[0041] 第二种具有累积写入特征的存储系统,包括存储器控制器或CPU、指令/地址-译码器、数据传输线、多个缓存器、多个存储单元,所述数据传输线包括正相数据传输线和反相数据传输线,所述存储单元包括两个互补数据开关、两个交叉耦合反相器;所述反相器包括p场效应晶体管和n场效应晶体管;所述指令/地址-译码器的输出端分别与两个互补数据开关相连;所述两个互补数据开关分别连接正相数据传输线和正相数据、反相数据传输线和反相数据;其特殊之处是:所述控制器用于向指令/地址-译码器发出写入运算指令、写入指令、地址指令;所述写入运算指令包括“写入_或”指令和/或“写入_与”指令;所述指令/地址-译码器用于写入运算指令、写入指令、地址指令的解码;所述p场效应晶体管的驱动能力小于数据开关的驱动能力,所述n场效应晶体管的驱动能力大于数据开关的驱动能力。
[0042] 上述存储单元为SRAM单元、DRAM单元或FLASH单元。
[0043] 本发明具有以下优点:
[0044] a)本发明可减少CPU/ALU的工作负荷(负载)。
[0045] b)本发明可连续将数据写入至存储器(无需先读取)。这意味着无需执行先读取-等待-写入-等待-周期,本发明仅执行写入指令。也就是说,之前需两次进入存储器,现在只需进入存储器一次即可。
[0046] c)由于只需执行且可连续执行写入指令,避免了转换延迟。

附图说明

[0047] 图1是现有SRAM的典型电路图;
[0048] 图2是本发明可执行“写入_或”指令的SRAM的电路结构图;
[0049] 图3是本发明可执行“写入_或”指令的SRAM的另一种电路结构图;
[0050] 图4是本发明可执行“写入_与”指令的SRAM的电路结构图;
[0051] 图5是本发明可执行“写入_与”指令的SRAM的另一种电路结构图;
[0052] 图6是本发明可执行“写入_或”指令和“写入_与”指令的SRAM的电路结构图;
[0053] 图7是本发明可执行“写入_或”指令和“写入_与”指令的SRAM的另一种电路结构图;
[0054] 图8是现有DRAM典型电路图;
[0055] 图9是本发明可执行“写入_或”指令的DRAM的电路结构图;
[0056] 图10是本发明可执行“写入_或”指令的DRAM的另一种电路结构图;
[0057] 图11是本发明可执行“写入_与”指令的DRAM的电路结构图;
[0058] 图12是本发明可执行“写入_与”指令的DRAM的另一种电路结构图;
[0059] 图13是本发明可执行“写入_或”指令和“写入_与”指令的DRAM的电路结构图;
[0060] 图14是本发明可执行“写入_或”指令和“写入_与”指令的DRAM的另一种电路结构图。

具体实施方式

[0061] 图1为带有两个交叉耦合反相器(非门)及两个数据开关(晶体管)的典型6晶体管SRAM单元。通过数据开关,该单元可将正相数据和反相数据分别连接至正相数据传输线及反相数据传输线(本图仅显示写入路径)。
[0062] 若发出一般写入指令,存取线路将激活与地址相匹配的SRAM单元。通过数据开关将数据从数据传输线(传输线为多个单元共用,本图示中仅有一个单元)转移至交叉耦合反相器。这将覆盖并改写SRAM单元内先前存储的信息。
[0063] 本发明可执行“写入_或”指令的SRAM单元的电路结构参见图2和图3,修改后的指令-译码器(即解码器)可在解码写入指令的同时解码“写入_或”指令。与图1相比,写入功能并未改变。区别点在于,本发明电路的存取线路被分离开来。一旦检测到“写入_或”指令,并且地址匹配,将仅激活一条存取线路(即图2中右边的一条存取线路或者图3中的左边的一条存取线路)。除此之外,因为SRAM单元内的晶体管均按大小分类,图2中将交叉耦合反相器p场效应晶体管变强(较之于数据开关),n场效应晶体管变弱(同样较之于数据开关)。图3中将交叉耦合反相器p场效应晶体管变弱(较之于数据开关),n场效应晶体管变强(同样较之于数据开关)。晶体管的强弱可以这样区分:对于强晶体管,单个数据开关不能驱动强晶体管且不能改写存储单元中的数据;对于弱晶体管,单个数据开关能够驱动弱晶体管并能改写存储单元中的数据。
[0064] 对于图2,如果写入指令在交叉耦合反相器内写入正相数据0(0在正相数据传输线上,1在反相数据传输线上),较弱n场效应晶体管将保持正相数据。若此时“写入_或”指令需要写入正相数据1(1在正相数据传输线上,0在反相数据传输线上),正相数据传输线通过数据开关将驱动较弱n场效应晶体管,从而覆盖正相数据0并改写交叉耦合反相器中的正相数据(反相数据也同时被改变)。
[0065] 但若正相数据1已经存储在交叉耦合反相器内,较强p场效应晶体管将保持正相数据数据。如果此时“写入_或”指令需要在单元内写入正相数据0(0在正相数据传输线上,1在反相数据传输线上),正相数据传输线上的数据0通过数据开关驱动较强p场效应晶体管,但不会改写交叉耦合反相器中的正相数据。因此,正相数据1仍会存储于交叉耦合反相器内。
[0066] 对于图3,如果写入指令在交叉耦合反相器内写入反相数据1(0在正相数据传输线上,1在反相数据传输线上),较弱p场效应晶体管将保持反相数据。若此时“写入_或”指令需要写入反相数据0(1在正相数据传输线上,0在反相数据传输线上),反相数据传输线通过数据开关将驱动较弱p场效应晶体管,从而覆盖反相数据1并改写交叉耦合反相器中的反相数据(正相数据也同时被改变)。
[0067] 但若正相数据1已经存储在交叉耦合反相器内,较强n场效应晶体管将保持反相数据0(正相数据1也保持)。如果此时“写入_或”指令需要在单元内写入反相数据1(0在正相数据传输线上,1在反相数据传输线上),反相数据传输线上的数据1通过数据开关驱动较强n场效应晶体管,但不会改写交叉耦合反相器中的反相数据。因此,反相数据0仍会存储于交叉耦合反相器内(正相数据1仍会存储于交叉耦合反相器内的另一端)。
[0068] 因此,1(正相数据)会在反相器内累积(或运算)。一旦1(正相数据)存储于交叉耦合反相器内,若仅进行“写入_或”运算,1(正相数据)将会长期存储。
[0069] 若出现一般写入指令,两个数据开关均会打开,两个极性的数据能够被储存。对于图2,交叉耦合反相器一边处于0位,并由较弱n场效应晶体管保持;通过在正相数据传输线或反相数据传输线写入1可重写较弱n场效应晶体管并改写存储单元中的数据;对于图3,交叉耦合反相器一边处于1位,并由较弱p场效应晶体管保持;通过在正相数据传输线或反相数据传输线写入0可重写较弱p场效应晶体管并改写存储单元中的数据。
[0070] 通过这种方法,可无条件写入两个数据极性。
[0071] 本发明可执行“写入_与”指令的SRAM单元的电路结构参见图4和图5,与图2和图3不同的是,一旦检测到“写入_与”指令,并且地址匹配,将仅激活图4中左边的一条存取线路或者图5中右边的一条存取线路。而且图4中交叉耦合反相器p场效应晶体管变强(较之于数据开关),n场效应晶体管变弱(同样较之于数据开关)。同理,图5中交叉耦合反相器p场效应晶体管变弱(较之于数据开关),n场效应晶体管变强(同样较之于数据开关)。
[0072] 对于图4,如果写入指令在交叉耦合反相器内写入反相数据0(1在正相数据传输线上,0在反相数据传输线上),较弱n场效应晶体管将保持反相数据。若此时“写入_与”指令需要写入反相数据1(0在正相数据传输线上,1在反相数据传输线上),反相数据传输线通过数据开关将驱动较弱n场效应晶体管,从而覆盖反相数据0并改写交叉耦合反相器中的反相数据(正相数据也同时被改变)。
[0073] 但若正相数据0已经存储在交叉耦合反相器内,较强p场效应晶体管将保持正相数据。如果此时“写入_与”指令需要在单元内写入反相数据0(1在正相数据传输线上,0在反相数据传输线上),反相数据传输线上的数据0通过数据开关驱动较强p场效应晶体管,但不会改写交叉耦合反相器中的反相数据。因此,反相数据1仍会存储于交叉耦合反相器内(正相数据0仍会存储于交叉耦合反相器内)。
[0074] 对于图5,如果写入指令在交叉耦合反相器内写入正相数据1(1在正相数据传输线上,0在反相数据传输线上),较弱p场效应晶体管将保持正相数据。若此时“写入_与”指令需要写入正相数据0(0在正相数据传输线上,1在反相数据传输线上),正相数据传输线通过数据开关将驱动较弱p场效应晶体管,从而覆盖正相数据1并改写交叉耦合反相器中的正相数据(反相数据也同时被改变)。
[0075] 但若正相数据0已经存储在交叉耦合反相器内,较强n场效应晶体管将保持正相数据。如果此时“写入_与”指令需要在单元内写入正相数据1(1在正相数据传输线上,0在反相数据传输线上),正相数据传输线上的数据1通过数据开关驱动较强n场效应晶体管,但不会改写交叉耦合反相器中的正相数据。因此,正相数据0仍会存储于交叉耦合反相器内(反相数据1也仍会存储于交叉耦合反相器内)。
[0076] 因此,0(正相数据)会在反相器内累积(或运算)。一旦0(正相数据)存储于交叉耦合反相器内,若仅进行“写入_或”运算,0(正相数据)将会长期存储。
[0077] 若出现一般写入指令,两个数据开关均会打开,两个极性的数据能够被储存。对于图4,交叉耦合反相器一边处于0位,并由较弱n场效应晶体管保持;通过在正相数据传输线或反相数据传输线写入1可重写较弱n场效应晶体管并改写存储单元中的数据;对于图5,交叉耦合反相器一边处于1位,并由较弱p场效应晶体管保持;通过在正相数据传输线或反相数据传输线写入0可重写较弱p场效应晶体管并改写存储单元中的数据。
[0078] 通过这种方法,可无条件写入两个数据极性。
[0079] 参见图6和图7,对于一个特定的SRAM单元,由于p场效应晶体管和n场效应晶体管的强弱已定,如果执行“写入_或”运算激活其中一个存取线路,则执行“写入_与”运算时必然激活另一个存取线路。换句话说,在一个存储器内可以同时执行“写入_或”运算、“写入_与”运算。
[0080] 图8是现有DRAM单元的电路结构图,SRAM与DRAM的区别在于SRAM可保持反相器内存储的数据。然而,DRAM可将数据存储于电容器内,通过与参考电压比较,并由灵敏放大器放大读出数据。前面SARM的典型6晶体管SRAM单元可作为DRAM的灵敏放大器(需要正相使能信号和反相使能信号控制),并且需要受字线控制的附加晶体管将一个存储单元(或不同字线控制的多个并联单元)连结至灵敏放大器。需要说明的是,这里的典型6晶体管SRAM单元即可以作为初级灵敏放大器,也可以作为次级灵敏放大器。初级灵敏放大器或次级灵敏放大器可位于存储器内从接收器至存储单元内部路径的任何部分。
[0081] 图9和图10是本发明可执行“写入_或”运算的DRAM单元的两种电路结构图,图11和图12是本发明可执行“写入_与”运算的DRAM单元的两种电路结构图;图13和图14是是本发明可执行“写入_或”运算以及“写入_与”运算的DRAM单元的两种电路结构图。
新电路的实现与SRAM的原理相同。
[0082] 本发明在FLASH单元中的应用与DRAM单元中的应用类似。
[0083] 本发明在SRAM单元、DRAM单元或FLASH单元中中执行“写入_或”指令的工作原理如下:
[0084] 1】在存储器-控制器/CPU和存储器间添加标准的指令接口,从而能够发出“写入_或”指令。
[0085] 2】在存储器内使用一个指令/地址-译码器可解码“写入_或”指令。
[0086] 3】解码“写入_或”指令时,仅接通互补数据开关(或互补数据开关电路)中的一个。
[0087] 4】当仅打开一个数据开关时,交叉耦合反相器可将正相数据从0切换至1,但不能从1切换至0。当两个数据开关均处于使能状态时,可双向写入数据。
[0088] 本发明在SRAM单元、DRAM单元或FLASH单元中中执行“写入_与”指令的工作原理如下:
[0089] 1】在存储器-控制器/CPU和存储器间添加标准的指令接口,从而能够发出“写入_与”指令。
[0090] 2】在存储器内使用一个指令/地址-译码器可解码“写入_与”指令。
[0091] 3】解码“写入_与”指令时,仅接通互补数据开关(或互补数据开关电路)中的一个。
[0092] 4】当仅打开一个数据开关时,反相器可将正相数据从1切换至0,但不能从0切换至1。当两个数据开关均处于使能状态时,可双向写入数据。
[0093] 本发明也可应用于具有累积写入特征的存储系统,该系统可在存储器及缓存内进行“写入_或”运算或者进行“写入_与”运算。该系统包括控制器或CPU,若干缓存、指令/地址-译码器、数据传输线、多个存储单元,数据传输线包括正相数据传输线和反相数据传输线,存储单元包括两个互补数据开关、两个交叉耦合反相器;反相器包括p场效应晶体管和n场效应晶体管;指令/地址-译码器的输出端分别与两个互补数据开关相连;控制器用于向指令/地址-译码器发出写入运算指令、写入指令、地址指令;指令/地址-译码器用于写入运算指令、写入指令、地址指令的解码,写入运算为“写入_或”运算和/或“写入_与”运算。存储单元交叉耦合反相器的p场效应晶体管和n场效应晶体管的驱动能力必须有一个大于数据开关的驱动能力,另一个小于数据开关的驱动能力。