CN100576359C - 通过使用关于所存储数据的质量的信息来增加错误校正码的效率和操作多电平存储系统 - Google Patents

通过使用关于所存储数据的质量的信息来增加错误校正码的效率和操作多电平存储系统 Download PDF

Info

Publication number
CN100576359C
CN100576359C CN03811328A CN03811328A CN100576359C CN 100576359 C CN100576359 C CN 100576359C CN 03811328 A CN03811328 A CN 03811328A CN 03811328 A CN03811328 A CN 03811328A CN 100576359 C CN100576359 C CN 100576359C
Authority
CN
China
Prior art keywords
value
data
quality
data storage
storage value
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 - Lifetime
Application number
CN03811328A
Other languages
English (en)
Other versions
CN1653554A (zh
Inventor
丹尼尔·C·古特曼
斯蒂芬·J·格罗斯
杰弗里·S·冈沃尔
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
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of CN1653554A publication Critical patent/CN1653554A/zh
Application granted granted Critical
Publication of CN100576359C publication Critical patent/CN100576359C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • 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/1072Adding 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 multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications

Abstract

通过不同方法来评估存储在存储系统中的数据的质量,并且根据评估得的质量来操作此存储系统。可在I-cad操作期间评估数据质量(a)。随后使用错误校正码(a)时可利用此质量指示来更有效率地检测和重构数据。或者,可构造关于数据质量的统计资料,并以修改的方式使数字数据值相关联以防止数据破坏。在两种情况下,皆可根据经适当选择的进度更有效率地(归因于由质量指示所提供的知识)特定地对质量不良的数据实施校正行为。这些方法特别适用于由多电平存储单元构成的高密度存储系统。

Description

通过使用关于所存储数据的质量的信息来增加错误校正码的效率和操作多电平存储系统
技术领域
本发明涉及一种管理数据的方法,更具体的说,涉及一种通过利用关于数据质量的指示来增加错误校正码的效能和操作存储系统。
背景技术
通过减小个别存储单元的尺寸,减小单元间的间隔并在每个单元中使用若干信号电平来存储更多数据,使得数据存储密度不断增加。减小尺寸使这些单元更易受到外部扰动的影响;减小单元间的间隔会在单元间引入有害的干扰;而多电平数据存储使得从优选范围的偏差更有可能造成对数据的错读。增加存储密度的所有这些不利的副作用使得数据更有可能遭到破坏。
重构被破坏数据的传统方式包括应用错误校正码(ECC)。简单的错误校正码存储额外的奇偶校验位,其收集了当数据被写入存储系统时字的各个位之和的奇偶性。如果在存储期间这些数据遭到破坏,各个位之和的奇偶性可能改变。当从存储系统读取这些数据时,通过ECC再一次计算出字的各个位之和的奇偶性。由于数据破坏,计算出的奇偶性可能与奇偶校验位的内容不匹配,因而ECC可检测出破坏。
现今使用了更高级的错误校正码。但基本概念保持不变:当将数据写入存储系统时,ECC计算某些关于数据的概要信息。接着将此概要信息存储于额外的位中。在读出期间,再一次通过ECC计算概要信息,且将结果与存储在额外的位中的结果相比较。如果这两者不一致,则数据在存储期间或存储系统的操作期间遭到了破坏。
ECC可具有至少两个功能:错误检测和错误校正。后一功能通常更困难。一个早期的例子是(7,4)汉明码(Hamming code),其有能力于每个字中检测两个错误,但仅在这些字含有单个错误时可以对其加以校正。
当今更高级的ECC可在每个字中校正一个以上的错误。但是即使对于高级的ECC,如果每个字中有超过2或3个随机错误,那么重构数据在计算上将变得愈加复杂。一般做法是在不正确恢复的概率为某可接受的小数值时恢复数据。但是,随着错误数增加,可靠的数据恢复的概率也迅速减小,或者用于额外硬件与/或性能方面的相关成本变得惊人的高。
因此,需要可在当今的存储系统中增加错误校正码效能的辅助方法。
在美国专利第5,657,332号和第6,049,899号(两者皆颁予D.Auclair等人)中已详细描述了一些辅助方法,两案之全文以引用的方式并入本文中。这些专利发展了软件错误处理的概念。
在半导体存储装置(包括EEPROM系统)中,数据可由特定门电路的电压来表示。通常,不同的数字数据存储值由截然分开的电压电平来表示。如果在读取操作期间,因为某种原因,电压电平从其优选范围偏移了与电平间隔相当的量,那么错误可由ECC检测到。
许多错误逐渐显现出来。存储单元电压可因许多原因而漂移离开优选范围。这些原因包括外部扰动(例如作业环境的变化)以及内部影响(诸如在写入临近存储单元期间产生的干扰)。上文提及的发明描述了多种方法,其用于甚至在电压偏移导致实际的ECC检测到的错误之前定期监视存储单元阵列的数据。在监视操作发现电压已开始从优选电压范围发生偏移后,可执行不同校正行为。一种可能的校正行为是“擦洗”此阵列。擦洗可包括将错误存储单元的整个区段写入此阵列的不同区段中。
近来,数据存储密度已通过实施多电平存储机制而得以进一步增大,在此机制中单个存储单元不仅存储二进制的“0”和“1”,还存储若干更多电平。通常将电平数选择为4、8或16。在颁予D.Guterman等人的美国专利第6,222,762B1号和颁予D.Guterman等人的美国专利第6,275,419B1号中已描述了此等多电平存储系统,此等案之全文以引用的方式并入本文中。在此等多电平系统中,可在相同的总电压范围内区分4、8或16个电压电平。相应地,电压电平的间隔减小,且越来越小的电压偏移可引起错误。
因此,需要可增强错误校正码在高密度的多电平存储单元阵列中检测并重构遭破坏数据的能力的辅助方法。
发明内容
简要地说,通过不同过程来评估存储于存储系统中的数据的质量,且根据评估得的质量来操作此存储系统。可在读取操作期间评估数据质量。随后应用错误校正码(ECC)时可利用这些质量指示来更有效率地检测和校正数据。或者,可构造关于数据质量的统计资料并修改数据的数字表示以减少数据破坏。在两种情况下皆可特定地对质量不良的数据实施校正行为,且(在质量指示的辅助下)其具有提高的效率。这些方法可特别适用于由多电平单元构造而成的高密度存储系统。
根据本发明的一个方面,可在从一阵列(诸如EEPROM单元的阵列)中的存储单元读取数据存储值期间进行数据质量评估。可以高于数据的最终用户所需的精度进行读取。例如,原定将数据存储于4个位中的数据存储值可以7位精度来读取。接着可将数据存储值的较高精度的读出转换成用户所需的较低精度的数字数据值加上对数据质量的相关指示。如果错误校正码检测到遭破坏的数字数据值,则其将能够利用这些相关质量指示更有效地重构遭破坏的数字数据值数据。
例如,如果ECC发现了一遭破坏的数字数据值且相关质量指示显示相应的数据存储值在一优选范围以上,则很有可能此数据存储值从相邻优选范围向下漂移,此相邻优选范围属于高1的数字数据值。本发明的实施例将此质量指示中继到ECC,ECC接着可校正遭破坏的数字数据值,在此实例中为将其指向那高1的数字数据值。
根据本发明的另一方面,即使ECC未指示错误,亦可形成关于数据质量评估的统计资料。可构造关于各区段中多少数据存储电平以多少量进行漂移的分布。在其中此分布显示出系统偏移的区段中,可将数字数据值到数据存储值的指定偏移一相应的量以补偿此系统偏移。在其中分布增加得更宽的区段中,根据此增宽的严重程度,可调度校正行为或可响应执行(perform inresponse)校正行为。这些校正行为可包括具有高或低优先级的重写错误数据或整个相应区段。
根据本发明的另一方面,可在各区段内计数由ECC检测到的错误。取决于每区段的错误数,可实施具有高或低优先级的不同类型的校正行为。
附图说明
图1说明一存储系统,其包括一存储单元阵列。
图2A和2B说明用于表示数据存储值的不同实施例。
图2C说明用于将质量指示与数字数据值相关联的实施例。
图3说明一使用质量指示来恢复数据的实例。
图4A-C说明在一数据区段内的数据存储值的不同分布。
图5说明基于数据区段质量指示的统计资料来操作存储系统的流程图。
图6说明基于数据区段中的错误数来操作存储系统的流程图。
具体实施方式
当从存储系统(诸如存储单元阵列)读取数据时,其可因多种原因而包含错误。通过应用(例如)错误校正码(ECC)可校正这些错误。通过产生关于数据质量的指示且结合关于数据质量的指示来应用错误校正码,可增强错误校正码的效率。而且,即使ECC不指示有错误,亦可基于质量指示来操作存储系统。本发明可实行于任何种类的存储器或存储系统中,诸如(例如),随机存取存储器、非易失性存储器或快速存储器、磁碟或光碟。存储系统可用两电平或多电平机制来表示数据。作为实例,首先将描述一存储单元阵列,接着将论述用于提高错误校正码的效率的不同方法。
图1展示一包括存储元件阵列的存储系统的方块图。大量可个别编址的存储单元排列于由多行和多列组成的常规阵列11中。个别存储单元可由位线、配置于字线中的选择门和导引门来控制。本文中将位线指定为沿阵列11的列延伸,且将字线指定为沿阵列11的行延伸。位线单元13可包括一位线解码器、多个存储元件、多个驱动电路和多个读出放大器。位线单元13可通过线15偶联到单元阵列11,并通过位控制线29和读取线41偶联到控制器27。字线单元19可包括一选择门解码器和多个驱动电路。字线单元19可通过线17偶联到单元阵列11,并通过字控制线31偶联到控制器27。导引线单元21可包括一导引门解码器和多个驱动电路。导引单元21可通过线23偶联到单元阵列11,通过导引控制线33偶联到控制器27并通过线22偶联到位线单元13。位线单元13、字线单元19和导引单元21可偶联到总线25,总线25又偶联到控制器27。控制器27可通过线35偶联到主机。
当要将一预选的存储单元编程时,将电压施加到对应于预选存储单元的位线、字线和导引门,这些电压处在足以将预选单元编程的预定电平。控制器27通过总线25发送预选存储单元的地址,并分别通过线26a、26b和26c将地址发送到位线单元13、字线单元19和导引门单元21中的个别解码器。在位线单元13、字线单元19、导引门单元21和控制器27之间的状态和控制命令传递通过位控制线29、字控制线31和导引控制线33进行。
当要读取一预选的存储单元时,将电压施加到对应于预选存储单元的相应位线、字线和导引门,这些电压处在足以允许读取预选存储单元的预定电平。控制器能够通过位控制线29施加位线电压,通过字控制线31施加字线电压,且通过导引控制线33施加导引门电压。可由这些电压产生一通过预选存储单元的电流。此电流指示了预选存储单元是否已被编程。位线单元13中的读出放大器可放大此电流的值并将其与参考值相比较,其结果可暂时存储于锁存器或寄存器中。可将从预选存储单元读出的所得数据通过读取线41发送到控制器27。
图2A-C说明了本发明的一个实施例。在存储系统操作期间,可从存储单元阵列读取数据存储值102。可将数据存储值102作为一信号的值读取。可能的信号包括(例如)电压或电流电平。在某些实施例中,将数据存储值102传送到控制器27,在控制器27处可将错误校正码应用于数据存储值。为了增加数据存储密度,某些存储系统应用多电平存储机制,其中个别存储单元不但可用与二进制“0”和“1”相关联的方式存储数据,还可以若干状态存储数据。可将这些状态的数目选择为2的幂,包括4、8或16。对应于数据存储值102的信号值可处于一总信号存储值区间100内。在某些实施例中,可将总信号存储值区间100划分为个别存储值区间104-i以根据数字数据值记录数据存储值102的多电平状况。此处i表示正整数。读取的数据存储值102就属于这些存储值区间104-i之一中。存储值区间104-i可对应于多电平数据存储值的电平。因此,i可取1与4、8或16之间的相应值。存储值区间104-i可为邻接的并大体上量值相等。为了从模拟数据存储值转换到数字数据值,可将数字数据值106-i与存储值区间104-i相关联。例如,如果多电平存储系统以24=16个电平存储4位数据,则总信号存储值区间100可相应划分为16个存储值区间104-i,且可相应地将16个数字数据值106-i与16个存储值区间104-i相关联,以便记录16个可能的数据存储值。因此,i可取1与16之间的值。一种对数字数据值106-1到106-16可能的指定是将其指定为0到15或1到16的整数。
在存储值区间104-i内,可定义中心优选范围108-i和周边邻接范围112-i。中心优选范围108-i可为包含在存储值区间104-i内的信号值范围,例如,跨越存储值区间104-i中部。周边邻接范围112-i可为存储值区间104-i内的在中心优选范围108-i的一或两侧的信号值范围。如上所述,电压电平可偏移于其设计值。为适应这些偏移,在总存储值区间100的末端处分配了低容限114-1和高容限114-2。
如图2A所示,在某些实施例中,可根据模拟信号值来定义中心优选范围108-i和周边邻接范围112-i。在此特定实例中,读取的数据存储值102处于存储值区间104-1的周边邻接范围112-1-1中,因此其具有相关的数字数据值106-1,其为“1”。
如图2B所示,在其它实施例中存储值区间104-i可进一步划分为子区间116-i-j,其中j为正整数。例如,个别存储值区间104-i可划分为7个子区间116-i-j,其中j可相应地取1与7之间的值。在此情况下,在具有(例如)24=16个电平的多电平存储系统中,总信号存储值区间100可划分为128个子区间。在这128个子区间中,16×7=112个子区间用于容纳每一存储值区间104-i中有7个子区间的16个存储值区间104-i,且分别有8个子区间用于容纳低容限114-1和高容限114-2。这些子区间可大体上量值相等。在此特定实例中,读取的数据存储值102处于子区间116-1-2中,因此其处于周边邻接范围112-1-1中,且因而具有相关的数字数据值106-1,其为“1”。
在某些实施例中,可首先根据子区间将数据存储值102转换成高精度的数字数据,并可接着根据这些高精度数字数据来定义中心优选范围108-i和周边邻接范围112-i。在上述特定实例中,根据数据存储值102所处在的子区间116-i-j而将其转换为7位数字数据,其中j可取从1到7的值。7位数字数据值范围116-i-1到116-i-7可作为“i”由4位数字数据值106-i表示。例如,7位数字数据值范围116-1-1到116-1-7可作为“1”与4位数字数据值106-1相关联;7位数字数据值范围116-2-1到116-2-7可作为“2”与4位数字数据值106-2相关联;等等。中心优选范围108-1可为7位数字数据值范围116-1-3到116-1-5,且周边邻接范围112-1-1和112-1-2可分别为7位数字数据值范围116-1-1到116-1-2和116-1-6到116-1-7。存储值区间104-1和104-2可由分离点127-1分隔。
如果用1到128的总数来将子区间116-i-j编号,那么可按照以下方式重新陈述上文指定。低容限114-1与子区间1-8相关联,数字数据值“1”与子区间9-15相关联,数字数据值“2”与子区间16-22相关联,等等。在子区间9-15内,中心优选范围为子区间11-13,且周边邻接范围为9-10和14-15,等等。
当从存储系统读取一数据存储值102时,就识别了读取的数据存储值102所处在的个别存储值区间104-i。而且识别了数据存储值102是处于存储值区间104-i内的中心优选范围108-i中,还是处于存储值区间104-i内的周边邻接范围112-i-1或112-i-2中。
可将与数据存储值的存储值区间104-i相关联的数字数据值106-i选作数据存储值102的数字表示。数据存储值102的此数字表示将被补充以有关数据存储值102质量的指示。此质量指示可反映数据存储值102在存储值区间104-i内所处的位置。如果数据存储值102属于中心优选范围108-i,则可产生“质量良好”指示。如果数据存储值102不属于中心优选范围108-i而属于周边邻接范围112-i-1或112-i-2,则可产生“质量不良”指示。在某些实施例中,可将此指示与数字数据值106-i相关联,来表示数据存储值102。例如,可将二进制数附加到数字数据值106-i,其中二进制“1”可表示“质量良好”,而二进制“0”可表示“质量不良”。在某些实施例中,可使用相反的约定。
如果数据存储值102具有“质量不良”指示,则可通过识别数据存储值102所处在的周边邻接范围112-i-j来产生关于其质量的进一步指示。如果数据存储值102处于周边邻接范围112-i-1中,值低于对应优选中心范围108-i的最低值,则可产生一“低位异常”指示。如果数据存储值102处于周边邻接范围112-i-2中,值高于对应优选中心范围108-i的最高值,则可产生一“高位异常”指示。在某些实施例中,可将此指示与数字数据值106-i相关联,来表示数据存储值102。例如,可将额外的二进制数附加到数字数据值106-i,其中二进制“1”可表示“高位异常”,而二进制“0”可表示“低位异常”。在某些实施例中,可使用相反的约定。
图2C说明了本发明一相应实施例,其中一数据存储值102具有特定的16个电平,因而相关联的数字数据值106-i具有4个位。通过附加第5个位将质量指示132-i与此数字数据值相关联,表示“质量良好”或“质量不良”,且将异常指示134-i作为第6个位与之相关联,表示“高位异常”或“低位异常”。
可将数字数据值106-i读入控制器27,以使用错误校正码来处理,而相关联的质量指示可暂时存储于(例如)缓冲器中。以后如果错误校正码需要进一步的指示可读取此质量指示。
可将质量指示与已在存储器中的数字数据值相关联。在上述实施例中,以7位精度读取数据存储值。接着将4位数字数据值106-i和质量指示132-i和134-i与存储器内的数据存储值102相关联且随后移出到控制器。
在其它实施例中,可将数据存储值的7位表示移出到控制器,且控制器抽取代表性的4位数字数据值和相关的质量指示。在进一步的实施例中,在上述实例中产生具有27=128个条目的“查找”表。这些条目在查找表中的地址对应于数据存储值可处于的128个子区间。在这些地址处的条目可含有6个位,4个表示数字数据值而剩下的2个表示质量指示。质量指示可显示(例如)“质量良好”或“质量不良”以及“高位异常”或“低位异常”。这些查找表可寄存于(例如)随机存取存储器中。当读取数据存储值时,确定数据存储值所处在的子区间。接着,将查找表的对应于所确定子区间的6位条目移出到控制器以供进一步处理。
数字数据值106-i可因各种原因而遭到破坏。某些原因可能是从存储单元泄漏电荷,此问题由于高密度存储系统中的存储单元的尺寸不断减小而加剧。这些高密度也是通过减小单元间间隔而实现的。现代存储器阵列设计中的此方面使得在临近的存储单元间发生干扰的机会增大。例如,一个存储单元的电荷可产生电场,其一部分会影响并改变另一存储单元的读出电流。最后,数据还可取决于单元所经历的历史而遭到破坏。经过过多写入和读出的存储单元中的数据存储值更有可能由于偏移离开优选中心范围而产生错误。
因为可能有破坏,所以不应在没有某种形式的测试和校正的情况下将数字数据值传送给用户。在许多存储系统中,通过将错误校正码(ECC)应用于数字数据值106-i来执行这些功能。通常当将数据写入存储器时将ECC应用于数据,且结果存储于(例如)数据旁的额外的位中。一个例子是(7,4)汉明码,其将三个额外的位与每个四位字相关联,以在16个可能的四位数据中的任意2个之间实现3的最小汉明距离(minimum Hamming distance)。当读取相同数据及其相关ECC位时重新计算ECC,且可将重新计算ECC的结果与数学上预期的结果相比较。如果重新计算的结果与预期结果相同,则数据可能未遭破坏,但是,如果重新计算的结果与预期结果不一致,则数据已遭到破坏。
值得一提的是可将ECC应用于不同大小的数据组。此外,在快速存储器系统中,可为ECC的相关数据区段计算ECC,而大体上同时地读取数据。
一旦遭破坏的数据项的数目超过由所用的特定ECC定义的临界值,正确重构数据的概率就急剧下降。例如,如果在512个字节数据的区段中1或2个数据项遭破坏,则适当的ECC可以100%的确定性重构遭破坏的数据。然而,如果遭破坏数据的数目高于一临界数,例如在3和10之间(对于某些ECC约为5),则ECC正确重构数据的概率极低,而潜在地不正确重构数据的概率极高。
许多ECC将额外的位用于数据恢复。汉明(Hamming)首先给出了有关ECC重构数据能力的通用关系式。如果一存储系统使用长度为m的二进制字,能够编码n=2m个不同数据,则如果此存储系统使用至少P个额外的位,就能可靠地校正t个遭破坏的数据,其中“汉明下限(lower Hamming limit)”给出P值的下界:
P ≥ Σ i = 0 t n i
等效地,可将此关系式解读为:如果存储系统使用P个额外的位,则ECC能够可靠地重构具有至多t个遭破坏位的字。在许多系统中,选取P使得可以高可靠性重构具有1或2个错误的数据区段。
为解决此问题,ECC不但产生对数据的最可能的重构,还评估重构而成的数据的可靠性。在上述实例中,如果ECC检测到有大约1或2个遭破坏数据。则ECC可指示重构而成的数据很可能是正确的。在此情况下,可将重构而成的数据从控制器27传送给用户。如果ECC发现大约3到5个遭破坏数据,则ECC可指示正确重构遭破坏数据的概率减小了。取决于数据的随后用途,控制器27可接着决定是否接受或拒绝重构而成的数据和是否将其传送给用户。最后,如果ECC发现约5个以上的遭破坏数据,则ECC可指示正确重构遭破坏数据的概率非常低或无法重构数据。在不同的ECC实施中,实际的数值可不同于所引用的数值。
亦可能重构出错误数据。由于ECC仅使用关于数据区段的概要指示,其也可能巧合地用表面上降低了错误计数的“3”替换遭破坏的“8”,并因而接受“3”。这种错误数据重构可迅速使数据恢复恶化,并使其不可靠。
在这些和其它可靠性减小的情况下,控制器27可采用辅助校正方法来增加ECC的可靠性。本发明的某些实施例通过提供关于数据的额外指示来增加ECC的可靠性。例如,可通过控制器27读入与数字数据值106-i相关联的所存储质量指示来实现此目的。
ECC重构数据能力的限制的一个原因在于:ECC无法确定数据区段内的遭破坏位的位置,且因而无法校正遭破坏的数据。因为“质量不良”数据是遭破坏数据的可能候选,且因为当确定了数据项的质量时,其位置也为已知了,所以此问题可通过本发明的某些实施例加以补救。因此,也可将“质量不良”数据的位置提供到ECC。从而,通过向错误校正过程提示可能有错的位(基于其被识别为“质量不良”),可增强ECC在可用于校正错误的时间范围中可靠地重构数据的能力。
图3说明了某些实施例的另一优点:这些实施例可为ECC提供有关如何重构遭破坏数据项的建议。例如,如果计算ECC指示出在一数据区段中有遭破坏的数据,则具有指示“质量不良”的质量指示器132-i的4位数字数据值106-i是遭破坏数据的可能候选。尤其地,如果4位数字数据值106-i具有“低位异常”指示,则有可能在遭破坏之前对应存储数据值102由低1的数字数据值106-(i-1)表示。例如,如果“质量不良”数据存储值的数字数据值是“8”并具有“低位异常”指示,则有可能在遭破坏之前存储数据值对应于数字数据值“7”并自此向上偏移了。此实施例可接着提示ECC尝试将遭破坏的“8”特定地校正到“7”。此建议可增加重构而成的数据的可靠性并因而增加ECC的效率,因为当没有此种指示时,ECC必须在校正遭破坏的“8”过程中尝试所有可能的数,从而降低了其在可用于校正数据的通常较短时间范围内正确重构遭破坏数据的概率。
有可能在读取一区段时多个数字数据值被定性为“质量不良”。如果“质量不良”数字数据值的数目为n,则有2n-1种根据质量指示校正遭破坏数据的可能方式,因为n个数字数据值之每一个都可被个别地改变。在这2n-1种可能的校正当中可以高的概率找到重构成的数据。因而,通过向ECC提示以首先尝试这2n-1种组合来开始数据重构,可能更快地重构数字数据值。值得一提的是无需额外的费时的读取操作,ECC和控制器已可利用用于数据重构的所有指示。
可以另一种方式利用质量指示。当从存储系统读取一区段的数据时,也可收集质量指示以产生并跟踪此区段的数据存储值的统计分布和其质量。这样做的优点在于数据破坏在某些区段中可为系统性的。此之原因的根源可在于外部环境,诸如温度改变、更改了区段的操作参数。或者,原因可与区段的历史有关联。例如,因为删除操作(基于Fowler-Nordheim隧道效应)可将某些闪存单元的源极-基板结(source-substrate junction)偏压到接近击穿电压,频繁的删除操作可造成存储单元的物理结构恶化,可能导致电荷损耗。而且,因为制造或材料不规则性,有可能在制造过程期间特定区段的特性偏离于优选值。可通过使用质量指示的统计资料来校正这种系统性数据破坏。
图4A-C说明在两个相邻存储值区间104-i和104-(i+1)中的数据存储值的可能统计分布。如图4A中所示,在典型情况下,数据存储值将表现出呈122-i和122-(i+1)类型的在对应的优选中心范围108-i和108-(i+1)周围的分布。在此情况下,分布122-i和122-(i+1)是截然分开的,其意为:多数或所有数据存储值处于接近对应优选中心范围108-i和108-(i+1)处,且很少或无数据存储值处于分离点127-i附近。可通过在分布122-I与122-(i+1)之间引入分离间隙129-i的概念来重新表达此事实。分离间隙129-i表示其中很少有或无数据存储值存在的范围,且其位于分离点127-i周围。将把处于分离点127-i与127-(i+1)之间的数据存储值与数字数据值106-i相关联等等。
图4A展示一实施例,其中存储值区间104-i和104-(i+1)被分别划分为子区间116-i-j和116-(i+1)-j,其中j可取1与7之间的值。在此实施例中,分布是截然分开,如果多数或所有数据存储值处于j值在2与6之间的子区间中,则这些数据存储值中的大多数处于j值在3与5之间的中心优选范围中。在此种分布截然分开的情况下,将数据存储值102与数字数据值106-i相关联可具有高可靠性。
图4B展示了一种可能的情形,其中相邻分布122-i和122-(i+1)以系统的方式遭到破坏。此系统的破坏可由(例如)温度变化造成。在此情况下,分布122-i和122-(i+1)向上偏移,其意为:“高位异常”数据的数目大于“低位异常”数据的数目。在此系统偏移的情况下,分布122-i、122-(i+1)和122-(i+2)仍保持截然分开。
图4B再次说明了一实施例,其中存储值区间104-i被进一步划分为子区间116-i-j。通过分布122-i、122-(i+1)和122-(i+2)在j=1的子区间内有一些数据存储值,在j=2、3和4的子区间内大体上无数据存储值,且数据存储值的主体在j=5、6和7的子区间内可看出系统偏移。在此情况下,在被偏移之前,子区间116-(i+1)-1中的数据存储值很可能对应于存储值区间104-i且因而与数字数据值106-i相关联,而不是与106-(i+1)相关联(在未修正过程中其会与这些数据存储值相关联)。
如果发现一区段的数据存储值的统计资料表现出系统偏移且分布以偏移的分离间隙129-i′保持截然分开,则在某些实施例中,在收集了充分的关于数据区段的统计资料后,控制器27可采用某些校正行为。对于每一对相邻分布122-i和122-(i+1),控制器27可识别这些分布的相应系统偏移,且接着将分离点127-i以识别出的系统偏移进行偏移,到127-i′。在图4B的实例中,分布122-i和122-(i+1)和特别是其分离间隙129-i已向上偏移了两个子区间。所以控制器27可通过将分离点127-i向上偏移两个子区间到127-i′来抵消此系统偏移。此意味着在随后的读取操作中,处于区间116-(i+1)-1中的数据存储值(显然属于分布122-i)将被指定正确的数字数据值106-i而非106-(i+1)。
这些偏移不需要在总存储值区间100上为一致的,因为系统偏移的上述外部或内部原因可能不同地影响总存储值区间100中的不同存储值区间104-i。
图4C说明了另一种可能性,其中相邻分布122-i和122-(i+1)未表现出系统偏移,而是表现出增宽。如图4C所示,此增宽可导致各分布的末尾部分重叠。当数据存储值处于此重叠区域中且用指定的数字数据值计算ECC指示出错误时,可个别地修改数字数据值的指定。类似于图3的实施例,如果数据存储值处于重叠区域中(例如,在子区间116-i-7中),则将使数字数据值106-i以及“质量不良”指示和“高位异常”指示与其相关联。因此,如果ECC在数据区段中检测到有错误,则基于质量指示,某些实施例将提示ECC将此数据存储值的指定从数字数据值106-i校正到数字数据值106-(i+1)。
根据本发明的另一方面,可基于一区段的“质量不良”数据的统计资料执行额外的校正行为。这些校正行为可由存储系统外部的控制器来执行或在其它实施例中由存储系统内部的某种逻辑来执行。在下文中,将执行校正行为的单元称为“控制器”。可在存储系统的任何数据区段中计数“质量不良”数据的总数。此计数可(例如)在区段数据的某些或所有读取过程期间执行,或在目的仅为确定区段的数据质量的特定“内务处理”操作期间执行。在此实施例中,甚至不需要应用ECC指示出在数据区段中存在错误。即使ECC指示数据区段无错误,“质量不良”数据的数目增加也显示出区段中的数据质量正在降低。受此指示的推动,可适时地执行抢先(proactive)校正行为,从而防止实际错误的出现。
图5说明了根据“质量不良”数据的计数值来操作存储系统的流程图。
a)如果C,一区段的“质量不良”数据的计数值为零或小于第一预定值N1,C<N1,此指示此区段的数据质量未降低或仅降低了较低的可容许的程度。因此无需校正行为。
b)如果C,一区段的“质量不良”数据的计数值在第一与第二预定值之间,N1≤C<N2,此指示此区段的数据质量降低了一定程度。因此应在某时刻将此区段的数据刷新、重写或转录到另一区段。但是,降低的程度较小使得产生实际错误的概率较低。因此,上述校正行为无需立刻执行,而可推迟到以后一合适的时间。例如,可在存储系统已结束执行读取命令且亦未执行任何其它较高优先级的作业时执行这些校正行为。
c)如果C,一区段的“质量不良”数据的计数值在第二与第三预定值之间,N2≤C<N3,此指示此区段的数据质量降低了相当大程度,此要求立即或在短暂的预定延迟时间内刷新、重写或转录此区段的数据。
d)如果C,一区段的“质量不良”数据的计数值高于第三预定值,N3≤C,此指示此区段的数据质量降低到了不可容许的程度。降低的原因可能在区段内部,诸如,由过多读出和写入操作造成的广泛磨损、或某种材料或制造不规则性。在任一情况下,在未来写入此区段的数据质量也可能会降低。可通过立即或以高优先级将数据从此低质量区段转录到存储系统的另一区段来防止这种可预见的降低。接着可报废此低质量区段,使得在未来不会将数据写入其中。
某些另外的实施例利用位于存储系统的常规存储单元间的跟踪单元。例如,在美国专利第6,222,762 B1号和第6,275,419 B1号(两案都颁予D.Guterman等人)中描述了跟踪单元及其操作。
跟踪单元与常规存储单元经历相同的外部和内部影响,因而跟踪单元的统计资料可代表整个存储单元阵列的统计资料。因此,可依照图5中的步骤,仅根据跟踪单元中的“质量不良”数据的计数值来操作存储系统。
另一实施例在读取一区段的数据时搜集了由ECC检测到的错误数。如图6中的流程图所示,可根据错误数执行不同类型的校正行为。
a)如果E,一区段中的错误数为零或小于第一预定值M1,E<M1,此指示此区段的数据未遭破坏或仅以较低的可容许的程度遭到破坏,因此通过ECC(可能结合质量指示)其能可靠地重构。
b)如果E,一区段中的错误数在第一与第二预定值之间,M1≤E<M2,此指示此区段的数据已在一定程度上遭到破坏。因此,首先必须通过ECC(可能结合质量指示)重构此区段的数据,然后应在某时刻将此区段的数据刷新、重写或转录到另一区段。但是,破坏的程度较小使得仍可通过ECC(可结合质量指示)高度可靠地重构数据。此外,这些校正行为无需立刻执行,而可推迟到以后一合适的时间。例如,可在存储系统已结束执行读取命令且亦未执行任何其它较高优先级的作业时执行这些校正行为。
c)如果E,一区段中的错误数在第二与第三预定值之间,M2≤E<M3,此指示此区段的数据已在相当大程度上遭到破坏。因此,首先必须通过ECC(可能结合质量指示)重构此区段的数据,然后应立即或在短暂的预定延迟时间内将此区段的数据刷新、重写或转录到另一新区段。
d)如果E,一区段中的错误数高于第三预定值,M3≤E,此指示此区段的数据已被破坏到了不可容许的程度。破坏的原因可能在区段内部,诸如,由过多读出和写入操作造成的广泛磨损、或某种材料或制造不规则性。在任一情况下,在未来写入此区段的数据可能会再次遭到破坏。因此,首先必须通过ECC(可能结合质量指示)重构此区段的数据。其次,可通过立即或以高优先级将数据从遭破坏区段转录到存储系统的另一新区段来防止在未来对数据的破坏。然后,可报废此遭破坏区段,使得在未来不会将数据写入其中。
如先前提及,错误校正码无法以高概率恢复多于数目K的遭破坏数据。在前例中,K的值为5。如果在一区段中多于K个数据遭到破坏,有时将这种情况称为:ECC被“淹没(swamped)”。在以上流程图中,M3可等于或不同于K。具体来说,可如此操作存储系统,使得即使ECC可以高概率重构数据,即E<K,也将转录数据且报废此区段,即M3<E<K。
在某些实施例中,可用性能有限的计数器来计数错误。一个实例可为:如果ECC可在每个区段有4个遭破坏数据的情况下可靠地重构数据,即K=4,则每个区段可有一个四值计数器(four-value counter)。如果由ECC指示的错误数超过4,即E>4,则错误计数器可提供“溢出”信号。在这种情况下,ECC可再次尝试重构遭破坏的数据,但现在还要通过利用质量指示。如果结果令人满意,则可接受其并随后传送给用户。
尽管已关于某些优选实施例描述了本发明的各个方面,但应了解本发明有资格在附加的权利要求的完整范畴内受到保护。

Claims (34)

1.一种操作一存储系统的方法,其包含:
从所述存储系统读取数据存储值和错误校正数据;
通过数字数据值和相关的质量指示来表示个别经读取的所述数据存储值;和
将一错误校正码与质量指示相结合应用于表示了从所述存储系统所读取的所述数据存储值的数字数据值。
2.如权利要求1所述的方法,其中从复数个非易失性存储单元平行地执行所述数据存储值的所述读取。
3.如权利要求1所述的方法,其中表示所述个别经读取的所述数据存储值包括:
根据所述数据存储值所处在的被定义的非重叠存储值区间,来产生数字数据值,其中所述非重叠存储值区间包括一中心优选范围和邻接于其的至少一个周边范围。
4.如权利要求1所述的方法,其中通过相关的质量指示来表示所述个别经读取的所述数据存储值包括:
产生相关的质量指示,以指示所述数据存储值是处于其所在的所述存储值区间的优选范围中还是处于其所在的所述存储值区间的邻接范围中,藉此当所述数据存储值处于所述优选范围内时指示出质量良好数据,以及当所述数据存储值处于所述邻接范围内时指示出质量不良数据。
5.如权利要求4所述的方法,其中所述存储值区间包括中心优选范围和邻接在所述优选范围每一侧的一个周边范围,且另外其中产生所述相关的质量指示包括:
产生一指示,其指示当一质量不良指示与所述数据存储值相关联时所述数据存储值处在所述周边范围中的哪些范围中。
6.如权利要求5所述的方法,其中产生一指示了所述数据存储值处在所述周边范围中的哪些范围中的指示包括:
当所述数据存储值处在从上方邻接于所述中心优选范围的所述周边范围中时,指示高位异常数据;和
当所述数据存储值处在从下方邻接于所述中心优选范围的所述周边范围中时,指示低位异常数据。
7.如权利要求6所述的方法,其中通过数字数据值和相关的质量指示来表示所述数据存储值包括:
通过相关的所述数字数据值,通过其相关的质量良好或质量不良指示的一数字表示和通过其相关的低位异常或高位异常指示的一数字表示来表示个别的所述数据存储值。
8.如权利要求7所述的方法,其中将一错误校正码应用于所述数字数据值包括:
当所应用的错误校正码能够重构至少一个遭破坏的数字数据值时,通过应用所述错误校正码来重构所述至少一个遭破坏的数字数据值,藉此所述至少一个遭破坏的数字数据值已由所述错误校正码检测到;和
当所应用的错误校正码不能够重构至少一个遭破坏的数字数据值时,通过将所述错误校正码与所述相关的质量指示结合应用来重构所述至少一个遭破坏的数字数据值,藉此所述至少一个遭破坏的数字数据值已由所述错误校正码检测到。
9.如权利要求8所述的方法,其中重构至少一个遭破坏的数字数据值包括:使用一相关的质量不良指示来修改至少一个数字数据值。
10.如权利要求9所述的方法,其中修改至少一个数字数据值包括:
根据所述相关指示修改至少一个数字数据值,该相关指示指示了对应的数据存储值处在所述周边范围中的哪个范围中,藉此当指示高位异常时增大所述至少一个数字数据值而当指示低位异常时减小所述至少一个数字数据值。
11.如权利要求10所述的方法,其中将所述错误校正码与所述相关质量指示结合应用包括:
根据所述相关质量指示修改至少一个数字数据值;和
重复修改至少一个数字数据值的行为直到所述错误校正码能够校正所述数字数据值。
12.一种操作一存储系统的方法,其包含:
从所述存储系统读取复数个数据存储值;
通过数字数据值和相关的质量指示来表示个别经读取的所述复数个数据存储值;
构造一与所述复数个数据存储值相关联的复数个质量指示的统计资料;和
利用相关的质量指示的所述统计资料来操作所述存储系统。
13.如权利要求12所述的方法,其中从复数个非易失性存储单元平行地执行所述数据存储值的所述读取。
14.如权利要求12所述的方法,其中表示所述个别经读取的所述数据存储值包括:
根据所述数据存储值所处在的被定义的非重叠存储值区间产生数字数据值,其中所述非重叠存储值区间由分离点分开;和
根据所述数据存储值处在所述存储值区间中的位置产生所述相关的质量指示。
15.如权利要求14所述的方法,其中利用复数个相关质量指示的所述统计资料来操作所述存储系统包括:
根据复数个相关质量指示的所述统计资料来修改所述分离点。
16.如权利要求15所述的方法,其中构造复数个相关质量指示的一统计资料包括:
确立处在存储值区间的单个子区间中的数据存储值的数目,其中所述存储值区间包括复数个非重叠子区间;和
识别分离间隙作为所述一个或多个子区间,其中数据存储值的数目小于一预定值。
17.如权利要求16所述的方法,其中根据所述复数个相关质量指示的所述统计资料来修改所述分离点包括:
修改至少一个分离点,使其处于一相应的分离间隙中。
18.一种操作一存储系统的方法,其包含:
从所述存储系统读取数据存储值;
通过数字数据值和相关质量指示来表示个别经读取的所述数据存储值;
分类积累的与复数个存储单元的所述数据存储值相关联的质量指示;和
利用对所积累的质量指示的所述分类来操作所述存储系统。
19.如权利要求18所述的方法,其中从非易失性存储单元平行地执行所述数据存储值的所述读取。
20.如权利要求18所述的方法,其中表示所述个别经读取的所述数据存储值包括:
根据所述数据存储值所处在的被定义的非重叠存储值区间来产生数字数据值,其中所述非重叠存储值区间包括一中心优选范围和邻接于其的至少一个周边范围;和
产生相关的质量指示,以指示所述数据存储值是处于其所在的存储值区间的所述优选范围还是所述邻接范围中,藉此当所述数据存储值处于所述优选范围内时指示质量良好数据而当所述数据存储值处于所述邻接范围内时指示质量不良数据。
21.如权利要求20所述的方法,其中分类与复数个存储单元相关联的所述质量指示包括:
确立在至少一个复数个存储单元中的质量不良数据的数目。
22.如权利要求21所述的方法,其中利用对所积累的质量指示的所述分类来操作所述存储系统包括:
根据所述复数个存储单元的质量不良数据的数目来管理所述至少一个复数个存储单元的所述数据存储值,其包含:
当质量不良数据的数目小于一第一预定值时,不改变所述数据存储值。
23.如权利要求22所述的方法,其中利用对所积累的质量指示的所述分类来操作所述存储系统包括以下之一:
将所述数据存储值重写入相同的复数个存储单元;和
当质量不良数据的数目小于一第二预定值但不小于所述第一预定值时,在一根据系统的优先级选定的时刻后,将所述数据存储值转录入一不同的复数个存储单元。
24.如权利要求23所述的方法,其中利用对所积累的质量指示的所述分类来操作所述存储系统包括以下之一:
将所述数据存储值重写入所述相同的复数个存储单元;和
当质量不良数据的数目小于一第三预定值但不小于所述第二预定值时,立即或在一预定延迟后,将所述数据存储值转录入一不同的复数个存储单元。
25.如权利要求24所述的方法,其中利用对所积累的质量指示的所述分类来操作所述存储系统包括:
将所述至少一个复数个存储单元的所述数据存储值转录入一不同的复数个存储单元;和
当质量不良数据的数目小于一第三预定值时,报废所述至少一个复数个存储单元。
26.一种操作一存储系统的方法,其包含:
从所述存储系统读取数据存储值;
通过数字数据值和相关质量指示来表示个别经读取的所述数据存储值;
应用一错误校正码以判定遭破坏的表示复数个存储单元的数据存储值的数字数据值的数目;
通过将所述错误校正码与所述质量指示结合应用来重构所述遭破坏的数字数据值;和
利用遭破坏的数字数据值的数目来操作所述存储系统。
27.如权利要求26所述的方法,其中表示所述个别经读取的所述数据存储值包括:
根据所述数据存储值所处在的被定义的非重叠存储值区间来产生数字数据值,其中所述非重叠存储值区间包括一中心优选范围和邻接于其的至少一个周边范围;和
产生相关的质量指示,以指示所述数据存储值是处于其所在的存储值区间的所述优选范围还是所述邻接范围中,藉此当所述数据存储值处于所述优选范围内时指示质量良好数据而当所述数据存储值处于所述邻接范围内时指示质量不良数据。
28.如权利要求27所述的方法,其中所述非重叠存储值区间包括所述中心优选范围和一个邻接在所述优选范围每一侧的周边范围,且另外其中产生所述相关的质量指示包括:
产生一指示,其指示当一质量不良指示与所述数据存储值相关联时所述数据存储值处在所述周边范围中的哪些范围中。
29.如权利要求28所述的方法,其中产生一指示了所述数据存储值处在所述周边范围中的哪些范围中的指示包括:
当所述数据存储值处在从上方邻接于所述中心优选范围的所述周边范围中时,指示高位异常数据;和
当所述数据存储值处在从下方邻接于所述中心优选范围的所述周边范围中时,指示低位异常数据。
30.如权利要求29所述的方法,其中通过数字数据值和相关的质量指示来表示所述个别经读取的所述数据存储值包括:
通过相关的所述数字数据值,通过其相关的质量良好或质量不良指示的一数字表示和通过其相关的低位异常或高位异常指示的一数字表示来表示所述个别经读取的所述数据存储值。
31.如权利要求30所述的方法,其中利用遭破坏的数字数据值的数目来操作所述存储系统包括:
根据所述复数个存储单元的遭破坏的数字数据值的数目来管理所述复数个存储单元的所述数据存储值,其包含:
当遭破坏的数字数据值的数目小于一第一预定值时,通过所述错误校正码结合所述质量指示来重构所述数据存储值。
32.如权利要求31所述的方法,其中利用遭破坏的数字数据值的数目来操作所述存储系统包括:
通过所述错误校正码结合所述质量指示来重构所述数据存储值;和执行以下之一:
将所述数据存储值重写入相同的复数个存储单元;和
当遭破坏的数字数据值的数目小于一第二预定值但不小于所述第一预定值时,在一根据系统的优先级选定的时刻后将所述数据存储值转录入一不同的复数个存储单元。
33.如权利要求32所述的方法,其中利用遭破坏的数字数据值的数目来操作所述存储系统包括:
通过所述错误校正码结合所述质量指示来重构所述数据存储值;和执行以下之一:
将所述数据存储值重写入所述相同的复数个存储单元;和
当遭破坏的数字数据值的数目小于一第三预定值但不小于所述第二预定值时,立即或在一预定延迟后将所述数据存储值转录入一不同的复数个存储单元。
34.如权利要求33所述的方法,其中利用遭破坏的数字数据值的数目来操作所述存储系统包括:
通过所述错误校正码结合所述质量指示来重构所述数据存储值;
将所述数据存储值转录入一不同的复数个存储单元;和
当遭破坏的数字数据值的数目不小于一第三预定值时,报废所述复数个存储单元。
CN03811328A 2002-05-20 2003-05-12 通过使用关于所存储数据的质量的信息来增加错误校正码的效率和操作多电平存储系统 Expired - Lifetime CN100576359C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/152,137 2002-05-20
US10/152,137 US6751766B2 (en) 2002-05-20 2002-05-20 Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data

Publications (2)

Publication Number Publication Date
CN1653554A CN1653554A (zh) 2005-08-10
CN100576359C true CN100576359C (zh) 2009-12-30

Family

ID=29419533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN03811328A Expired - Lifetime CN100576359C (zh) 2002-05-20 2003-05-12 通过使用关于所存储数据的质量的信息来增加错误校正码的效率和操作多电平存储系统

Country Status (8)

Country Link
US (3) US6751766B2 (zh)
EP (1) EP1506552B8 (zh)
JP (1) JP4638224B2 (zh)
KR (1) KR100993493B1 (zh)
CN (1) CN100576359C (zh)
AU (1) AU2003241428A1 (zh)
TW (1) TWI277099B (zh)
WO (1) WO2003100791A1 (zh)

Families Citing this family (288)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751766B2 (en) * 2002-05-20 2004-06-15 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
US6963505B2 (en) * 2002-10-29 2005-11-08 Aifun Semiconductors Ltd. Method circuit and system for determining a reference voltage
US7237074B2 (en) * 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
US7372731B2 (en) * 2003-06-17 2008-05-13 Sandisk Il Ltd. Flash memories with adaptive reference voltages
DE602004023209D1 (de) * 2003-07-30 2009-10-29 Sandisk Il Ltd Verfahren und system zur optimierung von zuverlässigkeit und leistungsfähigkeit von programmierdaten in nichtflüchtigen speicherbausteinen
US7957189B2 (en) * 2004-07-26 2011-06-07 Sandisk Il Ltd. Drift compensation in a flash memory
US7817469B2 (en) * 2004-07-26 2010-10-19 Sandisk Il Ltd. Drift compensation in a flash memory
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
WO2006051455A1 (en) * 2004-11-09 2006-05-18 Koninklijke Philips Electronics N.V. Memory integrated circuit
US7404133B2 (en) * 2004-12-12 2008-07-22 Hewlett-Packard Development Company, L.P. Error detection and correction employing modulation symbols satisfying predetermined criteria
US7526715B2 (en) * 2005-10-17 2009-04-28 Ramot At Tel Aviv University Ltd. Probabilistic error correction in multi-bit-per-cell flash memory
ATE534999T1 (de) * 2005-10-17 2011-12-15 Univ Ramot Probabilistische fehlerkorrektur in einem mehrbit-pro-zelle-flash-speicher
US7954037B2 (en) * 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
US7546515B2 (en) * 2005-12-27 2009-06-09 Sandisk Corporation Method of storing downloadable firmware on bulk media
US7536627B2 (en) * 2005-12-27 2009-05-19 Sandisk Corporation Storing downloadable firmware on bulk media
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
US7502254B2 (en) * 2006-04-11 2009-03-10 Sandisk Il Ltd Method for generating soft bits in flash memories
WO2007132457A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
WO2007132453A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
WO2007132452A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
CN101501779B (zh) * 2006-05-12 2013-09-11 苹果公司 具有自适应容量的存储设备
US7551486B2 (en) 2006-05-15 2009-06-23 Apple Inc. Iterative memory cell charging based on reference cell value
US7613043B2 (en) * 2006-05-15 2009-11-03 Apple Inc. Shifting reference values to account for voltage sag
US7911834B2 (en) * 2006-05-15 2011-03-22 Apple Inc. Analog interface for a flash memory die
US7840875B2 (en) * 2006-05-15 2010-11-23 Sandisk Corporation Convolutional coding methods for nonvolatile memory
US20070266296A1 (en) * 2006-05-15 2007-11-15 Conley Kevin M Nonvolatile Memory with Convolutional Coding
US8000134B2 (en) 2006-05-15 2011-08-16 Apple Inc. Off-die charge pump that supplies multiple flash devices
US7639542B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
US7639531B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Dynamic cell bit resolution
US7568135B2 (en) * 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
US7511646B2 (en) 2006-05-15 2009-03-31 Apple Inc. Use of 8-bit or higher A/D for NAND cell value
US7852690B2 (en) * 2006-05-15 2010-12-14 Apple Inc. Multi-chip package for a flash memory
US7701797B2 (en) * 2006-05-15 2010-04-20 Apple Inc. Two levels of voltage regulation supplied for logic and data programming voltage of a memory device
JP5047288B2 (ja) * 2006-08-05 2012-10-10 ベンホフ ゲーエムベーハー エルエルシー 固体記憶素子及び方法
US8060806B2 (en) * 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
TWI360126B (en) * 2006-09-28 2012-03-11 Sandisk Corp Nonvolatile memory with adaptive operations and me
JP5102299B2 (ja) 2006-09-28 2012-12-19 サンディスク テクノロジィース インコーポレイテッド メモリカードの寿命末期の回復およびサイズ変更
US7904783B2 (en) * 2006-09-28 2011-03-08 Sandisk Corporation Soft-input soft-output decoder for nonvolatile memory
US7818653B2 (en) * 2006-09-28 2010-10-19 Sandisk Corporation Methods of soft-input soft-output decoding for nonvolatile memory
US20080092015A1 (en) * 2006-09-28 2008-04-17 Yigal Brandman Nonvolatile memory with adaptive operation
US20080082725A1 (en) * 2006-09-28 2008-04-03 Reuven Elhamias End of Life Recovery and Resizing of Memory Cards
US7596656B2 (en) * 2006-09-28 2009-09-29 Sandisk Corporation Memory cards with end of life recovery and resizing
US7805663B2 (en) * 2006-09-28 2010-09-28 Sandisk Corporation Methods of adapting operation of nonvolatile memory
US8171380B2 (en) * 2006-10-10 2012-05-01 Marvell World Trade Ltd. Adaptive systems and methods for storing and retrieving data to and from memory cells
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
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
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
US7440319B2 (en) * 2006-11-27 2008-10-21 Sandisk Corporation Apparatus with segmented bitscan for verification of programming
US7545681B2 (en) * 2006-11-27 2009-06-09 Sandisk Corporation Segmented bitscan for verification of programming
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
JP4575346B2 (ja) 2006-11-30 2010-11-04 株式会社東芝 メモリシステム
WO2008068747A2 (en) 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US7593263B2 (en) 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7814401B2 (en) 2006-12-21 2010-10-12 Ramot At Tel Aviv University Ltd. Soft decoding of hard and soft bits read from a flash memory
US7652918B2 (en) * 2006-12-28 2010-01-26 Sandisk Corporation Retention margin program verification
US7616499B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Retention margin program verification
WO2008083162A1 (en) * 2006-12-28 2008-07-10 Sandisk Corporation Retention margin program verification
KR100845529B1 (ko) * 2007-01-03 2008-07-10 삼성전자주식회사 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
KR100842680B1 (ko) 2007-01-08 2008-07-01 삼성전자주식회사 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US7861139B2 (en) * 2007-01-26 2010-12-28 Micron Technology, Inc. Programming management data for NAND memories
JP5661227B2 (ja) * 2007-02-07 2015-01-28 株式会社メガチップス メモリコントローラ
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US7975209B2 (en) * 2007-03-31 2011-07-05 Sandisk Technologies Inc. Non-volatile memory with guided simulated annealing error correction control
US7971127B2 (en) * 2007-03-31 2011-06-28 Sandisk Technologies Inc. Guided simulated annealing in non-volatile memory error correction control
WO2008121577A1 (en) * 2007-03-31 2008-10-09 Sandisk Corporation Soft bit data transmission for error correction control in non-volatile memory
US7966546B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Non-volatile memory with soft bit data transmission for error correction control
US7966550B2 (en) 2007-03-31 2011-06-21 Sandisk Technologies Inc. Soft bit data transmission for error correction control in non-volatile memory
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US7903468B2 (en) 2007-04-23 2011-03-08 Ramot At Telaviv University Ltd. Adaptive dynamic reading of flash memories
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
KR20080100750A (ko) * 2007-05-14 2008-11-19 삼성전자주식회사 데이터 읽기 장치 및 그 방법
JP2008300020A (ja) * 2007-06-04 2008-12-11 Toshiba Corp 再生装置
US8006166B2 (en) * 2007-06-12 2011-08-23 Micron Technology, Inc. Programming error correction code into a solid state memory device with varying bits per cell
KR101411976B1 (ko) * 2007-07-09 2014-06-27 삼성전자주식회사 플래시 메모리 시스템 및 그것의 에러 정정 방법
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8650352B2 (en) 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
US7751237B2 (en) * 2007-09-25 2010-07-06 Sandisk Il, Ltd. Post-facto correction for cross coupling in a flash memory
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
WO2009050703A2 (en) 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009053961A2 (en) 2007-10-25 2009-04-30 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
WO2009063450A2 (en) 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
US8499229B2 (en) * 2007-11-21 2013-07-30 Micro Technology, Inc. Method and apparatus for reading data from flash memory
US8429492B2 (en) * 2007-11-30 2013-04-23 Marvell World Trade Ltd. Error correcting code predication system and method
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8453022B2 (en) 2007-12-05 2013-05-28 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
US8335977B2 (en) 2007-12-05 2012-12-18 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
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
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8276051B2 (en) 2007-12-12 2012-09-25 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
US7561484B2 (en) * 2007-12-13 2009-07-14 Spansion Llc Reference-free sampled sensing
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8327246B2 (en) 2007-12-18 2012-12-04 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
EP2077559B1 (en) * 2007-12-27 2012-11-07 Hagiwara Solutions Co., Ltd. Refresh method of a flash memory
JP2009158043A (ja) * 2007-12-27 2009-07-16 Elpida Memory Inc 半導体集積回路及びその不安定ビットの検出方法
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
KR101368694B1 (ko) 2008-01-22 2014-03-03 삼성전자주식회사 메모리 프로그래밍 장치 및 방법
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
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8386868B2 (en) * 2008-04-16 2013-02-26 Sandisk Il, Ltd. Using programming-time information to support error correction
KR101506655B1 (ko) * 2008-05-15 2015-03-30 삼성전자주식회사 메모리 장치 및 메모리 데이터 오류 관리 방법
US8085591B2 (en) 2008-05-20 2011-12-27 Micron Technology, Inc. Charge loss compensation during programming of a memory device
JP5292925B2 (ja) * 2008-05-30 2013-09-18 富士通株式会社 半導体集積回路及びその制御方法、並びに情報処理装置
US8321757B2 (en) * 2008-06-22 2012-11-27 Sandisk Il Ltd. Method and apparatus for error correction
US7821839B2 (en) * 2008-06-27 2010-10-26 Sandisk Il Ltd. Gain control for read operations in flash memory
US7808831B2 (en) * 2008-06-30 2010-10-05 Sandisk Corporation Read disturb mitigation in non-volatile 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
US8406048B2 (en) * 2008-08-08 2013-03-26 Marvell World Trade Ltd. Accessing memory using fractional reference voltages
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
KR101483190B1 (ko) * 2008-09-05 2015-01-19 삼성전자주식회사 메모리 시스템 및 그것의 데이터 처리 방법
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
EP2340540A1 (en) * 2008-09-30 2011-07-06 LSI Corporation Methods and apparatus for soft data generation for memory devices using reference cells
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
KR101529880B1 (ko) * 2008-10-31 2015-06-19 삼성전자주식회사 에러 추정 방법 및 정정 방법
US8407400B2 (en) * 2008-11-12 2013-03-26 Micron Technology, Inc. Dynamic SLC/MLC blocks allocations for non-volatile memory
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
US8291297B2 (en) * 2008-12-18 2012-10-16 Intel Corporation Data error recovery in non-volatile memory
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US7894270B2 (en) * 2009-02-11 2011-02-22 Mosys, Inc. Data restoration method for a non-volatile memory
US8161355B2 (en) 2009-02-11 2012-04-17 Mosys, Inc. Automatic refresh for improving data retention and endurance characteristics of an embedded non-volatile memory in a standard CMOS logic process
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8458114B2 (en) * 2009-03-02 2013-06-04 Analog Devices, Inc. Analog computation using numerical representations with uncertainty
KR20100098969A (ko) 2009-03-02 2010-09-10 삼성전자주식회사 에러 정정 코드들의 신뢰성을 향상시킬 수 반도체 장치, 이를 포함하는 반도체 시스템, 및 에러 정정 코드 처리 방법
US20100220514A1 (en) * 2009-03-02 2010-09-02 Lyric Semiconductor, Inc. Storage devices with soft processing
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8179731B2 (en) * 2009-03-27 2012-05-15 Analog Devices, Inc. Storage devices with soft processing
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
FR2946787A1 (fr) * 2009-06-16 2010-12-17 St Microelectronics Rousset Procede de detection d'une attaque par injection de faute d'un dispositif de memoire, et dispositif de memoire correspondant
US8255773B2 (en) * 2009-06-29 2012-08-28 Sandisk Technologies Inc. System and method of tracking error data within a storage device
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
EP2299362A3 (en) 2009-08-18 2011-05-04 ViaSat, Inc. Forward error correction for memories
US8305812B2 (en) 2009-08-26 2012-11-06 Densbits Technologies 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
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
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
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
US8510628B2 (en) * 2009-11-12 2013-08-13 Micron Technology, Inc. Method and apparatuses for customizable error correction of memory
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
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
KR20120137354A (ko) 2010-01-28 2012-12-20 샌디스크 아이엘 엘티디 슬라이딩-윈도우 에러 정정
US8700970B2 (en) 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
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
US20110252289A1 (en) * 2010-04-08 2011-10-13 Seagate Technology Llc Adjusting storage device parameters based on reliability sensing
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
US8386895B2 (en) 2010-05-19 2013-02-26 Micron Technology, Inc. Enhanced multilevel memory
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
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
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
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
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
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
US8782495B2 (en) 2010-12-23 2014-07-15 Sandisk Il Ltd Non-volatile memory and methods with asymmetric soft read points around hard read points
US8099652B1 (en) 2010-12-23 2012-01-17 Sandisk Corporation Non-volatile memory and methods with reading soft bits in non uniform schemes
US8498152B2 (en) 2010-12-23 2013-07-30 Sandisk Il Ltd. Non-volatile memory and methods with soft-bit reads while reading hard bits with compensation for coupling
US9898361B2 (en) 2011-01-04 2018-02-20 Seagate Technology Llc Multi-tier detection and decoding in flash memories
US9292377B2 (en) 2011-01-04 2016-03-22 Seagate Technology Llc Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US9502117B2 (en) * 2011-03-14 2016-11-22 Seagate Technology Llc Cell-level statistics collection for detection and decoding in flash memories
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
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
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies 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
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
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
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
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
US8990644B2 (en) * 2011-12-22 2015-03-24 Micron Technology, Inc. Apparatus and methods of programming memory cells using adjustable charge state level(s)
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
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
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US9021337B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive
US9176812B1 (en) 2012-05-22 2015-11-03 Pmc-Sierra, Inc. Systems and methods for storing data in page stripes of a flash drive
US9021336B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages
US9183085B1 (en) 2012-05-22 2015-11-10 Pmc-Sierra, Inc. Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency
US8788910B1 (en) 2012-05-22 2014-07-22 Pmc-Sierra, Inc. Systems and methods for low latency, high reliability error correction in a flash drive
US8793556B1 (en) 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
US9021333B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for recovering data from failed portions of a flash drive
US8972824B1 (en) * 2012-05-22 2015-03-03 Pmc-Sierra, Inc. Systems and methods for transparently varying error correction code strength in a flash drive
US8996957B1 (en) 2012-05-22 2015-03-31 Pmc-Sierra, Inc. Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes
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
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
US9299459B2 (en) * 2012-09-07 2016-03-29 Macronix International Co., Ltd. Method and apparatus of measuring error correction data for memory
US20140071761A1 (en) 2012-09-10 2014-03-13 Sandisk Technologies Inc. Non-volatile storage with joint hard bit and soft bit reading
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US20140181621A1 (en) * 2012-12-26 2014-06-26 Skymedi Corporation Method of arranging data in a non-volatile memory and a memory control system thereof
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
US8913428B2 (en) * 2013-01-25 2014-12-16 Sandisk Technologies Inc. Programming non-volatile storage system with multiple memory die
US8861270B2 (en) 2013-03-11 2014-10-14 Microsoft Corporation Approximate multi-level cell memory operations
US9053012B1 (en) 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data for solid-state memory
US9026867B1 (en) 2013-03-15 2015-05-05 Pmc-Sierra, Inc. Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory
US9009565B1 (en) 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
US9208018B1 (en) 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
US9081701B1 (en) 2013-03-15 2015-07-14 Pmc-Sierra, Inc. Systems and methods for decoding data for solid-state memory
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
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
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
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
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
TWI492234B (zh) 2014-04-21 2015-07-11 Silicon Motion Inc 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與記憶體系統
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
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
US9484086B2 (en) 2014-07-10 2016-11-01 Sandisk Technologies Llc Determination of word line to local source line shorts
US9514835B2 (en) 2014-07-10 2016-12-06 Sandisk Technologies Llc Determination of word line to word line shorts between adjacent blocks
CN104269190B (zh) * 2014-08-26 2017-10-17 上海华虹宏力半导体制造有限公司 存储器的数据校验方法
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
US9594615B2 (en) * 2014-09-30 2017-03-14 Apple Inc. Estimating flash quality using selective error emphasis
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
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
US9836349B2 (en) * 2015-05-29 2017-12-05 Winbond Electronics Corp. Methods and systems for detecting and correcting errors in nonvolatile memory
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9659666B2 (en) 2015-08-31 2017-05-23 Sandisk Technologies Llc Dynamic memory recovery at the sub-block level
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US9679661B1 (en) 2016-06-28 2017-06-13 Sandisk Technologies Llc Non-volatile storage system with self-test for read performance enhancement feature setup
US9672940B1 (en) 2016-08-18 2017-06-06 Sandisk Technologies Llc Non-volatile memory with fast read process
US10025661B1 (en) 2016-12-27 2018-07-17 Sandisk Technologies Llc Adaptive hard and soft bit decoding
CN107633257B (zh) * 2017-08-15 2020-04-17 上海数据交易中心有限公司 数据质量评估方法及装置、计算机可读存储介质、终端
EP3796615B1 (en) 2018-06-28 2023-06-07 Huawei Technologies Co., Ltd. Fault tolerance processing method, device, and server
US11074126B2 (en) * 2018-07-12 2021-07-27 Micron Technology, Inc. Methods for error count reporting with scaled error count information, and memory devices employing the same
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

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4164451A (en) * 1978-06-05 1979-08-14 Phillips Petroleum Company Pressure responsive fractionation control
US4872171A (en) * 1986-12-27 1989-10-03 Pioneer Electronic Corporation Method for recording digital data so as to avoid operational error on reproduction
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5657332A (en) 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US5841816A (en) * 1992-10-22 1998-11-24 Ericsson Inc. Diversity Pi/4-DQPSK demodulation
US5517510A (en) * 1995-01-31 1996-05-14 Motorola, Inc. Method and apparatus for indicating uncorrectable errors to a target
US5859858A (en) * 1996-10-25 1999-01-12 Intel Corporation Method and apparatus for correcting a multilevel cell memory by using error locating codes
JP3605266B2 (ja) * 1997-08-12 2004-12-22 新日本製鐵株式会社 半導体記憶装置及び読み出し方法並びに読み出し方法が記録された記録媒体
DE69831155D1 (de) * 1998-10-29 2005-09-15 St Microelectronics Srl Verfahren und Vorrichtung zur Prüfung von nichtprogrammierten Speicherzellen in einem Mehrpegelspeicher
CN1319065C (zh) * 1999-07-16 2007-05-30 皇家菲利浦电子有限公司 信息记录方法与设备
WO2001022232A1 (fr) * 1999-09-17 2001-03-29 Hitachi, Ltd. Memoire dans laquelle le nombre de corrections d'erreurs est enregistre
JP2001332096A (ja) * 2000-05-16 2001-11-30 Hitachi Ltd 不揮発性半導体メモリおよび不揮発性半導体メモリを用いた記録再生装置
JP2003018129A (ja) * 2001-07-04 2003-01-17 Toshiba Corp 音声通信装置とその符号化モジュール
US7480342B2 (en) * 2002-03-07 2009-01-20 Telefonaktiebolaget L M Ericsson (Publ) Soft value calculation for multilevel signals
JP2003283413A (ja) * 2002-03-22 2003-10-03 Toshiba Corp Cdm受信装置とそのパワーセーブ方法
US6751766B2 (en) * 2002-05-20 2004-06-15 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
JP2004103089A (ja) * 2002-09-06 2004-04-02 Sharp Corp 不揮発性半導体記憶装置およびその再書き込み方法
US7372731B2 (en) * 2003-06-17 2008-05-13 Sandisk Il Ltd. Flash memories with adaptive reference voltages
JP2008300020A (ja) * 2007-06-04 2008-12-11 Toshiba Corp 再生装置

Also Published As

Publication number Publication date
JP4638224B2 (ja) 2011-02-23
EP1506552B8 (en) 2016-11-02
WO2003100791A1 (en) 2003-12-04
KR20050027216A (ko) 2005-03-18
US20040225947A1 (en) 2004-11-11
EP1506552A1 (en) 2005-02-16
US8103938B2 (en) 2012-01-24
US6751766B2 (en) 2004-06-15
AU2003241428A1 (en) 2003-12-12
JP2005527062A (ja) 2005-09-08
US7360136B2 (en) 2008-04-15
US20030217323A1 (en) 2003-11-20
US20080155380A1 (en) 2008-06-26
TWI277099B (en) 2007-03-21
TW200401303A (en) 2004-01-16
EP1506552B1 (en) 2016-09-07
EP1506552A4 (en) 2009-09-23
KR100993493B1 (ko) 2010-11-10
CN1653554A (zh) 2005-08-10

Similar Documents

Publication Publication Date Title
CN100576359C (zh) 通过使用关于所存储数据的质量的信息来增加错误校正码的效率和操作多电平存储系统
CN101079322B (zh) 多位存储装置和存储系统
CN101246738B (zh) 具有备份电路的存储系统及编程方法
US8286055B2 (en) Nonvolatile memory device and method of operating the same
CN100545817C (zh) 用于提高数据可靠性的数据管理技术
KR101696389B1 (ko) 비트 값들의 저장된 총계를 이용하여 데이터 에러들을 보정하는 시스템 및 방법
US7437631B2 (en) Soft errors handling in EEPROM devices
CN102667944B (zh) 通过写入后读取和适应性重写来管理错误的非易失性存储器和方法
CN101202109B (zh) 非易失性存储系统和相关编程方法
CN101529525B (zh) 每单元多位的闪速存储器的概率错误校正
JP2016506590A (ja) データストレージシステムのための対数尤度比及び一括対数尤度比生成
CN107608628A (zh) 闪存控制器
US20220035697A1 (en) Method and System for Decoding Data based on Association of First Memory Location and Second Memory Location
WO2014025513A1 (en) Common line current for program level determination in flash memory
CN106548802B (zh) 固态存储装置及其相关读取控制方法
EP1355234B1 (en) Use of an error correction circuit in program and erase verify procedures
EP1402365A1 (en) Method and circuit arrangement for memory error processing
US20230244409A1 (en) Continuous monotonic counter for memory devices
JP2010097600A (ja) 半導体記録装置
KR20100013962A (ko) 불휘발성 메모리 장치의 프로그램 방법
CN109119126A (zh) 半导体器件和错误管理方法
US11119854B2 (en) Method of controlling verification operations for error correction of non-volatile memory device, and non-volatile memory device
KR100486132B1 (ko) Ecc를이용한신속한데이터프로그래밍및소거기능을가지는불휘발성반도체기억장치

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
ASS Succession or assignment of patent right

Owner name: SANDISK TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SANDISK CORP.

Effective date: 20120322

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

Effective date of registration: 20120322

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.

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: Sandy Technology Corp.

CX01 Expiry of patent term

Granted publication date: 20091230

CX01 Expiry of patent term