CN102576323A - 促进复制期间的数据压缩 - Google Patents

促进复制期间的数据压缩 Download PDF

Info

Publication number
CN102576323A
CN102576323A CN2010800471796A CN201080047179A CN102576323A CN 102576323 A CN102576323 A CN 102576323A CN 2010800471796 A CN2010800471796 A CN 2010800471796A CN 201080047179 A CN201080047179 A CN 201080047179A CN 102576323 A CN102576323 A CN 102576323A
Authority
CN
China
Prior art keywords
storage array
data
data block
storage
configuration bit
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
CN2010800471796A
Other languages
English (en)
Other versions
CN102576323B (zh
Inventor
M·R·沃德
N·芬恩
C·A·拉腊
M·布朗
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 CN102576323A publication Critical patent/CN102576323A/zh
Application granted granted Critical
Publication of CN102576323B publication Critical patent/CN102576323B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2066Optimisation of the communication load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

在一种用于促进存储系统中的数据复制的方法中,使用包括可压缩配置位的一个或多个逻辑卷属性来预配置复制对的第一存储阵列的逻辑卷,所述可压缩配置位指示是否可以在复制期间压缩要存储到该逻辑卷的数据块。接下来,在所述第一存储阵列处接收到一个要存储到所述逻辑卷的数据块后,检查所述可压缩配置位以判定是否可以在复制期间压缩该数据块,并且如果可以,则压缩该数据块以便复制。将所述可压缩配置位放置在要复制到第二存储阵列的数据分组的有效负载区域内。在所述第二存储阵列处,使用所述可压缩配置位来判定是否解压缩所复制的数据块。

Description

促进复制期间的数据压缩
技术领域
本发明一般地涉及存储系统、存储控制器和数据压缩,更具体地说,涉及促进在存储系统的存储阵列之间的复制期间的数据压缩。
背景技术
近年来,存储区域网络(SAN)变得流行。在存储区域网络中,存储单元(或存储设备)并非在本地连接到特定主机,而是通过交换机光纤通道网络(switch fabric)连接到一个主机或一系列主机,其中每个主机均可以访问每个存储单元。通过此方式,多个主机可以共享存储单元,以便可以更容易地在主机(多个)上的应用之间分配存储空间。
在一个实例中,存储区域网络管理根据RAID(独立磁盘冗余阵列)配置排列成阵列的多个盘驱动器。在所述多个盘驱动器提供的物理存储阵列中形成一个或多个逻辑卷,并且将这些逻辑卷提供给主机系统(多个)。
由于此类存储系统处理大量数据,因此经常采用数据压缩(例如,在复制期间)以增加数据传输速率的性能,从而超过未压缩数据本身的默认速率。某些现有存储控制器实施方式利用全有或全无(all-or-nothing)方法在跨链路传输数据之前对数据进行压缩。如果激活压缩,则存储控制器尝试压缩每一个数据帧,无论该数据帧是可压缩的、不可压缩的还是已被压缩。由于在跨链路传输数据之前例如尝试压缩不可压缩的数据帧会造成性能损失,因此,结果是数据传输速率降低。
发明内容
在一个方面中,提供了一种用于促进存储系统中的数据的复制的计算机程序产品。所述计算机程序产品包括可由处理电路读取并存储由所述处理电路执行以执行一种方法的指令的存储介质,所述方法包括:使用包括可压缩配置位的至少一个逻辑卷属性来配置所述存储系统的第一存储阵列的存储单元的逻辑卷,所述可压缩配置位指示是否可以在复制期间压缩要存储到所述逻辑卷的一个或多个数据块;在所述第一存储阵列处接收一个要存储到所述存储单元的所述逻辑卷的数据块;以及检查与所述逻辑卷关联的所述可压缩配置位,以及根据检查结果,判定是否在将该数据块从所述存储系统的所述第一存储阵列复制到第二存储阵列期间压缩该数据块。
在另一方面中,提供了一种用于促进存储系统中的数据的复制的计算机系统。所述计算机系统包括存储器以及与所述存储器通信的处理器。所述计算机系统能够执行一种方法,所述方法包括:使用包括可压缩配置位的至少一个逻辑卷属性来配置所述存储系统的第一存储阵列的存储单元的逻辑卷,所述可压缩配置位指示是否可以在复制期间压缩要存储到所述逻辑卷的一个或多个数据块;在所述第一存储阵列处接收一个要存储到所述存储单元的所述逻辑卷的数据块;以及检查与所述逻辑卷关联的所述可压缩配置位,以及根据检查结果,判定是否在将该数据块从所述存储系统的所述第一存储阵列复制到第二存储阵列期间压缩该数据块。
在另一方面中,提供了一种促进存储系统中的数据的复制的方法。所述方法包括:使用包括可压缩配置位的至少一个逻辑卷属性来配置所述存储系统的第一存储阵列的存储单元的逻辑卷,所述可压缩配置位指示是否可以在复制期间压缩要存储到所述逻辑卷的一个或多个数据块。所述方法还包括:在所述第一存储阵列处接收一个要存储到所述存储单元的所述逻辑卷的数据块;以及检查与所述逻辑卷关联的所述可压缩配置位,以及根据检查结果,判定是否在将该数据块从所述存储系统的所述第一存储阵列复制到第二存储阵列期间压缩该数据块。
通过本发明的技术实现了其他特征和优点。此处详细地描述了本发明的其他实施例和方面,并且它们被视为所要求保护的发明的一部分。
附图说明
现在将参考附图,仅通过实例描述本发明的各实施例,这些附图是:
图1是示出根据本发明的一个实施例的使用数据压缩和复制工具的存储系统的一个实施例的方块图;
图2是根据本发明的一个实施例的图1的存储系统的存储控制器的一个实施例的方块图;
图3是示出根据本发明的一个实施例的经由复制链路在逻辑上耦合并使用数据压缩和复制工具的两个存储阵列的方块图;
图4示出根据本发明的一个实施例的使用可压缩配置位促进数据复制的过程的一个实施例;以及
图5示出根据本发明的一个实施例的用于复制的数据分组格式的一个实例并示出了将可压缩配置位插入数据分组的数据有效负载区域内。
具体实施方式
现在参考附图(为了便于理解,所述附图未按比例绘制),其中在不同的附图中使用相同的标号表示相同或相似的组件。
图1示出包括存储区域网络的数据存储系统100的一个实施例。位于存储区域网络中央的是一个或多个存储区域网络(SAN)光纤通道网络110,每个光纤通道网络由一系列路由器或交换机(诸如根据光纤通道规范的光纤通道交换机)形成。这些交换机相互连接以提供全网型(或光纤通道网络),从而允许任意节点连接到任意其他节点。各种节点和设备可以连接到SAN光纤通道网络110。例如,多个主机系统120通常与SAN光纤通道网络110耦合以通过该光纤通道网络与其他设备通信。这些其他设备包括一个或多个存储阵列130(下面进行描述)。此外,管理服务器140被示为与SAN光纤通道网络110相连以管理存储阵列130。在一个备选实施例中,可以采用局域网将管理服务器140与存储阵列130耦合而无需依赖SAN光纤通道网络110。
每个主机系统120都是包括诸如中央处理单元和存储器之类的信息处理资源的计算机设备,并且可以例如通过个人计算机、工作站、大型机等进行配置。
图2示出诸如图1中所示的存储系统的存储阵列130的一个实施例。如图所示,存储阵列130与存储区域网络(SAN)光纤通道网络110相连,并且包括存储控制器200和存储单元210。在所示的实施例中,存储控制器200包括前端接口201、数据传输控制器202、CPU 203、本地存储器204、高速缓冲存储器205以及后端接口206。如图所示,数据传输控制器202包括压缩控制器207(它不同于加密/解密控制器(未示出),所述加密/解密控制器通常也可包括在存储控制器的数据传输控制器内)。
存储控制器200控制存储单元210的多个存储模块,例如多个硬盘驱动器211。在一个实例中,对存储单元的控制基于在所谓的RAID系统中定义的RAID级别。在RAID系统中,将多个硬盘驱动器211作为单个RAID组进行管理。多个逻辑卷212在RAID组中定义为主机系统120(图1)的访问单元。将为每个逻辑卷212分配LUN(逻辑单元号)。
前端接口201是用于控制与一个或多个主机系统的连接的控制器,并且例如具有基于(例如)光纤通道协议从主机系统接收数据块输入/输出(I/O)请求的功能。前端接口201还包括将控制信号发送到存储区域网络的管理服务器以及从存储区域网络的管理服务器接收控制信号的控件。CPU 203是响应于来自主机系统的数据I/O请求而控制对多个硬盘驱动器211的读写访问的处理器。此外,CPU 203根据管理服务器140(参见图1)发出的各种命令执行处理,以及处理本地存储器204中存储的程序。本地存储器204存储各种类型的数据和程序以促进对存储阵列130的控制。
数据传输控制器202连接高速缓冲存储器205、前端接口201、后端接口206以及CPU 203。数据传输控制器202还包括压缩控制器207,并控制与SAN光纤通道网络110耦合的主机系统(参见图1)与存储单元210的硬盘驱动器211之间的数据传输。
高速缓冲存储器205是缓冲存储器,用于在复制操作期间临时存储要写入硬盘驱动器211的写入数据、要从硬盘驱动器211读取的读取数据以及要发送到另一存储控制器的高速缓冲存储器的数据。压缩控制器207是用于读取和压缩(或解压缩)临时存储在高速缓冲存储器205中的数据的控制器。
后端接口206是用于控制与硬盘驱动器211的连接的控制器,并且例如具有基于控制硬盘驱动器的协议而控制去往硬盘驱动器211的数据I/O请求的功能。
硬盘驱动器211是例如通过FC(光纤通道)磁盘驱动器、SATA(串行高级技术附件)磁盘驱动器、PATA(并行高级技术附件)磁盘驱动器、FATA(光纤高级技术附件)磁盘驱动器、SAS(串行高级SCSI)磁盘驱动器、SCSI(小型计算机系统接口)磁盘驱动器等而配置的存储设备。
参考图1,管理服务器140例如是包括诸如CPU、存储器和显示器之类的硬件资源的计算机系统。通过采用管理服务器140,输入操作可以由系统操作员执行。系统操作员能够发送用于管理一个或多个存储阵列的命令。这些命令可以例如包括用于增加或减少硬盘驱动器211的数量或更改RAID配置的命令、用于在本地存储器中安装CPU的微程序的命令、用于确认存储阵列的运行状态的命令,或用于在存储单元210内定义一个或多个逻辑卷212的命令。
在一个实施例中,每个存储阵列130都如上面结合图2中所示的存储阵列描述的方式进行配置。当从主机系统请求写入访问时,最前面的数据传输控制器202通过前端接口201将从主机系统接收的数据写入高速缓冲存储器205。接下来,数据传输控制器202将数据传输到后端接口206以便执行到硬盘驱动器211的异步写入。当从主机系统请求读取访问时,数据传输控制器202通过后端接口206将从硬盘驱动器211读取的数据写入高速缓冲存储器205,并且接着将数据传输到前端接口201。前端接口201然后将压缩后的数据传输到发出请求的主机系统。
为了实现数据可用性,经常在诸如图1和2中所示的存储系统内采用数据复制。数据复制在存储系统的预配置的存储阵列复制对(例如,在逻辑卷的复制对)之间进行,并且通常为从一个存储阵列到另一存储阵列的点对点数据传输。在可能的情况下,在复制期间使用数据压缩增加了数据传输速率,从而超过未压缩数据的默认速率。但是,可压缩的数据的类型是变化的。目前可用的一些存储控制器使用全有或全无的方法在从一个存储阵列到另一存储阵列的复制期间对数据进行压缩。例如,总部位于美国马萨诸塞州霍普金顿的EMC Corporation提供Symmetrix DMX-4系列高端存储系统,该系统的存储控制器具有在复制期间自动尝试压缩数据的内置能力。但是,当启用压缩时,此类存储控制器将尝试压缩每一个数据块,无论该数据块是可压缩的还是不可压缩的。所述存储控制器不知道或无法判定所复制的数据是否可压缩以用于复制。
在此提供了解决方案。具体而言,披露了一种数据压缩和复制工具,此工具为存储控制器提供了处理智能以选择性地压缩从存储系统的第一存储阵列复制到第二存储阵列的数据块(如果实际上可压缩该数据块)。这种在尝试压缩之前知晓哪些数据块可压缩的能力提高了存储阵列之间的数据传输速率,因此促进了复制操作。
图3示出包括(在一个实施例中)多个存储子系统的存储系统的存储阵列的复制对。如图所示,复制对包括第一存储阵列130A和第二存储阵列130B,每个存储阵列都与存储区域网络光纤通道网络110耦合。第一存储阵列130A和第二存储阵列130B均如上面结合图2中的存储区域阵列描述的方式进行配置,其中将标号“A”添加到第一存储阵列130A的标号,将标号“B”添加到第二存储阵列130B的标号。在一个实施例中,第一存储阵列130A和第二存储阵列130B位于一组存储子系统的不同存储子系统中,所述不同存储子系统位于同一地理位置,或者更典型地位于不同的地理位置。
在图3中,第一存储阵列130A被示为在数据传输控制器202A内包括发送/接收缓冲器300A,第二存储阵列130B被示为在数据传输控制器202B内包括发送/接收缓冲器300B。复制链路310耦合(在一个实例中)发送/接收缓冲器300A、300B。此复制链路310可以包括物理链路或链路的逻辑表示(例如,通过SAN光纤通道网络110)。此外,尽管被示为位于数据传输控制器202A、202B内,但是发送/接收缓冲器300A、300B还可以位于其他位置;例如,位于存储控制器200A、200B的相应高速缓冲存储器205A、205B内。
如所说明的,在数据块从第一存储阵列130A到第二存储阵列130B的复制期间,压缩控制器207A通常尝试(在全有或全无的方法中)压缩被复制的每一个数据块。这在数据块是不可压缩的数据的那些情况下将使数据传输速率变慢。为了解决此问题,采用了一个新的位,在此被称为可压缩配置位,将其同时作为与存储数据块的逻辑卷关联的存储卷属性以及作为放置在被从第一存储阵列复制到第二存储阵列的数据分组的数据有效负载区域内的标头字符串的一部分。下面将参考图4进一步描述可压缩配置为的使用。
在图4中,示出促进存储系统中的数据的复制的过程。所述过程(下面将参考图1的存储系统和图3的复制对进行描述)包括使用包含可压缩配置位的一个或多个存储卷属性来配置第一存储阵列的存储单元的逻辑卷(步骤400)。例如,系统管理员可以使用管理服务器140(参见图1)指示第一存储阵列将新的存储卷属性与存储阵列的存储单元的一个或多个逻辑卷相关联。这个包括可压缩配置位的新存储卷属性可以由系统管理员针对第一存储阵列的存储单元内的每个特定逻辑卷而设为ON(打开)或OFF(关闭)。备选地,取决于实施方式,可压缩配置位可以针对特定逻辑卷默认设为ON或OFF。在下面所述的实例中,假设可压缩配置位被设为ON,也就是说,任何要被写入特定逻辑卷的数据块都被定义为可以在复制期间进行压缩。
接下来,在第一存储阵列处接收写入数据块请求,所述写入数据块请求具有在第一存储阵列的存储单元的逻辑卷之一中的特定块地址。所述写入数据块请求通过SAN光纤通道网络从主机系统(在一个实例中)接收到第一存储阵列130A(参见图3),通过前端接口201A进入存储控制器202A。数据传输控制器202A然后将所接收的数据块放置在高速缓冲存储器205A内(步骤410,图4)。
存储控制器200A(图3)检查与要写入数据块的逻辑卷关联的存储卷属性,并判定该逻辑卷是否为复制对的一部分,并且如果是,则判定是否在复制期间压缩数据块(步骤420)。通过与逻辑卷关联的新存储卷属性(其包括已按上述方式设置的可压缩配置位)指示该逻辑卷为复制对的一部分(在一个实施例中)。例如,假设将可压缩配置位设为ON,这表示要存储到该逻辑卷的所有数据块都可以在复制期间进行压缩,此外,假设存储控制器200A具有不会尝试在复制期间压缩数据块的默认设置。在此情况下,被设为ON的可压缩配置位表示存储控制器将在复制期间压缩数据块。(备选地,存储控制器可以默认设为在复制期间自动压缩数据块,在此情况下,可以使用可压缩配置位来覆盖那些不可压缩的数据块的自动压缩)。
作为进一步的方面,所复制的数据可以包括有关在复制到第二存储阵列期间第一存储阵列是否压缩数据块的指示。为了实现此目的,存储控制器或者可以立即将可压缩配置位放置在针对复制组装的数据分组的数据有效负载区域内(例如,包裹在放入数据分组的数据有效负载区域内的适当字符串中),或者在可跟踪表中设置位以随后在组装数据分组以便复制时在将字符串插入数据分组的数据有效负载区域中使用。在一个实例中,数据分组是针对跨光纤通道复制链路(在逻辑上或物理上将第一存储阵列130A的存储控制器220A(图3)与第二存储阵列130B的存储控制器200B进行耦合)的传输而组装的光纤通道分组。
图5示出可压缩配置位500(例如,作为参考字符串插入要从第一存储阵列复制到第二存储阵列的数据分组帧520的数据有效负载区域510内)的一个实例。在该实例中,假设数据分组是跨光纤通道链路传输的光纤通道(FC)数据分组。但是,仅通过实例的方式提供此实施方式。要指出的是,通常,如现有光纤通道规范定义的,帧标头信息位于数据分组的数据有效负载区域之外。但是,根据本发明,包含可压缩配置位的参考字符串被插入数据有效负载区域(由接收数据块的分组协议指定),因此,无需更改现有分组标头配置,例如,无需更改现有光纤通道规范以实现本发明。
继续图4,当要放置数据块的逻辑卷是复制对的一部分,并且该逻辑卷具备设置为在复制期间压缩数据块的可压缩配置位时,存储控制器调度在链路上实际复制的数据块,并且将所述数据块组装成要在链路上复制的数据分组(步骤430)。该组装包括(在该实例中)压缩数据块并将压缩后的数据块连同可压缩配置位(如图5中所示)一起放置在数据分组的数据有效负载区域内(步骤440,图4)。在一个实施例中,数据分组被放置在存储控制器的发送/接收缓冲器300A内(图3)以便通过复制链路310将数据分组传输到第二存储阵列130B,具体而言,传输到存储控制器200B的数据传输控制器202B的发送/接收缓冲器300B。
第二存储阵列的数据传输控制器200B(图3)将数据分组接收到高速缓冲存储器205B中(步骤450,图4),并检查数据分组的数据有效负载区域内的参考字符串中的可压缩配置位是否指示在复制之前压缩数据块(步骤460)。存储控制器从有效负载区域移除可压缩配置位,并且如果已在复制期间压缩数据,则先对数据块进行解压缩,然后再将数据块放置在第二存储阵列中的离台队列上,以便将数据写入第二存储阵列130B的存储单元210B(图3)(步骤470,图4)。
本领域的技术人员从上面的描述中可以注意到,在此提供的数据块复制工具为存储控制器提供了处理智能,允许存储控制器例如避免在复制期间尝试压缩不可压缩的数据块。通过与要存储数据的逻辑卷关联的可压缩配置位而确定为可压缩的数据将在复制之前由存储控制器自动进行压缩,而不可压缩的数据(通过可压缩配置位确定)可立即通过复制链路传输,从而提高复制速率。在此描述的可压缩配置位既是与存储数据块的逻辑卷关联的存储卷属性,也是放入在将数据块从复制对的第一存储阵列复制到第二存储阵列期间组装的数据分组的数据有效负载区域内的参考字符串的一部分。有利地,在此描述的数据块复制工具与光纤通道标准或其他链路标准的各种实施方式无关。
在一种备选实施方式中,数据存储系统可确保复制的逻辑卷对被保证始终具有匹配的可压缩配置位属性。这需要不存在其中与复制逻辑卷对中的逻辑卷关联的可压缩配置位不匹配的时间窗口。在这种情况下,可压缩配置位无需被包括为结合到在将数据块从复制对的第一存储阵列复制到第二存储阵列期间组装的分组的数据有效负载区域内的参考字符串的一部分。其次,接收存储阵列在该实例中将检查与其各个逻辑卷关联的存储卷属性以判定是否已设置可压缩配置位,然后相应地对所接收的复制数据执行操作。
本领域的技术人员将理解,本发明的各方面可以实现为系统、方法或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合了软件和硬件方面(在此通常被称为“电路”、“模块”或“系统”)的实施例的形式。此外,本发明的各方面可以采取体现在一个或多个计算机可读介质(在介质中具有计算机可读程序代码)中的计算机程序产品的形式。
可以使用一个或多个计算机可读介质的任意组合。所述计算机可读介质可以是计算机可读存储介质。计算机可读存储介质可以是(例如但不限于)电、磁、光或半导体系统、装置、设备或它们的任何适当组合。计算机可读存储介质的更具体的实例(非穷举列表)可以包括以下项:具有一条或多条线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或它们的任何适当组合。在本文档的上下文中,计算机可读存储介质可以是任何能够包含或存储由指令执行系统、装置或设备使用或与所述指令执行系统、装置或设备结合的程序的有形介质。
可以使用适当的介质(包括但不限于无线、线缆、光缆、RF等或它们的任何适当组合)来传输计算机可读介质中包含的程序代码。
用于执行本发明的各方面的操作的计算机程序代码可以使用一种或多种编程语言的任意组合来编写,所述编程语言包括诸如Java、Smalltalk、C++之类的面向对象的编程语言以及诸如“C”编程语言或类似的编程语言之类的常规过程编程语言。所述程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为独立的软件包、部分地在用户计算机上并部分地在远程计算机上执行,或完全地在远程计算机或服务器上执行。在后者的情况中,远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型网络与用户的计算机相连,也可以与外部计算机进行连接(例如,使用因特网服务提供商通过因特网连接)。
在此参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或方块图对本发明的各方面进行描述。将理解,所述流程图和/或方块图的每个方块以及所述流程图和/或方块图中的方块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,以便通过所述计算机或其他可编程数据处理装置的处理器执行的指令产生用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的装置。
这些计算机程序指令也可以被存储在可引导计算机、其他可编程数据处理装置或其他设备以特定方式执行功能的计算机可读介质中,以便存储在所述计算机可读介质中的指令产生一件包括实现在一个或多个流程图和/或方块图方块中指定的功能/操作的指令的制品。
所述计算机程序指令还可被加载到计算机、其他可编程数据处理装置或其他设备,以导致在所述计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实现的过程,从而在所述计算机或其他可编程装置上执行的指令提供用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的过程。
附图中的流程图和方块图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在此方面,所述流程图或方块图中的每个方块都可以表示代码的模块、段或部分,所述代码包括用于实现指定的逻辑功能(多个)的一个或多个可执行指令。还应指出,在某些备选实施方式中,在方块中说明的功能可以不按图中说明的顺序发生。例如,示为连续的两个方块可以实际上被基本同时地执行,或者某些时候,取决于所涉及的功能,可以以相反的顺序执行所述方块。还应指出,所述方块图和/或流程图的每个方块以及所述方块图和/或流程图中的方块的组合可以由执行指定功能或操作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。
除了上面所述,本发明的一个或多个方面可以由提供客户环境管理的服务提供商提供、供应、部署、管理和维护等。例如,服务提供商可以为一位或多位客户创建、维护、支持执行本发明的一个或多个方面的计算机代码和/或计算机基础结构。作为回报,服务提供商可以例如根据订阅和/或收费协议向客户收费。额外地或备选地,服务提供商还可以通过向一个或多个第三方销售广告内容来收费。
在本发明的一个方面中,可以部署应用以执行本发明的一个或多个方面。例如,部署应用包括提供可操作以执行本发明的一个或多个方面的计算机基础结构。
作为本发明的进一步方面,可以部署计算基础结构,包括将计算机可读代码集成到计算系统中,其中与所述计算系统结合的代码能够执行本发明的一个或多个方面。
作为本发明的进一步方面,可以提供用于集成计算基础结构的过程,其中包括将计算机可读代码集成到计算机系统中。所述计算机系统包括计算机可读介质,其中所述计算机介质包括本发明的一个或多个方面。与所述计算机系统结合的代码能够执行本发明的一个或多个方面。
进而,其他类型的计算环境可以从本发明的一个或多个方面中获益。作为实例,环境可以包括仿真器(例如,软件或其他仿真机制),其中仿真特定体系结构(包括例如指令执行、诸如地址转换之类的架构式功能以及架构式寄存器)或所述体系结构的子集(例如,在具有处理器和存储器的本机计算机系统上)。在此类环境中,仿真器的一种或多种仿真功能可以实现本发明的一个或多个方面,尽管执行仿真器的计算机可具有不同于所仿真的能力的体系结构。作为一个实例,在仿真模式下,对被仿真的特定指令或操作进行解码,然后构建适当的仿真功能以实现各个指令或操作。
在仿真环境中,主机计算机例如包括:存储指令和数据的存储器;从存储器取回指令以及可选地为所取回的指令提供本地缓冲的指令取回单元;接收所取回的指令以及确定所取回的指令的类型的指令解码单元;以及执行指令的指令执行单元。执行可以包括:将数据从存储器载入寄存器;将数据从寄存器存储回存储器;或者执行解码单元所确定的某种类型的算术或逻辑运算。在一个实例中,各个单元均在软件中实现。例如,由所述单元执行的操作被实现为仿真器软件内的一个或多个子例程。
进而,可以使用适合于存储和/或执行程序代码的数据处理系统,所述数据处理系统包括至少一个直接或通过系统总线间接连接到存储器元件的处理器。所述存储器元件可以例如包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备、DASD、磁带、CD、DVD、闪盘或其他存储介质等)可以直接或通过中间I/O控制器与系统相连。网络适配器也可以被连接到系统以使所述数据处理系统能够通过中间专用或公共网络变得与其他数据处理系统或远程打印机或存储设备相连。调制解调器、电缆调制解调器和以太网卡只是几种可用的网络适配器类型。
在此使用的术语仅出于描述特定实施例的目的,并非对本发明进行限制。如在此使用的,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文另外明确指出。还将理解,当在本说明书中使用时,术语“包括”和/或“包含”指定存在所声明的特性、整数、步骤、操作、元件和/或组件,但并不排除存在或增加一个或多个其他特性、整数、步骤、操作、元件、组件和/或它们的组。
以下的权利要求中的对应结构、材料、操作以及所有功能性限定的装置(means)或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它元素相组合地执行该功能的结构、材料或操作。所给出的对本发明的描述其目的在于示意和描述,并非是穷尽性的,也并非是要把本发明限定到所表述的形式。对于所属技术领域的普通技术人员来说,在不偏离本发明范围的情况下,显然可以做出许多修改和变型。对实施例的选择和说明,是为了最好地解释本发明的原理和实际应用,使所属技术领域的普通技术人员能够明了,本发明可以有适合所要的特定用途的具有各种改变的各种实施方式。

Claims (12)

1.一种促进存储系统中的数据的复制的方法,所述方法包括:
使用包括可压缩配置位的至少一个逻辑卷属性来配置所述存储系统的第一存储阵列的存储单元的逻辑卷,所述可压缩配置位指示是否可以在要存储到所述逻辑卷的一个或多个数据块的复制期间压缩所述一个或多个数据块;
在所述第一存储阵列处接收一个要存储到所述第一存储阵列的所述存储单元的所述逻辑卷的数据块;以及
检查与所述逻辑卷关联的所述至少一个存储卷属性的所述可压缩配置位,以及根据检查结果,判定是否在将该数据块从所述存储系统的所述第一存储阵列复制到第二存储阵列期间压缩该数据块。
2.如权利要求1中所述的方法,其中所述方法还包括将该数据块从所述第一存储阵列复制到所述第二存储阵列,所述复制包括将所述可压缩配置位放置在数据分组的数据有效负载区域内以便将该数据块从所述第一存储阵列传输到所述第二存储阵列。
3.如权利要求2中所述的方法,其中所述复制包括在所述第一存储阵列处将该数据块压缩成压缩后的数据块以及将所述压缩后的数据块放置在所述数据分组的所述数据有效负载区域内,所述压缩在所述可压缩配置位指示可以在复制期间压缩该数据块时发生。
4.如权利要求2中所述的方法,其中所述复制包括当所述可压缩配置位的检查指示不可在复制期间压缩该数据块时,将该数据块从所述第一存储阵列复制到所述第二存储阵列而不压缩该数据块。
5.如权利要求2中所述的方法,其中所述存储系统还包括耦合所述第一存储阵列和所述第二存储阵列的复制链路,并且其中所述复制包括跨所述复制链路将所述数据分组从所述第一存储阵列传输到所述第二存储阵列。
6.如权利要求5中所述的方法,其中所述复制链路包括光纤通道链路,并且其中所述放置包括将所述可压缩配置位放置在所述数据分组的所述数据有效负载区域内而无需修改光纤通道协议,其中所述数据分组是光纤通道数据分组。
7.如权利要求2中所述的方法,还包括在所述第二存储阵列处接收所述数据分组,检查所述数据分组的所述数据有效负载区域以查找所述可压缩配置位,并且如果已设置该位,则在所述第二存储阵列处解压缩该数据块,并在所述第二存储阵列处丢弃所述可压缩配置位以及将该数据块写入所述第二存储阵列的存储单元的逻辑卷。
8.如权利要求1中所述的方法,其中所述配置包括在接收要写入所述逻辑卷的数据块之前,使用包括所述可压缩配置位的所述至少一个逻辑卷属性预配置所述逻辑卷。
9.如权利要求1中所述的方法,还包括将所述可压缩配置位和该数据块插入针对将该数据块从所述第一存储阵列复制到所述第二存储阵列而组装的数据分组的数据有效负载区域内,由所述第二存储阵列在判定是否解压缩从所述数据分组的所述数据有效负载区域取回的数据块中使用所述可压缩配置位。
10.如权利要求9中所述的方法,其中所述检查、判定和插入由所述第一存储阵列的存储控制器执行。
11.一种用于促进存储系统中的数据的复制的计算机系统,所述计算机系统包括:
存储器;以及
与所述存储器通信的处理器,其中所述计算机系统能够执行一种方法,所述方法包括权利要求1至10中的任一权利要求中的所有步骤。
12.一种用于促进存储系统中的数据的复制的计算机程序产品,所述计算机程序产品包括:
可由处理电路读取并存储指令的存储介质,当被所述处理电路执行时,所述指令将执行权利要求1至10中的任一权利要求中的所有步骤。
CN201080047179.6A 2009-10-28 2010-09-30 一种促进存储系统中的数据的复制的方法和系统 Expired - Fee Related CN102576323B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/607,118 2009-10-28
US12/607,118 US8468315B2 (en) 2009-10-28 2009-10-28 Facilitating data compression during replication using a compressible configuration bit
PCT/EP2010/064537 WO2011051075A1 (en) 2009-10-28 2010-09-30 Facilitating data compression during replication

Publications (2)

Publication Number Publication Date
CN102576323A true CN102576323A (zh) 2012-07-11
CN102576323B CN102576323B (zh) 2014-11-26

Family

ID=43513636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080047179.6A Expired - Fee Related CN102576323B (zh) 2009-10-28 2010-09-30 一种促进存储系统中的数据的复制的方法和系统

Country Status (5)

Country Link
US (2) US8468315B2 (zh)
CN (1) CN102576323B (zh)
DE (1) DE112010004194T5 (zh)
GB (1) GB2487138B (zh)
WO (1) WO2011051075A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014117716A1 (en) * 2013-01-31 2014-08-07 Huawei Technologies Co., Ltd. Block compression in a key/value store
CN104735119A (zh) * 2013-12-23 2015-06-24 伊姆西公司 用于数据拷贝避免的方法和装置
CN105677587A (zh) * 2016-01-04 2016-06-15 沈阳东软医疗系统有限公司 一种医学成像设备数据的存储方法和装置
CN112631505A (zh) * 2019-10-08 2021-04-09 华邦电子股份有限公司 存储装置及存取方法
CN112631505B (zh) * 2019-10-08 2024-06-04 华邦电子股份有限公司 存储装置及存取方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601210B2 (en) * 2011-03-28 2013-12-03 Lsi Corporation Cache memory allocation process based on TCPIP network and/or storage area network array parameters
US9575687B2 (en) * 2015-01-29 2017-02-21 Vmware, Inc. Host-based replication with end-to-end compression
US9710166B2 (en) 2015-04-16 2017-07-18 Western Digital Technologies, Inc. Systems and methods for predicting compressibility of data
US10063422B1 (en) * 2015-12-29 2018-08-28 Amazon Technologies, Inc. Controlled bandwidth expansion in compressed disaggregated storage systems
US10572153B2 (en) 2016-07-26 2020-02-25 Western Digital Technologies, Inc. Efficient data management through compressed data interfaces

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175839A (en) * 1987-12-24 1992-12-29 Fujitsu Limited Storage control system in a computer system for double-writing
US5426759A (en) * 1989-12-21 1995-06-20 Microchip Technology Incorporated On-chip/off-chip memory switching using system configuration bit
US6339787B1 (en) * 1995-11-30 2002-01-15 Stampede Technologies, Inc. Apparatus and method for increasing speed in a network file/object oriented server/client system
CN1396525A (zh) * 2001-07-13 2003-02-12 互慧科技股份有限公司 便携式电子装置的数据自动备份系统与方法
CN1484151A (zh) * 2002-08-08 2004-03-24 �Ҵ���˾ 用于将存储器压缩数据存储到存储器压缩磁盘上的方法和系统
US20060206542A1 (en) * 2005-03-14 2006-09-14 International Business Machines (Ibm) Corporation Differencing in a data replication appliance
US20070136541A1 (en) * 2005-12-08 2007-06-14 Herz William S Data backup services

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067199A (en) * 1997-06-30 2000-05-23 Emc Corporation Method and apparatus for increasing disc drive performance
US6532121B1 (en) * 1999-10-25 2003-03-11 Hewlett-Packard Company Compression algorithm with embedded meta-data for partial record operation augmented with expansion joints
US7082478B2 (en) * 2001-05-02 2006-07-25 Microsoft Corporation Logical semantic compression
US8811429B2 (en) * 2002-02-19 2014-08-19 Brocade Communications Systems, Inc. Batching and compression for IP transmission
US7082390B2 (en) * 2002-04-30 2006-07-25 Lsi Logic Corporation Advanced storage controller
US7277431B2 (en) * 2002-10-31 2007-10-02 Brocade Communications Systems, Inc. Method and apparatus for encryption or compression devices inside a storage area network fabric
US7552309B2 (en) * 2005-05-06 2009-06-23 International Business Machines Corporation Data storage methods for hierarchical copies
US7185222B2 (en) * 2003-11-14 2007-02-27 International Business Machines Corporation Apparatus, system, and method for maintaining data in a storage array
US7200603B1 (en) * 2004-01-08 2007-04-03 Network Appliance, Inc. In a data storage server, for each subsets which does not contain compressed data after the compression, a predetermined value is stored in the corresponding entry of the corresponding compression group to indicate that corresponding data is compressed
US20060190643A1 (en) * 2004-04-26 2006-08-24 Storewiz, Inc. Method and system for compression of data for block mode access storage
US7606954B2 (en) * 2005-09-29 2009-10-20 Intel Corporation Data storage using compression
US7546415B2 (en) * 2006-08-15 2009-06-09 International Business Machines Corporation Apparatus, system, and method for integrating multiple raid storage instances within a blade center
JP5216245B2 (ja) * 2007-06-01 2013-06-19 株式会社日立製作所 記憶システム、記憶制御装置及びデータ圧縮方法
US7512754B1 (en) * 2008-01-31 2009-03-31 International Business Machines Corporation System and method for optimizing storage utilization

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175839A (en) * 1987-12-24 1992-12-29 Fujitsu Limited Storage control system in a computer system for double-writing
US5426759A (en) * 1989-12-21 1995-06-20 Microchip Technology Incorporated On-chip/off-chip memory switching using system configuration bit
US6339787B1 (en) * 1995-11-30 2002-01-15 Stampede Technologies, Inc. Apparatus and method for increasing speed in a network file/object oriented server/client system
CN1396525A (zh) * 2001-07-13 2003-02-12 互慧科技股份有限公司 便携式电子装置的数据自动备份系统与方法
CN1484151A (zh) * 2002-08-08 2004-03-24 �Ҵ���˾ 用于将存储器压缩数据存储到存储器压缩磁盘上的方法和系统
US20060206542A1 (en) * 2005-03-14 2006-09-14 International Business Machines (Ibm) Corporation Differencing in a data replication appliance
US20070136541A1 (en) * 2005-12-08 2007-06-14 Herz William S Data backup services

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014117716A1 (en) * 2013-01-31 2014-08-07 Huawei Technologies Co., Ltd. Block compression in a key/value store
CN104735119A (zh) * 2013-12-23 2015-06-24 伊姆西公司 用于数据拷贝避免的方法和装置
CN104735119B (zh) * 2013-12-23 2018-05-04 伊姆西公司 用于数据拷贝避免的方法和装置
CN105677587A (zh) * 2016-01-04 2016-06-15 沈阳东软医疗系统有限公司 一种医学成像设备数据的存储方法和装置
CN112631505A (zh) * 2019-10-08 2021-04-09 华邦电子股份有限公司 存储装置及存取方法
CN112631505B (zh) * 2019-10-08 2024-06-04 华邦电子股份有限公司 存储装置及存取方法

Also Published As

Publication number Publication date
US8468315B2 (en) 2013-06-18
DE112010004194T5 (de) 2012-08-30
GB2487138B (en) 2013-11-27
GB2487138A (en) 2012-07-11
GB201201638D0 (en) 2012-03-14
US20120203987A1 (en) 2012-08-09
US20110099344A1 (en) 2011-04-28
WO2011051075A1 (en) 2011-05-05
US8473699B2 (en) 2013-06-25
CN102576323B (zh) 2014-11-26

Similar Documents

Publication Publication Date Title
CN102576323B (zh) 一种促进存储系统中的数据的复制的方法和系统
US10789020B2 (en) Recovering data within a unified storage element
CN102750238B (zh) 存储器管理系统以及管理存储器的方法
US7444541B2 (en) Failover and failback of write cache data in dual active controllers
CN101322105B (zh) 用于重新配置存储阵列的装置和方法
KR101055918B1 (ko) 패일오버에 따른 캐시 데이터의 보존
CN101799743B (zh) 用于逻辑卷管理的方法和装置
US8095753B1 (en) System and method for adding a disk to a cluster as a shared resource
US9390034B1 (en) Unified SCSI target management for performing a delayed shutdown of a service daemon in a deduplication appliance
US8285934B2 (en) Redundancy array of inexpensive disks configuration using simple network management protocol
CN102483711B (zh) 对复制顺序访问存储组件进行同步
US7127575B2 (en) Offsite management using disk based tape library and vault system
JP5113537B2 (ja) 計算機システム、管理計算機及びデータ管理方法
CN101090356A (zh) 使能对远程存储装置的访问的方法和系统
CN103649926A (zh) 提供在异构计算环境下访问主机数据对象
CN102520877A (zh) 卸载读和写
CN102685194A (zh) 存储设备迁移和重定向
CN103197924A (zh) 用于实时选择压缩操作的方法和系统
CN102667720A (zh) 没有排序依赖的一致性
CN109918352B (zh) 存储器系统和存储数据的方法
CN101957728B (zh) 用于向本地物理卷复制远程虚拟卷的装置和方法
KR20100095519A (ko) 스토리지 복사 서비스 시스템들을 관리하기 위한 장치 및 방법
JP2009064159A (ja) 計算機システム、管理計算機及びデータ管理方法
JP2006185000A (ja) ストレージ装置
JP2007524932A (ja) パリティデータを生成するための方法、システム、及びプログラム

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

Granted publication date: 20141126

CF01 Termination of patent right due to non-payment of annual fee