CN1437721A - 多数据区段同时编程和在其它指定块中存储物理块特征的闪速eeprom系统 - Google Patents

多数据区段同时编程和在其它指定块中存储物理块特征的闪速eeprom系统 Download PDF

Info

Publication number
CN1437721A
CN1437721A CN01806804A CN01806804A CN1437721A CN 1437721 A CN1437721 A CN 1437721A CN 01806804 A CN01806804 A CN 01806804A CN 01806804 A CN01806804 A CN 01806804A CN 1437721 A CN1437721 A CN 1437721A
Authority
CN
China
Prior art keywords
data
user data
memory
memory cell
piece
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
Application number
CN01806804A
Other languages
English (en)
Other versions
CN100458674C (zh
Inventor
凯文·M·康利
约翰·S·曼根
杰弗里·G·克雷格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Delphi International Operations Luxembourg SARL
Original Assignee
SanDisk Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24010780&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN1437721(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of CN1437721A publication Critical patent/CN1437721A/zh
Application granted granted Critical
Publication of CN100458674C publication Critical patent/CN100458674C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/107Programming all cells in an array, sector or block to the same state prior to flash erasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/14Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory

Abstract

一种非易失性的存储器系统,由浮点门存储器单元形成,这些单元安排在块中,块是可以一起擦除的最小的存储器单元单位。该系统包括许多特性,它们可以各自实现,也能够以多种合作的组合来实现。一种特性是在分离的块中存储众多单元块的特征,用户数据就是存放在这些单元中。按照另一种特性,用户数据的多个区段由交替流动的数据字节片从区段一次存到多个存储器块。流中的数据字节可以移动,以避免存储器中有缺陷的位置,比如坏列。对于具有多个存储器集成电路芯片的存储器系统,再另一种特性提供了单一的系统记录,它包括每一个芯片的容量和在芯片之内为用户数据块分配的连续逻辑地址范围,当寻址到某块时,存储器控制器要访问这些芯片,在存储器芯片具有不同的容量时,这就使制造存储器系统更加容易。

Description

多数据区段同时编程和在其它指定块中 存储物理块特征的闪速EEPROM系统
技术领域
本发明涉及半导体存储器系统,具体地说,涉及非易失性的存储器系统,已经应用于闪速可电擦除可编程只读存储器(EEPROM)。
背景技术
闪速EEPROM系统正在应用于许多方面,尤其是封装在封闭卡中,该卡能够可拆卸地连接到一个主机系统。当前的商业存储卡格式包括个人计算机存储卡国际协会(PCMCIA)、CompactFlash(CF)、多媒体卡(MMC)和Secure Digital(SD)的格式。这些卡的一个供应商是SanDisk公司——本申请的受让人。其中使用了这种卡的主机系统包括个人计算机、笔记本计算机、手持计算设备、照相机、音频重现设备等等。闪速EEPROM系统也用于嵌入主机系统的大容量存储器。
这种非易失性的存储器系统包括浮点门存储器单元的阵列和系统控制器。该控制器管理与主机系统的通信和存储器单元阵列存放和检索用户数据的操作。存储器单元组成若干单元块,一个单元块就是可同时擦除单元的最小的组。在一个或多个单元块写入数据之前,要先擦除这些单元块。通常用户数据在主机和存储器阵列之间是以区段的形式传递。用户数据的一个区段可以是便于处理的任何数量,最好是小于存储器块的容量,往往等于标准磁盘驱动器的扇区大小——512字节。在一个商业体系结构中,存储器系统块的大小定为存放一个区段的用户数据加日常数据,日常数据的信息包括存放在本块中用户数据的纠错码(ECC)、本块的使用历史、存储器单元块的故障和其它物理信息等等。在以下转让给SanDisk公司的美国专利和待批准的申请中,介绍了这种类型的非易失性存储器系统的多种实现方案,其中每一个都在这里全文引用作为参考:5,172,338、5,602,987、5,315,541、5,200,959、5,270,979、5,428,621、5,663,901、5,532,962、5,430,859和5,712,180号专利,以及1997年8月7日提交的序列号08/910,947和1999年6月30提交的序列号09/343,328申请。另一种类型的非易失性存储器系统使用较大的存储器单元块规模,能够存放用户数据的多个区段。
存储器单元阵列的一种体系结构,由存储器单元的一排或两排方便地形成了一块,这些单元在一个子阵列或单元的其它单位之内,共享一个公共的擦除门。这里全文引用的、SanDisk公司的5,677,872号和5,712,179号美国专利给出了这种体系结构的实例。虽然当前最普通的是在每个浮点门单元中存放一位数据,这样只须规定两种设定的阈值电平,而趋势却是通过建立多于两种的浮点门晶体管阈值范围,在每个单元中存放多于一位数据。目前已经有了每个浮点门存放两位数据(四种阈值电平范围或者说状态)的存储器系统,可以预期每个单元三位(八种阈值电平范围或者说状态)和每个单元四位(十六种阈值电平范围)会是未来的系统。当然,随着每个单元中存放的位数上升,存放一个数据区段所需要的存储器单元数目下降。这个趋势结合着由单元结构和一般半导体处理的改善引起的阵列扩大,在一排单元的一个片段中形成一个存储器单元块也是切实可行的。也可以形成块结构,以便在两种状态(每单元一位数据)或在某些多种比如四种状态(每单元两位数据)中,选择存储器单元中每一个的操作,正如SanDisk公司的5,930,167号美国专利中介绍的,在这里全文引用它作为参考。
由于把数据编入浮点门存储器单元可能要耗费相当多的时间,所以一排中的大量存储器单元通常同时编程。但是增大这种并行性导致电源需求增大,以及邻近单元电荷的潜在干扰和它们之间的相互作用。这里全文引用的SanDisk公司的5,890,192号美国专利介绍了一种系统,它通过同时把多个字节片的数据编进位于不同存储器操作单元单位(子阵列)的不同单元块中,使这些效应达到最小。
发明内容
本发明有几个不同的方面对固态存储器系统提供了改进,包括以上介绍的技术。本发明这些方面中的每一个都可以单独实现,也能够以多种组合来实现,其中主要的方面简要地归纳在以下段落中。
通过每次交替地使数据从多个区段中的一个流入阵列,直到为多个数据区段中的每一个累积了大量的数据,然后这些数据同时分别存入存储器的不同单位中的对应块中,这样就把多个用户数据区段编入了类似数目的存储器块中,这些块位于不同的单位或者说子阵列中。这样就增加了可能并行编程的存储器单元的数目,而没有不利的效应。
在编程和写入产生用户数据的同一存储器块期间,控制器可以从用户数据流产生纠错码(ECC)或其他类型的冗余码。然后,从存储器块读出数据区段时,控制器评价该冗余码。通过为同时编程的用户数据区段的每一个分别提供一个存储单元,在其中暂时存放产生的中间结果,可使用一种单一的冗余码生成电路,即使当数据流在多个区段的大数据块之间交替时也不例外。
为了这个目的,在阵列中提供的其它块中把各个块的条件、特征、状态等等日常数据存放在一起。每个日常数据记录可能包括以下情况:本块已经进行了多少次编程和擦除、本块编程和/或擦除所用的电压电平、本块是否有缺陷等等。一组块专门用于存放这种记录。大量的这种记录存放在这些日常块的每一个之中。当访问一个特定的用户数据块,以进行编程、读取或擦除中的一项或全部操作时,首先读出这个用户数据块的日常记录,其信息用于访问该块。通过把一块的日常数据存放在该块之外,每次用户数据重写入该块时,避免了日常数据的频繁重写。当访问该块以读写用户数据时,这样也减少了访问和读取块日常数据所需的时间。除此以外,以这种方式存放的大量日常记录只需要一个ECC或其它的冗余码。
来自许多日常块的记录,可以由控制器读入其随机访问存储器的可用部分以便于使用,使其记录在一段时间内没有被访问的日常块被更活跃的日常块所取代,如类似于缓存的方式。当存储器的控制器从主机系统收到要传递的一个起始地址和数据区段的数目时,为了访问该块的日常记录,计算要访问的第一个存储器块的逻辑地址,但是随后就按顺序访问其它日常记录而不必再计算它们每一个的地址。这样就加快了访问多个块的速度。存储器中缺陷的信息,比如在制造过程期间发现的缺陷,可能也被存放在专门为这个目的而单独分配的块中并被控制器使用,从而在存储器系统中可以包括不完美的存储器电路芯片,而不是抛弃它们。当单一的缺陷记录会影响许多块时,这尤其是一种优点。一种这样的缺陷是一个坏列,它影响众多的块。许多坏列指针(BCP)可以存放在一起,作为一个表,放在部分或完全为这种日常数据分配的一个或多个区段中。这一步完成之后,当在一个区段之内各个数据字节的相对物理位置与BCP表的对比表明,该数据字节正指向沿着坏列的至少一个存储器单元时,就移动用户数据流写到存储器的物理位置。在读取时执行相反的操作,由于坏列而在写入时跳过的存储器单元,从其中读出的数据位被忽略。
按照它们能够擦除和再次编程的次数,由于闪速EEPROM单元具有其本质决定的有限寿命,通常谨慎的做法是包括一种或多种特性,均衡多个存储器块由于多次重写同样的块造成的损耗。一种这样的技术是时常变更数字数据与指定来表示该数字数据的存储器状态之间的对应关系。在目前的存储器系统中要做到这一点,各个数据区段起始字节的第一位或前几位——在此定为术语旗标字节——用于指定这种对应关系。这些位在写用户数据时指定,在数据流传递到存储器阵列的同时,起始几位之后的所有数据都按照其数值进行转换。在读出一个数据区段时,这些起始位被读出,并且在数据以流的形式从存储器中读出时,用于把存放在该区段所有随后的数据转换回其原始数值。
当存储器系统是由存储器单元的多个阵列形成时,比如使用两个或更多集成电路芯片,每个都包括这样一个阵列,把该系统中每个存储器阵列的有关信息累积起来,然后把该信息在一个方便的位置——比如一个阵列的一块中——存为单一的记录,可简化该系统的制造和使用。这样做使不同规模和/或操作特征的存储器阵列组合成单一的系统容易多了。一个这种记录合并了在每个存储器芯片中可用的用户数据块的数目,这种方式能够建立系统中所有阵列块的连续逻辑块地址。在存储器的一个位置为进行读写操作而访问时,那么在把逻辑块地址转换为一个存储器阵列的物理块地址的过程中,存储器控制器要访问合并记录。
由控制器从一个存储器阵列读取信息,将该信息合并到单一的记录,然后把该记录写入一个存储器阵列的指定块中,就能够在制造时自动产生和存放这样一个合并记录。当前,存储器控制器通常配备在另一个单独的集成电路芯片上,有一个或多个存储器单元阵列芯片连接到该控制器。根据技术进步的持续发展可以预期,存储器阵列也可以包括在控制器芯片上。当存储器的容量不满足一个系统的需要时,那么就使用一个或多个包含更多存储器阵列的附加电路芯片。当一个系统中包括两个或更多物理上分开的阵列时,那么产生合并记录会简化控制器对跨多个阵列的块地址的操作。
用于形成一个系统的多种存储器阵列电路芯片的其它特征,比如最优电压范围、计时、所用脉冲的数目、电压泵源的特征、日常块的位置等等,可以变化而不产生不利的效应。这些操作特征也可以在单一的系统文件中列成表格,以便微控制器访问,或者更方便的是,可以操作微控制器从各个存储器芯片首先访问必需的这类特征,然后再访问该芯片以读写数据。无论在哪种情况下,这种方式都允许具有不同特征的存储器芯片形成存储器系统,其性能没有任何降低。由于一个系统中的所有的存储器阵列芯片不必选定为相同的,就简化了非易失性存储器系统的制造。
本发明另外的方面、特性和优点包括在以下介绍的特定实施例中,这些介绍应当与附图相结合。
附图简要说明
图1是一个非易失性存储器系统实例的示意性框图,其中可以实现本发明的多个方面;
图2是图1中系统的一个存储器单元阵列单位更详细的示意图,带有相关联的逻辑电路和缓冲区;
图3A和图3B分别展示了图1中系统的各个存储器单元的四状态和二状态操作;
图4是图1中系统的一个存储器块中存放的数据内容和结构的实例;
图5展示了图1中存储器系统之内一次编程期间的多个数据区段的数据流传递;
图6A是图1中系统的电路的示意性框图,它使用了坏列指针(BCP)并产生一个纠错码(ECC)或者其它数据冗余码,使多区段数据流传递到存储器单元阵列;
图6B是图6A的ECC生成块的示意图;
图6C是图6A的BCP处理块的示意图;
图7展示了从多个区段向存储器单元阵列传递数据的方式;
图8展示了块日常数据记录的一个数据结构实例;
图9显示了图8中日常数据记录对于良好的存储器单元块的一个实例;
图10显示了图8中日常数据记录对于有缺陷的存储器单元块的一个实例;
图11展示了保存图1的系统中存储器单元阵列的缺陷记录的保留块的数据结构实例,也就是坏列的位置;
图12显示了图1的存储器阵列物理划分成存储器单元的单位和块,以及指定要存放在其中的数据的实例;
图13示意性地展示了一种方法,形成图1的系统中多个存储器集成电路芯片特征的合并记录;
图14显示了一个实例,以图13中展示的方式形成的合并记录;
图15展示了图4中数据区段的旗标字节的位域实例;
图16示意性地显示了在数据写入存储器时,图15中旗标字节位域的生成和使用;以及
图17示意性地显示了从存储器读出数据时,图15中旗标字节位域的使用。
具体实施方式
图1提供了与本发明有关的非易失性存储器系统的主要部件的示意图。控制器11通过连线13与主机系统进行通信。展示为占据着一个集成电路芯片的控制器11,通过连线15与一个或多个非易失性存储器单元阵列通信,图中展示了17、19和21三个阵列,每一个阵列通常是在一个或多个分开的集成电路上形成的。展示的控制器通常包含在单一的集成电路芯片上,无论是没有闪速EEPROM阵列(显示的实例)还是带有存储器单元阵列。即使一个存储器单元阵列包括在控制器电路芯片上,系统中往往还要包括另外的一个或多个芯片,其中每一个只包含一个存储器阵列和相关联的电路。
在这个实例中,用户数据通过连线15在控制器11和多个存储器阵列17、19和21之间传递。存储器阵列由控制器分别寻址。具体地说,连线15之内的数据总线可以为一个字节宽。图1中所示的存储器系统可以作为一部分嵌入一个主机系统或者封装在一片卡中,比如服从上述卡标准之一的某种卡。在某种卡的情况下,连线13终止于外部接线端,与主机系统中的一个扩展槽匹配。尽管使用一个控制器芯片和多个存储器芯片是典型情况,趋势当然是通过合并其电路在这种系统中使用更少的分离芯片。展示的存储器芯片之一的实例容量是256兆位,因此只需要两个这种存储器芯片,加上控制器芯片,以形成一个具有64兆字节数据容量的非易失性存储器系统。使用单个更小容量的存储器芯片会使存储器系统的容量更小,8兆字节的系统是市场欢迎的实例。相反,在一个系统中使用更高的位存储密度和/或使用更多的存储器阵列芯片会使存储器的容量更大。这种存储器系统高至1.3吉字节,而且更大的也是可能的。
控制器11包括一个微处理器或者说微控制器23,通过控制器接口逻辑电路25连接到带有外部组件的内部存储器和接口。程序存储器27存放着由微控制器23访问的固件和软件,用于控制存储器系统的操作,从连接的存储器阵列读出数据并把该数据发送到主机,从主机向存储器芯片写入数据,以及执行为数众多的其它监视和控制功能。存储器27可以是一种易失的可重编程的随机访问存储器(RAM)、一种不可重编程的非易失性存储器(ROM)、一种可编程一次的存储器(OTP)或者一种可重编程的闪速EEPROM系统。如果存储器27是可重编程的,该控制器就能够配置为允许主机系统对它编程。随机访问存储器(RAM)29用于存放在读写操作期间访问非易失性存储器时读取的数据和其它数据。
逻辑电路31为主机通信连线13提供接口,而另一个逻辑电路33通过连线15为存储器阵列提供接口。另一个存储器35用作缓冲区,暂时存放主机系统和非易失性存储器之间传递的用户数据。控制器中的这些存储器通常是易失性的,由于带有高效控制器访问所需的快速访问和其他特征的存储器具有这种特征,并且可以物理地合并到单一的存储器中。一个专用的电路36访问正在传递的用户数据流并把虚字节插入数据流中,以避免把有效的用户数据写入存储器单元的坏列中。一个专用的处理电路37也访问正在控制器接口25和闪存接口33之间传递的用户数据流,以便根据该用户数据产生一个ECC,或者其它类型的冗余码。当用户数据正在传递到非易失性存储器中时,产生的ECC附加在用户数据上并同时写入非易失性存储器的相同物理块,作为该用户数据同一区段的一部分。下面将针对图6A至图6C进一步介绍电路36和37。
非易失性存储器芯片17包括一个逻辑电路39,用于通过连线15为控制器提供接口。为了简化解释没有显示存储器芯片另外的部件。逻辑电路39的目的是在分离的总线和控制连线中产生信号。在连线41中提供多种控制信号,而且通过接口39也控制着存储器阵列电路的电源供应43。数据总线45载有正在编入非易失性存储器或者正在从非易失性存储器读出的用户数据,地址总线47载有正在访问的存储器部位的地址,以便读取用户数据、写入用户数据或者擦除存储器单元块。
单个非易失性存储器芯片的浮点门存储器单元阵列本身划分为许多单位,每一个单位都有各自的支持电路组,用于寻址、解码、读取等等。在这个实例中,展示了八个这种阵列单位0-7,记为参考号51-58。作为一个实例,单个芯片上的存储器阵列物理上划分为象限,每个象限包括两个单位,它们部分地连接在一起,共享一个公共的字线解码电路(Y解码),比如存储器单元单位4(55)和单位5(56)之间的Y解码器61。这种存储器体系结构类似于上述的5,890,192号美国专利中的介绍,只不过有八个单位,而不是该专利中展示的四个单位(象限)。
每个阵列单位有一个位线解码器(X解码),比如连接到阵列单位5(56)的X解码器63,通过它读取用户数据。图2是一张扩展图,展示了阵列单位5及其对应于地址总线47上地址的解码器61和63。连接到解码器63的是电路65,它包含着用于读出数据的读出放大器、用于存放正在编程数据的寄存器、在编程期间用于确定单位5中被寻址的单元是否已经被编程为所需状态和在读取期间用于确定正在读取单元的状态的比较器以及执行这些功能的控制逻辑电路。连接了两个寄存器67和69,以便在读取(从67到69)和编程(从69到67)期间在它们之间并行地传递用户数据。在写入期间,用户数据从数据总线45和寄存器69传递,每次一个字节,而在读取期间是从另一个方向传递。其它七个阵列单位中的每一个都类似地连接。
具体参考图2,对于阵列单位5,一般地介绍了一个实例存储器单元阵列的一部分。单元的每一行具有其各自的传导字线(WL),通过解码器61连接到相邻阵列单位4的对应字线。例如,由浮点门存储器单元71-75和77-81组成的两个局部行70和76中的每一个,都有其各自对应的字线83和85。字线连接到单一行中每一个单元的门上,连接着的门为存储器单元中的选择门,该单元具有分裂通道类型的结构。可以使用其它存储器单元结构来代替,每一种结构都具有至少一个浮点电子门,门上存放电荷的电平是该单元状态的某种度量。在每两行存储器单元之间配备了一条传导擦除线,线87连接着行70和行76中每一行的每一个存储器单元中的擦除门。另外的结构对分离的擦除门不擦除浮点门,而是擦除到基底的一个区域,比如单元源扩散。位线(BL)在与字线正交的方向延伸,阵列单元的每一列之间有一条位线,并且连接到解码器63。每一条位线都连接到该位线两侧各列每一个单元的源和漏扩散。上面背景技术一节列出的美国专利中介绍了适当的存储器阵列的详细实例,不过在本发明的实施中同样可以采用其它现有的和提议的结构。
在正在介绍的阵列实例中,当按照四个规定的阈值电压状态操作每个浮点门,以使每个浮点门存放两位数据时,由围绕一个擦除门的每两行形成一个单元块,比如(图2中)擦除门87两侧阵列单位5的行70和行76。在图3A中对这一点进行了更一般的展示,其中行70和行76形成的块包含了来自主机的一个区段的数据,加上该数据有关的某些日常信息。在一个非常具体的实例中,各个块的规模具有528字节的容量,以便存放一个512字节的数据区段、该数据有关的某些日常信息并提供某些备用的字节,如图4所示。如果每个浮点门能够存放两位数据,如图3A中所示的情况,每块就包含264个浮点门,或者说在该块的两行的每一行中是132个。如果存储器单元的结构在源和漏扩散之间形成的每个单元具有一个浮点门,那么每个单位的每一行中就包括132个单元。但是如果这些单元每个具有两个浮点门,那么每一行中只需要66个单元。
如果不是每个浮点门存放两位数据,而是每个浮点门只存放一位数据,每个可操作的块就需要两倍数目的单元。实际上,可以通过图3B中所示的方式使每行的长度加倍来实现这一点。使行70和76延伸以包括与单位5配对的、相邻的单位4的对应行70’和76’。单位4的行70’的字线通过解码器61连接到单位5的行70的字线,行76’的字线连接到单位5的行76。当对一个给定行的字线寻址时,该字线在相邻的单位4和单位5中的两个部件都在一起寻址。用于行70和76的公共擦除门也通过解码器61连接到用于行70’和76’的公共擦除门,以便使行70、70’、76和76’中单元的扩大块形成的所有单元一起擦除。所以,当仅仅以两个阈值状态操作存储器阵列浮点门时,正在介绍的、该阵列的八个单位就减少到四个操作象限,每一个都是由相邻的单位对(0-1、2-3、4-5和6-7)所形成。如果为了在每个单位的电路65中进行程序验证和读取,也设定了一个恰当的参考阈值电平组,这样就允许图1中的存储器阵列既能以二状态操作,又能以四状态操作,按照制造时设定的一个命令而定。
作为图3B中所示二状态配置的替代方案,在单个单位之内的所有行可以形成单一的块,比如相互连续的四行。
在控制器缓冲区存储器35(图1)和寻址的阵列存储器单元块之间的数据传递最好以字节片方式进行。在一个具体的实例中,每个字节片包含66字节的数据。一个字节片的数据并行地一次编程到寻址块中的单元。当以四状态操作时,数据91-94的字节片存放在典型块的一行中(图3A),数据97-100的字节片存放该块单元的第二行中。当存储器以四状态操作时,数据91’-94’的各个字节片存放在单元的延伸行之一中(图3B),字节片97’-100’存放在延伸跨越两个相邻单位的单元扩展块的另一行中。
不是在缓冲区存储器35和存储器阵列之一之间并行地传递字节片的用户数据,在连线15之内设计了一条数据总线,只并行地载有几位数据,在一个具体的实例中是一位。这样就在该系统中减少了连线15需要的数目,更重要的是,减少了需要在每个存储器阵列芯片上包括的用户数据焊点的数目。一次传递一个字节,因此每个字节片需要66次这样的传递。如果对阵列单位5之内的一个块进行寻址,通过接口电路33和39,这些字节宽的用户数据传递延伸到缓冲区存储器35和存储器单元阵列的主寄存器69之间,如果对其它单位之内的一个块进行寻址,则传递到与另一个单位相关联的另一个阵列主寄存器。
在编程期间从主机系统收到的用户数据区段的字节依次传递到存储器阵列的主寄存器中,一次一个字节,直到累积了一个字节片的数据,然后这一个字节片并行地传递到从寄存器(比如阵列单位5的寄存器67)。当这一个字节片传递出主寄存器,进入从寄存器之后,区段中下一个字节片的字节就传递进主寄存器。字节片是并行地传递,每次一块,由从寄存器到编程和验证电路(阵列单位5的电路65),使相关联阵列单位被寻址块的许多存储器单元编程到其对应的目标阈值电平。把一个字节片加载进主寄存器的操作最好与编程和验证电路由从寄存器对前一个字节片数据的编程相重叠。
在读取期间,该过程是相反的,代表字节片数据的存储器单元阈值从阵列单位之一每次一个地读入其读取电路(阵列单位5的电路65),存放的数值在其中转换为数据位。然后,这些连续的字节片数据每次一个字节片地传递到该阵列单位的从寄存器中,再并行地传递到主寄存器中,接着通过连线15每次一个字节地传递到控制器的数据缓冲区35,以便传递到主机系统。当一个字节片被传递出主寄存器到达控制器时,一个新的数据字节片就被从读取电路传递进从寄存器。
不是完成一个区段的数据字节片传递后再连接另一个,最好是在缓冲区存储器35和不同的阵列单位0-7之间交替地传递多个区段的字节片。这种情况展示在图5中,其中来自四个区段的数据传递到一个公共的数据流101。存储器阵列单位A、B、C和D可能是图1中系统的阵列单位0-7中的任何四个。数据字节片A0+、B0+、C0+和D0+显示为在数据流101中,从缓冲区存储器35中的四个对应的数据区段103、105、107和109传递到四个不同的存储器单位A-D。存储器系统当然能够另外设计为一起传递更少或者更多的数据区段到相同数目的存储器单元单位。为了展示简便起见,图5中所示的每个区段只包含四个字节片(例如,区段103是字节片A0、A1、A2和A3),以上已经介绍了图1中的系统对每个区段传递八个字节片。操作的原理是相同的。
如图5所示,在连线15的数据总线中传递的数据流101,是由以下的连续字节形成的:缓冲区中数据区段103的第一个字节片A0,接着是区段105的第一个字节片B0,然后是区段107的第一个字节片C0,然后是区段109的第一个字节片D0。这些字节片最初存放在要向其中写入数据的相应单位的主寄存器中,再并行地传递到从寄存器,然后并行地写入四个存储器单元单位A-D的对应块111、113、115和117。所有的字节片A0、B0、C0和D0都在同时编入相应的存储器单位A-D,接着是字节片A1、B1、C1和D1,依此类推。写入数据字节片的块或者共享公共的字线119,或者在被寻址块的字线上施加着相同的电压。初始的数据字节片通过寄存器传递并编入单位后,随后四个数据区段的字节片A1、B1、C1和D1被传递到这些单位的寄存器。在数据流101中,接着是来自数据区段103、105、107和109中每一个的另一个字节片,依此类推,直到缓冲区中的四个数据区段的所有字节片都编入存储器单位A-D。
这种编程技术具有的一个优点是,用户数据的多个字节片可以同时编入单一芯片上存储器的不同单位中,或者也可以是编入分布在两个或更多存储器芯片的不同单位中。这种技术特别适用于同时把多个数据区段编入一个单位的一个公共块,因为被图5中技术编程的单元相互之间在物理上和电学上分离得更远。在不要改变的浮点门上,这种分离减少了电荷干扰的意外。它也展开了芯片上的电源供应需求。图5中的技术对位置连续的存储器单元形成的存储器块进行操作,也特别适用于在跨越多个存储器单位的片段中规定存储器块,以便同时对该块的多个片段进行编程,而不造成干扰和电源需求增加。
介绍图5的技术时假设,多个数据区段的全部——在这个实例中是四个——都完全写入控制器缓冲区35,再开始把它们的数据以字节片的形式传递到闪存。但是如果所有四个数据区段同时写入缓冲区存储器35,这种传递就可以更早地开始,如同控制器11和主机系统之间进行的更高的数据传递速率一样。另外,以时移方式把四个数据区段103、105、107和109加载进缓冲区存储器35,比如在数据字节片A0已经写入之后正在读入数据流101时,从区段105加载字节片B0,并且以此对待数据区段107和109,还可以包括某些附加的并行化。然后,这些数据区段以加载这种数据一个字节片所需的时移,加载进缓冲区35。那么,在流101之内产生数据字节片只需要等待每个数据区段的第一个字节片加载进缓冲区35。
图6A是一个电路示意性框图,该电路可以作为一部分而包括在图1中存储器系统的控制器11中,放在编程和读取时接口25和33之间的用户数据传递流的路径上。这些电路参与执行图5中介绍的方法,也从被编程的数据产生ECC并把它插入数据流(ECC生成37)以及利用BCP来避免用户数据写入存储器单元的坏列中(BCP处理36)。微控制器23以预定的顺序,每次一个字节地对缓冲区存储器109寻址。这个顺序由电路104和106改变,以响应连线108中的信号,它表示闪存之内包括坏列的一个字节地址。多路转接器121用于每次提供来自区段A、B、C或D之一的数据字节,以响应连线123中的控制信号,它作为另一个多路转接器125的一个输入。存放在缓冲区35中数据区段的数据字节片,最好以上面图5中介绍的方式读出。控制信号123使多路转接器121按顺序从一个数据区段转向下一个,每次从缓冲区35读出一个字节片规模的若干数据字节。
多路转接器121输出端的用户数据流作为一个输入供应给多路转接器125。多路转接器125一般让来自连线114的数据流通过其输出端,到达另一个多路转接器112的输入端。一个例外是当一个区段的所有用户数据字节都已经流出缓冲区35时,这时包含着用户数据区段ECC码的最终字节序列,通过连线116加在用户数据的尾部。多路转接器125的输出提供了字节宽的用户数据流和数据的日常信息,以便写入非易失性存储器的物理块中。
用户数据流一般每次一个字节地通过多路转接器112到达闪存。这一点的一个例外是当连线108中的BCP发现信号活化时,它表示用户数据的这个字节正在指向闪存中包括坏列的位置。在这种情况下,应用于缓冲区35的地址不是按照微控制器23增加,而是把寄存器110中包含的填充字节插入数据流中,取代用户数据的通常字节。来自缓冲区35的、用户数据的下一个字节被延迟,直到BCP发现信号非活化的下一个传递周期。寄存器110之内填充字节的各位可以由微控制器23写入。多路转接器112的输出提供了字节宽的用户数据流和数据的日常信息,以便写入非易失性存储器的物理块中,以及为了避免坏列效应的填充字节。没有图6A中的电路,或者只有BCP处理36或ECC生成37之一而非两者都有,也能够运行正在介绍的存储器系统,但是展示的两种功能最好都包括。
参考图6B,其中给出了图6A中ECC生成器37的附加细节。即使四个数据区段在一个字节宽的数据流中从多路转接器112的输出交替传递到单一ECC生成电路127,ECC生成器37能够分别为每个数据区段产生一个ECC,把产生的代码附加在每个数据区段的尾部最后一个字节片中,并发送到非易失性存储器阵列进行存储。做到这一点,是对每次发送到存储器阵列的、四个数据区段中的每一个,使用分离的寄存器133、134、135和136。由信号分离器131或某种其它的有效开关逻辑电路,在这些寄存器之一中存放生成的结果。同样,这些寄存器中适当的一个,其内容通过多路转接器139连接到ECC生成电路127作为一个输入。在数据的每个字节从缓冲区35输入到ECC生成电路127之后,该电路对存放在寄存器133-136中对应的一个内的、相同的对应数据区段A、B、C或D,使用ECC生成的一个中间结果,以及数据的新字节,产生新的中间结果,送回同一个寄存器存放。寄存器的这种使用受到其输入信号分离器131和输出多路转接器139的控制,它们又是由连线123中的控制信号导致的,在寄存器之间按顺序步进,与数据选择多路转接器121同步。生成电路127执行某种标准的ECC算法,比如里德-索罗门编码。
当BCP处理把填充字节插入数据流中时,为了使ECC生成器127暂停,连线108中的BCP发现信号活化,并且连线116中的一个信号表明多路转接器121输出的数据有效,二者的结合使生成器127禁用。逻辑电路138结合信号108和116,以便为ECC生成器127产生一个禁用信号。
ECC生成器已经收到存放的数据区段的最后一个字节之后,多路转接器125响应连线129中的控制信号,从接收多路转接器121的输入转向接收ECC生成电路127的结果,把最后的结果插入数据流的最后一个字节片。然后ECC就与产生它的用户数据区段存放在存储器阵列的同一块中。对一组四个区段中的每一个,都产生ECC并插入数据流之后,连线141中的一个信号使寄存器133-136复位。
参考图6C,其中给出了BCP处理36的附加细节。对于一个具体时间正在编程的每个存储器区段的许多坏列指针(BCP),由微控制器23从闪存的一个保留块加载到寄存器118(后面对于图11还要介绍)。为(图5中)数据流101指向的存储器单位中的每一个,存放了四个BCP0-3。也就是,为这四个单位中每一个的所有四个BCP0-3,都是由微控制器23从保留块写入寄存器118的四个面(组),每个组具有四个寄存器。图6C中所示的寄存器118的每一个面包含一个不同单位的BCP0-3。连线123中的控制信号在这些寄存器面之间切换,以指定当前在通过多路转接器121来自缓冲区35的数据流中的数据字节片所在单位的BCP。多路转接器120把寄存器数值中的一个输出到比较器132的一个输入端,其输出是包含着BCP发现信号的连线108。当前数据流要写入的单位中的每一个,也包括四个寄存器122之一。四个寄存器122中的每一个,开始时的计数是使多路转接器120选择其单位的BCP0。每次连线108中的BCP发现信号发生时,电路124和126使适当的寄存器122的BCP计数增加1。
比较器132的第二输入是由寄存器128和130的内容形成的。这些寄存器包含着存储字节片和字节的当前物理存储器位置,多路转接器121输出的数据字节指定在闪存之内要存放在该处。这些寄存器由微控制器23加载。然后,比较器132把它们结合的物理存储器字节地址与该数据字节指定的存储器单位的寄存器118中BCP之一的地址进行比较。当给定单位用户数据的第一个字节出现在多路转接器121的输出端时,其来自寄存器128和130的物理存储器地址与该单位的寄存器118之一中的BCP0进行比较。如果比较结果是肯定的,那么连线108中的BCP发现信号就变为活化的。这就导致ECC用户数据的当前字节被阻止,由从寄存器110插入的填充字节取代。然后该填充字节取代当前数据字节将被写入包括坏列的存储器单元。
BCP发现信号也造成该单位寄存器122之一中的计数切换多路转接器120以选择该存储器单位的下一个BCP1。然后BCP处理器为这个过程再次发生做好准备,即物理存储器字节位置符合该单位BCP顺序中的下一个。在下一个循环中写入受阻的数据字节,假设这次下一个物理地址比较不会导致另一个BCP发现,如果还是这种情况该数据字节还要再受阻一个循环。这个过程持续下去,直到当前四个数据区段形成的数据流已经传递到闪存,随后对存放在寄存器128和130中的、不同的存储器位置重复该过程,写入新的数据区段,并且如果新数据是写入不同于以前的一个或多个存储器单位,还可能改变存放在寄存器118的一个或多个面上的BCP。
再次参考图4,其中给出了存储器阵列块的说明,块中存放着一个数据区段和ECC。作为附加的日常信息,第一字节145提供了如何写入其余数据的基本信息。这可能包括,例如,一位或两位用于指定相对数值或极性,在读出存放的数据时要考虑这些因素。为了均衡对某块的单元编程时,从擦除状态(它也可能是编程状态之一)到编程状态之一造成的损耗,这种信息往往随块和时间而变化。在下面针对图15至图17还要进一步介绍这一点。下一个成分是数据147,从目前已经介绍的内容,它是主机系统供应的用户数据的一个区段,要存储在非易失性存储器系统中。成分149是在编程期间以上面介绍的方式从用户数据147产生的。在各个块中的单元数目选定为留有一个单元组151作为备用,在这个实例中是能够存放8个字节。这些备用字节在图4中显示为读写时位于块的尾部,如果在块的其它部分没有需要使用某些或所有这些备用字节的缺陷,就是这种情况。为了避开坏列而由BCP处理36把填充字节插入用户数据147时,备用字节151的数目将是图4中显示的数目减去填充字节的数目。把一个填充字节插入用户数据147导致随后的字节都延迟一个字节,或者说在图4的数据区段示意图中右移,因此使数据流尾部的备用字节151的数目缩小了1。
当数据区段从闪存读出时,图6A至图6C中的BCP处理和ECC生成电路以相反的方式运行,只不过一个完整的数据区段读出之后才读取另一个区段的数据。当数据每次一个字节地通过图6A中的电路从闪存到达数据缓冲区35时,ECC生成电路37由区段中的用户数据计算ECC,其方式与上面介绍的写入数据时相同。然后,计算出的ECC与作为区段一部分存放的ECC字节进行比较,以便确定该区段的用户数据是否有效。通过比较读出每个字节的物理存储器位置和该数据区段存放的存储器单位的BCP,BCP处理在读出的数据流中识别填充字节。然后,从读出的数据流中清除这些字节,再把该数据区段写入缓冲区存储器35。
参考图7,其中总结了图4至图6中介绍的数据编程。在图1至图3中的系统为四个数据区段A-D产生的数据流101中,虚线表示字节片出现的顺序,其中每个区段是以8个字节片传递。如图所示,区段A、B、C和D的第一个字节片以这个顺序出现,接着是区段A、B、C和D的第二个字节片,依此类推,直到包括区段A、B、C和D的第八个最后的字节片。此后,很可能对四个不同的数据区段重复该过程。
应当注意,与数据区段一起存放在一块中的日常信息,仅限于有关该数据本身的信息,并不包括有关块或其操作的物理日常信息。现有的存储器系统,尤其是通过存放用户数据的512字节区段来仿真磁盘驱动器的系统,除了从块内存放的数据产生的ECC之外,也已经在各个用户数据块中存放了以下的块特征的有关信息:经历循环、对单元块编程或擦除所需的脉冲数目或电压、块内的缺陷等存储介质有关的信息。不过,作为本发明的一部分,这种类型的有关物理块的信息存放在另一块中。作为一个特定的实例,包含着众多块的这种信息的各个块日常记录,存放在专为这种日常信息而不包含用户数据的其它存储器块中。影响许多块的、存储器阵列的某种信息,比如坏列的标识,又存放在其它存储器块中,以使这种信息需要的存储器空间最小。无论哪种情况,一个给定块的日常信息都是从这些其它块中读出,作为访问给定块过程的一部分,不论是从它读出数据还是把数据编进去。通常在访问该块读写用户数据之前,由控制器读出块日常信息。
图8展示了几个这种块日常数据记录151-157,它们一起以图4中的格式存放在单一的存储器阵列块中。也就是,其它块的多个日常记录形成一个日常数据区段的数据147,该区段包括从日常数据147产生的旗标字节145和ECC字节149。存放日常数据区段的块也包括单元的备用字节151,用于取代有缺陷列之内的任何单元。这种日常数据的区段和存放它的块具有相同的特征,并且读写方式相同,正如以上对用户数据区段的介绍。主要的差异在于数据147的性质。在一个特定的实例中,每个这种日常记录包含四个字节的数据,结果128个这种记录结合在一起,成为日常数据的一个规定区段。
图9展示了一个良好的用户数据块的块日常记录的实例内容。字节0包含旗标,它包括一个标志,表明该用户数据块是良好的。字节1指明擦除用户数据块所用的电压,字节2为编程电压。在存储器系统的寿命中,这两种电压由控制器更新,以响应从属用户数据块需要增长数目的擦除或编程脉冲来达到所需的相应擦除和编程状态。当分别擦除或编程记录151包含日常数据的从属用户数据块时,控制器就使用这种信息。日常数据记录的字节3表示从属用户数据块的延伸使用,无论是作为经历计数,它在从属用户数据块每次擦除和再次编程时更新,还是作为一个或多个追踪单元的特征,这些单元作为其相应的用户数据块,经过了相同次数的擦除和再次编程循环。这种追踪单元的使用,最好是至少与分配来存放用户数据的存储器阵列块中的每一个相关联,在上述的美国专利申请序列号08/910,947中介绍过。当使用循环的次数增加或者当追踪单元的特征显著改变时,周期性地重写字节3中的数据。字节3的数值用于确定相关联的用户数据块何时需要退出服务。使用追踪单元,而不是经历计数,有一个显著的优点,日常区段数据需要重写的次数少得多,少到在存储器阵列的寿命中只有几次,而不是在每次擦除/编程循环之后。
图10展示了一个用户数据块的日常记录,该块已经超过了其有效的寿命,否则就是已经被控制器确定为一个有缺陷的块。旗标字节表明,该块是有缺陷的,并且分配了一个备用块来取代它。(不要与(图4中的)旗标字节145相混淆,后者是在各个数据区段的起点。)该记录的其它三个字节指明了备用块的地址,作为当前用户数据块日常数据的一部分。因此,对于好的块用于指明其操作参数(见图9)的三个字节,对于有缺陷的块高效地用于这种其它的目的。这样做使日常数据需要的字节数目最少。当控制器读取这个记录作为访问其用户数据块过程的一部分时,它很快地确定,被寻址的块是有缺陷的,然后控制器使用图10的记录中提供的备用块地址来寻址并访问备用的用户数据块。
因此,除了填充存储器阵列指定的地址空间必需数目的用户数据块之外,这种块管理还需要提供许多备用块。这些块的日常记录在旗标字节中指定其状态为备用的,以及它们是良好的还是有缺陷的备用块。如果是良好的备用块,该记录包含的字节1-3与图9中的记录相同。如果是有缺陷的备用块,字节1-3不需要包含该块的任何日常信息,因为它绝不会被使用。
存储器单元阵列中影响许多单元块的任何缺陷,比如一条位线与一个其它的单元短路时可能发生的有缺陷的列,存放在其它的块中,以便精简块日常记录。图11中所示的一个实例是坏列指针(BCP)表,以图4中数据格式的块中数据的形式存放。在存储器系统制造过程的测试阶段,要产生这样一个表。在这个实例中,每个BCP有两个字节,对存储器单元单位0-7中的每一个,最多可以存放四个BCP。由于在典型的用户数据块中包括单元的八个备用字节作为备用字节151(图4),在单一的块中可以跳过单元的两个字节,以响应控制器从图11的表中读取一个BCP。如果在一个单位中有超过四个坏列,该单位就被识别为有缺陷的,弃置不用。只要至少还有一个单位还可用,存储器系统就可以运行。另外,由于每个单位的列线可能是分段的,可能要为每段,或者段的各个组存放某些数目的BCP,比如两个。当然,它要消耗更多的存储器来存放扩展的BCP表。
在存储器的运行期间,图11的BCP表和数目为空间允许的、图8至图10的日常数据块,由控制器从存储器块读入其RAM 29(见图1)中,而不从非易失性存储器中删除该日常数据。这是在存储器系统的初始化时完成的,如果RAM 29中没有足够的空间存放所有的块日常区段数据,控制器不太经常访问的数据会从RAM 29删除,以利于要访问的数据。由于控制器从其自己的RAM 29读出这种数据比从非易失性存储器块中读出要快得多,在控制器的存储器中这种数据的“高速缓存”加速了访问包含着用户数据的非易失性存储器块的过程,因为日常数据也必须访问。
控制器11可以访问许多用户数据区段,以响应来自主机系统的命令,命令中包含着一个地址,比如在磁盘驱动器中以柱面/磁头/扇区格式,或者是以逻辑块的形式。然后控制器计算对应于主机提供的起始区段地址的起始块逻辑地址。给定阵列芯片的存储器系统地址空间可能表示为连续的逻辑块地址(LBA),它以存放用户数据的良好存储器单位表示芯片上所有可用的块。以相同的顺序逻辑地安排块日常记录。然后控制器首先把对应于主机指定的第一数据区段的块日常记录读入其RAM 29,同时由用户数据块的LBA计算出在它存储器阵列之内的物理地址。访问了第一个用户数据块及其日常信息之后,对地址为该具体文件中数据的每一个后续的块,不需要再次计算逻辑块地址。一个简单的计数器将在日常记录中步进,这些记录已经以其对应的用户数据块的顺序安排好了。如果在这次访问时,控制器的RAM29中没有所需的所有日常记录,最好是首先把需要的日常数据区段从非易失性存储器读入RAM 29,包括替换块的记录,其地址包含在初始日常记录中。
采用与块分离的记录来存放块日常数据的一个优点,是减少了这种记录必须重写的次数。在本实施例中,数据的日常块不需要经常重写,在存储器系统的寿命期间可能只有两三次,有时根本不必重写。对于一个块,日常信息记录的任何改变,在重写到保存该记录的日常数据区段之前,都尽可能长地保持在控制器的存储器中,然后就可以在后台完成,不必成为擦除或编程循环的一部分。但是,当某块的日常数据存放在该块中时,该块每次擦除后日常数据都必须再次编程。在此处介绍的实例中,某块中只存放了用户数据的一个区段,用户数据的一个区段每次写入该存储器块时,日常数据都不得不重写入一块中。这也可能需要日常信息两次写入同一块,一次在写用户数据之前,一次在写入之后,以便补偿对相邻单元编程的效应,尤其是当多状态编程时,对这种效应的容忍度较小。
尽管文中介绍的存储器系统实例在每个个别的块中只存放用户数据的一个区段,本发明的许多方面同样可以应用于在存储器单元阵列的各个块中存放两个或更多数据区段,每个都带有其旗标和ECC字节。
图12提供的使用实例中,存储器阵列芯片的各个块具有八个块单位。在每个单位的一个特定块中,通常是第一块,存放着同样的启动信息。系统初始化时,控制器的固件使单位0的第一块读出,但是如果该块不可读或者其存放的数据已被破坏,则访问单位1的第一块进行读取,依此类推,直到控制器读出了有效的存储器系统启动信息。然后它被存放在控制器的RAM 29中。也有许多保留块,比如图12中所示的保留块0-7,其中存放着存储器阵列芯片操作所需的数据。在不同于主拷贝的一个存储器单位中,提供了每个保留块中数据的一份拷贝,作为应付有缺陷单位的保险。每个保留块的数据格式见图4中的说明。
启动信息的一部分是保留块0及其拷贝的物理地址,在一个特定的实例中,它包含着图11中的坏列指针、任何不可用单位的标识和物理映射特征,包括良好单位的哪些块被保留、为用户数据分配的块、按照图8至图10为日常数据(“O.H.数据”)分配的块和为备用块分配的块。保留块0也包含其存储器阵列芯片具体的读写控制参数。
其它的保留区段包含的信息,对控制器操作这些区段所在的存储器阵列芯片有用,或者对整个存储器系统有用。例如,保留块1可能包含只出现在系统的第一个逻辑存储器阵列芯片上的系统参数的数据,包括控制器与主机系统的数据接口13的指标。另一个保留块可能包含例如制造信息。制造过程的一部分,就是写入在启动信息和保留块中存放的数据。在制造后,这种数据可以变成可修改的,或者是一部分,或者是全部。
图13展示了制造时配置过程中必需的一步。控制器11从每个芯片的保留区段0读出每个存储器阵列芯片有关的数据,并装入图14所示的一个公共文件,然后它又写回存储器系统第一个逻辑芯片17的保留区段2中。控制器的程序存储器27(见图1)中包括的固件可以提供这个过程。在系统配置期间调用这个固件例程后,从每个系统存储器芯片读出良好用户数据块数目的数据。然后该信息变成图14中系统记录的一部分。逻辑块地址(LBA)的范围也加入该记录中,第一个逻辑存储器芯片17的第一个用户块的地址分配为0000。作为记录的一部分,也记录了结尾的LBA,是起始LBA--0--加上第一个芯片上用户数据块的数目。下一个存储器芯片19的逻辑存储器空间要记住其良好用户数据块的数目和结尾的LBA,它比第一个存储器芯片的结尾LBA加上第二个芯片上良好用户数据块的数目多1。这个过程继续下去,直到对于所有存储器阵列芯片完成图14中的表。
在一个特定的实例中,对于系统中每个存储器芯片,图14的表中的入口包括一个字节的物理芯片号和三个字节用于LBA。这使得合并系统LBA表非常简短,访问快捷。为响应来自主机系统的一个地址,在访问系统中一个具体的用户数据块时,作为一个具体的实例,控制器11首先计算一个相应的逻辑块地址。然后,该LBA与第一个逻辑存储器芯片17的保留块2中的表(见图14)进行比较,以确定被寻址的块在哪个芯片上。然后,从计算出的LBA减去前面刚刚过去的逻辑芯片的LBA。由控制器读出指定芯片的保留区段1信息,把这个差异LBA移进已经指定用来存储用户数据的指定芯片一个相应的块,然后就计算出了该芯片上的物理块地址。
除了存放良好单位数目的记录和形成图14中合并表的区段之外,每个存储器阵列芯片还包括与其对应的阵列有关的其它信息,控制器使用这些信息来操作它。这种其它信息也可以存放在每个芯片阵列的保留区段0中。本发明的另一个特性是,在一个系统中与一个公共控制器一起使用的多个阵列芯片,不需要每个都具有这些相同的特征。控制器11最好把存放在各个芯片保留区段0中的这些特征读入其RAM 29,再访问该芯片。只要控制器的RAM 29足够大,这项工作可以在存储器系统初始化时进行一次,然后在存储器的操作期间从RAM访问。另外,这种信息也可以恰好在每次访问它之前从一个具体的芯片中读出,然后只是在这次访问期间才存放在RAM 29中。能够利用具有不同操作特征的两种或更多种芯片形成一个存储器系统,是一个显著的优点。因为不同处理批次、不同车间、不同制造商的存储器芯片能够结合在一起运行良好,这就极大地简化了制造过程。为了收集具有相同特征值的芯片而进行的测试就不再必要了。
在存储器芯片之间可能不同的这些特征,包括对芯片进行编程、读取、擦除、擦洗和刷新时所用的多种最优电压和计时,以及容许的最大、最小值。编程脉冲的最优数目、它们的延续时间、频率和幅度,以及芯片上电压泵源的操作特征,包括最大和最小值的范围也可以包括在内。每个单位的区段数目和控制器把逻辑块地址转换为具体芯片之内物理地址所需的其它信息也可以存放。备用的单位和单位内块的指针也可以包括在内。其它信息包括保留区段物理位置的指针,所以在系统的每个存储器芯片中,它们不必全都存放在相同的块中。每个日常块(见图8)中包括数据的用户数据块的数目也可以存放。在保留区段0中包括坏列指针(BCP)已经介绍过了。对于不同的芯片电压供应,比如3伏和5伏,某些特定的操作参数的复制集也可以包括在内。然后,控制器能够调整其访问,以便与系统中每个芯片的特征相匹配。结果,就不必使这些特征相同。
对于图15介绍了数据区段的旗标字节145(见图4)。在一个特定的实例中,该字节最重要的第0位和第1位给出了一个因子,该区段中随后的所有位都用它进行变换。在写入过程期间,在区段的用户数据读入数据流101(见图5)之前,这两位最好是由微控制器23或固定的逻辑电路比如一个状态机为每个数据区段随机选择的。另外,变换位也可以通过所有可能的组合按顺序分配。这些变换位处于其余旗标位的起点,后者又插入数据流中,在用户数据和ECC字节之前,这些数据和字节形成要存放的区段。对存放在闪存中的数据进行这样的变换,其目的在于使存储器单元为相同的数据编程到不同的状态。这就防止了在存储器的寿命中可能发生的、存储器各块的不均衡损耗,比如当基本相同的文件反复写入相同组的块时。当读取数据区段时,首先读出这些变换位,然后用于把从存储器读出的原始数据变换回存储器为了存储而最初收到的数据。两个变换位用于四状态存储器操作,当各个存储器单元的存储状态数目变得更大时,要用更多的位。不过,如果存储器运行在二状态模式,就只用一个变换位。
图16展示了在存入闪存之前,收到的数据变换过程的实例。这个过程可以主要由微控制器23在其固件的控制下执行,或者可以使用加法器电路和相关的数字单元来执行。来自缓冲区35的数据中的每个字节,把它的位元分成四对,每一对位元在相应的加法器175-178中与保存在181的两位变换因子(用于四状态闪存)结合。然后,变换后的位元对再次结合成单一的字节,用于多路转接器183的一个输入。这些变换位也用于在加法器185-187中对189表示的六个填充位进行变换。变换位本身与变换后的填充位元对结合,形成一个数据区段的第一个字节145(见图4),用于多路转接器183的第二个输入。然后,连线191中的控制信号使多路转接器183切换到把数据字节连续地输出到电路193,其中区段的第一个字节为图15的形式,通过多路转接器的1输入收到,后续字节为变换后的数据,通过0输入收到,直到整个数据区段完成变换并送到闪存。进行图6中BCP处理和ECC生成的,正是这种变换后的数据,而不是从主机收到原始数据。
当数据区段从闪存读出时,进行逆变换,如图17所示。四个减法单元195-198接收数据字节的对应位元对,该字节是来自闪存,在路径194中收到。用于这个具体的数据区段的两个变换位存放在199处,它可能是一个寄存器。响应连续191中接收第一个字节的控制信号,把变换位——区段中收到的第一个字节的最初两位——存放在199处。在减法单元195-198中,这两位与收到的位元对中的每一个相结合,其方式为把它们变换回原来收到的数据。在最初两位之后,区段数据的逆变换在这些变换位读出后立即开始。在分别的操作中读出变换位肯定没有必要。第一个字节的其余6位由其三个位元对通过减法单元195-198中的三个立即变换,然后存放在201处,以响应连线191中的控制信号。随着每次一个地收到数据区段的后续字节,数据字节进行逆变换以及结果通过电路203输出到缓冲区存储器35时,199和201处的内容保持不变。然后,这种输出数据就与存储器系统最初收到并以变换后的形式存放的数据相同。
控制器使用图15中展示的旗标字节145的最低位4-7来确定某块是否擦除。在存储器系统的一个实例中,擦除后的状态也是编程状态之一,所以需要注意区别它们。在这种类型的系统中,如果需要确定某块中的数据是否已擦除,那么,以数据的一位为样本,举例来说,本身不能提供答案。所以,在一个实例中,写入数据区段第一个字节的填充位189(见图16),或者是一个已知的固定模式,或者是使之成为确保这些位不完全等于已擦除状态的数值的某种模式。控制器读出块中的任何数据区段,并期望在该块的相应单元中存放的预擦除位173是否或者是填充位189固定数值,或者是至少它们中的一个(最好是更多)是某种不是已擦除状态的编程状态,如果没有已知模式的话。作为进一步的检验,可以确定在数据区段中是否有ECC码。如果确定了这些条件中的任何一个或二者都存在,结论就是该块没有擦除。但是,如果从旗标字节的位元位置4-7读出的数据位数值和/或ECC全都具有与已擦除状态相等的数值,这就表明,该块处于其已擦除状态。
尽管已经介绍了本发明多个方面的特定实例,应当理解,授权本发明受到附带的权利要求书范围之内的保护。

Claims (71)

1.一种操作可重编程的非易失性存储器系统的方法,该系统使其存储器单元组织成可同时擦除单元的独立块,该方法包括:
识别所述块的第一组和所述块的第二组,第一组中的块用于存放用户数据,第二组中的块用于存放所述第一组块的特征信息,
在第一组所述块的各块中存放用户数据,不包括所述第一组块的特征数据,以及
在第二组所述块的各块中存放第一组块各块的多个特征记录,但是第二组的块中不存放用户数据。
2.根据权利要求1的方法,其特征在于,在第二组所述块的各块中存放多个记录,包括存放从写入其中的记录产生的冗余码。
3.根据权利要求1的方法,其特征在于,在第二组的块中分别存放第一组块的多个特征记录,包括存放第一组中对应块的编程和读取特征。
4.根据权利要求1的方法,进一步包括:
从所述第二组的多个块读取记录并把读出的记录存放在控制器的存储器中,以及
当访问一个或多个第一组的块以编入用户数据或者读出用户数据时,从控制器的存储器读出其中存放的某些记录,这些记录包含着正在访问的所述一个或多个第一组的块的特征。
5.根据权利要求4的方法,其特征在于,在访问第一组中一个或多个块时,要存放从所述第二组中相应的块中读出的记录,当控制器存储器的有限容量需要为此提供空间时,从控制器存储器中清除多个第二组块的至少一块的记录,所述记录从读出算起已经历了最长的时间。
6.根据权利要求4的方法,其特征在于,在访问第一组中具有连续地址的多个块时,计算存放在控制器存储器中、对应于第一组块之内的第一个已编址块的记录的地址,在控制器存储器中,对应于第一组块的多个其它被访问块的其余记录的地址,则是从一个记录的地址增加而获得另一个。
7.根据权利要求1的方法,其特征在于,在第二组的块中分别存放第一组块的多个特征记录,包括存放一个标记,指明所述第一组内一个对应块是否有缺陷,如果有,在第二组的块中存放替换块的地址,如果没有,在第二组的块中存放所述第一组内对应块的操作特征。
8.根据权利要求7的方法,其特征在于,存放操作特征包括存放第一组中对应块的任何编程、读取、擦除或损耗特征。
9.根据权利要求1的方法,其特征在于,在第二组的块中分别存放第一组块的多个特征记录,包括存放标记,指明延伸到所述第一组内的对应块的任何坏列的位置。
10.根据权利要求9的方法,其特征在于,把用户数据存入第一组块的各块和把块特征记录存入第二组的各块,包括在对应的块中跳过任何坏列位置。
11.根据权利要求1、3或7中任何一个的方法,其特征在于,存入在第一组所述块中各块内的用户数据的特征,与这些特征相关的用户数据一起附带存放。
12.根据权利要求1、3或7中任何一个的方法,其特征在于,在能够可拆卸地连接到主机系统的卡中封装着存储器系统时,实行本方法。
13.根据权利要求1、3或7中任何一个的方法,其特征在于,至少多个所述块之内的存储器单元分别以超过两种存储状态运行,以便每个存储器单元存放超过一位的数据。
14.根据权利要求1、3或7中任何一个的方法,其特征在于,至少多个所述块之内的存储器单元分别以恰好两种存储状态运行,以便每个存储器单元存放恰好一位的数据。
15.一种操作可重编程的非易失性存储器系统的方法,该系统使其存储器单元组织成可同时擦除单元的独立块,该方法包括:
指定所述块的第一组和所述块的第二组,第一组中的块用于存放用户数据,第二组中的块用于存放所述第一组块的特征信息,
在第一组所述块的各块中存放用户数据加写入该处用户数据的特征,但是不包括所述第一组块的特征,以及
在第二组所述块的各块中存放第一组块各块的多个特征记录,但是第二组的块中既不存放用户数据,也不存放用户数据的特征。
16.根据权利要求15的方法,其特征在于,在第一组块的各块中存放用户数据特征,包括存放从写入其中的用户数据产生的冗余码。
17.根据权利要求15的方法,其特征在于,在第二组所述块的各块中存放多个记录,包括存放从写入其中的记录产生的冗余码。
18.根据权利要求15的方法,其特征在于,把用户数据存入第一组所述块的各块中,包括同时把用户数据写入第一组块的多个块,直到第一组中多个块的每一个都写入了至少一个用户数据区段,各个数据区段包括其用户数据的至少一种特征。
19.根据权利要求18的方法,其特征在于,作为数据区段的一部分被包括的用户数据的至少一个特征,包括用户数据在数据流中传递到所述第一组之内的所述各个块时从用户数据产生出的冗余码,各个冗余码附加在它们从中产生的用户数据的尾部,以形成数据区段。
20.根据权利要求19的方法,其特征在于,在单一的电路中产生冗余码,该电路用于第一组的所有多个块,同时向它传递用户数据。
21.根据权利要求18的方法,其特征在于,所述至少一种特征包括一位或多位,数据区段之内的用户数据由它来变换后再存放。
22.根据权利要求18的方法,其特征在于,所述至少一种特征包括变值的多位,它与用户数据无关,用于确定包括所述多位的数据区段是否存放在所述第一组之内对应的块中。
23.根据权利要求15或18中任何一个的方法,其特征在于,为了在每个存储器单元中存放多于一位数据,至少多个所述块之内的存储器单元分别以多于两种存储状态操作。
24.根据权利要求15或18中任何一个的方法,其特征在于,为了在每个存储器单元中存放恰好一位数据,至少多个所述块之内的存储器单元分别以恰好两种存储状态操作。
25.一种管理非易失性闪存系统的方法,该系统使其存储器单元组织成可同时擦除单元的独立块,该方法包括:
在所述块的各块中存放至少一个数据区段,包括用户数据、从用户数据产生的一个冗余码和在区段起点的多个位元,它定义一个函数,用户数据和冗余码由该函数变换后再存放,以及
把所述块中所述各块的至少一种特征存放在至少一块中,它不同于所述块中所述各块,所述至少一个其它块存放多个存放着用户数据的所述块的所述至少一种特征。
26.根据权利要求25的方法,其特征在于,所述至少一种特征包括存放一个标记,指明所述块的所述各块中对应的一块是否有缺陷,如果有,指明替换块的地址,如果没有,指明对应块的编程特征。
27.一种非易失性存储器系统,包括:
一个浮点门存储器单元阵列,由能够一起同时擦除的单元块形成;第一组被指定来存放用户数据的多个块以及第二组被指定来分别存放第一组多个块的特征记录的多个块,
一个控制器存储器,与浮点门存储器单元的阵列相分离,其中暂时存放着来自块的第二部分的至少某些记录,所述控制器存储器的特征在于其访问时间比浮点门存储器单元阵列快,以及
一个控制器,适用于在主机和第一组的多个存储器单元块之间传递用户数据区段,同时使用控制器存储器中的记录,这些记录来自第二组的多个块,对应于用户数据传递到的第一组的多个块。
28.根据权利要求27的存储器系统,其特征在于,浮点门存储器单元阵列和控制器封装在一张卡中,该卡上具有的导电触点与主机系统插槽上的导电触点相匹配,从而能够可拆卸地连接到主机。
29.根据权利要求27的存储器系统,其特征在于,浮点门存储器单元阵列和控制器嵌入在一个包含主机系统的封装中。
30.一种非易失性存储器系统,包括:
在至少两个对应的集成电路芯片上形成的至少两个浮点门存储器单元阵列,其特征在于,每个存储器单元阵列的存储器单元组合成许多块,指定来分别存放给定量的用户数据,其特征还在于,在所述至少两个存储器单元阵列的各个阵列中,这种可用块的数目不同,
一个存储器控制器,以及
存放在存储器系统中的记录,它包含着每个存储器单元阵列中各块的非重叠逻辑地址分配,从而允许控制器由逻辑块地址确定一个相应的物理块位于哪个存储器阵列中。
31.根据权利要求30的存储器系统,其特征在于,逻辑地址分配记录存放在所述至少两个存储器芯片的一个之内。
32.根据权利要求30的存储器系统,其特征在于,所述至少两个集成电路芯片和控制器位于一张封装的存储器卡之内,该卡上具有的导电触点与主机系统插槽上的导电触点相匹配,从而能够可拆卸地连接到主机。
33.根据权利要求30的存储器系统,其特征在于,所述至少两个集成电路芯片和控制器嵌入在一个主机系统之内。
34.根据权利要求30的存储器系统,其特征在于,在所述至少两个集成电路芯片的一个上形成控制器。
35.根据权利要求30的存储器系统,其特征在于,在没有浮点门存储器单元阵列并且是所述至少两个集成电路芯片之外的一个集成电路芯片上形成控制器。
36.一种制造非易失性存储器系统的方法,包括:
安装并相互连接至少第一和第二集成电路芯片,它们分别包括一个非易失性浮点门存储器单元的阵列,其中,所述至少第一和第二电路芯片分别包含至少许多块的一个记录存放其中,该记录涉及其存储器单元阵列用于存放用户数据的容量,以及
合并所述至少第一和第二电路芯片中每一个的存储器阵列容量记录,在所述第一电路芯片上形成一个合并记录,对于至少第一和第二存储器阵列芯片的每一个,该记录表示分配到存储器单元阵列的逻辑块地址的连续范围。
37.根据权利要求36的方法,其特征在于,在所述至少第一和第二电路芯片之中,用于存放用户数据的存储器容量的块数目不同。
38.根据权利要求36的方法,其特征在于,在所述至少第一和第二电路芯片之中,用于存放用户数据的存储器容量的块数目相同。
39.根据权利要求36的方法,进一步包括在一个封装的存储器卡之内,安装所述至少第一和第二电路芯片,该卡上具有导电触点,用于与主机的插槽连接。
40.根据权利要求36的方法,进一步包括在包含着主机系统的一个封装之内,嵌入所述至少第一和第二电路芯片。
41.一种操作闪速EEPROM系统的方法,该系统使其存储器单元组织成能够存放给定容量数据的许多可同时擦除单元的独立块,该方法包括:
提供存储器系统,带有一个控制器和多个所述存储器单元的物理上独立的阵列,分别组织成所述存储器块,
在存储器块之一中存放一个记录,该记录包含着用于存放用户数据的所述多个存储器单元阵列的每一个中,可用块的数目和分配到各个存储器单元阵列的用户数据块所述数目的连续逻辑地址的非重叠范围,以及
至少部分地通过访问带有存储器带有逻辑块地址的记录,确定被寻址的存储器单元块在多个存储器单元阵列的哪一个中,以定位一个存储器单元块的物理地址。
42.根据权利要求41的方法,其特征在于,在多个存储器单元阵列的至少两个之中,用于存放用户数据的存储器容量的块数目不同。
43.根据权利要求41的方法,其特征在于,在多个存储器单元阵列的每一个中,用于存放用户数据的存储器容量的块数目相同。
44.根据权利要求41的方法,其特征在于,多个存储器阵列封装在一个存储器卡内,该卡上具有导电触点,用于与主机的插槽连接。
45.根据权利要求41的方法,其特征在于,多个存储器阵列嵌入在包含着主机系统的封装之内。
46.根据权利要求41的方法,其特征在于,为了在每个存储器单元中存放多于一位数据,至少某些所述存储器单元块之内的若干存储器单元分别以多于两种存储状态操作。
47.根据权利要求41的方法,其特征在于,为了在每个存储器单元中存放恰好一位数据,至少某些所述存储器单元块之内的若干存储器单元分别以恰好两种存储状态操作。
48.一种操作可重编程的非易失性存储器系统的方法,该系统使其浮点门存储器单元组织成许多可同时擦除单元的独立块,能够存放给定量的数据,单元块进一步组织成多个单位,该方法包括:
接收和暂时存放要编入存储器系统的、至少给定数目的用户数据区段,
把来自给定数目的暂时存放的用户数据区段中每一区段的一个字节片的用户数据,同时编入与所述给定数目同样多的不同存储器单元单位的不同的存储器单元块中,每个字节片是一个用户数据区段中等于或少于一半的一个片段,以及
重复用户数据字节片的同时编程,直到给定数目的暂时存放区段中每一个的所有数据都已经编入给定数目的存储器单元单位之内的不同块中。
49.根据权利要求48的方法,在数据字节片编入存储器单元块之前,进一步包括从暂时存放的用户数据的区段,按顺序交替地每次传递一个字节片到与所述给定数目同样多的多个存储寄存器中,然后编程就包括并行地把存储寄存器中存放的数据字节片传递到给定数目的单位之内的存储器单元块中。
50.根据权利要求49的方法,其特征在于,接收和暂时存放给定数目的用户数据区段中的每一区段之后,再开始向存储寄存器传递其字节片。
51.根据权利要求49的方法,其特征在于,接收和暂时存放给定数目的用户数据区段中每一区段的仅仅一部分之后,再开始向存储寄存器传递其字节片。
52.根据权利要求49的方法,进一步包括,在数据的各个字节片从暂时存储传递到存储寄存器时,为给定数目的数据区段的每一区段产生一个冗余码,包括对给定数目的用户数据区段的每一区段使用一个公共生成电路,为给定数目的数据区段的每一区段在一个分离的码寄存器中分开存放冗余码生成的中间结果,以及把存放的、一个数据区段的中间结果与同一区段的一个新数据量相结合。
53.根据权利要求52的方法,进一步包括,在传递到存储寄存器的最后一个用户数据字节片中包括为每个数据区段产生的冗余码。
54.根据权利要求49的方法,进一步包括,为多个存储器单位中的每一个维持有缺陷列地址的一个表,把数据字节片的目的地地址与所述表中的列地址重复地进行比较,并在字节片编入存储器块之前,把位元插入字节片,方式为插入的位元编入有缺陷列的存储器单元中,以响应肯定的比较结果。
55.根据权利要求49的方法,其特征在于,为了在每个存储器单元中存放多于一位数据,至少多个所述块之内的存储器单元分别以多于两种存储状态操作。
56.根据权利要求49的方法,其特征在于,为了在每个存储器单元中存放恰好一位数据,至少多个所述块之内的存储器单元分别以恰好两种存储状态操作。
57.一种操作可重编程的非易失性存储器系统的方法,该系统使其浮点门存储器单元组织成许多可同时擦除单元的独立块,能够存放给定量的数据,单元块进一步组织成多个单位,该方法包括:
接收和在一个缓冲区存储器中暂时存放要编入存储器系统的、至少给定数目的用户数据区段,
在一个流中,每次把数据从缓冲区中给定数目的用户数据区段的一个移动到给定数目的存储寄存器的一个,以及
然后把用户数据从给定数目的存储寄存器并行地移动到给定数目的存储器单元块的相应块中,这些单元块位于给定数目的所述单位的不同单位之内。
58.根据权利要求57的方法,其特征在于,把数据从存储寄存器移动到存储器单元块,包括移动来自给定数目的寄存器中每一个的用户数据区段的一个字节片,其中字节片中的数据量等于或少于区段中数据量的一半。
59.根据权利要求58的方法,其特征在于,把数据从缓冲区存储器移动到存储寄存器,包括交替地每次移动一个字节片,它来自缓冲区存储器中存放的给定数目的用户数据区段。
60.根据权利要求57的方法,其特征在于,把数据从存储寄存器移动到存储器单元块,包括移动来自给定数目的寄存器中每一个的完整用户数据区段。
61.根据权利要求60的方法,其特征在于,把数据从缓冲区存储器移动到存储寄存器,包括按顺序每次移动来自一个区段的数据,它来自缓冲区存储器中存放的给定数目的用户数据区段。
62.根据权利要求57的方法,进一步包括,在开始移动数据流之前,为每个用户数据区段产生一个数据变换位域,并使用该位域来变换在流中移动的用户数据,以及进一步包括把产生的变换位域在起点处插入给定数目的用户数据区段的每一个。
63.根据权利要求57的方法,其特征在于,在流中移动数据包括从各个区段的用户数据流产生一个冗余码,并把产生的码附加在产生冗余码的用户数据的尾部。
64.根据权利要求59的方法,其特征在于,在流中移动数据包括从各个区段的用户数据流产生一个冗余码,并把产生的码附加在产生冗余码的用户数据的尾部,冗余码生成包括为给定数目的数据区段的每一区段在一个分离的码寄存器中分开存放冗余码生成的中间结果,以及把存放的、一个数据区段的中间结果与同一区段的一个新数据量相结合。
65.根据权利要求57的方法,其特征在于,在流中移动数据包括把位元插入数据流中,该数据流要存储在存储器块的任何有缺陷列的单元之内,插入的位元使用户数据向后移动。
66.根据权利要求59的方法,其特征在于,在流中移动数据包括把位元插入数据流中,该数据流要存储在存储器块的任何有缺陷列的单元之内,插入的位元使用户数据向后移动,位元插入包括引用任何有缺陷列的地址,这些地址在来自存储寄存器的数据要移入的给定数目的存储器单元块的每一块之内。
67.根据权利要求57-62中任何一个的方法,其特征在于,为了在每个存储器单元中存放多于一位数据,至少多个所述块之内的存储器单元分别以多于两种存储状态操作。
68.根据权利要求57-62中任何一个的方法,其特征在于,为了在每个存储器单元中存放恰好一位数据,至少多个所述块之内的存储器单元分别以恰好两种存储状态操作。
69.根据权利要求57-62中任何一个的方法,其特征在于,为了在每个存储器单元中存放恰好一位数据,第一组多个所述块之内的存储器单元分别以恰好两种存储状态操作,并且其特征在于,为了在每个存储器单元中存放恰好一位数据,不同于所述第一组的第二组多个所述块之内的存储器单元分别以恰好两种存储状态操作。
70.根据权利要求57-62中任何一个的方法,其特征在于,在存储器单元块中存放的用户数据区段不包括存放这些区段的存储器单元块的特征。
71.一种非易失性存储器系统,包括:
一个浮点门存储器单元的阵列,由能够一起同时擦除的单元块形成,
多个数据寄存器,
第一数据传递电路,它在多个数据寄存器和存储器单元阵列相应的独立块之间并行地移动数据,
一个缓冲区存储器,能够同时存放多个用户数据区段,
第二数据传递电路,它每次在缓冲区存储器和一个数据寄存器之间的流中移动用户数据,
位于数据流路径上的冗余码电路,从数据流实时地产生冗余码,以及
位于数据流路径上的缺陷列电路,调整流的长度以避免存储器单元阵列之内的有缺陷列。
CNB018068049A 2000-02-17 2001-02-13 多数据区段同时编程和在其它指定块中存储物理块特征的闪速eeprom系统 Expired - Lifetime CN100458674C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/505,555 US6426893B1 (en) 2000-02-17 2000-02-17 Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US09/505,555 2000-02-17

Publications (2)

Publication Number Publication Date
CN1437721A true CN1437721A (zh) 2003-08-20
CN100458674C CN100458674C (zh) 2009-02-04

Family

ID=24010780

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018068049A Expired - Lifetime CN100458674C (zh) 2000-02-17 2001-02-13 多数据区段同时编程和在其它指定块中存储物理块特征的闪速eeprom系统

Country Status (6)

Country Link
US (14) US6426893B1 (zh)
KR (1) KR100663738B1 (zh)
CN (1) CN100458674C (zh)
AU (1) AU2001238404A1 (zh)
HK (1) HK1058563A1 (zh)
WO (1) WO2001061703A2 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100334565C (zh) * 2004-01-27 2007-08-29 三星电子株式会社 闪速存储器的数据管理设备和方法
CN100347656C (zh) * 2004-07-19 2007-11-07 普安科技股份有限公司 储存虚拟化控制器间动态逻辑媒体单元重新指定方法
CN101241752A (zh) * 2007-02-06 2008-08-13 三星电子株式会社 存储卡和包含所述存储卡的存储系统
CN101218557B (zh) * 2005-07-05 2011-09-28 国际商业机器公司 用于存储器迁移的系统和方法
CN102473126A (zh) * 2009-08-11 2012-05-23 桑迪士克科技股份有限公司 提供闪存系统中的读状态和空闲块管理信息的控制器和方法
CN102629237A (zh) * 2011-02-04 2012-08-08 西部数据技术公司 非易失性半导体存储器的多个器件的并行搜索
CN101630279B (zh) * 2003-10-03 2012-08-15 桑迪士克股份有限公司 快闪存储器数据校正及擦除技术
CN101589437B (zh) * 2006-11-27 2012-08-29 桑迪士克股份有限公司 用于验证编程的分段位扫描
CN101496110B (zh) * 2006-05-12 2013-02-13 苹果公司 存储设备中的失真估计和消除
US8683116B2 (en) 2007-12-27 2014-03-25 SanDisk Technologies, Inc. Controller for one type of NAND flash memory for emulating another type of NAND flash memory
CN111241003A (zh) * 2018-11-29 2020-06-05 美光科技公司 使用数据写入计数器使非易失性存储器的耗损均衡
CN112083887A (zh) * 2020-09-10 2020-12-15 深圳芯邦科技股份有限公司 一种数据处理方法及相关设备

Families Citing this family (335)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5657332A (en) * 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
JP3782840B2 (ja) 1995-07-14 2006-06-07 株式会社ルネサステクノロジ 外部記憶装置およびそのメモリアクセス制御方法
US8171203B2 (en) * 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
AU3832297A (en) * 1996-02-29 1997-09-16 Hitachi Limited Semiconductor memory device having faulty cells
GB2339044B (en) * 1998-03-02 2003-06-04 Lexar Media Inc Flash memory card with enhanced operating mode detection and user-friendly interfacing system
KR100544175B1 (ko) * 1999-05-08 2006-01-23 삼성전자주식회사 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법
CN100442393C (zh) * 1999-10-21 2008-12-10 松下电器产业株式会社 半导体存储卡的访问装置、初始化方法和半导体存储卡
US8341332B2 (en) 2003-12-02 2012-12-25 Super Talent Electronics, Inc. Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US7155559B1 (en) 2000-08-25 2006-12-26 Lexar Media, Inc. Flash memory architecture with separate storage of overhead and user data
US7107378B1 (en) * 2000-09-01 2006-09-12 Sandisk Corporation Cooperative interconnection and operation of a non-volatile memory card and an input-output card
US6538922B1 (en) 2000-09-27 2003-03-25 Sandisk Corporation Writable tracking cells
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US7020736B1 (en) * 2000-12-18 2006-03-28 Redback Networks Inc. Method and apparatus for sharing memory space across mutliple processing units
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP3875570B2 (ja) * 2001-02-20 2007-01-31 株式会社東芝 半導体記憶装置のデータ書き込み方法及び半導体記憶装置
US6522580B2 (en) 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
JP4059473B2 (ja) * 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
US6614685B2 (en) * 2001-08-09 2003-09-02 Multi Level Memory Technology Flash memory array partitioning architectures
US6948026B2 (en) 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US7170802B2 (en) * 2003-12-31 2007-01-30 Sandisk Corporation Flexible and area efficient column redundancy for non-volatile memories
US6985388B2 (en) 2001-09-17 2006-01-10 Sandisk Corporation Dynamic column block selection
US7554842B2 (en) * 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
DE60130774T2 (de) * 2001-10-25 2008-07-17 Stmicroelectronics S.R.L., Agrate Brianza Schnelle Programmiermethode für nichtflüchtige Speicher, insbesondere flash Speicher und ähnliche Speicherarchitekturen
US6967872B2 (en) * 2001-12-18 2005-11-22 Sandisk Corporation Method and system for programming and inhibiting multi-level, non-volatile memory cells
US7246268B2 (en) * 2002-01-16 2007-07-17 Sandisk Corporation Method and apparatus for dynamic degradation detection
US6957295B1 (en) * 2002-01-18 2005-10-18 Lexar Media, Inc. File management of one-time-programmable nonvolatile memory devices
US6542407B1 (en) * 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
US6621739B2 (en) 2002-01-18 2003-09-16 Sandisk Corporation Reducing the effects of noise in non-volatile memories through multiple reads
US6950918B1 (en) * 2002-01-18 2005-09-27 Lexar Media, Inc. File management of one-time-programmable nonvolatile memory devices
US6839826B2 (en) * 2002-02-06 2005-01-04 Sandisk Corporation Memory device with pointer structure to map logical to physical addresses
US7600165B2 (en) * 2002-02-13 2009-10-06 Taiwan Semiconductor Manufacturing Co., Ltd. Error control coding method and system for non-volatile memory
US6871257B2 (en) 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system
AU2003211154A1 (en) * 2002-02-22 2003-09-09 Lexar Media, Inc. Removable memory media with integral indicator light
US6639309B2 (en) * 2002-03-28 2003-10-28 Sandisk Corporation Memory package with a controller on one side of a printed circuit board and memory on another side of the circuit board
US7440774B2 (en) 2002-04-08 2008-10-21 Socket Mobile, Inc. Wireless enabled memory module
JP3833970B2 (ja) * 2002-06-07 2006-10-18 株式会社東芝 不揮発性半導体メモリ
US6781877B2 (en) * 2002-09-06 2004-08-24 Sandisk Corporation Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells
US7171536B2 (en) * 2002-10-28 2007-01-30 Sandisk Corporation Unusable block management within a non-volatile memory system
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
US7254668B1 (en) 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
US7526599B2 (en) * 2002-10-28 2009-04-28 Sandisk Corporation Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
US7039788B1 (en) 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
US8412879B2 (en) * 2002-10-28 2013-04-02 Sandisk Technologies Inc. Hybrid implementation for error correction codes within a non-volatile memory system
US7174440B2 (en) * 2002-10-28 2007-02-06 Sandisk Corporation Method and apparatus for performing block caching in a non-volatile memory system
US6831865B2 (en) * 2002-10-28 2004-12-14 Sandisk Corporation Maintaining erase counts in non-volatile storage systems
US7181611B2 (en) * 2002-10-28 2007-02-20 Sandisk Corporation Power management block for use in a non-volatile memory system
US20040083334A1 (en) * 2002-10-28 2004-04-29 Sandisk Corporation Method and apparatus for managing the integrity of data in non-volatile memory system
US6985992B1 (en) 2002-10-28 2006-01-10 Sandisk Corporation Wear-leveling in non-volatile storage systems
US7103732B1 (en) 2002-10-28 2006-09-05 Sandisk Corporation Method and apparatus for managing an erase count block
US6973531B1 (en) 2002-10-28 2005-12-06 Sandisk Corporation Tracking the most frequently erased blocks in non-volatile memory systems
US7234036B1 (en) 2002-10-28 2007-06-19 Sandisk Corporation Method and apparatus for resolving physical blocks associated with a common logical block
US7096313B1 (en) 2002-10-28 2006-08-22 Sandisk Corporation Tracking the least frequently erased blocks in non-volatile memory systems
US7367503B2 (en) * 2002-11-13 2008-05-06 Sandisk Corporation Universal non-volatile memory card used with various different standard cards containing a memory controller
US6901498B2 (en) * 2002-12-09 2005-05-31 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
EP1435625A1 (en) * 2002-12-30 2004-07-07 STMicroelectronics S.r.l. Non volatile memory device including a predetermined number of sectors
US7505890B2 (en) * 2003-01-15 2009-03-17 Cox Communications, Inc. Hard disk drive emulator
US6944063B2 (en) 2003-01-28 2005-09-13 Sandisk Corporation Non-volatile semiconductor memory with large erase blocks storing cycle counts
FI117489B (fi) * 2003-02-07 2006-10-31 Nokia Corp Menetelmä muistikortin osoittamiseksi, muistikorttia käyttävä järjestelmä, ja muistikortti
US7904786B2 (en) * 2003-03-06 2011-03-08 Hewlett-Packard Development Company, L.P. Assisted memory system
US7237074B2 (en) 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
US6906964B2 (en) * 2003-06-27 2005-06-14 Hewlett-Packard Development Company, L.P. Multiple buffer memory interface
US6956764B2 (en) * 2003-08-25 2005-10-18 Freescale Semiconductor, Inc. Method of writing to a multi-state magnetic random access memory cell
US7046555B2 (en) 2003-09-17 2006-05-16 Sandisk Corporation Methods for identifying non-volatile memory elements with poor subthreshold slope or weak transconductance
US7188228B1 (en) * 2003-10-01 2007-03-06 Sandisk Corporation Hybrid mapping implementation within a non-volatile memory system
US7559004B1 (en) 2003-10-01 2009-07-07 Sandisk Corporation Dynamic redundant area configuration in a non-volatile memory system
US7173852B2 (en) * 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
US7032087B1 (en) 2003-10-28 2006-04-18 Sandisk Corporation Erase count differential table within a non-volatile memory system
US8706990B2 (en) 2003-10-28 2014-04-22 Sandisk Technologies Inc. Adaptive internal table backup for non-volatile memory system
US7089349B2 (en) * 2003-10-28 2006-08-08 Sandisk Corporation Internal maintenance schedule request for non-volatile memory system
TWI226643B (en) * 2003-10-31 2005-01-11 C One Technology Corp Simulated SmartMedia/xD-Picture memory card using any nonvolatile memory
US7424659B2 (en) * 2003-10-31 2008-09-09 Sandisk Il Ltd. System-in-package and method of testing thereof
US7730368B2 (en) * 2003-10-31 2010-06-01 Sandisk Il Ltd. Method, system and computer-readable code for testing of flash memory
EP1538525A1 (en) * 2003-12-04 2005-06-08 Texas Instruments Incorporated ECC computation simultaneously performed while reading or programming a flash memory
US7143332B1 (en) * 2003-12-16 2006-11-28 Xilinx, Inc. Methods and structures for providing programmable width and error correction in memory arrays in programmable logic devices
US7266732B2 (en) * 2003-12-22 2007-09-04 Samsung Electronics Co., Ltd. MRAM with controller
KR100538338B1 (ko) * 2003-12-24 2005-12-22 주식회사 포인칩스 플래시 메모리의 블록 균등 분산 기법 및 이를 이용한데이터 저장 장치
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US20050144363A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
US7383375B2 (en) 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
US8504798B2 (en) * 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US7631138B2 (en) * 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
US20050144516A1 (en) * 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
US7594135B2 (en) * 2003-12-31 2009-09-22 Sandisk Corporation Flash memory system startup operation
US20080228996A1 (en) * 2004-01-20 2008-09-18 Trek 2000 International Ltd. Portable Data Storage Device Using Multiple Memory Devices
US7716413B2 (en) * 2004-02-15 2010-05-11 Sandisk Il Ltd. Method of making a multi-bit-cell flash memory
US8019928B2 (en) * 2004-02-15 2011-09-13 Sandisk Il Ltd. Method of managing a multi-bit-cell flash memory
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US7336531B2 (en) 2004-06-25 2008-02-26 Micron Technology, Inc. Multiple level cell memory device with single bit per cell, re-mappable memory block
KR100587702B1 (ko) * 2004-07-09 2006-06-08 삼성전자주식회사 피크 전류의 감소 특성을 갖는 상변화 메모리 장치 및그에 따른 데이터 라이팅 방법
US7441067B2 (en) 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
US20120113273A1 (en) * 2004-11-29 2012-05-10 Ariel Inventions Llc System, Method, and Devices for Searching for a Digital Image over a Communication Network
US7502256B2 (en) * 2004-11-30 2009-03-10 Siliconsystems, Inc. Systems and methods for reducing unauthorized data recovery from solid-state storage devices
US7120051B2 (en) * 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7412560B2 (en) * 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
US7386655B2 (en) * 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
US7395404B2 (en) 2004-12-16 2008-07-01 Sandisk Corporation Cluster auto-alignment for storing addressable data packets in a non-volatile memory array
US7366826B2 (en) * 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
US7149111B2 (en) * 2004-12-17 2006-12-12 Msystems Ltd. Method of handling limitations on the order of writing to a non-volatile memory
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7409473B2 (en) * 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US7882299B2 (en) * 2004-12-21 2011-02-01 Sandisk Corporation System and method for use of on-chip non-volatile memory write cache
US7970984B2 (en) * 2004-12-23 2011-06-28 Sandisk Il Ltd. Method for using a multi-bit cell flash device in a system not designed for the device
DE102004062245A1 (de) * 2004-12-23 2006-07-13 Giesecke & Devrient Gmbh Verwaltung von Datenobjekten in einem nichtflüchtigen überschreibbaren Speicher
US20060143368A1 (en) * 2004-12-23 2006-06-29 M-Systems Flash Disk Pioneers Ltd. Method for using a multi-bit cell flash device in a system not designed for the device
US20060140007A1 (en) * 2004-12-29 2006-06-29 Raul-Adrian Cernea Non-volatile memory and method with shared processing for an aggregate of read/write circuits
US7212440B2 (en) * 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
US7308525B2 (en) * 2005-01-10 2007-12-11 Sandisk Il Ltd. Method of managing a multi-bit cell flash memory with improved reliablility and performance
US7363421B2 (en) * 2005-01-13 2008-04-22 Stmicroelectronics S.R.L. Optimizing write/erase operations in memory devices
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US9104315B2 (en) 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
EP1701262B1 (en) * 2005-03-08 2007-12-12 Robert Bosch Gmbh Method and device of rewriting a sector storing the bootloader code in a sector erasable semiconductor memory means
KR100685532B1 (ko) 2005-03-15 2007-02-22 주식회사 하이닉스반도체 독출속도를 향상시키기 위한 버퍼 메모리를 갖는 불휘발성메모리 장치
US7196946B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling in non-volatile storage
US7196928B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7187585B2 (en) * 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7457910B2 (en) * 2005-06-29 2008-11-25 Sandisk Corproation Method and system for managing partitions in a storage device
CN101263562B (zh) * 2005-07-21 2011-09-14 松下电器产业株式会社 具有数据旋转或交织功能的半导体存储装置
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7480766B2 (en) * 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7558906B2 (en) 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7552271B2 (en) 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7627733B2 (en) 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7307878B1 (en) * 2005-08-29 2007-12-11 Spansion Llc Flash memory device having improved program rate
US7352626B1 (en) 2005-08-29 2008-04-01 Spansion Llc Voltage regulator with less overshoot and faster settling time
US8255108B2 (en) * 2005-08-31 2012-08-28 Spx Corporation Dynamic file system creation for scan tools
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
US7295475B2 (en) * 2005-09-20 2007-11-13 Spansion Llc Flash memory programming using an indication bit to interpret state
US7433228B2 (en) * 2005-09-20 2008-10-07 Spansion Llc Multi-bit flash memory device having improved program rate
US7957204B1 (en) 2005-09-20 2011-06-07 Spansion Llc Flash memory programming power reduction
US8358543B1 (en) * 2005-09-20 2013-01-22 Spansion Llc Flash memory programming with data dependent control of source lines
US7631245B2 (en) * 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
EP1932158A4 (en) 2005-09-30 2008-10-15 Mosaid Technologies Inc MEMORY WITH OUTPUT CONTROL
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US11948629B2 (en) 2005-09-30 2024-04-02 Mosaid Technologies Incorporated Non-volatile memory device with concurrent bank operations
US7814262B2 (en) * 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7529905B2 (en) * 2005-10-13 2009-05-05 Sandisk Corporation Method of storing transformed units of data in a memory system having fixed sized storage blocks
US7640424B2 (en) * 2005-10-13 2009-12-29 Sandisk Corporation Initialization of flash storage via an embedded controller
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
US7509471B2 (en) * 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
US7447066B2 (en) * 2005-11-08 2008-11-04 Sandisk Corporation Memory with retargetable memory cell redundancy
US7877540B2 (en) * 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
US20070143567A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for data alignment in non-volatile memories with a directly mapped file storage system
US7769978B2 (en) * 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7793068B2 (en) 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US20070143561A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for adaptive file data handling in non-volatile memories with a directly mapped file storage system
US20070143566A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Non-volatile memories with data alignment in a directly mapped file storage system
US20070156998A1 (en) * 2005-12-21 2007-07-05 Gorobets Sergey A Methods for memory allocation in non-volatile memories with a directly mapped file storage system
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US20070143378A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Non-volatile memories with adaptive file handling in a directly mapped file storage system
US7372763B2 (en) * 2005-12-28 2008-05-13 Intel Corporation Memory with spatially encoded data storage
US7609561B2 (en) * 2006-01-18 2009-10-27 Apple Inc. Disabling faulty flash memory dies
US7793059B2 (en) * 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
US7752391B2 (en) * 2006-01-20 2010-07-06 Apple Inc. Variable caching policy system and method
US20070174641A1 (en) * 2006-01-25 2007-07-26 Cornwell Michael J Adjusting power supplies for data storage devices
US7702935B2 (en) * 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US7594043B2 (en) * 2006-01-27 2009-09-22 Apple Inc. Reducing dismount time for mass storage class devices
US7912994B2 (en) * 2006-01-27 2011-03-22 Apple Inc. Reducing connection time for mass storage class peripheral by internally prefetching file data into local cache in response to connection to host
US20070208893A1 (en) * 2006-02-23 2007-09-06 Microsoft Corporation File-based compression on a fat volume
US7810017B2 (en) * 2006-03-20 2010-10-05 Micron Technology, Inc. Variable sector-count ECC
US7849302B2 (en) * 2006-04-10 2010-12-07 Apple Inc. Direct boot arrangement using a NAND flash memory
US7467253B2 (en) * 2006-04-13 2008-12-16 Sandisk Corporation Cycle count storage systems
US7451264B2 (en) * 2006-04-13 2008-11-11 Sandisk Corporation Cycle count storage methods
TWM304711U (en) * 2006-04-26 2007-01-11 Genesys Logic Inc Flash memory data access reliability enhancing device
US7639531B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Dynamic cell bit resolution
US7852690B2 (en) * 2006-05-15 2010-12-14 Apple Inc. Multi-chip package for a flash memory
US7701797B2 (en) * 2006-05-15 2010-04-20 Apple Inc. Two levels of voltage regulation supplied for logic and data programming voltage of a memory device
US7568135B2 (en) 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
US7511646B2 (en) * 2006-05-15 2009-03-31 Apple Inc. Use of 8-bit or higher A/D for NAND cell value
US8000134B2 (en) 2006-05-15 2011-08-16 Apple Inc. Off-die charge pump that supplies multiple flash devices
US7911834B2 (en) * 2006-05-15 2011-03-22 Apple Inc. Analog interface for a flash memory die
US7639542B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
US7613043B2 (en) * 2006-05-15 2009-11-03 Apple Inc. Shifting reference values to account for voltage sag
US7551486B2 (en) * 2006-05-15 2009-06-23 Apple Inc. Iterative memory cell charging based on reference cell value
US7583545B2 (en) * 2006-05-21 2009-09-01 Sandisk Il Ltd Method of storing data in a multi-bit-cell flash memory
US8307148B2 (en) 2006-06-23 2012-11-06 Microsoft Corporation Flash management techniques
US7567461B2 (en) 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
US20080046641A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080046630A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
JP4791909B2 (ja) * 2006-08-21 2011-10-12 株式会社東芝 高速入出力機能を備える制御装置、及びその制御データの制御方法
US7739576B2 (en) * 2006-08-31 2010-06-15 Micron Technology, Inc. Variable strength ECC
US8001314B2 (en) 2006-09-12 2011-08-16 Apple Inc. Storing a driver for controlling a memory
US7716538B2 (en) * 2006-09-27 2010-05-11 Sandisk Corporation Memory with cell population distribution assisted read margining
US7886204B2 (en) * 2006-09-27 2011-02-08 Sandisk Corporation Methods of cell population distribution assisted read margining
US7783826B2 (en) * 2006-09-28 2010-08-24 Qimonda Ag Data bus width converter
US20080091871A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Non-volatile memory with worst-case control data management
US20080091901A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Method for non-volatile memory with worst-case control data management
KR100843209B1 (ko) * 2006-11-02 2008-07-02 삼성전자주식회사 버퍼 메모리를 포함하는 저항형 메모리 장치, 저항형메모리 장치를 포함하는 메모리 시스템, 및 저항형 메모리장치의 데이터 기입/독출 방법
US7518932B2 (en) * 2006-12-22 2009-04-14 Intel Corporation Erase cycle counting in non-volatile memories
US8209461B2 (en) 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US7739444B2 (en) 2006-12-26 2010-06-15 Sandisk Corporation System using a direct data file system with a continuous logical address space interface
US7917686B2 (en) * 2006-12-26 2011-03-29 Sandisk Corporation Host system with direct data file interface configurability
JP5266250B2 (ja) 2006-12-26 2013-08-21 サンディスク テクノロジィース インコーポレイテッド 連続論理アドレス空間インターフェイスを備えるダイレクトデータファイルシステムの使用
US8166267B2 (en) * 2006-12-26 2012-04-24 Sandisk Technologies Inc. Managing a LBA interface in a direct data file memory system
US20080155175A1 (en) * 2006-12-26 2008-06-26 Sinclair Alan W Host System That Manages a LBA Interface With Flash Memory
US8046522B2 (en) * 2006-12-26 2011-10-25 SanDisk Technologies, Inc. Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
TW200828320A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method for performing static wear leveling on flash memory
US7984360B2 (en) * 2006-12-31 2011-07-19 Ramot At Tel Aviv University Ltd. Avoiding errors in a flash memory by using substitution transformations
KR100819102B1 (ko) * 2007-02-06 2008-04-03 삼성전자주식회사 개선된 멀티 페이지 프로그램 동작을 갖는 불휘발성 반도체메모리 장치
JP4978224B2 (ja) * 2007-02-08 2012-07-18 カシオ計算機株式会社 光電変換装置及びそれを備えた表示パネル
US20080209079A1 (en) * 2007-02-28 2008-08-28 Ty Joseph Caswell Personal information communication device and method
US20090088088A1 (en) * 2007-02-28 2009-04-02 Crick Information Technologies Personal Information Communication Device and Method
US7814304B2 (en) * 2007-03-14 2010-10-12 Apple Inc. Switching drivers between processors
US7613051B2 (en) * 2007-03-14 2009-11-03 Apple Inc. Interleaving charge pumps for programmable memories
US7477547B2 (en) * 2007-03-28 2009-01-13 Sandisk Corporation Flash memory refresh techniques triggered by controlled scrub data reads
US7573773B2 (en) * 2007-03-28 2009-08-11 Sandisk Corporation Flash memory with data refresh triggered by controlled scrub data reads
US7869277B1 (en) 2007-04-25 2011-01-11 Apple Inc. Managing data writing to memories
US20080288712A1 (en) 2007-04-25 2008-11-20 Cornwell Michael J Accessing metadata with an external host
US7870327B1 (en) 2007-04-25 2011-01-11 Apple Inc. Controlling memory operations using a driver and flash memory type tables
US7996599B2 (en) 2007-04-25 2011-08-09 Apple Inc. Command resequencing in memory operations
US7913032B1 (en) 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
KR100914265B1 (ko) * 2007-05-10 2009-08-27 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 읽기 방법
US20080294814A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Flash Memory System with Management of Housekeeping Operations
US20080294813A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Managing Housekeeping Operations in Flash Memory
US7715255B2 (en) * 2007-06-14 2010-05-11 Sandisk Corporation Programmable chip enable and chip address in semiconductor memory
CN101779249B (zh) 2007-06-14 2013-03-27 桑迪士克科技股份有限公司 半导体存储器中的可编程芯片使能和芯片地址
US7477545B2 (en) * 2007-06-14 2009-01-13 Sandisk Corporation Systems for programmable chip enable and chip address in semiconductor memory
WO2009032452A1 (en) * 2007-08-03 2009-03-12 Pulsetor, Llc Pileup rejection in an energy-dispersive radiation spectrometry system
US7633800B2 (en) * 2007-08-08 2009-12-15 Atmel Corporation Redundancy scheme in memory
KR101399549B1 (ko) 2007-09-04 2014-05-28 삼성전자주식회사 반도체 메모리 장치 및 그것의 블록 관리 방법
US7818493B2 (en) * 2007-09-07 2010-10-19 Sandisk Corporation Adaptive block list management
US7545673B2 (en) * 2007-09-25 2009-06-09 Sandisk Il Ltd. Using MLC flash as SLC by writing dummy data
US7551477B2 (en) * 2007-09-26 2009-06-23 Sandisk Corporation Multiple bit line voltages based on distance
US9201790B2 (en) * 2007-10-09 2015-12-01 Seagate Technology Llc System and method of matching data rates
US8296498B2 (en) * 2007-11-13 2012-10-23 Sandisk Technologies Inc. Method and system for virtual fast access non-volatile RAM
US8347165B2 (en) * 2007-12-17 2013-01-01 Micron Technology, Inc. Self-timed error correcting code evaluation system and method
US8144517B2 (en) 2008-02-22 2012-03-27 Samsung Electronics Co., Ltd. Multilayered nonvolatile memory with adaptive control
JP5218228B2 (ja) * 2008-04-23 2013-06-26 新東工業株式会社 搬送装置及びブラスト加工装置
GB0811293D0 (en) * 2008-06-19 2008-07-30 Symbian Software Ltd Memory apparatus
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
US20090327535A1 (en) * 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access
US8130528B2 (en) 2008-08-25 2012-03-06 Sandisk 3D Llc Memory system with sectional data lines
US8351290B1 (en) * 2008-09-12 2013-01-08 Marvell International Ltd. Erased page detection
US8027209B2 (en) * 2008-10-06 2011-09-27 Sandisk 3D, Llc Continuous programming of non-volatile memory
US7996736B2 (en) * 2008-10-26 2011-08-09 Sandisk 3D Llc Bad page marking strategy for fast readout in memory
US8332577B2 (en) * 2008-12-10 2012-12-11 Sandisk Technologies Inc. Program control of a non-volatile memory
US8316201B2 (en) * 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8244960B2 (en) 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US20100250875A1 (en) * 2009-03-25 2010-09-30 Silicon Laboratories Inc. Eeprom emulation using flash memory
US8279650B2 (en) 2009-04-20 2012-10-02 Sandisk 3D Llc Memory system with data line switching scheme
US8027195B2 (en) * 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US8102705B2 (en) * 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
US7974124B2 (en) 2009-06-24 2011-07-05 Sandisk Corporation Pointer based column selection techniques in non-volatile memories
US20110002169A1 (en) * 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US7948798B1 (en) 2009-07-22 2011-05-24 Marvell International Ltd. Mixed multi-level cell and single level cell storage device
US8348929B2 (en) 2009-08-05 2013-01-08 Rocin Laboratories, Inc. Endoscopically-guided tissue aspiration system for safely removing fat tissue from a patient
US8465471B2 (en) 2009-08-05 2013-06-18 Rocin Laboratories, Inc. Endoscopically-guided electro-cauterizing power-assisted fat aspiration system for aspirating visceral fat tissue within the abdomen of a patient
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US20110040924A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code
US8381077B2 (en) * 2009-09-08 2013-02-19 Lsi Corporation Systems and methods for implementing error correction in relation to a flash memory
EP2317442A1 (en) 2009-10-29 2011-05-04 Thomson Licensing Solid state memory with reduced number of partially filled pages
US8201020B2 (en) 2009-11-12 2012-06-12 International Business Machines Corporation Method apparatus and system for a redundant and fault tolerant solid state disk
US8144512B2 (en) 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US8468294B2 (en) * 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
US8595411B2 (en) 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US8416624B2 (en) 2010-05-21 2013-04-09 SanDisk Technologies, Inc. Erase and programming techniques to reduce the widening of state distributions in non-volatile memories
US8411519B2 (en) * 2010-06-04 2013-04-02 Apple Inc. Selective retirement of blocks
US8259499B2 (en) * 2010-06-29 2012-09-04 Macronix International Co., Ltd. Method and apparatus of performing an erase operation on a memory integrated circuit
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
KR20120125791A (ko) * 2011-05-09 2012-11-19 삼성전자주식회사 플래시 메모리 장치 및 이를 포함하는 메모리 시스템
US8446772B2 (en) 2011-08-04 2013-05-21 Sandisk Technologies Inc. Memory die self-disable if programmable element is not trusted
US8687421B2 (en) 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
US8806316B2 (en) 2012-01-11 2014-08-12 Micron Technology, Inc. Circuits, integrated circuits, and methods for interleaved parity computation
US8842473B2 (en) 2012-03-15 2014-09-23 Sandisk Technologies Inc. Techniques for accessing column selecting shift register with skipped entries in non-volatile memories
JP5929456B2 (ja) * 2012-04-17 2016-06-08 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
US8953398B2 (en) 2012-06-19 2015-02-10 Sandisk Technologies Inc. Block level grading for reliability and yield improvement
US8910017B2 (en) 2012-07-02 2014-12-09 Sandisk Technologies Inc. Flash memory with random partition
US8750045B2 (en) 2012-07-27 2014-06-10 Sandisk Technologies Inc. Experience count dependent program algorithm for flash memory
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
US8897080B2 (en) 2012-09-28 2014-11-25 Sandisk Technologies Inc. Variable rate serial to parallel shift register
US9195584B2 (en) 2012-12-10 2015-11-24 Sandisk Technologies Inc. Dynamic block linking with individually configured plane parameters
US9959070B2 (en) 2013-03-06 2018-05-01 Ab Initio Technology Llc Managing operations on stored data units
US10133500B2 (en) * 2013-03-06 2018-11-20 Ab Initio Technology Llc Managing operations on stored data units
US9875054B2 (en) * 2013-03-06 2018-01-23 Ab Initio Technology Llc Managing operations on stored data units
JP2015022516A (ja) * 2013-07-19 2015-02-02 ソニー株式会社 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
CN104346236B (zh) * 2013-08-06 2018-03-23 慧荣科技股份有限公司 数据储存装置及其数据维护方法
CN103455454B (zh) * 2013-09-02 2016-09-07 华为技术有限公司 一种控制存储器启动的方法和装置
FR3012654A1 (fr) 2013-10-25 2015-05-01 St Microelectronics Rousset Procede d'ecriture et de lecture d'une memoire morte electriquement programmable et effacable multi-niveaux et dispositif de memoire correspondant
US9230689B2 (en) 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
US9177654B2 (en) * 2014-03-26 2015-11-03 Burst Corporation Solid-state memory device with plurality of memory cards
US10114562B2 (en) 2014-09-16 2018-10-30 Sandisk Technologies Llc Adaptive block allocation in nonvolatile memory
US9678832B2 (en) 2014-09-18 2017-06-13 Sandisk Technologies Llc Storage module and method for on-chip copy gather
US9552171B2 (en) 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9978456B2 (en) 2014-11-17 2018-05-22 Sandisk Technologies Llc Techniques for reducing read disturb in partially written blocks of non-volatile memory
US9349479B1 (en) 2014-11-18 2016-05-24 Sandisk Technologies Inc. Boundary word line operation in nonvolatile memory
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9449700B2 (en) 2015-02-13 2016-09-20 Sandisk Technologies Llc Boundary word line search and open block read methods with reduced read disturb
TWI608488B (zh) * 2015-03-25 2017-12-11 慧榮科技股份有限公司 資料儲存裝置以及資料存取方法
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US9780809B2 (en) 2015-04-30 2017-10-03 Sandisk Technologies Llc Tracking and use of tracked bit values for encoding and decoding data in unreliable memory
US9720612B2 (en) 2015-04-30 2017-08-01 Sandisk Technologies Llc Biasing schemes for storage of bits in unreliable storage locations
US9653154B2 (en) 2015-09-21 2017-05-16 Sandisk Technologies Llc Write abort detection for multi-state memories
US10162538B2 (en) * 2015-09-30 2018-12-25 Sandisk Technologies Llc Memory operation threshold adjustment based on bit line integrity data
CN105468535A (zh) * 2015-12-30 2016-04-06 北京兆易创新科技股份有限公司 一种NAND Flash的数据处理方法及装置
US10318726B2 (en) 2016-04-18 2019-06-11 Qualcomm Incorporated Systems and methods to provide security to one time program data
CN106055933B (zh) * 2016-06-24 2019-08-23 武汉斗鱼网络科技有限公司 一种客户端软件代码校验的方法及系统
US9817593B1 (en) 2016-07-11 2017-11-14 Sandisk Technologies Llc Block management in non-volatile memory system with non-blocking control sync system
US10725933B2 (en) * 2016-12-30 2020-07-28 Intel Corporation Method and apparatus for redirecting memory access commands sent to unusable memory partitions
TWI630623B (zh) * 2017-04-07 2018-07-21 力旺電子股份有限公司 可編程可抹除的非揮發性記憶體
US10134474B1 (en) * 2017-10-20 2018-11-20 Sandisk Technologies Llc Independent state completion for each plane during flash memory programming
US11733873B2 (en) 2017-12-01 2023-08-22 Micron Technology, Inc. Wear leveling in solid state drives
US10635515B2 (en) 2017-12-06 2020-04-28 Sandisk Technologies Llc Recovery of partial memory die
US11094148B2 (en) 2018-06-18 2021-08-17 Micron Technology, Inc. Downloading system memory data in response to event detection
US10910081B2 (en) * 2018-12-17 2021-02-02 Micron Technology, Inc. Management of test resources to perform reliability testing of memory components
US11101015B2 (en) 2018-12-17 2021-08-24 Micron Technology, Inc. Multi-dimensional usage space testing of memory components
US11288181B2 (en) * 2019-03-07 2022-03-29 Silicon Motion, Inc. Flash memory initialization scheme for writing boot up information into selected pages averagely and randomly distributed over more pages and correspondingly method for reading boot up information from selected pages
US11269376B2 (en) 2020-06-11 2022-03-08 Apple Inc. Electronic device
US20220238175A1 (en) * 2021-01-28 2022-07-28 Micron Technology, Inc. Bit retiring to mitigate bit errors
US11907402B1 (en) 2021-04-28 2024-02-20 Wells Fargo Bank, N.A. Computer-implemented methods, apparatuses, and computer program products for frequency based operations
US11934270B2 (en) * 2022-06-02 2024-03-19 Micron Technology, Inc. Write command execution for data protection and recovery schemes
CN115050410B (zh) * 2022-08-17 2022-11-04 合肥智芯半导体有限公司 可擦除非易失性存储器的控制装置、系统以及控制芯片

Family Cites Families (151)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3500142A (en) 1967-06-05 1970-03-10 Bell Telephone Labor Inc Field effect semiconductor apparatus with memory involving entrapment of charge carriers
US3633175A (en) 1969-05-15 1972-01-04 Honeywell Inc Defect-tolerant digital memory system
JPS5721799B2 (zh) 1975-02-01 1982-05-10
US4250570B1 (en) 1976-07-15 1996-01-02 Intel Corp Redundant memory circuit
US4398248A (en) 1980-10-20 1983-08-09 Mcdonnell Douglas Corporation Adaptive WSI/MNOS solid state memory system
US4287570A (en) 1979-06-01 1981-09-01 Intel Corporation Multiple bit read-only memory cell and its sense amplifier
US4252570A (en) * 1979-12-14 1981-02-24 E. I. Du Pont De Nemours And Company Bismuth oxyhalide solid solution
US4281398A (en) 1980-02-12 1981-07-28 Mostek Corporation Block redundancy for memory array
JPS5764383A (en) 1980-10-03 1982-04-19 Toshiba Corp Address converting method and its device
JPS5877034A (ja) 1981-10-30 1983-05-10 Hitachi Ltd 記録方法
US4450559A (en) 1981-12-24 1984-05-22 International Business Machines Corporation Memory system with selective assignment of spare locations
US4498146A (en) 1982-07-30 1985-02-05 At&T Bell Laboratories Management of defects in storage media
JPS5945694A (ja) 1982-09-06 1984-03-14 Fujitsu Ltd Rom読出し情報変更方式
JPS5945695A (ja) 1982-09-07 1984-03-14 Fujitsu Ltd Icメモリ
AU557723B2 (en) 1982-12-17 1987-01-08 Blue Circle Southern Cement Ltd. Electronic memory system
JPS6076097A (ja) 1983-09-30 1985-04-30 Nec Corp 不揮発生半導体メモリ
US4896262A (en) 1984-02-24 1990-01-23 Kabushiki Kaisha Meidensha Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory
JPS618798A (ja) 1984-06-21 1986-01-16 Nec Corp 不揮発性記憶装置
US4654847A (en) 1984-12-28 1987-03-31 International Business Machines Apparatus for automatically correcting erroneous data and for storing the corrected data in a common pool alternate memory array
JPS61208673A (ja) 1985-03-12 1986-09-17 Matsushita Electric Ind Co Ltd 情報記録再生装置
US4829169A (en) 1985-07-01 1989-05-09 Toppan Moore Company, Inc. IC card having state marker for record access
JP2664137B2 (ja) 1985-10-29 1997-10-15 凸版印刷株式会社 Icカード
US4800520A (en) 1985-10-29 1989-01-24 Kabushiki Kaisha Toshiba Portable electronic device with garbage collection function
US4746998A (en) 1985-11-20 1988-05-24 Seagate Technology, Inc. Method for mapping around defective sectors in a disc drive
US4757474A (en) 1986-01-28 1988-07-12 Fujitsu Limited Semiconductor memory device having redundancy circuit portion
JPH07109717B2 (ja) 1986-05-31 1995-11-22 キヤノン株式会社 メモリ書き込み制御方法
JP2685173B2 (ja) 1986-05-31 1997-12-03 キヤノン株式会社 メモリ書き込み制御方法
JPH0827756B2 (ja) 1987-04-13 1996-03-21 三菱電機株式会社 Icカード
JPS6454543A (en) 1987-08-25 1989-03-02 Mitsubishi Electric Corp Information processor
JPS6470843A (en) 1987-09-11 1989-03-16 Fujitsu Ltd Processing system for garbage collection
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US4914529A (en) 1988-07-18 1990-04-03 Western Digital Corp. Data disk defect handling using relocation ID fields
US5218691A (en) 1988-07-26 1993-06-08 Disk Emulation Systems, Inc. Disk emulation system
US5163021A (en) 1989-04-13 1992-11-10 Sundisk Corporation Multi-state EEprom read and write circuits and techniques
US5535328A (en) * 1989-04-13 1996-07-09 Sandisk Corporation Non-volatile memory system card with flash erasable sectors of EEprom cells including a mechanism for substituting defective cells
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
DE69034191T2 (de) 1989-04-13 2005-11-24 Sandisk Corp., Sunnyvale EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
US5200959A (en) 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
US5303198A (en) 1990-09-28 1994-04-12 Fuji Photo Film Co., Ltd. Method of recording data in memory card having EEPROM and memory card system using the same
GB2251324B (en) 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5504760A (en) * 1991-03-15 1996-04-02 Sandisk Corporation Mixed data encoding EEPROM system
US5270979A (en) 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5663901A (en) 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
JP2625609B2 (ja) 1991-07-10 1997-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション ディスク記憶装置
JP2582487B2 (ja) 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
US5430859A (en) 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5438573A (en) 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
TW261687B (zh) * 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
JPH05151097A (ja) 1991-11-28 1993-06-18 Fujitsu Ltd 書換回数制限型メモリのデータ管理方式
JP3178909B2 (ja) 1992-01-10 2001-06-25 株式会社東芝 半導体メモリ装置
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5712180A (en) 1992-01-14 1998-01-27 Sundisk Corporation EEPROM with split gate source side injection
JPH05233426A (ja) 1992-02-20 1993-09-10 Fujitsu Ltd フラッシュ・メモリ使用方法
TW231343B (zh) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
US5532962A (en) 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
JP3328321B2 (ja) 1992-06-22 2002-09-24 株式会社日立製作所 半導体記憶装置
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
US5428621A (en) 1992-09-21 1995-06-27 Sundisk Corporation Latent defect handling in EEPROM devices
JP3641280B2 (ja) 1992-10-30 2005-04-20 インテル・コーポレーション フラッシュeepromアレイのクリーン・アップすべきブロックを決定する方法
US5357475A (en) 1992-10-30 1994-10-18 Intel Corporation Method for detaching sectors in a flash EEPROM memory array
US5369616A (en) * 1992-10-30 1994-11-29 Intel Corporation Method for assuring that an erase process for a memory array has been properly completed
US5473753A (en) * 1992-10-30 1995-12-05 Intel Corporation Method of managing defects in flash disk memories
US5337275A (en) 1992-10-30 1994-08-09 Intel Corporation Method for releasing space in flash EEPROM memory array to allow the storage of compressed data
JP2856621B2 (ja) 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
JP3594626B2 (ja) 1993-03-04 2004-12-02 株式会社ルネサステクノロジ 不揮発性メモリ装置
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5485595A (en) 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
US5479638A (en) 1993-03-26 1995-12-26 Cirrus Logic, Inc. Flash memory mass storage architecture incorporation wear leveling technique
US5388083A (en) 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5353256A (en) 1993-06-30 1994-10-04 Intel Corporation Block specific status information in a memory device
US5566314A (en) 1993-08-30 1996-10-15 Lucent Technologies Inc. Flash memory device employing unused cell arrays to update files
US5682497A (en) 1993-09-28 1997-10-28 Intel Corporation Managing file structures for a flash memory file system in a computer
US5507760A (en) * 1993-11-09 1996-04-16 Devices For Vascular Intervention, Inc. Cutter device
US5603001A (en) * 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
JP3154892B2 (ja) 1994-05-10 2001-04-09 株式会社東芝 Icメモリカードおよびそのicメモリカードの検査方法
JP3507132B2 (ja) 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
FR2728380A1 (fr) 1994-12-20 1996-06-21 Sgs Thomson Microelectronics Procede d'ecriture de donnees dans une memoire et memoire electriquement programmable correspondante
JP3706167B2 (ja) 1995-02-16 2005-10-12 株式会社ルネサステクノロジ 半導体ディスク装置
JP2671860B2 (ja) 1995-03-30 1997-11-05 日本電気株式会社 フラッシュメモリ用ファイルシステム
US5579259A (en) 1995-05-31 1996-11-26 Sandisk Corporation Low voltage erase of a flash EEPROM system having a common erase electrode for two individually erasable sectors
US6081878A (en) 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
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
US5907856A (en) 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US5930815A (en) 1995-07-31 1999-07-27 Lexar Media, Inc. Moving sequential sectors within a block of information in a flash memory mass storage architecture
US5835935A (en) 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
JP3604466B2 (ja) 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード
US6125435A (en) 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5597370A (en) * 1995-10-17 1997-01-28 Chrysler Corporation Lubricating device for a planetary gear unit
US6014724A (en) 1995-10-27 2000-01-11 Scm Microsystems (U.S.) Inc. Flash translation layer block indication map revision system and method
US5712179A (en) 1995-10-31 1998-01-27 Sandisk Corporation Method of making triple polysilicon flash EEPROM arrays having a separate erase gate for each row of floating gates
GB9609833D0 (en) 1996-05-10 1996-07-17 Memory Corp Plc Memory device
US5787484A (en) * 1996-08-08 1998-07-28 Micron Technology, Inc. System and method which compares data preread from memory cells to data to be written to the cells
US5798968A (en) 1996-09-24 1998-08-25 Sandisk Corporation Plane decode/virtual sector architecture
KR19980027107A (ko) * 1996-10-14 1998-07-15 김광호 전기분해식 오수정화장치 및 방법과 오수정화장치를 갖는 세탁기
US5754567A (en) 1996-10-15 1998-05-19 Micron Quantum Devices, Inc. Write reduction in flash memory systems through ECC usage
JPH10124381A (ja) 1996-10-21 1998-05-15 Mitsubishi Electric Corp 半導体記憶装置
US6047352A (en) * 1996-10-29 2000-04-04 Micron Technology, Inc. Memory system, method and predecoding circuit operable in different modes for selectively accessing multiple blocks of memory cells for simultaneous writing or erasure
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
US5714412A (en) 1996-12-02 1998-02-03 Taiwan Semiconductor Manufacturing Company, Ltd Multi-level, split-gate, flash memory cell and method of manufacture thereof
US5835413A (en) 1996-12-20 1998-11-10 Intel Corporation Method for improved data retention in a nonvolatile writeable memory by sensing and reprogramming cell voltage levels
US5963970A (en) * 1996-12-20 1999-10-05 Intel Corporation Method and apparatus for tracking erase cycles utilizing active and inactive wear bar blocks having first and second count fields
US5928370A (en) 1997-02-05 1999-07-27 Lexar Media, Inc. Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure
US6034897A (en) 1999-04-01 2000-03-07 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
US5953737A (en) 1997-03-31 1999-09-14 Lexar Media, Inc. Method and apparatus for performing erase operations transparent to a solid state storage system
US6122195A (en) 1997-03-31 2000-09-19 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
JP3821536B2 (ja) * 1997-05-16 2006-09-13 沖電気工業株式会社 不揮発性半導体ディスク装置
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
US6000006A (en) 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US5909449A (en) 1997-09-08 1999-06-01 Invox Technology Multibit-per-cell non-volatile memory with error detection and correction
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
JPH11203191A (ja) 1997-11-13 1999-07-30 Seiko Epson Corp 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体
US6034891A (en) * 1997-12-01 2000-03-07 Micron Technology, Inc. Multi-state flash memory defect management
US6076137A (en) 1997-12-11 2000-06-13 Lexar Media, Inc. Method and apparatus for storing location identification information within non-volatile memory devices
US6040997A (en) 1998-03-25 2000-03-21 Lexar Media, Inc. Flash memory leveling architecture having no external latch
JP4085478B2 (ja) * 1998-07-28 2008-05-14 ソニー株式会社 記憶媒体及び電子機器システム
US6288861B1 (en) * 1998-09-15 2001-09-11 International Business Machines Corporation Disk drive with sector numbers encoded by sequences of sector types
AU1729100A (en) 1998-11-17 2000-06-05 Lexar Media, Inc. Method and apparatus for memory control circuit
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US6041001A (en) 1999-02-25 2000-03-21 Lexar Media, Inc. Method of increasing data reliability of a flash memory device without compromising compatibility
US6233308B1 (en) 1999-03-19 2001-05-15 General Electric Company Methods and apparatus for artifact compensation with variable angular sampling
US6141249A (en) 1999-04-01 2000-10-31 Lexar Media, Inc. Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time
US6151248A (en) 1999-06-30 2000-11-21 Sandisk Corporation Dual floating gate EEPROM cell array with steering gates shared by adjacent cells
JP4165990B2 (ja) * 1999-12-20 2008-10-15 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリへのデータの書き込み方法
JP2001243110A (ja) 1999-12-20 2001-09-07 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリへのアクセス方法
US7111190B2 (en) * 2001-02-23 2006-09-19 Intel Corporation Method and apparatus for reconfigurable memory
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP4632107B2 (ja) * 2000-06-29 2011-02-16 エルピーダメモリ株式会社 半導体記憶装置
US7155559B1 (en) 2000-08-25 2006-12-26 Lexar Media, Inc. Flash memory architecture with separate storage of overhead and user data
US6941505B2 (en) * 2000-09-12 2005-09-06 Hitachi, Ltd. Data processing system and data processing method
US6345001B1 (en) * 2000-09-14 2002-02-05 Sandisk Corporation Compressed event counting technique and application to a flash memory system
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
JP3938842B2 (ja) * 2000-12-04 2007-06-27 富士通株式会社 半導体記憶装置
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US7254668B1 (en) * 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
KR100457812B1 (ko) * 2002-11-14 2004-11-18 삼성전자주식회사 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법
JP2004348818A (ja) * 2003-05-20 2004-12-09 Sharp Corp 半導体記憶装置の書込制御方法及びシステム並びに携帯電子機器
US20060164907A1 (en) * 2003-07-22 2006-07-27 Micron Technology, Inc. Multiple flash memory device management
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
JP4427361B2 (ja) * 2004-03-16 2010-03-03 株式会社東芝 不揮発性半導体メモリ
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US7529905B2 (en) 2005-10-13 2009-05-05 Sandisk Corporation Method of storing transformed units of data in a memory system having fixed sized storage blocks
US8339865B2 (en) * 2007-11-01 2012-12-25 Spansion Israel Ltd Non binary flash array architecture and method of operation
JP5010444B2 (ja) * 2007-11-29 2012-08-29 株式会社東芝 半導体記憶装置およびその駆動方法
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US7944729B2 (en) * 2009-01-28 2011-05-17 Seagate Technology Llc Simultaneously writing multiple addressable blocks of user data to a resistive sense memory cell array
US9424930B2 (en) * 2010-09-15 2016-08-23 Sandisk Technologies Llc Apparatus, system, and method for non-volatile storage element programming

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101630279B (zh) * 2003-10-03 2012-08-15 桑迪士克股份有限公司 快闪存储器数据校正及擦除技术
US7454670B2 (en) 2004-01-27 2008-11-18 Samsung Electronics Co., Ltd. Data management apparatus and method of flash memory
CN100334565C (zh) * 2004-01-27 2007-08-29 三星电子株式会社 闪速存储器的数据管理设备和方法
CN100347656C (zh) * 2004-07-19 2007-11-07 普安科技股份有限公司 储存虚拟化控制器间动态逻辑媒体单元重新指定方法
CN101218557B (zh) * 2005-07-05 2011-09-28 国际商业机器公司 用于存储器迁移的系统和方法
CN101496110B (zh) * 2006-05-12 2013-02-13 苹果公司 存储设备中的失真估计和消除
CN101589437B (zh) * 2006-11-27 2012-08-29 桑迪士克股份有限公司 用于验证编程的分段位扫描
CN101241752A (zh) * 2007-02-06 2008-08-13 三星电子株式会社 存储卡和包含所述存储卡的存储系统
US8683116B2 (en) 2007-12-27 2014-03-25 SanDisk Technologies, Inc. Controller for one type of NAND flash memory for emulating another type of NAND flash memory
CN101946286B (zh) * 2007-12-27 2014-06-18 桑迪士克以色列有限公司 用于模拟每单元单个位的nand闪存的每单元多个位的nand闪存的控制器
CN102473126A (zh) * 2009-08-11 2012-05-23 桑迪士克科技股份有限公司 提供闪存系统中的读状态和空闲块管理信息的控制器和方法
CN102629237A (zh) * 2011-02-04 2012-08-08 西部数据技术公司 非易失性半导体存储器的多个器件的并行搜索
CN102629237B (zh) * 2011-02-04 2016-09-14 西部数据技术公司 非易失性半导体存储器及搜索最后写入地址的方法
CN111241003A (zh) * 2018-11-29 2020-06-05 美光科技公司 使用数据写入计数器使非易失性存储器的耗损均衡
CN112083887A (zh) * 2020-09-10 2020-12-15 深圳芯邦科技股份有限公司 一种数据处理方法及相关设备
CN112083887B (zh) * 2020-09-10 2023-09-15 深圳芯邦科技股份有限公司 一种数据处理方法及相关设备

Also Published As

Publication number Publication date
US8797798B2 (en) 2014-08-05
US7362613B2 (en) 2008-04-22
CN100458674C (zh) 2009-02-04
US20090175082A1 (en) 2009-07-09
US20020154543A1 (en) 2002-10-24
US6760255B2 (en) 2004-07-06
US8503240B2 (en) 2013-08-06
AU2001238404A1 (en) 2001-08-27
US20100067298A1 (en) 2010-03-18
US7532511B2 (en) 2009-05-12
US7184306B2 (en) 2007-02-27
US20060109712A1 (en) 2006-05-25
WO2001061703A3 (en) 2002-07-18
US6426893B1 (en) 2002-07-30
US20070133284A1 (en) 2007-06-14
US6580638B2 (en) 2003-06-17
US20100049910A1 (en) 2010-02-25
US20080192546A1 (en) 2008-08-14
US20030206441A1 (en) 2003-11-06
US20110134696A1 (en) 2011-06-09
US7646666B2 (en) 2010-01-12
US20090175080A1 (en) 2009-07-09
US8223547B2 (en) 2012-07-17
US20140133234A1 (en) 2014-05-15
HK1058563A1 (en) 2004-05-21
US20040210709A1 (en) 2004-10-21
KR100663738B1 (ko) 2007-01-02
US7646667B2 (en) 2010-01-12
US7889554B2 (en) 2011-02-15
WO2001061703A2 (en) 2001-08-23
US6996008B2 (en) 2006-02-07
US20120294084A1 (en) 2012-11-22
KR20030014356A (ko) 2003-02-17
US7889590B2 (en) 2011-02-15

Similar Documents

Publication Publication Date Title
CN100458674C (zh) 多数据区段同时编程和在其它指定块中存储物理块特征的闪速eeprom系统
CN1110053C (zh) 将数据写入电可擦可编程只读存储器阵列的方法
CN100555465C (zh) 操作非易失性存储系统的存储系统电路及方法
CN110874188B (zh) 数据存储装置、其操作方法以及具有其的存储系统
CN101427225B (zh) 数据区段尺寸不同于存储器页面和/或区块尺寸之非易失性存储器系统的操作技术
CN102549554B (zh) 基于条带的存储器操作
CN100487672C (zh) 用于分割一逻辑块的方法及设备
US8631310B2 (en) Method for reducing uncorrectable errors of a memory device regarding error correction code, and associated memory device and controller thereof
JP2008527586A (ja) オンチップデータのグループ化および整列
CN102782660A (zh) 芯片使能的虚拟化
CN101408864B (zh) 用于断电时的数据保护方法及使用此方法的控制器
US10877853B2 (en) Data storage device and operation method optimized for recovery performance, and storage system having the same
CN102880432A (zh) 利用数据有限寿命提高闪存芯片写入速度的方法、系统及其控制器
US20200081649A1 (en) Data storage device, operation method thereof and storage system including the same
CN111258494A (zh) 数据存储装置及操作方法、具有数据存储装置的存储系统
US20210333999A1 (en) Data storage device, operation method thereof and storage system having the same
CN102141944A (zh) 用来减少无法更正的错误的方法以及记忆装置及其控制器
CN114625309A (zh) 数据存储设备及其操作方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1058563

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1058563

Country of ref document: HK

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160525

Address after: texas

Patentee after: Sandisk Corp.

Address before: American California

Patentee before: Sandisk Corp.

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: texas

Patentee after: DELPHI INT OPERATIONS LUX SRL

Address before: texas

Patentee before: Sandisk Corp.

CX01 Expiry of patent term

Granted publication date: 20090204

CX01 Expiry of patent term