CN106933503B - 在基于哈希的存储系统中从异步到同步复制的一致转变 - Google Patents

在基于哈希的存储系统中从异步到同步复制的一致转变 Download PDF

Info

Publication number
CN106933503B
CN106933503B CN201610204618.9A CN201610204618A CN106933503B CN 106933503 B CN106933503 B CN 106933503B CN 201610204618 A CN201610204618 A CN 201610204618A CN 106933503 B CN106933503 B CN 106933503B
Authority
CN
China
Prior art keywords
data storage
storage system
replication
production
snapshot
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.)
Active
Application number
CN201610204618.9A
Other languages
English (en)
Other versions
CN106933503A (zh
Inventor
D·梅瑞
I·Y·伦珀尔
T·本-莫舍
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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Publication of CN106933503A publication Critical patent/CN106933503A/zh
Application granted granted Critical
Publication of CN106933503B publication Critical patent/CN106933503B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • 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/065Replication mechanisms
    • 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/0662Virtualisation aspects
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种将在包括生产地点和复制地点的数据存储系统上的复制从异步复制转变成同步复制的系统、计算机程序产品和计算机可执行的方法,该系统、计算机程序产品和计算机可执行的方法包括接收对从异步复制到同步复制的转变的请求并且将数据存储系统改变到转变模式,其中数据存储系统将数据存储系统从使用异步复制转变成同步复制。

Description

在基于哈希的存储系统中从异步到同步复制的一致转变
本专利文献的公开内容的部分可以包含都受到版权保护的命令格式和其它计算机语言清单。版权所有者不反对由任何人影印复制如在专利和商标局专利文件或者记录中出现的那样的专利文献或者专利公开内容、但是除此之外保留所有无论任何版权权利。
技术领域
本发明涉及数据存储。
背景技术
计算机系统在速度、可靠性和处理能力方面不断地改进。如在本领域中所知的,处理和存储大量数据的计算机系统通常包括与其中存储了数据的共享数据存储系统通信的一个或者多个处理器。数据存储系统可以包括通常具有相当的鲁邦性质并且可用于跨越各种时间要求的存储的一个或者多个存储设备、例如盘驱动。一个或者多个处理器使用存储系统来执行它们的相应操作。海量存储系统(MSS)通常包括多个盘的阵列,这些盘具有用于使得盘上的数据可用的板上智能和通信电子装置以及软件。
销售数据存储系统之类的公司非常关注于向客户提供一种最小化成本同时满足客户数据存储需要的高效数据存储解决方案。对于这样的公司将有益的是具有一种用于减少实施数据存储的复杂性的方式。
发明内容
一种将在包括生产地点和复制地点的数据存储系统上的复制从异步复制转变成同步复制的系统、计算机程序产品和计算机可执行的方法,该系统、计算机程序产品和计算机可执行的方法包括接收对从异步复制到同步复制的转变的请求并且将数据存储系统改变到转变模式,其中数据存储系统将数据存储系统从使用异步复制转变成同步复制。
附图说明
可以通过参照结合附图的以下描述更好地理解在本文中公开的实施例的目的、特征和优点。附图不是为了限制在本文中包括的权利要求的范围。为了清楚,可能没有在每幅图中标注每个单元。附图未必按比例,待之以着重于图示实施例、原理和概念。因此,本公开内容的特征和优点将从结合附图进行的对示例实施例的以下具体描述而变得清楚,在附图中:
图1是根据本公开内容的一个实施例的从生产地点向远程地点进行复制的数据存储系统的简化图示;
图2是根据本公开内容的一个实施例的从异步复制转变成同步复制的数据存储系统(即如图1中所示)的时间线的简化图示;
图3A-3F是根据本公开内容的一个实施例的在从异步复制到同步复制的转变期间数据存储系统(如图1中所示)的状态图的简化图示;
图4是根据本公开内容的一个实施例的使用图1中所示数据存储系统从异步复制转变成同步复制的方法的简化流程图;
图5是根据本公开内容的一个实施例可以利用本文中所描述的技术的装置的一个实施例的示例;以及
图6是根据本公开内容的一个实施例的在可以利用本文中所描述的技术的计算机可读存储介质上体现的方法的示例。
各种附图中的相似标号指示相似要素。
具体实施方式
传统地,许多分布式系统使用一致快照机制来在源地点与远程地点之间复制数据。典型地,分布式系统处理同步或者异步复制。常规地,尽管一些分布式系统可以从异步切换成同步复制,但是当前技术在切换之时导致较长的转变时间。一般地,分布式系统在分布式系统在从同步转换成异步复制或者相反之的时候停止或者保持传入I/O。常规地,对当前复制技术的改进将有益于数据存储行业。
在许多实施例中,本公开内容可以使得复制到远程地点的生产系统从异步复制转变成同步复制。在各种实施例中,本公开实现了例如在异步复制与同步复制之间的转变而不需要完全重新同步,该完全重新同步将是非常冗长的、即使仅改变数据的微小比例也仍然需要复制全部卷。在多数实施例中,本公开内容可以实现复制类型的非破坏转变,同时可以使得用户能够在远程地点上连续地具有一致的副本。在各种实施例中,本公开内容可以提供从异步复制到同步复制的平滑性能转变而不是一次性大量性能冲击。在某些实施例中,本公开内容可以潜在地在数分钟或者数小时内实现逐步性能惩罚,直至可以实现完全同步复制。
快照机制
本实施例在一个方面中涉及瘦供应卷(thinly provisioned volume)或者其它逻辑数据构造的快照,该快照包括与地址范围的仅与前代(ancestor)有关的被改变的部分有关的元数据、因此本身仅被瘦供应。该快照可以是快照分级的部分,其中用于给定位置的元数据可以被放置在它在分级中首次出现的点处,并且由稍后的快照指向该元数据。
根据本发明的一些实施例的一个方面,提供一种用于存储器卷的存储器管理系统,该系统包括被配置为拍摄存储器卷在给定时间处的给定快照的快照供应单元,该快照包括该卷的映射表和存储器值,该映射表和存储器值包括用于包含数据的物理存储器的地址的条目,所录入的值不同于快照的前代。
在一个实施例中,该卷是瘦供应的存储器卷,在该存储器卷中虚拟地址块的相对较大的虚拟地址范围经由映射表而被映射到包括物理存储器块的相对较小的物理存储器,该映射表包含仅用于包含数据的物理存储器块的地址的条目。
在一个实施例中,给定的快照是在相继时间处拍摄的快照的分级的部分,以及其中快照供应单元被配置为向给定的快照提供用于物理存储器的如下地址的条目,数据在拍摄该分级中的最新近的先前快照之后被录入到这些地址,以及被配置为向给定的快照提供指向该分级中的先前快照的指针,这些先前快照用于在拍摄最新近先前快照之前录入的数据。
在一个实施例中,快照供应单元被配置为创建瘦供应的存储器卷的只读版本,以提供用于分级的固定基础。
在一个实施例中,快照供应单元被配置为提供该分级的第一树结构以针对每个被写入的存储器块指示所查询的包含相应条目的快照的最新近的前代快照。
在一个实施例中,快照供应单元包括遍历第一树结构以读取给定的块的值的读取功能和向该分级中的最新近快照写入块值的写入功能。
在一个实施例中,快照供应单元被配置为提供第二树结构,第二树结构针对每个写入的存储器块指示该分级的哪一级别包含针对该块的值。
在一个实施例中,快照供应单元包括读取功能,该读取功能被配置为遍历第二存储器结构以发现该分级的如下级别,该级别包含用于所请求的块的值,然后使用第一存储器结构以确定包含该值的该级别是否为该分级中具有从其请求该块的级别的前代。
在一个实施例中,快照供应单元进一步包括用于删除快照的删除功能,其中对于具有单个后代的待删除的快照,后代和父代节点的值被合并成单个节点。
在一个实施例中,物理存储器包括随机存取存储器盘。
在一个实施例中,这些块具有包括如下成员的组中的一个成员的粒度:少于100k、少于10k和4k。
在一个实施例中,快照供应单元被配置为将相应快照的映射数据对准到存储器的页面。
在一个实施例中,快照供应单元被配置为提供第三树结构,第三树结构返回该分级的相应快照的深度优先搜索排序,从而每个快照的叶子被连续地排序并且,如果快照A是快照B的前代,则A的叶子的排序完全地重叠B的叶子的排序。
在一个实施例中,快照供应单元被配置有读取功能,该读取功能配置为使用第三树结构以获得具有在所请求的存储器地址处的值的快照的列表,以及通过遍历该列表的快照并且返回进行请求的快照的列表中的相应快照来发现该列表中的最接近的前代,该相应快照是进行请求的快照的前代并且具有最小数目的叶子。
在一个实施例中,快照供应单元被配置为提供间接层或者后备(look-aside)表以提供数据去重复。
根据本发明的第二方面,提供一种存储器管理方法,该方法包括:拍摄存储器卷在给定时间处的给定快照,向该快照提供卷的映射表和存储器值,该映射表和存储器值包括用于包含数据的物理存储器的地址的条目,并且其中这些值不同于前代中的数据。
除非另有定义,本文中使用的所有技术和/或科学术语具有与在本发明涉及的领域中的普通技术人员普遍地理解的含义相同的含义。虽然可以在实践或者测试本发明的实施例时使用与本文中描述的方法和材料相似或者等效的方法和材料,但是以下描述示例性方法和/或材料。在冲突的情况下,将以专利说明书(包括定义)为主。此外,材料、方法和示例仅为示例而未旨在于必然地限制。
本发明的实施例的方法和/或系统的实现方式可以涉及到人工地、自动地或者其组合执行或者完成选择的任务。另外,根据本发明的方法和/或系统的实施例的实际工具和装备,若干选择的任务可以由硬件、由软件或者由固件或者由其组合使用操作系统来实施。
例如可以实施用于根据本发明的实施例执行选择的任务的硬件作片或者电路。作为软件,可以实施根据本发明的实施例的选择的任务作为由计算机使用任何适当操作系统来执行的多个软件指令。在本发明的一个示例实施例中,根据本文中所描述的方法和/或系统的示例实施例的一个或者多个任务由数据处理器、比如用于执行多个指令的计算平台执行。可选地,数据处理器包括用于存储指令和/或数据的一些易失性存储装置,和/或用于存储指令和/或数据的非易失性存储装置、例如磁硬盘和/或可拆卸介质。可选地,也可选地提供网络连接。也可以可选地提供显示器和/或用户输入设备、比如键盘或者鼠标。
可以在与本申请共同地转让并且通过本文中引用而结合的、标题为“SnapshotMechanism”的第13/470,317号美国专利申请中可以找到关于快照机制的更多信息。
基于哈希的复制
在内容可寻址存储(CAS)阵列中,在例如4KB的块中存储数据,其中每个块具有在闪存上保存的例如20字节的唯一大哈希签名。如本文中描述的那样,哈希签名由例如5字节的小存储器内句柄(handle)(本文中称为短哈希句柄)访问。这些句柄对于每个阵列是唯一的、但是跨阵列未必是唯一的。在两个CAS阵列之间复制时,使用哈希签名而不是发送整个块是高效得多的。如果目标已经具有与哈希签名对应的数据块,则无需发送对应数据。然而,读取哈希签名可能是高代价的并且如果目标没有数据则还是浪费的(在这一情况下,发送数据而无哈希签名并且让目标计算哈希签名是更快的)。尽管短哈希句柄容易地可用而无需从闪存读取,但是由于短哈希句柄不是世界范围唯一的,所以它们不能被简单地用来检查目标是否包含哈希签名。在一些实现方式中,短哈希句柄是用于哈希签名的快捷方式并且可以给出在阵列中存在哈希签名的可靠提示。尽管说明书描述与去重复存储设备使用这一方式,但是本领域普通技术人员将认识本文中描述的方式可以与任何类型的存储设备、包括未使用去重复的存储设备使用。
本文中描述的示例包括联网存储器系统。联网存储器系统包括为数据的内容可寻址存储而布置的多个存储器存储单元。使用分离数据和控制平面来向存储单元传送数据和从存储单元传送数据。哈希处理用于内容寻址,并且哈希处理在允许的输入范围内产生均匀地分布的结果。哈希处理定义物理地址,从而数据存储进行对系统资源的均匀使用。
相对小的粒度可以例如与4KB的页面大小一起使用,但是可以由本领域技术人员判断选择更小或者更大块大小。这使得设备能够将传入用户访问模式与从内部访问模式分离开。也就是说,传入用户访问模式可以大于4KB或者其它系统确定的页面大小、并且因此可以被转换成系统内的多个写入操作,每个写入操作被分离地哈希处理和分离地存储。
内容可寻址数据存储可以用来确保出现两次的数据被存储在相同位置。因此可以标识和避免不必要的重复写入操作。可以在本系统中包括这样的特征以作为数据去重复。它也增加受写入/擦除操作的数目限制的那些存储单元的寿命以及使得系统总体更高效。
控制和数据的分离可以实现基本上无限可缩放水平,因为可以在任何数目的处理单元内拆分控制操作,并且可以在任何数目的数据存储单元内拆分数据操作。这允许容量和性能二者的可缩放、并且因此可以允许在不同模块和节点之间有效地平衡操作。
分离也可以帮助加速系统的操作。也就是说,它可以加速写入和读取。这可以归因于:
(a)在多个节点/模块之上的某些控制和数据动作的并行操作。
(b)按操作类型(控制或者数据)使用最优内部通信/联网技术,这些技术被设计为最小化延时(延迟)而最大化每个操作类型的吞吐量。
控制和数据路径的分离也可以允许每个控制或者数据信息单元以最优方式在节点或者模块之间在系统内行进,这仅意味着在何处需要它和/或如果需要它/在需要它时。最优的地方和时间坐标的集合对于控制和数据单元不是相同的,并且因此路径的分离以在别的情况下不可能的方式来确保这样的数据和控制移动的优化。分离在保持工作负荷和内部通信处于最小必需时是重要的并且可以转化成增加的性能优化。
数据去重复——意味着确保不在不同地方存储相同数据两次——是使用数据到D模块和在D模块内的基于内容的映射的固有效果。
可缩放是架构固有的。在架构中没有限制本文中进一步描述的不同R、C、D和H模块的数目。因此可以组装任何数目的这样的模块。添加越多模块,系统的性能就变得越高而它可以处理的容量就越大。因此,实现了性能和容量的可缩放。
可以在与本申请共同地转让并且通过本文中引用而结合的、标题为“Hash-BasedReplication”的第14/037,577号美国专利申请中可以找到关于基于哈希的复制的更多信息。
从异步到同步复制的转变
在许多实施例中,本公开内容可以使得数据存储系统能够从异步复制转变成同步复制。在各种实施例中,本公开内容可以实现在复制类型之间的转变而对数据存储系统的影响最小。在某些实施例中,本公开内容可以使得数据存储系统能够根据配置而在数分钟、数小时和/或数天内展开转变复制类型的影响。
在多数实施例中,数据存储系统可以包括生产地点和远程地点。在各种实施例中,生产地点和远程地点可以是内容可寻址存储(CAS)。在某些实施例中,在CAS中可以存储卷数据作为地址到哈希元数据表(A2H)和后端哈希编索引盘存储的组合。在一些实施例中,本公开内容可以使得数据存储系统能够在三(3)个循环内完成从异步复制到同步复制的转变,同时保持远程地点的一致和最小化对主机向生产地点的写入的影响。
在许多实施例中,在开始异步到同步的转变时,起点可以是在异步复制模式中的稳定系统。在各种实施例中,数据存储系统的数据管理周期性地创建快照并且向远程地点异步地复制在最新近的快照与先前的快照之间的差异。
在多数实施例中,数据存储系统接收对从异步复制到同步复制的转变的请求。在各种实施例中,数据存储系统可以等待直至新快照可以被创建并且被从生产地点向远程地点异步地复制。在这些实施例中,数据存储系统可以被置于转变模式中,其中可以使得数据存储系统能够发起从异步复制到同步复制的转变。在某些实施例中,在转变模式期间,可以使得数据存储系统能够同时地执行同步复制命令和异步命令。
在多数实施例中,在转变模式中的数据存储系统可以使用扫描过程以比较生产地点的A2H表与新近创建的快照的A2H表。在各种实施例中,数据存储系统可以从开始到结束地扫描A2H表。在一些实施例中,数据存储系统可以一次一个条目地扫描A2H表。在其它实施例中,可以使得数据存储系统能够在进行处理之前扫描A2H表的多个条目。在一些实施例中,如果扫描过程确定在生产A2H表与快照A2H表之间存在差异,则扫描过程可以锁定生产A2H表的条目并且将该条目放置到准备好要向远程地点复制的缓冲器中。在各种实施例中,可以锁定A2H表的条目以防止主机更新该条目。在一些实施例中,扫描过程可以锁定和复制个体条目。在其它实施例中,扫描过程可以立刻锁定和复制多个条目。在一些实施例中,扫描过程可以立即地向远程地点复制条目。在某些实施例中,远程地点可以包括用于接收所复制的数据的缓冲器。在其它实施例中,可以使远程地点能够立即地处理接收到的所复制的数据。在多数实施例中,在完成复制锁定的条目时,扫描过程可以解锁该条目并且继续扫描生产A2H表。
在各种实施例中,在正在执行扫描过程之时,可以使得数据存储系统能够对与生产A2H表相关联的数据执行异步和同步复制。在多数实施例中,数据存储系统可以允许异步地更新在生产A2H表内的可能尚未被扫描过程扫描的条目。在那些实施例中,可以在扫描过程处理经更新的A2H表条目时异步地复制这些条目。在某些实施例中,可以使得尚未被扫描过程处理的生产A2H表条目能够在被扫描过程异步地复制之前被多次更新。在各种实施例中,用于已经被扫描过程扫描的生产A2H表条目的数据更新可以立即同步地被复制到远程地点。在多数实施例中,在扫描过程在生产A2H表内进展时,数据存储系统缓慢地从异步复制转变成同步复制。在各种实施例中,一旦扫描过程完成,可以使得数据存储系统能够从转变模式改变到同步复制模式。
参照图1的示例实施例,图1是根据本公开内容的一个实施例的从生产地点复制到远程地点的数据存储系统的简化图示。数据存储系统100包括生产地点105和远程地点125。在许多实施例中,生产地点和/或远程地点可以是可以能够存储一个或者多个卷的数据存储阵列和/或数据存储设备。在各种实施例中,可以使得生产地点和/或远程地点能够异步地和/或同步地复制到辅助地点。生产地点105包括能够存储来自利用生产地点105的应用、主机和/或用户的数据的卷110。生产地点105包括生产A2H表115,该生产A2H表115能够将地址映射到用于生产地点105上的卷100的哈希值。使得生产地点105能够包括快照A2H表120,该快照A2H表120能够将地址映射到从卷110创建的快照的哈希值。
在这个实施例中,远程地点125包括存储来自生产地点105的所复制的数据的卷130。远程地点125包括A2H表135,该A2H表135包含地址到在卷130内存储的哈希的映射。如图所示,使得数据存储系统100能够使用消息140将数据从生产地点105复制到远程地点125。使得消息140能够包含复制数据,该复制数据可以包括在快照和/或快照数据整体之间的差异。使得数据存储系统100能够最小化使用消息140而传送的数据量。
参照图2的示例实施例。图2是根据本公开内容的一个实施例的从异步复制转变成同步复制的数据存储系统(即如图1中所示)的时间线的简化图示。如图所示,时间线包括三个循环。在第一循环期间,在T(0)与T(1)之间,数据存储系统100(图1)正在同步模式中复制数据。在这一模式中,生产地点105(图1)异步地复制到远程地点125(图1)。在第二循环期间,在T(1)与T(2)之间,数据存储系统100(图1)改变到能够在转变到完全地在同步模式中复制之时同时地处理异步复制和同步复制的转变模式。在第三循环期间,在T(2)与T(3)之间,数据存储系统100(图1)已经完全地转变成同步复制模式并且在同步复制模式中继续。
参照图3A-3F的示例实施例。图3A-3F是根据本公开内容的一个实施例的在从异步复制到同步复制的转变期间的数据存储系统(如图1中所示)的状态图的简化图示。图3A示出数据存储系统100(图1)的第一状态,其中数据存储系统100(图1)正在异步模式中进行复制。在这个实施例中,数据存储系统100(图1)处于T(0)与T(1)之间的循环一(1)。表305示出用于生产地点105(图1)的A2H表。如图所示,数据存储系统100(图1)异步地将数据从生产地点105(图1)复制到远程地点125(图1)。
图3B示出数据存储系统100(图1)的第二状态。在这个实施例中,数据存储系统100(图1)已经接收对从异步复制到同步复制的转变的请求。在许多实施例中,对转变的请求可以来自数据存储系统的应用、主机机器、用户和/或管理员。数据存储系统100(图1)等待要被创建的快照和相关联的A2H表310。使得数据存储系统100(图1)能够移入转变模式中并且发起从异步复制到同步复制的改变。
图3C示出数据存储系统100(图1)的第三状态。在这个实施例中,数据存储系统100(图1)在时间T(1)与T(2)之间处于转变模式并且能够扫描生产A2H 305和快照A2H 310二者,以确定是否在A2H 310与A2H 305之间存在差异。扫描过程确定生产地点105(图1)自从创建与A2H 305相关联的快照起是否已经接收任何更新。在这个实施例中,数据存储系统100(图1)在地址“0001”递增地开始扫描A2H 305和A2H 310。在发现差异时,使得数据存储系统100(图1)能够在A2H表305中锁定相关联条目并且异步地将条目复制到远程地点125(图1)。一旦被扫描和异步地复制,如需要的的话,使得数据存储系统100(图1)能够解锁先前被锁定的条目并且继续比较A2H 305和A2H 310。在一些实施例中,在可以未使得数据存储系统能够在A2H表内锁定条目时,可以使得数据存储系统能够即刻地将差异复制到远程地点并且移向下一条目。在某些实施例中,在可以使得数据存储系统能够锁定A2H表的条目时,可以使得数据存储系统能够锁定和搁置一个或者多个条目用于在以后时间、比如在可以达到缓冲器和/或大小限制时的异步复制。
图3D示出数据存储系统100(图1)的第四状态。在这个实施例中,数据存储系统100(图1)当前在转变模式中并且在扫描生产A2H 305和快照A2H 310的过程中。扫描指针当前处理地址“0003”而同时更新315正在数据存储系统100上的远程地点105处被接收。如图所示,更新315涉及数据存储系统100已经扫描的地址“0001”。这样,数据存储系统100通过同步复制到远程地点125来处理更新315。
图3E示出数据存储系统100(图1)的第五状态。在这个实施例中,数据存储系统100(图1)当前处于转变模式并且仍然处于扫描生产A2H表305和快照A2H表310的过程中。数据存储系统100(图1)当前正扫描处于地址“0003”的条目。如图所示,数据存储系统100已经接收到针对在生产地点105(图1)上存储的数据的更新320。更新320包含对与地址“0004”相关联的数据的更新。在数据存储系统100尚未扫描针对地址“0004”的条目时,数据存储系统100更新针对地址“0004”的条目并且对更新请求做出响应更新请求完成。在数据存储系统100尚未扫描在地址“0004”的条目时,数据存储系统100等待复制处于地址“0004”的条目,直至已经扫描该条目。在被数据存储系统100扫描时,针对地址“0004”的条目变成异步地被复制到远程地点125。在许多实施例中,对处于转变模式的生产A2H表中的条目的更新可以发生多次。在各种实施例中,如果在被扫描之前对条目做出多个更新,则数据存储系统可以等待异步地进行复制,直至可以扫描该条目。在某些实施例中,在被扫描之后对条目的每个更新可以从生产地点被同步地复制到远程地点。
图3F示出数据存储系统100(图1)的第六状态。在这个实施例中,数据存储系统100(图1)已经完成扫描生产A2H 305和快照A2H 310。在完成时,数据存储系统100(图1)删除快照A2H 310并且改变到同步复制模式。在改变到同步复制模式之后接收到的更新将仅使用同步复制来管理,除非产生用于转变成另一模式的请求、即回到异步复制模式和/或停止复制的请求。
参照图1和4的示例实施例。图4是根据本公开内容的一个实施例的使用图1中所示数据存储系统从异步复制转变成同步复制的方法的简化流程图。数据存储系统100包括生产地点105和远程地点125。主机150将卷110用于生产地点105内的数据存储。在数据存储系统100内当前存储的数据正在异步地从生产地点105被复制到远程地点125。生产地点105在消息145中接收对从异步复制到同步复制的转变的请求(步骤400)。数据存储系统100创建和复制生产地点105的快照(步骤410)。数据存储系统100改变到转变模式(步骤420)。数据存储系统100初始化用于扫描寻找在生产数据与快照之间的差异的扫描过程(步骤430)。扫描寻找差异包括确定在生产A2H 115与快照A2H 120之间的差异以确定自从创建与快照A2H120相关联的快照起是否已经接收到更新。在生产A2H 115和快照A2H 120正被扫描时,数据存储系统缓慢地从异步复制转变成同步复制并且基于在扫描期间使用的扫描指针的位置处理接收到的数据更新(步骤440)。如果接收到的更新与生产A2H 115的已经被扫描的部分相关联,则数据存储系统100将同步地将接收到的更新复制到远程地点125。如果接收到的更新与生产A2H 115的未被扫描的部分相关联,则数据存储系统100将更新生产A2H 115表并且在扫描生产A2H 115表的更新的条目时异步地复制数据。
概述
本发明的方法和装置可以采用至少部分为在有形非瞬态介质、比如软盘、CD-ROM、硬驱动、随机存取或者只读存储器或者任何其它机器可读存储介质中体现的程序代码(即指令)的形式。
图5是根据本发明的一个示例实施例的可以利用本文中描述的技术的装置、比如在网络500中的计算机510。计算机510可以包括都可以由互连525、比如总线连接的一个或者多个I/O端口502、处理器503和存储器504。处理器503可以包括程序逻辑505。I/O端口502可以提供与存储器介质583、I/O设备585和驱动587、比如磁驱动、光驱动或者固态驱动(SSD)的连通。在程序代码被加载到存储器504中并且由计算机510执行时,机器变成用于实现本发明的装置。在一个或者多个通用处理器503上实施时,程序代码与这样的处理器组合以提供与具体逻辑电路类似地操作的独特装置。这样,通用数字机器可以被变换成专用数字机器。
图6是图示根据本发明的一个示例实施例的可以利用本文中描述的技术的在计算机可读存储介质660上体现的方法的框图。图6示出如图所示在计算机可读介质660上体现的程序逻辑655,并且其中该逻辑被编码在计算机可执行代码中,该计算机可执行代码被配置用于执行本发明的方法、并且由此形成计算机程序产品600。程序逻辑655可以是在存储器504上的在图5中的处理器503上加载的相同逻辑505。可以将程序逻辑体现在软件模块中、体现为模块、体现为硬件模块或者体现在虚拟机上。
可以体现用于实现该方法的逻辑为前述系统的部分,该部分用于实现参照例如图1-6中所示实施例描述的方法。为了举例说明本发明,将本发明描述为体现在具体配置中并且使用特殊逻辑布置,但是本领域技术人员将认识该设备不限于该具体配置、但是实际上仅由在本说明书中包括的权利要求限制。
虽然为了理解清楚而已经用一些细节描述前述发明,但是将认识可以在所附权利要求的范围内实现某些改变和修改。因而,本实现方式将视为示例而非限制,并且本发明将不限于本文中给出的细节、但是可以在所附权利要求的范围和等效含义内加以修改。

Claims (20)

1.一种将在包括生产地点和复制地点的内容可寻址数据存储系统上的复制从异步复制转变成同步复制的计算机可执行的方法,所述计算机可执行的方法包括:
接收用以在转变模式中执行复制的请求,其中所述转变模式包括从异步复制到同步复制的转变,其中所述转变模式被使得能够同时执行异步复制和同步复制;以及
将所述内容可寻址数据存储系统改变到所述转变模式,其中所述内容可寻址数据存储系统将所述内容可寻址数据存储系统从使用异步复制转变成同步复制,其中所述内容可寻址数据存储系统被使得能够在处于所述转变模式的同时接收数据IO;
其中在所述转变模式期间,所述内容可寻址数据存储系统被使得能够同步地处理所接收的输入/输出I/O的一部分并且异步地处理所接收的I/O的第二部分。
2.根据权利要求1所述的计算机可执行的方法,其中在所述内容可寻址数据存储系统处于所述转变模式时:
创建快照;
将所述快照复制到所述复制地点;以及
处理所述生产地点上的与所述快照有关的数据。
3.根据权利要求2所述的计算机可执行的方法,其中处理包括:
比较生产地址到哈希A2H表的每个条目与所述快照的快照A2H表的每个条目以确定所述生产A2H表是否包含经更新的数据;
将在所述生产A2H表的条目与所述快照A2H表的条目之间的差异复制到远程地点。
4.根据权利要求3所述的计算机可执行的方法,其中依次地完成比较所述生产A2H表的每个条目与所述快照A2H表的每个条目。
5.根据权利要求3所述的计算机可执行的方法,其中比较包括:
使用扫描指针,从第一条目开始并且依次地继续每个A2H表,来扫描所述生产A2H表的每个条目和所述快照A2H表的每个条目。
6.根据权利要求5所述的计算机可执行的方法,进一步包括:
接收对所述生产A2H表的已经扫描的部分的数据更新;以及
同步地复制接收到的所述数据。
7.根据权利要求5所述的计算机可执行的方法,进一步包括:
接收对所述生产A2H表的先前未扫描的部分的数据更新,其中所述生产地点等待复制接收到的所述数据直至被扫描。
8.一种数据存储系统,包括:
包括生产地点和复制地点的内容可寻址数据存储系统;以及
被编码在一个或者多个计算机的存储器中的计算机可执行程序逻辑,所述计算机可执行程序逻辑使得能够将在所述内容可寻址数据存储系统上的复制从异步复制转变成同步复制,其中所述计算机可执行程序逻辑被配置用于执行:
接收用以在转变模式中执行复制的请求,其中所述转变模式包括从异步复制到同步复制的转变,其中所述转变模式被使得能够同时执行异步复制和同步复制;以及
将所述内容可寻址数据存储系统改变到所述转变模式,其中所述内容可寻址数据存储系统将所述内容可寻址数据存储系统从使用异步复制转变成同步复制,其中所述内容可寻址数据存储系统被使得能够在处于所述转变模式的同时接收数据IO;
其中在所述转变模式期间,所述内容可寻址数据存储系统被使得能够同步地处理所接收的输入/输出I/O的一部分并且异步地处理所接收的I/O的第二部分。
9.根据权利要求8所述的系统,其中在所述内容可寻址数据存储系统处于所述转变模式时:
创建快照;
将所述快照复制到所述复制地点;以及
处理所述生产地点上的与所述快照有关的数据。
10.根据权利要求9所述的系统,其中处理包括:
比较生产地址到哈希A2H表的每个条目与所述快照的快照A2H表的每个条目以确定所述生产A2H表是否包含经更新的数据;
将在所述生产A2H表的条目与所述快照A2H表的条目之间的差异复制到远程地点。
11.根据权利要求10所述的系统,其中依次地完成比较所述生产A2H表的每个条目与所述快照A2H表的每个条目。
12.根据权利要求10所述的系统,其中比较包括:
使用扫描指针,从第一条目开始并且依次地继续每个A2H表,来扫描所述生产A2H表的每个条目和所述快照A2H表的每个条目。
13.根据权利要求12所述的系统,其中所述计算机可执行程序逻辑进一步被配置用于执行:
接收对所述生产A2H表的已经扫描的部分的数据更新;以及
同步地复制接收到的所述数据。
14.根据权利要求12所述的系统,其中所述计算机可执行程序逻辑进一步被配置用于执行:
接收对所述生产A2H表的先前未扫描的部分的数据更新,其中所述生产地点等待复制接收的所述数据直至被扫描。
15.一种用于将在包括生产地点和复制地点的内容可寻址数据存储系统上的复制从异步复制转变成同步复制的计算机程序产品,所述计算机程序产品包括:
被编码有计算机可执行代码的非瞬态计算机可读介质,所述代码被配置为实现执行:
接收用以在转变模式中执行复制的请求,其中所述转变模式包括从异步复制到同步复制的转变,其中所述转变模式被使得能够同时执行异步复制和同步复制;以及
将所述内容可寻址数据存储系统改变到所述转变模式,其中所述内容可寻址数据存储系统将所述内容可寻址数据存储系统从使用异步复制转变成同步复制,其中所述内容可寻址数据存储系统被使得能够在处于所述转变模式的同时接收数据IO;
其中在所述转变模式期间,所述内容可寻址数据存储系统被使得能够同步地处理所接收的输入/输出I/O的一部分并且异步地处理所接收的I/O的第二部分。
16.根据权利要求15所述的计算机程序产品,其中在所述内容可寻址数据存储系统处于所述转变模式时:
创建快照;
将所述快照复制到所述复制地点;以及
处理所述生产地点上的与所述快照有关的数据。
17.根据权利要求16所述的计算机程序产品,其中处理包括:
比较生产地址到哈希A2H表的每个条目与所述快照的快照A2H表的每个条目以确定所述生产A2H表是否包含经更新的数据;
将在所述生产A2H表的条目与所述快照A2H表的条目之间的差异复制到远程地点。
18.根据权利要求17所述的计算机程序产品,其中依次地完成比较所述生产A2H表的每个条目与所述快照A2H表的每个条目。
19.根据权利要求17所述的计算机程序产品,其中比较包括:
使用扫描指针,从第一条目开始并且依次地继续每个A2H表,来扫描所述生产A2H表的每个条目和所述快照A2H表的每个条目。
20.根据权利要求19所述的计算机程序产品,其中所述代码进一步被配置为实现执行:
接收对所述生产A2H表的已经扫描的部分的数据更新;以及
同步地复制接收到的所述数据。
CN201610204618.9A 2015-12-29 2016-04-01 在基于哈希的存储系统中从异步到同步复制的一致转变 Active CN106933503B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/982,951 2015-12-29
US14/982,951 US10534547B2 (en) 2015-12-29 2015-12-29 Consistent transition from asynchronous to synchronous replication in hash-based storage systems

Publications (2)

Publication Number Publication Date
CN106933503A CN106933503A (zh) 2017-07-07
CN106933503B true CN106933503B (zh) 2020-02-14

Family

ID=59086525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610204618.9A Active CN106933503B (zh) 2015-12-29 2016-04-01 在基于哈希的存储系统中从异步到同步复制的一致转变

Country Status (2)

Country Link
US (1) US10534547B2 (zh)
CN (1) CN106933503B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10726043B1 (en) * 2016-06-28 2020-07-28 EMC IP Holding Company LLC Optimized hash comparison in replication of content addressable storage
KR102270103B1 (ko) * 2017-07-11 2021-06-28 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10359965B1 (en) * 2017-07-28 2019-07-23 EMC IP Holding Company LLC Signature generator for use in comparing sets of data in a content addressable storage system
US11080145B1 (en) * 2017-10-12 2021-08-03 EMC IP Holding Company LLC Dictionary synchronization over a transport with guaranteed ordering
US10489081B2 (en) * 2017-12-15 2019-11-26 International Business Machines Corporation Reducing coordination times in asynchronous data replication environments
US10705753B2 (en) 2018-05-04 2020-07-07 EMC IP Holding Company LLC Fan-out asynchronous replication logical level caching
WO2020077027A1 (en) * 2018-10-11 2020-04-16 Varada Ltd. Method and system for executing queries on indexed views
CN111125001A (zh) 2018-10-31 2020-05-08 伊姆西Ip控股有限责任公司 快照复制方法、电子设备和计算机程序产品
US10613793B1 (en) 2018-11-01 2020-04-07 EMC IP Holding Company LLC Method to support hash based xcopy synchronous replication
US10942654B2 (en) * 2018-11-01 2021-03-09 EMC IP Holding Company LLC Hash-based data recovery from remote storage system
US10747667B2 (en) * 2018-11-02 2020-08-18 EMC IP Holding Company LLC Memory management of multi-level metadata cache for content-based deduplicated storage
US11068351B2 (en) * 2018-11-19 2021-07-20 International Business Machines Corporation Data consistency when switching from primary to backup data storage
US10719249B1 (en) 2019-01-31 2020-07-21 EMC IP Holding Company LLC Extent lock resolution in active/active replication
US11157455B2 (en) 2019-03-19 2021-10-26 Netapp Inc. Inofile management and access control list file handle parity
US11151162B2 (en) 2019-03-19 2021-10-19 Netapp Inc. Timestamp consistency for synchronous replication
US11086551B2 (en) 2019-03-19 2021-08-10 Netapp, Inc. Freeing and utilizing unused inodes
US10852985B2 (en) 2019-03-19 2020-12-01 Netapp Inc. Persistent hole reservation
US11151049B2 (en) * 2019-10-24 2021-10-19 EMC IP Holding Company, LLC System and method for data migration from a CAS storage system to a non-CAS storage system
CN111309803B (zh) * 2020-01-17 2023-03-14 西安奥卡云数据科技有限公司 基于资源使用率的智能远程复制系统
US11429493B2 (en) 2020-01-20 2022-08-30 EMC IP Holding Company LLC Remote rollback of snapshots for asynchronous replication
US11126361B1 (en) * 2020-03-16 2021-09-21 EMC IP Holding Company LLC Multi-level bucket aggregation for journal destaging in a distributed storage system
US11593396B2 (en) 2020-09-23 2023-02-28 EMC IP Holding Company LLC Smart data offload sync replication
US11281407B1 (en) 2020-09-23 2022-03-22 EMC IP Holding Company LLC Verified write command in active-active replication

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257653B1 (en) * 2003-09-29 2007-08-14 Emc Corporation Switching between copy mode and synchronous RDF mode
JP2006236019A (ja) * 2005-02-25 2006-09-07 Hitachi Ltd データコピー方式の切替方法
JP2008250695A (ja) * 2007-03-30 2008-10-16 Nec Corp ディスクアレイコントローラ及びこれを備えたディスクアレイシステム
WO2010113167A1 (en) * 2009-03-30 2010-10-07 Hewlett-Packard Development Company L.P. Deduplication of data stored in a copy volume
WO2011157144A2 (zh) * 2011-05-31 2011-12-22 华为技术有限公司 数据读写方法、装置和存储系统
US8661214B2 (en) * 2011-09-21 2014-02-25 Hitachi, Ltd. Storage system and data migration processing control method
US9817606B1 (en) * 2013-09-16 2017-11-14 Nutanix, Inc. System and methods for dynamically adjusting between asynchronous and synchronous data replication policies in a networked virtualization environment
US9239845B2 (en) * 2013-12-24 2016-01-19 Hitachi, Ltd. Backup system

Also Published As

Publication number Publication date
US10534547B2 (en) 2020-01-14
CN106933503A (zh) 2017-07-07
US20170185326A1 (en) 2017-06-29

Similar Documents

Publication Publication Date Title
CN106933503B (zh) 在基于哈希的存储系统中从异步到同步复制的一致转变
US11093159B2 (en) Storage system with storage volume pre-copy functionality for increased efficiency in asynchronous replication
US11775392B2 (en) Indirect replication of a dataset
US10592159B2 (en) Processing device configured for data integrity testing utilizing replicated test metadata file
US11055014B2 (en) Storage system providing automatic configuration updates for remote storage objects in a replication process
US11249834B2 (en) Storage system with coordinated recovery across multiple input-output journals of different types
US9665305B1 (en) Tiering data between two deduplication devices
US10374792B1 (en) Layout-independent cryptographic stamp of a distributed dataset
US8930648B1 (en) Distributed deduplication using global chunk data structure and epochs
US20190303010A1 (en) Storage system with concurrent fan-out asynchronous replication using decoupled replication sessions
US9043540B2 (en) Systems and methods for tracking block ownership
WO2020204882A1 (en) Snapshot-enabled storage system implementing algorithm for efficient reading of data from stored snapshots
WO2020204880A1 (en) Snapshot-enabled storage system implementing algorithm for efficient reclamation of snapshot storage space
US10254964B1 (en) Managing mapping information in a storage system
US20200265034A1 (en) Data deduplication acceleration
US10963177B2 (en) Deduplication using fingerprint tries
US20210240911A1 (en) Online change of page size in a content aware storage logical layer
US10936243B2 (en) Storage system and data transfer control method
US11055005B2 (en) Background deduplication using trusted fingerprints
US10747474B2 (en) Online cluster expansion for storage system with decoupled logical and physical capacity
US11663166B2 (en) Post-processing global deduplication algorithm for scaled-out deduplication file system
Takatsu et al. PPFS: A scale-out distributed file system for post-petascale systems
US10073874B1 (en) Updating inverted indices
US20220358096A1 (en) Management of consistent indexes without transactions
US11748039B2 (en) Vblock metadata management

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200116

Address after: Massachusetts, USA

Applicant after: Yimuxi IP holding limited liability company

Address before: Massachusetts, USA

Applicant before: Imsey Company

GR01 Patent grant
GR01 Patent grant