数据读写方法、装置、存储体及网络设备的制作方法

文档序号:6434395阅读:140来源:国知局
专利名称:数据读写方法、装置、存储体及网络设备的制作方法
技术领域
本发明涉及计算机存储技术,尤其涉及一种数据读写方法、装置、存储体及网络设备。
背景技术
与非闪存(nand flash)是非易失存储器,广泛应用于嵌入式系统以及各种闪存盘 (例如U盘)。nand flash的物理结构由页(page)和块(block)组成;一个页大小为512 字节(Byte),每个页还有16字节的附加区域(Spare area),可以用于存放与该页有关的一些信息,例如错误检查与纠正码(Error Correcting Code ;简称为ECC);—个块由相邻的 32个页组成,也就是16KB大小。页为读操作的基本单位,块为擦除操作的基本单位,在写一个区域之前,要对包含这个区域的整个块进行擦除操作,不管写多大的数据量,都要将区域所在的整块进行擦除。而nand flash单块可擦除的次数有个上限,超过这个上限,这一块就会变成坏块,该块中存储的内容会丢失。对于多层单元(Multi-Level Cell ;简称为 MLC)nand flash,这个上限为10000次。MLC nand flash现今广泛应用于大容量存储体,如 4G存储体、8G存储体。大容量MLC nand flash存储体经常使用的fat32文件系统。fat32文件系统以簇 (cluster)来管理、分配存储体的空间,对存储体空间按簇进行编码,使用32比特(bit)、也就是4个字节来标识一个簇。在fat32文件系统中,每个数据文件具体存放在存储体的哪个位置是通过文件分配表中的簇链来管理的。文件分配表是用来存放存储体中所有数据文件所在位置的表格,它指示了数据文件都存放在哪些簇里面,所以文件分配表里面的数据都是簇号;簇链是由表示数据文件所占用的下一个簇的簇号链接而成。fat32文件系统虽然以簇作为管理、分配存储体空间的最小单位,但是fat32文件系统下存储体的最小寻址单位是扇区,为512字节,底层驱动软件也是按扇区对存储体进行读写操作的,簇只是fat32 文件系统上层的一个逻辑概念。如果设备频繁操作这个MLC nand flash存储体,例如设备频繁的往MLC nand flash存储体里面写数据文件(例如新建文件、往旧文件后面追加新数据等),就会触发频繁的修改MLC nand flash存储体里面的文件分配表,而所有修改文件分配表的操作都会落在文件分配表对应的block中,每次修改文件分配表都会擦除对应的block,很快文件分配表对应的block的擦除次数就会达到nand flash的额定上限。由于达到上限的block将会变为坏扇区,里面存储的数据就会丢失,也就是说当文件分配表对应的block变为坏区时, 文件分配表中的数据就会丢失,从而导致整个MLC nand flash存储体中其他数据文件都被丢失。

发明内容
本发明提供一种数据读写方法、装置、存储体及网络设备,用以解决文件分配表对应的block的擦除次数达到额定上限而导致文件分配表以及MLCnand flash存储体中其他文件数据被丢失的问题。本发明提供一种数据读写方法,包括当对存储体中原始文件分配表对应的块区间进行读写操作时,根据所述原始文件分配表对应的块区间的地址和偏移地址,将对所述原始文件分配表对应的块区间的读写操作映射为对所述存储体中存储备份文件分配表的第一备份区间的读写操作;其中,所述第一备份区间的大小与所述原始文件分配表对应的块区间的大小相同,所述偏移地址为所述原始文件分配表对应的块区间到所述第一备份区间的地址偏移量;根据所述第一备份区间的起始时间和当前时间,判断所述第一备份区间是否到达使用极限;当所述第一备份区间到达使用极限时,将所述第一备份区间中存储的备份文件分配表复制到所述存储体中下一个备份区间中,将所述下一个备份区间作为新的第一备份区间,设置所述新的第一备份区间的起始时间,并重新设置所述偏移地址,然后根据所述原始文件分配表对应的块区间的地址和重新设置后的偏移地址,将对所述原始文件分配表对应的块区间的读写操作映射为对所述新的第一备份区间的读写操作,并根据对所述原始文件分配表对应的块区间进行读写操作的读写指令完成对所述新的第一备份区间的读写操作;当所述第一备份区间未到达使用极限时,根据对所述原始文件分配表对应的块区间进行读写操作的读写指令完成对所述第一备份区间的读写操作。本发明提供一种数据读写装置,包括映射模块,用于在对存储体中原始文件分配表对应的块区间进行读写操作时,根据所述原始文件分配表对应的块区间的地址和偏移地址,将对所述原始文件分配表对应的块区间的读写操作映射为对所述存储体中存储备份文件分配表的第一备份区间的读写操作;其中,所述第一备份区间的大小与所述原始文件分配表对应的块区间的大小相同,所述偏移地址为所述原始文件分配表对应的块区间到所述第一备份区间的地址偏移量;判断模块,用于根据所述第一备份区间的起始时间和当前时间,判断所述第一备份区间是否到达使用极限;第一读写模块,用于在所述第一备份区间到达使用极限时,将所述第一备份区间中存储的备份文件分配表复制到所述存储体中下一个备份区间中,将所述下一个备份区间作为新的第一备份区间,设置所述新的第一备份区间的起始时间,并重新设置所述偏移地址,然后根据所述原始文件分配表对应的块区间的地址和重新设置后的偏移地址,将对所述原始文件分配表对应的块区间的读写操作映射为对所述新的第一备份区间的读写操作, 并根据对所述原始文件分配表对应的块区间进行读写操作的读写指令完成对所述新的第一备份区间的读写操作;第二读写模块,用于在所述第一备份区间未到达使用极限时,根据对所述原始文件分配表对应的块区间进行读写操作的读写指令完成对所述第一备份区间的读写操作。本发明实施例提供一种存储体,第一块区间和至少一个备份区间;所述第一块区间,用于存储原始文件分配表;所述至少一个备份区间中包括第一备份区间,所述第一备份区间用于存储备份文件分配表;
其中,每个备份区间的大小与所述第一块区间的大小相同。本发明提供一种网络设备,包括本发明提供的任一数据读写装置和本发明提供的任一存储体。本发明的数据读写方法、装置、存储体及网络设备,通过在存储体的备份区间中存储备份文件分配表,当对原始文件分配表对应的块区间进行读写操作时,将对原始文件分配表对应的块区间的读写操作映射为对备份文件分配表对应的备份区间的读写操作,当存储备份文件分配表的备份区间未达到使用极限时,直接根据读写指令完成对备份区间的读写操作,当存储备份文件分配表的备份区间达到使用极限时,重新将备份文件分配表复制到下一个备份区间,并根据读写指令完成对下一个备份区间的读写操作,而不再对原始文件分配表进行频繁的读写操作,即实现了对文件分配表的读写操作,又解决了因对原始文件分配表进行频繁读写操作使其对应的块区间的擦除次数达到额定上限而导致原始文件分配表和存储体中其他数据文件被丢失的问题。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明一实施例提供的存储体的结构示意图;图2为本发明另一实施例提供的存储体的结构示意图;图3为本发明一实施例提供的数据读写方法的流程图;图4为本发明另一实施例提供的数据读写方法的流程图;图5为本发明又一实施例提供的数据读写方法的流程图;图6A为本发明再一实施例提供的数据读写方法的流程;图6B为本发明再一实施例提供的存储体的结构示意图;图7为本发明一实施例提供的数据读写装置的结构示意图;图8为本发明另一实施例提供的数据读写装置的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明一实施例提供的存储体的结构示意图。本实施例的存储体可由MLC nand flash构成,并且采用fat32文件系统进行管理。如图1所示,本实施例的存储体包括第一块区间11和至少一个备份区间12。其中,第一块区间11用于存储原始文件分配表。所谓原始文件分配表即为fat32 文件系统下用于管理每个数据文件具体存放位置的文件分配表。至少一个备份区间12是预先留出的存储空间,主要用于存储备份文件分配表。其中,备份文件分配表是根据原始文件分配表生成的,也就是说备份文件分配表基于原始文件分配表,但并不完全等同于原始文件分配表。例如最初的备份文件分配表就是原始文件分配表的备份,与原始文件分配表相同,但是随着数据读写装置不断对存储体进行读写操作,数据读写装置就会为存储体中所增加的新文件或对旧文件增加的新数据而更新备份文件分配表,此时,在对原始文件分配表进行更新之前,备份文件分配表与原始文件分配表并不完全相同。基于上述可见,备份区间12和第一块区间11的大小相同。例如以4G的存储体, 每个簇的大小为32个扇区(即16K)为例进行说明。对于这样一个4G的nand flash存储体,其文件分配表的大小为4G/16K = (4X 1024X 1024X 1024)/(16*1024) = 1048576 = 1M。也就是说,第一块区间11的大小以及每个备份区间12的大小均为1M。在本实施例中,每个备份区间12都有使用极限,也就是允许擦除的次数的额定上限。当备份区间的擦除次数达到其额定上限时,说明该备份区间的使用极限到了,该备份区间就会变为坏扇区,其中所存储的数据就会被丢失。在正常使用过程中,至少一个备份区间 12中仅有一个备份区间12中存储有备份文件分配表,将存储有备份文件分配表的备份区间称为第一备份区间。当第一备份区间的使用极限到达时,数据读写装置就会将备份文件分配表从第一备份区间中复制到下一个备份区间中,下一个备份区间就会作为新的第一备份区间。在本实施例中,对每个备份区间12在存储体中的位置不做限定,且各个备份区间 12可以是存储体中不连续的多个存储空间,也可以由存储体中的一块连续的存储空间构成。另外,备份区间12的个数可以根据对文件分配表的读写操作的频繁程度以及存储体中block的擦除次数的额定上限来确定。本实施例对备份区间12的个数不做具体限定,例如如果希望备份100份文件分配表,则需要预留100个备份区间12,对于大小为IM的备份区间12来说,整个存储体就需要预留出100M大小的存储空间。本实施例的存储体,通过预先留出存储备份文件分配表的备份区间,将原始文件分配表生成的备份文件分配表存储在其中一个备份区间中,允许数据读写装置将对原始文件分配表的读写操作转换为对备份文件分配表的读写操作,也就将对存储原始文件分配表的块区间的擦除操作转换为对备份区间的擦除操作,并且在一个备份区间的使用极限到达时继续转换为对下一个备份区间的擦除操作,从而解决了因nand flash存储体中原始文件分配表对应的block的擦除次数达到上限而使fat32文件系统中的原始文件分配表被提前破坏进而导致nand flash存储体中其他数据文件被(由于文件分配表被破坏而访问不到) 丢失的问题。图2为本发明另一实施例提供的存储体的结构示意图。如图2所示,本实施例基于图1所示实施例实现,如图2所示,本实施例的存储体还包括第二块区间13。第二块区间13,用于存储数据文件。进一步,如图2所示,本实施例的存储体还包括引导区间14和保留区间15。其中,引导区间14中存储有与对存储体进行读写操作的数据读写装置有关的各种数据,例如数据读写装置的引导程序等。保留区间15是保留区间,暂时未被使用。本实施例的存储体通过划分引导区间14和保留区间15,并将引导区间14和保留区间15划分在第一块区间之前,实现了与标准文件系统对应的存储体结构,为与标准文件系统兼容打下了基石出。进一步,如图2所示,本实施例的存储体包括两个第一块区间11,其中一个记为 FAT1,另一个即为FAT2。其中,FATl中存储的是所述的原始文件分配表,FAT2在标准fat32 文件系统中可用可不用,完全是FATl的一个实时镜像,无特别价值,在后面不做描述。进一步,如图2所示,在本实施例的存储体中,备份区间12依次相邻,且位于第二块区间13之后,亦即位于存储体的最后面。在这种划分方式中,可以将备份文件分配表放在存储体的最后面,即放在存储体中数据文件之后,备份区间12之前的部分与现有nand flash存储体的结构完全相同,使得不需要对fat32文件系统本身做任何的修改,在实现对文件分配表进行备份的同时,实现了对fat32文件系统的透明,也达到了与标准文件系统兼容的目的。在现有技术中,第一块区间11中的第一部分用于存放原始文件分配表,对原始文件分配表的访问就是对存储原始文件分配表的物理区域的访问。而在本实施例的存储体结构中,允许将对原始文件分配表的访问从第一次启机后就映射为对备份区间12中的备份文件分配表的访问。也就是说,在实际运行过程中,数据读写装置真正访问的是存储体中某个存储有备份文件分配表的备份区间12。基于上述可见,在本实施例中,原始文件分配表反而相当于备份文件分配表的一个备份或镜像,故本实施例的存储体允许在因备份区间的使用达到使用极限而切换到下一个备份区间12的时候,根据当前的备份文件分配表来更新原始文件分配表。其中,备份区间12的切换次数远小于对原始文件分配表的读写次数。进一步,还允许根据当前正在使用中的备份文件分配表来更新原始文件分配表,即将当前正在使用的备份文件分配表中的最新数据完全同步原始文件分配表中。但是,由于对原始文件分配表的更新操作也是对原始文件分配表对应的块区间的擦除操作,故上述根据当前正在使用中的备份文件分配表更新原始文件分配表的操作可以周期性的执行,或者在有必要的时候执行,而不能实时执行,以保证对原始文件分配表进行最少次数的更新操作,延长原始文件分配表对应的块区间的使用寿命。通过上述对原始文件分配表的更新操作,使得在不考虑后面的备份文件分配表的情况下,更新后的原始文件分配表本身就是一个标准的文件分配表,这样存储体就是一个标准的fat32分区存储体,使得存储体除了被数据读写装置使用外,还可以被卸载下来被其他使用标准文件系统的设备使用,达到了与标准系统的兼容性。进一步,如图2所示,本实施例的存储体还可以包括参数存储区间16,并且为了与标准文件系统相兼容,参数存储区间16设置在第二块区间13之后,更为具体的是设置在所有备份区间12之后。参数存储区间16用来存储与各个备份区间12相关的参数信息,例如作为第一备份区间的备份区间的起始时间、第一备份区间与第一块区间11之间的偏移地址、第一块区间11的大小等等。其中,备份区间12的起始时间是指一个备份区间开始被使用的时间。数据读写装置可以将当前时间与备份区间12的起始时间相减,来判断备份区间12是否达到使用极限。在本实施例中,当一个备份区间的使用(受限于block的额定擦除次数)达到使用极限时,数据读写装置中的fat32文件系统就会将备份文件分配表同步(一次拷贝)到下一个备份区间,从而对新的备份区间进行读写操作,这样,解决了因nand flash使用寿命短而导致nand flash上文件分配表被提前破坏进而导致nand flash存储体上其他数据文
8件(由于文件分配表破坏而访问不到)丢失的问题。图3为本发明一实施例提供的数据读写方法的流程图。如图3所示,本实施例的方法包括步骤301、当对存储体中原始文件分配表对应的块区间进行读写操作时,根据原始文件分配表对应的块区间的地址和偏移地址,将对原始文件分配表对应的块区间的读写操作映射为对存储体中存储备份文件分配表的第一备份区间的读写操作。本实施例中的存储体为图1或图2所示的存储体。其中,第一备份区间是预先留出的至少一个备份区间中的一个,其大小与原始文件分配表对应的块区间(即第一块区间) 的大小相同。本实施例的偏移地址为原始文件分配表对应的块区间到第一备份区间的地址偏移量。当数据读写装置对存储体进行读写操作,例如在存储体中写入新的数据文件或在已有数据文件中写入新数据,又或者读取存储体中某个数据文件时,就需要对原始文件分配表进行读写操作,以获取需要读写的数据文件在存储体中的位置信息。当数据读写装置对原始文件分配表进行读写操作时,可以将原始文件分配表对应的块区间的地址和偏移地址相加,获取存储备份文件分配表的第一备份区间的地址,将对原始文件分配表的读写操作转换为对备份文件分配表的读写操作,也就是将对原始文件分配表对应的块区间的擦除操作转换为对第一备份区间的擦除操作。在此说明,在本发明各实施例中,所述数据读写装置对原始文件分配表或备份文件分配表进行读写操作主要是指由数据读写装置中的fat32文件系统对原始文件分配表或备份文件分配表进行读写操作。步骤302、根据第一备份区间的起始时间和当前时间,判断第一备份区间是否达到使用极限;当判断结果为是时,执行步骤303 ;当判断结果为否时,执行步骤304。在数据读写装置对第一备份区间进行读写操作之前,首先用当前时间减去第一备份区间的起始时间,根据两个时间的差值来判断第一备份区间的使用是否已经达到使用极限。其中,由于nand flash存储体中block具有使用寿命,当擦除次数达到额定上限时,就会成为坏区,故本实施例的第一备份区间也有使用寿命。在本实施例中,当第一备份区间开始使用时,设置其起始时间,通过起始时间和当前时间来记录第一备份区间的使用寿命,只需要在开始使用时设置一次起始时间即可,不需要反复对存储体进行读写操作,有利于减少对存储体的读写操作。例如当当前时间与起始时间的差值达到预设时间门限时,说明第一备份区间的使用达到使用极限;反之,则没有达到使用极限。其中,时间门限可以根据具体的nand flash存储体的使用情况而定。步骤303、将第一备份区间中存储的备份文件分配表复制到存储体中下一个备份区间中,将下一个备份区间作为新的第一备份区间,设置新的第一备份区间的起始时间,并重新设置偏移地址,然后根据原始文件分配表对应的块区间的地址和重新设置后的偏移地址,将对原始文件分配表对应的块区间的读写操作映射为对新的第一备份区间的读写操作,并根据对原始文件分配表对应的块区间进行读写操作的读写指令完成对新的第一备份区间的读写操作。当第一备份区间的使用到达使用极限时,数据读写装置将备份文件分配表从当前第一备份区间中复制到存储体的下一个备份区间中,并将备份文件分配表复制到的下一个备份区间作为新的第一备份区间。与此同时,数据读写装置设置新的第一备份区间的起始时间,即记录当前时间,将当前时间作为新的第一备份区间的起始时间,并重新设置偏移地址。其中,重新设置后的偏移地址是由重新设置前的偏移地址加上第一备份区间的大小得到的。基于上述,数据读写装置重新将原始文件分配表对应的块区间的地址和重新设置后的偏移地址相加,得到新的第一备份区间的地址;然后将对原始文件分配表的读写操作映射为对新的第一备份区间中的备份文件分配表的读写操作,也就是将对原始文件分配表对应的块区间的读写操作(或者说擦除操作)映射为对第一备份区间的读写操作。然后,数据读写装置根据对原始文件分配表对应的块区间进行读写操作的读写指令完成对新的第一备份区间的读写操作。步骤304、根据对原始文件分配表对应的块区间进行读写操作的读写指令完成对第一备份区间的读写操作。当第一备份区间的使用未到达使用极限时,数据读写装置直接根据对原始文件分配表对应的块区间进行读写操作的读写指令完成对第一备份区间的读写操作。其中,数据读写装置根据读写指令对存储体中的某个存储空间进行读写的操作属于现有技术,在本实施例中不做详细论述。本实施例的数据读写方法,当数据读写装置对原始文件分配表进行读写操作时, 将对原始文件分配表的读写操作转换为对备份文件分配表的读写操作,从而将对原始文件分配表对应的块区间的读写操作转换为对存储备份文件分配表的备份区间的读写操作,而在一个备份区间的使用到达使用极限时,将备份文件分配表复制到下一个备份区间,从而将对原始文件分配表对应的块区间的读写操作转换为对另一个备份区间的读写操作,解决了现有技术中因对原始文件分配表对应的块区间的读写次数达到额定上限时导致原始文件分配表被破坏进而导致整个存储体上的数据文件被丢失的问题。本实施例在fat32文件系统对原始文件分配表进行频繁读写时的效果尤为显著。图4为本发明另一实施例提供的数据读写方法的流程图。本实施例基于图3所示实施例实现,如图4所示,本实施例的方法在步骤301之前包括步骤300、获取第一备份区间的起始时间和偏移地址。其中,在存储体预留备份区间时,数据读写装置就会根据存储体中各备份区间的位置,将各备份区间与原始文件分配表对应的块区间的地址偏移量存储起来。其中,地址偏移量即为偏移地址。同时,在备份区间被使用时,数据读写装置还会将表征备份区间在何时开始使用的起始时间记录并存储起来。本实施例对偏移地址和起始时间等参数的具体存储位置不作限定。例如可以在存储体中单独划分一小块存储空间,专门用来存储上述参数, 如图2所示的参数存储区间16。该在存储体中单独划分参数存储区间的存储方案并不受数据读写装置的引导程序是否存储在存储体的引导区间的限制。又例如由于地址偏移量以及起始时间所占用的存储空间比较小,故当数据读写装置的引导程序存储在存储体之外的其他存储空间中时,可以将地址偏移量和起始时间存储在存储引导程序的存储空间中;当数据读写装置的引导程序存储在存储体中的引导区间中时,为了能够与标准文件系统相兼容,可以单独将地址偏移量和起始时间存储在独立于存储体之前的存储空间中。这样,当数据读写装置对原始文件分配表进行读写操作时,需要先从存储体之外的存储空间中或从存储体中专门划分出的参数存储区间中获取第一备份区间到原始文件分配表对应的块区间的偏移地址,以及第一备份区间的起始时间,为后续操作步骤打下基石出。进一步,当各备份区间位于存储体中数据文件之后,即位于存储体的最后面,且彼此相邻时,可以直接存储第一个备份区间到原始文件分配表对应的块区间的偏移地址和每个备份区间的大小即可。由于每个备份区间的大小相同,故当由一个备份区间移动到下一个备份区间时,可以将前一备份区间对应的偏移地址加上一个备份区间的大小得到下一个备份区间对应的偏移地址。在这种存储体结构下,所存储的偏移地址的数据量更小,所占用的存储空间更小。进一步,原始文件分配表对应的块区间的地址也会与偏移地址和起始时间等存储在一起,即或者存储在独立于存储体的存储空间或存储在存储体的参数存储区间中。更进一步,如图4所示,本实施例的数据读写方法在步骤303之后还包括步骤305、存储新的第一备份区间的起始时间和重新设置后的偏移地址。具体的,在切换到新的备份区间后,数据读写装置需要将新的第一备份区间的起始时间和重新设置后的偏移地址存储到存储体之外的存储空间中(例如与引导程序存储在一起)或存储在存储体中划分出的参数存储区间中,为数据读写装置下一次对存储体进行读写操作打下基础。在本实施例中,通过将第一备份区间的起始时间、偏移地址和原始文件分配表对应的块区间的地址存储到起来,为对存储体进行读写操作打下了基础。另外,与现有技术相比,本实施例虽然有新的信息需要存储,但由于上述信息存储在存储体之外的存储空间中或者将存储体中的参数存储区间放置在存储体中数据文件之后,故无需对fat32文件系统进行修改,实现了与标准文件系统的兼容。图5为本发明又一实施例提供的数据读写方法的流程图。本实施例基于图4所示实施例实现,如图5所示,本实施例的方法在步骤300之前包括步骤200、在数据读写装置第一次上电时的初始化过程中,数据读写装置将原始文件分配表复制到存储体的第一个备份区间中,将第一个备份区间作为第一备份区间,并将第一备份区间中存储的原始文件分配表作为备份文件分配表,并设置第一备份区间的起始时间和偏移地址。在本实施例中,为了减少对原始文件分配表对应的块区间的读写操作,当数据读写装置在第一次上电时的初始化过程中,数据读写装置的驱动程序主动将原始文件分配表拷贝到存储体上第一个备份区间中,此时第一个备份区间即为所述的第一备份区间,而被复制到第一备份区间中的原始文件分配表即为备份文件分配表,为后续数据读写装置的 fat32文件系统对存储体进行读写操作打下了基础。与此同时,数据读写装置设置第一备份区间的起始时间,用来记录第一备份区间的使用情况。数据读写装置设置第一备份区间到原始文件分配表对应的块区间的偏移地址。其中,该偏移地址可以就是预先存储到存储体上专门划分出的存储空间或独立于存储体的其他存储空间中的第一个备份区间到原始文件分配表对应的块区间的地址偏移量。基于上述,当数据读写装置的fat32文件系统对原始文件分配表发起读写操作时,数据读写装置就可以将原始文件分配表对应的块区间的地址加上偏移地址,获得第一备份区间的地址;然后将对原始文件分配表的读写操作映射为对备份文件分配表的读写操作,也就是将对对原始文件分配表对应的块区间的读写操作映射为第一备份区间的读写操作。在本实施例中,数据读写装置在第一次上电时,将原始文件分配表复制到第一个备份区间中形成备份文件分配表,使得数据读写装置对原始文件分配表进行读写操作时, 能够将对原始文件分配表的读写操作转换为对备份文件分配表的读写操作,解决了因对原始文件分配表对应的块区间进行读写操作的次数到达额定上限而导致原始文件分配表被破坏进而导致整个存储体中数据文件被丢失的问题。另外,本实施例还为本发明其他方法实施例打了基础。进一步,在上述各实施例的基础上,为了使存储体能够与标准文件系统相兼容,本实施例的数据读写方法中还包括数据读写装置在将备份文件分配表复制到新的第一备份区间中时即在备份区间进行切换时用当前备份文件分配表对原始文件分配表进行更新。该更新过程可以包括数据读写装置可以先用切换前第一备份区间中的备份文件分配表更新原始文件分配表,然后再将备份文件分配表复制到新的第一备份区间中;或者包括数据读写装置在将备份文件分配表复制到新的第一备份区间中之后,用新的第一备份区间中的备份文件分配表更新原始文件分配表。进一步,上述在备份区间发生切换时,利用新的第一备份区间中的备份文件分配表对原始文件分配表进行更新的操作也可以由用户手动完成,即独立于数据读写操作过程而实现。更进一步,用户还可以通过手动方式使用当前正在使用的备份文件分配表更新原始文件分配表,即将当前正在使用的备份文件分配表中的最新数据完全同步原始文件分配表中。用户手动更新原始文件分配表的操作可以在任何时间执行,例如包括在发生备份区间切换时执行,也包括在未发生备份区间切换时执行。通过上述操作,在不考虑后面的备份文件分配表的情况下,原始文件分配表身就是一个标准的文件分配表,这样存储体就是一个标准的fat32分区存储体,使得存储体除了被数据读写装置使用外,还可以被卸载下来被其他使用标准文件系统的设备使用,达到了与标准系统的兼容性。图6A为本发明再一实施例提供的数据读写方法的流程。本实施例基于图6B所示存储体结构来实现,图6B中的引导扇区、保留扇区、FAT1、FAT2以及文件数据区分别等同于图2中的引导区间、保留区间、第一块区间、第一块区间和第二块区间,图6B中的FAT3-FATN 相当于图2中的多个备份区间。如图6A所示,本实施例的数据读写方法包括步骤600、数据读写装置第一次上电运行时进行初始化操作。在该步骤600中,数据读写装置获取原始文件分配表所在区域(即图6B中所示的 FAT1)的第一个扇区和最后一个扇区的扇区号,分别记为fat_tbl_start_sector和fat_ tbl_end_sector。在该步骤600中,数据读写装置还会获取原始文件分配表所在区域或者每个备份区间的大小,记为sunusectors。在本实施例中,以扇区为单位,则数据读写装置获取原始文件分配表所在区域或者每个备份区间占用的扇区个数。在该步骤600中,数据读写装置还获取存储体末尾第一个备份区间的起始扇区号,并记为 bak_start_sector。同时,在该初始化过程中,数据读写装置还会设定一个备份文件分配表号码记录参数,记为bak_nUm,用于记录当前正在使用第几个备份区间或者说正在使用第几个备份文件分配表,即指向图6B中所示的FAT3、FAT4….FATn中的哪一个。其中,bak_num的初值为 0,表示不使用备份文件分配表,而是使用正常的FATl ;而FAT3、FAT4….FATn分别对应于 kik_nUm取1、2、3…η。故在后续对原始文件分配表的读写操作过程中,数据读写装置还需要获取bak_num的当前取值。在该初始化过程中,数据读写装置还会设定一个映射偏移(等同于偏移地址),记为mappingjffset,用于记录当前使用的备份区间的起始扇区地址与FATl的起始扇区地址的差值。其中,mappingjffset的初值为0。如果当前使用的文件分配表是一个备份文件分配表,那么mappingjffset的当前值就是备份文件分配表相对于FATl的偏移。在本实施例中,通过使用这个映射偏移实现在底层驱动中将FATl映射到各个备份文件分配表中去, 而这个映射对FAT32文件系统来说是完全透明的,不需要对fat32文件系统做任何修改。故在后续对原始文件分配表的读写操作过程中,数据读写装置还会获取mappingjffset的当前值。另外,为了记录当前正在使用的备份文件分配表的起始投入使用时间,在该初始化过程中,数据读写装置还会设置起始时间,记为startjime,通过这个起始时间可以判断备份文件分配表是否达到使用极限。故在后续对原始文件分配表的读写操作过程中,数据读写装置还会获取当前正在使用的备份文件分配表的起始时间。上面设定的所有参数的初始值,即数据读写装置在第一次开机运行初始化时获取的初值,需要被保存起来,并且数据读写装置在运行过程中对上述参数进行更新后的值也需要保存起来,以便下次数据读写装置重启后仍能获取这些参数并能够使用这些参数定位到正在使用的备份文件分配表。但是,这些参数的保存的位置不受限制,只要是保存在非易失性存储体中就行,这样可以保证这些参数在数据读写装置下电后不被丢失。例如当数据读写装置的引导程序不存储在存储体中时,在数据读写装置内部至少存在一个非易失性存储空间,因为至少需要一个保存最初的引导程序的存储空间。而由于这些参数所占用的空间不大,其中七个参数只要观字节即可,因此一种较为优选的存储方式是将这些参数存储在存储引导程序的存储空间中。再例如当数据读写装置的驱动程序存储在存储体的引导区间中时,可以在单独将这些参数存储在数据读写装置内部的非易失性存储空间中,或者在存储体最后划分出参数存储区间并将这些参数存储在存储体最后的参数存储区间中,这样可以使得不需要对fat32文件系统进行修改,实现与标准文件系统的兼容。本实施例以单独将这些参数存储在数据读写装置内部的非易失性存储空间中为例。进一步,在上述初始化过程中,数据读写装置还会将FATl中的原始文件分配表拷贝到FAT3中,并将备份文件分配表号码记录参数加1,即将bak_nUm置为1,同时计算映射偏移并保存。其中,可以根据公式⑴来计算新的映射偏移。mapping_offset = (bak_start_sector_fat_tbl_start_sector)+sum_ sectors X (bak—num-1) (1)通过第一次开机时的拷贝操作,使得从第一次开机起,数据读写装置实际使用的就是备份文件分配表(例如FAT3中的备份文件分配表),而非FATl中的原始文件分配表。 此时,mapping—offset 艮口为 bak—start—sector—fat—tbl—start—sector。步骤601、当数据读写装置判断的fat32文件系统发起对存储体的读写操作时,数据读写装置将读写操作的起始扇区号设置为变量fat_rW_SeCt0r,并判断fat32文件系统发起的读写操作是否是对FATl进行的读写操作;如果判断结果为是,执行步骤602 ;如果判断结果为否,执行步骤607。具体的,数据读写装置可以通过判断读写操作的起始扇区的扇区号是否落在fat_ tbl_start_sector-fat_tbl_end_sector之间,来判断fat32文件系统是否对FATl发起读写操作。如果读写操作的起始扇区的扇区号落在fat_tbl_start_sect0r-fat_tbl_end_ sector之间,说明fat32文件系统是对FATl发起的读写操作,亦即对原始文件分配表进行读写操作;反之,说明不是对FATl发起的读写操作,而是对数据文件存储区发起的读写操作。步骤602、数据读写装置根据FAT3的起始时间(即startjime)和当前时间,判断当前备份文件分配表是否达到使用极限;如果判断结果为是,执行步骤603 ;如果判断结果为否,执行步骤606。对于一个存储体每天访问频率较为固定的数据读写装置来说,一个原始文件分配表或备份文件分配表可以使用的时间也是固定的,故在本实施例中只需要记下当前备份文件分配表自何时开始使用,并判断到当前时间的时间间隔是否已经超过备份文件分配表的极限使用时间即可以判断是否达到了使用极限。步骤603、数据读写装置将备份文件分配表号码加1,并记录新的备份文件分配表的起始使用时间为当前时间,然后将这两个参数保存起来,并执行步骤604。如果备份文件分配表的使用达到了使用极限,则将bak_nUm加1,从而指向新的备份区间,也就是说指向新的备份文件分配表。同时,记录新的备份文件分配表的startjime 为当前时间,即记录新的备份文件分配表的起始使用时间。例如假设当前备份文件分配表存储在FAT3中,当前备份区间为FAT3时,则经过步骤603后,bak_nUm的值就会变为2,表明即将使用FAT4中存储的备份文件分配表。FAT4 对应的start_time=当前时间。再例如假设当前备份文件分配表存储在FAT4中,当前备份区间为FAT4时,则经过步骤603后,bak_num的值就会变为3,表明即将使用FAT5中存储的备份文件分配表。FAT5对应的start_time =当前时间。步骤604、数据读写装置将到使用极限的备份文件分配表拷贝到下一个备份区间中,同时备份一份到FAT1,并执行步骤605。当当前备份文件分配表的使用达到使用极限时,数据读写装置还需要将当前刚达到使用极限的备份文件分配表到下一个备份区间中,以生成新的备份文件分配表。例如假设当前备份文件分配表存储在FAT3中,当前备份区间为FAT3时,数据读写装置就会将备份文件分配表从FAT3中拷贝到FAT4中,同时使用备份文件分配表对FATl 中的原始文件分配表进行更新。再例如假设当前备份文件分配表存储在FAT4中,当前备份区间为FAT4时,数据读写装置就会将备份文件分配表从FAT4中拷贝到FAT5中,同时使用备份文件分配表对FATl中的原始文件分配表进行更新。步骤605、数据读写装置计算新的映射偏移并保存。
例如当下一个备份区间为FAT4时,根据公式(1)可以计算出新的映射偏移 mapping—offset = (bak—start_sector_fat_tbl_start_sector)+sum—sectors。再例如 对下一个备份区间为FAT5时,根据公式(1)可以计算出新的映射偏移mapping—offset = (bak—start—sector-fat—tbl—start—sector)+2X sum—sectors。步骤606、数据读写装置将起始扇区号fat_rw_sect0r加映射偏移得到实际读写操作的起始扇区号fat_rw_sector,并执行步骤607。当fat32文件系统是对原始文件分配表进行的读写操作时,数据读写装置在发起对存储体的读写操作之前,需要把fat_rw_sector加上映射偏移mapping_0ffset得到一个扇区号,这样就将对FATl的读写操作映射到真正正在使用的备份文件分配表上。这个操作对于fat32文件系统来说透明的,fat32文件系统认为访问的还是标准文件分配表FATl,故不需要对fat32文件系统做任何修改。具体的,数据读写装置将fat_rW_sect0r+mapping_ offset重新赋值给变量fat_rw_sector。如果fat32文件系统是对正常的数据文件存储区进行读写操作,而不是对原始文件分配表进行读写操作,则不需要对fat_rW_sector做任何调整。步骤607、数据读写装置发起对起始扇区号为fat_rW_SeCt0r的扇区的读写操作, 并执行步骤608。其中,当由步骤601转到步骤607时,数据读写装置是对图6B中的数据文件存储区进行读写操作。其中,当由步骤606转到步骤607时,数据读写装置是对备份区间进行读写操作。 例如假设当由步骤602经步骤606转到步骤607时,数据读写装置对图6B中的FAT3进行读写操作,则当由步骤603经步骤604、605、606转到步骤607时,数据读写装置是对图6B 中的FAT4进行读写操作。步骤608、数据读写装置完成FAT32文件系统发起的读写操作。本实施例的数据读写方法,在存储体的末尾预留多个备份区间,用于实现对原始文件分配表的多个备份,并通过映射偏移将对原始文件分配表的读写操作重定位成对备份文件分配表的读写操作,从而不再直接对原始文件分配表对应的扇区进行读写操作,解决了现有技术中因nand flash使用寿命短而导致nand flash上原始文件分配表被提前破坏进而导致nand flash上其他数据文件丢失的问题,尤其是在对原始文件分配进行频繁读写操作时,本实施例的效果会更加明显;另外,本实施例的方法,对于fat32文件系统来说是透明的,不需要对fat32文件系统做任何修改,这样实现的存储体可以与标准文件系统相兼容。图7为本发明一实施例提供的数据读写装置的结构示意图。如图7所示,本实施例的数据读写装置包括映射模块71、判断模块72、第一读写模块73和第二读写模块74。其中,映射模块71,与存储体连接,用于在对存储体中原始文件分配表对应的块区间进行读写操作时,根据原始文件分配表对应的块区间的地址和偏移地址,将对原始文件分配表对应的块区间的读写操作映射为对存储体中存储备份文件分配表的第一备份区间的读写操作。其中,所述第一备份区间的大小与原始文件分配表对应的块区间的大小相同; 所述偏移地址为原始文件分配表对应的块区间到第一备份区间的地址偏移量。判断模块72,用于根据第一备份区间的起始时间和当前时间,判断第一备份区间是否到达使用极限。第一读写模块73,与判断模块72和存储体连接,用于在第一备份区间到达使用极限时,将第一备份区间中存储的备份文件分配表复制到存储体中下一个备份区间中,将下一个备份区间作为新的第一备份区间,设置新的第一备份区间的起始时间,并重新设置偏移地址,然后根据原始文件分配表对应的块区间的地址和重新设置后的偏移地址,将对原始文件分配表对应的块区间的读写操作映射为对新的第一备份区间的读写操作,并根据对原始文件分配表对应的块区间进行读写操作的读写指令完成对新的第一备份区间的读写操作。第二读写模块74,与判断模块72和存储体连接,用于在第一备份区间未到达使用极限时,根据对原始文件分配表对应的块区间进行读写操作的读写指令完成对第一备份区间的读写操作。本实施例的数据读写装置的各功能模块可用于执行图3所示数据读写方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。本实施例的数据读写装置,与本发明实施例提供的存储体相配合,在对原始文件分配表进行读写操作时,将对原始文件分配表的读写操作转换为对备份文件分配表的读写操作,从而将对原始文件分配表对应的块区间的读写操作转换为对存储备份文件分配表的备份区间的读写操作,而在一个备份区间的使用到达使用极限时,将备份文件分配表复制到下一个备份区间,从而将对原始文件分配表对应的块区间的读写操作转换为对另一个备份区间的读写操作,解决了现有技术中因对原始文件分配表对应的块区间的读写次数达到额定上限时导致原始文件分配表被破坏进而导致整个存储体上的数据文件被丢失的问题。图8为本发明另一实施例提供的数据读写装置的结构示意图。本实施例基于图7 所示实施例实现,如图8所示,本实施例的装置还包括获取模块81。获取模块81,与判断模块72连接,用于在映射模块71执行相应映射操作之前,获取偏移地址和第一备份区间的起始时间,并提供给判断模块72。进一步,本实施例的设备还包括存储模块82。存储模块82,与第一读写模块73连接,用于存储新的第一备份区间的起始时间和重新设置后的偏移地址。上述获取模块和存储模块可用于执行图4所示数据读写方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。进一步,本实施例的映射模块71还用于在数据读写装置第一次上电时的初始化过程中,将原始文件分配表复制到存储体的第一个备份区间中,将第一个备份区间作为第一备份区间,并将第一备份区间中存储的原始文件分配表作为备份文件分配表,并设置第一备份区间的起始时间和偏移地址。更进一步,本实施例的设备还包括更新模块83。更新模块83,与存储体连接,用于根据第一备份区间或新的第一备份区间中的备份文件分配表更新原始文件分配表。本实施例的设备还包括第三读写模块84。第三读写模块84,与存储体连接,用于在对存储体中数据文件对应的块区间进行读写操作时,根据对数据文件对应的块区间进行读写操作的读写指令完成对数据文件对应的块区间的读写操作。其中,存储体中各个备份区间位于存储体中数据文件对应的块区间之后,且依次相邻。上述各功能模块可用于执行图5或图6A所示数据读写方法中的相应流程,其具体工作原理不再赘述,详见方法实施例的描述。本实施例的数据读写装置,与本发明实施例提供的存储体相配合,在对原始文件分配表进行读写操作时,将对原始文件分配表的读写操作转换为对备份文件分配表的读写操作,从而将对原始文件分配表对应的块区间的读写操作转换为对存储备份文件分配表的备份区间的读写操作,而在一个备份区间的使用到达使用极限时,将备份文件分配表复制到下一个备份区间,从而将对原始文件分配表对应的块区间的读写操作转换为对另一个备份区间的读写操作,解决了现有技术中因对原始文件分配表对应的块区间的读写次数达到额定上限时导致原始文件分配表被破坏进而导致整个存储体上的数据文件被丢失的问题。本发明一实施例提供一种网络设备,包括数据读写装置和存储体。其中,存储体为本发明实施例提供的存储体,其具体结构可参见图1或图2或图6B 所示。在存储体中,存储有各种数据,例如原始文件分配表、数据文件、备份文件分配表等。其中,数据读写装置,主要用于对存储体进行读写操作。本实施例的数据读写装置为本发明上述实施例提供的数据读写装置,其结构可参见图7或图8所示,其具体工作原理详见图3-图6A所示任一实施例的描述。本实施例的网络设备,通过在存储体中划分备份区间并对原始文件分配表进行备份,而其数据读写装置通过与存储体相配合,将对原始文件分配表的读写操作转换为对备份文件分配表的读写操作,也就是将对原始文件分配表对应的块区间的擦除操作转换为对备份区间的擦除操作,解决了因对原始文件分配表进行频繁读写操作导致其对应的块区间的擦除次数达到上限而使fat32文件系统中的原始文件分配表被提前破坏进而导致存储体中其他数据文件被(由于文件分配表被破坏而访问不到)丢失的问题。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种数据读写方法,其特征在于,包括当对存储体中原始文件分配表对应的块区间进行读写操作时,根据所述原始文件分配表对应的块区间的地址和偏移地址,将对所述原始文件分配表对应的块区间的读写操作映射为对所述存储体中存储备份文件分配表的第一备份区间的读写操作;其中,所述第一备份区间的大小与所述原始文件分配表对应的块区间的大小相同,所述偏移地址为所述原始文件分配表对应的块区间到所述第一备份区间的地址偏移量;根据所述第一备份区间的起始时间和当前时间,判断所述第一备份区间是否到达使用极限;当所述第一备份区间到达使用极限时,将所述第一备份区间中存储的备份文件分配表复制到所述存储体中下一个备份区间中,将所述下一个备份区间作为新的第一备份区间, 设置所述新的第一备份区间的起始时间,并重新设置所述偏移地址,然后根据所述原始文件分配表对应的块区间的地址和重新设置后的偏移地址,将对所述原始文件分配表对应的块区间的读写操作映射为对所述新的第一备份区间的读写操作,并根据对所述原始文件分配表对应的块区间进行读写操作的读写指令完成对所述新的第一备份区间的读写操作;当所述第一备份区间未到达使用极限时,根据对所述原始文件分配表对应的块区间进行读写操作的读写指令完成对所述第一备份区间的读写操作。
2.根据权利要求1所述的数据读写方法,其特征在于,还包括在根据所述原始文件分配表对应的块区间的地址和偏移地址,将对所述原始文件分配表对应的块区间的读写操作映射为对所述存储体中存储备份文件分配表的第一备份区间的读写操作之前,获取所述偏移地址和所述第一备份区间的起始时间;在将所述第一备份区间中存储的备份文件分配表复制到所述存储体中下一个备份区间中,将所述下一个备份区间作为新的第一备份区间,设置所述新的第一备份区间的起始时间,并重新设置所述偏移地址之后,存储所述新的第一备份区间的起始时间和重新设置后的偏移地址。
3.根据权利要求1所述的数据读写方法,其特征在于,在根据所述原始文件分配表对应的块区间的地址和偏移地址,将对所述原始文件分配表对应的块区间的读写操作映射为对所述存储体中存储备份文件分配表的第一备份区间的读写操作之前包括将所述原始文件分配表复制到所述存储体的第一个备份区间中,将所述第一个备份区间作为所述第一备份区间,并将所述第一备份区间中存储的原始文件分配表作为所述备份文件分配表,并设置所述第一备份区间的起始时间和所述偏移地址。
4.根据权利要求1所述的数据读写方法,其特征在于,还包括在将所述第一备份区间中存储的备份文件分配表复制到所述存储体中下一个备份区间中,将所述下一个备份区间作为新的第一备份区间时,根据所述第一备份区间或所述新的第一备份区间中的备份文件分配表更新所述原始文件分配表。
5.根据权利要求1或2或3或4所述的数据读写方法,其特征在于,所述存储体中各个备份区间位于所述存储体中数据文件对应的块区间之后,且依次相邻。
6.一种数据读写装置,其特征在于,包括映射模块,用于在对存储体中原始文件分配表对应的块区间进行读写操作时,根据所述原始文件分配表对应的块区间的地址和偏移地址,将对所述原始文件分配表对应的块区间的读写操作映射为对所述存储体中存储备份文件分配表的第一备份区间的读写操作;其中,所述第一备份区间的大小与所述原始文件分配表对应的块区间的大小相同,所述偏移地址为所述原始文件分配表对应的块区间到所述第一备份区间的地址偏移量;判断模块,用于根据所述第一备份区间的起始时间和当前时间,判断所述第一备份区间是否到达使用极限;第一读写模块,用于在所述第一备份区间到达使用极限时,将所述第一备份区间中存储的备份文件分配表复制到所述存储体中下一个备份区间中,将所述下一个备份区间作为新的第一备份区间,设置所述新的第一备份区间的起始时间,并重新设置所述偏移地址,然后根据所述原始文件分配表对应的块区间的地址和重新设置后的偏移地址,将对所述原始文件分配表对应的块区间的读写操作映射为对所述新的第一备份区间的读写操作,并根据对所述原始文件分配表对应的块区间进行读写操作的读写指令完成对所述新的第一备份区间的读写操作;第二读写模块,用于在所述第一备份区间未到达使用极限时,根据对所述原始文件分配表对应的块区间进行读写操作的读写指令完成对所述第一备份区间的读写操作。
7.根据权利要求6所述的数据读写装置,其特征在于,还包括获取模块,用于获取所述偏移地址和所述第一备份区间的起始时间;存储模块,用于存储所述新的第一备份区间的起始时间和重新设置后的偏移地址。
8.根据权利要求6所述的数据读写装置,其特征在于,所述映射模块还用于将所述原始文件分配表复制到所述存储体的第一个备份区间中,将所述第一个备份区间作为所述第一备份区间,并将所述第一备份区间中存储的原始文件分配表作为备份文件分配表,并设置所述第一备份区间的起始时间和所述偏移地址。
9.根据权利要求6或7或8所述的数据读写装置,其特征在于,还包括更新模块,用于在将所述第一备份区间中存储的备份文件分配表复制到所述存储体中下一个备份区间中,将所述下一个备份区间作为新的第一备份区间时,根据所述第一备份区间或所述新的第一备份区间中的备份文件分配表更新所述原始文件分配表。
10.一种存储体,其特征在于,包括第一块区间和至少一个备份区间;所述第一块区间,用于存储原始文件分配表;所述至少一个备份区间中包括第一备份区间,所述第一备份区间用于存储备份文件分配表;其中,每个备份区间的大小与所述第一块区间的大小相同。
11.根据权利要求10所述的存储体,其特征在于,还包括第二块区间,用于存储数据文件;所述至少一个备份区间位于所述存储体中所述第二块区间之后,且依次相邻。
12.—种网络设备,其特征在于,包括权利要求6-9任一项所述的数据读写装置和权利要求10或11所述的存储体。
全文摘要
本发明提供一种数据读写方法、装置、存储体及网络设备。其中方法包括当对存储体中原始文件分配表对应的块区间进行读写操作时,根据原始文件分配表对应的块区间的地址和偏移地址,将对原始文件分配表对应的块区间的读写操作映射为对存储备份文件分配表的第一备份区间的读写操作;当第一备份区间到达使用极限时,将第一备份区间中存储的备份文件分配表复制到所述存储体中下一个备份区间中,将下一个备份区间作为新的第一备份区间,将对原始文件分配表对应的块区间的读写操作映射为对新的第一备份区间的读写操作。本发明技术方案解决了因nand flash使用寿命受限导致文件分配表被提前破坏进而导致nand flash中其他文件数据被丢失的问题。
文档编号G06F12/02GK102508782SQ20111029406
公开日2012年6月20日 申请日期2011年9月29日 优先权日2011年9月29日
发明者全太平 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1