CN1551244A - 用于页复制操作的可纠错的非易失性存储器及其方法 - Google Patents
用于页复制操作的可纠错的非易失性存储器及其方法 Download PDFInfo
- Publication number
- CN1551244A CN1551244A CNA2004100477591A CN200410047759A CN1551244A CN 1551244 A CN1551244 A CN 1551244A CN A2004100477591 A CNA2004100477591 A CN A2004100477591A CN 200410047759 A CN200410047759 A CN 200410047759A CN 1551244 A CN1551244 A CN 1551244A
- Authority
- CN
- China
- Prior art keywords
- data
- page
- check bit
- circuit
- nonvolatile memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012937 correction Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 title claims description 31
- 230000008569 process Effects 0.000 claims description 20
- 230000000052 comparative effect Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 4
- 230000000717 retained effect Effects 0.000 claims description 3
- 230000001052 transient effect Effects 0.000 claims 2
- 238000007726 management method Methods 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 5
- 238000013518 transcription Methods 0.000 abstract description 2
- 230000035897 transcription Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 7
- 238000011084 recovery Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 101100080090 Caenorhabditis elegans nlp-1 gene Proteins 0.000 description 3
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 2
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 2
- 101000927076 Xenopus laevis Apoptosis regulator R11 Proteins 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- -1 nLP2 Proteins 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001915 proofreading effect Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 101100187124 Arabidopsis thaliana CPA gene Proteins 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 1
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 1
- 101001022957 Homo sapiens LIM domain-binding protein 1 Proteins 0.000 description 1
- 101001022948 Homo sapiens LIM domain-binding protein 2 Proteins 0.000 description 1
- 102100035113 LIM domain-binding protein 2 Human genes 0.000 description 1
- 101150098960 NLP1 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
公开了一种在页复制操作过程中具有错误检测和校正功能的NAND闪存。该NAND闪存可以防止从源页转录错误位到一个复制页。本发明闪存的实施例包括一个用于校正存储在页缓冲器中源数据的位错误的校正电路,一个配置得适于提供源数据到校正电路以及提供校正数据到页缓冲器的电路,和一个配置得适于复制源数据到页缓冲器、并将校正数据从页缓冲器存储到另一个页的复制电路。
Description
技术领域
本发明一般涉及非易失性闪存,更具体地,涉及具有错误校正功能的用于可靠的页复制操作的闪存及其操作方法。
背景技术
闪存一般应用于用于移动通信,游戏设置,等等中使用的电子设备的大容量存储子系统中。这种子系统通常实现为能够插到多主机系统中的可移动存储卡或实现为主机系统内不可移动的嵌入式存储器。在两种实现中,该子系统包括一个或多个快闪设备并且通常还包括一个子系统控制器。
闪存是由一个或更多个晶体管单元阵列组成,每个单元能够非易失性地存储一个或更多位的数据。因此,闪存不需要电源来保持其中被编程的数据。然而一旦被编程,一个单元在能够用新的数据值重新编程之前必须进行擦除。这些单元阵列被划分成组用于提供读、编程和擦除功能的有效实现。用于大容量存储器的典型的闪存结构是将大的单元组排列到可擦除块中。每个块进一步被划分成一个或更多个作为读和编程功能的基本单元的可寻址扇区。
闪存基本上具有它们自己的读,写(或编程),和擦除功能操作。闪存进一步扩展它们的职能来执行页复制操作(或复录操作)。该页复制操作是将存储在一个分配了特定地址的页中的数据录制到分配了另一个地址的另一个页中。在页复制过程中,存储在特定地址页中的数据被转移到一个页缓冲器,然后保留在页缓冲器中的数据被写到分配了另一个地址的另一个页中,该过程通过一个编程过程完成而不用从闪存中读出该数据。该页复制功能不需要读出要被写入的数据和从闪存的外部源下载要被写入的数据,其有利于提高与子系统控制器结合的系统数据速度。
然而,不幸的是,可能发生被复制和被写的页本身具有错误位的情况。如图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]
列校验位 | 算法结合 | |
b7b6b5b4 | b3b2b1b0 | |
CP1 | ** | ** |
nCP1 | ** | ** |
CP2 | ** | ** |
nCP2 | ** | ** |
CP4 | **** | |
nCP4 | **** |
字符“*”代表从相关位的结合获得比较结果的XOR运算符。因此,XOR逻辑完整的运算等式在下面被总结,每一个用于6位的列校验位。
CP1=b7*b5*b3*b1
nCP1=b6*b4*b2*b0
CP2=b7*b6*b3*b2
nCP2=b5*b4*b1*b0
CP4=b7*b6*b5*b4
nCP4=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]
行校验位 | 算法结合 | |||||||||
^B512 | ^B511^B510^B509 | .. | ^B256 | ^B255^B254 | ^B253 | .. | ^B4 | ^B3^B2 | ^B1 | |
LP1 | * | * | .. | * | * | .. | * | * | ||
nLP1 | ** | .. | * | * | .. | * | * | |||
LP2 | * | * | .. | * | * | .. | * | * | ||
nLP2 | ** | .. | * | * | .. | * | * | |||
LP4 | * | *** | .. | * | ** | * | .. | |||
nLP4 | .. | .. | * | ** | * | |||||
.. | .... | |||||||||
LP512 | * | *** | .. | .. | ||||||
nLP512 | .. | * | ** | * | .. | * | ** | * |
在表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*^B2
nLP2=^B511*^B509*...*^B255*^B253*...*^B3*^B1
LP2=^B512*^B511*...*^B256*^B255*...*^B4*^B3
nLP2=^B510*^B509*...*^B254*^B253*...*^B2*^B1
LP4=^B512*^B511*^B510*^B509*...*^B256*^B255*^B254*^B253*...*^B8*^B7*^B6*^B5
nLP4=^B508*^B507*^B506*^B505*...*^B252*^B251*^B250*^B249*...*^B4*^B3*^B2*^B1
...............
LP512=^B512*^B511*^B510*^B509*...*^B260*^B259
*^B258*^257
nLP512=^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的优先权,其全部内容在这里结合作为参考。
Claims (19)
1.一种非易失性存储器,包括:
存储数据的多个页;
页缓冲器,用于通过该页暂时存储数据;
校正电路,用于校正所述多个页的特定一页的源数据的一个位错误;
转移电路,其配置得适于提供源数据到校正电路以及从校正电路提供改正数据到页缓冲器;以及
复制电路,其配置得适于将源数据复制到页缓冲器以及将改正数据从页缓冲器存储到另一个页。
2.如权利要求1所述的非易失性存储器,其中该源数据包括旧校验位。
3.如权利要求2所述的非易失性存储器,其中该校正电路从源数据产生新校验位,并且比较该新校验位与该旧校验位。
4.如权利要求3所述的非易失性存储器,其中该校正电路包括一个用于产生组成源数据的一个字节的位的列校验位的电路;和一个用于产生源数据的字节的行校验位的电路。
5.如权利要求1所述的非易失性存储器,其中该非易失性存储器是一个与非闪存。
6.一种非易失性存储器,包括:
由用于存储数据的多个页组成的一个数据域;
第一存储器,其配置得适于将第一校验位存储到所述数据域的预定区域中,该第一校验位在页的编程操作过程中产生;
页缓冲器,用于通过该页暂时存储数据;
移动电路,其配置得适于将存储在所述多个页的特定一页中的源数据复制到页缓冲器中;
校验位电路,其配置得适于从存储在页缓冲器中的源数据产生第二校验位;以及
转移电路,其配置得适于响应于第一校验位与第二校验位的比较结果将源数据的改正数据转移到页缓冲器。
7.如权利要求6所述的非易失性存储器,进一步包括一个配置得适于将保留在页缓冲器中的改正数据存储到所述多个页的另一页中的第二存储器,。
8.如权利要求6所述的非易失性存储器,其中该第二校验位包括列校验位和行校验位。
9.如权利要求8所述的非易失性存储器,其中该校验位电路包括一个用于产生组成源数据的一个字节的位的列校验位的电路;以及一个用于产生源数据的字节的行校验位的电路。
10.如权利要求6所述的非易失性存储器,其中该非易失性存储器是一个与非闪存。
11.一种用于将非易失性存储器中特定页的源数据转移到另一页中的方法,该非易失性存储器具有通过页暂时存储数据的页缓冲器,该源数据包括旧校验位,该方法包括:
存储源数据到页缓冲器;
从存储在页缓冲器中的源数据产生新校验位;
比较该旧校验位与该新校验位;
响应于比较的结果从源数据创建修改后的数据;以及
通过页缓冲器将修改后的数据移动到另一页。
12.如权利要求11所述的方法,进一步包括在将源数据存储到页缓冲器之前,将源数据的旧校验位存储到存储器的预定域中。
13.如权利要求11所述的方法,进一步包括由存储器外部的比较结果通知一个错误状态。
14.一种非易失性存储器,包括:
由存储数据的多个页组成的一个数据存储域;
页缓冲器,用于存储所述多个页的特定一页的数据,其与所述数据存储域相连接;以及
错误校正电路,其与所述页缓冲器连接,并且包括:一个位错误检测电路,其配置得适于检测特定页的数据的一个位错误;和一个位错误校正电路,其配置得适于修改该位错误。
15.如权利要求14所述的非易失性存储器,其中该位错误检测电路包括:
校验位产生器,用于从存储在页缓冲器中的数据创建新校验位;以及
比较器,用于通过比较数据的新校验位和旧校验位创建错误地址信息。
16.如权利要求15所述的非易失性存储器,其中该错误地址信息由位错误校正电路引用以校正该数据并将改正数据转移到页缓冲器。
17.如权利要求16所述的非易失性存储器,其中通过控制信号管理改正数据的转移。
18.如权利要求17所述的非易失性存储器,其中该改正数据被转录到特定页和另一页中。
19.如权利要求14所述的非易失性存储器,其中该非易失性存储器是一个与非闪存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310047282.6A CN103136068B (zh) | 2003-04-03 | 2004-04-05 | 用于页复制操作的可纠错的非易失性存储器及其方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR21114/2003 | 2003-04-03 | ||
KR21114/03 | 2003-04-03 | ||
KR1020030021114A KR100543447B1 (ko) | 2003-04-03 | 2003-04-03 | 에러정정기능을 가진 플래쉬메모리장치 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310047282.6A Division CN103136068B (zh) | 2003-04-03 | 2004-04-05 | 用于页复制操作的可纠错的非易失性存储器及其方法 |
CN2011100089100A Division CN102034545A (zh) | 2003-04-03 | 2004-04-05 | 用于页复制操作的可纠错的非易失性存储器及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1551244A true CN1551244A (zh) | 2004-12-01 |
CN1551244B CN1551244B (zh) | 2013-05-01 |
Family
ID=32844907
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100089100A Pending CN102034545A (zh) | 2003-04-03 | 2004-04-05 | 用于页复制操作的可纠错的非易失性存储器及其方法 |
CN201310047282.6A Expired - Lifetime CN103136068B (zh) | 2003-04-03 | 2004-04-05 | 用于页复制操作的可纠错的非易失性存储器及其方法 |
CN2004100477591A Expired - Lifetime CN1551244B (zh) | 2003-04-03 | 2004-04-05 | 用于页复制操作的可纠错的非易失性存储器及其方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100089100A Pending CN102034545A (zh) | 2003-04-03 | 2004-04-05 | 用于页复制操作的可纠错的非易失性存储器及其方法 |
CN201310047282.6A Expired - Lifetime CN103136068B (zh) | 2003-04-03 | 2004-04-05 | 用于页复制操作的可纠错的非易失性存储器及其方法 |
Country Status (6)
Country | Link |
---|---|
US (3) | US7296128B2 (zh) |
EP (1) | EP1465203B1 (zh) |
JP (1) | JP2004311010A (zh) |
KR (1) | KR100543447B1 (zh) |
CN (3) | CN102034545A (zh) |
DE (1) | DE602004003275T2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615420A (zh) * | 2008-06-26 | 2009-12-30 | 威刚科技股份有限公司 | 具数据修正功能的闪存储存装置 |
CN101361137B (zh) * | 2006-01-16 | 2011-06-22 | 汤姆森许可贸易公司 | 用于将高速输入数据记录到存储器器件矩阵中的方法和装置 |
CN102576330A (zh) * | 2009-06-12 | 2012-07-11 | 提琴存储器公司 | 具有持久化无用单元收集机制的存储系统 |
US8347180B2 (en) | 2009-11-12 | 2013-01-01 | Via Technologies, Inc. | Data storage system and method |
CN102117230B (zh) * | 2009-12-31 | 2013-01-09 | 群联电子股份有限公司 | 数据写入方法、闪存控制器与闪存储存装置 |
Families Citing this family (125)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7881133B2 (en) * | 2003-11-11 | 2011-02-01 | Samsung Electronics Co., Ltd. | Method of managing a flash memory and the flash memory |
JP4237648B2 (ja) * | 2004-01-30 | 2009-03-11 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7466597B2 (en) * | 2004-09-09 | 2008-12-16 | Samsung Electronics Co., Ltd. | NAND flash memory device and copyback program method for same |
US7849381B2 (en) * | 2004-12-21 | 2010-12-07 | Sandisk Corporation | Method for copying data in reprogrammable non-volatile memory |
US7379368B2 (en) * | 2005-02-25 | 2008-05-27 | Frankfurt Gmbh, Llc | Method and system for reducing volatile DRAM power budget |
KR100626393B1 (ko) | 2005-04-07 | 2006-09-20 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 멀티-페이지 카피백 방법 |
KR100669352B1 (ko) * | 2005-09-07 | 2007-01-16 | 삼성전자주식회사 | 카피 백 프로그램 동작 동안에 에러 검출 및 데이터 리로딩동작을 수행할 수 있는 낸드 플래시 메모리 장치 |
KR101197556B1 (ko) * | 2006-01-09 | 2012-11-09 | 삼성전자주식회사 | 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드 |
JP4956230B2 (ja) * | 2006-04-10 | 2012-06-20 | 株式会社東芝 | メモリコントローラ |
JP4908083B2 (ja) * | 2006-06-30 | 2012-04-04 | 株式会社東芝 | メモリコントローラ |
JP5378664B2 (ja) * | 2006-08-28 | 2013-12-25 | 三星電子株式会社 | マルチ−ページコピーバック機能を有するフラッシュメモリー装置及びそのブロック置換方法 |
KR100755718B1 (ko) | 2006-09-04 | 2007-09-05 | 삼성전자주식회사 | 멀티 레벨 셀 플래시 메모리에서 런-타임 배드 블록 관리를위한 장치 및 방법 |
JP2008077810A (ja) * | 2006-09-25 | 2008-04-03 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP4655034B2 (ja) * | 2006-12-25 | 2011-03-23 | Tdk株式会社 | メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法 |
KR100882841B1 (ko) * | 2007-06-19 | 2009-02-10 | 삼성전자주식회사 | 읽기 디스터번스로 인한 비트 에러를 검출할 수 있는메모리 시스템 및 그것의 읽기 방법 |
KR100898673B1 (ko) * | 2007-08-08 | 2009-05-22 | 주식회사 하이닉스반도체 | 플래시 메모리 소자 및 그 동작 방법 |
US7822911B2 (en) * | 2007-08-15 | 2010-10-26 | Micron Technology, Inc. | Memory device and method with on-board cache system for facilitating interface with multiple processors, and computer system using same |
US8291174B2 (en) | 2007-08-15 | 2012-10-16 | Micron Technology, Inc. | Memory device and method having on-board address protection system for facilitating interface with multiple processors, and computer system using same |
US8055852B2 (en) | 2007-08-15 | 2011-11-08 | Micron Technology, Inc. | Memory device and method having on-board processing logic for facilitating interface with multiple processors, and computer system using same |
KR101425957B1 (ko) * | 2007-08-21 | 2014-08-06 | 삼성전자주식회사 | 이씨씨 제어 회로 및 그것을 포함하는 멀티채널 메모리시스템 |
US9582417B2 (en) * | 2007-08-30 | 2017-02-28 | Virident Systems, Llc | Memory apparatus and methods thereof for preventing read errors on weak pages in a non-volatile memory system |
US8443260B2 (en) | 2007-12-27 | 2013-05-14 | Sandisk Il Ltd. | Error correction in copy back memory operations |
US8751755B2 (en) | 2007-12-27 | 2014-06-10 | Sandisk Enterprise Ip Llc | Mass storage controller volatile memory containing metadata related to flash memory storage |
US9594679B2 (en) | 2008-05-01 | 2017-03-14 | Sandisk Il Ltd. | Flash cache flushing method and system |
JP2010009141A (ja) | 2008-06-24 | 2010-01-14 | Toshiba Corp | データ転送方法 |
TWI382422B (zh) * | 2008-07-11 | 2013-01-11 | Genesys Logic Inc | 根據錯誤更正碼更新快閃記憶體之資料頁面之儲存裝置與方法 |
KR101030146B1 (ko) * | 2008-08-29 | 2011-04-18 | 서울대학교산학협력단 | 페이지 버퍼를 쓰기 캐시로 이용하는 플래시 기반 저장 장치 및 이용 방법 |
US8566508B2 (en) | 2009-04-08 | 2013-10-22 | Google Inc. | RAID configuration in a flash memory data storage device |
US8447918B2 (en) * | 2009-04-08 | 2013-05-21 | Google Inc. | Garbage collection for failure prediction and repartitioning |
US8214700B2 (en) * | 2009-10-28 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
TWI417887B (zh) * | 2009-12-02 | 2013-12-01 | Via Tech Inc | 資料儲存系統與方法 |
US8365041B2 (en) * | 2010-03-17 | 2013-01-29 | Sandisk Enterprise Ip Llc | MLC self-raid flash data protection scheme |
US10026458B2 (en) | 2010-10-21 | 2018-07-17 | Micron Technology, Inc. | Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size |
US20120110244A1 (en) * | 2010-11-02 | 2012-05-03 | Micron Technology, Inc. | Copyback operations |
JP2012133843A (ja) * | 2010-12-21 | 2012-07-12 | Toshiba Corp | 半導体記憶装置 |
US8560922B2 (en) | 2011-03-04 | 2013-10-15 | International Business Machines Corporation | Bad block management for flash memory |
US8589775B2 (en) * | 2011-03-14 | 2013-11-19 | Infineon Technologies Ag | Error tolerant flip-flops |
US20120324156A1 (en) * | 2011-06-17 | 2012-12-20 | Naveen Muralimanohar | Method and system of organizing a heterogeneous memory architecture |
US8910020B2 (en) | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | Intelligent bit recovery for flash memory |
US8909982B2 (en) * | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | System and method for detecting copyback programming problems |
US9158621B2 (en) | 2011-08-29 | 2015-10-13 | Sandisk Technologies Inc. | System and method of copying data |
US9058289B2 (en) | 2011-11-07 | 2015-06-16 | Sandisk Enterprise Ip Llc | Soft information generation for memory systems |
US8924815B2 (en) | 2011-11-18 | 2014-12-30 | Sandisk Enterprise Ip Llc | Systems, methods and devices for decoding codewords having multiple parity segments |
US8954822B2 (en) | 2011-11-18 | 2015-02-10 | Sandisk Enterprise Ip Llc | Data encoder and decoder using memory-specific parity-check matrix |
US9048876B2 (en) | 2011-11-18 | 2015-06-02 | Sandisk Enterprise Ip Llc | Systems, methods and devices for multi-tiered error correction |
US9223649B2 (en) * | 2012-02-15 | 2015-12-29 | Sandisk Technologies Inc. | System and method of sending correction data to a buffer of a non-volatile memory |
US8625386B2 (en) * | 2012-03-22 | 2014-01-07 | Seiko Epson Corporation | Non-volatile memory device, circuit board, printing material container and printer |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US8996951B2 (en) | 2012-11-15 | 2015-03-31 | Elwha, Llc | Error correction with non-volatile memory on an integrated circuit |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9003264B1 (en) | 2012-12-31 | 2015-04-07 | Sandisk Enterprise Ip Llc | Systems, methods, and devices for multi-dimensional flash RAID data protection |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9092350B1 (en) | 2013-03-15 | 2015-07-28 | Sandisk Enterprise Ip Llc | Detection and handling of unbalanced errors in interleaved codewords |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
US9009576B1 (en) | 2013-03-15 | 2015-04-14 | Sandisk Enterprise Ip Llc | Adaptive LLR based on syndrome weight |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US9159437B2 (en) | 2013-06-11 | 2015-10-13 | Sandisk Enterprise IP LLC. | Device and method for resolving an LM flag issue |
US9043517B1 (en) | 2013-07-25 | 2015-05-26 | Sandisk Enterprise Ip Llc | Multipass programming in buffers implemented in non-volatile data storage systems |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9235509B1 (en) | 2013-08-26 | 2016-01-12 | Sandisk Enterprise Ip Llc | Write amplification reduction by delaying read access to data written during garbage collection |
US9442670B2 (en) | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
US9519577B2 (en) | 2013-09-03 | 2016-12-13 | Sandisk Technologies Llc | Method and system for migrating data between flash memory devices |
US9158349B2 (en) | 2013-10-04 | 2015-10-13 | Sandisk Enterprise Ip Llc | System and method for heat dissipation |
US9323637B2 (en) | 2013-10-07 | 2016-04-26 | Sandisk Enterprise Ip Llc | Power sequencing and data hardening architecture |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9280429B2 (en) | 2013-11-27 | 2016-03-08 | Sandisk Enterprise Ip Llc | Power fail latching based on monitoring multiple power supply voltages in a storage device |
US9122636B2 (en) | 2013-11-27 | 2015-09-01 | Sandisk Enterprise Ip Llc | Hard power fail architecture |
US9250676B2 (en) | 2013-11-29 | 2016-02-02 | Sandisk Enterprise Ip Llc | Power failure architecture and verification |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9092370B2 (en) | 2013-12-03 | 2015-07-28 | Sandisk Enterprise Ip Llc | Power failure tolerant cryptographic erase |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
US9129665B2 (en) | 2013-12-17 | 2015-09-08 | Sandisk Enterprise Ip Llc | Dynamic brownout adjustment in a storage device |
US9549457B2 (en) | 2014-02-12 | 2017-01-17 | Sandisk Technologies Llc | System and method for redirecting airflow across an electronic assembly |
US9497889B2 (en) | 2014-02-27 | 2016-11-15 | Sandisk Technologies Llc | Heat dissipation for substrate assemblies |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9485851B2 (en) | 2014-03-14 | 2016-11-01 | Sandisk Technologies Llc | Thermal tube assembly structures |
US9519319B2 (en) | 2014-03-14 | 2016-12-13 | Sandisk Technologies Llc | Self-supporting thermal tube structure for electronic assemblies |
US9348377B2 (en) | 2014-03-14 | 2016-05-24 | Sandisk Enterprise Ip Llc | Thermal isolation techniques |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US8891303B1 (en) | 2014-05-30 | 2014-11-18 | Sandisk Technologies Inc. | Method and system for dynamic word line based configuration of a three-dimensional memory device |
US9093160B1 (en) | 2014-05-30 | 2015-07-28 | Sandisk Technologies Inc. | Methods and systems for staggered memory operations |
US9645749B2 (en) | 2014-05-30 | 2017-05-09 | Sandisk Technologies Llc | Method and system for recharacterizing the storage density of a memory device or a portion thereof |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US9070481B1 (en) | 2014-05-30 | 2015-06-30 | Sandisk Technologies Inc. | Internal current measurement for age measurements |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US9478314B2 (en) * | 2014-09-15 | 2016-10-25 | Macronix International Co., Ltd. | Memory utilizing bundle-level status values and bundle status circuits |
KR102248207B1 (ko) | 2014-10-30 | 2021-05-06 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
KR102023121B1 (ko) * | 2014-10-31 | 2019-11-04 | 에스케이하이닉스 주식회사 | 에러를 보정하는 메모리 장치 및 그의 에러 보정 방법 |
KR102336458B1 (ko) * | 2015-07-30 | 2021-12-08 | 삼성전자주식회사 | 고속으로 결함 비트 라인을 검출하는 불휘발성 메모리 장치 및 그것의 테스트 시스템 |
US9619321B1 (en) * | 2015-10-08 | 2017-04-11 | Seagate Technology Llc | Internal copy-back with read-verify |
KR102511459B1 (ko) * | 2016-03-17 | 2023-03-17 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 동작 방법 |
CN106775454B (zh) * | 2016-11-21 | 2019-07-19 | 建荣半导体(深圳)有限公司 | 一种管理坏列地址的方法及其装置 |
US10853170B2 (en) * | 2018-09-06 | 2020-12-01 | Texas Instruments Incorporated | ECC protected storage |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52129334A (en) * | 1976-04-23 | 1977-10-29 | Nec Corp | Memor |
US4358848A (en) * | 1980-11-14 | 1982-11-09 | International Business Machines Corporation | Dual function ECC system with block check byte |
US4453251A (en) * | 1981-10-13 | 1984-06-05 | Burroughs Corporation | Error-correcting memory with low storage overhead and fast correction mechanism |
JPH05128882A (ja) * | 1991-11-06 | 1993-05-25 | Mitsubishi Electric Corp | データ処理装置 |
JPH05174496A (ja) * | 1991-12-25 | 1993-07-13 | Sony Corp | ディジタル記録装置のid信号処理装置 |
KR950003013B1 (ko) * | 1992-03-30 | 1995-03-29 | 삼성전자 주식회사 | 틀림정정회로를 가지는 이이피롬 |
US5532962A (en) * | 1992-05-20 | 1996-07-02 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5657332A (en) * | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5459742A (en) * | 1992-06-11 | 1995-10-17 | Quantum Corporation | Solid state disk memory using storage devices with defects |
US5754753A (en) * | 1992-06-11 | 1998-05-19 | Digital Equipment Corporation | Multiple-bit error correction in computer main memory |
US5343426A (en) * | 1992-06-11 | 1994-08-30 | Digital Equipment Corporation | Data formater/converter for use with solid-state disk memory using storage devices with defects |
JPH08153045A (ja) * | 1994-11-30 | 1996-06-11 | Nec Corp | メモリ制御回路 |
US5838614A (en) * | 1995-07-31 | 1998-11-17 | Lexar Microsystems, Inc. | Identification and verification of a sector within a block of mass storage flash memory |
KR0172366B1 (ko) * | 1995-11-10 | 1999-03-30 | 김광호 | 불휘발성 반도체 메모리 장치의 독출 및 프로그램 방법과 그 회로 |
EP0862762B1 (en) * | 1996-08-16 | 2002-10-09 | Tokyo Electron Device Limited | Semiconductor memory device having error detection and correction |
US5978952A (en) * | 1996-12-31 | 1999-11-02 | Intel Corporation | Time-distributed ECC scrubbing to correct memory errors |
JPH10302485A (ja) * | 1997-04-28 | 1998-11-13 | Hitachi Inf Technol:Kk | フラッシュ・メモリを有する情報処理装置 |
JP3173438B2 (ja) * | 1997-06-04 | 2001-06-04 | ソニー株式会社 | メモリカード及び装着装置 |
JPH10340575A (ja) * | 1997-06-04 | 1998-12-22 | Sony Corp | 外部記憶装置及びその制御装置、データ送受信装置 |
US6040997A (en) * | 1998-03-25 | 2000-03-21 | Lexar Media, Inc. | Flash memory leveling architecture having no external latch |
JP2001006379A (ja) * | 1999-06-16 | 2001-01-12 | Fujitsu Ltd | 複写、移動機能を有するフラッシュメモリ |
WO2001022232A1 (fr) * | 1999-09-17 | 2001-03-29 | Hitachi, Ltd. | Memoire dans laquelle le nombre de corrections d'erreurs est enregistre |
JP4165990B2 (ja) * | 1999-12-20 | 2008-10-15 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリへのデータの書き込み方法 |
US6728913B1 (en) * | 2000-02-25 | 2004-04-27 | Advanced Micro Devices, Inc. | Data recycling in memory |
US7356752B2 (en) * | 2000-03-14 | 2008-04-08 | Comtech Telecommunications Corp. | Enhanced turbo product codes |
US6266273B1 (en) * | 2000-08-21 | 2001-07-24 | Sandisk Corporation | Method and structure for reliable data copy operation for non-volatile memories |
US6941505B2 (en) * | 2000-09-12 | 2005-09-06 | Hitachi, Ltd. | Data processing system and data processing method |
JP2002351685A (ja) * | 2001-05-22 | 2002-12-06 | Sankyo Seiki Mfg Co Ltd | 不揮発性メモリのデータ更新方法及び制御装置 |
JP2003030993A (ja) * | 2001-07-17 | 2003-01-31 | Toshiba Corp | 半導体記憶装置 |
US6775728B2 (en) * | 2001-11-15 | 2004-08-10 | Intel Corporation | Method and system for concurrent handler execution in an SMI and PMI-based dispatch-execution framework |
JP3802411B2 (ja) * | 2001-12-20 | 2006-07-26 | 株式会社東芝 | 不揮発性半導体記憶装置のデータコピー方法 |
JP4236485B2 (ja) * | 2003-03-06 | 2009-03-11 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
-
2003
- 2003-04-03 KR KR1020030021114A patent/KR100543447B1/ko active IP Right Grant
-
2004
- 2004-03-29 JP JP2004095529A patent/JP2004311010A/ja active Pending
- 2004-03-30 EP EP04007598A patent/EP1465203B1/en not_active Expired - Lifetime
- 2004-03-30 DE DE602004003275T patent/DE602004003275T2/de not_active Expired - Lifetime
- 2004-04-02 US US10/817,061 patent/US7296128B2/en active Active
- 2004-04-05 CN CN2011100089100A patent/CN102034545A/zh active Pending
- 2004-04-05 CN CN201310047282.6A patent/CN103136068B/zh not_active Expired - Lifetime
- 2004-04-05 CN CN2004100477591A patent/CN1551244B/zh not_active Expired - Lifetime
-
2007
- 2007-10-18 US US11/874,821 patent/US20080163030A1/en not_active Abandoned
-
2012
- 2012-06-01 US US13/486,387 patent/US20120239866A1/en not_active Abandoned
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101361137B (zh) * | 2006-01-16 | 2011-06-22 | 汤姆森许可贸易公司 | 用于将高速输入数据记录到存储器器件矩阵中的方法和装置 |
CN101615420A (zh) * | 2008-06-26 | 2009-12-30 | 威刚科技股份有限公司 | 具数据修正功能的闪存储存装置 |
CN102576330A (zh) * | 2009-06-12 | 2012-07-11 | 提琴存储器公司 | 具有持久化无用单元收集机制的存储系统 |
CN102576330B (zh) * | 2009-06-12 | 2015-01-28 | 提琴存储器公司 | 具有持久化无用单元收集机制的存储系统 |
US10754769B2 (en) | 2009-06-12 | 2020-08-25 | Violin Systems Llc | Memory system having persistent garbage collection |
US8347180B2 (en) | 2009-11-12 | 2013-01-01 | Via Technologies, Inc. | Data storage system and method |
CN102117230B (zh) * | 2009-12-31 | 2013-01-09 | 群联电子股份有限公司 | 数据写入方法、闪存控制器与闪存储存装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1465203A1 (en) | 2004-10-06 |
DE602004003275D1 (de) | 2007-01-04 |
KR20040086923A (ko) | 2004-10-13 |
US20120239866A1 (en) | 2012-09-20 |
DE602004003275T2 (de) | 2007-05-31 |
US20040202034A1 (en) | 2004-10-14 |
JP2004311010A (ja) | 2004-11-04 |
CN103136068A (zh) | 2013-06-05 |
US7296128B2 (en) | 2007-11-13 |
CN1551244B (zh) | 2013-05-01 |
EP1465203B1 (en) | 2006-11-22 |
CN103136068B (zh) | 2017-05-31 |
CN102034545A (zh) | 2011-04-27 |
KR100543447B1 (ko) | 2006-01-23 |
US20080163030A1 (en) | 2008-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1551244A (zh) | 用于页复制操作的可纠错的非易失性存储器及其方法 | |
US9116796B2 (en) | Key-value addressed storage drive using NAND flash based content addressable memory | |
US9117530B2 (en) | Preserving data from adjacent word lines while programming binary non-volatile storage elements | |
US8732538B2 (en) | Programmable data storage management | |
CN102318007B (zh) | 用于对一页内和多页间的数据进行芯片上伪随机化的非易失性存储器和方法 | |
US7573754B2 (en) | Nonvolatile memory, apparatus and method for determining data validity of the same | |
US7486530B2 (en) | Method of comparison between cache and data register for non-volatile memory | |
US20090013233A1 (en) | Error recovery storage along a nand-flash string | |
TWI545572B (zh) | 記憶胞程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI451249B (zh) | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 | |
US20220415403A1 (en) | Enhanced Word Line Stripe Erase Abort Detection | |
TWI521346B (zh) | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 | |
CN105513635B (zh) | 编程方法、存储器存储装置及存储器控制电路单元 | |
TWI774356B (zh) | 記憶體元件、具有記憶體元件的系統及用於操作記憶體元件的方法 | |
CN113168883B (zh) | 具有使用冗余库的故障主库修复的存储器器件 | |
JP2008102693A (ja) | メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
TWI805450B (zh) | 借助侵害位元資訊來進行記憶體裝置的存取控制的方法、記憶體裝置以及記憶體裝置的控制器 | |
KR20220081610A (ko) | 컨트롤러 및 상기 컨트롤러를 포함하는 메모리 시스템 | |
JP2007179480A (ja) | メモリコントローラおよびフラッシュメモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term |
Granted publication date: 20130501 |
|
CX01 | Expiry of patent term |