CN100342351C - 存储子系统和存储子系统的控制方法 - Google Patents

存储子系统和存储子系统的控制方法 Download PDF

Info

Publication number
CN100342351C
CN100342351C CNB2005100002205A CN200510000220A CN100342351C CN 100342351 C CN100342351 C CN 100342351C CN B2005100002205 A CNB2005100002205 A CN B2005100002205A CN 200510000220 A CN200510000220 A CN 200510000220A CN 100342351 C CN100342351 C CN 100342351C
Authority
CN
China
Prior art keywords
mentioned
clpr
cache
queue
speed cache
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
Application number
CNB2005100002205A
Other languages
English (en)
Other versions
CN1652093A (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 CN1652093A publication Critical patent/CN1652093A/zh
Application granted granted Critical
Publication of CN100342351C publication Critical patent/CN100342351C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/282Partitioned cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/311In host system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6042Allocation of cache space to multiple users or processors
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Abstract

对各用户分割存储子系统的高速缓存区域,防止用户专用区域之间的干扰。在存储子系统内可以设定多个CLPR。CLPR是可以分割成高速缓存具有的高速缓存区域并使用的用户专用区域。为了管理高速缓存中存储的数据而所需的管理信息根据段或槽位的属性,分配给各CLPR。管理正常状态的段的正常队列(102)以及正常计数器(202)在各CLPR分别设置。非正常队列(103)以及非正常计数器(103)在所有CLPR中公共使用。空闲队列(101)、分类队列(104)以及BIND队列(105)公共适用于所有CLPR,在各CLPR分别只设置各计数器(201、204、205)。

Description

存储子系统和存储子系统的控制方法
技术领域
本发明涉及存储子系统和存储子系统的控制方法。
背景技术
存储子系统可以向主机提供大容量且高性能的存储服务。在存储子系统中,例如阵列状设置多个盘驱动器,构筑基于RAID(Redundant Array ofIndependent Inexpensive Disks)的存储区域。在各盘驱动器具有的物理存储区域上形成作为逻辑存储区域的逻辑卷。在逻辑卷中预先对应付与LUN(Logical Unit Number)。主机通过指定LUN或块地址等,对存储子系统发布规定形式的写入命令或读出命令。由此,主机可以对存储子系统进行所希望的数据的读写。
在存储子系统可以连接多个主机。在将某个主机或应用程序管理的数据群可以从其他主机或应用程序读写时,有时产生不便。因此,例如采用分区或LUN屏蔽等的访问控制技术。所谓分区,是对存储子系统设定1个或多个区,许可只对属于区的特定通信端口或WWN(World Wide Name)转发数据的技术。所谓LUN屏蔽,是对特定主机许可访问特定LUN的技术。
但是,主机和盘驱动器间的数据交接是经高速缓存进行的。若从主机输出写命令,则例如数据一次保存到高速缓存之后,写入盘驱动器。另外,若从主机输出读命令,则例如从盘驱动器读出的数据经高速缓存提供给主机。因此,适当分配对盘驱动器的缓存分配量的技术也被公知(专利文献1)。
【专利文献1】特开平4-264940号公报。
发明内容
利用现有的分区和LUN屏蔽可以设定主机对存储子系统的访问限制。但是,现有技术仅仅可以对逻辑卷的简单访问进行限制,没有实现存储子系统具有的资源的分割管理,所以使用不方便。在由多个用户公共使用存储子系统时,例如,若某用户输出大量的输入输出请求(IO请求),则为了处理该请求,使用高速缓存的多个区域。从而,对于来自其他用户的输入输出处理不能使用充分的高速缓存,作为子系统整体的服务性能降低。即,为了对某用户的服务而会影响对其他用户的服务。
另外,上述专利文献中,对各存储装置分别分配有高速缓存,但这是为了将高速缓存中存储的数据有效写入存储装置中,不是为了提供给多个用户而进行资源(高速缓存)的分割管理。
因此,本发明的一个目的在于,提供一种可以向多个用户分别分配高速缓存区域并公共使用,可以降低为了向某个用户提供服务而影响其他用户的存储子系统和存储子系统的控制方法。本发明的一个目的在于,提供一种可以向多个用户灵活地分配资源,并且可以用更少的信息量为使各用户的管理范围相互不影响而进行管理的存储子系统和存储子系统的控制方法。本发明的一个目的在于,提供一种通过对应高速缓存的管理单位来构成管理信息,可以逻辑分割并使用高速缓存资源的存储子系统和存储子系统的控制方法。本发明的其他目的可以从后述的实施例中变得清楚。
为了解决上述问题,本发明的存储子系统具有分别控制与上位装置的数据交接的多个通道适配器、分别提供逻辑存储区域的多个存储设备组、分别控制与各存储设备组的数据交接的多个盘适配器、由各通道适配器和各盘适配器分别使用的高速缓存、逻辑分割并构成高速缓存的多个高速缓存分区、存储用于管理各高速缓存分区的管理信息的控制存储器。另外,管理信息由对各高速缓存分区分别设置的分割管理信息、和适用于各高速缓存分区的整体的公共管理信息构成。
高速缓存和控制存储器可以采用分别安装两者的不同的存储器基板,也可以采用混合装载两者的存储器基板。另外,也可以将存储器的某个区域用作高速缓存,将其他区域用作控制存储器。高速缓存用于暂时(或长期)存储上位装置和存储设备组之间交接的数据。高速缓存逻辑分割成多个高速缓存分区。各高速缓存分区由管理信息分别独立管理。各高速缓存分区例如可以对每个通道适配器分别设置(分配)。另外,各高速缓存分区例如可以由不同的用户使用。管理信息由分割管理信息和公共管理信息构成。分割管理信息是对各高速缓存分区分别设置的信息。公共管理信息是适用于所有高速缓存分区的信息。通过由分割管理信息和公共管理信息构成管理信息,可以有效使用控制存储器的存储资源,分别使用多个高速缓存分区。
各分割管理信息和公共管理信息可以基于高速缓存管理单位的属性来设定。作为高速缓存管理单位例如可以举出例如槽位和段等。1个槽位可以至少由1个或1个以上的段构成,1个段例如具有16KB程度的数据大小。作为高速缓存管理单位的属性例如可以举出空闲状态、不正常状态、正常状态。空闲状态是表示高速缓存管理单位为未使用的状态。不正常状态是表示高速缓存管理单位中存储的数据未写入存储设备的状态。正常状态是表示高速缓存管理单位中存储的数据已写入存储设备的状态。存在根据高速缓存管理单位的属性,希望在各高速缓存分区设置各管理信息的情况。相反,还有根据高速缓存管理单位的属性,可以适用于所有高速缓存分区的管理信息。
例如,管理信息由多种子管理信息构成时,可以在各高速缓存分区分别分割设置部分子管理信息,将剩余的子管理信息适用于所有高速缓存分区。在此,将子管理信息中的哪些用作分割管理信息和将哪些用作公共管理信息是基于高速缓存管理单位的属性确定的。
例如,管理信息可以构成为包括多种队列、与这些各队列分别相关的计数器。在此,基于高速缓存管理单位的属性,可以通过在各高速缓存分区分别设置各队列和各计数器的一部分来构成各分割管理信息。于是,可以将各队列的剩余部分和各计数器的剩余部分用作公共管理信息。“基于高速缓存管理单位的属性”也可以说成“基于队列(以及计数器)的属性”。
在此,还可以是相互相关的队列和计数器中的一方构成分割管理信息,另一方用作公共管理信息。即,相互相关的队列和计数器中,可以只分割计数器并分别分配给各高速缓存分区。
另外,可以在各队列分别相关联队列管理表。接着,与构成分割管理信息的队列相关的队列管理表可以分别设置在各高速缓存分区。即,队列和队列管理表是一直被一体使用,在队列分别设置在各高速缓存分区的情况下,队列管理表也是分别设置在各高速缓存分区。
管理信息构成为可以包括连接有未使用状态的高速缓存管理单位的空闲队列以及与该空闲队列相关的空闲队列计数器、连接有存储反映到存储设备组之前的不正常(dirty)状态的数据的高速缓存管理单位的不正常队列以及与该不正常队列相关的不正常队列计数器、连接有存储反映到存储设备组之后的正常(clean)状态的数据的高速缓存管理单位的正常队列以及与该正常队列相关的正常队列计数器、和计数使用中的高速缓存管理单位的总量的使用中计数器。另外,空闲队列计数器、正常队列、正常队列计数器以及使用中计数器作为分割管理信息可以分别设置在各高速缓存分区。另外,空闲队列、不正常队列以及不正常队列计数器可以用作公共管理信息。
通过将各高速缓存分区中的1个高速缓存分区设定为公共区域并分配属于该公共区域的资源,也可以设定新的高速缓存分区。例如,在初始状态,将所有高速缓存区域用作公共区域。接着,在新生成高速缓存分区的情况下,从公共区域截取部分高速缓存区域并分配给新的高速缓存分区。另外,在删除高速缓存分区时,将分配给该高速缓存分区的高速缓存区域返回到公共区域即可。
附图说明
图1是表示本发明的实施例的存储子系统的外观图。
图2是表示存储子系统的逻辑概要结构的框图。
图3是存储子系统的更具体的框图。
图4是表示对各CLPR分配的高速缓存区域和VDEV的关系的说明图。
图5是表示具有阶段结构的高速缓存管理方法的说明图。
图6是SLCB表的状态转移图。
图7是表示队列、计数器以及队列管理表的关系的说明图。
图8是表示SLCB表的概要结构的说明图。
图9是表示高速缓存区域、各队列以及计数器的关系的说明图。
图10是表示分配CLPR的管理信息的情况的模式图。
图11是表示利用VDEV锁定和队列锁定可以移动数据的情况的说明图。
图12是表示从CLPR0向CLPR1移动VDEV的情况的说明图。
图13是表示移动VDEV时的处理的流程图。
图14是变更对CLPR的高速缓存分配时的流程图。
图15是表示空闲段的收集处理的流程图。
图16是从用作库区域的CLPR0截取缓存区域,设定新的CLPR的情况的说明图。
图17是表示定义CLPR时的处理的流程图。
图18是表示在子管理终端显示有关各CLPR的信息的情况的说明图。
具体实施方式
下面,根据图1~图18说明本发明的实施例。本实施例公开了一种具有对与上位装置的数据交接分别进行控制的多个上位接口控制单元、分别提供逻辑存储区域的多个存储设备组、对与各存储设备组的数据交接分别进行控制的多个下位接口控制单元、通过各上位接口控制单元和各下位接口控制单元分别使用的存储器的存储子系统。另外,本实施例中,将存储器提供的高速缓存区域分割给多个高速缓存分区。另外,本实施例中,根据用于在存储器管理数据的高速缓存管理单位的属性,将管理信息分别分割给各高速缓存分区,基于各管理信息,按各高速缓存分区分别管理数据。
实施例1
图1是表示存储子系统10的外观结构的概要斜视图。存储子系统10例如可以由基本壳体11和多个增设壳体12构成。基本壳体11是存储子系统10的最小结构单位,具有存储功能和控制功能的双方。增设壳体12是存储子系统10的选项,由基本壳体11具有的控制功能控制。例如,可以将最多4个增设壳体12连接到基本壳体11。
在基本壳体11分别可拆卸地设置有多个控制组件13、多个电源单元14、多个电池单元15和多个盘驱动器80。在增设壳体12可拆卸地设置有多个盘驱动器80、多个电源单元14和多个电池单元15。另外,在基本壳体11和各增设壳体12分别设置有多个冷却风扇16。
控制组件13是用于分别实现后述的通道适配器20、盘适配器30以及高速缓存40等的模块。即,在基本壳体11分别可拆卸地设置有多个通道适配器组件、多个盘适配器组件和1个或1个以上的存储器组件,能以组件单位进行交换。
图2是概要表示包含存储子系统10的整个存储系统的框图。存储子系统10经通信网CN1可进行双向通信地分别与多个主机1A~1C(以下,在不特别进行区别时,称为“主机1”)连接。在此,通信网CN1例如是LAN(LocalArea Network)、SAN(Storage Area Network)、因特网或专用线路等。在使用LAN时,主机1和存储子系统10之间的数据转发按照TCP/IP(TransmissionControl Protocol/Internet Protocol)协议进行。在使用SAN时,主机1和存储子系统10之间按照光纤通道协议进行数据转发。另外,在主机1是大型计算机时,例如按照FICON(Fiber Connection:注册商标)、ESCON(EnterpriseSystem Connection:注册商标)、ACONARC(Advanced ConnectionArchitecture:注册商标)、FIBARC(Fiber Connection Architecture:注册商标)等通信协议进行数据转发。
各主机1例如以服务器、个人计算机、工作站、大型计算机等来实现。例如,各主机1与位于图外的多个客户机终端经其他通信网连接。各主机1通过例如根据来自各客户机终端的请求来对存储子系统10进行数据读写,向各客户机终端提供服务。图中,只示出了1个,但在存储子系统10内可以设定多个虚拟壳体(SLPR:Storage Logical Partition)。
SLPR是通过将存储子系统10内的各种物理资源和逻辑资源按各用户(或按各应用程序)进行分割并分配而构成的区域。即,例如在SLPR具有各专用的通道适配器20、各专用的高速缓存区域40、各专用的虚拟逻辑设备(VDEV)70等。即,SLPR如虚拟的小型存储子系统那样工作。
在SLPR可以设置至少1个以上的高速缓存分区(CLPR:Cache LogicalPartition)。图2中,在左侧只示出1个SLPR,但可以设置多个SLPR。另外,在1个SLPR内可以设定1个或多个CLPR。
CLPR是将高速缓存40逻辑分割成多个区域。CLPR可以对各通道适配器20分别设定。例如在安装n个通道适配器20时,可以设定n个CLPR。例如,可以设定为n=32,但本发明不限于此。各CLPR0~CLPRn是分别独立使用的,各主机1可以独占地仅使用其可利用的CLPR。于是,构成为从对某个CLPR的主机1来的操作尽量不影响其他CLPR。即,构成为即使在来自主机1的访问集中的情况下,也只用该主机1可利用的CLPR确保必要的高速缓存容量,不会抢夺其他CLPR的资源(高速缓存区域)。
另外,图中右侧所示的CLPR0是没有定义SLPR的公共区域,在该公共区域CLPR0存储有整个存储子系统10使用的各种信息。另外,如后所述,在初始状态,高速缓存40的整个区域分配给公共区域CLPR0。然后,通过从公共区域CLPR0截取规定量的高速缓存区域,设定新的CLPR。
图2所示的例子中,主机1A只可以访问公共区域CLPR0并进行数据的输入输出。主机1B只可以访问公共区域CLPR1,主机1C只可以访问公共区域CLPR2,主机1N只可以访问公共区域CLPRn,不能利用或参考其他CLPR。
SVP(Service Processor)90是用于管理和监视存储子系统10的计算机装置,提供管理用的服务器功能。SVP90例如经存储子系统10内设置的LAN等内部网CN3(参考图3),从各通道适配器20和各盘适配器30等收集各种环境信息和性能信息等。作为SVP90收集的信息例如可以举出装置结构、电源告警、温度告警、输入输出速度(IOPS)等。SVP90和各管理终端2A~2N、3例如经LAN等的通信网CN2连接。管理者通过经管理终端登录SVP90,在权限范围内可以进行例如RAID结构的设定、各种组件(通道适配器组件、盘适配器组件、存储器组件、盘驱动器等)的停止运转处理和各种设定变更等。
SVP90可以连接多个管理终端2A~2N、3。在此,管理终端2A~2N是按各SLPR设置的终端,管理终端3是为了管理整个存储子系统10而设置的终端。在以下说明中以对1个SLPR设置1个CLPR的情况为例进行说明。因此,管理终端2A~2N是由分别管理各CLPR的管理者(以下,称为分割管理者)分别操作的子终端。管理终端3是由管理整个存储子系统10的系统管理者(或还可以称为全体管理者)操作的全体终端。
各子终端2A~2N的分割管理者只可以对自己有管理权限的CLPR进行各种设定变更等,不允许参照或变更其他CLPR的结构等。与此不同,系统管理者可以对包含各CLPR的整个存储子系统10进行各种设定变更等。
系统管理者通过经全体终端3登录SVP90,适当分割存储子系统10具有的物理资源和逻辑资源,可以对各用户设定SLPR(CLPR)。另外,系统管理者还可以对各分割管理者发行用户ID等。分割管理者采用系统管理者发行的专用的用户ID可以登录SVP90。分割管理者通过操作子终端2,可以变更自己管理下的CLPR内的设定。
图3是着眼于存储子系统10的逻辑结构的框图。存储子系统10具有多个通道适配器(以下,CHA)20、多个盘适配器(以下,DKA)30、至少1个以上的高速缓存40、公共存储器50、开关单元60、多个虚拟逻辑设备(VDEV)70、多个盘驱动器80、SVP90。
各CHA20控制与各主机1间的数据转发,具有通信端口21。在存储子系统10可以设置例如32个CHA20。CHA20如例如开放系统用CHA、大型计算机系统用CHA等,根据主机1的种类来准备。
各CHA20从分别连接的主机1接收请求读写数据的命令和数据,按照从主机1接收到的命令工作。如果还包含DKA30的动作首先进行说明,则例如CHA20一从主机1接收数据的读出请求,就将读出命令存储到公共存储器50。DKA30随时参照公共存储器50,若发现未处理的读出命令,则从盘驱动器80读出数据,并存储到高速缓存40。CHA20将移到高速缓存40的数据读出,发送给命令发行源的主机1。
CHA20一从主机1接收数据的写入请求,就将写入命令存储到公共存储器50。另外,CHA20将接收到的数据(用户数据)存储到高速缓存40。在此,由于被主机1请求写入的数据没有写入盘驱动80(非正常数据),所以例如分别存储到多处而多重化。
CHA20在高速缓存40存储了数据之后,向主机1报告写入结束。接着,DKA30按照存储在公共存储器50中的写入命令,读出高速缓存40中存储的数据,并存储到规定的盘驱动器80。写入盘驱动器80的数据的属性从“非正常数据”变化为“正常数据”,从高速缓存40的多重管理释放。另外,本说明书中,“非正常数据”意味着没有写入盘驱动器80的状态的数据。另外,“正常数据”意味着已写入盘驱动器80的数据。
各DKA30在存储子系统10内可以设置多个,例如4个或8个。各DKA30控制与各盘驱动器80之间的数据通信。各DKA30和各盘驱动器80例如经SAN等通信网CN4连接,按照光纤通道协议以块单位进行数据转发。各DKA30随时监视盘驱动器80的状态,该监视结果经内部网CN3发送给SVP90。各CHA20和各DKA30分别具有例如安装有处理器和存储器等的印刷电路板、和存储到存储器的控制程序(都没有图示),利用这些硬件和软件的协作工作,分别实现规定功能。
高速缓存40例如存储用户数据等。高速缓存40例如由非易失性存储器构成。高速缓存40可以由多个存储器构成,可以多重管理非正常数据。本实施例中,通过将高速缓存40具有的整个高速缓存区域分割为多个,设定各CLPR0~n。
公共存储器(或控制存储器)50例如由非易失性存储器构成。在公共存储器50例如存储有控制信息和管理信息等。这些控制信息等信息可以由多个公共存储器50多重管理。公共存储器50和高速缓存40可以分别设置多个。另外,还可以在同一存储器基板混合安装高速缓存40和公共存储器50。或者,作为高速缓存区域使用部分存储器,作为控制区域使用其他部分。
开关单元60分别连接各CHA20、各DKA30、高速缓存40、公共存储器50。由此,所有CHA20、DKA30可以分别访问高速缓存40和公共存储器50。开关单元60例如可以构成为超高速纵横开关等。
存储子系统10可以安装多个盘驱动器80。各盘驱动器80例如可以用硬盘驱动器(HDD)或半导体存储器装置等来实现。盘驱动器80是物理存储设备(PDEV)。另外,根据RAID结构等也不同,例如在4个1组的盘驱动器80提供的物理存储区域上构筑虚拟的逻辑设备(VDEV)70。另外,在VDEV70上还可以设定虚拟逻辑设备。另外,由存储子系统10使用的存储资源不需要都设置在存储子系统10内,还可以利用在存储子系统10的外部存在的存储资源。例如,通过将外部的其他公司制造的存储子系统10具有的存储设备分配给特定VDEV70,管理对其他公司制造的存储设备的访问通路等,可以将其他公司的存储设备像自己的存储设备那样使用。
图4是模式表示各CLPR分割并利用资源的情况的说明图。图中示出利用公共区域CLPR0和2个专用CLPR1、2,分割并使用高速缓存40的情况。在各CLPR分别分配有高速缓存区域。各CLPR分别可使用的高速缓存区域的最大值(最大分配量)由系统管理者设定。在分别分配给各CLPR的高速缓存区域存储有由利用各CLPR的主机1使用的数据(写数据、读数据)。图4中,对存储有数据的区域标上斜线,记为“使用中”。各CLPR可以最多使用分别可用的最大分配量的高速缓存区域,不能使用其他CLPR的高速缓存区域。
另外,各CLPR不仅管理各高速缓存区域,还管理其他高速缓存相关数据。作为高速缓存相关数据例如可以举出DCR(F1)、侧文件F2、和PCR(F3)。
DCR(Dynamic Cache Residency)100是高速缓存固定化功能,是将VDEV70的特定区域存在的数据固定到高速缓存区域。由此,可以提高对重要的数据组的访问性能。
侧文件F2是存储用于将数据向图外的远程地点转发并复制的数据的文件。例如,在侧文件F2存储有规定量以上的远程复制对象的数据时,经通信网,向在距离上分离的场所的其他存储子系统转发数据并保持。远程复制的初始复制中,将指定的数据组全部复制到远程地点,之后更新的数据作为差分文件进行远程复制。
PCR(Partical Cache Residence)102是在存储子系统10设置NAS(NetworkAttached Storage)功能时使用的,是按数据种类固定到高速缓存区域的功能。DCR(F1)是固定特定存储空间中存在的数据的,PCR(F3)是固定特定种类的数据的。另外,这些高速缓存相关数据DCR(F1)、侧文件F2以及PCR(F3)分别只设置在需要它的CLPR。即,在没有设定固定化功能的CLPR没有存储有关高速缓存固定化的数据。同样,在没有设定远程复制的CLPR没有存储侧文件F2。
另外,如图4所示,在各CLPR分别分配有至少1个以上的VDEV70。写入各CLPR的高速缓存区域的数据写入到分别分配的VDEV70的规定区域。另外,从VDEV70读出的数据保持在对应的CLPR的高速缓存区域。
图5是表示用于管理存储在高速缓存区域的数据的方法的说明图。在存储子系统10,为了有效检索高速缓存40中存储的数据,以如下的层次结构进行管理。
首先,一有来自主机1的数据输入输出请求,就基于该输入输出请求中包含的LBA(Logical Block Address)求出VDEVSLOT号(VDEVSLOT#)。接着,基于VDEVSLOT号,通过参照VDSLOT-PAGE表T1,取得对下一层次的指针。在VDSLOT-PAGE表T1包含有对PAGE-DIR表T2的指针。在PAGE-DIR表T2包含对PAGE-GRPP表T3的指针。另外,在PAGE-GRPP表T3包含对GRPT1表T4的指针。在GRPT1表T4包含对GRPT2表T5的指针。在GRPT2表T5包含对SLCB(槽位控制表)T6的指针。
像这样,基于LBA,通过依序参照各表T1~T5,到达SLCB表T6。在SLCB表T6关联有至少1个以上的SGCB(段控制块)表T7。SGCB表7存储与作为高速缓存管理的最小单位的段有关的控制信息。在1个槽位可以相关联1~4个段。在1个段例如可以存储48KB或64KB的数据。
高速缓存管理的最小单位是段,但非正常数据(写入物理盘之前的状态)和正常数据(写入物理盘之后的状态)的各状态之间的转移是以槽位单位进行的。另外,高速缓存区域的确保(保留)和释放(解放)也是以槽位单位或段单位进行的。
如图8所示,在SLCB表T6可以包含后方指针、前方指针、队列状态、VDSLOT#、槽位状态、CLPR信息、至少1个以上的SGCB指针。队列状态包含与该SLCB表T6相关的队列种类和队列号。槽位状态包含与该SLCB表T6对应的槽位状态。CLPR信息包含与该SLCB表T6所属的CLPR相关的信息(CLPR号等)。SGCN指针包含用于指定与该SLCB表T6相关的SGCB表T7的指针。
另外,SLCB表T6和SGCB表T7例如为了避免发生指针变更等的竞争而失去匹配性,以VDEV70单位进行排斥控制。即,对于SLCB表T6或SGCB表T7所属的VDEV70,仅在取得了锁定的情况下,可以操作SLCB表T6或SGCB表T7。本说明书中,将该VDEV单位的排斥控制称为“VDEV锁定”。VDEV锁定还可以称为逻辑卷单位的排斥控制。
图6是表示SLCB表T6的状态转移的说明图。SLCB表T6例如可以取未使用状态ST1、设备反映完状态ST2、奇偶性无&设备反映前状态ST3、奇偶性生成中状态ST4以及奇偶性有&驱动器反映前状态ST5的5个状态。
未使用状态ST1是表示该槽位为未使用的状态。处于未使用状态的槽位(SLCB)由空闲SGCB队列(以下,简记为空闲队列)管理。设备反映完状态ST2是表示该槽位中存储的数据已经写入到物理设备(盘驱动器80)的状态。处于设备反映完状态ST2的槽位由正常队列管理。
奇偶性无&设备反映前状态ST3是表示例如如RAID5等那样需要奇偶性数据时,对该槽位中存储的数据还没有生成奇偶性数据的状态。处于奇偶性无&设备反映前状态ST3的槽位由中间非正常队列管理。奇偶性生成中状态ST4是表示对该槽位中存储的数据正在生成奇偶性数据。处于奇偶性生成中状态ST4的槽位由主非正常队列管理。
奇偶性有&驱动器反映前状态ST5是表示对于存储在该槽位的数据生成奇偶性数据,但还没有写入物理设备的状态。处于奇偶性有&驱动器反映前状态ST5的槽位由物理非正常队列(以下,简记为非正常队列)管理。
在有来自主机1的写访问时,状态从ST1经ST2转移到ST3,开始生成奇偶性数据。接着,若对请求写入的数据生成奇偶性数据,则状态从ST3经ST4变换为ST5。在从主机1向CLPR的高速缓存区域的1个或多个槽位写入了数据的时刻,向主机1发送写入结束报告。在该时刻,由于请求了写入的数据仅在高速缓存区域上存在,所以成为非正常状态(ST5)。
接着,若处于非正常状态的槽位的数据写入规定的物理设备(去标记),则该槽位从非正常状态变化为正常状态(ST5→ST2)。由于处于正常状态的数据写入物理设备,所以也可以根据需要从高速缓存区域删除。若从高速缓存上删除处于正常状态的槽位中存储的数据,则该槽位从正常状态返回到未使用状态(ST2→ST1)。
在有来自主机1的读访问时,通过依次执行与图5一起所述的各层次表T1~T6,指定请求的数据。接着,将主机1请求的数据从物理设备读出,存储到高速缓存区域的1个或多个槽位。存储从物理设备读出的数据的槽位具有正常状态。
图7是表示队列结构的说明图。队列100构成为在单方向或双向连接处于同一状态的SLCB表T6的等待行列。若SLCB表T6的状态变化,则基于例如如FIFO(First-In First-out:先入先出)和LRU(Least Recently Used:最长未使用时间)等的预先设定的算法,变化队列100的结构。
为了防止对SLCB表T6的操作相竞争而失去匹配性,对各队列100进行排斥控制。即,只有在取得了操作对象的队列锁定的情况下,可以对该队列进行操作。本说明书中,将该队列单位的排斥控制称为“队列锁定”。从而,在上述的VDEV锁定和队列锁定的2层次的排斥控制下,可以操作SLCB表T6。即,只有在取得了2个锁定,即要操作的SLCB表T6所属的VDEV70锁定和该SLCB表T6连接的队列锁定的情况下,可以变更该SLCB表T6的内容。
像这样,由于排斥控制对队列100的操作,所以考虑取得锁定时的总开销,设置多个同一种类的队列。正常队列、非正常队列、空闲队列等分别由多个队列构成。
在构成队列集的各队列分别关联有计数器200。计数器200管理属于该队列的SLCB表T6和SGCB表T7的个数。基于计数器200管理的SLCB数等,可以进行后述的过负荷控制等。
另外,在构成队列集的各队列100还关联有队列管理表300。队列管理表300管理队列100的结构等。队列100、计数器200以及队列管理表300分别存储在公共存储器50。
图9是模式表示各CLPR的高速缓存区域的使用状态和各队列的关系的说明图。各CLPR的高速缓存区域可以根据其使用状态分为“使用中区域”和“未使用区域”。使用中区域是表示存储有数据的槽位群(段群)。未使用区域表示空的槽位群(段群)。
将使用的段的总数与1个段的数据大小相乘的结果成为该CLPR的使用中区域的大小。在正在使用的段中包含有处于正常状态的段和处于非正常状态的段。从而,分配给该CLPR的高速缓存区域中的当前正在使用的区域的大小可以用(正常状态的段数+非正常状态的段数)表示。未使用区域的大小可以用处于空闲状态的段数表示。
空闲队列101管理处于空闲状态(未使用状态)的SLCB表T6。连接到空闲队列101的SLCB表T6(以及SGCB表T7)的个数由与空闲队列101相关联的空闲计数器201掌握。空闲队列101的控制单位是VDEV,队列锁定的单位也是VDEV单位。另外,例如按照FIFO使用空闲队列101。例如设置VDEV70的安装个数的2倍的空闲队列101。从而,若可安装的VDEV70的最大数为512,则空闲队列101的总数成为1024。
正常队列102管理处于正常状态的SLCB表T6。连接到正常队列102的SLCB表T6(以及SGCB表T7)的个数由与正常队列102相关联的正常计数器202掌握。正常队列102的控制单位为VDEV,队列锁定的单位也是VDEV单位。例如按照LRU使用正常队列102。例如设置VDEV70的安装数的4倍的净化队列102(512×4=2048)。
非正常队列103管理处于非正常状态的SLCB表T6。连接到非正常队列103的SLCB表T6(以及SGCB表T7)的个数由与非正常队列103相关联的非正常计数器203掌握。非正常队列103的控制单位为物理驱动器。例如设置盘驱动器80的安装数的32倍的非正常队列103。在安装2048个盘驱动器80时,可以设置65536个非正常队列103。非正常队列103用于管理写入物理设备之前的数据(段)。从而,物理设备(盘驱动器80)比逻辑设备(VDEV70)关联更深。因此,非正常队列103依赖于物理设备的个数设定。
使用中计数器206计数各CLPR的使用中的段数(非正常状态的段数+正常状态的段数)。
图10是表示各CLPR、各队列以及计数器等的关系的说明图。上述的各队列、计数器以及管理表构成用于管理高速缓存管理单位(段或槽位)的管理信息。本实施例中,根据段或槽位的性质(状态),区别为在各CLPR分别设置的管理信息(分割管理信息)和适用于所有CLPR的公共管理信息。
如图10所示,在各CLPR分别设置有正常队列102、正常计数器(正确是正常队列计数器)202、空闲队列计数器201、分类队列计数器204、使用中计数器206、BIND队列计数器205。另外,省略图示,但在各CLPR还分别设置用于管理正常队列102的结构的正常队列管理表。如上所述,在各CLPR分别设置的管理用的信息构成分割管理信息。
与此不同,空闲队列101、非正常队列103、非正常计数器(正确是非正常队列计数器)203、分类队列104、BIND队列105、用于管理这些各队列101、103~105的队列管理表301构成公共适用于所有CLPR的公共管理信息。
分类队列104是用于管理根据PCR功能固定到高速缓存区域的数据的队列。分类队列计数器204计数由PCR固定的段数。
BIND队列105是用于管理根据DCR功能固定到高速缓存区域的数据的队列。BIND队列计数器205计数由DCR固定的段数(或槽位数)。
通过分别设置用于管理存储固定的数据段的分类队列104以及BIND队列105,在各CLPR内,可以防止存储应固定的数据的段变更为空闲状态。
下面,说明构成管理信息的各子管理信息(队列、计数器、队列管理表)中,将哪些按各CLPR分别设置,将哪些适用于所有CLPR的理由。
正常队列102、正常计数器202以及正常队列管理表分别按各CLPR设置。若空闲状态的段耗尽,则正常状态的槽位被释放并变成空闲槽位。从而,正常队列102是使用频率最高的队列。假使,在所有CLPR使用1组正常队列的场合,若在某个CLPR产生空闲段耗尽,则在其他CLPR中会有存储被利用的数据的正常状态的槽位被释放的可能性。即,一方的CLPR中的高速缓存利用状态影响另一方的CLPR中的高速缓存利用状态。因此,本实施例中,可以对各CLPR分别设置正常队列102、正常计数器202。另外,队列管理表与队列一体采用。从而,在各CLPR分别设置正常队列102时,正常队列管理表也分别设置在各CLPR。
使用中计数器206在各CLPR分别设置。使用中计数器206计数相加了正常状态的段数和非正常状态的段数的值。从而,从使用中计数器206的计数值减去正常计数器202的计数值而所得的值成为该CLPR中的非正常状态的段数。从而,若在各CLPR分别设置正常计数器202和使用中计数器206,则不需要在各CLPR分别设置非正常计数器203。
非正常队列103是与物理设备相关联的队列,控制单位也成为物理设备单位。从而,假使,在各CLPR分别设置非正常队列103的场合,用于存储非正常队列管理表的存储容量增大,压迫公共存储器50的存储区域。例如,1个队列所需的信息量是队列管理表为16字节,计数器为4字节。由于队列分割意味着队列管理表的分割,所以公共存储器50的多个存储区域耗费于存储分割管理信息。因此,本实施例中,为了有效使用公共存储器50的存储资源,非正常队列103和非正常计数器203不设置在各CLPR,而适用于所有CLPR。
另外,从有效利用公共存储器50的存储资源的观点,空闲队列101也不是分别设置在各CLPR,在各CLPR只设置字节数少的空闲计数器201。
由于与空闲队列101相同的理由,分类队列104、BIND队列105也是在各CLPR分别只设置各计数器204和205,队列自身适用于所有CLPR。
像这样,本实施例中,根据子管理信息的属性,即,根据由子管理信息管理的高速缓存管理单位的属性,分配子管理信息。从而,有效利用公共存储器50的存储资源,可以确保各CLPR间的独立性。
图11是表示高速缓存管理结构和排斥控制的关系的说明图。图11中只示出与图10一起叙述的管理信息的一部分。图11中的“VDEV锁定Gr”表示VDEV锁定的组。为了操作目录,需要取得VDEV锁定,为了操作队列,需要操作队列锁定。即,为了移动CLPR管理的数据,需要对管理存储该数据的段的队列的操作权限、和对该段所属的目录的操作权限双方。
如图11的右侧所示,在各CLPR可以相关联1个或多个VDEV70。还可以将与某个CLPR相关联的VDEV70关联到另一CLPR。图12是表示将与CLPR0相关联的VDEV#1关联到CLPR1的情况的说明图。
在变更VDEV70的所属目的地CLPR时,需要变更VDEV70和CLPR的相关,并且,将所属于移动对象VDEV70的数据群与新的CLPR进行相关联。即,将移动对象的段(或槽位)从与移动源CLPR相关联的队列去除,连接到与移动目的地CLPR相关联的队列。在该操作时,需要VDEV锁定和队列锁定的双方。
图13是表示变更CLPR的结构时的处理的一例。在图13概要示出将与移动源CLPR相关联的VDEV70移动到移动目的地CLPR的情况。
首先,经管理终端3,系统管理者请求VDEV70的移动时(S1:YES),CHA20或DKA30的代表处理器变更指定为移动对象的VDEV70的固有信息(S2)。即,该VDEV70所属的CLPR有关的信息(归属目的地CLPR信息)被改写为有关移动目的地CLPR的信息。
下面,代表处理器检索并抽出与移动对象的VDEV70对应的SLCB表T6,对于成为该移动对象的SLCB表T6变更CLPR信息(S3)。即,如与图8一起所述,对成为移动对象的各SLCB表T6,将有关该所属目的地CLPR的信息变更为有关移动目的地CLPR的信息。
接着,代表处理器检查移动对象的SLCB表T6的槽位状态是否是正常状态(S4)。在是正常状态的槽位的情况下(S4:YES),即移动对象的SLCB表T6连接到正常队列102的情况下,代表处理器将该SLCB表T6的队列状态根据移动目的地CLPR进行变更(S5)。即,改写连接到在移动目的地CLPR设置的第几个正常队列102等的信息。
代表处理器变更队列状态之后,将移动对象的SLCB表T6从当前的正常队列102去除(S6)。接着,代表处理器根据要移动的正常槽位数,分别减去移动源CLPR设置的使用中计数器206和正常计数器202的计数值(S7)。接着,代表处理器将移动对象的SLCB表T6连接到移动目的地CLPR的正常队列102(S8)。接着,代表处理器分别增加移动目的地CLPR的使用中计数器206和正常计数器202的计数值(S9),结束本处理。
另一方面,在对应于移动对象的VDEV70的SLCB表T6不是正常状态的情况下(S4:NO),代表处理器检查该移动对象的SLCB表T6是否是空闲状态(S10)。在移动对象的SLCB表T6为空闲状态的情况下(S10:YES),代表处理器分别变更移动源以及移动目的地的空闲计数器201(S11)。即,根据要移动的空闲槽位数,减去移动源的空闲计数器201,加上移动目的地的空闲计数器201,结束处理。在移动对象的SLCB表T6是非正常状态时(S10:NO),不作任何工作而结束处理。由于非正常队列103和非正常计数器203公共适用于所有CLPR,所以不需要进行队列移动和计数器的增减。
另外,在图13中省略,但连接到分类队列104和BIND队列105的SLCB表T6分别进行与空闲队列101相同的处理。分类队列104和BIND队列105不是在各CLPR分别分割设置,而是在各CLPR只设置其计数器204、205。从而,不产生队列间的移动,只发生移动源和移动目的地的计数器值的变更。
图14是表示变更CLPR的高速缓存分配量时的概要处理的流程图。在由系统管理者进行高速缓存分配处理的变更操作时(S31:YES),代表处理器检测与高速缓存分配变更相关的SLCB表T6(S32)。接着,代表处理器将与变更相关的SLCB表T6的CLPR信息根据高速缓存分配的变更进行变更(S33)。
例如,减少CLPR1的高速缓存分配量,增加相应数量CLPR2的高速缓存分配量时,位于该变动区域的SLCB表T6的归属目的地CLPR从CLPR1变更为CLPR2。接着,根据高速缓存区域的分配变更,增减正常计数器202等的值并结束处理(S34)。
图15是概要表示用于确保空闲段的空闲段收集处理的流程图。在此,空闲段意味着处于空闲状态的段。本处理可以定期或在空闲段不足时(过负荷时)进行。
首先,检测正常状态的SLCB表T6中使用频率最低的状态(S4),将检测出的SLCB表T6的状态从正常状态变更为空闲状态(S42)。伴随着该状态变更,SLCB表T6从正常队列102代替为空闲队列101。另外,正常计数器202和空闲计数器201的计数值也分别变更。到确保规定量的空闲段为止,重复进行S41和S42的处理(S43)。
图16是表示定义CLPR的情况的模式图。本实施例中,作为公共库区域使用CLPR0。在CLPR0中存储有存储子系统10内公共使用的各种信息。另外,如上所述,各种管理信息存储在公共存储器50。
如图16(a)所示,在将用户专用的CLPR连1个也没有设定的初始状态下,高速缓存40具有的所有高速缓存区域所属于CLPR0。如图16(b)所示,分配给CLPR0的高速缓存区域可以区别为存储公共的各信息等的“使用中区域”和“未使用区域”。在新设定用户专用的CLPR1时,如图16(c)所示,从作为库区域的CLPR0截取所需的高速缓存区域,分配给CLPR1。另外,在新设定其他用户用的CLPR 2时,如图16(d)所示,从作为库区域使用的CLPR0截取所需量的高速缓存区域,分配给新生成的CLPR2。在删除用户专用的CLPR1或CLPR2时,分配给删除的CLPR的高速缓存区域返回到CLPR0。
图17是表示上述处理的流程图。在初始状态下,高速缓存40具有的所有缓存区域分配给作为库区域使用的公共区域CLPR0(S51)。在整个存储子系统10使用的各信息存储到CLPR0,被开始运用(S52)。
在新追加CLPR时(S53:YES),变更CLPR结构(S54)。该CLPR结构变更处理是进行从CLPR0截取高速缓存区域并分配给新的CLPR等的处理。另一方面,在删除已经生成的CLPR时(S53:NO、S55:YES),进行将分配给删除的CLPR的高速缓存区域返回到CLPR0等的处理(S56)。另外,作为原则不可以删除CLPR0。
图18是表示对各子终端2显示与各子终端2管理的CLPR有关的信息等的情况的说明图。
SVP90具有认证单元91和结构管理单元92。各CLPR的管理者经子终端2访问SVP90,输入用户ID等。由认证单元91进行的用户认证结果是合法用户时,CLPR的管理者可以对自己管理下的CLPR进行结构变更。该结构变更的操作由结构管理单元92反映到各CLPR。另外,从结构管理单元92取得的有关CLPR的结构信息可以显示在子终端2。
作为可以在子终端2显示的信息,例如可以举出分配给CLPR的最大高速缓存量、有关分配给CLPR的VDEV的信息(VDEV号和卷大小等)、使用中的高速缓存大小、未使用的高速缓存大小、对CLPR的IO频率等。另外,管理整个存储子系统10的系统管理者经全体终端3可以取得有关所有CLPR的信息,可以进行各CLPR的结构变更等。
像这样,根据本实施例,构成为对存储子系统10内设定的各CLPR分割各管理用的信息。从而,可以抑制各CLPR间的干扰,可以提高使用方便性。即,在对一方的CLPR的访问增大的情况下,也可以极力防止对其他CLPR带来影响。
另外,本实施例中,基于段或槽位的属性,分配管理信息。从而,与将所有管理信息简单地分别设置在各CLPR的结构相比,可以降低管理信息整体的数据大小,可以有效使用公共存储器50。
另外,本发明不限于上述实施例。工作人员在本发明的范围内可以进行各种追加和变更等。

Claims (8)

1.一种存储子系统,具有:
多个通道适配器,分别控制与上位装置的数据交接;
多个存储设备组,分别提供逻辑存储区域;
多个盘适配器,分别控制与上述各存储设备组的数据交接;
高速缓存,由上述各通道适配器和上述各盘适配器分别使用;
多个高速缓存分区,逻辑分割上述高速缓存构成;
控制存储器,存储用于管理上述各高速缓存分区的管理信息,
上述管理信息由对上述各高速缓存分区分别设置的分割管理信息和适用于上述各高速缓存分区的整体的公共管理信息构成,上述各分割管理信息和公共管理信息是基于高速缓存管理单位的属性设定的。
2.如权利要求1所述的存储子系统,其特征在于:
上述管理信息由多种子管理信息构成,
基于高速缓存管理单位的属性,将上述各子管理信息的一部分按上述各高速缓存分区分别分割而构成上述各分割管理信息,将上述各子管理信息的剩余部分用作上述公共管理信息。
3.如权利要求1所述的存储子系统,其特征在于:
上述管理信息构成为,包括多种队列、与这些各队列分别相关的计数器,
基于高速缓存管理单位的属性,通过在上述各高速缓存分区分别设置上述各队列和上述各计数器的一部分来构成上述各分割管理信息,将上述各队列的剩余部分和上述各计数器的剩余部分用作公共管理信息。
4.如权利要求3所述的存储子系统,其特征在于:
与上述各队列分别相关联的队列管理表,与构成上述分割管理信息的队列相关的队列管理表分别设置在上述各高速缓存分区。
5.如权利要求1所述的存储子系统,其特征在于:
上述管理信息构成为,包括连接有未使用状态的高速缓存管理单位的空闲队列以及与该空闲队列相关的空闲队列计数器、连接有存储反映到上述存储设备组之前的非正常状态的数据的高速缓存管理单位的非正常队列以及与该非正常队列相关的非正常队列计数器、连接有存储反映到上述存储设备组之后的正常状态的数据的高速缓存管理单位的正常队列以及与该正常队列相关的正常队列计数器、和计数使用中的高速缓存管理单位的总量的使用中计数器,
上述空闲队列计数器、上述正常队列、上述正常队列计数器以及上述使用中计数器分别设置在上述各高速缓存分区,分别构成上述分割管理信息,
上述空闲队列、上述非正常队列以及上述非正常队列计数器用作上述公共管理信息。
6.如权利要求1所述的存储子系统,其特征在于:
在上述各通道适配器上可以分别设定上述各高速缓存分区。
7.如权利要求1所述的存储子系统,其特征在于:
通过将上述各高速缓存分区中的1个高速缓存分区设定为公共区域并分配属于该公共区域的资源,设定新的高速缓存分区。
8.一种控制存储子系统的方法,该存储子系统具有:
多个上位接口控制单元,分别控制与上位装置的数据交接;
多个存储设备组,分别提供逻辑存储区域;
多个下位接口控制单元,分别控制与上述各存储设备组的数据交接;
存储器单元,由上述各上位接口控制单元和上述各下位接口控制单元分别使用,
将上述存储器单元提供的高速缓存区域分割成多个高速缓存分区,
根据用于管理数据的高速缓存管理单位的属性,将存储在上述存储器单元中的管理信息分割为:分别在上述多个高速缓存分区的每一个分区设置的分割管理信息;以及适用于上述多个高速缓存分区整体的公共管理信息;
基于上述管理信息,在上述多个高速缓存分区的每一个分区分别管理数据。
CNB2005100002205A 2004-02-05 2005-01-05 存储子系统和存储子系统的控制方法 Expired - Fee Related CN100342351C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004029028 2004-02-05
JP2004029028A JP4141391B2 (ja) 2004-02-05 2004-02-05 ストレージサブシステム

Publications (2)

Publication Number Publication Date
CN1652093A CN1652093A (zh) 2005-08-10
CN100342351C true CN100342351C (zh) 2007-10-10

Family

ID=34675519

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100002205A Expired - Fee Related CN100342351C (zh) 2004-02-05 2005-01-05 存储子系统和存储子系统的控制方法

Country Status (4)

Country Link
US (3) US7246208B2 (zh)
EP (1) EP1562123A1 (zh)
JP (1) JP4141391B2 (zh)
CN (1) CN100342351C (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4549787B2 (ja) * 2004-09-10 2010-09-22 株式会社日立製作所 ストレージ装置
US7130960B1 (en) * 2005-04-21 2006-10-31 Hitachi, Ltd. System and method for managing disk space in a thin-provisioned storage subsystem
US7689766B1 (en) 2005-06-10 2010-03-30 American Megatrends, Inc. Method, system, apparatus, and computer-readable medium for integrating a caching module into a storage system architecture
US7536529B1 (en) 2005-06-10 2009-05-19 American Megatrends, Inc. Method, system, apparatus, and computer-readable medium for provisioning space in a data storage system
JP4813843B2 (ja) * 2005-08-04 2011-11-09 株式会社日立製作所 ストレージ装置、ディスクキャッシュ制御方法及びディスクキャッシュの容量割当方法
JP2007102314A (ja) * 2005-09-30 2007-04-19 Fujitsu Ltd ディスクキャッシュ制御装置
US20070143546A1 (en) * 2005-12-21 2007-06-21 Intel Corporation Partitioned shared cache
US7844709B2 (en) * 2006-09-20 2010-11-30 International Business Machines Corporation Method and apparatus for managing central processing unit resources of a logically partitioned computing environment without shared memory access
JP4771431B2 (ja) 2007-09-20 2011-09-14 Kddi株式会社 オペレーティングシステムに基づくイベント処理機能搭載装置及びプログラム
US8352716B1 (en) 2008-01-16 2013-01-08 American Megatrends, Inc. Boot caching for boot acceleration within data storage systems
US8799429B1 (en) 2008-05-06 2014-08-05 American Megatrends, Inc. Boot acceleration by consolidating client-specific boot data in a data storage system
US8495348B2 (en) 2008-06-26 2013-07-23 Lsi Corporation Efficient root booting with solid state drives and redirect on write snapshots
EP2291771A4 (en) * 2008-06-26 2012-07-18 Lsi Corp EFFICIENT ROOT BOATS WITH SEMICONDUCTURES AND DEVICES IN WRITING SNAPSHOTS
US8275815B2 (en) 2008-08-25 2012-09-25 International Business Machines Corporation Transactional processing for clustered file systems
EP2335143A1 (en) * 2008-10-01 2011-06-22 Hitachi, Ltd. Storage system having function of performing formatting or shredding
US8656070B2 (en) * 2009-04-29 2014-02-18 Lsi Corporation Striping with SCSI I/O referrals
WO2010131373A1 (en) * 2009-05-15 2010-11-18 Hitachi,Ltd. Storage subsystem
US8806133B2 (en) * 2009-09-14 2014-08-12 International Business Machines Corporation Protection against cache poisoning
US8341348B2 (en) * 2009-11-19 2012-12-25 Hitachi, Ltd. Computer system and load equalization control method for the same where cache memory is allocated to controllers
US20110276728A1 (en) * 2010-05-06 2011-11-10 Hitachi, Ltd. Method and apparatus for storage i/o path configuration
JP5641300B2 (ja) * 2010-07-14 2014-12-17 日本電気株式会社 ストレージシステム及びストレージシステムのメモリキャッシュ領域制御方法
US8572325B2 (en) * 2010-12-07 2013-10-29 International Business Machines Corporation Dynamic adjustment of read/write ratio of a disk cache
WO2012147127A1 (en) * 2011-04-26 2012-11-01 Hitachi, Ltd. Computer system and control method of the computer system
US9606929B2 (en) * 2011-11-08 2017-03-28 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Simulated NVRAM
US9317423B2 (en) * 2013-01-07 2016-04-19 Hitachi, Ltd. Storage system which realizes asynchronous remote copy using cache memory composed of flash memory, and control method thereof
US9645942B2 (en) 2013-03-15 2017-05-09 Intel Corporation Method for pinning data in large cache in multi-level memory system
CN103645969B (zh) * 2013-12-13 2017-06-20 华为技术有限公司 数据复制方法及数据存储系统
CN106133707B (zh) * 2014-04-28 2020-03-20 慧与发展有限责任合伙企业 高速缓存管理
KR102438552B1 (ko) * 2015-02-04 2022-09-01 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작방법
JP6613603B2 (ja) 2015-04-30 2019-12-04 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、およびストレージシステム
JP6618941B2 (ja) * 2017-03-03 2019-12-11 株式会社東芝 管理装置、情報処理装置および管理方法
CN108874684B (zh) * 2018-05-31 2021-05-28 北京领芯迅飞科技有限公司 拆分cache缓存的nvdimm接口数据读写装置
CN111162794B (zh) * 2018-11-08 2023-10-20 北京忆芯科技有限公司 译码数据缓存方法和译码器
CN110224922B (zh) * 2019-05-21 2022-04-19 成都路行通信息技术有限公司 一种基于RabbitMQ的异步消息重试方法、系统及系统构建方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5829053A (en) * 1996-05-10 1998-10-27 Apple Computer, Inc. Block storage memory management system and method utilizing independent partition managers and device drivers
US6148368A (en) * 1997-07-31 2000-11-14 Lsi Logic Corporation Method for accelerating disk array write operations using segmented cache memory and data logging
CN1290890A (zh) * 1999-10-01 2001-04-11 国际商业机器公司 利用高速缓存器管理raid存储系统的方法和系统
US6275898B1 (en) * 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
US6347358B1 (en) * 1998-12-22 2002-02-12 Nec Corporation Disk control unit and disk control method
JP2002149599A (ja) * 2000-11-14 2002-05-24 Hitachi Ltd 共用ストレージを備えた計算機システム
US6502162B2 (en) * 1998-06-29 2002-12-31 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
JP2003157177A (ja) * 2001-11-22 2003-05-30 Hitachi Ltd 仮想計算機システム及びプログラム

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0389151A3 (en) 1989-03-22 1992-06-03 International Business Machines Corporation System and method for partitioned cache memory management
DE4030914A1 (de) * 1990-09-29 1992-04-30 Basf Ag Verfahren zur herstellung von kohlenwasserstoffen und polymeren mit aminstickstoff enthaltenden endgruppen
JP3308554B2 (ja) 1991-02-20 2002-07-29 株式会社日立製作所 制御装置及び制御装置の制御方法
JPH05128002A (ja) 1991-11-01 1993-05-25 Fujitsu Ltd キヤツシユメモリ分割制御方式
JP3160106B2 (ja) 1991-12-23 2001-04-23 ヒュンダイ エレクトロニクス アメリカ ディスクアレーの区分け方法
US5689678A (en) 1993-03-11 1997-11-18 Emc Corporation Distributed storage array system having a plurality of modular control units
JPH07129470A (ja) 1993-11-09 1995-05-19 Hitachi Ltd ディスク制御方法
US5657470A (en) 1994-11-09 1997-08-12 Ybm Technologies, Inc. Personal computer hard disk protection system
JP3772369B2 (ja) 1995-11-20 2006-05-10 株式会社日立製作所 記憶サブシステム
JPH10124388A (ja) 1996-10-15 1998-05-15 Hitachi Ltd 記憶制御装置
US6115787A (en) * 1996-11-05 2000-09-05 Hitachi, Ltd. Disc storage system having cache memory which stores compressed data
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
JP3937548B2 (ja) 1997-12-29 2007-06-27 カシオ計算機株式会社 データアクセス制御装置およびそのプログラム記録媒体
GB9806918D0 (en) 1998-03-31 1998-05-27 British Telecomm Software access
US6256705B1 (en) * 1998-06-05 2001-07-03 International Business Machines Corporation System and method for organizing data stored in a log structured array
US6665786B2 (en) 1998-09-21 2003-12-16 Microsoft Corporation Dynamic disk partition management
US6275824B1 (en) 1998-10-02 2001-08-14 Ncr Corporation System and method for managing data privacy in a database management system
JP2000187561A (ja) 1998-12-24 2000-07-04 Hitachi Ltd 記憶装置システム
EP1026575A3 (en) 1999-02-08 2006-09-06 Hitachi, Ltd. Disk array system and method of changing its configuration
US6640278B1 (en) * 1999-03-25 2003-10-28 Dell Products L.P. Method for configuration and management of storage resources in a storage network
US6519679B2 (en) 1999-06-11 2003-02-11 Dell Usa, L.P. Policy based storage configuration
US6986137B1 (en) * 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US6507905B1 (en) 1999-09-30 2003-01-14 International Business Machines Corporation System for modifying a master partition table of a master boot record to create a personalized local data drive having dedicated allocation for a specified user
US6615324B1 (en) 2000-01-07 2003-09-02 Cygnal Integrated Products, Inc. Embedded microprocessor multi-level security system in flash memory
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
JP4719957B2 (ja) 2000-05-24 2011-07-06 株式会社日立製作所 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
JP2003044297A (ja) 2000-11-20 2003-02-14 Humming Heads Inc コンピュータリソースの制御を行なう情報処理方法および装置、情報処理システム及びその制御方法並びに記憶媒体、プログラム
US20020104008A1 (en) 2000-11-30 2002-08-01 Cochran Robert A. Method and system for securing control-device-lun-mediated access to luns provided by a mass storage device
US6968463B2 (en) 2001-01-17 2005-11-22 Hewlett-Packard Development Company, L.P. System for controlling access to resources in a storage area network
US20020103913A1 (en) 2001-01-26 2002-08-01 Ahmad Tawil System and method for host based target device masking based on unique hardware addresses
JP2002230189A (ja) 2001-02-02 2002-08-16 Hitachi Ltd サービス提供システム
US7734781B2 (en) 2001-07-09 2010-06-08 Savvis Communications Corporation Methods and systems for shared storage virtualization
JP3617632B2 (ja) 2001-07-19 2005-02-09 富士通株式会社 Raid制御装置及びその制御方法
US7130852B2 (en) 2001-07-27 2006-10-31 Silicon Valley Bank Internal security system for a relational database system
US7085827B2 (en) 2001-09-20 2006-08-01 Hitachi, Ltd. Integrated service management system for remote customer support
US6895467B2 (en) 2001-10-22 2005-05-17 Hewlett-Packard Development Company, L.P. System and method for atomizing storage
US20030115447A1 (en) 2001-12-18 2003-06-19 Duc Pham Network media access architecture and methods for secure storage
US6775673B2 (en) 2001-12-19 2004-08-10 Hewlett-Packard Development Company, L.P. Logical volume-level migration in a partition-based distributed file system
US6715031B2 (en) 2001-12-28 2004-03-30 Hewlett-Packard Development Company, L.P. System and method for partitioning a storage area network associated data library
US7010663B2 (en) 2002-03-22 2006-03-07 Sun Microsystems, Inc. Method and system for dividing a plurality of existing volumes of storage into a plurality of virtual logical units of storage
JP4124612B2 (ja) 2002-05-01 2008-07-23 株式会社日立製作所 記憶サブシステムの制御方法および記憶サブシステム
US20040010563A1 (en) 2002-06-26 2004-01-15 John Forte Method for enterprise device naming for storage devices
US7725568B2 (en) 2002-09-09 2010-05-25 Netapp, Inc. Method and apparatus for network storage flow control
US7146499B2 (en) 2002-09-30 2006-12-05 International Business Machines Corporation Security system for replicated storage devices on computer networks
US6957303B2 (en) * 2002-11-26 2005-10-18 Hitachi, Ltd. System and managing method for cluster-type storage
JP4186602B2 (ja) 2002-12-04 2008-11-26 株式会社日立製作所 ジャーナルログを利用した更新データ書込方法
US7007183B2 (en) 2002-12-09 2006-02-28 International Business Machines Corporation Power conservation by turning off power supply to unallocated resources in partitioned data processing systems
JP2004220216A (ja) 2003-01-14 2004-08-05 Hitachi Ltd San/nas統合型ストレージ装置
JP4015035B2 (ja) 2003-02-06 2007-11-28 岐阜県 吸水材料及びその製造方法
JP4313068B2 (ja) 2003-03-28 2009-08-12 株式会社日立製作所 記憶装置のキャッシュ管理方法
JP2004302713A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd 記憶システム及びその制御方法
US20050010722A1 (en) 2003-07-11 2005-01-13 Chih-Wei Chen Multi-volume disk array management method and system
US20050015546A1 (en) 2003-07-15 2005-01-20 Ofir Zohar Data storage system
JP4437650B2 (ja) * 2003-08-25 2010-03-24 株式会社日立製作所 ストレージシステム
JP2005149436A (ja) * 2003-11-20 2005-06-09 Hitachi Ltd ストレージ装置、ストレージ装置における制御方法、ジョブスケジューリング処理方法及び障害処理方法並びにそれらのプログラム
JP2005190057A (ja) * 2003-12-25 2005-07-14 Hitachi Ltd ディスクアレイ装置及びディスクアレイ装置のリモートコピー制御方法
US20050152251A1 (en) * 2004-01-08 2005-07-14 Victor Company Of Japan, Ltd. Method and apparatus for recording check data of file system on recording medium
JP2005242757A (ja) * 2004-02-27 2005-09-08 Hitachi Ltd ストレージシステム
US20070028052A1 (en) * 2005-07-28 2007-02-01 International Business Machines Corporation Method and apparatus for maintaining cached state data for one or more shared devices in a logically partitioned computer system
JP5410025B2 (ja) * 2008-03-07 2014-02-05 株式会社日立製作所 ストレージシステム及びその管理方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5829053A (en) * 1996-05-10 1998-10-27 Apple Computer, Inc. Block storage memory management system and method utilizing independent partition managers and device drivers
US6148368A (en) * 1997-07-31 2000-11-14 Lsi Logic Corporation Method for accelerating disk array write operations using segmented cache memory and data logging
US6502162B2 (en) * 1998-06-29 2002-12-31 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
US6347358B1 (en) * 1998-12-22 2002-02-12 Nec Corporation Disk control unit and disk control method
US6275898B1 (en) * 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
CN1290890A (zh) * 1999-10-01 2001-04-11 国际商业机器公司 利用高速缓存器管理raid存储系统的方法和系统
JP2002149599A (ja) * 2000-11-14 2002-05-24 Hitachi Ltd 共用ストレージを備えた計算機システム
JP2003157177A (ja) * 2001-11-22 2003-05-30 Hitachi Ltd 仮想計算機システム及びプログラム

Also Published As

Publication number Publication date
US20060112225A1 (en) 2006-05-25
US7246208B2 (en) 2007-07-17
JP2005222274A (ja) 2005-08-18
US7240156B2 (en) 2007-07-03
EP1562123A1 (en) 2005-08-10
US20070245085A1 (en) 2007-10-18
US7739454B2 (en) 2010-06-15
US20050177684A1 (en) 2005-08-11
JP4141391B2 (ja) 2008-08-27
CN1652093A (zh) 2005-08-10

Similar Documents

Publication Publication Date Title
CN100342351C (zh) 存储子系统和存储子系统的控制方法
US11269518B2 (en) Single-step configuration of storage and network devices in a virtualized cluster of storage resources
US8347028B2 (en) Performance separation optimization according to protocol usage status and storage system performance
JP4615643B2 (ja) データ・ストレージ・システムにおける危険状態データの識別方法
US8521978B2 (en) Storage apparatus and method for controlling storage apparatus
US20060095705A1 (en) Systems and methods for data storage management
CN107077300A (zh) 用于平衡分段清除与i/o工作负载的速率匹配技术
CN106687910A (zh) 优化分段清除技术
Schindler et al. Improving throughput for small disk requests with proximal {I/O}
CN1673975A (zh) 存储系统
CN1678981A (zh) 在一个或多个包括多个虚拟卷的虚拟卷聚集中维护信息
CN1300688C (zh) 调整数据传输速率的装置和方法
JP2005165852A (ja) ストレージシステム、ストレージ制御装置、ストレージシステムの制御方法
JP2005190057A (ja) ディスクアレイ装置及びディスクアレイ装置のリモートコピー制御方法
CN1284087C (zh) 分配伪时间属性给一个或多个逻辑卷的装置和方法
JP4258768B2 (ja) ファイル配置システム
JP4808747B2 (ja) ストレージサブシステム
JP2010231636A (ja) ストレージシステムおよびストレージ管理方法
JP2006099542A (ja) データアーカイブシステム、データ検索方法及び管理サーバ
JP2008210072A (ja) ボリューム割当方式
Ra et al. Ioarbiter: Dynamic provisioning of backend block storage in the cloud
KR200307374Y1 (ko) 다목적 통합 네트워크 저장장치
Ray Latency Tradeoffs in Distributed Storage Access
Buckley-Geer et al. Overview of the CDF Run II data handling system
Cavalli et al. Experience with Hierarchical Storage Management based on GPFS and TSM at INFN-CNAF

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071010

Termination date: 20180105