具体实施方式
下面,参照附图详细说明本发明的实施例。
<第一实施例>
图1是表示本发明第一实施例的快闪存储器结构的方框图。
多个端子1接受来自外部的电源和信号,或向外部输出信号。在这些端子1中,VCC端子接受电源电压VCC,VSS端子被接地,nCE端子接受芯片允许信号nCE,nWE端子接受写入允许信号nWE,CLE端子接受指令锁定允许信号CLE,ALE端子接受地址锁定允许信号ALE,nRE端子接受读出允许信号nRE,而ECCENB端子接受错误校正电路激活信号ECCENB。
nBUSY端子输出占线信号nBUSY,D0端子~D7端子接受写入数据、指令数据、地址数据等输入数据D0~D7,输出读出数据、状态数据等输出数据。
在芯片允许信号nCE为“L”情况下接受所述写入允许信号nWE、指令锁定允许信号CLE、地址锁定允许信号ALE、读出允许信号nRE、输入数据D0~D7,输出数据D0~D7在芯片允许信号nCE为“L”时被输出。
再有,从所述VCC端子供给各内部电路的电源线和从所述VSS端子供给各内部电路的接地线因表示上繁琐而省略图示。
电源导通检测电路2检测电源电压VCC是否为充分高的电压电平,如果是充分高的电平,那么电源导通检测信号PON变为“H”。
指令接口3在芯片允许信号nCE=“L”、指令锁定允许信号CLE=“H”时,取出在写入允许信号nWE从“L”过渡到“H”的时序中输入的数据D0~D7,作为指令数据,输出读出指令信号READ、数据锁定读出指令信号DLREAD、计算指令信号CALC、数据输出指令信号OUTPUT、状态读出指令信号STATUS、倍速写入指令DOUBLE信号、数据输入指令信号INPUT、检查数据产生指令信号CHKGEN、写入指令信号PRO、清除指令信号ERASE等。此外,为了向外部传送内部正在进行读出、写入等处理,从nBUSY端子输出所述占线信号nBUSY。
地址缓冲器4在芯片允许信号nCE=“L”、地址锁定允许信号ALE=“H”时,接受在写入允许信号nWE从“L”过渡到“H”的时序中输入的数据D0~D7,作为地址数据,输出行地址数据AddX_12和AddZ、列地址初期数据AddY_init_0-9。
数据输入输出缓冲器5接受数据输入指令信号INPUT,在芯片允许信号nCE=“L”、地址锁定允许信号ALE=“L”,指令锁定允许信号CLE=“L”时,接受在写入允许信号WE从“L”过渡到“H”的时序中输入的数据D0~D7,作为写入数据。
此外,数据输入输出缓冲器5接受数据输出指令信号OUTPUT,在芯片允许信号nCE=“L”时,在读出允许信号nRE从“H”过渡到“L”的时序中开始读出数据D0~D7的输出。而且,接受状态读出指令信号STATUS,在信号nCE=“L”时,在nRE从“H”过渡到“L”的时序中开始状态数据D0~D7的输出。
从D0端子~D7端子输入的写入数据被数据输入输出缓冲器5反转,而且通过信号线DL_0-7用缓冲器6再次反转后经信号线I0_0-7输入至列控制电路15。
读出数据通过信号线I0-0-7用缓冲器6反转后输出至信号线DL_0-7,用数据输出缓冲器5再次反转后从D0端子~D7端子输出。再有,所述信号线DL_0-7与错误校正电路11连接。
错误校正控制信号发生电路7受列地址初期数据AddY_init_0-9、数据锁定读出指令信号DLREAD、计算指令信号CALC等控制,具有产生错误校正控制信号ECCLK的功能。
输出控制信号发生电路8受读出允许信号nRE和数据输出指令信号OUTPUT等控制,具有与该读出允许信号nRE同步,输出输出控制信号OUTCLK的功能。
检查数据产生控制信号发生电路9受列地址信号CSLa_527、CSLb_527和检查数据产生指令信号CHKGEN等控制,具有检查数据产生控制信号CGCLK的功能。
输入控制信号发生电路10受数据输入指令信号INPUT和写入允许信号nWE等控制,具有与该信号nWE同步,产生输入控制信号INCLK的功能。
错误校正电路11具有接受数据输入指令信号INPUT,与输入控制信号INCLK同步,取入来自信号线DL_0-7的写入数据,接受检查数据产生指令信号CHKGEN,与检查数据产生控制信号CGCLK同步,将检查数据和奇偶数据输出至信号线DL_0-7的功能。
此外,错误校正电路11具有接受数据锁定读出指令信号DLREAD,与错误校正控制信号ECCLK同步,取入来自信号线DL_0-7的读出数据,而且接受计算指令信号CALC,与错误校正控制信号ECCLK同步,进行读出数据的错误校正的功能。
此外,错误校正电路11具有接受数据输出指令信号OUTPUT,与输出控制信号OUTCLK同步,校正错误数据的功能,还具有接受状态读出指令信号STATUS,将错误校正电路的状态输出至信号线DL_0-7的功能。
该错误校正电路11也受列地址信号CSLa_527、CSLb_527、CSLa_516、CSLb_516、列地址初期数据AddY_init_0-9等控制。
而且,设有存储器单元阵列12和其对应的源和阱控制电路13、行控制电路14、列控制电路15、列地址发生电路16。
其中,源和阱控制电路13是控制存储器单元阵列12的源线SRC和形成存储器单元阵列12的阱CWELL的电路。
此外,行控制电路14是控制存储器单元阵列12的字线WL和选择栅极线SG的电路。此外,列控制电路15是控制存储器单元阵列12的位线的电路。此外,列地址发生电路16是受地址信号AddZ和AddY_init_0-9及错误校正控制信号ECCLK、输出控制信号OUTCLK、检查数据产生控制信号CGCLK、输入控制信号INCLK等控制,与这些控制信号同步,按预定的顺序产生列地址信号CSL的电路。
本例中,所述存储器单元阵列12和所述各电路13、14、15、16各设置两个,用地址信号AddZ选择两组中的一个。例如,地址信号AddZ=“L”时,选择存储器单元阵列A和与其对应的电路13、14、15、16,而AddZ=“H”时,选择存储器单元阵列B和与其对应的电路13、14、15、16。
图2表示取出图1中的存储器单元阵列12的一个部分(存储器单元阵列A)和其对应的列控制电路15的一个部分的更详细的结构。
该存储器单元阵列12采用在同一阱CWELLa中形成的NAND型存储器单元组件的阵列。NAND型存储器单元组件将具有层积浮栅和控制栅形式的单元晶体管M例如四个串联连接,在其两端连接选择晶体管S,该NAND单元组件的一端与位线BLa_8~BLa_8j+7的其中一个连接,另一端与共用源线SRCa连接。
其中,把同一行的单元晶体管M的组合称为1页,把连接4页的组合称为1块。而且,1块中的4个单元晶体管M对应的字线用Wla_0~Wla_3,NAND单元组件的一端侧的选择晶体管S的选择栅极线用SG1a_0表示,NAND单元组件的另一端侧的选择晶体管S的选择栅极线用SG2a_0表示。
列控制电路15包括与上述存储器单元阵列12的位线BLa_8j~BLa_8j+7连接的数据存储电路17。该数据存储电路17在用列地址信号CSLa-j选择时与各自连接的信号线I0-0-7电连接,暂时存储写入被选择的存储器单元M中的数据,或暂时存储从被选择的存储器单元M中读出的读出数据。
再有,在图2的存储器单元阵列12中,位线BLa_8j~BLa_8j+7、列选择线CSLa_j的添加字j是从0至548。因此,位线BLa从Bla_0至Bla_4391,列信号CSLa是从CSLa_0至CSLa_548。再有,存储器单元阵列B也是相同的结构。
下面,简单地说明图2的存储器单元阵列12的动作。
(a)数据的清除按页单位进行,使选择块的所有字线(例如Wla_0~WLa_3)为0V,非选择块的字线全部为20V。此时,阱CWELLa达到20V,存储器单元的阈值变为0V以下,数据被复位成“11”。
(b)数据的写入按页单位进行。其中,如果一个存储器单元M存储四个值,那么选择行地址数据AddX_0为“L”的存储器单元M,存储写入数据“0”或“1”,存储器单元的数据变为“10”或“11”。
如果行地址数据AddX_1~AddX_12相同,那么选择同一存储器单元M,如果在原来存储“10”的存储器单元中写入“0”,那么变为“00”。如果在原来存储“10”的存储器单元中写入“1”,那么变为“10”。如果在原来存储“11”的存储器单元中写入“1”,那么变为“11”。
再有,在写入时,选择字线达到20V,非选择字线达到10V。在写入写入数据“1”时,位线为VCC,而写入“0”时,位线为0V。选择栅极线SG1为VCC,选择栅极线SG2为0V。非选择块的字线、选择栅极线都为0V。再有,通过一边重复写入动作和写入验证动作一边进行写入,存储器单元的阈值控制变好。
表1表示数据和存储器单元M的阈值关系。
【表1】
存储器单元的数据 |
存储器单元的阈值 |
Add×0=“H” |
Add×0=“L” |
1 |
1 |
0V以下 |
1 |
0 |
0.3V~0.6V |
0 |
1 |
1.2V~1.5V |
0 |
0 |
2.1V~2.4V |
(c)数据的读出按页单位进行,全选择栅极线为4V,选择字线为0V或0.9V或1.8V,非选择字线为4V。非选择块的全选择栅极线、全字线为0V。
如果选择字线为0V,单元电流流动,那么位线电压电平变为“L”,可读出“11”。同样,选择字线为0.9V后,可以读出“10”,选择字线为1.8V后,可以读出“01”和“00”。
表2表示选择块各动作的电压关系。
【表2】
|
清除 |
写入 |
读出 |
位线BL |
20V |
VCC/0V |
H/L |
选择栅极线SG1 |
20V |
VCC |
4V |
选择字线WL |
0V |
20V |
0.0V/0.9/1.8V |
非选择字线WL |
… |
10V |
4V |
选择栅极线SG2 |
20V |
0V |
4V |
源线SRC |
20V |
VCC |
0V |
阱CWELL |
20V |
0V |
0V |
其中,页是表示图2所示的同一行的4329个存储器单元M聚集的物理单位,逻辑的写入和读出单位是4329比特的存储器段。在本例中,在物理的1页上,写入逻辑的2存储器段的数据,或从物理的1页中读出逻辑的2存储器段的数据。就是说,行地址数据Addx_0~Addx_12和按行地址数据AddZ指定的数据是存储器段的地址。因此,清除的物理单位是块,由物理的4页构成,由逻辑的8存储器段构成。
图3表示图1所示结构的快闪存储器采用的系统结构图。
快闪存储器20由CPU(中央运算装置)21控制。CPU21进行超高速缓冲存储器22、键盘、显示器等的控制。对快闪存储器20、CPU21、超高速缓冲存储器22供给共用的电源电压VCC。
在该系统中,控制整个系统的程序存储在快闪存储器20中。在利用该系统的电源投入产生电源电压VCC的上升时,快闪存储器20自动地读出预定地址号码的数据。CPU21在电源上升时读出来自快闪存储器20的数据,但在该读出数据中,包括控制快闪存储器20的码。
CPU21将上述码装入超高速缓冲存储器22中,控制快闪存储器20,读出控制整个系统的程序,控制该系统。由于快闪存储器20自动地进行错误校正,所以CPU21也可以仅读出来自快闪存储器20的数据。如果快闪存储器20不能自动地进行错误校正,那么CPU21也不进行错误校正,但由于在快闪存储器20中存储用于控制快闪存储器20的码,所以只有该码不能错误校正。
图4表示在图1的错误校正电路11中利用信息数据(外部输入的写入数据)产生检查数据的部分(检查数据产生电路)。该电路主要由D0~D19、P所示的21个移位寄存器18和9个逻辑运算电路19构成。
图5(a)表示取出图4中的移位寄存器18的一部分(用D表示)的结构。
该移位寄存器由时钟信号Φ和其反转信号nΦ组成的互补信号驱动,通过时钟信号Φ变为“L”→“H”→“L”(时钟信号Φ循环一个周期)输出锁存数据,此外,取入锁存输入信号。该时钟信号是与检查数据产生控制信号CGCLK和输入控制信号INCLK同步的信号。
图5(b)表示图4的逻辑运算电路19的一部分结构。
该逻辑运算电路运算两个输入IN1和IN2,输出OUT。
从图1中的D0~D7端子输入的写入数据在数据输入输出缓冲器5中逻辑被反转,输出至信号线DL_0~DL_7。对应于各信号线DL_0~DL_7,图4的检查数据发生电路设置在图1中的错误校正电路中。
在时钟信号Φ循环一个周期的同时,在图4的检查数据发生电路中还取入1比特的写入数据,在时钟信号Φ的528个周期后,在D0~D19所示的移位寄存器18中,产生20比特的检查数据。此外,在P所示的移位寄存器18中产生奇偶数据。
在D0~D19所示的移位寄存器18中产生的检查数据使开关SW3导通,在时钟信号Φ循环一个周期中,在各信号线DL_0~DL_7上各1比特地产生。
在检查数据产生20比特后,如果导通开关SW5,时钟信号Φ循环一个周期,那么在各信号线DL_0~DL_7上产生1比特的奇偶数据。因此,通过时钟信号Φ循环549个周期,利用D0端子~D7端子上输入的528比特的数据,产生20比特的检查数据和1比特的奇偶数据。这样产生的检查数据和奇偶数据输出至信号线DL_0~DL_7,传送到图2所示的列控制电路15中的数据存储电路17中,和写入数据一起写入选择的存储器单元中。
利用所有“1”的写入数据(在信号线DL_0~DL_7上,“0”的写入数据)产生的检查数据和奇偶数据全部为“1”。因此,清除状态与写入全部“1”的写入数据和由它们产生的检查数据及奇偶数据的状态等价。
在上述检查数据发生电路中,根据双重错误校正BCH(1023,1003)符号产生检查数据,有所谓的生成多项式G(x):
G(x)=x20+x12+x11+x6+x5+x4+x2+x+1。
由于在一个存储器单元中写入2比特的数据,所以在一个存储器单元被破坏的情况下,产生2比特群错误的可能性高。但是,在本实施例中,由于各个比特数据利用各自的检查数据单独地校正,所以在BCH符号等单位校正方式中不失去救济概率。相反地,在1比特单位下造成不良的存储器装置中,里德-索络蒙码那样的闪现不良校正方式因错误校正电路复杂不是好的方式。
图6表示图1中的错误校正电路11中的检查数据和奇偶数据的产生算法。
首先,在步骤S1中,在指令接口3中输入作为数据输入指令(指令)的例如16进制码“80”H。在步骤S2中,在地址缓冲器4中输入地址数据,开始写入数据的输入。在步骤S3中,将数据输入开始列地址AddY_init_0~9设定在列地址产生电路16的变量列地址寄存器Add_col中,按照该变量列地址寄存器Add_col的内容,产生列地址信号CSL。
在步骤S4中,将D0~D19、P所示的寄存器设定为“0”,将数据存储电路17的写入数据设定为“1”。在步骤S5中,开关SW1导通,开关SW3和SW5截止。
接着,在步骤S6中,取入D0端子~D7端子上输入的写入数据。在步骤S7中,如果判定变量列地址寄存器Add_col的内容为516,那么在步骤S9中,开关SW2和SW4截止,而如果判定变量列地址寄存器Add_col的内容不为516,那么在步骤S8中,开关SW2和SW4导通。
因此,在变量列地址寄存器Add_col的内容为516时,进行取入错误校正电路11中的写入数据“1”(因为DL-i的数据为反转数据)。就是说,列地址516的数据被排除在错误校正以外。
因此,具有以下优点。就是说,516地址号码的数据可以在以后追加中写入,快闪存储器20中存储的数据管理上必要的标志数据(例如,不良区段标志等)可以在以后追加中写入。
接着,在步骤S10中,写入数据被取入错误校正电路11中,进行检查数据和奇偶数据的运算。就是说,时钟信号Φ循环一个周期。此时,输出列地址信号CSL,写入数据也存储在数据存储电路17中。而且,在步骤S11中,使变量列地址寄存器Add_col的内容一次一次增加,按列地址的顺序取入写入数据。在步骤S12中,重复步骤S6~S12的动作,直至判定输入写入指令的例如16进制码“10”H。
上述步骤S6~S12在与写入允许信号nWE同步后,进行。在输入控制信号发生电路10中,与写入允许信号nWE同步,产生输入控制信号INCLK。与写入允许信号nWE同步,输入的写入数据按照在错误校正电路11中与输入控制信号INCLK同步后,产生的时钟信号Φ被取入错误校正电路11中,在与输入控制信号INCLK同步的同时暂时存储在按根据变量列地址寄存器Add_col的内容产生的列地址信号CSL的指示选择的数据存储电路17中。
在所述步骤S12中,如果判定输入所述写入指令的16进制码“10”H,那么在步骤S13中判定变量列地址寄存器Add_col的内容是否比527大。如果该判定结果为变量列地址寄存器Add_col的内容≤527,那么在步骤S14中开关SW2截止,在步骤S15中,进行作为输入假设“1”写入数据的检查数据和奇偶数据的运算,在步骤S16中,使变量列地址寄存器Add_col的内容增加1,在步骤S13中,再次判定变量列地址寄存器Add_col的内容是否比527大。
而且,如果该判定结果为变量列地址寄存器Add_col的内容≥528,那么在步骤S17中判定是否变量列地址寄存器Add_col的内容=548。如果该判定结果不是变量列地址寄存器Add_col的内容=548,那么在步骤S18中,开关SW1和SW5截止,开关SW3和SW4导通,在步骤S19中进行检查数据的输出和奇偶运算。此时,按照变量列地址寄存器Add_col的内容,检查数据暂时存储在数据存储电路17中。而且,在步骤S20中,使变量列地址寄存器Add_col的内容增加一个,在步骤S17中再次判断是否变量列地址寄存器Add_col的内容=548。
如果该判定结果为变量列地址寄存器Add_col的内容=548,那么在步骤S21中,开关SW3截止,开关SW5导通,在步骤S22中,输出奇偶数据。此时,根据变量列地址寄存器Add_col的内容,检查数据暂时存储在数据存储电路17中。然后,在步骤S23中,基本上将数据存储电路17中存储的写入数据和检查数据及奇偶数据汇总写入存储器段。
再有,上述步骤S13~S22在与检查数据产生控制信号CGCLK同步后,进行。利用写入指令信号PRO,产生检查数据产生指令信号CHKGEN,利用该检查数据产生指令信号CHKGEN,在检查数据产生控制信号发生电路9中自动地产生检查数据产生控制信号CGCLK。与该检查数据产生控制信号CGCLK同步,错误校正电路11产生的检查数据和奇偶数据在与CGCLK同步的同时暂时存储在按根据变量列地址寄存器Add_col的内容产生的列地址信号CSL的指示选择的数据存储电路17中。
图7表示从存储器单元阵列12的各阵列A、B中一次选择一个存储器段,同时在两个区段中写入数据的动作的时序一例。
图8表示从存储器单元阵列12的各阵列A、B中一次选择一个存储器段,仅在一个区段写入数据的动作的时序一例。
首先,说明图7的动作时序。在指令锁存允许信号CLE为“H”期间内的写入允许信号nWE的上升中,作为倍速写入指令,例如输入16进制码“D0”H。接着,在指令锁存允许信号CLE为“H”期间内的写入允许信号nWE的上升中,如图6的步骤S1所述那样,作为数据输入指令,输入16进制码“80”H。
接着,地址锁存允许信号ALE为“H”期间,如图6的步骤S2~S5所述那样,取入三次地址数据。其中,输入存储器单元阵列12的单元阵列A的地址。接着,数据输入指令信号INPUT变为“H”,如图6的步骤S6~S12所述那样输入写入数据h0~h527。与写入允许信号nWE同步后,输入写入数据h,在错误校正电路11中与INCLK同步,按照产生的时钟信号Φ,取入错误校正电路11中,同时在与输入控制信号INCLK同步,暂时存储在按根据变量列地址寄存器Add_col的内容产生的列地址信号CSL的指示选择的数据存储电路17中。
如果输入写入指令的16进制“10”H,那么如图6的步骤S13~S22所述的那样,写入指令信号PRO变为“H”,利用该写入指令信号PRO,检查数据产生指令信号CHKGEN也变为“H”。利用该检查数据产生指令信号CHKGEN,产生检查数据产生控制信号CGCLK,与该检查数据产生控制信号CGCLK同步,错误校正电路11产生的检查数据和奇偶数据在与CGCLK同步的同时暂时存储在按根据变量列地址寄存器Add_col的内容产生的列地址信号CSL的指示选择的数据存储电路17中。
如果利用倍速写入指令的16进制码“D0”H,不进行有效写入(图6的步骤S23)的写入动作,将奇偶数据存储在数据存储电路17中,那么写入指令信号PRO和检查数据产生指令信号CHKGEN变为“L”,写入结束。在写入指令信号PRO和检查数据产生指令信号CHKGEN为“H”期间,nBUSY变为“L”,对外部传送处于占线状态(内部处理中)。
下面说明图8的动作时序。在指令锁存允许信号CLE为“H”期间内的写入允许信号nWE的上升中,如图6的步骤S1所述那样,输入数据输入指令的16进制码“80”H。
接着,地址锁存允许信号ALE为“H”期间,如图6的步骤S2~S5所述那样,取入三次地址数据。其中,输入存储器单元阵列12的单元阵列B的地址。
接着,数据输入指令信号INPUT变为“H”,如图6的步骤S6~S12所述那样输入写入数据h3~h520。与写入允许信号nWE同步后,输入写入数据h,在错误校正电路11中与INCLK同步,按照产生的时钟信号Φ,取入错误校正电路11中,同时在与输入控制信号INCLK同步,暂时存储在按根据变量列地址寄存器Add_col的内容产生的列地址信号CSL的指示选择的数据存储电路17中。
写入数据h0~h2并未输入,但数据存储电路17的写入数据被复位至“1”,此外,如果在错误校正电路11中写入数据h0~h2为“1”,那么由于D0~D19所示的寄存器和P所示的寄存器的内容直至h2的运算都没有变化,所以没有问题。就是说,写入数据h0~h2有效地达到“1”。
如果输入写入指令的16进制码“10”H,那么如图6的步骤S13~S22所述那样,写入指令信号PRO变为“H”,利用该写入指令信号PRO,检查数据产生指令信号CHKGEN也变为“H”。利用该检查数据产生指令信号CHKGEN,产生检查数据产生控制信号CGCLK,代替不从外部输入的写入数据h521~h527,在内部与CGCLK同步后,产生上述检查数据产生控制信号CGCLK。此外,与上述检查数据产生控制信号CGCLK同步,错误校正电路11产生的检查数据和奇偶数据在与CGCLK同步后,暂时存储在按根据变量列地址寄存器Add_col的内容产生的列地址信号CSL的指示选择的数据存储电路17中。
如果奇偶数据存储在数据存储电路17中,那么检查数据产生指令信号CHKGEN变为“L”,进行写入动作。在本例中,在存储器单元阵列12的单元阵列A和B选择的两个存储器段中同时进行写入。写入指令信号PRO为“H”期间,nBUSY变为“L”,对外部传送处于占线状态(内部处理中)的情况。
图9表示不激活错误校正电路11时的数据写入动作的时序一例。首先,在指令锁存允许信号CLE为“H”期间内的写入允许信号nWE的上升中,作为错误校正不激活指令,例如输入16进制码“A0”H。接着,在指令锁存允许信号CLE为“H”期间内的写入允许信号nWE的上升中,作为数据输入指令,输入16进制码“80”H。
接着,在地址锁存允许信号ALE为“H”期间,取入三次地址数据。接着,数据输入指令信号INPUT变为“H”,输入写入数据h0~h548。如果输入写入指令的16进制码“10”H,那么写入指令信号PRO变为“H”,但检查数据产生指令信号CHKGEN仍为“L”。在投入写入指令的16进制码“10”H后,直接进行写入动作。
指令接口3是激活或不激活错误校正电路11的转换装置。如果图1中的ECCENB端子上输入的错误校正电路激活信号ECCENB为“L”,那么指令接口3按不激活错误校正电路11那样进行转换。
图10表示错误校正电路激活信号ECCENB为“L”时的数据写入动作时序的一例。在指令锁存允许信号CLE为“H”期间内的写入允许信号nWE的上升中,输入作为数据输入指令的16进制码“80”H。接着,在地址锁存允许信号ALE为“H”期间,取入三次地址数据。接着,数据输入指令信号INPUT变为“H”,输入写入数据h0~h548。如果输入写入指令的16进制码“10”H,那么写入指令信号PRO变为“H”,但检查数据产生指令信号CHKGEN仍为“L”。在投入写入指令的16进制码“10”H后,直接进行写入动作。
再有,在图8所示的动作时序中,错误校正电路激活信号ECCENB显示为“H”,与图10所示的动作时序同样,按数据输入指令“80”→地址输入→数据输入→写入指令“10”的流动,自动地产生检查数据。如果错误校正电路激活信号ECCENB显示为“L”,那么如图10所示的动作时序那样,不产生检查数据。
图11至图17表示在图1中的错误校正电路11中利用从存储器单元读出的数据校正和检查产生错误数据的部分。
就是说,图11表示校验子S1、S3计算器的一个部分,图12表示校验子S3的转换器的一个部分,图13表示σ1(=S1×S1)计算器的一个部分,图14表示σ2(=S1×S1×S1+S3)计算器的一个部分,图15表示取出σ1→λ1转换器的一个部分,图16表示取出σ2→λ2转换器的一个部分,图17表示错误位置检测器的一个部分。
这些电路主要由D0~D19、P、A0~A9、B0~B9、C0~C9所示的51个移位寄存器18和多个逻辑运算电路19构成,分别对应于各信号线DL_0~DL_7来设置。
这些电路相对于从存储器单元中读出的数据,根据双重错误校正BHC(1023,1003)符号进行错误校正,所谓的两个最小多项式M1和M3为:
M1(x)=x10+x3+1
M3(x)=x10+x3+x2+x+1。
此外,错误校正电路11的动作为a加b等于c,a、b、c分别为“0”或“1”,全部的运算结果如下所示那样运算。
【表3】
a+b=c |
“0”+“0”=“0” |
“0”+“1”=“1” |
“1”+“0”=“1” |
“1”+“1”=“0” |
再有,直至调整错误位置检测准备,与错误校正控制信号发生电路7产生的错误校正控制信号ECCLK同步后,进行动作。
图11所示的校验子S1、S3计算器主要由D0~D19、P、A0~A9所示的31个移位寄存器18和多个逻辑运算电路19构成。
对数据存储电路17从存储器段中读出的读出数据用I0缓冲器6进行逻辑反转后输出至信号线DL_0~DL_7。
D0~D19、P所示的寄存器在计算前全部复位至“0”,就是说,初始值为“0”。在时钟信号Φ的548个周期后,在D0~D19所示的寄存器18中产生20比特的校验子S1和S3。此外,在P所示的寄存器中,产生读出数据的奇偶计算结果。
与错误校正控制信号ECCLK同步,产生列地址信号CSL,在时钟信号Φ的第1个周期中取入0地址号码的列地址的读出数据,以下,按顺序在第2个周期中取入1地址号码的列地址的读出数据…,在第548个周期中取入547地址号码的列地址的读出数据。
在516地址号码的列地址的周期中,开关SW4、SW6和SW7变得截止,取入伪数据“0”。这是因为在检查数据产生时将516地址号码的写入数据作为伪数据“0”来计算的缘故。
校验子S1存储在A0~A9所示的寄存器中。按至此的计算,在D0~D9表示的寄存器中存储校验子S1,在D10~D19表示的寄存器中存储校验子S3,在A0~A9表示的寄存器中存储校验子S1,在P表示的寄存器中存储读出数据的奇偶性。
再有,由于与校验子S1的多项式表现的次数不同,所以由图11所示的校验子S1、S3计算器获得的校验子S3利用图12所示的校验子S3转换器来匹配。
图12所示的校验子S3的转换器主要由B0~B9、C0~C9所示的20个移位寄存器18和多个逻辑运算电路19构成,是使校验子S3与校验子S1匹配的装置。
首先,在STEP1中,用C表示的寄存器全部复位至“0”,在10次重复STEP2的运算时,在C表示的寄存器中产生S3的转换值。将它存储在D10~D19表示的寄存器中。
按至此的计算,在D0~D9表示的寄存器中存储S1,在D10~D19表示的寄存器中存储S3,在A0~A9表示的寄存器中存储S1,在P表示的寄存器中存储读出数据的奇偶性。
图13所示的校验子S1×S1的计算器主要由B0~B9、C0~C9所示的20个移位寄存器18和多个逻辑运算电路19构成,是计算校验子S1×S1的装置。
首先,在STEP1中,用C表示的寄存器全部复位至“0”,在10次重复STEP2的运算时,在C表示的寄存器中产生S1×S1。将它存储在D0~D9表示的寄存器中。
按至此的计算,在D0~D9表示的寄存器中存储S1×S1,在D10~D19表示的寄存器中存储S3,在A0~A9表示的寄存器中存储S1,在P表示的寄存器中存储读出数据的奇偶性。
图14所示的校验子S1×S1×S1+S3的计算器主要由B0~B9、C0~C9所示的20个移位寄存器18和多个逻辑运算电路19构成,是计算校验子S1×S1×S1+S3的装置。
首先,在STEP1中,用C表示的寄存器全部复位至“0”,在10次重复STEP2的运算时,在C表示的寄存器中产生S1×S1×S1(=S13)。将它补入并存储在D10~D19表示的寄存器中。
按至此的计算,在D0~D9表示的寄存器中存储S1×S1(=σ1),在D10~D19表示的寄存器中存储S1^3+S3(=σ2),在A0~A9表示的寄存器中存储S1,在P表示的寄存器中存储读出数据的奇偶性。
再有,即使用图14所示的校验子S1×S1×S1+S3的计算器获得的σ1原封不动,也可以使错误位置检测器动作,但由于在最初形成上需要时间,所以为了最初形成上高速地进行,利用图15所示的σ1→λ1转换器将σ1转换成λ1。
图15所示的σ1→λ1转换器主要由B0~B9、C0~C9所示的20个移位寄存器18和多个逻辑运算电路19构成,将σ1转换成λ1。
首先,在STEP1中,用C表示的寄存器全部复位至“0”,在10次重复STEP2的运算时,在C表示的寄存器中产生λ1。将它存储在D0~D9表示的寄存器中。
按至此的计算,在D0~D9表示的寄存器中存储λ1,在D10~D19表示的寄存器中存储σ2,在A0~A9表示的寄存器中存储S1,在P表示的寄存器中存储读出数据的奇偶性。
再有,即使用图15所示的σ1→λ1转换器获得的σ2原封不动,也可以使错误位置检测器动作,但由于在最初形成上需要时间,所以为了最初形成上高速地进行,利用图16所示的σ2→λ2转换器将σ2转换成λ2。
1图16所示的σ2→λ2转换器主要由B0~B9、C0~C9所示的20个移位寄存器18和多个逻辑运算电路19构成,将σ2转换成λ2。
首先,在STEP1中,用C表示的寄存器全部复位至“0”,在10次重复STEP2的运算时,用C表示的寄存器中产生λ2。将它存储在D10~D19表示的寄存器中。
按至此的计算,在D0~D9表示的寄存器中存储λ1,在D10~D19表示的寄存器中存储λ2,在A0~A9表示的寄存器中存储S1,在P表示的寄存器中存储读出数据的奇偶性。
图17所示的错误位置检测器主要由D0~D19、A0~A9所示的30个移位寄存器18和多个逻辑运算电路19构成。
该错误位置检测器检测D0~D9所示的寄存器中存储的λ1、D10~D19所示的寄存器中存储的λ2和A0~A9所示的寄存器中存储的校验子S1,与输出控制信号发生电路8产生的输出控制信号OUTCLK同步,利用时钟信号Φ进行工作。这种情况下,在下述条件式
A0=D0+D10
A1=D1+D11
A2=D2+D12
A3=D3+D13
A4=D4+D14
A5=D5+D15
A6=D6+D16
A7=D7+D17
A8=D8+D18
A9=D9+D19
成立时,通过来自数据存储电路17的各信号线DL_0~DL_7,使对D0端子~D7输出的读出数据反转,进行错误校正。
在时钟信号Φ的一个周期(错误位置运算的一个周期)后,如果条件式成立,那么列地址0地址号码的读出数据错误。在详细的实例中,例如,如果信号线DL-3的错误位置检测电路在时钟信号Φ的的第200周期(错误位置运算的第200周期)时满足条件式,那么可检测出199地址号码的列地址错误。
图18表示图1中的错误校正电路11中根据读出数据进行错误位置检测和校正的算法一例。
首先,在步骤S101中,读出存储器段,输入最前面开始的列地址数据。接着,在步骤S102中,利用存储器段读出数据存储电路17中的数据。接着,在步骤S103中,使D0~D19表示的寄存器、P表示的寄存器都复位成“0”。接着,在步骤S104中,将变量列地址寄存器Add_col的内容设定为0。该变量列地址寄存器Add_col在列地址发生电路16中,按照变量列地址寄存器Add_col的内容产生列地址信号CSL。
接着,在步骤S105中,利用列地址,从选择的数据存储电路17输出读出数据。而且,在步骤S106中,判定变量列地址寄存器Add_col的内容是否为516,在变量列地址寄存器Add_col的内容达到516的情况下,在步骤S108中,开关SW4、SW6、SW7截止,而如果变量列地址寄存器Add_col的内容在516以外,那么在步骤S107中,开关SW4、SW6、SW7导通。
接着,在步骤S109中,与错误校正控制信号ECCLK同步,利用产生的时钟信号Φ进行校验子和奇偶运算。而且,在步骤S110中,判定是否变量列地址寄存器Add_col的内容=547,如果为547以外,那么返回步骤S111,推进一个变量列地址寄存器Add_col的内容,返回所述步骤S105。这样,一边一次一次地增加直至变量地址寄存器Add_col的内容=547,一边反复进行校验子和奇偶的运算。再有,与错误校正控制信号ECCLK同步后,进行上述步骤S105~S111的动作。
而且,在所述步骤S110中,如果判定变量地址寄存器Add_col的内容=547,那么在步骤S112中,判定校验子S1是否为0。如果该判定结果为S1=0,那么在步骤S113中判定是否S3=0。如果该判定结果为S3=0,那么判定没有错误,在步骤S114中,将状态设定为“正常”。
与此相对,如果在所述步骤S112中的判定结果为S1=0,在所述步骤S113中的判定结果为S3≠0,那么判定产生3比特以上的错误,在步骤S115中将状态设定为“不能校正”。
与此相对,如果所述步骤S112中的判定结果为S1≠0,那么在步骤S116中判定是否S3=0。如果该判定结果为S3=0,那么判定产生3比特以上的错误,在步骤S122中将状态设定为“不能校正”。此外,如果在步骤S116中的判定结果为S3≠0,那么在步骤S117中,进行S3的转换、σ1的计算、σ2的计算、λ1的计算、λ2的计算。
接着,在步骤S118中,判定λ2是否为0。如果该判定结果为λ2=0,那么判定产生1比特错误,在步骤S119中在状态上设定“1比特错误”。
与此相对,如果所述步骤S118中的判定结果为λ2≠0,那么在步骤S120中,判定写入数据产生的奇偶和读出数据产生的奇偶是否一致。如果该判定结果为奇偶一致,那么判定产生2比特错误,在步骤S121中在状态上设定“2比特错误”。此外,如果在所述步骤S120中的判定结果为奇偶不一致,那么判定产生3比特以上的错误,在步骤S122中,在状态上设定“不能校正”。而且,如果状态确定,那么在步骤S123中再次将变量列地址寄存器Add_col的内容设定为0。再有,与错误校正控制信号ECCLK同步后,进行上述步骤S112~S123、S105~S111。
接着,在步骤S124中,进行一个周期的错误位置运算,在步骤S125中判定变量列地址寄存器Add_col的内容是否与数据输出开始的列地址一致。如果该判定结果为不一致,那么移至步骤S126,推进一个变量列地址寄存器Add_col的内容,返回所述步骤S124。这样,经一次一次增加,直至变量列地址寄存器Add_col的内容与数据输出开始的列地址一致,再返回步骤S124~S126。再有,与错误校正控制信号ECCLK同步,与产生的时钟信号Φ同步,进行上述步骤S124~S126的动作。
在所述步骤S125中,如果判定变量列地址寄存器Add_col的内容与数据输出开始的列地址一致,那么在步骤S127中,与读出允许信号nRE同步,与产生的OUTCLK同步,进行错误位置运算,根据变量列地址寄存器Add_col的内容,进行数据的向外部的输出。
再有,错误位置运算和数据输出根据读出允许信号nRE仅重复来自外部的要求。这样,通过在一个周期前调查是否应该校正输出数据,可以高速地进行输出。当然,如果不考虑高速地输出,也可以在同一周期中处理输出和应该进行的校正。
图19表示图18所示的算法中数据读出动作的时序一例。
就是说,在图19中,首先,在地址锁存允许信号ALE为“H”期间内的写入允许信号nWE的上升中,进行存储器段的选择和数据输出开始列地址的指定,输入地址数据ad0~ad2(图18的步骤S101)。
如果取入地址数据ad2,那么读出指令信号READ自动地变为“H”,从被选择的存储器段向数据存储电路17读出存储器单元的数据(图18的步骤S102)。此外,在该期间,D0~D19表示的寄存器、P表示的寄存器都被复位到“0”(图18的步骤S103),变量列地址寄存器Add_col的内容被设定为0(图18的步骤S104)。
变量列地址寄存器Add_col在列地址发生电路16中,根据该变量列地址寄存器Add_col的内容产生列地址信号CSL。
如果向数据存储电路17的数据读出结束,那么数据锁存读出指令信号DLREAD变为“H”,因此输出错误校正控制信号ECCLK。与错误校正控制信号ECCLK同步,按照从列地址0地址号码至547地址号码的顺序,根据列地址,将来自被选择的数据存储电路17的读出数据输出至错误校正电路11,进行校验子和奇偶计算(图18的步骤S105~S111)。
接着,计算指令信号CALC变为“H”,再次输出错误校正控制信号ECCLK。与错误校正控制信号ECCLK同步,进行读出数据的错误检测(图18的步骤S112~S122)。
如果CALC变为“L”,那么数据输出指令信号OUTPUT变为“H”,输出输出控制信号OUTCLK,进行向外部的输出准备(图18的步骤S123~S126)。在图19的例中,由于数据输出开始列地址为“1”地址号码,所以进行两次错误位置运算(图18的步骤S124)。
然后,读出指令信号READ变为“L”,变为可向外部输出。在该读出指令信号READ为“H”期间,占线信号nBUSY为“L”,传送处于向外部输出准备中的状态。
在读出允许信号nRE从“H”过渡到“L”的时序中,输出控制信号OUTPUT从“L”变为“H”,输出列地址信号CSL,从读出数据D0~D7对应的D0端子~D7端子开始输出。同时,为了检测后面的列地址的输出数据是否有错误,进行错误位置运算(图18的步骤S127)。
在指令锁存允许信号CLE为“H”期间内的写入允许信号nWE的上升中,如果输入状态读出指令的16进制码“70”H,那么如图18的步骤S114、S115、S119、S121、S122中所述的那样,输出设定的状态。此外,如果输入上述状态读出指令“70”H,那么状态读出指令信号STATUS变为“H”。接受该状态读出指令信号STATUS,在nCE=“L”时,在读出允许信号nRE从“H”过渡到“L”的时序中,从状态端子D0~端子D7开始输出。例如,使用来自端子D0~端子D2的输出,如下述表4那样输出。
【表4】
状态 |
写入 |
1比特错误 |
2比特错误 |
不能校正 |
D0 |
0 |
0 |
0 |
1 |
D1 |
0 |
1 |
0 |
1 |
D2 |
0 |
0 |
1 |
1 |
D0表示的寄存器的状态数据意味着还包含错误校正读出上成功吗(0=“通过”/1=“失败”)。如果在写入/清除后进行状态读出,那么如果成功就产生0,而如果不成功就产生1。
D0表示的寄存器的状态数据作为读出/写入/清除的状态数据共同使用。D1表示的寄存器和D2表示的寄存器表示最大的错误数。
图11~17的电路与各信号线DL_0~DL_7对应设置,由于同时动作,所以可获得各自的错误数。作为状态,输出最大的错误数。
图20表示图18所示的算法中不进行错误校正输出读出数据的动作时序的一例。
在本例中,还输出检查数据和奇偶数据。因此,可以在外部检查错误校正电路11的动作。
就是说,在图20中,首先,在指令锁存允许信号CLE为“H”期间内的写入允许信号nWE的上升中,输入错误校正不激活指令的16进制码“B0”H。再有,该错误校正不激活指令也可以使用与写入时的错误校正不激活指令“A0”H相同的指令。
图20所示的动作时序与图19所示的动作时序大致相同。不同点在于,(1)投入“B0”H指令,(2)即使检测出错误数据也不校正进行输出,(3)还输出检查数据和奇偶数据。
图21表示图1中的ECCENB端子上输入的错误校正电路激活信号ECCENB为“L”时的数据读出动作的时序一例。
如果错误校正电路激活信号ECCENB为“L”,那么在图1中的指令接口3中按不激活错误校正电路11那样转换。
就是说,在图21中,在地址锁存允许信号ALE为“H”期间内的写入允许信号nWE的上升中,进行存储器段的选择和数据输出开始列地址的指定,输入地址数据ad0~ad2。
如果取入地址数据ad2,那么读出指令信号READ自动地变为“H”,从被选择的存储器段向数据存储电路17进行存储器单元的数据读出。然后,读出指令信号READ变为“L”,变得可向外部输出。此外,数据输出指令信号OUTPUT变为“H”,输出控制信号OUTPUT变得可输出。在读出指令信号READ为“H”期间,占线信号nBUSY为“L”,传送处于向外部输出准备中的状态。
在读出允许信号nRE从“H”过渡到“L”的时序中,输出控制信号OUTCLK从“L”变为“H”,输出列地址信号CSL,读出数据D0~D7从D0端子~D7端子开始输出。
图22表示在图3所示的系统中电源上升时自动地进行预定地址号码的存储器段读出的动作时序的一例。
就是说,在图22中,如果电源电压VCC从0V上升,达到预定的电压值,那么通电检测电路2使通电检测信号PON达到“H”。指令接口3接受上述通电检测信号PON的从“L”向“H”的过渡,自动地使读出指令信号READ为“H”,开始读出。地址缓冲器4也自动地将地址数据设定为预定值。在本例中,数据输出开始列地址被设定为“0”地址号码。
图22所示的动作时序与图19所示的动作时序大致相同,不同点在于,利用通电检测信号PON来起动。
<第二实施例>
第二实施例与上述第一实施例仅在读出动作上有所不同。
装载第二实施例的错误校正电路的快闪存储器的电路结构与图1所示的电路结构大致相同,而且,不同点在于,接受来自外部的错误校正指令,利用指令接口3输出错误校正读出指令信号ECREAD。
图23表示在第二实施例中在图1中的错误校正电路11中利用读出数据进行错误位置检测和校正的算法一例,与参照图18在上述第一实施例的图1中的错误校正电路11情况下利用读出数据进行错误位置检测和校正的算法的不同。
就是说,首先,在步骤S201中,读出存储器段,输入最前面开始的列地址数据。接着,在步骤S202中,利用存储器段读出数据存储电路17中的数据。接着,在步骤S203中,使D0~D19表示的寄存器、P表示的寄存器都复位成“0”。接着,在步骤S204中,将变量列地址寄存器Add_col的内容设定为0。该变量列地址寄存器Add_col在列地址发生电路16中,根据它的内容产生列地址信号CSL。
接着,在步骤S205中,利用列地址,从选择的数据存储电路17中向外部输出读出数据。而且,在步骤S206中,判定变量列地址寄存器Add_col的内容是否为516,在达到516的情况下,在步骤S208中,开关SW4、SW6、SW7截止,而如果在516以外,那么在步骤S207中,开关SW4、SW6、SW7导通。
接着,在步骤S209中,在与来自外部的读出允许信号nRE同步的输出控制信号OUTCLK同步,利用产生的时钟信号Φ进行校验子和奇偶运算。而且,在步骤S210中,推进一个变量列地址寄存器Add_col的内容后,返回步骤S205。这样,一边一次一次增加直至变量地址寄存器Add_col的内容=527,一边反复进行校验子和奇偶的运算。再有,与输出控制信号OUTCLK同步后,进行上述步骤S205~S210的动作。
接着,在步骤S211中,如果在指令接口3中输入作为校正读出指令的例如16进制码“20”H,那么根据校正读出指令信号ECREAD进行错误校正动作。而且,在步骤S212中,开关SW4、SW6、SW7导通。而且,在步骤S213中,与错误校正控制信号ECCLK同步,利用产生的时钟信号Φ进行校验子和奇偶运算。
而且,在步骤S214中,判定变量列地址Add_col的内容是否为547,如果是547以外,那么移至步骤S215,前进一次,返回所述步骤S213。于是,一边一次一次增加直至变量地址寄存器Add_col的内容=547,一边反复进行校验子和奇偶的运算。再有,与错误校正控制信号ECCLK同步后,进行上述步骤S213~S215的动作。
而且,在所述步骤S214中,如果判定变量列地址Add_col的内容=547,那么在步骤S216中,判定校验子S1是否为0。如果该判定结果为S1=0,那么在步骤S217中判定是否S3=0。如果该判定结果为S3=0,那么判定没有错误,在步骤S218中将状态设定为“正常”。
与此相对,如果所述步骤S216中的判定结果为S1=0,所述步骤S217中的判定结果为S3≠0,那么判定产生3比特以上的错误,在步骤S219中将状态设定为“不能校正”。
与此相对,如果所述步骤S216中的判定结果为S1≠0,那么在步骤S220中判定是否S3=0。如果该判定结果为S3=0,那么判定为产生3比特以上的错误,在步骤S226中将状态设定为“不能校正”。此外,如果在所述步骤S220中的判定结果为S3≠0,那么在步骤S221中,进行S3的转换、σ1的计算、σ2的计算、λ1的计算、λ2的计算。
接着,在步骤S222中,判定λ2是否为0。如果λ2=0,那么该判定结果就判定为产生1比特错误,在步骤S223中在状态上设定“1比特错误”。
与此相对,如果所述步骤S222中的判定结果为λ2≠0,那么在步骤S224中,判定写入数据产生的奇偶和读出数据产生的奇偶是否一致。如果该判定结果为奇偶一致,那么判定产生2比特错误,在步骤S225中在状态上设定“2比特错误”。
与此相对,如果所述步骤S224中的判定结果为奇偶不一致,那么判定产生3比特以上的错误,在步骤S226中在状态上设定“不能校正”。如果状态确定,那么在步骤S227中将变量列地址寄存器Add_col的内容再次设定成0,在步骤S228中将错误位置运算进行一个循环。再有,与错误校正控制信号ECCLK同步后,进行上述步骤S216~S228的动作。
接着,在步骤S229中,在指令锁存允许信号CLE为“H”,在写入允许信号nWE的上升中,如果输入16进制码“70”H,那么在步骤S230中输出在所述步骤S218、S219、S223、S225、S226中分别设定的状态。
就是说,如果输入状态读出指令“70”H,那么状态读出指令信号STATUS变为“H”。接收状态读出指令信号STATUS,在芯片允许信号nCE=“L”时,在读出允许信号nRE从“H”过渡到“L”中,在所述步骤S230中,例如,如表4所示,从D0端子~D2端子输出状态。
通常,由于没有错误,所以输出状态“正常”,读出结束。如果输出1比特或2比特错误的状态,那么再次输出读出数据。此时,进行校正输出。如果输出“不能校正”的状态,那么变为读出结束,不能校正的存储器段为被破坏的存储器段,由CPU21识别。
图24表示图23所示的算法中数据读出动作时序的一例。
在地址锁存允许信号ALE为“H”期间,在写入允许信号nWE的上升中,进行存储器段的选择和数据输出开始列地址的指定,输入地址数据ad0~ad2(图23的步骤S201)。
如果取入地址数据ad2,那么读出指令信号READ自动地变为“H”,从被选择的存储器段向数据存储电路17进行存储器单元的数据读出(图23的步骤S202)。此外,在此期间,用D0~D19表示的寄存器、用P表示的寄存器都被复位成“0”(图23的步骤S203),变量列地址寄存器Add_col的内容被复位成0(图23的步骤S204)。变量列地址寄存器Add_col在列地址发生电路16中,根据该变量列地址寄存器Add_col的内容产生列地址信号CSL。在读出指令信号READ为“H”期间,占线信号nBUSY为“L”,传送处于向外部输出准备中的状态。
如果向数据存储电路17的输出读出结束,那么数据输出指令信号OUTPUT变为“H”,由此,与复位允许信号nRE同步后,输出输出控制信号OUTCLK。与输出控制信号OUTCLK同步,按从列地址0地址号码至527地址号码的顺序,将根据列地址来自被选择的数据存储电路17的读出数据输出至错误校正电路11,进行校验子和奇偶计算(图23的步骤S205~S210)。
如果输入校正读出指令“20”H(图23的步骤S211),那么校正读出指令信号ECREAD变为“H”,接受该信号,数据锁存读出指令信号DLREAD变为“H”,由此输出错误校正控制信号ECCLK。与错误校正控制信号ECCLK同步,按从列地址528地址号码至547地址号码的顺序,将根据列地址来自被选择的数据存储电路17的读出数据输出至错误校正电路11,进行校验子和奇偶计算(图23的步骤S212~S215)。
接着,计算指令信号CALC变为“H”,再次输出错误校正控制信号ECCLK。与错误校正控制信号ECCLK同步,进行读出数据的错误检测(图23的步骤S216~S226)。
如果计算指令信号CALC变为“L”,那么数据输出指令信号OUTPUT变为“H”,输出输出控制信号OUTCLK,进行向外部的输出准备(图23的步骤S227、S228)。错误校正读出指令信号ECREAD变为“L”后,结束校正读出动作。在错误校正读出指令信号ECREAD为“H”期间,占线信号nBUSY成“L”,传送处于向外部输出准备中的状态。
在指令锁存允许信号CLE为“H”期间,在写入允许信号nWE的上升中,如果输入状态读出指令“70”H(图23的步骤S229),那么在图23的步骤S230中输出在图23的步骤S218、S219、S223、S225、S226中复位的状态。这种情况下,如果输入状态读出指令“70”H,那么状态读出指令信号STATUS变为“H”。在接受状态读出指令信号STATUS,nCE=“L”时,在nRE从“H”过渡到“L”的时序中,例如,如表4所示,从D0端子~D2端子输出状态。
如果是1比特或2比特错误的状态,那么读出允许信号nRE处于从“H”过渡至“L”时序,输出控制信号OUTCLK从“L”变为“H”,输出列地址信号CSL,从D0端子~D7端子开始读出数据的输出。同时,为了检查随后的列地址的输出数据是否有错误,进行错误位置运算。这样,通过在1周期前进行调查,可以高速输出是否应该校正输出数据。当然,如果不考虑高速输出,那么也可以在同一周期中处理是否应该输出和校正的检测。
在上述第二实施例中,如所述第一实施例所述那样,可以容易地激活或不激活错误校正电路。此外,检查数据和奇偶数据的输出也容易。
图25表示第一实施例和第二实施例的快闪存储器中数据清除动作时序一例的图。
其中,该图表示从存储器单元阵列12的各阵列A、B中各选择一个存储器块,同时清除两个块的情况。
在指令锁存允许信号CLE为“H”期间,在写入允许信号nWE的上升中,输入作为清除地址输入指令的16进制码“60”H。接着,在地址锁存允许信号ALE为“H”期间,取入第二次的地址数据。在指令锁存允许信号CLE再次为“H”期间,在写入允许信号nWE的上升中,输入清除地址输入指令“60”H,接着,在地址锁存允许信号ALE为“H”期间,取入第二次的地址数据。再有,在仅清除1块的情况下,不进行第二次清除地址输入指令“60”H的输入和地址的输入。
在指令锁存允许信号CLE为“H”期间,在写入允许信号的nWE上升中输入作为清除指令的16进制码“90”H,清除指令信号ERASE变为“H”,清除选择的块。在清除指令信号ERASE为“H”期间,占线信号nBUSY变为“L”,向外部传送处于内部处理中的状态。
在以上说明中,为了容易理解分别采用检查数据和奇偶数据,但奇偶数据也是检查错误程度的一种检查数据。
从上述实施例中可以理解,本发明分别提供具有下述特征的快闪存储器。
就是说,本发明第1方案的快闪存储器的特征在于包括:由多个快闪存储器单元M构成的存储器段;指令接口3,接受来自外部的写入数据输入指令“80”,产生写入数据输入指令信号INPUT,接受来自外部的写入指令“10”H,产生写入指令信号PRO;第一信号缓冲器10,接受从外部输入的第一信号nWE;控制信号发生电路9,被所述写入指令信号PRO激活,产生控制信号CGCLK;数据输入缓冲器5,被所述写入数据输入指令信号INPUT激活,与所述第一信号nWE同步,接受从外部输入的写入数据;错误校正电路11,被所述写入数据输入指令信号INPUT激活,与所述第一信号nWE同步,接受所述写入数据,被所述写入指令PRO激活,与所述控制信号CGCLK同步后,产生错误校正的检查数据;地址缓冲器4,接受从外部输入的地址数据;地址信号发生电路16,被所述写入数据输入指令信号INPUT激活,与所述第一信号nWE同步,根据所述地址数据按预定顺序产生地址信号CSL,被所述写入指令信号PRO激活,与所述控制信号CSL同步,按预定顺序产生地址信号;多个数据存储电路17,各数据存储电路相对于各个存储器单元M来设置,各数据存储电路接受分配的地址信号CSL,取入并暂时存储所述写入数据或检查数据;和写入装置(13,14,15),被所述写入指令PRO激活,将所述多个数据存储电路17中暂时存储的写入数据和检查数据写入所述存储器段。
而且,作为优选实施例,配有占线信号输出电路3,按照所述写入指令信号PRO,向外部输出占线信号nBUSY。
按照上述第1方案的快闪存储器,对写入电路的信息数据的输入与外部控制的信号nWE同步进行,但使错误校正电路在两个期间中与两个控制信号同步动作,就是说,第一期间与外部控制信号nWE同步,在第二期间自动地产生内部控制信号CGCLK,并与它同步。
由此,即使在未输入外部控制信号期间,也可以用内部错误校正电路产生用于错误校正的检查数据,向写入电路输出检查数据等处理可以在快闪存储器的内部自动地处理。因此,可以提供与未装载以往的错误校正电路的快闪存储器具有互换性的快闪存储器。
此外,本发明第2方案的快闪存储器的特征在于包括:由多个快闪存储器单元M构成的存储器段;由多个所述存储器段构成的存储器单元阵列12;控制信号发生电路7,产生控制信号ECCLK;第一信号缓冲器8,接受从外部输入的第一信号nRE;地址缓冲器4,接受从外部输入的地址数据;地址信号发生电路16,与所述控制信号ECCLK同步后,按预定顺序产生地址信号CSL,与所述第一信号nRE同步,根据所述地址数据,按预定顺序产生地址信号CSL;读出装置(13,14,15),根据所述地址数据,选择所述存储器单元阵列12中的存储器段,从被选择的存储器段的各个存储器单元m中读出数据;多个数据存储电路17,各数据存储电路相对于各个存储器单元M来设置,各数据存储电路暂时存储从与被选择的存储器段对应的存储器单元M中读出的数据,各数据存储电路接受分配的地址信号CSL,输出从暂时存储的存储器单元M中读出的数据;数据输出缓冲器5,与所述第一控制信号nRE同步,向外部输出从所述多个数据存储电路17输出的从存储器单元M中读出的数据;和错误校正电路11,与所述控制信号ECCLK同步,接受从所述多个数据存储电路17输出的从存储器单元M中读出的数据,第一控制信号nRE同步,判断从所述数据缓冲器5输出的数据是否有错误,并进行校正。
而且,作为优选实施例,配有:
(1)指令接口3,接受来自外部的状态读出指令“70”H,产生状态读出指令信号STATUS;和状态输出装置(5,11),通过所述数据输出缓冲器5输出在从被所述状态读出指令信号STATUS激活的存储器单元M中读出的数据中是否有错误。
(2)所述错误校正电路11可校正从存储器单元M中读出的数据内的多个数据,所述状态输出装置(5,11)可输出错误的数。
(3)所述错误校正电路11可校正从存储器单元M中读出的数据内的n个(n≥1)数据,可检测存在的(n+1)个错误,所述状态输出装置(5,11)可输出是否进行错误校正。
(4)配有占线信号输出电路3,在从所述存储器单元M的数据读出和所述错误校正电路11接受从存储器单元M中读出的数据期间连续地向外部输出占线信号nBUSY。
按照上述第2方案的快闪存储器,使来自读出电路的信息数据的输出与外部控制的信号nRE同步进行,但使错误校正电路在两个期间中与两个控制信号同步动作,就是说,第一期间与外部控制信号nRE同步,在第二期间自动地产生内部控制信号ECCLK,并与其同步。
由此,即使在未输入外部控制信号期间,也可以用内部错误校正电路产生用于错误校正的检查数据。向错误校正电路读出来自错误校正的读出电路的读出数据(信息数据和检查数据)等处理可以在快闪存储器的内部自动地处理。因此,可以提供与未装载以往的错误校正电路的快闪存储器具有互换性的快闪存储器。
此外,本发明第3方案的快闪存储器的特征在于包括:由多个快闪存储器单元M构成的存储器段;由多个所述存储器段构成的存储器单元阵列12;指令接口3,接受来自外部的校正读出指令“20”H,产生校正读出指令信号ECREAD;控制信号发生电路7,被所述校正读出指令信号ECREAD激活,产生控制信号ECCLK;第一信号缓冲器8,接受从外部输入的第一信号nRE;地址缓冲器4,接受从外部输入的地址数据;地址信号发生电路16,与所述第一信号nRE同步,根据所述地址数据按预定顺序产生地址信号CSL,被所述校正读出指令信号ECREAD激活,与所述控制信号ECCLK同步后,按预定的顺序产生地址信号CSL;读出装置(13,14,15),根据所述地址数据,选择所述存储器单元阵列12中的存储器段,从被选择的存储器段的各个存储器单元M中读出数据;多个数据存储电路17,各数据存储电路相对于各个存储器单元M来设置,各数据存储电路暂时存储从与被选择的存储器段对应的存储器单元M中读出的数据,各数据存储电路接受分配的地址信号CSL,输出从暂时存储的存储器单元M中读出的数据;数据输出缓冲器5,与所述第一控制信号nRE同步,向外部输出从所述多个数据存储电路17输出的从存储器单元M中读出的数据;错误校正电路11,与所述第一控制信号nRE同步,接受从所述多个数据存储电路17输出的从存储器单元M中读出的数据,与所述控制信号ECCLK同步,接受从所述多个数据存储电路17输出的从存储器单元M中读出的数据,判断从存储器单元M读出的数据中是否有错误,在有错误的情况下特定该数据。
而且,作为优选实施例,配有:
(1)指令接口3,接受来自外部的状态读出指令“70”H,产生状态读出指令信号STATUS;和状态输出装置(5,11),通过所述数据输出缓冲器5输出在从被所述状态读出指令信号STATUS激活的存储器单元M中读出的数据中是否有错误。
(2)所述错误校正电路11可校正从存储器单元M中读出的数据内的多个数据,所述状态输出装置(5,11)可输出错误的数。
(3)所述错误校正电路11可校正从存储器单元M中读出的数据内的n个(n≥1)数据,可检测存在的(n+1)个错误,所述状态输出装置(5,11)可输出是否进行错误校正。
(4)配有占线信号输出电路3,在所述存储器单元M的数据读出期间向外部输出占线信号nBUSY,并且,按照所述校正读出指令信号ECREAD向外部输出占线信号nBUSY。
按照上述第3方案的快闪存储器,在两个期间中,使两个控制信号同步,使错误校正电路动作,就是说,第一期间使外部控制信号nRE同步,第二期间自动地产生内部控制信号ECCLK,并与该信号同步。由此,即使在未输出外部控制信号期间,也可以用内部错误校正电路产生用于错误校正的检查数据,在有错误的情况下,特定该数据等的处理可以在快闪存储器的内部自动地处理。因此,可以提供与未装载以往的错误校正电路的快闪存储器具有互换性的快闪存储器。
此外,本发明第4方案的快闪存储器的特征在于包括:由多个快闪存储器单元M构成的存储器段;指令接口3,接受来自外部的写入数据输入指令“80”H,产生写入数据输入指令信号INPUT,接受来自外部的写入指令“10H”,产生写入指令信号PRO;第一信号缓冲器10,接受从外部输入的第一信号nWE;控制信号发生电路9,被所述写入指令信号PRO激活,产生控制信号CGCLK;数据输入缓冲器5,被所述写入数据输入指令信号INPUT激活,与所述第一信号nWE同步,接受从外部输入的写入数据;错误校正电路11,被所述写入数据输入指令信号INPUT激活,与所述第一信号nWE同步,接受所述写入数据,被所述写入指令PRO激活,与所述控制信号CGCLK同步后,产生错误校正的检查数据;多个数据存储电路17,各数据存储电路相对于各个存储器单元M来设置,与所述第一信号nWE和所述控制信号CGCLK同步后,取入并暂时存储所述写入数据或检查数据;写入装置(13,14,15),被所述写入指令PRO激活,将所述多个数据存储电路17中暂时存储的写入数据和检查数据写入所述存储器段。
而且,作为优选实施例,配有占线信号输出电路3,按照所述写入指令信号PRO向外部输出占线信号nBUSY。
按照上述第4方案的快闪存储器,与所述第一方案的快闪存储器相比,不同点在于,在取入并暂时存储数据存储电路17中的写入数据或检查数据时,没有分配的地址信号,外部控制信号nEW和内部控制信号CGCLK同步,但可以获得与第一方案的快闪存储器基本相同的效果。
此外,本发明第5方案的快闪存储器的特征在于包括:由多个快闪存储器单元M构成的存储器段;由多个所述存储器段构成的存储器单元阵列12;控制信号发生电路7,产生控制信号ECCLK;第一信号缓冲器8,接受从外部输入的第一信号nRE;地址缓冲器4,取入从外部输入的地址数据;读出装置(13,14,15),根据所述地址数据,选择所述存储器单元阵列12中的存储器段,从被选择的存储器段的各个存储器单元M中读出数据;多个数据存储电路17,各数据存储电路相对于各个存储器单元M来设置,各数据存储电路暂时存储从与被选择的存储器段对应的存储器单元M中读出的数据,与所述控制信号ECCLK和所述第一控制信号nRE同步,输出从暂时存储的存储器单元M中读出的数据;数据输出缓冲器5,与所述第一控制信号nRE同步,向外部输出从所述多个数据存储电路17输出的从存储器单元M中读出的数据;错误校正电路11,与所述控制信号ECCLK同步,接受从所述多个数据存储电路17输出的从存储器单元M中读出的数据,与所述第一控制信号nRE同步,判断从所述数据输出缓冲器5输出的数据是否有错误,并进行校正。
而且,作为优选实施例,配有:
(1)指令接口3,接受来自外部的状态读出指令“70”H,产生状态读出指令信号STATUS;和状态输出装置(5,11),通过所述数据输出缓冲器5输出在从被状态读出指令信号STATUS激活的存储器单元M中读出的数据中是否有错误。
(2)所述错误校正电路11可校正从存储器单元M中读出的数据内的多个数据,所述状态输出装置(5,11)可输出错误的数。
(3)所述错误校正电路11可校正从存储器单元M中读出的数据内的n个(n≥1)数据,可检测存在的(n+1)个错误,所述状态输出装置(5,11)可输出是否进行错误校正。
(4)配有占线信号输出电路3,在从存储器单元M的数据读出和所述错误校正电路11接受从存储器单元M中读出的数据期间,连续地向外部输出占线信号nBUSY。
按照上述第5方案的快闪存储器,与所述第2方案的快闪存储器相比,不同点在于,在从数据存储电路17输出数据时,不分配地址信号,使内部控制信号ECCLK和外部控制信号nRE同步,可获得与上述第2方案的快闪存储器基本相同的效果。
此外,本发明第6方案的快闪存储器的特征在于包括:由多个快闪存储器单元M构成的存储器段;由多个所述存储器段构成的存储器单元阵列12;指令接口3,接受来自外部的校正读出指令“20”H,产生校正读出指令信号ECREAD;控制信号发生电路7,产生被所述校正读出指令信号ECREAD激活的控制信号ECCLK;第一信号缓冲器8,接受从外部输入的第一信号nRE;地址缓冲器4,取入从外部输入的地址数据;读出装置(13,14,15),根据所述地址数据,选择所述存储器单元阵列12中的存储器段,从被选择的存储器段的各个存储器单元M中读出数据;多个数据存储电路17,各数据存储电路相对于各个存储器单元M来设置,各数据存储电路暂时存储从与被选择的存储器段对应的存储器单元M中读出的数据,与所述第一控制信号nRE同步,输出从暂时存储的存储器单元M中读出的数据;数据输出缓冲器5,与所述第一控制信号nRE同步,向外部输出从所述多个数据存储电路17输出的从存储器单元M中读出的数据;和错误校正电路11,与所述第一控制信号nRE同步,接受从所述多个数据存储电路17输出的从存储器单元M中读出的数据,与所述控制信号ECCLK同步,接受从所述多个数据存储电路17输出的从存储器单元M中读出的数据,判断在从存储器单元M中读出的数据中是否有错误,在有错误的情况下,特定该数据。
而且,作为优选实施例,配有:
(1)指令接口3,接受来自外部的状态读出指令“70”H,产生状态读出指令信号STATUS;和状态输出装置(5,11),通过所述数据输出缓冲器5输出在从被状态读出指令信号STATUS激活的存储器单元M中读出的数据中是否有错误。
(2)所述错误校正电路11可校正从存储器单元M中读出的数据内的多个数据,所述状态输出装置(5,11)可输出错误的数。
(3)所述错误校正电路11可校正从存储器单元M中读出的数据内的n个(n≥1)数据,可检测存在的(n+1)个错误,所述状态输出装置(5,11)可输出是否进行错误校正。
(4)配有占线信号输出电路3,在存储器单元M的数据读出期间,向外部输出占线信号nBUSY,并且,按照所述校正读出指令信号ECREAD向外部输出占线信号nBUSY。
按照上述第6方案的快闪存储器,与所述第3方案的快闪存储器相比,不同点在于,在从数据存储电路17输出数据时,不分配地址信号,使外部控制信号nRE和内部控制信号ECCLK同步,可获得与上述第3方案的快闪存储器基本相同的效果。
此外,本发明第7方案的快闪存储器的特征在于包括:由多个快闪存储器单元M构成的存储器段;信号缓冲器10,接受从外部输入的第一信号nEW,在第一期间输出第一控制信号INCLK;控制信号发生电路9,在与所述第一期间不同的第二期间,自动地产生第二控制信号CGCLK;数据输入缓冲器5,与所述第一信号nEW同步,接受从外部输入的写入数据;错误校正电路11,与所述第一控制信号INCLK同步,接受所述写入数据,与所述第二控制信号CGCLK同步后,产生用于错误校正的检查数据;多个数据存储电路17,各数据存储电路相对于各个存储器单元M来设置,与所述第一控制信号INCLK和所述第二控制信号CGCLK同步,取入并暂时存储所述写入数据或检查数据;和将所述多个数据存储电路17中暂时存储的写入数据和检查数据写入所述存储器段的装置(13,14,15)。
而且,作为优选实施例,配有:
(1)占线信号输出电路3,在所述第二期间向外部输出占线信号nBUSY。
按照上述第7方案的快闪存储器,与所述第1方案的快闪存储器相比,不同点在于使用两个内部控制信号CGCLK、INCLK,但可获得与上述第1方案的快闪存储器大致相同的效果。
此外,本发明第8方案的快闪存储器的特征在于包括:由多个快闪存储器单元M构成的存储器段;由多个所述存储器段构成的存储器单元阵列12;控制信号发生电路7,在第一期间自动地产生第一控制信号ECCLK;信号缓冲器8,接受从外部输入的第一信号nRE,在与所述第一期间不同的第二期间输出第二控制信号OUTCLK;接受从外部输入的地址数据的地址缓冲器4;读出装置(13,14,15),根据所述地址数据,选择所述存储器单元阵列12中的存储器段,从被选择的存储器段的各个存储器单元M中读出数据;多个数据存储电路17,相对于各个存储器单元M设置各数据存储电路,各数据存储电路暂时存储从被选择的存储器段对应的存储器单元M中读出的数据,在与所述第一控制信号ECCLK和所述第二控制信号OUTCLK同步,输出从暂时存储的存储器单元中读出的数据;数据输出缓冲器5,与所述第二控制信号OUTCLK同步,向外部输出从所述多个数据存储电路17输出的从存储器单元M中读出的数据;和错误校正电路11,与所述第一控制信号ECCLK同步,接受从所述多个数据存储电路17输出的从存储器单元M中读出的数据,与所述第二信号OUTCLK同步后,判断从所述数据输出缓冲器5中输出的数据是否有错误,并进行校正。
而且,作为优选实施例,配有:
(1)指令接口3,接受来自外部的状态读出指令“70”H,产生状态读出指令信号STATUS;和状态输出装置(5,11),通过所述数据输出缓冲器5输出在从被状态读出指令信号STATUS激活的存储器单元M中读出的数据中是否有错误。
(2)所述错误校正电路11可校正从存储器单元M中读出的数据内的多个数据,所述状态输出装置(5,11)可输出错误的数。
(3)所述错误校正电路11可校正从存储器单元M中读出的数据内的n个(n≥1)数据,可检测存在的(n+1)个错误,所述状态输出装置(5,11)可输出是否进行错误校正。
(4)而且,配有占线信号输出电路3,在从存储器单元M的数据读出和所述错误校正电路11接受从存储器单元M中读出的数据期间,连续地向外部输出占线信号nBUSY。
按照上述第8方案的快闪存储器,与所述第2方案的快闪存储器相比,不同点在于使用两个内部控制信号ECCLK、OUTCLK,但可获得与上述第2方案的快闪存储器大致相同的效果。
此外,本发明第9方案的快闪存储器的特征在于包括:由多个快闪存储器单元M构成的存储器段;由多个所述存储器段构成的存储器单元阵列12;信号缓冲器8,接受从外部输入的第一信号nRE,在第一期间输出第一控制信号OUTCLK;控制信号发生电路7,在与所述第一期间不同的第二期间,自动地产生第二控制信号ECCLK;接受从外部输入的地址数据的地址缓冲器4;读出装置(13,14,15),根据所述地址数据,选择所述存储器单元阵列12中的存储器段,从被选择的存储器段的各个存储器单元M中读出数据;多个数据存储电路17,相对于各个存储器单元M设置各数据存储电路,各数据存储电路暂时存储从被选择的存储器段对应的存储器单元M中读出的数据,在与所述第一控制信号OUTCLK和所述第二控制信号ECCLK同步,输出从暂时存储的存储器单元中读出的数据;数据输出缓冲器5,与所述第一控制信号OUTCLK同步,向外部输出从所述多个数据存储电路17输出的从存储器单元M中读出的数据;和错误校正电路11,与所述第一控制信号OUTCLK同步,接受从所述多个数据存储电路17输出的从存储器单元M中读出的数据,与所述第二控制信号ECCLK同步,接受从所述多个数据存储电路17输出的从存储器单元M中读出的数据,判断在从存储器单元M中读出的数据中是否有错误,在有错误的情况下,特定该数据。
而且,作为优选实施例,配有:
(1)指令接口3,接受来自外部的状态读出指令“70”H,产生状态读出指令信号STATUS;和状态输出装置(5,11),通过所述数据输出缓冲器5输出在从被状态读出指令信号STATUS激活的存储器单元M中读出的数据中是否有错误。
(2)所述错误校正电路11可校正从存储器单元M中读出的数据内的多个数据,所述状态输出装置(5,11)可输出错误的数。
(3)所述错误校正电路11可校正从存储器单元M中读出的数据内的n个(n≥1)数据,可检测存在的(n+1)个错误,所述状态输出装置(5,11)可输出是否进行错误校正。
(4)占线信号输出电路3,在存储器单元M的数据读出期间向外部输出占线信号nBUSY,并且,在所述第二期间向外部输出占线信号nBUSY。
按照上述第9方案的快闪存储器,与所述第3方案的快闪存储器相比,不同点在于使用两个内部控制信号ECCLK、OUTCLK,但可获得与上述第3方案的快闪存储器大致相同的效果。
此外,本发明第10方案的快闪存储器包括:由多个快闪存储器单元M构成的存储器段;向外部输出占线信号nBUSY的占线信号输出电路3;接受从外部输入的各个存储器单元中写入的写入数据的数据输入缓冲器5;暂时存储所述写入数据的n比特可存储的多个数据存储电路17;和错误校正电路11,在取入m1比特(m1<n)的写入数据,产生m2比特(m1+m2<n)的检查数据,以及产生所述m2比特的检查数据后,取入m3比特(m1+m2+m3<n)的写入数据,产生m4比特(m1+m2+m3+m4≤n)的检查数据;其特征在于,m2比特的检查数据在m1比特的写入数据输入至所述多个数据存储电路17后被输入并暂时存储在所述多个数据存储电路17中,m4比特的检查数据在m3比特的写入数据输入至所述多个数据存储电路17后被输入并暂时存储在所述多个数据存储电路17中,所述多个数据存储电路17中暂时存储的m1比特和m3比特的写入数据以及m2比特和m4比特的检查数据在m4比特的检查数据暂时存储在所述多个数据存储电路17后被写入所述存储器段,所述错误校正电路11在产生所述m2比特的检查数据时从所述占线信号输出电路3向外部输出占线信号nBUSY。
按照上述第10方案的快闪存储器,接受两个存储器段部分的信息数据,汇总写入两个存储器段中。如果输入第一存储器段中写入的信息数据,那么取出占线信号,如伪写入那样观察快闪管理系统,在内部产生检查数据。因此,由于与写入相比可以在短时间内处理产生的检查数据,所以可以提供伪写入时间短的快闪存储器。
此外,本发明第11方案的快闪存储器包括:由多个快闪存储器单元M构成的存储器段;向外部输出占线信号nBUSY的占线信号输出电路3;和错误校正电路11,读出来自所述存储器段的读出数据,特定错误的读出数据;其特征在于,经过读出来自所述存储器段的读出数据期间和所述错误校正电路11特定错误的读出数据期间,利用所述占线信号输出电路3进行连接,并向外部输出占线信号nBUSY。
按照上述第11方案的快闪存储器,经过读出来自存储器段的数据期间和用错误校正电路11特定错误的期间,进行连接并向外部输出占线信号nBUSY。因此,可以提供与以往未装载的错误校正电路的快闪存储器具有互换性的快闪存储器。
此外,本发明第12方案的快闪存储器包括:由多个快闪存储器单元M构成的存储器段;向外部输出从所述存储器段中读出的读出数据的数据缓冲器5;和错误校正电路11,输出来自所述数据缓冲器5的读出数据,同时为了特定读出数据中错误的读出数据,输入读出数据;其特征在于,所述错误校正电路11在再次向外部输出来自数据缓冲器5的读出数据时,校正错误的读出数据。
而且,作为优选实施例,配有:
(1)向外部输出错误状态的状态输出电路(5,11)。
(2)暂时存储从所述存储器段中读出的读出数据的多个数据存储电路17。
按照上述第12的快闪存储器,以边向外部输出读出数据一边使错误校正电路动作。然后,进行剩余的错误校正处理,仅在有错误的情况下,再次校正错误并向外部输出。
因此,可以缩短了内部错误校正电路中来自读出数据的错误检出和进行该错误特定所需要的时间,并缩短伪读出时间,可以提供平均读出时间短的快闪存储器。
此外,本发明第13方案的快闪存储器包括:由多个快闪存储器单元M构成的存储器段;将预定的信息数据和检查数据写入所述存储器段的装置(13,14,15);从所述存储器段中读出所述信息数据和所述检查数据的装置(13,14,15);和错误校正电路11,利用所述信息数据产生所述检查数据,利用所述信息数据和所述检查数据进行所述n比特信息数据的错误校正;其特征在于,所述错误校正电路11将至少一个以上的预定存储器单元中存储的信息数据置换成预定的伪数据,产生所述检查数据,将从所述预定存储器单元中读出的信息数据置换成所述伪数据,校正所述信息数据。
按照上述第13方案的快闪存储器,将预定存储器单元中写入的信息数据置换成固定数据,产生检查数据,进行错误校正。
因此,快闪存储器管理系统即使在该存储器单元中写入追加信息数据的情况下,也可以提供正确地进行错误校正的快闪存储器。
此外,本发明第14方案的快闪存储器包括:由多个快闪存储器单元M构成的存储器段;将预定的n比特信息数据和检查数据写入所述存储器段的装置(13,14,15);从所述存储器段中读出所述n比特信息数据和所述检查数据的装置(13,14,15);错误校正电路11,利用所述n比特信息数据产生所述检查数据,利用所述n比特信息数据和所述检查数据进行所述n比特信息数据的错误校正;其特征在于,所述错误校正电路11在外部输入的所述信息数据为m比特(m<n)情况下将预定的(n-m)比特的伪数据作为信息数据有效地添加,产生所述检查数据。
按照上述第14方案的快闪存储器,从外部输入的信息数据长度即使不是预定的长度,也可以正确地进行错误校正。就是说,即使来自快闪存储器管理系统的信息数据长度比预定长度短,也可以正确地进行错误校正。因此,可以提供不依赖于信息数据长度可以正确地进行错误校正的快闪存储器。
此外,本发明第15方案的快闪存储器的特征在于包括:由多个快闪存储器单元M构成的存储器段;将信息数据和检查数据写入所述存储器段的装置(13,14,15);从所述存储器段中读出所述信息数据和所述检查数据的装置(13,14,15);错误校正电路11,利用所述信息数据产生所述检查数据,利用所述信息数据和所述检查数据进行所述信息数据的错误校正;和开关电路3,选择向外部输出错误校正的所述信息数据还是向外部输出未错误校正的所述信息数据。
按照上述第15方案的快闪存储器,设置电开关,可以选择激活或不激活内部装载的错误校正电路。因此,可以提供可以容易进行不良解析的快闪存储器。
就是说,在正常激活错误校正电路中,如果校正错误并输出,如果不清楚造成错误的错误校正电路或造成错误的存储器单元,那么存在制品实验中难以进行不良解析情况的问题,但通过设置选择电路,可以不产生上述问题。
此外,本发明第16方案的快闪存储器的特征在于包括:由多个快闪存储器单元M构成的存储器段;将信息数据和检查数据写入所述存储器段的装置(13,14,15);从所述存储器段中读出所述信息数据和所述检查数据的装置(13,14,15);错误校正电路11,利用所述信息数据产生所述检查数据,利用所述信息数据和所述检查数据进行所述信息数据的错误校正;和开关电路3,选择激活还是不激活所述错误校正电路11。
按照第16方案的快闪存储器,在制品出厂时设置固定的开关,可以选择激活或不激活在内部装载的错误校正电路。因此,可以提供可同时生产使内部错误校正电路动作的制品和不动作的制品的快闪存储器。
就是说,在采用快闪存储器的系统侧进行错误校正的情况下,由于内部的错误校正动作只不过延迟写入和读出动作,所以必须不激活内部错误校正电路。因此,分开制作使内部错误校正电路动作的制品和不动作的制品,存在生产率低的问题,但通过设置选择电路可以解决这个问题。
此外,本发明第17方案的快闪存储器的特征在于包括:由多个快闪存储器单元M构成的存储器段;由多个所述存储器段构成的存储器单元阵列12;将信息数据和检查数据写入所述存储器段的装置(13,14,15);从所述存储器段中读出所述信息数据和所述检查数据的装置(13,14,15);错误校正电路11,利用所述信息数据产生所述检查数据,利用所述信息数据和所述检查数据进行所述检查数据的错误校正;和随着投入电源自动地读出预定的存储器段的数据的装置(2,3,13,14,15)。
按照上述第17方案的快闪存储器,在采用电源投入的同时自动地从存储器单元阵列中读出预定数据的快闪存储器的系统中,由于在快闪存储器中装载错误校正电路,所以在任何情况下都可以进行错误校正,可以提供稳定并且可靠性高的快闪存储器。
就是说,在使用电源投入的同时自动地从存储器单元阵列中读出预定数据的快闪存储器的系统中,如果形成根据其预定的数据控制快闪存储器的系统,那么即使该系统进行错误校正,也可以解决有关该预定数据在系统恢复前错误校正无效的问题。
此外,本发明第18方案的快闪存储器包括:由多个快闪存储器单元M构成的存储器段;多值写入装置(13,14,15),将第一信息数据和第一检查数据各1比特地写入所述存储器段的各个存储器单元中,然后,将写入的第一信息数据和写入的第一检查数据以及第二信息数据和第二检查数据各1比特地原样写入所述存储器段的各个存储器单元M中,在一个存储器单元中写入2比特的数据;多值读出装置(13,14,15),从所述存储器段中读出所述第一信息数据和所述第一检查数据,从所述存储器段中读出所述第二信息数据和所述第二检查数据;和错误校正电路11,利用所述第一信息数据产生所述第一检查数据,利用所述第二信息数据产生所述第二检查数据,利用所述第一信息数据和所述第一检查数据校正所述第一信息数据的错误,利用所述第二信息数据和所述第二检查数据校正所述第二信息数据的错误;其特征在于,所述错误校正电路11根据BCH符号进行检查数据的产生和错误校正。
按照上述第18方案的快闪存储器,将第一信息数据和第一检查数据各1比特地写入存储器段的各个存储器单元中,然后,利用写入的第一信息数据和第一检查数据以及第二信息数据和第二检查数据还各1比特地写入该存储器段的各个存储器单元中,在一个存储器单元中写入2比特的数据。此外,装载基于BCH符号的电路。因此,可以提供芯片尺寸比较小的多值快闪存储器。
就是说,在多值快闪存储器中,因一个存储器单元的破坏造成多个比特错误。因此,作为错误校正方法,有高效率的可闪现错误校正的方法。另一方面,比特单位下的错误校正电路比较精简,芯片尺寸的增大很小。作为多值快闪存储器中采用的错误校正电路,可以解决在采用比特单位错误校正的错误校正电路时救济效率低的问题。
此外,本发明第19方案的快闪存储器包括:由多个快闪存储器单元M构成的存储器段;清除电路(13,14,15),清除所述存储器段,将全部存储器单元的数据变为“1”;将信息数据和检查数据写入所述存储器段的装置(13,14,15);和错误校正电路11,利用所述信息数据产生所述检查数据,利用所述信息数据和所述检查数据进行所述信息数据的错误校正;其特征在于,所述错误校正电路利用所有“1”的信息数据产生所有“1”的检查数据。
按照上述第19方案的快闪存储器,清除的存储器单元的数据为“0”。此外,相对于所有“0”的信息数据设定错误校正电路,以便产生所有“0”的检查数据。因此,可以提供在清除后的读出中错误校正电路也可以正常动作的快闪存储器。
就是说,在清除装载错误校正电路的快闪存储器的数据后,有读出数据的情况。在这种情况下,如果错误校正电路动作,那么可以解决如果存在错误就可能误检出的问题。
此外,本发明第20方案快闪存储器的特征在于包括:由多个快闪存储器单元M构成的存储器段;错误校正电路11,由外部输入的信息数据产生用于错误校正的检查数据,利用所述信息数据和所述检查数据进行所述信息数据的错误校正;多个数据存储电路17,相对于各个存储器单元M设置的各数据存储电路;将所述多个数据存储电路17中暂时存储的信息数据和检查数据写入所述存储器段的写入装置(13,14,15);在所述多个数据存储电路中读出来自所述存储器段的所述信息数据和所述检查数据的装置(13,14,15);和向外部输出所述多个数据存储电路17中存储的从存储器段中读出的信息数据和检查数据的装置(3,5,6,16)。
按照上述第20方案的快闪存储器,配有向外部输出从存储器段中读出的信息数据和检查数据的装置。因此,可以提供可以检查是否正确产生检查数据,可靠性高的快闪存储器。
此外,本发明第21方案的快闪存储器包括:由多个快闪存储器单元M构成的存储器段;错误校正电路11,由外部输入的信息数据产生用于错误校正的检查数据,利用所述信息数据和所述检查数据进行所述信息数据的错误校正;多个数据存储电路17,相对于各个存储器单元M设置的各数据存储电路;将所述多个数据存储电路17中暂时存储的信息数据和检查数据写入所述存储器段的写入装置(13,14,15);和在所述多个数据存储电路中读出来自所述存储器段的所述信息数据和所述检查数据的装置;其特征在于,在从外部输入信息数据前,将所述多个数据存储电路17中存储的数据都复位成预定的数据“1”。
按照上述第21方案的快闪存储器,在错误校正电路11中,将预定存储器单元中写入的信息数据置换成固定数据,产生检查数据。此时,将信息数据和检查数据暂时存储在相对于各个存储器单元设置的多个数据存储电路中,汇总写入存储器单元。在数据存储电路中,在输入信息数据前,存储的数据被复位成固定数据。因此,可以提供具有精简高速电路,同时不依赖于数据长度,可以正确地进行错误校正的快闪存储器。
再有,本发明不限于上述实施例。作为快闪存储器单元,除了上述实施例的NAND型存储器单元以外,也可以选择NOR型存储器单元、虚拟接地存储器单元等存储器单元的形态。此外,群的大小在上述实施例中为4区段,但也可以根据系统特性选择8区段、9区段、16区段等。此外,群和区段的数也可以相同。
此外,在上述实施例中,在一个存储器单元中写入2比特的数据,但在一个存储器单元中也可以写入1比特、3比特、4比特的数据等。另外,在不脱离本发明主要精神的范围内,可以进行各种变形。
如上所述,本发明的快闪存储器(权利要求1,3,8,13,15,20,25,27,32和从属它们的权利要求)在两个期间与两个控制信号同步后,使错误校正电路动作,第一期间与外部控制信号同步,第二期间自动地产生内部控制信号,通过与该信号同步,即使在未输出外部控制信号期间,也可以在内部自动地进行用内部错误校正电路产生用于错误校正的检查数据,向写入电路输入检查数据,读出从错误校正的读出电路向错误校正电路的读出数据(信息数据和检查数据)等处理。因此,可以提供与未装载以往的错误校正电路的快闪存储器具有互换性的快闪存储器。
此外,本发明的快闪存储器(权利要求37)接受两个存储器段部分的信息数据,汇总写入两个存储器段中。如果输入第一个存储器段中写入的信息数据,那么取出占线信号,如伪写入那样观察快闪管理系统,在内部产生检查数据。与写入相比,由于可以在短时间内处理产生的检查数据,所以可以提供伪写入时间短的快闪存储器。
此外,本发明的快闪存储器(权利要求39和从属它的权利要求)一边向外部输出读出数据一边使错误校正电路动作。然后,进行剩余的错误校正处理,仅在有错误的情况下,再次校正错误,向外部输出。由此,可以提供平均读出时间短的快闪存储器。
此外,本发明的快闪存储器(权利要求42)将预定的存储器单元中写入的信息数据置换成固定数据,产生检查数据,通过进行错误校正,即使在快闪存储器管理系统在其存储器单元中写入追加信息数据的情况下,也可以提供可以正确地进行错误校正的快闪存储器。
此外,本发明的快闪存储器(权利要求43)在如果从外部输入的信息数据长度不是预定长度的情况下,通过可以有效地自动追加固定数据,进行检查数据的产生和错误校正,可以提供不依赖于信息数据长度可以正确地进行错误校正的快闪存储器。
此外,本发明的快闪存储器(权利要求44)设有电开关,通过选择激活还是不激活在内部装载的错误校正电路,可以提供容易进行不良解析的快闪存储器。
此外,本发明的快闪存储器(权利要求45)在制品出厂时设有固定开关,通过选择激活还是不激活在内部装载的错误校正电路,可以提供可同时生产内部错误校正电路动作的制品和不动作的制品的快闪存储器。
此外,本发明的快闪存储器(权利要求46)在动作的快闪存储器中装载错误校正电路,以便在电源投入的同时可自动地读出存储器单元阵列的预定数据,可以提供在任何情况下都稳定并且可靠性高的快闪存储器。
此外,本发明的快闪存储器(权利要求47)将第一信息数据和第一检查数据各1比特地写入存储器段的各个存储器单元中,然后,还用写入的第一信息数据和第一检查数据以及第二信息数据和第二检查数据各1比特地写入其存储器段的各个存储器单元中,在一个存储器单元中写入2比特的数据。此外,装载基于BCH符号的错误校正电路。由此,可以提供芯片尺寸比较小的多值快闪存储器。
此外,本发明的快闪存储器(权利要求48)可以提供在清除后的读出中错误校正电路也正常动作的快闪存储器。
此外,本发明的快闪存储器(权利要求49)利用配有向外部输出从存储器段读出的信息数据和检查数据的装置,可以检查检查数据是否正确地产生,可以提供可靠性高的快闪存储器。
此外,本发明的快闪存储器(权利要求50)有精简高速电路,同时不依赖于数据长度,可以提供可正确地进行错误校正的快闪存储器。