固态存储器装置中的数据恢复的制作方法

文档序号:6774787阅读:167来源:国知局
专利名称:固态存储器装置中的数据恢复的制作方法
技术领域
本发明的实施例一般涉及存储器装置,并且更具体地涉及固态存储器装置中的数
据恢复技术。
背景技术
在诸如闪存之类的固态存储器中,通常利用存储单元(cell)的电荷阱(charge trap)或隔离区域来将数据存储在存储单元的阵列中。例如,在单层存储单元(SLC)装置 中,存储单元中的每个存储单元可以存储一比特信息,或者在多层存储单元(MLC)装置中, 存储单元中的每个存储单元可以存储多于一比特的信息。测得的存储单元的阈值电压一般 与存储在存储单元上的数据的值相对应。 由于例如包括存储单元材料的磨损和电荷泄露在内的多种原因而可能使固态存 储器中发生数据丢失。当这种数据丢失是由存储单元退化(degradation)引起时,可能发 生阈值电压的漂移,这导致对退化存储单元的数据读取错误。简单地重新读取或重新发送 存储单元的信号通常会导致对于退化存储单元的相同的错误,并且不能恢复数据。同样地, 擦除并重编程退化存储单元通常会导致类似的错误。 随着数据密度的增加,固态存储器装置可能依赖于用于数据完整性保护的纠错码 (ECC)。在纠错码(ECC)解码失败的情况中,对退化存储单元的简单重新读取或再尝试通常 相对于单次读取操作带来很小的改进。多次重新读取以及后续的ECC解码可能无效,例如, 这是因为解码失败可能是由写入错误引起的。

发明内容
在各个实施例中,本公开提供了一种方法,包括识别(identify)与固态存储器 装置的存储单元相关联的硬错误,将具有所识别的硬错误的存储单元的位置提供给解码器 以恢复最初被编程到该存储单元的数据,以及利用解码器来恢复最初被编程到该存储单元 的数据。 在各个实施例中,本公开提供了一种方法,包括利用与通常用来读取数据的基准
信号不同的经修改的基准信号来读取存储在固态存储器装置的存储单元上的数据,基于从 存储单元读取的数据形成擦除标志,该擦除标志表明从存储单元读取的数据中的至少一个
值被标记为擦除,以及利用擦除标志对从存储单元读取的数据进行解码。


通过下面的详细描述结合附图将容易理解本发明的实施例。为了辅助本描述,类 似标号指示类似的结构元件。在附图的各图中,以示例的方式而非限制的方式示出了本发 明的实施例。
图1是在固态存储器装置中恢复数据的方法的流程图。
图2是在固态存储器装置中识别硬错误的方法的流程图。
图3是使用经修改的基准信号的经调节的重新读取以及擦除解码(erasure decoding)的方法的流程图。 图4示意性地图示出了多层存储单元的存储器装置的阈值电压分布以及基准信 号的示例曲线图。 图5示意性地图示出了经修改的基准信号。 图6示意性地图示出了示例擦除标志向量(erasure flag vector)。 图7示意性地图示出了用于实现在此描述的固态存储器装置的技术的示例电子系统。
具体实施例方式
本发明的实施例描述了用于固态存储器装置中的经改进的数据恢复以及用于基 于固态存储器装置的数据存储系统的技术和配置。在下面的详细描述中,对形成了描述的 一部分的附图进行了参考,在全部附图中,类似标号指示类似部分,并且附图是以可以实施 本发明的说明性实施例的方式示出的。将会明白,可以使用其它实施例,并且可以在不脱离 本发明的范围的情况下进行结构或逻辑改变。因此,下面的详细描述不被认为是限制性的 意思,而且根据本发明的实施例的范围由所附权利要求及其等同物来限定。
描述可能使用短语"在一个实施例中"或"在实施例中",其各自可以指一个或多个 相同或不同的实施例。短语"在一些实施例中"可以被重复使用。该短语一般不指相同实 施例;但是,其也可以指相同实施例。除非上下文以其他方式指示,否则术语"包含"、"具有" 和"包括"是同义的。短语"A和/或B"表示(A)、 (B)或者(A和B)。类似于短语"A和/ 或B",短语"A/B"表示(A) 、 (B)或者(A和B)。短语"A、B和C中的至少一个"指(A) 、 (B)、 (C) 、 (A和B) 、 (A和C) 、 (B和C)或(A、B和C)。短语"(A) B"指(B)或(A和B),即,A是可 选的。 术语"预报器"、"优化器"、"分析器"或"系统级管理器"可以指各个硬件和/或元
件实施实体,并且不包括人。例如,由"预报器"、"优化器"、"分析器"或"系统级管理器"执
行的操作是通过各个硬件和/或软件实施方式执行的操作,例如,将代表实际事件的数据
从一状态变换为另一状态的操作。这种操作不包括由人执行的脑力操作。 各种操作可以以最有助于理解所要求保护的主题的方式被依次描述为多个分离
的动作或操作。但是,描述的顺序不应当被解释为暗示这些操作必须依赖于顺序。具体地,
可以不以呈现的顺序来执行这些操作。可以以不同于所述实施例的顺序来执行所描述的操
作。在其它实施例中,可以执行各种其它操作和/或可以省略所描述的操作。 图1是在固态存储器装置中恢复数据的方法的流程图。在块102中,方法100包
括读取存储在固态存储器装置的一个或多个存储单元上的数据。通常,读取操作依赖于将 施加到一个或多个存储单元的阈值电压与基准信号相比较以确定存储单元的编程状态。一 比特或多比特数据可以被存储在各个存储单元上。固态存储器装置可以包括基于半导体材 料的诸如闪存之类的存储器装置,但是不限于此方面。 在块104,方法100包括对所读取的信号进行解码。例如可以由多种软解码器或硬 解码器(例如,Bose,Ray-Chaudhuri,Hocquenghem(BCH)解码器或低密度奇偶校验(LDPC) 解码器)来执行解码。解码可以包括纠错码(ECC)解码以及相关技术,例如Reed-Solomon
5解码和/或Hamming解码。主题不限于此方面,并且在其它实施例中可以根据其它合适的 解码技术来执行解码。 在块106中,判断解码是失败还是成功。如果解码成功,则在块108中,数据被输 出。如果解码失败,则在块110中,一个或多个硬错误被识别出。硬错误包括与通常不可修 复的退化存储单元相关联的读取和/或解码错误。换言之,擦除和重编程操作通常不能纠 正这种存储单元的硬错误。将参考图2进一步描述块110中识别一个或多个硬错误的实施 例。 图2图示出了识别一个或多个硬错误的方法200。方法200包括,在块202中,将 数据从在块106中解码失败的一个或多个存储单元拷贝到另一位置。如果需要,可以对在 块106中解码失败的一个或多个存储单元进行擦除。然后,可以通过如下操作来识别一个 或多个硬错误在块204中利用已知数据模式(data pattern)对一个或多个存储单元重编 程,在块206中读出一个或多个经重编程的存储单元,并且在块208中将已知数据模式与读 出数据模式相比较,以在块210中识别硬错误的位置。例如,如果读出数据不同于存储单元 的已知数据,则该存储单元可以被识别为具有硬错误。 可以在块212中利用相同或不同的已知数据模式重复块204、206、208和210中的 操作一次或多次,来更精确更完全地识别硬错误。在块204中重编程的已知数据模式中的 至少一个可能类似于或基于在块102中读出的数据。在块216中可以输出硬错误位置。在 一个实施例中,已知数据包括在块106中导致对一个或多个存储单元的解码失败的、在块 102中对初始编程数据的读出数据。 再次返回图1,在块112中,方法100包括向解码器提供一个或多个硬错误的位置。 一个或多个硬错误的位置是在方法200的块216(图2)中输出的并且被提供给解码器以改 进解码。存储在具有所识别的硬错误的退化存储单元中的数据比特例如可能针对ECC解码 而被标记或标示为擦除。在其它实施例中,可以实施用于记录和/或提供具有所识别的硬 错误的存储单元的位置的其它技术。 在块114中,方法IOO包括利用硬错误位置进行解码以恢复初始编程数据,初始编 程数据是在在块102中被读出之前被编程到一个或多个存储单元的数据。被通知了硬错误 位置的解码器可以提供增强的纠错能力。例如,ECC解码器可以擦除被识别有硬错误的比 特以用于进一步的解码,或者翻转(flip)被识别为错误的比特以用于进一步的解码。在擦 除解码中,与具有T个符号的纠错能力的Reed-Solomon码的T个错误符号相比,被通知了 硬错误位置的解码器可以纠正2T个擦除。因此,如果错误位置已知,则擦除解码可以用来 增加ECC解码器可以纠正的错误数目。在另一示例中,被通知的解码器可以实现比特翻转 技术以针对被识别有硬错误的比特利用多种值的组合重试解码。利用所通知的硬错误位置 进行解码可恢复初始编程数据。 在一个实施例中,在块114中,通过擦除解码技术来恢复初始编程数据。下面提供 了利用擦除的硬解码的示例来阐明在此所述的原理。例如,初始编程数据可以包括利用具 有T = 1的纠错能力的Hamming码进行编码的比特值(1000110)。在块102中,读出数据例 如可能提供了在第三和第四比特处具有两个错误的比特值(1011110)。读出数据中的两个 错误超出了 Hamming码的纠错能力,这导致块106中的ECC解码失败。在块202中,数据被 拷贝到另一块并且当前块可以被擦除,以允许在块110中识别一个或多个硬错误。
在块204中,利用已知数据模式对存储单元重编程。在一个实施例中,已知数据模 式包括其每个都是从在块102中读出的数据转换过来的比特值。例如,如果在块102中读 出的数据为(1011110),则已知数据模式可以包括(0100001)。在块206读出已知数据模式 可以提供比特值(0111001),这些比特值指示了第三和第四比特位置处的硬错误,这是因为 根据块208和210,读出数据在第三和第四比特位置处不同于已知数据模式。
响应于在块110中识别出的硬错误位置,在块114中,初始编程数据的第三和第四 比特位置被擦除并解码。两个擦除使得Hamming解码成功并且在块116中输出恢复数据 (1000110)。 类似的原理可以用来提供利用擦除的软解码。例如,对于被识别有 硬错误的相应比特,可将对数似然比(LLR)设为零。在读出数据的LLR包括 (-9. 2+10. 5+13. 2+11. 2-3-9+16)并且第三和第四比特被识别为硬错误的情况中,软解码器 的输入例如可以包括LLR(-9. 2+10. 500-3-9+16)。 在另一实施例中,在块114中通过比特翻转技术来恢复初始编程数据。在比特翻 转中,在所识别的硬错误位置中对比特值的组合进行编程直至解码成功为止。例如,如果利 用Hamming码编码的初始编程数据(10 00110)在块102中被读出为(1011110),则可能导致块106中的ECC解码失败,这 是因为两个错误超出了纠错T = 1的Hamming码纠错能力。在块206和块208中利用已知 数据(0100001)重编程以及将已知数据的读出数据(0111001)与已知数据相比较使得在块 210中识别出第三和第四比特位置处的硬错误。 —旦硬错误位置被识别出,块102中的初始读出数据的硬错误位置处的比特的值 被翻转。例如,读出数据(1011110)的第三比特可以从1被翻转为0以提供(1001110)。因 为只剩下一个错误,所以Hamming解码在块114中成功纠正剩余错误,并在块116中输出恢 复的数据(1000110)。 虽然上面利用示例硬解码器描述了比特翻转,但是也可以针对软解码器来实现比 特翻转。与硬错误位置相对应的比特可以彻底被翻转为相反的符号以用于软解码。例如, 可以使LLR饱和(saturate)或者将LLR设为与经翻转的值相对应的带符号的所希望大小。 在读出数据LLR包括(-9. 2+10. 5+13. 2+11. 2-3-9+16)并且第三和第四比特对应于硬错误 位置的情况中,可以翻转第三比特并使第三比特饱和以提供(_9. 2+10. 5-16+11. 2-3-9+16) 以用于在块114中进行解码。如果解码成功,则在块116中输出值,否则可以继续比特翻转。 例如,如果解码失败,则可以翻转第三和第四比特并使它们饱和,并且再次将它们发送以进 行解码。可以以任意顺序并利用值的任意组合来使硬错误位置的比特翻转发生。
图3是使用经修改的基准信号的经调节的重新读取以及擦除解码的方法300的流 程图。在块302中,方法300包括读取存储在固态存储器装置的一个或多个存储单元上的 数据。例如可以通过将施加到存储单元的阈值电压与基准信号相比较以确定该存储单元的 编码状态来读取一个或多个存储单元。不同存储单元的阈值电压可能由于多种原因而变 化。例如,变化可能是由于编程和/或其它存储单元特性(例如存储单元材料的磨损或漏 电)不同。 简短地参考图4,示例曲线图400示意性地图示出了统计性地分布在两比特存储 单元的四个比特值(11) 、 (10) 、 (01) 、 (00)中的各个比特值的理想均值S1、S2、S3和S4周围的阈值电压分布402、404、406、408。曲线图400还示出了用来确定存储单元的编程状态的 基准信号vl、 v2、 v3。例如,如果发现存储单元的阈值电压沿着电压轴V小于基准信号vl, 则存储在该存储单元中的数据被读为(11)。 具有位于阴影区域410、412、414中的阈值电压的存储单元由于它们的阈值电 压接近于基准信号vl、 v2、 v3而容易出现读取和/或解码错误。读取操作期间的小的噪 声或扰动可能导致这种存储单元的、跨越最近基准信号的检测比特值的改变。这种边缘 (marginal)存储单元可以提供用于擦除解码的有效擦除目标。 再次返回图3,方法300还包括在块304中对读出数据进行解码。如果解码成功, 则在块306中,经解码的数据被输出。否则,对于解码失败,则在块308中利用经修改的基 准信号重新读取数据。利用经修改的基准信号的重新读取可以生成更有效的擦除,这带来 了更有效的擦除解码。 在块308中,在重新读取期间通过修改基准信号更有效地识别了边缘存储单元。 简短地参考图5,例如,由星号表示的阈值电压rl位于与通常被用来读取数据的基准信号 vl附近的阴影区域510内。例如,如果利用通常使用的基准信号vl来读取rl,则将检测到 的值为(11)。但是,如果使用经修改的基准信号vl',则rl的检测到的数据变为(10)而 非(11)。可以将利用经修改的基准信号重新读取的数据彼此相比较和/或与利用正常基准 信号而获得的读出数据相比较。如果任何数据不同,则数据的位置被标记或标示为用于擦 除解码的擦除。 再次返回图3,方法300包括在块310中对读出数据进行解码。在块308中利用经 修改的基准信号重新读取数据可以提供使得解码成功的值。如果解码成功,则在块306中 可以输出数据。在替代实施例中,如果解码成功,则在块312中,与最少的错误相对应的基 准信号被记录供将来使用。例如,解码器可以获得对应于所使用的基准信号的在重新读取 和解码(在块308和310中)期间遇到的错误数目。例如,对应于最少错误的基准信号可 以由耦合到固态存储器装置的系统来保存,或者被保存在固态存储器装置中,供将来从边 缘存储单元读取数据时使用。在不同实施例中,根本不使用块310和块312,并且块314在 块308之后。 在块314中,方法300包括基于来自块308的读出数据形成一个或多个擦除标志。 擦除标志可以表明从存储单元读取的数据的至少一个值被标记为擦除。该至少一个值例如 可以是从存储单元读取的数据的比特值。例如,来自根据块308的不同重新读取的读出数 据和/或根据块302利用通常使用的基准信号获得的读出数据可以被彼此比较,并且数据 的不同可以被标记为用于擦除解码的擦除位置。 简短地参考图6,图6示意性地图示出了可以根据各个实施例使用的示例擦除标 志向量600。由D表示的读出数据与通常使用的基准信号(例如,图5中的vl)相对应,并 且可以通过块302中的读出数据而被获得。由D'和D〃表示的读出数据与不同的经修改 的基准信号相对应(例如,图5中的vl'和vl〃 ),并且可以通过块308中的读出数据来获 得,这可以如块318所示的那样迭代。如图所示,可以通过使用(D, D')的异或(XOR)与 (D' , D〃 )的异或二者的或(OR)运算来形成擦除标志向量600,其中,阴影数据表示所标 记的擦除。主题不限于该示例,而且如果在块308中的任何重新读取操作期间比特改变,则 可以利用多种合适的技术来设置该比特的擦除标志。
8
标记用于多次重新读取的擦除的替代技术例如包括如果比特被读取为具有固 态存储器装置的多数解码原理所支持的值的次数比该比特被读取为另一值的次数少阈值 量(例如,阈值1),则将与一个或多个边缘存储单元相关联的该比特标记为擦除,否则, 该比特被设置为具有多数解码原理所支持的值。例如可以逐比特(bitiise)或逐符号
(symboliise)地设置擦除标志。 在块316中,方法300包括利用一个或多个擦除标志对读出数据进行解码。如果 成功,则在块312中,与最少错误相对应的基准信号被选择性地记录,并且在块306中,经解 码的数据被输出。 可以重复操作308、310、314和316直至在块316中解码成功或者在块318中超过 预定次数的重新读取为止。在一个实施例中,块308中的重新读取操作至少被执行两次。这 种重新读取操作可以包括利用高于正被读取的存储单元的通常使用的基准信号的经修改 基准信号(例如,电压)读取数据,以及利用低于通常使用的基准信号的经修改基准信号读 取数据。任何合适次数的重新读取都可以用作块318中的阈值。如果超过该阈值,则可能 导致在块320中解码失败。 可以利用软件、硬件或固件,或者它们的组合来实现这里所描述的技术。这里描述 的操作例如可以由解码器或信号发送器和/或接收器来执行。在各个实施例中,"预报器"、 "优化器"、"分析器"或"系统级管理器"可以用来执行在此描述的动作。在各个实施例中, 可以由被设计来执行这种功能的模块来执行在此描述的技术。在此所使用的术语"模块"指 专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或 成组)和存储器、组合逻辑电路和/或提供所述功能的其它合适组件。
图7是用于实现在此描述的技术和配置的示例电子系统的示意图。电子系统700 可以适合于已在此描述的实施例。希望电子系统700表示多种电子设备(有线或无线), 例如包括桌上型计算机设备、膝上型计算机设备、个人计算机(PC)、服务器、电话、包括蜂窝 使能的个人数字助理(PDA)在内的PDA、机顶盒、口袋型PC、平板PC、 DVD播放器、视频播放 器、复印机、打印机或多功能设备(MFD),但是,不限于这些示例,而是可以包括其它电子设 备。替代电子系统可能包括更多、更少和/或不同的组件。 电子系统700包括传输信息的总线705或其它通信设备或接口 ,以及耦合到总线 705的可以处理信息的处理器710。总线705可以是单条系统总线或桥接在一起的相同或 不同类型的多条总线。系统700可以包括一个或多个处理器和/或协同处理器。
在一个实施例中,系统700包括耦合到总线705的随机存取存储器(RAM)或其它 存储装置720(可以称作"存储器")。存储器720还可以用来在处理器710执行指令期间 存储临时变量或其它中间信息。存储器720可以包括闪存装置。在一个实施例中,存储器 720包括这里描述的固态存储器装置。处理器710可以与存储器720耦合以执行存储在其 上的、如果被执行则引起这里所述的动作或操作的指令。 系统700还包括耦合到总线705的只读存储器(ROM)和/或其它静态存储装置 730以便为处理器710存储静态信息和指令。数据存储装置740可以被耦合到总线705以 存储信息和指令。数据存储装置740例如可以包括磁硬盘驱动器(HDD)。
在一个实施例中,公开了一种制造产品。该制造产品包括存储介质,例如存储器 720、静态存储装置730、数据存储装置740或其它存储有指令(如果被执行则引起这里所述
9的动作)的计算机可读介质。根据各个实施例,指令可以是固件或软件形式。 电子系统700经由总线705被耦合到显示装置750以向用户显示信息,显示装置
750例如是阴极射线管(CRT)或液晶显示器(LCD)。包括字母数字和其它键的字母数字输入
装置760可以被耦合到总线705以将信息和命令选择传输到处理器710。光标控制器770
可以是另一类型的输入设备并且例如可以包括鼠标、轨迹球或光标方向键,用于将信息和
命令选择传输到处理器710并且控制显示器750上的光标移动。 电子系统710还包括提供对诸如局域网(但不限于此)之类的网络的接入的一个或多个网络接口 780。网络接口 780例如可以包括具有天线785的无线网络接口,天线785可以表示一个或多个天线。网络接口 780例如还可以包括经由网络线缆787与远程设备通信的有线网络接口,网络线缆787例如包括以太网线缆、同轴线缆、光纤线缆、串行线缆或并行线缆。 在一个实施例中,网络接口 780例如通过遵循诸如IEEE 802. lib和/或IEEE802. llg标准之类的电气和电子工程师协会(IEEE)标准来提供对局域网的接入,和/或无线网络接口例如可以通过遵循蓝牙标准来提供对个人区域网的接入。还可以支持其它无线网络接口和/或协议。 IEEE 802. lib对应于1999年9月16日批准的标题为"Local andMetropolitanArea Networks, Part 11 :Wireless LAN Medium Access Control(MAC)and Physical
Band"的IEEE标准802. llb-1999以及相关文献。IEEE 802. llg对应于2003年6月27日批准的标题为"Local andMetropolitan Area Networks, Part 11 :Wireless LAN Medium
HigherRate Extension in the 2. 4GHz Band"的IEEE标准802. llg-2003以及相关文献。在由蓝牙特别兴趣小组公司在2001年2月22日发表的"Specificationof the BluetoothSystem :Core,Version 1. l"中描述了蓝牙协议。还可以支持先前或后续版本的蓝牙标准。
虽然已图示并描述了某些实施例,但是可以在不脱离本发明的范围的情况下,用计划来实现相同目的的多种替代和/或等同实施例或实施方式来取代已示出并描述的实施例。希望本申请覆盖对在此所述的实施例的任何改编或变更。因此,明显地,希望根据本发明的实施例仅由权利要求及其等同物来限制。 本申请要求2008年7月17日提交的美国临时申请No. 61/081, 546、2008年8月13日提交的美国临时申请No. 61/088, 514以及2008年11月26日提交的美国临时申请No. 61/118, 152的优先权,除了如果存在的与本申请不一致的那些部分之外,这些美国申请的全部说明书通过引用被整体结合于此。
:Higher-Speed Physical LayerExtension in the 2.4GHz
Access Control(MAC)and Physical
10
权利要求
一种方法,包括识别与固态存储器装置的存储单元相关联的硬错误;将具有所识别的硬错误的存储单元的位置提供给解码器,以恢复最初被编程到所述存储单元的数据;以及利用所述解码器恢复最初被编程到所述存储单元的数据。
2. 如权利要求1所述的方法,其中,响应于对最初被编程到所述存储单元的数据的解 码失败来识别与存储单元相关联的硬错误。
3. 如权利要求1所述的方法,其中,识别与存储单元相关联的硬错误包括 利用已知数据对所述存储单元重编程;在利用已知数据对所述存储单元重编程之后,从所述存储单元读出读出数据;以及 将所述读出数据与所述已知数据相比较。
4. 如权利要求3所述的方法,还包括如果所述读出数据不同于所述已知数据,则将所述存储单元识别为具有硬错误。
5. 如权利要求3所述的方法,其中,所述已知数据包括与最初被编程到所述存储单元 的、导致对所述存储单元解码失败的数据相关联的读出数据。
6. 如权利要求3所述的方法,其中,所述重编程、所述读出以及所述比较读出数据的步 骤被迭代执行。
7. 如权利要求6所述的方法,其中,对于每次迭代,利用不同的已知数据来执行所述重 编程、所述读出以及所述比较读出数据的步骤。
8. 如权利要求1所述的方法,其中,所述利用解码器恢复数据的步骤包括使用软解码 器或硬解码器,其中,所述软解码器或所述硬解码器使用纠错码ECC。
9. 如权利要求1所述的方法,其中,所述利用解码器恢复数据的步骤包括使用擦除解码。
10. 如权利要求9所述的方法,其中,使用擦除解码包括擦除数据中与具有所识别的硬错误的存储单元相对应的比特或符号,以使得解码成功 地恢复最初被编程的数据。
11. 如权利要求1所述的方法,其中,利用解码器恢复数据的步骤包括使用比特翻转。
12. 如权利要求11所述的方法,其中,使用比特翻转包括利用与具有所识别的硬错误的存储单元相对应的比特的值的不同组合来对最初被编 程到所述存储单元的数据进行解码,直到解码成功为止。
13. —种方法,包括利用与通常用来读取数据的基准信号不同的经修改的基准信号来读取存储在固态存 储器装置的存储单元上的所述数据;基于从所述存储单元读取的所述数据而形成擦除标志,所述擦除标志表明从所述存储 单元读取的所述数据中的至少一个值被标记为擦除;以及利用所述擦除标志对从所述存储单元读取的所述数据进行解码。
14. 如权利要求13所述的方法,其中,所述读取存储在存储单元上的数据的步骤是对 存储在所述存储单元上的所述数据的重新读取操作,并且响应于对所述数据的解码失败 执行所述读取数据的步骤。
15. 如权利要求13所述的方法,其中,所述读取存储在存储单元上的数据的步骤至少被执行两次,包括利用比通常使用的基准信号高的经修改的基准信号来读取所述数据;以及 利用比通常使用的基准信号低的经修改的基准信号来读取所述数据。
16. 如权利要求13所述的方法,其中,所述形成擦除标志的步骤包括 将利用所述通常使用的基准信号从所述存储单元读取的数据与利用经修改的基准信号从所述存储单元读取的数据相比较;以及如果利用所述通常使用的基准信号从所述存储单元读取的至少一个值不同于利用经 修改的基准信号从所述存储单元读取的至少一个值,则将所述至少一个值标记为擦除。
17. 如权利要求15所述的方法,其中,所述利用比通常使用的基准信号高的经修改 的基准信号读取所述数据的步骤以及所述利用比通常使用的基准信号低的经修改的基准 信号读取所述数据的步骤被执行多次,并且其中,所述形成一个或多个擦除标志的步骤包 括如果所述至少一个值被读取为具有由所述固态存储器装置的多数解码原理所支持的 值的次数比所述至少一个值被读取为另一值的次数少阈值量,则将所述至少一个值标记为 擦除;以及如果所述至少一个值被读取为具有由所述多数解码原理所支持的值的次数高于所述 至少一个值被读取为另一值的次数,则将所述至少一个值设置为具有由所述多数解码原理 所支持的值。
18. 如权利要求13所述的方法,其中,所述利用所述擦除标志对从所述存储单元读取 的数据进行解码的步骤包括擦除解码。
19. 如权利要求13所述的方法,还包括获得与在所述读取存储在存储单元上的数据期间所使用的各个基准信号相对应的错 误的数目;以及记录与最少错误数目相对应的基准信号供将来使用。
20. 如权利要求13所述的方法,还包括 输出经解码的数据。
全文摘要
本发明公开了固态存储器装置中的数据恢复。这里的实施例提供了用于固态存储器装置的数据恢复技术和配置。例如,一种方法包括识别与固态存储器装置的存储单元相关联的硬错误,将具有所识别的硬错误的存储单元的位置提供给解码器以恢复最初被编程到存储单元的数据,以及利用解码器恢复最初被编程到存储单元的数据。可以描述和/或要求其它实施例。
文档编号G11C29/42GK101789269SQ200910151428
公开日2010年7月28日 申请日期2009年7月17日 优先权日2008年7月17日
发明者杨雪石 申请人:马维尔国际贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1