CN100541439C - 快闪存储器数据校正及擦除技术 - Google Patents

快闪存储器数据校正及擦除技术 Download PDF

Info

Publication number
CN100541439C
CN100541439C CNB2004800331973A CN200480033197A CN100541439C CN 100541439 C CN100541439 C CN 100541439C CN B2004800331973 A CNB2004800331973 A CN B2004800331973A CN 200480033197 A CN200480033197 A CN 200480033197A CN 100541439 C CN100541439 C CN 100541439C
Authority
CN
China
Prior art keywords
data
block
array
read
calibrated
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.)
Expired - Fee Related
Application number
CNB2004800331973A
Other languages
English (en)
Other versions
CN1882918A (zh
Inventor
卡洛斯·J·冈萨雷斯
凯文·M·康利
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.)
SanDisk Technologies LLC
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=34393904&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN100541439(C) "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 CN1882918A publication Critical patent/CN1882918A/zh
Application granted granted Critical
Publication of CN100541439C publication Critical patent/CN100541439C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Measuring Volume Flow (AREA)
  • Non-Volatile Memory (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)

Abstract

为维护快闪存储器中所存储的易受到存储器内邻近区域中操作干扰的数据的完整性,在数据恶化至无法恢复有效数据之前,由干扰事件促成对数据的读取、校正及重写。当存储器系统具有其它高优先权操作要执行时,通过延期执行某些校正措施操作来平衡维护数据完整性与维护系统性能之间有时相互矛盾的需要。在一利用极大擦除单元的存储器系统中,所述校正过程是以一种按照有效重写数据量远少于一擦除单元容量的方式来执行。

Description

快闪存储器数据校正及擦除技术
技术领域
本发明一般来说涉及非易失性快闪存储器系统,更具体来说,涉及刷新及校正非易失性快闪存储器系统中、尤其是具有极大存储单元区块的存储器系统中所存储数据的技术。
背景技术
目前,有许多种商业上成功的非易失性存储器产品,尤其是小尺寸的非易失性存储器产品,其采用一形成于一个或一个以上集成电路芯片上的快闪EEPROM(电子可擦除可编程只读存储器)单元。一通常(但未必尽然)位于一单独集成电路芯片上的存储器控制器连接一以可装卸方式连接有所述卡的主机,并控制所述卡内的存储器阵列的操作。此一控制器通常包括一微处理器、某种非易失性只读存储器(ROM)、一易失性随机存取存储器(RAM)及一个或一个以上专用电路,例如一个可在将数据编程及读取数据期间在数据经过控制器时根据所述资料计算出一纠错码(ECC)的专用电路。某些市售卡为CompactFlashTM(CF)存储卡、多媒体存储卡(MMC)、安全数字(SD)存储卡、智能媒体存储卡、个人信息(P-Tag)存储卡及存储棒卡。主机包括个人计算机、笔记本型计算机、个人数字助理(PDA)、各种数据通信装置、数码相机、蜂窝式移动电话、便携式音频播放器、汽车音响系统、及类似类型的设备。除存储卡构建方案之外,此种类型的存储器也可嵌入于各种类型的主机系统内。
有两种通用存储单元阵列架构已付诸商业应用:NOR及NAND。在一典型的NOR阵列中,各存储单元连接在沿列方向延伸的相邻位线源极与漏极扩散区之间,且控制栅极连接至沿存储单元排延伸的字线。一存储单元包括位于所述源极与漏极之间存储单元沟道区域的至少一部分上方的至少一个存储组件。所述存储组件上一经编程的电荷电平由此控制存储单元的操作特性,因而通过给所寻址的存储单元施加适当的电压即可读取所述存储单元。此等存储单元的实例、其在存储器系统中的应用及其制造方法阐述于美国第5,070,032、5,095,344、5,313,421、5,315,541、5,343,063、5,661,053及6,222,762号专利中。
NAND阵列则利用如下构成的串联串:多于两个(例如16个或32个)存储单元与一个或一个以上位于各单独位线与一参考电位之间的选择晶体管连接在一起构成存储单元列。各字线延伸跨穿大量所述列中的存储单元。在编程期间,通过如下方式来读取及验证一列中的一单独存储单元:使所述串中的剩余存储单元均强导通,以使流经一个串的电流取决于所述所寻址存储单元中所存储的电荷电平。NAND架构阵列的实例及其作为存储器系统的一部分的操作可参见美国第5,570,315、5,774,397、6,046,935、及6,522,580号专利。
上文所提及专利中所述的现有快闪EEPROM阵列的电荷存储组件为最常用的导电浮动栅,其通常由经导电掺杂的多晶硅材料制成。适用于快闪EEPROM系统的另一类型的存储单元是利用一非导电介电材料代替导电浮动栅以非易失性方式来存储电荷。其中,由氧化硅、氮化硅及氧化硅(ONO)构成的三层式介电材料夹于一导电性控制栅与存储单元沟道上方一半导电性衬底的一表面之间。存储单元是通过如下方式进行编程:将电子自存储单元沟道注入氮化物,电子在氮化物中被俘获并存储于一有限的区域中,且存储单元是通过将热空孔注入氮化物内而受到擦除。数种采用介电材料存储组件的特定存储单元结构及阵列阐述于已公开的美国第2003/0109093号专利申请案中。
如同在大多数集成电路应用中,对于快闪EEPROM存储单元阵列,也存在缩减构建某些集成电路功能所需的硅衬底面积的压力。人们不断地期望增大在既定硅衬底面积中可存储的数字数据量,以增大既定尺寸存储卡及其它类型封装的存储容量,或者既增大容量也减小尺寸。一种增大数据存储密度的方法是每一存储单元及/或每一存储单元或组件存储多于一个数据位。此可通过将一存储组件电荷电平电压范围的窗口划分成多于两种状态来实现。使用四种此种状态允许每一存储单元存储两个数据位,八种状态可使每一存储组件存储三个数据位,依此类推。使用浮动栅的多状态快闪EEPROM结构及其操作阐述于美国第5,043,940及5,172,338号专利中,使用介电浮动栅的结构则阐述于前述美国专利申请案第10/280,352号中。出于各种原因,一多状态存储单元阵列中的某些选定部分也可以两种状态(二进制)操作,其操作方式阐述于美国第5,930,167及6,456,528专利中。
一典型快闪EEPROM阵列中的各存储单元是划分成若干个可一同擦除的离散存储单元区块。换句话说,存储单元区块为擦除单位,即为可同时擦除的最小数量的存储单元。每一区块均通常存储有一个或一个以上数据页面,页面为最小编程及读取单位,尽管也可在不同的子阵列或平面中平行地编程或读取多于一个页面。每一页面通常存储有一个或一个以上数据扇区,扇区的尺寸是由主机系统来界定。一例示性扇区包括512个用户数据字节(遵循一针对磁盘驱动器制定的标准)加上一定数量字节的关于所述用户数据及/或存储有所述用户数据的区块的附加信息。此等存储器通常在每一区块中构造有16个、32个或更多个页面,且每一页面均存储有一个或仅数个主机数据扇区。
为提高在将用户数据编程入存储器阵列及自存储器阵列读取用户数据期间的平行性程度,所述阵列通常划分成若干个子阵列,所述子阵列通常称作平面,其包含其自身的数据寄存器及其它电路来容许并行操作,从而可同时将数据扇区编程至若干或所有平面中的每一平面,或同时自若干或所有平面中的每一平面读取数据扇区。一位于一单个集成电路上的阵列可在物理上划分成若干平面,或者每一平面均可由单独的一个或一个以上集成电路芯片构成。此一存储器构建方案的实例阐述于美国第5,798,968及5,890,192号专利中。
为进一步有效地管理存储器,可将各物理区块在逻辑上连接在一起构成虚拟区块或元块。换句话说,将每一元区块均界定为包括来自每一平面的一个区块。元区块的使用阐述于国际专利申请公开案第WO 02/058074中。元区块是由一主机逻辑区块地址标识为一供编程及读取数据的目的区块。同样地,一元区块中的所有区块均一同擦除。使用此等大区块及/或元区块的存储器系统中的控制器执行多种功能,其中包括在从主机接收的逻辑区块地址(LBA)与存储单元阵列内的物理区块编号(PBN)之间进行变换。所述区块中各单独页面通常由区块地址内的偏置量来标识。地址变换通常涉及到使用逻辑页面及一逻辑区块编号(LBN)的中间项。
存储于一元区块中的数据经常被更新,更新的可能性随元区块的数据容量而增大。一个逻辑元区块中已更新的扇区通常被写入另一物理元区块。作为同一编程操作的一部分,未经改变的扇区也通常自原始物理元区块复制至所述新的物理元区块,以合并所述数据。或者,未经改变的数据可保留在原始元区块中直至以后与已更新的数据合并至单个元区块内为止。
通常使用一已擦除区块公用池中所维护的某些额外区块来操作大区块或元区块系统。当正在更新少于一区块容量的一个或一个以上数据页面时,通常将已更新页面写入至所述公用池中的一已擦除区块,然后将未经改变的页面中的数据自原始区块复制至所述擦除公用池区块。所述技术的变体阐述于前述已公开的国际专利申请案第WO 02/058074中。随着时间的延长,由于主机数据文件被重写及更新,许多区块最后可能会仅有相对少量的页面包含有效数据而其余页面所包含的数据已不再为现行资料。为能够有效地利用阵列的数据存储容量,不时地从多个区块中的片断收集有效数据的各个逻辑上相关的数据页面并将它们合并至更少数量的区块中。所述过程通常称作“无用单元收集(garbage collection)”。
各单独的快闪EEPROM存储单元在一电荷存储组件或单元中存储有一定量的电荷来代表一个或一个以上数据位。存储组件的电荷电平可控制其存储单元的阈电压(通常称作VT),而所述阈电压用作读取所述存储单元的存储状态的基础。一阈电压窗口通常被划分成若干范围,其中每一范围均对应于存储单元的所述两或多种状态中的一种。所述范围由防护带加以间隔,防护带中包含一允许人们确定各单独存储单元的存储状态的标称感测电平。所述存储电平的确因电荷会干扰在邻近或其它相关的存储单元、页面或区块中所执行的编程、读取或擦除操作而出现偏移。举例而言,当对一组与一第二组存储单元共享一线路或电路的存储单元进行编程时,有可能干扰所述第二组的电荷电平。此种寄生干扰的最终结果是:如果不对存储系统控制器的所述部分采取校正措施,则未操作的受影响区域中的数据可能会恶化,且在极端情况下,会超出与所述数据一同存储的任何纠错码(ECC)的校正能力。因而,此种数据恶化将会给用户造成数据损失,由此导致存储系统不可靠。一特定存储单元阵列中此等干扰的范围及性质取决于所述存储单元阵列的具体架构、结构及操作。
因此,有益的情况为,在干扰操作致使电荷电平完全偏移出其规定范围外从而导致读出错误数据之前,不时地将已偏移的电荷电平恢复至其状态范围的中心处。此一过程(称作资料刷新或擦除)阐述于美国第5,532,962及5,909,449号专利中。作为其另一方面,在使用纠错码(EEC)的存储器系统中,可通过使用ECC来纠正自所述存储器读取的一定数量的错误数据位,然后将已校正数据重写至所述存储器中一先前已擦除的部分中。重写数据会使每一所写入的存储单元阈电平均处于其指定状态范围内,因为数据编程通常会涉及交替地调节所存储电荷并读取验证所产生的存储单元阈电平,直至其达到代表所述存储单元中所存储数据的所需范围为止。
发明内容
一快闪存储器系统中可包含一全面擦除操作,以补偿因对一组存储单元执行编程、读取或擦除操作而对同一集成电路芯片上另一组存储单元的存储电平所造成的干扰。产生此等数据干扰的可能性会随存储单元阵列尺寸的缩减而升高。目前,为节约空间,存在着使若干组存储单元共享各种信号线的趋势,以至于一组存储单元可能会在编程、读取或擦除另一组存储单元期间重复地受到电压及/或电流的影响。而通过以一种经过组织的连续方式来擦除存储于所用存储单元组中的数据,即会明显减少所存储数据随时间的恶化。同时,当通过有顺序地将受干扰的电荷电平恢复至其所需电平来校正所述受干扰的电荷电平时,使得使用一更大数量的更小电压阈状态范围在每一存储单元中存储更大数量的位变得可行。
擦除操作需要读取已受到潜在干扰信号影响的区域中的数据,且如果确定所述数据确已受到干扰,则执行某种校正措施。可通过(举例而言)检查数据完整性,例如通过读取数据并获得对所述数据的ECC检查的结果来检测干扰。校正措施可能需要将数据重写于同一位置或一不同位置,且可涉及到一更高级缺陷或数据管理操作。
可使擦除操作自适应于所读取数据的完整性。举例而言,如果在存储单元阵列的一区域中发现其中一个或达到一阈值的资料错误,则可提高那个区域的擦除速率。反之,如果在一既定区域中未发现错误或仅发现比一阈值少的数个数据错误,则容许降低对所述既定区域的擦除速率。也可根据使用率水平及其它系统参数来修改擦除速率及位置。为实现维护数据完整性的需要与维护高系统性能水平的需要之间的平衡,计算这些及其它擦除特征。尤其会避免不可能提高数据完整性的擦除操作。
擦除操作较佳在存储器系统未在读取或写入数据时在后台执行。存储器系统可能会依赖主机来指示所述主机何时将不要求存储器存储或检索数据,以便可在所述时间期间执行一擦除操作。
即使在一特定擦除读取操作中检测到一个或一个以上数据错误,如果所述错误可在读取所述数据时由ECC校正,则也可确定不采取校正措施,以便维护系统性能。当各单独扇区中的用户数据及开销数据具有其自身的ECC时,与用户数据中的错误相比,更不可能容许对开销数据中的数据错误不加校正。
当在一正常状态下的擦除数据读取中的位错误太多以至于无法由ECC来校正时,可使用更宽松的参考状态来重新读取所述数据,以便读取那些其所存储电荷电平已偏移出正常范围之外的存储单元。在由ECC正确验证后,即可将所读取数据重写于正常电荷范围电平内。反之,当一数据擦除读取操作显示无错误时,可在更严格的参考状态下重读取所述数据,以便确定所存储数据的质量。换句话说,检测那些已偏移出其最佳范围外的电荷电平,以便可作为所述擦除校正措施的一部分将其重写回至此等范围内。
在那些使用可单独存储大量主机数据扇区的大存储单元区块或元区块的存储器系统中,可将一第一物理区块中在一擦除操作期间得到校正的一(若干)数据扇区重写至一第二区块中,并将所述第一区块的剩余数据扇区复制至所述第二区块中,此与上文所述的擦除共用存储器管理方法相一致。另一选择为,可使一区块或元区块专用于临时存储经擦除校正的数据扇区,直至出于某种其它原因(例如无用单元收集)需要移动其它与所述已校正扇区来自相同区块或元区块的数据扇区为止,此时可将所述经擦除校正的数据扇区与相同区块或元区块中的其它数据扇区重新组合。此可提高系统性能。
一旦确定需对某些规定数据采取校正措施,如果在当时采取校正措施可能会不利地影响系统性能,且如果在此后采取校正措施之前可在不采取校正措施(如果需要)情况下读取出所述数据,则可将所述措施延期。此时,会临时存储在延期时确定的所有已校正数据、地址及各种参数并在随后执行一被延期的校正措施时检索。在以大存储单元区块或元区块形式组织的系统中,可延期校正擦除措施,直至已排定对来自一既定区块或元区块的一既定数量的数据执行校正措施,在此种情况下,所述既定区块或元区块中的所有被延期的数据扇区同时得到校正。此可减少当所述既定区块或元区块的各数据扇区再次合并在一起时所发生的数据复制及重写操作的数量。
最后,如果发现一既定存储单元、存储单元列、存储单元区块、或某些其它存储单元单元需要频繁地擦除,则可在所述单元降级至其中所存储的数据已无法读出或校正之前将所述单元映像出所述系统。
上述特征可单独构建或以各种组合形式构建在一起,此视具体应用而定。在下文对本文所述擦除系统的例示性实例的说明中包含有所述擦除系统的其它方面、优点及特征,下文的说明应结合附图来阅读。本文所提及的所有专利、专利申请案、论文及其它公开案的全部内容均以引用方式并入本文中。
附图说明
图1A及1B分别是共同操作的一非易失性存储器与一主机系统的方框图;
图2图解说明图1A所示存储器阵列的一第一例示性组织;
图3显示一其数据存储于图1A所示存储器阵列中的例示性主机数据扇区;
图4图解说明图1A所示存储器阵列的一第二例示性组织;
图5图解说明图1A所示存储器阵列的一第三例示性组织;
图6显示图1A所示存储器阵列的第三例示性组织的一扩展形式;
图7是具有一特定配置的图1A所示阵列的一组存储单元的电路图;
图8是一图解说明一数据擦除操作中各主要步骤的流程图;
图9是一擦除操作的更具体实例的流程图,其分几部分显示在图9A及9B的两个页面上;及
图10显示一已编程存储单元组的电压阈值电平的分布。
具体实施方式
存储器架构及其操作
首先参见图1A,一快闪存储器包括一存储单元阵列及一控制器。在所示实例中,两个集成电路装置(芯片)11及13包含一存储单元阵列15及各逻辑电路17。所述逻辑电路17通过数据、命令及状态电路连接一位于一单独芯片上的控制器19,并也对阵列13提供寻址、数据传递及感测、及其它支持。存储器阵列芯片的数量可自一个至许多个,此视所提供的存储容量而定。或者,也可将所述控制器及一部分或整个阵列组合至一单个集成电路芯片上,但目前此种选择方案并不经济。
一典型的控制器19包括一微处理器21、一主要用于存储固件的只读存储器(ROM)23及一缓冲存储器(RAM)25,所述缓冲存储器25主要用于临时存储写入或读出存储器芯片11及13的用户数据。电路27与存储单元阵列芯片连接,而电路29则通过连接线31与一主机连接。在本实例中,通过使用专用于计算ECC码的电路33计算ECC码来确定数据的完整性。当正在将用户数据从主机传送至快闪存储器阵列以供存储时,所述电路会根据所述数据计算一ECC并将所述码存储于所述存储器中。当以后自所述存储器读取所述用户数据时,将再次经由电路33传送用户数据,由电路33使用同一算法来计算ECC并将所述码与所计算的与所述数据一起存储的码相比较。如果二者相匹配,则证明所述数据完整。而如果二者存在差异,则视所使用的特定ECC算法而定,可识别出并校正那些错误位,且最多识别出并校正由所述算法所支持的数量的错误位。
图1A所示存储器的连接线31与一主机系统的连接线31′相连接,所述主机系统的一实例显示于图1B中。数据是经由接口电路35在主机与图1A所示存储器之间传送。一典型的主机也包括一微处理器37、一用于存储固件码的ROM 39及RAM 41。其它电路及子系统43通常包括一大容量磁性数据存储磁盘驱动器、用于键盘的接口电路、一监测器及类似元件,此视特定的主机系统而定。此等主机的某些实例包括台式计算机、膝上型计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、MP3及其它音频播放器、数码相机、视频摄像机、电子游戏机、无线及有线电话装置、电话答录机、录音机、网络选路器及其它装置。
图1A所示存储器可构建为一包含有控制器及其所有存储器阵列电路装置的小封闭卡,所述封闭卡具有一可以可装卸方式与图1B所示主机相连的形式。换句话说,配对连接线31及31′允许断开所述卡并将其移至另一主机、或者通过将另一卡连接至所述主机而予以更换。另一选择为,可将存储器阵列装置封装于一能以电方式及机械方式与一包含有控制器及连接线31的卡相连的单独卡中。又一选择为,可将图1A所示存储器嵌入图1B所示主机内,其中连接线31及31′是永久制成。在此种情况下,存储器通常与其它组件一同容纳于所述主机的一外壳内。
对本说明所用的某些术语做出一定解释可能会有益。“扇区”是指在主机读取及写入操作期间所存取的可独立寻址的数据单元。一个资料扇区的尺寸通常为512个字节。
本文所用术语“存储器系统”是一种由一个或一个以上非易失性存储装置及向所述存储器存储及自所述存储器检索数据所需的硬件及/或软件组成。整个存储器系统功能的不同部分既可构建于一完全专用于数据存储的子系统上,也可构建于主机系统自身上。所述存储器系统可嵌入一主机系统中,或者可装卸,例如呈现一极小的卡形式。可装卸式存储器系统的各部分可自身为可装卸式,举例而言,如同存储媒体可自控制器部分上装卸那样。主机系统中专用于存储器系统中数据存储的任一部分也被视为存储器系统的一部分。除驻存于主机系统上的任何硬件之外,此种主机功能也可包括专门的软件库、驱动程序或应用程序。
在本文中,“主机系统”是指如下的系统:其通常具有一除数据存储以外的功能,但其也连接至存储器系统或其中嵌入有一存储器系统。也可能会存在其唯一用途即是存储数据的主机系统。
本文所述用于刷新及擦除快闪存储器所存储数据的各种技术可构建于具有各种特定配置的系统中,所述系统的实例在图2-6中给出。图2显示一其中将各存储单元划归成若干区块的存储器阵列的一部分,其中每一区块中的各存储单元可作为一单一擦除操作的一部分来一同擦除(通常是同时擦除)。此种物理区块是最小擦除单位。
图2的单个存储单元区块的尺寸可各不相同,但一种市面上所采用的形式是在单个区块中包含单个数据扇区。此一数据扇区的内容显示于图3中。用户数据51通常为512个字节。除用户数据51之外,也具有开销数据,开销数据包括一根据用户数据计算出的ECC 53、若干关于扇区数据及/或关于编程有所述扇区的区块的参数55、一根据所述参数55计算出的ECC 57、及任何其它可能会包含的开销数据。所述参数55可包含一关于所述区块所经历的编程/擦除循环数的量值(“热计数值”),所述量值在每一循环或在一预设数量的循环之后更新。此种经历量值的一应用是定期地将各逻辑区块地址重映像至不同的物理区块地址,以便平均所有区块(平均读写)的使用。所述经历量值的另一应用是根据不同扇区所经历的循环数来改变电压及其它编程、读取及/或擦除参数。所述经历量值在识别拟擦除的区块的过程中的其它应用将在下文中予以阐述。
参数55也可包含一有关位值的指示,所述位值被赋予各存储单元存储状态中每一存储状态(通常称作其“循环移位”)。换句话说,将数据的逻辑状态映像至不同的物理存储状态。此也会在平均读写方面产生有益的效果。也可在用于指示现状(status)或状态(state)的参数55中包含一个或一个以上旗标。关于拟用于编程及/或擦除所述区块的电压电平的指示也可存储于所述参数55中,所述电压会在所述区块所经历的循环次数及其它因素出现变化时得到更新。参数55的其它实例包括:所述区块内任意缺陷存储单元的标识,映像至所述物理区块内的数据区块的逻辑地址、及在所述主区块有缺陷情况下任一替代物理区块的地址。在任一存储器系统中所用的参数55的具体组合将因设计而异。此外,也可将某些或所有开销数据存储于专用于此一功能的物理区块中而非存储于包含用户数据的区块或所述开销数据的相关区块中。
与图2所示单一资料扇区块不同者是图4所示的多扇区物理区块。一例示性区块59(其仍为最小擦除单位)包含四个页面0-3,其中每一页面均为最小编程单位。在每一页面中均存储有一个或一个以上主机数据扇区,所述一个或一个以上主机数据扇区通常是与至少包含根据所述扇区的数据计算出的ECC的开销数据存储在一起,且可以是图3所示数据扇区的形式。当更新少于所有页面的数据时,通常将已更新数据存储于一来自一已擦除区块公用池的已擦除区块的一页面中,并将其余未改动的页面自原始区块复制至所述新区块中。然后,擦除所述原始区块。此种大区块管理技术的变化形式包括:将已更新数据写入另一区块的一页面中而不将资料移出原始区块或擦除。此会产生多个具有相同逻辑地址的页面。其中,最新的资料页面是通过某些方便技术来识别,例如通过所记录的作为扇区或页面开销数据中一字段的编程时间来识别。
另一多扇区物理区块结构显示于图5中。在所述结构中,将整个存储单元阵列在物理上划分成两个或多个平面,图中显示四个平面0-3。其中每一平面均为一存储单元子阵列,其具有其自身的数据寄存器、读出放大器、寻址译码器及类似元件,以便能够基本独立于其它平面进行操作。所有平面均可设置于一单个集成电路装置上或多个装置上,其一实例是自一个或多个不同的集成电路装置构成每一平面。图5所示系统中的每一区块均包含16个页面P0-P15,其中每一页面的容量均为一个、两个或多个主机数据扇区及某些开销数据。
又一存储单元结构显示于图6中。其中,每一物理平面均包含大量存储单元区块。为提高操作的平行度,对不同平面内的区块进行逻辑链接以形成元区块。在图6中即说明一个此种元区块,所述元区块由平面0的区块3、平面1的区块1、平面2的区块1及平面3的区块2构成。每一元区块均可逻辑寻址,且存储器控制器会分配并跟踪构成各单独元区块的各区块。主机系统较佳地与一其数据单位等于各单独元区块容量的存储器系统连接。图6所示的此一逻辑数据区块61(举例而言)是由一逻辑区块地址(LBA)来标识,所述逻辑区块地址由控制器映像成构成所述元区块的各区块的物理区块编号(PBN)。所述元区块中的所有区块被一同擦除,且较佳同时编程及读取来自每一区块的各页。
有许多种不同的存储器阵列架构、配置及特定存储单元结构可用于构建上文根据图2-6所述的存储器。为说明几种干扰机理,在图7中显示一种NAND型存储器阵列中的一区块。其中,大量列取向的串联连接的存储单元串连接在一电压为VSS的共享源极65与位线BL0-BLN其中之一之间,所述位线BL0-BLN又与电路67相连,所述电路67包含地址译码器、驱动器、读取读出放大器及类似元件。具体而言,一此种串包含串联连接在位于所述串对置端处的选择晶体管77与79之间的电荷存储晶体管70,71..72及74。在本实例中,每一串均包含16个存储晶体管,但也可包含其它数量的晶体管。字线WL0-WL15延伸穿过每一串中的一个存储晶体管,并连接至电路81,所述电路81包含有所述字线的电压源驱动器及地址译码器。线83及84上的电压可控制将所述区块中的所有串通过其选择晶体管一同连接至电压源65及/或位线BL0-BLN。数据及地址是来自于存储器控制器。
所述区块的每一排电荷存储晶体管(存储单元)均构成一可共同编程及读取的页面。将一适当的电压施加至此一页面的字线(WL)来编程及读取其数据,同时选择施加至其余字线的电压以使其各自的存储晶体管导通。在编程或读取一排(页面)存储晶体管的过程中,未选定排上先前所存储的电荷电平可能会因电压施加于所有串两端及施加至其字线而受到干扰。
擦除过程的各个方面
存在两个基本的擦除阶段:读取阶段及校正措施阶段。擦除读取有别于其它系统读取之处在于:其通常涉及到选择及读取存储器系统中既不与完成一特定主机操作直接相关也不与众多其它系统操作中任一操作(例如平均读写)直接相关的各区域的数据。擦除读取的另一明显特征在于:系统并不自所读取数据收集有用信息,相反地,数据完整性检查结果是所述操作的目标。接下来对所述系统部分所采取的措施是在所述完整性检查的结果而非在(尤其是)数据自身指导下进行。如果数据未能通过所述完整性检查且因而需要采取校正措施,则接下来所述系统可能需要使用来自所读取数据(例如开销数据)的某些信息。并不完成一特定主机操作及并不自存储器获得任何有用数据的这些特征是擦除读取与所述系统所执行的其它数据读取之间的基本区别。
选择拟擦除读取的特定区域是根据存储装置的物理特征、以正常系统操作过程中所执行的读取、写入及擦除操作的位置及次数为指导来进行。一般而言,对存储器阵列中已因其它区域中的操作而暴露于电压、电流或串扰的区域执行擦除读取。或者,可使擦除读取的位置与其它存储器操作脱离,而使擦除读取的位置遵循一确定的或随机的顺序。然而,此可能会造成系统性能损失,因为需要执行更多次读取来获得对受干扰更严重区域的相同覆盖程度。
擦除读取的另一方面是选择何时执行擦除读取操作。一般而言,可响应于诸如以下任意数量的因素来启动擦除操作:主机操作次数,物理读取、写入及/或擦除操作的次数,时间周期,主机的使用特性,或某些随机或伪随机序列,其中可使所述随机或伪随机序列的产生及检查与上述任一因素相联系。
擦除写入有别于其它系统写入之处在于:其通常是在一擦除读取期间所读取数据未能通过完整性检查时执行。擦除写入仅在擦除读取情况下具有独特性。可执行的与擦除写入具有系统机理但并非针对所述特定目的实施的其它写入操作。在一实例中,写入操作可起因于在正常存储器系统操作过程中所执行的读取或写入操作之后未能通过完整性检查。在另一实例中,可在不进行擦除读取的情况下,出于刷新目的读取及重写数据,其中实施写入的决定并非基于数据完整性检查,而是基于某些其它因素。此一因素可以是:在所述阵列中存在一具有高使用率或受影响率的区域,在此种情况下即可重写或移走所述区域中的数据。可以一确定的或随机的方式来连续移走或刷新数据。读取及重写数据可以是出于平均读写此一所期望目的,但也具有能以一克服干扰问题的方式刷新所述数据的意外益处。
实际上,当一数据单元满足其它擦除准则时,可使用所述数据单元的相对新鲜性来确定是否启动擦除所述数据单元的操作。换句话说,如果作为平均读写、数据合并(无用单元收集)、预擦除或其它操作的一部分,新近已将一数据单元再编程,则可跳过当前的擦除操作,因为那些资料新近已刷新过。可使用与各个数据单元一同存储的例如位于所述区块的开销数据的一部分中的经历计数值(“热计数值”)或时间戳记来维护所述数据单元的相对新鲜性。或者,可根据各物理区块中所存储数据的新鲜性将所述物理区块分组,其中将某一区块所属的组存储作为所述区块的开销数据。然后,可使用那些本应变为待擦除候选区块的相对新鲜性作为一因素来选择那些实际被擦除的区块。然后,通过将擦除操作限定至那些存储时间已足够长以致于其所存储电荷电平已受到严重干扰从而需要加以注意的数据单元来提高系统性能。
为监测所存储资料的相对新鲜性,可根据各逻辑区块或物理区块已再编程的新近程度将所述逻辑区块或物理区块有效地划分成若干组。可赋予整个存储器阵列内的所有区块或者所述阵列的一平面、区段或其它部分内的各区块一初始的相对热计数值,且每当将一区块再编程时,均可将所述相对热计数值更新至最近移动的组(set)或组群(group)的值。一旦有一定数量的区块处于最近再编程的组中,即可递增所述最近再编程组的值,并可将任何在随后再编程的区块更新至所述新组值。由此,可形成不同的组,使最近再编程的区块与最早再编程的区块之间存在一相对明显的区别。一般而言,容许一区块的相对热计数值翻转计数,从而能够使用一相对小数量的字段。
当利用相对热计数值时,当存在八个可能的值(例如在一具体实例中为值“0”至“7”)时,大致上所有区块均可开始于一基值“0”。可使用所述八个值中的七个值,而预留一个值以用于在代表最近编程的区块的值与标识那些含有最早数据的区块的值之间提供一空隙。在本实例中,被写入的区块接收一新值“1”,以表示其为最近编程的区块。一旦已将一定数量的区块更新至新值“1”,后续编程的区块即可接收一新值“2”。一旦已将值“2”赋予一定数量的区块,即可最终将值“3”赋予最新再编程的区块。此时,所述计数值将翻转,从而使最早使用的区块的值为“2”,最近编程的区块的值为“0”,并由值“1”在所述二者之间提供一空隙,从而明显地区分具有最早资料的区块与具有最新资料的区块。最终,具有最早值的所有区块均将通过主机写入、擦除、平均读写或其它机理而被重写。在上述实例中,此时值“2”将空缺,所述值可用作间隙,而值“1”可用于标识最近被写入的区块。当根据其它准则一区块变为拟接受擦除操作的候选区块时,如果其相对热计数值使其处于其中一个最近再编程的区块组中,则可不擦除所述区块。
另一选择为,可保持逻辑区块或物理区块或二者的绝对热计数值,在此种情况下,系统可较佳使用此等热计数值来做出擦除决定。换句话说,当将一区块再编程时,其绝对热计数值会递增、递减或者保持不变,以提供一关于所述区块已再编程总次数的指示。其中,具有指示大量再编程操作的绝对热计数值的区块通常比指示少数再编程操作的绝对热计数值的区块被更近地再编程。因此,可不擦除再编程次数较大的区块中所存储数据,因为所述数据不可能已受到明显干扰。
存在许多种可替代地实施的具体擦除算法及相关存储器操作。可由存储器系统控制器控制擦除操作,或者另一方式为在每一存储单元集成电路装置(芯片)上控制擦除操作,甚至可由主机部分地或完全地控制擦除操作。所述存储器系统可以可装卸方式与主机相连接,或者另一选择为,其可嵌入主机内。
可采用若干种不同方式实施擦除操作的读取阶段。可对擦除速率加以调谐,以使性能最佳化同时保持规定水平的数据完整性。举例而言,可对执行擦除操作的速率及每次所读取数据扇区的数量二者进行调谐。此种调谐操作可作为擦除算法的一部分而自动进行。举例而言,可使擦除操作的速率及位置与存储器不同区域中不均匀的受干扰率相匹配。也可将擦除读取延期,以将系统性能最佳化或满足特定的实时需要。
擦除读取的实施方式也存在各种替代方式。举例而言,可既使用标称参考电平也使用带余量的参考电平来读取一组数据。余量的量可针对所遇到的具体干扰机理。如果所读取数据无法由ECC来校正(举例而言),则一具有较宽余量的读取操作可能能够恢复所述数据。而如果可无错误地正常读出数据,则一具有较窄余量的读取即可提供关于所述数据的质量的信息。
在一擦除读取之后,决定是否采取校正措施。在此一决定可依据的诸多因素中包括一活动水平,所述活动水平是基于已检测到的错误位的数量及/或模式。
校正措施最通常包括在存储器中的相同或一不同位置重写读取数据。为使系统性能最佳化,或为满足具体的实时需求,可将此等擦除操作延期。校正措施可还包括在一擦除写入操作期间使数据旋转;换句话说,改变代表具体所存储数据的存储单元状态的原有状态。校正措施也可包括将认为易于受到干扰的存储单元、柱或其它结构映像出系统。
大多数主机协议均具有一连接至存储器系统的抽象接口,从而使所述存储器通常由主机按逻辑区块地址编号(LBA)来寻址。也存在其它的等效寻址模式,例如ATA主机协议中的柱面-磁头-扇区,但基本概念在于:主机并不知晓存储器系统已存储有一既定主机数据扇区的物理位置。主机系统可得到一组线性相邻的独立逻辑区块地址,以在所述地址处存储及检索数据扇区。这些经抽象的主机协议通常要求在存储器系统上存在一控制器,以便控制存储器操作、执行映像功能、数据管理、错误恢复等等。使用这些经抽象的主机协议操作的存储器系统较佳依靠所述存储器系统中的控制器来执行擦除操作,因为主机通常并不知晓所述存储器系统的物理方面。
另一方面,某些主机协议具有一其中由主机自身执行存储器管理功能的接口。遵守所述协议的存储器系统即使具有控制器功能,也通常具有最少的控制器功能。可能存在可由存储器系统而非主机系统执行的不同的功能部分,例如(但不限于)ECC产生、ECC检查或ECC校正。在这些主机存储器所管理的协议中操作的存储器系统将通常依靠主机来执行擦除操作,因为所述存储器系统所具有的逻辑通常不足以执行擦除操作。
某些存储器系统具有一专用控制器,所述专用控制器的用途是操作存储器装置并执行存储器管理功能。其它存储器系统则不具有专用存储器控制器,而是依靠主机架构的某些部分来执行存储器管理操作。举例而言,可将一非易失性存储器装置直接连接至主机系统中的一通用微处理器,由软件来执行存储器管理功能。在此等不具控制器的存储器系统中,负责存储器管理操作的同一子系统较佳也执行擦除功能。
在不具有控制器的存储器系统中,也可将控制器功能整合在一非易失性存储器装置(集成电路芯片)自身中。在一极端的实例中,可将整个控制器整合在一存储器装置上。
存储器系统可嵌入主机系统中并在不同程度上将功能整合在通用主机子系统或具有其它功能的主机子系统内。在此等嵌式存储器系统中,通常遵循相同的主机协议,尽管也可能未必尽然。然而,作为一通用规则,需要使用相同的功能组来操作存储器系统。
尽管存储器系统通常是在一经抽象的主机协议情况下执行擦除操作,然而主机系统也可藉助使用一特殊命令或其它预定义的接口事务来启动此等系统中的擦除操作。构建此种功能的一原因可能在于:主机系统最知晓那些将不存取存储器系统以存储或检索数据的时间周期,因而主机系统可在所述时间周期期间借机启动一擦除操作。通过此种方式,即可提高系统的总体可靠性且对性能的影响最小。用于启动擦除操作的机制可专门用于擦除目的,或者其也可为一通用机制,以将可供用于内务操作的时间通知存储器系统。在后一种情况中,擦除操作可是存储器系统在所述时间周期期间所执行的若干种操作中的一种。
因一既定存储器操作而受到影响的区域通常很大,因而每当执行一操作时即擦除整个受影响区域并不可行。一般而言,将仅选择擦除受影响区域的一部分,且擦除率的设定必须使擦除操作将在错误位数量及已偏移单元的电平超出存储器系统上可具有的任何恢复方案之前检测出受干扰最严重的区域。
擦除操作的执行率是一重要参数,其既影响数据完整性也影响存储器系统的性能。擦除速率愈高,则在错误位数量及已偏移单元的电平超出存储器系统上可具有的任何恢复方案之前在一数据区块中检测出受影响的单元的可能性即愈大。然而,擦除速率愈高,则存储器系统的性能降级即愈严重,因为此时专用于此操作的存储器及控制器时间量增大。为保证所期望的数据完整性水平且同时使所牺牲的性能尽可能小,将擦除速率最佳化为所需的最小裸速率,并带有任何被认为适当的防护带。执行擦除操作可采用的速率可以下述两种方式变化:(1)选择执行擦除操作的时刻,及(2)选择每次拟擦除读取的扇区数量。
在产品的寿命期内维护数据完整性所需的擦除速率可有所变化。举例而言,随着存储单元的循环次数的增加,干扰率可能会增大或减小。假如在制造时设定为一固定的擦除速率,则为在存储器系统的寿命期内维护存储器系统的完整性,将须使用在存储器系统的寿命期内所需的最高速率。此会导致当使用一较低的速率即可满足要求时也使用一较高的擦除速率,致使所牺牲的存储器系统性能高于在存储器系统寿命期内某些时候所需的程度。存在数种在存储器系统寿命期内对擦除速率实施调谐的方法。
可在制造存储器系统时设定一可变的擦除速率。这样做的一种方法是提供一速率值表,所述速率值表使用任何会影响干扰率的尺度来设定不同的擦除速率。其一实例是一表包含对应于存储器阵列的各部分所经历的不同编程/擦除循环计数值的擦除速率。如果所述存储器系统保持有循环计数值,则根据所述阵列中一既定区域的最差情形循环计数值或平均循环计数值自所述表中选取所述擦除速率参数。
另一种方法是允许存储器系统根据先前擦除操作的结果来自行调节擦除速率。举例而言,如果存储器系统保持有一擦除操作日志并确定一极低百分比的擦除操作需要采取校正措施,则其可调低擦除读取的执行速率。反之,如果其确定一极高百分比的擦除操作需要采取校正措施,则其可调高擦除读取的执行速率。可供存储器系统调节擦除速率的另一尺度是在先前的擦除操作期间在各单独存储组件中检测到的偏移量或错误位数量。在任一上述情形中,所述系统均可使用每一新的结果来适应性地调节擦除速率参数,或者其可记录所述信息以供用于周期性调节。
目前存在若干种可用于选择何时执行一擦除操作的技术,所述技术的某些实例为:(1)随机或伪随机,(2)根据主机操作的次数,(3)根据对存储器装置的操作次数,(4)根据时间间隔。可使用任一种上述方法来调谐擦除操作的执行速率。在下文中,假定所述擦除决定所需的任何参数均是在制造时提供。读取操作、写入操作及擦除操作可具有不同的频率参数,因为每一所述操作均可以不同的速率干扰存储器。
如果系统可得到或产生随机数(RN)或伪随机数(PRN),则可使用随机数(RN)或伪随机数(PRN)来确定擦除操作的频率。下文将阐述若干种使用一RN或PRN序列来决定是否执行擦除操作的方法。所有下述方法均假定以一定的定期间隔来检查RN,且根据对RN值的某种测试来决定执行擦除操作。
一种使用一随机数来确定擦除速率的方法是使用一屏蔽参数执行一RN或PRN的逻辑AND运算,所述屏蔽参数包含一定数量的设定为值1的位和其余设定为零的位。是否执行擦除操作的决定将依据所述AND运算的结果是零值还是非零值。一具有较多1的屏蔽参数产生零值的频率要低于一具有较多0的屏蔽值。下表显示在不同的八位屏蔽值情况下的近似擦除速率,其中假定在AND运算的结果为零时执行擦除操作。应注意,对于一真随机序列,仅值为1的位数量(而非所述值本身)影响擦除速率,因而所述表中的值仅为例示性值。
屏蔽值(十六进制)    屏蔽值(二进制)    擦除速率
0x00                00000000          1/1
0x01                00000001          1/2
0x03                00000011          1/4
0x07                00000111          1/8
0x0F                00001111          1/16
0x1F                00011111          1/32
0x3F                00111111          1/64
0x7F                01111111          1/128
0xFF                11111111          1/256
另一种相关方法是计算值1的一RN中的位数量,以确定是否执行擦除操作。同样,可将所述RN中的位数量与一表示一阈值的屏蔽或值进行比较。再一种方法则需要将一RN的值与一擦除速率参数的值加以比较。其中将根据所述RN是否在数值上超过所述阈值来决定是否执行擦除操作。举例而言,如果阈值为5,则RN会高于时间的5/256。
另一选择为,可使擦除速率与所执行的主机操作次数相联系。举例而言,可每N次主机读取、写入及/或擦除操作执行一次擦除操作,其中N为一用于设定擦除速率的速率参数。此外,也可使擦除速率与所执行的存储器操作次数相联系。举例而言,可每NR次读取、NW次写入及/或NE次擦除操作执行一次擦除操作,其中NR、NW及NE为用于设定擦除速率的速率参数。再一选择为,如果存储器系统包含一种量测时间间隔的方法,则可以一定的规则时间间隔T来执行擦除操作,其中T为一用于设定擦除速率的参数。
为保持存储器系统的性能,甚至在已决定执行一擦除操作后也可能期望延期一擦除读取。其原因可能包括实时因素。举例而言,主机可能会要求传送某一数据,而在某些时候将资源专用于擦除操作可能会影响存储器系统满足所保证数据频率的能力。为此,存储器系统可将各擦除操作参数排成队列,以供后续在执行擦除操作不会影响主机性能时再予以处理。所述擦除操作可被延期至以后主机命令处理中的某个时候、所述命令处理后的某个时候,或延期至下一主机命令。在此一情形中,会存储已决定的擦除操作参数并在以后对主机最为方便的时刻进行处理。
由于在一既定时刻可仅擦除存储器阵列中一受影响区域的一部分,因而实现正确覆盖的一个重要方面是在已决定执行一擦除时立即选择擦除位置。选择擦除位置通常涉及到对存储器装置实施读取、写入及/或擦除操作的位置。所述选择中蕴含着知晓一既定存储器操作将会在哪一区域上干扰其它存储组件。将拟擦除的区域与执行操作的区域相关联使得擦除操作最为有效,因为由此不会对存储器中不可能受到干扰的区域执行擦除操作。
一种选择拟擦除位置的方法需要使用一RN或PRN自受到一既定操作影响的区域中选择一位置。平均来说,受影响最大的区域将被选中擦除的机会最大。假定某些区域的选中将比其它区域更频繁且仅平均而言将实现均匀覆盖,则应调节擦除速率来补偿预期最差情形的随机数覆盖。
另一种选择拟擦除位置的方法需要确定性地移动穿过一受影响区域。然而,为保证完全覆盖,此种方法将要求既记录存储器操作也记录擦除操作。
如果记录对存储器执行的活动,则可得到一关于一既定区域受到潜在干扰操作的影响程度的量度。在已知此信息的条件下,存储器系统即可在所述记录中搜寻所受影响最大的区域,并将擦除操作限定至那些区域。所述方法可用于指导上述任一种方法来确定擦除速率及位置。通常可通过保持循环计数信息来跟踪编程/擦除循环。然而,一般而言,记录读取活动并不可行,因此所述方法可能不能用于跟踪读取操作影响。
另一选择为,可记录采取校正措施的位置并用其来指导确定那些较其它区域更易受到干扰或较其它区域受到更大影响的区域。存储器系统可使用所述信息来对拟擦除区域的选择进行加权,尤其是对于那些已较其它区域更频繁地要求采取校正措施的区域。
在未保持关于潜在的受干扰影响区域的知识的系统中,可使用随机方法或确定性方法而不依赖于此等知识。在此种情况下,不管主机活动在存储器系统中哪个地方导致发生操作,擦除操作均在整个存储器系统中执行。然而,擦除速率被调节得足够高,以保证覆盖充分。一般而言,此会极大地浪费资源,因为存储器系统中的某些区域所受影响将远大于其它区域,且所述区域较佳应作为首要的擦除操作焦点区域。
擦除操作的目的是在错误位数量及偏移存储单元的电平超过存储器系统上可具有的任何恢复方案之前检测出受干扰的存储组件。为此,通常期望在因受干扰而失去一既定电压阈电平的大部分防护带之前尽可能早地检测出干扰。
如上文在现有技术中所述,快闪存储器通常以离散状态或电荷存储电平范围存储数据,其中每一状态均通过某一防护带与其它状态相隔开。通常在每一状态之间均存在一标称的判别感测电平,如果一存储组件高于所述电平,即认为所述存储组件处于一种状态,而如果低于所述电平,即认为处于另一状态。当一既定存储组件受到干扰时,其已编程至或擦除的电平可能会开始偏移。如果所述存储组件的电平接近或交叉所述判别感测电平,则其会产生处于一状态的数据,所述状态不同于其原来编程至或擦除的状态。所述错误通常将表现为所述数据中的一个或一个以上位错误,且通常将藉助使用覆盖所述数据字段的ECC检测出来。
通过为读取条件留出余量或偏置读取条件以使所述判别感测电平进一步朝某种状态偏移,即使偏移量不会在标称读取条件下引起错误,也将感测出受干扰的存储组件处于错误状态。此使系统能够在所述偏移接近可在正常存储器系统操作期间引起错误的点之前检测出所述偏移。
如果已知干扰机理是以一特定方式影响数据存储电平,则可通过朝预期的电平偏移量留出读取条件余量来将目标确定为检测那些特定的干扰机理。尽管理想的情形将是在单组余量条件下通过一单次读取操作确定出预期的干扰机理,然而,通常此可能无法实现。可能会需要在不同条件下执行多次读取操作。举例而言,存在于一存储器中的不同干扰机理可能会使存储组件的编程或擦除程度加深。高于及低于一判别电平的存储组件均可能朝所述判别电平偏移,在此种情况下,可能需要首先检查是否有存储电平自一种状态朝一判别电平偏移,然后再检查是否有存储电平自另一状态朝所述判别电平偏移。
有两种单独的数据质量量度可用作阈值来确定是否应采取校正措施:(1)藉助使用ECC检测数据错误,及(2)尽管几乎未检测到或确实未检测到数据错误,然而可在电荷存储电平引起数据读取错误之前检测到电荷存储电平的偏移。
如上文所述,为瞄准某些预期的干扰机理,或仅检查所存储电平是否具有足够的余量,可使擦除读取条件带有余量。不管所读取的数据处于标称条件还是处于带余量条件,均可根据在擦除读取操作期间所检测到的错误位数量来决定是否采取校正措施。举例而言,如果错误位的数量低于系统的ECC校正能力,则系统可决定延期采取校正措施,或者完全忽略所述错误。
除使用错误位数量作为阈值来启动校正措施外,系统也可根据诸如错误位模式等其它因素来做出校正决定。举例而言,ECC校正能力可能对位错误模式敏感,或者,位错误模式可指示出非易失性存储器中一特定的已知干扰机理。也可能会存在其它使阈值依基位错误模式的原因。位错误模式通常是在ECC校正操作期间显现出来。
出于保证性能的目的,即使在已决定需采取校正措施时,也可能会延期采取擦除校正措施。其原因可包括实时因素。举例而言,主机可能会要求传送某一数据,而在某些时候将资源专用于擦除校正措施可能会影响存储器系统满足所保证数据速率的能力。为此目的,存储器系统可将各擦除校正措施操作参数排成队列,以供后续在执行擦除校正措施不会影响主机性能时再予以处理。所述擦除校正措施操作可延期至此后主机命令处理中的某个时候、所述命令处理后的某个时候,或延期至下一主机命令。主要一点是:擦除操作参数将得到存储并随后在对主机而言最为方便时加以处理。
存在两种明显不同的存储器架构极端,其中每一架构均会引出将主机数据映像至存储器装置上的物理位置及管理及存取已编程数据的不同方法。所述两种架构之间的基本区别是关于最小擦除单元的尺寸及其与主机协议数据扇区的尺寸的关系。
如果最小擦除单元的尺寸接近主机数据扇区的尺寸,则可构建一直接寻址方案,在所述直接寻址方案中,通常将一既定主机数据扇区映像至主机将所述既定主机数据扇区写入至的同一物理位置。在此一方案中,通常在将所述替代数据写入先前内容的位置上之前,自所述物理位置擦除先前内容。如果最小擦除单元的尺寸大于一主机扇区的尺寸,则所述重写操作可能需要执行读取-修改-写入操作。在所述寻址方案中,可将主机扇区重映像至存储系统中的其它位置,但此通常仅作为一缺陷管理操作的一部分在扇区重指定期间进行或出于某些其它系统可靠性目的而进行。在此种映像之后,所述主机扇区将通常保持映像至所述新的物理位置,直至出现某些其它重指定事件。在此一直接地址映像方案中,因干扰而引起的校正措施操作通常需要擦除确定已受干扰的物理位置处的内容,然后将所述内容重写至同一位置。对于在重写期间出现的任何错误,均以一种与系统所采用的一般异常处置方式相一致的方式来处置,所述异常处置方式包括(但不限于):重擦除及重写,重指定,改变擦除或写入参数等等。
另一方面,如果最小擦除单元的尺寸远大于主机扇区的尺寸,则通常构建一擦除-集用寻址方案。此一寻址方案也可使用也具有一小的最小擦除单元的存储器来构建。在一擦除-集用方案中,通常将各主机扇区划归成若干逻辑区块,然后将所述逻辑区块映像成物理擦除单元。一既定的主机数据扇区由一擦除单元内的其它主机数据扇区所环绕。当主机写入一既定的数据扇区时,读取环绕目标扇区的所有扇区、擦除所述区块并随后再将所有扇区写回至所述擦除单元且使所述一个主机扇区包含新数据是不切实际的。为避免此等过多的内务操作,一擦除-集用方案通常保持有一定数量的处于已擦除状态的擦除单元,以供用于在写入新版本的数据时容纳所述新版本数据。出于数据管理目的,各扇区通常是一起组成若干逻辑组,且一般而言,系统将力图保持各扇区在同一逻辑组中的物理接近性。可将若干擦除单元组合构成一称作元区块或虚拟区块的逻辑结构,此通常是出于实现高写入平行性的目的。一般而言,来自主机的新数据将写入一已擦除位置。有时,将来自同一逻辑组的尚未被新数据替换的其它扇区复制至同一元区块中,或者与新近写入的数据一同复制至另一元区块中。此后,一旦一既定元区块中或一擦除单元中的所有数据均已得到替换或复制至其它位置,即会擦除所述元区块或擦除单元,并将其视为已擦除的擦除单元公用池的一部分。在此一擦除-集用寻址方案中,因一干扰而引起的校正措施通常需要将受影响的数据复制至存储器系统上的另一位置,并伴随系统为获得正常存储器行为所需的任何数据合并。
然而,可将在一擦除操作期间需要采取校正措施的数据以与因主机活动或一般数据管理而引起的写入操作不同的方式来对待。可将数据写入一专门的位置,所述专门的位置预留用于容纳所述数据一较短的时间,直至系统能方便地将其与在逻辑上邻近的数据合并为止,所述区域即可预留,也可在需要时分配。在某些情况下,所述系统也可仅擦除及将数据重写至同一位置。举例而言,如果驻存于物理区块中的其它数据甚少或未驻存其它数据,则可将其它数据永久性地移至其它位置,或者在擦除期间暂时存储于其它位置(可能是存储于易失性存储器中),并与需要采取校正措施的数据一同写回。对于在数据写入期间出现的任何错误,均以一种与系统所采用的一般异常处置方式相一致的方式来处置,所述异常处置方式包括(但不限于):重写,重指定、写入一新位置、改变擦除或写入参数、使数据极性受迫旋转等等。
某些单独的存储组件、存储组件组或其它结构可能会比其它存储组件、存储组件组或结构更易受到干扰。作为可能的此等结构及分组的一实例,快闪存储器中各存储组件可布置成共享一共用漏极、源极或栅极线,且由于工艺中的变化,这样一组相连的存储组件可能会经受超出平均的更强的潜在干扰信号的影响。同样,在用于形成所述阵列的工艺中的变化,某些单独存储组件可能会比其它存储组件更易受到影响。可将存储系统设计成永久性地映像除去或重指定所述被认为易受干扰影响的区域。在一极端情况中,可在第一次出现一擦除校正措施操作时重映像任何存储组件或其它结构。举例而言,如果具有冗余存储组件,则可映像除去那些含有需进行ECC校正的位的存储组件。在其它实施例中,可记录校正措施操作的位置并在此后加以分析,以用于此后重映像各存储组件或存储组件分组目的。所述分析可涉及一既定分组已需要采取校正措施操作的次数的阈值。在某些情况中,可能需要使用关于所述存储器装置的物理方面的知识来分析所记录数据,以便检测预期物理结构(例如相连的存储组件)的存在。对存储组件或存储组件分组实施重映像的方式取决于存储器系统的构建方式。举例而言,一包含一逻辑扇区的物理区域可包含冗余的存储组件,以便替换被映像除去的存储组件。在另一实例中,如果一整个扇区或扇区组需要采用校正措施操作,则映像除去所述整个扇区或扇区组。
擦除操作可在主机操作的后台中或者在两次主机操作之间执行。可能需要根据主机所请求的操作类型来改变擦除操作的行为。举例而言,在执行一主机读取命令期间可能不便于进行擦除校正措施操作,在此种情况下,可将校正措施操作延期至一对存储器系统而言更方便的时刻。
一种可避免干扰的替代方法是先不检查确定数据是否错误即移走已可能受到干扰影响的数据。目前存在许多种用于选择移走数据的频率及位置的方法,上文已对大多数方法进行了说明。
擦除操作的一般性实施例
图8所示流程图概示一例示性快闪存储器擦除算法中的各主要步骤。在第一步骤91中,监测存储器系统的活动,以确定何时发生一擦除操作触发事件。此一触发事件可为一个或一个以上如下事件:
1.当在所述阵列中一既定区块或一其它单元内发生一可能会干扰其它单元的电荷电平的数据读取、数据写入或擦除操作时。所述操作的强度及/或持续时间可能对确定是否触发一擦除操作、以及所述阵列对干扰的敏感性(例如当存储器以其中界定各状态的电荷电平范围较窄的多状态方式操作时)较为重要。
2.当一既定单元的正常系统读取操作读取具有至少一个或预设数量个位错误的数据时。
3.当余量读取(其参考电平被设定成读取出一比正常读取操窄的编程分布)显示尽管不存在位错误、但经编程的存储单元的阈电平并非最佳时。
4.自最末次擦除操作起经过一预定的时间间隔后。
5.当主机启动一擦除操作时。
总体目标是足够频繁地执行擦除操作,以在受干扰的数据变得多至超过存储器系统中可具有的任何恢复方案(ECC及类似方案)之前检测出受干扰数据。
一旦检测到一擦除触发事件,即在下一步骤93中确定在存储器阵列内执行擦除操作的位置。可根据如下来确定例示性候选位置:
1.位于既定单元外的区块或其它单元,其在读取、写入或擦除操作期间施加有电压或电流且与所述既定单元共享位线、字线或其它信号线;
2.位于所述既定单元外的其它单元,其具有信号线与所述既定单元的那些信号线进行现场耦合,因而二者之间存在串扰。
3.对所述其它单元是编程还是擦除可决定其是否潜在地受到所述既定单元操作的影响。
4.受到潜在影响的单元可取决于所述操作是读取操作、写入操作还是擦除操作。
5.如果在对既定单元执行一正常的系统读取操作时在所读取数据中发现错误,则标识所述既定单元以对其进行一擦除操作。
6.可使用各候选区块中数据的相对新鲜性来除去那些新近已重写的候选区块。
在识别出作为待擦除候选区块的存储区块或其它单元后,未必接着执行擦除操作。如下一步骤95所示,在某些情况下,可将擦除操作的启动延期,所述情况的实例为:
1.为使系统性能最佳化或为满足存储器系统的实时操作需要,可将擦除读取操作延期。
2.自调谐擦除:可动态地调节擦除操作的执行速率,以使保持性能与保持数据完整性达到最佳平衡。
3.可部分地根据各个被识别为可能受影响的单元的特性来确定执行一擦除操作的紧急性,所述特性(例如)为各单元的经历水平(编程/擦除循环的次数)及触发所述擦除操作的事件的类型。
4.可进一步将一擦除触发事件限定为以一确定性、随机性或伪随机性方式发生:
(a)在一规定数量的主机操作之后;
(b)在一规定数量的物理读取、写入及/或擦除操作之后;
(c)在一规定时间周期之后;
(d)根据主机的使用特性;或
(e)一随机或伪随机序列,可使所述随机或伪随机序列的产生及检查与任一上述项相联系。
在下一步骤97中,选择在步骤93中被标识为待擦除候选区块的区块或其它单元的全部或仅一部分进行擦除操作。选择准则包括:
1.可选择在任一操作中将被标识为有待擦除的所确定单元的数量,以平衡擦除操作所用时间对系统性能的影响与保持数据完整性的需要。
2.保持此种平衡的方式可以是识别出若干单元以供进行当前的擦除操作,所识别单元取决于存储器的使用期限、所识别单元所经历的编程/擦除循环次数、触发所述擦除操作的事件类型、及对所识别单元中的数据采取必要校正措施的历史。
3.一擦除操作中所包含单元的数量可取决于存储器的使用期限、既定单元所经历的编程/擦除循环次数及触发所述擦除操作的事件类型。
4.或者,通过以一种与正常使用率不相关的方式遵循一确定性、随机性或伪随机性序列来选择比所有所识别单元少的单元来进行擦除操作。
接下来,如步骤99所示,根据下述方式自所选单元读取数据(擦除读取):
1.擦除读取操作并不与完成任一特定主机操作或与其它系统操作(例如平均读写)直接相关,但通常以与正常数据读取操作相同的方式来执行。
2.在如下特定情形中可执行余量读取操作(以不同于正常数据读取操作中参考电平的参考电平来读取):
(a)作为对其中错误太多以致无法通过ECC来校正的数据的第二读取操作,其中所述第二读取操作中的参考电平放宽,从而读取出一宽于正常读取操作的编程分布(或者也可在下文所述数据校正步骤107中执行);或
(b)当预计将由触发事件引发的特定干扰机构可能会使所编程电平明显偏移时,初始读取操作可为一具有更宽参考电平的余量读取操作;或
(c)作为对其中无位错误或仅有少量位错误因而可由ECC校正的数据的第二读取操作以识别出作为已偏离最佳电平的电荷电平存储的数据,其中所述第二读取操作的参考电平缩紧,从而读取出一比正常读取操作窄的分布。(余量读取操作将在下文中参照图10进一步阐述)。
3.作为读取一区块的数据的一部分,也读取开销数据。如果在标头中存储有数据的相对新鲜性,则可使用所述相对新鲜性来识别新近重写因而无需擦除的区块。
在下一步骤101中,评价所读取数据的完整性。作为擦除读取操作的一部分,可根据自存储器单元读取的用户数据计算出一ECC,并将所述ECC与先前在编程期间所计算并与所述用户数据一同存储的ECC相比较。只要不存在位错误或仅存在少量错误因而可由ECC加以校正,即无需执行上文所述的具有放宽的参考电平的第二余量读取操作。
一可视需要执行的附加读取操作是读取跟踪存储单元的电平,以查看其所存储的值是否已改变。为建立用于读取存储单元的参考电平,通常均包含有跟踪存储单元。
一旦读取出数据并已知所读取数据中的错误数量(如果有),即在下一步骤103中确定采取校正措施是否既有必要也可取。某些考虑因素如下:
1.一种方法是校正具有任何数量位错误的数据,由此会使擦除操作更明显地影响存储器系统性能。
2.另一种方法是放弃校正所述数据,除非数据位错误的数量超过某一单元读取阈值N,由此会降低擦除操作对性能的影响。
3.也可使用通过比较各ECC而确定的错误数据位的模式来确定校正所述数据是否可取。
4.较佳不擦除新近重写(具有相对高的新鲜度)的数据。
一般而言,当确定是否校正错误数据时,较佳使完成擦除操作对性能的影响与所述错误对于当前及未来数据完整性的严重性达到平衡。
在下一步骤105中,确定是执行擦除校正措施操作还是将其延期至一后续时间。在做出此一决定时所考虑的一因素与在步骤95中所考虑因素相同,亦即延期,以满足存储器系统此时的特定实时操作需求。一般而言,如果此后完成所述擦除操作将对系统性能造成比当前时刻完成所述擦除操作低的影响,则较佳延期所述擦除操作。通常不希望中断控制器的正常处理操作来执行一擦除操作,特别是在因拟由ECC校正的错误数量很大、需要合并数据及类似原因而使得所述擦除操作将比通常情况耗用更长的时间时尤其如此。当延期时,由擦除读取操作所读取的数据、其地址、由ECC分析所确定的任何错误及在前面步骤中形成的其它擦除操作参数会暂时得到存储。此后,当对系统性能的影响降低时,即会读取所述数据及参数并完成所述擦除操作。
当将要完成擦除操作时,在下一步骤107中校正所述数据。在本实例中,通过使用ECC来校正数据。如果未作为上文所述步骤99的一部分执行余量读取操作,则如果一正常读取操作或擦除读取操作所产生的错误位多于所用ECC可校正的数量,可能需要执行一或多次余量读取操作(其中参考电平放宽,以读取一比先前读取操作期间所用编程分布宽的编程分布)来恢复所述数据。然后,在步骤109中,采取适当的校正措施。此可包括在原先读出所述数据的相同位置处重写已校正数据。当然,此需要首先擦除其中会重写入所述数据的区块,在图2所示存储器结构中,由于每一已校正数据扇区均填满一存储单元区块,因而此可能可行。但在图5及6所示的大区块存储器结构中,此并不有效,除非有足够的已得到校正的校正数据扇区需要使用在逻辑上连续的地址来重写从而填满或接近填满一区块。
或者,也可将已校正数据重写至一与先前在擦除操作中读出所述数据的位置不同的位置内。当存储器结构是利用如图5及6所示的大存储区块时,如果拟重写的数据少于一区块的容量,则可采用上文所述的擦除公用池技术或其它大区块管理技术。举例而言,校正一包含16个、32个或更多个页面的区块中的仅一或两个页面中的资料并不罕见。对于此等情况,可在所述阵列的一个或一个以上平面中将某一区块专用于临时存储所述一或数页已校正数据。然后,在方便时,例如在由存储器正常操作期间的其它因素启动的数据合并期间,将所重写数据与存储于原始区块中页面内的未校正数据相组合。或者,也可在所述专用区块变满时、或在数据的各主题页面已写入所述专用区块后一预设定时间量之后、或者在其它对于系统操作而言方便的时刻启动此种合并。
可方便地利用一或若干共用指定物理区块临时存储来自诸多其它区块中各页面的数据擦除重写且此后再将所重写页面的数据与来自其原始区块中其它页面的数据相合并。举例而言,将来自区块1及2的页面的擦除重写数据临时存储于一临时区块3中。此后,将区块1的擦除重写数据自区块3复制至一已擦除区块4内,并也将区块1中其余未经改动的页面复制至区块3内,以合并映像至物理区块1内的数据。然后,在另一已擦除区块5中执行相同的操作,以在其中合并存储于区块3中的区块2的擦除重写资料与来自区块2的未经改动的资料页面。
在图6所示利用元区块的系统中,既可在每一平面中均具有一个此等专用区块来存储来自所述平面中其它区块的重写数据,也可在整个系统中具有一单个专用区块以将来自任一平面中所有页面的已校正数据均写入所述专用区块中。所选取的具体操作取决于各单独区块中的页面数量、整个存储器阵列中的页面数量、及关于那些其数据将通过擦除过程而得到校正的页面的预期数量及频率的预报。一其结构及/或操作使其易于受到干扰的存储器阵列将需要具有比其它存储器阵列更多的专用区块。如果擦除读取操作未发现数据错误但正在执行擦除操作以便将已偏移的存储电压电平移回至其状态范围的中点,则仅重写所读取数据,因为此时显然不需要进行校正。
使用某些存储器系统的方式几乎不会引起干扰。因此仅偶尔地执行擦除过程,因为几乎不存在将被识别的触发事件。此外,也可行的情况为:不管所擦除数据最初驻存于哪些物理区块中,均将相对少量的重写数据一起永久性地存储于一个或一个以上指定物理区块中。在此种情况下,并不作为擦除过程中的一步骤将所擦除数据的页面重组合入具有其它在逻辑上相邻的数据的页面的物理区块内。校正措施的另一要点是使用一不同于最初写入时的旋转来重写所校正数据。举例而言,可将一四状态系统的四种模拟存储状态范围最初指定为分别表示00,01,10及11,而在重写时则指定为表示11,10,01及00。所述转换是由存储器控制器使用保存作为开销数据或其它数据的一部分的具体旋转数据或以其他方式在读取数据时实施。数据旋转可有利地应用于对已校正数据及不需要校正的数据二者的重写。
可包含的另一校正措施要点是:映像除去那些在历史上所受干扰影响远大于平均影响的存储器页面或区块。此是通过监测所述阵列中各页面、区块、平面及/或其它所定义区域中的数据错误数量来检测。当然,应小心防映射除去因除更易受干扰影响之外的其它原因(例如由于某一区块受到较平均情况更多或不同的使用)而经历数据错误的页面或区块。
擦除算法通常是由存储器控制器来控制,但也可由主机来控制。当由存储器控制器控制时,将所述算法编码成存储器系统固件,所述存储器系统固件通常是在存储器操作期间由微处理器21(图1A)自控制器RAM 25执行。
所使用的具体擦除算法取决于存储器系统、尤其是存储装置11及13(图1A)的某些特性。所述特性的实例如下:
(a)存储于编程存储器单元(通常为一页面)中的主机数据扇区的数量;
(b)存储单元存储状态的数量及指定用于每一存储状态的阈范围的广度;
(c)编程操作单元(通常为一页面)是包括单个还是多个主机数据扇区;
(d)一擦除单元(通常为一区块)中编程操作单元(通常为一页面)的数量;及
(e)存储单元的密度以及一个单元中的操作在另一单元中引起数据干扰的广度及具体趋势。
擦除操作的具体实施例
在图9所示流程图中显示一擦除算法的一更具体的实施例。一般而言,利用与上文所述相同的处理步骤,但所述实施方案显示得更为详细,其中包括参照图10针对一四状态系统实例(在每一物理电荷存储单元中存储2个位)所述的余量擦除读取操作。所述处理操作的两个入口点显示于图9中的115处(当检测到一擦除触发事件时)及117处(当接收到一执行被延期的擦除操作的命令时)。
在步骤115中,按上文针对图8中步骤91所述,监测所述存储器是否发生一擦除触发事件。同样地,在步骤119中,确定待擦除的候选存储单元是否擦除,此与针对图8中步骤93所述者相同。然后,类似于步骤95,在图9所述步骤121中确定是否应因此时需要执行的其它系统操作而延期对任一所述候选单元的擦除操作。如果应延期,则如在123处所示,临时存储候选存储单元的地址及其它所需数据,所述过程会等待其它更高优先权系统操作结束后再继续执行。另一选择为,可延期完成所述擦除操作,直至在步骤117中自主机接收到或存储器控制器产生一后续专门命令,如同在所述过程中后续发生延期时的情形。当在步骤123中存储用于已延期擦除操作的数据后,按步骤124所做决定,结束所执行的特定擦除操作,除非仍存在更多的待擦除单元。如果存在更多的待擦除单元,则所述处理过程转回步骤119。
在下一步骤125中,执行与图8所示步骤97相同的功能,即选择待擦除的候选存储单元。图9中的各后续步骤是每次针对其中一个所选单元执行。在下一步骤126中,将读取断点电平及其它读取条件首先设定至正常读取电平。然后,在步骤127中,在所设定条件下对所述存储单元中的一第一存储单元执行擦除读取操作,此对应于图8中的步骤99。后续各步骤均是对所述同一单元执行,然后一循环129转回至步骤127以依序处理下一所选单元,直至所述单元已全部得到擦除。当然,如果在一特定操作中仅选择一个单元进行擦除,则不存在回环129。
当在步骤127中使用在步骤126中所设定的读取余量完成擦除读取操作后,在步骤131中确定是否存在任何数据错误,此与图8中的步骤101相同。如果存在错误,则在下一步骤133中确定所述错误是否可校正。当使用ECC来确定数据完整性时,所述步骤133会确定在所读取数据单元中坏位的数量是否处于当前所用特定ECC算法的校正能力以内。如果所述错误可校正,则在下一步骤135中确定校正操作是否既有必要也可取,此对应于图8中的步骤103。步骤135可简单至仅确定错误但可校正位的数量是否小于1或极少数位的一阈值,如果是,则可确定不采取校正措施。
步骤135中的决定也可受到所述数据及其ECC是用户数据还是开销数据的影响。如参照图3所述,开销数据可具有其自身的ECC。当确实如此时,可在步骤131及133中单独检查用户数据及开销数据的完整性,且甚至可通过将用户数据及其ECC视为一个单元且将开销数据及其ECC视为另一数据单元(尽管其可能存储于同一页面中)经由具有返回129的完整循环来每次一个地处理用户数据及开销数据。尽管各开销数据ECC及用户数据ECC的用途通常相同,然而所述过程的操作可更严格地保持开销数据的完整性。此是一在维护系统性能(过量的擦除操作会使系统性能降级)与长期保持所存储数据的完整性(此是擦除操作的设计目标)之间实现平衡的实例。
如果步骤135中的决定是应对所关心数据单元中的可校正错误实施校正,则在下一步骤137中询问是否应将资料校正延期。举例而言,如果在所读取数据中存在过多的坏位以致于其校正所耗用的时间将多于所述阶段中可用的时间,则较佳将擦除操作延期。如果不延期,则在步骤139中校正所述错误,此与图8中的步骤107相同。在下一步骤140中,询问是否应将校正措施延期。如果重写所述数据的操作也因一必要的合并(其将耗用的时间将多于可用时间)而涉及到移动其它数据,则通常将擦除操作延期。如果未延期,则在步骤141中根据在上文中阐述图8所示一般实施例时所述的多个重写选项之一来重写所校正数据。在成功地重写所校正数据单元后,在步骤143中确定是否还存在步骤125中选中的任何其它待擦除的存储单元。如果存在,则在步骤145中依序递进至下一单元,且所述处理过程经由循环129返回至步骤127来处理所述新单元。
至此,已对图9所示流程图的主路径阐述完毕。但当某些所述问题的解答不同于上文所述时,会沿所述主路径引入许多分支。拟阐述的第一个此种分支是当所讨论单元中存在的数据位错误过多以致于无法由ECC校正时自步骤133引出。如步骤151所示,此时,将读取阈电平设定为不同于步骤127中擦除读取操作所用的电平,然后在步骤153中,使用所述不同的阈电平再次读取所述单元的数据。此一带余量读取操作显示于图10中。
图10中使用一以四种状态来操作快闪存储器阵列中各单独存储组件的实例。所述图显示一存储单元内存储组件的数量在四个阈电压电平范围中每一范围内的分布(不存在干扰)。其中,在各存储状态阈电平范围之间保持有阈电压防护带155,156及157,在所述防护带内的任何单元中均不存在数据。此是一在将一存储单元的各状态编程并加以验证后即立即存在的人们所期望的编程条件。但当随后编程、读取及/或擦除其它单元时,所述数据可能会受到干扰。所述干扰表现为阈电平在一侧或另一侧偏移至邻近的防护带内。对于每一状态分布内一较小比例的存储单元,可能会发生此种情况,或者整个分布可偏移或伸展至邻近防护带内,此视干扰的性质而定。
对于正常读取操作,使用以各自的防护带155、156及157为中心的断开点电平159、160及161。换句话说,将所读取存储单元的阈电平与所述断开点电平相比较,以确定其存储状态。当一状态内存储单元的阈电平跨过一防护带偏移穿过一断开点电平时,即会出现错误。举例而言,当状态1中存储单元的阈电平偏移降低直至其低于断开点电平159时,即会读出那些存储单元是处于状态0。同样地,如果状态1中存储单元的阈电平偏移升高直至其高于断开点电平160时,一正常读取操作即会显示那些存储单元是处于状态2。然后,通过ECC过程识别此等读取数据错误。但当此等错误过多以致于ECC无法校正时,会通过步骤151及153(图9)使用各状态之间的不同断开点电平实施一第二读取操作。断开点电平159、160及161是在其各自防护带内沿一因干扰引起的预期存储阈电平偏移量的方向偏移,因而此时偏移的电平处于其受干扰之前所处的防护带的同一侧上。
在如此重读取所述数据后,在步骤165中藉助使用ECC来确定是否仍存在任何数据错误。如果不存在,则所述处理过程进行至主处理路径中的步骤135,包括确定是否应将数据校正及重写操作延期。而如果在步骤165中发现仍存在资料错误,则在下一步骤167中确定其是否可由ECC校正。如果可由ECC校正,则所述处理过程也跳转至主处理路径中的步骤135。
但如果通过步骤167发现所述数据错误无法校正,则可使用甚至不同的断开点电平来执行又一读取操作。在一步骤169,确定是否存在任何其余的未经尝试的宽松读取条件。如果存在,则在步骤170中递进重试条件,且所述处理过程返回至步骤151及153,以使用此种新条件来读取数据。但如果不存在所提供的更多不同读取条件,则所讨论阵列单元中的数据必须保持带有其不可校正的错误。由此,即确定对所述单元的擦除操作已失败。其一结果可以是将所有有效数据复制至一新的存储器系统中并然后舍弃当前的存储器。另一结果是仅通过一存储于开销数据或其它数据中的旗标将所述单元标记为坏单元,然后进行至步骤143,以继续擦除其它阵列单元。此时,所述单元中的数据丢失。由于曾作为原始编程操作的一部分验证所述数据最初处于其正确的阈电平范围,因而干扰操作随时间累积的此一可能的结果表明频繁地实施擦除足以防止此种不利后果的合意性。
返回至步骤135,如果在所述步骤中确定校正所述数据既无必要也不可取,则所述处理过程跳转至步骤143,以继续对任何其它所识别的单元执行擦除操作。然后,也返回至步骤137及140,如果确定应将所述数据的校正或重写操作延期,则在步骤171中存储所读取数据、其地址、ECC及任何错误位标识及其它先前所确定数据,然后,所述处理过程跳转至步骤143。然后,如下文所述,当轮到完成已延期的措施操作时,读取所述数据。
然后,返回至步骤131,在确定不存在数据错误后,下一操作可以是通过跳转至步骤143而不再对当前单元的数据执行任何处理。但进一步检查及调节甚至自其读取有效数据的存储单元的存储电平也可为合意之举。此包括使用不同于最初读取操作中所用断开点电平来执行再读取操作,以便识别任何其中所存储电荷电平已移至针对各状态所界定的电平之间防护带内的存储单元(参见图10),即使那些电平尚未穿过一断开点电平进而引起一正常读取数据错误。在一步骤172中,确定是否存在任何尚未尝试的此种读取条件。如果存在,则在步骤173中选择新的断开点电平及/或其它擦除读取条件。然后,所述处理过程返回至步骤126,在步骤126中设定那些读取条件并随后在步骤127中使用那些条件执行读取。在所述读取操作中所用的断开点电平被(举例而言)偏移至图10中防护带155、156及157的边缘。如果在步骤131中,藉助使用ECC确定存在数据错误,则错误数据位表示电荷电平已偏移至防护带内。因此最好在首先确定是否应将数据校正及重写操作延期之后校正并重写所述数据,由此使所存储电荷电平自防护带移出至图10所示的其所需状态分布内。
如果在步骤131中使用更具限制性的余量确定所读取数据中不存在错误,则对当前数据单元的处理即告结束。然后,在步骤172中确定是否有尚未对所述数据单元尝试的更多的所界定擦除读取条件。如果有,则可使用更为严格的断开点电平再次读取所述数据。换句话说,可使用可在步骤172中得到的一第一组替代读取条件第二次读取所述数据,其中各断开点电平仅沿其各自的防护带偏移一部分路程,然后,使用在步骤172中所选的一第二组替代读取条件的断开点电平第三次重复所述操作,其中所述第二组替代读取条件的断开点电平更进一步朝防护带边缘移动以进一步精细调节所述电荷存储电平(如果需要)。可根据实际尽量多地提供此类额外的擦除读取条件。
返回步骤135,在步骤135中,可确定不加校正地接受一定程度的数据错误,应注意,此与上文刚刚所述的由步骤172及173分支对未含有错误的存储数据所实施调节的精确性不一致。因此,如果使用所述处理分支,则步骤135很可能不容许不加校正地接受错误数据。
当在步骤143中确定确实已擦除当前所识别的所有待擦除数据单元后,可视需要将所述数据单元中任何已表现出其数据特别易受干扰者映像出所述系统。在步骤185中,确定是否存在任何应移除出所述系统的此种物理性存储器单元,如果有,则在步骤187中将所述单元映像出所述系统。然后,擦除操作即告结束。
然而,如果已将数据校正及/或重写延期,则存储器控制器或主机系统将对此进行注释。在一适当的时刻,当不存在待决的更高优先权存储器操作时,即可完成对已局部擦除单元的擦除操作,所述操作开始于步骤117。然后,在步骤191中,读取在步骤171中为一个单元存储的数据、ECC及其它信息。如果来自所述单元的数据需要校正,则在步骤193中校正。然后,在步骤195中,重写校正数据。如果不再存在其它需要完成的已局部完成的擦除操作,则在步骤197中确定此种情况,然后执行步骤185或者结束所述处理过程。而如果尚存在其它待完成的单元,则所述处理在步骤199中递进至下一单元,然后对来自那些单元的数据重复步骤191,193及195。
如果在步骤123中存储候选存储单元的地址以供延期擦除,则所述处理操作可自动返回以在控制器没有要执行的更高优先权操作时一次一个地继续已延期单元的擦除操作。由于延期步骤121在图9所示处理过程中如此早,因而返回至一届时已延期的单元会使所述处理过程自步骤125重新开始并沿所述路径按上文所述继续。也可在步骤137或140之一中将此一单元的校正及/或重写操作再次延期。
结论
尽管上文是参照本发明的例示性实施例来阐述本发明的各种方面,然而应了解,本发明应在随附权利要求书的整个范围内受到保护。

Claims (10)

1、一种操作一组织成若干子阵列的快闪存储器单元阵列的方法,所述子阵列包含多个由可共同擦除的一最小数量的存储单元组成的区块,且所述区块存储有若干数据单元,所述方法包括:
识别何时所述区块的一第一区块中所述数据单元的至少一个中所存储的数据已发生一擦除触发事件;
自所述第一区块读取所述已识别的至少一个数据单元;
校正自所述第一区块读取的所述数据中的任何错误,以提供经校正的第一区块数据;
将所述经校正的第一区块数据作为至少一个数据单元写入至所述区块中的一第二区块;及
此后,将所述第一区块中未经校正的数据单元复制至所述第二区块内,藉此在所述第二区块中合并原来位于所述第一区块中的经校正的数据单元及未经校正的数据单元。
2、如权利要求1所述的方法,其还包括:在将所述经校正的第一区块数据写入至所述第二区块内之前,将所述经校正的第一区块数据临时存储于一第三区块中。
3、如权利要求2所述的方法,其还包括:
识别何时所述区块中一第四区块所存储的所述数据单元的至少之一已发生一干扰事件;
自所述第四区块读取所述所识别的至少一个数据单元;
校正自所述第四区块读取的所述数据中的任何错误,以提供经校正的第四区块数据;
将所述经校正的第四区块数据临时存储于所述第三区块中,并在此后将所述经校正的第四区块数据作为至少一个数据单元写入至一第五区块;
此后,将所述第四区块中未经校正的数据单元复制至所述第五区块内,藉以在所述第五区块中合并原来位于所述第四区块中的经校正的数据单元及未经校正的数据单元。
4、如权利要求1所述的方法,其中所述擦除触发事件包括一干扰所述第一区块中存储的所述数据单元的所述至少一个的事件。
5、如权利要求1所述的方法,其还包括:在读取所述数据之后但在校正其任何错误之前,暂停所述操作,直至其它更高优先权操作得到执行。
6、如权利要求1所述的方法,其还包括:在校正其任何错误之后但在写入所述经校正的数据之前,暂停所述操作,直至其它更高优先权操作得到执行。
7、一种操作一快闪存储器单元阵列的方法,其包括:
识别何时存储于所述阵列内至少一个位置中的数据已发生一擦除触发事件;
读取存储于所述阵列内所述至少一个位置中的所述数据;
临时存储关于所述至少一个位置及自其读取的所述数据的信息;
在仍存储所述信息时,将其它数据编程至所述阵列内除所述至少一个位置外的一个或一个以上位置中,或自所述阵列内除所述至少一个位置外的一个或一个以上位置读取其它数据;
此后,确定在自所述阵列中所述至少一个位置读取的所述读取数据中是否存在任何错误;
利用所述所存储信息,校正自所述阵列中所述至少一个位置读取的所述数据中的任何错误;及
将所述经校正的数据写入所述阵列内。
8、如权利要求7所述的方法,其中所述擦除触发事件包括一干扰存储在所述阵列的至少一个位置中的所述数据的事件。
9、一种操作一快闪存储器单元阵列的方法,其包括:
识别何时存储于所述阵列内至少一个位置中的数据已发生一擦除触发事件;
读取存储于所述阵列内所述至少一个位置中的所述数据;
此后,确定在自所述阵列中所述至少一个位置读取的所述读取数据中是否存在任何错误;
校正自所述阵列中所述至少一个位置读取的所述数据中的任何错误;
临时存储所述经校正的数据;
在仍存储所述经校正的数据时,将其它数据编程至所述阵列内除所述至少一个位置外的一个或一个以上位置中,或自所述阵列内除所述至少一个位置外的一个或一个以上位置读取其它数据;及
此后,将所述经校正的数据写入所述阵列内。
10、如权利要求9所述的方法,其中所述擦除触发事件包括一干扰存储在所述阵列的至少一个位置中的所述数据单元的事件。
CNB2004800331973A 2003-10-03 2004-09-28 快闪存储器数据校正及擦除技术 Expired - Fee Related CN100541439C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/678,345 US7012835B2 (en) 2003-10-03 2003-10-03 Flash memory data correction and scrub techniques
US10/678,345 2003-10-03

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2009101608367A Division CN101630279B (zh) 2003-10-03 2004-09-28 快闪存储器数据校正及擦除技术

Publications (2)

Publication Number Publication Date
CN1882918A CN1882918A (zh) 2006-12-20
CN100541439C true CN100541439C (zh) 2009-09-16

Family

ID=34393904

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2009101608367A Expired - Fee Related CN101630279B (zh) 2003-10-03 2004-09-28 快闪存储器数据校正及擦除技术
CNB2004800331973A Expired - Fee Related CN100541439C (zh) 2003-10-03 2004-09-28 快闪存储器数据校正及擦除技术

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2009101608367A Expired - Fee Related CN101630279B (zh) 2003-10-03 2004-09-28 快闪存储器数据校正及擦除技术

Country Status (9)

Country Link
US (5) US7012835B2 (zh)
EP (2) EP1847930B1 (zh)
JP (1) JP4723504B2 (zh)
KR (1) KR101127882B1 (zh)
CN (2) CN101630279B (zh)
AT (2) ATE382892T1 (zh)
DE (2) DE602004011097T2 (zh)
TW (1) TWI261840B (zh)
WO (1) WO2005036401A2 (zh)

Families Citing this family (580)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657332A (en) * 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
KR100544175B1 (ko) * 1999-05-08 2006-01-23 삼성전자주식회사 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법
US6851070B1 (en) * 2001-08-13 2005-02-01 Network Appliance, Inc. System and method for managing time-limited long-running operations in a data storage system
CN100489797C (zh) * 2001-10-11 2009-05-20 阿尔特拉公司 可编程逻辑设备上的错误检测
US7233522B2 (en) 2002-12-31 2007-06-19 Sandisk 3D Llc NAND memory array incorporating capacitance boosting of channel regions in unselected memory cells and method for operation of same
US7505321B2 (en) 2002-12-31 2009-03-17 Sandisk 3D Llc Programmable memory array structure incorporating series-connected transistor strings and methods for fabrication and operation of same
US7372731B2 (en) * 2003-06-17 2008-05-13 Sandisk Il Ltd. Flash memories with adaptive reference voltages
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7221588B2 (en) * 2003-12-05 2007-05-22 Sandisk 3D Llc Memory array incorporating memory cells arranged in NAND strings
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
US7328377B1 (en) 2004-01-27 2008-02-05 Altera Corporation Error correction for programmable logic integrated circuits
US20050172064A1 (en) * 2004-01-29 2005-08-04 Marcelo Krygier Method and apparatus for addressing in mass storage non-volatile memory devices
US20080082736A1 (en) * 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card
KR101115843B1 (ko) * 2004-05-06 2012-03-09 파나소닉 주식회사 반도체 메모리장치
US20050268077A1 (en) * 2004-05-11 2005-12-01 Peter Kuan Memory system for an electronic device and the method for controlling the same
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US7975306B2 (en) * 2004-06-04 2011-07-05 Hewlett-Packard Development Company, L.P. Apparatus and method for monitoring secure software
TWI243376B (en) * 2004-07-16 2005-11-11 Univ Nat Chiao Tung Method of combining multi-level memory unit and providing the same with error correction mechanism
US7509526B2 (en) * 2004-09-24 2009-03-24 Seiko Epson Corporation Method of correcting NAND memory blocks and to a printing device employing the method
US7441067B2 (en) 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
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
US7158421B2 (en) * 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US20060161724A1 (en) * 2005-01-20 2006-07-20 Bennett Alan D Scheduling of housekeeping operations in flash memory systems
JP4679943B2 (ja) * 2005-03-23 2011-05-11 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ データ記憶装置及びその不揮発性メモリ内データ書き換え処理方法
US7463521B2 (en) * 2005-04-01 2008-12-09 Sandisk Corporation Method for non-volatile memory with managed execution of cached data
US7206230B2 (en) * 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7447078B2 (en) 2005-04-01 2008-11-04 Sandisk Corporation Method for non-volatile memory with background data latch caching during read operations
US7187585B2 (en) * 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7196928B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7196946B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling in non-volatile storage
EP1712985A1 (en) * 2005-04-15 2006-10-18 Deutsche Thomson-Brandt Gmbh Method and system for storing logical data blocks into flash-blocks in multiple non-volatile memories which are connected to at least one common data I/O bus
US7290185B2 (en) * 2005-04-28 2007-10-30 International Business Machines Corporation Methods and apparatus for reducing memory errors
JP4991131B2 (ja) * 2005-08-12 2012-08-01 株式会社東芝 半導体記憶装置
US7698591B2 (en) * 2005-08-26 2010-04-13 International Business Machines Corporation Method and apparatus for ensuring data integrity in redundant mass storage systems
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
JP4413840B2 (ja) * 2005-09-20 2010-02-10 株式会社東芝 記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
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
US7954037B2 (en) * 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
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
US7634585B2 (en) * 2005-11-04 2009-12-15 Sandisk Corporation In-line cache using nonvolatile memory between host and disk device
US20070106842A1 (en) * 2005-11-04 2007-05-10 Conley Kevin M Enhanced first level storage caching methods using nonvolatile memory
US7644251B2 (en) 2005-12-19 2010-01-05 Sigmatel, Inc. Non-volatile solid-state memory controller
US7349260B2 (en) * 2005-12-29 2008-03-25 Sandisk Corporation Alternate row-based reading and writing for non-volatile memory
US7443726B2 (en) * 2005-12-29 2008-10-28 Sandisk Corporation Systems for alternate row-based reading and writing for non-volatile memory
US8219886B1 (en) 2006-01-20 2012-07-10 Marvell International Ltd. High density multi-level memory
US8055979B2 (en) 2006-01-20 2011-11-08 Marvell World Trade Ltd. Flash memory with coding and signal processing
US7844879B2 (en) 2006-01-20 2010-11-30 Marvell World Trade Ltd. Method and system for error correction in flash memory
US7493523B2 (en) * 2006-03-14 2009-02-17 International Business Machines Corporation Method and apparatus for preventing soft error accumulation in register arrays
US7409490B2 (en) * 2006-04-15 2008-08-05 Yi-Chun Liu Method of flash memory management
US7433231B2 (en) * 2006-04-26 2008-10-07 Micron Technology, Inc. Multiple select gates with non-volatile memory cells
US7495966B2 (en) 2006-05-01 2009-02-24 Micron Technology, Inc. Memory voltage cycle adjustment
EP2016590B1 (en) 2006-05-05 2011-10-26 SanDisk Corporation Non-volatile memory with background data latch caching during read operations and methods therefor
US8156403B2 (en) * 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US7697326B2 (en) * 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
WO2007132456A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
US20070266296A1 (en) * 2006-05-15 2007-11-15 Conley Kevin M Nonvolatile Memory with Convolutional Coding
US7840875B2 (en) * 2006-05-15 2010-11-23 Sandisk Corporation Convolutional coding methods for nonvolatile memory
JP4813264B2 (ja) * 2006-06-14 2011-11-09 株式会社日立製作所 ストレージシステム
US7352628B2 (en) * 2006-06-19 2008-04-01 Sandisk Corporation Systems for programming differently sized margins and sensing with compensations at select states for improved read operations in a non-volatile memory
US7606084B2 (en) * 2006-06-19 2009-10-20 Sandisk Corporation Programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
US7486561B2 (en) * 2006-06-22 2009-02-03 Sandisk Corporation Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US7489549B2 (en) * 2006-06-22 2009-02-10 Sandisk Corporation System for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
JP4908083B2 (ja) * 2006-06-30 2012-04-04 株式会社東芝 メモリコントローラ
JP2008009919A (ja) * 2006-06-30 2008-01-17 Toshiba Corp カードコントローラ
CN1933026A (zh) * 2006-08-18 2007-03-21 福昭科技(深圳)有限公司 高可靠排序管理扇区的存储结构
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
US7474560B2 (en) * 2006-08-21 2009-01-06 Micron Technology, Inc. Non-volatile memory with both single and multiple level cells
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US20080072070A1 (en) * 2006-08-29 2008-03-20 General Dynamics C4 Systems, Inc. Secure virtual RAM
US7450425B2 (en) * 2006-08-30 2008-11-11 Micron Technology, Inc. Non-volatile memory cell read failure reduction
KR101470621B1 (ko) * 2006-09-27 2014-12-05 샌디스크 테크놀로지스, 인코포레이티드 셀 모집단 분포 보조 판독 마지닝을 갖는 메모리
US7886204B2 (en) * 2006-09-27 2011-02-08 Sandisk Corporation Methods of cell population distribution assisted read margining
US7716538B2 (en) * 2006-09-27 2010-05-11 Sandisk Corporation Memory with cell population distribution assisted read margining
US20080092015A1 (en) * 2006-09-28 2008-04-17 Yigal Brandman Nonvolatile memory with adaptive operation
US7805663B2 (en) * 2006-09-28 2010-09-28 Sandisk Corporation Methods of adapting operation of nonvolatile memory
US7818653B2 (en) * 2006-09-28 2010-10-19 Sandisk Corporation Methods of soft-input soft-output decoding for nonvolatile memory
US7904783B2 (en) * 2006-09-28 2011-03-08 Sandisk Corporation Soft-input soft-output decoder for nonvolatile memory
US7684247B2 (en) * 2006-09-29 2010-03-23 Sandisk Corporation Reverse reading in non-volatile memory with compensation for coupling
US7447076B2 (en) * 2006-09-29 2008-11-04 Sandisk Corporation Systems for reverse reading in non-volatile memory with compensation for coupling
US20080091901A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Method for non-volatile memory with worst-case control data management
US20080091871A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Non-volatile memory with worst-case control data management
DE602006019010D1 (de) * 2006-10-20 2011-01-27 Fujitsu Ltd Speicheranordnung und auffrisch-justierverfahren
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
KR100784007B1 (ko) * 2006-10-31 2007-12-10 주식회사 하이닉스반도체 비휘발성 메모리 장치 및 그 소거 방법
US7904780B2 (en) * 2006-11-03 2011-03-08 Sandisk Corporation Methods of modulating error correction coding
US7558109B2 (en) * 2006-11-03 2009-07-07 Sandisk Corporation Nonvolatile memory with variable read threshold
US7904788B2 (en) * 2006-11-03 2011-03-08 Sandisk Corporation Methods of varying read threshold voltage in nonvolatile memory
US8001441B2 (en) * 2006-11-03 2011-08-16 Sandisk Technologies Inc. Nonvolatile memory with modulated error correction coding
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
WO2008068747A2 (en) * 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7616505B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Complete word line look ahead with efficient data latch assignment in non-volatile memory read operations
TW200828320A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Method for performing static wear leveling on flash memory
US7616506B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Systems for complete word line look ahead with efficient data latch assignment in non-volatile memory read operations
US7561465B2 (en) * 2006-12-28 2009-07-14 Advanced Micro Devices, Inc. Methods and systems for recovering data in a nonvolatile memory array
US8583981B2 (en) 2006-12-29 2013-11-12 Marvell World Trade Ltd. Concatenated codes for holographic storage
US7751240B2 (en) * 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
KR100823171B1 (ko) * 2007-02-01 2008-04-18 삼성전자주식회사 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
KR100813630B1 (ko) * 2007-02-07 2008-03-14 삼성전자주식회사 독출 성능을 향상할 수 있는 플래시 메모리 시스템 및그것의 독출 방법
WO2008111058A2 (en) * 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US7987332B2 (en) * 2007-03-21 2011-07-26 Sandisk Technologies Inc. Methods for storing memory operations in a queue
US7573773B2 (en) 2007-03-28 2009-08-11 Sandisk Corporation Flash memory with data refresh triggered by controlled scrub data reads
US7477547B2 (en) 2007-03-28 2009-01-13 Sandisk Corporation Flash memory refresh techniques triggered by controlled scrub data reads
EP2135251B1 (en) * 2007-03-28 2017-06-14 SanDisk Technologies LLC Flash memory refresh techniques triggered by controlled scrub data reads
WO2008121553A1 (en) * 2007-03-29 2008-10-09 Sandisk Corporation Non-volatile storage with decoding of data using reliability metrics based on multiple reads
US7797480B2 (en) * 2007-03-29 2010-09-14 Sandisk Corporation Method for reading non-volatile storage using pre-conditioning waveforms and modified reliability metrics
US7904793B2 (en) * 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US8001320B2 (en) * 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8332574B2 (en) 2007-04-30 2012-12-11 Sandisk Il Ltd. Method for efficient storage of metadata in flash memory
US7577036B2 (en) * 2007-05-02 2009-08-18 Micron Technology, Inc. Non-volatile multilevel memory cells with data read of reference cells
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
KR20080100750A (ko) * 2007-05-14 2008-11-19 삼성전자주식회사 데이터 읽기 장치 및 그 방법
US20080285368A1 (en) * 2007-05-17 2008-11-20 Macronix International Co., Ltd. Method for nrom array word line retry erasing and threshold voltage recovering
JP4994112B2 (ja) * 2007-05-22 2012-08-08 ルネサスエレクトロニクス株式会社 半導体集積回路装置およびメモリ制御方法
US20080294813A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Managing Housekeeping Operations in Flash Memory
US20080294814A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Flash Memory System with Management of Housekeeping Operations
JP5216244B2 (ja) * 2007-05-31 2013-06-19 株式会社東芝 データリフレッシュ装置、及びデータリフレッシュ方法
US7765426B2 (en) 2007-06-07 2010-07-27 Micron Technology, Inc. Emerging bad block detection
KR100882841B1 (ko) * 2007-06-19 2009-02-10 삼성전자주식회사 읽기 디스터번스로 인한 비트 에러를 검출할 수 있는메모리 시스템 및 그것의 읽기 방법
KR100838292B1 (ko) * 2007-06-20 2008-06-17 삼성전자주식회사 메모리 셀의 읽기 레벨 제어 장치 및 그 방법
US8166239B2 (en) * 2007-06-21 2012-04-24 International Business Machines Corporation Translation lookaside buffer and related method and program product utilized for virtual addresses
US8504784B2 (en) * 2007-06-27 2013-08-06 Sandisk Technologies Inc. Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8060798B2 (en) 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
WO2009021176A2 (en) * 2007-08-08 2009-02-12 Sandisk Corporation Urgency and time window manipulation to accommodate unpredictable memory operations
US8046524B2 (en) 2007-08-08 2011-10-25 Sandisk Technologies Inc. Managing processing delays in an isochronous system
US7770079B2 (en) * 2007-08-22 2010-08-03 Micron Technology Inc. Error scanning in flash memory
KR101425958B1 (ko) * 2007-09-06 2014-08-04 삼성전자주식회사 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법
US7882323B2 (en) * 2007-09-07 2011-02-01 International Business Machines Corporation Scheduling of background scrub commands to reduce high workload memory request latency
US7882314B2 (en) * 2007-09-07 2011-02-01 International Business Machines Corporation Efficient scheduling of background scrub commands
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8650352B2 (en) * 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US7751237B2 (en) * 2007-09-25 2010-07-06 Sandisk Il, Ltd. Post-facto correction for cross coupling in a flash memory
US7551477B2 (en) * 2007-09-26 2009-06-23 Sandisk Corporation Multiple bit line voltages based on distance
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8527819B2 (en) * 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US20090109755A1 (en) * 2007-10-24 2009-04-30 Mori Edan Neighbor block refresh for non-volatile memory
US8443242B2 (en) 2007-10-25 2013-05-14 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
JP4535117B2 (ja) * 2007-11-06 2010-09-01 ソニー株式会社 メモリ装置、メモリ管理方法、およびプログラム
US7876616B2 (en) * 2007-11-12 2011-01-25 Cadence Design Systems, Inc. System and method for wear leveling utilizing a relative wear counter
US8270246B2 (en) * 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
CN101436161B (zh) * 2007-11-16 2010-12-29 创见资讯股份有限公司 存储装置与其数据存取和存储器区块管理方法
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
WO2009072100A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Systems and methods for temporarily retiring memory portions
WO2009072105A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications
WO2009072103A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells
JP2009140564A (ja) * 2007-12-06 2009-06-25 Toshiba Corp Nand型フラッシュメモリおよびメモリシステム
WO2009074979A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
WO2009078006A2 (en) 2007-12-18 2009-06-25 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
KR101498669B1 (ko) * 2007-12-20 2015-03-19 삼성전자주식회사 반도체 메모리 시스템 및 그것의 액세스 방법
US7934052B2 (en) 2007-12-27 2011-04-26 Pliant Technology, Inc. System and method for performing host initiated mass storage commands using a hierarchy of data structures
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8301912B2 (en) * 2007-12-31 2012-10-30 Sandisk Technologies Inc. System, method and memory device providing data scrambling compatible with on-chip copy operation
KR101454817B1 (ko) * 2008-01-11 2014-10-30 삼성전자주식회사 반도체 메모리 장치 및 그것의 마모도 관리 방법
CN101911207B (zh) * 2008-01-16 2014-05-07 富士通株式会社 半导体存储装置、控制装置、控制方法
PL384327A1 (pl) * 2008-01-26 2009-08-03 Atm Spółka Akcyjna Sieć danych oraz sposób regeneraji stanu zapisu plików cyfrowych w sieci danych
US8156398B2 (en) * 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) * 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) * 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8972472B2 (en) * 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US7971023B2 (en) * 2008-04-30 2011-06-28 Sandisk Corporation Guaranteed memory card performance to end-of-life
US20090282267A1 (en) * 2008-05-09 2009-11-12 Ori Stern Partial scrambling to reduce correlation
KR20110050404A (ko) 2008-05-16 2011-05-13 퓨전-아이오, 인크. 결함 있는 데이터 저장소를 검출하고 교체하는 장치, 시스템 및 프로그램 제품
KR101486987B1 (ko) * 2008-05-21 2015-01-30 삼성전자주식회사 불휘발성 메모리를 포함하는 반도체 메모리 장치 및 불휘발성 메모리를 위한 커맨드 스케줄링 방법
US7848144B2 (en) * 2008-06-16 2010-12-07 Sandisk Corporation Reverse order page writing in flash memories
US7808831B2 (en) * 2008-06-30 2010-10-05 Sandisk Corporation Read disturb mitigation in non-volatile memory
US7971007B2 (en) * 2008-07-08 2011-06-28 Silicon Motion, Inc. Downgrade memory apparatus, and method for accessing a downgrade memory
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
JP5478855B2 (ja) * 2008-08-08 2014-04-23 ルネサスエレクトロニクス株式会社 不揮発性メモリ制御方法及び半導体装置
CN101650974B (zh) * 2008-08-12 2012-12-19 创见资讯股份有限公司 可自我检测使用状态的储存装置及其检测方法
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8213229B2 (en) * 2008-08-22 2012-07-03 HGST Netherlands, B.V. Error control in a flash memory device
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
TWI389122B (zh) * 2008-10-30 2013-03-11 Silicon Motion Inc 用來存取一快閃記憶體之方法以及相關之記憶裝置及其控制器
CN101740123B (zh) * 2008-11-10 2012-04-04 扬智科技股份有限公司 存储器的数据保护方法
US8208304B2 (en) * 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
CN102855943B (zh) * 2008-11-28 2017-04-12 群联电子股份有限公司 错误校正控制器及其闪存芯片系统与错误校正方法
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
US8291297B2 (en) * 2008-12-18 2012-10-16 Intel Corporation Data error recovery in non-volatile memory
US7859932B2 (en) * 2008-12-18 2010-12-28 Sandisk Corporation Data refresh for non-volatile storage
JP4551958B2 (ja) * 2008-12-22 2010-09-29 株式会社東芝 半導体記憶装置および半導体記憶装置の制御方法
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8244960B2 (en) * 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8924819B2 (en) * 2009-01-23 2014-12-30 Macronix International Co., Ltd. Memory device and operation method thereof
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) * 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US9116830B2 (en) * 2009-04-29 2015-08-25 Texas Instruments Incorporated Method to extend data retention for flash based storage in a real time device processed on generic semiconductor technology
US8255613B2 (en) 2009-04-30 2012-08-28 International Business Machines Corporation Wear-leveling and bad block management of limited lifetime memory devices
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US9170879B2 (en) * 2009-06-24 2015-10-27 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated data errors from a memory system
US8775865B2 (en) 2009-06-24 2014-07-08 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated disturb data errors in an array of SMT MRAM memory cells including rewriting reference bits
US8261136B2 (en) * 2009-06-29 2012-09-04 Sandisk Technologies Inc. Method and device for selectively refreshing a region of a memory of a data storage device
US8321727B2 (en) * 2009-06-29 2012-11-27 Sandisk Technologies Inc. System and method responsive to a rate of change of a performance parameter of a memory
US8255773B2 (en) * 2009-06-29 2012-08-28 Sandisk Technologies Inc. System and method of tracking error data within a storage device
US20100332922A1 (en) * 2009-06-30 2010-12-30 Mediatek Inc. Method for managing device and solid state disk drive utilizing the same
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US20110035540A1 (en) * 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
US20110041005A1 (en) 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
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
US8370720B2 (en) * 2009-08-19 2013-02-05 Ocz Technology Group, Inc. Mass storage device and method for offline background scrubbing of solid-state memory devices
US20110047322A1 (en) * 2009-08-19 2011-02-24 Ocz Technology Group, Inc. Methods, systems and devices for increasing data retention on solid-state mass storage devices
US8910002B2 (en) * 2009-08-24 2014-12-09 OCZ Storage Solutions Inc. NAND flash-based storage device with built-in test-ahead for failure anticipation
CN102473460B (zh) * 2009-08-25 2016-10-12 桑迪士克以色列有限公司 将数据恢复到闪存器件中
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US8305812B2 (en) * 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8743629B2 (en) 2009-08-31 2014-06-03 Sandisk Il Ltd. Preloading data into a flash storage device
US20110059628A1 (en) * 2009-09-04 2011-03-10 Solid State System Co., Ltd. Secure digital card with two micro-sd cards in striping data access
KR101678909B1 (ko) * 2009-09-17 2016-11-23 삼성전자주식회사 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8504884B2 (en) * 2009-10-29 2013-08-06 Freescale Semiconductor, Inc. Threshold voltage techniques for detecting an imminent read failure in a memory array
JP5349256B2 (ja) 2009-11-06 2013-11-20 株式会社東芝 メモリシステム
US8769188B2 (en) * 2009-11-18 2014-07-01 Mediatek Inc. Nonvolatile memory controller and method for writing data to nonvolatile memory
US8626988B2 (en) * 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US8473809B2 (en) * 2009-11-20 2013-06-25 Sandisk Technologies Inc. Data coding for improved ECC efficiency
US8495281B2 (en) * 2009-12-04 2013-07-23 International Business Machines Corporation Intra-block memory wear leveling
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8468294B2 (en) * 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US20110153912A1 (en) * 2009-12-18 2011-06-23 Sergey Anatolievich Gorobets Maintaining Updates of Multi-Level Non-Volatile Memory in Binary Non-Volatile Memory
US9037777B2 (en) * 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
TWI416331B (zh) * 2009-12-23 2013-11-21 Phison Electronics Corp 用於快閃記憶體的資料寫入方法及其控制器與儲存裝置
US8607124B2 (en) * 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
KR101090394B1 (ko) * 2009-12-24 2011-12-07 주식회사 하이닉스반도체 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법
US8443263B2 (en) 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US8595411B2 (en) 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
KR101648531B1 (ko) * 2010-02-12 2016-08-17 삼성전자주식회사 불휘발성 메모리 시스템과 이의 동작 방법
KR101655306B1 (ko) * 2010-02-24 2016-09-07 삼성전자주식회사 메모리 시스템 및 그것의 액세스 방법
US8700970B2 (en) * 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8365041B2 (en) * 2010-03-17 2013-01-29 Sandisk Enterprise Ip Llc MLC self-raid flash data protection scheme
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8516274B2 (en) 2010-04-06 2013-08-20 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9183134B2 (en) * 2010-04-22 2015-11-10 Seagate Technology Llc Data segregation in a storage device
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8452937B2 (en) 2010-05-14 2013-05-28 Sandisk Il Ltd. Moving executable code from a first region of a non-volatile memory to a second region of the non-volatile memory to reduce read disturb
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8621321B2 (en) 2010-07-01 2013-12-31 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8819503B2 (en) * 2010-07-02 2014-08-26 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US8467249B2 (en) 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8737141B2 (en) 2010-07-07 2014-05-27 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US8432732B2 (en) 2010-07-09 2013-04-30 Sandisk Technologies Inc. Detection of word-line leakage in memory arrays
US8737136B2 (en) 2010-07-09 2014-05-27 Stec, Inc. Apparatus and method for determining a read level of a memory cell based on cycle information
US8305807B2 (en) 2010-07-09 2012-11-06 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US8514630B2 (en) 2010-07-09 2013-08-20 Sandisk Technologies Inc. Detection of word-line leakage in memory arrays: current based approach
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8452911B2 (en) 2010-09-30 2013-05-28 Sandisk Technologies Inc. Synchronized maintenance operations in a multi-bank storage system
WO2012048098A1 (en) 2010-10-06 2012-04-12 Blackbird Technology Holdings, Inc. Method and apparatus for low-power, long-range networking
WO2012048118A2 (en) 2010-10-06 2012-04-12 Blackbird Technology Holdings, Inc. Method and apparatus for adaptive searching of distributed datasets
US8718551B2 (en) 2010-10-12 2014-05-06 Blackbird Technology Holdings, Inc. Method and apparatus for a multi-band, multi-mode smartcard
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
WO2012068227A1 (en) 2010-11-16 2012-05-24 Blackbird Technology Holdings, Inc. Method and apparatus for interfacing with a smartcard
US8479062B2 (en) * 2010-12-03 2013-07-02 International Business Machines Corporation Program disturb error logging and correction for flash memory
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
JP2012133642A (ja) * 2010-12-22 2012-07-12 Sony Corp メモリ装置、メモリ制御方法、およびプログラム
US8819328B2 (en) 2010-12-30 2014-08-26 Sandisk Technologies Inc. Controller and method for performing background operations
WO2012100145A1 (en) * 2011-01-21 2012-07-26 Blackbird Technology Holdings, Inc. Method and apparatus for memory management
JP5917163B2 (ja) * 2011-01-27 2016-05-11 キヤノン株式会社 情報処理装置、その制御方法及びプログラム並びに記憶媒体
US8886990B2 (en) * 2011-01-27 2014-11-11 Apple Inc. Block management schemes in hybrid SLC/MLC memory
US20120203993A1 (en) * 2011-02-08 2012-08-09 SMART Storage Systems, Inc. Memory system with tiered queuing and method of operation thereof
US8909851B2 (en) 2011-02-08 2014-12-09 SMART Storage Systems, Inc. Storage control system with change logging mechanism and method of operation thereof
US8484542B2 (en) 2011-02-08 2013-07-09 Sandisk Technologies Inc. Data recovery using additional error correction coding data
US8909865B2 (en) 2011-02-15 2014-12-09 Blackbird Technology Holdings, Inc. Method and apparatus for plug and play, networkable ISO 18000-7 connectivity
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US9154392B2 (en) 2011-03-02 2015-10-06 Blackbird Technology Holdings, Inc. Method and apparatus for power autoscaling in a resource-constrained network
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
JP2012198949A (ja) * 2011-03-18 2012-10-18 Toshiba Corp 半導体記憶装置
US8935466B2 (en) 2011-03-28 2015-01-13 SMART Storage Systems, Inc. Data storage system with non-volatile memory and method of operation thereof
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
US9047955B2 (en) 2011-03-30 2015-06-02 Stec, Inc. Adjusting operating parameters for memory cells based on wordline address and cycle information
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US8484521B2 (en) * 2011-04-07 2013-07-09 International Business Machines Corporation Firmware monitoring of memory scrub coverage
KR101467941B1 (ko) 2011-04-26 2014-12-02 엘에스아이 코포레이션 비휘발성 저장부에 대한 가변 오버­프로비저닝
JP2012230581A (ja) * 2011-04-27 2012-11-22 Mitsubishi Electric Corp データ記憶装置
WO2012151001A1 (en) * 2011-04-30 2012-11-08 Rambus Inc. Configurable, error-tolerant memory control
KR101678919B1 (ko) * 2011-05-02 2016-11-24 삼성전자주식회사 메모리 시스템 및 에러 정정 방법
US8379454B2 (en) 2011-05-05 2013-02-19 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8825944B2 (en) 2011-05-23 2014-09-02 International Business Machines Corporation Populating strides of tracks to demote from a first cache to a second cache
CN102163165B (zh) * 2011-05-26 2012-11-14 忆正存储技术(武汉)有限公司 一种闪存错误预估模块及其预估方法
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8456911B2 (en) 2011-06-07 2013-06-04 Sandisk Technologies Inc. Intelligent shifting of read pass voltages for non-volatile storage
US8694719B2 (en) 2011-06-24 2014-04-08 Sandisk Technologies Inc. Controller, storage device, and method for power throttling memory operations
US8929961B2 (en) 2011-07-15 2015-01-06 Blackbird Technology Holdings, Inc. Protective case for adding wireless functionality to a handheld electronic device
US8669889B2 (en) 2011-07-21 2014-03-11 International Business Machines Corporation Using variable length code tables to compress an input data stream to a compressed output data stream
US8400335B2 (en) 2011-07-21 2013-03-19 International Business Machines Corporation Using variable length code tables to compress an input data stream to a compressed output data stream
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
US8750042B2 (en) 2011-07-28 2014-06-10 Sandisk Technologies Inc. Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures
US8726104B2 (en) 2011-07-28 2014-05-13 Sandisk Technologies Inc. Non-volatile memory and method with accelerated post-write read using combined verification of multiple pages
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8681554B2 (en) * 2011-08-29 2014-03-25 Hitachi, Ltd. Semiconductor storage device comprising electrically rewritable nonvolatile semiconductor memory
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
JP2013054409A (ja) * 2011-08-31 2013-03-21 Toshiba Corp 情報記憶装置および情報記憶方法
US9021231B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Storage control system with write amplification control mechanism and method of operation thereof
US9063844B2 (en) 2011-09-02 2015-06-23 SMART Storage Systems, Inc. Non-volatile memory management system with time measure mechanism and method of operation thereof
US9021319B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
JP5821445B2 (ja) * 2011-09-09 2015-11-24 富士通株式会社 ディスクアレイ装置及びディスクアレイ装置制御方法
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
KR20130049332A (ko) * 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US8793543B2 (en) 2011-11-07 2014-07-29 Sandisk Enterprise Ip Llc Adaptive read comparison signal generation for memory systems
US9081663B2 (en) * 2011-11-18 2015-07-14 Stec, Inc. Optimized garbage collection algorithm to improve solid state drive reliability
US8687421B2 (en) 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
KR101893145B1 (ko) 2011-12-06 2018-10-05 삼성전자주식회사 메모리 시스템들 및 그것들의 블록 복사 방법들
US8762627B2 (en) 2011-12-21 2014-06-24 Sandisk Technologies Inc. Memory logical defragmentation during garbage collection
US8692696B2 (en) 2012-01-03 2014-04-08 International Business Machines Corporation Generating a code alphabet of symbols to generate codewords for words used with a program
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US8825957B2 (en) * 2012-01-17 2014-09-02 International Business Machines Corporation Demoting tracks from a first cache to a second cache by using an occupancy of valid tracks in strides in the second cache to consolidate strides in the second cache
US8966178B2 (en) 2012-01-17 2015-02-24 International Business Machines Corporation Populating a first stride of tracks from a first cache to write to a second stride in a second cache
US8825953B2 (en) 2012-01-17 2014-09-02 International Business Machines Corporation Demoting tracks from a first cache to a second cache by using a stride number ordering of strides in the second cache to consolidate strides in the second cache
US9021201B2 (en) 2012-01-17 2015-04-28 International Business Machines Corporation Demoting partial tracks from a first cache to a second cache
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US9195586B2 (en) 2012-02-23 2015-11-24 Hgst Technologies Santa Ana, Inc. Determining bias information for offsetting operating variations in memory cells based on wordline address
US8730722B2 (en) 2012-03-02 2014-05-20 Sandisk Technologies Inc. Saving of data in cases of word-line to word-line short in memory arrays
US9362003B2 (en) * 2012-03-09 2016-06-07 Sandisk Technologies Inc. System and method to decode data subject to a disturb condition
US20130262942A1 (en) * 2012-03-27 2013-10-03 Yung-Chiang Chu Flash memory lifetime evaluation method
US9298252B2 (en) 2012-04-17 2016-03-29 SMART Storage Systems, Inc. Storage control system with power down mechanism and method of operation thereof
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US8949689B2 (en) 2012-06-11 2015-02-03 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US8750045B2 (en) 2012-07-27 2014-06-10 Sandisk Technologies Inc. Experience count dependent program algorithm for flash memory
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US8914696B2 (en) * 2012-08-29 2014-12-16 Seagate Technology Llc Flash memory read scrub and channel tracking
US9164526B2 (en) 2012-09-27 2015-10-20 Sandisk Technologies Inc. Sigma delta over-sampling charge pump analog-to-digital converter
US9810723B2 (en) 2012-09-27 2017-11-07 Sandisk Technologies Llc Charge pump based over-sampling ADC for current detection
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
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
KR102025263B1 (ko) 2012-10-05 2019-09-25 삼성전자주식회사 메모리 시스템 및 그것의 읽기 교정 방법
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9171620B2 (en) 2012-11-29 2015-10-27 Sandisk Technologies Inc. Weighted read scrub for nonvolatile memory
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US9032271B2 (en) 2012-12-07 2015-05-12 Western Digital Technologies, Inc. System and method for lower page data recovery in a solid state drive
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9070479B2 (en) 2013-01-21 2015-06-30 Sandisk Technologies Inc. Systems and methods of updating read voltages
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US11249652B1 (en) * 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US9098205B2 (en) 2013-01-30 2015-08-04 Sandisk Technologies Inc. Data randomization in 3-D memory
KR102089532B1 (ko) 2013-02-06 2020-03-16 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 메모리 시스템의 동작 방법
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9183137B2 (en) 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9470720B2 (en) 2013-03-08 2016-10-18 Sandisk Technologies Llc Test system with localized heating and method of manufacture thereof
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9092350B1 (en) 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9367391B2 (en) 2013-03-15 2016-06-14 Micron Technology, Inc. Error correction operations in a memory device
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US10042750B2 (en) 2013-03-15 2018-08-07 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor
US9043780B2 (en) 2013-03-27 2015-05-26 SMART Storage Systems, Inc. Electronic system with system modification control mechanism and method of operation thereof
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
JP6167646B2 (ja) * 2013-04-30 2017-07-26 富士通株式会社 情報処理装置、制御回路、制御プログラム、および制御方法
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9898056B2 (en) 2013-06-19 2018-02-20 Sandisk Technologies Llc Electronic assembly with thermal channel and method of manufacture thereof
US9313874B2 (en) 2013-06-19 2016-04-12 SMART Storage Systems, Inc. Electronic system with heat extraction and method of manufacture thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9230656B2 (en) 2013-06-26 2016-01-05 Sandisk Technologies Inc. System for maintaining back gate threshold voltage in three dimensional NAND memory
US9727413B2 (en) 2013-06-28 2017-08-08 International Business Machines Corporation Flash memory scrub management
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
WO2015016926A1 (en) * 2013-07-31 2015-02-05 Hewlett-Packard Development Company, L.P. Versioned memory implementation
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9569354B2 (en) * 2013-08-02 2017-02-14 Infineon Technologies Ag System and method to emulate an electrically erasable programmable read-only memory
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9235509B1 (en) 2013-08-26 2016-01-12 Sandisk Enterprise Ip Llc Write amplification reduction by delaying read access to data written during garbage collection
CN105518795B (zh) 2013-09-13 2019-08-13 东芝存储器株式会社 半导体存储装置以及存储系统
US9240238B2 (en) 2013-09-20 2016-01-19 Sandisk Technologies Inc. Back gate operation with elevated threshold voltage
US9165683B2 (en) 2013-09-23 2015-10-20 Sandisk Technologies Inc. Multi-word line erratic programming detection
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US20150121156A1 (en) 2013-10-28 2015-04-30 Sandisk Technologies Inc. Block Structure Profiling in Three Dimensional Memory
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9329802B2 (en) 2013-11-11 2016-05-03 Qualcomm Incorporated Fail safe refresh of data stored in NAND memory device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9535777B2 (en) * 2013-11-22 2017-01-03 Intel Corporation Defect management policies for NAND flash memory
US9229644B2 (en) 2013-11-25 2016-01-05 Sandisk Technologies Inc. Targeted copy of data relocation
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
US9129665B2 (en) 2013-12-17 2015-09-08 Sandisk Enterprise Ip Llc Dynamic brownout adjustment in a storage device
US9389956B2 (en) * 2014-01-10 2016-07-12 International Business Machines Corporation Implementing ECC control for enhanced endurance and data retention of flash memories
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
KR102069274B1 (ko) 2014-02-05 2020-01-22 삼성전자주식회사 메모리 제어 방법
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9230689B2 (en) 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US8918577B1 (en) 2014-06-13 2014-12-23 Sandisk Technologies Inc. Three dimensional nonvolatile memory with variable block capacity
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9484086B2 (en) 2014-07-10 2016-11-01 Sandisk Technologies Llc Determination of word line to local source line shorts
US9443612B2 (en) 2014-07-10 2016-09-13 Sandisk Technologies Llc Determination of bit line to low voltage signal shorts
US9460809B2 (en) 2014-07-10 2016-10-04 Sandisk Technologies Llc AC stress mode to screen out word line to word line shorts
US9514835B2 (en) 2014-07-10 2016-12-06 Sandisk Technologies Llc Determination of word line to word line shorts between adjacent blocks
KR102318561B1 (ko) 2014-08-19 2021-11-01 삼성전자주식회사 스토리지 장치, 스토리지 장치의 동작 방법
US9202593B1 (en) 2014-09-02 2015-12-01 Sandisk Technologies Inc. Techniques for detecting broken word lines in non-volatile memories
US9240249B1 (en) 2014-09-02 2016-01-19 Sandisk Technologies Inc. AC stress methods to screen out bit line defects
US9449694B2 (en) 2014-09-04 2016-09-20 Sandisk Technologies Llc Non-volatile memory with multi-word line select for defect detection operations
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US9542118B1 (en) * 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10552085B1 (en) * 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
KR102128406B1 (ko) 2014-09-26 2020-07-10 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR102263046B1 (ko) 2014-10-29 2021-06-09 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
KR102287760B1 (ko) 2014-10-29 2021-08-09 삼성전자주식회사 메모리 시스템 및 상기 메모리 시스템의 동작 방법
US9552171B2 (en) 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
KR102252378B1 (ko) 2014-10-29 2021-05-14 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
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
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US20160188495A1 (en) * 2014-12-26 2016-06-30 Intel Corporation Event triggered erasure for data security
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
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
US10032223B2 (en) 2015-03-20 2018-07-24 Bank Of America Corporation System for account linking and future event integration into retirement score calculation
US10049406B2 (en) 2015-03-20 2018-08-14 Bank Of America Corporation System for sharing retirement scores between social groups of customers
US10019760B2 (en) 2015-03-20 2018-07-10 Bank Of America Corporation System for utilizing a retirement score to receive benefits
US9830660B2 (en) 2015-03-20 2017-11-28 Bank Of America Corporation System for augmenting a retirement score with health information
US9773563B2 (en) * 2015-03-27 2017-09-26 Toshiba Memory Corporation Memory controller, memory control method, and coefficient decision method
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
KR102291806B1 (ko) * 2015-04-20 2021-08-24 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
US9823962B2 (en) * 2015-04-22 2017-11-21 Nxp Usa, Inc. Soft error detection in a memory system
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
WO2017003440A1 (en) * 2015-06-30 2017-01-05 Hewlett-Packard Development Company, L.P. Patrol scrub periods based on power status
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9864653B2 (en) 2015-07-30 2018-01-09 International Business Machines Corporation Memory scrubbing in a mirrored memory system to reduce system power consumption
DE102015215401B4 (de) 2015-08-12 2020-10-01 Infineon Technologies Ag Speichervorrichtung und Verfahren zum Korrigieren einer gespeicherten Bitfolge
US9659666B2 (en) 2015-08-31 2017-05-23 Sandisk Technologies Llc Dynamic memory recovery at the sub-block level
US9653154B2 (en) 2015-09-21 2017-05-16 Sandisk Technologies Llc Write abort detection for multi-state memories
US9910730B2 (en) * 2015-10-21 2018-03-06 Sandisk Technologies Llc System for handling erratic word lines for non-volatile memory
FR3044818B1 (fr) 2015-12-02 2018-03-30 Stmicroelectronics (Rousset) Sas Procede de gestion d'une ligne defectueuse du plan memoire d'une memoire non volatile et dispositif de memoire correspondant
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US9698676B1 (en) 2016-03-11 2017-07-04 Sandisk Technologies Llc Charge pump based over-sampling with uniform step size for current detection
TWI594126B (zh) * 2016-07-05 2017-08-01 慧榮科技股份有限公司 資料儲存裝置與資料儲存方法
US10013192B2 (en) 2016-08-17 2018-07-03 Nxp Usa, Inc. Soft error detection in a memory system
KR20180035981A (ko) * 2016-09-29 2018-04-09 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US10261876B2 (en) * 2016-11-08 2019-04-16 Micron Technology, Inc. Memory management
US10216570B2 (en) * 2017-01-31 2019-02-26 Winbond Electronics Corporation Memory device and control method thereof
KR20180122087A (ko) * 2017-05-02 2018-11-12 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US10008278B1 (en) * 2017-06-11 2018-06-26 Apple Inc. Memory block usage based on block location relative to array edge
US10976936B2 (en) 2017-08-23 2021-04-13 Micron Technology, Inc. Sensing operations in memory
US10446197B2 (en) * 2017-08-31 2019-10-15 Micron Technology, Inc. Optimized scan interval
JP2019079377A (ja) * 2017-10-26 2019-05-23 東芝メモリ株式会社 半導体記憶装置
US10817392B1 (en) * 2017-11-01 2020-10-27 Pure Storage, Inc. Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices
WO2019102656A1 (ja) * 2017-11-21 2019-05-31 ソニーセミコンダクタソリューションズ株式会社 メモリコントローラ、メモリ、メモリシステム、情報処理システム、および、それらにおける制御方法
US10304550B1 (en) 2017-11-29 2019-05-28 Sandisk Technologies Llc Sense amplifier with negative threshold sensing for non-volatile memory
CN107992431A (zh) * 2017-12-21 2018-05-04 珠海亿智电子科技有限公司 一种nand闪存无效数据回收的掉电保护方法
TWI659426B (zh) 2018-03-09 2019-05-11 旺宏電子股份有限公司 記憶體裝置之資料探測方法
CN110265083B (zh) * 2018-03-12 2021-07-27 旺宏电子股份有限公司 存储器装置的数据探测方法
JP6991084B2 (ja) * 2018-03-22 2022-01-12 キオクシア株式会社 不揮発性メモリデバイス及び制御方法
US10691532B2 (en) 2018-06-29 2020-06-23 Alibaba Group Holding Limited Storage drive error-correcting code-assisted scrubbing for dynamic random-access memory retention time handling
US10936199B2 (en) * 2018-07-17 2021-03-02 Silicon Motion, Inc. Flash controllers, methods, and corresponding storage devices capable of rapidly/fast generating or updating contents of valid page count table
US11094383B2 (en) * 2018-08-24 2021-08-17 International Business Machines Corporation Selective page calibration based on hierarchical page mapping
US20200073759A1 (en) * 2018-09-05 2020-03-05 Hewlett Packard Enterprise Development Lp Maximum data recovery of scalable persistent memory
US10896088B2 (en) * 2018-11-15 2021-01-19 Seagate Technology Llc Metadata recovery mechanism for page storage
US10643695B1 (en) 2019-01-10 2020-05-05 Sandisk Technologies Llc Concurrent multi-state program verify for non-volatile memory
US11169730B2 (en) 2019-06-06 2021-11-09 Micron Technology, Inc. Scrub rate control for a memory device
US10937510B2 (en) * 2019-06-28 2021-03-02 Western Digital Technologies, Inc. Multidimensional pseudorandom binary sequence analysis for a memory device
US10922012B1 (en) * 2019-09-03 2021-02-16 Dropbox, Inc. Fair data scrubbing in a data storage system
CN112506420A (zh) * 2019-09-16 2021-03-16 伊姆西Ip控股有限责任公司 在存储系统中管理擦洗操作的方法、设备和产品
CN110750467B (zh) * 2019-10-22 2021-11-02 深圳芯邦科技股份有限公司 一种Nand Flash中干扰页的检测方法、系统
US11557366B2 (en) 2019-11-21 2023-01-17 SK Hynix Inc. Memory, memory system, operation method of the memory, and operation of the memory system
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory
WO2022058768A1 (en) * 2020-09-21 2022-03-24 Micron Technology, Inc Memory apparatus and method for operating the same
CN112083891B (zh) * 2020-09-22 2022-12-06 深圳芯邦科技股份有限公司 一种存储器中数据块的检测方法及相关设备
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
KR20240096194A (ko) * 2022-12-19 2024-06-26 삼성전자주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템

Family Cites Families (137)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4139911A (en) 1978-03-13 1979-02-13 Westinghouse Electric Corp. High speed sense circuit for semiconductor memories
US4218764A (en) 1978-10-03 1980-08-19 Matsushita Electric Industrial Co., Ltd. Non-volatile memory refresh control circuit
US4253059A (en) 1979-05-14 1981-02-24 Fairchild Camera & Instrument Corp. EPROM Reliability test circuit
JPS58139399A (ja) 1982-02-15 1983-08-18 Hitachi Ltd 半導体記憶装置
US4460982A (en) 1982-05-20 1984-07-17 Intel Corporation Intelligent electrically programmable and electrically erasable ROM
US4612630A (en) 1984-07-27 1986-09-16 Harris Corporation EEPROM margin testing design
JPS6134793A (ja) * 1984-07-27 1986-02-19 Hitachi Ltd ダイナミツクメモリ装置における診断及びエラ−訂正装置
JPS6148197A (ja) 1984-08-13 1986-03-08 Fujitsu Ltd チヤ−ジアツプ回路
JPS61172300A (ja) 1985-01-26 1986-08-02 Toshiba Corp 半導体記憶装置
EP0198935A1 (de) 1985-04-23 1986-10-29 Deutsche ITT Industries GmbH Elektrisch umprogrammierbarer Halbleiterspeicher mit Redundanz
US4962322A (en) 1988-12-05 1990-10-09 Texas Instruments Incorporated Nonvolatible capacitor random access memory
JPS62114200A (ja) 1985-11-13 1987-05-25 Mitsubishi Electric Corp 半導体メモリ装置
US5157629A (en) 1985-11-22 1992-10-20 Hitachi, Ltd. Selective application of voltages for testing storage cells in semiconductor memory arrangements
US4763305A (en) 1985-11-27 1988-08-09 Motorola, Inc. Intelligent write in an EEPROM with data and erase check
JPH0715799B2 (ja) 1987-06-30 1995-02-22 日本電気株式会社 半導体記憶装置
FR2618579B1 (fr) 1987-07-21 1989-11-10 Thomson Semiconducteurs Circuit integre a memoire comportant un dispositif anti-fraude
JPS6476596A (en) 1987-09-18 1989-03-22 Oki Electric Ind Co Ltd Error of eeprom detecting device
US4809231A (en) 1987-11-12 1989-02-28 Motorola, Inc. Method and apparatus for post-packaging testing of one-time programmable memories
FR2630573B1 (fr) 1988-04-26 1990-07-13 Sgs Thomson Microelectronics Memoire programmable electriquement avec plusieurs bits d'information par cellule
US5043940A (en) * 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5095344A (en) * 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
JPH07105146B2 (ja) 1988-07-29 1995-11-13 三菱電機株式会社 不揮発性記憶装置
US5070032A (en) * 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
JPH02260298A (ja) 1989-03-31 1990-10-23 Oki Electric Ind Co Ltd 不揮発性多値メモリ装置
US4980859A (en) 1989-04-07 1990-12-25 Xicor, Inc. NOVRAM cell using two differential decouplable nonvolatile memory elements
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
JPH0664918B2 (ja) 1989-05-25 1994-08-22 ローム株式会社 自己訂正機能を有する半導体記憶装置
JPH07114077B2 (ja) 1989-06-01 1995-12-06 三菱電機株式会社 不揮発性半導体記憶装置
EP0477369B1 (en) 1989-06-12 1997-08-13 Kabushiki Kaisha Toshiba Semiconductor memory device
FR2650109B1 (fr) 1989-07-20 1993-04-02 Gemplus Card Int Circuit integre mos a tension de seuil ajustable
JPH03162800A (ja) 1989-08-29 1991-07-12 Mitsubishi Electric Corp 半導体メモリ装置
US5065364A (en) 1989-09-15 1991-11-12 Intel Corporation Apparatus for providing block erasing in a flash EPROM
US5200959A (en) 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
US5270551A (en) 1990-02-14 1993-12-14 Hitachi, Ltd. Method of and apparatus for protecting electronic circuit against radiation
US4975883A (en) 1990-03-29 1990-12-04 Intel Corporation Method and apparatus for preventing the erasure and programming of a nonvolatile memory
US5122985A (en) 1990-04-16 1992-06-16 Giovani Santin Circuit and method for erasing eeprom memory arrays to prevent over-erased cells
US5132935A (en) 1990-04-16 1992-07-21 Ashmore Jr Benjamin H Erasure of eeprom memory arrays to prevent over-erased cells
US5200922A (en) 1990-10-24 1993-04-06 Rao Kameswara K Redundancy circuit for high speed EPROM and flash memory devices
US5343063A (en) * 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US5239505A (en) 1990-12-28 1993-08-24 Intel Corporation Floating gate non-volatile memory with blocks and memory refresh
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
US5263032A (en) * 1991-06-27 1993-11-16 Digital Equipment Corporation Computer system operation with corrected read data function
US5313427A (en) 1991-09-20 1994-05-17 Texas Instruments Incorporated EEPROM array with narrow margin of voltage thresholds after erase
JPH05109292A (ja) 1991-10-14 1993-04-30 Toshiba Corp 不揮発性半導体記憶装置
US5313421A (en) * 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5347489A (en) 1992-04-21 1994-09-13 Intel Corporation Method and circuitry for preconditioning shorted rows in a nonvolatile semiconductor memory incorporating row redundancy
US5327383A (en) 1992-04-21 1994-07-05 Intel Corporation Method and circuitry for erasing a nonvolatile semiconductor memory incorporating row redundancy
US5532962A (en) * 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5657332A (en) 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US5550394A (en) 1993-06-18 1996-08-27 Texas Instruments Incorporated Semiconductor memory device and defective memory cell correction circuit
JPH065823A (ja) 1992-06-19 1994-01-14 Toshiba Corp 不揮発性半導体記憶装置及びその使用方法
US5315541A (en) * 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
JP2708333B2 (ja) 1992-09-02 1998-02-04 株式会社東芝 レベルシフタ回路
US5365486A (en) 1992-12-16 1994-11-15 Texas Instruments Incorporated Method and circuitry for refreshing a flash electrically erasable, programmable read only memory
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5335198A (en) 1993-05-06 1994-08-02 Advanced Micro Devices, Inc. Flash EEPROM array with high endurance
US5555204A (en) * 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) * 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JP3999822B2 (ja) 1993-12-28 2007-10-31 株式会社東芝 記憶システム
US5661053A (en) * 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
GB2289779B (en) 1994-05-24 1999-04-28 Intel Corp Method and apparatus for automatically scrubbing ECC errors in memory via hardware
US5523972A (en) 1994-06-02 1996-06-04 Intel Corporation Method and apparatus for verifying the programming of multi-level flash EEPROM memory
US5450363A (en) 1994-06-02 1995-09-12 Intel Corporation Gray coding for a multilevel cell memory system
JP3563452B2 (ja) 1994-08-10 2004-09-08 株式会社東芝 セル閾値分布検知回路およびセル閾値分布検知方法
JPH08147988A (ja) 1994-11-17 1996-06-07 Sony Corp 半導体不揮発性記憶装置
FR2728380A1 (fr) * 1994-12-20 1996-06-21 Sgs Thomson Microelectronics Procede d'ecriture de donnees dans une memoire et memoire electriquement programmable correspondante
US5475693A (en) * 1994-12-27 1995-12-12 Intel Corporation Error management processes for flash EEPROM memory arrays
JP3274306B2 (ja) 1995-01-20 2002-04-15 株式会社東芝 半導体集積回路装置
KR100477494B1 (ko) 1995-01-31 2005-03-23 가부시끼가이샤 히다치 세이사꾸쇼 반도체 메모리 장치
US5530705A (en) * 1995-02-08 1996-06-25 International Business Machines Corporation Soft error recovery system and method
US5513144A (en) 1995-02-13 1996-04-30 Micron Technology, Inc. On-chip memory redundancy circuitry for programmable non-volatile memories, and methods for programming same
JP3176019B2 (ja) 1995-04-05 2001-06-11 株式会社東芝 不揮発性半導体記憶部を含む記憶システム
US5699297A (en) * 1995-05-30 1997-12-16 Kabushiki Kaisha Toshiba Method of rewriting data in a microprocessor additionally provided with a 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
US5687114A (en) 1995-10-06 1997-11-11 Agate Semiconductor, Inc. Integrated circuit for storage and retrieval of multiple digital bits per nonvolatile memory cell
US5703506A (en) 1995-12-26 1997-12-30 Motorola Signal processing method
FR2745114B1 (fr) 1996-02-20 1998-04-17 Sgs Thomson Microelectronics Memoire non volatile multiniveau modifiable electriquement avec rafraichissement autonome
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5712815A (en) 1996-04-22 1998-01-27 Advanced Micro Devices, Inc. Multiple bits per-cell flash EEPROM capable of concurrently programming and verifying memory cells and reference cells
US5715193A (en) 1996-05-23 1998-02-03 Micron Quantum Devices, Inc. Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks
US5675537A (en) 1996-08-22 1997-10-07 Advanced Micro Devices, Inc. Erase method for page mode multiple bits-per-cell flash EEPROM
US5798968A (en) * 1996-09-24 1998-08-25 Sandisk Corporation Plane decode/virtual sector architecture
US5890192A (en) * 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
US5717632A (en) 1996-11-27 1998-02-10 Advanced Micro Devices, Inc. Apparatus and method for multiple-level storage in non-volatile memories
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
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
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
JP3177207B2 (ja) * 1998-01-27 2001-06-18 インターナショナル・ビジネス・マシーンズ・コーポレ−ション リフレッシュ間隔制御装置及び方法、並びにコンピュータ
EP1060534B1 (en) * 1998-02-27 2003-01-22 Corning Incorporated Flexible inorganic electrolyte fuel cell design
JP2000187992A (ja) 1998-12-17 2000-07-04 Mitsubishi Electric Corp 電気的書換可能な不揮発性メモリのリフレッシュ制御回路
US6215697B1 (en) * 1999-01-14 2001-04-10 Macronix International Co., Ltd. Multi-level memory cell device and method for self-converged programming
JP2000251483A (ja) * 1999-02-24 2000-09-14 Sanyo Electric Co Ltd 1チップマイクロコンピュータとそのデータリフレッシュ方法
JP3937214B2 (ja) * 1999-09-17 2007-06-27 株式会社ルネサステクノロジ エラー訂正回数を記録する記憶装置
US6222768B1 (en) * 2000-01-28 2001-04-24 Advanced Micro Devices, Inc. Auto adjusting window placement scheme for an NROM virtual ground array
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
US6567307B1 (en) 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
US6772274B1 (en) 2000-09-13 2004-08-03 Lexar Media, Inc. Flash memory system and method implementing LBA to PBA correlation within flash memory array
US6345001B1 (en) * 2000-09-14 2002-02-05 Sandisk Corporation Compressed event counting technique and application to a flash memory system
JP4323707B2 (ja) * 2000-10-25 2009-09-02 富士通マイクロエレクトロニクス株式会社 フラッシュメモリの欠陥管理方法
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP3812933B2 (ja) * 2001-04-19 2006-08-23 シャープ株式会社 ファイルシステムおよびその制御方法
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
JP4059472B2 (ja) * 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6678785B2 (en) 2001-09-28 2004-01-13 M-Systems Flash Disk Pioneers Ltd. Flash management system using only sequential write
US6925007B2 (en) 2001-10-31 2005-08-02 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
US6560152B1 (en) * 2001-11-02 2003-05-06 Sandisk Corporation Non-volatile memory with temperature-compensated data read
US6678192B2 (en) * 2001-11-02 2004-01-13 Sandisk Corporation Error management for writable tracking storage units
JP2003242789A (ja) * 2002-02-14 2003-08-29 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP2003257192A (ja) 2002-03-06 2003-09-12 Mitsubishi Electric Corp 半導体記憶装置および不揮発性半導体記憶装置
US6963505B2 (en) 2002-10-29 2005-11-08 Aifun Semiconductors Ltd. Method circuit and system for determining a reference voltage
US6912160B2 (en) * 2003-03-11 2005-06-28 Fujitsu Limited Nonvolatile semiconductor memory device
US6839281B2 (en) * 2003-04-14 2005-01-04 Jian Chen Read and erase verify methods and circuits suitable for low voltage non-volatile memories
US7076598B2 (en) * 2003-09-09 2006-07-11 Solid State System Co., Ltd. Pipeline accessing method to a large block memory
EP2157505A1 (en) 2003-09-18 2010-02-24 Panasonic Corporation Semiconductor memory card, semiconductor memory control apparatus and semiconductor memory control method
US7173852B2 (en) * 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
JP4083147B2 (ja) * 2004-07-02 2008-04-30 シャープ株式会社 半導体記憶装置
US7242618B2 (en) * 2004-12-09 2007-07-10 Saifun Semiconductors Ltd. Method for reading non-volatile memory cells
US7206230B2 (en) 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7339834B2 (en) 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
US7631245B2 (en) 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US7254071B2 (en) * 2006-01-12 2007-08-07 Sandisk Corporation Flash memory devices with trimmed analog voltages
US7613043B2 (en) 2006-05-15 2009-11-03 Apple Inc. Shifting reference values to account for voltage sag
US7489549B2 (en) * 2006-06-22 2009-02-10 Sandisk Corporation System for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US7330376B1 (en) * 2006-07-27 2008-02-12 Macronix International Co., Ltd. Method for memory data storage by partition into narrower threshold voltage distribution regions
US7450425B2 (en) 2006-08-30 2008-11-11 Micron Technology, Inc. Non-volatile memory cell read failure reduction
US7716538B2 (en) * 2006-09-27 2010-05-11 Sandisk Corporation Memory with cell population distribution assisted read margining
US7489547B2 (en) * 2006-12-29 2009-02-10 Sandisk Corporation Method of NAND flash memory cell array with adaptive memory state partitioning
US7489548B2 (en) * 2006-12-29 2009-02-10 Sandisk Corporation NAND flash memory cell array with adaptive memory state partitioning
US20080294813A1 (en) 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Managing Housekeeping Operations in Flash Memory
US20080294814A1 (en) 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Flash Memory System with Management of Housekeeping Operations
KR100838292B1 (ko) 2007-06-20 2008-06-17 삼성전자주식회사 메모리 셀의 읽기 레벨 제어 장치 및 그 방법

Also Published As

Publication number Publication date
CN101630279A (zh) 2010-01-20
TWI261840B (en) 2006-09-11
DE602004011097D1 (de) 2008-02-14
US20090187785A1 (en) 2009-07-23
ATE382892T1 (de) 2008-01-15
CN1882918A (zh) 2006-12-20
DE602004011097T2 (de) 2009-01-15
US20070211532A1 (en) 2007-09-13
DE602004021735D1 (de) 2009-08-06
CN101630279B (zh) 2012-08-15
US8004895B2 (en) 2011-08-23
US20110055468A1 (en) 2011-03-03
JP4723504B2 (ja) 2011-07-13
ATE434788T1 (de) 2009-07-15
US7224607B2 (en) 2007-05-29
EP1847930B1 (en) 2009-06-24
KR20070001871A (ko) 2007-01-04
US7012835B2 (en) 2006-03-14
WO2005036401A3 (en) 2005-07-28
EP1687720A2 (en) 2006-08-09
JP2007507804A (ja) 2007-03-29
TW200532695A (en) 2005-10-01
WO2005036401A2 (en) 2005-04-21
KR101127882B1 (ko) 2012-03-21
EP1687720B1 (en) 2008-01-02
EP1847930A1 (en) 2007-10-24
US20050073884A1 (en) 2005-04-07
US7518919B2 (en) 2009-04-14
US20060062048A1 (en) 2006-03-23
US8050095B2 (en) 2011-11-01

Similar Documents

Publication Publication Date Title
CN100541439C (zh) 快闪存储器数据校正及擦除技术
KR101849440B1 (ko) 동적 판독에 사용하기 위한 스크럽 기술
EP1941368B1 (en) Corrected data storage and handling methods
US11194654B2 (en) Method and apparatus for a volume management system in a non-volatile memory device
US7451264B2 (en) Cycle count storage methods
US7467253B2 (en) Cycle count storage systems
KR101040961B1 (ko) 온-칩 비휘발성 메모리 기록 캐쉬를 사용하기 위한 시스템및 방법
US20170060425A1 (en) Memory system and method of controlling nonvolatile memory
WO2007121025A1 (en) Cycle count storage methods and systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: SANDISK CORP.

CP03 Change of name, title or address

Address after: Texas, USA

Patentee after: Sanindisco Technology Co.,Ltd.

Address before: California, USA

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, USA

Patentee after: Sandy Technology Corp.

Address before: Texas, USA

Patentee before: Sanindisco Technology Co.,Ltd.

ASS Succession or assignment of patent right

Owner name: INTELLECTUAL PROPERTY HOLDING CO., LTD.

Free format text: FORMER OWNER: SANDISK TECHNOLOGY CO., LTD.

Effective date: 20131014

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

Effective date of registration: 20131014

Address after: Delaware

Patentee after: Intelligent intellectual property holdings LLC

Address before: Texas, USA

Patentee before: Sandy Technology Corp.

ASS Succession or assignment of patent right

Owner name: PS3 LIHAO COMPANY

Free format text: FORMER OWNER: INTELLECTUAL PROPERTY HOLDING CO., LTD.

Effective date: 20150303

Owner name: PS2 LIHAO COMPANY

Free format text: FORMER OWNER: PS3 LIHAO COMPANY

Effective date: 20150303

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee

Owner name: JINGDUKUAI FLASH MEMORY SYSTEM COMPANY

Free format text: FORMER NAME: PS2 LIHAO COMPANY

CP01 Change in the name or title of a patent holder

Address after: Luxemburg Luxemburg

Patentee after: Longitude Flash Storage Systems Inc.

Address before: Luxemburg Luxemburg

Patentee before: PS2 ho Co.

TR01 Transfer of patent right

Effective date of registration: 20150303

Address after: Luxemburg Luxemburg

Patentee after: PS2 ho Co.

Address before: Luxemburg Luxemburg

Patentee before: PS3 ho Co.

Effective date of registration: 20150303

Address after: Luxemburg Luxemburg

Patentee after: PS3 ho Co.

Address before: Delaware

Patentee before: Intelligent intellectual property holdings LLC

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: Texas, USA

Patentee after: SANDISK TECHNOLOGIES LLC

Address before: Texas, USA

Patentee before: SANDISK TECHNOLOGIES Inc.

TR01 Transfer of patent right

Effective date of registration: 20160817

Address after: Texas, USA

Patentee after: SANDISK TECHNOLOGIES Inc.

Address before: Luxemburg Luxemburg

Patentee before: Longitude Flash Storage Systems Inc.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090916