非易失性存储装置的制作方法

文档序号:6751857阅读:178来源:国知局
专利名称:非易失性存储装置的制作方法
技术领域
本发明涉及到具有非易失性存储器和控制器的非易失性存储装置,并涉及到一种有效地用于存储卡的技术,这种存储卡具有例如闪存作为非易失性存储器。
背景技术
有一种非易失性存储器能够在单个非易失性存储单元中存储2位信息。日本未审专利公开(Japanese Unexamined PatentPublication)10-(1998)106276号(美国专利6,091,640号)公开了一种非易失性存储单元,能够存储2位或1位信息。根据此项技术,对于将2位信息存储到单个非易失性存储单元的情形,由于阈值电压分布变窄,需使用高精度写入模式,在这种模式下每个非易失性存储单元阈值电压的改变量,即每次所加脉冲电压的改变较小。对于将1位信息存储到单个非易失性存储单元的情形,使用粗写入模式,在这种模式下每个非易失性存储单元阈值电压的改变量,即每次所加脉冲电压的改变较大。由于粗写入模式下施加脉冲电压的次数比高精度写入模式下少,在使用粗写入模式时,校验写入的次数较少。因此,写入操作的速度总的说来是加快的。对于优先考虑存储密度或存储容量的情形,使用高精度写入模式,将2位信息储存在一个非易失性存储单元中。作为选择,可将1位信息转换为2位信息后,再将2位信息储存在非易失性存储单元中。在WO98/01861(美国专利6,166,950号)的日本再公开申请中公开了另一种能够储存多值信息的非易失性存储器。
本发明的发明者研究了一种装有控制器和闪存的存储卡。例如,装在存储卡上的闪存分为用户数据区、备用区、备用注册表区等。每个区都指定有特定的物理块地址。每个区分为许多块。每个块(扇区)又分为数据部分和指示数据部分有效性的管理信息部分。当主机发送一存取请求时,控制器在待访问物理块地址的管理信息部分读取管理信息,来确定相应数据部分的有效性,如果数据部分有效,则访问之,如果数据部分失效,则从备用注册表区得到备用数据部分的物理块地址。控制器同样确定此地址的数据部分的有效性,如果数据部分有效,则访问此数据部分。如上所述,要较快地访问存储卡,必须缩短闪存的管理信息读取时间。
对于将4态数据储存入非易失性存储单元的情形,在读取操作时,依次改变确定存储信息的电平,则在每个存储单元得到2位信息。此读取过程要比在非易失性存储单元中储存2态数据占用较长的时间。例如,在多值闪存中,读取操作的第一次访问时间(在输入读指令后读出第一个数据的时间)要比在2值闪存中长得多。
为了从主机检索闪存中读/写指令待访问的块(检查这个块是好的还是坏的),首先要读取管理信息。在多值闪存中,读管理信息的第一次访问时间很长,使得检查待访问块优劣的时间相应增长。这就妨碍了读/写速度的性能改善。
这里,发明者还研究了随时间等的改变而引起的数据墙(datagable)(如保存差错)的出现。对于储存的信息依赖于非易失性存储单元阈值电压改变的情形,如果多种阈值电压分布彼此接近,因随时间变化而出现数据墙的几率增大。这里发明者发现,如果储存信息所用的阈值电压分布可做得彼此不同而不改变非易失性存储单元的性质,可改善在所需数据区中抗御因随时间的变化而引起保存差错的能力。
再者,发明者在这里测试了数据写入闪存期间发生写差错的情形。对于这种情形,要检索备用区,必须进行非易失性存储单元的读取操作。如果读取的数据必须暂时保持在数据缓冲器中,而写数据也暂时保持在其中时,则必须在写数据保存在控制器缓冲器中后,检索备用区。对于这种情形,在考虑到写数据被保存在缓冲器中或为保存写数据而必须提供的区域中,控制器缓冲器在完成了写数据的写入后才储存下一个数据。对于前一种情形,从主机看到的写入速率降低。对于后一种情形,由于增大了数据缓冲器的容量而增加了成本。

发明内容
本发明的一个目的是提供一种装有非易失性存储器和控制器的非易失性存储装置,其读/写性能得到了改善。
本发明的另一个目的是提供一种装有非易失性存储器和控制器的非易失性存储装置,它抗御在所需存储区中随时间变化而引起的保存差错的能力得到了改善。
本发明还有一个目的是提供一种装有非易失性存储器和控制器的非易失性存储装置,在向非易失性存储器写入数据期间发生写入错误时,为检索备用区而执行读非易失性存储单元的操作时,不要求对保持在数据缓冲器中的写数据加以保存。
本发明的上述和其他目的及新的特点从本说明书的描述及其附图将变得更为明显。
下面将简要地描述本说明书中公开的本发明几种典型的概况。
〔1〕根据本发明的一种非易失性存储装置具有非易失性存储器和控制器。此非易失性存储器有多个非易失性存储单元,每个非易失性存储单元可被设置为属于四种或多种信息存储态之一的信息存储态,例如,设置为属于四种或多种阈值电压分布之一的阈值电压。非易失性存储器可执行第一读取操作,从阈值电压被设置为m位(m为≥1的整数)信息,例如,1位信息的非易失性存储单元读取输出信息,以及完成第二读取操作,从阈值电压被设置为n位(n为大于m的整数)信息,例如,2位信息的非易失性存储单元读取输出信息。此控制器可执行第一读取操作从非易失性存储器读取第一信息,以及执行第二读取操作从非易失性存储器读取第二信息。
用上述方法,在从非易失性存储单元读取输出信息的第一读取操作中,在该非易失性存储单元中属于四种或多种阈值电压分布之一的阈值电压被设置为1位信息时,检查非易失性存储单元阈值电压的操作数,少于从2位信息的非易失性存储单元读取输出信息的第二读取操作数。因此,按照这样的量读取操作就进行得较快。将数据部分的信息作为第二个待读目标的第二信息,和将数据部分的管理信息作为第一个待读目标的第一信息,用这种方法在从主机进行读/写时可缩短读管理信息所需的时间。这样,就可提高主机读/写非易失性存储装置如存储卡的操作速率。
在非易失性存储器中,例如,在将第一信息储存至非易失性存储单元时,用阈值电压分布的上限电压或阈值电压分布的下限电压作为非易失性存储单元的阈值电压。在第一读取操作中,用介于阈值电压分布上限与下限间的某个电压来检查非易失性存储单元的阈值电压就足够了。根据这种技术,不直接用于储存信息的阈值电压分布区被安插在用于储存信息的阈值电压分布区之间。这样,在所需的存储区如第一信息存储区中,可改善因随时间等变化而引起保存错误的抗御能力。在这样要求的存储区中储存重要数据,可改善信息存储的可靠性。
作为本发明的一种具体模式,非易失性存储器具有存储缓冲器,它可暂时保持由第二读取操作从多个非易失性存储单元的每一个读取2位信息的第二信息,将第二信息输送至控制器,它也保持由控制器送来的第二信息,并将每二位的非易失性存储单元设置为属于四种阈值电压之一的阈值电压。由第一读取操作从多个非易失性存储单元的每一个读取1位信息的第一信息,输出至控制器而旁路存储缓冲器。
按照这种结构,在读取1位信息时,不使用非易失性存储器中的存储缓冲器。因此,对于向非易失性存储器写入数据时发生写入错误的情形,在写数据保持在非易失性存储器的存储缓冲器中时,可用读取1位信息的操作来检索备用区。因此,不必执行将写数据从存储缓冲器保存至控制器缓冲器中的过程,当发生写入错误时可迅速进行备用区的检索过程,而且,可压缩控制器缓冲器的容量。
〔2〕根据本发明更详细模式的一种非易失性存储装置具有非易失性存储器和控制器。此非易失性存储器有多个非易失性存储单元,每个都可储存n位的(n为≥2的整数)信息,例如,2位或多位的信息。此非易失性存储器可执行第一读取操作从非易失性存储单元读取m位(m为小于n的整数)的输出信息,以及执行第二读取操作从非易失性存储单元读取2位的输出信息。此控制器执行第一读取操作从非易失性存储器读取第一信息,以及执行第二读取操作从非易失性存储器读取第二信息。用上述方法,在从非易失性存储单元读取1位输出信息的第一读取操作中,校验储存在非易失性存储单元中信息的操作数,少于从非易失性存储单元读取2位输出信息的第二读取操作中的操作数。因此,按照这样的量读取操作就进行得较快。将数据部分的信息作为第二个待读目标的第二信息,和将数据部分的管理信息作为第一个待读目标的第一信息,用这种方法在从主机进行读/写时可缩短读管理信息所需的时间。这样,就可提高主机读/写非易失性存储装置如存储卡的操作速率。
第一信息包含管理信息的有效性,它指示,例如,第二信息存储区的有效性。
例如,在按照外部指令操作非易失性存储器时,控制器根据执行第一读取操作从非易失性存储器读出的有效管理信息来校验第二信息存储区的有效性,且当确定存储区有效时,执行第二读取操作从非易失性存储器读取第二信息。
而且,控制器根据执行第一读取操作从非易失性存储器读出的有效管理信息来校验第二信息存储区的有效性,且当确定存储区无效时,对第二信息存储区的备用区进行第一读取操作,根据从非易失性存储器读取的有效管理信息来校验第二信息存储区的有效性,且当存储区有效时,执行第二读取操作从备用区读取第二信息。
作为本发明的一种具体模式,非易失性存储单元根据待储存的信息,非易失性存储单元具有属于四种或多种阈值电压分布之一的阈值电压。在向非易失性存储单元储存第一信息时,非易失性存储器使用以阈值电压分布为边界的预定电压作为阈值电压,取阈值电压分布的任何高于或低于预定电压的电压,在第一读取操作中将预定电压与非易失性存储单元的阈值电压作比较,从而读取1位信息。
在一种所希望的模式中,储存第一信息的非易失性存储单元的阈值电压选自阈值电压分布的上限电压与下限电压。如上所述,可改善所需存储区如第一信息存储区中因随时间等改变而引起的保存错误的抗御能力。
作为本发明另一种具体模式,控制器可向外部输出由第二读取操作从非易失性存储器读取的第二信息,控制器也可将从外部输入的第二信息送至非易失性存储器。对于这种情形,非易失性存储器具有存储缓冲器,它可在第二信息送给控制器之前暂时储存由第二读取操作读出的第二信息,也可在第二信息存入非易失性存储单元之前暂时保存由控制器送来的第二信息。
非易失性存储器在由第一读取操作读取第一信息时旁路存储缓冲器而输出第一信息。如上所述,当发生写入错误时,可迅速进行检索备用区的过程,而且,可压缩控制器缓冲器的容量。
本发明还有一种具体模式,其控制器具有缓冲器,以暂时保持从外部送来的第二信息以及从非易失性存储器读取和送来的第二信息。控制器从其缓冲器向存储缓冲器输送数据,然后,将存储缓冲器中的数据储存至非易失性存储单元,与此存储操作并行,可从外部向控制器缓冲器输入另一个数据。这就可提高写入操作的速率。


图1为表示本发明一种实施方式的存储卡框图。
图2表示非易失性存储单元的四种阈值电压分布。
图3说明对非易失性存储单元写入数据与保持信息之间的关系。
图4说明对存储卡的非易失性存储单元写入数据的操作。
图5表示从存储卡的非易失性存储单元读取数据的操作。
图6说明在闪存的存储阵列中存储区例如管理信息区的结构。
图7说明备用注册表的详情。
图8说明管理信息的详情。
图9为表示根据主机的读指令从存储卡读取数据的操作流程图。
图10为表示根据主机的写指令向存储卡写入数据操作的前一半流程图。
图11为表示根据主机的写指令向存储卡写入数据操作的后一半流程图。
图12为说明闪存读取操作定时的时序图。
图13为说明闪存写入操作定时的时序图。
图14为说明备用区检索过程详情的流程图。
图15为表示备份过程详情的流程图。
图16为说明主机对存储卡写入数据定时的时序图。
具体实施例方式
图1表示本发明一种实施方式的存储卡。存储卡1是这样构成的,控制器2和非易失性存储器如闪存3装在卡板4上,卡板表面由未示出的外壳或树脂封住。控制器2具有主机接口电路10、CPU11、闪存接口电路12、ECC电路13、控制器缓冲器14、以及缓冲器接口电路15。
主机接口电路10接受未示出的主机发出的指令,将指令通知CPU 11,并根据CPU 11的设置控制主机与控制器缓冲器14间的数据传输。主机接口电路10与主机间读/写数据的协议可为预定的协议例如ATA(AT附件)、SCSI(小型计算机系统接口)、或用于存储卡的接口。
CPU 11分析由未示出的主机发出的指令,对欲访问的闪存3中的地址进行计算,在主机接口电路10中作出与主机传输数据的设置,和在闪存接口电路12中作出与闪存传输数据的设置等。
闪存接口电路12根据CPU 11的指令来控制控制器缓冲器14与闪存3间的数据传输。
在向闪存3写入数据时,ECC电路13产生纠错码并将之加入写入数据。在从闪存3读取数据时,ECC电路13用纠错码探测错误。在读操作中发生错误时,则进行纠错。
控制器缓冲器14的作用是闪存3与主机间的数据缓冲器,并暂时保持从主机至闪存3的写入数据或暂时保持从闪存3至主机的输出数据。控制器缓冲器14是由例如SRAM(静态随机存储器)构成的。缓冲器接口电路15控制控制器缓冲器14的读/写。控制器缓冲器14可构筑在与控制器2不同的芯片上。作为选择,控制器2与闪存3可做在一个芯片上。
闪存3包括存储缓冲器20、读出锁存电路21、存储器阵列(闪存单元阵列)22、控制电路23、选择器24、以及输入/输出电路25。存储缓冲器20是由例如SRAM构成的。虽然没有示出,当一个存储体由存储缓冲器20、读出锁存电路21和存储器阵列构成时,可提供多个存储体。
许多个非易失性存储单元MC,代表性地示出了一个,被置于存储区阵列22的矩阵中。虽然没有限定,一个存储单元是由熟知的浮置栅晶体管构成的。例如,非易失性存储单元是由制作在阱区中的源和漏构成的,浮置栅经隧道氧化膜制作在源与漏间的沟道区中,而控制栅经层间绝缘膜叠加在浮置栅上。控制栅与代表性表示的字线WL连接,漏与代表性表示的位线BL连接,而源与代表性表示的源线SL连接。位线BL的一端与由静态锁存电路构成的读出锁存SL相连。读出锁存电路21包含为每条位线安排的读出锁存SL阵列。
按照浮置栅积累的电荷量来改变存储单元的阈值电压,信息就被储存在非易失性存储单元MC中。在非易失性存储单元MC中,例如,当电子注入浮置栅时,阈值电压升高。当电子从浮置栅排出时,阈值电压下降。通过使电压施加在字线、源线、位线以及板上的状态下进行控制来设置阈值电压。由于控制方法已知,这里不再具体描述。
虽然没有限定,非易失性存储单元MC可设置为四种或多种阈值电压分布之一,如图2所示。在此实例中,可将2位的数据储存在单个非易失性存储单元中,并确定分别相应于数据“01”、“00”、“10”和“11”的四种存储器阈值电压分布。具体地,存储单元的信息存储态从作为第四阈值电压(Vth4)态的清除态(“11”)、作为第一阈值电压(Vth1)态的第一写态(“10”)、作为第二阈值电压(Vth2)态的第二写态(“00”)以及作为第三阈值电压(Vth3)态的第三写态(“01”)中加以选择。虽然没有特别限定,各阈值电压间有如下关系,Vth4<Vth1<Vth2<Vth3。全部四种信息存储态的每一个都由2位数据来确定。
为得到存储器的阈值分布,首先,将非易失性存储单元置于清除态。对于得到写态的情形,将需要提高阈值电压的高压脉冲等依次施加至字线等。在每次或每几次施加高压脉冲时,用第一写态的一个校验电压进行读操作来验证是否置于第一写态。对于需要第二写态的情形,用第二写态的校验电压进行同样的验证。对于需要第三写态的情形,用第三写态的校验电压进行同样的验证。
使用高压脉冲,例如,将0V施加于待写入数据的存储单元位线,而将写抑制电压1V施加于未被选取写入的位线。向位线施加0V的写选择电压还是1V的写抑制电压取决于读出锁存SL锁定的写控制信息的逻辑值。例如,它是这样控制的,当读出锁存SL锁定数据的逻辑值为“1”时,不选择写入,而当逻辑值为“0”时,选择写入。在写操作中读出锁存SL被置于“1”还是“0”,是由控制电路23根据写阈值电压态在存储缓冲器20中写数据来确定的。例如,如图3所示,当注意对D8-D1写入一个字节(8位)=11001001的数据时,非易失性存储单元的阈值电压相应于每个单元都包含两位,具体地,D8和D4两位为“11”,D7和D3两位为“10”,D6和D2两位为“00”,D5和D1两位为“01”。“1”表示不选择写入,在读出锁存SL中根据非易失性存储单元中D8和D4等于11而设置为“1”。“0”表示选择写入,在读出锁存SL中设置为“0”,相应于非易失性存储单元中D7和D3等于10,直至达到第一写态。“0”表示选择写入,使读出锁存SL相应于非易失性存储单元中的D6和D2等于00,直至达到第二写态。“0”表示选择写入,在读出锁存SL中设置为“0”,相应于非易失性存储单元中的D5和D1等于01,直至达到第三写态。由控制电路23和读出锁存电路21根据在存储缓冲器20中写数据来执行控制。控制电路23产生写入过程和清除过程所需的高压,并产生访问地址。
储存在设置了阈值电压的非易失性存储单元中的信息可由以下两种操作来读取。在第二读取操作中,确定阈值电压属于图2中的四种阈值电压分布之一,并输出从非易失性存储单元读取的2位信息。在第一读取操作中,从最高阈值电压分布的第三写态(“01”)和最低阈值电压分布的清除态(“11”)来确定当前态,并输出从非易失性存储单元读取的1位信息。在确定四种阈值电压分布时,按照图2的实例,首先,读出的字线电压设为Vr1,并确定两位中的上一位为0和1。当上一位为0时,读出的字线电压设为Vr2,并确定两位中的下一位为0或1。当上一位为1时,读出的字线电压设为Vr3,并确定两位中的下一位为0或1。这样,就确定了2位中上一位的储存信息,然后由读出锁存SL将上一位保存至存储缓冲器20相应的存储单元中。在读出锁存SL中得到下一位的确定结果。下一位的确定结果也同样从读出锁存SL输送至存储缓冲器20相应的存储单元中。从存储缓冲器20读出的信息输出至控制器2。
在从非易失性存储单元读取1位输出信息的第一读取操作中,按照图2的实例,读出的字线电压设为例如Vr3,且储存的信息的确定结果0或1由读出锁存SL锁定。由于锁定在读出锁存SL中的确定值就是待读取的存储信息本身,所以不必将信息保存在存储缓冲器20中,而可从输入/输出电路25经选择器24输送至控制器2。
从/向闪存阵列22清除、写入和读取数据的控制是由控制电路23根据控制器2的指令来执行的。指令包括指示操作的操作码、指示访问目标的访问地址、以及伴有写入操作指示的写数据。
虽然没有限定,由指令指示的储存操作包括将写数据从外部送入存储缓冲器20的操作;将存储缓冲器20中的写数据写入存储阵列22的非易失性存储单元中的操作;从非易失性存储单元读取数据,将之存入存储缓冲器20,及为第二读取操作而将保持在存储缓冲器20中的此数据输出至外部的第二输出操作;以及从非易失性存储单元读取数据并为第一读取操作而将此数据输出的第一输出操作。在每个操作中待访问的地址由指令来指示。对于大的访问单元,给出访问单元的首部地址,控制电路23中的地址计数器足以产生后续地址。闪存3的其他详细结构已公开在本发明的申请人提交的PCT/JP02/03417号国际专利申请中。
图4表示向存储卡1的闪存3中写入数据操作的一个实例。在图4中,待读取的第二数据是由主机写入存储卡1的数据,待读取的第一数据被控制器2用来管理主机向存储卡写入数据。例如,写数据“1010_0101_0101_1010”从主机输送至控制器缓冲器14。在此实例中,输送的写数据是待读取的第二数据。当写数据为待读取的第二数据时,控制器2将写数据“1010_0101_0101_1010”输送至存储缓冲器20。然后,控制器2给出指令以存储缓冲器20中的写数据来重写储存在存储阵列22中的信息。由这一操作,在待重写的非易失性存储单元中,属于四种阈值电压分布之一的阈值电压是按照基于两位单元的写数据来设置的。现在将讨论控制器2向闪存3写入“1010_0101”作为待读的第一数据,使得主机的管理数据写入存储卡1的情形。待读的第一数据“1010_0101”是CPU11写入控制器缓冲器14的数据。当此写数据为待读的第一数据时,控制器2将写数据按每四位来进行分割,在写数据的下位侧添加4位掩码数据“1111”,并将所得写数据“1010_1111_0101_1111”输送至存储缓冲器20。控制器2给出指令,以闪存的存储缓冲器20中的写数据重写储存在存储阵列22中的数据。因此,在待重写的非易失性存储单元中,属于四种阈值电压分布之一的阈值电压是按照基于2位单元的上述写数据来设置的。由对每4位写数据的下位侧添加4位掩码“1111”,来基于2位单元设置属于下述分布的阈值电压,它或是作为四种阈值电压分布中最高阈值电压分布的第三写态(“01”),或是作为最低阈值电压分布的清除态(“11”)。
如上所述,在写入待读的第一数据时,从四种阈值电压分布中,使用“11”(作为清除态的最高级电平的阈值电压分布)和“01”(作为写态的最低级电平的阈值电压分布)。因此,即使当非易失性存储单元的阈值电压因干扰或保存而改变,如果阈值电压只移至邻近的分布,待读的第一数据就不会出错。这样,就改善了信息存储的可靠性。
图5表示从存储卡1的闪存3读取数据操作的一个实例。当主机从存储卡1读取数据时,控制器2为之用第一读取操作读取管理信息。然后,控制器2用第二读取操作读出待由主机从闪存3读取的数据。在第一读取操作中,控制器2用指令指示控制电路23执行第一读取操作。对于这种情形,例如,当储存在存储单元中的待读信息为“1010_1111_0101_1111”时,对于第一读取操作为单阈值电压确定的操作时,在读出锁存SL中可得到读数据“1010_0101”。在读出锁存SL中得到的读数据“1010_0101”经由选择器24选择的存储缓冲器20旁路而输送至控制器缓冲器14,并由CPU11读取。在第二读取操作中,控制器2用指令指示控制电路23执行第二读取操作。对于这种情形,例如,当储存在存储单元中的待读信息为“1010_0101_0101_1010”时,存储缓冲器20在第二读取操作的情形得到两次阈值电压确定操作的结果,储存在存储缓冲器20中读取的数据输送至控制器缓冲器14,并将储存的数据“1010_0101_0101_1010”输出至主机。在图5中,PA1代表第一读取操作的读取路径,PA2代表第二读取操作的读取路径。
图6说明了存储阵列22数据区的结构。此实例涉及到实现文件结构的情形。虽然没有特别限定,扇区数据包含512字节。每个扇区数据都添加ECC码。为两个扇区数据提供一个管理信息。一块BLK由两个扇区数据区(数据部分)和一个为数据部分储存管理信息的管理区构成。虽然没有限定,数据是基于块单元来清除或写入的。具体地,每个源线和字线通常都用于一块中所含的多个非易失性存储单元。在此实例中,清除单元和写入单元都是相同的。也有一种情形清除单元大于写入单元。
PBA是物理块地址的缩写。此实例中的闪存包括128个块。PBA 0-99构成用户数据区30。用户数据区30为主机所写数据的书写区。PBA 100-125构成备用区31。备用区31用于替换坏块。系统数据储存在具有PBA 126的块32(系统数据块)中。系统数据是例如存储卡的ID或特别是存储卡ID号的信息。具有PBA 127的块为区域33(备用注册表),在此区域中用替换区所替换的块信息储存在表中。由于用户数据区包含100个块(PBA=0-99),备用注册表是由总共100个字节构成的,其中以一个字节为单位对每个块安排了指定备用区。例如,如图7所示,指定备用区从头依次安排,如PBA1、PBA2、……。对于不需要备用区的情形,码号255被储存。在图7的实例中,PBA=1和PBA=50是坏的,这样,码号100就储存在备用注册表PBA=1的区域中,码号101储存在PBA=50的区域。这意味着,PBA=1被PBA=100所替换,PBA=50被PBA=101所替换。
管理信息是由图8所示的表示良块(可正常进行储存操作的块)的良码(固定值)、识别块的识别码、主机的逻辑块地址(LBA)、其他信息以及ECC构成的。在数据不同于良码时,它表示此块是坏的,且其他数据是无效的。识别码表示此块是用户数据块、备用块、自由块、系统块以及备用注册表块的某一种。
在图6的存储阵列中,待读的第一区是管理信息区和系统数据区。储存在第一区中的待读信息为第一信息。其他区是待读的第二区。储存在第二区中的待读信息为第二信息。使用管理信息区作为待读的第一区,提高了第一访问的速率。使用系统数据区作为待读的第一区,从资源的观点看,使存储卡操作的非常重要的数据被储存,就改善了储存这样重要数据的可靠性。
图9表示按照主机的读取指令执行存储卡1读取操作的流程图。当主机指示进行读取数据的操作时(由主机读取),控制器2将来自主机的逻辑块地址转换为闪存3的物理块地址(S1)并从闪存3读出物理块地址的管理信息(S2)。此读取相应于第一读取操作。控制器2检查管理信息码是好的还是坏的(S3)。如果是否定的,控制器2读备用注册表(S4),读取此表所指示的备用块PBA的管理信息(S5),并检查此管理信息码是好的还是坏的(S6)。管理信息的读取是由第一读取操作来执行的。如果读取操作不能得到良码,则程序终结。如果在S6中的管理信息码是好的,控制器2检查管理信息的LBA(S7),如果LBA正常,从备用的PBA读取数据(S8和S9)。第二读取操作则输出读取的数据。控制器2检查读数据时(S10)ECC是否正确。如果有不能校正的错误,则程序终结。如果没有不能校正的错误,控制器2通知主机读取控制器缓冲器14的就绪态(S11),等待主机完成读取(S12),读完后,再确定主机是否完成了所有必须数据的读取(S13)。如果回答“是”,程序正常结束。如果回答“否”,控制器2返回步骤S1,并重新开始从闪存3读取下一数据的操作。
由于管理信息总是在主机读取中被读取的,读取管理信息的时间可由第一读取操作来缩短,因而使得主机的读取加快。
图10和11表示按照主机的写入指令执行存储卡1写入操作的流程图。当主机指示进行数据写入操作时,控制器2将主机供给的写数据储存至控制器缓冲器14(S21)。控制器2将来自主机的逻辑块地址转换为闪存3的物理块地址(S22),并从闪存3读出物理块地址的管理信息(S23)。此读取操作相应于第一读取操作。控制器2检查管理信息码是好的还是坏的(S24)。如果回答“否”,控制器2读备用注册表(S25),读取此表指示的备用PBA的管理信息(S26),再检查管理信息码是好的还是坏的(S27)。此管理信息由第一读取操作来读取。当第一读取操作不能得到良码时,程序以错误结束。如果在步骤S27得到良码,则检查管理信息的LBA(S28)。如果LBA正常,则进行清除备用PBA的过程(S29和S30)。确定是否清除此PBA(S31)。当发生清除错误时,进行检索备用PBA的过程R1,确定是否有备用PBA(S21)。如果没有备用PBA,则程序终结。如果有备用PBA,且在S31中确定此PBA被正常清除,控制器2等待主机完成供给写数据(S33),并将写数据从控制器缓冲器14输送至闪存3中的存储缓冲器20(S34和S35)。在数据传输完后,数据从闪存3的存储缓冲器20写入PBA(S36)。确定写入完成(S37)并确定写入结果(S38)。如果有写入错误,执行备用过程(R2)并确定是否存在备用区(S39)。如果没有备用区,则程序终结。如果有备用区,则确定是否已写完了主机要求的所有数据(S40)。当所有数据都写完时,程序正常结束。如果所有数据还没写完,控制器2回到步骤S22,继续写其余的数据。
由于管理信息总是在主机写入中读取的,管理信息的读取时间可由第一读取操作来缩短,且能使主机较快进行写入。
图12说明了闪存3读取操作的定时。所示为一外输入/输出端I/Ox,通常用于输入地址、输入/输出数据、以及输入指令、指令锁存启用信号CLE、地址锁存启用信号ALE、芯片启用信号CEb、允读信号REb、允写信号WEb、以及繁忙信号R/Bb。闪存3经输入/输出电路25与控制器2连接。芯片启用信号CEb表示对闪存3的芯片选择状态。允读信号REb指示从外输入/输出端I/Ox读取数据的操作,允写信号WEb指示从外输入/输出端I/Ox写入数据的操作。指令锁存启用信号CLE表示从外部送至外输入/输出端I/Ox的指令。繁忙信号R/Bb由其低电平表示闪存阵列22正在进行(忙态)清除、写入或读取操作。00h表示地址设置指令码,CA代表列地址,RA代表行地址,以及30h表示第二读取操作的始读指令码。当供给始读指令码30h时,开始从存储阵列读取数据Dout的操作。第一读取操作的始读指令码为31h。
图13说明向闪存3写入数据操作的定时。图中所示为地址设置指令码80h、列地址CA、行地址RA、写数据Din、以及始写指令码40h。当供给始写指令码40h时,数据Din写入存储阵列22。在闪存3中,在待读的第一区和待读的第二区都进行写入操作。在控制器2一侧对待读的第一区写入时,完成对写数据添加掩码数据。
图14表示备用检索过程R1的一个实例。首先,备用区的首部地址为检索参数“1”所取代(S50),相应备用区中的管理信息用参数“1”取代值作为地址由第一读取操作来读取(S51)。根据读管理信息的识别码来确定此块是否为自由块(S52)。如果此块是自由块,则送出表示存在备用区的响应(S53)。如果没有自由块,则参数“i”增加+1(S54)。再确定在备用区范围内是否有“i”值所示的地址(S55)。如果回答“是”,则送出表示没有备用区的响应(S56)。如果回答“否”,此程序返回步骤S51,继续检索。
备用检索过程中的管理信息由第一读取操作来读取。读出的数据经图5所示的路径PA1输出。因此,在读取管理信息时,不使用闪存3的存储缓冲器20,在备用检索过程前储存在存储缓冲器20中的写数据就不会受到扰乱。因此,不必为检索备用区而将存储缓冲器20中的写数据保存至控制器2的缓冲器14中。
图15说明备份过程R2的一个实例。首先,在备用区检索过程R1之后,确定是否有备用区(S60)。当存在备用区时,得到图14所示指示存在备用区的响应(S53)。当不存在备用区时,得到图14所示指示没有备用区的响应(S56)。如果不存在备用区则回到错误响应(S67)。如果有备用区,则执行将存储缓冲器中的数据写入自由块作为备份的过程(S61和S62)。在写入过程前先清除自由块。检查写入过程的结果(S63)。如果写入过程正常结束,更新备用注册表(S64)并回到表示正常终止(正常响应)的响应。如果有写入错误,执行备份过程R2来处理写入错误。
从备份过程R2明显地看到,在由备用区检索过程R1检索过备用区后,可将储存在闪存3存储缓冲器20中的数据写入备用区(S61)。总之,在备份过程R2中,无须从控制器2中的控制器缓冲器14再输送写数据。
图16表示由主机向存储卡1写入数据的定时。主机指令控制器2写入数据,并按扇区单元输送写数据。在图16中,主机将扇区0和1的写数据输送至控制器2(Th0a和Th0b),并将写数据储存至控制器2的缓冲器14中。按照主机的写入指令,控制器2使闪存3执行检索相应于扇区0和1的块的过程(Sf0)和清除检索到的块的过程(Ef0)。储存在控制器缓冲器14中的在扇区0和1中的写数据,从控制器2输送至闪存3(Tc0a和Tc0b)并储存至闪存3的存储缓冲器20中。然后,闪存3执行写入过程(Wf0),将储存在存储缓冲器20中的在扇区0和1中的数据写入经过检索和清除过程的块中。与写入过程(Wf0)并行,主机将下面扇区2和3中的写数据输送至控制器2(Th1a和Th1b),因为控制器缓冲器14不用于写入,它在闪存3的写入过程中是空闲的。在闪存3中的写入过程完成后,储存在控制器缓冲器14中在扇区2和3中的写数据从控制器2输送至闪存3(Tc1a和TcIb),并储存至闪存3的存储缓冲器20中。与此传输并行,控制器2先使闪存3执行检索对应于扇区2和3的块的过程(Sf1)和在检索到的块中清除数据的过程(Ef1)。然后,闪存3执行写入数据的过程,将储存在存储缓冲器20中的在扇区2和3的数据写入经过检索和清除过程的块中。
从图16所示的主机写入定时明显地看到,在向闪存中的非易失性存储单元写入写数据的过程中,下一个写数据可从主机输送至控制器2的控制器缓冲器14中。如上所述,即使在闪存3中发生写入错误,存储缓冲器20中的写数据没有受到备用区检索过程的扰乱。因此,写入过程和传输下一个写数据的过程可同时进行而不增大控制器缓冲器14的容量。
用存储卡得到了以下效果。
〔1〕闪存3可在非易失性存储单元MC中设定属于四种阈值电压分布之一的阈值电压,且可执行第一读取操作从阈值电压设为1位信息的非易失性存储单元MC读取输出信息,执行第二读取操作从阈值电压设为2位信息的非易失性存储单元MC读取输出信息。在从闪存读取第一信息例如管理信息或储存在系统数据区的信息时,控制器2执行第一读取操作。在从非易失性存储器读取第二信息例如扇区信息或备用注册表时,控制器2执行第二读取操作。在从阈值电压属于四种阈值电压分布之一的设为1位信息的非易失性存储单元MC中读取输出信息的第一读取操作中检查阈值电压的操作数,少于从2位信息的非易失性存储单元MC中读取输出信息的第二读取操作中的数目。因此,按照这样的量,读取操作可执行得较快。用数据部分中的扇区数据等作为待读第二目标的第二信息,以及用管理信息等作为待读第一目标的第一信息,可缩短从主机读取/写入时读取管理信息所需的时间。这样,可提高主机读取/写入存储卡1的操作速率。
〔2〕在闪存3中,在将第一信息储存至非易失性存储单元MC时,使用上限阈值电压分布的电压(“01”区)或下限阈值电压分布的电压(“11”区)作为非易失性存储单元MC的阈值电压。因此,将不直接用于储存信息的阈值电压分布区安插在用于储存信息的阈值电压分布区之间。这样,在作为第一信息储存区的系统数据区中可改善因随时间等改变而引起保存错误的抗御能力。也可改善在系统数据区等储存信息的可靠性。
〔3〕闪存3具有存储缓冲器20,用于向非易失性存储单元MC写入数据的过程以及用于第二读取操作。由第一读取操作从多个非易失性存储单元的每一个读取1位的第一信息如管理信息,在旁路存储缓冲器20时,输出至控制器2。在读取2位的信息时,不使用闪存3中的存储缓冲器20。因此,当向闪存3写入数据而发生写入错误时,虽然写数据保持在闪存3的存储缓冲器20中,可由读取1位信息的操作来检索备用区。因此,不必执行将写数据从存储缓冲器20保存至控制器2的缓冲器14中的过程,当写入错误发生时,可立即执行检索备用区的过程,而且可压缩控制器2中缓冲器14的容量。
〔4〕用上述方法,可实现在装有闪存3的存储卡1中提高数据传输速率。
虽然这里已根据实例对发明者实现的发明做了具体描述,但本发明不限于此。显然可作出各种修改而不背离其主旨。
例如,可用SRAM作为存储缓冲器20来读取4态数据,但本发明不限于SRAM。存储缓冲器可由锁存电路构成,在锁存电路中安排有多级并列静态锁存电路。
虽然在此实例中的非易失性存储器可储存4态数据,可使用一种存储卡,其非易失性存储器可储存4态或多态的多值数据。装在存储卡中的闪存数目不限于一个而可为多个。
储存多值的闪存形式不限于阈值电压依次随储存信息值而改变的情形。也可使用一种存储单元结构,它使用电荷陷阱膜(氮化硅膜)局部地改变保持在存储单元中的电荷位置来储存多值数据。而且,还可使用另一种储存形式如高介电常数存储单元作为非易失性存储单元。向非易失性存储单元写入数据与保持信息间的关系不限于图13所示,而可适当改变。
本发明不限于地址和数据都是多路的并输入至一个I/O端的结构,也可使用包含一个地址端来输入地址的结构。也可提供指令,根据地址端输入的地址指定访问缓冲存储区或访问闪存阵列。
第一和第二信息的具体种类不限于上述,可根据非易失性存储装置的种类适当地改变。对于将本发明用于IC卡用微机的情形,IC卡的用户ID信息可作为第一信息来处理。
本发明可广泛地用于闪存卡、微机、以及系统LSI等。本发明也可用于PDA(个人数字助手)或袖珍电话的存储媒体。
下面将简要描述本说明书中公开的本发明的典型实例所达到的效果。
在装有非易失性存储器和控制器的非易失性存储装置中,可改善其读/写速率性能。
在装有非易失性存储器和控制器的非易失性存储装置中,在所需的存储区可改善随时间变化等而引起保存错误的抗御能力。
在装有非易失性存储器和控制器的非易失性存储装置中,对于在向非易失性存储器写入数据期间发生写入错误的情形,在执行操作来读非易失性存储单元以检索备用区时,不必将保持在非易失性存储器数据缓冲器中的写数据保存起来。
权利要求
1.一种非易失性存储装置,包含非易失性存储器和控制器,其中所述非易失性存储器有多个非易失性存储单元,每个非易失性存储单元都能储存n位信息,并可执行输出从所述非易失性存储单元读取的m位信息的第一读取操作,以及输出从所述非易失性存储单元读取的n位信息的第二读取操作,其中,n为2以上的整数且m为小于n的整数,其中所述控制器执行所述第一读取操作来从所述非易失性存储器读取第一信息,以及执行所述第二读取操作从所述非易失性存储器读取第二信息。
2.权利要求1的非易失性存储装置,所述第一信息为指示所述第二信息存储区有效性的有效管理信息。
3.权利要求2的非易失性存储装置,当非易失性存储器按照控制器的指令工作时,所述控制器根据执行第一读取操作而从非易失性存储器读取的有效管理信息来检查所述第二信息存储区的有效性,当确定存储区有效时,执行第二读取操作来从非易失性存储器读取第二信息。
4.权利要求3的非易失性存储装置,所述控制器根据执行第一读取操作而从非易失性存储器读取的有效管理信息来检查所述第二信息存储区的有效性,当确定存储区无效时,根据在所述第二信息存储区的备用区执行第一读取操作而从非易失性存储器读取的有效管理信息来检查所述第二信息存储区的有效性,当存储区有效时,执行第二读取操作来从备用区读取第二信息。
5.权利要求1的非易失性存储装置,根据待储存的信息,所述非易失性存储单元的阈值电压为四种或更多种阈值电压分布中的一种阈值电压,其中在储存所述第一信息至所述非易失性存储单元时,所述非易失性存储器使用以所述阈值电压分布为边界之间的预定电压,将其阈值电压设定为电压高于所述预定电压的阈值电压分布或电压低于所述预定电压的阈值电压分布中的任何一个,在所述第一读取操作中将预定电压与非易失性存储单元的阈值电压进行比较,从而读取m位信息。
6.权利要求5的非易失性存储装置,储存有所述第一信息的非易失性存储单元的阈值电压是从上限阈值电压分布中的电压和下限阈值电压分布中的电压来选择的。
7.权利要求1的非易失性存储装置,所述控制器可由所述第二读取操作向外部输出从非易失性存储器读取的第二信息,也可向非易失性存储器供给从外部输入的所述第二信息,其中所述非易失性存储器具有存储缓冲器,可在第二信息送至所述控制器之前暂时储存所述第二读取操作读取的第二信息,并可在所述第二信息储存至所述非易失性存储单元之前暂时储存从所述控制器送来的第二信息。
8.权利要求7的非易失性存储装置,所述非易失性存储器在由所述第一读取操作读取第一信息时通过旁路所述存储缓冲器而输出第一信息。
9.权利要求8的非易失性存储装置,所述第一信息包含指示所述第二信息存储区有效性的有效管理信息。
10.权利要求9的非易失性存储装置,当非易失性存储器按照控制器的指令工作时,所述控制器根据执行第一读取操作从非易失性存储器读取的有效管理信息来检查所述第二信息存储区的有效性,当确定存储区有效时,将所述存储缓冲器的第二信息写入存储单元。
11.权利要求10的非易失性存储装置,所述控制器根据执行第一读取操作从非易失性存储器读取的有效管理信息来检查所述第二信息存储区的有效性,当确定存储区无效时,根据在所述第二信息存储区的备用区执行第一读取操作而从非易失性存储器读取的有效管理信息来检查所述第二信息存储区的有效性,当存储区有效时,将存储缓冲器中的第二信息写入备用区中的存储单元。
12.权利要求7的非易失性存储装置,所述控制器具有控制器缓冲器,以暂时保持外部送来的第二信息,和暂时保持从非易失性存储器读取和送来的第二信息。
13.权利要求12的非易失性存储装置,所述控制器从控制器缓冲器向存储缓冲器输送数据,然后,将存储缓冲器中的数据储存至非易失性存储单元,与此储存操作并行,可由外部向控制器缓冲器输入另一个数据。
14.一种非易失性存储装置,包含非易失性存储器和控制器,其中所述非易失性存储器有多个非易失性存储单元,每个非易失性存储单元都可设置为属于四种或多种信息存储态之一的信息存储态,并可执行输出从所述非易失性存储单元读取的在所述信息存储态中被设定的m位信息的第一读取操作,以及执行输出从所述非易失性存储单元读取的在所述信息存储态中被设定的n位信息的第二读取操作,其中所述控制器执行第一读取操作来从所述非易失性存储器读取第一信息,以及执行第二读取操作来从所述非易失性存储器读取第二信息。
15.权利要求14的非易失性存储装置,属于所述四种或多种信息存储态之一的信息存储态是属于非易失性存储单元四种或多种阈值电压分布之一的阈值电压态。
16.权利要求15的非易失性存储装置,在向所述非易失性存储单元储存所述第一信息时,所述非易失性存储器将从所述阈值电压分布的上限电压和下限电压中选取的电压作为非易失性存储单元的阈值电压。
17.权利要求16的非易失性存储装置,所述非易失性存储器具有存储缓冲器,它可保持由所述第二读取操作从多个非易失性存储单元的每一个中作为n位信息读取的第二信息,将所述第二信息送至控制器,保持从所述控制器送来的第二信息,并对于每n位将一个非易失性存储单元设置为包括在四种阈值电压分布之一中的阈值电压,其中由所述第一读取操作从多个非易失性存储单元的每一个作为m位信息读取的第一信息,在旁路所述存储缓冲器的同时输出至所述控制器。
全文摘要
公开了一种装有非易失性存储器和控制器的非易失性存储装置,它实现了改善读/写速率性能和改善了抗御保持错误的能力。非易失性存储器可储存2位或多位信息,并可执行第一读取操作从非易失性存储单元读取1位的输出信息,以及执行第二读取操作输出2位的读取信息。控制器执行第一读取操作来从非易失性存储器读取第一信息,以及执行第二读取操作来读取第二信息。第一读取操作的读取速率快于第二读取操作。在向待读的第一区写入时,使用上限或下限阈值电压分布的电压作为阈值电压,使抗御第一信息保存错误的能力得到改善。
文档编号G11C16/02GK1487530SQ0315498
公开日2004年4月7日 申请日期2003年8月26日 优先权日2002年8月27日
发明者田村隆之, 高瀨贤順, 首籘新一, 中村靖宏, 熊原千明, , 一, 宏, 明 申请人:株式会社日立制作所, 日立超大规模集成电路系统株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1