CN106951375A - 在存储***中删除快照卷的方法及装置 - Google Patents

在存储***中删除快照卷的方法及装置 Download PDF

Info

Publication number
CN106951375A
CN106951375A CN201610048363.1A CN201610048363A CN106951375A CN 106951375 A CN106951375 A CN 106951375A CN 201610048363 A CN201610048363 A CN 201610048363A CN 106951375 A CN106951375 A CN 106951375A
Authority
CN
China
Prior art keywords
volume
mapping set
snapped
snapped volume
mapping
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.)
Granted
Application number
CN201610048363.1A
Other languages
English (en)
Other versions
CN106951375B (zh
Inventor
郭高峰
吴忠杰
王田
欧阳涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Memblaze Technology Co Ltd
Original Assignee
Beijing Memblaze Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Memblaze Technology Co Ltd filed Critical Beijing Memblaze Technology Co Ltd
Publication of CN106951375A publication Critical patent/CN106951375A/zh
Application granted granted Critical
Publication of CN106951375B publication Critical patent/CN106951375B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种在存储***中删除快照卷的装置,所述存储***包括记录快照卷的逻辑地址与存储位置的映射关系的映射集合和记录上邻卷的逻辑地址与存储位置的映射关系的映射集合,所述装置包括:用于接收指定快照卷的删除命令的模块;用于将指定快照卷的映射集合中的元素,合并到所述上邻卷的映射集合中的模块;用于反馈删除所述指定快照卷的操作完成的模块;其中,所述上邻卷创建时间晚于且紧邻所述指定快照卷的创建时间。本发明不是每个单独去修改映射元数据,而是采用后台迁移数据,并且聚合新生成的映射数据成一个大块的方式,以避免固态硬盘的写放大问题。

Description

在存储***中删除快照卷的方法及装置
技术领域
本发明涉及Flash存储***中的快照技术领域,尤其涉及一种在存储***中删除快照卷的方法及装置。
背景技术
快照实现技术包括写时拷贝(COW)和写时重定向(ROW)。如图1所示,写时拷贝(COW)情况为:往源卷写新数据A’时,首先将旧数据A从源卷读出,其次将A写到快照卷对应位置,最后将A’写到源卷中,这样最终新数据A’在源卷,旧数据A在快照卷,用户从源卷读数据时,读出新数据A’。写时重定向(ROW)情况为:往源卷写新数据A’时,直接将A’写到快照卷对应位置,同时为了维护源卷的数据一致性,需要修改源卷的映射信息,以便源卷知道新数据A’在快照卷,这样最终新数据A’在快照卷,旧数据A在源卷,用户从源卷读数据时,依然读出新数据A’。
从而得出结论:写时拷贝(COW)技术每个写请求会带来一个读和两个写操作,而写时重定向(ROW)技术每个写请求只产生一个写操作。写时拷贝(COW)技术,源卷上的数据在物理分布上是连续的,而写时重定向(ROW)技术,每个写操作在物理分布上是离散的;写时拷贝(COW)技术,源卷上都是新数据,而写时重定向(ROW)技术源卷和快照卷一起维护新数据。这样删除快照时,为维护源卷的数据一致性,对于写时重定向(ROW)技术,需要进行数据从快照卷到源卷的迁移,而对于写时拷贝(COW)技术,不需要迁移数据。
传统机械硬盘存储***适用的快照技术:因为传统机械硬盘存储***采用机械寻道的方式,数据分布越连续,其读性能越高。根据上面的总结,可知写时拷贝(COW)算法可以在物理分布上提供较好的连续性,因此传统机械硬盘存储***中更适用写时拷贝(COW)算法。
闪存(Flash)等存储介质由于可以较好地支持随机读写,因此更适用写时重定向(ROW)算法。
发明内容
Flash存储***采用写时重定向(ROW)算法,一方面可以比较好地支持写性能(与COW相比,操作减少,没有额外的读写);另一方面由于flash介质的特性,在物理随机分布下有较好的读性能。但是ROW算法需要在删除快照时,将快照卷维护的新数据迁移到源卷。
现有技术一般采用修改源卷的映射信息方法,但是这种方法会带来新的问题。一方面每个映射信息项较小(几个字节~几十字节),另一方面固态硬盘介质本身存在着写入放大的问题。这两者结合导致删除快照卷时固态硬盘上大量的写入放大问题。
卷的映射信息用于记录该卷所属的逻辑地址与存储位置的对应关系。映射信息还用于记录源卷以及一个或多个快照之间的关联关系。
根据本发明的一个方面,提供了一种在存储***中删除快照卷的方法,所述存储***包括记录快照卷的逻辑地址与存储位置的映射关系的映射集合和记录上邻卷的逻辑地址与存储位置的映射关系的映射集合,所述方法包括:接收指定快照卷的删除命令;将指定快照卷的映射集合中的元素,合并到所述上邻卷的映射集合中;反馈删除所述指定快照卷的操作完成;其中,所述上邻卷创建时间晚于且紧邻所述指定快照卷的创建时间。
根据本发明的一个实施方式,其中将指定快照卷的映射集合中的元素,合并到所述上邻卷的映射集合中,包括:对于指定快照卷的映射集合中的每一元素,判定其逻辑地址是否在上邻卷的映射集合中,如果所述指定快照卷的映射集合中的元素的逻辑地址不存在于所述上邻卷的映射集合中,则将所述指定快照卷的映射集合中的元素添加到所述上邻卷的映射集合中。
根据本发明的一个实施方式,进一步包括:在反馈删除所述指定快照卷的操作完成之前,在NVDIMM中记录代表删除指定快照卷的日志。
根据本发明的一个实施方式,所述存储***包括数据块映射集合,数据块映射集合记录存储位置的数据块是否有效的信息,所述方法进一步包括:若所述指定快照卷的映射集合中的第一元素的逻辑地址存在于所述上邻卷的映射集合中,则在数据块映射集合中标记第一元素的存储位置的数据块无效。
根据本发明的一个实施方式,进一步包括:删除所述指定快照卷的映射集合。
根据本发明的一个实施方式,其中,所述存储***中的存储介质为非易失性存储器。
根据本发明的一个实施方式,进一步包括:依据所述数据块映射集合执行垃圾回收操作。
根据本发明的一个实施方式,其中,依据数据块映射集合执行垃圾回收操作包括:取得数据块映射集合中标记为有效的第一数据块;判定与第一数据块相对应的卷标识数据(即卷标识符)所指示的快照卷是否存在,其中,若与所述第一数据块相对应的卷标识数据所指示的快照卷不存在,用所述上邻卷的卷标识数据更新与第一数据块相对应的卷标识数据,并将并将更新后的与第一数据块相对应的卷标识数据写入NVDIMM;若与所述第一数据块相对应的卷标识数据所指示的快照卷存在,将与第一数据块相对应的卷标识数据写入NVDIMM。
根据本发明的一个实施方式,进一步包括,将写入NVDIMM的数据聚合并写入非易失性存储器。
根据本发明的一个实施方式,进一步包括,更新与第一数据块相关联的映射集合的元素的存储位置。
根据本发明的一个实施方式,其中,所述存储***进一步包括:记录下邻卷的逻辑地址与存储位置的映射关系的映射集合,所述方法进一步包括,使上邻卷的映射集合的访问指针指向下邻卷的映射集合,其中,所述下邻卷创建时间早于且紧邻所述指定快照卷的创建时间。
根据本发明的第二方面,还提供了一种在存储***中删除快照卷的装置,所述存储***包括记录快照卷的逻辑地址与存储位置的映射关系的映射集合和记录上邻卷的逻辑地址与存储位置的映射关系的映射集合,所述装置包括:用于接收指定快照卷的删除命令的模块;用于将指定快照卷的映射集合中的元素,合并到所述上邻卷的映射集合中的模块;用于反馈删除所述指定快照卷的操作完成的模块;其中,所述上邻卷创建时间晚于且紧邻所述指定快照卷的创建时间。
根据本发明的第三方面,还提供了一种在存储***中创建快照卷的方法,所述存储***包括记录源卷的逻辑地址与存储位置的映射关系的第一映射集合,所述方法包括:接收创建第一快照卷的指示;将所述第一映射集合标记为记录第一快照卷的逻辑地址与存储位置的映射关系的映射集合;创建空的第二映射集合,作为记录源卷的逻辑地址空间与存储位置的映射关系的第二映射集合;反馈创建第一快照卷的操作完成。
根据本发明的第三方面的一个实施方式,还包括:响应于接收到更新第一逻辑地址的第一数据的请求,将第一数据记录到第一存储位置,以及在所述第二映射集合中记录第一逻辑地址与第一次存储位置的映射关系。
根据本发明的第三方面的一个实施方式,还包括:响应于访问第一逻辑地址的请求,若在所述第二映射集合中找到具有所述第一逻辑地址的第一元素,依据第一元素记录的存储位置取得数据;以及若在所述第二映射集合中未找到具有所述第一逻辑地址的元素,则在所述第一映射集合中查找具有所述第一逻辑地址的第二元素,并依据所述第二元素记录的存储位置取得数据。
根据本发明的第四方面,提供一种包含计算机程序代码的计算机程序,当被载入计算机***并在计算机***上执行时,所述计算机程序代码使所述计算机***执行根据本发明一方面提供的在存储***中删除快照卷的方法或者根据本发明第三方面提供的在存储***中创建快照卷的方法。
根据本发明的第五方面,提供一种包括程序代码的程序,当被载入存储设备并在存储设备上执行时,所述计程序代码使所述存储设备执行根据本发明一方面提供的在存储***中删除快照卷的方法或者根据本发明第三方面提供的在存储***中创建快照卷的方法。
本发明删除快照卷时,不是每个单独去修改映射元数据,而是采用后台迁移数据,并且聚合新生成的映射数据成一个大块的方式,以避免固态硬盘的写放大问题。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。其中在附图中,参考数字之后的字母标记指示多个相同的部件,当泛指这些部件时,将省略其最后的字母标记。在附图中:
图1为现有技术中写时拷贝(COW)技术和写时重定向(ROW)技术的示意图;
图2示出了根据本发明的一个实施方式的快照链的结构示意图;
图3示出了根据本发明的一个实施方式的映射集合的结构示意图;
图4A示出了根据本发明的一个实施方式的在存储***中创建快照卷的示意图;
图4B示出了根据本发明的一个实施方式的存储***中创建快照卷的方法的流程图;
图5A示出了根据本发明的一个实施方式的删除快照卷的示意图;
图5B示出了根据本发明的一个实施方式的删除快照卷的方法的流程图;
图6示出了根据本发明的另一个实施方式的在存储***中删除快照卷的方法的流程图;
图7A出了根据本发明一个实施方式的非易失性存储器(NVM)中的数据组织的示意图;
图7B示出了根据本发明一个实施方式的非易失性存储器中的数据组织的示意图;
图8示出了根据本发明的另一个方面的上电过程中恢复快照链及其映射集合的方法的流程图;
图9A示出了据本发明一个实施方式的执行垃圾回收操作的示意图;
图9B示出了根据本发明一个实施方式的垃圾回收的方法的流程图;
图10示出了根据本发明的另一个方面的在存储***中删除快照卷的装置的结构示意图。
在附图中,使用相同或类似的标号来指代相同或类似的元素。
具体实施方式
下面结合附图和具体的实施方式对本发明作进一步的描述。
图2示出了根据本发明的一个实施方式的快照链的结构示意图。
如图2所示,存储***中包括快照链。快照链包括源卷210、快照卷Tn 220、快照卷Tn-1230……快照卷T1240与快照卷T0250。就时间顺序而言,快照卷Tn新于快照卷Tn-1,快照卷T0数据最旧。即,快照卷T0最早被创建,而在图2的多个快照卷中,快照卷Tn最晚被创建。在图2中箭头表示数据访问的链式顺序。在根据本发明的实施例中,快照链上包括多个快照卷,对快照卷的数量没有限制,n可以为正整数。
从源卷210上读某个数据时,若源卷210的映射集合中没有记录要访问的逻辑地址,则沿图2的箭头所示的顺序,访问快照卷Tn,尝试在快照卷Tn的映射集合中查找要访问的逻辑地址。若快照卷Tn依然没有要访问的逻辑地址,则访问Tn-1。按此方式依次访问图2的快照链上的各个节点。若最终若T0上也没有该数据,则告诉用户或请求方该数据不存在。在一个例子中,为每个卷提供映射集合访问指针,用以指示图2的箭头所指示的访问顺序。
图3示出了根据本发明的一个实施方式的映射集合的结构示意图。
如图3所示,在根据本发明的实施例中,为图2中的每个卷(源卷/快照卷)提供映射集合。映射集合的元素中提供该卷的逻辑地址与存储位置的对应关系。一般情况下,映射集合被保持在内存中,使得在访问映射集合时能够得到快速响应。映射集合的部分或全部也可存在于非易失性存储器上,从而减少对***内存的占用或者降低因掉电等因素导致映射信息丢失的风险。
如图3所示,根据本发明实施例的映射集合包括映射信息元素310、映射信息元素320、映射信息元素330与映射信息元素340。在映射集合中映射信息元素可以有多个。在图3中,映射信息元素310提供逻辑地址与存储位置,从而指示映射信息元素310的逻辑地址与存储位置的对应关系,例如在该卷中,逻辑地址L处的数据存储在存储位置P。在一个例子中,映射信息元素中记录有逻辑地址。在另一个例子中,逻辑地址可以由内存地址隐含提供,而不占据映射信息元素的空间。
映射集合中的存储位置可以是物理地址,也可以是虚拟化的存储资源的地址。映射集合可利用多种数据结构维护卷映射信息,例如数组、链表、树、哈希表等。
图4A示出了根据本发明的一个实施方式的在存储***中创建快照卷的结构示意图,图4B示出了根据本发明的一个实施方式的存储***中创建快照卷的方法的流程图。
参看图4A,创建快照之前,初始情况下,快照链400中包括卷1节点420与空(NULL)节点430。卷1节点420具有映射集合,用于记录源卷的逻辑地址与存储位置的映射关系。卷1节点420的映射集合访问指针指向空(NULL)节点430。源卷指针指向卷1节点420,以指示卷1为源卷。在更新数据时,修改卷1节点420(基于卷1是源卷)的映射集合,在映射集合中记录所更新数据的逻辑地址与存储位置的对应关系。
如图4A和图4B所示,在创建一个新快照卷时,目标是保留源卷的当前状态。源卷的当前映射集合记录在卷1节点420中。在步骤S450,创建新卷(卷2)节点440,该卷2节点440具有空的映射集合,用以作为新的源卷承载快照创建后对卷的更新。在步骤S452,将卷2节点440的映射集合访问指针指向快照卷1节点420,从而在卷2的映射集合中找不到要访问的逻辑地址时,依照映射集合访问指针来访问快照卷1。图5A中的快照链402示出了此时的快照链结构。进一步地,还将卷1节点420的映射集合设置为只读,从而避免在快照创建过程中修改所创建的快照。而卷1节点420指示了所创建的存储***的快照。
在步骤S454,将源卷的指针指向卷2节点440,用以表明卷2成为当前的源卷,从而在源卷的映射集合中找不到要访问的逻辑地址时,依照映射集合访问指针来访问快照卷1节点420。图5A中的快照链406示出了此时的快照链结构。
在步骤S456,作为快照创建的结果,返回快照卷1节点420作为快照卷的指示。卷1节点420成为所创建的存储***的快照。此后,在更新数据时,修改卷2节点440(基于卷2是源卷)的映射集合,在卷2节点440的映射集合中记录所更新数据的逻辑地址与存储位置的对应关系。
在一个例子中,希望访问源卷的数据。基于源卷指针,在卷2节点440的映射集合中查找逻辑地址与存储位置的对应关系,从而在存储位置处访问数据。若卷2节点440的映射集合中不存在所查找的逻辑地址,依据卷2节点440的映射集合访问指针,在卷1节点420的映射集合中查找逻辑地址与存储位置的对应关系,从而在存储位置处访问数据。
在一个例子中,希望访问快照卷1的数据。在卷1节点420的映射集合中查找逻辑地址与存储位置的对应关系,从而在存储位置处访问数据。若卷1节点420的映射集合中不存在所查找的逻辑地址,依据卷1节点420的映射集合访问指针,发现卷1节点420的映射集合访问指针指向空(NULL)节点430,从而确定所访问的数据在快照卷1中不存在。
在依然另一个实施例中,快照链的结构如图4A的406所示。在此情况下,希望创建快照。类似于在图4B中描述的方法,创建新卷(例如,快照卷3)节点以及空的映射集合;将新卷的映射集合访问指针指向卷2节点440;将源卷的指针指向新卷节点;并将卷2节点440作为快照创建的结果。
在根据本发明的另一个实施例中,在创建快照卷1后,还在NVDIMM中记录日志,在日志中指示对快照卷1的创建。在NVDIMM中记录的日志会被刷写到NVM中。NVDIMM是用于计算设备的存储器,其兼具类似DRAM(Dynamic Random Access Memory)的高速数据存取能力与非易失存储器的数据保持能力,即使发生意外掉电,NVDIMM中存储的数据依然不会丢失。在另外一个例子中,在创建快照卷1后,还在NVM中记录日志,而无需将日志写入NVDIMM。
下面通过具体实施例详细描述在存储***中删除快照卷的方法。
图5A示出了根据本发明的一个实施方式的删除快照卷的示意图。图5B示出了根据本发明的一个实施方式的删除快照卷的方法的流程图。
如图5A所示,快照链500包括源卷510、T1时刻的快照卷T1520、T0时刻的快照卷T0522与空(NULL)530。源卷510的映射集合访问指针指向快照卷T1520。快照卷T1520的映射集合访问指针指向快照卷T0522,快照卷T0522的映射集合访问指针指向空(NULL)节点530。
作为举例,从快照链500中删除快照卷T1520。在图5B中示出了从快照链中删除快照卷的方法流程图。
步骤S510:接收删除的指定快照卷(即快照卷T1)的命令。
步骤S520:为删除快照卷T1,修改源卷510的映射集合访问指针,使之指向快照卷T0522。
在步骤S520中,快照卷T0522是与待删除的快照卷T1520在时间上相紧邻,且创建时间早于待删除的快照卷T1的快照。将快照卷T0称为快照卷T1的下邻卷。源卷510是与待删除的快照卷T1520在时间上相紧邻,且创建时间晚于待删除的快照卷T1520的卷。将源卷510称为快照卷T1的上邻卷。因而,在步骤S520中,将待删除快照卷T1的上邻卷的映射集合访问指针修改为指向待删除快照卷T1的下邻卷。
需要说明的是,若在快照链中不存在创建时间早于待删除快照卷T1的快照,则修改源卷映射集合访问指针,使之指向空节点(NULL)。以及在图5A、图5B的例子中,源卷是与待删除快照卷T1在时间上相紧邻的卷,且在源卷与快照卷T1之间不存在其他快照。在此情况下,在删除快照卷T1时,修改源卷510的映射集合访问指针,使之指向快照卷T0。从而在快照链502中,使得源卷510的映射集合访问指针指向快照卷T0522。
步骤S530:将快照卷T1520的映射集合合并到源卷510的映射集合。
在快照链500中,源卷510是快照卷T1520的上邻卷。因而在删除快照卷T1520时,将快照卷T1520的映射集合合并到源卷510的映射集合。
在步骤S530中,为合并快照卷T1520的映射集合与源卷510的映射集合,对于快照卷T1520中的任意的不存在于源卷510的映射集合中的元素,将快照卷T1520中的该元素添加到源卷510的映射集合中。
在合并快照卷T1520与源卷510的映射集合的过程中,快照卷T1520的映射集合中的元素在源卷510的映射集合中存在,是指对于快照卷T1520的映射集合中的该元素的逻辑地址,在源卷510的映射集合中存在记录有该逻辑地址的元素。而对于快照卷T1520的映射集合中的每一元素,若一元素在源卷510的映射集合中存在,则不将该元素***源卷510的映射集合。
步骤S540:反馈删除快照卷T1520的操作完成。
进一步地,还销毁快照卷T1520及其在内存中的映射集合,得到如图5A中所示的快照链502。在快照链502中,源卷510的映射集合访问指针指向快照卷T0522,而快照卷T0522的卷映射信息访问指针指向空节点(NULL)530。至此,对快照卷T1520的删除操作完成。
在另一个例子中,若在快照卷T1520创建后,还创建了快照卷T3,快照卷T3与快照卷T1在时间上紧邻且在后。将快照卷T3称为快照卷T1的上邻卷。那么在删除快照卷T1520时,修改与待删除快照卷T1520在时间上紧邻且创建时间晚于待删除快照卷T1520的快照卷T3的映射集合访问指针,使之指向与待删除快照卷T1520在时间上紧邻且创建时间早于待删除快照卷T1520的快照卷T0522。在删除快照卷T1520时,将快照卷T1520的映射集合合并到快照卷T3的映射集合。
参看图5A的快照链502,在删除快照卷T1520后,若访问源卷510的数据,则首先查找源卷510的映射集合,查找逻辑地址与存储位置的对应关系,从而在存储位置处访问数据。若源卷510的映射集合中不存在所查找的逻辑地址,依据源卷510的映射集合访问指针,快照卷T0522的映射集合中查找逻辑地址与存储位置的对应关系,从而在存储位置处访问数据。
在一个例子中,希望访问快照卷T0522的数据。在快照卷T0522的映射集合中查找逻辑地址与存储位置的对应关系,从而在存储位置处访问数据。若快照卷T0522的映射集合中不存在所查找的逻辑地址,依据快照卷T0522的映射集合访问指针,发现快照卷T0522的映射集合访问指针指向空(NULL)节点530,从而确定所访问的数据在快照卷T0522中不存在。
图6示出了根据本发明另一个实施方式的在存储***中删除快照卷的方法的流程图。
作为举例,在图6中示出了从快照链500(参看图5A)中删除快照卷T1520(参看图5A)的方法流程图。
步骤S610:接收删除的指定快照卷(即快照卷T1)的命令。
步骤S620:对于快照卷T1520的映射集合中的每一元素,判定快照卷T1520的映射集合的元素的逻辑地址是否存在于上邻卷的映射集合中。参看图5A的例子,快照卷T1520的上邻卷为源卷510。
步骤S630:对于快照卷T1520中的任意的不存在于上邻卷的映射集合中的元素,将快照卷T1520中的该元素添加到上邻卷的映射集合中。
参看图5A的例子,快照卷T1520的上邻卷为源卷510。在合并快照卷T1520与源卷510的映射集合的过程中,快照卷T1520的映射集合中的元素在源卷510的映射集合中存在,是指对于快照卷T1520的映射集合中的该元素的逻辑地址,在源卷510的映射集合中存在记录有该逻辑地址的元素。而对于快照卷T1520的映射集合中的每一元素,若一元素在源卷510的映射集合中存在,则不将该元素***源卷510的映射集合。
在进一步的例子中,存储***中还提供数据块映射集合,应用记录存储位置的数据块是否有效的信息。对于快照卷T1520的映射集合中的每一元素,若一元素的逻辑地址在源卷510的映射集合中存在,则在数据块映射集合中标记该元素的存储位置的数据块无效。
步骤S632:为删除快照卷T1,修改上邻卷(源卷510)的映射集合访问指针,使之指向快照卷T0522的映射集合。
在步骤S632中,快照卷T0是与待删除的快照卷T1在时间上相紧邻,且创建时间早于待删除的快照卷T1的快照。需要说明的是,若在快照链中不存在创建时间早于待删除快照卷T1的快照,则修改源卷映射集合访问指针,使之指向空节点(NULL)。以及在图5A、图5B的例子中,源卷是创建时间晚于且紧邻待删除快照卷T1的卷,在源卷与快照卷T1之间不存在其他快照。在此情况下,在删除快照卷T1时,修改源卷510的映射集合访问指针,使之指向快照卷T0。从而在快照链502中,使得源卷510的映射集合访问指针指向快照卷T0522。
步骤S634,在NVDIMM记录代表删除快照卷T1520的日志。
在删除快照卷T1520后,还在NVDIMM中记录日志,在日志中指示对快照卷T1520的删除。在NVDIMM中记录的日志会被刷写到非易失性存储器(NVM)中。可选的,在删除快照卷T1520后,还在非易失性存储器(NVM)中记录日志,而无需将日志写入NVDIMM。
在NVDIMM或NVM中记录日志,以应对在快照链500修改为快照链502(参看图5A)后,物理存储介质中的数据与快照卷的映射关系被更新前,存储***宕机(如掉电)等情况。记录日志所引入的开销较小,从而存储***在删除快照时能体现出较短的响应时间。
在进一步的例子中,指示存储***的垃圾回收模块,对快照卷T1520所对应的物理存储介质中的数据进行迁移。物理存储介质中记录有数据以及数据所属的卷信息。在下文中结合图xx将对此详细描述。当删除了快照卷时,需要修改物理介质中记录的数据所属的卷信息。在根据本发明的实施例的快照卷删除过程中,无需对物理存储介质中记录的数据所属的卷信息进行修改,即可反馈快照删除操作完成。为此目的,在完成被删除的快照卷与源卷的映射集合的合并后,通知垃圾回收模块,由垃圾回收模块在垃圾回收过程中,一并处理对数据块的卷信息的修改。在垃圾回收中进行数据迁移的过程将在后文中详细描述。
步骤S640:反馈删除快照卷T1520的操作完成。
图7A示出了根据本发明一个实施方式的非易失性存储器(NVM)中的数据组织的示意图。
非易失性存储器例如可以是SSD、闪存、NVDIMM等。在NVM中,以存储块或页作为基本存储单元。基本存储单元可以是NVM的物理页、物理块或超级块。可选的,数据块包括NVM的多个物理页、多个物理块或多个超级块。在图7A中,示出了数据块710、数据块720、数据块730与数据块740。NVM的每个数据块包括:数据、该数据的逻辑地址、该数据所属于的卷的卷标识符。在图7A中示出的逻辑地址与图3中示出的逻辑地址是相同的逻辑地址,因而从图7A所示的NVM中能够重建如图3所示的映射集合。卷标识符用于唯一标识该数据块所属于的卷(源卷或快照卷),例如以序号或通用唯一识别码UUID作为卷标识符。
返回参看图5A、图5B,在步骤S530中,在合并快照卷T1520与源卷510的映射集合的过程中,对于快照卷T1520的映射集合中的每一元素,若一元素在源卷510的映射集合中不存在,则将该元素***源卷510的映射集合。在此情况下,该元素所指示的存储位置的数据所属的卷改变。在图5A的例子中,该元素所指示的存储位置的数据所属的卷从原属于快照卷T1520,变更为属于源卷510。因而还可以修改该元素所指示的存储位置的数据块中的卷标识符(参看图7A)。在进一步的实施例中,将数据块的修改记录在NVDIMM中,以及在NVDIMM中聚合了多个对NVM的修改操作后,再写入到NVM中。
在根据本发明的另一个实施例中,数据块中还包括版本信息。可使用用于记录该数据块被生成的时间的时间戳,用于记录该数据块被生成的顺序的顺序号等作为版本信息。一般将数据块中除数据部分之外的内容(诸如逻辑地址、卷标识符等信息)称为元数据。
在依然另一个实施例中,数据与元数据相分离地存储。例如,在NVM中,将数据存储在一个基本存储单元,而将该数据的元数据存储在另一个基本存储单元。元数据的例子包括逻辑地址、卷标识符、版本信息标识符等。
图7B示出了根据本发明一个实施方式的非易失性存储器中的数据组织的示意图。
图7B展示了根据本发明又一实施例的NVM上的存储资源组织方式。在根据本发明的实施例中,将存储设备提供的存储资源组织为一个或多个存储对象。在一个例子中,将SSD的存储资源(例如,块)池化,并组成一个或多个存储对象。存储对象又被称为容器。将数据写入存储设备或从存储设备中读出数据时,以存储对象作为访问的基本单元。存储对象的数量由存储***的容量决定。
参看图7B,盘0、盘1、盘2与盘3是诸如SSD的存储设备。在其他例子中,盘0、盘1、盘2与盘3也可以是机械硬盘。作为举例,盘0作为存储设备提供地址空间。将盘0的地址空间分为多个大块(chunk),例如图7B中的大块01410、大块11412……大块n。大块可包括多个块。类似地,将盘1、盘2与盘3的每个的地址空间分为多个大块,例如大块1420与大块1422由盘3提供。
在图7B的例子中,由盘0、盘1、盘2与盘3提供的多个大块形成了存储资源池。从存储资源池中将若干个大块组织为存储对象(在图7B中展示为容器)。例如,容器0包括来自盘0的大块0(大块0-1)、来自盘1的大块1(大块1-1)与来自盘2的大块0(大块2-0),容器1包括来自盘0的大块2(大块0-2)与来自盘1的大块2(大块1-2)。根据本发明实施例的存储***提供多个容器,每个容器可包括相同或不同数量的大块。在容器内,可以提供诸如RAID的数据保护机制。例如,在容器0内,大块0-0与大块1-1用于存储用户数据,而大块2-0用于存储与大块0-0、大块1-1相对应的校验数据。容器0内,校验数据的存储位置不限于大块2-0,也可以存储在大块0-0或大块1-1。作为另一个例子,容器1的大块0-2与大块1-2均用于存储用户数据。依然作为一个例子,构成容器0的多个大块(大块0-0、大块1-1与大块2-0)来自不同的盘,从而对容器0的访问将分布于盘0、盘1与盘2。以此方式,增加了对盘的访问的并行性,使存储性能得以提升。所属领域技术人员也将意识到,存储***中的盘可具有不同的容量,盘可能被更换,从而容器内的大块可来自相同的盘。
在根据本发明的一个实施例中,映射集合(参看图3)的逻辑地址用于索引容器中的大块和/或大块内的偏移值。在容器中,还与用户数据相对应地存储元数据。元数据包括相对应数据属于的卷的卷标识符、版本信息和/或逻辑地址。由于大块已经是逻辑层存储对象,也可以在大块的数据或元数据中不存储逻辑地址。
返回参看图5A和图5B,在步骤530,在合并快照卷T1520与源卷510的映射集合的过程中,对于快照卷T1520的映射集合中的每一元素,若一元素在源卷510的映射集合中不存在,则将该元素***源卷510的映射集合。在此情况下,该元素所指示的存储位置的数据所属的卷改变。在图5A的例子中,该元素所指示的存储位置的数据所属的卷从原属于快照卷T1520,变更为属于源卷510。因而在图7B的例子中,还修改该元素所指示的存储位置的大块相对应的元数据中的卷标识符。在进一步的实施例中,将对图7B的容器中的元数据的修改记录在NVDIMM中,以及在NVDIMM中聚合了多个对元数据的更新操作后,再写入到NVM中。
在图7B的例子中,展示了以大块构成容器的例子。可由其他方式来构成大块。例如在另一个例子中,不提供大块,容器对应于盘的一段存储空间,例如一段连续的逻辑地址空间。
在根据本发明的实施例中,为提升存储***性能,向容器写入数据时,采用追加写或顺序写方式。换句话说,容器只能从头写到尾,而容器的任意位置不能被覆盖写入。
在存储***重新上电后,需要重新构建快照链及其映射集合。图8为根据本发明实施例的存储***上电过程的流程图。在步骤S810,从NVDIMM和NVM中读出卷操作日志,将NVDIMM中的卷操作日志与NVM中的卷操作日志合并,从而在内存中构建出存储***中应当存在的一个或多个卷,并且构建出诸如图2所示的快照链,以展现源卷与一个或多个快照卷之间的关系。在卷操作日志中,记录了卷/快照的创建与删除以及创建与删除操作的先后顺序。在另一个例子中,日志仅存在于NVM或NVDIMM中,在存储***重新上电时,仅从NVM或NVDIMM中读取卷操作日志。
在步骤S820,从NVM、容器和/或NVDIMM中读取数据与元数据,从中获得数据与元数据的对应关系,用于重建如图3所示的映射集合,其中每个数据与元数据对作为待重建的映射集合的一个元素。元数据包括逻辑地址、卷标识符和/或时间戳。若从元数据中取得的卷标识符存在于步骤S810中重建的一个或多个卷之一中,则将该数据与元数据对添加到映射集合中。若从元数据中取得的卷标识符不存在于步骤S810中重建的多个卷中,则表明相应的卷已被删除,相应的数据是无效数据。在此情况下还记录指示该数据无效的信息。在一个例子中,用数据块映射集合(例如,位图)记录存储位置的数据的有效性。在另一个例子中,将指示该数据无效的信息传送给垃圾回收部件,由垃圾回收部件在适当的情况下,回收无效数据。在依然另一个例子中,垃圾回收部件依据记录数据的有效性的数据块映射集合,对存储无效数据的存储位置进行回收,和/或对有效的数据进行搬移。
在进一步的实施例中,若从元数据中取得的卷标识符存在于步骤S810中重建的一个或多个卷之一中,且存在属于该卷的对应于相同映射集合条目的多个数据与元数据对(例如,多个具有相同逻辑地址的数据与元数据对),依据元数据中的版本信息,选择最新的数据与元数据对添加到映射集合中。
通过扫描NVM、容器和/或NVDIMM,重建出存储***中的一个或多个卷的映射集合,从而存储***能够依据映射集合响应数据访问请求。
如前所述,根据本发明的一个实施例,在完成被删除的快照卷与源卷的映射集合的合并后,通知垃圾回收模块,由垃圾回收模块在垃圾回收过程中,一并处理对数据块的卷信息的修改。由垃圾回收部件依据记录数据的有效性的数据块映射集合,对存储无效数据的存储位置进行回收,和/或对有效的数据进行搬移。
图9A示出了据本发明一个实施方式的执行垃圾回收操作的示意图。如图9A所示,在存储区域1中,Data1是有效数据,而Data2是无效数据。Metadata1是与Data1对应的元数据,metadata2是与data2对应的元数据。在垃圾回收过程中,将有效数据Data1迁移到存储区域2,而无需迁移无效数据Data2。返回参看图5A和图5B中,当删除快照卷T1520时,快照卷T1520的部分数据将成为无效数据,而另一部分数据虽然有效但需要从属于快照卷T1520变更为属于源卷510。为此目的,需要将data1的元数据metadata1修改为metadata1’。而由于NVM的特点,对元数据metadata1的修改将实现为将data1与metadata1’写入到存储区域2。
垃圾回收操作用于回收无效数据所占据的存储区域。垃圾回收操作还用于在迁移有效数据的过程中,更新数据块所对应的卷标识符。在根据本发明的实施例中,因删除快照卷或其他原因导致***中出现无效数据后,或者数据块所对应的卷标识符与该数据块所属的卷不一致时,并非立即执行垃圾回收操作。可依据多种策略决定执行垃圾回收的时机。例如,当存储区域1中的无效数据超过一定比例时,执行垃圾回收;或者当存储空间不足时,执行垃圾回收;在另一个例子中,响应于对垃圾回收操作的请求而立即执行垃圾回收。在依然另一个例子中,周期性地执行垃圾回收,或者在存储***任务负荷较低的时候执行垃圾回收。
图9B是根据本发明实施例的垃圾回收(GC)的方法的流程图。下面结合图9A来描述垃圾回收(GC)的方法。
如图9B所示,垃圾回收(GC)的方法包括:
步骤S910:选取无效数据最多的存储区域1;
步骤S920:扫描区域1的数据块映射集合,获取区域1中的有效数据data1和/或无效数据data2;
步骤S930:判断data1对应的卷是否存在;
步骤S940:如果data1对应的卷不存在,将与data1相对应的元数据修改为记录data1所对应的卷的上邻卷的卷标识符;
步骤S950:如果data1对应的卷存在,则无需修改与data1相对应的元数据中所记录的卷标识符;
步骤S960:将要更新的元数据写入NVDIMM,并在NVDIMM中将更新的数据聚合为大块后,再写入NVM。
在步骤S910,选取无效数据最多的区域1作为垃圾回收的对象。所属领域技术人员将意识到,有多种方式触发垃圾回收操作或确定垃圾回收操作的对象。
在步骤S920,扫描对应于存储区域1的位图,获取存储区域1中的有效数据(例如data1)和/或无效数据。在另一个例子中,使用链表、数组或其他数据结构来记录存储区域中的数据的有效性。
在步骤S930,判断有效数据data1所对应的卷是否被删除。其中,元数据包括卷标识符。通过与有效数据data1所对应的元数据metadata1获取有效数据data1所在的卷标识符,判断该卷标识符所对应的卷(下称卷1)在存储***中是否存在。若不存在,表明该卷1已被删除,在步骤S940,在当前的快照链(参见图2)中寻找与该卷1在时间上相紧邻,且创建时间晚于该卷1的上邻卷(下称卷2)。卷2可以是快照卷或源卷。在一个例子中,从日志中获取卷1的上邻卷(卷2)。在步骤S940,将与有效数据data1对应的元数据metadata1中的卷标识符修改为卷2的卷标识符。
在步骤S930,若判断有效数据data1所对应的卷未被删除,则无需修改与有效数据data1相对应的元数据中的卷标识符(步骤S950)。
在步骤S960,将要更新的元数据metadata1’写入NVDIMM,并在NVDIMM中将更新的数据聚合为大块后,再写入NVM。从而避免产生写放大的问题。
所属领域技术人员将意识到,将更新的元数据写入NVDIMM的步骤不是必须的,要更新的元数据可被直接写入到NVM中。在根据本发明的进一步的实施例中,在进行数据迁移时,将有效数据data1直接写入到NVM中,而将与有效数据data1相对应的元数据写入NVDIMM,并经聚合成大尺寸数据后,再写入NVM。
根据本发明的另一个方面,本发明还提供一种在存储***中删除快照卷的装置,所述存储***包括快照链和快照卷的逻辑地址与存储位置的映射关系的映射集合,如图10所示,包括:用于接收快照链中的指定快照卷的删除命令的装置1000;对于指定快照卷的映射集合中的每一元素,用于判定其逻辑地址是否在上邻卷的映射集合中的装置2000,其中,如果所述指定快照卷中的指定元素的逻辑地址不存在于所述上邻卷的映射集合中,则将所述指定快照卷中的指定元素添加到所述上邻卷的映射集合中;用于反馈删除所述指定快照卷的操作完成的装置3000;其中,所述上邻卷创建时间晚于且紧邻所述指定快照卷,所述元素包括数据、该数据的逻辑地址和该数据的存储位置。
根据本发明的另一个方面,本发明还提供一种包含计算机程序代码的计算机程序,当被载入计算机***并在计算机***上执行时,所述计算机程序代码使所述计算机***执行上面所述的方法。
根据本发明的另一个方面,还提供一种包括程序代码的程序,当被载入存储设备并在存储设备上执行时,所述计程序代码使所述存储设备执行上面所述的方法。
本发明取得有益效果:解决删除快照时引入的写放大问题;减少固态硬盘的擦除次数,进而提高固态硬盘介质的使用寿命;删除快照卷时,缩短执行快照删除操作的时间。
应该理解,框图和流程图的每个框以及框图和流程图的框的组合可以分别由包括计算机程序指令的各种装置来实施。这些计算机程序指令可以加载到通用计算机、专用计算机或其他可编程数据控制设备上以产生机器,从而在计算机或其他可编程数据控制设备上执行的指令创建了用于实现一个或多个流程图框中指定的功能的装置。
这些计算机程序指令还可以存储在可以引导计算机或其他可编程数据控制设备的计算机可读存储器中从而以特定方式起作用,从而能够利用存储在计算机可读存储器中的指令来制造包括用于实现一个或多个流程图框中所指定功能的计算机可读指令的制品。计算机程序指令还可以加载到计算机或其他可编程数据控制设备上以使得在计算机或其他可编程数据控制设备上执行一系列的操作步骤,从而产生计算机实现的过程,进而在计算机或其他可编程数据控制设备上执行的指令提供了用于实现一个或多个流程图框中所指定功能的步骤。
因而,框图和流程图的框支持用于执行指定功能的装置的组合、用于执行指定功能的步骤的组合和用于执行指定功能的程序指令装置的组合。还应该理解,框图和流程图的每个框以及框图和流程图的框的组合可以由执行指定功能或步骤的、基于硬件的专用计算机***实现,或由专用硬件和计算机指令的组合实现。
上述的不同块、操作以及技术的至少一部分可以被执行,通过使用硬件,控制设备执行固件指令,控制设备执行软件指令,或者及其任意组合。当采用执行固件以及软件指令的控制设备执行时,软件或固件指令可以被存储在任意计算机可读存储介质中,例如磁盘,光盘或者其他存储介质,在RAM或者ROM或者flash存储器,控制设备,硬盘,光盘,磁盘等等。同样地,软件和固件指令可以被传输到用户或者***,通过任意已知的或者期望的传输方式包括,例如,在计算机可读盘或者其他便携式计算机存储机制或者通过通信媒介。通信媒介典型地具体化计算机可读指令,数据结构,序模块或者在已调制数据信号中的其它数据例如载波或者其他传输机制。通过示例,并非限制,通信介质包括有线介质例如有线网络或者单线连接,以及无线媒介,例如声、无线频率,红外以及其它无线介质。从而,软件和固件指令可以被传输给用户或者***,通过通信信道,例如电话线,DSL线,电缆电视线,光纤线缆,无线信道,因特网,等等(通过便携式存储介质提供这样的软件,其被看作是相同的或者可互换的)。软件或者固件指令可以包括机器可读指令,这些可读指令在由控制设备执行时,导致控制设备执行不同动作。
当在硬件中执行时,硬件可以包括一个或多个离散组件,集成电路,应用的集成电路(ASIC),等等。
需要理解的是,本发明可以以纯软件、纯硬件、固件以及上述的各种组合来实现。硬件例如可以是控制设备、专用集成电路、大规模集成电路等等。
虽然当前发明参考的示例被描述,其只是为了解释的目的而不是对本发明的限制,对实施方式的改变,增加和/或删除可以被做出而不脱离本发明的范围。
这些实施方式所涉及的、从上面描述和相关联的附图中呈现的教导获益的领域中的技术人员将认识到这里记载的本发明的很多修改和其他实施方式。因此,应该理解,本发明不限于公开的具体实施方式,旨在将修改和其他实施方式包括在所附权利要求书的范围内。尽管在这里采用了特定的术语,但是仅在一般意义和描述意义上使用它们并且不是为了限制的目的而使用。

Claims (10)

1.一种在存储***中删除快照卷的方法,所述存储***包括记录快照卷的逻辑地址与存储位置的映射关系的映射集合和记录上邻卷的逻辑地址与存储位置的映射关系的映射集合,所述方法包括:
接收指定快照卷的删除命令;
将指定快照卷的映射集合中的元素,合并到所述上邻卷的映射集合中;
反馈删除所述指定快照卷的操作完成;
其中,所述上邻卷创建时间晚于且紧邻所述指定快照卷的创建时间。
2.根据权利要求1所述的方法,其中将指定快照卷的映射集合中的元素,合并到所述上邻卷的映射集合中,包括:
对于指定快照卷的映射集合中的每一元素,判定其逻辑地址是否在上邻卷的映射集合中,
如果所述指定快照卷的映射集合中的元素的逻辑地址不存在于所述上邻卷的映射集合中,则将所述指定快照卷的映射集合中的元素添加到所述上邻卷的映射集合中。
3.根据权利要求1-2所述的方法,进一步包括:
在反馈删除所述指定快照卷的操作完成之前,在NVDIMM中记录代表删除指定快照卷的日志。
4.根据权利要求1-3之一所述的方法,所述存储***包括数据块映射集合,数据块映射集合记录存储位置的数据块是否有效的信息,所述方法进一步包括:
若所述指定快照卷的映射集合中的第一元素的逻辑地址存在于所述上邻卷的映射集合中,则在数据块映射集合中标记第一元素的存储位置的数据块无效。
5.根据权利要求1-4之一所述的方法,进一步包括:
删除所述指定快照卷的映射集合。
6.根据权利要求4所述的方法,进一步包括:
依据所述数据块映射集合执行垃圾回收操作。
7.根据权利要求6所述的方法,其中,依据数据块映射集合执行垃圾回收操作包括:
取得数据块映射集合中标记为有效的第一数据块;
判定与第一数据块相对应的卷标识数据所指示的快照卷是否存在,其中,
若与所述第一数据块相对应的卷标识数据所指示的快照卷不存在,用所述上邻卷的卷标识数据更新与第一数据块相对应的卷标识数据,并将更新后的与第一数据块相对应的卷标识数据写入NVDIMM;
若与所述第一数据块相对应的卷标识数据所指示的快照卷存在,将与第一数据块相对应的卷标识数据写入NVDIMM。
8.根据权利要求6-7任一项所述的方法,进一步包括,将写入NVDIMM的数据块聚合并写入非易失性存储器。
9.根据权利要求1-8之一所述的方法,其中,所述存储***进一步包括记录下邻卷的逻辑地址与存储位置的映射关系的映射集合,所述方法进一步包括,使上邻卷的映射集合的访问指针指向下邻卷的映射集合,其中,所述下邻卷创建时间早于且紧邻所述指定快照卷的创建时间。
10.一种在存储***中删除快照卷的装置,所述存储***包括记录快照卷的逻辑地址与存储位置的映射关系的映射集合和记录上邻卷的逻辑地址与存储位置的映射关系的映射集合,所述装置包括:
用于接收指定快照卷的删除命令的模块;
用于将指定快照卷的映射集合中的元素,合并到所述上邻卷的映射集合中的模块;
用于反馈删除所述指定快照卷的操作完成的模块;
其中,所述上邻卷创建时间晚于且紧邻所述指定快照卷的创建时间。
CN201610048363.1A 2016-01-06 2016-01-25 在存储***中删除快照卷的方法及装置 Active CN106951375B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610009780 2016-01-06
CN2016100097805 2016-01-06

Publications (2)

Publication Number Publication Date
CN106951375A true CN106951375A (zh) 2017-07-14
CN106951375B CN106951375B (zh) 2021-11-30

Family

ID=59466114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610048363.1A Active CN106951375B (zh) 2016-01-06 2016-01-25 在存储***中删除快照卷的方法及装置

Country Status (1)

Country Link
CN (1) CN106951375B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491529A (zh) * 2017-08-18 2017-12-19 华为技术有限公司 一种快照删除方法及节点
CN109445681A (zh) * 2018-08-27 2019-03-08 华为技术有限公司 数据的存储方法、装置和存储***
CN109902034A (zh) * 2019-02-25 2019-06-18 杭州宏杉科技股份有限公司 快照创建方法、装置、电子设备及机器可读存储介质
CN109933460A (zh) * 2017-12-25 2019-06-25 新华三大数据技术有限公司 数据快照方法及装置
CN110018988A (zh) * 2017-11-08 2019-07-16 阿里巴巴集团控股有限公司 快照删除方法、处理方法、装置及***
CN110399333A (zh) * 2018-04-20 2019-11-01 伊姆西Ip控股有限责任公司 删除快照的方法、设备和计算机程序产品
CN111125033A (zh) * 2018-10-31 2020-05-08 深信服科技股份有限公司 一种基于全闪存阵列的空间回收方法及***
CN111124747A (zh) * 2018-10-31 2020-05-08 伊姆西Ip控股有限责任公司 用于删除快照的方法、设备和计算机程序产品
CN111338850A (zh) * 2020-02-25 2020-06-26 上海英方软件股份有限公司 一种基于cow模式多快照下提高备份效率的方法及***
CN111857593A (zh) * 2020-07-21 2020-10-30 星辰天合(北京)数据科技有限公司 提高快照数据和克隆数据读写速度的方法与装置
CN112347037A (zh) * 2020-10-13 2021-02-09 北京天融信网络安全技术有限公司 存储卷的快照处理方法、装置、介质和电子设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6957362B2 (en) * 2002-08-06 2005-10-18 Emc Corporation Instantaneous restoration of a production copy from a snapshot copy in a data storage system
CN101140536A (zh) * 2007-05-21 2008-03-12 中兴通讯股份有限公司 一种支持级联快照的快照***及其快照处理方法
CN101183383A (zh) * 2007-12-17 2008-05-21 中国科学院计算技术研究所 一种快照***及其使用方法
CN101419564A (zh) * 2008-12-11 2009-04-29 杭州华三通信技术有限公司 一种采用快照恢复数据的方法和装置
US7593973B2 (en) * 2006-11-15 2009-09-22 Dot Hill Systems Corp. Method and apparatus for transferring snapshot data
CN101788934A (zh) * 2009-01-23 2010-07-28 英业达集团(天津)电子技术有限公司 逻辑卷管理器的数据操作方法
CN102402471A (zh) * 2011-12-23 2012-04-04 创新科软件技术(深圳)有限公司 基于存储阵列快照功能的数据实时备份方法及***
CN102591790A (zh) * 2011-12-30 2012-07-18 记忆科技(深圳)有限公司 基于固态硬盘的数据存储快照实现方法及固态硬盘
CN102779080A (zh) * 2012-06-18 2012-11-14 上海爱数软件有限公司 生成快照的方法、利用快照进行数据恢复的方法及装置
US20130305002A1 (en) * 2012-05-13 2013-11-14 Xtremio Ltd. Snapshot mechanism
CN103761159A (zh) * 2014-01-23 2014-04-30 天津中科蓝鲸信息技术有限公司 增量快照处理的方法及***

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6957362B2 (en) * 2002-08-06 2005-10-18 Emc Corporation Instantaneous restoration of a production copy from a snapshot copy in a data storage system
US7593973B2 (en) * 2006-11-15 2009-09-22 Dot Hill Systems Corp. Method and apparatus for transferring snapshot data
CN101140536A (zh) * 2007-05-21 2008-03-12 中兴通讯股份有限公司 一种支持级联快照的快照***及其快照处理方法
CN101183383A (zh) * 2007-12-17 2008-05-21 中国科学院计算技术研究所 一种快照***及其使用方法
CN101419564A (zh) * 2008-12-11 2009-04-29 杭州华三通信技术有限公司 一种采用快照恢复数据的方法和装置
CN101788934A (zh) * 2009-01-23 2010-07-28 英业达集团(天津)电子技术有限公司 逻辑卷管理器的数据操作方法
CN102402471A (zh) * 2011-12-23 2012-04-04 创新科软件技术(深圳)有限公司 基于存储阵列快照功能的数据实时备份方法及***
CN102591790A (zh) * 2011-12-30 2012-07-18 记忆科技(深圳)有限公司 基于固态硬盘的数据存储快照实现方法及固态硬盘
US20130305002A1 (en) * 2012-05-13 2013-11-14 Xtremio Ltd. Snapshot mechanism
CN102779080A (zh) * 2012-06-18 2012-11-14 上海爱数软件有限公司 生成快照的方法、利用快照进行数据恢复的方法及装置
CN103761159A (zh) * 2014-01-23 2014-04-30 天津中科蓝鲸信息技术有限公司 增量快照处理的方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邓换方 等: "一种高效的虚拟机快照管理***", 《计算机***应用》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491529A (zh) * 2017-08-18 2017-12-19 华为技术有限公司 一种快照删除方法及节点
CN107491529B (zh) * 2017-08-18 2020-05-08 华为技术有限公司 一种快照删除方法及节点
CN110018988A (zh) * 2017-11-08 2019-07-16 阿里巴巴集团控股有限公司 快照删除方法、处理方法、装置及***
CN110018988B (zh) * 2017-11-08 2023-04-04 阿里巴巴集团控股有限公司 快照删除方法、处理方法、装置及***
CN109933460A (zh) * 2017-12-25 2019-06-25 新华三大数据技术有限公司 数据快照方法及装置
CN110399333A (zh) * 2018-04-20 2019-11-01 伊姆西Ip控股有限责任公司 删除快照的方法、设备和计算机程序产品
CN110399333B (zh) * 2018-04-20 2023-07-18 伊姆西Ip控股有限责任公司 删除快照的方法、设备和计算机程序产品
US12008263B2 (en) 2018-08-27 2024-06-11 Huawei Technologies Co., Ltd. Garbage collection and data storage method and apparatus, and storage system
CN109445681A (zh) * 2018-08-27 2019-03-08 华为技术有限公司 数据的存储方法、装置和存储***
CN111125033A (zh) * 2018-10-31 2020-05-08 深信服科技股份有限公司 一种基于全闪存阵列的空间回收方法及***
CN111124747A (zh) * 2018-10-31 2020-05-08 伊姆西Ip控股有限责任公司 用于删除快照的方法、设备和计算机程序产品
CN111124747B (zh) * 2018-10-31 2023-09-01 伊姆西Ip控股有限责任公司 用于删除快照的方法、设备和计算机可读介质
CN111125033B (zh) * 2018-10-31 2024-04-09 深信服科技股份有限公司 一种基于全闪存阵列的空间回收方法及***
CN109902034A (zh) * 2019-02-25 2019-06-18 杭州宏杉科技股份有限公司 快照创建方法、装置、电子设备及机器可读存储介质
CN111338850A (zh) * 2020-02-25 2020-06-26 上海英方软件股份有限公司 一种基于cow模式多快照下提高备份效率的方法及***
CN111857593A (zh) * 2020-07-21 2020-10-30 星辰天合(北京)数据科技有限公司 提高快照数据和克隆数据读写速度的方法与装置
CN112347037A (zh) * 2020-10-13 2021-02-09 北京天融信网络安全技术有限公司 存储卷的快照处理方法、装置、介质和电子设备

Also Published As

Publication number Publication date
CN106951375B (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
CN106951375A (zh) 在存储***中删除快照卷的方法及装置
CN106708427B (zh) 一种适用于键值对数据的存储方法
CN103473251B (zh) 在使用处理器件的计算环境中提供使用选择性元组版本化的文件***快照的方法和***
CN105453021B (zh) 用于原子存储操作的***和方法
CN106407040B (zh) 一种远程数据复制方法及***
CN105190623B (zh) 日志记录管理
CN103080910B (zh) 存储***
CN104346357B (zh) 一种嵌入式终端的文件存取方法及***
CN103514249B (zh) 一种数据自精简方法和***及存储装置
CN104331453B (zh) 一种分布式文件***及分布式文件***的构建方法
CN107180092B (zh) 一种文件***的控制方法、装置及终端
CN106708425A (zh) 分布式多模存储管理
CN103493024B (zh) 用于高速缓存分层的方法和***
CN102567427B (zh) 一种对象数据处理方法及装置
CN108647151A (zh) 一种全闪***元数据落盘方法、装置、设备及存储介质
CN104239443B (zh) 一种序列化数据操作日志的存储方法
CN106021031B (zh) 一种btrfs文件***的删除数据恢复方法和装置
CN107045531A (zh) 一种优化hdfs小文件存取的***及方法
CN107870970B (zh) 一种数据存储查询方法及***
CN103544045A (zh) 一种基于hdfs的虚拟机镜像存储***及其构建方法
JP2014508362A (ja) データー重複排除のためのバックアップおよび復元方策
CN103226965B (zh) 基于时间位图的音视频数据存取方法
CN108604165A (zh) 存储装置
CN109522283A (zh) 一种重复数据删除方法及***
CN110019050A (zh) 一种数据回滚方法、***、设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing

Applicant after: Beijing yihengchuangyuan Technology Co.,Ltd.

Address before: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing

Applicant before: BEIJING MEMBLAZE TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant