CN101351760A - 用于在高电源效率的大容量可扩展存储系统中存取辅助数据的方法和系统 - Google Patents

用于在高电源效率的大容量可扩展存储系统中存取辅助数据的方法和系统 Download PDF

Info

Publication number
CN101351760A
CN101351760A CNA2006800501189A CN200680050118A CN101351760A CN 101351760 A CN101351760 A CN 101351760A CN A2006800501189 A CNA2006800501189 A CN A2006800501189A CN 200680050118 A CN200680050118 A CN 200680050118A CN 101351760 A CN101351760 A CN 101351760A
Authority
CN
China
Prior art keywords
data
auxiliary data
memory device
storage system
auxiliary
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.)
Pending
Application number
CNA2006800501189A
Other languages
English (en)
Inventor
金·B·礼
杰弗里·卡森斯
艾克·顾哈
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.)
Copan Systems Inc
Original Assignee
Copan Systems 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 Copan Systems Inc filed Critical Copan Systems Inc
Publication of CN101351760A publication Critical patent/CN101351760A/zh
Pending legal-status Critical Current

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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3221Monitoring of peripheral devices of disk drive devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more 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/0689Disk arrays, e.g. RAID, JBOD
    • 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
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

在这里公开的是一种预备用于存取的数据单元的方法。数据存储系统包括多个具有数据单元的存储设备。在同一时间,该数据存储系统中的所有存储设备并没有全部通电。该方法包括预备和存储辅助数据。该辅助数据是为在数据单元存取请求期间将会断电的存储设备上的数据单元预备的。该辅助数据存储在存储设备上,由此当数据单元是存取请求的对象时,该辅助数据在通电存储设备上有可能是可用的。

Description

用于在高电源效率的大容量可扩展存储系统中存取辅助数据的方法和系统
相关申请的交叉引用
本申请是下列申请的部分连续申请,其中该申请在这里以在本说明书中全面阐述的方式而被引入作为参考:
2003年6月26日提交的名为“用于在高电源效率的大容量可扩展存储系统中存取辅助数据的方法和系统”的美国专利申请10/607,932。
技术领域
本发明主要涉及数据存储系统,尤其涉及的是在高电源效率的大容量数据存储系统中存取辅助数据。
背景技术
用于计算应用的数据存储系统包含了诸如硬盘驱动器、软盘驱动器、磁带驱动器和紧凑型碟盘之类的存储设备。随着这些应用数量和复杂度的提升,对更大存储容量的需要也在成比例增长。由此,大容量存储设备的生产也在增长。但是,大存储容量需要用到具有高数据传输速率的可靠存储设备。此外,单个存储设备的存储容量无法超出一定限度而增长。因此,为了满足日益增长的存储容量提升需要,通常会使用各种应用了多个存储设备的数据存储系统配置和拓扑技术。
为了满足不断增长的需求,数据存储系统配置包括使用多个磁盘驱动器。该配置允许提供存储数据冗余度。如果设备发生故障,那么该冗余度将会确保数据完整性。在很多此类数据存储系统中,在数据存储系统内部可以借助中央处理器以及使用奇偶性之类的数据冗余度及其生成处理来自动恢复一般故障。这其中的一种数据存储系统通常被称为大规模非活动/独立磁盘阵列(MAID)。
但是,MAID存储系统存在某些增加了系统数据存取时间的固有缺陷。在MAID系统中,只有在需要存储设备时才为其通电。由于在某个时间只有一部分磁盘驱动器通电,因此,要想存取当前断电的磁盘驱动器将会耗费时间。这是因为断电的磁盘驱动器需要通电,而这将会增加针对这些磁盘驱动器的首次读/写请求的数据存取时间。
发明内容
根据本发明的一个实施例,在这里提供了一种用于在数据存储系统中预备用于存取的数据单元的方法。该数据存储系统包括多个数据存储设备,由此在同一时间并非所有存储设备都被通电。该方法包括:为在对数据单元执行存取请求的过程中将被断电的存储设备上的数据单元预备辅助数据,并且将辅助数据存储在多个存储设备上,由此在数据单元是存取请求的对象时,该辅助数据在通电存储设备上始终可用。这种以始终可用以及可存取的方式给出的辅助数据也被称为钉扣数据(pinned data)。
在本发明的另一个实施例中,其中提供了一种数据存储系统。该数据存储系统包括多个数据存储设备以及存储管理单元。所述多个数据存储设备包括数据单元,并且在同一时间并非所有数据存储设备都被通电。对在数据单元存取请求期间将要断电的存储设备来说,存储管理单元会为该存储设备上的数据单元预备辅助数据。此外,存储管理单元还在多个存储设备上存储这些辅助数据,由此在数据单元是存取请求的对象时,这些辅助数据在通电的存储设备上始终可用。
附图说明
在下文中将会结合附图来对本发明的不同实施例进行描述,这些实施例是为了描述而不是为了限制本发明给出的,其中相同标志表示的是相同的部件,其中:
图1是描述依照一个实施例的多磁盘数据存储系统的通用结构的图示。
图2A和2B是描述在依照一个实施例的密集数据存储系统中的控制器与磁盘驱动器之间互连的图示。
图3是描述依照一个实施例的密集数据存储系统的物理配置的图示。
图4是描述依照一个实施例的用于确定密集数据存储系统的电源管理方案的方式的流程图。
图5是描述根据一个实施例的用于将信息写入奇偶磁盘的方式以及用于为磁盘驱动器通电和断电的方式的图示。
图6是描述根据一个实施例的元数据磁盘内容的图示。
图7是描述根据一个实施例的存储在元数据磁盘上的信息结构的图示。
图8是描述根据一个实施例的用于在一组磁盘驱动器上排列数据容器的方式的图示。
图9是描述根据一个实施例的用于在元数据卷上存储来自多个磁盘驱动器的初始分段的方式的图示。
图10是描述根据一个实施例的冗余磁盘驱动器配对、相应奇偶性以及元数据卷的应用的图示。
图11是描述根据一个实施例并且借助直接连接而使用数据存储系统作为主存储备份目标以及作为磁带库的媒体(备份)服务器的图示。
图12是描述根据一个实施例而从主机(服务或终端服务器)互连到终端磁盘驱动器的图示。
图13是描述根据一个实施例将通道控制器与多个集束控制器(stick controller)互连的图示。
图14是描述根据一个实施例而将SATA通道控制器的输出与相应集束控制器数据/命令路由器设备互连的图示。
图15是描述根据一个实施例来实施机架控制器(rackcontroller)的图示。
图16是描述根据本发明一个实施例的主机与数据存储系统的交互的图示。
图17是描述根据本发明一个实施例的数据存储系统的图示。
图18是描述根据本发明一个实施例来预备用于数据存储系统存取的数据单元的方法的流程图。
图19是描述根据本发明另一个实施例来预备用于数据单元的辅助数据的方法的流程图。
图20是描述根据本发明一个实施例来配置数据存储系统的方法的流程图。
图21是描述根据本发明一个实施例的控制器组件的图示。
图22是描述根据本发明一个实施例来重新配置数据存储系统的方法的流程图。
图23是描述根据本发明一个实施例而在一组存储设备上保持辅助数据的方法的流程图。
虽然本发明具有不同的修改和变更形式,但附图以及附带的详细描述中是举例显示本发明的具体实施例的。尽管如此,应该理解的是,这些附图和详细描述的目的并不是将本发明局限于所描述的特定实施例。取而代之的是,本公开旨在覆盖所有那些落入附加权利要求限定的发明范围以内的修改、等价物以及变更形式。
具体实施方式
在下文中将对本发明的一个或多个实施例进行描述。应该指出的是,下文描述的这些和其他实施例是例示性的,其目的是对本发明进行例证,而不是对其进行限制。
正如这里描述的那样,本发明的不同实施例包含了用于提供高电源效率的可扩展和可靠的大容量数据存储的系统和方法,其中具有相应数据存储驱动器的大量密集数据驱动器是根据其使用需求而被单独通电和断电的。
在一个实施例中,本发明是在RAID类型的数据存储系统中实施的。该系统使用了大量硬盘驱动器。在将数据写入系统时,数据将被写入一个或多个磁盘驱动器。元数据和与元数据相对应的奇偶性信息同样被写入一个或多个磁盘驱动器,从而降低数据丢失或损坏的可能性。除了元数据和奇偶性磁盘之外,将数据写入磁盘的方式通常一次只涉及一个数据磁盘。同样,数据读取通常一次也只涉及一个磁盘。由此,当前未存取的数据磁盘可以断电。这样一来,系统被配置成单独控制每个磁盘电源,由此可以为当前存取的磁盘子集通电,同时将未存取的磁盘子集断电。
由于在任何指定时间,在系统中只有一部分磁盘驱动器通电,因此,系统功耗要小于与之相当且在同一时间为所有磁盘驱动器通电的常规系统(也就是具有总数大致相同的类似磁盘驱动器的系统)。与常规系统相比,由于系统功耗降低,因此该系统产生的热量较少,需要的冷却处理也相对较少。由此,与可比拟的系统相比,本系统可以封装在较小外壳中。本系统和常规系统的另一个不同之处在于:常规系统需要具有根据系统使用的数据保护方案(例如RAID等级3)而将数据路由到恰当数据磁盘的切换器。另一方面,在本系统中,大多数磁盘驱动器在指定时间是断电的,由此数据可以通过简单的扇出互连来进行分发,与常规系统中使用的切换器相比,这种处理消耗的电力相对较少,并且在系统机壳内部占据较小体积。本系统和常规系统的另一个不同之处在于:如果给出了单个磁盘驱动器的某种可靠性(例如平均故障时间或MTTF),那么本系统可以被设计成满足特定的可靠性等级(例如平均无故障时间MTBF),这一点与常规系统相反,对常规系统来说,它主要受系统中磁盘驱动器数量以及单个磁盘驱动器的可靠性的限制。
本发明的不同实施例可以在上述四个领域中提供超越常规系统的优势,即电源管理;数据保护;物理封装以及存储事务性能。在下文中将会参考不同的影响方面来描述这些优点。
电源管理
在电源管理方面,通过对驱动器执行优化的电源循环,本发明的实施例不但可以降低功耗,而且还可以提高系统可靠性。换句话说,在任何时间,在所有驱动器中只有一个子集通电。由此,整体系统可靠性可以被设计成超出某个可接受阈值。
以个体为基础的驱动器电源循环是区分本实施例与常规系统的一个特征。如上所述,现有技术中的多驱动器系统不允许在系统操作过程中以确定方式将单个驱动器乃至驱动器集合断电,从而节约能量。取而代之的是,这些系统教导的是抓住时机将整个系统断电。毫无疑问,在系统断电期间,该系统是无法使用的。对本发明实施例而言,在保持系统中其他驱动器通电的同时,通过将单个驱动器断电,该实施例提供了具有高电源效率的数据存储系统,并且启用了诸如使用密集驱动器而在相同占地面积中实现超出常规系统的驱动器密度之类的特征。
数据保护
在数据保护方面,较为理想的是提供这样一种数据保护方案,其中该方案允许在没有明显中断的情况下更换故障磁盘,并且允许在更换磁盘的同时确保所用存储开销的效率。这种方案必须在驱动器电源循环方面进行优化,这是因为RAID方案必须与在任何时间通电的正确驱动器子集一起工作。由此,即使对固定的驱动器集合通电,读取或写入操作也必须在预期时间完成。由于本发明实施例使用的是一种没有同时使用大多数或所有数据磁盘的数据保护方案,因此,断电驱动器是很容易在不明显中断操作的情况下被更换的。
物理封装
在系统物理封装方面,大多数存储设备必须符合特定的体积限制。例如对标准支架来说,其在尺寸和重量方面具有相应的限制,并且很多用户必须使用处于这些限制以内的系统。本发明的实施例使用了高密度封装以及驱动器互连来优化驱动器的物理组织,并且实现了可以落入这些限制以内的最大数量的驱动器。
存储事务性能
在存储事务性能方面,驱动器电源循环将会导致在任何时间只有有限数量的驱动器通电。首先,全部I/O受限于通电驱动器的数量。其次,在起转(spin-up)时间,对断电驱动器中的块实施的随机读取操作将会招致很大损失。本发明的实施例使用了大量的单独驱动器,由此,即使通电驱动器数量只是驱动器总数中的一小部分,所述数量的通电驱动器也能使全部I/O处于规定范围以内。在起转延迟方面,该数据存取方案将会屏蔽延迟,由此主机系统不会察觉到延迟或遭遇性能降级。
参考图1,该图显示的是根据本发明一个实施例的多磁盘数据存储系统的通用结构的图示。应该指出的是,图1所示系统是一种非常简化的结构,其目的仅仅是描述本发明实施例的一个方面(电源循环)。关于优选实施例的更详细陈述是在图2以及附带的后续文本中描述的。
如图1所示,数据存储系统10包括多个磁盘驱动器。应该指出的是,出于公开目的,附图中的相同对象可以用带有小写字母的相同参考数字指示,例如20a、20b等等。在这里,这些对象可以合在一起用参考数字表示。每个磁盘驱动器20都经由互连40而与控制器30相连。
在图1中可以看出,磁盘驱动器20分为两个子集50和60。子集50和子集60的不同之处在于:其中一个子集(例如50)中的磁盘驱动器是通电的,而另一个子集(例如60)中的磁盘驱动器是断电的。对系统中的单个磁盘驱动器来说,只有在需要时,这些磁盘驱动器才会通电(或加电)。在不需要这些磁盘驱动器时,它们将会断电(掉电)。由此,构成每个子集的特定磁盘驱动器将会根据需要而改变,从而允许一个或多个用户执行数据存取(读取和写入)。该处理是非常特别的,这是因为如上所述,常规的数据存储(例如RAID)系统只提供了整个磁盘驱动器集合的电源循环——它们不允许系统中的单个磁盘驱动器根据需要而被通电或断电。
如上所述,在这里,图1所述系统仅仅被用于引入本发明一个实施例的电源循环特性。这里描述的这个实施例以及其他实施例都是例示性的,并且针对这些实施例的众多变化都是可行的。举例来说,虽然图1实施例使用了多个磁盘驱动器,但是其它数据存储类型同样是可以使用的,例如固态存储器、光盘驱动器等等。此外,混合媒体驱动器也是可以使用的,但是可以预期的是,这种应用通常是不切实际的。由此,在这里关于磁盘驱动器或数据存储驱动器的引用将被广义地解释成是覆盖了任何数据存储类型。同样,虽然图1实施例具有一个通电和一个断电的两个磁盘驱动器子集,但是其他电源状态也是可能的。例如,磁盘驱动器有可能存在多种附加操作状态(例如待用),并且其中每个状态都具有自己的功耗特性。
如果只对系统中的磁盘驱动器子集通电,那么在与所有驱动器都被同时供电的系统相同的占地面积中将可以允许使用数量更多的驱动器。由此,本发明的一个实施例提供了高密度的磁盘驱动器封装和互连。该系统包含具有多个支架的机架,其中每个支架都包含了多个行或多个“集束”磁盘驱动器。在图2中对该系统的结构进行了描述。
参考图2,在该图左侧显示了系统控制器120与支架110之间的顶级互连。在该图右侧显示了与磁盘驱动器160中的每个集束150相连的支架级互连。如图左侧所示,该系统具有多个支架110,其中每个支架都与系统控制器120相连。每个集束150还与每个磁盘驱动器160相连,由此可以在磁盘驱动器的数据存取以及磁盘驱动器的通电/断电方面对其单独控制。在下文中将对用于确定系统驱动器的最优封装和互连配置的机制进行描述。
应该指出的是,为了清楚起见,在图2中并不是所有相同对象都用参考数字单独标识。例如,只有少量磁盘支架(110a~110c)、集束(150a~150b)以及磁盘驱动器(160a~160c)进行了编号。但这并不是为了区分具有参考数字的对象与不具有参考数字的对象。
假设系统中的驱动器数量是N,其中N是一个很大的数字。
然后,N被分解成一个三元组,由此N=s.t.d,其中
s:系统中的支架单元数量,它通常由系统物理高度确定。例如对44U的标准支架系统来说,s可以被选定为8。
t:每个支架单元中的“集束”数量,其中一个集束包含一列磁盘。例如在宽为24英寸的支架中,t<=8。
d:处于支架的每个集束中的磁盘驱动器数量。在标准机架中,d可以是14。
图2所示配置被分解为支架、集束和磁盘,由此可以实现最佳的磁盘密集封装,从而获取最大的磁盘驱动器体积容量。在图3中显示它的一个实例。借助这种可用大型机架,在该机架中可以封装近1000个3.5”磁盘。
对优选的配置来说,它是通过将N分解成s、t和d以及在如下方面进行优化而被实现的:i)驱动器和整体系统(机架)的容量限制,以及ii)完整系统的重量限制。后一个限制是由数据中心的物理大小以及标准机架大小的重量限制施加的。
除了重量和大小方面的限制之外,大规模驱动器封装还必须提供适当的气流和散热,以使磁盘能够工作在规定的环境温度以下。这种热散耗限制还会影响到如何在系统内部排列磁盘。
在图3中显示了一种配置,该配置是一种在提供用于散热的足够气流的同时最大化驱动器密度的具体实施方式。
用于提升系统可靠性和可服务性的驱动器电源循环
本发明的一个实施例包含的是大容量存储或准联机(NOL)系统。该存储系统是一个包含多个支架的机架级磁盘系统。主机可以通过系统级机架控制器上的光纤通道接口与存储系统相连。每个支架都具有用于控制支架中的所有驱动器的本地控制器,RAID功能是在每个具有足够驱动器的机架内部得到支持的,由此可以提供用于奇偶性保护的冗余度以及用于替换故障磁盘的磁盘备件。
在该实施例中,系统具有循环电源。特别地,单个驱动器将被通电或断电,以便提高整个(大型)驱动器集合的系统可靠性。如果给出的是当前已知的按年计算故障率(AFR),那么1000个ATA驱动器的集合预计将会具有大小约为20天的MTBF。在企业环境中,用于为存储系统提供服务的大小为20天的驱动器更换周期是无法接受的。对于为单个驱动器执行有效电源循环的本方案来说,该方案显著延长了驱动器实际寿命。但是,出于多种原因,有必要对这种电源循环进行很大优化。例如,电源循环将会导致产生很多接触起停(CSS),并且增加CSS将会缩短驱动器的总体寿命。此外,如果通电的驱动器较少,那么要在大型RAID集合上扩展数据将会非常困难。由此,要在与RAID 5等价的级别实施数据保护将会非常困难。此外,当通电驱动器很少时,实际系统带宽也会减小。
在一个实施例中,在图4中显示并且在下文中描述了用于确定电源循环参数的方法。应该指出的是,下文的描述假设磁盘驱动器具有指数故障率(即故障概率为1-e-λt,其中λ是故障率的倒数)。在其他实施例中,磁盘(或其他类型的驱动器)故障率可以具有通过其他数学函数而被更精确估计的故障率。对此类系统来说,下文描述的计算使用了替换故障率,以此来取代当前的指数函数。
在具有N个密集封装于单个物理系统的驱动器的情况下,当N变成很大的数字时,系统的MTTF将会显著增大。
如果单个驱动器的MTTF是f(通常以小时为单位),其中f=1/(驱动器故障率),那么系统中单个驱动器故障之间的系统MTFB,F将会是:
F = 1 ( 1 - ( 1 - 1 f ) N )
对N=100以及f=500,000小时或57年来说,F=22天。对大多数数据中心和企业来说,这么低的MTBF是无法接受的。如上所述,通过为驱动器通电和断电,也就是通过对驱动器执行电源循环,可以提高系统中每个驱动器的总体寿命,由此可以提升系统的MTBF。这样做有助于系统维护,这是因为在可能修复或更换组件(驱动器)时,企业中的计算系统的可服务性需要确定性的调度服务时间。由于较理想的是具有处于规则间隔的调度服务,因此,在以下计算中引入了这个约束条件。
假设更换故障磁盘驱动器的系统服务间隔是T,并且所需电源循环占空率是R。
实际系统MTBF是T,并且实际系统故障率是1/T。
那么,在具有N个磁盘的系统中,实际MTBF是:
F * = 1 { 1 - ( 1 - 1 T ) N }
由此,在单个系统的大量驱动器中,我们可以计算出磁盘的实际MTBF,由此服务间隔是T。
由于实际MTTF是f,因此,我们采用的方法是对驱动器实施电源循环,也就是在一段时间关闭驱动器,然后在一定时段将其开启。
如果R是满足有效MTTF的占空率,那么
R = f f * < 1
由此,如果驱动器的ON(通电)周期是p小时,那么这些驱动器在p/R小时中必须OFF(断电)。
此外,由于在任何时间都只有全部驱动器的一个子集通电,因此,系统中通电的有效驱动器数量是R*N。
这样一来,在某个支架上,所有驱动器比值R同样也是必须通电的驱动器的数量。这样做不但限制了用于数据写入或读取的驱动器数量,而且还限制了用于保持元数据的其他驱动器的数量。
在电源循环过程中,其中还必须满足另一个用以确定大小为p小时的通电周期的约束条件。
如果驱动器的典型寿命是f个小时(与正常MTTF相同),那么用于驱动器的电源循环事件的数量是CSS(用于接触起停)
CSS = f p + p R
由于CSS受限于最大值CSSmax,因此对任何一个驱动器来说,
CSS<CSSmax
由此必须对p进行选择,从而永远不会超出CSSmax。
图4描述的是用于确定电源循环参数的流程图。
用于准联机(NOL)系统的有效数据保护方案
在一个实施例中,其中实施了一种全新的RAID变体,以便满足当前电源管理系统的需要。为了满足系统可服务性需要,驱动器的电源占空率R小于100%,并且较为恰当的是低于50%。由此,在将数据卷写入支架中的RAID卷时,RAID集合中的所有驱动器都不能通电(加电)。而这里公开的RAID变体则被设计为提供如下特征。
首先,该方案被设计成提供适当的奇偶性保护。此外,它还被设计成确保不会违反由可服务性需要施加的CSS阈值。另外,RAID条带参数被设计成满足工作负载模式、支架级支持带宽以及存取时间的需要。而第一个字节的存取时间还必须远远优于磁带或顺序媒体。此外,该方案还被设计成提供基于奇偶性的数据保护以及低开销的磁盘备用。
在数据保护方案中,其中有很多问题需要解决。例如在读取过程中,磁盘故障(该故障是由系统中大量驱动器招致的增大的磁盘故障概率造成的)有可能导致未完成I/O事务。由此,在该方案中应该设计用于在写入过程中确保数据完整性和避免数据丢失的装置。此外,数据保护处理还需要RAID冗余或奇偶性保护。但是,由于数据和奇偶性是在多个驱动器上写入的,因此,RAID操作通常需要所有驱动器都处于通电状态。另外,使用RAID保护和磁盘备用往往还会导致很高的磁盘空间开销,而这有可能会减小实际容量。此外,电源循环还会增加接触起停(CSS)数量,由此CSS故障率往往会增大4倍或更多。
在一个实施例中,在每个支架中都有3种驱动器:在每次调度时或者通过读取/写入活动而被实施电源循环的数据和奇偶性驱动器;用于在驱动器发生故障时迁移数据的备用驱动器;以及保持任何指定RAID集合的状态和配置的元数据驱动器。元数据驱动器包含了关于所有I/O操作以及磁盘驱动器操作转换(通电,断电,备用等等)的元数据。处于该卷的数据将被组织,以便提供关于磁盘驱动器集合上的数据的信息,以及对将要写入未通电驱动器或是从该驱动器中读取的数据进行缓存。由此,元数据卷在磁盘管理、I/O性能以及故障容错方面将会起到非常重要的作用。
当前系统所使用的RAID变体将会“串行化”RAID集合中的最小磁盘子集的写入操作,同时确保不超出CSS限度,此外还确保I/O写入性能不受存取时间和数据率影响。
实施RAID变体的方法
在应用数据保护技术的过程中,驱动器集合和数据可以驻留于多种状态。在一个实施例中,其中使用了下列状态。初始化——在该状态中,某个卷已被分配,但是除了可能的文件元数据之外,在相应磁盘中尚未写入数据。正常——在该状态中,卷具有驻留在相应磁盘驱动器集合内部的有效数据。这其中包括I/O操作在数据传递过程中产生的卷。数据冗余——在该状态中,卷先前已经降级,并且处于恢复整个卷上的数据冗余的过程中。备用——在该状态中,集合内部的磁盘驱动器将被更换。
假设
一般来说,在开发用于数据保护的技术的时候将会根据所选择的技术来进行权衡。而在考虑权衡时则会做出两个假设。第一个假设是:该数据存储系统并没有实现或者趋近于企业联机存储系统的I/O性能。换句话说,该系统并不是为I/O事务设计的,而是为了可靠性设计的。第二个假设是:用于数据存储的I/O工作负载应用通常是较大的顺序写入处理以及针对介质的较大的顺序读取。
初始化磁盘驱动器集合
初始化的磁盘驱动器集合包括一个映射数据组织,在该组织中,单个磁盘驱动器的故障不会导致数据丢失。对该技术而言,所有磁盘驱动器全都初始化成零值。
“零初始化”磁盘驱动器的存在通常会作为基础来创建“滚动奇偶性(rolling parity)”更新。举例来说,参考图5,在具有4个磁盘驱动器201~204的集合中,所有驱动器(3个数据和1个奇偶性)都被初始化为“0”(应该指出的是,这些磁盘驱动器在图中是水平排列的——每个垂直对准的列代表的是处于不同时间点的单个磁盘)。XOR计算结果代表了奇偶性驱动器的内容 ( 0 &CirclePlus; 0 &CirclePlus; 0 = 0 ) . 如果将值为“5”的数据写入第一磁盘201,那么写入到奇偶性磁盘204的奇偶性将会表示“5” ( 5 &CirclePlus; 0 &CirclePlus; 0 = 5 ) . 如果为下一个磁盘(磁盘202)写入值“A”,那么奇偶性将被表示为“F” ( 5 &CirclePlus; A &CirclePlus; 0 = F ) . 应该指出的是,虽然奇偶性磁盘包含的是与所有三个数据磁盘的XOR运算结果相等的值,但是没有必要通过为所有磁盘通电来产生正确的奇偶性。取而代之的是,在这里仅仅对旧的奇偶性信息(“5”)和新写入的数据(“A”)执行XOR运算,以便产生新的奇偶性(“F”)。由此,磁盘202上的旧数据不必处于XOR计算之外。
元数据卷
在一个实施例中,为了保持指定RAID集合的状态和配置,其中将会保持一个“元数据卷”(MDV)。该卷是联机工作磁盘驱动器集合,其中该集合可被镜像,以便用于故障容错。这个卷与磁盘驱动器集合驻留在相同的域中。由此,所述工作环境应该提供足够电力、冷却和封装,以便支持所述卷。该卷包含了关于I/O操作和磁盘驱动器操作变换(通电,断电,备用等等)的元数据。驻留在该卷中的数据将被组织,以使数据子集拷贝代表磁盘驱动器集合上的数据。
在一个优选实施方式中,元数据卷处于每一个支架内部,并且该支架与驻留于支架的磁盘之上的所有数据卷的元数据相对应。参考图6和7,该图描述的是元数据卷的数据内容。所述卷包含了关于支架、RAID、磁盘以及机壳的所有元数据。此外,关于机架控制器的元数据也是存在的。该元数据被用于确定机架控制器与磁盘支架之间的正确系统配置。
在一个实施例中,元数据卷包含了诸如驱动器总数、驱动器备件、未使用数据之类的支架属性,诸如RAID集合设置(set set)之类的RAID集合属性和会员资格,诸如序列号、硬件修订、固件修订之类的数据属性,以及包括读取缓存和写入缓存在内的卷缓存。
卷配置
在一个实施例中,元数据卷是一组镜像磁盘驱动器。在本实施例中,镜像驱动器的最小数量是2。元数据卷中的磁盘驱动器数量可被配置,以便与用户请求的保护等级相匹配。这些磁盘的数量不能超出磁盘控制器数量。为了在磁盘支架内部提供最高的故障容错等级,元数据卷会在每个磁盘驱动器上被镜像。这种处理消除了单个磁盘驱动器禁用支架控制器的可能性。
为了提供最佳元数据卷性能,在这里启用了动态的再配置处理,以便确定让磁盘驱动器工作的最佳磁盘控制器。此外,如果元数据卷磁盘发生故障,则使用磁盘支架内部的第一个未分配的磁盘驱动器。由此,如果不再有未分配磁盘驱动器,则使用第一个已分配的空闲磁盘驱动器。如果不再有可用磁盘,那么支架控制器将会保持停机状态,直至定址了元数据卷为止。
卷布局
元数据卷的布局被设计为提供永久数据以及磁盘支架状态。该数据被用于支架配置、RAID集合配置、卷配置以及磁盘配置。在磁盘支架的所有阶段(初始化、正常、重建、服务等等),该永久数据都会更新和使用。
元数据卷数据被用于向机架控制器传递状态和配置数据。例如,元数据可以包括每个磁盘驱动器的健康信息(也就是磁盘驱动器的使用时长,磁盘驱动器的通电和断电次数,以及可能影响其稳定性的其他因素)。如果特定磁盘驱动器的健康信息表明该驱动器应该更换,那么,倘若第一驱动器发生故障,则系统可以开始将该磁盘驱动器上的数据拷贝到另一个驱动器,或者它也可以仅仅在下一个正常服务间隔提供一个表明驱动器应该更换的通知。此外,元数据卷的数据还具有为每个卷指定的卷缓存区域。如果某个卷联机,那么对存储在用于脱机卷的元数据卷中的数据来说,当所述卷联机时,该数据是可以使用的。就该处理而言,借助来自机架控制器的请求,该处理提供了一个大小为10~12秒的窗口(或是为相应驱动器通电所需要的时间),在此期间,在为脱机卷的驱动器通电的同时将会缓存写入数据。在为驱动器通电以及所述卷联机之后,这时会将缓存数据写入所述卷。
支架初始化
当磁盘支架通电/复位时,这时会从元数据卷中读取所有数据。该数据被用于将磁盘支架引入工作模式。一旦磁盘支架完成初始化处理,那么它会等待机架控制器启动该机架控制器的初始化处理。
卷操作
一旦磁盘支架处于工作模式,那么每个卷都会与元数据卷同步。每个卷在磁盘驱动器上都具有相关联的元数据集合。如果发生灾难性的元数据卷故障,那么该处理将是必需的。
读取缓存操作
元数据卷具有用于每个卷的保留空间。在元数据卷的保留空间内部驻留的是已分配的卷读取缓存(VRC)。该读取缓存被设计成在使用电源来启动磁盘驱动器时缓解磁盘驱动器的起转和寻道时间。VRC将会复制每个卷的初始部分。并且在VRC中复制的数据大小取决于预期性能和环境状况。由此,如果为脱机卷给出I/O读取请求,那么可以从VRC中获取数据。在这里需要注意确保该数据与关联卷是相干和一致的。
写入缓存操作
如上所述,元数据卷具有用于每个卷的保留空间。在元数据卷的保留空间内部驻留的是已分配的卷写入缓存(VWC)。该写入缓存被设计成在使用电源启动磁盘驱动器时缓解磁盘驱动器的起转和寻道时间。VWC具有为每个卷复制的一部分初始数据,例如512MB。由此,如果为某个脱机卷给出I/O写入请求,那么该数据可以临时存储在VWC中。同样,在这里必须注意确保该数据与关联卷是相干和一致的。
磁盘I/O操作集合
参考图8,该图显示的是用于描述如何在一组磁盘上存储数据的图示。某一组磁盘被分成“大型连续的”数据块集合,而这些数据块集合即为通常所说的容器”。对于为存储用户或服务器呈现的单个或多个磁盘卷来说,这些卷可以代表一个容器。处于容器内部的数据块是用磁盘扇区大小规定的,并且所述大小通常是512字节。每个容器都是静态分配的,并且是从0到x寻址的,其中x是数据块数量减1。由此,每个容器都可以分成一定数量的子容器。
针对每个容器的存取将会通过某个地址间接等级。该容器是一个从0定址到x的连续块集合。在存取设备时,相关联的磁盘驱动器必须通电和工作。举个例子,容器0完全包含在磁盘驱动器1的地址空间内部。由此,在读写容器0时,唯一通电的驱动器是磁盘驱动器1。
如果用于系统的电源和冷却能力有限,并且一次只能存取一个磁盘驱动器,那么为了存取容器2,在容器2跨越范围为磁盘驱动器1和2时,这两个磁盘驱动器必须交替通电。在一开始,磁盘驱动器1通电。然后,磁盘驱动器1将会断电,并且磁盘驱动器2将会通电。由此,对磁盘驱动器2来说,其在存取准备就绪之前存在延迟。这样一来,针对磁盘驱动器2上的下一组数据块实施的存取处理将会延迟。就磁盘驱动器存取来说,这种情况通常并不是可接受的行为。由此,每个磁盘驱动器和/或容器的第一个分段都会缓存在一组单独的有效/联机磁盘驱动器上。在本实施例中,如图9所示,用于容器2的数据块驻留在元数据卷中。
在该技术中,两个磁盘驱动器之间的变换是通过为一个磁盘驱动器断电以及为另一个磁盘驱动器通电来完成的,并且该技术同样可以应用于一对以上的磁盘驱动器。如果需要更高带宽,那么上述单个驱动器可以各自代表一组磁盘驱动器。这种磁盘驱动器配置可以包括RAID10或是可以在众多磁盘驱动器(主轴)上扩展数据的其他形式的数据组织。
变为冗余的磁盘驱动器集合
参考图10,该图显示的是用于描述如何使用配对冗余磁盘驱动器的图示。在将数据分配给一组磁盘驱动器时,这时需要实施数据复制。假设该复制处理采用的是RAID(1,4,5等等)形式,那么合并处理必须保持数据相干。该处理可以与每个写入操作同时完成,或者也可以在稍后时间执行。由于在任何一个时间并不是所有磁盘驱动器都会通电,因此,较为有益的是追踪一组磁盘驱动器的当前状态。这个内务处理包括重新产生数据块所需要的信息,以便在恢复数据的过程中确切了解哪一个磁盘驱动器集合或磁盘驱动器子集有效。
可变的RAID集合成员
对这里描述的电源管理系统来说,它的一个显著益处是可以重复使用RAID集合中的驱动器,即便在多个磁盘驱动器发生故障时也是如此。在常规的RAID系统中,由于数据是分片段或分布在RAID集合中的所有驱动器上的,因此,在RAID集合中,一个以上的驱动器的故障将会导致需要放弃该RAID集合中的所有驱动器。对这里描述的电源管理系统来说,该系统可以重复使用不同RAID集合中的剩余驱动器或不同大小的RAID集合。这样做的结果是更多地使用了总体系统中的存储空间。
如果在同一RAID集合中发生多个驱动器故障,那么该RAID集合中的成员驱动器集合可以减小(例如从六个驱动器减小到4个)。通过使用如上所述的“基于零”XOR奇偶性属性,减小的驱动器集合的奇偶性信息可以从驻留于这些驱动器的数据中计算得到。这种处理允许在将来驱动器发生故障时将数据存储于剩余驱动器。如果奇偶性驱动器是发生故障的驱动器之一,那么可以为新形成的RAID集合指定新的奇偶性驱动器,并且所述奇偶性信息将会存储在这个驱动器上。而磁盘驱动器元数据则会更新,以便反映现在构成减小的或新形成的RAID集合的剩余和/或新驱动器。
在一个例示实施例中,RAID集合具有五个成员驱动器,其中包括四个数据驱动器和一个奇偶性驱动器。如果某个数据驱动器发生故障,那么倘若有足够空间可用,则可以在剩余磁盘驱动器上重建数据(如果存在可用于更换故障驱动器的备件,并且不必减小RAID集合,那么可以在新的成员驱动器上重建数据)。如果两个或多个数据驱动器同时发生故障,那么未发生故障的驱动器上的数据可被保留,并且可以继续使用减小的RAID集合上的剩余数据来执行操作,此外,减小的RAID集合还可以重新初始化,并且可以用作新的RAID集合。
同样的原理还可以应用于扩展一组磁盘驱动器。换句话说,如果较理想的是为RAID集合添加驱动器(例如将所述集合从四个驱动器增加至五个),那么该处理可以采用一种与减小的RAID集合相类似的方式来完成。如果RAID集合准许附加的磁盘驱动器,那么有必要对磁盘驱动器元数据进行更新,以便表示一个或多个新驱动器的成员资格。
磁盘驱动器集合备用(sparing)
涉及磁盘驱动器集合中的故障磁盘的备用处理是针对发生故障的数据块和发生故障的磁盘驱动器事件执行的。故障数据块的备用将被临时再生。如果使用元数据卷和“备用”磁盘驱动器,那么在磁盘驱动器集合内部恢复冗余度的处理将会更为有效。该处理与为磁盘驱动器集合中的每个剩余磁盘驱动器通电的处理是匹配的。
如果超出故障数据块阈值,则分配一个备用磁盘驱动器,以此作为用于RAID集合的更换候选方。由于在一个时间只有数量有限的驱动器通电,因此,在这里会为具有故障数据块的驱动器和候选驱动器通电。这时,只有已知的良好数据块才会拷贝到故障数据块的相应地址位置。一旦拷贝了所有已知的良好数据块,则启动用于恢复故障数据块的处理。由此,整个RAID集合需要通电。虽然需要对整个磁盘驱动器集合通电,但是该集合只需要在修复坏数据块所需要的时间通电。在修复了所有坏数据块之后,这些驱动器将会返回到断电状态。
如果磁盘驱动器发生故障,那么RAID集合中的所有磁盘驱动器都会通电。由此将会启动先前部分中论述的重建处理,以便恢复故障磁盘驱动器上的所有数据。
RAID自动存储管理特征
举例来说,系统的终端用户既可以将该系统用作直接附着于服务器的磁盘系统,作为直接附加存储(DAS),还可以将其用作存储局域网(SAN)中的备用存储。在图11中,该系统经由直接连接而被用作初级存储的备份目标,然后经由媒体(备份)服务器与磁带库相连。在其他实施例中,该系统也可以采用其他方式来使用。
在本实施例中,系统向服务器或系统用户呈现卷图像。但是,物理卷是不能由终端用户直接存取的。如先前所述,出现这种情况是因为无论对通电还是断电的物理驱动器来说,通过电源管理RAID,系统都会隐藏了物理驱动器存取的复杂度。处于机架和支架级的控制器则会将逻辑卷与物理卷以及驱动器隔离开来。
在给出了磁盘卷的逻辑视图显示的情况下,系统可以将逻辑卷重写、重定位或是移动到不同物理位置。这种处理能够启用下文描述的众多卷级功能。例如,该系统可以提供与磁盘驱动器类型、容器、数据速率等等无关的独立性。在新媒体可用以及采用新技术时,这种处理允许迁移到新的媒体。此外,它还消除了引入技术陈旧所需要的设备(磁盘)管理。
该系统还可以为灾难恢复提供自动复制。初级卷的次级拷贝可以通过局域或广域之类的网络而被独立拷贝第三方存储设备。此外,该设备还可以是另一个磁盘系统、另一个磁带系统等等。同样,所述卷可以复制到多个地点,以便同时创建多个远程或本地拷贝。
该系统还可以提供自动递增备份,以便保留媒体和带宽。存储卷中的递增和差分变化则可以传播到第三个或后续拷贝。
该系统还可以提供验证和授权服务。用于存取物理和逻辑卷和驱动器的处理可以由机架和支架控制器控制,这是因为该处理被放置在了到卷的终端用户与物理驱动器之间的。
该系统还可以提供自动数据复原。由于磁盘媒体上的数据有可能随时间降级,因此,系统控制器可以自动将卷数据刷新到不同驱动器。由于控制器具有何时对磁盘和驱动器执行写入的信息,因此它们可以追踪到哪些磁盘数据必须刷新或复原。
该系统还可以提供同时恢复处理:多个恢复处理既可以同时实施,也可以异步启动,还可以借助系统控制器的策略。
该系统还可以采用如下方式而在存储卷内部提供唯一的元数据索引:记录关于包含在卷内的对象细节的元数据信息,其中举例来说,所述卷可以是支架中的元数据卷。这些元数据可以由控制器使用,以便在系统卷中快速搜索特定对象。
该系统还可以提供其他存储管理特征,以便管理卷的次级和多个拷贝,例如用于简化和降低所有卷拷贝管理成本的所有数据的单独视图,用于分发数据拷贝的自动化管理,以及在使用系统创建备份时对备份初级卷的自动发现和变化检测。
优选的实施方式
互连
优选互连系统提供了一种用于连接896个磁盘驱动器的手段,其中这些磁盘驱动器被配置为每个支架具有112个磁盘以及每个机架具有8个支架。内部系统互连被设计成提供一个与六个2Gb/sec的光纤通道接口(1000MB/s读取或写入)等价的累积吞吐量,的。外部系统接口是光纤通道。该互连系统以所需吞吐量的每磁盘最低成本为目的来进行优化。图12显示了从主机(服务器或终端用户)到终端磁盘驱动器的互连方案。
该互连系统在支架级引入了RAID,以便提供数据可靠性。该RAID控制器被设计成定址112个磁盘,其中某些磁盘可被分配,以便用于备用。该RAID控制器控制范围为8个集束,其中每个集束都具有14个磁盘。RAID集合则应该被配置成控制范围为多个集束,以便预防单个集束控制器或互连丢失,或者是单个磁盘驱动器丢失。
从支架到集束的系统互连可以被配置成在集束级提供冗余度,以便提高可靠性。
集束级互连包括集束控制器(FPGA/ASIC加SERDES),支架控制器(FPGA/ASIC加SERDES,外部处理器和存储器),机架控制器(FPGA/ASIC加SERDES)以及相关联的电缆、连接器、印刷电路板、电源和其他组件。作为一个选项,SERDES和/或处理器功能可以集成到高级FPGA中(例如使用Xilinx Virtex II pro)。
支架和集束控制器
在图13中显示了支架控制器以及相关联的8个集束控制器。在该实施方式中,支架控制器经由光纤通道互连与机架控制器(图15)相连。应该指出的是,在其他实施例中也可以使用其它类型的控制器和互连(例如SCSI)。
在可以经由八个SATA启动器端口存取的可编程磁盘RAID集合上,支架控制器可以提供不同的RAID级支持,例如RAID 0、1、5及其组合。RAID功能是在固件中实施的,而加速处理则是由硬件形式的XOR引擎和DMA引擎提供的。在这种情况下,诸如Intel IOP321之类的配备了XOR的CPU是可以使用的。但是,优选实施方式并未使用配备XOR的CPU,一般来说,任何控制器芯片都是可以使用的。
支架控制器RAID控制单元在PCI-X总线上经由SATA通道控制器与集束控制器相连。对SATA通道控制器的8个SATA输出来说,其中每个输出都与集束控制器数据/命令路由器设备(图14)相连。每个数据/命令路由器则对每个集束的14个SATA驱动器进行控制。
机架控制器
机架控制器包括一个主板,该主板具有一个ServerWorks GC-LE芯片组以及四到八个PCI-X插槽。在图15所示的实施方式中,PCI-X插槽组装有双端口或四端口的2G光纤通道PCI-X目标总线适配器(TBA)。在其他实施例中,使用其他协议的其他组件也是可以使用的。举例来说,在一个实施例中,其中可以将使用了U320的四端口支架SCSI适配器用于支架单元。
辅助数据存取
本发明的实施例还提供了一种用于为高电源效率和大容量的可靠可扩展数据存储系统预备用于存取的数据单元的方法、系统和计算机程序产品。该数据存储系统包括多个存储设备。在某些时候,该数据存储系统的所有存储设备并未同时通电。
下文描述的发明实施例涉及的是在数据存储系统中预备数据单元,其中举例来说,该数据存储系统可以是电源管理的独立/经济磁盘冗余阵列(RAID)存储系统或大规模非活动/独立磁盘阵列(MAID)。
图16是描述根据本发明实施例而将数据存储系统1602与主机1604互连的框图。数据存储系统1602接收来自主机1604的数据存取请求或存取请求。该数据存储系统1602包括多个存储设备。应该指出的是,为了清楚起见,在图16中只显示了一个主机1604。一般来说,一个以上的主机可以向数据存储系统1602发起存取请求。
图17是描述根据本发明一个实施例的数据存储系统1602的图示。数据存储系统1602包括存储管理单元1702,存储设备1704,控制器1706,再配置管理器1708,辅助数据区域管理应用程序接口(API)1710以及数据管理器1712。存储设备1704的实例包括但不局限于硬盘驱动器,软盘驱动器,磁带驱动器,紧凑型光盘,固态存储器,光盘驱动器或磁光驱动器等等。此外,不同媒体驱动器的组合也是可以使用的。由此,在这里对于磁盘驱动器或数据存储系统的引用应该广义地解释成是覆盖了任何类型的存储设备。存储管理单元1702能够为在存储数据存储系统1602的过程中断电的存储设备1704中的某个存储设备上的数据单元或逻辑卷预备辅助数据。“数据单元”或其变体指示的是所存储的任何逻辑或虚拟数据量,例如比特、字节、字、块、文件、帧等等。该数据单元可以进一步拆分或划分为逻辑块。在数据单元中,逻辑或虚拟数据存储于逻辑块之中。
“辅助数据”或是其变体包含了存储于多个数据区域的数据。此外,在多个数据区域中,至少有两个数据区域处于不同设备,这些设备可以在互不相关的情况下实施电源调整。由于至少一个存储数据区域的设备可能已知或者有可能处于较高功率和较低等待时间的状态,因此,该处理允许使用缩短的等待时间来存取辅助数据。在“释放”辅助数据之前,辅助数据的移动有可能是受限的(“钉扣”数据)。该辅助数据包括但不局限于可用于数据单元的数据,例如“元数据”。举例来说,所述元数据可以包括创建数据单元的时间、数据单元大小以及与数据单元相对应的文件的名称。存储管理单元1 702同样能在存储设备1704上存储辅助数据,由此该辅助数据在诸如存储设备1714之类的通电存储设备上是可能得到的。在本发明的一个实施例中,辅助数据存储在存储设备1704中的每个存储设备的辅助数据区域中。在本发明的例示实施例中,辅助数据区域是存储设备1704中的每个存储设备的较低的首字节平均时间(lowMean Time to First Byte)(MTFB)区域,或者是实际可以即时可存取和可用的。在本发明的不同实施例中,低MTFB区域映射到数据存储系统的一个或多个数据单元的一组逻辑块。而该组逻辑块则会在配置数据存储系统1602的过程中被设置。此外,存储设备1704中的每个存储设备还包括用于存储除辅助数据之外的数据的较高的首字节平均时间(high Mean Time to First Byte)(MTFB)区域。
存储管理单元1702还能更新辅助数据。控制器1706与存储设备1704相耦合,该控制器通过存储管理单元1702来为辅助数据更新提供便利。在本发明的一个实施例中,在具有最近更新的辅助数据的存储设备1704中,至少一个存储设备是始终通电的。再配置管理器1708对存储设备1704中的所有存储设备上的辅助数据区域进行再配置。辅助数据区域管理API 1710确定将要在存储设备1704的辅助数据区域中管理的数据存储系统1602的一个或多个数据单元的逻辑块集合。而辅助数据区域管理器1712则将辅助数据保持在存储设备1704中。
图18是描述根据本发明一个实施例而在数据存储系统1602中预备用于存取的数据单元的方法的流程图。在本发明的不同实施例中,预备辅助数据所需要的电能是由存储管理单元1702提供的。在步骤1802,其中将会预备用于存储设备上的数据单元的辅助数据。由于存储设备1704中的所有存储设备并未在同一时间通电,因此,该辅助数据是为在数据单元存取请求期间断电的存储设备预备的。通过预备辅助数据,可以为存取数据存储系统1602中的数据单元的处理提供便利。在步骤1804,辅助数据将会存储在存储设备1704上,由此辅助数据有可能在通电的存储设备上是可用的。在本发明的一个实施例中,辅助数据存储在存储设备1704的所有存储设备中。当数据存储系统1602接收到关于辅助数据的存取请求时,该存取请求现在可以由数据存储系统1602中的任何一个通电存储设备提供服务。但是,如果存储请求针对的是特定数据而不是辅助数据,那么对存储了该特定数据的一个或多个存储设备来说,如果这些存储设备尚未通电,则为这些存储设备通电。
图19是描述根据本发明一个实施例来为数据单元预备辅助数据的方法的流程图。该辅助数据是在数据存储单元1602处于脱机状态时预备的,也就是说,该数据是在数据存储系统1602与主机1604没有交互的时候预备的。换言之,数据存储系统1602并未接收或者服务于主机1604发起的请求。在步骤1902,数据存储系统1602将被配置。用于配置数据存储系统1602的步骤是结合图20来详细说明的。图20是描述根据本发明一个实施例来配置数据存储系统1602的方法的流程图。在步骤2002,将处于数据存储系统1602中的每个存储设备的辅助数据区域分配给数据存储系统1602的一个或多个数据单元的逻辑块集合。在步骤1904,该辅助数据从辅助数据区域收集到数据单元的逻辑块集合。
通过配置数据存储系统1602,可以使那些在数据存储系统1602的主机存取过程中可能需要用到的数据处于存储设备1704的辅助数据区域中。换句话说,辅助数据区域将被映射到逻辑块集合,由此该辅助数据将会借助数据单元的逻辑块集合而始终可用。在数据存储系统1602的引导周期(boot cycle)中,数据存储系统1602将被配置。在本发明的一个实施例中,存储管理单元1702对数据存储系统1602进行配置。此外,存储管理单元1702还可以在数据存储系统1602的未来引导循环中再次配置数据存储系统1602。例如,当辅助数据的主机指定发生变化时,该处理可以实施。
应该指出的是,虽然辅助数据通常被描述成是“始终”可用的,但在依照这里的描述来提供辅助数据或其他数据并且所述数据并非始终可用的实施例中,相同的实质性益处同样是可以实现的。出于这个原因,使用所述“始终”旨在描述这样的情况:数据在足够时间可用,由此对整个存储系统性能产生的显著影响是不存在、不明显或可忽略的。
在执行了配置之后,在步骤1904中同步数据存储系统1602中的所有数据单元的辅助数据。通过对数据存储系统1602的数据单元进行同步,可以使所有数据单元具有相同的辅助数据。在同步了数据存储系统1602之后,数据存储系统1602可以联机。换句话说,数据存储系统1602将会为主机1604的存取做好准备。
当主机1604发起存取请求时,这时将会为其提供一个特定数据单元,该数据单元即为存取请求对象。但是,对于物理存储与该数据单元相对应的数据的存储设备来说,并非所有这些存储设备都是通电的。由此,存取请求针对的必要数据有可能处于断电存储设备。现在,控制器1706将会检查该存取请求针对的是辅助数据还是辅助数据之外的特定数据。如果该存取请求针对的是特定数据,那么对一个或多个存储所述特定数据的存储设备来说,如果该存储设备尚未通电,则为这些存储设备通电。如果发现该存取请求针对的是辅助数据,那么数据单元为来自通电存储设备的存取请求提供服务。在这种情况下,该存取请求是在没有延迟的情况下得到服务的。这是因为辅助数据已经准备就绪。此外,该辅助数据已经存储在了数据存储系统1602中可能将要通电的各个存储设备上。该存取请求可以是读取操作或写入操作。对读取操作来说,该存取请求是从数据存储系统1602中的任何一个通电存储设备服务的。对写入操作来说,该数据将会写入所有通电存储设备的辅助数据区域。
尽管如此,这些存储设备并不是始终通电的。在某个时刻通电的存储设备取决于在该时刻作为存取请求对象的是哪个或哪些数据单元。由此,在执行了写入操作之后,在该时刻通电的存储设备已经修改了辅助数据。在响应新的存取请求而将其他存储设备从断电变为通电时,在新通电的存储设备上将会更新或同步那些经过修改的辅助数据。换句话说,在根据存取请求而为下一组设备通电时,辅助数据将会从一组存储设备同步到下一组存储设备。通过更新辅助数据,可以使新通电的存储设备在相应辅助数据区域中具有最新的辅助数据拷贝。在本发明的一个实施例中,利用生成标识号更新辅助数据。在每次将通电存储设备之一断电时,该生成标识号都会递增。这样做将会确保那些在下一次引导数据存储系统1602之后通电的存储设备具有最新的辅助数据拷贝。此外,控制器1706还会记录辅助数据的每次更新。在该实施例中,如果与特定辅助数据区域中的辅助数据相对应的生成标识号不是最新的,那么辅助数据将被更新。
图21是描述根据本发明一个实施例的控制器1706的图示。该控制器1706包括计数器2102和变化日志2104。在每次将通电存储设备断电时,计数器2102都会递增与辅助数据区域相对应的生成标识号。变化日志2104存储的是与生成标识号的每次递增相对应的更新。由此,计数器2102和变化日志2104为辅助数据区域的辅助数据更新提供了便利。例如,通电存储设备的辅助数据区域包括辅助数据‘X’,并且该数据具有生成标识号‘10’。假设生成标识号的最新值是‘16’,并且相应辅助数据区域包括辅助数据‘Y’。那么,变化日志2104将会包含与生成标识号从‘10’到‘16’的递增相对应的条目,也就是与数据从‘X’到‘Y’的变化相对应的条目。这样做排除了改写每个通电存储设备中的辅助数据区域上的已修改辅助数据的需要。此外,与具有已更新辅助数据的存储设备相对应的生成标识号将会从‘10’递增到‘16’。
在数据存储系统1602联机期间,辅助数据并未与数据单元同步。但是,在经过大量时间之后,数据存储系统1602将会联机,并且数据存取需求有可能改变。由此可能需要通过再配置数据存储系统1602来更新数据单元,使之能够有效定址那些来自辅助数据区域的存取请求。
图22是描述根据本发明一个实施例来对数据存储系统1602进行再配置的方法的流程图。该数据存储系统1602是由再配置管理器1708执行再配置的。在步骤2202,对来自那些在配置过程中不再需要的辅助数据区域的辅助数据来说,这些辅助数据将被除去或释放到存储设备。在步骤2204,新的辅助数据区域将被指定给数据存储系统1602中的一个或多个数据单元的逻辑块集合。在步骤2206,辅助数据将被从这些数据单元的逻辑块收集到新的辅助数据区域。在本发明的一个实施例中,该配置可以用厂家专用命令进行修改。
在本发明的一个实施例中,厂家专用命令通过带内接口接收,也就是说,该命令可以经由小型计算机系统接口(SCSI)而被直接提供给再配置管理器1708。在本发明的另一个实施例中,厂家专用命令是通过带外接口接收的,也就是说,该命令是由再配置管理器1708经由诸如局域网和广域网之类的网络接收的。在修改了逻辑块集合之后,辅助数据区域中的辅助数据将会同步。通过同步该辅助数据区域,可以使所有辅助数据区域具有相同的辅助数据。在本发明的不同实施例中,通过对数据存储系统1602执行再配置,可以释放那些以后不再需要使用的辅助数据。此外,在辅助数据区域中还会添加或钉扣新的辅助数据。
此外,根据本发明的一个实施例,存储设备1704的存储设备集合将被保持。该存储设备集合将会保持通电,以便保持所述数据。另外,存储设备集合中的存储设备还会以循环方式旋转,以便提升数据存储系统1702中的存储设备1704的寿命。辅助数据区域管理器1712对哪些存储设备保持通电进行控制。在存储设备集合中,通电存储设备与断电存储设备是周期性交换的。换句话说,某些当前断电的存储设备将被通电,以便替换某些当前通电的存储设备。然后,这些当前通电的存储设备将会断电。在本发明的一个实施例中,最小数量的通电存储设备将会与断电存储设备交换。在本发明的另一个实施例中,用于周期性交换存储设备的周期是由自监视、分析和报告技术(SMART)数据提供的。所述SMART数据保持了为存储设备集合中的每个存储设备通电的时间记录。在本发明的另一个实施例,存储设备集合包括那些在最短时间通电的存储设备,其中该最短时间与为存储设备1704中的其他存储设备通电的时间相关。
上述实施例将会确保在接收到存取请求时,数据存储系统的存储管理单元需要的辅助数据有可能在通电存储设备上是可用的。此外,由于预备用于存取的数据单元的处理不需要来自数据存储系统的附加电能,因此,这些实施例是在电能预算以内工作的。所述电能是由用于预备数据单元的存储管理单元提供的,或者也可以在后台工作模式中得到。在联机工作模式中,辅助数据是从通电存储设备存取的。这些方法和系统能够检测并且随后保持数据存储系统中的降级存储设备。此外,当存储管理单元在预定时间空闲时,这些方法和系统还会确保维护处理得以执行。
虽然在这里结合本发明的具体实施例而对其进行了描述,但是这些实施例是为了描述而不是限制本发明,举例来说,参数的具体数值和范围显然可以与这里描述的数值和范围不同。对p、c、r、m、s、t等阈值参数来说,这些阈值参数的值既可以在知道了新实验数据时改变,也可以在首选项或总体系统特性变化时改变,还可以为了实现改进或预期的性能而改变。虽然在这里给出了用于计算数值和定义变量的具体公式,但是用于获取数值、变量或参数的其他方式也是可以使用的。
虽然在这里使用了“存储设备”、“磁盘驱动器”等术语,但是任何类型的存储单元都适于与本发明结合工作。例如,在这里可以使用盘驱动器、磁带驱动器、随机存取存储器(RAM)等等。此外,不同的当前和未来存储技术也是可以使用的,例如那些使用磁性、固态、光学、生物电、纳米工程或其他技术创建的存储技术。另外,不同的存储系统排列和架构同样是可以使用的。
存储单元既可以位于计算机内部,也可以位于计算机外部与计算机相连的单独外壳中。对这里论述的系统来说,其存储单元、控制器和其他组件既可以包含于单个位置,也可以分离在不同位置。这些组件可以通过任何适当手段相互连接,例如网络、通信链路或其他技术。虽然在这里将具体功能论述成是工作或驻留于特定的位置和时间,但是一般来说,这些功能是可以在不同位置和时间提供的。例如,诸如数据保护步骤之类的功能可以在分层控制器的不同等级提供。此外,任何类型的RAID或RAIV方案或配置都是可以使用的。
为了全面理解本发明的实施例,在这里的描述中提供了众多具体细节,例如组件和/或方法的实例。但是,本领域技术人员将会意识到,本发明的实施例既可以在没有一个或多个具体细节的情况下实施,也可以结合其他设备、系统、配件、方法、组件、材料、部件等等来实现。为了避免与本发明的实施例特性相混淆,在其他实例中并未具体显示以及详细描述那些众所周知的结构、材料或操作。
“处理器”或“处理”包含了任何人类、硬件和/或软件系统、机制或是用于处理数据、信号或其他信息的组件。处理器既可以包括具有通用中央处理器多个处理单元、用于实现功能的专用电路的系统,也可以包括其他系统。所述处理并不需要受地理位置限制或是具有时间限制。举例来说,处理器可以采用“实时”、“脱机”、“批处理模式”等形式来执行其功能。此外,某些处理部分可以在不同时间和不同位置由不同(或相同)处理系统来执行。
在整个说明书中,关于“一个实施例”、“某个实施例”或“具体实施例”的引用意味着在本发明的至少一个实施例中包含了结合该实施例描述的特定特征、结构或特性,但是所述特征、结构或特性不必包含在所有的实施例中。由此在整个说明书中,处于不同位置的短语“在一个实施例中”、“在某个实施例中”或“在某个具体实施例中”不必指示相同的实施例。此外,本发明任何一个具体实施例的特定特征、结构或特性都可以采用任何适当的方式与一个或多个其他实施例相结合。应该理解的是,对这里描述和图示的发明实施例来说,根据这里的教导,这些实施例的其他变化和修改都是可行的,并且这些变化和修改都被认为是本发明的实质和范围的一部分。
此外还应该预期的是,附图中描述的一个或多个部件可以采用更为分离或集成的方式来实施,在某些情况下,如果根据特定应用而被确定有益,那么所述部件甚至可以移除或是不工作。另外,在机器可读介质中还可以存储程序或代码,以便允许计算就执行任何一个上述方法,而实施所述程序或代码的处理同样处于本发明的实质和范围以内。
作为补充,除非以别的方式具体注释,否则应该将附图中的信号箭头视为例示性而不是限制性的。此外,除非以别的方式加以指示,否则这里使用的术语“或”通常旨在表示“和/或”。组件或步骤的组合同样是以所注释的方式来看待的,其中这些术语被预见为表示分离或组合能力是不完全的。
对在这里的描述以及后续的全部权利要求中使用的“一”、“一个”和“该”来说,除非在上下文中以别的方式明确指示,否则所述“一”、“一个”和“该”将会包括多个引用。此外,对在这里的描述和后续权利要求全文中使用的“在......之中”来说,除非在上下文中以别的方式明确指示,否则所述“在......之中”的含义包含了“在......之中”和“在......之上”。
上文中关于本发明图示实施例的描述包含了在摘要中描述的内容,这些描述并不是为了穷举本发明或者将本发明局限于这里公开的确切形式。虽然在这里完全出于例示目的而对本发明的具体实施例和实例进行了描述,但是正如相关领域的技术人员所了解和预见的那样,在本发明的实质和范围以内,各种等价的修改都是可行的。如所示,根据上文中关于本发明图示实施例的描述,在这里可以对本发明进行这些修改,并且这些修改将会包含在本发明的实质和范围以内。
由此,虽然在这里参考本发明的特定实施例而对其进行了描述,但在前文的公开中预期了众多的修改、各种变化和替换形式。应该预期的是,在某些实例中,本发明实施例的某些特征是在没有相应地使用其他特征的情况下使用的,而这并未脱离所阐述的本发明的范围和实质。由此,在这里可以执行众多修改,以使特定的情形或材料与本发明的基本范围和实质相适应。本发明并不局限于后续权利要求中使用的特定术语和/或被认为是实施本发明的最佳模式而被公开的特定实施例,相反,本发明将会包含落入附加权利要求范围以内的任何一个实施例和等价物。
在上文中已经结合具体实施例而对本发明提供的益处和优点进行了描述。对这些益处和优点以及可能导致产生这些益处和优点或是使之更为显著的任何部件或限制来说,它们不应该解释成是任何一个或所有权利要求的重要、必要或本质特征。这里使用的术语“包括”、“包含”或是其任何变体应该被解释成是非排它地包含了跟随在这些术语之后的部件或限制。相应的,包含一组部件的系统、方法或其他实施例并不局限于这些部件,而是可以包括并未明确列举或是要求保护的实施例所固有的其他部件。
虽然在这里参考特定实施例而对本发明进行了描述,但是应该理解,这些实施例是例示性的,并且本发明的范围并不局限于这些实施例。针对上述实施例的众多变化、修改、补充和改进都是可行的。此外还可以预期,这些变化、修改、补充和改进全都落入后续权利要求内部详述的本发明的范围以内。

Claims (32)

1.一种用于在数据存储系统中预备用于存取的数据单元的方法,该数据存储系统包含了多个具有数据单元的存储设备,其中并非将所有存储设备在相同时间通电,该方法包括:
为在数据单元存取请求期间将要断电的存储设备上的数据单元预备辅助数据;以及
将该辅助数据存储在多个存储设备上,由此当数据单元是存取请求的对象时,该辅助数据在通电存储设备上始终可用。
2.权利要求1的方法,其中该辅助数据存储在所有存储设备上。
3.权利要求1的方法,还包括:
使用存储设备上的辅助数据区域来存储辅助数据;以及
更新辅助数据。
4.权利要求3的方法,还包括:
使用变化日志和生成标识号来更新辅助数据。
5.权利要求4的方法,其中在每次更新辅助数据时都递增生成标识号。
6.权利要求4的方法,其中当生成标识号并非最新时,在辅助数据区域上更新辅助数据。
7.权利要求4的方法,其中变化日志包括与生成标识号的每一次递增相对应的更新。
8.权利要求3的方法,其中当根据存取请求将下一个存储设备集合通电时,辅助数据将会从一个存储设备集合更新到所述下一个存储设备集合。
9.权利要求3的方法,其中更新辅助数据包括:
当存取请求是写入操作时,修改数据存储系统中的所有通电存储设备上的辅助数据。
10.权利要求1的方法,其中当存取请求是读取操作时,从数据存储系统的通电存储设备之一读取辅助数据。
11.权利要求1的方法,其中从主机接收存取请求。
12.权利要求1的方法,其中为数据单元预备辅助数据包括:
在数据存储系统的引导周期中配置数据存储系统;以及
将数据存储系统的所有数据单元中的辅助数据进行同步。
13.权利要求12的方法,其中配置数据存储系统包括:
将数据存储系统中的每一个存储设备上的辅助数据区域分配给数据存储系统的一个或多个数据单元的逻辑块集合;以及
将来自辅助数据区域的辅助数据收集到一个或多个数据单元的逻辑块集合。
14.权利要求12的方法,还包括:
对所有存储设备上的辅助数据区域进行再配置。
15.权利要求14的方法,其中对辅助数据区域执行再配置包括:
从不再处于配置处理的辅助数据区域中去除辅助数据;
将新的辅助数据区域分配给一个或多个数据单元的逻辑块集合;以及
将来自一个或多个数据单元的逻辑块集合的数据收集到新的辅助数据区域。
16.权利要求15的方法,其中对辅助数据区域进行再配置还包括:
通过使用经由带外和带内接口之一接收的厂家专用命令来修改逻辑块集合。
17.权利要求16的方法,还包括:
同步辅助数据区域中的数据。
18.权利要求1的方法,还包括:
当数据存储系统的存储管理单元在预定时间内处于空闲时,在多个存储设备中的存储设备集合上以后台模式保持辅助数据。
19.权利要求18的方法,其中保持辅助数据包括:
以后台模式来为存储设备集合通电。
20.权利要求19的方法,其中为存储设备集合通电的处理包括:周期性交换断电存储设备和存储设备集合中的通电存储设备。
21.权利要求20的方法,其中由自监视、分析和报告技术(SMART)数据提供用于周期性交换存储设备和将要交换的存储设备的周期,其中该SMART数据保持了存储设备集合中的每个存储设备通电的时间记录。
22.权利要求20的方法,存储设备集合包括具有最小通电时间的存储设备。
23.一种数据存储系统,包括:
具有数据单元的多个存储设备,其中并非将所有存储设备在相同时间通电;
存储管理单元,该存储管理单元能够执行下列处理:
为在数据单元存取请求期间将要断电的存储设备上的数据单元预备辅助数据;以及
将该辅助数据存储在多个存储设备上,由此当数据单元是存取请求的对象时,该辅助数据在通电存储设备上始终可用。
24.权利要求23的数据存储系统,还包括与多个存储设备中的每一个存储设备相耦合的控制器,其中该控制器包括:
计数器,用于递增生成标识号,其中在每次更新辅助数据区域时递增该生成标识号;以及
变化日志,用于存储与生成标识号的每次递增相对应的更新。
25.权利要求24的数据存储系统,其中在包含辅助数据最近更新的多个存储设备中的至少一个存储设备是始终通电的。
26.权利要求23的数据存储系统,还包括用于对所有存储设备上的辅助数据区域进行再配置的再配置管理器。
27.权利要求23的数据存储系统,还包括用于确定将要在辅助数据区域中管理的逻辑块的辅助数据区域管理应用程序接口。
28.权利要求23的数据存储系统,还包括辅助数据区域管理器,用于当存储管理单元在预定时间内处于空闲时以后台模式在多个存储设备上保持辅助数据。
29.权利要求23的数据存储系统,其中辅助数据区域是多个存储设备中的每一个存储设备的较低的首字节平均时间(MTFB)区域。
30.权利要求29的数据存储系统,其中低MTFB区域映射到逻辑块集合,其中在数据存储系统配置过程中设置该逻辑块集合。
31.一种设备,包括:
用于执行指令的处理器;以及
机器可读介质,包括:
用于为在数据单元存取请求期间将要断电的存储设备上的数据单元预备辅助数据的一个或多个指令;以及
用于将该辅助数据存储在多个存储设备上的一个或多个指令,由此当数据单元是存取请求的对象时,该辅助数据在通电存储设备上始终可用。
32.一种机器可读介质,包括可以由处理器执行而在数据存储系统中预备用于存取的数据单元的指令,该数据存储系统包含了多个具有数据单元的存储设备,其中并非将所有存储设备在相同时间通电,该机器可读介质包括:
用于为在数据单元存取请求期间将要断电的存储设备上的数据单元预备辅助数据的一个或多个指令;以及
用于将该辅助数据存储在多个存储设备上的一个或多个指令,由此当数据单元是存取请求的对象时,该辅助数据在通电存储设备上是始终可用的。
CNA2006800501189A 2005-12-30 2006-12-26 用于在高电源效率的大容量可扩展存储系统中存取辅助数据的方法和系统 Pending CN101351760A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/322,787 US7330931B2 (en) 2003-06-26 2005-12-30 Method and system for accessing auxiliary data in power-efficient high-capacity scalable storage system
US11/322,787 2005-12-30

Publications (1)

Publication Number Publication Date
CN101351760A true CN101351760A (zh) 2009-01-21

Family

ID=38228805

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800501189A Pending CN101351760A (zh) 2005-12-30 2006-12-26 用于在高电源效率的大容量可扩展存储系统中存取辅助数据的方法和系统

Country Status (5)

Country Link
US (2) US7330931B2 (zh)
EP (1) EP1966671A4 (zh)
JP (1) JP2009505310A (zh)
CN (1) CN101351760A (zh)
WO (1) WO2007079056A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223510A (zh) * 2011-06-03 2011-10-19 杭州华三通信技术有限公司 缓存调度方法和装置
CN104067237A (zh) * 2012-01-25 2014-09-24 惠普发展公司,有限责任合伙企业 存储系统设备管理
CN104460941A (zh) * 2014-12-03 2015-03-25 上海新储集成电路有限公司 一种降低主存存储器满负荷运行功耗的方法
CN107710144A (zh) * 2015-09-30 2018-02-16 西部数据技术公司 跨越逻辑卷的数据存储装置复制数据
CN109669811A (zh) * 2017-08-15 2019-04-23 金钱猫科技股份有限公司 一种能够可靠性访问的数据处理方法及终端
CN110704249A (zh) * 2016-12-30 2020-01-17 成都华为技术有限公司 一种保证应用一致性的方法、装置及系统
CN113535079A (zh) * 2020-04-17 2021-10-22 爱思开海力士有限公司 存储器控制器以及具有存储器控制器的存储装置

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070079086A1 (en) * 2005-09-29 2007-04-05 Copan Systems, Inc. System for archival storage of data
US20080154920A1 (en) * 2006-12-22 2008-06-26 Copan Systems, Inc. Method and system for managing web content linked in a hierarchy
US7917705B2 (en) * 2007-05-17 2011-03-29 International Business Machines Corporation Scalable performance-based volume allocation in large storage controller collections
JP4971895B2 (ja) * 2007-07-06 2012-07-11 株式会社日立製作所 記憶システム及び消費電力削減方法並びに情報処理装置
US8046597B2 (en) * 2007-08-14 2011-10-25 Dell Products L.P. System and method for managing storage device capacity use
JP4988653B2 (ja) * 2008-06-13 2012-08-01 株式会社日立製作所 ディスクアレイ記録装置及びその記録制御方法
JP4687814B2 (ja) 2008-06-26 2011-05-25 日本電気株式会社 仮想テープ装置、データバックアップ方法及び記録媒体
US9213612B2 (en) * 2008-09-29 2015-12-15 Cisco Technology, Inc. Method and system for a storage area network
US8448004B2 (en) * 2008-10-27 2013-05-21 Netapp, Inc. Power savings using dynamic storage cluster membership
US20100138677A1 (en) * 2008-12-01 2010-06-03 International Business Machines Corporation Optimization of data distribution and power consumption in a data center
US8108818B2 (en) * 2009-01-30 2012-01-31 International Business Machines Corporation Method and system for point-to-point fast delay estimation for VLSI circuits
JP5109995B2 (ja) * 2009-02-03 2012-12-26 日本電気株式会社 ストレージ装置、及びストレージ装置の制御方法
US8185754B2 (en) * 2009-02-25 2012-05-22 International Business Machines Corporation Time-based storage access and method of power savings and improved utilization thereof
TWI371686B (en) * 2009-04-02 2012-09-01 Lsi Corp System and method to reduce drive overhead using a mirrored cache volume in a storage array
US8176270B2 (en) * 2009-05-01 2012-05-08 Quantum Corporation Data allocation system
US8909890B2 (en) * 2010-02-22 2014-12-09 International Business Machines Corporation Scalable performance-based volume allocation for time-based storage access services
US8352758B2 (en) * 2010-03-22 2013-01-08 International Business Machines Corporation Power bus current bounding using local current-limiting soft-switches and device requirements information
US8788755B2 (en) 2010-07-01 2014-07-22 Infinidat Ltd. Mass data storage system and method of operating thereof
US9189407B2 (en) 2010-07-01 2015-11-17 Infinidat Ltd. Pre-fetching in a storage system
US8826051B2 (en) * 2010-07-26 2014-09-02 Apple Inc. Dynamic allocation of power budget to a system having non-volatile memory and a processor
US9235500B2 (en) * 2010-12-07 2016-01-12 Microsoft Technology Licensing, Llc Dynamic memory allocation and relocation to create low power regions
US9594421B2 (en) 2011-03-08 2017-03-14 Xyratex Technology Limited Power management in a multi-device storage array
US9047021B2 (en) * 2013-01-22 2015-06-02 Red Hat Israel, Ltd. Managing metadata for logical volume managers
US8868954B1 (en) 2013-05-21 2014-10-21 Microsoft Corporation Low cost storage for rarely read data
JP2015095015A (ja) * 2013-11-11 2015-05-18 富士通株式会社 データ配置方法、データ配置プログラムおよび情報処理システム
US9853873B2 (en) 2015-01-10 2017-12-26 Cisco Technology, Inc. Diagnosis and throughput measurement of fibre channel ports in a storage area network environment
US9900250B2 (en) 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane
US10026454B2 (en) 2015-04-28 2018-07-17 Seagate Technology Llc Storage system with cross flow cooling of power supply unit
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US11588783B2 (en) 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US10778765B2 (en) 2015-07-15 2020-09-15 Cisco Technology, Inc. Bid/ask protocol in scale-out NVMe storage
US9921760B2 (en) * 2015-10-22 2018-03-20 International Business Machines Corporation Shifting wearout of storage disks
US10528276B2 (en) 2015-10-22 2020-01-07 International Business Machines Corporation Shifting wearout of storage disks
US9892075B2 (en) 2015-12-10 2018-02-13 Cisco Technology, Inc. Policy driven storage in a microserver computing environment
US10140172B2 (en) 2016-05-18 2018-11-27 Cisco Technology, Inc. Network-aware storage repairs
US20170351639A1 (en) 2016-06-06 2017-12-07 Cisco Technology, Inc. Remote memory access using memory mapped addressing among multiple compute nodes
US10664169B2 (en) 2016-06-24 2020-05-26 Cisco Technology, Inc. Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device
US11563695B2 (en) 2016-08-29 2023-01-24 Cisco Technology, Inc. Queue protection using a shared global memory reserve
US10545914B2 (en) 2017-01-17 2020-01-28 Cisco Technology, Inc. Distributed object storage
US10243823B1 (en) 2017-02-24 2019-03-26 Cisco Technology, Inc. Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks
US10713203B2 (en) 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
US10254991B2 (en) 2017-03-06 2019-04-09 Cisco Technology, Inc. Storage area network based extended I/O metrics computation for deep insight into application performance
US10545553B2 (en) 2017-06-30 2020-01-28 International Business Machines Corporation Preventing unexpected power-up failures of hardware components
US10303534B2 (en) 2017-07-20 2019-05-28 Cisco Technology, Inc. System and method for self-healing of application centric infrastructure fabric memory
US11106641B2 (en) * 2017-08-18 2021-08-31 Red Hat, Inc. Supporting graph database backed object unmarshalling
US10671303B2 (en) 2017-09-13 2020-06-02 International Business Machines Corporation Controlling a storage system
US10404596B2 (en) 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
US10942666B2 (en) 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
US11138046B2 (en) * 2018-06-19 2021-10-05 Jpmorgan Chase Bank, N.A. Methods for auxiliary service scheduling for grid computing and devices thereof
CN115220647A (zh) * 2021-04-21 2022-10-21 伊姆西Ip控股有限责任公司 存储管理的方法、电子设备和计算机程序产品

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088081A (en) 1990-03-28 1992-02-11 Prime Computer, Inc. Method and apparatus for improved disk access
US5396635A (en) 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5423046A (en) * 1992-12-17 1995-06-06 International Business Machines Corporation High capacity data storage system using disk array
DE19540915A1 (de) 1994-11-10 1996-05-15 Raymond Engineering Redundante Anordnung von Festkörper-Speicherbausteinen
US5530658A (en) 1994-12-07 1996-06-25 International Business Machines Corporation System and method for packing heat producing devices in an array to prevent local overheating
US5666538A (en) 1995-06-07 1997-09-09 Ast Research, Inc. Disk power manager for network servers
JPH09106613A (ja) * 1995-10-06 1997-04-22 Sony Corp ディスク再生装置
JPH09244932A (ja) * 1996-03-06 1997-09-19 Ekushingu:Kk ディスクアレイ装置
AU6778601A (en) * 2000-06-26 2002-01-08 International Business Machines Corporation Data management application programming interface for a parallel file system
US7032119B2 (en) 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
US7228441B2 (en) 2000-09-27 2007-06-05 Huron Ip Llc Multi-server and multi-CPU power management system and method
JP2002108721A (ja) * 2000-09-28 2002-04-12 Toshiba Corp ディスクアレイ装置
US7007141B2 (en) 2001-01-30 2006-02-28 Data Domain, Inc. Archival data storage system and method
US20030196126A1 (en) 2002-04-11 2003-10-16 Fung Henry T. System, method, and architecture for dynamic server power management and dynamic workload management for multi-server environment
US7035972B2 (en) * 2002-09-03 2006-04-25 Copan Systems, Inc. Method and apparatus for power-efficient high-capacity scalable storage system
AU2003261090A1 (en) 2002-09-12 2004-04-30 Copan Systems, Inc. Method and apparatus for power-efficient high-capacity scalable storage system
JP4327503B2 (ja) * 2003-05-28 2009-09-09 富士通株式会社 ハードディスクの制御方法及び制御装置
JP2005050024A (ja) * 2003-07-31 2005-02-24 Toshiba Corp 計算機システムおよびプログラム
US7149858B1 (en) * 2003-10-31 2006-12-12 Veritas Operating Corporation Synchronous replication for system and data security
US7185222B2 (en) * 2003-11-14 2007-02-27 International Business Machines Corporation Apparatus, system, and method for maintaining data in a storage array
US7165165B2 (en) * 2004-03-16 2007-01-16 Intel Corporation Anticipatory power control of memory
US20060047713A1 (en) * 2004-08-03 2006-03-02 Wisdomforce Technologies, Inc. System and method for database replication by interception of in memory transactional change records
JP4824374B2 (ja) * 2005-09-20 2011-11-30 株式会社日立製作所 ディスクの回転を制御するシステム

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223510A (zh) * 2011-06-03 2011-10-19 杭州华三通信技术有限公司 缓存调度方法和装置
CN104067237A (zh) * 2012-01-25 2014-09-24 惠普发展公司,有限责任合伙企业 存储系统设备管理
CN104460941A (zh) * 2014-12-03 2015-03-25 上海新储集成电路有限公司 一种降低主存存储器满负荷运行功耗的方法
CN104460941B (zh) * 2014-12-03 2017-12-05 上海新储集成电路有限公司 一种降低主存存储器满负荷运行功耗的方法
CN107710144B (zh) * 2015-09-30 2020-10-09 西部数据技术公司 跨越逻辑卷的数据存储装置复制数据
CN107710144A (zh) * 2015-09-30 2018-02-16 西部数据技术公司 跨越逻辑卷的数据存储装置复制数据
CN110704249A (zh) * 2016-12-30 2020-01-17 成都华为技术有限公司 一种保证应用一致性的方法、装置及系统
CN109669811A (zh) * 2017-08-15 2019-04-23 金钱猫科技股份有限公司 一种能够可靠性访问的数据处理方法及终端
CN109683810A (zh) * 2017-08-15 2019-04-26 金钱猫科技股份有限公司 一种读写方法及终端
CN109739340A (zh) * 2017-08-15 2019-05-10 金钱猫科技股份有限公司 一种节能省电的数据处理方法及终端
CN109669811B (zh) * 2017-08-15 2021-04-13 金钱猫科技股份有限公司 一种能够可靠性访问的数据处理方法及终端
CN113535079A (zh) * 2020-04-17 2021-10-22 爱思开海力士有限公司 存储器控制器以及具有存储器控制器的存储装置
CN113535079B (zh) * 2020-04-17 2024-01-26 爱思开海力士有限公司 存储器控制器以及具有存储器控制器的存储装置

Also Published As

Publication number Publication date
WO2007079056A3 (en) 2008-04-10
US7330931B2 (en) 2008-02-12
WO2007079056A2 (en) 2007-07-12
US20060136684A1 (en) 2006-06-22
US20080114948A1 (en) 2008-05-15
EP1966671A2 (en) 2008-09-10
EP1966671A4 (en) 2010-09-08
JP2009505310A (ja) 2009-02-05

Similar Documents

Publication Publication Date Title
CN101351760A (zh) 用于在高电源效率的大容量可扩展存储系统中存取辅助数据的方法和系统
CN100552612C (zh) 闪速存储器存储系统
US7035972B2 (en) Method and apparatus for power-efficient high-capacity scalable storage system
US8762672B2 (en) Storage system and storage migration method
US7216244B2 (en) Data storage system with redundant storage media and method therefor
US7210005B2 (en) Method and apparatus for power-efficient high-capacity scalable storage system
US5089958A (en) Fault tolerant computer backup system
US20050210304A1 (en) Method and apparatus for power-efficient high-capacity scalable storage system
CN100524235C (zh) 存储网络中的恢复操作
CN103793182A (zh) 可扩展存储保护
WO2001040925A1 (fr) Batterie de disques et procede d&#39;extension de sa capacite
KR20060043873A (ko) 드라이브 복구 시스템 및 방법
US20100115310A1 (en) Disk array apparatus
JP2005301419A (ja) ディスクアレイ装置およびそのデータ処理方法
JP2005267111A (ja) 記憶制御システム及び記憶制御システムの制御方法
EP1540450B1 (en) Method and apparatus for power-efficient high-capacity scalable storage system
CN101661413A (zh) 计算机系统、存储系统以及结构管理方法
Mao et al. GRAID: A green RAID storage architecture with improved energy efficiency and reliability
US11385815B2 (en) Storage system
US8122268B2 (en) Reducing power consumption of mirrored RAID subsystems
CN115729468A (zh) 基于软件raid的数据冗余保护双硬盘系统
JP2008217811A (ja) 不揮発メモリを使用したディスク制御装置
JP3597086B2 (ja) ディスクアレイ制御装置
EP1862905A2 (en) Flash memory storage system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090121