本发明涉及存储器中的位存储单元。 传统的相联存储器的存储单元分为相联区域和存储区域。在相联存储器中写入信息是不用地址的。存储单元区域通常做成移位寄存器。
计算机是一十世纪四十年代发明的。从那以后,它以极高的速度发展着。尽管这样,现在计算机的体系结构仍然与最早的那些相同。
大部分的改进是对硬件做出的。仅在五年前,引入了VLSI技术,并提高了金属板印刷技术,这就有可能制造单片计算机,它们被称为超级计算机。其大小按指数规律缩小,目前已小于1微米。时种频率以及有源晶体管的数目提高了许多数量级。物理极限可能将线宽限制在0.2微米。
本发明的主要目的是提供一种特别适用于相联存储器的位存储单元,该存储器能够作为计算机的工作部件,这样,它不仅存储信息,而且也参与逻辑运算。
本发明的另一个目的是提供一种位存储单元,它具有很高的存储密度。
本发明地再一个目的是提供一种位存储单元,它可以通过VLSI技术(超大规模集成电路)来实现。
本发明的最后一个目的是提供一种位存储单元,它最适合于高速运算。
本发明设想一个用于相联存储器的位存储单元,在该单元中可存储一个Vstore值,其值为“真”或“假”,该单元具有可在几个不同功能状态下设置的结构,并包括一个持续施加电压的第一联接线,第二、第三和第四联接线,每线可在至少三种不同控制状态下设置,第二、第三和第四联接线的控制状态的每一种组合使该存储单元处于功能状态中的一个独立状态。
存储器位存储单元适合于用VLSI技术来实现,它包括:
一个单元电路,其中一个位值是可存储的,该值为“真”或“假”;
持续施加电压的第一联接线;
第二、第三和第四联接线,每线可在不同控制状态下设置;
该单元电路的第二、第三和第四联接线的每一种控制的组合使该存储单元处于一组功能状态中的一个独立状态。
控制单元电路的控制状态为“高”电位、“低”电位,无电流流入该单元,电流流入单元的第二、第三和第四联线,电流至少从单元的这几个联接线中的一个流出,“高”电位“低”电位与电压被视为正或负有关,即与该第一联接线上的电压Vcc相对于地是正还是负有关。
第二联接线是个存取联接线,第三和第四联接线(d,d*)在写入或读出单元电路时具有电位相反的信号。
它是包括两种相位的控制回路控制的,一个第一预充电相位,其中该第二、第三和第四联线与第一联接线电压和地之间的一个额外电压联接,以及一个第二工作相位,使其处于一个预定的功能状态,相对上述额外电压取一个“高”或“低”电位,“高”电位和“低”电位与电路中的电压正负有关。
根据本发明,尽管存储器位单元只包括四条联接线,而且只有三条是可控的,但它能发挥很多功能。它包括很少的元件。这使得有可能制造一个包含巨大数量存储器位单元的紧凑的存储器件。
一个相联存储器,特别适合于与简化型的计算机合作,并且根据本发明,位存储单元特别适用于该存储器,g埃存储器在待批的美国专利申请No. 中有说明。
为了更完整地理解本发明和它的进一步的目的及优点,以下说明将结合附图进行:
图1 以图解方式展示了存储单元中的一个位存储单元的第一实施例;以及
图2 以图解方式展示了存储单元中的一个位存储单元的第二实施例和与它相联接的驱动及传感电路。
根据本发明,位存储单元(以下称位单元)设想为在存储单元的存储区域中的一个位单元,该存储单元包括大量的位单元,这些位单元由通过与驱动及传感电路联接的一条信息总线分配到全部位单元的外部编制的数字信息来控制。一条关于外部联接点的信息被写入这些单元,在这些单元中的一条信息从这些单元读出给外部联接线。
在每个存储区域中的位单元可自存储区域的一个端部来进行控制,这样,位单元能一次进行下列操作之一种:
保留 每个位单元保留一个已存储的位值;
读出 读出在单元中的一个已存储的位值;
写入 将一个位值写入位单元;
比较 根据本发明,由存储在位单元中的位值组成的一个数
据字与另一个数据字进行比较。
依靠逻辑条件进行控制。这些不是实际发发明的一部分,因此,不在本申请中加以说明。
图1 所示的根据本发明的一个位单元的实施例与带有两条线d和d*的外部控制相联。一条与端部(未示出)相联的线acc与一个存储单元的全部位单元相互联接,该存储单元包括几个位单元,例如38个。所有在存储单元中的位单元由线acc的信号控制。在位单元联接的线d和d*再与包括大量存储单元的存储器中的其它存储单元中相应的位单元联接。
整个存储器设想用VLSI来实现。因此每个位单元有一个适合应用VLSI技术的设计,并且最适合于大量位单元进行高密度地存储。如图1所示,位单元只有四条联接线,即,一条持续施加电压的第一联接线Vcc,和第二、第三、第四联接线acc、d、d*,每条线可在至少三种不同控制状态下设置,以后将详细说明。
图1 所示位单元的实施例是一个四晶体管CMOS单元。份所示实施例中的晶体管为n型。但是,在位单元电路中的元件可以是许多不同的种类,从下面所给的一张元件清单中就会看得很清楚。四晶体管CMOS单元是静态的并有一个电阻性负载。该单元为一个可从每边控制的能发器。在存取线acc和供应线Vcc之间,并联放置两条串联的联接线,每条包括由一个MOS场效应管组成的源极/漏极通路和分别由T1、L1及T2、L2组成的一个负载。晶体管T1的漏极与晶体管T2的栅极相联接,晶体管T2的漏极与晶体管T1的栅极相联接。二极管D1在线d与晶体管T1的漏极、负载L1和晶体管T2的栅极的相互联接点n1之间相联。二极管D2在线d*与晶体管T2的漏极、负载L2和晶体管T1的栅极的相互联接点n2之间相联。二极管D1和D2是将MOS场效应管的漏极和栅极连接在一起构成的,并分别与到线d和d*相连。
电路元件的重要品质是二极管D1和D2只允许电流向相对于导线d和d*的一个方向流动,二极管是有源元件,其中电流可由其栅极的电位变化进行控制。n1和n2的相互联接点为交点,在该点上可存储涉及一个一位信息的电位。每一个负载都是相当于一个电阻的元件。
在图1的实施例中,电压Vcc为一个高电位。二极管D1和D2使电流从导线d和d*分别流向交点n1或n2。当其栅极电位上升时,一个有源元件T1或T2的电阻值分别减小。这样,在其漏极的交点的电阻值也就减小。但是,在其它实施例中,电位和电流的方向可选择为与图1的实施例所示的方向相反。
图1 电路中的元件可以许多不同方式进行选择。可在以下元件中选择二极管D1和D2:
(1)n沟道MOS场效应管,其漏极和栅极相互联接(正电压);
(2)p沟道MOS场效应管,其漏极和栅极相互联接(负电压);
(3)pn结二极管(正电压,二极管反向时为负电压);
(4)肖特基二极管(正电压,二极管反向时为负电压);
下列元件可用做有源元件T1和T2:
(1)n沟道MOS场效应管(正电压);
(2)p沟道MOS场效应管(负电压);
(3)npn双极晶体管(正电压);
(4)pnp双极晶体管(负电压);
下列元件可用做负载L1和L2:
(1)一个电阻器;
(2)n沟道MOS场效应管,其漏极和栅极相互联接(正电压);
(3)p沟道MOS场效应管,其漏极和栅极相互联接(负电压);
(4)n沟道耗尽型MOS场效应管,其漏极和栅极相互联接(正电压);
(5)p沟道耗尽型MOS场效应管,其漏极和栅极相互联接(负电压);
(6)n沟道MOS场效应管,其栅极作为控制极,源极和漏极作为驱动联接点(正电压);
(7)p沟道MOS场效应管,其栅极作为控制极,源极和漏极作为驱动联接点(负电压);
(8)npn双极晶体管,其基极作为控制极,发射极和集电极作为驱动联接点(正电压);
(9)pnp双极晶体管,其基极作为控制极,发射极和集电极作为驱动联接点(负电压);
带有正负电压是指Vcc相对于地是正还是负有关。
位单元电路的第二实施例与位单元驱动器、导线d和d*和acc均展示在图2中。与图1元件相应的元件用同样的标号。位单元7′用虚线框起来。其负载为MOS场效应管I1和I2分别构成的源极/漏极通路,在本实施例中为p型,即为本实施例中n型晶体管T1和T2的相反型。晶体管If的栅极与交点n2联接,晶体管I2的栅极与交点n1联接。
关于图1和图2中的位单元实施例,位单元可存储一个V存储值,该值为“真”或“假”。位单元具有这样的结构,即它可在几个不同的功能状态下,通过在导线acc、d和d*上设定不同电位来设置。
控制状态为高电位、低电位、电流经所有导线流入位单元、电流经导线acc流出位单元。导线acc是一条存取导线,自端部8与存储单元中的所有位单元7′联接。当对位单元进行读写,并且存取导线acc为低电位时,第三和第四条导线d和d*具有相互相反的信号。
端部8中的驱动和传感放大器在图2中以虚线框示意地表示。在端部8中对存取导线acc进行控制,端部8则是由一个外部控制器来控制,该外部控制器可以是一台计算机,它提供电压Vr和V3,以及一个预充电信号prech。在本实施例中为n型的一个第一晶体管T3,其源极与电压Vr相接,其漏极与在存储单元中所有位单元7′中的存取导线acc相接,其栅极被施加预充电信号prech,该信号可视为一个时钟信号。在本实施例中为n型的一个第二晶体管T4,其源极与电压OV相接,其漏极与在存储单元中所有位单元7′中的存取导线acc相接,其栅极由一个外部控制器来控制,它设定一个电压V3,当电压OV加在存取导线acc上时,电压V3将是高的。如上所述,导线acc将与存储单元中所有的位单元相联接,例如包括38个位单元,并且对于导线acc,所有的位单元会因此而受到同样的控制。为了控制导线acc,在第一相位进行预充电,控制MOS场效应管T3进入导通状态,从而将导线acc设在电压Vr。在下一个相位,导线acc上的高电压或低电压(由控制种类决定其高低)信号V施加至MOS场效应管T4。导线acc的电压在放大器AMP中放大并传送到外部电路,作进一步处理。向端头8以及下述向驱动电路9提供控制信号和对这些电路的输入输出信号的使用均不是本发明的一部分,因此不做进一步说明。
用于位单元导线d和d*的驱动和传感电路的一个实施例在图2中以另一个虚线框表示。但是,请注意线路9只展示一个驱动和传感导线d和d*可能实现的方法。
用于导线d的写电路包括一个第一对晶体管T5和T6,在实施例中第一个晶体管为n型,第二个为p型,其漏极均与导线d相联,并提供一个分压器。晶体管T5的源极与一个电位Vr相联,栅极被施加预充电信号prech。另一个晶体管T6的漏极与一个电位Vcc相联,栅极被施加一个控制信号V4,当线d的电位为Vcc时,控制信号V4会变低,下面将进一步予以解释。用于导线d的写电路还包括一个由一个p型晶体管T9和一个n型晶体管T10组成的源极/漏板通路的串联接点,它们在电压源Vcc和一个n型晶体管T11的漏极之间联接,晶体管T11的源极接地,栅极与外部控制器的一个写输入相联接。晶体管T9和T10漏极之间的相互联接点与晶体管T6的栅极联接,并带有电压V4。晶体管T的栅极被施加反向预充电信号prech*,在预充电相位期间,通过一个导通晶体管T9将晶体管T6栅极与电压源Vcc联接。
用于导线d*的写电路包括一个第二对串联耦合晶体管T7和T8,在实施例中第一个为n型,第二个为p型,其漏极与导线d*相联,并提供一个分压器。晶体管T7的源极与一个电位Vr相联,栅极被施加预充电信号prech。另一个晶体管T8的漏极与一个电位Vcc相联,栅极被施加一个控制信号V5,当电位Vcc应被施加至导线d*时,控制信号V5会变低。
用于导线d*的写电路还包括一个由一个p型晶体管T12和一个n型晶体管T13组成的源极/漏极通路的串联接点,它们在电压源Vcc和晶体管T11的漏极之间联接。晶体管T12和T13漏极之间的相互联接点与晶体管T8的栅极联接,并带有电压V5。晶体管T12的栅极被施加反向预充电信号prech*,在预充电相位期间,通过一个导通晶体管T12将晶体管T8的栅极与电压源Vcc相联。
用于输入输出的外簿导线IN/OUT与两个三状态反相器相联。其中一个三态反相器的输出与导线IN/OUT相联,它包括一个由两个n型晶体管T14、T15和两个p型晶体管T16、T17组成的源极/漏极通路的串联接点。晶体管T16的栅极与一个提供信号bitin的外部控制线相联,晶体管T15的栅极被施加反向信号bitin*。第二个三态反相器的输入与导线IN/OUT相联,它包括一个由两个n型晶体管T18、T19和两个p型晶体管T20、T21组成的源极/漏极通路的串联接点。晶体管T19的栅极与提供信号bitin的外部控制线相联,晶体管T20的栅极被施加反向信号bitin*。第二个三态反相器的输出与晶体管T13的栅极相联,并通过一个反相器INV羽晶体管T10的栅极相联。
一个读出放大器包括一个n型晶体管T22,其源极接地,其栅极接一个使晶体管T22持续导通并起电流发生器作用的恒定电压Vbias,其漏极接一个分别由一个n型晶体管和一个p型晶体管,T23、T24和T25、T26组成的两个串联源极/晶体管T通路的并联接点,其另一端与电压源Vcc相联。p型晶体管T24和T26的栅极相互联接,并接晶体管T23和T24漏极的相互联接点。晶体管T23的栅极接位单元7′的导线d,晶体管T25的栅极接导线d*。
每一个时钟周期,信号prech和prech*分成一个预充电相位(在该相位中信号prech为高电位置)和一个make相位置(在该相位中信号prech为低电位置),并且来自外部控制器的其它控制信号决定要进行的操作。这样,在预充电相位,导线d、d*和acc分别通过晶体管T5、T7和T3预充电至电压Vr。
信号bitin和bitin*控制何时将数据送到位单元7′或从位单元7′中取出。当信号bitin为低电位,信号bitin*为高电位时,第一三状态反相器将数据从位单元转送到导线IN/OUT。当信号bitin为高电位,信号bitin*为低电位时,第二三态反相器将数据从导线IN/OUT转送到位单元。
在相位二读出操作时,在导线d和d*acc预充电至Vr后,将导线d和d*浮置,一个高电压V3将导线acc置于电压OV,使晶体管T4导通。这使有最低电位的交点(设为n1)被降低到一个在Vr和OV之间的电位。因此,一个电流自导线d流向交点n1、流向导线acc。这个放电电流经导线d,即导线d上的电压降低。这个压降由读出放大器T22至T26测得。在晶体管T25和T26漏极的相互联接点上得到读出结果,该读出结果被施加到第一三态反相器T14至T17的输入上。信号bitin为低电位,信号bitin*为高电位,使经读出和放大的位值转送到输入输出导线IN/OUT。重要的是在相位二期间,导线d和d*不是以积极的方式驱动,自那以后,在这些导线中的每一条都不应有任何压降低。
这样,为了进行读出操作,导线d和d*上最初都施加电位Vr。d和d*大致都保持在电位置Vr,但是由于“入电流”流入单元之中而使导线d和d*中的某一条放电,所以该条导线的电位有所下降。由于此处Vr定义为“低”电位,所以下降后的低电位将此定义的“低”电位更低。d和d*给出读出值。当d低于d*,其值为“假”;当d高于d*,其值为“真”。对不写、写假、写真、不写和不进行比较操作时,导线d和d*上的信息电位不给出任何信息。
为了在相位二进行写入操作,导线d和d*和acc被预充电至Vr后,通过高电压V将导线acc置于电压OV,使晶体管T4导通。要存储的值提供给输入/输出导线IN/OUT。高电位信号bitin和低电位bitin*启动第二三态反相器T18至T21,将导线d和d*上的值传送给它的输出。晶体管T11上的高电位控制信号write将晶体管T10和T13的源极连接至OV。
从第二三态反相器T18至T21得到的一个高电位信号,即“0”或“假”的写入,控制晶体管T13成导通状态,将电压V5设置成低电压,控制晶体管T8,使其导通,并且导线d*接电压Vcc,即高电位。从第二三态反相器馈送至晶体管T10栅极的反相信号为低电位,它将使该晶体管保持截止,预充电相位期间电压V4接至电压源Vcc,并保持在此电压。晶体管T6保持截止,在预充电期间通过晶体管T5联接至导线d的电压Vr将得到保持。
从第二三态反相器T18至T21得到的一个高电位信号,即“1”或“真”的写入,通过反相器INN控制写电话T5、T6、T9和T10,使导线d接高电压Vcc,而写电路T1、T8、T12和T13将使在预充电相位期间设定电压Vr的导线d*继续保持为Vr。
从以上实例可以清楚地看到,图2实施例中的存储交点n1和n2的工作原理是这样的:在工作周期的第二相位期间,交点n1、n2中之一个或全部被充电或放电,这取决于使用了控制信号V3、V4和V5中的哪几个,即导线acc是否设置在OV,或导线d和d*中之一条或全部是否设置在Vcc。
如上所述,每个工作周期包括一个预充电时期和一个执行时期。这样,当下面将说明的导线acc设置在高电位时,意味着在执行期间信号V3并没有控制晶体管T4使导线acc接OV电压。同样,当下面将说明的导线d和d*设置在低电位时,意味着在执行期间控制信号V或V并没有控制晶体管T或T,使其处于经电压Vcc(高于电压Vr)联接至导线d和d*的状态。然而,当导线d和d*设置在高电位时,将控制晶体管T或T经电压Vcc与导线相联。
存储单元区域可以相当大,例如包括256个存储单元,这意味着每对晶体管T、T和T、T分别与一条为所有存储单元(例如256个位单元)中的位单元服务的导线相联,因此,晶体管的规模必须符合全部总线容量和所要求的速度。
电压Vr可以从一个短路反相器产生,以便保持Vr和驱动放大器反相器之间的已知关系。在端部的存取电路将控制位单元,并从位单元得到信息。
通过控制状态能够设定以下功能状态:
保留 单元仅存储值Vstore;
读假 读出值Vstore=假;
读真 读出值Vstore=真;
不读 单元仅存储值Vstore;
写假 存储值Vstore设置为“假”;
写真 存储值Vstore设置为“真”;
不写 单元仅存储值Vstore;
比较假 存储值Vstore与值“假”进行比较;
比较真 存储值Vstore与值“真”进行比较;
不比较 单元仅存储值Vstore。
以下是位单元的不同操作方式的操作表:
操作方式 acc d d*
保留 高 低 低
读假 低 电流流入 低
读真 低 低 电流流入
不读 高 任意 任意
写假 低 低 高
写真 低 高 低
不写 高 任意 任意
比较假 任意 低 高
比较真 任意 高 低
不比较 任意 低 低
对比较假和比较真而言,如果比较的结果是“不同”,则导线acc上有电流流出。
对比较假或比较真操作而言,导线acc(存取导线)给出比较结果。导线acc被预充电至Vr,并且输入数据施加至导线d,它的反相值施加至导线d*。如果存在位单元中的数值不同于输入数据,那么导线acc将通过二极管D1或D2中的一个,以及通过相应的n型三极管T1或T2充电。这由端部8中的放大器晶体管T11检测到。当检测到一个经比较的FIT,导线acc将保持在电位Vr上。
流入电流和流出电流表示在一时间顺序内,电荷分别进入和退出有关导线。这通常是通过在操作方式“保留”下使导线分别进入“高”电位或“低”电位,然后再转换成实际方式。那么电流会分别对有关导线充电或放电。当没有电流时,就不会输送可估计的电荷。因此,在时间顺序时,不会有电压变化。
尽管参照具体实施例来说明本发明,本技术领域的人员均懂得,对本发明可做许多变动,有许多替代物可以替代实施例中的元件。此外,对本发明做出各种改进。也是不背离本发明的精神的。