下面,将参照附图解释本发明的一个实施例。
图1示出一个根据本发明的半导体存储器。
运算控制电路2与具有行译码器1a和列译码器1b的存储器单元阵列1相连接。数据输入缓冲器(Din缓冲器)3和数据输出缓冲器(Dout缓冲器)4与运算控制电路2相连。将写入时序发生器5产生的控制信号5a,5b分别提供给运算控制电路2和数据输入缓冲器3。写入时序发生器5与RAS(行地址选通)时序发生器6和CAS(列地址选通)时序发生器7的输出口相连接。OE信号(输出使能信号),ORE信号(或运算使能信号),ANDE信号(与运算使能信号)和WE信号(写入使能信号)输入到写入时序发生器5。进一步,将一个RAS信号输入到RAS时序发生器6,并且将一个CAS信号输入到CAS时序发生器7。
在图1所示结构中,RAS时序发生器6接收从外部提供的RAS信号,并且产生一个用于启动诸如将数据存储在存储器单元阵列1中的存储器,并在位线读出的动作的信号,该数据与译码RAS地址确定的字线通信,由读出放大器放大。CAS时序发生器7接收从外部提供的CAS信号,并将一个信号输出到写入时序发生器5用于启动这样的一个动作,即,将译码CAS地址确定的位线上的数据输出到一个I/O线路上。
写入时序发生器5根据RAS时序发生器6和CAS时序发生器7的输出信号而接收从外部提供的WE信号,并产生用于接收输入到数据输入缓冲器3的数据的控制信号5a,5b。进一步地,写入时序发生器5产生用于在读后清零时将一个清零用数据写入存储器单元阵列1的存储器单元的内部WE信号,这意味着一个在从一个存储器单元读出数据之后将一个清零用的数据(“1”或“0”数据)写入相同地址的功能。
在后面将详细解释运算控制电路2的操作,在或写入、与写入或读后清零时,运算控制电路2参考用于写入的存储器单元内的数据,将一个数据写入存储器单元阵列1,或者将存储器单元阵列1内的数据读出到数据输出缓冲器4。数据输入缓冲器3暂存一个输入数据(要写入存储器单元阵列1的数据),并且数据输出缓冲器4暂存从存储器单元阵列1读出的数据。
图2详细示出运算控制电路2。清零信号、/ORE信号、/WBE(WBE拔(bar):每位写入使能)信号、WE信号,/ANDE(ANDE拔)信号、数据锁存使能信号等输入到运算控制电路2。要写入的数据经输入/输出线路IOn,/IOn输出到存储器单元阵列1,并且读出数据输出到数据输出缓冲器4,在使用W/b(每位写入)功能的情况下产生/WBE,并使得缓冲器打开以便将数据仅写入到所要求的位。在本发明的操作中该信号不一定是必需的。
运算控制电路2具有FET 21,三态缓冲器22,FF(触发器)电路23,差分放大器24,反相器25,或运算电路26,27和与运算电路28。一个清零信号输入到FET 21的一个门电路,FET 21的漏极连接到三态缓冲器22的输入端,FET 21的源极连接到FF电路23的/Q(Q条)端。输入/输出线路IOn,/IOn(IOn条)连接到差分放大器24的输入端,差分放大器24的输出端连接到FF电路23的D端。反相器25连接在输入/输出线路IOn,/IOn之间。FET 21的漏极和/ORE信号的输入端与或运算电路26的输入端相连,或运算电路27的输入端输入/ANDE信号和FF电路23的Q端的输出信号。或运算电路26,27的输出信号,/WBE信号和WE信号输入到与运算电路28,并且与运算电路28的输出端与三态缓冲器22的控制端相连。应该注意到将存储在存储器单元阵列1的存储器单元的数据读出到数据输出缓冲器4,数据输出缓冲器4与FF电路23的端Q相连。
图3A和3B示出图2所示的运算控制电路2的操作模式。图3A示出提供给运算控制电路2的各个口的逻辑电平和写入之后的存储器单元内的数据状态,这些都根据在相应的写入模式,输入写入时序发生器5的四种输入信号的组合确定。图3B示出提供给各个口用于实现读后清0以及读后清1的逻辑电平,以及读后清零之后的存储器单元内的数据状态。在图3A到3B中,输出A,输出B,输出C和输出D分别表示三态缓冲器22,与运算电路28,或运算电路27以及或运算电路26的输出。E表示FF电路23。从图3A可以看出,根据四种(/ORE信号、/WBE信号、WE信号和/ANDE信号)输入信号的组合可以实现十六种(或写入、与写入、和正常写入)写入状态。
“或”写入表示按照或逻辑的写入处理,其中,在一个用于写入的存储器单元内的一个数据和从数据输入缓冲器3输入的另一个数据中的至少一个为“1”的情况下满足该或逻辑。进一步,“与”写入表示按照“与”逻辑的写入处理,其中,在一个用于写入的存储器单元内的一个数据和从数据输入缓冲器3输入的另一个数据都为“1”的情况下,满足该与逻辑。此外,正常写入的操作与“或”和“与”逻辑运算无关。
下面,将参照图2、图3A和图3B来解释半导体存储器的操作。从图3A可以看出,通过在写入周期的时间激活/ORE信号(逻辑低电平)进行“或”写入。通过在写入周期的时间激活/ANDE信号(逻辑低电平)进行“与”写入。在/ORE信号和/ANDE信号都未激活的情况下进行正常写入。
在图2,如果产生/ORE信号并且输入数据为“1”,则满足由或运算电路26的操作实现的或逻辑。如果产生/ANDE信号并且在FF电路23的Q端同时产生一个信号,则满足由或运算电路27的操作进行的或逻辑。此时,如果/WBE信号和WE信号被激活并且启动写入周期,则满足与运算电路28的与逻辑,并在与运算电路28产生一个输出信号。结果是,三态缓冲器22开始操作,并且将从数据输入缓冲器3输入的数据经过三态缓冲器22和输入/输出线路IOn、/IOn而写入到存储器单元阵列1当中。在进行与运算的情况下,如果用于写入的存储器单元内的数据为“0”,则不必改变存储器单元中的内容,因此,只有在用于写入的存储器单元内的数据为“1”的情况下,才将一个数据写入到用于写入的存储器单元,从而改变用于写入的存储器单元的内容。
下面,将解释图3A所示的与写入(4)。由于/ANDE信号处于逻辑低电平并且FF电路23的输出处于逻辑高电平,则或运算电路27的输出C处于逻辑高电平。由于/ORE信号处于逻辑高电平,或运算电路26的输出D处于逻辑高电平,由于/WBE信号和WE信号都处于逻辑高电平,与运算电路28的所有输入信号处于逻辑高电平。因此,与运算电路28的输出B处于逻辑高电平,启动三态缓冲器22,输出A处于逻辑高电平,数据“1”输出到输入/输出线路IOn,/IOn,并且将该数据写入存储器单元阵列1内的用于写入的存储器单元。
下面,将解释图3A所示的正常写入操作(4)。在/ORE信号、/WBE信号、WE信号和/ANDE信号同样为逻辑高电平的情况下,将逻辑高电平信号输入至或运算电路26的输入端(输出D)。由于或运算电路27输入一个逻辑高电平信号,或运算电路27的输出信号(输出D)处于逻辑高电平,而与FF电路23的输出状态无关。由于或运算电路26,27的输出信号、/WBE信号和WE信号全部都是逻辑高电平,所以与运算电路28的输出(输出B)处于逻辑高电平。输入与运算电路28的输出信号(逻辑高电平)作为一个控制信号的三态缓冲器22输出一个逻辑高电平信号,该信号从数据缓冲器3输入。将三态缓冲器22的输出(输出A)提供给输入/输出线路IOn、/IOn作为一个逻辑高电平信号。因此,在数据写入存储器单元阵列1之后存储器单元内的数据处于逻辑高电平。根据相应信号的组合如图3A所示进行其他模式下的写入处理。
图4示出/ORE信号,/WBE信号,WE信号,/OE信号和/ANDE信号在读后清零时的一个时序图。
在读后清零情况下,当在图4所示的读周期产生/RAS信号时,存取行地址。接着,当产生/CAS信号时,存取列地址。在该处理中,较早激活/ORE信号或/ANDE信号,并且一产生/OE信号就产生清零信号。以后,当产生WE信号时,建立一个写周期。在写周期,仅当或写入时输入数据为“1”或者与写入时用于写入的存储器单元内的数据为“1”时,在三态缓冲器22产生来自与运算电路28的输出信号。从而,将一个逻辑高电平信号从三态缓冲器22输出到输入/输出线路IOn,/IOn。
如果在读周期激活/ORE信号或/ANDE信号,则在读取存储器单元阵列内的数据之后将一个清零信号和WE信号输入到运算控制电路2。当进行读后清零时,运算控制电路2在存储器单元阵列1进行“1清零”或“0清零”。当在存储器单元阵列1进行“0清零”时,数据“0”仅写入存储数据为“1”的存储器单元。在进行读后“0清零”的情况下,在读取用于读取的存储器单元之后通过产生WE信号启动与运算电路28。因而,读信号的反相数据通过与运算电路28写入存储器单元。
在存储器单元阵列1进行“1清零”的情况下,数据“1”仅写入存储数据“0”的存储器单元。该写入通过或逻辑电路进行。在进行读后用1清零的情况下,在从用于读取的存储器单元读取数据之后产生WE信号并启动或逻辑电路。接着,根据或逻辑将读信号的反相数据写入存储器单元。
这就是说,在读取模式输入/ORE信号或/ANDE信号的情况下,当数据读取结束之后未激活/CAS信号或/OE信号时,将读取数据的反相数据写入存储器单元,并且输出清零信号和WE信号,这两个信号使数据输出缓冲器4启动。因此,根据或逻辑或者与逻辑自动将读取数据的反相数据写入存储器单元。在进行或写入的情况下,当用于写入的数据为“1”并且建立/ORE信号时,将“1”写入存储器单元阵列内用于写入的存储器单元,使用于写入的数据为完整的。在用于写入的数据为“0”的情况下,存储在用于写入的存储器单元中的数据保持不变。
作为一个具体的实例将解释图3B所示的读后用1清零的操作。在/ORE信号和FF电路23的输出/Q都为逻辑低电平并且/WBE信号,WE信号和/ANDE信号同样为逻辑高电平的情况下,由于或逻辑电路26的输入端都处于逻辑低电平,则或逻辑电路26的输出D处于逻辑低电平。由于将FF电路23的输出Q(逻辑高电平)提供给或逻辑电路27的输入端,则或运算电路27的输出C处于逻辑高电平。由于将/WBE信号(逻辑高电平)、WE信号(逻辑高电平)、或运算电路27的输出C(逻辑高电平)和或逻辑电路26的输出D(逻辑低电平)提供给与运算电路28的输入端,则与运算电路28的输出B处于逻辑低电平。因此,三态缓冲器22处于高阻状态,并且即使输入数据为“1”也不产生输出A。
在上述的读后用1清零中,对于未反相FF电路23的输出的情况将给出解释。在该情况下,由于FF电路23的输出/Q处于逻辑高电平并且相同的输出Q处于逻辑低电平,则将输出Q(逻辑低电平)和/ANDE信号(逻辑高电平)提供给或逻辑电路27的输入端并且或逻辑电路27的输出C处于逻辑高电平。由于经FET 21将/ORE信号(逻辑低电平)和输出/Q(逻辑高电平)提供给或运算电路26的输入端,则或运算电路26的输出D处于逻辑高电平。由于将输出C,输出D,/WBE信号和WE信号提供给与运算电路28的输入端,这些信号都处于逻辑高电平,则与运算电路28的输出B处于逻辑高电平。因此,启动三态缓冲器22,输入数据“1”通过过三态缓冲器22,并且三态缓冲器22的输出(输出A)处于逻辑高电平。在这种情况下,在写入之后存储器单元的数据处于逻辑高电平。
下面,将解释图3B所示的读后用0清零。在这种情况下,由于FF电路23的输出/Q处于逻辑高电平,将FF电路23的输出Q(逻辑低电平)和/ANDE信号(逻辑低电平)提供给或运算电路27的输入端,并且或运算电路27的输出C处于逻辑低电平。由于将/ORE信号(逻辑高电平)和输出/Q(逻辑高电平)经FET 21提供给或逻辑电路26的输入端,则或逻辑电路26的输出D处于逻辑高电平。由于将输出D(逻辑高电平),/WBE信号(逻辑高电平),WE信号(逻辑高电平)和输出C(逻辑低电平)提供给与运算电路28的输入端,则与运算电路28的输出B处于逻辑低电平。在这种情况下,由于三态缓冲器22的输入数据为“0”,则未产生三态缓冲器22的输出(输出A),并且写入之后的存储器单元的数据处于逻辑低电平。
进一步,在上面的读后用0清零中,将给出对FF电路的输出进行反相的情况下的说明。在这种情况下,由于FF电路23的输出/Q处于逻辑低电平,将输出Q(逻辑高电平)和/ANDE信号(逻辑低电平)提供给或运算电路27的输入端,并且或运算电路27的输出C处于逻辑高电平。由于将/ORE信号(逻辑高电平)和输出/Q(逻辑低电平)经FET 21提供给或运算电路26的输入端,则或运算电路26的输出D处于逻辑高电平。由于将输出C,输出D,/WBE信号和WE信号提供给与运算电路28的输入端,这些信号都是逻辑高电平,则与运算电路28的输出B处于逻辑高电平。然而,由于输入到三态缓冲器22(/Q)的数据处于逻辑低电平,三态缓冲器22的输出A处于逻辑低电平,因此写入之后的存储器单元内的数据处于逻辑低电平。
根据上面的实施例,当数据输出到打印引擎时,在不使用一个修改的写入周期模式的情况下就可实现读后清零功能。具体地说,可将写入页存储器单元所必须的时间平均减少20%,并且仅一个单独的写入就可完成读、运算和重写。进一步,可提供这样一种半导体存储器(DRAM),其不再需要用于或运算、与运算和重写运算的电路以及用于读后清零的电路。
如以上所述,由于在根据本发明的半导体存储器中具有一个运算控制电路,该运算控制电路电路参考从用于写入的存储器单元读取的数据和与数据写入有关的使能信号、并根据上述信号的状态,将数据写入到用于写入的存储器单元,在常规半导体存储器中所必须的用于进行或和与运算的复杂电路已不再是必需的,并且通过半导体存储器内的一个简单电路,可与其中在写入时进行或和与运算的常规半导体存储器一样地将数据写入存储器单元。进一步,在将数据输出到打印引擎时,不需要一个外部的附加电路就可进行读后清零,从而对存储器单元进行清零。
尽管参照完整和清楚公开的具体实施例已描述了本发明,但是后附的权利要求不应被上述说明所限定,而应理解为包括本领域技术人员所能完成的完全落入本文列出教导范围内的所有修改和替换结构。