写入预补偿以延长固态存储器寿命的系统和方法

文档序号:8947542阅读:560来源:国知局
写入预补偿以延长固态存储器寿命的系统和方法
【技术领域】
[0001]本公开内容涉及数据存储系统。更具体地,本公开内容涉及写入预补偿以延长固态存储器寿命的系统和方法。
【背景技术】
[0002]诸如闪存驱动器的特定固态存储器设备以由浮置栅极晶体管构建的存储器单元的阵列的形式来存储信息。在单层单元(SLC)闪存设备中,每个单元存储单个位的信息。在多层单元(MLC)设备中,每个单元存储两个或更多个位的信息。当执行读操作时,将单元的电荷水平与一个或多个电压基准值(也称作“读电压电平”或“电压阈值”)相比较以确定各个单元的状态。在SLC设备中,可以使用单个电压基准值来读单元。在MLC设备中,使用多个电压基准值来读单元。特定固态设备允许存储器控制器来设置读电压电平。
[0003]固态存储器设备中的数据保存错误可能归因于各种因素。这些因素包括:随时间的电荷丢失或泄露,以及由使用引起的设备磨损。当在读操作上的位错误数量超过存储子系统的ECC (纠错码)纠正能力时,读操作失败。
【附图说明】
[0004]出于说明的目的,在附图中描绘了各个实施例,并且这些实施例绝不应当被解释为限制本发明的范围。另外,可以将所公开的不同实施例的各个特征相结合以形成额外的实施例,其也是本公开内容的一部分。贯穿附图,可以重复使用附图标记以指示参考元素之间的对应关系。
[0005]图1是示出了执行写入预补偿的固态存储设备的实施例的框图。
[0006]图2示出了非易失性固态存储器单元的实施例。
[0007]图3是示出了根据实施例的在非易失性固态存储器阵列中的单元的概率分布的图。
[0008]图4是示出了根据实施例的在非易失性固态存储器阵列中的单元的概率分布中变化的图。
[0009]图5是示出了根据实施例的初始设置及调整编程验证电压电平的图。
[0010]图6是根据实施例的执行写入预补偿的过程的流程图。
[0011]图7是示出了根据实施例的存储器错误对编程/擦除(P/E)计数的图。
【具体实施方式】
[0012]尽管描述了本发明的特定实施例,但是这些实施例仅仅是通过示例的方式给出的,并且不是要限制本发明的范围。实际上,本文所描述的新颖的方法和系统可以以各种其它形式来实施。此外,可以以本文所描述的方法和系统的形式进行各种省略、替换以及改变,而不脱离本发明的精神。
[0013]臟
[0014]固态存储器中的数据存储单元(诸如每单元多层(MLC)闪速存储器)可以具有对应于不同存储状态的不同的阈值电压分布(Vt)电平。例如,在MLC实现中,固态存储器中的不同的存储状态可以对应于范围在读电压(VR)电平之间的电压电平分布;当存储器单元的电荷落入特定范围内时,页的一个或多个读数可以揭示该单元的对应的存储状态。使用编程或程序验证电压来对存储器单元进行编程。存储器单元根据编程电荷水平存储表示用户数据的不同的二进制数据。例如,基于电荷水平,每个单元通常会落入存储状态中的一个状态,该状态由相关的数据位表示。可以将存储器单元的不同存储状态的电压分布分隔开,并且可以将读电压电平有利地设置为存储状态之间的边缘(margin)中的值。
[0015]随着时间的推移,并且由于各个物理状况和来自反复的编程/擦除(P/E)周期的磨损,各个分布电平之间的边缘可能会减少,从而使得电压分布会在某种程度上重叠。读边缘中的这种减小可能是由于多种因素,诸如,由于闪存单元氧化层老化(degradat1n)所引起的电荷丢失、导致存储器遭受P/E周期的设备使用、由不稳定的编程步骤导致的过度编程、由于在单元的位置中繁重的读或写(或写干扰)引起的对相邻擦除单元的编程、和/或其它因素,所有这些因素都可以引起固态存储设备中的保存问题。
[0016]所公开的实施例涉及延长固态存储器(例如,NAND闪速存储器)寿命的高级编程或写入预补偿方法。如上所述,存储器(诸如,NAND)会由于反复的P/E周期而磨损。在NAND的情况下,磨损机制与在NAND设备的氧化层中电荷捕获的损耗或逐渐积累相关。编程操作典型地涉及驱动高电压处的电荷穿过NAND栅氧化层,以便产生NAND阈值电压电平。在NAND的早期生命中,这些电平得到良好的分离。随着时间的推移,这些电平开始重叠,直到信道无法正确地对数据进行解码的程度。
[0017]在一些实施例中,在固态存储器的早期生命中,与默认电平相比,降低了编程验证电压电平,并且存储设备有效地开始于重叠电平,所述重叠电平可以产生错误检测和纠错机制(诸如,低密度奇偶码(LDPC))可容忍的错误水平。随着电平开始更多地重叠,在一个实施例中,增加编程验证电压电平以减少重叠。在一个实施例中,通过这种递增的验证电压增加过程,可以反复地减少重叠,直到达到默认的验证电压,在这一点处,固态存储器随着默认电压之下的每个操作而被磨损。然而,在经编程的电平被重叠的时间期间,应用较低的编程验证电压,这会在存储器中的栅氧化层上引起较少的磨损。其结果是产生较少的氧化层损伤并且延长固态存储器的寿命。此处所描述的各个实施例可应用于单层单元(SLC)和多层单元(MLC)存储器二者。
[0018]系统概沐
[0019]图1示出了根据本发明的一个实施例的示例性固态存储设备120。如所示的那样,存储设备120(例如,固态驱动器等)包括控制器130和非易失性固态存储器阵列140,该非易失性固态存储器阵列140包括一个或多个存储块(标识为块“A” 142至块“N”)。每个块包括多个闪速页(F-页)。例如,图1的块A 142包括多个F页,标识为F-页A(143)、B、直到N。在一些实施例中,每个“F-页”都是非易失性固态存储器阵列140中的存储器单元的最小的组,其可以以单个操作或作为一个单位来进行编程。此外,每个F-页包括一个或多个纠错码页(E-页)。在所示的实施例中,每个F-页包括以四个方框示出的四个E-页,包括E-页144。其它实施例可以使用不同定义的F-页或E-页,或每个F页可以包括多于或少于四个E-页。
[0020]控制器130可以接收来自主机系统110中的存储接口模块112 (例如,设备驱动器)的数据和/或存储访问命令。由存储接口 112传送的存储访问命令可以包括由主机系统110发出的写和读命令。该命令可以指定存储设备120中的逻辑块地址,并且控制器130可以在非易失性固态存储器阵列140中执行所接收的的命令。在混合硬盘驱动器中,除了非易失性固态存储器阵列140之外,数据还可以存储在磁介质存储部件(在图1中未示出)中。
[0021]存储设备120可以存储从主机系统110接收到的数据,从而使得存储设备120可以充当主机系统110的存储器存储设备(memory storage)。为了便于这种功能,控制器130可以实现逻辑接口。该逻辑接口可以将存储设备存储器作为可以在其上存储数据的逻辑地址的集合(例如,连续地址)呈现给主机系统110。内部地,控制器130可以将逻辑地址映射到非易失性固态存储器阵列140和/或其它存储器模块中的各个物理存储器地址。
[0022]为了实现错误检测和纠错,在一个实施例中,控制器130包括纠错模块150。纠错模块150包括编码器模块154和解码器模块156。在一个实施例中,编码器模块154对待写入非易失性固态存储器阵列140的存储器页(诸如,E-页)的数据(例如,主机或用户数据)进行编码。编码器模块154可以动态地使用不同的编码参数以适应非易失性固态存储器阵列140的状况的改变。类似地,解码器模块156对从存储器页读取的数据进行解码,并且可以类似地使用不同的编码参数。
[0023]在一个实施例中,其中基于LDPC进行错误检测和纠错,编码参数可以包括LDPC编码参数,诸如,G(发生器)或H(奇偶校验)编码矩阵的列重(column weight)、G或H编码矩阵的行重(row weight)、P矩阵尺寸(例如,其中P矩阵是G或H编码矩阵的子矩阵)等。此外,编码器模块154和解码器模块156可以确定未填充的或填充的用户数据的奇偶校验数据,以及对用户数据进行解码使其具有相应的奇偶校验数据和填充。此外,编码器模块154和解码器模块156可以通过调节编码参数来调节用
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1