CN102033793A - 快照方法和固态硬盘 - Google Patents
快照方法和固态硬盘 Download PDFInfo
- Publication number
- CN102033793A CN102033793A CN 201010601955 CN201010601955A CN102033793A CN 102033793 A CN102033793 A CN 102033793A CN 201010601955 CN201010601955 CN 201010601955 CN 201010601955 A CN201010601955 A CN 201010601955A CN 102033793 A CN102033793 A CN 102033793A
- Authority
- CN
- China
- Prior art keywords
- data
- snapshot
- district
- storage area
- former
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Abstract
本发明实施例涉及一种快照方法和固态硬盘,其中,该快照方法包括:接收数据修改请求,数据修改请求包括待写入的新数据;根据数据修改请求中携带的存储介质的数据存储区中需要修改的存储单元的地址,从数据存储区中获取需要修改的原数据,将原数据备份到所述存储介质的快照区,得到快照增量数据,将包含原数据的块上的数据读入缓存,修改原数据,擦除存储介质上块上的数据,将修改后的块上的数据重新写入;或将数据修改请求中的新数据写入到存储介质的快照区,得到快照增量数据。本发明实施例可在存储介质上直接进行快照,实现数据的保护与恢复;由于快照区对上层透明、无法访问,可防止病毒注入,提高存储介质可靠性和病毒防御能力。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种快照方法和固态硬盘。
背景技术
固态硬盘(Solid State Disk;简称:SSD)由控制单元与存储单元组成。存储单元多采用非易失性的闪存(Flash)芯片,或者采用同步动态随机存取存储器(Synchronous Dynamic Random Access Memory;简称:SDRAM)。SSD不具有机械转动装置,具有读写性能高、抗震能力强、电源开销小等优势,广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等领域。由于SSD突出的输入输出(Input Output;简称:IO)处理能力,经常应用于中高端存储领域。
存储网络行业协会(Storage Networking Industry Association;简称:SNIA)对快照(Snapshot)的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(例如:拷贝开始的时间点)的映像。快照可以是所表示的数据的一个副本或复制品。快照的作用是能够进行在线数据恢复,当存储设备发生应用故障或者文件损坏时,可以利用快照进行及时数据恢复,将数据恢复成快照产生时间点的状态。快照实现的方法有很多种,例如:即写即拷、分割镜像快照等。
目前的快照技术基于网络的存储系统级别的,在存储系统的存储服务器上可以采用快照技术提升数据可靠性,利用快照可以进行在线数据恢复,例如:当存储服务器发生应用故障或文件损坏时可以进行数据恢复,将数据恢复成快照产生时间点的状态。发明人在实现本发明的过程中发现现有技术没有基于SSD的快照技术,造成SSD的可靠性低,病毒攻击防御功能差,数据保护能力弱。
发明内容
本发明实施例中提供的一种快照方法和固态硬盘,达到了提高存储介质的可靠性和病毒防御能力,增强存储介质的数据保护能力的技术效果。
为实现上述目的,本发明实施例中提供了如下技术方案:
一种快照方法,包括:
接收数据修改请求,所述数据修改请求包括待写入的新数据;
根据数据修改请求中携带的存储介质的数据存储区中需要修改的存储单元的地址,从所述数据存储区中获取需要修改的原数据,将所述原数据备份到所述存储介质的快照区,得到快照增量数据;将包含所述原数据的块上的数据读入缓存,修改所述原数据,擦除存储介质上所述块上的数据,将修改后的所述块上的数据重新写入;或者,
将所述数据修改请求中的所述新数据写入到所述存储介质的快照区,得到快照增量数据。
一种固态硬盘,包括:与外部设备连接的接口、与所述接口连接的控制器和与所述控制器连接的存储介质,其特征在于,所述控制器包括:接收模块和快照模块;
接收模块,用于接收数据修改请求,所述数据修改请求包括待写入的新数据;
快照模块,用于根据所述接收模块接收的所述数据修改请求中携带的存储介质的数据存储区中需要修改的存储单元的地址,从所述数据存储区中获取需要修改的原数据,将所述原数据备份到所述存储介质的快照区,得到快照增量数据;或者,用于将所述接收模块接收的所述数据修改请求中的新数据写入到所述存储介质的快照区,得到快照增量数据;
数据修改模块,用于当所述快照模块将所述原数据备份到所述存储介质的快照区,得到快照增量数据时,将包含所述原数据的块上的数据读入缓存,修改所述原数据,擦除存储介质上所述块上的数据,将修改后的所述块上的数据重新写入。
本发明实施例中提供的快照方法和固态硬盘,通过接收数据修改请求,所述数据修改请求包括待写入的新数据;根据数据修改请求中携带的存储介质的数据存储区中需要修改的存储单元的地址,从所述数据存储区中获取需要修改的原数据,将所述原数据备份到所述存储介质的快照区,得到快照增量数据,将所述数据存储区的所述原数据修改为所述数据修改请求中的所述新数据,或者,将所述数据修改请求中的所述新数据写入到所述存储介质的快照区,得到快照增量数据,可以在存储介质上直接进行快照,实现数据的保护与恢复;由于快照区对上层透明、无法访问,可以防止病毒注入,从而可以提高存储介质的可靠性和病毒防御能力,如果将关键数据快照到快照区,可以保护关键数据的安全,提高了数据保护能力。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明快照方法第一实施例的流程图;
图2为本发明快照方法第一实施例中SSD的存储单元划分的示意图;
图3为本发明快照方法第二实施例的流程图;
图4为本发明快照方法第二实施例中SSD的存储单元初始状态的示意图;
图5为本发明快照方法第二实施例中SSD的存储单元启动快照的示意图;
图6为本发明快照方法第二实施例中SSD的存储单元快照后的示意图;
图7为本发明快照方法第二实施例中SSD的快照区映射表的示意图;
图8为本发明快照方法第三实施例的流程图;
图9为本发明实施例中SSD的冗余区映射表的示意图;
图10为本发明固态硬盘第一实施例的结构示意图;
图11为本发明固态硬盘第二实施例的结构示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明快照方法第一实施例的流程图,如图1所示,该快照方法包括:
步骤11、接收数据修改请求,所述数据修改请求包括待写入的新数据;
可以预先将存储介质的存储单元划分为数据存储区与快照区,一般情况下,数据存储区用于存储原数据,快照区用于存储原数据的快照增量数据;或者。当存储介质接收到数据修改请求后,可以启动快照;
其中,数据修改请求中可以包括数据存储区中需要修改的存储单元的地址或逻辑编号,以及待写入的新数据。
步骤12、根据数据修改请求中携带的存储介质的数据存储区中需要修改的存储单元的地址,从所述数据存储区中获取需要修改的原数据,将所述原数据备份到所述存储介质的快照区,得到快照增量数据,将包含所述原数据的块(Block)上的数据读入缓存,修改所述原数据,擦除存储介质上所述块上的数据,将修改后的所述块上的数据重新写入;或者,将所述数据修改请求中的所述新数据写入到所述存储介质的快照区,得到快照增量数据。
上述的步骤11和步骤12可以通过存储介质内部的控制器来执行,本实施例中,控制器可以将需要修改的存储单元中的原数据备份到存储介质的快照区或将修改的新数据写入快照区,可以实现数据保护与恢复;由于快照区对上层透明、无法访问,可以防止病毒注入,提高了存储介质的可靠性和病毒防御能力,如果将关键数据快照到快照区,可以保护关键数据的安全,提高了数据保护能力。
其中,本发明实施例中的存储介质可以为多种,以存储介质为SSD为例,图2为本发明快照方法第一实施例中SSD的存储单元划分的示意图,如图2所示,SSD按照一定规则将存储单元划分为数据存储区21和快照区22,一般情况下,数据存储区21存储原数据,而快照区22则存储快照增量数据。
其中,步骤12可以包括以下情况:
情况一、根据数据修改请求中携带的存储介质的数据存储区中需要修改的存储单元的地址,从所述数据存储区中获取需要修改的原数据,将所述原数据备份到所述存储介质的快照区,得到快照增量数据;将包含所述原数据的块上的数据读入缓存,修改所述原数据,擦除存储介质上所述块上的数据,将修改后的所述块上的数据重新写入。
对于固态硬盘来说,在这种情况下,因为需要修改的原数据,必须将数据存储区中包含所述原数据的块上的数据读入缓存,修改所述原数据,擦除数据存储区上所述块上的数据,将修改后的所述块上的数据重新写入数据存储区。情况二、将所述数据修改请求中的所述新数据写入到所述存储介质的快照区,得到快照增量数据。
对于固态硬盘来说,在这种情况下,对于快照区来说,快照区是空白的,可以直接写入而无需擦除的动作。
下面介绍情况一对应的具体实施例,如下:
图3为本发明快照方法第二实施例的流程图,如图3所示,该方法包括:
步骤301、接收数据修改请求,所述数据修改请求包括待写入的新数据;
步骤302、根据数据修改请求中携带的存储介质的数据存储区中需要修改的存储单元的地址,从所述数据存储区中获取需要修改的原数据,将所述原数据备份到所述存储介质的快照区,得到快照增量数据;将包含所述原数据的块(Block)上的数据读入缓存,修改所述原数据,擦除存储介质上所述块上的数据,将修改后的所述块上的数据重新写入;
步骤303、记录所述原数据的快照增量数据在所述快照区的存储单元的位置与所述新数据在所述数据存储区的存储单元的位置之间的映射关系即第一映射关系;
例如:存储介质中可以包括快照区映射表,在快照区映射表中可以记录数据存储区与快照区的映射关系。在情况一下,快照区映射表中可以记录原数据的快照增量数据在快照区的存储单元的位置(例如:某个快照区的存储单元的地址或编号等表示位置的信息)与新数据在数据存储区的存储单元的位置之间的映射关系即第一映射关系;当数据存储区某个存储单元在快照区存在快照增量数据时,快照区映射表中存储与该存储单元对应的快照增量数据所在的存储单元的地址或者编号,当数据存储区某个存储单元在快照区没有快照增量数据时,快照区映射表中该存储单元对应的区域设置可以为空,例如:可以用“N/A”表示。
在本实施例的情况下,当需要进行快照恢复时,根据所述原数据的快照增量数据在所述快照区的存储单元的位置与所述新数据在所述数据存储区的存储单元的位置之间的映射关系即第一映射关系,从所述快照区中获取所述数据存储区中需要恢复的原数据的快照增量数据。
步骤304、若所述快照区已满,且所述数据存储区存在需要备份到所述快照区的快照增量数据时,发出所述快照区已满的通知或删除最早存入所述快照区的快照增量数据。
快照区存储满后,可采用多种方法进行处理,例如:删除快照区最早存入的快照增量数据,或者通知用户快照区已满,无法再进行存储等,根据具体应用场景可以具体设定。
图4为本发明快照方法第二实施例中SSD的存储单元初始状态的示意图,如图4所示,预先将该SSD的存储单元划分为数据存储区和快照区后,可以假设数据存储区的存储单元的逻辑编号为“0-N”,快照区的存储单元的逻辑编号为“0-M”;数据存储区存有数据“0xAA-0xXY”,快照区各个存储单元的初始状态可以为空(N/A),即未存任何数据。
图5为本发明快照方法第二实施例中SSD的存储单元启动快照的示意图,如图5所示,假设在某一时刻启动快照,在该时刻后修改的数据存储区的原数据可以在快照区进行备份,新数据在数据存储区则直接修改。示例性地,如果SSD接收到数据修改请求,数据修改请求中包括需要修改的存储单元“3”和修改的新数据“0xDF”,如图5,则可以得到:数据存储区的存储单元“3”中的原数据“0xDD”需要修改为新数据“0xDF”。图6为本发明快照方法第二实施例中SSD的存储单元快照后的示意图,如图6所示,先将原数据“0xDD”备份到快照区的存储单元“0”,然后将数据存储区的存储单元“3”中的原数据“0xDD”修改为新数据“0xDF”。
由于SSD存在均衡与回收等多种策略,SSD的逻辑块地址(Iogical block address;简称:LBA)与物理块地址(physical block address;简称:PBA)的映射关系有别传统硬盘,可以自定义映射关系,快照映射关系的实现也不局限于某种算法,本发明实施例仅列举一种实例,对数据存储区增设一级快照区的映射,即快照区映射表,快照区映射表中可以数据存储区与快照区的各个存储单元的位置之间的映射关系。若数据存储区的某个存储单元在快照区无原数据备份或新数据写入等形成快照增量数据,可以将该存储单元在快照区映射表中对应的区域设置为空(N/A),若该存储单元在快照区存在快照增量数据,则可以将该存储单元在快照区映射表中对应的区域设置为对应的快照增量数据所在的存储单元。图7为本发明快照方法第二实施例中SSD的快照区映射表的示意图,如图7所示,将数据存储区的存储单元“3”中的原数据“0xDD”备份到快照区的存储单元“0”时,将快照区映射表中数据存储区的存储单元“3”对应的区域设置为快照区的存储单元“0”。
由于,当数据存储区的存储单元由“0xDD”变为“0xDF”后,原数据“0xDD”被保存于快照区域的存储单元“0”内,快照区映射表中记录了该映射关系,当需要进行快照恢复时,可以根据快照区映射表从快照区将“0xDD”由快照区的存储单元“0”内读出,恢复到数据存储区的存储单元“3”。
本实施例中,可以将需要修改的存储单元中的原数据备份到存储介质的快照区或将修改的新数据写入快照区,可以实现数据保护与恢复;由于快照区对上层透明、无法访问,可以防止病毒注入,提高了存储介质的可靠性和病毒防御能力,如果将关键数据快照到快照区,可以保护关键数据的安全,提高了数据保护能力。
下面介绍情况二对应的具体实施例,如下:
图8为本发明快照方法第三实施例的流程图,如图8所示,该方法包括:
步骤801、接收数据修改请求,所述数据修改请求包括待写入的新数据;
步骤802、将所述数据修改请求中的所述新数据写入到所述存储介质的快照区,得到快照增量数据;
步骤803、记录所述新数据的快照增量数据在所述快照区的存储单元的位置与所述原数据在所述数据存储区的存储单元的位置之间的映射关系即第二映射关系;
例如:存储介质中可以包括快照区映射表,在快照区映射表中可以记录数据存储区与快照区的映射关系。在情况二下,快照区映射表中可以记录新数据的快照增量数据在快照区的存储单元的位置与原数据在数据存储区的存储单元的位置之间的映射关系即第二映射关系。如果数据存储区某个存储单元在快照区存在快照增量数据,快照区映射表中存储与该存储单元对应的快照增量数据所在的存储单元的地址或者编号,如果数据存储区某个存储单元在快照区没有快照增量数据,快照区映射表中该存储单元对应的区域设置可以为空,例如:可以用“N/A”表示。
在本实施例的情况下,当需要进行快照恢复时,根据所述新数据的快照增量数据在所述快照区的存储单元的位置与所述原数据在所述数据存储区的存储单元的位置之间的映射关系即第二映射关系,从所述数据存储区中获取所述快照区中需要恢复的存储单元中的原数据。
如图5所示,可以保持数据存储区的存储单元“3”中原数据“0xDD”不变,而是将新数据“0xDF”写入快照区,并在快照区映射表中记录映射关系,正常读取时,根据映射关系从快照区获取“0xDF”,需要进行快照还原时,可以则从数据存储区获取“0xDD”。
步骤804、若所述快照区已满,且所述数据存储区存在需要备份到所述快照区的快照增量数据时,发出所述快照区已满的通知;或删除最早存入所述快照区的快照增量数据。
快照区存储满后,可采用多种方法进行处理,例如:删除快照区最早存入的快照增量数据,或者通知用户快照区已满,无法再进行存储等,根据具体应用场景可以具体设定。
本实施例中,可以将需要修改的存储单元中的原数据备份到存储介质的快照区或将修改的新数据写入快照区,可以实现数据保护与恢复;由于快照区对上层透明、无法访问,可以防止病毒注入,提高了存储介质的可靠性和病毒防御能力,如果将关键数据快照到快照区,可以保护关键数据的安全,提高了数据保护能力。
本实施例中,可以将修改请求中的新数据写入到存储介质的快照区,得到快照增量数据,从而在存储介质上直接进行快照,实现数据保护与恢复;由于快照区对上层透明、无法访问,可以防止病毒注入,提高了存储介质的可靠性和病毒防御能力,如果将关键数据快照到快照区,可以保护关键数据的安全,提高了数据保护能力。
上述所有实施例中,存储介质的快照区可以为冗余区,相应地,存储介质的存储单元中可以包括数据存储区与冗余区,一般情况下,数据存储区用于存储原数据,冗余区一般用来提升存储介质的性能,可用于存放系统信息,还可以包括坏块保留块、空白块等。一般情况下,数据存储区存储原数据,而冗余区的空白块即处于未使用状态的存储单元,则可以用于存储快照增量数据。
相应地,该快照方法还可以包括:
对于情况一,记录所述原数据的快照增量数据在所述冗余区的存储单元的位置与所述新数据在所述数据存储区的存储单元的位置之间的映射关系,并设置用于存储所述原数据的冗余区中的存储单元的状态为快照状态;
对于情况二,记录所述新数据的快照增量数据在所述冗余区的存储单元的位置与所述原数据在所述数据存储区的存储单元的位置之间的映射关系,并设置用于存储所述新数据的冗余区中的存储单元的状态为快照状态。
其中,冗余区映射表中可以记录冗余区各个存储单元的状态,以及冗余区的各个存储单元与数据存储区的映射关系。若数据存储区的某个存储单元在冗余区无原数据备份或新数据写入等形成快照增量数据,可以将该存储单元在冗余区映射表中对应的区域的状态可以设置为空(N/A或blank),若该存储单元在冗余区存在快照增量数据,则可以将该存储单元在冗余区映射表中对应的区域设置的状态可以设置为快照(snap),并且记录对应的快照增量数据所在的冗余区的存储单元的地址逻辑编号。图9为本发明实施例中SSD的冗余区映射表的示意图,如图9所示,将数据存储区的存储单元“3”中的原数据“0xDD”备份到冗余区的存储单元“0”时,将冗余区映射表中数据存储区的存储单元“3”对应的区域的状态记录为“snap”,将“3”对应的冗余区的存储单元记录为“0”。
由于,当数据存储区的存储单元由“0xDD”变为“0xDF”后,原数据“0xDD”被保存于冗余区域的存储单元“0”内,冗余区映射表中记录了该映射关系和该存储单元的状态,当需要进行快照恢复时,可以根据冗余区映射表从冗余区将“0xDD”由冗余区的snap状态的存储单元“0”内读出,恢复到数据存储区的存储单元“3”。
冗余区代替快照区实现上述快照的方法,既可以存储快照增量数据又可以存储系统信息,实现了冗余区的复用,可以在均衡系统性能的同时保护数据安全。
图10为本发明固态硬盘第一实施例的结构示意图,如图10所示,该固态硬盘包括:与外部设备连接的接口101、与接口101连接的控制器102和与控制器102连接的存储介质103。
其中,控制器102包括:接收模块1020和快照模块1021;
接收模块1020,用于接收数据修改请求,所述数据修改请求包括待写入的新数据;
快照模块1021,用于根据所述接收模块1020接收的所述数据修改请求中携带的存储介质103的数据存储区中需要修改的存储单元的地址,从数据存储区中获取需要修改的原数据,将所述原数据备份到所述存储介质103的快照区,得到快照增量数据;或者,用于将所述接收模块1020接收的所述数据修改请求中的新数据写入到存储介质103的快照区,得到快照增量数据;
数据修改模块1022,用于当快照模块1021将原数据备份到存储介质103的快照区,得到快照增量数据时,将包含所述原数据的块Block上的数据读入缓存,修改所述原数据,擦除存储介质上所述块上的数据,将修改后的所述块上的数据重新写入。
本实施例中,可以将需要修改的存储单元中的原数据备份到存储介质的快照区或将修改的新数据写入快照区,可以实现数据保护与恢复;由于快照区对上层透明、无法访问,可以防止病毒注入,提高了存储介质的可靠性和病毒防御能力,如果将关键数据快照到快照区,可以保护关键数据的安全,提高了数据保护能力,进一步地,通过固态硬盘内部的控制器实现快照功能,可以不借助任何外部设备在存储介质内部完成快照功能,从而可以节省固态硬盘外部处理单独的处理资源。
进一步地,存储介质103可以包括:数据存储区1031与快照区1032;若数据存储区1031用于存储所述新数据,则快照区1032用于存储所述原数据的快照增量数据;若数据存储区1031用于存储所述原数据,则快照区1032用于存储所述新数据的快照增量数据。
示例性地,控制器102的从接口101可以接收到外部设备发送的数据修改请求,数据修改请求可以包括需要修改的存储单元和修改的新数据,若已经启动快照,接收模块1020根据数据修改请求可以获取需要修改的原数据和修改的新数据,则快照模块1021将存储介质103的数据存储区1031中需要修改的存储单元中的原数据备份到存储介质103的快照区1032,得到原数据的快照增量数据,然后可以将数据存储区1031中的原数据修改为新数据。或者快照模块1021将接收到的新数据写入快照区1032,得到新数据的快照增量数据,并保持数据存储区1031的原数据不变。
本实施例接收模块获取需要修改的原数据和修改的新数据后,快照模块可以将数据存储区中需要修改的原数据备份到快照区,或者将新数据写入快照区,从而在固态硬盘存储介质上直接进行快照,实现数据保护;由于快照区对上层透明、无法访问,因此可以防止病毒注入,提高了存储介质的可靠性和病毒防御能力,如果将关键数据快照到快照区,可以保护关键数据的安全,提高了数据保护能力。
图11为本发明固态硬盘第二实施例的结构示意图,如图11所示,在本发明固态硬盘第一实施例的基础上,该固态硬盘的控制器还可以包括:快照区映射模块1024,用于当数据修改模块1022将所述数据存储区的所述原数据修改为所述数据修改请求中的所述新数据时,记录所述原数据的快照增量数据在所述快照区的存储单元的位置与所述新数据在所述数据存储区的存储单元的位置之间的第一映射关系;快照区映射模块1024还用于当快照模块1021将所述数据修改请求中的所述新数据写入到所述存储介质的快照区,得到快照增量数据时,记录所述新数据的快照增量数据在所述快照区的存储单元的位置与所述原数据在所述数据存储区的存储单元的位置之间的第二映射关系。
进一步地,控制器102还可以包括:快照恢复模块1025,用于若所述数据修改模块1022将所述数据存储区的所述原数据修改为所述数据修改请求中的新数据,当需要进行快照恢复时,根据所述第一映射关系,从所述快照区中获取所述数据存储区中需要恢复的原数据的快照增量数据;快照恢复模块1025还用于若所述快照模块1021将所述数据修改请求中的所述新数据写入到所述存储介质的快照区,得到快照增量数据,当需要进行快照恢复时,根据所述第二映射关系,从所述数据存储区中获取所述快照区中需要恢复的存储单元中的快照增量数据的原数据。
此外,快照区1032的存储空间是有限的,存满后就不能再存其他的数据,因此控制器的快照模块1021还用于若快照区1032已满,且数据存储区1031存在需要备份到快照区1032的快照增量数据,发出快照区1032已满的通知;或删除最早存入快照区1032的快照增量数据。
本实施例获取数据存储区中需要修改的原数据和修改的新数据后,快照模块可以将需要修改的原数据备份到快照区,然后再该存储单元的原数据修改为新数据,也可以将新数据写入快照区,保持数据存储区的原数据不变,从而在固态硬盘存储介质上直接进行快照,实现数据保护;快照恢复模块可以根据数据存储区域快照区的映射关系进行快照恢复;由于快照区对上层透明、无法访问,因此可以防止病毒注入,提高了存储介质的可靠性和病毒防御能力,如果将关键数据快照到快照区,可以保护关键数据的安全,提高了数据保护能力。
其中,快照区1032还可以为冗余区,相应地,存储介质103可以包括数据存储区与冗余区,冗余区一般用来提升存储介质的性能,可用于存放系统信息,还可以包括坏块保留块、空白块等。一般情况下,数据存储区存储原数据,而冗余区的空白块即处于未使用状态的存储单元,则可以用于存储快照增量数据。
其中,当上述存储介质的快照区为冗余区时,接收模块1020,用于接收数据修改请求,所述数据修改请求包括待写入的新数据;
快照模块1021,用于根据所述接收模块1020接收的所述数据修改请求中携带的存储介质103的数据存储区中需要修改的存储单元的地址,从数据存储区中获取需要修改的原数据,将所述原数据备份到所述存储介质103的冗余区,得到快照增量数据;或者,用于将所述接收模块1020接收的所述数据修改请求中的新数据写入到存储介质103的冗余区,得到快照增量数据;数据修改模块1022,用于当快照模块1021将原数据备份到存储介质103的冗余区,得到快照增量数据时,将数据存储区的所述原数据修改为所述数据修改请求中的所述新数据。
冗余区代替快照区实现上述快照的方法,既可以存储快照增量数据又可以存储系统信息,实现了冗余区的复用,可以在均衡系统性能的同时保护数据安全。
其中,当上述存储介质的快照区为冗余区时,该固态硬盘的控制器还可以包括:冗余区映射模块,用于当数据修改模块1022将所述数据存储区的所述原数据修改为所述数据修改请求中的所述新数据时,记录所述原数据的快照增量数据在所述冗余区的存储单元的位置与所述新数据在所述数据存储区的存储单元的位置之间的第一映射关系,并设置用于存储所述原数据的冗余区中的存储单元的状态为快照状态;所述冗余区映射模块还用于当快照模块1021将所述数据修改请求中的所述新数据写入到所述存储介质的冗余区,得到快照增量数据时,记录所述新数据的快照增量数据在所述冗余区的存储单元的位置与所述原数据在所述数据存储区的存储单元的位置之间的第二映射关系,并设置用于存储所述新数据的冗余区中的存储单元的状态为快照状态。
其中,当上述存储介质的快照区为冗余区时,快照恢复模块1025,用于若所述数据修改模块1022将所述数据存储区的所述原数据修改为所述数据修改请求中的新数据,当需要进行快照恢复时,根据所述第一映射关系,从所述冗余区中获取所述数据存储区中需要恢复的原数据的快照增量数据;快照恢复模块1025还用于若所述快照模块1021将所述数据修改请求中的所述新数据写入到所述存储介质的冗余区,得到快照增量数据,当需要进行快照恢复时,根据所述第二映射关系,从所述数据存储区中获取所述冗余区中需要恢复的存储单元中的快照增量数据的原数据。
其中,当上述存储介质的快照区为冗余区时,冗余区的存储空间是有限的,存满后就不能再存其他的数据,因此控制器的快照模块1021还用于若冗余区已满,且数据存储区存在需要备份到冗余区的快照增量数据,发出冗余区已满的通知;或删除最早存入冗余区的数据,其中数据可以为快照增量数据,也可以不是快照增量数据,而是其他的过期数据。
冗余区代替快照区实现上述快照的方法,既可以存储快照增量数据又可以存储系统信息,实现了冗余区的复用,可以在均衡系统性能的同时保护数据安全。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:FLASH、ROM、RAM或者其他非易失性介质等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种快照方法,其特征在于,包括:
接收数据修改请求,所述数据修改请求包括待写入的新数据;
根据数据修改请求中携带的存储介质的数据存储区中需要修改的存储单元的地址,从所述数据存储区中获取需要修改的原数据,将所述原数据备份到所述存储介质的快照区,得到快照增量数据,将包含所述原数据的块上的数据读入缓存,修改所述原数据,擦除存储介质上所述块上的数据,将修改后的所述块上的数据重新写入;或者,
将所述数据修改请求中的所述新数据写入到所述存储介质的快照区,得到快照增量数据。
2.根据权利要求1所述的快照方法,其特征在于,还包括:
当将所述数据存储区的所述原数据修改为所述数据修改请求中的所述新数据时,记录所述快照增量数据在所述快照区的存储单元的位置与所述新数据在所述数据存储区的存储单元的位置之间的第一映射关系;
当将所述数据修改请求中的所述新数据写入到所述存储介质的快照区,得到快照增量数据时,记录所述快照增量数据在所述快照区的存储单元的位置与所述原数据在所述数据存储区的存储单元的位置之间的第二映射关系。
3.根据权利要求2所述的快照方法,其特征在于,还包括:
若将所述数据存储区的所述原数据修改为所述数据修改请求中的新数据,当需要进行快照恢复时,根据所述第一映射关系,从所述快照区中获取所述数据存储区中需要恢复的原数据的快照增量数据;
若将所述数据修改请求中的所述新数据写入到所述存储介质的快照区,得到快照增量数据,根据所述第二映射关系,从所述数据存储区中获取所述快照区中需要恢复的存储单元中的快照增量数据的原数据。
4.根据权利要求1-3任一所述的快照方法,其特征在于,还包括:
若所述快照区已满,且所述数据存储区存在需要备份到所述快照区的快照增量数据时,发出所述快照区已满的通知;或删除最早存入所述快照区的快照增量数据。
5.一种固态硬盘,包括:与外部设备连接的接口、与所述接口连接的控制器和与所述控制器连接的存储介质,其特征在于,所述控制器包括:
接收模块,用于接收数据修改请求,所述数据修改请求包括待写入的新数据;
快照模块,用于根据所述接收模块接收的所述数据修改请求中携带的存储介质的数据存储区中需要修改的存储单元的地址,从所述数据存储区中获取需要修改的原数据,将所述原数据备份到所述存储介质的快照区,得到快照增量数据;或者,用于将所述接收模块接收的所述数据修改请求中的新数据写入到所述存储介质的快照区,得到快照增量数据;
数据修改模块,用于当所述快照模块将所述原数据备份到所述存储介质的快照区,得到快照增量数据时,将包含所述原数据的块上的数据读入缓存,修改所述原数据,擦除存储介质上所述块上的数据,将修改后的所述块上的数据重新写入。
6.根据权利要求5所述的固态硬盘,其特征在于,所述存储介质包括:所述数据存储区和所述快照区;
其中,所述数据存储区用于存储所述新数据,所述快照区用于存储所述原数据的快照增量数据;或者,
所述数据存储区用于存储所述原数据,所述快照区用于存储所述新数据的快照增量数据。
7.根据权利要求5或6所述的固态硬盘,其特征在于,所述存储介质还包括:
快照区映射模块,用于当所述数据修改模块将所述数据存储区的所述原数据修改为所述数据修改请求中的所述新数据时,记录所述原数据的快照增量数据在所述快照区的存储单元的位置与所述新数据在所述数据存储区的存储单元的位置之间的第一映射关系;
所述快照区映射模块还用于当所述快照模块将所述数据修改请求中的所述新数据写入到所述存储介质的快照区,得到快照增量数据时,记录所述新数据的快照增量数据在所述快照区的存储单元的位置与所述原数据在所述数据存储区的存储单元的位置之间的第二映射关系。
8.根据权利要求7所述的固态硬盘,其特征在于,所述控制器还包括:
快照恢复模块,用于若所述数据修改模块将所述数据存储区的所述原数据修改为所述数据修改请求中的新数据,当需要进行快照恢复时,根据所述第一映射关系,从所述快照区中获取所述数据存储区中需要恢复的原数据的快照增量数据;
所述快照恢复模块还用于若所述快照模块将所述数据修改请求中的所述新数据写入到所述存储介质的快照区,得到快照增量数据,当需要进行快照恢复时,根据所述第二映射关系,从所述数据存储区中获取所述快照区中需要恢复的存储单元中的快照增量数据的原数据。
9.根据权利要求5-8任一所述的固态硬盘,其特征在于,所述快照模块还用于若所述快照区已满,且所述数据存储区存在需要备份到所述快照区的快照增量数据时,发出所述快照区已满的通知;或删除最早存入所述快照区的快照增量数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010601955 CN102033793A (zh) | 2010-12-14 | 2010-12-14 | 快照方法和固态硬盘 |
PCT/CN2011/081609 WO2012079432A1 (zh) | 2010-12-14 | 2011-11-01 | 快照方法和固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010601955 CN102033793A (zh) | 2010-12-14 | 2010-12-14 | 快照方法和固态硬盘 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102033793A true CN102033793A (zh) | 2011-04-27 |
Family
ID=43886724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010601955 Pending CN102033793A (zh) | 2010-12-14 | 2010-12-14 | 快照方法和固态硬盘 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102033793A (zh) |
WO (1) | WO2012079432A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012079432A1 (zh) * | 2010-12-14 | 2012-06-21 | 成都市华为赛门铁克科技有限公司 | 快照方法和固态硬盘 |
CN102591790A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 基于固态硬盘的数据存储快照实现方法及固态硬盘 |
CN102693173A (zh) * | 2012-05-15 | 2012-09-26 | 记忆科技(深圳)有限公司 | 基于快照的文件处理方法及具有快照功能的固态硬盘 |
CN103365743A (zh) * | 2012-03-29 | 2013-10-23 | 国际商业机器公司 | 用于在计算环境中处理快照的方法和系统 |
CN103761159A (zh) * | 2014-01-23 | 2014-04-30 | 天津中科蓝鲸信息技术有限公司 | 增量快照处理的方法及系统 |
CN104375904A (zh) * | 2014-10-30 | 2015-02-25 | 浪潮电子信息产业股份有限公司 | 一种基于快照差异化数据传输的容灾备份方法 |
CN107506311A (zh) * | 2017-08-30 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种固态硬盘的ftl表的刷写方法及装置 |
CN109189546A (zh) * | 2018-07-11 | 2019-01-11 | 新华三云计算技术有限公司 | 一种虚拟机在线快照的制作方法及装置 |
CN110516479A (zh) * | 2019-08-16 | 2019-11-29 | 济南浪潮数据技术有限公司 | 一种数据写入方法及相关装置 |
CN113254265A (zh) * | 2021-05-10 | 2021-08-13 | 苏州库瀚信息科技有限公司 | 基于固态硬盘的快照实现方法、存储系统 |
CN114063890A (zh) * | 2020-08-05 | 2022-02-18 | 宇瞻科技股份有限公司 | 数据备份方法及存储装置 |
CN117311911A (zh) * | 2023-11-29 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种虚拟机快照方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477483A (zh) * | 2008-12-31 | 2009-07-08 | 成都市华为赛门铁克科技有限公司 | 一种基于非易失性存储介质的快照处理方法及装置 |
CN101819543A (zh) * | 2010-02-01 | 2010-09-01 | 成都市华为赛门铁克科技有限公司 | 快照数据处理方法和系统以及存储设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434681B1 (en) * | 1999-12-02 | 2002-08-13 | Emc Corporation | Snapshot copy facility for a data storage system permitting continued host read/write access |
US6594744B1 (en) * | 2000-12-11 | 2003-07-15 | Lsi Logic Corporation | Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository |
CN100504800C (zh) * | 2006-12-15 | 2009-06-24 | 英业达股份有限公司 | 磁盘快照的方法 |
US8041991B2 (en) * | 2008-11-18 | 2011-10-18 | Lsi Corporation | System and method for recovering solid state drive data |
CN102033793A (zh) * | 2010-12-14 | 2011-04-27 | 成都市华为赛门铁克科技有限公司 | 快照方法和固态硬盘 |
-
2010
- 2010-12-14 CN CN 201010601955 patent/CN102033793A/zh active Pending
-
2011
- 2011-11-01 WO PCT/CN2011/081609 patent/WO2012079432A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477483A (zh) * | 2008-12-31 | 2009-07-08 | 成都市华为赛门铁克科技有限公司 | 一种基于非易失性存储介质的快照处理方法及装置 |
CN101819543A (zh) * | 2010-02-01 | 2010-09-01 | 成都市华为赛门铁克科技有限公司 | 快照数据处理方法和系统以及存储设备 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012079432A1 (zh) * | 2010-12-14 | 2012-06-21 | 成都市华为赛门铁克科技有限公司 | 快照方法和固态硬盘 |
CN102591790A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 基于固态硬盘的数据存储快照实现方法及固态硬盘 |
CN102591790B (zh) * | 2011-12-30 | 2015-11-25 | 记忆科技(深圳)有限公司 | 基于固态硬盘的数据存储快照实现方法及固态硬盘 |
CN103365743A (zh) * | 2012-03-29 | 2013-10-23 | 国际商业机器公司 | 用于在计算环境中处理快照的方法和系统 |
CN102693173A (zh) * | 2012-05-15 | 2012-09-26 | 记忆科技(深圳)有限公司 | 基于快照的文件处理方法及具有快照功能的固态硬盘 |
CN103761159A (zh) * | 2014-01-23 | 2014-04-30 | 天津中科蓝鲸信息技术有限公司 | 增量快照处理的方法及系统 |
CN103761159B (zh) * | 2014-01-23 | 2017-05-24 | 天津中科蓝鲸信息技术有限公司 | 增量快照处理的方法及系统 |
CN104375904A (zh) * | 2014-10-30 | 2015-02-25 | 浪潮电子信息产业股份有限公司 | 一种基于快照差异化数据传输的容灾备份方法 |
CN107506311A (zh) * | 2017-08-30 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种固态硬盘的ftl表的刷写方法及装置 |
CN107506311B (zh) * | 2017-08-30 | 2020-10-20 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的ftl表的刷写方法及装置 |
CN109189546A (zh) * | 2018-07-11 | 2019-01-11 | 新华三云计算技术有限公司 | 一种虚拟机在线快照的制作方法及装置 |
CN110516479A (zh) * | 2019-08-16 | 2019-11-29 | 济南浪潮数据技术有限公司 | 一种数据写入方法及相关装置 |
CN110516479B (zh) * | 2019-08-16 | 2021-08-10 | 济南浪潮数据技术有限公司 | 一种数据写入方法及相关装置 |
CN114063890A (zh) * | 2020-08-05 | 2022-02-18 | 宇瞻科技股份有限公司 | 数据备份方法及存储装置 |
CN113254265A (zh) * | 2021-05-10 | 2021-08-13 | 苏州库瀚信息科技有限公司 | 基于固态硬盘的快照实现方法、存储系统 |
WO2022237916A1 (zh) * | 2021-05-10 | 2022-11-17 | 苏州库瀚信息科技有限公司 | 基于固态硬盘的快照实现方法、存储系统 |
CN113254265B (zh) * | 2021-05-10 | 2023-03-14 | 苏州库瀚信息科技有限公司 | 基于固态硬盘的快照实现方法、存储系统 |
CN117311911A (zh) * | 2023-11-29 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种虚拟机快照方法、装置、电子设备及存储介质 |
CN117311911B (zh) * | 2023-11-29 | 2024-02-23 | 苏州元脑智能科技有限公司 | 一种虚拟机快照方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2012079432A1 (zh) | 2012-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102033793A (zh) | 快照方法和固态硬盘 | |
CN103577121B (zh) | 一种基于Nand Flash的高可靠线性文件存取方法 | |
US11301379B2 (en) | Access request processing method and apparatus, and computer device | |
US7574560B2 (en) | Methods, systems, and computer program products for dynamic mapping of logical units in a redundant array of inexpensive disks (RAID) environment | |
KR101813786B1 (ko) | Ssd 상의 기록-시-복사를 위한 시스템 및 방법 | |
US9575844B2 (en) | Mass storage device and method of operating the same to back up data stored in volatile memory | |
US20140281307A1 (en) | Handling snapshot information for a storage device | |
US11422703B2 (en) | Data updating technology | |
KR102585883B1 (ko) | 메모리 시스템의 동작 방법 및 메모리 시스템 | |
CN103559138A (zh) | 固态硬盘及其空间管理方法 | |
CN101963891A (zh) | 数据存储处理方法与装置、固态硬盘系统与数据处理系统 | |
CN103544110A (zh) | 一种基于固态盘的块级连续数据保护方法 | |
CN101515276A (zh) | 一种文件数据写操作的方法、文件数据恢复方法及系统 | |
US11030092B2 (en) | Access request processing method and apparatus, and computer system | |
US8954692B2 (en) | File protecting method and system, and memory controller and memory storage apparatus thereof | |
CN103049220A (zh) | 存储控制方法、存储控制装置和固态存储系统 | |
CN101149693A (zh) | 计算机硬盘数据连续时间点存储与恢复的方法 | |
CN104778018A (zh) | 基于非对称混合型磁盘镜像的宽条带磁盘阵列及存储方法 | |
CN104850355A (zh) | 存储装置、存储系统及存储装置的地址信息处理方法 | |
US11093339B2 (en) | Storage utilizing a distributed cache chain and a checkpoint drive in response to a data drive corruption | |
CN104391802A (zh) | 一种精简池元数据节点刷新一致性保护方法 | |
CN111580757A (zh) | 数据写入方法、系统和固态硬盘 | |
CN105095352A (zh) | 应用于分布式系统的数据处理方法及装置 | |
CN103455444B (zh) | 文件保护方法与系统及其存储器控制器与存储器存储装置 | |
CN113254265A (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 | ||
C53 | Correction of patent for invention or patent application | ||
CB02 | Change of applicant information |
Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River Applicant after: Huawei Symantec Technologies Co., Ltd. Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River Applicant before: Chengdu Huawei Symantec Technologies Co., Ltd. |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD. TO: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD. |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110427 |