管理闪存内的故障块的制作方法

文档序号:6755837阅读:198来源:国知局
专利名称:管理闪存内的故障块的制作方法
技术领域
本发明涉及用于管理非易失存储器系统内的故障存储块的方法,所述存储器系统具有单个地可擦的、用实际存储块地址可寻址的存储块,所述存储块可通过借助于分配表从逻辑块地址分别转换成一个实际存储块地址的地址转换而被寻址,其中所述分配表至少被划分成一个有用数据区、一个缓冲块区、一个故障区和一个预留区。
闪存被使用在许多计算机系统中,尤其也被使用在数字相机和便携式计算机的可更换的存储卡中。闪存以分别具有许多扇区的存储块被组织。这种存储器的主要性能是,只能进行有限数量的写和擦除操作,以及擦除只能在大的存储块内进行。在此,写过程和擦除过程比读需要多得多的时间(最大50倍)。因许多写和擦除过程会用坏存储块,于是再也不能可靠地写或擦除。通过例如在专利申请DE 19840389中所讲述的“磨损水准测量(wear leveling)”,为所有存储块实现一种大致相同数量的擦除过程。因为通过现代的制造技术,品质和因此还有擦除频度对于所有的存储单元都是相似的,所以可以采用对于所有存储块都相同的管理方法。
在譬如按照专利申请EP 0617363所述的已知方法中,在识别出故障块时,用一个预留块替代掉该故障块,并且在一个表中将两者链接。此外,使用一个关于故障存储单元的表。这种方法导致了较长的表查询时间,以便针对存储器操作找到有效的存储块。
本发明的任务在于,如此地管理故障存储块,使得它们不再被涉及到存储器操作当中。
该任务通过以下方式来解决在擦除时发生故障之后,将相应的块与一个预留块进行交换,并将其存储块地址录入到所述故障区中。
本发明的优选扩展方案在从属权利要求中被给出。
这里所考虑的具有非易失存储单元的存储器系统是以存储块进行组织的,所述存储块通过擦除操作可以被单个地擦除。存储块通过其存储块地址被询问。由主系统给定的块地址是连续地分发的。该逻辑块地址被用作分配表内的指数,在该分配表内,针对每个逻辑地址录入一个存储块地址,该存储块地址可以在工作时与其它存储块地址进行交换。另外在表内还设置了用于每个存储块的标志。所述分配表至少被划分成四个区直接相随的有用数据区、缓冲块区、预留区和故障区。在此,有用数据区是一个远远最大的区域。在具有1000个存储块的存储器系统中,例如可以按如下方式进行划分944个有用数据块,4个缓冲块,首先52个预留块,以及两个故障块。如果此时在擦除时出现故障,则在分配表中将所述存储块的条目与一个预留块进行交换,并将其地址录入到所述故障区中。
所述故障区优选地分别只有迄今产生的故障块那么大。如果识别出一个新的故障块,则所述故障区被增多1个条目,而所述预留区被减少1个条目。预留区和故障区的总数保持恒定,并且不需要其它的表变化。
由于所有的存储单元大致具有相同的故障概率,且通过“磨损水准测量”而有利地为所有存储块均衡擦除频度,所以所述故障块与所述预留块之比给出了所述存储器系统的品质和总磨损,这可以被简单地分析。
如果在写入存储块时识别出故障,则用标志“故障”来表征所述存储块。因为在这种故障时只有少量的比特被歪曲,所以在读该块时借助于校验字节来校正比特差错和再现正确的内容。只有在下一次写被表征为“故障”的存储块时,该存储块才预先与所述缓冲区中的另一存储块进行交换。
被使用的不再最新的存储块的擦除优选地由一个后台程序来完成,由该后台程序分析用于存储块的相应标志。如果该程序找到一个用标志“故障”表征的存储块,则不擦除该存储块,而是直接与一个预留块进行交换。该故障块在将来不再被使用。
本发明的优选实施方案被示例地在附图中描述。


图1示出了在出现故障时用于存储块的分配表结构,图2示出了在根据写指令清理之后的分配表。
在图1中示出了被划分为四个区的分配表ZT。第一区是有用数据区NB,它占据了该表的绝大部分。接下来是缓冲块区BB,其具有一些指向缓冲块的指针。预留区RB包含有指向准备替换的被擦除块的指针。故障区只指示故障块。通过逻辑块地址LBA访问分配表ZT,然后为存储器操作而使用那里被标明的存储块地址SBA。存储块SB可能包含数据,可能是被擦除(“被擦除”)或(“故障”)。对存储块SB的写操作通常通过一个缓冲块来运行。如果在写时识别出存储块故障,则标志DEF被置位,并且使用预留区中的一个新缓冲块。
图2中示出了在写指令的清理之后的分配表ZT的情况。现在,首先指示故障存储块SB的缓冲块指针指向一个迄今已被分配给预留区RB的被擦除存储块。预留区RB已经变成少了一个条目,而故障区DB已经变成多了一个条目。在两个区域之间的边界被移动了一个条目。被分配给两个区的块的总数保持不变。
权利要求
1.用于管理非易失存储器系统内的故障存储块的方法,所述存储器系统具有单个地可擦的、用实际存储块地址(SBA)可寻址的存储块(SB),且所述存储块可通过借助于分配表(ZT)从逻辑块地址(LBA)分别转换成一个实际存储块地址(SBA)的地址转换而被寻址,其中所述分配表(ZT)至少被划分成一个有用数据区(NB)、一个缓冲块区(BB)、一个故障区(DB)和一个预留区(RB),其特征在于在擦除时发生故障之后,将相应的块与一个预留块进行交换,并将其存储块地址录入到所述故障区(DB)中。
2.如权利要求1所述的方法,其特征在于,所述故障区(DB)与分别存在的故障块一样大。
3.如权利要求2所述的方法,其特征在于,所述故障区(DB)通过录入一个故障块而增多1,而所述预留区(RB)被减少1。
4.如权利要求3所述的方法,其特征在于,所述存储器的品质通过所述预留区(RB)与所述故障区(DB)之比来确定。
5.如权利要求1所述的方法,其特征在于,在写入一个存储块(SB)时发生故障之后,用标志“故障”(DEF)来表征所述相应的块。
6.如权利要求5所述的方法,其特征在于,由一个后台程序在所述分配表(ZT)中寻找要被擦除的存储块(SB)并擦除它,但如果这种存储块设有标志“故障”,则不擦除该存储块,而是将其录入到所述故障区(DB)。
全文摘要
本发明讲述了一种用于管理非易失存储器系统内的故障存储块的方法,所述存储器系统具有单个地可擦的、用实际存储块地址(SBA)可寻址的存储块(SB),且所述存储块可通过借助于分配表(ZT)从逻辑块地址(LBA)分别转换成一个实际存储块地址(SBA)的地址转换而被寻址,其中所述分配表(ZT)至少被划分成一个有用数据区(NB)、一个缓冲块区(BB)、一个故障区(DB)和一个预留区(RB),其中,在擦除时发生故障之后,将相应的块与一个预留块进行交换,并将其存储块地址录入到所述故障区(DB)中。
文档编号G11C16/00GK1849671SQ200480026021
公开日2006年10月18日 申请日期2004年8月12日 优先权日2003年9月10日
发明者R·屈内 申请人:海珀斯通股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1