CN1991734B - 一种数据存储虚拟化子系统及其控制方法 - Google Patents

一种数据存储虚拟化子系统及其控制方法 Download PDF

Info

Publication number
CN1991734B
CN1991734B CN200610136106XA CN200610136106A CN1991734B CN 1991734 B CN1991734 B CN 1991734B CN 200610136106X A CN200610136106X A CN 200610136106XA CN 200610136106 A CN200610136106 A CN 200610136106A CN 1991734 B CN1991734 B CN 1991734B
Authority
CN
China
Prior art keywords
physical storage
storage device
pond
standby
psd
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
Application number
CN200610136106XA
Other languages
English (en)
Other versions
CN1991734A (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.)
INFORTREND Inc
Original Assignee
INFORTREND Inc
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 INFORTREND Inc filed Critical INFORTREND Inc
Publication of CN1991734A publication Critical patent/CN1991734A/zh
Application granted granted Critical
Publication of CN1991734B publication Critical patent/CN1991734B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明对主机单元提供数据存储虚拟化子系统,该数据存储虚拟化子系统包含用于连接至该主机单元的存储虚拟化控制器、和至少一个物理存储装置池,至少一物理存储装置被选定以作为该至少一个物理存储装置池中的一个物理存储装置池的池备用的物理存储装置,而该至少一个物理存储装置池中的该物理存储装置池包含至少一个用于存储用户数据或相关的冗余信息的物理存储装置,且被赋予一个池标识符以辨识该物理存储装置池。

Description

一种数据存储虚拟化子系统及其控制方法
技术领域
本发明涉及一种数据存储虚拟化子系统,尤其涉及一种提供由至少一个物理存储装置(PSD)所形成的至少一个PSD池(pool)的数据存储虚拟化子系统。 
背景技术
存储虚拟化(storage virtualization)是一种将物理存储空间虚拟化的技术,其主要的功能是将主要功能为存储数据以形成逻辑存储媒体的物理存储装置(physical storage device,PSD)的各个区段组合,在此称为「逻辑媒体单元」(logical media units,LMU),而逻辑媒体单元的各个存储元件(例如:存储区块)对于逻辑存储地址而言,其是唯一可寻址的,而使得主机单元可存取所述LMU,例如,硬盘驱动器(hard disk drives,HDD)、存储磁带、光驱等等。该技术主要用于独立冗余磁盘阵列(RAID,在此简称磁盘阵列)的存储虚拟化,通过所述存储虚拟化技术,可将较小物理存储装置组合成为容量较大、可容错、高效能的逻辑媒体单元。 
数据存储虚拟化子系统(storage virtualization subsystem,SVS)包含存储虚拟化控制器(storage virtualization controller,SVC)和至少一个连接至所述SVC的PSD以提供主机单元用于存储大量数据的逻辑媒体单元(LMU),因此,响应于由主机单元所发出的请求而执行该输出入(IO)指令,从而得到存储在对应于该LMU地址的PSD的数据。SVC的主要目的是对主机单元映射(map)可见的PSD的区段组合至LMU,而使得主机单元对每一LMU呈现好像其直接连接至视此LMU为逻辑等效物的PSD。为了要完成上述情形,该主机单元送出一个由SVC来处理的IO请求,该IO请求将在一等效的PSD中正常地产生特定的行为,也在与该寻址的LMU相关的部分的SVC上产生逻辑的等效行为。这样的结果是主机单元认为其是直接连接至PSD并且与该PSD通信,而事实上其是连接至简化模拟该寻址的LMU是逻辑等效物的PSD行为的至少一个SVC上。 
外接式(或可称为独立式(stand-alone))存储虚拟化控制器是一种经由IO接口连接于主机系统的存储虚拟化控制器,且其可提供连接至位于主机系统外部的装置,一般而言,外接式的存储虚拟化控制器通常独立于主机进行运作。外接式(或称独立式)直接存取磁盘阵列控制器(external direct-access RAID controller)是外接式存储虚拟化控制器的一个例子。磁盘阵列控制器将一个或多个物理存储装置(physical storage device,PSD)的区段组合以构成逻辑媒体单元,而它们的构成方式由所采用的特定磁盘阵列型态(RAID level)决定,其所构成的逻辑媒体单元对于主机系统而言,是连续可寻址的,而使得每一逻辑媒体单元可被主机单元来利用。典型地,一个单一的磁盘阵列控制器(single RAID controller)可支持多种磁盘阵列型态,因此,不同的逻辑媒体单元可以由PSD的各个区段通过不同的磁盘阵列型态而以不同的方式组合而成,所组合成的各个不同的逻辑媒体单元则具有各该磁盘阵列型态的特性。 
另一个外接式存储虚拟化控制器的例子是JBOD(Just a Bunch of Drives)模拟控制器。JBOD为「仅是一组驱动器」的缩写,其是一组物理存储装置,并经由一个或多个输出入装置连接(IO device interconnect)而直接连接于主机系统上。另一个外接式存储虚拟化控制器的例子为一种外接式磁带备份子系统的控制器。 
我们可直接了解到,SVS提供越多的PSD,该SVS遇到失效的PSD的可能性就越高。对于配置设定(configuration)有冗余数据和支持数据重构功能的LMU来说,当该LMU其中的一个PSD成员失效时,该LMU将进入降级模式(degraded mode),该降级模式是指该LMU与正常情况时相比,处于数据完整性(integrity)保护较低的情况。如果在备用的PSD可存取时,该数据重构功能被触发。在该SVS中,假如无任何备用的PSD来重建数据时,用户必须停止整个系统来更换该失效的PSD,而使得该LMU保持在正常状态而不是在降级模式下。在本说明书中,这些PSD被用来存储用户数据或相关的冗余数据,在此,我们称这些PSD为「正常使用的PSD 」(normally-used PSD),对于正常使用的PSD来看作为替代物的这些PSD,则称为「备用的PSD 」(spare PSD)。以经济效率的观点来看,在具有固定PSD数目的SVS中,若是选定较少的PSD作为备用的PSD,则用来存储用户数据和相关的冗余数据的存储容量越高,该SVS也就越有经济效率。然而,当因为该备用的PSD可能被作为正常使用的PSD来使用,以取代另一之前为正常使用的失效的PSD的需求 机会越高,所以被该备用的PSD来支持的正常使用的PSD越多,可被备用的PSD来支持的正常使用的PSD的可能性越低。在此情况下,传统的解决方案是在一SVS范围内提供型态为全区备用的PSD(global spare PSD),而对所有的LMU提供备用的能力。另一个传统的解决方案是提供型态为区域备用的PSD(local spare PSD),以对特定的LMU提供备用的能力,我们称呼具有如此特性的区域备份的PSD为「专用的」(dedicated)PSD。 
图1示出在先前技术中,SVS的备用物理存储装置(spare physical storage device,PSD)的实施解决方法,其中该数据存储虚拟化子系统(storage virtualization subsystem,SVS)20包含存储虚拟化控制器(storage virtualization controller,SVC)100和多个物理存储装置(physical storage deVice,PSD)130-1至130-24,其连接至所述SVC 100上。在本实施例中,所述SVC 100和所述PSD 130-1至130-8被容纳于箱体(enclosure)120-1中;所述PSD 130-9至130-16被容纳于箱体120-2中;所述PSD 130-17至130-24被容纳于箱体120-3中。所述箱体120-2通过一扩展端口而连接至箱体120-1。通过这种结构,在其它箱体中的PSD可以被连接至其中。以实线所描绘出的PSD表示所述PSD为正常使用的PSD,而以虚线所描绘出的PSD表示所述PSD为备用的PSD。该逻辑媒体单元(logical media unit,LMU)140-1包含正常使用的PSD130-1、130-2、130-9、130-10和130-17,且具有区域备用(local spare)的PSD 130-7;该LMU 140-2包含正常使用的PSD130-3和130-4,且具有区域备用的PSD130-8;该LMU 140-3包含正常使用的PSD 130-11、130-12、130-18、130-19和130-20,且具有区域备用的PSD 130-23;该LMU 140-4包含正常使用的PSD 130-5、130-6、130-13和130-14,且具有区域备用的PSD 130-15;该LMU140-5包含正常使用的PSD 130-21和130-22,且具有区域备用的PSD 130-24。此外,在该SVS 20中提供全区备用(global spare)的PSD 130-16。区域备用的PSD是被选定的LMU所专用的(dedicated)备用的PSD,也就是说,当有需要时,该区域备用的PSD可以作为属于该选定的LMU的任何一个PSD的替代物。例如,LMU 140-1的区域备用的PSD 130-7是提供给该LMU 140-1中所有的正常使用的PSD来专用的,例如PSD 130-1、130-2、130-9、130-10和130-17,当有需要的话,该PSD 130-7可以被PSD 130-1、130-2、130-9、130-10和130-17中的任何一个PSD用作替代物。另一方面,在该SVS 20范围内,该全区备用的PSD 130-16对于所有LMU 140-1至140-5中所有正常使用的 PSD 130-1至PSD 130-6、PSD 130-9至PSD 130-14以及PSD 130-17至PSD130-22提供备用的能力。也就是说,当有需要时,对于所有PSD,该全区备用的PSD 130-16可以作为属于该SVS 20的任何一个PSD的替代物。 
一个或多个的正常使用的PSD以及备用的PSD 130-1至PSD 130-24内部具有配置设定(configuration)信息。若一PSD被选定作为备用的PSD时,则该PSD的配置设定信息可能包含与该LMU相关的信息,或是记录该PSD的备用状态(spare status),其中该备用状态示出该PSD不是作为区域备用的PSD,就是作为全区备用的PSD。当该SVS 20电源开启时,这些PSD的配置设定信息存储于该SVC 100的存储器(未示出)中。然后,该已存储的配置设定信息用于反映该所有的LMU与该备用的PSD之间的关系,以便被该SVC用来辨识出提供备用能力的备用PSD。 
然而,定义这些传统备用的PSD中的这两种形式却不够弹性,这是因为该备用的PSD的使用范围只能不是针对特定的LMU来定义,不然就是针对该整个的SVS来定义。 
发明内容
本发明的目的是提供一种对主机单元提供数据存储空间的数据存储虚拟化子系统,包括:一个存储虚拟化控制器,用于连接至主机单元;多个物理存储装置,包含多个用于存储用户数据或相关的冗余信息的物理存储装置及至少一个备用的物理存储装置,所述多个物理存储装置连接至所述存储虚拟化控制器;以及至少一个物理存储装置池,所述至少一个物理存储装置池中的每一个物理存储装置池包含:至少一个箱体,用于容置所述多个物理存储装置;以及所述至少一个箱体中的每一个箱体配置一个标识符存储装置,用于存储一个池标识符,所述池标识符用于辨识该物理存储装置池,其中,所述至少一个备用的物理存储装置中的一个物理存储装置被指定给所述至少一个物理存储装置池作为池备用的物理存储装置。 
本发明的另一目的是提供一种用于上述数据存储虚拟化子系统的控制方法,所述方法包括步骤:检查所述备用表以判定是否已有一可利用的池备用的物理存储装置被指定给所述物理存储装置池;以及当判定已有一可利用的池备用的物理存储装置被指定给所述物理存储装置池时,则所述池备用的物理存储装置被用来做为所述物理存储装置池所包含的一个物理存储装置万一 发生失效时或即将结束时的一个替代的物理存储装置。 
本发明的又一目的是提供一种用于上述数据存储虚拟化子系统的控制方法,所述方法包括步骤:检查是否已有一可利用的池备用的物理存储装置被指定给所述物理存储装置池;以及当判定已有一可利用的池备用的物理存储装置被指定给所述物理存储装置池时,则所述池备用的物理存储装置被用来做为所述物理存储装置池所包含的一个物理存储装置万一发生失效时或即将结束时的一个替代的物理存储装置。 
本发明的又一目的是提供一种用于上述的数据存储虚拟化子系统的控制方法,包含步骤:检查是否已有一可利用的池备用的物理存储装置;当判定已有一可利用的池备用的物理存储装置被指定给所述物理存储装置池时,则所述池备用的物理存储装置被用来做为所述物理存储装置池所包含的一个物理存储装置万一发生失效时或即将结束时的一个替代的物理存储装置;以及当所述多个用于存储用户数据或相关的冗余信息的物理存储装置中的一个物理存储装置为一失效的或即将结束的物理存储装置时,将被存储在所述失效的物理存储装置中的数据重构至所述池备用的物理存储装置中,或是将被存储在所述即将结束的物理存储装置中的数据备份至所述池备用的物理存储装置中。 
本发明的又一目的是提供一种用于数据存储虚拟化子系统的备用的物理存储装置指定方法,所述存储虚拟化子系统包括一个存储虚拟化控制器以及多个物理存储装置连接至所述存储虚拟化控制器,所述多个物理存储装置包含多个用于存储用户数据或相关的冗余信息的物理存储装置及至少一个备用的物理存储装置,所述方法包括步骤:定义至少一个物理存储装置池,所述至少一个物理存储装置池中的每一个物理存储装置池包含:至少一个箱体,用于容置所述多个物理存储装置;以及所述至少一个箱体中的每一个箱体配置一个标识符存储装置,用于存储一个池标识符,所述池标识符用于辨识该物理存储装置池;以及指定所述至少一个备用的物理存储装置作为所述至少一个物理存储装置池中的一个物理存储装置池的池备用的物理存储装置。 
本发明的又一目的是提供一种用于指定备用的物理存储装置的方法,其中所述备用的物理存储装置用于一数据存储虚拟化子系统,所述数据存储虚拟化子系统包括有物理存储装置池、被指定至所述物理存储装置池的池备用的物理存储装置和一个区域备用的物理存储装置,其中,所述存储虚拟化子 系统包括:一个存储虚拟化控制器,用于连接至主机单元;多个物理存储装置,包含多个用于存储用户数据或相关的冗佘信息的物理存储装置及至少一个备用的物理存储装置,所述多个物理存储装置连接至所述存储虚拟化控制器;以及至少一个物理存储装置池,所述至少一个物理存储装置池中的每一个物理存储装置池包含:至少一个箱体,用于容置所述多个物理存储装置;以及所述至少一个箱体中的每一个箱体配置一个标识符存储装置,用于存储一个池标识符,所述池标识符用于辨识该物理存储装置池,其中,所述至少一个备用的物理存储装置中的一个物理存储装置被指定给所述至少一个物理存储装置池作为池备用的物理存储装置,所述方法包括步骤:若所述区域备用的物理存储装置可利用时,选择所述区域备用的物理存储装置以作为在所述物理存储装置池中所使用的备用的物理存储装置;以及若所述区域备用的物理存储装置不可利用时,选择所述全区备用的物理存储装置以作为在所述物理存储装置池中所使用的备用的物理存储装置。 
本发明的又一目的是提供一种用于指定备用的物理存储装置的方法,其中所述备用的物理存储装置用于一数据存储虚拟化子系统,所述数据存储虚拟化子系统包括有物理存储装置池、被指定至所述物理存储装置池的池备用的物理存储装置和一个区域备用的物理存储装置及一个全区备用的物理存储装置,其中,所述存储虚拟化子系统包括:一个存储虚拟化控制器,用于连接至主机单元;多个物理存储装置,包含多个用于存储用户数据或相关的冗余信息的物理存储装置及至少一个备用的物理存储装置,所述多个物理存储装置连接至所述存储虚拟化控制器;以及至少一个物理存储装置池,所述至少一个物理存储装置池中的每一个物理存储装置池包含:至少一个箱体,用于容置所述多个物理存储装置;以及所述至少一个箱体中的每一个箱体配置一个标识符存储装置,用于存储一个池标识符,所述池标识符用于辨识该物理存储装置池,其中,所述至少一个备用的物理存储装置中的一个物理存储装置被指定给所述至少一个物理存储装置池作为池备用的物理存储装置,所述方法包括步骤:若所述区域备用的物理存储装置可利用时,选择所述区域备用的物理存储装置以作为在所述物理存储装置池中所使用的备用的物理存储装置;以及若所述区域备用的物理存储装置不可利用时,选择所述全区备用的物理存储装置以作为在所述物理存储装置池中所使用的备用的物理存储装置。 
根据本发明的一实施例,其中所述至少一个物理存储装置池包含有被存储在所述多个物理存储装置中的至少一个物理存储装置中的配置设定信息,而所述至少一个物理存储装置是用于存储用户数据或相关的冗余信息的物理存储装置、或是被指定作为池备用的物理存储装置。 
根据本发明的一实施例,其中所述存储虚拟化控制器包含一备用表,其包括一配置设定信息的备用相关信息和所述池标识符。 
根据本发明的一实施例,其中所述池标识符被存储于一配置设定信息中。 
根据本发明的一实施例,其中所述每一个物理存储装置池中的每一个箱体包含一个池标识符单元,所述标识符存储装置位于所述池标识符单元中。 
根据本发明的一实施例,其中所述标识符存储装置是开关。 
根据本发明的一实施例,其中所述标识符存储装置是存储器。 
根据本发明的一实施例,其中所述至少一个物理存储装置池包含一个第一物理存储装置池及一个第二物理存储装置池,一个第一池备用的物理存储装置被指定给所述第一物理存储装置池作为一个池备用的物理存储装置,且当所述第一池备用的物理存储装置自所述第一物理存储装置池中被移除,然后被插入至所述相同的数据存储虚拟化子系统的所述第二物理存储装置池中时,所述第一池备用物理存储装置所被指定的物理存储装置池从所述第一物理存储装置池改变至所述第二物理存储装置池。 
根据本发明的一实施例,其中所述池标识符单元是一个背板。 
根据本发明的一实施例,其中所述至少一个物理存储装置池中的每一个物理存储装置池仅包含一个箱体,且所述池备用的物理存储装置是箱体备用的物理存储装置。 
根据本发明的一实施例,其中所述多个物理存储装置属于多个箱体。 
根据本发明的一实施例,其中所述至少一个物理存储装置池中的一个物理存储装置池的所有的物理存储装置位于相同的建筑物中。 
根据本发明的一实施例,其中所述存储器是非易失性存储器。 
根据本发明的一实施例,其中所述存储器是易失性存储器。 
根据本发明的一实施例,其中所述非易失性存储器是至少一个可编程电子擦除只读存储器。 
根据本发明的一实施例,其中所述易失性存储器是至少一个动态随机存取存储器。 
根据本发明的一实施例,其中所述存储虚拟化控制器的备用表在所述存储虚拟化控制器电源开启时产生。 
根据本发明的一实施例,其中当所述存储虚拟化控制器知道有新插入的物理存储装置时,所述存储虚拟化控制器的所述备用表自动被更新。 
根据本发明的一实施例,其中当所述存储虚拟化控制器知道有新插入的物理存储装置时,所述存储虚拟化控制器的备用表在所述数据存储虚拟化子系统的重置过程期间被更新。 
根据本发明的一实施例,其中当所述备用的物理存储装置自所述数据存储虚拟化子系统移除或插入至所述数据存储虚拟化子系统时,所述存储虚拟化控制器的所述备用表被更新。 
根据本发明的一实施例,所述方法包括步骤:当所述一个物理存储装置发生失效时,将存储在所述失效的物理存储装置中的数据重构至所述可利用的池备用的物理存储装置中。 
根据本发明的一实施例,所述方法包括步骤:当所述一个物理存储装置即将结束时,将存储在所述即将结束的物理存储装置中的数据备份至所述可利用的池备用的物理存储装置中。 
根据本发明的一实施例,所述方法包括步骤:当所述池备用的物理存储装置被用来做为所述一个发生失效或即将结束的物理存储装置的替代的物理存储装置时,将存储在所述至少一物理存储装置中的所述可利用的池备用的物理存储装置的至少一个配置设定信息更新。 
根据本发明的一实施例,所述方法包括步骤:当所述池备用的物理存储装置被用来做为所述一个发生失效或即将结束的物理存储装置的替代的物理存储装置时,将存储在备用表中所述可利用的池备用的物理存储装置的至少一个配置设定信息的备用相关信息更新。 
根据本发明的一实施例,所述控制方法中,其中所述多个物理存储装置仅容置于所述至少一个箱体的单一个箱体中。 
根据本发明的一实施例,所述控制方法中,其中所述多个物理存储装置容置于所述至少一个箱体的多个箱体中。 
根据本发明的一实施例,所述控制方法中,其中所述多个物理存储装置容置于同一建筑物中。 
根据本发明的一实施例,所述控制方法中,其中所述至少一个物理存储 装置池包含一个第一物理存储装置池及一个第二物理存储装置池,一个第一池备用的物理存储装置被指定给所述第一物理存储装置池作为一个池备用的物理存储装置,且当所述第一池备用的物理存储装置自所述第一物理存储装置池中移除,然后插入至所述相同的数据存储虚拟化子系统的所述第二物理存储装置池中时,所述第一池备用物理存储装置所被指定的物理存储装置池从所述第一物理存储装置池改变至所述第二物理存储装置池。 
根据本发明的一实施例,所述方法中,其中所述数据存储虚拟化子系统包括一全区备用的物理存储装置,且所述方法还包括步骤:若所述池备用的物理存储装置不可利用时,选定所述全区备用的物理存储装置作为备用的物理存储装置,以使用于所述物理存储装置池中。 
附图说明
图1示出数据存储虚拟化子系统(SVS)的备用物理存储装置的现有解决方案的范例。 
图2A是示出本发明的第一实施例的方块图。 
图2B是示出本发明的第一实施例的另一方块图。 
图3是示出本发明的第二实施例的方块图。 
图4是示出本发明的第三实施例的方块图。 
图5是示出本发明的第四实施例的方块图。 
图6是示出根据本发明的存储虚拟化控制器的数据重构控制流程的一实施例的方块图。 
主要元件符号说明 
10主机单元 
20数据存储虚拟化子系统(SVS) 
100存储虚拟化控制器(SVC) 
110池(pool) 
120箱体 
130物理存储装置(PSD) 
140逻辑媒体单元(LMU) 
200主机端I0装置连接控制器 
210存储器 
220物理存储装置端连接控制器 
230中央处理电路(CPC) 
240池标识符单元(pool ID unit) 
350标识符存储装置(ID-storing device) 
360配置设定信息 
600~680步骤流程图 
具体实施方式
参考图2A和图2B以了解本发明的第一实施例,其中图2A是示出本发明的第一实施例的方块图;图2B是示出第一实施例的另一方块图。在本实施例中,该SVS 20包含SVC 100,例如,但并不受限制于所列举的例子,一个外接式(stand-alone)RAID SVC和多个PSD 130附接于该SVC 100上。虽然只示出该SVS 20中仅配置一个SVC 100,但此处可以有一个以上个配置设定为冗余型态的SVC,例如,两冗余配置设定的SVC 100以形成一冗余的SVS,其中,万一该SVS的所述冗余配置设定的SVC中的一个SVC失效时,所述冗余配置设定的SVC中的另一个SVC将接管该失效的SVC的功能。该SVC100包含多个功能方块,例如(此并不受限制于所列举的例子)主机端输出入装置连接控制器(host-side IO device interconnect controller)200、存储器210、物理存储装置端输出入连接控制器(physical storage device-side IO interconnect controller)220和中央处理电路(CPC)230。虽然图2A中所有的方块例示为分开的功能方块,但两个或多个,甚至于这些所有的功能方块在实际的实现上可以集成为一个芯片(chip)。 
该主机端输出入装置连接控制器200连接至该主机单元10和该CPC 230以在该SVC 100和该主机单元10之间充当接口和缓冲器,并且将接收由该主机单元10所传来的IO请求和相关的数据,并将其映射(map)和/或传送至该CPC 230。该主机端输出入装置连接控制器200包含一个或多个主机端端口(port)以耦接至该主机单元10,可以合并于此的通常端口形式可以为:光纤信道(fibre channel)所支持的光纤(fabric)、点对点(point-to-point)、在目标模式(target mode)下连接的公用环路(public loop)和/或专用环路(private loop)、操作在目标模式下的并行(parallel)小型计算机系统接口(SCSI)、操作于目标模式下支持该因特网小型计算机系统接口(internet SCSI,iSCSI)通讯协议的以太网络 (Ethernet)、操作于目标模式下的串行附接小型计算机系统接口(Serial-Attached SCSI,SAS)和操作于目标模式下的串行先进技术接取(Serial Advanced Technology Attached,SATA)。 
当该CPC 230通过该主机端输出入装置连接控制器200接收该主机单元10的IO请求时,该CPC 230会将此IO请求剖析并执行一些操作以响应此IO请求,以及将该SVC 100所请求的数据和/或报告和/或信息,经由该主机端输出入装置连接控制器200而传回该主机单元10。 
所述PSD 130包含在第一箱体120-1中的第一组PSD 130-1至130-8,在第二箱体120-2中的第二组PSD 130-9至130-16,在第三箱体120-3中的第三组PSD 130-17至130-24。需要注意的是,虽然在本实施例中,该SVC 100被容纳在该第一箱体120内,但该SVC 100不是与第一组的PSD一起在第一箱体120中,就是在该第一箱体120外。PSD pool被定义为包含至少一个正常使用的PSD,并且一池标识符(pool ID)被提供用于标识该PSD pool。该pool ID可以被存储在至少一个PSD的配置设定信息中或池标识符单元(pool ID unit)的标识符存储装置(ID-storing device)中。如果一pool的pool ID被存储在该至少一个指定的pool备用PSD的配置设定信息中,或是存储在属于该pool的至少一个正常使用的PSD中时,则被指定为具有该备用的PSD的pool(即该pool备用的PSD的拥有者)将不会改变,例如除非该配置设定信息先被改变(可能被用户改变),然而,如果一pool的pool ID存储在pool ID单元的ID-storing装置中时,则被指定为具有该备用的PSD的pool(备用的PSD的拥有者),能通过从该pool中移除该备用的PSD,且插入至另外的pool而被改变。在此说明书中,此特性将更详述于后。在本实施例中,PSD 130中的每一个PSD不是正常使用的PSD就是备用的PSD,而且三个pool 110-1、110-2和110-3则符合箱体120-1、120-2和120-3而被定义。例如,除了该备用的PSD外,在相同箱体中的PSD则被定义为一个pool。该pool 110-1包含PSD 130-1至130-6,而且所述PSD 130中的每一个PSD具有配置设定信息360,被存储在该PSD内。用来标识出该pool被赋予的一个第一pool ID且被存储于ID-storing装置350-1中。该pool 110-2包含PSD 130-9至130-14,而且所述PSD 130中的每一个PSD具有配置设定信息360,被存储在该PSD内。用来标识出该pool被赋予的一个第二pool ID且被存储于ID-storing装置350-2中(未示出)。该pool 110-3包含PSD 130-17至130-22,且所述PSD 130 中的每一个PSD具有配置设定信息360存储在该PSD内。用来标识出该pool被赋予的一个第三pool ID且被存储于ID-storing装置350-3中。当用户指定一PSD以作为一pool的备用PSD时,则在至少一个配置设定信息中,该PSD将被指定作为一pool的备用PSD。在一PSD被指定为一pool的备用的PSD后,当有需要时,则该备用的PSD可以在该pool中被使用以作为该PSD的替代物。在另一实施例中,在一SVS中可能存在有一些未使用的PSD,所述未使用的PSD既不是被配置设定为正常使用的PSD也不是被配置设定为备用的PSD。 
所提供的ID-storing装置350-1(350-3)设置在该pool 110-1(110-3)中的poolID单元240-1(240-3)之上。该pool ID的主要功能指出属于一特定的PSD pool中的一个或多个PSD。该ID-storing装置350是存储该pool ID设定的装置,例如,但并不受限于所列举的例子,存储器或开关。该pool ID可以由用户、SVC或该SVS的制造商来设定。在本实施例中,该ID-storing装置350的实施例是由具有多个状态的开关来设定,而且该pool ID也可在工厂制造时被预设(preset)。该poolID单元240是连接至所述PSD 130和所述SVC 100的一种装置,以对该SVC 100提供一pool ID,例如(但并不受限于所列举的例子),背板(backplane)。此背板为配置在一箱体中的PSD 130的一PSD连接电路板。 
当该SVS电源开启状态时,该SVC 100通过poolID单元240取得被存储在ID-storing装置350中的配置设定信息360与所述pool ID,并存储该配置设定信息360和所述pool ID至该SVC的存储器中,以标识出哪一个PSD130是被该pool ID所指定于pool 110内。然后该配置设定信息和该pool ID被整理以形成一备用表(spare table),该备用表对SVC提供一个或多个PSD、一个或多个LMU以及一个或多个PSD pool至该SVC之间的关联信息(relation information)。例如(但并不受限于所列举的例子),哪些PSD形成一LMU、对一特定LMU而言,哪一个PSD是区域备用PSD、哪一个PSD是全区备用PSD、哪些PSD形成一PSD pool以及对一特定PSD pool而言,哪一个PSD作为该pool备用的PSD。存储在该SVC的存储器中并且通过组合该配置设定信息和pool ID所形成的该备用表可以为该SVC所使用,以辨识出哪一个PSD具有一pool备用PSD所提供的备用能力。 
参考图2B,该SVS 20对其中存储有配置设定信息(未示出)的PSD 130作映射,以形成对该主机单元10而言的逻辑媒体单元(LMU)140-1至140-5。 该LMU 140-1由5个正常使用的PSD 130-1、130-2、130-9、130-10和130-17所形成;该LMU 140-2由2个正常使用的PSD 130-3和130-4所形成;该LMU140-3由5个正常使用的PSD 130-1l、130-12、130-18、130-19和130-20所形成;该LMU 140-4由4个正常使用的PSD 130-5、130-6、130-13和130-14所形成;该LMU 140-5由2个正常使用的PSD 130-21和130-22所形成。以实线所描绘的PSD代表为正常使用的PSD,而以虚线所描绘的PSD代表作为备用的PSD。该SVS 20进一步包含6个pool备用的PSD 130-7、130-8、130-15、130-16、130-23和130-24。该PSD pool 110-1包含PSD 130-1至130-6,且具有所述pool备用的PSD 130-7和130-8。该PSD pool 110-2包含PSD 130-9至130-14且具有所述pool备用的PSD 130-15和130-16;该PSD pool 110-3包含PSD 130-17至130-22且具有所述pool备用的PSD 130-23和130-24。 
图2A和2B所示的实施例中,将pool ID存储在ID-storing装置中而不是存储在配置设定信息中的特性说明如下:因为所述pool ID存储于所述ID-storing装置350中,所以若所述PSD 130的其中一个PSD被指定为所述pool 110之一的pool备用的PSD,例如,在该第一pool 110-1的配置设定信息360中时,则在该pool 110中移除该pool备用的PSD,然后将其插入至另一个pool 110中,例如,插入该相同的SVS的第二pool 110-2中之后,该pool备用PSD的拥有者将被认作为该第二pool 110-2而不是该第一pool 110-1。在该pool备用的PSD被插回到该同一个SVS 20的第二pool 110-2之后,此详细过程进一步包括有一过程,以将在该SVC100中的该备用表更新。在本实施例中,该更新过程可以在重置(reset)期间来执行,而在另一个实施例中,该更新的过程则可自动地来执行。在该更新过程的期间中,该SVC 100通过第二pool ID单元240-2而取得配置设定信息360和存储在第二ID-storing装置350-2中的第二pool ID此两者(而不是存储在该第一ID-storing装置350-1的第一pool ID),以辨识出该PSD 130为该第二PSD pool 110-2的pool备用PSD,且该SVC会存储所取得的配置设定信息360和该pool ID于其存储器中。此结果为被存储在该SVC的存储器中的该pool备用PSD所指定的pool会被改变。当一指定的pool备用PSD根据该pool备用的PSD所在位置的箱体而改变时,这也可称作是箱体的备用。 
在另一实施例中,对在一具有分散于建筑物(building)上的多个箱体的PSD的SVS来说,PSD pool可以被定义为在一building范围内包含所有正常 使用的PSD,或在一building范围内包含所述正常使用PSD的一部分。在进一步的实施例中,一SVS是提供两个分散于两个building上的PSD pool,在第一building中所有所有正常使用的PSD属于第一PSD pool以及第一pool ID被存储在所述pool ID单元的所有的ID-storing装置中,然而另一方面,在第二building中该箱体中所有正常使用的PSD属于第二PSD pool,而且第二poolID被存储在该pool ID单元的所有的ID-storing装置中。在本实施例中,例如在一实际例子中,该pool ID单元可以是背板(backplane),且该ID-storing装置可以是存储器或开关。假如该ID-storing装置为存储器时,其可以为非易失性(non-volatile)存储器,例如(但不受限于所列举的例子),可编程电子擦除只读存储器(Erasable Electric Programmable Read-Only Memory,EEPROM)或易失性存储器(但不受限于所列举的例子),动态随机存取存储器(DRAM)。假如一PSD被指定作为在该SVS的该第一PSD pool中的pool备用的PSD时,则只要该pool备用的PSD连接至第一building中的任何一个箱体时,该pool备用的PSD总能被认出属于该第一PSD pool,以保证该SVC取得该相同的pool ID,即为该第一pool ID,以辨识出该pool备用PSD的PSD pool。然而,假如在该备用的PSD被指定以作为该第一PSD pool的pool备用PSD后,该pool备用的PSD连接至该第二building的任何箱体时,然后该SVS将备用表更新,即该备用表不是能在SVS中被重置,就是能自动更新程序。因为该SVC现在将取得被存储在该第二building中的所述箱体的第二poolID,以辨识该pool的备用的PSD,所以在将该备用表更新之后,该pool备用的PSD也将被认出为一pool备用的PSD,但是是属于该第二PSD pool。 
在本实施例中,因为该pool备用的PSD(其在第一building中)被使用为替代物以存储在第二building中的另一个PSD数据的可能性大大地降低,所以限制在一building中的该PSD pool的定义提供一个优点,此优点为位于不同building的箱体的PSD间所存储的数据之间独立。在此种情形下,当所述building中的一个building碰到可让该building中的PSD pool操作失效的不可预见事件,例如(但不受限于所列举的例子)电源失效事件、火灾意外事件时,则以该PSD pool界线来保证另一building的数据可利用性和完整性。因为该两PSD pool定义出一pool备用的PSD的服务区域,且一旦在一PSD pool中正常使用的PSD需要一备用的PSD以作为备份时,则位于该building中的PSD pool的一pool备用的PSD能作为该正常使用的PSD的替代物,而不是 位于另一building中的另外pool的一pool备用的PSD。如此一来,该每一building的数据免于被存储至另一building上。 
此外,在SVS的building中的PSD pool数目也是弹性的。在一个或一个以上的实施例中,一SVS提供三个分散在两不个同building上的PSD pool。第一PSD pool被定义为包含在一building中的所述箱体的所有PSD;另两个PSD pool被定义为包含在另一building中的至少一个箱体的至少一个正常使用的PSD。在另一实施例中,一SVS也提供三个分散在两个不同的building中的PSD pool。在第一building中的第一箱体为第一PSD pool,且在第一poolID单元的第一ID-storing装置中的第一pool ID被存储在该第一箱体中;在该第一building中的第二箱体为第二PSD pool,且在第二pool ID单元的第二ID-storing装置中的第二pool ID被存储在该第二箱体中;在第二building中的第三箱体是第三PSD pool且第三pool ID单元的第三ID-storing装置中的第三pool ID被存储在该第三箱体中。因此,对另一building而言,该每一building的数据仍保持独立性,更精确的说,该SVS的每一PSD pool的数据都是独立的。 
在另一实施例中,在该SVC电源开启期间,该备用表不必被完成,只因为缺乏必要的备份PSD信息。该备用表可以在稍后当PSD pool中的一PSD需要一备用的PSD以作为替代的PSD时被完成以携带所述备用的PSD的信息,而不是当该SVS电源开启时产生该备用表。因此,当以上所提到的需求出现时,该SVC花了一些的时间以取得和存储备用的PSD的信息(其存储在该PSD pool的至少一个PSD的配置设定信息中和该PSD pool的ID中),以将待参考的该PSD pool的备用表完成。 
图3示出本发明的第二实施例。在图3中所示为该数据存储虚拟化子系统(SVS)20的范例,其包含一SVC和多个PSD 130,连接至该SVC 100上,以实线所描绘的PSD表示为正常使用的PSD;而以虚线所描绘的PSD表示为备用的PSD。图3中所示的该SVS 20和所述LMU 140-1至LMU 140-5的配置设定与图2B中所示的SVS和所述LMU以相同的方法来定义,以简化叙述而不是限制本发明的范围。所有的PSD 130-1至PSD 130-24被容纳于三个箱体120-1、120-2和120-3中,且分成PSD pool 110-4与110-5两个组。该第一组PSD pool 110-4被定义为包含箱体120-1所有正常使用的PSD 130-1至130-6和箱体120-2所有正常使用的PSD 130-9至130-14;该第二组PSD pool 110-5包含箱体120-2所有正常使用的PSD 130-9至130-14和箱体120-3所有正常使用的PSD 130-17至130-22。该PSD pool 110-4具有四个被指定在一个或多个的配置设定信息中的pool备用PSD 130-7、130-8、130-15、130-16;该PSD pool 110-5内具有该四个被指定在一个或多个的配置设定信息中的pool备用的PSD 130-15、130-16、130-23、130-24。在本实施例中,该pool ID(未示出)被存储在ID-storing装置(未示出)中,其可为至少一个开关或至少一个存储器(其设置在该poolID单元(未示出)),其中该pool ID单元也可以为背板(backplane)。在该箱体120-2的pool ID单元的ID-storing装置中,PSD pool110-4的pool ID和PSD pool 110-5的pool ID此两者都被存储。虽然在该箱体120-1的pool ID单元的ID-storing装置中,只有PSD pool 110-4的pool ID被存储,而且在该箱体120-3的pool ID单元的ID-storing装置中,也只有PSDpool 110-5的pool ID被存储。以该箱体120-2的所述正常使用的PSD 130的观点来看,当有需要时,所有6个pool备用的PSD 130-7、130-8、130-15、130-16、130-23及130-24中的pool备用的PSD可以为替代物,此情形例如PSD或其它代替该箱体120-2中的任何正常使用的PSD 130失效时。该配置设定信息不是设置在所有的PSD 130中,就是设置在PSD 130的一部分中。 
图4示出本发明的第三实施例,图4中所示是该数据存储虚拟化子系统(SVS)20的范例,其包含一SVC 100和多个PSD 130,连接至该SVC 100上,以实线所描绘的PSD代表所述正常使用的PSD,而以虚线所描绘的PSD代表备用的PSD。图4中所示该SVS 20和所述LMU 140-1至LMU 140-5的配置设定与图2B中所示该SVS和所述LMU以相同的方法被定义,其简化了叙述而不是限制本发明的范围。所有的PSD 130-1至PSD 130-24被容纳于三个箱体120-1、120-2和120-3中,且分成PSD pool 110-6与PSD pool 110-7两个组。图4中所示该PSD pool 110-6包含LMU 140-1、140-2和140-3的所述正常使用的PSD 130-1、130-2、130-9、130-10、130-17、130-3、130-4、130-11、130-12、130-18、130-19、130-20;该PSD pool 110-7包含LMU 140-4、140-5的所述正常使用的PSD 130-5、130-6、130-13、130-14、130-21和130-22。该PSD pool 110-6提供4个被指定在该一个或多个配置设定信息的pool备用的PSD 130-7、130-15、130-23、130-24,且该PSD pool 110-7提供2个被指定在该一个或多个配置设定信息的pool备用的PSD 130-8、130-16。该配置设定信息不是设置在所有的PSD 130中,就是设置在该PSD 130的一部分中。 在本实施例中,该pool ID和哪些正常使用的PSD 130形成PSD pool 110的信息都被存储在每一PSD pool 110的至少一个PSD的配置设定信息中,或被存储在至少一个该指定的pool备用PSD(s)130的配置设定信息之中,而不是存储在该pool ID单元的ID-storing装置中。例如,pool 110-6的第一pool ID被存储在正常使用的PSD 130-1至130-4、130-9至130-12、130-17至130-20和所述pool备用的PSD 130-7、130-15、130-23、130-24的至少其中之一的配置设定信息中。如此一来,该第一pool 110的pool备用的PSD 130所属的PSDpool不是简单地通过从该第一pool 110移除该备用的PSD 130且将该备用的PSD 130插入至该第二pool 110,而从该第一pool 110改变至第二pool 110(以上操作随着更新该SVS 20而得到已更新的备用表),因为以上所提及的步骤将不会改变存储在该PSD 130中的pool ID,然而该pool ID为认出哪一个pool110是该PSD 130所属的pool 110的关键。 
图5示出本发明的第四实施例,图5中所示是该数据存储虚拟化子系统(SVS)20的范例,其包含一SVC 100和多个PSD连接至该SVC 100上,以实线所描绘的PSD代表所述正常使用的PSD,而以虚线所描绘的所述PSD代表作为备用的PSD。图5中所示的该SVS 20和所述LMU 140-1至LMU140-5的配置设定与图2B中所示的SVS 20和所述LMU以相同的方法来形成,以简化叙述而不是限制本发明的范围。所有的PSD 130-1至PSD 130-24被容纳于三个箱体120-1、120-2和120-3中,且分成PSD pool 110-8个110-9两个组。该第一PSD pool 110-8包含所述LMU 140-1、140-2、140-3的正常使用的PSD 130-1、130-2、130-9、130-10、130-17、130-3、130-4、130-11、130-12、130-18、130-19和130-20;该PSD pool 110-9包含所述LMU 140-2、140-4、140-5的正常使用的PSD 130-3、130-4、130-5、130-6、130-13、130-14、130-21和130-22。该PSD pool 110-8具有四个在该配置设定信息中的pool备用的PSD130-7、130-15、130-23、130-24,且该PSD pool 110-9具有两个在该配置设定信息中的pool备用的PSD 130-8、130-16中。在本实施例中,pool ID(未示出)和哪些正常使用的PSD 130形成PSD pool 100的信息此两者被存储于每一PSD pool 110的至少一个正常使用PSD 130的配置设定信息中,或被存储在该至少一个指定的pool备用的PSD 130的配置设定信息中,而不是被存储在pool ID单元的ID-storing装置中。在该PSD 130-3、130-4配置设定信息中,所述PSD pool 110-8、110-9的两个poolID被存储。虽然在所述PSD 30-1、 130-2、130-9、130-10、130-17、130-11、130-12、130-18、130-19和130-20中的配置设定信息中,仅有PSD pool 110-8的pool ID被存储于其中,且所述PSD 130-5、130-6、130-13、130-14、130-21和130-22中的配置设定信息,也仅有PSD pool 110-9的pool ID被存储于其中。以所述正常使用的PSD130-3、130-4观点来看,当有需要时,6个所有的pool备用的PSD 130-7、130-8、130-15、130-16、130-23和130-24,都可以作为该箱体120-2的任何正常使用的PSD 130的替代物,例如,PSD失效时或是其它代替该正常使用的PSD130-3或130-4的情况。该配置设定信息不是提供于该所有的PSD 130中,就是提供于该PSD 130的一部分中。 
在另一实施中,该SVC 110通过参考备用表而使用至少一个pool备用的PSD,以将存储在失效的正常使用的PSD中的数据重构,其中此备用表是该SVC电源开启期间而产生,以寻找可利用的pool备用PSD来替代该失效的正常使用的PSD,其细节说明如下:在该SVC察觉到有失效的正常使用的PSD存在后,该SVC的第一步参考该备用表以察看该失效的正常使用的PSD的PSD pool是否曾记录下任何pool备用的PSD。然后第二步是根据该存储容量(storage volume)和/或pool备用的PSD的型态等等,来判定是否有任何该记录的pool备用的PSD可被利用作为该失效的正常使用的PSD的替代物。假设该纪录的pool备用的PSD的存储容量比该失效的正常使用的PSD的存储容量小时,则很明显,存储在该失效的正常使用的PSD的数据无法在该pool备用的PSD中完全地被重建。对于该失效的正常使用的PSD来说,这是该SVC判定该pool备用的PSD是不可利用的理由之一。假如该SVC判定无任何该纪录pool备用的PSD是可利用的时,该SVC将无法将存储在该失效的正常使用的PSD中的数据重构。假如发现该pool备用的PSD之一可利用时,该SVC将在该可利用的pool备用的PSD中重构该失效的正常使用的PSD中的数据,以保护该SVS的数据完整性。 
在更进一步的实施例中,当用户或SVC想要去指定PSD以作为pool备用的PSD时,该SVC判定该PSD的存储容量或该PSD的型态是否能将被存储在该PSD pool的任何正常使用的PSD中的数据重构,且以维护数据完整性为先,而不是在该SVC察觉有失效的正常使用的PSD存在之后,才来判定poo1备用的PSD的此一属性。 
请注意,因为PSD pool是为了指定pool备用的PSD至PSD pool的目的 而被定义,所以该pool备用的PSD在该PSD pool中被定义与否并不影响本发明的本质,假如在该pool备用的PSD的定义可与该pool备用的定义相符的话。因此,必须注意本发明包含两种情况。 
图6所示是系根据本发明,该SVC的数据重构控制流程的一实施例。在本实施例中,该SVS不仅能提供pool备用的PSD,也能提供区域备用的PSD或全区备用的PSD。步骤600中,在该SVC知道该SVS内部存在有失效的正常使用的PSD之后,该SVC将参考在电源开启期间或该SVS程序更新中所形成的备用表,以在步骤600中发现该失效的正常使用的PSD的LMU是否有已记录的区域备用的PSD。假如该步骤610中的答案为「是」时,步骤670中,该SVC将存储在所述PSD和存储在SVC的存储器两者中的该已发现的备用的PSD的相关的配置设定信息更新,以消除该备用的PSD作为一备用的PSD的纪录,然后在步骤680中,将在该区域备用的PSD中重构该失效的正常使用的PSD中的数据。若该步骤610中的答案为「否」时,在步骤620中,该SVC将再次检查该备用表,看该失效的正常使用的PSD所指定的PSDpool是否提供有任何已纪录pool备用的PSD。在步骤630中,假如该SVC根据该备用表发现出该失效的正常使用的PSD的PSD pool有一个或多个pool备用的PSD时,然后该SVC判定该已发现的一个或多个pool备用的PSD是否可利用。例如,(但不受限于所列举的例子)该或该一个或多个的pool备用的PSD的存储容量或型态能将存储在该失效的正常使用的PSD中的数据重构,同时该SVS的数据完整性能被保护。步骤670中,假如该已发现的一个或多个pool备用的PSD的其中之一对该失效的正常使用的PSD的重建而言是可利用的时,该SVC将存储在该PSD和存储在SVC存储器两者中的该可利用的备用PSD的相关的配置设定信息更新,在步骤680中,然后将在该可利用的pool PSD中重构该失效的正常使用的PSD中的数据。步骤630中,假如该SVC判定该发现的全部的一个或多个pool备用的PSD对该失效的正常使用的PSD而言是不可利用的时,步骤640中,该SVC进一步将再次参考该备用表,来看该SVS是否提供任何全区备用的PSD。假如该SVS不提供任何全区备用的PSD时,该控制流程直接进入步骤660,其中步骤660为该SVC无法将存储在该失效的正常使用的PSD数据重构。步骤640中假如答案是「是」时,则在步骤650中,该SVC判定该已发现的任何一个或多个pool备用的PSD是否可利用。步骤650中,假如该SVC判定该发现的一个或多 个全区备用的PSD其中之一是可利用的时,步骤670中,该SVC将存储在该PSD和存储在SVC的存储器两者中的该可利用的备用的PSD的相关的配置设定的信息更新,在步骤680中,然后将在该可利用的全区备用的PSD中重构该失效的正常使用的PSD中的数据。步骤650中,假如该SVC判定该已发现的一个或多个全区备用的PSD中无任何全区备用的PSD可利用时,则存储在该失效的正常使用的PSD中的数据无法被重建。 
在本实施例中,不需去判定该已发现的区域备用的PSD是否可利用的理由是,当用户或该SVC想要去指定一PSD以作为区域备用的PSD时,该判定巳经被处理,且只有在该PSD被判定对该被指定的LMU中所有的正常使用的PSD为可利用时,该PSD才可被指定作为区域备用的PSD。然而,在另一实施例中,该控制流程可以进一步包含在如图6所示的步骤610和步骤670之间的步骤有:检查任何该已发现的区域备用的PSD是否可利用。在更进一步的实施例中,因为步骤630或步骤650已于图6中所示的实施例中以之前所叙述相同的方法而先行判定,所以步骤630和步骤670中的任何一个或两者可以被省略。又在另一实施例中,如图6中所示的步骤610、620和640的顺序可以互相交换。例如,图6中所示的控制流程的步骤620可以与步骤640交换,而步骤630也可与步骤650交换。在另一实施例中,图6中所示的步骤670可以与步骤680交换。 
虽然在以上所提及的实施例中,例举出该pool备用的PSD在数据重构中可作为失效的PSD的替代物来使用,但该pool备用的PSD的功能并不受限于该pool备用的PSD上,而是当有需要时,可以作为该PSD pool的备用PSD。例如,当该SVC在一段时间内判定该正常使用的PSD将要失效而尚未失效时,此后称作「即将结束的(dying)」,该SVC可参考该备用表,以寻找出到一可利用的pool备用的PSD来替代该即将结束的正常使用的PSD,而不是等到该即将结束的正常使用的PSD变成失效的PSD。在此情况下,图6中所示的寻找到一可利用的备用PSD以作为替代物的控制流程对即将结束的正常使用的PSD而言仍然有效,只要通过简单地以「即将结束的PSD 」来取代该「失效的PSD 」这项术语而且将重建功能以所想要的功能来取代(例如,在具有「即将结束的PSD 」例子中的「代替功能」)即可。 
前面所叙述的所有例图与例示中,仅作为实施的范例而并非限制本发明的范围。很明显的,对于本领域技术人员来说,在没有超出该发明的范围或 精神的情况下,可将不同的修改和变动作为本发明的结构。前述的观点中,本发明想要包含以下落在该范围内的修正和变动的发明的声明和等效物。 

Claims (39)

1.一种对主机单元提供数据存储空间的数据存储虚拟化子系统,包括:
一个存储虚拟化控制器,用于连接至主机单元;
多个物理存储装置,包含多个用于存储用户数据或相关的冗余信息的物理存储装置及至少一个备用的物理存储装置,所述多个物理存储装置连接至所述存储虚拟化控制器;以及
至少一个物理存储装置池,所述至少一个物理存储装置池中的每一个物理存储装置池包含:
至少一个箱体,用于容置所述多个物理存储装置;以及
所述至少一个箱体中的每一个箱体配置一个标识符存储装置,用于
存储一个池标识符,所述池标识符用于辨识该物理存储装置池,
其中,所述至少一个备用的物理存储装置中的一个物理存储装置被指定给所述至少一个物理存储装置池作为池备用的物理存储装置。
2.如权利要求1所述的数据存储虚拟化子系统,其中所述至少一个物理存储装置池包含有被存储在所述多个物理存储装置中的至少一个物理存储装置中的配置设定信息,而所述至少一个物理存储装置是用于存储用户数据或相关的冗余信息的物理存储装置、或是被指定作为池备用的物理存储装置。
3.如权利要求1所述的数据存储虚拟化子系统,其中所述存储虚拟化控制器包含一备用表,其包括一配置设定信息的备用相关信息和所述池标识符。
4.如权利要求1所述的数据存储虚拟化子系统,其中所述池标识符被存储于一配置设定信息中。
5.如权利要求1所述的数据存储虚拟化子系统,其中所述每一个物理存储装置池中的每一个箱体包含一个池标识符单元,所述标识符存储装置位于所述池标识符单元中。
6.如权利要求1所述的数据存储虚拟化子系统,其中所述标识符存储装置是开关。
7.如权利要求1所述的数据存储虚拟化子系统,其中所述标识符存储装置是存储器。
8.如权利要求1所述的数据存储虚拟化子系统,其中所述至少一个物理存储装置池包含一个第一物理存储装置池及一个第二物理存储装置池,一个第一池备用的物理存储装置被指定给所述第一物理存储装置池作为一个池备用的物理存储装置,且当所述第一池备用的物理存储装置自所述第一物理存储装置池中被移除,然后被插入至所述相同的数据存储虚拟化子系统的所述第二物理存储装置池中时,所述第一池备用物理存储装置所被指定的物理存储装置池从所述第一物理存储装置池改变至所述第二物理存储装置池。
9.如权利要求5所述的数据存储虚拟化子系统,其中所述池标识符单元是一个背板。
10.如权利要求1所述的数据存储虚拟化子系统,其中所述至少一个物理存储装置池中的每一个物理存储装置池仅包含一个箱体,且所述池备用的物理存储装置是箱体备用的物理存储装置。
11.如权利要求1所述的数据存储虚拟化子系统,其中所述多个物理存储装置属于多个箱体。
12.如权利要求1所述的数据存储虚拟化子系统,其中所述至少一个物理存储装置池中的一个物理存储装置池的所有的物理存储装置位于相同的建筑物中。
13.如权利要求7所述的数据存储虚拟化子系统,其中所述存储器是非易失性存储器。
14.如权利要求7所述的数据存储虚拟化子系统,其中所述存储器是易失性存储器。
15.如权利要求13所述的数据存储虚拟化子系统,其中所述非易失性存储器是至少一个可编程电子擦除只读存储器。
16.如权利要求14所述的数据存储虚拟化子系统,其中所述易失性存储器是至少一个动态随机存取存储器。
17.如权利要求3所述的数据存储虚拟化子系统,其中所述存储虚拟化控制器的备用表在所述存储虚拟化控制器电源开启时产生。
18.如权利要求3所述的数据存储虚拟化子系统,其中当所述存储虚拟化控制器知道有新插入的物理存储装置时,所述存储虚拟化控制器的所述备用表自动被更新。
19.如权利要求3所述的数据存储虚拟化子系统,其中当所述存储虚拟化控制器知道有新插入的物理存储装置时,所述存储虚拟化控制器的备用表在所述数据存储虚拟化子系统的重置过程期间被更新。
20.如权利要求3所述的数据存储虚拟化子系统,其中当所述备用的物理存储装置自所述数据存储虚拟化子系统移除或插入至所述数据存储虚拟化子系统时,所述存储虚拟化控制器的所述备用表被更新。
21.一种用于如权利要求3所述的数据存储虚拟化子系统的控制方法,所述方法包括步骤:
检查所述备用表以判定是否已有一可利用的池备用的物理存储装置被指定给所述物理存储装置池;以及
当判定已有一可利用的池备用的物理存储装置被指定给所述物理存储装置池时,则所述池备用的物理存储装置被用来做为所述物理存储装置池所包含的一个物理存储装置万一发生失效时或即将结束时的一个替代的物理存储装置。
22.如权利要求21所述的控制方法,所述方法包括步骤:当所述一个物理存储装置发生失效时,将存储在所述失效的物理存储装置中的数据重构至所述可利用的池备用的物理存储装置中。
23.如权利要求21所述的控制方法,所述方法包括步骤:当所述一个物理存储装置即将结束时,将存储在所述即将结束的物理存储装置中的数据备份至所述可利用的池备用的物理存储装置中。
24.如权利要求21所述的控制方法,所述方法包括步骤:当所述池备用的物理存储装置被用来做为所述一个发生失效或即将结束的物理存储装置的替代的物理存储装置时,将存储在所述至少一物理存储装置中的所述可利用的池备用的物理存储装置的至少一个配置设定信息更新。
25.如权利要求21所述的控制方法,所述方法包括步骤:当所述池备用的物理存储装置被用来做为所述一个发生失效或即将结束的物理存储装置的替代的物理存储装置时,将存储在备用表中所述可利用的池备用的物理存储装置的至少一个配置设定信息的备用相关信息更新。
26.一种用于如权利要求1所述的数据存储虚拟化子系统的控制方法,所述方法包括步骤:
检查是否已有一可利用的池备用的物理存储装置被指定给所述物理存储装置池;以及
当判定已有一可利用的池备用的物理存储装置被指定给所述物理存储装置池时,则所述池备用的物理存储装置被用来做为所述物理存储装置池所包含的一个物理存储装置万一发生失效时或即将结束时的一个替代的物理存储装置。
27.如权利要求26所述的控制方法,所述方法包括步骤:当所述一个物理存储装置发生失效时,将存储在所述失效的物理存储装置中的数据重构至所述可利用的池备用的物理存储装置中。
28.如权利要求26所述的控制方法,所述方法包括步骤:当所述一个物理存储装置即将结束时,将存储在所述即将结束的物理存储装置中的数据备份至所述可利用的池备用的物理存储装置中。
29.如权利要求26所述的控制方法,所述方法包括步骤:当所述池备用的物理存储装置被用来做为所述一个发生失效或即将结束的物理存储装置的替代的物理存储装置时,将存储在所述至少一物理存储装置中的所述可利用的池备用的物理存储装置的至少一配置设定信息更新。
30.如权利要求26所述的控制方法,其中所述存储虚拟化控制器包含一备用表,且所述方法包括步骤:当所述池备用的物理存储装置被用来做为所述一个发生失效或即将结束的物理存储装置的替代的物理存储装置时,将存储在所述备用表中所述可利用的池备用的物理存储装置的至少一个配置设定信息的备用相关信息更新。
31.一种用于如权利要求1所述的数据存储虚拟化子系统的控制方法,所述方法包括步骤:
检查是否已有一可利用的池备用的物理存储装置;
当判定已有一可利用的池备用的物理存储装置被指定给所述物理存储装置池时,则所述池备用的物理存储装置被用来做为所述物理存储装置池所包含的一个物理存储装置万一发生失效时或即将结束时的一个替代的物理存储装置;以及
当所述多个用于存储用户数据或相关的冗余信息的物理存储装置中的一个物理存储装置为一失效的或即将结束的物理存储装置时,将被存储在所述失效的物理存储装置中的数据重构至所述池备用的物理存储装置中,或是将被存储在所述即将结束的物理存储装置中的数据备份至所述池备用的物理存储装置中。
32.如权利要求31所述的控制方法,其中所述多个物理存储装置仅容置于所述至少一个箱体的单一个箱体中。
33.如权利要求31所述的控制方法,其中所述多个物理存储装置容置于所述至少一个箱体的多个箱体中。
34.如权利要求31所述的控制方法,其中所述多个物理存储装置容置于同一建筑物中。
35.如权利要求31所述的控制方法,其中所述至少一个物理存储装置池包含一个第一物理存储装置池及一个第二物理存储装置池,一个第一池备用的物理存储装置被指定给所述第一物理存储装置池作为一个池备用的物理存储装置,且当所述第一池备用的物理存储装置自所述第一物理存储装置池中被移除,然后被插入至所述相同的数据存储虚拟化子系统的所述第二物理存储装置池中时,所述第一池备用物理存储装置所被指定的物理存储装置池从所述第一物理存储装置池改变至所述第二物理存储装置池。
36.一种用于数据存储虚拟化子系统的备用的物理存储装置指定方法,所述存储虚拟化子系统包括一个存储虚拟化控制器以及多个物理存储装置连接至所述存储虚拟化控制器,所述多个物理存储装置包含多个用于存储用户数据或相关的冗佘信息的物理存储装置及至少一个备用的物理存储装置,所述方法包括步骤:
定义至少一个物理存储装置池,所述至少一个物理存储装置池中的每一个物理存储装置池包含:
至少一个箱体,用于容置所述多个物理存储装置;以及
所述至少一个箱体中的每一个箱体配置一个标识符存储装置,用于
存储一个池标识符,所述池标识符用于辨识该物理存储装置池;以及
指定所述至少一个备用的物理存储装置作为所述至少一个物理存储装置池中的一个物理存储装置池的池备用的物理存储装置。
37.一种用于指定备用的物理存储装置的方法,其中所述备用的物理存储装置用于一数据存储虚拟化子系统,所述数据存储虚拟化子系统包括有物理存储装置池、被指定至所述物理存储装置池的池备用的物理存储装置和一个区域备用的物理存储装置,其中,所述存储虚拟化子系统包括:
一个存储虚拟化控制器,用于连接至主机单元;
多个物理存储装置,包含多个用于存储用户数据或相关的冗余信息的物理存储装置及至少一个备用的物理存储装置,所述多个物理存储装置连接至所述存储虚拟化控制器;以及
至少一个物理存储装置池,所述至少一个物理存储装置池中的每一个物理存储装置池包含:
至少一个箱体,用于容置所述多个物理存储装置;以及
所述至少一个箱体中的每一个箱体配置一个标识符存储装置,用于
存储一个池标识符,所述池标识符用于辨识该物理存储装置池,
其中,所述至少一个备用的物理存储装置中的一个物理存储装置被指定给所述至少一个物理存储装置池作为池备用的物理存储装置,所述方法包括步骤:
若所述区域备用的物理存储装置可利用时,选择所述区域备用的物理存储装置以作为在所述物理存储装置池中所使用的备用的物理存储装置;以及
若所述区域备用的物理存储装置不可利用时,选择所述池备用的物理存储装置以作为在所述物理存储装置池中所使用的备用的物理存储装置。
38.如权利要求37所述的方法,其中所述数据存储虚拟化子系统包括一全区备用的物理存储装置,且所述方法还包括步骤:若所述池备用的物理存储装置不可利用时,选定所述全区备用的物理存储装置作为备用的物理存储装置,以使用于所述物理存储装置池中。
39.一种用于指定备用的物理存储装置的方法,其中所述备用的物理存储装置用于一数据存储虚拟化子系统,所述数据存储虚拟化子系统包括有物理存储装置池、被指定至所述物理存储装置池的池备用的物理存储装置和一个区域备用的物理存储装置及一个全区备用的物理存储装置,其中,所述存储虚拟化子系统包括:
一个存储虚拟化控制器,用于连接至主机单元;
多个物理存储装置,包含多个用于存储用户数据或相关的冗余信息的物理存储装置及至少一个备用的物理存储装置,所述多个物理存储装置连接至所述存储虚拟化控制器;以及
至少一个物理存储装置池,所述至少一个物理存储装置池中的每一个物理存储装置池包含:
至少一个箱体,用于容置所述多个物理存储装置;以及
所述至少一个箱体中的每一个箱体配置一个标识符存储装置,用于
存储一个池标识符,所述池标识符用于辨识该物理存储装置池,
其中,所述至少一个备用的物理存储装置中的一个物理存储装置被指定给所述至少一个物理存储装置池作为池备用的物理存储装置,所述方法包括步骤:
若所述区域备用的物理存储装置可利用时,选择所述区域备用的物理存储装置以作为在所述物理存储装置池中所使用的备用的物理存储装置;以及
若所述区域备用的物理存储装置不可利用时,选择所述全区备用的物理存储装置以作为在所述物理存储装置池中所使用的备用的物理存储装置。
CN200610136106XA 2005-10-11 2006-10-11 一种数据存储虚拟化子系统及其控制方法 Active CN1991734B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59665205P 2005-10-11 2005-10-11
US60/596,652 2005-10-11

Publications (2)

Publication Number Publication Date
CN1991734A CN1991734A (zh) 2007-07-04
CN1991734B true CN1991734B (zh) 2011-12-07

Family

ID=37461559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200610136106XA Active CN1991734B (zh) 2005-10-11 2006-10-11 一种数据存储虚拟化子系统及其控制方法

Country Status (4)

Country Link
US (3) US8281090B2 (zh)
EP (1) EP1777613B1 (zh)
CN (1) CN1991734B (zh)
TW (1) TWI347520B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7921062B2 (en) * 2004-01-29 2011-04-05 Neopost Technologies Sa Dynamic allocation of postal security devices
US8959389B2 (en) * 2011-11-23 2015-02-17 International Business Machines Corporation Use of a virtual drive as a hot spare for a raid group
US10120617B2 (en) 2013-11-12 2018-11-06 International Business Machines Corporation Using deterministic logical unit numbers to dynamically map data volumes
US9323764B2 (en) * 2013-11-12 2016-04-26 International Business Machines Corporation Copying volumes between storage pools
US9800484B2 (en) * 2014-03-10 2017-10-24 International Business Machines Corporation Optimizing resource utilization in a networked computing environment
US10162622B2 (en) * 2016-02-26 2018-12-25 Ayla Networks, Inc. Local over the air update of an embedded system
US10331520B2 (en) * 2016-03-18 2019-06-25 Dell Products L.P. Raid hot spare disk drive using inter-storage controller communication
CN106713465B (zh) * 2016-12-27 2020-11-17 北京锐安科技有限公司 一种分布式存储系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193171A (en) * 1989-12-11 1993-03-09 Hitachi, Ltd. Method of managing space of peripheral storages and apparatus for the same
CN1598755A (zh) * 2003-07-02 2005-03-23 普安科技股份有限公司 磁盘驱动器组子系统及用于其中的外部模拟控制器

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU661680B2 (en) * 1991-02-06 1995-08-03 Storage Technology Corporation Disk drive array memory system using nonuniform disk drives
KR100745517B1 (ko) * 2001-09-10 2007-08-03 인터내셔널 비지네스 머신즈 코포레이션 자동화 데이터 저장 라이브러리 내의 데이터 저장 드라이브
US6996752B2 (en) * 2002-05-13 2006-02-07 Lsi Logic Corporation System, method, and computer program product within a data processing system for converting a spare storage device to a defined storage device in a logical volume
US7024586B2 (en) * 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
US7043623B2 (en) * 2003-01-22 2006-05-09 Intelitrac, Inc. Distributed memory computing environment and implementation thereof
US7664913B2 (en) * 2003-03-21 2010-02-16 Netapp, Inc. Query-based spares management technique
KR100562906B1 (ko) * 2003-10-08 2006-03-21 삼성전자주식회사 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩
US7296116B2 (en) * 2004-02-12 2007-11-13 International Business Machines Corporation Method and apparatus for providing high density storage
JP4646526B2 (ja) * 2004-02-18 2011-03-09 株式会社日立製作所 記憶制御システム及び同システムの制御方法
US7313721B2 (en) * 2004-06-21 2007-12-25 Dot Hill Systems Corporation Apparatus and method for performing a preemptive reconstruct of a fault-tolerant RAID array
US7533292B2 (en) * 2004-07-15 2009-05-12 International Business Machines Corporation Management method for spare disk drives in a raid system
JP4457019B2 (ja) * 2005-01-05 2010-04-28 富士通株式会社 情報処理システム及び一次ストレージ装置
US7574623B1 (en) * 2005-04-29 2009-08-11 Network Appliance, Inc. Method and system for rapidly recovering data from a “sick” disk in a RAID disk group

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193171A (en) * 1989-12-11 1993-03-09 Hitachi, Ltd. Method of managing space of peripheral storages and apparatus for the same
CN1598755A (zh) * 2003-07-02 2005-03-23 普安科技股份有限公司 磁盘驱动器组子系统及用于其中的外部模拟控制器

Also Published As

Publication number Publication date
US20120331251A1 (en) 2012-12-27
US20140351548A1 (en) 2014-11-27
TWI347520B (en) 2011-08-21
TW200715118A (en) 2007-04-16
EP1777613A3 (en) 2009-06-03
EP1777613B1 (en) 2021-11-24
EP1777613A2 (en) 2007-04-25
US8281090B2 (en) 2012-10-02
US20070078794A1 (en) 2007-04-05
US9110607B2 (en) 2015-08-18
CN1991734A (zh) 2007-07-04
US8825974B2 (en) 2014-09-02

Similar Documents

Publication Publication Date Title
CN1991734B (zh) 一种数据存储虚拟化子系统及其控制方法
JP4963123B2 (ja) 記憶アレイを再設定する装置及び方法
CN101364164B (zh) 存储系统
CN100592251C (zh) 储存虚拟化电脑系统及储存系统中管理资料快照影像方法
US8650360B2 (en) Storage system
US9274723B2 (en) Storage apparatus and its control method
EP1720101B1 (en) Storage control system and storage control method
US7587553B2 (en) Storage controller, and logical volume formation method for the storage controller
US8677080B2 (en) Method of controlling total capacity of virtual volumes associated with pool and storage apparatus
US20080091741A1 (en) Rebuilding a storage system
US20060155944A1 (en) System and method for data migration and shredding
CN103502956A (zh) 运行时动态性能偏斜消除
US20120036330A1 (en) Computer system and data migration method
TW201212033A (en) Hybrid storage apparatus and hybrid storage medium controller and addressing method thereof
JP4979348B2 (ja) ストレージ・アレイ内でネットワーク・アドレスを割り当てるための装置および方法
US8020032B2 (en) Method for providing deferred maintenance on storage subsystems
US20100306465A1 (en) Storage system comprising plurality of processor units
US10877844B2 (en) Using deletable user data storage space to recover from drive array failure
CN103748568B (zh) 指示破坏性写入的方法和系统
CN116483263A (zh) 一种存储系统的存储设备、存储系统
JP2006114008A (ja) システム構成を更新するための回復記録を構成するための方法および装置
JP2009252114A (ja) ストレージシステム及びデータ退避方法
US11847351B2 (en) Automatic identification and ranking of migration candidate storage groups based on relative performance impact to current storage array components
JP6933107B2 (ja) ストレージシステム,ストレージ制御装置およびストレージ制御プログラム
CN116027991A (zh) Raid阵列管理方法、装置、raid卡及存储介质

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