CN104246774A - 通过指示符在数据重复消除系统中保留冗余 - Google Patents

通过指示符在数据重复消除系统中保留冗余 Download PDF

Info

Publication number
CN104246774A
CN104246774A CN201380021287.XA CN201380021287A CN104246774A CN 104246774 A CN104246774 A CN 104246774A CN 201380021287 A CN201380021287 A CN 201380021287A CN 104246774 A CN104246774 A CN 104246774A
Authority
CN
China
Prior art keywords
selecting
data segment
data
designator
memory controller
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.)
Pending
Application number
CN201380021287.XA
Other languages
English (en)
Inventor
R·M·费斯科
C·E·琼斯
S·罗伊
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104246774A publication Critical patent/CN104246774A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • 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/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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/0608Saving storage space on storage 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/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
    • 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
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

提供了用于在计算环境中的数据重复消除系统中保留数据冗余的各种实施例。在一个实施例中,公开了一种用于这样的保留的方法。配置了一种指示符。该指示符提供有经选择的数据段,其将被通过数据重复消除系统写入,以指定经选择的数据段必须不进行重复消除操作,使得不论是否相同,重复数据均可以被写入存储到物理位置上。

Description

通过指示符在数据重复消除系统中保留冗余
技术领域
本发明一般地涉及计算机,并且更具体地,涉及用于在包含数据重复消除系统的计算环境中保留冗余和其他数据安全特性的方法、系统和计算机程序产品。
背景技术
计算机和计算机系统在当今社会中的各种设置中被发现。计算环境和网络可以在家中、在工作、在学校、在政府和其他场景中被发现。计算环境逐渐将数据存储在一个或多个存储环境中,这在许多情况下远离对用户呈现的本地接口。
这些计算存储环境可以使用通常协作工作的诸如磁盘驱动的许多存储设备,以存储、检索和更新大量数据,然后可以将其提供给请求或发送数据的主机计算机。在一些情况下,很多数据存储子系统作为单个数据存储系统被集中进行管理。这些子系统可以由主机“系统综合体(sysplex)”(系统复杂(system complex))配置来管理,该配置组合若干处理单元或处理单元的集群。以该方式,通常包括多种类型的存储设备的多层/多系统的计算环境可以用于组织和处理大量数据。
发明内容
许多多层/多系统的计算环境实现数据重复消除技术以通过减少跨存储设备的重复的存储来提高存储性能。数据重复消除系统被越来越多地使用,因为其有助于减少存储数据所需要的物理存储的总量。该减小是通过确保重复数据不会被多次存储来完成的。替代地,例如,如果进入应用写入数据块与已经存储的数据块匹配,则对原始数据的指针被存储在虚拟存储映射中,而不是分配新的物理存储空间用于新的数据块。
然而,在某些情况下,重复消除的行为,即重复数据的单个实例化,可能不利于例如所主控的应用的冗余要求或存储策略或其他要求。需要一种机制,由此保障需要被存储多次的数据,而通过对不具有这样的要求的剩余数据进行重复消除来不减少重复消除系统的优点。
鉴于上述,公开了用于在数据重复消除系统中保留数据冗余的各种实施例。在一个实施例中,仅作为示例的方式,公开了一种用于这样的保留的方法。配置了一种指示符。该指示符被提供有经选择的数据段,该经选择的数据段将被通过数据重复消除系统来写入,以指定该经选择的数据段必须不进行重复消除操作。
除了上述的示例性实施例,各种系统和计算机程序实施例被提供并且提供相关的优点。
附图说明
为了使本发明的优点容易理解,以上简要描述的本发明的更具体的描述将通过参考在附图中图示的具体实施例来呈现。可以理解,这些附图仅描绘了本发明的典型实施例,并且因此不被认为是对其范围的限制,将通过使用附图来以附加特征和细节描述和说明本发明,在附图中:
图1是图示可以实现本发明的各方面的示例性计算环境的框图;
图2是示出也可以实现本发明的各方面的数据存储系统的硬件结构的框图;
图3是可以实现本发明的各方面的示例性写入请求;
图4是也可以实现本发明的各方面的通过数据重复消除引擎写入数据的示例性过程的框图;
图5是根据本发明的用于确保数据重复消除系统中的冗余的示例性方法;以及
图6是可以实现本发明的各方面的用于处理数据的示例性方法。
具体实施方式
存储控制器中的数据重复消除通常在应用的“幕后”工作,并且当违反应用的需要执行重复消除操作时,有时可能违反应用的兴趣来进行操作。如果应用写入相同数据的多个副本,并且期望保留多个物理副本,而重复消除子系统(重复消除引擎)发现这些匹配副本并且在存储数据的同时终止重复消除该副本,则该情况可能出现。这可能不利于期望在各种位置找到多个副本的应用,并且使得存储系统相信它已经这样做,但是实际上,仅仅已写入了该数据的单个副本。
考虑下述示例。文件系统通常喜欢在虚拟磁盘上写入“超级块”的多个物理副本或描述基于块的存储设备上的文件系统的元数据段(或其他元数据信息)以确保冗余。因为超级块的内容是相同的,所以数据重复消除将导致保留超级块单个物理副本和对相同物理块的指示多个虚拟地址。该情况是非常不适当的,因为超级块的物理副本上的单个块的丢失可能使得文件系统完全不可用,因为不存在该超级块的冗余副本。传统地,没有在数据重复消除系统中直接解决该问题的现有方法。
各种间接方法可以用于尝试解决该问题。在一个示例中,可以使数据重复消除子系统从其分离出物理存储的存储池产生镜像(mirror)(即,包含相同数据的2个或3个副本)。因此,不论重复消除如何,都可以创建多个冗余副本。然而,由于下述原因而导致这对应用的保护是不充分的。首先,应用可能希望保持例如同一数据的十(10)个副本。然而,如果使存储池双向产生镜像,则可能仅保留最多两个(2)副本。第二,因为数据重复消除分离出跨大量存储和多个文件系统的物理存储池,所以多个应用和文件系统很可能共享相同的物理存储池。因此,数据的一些关键的副本(如超级块)能够物理地位于同一磁盘上。因为重复消除将防止同一数据的多个副本被写入到多个物理位置,所以关键数据的副本的数目减少,并且其可能针对多个文件系统位于同一物理磁盘上。这增加了单个故障成为致命的风险。
所示的实施例提供了用于解决前述问题的多种机制。这些机制中的一个目的是确保存储控制器(或其可以位于的任何位置)的重复消除子系统平衡减少数据副本的数目的优点与对物理分配关键数据的多个副本的应用要求。下述实施例中描述的方法中的每一个可以在各种情况中使用,并且可以具有特定于该情况的伴随优点。
在一个这样的实施例中,可以由应用向目标存储控制器系统提供用于经选择的数据段的指示符,以指定具体的数据段不进行重复消除操作。然后,该动作强制存储控制器为指定的数据块分配新的物理存储。一个这样的指示符可以包括比特,根据是否应该对经选择的数据段/块执行期望的重复消除而将该比特设置为高或低。
鉴于上述实施例,通过允许应用指示写入是否必须被重复消除,允许应用实现与其生成的数据相关联的存储策略的灵活性。这样,对于确定经选择的数据(即使是相同的)是否仍然必须位于独立的物理位置,应用比重复消除系统处于更好的位置。此外,存储控制器(或其他存储管理设备)继续执行其通过重复消除的数据减少的作用,并且同时允许对应用的足够控制以在需要时取消重复消除。
通过向写入命令提供指示符,该指示符用于向存储控制器(或还有其他存储管理设备)指示经选择的数据是否必须跳过重复消除,由此对应用提供非常细粒度的控制,在仍然保留重复消除功能的优点并且保留用于关键数据的冗余的同时,允许实现灵活性。
在以下描述中,参考形成本说明书的一部分并且图示本发明的若干实施例的附图。应当理解,可以利用其他实施例,并且在不脱离本发明的精神和范围的情况下可以进行结构和操作改变。
转到图1,描述了可以实现本发明的各方面的示例性计算机系统10。计算机系统10包括中央处理单元(CPU)12,其连接到大容量存储设备14和存储器设备16。大容量存储设备可以包括硬盘驱动(HDD)设备,其可以以各个磁盘的冗余阵列(RAID)来配置。可以入下述实现本发明的各方面的数据管理操作可以在位于系统10中或其他位置的设备14中执行。存储器设备16可以包括诸如电可擦除可编程只读存储器(EEPROM)的存储器或相关设备的主机。
存储器16被示为包括应用程序15以及应用程序17,其中,文件系统19是可操作的。应用15和应用17可以创建、删除或以其他方式管理物理地存储在诸如大容量存储设备14中的数据段,诸如数据分块或数据块。文件系统19通过提供用于存储、检索和更新数据并且管理包含其的设备上的可用空间来提供用于组织期望在应用程序17终止之后保留的数据的装置。文件系统19以有效的方式组织数据,并且被调谐为该设备(诸如计算机10和/或存储器16)的特定特性。在一个实施例中,应用17可以是操作系统(OS)17,并且文件系统19保留在OS 17和文件系统19之间的紧密耦合。文件系统19可以提供用于控制对数据和元数据的访问的机制,并且可以包含用于确保诸如对本发明的其他某些方面的需要的数据可靠性的机制,如本领域普通技术人员将理解的。文件系统19可以提供用于多个应用程序15、17以几乎同时更新同一文件中的数据的装置。
在图示的实施例中,存储器设备16和大容量存储设备14经由信号承载介质连接到CPU 12。此外,CPU 12通过通信端口18连接到具有附接的多个附加计算机系统22和24的通信网络20。计算机系统10可以包括一个或多个处理器设备(例如,CPU 12)和额外的存储器设备16,以使计算机系统10的每个独立组件实现和执行本文所述的每个操作以实现本发明的目的。
图2是示出根据本发明的计算机系统中的数据存储系统的硬件结构的示例性框图200。示出了主机计算机210、220、225,每一个用作作为数据存储系统200的一部分的用于执行数据处理的中央处理单元。主机(物理或虚拟设备)210、220和225可以是在数据存储系统200中实现本发明的目的的一个或多个新的物理设备或逻辑设备。在一个实施例中,仅通过示例的方式,数据存储系统200可以被实现为系统存储TMDS8000TM。网络连接260可以是光纤信道结构、光纤信道点对点链路、通过以太网结构或点对点链路的光纤信道、FICON或ESCON I/O接口、任何其他I/O接口类型、无线网络、有线网络、LAN、WAN、异构、同构、公共(即因特网)、私有或其任意组合。主机210、220和225可以是本地的或在一个或多个位置中分布,并且可以对存储控制器240配备有任何类型的结构(或结构信道)(图2中未示出)或网络适配器260,诸如光纤信道、FICON、ESCON、以太网、光纤、无线或同轴电缆适配器。数据存储系统200相应地配备有适当的结构(图2中未示出)或网络适配器260以进行通信。数据存储系统200在图2中被描绘为包括存储控制器240和存储230。
为了促进更清楚地理解本文描述的方法,存储控制器240在图2中被示出为单个处理单元,包括微处理器242、系统存储器243和非易失性存储器(“NVS”)216,这将在下文中更详细地描述。注意,在一些实施例中,存储控制器240包括多个处理单元,每一个都具有自己的处理器复杂和系统存储器,并且通过专用网络在数据存储系统200内互连。存储230可以包括通过存储网络连接到存储控制器240的一个或多个存储设备,诸如存储阵列。
在一些实施例中,包括在存储230中的设备可以以循环架构来连接。存储控制器240管理存储230,并且促进期望用于存储230的写入和读出请求的处理。存储控制器240的系统存储器243存储处理器242可以访问以执行与管理存储230相关联的功能的程序指令和数据。在一个实施例中,系统存储器243包括操作软件250、关联于操作软件250或与操作软件250进行通信,并且部分地配置用于实现本发明的功能。如图2中所示,系统存储器243还可以包括或者与用于存储230的高速缓存245(在此也称为“高速缓存存储器”)进行通信,用于缓存“写入数据”和“读取数据”,其分别称为写入/读取请求及其相关联的数据。在一个实施例中,高速缓存245被分配在系统存储器243外部的设备中,但是保持可由微处理器242访问,并且可以用于提供除了执行本文描述的操作之外的针对数据丢失的附加的安全性。
在一些实施例中,高速缓存245是利用易失性存储器和非易失性存储器来实现的,并且经由本地总线(图2中未示出)耦合到微处理器242以增强数据存储系统200的性能。包括在数据存储控制器中的NVS 216可由微处理器242访问,并且用于提供对在其他附图中描述的本发明的操作和执行的附加支持。NVS 216,也可以被称为“持久”高速缓存或“高速缓存存储器”,并且通过可以或可以不利用外部电力来保持其中存储的数据的非易失性存储器来实现。出于适用于实现本发明的目的的任何目的,NVS可以被存储在高速缓存245中并且具有高速缓存245。在一些实施例中,诸如电池的备用电源(图2中未示出)向NVS 216供应具有足够的电力以在数据存储系统200电力损耗的情况下保持存储在其中的数据。在某些实施例中,NVS 216的容量小于或等于高速缓存245的总容量。
存储230可以在物理上包括诸如存储阵列的一个或多个存储设。存储阵列是诸如硬盘的各个存储设备的逻辑分组。在某些实施例中,存储230包括JBOD(简单磁盘捆绑)阵列或RAID(独立磁盘冗余阵列)阵列。物理存储阵列的集合可以被进一步组合以形成队列(rank),其使物理存储与逻辑配置解关联。队列中的存储空间可以被分配到逻辑卷,其定义在读取/写入请求中指定的存储位置。
在一个实施例中,仅通过示例的方式,图2中所示的存储系统可以包括逻辑卷,或仅“卷”,可以具有不同类型的分配。存储230a、230b和230n被示为数据存储系统200中的队列,并且在本文中被称为队列230a、230b和230n。队列对于数据存储系统200可以是本地的,或者可以位于物理上远离的位置。换言之,本地存储器控制器可以与远程存储控制器连接,并且管理远程位置处的存储。队列230a被示出为配置有两个完整的卷234和236以及一个部分卷232a。队列230b被示出为具有另一部分卷232b。因此,卷232跨越队列230a和230b分配。队列230n被示出为被完全分配给卷238——即,队列230n是指用于卷238的完整物理存储。从以上示例可以理解,队列可以被配置为包括一个或多个部分和/或完整卷。卷和队列可以进一步被划分成表示存储的固定块的所谓的“轨道(track)”。因此,轨道与给定卷相关联,并且可以被给予给定队列。
存储控制器240包括用于控制对主机计算机210、220、225的光纤信道协议的控制交换机241,用于控制所有存储控制器240的微处理器242,用于存储用于控制存储控制器240的操作的微程序(操作软件)250、用于控制的数据和稍后描述的每个表的非易失性控制存储243,用于临时存储(缓存)数据的高速缓存245以及用于辅助高速缓存245读取和写入数据的缓冲区244,用于控制用于控制去往或来自存储设备230的数据传输的协议的控制交换机241,以及压缩操作模块255和其中可以设置信息的压缩操作列表模块257。多个缓冲区244可以通过本发明实现以有助于本文描述的操作。
在一个实施例中,主机计算机或一个或多个物理或虚拟设备210、220、225以及存储控制器240通过作为接口的网络适配器(这可能是光纤信道)260来连接,即,经由称为“结构”的至少一个交换机来连接。在一个实施例中,将描述图2中所示的系统的操作。微处理器242可以控制存储器243以存储来自主机设备(物理或虚拟)210的命令信息、以及用于标识主机设备(物理或虚拟)210的信息。控制交换机241、缓冲区244、高速缓存245、操作软件250、微处理器242、存储器243、NVS 216、压缩操作模块255和压缩操作列表模块257彼此进行通信,并且可以是单独的或一种独立的组件。而且,若干(在不是所有的组件时)诸如操作软件250可以由存储器243包括。示出的设备内的组件中的每一个可以出于适用于本发明的目的地而关联在一起并且可以彼此通信。
存储控制器240被示出为包括数据重复消除引擎255,其中处理多个写入请求259。数据重复消除引擎255在结构上可以是一个完整的模块或者可以关联于和/或包含在其他独立模块内。数据重复消除引擎255被配置用于结合诸如微处理器242的存储控制器240的其他组件来对通过存储控制器240传递到存储230的写入数据执行数据重复消除操作。
正前所示,存储控制器240包括高速缓存245(或者可以被整体地称为高速缓存系统)245接受来自主机210、220和225或类似设备的写入数据,其然后被置于高速缓存存储器245中。然后,数据重复消除引擎255测试高速缓存存储器245中的重复的写入数据。如图所示,用指示符257指示期望包含不进行重复消除操作的应用17(图1)的写入请求259。请注意,该指示符被“设置”在写入命中,而不是在要被写入数据(即,写入命令净荷)中。通过数据重复消除引擎255传递的具有指示符的那些写入请求259向数据重复消除引擎255指定其不进行重复消除操作。
在一个实施例中,应用17/文件系统19首先确定给定的数据块是否必须在物理存储上被存储多次。这可以是与文件系统19本身相关联的超级块元数据。然后,应用17可以发起对下层磁盘(设备)驱动器的写入请求259,设置有指示符257(诸如高比特),指定即使该块被确定为是与先前写入的数据块相同,该数据块也必须不被重复消除。
在下述步骤中,磁盘驱动器进而准备命令,诸如具有用于向存储控制器240指示“跳过重复消除”的设置比特的小型计算机系统接口(SCSI)命令。在接收到所指定的数据块时,存储控制器240经由数据重复消除引擎255跳过指纹生成、匹配等的重复消除步骤,如本领域的普通技术人员将理解的那样,并且即使相同数据的更早的实例被存储在存储控制器240上,也将经选择的数据块直接写入到新的物理磁盘位置上。
在一个实施例中,对于在用户级执行的应用,写入系统调用可以提供有扩展的属性,其指示即使其内容与先前写入到磁盘的数据匹配,数据块也必须被写入到物理磁盘。如果是这样,则根据例如写入是对块还是对文件接口来以类似于先前描述的方式执行附加的步骤。
现在转到图3,输入/输出请求的实施例,特别是基于时间的写入命令300可以从主机210(图2)发送到存储控制器240。在一个实施例中,写入请求300是SCSI命令。图3指示了包括在命令块的32个字节中的每个比特。例如,在字节0中,操作码标识要执行的命令的类型,即,基于时间的写入命令。字节2-9用于标识数据的第一单元的逻辑块地址(LBA)。字节10-13用于传输长度,其指示从数据的第一单元开始被写入的块的数目等。本领域普通技术人员将认识到,写入命令300中的各种字段和/或这些字段的各种应用可以根据具体实现而变化。
在图3中所示的图示实施例中,指示符257被示出为由写入命令300的字节1的比特7组成。以该方式,指示符257可以是低(即0)或高(即1)比特,以指示要写入的指定的数据不进行由数据重复消除引擎255(再一次图2)执行的数据重复消除操作。而且这里,本领域普通技术人员将认识到,其他类似指示符可以适用于写入请求或者结合写入请求和/或写入数据来提供,以指定将要避免重复消除的具体数据部分。
现在转到图4,本发明的各种功能方面的框图被描绘为示例性流程。具体地,高速缓存系统245被示出为接受要通过数据重复消除引擎255处理的写入数据402作为对高速缓存245的写入操作404。当通过数据重复消除引擎255处理写入数据402时,并且如前所述,通常针对现有存储的重复消除来测试写入数据402。然而,因为写入请求259包含指示符257,所以不执行重复消除操作,并且写入数据通过重复消除引擎255传递通过高速缓存系统245并且最终到物理上分配的存储230。
在替代实施例中(出于图示方便的目的而未示出),高速缓存系统245可以位于重复消除引擎255之前。在这种情况下,如果指示符257被设置在写入命令259中,则通过高速缓存245写入对应的数据段。替代地,高速缓存245存储该比特指示符257,使得当该段稍后被清除时,用于给定集合的段的指示符257可用于重复消除引擎255。本领域普通技术人员将认识到,可以执行对图4中所示的功能方面的其他修改,诸如前示操作流程和布置,以适应具体应用。
接下来,图5是用于确保具有数据重复消除系统的存储子系统中的数据冗余的示例性方法500,其中可以实现所示实施例的各方面。方法500开始(步骤502)于将指示符配置为提供有经选择的数据段(即,诸如包含在SCSI写入请求中),该经选择的数据段将被通过数据重复消除系统写入以指定该经选择的数据段必须不进行重复消除操作(步骤504)。然后,方法500结束(步骤506)。
接下来,在图6中,图示了用户数据处理的示例性方法600,而且这里,其中可以实现本发明的各个方面。方法600开始(步骤602)于如前述配置指示符(步骤604)。在图示的实施例中,在写入请求的上下文中指示符被提供为在SCSI写入命令中的设置比特(步骤606)。然后,由存储控制器处理该命令(步骤608)。如果SCSI命令包括用于具体选择的数据的设置比特(步骤610),那么阻止对相关数据段执行重复消除操作(步骤612),并且相应地,相关联的数据段被直接写入到新分配的物理存储位置(步骤614)。
返回到步骤610,如果SCSI命令不包括用于具体选择的数据段的设置比特,则通过在重复消除引擎中的各个重复消除算法来处理相关联的数据段(诸如针对先前存储的其他数据段的版本中的重复消除进行检查、以及执行对本领域技术人员显而易见的其他重复消除功能)。然后,方法600结束(步骤618)。
所示实施例的机制可以适用于前述写入请求本身,或者在其他实施例中,在经选择的数据本身的上下文中被实现。例如,在一个实施例中,超级块元数据本身可以标记有用于指定不进行数据重复消除操作的信息的指示符。用于结合经选择的数据提供指示的其他技术对于本领域技术人员来说是明显的适用于特定应用。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”、“工艺”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
这些计算机程序指令还可以被存储在可以引导计算机、其他可编程数据处理装置或其他设备来以具体方式进行工作的计算机可读介质中,使得存储在计算机可读介质中的指令产生制造物品,包括实现在流程图和/或框图框或多个框中指定的功能/动作的指令。计算机程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上以使得一系列操作步骤在计算机、其他可编程装置或其他设备上执行以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现在流程图和/或框图框或多个框中指定的功能/动作的过程。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
尽管已经具体图示了本发明的一个或多个实施方式,但是本领域普通技术人员将理解,在不脱离以下权利要求中所阐述的本发明的范围的情况下,可以对实施例进行修改和改编。

Claims (20)

1.一种由处理器在计算环境中将数据冗余保留在数据重复消除系统中的方法,包括:
配置指示符,所述指示符被提供有经选择的数据段,所述经选择的数据段将被通过所述数据重复消除系统来写入,以指定所述经选择的数据段必须不进行重复消除操作。
2.根据权利要求1所述的方法,进一步包括:处理所述指示符,使得阻止对所述经选择的数据段执行所述重复消除操作。
3.根据权利要求2所述的方法,其中处理所述指示符包括:准备将被提供到所述计算环境中的存储控制器的包含所述指示符的命令。
4.根据权利要求3所述的方法,其中处理所述指示符包括:
由所述存储控制器接收所述命令,
绕过至少一个重复消除操作,以及
将所述经选择的数据段直接写入到新的物理存储位置。
5.根据权利要求1所述的方法,其中配置指示符进一步包括:对于可操作在所述计算环境中的应用,向系统调用提供扩展的属性,所述扩展的属性指示尽管所述经选择的数据段与先前写入到物理存储器的数据匹配,所述经选择的数据段也必须被写入到所述物理存储器。
6.根据权利要求1所述的方法,其中,所述经选择的数据段是需要被重复存储在物理存储上的文件系统元数据和超级块中的至少一个,并且配置指示符包括:配置比特和标记中的至少一个。
7.一种用于在计算环境中将数据冗余保留在数据重复消除系统中的系统,包括:
文件系统模块;以及
存储控制器,所述存储控制器与所述文件系统模块可操作地通信,其中:
所述文件系统模块被适配用于配置指示符,所述指示符提供有经选择的数据段,所述经选择的数据段将被通过所述数据重复消除系统来写入,以指定所述经选择的数据段必须不进行重复消除操作。
8.根据权利要求7所述的系统,其中所述存储控制器被适配用于处理所述指示符,使得阻止对所述经选择的数据段执行所述重复消除操作。
9.根据权利要求8所述的系统,进一步包括存储驱动器,所述存储驱动器在所述文件系统模块和所述存储控制器之间可操作地通信,其中所述存储驱动器进一步被适配用于根据处理所述指示符,准备将被提供到所述存储控制器的包含所述指示符的命令。
10.根据权利要求9所述的系统,其中所述存储控制器进一步被适配用于根据处理所述指示符:
接收所述命令,
绕过至少一个重复消除操作,以及
将所述经选择的数据段直接写入到新的物理存储位置。
11.根据权利要求7所述的系统,进一步包括可操作地与所述文件系统模块通信的应用,其中所述应用被适配用于向系统调用提供扩展的属性,所述扩展的属性指示尽管所述经选择的数据段与先前写入到物理存储器的数据匹配,所述经选择的数据段也必须被写入到所述物理存储器。
12.根据权利要求7所述的系统,其中所述经选择的数据段是需要被重复存储在物理存储上的文件系统元数据和超级块中的至少一个。
13.根据权利要求7所述的系统,其中所述指示符包括比特和标记中的至少一个。
14.根据权利要求13所述的系统,其中所述比特和所述标记中的所述至少一个使用适配的小型计算机系统接口(SCSI)写入命令与所述经选择的数据段相关联。
15.一种通过处理器在计算环境中将数据冗余保留在数据重复消除系统中的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有存储于其中的计算机可读程序代码部分,所述计算机程序代码部分包括:
第一可执行部分,用于配置指示符,所述指示符提供有经选择的数据段,所述经选择的数据段将被通过所述数据重复消除系统来写入,以指定所述经选择的数据段必须不进行重复消除操作。
16.根据权利要求15所述的计算机程序产品,进一步包括:第二可执行部分,用于处理所述指示符,使得阻止对所述经选择的数据段执行所述重复消除操作。
17.根据权利要求16所述的计算机程序产品,进一步包括:第三可执行部分,用于根据处理所述指示符,准备将被提供到所述计算环境中的存储控制器的包含所述指示符的命令。
18.根据权利要求17所述的计算机程序产品,进一步包括:第四可执行部分,用于根据处理所述指示符:
由所述存储控制器接收所述命令,
绕过至少一个重复消除操作,以及
将所述经选择的数据段直接写入到新的物理存储位置。
19.根据权利要求15所述的计算机程序产品,进一步包括:第二可执行部分,用于根据配置指示符,对于可操作在所述计算环境中的应用,向系统调用提供扩展的属性,所述扩展的属性指示尽管所述经选择的数据段与先前写入到物理存储器的数据匹配,所述经选择的数据段也必须被写入到所述物理存储器。
20.根据权利要求15所述的计算机程序产品,其中,所述经选择的数据段是需要被重复存储在物理存储中的文件系统元数据和超级块中的至少一个,并且进一步包括第二可执行部分,用于根据配置指示符来配置比特和标记中的至少一个。
CN201380021287.XA 2012-04-23 2013-01-08 通过指示符在数据重复消除系统中保留冗余 Pending CN104246774A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/453,252 US9779103B2 (en) 2012-04-23 2012-04-23 Preserving redundancy in data deduplication systems
US13/453,252 2012-04-23
PCT/CN2013/070180 WO2013159578A1 (en) 2012-04-23 2013-01-08 Preserving redundancy in data deduplication systems by indicator

Publications (1)

Publication Number Publication Date
CN104246774A true CN104246774A (zh) 2014-12-24

Family

ID=49381080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380021287.XA Pending CN104246774A (zh) 2012-04-23 2013-01-08 通过指示符在数据重复消除系统中保留冗余

Country Status (4)

Country Link
US (3) US9779103B2 (zh)
CN (1) CN104246774A (zh)
DE (1) DE112013000900B4 (zh)
WO (1) WO2013159578A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018058382A1 (zh) * 2016-09-28 2018-04-05 华为技术有限公司 一种存储系统中重复数据删除方法、存储系统及控制器
CN108369555A (zh) * 2015-10-20 2018-08-03 美光科技公司 存储器装置中的逻辑地址历史管理

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496490B2 (en) 2013-05-16 2019-12-03 Hewlett Packard Enterprise Development Lp Selecting a store for deduplicated data
US10592347B2 (en) * 2013-05-16 2020-03-17 Hewlett Packard Enterprise Development Lp Selecting a store for deduplicated data
US10877945B1 (en) * 2013-12-20 2020-12-29 EMC IP Holding Company LLC Optimized block storage for change block tracking systems
US20160034201A1 (en) * 2014-08-04 2016-02-04 International Business Machines Corporation Managing de-duplication using estimated benefits
US10706042B1 (en) * 2015-06-30 2020-07-07 EMC IP Holding Company LLC Data deduplication on a distributed file system using conditional writes
US10803020B1 (en) 2015-06-30 2020-10-13 EMC IP Holding Company LLC Data deduplication on a distributed file system
US10430384B1 (en) 2015-06-30 2019-10-01 EMC IP Holding Company LLC Global data deduplication across multiple distributed file systems
US9830273B2 (en) 2015-07-30 2017-11-28 Netapp, Inc. Deduplicated host cache flush to remote storage
US10795861B2 (en) * 2018-06-20 2020-10-06 International Business Machines Corporation Online measurement of potential deduplication efficiency
US11048674B2 (en) 2018-11-14 2021-06-29 International Business Machines Corporation Data deduplication with less impact on speed of access
US11226942B2 (en) * 2019-10-16 2022-01-18 International Business Machines Corporation Controlling deduplication in a storage pool
US11893256B2 (en) * 2020-03-11 2024-02-06 International Business Machines Corporation Partitioning of deduplication domains in storage systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244172A1 (en) * 2007-03-29 2008-10-02 Yoshiki Kano Method and apparatus for de-duplication after mirror operation
US7567188B1 (en) * 2008-04-10 2009-07-28 International Business Machines Corporation Policy based tiered data deduplication strategy

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5628004A (en) * 1994-11-04 1997-05-06 Optima Direct, Inc. System for managing database of communication of recipients
DE60033376T2 (de) 1999-12-20 2007-11-29 Dai Nippon Printing Co., Ltd. Verteilte datenarchivierungsvorrichtung und system
US20040111625A1 (en) 2001-02-14 2004-06-10 Duffy Dominic Gavan Data processing apparatus and method
EP1271951A1 (en) 2001-06-22 2003-01-02 Octalis S.A. Conditional access system for digital data by key decryption and re-encryption
WO2003046721A1 (en) 2001-11-23 2003-06-05 Commvault Systems, Inc. Selective data replication system and method
US20030115447A1 (en) 2001-12-18 2003-06-19 Duc Pham Network media access architecture and methods for secure storage
US20040131182A1 (en) 2002-09-03 2004-07-08 The Regents Of The University Of California Block cipher mode of operation for constructing a wide-blocksize block cipher from a conventional block cipher
US8010498B2 (en) 2005-04-08 2011-08-30 Microsoft Corporation Virtually infinite reliable storage across multiple storage devices and storage services
JP4620518B2 (ja) 2005-04-26 2011-01-26 株式会社ケンウッド 音声データベース製造装置、音片復元装置、音声データベース製造方法、音片復元方法及びプログラム
US20070168350A1 (en) 2006-01-17 2007-07-19 Tom Utiger Management of non-traditional content repositories
US9465823B2 (en) * 2006-10-19 2016-10-11 Oracle International Corporation System and method for data de-duplication
US7827137B2 (en) * 2007-04-19 2010-11-02 Emc Corporation Seeding replication
JP5060876B2 (ja) 2007-08-30 2012-10-31 株式会社日立製作所 ストレージシステム及びストレージシステムの消費電力低減方法
US8209506B2 (en) 2007-09-05 2012-06-26 Emc Corporation De-duplication in a virtualized storage environment
JP5026213B2 (ja) 2007-09-28 2012-09-12 株式会社日立製作所 ストレージ装置及びデータ重複排除方法
US7870105B2 (en) * 2007-11-20 2011-01-11 Hitachi, Ltd. Methods and apparatus for deduplication in storage system
US8751755B2 (en) * 2007-12-27 2014-06-10 Sandisk Enterprise Ip Llc Mass storage controller volatile memory containing metadata related to flash memory storage
US7979670B2 (en) 2008-01-24 2011-07-12 Quantum Corporation Methods and systems for vectored data de-duplication
US7814074B2 (en) 2008-03-14 2010-10-12 International Business Machines Corporation Method and system for assuring integrity of deduplicated data
US8346730B2 (en) 2008-04-25 2013-01-01 Netapp. Inc. Deduplication of data on disk devices based on a threshold number of sequential blocks
US9395929B2 (en) 2008-04-25 2016-07-19 Netapp, Inc. Network storage server with integrated encryption, compression and deduplication capability
US7908436B1 (en) 2008-04-25 2011-03-15 Netapp, Inc. Deduplication of data on disk devices using low-latency random read memory
US20090319772A1 (en) 2008-04-25 2009-12-24 Netapp, Inc. In-line content based security for data at rest in a network storage system
US8117464B1 (en) 2008-04-30 2012-02-14 Netapp, Inc. Sub-volume level security for deduplicated data
US8219524B2 (en) 2008-06-24 2012-07-10 Commvault Systems, Inc. Application-aware and remote single instance data management
US8484162B2 (en) 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US8392791B2 (en) 2008-08-08 2013-03-05 George Saliba Unified data protection and data de-duplication in a storage system
US8086799B2 (en) 2008-08-12 2011-12-27 Netapp, Inc. Scalable deduplication of stored data
US8074049B2 (en) 2008-08-26 2011-12-06 Nine Technology, Llc Online backup system with global two staged deduplication without using an indexing database
US8290915B2 (en) 2008-09-15 2012-10-16 International Business Machines Corporation Retrieval and recovery of data chunks from alternate data stores in a deduplicating system
US8190823B2 (en) 2008-09-18 2012-05-29 Lenovo (Singapore) Pte. Ltd. Apparatus, system and method for storage cache deduplication
US8131687B2 (en) * 2008-11-13 2012-03-06 International Business Machines Corporation File system with internal deduplication and management of data blocks
US9058118B1 (en) 2008-12-31 2015-06-16 Symantec Corporation Techniques for synchronizing and/or consolidating storage areas
WO2010097960A1 (en) 2009-02-25 2010-09-02 Hitachi, Ltd. Storage system and data processing method for the same
US8271718B2 (en) * 2009-03-11 2012-09-18 Hitachi, Ltd. Storage system and control method for the same, and program
US8140491B2 (en) 2009-03-26 2012-03-20 International Business Machines Corporation Storage management through adaptive deduplication
US8401996B2 (en) 2009-03-30 2013-03-19 Commvault Systems, Inc. Storing a variable number of instances of data objects
US8218759B2 (en) 2009-04-17 2012-07-10 Oracle America, Inc. System and method for encrypting data
US8412848B2 (en) 2009-05-29 2013-04-02 Exagrid Systems, Inc. Method and apparatus for content-aware and adaptive deduplication
US8731190B2 (en) 2009-06-09 2014-05-20 Emc Corporation Segment deduplication system with encryption and compression of segments
US8401181B2 (en) 2009-06-09 2013-03-19 Emc Corporation Segment deduplication system with encryption of segments
US20100332401A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
GB2472072B (en) 2009-07-24 2013-10-16 Hewlett Packard Development Co Deduplication of encoded data
CN101656720B (zh) 2009-08-12 2012-10-17 北京握奇数据系统有限公司 对信息系统中访问对象信息统一维护的方法及装置
US8200641B2 (en) 2009-09-11 2012-06-12 Dell Products L.P. Dictionary for data deduplication
JP5303038B2 (ja) 2009-09-18 2013-10-02 株式会社日立製作所 重複したデータを排除するストレージシステム
FR2952778B1 (fr) 2009-11-17 2011-12-23 Thales Sa Procede de transmission de donnees securise et systeme de chiffrement et de dechiffrement permettant une telle transmission
US9239843B2 (en) * 2009-12-15 2016-01-19 Symantec Corporation Scalable de-duplication for storage systems
US8660994B2 (en) 2010-01-28 2014-02-25 Hewlett-Packard Development Company, L.P. Selective data deduplication
US8108447B2 (en) * 2010-03-11 2012-01-31 Symantec Corporation Systems and methods for garbage collection in deduplicated data systems
JP5434705B2 (ja) 2010-03-12 2014-03-05 富士通株式会社 ストレージ装置、ストレージ装置制御プログラムおよびストレージ装置制御方法
JP4892072B2 (ja) 2010-03-24 2012-03-07 株式会社東芝 ホスト装置と連携して重複データを排除するストレージ装置、同ストレージ装置を備えたストレージシステム、及び同システムにおける重複排除方法
US8453031B2 (en) 2010-03-24 2013-05-28 International Business Machines Corporation Data deduplication using CRC-seed differentiation between data and stubs
US8442942B2 (en) 2010-03-25 2013-05-14 Andrew C. Leppard Combining hash-based duplication with sub-block differencing to deduplicate data
US8954669B2 (en) 2010-07-07 2015-02-10 Nexenta System, Inc Method and system for heterogeneous data volume
US8886613B2 (en) * 2010-10-12 2014-11-11 Don Doerner Prioritizing data deduplication
US20120095968A1 (en) 2010-10-17 2012-04-19 Stephen Gold Storage tiers for different backup types
US8380681B2 (en) 2010-12-16 2013-02-19 Microsoft Corporation Extensible pipeline for data deduplication
US8539148B1 (en) 2010-12-22 2013-09-17 Emc Corporation Deduplication efficiency
CN102156727A (zh) 2011-04-01 2011-08-17 华中科技大学 一种采用双指纹哈希校验的重复数据删除方法
CN102281320A (zh) 2011-04-25 2011-12-14 程旭 控制云存储中数据冗余的方法及装置
CN102221982B (zh) 2011-06-13 2013-09-11 北京卓微天成科技咨询有限公司 块级虚拟化存储设备上实现重复数据删除的方法及系统
US20120317084A1 (en) * 2011-06-13 2012-12-13 Beijing Z&W Technology Consulting Co., Ltd. Method and system for achieving data de-duplication on a block-level storage virtualization device
US8447732B2 (en) * 2011-08-02 2013-05-21 International Business Machines Corporation Deduplication in network storage with data residence compliance
US8930307B2 (en) * 2011-09-30 2015-01-06 Pure Storage, Inc. Method for removing duplicate data from a storage array
US8589640B2 (en) * 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US8527544B1 (en) * 2011-08-11 2013-09-03 Pure Storage Inc. Garbage collection in a storage system
US8468138B1 (en) * 2011-12-02 2013-06-18 International Business Machines Corporation Managing redundant immutable files using deduplication in storage clouds
US9904565B2 (en) 2012-02-01 2018-02-27 Veritas Technologies Llc Subsequent operation input reduction systems and methods for virtual machines
US8712976B1 (en) * 2012-03-28 2014-04-29 Emc Corporation Managing deduplication density
US8812456B2 (en) * 2012-03-30 2014-08-19 Netapp Inc. Systems, methods, and computer program products for scheduling processing to achieve space savings

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080244172A1 (en) * 2007-03-29 2008-10-02 Yoshiki Kano Method and apparatus for de-duplication after mirror operation
US7567188B1 (en) * 2008-04-10 2009-07-28 International Business Machines Corporation Policy based tiered data deduplication strategy

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108369555A (zh) * 2015-10-20 2018-08-03 美光科技公司 存储器装置中的逻辑地址历史管理
US11256418B2 (en) 2015-10-20 2022-02-22 Micron Technology, Inc. Logical address history management in memory device
CN108369555B (zh) * 2015-10-20 2022-05-24 美光科技公司 存储器装置中的逻辑地址历史管理
WO2018058382A1 (zh) * 2016-09-28 2018-04-05 华为技术有限公司 一种存储系统中重复数据删除方法、存储系统及控制器
US10216446B2 (en) 2016-09-28 2019-02-26 Huawei Technologies Co., Ltd. Method for deduplication in storage system, storage system, and controller

Also Published As

Publication number Publication date
US10691670B2 (en) 2020-06-23
US20130282673A1 (en) 2013-10-24
US20130282669A1 (en) 2013-10-24
US9779103B2 (en) 2017-10-03
US9798734B2 (en) 2017-10-24
WO2013159578A1 (en) 2013-10-31
US20170329815A1 (en) 2017-11-16
DE112013000900B4 (de) 2023-04-27
DE112013000900T5 (de) 2014-11-13

Similar Documents

Publication Publication Date Title
CN104246774A (zh) 通过指示符在数据重复消除系统中保留冗余
US9563377B2 (en) Computer system and method of controlling computer system
US8990581B2 (en) Preserving redundancy in data deduplication systems by encryption
US8316203B2 (en) Storage system and method implementing online volume and snapshot with performance/failure independence and high capacity efficiency
US9459806B2 (en) Combining virtual mapping metadata and physical space mapping metadata
US9684591B2 (en) Storage system and storage apparatus
US8214606B2 (en) Storage system and control method thereof
JP4961319B2 (ja) 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム
WO2010103569A1 (en) Storage system and control method for the same, and program
US8539142B2 (en) Storage system comprising nonvolatile semiconductor storage media
US8935304B2 (en) Efficient garbage collection in a compressed journal file
US20080263299A1 (en) Storage System and Control Method Thereof
CN103678473A (zh) 用于在去重虚拟介质中进行高效文件归档回收的方法和系统
CN103500161B (zh) 用于通过指定虚拟地址在重复删除系统中保存冗余的方法和系统
US20110167215A1 (en) Storage System Comprising RAID Group
US9703795B2 (en) Reducing fragmentation in compressed journal storage
CN104636078B (zh) 用于对多种类型的存储等级组的非易失性存储(nvs)的有效阈值化的方法和系统
JP2008299559A (ja) ストレージシステム及びストレージシステムにおけるデータ移行方法
US20120011339A1 (en) Storage control apparatus and control method for virtual logical volume
CN115480909A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141224

WD01 Invention patent application deemed withdrawn after publication