CN1636193A - 网络数据存储相关操作 - Google Patents
网络数据存储相关操作 Download PDFInfo
- Publication number
- CN1636193A CN1636193A CN03804200.2A CN03804200A CN1636193A CN 1636193 A CN1636193 A CN 1636193A CN 03804200 A CN03804200 A CN 03804200A CN 1636193 A CN1636193 A CN 1636193A
- Authority
- CN
- China
- Prior art keywords
- network node
- processor
- adapter
- group
- request
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F2003/0697—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
Abstract
一种可实施本发明的一个实施例的网络,可以包括经由网络通信链路耦合在一起的第一和第二网络节点,以及分别与第一和第二网络节点关联的第一组和第二组海量存储设备。第一和第二网络节点可以分别包含第一和第二输入/输出(I/O)处理器。第一I/O处理器可以响应于第一请求来执行与第一组海量存储设备相关联的第一数据存储相关操作,并从第一网络节点经由链路向第二网络节点发出第二请求,以使得第二I/O处理器响应于第二请求而进行与第二组海量存储设备相关联的第二数据存储相关操作。
Description
背景技术
在一种类型的传统计算机网络中,一个或者多个服务器计算机节点或者“服务器”被设置成可能与一个或者多个阵列的碟盘海量存储设备相关联(即与之交换数据并控制),所述碟盘海量存储设备中可以存储在该网络中执行的过程所产生的用户数据,并且这些过程可以从其中获得这些数据。这些阵列中的至少一个可以是独立碟盘冗余阵列(以下称为“冗余阵列”),其中可以复制存储在碟盘海量存储设备的主阵列(以下称为“主阵列”)中的主数据卷的拷贝(或“镜像”),并且在主阵列失效的情况下可以从其恢复被复制的数据卷(以下称为“冗余数据卷”)。在下文中,如果冗余阵列存储了作为主阵列中的主数据卷的拷贝的冗余数据卷,则冗余阵列被认为与主阵列“相关联”。此外在下文中,如果冗余数据卷是主数据卷的镜像,则冗余数据卷被认为与主数据卷相关联。
在该传统网络中,与主阵列相关联的服务器(以下称之为“始发”服务器)可以经由网络通信链路被耦合到与冗余阵列相关联的其它服务器(以下称之为“目标”服务器),并且该冗余阵列可以与该主阵列相关联。始发服务器和目标服务器各自可以包括相应的网络接口卡(NIC)、主机总线适配器(HBA)、中央处理单元(CPU)和系统存储器。在始发服务器和目标服务器中的每一个中,各自的CPU和各自的系统存储器通过各自的系统总线互连,各自的NIC和各自的HBA通过各自的输入/输出(I/O)总线以及I/O控制系统互连。始发服务器中的NIC通过通信链路被耦合到目标服务器中的NIC,始发服务器中的HBA被耦合到主阵列并对其进行控制,并且目标服务器中的HBA被耦合到冗余阵列并对其进行控制。各自的程序过程驻留于服务器各自的系统存储器中,该程序过程控制服务器的各自的CPU,以使服务器执行常规的同步数据复制操作。驻留在相应系统存储器中的相应程序过程包括各自的操作系统、RAID驱动器、复制驱动器和网络驱动器/通信栈过程。应用级的数据库过程也驻留在始发服务器的系统存储器中。
始发服务器的使用人可以经由驻留在始发服务器中的应用级程序过程的用户接口,发出将用户数据存储在主阵列的主数据卷中的请求。响应于该请求,该过程产生对始发服务器中的一个或者多个O/S过程的数据写请求,该请求使得始发服务器的CPU经由始发服务器的系统总线将用户数据传送至始发服务器的系统存储器并存储于其中。此后,这些O/S过程发出对始发服务器的RAID驱动器的请求,该请求使得始发服务器的CPU:经由始发服务器的系统总线从始发服务器的系统获取数据、将这些数据分成一个或多个数据块(例如小型计算机系统接口(SCSI)协议数据块)、将数据块传送至始发服务器的系统存储器并存储于其中,并使得始发服务器的I/O总线控制器经由始发服务器的系统总线从始发服务器的系统存储器获取这些块、并将这些块转发至始发服务器的HBA。然后始发服务器的HBA将数据块写在主数据卷中,并当数据块已经成功地被写在主数据卷中时,始发服务器的HBA经由始发服务器的I/O总线和控制器系统以及系统总线,向始发服务器的CPU返回一个“写完成”消息以指示完成写操作。
同样响应于来自应用级过程的请求,始发服务器的O/S过程请求始发服务器的复制驱动器过程来命令始发服务器的CPU:产生用户数据的一个拷贝、将用户数据的拷贝分成一个或多个复制数据分组、并将这些分组存储在始发服务器的系统存储器中。在这些分组已经被存储在始发服务器的系统存储器中之后,始发服务器的网络驱动器过程使得始发服务器的CPU:经由始发服务器的系统总线而从始发服务器的系统存储器获取分组、用报头和其它信息封装这些分组以形成一个或多个以太网帧、经由始发服务器的系统总线、I/O总线和控制器系统将这些帧转发至始发服务器的NIC,并使得始发服务器的NIC经由以太网链路将这些帧转发至目标服务器的NIC。
目标服务器的NIC接收帧,并且响应于所接收到的帧,目标服务器的操作系统、RAID驱动器、复制驱动器和网络驱动器/通信栈过程使得目标服务器的CPU进行以下操作:对来自这些帧的数据分组解封装、从数据分组重建用户数据、将重建的用户数据分成一个或多个数据块、以及将这些块存储在冗余数据卷中。在所有用户数据已经被成功地写在冗余卷中之后,目标服务器的O/S、复制驱动器和网络驱动器过程使得目标服务器的CPU进行以下操作:产生并向始发服务器转发(即经由目标服务器的NIC和通信链路)一个指示数据在冗余阵列中成功复制的数据复制成功消息帧。可以发现,目标服务器的CPU所进行的以上操作涉及目标服务器的CPU、系统存储器和系统总线等等之间相当多的事务/交互。
为了在该传统网络中执行以上的数据存储相关的操作,必须在始发和目标服务器中进行过分多的CPU、系统存储器和系统总线事务和操作。不幸的是,这使得为了实现这样的操作要消耗过量的始发和目标服务器CPU、系统存储器以及系统总线的处理资源。
附图说明
随着以下详细描述的进行并基于对示图的参照,本发明实施例的特征和优点将变得清晰,所述示图中类似的标号指示类似的部件,其中:
图1是图示数据存储网络的部件的图,在该数据存储网络中可以有利地实施本发明的一个实施例。
图2是图示了包含在命令/消息帧中的字段的图,所述帧可以在图1的网络中的始发服务器和目标服务器之间被转发。
图3是图示了包含在图1的网络中的始发服务器中的HBA的部件的图。
图4是图示了可以驻留在图1网络中的始发服务器的系统存储器中的程序过程的图。
图5是图示了可以驻留在图1网络中的目标服务器的系统存储器中的程序过程的图。
图6是图示了包含在图1网络的目标服务器中的HBA的部件的图。
图7是图示了可在图1网络中进行的操作的流程图。
图8是图示了可驻留在图3的HBA中的存储器中的程序过程的图。
图9是图示了可驻留在图6的HBA中的存储器中的程序过程的图。
应该理解,尽管以下详细描述将参照本发明的示例性实施例进行,但是对其的很多替换、修改和变化对于本领域的技术人员将是显然的。因此,本发明意于被更广阔地看待,并且仅如所附权利要求中陈述的那样被限定。
具体实施方式
参照图1至9,现在将描述本发明的示例性实施例。图1是高度示意性的简图,图示了其中可以有利地实施本发明的一个实施例的数据存储网络10。网络10可以包括始发服务器节点12、目标服务器节点14和数据通信网络11。网络11可以包括可利用一个或多个众所周知的网络通信协议(例如基于以太网和/或传送控制协议/互联网协议(TCP/IP)的协议)的一个或多个局域网和/或广域网。始发服务器12可以经由网络链路34和36耦合到网络11,而目标服务器14可以经由网络链路38和40耦合到网络11,通过这种方式来允许服务器12和14经由网络11在相互之间通信。始发服务器12和目标服务器14可以在地理上相互远离。
始发服务器12分别包括CPU 16、系统存储器18、用户接口20、主桥(host bridge)/总线系统22、I/O桥/总线系统24、HBA 26、HBA 28以及两个阵列或两组碟盘海量存储设备30和32。每一个阵列或者每一组碟盘设备30和32可以包含一个或多个(或者,在本发明的这个实施例的情况下为多个)各自的碟盘海量存储设备(例如光盘或者磁盘海量存储设备)。或者,如果以对于本领域的技术人员显然的方法适当地修改服务器12,则作为替代,阵列30和32中的每一个可以包含各自的固态海量存储设备。
HBA 28可以经由各自的基于串行高级技术附件(S-ATA)的接口210(见图3),被电耦合到阵列32并且可被配置成与之交换数据和命令;通过经由接口210向阵列32发出适当的命令,HBA 28可以使得在阵列32中存储或者从其中获取该命令中所引用或者包含的数据。HBA 28还可以包括I/O处理器27、HBA存储器202、网络接口204以及I/O桥/总线系统接口208。在HBA 28中,处理器27、存储器202以及接口204、208和210可以通过外围部件互连(例如在由PCI Special Insterest Group of 5440S.W.Westgate Drive,#217,Portland,Oregon 97221,United States of America所发布的PCI Local Bus Specification Rev.2.2中所描述的或者与之兼容的类型,以下称之为“PCI”)或者PCI扩展(例如在由PCI Special InterestGroup所发布且从其可以获得的PCI-X Specification Rev.1.0a中所描述的或者与之兼容的类型,以下称之为“PCI-X”)总线系统200来互连,并且利用该总线系统200在相互之间交换数据和命令。当然,作为替代,总线系统200可以包含其它类型的总线系统,而不背离本发明的该实施例。处理器27可以包括包含在可从本主题申请的拥有者购买到的集成电路芯片组(例如包括Intel80200处理器和Intel80312同伴芯片(companionchip)的Intel80310芯片组)中的集成电路芯片,尽管作为替代,I/O处理器27可以包含其它集成电路芯片(例如Intel80960 RM/RN I/O处理器或者Intel80321处理器),或者其它类型的处理器/集成电路,而并不背离本发明的该实施例。网络接口204可以被耦合到链路34,可以被配置以帮助实现/进行这样的物理操作,即允许HBA 28和服务器12与网络系统10中的节点14通信的物理操作。桥接口208被耦合到I/O桥/总线系统24,并被配置成允许HBA 28能够与系统24交换数据和命令。存储器202可以包含:随机访问存储器(RAM),其可以用于存储(以及在其中可以驻留)程序过程207;高速缓存存储器,其可以用于存储想要存储在阵列32中的数据或者最近从阵列32获取的数据;以及非易失性电可擦可编程存储器(EEPROM),其可以在HBA的外部驱动电源出现断电的情况下用于存储高速缓存存储器中所存储的数据。尽管在图中未示出,但是HBA28可以包括一个系统,用于探测何时出现这样的断电,并触发处理器27以使存储器202将高速缓存存储器中所存储的数据存储到EEPROM中;在HBA 28中可以包括应急电池电源备用系统(未示出),以在这些操作过程中向HBA 28供电。处理器27可以被编程,以在随后对HBA 28加电时,将存储在EEPROM中的数据取到高速缓存存储器中。以下给出有关HBA 28的构造和操作的其它细节。
尽管图中未示出,但是应该理解,HBA 26的相应构造可以与HBA 28的相应构造基本上相同。这样,为了避免不必要的重复描述,这里将不详细给出HBA 26的构造。但是,应当满足:HBA 26经由各自包含在HBA26中基于S-ATA的接口(未示出),可以电耦合到阵列30并且可以被配置成与之交换数据和命令;通过经由该基于ATA的接口向阵列30发出适当的命令,HBA 26可以使得在阵列30中存储或者从其中获取该命令中所引用或者包含的数据。HBA 26可以包含相应的I/O处理器25,其可以具有与I/O处理器27基本上类似的相应构造。HBA 26还可以包括相应的网络接口(未示出),其可以具有与接口204基本上类似的相应构造并且可以经由链路36耦合到网络11。
I/O桥/总线系统24和主桥/总线系统22可以分别包含I/O控制器中心系统和存储器控制器中心系统,其可以使用包含在可从本主题申请的拥有者购买到的集成电路芯片组(例如Intel860芯片组)中的集成电路芯片来构造。CPU 16、系统存储器18和用户接口20可以经由主桥/总线系统22相互电耦合并电耦合到I/O桥/总线系统24。系统22被配置成允许/帮助实现CPU 16、存储器18、用户接口20以及系统24之间的数据和命令交换。另外,系统24被配置成允许/帮助实现系统22与适配器26和28之间的数据和命令交换。
存储器18可以包含可用来存储(以及可以在其中驻留)程序过程19的RAM。存储器18中的RAM还可以存储想要存储在阵列30和32中的用户数据或者已经从其中获取的用户数据。CPU 16可以包含可以从本主题申请的拥有者购买到的类型的IntelXeonTM处理器,但是CPU 16可以包含其它类型的处理器,而不背离本发明。
目标服务器14分别包括CPU 42、系统存储器44、用户接口46、主桥/总线系统48、I/O桥/总线系统50、HBA 52、HBA 54以及两个阵列或者两组碟盘海量存储设备56和58。每一个阵列或者每一组碟盘设备56和58可以包含一个或多个(或者,在本发明的这个实施例的情况下为多个)各自的碟盘海量存储设备(例如光盘或者磁盘海量存储设备)。或者,如果以对于本领域的技术人员显然的方法适当地修改服务器14,那么作为替代,阵列56和58中的每一个可以包含各自的固态海量存储设备。
HBA 52可以经由各自的基于S-ATA的常规接口510(见图6),被电耦合到阵列56,并可以被配置成与之交换数据和命令;通过经由接口510向阵列56发出适当的命令,HBA 52可以使得在阵列56中存储或者从其中获取该命令中所引用或者包含的数据。HBA 52还可以包括I/O处理器53、HBA存储器502、网络接口504和I/O桥/总线系统接口508。在HBA52中,处理器53、存储器502以及接口504、508和510可以通过PCI或者PCI-X总线系统500来互连,并且使用该总线系统500在相互之间交换数据和命令。处理器53可以包括包含在可从本主题申请的拥有者购买到的集成电路芯片组(例如Intel80310芯片组)中的集成电路芯片,但是作为替代,I/O处理器53可以包含其它集成电路芯片(例如Intel80960RM/RN I/O处理器或者Intel80321处理器)或者其它类型的处理器/集成电路,而不背离本发明的该实施例。网络接口504可以被耦合到链路38,可以被配置成帮助实现/进行这样的物理操作,即允许HBA 52和服务器14与网络系统10中的节点12通信的物理操作。桥接口508被耦合到I/O桥/总线系统50,并且被配置成允许HBA 52能够与系统48交换数据和命令。存储器502可以包含:随机访问存储器(RAM),其可以用于存储(以及在其中可以驻留)程序过程507;高速缓存存储器,其可以用于存储想要存储在阵列56中的用户数据或者最近从阵列32获取的用户数据;以及非易失性EEPROM,其可以在HBA 52的外部驱动电源出现断电的情况下用于存储高速缓存存储器中所存储的数据。尽管在图中未示出,但是HBA 52可以包括一个系统,用于探测何时出现这样的断电,并触发处理器53以使存储器502将存储在高速缓存存储器中的数据存储在EEPROM中;在HBA 52中可以包括应急电池电源备用系统(未示出),以在这些操作过程中向HBA 52供电。处理器53可以被编程,以在随后对HBA 52加电时,将存储在EEPROM中的数据取到高速缓存存储器中。以下将给出有关HBA 52的构造和操作的其它详细内容。
尽管在图中未示出,但是应该理解,HBA 54的相应构造可以基本上与HBA 52的相应构造基本上相同。这样,为了避免不必要的重复描述,这里将不详细给出HBA 54的构造。但是,应当说明:HBA 54经由各自包含在HBA 54中基于S-ATA的接口(未示出),可以电耦合到阵列58并且可以被配置成与之交换数据和命令;通过经由该基于ATA的接口向阵列58发出适当的命令,HBA 54可以使得在阵列58中存储或者从其中获取该命令中所引用或者包含的数据。HBA 54可以包含相应的I/O处理器55,其可以具有与I/O处理器53基本上类似的相应构造。HBA 54还可以包括相应的网络接口(未示出),其可以具有与接口504基本上类似的相应构造并且可以经由链路38耦合到网络11。
I/O桥/总线系统50和主桥/总线系统48可以分别包含I/O控制器中心系统和存储器控制器中心系统,其可以使用包含在可从本主题申请的拥有者购买到的集成电路芯片组(例如Intel860芯片组)中的集成电路芯片来构造。CPU 42、系统存储器44和用户接口46可以经由主桥/总线系统48相互电耦合并电耦合到I/O桥/总线系统50。系统48被配置成允许/帮助实现CPU 42、存储器44、用户接口46以及系统50之间的数据和命令交换。另外,系统50被配置成允许/帮助实现系统48与适配器52和54之间的数据和命令交换。
存储器44可以包含可用来存储(以及可以在其中驻留)程序过程45的RAM。存储器44中的RAM还可以存储想要存储在阵列56和58中的用户数据或者已经从其中获取的用户数据。CPU 42可以包含可以从本主题申请的拥有者购买到的类型的IntelXeonTM处理器,但是CPU 42可以包含其它类型的处理器,而不背离本发明。
在服务器12中,适配器26和28每个都可以包含各自的电路板,该电路板可经由各自的机电连接器(未示出)在电气上以及机械上耦合到主板(未示出)。服务器12中的主板可以包含CPU 16、存储器18以及系统22和24。当适配器26和28被如此耦合到服务器12中的主板时,适配器26和28可以变为被耦合到服务器12的主板中的系统24。可以在服务器12中设置单独的机电连接器(未示出)来将阵列30和32中的碟盘海量存储设备分别耦合到适配器26和28。
在服务器14中,适配器52和54每个都可以包含各自的电路板,该电路板可经由各自的机电连接器(未示出)在电气上以及机械上耦合到主板(未示出)。当适配器52和54被如此耦合到服务器14中的主板时,适配器52和54可以变为被耦合到服务器14的主板中的系统50。可以在服务器14中设置单独的机电连接器(未示出)来将阵列56和58中的碟盘海量存储设备分别耦合到适配器52和54。
尽管在网络10中,适配器26、28、52和54可以分别经由各自基于S-ATA的接口和协议被分别耦合到碟盘阵列30、32、56和58并与之通信,但是如果适配器26、28、52和54以及碟盘阵列被适当地修改,那么作为替代,适配器26、28、52和54可以分别经由其它类型的接口和协议(例如基于光纤信道(FC)或者小型计算机系统接口(SCSI)的接口和协议)而被分别耦合到碟盘阵列30、32、56和58并与之通信,而不背离本发明的该实施例。另外,尽管在图中未示出,但是碟盘阵列30和32可以被封闭在与服务器12的物理外壳物理上分开的物理外壳中。碟盘阵列56和58可以封闭在与服务器14的物理外壳物理上分开的物理外壳中。或者,如果网络10被适当地修改,则服务器12可以只包含单个HBA,但是在服务器12中包括多个主机总线适配器可以帮助实现到其它目标服务器的连接,并可以帮助在网络10中实现失效保护容错特征(failover faulttolerance feature),该特征在服务器12中的单个HBA失效的情况下,可以帮助消除网络10中的单点失效。
现在将参照图1-9描述网络系统10的操作。尽管在图中未示出,但是用户接口20和46的每一个可以包含各自的传统键盘、定点设备(例如鼠标或者轨迹球设备)、终端/显示单元、基本输入/输出系统(BIOS)等。通过使用用户接口20,服务器12的使用人(未示出)可以向CPU 16以及驻留在系统存储器18中的过程19发出命令并从其接收输出数据,这可以允许使用人控制和监视服务器12的操作。类似地,通过使用用户接口46,服务器14的使用人(未示出)可以向CPU 42以及驻留在系统存储器44中的过程45发出命令并从其接收输出数据,这可以允许使用人控制和监视服务器14的操作。
在可以驻留在始发服务器12的系统存储器18中的过程19之中,可以有多个操作系统程序过程400和多个应用级程序过程402(见图5)。在可以驻留在目标服务器14的系统存储器44中的过程45之中,可以有相应的多个操作系统程序过程300(见图4)。
具体参照图1、5和7,使用接口20,服务器12的使用人可以向包含在应用级程序过程402中的程序过程(例如关系数据库过程)发出数据存储相关的操作请求/命令。该命令可以请求例如以下的操作:在始发服务器12中的主阵列(例如阵列32)中的数据卷(例如主数据卷33)与目标服务器14中的相关联的冗余阵列(例如阵列56)中的数据卷(例如冗余数据卷57)之间相应地建立复制/镜像的数据卷对关系;切断这样的关系;在已经发生这样的切断之后重新建立这样的关系;改变(例如扩大或者缩小)这样的关系中所涉及的数据卷33和57的大小;或者在用户数据(例如用户数据404)已经被存储在系统存储器18中之后,将用户数据404存储到主阵列32的主数据卷33中,以及将该数据404复制到冗余阵列56的冗余卷57中。用户数据404可以作为一个或多个应用级程序过程402的操作的结果而产生,或者可以由网络10中的客户节点(未示出)产生并从其转发给服务器12(例如经由包含在服务器12中的未示出的NIC)。卷33和57的每一个可以具有相同的相应尺寸(即按照数据存储空间而言),并可以是相应的逻辑数据卷,该逻辑数据卷可以跨越相应的不止一个物理碟盘海量存储设备,并且/或者消耗的空间可以少于包含在单个相应的物理碟盘海量存储设备中的整个数据存储空间。
响应于服务器12的使用人所发出的数据存储相关操作请求/命令,该请求/命令所发至的程序过程可以使得CPU 16产生对应于服务器12的用户所发出的请求/命令的数据存储相关操作请求,并经由系统22提供给存储器18中的O/S过程400之一(即,其请求执行使用人所请求的相同数据存储相关操作;见图7中的操作602)。响应于操作602中所产生的请求,接收操作602中所产生的该请求的O/S过程,可以使得CPU 16产生对应于用户所发出的请求/命令的数据存储相关操作请求60并经由系统22、24和200提供给HBA 28中的处理器27(见图7中的操作604)。或者,包含在过程19中的后台过程(未示出)可以使得CPU 16产生请求60并向处理器27提供。在任何一种情况中,作为操作604的一部分,如果用户所发出的请求/命令请求在卷33和57中存储数据404,那么CPU 16也可以从存储器18获取数据404并经由系统22、24和200转发到处理器27,而请求60可以含有或者引用被转发至处理器27的数据404;处理器27可以使得被转发的数据404最初被存储在存储器202中。
响应于请求60,处理器27可以使得请求60中的数据存储相关操作被执行(见图7中的操作606)。也就是说,请求60中所请求的数据存储相关操作的执行,可能需要执行始发服务器12和目标服务器14中的各组数据存储相关操作;另外,在可以驻留在HBA 28的存储器202中的过程207之中可以有独立碟盘冗余阵列(RAID)驱动器过程700。响应于处理器27接收到请求60,驱动器过程700可以使得处理器27在始发服务器12中执行,并在目标服务器14中启动各组数据存储相关操作的执行,其中必须在始发服务器12和目标服务器14中执行这些操作以进行请求60中所请求的数据存储相关操作。
根据请求60中所请求的数据存储相关操作的类型,为了使得在始发服务器12中执行各组数据存储相关操作,其中这些操作必须在其中被执行以进行请求60中所请求的数据存储相关操作,处理器27可以更新/修改数据存储管理/配置表209中的一个或多个条目,并且/或者向主阵列32提供一个或多个命令(集体地或者单个地用图1中标号64所表示的结构来指示)。也就是说,处理器27可以在存储器202中维护表209,并且表209中所包含的信息可以将阵列32和56中的单独的碟盘海量存储设备的物理特性/配置,映射到希望这些设备具有或者已经使之具有的逻辑特性/配置/关系。例如,表209中的信息可以将阵列32和33中的物理海量存储设备中的区域关联到以下:逻辑数据卷、物理和逻辑卷中所用的数据编码/格式化类型、阵列32和56中的逻辑和物理卷/设备各自的大小(按照数据存储空间而言)、已经分别在阵列32中的主数据卷和阵列56中的冗余数据卷之间建立的相应关联(即阵列32中的哪个主数据卷被阵列56中的哪个冗余数据卷所镜像,作为主阵列一冗余阵列对的阵列32和56的关联等等)。如果请求60请求执行没有涉及在阵列32和56中存储用户数据(例如用户数据404)的数据存储相关操作(例如,如果请求60请求在数据卷33和数据卷57之间建立复制/镜像数据卷对关系、切断这样的关系、在已经发生这样的切断之后重新建立这样的关系、或者改变(例如扩大或缩小)这样的关系中所涉及的数据卷33和57的大小),那么过程700可以使得处理器27校验请求60中所请求的操作在给定表209中所指示的物理和/或预先设定的逻辑特性/关系的情况下是可能/允许的;如果所请求的操作是可能/允许的,那么过程700可以使得处理器27更新/修改表209中的一个或多个适当的条目,以使得表209反映请求60中所请求的逻辑特性/关系中的改变。相反,如果请求的操作是不可能/允许的,那么过程700可以使得处理器27经由系统24和22向CPU 16发出指示出错的出错消息,并终止数据存储相关操作。同样相反,如果请求60请求在阵列32和56中(例如在逻辑卷33和57中)存储用户数据(例如用户数据404),过程700可以使得处理器27产生一个或多个命令(集体地或者单个地用图1中标号64所表示的结构来指示)并(经由总线200和接口210)向阵列32提供,以使得用户数据404被写入包含逻辑数据卷33的阵列32中的碟盘海量存储设备的一个或多个适当物理单元。
为了在目标服务器14中启动执行各组数据存储相关操作,其中这些操作必须在其中被执行以进行请求60中所请求的数据存储相关操作,过程700可以使得处理器27产生(使用涉及处理器27和存储器202之间的多个事务/数据传送的操作)一个或多个数据存储相关操作请求帧(图1中集体地或者单个用标号62所表示的结构来指示;同时见图7中的操作608),并(经由总线200、网络接口204、链路34、网络11、链路38、网络接口504以及总线500)转发到处理器53。也就是说,过程700可以包括网络通信栈过程,所述网络通信栈过程可以经由处理器27和存储器202之间的多个操作/数据传送而产生,并且如果请求60所请求的数据存储相关操作涉及到在阵列32和56中存储数据404,那么过程700可以使得处理器27将数据404分成一个或多个数据有效负载的序列,这些数据有效负载适合被封装在一个或多个帧62的相应序列中,并且过程700可以使得处理器27产生帧62的序列并传输到HBA 52中的处理器53。相反,如果请求60所请求的数据存储相关操作不涉及在阵列32和56中存储数据404,那么可能只需要产生单个帧62并将其从HBA 28传输至HBA52。从HBA 28传输至HBA 52的每一个帧62都可以具有图2所示的数据结构100。
每个帧62的相应数据结构可以包括相应的字段102、104、106、108、110、112、114和116;这些相应字段102、104、106、108、110、112、114和116中的每一个可以包含一个或多个相应的数据值。字段102是相应的以太网帧头字段,而字段104是相应的以太网帧尾字段。这些字段102和104中的每一个可以包含其它的各个字段(例如,相应的以太网和IP源地址字段和指定地址字段、以太网和IP校验和字段等等),其可用来将相应的帧结构100中的其余字段106、108、110、112、114和116封装成相应包含TCP/IP分组的以太网帧。可以选择包含在头字段102和尾字段104中的相应字段中可含有的相应值,以允许产生相应帧结构100的HBA(例如HBA 28)能够有效地经由网络11将相应帧结构100传输给想要接收相应帧结构100的HBA(例如HBA 52)。被相应的帧头102和帧尾104所封装的可以是相应的目标节点iSCSI协议地址字段106、相应的起始节点iSCSI协议地址字段108、相应的数据存储相关操作命令/消息字段110、相应的数据有效负载字段112、相应的消息标识字段114以及相应的校验和字段116。每个相应的帧62中的相应的命令/消息字段110可以含有标识请求60所命令的数据存储相关操作的类型的值,并且可以指明(例如在字段110中的其他子字段中)可标识用于实现命令操作的其它参数的值(例如所涉及的特定主卷和冗余卷、这些卷的大小、于其处开始将数据写入目标逻辑卷57的目标逻辑卷57中的相应地址、字段112中数据有效负载的字节数等等);每个相应的帧62中的相应的字段106和108可以含有各组值,这些值含有根据传统iSCSI寻址方案(例如根据由Suite 100,Reston,VA 20191,United States of America的Internet EngineeringTask Force,Internet Engineering Task Force Secretariat c/o Corporation forNational Research Initiatives,1895 Preston white Drive于2001年3月1日发布的Satran,“iSCSI”,Internet-Draft Specification,draft-ietf-ips-iscsi-05,IPStorage Working Group of the Internet Engineering Task Force中所公开的寻址机制)确定的目标和起始节点寻址和命名信息,所述方案可以映射至/寻址数据存储相关操作中所涉及的阵列32和56中的特定存储设备。当然,在字段106和108中可以含有不同的寻址信息(例如,基于不同寻址方案的寻址信息,所述方案例如为根据上述“iSCSI”,Internet-Draft Specificationof the IP Storage Working Group of the Internet Engineering Task Force的其它/以后开发版本的其它iSCSI寻址方案),只要网络11以及节点12和14被合适地配置成基于这些不同寻址信息来分别路由和处理帧100。如果请求60所命令的数据存储相关操作涉及将数据404存储到阵列32和56中,那么有效负载字段112可以含有来自由处理器27从数据404以上述方式产生的数据有效负载序列的相应的数据有效负载,并且头102中所含的相应的TCP序列号可以指示该数据有效负载段在由处理器27所产生的数据有效负载段序列中的序列顺序。消息ID字段114可以含有帧序列号,其标识含有该帧序列号的特定帧62。校验和116可以含有表示数据值的校验和的校验和值,所述数据值通过将字段106、108、110、112、114和116中所含有的值串联形成。或者,根据用来在网络11中以及通过网络11转发和/或路由帧100的一个或多个特定协议,同时根据帧100在节点12和14可能受到的特定处理,帧100可以含有不同于图2所示字段中所含的那些的其它字段和/或信息,或者在其之外含有其它字段和/或信息,以有助于转发、路由和处理,而并不背离本发明的该实施例。
在可以驻留在存储器502中的过程507之中,可以是复制驱动器过程800。这些过程800可以包括网络通信栈过程。当处理器53接收到帧62时,过程800可以使得处理器53最初将所接收到的帧62存储在存储器502中,并且之后对这些帧62进行解封装和语法分析,校验(即通过校验帧62中所含的校验和)在帧62向处理器53的传输过程中没有出错,并在除了别的之外还确定帧62中可以含在相应的字段102、104、106、108、110、112、114、116的以及在这些相应字段所含相应子字段中的特定相应值。基于这些相应字段以及相应子字段中所含的值,处理器53可以确定接收到的帧62中所请求的特定的数据存储相关操作,并在服务器14中执行(见图7中的操作610)。更具体地说,根据接收到的帧62中所命令的数据存储相关操作的类型,为了使得在服务器14中执行帧62中所请求的各个数据存储相关操作,处理器53可以更新/修改数据存储管理/配置表509中的一个或多个条目,并且/或者向冗余阵列56提供一个或多个命令(集体地或者单个地用图1中标号70所表示的结构指示)。也就是说,处理器53可以在存储器502中维护表509,并且表509中所含的信息在内容上可以类似于存储器202中由处理器27维护的表209中所包含的信息。如果接收到的帧62中所命令的数据存储相关操作,请求执行不涉及在阵列56中存储用户数据(例如用户数据404)的数据存储相关操作(例如,如果请求60请求在数据卷33和数据卷57之间建立复制/镜像数据卷对关系、切断这样的关系、在已经发生这样的切断之后重新建立这样的关系、或者改变(例如扩大或者缩小)在这样的关系中所涉及的数据卷33和57的大小),则过程800可以使得处理器53校验帧62中所命令(即在接收到的帧62中的字段110中指示的命令)的操作在给定表509中所指示的物理和/或预先设定的逻辑特性/关系的情况下是可能/允许的;如果所命令的操作是可能/允许的,那么过程800可以使得处理器53更新/修改表509中的一个或多个适当的条目,以使得表509指示/反映帧62中所命令的逻辑特性/关系的改变。相反,如果帧62请求在阵列56中(即阵列56的卷57中)存储用户数据(例如用户数据404),那么过程800可以使得处理器53确定(即从包含在帧62中的相应TCP信息)是否有任何其它的帧62可能包含用户数据404的其它分段。如果处理器53确定没有其它帧62可能包含用户数据404的这样的其它分段,那么过程800可以使得处理器53产生一个或多个命令(集体地或者单个地用图1中标号70所表示的结构指示),并向阵列56提供(经由总线500和接口510),以使得用户数据404被写入到包含了逻辑数据卷57的阵列56中的碟盘海量存储设备中的一个或多个适当的物理单元中。但是,如果处理器53确定存在其它帧62可能包含用户数据404的其它分段,则过程800可以使得处理器53将来自这些其它的帧62的相应数据有效负载存储在存储器502中,并且基于接收到的帧62中所含的相应TCP序列信息和/或消息标识值来重建用户数据404并将之存储在存储器502中。之后,过程800可以使得处理器53将重建的用户数据404分成一个或多个数据块,产生一个或多个命令70并向阵列56提供(经由总线500和接口510),以使得被重建的用户数据的块被写入包含逻辑数据卷57的阵列56中的碟盘海量存储设备中的一个或多个适当物理单元(例如扇区、块等)。
在每个相应的帧62都已经被处理器53正确地接收(即没有任何传输错误)之后,过程800可以使得处理器53产生相应的确认或者应答以太网帧(在图1中集体地或者单个地用标号66所表示的结构来指示,同时参见图7中的操作612)并向处理器27提供。每个应答帧66可以具有与图2所示结构100相同的相应结构,除了在相应应答帧66中,相应命令/消息字段110可以含有这样的相应值,其可以指示包含了相应应答帧66中字段116中所指明的消息标识号的帧62已经被处理器53接收到并处理过了。即,对于处理器53所正确接收和处理的每一个相应帧62,过程800都可以使得处理器53产生并向处理器27发出(经由总线500、接口504、链路38、网络11、链路34、接口204以及总线200)相应的应答帧66,该应答帧66引用了(即在应答帧66的消息标识字段114中含有)相应帧62中所含的相应消息标识号。在表209中,处理器27可以使相应帧62中所含的相应消息标识号与相应的接收到的应答帧66中所含的相应消息标识号相关,以确定由处理器27转发给处理器53的消息帧62中的哪些已经被接收并处理了(例如,便于使用传统技术来确定相应消息帧62是否已经在通过网络11的传送中丢失了,以及是否要向处理器53重新发送相应的消息帧62)。在处理器27已经接收到处理器27响应于来自CPU16的给定数据存储相关操作请求60而产生的所有帧66之后,过程700可以使得处理器27确定(假设处理器27也能够成功地完成处理器27响应于请求60而执行的操作)请求60所请求的数据存储相关操作已经成功地在网络10中完成,并且可以使得处理器27经由系统24和22向CPU 16转发消息72,以向O/S过程400指示请求60所请求的操作的成功完成(见图7中的操作614)。响应于消息72,O/S过程400可以使得CPU 16向存储器18中的应用过程402提供对这样的成功完成的指示;响应于此,过程402可以使得CPU 16经由接口20向服务器12的使用人指示这样的成功完成。
在处理器53确定(例如从表509)其不能够进行帧62中请求的数据存储相关操作的情况下(例如,由于在HBA 52或者阵列56的碟盘驱动/线缆中检测到故障、卷33和57的大小不匹配、卷57中缺少足够的存储空间、在请求帧62中寻址时的错误等等)或其它情况下(例如,在处理请求帧62时校验和验证出错的情况下),过程800可以使得处理器53产生并向处理器27转发应答帧66,该应答帧66在命令消息字段110中的相应值,指示了在进行所请求的操作中出现错误以及该错误的类型和属性。响应于该消息66,过程700可以使得处理器27产生并向CPU 16发出(上述类型的)错误消息,并且产生并向处理器53发出错误确认帧(未示出),所述错误确认帧与相应的应答帧66相同,除了在错误确认帧中,相应的命令/消息字段110可以指示处理器27对消息66的接收和处理。
如果在预定时间段之后,处理器27未能接收到响应于请求帧62的有效的确认/应答/错误帧66,那么过程700可以使得处理器27重新产生并向处理器53重新发送请求帧62的拷贝,并使处理器27再次等待预定的时间段以接收响应于此的有效应答帧66;如果在预定数量的对请求帧62的重新产生和重新传输之后,处理器27还没有接收到对此的有效应答帧66,或者如果接收到的错误帧66中所报告的错误属性是在没有操作人的干预情况下不能被纠正的预定类型,则过程700可以向CPU 16报告该状况,而CPU 16随后可以经由接口20将其报告给服务器12的使用人。如果服务器12针对这样的操作而被适当地配置,那么作为替代或者在此之外,CPU 16可以产生并向操作人传输指示这种状况的警告消息(例如电子邮件或者呼叫消息)。然后过程700可以认为卷33和57(即分别作为主卷和相关联的目标卷)之间的关联已经被终止了,并且可以使得处理器27记录卷33中可能出现的改变了的磁道/扇区,以通过以下所描述的方式而在以后在重建卷33和57之间的镜像关系时使用。
尽管在图中没有具体示出,但是注意到以下问题将非常重要:碟盘阵列30和58可以分别作为冗余阵列和主阵列而相互关联,冗余阵列30中的至少一个相应数据卷31可以是与主阵列58中的至少一个相应主数据卷59相关联的冗余数据卷,并且HBA 26、阵列30、链路36、网络11、链路40、HBA 54、阵列58、系统48和50、CPU 42、存储器44以及接口46可以被配置成允许并帮助碟盘阵列30和48以及数据卷31和30以根据本发明该实施例的教导的这种关系而操作,所述关系允许主阵列和冗余阵列32和56以及主数据卷和冗余数据卷33和57根据本发明的该实施例以上述方式操作。另外,应该理解,服务器12和14可以包括NIC设备(未示出),所述NIC设备可以经由网络11以这样的方式被耦合到一个或多个客户计算机节点,所述方式允许客户计算机节点能够访问存储在主阵列32和58中的用户数据。
另外,为了在先前终止这样的关联之后帮助重建主卷和冗余卷33和57(即作为一对镜像数据卷)之间的关联,表209可以含有自先前终止了这种关联以来已经改变了的卷33中的逻辑磁道/块的列表。在重建这种关联之后,过程700可以使得帧62从处理器27被传输到处理器53,这可以使得数据卷57中的对应逻辑磁道/块,用目前存储在表209所列出的磁道/块中、在这种关联终止之后且在其重建之前已经被改变了的数据来重写。在这种关联终止之后以及在重建之前的时间段期间,数据卷57可以被拷贝/备份(例如拷贝至磁带或者拷贝到另一未示出的数据卷中)。
帧62也可以命令其它类型的数据存储相关操作。例如,当在相应帧62中的字段110中插入适当的预定值时,相应帧62可以命令接收帧62的I/O处理器(例如处理器53)来产生并提供相应的应答帧66,所述应答帧66向发送帧62的I/O处理器指示/报告:与接收帧62的I/O处理器相关联的或者由其控制的所有逻辑节点、逻辑卷以及目标卷;与接收帧62的I/O处理器相关联的给定目标卷是否满了或者出现故障;正在进行的涉及该目标卷的数据复制操作是否进展正常;或者该目标卷中的文件系统是否被正常地构造。而且,当适当的预定值被插入在相应帧62中的字段110中时,相应帧62可以命令接收帧62的I/O处理器(例如处理器53)来为帧结构100配置标准的帧大小,或者更新或配置该I/O处理器所维护的管理表(例如表509),以反映与从其传输出帧62的HBA相关联的碟盘海量存储设备阵列的配置可能已经发生的改变,包括例如包含在该阵列中的物理和/或逻辑卷的属性和特性的改变。
如果以对本领域技术人员显然的方法进行适当的修改,作为替代,这里所描述的在本发明的该实施例中通过软件过程被实现的各种操作可以通过硬件/电路系统来实现,反之亦然。实现本发明的该实施例所需的软件过程19、45、207和507可以由处理器16、42、27和53分别执行存储/编码在计算机可读存储器(例如分别包含在存储器18、44、202和502中的只读存储器,和/或未示出的光盘只读存储器)中的各组程序指令而产生。
因此,总而言之,根据本发明的一个实施例,提供了一种网络,其可以包括经由网络通信链路耦合在一起的第一和第二网络节点,以及分别与第一和第二网络节点关联的第一组和第二组海量存储设备。第一和第二网络节点可以分别包含始发服务器和目标服务器。始发服务器和目标服务器可以分别包含第一和第二输入/输出(I/O)处理器。第一I/O处理器可以响应于第一请求使得执行与第一组海量存储设备相关联的第一数据存储相关操作,并从始发服务器经由链路向目标服务器发出第二请求,以使得第二I/O处理器响应于第二请求而进行与第二组海量存储设备相关联的第二数据存储相关操作。
有利的是,在本发明的该实施例中,为了实现数据存储相关操作而在始发和目标服务器中进行的大多数操作,可以从这些服务器中的各个CPU、系统存储器以及系统总线被卸载到HBA I/O处理器、内部HBA存储器等。这使得在本发明的该实施例中为实现数据存储相关操作而在始发和目标服务器中进行的CPU、系统存储器以及系统总线事务和操作的数量相比于现有技术能够显著减少。有利的是,相比于现有技术,这防止了当实现这些操作时消耗过量的始发和目标服务器的CPU、系统存储器和系统总线处理资源,并释放这些资源以用于其它处理活动中,并且提高了在本发明的该实施例中可以实现的这些操作的速度和可靠性。
这里所采用的术语和表达被用作描述性而非限制性的用语,在这些术语和表达的使用中并不想排除所示和所描述的特征(或其部分)的任何等同物,并且应该认识到在权利要求的范围内可以有各种修改。相应地,权利要求意于覆盖所有这样的等同物。
Claims (43)
1.一种在网络中的第一网络节点中使用的第一适配器,所述第一适配器包括:
电路系统,用于响应于第一请求而进行与第一组海量存储设备相关联的第一数据存储相关操作,还响应于所述第一请求而从所述第一适配器向网络中的第二网络节点中的第二适配器发出第二请求,以使得所述第二适配器响应于所述第二请求来进行与第二组海量存储设备相关联的第二数据存储相关操作。
2.如权利要求1所述的第一适配器,还包括:
电路系统,用于响应于来自所述第二适配器的第一消息来向所述第一网络节点中的过程发出第二消息,所述第一消息指示所述第二数据存储相关操作已经完成,所述第二消息指示所述第一请求所请求的相应数据存储相关操作已经完成。
3.如权利要求2所述的第一适配器,其中:
所述第二请求和所述第一消息各自包括相应的目标节点地址字段、起始节点地址字段、命令字段和消息标识字段;并且
所述第二请求和所述第一消息中相应的消息标识字段含有相同的相应值。
4.如权利要求1所述的第一适配器,其中所述电路系统和所述第二适配器各自包括相应的I/O处理器。
5.在第一网络节点中使用的第一适配器,所述第一适配器包括:
电路系统,用于响应于请求来进行与第一组海量存储设备相关联的数据存储相关操作,所述请求响应于第二网络节点中的第二适配器所接收到的另一个请求而从所述第二适配器被发出,以使得所述第二适配器响应于所述另一个请求来进行与第二组海量存储设备相关联的另一个数据存储相关操作。
6.如权利要求5所述的第一适配器,还包括:
电路系统,用于向所述第二适配器发出第一消息,以指示与所述第一组海量存储设备相关联的所述数据存储相关操作已经完成,并且所述第二适配器被配置成响应于所述第一消息而向所述第二网络节点中的过程发出第二消息。
7.如权利要求6所述的第一适配器,其中:
从所述第二适配器发出的所述请求和所述第一消息各自包括相应的目标节点地址字段、起始节点地址字段、命令字段以及消息标识字段;并且
从所述第二适配器发出的所述请求和所述第一消息中的相应的消息标识字段含有相同的相应值。
8.如权利要求1所述的第一适配器,其中:
所述第一适配器包括耦合到所述第一组海量存储设备的第一主机总线适配器;
所述第二适配器包括耦合到所述第二组海量存储设备的第二主机总线适配器;并且
所述第一适配器和所述第二适配器经由网络通信链路而被耦合在一起。
9.如权利要求5所述的第一适配器,其中:
所述第一适配器包括耦合到所述第一组海量存储设备的第一主机总线适配器;
所述第二适配器包括耦合到所述第二组海量存储设备的第二主机总线适配器;并且
所述第一适配器和所述第二适配器经由网络通信链路而被耦合在一起。
10.第一输入/输出处理器,所述第一输入/输出处理器被配置成使得能够执行以下一组操作,所述操作包括:
响应于第一请求执行与第一组海量存储设备相关联的第一数据存储相关操作;
还响应于所述第一请求从第一网络节点向第二网络节点中的第二输入/输出处理器发出第二请求,以使得所述第二输入/输出处理器响应于所述第二请求来进行与第二组海量存储设备相关联的第二数据存储相关操作。
11.如权利要求10所述的第一输入/输出处理器,其中:
所述第一网络节点包括所述第一输入/输出处理器和所述第一组海量存储设备;
所述第二网络节点包括所述第二组海量存储设备;并且
所述第一网络节点和所述第二网络节点经由网络通信链路而被耦合在一起。
12.如权利要求10所述的第一输入/输出处理器,其中:
所述第二数据存储相关操作包括以下操作中的一个或多个:
在第二网络节点中指定第一数据卷,所述第一网络节点中的第二
数据卷中所存储的数据将被复制于所述第一数据卷中;
扩大所述目标数据卷的大小;以及
在所述第一数据卷中复制所述数据。
13.如权利要求10所述的第一输入/输出处理器,其中:
所述第二数据存储相关操作包括以下操作中的一个或多个:
终止所述第二网络节点中的第一数据卷与所述第一网络节点中的第二数据卷之间先前建立的关联,所述关联指定所述第二数据卷中所存储的数据将被复制在所述第一数据卷中;以及
在所述先前建立的关联已经被终止之后,重新建立所述先前建立的关联。
14.第一输入/输出处理器,所述第一输入/输出处理器被配置成执行一组操作,所述操作包括:
响应于请求来执行与第一组海量存储设备相关联的第一数据存储相关操作;以及
在完成对所述第一数据存储相关操作的执行之后,从第一网络节点向第二网络节点中的第二输入/输出处理器发出第一消息,以使得所述第二输入/输出处理器响应于所述第一消息向所述第二网络节点中的过程发出第二消息,所述第二输入/输出处理器可以被可操作地配置成响应于来自所述过程的另一个请求而产生所述请求,并进行与第二组海量存储设备相关联的第二数据存储相关操作。
15.如权利要求14所述的第一输入/输出处理器,其中:
所述第一组海量存储设备包括一个或多个相应海量存储设备;
所述第二组海量存储设备包括一个或多个相应海量存储设备;并且
所述第一消息被包括在帧中。
16.一种在网络中的第一网络节点中使用第一适配器的方法,所述方法包括:
响应于第一请求,使用所述第一适配器来进行与第一组海量存储设备相关联的第一数据存储相关操作;以及
还响应于所述第一请求从所述第一适配器向所述网络中的第二网络节点中的第二适配器发出第二请求,以使得所述第二输入/输出适配器响应于所述第二请求来进行与第二组海量存储设备相关联的第二数据存储相关操作。
17.如权利要求16所述的方法,还包括:
响应于来自所述第二适配器的第一消息,而从所述第一适配器向所述第一网络节点中的过程发出第二消息,所述第一消息指示所述第二数据存储相关操作已经完成,所述第二消息指示所述第一请求所请求的相应数据存储相关操作已经完成。
18.如权利要求17所述的方法,其中:
所述第二请求和所述第一消息各自包括相应的目标节点地址字段、起始节点地址字段、命令字段和消息标识字段;并且
所述第二请求和所述第一消息中的相应消息标识字段含有相同的相应值。
19.如权利要求16所述的方法,其中所述第一适配器和所述第二适配器各自包括相应的输入/输出处理器。
20.一种在第一网络节点中使用第一适配器的方法,所述方法包括:
响应于请求而使用所述第一适配器来进行与第一组海量存储设备相关联的第一数据存储相关操作,所述请求响应于第二网络节点中的第二适配器所接收到的另一个请求而从所述第二适配器被发出,所述第二适配器被配置成响应于所述另一个请求来进行与第二组海量存储设备相关联的另一个数据存储相关操作。
21.如权利要求20所述的方法,还包括:
从所述第一适配器向所述第二适配器发出第一消息,以指示与所述第一组海量存储设备相关联的所述数据存储相关操作已经完成,所述第二适配器被配置成响应于所述第一消息来向所述第二网络节点中的过程发出第二消息。
22.如权利要求21所述的方法,其中:
从所述第二适配器发出的所述请求和所述第一消息各自包括相应的目标节点地址字段、起始节点地址字段、命令字段和消息标识字段;并且
从所述第二适配器发出的所述请求和所述第一消息中的相应消息标识字段含有相同的相应值。
23.如权利要求16所述的方法,其中:
所述第一适配器包括耦合到所述第一组海量存储设备的第一主机总线适配器;
所述第二适配器包括耦合到所述第二组海量存储设备的第二主机总线适配器;并且
所述第一适配器和所述第二适配器经由网络通信链路而被耦合在一起。
24.如权利要求21所述的方法,其中:
所述第一适配器包括耦合到所述第一组海量存储设备的第一主机总线适配器;
所述第二适配器包括耦合到所述第二组海量存储设备的第二主机总线适配器;并且
所述第一适配器和所述第二适配器经由网络通信链路而被耦合在一起。
25.一种使用第一输入/输出处理器的方法,所述方法包括:
使用所述第一输入/输出处理器以响应于第一请求来执行与第一组海量存储设备相关联的第一数据存储相关操作;以及
使用所述第一输入/输出处理器以同样响应于所述第一请求来产生第二请求,所述第二请求可以从第一网络节点被发至第二网络节点中的第二输入/输出处理器,以使得所述第二输入/输出处理器响应于所述第二请求来进行与第二组海量存储设备相关联的第二数据存储相关操作。
26.如权利要求25所述的方法,其中:
所述第一网络节点包括所述第一输入/输出处理器和所述第一组海量存储设备;
所述第二网络节点包括所述第二组海量存储设备;并且
所述第一网络节点和所述第二网络节点经由网络通信链路而被耦合在一起。
27.如权利要求26所述的方法,其中
所述第二数据存储相关操作包括以下操作中的一个或多个:
在所述第二网络节点中指定第一数据卷,所述第一网络节点中的
第二数据卷中所存储的数据将被复制于所述第一数据卷中;
扩大所述第一数据卷的大小;以及
在所述第一数据卷中复制所述数据。
28.如权利要求26所述方法,其中:
所述第二数据存储相关操作包括以下操作中的一个或多个:
终止所述第二网络节点中的第一数据卷与所述第一网络节点中的第二数据卷之间先前建立的关联,所述关联指定所述第二数据卷中所存储的数据将被复制在所述第一数据卷中;以及
在所述先前建立的关联已经被终止之后,重新建立所述先前建立的关联。
29.一种使用第一输入/输出处理器的方法,所述方法包括:
使用所述第一输入/输出处理器以响应于请求来执行与第一组海量存储设备相关联的第一数据存储相关操作;以及
使用所述第一输入/输出处理器以在完成对所述第一数据存储相关操作的执行之后产生第一消息,所述第一消息可以从第一网络节点被发至第二网络节点中的第二输入/输出处理器,以使得所述第二输入/输出处理器响应于所述第一消息来向所述第二网络节点中的过程发出第二消息,所述第二输入/输出处理器可以被可操作地配置成响应于来自所述过程的另一个请求而产生所述请求,并进行与第二组海量存储设备相关联的第二数据存储相关操作。
30.如权利要求29所述的方法,其中:
所述第一组海量存储设备包括一个或多个相应海量存储设备;
所述第二组海量存储设备包括一个或多个相应海量存储设备;并且
所述第一消息被包括在帧中。
31.一种网络,其包括:
与第一组海量存储设备相关联且包括第一输入/输出处理器的第一网络节点;
远离所述第一网络节点、与第二组海量存储设备相关联且包括第二输入/输出处理器的第二网络节点;
将所述第一网络节点耦合至所述第二网络节点的网络通信链路;
所述第一输入/输出处理器被配置成能够导致以下操作:
响应于第一请求来执行与所述第一组海量存储设备相关联的第一数据存储相关操作;
还响应于所述第一请求,经由所述链路从所述第一网络节点向所述第二网络节点发出第二请求,以使得所述第二输入/输出处理器响应于所述第二请求来进行与所述第二组海量存储设备相关联的第二数据存储相关操作。
32.如权利要求31所述的网络,其中
所述第二输入/输出处理器被配置成能够导致执行以下操作:
响应于所述第二请求执行所述第二数据存储相关操作;
在完成对所述第二数据存储相关操作的所述执行之后,经由所述链路从所述第二网络节点向所述第一网络节点发出第一消息,以使得所述第一输入/输出处理器向所述第一网络节点中的过程发出第二消息,以指示所述第一数据存储相关操作和所述第二数据存储相关操作的完成。
33.驻留在计算机可读存储器中的计算机程序指令,所述计算机程序指令包括一组指令,所述一组指令当被第一处理器执行时使得:
响应于第一请求来执行与第一组海量存储设备相关联的第一数据存储相关操作;以及
还响应于所述第一请求来产生第二请求,所述第二请求可以从第一网络节点被发至第二网络节点中的第二处理器,以使得所述第二处理器响应于所述第二请求来进行与第二组海量存储设备相关联的第二数据存储相关操作。
34.如权利要求33所述的计算机程序指令,其中:
所述第一网络节点包括所述第一处理器和所述第一组海量存储设备;
所述第二网络节点包括所述第二组海量存储设备;并且
所述第一网络节点和所述第二网络节点经由网络通信链路而被耦合在一起。
35.如权利要求34所述的计算机程序指令,其中:
所述第二数据存储相关操作包括以下操作中的一个或多个:
在所述第二网络节点中指定第一数据卷,所述第一网络节点中的第二数据卷中所存储的数据将被复制在所述第一数据卷中;
扩大所述第一数据卷的大小;以及
在所述第一数据卷中复制所述数据。
36.如权利要求34所述的计算机程序指令,其中:
所述第二数据存储相关操作包括以下操作中的一个或多个:
终止所述第二网络节点中的第一数据卷与所述第一网络节点中的第二数据卷之间先前建立的关联,所述关联指定所述第二数据卷中所存储的数据将被复制在所述第一数据卷中;和
在所述先前建立的关联已经被终止之后,重新建立所述先前建立的关联。
37.驻留在计算机可读存储器中的计算机程序指令,所述计算机程序指令包括一组指令,所述一组指令当被第一处理器执行时使得:
响应于请求来执行与第一组海量存储设备相关联的第一数据存储相关操作;以及
在完成对所述第一数据存储相关操作的执行之后产生第一消息,所述第一消息可以从第一网络节点被发至第二网络节点中的第二处理器,以使得所述第二处理器响应于所述第一消息来向所述第二网络节点中的过程发出第二消息,所述第二处理器可以被可操作地配置成响应于来自所述过程的另一个请求而产生所述请求,并进行与第二组海量存储设备相关联的第二数据存储相关操作。
38.如权利要求37所述的计算机程序指令,其中:
所述第一组海量存储设备包括一个或多个相应海量存储设备;
所述第二组海量存储设备包括一个或多个相应海量存储设备;并且
所述第一消息被包括在帧中。
39.第一网络节点,包括:
第一处理器,所述第一处理器被配置成能够导致:
响应于第一请求来执行与第一组存储设备相关联的第一数据存储相关操作,所述第一组存储设备与所述第一网络节点相关联;以及
还响应于所述第一请求来从所述第一网络节点向第二网络节点发出第二请求,以使得所述第二网络节点中的第二处理器响应于所述第二请求来进行与第二组存储设备相关联的第二数据存储相关操作,所述第二组存储设备与所述第二网络节点相关联。
40.如权利要求39所述的第一网络节点,其中所述的存储设备组包括一组一个或多个海量存储设备。
41.如权利要求39所述的第一网络节点,其中所述第二网络节点远离所述第一网络节点。
42.第一网络节点,其包括:
第一处理器,所述第一处理器被配置成能够导致执行以下操作:
响应于请求来执行与第一组存储设备相关联的第一数据存储相关操作;以及
在完成对所述第一数据存储相关操作的执行之后,从第一网络节点向第二网络节点中的第二处理器发出第一消息,以使得所述第二处理器响应于所述第一消息来向所述第二网络节点中的过程发出第二消息,所述第二处理器可以被可操作地配置成响应于来自所述过程的另一个请求而产生所述请求,并进行与第二组海量存储设备相关联的第二数据存储相关操作。
43.如权利要求42所述的第一网络节点,其中:
所述第一组存储设备包括一个或多个相应海量存储设备;
所述第二组存储设备包括一个或多个相应海量存储设备;并且
所述第一消息被包括在帧中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/080,063 | 2002-02-19 | ||
US10/080,063 US7007142B2 (en) | 2002-02-19 | 2002-02-19 | Network data storage-related operations |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1636193A true CN1636193A (zh) | 2005-07-06 |
CN100580636C CN100580636C (zh) | 2010-01-13 |
Family
ID=27733137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN03804200A Expired - Fee Related CN100580636C (zh) | 2002-02-19 | 2003-02-03 | 网络数据存储相关操作 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7007142B2 (zh) |
EP (1) | EP1485787B1 (zh) |
CN (1) | CN100580636C (zh) |
AT (1) | ATE375555T1 (zh) |
AU (1) | AU2003207847A1 (zh) |
DE (1) | DE60316776T2 (zh) |
HK (1) | HK1070701A1 (zh) |
TW (1) | TWI293728B (zh) |
WO (1) | WO2003071412A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426271A (zh) * | 2017-03-21 | 2017-12-01 | 咪咕文化科技有限公司 | 一种服务器中数据处理方法及系统 |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7134139B2 (en) * | 2002-02-12 | 2006-11-07 | International Business Machines Corporation | System and method for authenticating block level cache access on network |
US7631313B2 (en) * | 2002-06-17 | 2009-12-08 | David Mayhew | System and method for transferring data |
JP4190859B2 (ja) * | 2002-10-28 | 2008-12-03 | 株式会社日立製作所 | 記憶装置の制御装置、及び記憶装置の制御装置の制御方法 |
US7188125B1 (en) * | 2002-12-19 | 2007-03-06 | Veritas Operating Corporation | Replication using a special off-host network device |
US8250202B2 (en) * | 2003-01-04 | 2012-08-21 | International Business Machines Corporation | Distributed notification and action mechanism for mirroring-related events |
US7516178B1 (en) * | 2004-01-21 | 2009-04-07 | Computer Associates Think, Inc. | Communicating messages between components in a client/server environment using a object broker |
US7940932B2 (en) * | 2004-04-08 | 2011-05-10 | Texas Instruments Incorporated | Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor |
US7962562B1 (en) | 2004-04-30 | 2011-06-14 | Netapp, Inc. | Multicasting message in a network storage system to local NVRAM and remote cluster partner |
US7200716B1 (en) * | 2004-04-30 | 2007-04-03 | Network Appliance, Inc. | Method and apparatus to offload operations in a networked storage system |
US7895286B1 (en) * | 2004-04-30 | 2011-02-22 | Netapp, Inc. | Network storage system with NVRAM and cluster interconnect adapter implemented in a single circuit module |
US7769913B1 (en) | 2004-04-30 | 2010-08-03 | Netapp, Inc. | Method and apparatus for assigning a local identifier to a cluster interconnect port in a network storage system |
JP4646574B2 (ja) * | 2004-08-30 | 2011-03-09 | 株式会社日立製作所 | データ処理システム |
US7707586B2 (en) * | 2004-09-08 | 2010-04-27 | Intel Corporation | Operating system independent agent |
CN100342352C (zh) * | 2005-03-14 | 2007-10-10 | 北京邦诺存储科技有限公司 | 一种可扩充的高速存储网络缓存系统 |
US20070005850A1 (en) * | 2005-06-29 | 2007-01-04 | Intel Corporation | Port multiplier mapping apparatus, systems, and methods |
US7730221B2 (en) * | 2005-06-30 | 2010-06-01 | Intel Corporation | LAN controller with bootable host bus adapter |
EP1811378A2 (en) * | 2006-01-23 | 2007-07-25 | Xyratex Technology Limited | A computer system, a computer and a method of storing a data file |
US9137179B2 (en) * | 2006-07-26 | 2015-09-15 | Hewlett-Packard Development Company, L.P. | Memory-mapped buffers for network interface controllers |
US7502873B2 (en) | 2006-10-10 | 2009-03-10 | International Business Machines Corporation | Facilitating access to status and measurement data associated with input/output processing |
US7500023B2 (en) | 2006-10-10 | 2009-03-03 | International Business Machines Corporation | Facilitating input/output processing by using transport control words to reduce input/output communications |
US20080177881A1 (en) * | 2007-01-19 | 2008-07-24 | Dell Products, Lp | System and Method for Applying Quality of Service (QoS) in iSCSI Through ISNS |
US7840718B2 (en) * | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing of data to suspend operations in an input/output processing log-out system |
US8214562B2 (en) * | 2008-02-14 | 2012-07-03 | International Business Machines Corporation | Processing of data to perform system changes in an input/output processing system |
US8001298B2 (en) * | 2008-02-14 | 2011-08-16 | International Business Machines Corporation | Providing extended measurement data in an I/O processing system |
US8166206B2 (en) * | 2008-02-14 | 2012-04-24 | International Business Machines Corporation | Cancel instruction and command for determining the state of an I/O operation |
US7917813B2 (en) | 2008-02-14 | 2011-03-29 | International Business Machines Corporation | Exception condition determination at a control unit in an I/O processing system |
US7890668B2 (en) * | 2008-02-14 | 2011-02-15 | International Business Machines Corporation | Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
US8117347B2 (en) | 2008-02-14 | 2012-02-14 | International Business Machines Corporation | Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system |
US8312189B2 (en) * | 2008-02-14 | 2012-11-13 | International Business Machines Corporation | Processing of data to monitor input/output operations |
US7899944B2 (en) | 2008-02-14 | 2011-03-01 | International Business Machines Corporation | Open exchange limiting in an I/O processing system |
US8108570B2 (en) * | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
US8196149B2 (en) * | 2008-02-14 | 2012-06-05 | International Business Machines Corporation | Processing of data to determine compatability in an input/output processing system |
US8478915B2 (en) * | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
US8095847B2 (en) | 2008-02-14 | 2012-01-10 | International Business Machines Corporation | Exception condition handling at a channel subsystem in an I/O processing system |
US8082481B2 (en) * | 2008-02-14 | 2011-12-20 | International Business Machines Corporation | Multiple CRC insertion in an output data stream |
US8176222B2 (en) | 2008-02-14 | 2012-05-08 | International Business Machines Corporation | Early termination of an I/O operation in an I/O processing system |
US7941570B2 (en) | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
US7840717B2 (en) * | 2008-02-14 | 2010-11-23 | International Business Machines Corporation | Processing a variable length device command word at a control unit in an I/O processing system |
US7908403B2 (en) * | 2008-02-14 | 2011-03-15 | International Business Machines Corporation | Reserved device access contention reduction |
US7904605B2 (en) * | 2008-02-14 | 2011-03-08 | International Business Machines Corporation | Computer command and response for determining the state of an I/O operation |
US7937507B2 (en) | 2008-02-14 | 2011-05-03 | International Business Machines Corporation | Extended measurement word determination at a channel subsystem of an I/O processing system |
US7430584B1 (en) | 2008-03-12 | 2008-09-30 | Gene Fein | Data forwarding storage |
US9203928B2 (en) | 2008-03-20 | 2015-12-01 | Callahan Cellular L.L.C. | Data storage and retrieval |
US7636761B1 (en) * | 2008-09-29 | 2009-12-22 | Gene Fein | Measurement in data forwarding storage |
US7636759B1 (en) * | 2008-09-29 | 2009-12-22 | Gene Fein | Rotating encryption in data forwarding storage |
US7599997B1 (en) * | 2008-08-01 | 2009-10-06 | Gene Fein | Multi-homed data forwarding storage |
US7636760B1 (en) | 2008-09-29 | 2009-12-22 | Gene Fein | Selective data forwarding storage |
US8458285B2 (en) * | 2008-03-20 | 2013-06-04 | Post Dahl Co. Limited Liability Company | Redundant data forwarding storage |
US7877456B2 (en) | 2008-04-08 | 2011-01-25 | Post Dahl Co. Limited Liability Company | Data file forwarding storage and search |
US8386585B2 (en) * | 2008-04-25 | 2013-02-26 | Tajitshu Transfer Limited Liability Company | Real-time communications over data forwarding framework |
US8452844B2 (en) * | 2008-05-07 | 2013-05-28 | Tajitshu Transfer Limited Liability Company | Deletion in data file forwarding framework |
US8370446B2 (en) * | 2008-07-10 | 2013-02-05 | Tajitshu Transfer Limited Liability Company | Advertisement forwarding storage and retrieval network |
US8599678B2 (en) | 2008-07-10 | 2013-12-03 | Tajitshu Transfer Limited Liability Company | Media delivery in data forwarding storage network |
US7937504B2 (en) | 2008-07-31 | 2011-05-03 | International Business Machines Corporation | Transport control channel program message pairing |
US8055807B2 (en) * | 2008-07-31 | 2011-11-08 | International Business Machines Corporation | Transport control channel program chain linking including determining sequence order |
US7904606B2 (en) | 2008-07-31 | 2011-03-08 | International Business Machines Corporation | Transport control channel program chain linked branching |
US8352635B2 (en) * | 2008-09-29 | 2013-01-08 | Tajitshu Transfer Limited Liability Company | Geolocation assisted data forwarding storage |
US8478823B2 (en) * | 2008-09-29 | 2013-07-02 | Tajitshu Transfer Limited Liability Company | Selective data forwarding storage |
US8171178B2 (en) * | 2008-12-15 | 2012-05-01 | Lsi Corporation | Scaling of small computer system interface input output (SCSI I/O) referrals |
US8918516B2 (en) * | 2009-05-01 | 2014-12-23 | Galixsys Networks Llc | Symbiotic client and server for embedded network system |
CN102498693A (zh) * | 2009-09-14 | 2012-06-13 | 日本电气株式会社 | 通信系统、节点、控制服务器、通信方法及程序 |
US8332542B2 (en) | 2009-11-12 | 2012-12-11 | International Business Machines Corporation | Communication with input/output system devices |
US8364853B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US9021155B2 (en) | 2011-06-01 | 2015-04-28 | International Business Machines Corporation | Fibre channel input/output data routing including discarding of data transfer requests in response to error detection |
US8677027B2 (en) | 2011-06-01 | 2014-03-18 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8738811B2 (en) | 2011-06-01 | 2014-05-27 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8364854B2 (en) | 2011-06-01 | 2013-01-29 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
US8583988B2 (en) | 2011-06-01 | 2013-11-12 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
JP5422611B2 (ja) * | 2011-06-24 | 2014-02-19 | 株式会社日立製作所 | 計算機システム、ホストバスアダプタ制御方法及びそのプログラム |
US8473641B2 (en) | 2011-06-30 | 2013-06-25 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8549185B2 (en) | 2011-06-30 | 2013-10-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8346978B1 (en) | 2011-06-30 | 2013-01-01 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
US8312176B1 (en) | 2011-06-30 | 2012-11-13 | International Business Machines Corporation | Facilitating transport mode input/output operations between a channel subsystem and input/output devices |
CN102567495B (zh) * | 2011-12-22 | 2013-08-21 | 国家电网公司 | 一种海量信息存储系统及实现方法 |
US8918542B2 (en) | 2013-03-15 | 2014-12-23 | International Business Machines Corporation | Facilitating transport mode data transfer between a channel subsystem and input/output devices |
US8990439B2 (en) | 2013-05-29 | 2015-03-24 | International Business Machines Corporation | Transport mode data transfer between a channel subsystem and input/output devices |
US9436750B2 (en) * | 2013-11-06 | 2016-09-06 | Verizon Patent And Licensing Inc. | Frame based data replication in a cloud computing environment |
US9864861B2 (en) * | 2014-03-27 | 2018-01-09 | Intel Corporation | Object oriented marshaling scheme for calls to a secure region |
US10681137B2 (en) | 2017-12-22 | 2020-06-09 | Samsung Electronics Co., Ltd. | System and method for network-attached storage devices |
US10990480B1 (en) * | 2019-04-05 | 2021-04-27 | Pure Storage, Inc. | Performance of RAID rebuild operations by a storage group controller of a storage system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5157663A (en) * | 1990-09-24 | 1992-10-20 | Novell, Inc. | Fault tolerant computer system |
US5901327A (en) * | 1996-05-28 | 1999-05-04 | Emc Corporation | Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring |
US7389312B2 (en) * | 1997-04-28 | 2008-06-17 | Emc Corporation | Mirroring network data to establish virtual storage area network |
US6209002B1 (en) | 1999-02-17 | 2001-03-27 | Emc Corporation | Method and apparatus for cascading data through redundant data storage units |
JP4044717B2 (ja) | 2000-03-31 | 2008-02-06 | 株式会社日立製作所 | 記憶サブシステムのデータ二重化方法及びデータ二重化システム |
US6629213B1 (en) * | 2000-05-01 | 2003-09-30 | Hewlett-Packard Development Company, L.P. | Apparatus and method using sub-cacheline transactions to improve system performance |
-
2002
- 2002-02-19 US US10/080,063 patent/US7007142B2/en not_active Expired - Fee Related
-
2003
- 2003-02-03 WO PCT/US2003/003409 patent/WO2003071412A2/en active IP Right Grant
- 2003-02-03 EP EP03706086A patent/EP1485787B1/en not_active Expired - Lifetime
- 2003-02-03 CN CN03804200A patent/CN100580636C/zh not_active Expired - Fee Related
- 2003-02-03 AT AT03706086T patent/ATE375555T1/de not_active IP Right Cessation
- 2003-02-03 AU AU2003207847A patent/AU2003207847A1/en not_active Abandoned
- 2003-02-03 DE DE60316776T patent/DE60316776T2/de not_active Expired - Lifetime
- 2003-02-18 TW TW092103297A patent/TWI293728B/zh not_active IP Right Cessation
-
2005
- 2005-01-27 HK HK05100720A patent/HK1070701A1/xx not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426271A (zh) * | 2017-03-21 | 2017-12-01 | 咪咕文化科技有限公司 | 一种服务器中数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
DE60316776D1 (de) | 2007-11-22 |
DE60316776T2 (de) | 2008-08-28 |
WO2003071412A2 (en) | 2003-08-28 |
US20030158998A1 (en) | 2003-08-21 |
WO2003071412A3 (en) | 2004-10-07 |
TW200306473A (en) | 2003-11-16 |
AU2003207847A8 (en) | 2003-09-09 |
EP1485787B1 (en) | 2007-10-10 |
ATE375555T1 (de) | 2007-10-15 |
CN100580636C (zh) | 2010-01-13 |
HK1070701A1 (en) | 2005-06-24 |
US7007142B2 (en) | 2006-02-28 |
AU2003207847A1 (en) | 2003-09-09 |
TWI293728B (en) | 2008-02-21 |
EP1485787A2 (en) | 2004-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100580636C (zh) | 网络数据存储相关操作 | |
CN100380334C (zh) | 启用远程直接存储器存取的网络接口控制器切换方法 | |
US8719520B1 (en) | System and method for data migration between high-performance computing architectures and data storage devices with increased data reliability and integrity | |
US9804788B2 (en) | Method and apparatus for transferring information between different streaming protocols at wire speed | |
US7143122B2 (en) | Data replication in data storage systems | |
CN100544310C (zh) | 为通过网络的数据传输管理存储器的方法、系统和程序 | |
US10496308B2 (en) | Using pseudo DSN memory units to handle data in motion within a DSN memory | |
US11074129B2 (en) | Erasure coded data shards containing multiple data objects | |
US20020194428A1 (en) | Method and apparatus for distributing raid processing over a network link | |
US7296068B1 (en) | System and method for transfering volume ownership in net-worked storage | |
US7634616B2 (en) | Remote disk control apparatus, and remote disk control method | |
US20090271659A1 (en) | Raid rebuild using file system and block list | |
CN1708742A (zh) | 在存储区域网中实现存储虚拟化的方法与装置 | |
CN1967495A (zh) | 用于传送数据块的方法和系统 | |
CN1920785A (zh) | 存储系统中的强制端到端完整性检查的设备、系统和方法 | |
US7260681B2 (en) | Stripe buffer list | |
US7483911B2 (en) | Sending log records directly from log buffer | |
US7143176B2 (en) | Data communication with a protocol that supports a given logical address range | |
EP1349059A2 (en) | Method and apparatus for verifying data in a storage system | |
US11256448B2 (en) | Network storage gateway | |
US7996712B2 (en) | Data transfer controller, data consistency determination method and storage controller | |
CN1285035C (zh) | 数据存储 | |
US10157021B2 (en) | Processing incomplete data access transactions | |
US10506042B2 (en) | Storage system that includes a plurality of routing circuits and a plurality of node modules connected thereto | |
CN115664883A (zh) | 具有高效存储协议仿真的网络适配器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100113 Termination date: 20170203 |
|
CF01 | Termination of patent right due to non-payment of annual fee |