CN113360082A - 存储系统及其控制方法 - Google Patents

存储系统及其控制方法 Download PDF

Info

Publication number
CN113360082A
CN113360082A CN202010806193.5A CN202010806193A CN113360082A CN 113360082 A CN113360082 A CN 113360082A CN 202010806193 A CN202010806193 A CN 202010806193A CN 113360082 A CN113360082 A CN 113360082A
Authority
CN
China
Prior art keywords
storage
data
storage control
control section
management information
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
CN202010806193.5A
Other languages
English (en)
Other versions
CN113360082B (zh
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN113360082A publication Critical patent/CN113360082A/zh
Application granted granted Critical
Publication of CN113360082B publication Critical patent/CN113360082B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/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
    • G06F3/0649Lifecycle 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/0614Improving the reliability of 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种存储系统及其控制方法。在存储装置的替换过程中,在共享存储介质的同时交换迁移源和迁移目标的存储控制器的情况下,若存储控制器的硬件结构或数据管理方式不同,则即使拷贝了数据管理信息也无法共享存储介质内的数据。本发明的存储系统包括存储控制部和具有存储介质的存储驱动器,存储控制部具有用于访问保存在存储驱动器中的数据的数据管理信息,第一存储控制部将关于保存在存储驱动器中的数据的数据管理信息拷贝到第二存储控制部,在数据管理信息的拷贝开始之后从主机接收到写请求的情况下,第一存储控制部和第二存储控制部分别将写请求涉及的写数据保存到存储驱动器的不同的存储区域中。

Description

存储系统及其控制方法
技术领域
本发明涉及存储系统。
背景技术
存储系统通常包括1个以上的存储装置。1个以上的存储装置通常分别具有例如HDD(Hard Disk Drive)或SSD(Solid State Drive)作为存储介质。存储系统可经由SAN(Storage Area Network)或LAN(Local Area Network)等网络从1个或多个上级装置(例如主计算机host computer)进行访问。通常而言,存储装置使用基于RAID(Redundant Arrayof Independent(or Inexpensive)Disks)技术的高可靠化方法来提高可靠性。
对构成存储系统的存储装置来说,出于部件的使用年限问题而定义了装置寿命,需要按照与寿命对应的周期进行装置的替换(replace)。在进行存储装置的替换时,将保存在现有存储装置中的数据迁移至所更换的新存储装置中。而作为在存储装置之间进行数据迁移的方法,不会停止上级装置的访问的不中断迁移(Non-disruptive Migration)技术得到了普及。专利文献1公开了一种数据迁移方式,能够无需停止主计算机与存储系统之间的访问,来在迁移源的存储装置与迁移目标的存储装置之间迁移数据。根据专利文献1,在主计算机与迁移目标的存储装置之间设定了访问路径之后,将访问路径的状态设定为可用。当主计算机与迁移目标的存储装置之间的访问路径变得可用时,从迁移源的存储装置向迁移目标的存储装置迁移数据。不过,为了能够应对替换过程中的故障,在替换过程中需要将主机I/O等更新数据反映到迁移源和迁移目标双方,因此存在若迁移的数据量较多,则会长时间对性能造成影响的问题。另外,更换的存储装置之间需要为同等容量的存储介质,所以对于迁移源一方出于扩容等原因而后期追加的、部件寿命尚有剩余的存储介质来说,其将无法再次利用。
上述存储系统在各存储装置中具有存储介质,与此相对,专利文献2公开了一种数据保存方式,其中除了多个存储装置分别具有的存储介质之外,还与设置于外部的1个以上的外部存储介质连接而构成存储系统,该数据保存方式在存储装置之间共享外部存储介质。根据专利文献2,在定义于存储装置内的逻辑卷与其他存储装置内的逻辑卷处于成对状态的结构下,通过在存储装置之间共享数据保存区域的分配信息,来实现将以成对状态的逻辑卷管理的各数据作为单个数据保存到外部存储介质中的方法。
现有技术文献
专利文献
专利文献1:美国专利第8495325号说明书
专利文献2:日本特开2009-230742号公报
发明内容
发明要解决的技术问题
通过将上述不中断迁移技术与在存储装置之间共享外部存储介质的技术组合,能够按照对构成存储装置的存储控制器和存储介质分别适合的周期进行替换,并且有望能够减少存储装置之间迁移的数据量,缩短因替换而产生性能影响的时间。
但是,一般而言存储阵列具有2个以上存储控制器,在存储控制器之间进行数据的冗余化。因此,如果更换的存储装置具有相同的硬件结构、相同的数据管理方式,则能够通过将配置信息和逻辑物理映射信息等迁移源的信息拷贝到所更换的存储装置中进行替换。但是,这仅限于更换的存储装置采用相同的硬件结构和相同的数据管理方式的情况。在替换存储装置的情况下,通常所更换的存储装置的硬件结构和数据管理方式与更换前的不同。因此,需要对迁移源的存储装置具有的卷等结构,按照迁移目标的存储装置的格式进行重新构建。
为了在存储装置之间共享存储介质,需要将逻辑物理映射——其是表示与逻辑地址对应的数据保存位置的物理地址的对应信息——通知给迁移目标的存储装置,由迁移目标的存储装置将接收到的信息变换为能够处理的格式。在替换过程中,当迁移源或迁移目标发生了从上级装置进行的I/O或结构变更时,必须使状态反映到迁移源和迁移目标双方。本发明涉及在存储装置之间实现不中断迁移的方法。
解决问题的技术手段
本申请公开的技术方案之有代表性的一个例子如下所述。即,一种包括存储控制部和存储驱动器的存储系统,其中所述存储控制部包括处理器和存储器,所述存储驱动器包括用于保存数据的存储介质,其特征在于:所述存储控制部具有用于访问保存在所述存储驱动器中的数据的数据管理信息,作为所述存储控制部包括第一存储控制部和第二存储控制部,所述第一存储控制部和所述第二存储控制部与主机和所述存储驱动器连接,所述第一存储控制部将关于保存在所述存储驱动器中的数据的所述数据管理信息从所述第一存储控制部拷贝到所述第二存储控制部,在所述数据管理信息的拷贝开始之后所述存储控制部从所述主机接收到写请求的情况下,所述第一存储控制部和所述第二存储控制部分别将所述写请求涉及的写数据保存到所述存储驱动器的不同的存储区域中。
发明效果
采用本发明的一个方式,在存储装置之间能够在共享外部存储介质的同时进行不中断迁移,能够按照对构成存储装置的存储控制器和存储介质分别适合的周期进行替换,并且能够抑制因替换而产生的性能影响。上述以外的技术问题、技术特征和技术效果将通过以下实施例的说明而明确。
附图说明
图1是表示本发明的实施例1的存储系统执行的数据管理方式不同的存储装置之间的替换流程的说明图。
图2是表示本发明的实施例1的存储装置的结构的框图。
图3是表示本发明的实施例1的存储装置所保持的存储器上的表管理区域和缓存区域的结构例的说明图。
图4是表示本发明的实施例1的存储装置所保持的管理信息配置表的结构例的说明图。
图5是表示本发明的实施例1的存储装置所保持的管理信息配置变换表的结构例的说明图。
图6是表示本发明的实施例1的存储装置所保持的管理信息变换表的结构例的说明图。
图7是表示本发明的实施例1的存储装置所保持的逻辑物理变换表的结构例的说明图。
图8是表示本发明的实施例1的存储装置所保持的逻辑卷管理表的结构例的说明图。
图9是表示本发明的实施例1的存储装置所保持的缓存管理表的结构例的说明图。
图10是表示本发明的实施例1的存储装置所保持的池分配管理表的结构例的说明图。
图11是表示本发明的实施例1的存储装置所保持的驱动器分配管理表的结构例的说明图。
图12是表示本发明的实施例1的存储装置所保持的分层逻辑物理变换表的结构例的说明图。
图13是表示本发明的实施例1的存储装置所保持的替换进度管理指针表的结构例的说明图。
图14是表示由本发明的实施例1的存储装置所管理的逻辑存储层级的结构例的说明图。
图15是表示在本发明的实施例1的存储系统中,从存储装置向存储装置进行替换处理的情况下的迁移源存储控制器的替换处理的流程图。
图16是表示在本发明的实施例1的存储系统中,从存储装置向存储装置进行替换处理的情况下的迁移目标存储控制器的替换处理的流程图。
图17是表示在本发明的实施例1的存储系统中,从主计算机对存储装置进行的读I/O处理的流程图。
图18是表示在本发明的实施例1的存储系统中,从主计算机对存储装置进行的写I/O处理的流程图。
图19是表示在本发明的实施例1的存储系统中,从主计算机对存储装置进行的读I/O处理的流程图。
图20是表示在本发明的实施例1的存储系统中,从主计算机对存储装置进行的写I/O处理的流程图。
图21是表示本发明的实施例2的存储系统执行的数据管理方式不同的存储装置之间的替换流程的说明图。
图22是表示本发明的实施例3的存储系统执行的数据管理方式不同的存储装置之间的替换流程的说明图。
具体实施方式
下面基于附图说明本发明的实施例。附图中,有时用相同的标记表示功能相同的要素。附图表示了遵循本发明之原理的具体实施方式和实施例。这些实施方式和实施例用于帮助理解本发明,不应当用于对本发明作限定性解释。
如后文所述,本发明的实施方式可以由在通用计算机上运行的软件实现,也可以由专用硬件实现,或者也可以由软件与硬件的组合实现。
下文有时会以“程序”为主语(动作主体)对本发明的实施方式中的各处理进行说明。因为程序由处理器执行从而使用存储器和通信端口(通信控制装置)执行规定的处理,所以也可以以处理器为主语进行说明。程序的一部分或全部也可以由专用硬件实现,并且也可以模块化。各种程序可以通过程序分发服务器或存储介质安装到各计算机上。
下文说明中,“接口部”可以包括用户接口部和通信接口部中的至少1个。用户接口部可以包括1个以上I/O设备(例如输入设备(例如键盘和指点设备)和输出设备(例如显示设备))和显示用计算机中的至少1个I/O设备。通信接口部可以包括1个以上通信接口设备。1个以上通信接口设备可以是1个以上相同种类的通信接口设备(例如1个以上NIC(NetworkInterface Card))也可以是2个以上不同种类的通信接口设备(例如NIC和HBA(Host BusAdapter))。
另外,下文说明中,“存储器部”包括1个以上存储器(memory)。至少1个存储器可以是易失性存储器也可以是非易失性存储器。存储器部主要在处理器部进行处理时使用。
另外,下文说明中,“处理器部”包括1个以上处理器。至少1个处理器典型而言是CPU(Central Processing Unit)。
另外,下文说明中,有时用“xxx表”这样的表述来说明信息,但信息可以用任意的数据结构表述。即,为了表示信息不依赖于数据结构,能够将“xxx表”称为“xxx信息”。另外,下文说明中,各表的结构仅为一例,可以将1个表拆分为2个以上的表,或将2个以上的表的全部或部分构成为1个表。
另外,下文说明中,在不区分同种要素地进行说明的情况下,使用附图标记中的共用标记,在区分同种要素的情况下,使用附图标记(或要素的ID(例如识别号))。例如,在不区分多个存储控制器的情况下,记作“存储控制器22”,在区分各存储控制器的情况下,记作“存储控制器1_22A”、“存储控制器2_22B”。其他要素(例如缓存区域203、缓冲区域202、地址1100等)也是同样的。
另外,下文说明中,“存储系统”包括1个以上的存储装置。至少1个存储装置可以是通用的物理计算机。另外,至少1个存储装置也可以是虚拟存储装置,可以执行SDx(Software-Defined anything)。作为SDx,例如能够采用SDS(Software Defined Storage)(虚拟存储装置之一例)或SDDC(Software-defined Datacenter)。
下面基于附图说明本发明的实施例。
[实施例1]
下面说明本发明的实施例1。
<数据管理方式不同的存储装置之间的替换流程>
图1是表示本发明的实施例1的存储系统100执行的数据管理方式不同的存储装置之间的替换流程的说明图。
存储系统100由主计算机30和存储装置11、驱动器29构成。主计算机30经由网络31与存储装置11连接,由管理计算机(未图示)管理。存储装置11在内部具有2个以上存储控制器22,存储控制器22在内部具有1个以上存储器25。存储器25记录关于具有多个逻辑存储区域的1个以上逻辑单元的共享管理信息X2222X,对主计算机30提供逻辑单元。共享管理信息X2222X包括后述的安全设定信息、备份控制信息、收费信息、逻辑物理变换表、分层逻辑物理变换表。主计算机30可以是物理计算机,也可以是在物理计算机上运行的虚拟计算机。主计算机30也可以是在存储系统100中运行的虚拟计算机。另外,也存在不将主计算机30包括在存储系统中而是视作外部系统的情况。
本实施例表示的是这样的情况,即,在存储系统100中,从存储装置11A向存储装置11B迁移关于逻辑单元的共享管理信息X2222X。
具体示例如下所示。
(S1)在存储系统100中,使作为迁移目标的存储装置11B经由网络31与作为迁移源的存储控制器1_22A、主计算机30和驱动器29连接。在连接的时刻并不使各连接路径有效。
(S2)存储控制器1_22A和存储控制器2_22B通过存储I/F28确认已相互连接,对于两个存储控制器22由管理计算机使存储控制器22之间和通向驱动器29的路径有效,并且指定作为迁移对象的逻辑单元,由此在存储控制器22之间传输逻辑单元的管理信息即共享管理信息X2222X。在传输时,从存储控制器1_22A传输到存储控制器2_22B的共享管理信息X2222X经由存储控制器2_22B的处理器24被变换为共享管理信息Y2222Y记录至存储器25。另外,在因结构变更或从主计算机30进行了主机I/O而导致共享管理信息X2222X发生了变更的情况下,需要对变更差分进行前述的变换,再将其反映到存储控制器2_22B的共享管理信息Y2222Y。
(S3)除了装置的替换所涉及的数据之外,对于因替换过程中的主机I/O而写入的数据,考虑到因故障等导致更换中断的情况,其需要能够从迁移源和迁移目标双方进行参照。存储控制器1_22A将通过主计算机30进行的主机I/O而写入的数据作为缓存(cache)信息A临时保存在存储器25内。为了从存储控制器2_22B参照缓存信息A,需要将保存在存储控制器1_22A的存储器25中的全部缓存信息A的分配信息与存储控制器2_22B共享。在实施例1中,与主机I/O同步地将缓存信息A保存在驱动器29中,由此无需共享缓存信息A就能够从存储控制器1_22A和存储控制器2_22B双方在驱动器29内参照该信息。
(S4)通过在存储控制器2_22B中记录共享管理信息Y,存储控制器2_22B将能够从主计算机30受理对逻辑单元的主机I/O。于是,使通向经由网络31连接的主计算机30的路径有效,将主机I/O的目标切换为存储控制器2_22B。另外,在共享管理信息Y2222Y的记录已完成的情况下,对于由存储控制器1_22A将通过主机I/O而写入的数据保存在驱动器29中的处理,通过将数据冗余化为存储控制器1_22A和存储控制器2_22B各自的缓存信息A和缓存信息B,并将对驱动器29的写入切换为与主机I/O非同步地进行的处理,响应性能能够得到提高。
(S5)在主机I/O的目标从存储控制器1_22A切换之后,确认共享管理信息X2222X和缓存信息A中是否存在尚未反映到存储控制器2_22B和驱动器29上的差分(difference)。在确认不存在差分之后,将关于逻辑单元的管理信息即共享管理信息X2222X和缓存信息A删除。由此,完成了逻辑单元从存储控制器1_22A向存储控制器2_22B的迁移。通过截止至(S5)的流程,能够实现存储控制器22的增设和逻辑单元的移动。
(S6)从存储系统100中移除迁移源的存储控制器1_22A,由此完成从存储控制器1_22A向存储控制器2_22B的替换。
迁移源的存储装置11A和迁移目标的存储装置11B可以分别具有多个存储控制器22。下文说明中,例如有时将迁移源的存储装置11A中包括的多个存储控制器1_22A分别记作存储控制器1_22A1和存储控制器1_22A2。该情况下,也可以在该多个存储控制器22的存储器25中进行缓存信息的双重化。另外,例如有时将迁移源的存储控制器1_22A1的处理器24记作处理器24A1(参考图18)。
<存储装置>
图2是表示本发明的实施例1的存储装置11的结构的框图。
存储装置11具有1个以上存储控制器22和与1个以上存储控制器22连接的各种驱动器29。
存储控制器22包括与主计算机30进行通信的FE_I/F(前端接口设备)23、进行存储装置之间的通信的存储I/F(存储接口设备)28、控制装置整体的处理器24、保存处理器24使用的程序和信息的存储器25、与驱动器29进行通信的BE_I/F(后端接口设备)27和将它们连接的内部网络26。
存储器25包括管理程序的程序区域201、作为数据传输和拷贝时的临时保存区域的缓冲(buffer)区域202、临时保存来自主计算机30的写数据(响应于写命令而写入的数据)和来自驱动器29的读数据(响应于读命令而读取的数据)的缓存(cache)区域203和保存各种表的表管理区域206。
驱动器29是具有非易失性数据存储介质的装置,可以包括性能不同的多种驱动器。驱动器29例如由具有FC(Fibre Channel)、NVMe(Non-Volatile Memory Express)、SAS(Serial Attached SCSI)、SATA(Serial Advanced Technology Attachment)等接口的硬盘驱动器、或I/O吞吐率性能和I/O响应性能比硬盘驱动器更高的SSD(Solid State Drive)等构成。
SSD是包括多个闪存和对它们进行控制的SSD控制器的半导体存储介质,其外观形状等不受形状因子(form factor)限定。另外,闪存可以使用NOR或NAND等非易失性的半导体存储器。另外,也可以代替闪存,使用磁阻存储器MRAM(Magnetoresistive randomaccess memory)、可变电阻型存储器ReRAM(Resistance random access memory)或强介电体存储器FeRAM(Ferroelectric random access memory)等各种半导体存储器。
FE_I/F23、BE_I/F27和存储I/F28是接口部之一例。存储器25是存储器部之一例。处理器24是处理器部之一例。
图2表示了迁移源和迁移目标中共通的结构,但在例如如图1所示将迁移源记作存储控制器1_22A、将迁移目标记作存储控制器2_22B的情况下,有时要对属于它们的构成要素同样地用“A”“B”等进行区分。例如,有时将迁移源存储控制器1_22A的缓存区域203记作缓存区域203A,将迁移目标存储控制器2_22B的缓存区域203记作缓存区域203B(参考图21、图22)。
<存储器>
图3是表示本发明的实施例1的存储装置11所保持的存储器25上的表管理区域206和缓存区域203的结构例的说明图。
存储器25上的缓存区域203具有临时保存来自主计算机30的写数据的数据保存区域204和对数据的保存位置进行管理的分层逻辑物理(逻辑-物理)变换表205。表管理区域206保存管理信息配置表207、管理信息配置变换表208、管理信息变换表209、逻辑物理变换表210、逻辑卷管理表211、缓存管理表212、池分配管理表213、驱动器分配管理表214和替换进度管理指针表215,其中,管理信息配置表207用于对管理信息的存储器信息配置进行管理,管理信息配置变换表208用于进行迁移目标上的管理信息配置的变换,管理信息变换表209用于进行管理信息的变换,逻辑物理变换表210用于管理与逻辑地址对应的物理地址,逻辑卷管理表211用于保持关于逻辑卷(VOL)的信息,缓存管理表212用于管理存储器25上的缓存信息,池分配管理表213用于保持关于池的信息,驱动器分配管理表214用于保持关于驱动器分配的信息,替换进度管理指针表215用于管理替换过程中的管理信息的迁移进度。
<管理信息配置表>
图4是表示本发明的实施例1的存储装置11所保持的管理信息配置表207的结构例的说明图。
管理信息配置表207按每个管理信息的种类设有条目。各条目保存管理信息名41、逻辑存储器ID42、逻辑地址43和长度(size)44等信息。下面以1个管理信息(在图4的说明中是“对象管理信息”)为例进行说明。
管理信息名41表示关于存储装置11的管理状态的信息的名称。这里,关于存储装置11的管理状态的信息指的是构成上述管理信息(例如图1所示的共享管理信息X2222X)的信息,例如可以包括关于对象存储装置11中管理的数据的安全设定的安全设定信息,关于对象存储装置11中管理的数据的备份的控制的备份控制信息,关于对象存储装置11中能够管理的数据有效容量的签约状态的收费信息,和管理数据的保存位置的逻辑物理变换信息等。对于逻辑物理变换信息在后文中叙述(参考图7的逻辑物理变换表210和图12的分层逻辑物理变换表205)。逻辑存储器ID42表示记录了管理信息的存储器25的ID。逻辑地址43和长度44表示管理信息在存储器25的地址以及以怎样的大小被记录。
<管理信息配置变换表>
图5是表示本发明的实施例1的存储装置11所保持的管理信息配置变换表208的结构例的说明图。
在管理信息配置变换表208中,针对迁移源存储控制器1_22A和迁移目标存储控制器2_22B的管理信息被对应地保存在存储器25中的何处,具有保存位置的变换信息。管理信息配置表207按每个管理信息的种类设有条目。各条目保存关于迁移源的管理信息的逻辑存储器ID(A)51、逻辑地址(A)52、长度(A)53,和关于迁移目标的管理信息的逻辑存储器ID(B)、逻辑地址(B)55、长度(B)56等信息。
<管理信息变换表>
图6是表示本发明的实施例1的存储装置11所保持的管理信息变换表209的结构例的说明图。
管理信息变换表209具有关于迁移源存储控制器1_22A与迁移目标存储控制器2_22B之间的管理信息的对应的信息。
管理信息变换表209按每个管理信息的种类设有条目。在各条目中,针对迁移源的管理信息与迁移目标的管理信息之间的对应关系,作为迁移源的信息保存了条目长度(A)62、条目信息(A)63,而作为迁移目标的变换后信息保存了条目长度(B)64、条目信息(B)65等信息。
处理器24通过将条目信息(A)63变换为条目信息(B)65,来在迁移源存储控制器1_22A与迁移目标存储控制器2_22B之间共享管理信息。
<逻辑物理变换表>
图7是表示本发明的实施例1的存储装置11所保持的逻辑物理变换表210的结构例的说明图。
逻辑物理变换表210管理下述双方的对应关系,其中一方是与主计算机30指定的地址对应的逻辑存储器ID71和逻辑地址72,另一方是表示对逻辑地址72写入的数据的物理保存位置的存储ID73、物理存储器ID74和物理地址75。
<逻辑卷管理表>
图8是表示本发明的实施例1的存储装置11所保持的逻辑卷管理表211的结构例的说明图。
逻辑卷管理表211管理如下参数:与逻辑单元对应的逻辑卷ID81,能够分配给逻辑卷的缓存分配量82,表示逻辑卷的逻辑保存位置的逻辑卷地址83,标识与逻辑卷对应的迁移源存储控制器1_22A的缓存的缓存ID(A)84,标识与逻辑卷对应的迁移目标存储控制器2_22B的缓存的缓存ID(B)85,标识保存逻辑卷的物理驱动器的驱动器ID86,和表示该驱动器上保存逻辑卷的区域的地址的驱动器地址87。
<缓存管理表>
图9是表示本发明的实施例1的存储装置11所保持的缓存管理表212的结构例的说明图。
缓存管理表212是用于在缓存上临时保存数据的管理表,管理如下参数:用于标识缓存的缓存ID91,用于标识保存所缓存的数据的物理存储器的物理存储器ID,表示该存储器上的区域的物理地址93,该区域的使用开始时刻95、最后访问时刻96,表示是否存在对驱动器的写入的脏数据标志97,和该区域的缓存命中次数98等。
<池分配管理表>
图10是表示本发明的实施例1的存储装置11所保持的池分配管理表213的结构例的说明图。
池分配管理表213管理如下参数:用于标识逻辑卷的VOL_ID101、表示逻辑卷的属性的VOL属性102、表示逻辑卷的容量的VOL容量103、用于标识分配给逻辑卷的池的池ID104和用于标识分配给池的RAID组的RAID组ID105等。
<驱动器分配管理表>
图11是表示本发明的实施例1的存储装置11所保持的驱动器分配管理表214的结构例的说明图。
驱动器分配管理表214按每个RAID组设有条目。各条目保存RAID组ID111、RAID级别112、驱动器ID113、驱动器种类114、容量115和已用容量116等信息。
RAID组ID111是用于标识RAID组的ID。RAID级别112表示RAID组所应用的RAID算法的种类。驱动器ID113是用于标识构成RAID组的1个以上驱动器中的每一个的ID。驱动器种类114表示构成RAID组的驱动器的种类(例如是HDD还是SSD)。容量115表示RAID组的容量。已用容量116表示RAID组的容量中正在使用的容量。
<分层逻辑物理变换表>
图12是表示本发明的实施例1的存储装置11所保持的分层逻辑物理变换表205的结构例的说明图。
分层逻辑物理变换表205在功能上具有与逻辑物理变换表210相同的作用。与保存在表管理区域206中的逻辑物理变换表210相比,能够将表本身的信息保存在容量较大的缓存区域或驱动器中,所以具有能够管理较大的表这一特征。在实施例1中,用于管理启用了压缩的VOL的逻辑物理映射信息。
具体而言,分层逻辑物理变换表205管理逻辑存储器ID121、逻辑地址122、差分比特123、物理存储器ID124、物理地址125和长度126。其中,逻辑存储器ID121、逻辑地址122、物理存储器ID124和物理地址125分别与逻辑物理变换表210的逻辑存储器ID71、逻辑地址72、物理存储器ID74和物理地址75相同。
差分比特123这一比特被用作标志(flag),表示因对存储控制器2_22B的写I/O而导致数据发生了更新。长度126表示要写入的数据的长度(例如在该数据被压缩的情况下是压缩后的实际的长度),其中该数据写入到根据物理存储器ID74和物理地址75指定的区域上。
<替换进度管理指针表>
图13是表示本发明的实施例1的存储装置11所保持的替换进度管理指针表215的结构例的说明图。
替换进度管理指针表215针对替换过程中在存储控制器22之间迁移的管理信息,进行迁移进度的管理。作为进度信息,对管理信息名151、管理信息的逻辑地址起始152、长度153和进度指针154等信息进行管理。这些信息按照根据管理信息名151识别的每个管理信息,表示在由逻辑地址起始152和长度153指定的范围的信息之中,进度指针154所示的地址之前的范围的信息已迁移结束。
在替换处理中,迁移源和迁移目标分别对替换进度管理指针表215进行管理,与其进度相应地切换处理。
<逻辑存储层级>
图14是表示由本发明的实施例1的存储装置11管理的逻辑存储层级的结构例的说明图。
向主计算机30提供VOL1000。其中,从VOL1000到池1001的分配是基于池分配管理表213管理的。另外,从池1001到驱动器地址空间1003(即构成RAID组1002的多个驱动器29所提供的多个驱动器地址空间)的分配,是基于驱动器分配管理表214管理的。
由于拷贝处理或去重处理,可能出现从VOL_1000内的多个逻辑数据的管理单位(槽)指向1个池地址的情况,也可能出现从多个VOL的槽指向一个池地址的情况。另外,保存的数据可能因压缩处理而被缩小至与压缩率相应的长度,图14的例子表示了用于追加记录压缩后的数据的追加区域1202-2。这些VOL1000内的存储区域1201与Pool1001内的存储区域1202-1和追加区域1202-2之间的对应关系,是基于逻辑物理变换表210或分层逻辑物理变换表205管理的。
下面说明本实施例中进行的处理的例子。
<替换处理(迁移源)>
图15是表示在本发明的实施例1的存储系统100中,从存储装置11A向存储装置11B进行替换处理的情况下的迁移源存储控制器1_22A的替换处理的流程图。
S1501~S1511表示替换处理的一系列流程。
此处说明的是如图1所示,用存储控制器2_22B来替换存储控制器1_22A的情况,即存储控制器1_22A是迁移源,存储控制器2_22B是迁移目标的情况。图16~图20也是同样的。
图15的处理由迁移源存储控制器1_22A的处理器24执行。在接收了来自用户的替换指示之后,在S1501中,处理器24判断是否已连接了替换目标的存储控制器22(即迁移目标存储控制器2_22B)。例如,如图1的S1所示,如果包括迁移目标存储控制器2_22B的存储装置11B已经由网络31与迁移源的存储控制器1_22A、主计算机30以及驱动器29连接,则在步骤S1501中判断为已连接了替换目标的存储控制器2_22B,处理前进至S1502。
处理器24在S1502中选择逻辑单元,在S1503中开始进行迁移,用于将关于所选择的逻辑单元的共享管理信息X2222X拷贝到迁移目标存储控制器2_22B。
在S1504中,处理器24参照存储控制器1_22A所保持的替换进度管理指针表215的进度指针154,判断是否存在迁移对象。例如,基于进度指针154,在某一管理信息的传输尚未结束的情况下,在S1504中判断为存在迁移对象,处理前进至S1505。
在S1505中,处理器24选择迁移对象的条目。例如,在逻辑物理变换表210的迁移尚未结束的情况下,处理器24可以参照与逻辑物理变换表210对应的进度指针154,确定尚未迁移的逻辑地址的值,选择具有该值作为逻辑地址72的逻辑物理变换表210的条目作为迁移对象。
在S1506中,处理器24将选中为迁移对象的条目传输至迁移目标存储控制器2_22B。然后,在S1507中,处理器24更新进度指针154以反映上述的传输。之后,处理返回S1504。
在全部管理信息(例如共享管理信息X2222X的全部)的传输已结束的情况下,在S1504中判断为不存在迁移对象,处理前进至S1508。在S1508中,处理器24判断迁移目标的状态。例如,迁移目标存储控制器2_22B在基于S1506中传输来的条目更新信息失败的情况下,通知处理错误(参考图16)。存储控制器1_22A的处理器24可以在接收到这样的处理错误的情况下判断为迁移失败,在未接收的情况下判断为迁移完成。
在S1508中判断为迁移完成的情况下,处理器24在S1509中向迁移目标存储控制器2_22B发送迁移完成通知,在S1510中使迁移源存储控制器1_22A的FE_I/F23A无效化(主机路径无效化)。
在S1501中判断为未连接替换目标的存储控制器2_22B,或者S1508中判断为迁移失败的情况下,处理器24在S1511中向迁移目标存储控制器2_22B发送处理错误通知,结束处理。
<替换处理(迁移目标)>
图16是表示在本发明的实施例1的存储系统100中,从存储装置11A向存储装置11B进行替换处理的情况下的迁移目标存储控制器1_22B的替换处理的流程图。
S1601~S1611表示替换处理的一系列流程。
图16的处理由迁移目标存储控制器2_22B的处理器24执行。在S1601中,存储控制器2_22B的处理器24判断是否已连接了替换源的存储控制器22(本实施例中是迁移源存储控制器1_22A)。在判断为迁移源存储控制器1_22A已连接的情况下,处理前进至S1602。
在S1602中,处理器24接收关于迁移对象的逻辑单元的共享管理信息。这是由迁移源存储控制器1_22A在图15的S1503中发送的。
在S1603中,处理器24更新存储控制器2_22B所保持的替换进度管理指针表215的进度指针154。
在S1604中,处理器24参照进度指针154,判断是否存在迁移对象。通过从存储控制器2_22A接收替换进度管理指针表,并在接收了管理信息之后使进度指针154前进,该判断例如可以与图15的S1504同样地进行。
在S1604中判断为存在迁移对象的情况下,处理器24在S1605中接收条目信息。这是由迁移源存储控制器1_22A在图15的S1506中传输的。
在S1605中,处理器24对接收到的条目信息进行变换。具体而言,处理器24参照管理信息配置变换表208和管理信息变换表209,将接受的条目信息所含的管理信息中的存储控制器1_22A上的配置和内容,变换为存储控制器2_22B上的配置和内容。
在S1606中,处理器24按照变换后的配置和内容更新条目信息(例如与共享管理信息Y2222Y中的该条目对应的信息)。之后,处理返回S1603。在S1603中,更新进度指针154以反映条目信息的更新。
在S1604中判断为不存在迁移对象的情况下,处理器24在S1608中判断迁移源状态。例如,处理器24可以在接收到由迁移源存储控制器1_22A在图15的S1511中发送的处理错误通知的情况下,判断为迁移失败,在未接收的情况下判断为迁移完成。
在S1608中判断为迁移完成的情况下,处理器24在S1609中向迁移源存储控制器1_22A发送迁移完成通知,在S1610中使迁移目标存储控制器2_22B的FE_I/F23B变得有效来切换主机路径,结束处理。
在S1601中判断为未连接替换源的存储控制器1_22A,或者在S1608中判断为迁移失败的情况下,处理器24在S1611中向迁移源存储控制器1_22A发送处理错误通知,结束处理。
<读处理(迁移源)>
图17是表示在本发明的实施例1的存储系统100中,从主计算机30对存储装置11A进行的读I/O处理的流程图。
S1701~S1707表示读处理的一系列流程。
读处理在存储装置11A经由网络31从主计算机30接收了读命令的情况下开始执行。在读命令中,例如指定了虚拟ID(例如虚拟VOL_ID)、地址和数据长度。
图17的处理由迁移源存储控制器1_22A的处理器24执行。在S1701中,处理器24获取基于读命令所确定的槽的独占。在获取槽的独占时有其他处理已获取槽的独占的情况下,处理器24等待一定时间后进行S1701。
在S1702中,处理器24判断读数据是否存在于缓存区域203中。在S1702的判断结果为真的情况下,前进至S1704。在S1702的判断结果为假的情况下,处理器24在S1703中将读数据从RAID组传输至缓冲区域202。另外,此时,处理器24根据主计算机30指定的VOL_ID和逻辑地址,通过参照池分配管理表213来确定VOL属性102,如果VOL属性是启用了压缩,则根据管理压缩数据的分层逻辑物理变换表205的逻辑地址122查询主计算机30指定的逻辑地址,从与逻辑地址122对应的物理地址125读取长度126的数据。另外,在VOL属性是通常VOL等的情况下,根据对应的逻辑物理变换表210的逻辑地址72确定表示数据的保存位置的物理地址75,读取固定长度的数据。
在S1704中,处理器24根据上述VOL属性102判断缓冲区域202上的读数据是否是压缩的。如果是压缩的数据则处理器24在S1705中进行解压缩,不是压缩数据的情况下跳过S1705。
在S1706中,处理器24将缓冲区域202上的读数据传输至主计算机30。主计算机30在S1706的数据传输完成时确认读处理结束。
之后,处理器24在S1707中解除所获取的槽的独占。S1707完成后,处理器24结束读处理。
<写处理(迁移源)>
图18是表示在本发明的实施例1的存储系统100中,从主计算机30对存储装置11A进行的写I/O处理的流程图。
S1801~S1812表示写处理的一系列流程。
写处理在存储装置11A从主计算机30接收到写命令的情况下开始执行。在下面的图18的说明中,例如为了区分属于存储装置11A的多个存储控制器22,将它们记作存储控制器1_22A1、存储控制器1_22A2,并对属于存储控制器1_22A1和存储控制器1_22A2的部件分别用标记上附加的“A1”和“A2”进行区分,例如,将各自的处理器24记作处理器24A1和处理器24A2。
来自主计算机30的写命令附带了分配目标地址。存储装置11A在S1801中获取分配目标地址所示的槽的独占。另外,在获取槽的独占的同时,处理器24A1分配作为数据的写目标的缓存区域203A的槽区域。
在S1802中,处理器24A1对主计算机30发出表示写处理已准备就绪的“Ready”响应。处理器24A1从接收了“Ready”的主计算机30接收写数据。
处理器24A1在S1803中判断接收到的写数据的分配目标是否启用了压缩。该判断是通过参照逻辑卷管理表211的逻辑卷地址83,根据对应的逻辑卷ID81参照与池分配管理表213的VOL_ID101对应的VOL属性102而进行的。如果启用了压缩,则处理器24A1在S1804中将写数据保存在缓冲区域202上,在S1805中进行压缩。处理器24A1在S1806中将压缩数据或非压缩的写数据保存到缓存区域203中。
接着,在S1807中,处理器24A1通过参照替换进度管理指针表215的进度指针154,判断前述替换处理是否正在执行中。在替换处理正在执行中的情况下,因为写数据无法反映到迁移目标上,所以处理器24A1在S1808中实施离台(destage)处理,将写数据写入驱动器29。在替换处理已完成(即管理信息已完成迁移)的情况下,处理器24A1在S1809中对存储装置11A内的存储控制器1_22A1和存储控制器1_22A2的数据进行双重化,并且将数据也传输至作为迁移目标的存储装置11B的存储控制器上的缓存中。
当数据在驱动器29上的写入(S1808)完成时,或者,当迁移源的存储装置11A内的两个存储控制器22之间的缓存双重化以及数据对存储装置11B的传输(S1809)完成时,处理器24A1在S1810中更新数据的映射信息。其中,对于压缩的数据,在分层逻辑物理变换表205的逻辑地址122中登记主计算机30指定的分配目标地址,进而登记压缩后的长度126和保存目标物理地址125。对于非压缩的数据,登记与逻辑物理变换表210的逻辑地址72对应的物理地址75。
当S1810中映射信息的更新完成时,处理器24A1在S1811中对主计算机30发出写I/O完成的响应。最后,在S1812中,解除S1801中获取的槽的独占。另外,在替换处理正在执行中的情况下,需要将更新后的映射信息传输至迁移目标存储控制器2_22B。因此,在映射信息的更新部分已传输的情况下,传输更新产生的差分,在未传输的情况下,传输更新后的映射信息。之后,对缓存进行离台处理,将写数据写入驱动器29,结束处理。
<读处理(迁移目标)>
图19是表示在本发明的实施例1的存储系统100中,从主计算机30对存储装置11B进行的读I/O处理的流程图。
S1901~S1910表示读处理的一系列流程。
在迁移目标的读处理中,按照池分配管理表213的VOL属性102,相应地改变读取数据的处理。图19表示的是VOL属性102为启用压缩(差分管理)的情况下的动作。
在S1901中,迁移目标的存储装置11B的存储控制器2_22B的处理器24参照分层逻辑物理变换表205的差分比特123。差分比特123为0时,物理地址125指向与迁移源的存储装置11A共享的数据,差分比特123为1时,物理地址125指向存储装置11B中固有地管理的数据。其中,作为固有数据管理的,是存储装置11B的数据格式与迁移源不同的情况。
在图12的分层逻辑物理变换表205的例子中,起始的条目的差分比特123的值为“0”。这表示,在以与逻辑存储器“1”的逻辑地址“0xF0001000”对应的物理存储器“3”的物理地址“0x5000”为起始的区域中写入的8KB的数据,在迁移目标的存储装置11B中尚未被更新。另一方面,第3个条目的差分比特123的值为“1”。这表示,在以与逻辑存储器“1”的逻辑地址“0xF0008000”对应的物理存储器“2”的物理地址“0x8000”为起始的区域中写入的1KB的数据,在迁移目标的存储装置11B中已被更新。
在S1902中,处理器24判断差分比特123是否有效(图12的例子中是否为“1”)。在差分比特123有效的情况下,在S1903中,处理器24将S1904~S1910的处理切换为符合迁移目标的存储装置11B的数据格式的处理。另一方面,在差分比特123非有效的情况下,处理器24跳过S1903,利用符合迁移源的存储装置11A的数据格式的处理进行读取。
接下来的S1904至S1909的处理是由迁移目标存储控制器2_22B的处理器24执行图17所示的S1701至S1706的处理,所以省略说明。
在S1910中,处理器24针对差分比特123的值为0的数据,判断为需要使其脏化,针对差分比特123的值为1的数据,判断为不需要使其脏化。这是因为,差分比特123的值为1的数据由控制器2_22B按存储装置11B的数据格式保存,而差分比特123的值为0的数据则是继承了由控制器1_22A按存储装置11A的数据格式保存的数据。在需要脏化的情况下,处理器24在S1910中,将缓冲区域202中的读数据双重化地保存至存储装置11B内的存储控制器2_22B1的缓存区域203和存储控制器2_22B2的缓存区域203,将缓存管理表212的脏数据标志97更新为“ON”。并且,对于脏数据标志97为“ON”的数据,与I/O处理非同步地,由处理器24按存储装置11B的数据格式保存在存储装置11B的固有区域中,并将差分比特123的值更新为1。其中,该固有区域可以是在存储装置11A与存储装置11B之间决定的保存位置,也可以是仅能够由存储装置11B访问的固有的驱动器29。
之后,处理器24在S1912中解除所获取的槽的独占。S1912完成后,处理器24结束读处理。
<写处理(迁移目标)>
图20是表示在本发明的实施例1的存储系统100中,从主计算机30对存储装置11B进行的写I/O处理的流程图。
S2001~S2013表示写处理的一系列流程。这些处理由迁移目标的存储装置11B的存储控制器2_22B的处理器24执行,除了下面说明的不同点之外,与迁移源的存储装置11A的存储控制器1_22A的处理器24执行的图18的处理相同。具体而言,S1801被替换为S2001。S2002~S2010对应于S1802~S1810,S2012~S2013对应于S1811~S1812。在S2010与S2012之间插入了S2011。
图20与图19所示的读处理(迁移目标)同样地,表示的是VOL属性102为启用压缩(差分管理)的情况下的动作。在差分管理有效的情况下,在对存储装置11B进行的写处理中,写数据被保存在存储装置11B的固有区域中。其中,该固有区域可以是在存储装置11A与存储装置11B之间决定的保存位置,也可以是仅能够由存储装置11B访问的固有的驱动器29。
在S2001中,处理器24除了获取与S1801同样的独占之外,还进行差分管理区域(即上述固有区域)的独占。
在S2007中,处理器24根据替换进度管理指针表215的进度指针154,判断管理信息的迁移是否已完成。如果迁移已完成,则处理器24前进至S2009,进行存储装置11B内的存储控制器11_22B1和存储控制器12_22B2中的双重化缓存保存。迁移尚未完成的情况下,处理器24在S2008中进行驱动器写入。
处理器24B1在S2010中更新数据的映射信息。对于更新涉及的信息,作为固有区域用的管理信息,生成与更新前的映射信息对应的更新差分信息。在后期访问(因读请求或更新写请求而进行读取)写入到固有区域的数据的情况下,使用拷贝来的管理信息和作为固有区域用的管理信息的更新差分信息,来计算物理地址进行访问。
另外,对于压缩的数据,在分层逻辑物理变换表205的逻辑地址122中登记主计算机30指定的分配目标地址,进而登记压缩后的长度126和保存目标物理地址125。对于非压缩的数据,登记与逻辑物理变换表210的逻辑地址72对应的物理地址75。
在S2010中映射信息的更新完成后,在S2011中,处理器24将差分比特123更新为“1”,以表示上述写处理是按存储装置11B的数据格式保存的。差分比特123的初始值为0。
处理器24B1在S1811中对主计算机30发出写I/O完成的响应。最后,在S2013中解除S2001中获取的槽的独占。之后,对缓存进行离台处理,将写数据写入驱动器29,结束处理。
通过上述处理,在具有不同的数据管理方式的存储装置之间,能够在存储装置之间共享外部存储介质的同时进行不中断迁移,能够按照对构成存储装置的存储控制器和存储介质分别适合的周期进行替换,并且能够缩短因替换而产生性能影响的时间。
[实施例2]
下面说明本发明的实施例2。除了下面说明的不同点之外,实施例2的系统的各部分具有与实施例1中标注了相同标记的各部分相同的功能,故省略其说明。
<写通(write-through)>
图21是表示本发明的实施例2的存储系统100执行的数据管理方式不同的存储装置之间的替换流程的说明图。
实施例2与本发明的实施例1中的切换进行对驱动器29的写入与存储控制器22之间的数据双重化的方法不同,其特征在于,将数据和管理信息、独占信息等全部与I/O同步地反映至驱动器29。因为数据和管理信息、独占信息全部能够通过参照驱动器29来实现共享,所以共享驱动器29的存储控制器22将从驱动器29读取的管理信息变换为各自的数据管理方式进行动作。
例如,与实施例1同样地,说明用存储控制器2_22B替换存储控制器1_22A的情况。迁移源存储控制器1_22A的处理器24将共享管理信息中的至少逻辑物理映射1200A(例如分层逻辑物理变换表205)保存在缓存区域203A内,并且将其也保存在驱动器29中。处理器24在更新了缓存区域203A内的逻辑物理映射1200A等的情况下,也将该更新反映到驱动器29内的逻辑物理映射1200A等。
之后,当开始了从存储控制器1_22A向存储控制器2_22B的替换处理(图15、图16)开始时,迁移源存储控制器1_22A的处理器24在图15的S1504~S1507中,将共享管理信息中的、未保存在驱动器29上的信息传输至迁移目标存储控制器2_22B。例如,在共享管理信息之中仅分层逻辑物理变换表205保存在驱动器29中的情况下,将除此以外的信息传输至迁移目标存储控制器2_22B。
迁移目标存储控制器2_22B的处理器24在图16的S1602~S1607中,对于从迁移源存储控制器1_22A传输来的共享管理信息,按照管理信息配置变换表208和管理信息变换表209进行变换,再保存到缓存区域203B内。另一方面,对于保存在驱动器29中的共享管理信息,迁移目标存储控制器2_22B的处理器24从驱动器29读取该信息,按照管理信息配置变换表208和管理信息变换表209进行变换并保存在缓存区域203B内。例如,在逻辑物理映射1200A是从驱动器29读取的情况下,将其变换成逻辑物理映射1200B保存至缓存区域203B。
由此,不再需要在替换处理开始之后从迁移源存储控制器1_22A向迁移目标存储控制器2_22B至少传输逻辑物理映射1200A。一般而言,共享管理信息的数据量的大部分由逻辑物理映射(例如分层逻辑物理变换表205)的数据量占据,所以采用实施例2能够大幅缩短替换处理所需的时间。
[实施例3]
下面说明本发明的实施例3。除了下面说明的不同点之外,实施例3的系统的各部分具有与实施例1或2的标注了相同标记的各部分相同的功能,故省略其说明。
<从外接存储设备迁移管理信息>
图22是表示本发明的实施例3的存储系统100执行的数据管理方式不同的存储装置之间的替换流程的说明图。
实施例3使用了与专利文献1中记载的同样的外部连接存储设备。在迁移目标存储控制器内的作为数据迁移目标的VOL1000-3与迁移源的VOL1000-1之间,通过与实施例2相同的基于写通(write-through)进行的管理信息的共享来实现迁移。
例如,与实施例1同样地,说明用存储控制器2_22B替换存储控制器1_22A的情况。
当迁移目标存储控制器2_22B与主计算机30和驱动器29连接时,与实施例1同样地进行共享管理信息的迁移(图15、图16)。但是,与实施例1不同的是,在实施例3中,无需等待将共享管理信息变换并保存到迁移目标存储控制器2_22B中的处理结束,就使主机I/O的目标从迁移源存储控制器1_22A切换至迁移目标存储控制器2_22B。之后,来自主计算机30的I/O(读和写)将对迁移目标存储控制器2_22B进行。
迁移目标存储控制器2_22B的处理器24在目标切换后直到共享管理信息的迁移完成的期间,在接收到来自主计算机30的I/O时将其传输至迁移源存储控制器1_22A。迁移源存储控制器1_22A的处理器24对从迁移目标存储控制器2_22B接收到的I/O进行处理,向迁移目标存储控制器2_22B返回响应。例如,在进行了写操作的情况下,向迁移目标存储控制器2_22B返回写的结果,在进行了读操作的情况下返回读取的数据。迁移目标存储控制器2_22B的处理器24将接收的响应传输至主计算机30。
由此,能够在迁移目标存储控制器2_22B与主计算机30连接之后立即切换I/O的目标。
上述本发明的实施方式也可以包括如下所述的例子。即,在一种包括存储介质、与上述存储介质连接的1个以上存储控制器和与上述存储控制器连接的1个以上主计算机的存储系统中,对1个以上存储控制器连接硬件结构和数据管理方式不同的新的存储控制器。新存储控制器除了与上述存储控制器连接之外,还与上述存储介质和上述主计算机连接。当上述新存储控制器与上述存储控制器连接后,通过管理操作,指定作为替换的对象的上述存储控制器管理的1个以上逻辑单元(Logical Unit)或其全部。将通过上述管理操作指定的替换对象所具有的数据管理信息,从上述存储控制器发送到上述新存储控制器。接收到数据管理信息的上述新存储控制器对上述数据管理信息的数据管理方式进行变换,使得能够访问作为替换对象的上述逻辑单元具有的数据。上述新存储控制器在对数据管理方式进行变换之后,使其与上述存储介质和上述主计算机的路径变得有效,进行主机I/O和结构变更等对数据的访问。对于发送了上述逻辑单元的数据管理信息的上述存储控制器,在上述新存储控制器的上述路径变得有效之后,在任意的时机移除该存储控制器,由此进行存储控制器的替换。另外,按照将数据管理信息迁移至上述新存储控制器的进度,相应地切换进行与主机I/O同步地对驱动器写入数据的处理,和在上述存储控制器和上述新存储控制器的缓存区域中使数据双重化的处理,由此,在保护数据的同时维持替换处理中的I/O性能。
另外,本发明的实施方式也可以进而包括如下所述的例子。
(1)一种包括存储控制部和存储驱动器(例如驱动器29)的存储系统,其中存储控制部包括处理器(例如处理器24)和存储器(例如存储器25),存储驱动器包括用于保存数据的存储介质,其中,存储控制部具有用于访问保存在存储驱动器中的数据的数据管理信息(例如共享管理信息X2222X和Y2222Y),作为存储控制部包括第一存储控制部(例如存储控制器1_22A)和第二存储控制部(例如存储控制器2_22B),第一存储控制部和第二存储控制部与主机(例如主计算机30)和存储驱动器连接,第一存储控制部将关于保存在存储驱动器中的数据的数据管理信息从第一存储控制部拷贝到第二存储控制部(例如S1506、S1607),在数据管理信息的拷贝开始之后存储控制部从主机接收到写请求的情况下,第一存储控制部和第二存储控制部分别将写请求涉及的写数据保存到存储驱动器的不同的存储区域(例如S1808、S2008)中。
由此,在存储装置之间能够在共享外部存储介质的同时进行不中断迁移,能够按照对构成存储装置的存储控制器和存储介质分别适合的周期进行替换,并且能够抑制因替换而产生的性能影响。另外,在替换处理的过程中进行了数据更新的情况下,也能够将该更新反映到驱动器。
(2)在上述(1)中,第一存储控制部和第二存储控制部分别生成用于访问保存的数据的数据管理信息。
(3)在上述(2)中,第一存储控制部在拷贝过程中进行写入的情况下,更新数据管理信息,第二存储控制部在拷贝过程中进行写入的情况下,生成针对数据管理信息的更新差分信息。
(4)在上述(3)中,第一存储控制部使用更新后的数据管理信息,访问拷贝之后写入的数据,第二存储控制部使用拷贝来的数据管理信息和更新差分信息,访问拷贝之后写入的数据。
(5)在上述(1)中,第一存储控制部使用第一数据格式,第二存储控制部使用第二数据格式,第二存储控制部对要拷贝的数据管理信息进行变换,使得使用第二数据格式的第二存储控制部能够访问以第一数据格式保存在存储驱动器中的数据(例如S1606)。
(6)在上述(5)中,在拷贝开始之后,第一存储控制部使用第一数据格式保存写数据,第二存储控制部使用第二数据格式保存写数据。
(7)在上述(6)中,第二存储控制部将以第一数据格式保存在存储驱动器中的数据转换为第二数据格式,保存到存储驱动器中。
(8)在上述(7)中,在拷贝开始之前,对第一存储控制部设定了主机路径,在拷贝完成之后,将主机路径变更至第二存储控制部(例如S1510、S1610),数据格式的转换是在主机路径变更之后进行的。
(9)在上述(8)中,第二存储控制部对于接收到读请求的、以第一数据格式保存的数据,读取并传输该数据(例如S1909),并将其转换为第二数据格式保存(例如S1910之后的非同步的保存)。
(10)在上述(1)中,在拷贝开始之前,对第一存储控制部设定了主机路径,在拷贝完成之后,将主机路径变更至第二存储控制部(例如S1510、S1610)。
(11)在上述(10)中,在拷贝之前,增设第二存储控制部,在主机路径变更之后,移除第一存储控制部。
(12)一种包括存储控制部和存储驱动器(例如驱动器29)的存储系统,其中存储控制部包括处理器(例如处理器24)和存储器(例如存储器25),存储驱动器包括用于保存数据的存储介质,其中,存储控制部具有用于访问保存在存储驱动器中的数据的数据管理信息(例如共享管理信息X2222X和Y2222Y),作为存储控制部包括第一存储控制部(例如存储控制器1_22A)和第二存储控制部(例如存储控制器2_22B),第一存储控制部和第二存储控制部与主机(例如主计算机30)和存储驱动器连接,第一存储控制部使用第一数据格式,第二存储控制部使用第二数据格式,第一存储控制部将关于保存在存储驱动器中的数据的数据管理信息从第一存储控制部拷贝到第二存储控制部(例如S1506、S1607),第二存储控制部对要拷贝的数据管理信息进行变换,使得使用第二数据格式的第二存储控制部能够访问以第一数据格式保存在存储驱动器中的数据(例如S1606)。
由此,在存储装置之间能够在共享外部存储介质的同时进行不中断迁移,能够按照对构成存储装置的存储控制器和存储介质分别适合的周期进行替换,并且能够抑制因替换而产生的性能影响。另外,使用第二数据格式的第二存储控制部能够访问以第一数据格式保存在存储驱动器中的数据。
此外,本发明不限定于上述实施例,包括各种变形例。上面以装置的替换为例进行了说明,但只要在存储装置之间共享存储介质的同时进行迁移即可,也可以是同时具有2个存储装置的存储系统。例如,上述实施例为了更好地理解本发明而进行了详细说明,并不限定于必须具备所说明的全部结构。能够将某个实施例的结构的一部分置换为其他实施例的结构,也能够在某个实施例的结构上添加其他实施例的结构。另外,对于各实施例的结构的一部分,能够追加、删除、置换其他结构。
另外,上述各结构、功能、处理部、处理单元等,例如可以通过集成电路设计等而用硬件实现其一部分或全部。上述各结构、功能等也可以通过处理器解释、执行实现各功能的程序而用软件实现。实现各功能的程序、表、文件等信息,能够保存在非易失性半导体存储器、硬盘驱动器、SSD(Solid State Drive)等存储设备,或者IC卡、SD卡、DVD等计算机可读取的非暂时性的数据存储介质中。
另外,控制线和信息线表示了说明上必要的部分,并不一定示出了产品上全部的控制线和信息线。实际上也可以认为几乎全部结构都相互连接。
附图标记说明
100 存储系统
11 存储装置
22 存储控制器
202 缓冲区域
203 缓存区域
29 驱动器
30 主计算机
31 网络

Claims (13)

1.一种包括存储控制部和存储驱动器的存储系统,其中所述存储控制部包括处理器和存储器,所述存储驱动器包括用于保存数据的存储介质,其特征在于:
所述存储控制部具有用于访问保存在所述存储驱动器中的数据的数据管理信息,
作为所述存储控制部包括第一存储控制部和第二存储控制部,
所述第一存储控制部和所述第二存储控制部与主机和所述存储驱动器连接,
所述第一存储控制部将关于保存在所述存储驱动器中的数据的所述数据管理信息从所述第一存储控制部拷贝到所述第二存储控制部,
在所述数据管理信息的拷贝开始之后所述存储控制部从所述主机接收到写请求的情况下,所述第一存储控制部和所述第二存储控制部分别将所述写请求涉及的写数据保存到所述存储驱动器的不同的存储区域中。
2.如权利要求1所述的存储系统,其特征在于:
所述第一存储控制部和所述第二存储控制部分别生成用于访问所保存的数据的数据管理信息。
3.如权利要求2所述的存储系统,其特征在于:
所述第一存储控制部在拷贝过程中进行写入的情况下,更新数据管理信息,
所述第二存储控制部在拷贝过程中进行写入的情况下,生成数据管理信息的更新差分信息。
4.如权利要求3所述的存储系统,其特征在于:
所述第一存储控制部使用更新后的数据管理信息,访问所述拷贝之后写入的数据,
所述第二存储控制部使用拷贝来的数据管理信息和所述更新差分信息,访问所述拷贝之后写入的数据。
5.如权利要求1所述的存储系统,其特征在于:
所述第一存储控制部使用第一数据格式,
所述第二存储控制部使用第二数据格式,
所述第二存储控制部对要拷贝的数据管理信息进行变换,使得使用第二数据格式的所述第二存储控制部能够访问以所述第一数据格式保存在所述存储驱动器中的数据。
6.如权利要求5所述的存储系统,其特征在于:
在所述拷贝开始之后,所述第一存储控制部使用所述第一数据格式保存写数据,所述第二存储控制部使用所述第二数据格式保存写数据。
7.如权利要求6所述的存储系统,其特征在于:
所述第二存储控制部将以所述第一数据格式保存在所述存储驱动器中的数据转换为所述第二数据格式,保存到所述存储驱动器中。
8.如权利要求7所述的存储系统,其特征在于:
在所述拷贝开始之前,对所述第一存储控制部设定了主机路径,
在所述拷贝完成之后,将主机路径变更至所述第二存储控制部,
所述数据格式的转换是在主机路径变更之后进行的。
9.如权利要求8所述的存储系统,其特征在于:
所述第二存储控制部对于接收到读请求的、以所述第一数据格式保存的数据,读取、传输该数据并将其转换为所述第二数据格式进行保存。
10.如权利要求1所述的存储系统,其特征在于:
在所述拷贝开始之前,对所述第一存储控制部设定了主机路径,
在所述拷贝完成之后,将主机路径变更至所述第二存储控制部。
11.如权利要求10所述的存储系统,其特征在于:
在所述拷贝之前,增设所述第二存储控制部,
在所述主机路径变更之后,移除所述第一存储控制部。
12.一种包括存储控制部和存储驱动器的存储系统,其中所述存储控制部包括处理器和存储器,所述存储驱动器包括用于保存数据的存储介质,其特征在于:
所述存储控制部具有用于访问保存在所述存储驱动器中的数据的数据管理信息,
作为所述存储控制部包括第一存储控制部和第二存储控制部,
所述第一存储控制部和所述第二存储控制部与主机和所述存储驱动器连接,
所述第一存储控制部使用第一数据格式,
所述第二存储控制部使用第二数据格式,
所述第一存储控制部将关于保存在所述存储驱动器中的数据的所述数据管理信息从所述第一存储控制部拷贝到所述第二存储控制部,
所述第二存储控制部对要拷贝的数据管理信息进行变换,使得使用第二数据格式的所述第二存储控制部能够访问以所述第一数据格式保存在所述存储驱动器中的数据。
13.一种包括存储控制部和存储驱动器的存储系统的控制方法,其中所述存储控制部包括处理器和存储器,所述存储驱动器包括用于保存数据的存储介质,所述控制方法的特征在于:
所述存储控制部具有用于访问保存在所述存储驱动器中的数据的数据管理信息,
作为所述存储控制部包括第一存储控制部和第二存储控制部,
所述第一存储控制部和所述第二存储控制部与主机和所述存储驱动器连接,
所述控制方法包括:
由所述第一存储控制部将关于保存在所述存储驱动器中的数据的所述数据管理信息从所述第一存储控制部拷贝到所述第二存储控制部的步骤;和
在所述数据管理信息的拷贝开始之后所述存储控制部从所述主机接收到写请求的情况下,由所述第一存储控制部和所述第二存储控制部分别将所述写请求涉及的写数据保存到所述存储驱动器的不同的存储区域中的步骤。
CN202010806193.5A 2020-03-04 2020-08-12 存储系统及其控制方法 Active CN113360082B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-036790 2020-03-04
JP2020036790A JP7145902B2 (ja) 2020-03-04 2020-03-04 ストレージシステム及びその制御方法

Publications (2)

Publication Number Publication Date
CN113360082A true CN113360082A (zh) 2021-09-07
CN113360082B CN113360082B (zh) 2024-06-04

Family

ID=75275710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010806193.5A Active CN113360082B (zh) 2020-03-04 2020-08-12 存储系统及其控制方法

Country Status (3)

Country Link
US (2) US10969985B1 (zh)
JP (1) JP7145902B2 (zh)
CN (1) CN113360082B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11269802B2 (en) * 2019-06-24 2022-03-08 Western Digital Technologies, Inc. Lightweight proxy for handling SCSI commands in an active array-standby array configuration
US11467778B2 (en) * 2021-01-18 2022-10-11 EMC IP Holding Company LLC Creating high availability storage volumes for software containers
CN115374024A (zh) * 2021-05-21 2022-11-22 华为技术有限公司 一种内存数据排序方法及相关设备
JP7437428B2 (ja) 2022-01-31 2024-02-22 株式会社日立製作所 ストレージシステム、ドライブ移動方法、及びプログラム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1959598A (zh) * 2005-09-22 2007-05-09 株式会社日立制作所 存储控制装置、数据管理系统及数据管理方法
CN101034381A (zh) * 2006-03-08 2007-09-12 松下电器产业株式会社 多主机系统和数据传送系统
US20120239882A1 (en) * 2011-03-18 2012-09-20 Fujitsu Limited Control apparatus and method, and storage apparatus
CN102959498A (zh) * 2010-07-27 2013-03-06 株式会社日立制作所 包括向外扩展型存储系统的存储系统群及其管理方法
US20130111171A1 (en) * 2011-10-31 2013-05-02 Hitachi, Ltd. Storage apparatus and data management method
WO2013168192A1 (en) * 2012-05-08 2013-11-14 Hitachi, Ltd. Storage apparatus and method for controlling storage apparatus
US20140032838A1 (en) * 2012-07-26 2014-01-30 Hitachi, Ltd. Computer system, data management apparatus, and data management method
CN103620543A (zh) * 2011-08-04 2014-03-05 株式会社日立制作所 使用用于动态地分配物理数据存储空间的方法的数据存储系统
WO2016092610A1 (ja) * 2014-12-08 2016-06-16 株式会社日立製作所 ストレージ装置及びそのデータバックアップ方法
WO2017109822A1 (ja) * 2015-12-21 2017-06-29 株式会社日立製作所 重複排除機能を有するストレージシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6708285B2 (en) 2001-03-15 2004-03-16 Hewlett-Packard Development Company, L.P. Redundant controller data storage system having system and method for handling controller resets
JP4585276B2 (ja) 2004-11-01 2010-11-24 株式会社日立製作所 ストレージシステム
JP4788723B2 (ja) 2008-02-26 2011-10-05 日本電気株式会社 ディスクアレイシステム、ディスクアレイ装置および構成情報復帰方法
US20090240880A1 (en) 2008-03-21 2009-09-24 Hitachi, Ltd. High availability and low capacity thin provisioning
WO2013014702A1 (en) 2011-07-22 2013-01-31 Hitachi, Ltd. Computer system and data migration method thereof
US9836404B2 (en) 2015-08-14 2017-12-05 Netapp, Inc. Write mirroring to storage class memory devices

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1959598A (zh) * 2005-09-22 2007-05-09 株式会社日立制作所 存储控制装置、数据管理系统及数据管理方法
CN101034381A (zh) * 2006-03-08 2007-09-12 松下电器产业株式会社 多主机系统和数据传送系统
CN102959498A (zh) * 2010-07-27 2013-03-06 株式会社日立制作所 包括向外扩展型存储系统的存储系统群及其管理方法
US20120239882A1 (en) * 2011-03-18 2012-09-20 Fujitsu Limited Control apparatus and method, and storage apparatus
CN103620543A (zh) * 2011-08-04 2014-03-05 株式会社日立制作所 使用用于动态地分配物理数据存储空间的方法的数据存储系统
US20130111171A1 (en) * 2011-10-31 2013-05-02 Hitachi, Ltd. Storage apparatus and data management method
WO2013168192A1 (en) * 2012-05-08 2013-11-14 Hitachi, Ltd. Storage apparatus and method for controlling storage apparatus
US20140032838A1 (en) * 2012-07-26 2014-01-30 Hitachi, Ltd. Computer system, data management apparatus, and data management method
WO2016092610A1 (ja) * 2014-12-08 2016-06-16 株式会社日立製作所 ストレージ装置及びそのデータバックアップ方法
WO2017109822A1 (ja) * 2015-12-21 2017-06-29 株式会社日立製作所 重複排除機能を有するストレージシステム

Also Published As

Publication number Publication date
JP7145902B2 (ja) 2022-10-03
US10969985B1 (en) 2021-04-06
US11543989B2 (en) 2023-01-03
CN113360082B (zh) 2024-06-04
US20210278989A1 (en) 2021-09-09
JP2021140402A (ja) 2021-09-16

Similar Documents

Publication Publication Date Title
CN113360082B (zh) 存储系统及其控制方法
US6912669B2 (en) Method and apparatus for maintaining cache coherency in a storage system
US10031703B1 (en) Extent-based tiering for virtual storage using full LUNs
US8060777B2 (en) Information system and I/O processing method
US7802131B2 (en) Information system and data transfer method
US8595453B2 (en) Information system and data transfer method of information system
US10191685B2 (en) Storage system, storage device, and data transfer method
US20100205479A1 (en) Information system, data transfer method and data protection method
JP6317524B2 (ja) ストレージシステム、計算機システム、およびストレージシステムの制御方法
US10140035B2 (en) Method for appropriately controlling duplicated volumes in virtual volume subsystems
US11740823B2 (en) Storage system and storage control method
JP2020047215A (ja) ストレージシステム及びストレージ制御方法
US9170750B2 (en) Storage apparatus and data copy control method
US11875060B2 (en) Replication techniques using a replication log
WO2018055686A1 (ja) 情報処理システム
US10846012B2 (en) Storage system for minimizing required storage capacity during remote volume replication pair duplication
WO2016084156A1 (ja) ストレージシステム
US20170286019A1 (en) Storage system and control method therefor
JP2020106999A (ja) ストレージシステムおよびストレージシステムのデータ管理方法
US20130080569A1 (en) Information processing apparatus and computer-readable recording medium having program stored thereon
WO2015132946A1 (ja) ストレージシステム及びストレージシステムの制御方法

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
GR01 Patent grant
GR01 Patent grant