管理闪存内被擦除的块的制作方法

文档序号:6493850阅读:391来源:国知局
专利名称:管理闪存内被擦除的块的制作方法
技术领域
本发明涉及管理存储器系统内的擦除的方法,所述存储器系统具有单个地可擦的、用实际存储块地址可寻址的存储块,所述存储块被划分为多个可写的存储扇区,而且可通过借助于分配表从逻辑块地址分别转换成一个实际存储块地址的地址转换而被寻址。
闪存被使用在许多计算机系统中,尤其也被使用在数字相机和便携式计算机的可更换的存储卡中。闪存以分别具有许多扇区的存储块被组织。这种存储器的主要性能是,只能进行有限数量的写和擦除操作,只能在预先被擦除的扇区内写,以及擦除只能在大的存储块内进行。在此,写过程和擦除过程比读需要多得多的时间(最大50倍)。因此,为了实现存储器系统的高寿命和快速反应时间,重要的是,只用少量擦除过程来对付,并且在没有出现其它读或写操作的时间内进行擦除。
在专利申请DE19840389中讲述了如何能通过利用确定的缓冲块来写扇区,而不必分别预先擦除所有的存储块。当不再存在缓冲块时,然后必须立即擦除一个,这延缓了写操作。
在专利US5485595中讲述了在管理表中管理存储块,所述管理表包含有用于存储块状态的多个标志。其中所述的标志是“USED FLAG”和“OLD FLAG”,其给出了在存储器中是否存在存储块的多个版本。具有“OLD FLAG”的存储块有待于擦除。但在每个存储器操作中,管理表需要寻找用于逻辑块地址的有效条目,这延长了存储器操作。
本发明的任务在于,进一步优化在上述德国专利申请中所讲述的存储块擦除方法,用更少的擦除操作来对付,以及进一步缩短写扇区时的反应时间。
该任务通过以下方式来解决对每个存储块,在所述分配表内设置一个关于物理擦除状态的第一标志“被擦除”和一个关于逻辑擦除状态的第二标志“内容被擦除”。
本发明的优选扩展方案在从属权利要求中被给出。
这里所考虑的具有非易失存储单元的存储器系统是以存储块进行组织的,所述存储块通过擦除操作可以被单个地擦除。所述存储块又被划分为可单个地写的扇区。在此,所述的写只能在预先被擦除的存储单元内进行。在一个分配表中列举了所有的存储块。该分配表被划分成用于有用数据块的第一区、用于管理块的第二区、用于缓冲块的第三区和用于预留块的第四区。在该表中有具有存储块地址的指针和用于各个存储块的标志,其中由所述的指针指示所述的存储块。由存储控制器利用逻辑块地址访问所述的分配表,并每个逻辑块地址被分配一个实际存储块地址。在通过指针被分配给所述逻辑块地址的实际存储块中,执行相应的存储器操作。不需要寻找所述的存储块。在所述以管理块被存储的分配表中,还针对各实际存储块的内容状态设置了标志。其中该标志是“被擦除”和“内容被擦除”。第一标志“被擦除”给出了所属的存储块完全在物理上被擦除。第二标志“内容被擦除”给出了块的内容还没有在物理上被擦除,但该内容不再有效,而且该块被规定用于擦除。
所述第一标志“被擦除”在所属的存储块的每次物理擦除之后在所述分配表中被置位。所述第二标志“内容被擦除”在所述存储块的所有内容每次变成无效之后被置位。由此,两个标志分别给出了所属的存储块的内容状态。
所述存储块的管理和存储器操作的执行通过一个存储控制器内的程序来实现。在所述的程序中有一个后台程序,当不需要执行存储器操作、例如读、写或擦除时,便执行该后台程序。由所述后台程序在所述分配表中寻找具有被置位的第二标志“内容被擦除”的存储块地址。擦除被如此找到的存储块,其中所述第一标志“被擦除”被置位。
在应该写入存储块的一个不再被擦除的扇区时,优选地首先在所述缓冲块区中寻找一个被擦除的向其写入扇区新内容的存储块。由此将这种存储块用作备用块。如果在所述缓冲块区内没有找到被擦除的存储块,则有利的是,在所述有用数据区中寻找一个被擦除的存储块并将该存储块用作备用块。为此,将指向所述有用数据区内的被擦除存储块的指针与指向所述缓冲块区内的未被擦除块的指针进行交换,并且此时位于所述有用数据区内的未被擦除的存储块获得特征“内容被擦除”。
由于所述有用数据区可能非常大和被高度占用,所以在找到一个被擦除的存储块之前可能持续长的时间。因此有意义的是,如果在所述有用数据区中的被擦除的存储块数量小于预定的阈值,则不在该有用数据区中寻找一个被擦除的存储块,而是擦除所述缓冲块区内的一个存储块,然后将该存储块用作备用块。
以上述方式被找到的备用块被完全用新的扇区写入。此后,将属于逻辑块地址的实际存储器地址的条目与所述备用块的地址进行交换,并且用所述第二标志“内容被擦除”来表征到目前为止的存储块。
通过所述存储控制器内的程序可以访问任意的存储块和扇区。即便存储单元还拥有另一内容,通过置位一个存储块内的标志“内容被擦除”,所述的内容也应该对应于被擦除的数据。如果此时对这种存储块进行读访问,那么存储控制器内的程序就可以识别这一点,并返回对应于被擦除的数据的数据。
本发明的优选实施方案被示例地在附图中描述。


图1示出了分配表与存储块的关系,图2示出了在使用新的有用数据块后的关系。
在图1中示出了被划分为三个区的分配表ZT。这是有用数据区NB、缓冲块区BB和预留区RB。通过逻辑块地址LBA访问分配表ZT,并找到指示存储块SB的所属的存储块地址SBA。对存储块地址SBA设置了标志“被擦除”ER和“内容被擦除”CER。分配表ZT的第一条目标明了一个用数据D占用的存储块SB。在该第一条目中,标志“被擦除”ER和“内容被擦除”CER没有被置位。第二条目标明了一个被擦除的存储块(111..1),其中标志被置位。在缓冲块区BB中,没有被擦条目具有被置位的标志“被擦除”ER。如果现在需要一个备用块来写有用数据块而且不存在空闲的缓冲块,那么在有用数据区NB寻找一个其标志“被擦除”ER被置位的块。这里找到分配表ZT中的第二条目。现在交换分配表内的两个条目。
图2中示出了在交换条目之后的分配表ZT的状态。现在第二条目指示一个存储块,该存储块的内容在逻辑上被擦除,但还包含有老的数据D。这是通过标志组合01来表征的。缓冲块的条目现在指示被擦除的存储块(111..1)。该存储块现在被用作用于写新的有用数据的备用块。后台程序在稍后将会擦除现在属于第二条目的存储块SB。
权利要求
1.用于管理存储器系统内的擦除的方法,所述存储器系统具有单个地可擦的、用实际存储块地址(SBA)可寻址的存储块(SB),所述存储块被划分为多个可写的扇区,而且可通过借助于分配表(ZT)从逻辑块地址(LBA)分别转换成一个实际存储块地址(SBA)的地址转换而被寻址,其中所述分配表(ZT)至少被划分为一个有用数据区(NB)和一个缓冲块区(BB),其特征在于对每个存储块(SB),在所述分配表(ZT)内设置一个关于物理擦除状态的第一标志“被擦除”(ER)和一个关于逻辑擦除状态的第二标志“内容被擦除”(CER)。
2.如权利要求1所述的方法,其特征在于,所述第一标志(ER)在所属的存储块(SB)的每次物理擦除之后被置位。
3.如权利要求1所述的方法,其特征在于,所述第二标志(CER)在所述存储块(SB)的所有内容每次变成无效之后被置位。
4.如权利要求1-3之一所述的方法,其特征在于,所述存储器系统通过一个存储控制器内的程序来管理。
5.如权利要求4所述的方法,其特征在于,由所述存储控制器内的后台程序在所述分配表(ZT)中寻找具有被置位的第二标志(CER)的存储块地址(SBA),并且擦除被如此找到的存储块(SB),其中所述第一标志(ER)被置位。
6.如权利要求4所述的方法,其特征在于,在重新写存储块(SB)的未被擦除的扇区时,首先在所述缓冲块区(BB)中寻找一个被擦除的存储块,并将该存储块用作向其写入扇区新内容的备用块。
7.如权利要求6所述的方法,其特征在于,如果在所述缓冲块区(BB)内没有找到被擦除的存储块,则将所述有用数据区(NB)中的一个被擦除的块用作备用块。
8.如权利要求7所述的方法,其特征在于,如果在所述有用数据区只存在少于预定数量的被擦除的存储块,则首先擦除所述缓冲块区(BB)内的存储块,然后将该存储块用作备用块。
9.如权利要求6-8之一所述的方法,其特征在于,在所述备用块(AB)被完整写入之后,在所述分配表(ZT)内将属于逻辑块地址的实际存储器地址(SBA)的条目与所述备用块的地址进行交换,并且用所述第二标志(CER)来表征到目前为止的存储块(SB)。
10.如权利要求9所述的方法,其特征在于,在读取具有被置位的第二标志(CER)的存储块时,由所述存储控制器返回被擦除的数据(111..1)。
全文摘要
本发明讲述了一种用于管理存储器系统内的擦除的方法,所述存储器系统具有单个地可擦的、用实际存储块地址(SBA)可寻址的存储块(SB),所述存储块被划分为多个可写的扇区,而且可通过借助于分配表(ZT)从逻辑块地址(LBA)分别转换成一个实际存储块地址(SBA)的地址转换而被寻址,其中所述分配表(ZT)至少被划分为一个有用数据区(NB)和一个缓冲块区(BB),以及其中对每个存储块(SB),在所述分配表(ZT)内设置一个关于物理擦除状态的第一标志“被擦除”(ER)和一个关于逻辑擦除状态的第二标志“内容被擦除”(CER)。
文档编号G06F12/02GK1849590SQ200480026013
公开日2006年10月18日 申请日期2004年8月12日 优先权日2003年9月10日
发明者R·屈内 申请人:海珀斯通股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1