非易失性存储器的数据刷新
2019-11-22

非易失性存储器的数据刷新

公开了用于刷新非易失性存储器设备中的数据的技术,该刷新足够频繁,足以克服错误的或遭破坏的数据比特,但不会太频繁而干扰存储器存取或导致存储器单元负担过重。一个实施例包括:基于设备中第一组非易失性存储器元件中的数据的条件,确定执行对该第一组非易失性存储器元件中所存储数据的刷新;根据相对于最近一次对所述第一组非易失性存储器元件进行了编程的时间于何时对该设备中的第二组非易失性存储器元件进行了最近一次编程,确定应当对该第二组非易失性存储器元件进行刷新程序;以及对所述第二组非易失性存储器元件执行所述刷新程序。

图1是NAND串的俯视图;

尽管在所述处理800的一个实施例中字线是随机选择的,但是并不要求随机选择字线。在一个实施例中,记录经测试的一个或多个字线,使得每个字线(或者至少是候选集合中的每一个字线)经过测试。例如,可以按顺序进行字线的测试,在每次对块进行测试时测试不同的字线。

在一个实施例中,向用户显示不要将设备断电直到刷新程序900完成的消息。但是,不管是否显示这样的消息,用户也可能在数据刷新期间将设备断电。而且,有可能用户通过访问存储器阵列200而中断刷新程序。因此,在非易失性存储器中保留数据刷新处理900进程的记录,使得该处理900如果被中断则能够恢复。

步骤1008的刷新确定可基于不同于Vt分布偏移、或者除Vt分布偏移之外的很多因素。注意,相比与较低阈值电压相关的状态,存储器单元具有较高阈值电压时的状态可按更快的速率损失/获取电荷。因此,刷新确定中的一个因素在于进行分析的Vt分布与哪些状态相关。如前所述,不同的状态可能具有不同的宽度/间隔,以适应不同程度的数据保持损失。因此,更倾向于偏移的状态可更加适合测量Vt分布中的偏移。但是,任一状态可用于测量Vt分布中的偏移。可基于对实验室中设备执行的测试得知特定存储器设备的不同Vt分布偏移特征。

感测模块480包括感测电路470,其确定所连接的比特线中的传导电流是大于还是小于预定阈值电平。在一些实施例中,感测模块480包括通常称为感测放大器的电路。感测模块480还包括比特线锁存器482,其用于设置关于所连接的比特线的电压条件。例如,比特线锁存器482中锁存的预定状态会导致所连接的比特线被拉到指出编程禁止的状态(例如Vdd)。

在步骤1512中,将时间戳存储在正被写入的块中。根据需要,可针对每个被写入的块重复步骤1510。但是,只要写入处理未中断相当长的一段时间,则该同一时间戳仍可用于按给定的写入请求而进行写入的所有的块。在任选的步骤1514中,更新时间戳表。

除了NAND闪速存储器之外,也可以使用其它类型的非易失性存储器设备。例如,所谓的TANOS结构(包括硅衬底上的TaN-Al2O3-SiN-SiO2叠层),其本质上为利用了氮化物层(而不是浮置栅极)中的电荷捕获的存储器单元,也可与本发明一起使用。可用于闪速EEPROM系统中的另一类型的存储器单元利用非导电介电材料代替导电浮置栅极来以非易失性方式存储电荷。在Chan等人的文章“ATrueSingle-TransistorOxide-Nitride-OxideEEPROMDevice”(IEEEElectronDeviceLetters,卷EDL-8,第3号,1987年3月,第93-95页)中描述了这种单元。以氧化硅、氮化硅和氧化硅(“0N0”)形成的三层电介质夹在导电的控制栅极与存储器单元沟道上方的半导电衬底的表面之间。通过将电子从该单元沟道注入到氮化物中对该单元进行编程,在该氮化物中,电子被捕获并存储在有限区域中。这种存储的电荷于是以可检测的方式改变该单元的一部分沟道的阈值电压。通过将热空穴注入氮化物中来擦除存储器单元。此外,参见Nozaki等人著的"A

在非易失性存储器元件已被编程后,重要的是能够高度可靠地读回其编程状态。但是,由于多种因素,包括噪声以及设备往往随着时间而趋向于电中性,所以感测到的编程状态有时可能与预期的编程状态不同。应当注意,诸如温度等环境因素会影响编程状态变化的速率。例如,暴露于高温下可能导致存储器单元很快变为电中性。 因此,在读取非易失性存储器时可能遇到错误的或遭破坏的数据比特。通常,采用某种形式的检错和纠错算法(“纠错算法”)来检验和纠正遭破坏的数据比特。一种常用的纠错算法是在写入过程中存储附加的奇偶校验位来将一组数据比特的奇偶性设置为所需的逻辑电平。附加的奇偶校验位有时称为纠错码(ECC)。在读取过程中,纠错算法通过计算该组数据比特的奇偶性来对奇偶校验位解码以检测遭破坏的数据。该纠错算法纠正未遭严重破坏的数据。在一些实现中,遭破坏的数据越多,纠错算法用于纠正数据的时间越久。

在步骤942中,执行软编程以将被擦除的存储器单元的擦除阈值电压的分布变窄。由于该擦除处理,一些存储器单元可处于比所需更深的擦除状态。软编程可施加小的编程脉冲以将被擦除的存储器单元的阈值电压移至更靠近擦除验证电平。在步骤950中,由控制器244发出“数据加载”命令,且该命令被输入到状态机222。在步骤952,将指定页面地址的地址数据提供给解码器224。在步骤954,将关于被寻址页面的编程数据页面输入供进行编程。例如,在一个实施例中,可以输入528字节的数据。该数据被锁存在被选择比特线的适当寄存器/锁存器中。在一些实施例中,该数据也被锁存在被选择比特线的第二寄存器中以用于验证操作。在步骤956中,从控制器244接收“编程”命令,并将其提供给状态机222。

图1是NAND串的俯视图;

通过标识多个不同的有效阈值电压(Vt)分布(或数据状态),多状态存储器设备关于每个存储器单元存储多个数据比特。每个不同的Vt分布对应于关于存储器设备中所编码的数据比特集合的预定值。例如,存储两个数据比特的存储器单元使用四个有效Vt分布。存储三个数据比特的存储器单元使用八个有效Vt分布。