CN103412798A - 混合存储快照的实现方法及系统 - Google Patents

混合存储快照的实现方法及系统 Download PDF

Info

Publication number
CN103412798A
CN103412798A CN2013103031740A CN201310303174A CN103412798A CN 103412798 A CN103412798 A CN 103412798A CN 2013103031740 A CN2013103031740 A CN 2013103031740A CN 201310303174 A CN201310303174 A CN 201310303174A CN 103412798 A CN103412798 A CN 103412798A
Authority
CN
China
Prior art keywords
data
snapshot
data block
write
volume
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
CN2013103031740A
Other languages
English (en)
Other versions
CN103412798B (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.)
Ramaxel Technology Shenzhen Co Ltd
Original Assignee
Ramaxel Technology Shenzhen 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 Ramaxel Technology Shenzhen Co Ltd filed Critical Ramaxel Technology Shenzhen Co Ltd
Priority to CN201310303174.0A priority Critical patent/CN103412798B/zh
Publication of CN103412798A publication Critical patent/CN103412798A/zh
Application granted granted Critical
Publication of CN103412798B publication Critical patent/CN103412798B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明适用于存储技术领域,提供了一种混合存储快照系统,包括:源数据卷,用于存储源数据;快照卷,包括元数据区、快照数据区和写入缓冲区,其中:所述元数据区用于保存所述源数据卷中的数据块、所述快照数据区的数据块及写入缓冲区中数据块的地址映射关系;所述快照数据区用于保存快照时间点后因发生数据变化被拷贝过来的旧数据。所述写入缓冲区用于保存新写入的数据,并根据访问的热度淘汰替换数据。本发明还提供一种混合存储快照的实现方法。借此,本发明可以提供大容量、低成本的快照存储空间,大大提升快照系统的性能。

Description

混合存储快照的实现方法及系统
技术领域
本发明涉及存储技术领域,尤其涉及一种混合存储快照的实现方法及系统。
背景技术
固态硬盘(Solid State Disk,SSD)是一种建立在标准NAND Flash等非挥发存储介质基础上的新一代存储设备,完全半导体化,无机械结构,具有低功耗、无噪音、抗震动、低热量等特点,不存在磁盘寻道时间,数据存取速度快,数据吞吐量能和IOPS能达到传统硬盘的数千倍。
存储网络行业协会SNIA(StorageNetworking Industry Association)对快照(Snapshot)的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。
当前快照系统比较多的使用Copy-on-write(COW)复制写快照技术。COW快照需要消耗一些存储空间--建立快照卷。当我们为一个源数据卷创建一个快照之后,这些预留的空间用来存放被变化数据更新的旧数据。COW快照在初始化的过程中仅仅创建用来描述源数据块位置的指针信息(元数据),而不是完整的将源数据块拷贝过来。因此初始化的过程几乎可以在瞬间完成,对系统的影响也很小。从快照被创建那一刻开始,每个快照都会跟踪记录描述块改变的元数据信息。
COW快照会跟踪数据卷的写操作和数据块变化。某个源数据块第一次发生改变时,在将旧的数据覆盖之前,首先将该块的旧数据复制到预留的快照卷,然后新数据覆盖源数据卷中的旧数据,并更新元数据。
如果我们需要访问某个时间点的快照数据,对没有改变过的块直接从源数据卷读取;对已经改变并被复制的块则从快照卷读取。COW快照的主要优势在于空间的高效利用,因为快照卷只需要保留发生过变化的数据块,与数据卷相比要小得多。但是COW快照有个缺点,它会引起数据卷性能的下降,这是因为创建快照之后,对数据卷的写操作会增加一个等待的过程--即旧数据块复制到快照卷的过程。如果将数据卷与快照卷都放置在SSD上,性能能有很大提升,但是目前SSD单位容量的价格远高于传统存储,这种做法的成本太高。
综上可知,现有的存储装置的存储快照的实现方法,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种混合存储快照的实现方法及系统,其可以提供大容量、低成本的快照存储空间,大大提升快照系统的性能。
为了实现上述目的,本发明提供一种混合存储快照系统,包括:
源数据卷,用于存储源数据;
快照卷,包括元数据区、快照数据区和写入缓冲区,其中:
所述元数据区用于保存所述源数据卷中的数据块、所述快照数据区的数据块及写入缓冲区中数据块的地址映射关系;
所述快照数据区用于保存快照时间点后因发生数据变化被拷贝过来的旧数据。
所述写入缓冲区用于保存新写入的数据,并根据访问的热度淘汰替换数据。
根据本发明的混合存储快照系统,所述系统包括:
元数据更新模块,用于所述系统具有新数据写入时更新元数据;
数据判断模块,查看所述元数据,判断写入地址对应的数据块是否在快照后第一次发生改变,若不是,则交由第一写入模块处理,否则交由第二写入模块处理;
第一写入模块,用于将新写入的数据块拷贝到数据块中,覆盖旧数据;
第二写入模块,用于将数据卷中对应地址数据块中的旧数据拷贝到快照数据区中,再将新写入的数据块拷贝覆盖源数据卷中的旧数据块,并更新元数据。
根据本发明的混合存储快照系统,所述系统还包括数据读取模块,用于所述系统访问最新数据时,查看元数据,如果在写入缓冲区中有对应的数据块,则从缓冲数据区中读取,否则从所述源数据卷中读取。
本发明还提供一种混合存储快照实现方法,所述方法包括:
为新写入的数据分配一数据块,并更新元数据;
查看所述元数据,判断写入地址对应的数据块是否在快照后第一次发生改变;
若写入地址对应的数据块是在快照后第一次发生改变,则将新写入的数据块拷贝到数据块中,覆盖旧数据;
若写入地址对应的数据块不是在快照后第一次发生改变,则将数据卷中对应地址数据块中的旧数据拷贝到快照数据区中,再将新写入的数据块拷贝覆盖源数据卷中的旧数据块,并更新元数据。
本发明通过在有新数据写入时为新写入的数据分配一数据块,并更新元数据。然后监测所述元数据,判断写入地址对应的数据块是否在快照后第一次发生改变;若写入地址对应的数据块是在快照后第一次发生改变,则将新写入的数据块拷贝到数据块中,覆盖旧数据;若写入地址对应的数据块不是在快照后第一次发生改变,则将数据卷中对应地址数据块中的旧数据拷贝到快照数据区中,再将新写入的数据块拷贝覆盖源数据卷中的旧数据块,并更新元数据。借此,本发明可以提供大容量、低成本的快照存储空间,大大提升快照系统的性能。
附图说明
图1是本发明一实施例的混合存储快照系统的结构示意图;
图2是本发明另一实施例的混合存储快照系统的结构示意图;
图3是本发明一实施例的混合存储快照实现方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,本发明提供了一种混合存储快照系统,其具有源数据卷和快照卷,其中
源数据卷,用于存储源数据;
快照卷,包括元数据区、快照数据区和写入缓冲区。优选的:
所述元数据区用于保存所述源数据卷中的数据块、所述快照数据区的数据块及写入缓冲区中数据块的地址映射关系;
所述快照数据区用于保存快照时间点后因发生数据变化被拷贝过来的旧数据。
所述写入缓冲区用于保存新写入的数据,并根据访问的热度淘汰替换数据。
更好的,本发明的实施例中,将快照数据和元数据保存在SSD上,而源数据卷仍然保存在传统存储中。快照卷只需要保留发生过变化的数据块,与源数据卷相比要小得多,因此,只需小容量的SSD即可满足需求。同时本发明在SSD快照卷中创建写入缓冲区,可大在优化IO流程。
本发明的一实施例中,元数据的格式示例如下:
源数据卷地址 快照数据区地址 写入缓冲区地址
A1 A3
B1 B2
…… …… ……
M1 M2
…… …… ……
N1
…… …… ……
具体的,当一个写命令到达时,先在写入缓冲区中分配一个数据块,快速的接收写入的数据,并更新元数据,使得写操作尽快返回,原先必须同步完成的两步写入操作变为了异步操作。因此对于用户来说,写入性能相当于SSD的性能。
进一步的,参见图2,本发明的混合存储快照系统100包括
元数据更新模块10,用于所述系统具有新数据写入时更新元数据。
数据判断模块20,查看所述元数据,判断写入地址对应的数据块是否在快照后第一次发生改变,若不是则交由第一写入模块处理,否则交由第二写入模块处理;
第一写入模块30,用于将新写入的数据块拷贝到数据块中,覆盖旧数据。
例如写命令请求更新源数据块M1,如下表所示:
源数据卷地址 快照数据区地址 写入缓冲区地址
M1 M2
在写入缓冲区中申请数据块M3,M3接收新写入的数据,写命令完成。如
下表所示
源数据卷地址 快照数据区地址 写入缓冲区地址
M1 M2 M3
系统100查看元数据,若发现快照数据区中已经有M2与M1对应,说明已经发生过一次COW,此次只需将M3中的新数据覆盖M1中的数据即可。
第二写入模块40,用于将数据卷中对应地址数据块中的旧数据拷贝到快照数据区中,再将新写入的数据块拷贝覆盖源数据卷中的旧数据块,并更新元数据。
假设写命令请求更新源数据块N1,在写入缓冲区中申请数据块N3,N3接收新写入的数据,写命令完成。
源数据卷地址 快照数据区地址 写入缓冲区地址
N1 N3
系统100看元数据,发现N1数据块是创建快照后第一次发生更新,在快照数据区中申请数据块N2,将N1中的旧数据拷贝到N2中,然后将N3中的新数据拷贝到N1中。
源数据卷地址 快照数据区地址 写入缓冲区地址
N1 N2 N3
进一步的,系统100还包括数据读取模块50,当需要访问某个时间点的快照数据时,对没有改变过的数据块直接从源数据卷读取,对已经改变并被复制的块则从快照数据区读取。
当需要访问最新数据时,查看元数据,如果在写入缓冲区中有对应的数据块,则优先从缓冲数据区中读取,否则从源数据卷中读取。借此能利用SSD提升热点数据的访问速度。
例如需要读取源数据卷的N1数据块,查看元数据发现SSD写入缓冲区中有N3数据块与之对应,则读取N3中的数据。
当写入缓冲区的空间不足时,根据数据块的访问热度进行淘汰,假设N3中的数据已经被拷贝到N1,且不经常被访问,则将N3的空间释放,并更新元数据,如下表所示。
源数据卷地址 快照数据区地址 写入缓冲区地址
N1 N2
再参见图3,本发明提供一种混合存储快照实现方法,其包括:
步骤S301,为新写入的数据分配一数据块,并更新元数据;
步骤S302,查看所述元数据,判断写入地址对应的数据块是否在快照后第一次发生改变;若不是,则执行步骤S303,否则执行步骤S304。
步骤S303,将新写入的数据块拷贝到数据块中,覆盖旧数据;
步骤S304,将数据卷中对应地址数据块中的旧数据拷贝到快照数据区中,再将新写入的数据块拷贝覆盖源数据卷中的旧数据块,并更新元数据。
综上所述,本发明通过在有新数据写入时为新写入的数据分配一数据块,并更新元数据。然后监测所述元数据,判断写入地址对应的数据块是否在快照后第一次发生改变;若写入地址对应的数据块是在快照后第一次发生改变,则将新写入的数据块拷贝到数据块中,覆盖旧数据;若写入地址对应的数据块不是在快照后第一次发生改变,则将数据卷中对应地址数据块中的旧数据拷贝到快照数据区中,再将新写入的数据块拷贝覆盖源数据卷中的旧数据块,并更新元数据。借此,本发明可以提供大容量、低成本的快照存储空间,大大提升快照系统的性能。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (4)

1.一种混合存储快照系统,其特征在于,包括:
源数据卷,用于存储源数据;
快照卷,包括元数据区、快照数据区和写入缓冲区,其中:
所述元数据区用于保存所述源数据卷中的数据块、所述快照数据区的数据块及写入缓冲区中数据块的地址映射关系;
所述快照数据区用于保存快照时间点后因发生数据变化被拷贝过来的旧数据。
所述写入缓冲区用于保存新写入的数据,并根据访问的热度淘汰替换数据。
2.根据权利要求1所述的混合存储快照系统,其特征在于,所述系统包括:
元数据更新模块,用于所述系统具有新数据写入时更新元数据;
数据判断模块,查看所述元数据,判断写入地址对应的数据块是否在快照后第一次发生改变,若不是,则交由第一写入模块处理,否则交由第二写入模块处理;
第一写入模块,用于将新写入的数据块拷贝到数据块中,覆盖旧数据;
第二写入模块,用于将数据卷中对应地址数据块中的旧数据拷贝到快照数据区中,再将新写入的数据块拷贝覆盖源数据卷中的旧数据块,并更新元数据。
3.根据权利要求2所述的混合存储快照系统,其特征在于,所述系统还包括数据读取模块,用于所述系统访问最新数据时,查看元数据,如果在写入缓冲区中有对应的数据块,则从缓冲数据区中读取,否则从所述源数据卷中读取。
4.一种混合存储快照实现方法,其特征在于,所述方法包括:
为新写入的数据分配一数据块,并更新元数据;
查看所述元数据,判断写入地址对应的数据块是否在快照后第一次发生改变;
若写入地址对应的数据块不是在快照后第一次发生改变,则将新写入的数据块拷贝到数据块中,覆盖旧数据;
若写入地址对应的数据块是在快照后第一次发生改变,则将数据卷中对应地址数据块中的旧数据拷贝到快照数据区中,再将新写入的数据块拷贝覆盖源数据卷中的旧数据块,并更新元数据。
CN201310303174.0A 2013-07-18 2013-07-18 混合存储快照的实现方法及系统 Active CN103412798B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310303174.0A CN103412798B (zh) 2013-07-18 2013-07-18 混合存储快照的实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310303174.0A CN103412798B (zh) 2013-07-18 2013-07-18 混合存储快照的实现方法及系统

Publications (2)

Publication Number Publication Date
CN103412798A true CN103412798A (zh) 2013-11-27
CN103412798B CN103412798B (zh) 2016-03-23

Family

ID=49605811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310303174.0A Active CN103412798B (zh) 2013-07-18 2013-07-18 混合存储快照的实现方法及系统

Country Status (1)

Country Link
CN (1) CN103412798B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744875A (zh) * 2013-12-19 2014-04-23 记忆科技(深圳)有限公司 基于文件系统的数据快速迁移方法及系统
US11100043B2 (en) * 2014-07-29 2021-08-24 Commvault Systems, Inc. Volume-level replication of data via snapshots and using a volume-replicating server in an information management system
CN117311911A (zh) * 2023-11-29 2023-12-29 苏州元脑智能科技有限公司 一种虚拟机快照方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007188277A (ja) * 2006-01-13 2007-07-26 Hitachi Ltd 記憶制御装置及びそのデータ管理方法
CN101419564A (zh) * 2008-12-11 2009-04-29 杭州华三通信技术有限公司 一种采用快照恢复数据的方法和装置
CN101482838A (zh) * 2009-02-06 2009-07-15 杭州华三通信技术有限公司 基于写时拷贝的数据写入方法及设备
CN102043687A (zh) * 2009-10-20 2011-05-04 杭州华三通信技术有限公司 实现数据快照的首写拷贝装置及控制方法
US20120300325A1 (en) * 2011-05-23 2012-11-29 David Robison Hall Shingle-written Magnetic Recording (SMR) Device with Hybrid E-region

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007188277A (ja) * 2006-01-13 2007-07-26 Hitachi Ltd 記憶制御装置及びそのデータ管理方法
CN101419564A (zh) * 2008-12-11 2009-04-29 杭州华三通信技术有限公司 一种采用快照恢复数据的方法和装置
CN101482838A (zh) * 2009-02-06 2009-07-15 杭州华三通信技术有限公司 基于写时拷贝的数据写入方法及设备
CN102043687A (zh) * 2009-10-20 2011-05-04 杭州华三通信技术有限公司 实现数据快照的首写拷贝装置及控制方法
US20120300325A1 (en) * 2011-05-23 2012-11-29 David Robison Hall Shingle-written Magnetic Recording (SMR) Device with Hybrid E-region

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744875A (zh) * 2013-12-19 2014-04-23 记忆科技(深圳)有限公司 基于文件系统的数据快速迁移方法及系统
US11100043B2 (en) * 2014-07-29 2021-08-24 Commvault Systems, Inc. Volume-level replication of data via snapshots and using a volume-replicating server in an information management system
CN117311911A (zh) * 2023-11-29 2023-12-29 苏州元脑智能科技有限公司 一种虚拟机快照方法、装置、电子设备及存储介质
CN117311911B (zh) * 2023-11-29 2024-02-23 苏州元脑智能科技有限公司 一种虚拟机快照方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN103412798B (zh) 2016-03-23

Similar Documents

Publication Publication Date Title
CN107346290B (zh) 使用并行化日志列表重放分区逻辑到物理数据地址转换表
CN107632939B (zh) 用于存储装置的映射表
US10521131B2 (en) Storage apparatus and storage control apparatus
US8650379B2 (en) Data processing method for nonvolatile memory system
KR101852668B1 (ko) 어드레스 매핑
CN101272332B (zh) 具有未使用物理区域自主管理功能的存储装置
CN102819408B (zh) 可动态调整条带深度的raid 0的实现方法及系统
CN103530237B (zh) 一种固态盘阵列的垃圾回收方法
WO2014074449A2 (en) Wear leveling in flash memory devices with trim commands
JP2012515954A (ja) 論理アドレスオフセット
US20100257307A1 (en) Data management method and flash memory storage system and controller using the same
CN103270500A (zh) 事务日志恢复
CN105159622A (zh) 一种减小ssd读写io时延的方法与系统
US10621085B2 (en) Storage system and system garbage collection method
CN102576332A (zh) 电力中断管理
CN101556555B (zh) 用于闪存的区块管理方法、其控制器与储存系统
JP2015026379A (ja) 磁気ランダムアクセスメモリ(mram)を使用する記憶デバイスのメモリアレイのコントローラ管理
CN107608625B (zh) 一种提升固存储设备读性能的方法
CN103838853A (zh) 一种基于不同存储介质的混合文件系统
CN101727295A (zh) 一种基于虚拟块闪存地址映射的数据写入及读出方法
US20080320210A1 (en) Data management systems, methods and computer program products using a phase-change random access memory for selective data maintenance
CN103677670A (zh) 读数据的方法及装置
CN101625897A (zh) 用于快闪存储器的数据写入方法、储存系统与控制器
CN102306124A (zh) Nand Flash芯片硬件驱动层的实现方法
CN109144899A (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