CN103412798B - 混合存储快照的实现方法及系统 - Google Patents
混合存储快照的实现方法及系统 Download PDFInfo
- Publication number
- CN103412798B CN103412798B CN201310303174.0A CN201310303174A CN103412798B CN 103412798 B CN103412798 B CN 103412798B CN 201310303174 A CN201310303174 A CN 201310303174A CN 103412798 B CN103412798 B CN 103412798B
- Authority
- CN
- China
- Prior art keywords
- data
- snapshot
- data block
- write
- block
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000013507 mapping Methods 0.000 claims abstract description 4
- 230000008859 change Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 238000003860 storage Methods 0.000 abstract description 12
- 230000008901 benefit Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于存储技术领域,提供了一种混合存储快照系统,包括:源数据卷,用于存储源数据;快照卷,包括元数据区、快照数据区和写入缓冲区,其中:所述元数据区用于保存所述源数据卷中的数据块、所述快照数据区的数据块及写入缓冲区中数据块的地址映射关系;所述快照数据区用于保存快照时间点后因发生数据变化被拷贝过来的旧数据。所述写入缓冲区用于保存新写入的数据,并根据访问的热度淘汰替换数据。本发明还提供一种混合存储快照的实现方法。借此,本发明可以提供大容量、低成本的快照存储空间,大大提升快照系统的性能。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种混合存储快照的实现方法及系统。
背景技术
固态硬盘(SolidStateDisk,SSD)是一种建立在标准NANDFlash等非挥发存储介质基础上的新一代存储设备,完全半导体化,无机械结构,具有低功耗、无噪音、抗震动、低热量等特点,不存在磁盘寻道时间,数据存取速度快,数据吞吐量能和IOPS能达到传统硬盘的数千倍。
存储网络行业协会SNIA(StorageNetworkingIndustryAssociation)对快照(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 (3)
1.一种混合存储快照系统,其特征在于,包括:
源数据卷,用于存储源数据;
快照卷,包括元数据区、快照数据区和写入缓冲区,其中:
所述元数据区用于保存所述源数据卷中的数据块、所述快照数据区的数据块及写入缓冲区中数据块的地址映射关系;
所述快照数据区用于保存快照时间点后因发生数据变化被拷贝过来的旧数据;
所述写入缓冲区用于保存新写入的数据,并根据访问的热度淘汰替换数据;
所述系统还包括:
元数据更新模块,用于所述系统具有新数据写入时更新元数据;
数据判断模块,查看所述元数据,判断写入地址对应的数据块是否在快照后第一次发生改变,若不是,则交由第一写入模块处理,否则交由第二写入模块处理;
第一写入模块,用于将新写入的数据块拷贝到数据块中,覆盖旧数据;
第二写入模块,用于将数据卷中对应地址数据块中的旧数据拷贝到快照数据区中,再将新写入的数据块拷贝覆盖源数据卷中的旧数据块,并更新元数据。
2.根据权利要求1所述的混合存储快照系统,其特征在于,所述系统还包括数据读取模块,用于所述系统访问最新数据时,查看元数据,如果在写入缓冲区中有对应的数据块,则从缓冲数据区中读取,否则从所述源数据卷中读取。
3.一种混合存储快照实现方法,其特征在于,所述方法包括:
为新写入的数据分配一数据块,并更新元数据;
查看所述元数据,判断写入地址对应的数据块是否在快照后第一次发生改变;
若写入地址对应的数据块不是在快照后第一次发生改变,则将新写入的数据块拷贝到数据块中,覆盖旧数据;
若写入地址对应的数据块是在快照后第一次发生改变,则将数据卷中对应地址数据块中的旧数据拷贝到快照数据区中,再将新写入的数据块拷贝覆盖源数据卷中的旧数据块,并更新元数据。
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 CN103412798A (zh) | 2013-11-27 |
CN103412798B true CN103412798B (zh) | 2016-03-23 |
Family
ID=49605811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310303174.0A Expired - Fee Related CN103412798B (zh) | 2013-07-18 | 2013-07-18 | 混合存储快照的实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103412798B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744875B (zh) * | 2013-12-19 | 2017-11-24 | 记忆科技(深圳)有限公司 | 基于文件系统的数据快速迁移方法及系统 |
US10031917B2 (en) * | 2014-07-29 | 2018-07-24 | Commvault Systems, Inc. | Efficient volume-level replication of data via snapshots in an information management system |
CN117311911B (zh) * | 2023-11-29 | 2024-02-23 | 苏州元脑智能科技有限公司 | 一种虚拟机快照方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4993913B2 (ja) * | 2006-01-13 | 2012-08-08 | 株式会社日立製作所 | 記憶制御装置及びそのデータ管理方法 |
CN101419564B (zh) * | 2008-12-11 | 2010-08-25 | 杭州华三通信技术有限公司 | 一种采用快照恢复数据的方法和装置 |
CN101482838A (zh) * | 2009-02-06 | 2009-07-15 | 杭州华三通信技术有限公司 | 基于写时拷贝的数据写入方法及设备 |
CN102043687B (zh) * | 2009-10-20 | 2012-07-25 | 杭州华三通信技术有限公司 | 实现数据快照的首写拷贝装置及控制方法 |
US8913335B2 (en) * | 2011-05-23 | 2014-12-16 | HGST Netherlands B.V. | Storage device with shingled data and unshingled cache regions |
-
2013
- 2013-07-18 CN CN201310303174.0A patent/CN103412798B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN103412798A (zh) | 2013-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107346290B (zh) | 使用并行化日志列表重放分区逻辑到物理数据地址转换表 | |
CN103518193B (zh) | 用于数据去重复的方法及装置 | |
US10521131B2 (en) | Storage apparatus and storage control apparatus | |
CN101272332B (zh) | 具有未使用物理区域自主管理功能的存储装置 | |
CN1828555B (zh) | 支持多存储器映射方案的快闪存储器控制器件及其方法 | |
US8650379B2 (en) | Data processing method for nonvolatile memory system | |
CN103530237B (zh) | 一种固态盘阵列的垃圾回收方法 | |
CN102576332A (zh) | 电力中断管理 | |
CN103502958A (zh) | 逻辑地址转译 | |
KR20150054964A (ko) | 어드레스 매핑 | |
CN102292711A (zh) | 固态存储器格式化 | |
CN103294604A (zh) | 闪存器件和使用闪存器件的电子设备 | |
CN101727395A (zh) | 闪存设备的管理系统、方法及闪存设备 | |
CN103270500A (zh) | 事务日志恢复 | |
CN103440206A (zh) | 一种固态硬盘及其混合映射方法 | |
US8332575B2 (en) | Data management systems, methods and computer program products using a phase-change random access memory for selective data maintenance | |
CN103838853A (zh) | 一种基于不同存储介质的混合文件系统 | |
CN107608625B (zh) | 一种提升固存储设备读性能的方法 | |
CN102306124A (zh) | Nand Flash芯片硬件驱动层的实现方法 | |
CN109902034A (zh) | 快照创建方法、装置、电子设备及机器可读存储介质 | |
CN103514095A (zh) | 一种数据库写入ssd 的方法和系统 | |
CN105607862A (zh) | 一种dram与mram结合具有备份电源的固态硬盘 | |
CN103412798B (zh) | 混合存储快照的实现方法及系统 | |
CN102981975B (zh) | 闪存数据的管理方法和系统 | |
CN102520885B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160323 |