下面,参照附图说明本发明的实施例。
图1是表示本发明的多阈值存储器、具体地说表示多阈值存储式NAND快速存储器的示意性结构的方框图。
把可在电气上写入数据的多个存储单元以矩阵状配置,来形成存储单元阵列1。该存储单元阵列1包括把各存储器的每行连接的多条位线,和把各存储器的每列连接的多条位线,对于存储单元阵列1,设有用于控制位线的位线控制电路2和字线控制电路6。
位线控制电路2通过位线读出存储单元阵列1中的存储单元的数据,通过位线检测存储单元阵列1中的存储单元的状态,通过位线向存储单元阵列1中的存储单元外加读出控制电压,在存储单元中进行写入。位线控制电路2包括多个数据存储电路,根据从列译码器3选择的数据存储电路中读出的存储单元的数据,通过数据输入输出缓冲器4从数据输入输出端子5向外部输出。此外,由外部向输入输出端子5输入的写入数据,通过数据输入输出缓冲器4,在根据列译码器3选择的数据存储电路上作为初期的控制数据来输入。为了检测在控制电路2中包含的多个数据存储电路内存储的内容,设有数据检测电路9。
字线控制电路6选择存储单元阵列1中的字线,提供读出、写入或清除所需电压。
存储单元阵列1、位线控制电路2、列译码器3、数据输入输出缓冲器4、字线控制电路6和数据检测电路9利用控制信号和控制电压发生电路7来控制。控制信号和控制电压发生电路7由从外部向控制信号输入端子8输入的控制信号来控制。此外,与用数据检测电路9检测的、在位线控制电路2中包含的多个数据存储电路的内容对应。
图2是表示在本发明第一实施例中,图1所示的存储单元阵列1和位线控制电路2的结构例的图。
存储单元M的4个串联连接的NAND型单元组件的一端通过选择晶体管S与位线BL连接,另一端通过选择晶体管S与共用源线SRC连接。存储单元M的控制栅极电极与字线WL连接,两个选择晶体管S分别与选择晶体管SG1、SG2连接。共有一条字线WL的存储单元M形成称为页的单位,用4页构成一个数据块。其中,表示了两个数据块,但也可以是任意整数、例如1024个数据块等。此外,位线BL用BL0~BL4223的4224条来表示,但也可以是任意整数、例如2112条。
位线控制电路2包括多个数据存储电路10。其中,对应两条位线BL设有一个数据存储电路10,但也可以对应多条,例如一条、四条、六条和九条设置一个数据存储电路。信号CSL是列译码器3的输出信号,例如,在与位线BL0和BL1连接的数据存储电路10中存储的存储单元的数据通过CSL0和CSL1向数据输入输出缓冲器4输出。此外,例如,通过CSL2和CSL3,在与位线BL2和BL3连接的数据存储电路10上,由数据输入输出缓冲器4进行控制数据的初期传送。在读出时,数据存储电路10读出与任何一个位线连接的存储单元的数据。再有,写入时,在与任何一个位线连接的存储单元上,按照存储的控制数据外加控制电压。还有,写入状态检测时,检测与任何一个位线连接的存储单元的写入状态。
图3是表示图2所示的存储单元M和选择晶体管S的剖视图。在p型半导体基片11的表面上形成n型扩散层12。在存储单元M中,通过在半导体基片11上的绝缘膜13形成浮栅14,并且通过在其上的绝缘膜15形成作为字线WL的控制栅极16。在选择晶体管S中,通过在半导体基片11上绝缘膜17形成作为选择栅极SG的选择栅极18。
图4是表示使其两端的两个选择晶体管合并的图2所示的NADN型单元组件结构的剖视图。存储单元M被串联成四个,一端通过选择晶体管S与共用源线SRC连接。另一端通过选择晶体管S与位线BL连接。如果例如把WL2作为选择字线,那么写入时,在选择字线WL2上外加20V。在非选择字线WL1、WL3和WL4上供给10V。此外,在选择栅极SG1上供给电源电压VCC。选择栅极SG2为0V。
例如,在4值存储的情况下,在写入数据“1”、“2”、“3”时,位线BL为0V。因此,在选择存储单元中浮栅上被注入电子的阈值变为正。在写入数据“0”的情况下,位线BL为电源电压VCC。这种情况下,在浮栅上不注入电子。写数据“1”、“2”、“3”时的位线BL电压也可以用0V。例如,写数据“1”时位线BL电压为0.8V,写数据“2”、“3”时的位线BL电压也可以是0V。这是因为为了存储数据“1”在存储单元M的浮栅上注入的电子量比为了存储数据“2”、“3”注入的电子少的缘故。此外,写数据“1”、“2”、“3”时的位线BL的电压最好分别不同。例如,最好分别为0.8V、0.4V、0V。
清除时,基片的电压Vsub为20V。此外,选择栅极SG1和SG2、共用源线SRC、位线BL也为20V。如果清除数据块的字线WL1~WL4为0V,那么从浮栅中发射的电子的阈值变为负(数据“0”的状态)。如果未清除数据块的字线WL1~WL4为20V,那么从浮栅中不发射电子。
例如,在4值存储的情况下,对应数据“0”,存储单元的阈值为0V,对应数据“1”,存储单元的阈值为0.4V~0.8V,对应数据“2”,存储单元的阈值为1.2V~1.6V,对应数据“3”,存储单元的阈值为2.0V~2.4V。读出时,选择字线WL2为Vread。非择字线WL1、WL3和WL4为电源电压VCC(例如,3.3V)。选择栅极SG1和SG2也为VCC。共用源线SRC为0V。
(1)如果Vread为0V,选择存储单元正存储着数据“1”或“2”或“3”,那么以VCC充电的浮置状态的位线电压就是原来的电压VCC。如果选择存储单元正存储着数据“0”,那么以VCC充电的浮置状态的位线电压就下降至0V。
(2)如果Vread为1V,选择存储单元正存储着数据“2”或“3”,那么以VCC充电的浮置状态的位线电压就是原来的电压VCC。如果选择存储单元正存储着数据“0”或“1”,那么以VCC充电的浮置状态的位线电压就下降至0V。
(3)如果Vread为1.8V,选择存储单元正存储着数据“3”,那么以VCC充电的浮置状态的位线电压就是原来的电压VCC。如果选择存储单元正存储着数据“0”或“1”或“2”,那么以VCC充电的浮置状态的位线电压就下降至0V。
象以上的(1)~(3)那样,通过检测使电压Vread变化时的位线电压,可判定在存储单元M中存储的数据。
图5表示说明图2所示的存储单元阵列1和数据存储电路10的更具体的结构例的图,突出表示着眼于位线BLi和BLi+1的一部分电路结构。再有,其中,表示了4值存储快速存储器的结构例。
也就是说,在数据存储电路10中,设有分别包括触发电路的第一和第二子数据电路20、21。具体地说,用p沟道MOS晶体管Qp1和Qp2,以及n沟道MOS晶体管Qn1、Qn2、Qn4、Qn5、Qn8构成第一子数据电路20。此外,用p沟道MOS晶体管Qp4和Qp5,以及n沟道MOS晶体管Qn12、Qn13、Qn15、Qn16、Qn19构成第二子数据电路21。第一和第二子数据电路20、21分别在写入时存储第一和第二子数据,分别在读出时存储第一和第二读出子数据。p沟道MOS晶体管Qp3和Qp6分别用于预置第一和第二子数据电路20、21的晶体管。如果进行预置,那么第一子数据电路20内的节点Nai就变为“H”电平。该状态是第一子数据电路20为“1”的第一读出子数据,或是正在存储“1”的第一子数据的状态。此外,如果预置,那么第二子数据电路21内的节点Nai+1就变为“H”电平。该状态是第二子数据电路21为“1”的第二读出子数据,或是正在存储“1”的第二子数据的状态。第一子数据电路20内的节点Nai为“L”电平的状态是第一子数据电路20为“0”的第一读出子数据或是正在存储“0”的第一子数据的状态。第二子数据电路21内的节点Nai+1为“L”电平的状态是第二子数据电路21为“0”的第二读出子数据或是正在存储“0”的第二子数据的状态。
n沟道MOS晶体管Qn6和Qn17是分别用于与第一和第二子数据电路20、21电连接的数据输入输出线IOL、IOU的晶体管。在各自的栅极电极上,分别提供从列译码器3中的输出CSLi和CSLi+1。例如,如果CSLi变为“H”电平,就把在位线BLi和BLi+1上设置的数据存储电路10的第一子数据电路20与数据输入输出线IOL电连接。把数据输入输出线IOL、IOU连接在数据输入输出缓冲器4上,能够在第一子数据电路20上设定子数据。或者,能够把第一子数据电路20的读出子数据输出给数据输入输出缓冲器4。n沟道MOS晶体管Qn3和Qn14是分别用于预置第一和第二子数据电路20、21中“0”的子数据的晶体管。如果进行预置,那么第一子数据电路20内的节点Nai变为“L”电平。此外,如果进行预置,那么第二子数据电路21内的节点Nai+1变为“L”电平。
n沟道MOS晶体管Qn7和Qn8,按照在第一子数据电路20中存储的第一子数据,控制位线BLi或BLi+1的电压。此外,n沟道MOS晶体管Qn18和Qn19,按照在第二子数据电路21中存储的第二子数据,控制位线BLi或BLi+1的电压。
在第一子数据电路20中存储“1”的第一子数据时,n沟道MOS晶体管Qn7和Qn8使位线BLi或BLi+1的电压为0V。此外,在第二子数据电路21中存储“1”的第二子数据时,n沟道MOS晶体管Qn18和Qn20使位线BLi或BLi+1的电压为0V。
n沟道MOS晶体管Qn10和Qn21控制第一和第二子数据电路20、21与位线BLi或BLi+1的电连接。如果信号BLC1为“H”,BLC2为“L”,那么就使第一和第二子数据电路20、21与位线BLi电连接。如果信号BLC1为“L”,BLC2为“H”,那么就使第一和第二子数据电路20、21与位线BLi+1电连接。
n沟道MOS晶体管Qn11和Qn22控制位线BLi与电压VBL1的电连接、位线BLi+1与电压VBL2的电连接。如果信号PRE1为“H”,位线BLi与电压VBL1电连接。如果信号PRE2为“H”,位线BLi+1与电压VBL2电连接。
信号RET、SEN1、SEN2、RD1、RD2、PRO1、PRO2、PRST、BLC1、BLC2、PRE1、PRE2、电压VRP、VBL1、VBL2是控制信号和控制电压产生电路7的输出信号,在整个图2所示的数据存储电路10上共用。数据输入输出线IOL、IOU被连接在数据输入输出缓冲器4上,在整个图2所示的数据存储电路10上共用。电压VCC是电源电压,例如为3.3V。
这样构成第一和第二子数据电路20、21,以便存储“0”或“1”的子数据的一方,分别对应作为读出电路的位线信号的“H”电平,把正在存储的“1”的子数据变更为“0”的子数据,保持“0”的子数据。此外,这样构成第一和第二子数据电路20、21,以便存储“0”或“1”的读出子数据,分别对应位线信号的“H”电平,把正在存储的“1”的子数据变更为“0”的子数据,保持“0”的子数据。
也就是说,图5所示的信号SEN1或SEN2变为“H”,如果把此时位线BL的“H”电平传送给n沟道MOS晶体管Qn5或Qn16的栅极电极,那么n沟道MOS晶体管Qn5或Qn16导通,节点Nai或Nai+1为“L”电平。因此,“1”的子数据或读出的子数据就变更为“0”的子数据或读出的子数据。“0”的子数据或读出的子数据由于节点Nai或Nai+1原来为“L”电平而不变更。此外,利用位线BL的“L”电平,子数据或读出子数据由于n沟道MOS晶体管Qn5或Qn16非导通而不变更。再有,不限于图5所示的结构例,采用有上述功能的各种各样的电路能够同样实现第一和第二子数据电路20、21。
图6表示图1所示的数据检测电路9的具体结构例。在用转换器I1、NAND逻辑电路G1、G2、G3构成的电路中,检测在数据存储电路10中是否有“1”的控制数据。如果即便正在存储数据存储电路10的一个“1”的控制数据,信号FR1就变为“H”。在用转换器I2、NAND逻辑电路G4、G5、G6构成的电路中,检测在数据存储电路10中是否有“2”的控制数据。如果即便正在存储数据存储电路10的一个“2”的控制数据,信号FR2就变为“H”。在用NAND逻辑电路G7、G8、G9构成的电路中,检测在数据存储电路10中是否有“3”的控制数据。如果即便正在存储数据存储电路10的一个“3”的控制数据,信号FR3就变为“H”。信号DT为“H”时,通过数据输入输出线IOL、IOU,检测数据存储电路10的控制数据。如果信号DRSTB变为“L”,信号FR1、FR2、FR3被预置为“L”。信号DT、DRSTB是控制信号和控制电压产生电路7的输出信号。信号FR1、FR2、FR3是对控制信号和在控制电压产生电路7进行反馈。
图7表示在存储单元上存储的4值数据的读出动作。其中,表示选择位线为BL0、BL2、…BLi、…BL4222(作为代表,以BLi表示)、选择字线为WL2的情况。如果把存储等级限定为三级,那么能够实施容易的3值存储。电压VBL1、VBL2读出期间为0V。
首先,选择信号BLC1变为“H”的位线BLi(t1)。根据信号RST,设定在第一和第二子数据电路20、21上“1”的各自第一和第二读出子数据(t1~t2)。电压VRP为电源电压VCC(t1)。
断开信号PRE1变为“L”的位线BLi和电压VBL1(t3)。信号PRO2变为“H”(t3)时,位线BLi通过第二子数据电路21充电为“H”电平(t3~t4)。接着,被选择的数据块的选择栅极SG1和SG2、以及非选择字线WL1、3、4为电源电压VCC,选择字线WL2为1.8V(t4)。
其中,表1表示在存储单元M中存储的数据和阈值的关系。表1
存储单元的数据 |
存储单元的阈值 |
0123 |
0V以下0.4V~0.8V1.2V~1.6V2.0V~2.4V |
如果选择字线WL2变为1.8V,那么仅在存储单元存储“3”数据的情况下,位线BLi仍为“H”(图7的(1))。除此以外的情况下,位线BLi变为“L”(图7的(2))。接着,信号SEN1和SEN2为“H”,读出调制的位线BLi的电压(t5~t6)。只有在存储单元存储“3”数据的情况下,第一和第二子数据电路20、21的第一和第二读出子数据会同时变为“0”。除此以外的情况下,第一和第二读出子数据仍为“1”。
信号PRE1变为“H”时(t6~t7),把位线BLi预置为0V。然后在信号PRO2变为“H”时(t7~t8),只有在第二读出子数据为“1”的情况下,根据电压VRP,位线BLi充电为“H”电平(t7~t8)。在第二子数据电路21中存储第二读出子数据为“0”的情况下,位线BLi仍为“L”电平(图7的(5))。接着,被选择的数据块的选择栅极SG1和SG2、以及非选择字线WL1、3、4为电源电压VCC,选择字线WL2为1.0V(t8)。
如果选择字线WL2变为1.0V,那么仅在存储单元存储数据“2”的情况下,位线BLi仍为“H”(图7的(3))。存储单元为“1”或“0”的情况下,位线BLi变为“L”(图7的(4))。接着,信号SEN2为“H”,读出调制的位线BLi的电压(t9~t10)。只有在存储单元存储数据“2”的情况下,第二读出子数据会从“1”变为“0”。在存储单元存储数据“3”的情况下,如前所述,第二读出子数据为“0”。
信号PRE1变为“H”时(t10~t11),把位线BLi预置为0V。然后在信号PRO2变为“H”时(t11~t12),只有在第二读出子数据为“1”的情况下,根据电压VRP,位线BLi充电为“H”电平(t11~t12)。在第二子数据电路21中存储第二读出子数据为“0”的情况下,位线BLi仍为“L”电平(图7的(8))。接着,被选择的数据块的选择栅极SG1和SG2、以及非选择字线WL1、3、4为电源电压VCC,选择字线WL2为0V(t12)。
如果选择字线WL2变为0V,那么仅在存储单元存储数据“1”的情况下,位线BLi仍为“H”(图7的(6))。存储单元存储数据“0”的情况下,位线BLi变为“L”(图7的(7))。接着,信号SEN1为“H”,读出调制的位线BLi的电压(t13~t14)。只有在存储单元存储数据“1”的情况下,第一读出子数据会仍为“1”。在存储单元存储数据“2”的情况下,由于位线BLi的电压不跟随存储单元的“L”,所以第一读出子数据仍为“1”。
如果信号CSLi和CSLi+1变为“H”,通过向数据输入输出线IOL输出的数据输入输出缓冲器4,从数据输入输出端子5把第一读出子数据向外部输出。此外,通过向数据输入输出线IOU输出的数据输入输出缓冲器4,从数据输入输出端子5把第二读出子数据向外部输出。根据由列译码器3选择的信号CSL,能够把任意列地址的第一和第二读出子数据输出。
读出动作中,非选择位线BLi+1由电压VBL2来固定。这里为0V。
表2表示存储单元的4值数据与第一和第二读出子数据的关系。表2
存储单元的数据 |
第一读出子数据 |
第二读出子数据 |
0123 |
1010 |
1100 |
图8表示向数据存储电路10的控制数据的初期设定的写入动作。其中,表示选择位线为BL0、BL2、…BLi、…BL4222(作为代表,以BLi表示)、选择字线为WL2的情况。如果把存储等级限定为三级,那么能够实施容易的3值存储。
可如下进行向配置了位线BLi的数据存储电路10的控制数据的初期设定。把第一子数据电路20的初期子数据传输给数据输入输出线IOL,使信号CSLi变为“H”,在第一子数据电路20上存储初期子数据。同时,把第二子数据电路21的初期子数据传输给数据输入输出线IOU,使信号CSLi+1变为“H”,在第二子数据电路21上存储初期子数据。表3表示此时初期控制数据与初期子数据的关系。表3
初期的控制数据 |
第一子数据电路的初期子数据 |
第二子数据电路的初期子数据 |
0123 |
1010 |
1100 |
其中,在所有初期控制数据设定以前,期望使信号PRS为“H”,把所有的数据存储电路10的控制数据预置为“0”。如下面的说明,由于不变化根据控制数据“0”的存储单元M的状态,所以仅在2112个数据存储电路10内期望的数据存储电路10上设定来自外部的初期控制数据就可以了。当然,也可以在全部2112个数据存储电路10上从外部设定初期控制数据。
在写入动作中,首先选择信号BLC1变为“H”的位线BLi(t1)。预置信号DRSTB变为“L”的数据检测电路9(t1~t2)。电压VBL1变为VCC时,通过n沟道MOS晶体管Qn11,使选择位线BLi充电至VCC,然后信号PRE1变为“L”,使选择位线BLi浮置(t2~t3)。此外,电压VBL2变为VCC时,通过n沟道MOS晶体管Qn22,使非选择位线BLi+1充电至VCC(t2~t3)。再有,选择栅极SG1和字线WL1~4为VCC(t2~t3)。
信号PRO1和PRO2变为“H”时,如果第一或第二子数据的其中一个为“1”,那么通过n沟道MOS晶体管Qn9或Qn20,选择位线BLi为0V(t3)。结果,位线BLi在控制数据为“0”的情况下变为VCC,在控制数据为“1”、“2”或“3”的情况下变为0V。使选择字线WL2为20V,非选择字线为10V,向存储单元的浮栅的电子注入按控制数据开始(t3)。在位线BL为0V是情况下,用存储单元的沟道与字线之间的电位差为20V导致电子注入。在位线BL为VCC的情况下,由于存储单元的沟道与字线之间的电位差较小,所以实际上不会导致电子注入。
选择字线WL2为20V期间(t3~t7),检测在数据存储电路10中存储的控制数据。通过列译码器3,从CSL0和CSL1到CSL4222和CSL4223顺序地进行选择,通过数据输入输出线IOL和IOU,把控制数据传给数据检测电路9。作为实例,图8表示选择CSLi和CSLi+1的情况。CSLi和CSLi+1变为“H”时(t4~t5),输出数据输入输出线IOL和IOU上的控制数据,如果信号DT变为“H”,那么用数据检测电路9检测控制数据(t5~t6)。如果数据存储电路10内即使存储一个数据“1”,那么信号FR1就变为“H”。如果数据存储电路10内即使存储一个数据“2”,那么信号FR2就变为“H”。如果数据存储电路10内即使存储一个数据“3”,那么信号FR3就变为“H”。
字线W1~4降至VCC(t7~t8)后,把电压VBL2为0V、信号PRE1变为“H”的位线BLi和BLi+1复位到0V(t8~t9)。电压VBL1为0V。此外,把字线WL1~4也复位至0V(t8~t9)。
图9表示在图8所示的时间t1~t9中进行的写入动作后,检测存储单元的写入状态的写入校验动作。其中,表示选择位线为BL0、BL2、…BLi、…BL4222(作为代表,以BLi表示)、选择字线为WL2的情况。电压VBL1和VBL2为0V。如果把存储等级限定为三级,那么能够实施容易的3值存储。
首先,断开信号PRE1变为“L”的位线BLi和电压VBL1,使位线BLi变为0V的浮置状态(t1)。同时,选择信号BLC1变为“H”的位线BLi(t1)。
电压VRP变为电源电压VCC时(t2),与信号PRO2变为“H”、存储“3”和“2”的控制数据的数据存储电路10对应的位线BLi,通过n沟道MOS晶体管,充电至“H”电平(t3~t4)。与存储“1”和“0”的控制数据的数据存储电路10对应的位线BLi仍为“L”电平。接着,被选择的数据块的选择栅极SG1和SG2、以及非选择字线WL1、3、4为电源电压VCC,选择字线WL2为2V(t4)。如果选择字线WL2变为2.0V,如果与存储“3”的控制数据的数据存储电路10对应的存储单元达到进入存储数据“3”的状态,那么位线BLi仍为“H”(图9的(1))。如果与存储“3”的控制数据的数据存储电路10对应的存储单元未达到存储数据“3”的状态,那么位线BLi变为“L”(图9的(2))。由于与存储“2”的控制数据的数据存储电路10对应的存储单元达未达到存储数据“3”的状态,所以位线BLi变为“L”(图9的(2))。与存储“1”或“0”的控制数据的数据存储电路10对应的位线BLi仍为“L”(图9的(3))。接着,信号SEN1和SEN2变为“H”,读出位线BLi的电压(t5~t6)。只有在与存储“3”的控制数据的数据存储电路10对应的存储单元达到存储数据“3”的状态的情况下,第一和第二子数据电路20、21的第一和第二子数据才同时变为“0”,控制数据被变更为“0”。在除此以外的情况下,保持第一和第二子数据。从时间t2至t6为数据“3”的校验读出。
在信号PRO1和RD1变为“H”时(t7),通过第一子数据电路20,与存储“2”或“0”的控制数据的数据存储电路10对应的位线BLi充电为“H”电平(t7~t8)。通过第一子数据电路20,与存储“3”或“1”的控制数据的数据存储电路10对应的位线BLi变为“L”电平(t7~t8)。接着,被选择的数据块的选择栅极SG1和SG2、以及非选择字线WL1、3、4为电源电压VCC,选择字线WL2为1.2V(t8)。如果选择字线WL2变为1.2V,如果与存储“2”的控制数据的数据存储电路10对应的存储单元达到进入存储数据“2”的状态,那么位线BLi仍为“H”(图9的(4))。如果与存储“2”的控制数据的数据存储电路10对应的存储单元未达到存储数据“2”的状态,那么位线BLi变为“L”(图9的(5))。如果与存储“0”的控制数据的数据存储电路10对应的存储单元达到存储数据“2”或“3”的状态,那么位线BLi仍为“H”(图9的(4))。如果与存储“0”的控制数据的数据存储电路10对应的存储单元未达到存储数据“2”的状态,那么位线BLi变为“L”(图9的(5))。与存储“3”或“1”的控制数据的数据存储电路10对应的位线BLi仍为“L”(图9的(6))。接着,信号SEN2变为“H”,读出调制的位线BLi的电压(t9~t10)。只有在与存储“2”的控制数据的数据存储电路10对应的存储单元达到存储数据“2”的状态的情况下,第二子数据电路21的第二子数据才变为“0”,控制数据被变更为“0”。在除此以外的情况下,保持第二子数据。从时间t7至t10为数据“2”的校验读出。
在信号PRO2和RD2变为“H”时(t11),通过第二子数据电路21,与存储“1”或“0”的控制数据的数据存储电路10对应的位线BLi充电为“H”电平(t11~t12)。通过第二子数据电路21,与存储“3”或“2”的控制数据的数据存储电路10对应的位线BLi变为“L”电平(t11~t12)。接着,被选择的数据块的选择栅极SG1和SG2、以及非选择字线WL1、3、4为电源电压VCC,选择字线WL2为0.4V(t12)。如果选择字线WL2变为0.4V,如果与存储“1”的控制数据的数据存储电路10对应的存储单元达到进入存储数据“1”的状态,那么位线BLi仍为“H”(图9的(7))。如果与存储“1”的控制数据的数据存储电路10对应的存储单元未达到存储数据“1”的状态,那么位线BLi变为“L”(图9的(8))。如果与存储“0”的控制数据的数据存储电路10对应的存储单元达到存储数据“1”或“2”或“3”的状态,那么位线BLi仍为“H”(图9的(7))。如果与存储“0”的控制数据的数据存储电路10对应的存储单元未达到存储数据“1”的状态,那么位线BLi变为“L”(图9的(8))。与存储“3”或“2”的控制数据的数据存储电路10对应的位线BLi仍为“L”(图9的(9))。接着,信号SEN1变为“H”,读出调制的位线BLi的电压(t13~t14)。只有在与存储“1”的控制数据的数据存储电路10对应的存储单元达到存储数据“1”的状态的情况下,第一子数据电路20的第一子数据才变为“0”,控制数据被变更为“0”。在除此以外的情况下,保持第一子数据。从时间t11至t14为数据“1”的校验读出。
在时间t15,通过信号PRE1为“H”、BLC1为“L”,写入校验结束。在写入校验动作中,根据存储单元的写入状态,在数据存储电路10中存储的控制数据象表4那样变更。
表4
存储单元写入状态 |
写入校验前的控制数据 |
写入校验后的控制数据 |
0、1、2或3未到1未到22未到33 |
0112233 |
0102030 |
因此,通过在所有控制数据变为“0”前重复图8的t1~t9所示的写入动作和图9所示的写入校验动作,进行向存储单元M的数据写入(程序)。但是实际上,数据“3”的校验读出、数据“2”的校验读出、数据“1”的校验读出是如下那样有选择地进行的。
(1)在进行所有数据“3”的校验读出、数据“2”的校验读出、数据“1”的校验读出中,进行图9所示那样的写入校验动作。
(2)仅在进行数据“3”的校验读出、数据“2”的校验读出中,省略图9所示的定时图中的t11~t14。
(3)仅在进行数据“3”的校验读出、数据“1”的校验读出中,省略图9所示的定时图中的t7~t10。
(4)仅在进行数据“3”的校验读出中,省略图9所示的定时图中的t7~t14。
(5)仅在进行数据“2”的校验读出、数据“1”的校验读出中,省略图9所示的定时图中的t2~t6。
(6)仅在进行数据“2”的校验读出中,省略图9所示的定时图中的t11~t14。
(7)仅在进行数据“1”的校验读出中,省略图9所示的定时图中的t2~t10。
图10是表示在本发明的第一实施例中对应多阈值存储器程序的详细流程。该程序流程用图1所示的控制信号和控制电压产生电路来控制。
用在控制信号输入端子8上输入的程序开始指令开始程序。使计数在控制信号和在控制电压产生电路7内设置的变量IWT的计数电路复位的IWI为0(S1)。把在数据输入输出端子5上输入的4224位部分的初期控制数据装入数据存储电路10(S2)。
数据装入后,进行写入动作,此时,变量IWT仅增加1(S3)。检查数据检测电路9的输出FR3是否为“H”(S4)。如果数据检测电路9的输出FR3为“H”,数据“3”残留在数据存储电路10中,那么就检查变量IWT是否在预先确定的W3以上(S5)。如果变量IWT在W3以上,就进行数据“3”的校验读出(S6)。如果FR3为“L”或变量IWT比W3小,那么就省略数据“3”的校验读出。
接着,检查数据检测电路9的输出FR2是否为“H”(S7)。如果数据检测电路9的输出FR2为“H”,数据“2”残留在数据存储电路10中,那么就检查变量IWT是否在预先确定的W2以上(S8)。如果变量IWT在W2以上,就进行数据“2”的校验读出(S9)。如果FR2为“L”或变量IWT比W2小,那么就省略数据“2”的校验读出。
接着,检查数据检测电路9的输出FR1是否为“H”(S10)。如果数据检测电路9的输出FR1为“H”,数据“1”残留在数据存储电路10中,那么就检查变量IWT是否在预先确定的W1以上(S11)。如果变量IWT在W1以上,就进行数据“1”的校验读出(S12)。如果FR1为“L”或变量IWT比W1小,那么就省略数据“1”的校验读出。
接着,如果数据检测电路9的所有输出FR3、FR2、FR1为“L”,那么程序结束(S13、S14、S15)。在数据检测电路9的输出FR3、FR2、FR1中即使有一个“H”,也再次返回到写入动作(S3)。利用变量IWT增加一个,在选择字线上外加的写入时的电压(图8所示的时间t3至t7之间的选择字线的电压)就各增加0.4V,“1”、“2”、“3”写入的存储单元M的阈值也大致各上升0.4V。预先确定的W1、W2、W3如下确定。
图11表示存储单元M写入特性的实例。横轴表示写入动作次数IWT。纵轴表示写入动作次数IWT后最易写入的存储单元(白圈)的阈值和最难写入的存储单元(黑圈)的阈值。最易写入的存储单元的阈值在第一次写入动作后达到0.1V。此时,最难写入的存储单元的阈值为-1.5V。由于通过写入动作次数增加一个,选择字线的写入时的电压各增加0.4V,所以存储单元的阈值也大致各上升0.4V。
在第一次写入动作后,由于无论哪个存储单元的阈值还都未达到0.4V,所以数据“3”、数据“2”、数据“1”的完全校验读出是不必要的。在第二次以后,由于最易写入的存储单元的阈值超过0.4V,所以数据“1”的校验读出变得必要了。因此,W1按2来预先确定。在第四次以后,由于最易写入的存储单元的阈值超过1.2V,所以数据“2”的校验读出变得必要了。因此,W2按4来预先确定。在第六次以后,由于最易写入的存储单元的阈值超过2.0V,所以数据“3”的校验读出变得必要了。因此,W3按4来预先确定。
在第六次写入动作后,连最难写入的存储单元的阈值也超过了0.4V。因此,至少IWT=7以后,数据检测电路的输出FR1就变为“L”,数据“1”的校验读出不必最早。在第八次写入动作后,连最难写入的存储单元的阈值也超过了1.2V。因此,至少IWT=9以后,数据检测电路的输出FR2就变为“L”,数据“2”的校验读出不必最早。在第十次写入动作后,连最难写入的存储单元的阈值也超过了2.0V。因此,至少IWT=11以后,数据检测电路的输出FR3就变为“L”。这样,如果FR1、FR2、FR3都变为“L”,那么图10所示那样的程序就结束。
图12表示图1所示的数据检测电路9的变形例。通过图2所示的数据存储电路10的各自邻接或靠近处,来设置n沟道MOS晶体管Qn23、Qn24、Qn25、Qn26、Qn27、Qn28、Qn29、Qn30。在Qn23的栅极电极上,连接图5所示的第二子数据电路21的节点Nai+1。在Qn24的栅极电极上,连接图5所示的第一子数据电路20的节点Nai。在Qn25的栅极电极上,连接图5所示的第二子数据电路21的节点Nbi+1。在Qn26的栅极电极上,连接图5所示的第一子数据电路20的节点Nai。在Qn27的栅极电极上,连接图5所示的第二子数据电路21的节点Nai+1。在Qn28的栅极电极上,连接图5所示的第一子数据电路20的节点Nai。在Qn29的栅极电极上,连接图5所示的第二子数据电路21的节点Nai+1。在Qn30的栅极电极上,连接图5所示的第一子数据电路20的节点Nai。
如果转换器I3上输入的DECB变为“L”,转换器I4、I5的输出PT为“H”,那么所有的数据存储电路10的控制数据就为“0”。如果转换器I6上输入的DEC1B变为“L”,转换器I7的输出FR1为“H”,那么至少一个数据存储电路10的控制数据为“1”。如果转换器I8上输入的DEC2B变为“L”,转换器I9的输出FR2为“H”,那么至少一个数据存储电路10的控制数据为“2”。如果转换器I10上输入的DEC3B变为“L”,转换器I11的输出FR3为“H”,那么至少一个数据存储电路10的控制数据为“3”。信号DECB、DEC1B、DEC2B、DEC3B是来自控制信号和控制电压产生电路7的信号。信号PT、FR1、FR2、FR3是对控制信号和控制电压产生电路7的反馈。通过图12所示的数据检测电路9,进行经过汇总高速的数据检测。为此,没有图8所示写入动作时,也可以在数据“3”的校验读出前(图9所示的时间t1~t2)通过使信号DEC3为“L”来检查信号FR3。同样地,也可以在数据“2”的校验读出前(图9所示的时间t6~t7)通过使信号DEC2B为“L”来检查信号FR2。也可以在数据“1”的校验读出前(图9所示的时间t10~t11)通过使信号DEC1B为“L”来检查信号FR2。此外,在图9所示的写入校验动作后,如果使信号DECB为“L”检查信号PT,可用图10所示的步骤S13、S14、S15来进行。因此,无用的一部分的写入动作是不必要的,能够更高速地运行程序。
图13表示使用图12所示的数据检测电路9的情况下的程序流程。步骤S4、S7、S10通过分别使信号DEC3B、DEC2B、DEC1B为“L”来进行信号FR3、FR2、FR1的检查。步骤S13通过使信号DECB为“L”来进行信号PT的检查。此外,与图10所示的流程相同。
下面,图14表示在本发明第二实施例中,图1所示的存储单元阵列1和位线控制电路2的具体结构例的电路图。再有,其中表示作为多阈值存储器的4值存储EEPROM的实例。
在本发明第二实施例的多阈值存储器中,数据存储电路10中的第一子数据电路20由时钟同步式转换器CI1和CI2和n沟道MOS晶体管Qn33、Qn34、Qn35构成。此外,第二子数据电路21由时钟同步式转换器CI3和CI4和n沟道MOS晶体管Qn40、Qn41、Qn42构成。这些第一和第二子数据电路20、21在各自写入时存储第一和第二子数据,在各自读出时存储第一和第二读出子数据。第一子数据电路20内的节点Nai为“H”电平的状态是第一子数据电路20为“1”的第一读出子数据或存储“1”的第一子数据的状态。此外,第二子数据电路21内的节点Nai+1为“H”电平的状态是第二子数据电路21为“1”的第二读出子数据或存储“1”的第二子数据的状态。第一子数据电路20内的节点Nai为“L”电平的状态是第一子数据电路20为“0”的第一读出子数据或存储“0”的第一子数据的状态。第二子数据电路2 1内的节点Na i+1为“L”电平的状态是第二子数据电路21为“0”的第二读出子数据或存储“0”的第二子数据的状态。
n沟道MOS晶体管Qn32和Qn39电连接第一和第二子数据电路20、21各自数据输入输出线IOL、IOU。在各自的栅极电极上,分别供给由列译码器3输出的CSLi和CSLi+1。例如,如果CSLi变为“H”,就电连接在位线BLi和BLi+1中设置的数据存储电路10的第一子数据电路20与数据输入输出线IOL。数据输入输出线IOL、IOU连接在数据输入输出线缓冲器4上,能够在该第一子数据电路20中设定子数据。或者,能够把该第一子数据电路20读出的子数据输出给数据输入输出线缓冲器4。
n沟道MOS晶体管Qn36和Qn43控制第一和第二子数据电路20、21与位线BLi或BLi+1的电连接。如果信号BLC1为“H”,BLC2为“L”,那么第一和第二子数据电路20、21与位线BLi就被电连接。如果信号BLC1为“L”,BLC2为“H”,那么第一和第二子数据电路20、21与位线BLi+1就被电连接。
n沟道MOS晶体管Qn37和Qn44控制位线BLi与电压VBL1的电连接、位线BLi+1与电压VBL2的电连接。如果信号PRE1为“H”,那么位线BLi与电压VBL1电连接。如果信号PRE2为“H”,那么位线BLi+1与电压VBL2电连接。
n沟道MOS晶体管Qn31和Qn38用于在信号PRST变为“H”时,在第一和第二子数据电路20、21上设定“0”的子数据。
通过位BLi或BLi+1,传输显示存储单元M的数据或写入状态的信号。在第一子数据电路20中时钟同步式转换器CI1,在第二子数据电路21中时钟同步式转换器CI2还使读出位线BL信号的逻辑电平的读出放大器动作。在本例中,时钟同步式转换器按逻辑电平读出位线BL电压的绝对值,但也可以使用差动型等的读出放大器(差动),这种情况下,按逻辑电平检测与参考电压的差(参考)。
图15(a)、(b)表示图14所示的时钟同步式转换器CI的具体结构。图15(a)是示意图,图15(b)是其详细的电路图。用n沟道MOS晶体管Qn45和p沟道MOS晶体管Qp8构成的转换器电路的输入端子为IN,输出端子为OUT。利用信号CLOCK和其反信号CLOCKB,为了一边活化该转换器电路,或是不活化该转换器电路,设置n沟道MOS晶体管Qn46和p沟道MOS晶体管Qp7。当信号CLOCK为“H”,CLOCKB为“L”时进行活化,而当信号CLOCK为“L”,CLOCKB为“H”时,就不活化。
信号SEN1、LAT1、SEN2、LAT2、PRO1、PRO2、BLC1、BLC2、PRE1、PRE2、VRFY1、VRFY2、PRST、电压VBL1、VBL2、VREG、VFF为控制信号和控制电压发生电路7的输出信号,与图2所示的数据存储电路10完全共用。电压VCC为电源电压,例如为3.3V。
第一和第二子数据电路20、21存储“0”或“1”的子数据,对应各自位线信号的“H”电平,把存储的“1”的子数据变更为“0”的子数据,以构成保持“0”的子数据。也就是说,当信号PRO1或PRO2变为“H”,在位线BL的电压电平用同步式转换器CI1或CI3读出前,按照第一或第二子数据,由n沟道MOS晶体管Qn34、35或Qn41、42调整位线BL的电压电平。只有在第一或第二子数据为“0”的情况下,位线BL的电压电平才变为“H”。此时,如果把位线BL的“H”电平传送给时钟同步式转换器CI1或CI3,那么节点Nai或Nai+1就变为“L”电平。而且,利用时钟同步式转换器CI2或CI4,存储“0”的子数据。
因此,不变更原来存储的“0”的子数据。另一方面,在原来存储“1”的子数据的情况下,当位线BL的电平为“H”时,就变更为“0”的子数据,当位线BL的电平为“L”时,就保持“1”的子数据。再有,第一和第二子数据电路20、21并不限于图14所示的结构例,使用具有上述功能的各种各样的电路同样能够实现。
图16和图17表示在存储单元中存储的4值数据读出动作。其中,表示了选择位线BL0、BL2、…、BLi、…、BL4222(作为代表,以BLi表示),选择字线为WL2的情况。如果把存储级别限定在3级,就能够实现3值存储。此外,其中,由于电压VBL2为0V,BLC2为“L”,PRE2为“H”,PRST为“L”,位线BLi+1为0V,所以省略在图16中的显示。
首先,电压VBL1变为1.3V时,位线BLi充电为“H”(t1)。此外,选择信号BLC1变为“H”的位线BLi(t1)。为了使作为读出放大器动作的时钟同步式转换器CI1和CI3的读出灵敏度稳定,把电压VFF固定在2V。接着,切断信号PRE1变为“L”的位线BLi和电压VBL1。随后,使被选择的数据块的选择栅极SG1和SG2以及非选择字线WL1、3、4达到电源电压VCC,选择字线WL2为1.8V(t2)。
其中,表5表示在存储单元中存储的数据与阈值的关系。表5
存储单元的数据 |
存储单元的阈值 |
0123 |
0V以下0.4V~0.8V1.2V~1.6V2.0V~2.4V |
只有在选择字线WL2变为1.8V,存储单元存储数据“3”的情况下,位线BLi仍为“H”。除此以外的情况下,位线BLi变为“L”。在选择栅极SG1、SG2,字线WL1~WL4复位为0V后(t3),信号SEN2和LAT2变为“L”,使时钟同步式转换器CI3和CI4非活性化(t4)。如果信号PRO2变为“H”(t5),信号SEN2变为“H”(t6),那么时钟同步式转换器CI3被活化,读出位线BLi的电压。如果信号LAT1变为“H”(t7),那么时钟同步式转换器CI4被活化,锁定读出的位线BLi信号的逻辑电平。信号PRO1变为“L”(t8)时,结束检测存储单元M的阈值是否为1.8V的动作。只有在存储单元存储数据“3”的情况下,第二子数据电路21的第一读出子数据才变为“0”。在除此以外的情况下,第二读出子数据为“1”。
接着,进入检测存储单元M的阈值是否在0.0V以上的动作。如果电压VBL1变为1.3V(t8),信号PRE1变为“H”,那么位线BLi就充电“H”(t9)。随后,信号PRE1变为“L”时,切断位线BLi和电压VBL1。然后,使被选择的数据块的选择栅极SG1和SG2以及非选择字线WL1、3、4达到电源电压VCC,选择字线WL2为0.0V(t10)。同时,使信号VRFY2为1.3V,n沟道MOS晶体管Qn41导通。因此,只有在第二读出子数据为“0”的情况下,通过n沟道MOS晶体管Qn41、Qn42,位线BLi的电位变为“L”。
如果选择字线WL2变为0.0V,那么只有在存储单元存储数据“1”或数据“2”的情况下,位线BLi仍为“H”。在除此以外的情况下,位线BLi变为“L”。在选择栅极SG1、SG2、字线WL1~WL4复位为0V后(t11),信号SEN1和LAT1变为“L”,时钟同步式转换器CI1和CI2被活性化(t12)。信号PRO1变为“H”时(t13),时钟同步式转换器CI1被活性化,读出位线BLi的电压。信号LAT1变为“H”时(t15),时钟同步式转换器CI2被活性化,锁定读出的位线BLi信号的逻辑电平。信号PRO1变为“L”(t16)时,结束检测存储单元M的阈值是否为0.0V的动作。只有在存储单元存储数据“1”或“2”的情况下,第一子数据电路20的第一读出子数据才变为“0”。在除此以外的情况下,第一读出子数据为“1”。
接着,进入检测存储单元M的阈值是否在1.0V以上的动作。如果电压VBL1变为1.3V(t16),信号PRE1变为“H”,那么位线BLi就充电“H”(t17)。随后,信号PRE1变为“L”时,切断位线BLi和电压VBL1。然后,使被选择的数据块的选择栅极SG1和SG2以及非选择字线WL1、3、4达到电源电压VCC,选择字线WL2为1.0V(t18)。
如果选择字线WL2变为1.0V,那么只有在存储单元存储数据“3”或数据“2”的情况下,位线BLi仍为“H”。在除此以外的情况下,位线BLi变为“L”。在选择栅极SG1、SG2、字线WL1~WL4复位为0V后(t19),信号SEN2和LAT2变为“L”,时钟同步式转换器CI3和CI4被非活性化(t20)。信号PRO2变为“H”时(t21),信号SEN2变为“H”(t22),时钟同步式转换器CI3被活性化,读出位线BLi的电压。如果信号LAT2变为“H”(t23),时钟同步式转换器CI4被活性化,锁定读出的位线BLi信号的逻辑电平。信号PRO2变为“L”(t24)时,结束检测存储单元M的阈值是否为1.0V以上的动作。只有在存储单元存储数据“3”或“2”的情况下,第二子数据电路21的第二读出子数据才变为“0”。在除此以外的情况下,第二读出子数据为“1”。
当信号BLC1为“L”,信号PRE1为“H”,电压VFF变为VCC时,结束作为读出向数据存储电路10的存储单元M数据的动作。
如果信号CSLi、CSLi+1变为“H”(t26),那么在数据输入输出线IO上输出的第一读出子数据,在数据输入输出线IOU上输出的第二读出子数据,通过数据输出缓冲器4从数据输入输出端子5向外部输出。
表6表示存储单元的4值数据与第一和第二读出子数据的关系。表6
存储单元的数据 |
第一读出子数据 |
第二读出子数据 |
0123 |
1001 |
1100 |
图18表示向数据存储电路10的控制数据的初期设定和写入动作。其中,表示选择位线为BL0、BL2、…BLi、…BL4222(作为代表,以BLi表示)、选择字线为WL2的情况。如果把存储等级限定为三级,那么能够实施容易的3值存储。
如下进行向配有位线BLi的数据存储电路10的控制数据的初期设定。把第一子数据电路20的初期子数据传送给数据输入输出线IOL,把第二子数据电路21的初期子数据传送给数据输入输出线IOU,在信号CSLi+1变为“H”时,在第一和第二子数据电路20、21上存储初期子数据。改变信号CSL的选择,在任意数的数据存储电路10上设定初期控制数据。此时,初期控制数据与初期子数据的关系如表7所示。
表7
初期的控制数据 |
第一子数据电路的初期子数据 |
第二子数据电路的初期子数据 |
0123 |
0110 |
0011 |
其中,在所有初期控制数据设定前,也可以使信号PRST都为“H”,把所有数据存储电路10的控制数据都复位成“0”。如下所述,通过控制数据“0”,由于使存储单元M的状态未变化,所以也可以只在2112个数据存储电路10内期望的数据存储电路10上设定来自外部的初期控制数据。当然,也可以在全部2112个数据存储电路10上从外部设定初期控制数据。由于信号SEN1为“H”,LAT1为“H”,VRFY1为“L”,SEN2为“H”,VRFY2为“L”,电压VREG为0V,VFF为VCC,所以省略了图18中的表示。
在写入动作中,首先在信号PRE1变为“L”时切断位线BLi和电压VBL1(t1)。同时,选择信号BLC1变“H”的位线BLi(t1)。此外,信号DRST1变为“L”时复位数据检测电路9(t1~t2)。电压VBL2变为VCC时,通过n沟道MOS晶体管Qn44,使非选择位线BLi+1充电为VCC(t1~t2)。再有,在信号PRO1变为“H”时,根据第一子数据选择的位线BLi被充电(t2~t3)。此时,位线BLi在控制数据为“0”或“3”的情况下充电为VCC,在控制数据为“1”或“2”的情况下就为0V。此外,选择栅极SG1和字线WL1~4为VCC(t2~t3)。选择栅极SG2仍为0V。此后,信号PRO2变为1.8V时,根据第二子数据变更选择位线BLi的电压(t3)。在第二子数据为“0”的情况下,预先0V的位线BLi按比1.8V的n沟道MOS晶体管Qn40的阈值(例如1V)部分低0.8V进行充电。在第二子数据为“0”的情况下,预先VCC的位线BLi由于n沟道MOS晶体管Qn40不导通而仍为VCC。在第二子数据为“1”的情况下,由于n沟道MOS晶体管Qn40导通,所以位线BLi为0V。
结果,位线BLi在控制数据为“0”的情况下变为VCC,在控制数据为“1”的情况下变为0.8V,在控制数据为“2”的情况下变为0V,在控制数据为“3”的情况下变为0V。选择字线WL2为20V,非选择字线为10V,向存储单元的浮栅的电子注入按照控制数据开始(t3~t7)。在位线BL为0V的情况下,用存储单元与字线之间20V的电位差进行电子注入。在位线BL为0.8V的情况下,用存储单元与字线之间19.8V的电位差进行电子注入。在位线BL为VCC的情况下,由于存储单元的沟道与字线之间的电位差较小,所以实际上不会引起电子注入。
在选择字线WL2为20V期间(t3~t7),检测在数据存储电路10中存储的控制数据。利用列译码器3,按从CSL0和CSL1至CSL4222和CSL4223的顺序进行选择,通过数据输入输出线IOL和IOU,把控制数据传输给数据检测电路9。作为实例,图18表示了选择CSLi和CSLi+1的情况。在CSLi和CSLi+1变为“H”时(t4),在数据输入输出线IOL和IOU上输出控制数据,如果信号DT变为“H”,那么用数据检测电路9检测控制数据(t5~t6)。如果数据存储电路10内即使存储一个数据“1”,那么信号FR1就变为“H”。如果数据存储电路10内即使存储一个数据“2”,那么信号FR2就变为“H”。如果数据存储电路10内即使存储一个数据“3”,那么信号FR3就变为“H”。
字线WL1~4低于VCC后(t7~t8),电压VBL2为0V,在信号PRE1变为“H”时,位线BLi和BLi+1复位为0V(t8~t9)。电压VBL1为0V。此外,字线WL1~4也复位为0V(t8~t9)。
图19、图20和图21表示检测在图18所示的时间t1~t9中进行写入动作后的存储单元的写入状态的写入校验动作。其中,表示选择位线为BL0、BL2、…BLi、…BL4222(作为代表,以BLi表示)、选择字线为WL2的情况。如果把存储等级限定为三级,那么能够实施容易的3值存储。此外,由于电压VBL2为0V,BLC2为“L”,PRE2为“H”,PRST为“L”,CSLi为“L”,CSLi+1为“L”,BLi+1为0V,所以省略了图19~图21中的表示。
首先,电压VBL1变为1.3V,位线BLi充电为“H”(t1)。此外,信号BLC1变为“H”,选择位线BLi(t1)。使电压VFF固定在2.0V。接着,信号PRE1变为“L”,切断位线BLi的电压VBL1。然后,被选择的数据块的选择栅极SG1和SG2、以及非选择字线WL1、3、4为电源电压VCC,选择字线WL2为2.0V(t2)。
如果选择字线WL2变为2.0V,在与存储“3”的控制数据的数据存储电路10对应的存储单元达到存储数据“3”的状态下,那么位线BLi仍为“H”。如果在与存储“3”的控制数据的数据存储电路10对应的存储单元未达到存储数据“3”的状态下,那么位线BLi就变为“L”。由于与存储“2”或“1”的控制数据的数据存储电路10对应的存储单元未达到存储数据“3”的状态,所以位线BLi就变为“L”。在选择栅极SG1、SG2,以及非选择字线WL1~WL4复位为0V后(t3),只有在信号VRFY2变为“H”,第二子数据为“0”的情况下,位线BLi为“H”(t4)。其中,电压VREG为VCC。信号SEN2和LAT2变为“L”,时钟同步式转换器CI3和CI4被非活性化(t6)。信号PRO2变为“H”(t7),信号SEN2变为“H”(t8)和时钟同步式转换器CI3被活性化,读出位线BLi的电压。信号LAT2变为“H”(t9)和时钟同步式转换器CI4被活性化,锁定读出的位线BLi信号的逻辑电平。信号PRO2变为“L”(t10),结束与存储“3”的控制数据的数据存储电路10对应的存储单元是否达到存储数据“3”状态的检测(数据“3”的校验读出)。在该时刻,只有在检测出与存储“3”的控制数据的数据存储电路10对应的存储单元达到存储数据“3”状态的情况下,存储“3”的控制数据的数据存储电路10的控制数据才被变更为数据“0”,在除此以外的情况下,保持控制数据(不变更)。
接着,进入检测是否达到与存储“2”的控制数据的数据存储电路10对应的存储单元达到存储数据“2”状态的动作。电压VBL1变为1.3V(t10),信号PRE1变为“H”的位线BLi充电为“H”(t11)。随后,信号PRE1变为“L”,切断位线BLi和电压VBL1。然后,被选择的数据块的选择栅极SG1和SG2、以及非选择字线WL1、3、4就为电源电压VCC,选择字线WL2为1.2V(t12)。同时,信号VRFY1为1.3V,n沟道MOS晶体管Qn34导通。因此,这样在第一子数据为“0”的情况下,通过n沟道MOS晶体管Qn34、Qn35,位线BLi的电位才变为“L”(t12 t13)。
如果选择字线WL2变为1.2V,在与存储“2”的控制数据的数据存储电路10对应的存储单元达到存储数据“2”的状态下,那么位线BLi仍为“H”。如果在与存储“2”的控制数据的数据存储电路10对应的存储单元未达到存储数据“2”的状态下,那么位线BLi就变为“L”。由于与存储“1”的控制数据的数据存储电路10对应的存储单元未达到存储数据“2”的状态,所以位线BLi就变为“L”。在选择栅极SG1、SG2,以及非选择字线WL1~WL4复位为0V后(t13),只有在信号VRFY2变为“H”,第二子数据为“0”的情况下,位线Bli才为“H”(t14)。其中,电压VREG为VCC。信号SEN2和LAT2变为“L”,时钟同步式转换器CI3和CI4被非活性化(t16)。信号PRO2变为“H”(t17),信号SEN2变为“H”(t18)和时钟同步式转换器CI3被活性化,读出位线BLi的电压。信号LAT2变为“H”(t19)和时钟同步式转换器CI4被活性化,锁定读出的位线BLi信号的逻辑电平。信号PRO2变为“L”(t20),结束与存储“2”的控制数据的数据存储电路10对应的存储单元是否达到存储数据“2”状态的检测(数据“2”的校验读出)。
在此时刻,在检测出与存储“3”的控制数据的数据存储电路10对应的存储单元达到存储数据“3”状态的情况下,数据存储电路10的控制数据被变更为数据“0”。只有在与存储“2”的控制数据的数据存储电路10对应的存储单元达到存储数据“2”状态的情况下,数据存储电路10的控制数据才变更为数据“1”。除此以外的情况下,保持控制数据(不变更)。
接着,进入检测是否达到与存储“1”的控制数据的数据存储电路10对应的存储单元达到存储数据“1”状态的动作。电压VBL1变为1.3V(t20),信号PRE1变为“H”的位线BLi充电为“H”(t21)。随后,信号PRE1变为“L”,切断位线BLi和电压VBL1。然后,被选择的数据块的选择栅极SG1和SG2、以及非选择字线WL1、3、4就为电源电压VCC,选择字线WL2为0.4V(t22)。
如果选择字线WL2变为0.4V,在与存储“1”的控制数据的数据存储电路10对应的存储单元达到存储数据“1”的状态下,那么位线BLi仍为“H”。如果在与存储“1”的控制数据的数据存储电路10对应的存储单元未达到存储数据“1”的状态下,那么位线BLi就变为“L”。在选择栅极SG1、SG2,以及非选择字线WL1~WL4复位为0V后(t23),在信号PRO2变为1.3V(t24),第二子数据为“1”的情况下,位线BLi为“L”。在第二子数据为“0”的情况下,及在位线BLi为原来的“H”情况下,位线BLi仍为“H”。在第二子数据为“0”的情况下,及在位线BLi为原来的“L”情况下,如果n沟道MOS晶体管Qn40的阈值为1V,那么通过1.3V的信号PRO2,位线BLi就仅高出0.3V。为了使0.3V的位线BLi电压被检测为“L”,如果设定时钟同步式转换器CI1,那么位线BLi仍为“L”。接着,只有在信号VRFY1变为“H”,第一子数据为“0”的情况下,位线BLi变更为“H”(t26)。SEN1和LAT1变为“L”,时钟同步式转换器CI1和CI2被非活性化(t28)。信号PRO1变为“ H”(t29),信号SEN1变为“H”(t30)和时钟同步式转换器CI1被活性化,读出位线BLi的电压。信号LAT1变为“H”(t31)和时钟同步式转换器CI2被活性化,锁定位线BLi信号的逻辑电平。信号PRO1变为“L”(t32),结束与存储“1”的控制数据的数据存储电路10对应的存储单元是否达到存储数据“1”状态的检测(数据“1”的校验读出)。在此时刻,只有在与存储“3”的控制数据的数据存储电路10对应的存储单元达到存储数据“3”状态的情况下,在与存储“2”的控制数据的数据存储电路10对应的存储单元达到存储数据“2”状态的情况下,和在与存储“1”的控制数据的数据存储电路10对应的存储单元达到存储数据“1”状态的情况下,数据存储电路10的控制数据才变更为数据“0”。除此以外的情况下,保持控制数据(不变更)。
信号BLC1变为“L”,信号PRE1变为“H”,电压VFF变为VCC时,结束写入校验动作。
在写入校验动作中,根据存储单元的写入状态,如表8那样变更在数据存储电路10中存储的控制数据。
表8
存储单元写入状态 |
写入校验前的控制数据 |
写入校验后的控制数据 |
0、1、2或3未到11未到22未到33 |
0112233 |
0102030 |
因此,通过反复进行图18的t1~t9所示的写入动作和图19~图21所示的写入校验动作,直至所有控制数据变为“0”,来进行向存储单元M的数据写入(程序)。而且,也可以象如上所述的上述实施例1那样,按如下那样有选择地实行数据“3”的校验读出,数据“2”的校验读出和数据“1”的校验读出。
(1)在完全实行数据“3”的校验读出,数据“2”的校验读出和数据“1”的校验读出时,最好象图19~图21那样进行。
(2)在仅实行数据“3”的校验读出,数据“2”的校验读出时,最好象图19~图21那样进行。
(3)在仅实行数据“3”的校验读出,数据“1”的校验读出时,如图19~图21所示,也可以省去时间t11-t12。
(4)在仅实行数据“3”的校验读出时,如图19~图21所示,也可以省去时间t11-t34。而且,在t11时,电压VBL1复位为0V,VFF复位到VCC,信号PRE1复位到“H”,BLC1复位到“L”。
(5)在仅实行数据“2”的校验读出,数据“1”的校验读出时,如图19~图21所示,也可以省去时间t1-t11。而且,在t11时,可把电压VBL1设定为1.3V,VFF设定为2.0V,BLC1设定为“H”。
(6)在仅实行数据“2”的校验读出时,如图19~图21所示,也可以省去时间t1-t11。而且,在t11时,可把电压VBL1设定为1.3V,VFF设定为2.0V,BLC1设定为“H”。
(7)在仅实行数据“1”的校验读出时,如图19~图21所示,也可以省去时间t1-t21。而且,在t21时,可把电压VBL1设定为1.3V,VFF设定为2.0V,BLC1 设定为“H”。
其中,在进行本发明第二实施例的写入校验动作时,当实行数据“2”的校验读出时,仅第二子数据电路21读出位线电位。也就是说,假设如果在构成数据存储电路10的第一子数据电路20和第二子数据电路21之间读出灵敏度移动,那么在存储单元达到与存储数据“2”一致状态的情况下,在数据“2”的校验读出时,共同使用这两个子数据电路,即使为了使数据存储电路10的控制数据从“2”变更为“0”,也可能会有控制数据比如从“2”变更为“3”的情况。因此,在想写入数据“2”的存储单元中恐怕会写入数据“3”。
为了避免这样的问题,在本发明的第二实施例中,在写入校验动作内,对于数据“2”的校验读出,只有第二子数据电路21读出位线电位,在存储单元达到存储数据“2”的状态的情况下,使在数据“2”的校验读出时数据存储电路10的控制数据一次从“2”变更到“1”。接着,在这样的数据“2”的校验读出后,如果进行数据“1”的校验读出,必须把前面从“2”变更到“1”的控制数据变为“0”。也就是说,正确地转换数据存储电路10的控制数据,从而能够获得稳定的写入校验结果。
图22表示在本发明第二实施例中对于多阈值存储器的程序的详细流动。用图1所示的控制信号和控制电压发生电路7来开展该程序的流动。再有,其中,与图10所示的程序流动不同,如果进行数据“2”的校验读出,那么接着就必须设定进行数据“1”的校验读出。
用在控制信号输入端子B输入的程序开始命令开始程序。计数设置在控制信号和控制电压发生电路7内的变量IWT的计数器电路所复位的IWT变为0(S1)。把在数据输入端子5输入的4224位部分的初期控制数据装载在数据存储电路10中(S2)。
装载数据后,进行写入动作,此时,变量IWT仅增加1(S3)。检查数据检测电路9的输出FR3是否为“H”(S4)。如果数据检测电路9的输出FR3为“H”,数据“3”残留在数据存储电路10中,那么就检查变量IWT预先是否确定在W3以上(S5)。如果变量IWT在W3以上,就进行数据“3”的校验读出(S6)。如果FR3为“L”或变量IWT比W3小,那么就省略数据“3”的校验读出。
接着,检查数据检测电路9的输出FR2是否为“H”(S7)。如果数据检测电路9的输出FR2为“H”,数据“2”残留在数据存储电路10中,那么就检查变量IWT预先是否确定在W2以上(S8)。如果变量IWT在W2以上,就进行数据“2”的校验读出(S9)。如果FR2为“L”或变量IWT比W2小,那么就省略数据“2”的校验读出。
接着,检查数据检测电路9的输出FR1是否为“H”(S10)。如果数据检测电路9的输出FR1为“H”,数据“1”残留在数据存储电路10中,那么就检查变量IWT预先是否确定在W1以上(S11)。如果变量IWT在W1以上,就进行数据“1”的校验读出(S12)。如果FR1为“L”或变量IWT比W1小,那么就省略数据“1”的校验读出。而且,在进行数据“2”的校验读出(S9)的情况下,常常进行数据“1”的校验读出。
随后,如果数据检测电路9的所有输出FR3、FR2、FR1都为“L”,那么就结束程序(S13、S14、S15)。如果数据检测电路9的输出FR3、FR2、FR1中即使有一个“H”,那么就再次返回写入动作(S3)。通过变量IWT每增加一个,在被选择的位线上外加的写入时的电压(图17所示时间t3至t7内的选择字线的电压)就每次增加0.4V,把“1”、“2”、“3”写入存储单元M的阈值每次大致上升0.4V。预先确定的W1、W2、W3如下确定。
再次参照图11进行说明。图11表示存储单元M的写入特性的实例。横轴表示写入动作次数IWT。纵轴表示写入动作次数IWT后最易写入的存储单元的阈值(白圈)和最难写入的存储单元(黑圈)的阈值。最易写入的存储单元的阈值在第一次写入动作后达到0.1V。此时,最难写入的存储单元的阈值为-1.5V。由于通过写入动作次数增加一个,每次选择字线的写入时的电压就增加0.4V,所以存储单元的阈值每次也大致各上升0.4V。而且,与存储“1”的控制数据的数据存储电路10有关的存储单元M的阈值低于0.8V。
在第一次写入动作后,由于无论哪个存储单元的阈值还都未达到0.4V,所以数据“3”、数据“2”、数据“1”的完全校验读出是不必要的。在第四次以后,由于最易写入的存储单元的阈值超过1.2V,所以数据“2”的校验读出变得必要了。此外,由于与存储“1”的控制数据的数据存储电路10有关的存储单元M的阈值超过0.4V,所以数据“1”的校验读出变得必要了。因此,W1、W2按4来预先确定。在第六次以后,由于最易写入的存储单元的阈值超过2.0V,所以数据“3”的校验读出变得必要了。因此,W3按6来预先确定。
在第九次写入动作后,即IWT=9之后,数据检测电路的输出FR1和FR2变为“L”。在第十次写入动作后,连最难写入的存储单元的阈值也超过了2.0V。因此,至少在IWT=11以后,数据检测电路的输出FR3变为“L”。
图23表示使用图12所示的数据检测电路9的情况下的程序流程。步骤S4、S7、S10是当信号DEC3B、DEC2B、DEC1B分别为“L”时进行信号FR3、FR2、FR1的检查。步骤S13是当信号DECB为“L”时进行信号PT的检查。除此以外,与图22所示的流动相同,其中按与第一实施例完全相同地流动,执行程序。
再有,在本发明的第二实施例中,反复进行进行图18所示的时间t1~t9中的写入动作和图19~图21所示的写入校验动作,直至所有控制数据变为“0”,也可以进行数据写入动作。这种情况下,作为图19所示的数据检测电路9,也可以使用图24所示的电路结构。即在图24所示的数据检测电路中,分别在第一子数据电路20内的节点Nai上把n沟道MOS晶体管Qn47的栅极与n沟道MOS晶体管Qn49的电流通路的一端连接,在第二子数据电路21内的节点Nai+1上把n沟道MOS晶体管Qn48的栅极与n沟道MOS晶体管Qn50的电流通路的一端连接。n沟道MOS晶体管Qn47、Qn48是用于检查所有子数据电路是否存储子数据“0”的电路。在所有子数据电路存储子数据“0”的情况下,信号线 PT与接地电平导通。n沟道MOS晶体管Qn49、Qn50是用于在所有子数据电路中存储子数据“0”的电路。如果信号PRST变为“H”,就在4224个子数据电路中设定子数据“0”。
再有,即使使用图5所示的第一实施例的结构,数据存储电路的电路结构也能够容易地实施。此外,相反地,在第一实施例中,即使使用数据存储电路,也能够容易地实施作为读出放大器使用的图14所示的时钟同步式转换器。
如上所述,本发明第一方案中的多阈值存储器配有:存储单元(M),它至少保持可电写入清除状态和第一写入状态及第二写入状态;和写入电路(2、3、6、7、9),它在所述存储单元(M)上外加写入电压,进行预定写入的写入动作,在所述写入动作后,确认所述存储单元(M)是否达到所述第一写入状态的第一写入确认动作,或者,在所述写入动作后,一边确认所述存储单元(M)是否达到所述第二写入状态的第二写入确认动作,一边进行数据写入;其特征在于,在数据写入最初的第一期间内,所述写入电路(2、3、6、7、9)省略所述第二写入确认动作,反复进行所述写入动作和所述第一写入确认动作,在所述第一期间后的第二期间内,反复进行所述写入动作和所述第一写入确认动作及所述第二写入确认动作。
而且,作为本发明的优选实施例,可列举如下。
(1)在所述第二期间后的第三期间内,所述写入电路(2、3、6、7、9)省略所述第一写入确认动作,反复进行所述写入动作和所述第二写入确认动作。
(2)如果确认所述存储单元(M)达到预定的所述第一写入状态或第二写入状态,那么所述写入电路(2、3、6、7、9)变更在所述存储单元(M)上外加的写入电压。
或者,本发明第一方案中的多阈值存储器配有:多个存储单元(M),它至少保持可电写入清除状态和第一写入状态及第二写入状态;和写入电路(2、3、6、7、9),它在所述多个存储单元(M)上外加写入电压,进行预定写入的写入动作,在所述写入动作后,确认所述多个存储单元(M)内应变为第一写入状态的存储单元(M)是否达到所述第一写入状态的第一写入确认动作,或者,在所述写入动作后,一边反复进行进行确认所述多个存储单元(M)内应变为第二写入状态的存储单元(M)是否达到所述第二写入状态的第二写入确认动作,一边进行数据写入;其特征在于在数据写入最初的第一期间内,所述写入电路(2、3、6、7、9)省略所述第二写入确认动作,反复进行所述写入动作和所述第一写入确认动作,在所述第一期间后的第二期间内,反复进行所述写入动作和所述第一写入确认动作及所述第二写入确认动作。
而且,作为本发明的优选实施例,可列举如下。
(1)在所述第二期间后的第三期间内,所述写入电路(2、3、6、7、9)省略所述第一写入确认动作,反复进行所述写入动作和所述第二写入确认动作。
(2)如果确认应变为所述第一写入状态的所述存储单元(M)达到所述第一写入状态,那么所述写入电路(2、3、6、7、9)变更在所述应变为所述第一写入状态的存储单元(M)上外加的写入电压,如果确认应变为所述第二写入状态的所述存储单元(M)达到所述第二写入状态,那么变更在所述应变为所述第二写入状态的存储单元(M)上外加的写入电压。
(3)预先确定所述第一期间。
(4)如果确认所有应变为所述第一写入状态的所述存储单元(M)达到所述第一写入状态,那么所述写入电路(2、3、6、7、9)省略所述第一写入确认动作,反复进行所述写入动作和所述第二写入确认动作。
(5)所述写入电路(2、3、6、7、9)汇总检测所有应变为所述第一写入状态的所述存储单元(M)是否达到所述第一写入状态。
(6)所述写入电路(2、3、6、7、9)汇总检测所有应变为所述第二写入状态的所述存储单元(M)是否达到所述第二写入状态。
(7)在应变为所述第一写入状态的所述存储单元(M)上外加的写入电压与在应变为所述第二写入状态的所述存储单元(M)上外加的写入电压是相等的。
(8)通过确认所有进行写入的存储单元(M)达到预定的写入状态,所述写入电路(2、3、6、7、9)结束所述写入动作。
(9)所述写入电路(2、3、6、7、9)汇总检测所有进行写入的存储单元(M)达到预定的写入状态。
此外,本发明第二方案的多阈值存储器配有:存储单元阵列(1),由使每个存储单元为n值(n≥3)数据的可存储多个非易失性存储单元(M)构成;和数据存储电路(10),在所述存储单元阵列(1)中被选择的存储单元(M)中,存储决定写入动作中外加写入控制电压的控制数据;其特征在于,所述数据存储电路(10),根据在所述数据存储电路(10)中存储的所述控制数据,在被选择的存储单元(M)上外加所述控制电压,存储第一控制数据的所述数据存储电路(10),检测被选择的存储单元(M)的写入状态是否达到第一状态,在达到的情况下,把控制数据变更为第二控制数据,存储所述第二控制数据的所述数据存储电路(10),检测被选择的存储单元(M)的写入状态是否达到第二状态,在达到的情况下,把控制数据变更为第三控制数据。
而且,作为本发明的优选实施例,可列举如下。
(1)所述第一状态有第一阈值电平,所述第二状态有比所述第一阈值电平低的第二阈值电平。
(2)所述数据存储电路(10)由第一子数据电路(CI1、CI2、Qn33、Qn34、Qn35)和第二子数据电路(CI3、CI4、Qn40、Qn41、Qn42)构成,在第一子数据电路中(CI1、CI2、Qn33、Qn34、Qn35)存储第一逻辑电平的子数据,在第二子数据电路中(CI3、CI4、Qn40、Qn41、Qn42)存储第一逻辑电平的子数据,存储所述第一控制数据,在第一子数据电路中(CI1、CI2、Qn33、Qn34、Qn35)存储所述第一逻辑电平的子数据,在第二子数据电路中(CI3、CI4、Qn40、Qn41、Qn42)存储第二逻辑电平的子数据,存储所述第二控制数据,在第一子数据电路中(CI1、CI2、Qn33、Qn34、Qn35)存储所述第二逻辑电平的子数据,在第二子数据电路中(CI3、CI4、Qn40、Qn41、Qn42)存储所述第二逻辑电平的子数据,存储所述第三控制数据。
(3)所述数据存储电路(10)用第一和第二子数据电路的其中一个检测被选择的存储单元(M)的写入状态是否达到所述第一状态,用第一和第二子数据电路的其中另一个检测被选择的存储单元(M)的写入状态是否达到所述第二状态。
(4)再有,配有汇总检测在构成所有所述数据存储电路(10)的第一和第二子数据电路中存储的所有子数据是否为所述第二逻辑电平的电路。
(5)所述存储单元(M)可存储4值,所述第一和第二子数据电路分别包括一个触发器电路。
(6)所述存储单元(M)可存储3值,所述第一和第二子数据电路分别包括一个触发器电路。
再有,本发明并不限于上述第一、第二实施例。例如,即使是具有NOR型的存储单元的多阈值存储非易失性半导体存储器件,和热电子注入写入式的多阈值存储非易失性半导体存储器件,也同样可以使用,在不脱离本发明精神的范围内,能够进行各种变化。