CN1160731C - 一种计算机硬盘数据的保护方法 - Google Patents
一种计算机硬盘数据的保护方法 Download PDFInfo
- Publication number
- CN1160731C CN1160731C CNB011201118A CN01120111A CN1160731C CN 1160731 C CN1160731 C CN 1160731C CN B011201118 A CNB011201118 A CN B011201118A CN 01120111 A CN01120111 A CN 01120111A CN 1160731 C CN1160731 C CN 1160731C
- Authority
- CN
- China
- Prior art keywords
- sector
- mapping
- hard disk
- piece
- firm offer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000004224 protection Effects 0.000 title claims abstract description 29
- 238000013507 mapping Methods 0.000 claims abstract description 180
- 230000006870 function Effects 0.000 claims description 15
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 241001269238 Data Species 0.000 claims 1
- 238000005192 partition Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明提供了一种计算机硬盘数据的保护方法,该方法创建开放区表,记录所有不需要保护的硬盘区域;创建虚盘表,最大可能地记录需要保护的硬盘区域中的剩余空间,动态确定当前虚盘大小从0MB到最大预留空间,多于当前虚盘大小的剩余空间不加保护,允许自由读写;该方法创建映射表,记载当对硬盘进行写操作时,将写操作映射到保护的物理分区中原来没有数据的硬盘区域的映射关系;该方法还创建了虚盘表之索引表、映射表之索引表,用于管理有限数量的虚盘表、映射表,创建的动态映射表用以记载最近有限数量次数的硬盘读写的映射关系,因此可以提高运行速度,确保在保护状态下的硬盘读写速度所受的影响最小。
Description
(一)技术领域:
本发明涉及一种计算机硬盘数据的保护方法。
(二)背景技术:
硬盘是计算机中存储数据的重要部件,它作为计算机最常用的外部存储器,具有价格低、容量大、存储数据长久、不受断电影响的特点,成为事实上的计算机存储数据的仓库,现有的计算机没有硬盘几乎谈不上性能。硬盘通常是由磁盘片组、各种控制电路、控制设备封装组合而成,是一种精密设备,对硬盘中数据的保护是计算机保护的重要组成部分。传统的硬盘数据保护方法是硬盘防写法。该方法用完全防写的方式保护硬盘中的数据,但由于操作系统在运行时需要在硬盘中动态地划分出一块空间作为虚拟内存,运行过程中会频繁读写,因此该方法可能严重影响操作系统的正常运行。目前较先进的硬盘数据保护方法采用了动态虚拟硬盘技术,该方法为了提高在保护状态下的硬盘读写速度,限制虚拟硬盘大小固定不能超过一定的容量,比如603MB,这样大大地牺牲了硬盘的可用率,只要修改和增加的数据超过虚拟硬盘的大小,即使剩余的硬盘空间远远多于虚拟硬盘的大小,也会导致计算机系统停机,必须清空虚拟硬盘之后,计算机才能继续正常运行。例如,假设需要保护的硬盘区域为20GB,现在硬盘上已有10GB数据,保护以后,即使是完全增加603MB新的数据,硬盘的可用率只有约50.30%;如果修改了603MB的现有数据,那么即使是不增加任何新的数据,虚盘也已经满了,硬盘的可用率也就只有约50%;总之,保护以后的硬盘可用率基本等于保护之前的硬盘使用率。由上述可知,现有的硬盘数据保护方法没能很好地解决在保护状态下的硬盘读写速度和硬盘保护区域的可用率之间的矛盾。
(三)发明内容:
本发明的目的在于,提供一种有效的计算机硬盘数据的保护方法,该方法在保证了处于保护状态下的硬盘读写速度的同时,大大提高了硬盘的可用率。
为达到上述目的,本发明提供的计算机硬盘数据的保护方法,包括:
(1)扫描整个硬盘,登记所有的物理分区;
(2)选择要保护的物理分区;
(3)扫描要保护的物理分区,登记所有的剩余空间;
(4)根据上述步骤(3)登记的剩余空间的总和的大小,动态确定当前虚盘大小从0MB到最大预留空间;
(5)开辟存储区,记载当对硬盘进行写操作时,将写操作映射到保护的物理分区中原来没有数据的硬盘区域的映射关系;
(6)选择硬盘保护功能,如果选择恢复原始数据功能,则清除所有映射关系;如果选择保存修改数据功能,则依次扫描已有的映射关系,如果一个映射关系中的“源扇区块”没有作为另一个映射关系的“目的扇区块”,将本映射关系中的“目的扇区块”写回“源扇区块”,然后注销本映射关系;
(7)对硬盘读、写操作进行监控,对于写操作,根据写操作的硬盘空间的起始扇区号、扇区数来修改映射关系。
在上述步骤(4)中,动态确定当前虚盘大小从0MB到最大预留空间按照下述方法完成:将所述预留空间值设定为中等预留空间MV和最大预留空间GV,如果剩余空间的总合小于MV,则剩余空间全部用作当前虚盘;如果剩余空间的总合大于GV,当前虚盘大小为GV,多余空间标记为自由空间;否则,当前虚盘大小为MV,多余空间标记为自由空间。
上述开辟存储区,记载当对硬盘进行写操作时,将写操作映射到保护的物理分区中原来没有数据的硬盘区域的映射关系,是通过创建映射表,所述映射表包括原始起始扇区号、映射起始扇区号、映射长度三个字段,用所述映射表记载当对硬盘进行写操作时,将写操作映射到原来没有数据的硬盘区域的映射关系。
本发明还包括:
创建开放区表,所述开放区表包括起始扇区号和结束扇区号两个字段,用于记载没有要求保护、任何时候都可以直接读写的硬盘区域。
创建虚盘表,所述虚盘表包括起始扇区号、结束扇区号、长度三个字段,用于登记要保护的硬盘区域中没有数据的剩余空间。
创建动态映射表,所述动态映射表包括原始起始扇区号、映射起始扇区号、映射长度三个字段,用以记载最近有限数量次数的硬盘读写的映射关系。
创建映射表之索引表,所述映射表之索引表包括映射表在硬盘中的起始扇区号,映射表记录的总映射的原始起始扇区号,映射表记录的总映射的原始结束扇区号三个字段,用于管理有限数量的映射表。
创建虚盘表之索引表,所述虚盘表之索引表包括虚盘表在硬盘中的起始扇区号,虚盘表记录的总虚盘的起始扇区号,虚盘表记录的总虚盘的结束扇区号三个字段,用于管理有限数量的虚盘表。
在上述步骤(7)中,所述硬盘读操作包括:确定要读取的硬盘空间的起始扇区号、扇区数,将整个要读取的空间划分为若干个扇区块,然后对所述扇区块依次进行以下操作:
(a)搜索开放区表,如果扇区块从头开始有n个扇区在开放区,直接读取该n个扇区;如果扇区块从头开始有m个扇区不在开放区,则将该m个扇区作为一个扇区块m搜索动态映射表;
(b)如果扇区块m从头开始有m1个扇区被映射过,直接读取映射过的m1个扇区;如果扇区块m从头开始有m2个扇区没有被映射过,则将该m2个扇区作为一个扇区块m2搜索映射表;
(c)如果扇区块m2全部没有映射,直接读取该m2个扇区;如果扇区块m2从头开始有m3个扇区被映射过,则读取该映射过的m3个扇区,将该m3个扇区的映射关系加入动态映射表;如果扇区块m2从头开始有m4个扇区没有被映射过,而m5个扇区被映射过,则直接读取该m4个扇区,然后读取被映射过的m5个扇区,将该m5个扇区的映射关系加入动态映射表。
在上述步骤(7)中,所述硬盘写操作包括:确定要进行写操作的硬盘空间的起始扇区号、扇区数,将整个要进行写操作的空间划分为若干个扇区块,对所述扇区块依次进行以下操作:
(a)搜索开放区表,如果扇区块从头开始有n个扇区在开放区,直接写该n个扇区;如果扇区块从头开始有m个扇区不在开放区,则将该m个扇区作为一个扇区块m搜索动态映射表;
(b)如果扇区块m全部被映射过,写映射过的m个扇区;如果扇区块m至少有一个扇区没有被映射过,则搜索映射表;
(c)如果扇区块m全部被映射过,将m个扇区的映射关系加入到动态映射表,然后写映射过的m个扇区;如果扇区块m至少有一个扇区没有被映射过,则搜索虚盘表;
(d)如果扇区块m全部在自由空间,直接写该m个扇区;如果至少有一个扇区不在自由空间,则在虚盘中分配m个扇区,然后将该m个扇区的映射关系加入到动态映射表,以及将该m个扇区的映射关系加入到映射表,最后写映射过的m个扇区。
由于本发明创建开放区表,记录所有不需要保护的硬盘区域,创建虚盘表,最大可能地记录需要保护的硬盘区域中的剩余空间,动态确定当前虚盘大小从0MB到预留空间,多于当前虚盘大小的剩余空间不加保护,允许自由读写,这样,既突破了现时算法对虚拟硬盘固定大小的限制,保证了高端系统软件和大型系统软件的正常运行,又推翻了“保护以后的硬盘可用率基本等于保护之前的硬盘使用率”的等式,大大提高硬盘的可用率。另外,本发明还创建了虚盘表之索引表、映射表之索引表,用于管理有限数量的虚盘表、映射表,创建的动态映射表用以记载最近有限数量次数的硬盘读写的映射关系,因此可以提高运行速度,确保在保护状态下的硬盘读写速度所受的影响最小。可见,本发明能够较好地解决在保护状态下的硬盘读写速度和硬盘保护区域的可用率之间的矛盾。
(四)附图说明:
图1是本发明实施例的流程图;
图2是本发明实施例的读硬盘扇区块流程图;
图3是本发明实施例的写硬盘扇区块流程图。
(五)具体实施方式:
为对本发明的目的、技术方案以及有益效果有更详尽明确的了解,下面结合附图和实施例对本发明作进一步说明。首先参考图1。按照图1实施本发明通常要分为三个部分。第一部分为初始化部分,该部分包括步骤1到步骤5,第二部分为选择保护功能部分,该部分包括步骤6,第三部分为硬盘读写实时监控部分,该部分包括步骤7。
首先进行所述第一部分。在步骤1,扫描整个硬盘,登记所有的物理分区。在步骤2,选择要保护的物理分区。在该步骤中,需要创建开放区表,所述开放区表包括起始扇区号和结束扇区号两个字段,用于记载没有要求保护、任何时候都可以直接读写的硬盘区域;然后显示所有的物理分区,并选择要保护的物理分区,将不要保护的物理分区登记到开放区表中。在步骤3,扫描要保护的物理分区,登记所有的剩余空间。本步骤需要创建虚盘表,所述虚盘表包括起始扇区号、结束扇区号、长度三个字段,用于登记要保护的硬盘区域中没有数据的剩余空间。从选择的第一个要保护的物理分区开始,对每一个要保护的物理分区,根据物理分区的文件系统的不同,例如针对FAT16/32(16/32位分区表)、NTFS(NT文件表)的不同,扫描整个物理分区,将物理分区中的剩余空间即硬盘碎片一一登记到虚盘表中。实际应用中,虚盘表的大小是有限制的,在登记过程中,在虚盘表满了以后,采用弃小留大的原则,最大可能地登记剩余空间。实际中虚盘表还包括状态字段,用以标识扇区块是自由空间、当前虚盘还是已满虚盘。在步骤4,根据上述步骤3登记的剩余空间的总和的大小,动态确定当前虚盘大小从0MB到预留空间。本例中,将所述预留空间值设定为中等预留空间MV和最大预留空间GV,其中,MV为4.71GB,GV为9.43GB。如果剩余空间的总合小于4.71GB,则剩余空间全部用作当前虚盘;如果剩余空间的总合大于9.43GB,则当前虚盘大小为9.43GB,多余空间标记为自由空间;否则,当前虚盘大小为4.71GB,多余空间标记为自由空间。在确定当前虚盘大小时,根据登记的剩余空间块的大小,采用先大后小、从后到前的原则,在虚盘表中标记出足够的当前虚盘。在步骤5,开辟存储区,记载当对硬盘进行写操作时,将写操作映射到保护的物理分区中原来没有数据的硬盘区域的映射关系,目的是保护已有的数据不被修改。实际中通过创建映射表记录上述映射关系,所述映射表包括原始起始扇区号、映射起始扇区号、映射长度三个字段。在计算机系统中,对硬盘进行划分和读写一般以簇或块为单位,簇的大小有4KB、8KB、16KB、32KB甚至64KB、128KB,所以每个映射长度可以只用一个8位的字节来表达;为了提高硬盘读写速度,以及突破虚盘大小的限制,实际中可以增加最大映射块的大小,本例通过增加映射长度字段的位数来达到此目的,保证在映射表表项数相同的情况下,最大限度地提高表达映射的容量。在完成上述工作后,可以从当前虚盘中分配一块空间,将所述开放区表、虚盘表、映射表写入硬盘保存起来。
然后进行所述第二部分。在步骤6,选择硬盘保护功能。所述硬盘保护功能可以是:恢复原始数据,当硬盘中的垃圾数据占用大量的硬盘空间甚至导致系统性能下降、或者硬盘数据遭到破坏以致系统不能正常运行甚至崩溃时,用户需要恢复到保护时的原始数据;保存修改数据,在保护状态下,当对硬盘数据进行了授权的、合法的、正确的修改,要想这些修改不被恢复功能所抛弃,用户就需要在恢复之前将修改数据真实有效地记录到硬盘中;所述硬盘保护功能还可以是,改变保护状态,比如修改口令、设置参数、重新选择要保护的物理分区、取消所有保护并卸载保护卡等。
实际应用中,从安全性方面考虑,上述三大基本功能只能在操作系统启动之前实现。因此,在计算机启动的过程中,即BIOS(基本输入输出系统)自检之后,操作系统启动之前,可以通过热键触发保护软件弹出功能菜单的方式提供。
如果选择恢复原始数据功能,则清除所有映射关系即可;如果选择保存修改数据功能,则依次扫描已有的映射关系,即扫描映射关系表,如果一个映射关系中的“源扇区块”没有作为另一个映射关系的“目的扇区块”,就可以将本映射关系中的“目的扇区块”写回“源扇区块”,然后注销本映射关系,直到所有映射关系都被注销。如果需要重新选择要保护的硬盘分区,可以回到上述步骤2重新选择。
最后进行第三部分,对硬盘读写实时监控。
由于要保护的硬盘区域中的剩余空间一般都是离散分布的,碎片的总和就是剩余空间,这样要保护的硬盘区域中的碎片数可能非常多,所以虚盘表也应该足够地多;考虑到少占计算机资源和有关的计算机系统规范,以及为了提高搜索虚盘表的速度,每张虚盘表的大小是有限的,因此本发明还需要创建虚盘表之索引表。所述虚盘表之索引表包括虚盘表在硬盘中的起始扇区号,虚盘表记录的总虚盘的起始扇区号,虚盘表记录的总虚盘的结束扇区号三个字段,用于管理有限数量的虚盘表。基于同样的原因,映射表的大小也是有限的,为了提高硬盘的可用率,保证即使每个映射块平均只有4KB时仍有足够的虚盘可供系统使用,所以要有足够多的映射表,因此,为了提高软件搜索映射表的速度,本发明还要创建了一张映射表之索引表。所述映射表之索引表包括映射表在硬盘中的起始扇区号,映射表记录的总映射的原始起始扇区号,映射表记录的总映射的原始结束扇区号三个字段,用于管理有限数量的映射表。
因此,在步骤7对硬盘进行读写实时监控时,对于写操作,应根据具体的操作修改映射关系。首先读入开放区表,创建虚盘表之索引表、创建映射表之索引表。由于映射表可能比较庞大,每次读写都完全地搜索一遍非常浪费时间,为提高硬盘读写速度,本发明还创建动态映射表,所述动态映射表包括原始起始扇区号、映射起始扇区号、映射长度三个字段,用以记载最近有限数量次数的硬盘读写的映射关系。
在本实施例中,所述对硬盘的读、写进行实时监控,一是要禁止物理格式化。逻辑格式化实际上是读写操作,可以读写对待。二是对读、写进行监控。需要说明的是,对于写操作,如果需要增加映射关系,应当检查下述条件:①映射表是否已满和②虚盘是否已满,当其中之一是“满”时,就发生了虚盘溢出错误,系统停机,要求下一次启动计算机时恢复原始数据。
图2是本发明实施例的读硬盘扇区块流程图。按照图2,在进行读操作的步骤1,确定要读取的硬盘空间的起始扇区号、扇区数,将整个要读取的空间划分为若干个扇区块,在选择第一个扇区块后进入步骤2,搜索开放区表,获取扇区块与开放区的关系;在步骤3,判断所述扇区块与所述开放区的关系,如果扇区块从头开始就有n个扇区在开放区,进行步骤4直接读取该n个扇区,然后进行步骤16继续以下操作;如果扇区块从头开始就有m个扇区不在开放区,则进行步骤5将该m个扇区作为一个扇区块m搜索动态映射表,获取扇区块m与动态映射表的关系;接着进行步骤6,判断所述扇区块m与所述动态映射表的关系,如果扇区块m从头开始就有m1个扇区被映射过,则进行步骤7,直接读取映射过的m1个扇区,然后进行步骤16继续以下操作;如果扇区块m从头开始有m2个扇区没有被映射过,则进行步骤8将该m2个扇区作为一个扇区块m2搜索映射表,获取扇区块m2与映射表的关系;接着进行步骤9,判断扇区块m2与所述映射表的关系,如果扇区块m2全部没有映射,直接进行步骤10读取该m2个扇区,然后进行步骤16继续以下操作;如果扇区块m2从头开始就有m3个扇区被映射过,则进行步骤11读取该映射过的m3个扇区,然后进行步骤13将该m3个扇区的映射关系加入动态映射表,接着进行步骤16继续以下操作;如果扇区块m2从头开始有m4个扇区没有被映射过,而m5个扇区被映射过,则进行步骤12直接读取该m4个扇区,然后进行步骤14读取被映射过的m5个扇区,在步骤15将该m5个扇区的映射关系加入动态映射表,然后进行步骤16继续以下操作;在步骤16,判断是否所有的扇区块都已经读完,如果未读完则进行步骤17选择下一个扇区块,然后返回到所述步骤2继续下一个扇区块的读操作,否则结束本次读操作。
图3是本发明实施例的写硬盘扇区块流程图。按照图3,在进行写操作的步骤1,确定要进行写操作的硬盘空间的起始扇区号、扇区数,将整个要进行写操作的空间划分为若干个扇区块,在选择第一个扇区块后进入步骤2,搜索开放区表,以获取扇区块与开放区的关系;在步骤3,判断所述扇区块与所述开放区的关系,如果扇区块从头开始就有n个扇区在开放区,直接进行步骤4写该n个扇区,然后进行步骤16继续以下操作;如果扇区块从头开始就有m个扇区不在开放区,则将该m个扇区作为一个扇区块m搜索动态映射表,以获取扇区m块与动态映射表的关系;在步骤6,判断所述扇区块m与所述动态映射表的关系,如果扇区块m全部被映射过,则进行步骤7写映射过的m个扇区,然后进行步骤16继续以下操作;如果扇区块m至少有一个扇区没有被映射过,则在步骤8用扇区块m搜索映射表,以获取扇区m块与映射表的关系;在步骤9,判断所述扇区块m与所述映射表的关系,如果扇区块m全部被映射过,则进行步骤10将m个扇区的映射关系加入到动态映射表,然后写映射过的m个扇区,接着进行步骤16继续以下操作;如果扇区块m至少有一个扇区没有被映射过,则进行步骤11,用扇区块m搜索虚盘表,以获取所述扇区m块与所述虚盘表的关系;在步骤12,判断所述扇区块m与所述虚盘表的关系,如果扇区块m全部在自由空间,则进行步骤13直接写该m个扇区,然后进行步骤16继续以下操作;如果扇区块m至少有一个扇区不在自由空间,则进行步骤14,在虚盘中分配m个扇区,然后进行步骤15将该m个扇区的映射关系加入到动态映射表,以及将该m个扇区的映射关系加入到映射表,最后写映射过的m个扇区;在步骤16,判断是否所有的扇区块都已经写完,如果未写完则进行步骤17选择下一个扇区块,然后返回到所述步骤2继续下一个扇区块的写操作,否则结束本次写操作。
在上述实施例中,由于考虑到少占计算机资源和有关的计算机系统规范,所以将映射表、映射表之索引表的大小均设定为为4KB,所以总的映射表表项数为341(个映射表)×453(个表项/个映射表)=154473个。映射块平均大小与虚盘总大小的数据关系为:虚盘总大小=154473×映射块平均大小。如下表所示:
| 映射块平均大小 | 4KB | 8KB | 16KB | 32KB | 64KB |
| 虚盘总大小 | 603MB | 1.18GB | 2.36GB | 4.71GB | 9.43GB |
本实施例通过下列两种方法提高每一个映射块的大小,保证在映射表表项数相同的情况下,最大限度地提高表达映射的容量。
一是合理的当前虚盘使用原则。用虚盘表对虚盘进行管理,并且从前向后使用虚盘,使映射块连接具备了必要条件。
二是合并相互连接的映射块,最大限度地提高每个映射表表项表达映射的容量。
本实施例将当前虚盘大小分为小于4.71GB、4.71GB、9.43GB三种情况,并且多于当前虚盘大小的剩余空间不加保护,允许自由读写,不仅突破了虚盘大小603MB的限制,而且大大提高了在保护状态下的硬盘可用率。
Claims (10)
1、一种计算机硬盘数据的保护方法,包括:
(1)扫描整个硬盘,登记所有的物理分区;
(2)选择要保护的物理分区;
(3)扫描要保护的物理分区,登记所有的剩余空间;
(4)根据上述步骤(3)登记的剩余空间的总和的大小,动态确定当前虚盘大小从0MB到最大预留空间;
(5)开辟存储区,记载当对硬盘进行写操作时,将写操作映射到保护的物理分区中原来没有数据的硬盘区域的映射关系;
(6)选择硬盘保护功能,如果选择恢复原始数据功能,则清除所有映射关系;如果选择保存修改数据功能,则依次扫描已有的映射关系,如果一个映射关系中的“源扇区块”没有作为另一个映射关系的“目的扇区块”,就可以将本映射关系中的“目的扇区块”写回“源扇区块”,然后注销本映射关系。
(7)对硬盘读、写操作进行监控,对于写操作,根据写操作的硬盘空间的起始扇区号、扇区数来修改映射关系。
2、根据权利要求1所述的硬盘数据的保护方法,其特征在于:在所述步骤(4)动态确定当前虚盘大小从0MB到最大预留空间按照下述方法完成:将所述预留空间值设定为中等预留空间MV和最大预留空间GV,如果剩余空间的总合小于MV,则剩余空间全部用作当前虚盘;如果剩余空间的总合大于GV,当前虚盘大小为GV,多余空间标记为自由空间;否则,当前虚盘大小为MV,多余空间标记为自由空间。
3、根据权利要求2所述的硬盘数据的保护方法,其特征在于:在确定当前虚盘大小时,根据登记的剩余空间块的大小,采用先大后小、从后到前的原则,在虚盘表中标记出足够的当前虚盘;多余空间标记为自由空间。
4、根据权利要求1、2或3所述的硬盘数据的保护方法,其特征在于:所述开辟存储区,记载当对硬盘进行写操作时,将写操作映射到保护的物理分区中原来没有数据的硬盘区域的映射关系,是通过创建映射表,所述映射表包括原始起始扇区号、映射起始扇区号、映射长度三个字段,用所述映射表记载当对硬盘进行写操作时,将写操作映射到保护的物理分区中原来没有数据的硬盘区域的映射关系。
5、根据权利要求4所述的硬盘数据的保护方法,其特征在于:该方法还包括创建开放区表,所述开放区表包括起始扇区号和结束扇区号两个字段,用于记载没有要求保护、任何时候都可以直接读写的硬盘区域。
6、根据权利要求5所述的硬盘数据的保护方法,其特征在于:该方法还包括创建虚盘表,所述虚盘表包括起始扇区号、结束扇区号、长度三个字段,用于登记要保护的硬盘区域中没有数据的剩余空间。
7、根据权利要求6所述的硬盘数据的保护方法,其特征在于:该方法还包括创建动态映射表,所述动态映射表包括原始起始扇区号、映射起始扇区号、映射长度三个字段,用以记载最近有限数量次数的硬盘读写的映射关系。
8、根据权利要求7所述的硬盘数据的保护方法,其特征在于,该方法还包括:
创建映射表之索引表,所述映射表之索引表包括映射表在硬盘中的起始扇区号,映射表记录的总映射的原始起始扇区号,映射表记录的总映射的原始结束扇区号三个字段,用于管理有限数量的映射表;
创建虚盘表之索引表,所述虚盘表之索引表包括虚盘表在硬盘中的起始扇区号,虚盘表记录的总虚盘的起始扇区号,虚盘表记录的总虚盘的结束扇区号三个字段,用于管理有限数量的虚盘表。
9、根据权利要求8所述的硬盘数据的保护方法,其特征在于,所述硬盘读操作包括:确定要读取的硬盘空间的起始扇区号、扇区数,将整个要读取的空间划分为若干个扇区块,对所述扇区块依次进行以下操作:
(1)搜索开放区表,如果扇区块从头开始有n个扇区在开放区,直接读取该n个扇区;如果扇区块从头开始有m个扇区不在开放区,则将该m个扇区作为一个扇区块m搜索动态映射表;
(2)如果扇区块m从头开始有m1个扇区被映射过,直接读取映射过的m1个扇区;如果扇区块m从头开始有m2个扇区没有被映射过,则将该m2个扇区作为一个扇区块m2搜索映射表;
(3)如果扇区块m2全部没有映射,直接读取该m2个扇区;如果扇区块m2从头开始有m3个扇区被映射过,则读取该映射过的m3个扇区,将该m3个扇区的映射关系加入动态映射表;如果扇区块m2从头开始有m4个扇区没有被映射过,而m5个扇区被映射过,则直接读取该m4个扇区,然后读取被映射过的m5个扇区,将该m5个扇区的映射关系加入动态映射表。
10、根据权利要求8所述的硬盘数据的保护方法,其特征在于:所述硬盘写操作包括:确定要进行写操作的硬盘空间的起始扇区号、扇区数,将整个要进行写操作的空间划分为若干个扇区块,对所述扇区块依次进行以下操作:
(1)搜索开放区表,如果扇区块从头开始有n个扇区在开放区,直接写该n个扇区;如果扇区块从头开始有m个扇区不在开放区,则将该m个扇区作为一个扇区块m搜索动态映射表;
(2)如果扇区块m全部被映射过,写映射过的m个扇区;如果扇区块m至少有一个扇区没有被映射过,则搜索映射表;
(3)如果扇区块m全部被映射过,将m个扇区的映射关系加入到动态映射表,然后写映射过的m个扇区;如果扇区块m至少有一个扇区没有被映射过,则搜索虚盘表;
(4)如果扇区块m全部在自由空间,直接写该m个扇区;如果至少有一个扇区不在自由空间,则在虚盘中分配m个扇区,然后将该m个扇区的映射关系加入到动态映射表,以及将该m个扇区的映射关系加入到映射表,最后写映射过的m个扇区。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNB011201118A CN1160731C (zh) | 2001-07-05 | 2001-07-05 | 一种计算机硬盘数据的保护方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNB011201118A CN1160731C (zh) | 2001-07-05 | 2001-07-05 | 一种计算机硬盘数据的保护方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1338751A CN1338751A (zh) | 2002-03-06 |
| CN1160731C true CN1160731C (zh) | 2004-08-04 |
Family
ID=4663905
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNB011201118A Expired - Fee Related CN1160731C (zh) | 2001-07-05 | 2001-07-05 | 一种计算机硬盘数据的保护方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN1160731C (zh) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7287133B2 (en) * | 2004-08-24 | 2007-10-23 | Symantec Operating Corporation | Systems and methods for providing a modification history for a location within a data store |
| KR100527274B1 (ko) * | 2004-06-04 | 2005-12-13 | 주식회사 르노소프트 | 시스템 영역 정보 테이블과 매핑 테이블을 사용한 컴퓨터하드디스크 시스템 데이터 보호 장치 및 그 방법 |
| CN100464314C (zh) * | 2006-03-23 | 2009-02-25 | 联想(北京)有限公司 | 一种数据透明保护的安全写系统和方法 |
| CN100424652C (zh) * | 2006-07-28 | 2008-10-08 | 华南理工大学 | 一种基于嵌入式操作系统的硬盘自恢复保护方法 |
| CN100428196C (zh) * | 2006-12-22 | 2008-10-22 | 清华大学 | 一种计算机系统快速还原的方法 |
| CN100573480C (zh) * | 2008-02-29 | 2009-12-23 | 中国科学院计算技术研究所 | 一种磁盘数据保护方法和系统 |
| CN102043727B (zh) * | 2009-10-10 | 2014-04-02 | 成都市华为赛门铁克科技有限公司 | 恢复固态硬盘映射表的方法及其装置 |
| CN101814038B (zh) * | 2010-03-23 | 2012-10-03 | 杭州顺网科技股份有限公司 | 一种加快计算机启动速度的方法 |
| CN101833485B (zh) * | 2010-03-23 | 2011-12-21 | 杭州顺网科技股份有限公司 | 一种基于快照的系统防护方法 |
| CN102902637B (zh) * | 2012-11-19 | 2015-04-22 | 北京理工大学 | 一种固态硬盘数据断电保护方法 |
-
2001
- 2001-07-05 CN CNB011201118A patent/CN1160731C/zh not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| CN1338751A (zh) | 2002-03-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8069317B2 (en) | Providing and utilizing high performance block storage metadata | |
| EP1739535B1 (en) | File system storing transaction records in flash-like media | |
| US8667029B2 (en) | Optimized startup verification of file system integrity | |
| JP5881859B2 (ja) | ストレージ装置 | |
| US20070005614A1 (en) | File system having deferred verification of data integrity | |
| CN1160731C (zh) | 一种计算机硬盘数据的保护方法 | |
| JPH09288547A (ja) | アレイ型記憶装置 | |
| US8209513B2 (en) | Data processing system with application-controlled allocation of file storage space | |
| CN108733306A (zh) | 一种文件合并方法及装置 | |
| US5829018A (en) | Apparatus and method for writing data from a cache to a storage device | |
| JP2007012060A (ja) | 逆階層構造を有するファイルシステム | |
| CN118672516B (zh) | 一种数据存储方法、设备、存储介质及计算机程序产品 | |
| Long et al. | WA-Zone: Wear-aware zone management optimization for LSM-Tree on ZNS SSDs | |
| KR20110033066A (ko) | 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법 | |
| CN114201648A (zh) | 用于高效扩展键值哈希表的系统及方法 | |
| JP3431581B2 (ja) | ディスク制御システムおよびデータ再配置方法 | |
| US7167964B1 (en) | Memory defragmentation in chipcards | |
| EP3798852A1 (en) | System controller and system garbage recovery method | |
| US11789622B2 (en) | Method, device and computer program product for storage management | |
| Lee et al. | Efficient logging of metadata using NVRAM for NAND flash based file system | |
| EP1046996A1 (en) | Memory defragmentation in chipcards | |
| CN1225476A (zh) | 计算机硬盘数据快速保护与恢复方法 | |
| JP7647078B2 (ja) | 情報処理装置、重複除去方法及び重複除去プログラム | |
| JP4040797B2 (ja) | ディスク制御装置および記録媒体 | |
| CN101004702A (zh) | 基于立即还原型硬盘保护卡的数据保护及还原方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| C17 | Cessation of patent right | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20040804 Termination date: 20110705 |