用于页复制操作的可纠错的非易失性存储器及其方法与流程

文档序号:12200588阅读:162来源:国知局
用于页复制操作的可纠错的非易失性存储器及其方法与流程
用于页复制操作的可纠错的非易失性存储器及其方法本申请是申请日为2004年4月5日、申请号为201110008910.0、发明名称为“用于页复制操作的可纠错的非易失性存储器及其方法”的发明专利申请的分案申请。技术领域本发明一般涉及非易失性闪存,更具体地,涉及具有错误校正功能的用于可靠的页复制操作的闪存及其操作方法。

背景技术:
闪存一般应用于用于移动通信,游戏设置,等等中使用的电子设备的大容量存储子系统中。这种子系统通常实现为能够插到多主机系统中的可移动存储卡或实现为主机系统内不可移动的嵌入式存储器。在两种实现中,该子系统包括一个或多个快闪设备并且通常还包括一个子系统控制器。闪存是由一个或更多个晶体管单元阵列组成,每个单元能够非易失性地存储一个或更多位的数据。因此,闪存不需要电源来保持其中被编程的数据。然而一旦被编程,一个单元在能够用新的数据值重新编程之前必须进行擦除。这些单元阵列被划分成组用于提供读、编程和擦除功能的有效实现。用于大容量存储器的典型的闪存结构是将大的单元组排列到可擦除块中。每个块进一步被划分成一个或更多个作为读和编程功能的基本单元的可寻址扇区。闪存基本上具有它们自己的读,写(或编程),和擦除功能操作。闪存进一步扩展它们的职能来执行页复制操作(或复录操作)。该页复制操作是将存储在一个分配了特定地址的页中的数据录制到分配了另一个地址的另一个页中。在页复制过程中,存储在特定地址页中的数据被转移到一个页缓冲器,然后保留在页缓冲器中的数据被写到分配了另一个地址的另一个页中,该过程通过一个编程过程完成而不用从闪存中读出该数据。该页复制功能不需要读出要被写入的数据和从闪存的外部源下载要被写入的数据,其有利于提高与子系统控制器结合的系统数据速度。然而,不幸的是,可能发生被复制和被写的页本身具有错误位的情况。如图1中所示,假设页PG4被复制而页PGn-3被写入,每一页都具有一个错误位,存储在页PG4中的数据被转移到页缓冲器10然后从页缓冲器10写到页PGn-3中。作为页复制操作的结果,页PGn-3中包括两个错误位。因为多数的用作卡型存储器中的子系统控制器的闪存控制器通常仅仅设计用于校正页中一位的错误,这种一页中两位的错误在磁带复录操作完成后可能不能被纠正。虽然闪存控制器可以被装备得具有处理甚至每页具有两位的错误的错误校正功能,但它将使电路结构变得非常复杂并降低存储控制系统的操作效率。本发明的实施例致力于解决现有技术的这些和其他局限性。

技术实现要素:
本发明的实施例提供了一种能够通过页复制操作保持数据完整的非易失性存储器,以及其方法。这样的非易失性存储器在页复制操作过程中能防止错误位的录制。根据本发明的一个方面,一种非易失性存储器包括:存储数据的多个页;页缓冲器,用于通过页暂时存储数据;一个电路(circuit),用于校正所述多个页的特定一页中源数据的位错误;线路(circuitry),被配置得适于提供源数据到所述电路以及用于从所述电路提供改正数据到页缓冲器;复制电路,配置得适于将源数据复制到页缓冲器并且将改正数据从页缓冲器存储到另一个页。该电路从源数据产生新的校验位并且比较该新校验位与旧校验位。此外,该设备包括一个用于产生组成源数据的一个字节的位的列校验位的电路;以及一个用于产生源数据的字节的行校验位的电路。在实施例中,一种非易失性存储器包括:由用于存储数据的多个页组成的一个数据域;第一电路,其配置得适于将第一校验位存储到数据域的预定区域中,该第一校验位在页的编程操作过程中被产生;页缓冲器,用于通过页暂时存储数据;第二电路,其配置得适于将存储在所述多个页的特定一页中的源数据复制到页缓冲器中;第三电路,其配置得适于从存储在页缓冲器中的源数据产生第二校验位;以及第四电路,其配置得适于响应于第一校验位和第二校验位的比较结果将源数据的改正数据转移到页缓冲器。进一步包括一个用于将保留在页缓冲器中的改正数据存储到所述多个页的另外一页中的第五电路。在实施例中,一种将特定页的源数据转移到具有通过页暂存数据的页缓冲器的非易失性存储器中的另一页的方法,该源数据包含旧校验位,该方法包括下面步骤:存储源数据到页缓冲器;从存储在页缓冲器中的源数据产生新校验位;比较该旧校验位与该新校验位;响应于比较结果创建源数据的修改后的数据;以及通过页缓冲器将修改后的数据移动到另一个页。根据该实施例,可以通过存储器外部的比较结果通知一个错误状况。在该实施例中,一种非易失性存储器包括:由存储数据的多个页组成的一个数据存储域;页缓冲器,用于存储所述多个页的特定一页的数据,其与该数据存储域相连;以及与页缓冲器相连的错误校正电路包括:一个位错误检测器,其配置得适于检测特定页的数据的一个位错误;以及一个位错误校正器,其配置得适于修改位错误。该位错误检测器包括:一个用于从存储在页缓冲器中的数据创建新校验位的校验位产生器;以及一个用于通过比较数据的新校验位和旧校验位而产生错误地址信息的比较器。位错误校正器通过参照该错误地址信息来校正数据并将修改后的数据传送到页缓冲器。该转换后的数据被转录到特定页和另一个页中。以下通过结合附图对示范性实施例的详细描述本发明将被更好地理解。附图说明通过对本发明优选实施例的更详细的描述本发明的上述以及其他特征和优点将会更加明显,如附图中所示的同一附图标记指示所有不同视图的同一部分。附图不必要由比例决定,而是设置用于强调本发明的原理:图1是显示了一个传统的与非(NAND)闪存设备中页复制备份特征的框图。图2是显示了根据本发明的实施例具有错误校正的页复制备份特征的框图。图3是显示了根据本发明的实施例一个错误校正电路的框图。图4是显示了用于在页缓冲器和图3的错误校正电路之间执行数据传输的门电路的电路图。图5是在页缓冲器和图3的错误校正电路之间数据传输的时序图。图6是显示了根据本发明的实施例产生列和行校验位的程序的表格。图7是显示了用于产生图6所示的列校验位的电路的电路图。图8是显示了用于产生图6所示的行校验位的电路的电路图。图9是在页缓冲器与错误校正电路之间的数据传输中使用的信号的时序图。具体实施方式将被理解的是优选实施例的描述仅仅是说明性的而并不是用于限定意义的。在下面的详细描述中,许多具体细节被说明用于提供对本发明更彻底的理解。然而,显而易见的是,即使没有这些具体细节对于本领域的技术人员而言本发明也是可以被实施的。应用于本发明的闪存被体现在一NAND闪存上,适于嵌入在便携式电子设备中例如集成电路卡,其中许多的存储单元以串的模式被排列,这些串耦合到以行和列的矩阵布置的多个字线和位线。根据本发明的实施例NAND闪存具有一个被分为由地址指定的多个页的存储单元阵列。每一页由耦合到一个字线和一个个地耦合到多个位线的数个存储单元构成。该页是读和写的单位。根据本发明的实施例NAND闪存被设计用于执行如下功能操作,例如擦除以删除存储在存储单元中的数据,编程以在存储单元中写数据,从存储器中读出数据(也就是,一个读出操作),在完成擦除和编程后验证以检查存储单元状态,以及页复制以不使用读出操作而将一页中的数据录制到另一页中。根据本发明的实施例NAND闪存包括一个用于暂时存储在编程,读出或页复制操作过程中要从存储单元读出的或从存储器外部下载的数据的页缓冲器电路。还包括用于选择具有从外部供给地址的页或存储单元的缓冲器和解码器,用于检测数据值的读出放大器,用于从/到存储单元阵列转移数据到/从输入/输出信道的门线路,和用于管理其中的操作的控制电路。本发明的实施例包括一个与页复制功能结合的错误校正操作。在该实施例中,术语“读出”用于指从存储器中读出数据的操作,也就是数据从存储器单元中移出存储器的状态。术语“复制”用于指转移特定页的数据到页缓冲器中的操作,以及“转录”用于指将保持在页缓冲器中的数据移动到另一个页中的操作。此外,“源数据”用于指具有错误位的被复制的数据,“修正(或纠正或改正)数据”用于指没有错误位的被转录的数据。现在,结合图2至图9解释本发明的实用实施例。图2显示了根据本发明的实施例在页复制操作模式过程中校正一个位错误的示意特征。首先,存储在,例如,页PG4中的数据,即源数据,通过读操作(该读操作与用在当前说明中其他处的读出操作不同)被加载到页缓冲器10中,这被称为“复制”操作。存储在页缓冲器10中的该数据,也就是,页PG4的源数据(下文所指的“源页”)在它们被写入到另一页(例如,PGn-3;下文称为“转录页”)之前被输入到错误校正电路20来修正包含在源数据中的一个位错误。由错误校正电路20修改后的数据被转移回页缓冲器10中然后写入到页PGn-3中。结果,页PGn-3可以确保源数据中不包含错误位,防止通过源数据转录错误位。即使将被转录的页PGn-4有自己的错误位,已知的错误校正功能可以修改其中单个的位错误。有关页复制操作过程中错误校正过程的细节将在下文中描述。图3显示了在页复制操作过程中用于处理错误校正的功能结构。参照图3,一旦暂时存储在页缓冲器10中的源数据De被提供给错误校正电路20时,比较器50比较旧校验位OP和在复制操作过程中由校验位产生器40产生的新校验位NP,该旧校验位是在先前的编程(或写)循环过程中被创建并且被存储在存储器的预定域中。该新校验位NP是用于校正一个位错误的校验数据,也就是在页复制操作过程中由源数据产生的一个累进位错误。该旧校验位和新校验位,OP和NP,通过相同的方式被产生。在比较了该旧校验位OP与该新校验位NP之后,涉及累进位错误的页地址的信息信号Ae由比较器50产生。该错误的地址信息信号Ae应用于一个错误校正逻辑电路60来修改该位错误。改正数据Dc与控制信号CNT一起从错误校正逻辑电路60转移到页缓冲器10。校验位产生和比较的细节将在下文进行描述。图4是锁存和列解码块LDB0~LDBm-1的电路图,该锁存和列解码块LDB0~LDBm-1被安排在页缓冲和读出(sensing)逻辑块12(包括在页缓冲器10中)与输入/输出线I/O0~I/On-1之间,用于转移源数据和校正数据。参照图4,分配到特定地址的源页(例如,PG4)的源数据通过每个都与输入/输出线I/O0~I/On-1相对应的锁存和列解码块LDB0~LDBm-1从页缓冲和读出块12转移到错误校正电路20。该锁存和列解码块LDB0~LDBm-1同样通过页缓冲和读出块12转移由错误校正电路20提供的改正数据Dc到转录页(例如,PGn-1)。源页PG4的源数据De通过页缓冲和检测块12读出并被存储到每个与位线BL0~BLn-1相对应的锁存器LCH0~LCHn-1中。响应于列门信号YA0~YAn-1(主要的)和YB0~YBk-1(次要的)暂留在存储器LCH0~LCHn-1中的源数据顺序地以位为单位通过列门(或Y-门)AG0~AGn-1和BG0~BGk-1转移到输入/输出线I/O0~I/On-1,如图5中所示,其可以被称作“错误数据输出”的操作状态。例如,当列门信号YA0和YB0都处于高电平有效时,与位线BL0相对应的源数据位通过输入/输出线I/O0被转移到错误校正电路20。改正数据Dc通过输入/输出线I/O0~I/On-1从错误校正电路20转移到每个都与位线BL0~BLn-1相连接的锁存器LCH0~LCHn-1,其可以被称为“改正数据的输入”的操作状态。例如,当列门信号YA0和YB0都处于高电平有效时,与位线BL0相对应的改正数据位通过输入/输出线I/O0转移到页缓冲器10(也就是,页缓冲和读出块12)。经由编程过程暂时存储在锁存器中的改正数据Dc被写入到转录页PGn-1中。图6显示了根据本发明的实施例产生新校验位NP的一个实用方式。先前存储在存储器预定域中的旧校验位OP是由一个在先的编程操作产生的。用于产生校验位的已知技术被简单划分为两种方式:一种是串行方式,另一种是并行方式。本发明的实施例使用该串行方式用以节省拓扑电路区域,但两种中的另一种实施方式也是可接受的。说明从中建立校验位的源数据De由8位的512字节组成,该校验位被分类为列校验位和行校验位。列校验位由一个字节的8位而获得,而行校验位由512字节获得。列校验位和行校验位可以由图7和图8中分别所示的电路构成,两个电路都包括在图4所示的校验位产生器40中。列校验位和行校验位的产生是通过处理具有二进制组合的异或(XOR)逻辑链来完成的,用以从位或字节包中获得一个位错误。现在参照图6和图7以b及下面的表1来描述关于从8位b0-b7创建列校验位的过程。[表1]字符“*”代表从相关位的结合获得比较结果的XOR运算符。因此,XOR逻辑完整的运算等式在下面被总结,每一个用于6位的列校验位。CP1=b7*b5*b3*b1nCP1=b6*b4*b2*b0CP2=b7*b6*b3*b2nCP2=b5*b4*b1*b0CP4=b7*b6*b5*b4nCP4=b3*b2*b1*b0参照图7,为产生每个列校验位而执行的算法结合与4个XOR门XR和一个触发器FF相关。每个输入/输出线与每个数据位相对应。列校验位nCP4从接收XOR门XR19的输出的触发器FF6产生。门XR19接收XOR门XR13的输出和从触发器FF6反馈的列校验位nCP4。门XR13接收XOR门XR1和XR2的输出。输入/输出线I/O2和I/O3与门XR2的输入端连接,而输入/输出线I/O0和I/O1与门XR1的输入端连接。与nCP4互补的列校验位CP4是由接收XOR门XR20的输出的触发器FF5产生。门XR20接收XOR门XR14的输出和从触发器FF5反馈的列校验位CP4。门XR14接收XOR门XR3和XR4的输出。输入/输出线I/O4和I/O5与门XR3的输入端连接,而输入/输出线I/O6和I/O7与门XR4的输入端连接。列校验位nCP2是由接收XOR门XR21的输出的触发器FF4产生。门XR21接收XOR门XR15的输出和从触发器FF4反馈的列校验位nCP2。门XR15接收XOR门XR5和XR6的输出。输入/输出线I/O0和I/O1与门XR5的输入端连接,而输入/输出线I/O4和I/O5与门XR6的输入端连接。与nCP2互补的列校验位CP2是由接收XOR门XR22的输出的触发器FF3产生。门XR22接收XOR门XR16的输出和从触发器FF3反馈的列校验位CP2。门XR16接收XOR门XR7和XR8的输出。输入/输出线I/O2和I/O3与门XR7的输入端连接,而输入/输出线I/O6和I/O7与门XR8的输入端连接。列校验位nCP1是由接收XOR门XR23的输出的触发器FF2产生。门XR23接收XOR门XR17的输出和从触发器FF2反馈的列校验位nCP1。门XR17接收XOR门XR9和XR10的输出。输入/输出线I/O0和I/O2与门XR9的输入端连接,而输入/输出线I/O4和I/O6与门XR10的输入端连接。与nCP2互补的列校验位CP1是由接收XOR门XR24的输出的触发器FF1产生。门XR24接收XOR门XR18的输出和从触发器FF1反馈的列校验位CP1。门XR18接收XOR门XR11和XR12的输出。输入/输出线I/O1和I/O3与门XR11的输入端连接,而输入/输出线I/O5和I/O7与门XR12的输入端连接。时钟信号CLK和复位信号RST共同应用于触发器FF1~FF6。因此,触发器FF1~FF6响应于时钟信号CLK每个循环的上升沿输出列校验位。到位于其对应触发器之前的XOR门的每个列校验位的反馈输入(例如,NCP4从FF6到XR19)用于检测源数据中当前位和下一位之间的变化(也就是,检测在页复制操作过程中的累进位错误)然后采用产生校验位的串行方式来管理它。作为产生列校验位的一个实用的例子,列校验位CP1,CP2和nCP4被设置为“1”,假设位b3为一个错误位。从512字节产生行校验位将参照图6和图8以及下面的表2进行描述。表2安排了用于XOR算法实现的字节结合以获得与源数据的512字节相对的行校验位LP1,nLP1,LP2,nLP2,LP4,nLP4…,LP512和nLP512(LP1~nLP512;18位)。[表2]在表2中,字符“*”表示由相应位的结合获得比较结果的XOR运算符,而“^B”表示用于它们相对应字节的8位的XOR操作的结果(例如,在第512字节个中^B512=b7*b6*b5*b4*b3*b2*b1*b0)。因子^B在下文中被称作“字节校验单元”。因此,表2中XOR逻辑的完整的运算等式在下面被总结,每一个用于18位的行校验位。LP1=^B512*^B510*…*^B256*^B254*…*^B4*^B2nLP2=^B511*^B509*…*^B255*^B253*…*^B3*^B1LP2=^B512*^B511*…*^B256*^B255*…*^B4*^B3nLP2=^B510*^B509*…*^B254*^B253*…*^B2*^B1LP4=^B512*^B511*^B510*^B509*…*^B256*^B255*^B254*^B253*…*^B8*^B7*^B6*^B5nLP4=^B508*^B507*^B506*^B505*…*^B252*^B251*^B250*^B249*…*^B4*^B3*^B2*^B1………………LP512=^B512*^B511*^B510*^B509*…*^B260*^B259*^B258*^257nLP512=^B256*^B255*^B254*^B253*…*^B4*^B3*^B2*^B1参照图8,用于每个字节的字节校验单元^B通过XOR门XR31~XR37首先获得。字节校验单元^B由门XR37产生。门XR37接收门XR35和XR36的输出。门XR35接收门XR31和XR32的输出,而门XR36接收门XR33和XR34的输出。门XR31的输入端与输入/输出线I/O0和I/O1连接,而门XR32的输入端与输入/输出线I/O2和I/O3连接。门XR33的输入端与输入/输出线I/O4和I/O5连接,而门XR34的输入端与输入/输出线I/O6和I/O7连接。门XR37的输出,^B,分为18条路线用于产生18个行校验位LP1~nLP512,共同地施加到NAND门ND1~ND18的输入端。如果与它们对应字节的8位中有错误位,该字节校验单元^B被设置为“1”。NAND门ND1~ND18每一个响应时钟控制信号nCLK1,CLK1,nCLK2,CLK2,…,nCLK512和CLK512(nCLK1~CLK512;18ea)来控制从字节校验单元^B到行校验位的位路径。NAND门ND1~ND18的输出端与XOR门XR1~XR18的输入端分别连接。门XR1~XR18还分别接收从接收门XR1~XR18的输出的触发器FF1~FF18反馈到此的行校验位NLP1~LP18。由于时钟信号CLK和复位信号RST共同施加于触发器FF1~FF18,触发器FF1~FF18响应于时钟信号CLK每个周期的上升沿输出行校验位。到位于其对应触发器之前的XOR门的每个列校验位的反馈输入例如,LP512从FF1018到XR1018)用于检测源数据中当前位和下一位之间的变化(也就是,用于检测在页复制操作过程中的累进位错误)然后采用产生行校验位的串行方式来管理它。作为行校验位产生的实用的例子,如果字节B3有一个错误位,行校验位nLP1,LP2,nLP4,…,nLP512将被设置为“1”。图9的时序图显示了用于从页缓冲器10到错误校正电路20转移源数据的列门信号和时钟控制信号的脉冲状态,与图4至图8中电路的操作相结合。图9中所示的传输过程示例性地通过图4中所示的锁存和列解码块LDB1执行。参照图9,由于对于次要的列门信号YB0处于高电平使能状态主要的列门信号YA0~YAn-1连续的处于高电平有效状态,与位线BL0~BLn-1相对应的数据位通过其对应的输入/输出线I/O0~I/On-1被顺序地转移到错误校正电路20。通过相同的方式,根据对于次要的列门信号YB0~YBk-1的每一个有效状态的主要的列门信号YA0~YAn-1的顺序有效状态,源数据的所有512字节通过输入/输出线I/O0~I/ON-1被转移到错误校正电路20。在错误校正电路20中,响应于时钟信号CLK的周期振荡,图7中所示的列校验位产生器的触发器FF1~FF6输出列校验位CP1~nCP4。同时,从时钟信号CLK分离出来的的时钟控制信号CLK1~nCLK512使位路径能够通过图8中所示的行校验位产生器的NAND门ND1~ND18传导,而行校验位产生器的触发器FF1~FF18输出18位的行校验位LP1~nLP512。新校验位NP的位数是24,它是由8个列校验位CP1~nCP4和18个行校验位LP1~nLP512组成的,它与存储在闪存的预定域中的旧校验位OP相同。用于执行具有错误校正的页复制操作的完整的顺序如下所述。首先,在编程期间产生旧校验位OP并存储在存储器的预定域中。然后,如图6至图8中所示的电路和上述的步骤产生新校验位NP。旧校验位和新校验位通过24位相互比较。在通过校验位比较器50比较旧校验位OP与新校验位NP的过程中,如果旧校验位和新校验位的所有24位相同(也就是,旧校验位与新校验位XOR操作的结果为“0”),则认为没有错误位。另一方面,当旧校验位和新校验位之间12位(24位的一半)的比较结果为“1”时,认为有一位错误。该一位的错误由校正逻辑电路60来修改。另外,只有当24位中的一位的比较结果为“1”时,才认为是在该页被复制时源数据中已经包含的一个单独的错误。除了上述情况,其他情况的比较结果可以认为有多于两位的错误位。这样的位错误情况可以通过用户响应于一个命令而得以识别。进一步,它可以执行转录改正数据到源页和转录页。根据本发明的实施例,错误校正电路可以嵌入在闪存中。如上所述,由于源页的源数据中包含的错误位在被写入到转录页之前由错误校正电路检测并修改,它可以防止源数据中的错误位被录制到转录页中。此外,根据本发明的闪存有效的消除了在页复制操作过程中产生的一个累进位错误。并且,根据上述的实施例,在页复制操作过程中不需要用于校正错误的缓冲部件,因为基本上在普通闪存中采用的页缓冲器,可有效地用于协助操作而不需要额外的修改。虽然本发明的优选实施例被公开以用于说明目的,本领域的技术人员将认识到,在不脱离本发明所附权利要求中所描述的精神和范围下,各种修改,增加和替代都是可能的。本申请要求申请日为2003年4月3日的韩国专利申请NO.2003-21114的优先权,其全部内容在这里结合作为参考。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1