CN115185450A - 用于迁移、复制和备份的基于阵列的拷贝机制 - Google Patents

用于迁移、复制和备份的基于阵列的拷贝机制 Download PDF

Info

Publication number
CN115185450A
CN115185450A CN202110358797.2A CN202110358797A CN115185450A CN 115185450 A CN115185450 A CN 115185450A CN 202110358797 A CN202110358797 A CN 202110358797A CN 115185450 A CN115185450 A CN 115185450A
Authority
CN
China
Prior art keywords
logical block
storage array
data
storage
metadata
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
CN202110358797.2A
Other languages
English (en)
Inventor
王廷伟
童铭�
毕克成
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.)
Dell Products LP
Original Assignee
Dell Products LP
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 Dell Products LP filed Critical Dell Products LP
Priority to CN202110358797.2A priority Critical patent/CN115185450A/zh
Priority to US17/324,709 priority patent/US11544013B2/en
Priority to US17/953,960 priority patent/US11740838B2/en
Publication of CN115185450A publication Critical patent/CN115185450A/zh
Pending legal-status Critical Current

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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of 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/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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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
    • 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/0647Migration 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/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/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
    • 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/1448Management of the data involved in backup or backup restore

Abstract

本公开涉及一种用于信息处置系统中的迁移、复制和备份的基于阵列的拷贝机制。一种信息处置系统包括具有第一逻辑块表的第一存储阵列,所述第一逻辑块表具有逻辑块地址。每个逻辑块地址包括指向第一存储阵列的第一存储卷中的相关联数据块的指针。第二存储阵列包括具有逻辑块地址的第二逻辑块表和第二存储卷。第一存储阵列从第二存储阵列接收针对第一逻辑块地址的数据读取命令,并且响应于数据读取命令,确定由第一存储阵列中的第一逻辑块地址指向的数据块也由第一逻辑块表中与第一逻辑块地址相邻的第二逻辑块地址指向,并且向第二存储阵列发送数据块和元数据,所述元数据指示第二逻辑块地址指向数据块。

Description

用于迁移、复制和备份的基于阵列的拷贝机制
技术领域
本公开总体涉及信息处置系统,并且更具体地,涉及提供一种用于信息处置系统中的迁移、复制和备份的基于阵列的拷贝机制。
背景技术
随着信息的价值和使用持续增长,个人和企业寻求额外方式来处理和存储信息。一个选项是信息处置系统。信息处置系统通常处理、编译、存储和/或传达用于商业、个人或其他目的的信息或数据。由于技术和信息处置需要和要求可能在不同应用之间有所不同,因此信息处置系统也可能关于以下方面有所不同:处置什么信息,如何处置信息,处理、存储或传达多少信息,以及可多快且多高效地处理、存储或传达信息。信息处置系统的变化允许信息处置系统是通用的或者针对特定用户或特定用途(诸如财务事务处理、预订、企业数据存储或全球通信)进行配置。另外,信息处置系统可包括可被配置成处理、存储和传达信息的多种硬件和软件资源,并且可包括一个或多个计算机系统、数据存储系统和联网系统。
发明内容
一种信息处置系统可包括具有第一逻辑块表的第一存储阵列,所述第一逻辑块表具有逻辑块地址。每个逻辑块地址可包括指向所述第一存储阵列的第一存储卷中的相关联的数据块的指针。第二存储阵列可包括具有所述逻辑块地址的第二逻辑块表和第二存储卷。所述第一存储阵列可从所述第二存储阵列接收针对第一逻辑块地址的数据读取命令,并且响应于所述数据读取命令,可确定由所述第一存储阵列中的所述第一逻辑块地址指向的数据块也由所述第一逻辑块表中与所述第一逻辑块地址相邻的第二逻辑块地址指向,并且向所述第二存储阵列发送所述数据块和元数据,所述元数据指示所述第二逻辑块地址指向所述数据块。
附图说明
应了解,为了简单地且清楚地进行说明,附图中示出的元件未必按比例绘制。例如,某些元件的尺寸相对于其他元件被放大。参看本文中呈现的附图示出和描述了结合了本公开的教导的实施方案,在附图中:
图1是示出根据本公开的一个实施方案的存储阵列的框图;
图2是示出根据现有技术的存储阵列的框图;
图3是示出根据本公开的一个实施方案的存储系统的框图;
图4是示出根据本公开的另一个实施方案的存储系统的框图;
图5是示出根据本公开的另一个实施方案的存储系统的框图;并且
图6是示出根据本公开的另一个实施方案的一般化信息处置系统的框图。
在不同附图中使用相同的参考符号表示类似或相同的项。
具体实施方式
提供了结合附图进行的以下描述来帮助理解本文所公开的教导。以下讨论将集中于教导的具体实现方式和实施方案。该集中被提供来帮助描述教导,并且不应被解释为限制教导的范围或适用性。然而,其他教导当然可在该应用中使用。所述教导也可在其他应用中使用,并具有几种不同类型的架构,诸如分布式计算架构、客户端/服务器架构或中间件服务器架构以及相关联的资源。
图1示出了包括逻辑块表110和物理存储卷120的存储阵列100。存储阵列100表示根据需要或要求的用于信息处置系统的数据存储系统,诸如用于计算机系统、服务器系统、数据中心或其他信息处置系统。例如,存储阵列100可表示由通用SCSI控制器、网络连接存储(NAS)装置或NAS装置阵列、存储区域网络(SAN)、存储服务器等管理的SCSI存储阵列。这样,物理存储卷120可根据需要或期望而表示单个数据存储装置,诸如磁盘驱动器、固态驱动器(SSD)或其他数据存储介质,或者可根据需要或期望而表示多个数据存储装置。这样,本文的教导将被理解为根据需要或期望而广泛地应用于任何类型的数据存储。
逻辑块表110表示由与存储阵列100相关联的存储控制器维护和使用的映射表,所述存储控制器管理来自在利用所述存储阵列的信息处置系统上实例化的各种代理的数据请求。明确地说,各种代理通过调用由用于信息处置系统的虚拟存储器管理系统提供的各种逻辑块(LBA 1–LBA 9)来寻址和访问存储在物理存储卷120上的各种数据块,包括数据块112、114和116。如图所示,信息处置系统的虚拟存储器空间的第一逻辑块地址(LBA 1)表示特定代理对存储在物理存储卷120上的数据块112的利用。类似地,各种代理通过引用逻辑块地址(LBA 2、LBA 3、LBA 6和LBA 7)来利用数据块114,并且各种代理通过引用逻辑块地址(LBA 4、LBA 5、LBA 8和LBA 9)来利用数据块116。
将数据从一个存储阵列拷贝到另一个存储阵列,诸如用于迁移操作、备份操作、数据复制操作等,涉及将数据块从第一存储阵列移动到第二存储阵列,并且还涉及逻辑块表从第一存储阵列到第二存储阵列的重新创建,使得在利用存储阵列的信息处置系统上实例化的各种代理保持无缝访问物理数据的能力,而无需重新映射信息处置系统的虚拟地址空间。
图2示出了根据现有技术的存储阵列拷贝操作。此处,存储在存储阵列100上的数据将被拷贝到存储阵列200。这样,存储阵列200包括逻辑块表210和拷贝管理器220。逻辑块表210将被理解为意欲反映在阵列拷贝操作完成时的逻辑块表110的逻辑块映射。存储阵列200将被理解为包括类似于图1所示的物理存储卷120的物理存储卷。还将理解,存储阵列200的物理存储卷可具有与物理存储卷120相同的存储容量,或者与物理存储卷120不同的存储容量。
在存储阵列200的物理存储卷具有与物理存储卷120不同的存储容量的情况下,还将理解,如果物理存储卷120具有更大的存储容量,则可利用其他拷贝机制来确保来自超过存储阵列200的物理存储卷的存储容量的物理存储卷120的数据被另选地存储到不同的存储阵列。存储阵列之间的数据拷贝在本领域中是已知的,并且除非需要用于说明本实施方案,否则在本文中将不作进一步描述。
当将来自存储阵列100的数据拷贝到存储阵列200时,拷贝管理器220操作以向存储阵列100发送数据读取命令230,所述数据读取命令识别要从存储阵列100拷贝的逻辑块地址。存储阵列100通过将与在数据读取命令中识别出的逻辑块地址相关联的数据发送332到存储阵列200来作出响应。随后,拷贝管理器220将数据写入存储阵列200的物理存储卷,并将数据与逻辑块表210中的逻辑块地址关联234。此处,为了执行阵列拷贝、备份或数据冗余操作,拷贝管理器220通常通过发出针对第一逻辑块地址(LBA 1)的数据读取命令来开始,接收数据块112,将数据块写入到存储阵列200的物理存储卷,并且将数据块与逻辑块表210中的新LBA 1相关联,所述新LBA 1指向数据块存储在物理存储卷中的位置。
拷贝管理器220将类似地遍历LBA 2–LBA 9,接收数据块114四次,逻辑块地址LBA2、LBA 3、LBA 6和LBA7各一次,并且接收数据块116四次,逻辑块地址LBA 4、LBA 5、LBA 8和LBA 9各一次。从存储阵列100接收的数据如下:
Figure BDA0003003876220000051
此处,可看到,需要九次单独的数据读取才能将数据从存储阵列100拷贝到存储阵列200,在所述过程中利用了过量的处理资源和通信带宽。
图3示出了根据本公开的一个实施方案的存储阵列拷贝操作。此处,存储在存储阵列100上的数据将被拷贝到类似于存储阵列200的存储阵列300。这样,存储阵列300包括类似于逻辑块表210的逻辑块表310和类似于拷贝管理器220的拷贝管理器320。存储阵列300将进一步被理解为包括类似于物理存储卷120的物理存储卷。此处,存储阵列100和300各自执行修改后的数据读取命令,所述修改后的数据读取命令指示数据源存储阵列提供逻辑块表元数据以及每个逻辑块地址的数据。所述元数据包括逻辑存储表中指向与当前读取的数据相同的数据的连续条目的数目。
当将来自存储阵列100的数据拷贝到存储阵列300时,拷贝管理器320操作以向存储阵列100发送数据读取命令330,所述数据读取命令识别要从存储阵列100拷贝的逻辑块地址。存储阵列100通过向存储阵列300发送332与在数据读取命令中识别出的逻辑块地址相关联的数据和与所述逻辑块地址相关联的元数据来作出响应。随后,拷贝管理器320将数据写入存储阵列300的物理存储卷,将数据与逻辑块表310中的逻辑块地址相关联334,并将数据与逻辑块表中的通过所接收的元数据识别的连续逻辑块地址的数目相关联。
此处,为了执行阵列拷贝、备份或数据冗余操作,拷贝管理器320通常通过发出针对第一逻辑块地址(LBA 1)的修改后的数据读取命令来开始,并且接收数据块112和相关联的元数据,所述元数据此处为一(1),指示没有附加的逻辑块地址与所述数据块相关联。随后,拷贝管理器320将数据块112写入存储阵列300的物理存储卷,并将数据块与逻辑块表310中的新逻辑块地址(LBA 1)相关联,所述新的逻辑块地址指向所述数据块存储在物理存储卷中的位置。随后,拷贝管理器320发出针对与不同数据相关联的下一个逻辑块地址(此处为LBA 2)的修改后的数据读取命令,并且接收数据块114和相关联的元数据,所述元数据此处为二(2),指示有一个附加的逻辑块地址与所述数据块相关联。
随后,拷贝管理器320将数据块114写入存储阵列300的物理存储卷,并将数据块与逻辑块表310中的多个新逻辑块地址(此处为LBA2和LBA 3)相关联,所述新的逻辑块地址各自指向所述数据块存储在物理存储卷中的位置。拷贝管理器320类似地进行针对LBA 4(数据块116)、LBA 6(数据块114)和LBA 8(数据块116)的修改后的数据读取。这样,仅接收数据块114两次,一次是针对逻辑块地址LBA 2和LBA 3,一次是针对逻辑块地址LBA 6和LBA 7,并且仅接收数据块116两次,一次是针对逻辑块地址LBA 4和LBA 5,一次是针对LBA 8和LBA9。从存储阵列100接收的数据如下:
Figure BDA0003003876220000071
此处,可看到,拷贝操作导致仅五次单独的数据读取便可将数据从存储阵列100拷贝到存储阵列300,由此在所述过程中利用少量的处理资源和通信带宽。
在另选实施方案中,元数据不指示引用共同数据的逻辑块地址的数目,而是包括引用共同数据的随后的逻辑块地址的数目。因此,在本实施方案中,从存储阵列100接收的数据如下:
Figure BDA0003003876220000072
在特定实施方案中,修改后的读取命令被提供为在诸如SCSI标准之类的特定数据存储标准内受支持的选项,使得根据该标准提供的任何存储阵列都可以支持修改后的数据读取操作。在另一个实施方案中,修改后的读取命令被提供为受特定制造商设备支持的选项,使得只有该制造商提供的存储阵列才可以支持修改后的数据读取操作,从而给该制造商的产品的用户提供附加价值。
图4示出了根据本公开的一个实施方案的存储阵列拷贝操作。此处,存储在存储阵列100上的数据将被拷贝到类似于存储阵列200和300的存储阵列400。这样,存储阵列400包括类似于逻辑块表210和310的逻辑块表410以及类似于拷贝管理器220和320的拷贝管理器420。存储阵列400将进一步被理解为包括类似于物理存储卷120的物理存储卷。此处,存储阵列100和400各自在执行存储阵列拷贝操作之前在存储阵列之间实现元数据同步操作。在元数据同步操作中,拷贝管理器420向存储阵列100发出元数据读取命令430,并且存储阵列100提供将每个数据块与指向所述数据块的逻辑块地址相关联的元数据。
这样,拷贝管理器420接收如图4的小图中所示的元数据,其中数据块112与LBA 1相关联,数据块114与LBA 2、LBA 3、LBA 6和LBA 7相关联,并且数据块116与LBA 4、LBA 5、LBA8和LBA 9相关联。随后,拷贝管理器420评估所接收的元数据并且发出针对与唯一数据相关联的LBA(此处为LBA 1、LBA 2和LBA 4)的数据读取命令432。存储阵列100针对每个数据读取命令发送数据块434,随后,拷贝管理器420将数据块写入到存储阵列400的物理存储卷,并基于所接收的元数据在逻辑卷表410中重新创建逻辑卷表110。在本实施方案中,从存储阵列100接收的元数据如下:
Figure BDA0003003876220000081
Figure BDA0003003876220000091
注意,元数据不需要明确地标示数据块,而是可简单地将逻辑块地址提供为列表,并且通过指示要指向新的数据块的数据分隔符来分隔。例如,元数据可包括“1/2,3,6,7/4,5,8,9”,其中“/”指示新的一组逻辑块地址的开始。
在特定实施方案中,由存储阵列100提供的元数据仅包括关于冗余逻辑块地址的信息,而不包括关于唯一地指向物理存储阵列中的数据块的任何逻辑块地址的信息。这样,减少了在元数据中传输的数据量,特别是在逻辑块地址几乎没有重复的情况下。此处,在本实施方案中,从存储阵列100接收的元数据如下:
数据块# LBA
块114 2、3、6、7
块116 4、5、8、9
图5示出了根据本公开的一个实施方案的存储阵列拷贝操作。此处,存储在存储阵列100上的数据将被拷贝到类似于存储阵列200、300和400的存储阵列500。这样,存储阵列400包括类似于逻辑块表210、310和410的逻辑块表410以及类似于拷贝管理器220、320和420的拷贝管理器420。存储阵列500将进一步被理解为包括类似于物理存储卷120的物理存储卷。此处,存储阵列100和500各自实现修改后的数据读取命令,所述修改后的数据读取命令指示数据源存储阵列提供逻辑块表元数据以及每个逻辑块地址的数据。
元数据包括逻辑地址表中所有指向与当前读取的数据相同的数据的逻辑块地址。当要读取来自存储阵列100的数据时,拷贝管理器520操作以向存储阵列100发送数据读取命令,所述数据读取命令识别要从存储阵列100拷贝的逻辑块地址。存储阵列100通过向存储阵列500发送与在数据读取命令中识别出的逻辑块地址相关联的数据和与所述逻辑块地址相关联的元数据来作出响应。随后,拷贝管理器520将数据写入存储阵列500的物理存储卷,将数据与逻辑块表510中的逻辑块地址相关联,并将数据与逻辑块表中的通过所接收的元数据识别的逻辑块地址中的每一个相关联。
此处,为了执行阵列拷贝、备份或数据冗余操作,拷贝管理器520通常通过发出针对第一逻辑块地址(LBA1)的修改后的数据读取命令530来开始。随后,拷贝管理器520接收532数据块112和相关联的元数据,所述元数据此处为一(1),指示仅LBA1指向数据块,且将数据块写入534存储阵列500的物理存储卷,并将所述数据块与逻辑块表510中指向所述数据块存储在物理存储卷中的位置的新逻辑块地址(LBA 1)相关联。随后,拷贝管理器520发出针对与不同数据相关联的下一个逻辑块地址(此处为LBA 2)的修改后的数据读取命令538,并且接收536数据块114和相关联的元数据,所述元数据此处为2、3、6和7,指示LBA 2、LBA 3、LBA 6和LBA 7各自与所述数据块相关联。
随后,拷贝管理器520将数据块114写入538存储阵列500的物理存储卷,并将数据块与通过元数据所识别的逻辑块地址相关联。最后,拷贝管理器520发出针对与不同数据相关联的下一个逻辑块地址(此处为LBA 4)的修改后的数据读取命令540,并且接收542数据块116和相关联的元数据,所述元数据此处为4、5、8和9,指示LBA 4、LBA 5、LBA 8和LBA 9各自与所述数据块相关联。随后,拷贝管理器520将数据块116写入544存储阵列500的物理存储卷,并将数据块与通过元数据识别的逻辑块地址相关联。从存储阵列100接收的数据如下:
Figure BDA0003003876220000101
Figure BDA0003003876220000111
此处,可看到,拷贝操作导致仅三次单独的数据读取便可将数据从存储阵列100拷贝到存储阵列500,由此在所述过程中利用了少量的处理资源和通信带宽。
拷贝管理器320、420和520各自表示提供如本文所述的功能和特征的相关联的存储阵列300和400的代理。例如,拷贝管理器可表示相关联的存储阵列的存储控制器内的功能块,或者可表示被配置为执行所描述的功能和特征的程序或代码模块。此外,虽然拷贝管理器被示出为在目标存储阵列中,但是并不一定如此,并且拷贝管理器可设置于源阵列中,所述源阵列根据如本文所述的功能和特征对目标存储阵列执行写入操作。
图6示出信息处置系统600的一般化实施方案。出于本公开的目的,信息处置系统可包括任何工具或工具集合,所述任何工具或工具集合可操作来计算、分类、处理、传输、接收、检索、创始、转换、存储、显示、表明、检测、记录、再现、处理或利用用于商业、科学、控制、娱乐或其他目的的任何形式的信息、情报或数据。例如,信息处置系统600可以是个人计算机、膝上型计算机、智能电话、平板装置或其他消费型电子装置、网络服务器、网络存储装置、交换机、路由器或另一种网络通信装置,或任何其他合适的装置,并且可在大小、形状、性能、功能和价格方面有所不同。此外,信息处置系统600可包括用于执行机器可执行代码的处理资源,诸如中央处理单元(CPU)、可编程逻辑阵列(PLA)、诸如片上系统(SoC)等嵌入式装置,或其他控制逻辑硬件。信息处置系统600还可包括用于存储机器可执行代码(诸如软件或数据)的一种或多种计算机可读介质。信息处置系统600的附加组件可包括可存储机器可执行代码的一个或多个存储装置、用于与外部装置通信的一个或多个通信端口以及各种输入和输出(I/O)装置(诸如键盘、鼠标和视频显示器)。信息处置系统600还可包括可操作来在各种硬件组件之间传输信息的一条或多条总线。
信息处置系统600可包括体现以下描述的一个或多个装置或模块的装置或模块,并且操作以执行以下描述的一种或多种方法。信息处置系统600包括处理器602和604、输入/输出(I/O)接口610、存储器620和625、图形接口630、基本输入和输出系统/通用可扩展固件接口(BIOS/UEFI)模块640、磁盘控制器650、硬盘驱动器(HDD)654、光盘驱动器(ODD)656、连接到外部固态驱动器(SSD)662的磁盘仿真器660、I/O桥670、一个或多个附加资源674、可信平台模块(TPM)676、网络接口680、管理装置690和电源695。处理器602和604、I/O接口610、存储器620、图形接口630、BIOS/UEFI模块640、磁盘控制器650、HDD 654、ODD 656、磁盘仿真器660、SSD 662、I/O桥670、附加资源674、TPM 676和网络接口680一起操作以提供信息处置系统600的主机环境,所述主机环境操作以提供信息处置系统的数据处理功能。主机环境操作以执行机器可执行代码,包括平台BIOS/UEFI代码、装置固件、操作系统代码、应用程序、程序等,以执行与信息处置系统600相关联的数据处理任务。
在主机环境中,处理器602经由处理器接口606连接到I/O接口610,并且处理器604经由处理器接口608连接到I/O接口。存储器620经由存储器接口622连接到处理器602。存储器625经由存储器接口627连接到处理器604。图形接口630经由图形接口632连接到I/O接口610,并且向视频显示器634提供视频显示输出636。在特定实施方案中,信息处置系统600包括经由单独的存储器接口专用于处理器602和604中的每一个的单独的存储器。存储器620和630的示例包括随机存取存储器(RAM)(诸如静态RAM(SRAM)、动态RAM(DRAM)、非易失性RAM(NV-RAM)等)、只读存储器(ROM)、另一种类型的存储器,或其组合。
BIOS/UEFI模块640、磁盘控制器650和I/O桥670经由I/O通道612连接到I/O接口610。I/O通道612的示例包括外围组件互连(PCI)接口、扩展PCI(PCI-X)接口、高速PCI-Express(PCIe)接口、另一种工业标准或专有通信接口,或其组合。I/O接口610还可包括一个或多个其他I/O接口,包括工业标准架构(ISA)接口、小型计算机串行接口(SCSI)接口、集成电路间(I2C)接口、系统分组接口(SPI)、通用串行总线(USB)、另一种接口,或其组合。BIOS/UEFI模块640包括BIOS/UEFI代码,所述代码可操作以检测信息处置系统600内的资源,提供所述资源的驱动程序,初始化所述资源并访问所述资源。BIOS/UEFI模块640包括代码,所述代码操作以检测信息处置系统600内的资源,提供所述资源的驱动程序,初始化所述资源并访问所述资源。
磁盘控制器650包括将磁盘控制器连接到HDD 654、ODD 656和磁盘仿真器660的磁盘接口652。磁盘接口652的示例包括集成驱动电子(IDE)接口、高级技术附件(ATA)诸如并行ATA(PATA)接口或串行ATA(SATA)接口、SCSI接口、USB接口、专有接口,或其组合。磁盘仿真器660允许SSD 664经由外部接口662连接到信息处置系统600。外部接口662的示例包括USB接口、IEEE 1394(火线)接口、专有接口或其组合。另选地,固态驱动器664可设置在信息处置系统600内。
I/O桥670包括将I/O桥连接到附加资源674、TPM 676和网络接口680的外围接口672。外围接口672可以是与I/O通道612相同类型的接口,或者可以是不同类型的接口。因此,当外围接口672与I/O通道为相同类型时,I/O桥670扩展I/O通道612的能力,并且当它们为不同类型时,I/O桥将信息从适合于I/O通道的格式转换为适合于外围通道672的格式。附加资源674可包括数据存储系统、附加图形接口、网络接口卡(NIC)、声音/视频处理卡、另一种附加资源,或其组合。附加资源674可位于主电路板上、位于设置在信息处置系统600内的单独电路板或附加卡上、位于在信息处置系统外部的装置上,或其组合。
网络接口680表示NIC,所述NIC设置在信息处置系统600内、在信息处置系统的主电路板上、集成到另一个组件(诸如I/O接口610)上、在另一个合适位置,或其组合。网络接口装置680包括网络通道682和684,所述网络通道提供到在信息处置系统600外部的装置的接口。在特定实施方案中,网络通道682和684与外围通道672为不同的类型,并且网络接口680将信息从适合于外围通道的格式转换成适合于外部装置的格式。网络通道682和684的示例包括InfiniBand通道、光纤信道通道、千兆位以太网通道、专有通道架构,或其组合。网络通道682和684可连接到外部网络资源(未示出)。所述网络资源可包括另一种信息处置系统、数据存储系统、另一种网络、网格管理系统、另一种合适的资源,或其组合。
管理装置690表示一个或多个处理装置,诸如专用基板管理控制器(BMC)片上系统(SoC)装置、一个或多个相关联的存储器装置、一个或多个网络接口装置、复杂可编程逻辑装置(CPLD)等,所述一个或多个处理装置一起操作以提供信息处置系统600的管理环境。明确地说,管理装置690经由各种内部通信接口(诸如低引脚数(LPC)接口、集成电路间(I2C)接口、PCIe接口等)连接到主机环境的各种组件,以提供带外(OOB)机制来检索与主机环境的操作有关的信息,提供BIOS/UEFI或系统固件更新,管理信息处置系统600的非处理组件(诸如系统冷却风扇和电源)。管理装置690可包括到外部管理系统的网络连接,并且管理装置可与管理系统通信以报告信息处置系统600的状态信息,接收BIOS/UEFI或系统固件更新,或者执行用于管理和控制信息处置系统600的操作的其他任务。管理装置690可脱离与主机环境的组件分离的电源平面来操作,使得当信息处置系统否则被关闭时,管理装置接收用于管理信息处置系统600的电力。管理装置690的示例包括根据智能平台管理法(IPMI)规范、网络服务管理(WSMan)接口、Redfish应用程序编程接口(API)、另一个分布式管理任务组(DMTF)或其他管理标准来操作的市售BMC产品或其他装置,并且可包括集成Dell远程访问控制器(iDRAC)、嵌入式控制器(EC)等。根据需要或期望,管理装置690还可包括相关联的存储器装置、逻辑装置、安全装置等。
尽管本文仅详细描述了一些示例性实施方案,但是本领域技术人员将容易理解,在未实质上脱离本公开的实施方案的新颖性教导和优点的情况下,可对示例性实施方案进行许多修改。因此,所有此类修改意欲包括在如以下权利要求中所限定的、本公开的实施方案的范围内。在权利要求书中,装置加功能权项意欲覆盖在本文被描述为执行所叙述的功能的结构,并且不仅覆盖结构上的等同物,而且还覆盖等同的结构。
上面公开的主题应被认为是说明性的而不是限制性的,并且所附的权利要求书意欲覆盖任何和所有此类修改、扩展以及落入本发明的范围内的其他实施方案。因此,在法律所允许的最大范围内,本发明的范围由随附权利要求及其等效物的最宽泛的容许解释来确定,并且不应受前面的详细描述所约束或限制。

Claims (20)

1.一种信息处置系统,其用于迁移、复制和备份资料,所述信息处置系统包括:
第一存储阵列,所述第一存储阵列包括具有多个逻辑块地址的第一逻辑块表,每个逻辑块地址包括指向所述第一存储阵列的第一存储卷中的相关联数据块的指针;和
第二存储阵列,所述第二存储阵列包括具有所述多个逻辑块地址的第二逻辑块表和第二存储卷;
其中所述第一存储阵列被配置为从所述第二存储阵列接收针对第一逻辑块地址的数据读取命令,并且响应于所述数据读取命令,确定由所述第一存储阵列中的所述第一逻辑块地址指向的数据块也由所述第一逻辑块表中的与所述第一逻辑块地址相邻的第二逻辑块地址指向,并且向所述第二存储阵列发送所述数据块和元数据,所述元数据指示所述第二逻辑块地址指向所述数据块。
2.如权利要求1所述的信息处置系统,其中所述第二存储阵列被配置为接收所述数据块和所述元数据,将所述数据块写入到所述第二存储卷,将所述第二逻辑块表中的所述第一逻辑块地址修改为指向所述第二存储卷中的所述数据块,并且将所述第二逻辑块表中的所述第二逻辑块地址修改为指向所述第二存储卷中的所述数据块。
3.如权利要求2所述的信息处置系统,其中所述第一存储阵列还被配置为确定所述数据块也由所述第一逻辑块表中的与所述第二逻辑块地址相邻的第三逻辑块地址指向,所述元数据还指示所述第三逻辑块地址指向所述数据块。
4.如权利要求3所述的信息处置系统,其中所述第二存储阵列还被配置为将所述第二逻辑块表中的所述第三逻辑块地址修改为指向所述第二存储卷中的所述数据块。
5.如权利要求1所述的信息处置系统,其中第一元数据指示所述第二逻辑块表中各自指向所述第二存储阵列中的所述数据块的连续逻辑块地址的数目。
6.如权利要求1所述的信息处置系统,其中所述第一元数据指示除了所述第一逻辑块地址之外所述第二逻辑块表中各自指向所述第二存储阵列中的所述数据块的逻辑块地址的数目。
7.如权利要求1所述的信息处置系统,其中所述第一元数据指示所述第二逻辑块表中指向所述第二存储阵列中的所述数据块的所有逻辑块地址。
8.如权利要求1所述的信息处置系统,其中所述第一存储阵列和所述第二存储阵列是SCSI存储阵列。
9.如权利要求1所述的信息处置系统,其中所述第一存储卷和所述第二存储卷包括磁盘驱动器和固态驱动器中的至少一者。
10.一种用于迁移、复制和备份资料的方法,所述方法包括:
从第一存储阵列向第二存储阵列发送针对与第一逻辑块地址相关联的数据的数据读取请求,所述第一存储阵列包括具有多个逻辑块地址的第一逻辑块表,每个逻辑块地址包括指向所述第一存储阵列的第一存储卷中的相关联数据块的指针,并且所述第二存储阵列包括具有所述逻辑块地址的第二逻辑块表和第二存储卷;
确定所述第一存储阵列中的所述数据块也由所述第一逻辑块表中的与所述第一逻辑块地址相邻的第二逻辑块地址指向;以及
向所述第二存储阵列发送所述数据块和元数据,所述元数据指示所述第二逻辑块地址指向所述数据块。
11.如权利要求10所述的方法,所述方法还包括:
由所述第一存储阵列接收所述数据块和所述元数据;
将所述数据块写入到所述第二存储卷;
将所述第二逻辑块表中的所述第一逻辑块地址修改为指向所述第二存储卷中的所述数据块;以及
将所述第二逻辑块表中的所述第二逻辑块地址修改为指向所述第二存储卷中的所述数据块。
12.如权利要求11所述的方法,所述方法还包括:
由所述第一存储阵列确定所述数据块也由所述第一逻辑块表中的与所述第二逻辑块地址相邻的第三逻辑块地址指向,所述元数据还指示所述第三逻辑块地址指向所述数据块。
13.如权利要求12所述的方法,所述方法还包括:
由所述第二存储阵列将所述第二逻辑块表中的所述第三逻辑块地址修改为指向所述第二存储卷中的所述数据块。
14.如权利要求10所述的方法,其中第一元数据指示所述第二逻辑块表中各自指向所述第二存储阵列中的所述数据块的连续逻辑块地址的数目。
15.如权利要求10所述的方法,其中所述第一元数据指示除了所述第一逻辑块地址之外所述第二逻辑块表中各自指向所述第二存储阵列中的所述数据块的逻辑块地址的数目。
16.如权利要求10所述的方法,其中所述第一元数据指示所述第二逻辑块表中指向所述第二存储阵列中的所述数据块的所有逻辑块地址。
17.如权利要求10所述的方法,其中所述第一存储阵列和所述第二存储阵列是SCSI存储阵列。
18.如权利要求10所述的方法,其中所述第一存储卷和所述第二存储卷包括磁盘驱动器和固态驱动器中的至少一者。
19.一种信息处置系统,其用于迁移、复制和备份资料,所述信息处置系统包括:
第一存储阵列,所述第一存储阵列包括具有多个逻辑块地址的第一逻辑块表,每个逻辑块地址包括指向所述第一存储阵列的第一存储卷中的相关联数据块的指针;和
第二存储阵列,所述第二存储阵列包括具有所述逻辑块地址的第二逻辑块表和第二存储卷;
其中所述第一存储阵列被配置为从所述第二存储阵列接收元数据请求命令,并且响应于所述元数据请求命令,向所述第二存储阵列发送逻辑块表元数据,所述逻辑块表元数据识别所述第一逻辑块表的指向共同数据块的所述逻辑块地址。
20.如权利要求19所述的信息处置系统,其中所述第二存储阵列被配置为接收所述逻辑块表元数据,并且响应于接收到所述逻辑块表元数据,对于每个共同数据块,向所述第一存储阵列发送数据读取命令,接收所述共同数据块,将所述共同数据块写入到所述第二存储卷,并且基于所述逻辑块表元数据修改所述第二逻辑块表中的与所述共同数据块相关联的所述逻辑块地址。
CN202110358797.2A 2021-04-01 2021-04-01 用于迁移、复制和备份的基于阵列的拷贝机制 Pending CN115185450A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110358797.2A CN115185450A (zh) 2021-04-01 2021-04-01 用于迁移、复制和备份的基于阵列的拷贝机制
US17/324,709 US11544013B2 (en) 2021-04-01 2021-05-19 Array-based copy mechanism utilizing logical addresses pointing to same data block
US17/953,960 US11740838B2 (en) 2021-04-01 2022-09-27 Array-based copy utilizing one or more unique data blocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110358797.2A CN115185450A (zh) 2021-04-01 2021-04-01 用于迁移、复制和备份的基于阵列的拷贝机制

Publications (1)

Publication Number Publication Date
CN115185450A true CN115185450A (zh) 2022-10-14

Family

ID=83449729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110358797.2A Pending CN115185450A (zh) 2021-04-01 2021-04-01 用于迁移、复制和备份的基于阵列的拷贝机制

Country Status (2)

Country Link
US (2) US11544013B2 (zh)
CN (1) CN115185450A (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060047926A1 (en) 2004-08-25 2006-03-02 Zheng Calvin G Managing multiple snapshot copies of data
US7356573B2 (en) 2005-07-08 2008-04-08 Cisco Technology, Inc. Apparatus and methods for data tapping in a storage area network
US8447833B2 (en) * 2010-04-19 2013-05-21 Microsoft Corporation Reading and writing during cluster growth phase
US9311011B2 (en) * 2013-08-07 2016-04-12 Qualcomm Incorporated Dynamic address negotiation for shared memory regions in heterogenous multiprocessor systems
WO2016046911A1 (ja) * 2014-09-24 2016-03-31 株式会社日立製作所 ストレージシステム及びストレージシステムの管理方法
JP2019008730A (ja) * 2017-06-28 2019-01-17 東芝メモリ株式会社 メモリシステム
US11474724B2 (en) * 2018-01-25 2022-10-18 Vmware, Inc. System and method for speed up data rebuild in a distributed storage system with local deduplication

Also Published As

Publication number Publication date
US11740838B2 (en) 2023-08-29
US20220317910A1 (en) 2022-10-06
US11544013B2 (en) 2023-01-03
US20230069793A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
US8938584B2 (en) System and method to keep parity consistent in an array of solid state drives when data blocks are de-allocated
US9329792B2 (en) Storage thin provisioning and space reclamation
US10152264B1 (en) Memory device update system
US10289564B2 (en) Computer and memory region management method
US11436086B2 (en) Raid storage-device-assisted deferred parity data update system
US20190026022A1 (en) System and Method to Detect Storage Controller Workloads and to Dynamically Split a Backplane
US9830110B2 (en) System and method to enable dynamic changes to virtual disk stripe element sizes on a storage controller
US11314655B2 (en) Storage device configurable mapping granularity system where data is written without performing read-modify-write operations
US10936420B1 (en) RAID storage-device-assisted deferred Q data determination system
US10528283B2 (en) System and method to provide persistent storage class memory using NVDIMM-N with an NVDIMM-P footprint
US11341108B2 (en) System and method for data deduplication in a smart data accelerator interface device
US11507292B2 (en) System and method to utilize a composite block of data during compression of data blocks of fixed size
US11093175B1 (en) Raid data storage device direct communication system
US11340989B2 (en) RAID storage-device-assisted unavailable primary data/Q data rebuild system
US20190138236A1 (en) System and Method to Reserve Persistent Memory Space in an NVDIMM for NVDIMM Namespace Support
US11544013B2 (en) Array-based copy mechanism utilizing logical addresses pointing to same data block
US9971532B2 (en) GUID partition table based hidden data store system
US11334261B2 (en) Scalable raid storage controller device system
US11327683B2 (en) RAID storage-device-assisted read-modify-write system
US11422740B2 (en) Raid storage-device-assisted data update system
US11023139B2 (en) System for speculative block IO aggregation to reduce uneven wearing of SCMs in virtualized compute node by offloading intensive block IOs
US10860334B2 (en) System and method for centralized boot storage in an access switch shared by multiple servers
US20200133369A1 (en) Managing power request during cluster operations
US11422963B2 (en) System and method to handle uncompressible data with a compression accelerator
US20240028201A1 (en) Optimal memory tiering of large memory systems using a minimal number of processors

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