首页> 中国专利> 快照系统中的性能存储系统以用于容量优化存储系统的性能改进

快照系统中的性能存储系统以用于容量优化存储系统的性能改进

摘要

一种用于存储数据的系统包括用于存储一个或多个数据项目的性能存储系统。所述一个或多个数据项目的数据项目包括数据文件或数据块。该系统还包括用于在性能存储系统中存储所述一个或多个数据项目的存储数据项目的快照的段存储系统。该存储数据项目的快照的取得使得能够调用如在快照时存储的该存储数据项目。至少一个新写的段被存储为对以前存储段的引用。

著录项

  • 公开/公告号CN102576321A

    专利类型发明专利

  • 公开/公告日2012-07-11

    原文格式PDF

  • 申请/专利权人 EMC公司;

    申请/专利号CN201080042904.0

  • 发明设计人 H·R·帕特森;

    申请日2010-09-21

  • 分类号G06F11/00;G06F13/00;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人姜冰

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 06:04:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-06-09

    授权

    授权

  • 2012-09-26

    实质审查的生效 IPC(主分类):G06F11/00 申请日:20100921

    实质审查的生效

  • 2012-07-11

    公开

    公开

说明书

本申请向2009年9月22日提交的名称为PERFORMANCE  IMPROVEMENT OF A CAPACITY OPTIMIZED STORAGE SYSTEM 的美国临时专利申请No.61/277271(代理人卷号DDOMP033+)要求 优先权,该申请通过引用结合于本文中以用于所有目的。

背景技术

段去除重复(deduplication)存储系统在存储容量方面是高效的。 在段去除重复存储系统中,数据流或数据块被分割成段。在段以前未 存储的情况下存储段。在段以前已被存储的情况下,存储对以前存储 的段的引用。还存储有关存储的段如何用于重构数据流或数据块的信 息。然而,段去除重复存储系统在一些情况下对于在系统中存储数据 和检索存储的数据太慢。存储能够变得太慢,因为必须搜索以前存储 的段以了解进入的段是否与以前存储的段相同。检索能够变得太慢, 因为必须从以前存储的多个数据段来重构数据。

附图说明

在下面的详细描述和附图中,公开了本发明的不同实施例。

图1A是示出存储系统的一实施例的框图。

图1B是示出存储用户系统的一实施例的框图。

图2是示出段存储系统的一实施例的框图。

图3是示出性能存储系统的一实施例的框图。

图4是示出用于存储系统的过程的一实施例的流程图。

图5是示出用于存储系统的过程的一实施例的流程图。

图6是示出用于从存储系统提供请求的数据的过程的一实施例的 流程图。

图7是示出用于取得性能存储单元中数据项目的快照的过程的一 实施例的流程图。

具体实施方式

本发明能够以多种方式来实现,包括作为过程、设备、系统、物 质组成、计算机可读存储媒体上实施的计算机程序产品和/或处理器, 如配置成执行耦合到处理器的存储器上和/或由所述存储器提供的指 令的处理器。在此说明书中,这些实现或本发明可采用的任何其它形 式可称为技术。通常,在本发明范围内可改变公开的过程的步骤顺序。 除非另有说明,否则,诸如处理器和存储器等被描述为配置成执行任 务的组件可实现为暂时配置成在给定时间执行该任务的组件或制造 为执行该任务的特定组件。在本文中使用时,术语“处理器”指配置成 处理诸如计算机程序指令等数据的一个或多个装置、电路和/或处理 核。

本发明一个或多个实施例的详细描述在下面与显示本发明原理的 附图一起提供。本发明连同此类实施例进行描述,但本发明并不限于 任何实施例。本发明的范围只受权利要求的限制,并且本发明包括许 多备选、修改和等同。许多特定的细节在下面的描述中陈述以便提供 本发明的详细理解。这些细节被提供以用于示例的目的,并且本发明 可在一些或所有这些特定细节不存在的情况下根据权利要求来实践。 为了清晰的目的,与本发明相关技术领域中已知的技术材料未详细描 述以免不必要地混淆本发明。

本文公开了一种用于存储数据的系统。该系统包括用于存储一个 或多个数据项目的性能存储系统。所述一个或多个数据项目的数据项 目包括数据文件或数据块。该系统还包括用于在性能存储系统中存储 所述一个或多个数据项目的存储数据项目的快照的段存储系统。该存 储数据项目的快照的取得使得能够调用(recall)如在快照时存储的该 存储数据项目。至少一个新写的段被存储为对以前存储段的引用。

在一些实施例中,公开了一种用于存储数据的系统。该系统包括 用于存储数据流或数据块的性能存储单元。数据流或数据块包括一个 或多个数据项目。该系统还包括用于将所述一个或多个数据项目的存 储的数据项目自动存储为段集合的段存储系统。该系统还包括用于在 该存储的数据项目已使用段存储系统来存储的情况下存储段集合的 性能段存储单元。

在一些实施例中,公开了一种用于存储数据的系统。该系统包括 性能存储单元和性能段存储单元。该系统还包括确定器。确定器确定 请求的数据是否存储在性能存储单元中。在请求的数据未存储在性能 存储单元中的情况下,确定器确定请求的数据是否存储在性能段存储 单元中。

在一些实施例中,存储系统通过在性能存储系统中存储数据来提 供性能。性能存储系统中存储的数据自动存储在存储容量优化的存储 系统(例如,段存储系统、去除重复段存储系统、压缩存储系统等) 中。在各种实施例中,在性能存储系统已满、文件完成被使用、时期 结束、指示调度的传送或用于自动存储的任何其它适当准则的情况 下,发生自动存储。在一些实施例中,在容量优化的存储系统中自动 存储一数据项目后,可从性能优化的存储系统删除该数据项目。在一 些实施例中,在希望数据项目从存储系统以高性能可用于用户或另一 网络附连系统的情况下,将数据项目传送回性能存储系统。在一些实 施例中,传送回性能存储系统的数据项目以容量优化方式被存储(例 如,作为去除重复段,被压缩等)。

在一些实施例中,在确定一个或多个数据项目不需要用于从存储 系统由用户或另一网络附连的系统来高性能访问的情况下,从性能存 储系统删除所述一个或多个数据项目。在从性能存储系统删除前,确 定所述一个或多个数据项目是否存储在容量优化的存储系统中,并且 在它们未存储于其中的情况下,将所述一个或多个数据项目存储到容 量优化的存储系统。

在一些实施例中,通过使用性能存储,改进了段去除重复存储的 优点;段去除重复存储通过在新接收的段已经存储的情况下,将接收 的段只存储为对以前存储的段的引用,从而在存储容量方面是高效 的;性能存储能够对已被存储为去除重复段的数据和对已按照原来接 收的所存储的数据均实现高效的读和写。

在各种实施例中,存储系统包括客户端/用户系统内运行的性能存 储系统和单独系统中运行的段存储系统;面对共同段存储系统的多个 性能存储系统;具有用于极快访问的一些快速本地闪存的一群应用服 务器,但段存储装置不在网络上并且被复制,或者在任何适当硬件上 运行的性能和段系统组件的任何其它适当配置。

虽然下面的实施例通过包括段存储装置的容量优化存储装置进行 描述,但也能够使用任何其它容量优化的存储系统-例如,使用压缩, 使用块级别去除重复、增量(delta)去除重复或用于存储的任何其它 适当的容量优化的存储系统。

图1A是示出存储系统的一实施例的框图。在所示示例中,存储 系统100接收存储和/或检索一个或多个数据项目的请求。在各种实施 例中,所述一个或多个数据项目是数据流或数据块或任何其它适当数 据结构或分组的一部分。存储系统100直接或经网络108从存储用户 系统110接收请求。在一些实施例中,存储用户系统110是能够传递 请求到存储系统100的多个系统之一。

存储系统100包括系统接口102、性能存储系统104和段存储系 统106。系统接口102接收存储数据项目到存储系统100和/或从存储 系统100检索数据项目的请求。系统接口102将检索到的数据项目传 递到网络108和/或存储用户系统110。系统接口102从网络108和/ 或存储用户系统110传递要由存储系统100存储的数据项目。

数据项目使用性能存储系统104来存储。性能存储系统104能够 高效地响应存储和检索数据的请求。数据项目从性能存储系统104传 送到段存储系统106。在一些实施例中,段存储系统106从性能存储 系统104接收数据项目,并且数据项目被处理以将数据项目分割成段, 并且对段进行去除重复(例如,以确定每个段是否以前已被存储,并 且在段以前已被存储的情况下,存储引用而不是按照所接收的来存储 段)。在一些实施例中,在段存储系统106中存储后数据项目被传送 回性能存储系统104并存储为段集合。在一些实施例中,按照原来所 接收的来存储的原数据项目在这些数据项目被传送回性能存储系统 104后从性能存储系统104删除。

在一些实施例中,段存储系统106包括压缩段的存储系统(例如, Lempel-Ziv压缩、Lempel-Ziv-Welsh压缩、Lempel-Ziv-Renau压缩等)。

经系统接口102所请求的数据项目从性能存储系统104或段存储 系统106来检索。在一些实施例中,在对段存储系统106而不是性能 存储系统104中存储的数据项目有许多请求的情况下,可将数据项目 传送到性能存储系统104,以便改进存储系统100响应性能。

在各种实施例中,性能存储系统104包括闪存存储装置、光纤信 道存储装置、持久性存储器存储装置、块可寻址存储器(例如,类似 于硬盘驱动器存储块等可寻址的512K块,不同于字节可寻址存储器 或存储装置、固定大小块寻址和/或逻辑可寻址存储器)、文件系统组 织的存储器、随机存取存储器或任何其它适当的存储系统或系统组 件。在一些实施例中,性能存储系统104包括存储为压缩数据表示(例 如,去除重复的段的集合)和未压缩数据表示两者的数据。

在各种实施例中,段存储系统106包括一起提供段存储系统的功 能性的系统簇。

在各种实施例中,段存储系统106使用可变长度段来存储数据项 目,具有内容可地址段(例如,使用段的指纹),使用复本(replica) 段存储系统112被复制(例如,存储如段存储系统106存储的快照和 /或段),根据复制协议被复制(例如,根据时间表,在预定量的数据 被存储后,或根据任何其它适当的协议),具有与性能存储系统104 不同的数据表示(例如,段集合相比原数据,内容寻址相比逻辑或物 理寻址,可变块表示相比固定块,压缩相比未压缩数据),或用于段 存储系统的任何其它适当的功能性。在各种实施例中,段存储系统106 由类似于复本段存储系统112的多个复本段存储系统来复制,这些复 本段存储系统各自复制如段存储系统106存储的一部分或所有数据项 目和/或快照。

图1B是示出存储用户系统的一实施例的框图。在一些实施例中, 图1B的存储系统类似于图1A的存储系统,但在不同系统位置带有功 能性的不同分区-例如,系统接口和生能存储系统包括存储用户系统 内的子系统,并且通过网络与段存储系统进行通信。在一些实施例中, 可以有几个此类性能存储子系统在几个不同存储用户系统中运行,其 所有与单个段存储系统进行通信。在所示示例中,存储系统150接收 存储和/或检索一个或多个数据项目的请求。在各种实施例中,所述一 个或多个数据项目是数据流或数据块或任何其它适当数据结构或分 组的一部分。存储系统150直接从存储用户系统160接收请求。在一 些实施例中,存储用户系统160是能够传递请求到存储系统150的多 个系统之一。存储用户系统160包括与段存储系统150组合的性能存 储系统154,其包括高速且高效的数据存储系统。在各种实施例中, 性能存储系统154包括高速固态存储器、RAM盘、高速磁存储器或 任何其它适当的存储器或存储器的组合。

存储系统150包括系统接口152、性能存储系统154和段存储系 统156。系统接口152接收存储数据项目到存储系统150和/或从存储 系统100检索数据项目的请求。系统接口152/性能存储系统154将检 索到的数据项目传递到网络158和段存储系统156。

数据项目使用性能存储系统154来存储。性能存储系统154能够 高效地响应要存储和要检索数据的请求。数据项目从性能存储系统 154传送到段存储系统156。在一些实施例中,段存储系统156从性 能存储系统154接收数据项目,并且数据项目被处理以将数据项目分 割成段,并且对段进行去除重复(例如,以确定每个段是否以前已被 存储,并且在段以前已被存储的情况下,存储引用而不是按照所接收 的来存储段)。在一些实施例中,在段存储系统156中存储后数据项 目被传送回性能存储系统154并存储为段集合。在一些实施例中,按 照原来接收的所存储的原数据项目在这些数据被传送回性能存储系 统154后从性能存储系统154删除。

在一些实施例中,段存储系统156包括压缩段的存储系统(例如, Lempel-Ziv压缩、Lempel-Ziv-Welsh压缩、Lempel-Ziv-Renau压缩等)。

数据项目从性能存储系统154、或者如果在性能存储系统154中 不存在则从段存储系统156被请求和检索。在一些实施例中,在对段 存储系统156而不是性能存储系统154中存储的数据项目有许多请求 的情况下,可将数据项目传送到性能存储系统154,以便改进响应性 能。

在各种实施例中,性能存储系统154包括闪存存储装置、光纤信 道存储装置、持久性存储器存储装置、块可寻址存储器(例如,类似 于硬盘驱动器存储块等可寻址的512K块,不同于字节可寻址存储器 或存储装置、固定大小块寻址和/或逻辑可寻址存储器)、文件系统组 织的存储器、随机存取存储器或任何其它适当的存储系统或系统组 件。在一些实施例中,性能存储系统154包括存储为压缩数据表示(例 如,去除重复段的集合)和未压缩数据表示两者的数据。

在各种实施例中,段存储系统156使用可变长度段来存储数据项 目,具有内容可地址段(例如,使用段的指纹),使用复本段存储系 统162被复制(例如,存储如段存储系统156存储的快照和/或段), 根据复制协议被复制(例如,根据时间表,在预定量的数据被存储后, 或根据任何其它适当的协议),具有与性能存储系统154不同的数据 表示(例如,段集合相比原数据,内容寻址相比逻辑或物理寻址,可 变块表示相比固定块,压缩相比未压缩数据),或用于段存储系统的 任何其它适当的功能性。在各种实施例中,段存储系统156由类似于 复本段存储系统162的多个复本段存储系统来复制,这些复本段存储 系统各自复制如段存储系统156存储的一部分或所有数据项目和/或 快照。

图2是示出段存储系统的一实施例的框图。在一些实施例中,图 2的系统用于实现图1的段存储系统106。在所示示例中,段存储系 统200包括接口202、分段器204、重复消除器206、文件系统208、 索引210及段存储装置212。段存储系统200使用接口202接收数据 项目。数据项目由分段器204和文件系统208处理。分段器204将数 据项目分割成段。在各种实施例中,通过使用基于内容的技术(例如, 在数据项目的各种位置计算一函数,在该函数等于某个值时或在该值 是最小值、最大值或者是相对于为该数据项目所计算的其它函数值的 其它极值时)、基于非内容的技术(例如,基于数据项目属性-例如, 字节长度、标题、创建日期)或任何其它适当的技术来识别段边界, 从而将数据项目分割成段。在各种实施例中,段受限于最小和/或最大 长度、每数据项目的最小或最大数量的段或任何其它适当的限制。文 件系统208处理信息以指示与数据项目相关联的段。在一些实施例中, 指纹列表用于指示与数据项目相关联的段。索引210用于定位段存储 装置212中存储的段。

重复消除器206识别新接收的段是否已经在段存储装置212中被 存储。在段已经在段存储装置212中被存储的情况下,存储对以前存 储的段的引用而不是存储新接收的段。

接口202接收检索数据项目的请求。接口202与文件系统208进 行通信以检索数据项目。文件系统208确定与请求的数据项目相关联 的段,与索引210进行通信以定位段存储装置212中存储的段,读取 段存储装置212中存储的适当段,以及重构请求的数据项目。响应请 求,经接口202来提供数据项目。

在一些实施例中,文件系统208使用指针树(例如指纹)将文件 与数据段相关联。在数据项目更改的情况下,不同的段将与数据项目 相关联,并且由于使用树结构易于识别适当的指针,因此,到树中节 点的指针更改将从与文件名相关联的树(或目录结构)的底部高效地 波动(ripple)到顶部。

图3是示出性能存储系统的一实施例的框图。在一些实施例中, 图3的性能存储系统用于实现图1的性能存储系统104。在所示示例 中,性能存储系统300包括接口302、文件系统304、性能存储单元 306、性能段存储单元308及性能存储传送管理器310。接口302接收 要存储的数据项目。数据项目使用性能存储单元306进行存储。文件 系统304存储有关数据项目的信息以便有利于从性能存储单元306检 索数据项目。在一些实施例中,文件系统304不存在,并且远程文件 系统或存储有数据的文件系统用于识别性能存储单元306内的文件。 性能存储传送管理器310管理数据项目从性能存储单元306到段存储 单元的传送。性能存储传送管理器310还管理存储为段集合的数据项 目到性能段存储单元308的传送。在一些实施例中,在存储为段集合 的数据项目传送到性能段存储单元308后,删除性能存储单元306中 存储的相同数据项目。在一些实施例中,性能存储传送管理器310可 使用分段器或重复消除器将数据项目从性能存储单元306传送到性能 段存储单元308而未先将数据项目传送到段存储系统。

接口302接收检索数据项目的请求。数据项目从性能存储单元306 或性能段存储单元308或段存储系统来检索。在一些实施例中,在请 求检索数据项目的情况下在检查性能段存储单元308之前,检查性能 存储单元306。在一些实施例中,在检查段存储系统之前,检查性能 段存储单元308。在一些实施例中,通过使用文件系统304进行检查 来执行检查。

在一些实施例中,性能存储传送管理器310通过取得性能存储单 元306中存储的数据项目的快照,将数据项目传送到段存储系统。快 照使得能够调用如快照时存储的数据项目。在一些实施例中,根据快 照协议(例如,指示在性能存储单元已满时、在性能存储单元306只 具有一定量的空间仍可用时、在数据项目在预定的时期内未被访问 时、在处理带宽可用于将数据项目传送到数据高效存储系统(例如, 去除重复数据段存储装置、压缩存储装置)时等某个时间发生快照的 协议,或任何其它适当的协议),或者在它接收指示应创建快照的信 号时执行快照。

在一些实施例中,段存储装置具有快照的完整副本(copy),因 此,它能够以容量优化形式复制完整的快照,以便远程站点具有灾难 恢复所需的快照的完整副本。

在一些实施例中,未使用任何快照来捕获性能存储单元306中存 储的数据项目(例如,文件或数据项目是临时文件或数据项目,并且 在快照期间在性能存储单元306中不存在;文件或数据项目版本在快 照后被创建,并随后在下一快照前被改写;文件或数据项目是只在两 次快照之间存在的中间更新等)。在一些实施例中,使用性能存储单 元306中数据项目或文件的更改的日志来执行快照。在一些实施例中, 通过保留指针树的根来创建快照。

在一些实施例中,在数据项目或文件由于快照而已被存储或传送 到段存储系统后(例如,立即或在之后的某个时间,这取决于性能系 统中保留数据项目的需要),性能系统删除数据项目或文件。

图4是示出用于存储系统的过程的一实施例的流程图。在一些实 施例中,图4的过程由图1的存储系统100来实现。在所示示例中, 在400中,使用性能存储系统来存储数据流或数据块,其中,数据流 或数据块包括一个或多个数据项目。在一些实施例中,性能存储系统 按照所接收的来存储数据流或数据块(例如,无压缩),并且能够提 供数据流或数据块的快速存储和调用。在各种实施例中,性能存储系 统包括闪存、光纤信道驱动器、基于半导体的存储器、持久性存储器 或任何其它适当的性能存储装置。在402中,使用段存储系统来取得 存储的数据项目的快照,其中,快照使得能够调用如在快照时存储的 数据项目。在各种实施例中,根据包括在时间上定期取得快照(例如, 每小时,每12小时,每天,每周,每月等)、在性能存储器已存储 另外预定数量的块、字节或文件时取得快照、在装置的使用率低时取 得快照、取得最近未访问的块、字节或文件的快照的快照协议或任何 其它适当的协议来进行快照。

图5是示出用于存储系统的过程的一实施例的流程图。在一些实 施例中,图5的过程由图1的性能存储系统104实现。在所示示例中, 在500中,在性能存储单元中将数据流或数据块存储为数据项目。在 502中,确定数据项目是否要在段存储系统中自动存储为段集合。在 各种实施例中,要自动存储的数据项目是性能存储单元存储的数据项 目之一、一部分或全部,或性能存储单元存储的任何其它适当的数据 项目。在504中,在数据项目不要由段存储单元存储的情况下,该过 程等待并且控制传递到502。在各种实施例中,根据某个协议自动存 储数据项目,其中,该协议指示自动存储数据项目时的调度(例如, 时间、日期、周期性等)或条件(例如,百分比存储器满、访问频率、 存储单元访问加载、处理器加载等)。在各种实施例中,响应接收的 信号而存储数据项目。在506中,在数据项目自动作为段集合存储在 段存储系统中的情况下,在性能存储单元中删除存储的数据项目。在 一些实施例中,未从性能存储单元删除一些或所有数据项目(例如, 在访问活动性高,或用于存储系统的处理器负载高的情况下)。在508 中,存储数据项目的段集合被存储在性能段存储单元中。在各种实施 例中,性能段存储单元包括闪存、光纤信道存储装置、持久性存储器 或任何其它适当的性能存储装置。在一些实施例中,在希望对数据项 目的性能访问的情况下,用于数据项目的段集合被存储在性能段存储 单元中。

图6是示出用于从存储系统提供请求的数据的过程的一实施例的 流程图。在一些实施例中,图6的过程由图1的存储系统100实现。 在所示示例中,在600中接收读取数据的请求。在602中,确定请求 的数据是否在性能存储单元中。在604中,在请求的数据在性能存储 单元中的情况下,从性能存储单元提供请求的数据。在606中,在请 求的数据不在性能存储单元中的情况下,确定请求的数据是否在性能 段存储单元中。在608中,在请求的数据在性能段存储单元中的情况 下,从性能段存储单元提供请求的数据。在610中,在请求的数据不 在性能段存储单元中的情况下,确定请求的数据是否在段存储系统 中。在612中,在请求的数据在段存储系统中的情况下,从段存储系 统提供请求的数据。在614中,在适当时数据被提升到性能段存储单 元(例如,如果确定希望性能访问-例如,多个请求可能针对该数据), 并且该过程结束。在616中,在请求的数据不在段存储系统中的情况 下,指示请求的数据未由存储系统存储,并且该过程结束。

图7是示出用于取得性能存储单元中数据项目的快照的过程的一 实施例的流程图。在一些实施例中,图7的过程由图3的性能存储传 送管理器310实现。在所示示例中,在700中在性能存储单元中创建 新快照。在各种实施例中,基于快照协议(例如,其中协议按照使用 率、存储器充满度、访问、新数据项目来设置在快照中包括数据项目 的条件或准则,或者任何其它适当的条件或准则),性能存储单元中 的快照包括性能存储单元存储的一个数据项目、一部分数据项目或所 有数据项目。在702中,确定是否有性能存储单元的以前快照。在704 中,在没有性能存储单元的以前快照的情况下,使用段存储系统来存 储新快照的副本。在706中,如果有性能存储单元的以前快照,则确 定新快照与以前快照之前的增量。在708中,创建以前快照的副本, 并且应用该增量到该副本以在段存储系统中创建新快照的副本。副本 可以是虚拟副本,包括到相同段的新指针,或者它可以是新物理副本, 或者它可以是组合。

在一些实施例中,包括用于快照的所有文件或数据项目的段和相 关联的文件或数据项目的指针树能够用于高效地识别快照之间的增 量。

虽然为了清楚理解的目的而以一定的细节描述了上述实施例,但 本发明并不限于提供的细节。实施本发明有许多备选方式。公开的实 施例是说明性而不是限制性的。

所要求权利的是:

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号