[发明专利]适用于存储装置的编码操作的进度记录方法和恢复方法有效
申请号: | 201210408643.0 | 申请日: | 2012-10-24 |
公开(公告)号: | CN102929806A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 李寿弟;吴光辉;沈海斌 | 申请(专利权)人: | 威盛电子股份有限公司 |
主分类号: | G06F12/16 | 分类号: | G06F12/16;G06F9/44 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 钱大勇 |
地址: | 中国台*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 适用于 存储 装置 编码 操作 进度 记录 方法 恢复 | ||
技术领域
本发明涉及一种进度记录方法和恢复方法,且特别涉及一种适用于存储装置的编码操作的进度记录方法和恢复方法。
背景技术
硬盘可说是计算机必备的存储装置,从笔记型计算机、桌上型计算机到专业级的服务器,都需要硬盘来存储大量数据。一般的硬盘会划分为一或多个存储区(partition或volume),每一个存储区可用来安装操作系统(operatingsystem),也可以用来存储数据。
对于硬盘的存储区,除了一般的读取数据和写入数据的操作以外,也可进行加密(encryption)、解密(decryption)、重加密和反向重加密等编码操作。上述的加密操作必须设定相对应的密码。加密操作可将存储区中的数据从明文转换为密文,以保护上述数据,而解密操作可将存储区中的数据从密文转回加密之前的明文。上述的重加密操作是在更换密码时,先将存储区中的密文数据用旧密码解密,然后用新密码加密。反向重加密操作则是在暂停重加密操作后,对重加密过的密文数据用新密码解密,然后用旧密码加密,使存储区中的密文数据恢复到重加密之前的状态。
大型服务器的硬盘通常存储大量数据,一次加密操作可能需要数天才能完成,导致断电等意外发生的机率大增。如果在加密操作中发生断电等意外,可能发生存储区中的数据损坏、丢失或导致整个存储区无法再存取等问题。
上述的传统编码操作会在存储区中设置一个标头(header),用来存储一个表示编码操作的进度的偏移量(offset)。上述偏移量是每次完成一定数量的数据编码时更新一次,例如每次完成32MB(megabytes)的数据编码时更新一次。但即使如此也不能有效避免断电所导致的数据损坏等问题。
例如图1所示,图1是一个硬盘存储区100的编码操作示意图。存储区100的标头120存储上述的偏移量,这个偏移量是每次完成b位元(bytes)的数据编码时更新一次。编码操作是以从偏移量S到偏移量0的方向进行,其中b和S都是预设常数。当编码操作进行到偏移量为S-b的位置时,会更新标头120存储的偏移量。如果不发生意外,当编码操作进行到偏移量为S-2b的位置时,会再次更新标头120存储的偏移量。但如果在编码操作进行到偏移量为p的位置时发生断电,而且在复电后根据标头120的记录,从偏移量为S-b的位置继续编码操作,则偏移量从S-b到p的数据会被编码两次,造成数据损坏。
发明内容
本发明提供一种适用于存储装置的存储区的编码操作的进度记录方法和恢复方法。可在断电等意外之后正确恢复存储区的数据与先前的编码操作,避免数据损坏、丢失以及存储区无法再存取等问题。
本发明提出一种进度记录方法,适用于一存储装置的一存储区的一编码操作,此进度记录方法包括下列步骤:初始化并存储一变量集合,其中上述编码操作包括多个子操作,每一上述子操作对应变量集合其中至少一标记变量,上述标记变量用以记录上述子操作的执行进度;以及在执行每一上述子操作时,根据子操作的执行进度更新已存储的变量集合中对应的标记变量。
在本发明的一实施例中,上述子操作其中之一对应上述标记变量其中的一第一标记变量和一第二标记变量,而且根据子操作的执行进度更新已存储的标记变量的步骤包括:根据该子操作的下一次执行之后的进度更新第一标记变量,此时第一标记变量不等于第二标记变量;执行该子操作;以及根据该子操作的上述执行之后的进度更新第二标记变量,此时第一标记变量等于第二标记变量。
在本发明的一实施例中,上述的编码操作包括一备份子操作,而且备份子操作在对应第一标记变量和第二标记变量的上述子操作执行之前,在不同于上述存储区的另一存储区备份上述存储区的数据。
本发明另提出一种恢复方法,适用于上述编码操作,包括下列步骤:读取上述的变量集合;根据变量集合判断上述编码操作的子操作之中是否有中断;如果上述子操作之中有中断,则根据中断的子操作所对应的标记变量恢复中断的子操作;以及根据上述变量集合的上述标记变量所记录的进度继续执行上述编码操作。
在本发明的一实施例中,上述子操作其中之一对应上述标记变量其中的一第一标记变量和一第二标记变量,而且恢复上述编码操作的步骤包括:若第一标记变量不等于第二标记变量,则将第一标记变量设定为等于第二标记变量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于威盛电子股份有限公司,未经威盛电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210408643.0/2.html,转载请声明来源钻瓜专利网。