CN103229134B - 存储设备及其控制方法 - Google Patents
存储设备及其控制方法 Download PDFInfo
- Publication number
- CN103229134B CN103229134B CN201080067146.8A CN201080067146A CN103229134B CN 103229134 B CN103229134 B CN 103229134B CN 201080067146 A CN201080067146 A CN 201080067146A CN 103229134 B CN103229134 B CN 103229134B
- Authority
- CN
- China
- Prior art keywords
- control information
- address
- distributed
- data
- user data
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Abstract
提出了对盘的读/写访问性能的改进。控制器管理第一卷格式LDEV,其中多个用于存储数据部的分布式用户数据区和多个用于存储控制信息部的分布式控制信息区当中的每个分布式用户数据区和每个分布式信息区是容量改变的目标。控制器也管理第二格式LDEV,第二格式LDEV包括多个组,每个组由一个分布式用户数据区和一个分布式控制信息区形成,并且其中每个组是实际存储区中扩展容量的单元。控制器将属于第一卷格式LDEV的数据部的数据地址转换为第二卷格式LDEV的数据部的数据地址,以便当接收到对于属于第一卷格式LDEV的数据部的访问请求时,执行针对数据部的输入/输出处理。
Description
技术领域
本发明涉及存储设备以及用于管理由存储装置构造的卷中的数据布局的方法。
背景技术
采用盘驱动器等作为存储装置的存储子系统或者存储设备是已知的。当控制存储装置的数据输入/输出处理时,对准磁盘头。
例如,根据专利文献1,由存储装置构造的卷包括一个或者多个轨道。在存储装置的实际存储区中,存在处于轨道顶部的控制信息部(归属地址,记录0)以及控制信息部之后的数据部(记录1、记录2、……)。如果主架构(MF)主控计算机向存储控制器发出读或写轨道的请求,则存储控制器根据读命令或写命令从盘中读轨道,读取轨道控制信息部(归属地址)的值、确认轨道位置信息并且在确认针对轨道已经正确地完成了磁头对准之后,执行对数据部的读或写访问。
引用列表
专利文献
专利文献1:美国专利号5506979
发明内容
技术问题
随着近年来在线商务交易的强劲增长,期望在对连接到网络的存储设备的读或写访问上的性能改进。在这种环境下,上述存储控制器通过略过确认轨道位置信息的处理而仅仅从盘中读取数据部和向盘中写入数据部,来加速读访问或写访问处理。
例如,当已经从主控计算机接收到针对轨道的读访问或写访问请求时,存储控制器省略用于确认在轨道头部对准磁盘头的处理已经正确执行的处理,而无需参考轨道中的控制信息值,没有必要将控制信息部从盘传送到存储控制器,由此使得能够实现更快速的读访问或写访问处理。
但是,正如在专利文献1中所公开的,即使只是从盘中读取数据部,采用卷数据布局也涉及存储控制器的处理开销,使得磁盘头跳过轨道头部中的控制信息部的位置而将磁盘头定位在数据部。
本发明的目的在于提供一种存储设备及其控制方法,使得能够改进盘的读/写访问性能。
问题的解决方案
为了达到上述目的,本发明包括一种控制器,该控制器管理在存储装置的存储区中构造的一个或者多个逻辑卷,其中所述控制器管理作为第一逻辑卷的可由访问请求源识别的卷,所述卷包括具有第一数据布局的存储区,在该存储区中,将其中放置数据部的多个第一数据区以及其中放置控制信息部的多个第一控制信息区并排对准放置,其中所述控制器管理作为第二逻辑卷的卷,所述卷包括多个组,每组由存储设备的实际存储区中的存储区形成,其包括具有第二数据布局的存储区,在该存储区中,每组是容量被改变的单元,并且该存储区包括对应于一个第一数据区的第二数据区以及对应于一个第一控制信息区的第二控制信息区,以及其中如果接收到用于访问属于任意一个第一数据区的数据部的访问请求,则在没有必要参考属于第一控制信息区的控制信息部的前提下,控制器根据访问请求,计算属于第一数据区的数据部的第一数据地址作为访问目的地,将计算的第一数据地址转换为属于任意一个所述组的第二数据区的数据部的第二数据地址,以及根据转换的第二数据地址,执行第二逻辑卷的数据输入/输出处理。
本发明的有益效果
利用本发明,当没有必要参考控制信息部时,可以改进对盘的读/写访问性能。
附图说明
图1是显示存储系统的整体配置的方框配置示意图。
图2是显示在存储控制器中执行的微程序的配置的配置示意图。
图3是显示存储设备中的逻辑配置的配置示意图。
图4是用于管理HDEV编号和LDEV编号之间的对应关系的管理表的配置示意图。
图5是用于管理LDEV编号、卷属性和卷容量之间的对应关系的管理表的配置示意图。
图6是用于管理LDEV编号和盘编号之间的对应关系的管理表的配置示意图。
图7是用于管理LDEV编号和池编号之间的对应关系的管理表的配置示意图。
图8是用于管理池编号和盘编号之间的对应关系的管理表的配置示意图。
图9是显示在3390格式LDEV的数据布局的配置示意图。
图10是显示在3390格式LDEV和实际存储区中的数据布局的配置示意图。
图11是用于管理分布式(distributed)用户数据区和分布式控制信息区的大小的管理表的配置示意图。
图12是用于管理分布式用户数据区和分布式控制信息区的地址的管理表的配置示意图。
图13是显示第一实施方式的地址转换处理的流程图。
图14是显示在3390-A格式LDEV中的数据布局的配置示意图。
图15是显示在柱面(cylinder)组中的配置的配置示意图。
图16是显示在3390格式LDEV上的地址与3390-A格式LDEV上的地址之间的对应关系的配置示意图。
图17是用于管理分布式用户数据区和分布式控制信息区的大小的管理表的配置示意图。
图18是用于管理分布式用户数据区和分布式控制信息区的地址的管理表的配置示意图。
图19是显示3390-A格式LDEV的容量扩展处理的流程图。
图20是显示遵从在3390格式LDEV上的地址和3390-A格式LDEV上的地址之间的容量扩展的对应关系的配置示意图。
图21是显示第二实施方式的地址转换处理的流程图。
图22是显示在第三实施方式中在HDEV和LDEV之间的关系的配置示意图。
图23是显示在第三实施方式中用于管理分布式用户数据区和分布式控制信息区的地址的管理表的配置示意图。
图24是显示第四实施方式的复制处理的流程图。
图25是页面管理表的配置示意图。
图26是页面管理目录的配置示意图。
图27是显示第五实施方式的MF主写命令处理的流程图。
图28是显示第六实施方式的复制数据接收处理的流程图。
具体实施方式
此后将说明本发明的示例。
请注意,在下面的说明中,使用例如管理表这样的表达来提供各种类型的信息,但是也可以使用除了表之外的数据结构来表达各种类型的信息。此外,为了显示不存在对数据结构的依赖关系,管理表可以被称为管理信息。
此外,在下面的说明中,有时可以利用程序作为主体来描述处理。但是,因为程序由例如CPU(中央处理单元)这样的处理器来运行,所以预定处理通过适当地使用存储资源(存储器等)和通信接口设备(通信端口等)来执行,因此,处理器也可以是处理的主体。处理器也可以包括除了CPU之外的专用硬件。计算机程序可以从程序源安装到每个计算机上。程序源可以是存储介质或者程序分发服务器等等。
此外,例如,诸如LDEV(逻辑器件)的每个部件可以通过编号等来标识。但是,也可以采用其他类型的标识信息,例如名称,只要该信息允许部件被标识即可。
此后,将使用附图来说明本发明的实施方式。在下面的附图中,相同的参考标记被分配给相同的部分。但是,本发明并不局限于这些实施方式,而是符合本发明精神的所有应用均被包括在本发明的技术范围内。此外,除非特别限定,每个部件可以被包括作为单个部件或者多个部件。
<存储系统的整体配置>
图1显示了存储系统的整体配置。
在图1中,存储系统包括计算机系统,该计算机系统包括例如多个存储设备101、多个主框架(MF)主控计算机102、以及管理主控计算机103。
每个存储设备101和MF主控计算机102例如经由网络111连接,并且多个存储设备中的一个存储设备(此后有时也称为第一存储设备)101经由网络113等连接到管理主控计算机103。
第一存储设备101经由网络111等连接到不同的存储设备(此后有时也称为第二存储设备)。
每个MF主控计算机102经由通信线114连接到网络111。
每个存储设备101经由通信线115连接到网络111。
管理主控计算机103经由通信线116连接到网络113。
第一存储设备101经由通信线117连接到网络113。
请注意,上述通信线114到117包括固定线,例如金属线缆或者光纤电缆等等。但是,每个MF主控计算机102和存储设备101、第一存储设备101和管理计算机103、以及每个MF主控计算机102和管理计算机103各自也可以无线连接。在这种情况下,省略了通信线114到117。
此外,网络111和113也可以是公用网络。网络111和113各自是例如SAN(存储区域网络)或者LAN(局域网)等等的通信网络。
接下来,将说明每个存储设备101的配置。
每个存储设备101包括例如一个或者多个存储控制器131以及一个或者多个盘132。请注意,每个存储设备101具有相同的配置,因此此后将说明第一存储设备101的配置。
作为用于存储数据的存储设备,一个或者多个盘132至少包括SSD(固态驱动器)、SAS(串行连接SCSI)-HDD(硬盘驱动器)、或者SATA(串行高级技术附件)-HDD。请注意,除了至少一个上述盘132或者作为其替代,还可以提供其他类型的物理存储器件。
一个或者多个盘132经由例如光纤信道线缆等的通信线112连接到存储控制器131。请注意,可以由多个盘132构造一个或者多个RAID(独立冗余磁盘阵列)组。
接下来,将说明存储控制器131的配置。
存储控制器131根据从每个MF主控计算机102接收的命令来控制盘132的数据输入/输出处理,即,控制盘132的数据写(写入)或读(读取)。
存储控制器131向作为访问请求源的每个MF主控计算机102提供已经为其分配了实际存储区的逻辑设备,或者提供包括由自动精简配置(ThinProvisioning)功能(后面将被说明)所使用的虚拟存储区的逻辑设备,作为访问目标的逻辑设备或者逻辑卷。
在由虚拟存储区构造的逻辑设备中,实际存储区可能已被或者可能还未被分配给它们。
在这点上,存储控制器131能够借助于柱面头编号(此后称为轨道编号)等来参考或者识别实际存储区或者虚拟存储区。
存储控制器131包括存储资源、通信接口设备(接口设备此后被缩写为I/F)、以及连接到存储资源和通信接口设备的CPU122等等。
存储资源是主存储器123和缓存存储器124等等。
主控I/F121、管理主控I/F127和盘I/F125作为通信I/F等等被包括。主存储器123、缓存存储器124、CPU122、主控I/F121、管理主控I/F127和盘I/F125经由网络126相互连接,网络126包括例如总线的通信线。管理主控I/F127是NIC(网络接口卡)等等。
每个MF主控计算机102和管理主控计算机103的硬件配置通常与计算机是相同的。即,每个MF主控计算机102和管理主控计算机103包括通信接口设备、存储资源、和连接到通信接口设备和存储资源的CPU。通信接口设备例如是用于经由网络111进行通信的主控总线适配器(HBA)以及用于经由网络113进行通信的NIC。存储资源包括存储器和内部HDD等等。
图2显示了在存储控制器131中执行的微程序231的配置。
在图2中,一个或者多个微程序231由CPU122读入主存储器123。微程序231包括命令控制器251、RAID控制器252、配置控制器253、以及地址转换单元254。作为CPU122执行读入到主存储器123中的微程序231中的控制器251到254的每个的结果,执行随后将要描述的各种处理。
例如,缓存存储器124被布置成缓冲器,该缓冲器临时存储从每个MF主控计算机102接收的写数据以及由微程序231中的RAID控制器252从盘132中读取的数据。
主控I/F121经由网络111连接到每个MF主控计算机102,从每个MF主控计算机102接收访问命令作为访问请求(写命令或者读命令),并且将接收的访问命令传送到命令控制器251。
管理主控I/F127经由网络113连接到管理主控计算机103,并且如果从管理主控计算机103接收到例如用于执行LDEV容量扩展(随后将描述)的指令或者LDEV间数据复制的指令,则管理主控I/F127将接收的指令传送到命令控制器251或者配置控制器253。
盘I/F125在每个盘132和存储资源(主存储器123和缓存存储器124)之间发送和接收数据。盘I/F125经由通信信道112连接到每个盘132。
接下来,将以简单的术语来说明存储设备101的基本操作。
当经由主控I/F121从任何一个MF主控计算机102接收到写命令时,存储控制器131将从MF主控计算机102接收到的写数据存储在缓存存储器124中。
存储控制器131经由盘I/F125将缓存存储器124中存储的写数据写入到盘132中。此外,配置可以是使得存储控制器131在写数据被存储在缓存存储器124时向MF主控计算机102通知写命令处理完成,或者在写数据被写入盘132时向MF主控计算机102通知写命令处理完成。
当从MF主控计算机102接收到读命令时,存储控制器131确认由读命令中的参数指定的数据(读目标数据)是否被存储在缓存存储器124中。
如果读目标数据被存储在缓存存储器124中,则存储控制器131从缓存存储器124读取读目标数据,并且经由主控I/F121向MF主控计算机102传送这样读取的读目标数据。另一方面,如果读目标数据没有被存储在缓存存储器124中,则存储控制器131经由盘I/F125从一个或者多个盘132读取读目标数据,并将这样读取的读目标数据存储到缓存存储器124中。此后,存储控制器131经由盘I/F121将存储在缓存存储器124中的读目标数据传送到MF主控计算机102。
<存储设备的逻辑配置>
图3显示了存储设备101中的逻辑配置。
在图3中,存储设备101包括一个或者多个主控逻辑设备(此后有时称为HDEV),作为包括由每个MF主控计算机102和管理主控计算机103所参考的存储区的主控逻辑设备。
将唯一HDEV编号分配给存储设备101中的HDEV321,并且MF主控计算机102和管理主控计算机103等根据HDEV编号来识别HDEV321。例如,每个MF主控计算机102上的OS331执行对HDEV321的读访问或者写访问。
HDEV321包括轨道(轨道1、轨道2、……)的集合组,并且当MF主控计算机102和管理主控计算机103识别每个轨道时,分配给每个轨道的柱面头编号(轨道编号)是参考目标。
一个或者多个逻辑设备(此后有时称为LDEV或者卷)322与HDEV321相关联。
将唯一LDEV编号分配给存储设备101中的LDEV322,并且微程序231根据LDEV编号来识别LDEV322。
LDEV322被定义为一个或者多个盘132中的存储区,等等。此外,LDEV322也可以被定义为由多个RAID组构造的存储区。
LDEV322包括与轨道对应的多个控制信息部326和多个数据部325。每个数据部325包括与轨道(轨道编号)对应的一个或者多个记录(未示出),每个记录存储由MF主控计算机102读取和写入的数据。控制信息部326包括用于访问每个轨道的数据部325的控制信息或者用于参考或者更新每个轨道的数据部325的控制信息。
在此,存储设备101中的所有轨道的大小是固定值。存储设备101中的所有数据部325和所有控制信息326的大小是固定值。
将唯一盘编号分配给存储设备101中的盘132,并且微程序231根据盘编号来识别每个盘132。
此外,LDEV322可以被保存在由自动精简配置功能(后面将被说明)所使用的虚拟卷中。
保存LDEV322的数据的虚拟卷与向虚拟卷提供实际存储区的池323相关联。
将唯一池编号分配给存储设备101中的池323,并且微程序231根据池编号来识别池323。
池323包括一个或者多个盘132。池323也可以包括一个或者多个RAID组。一个或者多个盘132可以安装在存储设备的内部或者外部。
图4显示了用于管理HDEV编号和LDEV编号之间的对应关系的管理表400的配置。
管理表400包括HDEV编号字段401和LDEV编号字段402。HDEV编号是用于唯一标识存储设备101中的HDEV321的编号,并且HDEV编号字段401中的每项存储对应于HDEV321的编号。LDEV编号是用于唯一标识存储设备101中的LDEV322的编号,并且LDEV编号字段402中的每项存储对应于LDEV322的编号。
图5显示了用于管理LDEV编号和卷属性之间的对应关系的管理表500的配置。
管理表500包括LDEV编号字段501、卷属性字段502和卷容量字段503。LDEV编号是用于唯一标识存储设备101中的LDEV322的编号,并且LDEV编号字段501中的每项存储对应于LDEV322的编号。在涉及卷属性时,LDEV322的卷属性指定卷是标准卷还是虚拟卷,并且卷属性字段502的每项存储标准卷或者虚拟卷的名称。
当LDEV322的卷属性是标准卷时,这指示LDEV322是包括一个或者多个盘132中的实际存储区的卷。
卷容量是可以存储在标准卷或者虚拟卷中的数据的最大容量,并且卷容量字段503的每项存储标准卷或者虚拟卷的容量的数字值。
图6显示了用于管理LDEV编号和盘编号之间的对应关系的管理表600的配置。
管理表600是用于LDEV322的卷属性是标准卷时的管理表,并且包括LDEV编号字段601和盘编号字段602。LDEV编号是用于唯一标识存储设备101中的LDEV322的编号,并且LDEV编号字段601中的每项存储对应于LDEV322的编号。盘编号是用于唯一标识存储设备101中的盘132的编号,并且盘编号字段602中的每项存储LDEV322包括的盘132的编号。
图7显示了用于管理LDEV编号和池编号之间的对应关系的管理表700的配置。
管理表700是用于当LDEV322的卷属性是虚拟卷时的管理表,并且包括LDEV编号字段701和池编号字段702。LDEV编号是用于唯一标识存储设备101中的LDEV322的编号,并且LDEV编号字段701中的每项存储对应于LDEV322的编号。池编号是用于唯一标识存储设备101中的池323的编号,并且池编号字段702中的每项存储对应于LDEV322的池323的编号。
图8显示了用于管理池编号和盘编号之间的对应关系的管理表800的配置。
管理表800是用于当LDEV322的卷属性是虚拟卷时的管理表,并且包括池编号字段801和盘编号字段802。池编号是用于唯一标识存储设备101中的池323的编号,并且池编号字段801中的每项存储对应于池323的编号。盘编号是用于唯一标识存储设备101中的盘132的编号,并且盘编号字段602中的每项存储对应于已经从其向池323分配了实际存储区的盘132的编号。
实施方式1
此实施方式被配置为使得数据部和控制信息部被存储在不同的区,并且只要从盘中读/写数据部,存储控制器就能够将磁盘头直接定位在数据部,而不必进行跳过控制信息部的位置的处理。
在此,用户数据区和控制信息区被管理作为容量改变的目标存储区,例如,当扩展或减小容量时的存储区,其中数据部被放置在用户数据区,而控制信息区是与用户数据区接续布置的存储区并且在其中布置控制信息部,以及作为该存储区,在其中用户数据区和控制信息区并排设置(第一数据布局)的卷(LDEV)被管理作为3390格式的卷。
<3390格式LDEV332中的数据布局>
图9显示了HDEV321所包括的3390格式LDEV322中的数据布局。
在图9中,LDEV322的存储区901包括用户数据区902和控制信息区903。用户数据区902包括用于存储多个数据部(包括一个或者多个对应于轨道的记录)的第一数据区,以及控制信息区903与用户数据区902接续并包括用于存储控制信息部326的第一控制信息区,控制信息部326包括用于访问存储在用户数据区902中的每个数据部325的控制信息。在此,存储控制器131以第一卷格式(此后也称为3390格式)管理LDEV322,在该第一卷格式中,第一数据布局涉及存储区901的数据布局,其中控制信息区903与用户数据区902接续放置。微程序231通过轨道编号来识别每个轨道中的数据部325,以及通过轨道编号来识别每个轨道中的控制信息部326。
3390格式LDEV322使得随着在HDEV321中的轨道数目的增加,用户数据区902和控制信息区903中的轨道编号也增加。即,在3390格式LDEV322中,使得HDEV321中轨道数目随着容量扩展而增加,用户数据区902和控制信息区903中的轨道编号也随着HDEV321的轨道数目的增加而增加。
对于3390格式LDEV322的数据布局,控制信息区903也可以放置在用户数据区902之前。
<针对3390格式LDEV332的写命令和读命令的示例>
此后,针对MF主控计算机102经由主控I/F121向存储控制器131发出写命令的情况来描述处理。写命令参数是HDEV编号、HDEV321中写目标轨道的轨道编号、以及写目标数据。
如果从MF主控计算机102接收到写命令,则存储控制器131中的命令控制器251根据作为写命令参数的HDEV编号来参考(referto)管理表400,并且获取对应于HDEV编号的LDEV编号。
命令控制器251根据获取的LDEV编号来指定LDEV322,并且根据写目标轨道的轨道编号来计算LDEV322上的指定轨道编号(与HDEV321中的写目标轨道的轨道编号相同的轨道编号)的数据部325的地址以及LDEV322上的指定轨道编号(与HDEV321中的写目标轨道的轨道编号相同的轨道编号)的控制信息部326的地址。
此后,命令控制器251确定上述写命令是否必须参考该轨道编号的控制信息部326。如果必须参考该轨道编号的控制信息部326,例如在作为参考控制信息部326的结果,MF主控计算机102请求发送回与磁头相对于轨道的对准状态有关的信息的情况下,RAID控制器252基于LDEV编号来参考管理表600,并且根据控制信息部326的地址,将该轨道编号的控制信息部326从一个或者多个盘132读取到缓存存储器124。命令控制器251参考读取到缓存存储器124中的轨道编号的控制信息部326。
如果命令控制器251不需要参考轨道编号的控制信息部326,则可以省略控制信息部326的读取处理。
即,如果数据部325和控制信息部326被存储在不同的区,并且存储数据部325的轨道的大小具有配置的值,则命令控制器251直接在盘侧将磁盘头定位在数据部325处,而无需参考控制信息部326的控制信息。在这种情况下,在磁盘头对准中,不必进行跳过控制信息部326的区的处理,并且与参考控制信息部326相比,存储控制器131能够执行更快的读访问或写访问处理。
此后,命令控制器251将写目标数据写入缓存存储器124。
RAID控制器252随后根据LDEV编号来参考管理表600、获取对应于LDEV编号的盘编号、指定包括LDEV322的盘132、并且根据数据部325的地址将缓存存储器124中的写目标数据写入一个或者多个指定的盘132。即,如果3390格式数据布局与实际存储区中的数据布局是相同的,则RAID控制器252能够通过使用基于命令控制器251的计算结果的地址,来将缓存存储器124中的写目标数据写入到一个或者多个指定盘132中,而无需使用地址转换单元254在地址转换中获得的地址。
此后,存储控制器131经由主控I/F121向MF主控计算机102通知写命令处理完成。
以上描述了针对MF主控计算机102经由主控I/F121向存储控制器131发出写命令的情况的处理。
此后描述针对MF主控计算机102经由主控I/F121向存储控制器131发出读命令的情况的处理。读命令参数是HDEV编号和HDEV321中的读目标轨道的轨道编号。
如果从MF主控计算机102接收到读命令,则存储控制器131中的命令控制器251根据作为读命令参数的HDEV编号来参考管理表400,并且获取对应于HDEV编号的LDEV编号。
命令控制器251根据获取的LDEV编号来指定LDEV322,并且根据读目标轨道的轨道编号(与HDEV321中的读目标轨道的轨道编号相同的轨道编号)来计算LDEV322上指定轨道编号的数据部325的地址以及读目标轨道上的轨道编号的控制信息部326的地址(与HDEV321中的读目标轨道的轨道编号相同的轨道编号)。
此后,命令控制器251确定上述读命令是否必须参考该轨道编号的控制信息部326。如果必须参考该轨道编号的控制信息部326,则RAID控制器252根据LDEV编号来参考管理表600,并且根据控制信息部326的地址,将轨道编号的控制信息部326从一个或者多个盘132读取到缓存存储器124。命令控制器251参考读取到缓存存储器124中的轨道编号的控制信息部326。如果不需要参考轨道编号942的控制信息部326,则可以省略控制信息部326的读处理。
RAID控制器252随后根据LDEV编号来参考管理表600、获取对应于LDEV编号的盘编号、指定盘132、并且根据数据部325的地址将读目标轨道的轨道编号的数据部从一个或者多个指定的盘132读取到缓存存储器124中。
此后,存储控制器131经由主控I/F121向MF主控计算机102发送缓存存储器124中的具有读目标轨道的轨道编号的数据部325。
以上描述了针对MF主控计算机102经由主控I/F121向存储控制器131发出读命令的情况的处理。
在响应于读命令的处理中,如果读目标轨道的轨道编号的数据部325或者控制信息部326已经存在于缓存存储器124中,则可以省略将读目标轨道的轨道编号的数据部325或控制信息部326从一个或者多个盘132读取到缓存存储器124的处理。
另外,在响应于读命令的处理中,因为磁盘头可以直接对准到数据部325处而无需命令控制器251参考控制信息部326的控制信息,所以存储控制器131能够加速读访问或者写访问处理,这是因为当不参考控制信息部326时不必进行跳过控制信息部326的处理。
<3390格式LDEV322的容量扩展>
图10显示了当在3390格式LDEV322上执行容量扩展时的示例。
如果需要改变3390格式LDEV322的容量,例如,如果需要扩展如图9所示的3390格式LDEV322的容量,则可以利用作为3390格式卷的访问目标卷和命令控制器251来识别访问请求源,以及采用这样的数据布局,其中控制信息区被形成为与用户数据区接续,使得即使在容量扩展之后,命令控制器251也能够访问作为3390格式LDEV322的LDEV322。
更具体地,在容量扩展之后的3390格式LDEV322的存储区910包括分布式用户数据区1001和1002以及分布式控制信息区1011和1012。
换句话说,在容量扩展之前的LDEV322的存储区包括分布式用户数据区1001和分布式控制信息区1011,以及如果分布式用户数据区1002和分布式控制信息区1012被添加到存储区,则执行数据布局(根据3390格式的数据布局),使得分布式用户数据区1002被放置为与分布式用户数据区1001接续而作为新确保(secure)的用户数据区1002,分布式控制信息区1011被放置为与分布式用户数据区1002接续,并且分布式控制信息区1012被放置为与分布式控制信息区1011接续而作为新确保的存储区,以及将存储区910作为整体,控制信息区被形成为与用户数据区接续。
但是,由分布式用户数据区1001、分布式控制信息区1011、分布式用户数据区1002和分布式控制信息区1012依此顺序形成构造在盘132上的实际存储区920。
换句话说,在容量扩展之前的实际存储区的存储区包括分布式用户数据区1001和分布式控制信息区1011,以及如果分布式用户数据区1002和分布式控制信息区1012被添加到存储区,则执行数据布局,使得作为新确保的存储区的分布式用户数据区1002被放置为与分布式控制信息区1011接续,并且作为新确保的存储区的分布式控制信息区1012被放置为与分布式用户数据区1002接续。
在此,如果微程序231中的配置控制器253经由管理主控I/F127从管理主控计算机103接收到容量扩展指令,则新确保的实际存储区被形成为与分布式控制信息区1011接续的实际存储区,并且分布式用户数据区1002和分布式控制信息区1012被与实际存储区接续地放置。
分布式用户数据区1001和1002以及分布式控制信息区1011和1012可以与图9中的存储区901中的用户数据区902和控制信息区903具有相同的配置。
包括两个区(即分布式用户数据区1001和分布式控制信息区1011)的实际存储区的数据布局是3390格式的数据布局,以及包括两个区(即分布式用户数据区1002和分布式控制信息区1012)的实际存储区的数据布局是3390格式的数据布局。即,在实际存储区920中存在两类3390格式的数据布局。
由在管理主控计算机103的管理屏幕上指定的扩展容量来确定分布式用户数据区1002的大小,并且该大小是上述轨道大小的整数倍,等等。
分布式用户数据区1001的大小和分布式控制信息区1011的大小之间的比值等于分布式用户数据区1002的大小和分布式控制信息区1012的大小之间的比值。
此外,由存储区910中放置的分布式用户数据区1002中的地址1021指示的数据部325的轨道编号等于实际存储区920中放置的分布式用户数据区1002中的地址1022指示的数据部325的轨道编号。
在图10中,数据依序被放置在容量扩展之后的实际存储区920中,即,分布式用户数据区1001、分布式控制信息区1011、分布式用户数据区1002和分布式控制信息区1012(此后数据布局有时将被称为实际存储区中的数据布局。)。
在命令控制器251参考的存储区910的数据布局不同于实际存储区920的数据布局的情况下,由存储区910中的轨道编号的数据部325所指示的地址(此后也称为数据地址)1021(其是3390格式数据布局)以及由实际存储区920中的轨道编号的数据部325所指示的地址(此后有时也称为数据地址)1022(其是实际存储区中的数据布局)在每个分布式用户数据区1002中具有不同的地址,尽管具有相同的轨道编号。因此,在微程序231中的地址转换单元254执行地址转换,用于例如将指示存储区910的分布式用户数据区1002中的轨道编号的数据部325的地址1021转换为指示实际存储区920中的轨道编号的数据部325的地址1022。
类似地,微程序231中的地址转换单元254执行地址转换,用于将指示3390格式数据布局的存储区910中的轨道编号的控制信息部326的地址(此后有时也称为控制信息地址)转换为指示实际存储区920的轨道编号的控制信息部326的地址(此后有时也称为控制信息地址),其中实际存储区920是实际存储区的数据布局。
即使在LDEV322的容量扩展之后,命令控制器251也能够通过使用由地址转换单元254经地址转换而获得的地址来访问根据实际存储区中的数据布局的卷,作为3390格式卷。
<3390格式数据布局中的地址1021和实际存储区中的数据布局中的地址1022的地址转换处理>
图11显示了用于管理分布式用户数据区和分布式控制信息区的大小的管理表1100的配置。
在图11中,管理表1100是存储在主存储器123或者缓存存储器124中的表,该表包括i字段1101、分布式用户数据区i的大小字段1102、以及分布式控制信息区i的大小字段1103。标识分布式用户数据区和分布式控制信息区的编号被存储在i字段1101的每项中。例如,分布式用户数据区1001和1002的大小被作为数字值(150、100)存储在分布式用户数据区i的大小字段1102的每项中。例如,分布式控制信息区1011和1012的大小也被作为数字值(15、10)存储在分布式控制信息区i的大小字段1103的每项中。
每次执行上述3390格式卷的容量扩展时,将与分布式用户数据区和分布式控制信息区的大小相关的信息添加到管理表1100的各项中。
图11中的管理表1100的每项中的分布式用户数据区的大小和分布式控制信息区的大小是不固定的。但是,管理表1100的每项中的分布式用户数据区的大小和分布式控制信息区的大小之间的比值是恒定的。
图12显示了用于管理分布式用户数据区和分布式控制信息区的地址的管理表1200的配置。
在图12中,管理表1200包括i字段1201、分布式用户数据区i的开始地址字段(3390格式)1202、分布式用户数据区i的开始地址字段(实际存储区中的数据布局)1203、分布式控制信息区i的开始地址字段1204、以及分布式控制信息区i的开始地址字段(实际存储区中的数据布局)1205,并且管理表1200被存储在主存储器123或者缓存存储器124中,等等。
标识分布式用户数据区和分布式控制信息区的编号被存储在i字段1201的每项中。存储区910中的分布式用户数据区1001和1002的开始地址例如作为数字值(0,150)被存储在分布式用户数据区i的开始地址字段1202的每项中。在实际存储区920中的分布式用户数据区1001和1002的开始地址例如作为数字值(0,165)被存储在分布式用户数据区i的开始字段1203的每项中。
存储区910中的分布式控制信息区1011和1012的开始地址例如作为数字值(250,265)被例如存储在分布式控制信息区i的开始地址字段1204的每项中。在实际存储区920中的分布式控制信息区1011和1012的开始地址例如作为数字值(150,165)被例如存储在分布式控制信息区i的开始字段1205的每项中。
每次执行上述3390格式卷的容量扩展时,将与分布式用户数据区和分布式控制信息区的开始地址相关的信息添加到管理表1200的各项中。
接下来,将根据图13的流程图,来说明用于从指示上述3390格式数据布局中的轨道编号的数据部325的地址来计算实际存储区920中的数据布局中的轨道编号的数据部325的地址的处理。
首先,微程序231中的地址转换单元254将i设定为0(S11),以及参考管理表1100和1200,以获取与3390格式中第0个(第i个)分布式用户数据区的开始地址和大小相关的信息(S12),以及然后例如确定存储区910中的分布式用户数据区1002中的地址1021是否包括在第0个(第i个)分布式用户数据区中(S13),以及在步骤S13获得否定确定结果时,地址转换单元254递增i(例如设定i为1)(S14),以及重复S12到S14的处理,直到在步骤S13中获得肯定的确定结果。
如果在步骤S13获得肯定的确定结果,例如如果在存储区910中的分布式用户数据区1002中的地址1021被包含在第二分布式用户数据区1002中,则地址转换单元254计算其中包含地址1021的分布式用户数据区1002的编号(2),以及基于存储在管理表1100中的每个分布式用户数据区和分布式控制信息区的大小、存储在管理表1200中的每个分布式用户数据区和分布式控制信息区的地址、以及指示具有在3390格式数据布局中的轨道编号的数据部325的地址1021,来计算从分布式用户数据区1002到地址1021的偏移地址(S15)。
地址转换单元254随后根据分布式用户数据区和分布式控制信息区的地址、分布式用户数据区1002的编号(2),来参考管理表1200,并获取由分布式用户数据区1002的编号(2)所指示的分布式用户数据区1002的开始地址(实际存储区920中的分布式用户数据区1002的开始地址)(S16)。
最后,地址转换单元254根据实际存储区920中的分布式用户数据区1002的开始地址以及从存储区910中的开始地址到地址1021的偏移地址,来计算指示实际存储区920中的该轨道编号的数据部325的地址1022(S17)。
通过执行上述处理,地址转换单元254能够将指示3390格式数据布局中的轨道编号的数据部325的地址1021转换为指示实际存储区920中的数据布局中的轨道编号的数据部325的地址1022。
此外,通过执行与将地址1021转换为地址1022的处理相同的处理,地址转换单元254能够从指示3390格式数据布局中的轨道编号1031的控制信息部326的地址来计算指示实际存储区920中的该轨道编号的控制信息部326的地址。
根据该实施方式,通过跳过轨道的控制信息部326,减少了用于将磁盘头与数据部325对准的处理的开销,并且因此存储控制器131能够改进盘的读访问或写访问性能,优于当参考轨道控制信息部326时的性能。
此外,根据该实施方式,即使扩展了3390格式存储区910的容量,也可以将指示3390格式数据布局中的轨道编号的数据部325的地址1021转换为指示实际存储区920中的数据布局的该轨道编号的数据部325的地址1022,以及可以将指示3390格式数据布局中的轨道编号的控制信息部326的地址转换为指示实际存储区920中的该轨道编号的控制信息部326的地址。
甚至在作为3390格式数据布局的LDEV322的容量扩展之后,命令控制器251也能够通过使用由地址转换单元254经地址转换而获得的地址来访问根据实际存储区中的数据布局的卷,作为3390格式卷。
实施方式2
该实施方式从一个分布式用户数据区(第二数据区)和一个分布式控制信息区来创建一个柱面组(cylindergroup:CG),将多个柱面组成组(group)在一起,并且作为容量扩展单元存储区来管理柱面组,以及作为存储区,管理卷,对于所述卷采用以下数据布局(第二数据布局),其中多个柱面组形成一行(line),作为第二卷格式(此后也称为3390-A格式)卷(LDEV322),并且将与3390格式卷相关的地址转换为与3390-A格式卷相关的地址。
<3390-A格式LDEV322的数据布局>
图14显示了在3390-A格式LDEV322中的数据布局。
在图14中,LDEV322的实际存储区930包括柱面组(CG)1421和柱面组(CG)1422,柱面组1421包括分布式用户数据区1401和与分布式用户数据区1401接续放置的分布式控制信息区1411,并且柱面组1422包括分布式用户数据区1402和与分布式用户数据区1402接续放置的分布式控制信息区1412。分布式用户数据区1401和1402各自具有相同的大小,并且分布式控制信息区1411和1412也具有相同的大小。即,柱面组(CG)1411和1422各自包括相同的大小,并且柱面组的容量是容量扩展的单位。
在此,存储控制器131例如管理第二卷格式(此后也称为3390-A格式)的LDEV322,其中第二数据布局涉及实际存储区930的数据布局,在该数据布局中,分布式控制信息区(第二控制信息区)1411与分布式用户数据区(第二数据区)1401接续放置,这些存储区形成柱面组(CG)1421。
3390-A格式LDEV322包括的一个或多个CG1421也可以通过他们的CG编号被参考。LDEV322包括的一个或者多个分布式用户数据区1401也可以通过分布式用户数据区的编号(随后说明)被参考。LDEV322包括的一个或者多个分布式控制信息区1411也可以通过分布式控制信息区的编号(随后说明)被参考。
图15显示了在柱面组1421中的配置。
柱面组(CG)1421包括分布式用户数据区1401和分布式控制信息区1411。分布式用户数据区1401包括用于存储多个(D)数据部的第二数据区(包括对应于轨道1到D的一个或者多个记录)325。
分布式控制信息区1411与分布式用户数据区1401接续放置,并且包括多个(D)控制信息部326、多个记录存在信息部327、存储功能管理信息328和第二控制信息区,其中控制信息部326包括用于访问存储在分布式用户数据区1401中的每个数据部325的控制信息,记录存在信息部327包括指示记录是否存在于每个数据部325的每个轨道中的记录存在信息,存储控制器131利用存储功能管理信息328来管理LDEV322,并且在第二控制信息区中存储控制器131存储扩展模式确定信息329,用于确定是否存在用于扩展柱面组的模式。
在此,微程序231通过轨道编号识别每个轨道中的数据部325,以及通过轨道编号来识别每个轨道中的控制信息部326。
控制信息部326和记录存在信息部327也可以包括位图,等等。在每个轨道的数据部325中保存一个或多个记录。记录是来自MF主控计算机102等的写数据等等。
此外,在每个柱面组1421和1422中,分布式用户数据区1401和1402中的轨道的数据部325的编号(D)、分布式控制信息区1411和1412中的轨道的控制信息部326的编号(D)以及分布式控制信息区1411和1412中的轨道的记录存在信息部327的编号(D)是相等的。
图16显示了在3390格式LDEV322中的地址与3390-A格式LDEV322中的地址之间的对应关系。
在图16中,3390格式LDEV322的存储区910包括分布式用户数据区1401、1402和1403以及分布式控制信息区1411、1412和1413,并且3390-A格式LDEV的实际存储区930包括柱面组1421、柱面组1422和柱面组1423,其中柱面组1421包括分布式用户数据区1401和分布式控制信息区1411,柱面组1422包括分布式用户数据区1402和分布式控制信息区1412,并且柱面组1423包括分布式用户数据区1403和分布式控制信息区1413。
3390格式卷数据布局的顺序是分布式用户数据区1401、分布式用户数据区1402、分布式用户数据区1403、分布式控制信息区1411、分布式控制信息区1412和分布式控制信息区1413,以及3390-A格式卷数据布局的顺序是柱面组1421、柱面组1422和柱面组1423。
在针对3390格式卷数据布局和3390-A格式数据布局采用不同结构的情况中,指示具有存储区910中的轨道编号的数据部325的地址(其是3390格式数据布局)和指示具有实际存储区930中的轨道编号的数据部325的地址(其是3390-A数据布局)在每个分布式用户数据区和每个分布式控制信息区具有不同的地址值,尽管具有相同的轨道编号。因此,在微程序231中的地址转换单元254执行地址转换,用于例如将指示在存储区910的分布式用户数据区1403中的轨道编号的数据部325的地址1031转换为指示实际存储区930中的轨道编号的数据部325的地址1032。
类似地,在微程序231中的地址转换单元254执行地址转换,用于将指示在3390格式数据布局中的存储区910的轨道编号的控制信息部326的地址转换为指示作为3390-A格式数据布局的实际存储区930的轨道编号的控制信息部326的地址。
命令控制器251通过使用由地址转换单元254经地址转换而获得的地址能够访问实际存储区中根据3390-A格式数据布局的LDEV322,作为3390格式LDEV322。即,尽管访问3390格式数据布局的LDEV322,但作为地址转换单元254将3390格式数据布局的LDEV322中的地址转换为根据3390-A格式数据布局的LDEV322的地址的结果,命令控制器251能够访问实际存储区中的数据部325。
<3390-A格式LDEV322的容量扩展>
图17显示了用于管理分布式用户数据区和分布式控制信息区的大小的管理表1700的配置。
在图17中,管理表1700是用于管理3390-A格式LDEV322的表,表1700包括分布式用户数据区长度字段1701和分布式控制信息区长度字段1702,并且表1700被存储在主存储器123或者缓存存储器124等中。分布式用户数据区长度字段1701的各项存储作为数字值的信息,其指示各个分布式用户数据区的公共长度。分布式控制信息区长度字段1702的各项存储作为数字值的信息,其指示各个分布式控制信息区的公共长度。
图18显示了用于管理分布式用户数据区和分布式控制信息区的地址的管理表1800的配置。
在图18中,管理表1800包括i字段1801、分布式用户数据区i(3390格式)的开始地址字段1802、分布式用户数据区i(3390-A格式数据布局)的开始地址字段1803、分布式控制信息区i的开始地址字段1804、以及分布式控制信息区i(3390-A格式数据布局)的开始地址字段1805,并且管理表1800被存储在主存储器123或者缓存存储器124等中。
标识分布式用户数据区和分布式控制信息区的编号被存储在i字段1201的每项中。存储区910中的分布式用户数据区1401和1002的开始地址被例如作为数字值(0、100)存储在分布式用户数据区i的开始地址字段1802的每项中。实际存储区930的分布式用户数据区1401和1402的开始地址被例如作为数字值(0、150)存储在分布式用户数据区i的开始地址字段1803的每项中。
存储区910中的分布式控制信息区1411和1412的开始地址被例如作为数字值(500、550)存储在分布式控制信息区i的开始地址字段1804的每项中。实际存储区930的分布式控制信息区1411和1412的开始地址被例如作为数字值(100、250)存储在分布式控制信息区i的开始地址字段1805的每项中。
每次执行3390格式卷容量扩展时,将与每一个分布式用户数据区和分布式控制信息区的开始地址相关的信息添加到管理表1800的各项中。
接下来,将参考图19的流程图,来说明3390-A格式LDEV322的容量扩展处理。
当管理主控计算机103经由管理主控I/F127向配置控制器253发出针对LDEV322的容量扩展指令时,配置控制器253参考管理表1700,并且获取分布式用户数据区的大小(100)和分布式控制信息区的大小(50)(S21)。
接下来,配置控制器253检查由管理主控计算机103指定的扩展容量是否是所获取的分布式用户数据区的大小(100)的整数倍(S22)。
如果经由管理屏幕指定的扩展容量不是分布式用户数据区的大小(100)的整数倍,则配置控制器253经由管理主控I/F127向管理主控计算机103通知LDEV322的容量扩展已经失败,并且结束容量扩展处理。
但是,如果扩展容量是分布式用户数据区的大小(100)的整数倍,则配置控制器253呈现一个商数作为扩展柱面组的编号,该商数是通过扩展容量除以分布式用户数据区的大小(100)得到的,并且将该商数保存在主存储器123中。
此后,配置控制器253确保存储区(此后也称为扩展CG区),其中可以根据扩展柱面组的编号来保存柱面组(CG)(S23)。在这种情况下,在容量扩展中,确保的扩展CG区的大小是作为扩展前区容量单元的CG的大小的整数倍。
配置控制器253随后确定是否已经成功确保对应于用于扩展的容量的CG区(S24),并且如果扩展CG区失败,则配置控制器253经由管理主控I/F127向管理主控计算机103通知LDEV322的容量扩展失败,并且结束容量扩展处理。
如果扩展CG区的确保是成功的,则配置控制器253将改变的大小配置到卷管理信息中的卷容量(S25),经由主控I/F121向MF主控计算机102通知容量已经改变,以及已成功进行容量扩展,并且结束该例程的处理。
请注意,可以或也可以不预先初始化存在于扩展CG区的一个或者多个分布式控制信息区。
此外,可以当包括MF主控计算机102和存储设备101的存储系统在线时发出容量扩展指令。
图20显示了在容量扩展之后在3390格式LDEV322中的地址和3390-A格式LDEV322中的地址之间的对应关系。
在经由管理主控I/F127从管理主控计算机103接收到容量扩展指令时,微程序231中的配置控制器253在分布式用户数据区1403之后放置分布式用户数据区1404和1405,作为3390格式LDEV322上的数据布局,以及在柱面组1423之后放置作为新确保的实际存储区的扩展柱面组1424和1415,作为3390-A格式LDEV322上的数据布局。
在图20中,3390格式LDEV322的存储区910包括分布式用户数据区1401、1402、1403、1404和1405以及分布式控制信息区1411、1412、1413、1414和1415,并且3390-A格式LDEV的实际存储区930包括柱面组1421、柱面组1422、柱面组1423、柱面组1424和柱面组1425,其中,柱面组1421包括分布式用户数据区1401和分布式控制信息区1411,柱面组1422包括分布式用户数据区1402和分布式控制信息区1412,柱面组1423包括分布式用户数据区1403和分布式控制信息区1413,柱面组1424包括分布式用户数据区1404和分布式控制信息区1414,并且柱面组1425包括分布式用户数据区1405和分布式控制信息区1415。
3390格式卷数据布局的顺序是分布式用户数据区1401、分布式用户数据区1402、分布式用户数据区1403、分布式用户数据区1404和分布式用户数据区1405、以及分布式控制信息区1411、分布式控制信息区1412、分布式控制信息区1413、分布式控制信息区1414和分布式控制信息区1415,并且针对实际存储区的3390-A格式卷数据布局的顺序是柱面组(CG)1421、柱面组1422、柱面组1423、扩展柱面组1424以及扩展柱面组1425。
在针对3390格式卷数据布局和3390-A格式数据布局采用不同结构的情况中,指示具有存储区910中的轨道编号的数据部325(其是3390格式数据布局)的地址和指示实际存储区930中的轨道编号的数据部325(其是3390-A数据布局)的地址在每个分布式用户数据区和每个分布式控制信息区具有不同的地址值,尽管具有相同的轨道编号。因此,在微程序231中的地址转换单元254执行地址转换,用于例如将用于指示存储区910的分布式用户数据区1405中的轨道编号的数据部325的地址1051转换为指示实际存储区930中的轨道编号的数据部325的地址1052。
类似地,在微程序231中的地址转换单元254执行地址转换,用于将指示3390格式数据布局的存储区910中的轨道编号的控制信息部326的地址转换为指示作为3390-A格式数据布局的实际存储区930中的轨道编号的控制信息部326的地址。
在3390-A格式LDEV322的容量扩展之后,命令控制器251也能够通过使用由地址转换单元254经地址转换而获得的地址,来访问实际存储区中根据3390-A格式数据布局的LDEV322,作为3390格式LDEV322。
接下来,将根据图21的流程图,来说明用于从指示3390格式卷上的轨道编号的数据部的地址1051来计算指示3390-A格式卷上的轨道编号的数据部的地址1052的处理。
微程序231中的地址转换单元254开始地址转换处理,以及根据指示3390格式数据布局中的轨道编号的数据部325的地址1051,来参考管理表1700和管理表1800,并且计算包含地址1051的3390格式分布式用户数据区1405的编号(5)、以及从3390格式分布式用户数据区1405的开始地址(400)到地址1051的偏移地址(S31)。
地址转换单元254随后根据3390格式分布式用户数据区1405的编号(5)以及从3390格式分布式用户数据区1405的开始地址(400)到地址1051的偏移地址,来参考管理表1800,并且获取由分布式用户数据区1405的编号(5)指示的3390-A格式分布式用户数据区1405的开始地址(600)(S32)。
最后,地址转换单元254根据获取的3390-A格式分布式用户数据区1405的开始地址(600)以及从3390格式分布式用户数据区1405的开始地址(400)到地址1051的偏移地址来计算指示具有3390-A格式轨道编号的数据部325的地址1052(S33),并且结束该例程处理。
类似地,地址转换单元254也能够从指示3390格式数据布局中的轨道编号的控制信息部326的地址来计算指示具有3390-A格式轨道编号的控制信息部326的地址。
<针对3390-A格式LDEV322的读命令的示例>
此后,描述针对存储控制器131经由主控I/F121从MF主控计算机102接收读命令的情况的处理。
微程序231中的命令控制器251计算3390格式LDEV322中的读目标轨道的轨道编号的数据部325的地址,并且将该计算结果通知地址转换单元254。
地址转换单元254然后根据该计算中所获得的地址,计算实际存储区中的轨道的数据部325的地址和控制信息部326的地址,并将这些值通知命令控制器251。在此,根据3390-A格式来实现LDEV322的实际存储区中的数据布局。
如果没有存储由命令控制器251接收的地址所指示的轨道编号的数据部325和由命令控制器251接收的地址所指示的轨道编号的控制信息部326,则命令控制器251指令RAID控制器252执行数据读取。RAID控制器252经由盘I/F125从一个或者多个盘132读取对应于每个地址的数据,并且将这样读取的每个数据存储在缓存存储器124中。
如果存储了由命令控制器251接收的地址所指示的轨道编号的数据部325和由命令控制器251接收的地址所指示的轨道编号的控制信息部326,则命令控制器251从缓存存储器124中读取具有由该地址所指示的轨道的数据部325,并且在检查由该地址所指示的轨道的控制信息的值之后,将从缓存存储器124中读取的数据部325经由主控I/F121发送给MF主控计算机102。
可以按照与写命令处理相同的方式来执行与上述读命令处理的地址转换相关的处理。
根据此实施方式,命令控制器251也能够在3390-A格式LDEV322的容量扩展之后,通过使用由地址转换单元254经地址转换而获得的地址来访问实际存储区中根据3390-A格式数据布局的LDEV322,作为3390格式LDEV322。
实施方式3
在该实施方式中,准备作为实际存储区中的卷的多个3390-A格式卷,通过在一个卷中放置分布式用户数据区并在另一个卷中放置分布式控制信息区而在实际存储区中管理这些卷。
<用于以不同卷保存和管理用户数据区和控制信息区的系统>
图22显示了其中以不同卷保存和管理柱面组1421中的分布式用户数据区1401和分布式控制信息区1411的示例。
在图22中,HDEV2201与HDEV321具有相同的配置,多个(m)轨道被放置在HDEV2201中,并且关联两个LDEV2202和2203。LDEV2202包括用于存储多个(n)分布式用户数据区1401……的卷,而LDEV2203包括用于存储多个(n)分布式控制信息区1411……的卷。
在此,在柱面组1421包括分布式用户数据区1401和分布式控制信息区1411的情况中,分布式用户数据区1401被放置在LDEV2202中,并且分布式控制信息区1411被放置在不同于LDEV2202的LDEV2203中。因此,LDEV2202包括大的容量,而LDEV2203包括小的容量,并且它们与卷容量扩展是可兼容的。
此外,例如,通过将保存在LDEV2202中的分布式用户数据区1401与保存在LDEV2203中对应于分布式用户数据区1401的分布式控制信息区1411相结合,上述区可以被视为一个柱面组。此外,当一个或者多个柱面组被集合在一起时,这些柱面组可以被视为3390-A格式LDEV,其中,柱面组是通过将LDEV2202的每个分布式用户数据区与对应于每个分布式用户数据区的LDEV2203的控制信息区相结合而获得的。
图23显示了用于管理分布式用户数据区和分布式控制信息区的地址的管理表2300的配置。
在图23中,管理表2300包括分布式用户数据区编号字段2301、LDEV上的地址字段2302、分布式控制信息区编号字段2303、以及LDEV上的地址字段2304。
分布式用户数据区编号字段2301的每项存储布置在LDEV2202中的分布式用户数据区的编号,以及LDEV上的地址字段2302的每项存储布置在LDEV2202中的分布式用户数据区的地址。分布式控制信息区编号字段2303的每项存储布置在LDEV2203中的分布式控制信息区的编号,以及LDEV上的地址字段2304的每项存储布置在LDEV2203中的分布式控制信息区的地址。
接下来,将说明用于MF主控计算机102执行针对HDEV2201的读访问的情况的处理。
MF主控计算机102读访问的参数是HDEV编号和轨道编号,等等。
当MF主控计算机102向存储控制器131发送读命令时,微程序231中的命令控制器251根据来自MF主控计算机102的用于读命令的参数来参考HDEV2201。此后,微程序231中的命令控制器251根据上述HDEV编号和轨道编号,来计算LDEV编号、3390格式LDEV上的轨道的数据部325的地址、以及控制信息部326的地址,并且通知地址转换单元254。
地址转换单元254参考管理表1700和管理表1800,获取分布式用户数据区和分布式控制信息区的大小以及3390格式分布式用户数据区和分布式控制信息区的开始地址,根据所获取的信息、轨道中的数据部325的地址和控制信息部326的地址,来计算3390-A格式LDEV的LDEV编号以及轨道编号,并将该LDEV编号和轨道编号通知命令控制器251。
当经由主控I/F121从MF主控计算机102接收到读地址时,命令控制器251从接收的轨道编号来计算3390-A格式LDEV中的分布式用户数据区的编号和从分布式用户数据区的开始地址到该轨道编号的数据部325的偏移地址、3390-A格式LDEV中的分布式控制信息区的编号、以及从分布式控制信息区的开始地址到该轨道编号的控制信息部326的偏移地址。
命令控制器251参考管理表2300,以获取分布式用户数据区的地址,以及根据获取的地址、分布式用户数据区的编号和偏移地址,来获取指示LDEV2202中的分布式用户数据区中的轨道编号的数据部325的地址。
此外,命令控制器251参考管理表2300,以获取分布式控制信息区的地址,以及根据获取的地址、分布式控制信息区的编号和偏移地址,来获取指示LDEV2203中的分布式控制信息区中的轨道编号的控制信息区326的地址。
命令控制器251随后根据获取的地址,执行针对分布式用户数据区中的读目标轨道的数据部325的访问。
此外,命令控制器251可以根据获取的地址,参考或者更新分布式控制信息区中的读目标轨道的控制信息部326。请注意,如果不必参考读目标轨道的控制信息部326,则可以省略其中命令控制器251参考读目标轨道的控制信息部326的处理。
命令控制器251经由主控I/F121将读目标轨道中的数据部325发送到MF主控计算机102。
上面提供了以不同卷保存和管理分布式用户数据区和分布式控制信息区情况下读访问的示例。
请注意,当MF主控计算机102的访问类型是写访问时,也可以以同样的方式执行上述针对轨道的访问处理。
在该实施方式,准备作为实际存储区中的卷的多个3390-A格式卷,通过在一个卷中放置用户数据区并在另一个卷中放置控制信息区来在实际存储区中管理这些卷。为此,其中布置了分布式控制信息区的卷(LDEV2203)可以包括小的容量,而其中布置了分布式用户数据区的卷(LDEV2202)可以包括大的容量。在这种情况下,即使当LDEV2203包括小容量而LDEV2202包括大容量时,这些LDEV也是与容量扩展可兼容的。
实施方式4
在该实施方式中,进行从3390格式LDEV322到3390-A格式LDEV322的数据复制。
<从3390格式LDEV322到3390-A格式LDEV322的数据复制处理>
接下来,参考图24的流程图,将说明将轨道的数据部从3390格式LDEV322复制到3390-A格式LDEV322的处理。
首先,以下假设下面的事实,即借助于地址来参考复制源3390格式LDEV322,复制目的地是3390-A格式LDEV322,以及3390-A格式LDEV322包括一个或者多个柱面组1421。在此,通过分布式用户数据区的编号(n)和从第n个分布式用户数据区的开始地址的偏移地址(d),来访问3390-A格式LDEV中的轨道的数据部325。
当经由管理主控I/F127从管理主控计算机103接收到复制开始指令时,微程序231中的命令控制器251开始复制处理。
命令控制器251将复制源LDEV332的开始地址配置作为复制源地址,并且将复制源地址设置为0(S41)。
此后,命令控制器251确定复制源地址是否是复制源LDEV322的最终地址(S42),以及如果复制源地址指向复制源LDEV322的最终地址,则命令控制器251经由管理主控I/F127向管理主控计算机103通知复制处理完成,并且结束复制处理。
但是,如果确定复制源地址是复制源LDEV322的最终地址,则命令控制器251将复制源地址通知地址转换单元254。
地址转换单元254随后参考管理表1700,以获取分布式用户数据区的大小,以及参考管理表1800,以获取分布式用户数据区和分布式控制信息区的开始地址,并且根据所获取的大小、开始地址、以及复制源地址,来计算分布式用户数据区的编号以及从复制目的地分布式用户数据区的开始地址的偏移地址(d)的值,并且将计算结果通知命令控制器251(S43)。
命令控制器251确定分布式用户数据区(n)是否是复制目的地LDEV的最终分布式用户数据区(S44),以及如果分布式用户数据区(n)是复制目的地LDEV的最终分布式用户数据区,那么因为复制源LDEV的容量大于复制目的地LDEV322的容量,所以命令控制器251经由管理主控I/F127通知管理主控计算机103复制已经失败,并且结束复制处理。
但是,如果确定分布式用户数据区(n)不是复制目的地LDEV的最终分布式用户数据区,则命令控制器251将数据(数据部325)从复制源地址(s)所指示的存储区复制到从复制目的地分布式用户数据区(n)的开始地址的偏移地址(d)所指示的存储区(S45)。
命令控制器251随后递增复制源地址(s)(s=s+1),并且返回到步骤S32的处理(S46)。随后重复S32到S36的处理,直到在步骤S32获得肯定的确定结果。
通过执行步骤S41到S46的处理,例如,可以将3390格式存储区910中的分布式用户数据区1401的数据部325复制到3390-A格式实际存储区930中的分布式用户数据区1401。
此外,可以按照相同的方式执行将轨道的控制信息部326从3390格式LDEV322复制到3390-A格式LDEV322的处理。在这种情况下,例如,可以将3390格式存储区910中的分布式控制信息区1411的控制信息部326复制到3390-A格式实际存储区930中的分布式控制信息区1411。
所复制的数据卷可以是复制源LDEV322中的所有数据,或者一些数据。
在从3390格式LDEV322到3390-A格式LDEV322的数据复制处理中,可以在完成分布式用户数据区的复制之后复制分布式控制信息区,或者按照相反顺序。此外,可以在完成一些分布式用户数据区的复制之后复制一些分布式控制信息区,然后反之亦然,以此交替进行。
此外,也可以按照相同的方式执行从3390-A格式LDEV322到3390格式LDEV322的复制数据的处理和将3390-A格式LDEV322的地址改变为3390格式LDEV322的地址的处理。
根据此实施方式,通过执行从3390格式LDEV322到3390-A格式LDEV322的数据复制,可以从属于3390格式LDEV322的数据部325和控制信息部326来构造实际存储区中的数据部325和控制信息部326。
实施方式5
该实施方式被配置使得LDEV322作为包括虚拟存储区的虚拟卷被管理,并且使得如果存在对虚拟卷的访问,则从池中分配实际存储区给该虚拟卷。
<与向虚拟卷的实际存储区分配相关的处理>
与向虚拟卷分配实际存储区相关的处理包括上述地址转换处理以及随后将要描述的页面分配处理。在页面分配处理中,根据页面管理表和页面管理目录,来执行在对虚拟卷的主控写入情况下向虚拟卷分配实际存储区。此后将用于执行与向虚拟卷分配实际存储区相关的处理的功能称为自动精简配置功能。
图25显示了在页面分配处理中使用的页面管理表2500的配置。
在图25中,页面管理表2500是当执行向虚拟卷分配实际存储区的处理时所使用的表,并且该表包括页面编号字段2501、LDEV页面开始地址字段2502、盘编号字段2503、盘页面开始地址字段2504以及分配确定信息字段2505,并且页面管理表2500针对每个LDEV322存在,且被存储在主存储器123或者缓存存储器124等中。
页面编号字段2501的每项存储分配给LDEV322的页面的页面编号。LDEV页面开始地址字段2502的每项存储分配给LDEV322的页面的开始地址。盘编号字段2503的每项存储LDEV322包括的盘132的编号。
盘页面开始地址是盘中实际存储区的开始地址,并且盘页面开始地址字段2504的每项存储LDEV322包括的盘132的开始地址。如果页面已经被分配给LDEV322,则信息“已分配”被存储在分配确定信息字段2505的每项中,以及如果页面没有被分配给LDEV322,则信息“未分配”被存储在每项中。即,使用分配确定信息来管理实际存储区到虚拟存储区的分配状态,以页面为单位。
页面是存储在池323中的固定大小的存储区,并且是用于分配和管理LDEV322中的存储区的单位。此外,页面是一个或者多个轨道等的集合。在存储设备101中,轨道可以具有固定大小,例如59392个字节。
图26显示了在页面分配处理中使用的页面管理目录2600的配置。
在图26中,页面管理目录2600是用于管理LDEV322和页面管理表2500之间的对应关系的表,该表包括LDEV编号字段2601和页面管理表的地址字段2602,页面管理目录2600保存在主存储器123或缓存存储器124中、或者在盘132上等等。
LDEV编号字段2601的每项存储LDEV322的编号。页面管理表的地址字段2602的每项存储用于管理LDEV322的页面的页面管理表2500的地址。
接下来,将描述当命令控制器251从MF主控计算机102接收到写访问时的处理的示例。在写访问期间的参数是LDEV编号和LDEV中的轨道编号,等等。
如果从MF主控计算机102接收到写访问参数,则命令控制器251根据LDEV322的轨道编号和轨道大小来计算LDEV322中的地址。
命令控制器251随后参考页面管理目录2600,并且获取对应于LDEV编号的页面管理表2500的地址。
命令控制器251随后参考对应于所获取的地址的页面管理表2500、搜索包括由写访问目的地中的地址所指示的轨道的页面、以及获取在该搜索中获得的页面编号以及从页面开始地址到写访问目的地轨道的偏移地址。
此后,命令控制器251参考获取的页面编号的页面项中的分配确定信息,并且如果分配确定信息指示已分配的状态,则命令控制器251执行对于写访问目的地轨道编号的数据部325的写访问,其中写访问目的地轨道编号由对应于页面项的盘中的页面开始地址指定。
如果分配确定信息是未分配状态,则命令控制器251参考管理表700,以获取对应于LDEV编号的池编号,以及根据获取的池编号来参考管理表800,以获取对应于池编号的盘编号,并且根据获取的池编号来从属于与LDEV编号322对应的池323的一个或者多个盘132中、以页面为单位分配实际存储区。
在此,命令控制器251参考页面管理表2500,寻找包含由写访问目的地地址所指示的轨道的页面项,在页面管理表2500中登记新分配的页面的开始地址,以及将分配确定信息字段2502中的“未分配”更新为“已分配”,并且更新页面管理表2500。
上述描述了用于从池中向虚拟卷分配页面的处理。
<当3390-A格式LDEV332被构造在虚拟卷上时的页面分配处理>
接下来,参考图27的流程图,来描述处理,在该处理中,在3390-A格式LDEV322被构造在虚拟卷中的情况下,在MF主控计算机102的写访问的情形中,将页面分配给每个用户数据区和与用户数据区对应的每个控制信息区。
此后,将描述当命令控制器251经由MF主控I/F121从MF主控计算机102接收写访问时的处理。
在写访问期间的参数是3390格式LDEV332的LDEV编号和LDEV中的轨道编号等等。
首先,在开始MF主控写命令处理时,命令控制器251参考图5的管理表500,获取LDEV322的卷容量,以及根据获取的卷容量来计算对应于LDEV322的轨道编号的LDEV322中的轨道的数据部325的地址以及同样地该轨道的控制信息部326的地址,并且预设LDEV322的轨道大小。
此后,命令控制器251参考管理表1700,以获取分布式用户数据和分布式控制信息的大小,参考管理表1800,以获取分布式用户数据区和分布式控制信息区的开始地址,以及根据获取的分布式用户数据和分布式控制信息的大小、分布式用户数据区和分布式控制信息区的开始地址,来计算3390-A格式LDEV中的轨道的数据部325的地址(数据地址)和控制信息部326的地址(控制信息地址),并且在该计算中获得数据部325的地址(数据地址)和控制信息部326的地址(控制信息地址)(S51)。
命令控制器251随后根据LDEV编号来参考页面管理目录2600,并且获取与LDEV编号对应的页面管理表2500的地址。
命令控制器251参考对应于获取的地址的页面管理表2500,并且获取包含由在此计算中获得的地址(数据地址和控制信息地址)所指示的数据的页面的每个页面编号。
命令控制器251参考与页面管理表2500中获取的页面编号对应的页面项中的分配确定信息,确定包括该地址(数据地址)的页面是否已经分配有实际存储区(S52),以及如果分配确定信息指示已分配的状态,即,如果确定已经分配实际存储区,则命令控制器251前进到步骤S56的处理。
另一方面,如果分配确定信息是未分配状态,即,如果确定包含该地址(数据地址)的页面没有被分配有实际存储区,则命令控制器251参考管理表700,以获取对应于LDEV编号的池编号,根据获取的池编号来参考管理表800,以获取对应于池编号的盘编号,以及根据获取的盘编号来从属于与LDEV编号322对应的池323的一个或者多个盘132中以页面为单位分配实际存储区(S53)。即,执行对包含该地址(数据地址)的页面的页面分配。
命令控制器251随后确定包含地址(控制信息地址)的页面是否已经被分配有实际存储区(S54),以及如果分配确定信息指示已分配的状态,即,如果确定已经分配了实际存储区,则命令控制器251前进到步骤S56的处理。
如果在步骤S54确定包含地址(控制信息地址)的页面已经被分配了实际存储区,则命令控制器251参考管理表700,以获取对应于LDEV编号的池编号,根据获取的池编号来参考管理表800,以获取对应于该池编号的盘编号,以及根据获取的盘编号来从属于与LDEV编号322对应的池323的一个或者多个盘132中以页面为单位分配实际存储区(S55),并且前进到步骤S56的处理。即,在步骤S55中,执行对包含地址(控制信息地址)的页面的页面分配。
在步骤S56,命令控制器251产生控制信息,该控制信息对应于由地址(控制信息地址)所指示的区中的轨道的数据部325。
如果包含地址(数据地址)的页面已经被分配了实际存储区,则命令控制器251将数据写入由该地址(数据地址)指示的区中。即,命令控制器251针对具有页面写访问目的地轨道编号的数据部325执行写访问(S57)。
在此,命令控制器251参考页面管理表2500,寻找包含由写访问目的地中的地址所指示的轨道的页面项,将新分配的页面开始地址登记到页面管理表2500中,将分配确定信息字段2502中的“未分配”改变为“已分配”,更新页面管理表2500,并结束该例程的处理。
在上述页面分配处理中,命令控制器251可以在初始化地址(控制信息地址)所属的控制信息区之后,执行写访问。
根据该实施方式,如果实际存储区被分配到虚拟卷,则可以从池中分配数据部325的页面和控制信息部326的页面。
实施方式6
该实施方式被配置为使得如果复制目标数据被作为根据远程复制处理的数据从复制源存储控制器发送到复制目的地存储控制器以及如果复制目的地存储控制器接收到复制目标数据,则复制目的地存储控制器确定与接收的复制目标数据中的记录的存在相关的信息,并且根据该确定结果执行处理。
<当3390-A格式LDEV322被构造在虚拟卷上时与远程复制处理同步的数据页面丢弃处理>
图28是显示在第二存储设备中用于与远程复制处理同步地将接收LDEV322中的页面状态呈递为“未分配”,以便将数据从第一存储设备101发送到保存在虚拟卷中的3390-A格式LDEV322的处理的流程图。
此后,将页面状态返回到“未分配”将被称为页面丢弃。
如下,在第一存储设备101和第二存储设备101中执行远程复制处理。
如果第一存储设备101中的第一命令控制器251经由第一存储设备101中的管理主控I/F127从管理主控103接收到远程复制请求,则第一命令控制器251将第一存储设备101中的第一LDEV322(3390格式或者3390-A格式)的一些或者所有轨道的数据部325和一些或者所有轨道的控制信息部326作为复制目标数据,并将该复制目标数据从一个或者多个盘132读入到第一缓存存储器124中。
第一命令控制器251经由第一存储设备101中的第一主控I/F121和网络111以固定数据单元发送第一缓存存储器中的LDEV322的一些或者所有轨道。数据单元可以是一个或者多个轨道的数据部325或者一个或者多个轨道的控制信息部326,等等。
但是,当第二存储设备101中的第二命令控制器251经由第二存储控制器101中的第二主控I/F121从第一命令控制器251接收到复制目标数据时,第二命令控制器251开始复制数据接收处理,并且将接收的复制目标数据写入到第二存储设备101中的第二缓存存储器124中(S61)。
在此,根据3390-A格式在由自动精简配置功能所使用的虚拟卷上构造第二存储设备101中的第二LDEV322。
对于保存到第二缓存存储器124中的复制目标数据中的每个数据部325,第二命令控制器251确定上述记录是否存在于轨道中(S62),以及如果确定缓存存储器124中的轨道的数据部325没有记录,则第二命令控制器251前进到步骤S66的处理,以及如果确定对于缓存存储器124中的轨道的数据部325存在记录,则第二命令控制器251前进到步骤S63的处理。在此,第二命令控制器251在记录存在信息部327中保存检查是否存在针对每个轨道的记录的结果,记录存在信息部327对应于第二LDEV322中的每个轨道的数据部325。
在步骤S63,第二命令控制器251确定包含数据部325或者控制信息部326的页面是否被分配了实际存储区。
更具体地,第二命令控制器251根据LDEV322的LDEV编号来参考页面管理表2500和页面管理目录2600,并且检查是否写目的地页面已经被从池323分配到属于复制目标数据的数据部325和控制信息部326的写目的地虚拟区,该写目的地虚拟区是第二缓存存储器124中的写目的地虚拟区。
如果确定包含数据部325或控制信息部326的页面没有被分配实际存储区,则第二命令控制器251将池323中的实际存储区分配给包含数据部325或控制信息部326的页面(S64)。
更具体地,如果第二缓存存储器124中的一个或者多个轨道的数据部325的写目的地页面是未分配状态并且这些轨道的数据部325中存在记录,则第二命令控制器251根据LDEV322的LDEV编号参考管理表700,获取对应于LDEV编号的池编号,根据获取的池编号来参考管理表800,获取对应于池编号的盘编号,以及从属于与LDEV322的LDEV编号对应的池323的一个或者多个盘中以页面为单位分配实际存储区。
类似地,如果第二缓存存储器124中的一个或者多个轨道的控制信息部326的写目的地页面是未分配状态,则第二命令控制器251根据LDEV322的LDEV编号来参考管理表700,以获取对应于LDEV编号的池编号,根据获取的池编号来参考管理表800,以获取对应于池编号的盘编号,以及根据获取的盘编号,从属于与LDEV322的LDEV编号对应的池的一个或者多个盘中以页面为单位分配实际存储区。
第二命令控制器251随后将第二缓存存储器124中的数据部325和控制信息部326写入到分配的实际存储区(S65)。
更具体地,如果属于复制目标数据的数据部325的写目的地页面处于被分配给第二缓存存储器124的写目的地虚拟区的状态,则第二命令控制器251将属于第二缓存存储器124的复制目标数据的数据部325写入到一个或者多个第二盘132,其形成池323中的实际存储区的一部分。
类似地,如果属于复制目标数据的控制信息部326的写目的地页面处于被分配给第二缓存存储器124的写目的地虚拟区的状态,则第二命令控制器251将属于第二缓存存储器124的复制目标数据的控制信息部326写入到一个或者多个第二盘132,其形成池323中的实际存储区的一部分。
第二命令控制器251随后根据页面管理表2500寻找包括写访问目的地的轨道的数据部325的页面项,登记新分配的页面的开始地址,以及将分配确定信息更新为已分配的状态。类似地,第二命令控制器251根据页面管理表2500寻找包括写访问目的地的轨道的控制信息部326的页面项,登记新分配的页面的开始地址,以及将分配确定信息更新为已分配的状态。
第二命令控制器251随后将上述一个或者多个轨道的数据部325写入一个或者多个第二盘132,其形成池323中的实际存储区的一部分,以及将一个或者多个轨道的控制信息部326写入一个或者多个第二盘132,其形成池323中的实际存储区的一部分。
此后,在步骤S66,第二命令控制器251将指示存在记录的信息保存在记录存在信息部327中,其中记录存在信息部对应于第二LDEV322的一个或者多个轨道的数据部325,以及更新记录存在信息部327。
如果第二缓存存储器124中的一个或者多个轨道的数据部的写目的地页面是未分配状态并且在这些轨道的数据部中不存在记录,则第二命令控制器251不从池323中向第二缓存存储器124的写目的地虚拟区分配页面。在这种情况下,第二命令控制器251不将一个或者多个轨道的数据部325写入到一个或者多个第二盘132。此外,第二命令控制器251将指示没有存在记录的状态的信息保存在记录存在信息部327中,记录存在信息部327对应于第二LDEV322的轨道的数据部325。
如果第二缓存存储器124中的一个或者多个轨道的数据部的写目的地页面是未分配状态并且如果在这些轨道的数据部中不存在记录,则第二命令控制器251可以在从池323分配页面之后写入指示不存在记录的初始值。
此外,在步骤S66中,第二命令控制器251检查第二LDEV322的分配页面中的轨道中的数据部325的记录的存在,将指示不存在记录的信息保存在没有记录存在的轨道的记录存在信息部327,并且更新记录存在信息部327。
第二命令控制器251然后根据第二LDEV322中所有轨道的记录存在信息部327的值,检查第二LDEV322的分配页面中轨道的数据部325中的记录的存在,将没有记录放置其中的页面的状态实现为未分配状态,即,执行页面丢弃(S67),并且结束该例程的处理。
在该实施方式中,利用第一存储设备101中的第一存储控制器131作为其他控制器,第二存储设备中的第二存储控制器131经由网络111和第一存储控制器131交换信息,以及确定与对应于轨道的记录相关的信息是否作为与从第一存储控制器131接收的信息当中的第一数据部325或第二数据部325相关的信息存在,将确定结果存储在虚拟卷(3390-A格式LDEV322)的第二控制信息区中,以及如果在虚拟卷的第二控制信息区中存储的确定结果指示不存在对应于轨道的记录,则按照与远程复制处理相同的方式,执行从作为对应于轨道的实际存储区的池中释放分配给虚拟卷的页面的处理。
也可以在将对应于第二缓存存储器124中的一个或者多个轨道的复制目标数据写入第二缓存存储器124中的一个或者多个盘132之前执行上述页面丢弃处理。
上述是以下处理的示例,其中相对于第二存储设备101中的第二LDEV322,实现从第一存储设备101中的第一LDEV332的远程数据复制。
根据该实施方式,在从第一存储设备101中的第一存储控制器131接收到复制目标数据时,第二存储设备101中的第二存储控制器131能够检查轨道的数据部325的记录的存在,并且将没有记录存在的页面设置为未分配状态,即执行页面丢弃处理。
在该实施方式中,在第一命令控制器251将发送侧的第一LDEV322的复制目标数据从一个或者多个盘132读取到第一缓存存储器124的处理中,其中所述复制目标数据包括一个或者多个轨道的数据部325和一个或者多个轨道的控制信息部326,第一命令控制器251可以参考对应于第一缓存存储器124中的一个或者多个轨道的数据部325的记录存在信息部327,以及如果在属于复制目标数据的数据部325中不存在记录,则第一命令控制器251不需要将这些轨道的数据部325发送给第二存储设备。此外,第一命令控制器251也可以经由消息来通知第二存储设备这些轨道的数据部325中不存在记录。
如果MF主控计算机102执行其中由于3390格式LDEV322而不识别轨道的控制信息部326的值的处理,则可以跳过轨道的控制信息部326,由此减少了将磁盘头与轨道数据部325对准的处理开销。
上面描述了本发明的实施方式,但是本发明并不局限于这些实施方式,而是应当理解各种变型均可以在本发明的精神内。例如,当由于柱面组移去等等而使得卷容量减少的情况下扩展卷容量时的地址转换处理也可以应用到卷容量减少时的地址转换处理。
参考标记列表
101存储设备
102MF主控计算机
103管理主控计算机
111、113、126网络
122CPU
123主存储器
231微程序
124缓存存储器
131存储控制器
132盘
322LDEV
323池
325数据部
326控制信息部
327记录存在信息部
901存储区
920、930实际存储区
1401到1405分布式用户数据区
1411到1415分布式控制信息区
1421到1425柱面组(CG)
2202、2203LDEV
Claims (3)
1.一种存储系统,包括:
存储控制器,所述存储控制器用于形成虚拟卷、数据区和控制信息区,其中所述虚拟卷是在具有特定大小的多个页面中形成的虚拟存储区,用于在所述虚拟卷中存储数据的数据部在所述数据区中被聚集,并且用于存储被用于对所述数据部的访问的控制信息的控制信息部在所述控制信息区中被聚集;以及
用于向所述虚拟卷提供实际存储区的存储介质,
其中所述存储控制器:
以包括具有特定大小的所述数据区和具有特定大小的所述控制信息区的组为单位来扩展所述虚拟卷的容量;并且
在存在以所述虚拟卷中的第一数据部为目标的写入请求的情况下,判断对包括所述第一数据部的第一页面有无实际存储区的分配,如果实际存储区没有被分配给所述第一页面,则将实际存储区分配给所述第一页面,并且判断对包括用于存储被用于对所述第一数据部的访问的所述控制信息的第一控制信息部的第二页面有无实际存储区的分配,如果实际存储区没有被分配给所述第二页面,则将实际存储区分配给所述第二页面。
2.根据权利要求1所述的存储系统,
其中当所述虚拟卷的所述容量被以所述组为单位扩展时,所述存储控制器将所述数据区和所述控制信息区交替配置。
3.一种存储系统,包括:
存储控制器,所述存储控制器用于形成虚拟卷、数据区和控制信息区,其中所述虚拟卷是在具有特定大小的多个页面中形成的虚拟存储区,用于在所述虚拟卷中存储数据的数据部在所述数据区中被聚集,并且用于存储被用于对所述数据部的访问的控制信息的控制信息部在所述控制信息区中被聚集;以及
用于向所述虚拟卷提供实际存储区的存储介质,
其中所述存储控制器:
以包括具有特定大小的所述数据区和具有特定大小的所述控制信息区的组为单位来扩展所述虚拟卷的容量;并且
在存在以所述虚拟卷中的第一数据部为目标的写入请求的情况下,判断对包括所述第一数据部的第一页面有无实际存储区的分配,如果实际存储区没有被分配给所述第一页面,则将实际存储区分配给所述第一页面,并且判断对包括用于存储被用于对所述第一数据部的访问的所述控制信息的第一控制信息部的第二页面有无实际存储区的分配,如果实际存储区没有被分配给所述第二页面,则将实际存储区分配给所述第二页面;
其中所述存储控制器具有作为所述虚拟卷的第一虚拟卷和第二虚拟卷、在所述第一虚拟卷中形成所述数据区并且在所述第二虚拟卷中形成所述控制信息区。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/005042 WO2012020454A1 (en) | 2010-08-11 | 2010-08-11 | Storage apparatus and control method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103229134A CN103229134A (zh) | 2013-07-31 |
CN103229134B true CN103229134B (zh) | 2016-01-20 |
Family
ID=43759648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080067146.8A Active CN103229134B (zh) | 2010-08-11 | 2010-08-11 | 存储设备及其控制方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US8484426B2 (zh) |
EP (1) | EP2603847B1 (zh) |
JP (1) | JP5537732B2 (zh) |
CN (1) | CN103229134B (zh) |
WO (1) | WO2012020454A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012090239A1 (en) | 2010-12-27 | 2012-07-05 | Hitachi, Ltd. | Storage system and management method of control information therein |
US9519496B2 (en) * | 2011-04-26 | 2016-12-13 | Microsoft Technology Licensing, Llc | Detecting and preventing virtual disk storage linkage faults |
US9348769B2 (en) * | 2012-05-24 | 2016-05-24 | Red Hat, Inc. | Managing zeroed logical volume |
US9104590B2 (en) * | 2012-07-20 | 2015-08-11 | Hitachi, Ltd. | Storage system including multiple storage apparatuses and pool virtualization method |
US9778860B2 (en) | 2012-09-12 | 2017-10-03 | Microsoft Technology Licensing, Llc | Re-TRIM of free space within VHDX |
CN103634379B (zh) * | 2013-11-13 | 2017-02-01 | 华为技术有限公司 | 一种分布式存储空间的管理方法和分布式存储系统 |
US9971525B2 (en) | 2015-02-26 | 2018-05-15 | Red Hat, Inc. | Peer to peer volume extension in a shared storage environment |
CN110546620B (zh) | 2017-04-14 | 2022-05-17 | 华为技术有限公司 | 数据处理方法、存储系统和交换设备 |
US10152271B1 (en) * | 2017-06-07 | 2018-12-11 | Micron Technology, Inc. | Data replication |
US10402095B1 (en) * | 2018-04-30 | 2019-09-03 | EMC IP Holding Company LLC | Online data expansion in redundant data storage systems |
CN112015522B (zh) * | 2020-11-02 | 2021-02-05 | 鹏城实验室 | 系统功能扩展方法、装置及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1840721A2 (en) * | 2006-03-29 | 2007-10-03 | Hitachi, Ltd. | Storage apparatus and storage area allocation method |
EP1909165A2 (en) * | 2006-09-28 | 2008-04-09 | Hitachi, Ltd. | Virtualization system and area allocation control method |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5506979A (en) | 1991-04-02 | 1996-04-09 | International Business Machines Corporation | Method and means for execution of commands accessing variable length records stored on fixed block formatted DASDS of an N+2 DASD synchronous array |
JP3121387B2 (ja) * | 1991-08-29 | 2000-12-25 | 株式会社日立製作所 | 磁気テ−プ制御装置 |
US6041386A (en) * | 1998-02-10 | 2000-03-21 | International Business Machines Corporation | Data sharing between system using different data storage formats |
JP3404289B2 (ja) * | 1998-05-22 | 2003-05-06 | 富士通株式会社 | ディスク制御装置及びその制御方法 |
JP2002055862A (ja) * | 2000-08-08 | 2002-02-20 | Hitachi Ltd | 計算機システム |
US7613945B2 (en) * | 2003-08-14 | 2009-11-03 | Compellent Technologies | Virtual disk drive system and method |
JP4715286B2 (ja) * | 2004-05-11 | 2011-07-06 | 株式会社日立製作所 | 計算機システムおよび計算機システムの制御方法 |
JP2006092124A (ja) * | 2004-09-22 | 2006-04-06 | Fujitsu Ltd | 記憶装置、記憶制御方法および記憶制御プログラム |
JP2006127106A (ja) * | 2004-10-28 | 2006-05-18 | Hitachi Ltd | ストレージシステム及びその制御方法 |
WO2006054334A1 (ja) * | 2004-11-16 | 2006-05-26 | Fujitsu Limited | 記憶領域割当装置、記憶領域割当方法および記憶領域割当プログラム |
JP4574408B2 (ja) * | 2005-03-24 | 2010-11-04 | 株式会社日立製作所 | 記憶装置システムの制御技術 |
JP2007233901A (ja) * | 2006-03-03 | 2007-09-13 | Hitachi Ltd | ホスト計算機で認識可能なデータを別のホスト計算機で認識可能とすることを自動で行うサーバ及び方法 |
JP4990066B2 (ja) * | 2007-08-21 | 2012-08-01 | 株式会社日立製作所 | 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム |
JP2009175824A (ja) * | 2008-01-22 | 2009-08-06 | Hitachi Ltd | メインフレーム用記憶制御装置及びメインフレーム用ボリュームの仮想化方法 |
JP5302582B2 (ja) | 2008-07-09 | 2013-10-02 | 株式会社日立製作所 | 上位装置から指定されるデバイスに関する記憶容量を変更するストレージシステム及び方法 |
JP5130169B2 (ja) * | 2008-09-17 | 2013-01-30 | 株式会社日立製作所 | 仮想化ボリュームへの物理ボリューム領域割り当方法及びストレージ装置 |
-
2010
- 2010-08-11 CN CN201080067146.8A patent/CN103229134B/zh active Active
- 2010-08-11 EP EP10760445.6A patent/EP2603847B1/en not_active Not-in-force
- 2010-08-11 JP JP2013506814A patent/JP5537732B2/ja active Active
- 2010-08-11 WO PCT/JP2010/005042 patent/WO2012020454A1/en active Application Filing
- 2010-08-11 US US12/920,249 patent/US8484426B2/en active Active
-
2013
- 2013-06-25 US US13/926,340 patent/US8832400B2/en active Active
-
2014
- 2014-08-12 US US14/457,189 patent/US9423984B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1840721A2 (en) * | 2006-03-29 | 2007-10-03 | Hitachi, Ltd. | Storage apparatus and storage area allocation method |
EP1909165A2 (en) * | 2006-09-28 | 2008-04-09 | Hitachi, Ltd. | Virtualization system and area allocation control method |
Also Published As
Publication number | Publication date |
---|---|
JP5537732B2 (ja) | 2014-07-02 |
JP2013525912A (ja) | 2013-06-20 |
US8484426B2 (en) | 2013-07-09 |
EP2603847A1 (en) | 2013-06-19 |
US9423984B2 (en) | 2016-08-23 |
US20130290663A1 (en) | 2013-10-31 |
US20140351513A1 (en) | 2014-11-27 |
US20120042141A1 (en) | 2012-02-16 |
US8832400B2 (en) | 2014-09-09 |
WO2012020454A1 (en) | 2012-02-16 |
EP2603847B1 (en) | 2018-06-27 |
CN103229134A (zh) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103229134B (zh) | 存储设备及其控制方法 | |
JP6479639B2 (ja) | 情報処理装置、プログラム、及び、情報処理システム | |
US9684591B2 (en) | Storage system and storage apparatus | |
US8639898B2 (en) | Storage apparatus and data copy method | |
CN100470490C (zh) | 用于存储卷的一致拷贝的方法、系统和制造品 | |
US20140181383A1 (en) | Reliability scheme using hybrid ssd/hdd replication with log structured management | |
CN106708425A (zh) | 分布式多模存储管理 | |
CN1323346C (zh) | 存储系统 | |
JP2016212835A (ja) | メモリシステム | |
CN101840308A (zh) | 一种分级存储系统及其逻辑卷管理方法 | |
US20160011786A1 (en) | Storage system and data write method | |
TW200939245A (en) | Multi-channel memory storage device and control method thereof | |
WO2016115920A1 (zh) | 存储管理方法、装置及流媒体系统 | |
US9009440B2 (en) | Adjustment of data storage capacity provided by a storage system | |
CN101398822B (zh) | 利用虚拟文件系统技术实现动态扩展网络存储空间的方法 | |
JP5378604B2 (ja) | ThinProvisioningが適用された、メインフレーム系のストレージ装置 | |
CN102609224A (zh) | 一种独立冗余磁盘阵列系统及其初始化方法 | |
JP6039149B2 (ja) | ストレージ装置及びその制御方法 | |
JP2012128782A (ja) | ディスクアレイ装置を備えたストレージシステム、ディスクアレイ装置及びエクステントサイズ変更方法 | |
CN101493844A (zh) | 实现嵌入式存储器多主接口的方法及装置 | |
CN102981782A (zh) | 数据处理方法及装置 | |
CN116069266B (zh) | 磁盘漫游控制方法、装置、设备及计算机可读存储介质 | |
JP5770884B2 (ja) | ストレージ装置及びその制御方法 | |
JP2016091533A (ja) | メモリシステム及びプログラム | |
CN102045376A (zh) | 支持储存局域网络的网络储存设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |