用于向闪速存储器执行写入的方法和设备技术

技术编号:3082293 阅读:200 留言:0更新日期:2012-04-11 18:40
对于NAND闪速设备,数据手册中定义了编程时间的两个特殊界限:其中对所有页中多于50%的部分进行了编程的典型编程时间和最大编程时间。使用如下用于向闪速存储器写入的方法,能够把最大编程时间减小至有效编程时间,该方法包括步骤:规定典型编程时间与最大编程时间之间的有效编程时间;把第一数据写入闪速存储器;在经过有效编程时间后,检查编程周期是否结束;若编程周期结束,把第二数据写入闪速存储器,若编程周期没有结束,把至少是第二数据写入缓冲存储器,并对其进行标记以便不被覆写;只要还有要存储的数据,则重复上述步骤;确定闪速存储器中的空闲位置;以及把至少是第二数据从缓冲存储器复制到闪速存储器中所确定的位置。

【技术实现步骤摘要】

本专利技术涉及用于向闪速存储器执行写入的一种方法和一种设备。
技术介绍
闪速技术广泛用于例如存储卡、USB驱动器、MP3播放器中,并且用作数码相机的图像存储器。闪速存储器通常基于NAND或NOR结构。NAND最适于需要高容量数据存储的闪速设备。NAND闪速设备通常包含用于例如在所谓的编程过程期间保持数据的数据寄存器,其中在编程过程中把数据实际地写入闪速存储器单元。NAND闪速设备通常包含所谓的坏块或坏页,即包含一个或多个不能存储信息的比特的页,其中这些比特由于具有缺陷而不能使用。此外,NAND闪速存储器要经受消耗,即逐渐地会出现越来越多的坏块。由于这个和其它原因,可能出现不总是能够成功地向块写入数据的状态。对于普通的NAND闪速设备来说,数据手册(data sheet)中定义了两个针对编程时间的特殊界限典型编程时间和最大编程时间。典型编程时间被定义为在该时间内对所有页中多于50%的部分进行编程(在规定的电压电平和温度下)。因此,在典型编程时间为上界的时间内执行了所有页的编程过程中多于50%的部分。对于剩下的页,把最大编程时间作为上界。例如,对于当今的MICRON NAND闪速设备来说,典型编程时间被规定为300μs,而最大编程时间被规定为700μs。使用NAND闪速设备的应用程序负责跟踪这种坏块。然而,典型地能够对好块执行超过100,000至1,000,000次的擦除和重编程。随着写入/擦除周期数目的增大,设备的编程时间稍微减小,而且设备的寿命通常更多地由编程失败之外的其它故障决定。上文提到的不同的典型编程时间和最大编程时间归因于所采用的编程验证策略。这意味着在编程过程成功完成或出现超时之前,对数据比特进行编程的多种尝试得以执行并得以验证。这个编程验证过程由内部控制逻辑自动地执行。由于编程时间(即把一页从数据寄存器写入NAND闪速单元阵列所需的时间)的原因,NAND闪速存储器具有内在的、不可忽略的等待时间。然而,成功的页编程过程所经历的编程时间不是完全可确定的,而是分布在一个范围内,其中最大编程时间作为上界。因此,对于需要连续地存储数据的应用来说,最大编程时间确定了能够实现的有效数据速率。来自Toshiba的“NAND flash Design Guide”提供了更多关于NAND闪速技术的信息,可以访问www.data-io.com/pdf/NAND/Toshiba/NandDesignGuid.pdf.pdf。
技术实现思路
本专利技术所要解决的问题是提供一种用于减小闪速设备的有效编程时间的方法和结构。另一个所要解决的问题是提供一种用于在闪速设备中存储连续数据流的方法和结构,其中进行存储的数据速率高于由所使用的闪速设备的最大编程时间产生的数据速率,而且不会干扰闪速设备内的编程验证过程。本专利技术利用了仅有非常少的存储块确实需要规定的最大编程时间这个事实,并提供了一种用于处理这些情况的方法和结构,从而要存储的数据不会丢失。根据本专利技术,这些数据被存储在缓冲存储器中,而且之后被复制到闪速存储设备中。这里假定闪速存储空间足以用于存储数据。特别是当选择明显高于(例如10%)典型编程时间的有效编程时间(但相比于最大编程时间而言,更接近典型编程时间)时,编程失败的可能性足够低以便在缓冲存储器中保持那些编程过程失败的数据,并且之后把该数据复制到闪速存储器中。本专利技术的一方面提供了一种向闪速存储器执行写入的方法,其中闪速存储器具有规定的最大编程时间和规定的典型编程时间,并提供一个或多个指示编程周期是否结束的信号,所述方法包括步骤规定有效编程时间,所述有效编程时间高于典型编程时间且低于最大编程时间;把第一数据写入闪速存储器的第一位置,在规定的有效编程时间后,对所述一个或多个指示编程周期是否结束的信号进行评估;如果编程周期结束,那么把第二数据写入闪速存储器的第二位置;如果编程周期没有结束,那么把至少是第二数据写入缓冲存储器,并对缓冲存储器中至少是第二数据进行标记使其不被覆写;如果要存储其它数据,那么重复从把数据写入闪速存储器开始的上述步骤;确定闪速存储器中的空闲位置,并且把至少是第二数据从缓冲器复制到闪速存储器中所确定的位置,其中可以把所述数据从缓冲器中擦除。本专利技术的一方面提供了一种用于向闪速存储器执行写入的设备,其中闪速存储器具有规定的最大编程时间和规定的典型编程时间,并提供一个或多个指示编程周期是否结束的信号(例如状态读取、忙),所述设备包括用于规定有效编程时间的装置,所述有效编程时间高于典型编程时间且低于最大编程时间;用于把第一数据写入闪速存储器的第一位置的装置;用于在规定的有效编程时间后对所述一个或多个指示编程周期是否结束的信号进行评估的装置;用于把第二数据写入闪速存储器的第二位置的装置,其中如果先前的编程周期结束,则第二数据仅被写入闪速存储器;缓冲存储器(例如足以用于多个页的页缓冲器);用于把至少是第二数据写入缓冲存储器的装置;用于对缓冲存储器中至少是第二数据进行标记的装置,从而如果先前的编程周期没有结束,使被标记的数据不被覆写;用于确定闪速存储器中的空闲位置的装置(这可以是例如示出保留块的表),以及用于把至少是第二数据从缓冲器复制到闪速存储器中所确定的位置的装置,其中可以把已复制的数据从缓冲器中擦除。在一个实施例中,可以使用用于确定没有其它要存储的数据的装置。在优选实施例中,闪速存储器是NAND闪速存储器。在一个实施例中,缓冲存储器的大小等于或大于预期超过有效编程时间的闪速编程过程所涉及的数据的总量。在一个实施例中,缓冲存储器的大小等于或大于以下两项之和预期超过有效编程时间的闪速编程过程所涉及的数据的总量,以及预期将不会成功的闪速编程过程(根据闪速存储器的正常行为)所涉及的数据的数量。在一个实施例中,缓冲存储器还用于存储不成功的闪速编程过程所涉及的数据。典型地,有效编程时间实际上为规定的最大编程时间的50%。本专利技术还可以被理解为一种用于处理闪速设备中编程时间错误的方法和设备,其中闪速设备的访问速度过快。从属权利要求、下文描述和附图中公开了本专利技术的有利实施例。附图说明参考附图对本专利技术的典型实施例进行描述,附图中图1是具有附加的页缓冲器的NAND闪速阵列的结构;图2是闪速设备的简化的逻辑访问规范;图3是单一的MICRON闪速设备的典型编程时间分布;图4是具有相同类型的任意MICRON闪速设备组的典型编程时间分布;以及图5是示出了闪速设备访问和缓冲器访问的时序图。具体实施例方式图1示出了具有N个NAND闪速设备和页缓冲器的电路的结构,它可以用于存储连续的实时数据流。使用公共的I/O地址和数据总线B以及控制信号C(例如闪速设备的单独的芯片使能信号)把数据以页的形式依次写入(每一页都以字节的方式依次写入)闪速设备。也可以把数据写入与闪速设备并行(逻辑上)连接的页缓冲器。使用比规定的最大编程时间要短的编程时间来操作闪速设备,这导致了偶然会出现编程时间超出。根据本专利技术,至少把经历了编程时间超出的数据之后的数据存储在页缓冲器中,之后把这些数据复制到闪速存储器中的剩余空闲位置中。图1和其它附图对并行连接做了简化。技术人员知晓闪速设备可能不能简单地并联,这对于缓冲存储器也一样。因此,所描述的结构应被理解为逻辑结构。在本专利技术的一个本文档来自技高网
...

【技术保护点】
一种向闪速存储器执行写入的方法,其中闪速存储器具有规定的最大编程时间和规定的典型编程时间,并提供一个或多个指示编程周期是否结束的信号(状态读取、忙),所述方法包括步骤:     -规定有效编程时间(t↓[PROG,eff]),所述有效编程时间高于典型编程时间且低于最大编程时间;    -把第一数据(i)写入闪速存储器;    -在规定的有效编程时间(t↓[PROG,eff])后,对所述一个或多个指示编程周期是否结束的信号(忙、状态读取)进行评估;    -如果编程周期结束,那么把第二数据写入闪速存储器;    -如果编程周期没有结束,那么把至少是第二数据(i+1)写入缓冲存储器(页缓冲器),并对缓冲存储器中至少是第二数据进行标记使其不被覆写;    -如果要存储其它数据,那么重复从把数据写入闪速存储器开始的上述步骤;    -确定闪速存储器中的空闲位置;以及    -把至少是第二数据从缓冲存储器(页缓冲器)复制到闪速存储器中所确定的位置,其中可以把所述数据从缓冲存储器中擦除。

【技术特征摘要】
EP 2006-4-28 06113281.71.一种向闪速存储器执行写入的方法,其中闪速存储器具有规定的最大编程时间和规定的典型编程时间,并提供一个或多个指示编程周期是否结束的信号(状态读取、忙),所述方法包括步骤-规定有效编程时间(tPROG,eff),所述有效编程时间高于典型编程时间且低于最大编程时间;-把第一数据(i)写入闪速存储器;-在规定的有效编程时间(tPROG,eff)后,对所述一个或多个指示编程周期是否结束的信号(忙、状态读取)进行评估;-如果编程周期结束,那么把第二数据写入闪速存储器;-如果编程周期没有结束,那么把至少是第二数据(i+1)写入缓冲存储器(页缓冲器),并对缓冲存储器中至少是第二数据进行标记使其不被覆写;-如果要存储其它数据,那么重复从把数据写入闪速存储器开始的上述步骤;-确定闪速存储器中的空闲位置;以及-把至少是第二数据从缓冲存储器(页缓冲器)复制到闪速存储器中所确定的位置,其中可以把所述数据从缓冲存储器中擦除。2.根据权利要求1所述的方法,其中闪速存储器是NAND闪速存储器。3.根据权利要求1或2所述的方法,其中缓冲存储器(页缓冲器)的大小等于或大于预期超过有效编程时间(tPROG,eff)的闪速编程过程所涉及的数据的总量。4.根据权利要求1或2所述的方法,其中缓冲存储器(页缓冲器)还用于存储失败的闪速编程过程所涉及的数据。5.根据权利要求1或2所述的方法,其中缓冲存储器(页缓冲器)的大小等于或大于以下两项之和预期超过有效编程时间(tPROG,eff)的闪速编程过程所涉及的数据的总量,以及预期将不会成功的...

【专利技术属性】
技术研发人员:约恩亚卡斯基马尔科吕特延
申请(专利权)人:汤姆森许可贸易公司
类型:发明
国别省市:FR[法国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利