CN1268703A - 存储域管理系统 - Google Patents

存储域管理系统 Download PDF

Info

Publication number
CN1268703A
CN1268703A CN 00105403 CN00105403A CN1268703A CN 1268703 A CN1268703 A CN 1268703A CN 00105403 CN00105403 CN 00105403 CN 00105403 A CN00105403 A CN 00105403A CN 1268703 A CN1268703 A CN 1268703A
Authority
CN
China
Prior art keywords
storage
server
data
interface
module
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.)
Granted
Application number
CN 00105403
Other languages
English (en)
Other versions
CN1241134C (zh
Inventor
迈克尔·G·巴纳
艾伦·R·梅里尔
约瑟夫·阿尔特梅耶尔
杰里·帕克·莱恩
詹姆斯·A·泰勒
罗纳德·L·帕克斯
阿拉斯泰尔·泰勒
沙里亚·J·诺兰
杰弗里·S·内什波尔
小乔治·W·哈里斯
小理查德·A·勒格
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.)
Dell Products LP
Original Assignee
Dell USA LP
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
Priority claimed from US09/276,428 external-priority patent/US6446141B1/en
Priority claimed from US09/347,042 external-priority patent/US6553408B1/en
Priority claimed from US09/455,106 external-priority patent/US6654830B1/en
Priority claimed from US09/482,213 external-priority patent/US6640278B1/en
Application filed by Dell USA LP filed Critical Dell USA LP
Publication of CN1268703A publication Critical patent/CN1268703A/zh
Application granted granted Critical
Publication of CN1241134C publication Critical patent/CN1241134C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种存储域管理系统支持存储域,其中存储服务器包括多个通信接口,第一组通信接口连接所有数据种类的用户、第二组通信接口连接存储域中存储装置存储池中的各装置。服务器中数据处理源耦合于传送数据的该多个通信接口且数据处理源包括多个驱动器模块和把驱动器模块链接于数据路径的可配置的逻辑电路。数据路径用作包括一组从多个驱动器模块中选择出的驱动器模块的虚拟电路。通信接口接收到的数据存储事务映射到其中一个数据路径。

Description

存储域管理系统
本发明涉及大容量存储系统领域。尤其,本发明涉及智能存储区网络中的存储事务的管理及智能存储区网络的配置。
在所谓的大容量存储系统中多个数据的存储正成为一种惯例。一般大容量存储系统包括耦合于数据网络上的文件服务器上的存储装置。网络上的用户与文件服务器通信以存取数据。一般文件服务器经数据信道连接于特定的存储装置。数据信道通常用为管理存储事务而设计的点对点通信协议来实施。
随着存储数量增加和通信网络中文件服务器数目的增长,出现了存储区网络(SAN)的概念。存储区网络把对于存储事务优化的通信网络中的若干大容量存储系统连接起来。例如,光纤信道判优环路(FC-AL)网络正被作为SANs实施。SANs支持存储系统的用户与SAN上特定的存储系统之间的许多点对点通信话路。
文件服务器和存储系统的其它用户被配置来与特定的存储媒体通信。当存储系统扩展或媒体被再放回系统中时,在文件服务器和其它用户上需要进行再配置。而且,如果在所谓的数据迁移操作中出现把数据从一个装置移动到另一个装置的需要,通常有必要在迁移处理期间成块存取数据。在迁移完成后,必须在用户系统上执行再配置以使数据可被新的装置利用。
总之,随着存储系统和网络的复杂性和尺寸的增加,对数据用户的配置的管理和对存储系统自身的管理复杂起来。因此,需要一种系统,其简化存储系统的管理同时有效利用SAN(存储区网)体系的灵活性和权限。
本发明提供用于存储域管理的系统和方法。存储域管理是一种集中式并且安全的管理性能,其成层在现有存储区网络硬件基础结构的顶部以提供对异机种环境的高性能、高利用性和先进的存储管理功能。存储域管理提供坚固(robust)的存储区网络结构的核心,其集成了传统(legacy)和新设备、卸载来自服务器和存储源的网络和存储管理任务并具有供网络用的应用程序(network-basedapplications),从而它们可在存储区网络的所有组件上实现平衡。存储域管理可生成和优化异机种存储区网络环境,这是现有技术和系统不能实现的。
本发明提供一种根据存储域管理存储网络中的存储源的系统。该系统包括多个通信接口,其适用于经通信媒体与客户和存储系统以及存储网络连接。一个处理单元,其与该多个通信接口耦合并包括逻辑电路,该逻辑电路把来自网络中一个或多个存储系统的一组存储位置配置为一组用于来自存储网络中一个或多个客户的至少一个客户的存储域。该系统包括提供经该若干通信接口的多协议支持的各种组合的元件、响应于协议内承载的事务标识符在存储域内路由存储事务的逻辑电路、用于配置存储域的一个管理接口、用于通过该若干通信接口把存储事务编译到用于在若干通信接口中在系统内进行路由的公用格式并从该格式进行编译的逻辑电路、用于把存储事务的数据主体进行高速缓冲存储的源以及管理数据组在网络内从一个存储位置向另一个存储位置的迁移的逻辑电路。
在一个实施例中,根据本发明的系统,作为如文件服务器这样的客户处理器和用作对于客户的存储域中的存储源的存储系统之间的中间装置被包括在存储区网络中。存储事务由中间装置接收并根据中间装置中的配置逻辑电路定义的存储域的配置来管理。中间装置提供允许灵活配置、冗余、失效交权(failover)、数据迁移、高速缓冲存储和多协议支持的存储区网络中的管理位置。而且,一个实施例中的中间装置提供对传统系统的仿真,允许存储域包括用于客户的不需要客户的再配置的传统存储装置。
存储域通过在网络内把逻辑存储范围指定给客户并通过把网络中的存储源映射到客户的逻辑存储范围而被管理。对客户指定逻辑存储范围通过在中间系统或与网络中的存储源的客户逻辑上无关或独立的其它系统中向对客户指定的逻辑存储范围的映射来完成。以这种方式,经存储域管理器可访问的存储源的存储域应用作为中间装置的存储域管理器而被管理。
根据本发明的存储服务器包括一个处理单元、一个耦合于该处理单元的总线系统、一个通信接口和一个耦合于该处理单元的操作系统。总线系统具有插槽,适合于容纳数据存储器的接口,并且其被放置在服务器底盘上或横跨耦合于插槽的通信信道而放置。操作系统提供逻辑电路,用于经总线系统控制传送。操作系统提供逻辑电路,用于把经通信接口从客户服务器接收到的存储事务编译为内部格式。操作系统提供逻辑电路,用于根据配置数据处理内部格式,该配置数据应用内部格式对于事务协议的范围(extent)内的特定单元的存储的把通信接口上的存储事务映射到相应于该范围的虚拟电路。虚拟电路依次经接口中的一个或多个驱动器管理事务向一个或多个物理数据存储器的路由选择。另外,服务器包括仿真物理存储装置的源,从而客户服务器能够使用标准存储事务协议来访问虚拟装置而不用对存储事务改变客户服务器的配置。
根据本发明的另一方面,提供存储路由选择器。存储路由选择器包括一个第一通信接口、其它通信接口、一个处理单元和一个总线系统。总线系统耦合于处理单元、第一通信接口和其它通信接口。处理单元支持一个操作系统。操作系统根据配置数据应用虚拟装置体系和仿真把经第一通信接口接收的存储事务引向其它适当的通信接口。
在一些实施例中,通信接口是对光纤媒体的接口。在一些实施例中,通信接口包括与光纤信道判优环路匹配的光纤信道。在一些实施例中,通信接口包括与标准“小型计算机系统接口3版”(SCSI-3)一致的驱动器。
在一些实施例中,该处理单元由多个处理单元构成。
在一些实施例中,总线系统由互连的计算机总线构成。在一些实施例中,计算机总线与标准“周边元件扩展接口”(PCI)总线一致。在一些实施例中,通信接口耦合于总线系统。
在一些实施例中,存储服务器包括非易失性存储器。在一些实施例中,非易失性存储器包括集成电路非易失性存储器,如闪速存储器。
在一些实施例中,存储服务器包括用于盘驱动器的控制器。在一些实施例中,控制器支持盘驱动器阵列。在一些实施例中,控制器支持标准“独立盘组冗余阵列”(RAID)协议。在一些实施例中,盘驱动器通过光纤媒体耦合于控制器。在一些实施例中,盘驱动器具有两个接口,用于连接光纤媒体。在一些实施例中,各个盘驱动器被耦合于至少两个控制器。
在一些实施例中,操作系统包括逻辑电路,用于把经通信接口接收到的SCSI-3指令和数据编译成内部格式。在一些实施例中,与SCSI-3指令相关联的逻辑单元序号(LUN)被用于把SCSI-3指令和数据与包括存储服务器中的数据存储器的虚拟装置连接起来。在一些实施例中,启动器SCSI-3标识序号(ID)和LUN被用于把SCSI-3指令和数据与包括耦合于存储服务器的数据源的虚拟装置连接起来。
在一些实施例中,操作系统包括逻辑电路以监测存储服务器的性能和状态。在一些实施例中,有逻辑电路,用于处理装置失效并把控制传送到冗余组件。
本发明提供一种支持虚拟装置和用于存储与管理数据的虚拟电路的存储服务器体系。根据本发明的存储服务器包括多个通信接口。多个通信接口中第一组通信接口适用于连接各种数据的用户。多个通信接口中第二组通信接口适用于连接存储装置存储池中的各个装置。存储服务器中的数据处理源被耦合于该多个通信接口以在接口中传送数据。数据处理源由多个驱动器模块和把驱动器模块链接到数据路径的可配置的逻辑电路构成,在优选系统中其成对地实施以实现冗余度。各个配置的数据路径用作包括从该多个驱动器模块中选出的一组驱动器模块的虚拟电路。在通信接口接收到的数据存储事务被映射到配置的数据路径之一。
根据本发明的另一方面,该多个驱动器模块包括协议服务器,用于在该多个通信接口中的通信接口上支持的协议。协议服务器识别根据接口上的协议识别出的特定存储范围的目标标识符。分配给特定存储范围的事务被映射到服务器中特定配置的数据路径。
以这种方式配置的数据路径用作虚拟存储装置。数据用户根据用于特定存储装置的协议与存储服务器上的通信接口进行通信。在服务器内部,根据那一协议的事务被映射到驱动器组实施的虚拟存储装置中。设立和改变特定数据路径中执行的存储任务及设立和改变从一个数据路径向另一个的存储范围的映射通过在存储服务器内配置驱动器模块组来完成。
根据本发明的另一方面,该多个驱动器模块包括管理各个通信接口的一个或多个硬件驱动器模块和与该多个通信接口独立地来执行数据路径任务的一个或多个内部驱动器模块。数据路径任务包括例如高速缓冲存储器管理、存储器镜像管理、存储器分区管理、数据迁移管理和其它用于管理存储事务的任务。通过在虚拟装置体系中提供这种类型的数据路径任务,管理这种任务的存储系统的配置对用户基本上是透明的。另外,在优化来执行这些任务的存储服务器上提供虚拟装置性能可以使得性能改进并具有更大的灵活性。
而且,根据本发明的一个方面,该多个驱动器模块包括用于在服务器环境内根据内部信息格式进行数据通信的逻辑电路。到来的存储事务被编译为内部信息格式,并被放置在对于特定事务配置的数据路径中。在一个优选实施例中,协议服务器执行协议编译和虚拟电路映射功能。
可配置的逻辑电路包括用于接受配置数据的用户接口和存储包括该数据路径的各组驱动器模块的表格和列表的存储器。在一个实施例中的可配置的逻辑电路应用图形用户接口来实施,例如在包括用于接收输入信号的触屏的显示屏上。图形用户接口允许实施灵活的易于使用的配置工具。
根据本发明的另一方面,可配置的逻辑电路包括用于存储以表格形式的配置数据的存储器,该表格可以识别虚拟电路的数据路径。一个实施例中的存储器应用把表格保持在非易失性存储器中的持久性表格存储处理来实施,该非易失性存储器经受得住存储系统的复位和/或断电。另外,配置逻辑电路应用系统中冗余硬件上的冗余驱动器模块对虚拟电路实施数据路径。从而存储系统上不会发生单点失效干扰一特定的存储事务的情况。
在优选实施例中,存储域内的源应用包括多个驱动器模块和把驱动器模块链接到数据路径的可配置的逻辑电路的虚拟电路来定义,在优选系统中其成对实施以实现冗余度。各个配置的数据路径用作包括从该多个驱动器模块中选择的一组驱动器模块的虚拟电路。在通信接口接收到的数据存储事务被映射到配置的数据路径之一,从而可在存储域管理器内配置和管理的存储域内控制。
基本上,存储域管理可使顾客实现存储区网络解决商业问题上的全部承诺。存储域管理平台提供存储系统和协议的异机种环境的交互操作性,提供安全集中式管理,提供可量测性和高性能并且提供可靠性、可利用性和服务性特征,这些全部在智能的为特定目的建造的平台上可以实现。
本发明的其它特征和优点在下面的附图、具体描述和权利要求上可看到。
附图简要描述
图1表示具有根据本发明的作为存储路由器或存储域的管理的存储指示器而配置的存储服务器的存储区网络;
图1A表示对于智能存储区网络服务器的各种应用;
图2表示另一种配置的具有根据本发明的作为存储路由器或异机种网络中存储域管理中的存储指示器而配置的存储服务器的存储区网络;
图3表示更复杂的存储区网络,包括根据本发明的在它们之间带有直接的通信信道的支持一个扩展的存储域或多个存储域的几个存储服务器;
图4是根据本发明的支持存储域管理的存储服务器的框图;
图5是根据本发明的支持存储域管理的存储服务器的另一框图;
图6是智能存储区网络服务器的硬件体系的框图;
图7是用于智能存储区网络服务器的操作系统和支持程序的软件模块的框图;
图8是用于用在本发明的系统中的光纤信道接口的硬件驱动器模块的简化框图;
图9是包括根据本发明的硬件驱动器模块的固态存储系统的简化框图;
图10是安装在根据本发明的存储服务器的一个实施例中的内部磁盘驱动器阵列的框图;
图11是根据本发明的具有本地应答性能的目标服务器内部服务模块的简化框图;
图12是实施磁盘镜像的内部服务模块的框图;
图13是实施分区功能的内部服务模块的框图;
图14是实施高速缓冲存储功能的内部服务模块的框图;
图15表示根据本发明的虚拟电路配置;
图16是实施根据本发明的持久性表格存储管理器的内部服务模块的框图;
图17简略表示根据本发明的持久性存储硬件驱动器模块;
图18是根据本发明的在三个阶段具有带热拷贝源的中间装置的网络的简图;
图19表示在根据本发明的实施热拷贝处理的驱动器的一个示例中使用的数据结构;
图20是表示根据本发明的驱动器所执行的热拷贝处理的流程图;
图21是表示在热拷贝处理期间对写入请求的处理的流程图;
图22是表示在热拷贝处理期间对读出请求的处理的流程图。
图1表示包括提供存储域管理的智能存储区网络(ISAN)服务器1200的网络。存储区网络(SAN)可被用于对客户计算机提供数据存储服务。存储区网络被优化来对客户计算机如文件服务器、网服务器和终端用户计算机提供高的带宽和高的吞吐量存储。根据本发明的在优选实施例中的存储服务器1200提供底盘上(on-chassis)存储、存储事务高速缓冲存储服务、存储路由选择和虚拟装置管理。
网络中的存储服务器1200具有分别耦合于客户服务器1201,1202和1203的客户接口1210,1211,1212。存储接口1213和1214经通信信道被耦合于存储装置1205,1206,1207,其在与存储服务器1200中的任何存储器结合时都对存储服务器1200中管理的存储域提供物理存储器。该例中的通信信道1213经网络集线器(hub)1204被连接于装置1205和1206。在操作中,客户接口根据客户服务器通过载有足以用于存储域识别的包括例如一个或多个启动器的标识符、如LUN序号的逻辑范围和目标装置的标识符的参数的命令来请求存储事务的协议来操作。存储服务器1200把请求的事务映射到虚拟装置,其依次分配物理存储器以用于来自物理存储装置中的事务。存储服务器1200还包括仿真请求中识别的目标物理装置的源。存储服务器1200能够应用本地配置数据指导存储事务并简化对客户服务器的存储的管理。
为提供最高的吞吐量,存储服务器1200通过高速网络媒体如光纤信道或干兆位以太网被耦合于客户服务器1201-1203。客户服务器1201-1203在典型的配置中被网络链路耦合于终端用户计算机。
图1表示经通信链路109耦合于服务器1200的管理接口108。站108和服务器1200中接口服务的通信链路在各个实施例中由例如以太网链路、耦合于串口的串口电缆或内部总线接口构成。
服务器1201-1203与存储装置1205-1207之间的通信经光纤信道判优环路网络穿过作为中间装置的存储服务器1200。在FC-AL上的信道可应用与标准小型计算机系统接口版3(SCSI-3)一致的协议来完成,优选利用也称为光纤信道协议(FCP)的光纤信道媒体(例如SCSI B X3T10和FCP X3.269-199X)完成。在其它实施例中,如网际协议的协议经载有各种协议形式的存储事务的光纤信道结构被使用。在一些实施例中,存储服务器1200支持对数据存储事务的多个协议。
图1A表示对智能存储区网络(ISAN)服务器的各种应用。存储区网络(SAN)可被用于对客户计算机提供数据存储服务。存储区网络被优化来对如文件服务器或网络服务器的客户计算机提供高的带宽和高的吞吐量存储。ISAN服务器提供除数据存储和恢复之外的附加功能,如存储路由选择和虚拟装置管理。
图1A包括服务器100A-D、ISAN服务器102A-F、薄服务器104A-C和存储器阵列106。服务器100A-D可以是UNIX服务器、WindowsTMNT服务器、NetWareTM服务器或一些其它类型的文件服务器。
服务器100A-D被网络链路耦合于客户计算机。ISAN服务器102A被网络链路耦合于服务器100A。ISAN服务器102A通过执行请求的存储事务对服务器100A提供数据存储服务。ISAN服务器102A被服务器100A象存储装置一样对待。ISAN服务器102A能够容纳比典型的硬盘驱动器或硬盘阵列更多的存储。ISAN服务器102A可被用作存储器路由选择器并用来在耦合于ISAN服务器102A的数据存储器中提供智能路由选择。
ISAN服务器102A还提供比典型的硬盘驱动器或硬盘阵列更高的带宽和更高的吞吐量处理的存储事务。因此,ISAN服务器102A可处理多媒体数据流和其它大容量数据流产生的要求容量。
为提供最高的吞吐量,ISAN服务器102A通过如光纤信道的高速网络媒体被耦合于服务器100A。服务器100B-D被网络链路耦合于客户计算机。服务器100B-D被光纤信道结构耦合于存储区网络。存储区网络包括ISAN服务器102B-D和存储器阵列106。服务器100B-D和ISAN服务器102B-D支持用于光纤信道判优环路(FC-AL)的驱动器。
服务器100B-D与存储装置之间的在FC-AL上的通信可应用与标准小型计算机系统接口版3(SCSI-3)一致的协议来完成,优选利用也称为光纤信道协议(FCP)的光纤信道媒体(例如SCSI B X3T10和FCP X3.269-199X)完成。换言之,如网际协议的协议经载有各种协议形式的存储事务的光纤信道结构108被使用。在一些实施例中,ISAN服务器102A支持多个协议。
薄服务器104A-C被网络链路耦合于客户,但不使用存储区网络来提供数据存储器。
ISAN服务器102E-F被网络链路直接耦合于客户。这里没有中间文件服务器。ISAN服务器102E-F可提供能提供诸如文件服务器、网服务器和其它类型处理的功能的应用程序特定处理器(ASPs)。
图2表示存储区网络的另一实施例。在图2中,包括如上所述的存储指示器逻辑电路和高速缓冲存储器的服务器1250被耦合于各种不同平台上的客户服务器,包括Hewlett-Packard服务器1255、Sun服务器1256和SGI服务器1257,每一个对存储事务的管理执行不同的协议。构成用作存储域的物理源的多个物理存储装置也被耦合于服务器1250并根据这里上述的虚拟装置体系由存储指示器管理。这一示例中的该多个物理存储装置包括在Hewlett-Packard平台1251、Sun平台1252和EMC平台1253上的存储器。从而包括存储指示器逻辑电路的服务器允许生成共享的存储器池,其支持传统服务器和在异机种环境中的存储器。在多个存储装置和服务器中的不兼容性可应用虚拟装置体系按需要被屏蔽或仿真。真正的存储区网络环境可被执行并且所有主机、结构和存储器交互操作性问题可在存储服务器级被管理。
应用虚拟装置体系的存储指示器逻辑电路应用存储域配置对客户服务器配置访问存储器提供单一的智能配合点。在增加新的装置或改变现有装置的管理时不必要进行或很少进行硬件再配置。存储服务器的配置通过允许自动维持物理存储器中数据组向服务器的映射来提供准确的配置信息和控制。维持物理存储的准确的映射大大简化存储区网络的管理。而且,在服务器的存储指示器在装置保持在线时提供数据从旧的存储装置到新的存储装置的有效迁移。另外,存储对象在尺寸上不再受到在阵列中生成的最大对象的尺寸的限制。多个阵列可与在客户服务器上运行的主机操作系统无关地被结合为单一存储对象。存储指示器也可管理备份和测试操作如对非易失性存储器缓存中的数据进行抽点(snapshot),并且可通过例如不用经客户服务器被路由选择的而从磁盘向磁带拷贝数据而管理数据备份。而且,本地高速缓冲存储可被用于从已经失去冗余度的阵列中迁移数据并可用来在阵列正被修理或重建时修补冗余度存储器并维持数据的完全有效性。对于具有可存取公用数据组的多个服务器的应用程序,锁定逻辑电路可以以使用虚拟装置体系而提供简单的可量测的方案的方式被放置在存储服务器中。
存储服务器中的存储指示器逻辑电路操作来加强来自服务器和存储器的高速缓冲存储请求以降低存储区网络需要的高速缓冲存储的总量。该系统能够分配比作为内部存储器能有效提供的更多的高速缓冲存储器给客户服务器或存储系统。另外,高速缓冲存储可如应用该系统对应用程序所定义的那样来被动态或静态地分配。
图3表示根据本发明的应用多个互连存储服务器的存储区网络的更粗放的示例。包括存储服务器1300,1301和1302并且其应用例如高速协议如光纤信道、千兆位以太网或异步传输模式(ATM)通过通信信道1350,1351而被互连。在优选实施例中各个存储服务器包括存储指示器逻辑电路和非易失性高速缓冲存储器。存储服务器1300,1301和1302在这一示例中被耦合于多个客户服务器1310到1318。客户服务器1313和1314经网络集线器1320被连接于存储服务器1301。同样,客户服务器1316到1318经网络集线器1321而被连接于存储服务器1302。客户服务器1310-1318应用存储信道协议如上面具体描述的FCP与存储服务器通信。根据这些协议,请求存储事务,承载请求的启动器的标识符、逻辑单元序号(LUN)和目标存储装置的标识符。这些参数被存储指示器逻辑电路应用来把存储事务映射到存储域内的虚拟装置。服务器还包括源以仿真目标存储装置从而客户服务器可顺利地与存储区网络中的该多个存储装置结合。
在图3中,有图示的耦合于存储服务器1300-1302的多个存储装置1330到1339。在图中,各种符号被用来代表存储装置并表示网络是异机种的并且能够利用在服务器1301到1302处被虚拟装置接口管理的各种样式的装置。而且通信信道是可变化的。从而网络集线器1340,1341和1342被包括在网络中以促进存储装置与存储服务器之间的各种不同的通信协议。
智能存储区网络服务器
图4是一个优选实施例中的存储服务器的框图,其包括根据本发明的存储系统管理源。
存储服务器102具有包括适合于用户的并用于其它数据处理功能的一组通信接口的连接选项130和包括适合于存储装置的一组通信接口的存储选项128。存储服务器102具有一个硬件接口126、一个操作系统124、一个块存储接口118、一个管理接口120和一个协议接口122。连接选项130包括串接140、支持一个实施例中的配置管理例性程序的前面板连接142、支持与远程管理站通信的以太网连接144和网络接口146。存储选项128包括驱动器阵列132、固态驱动器(SSD)134、SCSI接口136和网络接口138。SCSI接口136被耦合于DVD/CD-R 148。网络接口138被耦合于存储服务器102G和/或存储器150。
连接选项130是服务器和客户与存储服务器102的各种连接方法。串接140支持网络管理、用于远程管理的调制解调器和不中断的供电信息。前面板连接142支持与存储服务器102的前面板显示屏的管理连接。以太网连接144支持对管理协议的以太网接口并可能用于数据传送。网络接口146是服务器上潜在的许多高速接口之一。在一些实施例中,网络接口146是与用于光纤信道判优环路(FC-AL)的驱动器之间的光纤信道接口。网络接口146也可以包括应用光纤信道协议(FCP)经光纤信道媒体用于SCSI-3的驱动器。
硬件接口126提供接口特定硬件组件。例如网络接口146具有网络接口特定组软件模块来支持配置、诊断、性能监测以及运行正常(health)与状态监测。
操作系统124、表格116和接口118-122支持存储服务器102的虚拟装置和存储路由选择功能。存储服务器102的这些组件在适当的存储选项128和连接选项130中使用系统中配置的多组驱动器模块路由存储事务。
除故障无碍手段外,操作系统124提供信息路由和传输手段。操作系统124的这些信息路由和传输手段被用于在存储服务器102的组件之间路由信息,包括存储事务。这些信息包括在虚拟电路的组件之间的内部格式的信息。这些信息也可包括其它格式的控制信息。
块存储接口118提供软件模块以支持块数据传送。接口118包括支持带区数据存储器、镜像数据存储器、分区的数据存储器、存储器高速缓冲存储器和RAID存储器。支持的不同存储类型可被链接来形成各种组合,如用存储器高速缓冲存储与镜像数据存储器组合。
协议接口122提供软件模块用于编译和响应于各种协议的请求。一组模块被提供给以太连接层:硬件驱动器、数据链路驱动器、网际协议(IP)驱动器、传输控制协议(TCP)驱动器、用户数据报协议(UDP)驱动器和其它驱动器。另一组模块对FCP提供驱动器。
管理接口120提供软件模块来管理存储服务器102。管理接口120包含用于管理对表116的访问的接口。管理接口120还包含用于系统的基于规则的管理的接口,包括程序安排或处理编排、监测系统、通知的允诺(consent)管理和处理系统过程与事件。通知的允诺管理模块是以对配置和维持存储服务器102来提供基于规则的管理建议为前提的。
处理存储事务
存储事务经一个通信选项130被接收到。存储事务包括读出和写入请求和状态询问。该请求也可以是面向块的。
典型的读出存储事务由读出命令和寻址信息构成。写入存储事务类似于读出存储事务,不同的是该请求中还包括关于要被发送的数据量的信息并且后面跟着要被写入的数据。更具体地,应用SCSI-3协议,各个装置具有标识符(ID)。发出请求的机器被称为启动器,响应请求的机器被称为目标。在这一示例中,服务器100A是启动器并具有ID 7。在这一示例中,存储服务器102是目标并具有ID 6。SCSI-3协议对两个或多个寻址组件提供逻辑单元序号(LUN)和地址。
LUP指定目标ID的子分量。例如,在组合的硬盘/磁带驱动器壳体中,两个装置可共享一个ID,但具有不同的LUNs。第三个寻址分量是装置数据要被读出或存入的地址。存储服务器102A在每一启动器基础上提供虚拟LUNs。从而,单一存储服务器102A可支持例如1万个虚拟LUNs或更多。
存储服务器102A把SCSI-3存储事务请求映射到相应于虚拟LUN的虚拟电路。虚拟电路是一个或多个虚拟装置组成的一系列。虚拟装置由一个或多个装置如软件模块或硬件组件构成。例如,两个网络接口装置可被合并成一个虚拟装置。类似地,两个高速缓冲存储装置可被合并为一个虚拟装置。这种设计允许在不干扰存储服务器102的存储事务处理性能的条件下允许组件失效。
虚拟电路包括必要的虚拟装置来支持存储事务。一般虚拟电路中的第一组件是用于把存储事务从存储事务通信信道格式编译成内部格式的驱动器,在这个示例中存储事务通信信道格式是FCP格式。一个这种内部格式可类似于智能输入和输出(I2O)块存储体系(BSA)信息格式。内部格式是优选系统中的存储媒体和通信信道中枢。
虚拟电路的中间虚拟装置提供附加的服务如高速缓冲存储、镜像、RAID等。由于内部格式是存储媒体中枢(neutral),所有的中间虚拟装置可被设计来在内部格式上操作并且从而与电路中的其它虚拟装置互相合作。
虚拟电路中的最后的虚拟装置一般是用于控制存储的格式编译和通信信道驱动器。例如,驱动器阵列132由分组来形成虚拟装置的冗余硬件驱动器模块(HDMs)控制。HDMs给SCSI编译提供BSA并且HDM处理与组成驱动器阵列132的驱动器的接口。类似地,如果虚拟电路是经网络接口138的与一些其它类型存储器连接的链路,这里将有一个虚拟装置,其支持BSA编译成存储装置通信信道协议。
在操作系统中以及在与仿真物理存储装置的客户服务器的接口处存储服务器还包括源。仿真允许虚拟装置呈现给访问存储器的客户服务器,好像它们是实际的装置。从而客户服务器可被配置来应用标准协议如FCP对存储事务应用SCSI命令来进行通信。在应用SCSI命令的实施例中,仿真包括根据SCSI协议用启动服务器所希望的并与其兼容的装置识别符和装置性能信息来响应于询问命令。而且,SCSI协议中读出容量命令和模式页码数据命令由仿真源以允许应用存储器的客户服务器对物理存储装置依赖于标准配置的信息方式来处理,而存储服务器通过在与客户服务器的接口处仿真物理存储装置来伪装客户服务器,并把实际存储事务映射到虚拟装置。仿真源还允许虚拟装置通过启动器、逻辑单元序号(LUN)和目标装置识别符的组合而被识别,不需要存储事务被束紧于请求中识别出的特定的物理目标装置。
图5是表示象图4所图示的那样的用作在存储域管理中使用的存储管理系统151的服务器的功能组件的框图。系统151包括存储管理器操作系统152。用该存储管理器操作系统152,功能组件包括包括存储域路由选择源153、传统装置仿真源154、数据迁移源155和冗余度、热交换(hot swap)和失效交权(failover)源156。该存储管理器操作系统协调底盘上的高速缓冲存储器157、管理接口158、在这一实施例中的底盘上的存储阵列159这些源中的通信。
为了存储事务的安全支持,在本发明的一个实施例中高速缓冲存储器157包括固态非易失性存储器阵列。在另一个实施例中,高速缓冲存储器157包括用于附加的容错的冗余阵列。
在系统151上提供多个通信接口160-165。在这一示例中,接口160适合于在客户与存储管理系统151之间执行协议X;接口161适合于在客户与存储管理系统151之间执行协议Y;接口162适合于在存储装置与存储管理系统151之间执行协议Z;接口163适合于在存储装置与存储管理系统151之间执行协议A;接口164适合于在存储装置与存储管理系统151之间执行协议B;并且接口165适合于在存储管理器系统151与网络上另一个存储管理系统之间执行协议C。
在图示的示例中,协议X-Z和协议A-C由存储管理系统151支持。这些协议可是多种不同协议,单一协议的变体或与适合于其中应用该系统的特定存储区网络的协议完全相同的协议。
存储事务从各个通信媒体横过接口160-165到存储管理系统151的内部源。在优选系统中,存储事务被编译为系统内部的用于在各种接口中路由选择的公用通信格式,而与这些接口执行的协议无关。存储域路由源153利用对特定客户装置和存储装置配置的虚拟电路映射存储域内的事务。在新的设备被增加到和移开网络时传统仿真源154和数据迁移源155允许存储域在存储管理系统151处被再配置。例如,新的存储装置可被增加到网络,并且现有存储装置的数据组可被迁移到新的存储装置,并且应用数据组的来自客户的存储事务可被表现为好象在迁移期间或通过提供目标仿真完成迁移后它们仍保留在现有存储装置上一样。冗余度、热交换和失效交权源156保证容错并支持用于高吞吐量数据存储网络的存储管理系统151的连续操作。
硬件体系概述
图6是智能存储区网络(存储器)服务器的适当的硬件体系的框图。硬件体系执行冗余度并支持分布式软件系统来防止任何一个失效单点干扰特定的存储事务。
图6包括存储服务器102A。存储服务器被设计来在利用标准组件和标准基装置时提供高度冗余度。例如,存储服务器102A应用高速版本的标准周边元件扩展接口(PCI)设备和标准光纤信道判优环路(FC-AL)接口。各种其它协议和接口可被用于其它实施例。
存储服务器102A具有4个分离的64位66MHz PCI总线200A-D。在PCI总线的插槽中可能有存储装置和网络接口的许多不同配置。在一个实施例中,PCI总线被分组两组:SSD PCI总线200A-B和接口PCI总线200C-D。各组具有由术语上部和下部指定的两个总线。各组中上部和下部总线可被配置来提供冗余服务。例如,下部SSD PCI总线200B具有与上部SSD PCI总线200A相同的配置。
PCI总线200A-D被连接于主机桥路控制器(HBC)模块202A-B。HBC模块202A-B跨过PCI总线200A-D并提供冗余桥接路径。
SSD PCI总线200A-B支持固态驱动器(SSD)模块204A-G。SSD模块204A-G提供固态存储装置,如闪速存储器。
接口PCI总线提供从网络接口控制器(NIC)模块206A-B、单独磁盘组冗余阵列(RAID)控制器(RAC)模块212A-B与应用程序特定处理(ASP)模块208A-D与HBC模块202A-B的互连。
除把存储服务器102A耦合于外部FC-AL外,NICs206A-B可被耦合于光纤信道网络集线器(FCH)模块214A-D。各个FCH模块214A-D被耦合于NIC模块206A-B。各个FCH模块214A-D提供10个FC-AL端口,并经NIC模块206A-B级联来提供20个站FC-AL网络集线器。
盘驱动器网络集线器(DDH)模块216A-D提供冗余FC-AL结构来把盘驱动器连接于RAC模块212A-B。各个DDH模块216A-D中的FC-AL结构包括两个冗余环路,其用两个HRAC模块212A-B耦合附接于DDH模块的所有驱动器。RAC模块管理所有DDH模块216A-D中的环路。DDH模块216A-D各个都支持5个双端口的盘驱动器,如盘驱动器218。
系统中平面(SMP)在图6中未描述。SMP是提供图6所示的在HBC模块202A-B、SSD模块204A-H、RAC模块212A-B、NIC模块206A-B、FCH模块214A-D、DDH模块216A-D和ASP模块208A-D之间的互连的无源中平面。SMP是以致密PCI为基础的,带有4个常规致密PCI总线200A-D、RAC-DDH互连和NIC-FCH互连以及包括中平面信号的各种控制总线。另外,SMP从图6未示出的功率子系统以48V、12V、5V和3.3V电压给模块提供配电。
前面板显示屏(FPD)220对存储服务器102A提供用户接口。FPD包含显示装置和输入装置。在一个实施例中,触摸感应液晶显示屏(LCD)被用来提供带有输入性能的触摸感应屏。FPD 220被耦合于HBC模块202A-B以支持状态显示、配置显示和管理及其它管理功能。
在图6中未描述的功率和风扇子系统提供冗余AC变DC电源、提供冗余DC变DC功率转换、并提供用于断电的备份电池和冗余推拉风扇子系统。这些组件支持高利用率和降低时间特征,这些在配置存储区网络时是重要的。
存储服务器102A可被耦合于其它存储服务器以作为存储区网络中的单一网络端口或作为网络附接存储装置而出现。这种耦合可经耦合于各个HBC模块202A-B的FC-AL扩展端口做到。另外,HBC模块202A-B提供RS232串口和10/100以太网端口用于频带外管理。
总线系统包括存储服务器102A中所有总线。在这个示例中,总线系统包括通过主机桥路控制器互连的4个PCI总线。总线系统还包括提供附加接口的HBC模块内部的PCI总线。插槽包括接收接口的总线系统上的所有位置。在这个示例中,HBC模块外部的4个PCI总线的每一个可容纳4个接口。
该接口是被放置在插槽中的插件或其它装置。接口支持驱动器和硬件以用于耦合于接口的数据存储器。
冗余度和失效交权(failover)
存储服务器102A提供高程度的冗余度。在一个实施例中,有冗余度NIC、RAC和HBC模块。SSD模块和驱动器支持镜像。驱动器还支持奇偶校验和双信道访问。各个DDH模块包含完全冗余的FC-AL结构,用于与RAC模块连接。失效交权由HBC模块处理,其控制存储服务器中其它模块。控制是多层的。
HBC模块的第一层控制是电源控制。各个模块具有由模块上的CMB控制器控制的独立的电源启动信号。尽管HBC模块是冗余的,仅一个HBC模块将用作主要的HBC模块并指导和控制系统。其它的HBC模块用作从属的。当模块被插入插槽中时,它的电源开始失效。仅主HBC模块可启动电源。如果模块开始不正确地执行并不响应于命令,HBC模块可不向该模块供电。
用于HBC模块的第二层控制是插件管理总线(CMB)。各个模块具有耦合于CMB的Atmel AT90S8515(AVR)微处理器。HBC模块自身具有耦合于用作主要或从属的CMB的AVR微控制器。通过与中平面的连接来给CMB微控制器供电而与向模块上主处理器的供电无关。CMB允许主HBC读出插件类型,确定是否有插件,发送不可屏蔽的中断给插件或执行插件的硬复位。模块处理器和主HBC模块还可经模块上的AVR微控制器上的串口执行通信。这个通信路径可被用作备份,用于控制PCI失效事件中的通信。
用于HBC模块的第三级控制是PCI总线。如果应用PCI总线上的控制处理模块不产生响应,它可经CMB被询问。如果模块还不响应,不可屏蔽的中断可经CMB被设置。如果模块还不响应,经CMB将其复位。如果复位后,模块还不响应,它可被断电并且发出警告以替代模块。
HBC模块冗余度
HBC模块冗余度和失效交权支持系统冗余度。尽管HBC模块202A-B都可马上成为有源的,仅一个被HOST_SEL信号指定为主HBC模块。主HBC模块对所有PCI总线提供PCI总线判优,控制对其它模块的所有电源启动,并在CMB装置上被识别为主HBC模块。备份HBC模块的PCI总线判优信号和电源启动被HOST_SEL信号失效。CMB在各个插件的从属CMB或FCB装置处被HOST_SEL信号切换。HOST_SEL信号在系统中平面(SMP)上被电阻器下拉,引起HBC模块202A被默认为主HBC模块。HBC模块202B可驱动HOST_SEL信号使其自身成为主HBC模块,但一般这将仅在如果HBC模块202A不存在时在开动处或在失效交权期间发生。
为降低错误机率,EVC驱动HOST_SEL信号并请求写入到特定模式的两个独立的存储器位置。这可防止不正常工作的HBC模块使其自身成为主HBC模块。两个HBC模块的电源启动信号在SMP启动电源上被下拉到开动处的两个插件。HBC模块202A控制HBC模块202B的电源启动。类似地,HBC模块202B完全控制HBC模块202A的电源启动。再次为降低错误机率,驱动HBC模块的电源启动信号需要写入到特定模式的两个独立的存储器位置。
PCI桥路不支持双主机。通过特定配置PCI桥路,两个HBC模块被配置在系统PCI总线上。两个HBC模块上的PCI桥路被配置来使得一个HBC控制的地址空间被考虑映射为对其它HBC模块的PCI桥路上的所有系统PCI总线而言是本地的存储器空间。如果一个HBC模块试图读出或写入其它的PCI地址空间将导致错误。由于对系统PCI总线,4个桥路都将确认引起严重错误的事务,所以导致错误。因此,一个HBC模块不应试图经系统总线访问其它的HBC模块。
尽管HBC模块不应经PCI总线通信,HBC模块确实具有两个独立的通信路径:一个专用串口和CMB。专用串口是用于通信的基本路径以允许信息传送而在其它HBC模块上提供判断正确的检查。如果串口失效,CMB可被用作备用的来确定哪个HBC模块失效。
HBC模块启动序列
由于在系统被通电时两个HBC模块被EVC供电,因此它们需要确定在供电时是否有另一个HBC模块出现。这是经CMB进行的。如果有,HCB模块202A将被默认为主HCB模块。如果在通电时HCB模块202A确定没有HCB模块202B出现,可使HCB模块202B插件槽断电。这允许在主HBC模块控制下增加第二HBC模块并对其供电。如果HCB模块202A确定HCB模块202B存在,应建立经串口的通信。如果在电时HCB模块202B确定没有HCB模块202A出现,应通过设置HOST_SEL信号并对HCB模块202A插件槽断电而使其自身成为主HBC模块。如果HCB模块202 B确定有HCB模块202A存在,应等待HBCO以建立经串口的通信。如果在一定时间后通信还没有被建立,HCB模块202B将开始失效交权序列。
HBC模块失效交权序列
HBC模块应在特定间隔经串口彼此通信。如果备份HBC失去与主HBC的串行通信,它应经它的CMB试图建立与主HBC模块的通信。如果通信可经CMB建立并且两个主机都是清楚的,那么是串行通信链坏了。两个插件应执行诊断以确定故障所处的位置。如果故障在备份HBC模块上或不能被隔开,应触发警报。如果故障被放置在主HBC模块上或CMB通信不能被建立,备份HBC模块将使主HBC模块断电并使其自身成为主HBC模块。
软件体系概述
存储服务器由设计来支持唯一的高带宽、到吞吐量并需要存储服务器的操作系统支持。操作系统经总线系统调度和控制数据传送并管理该系统。尽管若干不同的操作系统和软件组件结构都是可能的,在一个实施例中,使用对存储服务器设计的高模块化操作系统。
图7是用于存储服务器的操作系统和支持程序的软件模块的框图。
图7包括下面的操作系统组件:硬件接口模块900、来自阿拉巴马州的Mobile的加速技术公司(Accelerated Technologies,Inc.,Mobil,Alabama)的可利用的Nucleus PLUSTM实时核心模块902、ISOS协议管理模块904和存储服务模块906。硬件接口模块900允许存储服务器的软件组件与存储服务器的硬件组件通信。
Nucleus PLUSTM实时核心模块902被用来提供基本操作系统的功能如:任务、队列、信号量、计时器和关键部分的支持。Nucleus PLUSTM实时核心模块902被输出到存储服务器的软件模块作为存储服务模块906的C++分类中的功能块。
ISOS模块904允许存储服务器支持用于输入和输出的通信体系。硬件模块如RAID控制器(RAC)模块、网络接口控制器(NIC)模块、固态驱动器(SSD)模块、盘片驱动器网络集线器(DDH)模块和光纤信道网络集线器(FCH)模块都是输入/输出处理器(IOPs)。主要主机桥路处理器(HBC)模块用作主机。
存储服务器模块906实施通信分类以支持组件之间的信息的可靠的传输。存储服务器模块906支持装置驱动器模块的操作并支持虚拟装置。装置驱动器模块(DDMs)和虚拟装置(VDs)是存储服务器存储系统的构件。存储服务器模块906围绕提供对存储事务的请求的支持来进行组织。
在一些应用中,单一存储服务器如存储服务器102A将具有联系操作系统模块900-906而操作的几百个DDMs,以支持对存储服务器请求的响应。其它应用使用各种组合的几个DDMs。
软件组件被用作装置驱动器模块(DDMs)实施。对硬件装置的请求提供主要服务的DDM称为硬件驱动器模块(HDM)。用作内部中间程序的DDM称为中间服务模块(ISM)。例如,服务SSD模块的DDM称为HDMs。提供高速缓冲存储服务、镜像服务和其它类型与硬件装置不直接链接的服务的DDM称为ISMs。
单一DDM可在单一存储服务器上具有多个例示。例如,在图7中,有4个性能、正常运行(health)健康和状态PHS监测器908A-D的示例,每一个都用于4个主要软件子系统的每一个,这4个软件子系统是NIC910、RAC920、HBC930和SSD940。各个DDM具有它自己的信息队列和唯一的标识符。例如,NIC910上的PHS监测器908A可以是装置ID(DID)0。各个DDM也列出由DDM处理的存储请求的分类并且操作系统模块基于存储请求的分类路由该请求到DDM。请求可经请求代码或虚拟装置序号来路由。
NIC软件系统910包括3个DDMs:处理器支持HDM 912A、输入/输出编译ISM 914A和PHS监测器908A。RAC软件子系统920包括3个DDMs:处理器支持HDM 912B、输入/输出编译ISM 914B和PHS监测器908B。HBC软件子系统930包括:处理器支持HDM 912C、输入/输出编译ISM 914C和插件管理HDM 916、系统监测器DDM 918、网际协议DDM 921、前面板显示屏DDM 922、应用程序特定处理器支持DDM 924和PHS监测器908C。SSD软件子系统926包括固态驱动器管理HDM 926和PHS监测器908D。前面板显示屏950支持超文本链接标注语言(HTML)客户928。
根据本发明的优选体系,图8-10表示各种硬件驱动器模块(HDMs),图11-14表示各种内部、中间服务模块(ISMs)。图15提供已经被配置成用作虚拟电路的数据路径的一组驱动器模块的简化示图。
图8表示具有HDM 524的网络接口插件520。插件520具有与光纤信道网络的物理接口521。网络接口片522在这个示例中是如由加利福尼亚州的Costa Mesa的Qlogic公司提供的ISP 2200A的Qlogic装置,其被耦合与物理接口521。网络接口片522产生以线路523表示的通信,其在HDM524中处理。HDM 504调节通信以由系统中的其它驱动器模块使用。从而,以线路525代表的通信具有SCSI格式。以线路526代表的通信具有信息格式如BSA格式。以线路527代表的通信具有网际协议(IP)格式。HDM是在图中标出“Qlogic driver”的驱动器类别的示例并且在这个示例中给出装置标识符DID 401。物理接口被标识为NIC#1。
图9表示由非易失性集成电路存储器装置阵列实施的存储装置720。HDM 722与阵列721耦合,并且把线路723上的块存储体系通信编译为用于从阵列721存储和恢复的格式。在这个示例中,HDM 722被给出装置标识符1130。物理接口被标识为SSD#4。
图10表示被安装在图6所示的优选实施例中的光纤信道判优环路体系中的存储服务器底盘上的盘驱动器的阵列820的配置。也图示在图6中的光纤信道盘网络集线器#0 216A、信道盘网络集线器#1216B、光纤信道盘网络集线器#2 216C和光纤信道盘网络集线器#3216D被耦合于冗余网络集线器控制HDMs 821和822。
HDMs 821和822分别用物理光纤信道判优环路连接823和824连接。HDM 821被给出装置标识符1612,HDM822被给出装置标识符1613。连接线路823耦合于光纤信道接口825。接口825包括用物理接口840并被耦合于HDM 827的网络接口片826。ISM 828被耦合于HDM 827及内部通信路径829。ISM 808把线路829上的块存储体系通信编译成用于HDM 827的IOCB通信。HDM 827与网络接口片826通信,而该接口片驱动光纤信道823。ISM 828被给出装置标识符1210,HDM 827被给出装置标识符1110。物理接口825被标为RAC#0。
光纤信道连接824被耦合于接口830。接口830具有象接口825一样的配置。从而接口830包括由网络接口片832驱动的物理光纤信道接口831。网络接口片832在以线路823代表的信道上与HDM 834通信。HDM 834与ISM 835经信道816通信。ISM 835管理对信道837上BSA格式信息的接口。在这个示例中,ISM 835被给出装置标识符1211,HDM 834被给出装置标识符1111。接口830别标为RAC#1。
图11-14表示根据本发明的可被配置成数据路径的各种ISM示例。
图11表示作为根据本发明的协议服务器模块的一个示例的SCSI目标服务器550。类似的协议服务器模块可对任何特定存储信道或经本发明的存储服务器被管理的数据的用户所实施的网络协议来实施。目标服务器550具有接收来自耦合于适用于与用户连接的通信接口的HDM如图8中的HDM的到来的信息的信息接口551。在这个示例中,接口551上的信息具有SCSI格式。在其它的示例中,信息可已经具有BSA体系,或适合于正被使用的通信接口上的协议的一些其它体系。服务器550包括把到来的信息编译到SCSI to BSA编译器553或到应答本地功能554的转换功能550。信息一般作为外向信息由编译器553在线路555上转送。线路555上到来的信息被提供给编译器556,其把到来的BSA信息编译成线路551上使用的SCSI格式。
在许多情况中,SCSI目标装置可应用本地应答服务554响应于SCSI信息而不进一步路由选择信息。与从存储器自身读出和写入无关的许多状态信息可被本地应答服务554处理。
这个示例中的目标服务器550是一类SCSI目标服务器的示例,并被给出装置标识符500。协议服务器如SCSI目标服务器550的一种功能是识别作为相关接口上存储事务主题的存储范围。存储范围(extent)应用存储服务器中的可配置的逻辑电路被映射到虚拟电路,这一点将在下面具体描述。
图12表示执行镜像管理数据路径任务的ISM 650。ISM 650包括被连接于装置上内部通信信道的接口651。逻辑处理652接收到来的通信和数据并管理镜像功能。逻辑电路652与包括初级驱动器653、次级驱动器654、三级驱动器655和备用驱动器656的多个驱动器接口通信。尽管在图中示出了3路镜像,可应用虚拟电路对“n路”镜像实施任何数目的镜像路径。尽管使用术语“驱动器接口”,其它类型的存储装置可被用于镜像功能。驱动器接口653-656应用内部通信信道与用在镜像功能中的目标存储装置相关的HDM模块进行通信,或与适合于特定虚拟电路的其它ISM模块进行通信。在这个例子中,镜像ISM 650作为一类“镜像”的示例来实施并被给出装置标识符10200。
图13表示分区ISM 750。分区ISM 750包括从其它驱动器模块接收内部通信的接口751和也与其它驱动器模块通信的接口752。ISM750包括逻辑处理753、用于存储基地址754和极限地址755的数据结构以及驱动器接口756。分区逻辑处理753应用对各种存储管理技术有用的逻辑分区功能配置驱动器处理756识别的主体存储装置,从而物理装置表现为虚拟电路中的1个以上的逻辑装置。在这个例子中,分区ISM 750是一类“分区”的示例,并被给出装置标识符10400。
图14表示高速缓冲存储ISM 850。高速缓冲存储ISM 850包括用接口851与存储服务器上的内部信息传递结构进行通信的逻辑处理853。高速缓冲存储ISM 850中的数据结构包括本地高速缓冲存储器分配854、识别存储在高速缓冲存储854中的数据的高速缓冲存储表855和驱动接口856。驱动接口在信道857上与高速缓冲存储服务的特定虚拟电路相关的HDM通信。在一个实施例中的高速缓冲存储器854在存储服务器中局部管理。在另一个实施例中,高速缓冲存储可以被存储在高速非易失性存储器中,如具有象相对于图9所述的体系的固态存储器模块。在优选实施例中,高速缓冲存储ISM 850作为一类“高速缓冲存储”的示例来实施,并被给出装置标识符10300。
图15提供根据本发明的包括多个驱动器模块的数据路径实施的冗余虚拟电路的助解视图。虚拟电路包括用于与数据用户进行通信的外部接口、用于把与用户的通信编译成驱动器模块的通信格式的协议编译器和包括与存储装置的通信接口的存储对象。执行数据路径任务的存储操作符存在于编译器和存储对象之间。用作存储操作符如高速缓冲存储、镜像、分区等的驱动器模块的最佳的排序应用存储服务器提供的可配置的逻辑电路由系统设计器进行。
在图15的示例中,外部接口由NIC#0提供并且它的相关的HDM以块1010代表。协议编译器由SCSI目标服务器ISM 1011提供。高速缓冲存储功能由ISM 1012提供。镜像功能由ISM 1013提供。存储对象从镜像功能1013被访问,并且存储对象包括在该示例中从光纤信道的菊花链接口选择的及其相关的HDM以块1014代表的一组物理存储接口或外部LUN接口、经ISM/HDM对而被访问的光纤信道判优环路中的盘驱动器以块1015和冗余块1016表示,固态存储装置且其相关的HDM以块1017表示、对外部盘驱动器的接口且其相关的ISM/HDM对以块1018表示。将光纤信道接口上的HDM模块分为盘(01)、(02)、(03)和(04),管理经光纤信道判优环路与接口1015和1016的通信。
在所示的实施例中,镜像模块1013分别访问作为初级、次级和备用驱动器的盘片(01)、(02)和(04)以用于镜像功能。尽管图12示出的镜像模块包括三级驱动器接口,该三级驱动器在示例的系统中未使用。
在图中还示出分区ISM模块1020和1021,其不与示出的虚拟电路的数据路径连接。给出这些块来图示应用虚拟电路结构,象分区的新的模块可通过简单的配置存储服务器而被增加到路径中。
冗余数据路径的实现应用了接口NIC#1且它的相关的HDM以块1025表示的、以块1026表示的SCSI目标服务器ISM、以块1027表示的高速缓冲存储ISM和以块1028表示的镜像ISM。数据存储装置中的冗余度应用镜像功能来完成。冗余驱动器模块在优选实施例中被分布在存储服务器内的独立的IOPs上。
如图15所示,驱动器模块的每一个包括唯一的驱动器标识符,其被表示于图15的块中的括号内。唯一的装置标识符被用于基于由存储服务器管理的配置数据库中的表格支持配置逻辑电路,并由存储服务器中局部可配置的逻辑电路控制。
在优选的实施例中,配置表由持久性表驱动器管理,如在图16和17中所示的那样。返回参考图4,存储服务器102在如表116的表中存储管理和路由选择信息。表116可经管理接口120被访问。表116将一般被存储在持久性存储器如非易失性存储器中。表116可被冗余地维持来提供失效安全支持。
图16表示被作为一类“持久性表”的示例来实施的持久性表模块1400,跟随驱动器模块结构的基本体系。持久性表模块1400包括表访问逻辑处理器1401、和各种支持功能,包括表数据访问管理器1402、持久性图象管理器1403和持久性表例示同步化模块1404。表数据访问管理器1402在这个示例中与表类别管理器1405耦合。表类别管理器管理多个配置表,包括光纤信道端口ID表1406、LUN输出表1407、配置模板表1408、DDM轮叫表1409、虚拟装置表1410、存储轮叫表1411、光纤信道盘片轮叫表1412、外部LUN表1413和固态存储表1414。由持久性表模块1400管理的该组表的特定配置可被改变来适合特定的实施需要并对于特定类别的装置来优化。
持久性图象管理器1403和表例示同步化管理器1404与图11所示的持久性数据存储驱动器1420和未示出的第二持久性存储驱动器通信。持久性数据存储驱动器1420作为HDM来实施,其是“持久性存储”的一种示例,并被给出跟随有上述驱动器模块的模型的装置标识符。在优选的系统中,持久性数据存储HDM 1420与存储服务器中的固态存储装置通信并提供对用在虚拟电路中的数据的快速访问。
持久性数据存储对于系统保持各种变化的配置信息。DDM轮叫表1409包括装置驱动器模块的所有示例及其唯一装置IDs的一个列表。存储轮叫表1411包括由存储服务器探测到的所有有源存储装置的一个列表。轮叫表可被虚拟装置表1410使用并由配置工具来生成虚拟电路。LUN输出表1407提供把存储信道事务内识别出的存储范围映射到虚拟电路的技术。外部LUN表1413识别被保持在经存储服务器上的外部存储接口连接的其它存储服务器中的存储逻辑单元。
两个主要的表支持向客户输出存储和存储服务器102A的存储路由选择功能。这些表是输出表1407和虚拟装置配置表1410。
输出表1407
输出表1407把与存储事务一同接收到的寻址信息映射到虚拟电路或存储选项上。在经光纤信道接口的SCSI-3的情况下,使用的寻址信息是启动器ID、目标LUN和目标地址。
不必要使用全部的信息来解决各个请求,因为许多LUNs可经所有启动器或客户而共享,并且大部分LUNs将使用目标地址,例如存储装置上的偏置来在虚拟电路内寻址而不用选择不同的虚拟电路。从而在典型的实施例中,输出表1407如表1那样组织。
协议 协议特定寻址(LUN) 启动器特定吗?如果是的,ID 电路中的第一虚拟装置 主要连接拥有者
  SCSI     0       否     11   NIC 0
  SCSI     1     是,ID=6     30   NIC 0
  SCSI     1     是,ID=5     60   NIC 1
  SCSI     2       否     12   NIC 0
 TCP/IP 端口2000       否     70   NIC 0
                                      表1
输出表1407可包括其它栏如虚拟电路的当前状态、虚拟电路的容量和其它信息。在一个实施例中,输出表1407在输出表的一栏中列出整个虚拟电路。
表1表示协议特定寻址信息可被用于把请求路由到适当的虚拟电路。因此,从具有标识符70的虚拟装置开始把仅应用端口2000作为存储的目标范围的标识符的TCP部分路由到虚拟电路。
表1表示用于协议的单一LUN可依据存储事务的启动器被连接于不同的装置。在这个示例中,基于启动器ID,LUN 1被映射到不同虚拟电路。而且,虚拟电路可基于其它类型的标识符如环球名称(WWN)而被映射。
示例的输出表具有下面的结构:
#define EXPORT_TABLE“Export_Table”
struct ExportTable Entry{
rowID             ridThisRow;        //该表的排的rowID
U32               版本;           //输出表(Export Table)记录的版本
U32                   大小;          //输出表记录字节大小
CTProtocolType    协议类型;       //FCP、IP或其它
U32                 电路号码;        //LUN或其它
VDN               vdNext;         //路径中第一虚拟装置序号
VDN             vdLegacyBsa;      //传统BSA的虚拟装置序号
VDN             vdLegacyScsi;     //传统SCSI的虚拟装置序号
U32               输出LUN;           //输出的LUN序号
U32               启动器Id;          //主机ID
U32                 目标Id;          //我们的ID
U32                 FC示例;       //FC环路序号
String32          序列号;     //对序列号应用串数组
long long           容量;        //该虚拟电路的容量
U32               失效状态;
U32            初级FC目标拥有者;
U32                次级FC目标拥有者;
CTReadyState           就绪状态;      //当前状态
CTReadyState       需要的就绪状态;   //需要的就绪状态
String16           WWN名称;    //环球名称(64或128位IEEE注册的)
String32           名称;          //虚拟电路名称
#endif
虚拟装置配置表
虚拟装置配置表把虚拟装置与支持虚拟装置的装置驱动器连接起来。虚拟装置被设计来支持冗余设计。因此,用于虚拟装置配置的表把虚拟装置序号映射到装置模块中。在一个实施例中,表,如表2被用于把虚拟装置映射到支持装置驱动器中。图15表示表2执行的虚拟电路,以虚拟装置12开始。
虚拟装置   主要的   另一种   参数   状态   类别
    1    4000    4001     N/A     主要的 持久性表
    10    1210    1211     SO(00)     另一种    FC盘
    11    500    501     VD(10)     主要的 SCSI目标
    12    500    501     VD(13)     主要的 SCSI目标
    13    10300    10301     VD(14)     主要的 高速缓冲存储
    14    10200    10201  VD(15,16,零,17)     主要的    镜像
    15    1210    1211     SO(02)     主要的    FC盘
    16    1210    1211     SO(03)     主要的    FC盘
    17    1210    1211     SO(04)     主要的    FC盘
                                         表2
如表2所示,对于各个虚拟装置,提供关于支持虚拟装置的主要的和另一种驱动器模块的信息。例如,在表2的第二项中,光纤信道盘驱动器被映射到虚拟装置(VD)10。
虚拟装置包括用于支持虚拟装置的一个或多个软件或硬件模块。参数栏被用于提供初始化信息。在VD10的情况下,参数是SO(00),其代表存储选项0。各个装置驱动器模块类别具有类别特定参数。存储选项驱动器应用指定特定存储单元的参数。中间驱动器类别如镜像驱动器和高速缓冲存储驱动器应用指定虚拟电路中下一个虚拟装置的参数。这个格式允许单一装置驱动器模块基于参数设置支持多个装置。注意表2中,装置驱动器1210正被虚拟装置10,15,16和17应用,但各个对驱动器指定不同的参数。
状态栏代表支持虚拟装置的软件或硬件的状态。例如,在表2的第一项,状态是“主要的”,其意思是主要的装置驱动器,这里是4000正被应用。在表2的第二项中,状态是“另一个”,这意味着主要的装置驱动器失效或没有正确地响应。在那种情况下,另一个驱动器,在表2中对于第二项是1211被使用。如果装置具有1个以上的可供选择的,状态栏将表示正被使用的驱动器。
例子
例如,考虑应用SCSI协议并在寻址信息中指定LUN2的经连接选项130之一而到达存储服务器102A的存储事务。假设存储服务器102A被如表1和2中所示的对该示例进行配置。
如网络接口146这样的连接选项被耦合于硬件装置驱动器,通过该网络接口146接收存储事务。硬件装置驱动器接收存储事务并依据协议把它发送到适当的处理该协议的虚拟装置。
例如SCSI存储事务被发送到SCSI目标类别的装置驱动器。类似地IP存储事务被发送到IP目标类别的装置驱动器。这里存储事务是应用SCSI通信协议进行的从而它被路由到SCSI目标装置驱动器(DID500)。
SCSI目标装置驱动器进一步分析该请求。分析的第一部分是确定把请求映射到哪个虚拟电路。这个判定可应用输出表中的信息来进行。在这个示例中,表1表示应用指定LUN2的SCSI协议请求从虚拟装置12开始被路由到虚拟电路。在一个实施例中,所有SCSI目标请求对单一接口被路由到相同的SCSI目标驱动器。在这个实施例中,用于目标VD12的参数信息被用于控制SCSI目标装置的行为而不是路由信息到用于SCSI目标的第二虚拟装置。
这里驱动器序号为500的SCSI目标装置驱动器把SCSI信息编译成内部格式。一个这种格式是基于12O块存储体系(BSA)格式的。这种格式是装置和协议中枢并可被中间装置驱动器应用。一旦请求是内部格式,它被发送到虚拟电路中的下一个虚拟装置,如参数字段所示的那样,这里参数是VD(13)或虚拟装置13。
信息被路由到VD 13,其提供冗余高速缓冲存储驱动器,这里驱动器序号为10300和10301。高速缓冲存储驱动器应用存储器来高速缓冲存储存储事务。基于正由驱动器应用的高速缓冲存储算法,驱动器将以适当的间隔把存储事务路由到虚拟电路中的下一个虚拟装置。这里下一个装置由参数VD(14)表示或是虚拟装置14。
在内部格式中,信息被路由到VD 14。虚拟装置14包括冗余镜像驱动器。在这种情况下,驱动器10200和10201被应用。镜像驱动器执行镜像算法以在多个卷级上维持镜像的图像的存储。这个镜像驱动器支持初级、次级和三级存储器,也支持备用存储器。其它镜像驱动器可支持不同的算法。这个镜像驱动器还支持稳定地形成与现有存储器的同步化的新的存储器的耦合。基于正被驱动器应用的镜像算法和镜像的存储器的状态,驱动器将把存储事务路由到虚拟电路中适当的虚拟装置。假设主要的和另一个存储器正在起作用,镜像驱动器将仅根据参数VD(15,16,零,17)或虚拟装置15和16把这个请求路由到初级和次级存储器。参数列表中的零表示没有三级驱动器当前正被用于这个虚拟装置。
镜像驱动器可把串行或并行的存储事务信息路由到两个装置。在这个示例中,对虚拟装置15的通信将被考虑,尽管该示例也可扩展到第二存储器,虚拟装置16。虚拟装置15包括用于控制光纤信道驱动器的冗余驱动器。驱动器把内部格式编译成驱动器应用的格式如BSA到SCSI。驱动器还提供对驱动器的寻址信息。这里参数SO(02)被用于选择存储选项,这里光纤信道驱动器序号为2。
因此,在存储平台内,硬件功能(如盘或闪速存储器)和软件功能(如RAID带区或镜像(Mirror))都经大部分统称为装置的软件驱动器被访问。
这些装置被成对化(该对的每一个组件优选地对冗余度运行独立的电路板)并被称为虚拟装置。然后这些虚拟装置链接起来成为各种配置。例如,镜像装置可被链接为两个或三个盘装置。经这种类型的配置,构成虚拟装置链。这些虚拟装置链可被增加只要它们被配置成自身能被用在另一个配置中的一些BSA型装置。
虚拟装置链被连接于FCP/SCSI目标服务器装置并在用于“输出”(即经FCP协议可从外部访问的)FCP目标的“驱动器”的LUN输出表中被映射。在那一点上,带有SCSI目标服务器装置的虚拟装置链在其前部被称为虚拟电路。
负责生成虚拟电路的虚拟电路管理器软件把SCSI目标服务器“前部”放在虚拟装置链上并然后通过更新FCP目标的输出表来输出虚拟电路。软件也支持删除、停顿和失效交权操作。
虚拟电路管理器软件还负责保持各个虚拟电路中的所有虚拟装置中的列在单一位置中的虚拟电路表VCTs。需要这个信息来执行许多系统行为如失效交权、热交换和关机。
当它被初始化时,虚拟电路管理器软件在持久性表存储器中定义VCT自身。虚拟电路管理器软件还注意监听插入、删除和任何对VCT的修改。
为了生成新的虚拟电路,对具体说明SCSI目标服务器和映射并输出新的LUN必备的信息必须被放置在VCT的记录中。虚拟电路管理器注意监听VCT中的插入并且一接收到监听回复将执行下面的行为:
1.试图使新插入的记录中的信息有效。如果记录包含无效信息,它的状态字段被设置来表示错误并且不采取进一步的行为。
2.对新插入的记录指定的虚拟电路的LUN生成新的
SCSI目标服务器装置。
3.把新记录中的状态设置为“例示”。
4.指定给虚拟电路的存储被标记为用在存储轮叫表中。
5.输出表将被更新来传送LUN到新的SCSI目标服务器。
当虚拟电路的记录被删除时,虚拟电路管理器将执行下面的行为:
1.如果没有准备好,就停顿虚拟电路并且将它标记为被停顿的;
2.从输出表去除虚拟电路的传送数据;
3.参考虚拟电路记录把轮叫记录标记为未使用。
4.去掉与虚拟电路相关的SCSI目标服务器的例示说明。
虚拟电路管理器还注意监听对VCT中“输出”的字段的修改。如果VCT中任何记录中的“输出”的字段被设置为真,那么虚拟电路管理器将执行下面的行为:
1.通过进行必要的修改输出虚拟电路到FCP目标的输出表。
2.如果在输出操作期间遇到任何错误,VC记录中的状态字段将被设置并且“输出”字段将被留在正确的状态。如果虚拟电路没有被输出,输出标记将被设置为假。
虚拟电路管理器注意监听对虚拟电路表中的“停顿”字段的修改。如果VCT中任何记录中的“停顿”的字段被设置为真,那么虚拟电路管理器将执行下面的行为:
1.如果VC当前正被输出,它将不被输出并且它的“输出”标记将被设置为假。
2.虚拟电路中的所有虚拟装置将被发送停顿信息。
3.如果在停顿操作期间遇到任何错误,VC记录中的状态字段将被设置并且“停顿”字段将被留在正确的状态。
即如果虚拟电路不被停顿,停顿标记将被设置为假。
用户接口
用户接口可通过用于显示和应用于根据本发明的配置存储服务器的数据处理结构产生。图像包括具有用于显示图符的字段、用于显示关于服务器的底盘的基本信息的字段的窗口和一组图标,在选择一个图标时启动管理应用程序。提供用于管理硬件和软件的例行程序和用于控制用户访问的例行程序和监测服务器中长期运行的线程的例行程序由按钮启动。根据本发明,用于定义附接于服务器的主机的功能、用于把输出的LUNs映射到管理的源的功能及用于配置管理的存储器的功能通过按钮启动。
窗口还包括用户登陆对话框,包括用于输入用户名的字段和用于输入密码的字段。
主机管理器
用户应用按钮启动主机管理器。这个部分描述用于对存储服务器定义主机的(服务器)基于Java的用户接口(UI)。管理软件打开窗口,其呈现出一个带有多项的表,这些项包含主机名称、端口序号、启动器ID和可对每个主机进行配置和使用的几栏中的说明。其它字段包括在其它栏中的网络接口插件标识符和唯一的主机标识符。在优选示例中唯一的主机标识符是用于光纤信道主机的全球网名称值。
主机管理器是使用户把名称和说明分配给NIC端口和启动器ID以促进定义LUN的处理的存储服务器的Java管理应用程序的子组件。一般的功能,利用例如一个“新增加”的主机按钮、“改变”的主机按钮或“删除”的主机按钮,经鼠标弹出、工具栏按钮和操作菜单来访问现有主机或定义新的主机。
用户接口由菜单和表格或其它的图形结构组成以显示主机信息。当用户进入主机管理器面板时,用所有现有主机填充表格。用户可选择表格中的一行。各行包含关于一个主机的信息。然后用户可选择来修改或删除主机。如果选择修改,将出现对话窗口来允许用户改变主机名称和/或说明。用户然后击OK或Cancel按钮。如果击OK,改变将呈现在表格中并被发送到服务器。如果选择删除,将出现带有表示要被删除的主机的标签和OK或Cancel按钮的对话窗口。如果击OK,主机行将从从表格中删除并且删除在服务器进行。如果选择增加,对话窗口将出现,使用户增加关于主机的所有信息。如果击OK,新的行将被增加到用于那个新主机的表格并且增加在服务器进行。单击栏标签将对栏进行排序。
存储映射
用户可运行存储管理器例行程序,其显示包括表示用于显示存储元素的分层树形结构的窗口的图像。
存储元素应用树形结构(例如镜像到带区到盘)来定义。这允许用户以与他们所考虑的存储器相一致而组建的方式来建立他们的存储器。
存储元素的代表类型包括如下:
—镜像
—带区
—外部LUN
—内部盘
—SSD
—存储集合
—存储分区
通过把这些元素构建成树(利用例如微软浏览器树状显示),用户将能够预配置用在虚拟电路中的存储器。各个元素可被分区并且这些分区可以不同方式被应用。例如一个带区集可被分区,一个分区用作一个LUN而另一个用作镜像中的一个组件(其自身可被分区)。
如果存储元素已经被分区,这些分区将被保持在存储器集合中,其将是分区元素的子集。对于没有被分区的元素,这个分区集合不在那。各个分区通过它正分区B为镜像分区、盘分区等何种类型的存储器来定义。给出的存储元素的分区不被合并成一个单一的分区除非那一元素的所有分区都是可利用的(即整个存储元素是未使用的)。为这样作,用户将选择仅有未使用的分区的分区的存储元素并击中“未分区”按钮。
如果有专用的备用空间(spare),这些备用空间也将被保持在存储器集合中,该存储器集合将成为备用空间所专用的元素的子集。
从而各个存储元素可潜在地具有子集:分区集合、备用空间集合和包括母元素的实际存储元素。
存储管理器在一定意义上是对列出服务器上所有连接的存储器的存储轮叫表的视图。各个可利用的存储元素将被看作存储树的标题。例如镜像可表示为可利用的,但是构成那个镜像的分支的带区和盘是不可利用的,由于它们属于镜像。对于在别处要被再利用的那些带区和盘,它们将需要被从那个镜像移开(并且因此离开那个存储树从而离开那个镜像)。在一个实施例中,这将通过拖放以类似与在Windows NT文件浏览器程序中文件被移开一个目录而到另一个目录的方式进行。
所有存储器的树(应用或未应用)在该示例中被表示于显示屏的左边一半,各个存储元素具有代表它是什么类型的图标和一些标识名或ID。
树下面,在窗口的右边一半或在另一个方便的位置,可利用的(未应用的)存储器的列表被表示出来。这是没有被另一个存储元素或虚拟电路应用的所有存储器的列表。期望没有正在被应用的大部分存储器将被放入通用备用存储池中。这个可利用(未使用中)的存储器列表有望可以非常方便地使用户简单找到未使用过的用于构建新的存储树的存储元素。例如如果固态存储装置(SSD)分区正被带区集(RAIDO)镜像,分区和带区集在可利用的列表中是可见的直到它们执行完镜像。当从这两个组件产生镜像时,它将在可利用的列表中被看到,直到它被组合到虚拟电路中。
在右边是信息和与用户通过用鼠标在其上单击而选择的树中的元素相关的参数。当在可利用的列表中是可见的存储元素被选择时,将在可利用的列表和存储树中选择它。
增加和删除功能以及修改功能被提供来生成和去除项从而利用用户接口提供的工具,用户可改变象“拥有者”或“最后被服务者”或“说明”等字段以用于树中的存储元素。用户将指定他们正增加什么(镜像、带区、盘等)并且对它们进行适当的设置控制。
对于内部盘和外部LUN,用户将指定名称、大小可能还有制造商。指定内部盘是有点特殊的情况,由于盘是一个硬件并且因此被自动探测。用户只有在他们刚刚为后面将附接的一些硬件放入占位符时可增加一个盘。这也对SSD板进行。
对于RAID阵列,将发生的是用户将指定他们想产生一给出的RAID级阵列(开始的镜像或带区)并且然后将能够指定作为那个阵列的组件的存储元素。这种指定将可能通过选择可利用的存储元素的列表中的项而进行,并且阵列容量将由组件的容量确定。被用作阵列的组件的存储元素然后将被标记为不可利用的(由于它们是阵列的一部分)并且阵列自身将被增加到可利用的存储器的列表中。各个RAID阵列还可具有在一个组件失效的情况下分配给那个阵列的专用的备用空间。
存储元素还可被分区一这可通过选择要被分区的元件并指定用户想要什么尺寸的块来进行。如果元件原来未分区,这将导致两个正生成的分区一用户请求的分区和作为存储器的剩余部分(未使用部分)的另一个分区。另外的分区来自它们生成时的未用部分。
对每个存储元素的具体显示将表示我们可利用的尽可能多的信息。在优选的系统中所示的一件事情是特定存储元素的分区看起来象什么(大小和位置)。
LUN映射
应用用户接口的一个按钮,建立LUN映射例行程序。LUN(逻辑单元序号)映射本质上是LUNs和它们相关的数据的列表。这些将作为名称和说明的列表来显示。与任何给出的LUN相关的VC(虚拟电路)在该显示屏上表示出来。在用户从LUN映射的项和请求细节中选择时它是可见的。
LUN映射将以名称、说明或其它字段表示LUNs的现有列表。字段包括:
—名称
—说明
—输出的状态
—主机
—存储元素
LUN映射允许:
—基于各种字段排序
—基于字段过滤。这只有在如果一个以上的LUN同时被操作的条件下是需要的(例如启动/无效)。
—选择LUN用于删除或编辑/查看。
—定义并增加新的LUN。
—输入现有的LUNs。(经硬件开启上的“学习模式”进行)
—增加组件并在LUN上开始热拷贝镜像处理。
—输出不输出LUN B,这基本上开始和结束来自主机的数据的流程。
虚拟电路被定义(对用户)为存储树或其它的与主机连接的图形结构如应用按钮运行的对话框。对话框包括用于LUN名称的项的字段、用于说明的项的字段和用于目标ID的项的字段以及用于关于输出的LUN的信息的项的字段。拖放菜单应用用于可利用的主机列表的主机按钮和用于可利用的存储元素的列表的存储按钮被运行。高速缓冲存储选择按钮作为检查框而实施。
存储树实际是存储元素的树(例如,由一些数目的带区集构成的镜像,而镜像构成一些数目的盘)。主机实际是带有连接于NIC上特定端口的特定启动器ID的服务器。这将由用户经选择预定义主机和代表一些数目的可利用存储器的预定义存储树而定义。
高速缓冲存储的使用利用检查框被限制于“开”或“关”。另一个系统提供用于定义高速缓冲存储的大小或高速缓冲存储的算法的工具。高速缓冲存储的应用可以跃过(fly)的方式被打开或关闭而不中断沿虚拟电路的数据流程。LUN生成时的默认值为“开”。
LUN映射的一个实施例将具有生成虚拟电路必备的功能性。这将由带有两栏的多栏表构成,一栏用于主机一栏用于存储器。LUN的生成自动执行它并且可利用的功能包括“增加”、“修改”和“删除”。
LUN映射显示屏是热拷贝镜像被定义的位置,因为这将通常对现有LUN来进行。过程是选择LUN、然后选择存储树以经由镜像的增加或现有镜像的延伸(例如双路或三路)而增加到现有的存储树。
数据迁移支持
图18是表示具有经通信链路14耦合于第一存储装置11并经通信链路15耦合于第一存储装置12的存储服务器10的存储网络中的数据流程的三个阶段的简化图。中间装置10经通信链路13也耦合于客户处理器,通过客户处理器该中间装置接收在逻辑地址LUN A存取数据的请求。
存储服务器10包括存储器如非易失性高速缓冲存储器,以用作缓冲器,还包括用于把在链路13上接收到的数据存取请求传送到经链路14和15可访问的存储装置的数据传送源。而且存储服务器包括逻辑电路引擎来根据本发明管理热拷贝处理。这个处理可通过考虑图18的三个阶段得到理解。
在阶段1,存储服务器10把识别传送的数据组主体的并在对链路13的接口上接收到的所有数据存取请求映射到链路14以连接于装置11,该装置存储请求的数据组主体。存储服务器接收启动热拷贝处理的并识别在本示例中是装置12的目标装置的控制信号。这一步骤起动阶段2,在阶段2中数据组作为来自第一装置11的后台处理而经存储服务器10被传送到第二装置12。参数被保持在存储服务器10上,表示数据组的传送进展,并且表示后台热拷贝处理相对于来自客户处理器的数据存取请求的相对优先级。在热拷贝处理期间,数据存取请求依据热拷贝的进展和请求的类型被映射到第一装置11和第二装置12。而且,存储服务器包括用于分配优先级给热拷贝处理的源。如果热拷贝处理的优先级低,客户处理器在完成它的数据存取请求时不经历明显的延迟。如果热拷贝处理的优先级相对高,客户处理器在完成它的数据存取请求时将经历一些延迟,但是热拷贝处理将更快的完成。
一完成数据组传送,到达阶段3。在阶段3,来自对数据组寻址的客户处理器的数据存取请求经通信链路15被路由到第二装置12。存储装置11一起从网络被移开或被用于其它目的。
优选实施例中的存储服务器10包括如上所述的存储域管理器。
存储装置11和12可包括单一存储单元内独立的装置或逻辑分区。在这种情况下,热拷贝处理导致数据从存储单元内的一个地址向另一个地址的迁移。
图19、20、21和22图示用于在上述智能网络服务器中执行的热拷贝处理的软件实施的各种方面。在用于热拷贝处理的其它存储服务器中,在实施中将进行变化来容纳特殊的系统。虚拟电路的组件、持久性表存储和用户接口结构的具体细节参考下面的图来描述。
图19表示用于热拷贝处理中的基本的数据结构。第一结构350被叫作UTILITY REQUEST STUCTURE(应用程序请求结构)。第二结构351叫作UTILITY STUCTURE(应用程序结构)。第三结构352叫作MEMBERSTUCTURE(组件结构)。设立MEMBER STUCTURE 352来识别特定的虚拟电路及其状态。MEMBER STUCTURE 352包括参数如虚拟电路标识符(VD ID)、维持用于当前正被虚拟电路处理的数据块的块序号的逻辑块地址(LBA)、已经对于虚拟电路被排队的请求的数目和状态参数。
UTILITY STUCTURE 351维持与在热拷贝应用程序的情况下正被执行的当前应用程序相关的参数。它存储参数如源数据组的标识符SOURCE ID、用于热拷贝处理的目的地存储装置的标识符DESTINATIONID(s)、与应用程序联系的要被执行的请求队列和代表正被处理的当前块及其尺寸的参数。
UTILITY REQUEST STUCTURE 350承载热拷贝处理的请求,包括与处里相关的各种参数。它包括例如代表请求的状态的参数STATUS、支持请求的各种标记、相应于UTILITY STUCTURE的指针、代表请求相对于来自客户处理器的输入/输出的请求的优先级的参数、识别源中的数据组的源掩码和识别热拷贝处理要把数据组拷贝到目的地装置中的位置的目的地掩码。在一个实施例中,对于一个单一热拷贝请求有多个目的地掩码。而且,如图19所示,对于正被处理的数据组内的当前数据块,逻辑块地址(LBA)被保持在UTILITY REQUESTSTUCTURE中,其也被保持在MEMBER STUCTURE中。
为启动热拷贝处理,用户输入被接受,其引起UTILITY REQUESTSTUCTURE的生成。存储服务器中的持久性表存储器用该结构被更新,源和目的地装置的状态以及与数据组相关的虚拟电路被检查,驱动器被建立来启动热拷贝处理,并且状态参数被设置在各种数据结构中。在失效的情况下热拷贝处理的进展被保持在持久性表存储器中。在这种情况下,热拷贝处理可利用服务器内其它的源、应用已经被存储在持久性表存储器中的状态信息和数据结构的拷贝被重新启动。该系统中的其它驱动器如RAID监测器等被警告进行热拷贝处理。对于MEMBER STUCTURE的请求进行排队。
一旦完成了建立,支持热拷贝处理的输入和输出处理被启动。在客户处理器对同一数据组执行输入和输出请求的情况下,支持热拷贝处理的输入和输出处理的相对优先级确定对热拷贝处理的进展速率。在优选的系统中,来自客户处理器的输入和输出请求被首先执行。若支持热拷贝处理的块传送正在执行,当接收到来自客户处理器的输入和输出请求时,块传送作为自动操作来完成,然后进行客户处理器请求。在另一个系统中,其它的技术可被用于管理处理的优先级。
用于执行热拷贝的基本处理表示于图20中。对于组件结构处理从队列顶端的热拷贝开始(步骤360)。处理分配存储服务器中的缓冲器来支持块传送(步骤361)。发出信息把数据组的第一块的拷贝移动到缓冲器(步骤362)。根据热拷贝处理的优先级设置把当前块移动到缓冲器(步骤363)。应用适当的存储器锁定事务完成块的移动以控制存储服务器内的多个处理的访问。接着,发出信息把块的拷贝从缓冲器移动到目的地或多个目的地(步骤364)。根据热拷贝处理的优先级把块移动到目的地或多个目的地(步骤365)。一旦块被移动了,支持处理的持久性表存储器和局部数据结构用代表热拷贝的进展的状态信息来更新(步骤366)。处理确定是否数据组中最后一个块已经被拷贝(步骤367)。如果结果是否,发出信息把下一个块的拷贝移动到缓冲器(步骤368)。处理回到步骤363继续把数据组的块移动到目的地或多个目的地。如果在步骤367确定数据组的最后一个块已经成功被移动到目的地或多个目的地,然后进行处理(步骤369)。
根据本发明的一个实施例,对于包含多个目的地的热拷贝处理,可能正被使用的目的地组中的一个或多个成员将在处理期间失效。在这种情况下,处理可用继续操作的目的地或多个目的地来继续,更新支持继续的处理的适当的表。
从而,热拷贝特征被用于把数据组从还没有失效(down)的一个独立的组件拷贝到替代驱动器中。数据组可包括存储装置的全部内容或存储装置的任何部分内容。热拷贝特征可在带有适当状态和参数管理的任何级的RAID阵列上应用。
热拷贝参数包括处理的优先级、源组件装置和目的地标识符。热拷贝请求包含源组件标识符、目的地组件标识符、拷贝块大小和拷贝频率或优先级。热拷贝根据优先级和块大小同时进行。当前块位置被保持在上述的数据结构的阵列配置数据中。热拷贝处理同时用正常输入和输出处理来进行。对正被热拷贝的驱动器写入被写入两个驱动器。在这种方式中,如果热拷贝出错或失效,原始的源组件还是有效的。当热拷贝完成时,原始的源组件被从阵列中去除并被指定为系统管理器程序不使用的。同样,在一个实施例中,支持数据组的虚拟装置被更新为指向新的目的地。
图21和22图示在热拷贝处理被执行时在存储服务器中执行来管理由客户处理器发出的数据存取请求的处理。数据存取请求可具有多种类型之一,包括读出请求和写入请求及其变形。其它请求包括请求支持数据信道的管理等。在图21中,用于处理写入请求的一个处理被图示出来。
当写入请求达到队列的顶端时,处理开始(步骤380)。处理确定写入请求是否识别出当前热拷贝处理的数据组主体内的位置(步骤381)。如果它处于正被热拷贝的数据组内,那么处理确定写入请求被指向的块是否已经被拷贝到目的地(步骤382)。如果已经被拷贝,发出信息以写入到数据组原始被维持的存储装置以及目的地存储装置两个存储装置中或诸装置中(步骤383)。接着数据根据输入和输出请求的优先级被移出(步骤384),并进行处理(步骤385)。
如果在步骤381,请求不是在数据组内,那么发出信息来执行向数据组的源的写入(步骤386)。在这一点上处理流程移动到步骤384。同样,如果在步骤382,发现写入的位置主体还没有被拷贝,那么发出信息写入源装置(步骤386)。
图22表示在热拷贝期间发生的读出请求的处理。处理在读出请求到达虚拟电路的队列的顶端时开始(步骤390)。处理首先确定读出是否落入热拷贝的数据组主体内(步骤391)。如果读出落入数据组内,那么处理确定是否读出落入已经被拷贝到目的地的块的内部如果发现读出在已经被拷贝到目的地的块内,那么发出信息从新的位置读出数据(步骤393)。在另一个系统中,依据可靠性、速度和影响系统内数据通信管理的其它因素,可从源装置执行读出,或从源和目的地装置读出。在步骤393后,根据客户处理器数据存取请求的优先级把数据返回请求者(步骤394)。那么进行处理(步骤395)。
如果在步骤391,确定读出请求不在热拷贝的数据组主体内,那么发出信息来读出源装置(步骤396)。同样,如果在步骤392确定读出请求指向还没有被拷贝到目的地的块,那么发出信息来从源装置读出数据(步骤396)。在步骤396之后,处理返回步骤394。
在块处于经存储服务器缓冲器移动的处理中的同时,在特定块内发生对数据的读出和写入请求的事件中,数据锁定算法被用于管理请求的处理。从而,例如如果逻辑块被锁定来在读出和写入请求被接收到时支持热拷贝处理,那么客户处理器将接收读出或写入请求由于数据被锁定而被拒绝的通知。在另一种支持客户处理器的更高优先级的系统中,读出或写入请求可被允许继续,而维持在缓冲器中支持热拷贝的块被删除,并且热拷贝的状态被复位来表示块还没有被移动。其它变形的数据锁定算法可按需要被用于特定的实施中。
目标仿真
在图1、2和3所示的配置中,存储服务器用作数据用户和存储数据的存储域中的存储装置之间的中间装置。在这种环境中,为了支持传统存储装置,即在服务器作为中间装置被插入前在位置中的那些装置,服务器提供有用于仿真传统存储装置的源。以这种方式,当服务器被插入传统装置与数据用户之间时,服务器根据在用户与传统装置之间正被应用的存储信道协议而虚拟假设传统装置的逻辑地址。然后存储服务器根据那个协议实施来响应它接收到的指向传统装置的所有请求。而且,存储服务器按需要从传统装置恢复这种配置信息,并且把信息存储在本地存储器中,从而用户已配置的期望在传统装置中的状态和配置信息可利用服务器中的本地源来提供。这节省服务器与传统装置之间的通信,并允许服务器根据存储信道协议伪装传统装置的行为,从而用户的再配置或是不必要的或是在将服务器加到存储网络上时被大大简化。
结论
存储区网络(SAN)是新的存储中央计算体系。大部分由光纤信道存储子系统和网络组件的可利用性能驱动,SANs允许高速数据存取和移动、更灵活的物理配置、存储容量的改进的利用、集中存储管理、在线存储源配备和再配置并支持异机种环境。
在旧的“直接附接存储器”模式中,存储源具有对唯一一个服务器的高速直接物理路径。所有其它服务器仅具有非直接地通过LAN以更低的速度对那个存储源进行访问。存储区网络通过提供从每个服务器向“联网”拓扑结构中的每个存储源的直接高速访问路径(经光纤信道)而改变这一点。网络体系的引入还明显提高存储配置灵活性,将存储源与特定服务器解除耦合并潜在地允许它们被管理或配置为在服务器侧源上有最小冲击。
尽管SANs提供正确的拓扑结构来达到当今环境中的灵活性和数据存取需求,SAN拓扑结构自身没有充分地达到商业应用。仅提供经SAN结构组件如转换器的服务器与存储源之间的物理连接,网络集线器或路由器不足以获得SANs的全部允诺,但是SAN结构确实提供在其上的层所需要的安全的、集中的存储管理性能的硬件基础结构。这两个一起发展可提供灵活性和对它必须提供来满足新环境中的商业目标的基本数据的无处不在的访问。
需要在SAN硬件基础结构的顶部成层的管理性能是存储域管理。为达到最佳的存储灵活性和高性能访问,存储域管理最有效是位于SAN自身内,而不是在服务器或存储装置中。基于服务器的和基于存储器的源方法是次佳的,因为它们不足以支持服务器和存储器侧上的异机种环境。
存储域管理是集中的安全的管理性能,其成层在现有SAN硬件基础结构顶部,提供对于异机种环境的高性能高利用性和先进存储管理功能。存储域管理的目的是形成集成传统和新的设备的强健的SAN结构的核心,该SAN结构能够从服务器和存储源卸载SAN和存储管理任务,并将使所有SAN组件平衡的基于SAN的应用程序运行于该结构中。SAN不应用存储域管理也可建立,但是为生成和管理优化的异机种SAN环境需要这一关键的管理性能。
存储域管理的基本组成包括:
-异机种的交互操作性;
-安全集中管理;
-可测量性和高性能;
-企业级别上的可靠性、可利用性和可服务性;
-智能的为特定目的制造的平台。
存储域管理的规程使顾客实现SANs的全部承诺以解决商业问题。
用所有服务器和存储器的合并,以及当今商业环境中常见的合并与获取,异机种是企业环境中的一个事实。对单一厂商的生产线提供SAN功能的一组产品对顾客而言是不足以获得SANs的全部承诺的。顾客需要一种能力来保留传统设备中的投资,甚至是在增加可利用新的服务器和存储产品时,因此存储域管理器必须以最小代价支持光纤信道和SCSI连接。由于存储域管理器需要随时间而发展以在更新的技术被引入时能容纳更新的技术,平台能够向随时间而更加扩展的多协议连接提供明确的扩充路径。
SANs产生多个虚拟存储库,其可被集中管理以把存储管理任务相对于传统的“直接附接”存储体系最小化,尤其是在备用/恢复和故障恢复区中。由于SANs有效提供从所有服务器向所有存储器的物理访问路径,但是所有存储器不应逻辑上对所有服务器都是可访问的,必须强调坚固(robust)方式中的安全。SAN结构厂商通过逻辑定义“区段”来做到这一点,每个服务器仅能够存取限定在它的区段内的数据。很明显,定义安全字段或存储“区”的能力是存储域管理器的一个方面。区定义的改进的粒度(granularity)如在LUN级的而非端口级的区段内定义内含物,在随时间改进存储内容应用方面提供了明显的附加灵活性。
存储域管理器提供一组全面的集中的存储管理性能,其可从单一的管理接口经所有附接的服务器和存储器而无论其厂商是谁而被平衡(1everaged)。从中心位置,系统管理员可控制异机种存储源之间的数据的移动和镜像,并能够经不同异机种存储源随时间而动态平衡这些性能。这导致明显的成本节省和管理的复杂性的简化。作为可量测的智能平台,存储域管理器驻留在理想的中心位置以具有(host)经所有附接的服务器和存储源而被平衡的存储管理功能。
给出的由新的商业环境驱动的存储扩展速率,特定的SAN环境可容易地在其寿命期间在存储容量上扩展两个数量级的幅度。作为SAN中的中心智能点,存储域管理器能够容纳显著的增长量而不会带来与负载相关的性能下降。智能应随配置扩展而增加以确保在宽性能范围平滑的低成本高效率的可测量性。
对智能平台中的高速缓冲存储器,有足够数量的数据来优化SAN配置以达到特定环境应用中的性能改进。例如,如果象文件系统周刊和数据库表索引或日志这样的“热点”在存储域管理器自身中的高速存储器中被高速缓冲存储,相对于不带有存储域管理器的更常见的SAN配制设置明显把信息路径等待时间最小化。给出的足够数量的板上的存储器,整个数据库和文件系统可有效地被高速缓冲存储来获得大的性能改进。板上的存储容量对迁移和其它数据移动任务期间阶段数据也是很重要的。
如早些提到的,移动到SAN的关键原因之一是改进整个数据的可访问性。如果移动到新的存储体系导致引入单点故障,其许多潜在好处可能不能实现。为了这一原因,不仅数据自身而且还有对那一数据的访问路径必须随时都是可利用的。由于故障而最小化停机时间可经相关的内部组件的应用及诸如自动I/O路径失效交权、逻辑热点备用和可插入、可热交换组件的性能而实现。停机时间经在线管理性能如在线固件升级、动态硬件和软件再配置和高性能后台数据移动而进一步被最小化。
为确保更高级的性能,优选的存储域管理器是智能的为特定目的而建的、尤其是对于请求其与存储相关任务优化的平台。这个平台支持有效的本地处理功能以执行宽范围的存储管理任务,该管理任务由用于数据移动和存储管理应用程序执行必备的本地高速存储支持。
与被用作智能存储服务器的通常目的的平台相比,为特定目的而建的平台提供、实时操作系统以更快更确定响应时间、更有效I/O路径代码来把信息等待时间最小化,并提供优化数据移动器引擎而非应用程序引擎的操作系统核心。这个为特定目的而建的平台支持在通常目的操作系统中不可利用的核心级特征,如可靠的确定性的信息传递。高可靠性特征如集成路径失效交权、在线管理和动态再配置由核心操作系统支持。通过在最佳位置提供智性来支持异机种SAN环境,存储域管理器对终端用户提供下面的商业优点:
-改进的存储内容分配和利用;
-低成本高效率容纳动态高扩展存储环境的灵活性;
-经在线管理和配置的更高的可靠性;
-更有效管理来降低存储管理的整个的$/GB成本;
-在集成SAN环境中统一异机种服务器和存储器的能力;
-通过增加存储管理和可经所有存储源被动态平衡的高速缓冲存储特征而提高JBOD存储器的价值。
随着存储域管理规程应用的坚固的SAN硬件基础结构,提供灵活性以在仍提供安全高速对高度可利用的数据的存取的同时容纳快速的不可预测变化的环境。其结果使得集中的存储管理范例以更有效、成本更低的方式管理带动企业竞争益处的数据的扩展。
本发明的前述的各种实施例是为图示和说明目的而出现的。这种描述并非意在限制本发明到所揭示的准确的形式。对熟悉本领域的人员而言显然有许多变形形式和同等的设置形式。

Claims (18)

1.一种用于管理存储网络中的存储域的系统,存储网络包括一个或多个客户和一个或多个存储系统,其中该一个或多个客户执行各自的承载足够来识别存储事务所服务的客户的信息的存储信道协议,该系统包括:
多个通信接口,适用于经通信媒体与该一个或多个客户中的每一个和该一个或多个存储系统中的每一个连接,并且根据不同的通信协议操作;
一个处理单元,与该多个通信接口耦合,并包括逻辑电路,该逻辑电路把来自一个或多个存储系统的一组存储位置配置为用于一组来自一个或多个客户的至少一个客户的存储域,还包括响应于识别出的客户在存储域内路由存储事务的逻辑电路;
用于把通过该若干通信接口的存储事务编译到公用格式并从该格式进行编译的逻辑电路;
冗余源,包括非易失性高速缓冲存储器,在存储域内通信接口之间路由公用格式的存储事务;
一个管理接口,耦合于处理单元用于配置存储域。
2.如权利要求1的系统,其中一个或多个客户执行承载足够来识别逻辑存储位置的信息的各个存储信道协议,并包括响应于逻辑存储位置在存储域内路由存储事务的逻辑电路。
3.如权利要求1的系统,包括管理数据组从一个存储位置向网络内的另一个存储位置迁移的逻辑电路。
4.如权利要求1的系统,其中管理接口包括用于在网络内配置多个存储域的源。
5.一种用于配置和管理存储网络中的存储源的方法,包括:
在网络中在客户与存储源之间安装网络中的一个中间系统;
应用中间系统中的逻辑电路给网络中的客户指定逻辑存储范围;
应用中间系统中的逻辑电路给逻辑存储范围指定网络中的存储源;
根据指定给客户的逻辑存储范围并根据指定给逻辑存储范围的存储源经中间装置路由存储事务。
6.一种存储服务器,包括:
一个通信接口,该通信接口支持存储事务通信信道;
一个用于把经存储事务信道接收到的存储事务编译成内部格式的逻辑电路;
一个用于把内部格式的存储事务路由到虚拟电路的逻辑电路,虚拟电路管理与存储服务器通信的各个数据存储器的连接。
7.如权利要求6的存储服务器,其中虚拟电路包括用于把内部格式编译成对于相应的一个或多个数据存储器的一个或多个通信协议的逻辑电路。
8.如权利要求7的存储服务器,其中用于相应的各个数据源的各个通信协议包括与标准“智能输入/输出”(I2O)信息格式一致的协议。
9.如权利要求6的存储服务器,其中用于把存储事务路由到虚拟电路的逻辑电路包括一个表格,该表具有多个项,该多个项代表存储通信信道中指定的地址范围与虚拟电路之间的对应性。
10.如权利要求6的存储服务器,其中用于把存储事务路由到虚拟电路的逻辑电路包括一个表格,该表具有多个项,该多个项代表虚拟电路与各个数据源之间的对应性。
11.如权利要求6的存储服务器,包括高速缓冲存储器,并且其中虚拟电路与高速缓冲存储器通信。
12.如权利要求6的存储服务器,其中各个数据存储器包括一个非易失性存储器。
13.如权利要求6的存储服务器,其中各个数据存储器包括硬盘阵列。
14.如权利要求6的存储服务器,包括支持配置数据的输入的一个用户接口。
15.如权利要求14的存储服务器,其中该用户接口包括一个图形用户接口。
16.如权利要求14的存储服务器,其中该用户接口包括一个耦合于存储服务器的触模屏。
17.一个用于存储网络的服务器,该网络包括产生对存储事务的请求的至少一个客户系统、向和从客户系统通信的客户通信信道、多个存储装置和各个向和从多个存储装置通信的各个通信信道,该服务器包括:
一个处理器,包括总线系统;
一个至与耦合于总线系统的客户通信信道的客户接口;
至耦合于总线系统的各个通信信道的多个接口;
一个耦合于总线系统的非易失性高速缓冲存储器;及
由处理器控制来接收对服务器接口上的存储事务的请求的源,以把请求的存储事务导向多个存储装置并分配非易失性高速缓冲存储器用于存储事务。
18.如权利要求17的服务器,其中由处理器控制的源包括处理来授权和证实对存储事务的访问许可。
CN 00105403 1999-03-25 2000-03-27 存储域管理系统 Expired - Lifetime CN1241134C (zh)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US09/276428 1999-03-25
US09/276,428 US6446141B1 (en) 1999-03-25 1999-03-25 Storage server system including ranking of data source
US09/276,428 1999-03-25
US34659299A 1999-07-02 1999-07-02
US09/347,042 1999-07-02
US09/346592 1999-07-02
US09/346,592 1999-07-02
US09/347,042 US6553408B1 (en) 1999-03-25 1999-07-02 Virtual device architecture having memory for storing lists of driver modules
US09/347042 1999-07-02
US09/455,106 1999-12-06
US09/455106 1999-12-06
US09/455,106 US6654830B1 (en) 1999-03-25 1999-12-06 Method and system for managing data migration for a storage system
US09/482,213 US6640278B1 (en) 1999-03-25 2000-01-12 Method for configuration and management of storage resources in a storage network
US09/482213 2000-01-12
US09/482,213 2000-01-12

Publications (2)

Publication Number Publication Date
CN1268703A true CN1268703A (zh) 2000-10-04
CN1241134C CN1241134C (zh) 2006-02-08

Family

ID=27540602

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 00105403 Expired - Lifetime CN1241134C (zh) 1999-03-25 2000-03-27 存储域管理系统

Country Status (6)

Country Link
JP (1) JP2000339098A (zh)
KR (1) KR100644011B1 (zh)
CN (1) CN1241134C (zh)
DE (1) DE10014448B4 (zh)
GB (1) GB2351375B (zh)
IE (1) IE20000203A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100351765C (zh) * 2002-11-26 2007-11-28 松下电器产业株式会社 管理可连接到其上的可移动存储介质的装置以及管理可移动存储介质的方法和系统lsi
CN100357916C (zh) * 2002-08-09 2007-12-26 网络装置公司 为文件和块存取协议提供综合支持的多协议存储设备
CN100383733C (zh) * 2005-10-10 2008-04-23 华为技术有限公司 电子信息系统的软件子系统
CN100405349C (zh) * 2003-10-22 2008-07-23 国际商业机器公司 连接管理方法和系统
CN1766885B (zh) * 2004-10-30 2010-12-08 惠普开发有限公司 提供受管理数据的系统及方法
CN101448012B (zh) * 2002-11-12 2013-04-24 雷特泽遥距管理有限责任公司 具有ip能力分区的数据存储设备
CN101821725B (zh) * 2007-06-25 2013-09-25 戴尔产品有限公司 带有目标侧识别和路由表上载的存储区域网络
CN104541252A (zh) * 2012-05-20 2015-04-22 简易存储有限公司 用于实现基于服务器的分层大容量存储系统的系统和方法
CN105279095A (zh) * 2014-06-26 2016-01-27 中兴通讯股份有限公司 创建jbod文件系统的方法及装置
CN110119103A (zh) * 2018-02-05 2019-08-13 阿自倍尔株式会社 通信控制控制器
CN110869875A (zh) * 2017-05-08 2020-03-06 利奇得公司 存储外壳内的结构交换图形模块

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697367B1 (en) 2000-06-12 2004-02-24 Emc Corporation Multihop system calls
GB2409743B (en) * 2000-06-12 2005-10-19 Emc Corp Multipath multihop remote data facility
JP3749224B2 (ja) * 2000-06-12 2006-02-22 イーエムシー コーポレイション マルチパス・マルチホップ・リモートデータ機能
EP1370947A4 (en) * 2001-02-13 2009-05-27 Candera Inc STORAGE VIRTUALIZATION SERVER SILICON BASE
JP2002252161A (ja) 2001-02-23 2002-09-06 Hitachi Ltd 半導体製造システム
JP2002259355A (ja) * 2001-02-28 2002-09-13 Hitachi Ltd 多重系システム
KR20020085996A (ko) * 2001-05-10 2002-11-18 주식회사 메일북 클라이언트 캐쉬 메모리를 이용한 웹 페이지 제공 방법
US6898202B2 (en) * 2001-06-27 2005-05-24 International Business Machines Corporation Method, apparatus and computer program for informing a requesting device of port configuration changes in a computer network switching device
EP1291849B1 (en) * 2001-09-07 2006-07-12 Sony Deutschland GmbH Memory management for a spoken dialogue system
US6976134B1 (en) 2001-09-28 2005-12-13 Emc Corporation Pooling and provisioning storage resources in a storage network
US7185062B2 (en) 2001-09-28 2007-02-27 Emc Corporation Switch-based storage services
US7707304B1 (en) 2001-09-28 2010-04-27 Emc Corporation Storage switch for storage area network
US7421509B2 (en) 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service in a storage network
US7558264B1 (en) 2001-09-28 2009-07-07 Emc Corporation Packet classification in a storage system
US7404000B2 (en) 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
US7864758B1 (en) 2001-09-28 2011-01-04 Emc Corporation Virtualization in a storage system
JP2003216348A (ja) 2001-11-14 2003-07-31 Hitachi Ltd 記憶装置の管理方法および管理装置
US6895429B2 (en) * 2001-12-28 2005-05-17 Network Appliance, Inc. Technique for enabling multiple virtual filers on a single filer to participate in multiple address spaces with overlapping network addresses
JP4220166B2 (ja) * 2002-02-19 2009-02-04 株式会社日立製作所 ストレージエリアネットワークシステムのアクセス制御方法
JP4100968B2 (ja) 2002-06-06 2008-06-11 株式会社日立製作所 データマッピング管理装置
JP2005539309A (ja) * 2002-09-16 2005-12-22 ティギ・コーポレイション 記憶システムアーキテクチャおよび多重キャッシュ装置
JPWO2004027625A1 (ja) * 2002-09-20 2006-01-19 富士通株式会社 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法
JP4130615B2 (ja) 2003-07-02 2008-08-06 株式会社日立製作所 ストレージ装置を有するネットワークにおける障害情報管理方法及び管理サーバ
US7409583B2 (en) 2002-10-07 2008-08-05 Hitachi, Ltd. Volume and failure management method on a network having a storage device
JP4202709B2 (ja) 2002-10-07 2008-12-24 株式会社日立製作所 ストレージ装置を有するネットワークにおける、ボリューム及び障害管理方法
DE60335926D1 (de) * 2002-10-31 2011-03-10 Ring Technology Entpr S Llc Verfahren und Systeme für ein Speichersystem
JP4139675B2 (ja) 2002-11-14 2008-08-27 株式会社日立製作所 仮想ボリュームの記憶領域割当方法、その装置及びプログラム
EP1588360B1 (en) * 2003-01-20 2018-09-05 Dell Products, L.P. System and method for distributed block level storage
JP4651913B2 (ja) 2003-02-17 2011-03-16 株式会社日立製作所 記憶装置システム
JP4322031B2 (ja) * 2003-03-27 2009-08-26 株式会社日立製作所 記憶装置
US7237021B2 (en) * 2003-04-04 2007-06-26 Bluearc Uk Limited Network-attached storage system, device, and method supporting multiple storage device types
JP4278444B2 (ja) 2003-06-17 2009-06-17 株式会社日立製作所 仮想ポート名の管理装置
JP4421230B2 (ja) 2003-08-12 2010-02-24 株式会社日立製作所 性能情報分析方法
JP4257783B2 (ja) 2003-10-23 2009-04-22 株式会社日立製作所 論理分割可能な記憶装置及び記憶装置システム
JP4320247B2 (ja) 2003-12-24 2009-08-26 株式会社日立製作所 構成情報設定方法および装置
JP4227035B2 (ja) 2004-02-03 2009-02-18 株式会社日立製作所 計算機システム、管理装置、ストレージ装置及びコンピュータ装置
JP2005267008A (ja) 2004-03-17 2005-09-29 Hitachi Ltd ストレージ管理方法およびストレージ管理システム
US7613889B2 (en) 2004-06-10 2009-11-03 International Business Machines Corporation System, method, and program for determining if write data overlaps source data within a data migration scheme
US8180855B2 (en) * 2005-01-27 2012-05-15 Netapp, Inc. Coordinated shared storage architecture
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7809739B2 (en) * 2005-08-05 2010-10-05 International Business Machines Corporation Application configuration in distributed storage systems
US7743214B2 (en) * 2005-08-16 2010-06-22 Mark Adams Generating storage system commands
JP4736783B2 (ja) 2005-12-19 2011-07-27 株式会社日立製作所 ストレージ装置を有するネットワークにおける、ボリューム及び障害管理方法
SG135056A1 (en) * 2006-02-14 2007-09-28 Trek 2000 Int Ltd Data storage device using two types of storage medium
JP4660404B2 (ja) * 2006-03-17 2011-03-30 富士通株式会社 データ転送装置及びデータ転送方法
JP4757300B2 (ja) * 2006-03-31 2011-08-24 富士通株式会社 ボリューム管理装置およびボリューム管理方法
JP2008176680A (ja) * 2007-01-22 2008-07-31 Sharp Corp 可搬型ディスク装置
JP2008135031A (ja) * 2007-11-26 2008-06-12 Hitachi Ltd ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2009230239A (ja) * 2008-03-19 2009-10-08 Hitachi Ltd テープ装置のデータ移行方法およびテープ管理システム
JP4516993B2 (ja) * 2008-07-30 2010-08-04 富士通株式会社 仮想テープシステム
JP4658171B2 (ja) * 2008-09-01 2011-03-23 株式会社日立製作所 性能情報分析方法
US10394454B2 (en) * 2017-01-13 2019-08-27 Arm Limited Partitioning of memory system resources or performance monitoring
RU2714219C1 (ru) 2018-09-14 2020-02-13 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для планирования передачи операций ввода/вывода
RU2731321C2 (ru) 2018-09-14 2020-09-01 Общество С Ограниченной Ответственностью "Яндекс" Способ определения потенциальной неисправности запоминающего устройства
RU2718215C2 (ru) 2018-09-14 2020-03-31 Общество С Ограниченной Ответственностью "Яндекс" Система обработки данных и способ обнаружения затора в системе обработки данных
RU2714602C1 (ru) 2018-10-09 2020-02-18 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для обработки данных
RU2721235C2 (ru) 2018-10-09 2020-05-18 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для маршрутизации и выполнения транзакций
RU2711348C1 (ru) 2018-10-15 2020-01-16 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для обработки запросов в распределенной базе данных
RU2714373C1 (ru) 2018-12-13 2020-02-14 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для планирования выполнения операций ввода/вывода
RU2749649C2 (ru) 2018-12-21 2021-06-16 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для планирования обработки операций ввода/вывода
RU2720951C1 (ru) 2018-12-29 2020-05-15 Общество С Ограниченной Ответственностью "Яндекс" Способ и распределенная компьютерная система для обработки данных
RU2746042C1 (ru) 2019-02-06 2021-04-06 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для передачи сообщения

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5975349A (ja) * 1982-10-25 1984-04-28 Hitachi Ltd 2重書き記憶方式におけるフアイル回復方式
JP2737760B2 (ja) * 1990-07-26 1998-04-08 日本電気株式会社 ルーティングシステム
US5761417A (en) * 1994-09-08 1998-06-02 International Business Machines Corporation Video data streamer having scheduler for scheduling read request for individual data buffers associated with output ports of communication node to one storage node
JPH08288965A (ja) * 1995-04-18 1996-11-01 Hitachi Ltd スイッチングシステム
JP3595836B2 (ja) * 1995-05-12 2004-12-02 株式会社 東芝 通信システム
JP3776496B2 (ja) * 1996-01-17 2006-05-17 株式会社日立製作所 データ記憶システム
JP2002516042A (ja) * 1996-01-31 2002-05-28 イプシロン ネットワークス インコーポレイテッド 伝送ネットワークにおいてパケットの経路指定とスイッチングとの間をダイナミックにシフトする改良された方法及び装置
JPH09259037A (ja) * 1996-03-21 1997-10-03 Toshiba Corp 情報記憶装置
US5761705A (en) * 1996-04-04 1998-06-02 Symbios, Inc. Methods and structure for maintaining cache consistency in a RAID controller having redundant caches
US5940478A (en) * 1996-05-31 1999-08-17 Octel Communications Corporation Method and system for extended addressing plans
JPH1065693A (ja) * 1996-08-22 1998-03-06 Fujitsu Ltd オンデマンド・システム
US6026430A (en) * 1997-03-24 2000-02-15 Butman; Ronald A. Dynamic client registry apparatus and method
US5884035A (en) * 1997-03-24 1999-03-16 Pfn, Inc. Dynamic distributed group registry apparatus and method for collaboration and selective sharing of information
JP3632166B2 (ja) * 1997-08-11 2005-03-23 日本電信電話株式会社 通信システムのファイル制御装置
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6148414A (en) * 1998-09-24 2000-11-14 Seek Systems, Inc. Methods and systems for implementing shared disk array management functions

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100357916C (zh) * 2002-08-09 2007-12-26 网络装置公司 为文件和块存取协议提供综合支持的多协议存储设备
CN101448012B (zh) * 2002-11-12 2013-04-24 雷特泽遥距管理有限责任公司 具有ip能力分区的数据存储设备
CN100351765C (zh) * 2002-11-26 2007-11-28 松下电器产业株式会社 管理可连接到其上的可移动存储介质的装置以及管理可移动存储介质的方法和系统lsi
CN100405349C (zh) * 2003-10-22 2008-07-23 国际商业机器公司 连接管理方法和系统
CN1766885B (zh) * 2004-10-30 2010-12-08 惠普开发有限公司 提供受管理数据的系统及方法
CN100383733C (zh) * 2005-10-10 2008-04-23 华为技术有限公司 电子信息系统的软件子系统
CN101821725B (zh) * 2007-06-25 2013-09-25 戴尔产品有限公司 带有目标侧识别和路由表上载的存储区域网络
CN104541252A (zh) * 2012-05-20 2015-04-22 简易存储有限公司 用于实现基于服务器的分层大容量存储系统的系统和方法
US10552385B2 (en) 2012-05-20 2020-02-04 Microsoft Technology Licensing, Llc System and methods for implementing a server-based hierarchical mass storage system
CN105279095A (zh) * 2014-06-26 2016-01-27 中兴通讯股份有限公司 创建jbod文件系统的方法及装置
CN105279095B (zh) * 2014-06-26 2019-09-13 南京中兴新软件有限责任公司 创建jbod文件系统的方法及装置
CN110869875A (zh) * 2017-05-08 2020-03-06 利奇得公司 存储外壳内的结构交换图形模块
CN110119103A (zh) * 2018-02-05 2019-08-13 阿自倍尔株式会社 通信控制控制器
CN110119103B (zh) * 2018-02-05 2022-06-14 阿自倍尔株式会社 通信控制控制器

Also Published As

Publication number Publication date
IE20000203A1 (en) 2001-02-21
GB0006743D0 (en) 2000-05-10
DE10014448B4 (de) 2017-07-27
KR100644011B1 (ko) 2006-11-13
GB2351375A (en) 2000-12-27
DE10014448A1 (de) 2000-11-16
JP2000339098A (ja) 2000-12-08
GB2351375B (en) 2001-11-14
CN1241134C (zh) 2006-02-08
KR20000076955A (ko) 2000-12-26

Similar Documents

Publication Publication Date Title
CN1241134C (zh) 存储域管理系统
CN1311328C (zh) 存储装置系统
CN1779660A (zh) 三者间的异步复制
CN1633131A (zh) 一种iSCSI存储系统的实现方法
CN1020811C (zh) 动态管理输入/输出(i/o)连接的方法和装置
CN1869914A (zh) 存储系统及存储系统的运用方法
CN1304936C (zh) 直观显示对象文件的仿真器及其操作方法
CN1684029A (zh) 存储系统
CN101042676A (zh) 存储系统以及存储区域释放方法以及存储装置
US7469289B2 (en) Storage system having virtualized resource
CN1261892C (zh) 支持多个客户数据交换协议的工业过程控制数据访问服务器
US7305533B2 (en) Storage system
CN101052949A (zh) 操作系统
CN1959618A (zh) 存储系统
CN1275152C (zh) 制造和更新可插入的便携式操作系统模块的系统和方法
CN1809815A (zh) 管理锁定和事务
CN1575460A (zh) 通过无线设备能够进行打印的输出管理系统和方法
CN1190741C (zh) 用于支持数据事务的设备和方法
CN1696913A (zh) 存储系统内的数据转移
CN1265274C (zh) 存储设备控制装置和存储设备控制装置的控制方法
CN1928840A (zh) 存储装置虚拟化装置的设备控制交接方法
CN1581091A (zh) 多点远程拷贝系统
CN101075177A (zh) 计算机系统
CN1227644A (zh) 允许对共享资源分布式控制的方法和装置
CN1846419A (zh) 自管理媒介信息流

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C53 Correction of patent for invention or patent application
COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: DELL USA, L. P. TO: CONVERCERT TECHNOLOGY CO., LTD.

CP03 Change of name, title or address

Address after: American California

Applicant after: Dell USA, L. P.

Address before: texas

Applicant before: Dell USA L. P.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20081219

Address after: Texas in the United States

Patentee after: Dell Products LP

Address before: American California

Patentee before: Dell USA, L. P.

ASS Succession or assignment of patent right

Owner name: DELL PRODUCTS CO., LTD.

Free format text: FORMER OWNER: CONVERCERT TECHNOLOGY CO., LTD.

Effective date: 20081219

CX01 Expiry of patent term

Granted publication date: 20060208

CX01 Expiry of patent term