CN1327330C - 逻辑磁盘管理方法和装置 - Google Patents
逻辑磁盘管理方法和装置 Download PDFInfo
- Publication number
- CN1327330C CN1327330C CNB2005100922626A CN200510092262A CN1327330C CN 1327330 C CN1327330 C CN 1327330C CN B2005100922626 A CNB2005100922626 A CN B2005100922626A CN 200510092262 A CN200510092262 A CN 200510092262A CN 1327330 C CN1327330 C CN 1327330C
- Authority
- CN
- China
- Prior art keywords
- fragment
- array
- magnetic disc
- logic magnetic
- zone
- 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.)
- Expired - Fee Related
Links
Images
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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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/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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
阵列/片段定义单元(121a)构建由一组片段组成的阵列。通过将磁盘驱动器中的存储区域定义为该阵列的单个物理阵列区域构建该阵列。所述物理阵列区域被以一定的容量划分为多个区域,并且被划分的区域被定义为片段。逻辑磁盘定义单元(121b)通过组合被包括在所述阵列中的片段的任意多个片段构建逻辑磁盘。片段移动单元(121c)对被加入所述逻辑磁盘的任意的第一片段和未被加入包括所述逻辑磁盘在内的任何逻辑磁盘的第二片段进行交换。
Description
技术领域
本发明涉及用于管理逻辑磁盘的逻辑磁盘管理方法和装置,所述逻辑磁盘利用磁盘驱动器的存储区域,并被主计算机(主机)识别为单个磁盘区域(磁盘卷)。
背景技术
通常,磁盘阵列装置包括多个磁盘驱动器,诸如硬盘驱动器(HDDs)和被连接到所述HDDs的阵列控制器。阵列控制器通过使用普遍公知的RAID(独立磁盘冗余阵列;或廉价磁盘冗余阵列)技术来管理HDDs。响应由主机(主计算机)产生的数据读/写请求,阵列控制器以这样的方式并行地控制HDDs,以分布式的方式履行所述的数据读/写请求。这使得磁盘阵列装置能够高速执行由主机请求的数据访问。磁盘阵列装置还增强了它的冗余磁盘配置的可靠性。
在传统的磁盘阵列装置中,由主机识别的逻辑磁盘的物理布置是静态的。由于这个原因,传统的磁盘阵列装置在这样的方面是不利的,即,逻辑磁盘的块地址和相应的阵列配置之间的关系原则上不会改变。同样地,逻辑磁盘的块地址和HDDs的相应的块地址之间的关系原则上不会改变。
在磁盘阵列装置运行之后,有时候会发生施加在逻辑磁盘的访问负载数量与最初估计值不同的情况。有时候还会发生访问负载随时间变化的情况。在这种情况下,传统的磁盘阵列装置不能容易地排除可能发生在逻辑磁盘的阵列内的或所述HDDs中的瓶颈或热点。这是因为逻辑磁盘和所述阵列之间以及逻辑磁盘和所述HDDs之间的对应关系是静态的。为了解决瓶颈和热点的问题,被存储在逻辑磁盘中的数据必须被在磁带上备份,例如,必须从头重建一个新的逻辑磁盘。另外,备份数据必须被从磁带中恢复到重建的逻辑磁盘中。应该注意的是,这里使用的“热点”指访问负载被集中地施加在所述HDDs的特定区域的状态。
近几年来,许多情况下是多个主机共享同样的磁盘阵列装置。在这种情况下,被连接到一个磁盘阵列装置的主机的数目的增加可能会改变所述的访问负载,导致了瓶颈或热点。然而,在传统的磁盘阵列装置中逻辑磁盘的物理布置是静态的。一旦传统的磁盘阵列装置被投入使用,处理访问负载的变化就不容易了。
在解决上述问题的努力中,日本专利申请公开号2003-5920提出了用于以这样一种最佳方式重布置逻辑磁盘的技术,通过使用代表HDDs(物理磁盘)的输入/输出处理性能(I/O性能)的值,使得物理磁盘的I/O特性一致。在下文中公开号2003-5920中提出的技术将被称为现有技术。在现有技术中,每个HDD的繁忙率被控制为是一个最佳的繁忙率。
如果从整个的逻辑磁盘来看,现有技术提出的逻辑磁盘的重布置可以减少访问负载。然而,现有技术以一个逻辑磁盘为单位重布置逻辑磁盘。如果瓶颈和热点发生在构成一个逻辑磁盘的阵列中或HDDs中,现有技术不能消除这样的瓶颈或热点。
发明内容
本发明的一个目的是通过将阵列的整个存储区域划分为预定大小的片段,并组合任意一些所述的片段形成逻辑磁盘来提高访问性能。
根据本发明的实施例,提供了一种用于管理逻辑磁盘的方法。逻辑磁盘被通过使用磁盘驱动器的存储区域构成,并被主机识别为单个磁盘卷。该方法包括:构成阵列,通过将磁盘驱动器的存储区域定义为所述阵列的物理阵列区域构成该阵列,所述阵列由一组片段构成,所述物理阵列区域被划分为具有某种容量的多个区域,被划分的区域被定义为片段;通过组合被包含在所述阵列中的任意多个的片段构成逻辑磁盘;以及交换被加入所述逻辑磁盘的任意的第一片段与未被加入包括该逻辑磁盘在内的任意一个逻辑磁盘的第二片段。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且与以上给出的总体说明和以下给出的实施例的详细说明一起,用来解释本发明的原理。
附图1是一个方框图,示出了具有根据本发明的一个实施例的磁盘阵列装置的计算机系统;
附图2A和2B示出了适用于该实施例的阵列和片段的定义;
附图3示出了适用于该实施例的逻辑磁盘的定义;
附图4示出了图1中示出的映射表122的数据结构的例子;
附图5A是示出了在该实施例中片段移动如何被开始的流程图;
附图5B是示出了在该实施例中片段移动如何被结束的流程图;
附图6是示出了在该实施例中数据写处理如何被执行的流程图;
附图7示出了在该实施例中如何存储映射表122;
附图8示出了该实施例用来减少HDD查找操作的方法;
附图9示出了该实施例用来消除阵列中的热点的方法;
附图10示出了该实施例用来优化RAID等级的方法;
附图11示出了该实施例用来扩展逻辑磁盘的存储容量的方法;
附图12是一个方框图,示出了根据该实施例的第一修改的计算机系统;
附图13是一个方框图,示出了具有根据该实施例的第二修改的磁盘阵列装置的计算机系统;
附图14示出了第二修改用来消除逻辑磁盘的读性能降低的方法;
附图15示出了第二修改用来消除逻辑磁盘的写性能降低的方法;
附图16示出了第二修改用来改善磁盘阵列装置的成本性能的方法;
附图17示出了该实施例的第三修改用来构造阵列的方法。
具体实施方式
现在将参考附图描述本发明的实施例。附图1是一个方框图,示出了具有根据本发明的一个实施例的磁盘阵列装置的计算机系统。该计算机系统包括磁盘阵列装置10和主机(主计算机)20。借助于主机接口HI,例如小型计算机系统接口(SCSI)或光纤通道,主机20被连接到磁盘阵列装置10。主机20使用磁盘阵列装置10作为外部存储。
磁盘阵列装置10包括至少一个阵列(物理阵列)和至少一个阵列控制器。根据该实施例,磁盘阵列装置10包括四个阵列11a(#a)、11b(#b)、11c(#c)和11d(#d),以及由阵列控制器12-1和阵列控制器12-2组成的双重类型控制器。通过将至少一个磁盘驱动器的存储区域定义为阵列11i(i=1、b、c、d)的物理区域(阵列区域)构成每个阵列11i(i=1、b、c、d)。在这个实施例的情况下,通过将多个硬盘驱动器(HDDs)的存储区域定义为阵列11i的物理阵列区域构成每个阵列11i。
借助于存储接口SI,诸如SCSI或光纤通道,阵列控制器12-1和12-2被连接到阵列11i中的每一个(也就是,它们被连接到构成阵列11i的HDDs)。响应主机20产生的数据读/写请求,阵列控制器12-1和12-2并行地操作阵列11i的HDDs,并以分布式的方式执行数据读/写操作。阵列控制器12-1和12-2通过相互通信被同步并保持为相同的状态。
阵列控制器12-1和12-2分别包括虚拟单元120-1和120-2。虚拟单元120-1和120-2组合任意阵列11i的任意片段,并将它们提供为由主机20识别的至少一个逻辑磁盘。“片段”的细节将在以后说明。虚拟单元120-1包括逻辑磁盘配置单元121和映射表122。逻辑磁盘配置单元121包括阵列/片段定义单元121a、逻辑磁盘定义单元121b、片段移动单元121c、数据读/写单元121d和统计信息获取单元121e。尽管未被示出,虚拟单元120-2具有与虚拟单元120-1相似的配置。
通过使得阵列控制器12-1的处理器(未示出)读和执行安装在这个控制器12-1中的特定软件程序来实现逻辑磁盘配置单元121。所述程序可以计算机可读记录介质的形式被获得,并可以从网络下载。
阵列/片段定义单元121a定义阵列和片段。将参考附图2A和2B描述由阵列/片段定义单元121a确定的“阵列”和“片段”的定义。阵列/片段定义单元121a以这样的方式定义至少一个组(例如,它定义多个HDD),所述的组(每个组)包括至少一个HDD(例如,多个HDD)。阵列/片段定义单元121a为每个组定义阵列。每个阵列被作为根据RAID技术确定的阵列被定义(和被管理)。换句话说,相应组的HDDs的存储区域被用作物理区域(阵列区域)。
如附图2A中所示,让我们假定附图1中示出的阵列11a由四个HDD组成,并且是一个按照(RAID1+0)等级被管理的阵列。如附图2A中所示,让我们同样假定附图1中示出的阵列11b由五个阵列组成,并且是一个按照RAID5等级被管理的阵列。为了简单起见,假定没有HDD被共同用于构成阵列11a和11b的两个组。在这种情况下,阵列11a的物理区域(阵列区域)的存储容量与所述的四个HDD的总存储容量相同,并且阵列11b的物理区域(阵列区域)的存储容量与所述的五个HDD的总存储容量相同。
阵列/片段定义单元121a将阵列11a、11b、11c和11d的存储区域划分为预定存储容量的区域(如1GB)。阵列/片段定义单元121a将每个被划分的区域定义为一个片段。换句话说,阵列/片段定义单元121a将阵列11a、11b、11c和11d的存储区域划分为每个都具有预定存储容量的多个片段。也就是,磁盘阵列装置10的任意阵列的任意片段具有相同的存储容量。如下所述,这个特征对于使得片段移动单元121c能够移动片段是重要的。被包括在阵列11a、11b、11c和11d中的片段被分配有被用作所述片段的ID(识别信息)的号(片段号)。以所述阵列的地址升序顺序分配所述片段的片段号。这意味着所述阵列的片段的片段号还表示所述片段在相应阵列中的物理位置。
逻辑磁盘定义单元121b定义了被主机20识别为单个磁盘(磁盘卷)的逻辑磁盘。将参考附图3描述逻辑磁盘定义单元121b如何确定逻辑磁盘的定义。逻辑磁盘定义单元121b将被包括在至少一个任意的阵列中的多个任意的片段连接(组合)到另一个(和另一个结合在一起)。逻辑磁盘定义单元121b定义逻辑磁盘,在该逻辑磁盘中,所述被连接的(被组合)任意的片段被作为逻辑存储区域管理。在附图3示出的例子中,包括阵列11a的片段#a0、阵列11c的片段#c0、阵列11a的片段#a1和阵列11d的片段#d0的一组片段被组合(被连接)在一起,并且所述片段的结果组合被定义为逻辑磁盘31-0(#0)。同样,包括阵列11a的片段#a2、阵列11b的片段#b0、阵列11b的片段#b1和阵列11c的片段#c0的一组片段被组合在一起,并且所述片段的结果组合被定义为逻辑磁盘31-1(#1)。
以这种方式,逻辑磁盘的存储区域在相应于片段之间的边界的位置处不连续,并且由(一个片段的存储容量)×(片段的数目)代表逻辑磁盘的存储容量。逻辑磁盘构成了被主机20识别为单个磁盘区域(磁盘卷)的单元。换句话说,主机20识别逻辑磁盘,如同它是单个HDD一样。所述逻辑磁盘的片段被以该逻辑磁盘的逻辑地址升序顺序分配片段号。从这里可以看出,基于两个片段号管理逻辑磁盘的每个片段:一个是代表该片段在所述逻辑磁盘中的逻辑位置的片段号,以及另一个是代表该片段在相应阵列中的物理位置的片段号。
映射表122存储了代表逻辑磁盘如何被与阵列相关联的映射信息。附图4示出了映射表122的数据结构的例子。在附图4示出的例子中,片段上的信息被以这样的方式存储在映射表122的行方向上,即,相应于该逻辑磁盘的最小地址的片段居先,并且其余的片段以该逻辑磁盘的地址的升序顺序跟随在其后。在本实施例的情况中,被包括在逻辑磁盘的每个片段上的信息包括被存储在字段(条目)41到48中的信息。在字段41中存储了逻辑磁盘号。逻辑磁盘号是片段被分配到的逻辑磁盘的标识(ID)信息。在字段42中,存储了表示片段在该逻辑磁盘中处于何处的片段号。在字段43中,存储了阵列号。所述阵列号是表示片段属于哪个阵列的阵列ID。在字段44中,存储了表示片段在阵列中处于何处的片段号。在字段45中,存储了一个拷贝标记。该拷贝标记指出片段中的数据是否将被拷贝到另一个片段。在字段46中,存储了阵列号。这个阵列号指出片段中的数据将被拷贝到的阵列。在字段47中,存储了片段号。这个片段号指出片段中的数据将被拷贝到目的地阵列的哪个片段中。在字段48中,存储了大小信息。该大小信息表示已经对其完成拷贝的数据的大小。应该注意的是,映射表122不包括表示每个片段在相应的阵列中的位置和每个片段在相应的HDD中的位置之间的关系的位置信息。其原因是所述阵列的每个片段位于相应的HDD中的哪个位置可以被基于所述片段的片段号(也就是说,表示所述片段位于所述阵列中何处的片段号)和所述片段的大小确定。不需要的说是,上述的位置信息可以被存储在映射表122中。
片段移动单元121c移动所述逻辑磁盘的任意片段的数据。片段的数据被如下移动。首先,片段移动单元121c生成任意逻辑磁盘的任意片段(第一片段)的数据的拷贝,并将该拷贝提供给没有被分配给或被包括在所述逻辑磁盘的片段(第二片段)。然后,片段移动单元121c用所述片段彼此替代。更详细地,片段移动单元121c将前面的片段(第一片段)作为没有被包括在所述逻辑磁盘中的片段(也就是,未用的片段)处理,并将后面的片段(第二片段)作为被包括在所述逻辑磁盘中的片段(也就是说,作为被分配到所述逻辑磁盘的片段)处理。
根据这个实施例,仅通过替代将要被加入(被分配)到逻辑磁盘的片段,可以容易地重构造逻辑磁盘。因此,即使在操作开始后,也可以容易地满足访问负载的变化,而不用停止所述逻辑磁盘的使用(也就是,在线地),从而改善了访问性能。
参考附图4中示出的映射表122,将给出由片段移动单元121c执行的片段移动的详细描述。让我们假定具有片段号3并被包括在逻辑磁盘号0的逻辑磁盘中的片段将被移动。具有片段号3的片段相应于具有片段号10的片段,具有片段号10的片段被包括在阵列号2中的阵列中。片段号3的片段的数据将被拷贝到片段号5的片段,片段号5的片段被包括在阵列号1的阵列中。拷贝操作的进展(所述数据已经被拷贝到片段号5的片段的点)被由存储在字段48中的大小信息指出。
在被存储在片段号3的片段中的所有数据拷贝完后,片段移动单元121c使得拷贝源片段和拷贝目的地片段彼此替换。以这种方式,片段移动单元121c将被包括在逻辑磁盘号0的逻辑磁盘中的片段号为3的片段从被包括在阵列号2的阵列中的片段号10的片段转换到被包括在阵列号1的阵列中的片段号5的片段。结果,被包括在逻辑磁盘号0的逻辑磁盘中的片段号3的片段的物理分配被从被包括在阵列号2的阵列中的片段号10的片段移动或改变到被包括在阵列号1的阵列中的片段号5的片段。正在完成了所述拷贝操作后,拷贝标记被清除(“0”清除),并且指明数据被拷贝到的阵列和片段的阵列号和片段号也被清除(“0”清除)。
现在将给出片段移动单元121c如何开始和结束片段移动的说明。首先,将参考附图5A中示出的流程图描述如何开始片段移动。首先,片段移动单元121c暂时禁止阵列控制器12-1对将被执行片段移动的逻辑磁盘执行I/O处理(数据读/写操作)(步骤S11)。这里假定与将被执行移动(或拷贝)的片段有关的映射表122的行被称为映射表122的行X。在执行步骤S11后,片段移动单元121c进入到步骤S12。在步骤S12中,片段移动单元121c分别设置映射表122的行X的字段46和47中的阵列号和片段号。所述的阵列号指出拷贝目的地片段所属的阵列,并且所述片段号指出是拷贝目的地的片段。
接着,片段移动单元121c在映射表122的行X的字段48中设置拷贝完成大小“0”(步骤S13)。在步骤S13中,片段移动单元121c在映射表122的行X的字段45中设置拷贝标记。接着,片段移动单元121c保存映射表122的内容(步骤S14),包括在步骤S12和S13中更新的行信息。映射表122被保存在管理信息区域内,所述的管理信息区域被提供在磁盘阵列装置10的每个HDDs中。稍后将说明管理信息区域。片段移动单元121c允许阵列控制器12-1恢复被执行片段移动的逻辑磁盘的I/O处理(数据读/写操作)(步骤S15)。
参考附图5B所示的流程图,将描述如何结束片段移动。在结束片段拷贝(移动)操作之后,片段移动单元121c临时禁止阵列控制器12-1对被执行片段移动的逻辑磁盘执行I/O处理(步骤S21)。接着,片段移动单元121c在映射表122的行X的字段43和44中分别设置阵列号和片段号。所述阵列号指出拷贝目的地片段属于哪个阵列,并且所述片段号指出是拷贝目的地的片段。
接着,片段移动单元121c从映射表122的行X的字段46和47清除所述的阵列号(指出拷贝目的地片段属于哪个阵列)和片段号(指出拷贝目的地片段)(步骤S23)。在步骤S23,片段移动单元121c还从映射表122的行X的字段45清除拷贝标记。接着,片段移动单元121c保存映射表122的内容(步骤S24),包括在步骤S22和S23中更新的行信息。映射表122被保存在管理信息区域内,所述管理信息区域被提供在磁盘阵列装置10的每个HDDs中。片段移动单元121c允许阵列控制器12-1恢复被执行片段移动的逻辑磁盘的I/O处理(步骤S25)。
在本实施例中,上述的片段拷贝(移动)操作可以在该片段被分配到的逻辑磁盘在线时(也就是,当逻辑磁盘在操作中时)被执行。为了使之得以实现,数据读/写单元121d必须根据附图6中示出的流程图执行数据写操作(所述的数据写操作遵从主机20提供给磁盘阵列装置10的数据写请求)。将参考附图6给出如何执行数据写处理的描述,其中主机20提供给磁盘阵列装置10的数据写请求与拷贝操作所涉及的片段有关。这里假定与将被执行写操作的片段有关的映射表122的行被称为映射表122的行Y。
首先,读/写单元121d确定是否在映射表122的行Y的字段45中设置了拷贝标记(步骤S31)。在这个例子中设置了拷贝标记。在拷贝标记被设置的情况下,意味着将被执行写操作的片段将被用作拷贝源片段。在这种情况下,数据读/写单元121d确定是否对将被用于所述写操作的片段区域执行了拷贝操作(步骤S32)。步骤S32的确定是根据存储在映射表122的行Y的字段48中的大小信息做出的。
让我们假定已经对将被用于写操作的片段区域执行了拷贝操作(步骤S32)。在这种情况下,数据读/写单元121d在拷贝源片段(数据将被从其中移动)和拷贝目的地片段(数据将被移动到其中)的区域中写数据(步骤S33)。拷贝操作可能由于某种原因或其他原因不能成功地结束。为了解决这个问题,希望被写的数据不仅在拷贝目的地片段中,也在拷贝源片段中(双重写)。
可能出现将被用于所述写操作的片段没有被拷贝的情况(步骤S31),或是对将被用于所述写操作的片段区域的拷贝操作还没有被完成的情况(步骤S32)。在这些情况下,数据读/写单元121d仅在必须对其执行写操作并且被包括在拷贝源片段内的区域中写数据(步骤S34)。
现在将参考附图7描述如何保存映射表122。映射表122是一张重要的表,它将逻辑磁盘与构成所述逻辑磁盘的片段的物理分配关联在一起。如果存储在映射表122中的信息(映射信息)丢失了,这可能会引起数据丢失。因此,即使阵列控制器12-1和12-2两者同时出现故障,或即使出现电源故障,映射表122中的信息必须不被丢失。本实施例使用了一种保存方法,它对于阵列控制器或HDD的故障或替换实现足够的冗余,并且有效地防止了数据丢失。另外,本实施例遵从即使在附图5A和5B示出的流程图中也防止映射表中的信息被丢失的程序。也就是,本实施例允许在根据所述片段移动被更新的映射表122中的信息被保存之后,继续由主机请求的I/O处理。
让我们假定附图7中示出的(n+1)个HDDs70-0到70-n被连接到附图1中示出的磁盘阵列装置10的阵列控制器12-1和12-2。本实施例以下面所述的方式使用这些HDDs70-0到70-n,以便可靠地保持在映射表122中的信息。HDDs70-0到70-n的存储区域被部分地被用作管理信息区域71。每个管理信息区域71是一个特定的区域,它存储着阵列控制器12-1和12-2用于磁盘阵列管理的管理信息。管理信息区域71不被用作片段。换句话说,管理信息区域71不能被用作用户可以自由地读或写信息的区域(用户卷)。
在附图5A和5B的流程图的步骤S14和S24中,被更新的映射表122的信息(映射信息)如附图7中的箭头72所指示的被冗余地存储在HDDs70-0到70-n的管理信息区域中。结果,映射表122被倍增为(n+1)份。如附图7中箭头73所示,对映射表122的读被在HDDs70-0到70-n的所有的管理信息区域71中执行。这里,n+1份映射表122的信息(映射信息)被比较,并且根据,例如,多数操作(majority operation)确定正确的信息。结果,该系统可以抵抗HDD或阵列控制器中的故障。
附图1中示出的统计信息获取单元121e为每个片段获取与关于片段的I/O处理(访问处理)有关的统计信息(此后被称为I/O统计信息)。为每个片段获取的I/O统计信息被存储在阵列控制器12-1的存储器(未示出)的预定区域内,例如,随机访问存储器(RAM)的预定区域内。所述I/O统计信息包括,例如,单位时间的写次数、单位时间的读次数、每单位时间的传输大小和I/O处理时间。一般来说,按照上面提到的日本专利申请公开号2003-5920中所述,为每个逻辑磁盘或每个HDD获取这种类型的I/O统计信息。然而,根据本实施例,应该注意的是,为了通过移动片段来调整阵列或HDD的访问负载,每个片段的I/O统计信息被用于确定所述的负载调整。当然,每个逻辑磁盘或阵列内的I/O处理的统计值还可以通过使用每个片段的统计信息所指出的值来计算(例如,累加)。
根据本实施例,使用了为每个片段获取的I/O统计信息。在这种情况下,片段移动单元121c检查I/O统计信息,从而确定由所述I/O统计信息指出的统计值是否超过了一个预定的阈值。如果所述统计值超过了该阈值,片段移动单元121c按照预定的策略自动地移动片段。结果,当对阵列的访问负载超过了该阵列的性能的某个比率(N%)时,片段移动单元121c可以自动以具有最低负载的阵列的片段代替指定数目的片段。另外,通过在每个预定的周期检查片段的分配,可以替换所述片段,从而具有RAID1+0等级的片段被用于具有高访问负载的片段,并且具有RAID5等级的片段被用于具有低访问负载的片段。
下面,将给出通过使用由统计信息获取单元121e获取的I/O统计信息,通过移动片段调整阵列或HDD的访问负载的方法的说明。此处,将连续描述以下四种访问负载调整方法;
(1)减少HDD中的查找时间的方法
(2)消除在阵列中的热点的方法
(3)优化RAID等级的方法
(4)扩展逻辑磁盘的容量的方法
(1)减少HDD中的查找时间的方法
首先,参考附图8描述减少HDD中的查找时间的方法。通常,对于在HDD中从某个柱面到另一个柱面移动磁头的查找操作,两个柱面之间的距离越长,查找操作所用的时间(查找时间)越长。因此,当具有高访问频率(访问负载)的区域(地址)彼此接近时,减少了查找时间从而提高了性能。
附图8示出了附图1所示的阵列11a(#a)内的片段被替换之前的状态,以及所述片段被通过比较替换后的状态。在阵列11a(#a)中在片段被替换之前,具有高访问频率的区域111和113存在于小地址(附图中的上部)和大地址(附图中的下部)两端。具有低访问频率的区域112存在于区域111和113之间。在这种情况下,构成阵列11a(#a)的HDDs也转变为与阵列11a相同的状态,并且具有低访问频率的区域存在于具有高访问频率的两个区域之间。因此,在构成阵列11a的HDDs中,移动磁头的查找操作频繁地发生在具有高访问频率的两个区域之间。在这种情况下,增加了查找时间,从而HDD的访问性能,也就是阵列11a的访问性能降低了。
通过交换处于这种状态的阵列11a中的片段,具有高访问频率的区域被聚集在阵列11a的一侧。结果,访问阵列11a的查找时间被减少,从而阵列11a的访问性能被改善。阵列11a(#a)中的具有高访问频率的区域是指这样的区域,在该区域内,由统计信息过去单元121e获取的I/O统计信息指示的访问负载(例如,每秒输入/输出的次数)超过了一个预定阈值的片段是连续的。阵列11a(#a)中的具有低访问频率的区域是指阵列11a(#a)中除了具有高访问频率的区域之外的区域。没有被加入(未被分配到)该逻辑磁盘的未使用的片段属于具有低访问频率的区域。
现在,假定具有低访问频率的区域112的大小比具有高访问频率的区域(第二区域)113大。根据本实施例,如附图8的箭头81所指示的,片段移动单元121c将属于具有高访问频率的区域113的片段的数据移动到具有高访问频率的区域(第一区域)111之后的具有低访问频率的区域112中的与区域113相同大小的区域112a。与此并行地,如附图8中箭头82中指示的,片段移动单元121c将属于区域112a的片段的数据移动到具有高访问频率的区域113。片段移动单元121c以属于区域112a的片段替换属于区域113的片段。以这种方式,所述片段被交换,使得在区域11a(#a)中在交换之后,区域111和区域111之后的区域112转变为具有高访问频率的区域,同时保持连续的区域112b和113转变为具有低访问频率的区域。也就是,具有高访问频率的区域可以被聚集在阵列11a(#a)的一侧。
在使用所述逻辑磁盘的同时,可以下面的程序执行片段移动单元121c对片段的交换。首先,片段移动单元121c将要被交换的片段指定为片段(第一片段)#x和片段(第三片段)#y。假定片段#x、#y分别是区域113和112a中的第i个片段。此外,片段移动单元121c准备没有被加入任意的逻辑磁盘的工作片段(第二片段)#z。接着,片段移动单元121c将片段#x的数据拷贝到片段#z,并交换片段#x和片段#z。接着,片段移动单元121c使片段#z被加入到所述的逻辑磁盘。接着,片段移动单元121c将片段#y的数据拷贝到片段#x,并交换片段#y和片段#x。接着,片段移动单元121c将片段#z的数据拷贝到片段#y,并交换片段#z和片段#y。结果,区域113中的第i个片段#x与区域112a中的第i个片段#y的交换被完成。片段移动单元121c重复区域113中的各个片段和与前面的片段一样处于相同相对位置的区域112a中的各个片段之间的交换处理。
(2)消除阵列中的热点的方法
根据这个实施例,通过消除对特定阵列的集中访问以便平衡阵列之间的访问,可以消除热点。将参考附图9描述消除热点的方法。附图9指出了三个阵列11a(#a)、11b(#b)和11c(#c)。各个阵列的能力取决于构成阵列的HDDs的类型和数目、在阵列的管理中使用的RAID等级等而不同。阵列11a、11b和11c的能力以每秒输入/输出的次数来表示,也就是被称作IOPS的值,并且这些分别是900、700和800。另一方面,由统计信息获取单元121e获取的统计信息包括阵列11a、11b和11c的片段的IOPS值,并且阵列11a、11b和11c的片段的IOPS总值分别是880、650和220。
在上述例子中,从主机20接近阵列11a和11b的性能的上限地访问阵列11a和11b。与此相反,存在未用的若干片段,也就是,阵列11c中没有被分配到任何逻辑磁盘的片段。因此,阵列11c在其处理性能中具有余量。接着,片段移动单元121c基于每个片段的IOPS值(统计信息)将阵列11a和11b的部分的片段的数据(具有高访问频率的片段)移动到阵列11c中的未使用片段。以这种方式,可以给阵列11a和11b的处理性能提供余量。
在附图9示出的例子中,IOPS值分别是90和54的阵列11a内的片段91和92中的数据,以及IOPS值是155的阵列11b内的片段93的数据被移动到阵列11c的未用片段94、95和96。接着,数据移动目的地片段94、95和96被代替数据移动源片段91、92和93分配到相应的逻辑磁盘(被加入)。数据移动目的地片段91、92和93从被分配到逻辑磁盘的状态中释放,并转变为未使用的片段。结果,阵列11a和11b的IOPS的总值分别从880和650减到736和495。其间,移动片段(交换)的方法与以上所述的相同。
如上所述,方法(2)通过从具有高访问频率的片段将数据移动到未使用片段解决阵列的“热点”问题。然而不用说的是,如以上方法(1)所述,通过交换具有高访问频率的片段与具有低访问频率的片段,可以控制被施加到阵列的负载。
(3)优化RAID等级的方法
接着,将参考附图10描述优化RAID等级的方法。根据这个实施例,与附图8中的阵列11a类似,逻辑磁盘中的区域可以被划分为(分类为)具有高访问频率的区域和具有低访问频率的区域。由统计信息获取单元121e获取的统计信息被用于该划分。附图10示出了逻辑磁盘100被划分为具有高访问频率的区域100、具有低访问频率的区域102和具有高访问频率的区域103的状态。
如附图10中所示,逻辑磁盘定义单元121b在逻辑磁盘100中以采用RAID等级1+0的阵列片段重构具有高访问频率的区域101和103,RAID等级1+0被公知为具有极好的性能。此外,如附图10中所示,逻辑磁盘定义单元121b在逻辑磁盘100中以采用RAID5的阵列片段重构具有低访问频率的区域102,RAID5被公知为具有极好的成本性能。根据这个实施例,这样的调整可以在使用逻辑磁盘的同时被执行。
根据上述方法,通过在所述阵列中以采用目标RAID等级的阵列中的未使用片段替换被分配给所述阵列的片段,实现区域101、102和103的重构。如果交换构成区域101和103的片段的RAID等级和构成区域102的片段的RAID等级满足这个目的,具有相同大小的区域之间的片段仅仅被以与减少HDD中的查找时间的方法相同的方式交换。
(4)扩展逻辑磁盘容量的方法
根据这个实施例,由具有小容量的单元构成所述逻辑磁盘,所述的单元是一个片段。因此,当逻辑磁盘的容量短缺时,通过将附加的片段连接到所述逻辑磁盘,可以灵活地扩展逻辑磁盘的容量。将参考附图11描述扩展逻辑磁盘容量的方法。附图11示出了容量为X的逻辑磁盘。如附图11所示,当逻辑磁盘110的容量需要从X扩展到X+Y时,逻辑磁盘定义单元121b将相应于容量Y的数目的片段连接到逻辑磁盘110。
附图1仅示出了主机20作为使用磁盘阵列装置10的主机。然而,通过连接包括主机20的多个主机和磁盘阵列装置10,多个主机可以共享磁盘阵列装置10。
[第一修改]
接着,将参考附图12描述上述实施例的第一修改。根据上述实施例,磁盘阵列装置10和主机20被直接连接。然而近来,已经出现了这样的计算机系统,其中有至少一个磁盘阵列装置,例如,多个磁盘阵列装置和至少一个主机,例如,多个主机被连接到被称作存储区域网络(SAN)的网络。
附图12示出了这种计算机系统的一个例子。在附图12中,磁盘阵列装置10-0和10-1和主机20-0和20-1被诸如SAN的网络N连接。主机20-0和20-1共享磁盘阵列装置10-0和10-1作为它们的外部存储单元。然而,磁盘阵列装置10-0和10-1不被主机20-0和20-1所识别。也就是,磁盘阵列装置10-0和10-1被主机20-0和20-1识别为通过使用由磁盘阵列装置10-0和10-1拥有的HDDs的存储区域而实现的逻辑磁盘。
在附图12示出的系统中,类似于附图1中示出的虚拟单元120-1和120-2的虚拟装置120,被独立地提供给磁盘阵列装置10-0和10-1的阵列控制器(未示出)。虚拟装置120被连接到网络N。虚拟装置120通过在使用由磁盘阵列装置10-0和10-1拥有的HDDs的存储区域而实现的阵列中连接多个片段定义(构造)逻辑磁盘。逻辑磁盘被主机20-0和20-1识别为单个磁盘(磁盘卷)。
[第二修改]
接着,将参考附图13描述以上实施例的第二修改。附图13是示出了具有根据本发明的实施例的第二修改的磁盘阵列装置的计算机系统的配置的方框图。在附图13中,类似的标号被附于与附图1示出的元件相同的组件。附图13的计算机系统包括磁盘阵列装置130和主机20。磁盘阵列装置130与附图1所示的磁盘阵列装置10不同,其中磁盘阵列装置130具有硅盘(silicon disk)设备131。硅盘设备131是诸如电池备份型RAM盘设备的存储设备,它由多个存储器设备诸如动态RAM(DRAMs)构成。硅盘设备131被这样设计,从而可以从主机使用与用于HDD的相同的访问方法(接口)访问设备131。因为硅盘设备131由存储器设备构成,尽管与HDD相比贵且具有小的容量,它可以获得非常快的访问。
磁盘阵列装置130具有HDD 132A(#A)、132B(#B)、132C(#C)和132D(#D)。尽管HDD 132A和132B的性能低,HDD 132A和132B是便宜并且容量大的HDD,并被用于构成阵列。尽管HDD 132C和132D的性能高,HDD 132C和132D是贵且小容量的HDD,并被用于构成阵列。HDD 132A、132B、132C和132D与硅盘设备131一起被通过存储接口SI连接到阵列控制器12-1和12-2。
将参考附图14描述消除用于第二修改的逻辑磁盘的读访问性能(读性能)的降低的方法。附图14示出了由多个片段构成的逻辑磁盘141。逻辑磁盘141包括区域141a(#m)和141b(#n)。通过组合构成阵列142-0(#0)的区域142a(#m)和142b(#n)的物理上连续的片段构成逻辑磁盘141的区域141a(#m)和141b(#n)。这里,假定请求对逻辑磁盘141的区域141a(#m)或141b(#n)中的片段进行访问。在这种情况下,在阵列142-0(#0)的区域142a(#m)或142b(#n)中的相应片段被物理地访问。
假定构成逻辑磁盘141的区域141b(#n)的每个片段的单位时间的读次数超过了预定的阈值。另一方面,假定构成逻辑磁盘141的区域141a(#m)的每个片段的单位时间的读次数没有超过前述的阈值。也就是,假定对逻辑磁盘141的区域141b(#n)的读访问的负载(读负载)高,而对逻辑磁盘141的区域141a(#m)的读负载低。在这种情况下,对于对逻辑磁盘141的读访问,相应于逻辑磁盘141的区域141b(#n)的阵列142-0的区域142b(#n)成为瓶颈。结果,逻辑磁盘141的读访问性能降低了。
片段移动单元121能够根据由统计信息获取单元121e获取的每个片段的I/O统计信息指示的单位时间读取次数,将逻辑磁盘141的区域(其中的片段具有连续的高的读负载)检测为具有高的读负载的区域。这里,片段移动单元121将逻辑磁盘141的区域141b(#n)检测为具有高的读访问负载的区域。接着,阵列/片段定义单元121a定义附图14中所示的新的阵列142-1(#1)。根据这个定义,如附图14中的箭头144指示的,片段移动单元121将区域143b(#n)分配给阵列142-1(#1),作为阵列142-0(#0)中的区域142b(#n)的复制品(镜像)。被包括在阵列142-1的区域143b(#n)中的片段成为被包括在阵列142-0(#0)的区域142b(#n)中的片段的复制品。如上所述,阵列142-0(#0)的区域142b(#n)相应于逻辑磁盘141的区域141b(#n)。
假定在这种状态下,被写到被包括在逻辑磁盘141的区域141b(#n)中的片段的数据被从主机20请求到磁盘阵列装置130。在这种情况下,如附图14中箭头145所表示的,数据读/写单元121d将相同的数据写到阵列142-0(#0)的区域142b(#n)和阵列142-1(#1)的区域143b(#n)中。也就是,数据读/写单元121d将数据写到被包含在阵列142-0(#0)的区域142b中的相应片段。同时,数据读/写单元121d还将相同的数据写(镜像写)到被包括在阵列142-1(#1)的区域143b(#n)中的相应片段内。
另一方面,当从主机20请求对被包括在逻辑磁盘141的区域141b(#n)内的片段的数据读取时,数据读/写单元121d如下读取所述数据。也就是如附图14中箭头146-0或146-1所指示的,数据读/写单元121d从被包括在阵列142-0(#0)的区域142b(#n)中的相应片段和被包括在阵列142-1(#1)的区域143b(#n)中的相应片段的任意一个读取数据。此处,数据读/写单元121d从区域142b(#n)或区域143b(#n)读取数据,从而它的读访问被分散到阵列142-0(#0)的区域142b(#n)和阵列142-1(#1)的区域143b(#n)中。例如,当从主机20请求对逻辑磁盘141的区域141b(#n)的数据读取时,数据读/写单元121d每次交替地从阵列142-0(#0)的区域142b(#n)和阵列142-1(#1)的区域143b(#n)读取数据。
以这种方式,根据该第二修改,区域143b(#n)(它是阵列142-0(#0)中包含具有高的读负载的片段的区域142b的复制品)被分配到其他的阵列142-1(#1)而不是阵列142-0(#0)。结果,对区域142b(#n)的读访问可以被分散到区域143b(#n)。通过这种读访问的分散,对阵列142-0(#0)的区域142b(#n)的读访问的瓶颈被消除了,由此提高了逻辑磁盘141内的区域141b(#n)的读性能。
接着,假定对被包括在逻辑磁盘141的区域141b(#n)中的片段的读访问频率减少了,从而区域141b(#n)的读负载降低了。在这种情况下,片段移动单元121释放阵列142-0(#0)中的区域(复制品区域)142b(#n)。也就是,片段移动单元121将相应于逻辑磁盘141的区域141b(#n)的阵列中的区域的分配还原为它的原始状态。结果,通过很好地使用物理磁盘的有限的容量,所述逻辑磁盘的读访问性能可以被提高。
接着,将参考附图15描述消除第二修改采用的逻辑磁盘的写访问性能(写性能)的降低的方法。附图15示出了由多个片段构成的逻辑磁盘151。逻辑磁盘151包括区域151a(#m)和151b(#n)。逻辑磁盘151的区域151a(#m)和151b(#n)是通过分别组合构成阵列152的152a(#m)和152b(#n)的物理上连续的片段构成的。
对于附图15所示的例子,假定对构成逻辑磁盘151的区域151b(#n)的每个片段的单位时间的写次数超过了预定的阈值。另一方面,假定对构成逻辑磁盘151的区域151a(#m)的每个片段的单位时间的写次数没有超过前述的阈值。在这种情况下,根据由统计信息获取单元121e获取的每个片段的I/O统计信息指示的单位时间写次数,片段移动单元121将逻辑磁盘151的区域151b(#n)检测为具有高的写访问负载(写负载)的区域。同样,片段移动单元121将逻辑磁盘151的区域151a(#m)检测为具有低的写负载的区域。
接着,如附图15中箭头154b所示,阵列/片段定义单元121a在硅盘设备131的存储区域中定义相应于的逻辑磁盘151的区域151b(#n)的区域153b(#n)。根据这种定义,片段移动单元121将构成逻辑磁盘151的区域151b(#n)的片段从阵列152的区域152b(#n)重新定位到硅盘设备131的区域153b(#n)。硅盘设备131产生比构成阵列152的HDDs更快的访问。因此,作为重新定位的结果,逻辑磁盘151中的区域151b(#n)的写性能被改善了。
硅盘设备131与所述的HDDs相比是非常贵的。因此,从成本性能的角度来看,将构成逻辑磁盘151的所有片段分配到硅盘设备131是不利的。然而,根据第二修改,仅有逻辑磁盘151中的构成具有高的写负载区域151b的片段被分配到硅盘设备131。结果,可以有效地使用昂贵的硅盘设备131的小的存储区域。
接着假定构成逻辑磁盘151的区域151b(#n)的片段的写访问频率降低了,从而区域151b(#n)的写负载降低了。在这种情况下,片段移动单元121将被包括在逻辑磁盘151的区域151b(#n)的片段从硅盘设备131重新布置到构成HDDs的阵列,例如,原始的阵列152。结果,通过更有效地使用昂贵的硅盘设备131的有限的容量,逻辑磁盘的写访问性能可以被改善。
根据第二修改,磁盘阵列装置130具有HDD 132A(#A)、132B(#B)和HDD 132C和132D,HDD 132C和132D与HDD 132A(#A)和132B(#B)的类型不同。然后,将参考附图16描述第二修改采用的,通过使用不同类型的HDDs改善逻辑磁盘的访问性能的方法。附图16示出了由多个片段构成的逻辑磁盘161。逻辑磁盘161包括区域161a(#m)和161b(#n)。假定逻辑磁盘161的区域161b(#n)是由访问频率高于其阈值的片段构成的。另一方面,假定逻辑磁盘161的区域161a(#m)是由访问频率低于所述阈值的片段构成的。在这种情况下,片段移动单元121将逻辑磁盘161的区域161b(#n)检测为具有高访问频率的区域。
附图16示出了多个阵列,例如,两个阵列162和163。如箭头164所指示的,通过使用便宜并且大容量的HDD 132A(#A)和132B(#B)的存储区域构成阵列162,尽管它们的性能低。与此相反,通过使用昂贵并且小容量的HDD 132C(#C)和132D(#D)构成阵列163,尽管它们的性能高。以这种方式,以容量和成本为重点构成阵列162,并且以性能为重点构成阵列163。
如附图16中的箭头166所指示的,片段移动单元21将被包括在逻辑磁盘161的具有低的访问频率的区域161a(#m)中的片段分配到,例如,阵列162的区域162a。此外,如附图16中的箭头167所指示的,片段移动单元21将被包括在逻辑磁盘161的区域161b(#n)中的片段分配到,例如,阵列163的区域163b。如果逻辑磁盘161的区域161a(#m)或161b(#n)的访问频率在这种分配后被改变,片段移动单元121将改变被包括在区域161a(#m)或161b(#n)内的片段应当被分配到的阵列。根据第二修改,准备了具有不同特性(类型)的阵列162和163,并且取决于逻辑磁盘161中具有的不同访问性能(访问频率)的各个区域,交换构成所述区域的片段将被分配到的阵列。结果,根据第二修改,可以改善磁盘阵列装置130的成本性能。
[第三修改]
根据以上实施例,其第一修改和第二修改,在构造逻辑磁盘的一个时刻,构成所述逻辑磁盘的片段被分配到一个阵列。然而,当从主机向所述磁盘阵列装置请求对所述逻辑磁盘中的片段的第一访问时,那些片段可以被分配在所述阵列的存储区域中。
根据第三修改,当所述逻辑磁盘中的片段被首次使用时,也就是,所述片段被从未使用片段变为已用片段,应用了一种用于将所述片段分配到所述阵列的存储区域的阵列构成方法。将参考附图17描述第三修改采用的阵列构成方法。第三修改被应用到与第二修改类似的附图13中示出的磁盘阵列装置130。
附图17示出了逻辑磁盘171和阵列172(#0)。逻辑磁盘171包括片段171a、171b、171c、171d、171e、171f和171g。根据第三修改,在逻辑磁盘被生成(定义)时的一个时间点,构成逻辑磁盘171的任何片段(也就是,包括片段171a到171g的未使用的片段)没有被分配到阵列172(#0)。假定在此之后,在时刻t1发生从主机20对片段171a的第一访问,并且在在时刻t1之后的时刻t2,发生从主机20对片段171d、171e和171f的第一访问。
在时刻t1当发生对片段171a的第一访问时,如附图17中的箭头173a所指示的,阵列/片段定义单元121a实际上将阵列172的区域分配到片段171a。此后,片段171a到阵列172的分配被完成,从而它被从未使用片段变为已用片段。同样,在时刻t2,当发生对片段171d、171e和171f的第一访问时,如附图17中的箭头173d、173e和173f所指示的,阵列/片段定义单元121a实际上将阵列172的区域分配到片段171d、171e和171f,。此后,片段171d、171e和171f到阵列172的分配被完成,从而它被从未使用片段变为已用片段。
阵列/片段定义单元121a管理构成逻辑磁盘171的片段,以便以从首先被访问的片段开始的顺序连续地分配阵列172的物理的实际区域。使用该管理方法的磁盘阵列装置130对于这样的系统是最佳的,在所述的系统中由于在操作继续时用户、数据库和内容的数目的增加,实际被使用的磁盘容量逐渐地增加。其原因是当系统被构成时,可以产生最终将必需的估计容量的逻辑磁盘,而不管实际阵列的容量如何。此处,在所述逻辑磁盘的所有片段中,仅有实际被使用的片段被分配给该阵列。因此,当当前使用的磁盘容量逐渐增加时,可以根据增加的容量增加阵列。
结果,根据第三修改,对构造所述系统的最初投资可以被压低到一个低的值。此外,因为没有所述阵列的区域被浪费在所述逻辑磁盘中的未使用的区域上,增加了物理磁盘容量的有效性。此外,根据第三实施例,由于系统操作被开始之后物理磁盘容量的不足,增加了阵列,并且被增加的阵列的实际区域被分配给所述逻辑磁盘最近被使用的片段。此处,所述逻辑磁盘本身是以最终必需的容量被产生(定义)的。因此,即使增加了任何的阵列,并且分配了所述阵列的真实区域,也不必检查由主计算机识别的配置诸如逻辑磁盘的容量,因此简便了所述系统的操作。
其他的优点和修改对于本领域的技术人员而言是容易产生的。因此,本发明在广泛的方面不局限于此处示出和描述的特定的细节和典型实施例。因此,可以进行各种修改而不脱离由附加的权利要求和其等同物定义的总的发明概念的精神和范围。
Claims (8)
1.一种管理逻辑磁盘的方法,所述逻辑磁盘利用磁盘驱动器的存储区域构成,并被主机识别为单个磁盘卷,该方法的特征在于包括:
构成阵列,通过将磁盘驱动器的存储区域定义为所述阵列的物理阵列区域构成该阵列,所述阵列由一组片段构成,所述物理阵列区域被划分为多个具有相同存储容量的区域,所述被划分的区域被定义为片段;
通过组合被包含在所述阵列中的片段的任意多个片段构成逻辑磁盘;以及
对被加入所述逻辑磁盘内的任意的第一片段与未被加入包括所述逻辑磁盘在内的任何逻辑磁盘的第二片段进行交换。
2.根据权利要求1的方法,其特征在于所述交换还包括:
将所述第一片段的数据拷贝到所述第二片段;以及
在完成了将数据从所述第一片段拷贝到所述第二片段之后,交换所述第一片段和所述第二片段,并使所述第二片段加入所述逻辑磁盘。
3.根据权利要求1的方法,其特征在于还包括:
为构成所述逻辑磁盘的每个片段获取关于对片段的访问的统计信息,并将所述信息保存在存储设备内;
根据为每个片段获取的统计信息,检测所述阵列中具有高的访问负载的区域;以及
以属于具有高的访问负载的被检测区域的片段作为所述的第一片段,执行所述交换。
4.根据权利要求1的方法,其特征在于所述交换还包括:
在交换所述第一片段与所述第二片段之后,交换被加入所述逻辑磁盘的任意的第三片段与所述的第一片段;以及
在交换所述第三片段与所述第一片段之后,交换所述第二片段与所述第三片段。
5.根据权利要求4的方法,其特征在于还包括:
为构成所述逻辑磁盘的每个片段获取关于对片段的访问的统计信息,并将所述信息保存在存储设备内;
基于为每个片段获取的所述统计信息,检测所述阵列中具有高的访问负载的区域;以及
当具有高的访问负载的第一和第二区域被在所述阵列中检测到时,以属于所述阵列中的第三区域的片段作为所述第三片段,并且以属于所述第二区域的部分或全部的片段作为所述第一片段,执行所述交换以便重新定位所述第二区域的部分或全部,从而使所述第二区域的部分或全部在所述阵列内与所述第一区域连续,与所述第二区域的部分或全部大小相同的所述第三区域在所述第一区域之后。
6.根据权利要求1的方法,其特征在于还包括:
为构成所述逻辑磁盘的每个片段获取关于对片段的访问的统计信息,并将所述信息保存在存储设备内;
基于为每个片段获取的所述统计信息,检测具有高的读访问负载的片段,所述检测出的具有高的读访问负载的片段在所述逻辑磁盘中是连续的;
将第二区域分配到另一阵列而不是所述的阵列,所述第二区域被用于存储所述阵列中并且位于第一区域内的数据的复制品,所述检测到的片段被分配到所述的第一区域;
当从主计算机请求读取被包括在所述逻辑磁盘的第一区域中的片段的数据时,从相应于所述阵列内的所述第一区域和所述另一阵列内的所述第二区域中的任意一个区域的片段读取数据;以及
当从主计算机请求将数据写到被包括在所述逻辑磁盘的第一区域中的片段时,将相同的数据写到相应于所述阵列中的所述第一区域的片段和相应于所述另一阵列中的所述第二区域的片段。
7.用于管理逻辑磁盘的虚拟装置,所述逻辑磁盘利用磁盘驱动器的存储区域构成,并被主机识别为单个磁盘卷,所述虚拟装置的特征在于包括:
构建阵列的阵列/片段定义单元,通过将所述磁盘驱动器的存储区域定义为所述阵列的物理阵列区域构建所述阵列,所述阵列由一组片段构成,所述物理阵列区域被划分为多个具有相同存储容量的区域,所述被划分的区域被定义为片段;
逻辑磁盘定义单元,它通过组合被包含在所述阵列中的片段的任意多个片段构建逻辑磁盘;以及
片段移动单元,它对被加入所述逻辑磁盘的任意的第一片段与未被加入包括所述逻辑磁盘在内的任何逻辑磁盘的第二片段进行交换。
8.根据权利要求7的虚拟装置,其特征在于还包括统计信息获取单元,它为构成所述逻辑磁盘的每个片段获取关于对片段的访问的统计信息,
并且其特征在于所述片段移动单元基于通过所述统计信息获取单元为每个片段获取的所述统计信息,检测所述阵列中具有高的访问负载的区域,并将属于所述被检测区域的具有高的访问负载的片段作为所述第一片段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP202118/2004 | 2004-07-08 | ||
JP2004202118A JP2006024024A (ja) | 2004-07-08 | 2004-07-08 | 論理ディスク管理方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1728076A CN1728076A (zh) | 2006-02-01 |
CN1327330C true CN1327330C (zh) | 2007-07-18 |
Family
ID=35542675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100922626A Expired - Fee Related CN1327330C (zh) | 2004-07-08 | 2005-07-08 | 逻辑磁盘管理方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060010290A1 (zh) |
JP (1) | JP2006024024A (zh) |
CN (1) | CN1327330C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620515B (zh) * | 2009-08-12 | 2010-12-01 | 宋振华 | 一种增强逻辑盘卷管理功能的方法 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007502470A (ja) | 2003-08-14 | 2007-02-08 | コンペレント・テクノロジーズ | 仮想ディスク・ドライブのシステムおよび方法 |
US9489150B2 (en) | 2003-08-14 | 2016-11-08 | Dell International L.L.C. | System and method for transferring data between different raid data storage types for current data and replay data |
US7310715B2 (en) * | 2005-01-12 | 2007-12-18 | International Business Machines Corporation | Method, apparatus, and computer program product for using an array of high performance storage drives included in a storage array to reduce accessing of an array of lower performance storage drives included in the storage array |
US20070226224A1 (en) * | 2006-03-08 | 2007-09-27 | Omneon Video Networks | Data storage system |
WO2007140259A2 (en) * | 2006-05-24 | 2007-12-06 | Compellent Technologies | Data progression disk locality optimization system and method |
JP2007328611A (ja) * | 2006-06-08 | 2007-12-20 | Hitachi Ltd | ストレージ仮想化システム及び方法 |
US8266182B2 (en) * | 2006-06-30 | 2012-09-11 | Harmonic Inc. | Transcoding for a distributed file system |
WO2008126202A1 (ja) | 2007-03-23 | 2008-10-23 | Fujitsu Limited | ストレージシステムの負荷分散プログラム、ストレージシステムの負荷分散方法、及びストレージ管理装置 |
JP4848533B2 (ja) * | 2007-03-29 | 2011-12-28 | 日本電気株式会社 | ディスクアレイ装置、ディスクアレイ制御方法およびプログラム |
JP2008269344A (ja) * | 2007-04-20 | 2008-11-06 | Toshiba Corp | 論理ディスク管理方法及び装置 |
JP2009217700A (ja) * | 2008-03-12 | 2009-09-24 | Toshiba Corp | ディスクアレイ装置及び物理配置最適化方法 |
US8886909B1 (en) | 2008-03-31 | 2014-11-11 | Emc Corporation | Methods, systems, and computer readable medium for allocating portions of physical storage in a storage array based on current or anticipated utilization of storage array resources |
JP5218284B2 (ja) | 2008-08-20 | 2013-06-26 | 富士通株式会社 | 仮想ディスク管理プログラム、ストレージ装置管理プログラム、マルチノードストレージシステム、および仮想ディスク管理方法 |
JP4923008B2 (ja) * | 2008-08-22 | 2012-04-25 | 株式会社日立製作所 | ストレージ管理装置、ストレージ管理方法およびストレージ管理プログラム |
US8874867B2 (en) | 2008-11-21 | 2014-10-28 | Lsi Corporation | Identification and containment of performance hot-spots in virtual volumes |
JP5396836B2 (ja) * | 2008-12-01 | 2014-01-22 | 富士通株式会社 | データ分散制御プログラム、ストレージ管理プログラム、制御ノード、およびディスクノード |
JP5381336B2 (ja) * | 2009-05-28 | 2014-01-08 | 富士通株式会社 | 管理プログラム、管理装置および管理方法 |
JP5032620B2 (ja) * | 2010-03-16 | 2012-09-26 | 株式会社東芝 | ディスクアレイ装置及び同ディスクアレイ装置に適用される論理ディスク再構成方法 |
CN101799788B (zh) * | 2010-03-23 | 2014-06-11 | 中兴通讯股份有限公司 | 一种分级管理存储资源的方法及系统 |
US8924681B1 (en) * | 2010-03-31 | 2014-12-30 | Emc Corporation | Systems, methods, and computer readable media for an adaptative block allocation mechanism |
US9330105B1 (en) | 2010-05-07 | 2016-05-03 | Emc Corporation | Systems, methods, and computer readable media for lazy compression of data incoming to a data storage entity |
US9311002B1 (en) | 2010-06-29 | 2016-04-12 | Emc Corporation | Systems, methods, and computer readable media for compressing data at a virtually provisioned storage entity |
JP2012221340A (ja) * | 2011-04-12 | 2012-11-12 | Fujitsu Ltd | 制御方法及びプログラム、並びにコンピュータ |
WO2013014699A1 (en) * | 2011-07-22 | 2013-01-31 | Hitachi, Ltd. | Storage system and its logical unit management method |
JP5822799B2 (ja) * | 2012-08-16 | 2015-11-24 | 株式会社三菱東京Ufj銀行 | 情報処理装置 |
JP6255895B2 (ja) | 2013-10-24 | 2018-01-10 | 富士通株式会社 | ストレージ制御装置、およびプログラム |
JP6196383B2 (ja) | 2014-07-31 | 2017-09-13 | 株式会社東芝 | 階層化ストレージシステム |
US9947386B2 (en) * | 2014-09-21 | 2018-04-17 | Advanced Micro Devices, Inc. | Thermal aware data placement and compute dispatch in a memory system |
CN104657234B (zh) * | 2015-02-04 | 2018-05-22 | 深圳神州数码云科数据技术有限公司 | 一种磁盘阵列raid的超级块superblock的备份方法 |
US10503703B1 (en) * | 2016-06-23 | 2019-12-10 | EMC IP Holding Company LLC | Method for parallel file system upgrade in virtual storage environment |
CN108733311B (zh) * | 2017-04-17 | 2021-09-10 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和设备 |
CN107544860A (zh) * | 2017-08-29 | 2018-01-05 | 新华三技术有限公司 | 一种磁盘数据检测方法及装置 |
US20190317682A1 (en) * | 2018-04-11 | 2019-10-17 | EMC IP Holding Company LLC | Metrics driven expansion of capacity in solid state storage systems |
CN113590018B (zh) * | 2020-04-30 | 2024-06-14 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机程序产品 |
CN117369732B (zh) * | 2023-12-07 | 2024-02-23 | 苏州元脑智能科技有限公司 | 一种逻辑盘处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442650B1 (en) * | 1997-10-06 | 2002-08-27 | Emc Corporation | Maximizing sequential output in a disk array storage device |
JP2003005920A (ja) * | 2001-06-22 | 2003-01-10 | Nec Corp | ストレージシステム、データ再配置方法及びデータ再配置プログラム |
JP2004046900A (ja) * | 2003-10-14 | 2004-02-12 | Hitachi Ltd | 情報処理システムの制御方法 |
CN1489058A (zh) * | 2002-10-10 | 2004-04-14 | �Ҵ���˾ | 管理数据处理器系统中虚拟化的物理存储器的方法和系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875456A (en) * | 1995-08-17 | 1999-02-23 | Nstor Corporation | Storage device array and methods for striping and unstriping data and for adding and removing disks online to/from a raid storage array |
US5719983A (en) * | 1995-12-18 | 1998-02-17 | Symbios Logic Inc. | Method and apparatus for placement of video data based on disk zones |
US5765204A (en) * | 1996-06-05 | 1998-06-09 | International Business Machines Corporation | Method and apparatus for adaptive localization of frequently accessed, randomly addressed data |
US6061761A (en) * | 1997-10-06 | 2000-05-09 | Emc Corporation | Method for exchanging logical volumes in a disk array storage device in response to statistical analyses and preliminary testing |
US6425052B1 (en) * | 1999-10-28 | 2002-07-23 | Sun Microsystems, Inc. | Load balancing configuration for storage arrays employing mirroring and striping |
US6526478B1 (en) * | 2000-02-02 | 2003-02-25 | Lsi Logic Corporation | Raid LUN creation using proportional disk mapping |
US7548975B2 (en) * | 2002-01-09 | 2009-06-16 | Cisco Technology, Inc. | Methods and apparatus for implementing virtualization of storage within a storage area network through a virtual enclosure |
JP4518951B2 (ja) * | 2002-10-28 | 2010-08-04 | サンディスク コーポレイション | 不揮発性記憶システムにおける自動損耗均等化 |
-
2004
- 2004-07-08 JP JP2004202118A patent/JP2006024024A/ja active Pending
-
2005
- 2005-07-07 US US11/175,319 patent/US20060010290A1/en not_active Abandoned
- 2005-07-08 CN CNB2005100922626A patent/CN1327330C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442650B1 (en) * | 1997-10-06 | 2002-08-27 | Emc Corporation | Maximizing sequential output in a disk array storage device |
JP2003005920A (ja) * | 2001-06-22 | 2003-01-10 | Nec Corp | ストレージシステム、データ再配置方法及びデータ再配置プログラム |
CN1489058A (zh) * | 2002-10-10 | 2004-04-14 | �Ҵ���˾ | 管理数据处理器系统中虚拟化的物理存储器的方法和系统 |
JP2004046900A (ja) * | 2003-10-14 | 2004-02-12 | Hitachi Ltd | 情報処理システムの制御方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620515B (zh) * | 2009-08-12 | 2010-12-01 | 宋振华 | 一种增强逻辑盘卷管理功能的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20060010290A1 (en) | 2006-01-12 |
JP2006024024A (ja) | 2006-01-26 |
CN1728076A (zh) | 2006-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1327330C (zh) | 逻辑磁盘管理方法和装置 | |
US6718436B2 (en) | Method for managing logical volume in order to support dynamic online resizing and software raid and to minimize metadata and computer readable medium storing the same | |
CN101023412B (zh) | 半静态奇偶性分布技术 | |
US6745284B1 (en) | Data storage subsystem including a storage disk array employing dynamic data striping | |
US6647460B2 (en) | Storage device with I/O counter for partial data reallocation | |
CN101510145B (zh) | 一种存储系统管理方法和装置 | |
CN103064765B (zh) | 数据恢复方法、装置及集群存储系统 | |
Holland | On-line data reconstruction in redundant disk arrays | |
CN102521152B (zh) | 一种分级存储方法及系统 | |
US20100306466A1 (en) | Method for improving disk availability and disk array controller | |
US8402214B2 (en) | Dynamic page reallocation storage system management | |
CN104317736B (zh) | 一种分布式文件系统多级缓存实现方法 | |
US20210109664A1 (en) | Mapping storage extents into resiliency groups | |
JP2001067187A (ja) | ストレージサブシステム及びその制御方法 | |
CN101840308A (zh) | 一种分级存储系统及其逻辑卷管理方法 | |
CN101539842A (zh) | 磁盘阵列系统的数据写入方法及磁盘阵列系统 | |
JP4261532B2 (ja) | 論理ディスク管理方法及び仮想化装置 | |
CN101976181A (zh) | 一种存储资源的管理方法及管理装置 | |
CN105022587A (zh) | 一种设计磁盘阵列的方法和存储装置 | |
CN103229134A (zh) | 存储设备及其控制方法 | |
US7979632B2 (en) | Storage system including a fast storage device for storing redundant data | |
US7350042B1 (en) | Method of optimizing the space and improving the write performance of volumes with multiple virtual copies | |
US11379326B2 (en) | Data access method, apparatus and computer program product | |
CN107562377A (zh) | 一种存储系统硬盘扩容实现方法 | |
CN101997919B (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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Tokyo, Japan, Japan Co-patentee after: Toshiba Corp Patentee after: Toshiba Digital Solutions Ltd Address before: Tokyo, Japan, Japan Co-patentee before: Toshiba Corp Patentee before: Toshiba Solutions Corporation |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070718 Termination date: 20200708 |