成块可擦存储器的管理数据组的复原方法

文档序号:6752852阅读:316来源:国知局
专利名称:成块可擦存储器的管理数据组的复原方法
技术领域
本发明涉及一种对用扇区方式描述的并成块可擦的非易失存储器的管理数据组进行复原方法,该管理数据组保存在所属的存储控制器的一个易失的标志存储器中。
广泛流传的非易失的半导体存储器(快闪存储器)以块和扇区方式编成,其中一个块譬如由32个扇区每个为512字节组成。存储器具有以扇区方式写新信息的特点,并且只可在事先写入可擦扇区。可分别对一个块对各个扇区共同实现擦除。写入存储器的一个扇区比读所需时间长,并且擦除一个块的工作需要一个长的时间譬如几个毫秒。
按照同时以此提出的方法,由一个在所属的存储控制器中的程序管理一个快速访问的易失的标志存储器中的表,在该易失的标志存储器中分别成块和成扇区地记录管理数据组。这些表主要在写入非易失存储器的扇区时,由分配逻辑的块地址到物理的块地址和备用块的地址组成。当现在电流断开时,数据从易失的标志存储器内丢失。那么,在这个时刻,数据必须安全地包含在非易失存储器的一部分中,以便在重新启动后可用正确的数据继续工作。但是,对此在断电时由于写操作的持续时间不再有时间。所以通过拷贝持久地保障所有管理数据组的安全使所有的写操作放慢了速度,并且导致增强损耗非易失存储器。
还有在专利说明书US 5 930 193 A中,叙述了一种在系统断开时在非易失存储器的一个特别存储区中存储管理表的方法。但是,这也只是在设置的断开的情况下才是可能的,在没等到断电时管理数据组就丢失了。
本发明的任务是公开一种方法,即允许对用扇区方式描述的和成块可擦的存储器的管理数据组保存在一个所属的存储控制器的快速地易失的标志存储器中,并且在中断后重新启动时可完全复原这个管理数据组。
这个任务可由以下来解决,即在非易失存储器中连续地更新一个重建表,作为项可将范围内的写和擦操作记录在该重建表内,以致于内部标志存储器的管理数据组,分别在断电后重新启动时完全得到重建。
优选的实施方案在从属权利要求中给出。
在非易失存储器中,保留了一个或多个将重建表写入其中的数据块。这些重建表具有确定的长度譬如为128个扇区。在易失的标志存储器中,为所描述的存储器块建立起管理数据组,在该管理数据组中,其中注释了逻辑和物理的块地址,以及当前所写的备用块的地址。如果现在要说明新的存储区,或提供新的备用块,并且解除过时的从逻辑到物理的地址的分配,则可连续地每次都将一个项写入重建表。在重建表内的相应的项至少包括原存储区的逻辑的块地址、物理的块地址,以及可能使用的备用块的地址。
当断电后现在重新启动存储器系统时,由存储器控制器的程序在易失标志存储器中空白地预置管理数据组,然后从开始起就传输重建表,并且相应地在重建表中的每个项的分配都填入管理数据组内。这对于重建表中的每个项来说都要进行重复,直到这个表达到结束为止。在此,多次重写几种分配是完全可能的,因为这几种分配也可在原存储过程中得到更新。但是,在重新启动结束时,可重新建立在管理数据组中地址分配的当前状态,如该状态在断电前所处的那样。
在重建表的优选的实施方案中,这种情况可如此构成,即在表中的每个项都准是一个扇区长,尽管不是填满扇区的所有字节。由于存储器总是按扇区方式写入,所以对于一次数据准备不需附加耗费。尽管以这种方式使用不了几个存储单元,但是这在整个存储器的大小上并不具有决定性的意义。由于所有的扇区从表内的当前项起也可擦除,所以无须其它耗费就可将下一个项直接写入表内。
在几种类型的非易失存储器中,只描述一个扇区的一段、譬如128字节的一段,而与扇区的其它的段无关也是可能的。在这些类型中,只描述一个扇区的这样一个段,由此譬如对重建表只需一个存储区。
通过特别建立重建表和在非易失存储器中存储这种表可达到,在管理数据组重建期间,也会引起电流无故障地再次中断。在系统重新启动时,同样地重建表也可再次完整地进行分析计算,然后由此达到管理数据组的当前状态。
由于重建表具有一个确定的长度、譬如128项,所以在通常的存储工作中填充重建表直到快结束为止。当写入最后一项时,则优选启动重组。对此,关于重组的注释可作为最后一项写入重建表内。然后,所有的地址分配,如它在当前列入管理数据组内那样,都要解除,并且由此在管理数据组中建立起确定的基本状态,虽然该基本状态在系统重新启动时是作为第一种状态预置的。
当在成功地重组以后将作业项写入重建表时,要继续改进所述的方法。优选这种作业项设有一个计数值,该计数值在每次重组时都向高端计数。
此外,在每次重组时都将一个新的重建表置入其它的存储区内,是有利的。这些新的重建表都是从处于可擦存储区的栈中取出,这些可擦的存储区不是用原来方式擦除的就是由后台程序擦除的。作业项作为第一项写入新的重建表中。然后,释放该重建表的迄今所用的块,并且由此这样表明的特征是,重建表由可进行擦除的后台程序处理。
如果在重组的过程中,断电,新的作业项还没有写入,则在系统重新启动时可重新启动重组。这个重组可随时进行重复。
如果作业项已经写入,但还没有释放该迄今所用的重建表,则可发生,在系统重新启动时,得到2个重建表、即迄今所用的和新的重建表。然后,根据计数值在重建表的作业项内确定,哪个表是新表,并且相应地继续重组过程。由此,在这种情况下,也可保障存储系统的正确地继续工作的安全。
在每次进行从物理的块地址到逻辑的块地址的新的地址分配时,块指示器必须在块指示器表中相应地变化。这个块指示器表存在于非易失存储器中,并且写变化每次都必须通过备用块机构进行。为使写操作最佳化,在易失存储器中保留一个指示器中间表,在该指示器中间表中保持着具有逻辑的块地址的和变化的物理的块地址的变化的地址分配。这个表按照逻辑的块地址排列。如果现在进行地址分配,则首先在指示器中间表中查找,逻辑地址是否在那里登记。如果是这种情况,则可使用在那里给出的物理存储器块地址,否则使用来自块指示器表的物理存储器块地址。
由此,指示器中间表给出,哪些项在块指示器表中不再有效。在现述的重组中,也可在非易失存储器中重新写入块指示器表,并且用来自指示器中间表的值进行更新。由此,块指示器的变化只在重组时重新写入非易失存储器中,并且由此节省了大量的写操作。
在断电时,指示器中间表丢失。由于具有其逻辑和物理的块地址的每次新的地址分配时,自最后一次重组以来,都是作为项在重建表内存储,所以在系统重新启动时指示器中间表也要一起重新建立。
本发明的实施方案在图中举例说明。


图1示出了重建表的结构图2示出了中间指示器表与块指示器表的关系。
在图1中,示出了重建表RKT的结构。在这里该表由128项组成,该128项分别是长为一个扇区的长度。第一项以作业项FE为特征,此外还包括作业计数器FZ。它有其它的管理数据VD的区。从第二项起,记录了重建项RE,该重建项RE从注释的写操作起,包括逻辑的块地址LBA、物理的存储区地址SBA、已用的备用块地址ABA以及其它的管理数据。在重建表RKT的最后的项则以重组项OE为特征。它也有其它管理数据VD的区。
图2示出了块指示器表BZT,该表BZT用逻辑地址LBA指示,并且分别包括所属的物理存储区地址SBA。这个表BZT位于非易失存储器中。在易失的标志存储器中,建有指示器中间表ZZT,该指示器中间表ZZT在每个表所列的行中都包括一个从逻辑地址LBA到物理存储区地址SBA的分配。这些是逻辑地址LBA,其到物理存储区地址SBA的分配从最后的重组以来就开始变化。表所列的行按照出现的逻辑的块地址LBAn分类,并且在块指示器表BZT中给出了不再有效的项和在下一个重组时更新的项。
附图标记清单ABA 备用块地址BZT 块指示器表FE 作业项FZ 作业计数器LBA 逻辑块地址LBAn在ZZT中逻辑块地址nOE 重组项RE 重建项RKT 重建表
SBA 存储区地址VD 管理数据ZZT 指示器中间表
权利要求
1.复原一个以扇区方式描述的和成块可擦的非易失存储器的管理数据组的方法,该管理数据组保存在所属的存储控制器的可快速访问内部的易失标志存储器中,其特征在于,在非易失存储器的一个或多个存储区中连续地更新重建表(RKT),在该重建表(RKT)中在非易失存储器范围内作为项记录所有的写和擦操作,以致于存储控制器的内部的标志存储器的管理数据组可在断电后重新启动时分别完全得到重建。
2.按照权利要求1所述的方法,其特征在于,记入重建表(RKT)中的每个项都是一个扇区或一个扇区段那么长。
3.按照权利要求1所述的方法,其特征在于,当数据组重建电流再次中断时,可重复标志存储器的管理数据组的重建。
4.按照权利要求1所述的方法,其特征在于,在达到预定的重建表(RKT)的填充状态时,启动一个重组以建立在标志存储器和重建表(RKT)中管理数据组的确定的基本状态,并且重组的这种启动作为最后一项(OE)在重建表(RKT)中进行注释。
5.按照权利要求4所述的方法,其特征在于,每次在重组成功时,作业项(FE)在包括一个计数器(FZ)在内的重建表中实现,该计数器(FZ)在作业项中向高端计数。
6.按照权利要求5所述的方法,其特征在于,在成功地重组以后为重新建立重建表(RKT),可释放按后台程序进行擦除的迄今所使用的存储区,并且相应地预置还可擦除的块。
7.按照权利要求5所述的方法,其特征在于,在重建表(RKT)中第一项是一个作业项(FE)。
8.按照权利要求1所述的方法,其特征在于,在标志存储器中作为管理数据组的一部分保存分别为无效的块指示器用的表(ZZT),表(ZZT)包含在非易失存储器中块指示器表(BZT)内。
9.按照权利要求3所述的方法,其特征在于,在重组时,根据用于无效的块指示器的表(ZZT)可分别更新块指示器表(BZT)。
全文摘要
本发明涉及复原一个以扇区方式描述的和以块方式可擦的非易失存储器的管理数据组的方法,该管理数据组保存在所属的存储控制器的可快速访问内部的易失标志存储器中,其中在非易失存储器的一个或多个存储区中连续地更新重建表(RKT),在该重建表(RKT)中在非易失存储器范围内作为项记录所有的写和擦操作,以致于存储控制器的内部标志存储器的管理数据组可在断电后重新启动时分别完全得到重建。
文档编号G11C16/10GK1662873SQ03814193
公开日2005年8月31日 申请日期2003年6月17日 优先权日2002年6月19日
发明者C·鲍姆霍夫, R·屈内 申请人:海珀斯通股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1