一种基于非易失性存储介质的快照处理方法及装置的制作方法

文档序号:6472007阅读:175来源:国知局
专利名称:一种基于非易失性存储介质的快照处理方法及装置的制作方法
技术领域
本发明涉及计算机存储技术领域,尤其涉及一种基于非易失性存储介质的 快照处理方法及装置。
背景技术
随着科学技术的飞速发展与计算机技术的普遍应用,互联网上信息的迅 速增加以及电子商务的发展,企业信息系统日益占据着企业竟争优势的主体地 位。数据的海量增长,使企业比以往任何时候都更加依赖于数据。因此,保护 数据安全,实现数据的存储备份在企业应用系统中显得非常重要。今天的网络 数据要求尽可能减少对数据访问性能的影响,而快照技术很好地解决了这个问 题。
所谓快照是指将磁盘中某个时间点的数据全部原封不动地保存下来,就如 照相那样,只不过这里"照"的是某时刻的数据而不是景色。快照实现的方法
很多,比如写前拷贝、拆镜像对等,但不管怎样都必须确保当用户的快照命 令下达后,磁盘中给定区域的数据(比如D盘)不能再因用户新数据的更新而 改变,而且用户新数据也不能在快照过程中丢失或发生错误。
基于传统的硬盘驱动器(Hard Disk Drive, HDD)的快照技术,其基本原 理是"写前拷贝",即当存储系统收到写请求后,先将该写请求对应位置上的原 有数据读出来,并拷贝到其他位置,然后再写入新的数据。可见基于传统的HDD 要实现快照技术,由于写操作前多了一个读操作的过程,必定会影响写数据的 效率。
目前,固态硬盘(solid state disk, SSD)已经问世,SSD由控制单元和存储 单元(FLASH芯片)组成,简单的说就是用固态电子存储芯片阵列而制成的非 易失性存储介质。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题基于 非易失性存储介质的装置,在实现快照技术时若采用传统的HDD的快照技术,
4会对写数据的效率造成影响。

发明内容
本发明实施例提供一种基于非易失性存储介质的快照处理方法及装置, 可以在实现快照时减少对存储介质中写数据的效率的影响。
本发明实施方式提供一种基于非易失性存储介质的快照处理方法,包

控制器给写请求命令做旧数据不能被立即回收的标记; 非易失性存储介质固件根据所述写请求命令将待写入的数据写入到新 数据块中;
所述非易失性存储介质固件根据所述控制器下发的读请求命令读取旧 数据块中的数据,根据所述写请求命令的标记判断所述旧数据块中的数据是 否不能被立即回收,如果不能则将所述旧数据块中的数据备份到快照巻。
本发明实施方式还提供一种基于非易失性存储介质的快照处理装置,包

控制器,用于给写请求命令做旧数据不能被立即回收的标记,下发所述 写请求命令和读请求命令给非易失性存储介质固件;
非易失性存储介质固件,用于根据所述控制器下发的写请求命令将待写 入的数据写入到新数据块中,根据所述控制器下发的读请求命令读取旧数据 块中的数据,根据所述写请求命令的标记判断所述旧数据块中的数据是否不 能被立即回收,如果不能则将所述旧数据块中的数据备份到快照巻。
本发明实施例将写请求命令做旧数据不能被立即回收的标记,在执行写 请求时将待写入的数据写入到新数据块中,由此不会对旧数据造成影响,同 时在执行读请求时根据不能被立即回收的标记将旧数据备份到快照巻,由此 实现了快照,执行写请求可以在实现快照的读请求前或者同时完成,可以保 证在完成对存储介质中指定区域数据的快照的同时不会因为要完成快照而影响往存储介质中写数据时的效率。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所 需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性 的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一基于非易失性存储介质的快照处理方法的流程示意
图2是本发明实施例二基于非易失性存储介质的快照处理方法的流程示意
图3是本发明实施例基于非易失性存储介质的快照处理装置的结构示意图; 图4是本发明实施例基于非易失性存储介质的快照处理装置的控制器的结 构示意图5是本发明实施例基于非易失性存储介质的快照处理装置的非易失性存 储介质固件的结构示意图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方 式仅仅用以解释本发明,并不用于限定本发明。
请参考图1,为本发明实施例一基于非易失性存储介质的快照处理方法 的流程示意图,其步骤具体包括
步骤S103:控制器接收到写请求命令后,若需要快照处理则将所述写 请求命令打上旧数据不能被立即回收的标记;具体的,存储控制器收到写请 求后,给所述写请求命令打上一个标签或者做其它标记,用以说明原有的旧 数据不能被立即回收,需要将原有的旧数据进行备份。步骤S104:非易失性存储介质固件根据所述写请求命令将待写入的数 据写入到新数据块中;
步骤S105:控制器下发读请求命令给非易失性存储介质固件,所述非 易失性存储介质固件根据读请求命令读取旧数据块中的数据。这里的"旧数 据块中的数据"与所述步骤S103中的"旧数据,,有所不同,范围比"旧数 据"更大,所述步骤S103中的"旧数据"专指需要进行快照处理的数据, 而所述"旧数据块中的数据"是指原来数据块中的数据,不一定需要进行快
照处i里。
需要说明的是,在步骤S105中读取旧数据块中的数据,而在步骤S104 中执行所述写请求命令是将代写入的数据写入新数据块中,所以两者并不冲 突,没有先后顺序之分。
步骤S106:判断所述旧数据块中的数据是否不能被立即回收;具体的, 根据步骤S103中给所述写请求命令所做的标记判断旧数据块中的数据是否 不能被立即回收,即是否需要进行快照处理,如果是则进行步骤S107。
步骤S107:将旧数据块中的数据备份到快照巻,以实现备份。
本发明实施例在收到写请求命令时,判断是否需要对旧数据进行备份, 如果需要则打上标记,根据标记将旧数据备份到快照巻,可以完成对存储介 质中指定区域数据的快照,并且由于执行写请求,写入数据时会用一个新的 数据块存储数据,可以在读取数据之前进行,也可以在读取数据之后进行, 所以不会因为要完成快照而影响往存储介质中写数据时的效率。
请参考图2,为本发明实施例二基于非易失性存储介质的快照处理方法 的流程示意图,其步骤具体包括
步骤S201:收到写请求命令;具体的,存储系统控制器接收到来自服 务器的写请求命令,即请求将数据写入非易失性存储介质(本发明实施例以 固态硬盘SSD为例予以说明),例如请求写入从0到99的长度为100的数 据。
7步骤S202:判断是否需要快照处理;具体的,存储系统控制器在收到 服务器的写请求的同时,判断是否也收到需要对原有的从0到99的数据进 行备份的请求,如果收到该请求则说明需要进行快照处理执行步骤S203, 否则执行步骤S204。
步骤S203:标记写请求旧数据不能被立即回收;具体的,如果步骤S202 判断出需要进行快照处理则给该写请求命令打上一个标签或者做其它标记, 用以说明原有的从0到99的数据不能被立即回收,需要将这些原有的从0 到99的旧数据进行备份。
步骤S204:下发写请求命令给SSD;具体的,存储系统控制器将所述 打上标签的写请求命令下发给SSD的固件。
步骤S205:完成写操作;具体的,在步骤S204 SSD固件收到下发的写 请求命令后,作出响应,存储系统也作出响应,完成写操作。所述固件,通 俗的理解就是"固化的软件",是固化在集成电路内部的程序代码,负责控 制和协调集成电路的功能,是担任着一个系统最基础、最底层工作的软件, 例如,Firmware就是BIOS的软件。需要说明的是,SSD由控制单元和存储 单元(FLASH芯片)组成,用固态电子存储芯片阵列而制成的硬盘,在读 写数据时以块为单位进行,由于Flash芯片的每个块的写寿命有限,为提高 Flash芯片的写寿命,在写入数据时采用了磨损均衡的算法,磨损均衡算法 的核心在每次写操作时将新数据写入到最少被使用的物理块中,来达到整个 SSD的均衡,也就是说,SSD固件收到一个写请求后,会用另外一个数据块 来保存写入的数据,而旧数据块另作处理,这里的另作处理是指,如果需要 快照处理则将旧数据块放入快照巻进行快照,如果不需要则放入回收池。
步骤S206:下发读请求命令给SSD;具体的,存储系统控制器的固件 将读取旧数据的请求命令下发给SSD固件。
步骤S207:读取旧数据块中的数据;具体的,在步骤S206 SSD固件收 到读取旧数据块中的数据的请求后,作出响应,完成读操作,这里的"旧数
8据块中的数据,,与所述步骤S203中的"旧数据',有所不同,范围比"旧数
据"更大,所述步骤S203中的"旧数据"专指需要进行快照处理的数据,
而所述"旧数据块中的数据,,是指原来数据块中的数据,不一定需要进行快
照处理。
需要说明的是,步骤S206和步骤S207可以在步骤S205之后进行,也 可以在它之前进行,因为在SSD的0-99位置写入数据和读取0-99位置的数 据不会发生冲突,原因在步骤S205有具体描述,在此不再赘述。
步骤S208:判断旧数据块中的数据是否不能被立即回收;具体的,根 据步骤S203给所述写请求命令打上的标记来判断0-99位置的旧数据是否 不能被立即回收,如果是则进行步骤S210,否则进行步骤S209。
步骤S209:将旧数据块中的数据放入回收池;具体的,将0-99位置的 数据块的数据放入回收池,然后删除这些数据。
步骤S210:将旧数据块中的数据备份到快照巻;具体的,将所述0-99 位置数据块的数据放入快照巻中,以实现备份。
本发明实施例在收到写请求命令时,判断是否需要对旧数据进行备份, 如果需要则打上标记,根据标记将旧数据备份到快照巻,可以完成对存储介 质中指定区域数据的快照,并且由于执行写请求,写入数据时会用一个新的 数据块存储数据,可以在读取数据之前进行,也可以在读取数据之后进行, 所以不会因为要完成快照而影响往存储介质中写数据时的效率。
请参考图3,为本发明实施例基于非易失性存储介质的快照处理装置的 结构示意图,所述基于非易失性存储介质的快照处理装置包括控制器31 和非易失性存储介质固件32,其中
所述控制器31,用于给写请求命令做旧数据不能被立即回收的标记, 下发所述写请求命令和读请求命令给非易失性存储介质固件32;
所述非易失性存储介质固件32,用于根据所述控制器下发的写请求命 令将待写入的数据写入到新数据块中,根据所述控制器下发的读请求命令读取旧数据块中的数据,根据所述写请求命令的标记判断所述旧数据块中的数 据是否不能被立即回收,如果不能则将所述旧数据块中的数据备份到快照 巻。
请参考图4,为本发明实施例基于非易失性存储介质的快照处理装置的
控制器的结构示意图,所述控制器31包括接收单元311、第二判断单元 312、标记单元313和命令下发单元314。
所述接收单元311 ,用于接收写请求来自服务器的写请求命令;
所述第二判断单元312,用于判断所述接收单元311接收到的写请求命 令是否需要对旧数据块中的数据进行快照处理。
所述标记单元313,用于如果所述第二判断单元312判断出需要进行快 照处理,则给所述写请求命令做旧数据不能被立即回收的标记,用以说明原 有的旧数据不能被立即回收,需要将原有的旧数据进行备份。
所述命令下发单元314,用于将所述写请求命令以及读取旧数据的读请 求下发给非易失性存储介质固件32。
请参考图5,为本发明实施例基于非易失性存储介质的快照处理装置的 非易失性存储介质固件的结构示意图,所述非易失性存储介质固件32包括 写数据单元321、读数据单元322、第一判断单元323、备份单元324和回 收单元325。
所述写数据单元321,用于根据所述命令下发单元314下发给非易失性 存储介质固件32的写请求命令将待写入的数据写入到新数据块中,需要说 明的是,所述非易失性存储介质在读写数据时以块为单位进行,由于Flash 芯片的每个块的写寿命有限,为提高Flash芯片的写寿命,在写入数据时采 用了磨损均衡的算法,磨损均衡算法的核心在每次写操作时将新数据写入到 最少被使用的物理块中,来达到整个非易失性存储介质的均衡,也就是说, 会用另外一个数据块来保存写入的数据。
需要说明的是,所述写数据单元321和所述读数据单元322是分别进行,不会发生冲突。
所述读数据单元322,用于根据所述命令下发单元314下发给非易失性 存储介质固件的读请求命令读取旧数据块中的数据。
所述第一判断单元323,用于根据所述标记单元313给所述写请求命令 作的标记判断所述旧数据块中的数据是否不能被立即回收;
所述备份单元324,用于如果所述第一判断单元323判断出所述旧数据 块中的数据不能被立即回收时,则将所述旧数据块中的数据放入快照巻中, 以实现备份。
所述回收单元325,用于如果所述第一判断单元323判断出所述旧数据
块中的数据可以#:立即回收时,则将所述旧数据块中的数据放入回收池中, 以将其删除。
本发明实施例根据标记单元313给写请求命令做旧数据不能被立即回 收的标记,由第一判断单元323判断是否需要进行快照处理,如果需要,备 份单元324则完成对存储介质中指定区域数据的快照,并且写数据单元321 在写入数据时会用 一个新的数据块存储数据,可以在读数据单元322读取数 据之前进行,也可以在其之后进行,所以不会因为要完成快照而影响往存储 介质中写数据时的效率。
可以通过程序来指令相关的硬件来完成,所述程序可以存储于一计算机可读取 存储介质中,所述存储介质为ROM/RAM、磁*莱、光盘等。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局 限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易 想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护 范围应该以权利要求的保护范围为准。
ii
权利要求
1、一种基于非易失性存储介质的快照处理方法,其特征在于,包括控制器给写请求命令做旧数据不能被立即回收的标记;非易失性存储介质固件根据所述写请求命令将待写入的数据写入到新数据块中;所述非易失性存储介质固件根据所述控制器下发的读请求命令读取旧数据块中的数据,根据所述写请求命令的标记判断所述旧数据块中的数据是否不能被立即回收,如果不能则将所述旧数据块中的数据备份到快照卷。
2、 如权利要求1所述的方法,其特征在于,还包括步骤所述控制器收到写请求命令,判断是否需要快照处理,如果需要则执行给写请求命令做旧数据不能被立即回收的标记的步骤。
3、 如权利要求1所述的方法,其特征在于,所述非易失性存储介质固件根据所述写请求命令将待写入的数据写入到的新数据块为使用次数最少的数据块。
4、 如权利要求1所述的方法,其特征在于还包括步骤如果所述非易失性存储介质固件判断所述旧数据块中的数据能被立即回收,则将所述旧数据块放入回收池。
5、 一种基于非易失性存储介质的快照处理装置,其特征在于,包括控制器,用于给写请求命令做旧数据不能被立即回收的标记,下发所述写请求命令和读请求命令给非易失性存储介质固件;非易失性存储介质固件,用于根据所述控制器下发的写请求命令将待写入的数据写入到新数据块中,根据所述控制器下发的读请求命令读取旧数据块中的数据,根据所述写请求命令的标记判断所述旧数据块中的数据是否不能被立即回收,如果不能则将所述旧数据块中的数据备份到快照巻。
6、 如权利要求5所述的装置,其特征在于所述控制器包括标记单元和命令下发单元;所述标记单元,用于给写请求命令做旧数据不能被立即回收的标记;所述命令下发单元,用于下发所述写请求命令和所述读请求命令给所述非易失性存储介质固件。
7、 如权利要求5所述的装置,其特征在于所述非易失性存储介质固件包括写数据单元、读数据单元、第一判断单元和备份单元;所述写数据单元,用于根据所述命令下发单元下发的写请求命令将待写入的数据写入到新数据块中;所述读数据单元,用于根据所述命令下发单元下发的读请求命令读取所述旧数据块中的数据;所述第一判断单元,用于根据所述写请求命令的标记判断所述旧数据块中的数据是否不能被立即回收;所述备份单元,用于如果所述第一判断单元判断出所述旧数据块中的数据不能被立即回收,则将所述旧数据块中的数据备份到快照巻。
8、 如权利要求6所述的装置,其特征在于,所述控制器还包括接收单元,用于接收所述写请求命令。
9、 如权利要求8所述的装置,其特征在于,所述控制器还包括第二判断单元,用于判断所述接收单元接收到的写请求命令是否需要快照处理,如果判断需要快照处理则启动所述标记单元给所述写请求命令做旧数据不能被立即回收的标记。
10、 如权利要求5或7所述的装置,其特征在于,所述新数据块包括使用次数最少的数据块。
11、 如权利要求7所述的装置,其特征在于所述非易失性存储介质固件还包括回收单元,用于如果所述第一判断单元判断出所述旧数据块中的数据能够被立即回收则将所述旧数据块放入回收池。
全文摘要
本发明实施例提供一种基于非易失性存储介质的快照处理方法,包括控制器给写请求命令做旧数据不能被立即回收的标记;非易失性存储介质固件根据所述写请求命令将待写入的数据写入到新数据块中;所述非易失性存储介质固件根据所述控制器下发的读请求命令读取旧数据块中的数据,根据所述写请求命令的标记判断所述旧数据块中的数据是否不能被立即回收,如果不能则将所述旧数据块中的数据备份到快照卷。本发明实施方式还提供一种基于非易失性存储介质的快照处理装置。本发明实施例可以完成对存储介质中指定区域数据的快照,并且不会因为要完成快照而影响往存储介质中写数据时的效率。
文档编号G06F11/14GK101477483SQ20081024221
公开日2009年7月8日 申请日期2008年12月31日 优先权日2008年12月31日
发明者巍 张 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1