模拟存储单元中的优化的阈值搜索的制作方法

文档序号:6385872阅读:138来源:国知局
专利名称:模拟存储单元中的优化的阈值搜索的制作方法
技术领域
本发明一般涉及存储设备,尤其涉及设定读取模拟存储单元的阈值的方法和系统。
背景技术
几种存储设备,比如闪速存储器利用模拟存储单元的阵列来保存数据。每个模拟存储单元保持代表保存在该存储单元中的数据的一定水平的给定物理量,比如电荷或电压。所述物理量的水平也被称为模拟存储值或者模拟值。在闪速存储器中,例如,每个模拟存储单元保持一定量的电荷。可能模拟值的范围一般被分成多个区域,每个区域对应于代表一个或多个数据比特值的编程状态或编程层次。通过写入对应于一个或多个期望比特的标称模拟值,把数据写入模拟存储单元中。通常称为单阶存储单元(SLC)设备的一些存储设备在每个存储单元中保存单一比特的信息,即,每个存储单元可被编程呈现两种可能的存储状态。通常称为多阶存储单元的更高密度的设备每个存储单元保存两个或者更多的比特,即,可被编程呈现两种以上的可能的存储状态。例如在Bez 等的 “ Introduction to Flash Memory”(Proceedings of theIEEE, volume91, number4, 2003年4月,第489-502页)中描述了闪速存储设备,该论文在此引为参考。例如在Eitan等的“Multilevel Flash Cells and theirTrade-Offs,, (Proceedings of thel996IEEE International Electron DevicesMeeting (IEDM), New York, New York,第169-172页)中描述了多阶闪速存储单兀和设备,该论文在此引为参考。该论文比较了几种多阶闪速存储单元,比如commonground, DIN0R,AND, NOR 和 NAND 单元。Eitan 等在 “Can NR0M, a2-bit, Trapping Storage NVM Cell,Give a RealChallenge to Floating Gate Cells ,,(Proceedings of the 1999InternationalConference on Solid State Devices and Materials (SSDM),Tokyo, Japan,1999 年 9 月21-24日,第522-524页)中描述了另一种称为氮化物只读存储器(NROM)的模拟存储单元,该论文在此引为参考。Maayan 等在“A512Mb NROM Flash Data Storage Memory with8MB/s Data Rate,, (Proceedings of the2002IEEE International Solid-State CircuitsConference(ISSCC2002),San Francisco, California,2002年 2 月 3-7 日,第 100-101 页)中,也披露了 NROM单元,该论文在此引为参考。其它例证类型的模拟存储单元是浮栅(FG)单元、铁电RAM(FRAM)单元、磁性RAM(MRAM)单元、电荷捕获闪速(CTF)和相变RAM(PRAM,也称为相变存储器-PCM)单兀。例如,在Kim和Koh 的“Future Memory Technology includingEmerging New Memories” (Proceedings of the24thInternational Conference on Microelectronics(MIEL), Nis, Serbia and Montenegro,2004 年 5 月 16-19 日,volumel,第377-384页)中描述了 FRAM、MRAM和PRAM单元,该论文在此引为参考。本领域中已知设定读取模拟存储单元的读取阈值和其它读取参数的各种技术。例如,其公开内容在此引为参考的美国专利申请公开2009/0199074披露了一种操作包括模拟存储单元的存储器的方法。该方法包括用可用多个方程表示的纠错码(ECC)对数据编码。通过把相应的输入存储值写入一组模拟存储单元中的各个存储单元中,把编码数据保存在所述一组模拟存储单元中。通过把一个或多个不同的相应读取参数用于每组输出存储值,从所述一组模拟存储单元中的各个存储单元中,读取多组输出存储值。确定由相应各组输出存储值满足的方程的数目。响应满足的方程的相应数目,识别读取参数的优选设定。利用读取参数的优选设定,对存储器进行操作。

发明内容
这里说明的本发明的实施例提供一种包括把数据保存在一组模拟存储单元中的方法。利用第一读取阈值读取所述组中的存储单元,从而产生第一读出结果,并利用第二读取阈值重新读取所述组中的存储单元,从而产生第二读出结果。定义包括第一读取阈值至少之一和第二读取阈值至少之一的第三读取阈值。根据第一读出结果和第二读出结果,评估第一、第二和第三读取阈值的读出性能。根据评估的读出性能,选择第一、第二或第三读取阈值,以及利用选择的读取阈值进行数据恢复。在一些实施例中,进行数据恢复包括恢复保存在所述一组存储单元中的数据,或者恢复保存在不同的一组存储单元中的数据。在一个实施例中,评估读出性能包括根据第一读出结果和第二读出结果,获得通过利用第三读取阈值读取所述组中的存储单元理应产生的第三读出结果,并根据第三读出结果估计读出性能。在一个公开的实施例中,获得第三读出结果包括:根据利用一个或多个辅助读取阈值从所述组的读出,把所述组中的存储单元分成第一子集和第二子集,以及通过选择从第一子集中的存储单元读取的第一读出结果,和从第二子集中的存储单元读出的第二读出结果,形成第三读出结果。在一个实施例中,辅助读取阈值包括读取阈值的第一集合或第二
隹A
口 O在另一个实施例中,利用纠错码(ECC)编码保存的数据,以及评估读出性能包括:把所述组中的存储单元分成第一子集和第二子集,根据从第一子集中的存储单元读取的第一读出结果,计算ECC的第一局部校正子,同时使从第二子集中的存储单元读取的第一读出结果为零,根据从第二子集中的存储单元读出的第二读出结果,计算ECC的第二局部校正子,同时使从第一子集中的存储单元读取的第二读出结果为零,通过相加第一和第二局部校正子,计算与通过利用第三读取阈值读取所述组中的存储单元理应产生的第三读出结果对应的ECC的第三校正子,和通过比较关于第一读出结果计算的第一校正子、关于第二读出结果计算的第二校正子、和第三校正子,评估读出性能。在一个实施例中,把所述组中的存储单元分成第一子集和第二子集包括根据利用一个或多个辅助读取阈值从所述组的读出,定义第一子集和第二子集。在另一个实施例中,利用由一组奇偶校验方程定义的ECC来编码保存的数据,以及评估读出性能包括计算由第一读出结果、第二读出结果、和如果利用第三读取阈值读取所述组中的存储单元理应产生的第三读出结果满足的奇偶校验方程的相应计数。在另一个实施例中,利用ECC来编码保存的数据,以及评估读出性能包括评估根据第一、第二和第三读取阈值解码ECC的成功或失败。
在一个公开的实施例中,利用ECC来编码保存的数据,以及评估读出性能包括评估根据第一、第二和第三读取阈值解码ECC的解码处理的中间结果。评估中间结果可包括计算ECC的错误定位多项式的秩。在一个实施例中,ECC包括包含多个辅助ECC的合成ECC,以及评估中间结果包括只评估辅助ECC的子集的解码结果。在另一个实施例中,模拟存储单元包含在存储设备中,以及读取和重新读取存储单元包括接收并在存储设备中进行利用第一和第二读取阈值读取存储单元的单一读取命令。按照本发明的实施例,另外提供包括存储器和存储电路的设备。存储器包括多个模拟存储单元。存储电路被配置成把数据保存在一组模拟存储单元中,利用第一读取阈值读取所述组中的存储单元从而产生第一读出结果,利用第二读取阈值重新读取所述组中的存储单元从而产生第二读出结果,定义包括第一读取阈值至少之一和第二读取阈值至少之一的第三读取阈值,根据第一读出结果和第二读出结果,评估第一、第二和第三读取阈值的读出性能,根据评估的读出性能,选择第一、第二或第三读取阈值,以及利用选择的读取阈值进行数据恢复。按照本发明的实施例,另外提供包括接口和存储电路的设备。所述接口被配置成与包括多个模拟存储单元的存储器通信。存储电路被配置成把数据保存在一组模拟存储单元中,利用第一读取阈值读取所述组中的存储单元从而产生第一读出结果,利用第二读取阈值重新读取所述组中的存储单元从而产生第二读出结果,定义包括第一读取阈值至少之一和第二读取阈值至少之一的第三读取阈值,根据第一读出结果和第二读出结果,评估第一、第二和第三读取阈值的读出性能,根据评估的读出性能选择第一、第二或第三读取阈值,和利用选择的读取阈值进行数据恢复。


根据结合附图进行的本发明的实施例的以下详细说明,将更充分地理解本发明,其中:图1是按照本发明的实施例,示意图解说明存储系统的方框图;图2和3是按照本发明的实施例,示意图解说明选择最佳读取阈值的方案的示图;和图4和5是按照本发明的实施例,示意图解说明选择最佳读取阈值的方法的流程图。
具体实施方式
概述一般通过把代表数据的相应模拟存储值写入模拟存储单元中,把数据保存在模拟存储单元中。模拟存储值的范围一般被分成代表可能的数据值的多个区域(称为编程层次)。一般通过比较模拟存储单元的模拟存储值和置于相邻编程层次之间的边界的某些读取阈值,读取模拟存储单元。在许多实际情况下,存储单元的模拟存储值随时间变化,并且因存储单元组而异。于是,重要的是高精度地跟踪和布置读取阈值。读取阈值的精确布置对读取错误的概率有相当大的影响。另一方面,多组读取阈值的评估会招致相当大的等待时间和功耗,例如因为该任务涉及从存储单元的大量读取操作。当利用每个单元保存大量比特的高阶MLC时,读取阈值的评估变得特别复杂。这里说明的本发明的实施例提供改进的评估读取阈值的方法和系统。公开的技术在只利用读取阈值的多个集合的较小子集实际读取存储单元的时候,评估这些集合的读出性能。利用计算评估剩余各组读取阈值的读出性能,而不实际读取存储单元。结果,显著降低由阈值评估处理招致的等待时间和功耗。随后把表现最好的读取阈值集合用于恢复保存的数据。在一些实施例中,利用读取阈值的第一集合和第二集合,读取一组模拟存储单元,以分别产生第一和第二读出结果。通过选择第一集合中的至少一个读取阈值,和第二集合中的至少一个读取阈值,形成读取阈值的第三集合,称为混合集合。根据第一和第二读出结果,评估第一、第二和第三集合的读出性能,并选择表现最好的读取阈值集合用于解码保存的数据。另一方面,表现最好的读取阈值集合用于解码另一组存储单元中的数据。特别地,在不利用混合集合读取阈值读取存储单元的情况下,评估混合集合的读出性能。这种方案可用于评估从少量的初始集合中选择的读取阈值的所有可能组合。这里说明评估这种混合集合的读出性能的几种例证方案。在一个实施例中,通过逐个单元地从第一或第二读出结果中,选择对应的读出结果,再现混合集合的读出结果(利用计算,而不读取存储单元)。是否从第一或第二读出结果中选择读出结果的决定是取决于利用一个或多个辅助阈值的辅助读取操作的相应结果,逐个单元地作出的。在备选实施例中,用纠错码(ECC),比如低密度奇偶校验(LDPC)码,编码保存在所述一组存储单元中的数据。根据辅助读取操作的结果或者其它适当标准,把所述一组存储单元分成多个子集。在利用读取阈值的第一集合,读取存储单元之后,关于存储单元的每个子集,计算ECC的相应局部校正子。对利用读取阈值的第二集合获得的读出结果,重复该处理,以同样产生该集合的局部校正子。通过合计(模2,即异或)局部校正子的适当组合,评估读取阈值的第一、第二和第三(混合)集合的读出性能。在一些实施例中,只保留与读取阈值的各个集合相关的局部校正子,原始的读出结果被丢弃。从而,显著降低了阈值评估处理所需的存储空间。系统描述图1是按照本发明的实施例,示意地图解说明存储系统20的方框图。系统20可以用作各种主机系统和设备中,比如用在计算设备、蜂窝电话机或其它通信终端、可拆卸存储模块(有时称为“USB闪速驱动器”)、固态磁盘(SSD)、数字照相机、音乐和其它媒体播放器、和/或其中保存和取回数据的任何其它系统或设备中。系统20包含把数据保存在存储单元阵列28中的存储设备24。存储阵列包含多个存储块34。每个存储块34包含多个模拟存储单元32。在本专利申请的上下文中和在权利要求中,术语“模拟存储单元”用于描述保持物理参数,比如电压或电荷的连续模拟值的任何存储单元。阵列28可包含任何类型的模拟存储单元,比如NAN,NOR和电荷捕获闪速(CTF)闪速单元,相变RAM (PRAM,也称为相变存储器-PCM),氮化物只读存储器(NROM),铁电RAM(FRAM),磁性 RAM(MRAM)和 / 或动态 RAM(DRAM)单元。
这里,把保存在单元中的电荷电平和/或写入单元和从单元读出的模拟电压或电流共同称为模拟值、模拟存储值或存储值。存储值可包含例如阈值电压或者任何其它适当类型的存储值。通过对存储单元编程,以呈现相应的编程状态(也称为编程层次),系统20把数据保存在模拟存储单元中。编程状态选自可能状态的有限集合,并且每个编程状态对应于某个标称存储值。例如,通过把8个可能的标称存储值之一写入存储单元中,3比特/单元MLC可被编程,以呈现8种可能的编程状态之一。存储设备24包含读/写(R/W)单元36,R/W单元36把用于保存在存储设备中的数据转换成模拟存储值,然后把它们写入存储单元32中。在备选实施例中,R/W单元不进行转换,而是被提供电压样本,即,被提供用于保存在单元中的存储值。当从阵列28读出数据时,R/W单元36把存储单元32的存储值转换成具有一个或多个比特的分辨率的数字样本。数据一般是以组(称为页)为单位,写入存储单元和从存储单元读取的。在一些实施例中,通过对存储单元32施加一个或多个负擦除脉冲,R/W单元可以擦除一组存储单元32。一般在整个存储块中进行擦除。数据在存储设备24中的存储和从存储设备24的取回由存储器控制器40进行。存储器控制器包含与存储设备24通信的接口 44,和实现各种存储器管理功能的处理器48。存储器控制器40与主机52通信,以便接受用于存储在存储设备中的数据,和输出从存储设备取回的数据。存储器控制器40,特别是处理器48可用硬件实现。另一方面,存储器控制器可包含运行适当软件的微处理器,或者硬件元件和软件元件的组合。图1的结构是例证的系统结构,表示该例证系统结构只是为了概念的明晰性起见。也可使用任何其它适当的存储系统结构。为了清楚起见,图中省略了不是为理解本发明的原理必需的元件,比如各种接口、寻址电路、定时和排序电路、和调试电路。虽然图1的例子表示单个存储设备24,不过系统20可包含由存储器控制器40控制的多个存储设备。在图1中所示的例证系统结构中,存储设备24和存储器控制器40被实现成两个独立的集成电路(1C)。不过在备选实施例中,存储设备和存储器控制器可以集成在单个多芯片封装(MCP)或片上系统(SoC)中的独立半导体小片上,并由内部总线互连。另一方面,一些或者全部的存储器控制器电路可以存在于其上布置有存储器阵列的相同小片上。另一方面,存储器控制器40的一些或者所有功能可用软件实现,并由处主机系统的处理器或者其它元件执行。在一些实施例中,可以在相同小片上,或者在相同设备封装中的独立小片上制备主机44和存储器控制器40。在一些实施例中,存储器控制器40包括通用处理器,所述通用处理器可用软件编程,以实现这里说明的功能。软件可以通过网络,以电子形式下载到处理器,或者另一方面或另外地,可在非临时性有形介质,比如磁、光或电存储器上提供和/或保存所述软件。在阵列28的例证结构中,存储单元32被排列成多行和多列,每个存储单元包含浮栅晶体管。每一行中的晶体管的栅极由字线连接,每一列中的晶体管的源极由位线连接。存储器阵列一般被分成多页,即,同时编程和读取的多组存储单元。页有时被细分成扇区。在一些实施例中,每一页包含阵列的一个整行。在备选实施例中,每一行(字线)可被分成两页或者更多页。例如,在一些设备中,每一行被分成两页,一页包含奇数阶单元,另一页包含偶数阶单元。一般,存储器控制器40以页为单位对数据编程,不过擦除整个存储块34。一般(尽管不一定),一个存储块在约为IO6个存储单元的量级上,而一页在约为IO3-1O4个存储单元的量级上。下面的说明描述用于选择读取保存在存储单元32中的数据的读取阈值的几种例证技术。公开的技术可由存储器控制器40和/或由R/W单元36实现。为了清楚起见,下面的说明涉及各种功能在存储设备中的R/W单元36和存储器控制器40中的处理器48之间的特定划分。不过,构成所公开的技术的各种任务一般可按照任何适当的方式,在存储器控制器和R/W电路之间划分,或者由这些元件任意之一执行。从而,在本专利申请的上下文中和在权利要求中,存储器控制器40和R/W电路36被共同称为实现所公开的技术的存储电路。图2是按照本发明的实施例,示意地图解说明选择最佳读取阈值的方案的示图。在本实施例中,存储单元32包含4级MLC,每一级保持两个数据比特。在备选实施例中,公开的技术可用于选择读取任何其它适当类型的MLC,比如8级或16级MLC的读取阈值。在图2的例子中,一般沿着给定字线的一组存储单元保持两个数据页-所述一组存储单元中的各个存储单元的第一比特中的称为最低有效位(LSB)页的一页,和所述一组存储单元中的各个存储单元的第二比特中的称为最高有效位(MSB)页的另一页。图2表示所述一组存储单元中的各个存储单元之中的阈值电压(Vth)分布。在这个例子中,阈值电压是按与4种相应的编程层次对应的4种分布60Α...60 分布的。每个编程层次代表两个比特-LSB和MSB的相应组合:
权利要求
1.一种方法,包括: 把数据保存在一组模拟存储单元中; 利用第一读取阈值读取所述组中的存储单元从而产生第一读出结果; 利用第二读取阈值重新读取所述组中的存储单元从而产生第二读出结果; 定义包括第一读取阈值至少之一和第二读取阈值至少之一的第三读取阈值; 根据第一读出结果和第二读出结果,评估第一、第二和第三读取阈值的读出性能;和根据评估的读出性能,选择第一、第二或第三读取阈值,以及利用选择的读取阈值进行数据恢复。
2.按照权利要求1所述的方法,其中进行数据恢复包括下述至少之一: 恢复保存在所述一组存储单元中的数据;和 恢复保存在不同的一组存储单元中的数据。
3.按照权利要求1所述的方法,其中评估读出性能包括根据第一读出结果和第二读出结果,获得通过利用第三读取阈值读取所述组中的存储单元理应产生的第三读出结果,并根据第三读出结果估计读出性能。
4.按照权利要求3所述的方法,其中获得第三读出结果包括: 根据利用一个或多个辅助读取阈值从所述组的读出,把所述组中的存储单元分成第一子集和第二子集;以及 通过选择从第一子集中的存储单元读取的第一读出结果,和从第二子集中的存储单元读取的第二读出结果,形成第三读出结果。
5.按照权利要求4所述的方法,其中辅助读取阈值包括读取阈值的第一集合或第二集口 ο
6.按照权利要求1所述的方法,其中利用纠错码(ECC)编码保存的数据,其中评估读出性能包括: 把所述组中的存储单元分成第一子集和第二子集; 根据从第一子集中的存储单元读取的第一读出结果,计算ECC的第一局部校正子,同时使从第二子集中的存储单元读取的第一读出结果为零; 根据从第二子集中的存储单元读取的第二读出结果,计算ECC的第二局部校正子,同时使从第一子集中的存储单元读取的第二读出结果为零; 通过相加第一和第二局部校正子,计算与通过利用第三读取阈值读取所述组中的存储单元理应产生的第三读出结果对应的ECC的第三校正子;和 通过比较关于第一读出结果计算的第一校正子、关于第二读出结果计算的第二校正子、和第三校正子,评估读出性能。
7.按照权利要求6所述的方法,其中把所述组中的存储单元分成第一子集和第二子集包括根据利用一个或多个辅助读取阈值从所述组的读出,定义第一子集和第二子集。
8.按照权利要求1所述的方法,其中利用由一组奇偶校验方程定义的纠错码(ECC)来编码保存的数据,以及其中评估读出性能包括计算由第一读出结果、第二读出结果、和通过利用第三读取阈值读取所述组中的存储单元理应产生的第三读出结果满足的奇偶校验方程的相应计数。
9.按照权利要求1所述的方法,其中利用纠错码(ECC)来编码保存的数据,以及其中评估读出性能包括评估根据第一、第二和第三读取阈值解码ECC的成功或失败。
10.按照权利要求1所述的方法,其中利用纠错码(ECC)来编码保存的数据,以及其中评估读出性能包括评估根据第一、第二和第三读取阈值解码ECC的解码处理的中间结果。
11.一种设备,包括: 存储器,所述存储器包括多个模拟存储单元;和 存储电路,所述存储电路被配置成:把数据保存在一组模拟存储单元中;利用第一读取阈值读取所述组中的存储单元从而产生第一读出结果;利用第二读取阈值重新读取所述组中的存储单元从而产生第二读出结果;定义包括第一读取阈值至少之一和第二读取阈值至少之一的第三读取阈值;根据第一读出结果和第二读出结果,评估第一、第二和第三读取阈值的读出性能;根据评估的读出性能,选择第一、第二或第三读取阈值,以及利用选择的读取阈值进行数据恢复。
12.按照权利要求11所述的设备,其中存储电路被配置成通过执行下述至少之一,进行数据恢复: 恢复保存在所述一组存储单元中的数据;和 恢复保存在不同的一组存储单元中的数据。
13.按照权利要求11所述的设备,其中存储电路被配置成根据第一读出结果和第二读出结果,获得通过利用第三读取阈值读取所述组中的存储单元理应产生的第三读出结果,并根据第三读出结果估计读出性能。
14.按照权利要求13所述的设备,其中存储电路被配置成根据利用一个或多个辅助读取阈值从所述组的读出,把所述组中的存储单元分成第一子集和第二子集,和通过选择从第一子集中的存储单元读取的第一读出结果,和从第二子集中的存储单元读取的第二读出结果,形成第三读出结果。
15.按照权利要求14所述的设备,其中辅助读取阈值包括读取阈值的第一集合或第二集合
16.按照权利要求11所述的设备,其中利用纠错码(ECC)编码保存的数据,以及其中存储电路被配置成:把所述组中的存储单元分成第一子集和第二子集;根据从第一子集中的存储单元读取的第一读出结果,计算ECC的第一局部校正子,同时使从第二子集中的存储单元读取的第一读出结果为零;根据从第二子集中的存储单元读取的第二读出结果,计算ECC的第二局部校正子,同时使从第一子集中的存储单元读取的第二读出结果为零;通过相加第一和第二局部校正子,计算与通过利用第三读取阈值读取所述组中的存储单元理应产生的第三读出结果对应的ECC的第三校正子;和通过比较关于第一读出结果计算的第一校正子、关于第二读出结果计算的第二校正子、和第三校正子,评估读出性能。
17.按照权利要求16所述的设备,其中存储电路被配置成根据利用一个或多个辅助读取阈值从所述组的读出,定义第一子集和第二子集。
18.按照权利要求11所述的设备,其中利用由一组奇偶校验方程定义的纠错码(ECC)来编码保存的数据,以及其中存储电路被配置成通过计算由第一读出结果、第二读出结果、和通过利用第三读取阈值读取所述组中的存储单元理应产生的第三读出结果满足的奇偶校验方程的相应计数,来评估读出性能。
19.按照权利要求11所述的设备,其中利用纠错码(ECC)来编码保存的数据,以及其中存储电路被配置成通过评估根据第一、第二和第三读取阈值解码ECC的成功或失败,来评估读出性能。
20.按照权利要求11所述的设备,其中利用纠错码(ECC)来编码保存的数据,以及其中存储电路被配置成通过评估根据第一、第二和第三读取阈值解码ECC的解码处理的中间结果,来评估读出性能。
全文摘要
本发明涉及模拟存储单元中的优化的阈值搜索。一种方法,包括把数据保存在一组模拟存储单元中。利用第一读取阈值读取所述组中的存储单元从而产生第一读出结果,并利用第二读取阈值重新读取所述组中的存储单元从而产生第二读出结果。定义包括第一读取阈值至少之一和第二读取阈值至少之一的第三读取阈值。根据第一读出结果和第二读出结果,评估第一、第二和第三读取阈值的读出性能。根据评估的读出性能,选择第一、第二或第三读取阈值,以及利用选择的读取阈值进行数据恢复。
文档编号G06F13/16GK103186490SQ20121058360
公开日2013年7月3日 申请日期2012年12月28日 优先权日2011年12月28日
发明者M·安霍尔特, N·萨莫 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1