参考附图下面将详细描述本发明。
[第一实施例]
图1是表示根据本发明第一实施例的EEPROM。
在图1中,第一实施例的EEPROM包括将多个存储单元排列为矩阵而形成的存储单元阵列1;地址译码器2,用于根据输入到地址总线AB的8位地址信号的低4位输出指定地址0到F(十六进制)中的一个的地址选择信号SEL0到SELF;地址数据锁存电路3,用于锁存输入到地址总线AB的8位地址信号的高4位;数据设定电路4,用于在擦除模式下使输入到数据总线DB的8位数据反相并输出该反相数据到局部数据总线LDB,并在写入模式下直接输出8位数据到局部数据总线LDB;和写入数据锁存电路5,用于将从数据设定电路4经局部数据总线LDB输出的数据在由地址选择信号SEL指定的地址处锁存到锁存电路上。
EEPROM还包括写入电路6,用于将多条写入位线WB中对应于在写入数据锁存电路5写入数据“1”的地址的一条写入位线设定为选择电平,和X译码器7,用于将多条写入位线WW或RW中对应于从地址数据锁存电路3输出的4位地址信号指定的页面的一条写入或读出字线设定为选择电平。
EEPROM还包括读出放大器8,用于放大8位存储单元的存储信息;Y选择器9,用于根据地址选择信号SELO到SELF选择多条读出位线RB中的一个并将该选择线连接到读出放大器8;输出缓冲器10,用于向外部输出从读出放大器8输出的8位数据;数据锁存擦除电路11,用于在完成擦除和写入的同时清除写入数据锁存电路5内的全部数据;和定时控制电路12,用于根据外部输入的指令产生各种控制信号。
图2A表示图1中的存储单元阵列的概略的排列。注意第一实施例的EEPROM是能够同时处理8位输入/输出数据的存储器。在图2A中,存储单元阵列1分为对应于0到7各个位的8个存储器块20-0到20-7。存储器块20-0到20-7具有相同的布局。
存储器块20-0到20-7中的每一个都具有一个16(沿对应于页面0到F的垂直方向,十六进制)×16(沿对应于地址0到F的水平方向,十六进制)矩阵的存储单元21。在这种情况下,存储单元阵列1的容量为256×8位。
图2B表示图2A中的存储单元21的详细布局。图2B表示图2A的存储单元阵列1中的2页面(沿垂直方向)×2地址(沿水平方向)的布局。每个存储单元21由一个存储单元晶体管22和一个n-沟道MOS晶体管23组成。
在对应于页面0到F(十六进制)的各个行上的存储单元晶体管22的控制栅极连接到以行为单位排列的写入字线WW上。在各个行上的n-沟道MOS晶体管23的栅极连接到以行为单位排列的读出字线RW上。注意对应于页面0到F排列的写入和读出字线WW和RW的数目中的每一个都是16。
在对应于地址0到F(十六进制)的各个列上的存储单元晶体管22具有连接到以列为单位排列的写入位线WB的漏极,连接到在相同列上的n-沟道MOS晶体管的漏极上的源极。各个列上的n-沟道MOS晶体管23的源极在连接到以列为单位排列的读出位线RB。注意根据位0到7和地址0到F排列的写入和读出位线WB和RB的数目中的每一个都是8×16=128。
表1表示写入字线WW,读出字线RW,写入位线WB,和读出位线RB在擦除,写入,和读出模式下的工作电压。在表1,“/”的左侧表示一个选择的电压电平,而“/”的右侧表示一个非选择的电压电平。VCC是大约5V的供电电压,VPP是大约10V的相对较高的电压,V1是1/2VPP,以及V2是大约1V的相对较低的电压。
[表1]
|
写入字线WW |
读出字线RW |
写入位线WB |
读出位线RB |
擦除 |
0V/V1 |
V1/V1 |
VPP/V1 |
浮动 |
写入 |
VPP/V1 |
0V |
0V/V1 |
浮动 |
读出 |
0V |
VCC/0V |
0V |
V2 |
在擦除模式下,将0V施加到一个被选择的写入字线WW上,将1/2 VPP施加到一个未选择的写入字线上,以及将1/2 VPP施加到全部的读出字线RW上。同时,将高电压VPP施加到一个被选择的写入位线WB上,以及将1/2 VPP施加到一个未选择的写入位线上。全部读出位线RB设定为浮动(开路)状态。
接着,将0V和高电压VPP分别施加到从存储单元阵列1的存储单元晶体管22中由被选择的写入字线和位线选择的一个存储单元晶体管的控制栅极和漏极上。
结果是,在被选择的存储单元晶体管的漏极和浮栅之间产生高电场,利用隧道现象将浮栅内的电子送到漏极,故降低了被选择的存储单元晶体管的阈值电压。通过这种方式,擦除数据“1”(写入数据“0”)。
在写入模式下,将高电压VPP施加到一个被选择的写入字线WW上,将1/2VPP施加到一个未被选择的写入字线上,以及将0V施加到全部读出字线RW上,同时,将0V施加到一个被选择的写入位线WB上,以及将1/2 VPP施加到一个未选择的写入位线上。全部读出位线RB设定为浮动(开路)状态。
将高电压VPP和0V分别施加到由被选择的写入字线和位线从存储单元阵列1的存储单元晶体管22中选择的一个存储单元晶体管的控制栅极和漏极上。
结果是,在被选择的存储单元晶体管的浮栅和漏极之间产生高电场,利用隧道现象将电子注入到浮栅,由此提高了被选择的存储单元晶体管的阈值电压。通过这种方式,写入数据“1”。
在读出模式下,将供电电压VCC施加到一个被选择的读出字线RW上,将0V施加到一个未选择的读出字线上。通过被选择的读出字线选择的n-沟道MOS晶体管23被接通。
接着,读出位线RB的电位根据被选择的存储单元晶体管的浮栅内的电子数而变化,由此读出存储单元21的存储信息。
地址译码器2输出地址选择信号SELO到SELF,用于根据从EEPROM外部输入到地址总线AB上的8位地址信号的低4位将地址信号0到F(十六进制)中的一个指派给写入数据锁存电路5和Y选择器9。地址数据锁存电路3锁存外部输入到地址总线AB上的8位地址信号的高4位并将其输出到X译码器。
在擦除模式下,用于设定写入数据锁存电路5内的数据“1”的数据设定电路4根据写入/擦除模式选择信号EWS0和EWS1使从外部输入到数据总线DB上的8位数据反相并将其输出到局部数据总线LDB上。在写入模式下,数据设定电路4将8位数据直接输出到局部数据总线LDB上。
图3表示图1所示的数据总线DB、数据设定电路4、和局部数据总线LDB的详细组成。
在图3中,数据设定电路4由以位0到7为单位排列的位设定电路4-0到4-7组成。位设定电路4-0到4-7中的每一个由反相器41和缓冲器42组成,反相器41具有连接到数据总线DB上的输入端,连接到局部数据总线LDB上的输出端,和用于接收写入/擦除模式选择信号EWS0的控制输入端,缓冲器42具有连接到数据总线DB上的输入端,连接到局部数据总线LDB上的输出端,和用于接收写入/擦除模式选择信号EWS1的控制输入端。位设定电路4-0到4-7具有相同的布局。
对应于位0的数据设定电路4-0的反相器41和缓冲器42具有连接到数据总线DB上的位0的输入端,连接到局部数据总线LDB上的位0的输出端。
对应于位1的数据设定电路4-1的反相器41和缓冲器42具有连接到数据总线DB上的位1的输入端,连接到局部数据总线LDB上的位1的输出端。
类似地,对应于位2,3,4,5,6和7的数据设定电路4-2,4-3,4-4,4-5,4-6和4-7的反相器41和缓冲器42具有连接到数据总线DB上的位2,3,4,5,6和7的输入端,连接到局部数据总线LDB上的位2,3,4,5,6和7的输出端。
通过激活(“H“电平)写入/擦除模式选择信号EWS0,每个反相器41被设定为允许状态并且通过“L”电平写入/擦除模式选择信号EWS1,被设定为禁止状态。每个缓冲器42通过激活(“H“电平)写入/擦除模式选择信号EWS0被设定为允许状态并且通过“L”电平写入/擦除模式选择信号EWS1被设定为禁止状态。
当写入/擦除模式选择信号EWS0成为激活来指定擦除模式时,数据设定电路4使输入到数据总线DB上的8位数据反相并将其输出到局部数据总线LDB上。当写入/擦除模式选择信号EWS1成为激活来指定写入模式时,数据设定电路4直接将输入到数据总线DB上的8位数据输出到局部数据总线LDB。
图4表示写入数据锁存电路5和写入电路6的详细布局。图4仅表示对应于位0到7中的位0的布局。
以位0到7为单位排列写入数据锁存电路5。如图4所示,用于一位的写入数据锁存电路5由对应于地址0到F(十六进制)的16个锁存电路51组成。
每个锁存电路51的数据输入连接到局部数据总线LDB的对应位上。在图4中,对应于位0的写入数据锁存电路5的每个锁存电路51的数据输入连接到局部数据总线LDB的位0上。
对应于位1的写入数据锁存电路5的每个锁存电路51的数据输入连接到局部数据总线LDB的位1上。类似地,对应于位2,3,4,5,6和7的写入数据锁存电路5的每个锁存电路51的数据输入连接到局部数据总线LDB的位2,3,4,5,6和7上。
锁存电路51的时钟输入分别连接到地址选择信号SEL0到SELF上用于指定对应的地址。在图4中,对应于地址0的锁存电路51的时钟输入边接到地址选择信号SEL0。对应于地址1的锁存电路51的时钟输入连接到地址选择信号SEL1。
类似地,对应于地址2,3,4,5,6,7,8,A,B,C,D,E和F的锁存电路51的时钟输入连接到地址选择信号SEL2,SEL3,SEL4,SEL5,SEL6,SEL7,SEL8,SELA,SELB,SELC,SELD,SELE和SELF上。
当时钟信号成为激活(“H”电平)时,每个锁存电路51锁存并输出输入到数据输入的值。同时,锁存电路51保持锁存该数据直到擦除或写入完成为止。
以位0到7为单位来排列写入电路6。如图4所示,用于一位的写入电路6由对应于地址0到F(十六进制)的16个电平移位器61组成。电平移位器61构成一个电压发生电路。
每个电平移位器61的输入连接到处于对应位和地址的锁存电路51的输出上。例如,对应于位0和地址0的电平移位器61的输入连接到对应于位0和地址0的锁存电路51的输出上。
每个电平移位器61的输出连接到处于对应位和地址的写入和读出位线WB和RB上。例如,对应于位0和地址0的电平移位器61的输出连接到对应于位0和地址0的写入和读出位线WB和RB上。
当同时发生的写入允许和启动信号EME和RUNM成为激活并且来自对应的锁存电路51的输出为“1”时,电平移位器61将所连接的写入位线WB设定为选择电平。根据写入/擦除模式选择信号EWS0和EWS1确定选择电平的值。
回到图1,X译码器7根据从地址数据锁存电路3输出的4位地址信号将对应于页面0到F(十六进制)的16条写入字线WW中的一条或对应于页面0到F的读出字线RW中的一条设定为选择电平。与写入电路6类似,根据写入/擦除模式选择信号EWS0和EWS1确定选择电平的值。
以位0到7为单位排列的读出放大器8检测并放大存储单元21的存储信息。以位0到7为单位排列的Y选择器9根据地址选择信号SEL0到SELF选择对应于地址0到F的16条读出位线RB中的一条,并将选择的读出位线连接到对应的读出放大器8上。例如,对应于位0的Y选择器9将选择的读出位线连接到对应于位0的读出放大器8上。对应于位1的Y选择器9将选择的读出位线连接到对应于位1的读出放大器8上。
输出缓冲器10将从读出放大器8输出的8位数据输出到外部的EEPROM上。数据锁存擦除电路11在完成擦除和写入的同时清除写入数据锁存电路5的全部数据,即,将写入数据锁存电路5的全部数据设定为“0”。
定时控制电路12根据从EEPROM外部的CPU100(中央处理单元)输入的指令产生诸如用于允许同时写入的同时写入允许信号EWE、表示擦除或写入模式的写入/擦除模式选择信号EWS0和EWS1、以及表示同时写入状态的启动的写入启动信号RUNM之类的控制信号。
参考图5A到5F将解释对具有该布局的EEPROM中的页面2的地址0和1的写入操作。
当接收到来自外部CPU100的指定同时擦除的指令时,定时控制电路12将写入/擦除模式选择信号EWS0设定为激活状态(“H”电平)来指定擦除模式。同时,定时控制电路12将同时写入允许信号EWE设定为激活状态(“H”电平)来指定同时写入(图5中的时间t1)。同时,将写入/擦除模式选择信号EWS1保持在“L”电平。
从EEPROM外部将指定页面2的地址0的地址信号输入到地址总线AB上,以及将数据“0”输入到数据总线DB的全部位0到7上(图5B)。由于写入/擦除模式选择信号EWS0为激活,在对应于位0到7的数据设定电路4-0到4-7中反相器41和缓冲器42分别改变为允许和禁止状态。
因此,数据设定电路4的数据设定电路4-0到4-7使数据总线DB的各个位的数据反相并将其输出到局部数据总线LDB的对应位上。由于数据“0”已输入到数据总线DB的全部位0到7上,所以将数据“1”输出到局部数据总线LDB的全部位0到7上。
每个写入数据锁存电路5将从数据设定电路4输出到局部数据总线LDB上的数据锁存在锁存电路51内的由地址选择信号SEL指定的地址上。由于指定页面2的地址0的地址信号已输入地址总线AB上,所以地址译码器2仅将指定地址“0”的地址选择信号SEL0设定为激活状态(“H”),并将剩下的地址选择信号SEL1到SELF设定为“L”电平。
在对应于位0到位7的写入数据锁存电路5中,对应于地址0的每个锁存电路51锁存输出到局部数据总线LDB上的对应位的数据“1”。
类似地,将指定页面2的地址1的地址信号从外部输入到地址总线AB上,并将数据“0“输入到数据总线DB的全部位0到7上(图5B)。
由于写入/擦除模式选择信号EWS0为激活,对应于位0到7的数据设定电路4-0到4-7使数据总线DB的各个位反相并将其输出到局部数据总线LDB的对应位上。接着,将数据“1”输出到局部数据总线LDB的全部位0到7上。
由于指定页面2的地址1的地址信号已输入到地址总线AB上,所以地址译码器2仅将指定地址1的地址选择信号SEL1设定为激活状态(“H”),并将剩下的地址选择信号SEL0和SEL2到SELF设定为“L”电平。
在对应于位0到位7的写入数据锁存电路5中,对应于地址1的每个锁存电路51锁存输出到局部数据总线LDB上的对应位的数据“1”。以这种方式,在对应于位0到位7的写入数据锁存电路5中,对应于地址0和1的锁存电路51锁存并输出数据“1”。剩下的锁存电路51不锁存数据“1”并输出“0”。
随后,定时控制电路12从外部接收指定同时写入的启动的指令。定时控制电路12将同时写入启动信号RUNM设定为激活状态(“H”)来指定同时写入的启动(图5A)。
当同时写入启动信号RUNM成为激活并且同时写入允许信号EME和写入/擦除模式选择信号EWS0为激活时,对应于位0到7的写入电路6将对应于地址0到F的16条写入位线WB中的对应于某地址的一条写入位线设定为选择电平(高电压VPP),在该地址从写入数据锁存电路5输出的数据为“1”。写入电路6将对应于某地址的一条写入位线设定为非选择电平(1/2VPP),在该地址处从写入数据锁存电路5输出的数据为“0”。
由于对应于地址0和1的锁存电路51已将数据“1”锁存在每个写入数据锁存电路5中,对应于地址0和1的写入位线WB变为选择电平。全部的读出位线RB处于浮动状态。
当同时写入启动信号RUNM成为激活并且同时写入允许信号EME和写入/擦除模式选择信号EWS0为激活时,X译码器7将对应于页面0到F的16条写入字线WW中的一条写入字线设定为选择电平(0V),该写入字线对应于由来自地址数据锁存电路3的地址信号指定的页面。X译码器7将剩下的写入字线设定为非选择电平(1/2VPP)并将全部的读出字线RW设定为1/2VPP。
由于指定页面2的地址信号已输入到地址总线AB上,对应于页面2的写入字线WW变为选择电平。因此,将0V和高电压VPP分别施加到存储单元阵列1的存储单元21中的对应于位0到7、页面2、和地址0和1的存储单元21的存储单元晶体管22的控制栅极和漏极止。以这种方式,同时擦除位于页面2的地址0和1的数据。(图5C)。
在定时控制电路12的控制下,数据锁存擦除电路11在擦除完成的同时将写入数据锁存电路5的全部数据变为“0”。
在EEPROM的外部从CPU100接收到指定同时写入的指令时,定时控制电路12将写入/擦除模式选择信号EWS1设定为激活状态(“H”电平)来指定写入模式。同时,定时控制电路12将同时写入允许信号EME设定为激活状态(“H”电平)来指定同时写入(图5A中的时间t2)。注意定时控制电路12将写入/擦除模式选择信号EWS0保持在“L”电平。
从EEPROM外部将指定页面2的地址0的地址信号输入到地址总线AB上,将在页面2的地址0要写入的8位数据输入到数据总线DB上(图5B)。
由于写入/擦除模式选择信号EWS1为激活,对应于位0到7的数据设定电路4-0到4-7的缓冲器42和反相器41分别变为允许和禁止状态。因此,数据设定电路4将数据总线DB的各个位的数据直接输出到局部数据总线LDB的对应位上。
每个写入数据锁存电路5将从数据设定电路4输出到局部数据总线LDB上的数据锁存在锁存电路51内的由地址选择信号SEL指定的地址上。
由于指定页面2的地址0的地址信号已输入地址总线AB上,地址译码器2仅将指定地址0的地址选择信号SEL0设定为激活状态(“H”),并将剩下的地址选择信号SEL1到SELF设定为“L”电平。在对应于位0到7的写入数据锁存电路5中,对应于地址0的每个锁存电路51将数据输出锁存到局部数据总线LDB的对应位上。
将指定页面2的地址1的地址信号从外部输入到地址总线AB上,并将在页面2的地址1要写入的8位数据输入到数据总线DB上(图5B)。
由于写入/擦除模式选择信号EWS1为激活,对应于位0到7的数据设定电路4-0到4-7将数据总线DB的各个位上的数据直接输出到局部数据总线LDB的对应位上。
由于指定页面2的地址1的地址信号已输入地址总线AB上,地址译码器2仅将指定地址1的地址选择信号SEL1设定为激活状态(“H”电平),并将剩下的地址选择信号SEL0和SEL1到SELF设定为“L”电平。
在对应于位0到7的写入数据锁存电路5中,对应于地址1的每个锁存电路51将数据输出锁存到局部数据总线LDB的对应位上。然后,在对应于位0到7的写入数据锁存电路5中,对应于地址0的每个锁存电路51锁存在地址0处要写入的数据,而对应于地址1的每个锁存电路51锁存在地址1处要写入的数据。
随后,定时控制电路12从外部接收指定同时写入启动的指令。定时控制电路12将同时写入启动信号RUNM设定为激活状态(“H”电平)来指定同时写入的启动(图5A)。
当同时写入启动信号RUNM成为激活并且同时写入允许信号EME和写入/擦除模式选择信号EWS1为激活时,对应于位0到7的写入电路6将对应于地址0到F的16条写入位线WB中的对应于某地址的一条写入位线设定为选择电平(0V),在该地址来自写入数据锁存电路5的输出为“1”。写入电路6将对应于某地址的一条写入位线设定为非选择电平(1/2VPP),在该地址来自写入数据锁存电路5的输出为“0”。
由于每个写入数据锁存电路5已锁存在地址0和1处要写入的数据,锁存写入数据“1”的锁存电路51输出“1”,而锁存写入数据“0”的锁存电路51输出“0”。因此,在对应于地址0和1的写入位线WB中的对应于写入数据值为“1”的位的写入位线WB变为选择电平。全部的读出位线RB处于浮动状态。
当同时写入启动信号RUNM成为激活并且同时写入允许信号EME和写入/擦除模式选择信号EWS1为激活时,X译码器7将对应于页面0到F的16条写入字线WW中的一条写入字线设定为选择电平(高电压VPP),该写入字线对应于由来自地址数据锁存电路3的地址信号指定的页面。X译码器7将剩下的写入字线设定为非选择电平(1/2VPP)并将全部的读出字线RW设定为0V。
由于指定页面2的地址信号已输入地址总线AB上,对应于页面2的写入字线WW变为选择电平。因此,将高电压VPP和0V分别施加到存储单元阵列1的存储单元21中的对应于页面2、地址0和某位的存储单元21的存储单元晶体管22的控制栅极和漏极上,在该位处要写入地址0的数据的值为“1”。
同时,将高电压VPP和0V分别施加到对应于页面2、地址1和某位的存储单元21的存储单元晶体管22的控制栅极和漏极上,在该位处要写入地址1的数据的值为“1”。结果是,在页面2的地址0和1处同时写入数据(图5C)。
在定时控制电路12的控制下,数据锁存擦除电路11在写入完成的同时将写入数据锁存电路5的全部数据变为“0”。如上所述,根据第一实施例,能够对于存储单元21在多个地址处同时重写数据。
一次操作的重写时间(t1和t3之间的时间间隔)比常规的重写时间(t4和t5之间的时间间隔)长,多出的时间是将对应于输入到多个地址的数据的数据依次传送到写入数据锁存电路5所需的时间。然而,该传送时间比关于存储单元21的实际擦除/写入时间(在同时写入启动信号RUNM成为激活之后完成擦除/写入所需的时间)短得多。
由此在与一个地址的常规数据重写时间几乎相同的时间内能够在多个地址处重写数据,这样就大大缩短了重写时间。
通过在对应于其中写入数据“1”的写入数据锁存电路5的锁存电路51的地址处只选择一个存储单元21来擦除/写入数据,而在对应于其中写入数据“0”的锁存电路51的地址处没有数据被擦除/写入到存储单元21中。这就降低了关于存储单元21的重写操作次数并提高了存储单元21的使用寿命。
在第一实施例中,在页面2的地址0和1处同时进行重写。再有,在三个或多个地址处也可以同时执行重写。在这种情况下,通过将地址信号重复地输入到地址总线AB以及将数据重复地输入到数据总线DB上,将数据重复地写入到写入数据锁存电路5中。在将对应于所要求的地址数的的数据传送到写入数据锁存电路5之后,将同时写入启动信号RUNM设定为激活。
第一实施例已举例说明了同时写入,其中在多个地址处同时执行重写,但是对于每个地址也可以执行字节重写。以下将解释这种字节重写操作。
当从外部的CPU100接收到指定字节擦除的指令时,定时控制电路12将写入/擦除模式选择信号EWS0设定为激活来指定擦除模式(图5D的t4)。此时,同时写入允许信号EME保持在“L”电平。
将指定页面2的地址0的地址信号从EEPROM的外部输入到地址总线AB上,并将数据“0”输入到数据总线DB的全部位0到7上(图SE)。
由于写入/擦除模式选择信号EWS0为激活,数据设定电路4使数据总线DB的各个位的数据反相并将其输出到局部数据总线LDB的对应位上。在对应于位0到7的写入数据锁存电路5中,对应于地址0的每个锁存电路51锁存输出到局部数据总线LDB上的对应位的数据“1”。
当同时写入允许信号EME处于“L”电平时,在写入/擦除模式选择信号EWS0成为激活之后的一预定时间内,每个写入电路6将对应于某地址的写入位线设定为选择电平(高电压VPP),在该地址处来自写入数据锁存电路5的输入出为“1”。写入电路6将对应于某地址的写入位线设定为非选择电平(1/2VPP),在该地址处来自写入数据锁存电路5的输出为“0”。在这种情况下,对应于位0到7的地址0的写入位线WB变为选择电平。
当同时写入允许信号EME处于“L”电平时,在写入/擦除模式选择信号EWS0成为激活之后的一预定时间内,X译码器7将对应于由来自地址数据锁存电路3的地址信号指定的页面的写入字线设定为选择电平(0V)。X译码器7将剩下的写入字线设定为非选择电平(1/2VPP)并将全部的读出字线RW设定为1/2VPP电平。在这种情况下,对应于页面2的写入字线WW变为选择电平。
因此,将0V和高电压VPP分别施加到存储单元阵列1的存储单元21中的对应于位0到7、页面2、和地址0的存储单元21的存储单元晶体管22的控制栅极和漏极上。这样,擦除位于页面2的地址0处的数据。
在定时控制电路12的控制下,数据锁存擦除电路11在擦除完成的同时将写入数据锁存电路5的全部数据变为“0”。
当从EEPROM的外部的CPU100接收到指定字节重写的指令时,定时控制电路12将写入/擦除模式选择信号EWS1设定为激活来指定写入模式(图5D)。此时,同时写入允许信号EME保持在“L”电平。
将指定页面2的地址0的地址信号从EEPROM的外部输入到地址总线AB上,并将要写入到页面2的地址0处的8位数据输入到数据总线DB上(图5B)。
由于写入/擦除模式选择信号EWS1为激活,数据设定电路4将数据总线DB的各个位的数据直接输出到局部数据总线LDB的对应位上。在对应于位0到7的写入数据锁存电路5中,对应于地址0的每个锁存电路51锁存输出到局部数据总线LDB上的对应位的数据。
当同时写入允许信号EME处于“L”电平时,在写入/擦除模式选择信号EWS1成为激活之后的一预定时间内,每个写入电路6将对应于某地址的写入位线设定为选择电平(0V),在该地址处来自写入数据锁存电路5的输出为“0”。写入电路6将对应于某地址的写入位线设定为非选择电平(1/2VPP),在该地址处来自写入数据锁存电路5的输出为“0”。在这种情况下,对应于位0到7的地址0的写入位线WB变为选择电平。
当同时写入允许信号EME处于“L”电平时,在写入/擦除模式选择信号EWS1成为激活之后的一预定时间,X译码器7将对应于由来自地址数据锁存电路3的地址信号指定的页面的写入字线设定为选择电平(高电压VPP)。X译码器7将剩下的写入字线设定为非选择电平(1/2VPP)并将全部的读出字线RW设定为0V。在这种情况下,对应于页面2的写入字线WW变为选择电平。
将高电压VPP和0V分别施加到存储单元阵列1的存储单元21中的对应于页面2、地址0和某位的存储单元21的存储单元晶体管22的控制栅极和漏极上,在该位处要写入地址0的数据的值为“1”。这样,在页面2的地址0处写入数据。
在定时控制电路12的控制下,数据锁存擦除电路11在写入完成的同时将写入数据锁存电路5的全部数据变为“0”。以这种方式,能以字节为单位重写数据。
[第二实施例]
尽管在第一实施例中通过顺序擦除和写入数据在EEPROM中重写数据,但是也可以仅通过擦除或写入在EEPROM中重写数据。以下参考图1到4将描述第二实施例。
在第二实施例中,CPU100向EEPROM发出指定读出的指令。在从CPU100接收到指定读出的指令时,定时控制电路12将读出模式选择信号RE设定为激活来指定读出模式。
将指定页面2的地址0的地址信号从CPU100输入到地址总线AB上。地址译码器2仅将指定地址0的地址选择信号SEL0设定为激活状态(“H”),而将剩下的地址选择信号SEL1到SELF设定为“L”电平。
当读出模式选择信号RE成为激活时,每个写入电路6将全部写入位线WB变为0V,并将电压V2施加到读出位线RB上来执行预充电。
当读出模式选择信号RE成为激活时,X译码器7将对应于面面0到F的16条读出字钱RW中的对应于来自地址数据锁存电路3的地址信号指定的页面的一条读出字线设定为选择电平(供电电压VCC)。X译码器7将剩下的读出字线设定为非选择电平(0V)并将全部写入字线WW设定为0V。结果是,被选择的存储单元21的存储信息被输出到读出位线RB上。
以位0到7为单位排列的Y选择器9根据地址选择信号SEL0到SELF将对应于地址0的读出位线RB连接到读出放大器8上。然后,经输出缓冲器10向外输出位于页面2的地址0处的数据。
CPU100向EEPROM发出指定页面2的地址1的地址信号和指定读出的指令,由此读出位于页面2的地址1的数据。CPU100将从页面2的地址0读出的数据与写入页面2的地址0的数据进行比较。再有,CPU100将从页面2的地址1读出的数据与写入页面2的地址1的数据进行比较。
当要写入页面2的地址0的数据仅表示相对于存储在页面2的地址0的当前数据(即,从页面2的地址0读出的数据)从“1”变为“0”的重写,并且要写入页面2的地址1的数据仅表示相对于存储在页面2的地址1的当前数据(即,读出数据)从“1”变为“0”的重写时,CPU100只要执行对“0”的重写,并如第一实施例所述仅执行对地址0和1处的同时擦除。
当要写入页面2的地址0的数据仅表示相对于存储在页面2的地址0的当前数据从“0”变为“1”的重写,并且要写入页面2的地址1的数据仅表示相对于存储在页面2的地址1的当前数据从“0”变为“1”的重写时,CPU100只要执行对“1”的重写,并如第一实施例所述仅执行对地址0和1的同时擦除。
在这种方式下,在从“1”变为“0”或从“0”变为“1”的数据重写中,CPU100只要执行擦除或写入以缩短重写时间。
注意可以以字节为单位擦除一个地址处的数据或将数据写入到一个地址中。
在上述实施例中,以位0到7为单位排列诸如存储单元阵列1和写入数据锁存电路5之类的电路,并且对应于每位的电路具有对应于地址0到F的排列。采用这种布置是为布线方便,并且可以以地址0到F为单位来排列电路。
如上所述,根据本发明,数据设定装置在擦除模式下使输入数据反相,在写入模式下直接输出输入数据。在数据锁存装置将对应于输入数据的数据顺序地锁存到多个地址中之后,控制装置输出一个启动信号来通过行选择装置选择字线及通过入装置选择位线。在存储单元内的多个地址上可以同时重写数据。结果是,在与一个地址的常规数据重写时间几乎相同的时间内能够在多个地址处重写数据,这样就大大缩短了重写时间。
通过仅选择与数据锁存装置的锁存电路中的一个写入一预定值(例如,“1”)的锁存电路对应的位和地址的存储单元来擦除/写入数据。在与其中写入预定值之外的值(例如,“0”)的锁存电路对应的位和地址的存储单元中不擦除/写入数据。这就降低了关于存储单元的重写操作的数目并增加了存储单元的使用寿命。
在从“1”到“0”的数据重写中,仅执行擦除以缩短数据重写时间。
在从“0”到“1”的数据重写中,仅执行写入以缩短数据重写时间。