CN100437459C - 数据存储系统和数据存储控制装置 - Google Patents
数据存储系统和数据存储控制装置 Download PDFInfo
- Publication number
- CN100437459C CN100437459C CNB2006100723650A CN200610072365A CN100437459C CN 100437459 C CN100437459 C CN 100437459C CN B2006100723650 A CNB2006100723650 A CN B2006100723650A CN 200610072365 A CN200610072365 A CN 200610072365A CN 100437459 C CN100437459 C CN 100437459C
- Authority
- CN
- China
- Prior art keywords
- control module
- data
- adapter
- control
- responsible
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
- G06F2212/284—Plural cache memories being distributed
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
一种存储系统,具有用于控制存储设备的多个控制模块,所述存储设备用于供分别支持不同协议的大型主机和开放系统单元进行访问。分立地提供开放通道适配器和主机通道适配器。该主机通道适配器经由前端路由选择器与多个控制管理器连接,并且并行地执行来自大型主机的写访问用于镜像。在对于大型主机的写处理中,保持连接直到完成处理。具体地,即使在写未命中的情况下,也可以并行地执行读盘处理,因此有助于在写未命中情况下的高速处理。另外,对于来自开放系统主机的访问,可以获得高吞吐量。
Description
技术领域
本发明涉及一种用作计算机的外部存储设备的数据存储系统和一种数据存储控制装置的构成,更具体地,涉及一种数据存储系统和一种数据存储控制装置,该数据存储系统组合并且连接多个单元以构成连接多种盘设备的性能高和灵活性好的数据存储系统。
背景技术
近年来,由于各种数据被构造成电子形式并由计算机处理,因此独立于处理数据的主计算机的能够以良好的效率和高的可靠性存储大量数据的数据存储装置(外部存储装置)的重要性增加。
作为这种数据存储装置,由大量盘设备(例如,磁盘驱动器和光盘驱动器)和用于控制上述大量盘设备的盘控制器构成的盘阵列装置已投入使用。盘阵列装置可以通过同时接收来自多个主计算机的盘访问请求而控制所述大量盘设备。近年来,已提供了这样一种盘阵列装置,通过使用单个盘阵列装置能够控制几千或更多数量的盘设备、或者在存储容量方面为几百兆兆或更大的盘设备组。
这种盘阵列装置结合有起盘缓存作用的存储器。由此,可以减少当从主计算机接收到读请求或写请求时所需的数据访问时间,从而可以获得高性能。
通常,盘阵列装置由多种主要单元构成,即,设置在至主计算机的连接部分中的通道适配器、设置在至盘驱动器的连接部分中的盘适配器、用于整体控制缓存存储器和盘阵列装置的控制单元、以及大量盘驱动器。
图15示出了根据本发明第一种传统示例的盘阵列装置100的构成图。如图15所示,传统的盘阵列装置100由多个主要单元构成,包括:控制管理器(在图中表示为CM)10,每个均具有缓存存储器和缓存控制单元;通道适配器(图中表示为CA)11,用于与主计算机(图中未示出)相接口;盘柜(disk enclosure)12,每个均具有多个盘驱动器;以及盘适配器(图中表示为DA)13,用于与上述盘柜12相接口。
另外,设置有路由选择器(图中表示为RT)14,用于在控制管理器10、通道适配器11和盘适配器13之间互连以在这些主要单元之间进行数据传送和通信。
在上述盘阵列装置100中设置有四个控制管理器10。此外,与控制管理器10相对应地设置四个路由选择器14。上述控制管理器10和路由选择器14一一对应地互连。这样,所述多个控制管理器10之间的连接被冗余,从而增加了可用性(例如,日本未审专利特开2001-256003号公报)。
即,在其中一个路由选择器14出故障的情况下,通过使数据经过另一路由选择器14而可以保证所述多个控制管理器10之间的连接。因此,即使在这种情况下盘阵列装置100也可以继续正常操作。
另外,在上述盘阵列装置100中,两个通道适配器11和两个盘适配器13连接至各路由选择器14。通道适配器11和盘适配器13可以通过控制管理器10与路由选择器14之间的相互连接而与任一控制管理器10通信。
而且,通道适配器11通过例如Fibre Channel(光纤通道)和Ethernet(注册商标)与处理数据的主计算机(未示出)连接。同时,盘适配器13通过例如Fiber Channel线缆与盘柜12(通常为盘驱动器组)连接。
另外,在通道适配器11与控制管理器10之间、以及在盘适配器13与控制管理器10之间进行各种信息的交换(例如,在多个缓存存储器之间的数据镜像处理),来保持盘阵列装置100中的操作的一致性以及来自主计算机的用户数据的一致性。
在上述盘阵列装置100中,基于所安装的各个盘的各个地址预先分配负责缓存功能的控制管理器。因此,当接收到来自主机的盘访问请求时,首先盘阵列装置100需要执行用于确定负责所请求的地址的控制管理器的操作。另外,由于缓存存储器由易失性存储器构成,因此有必要进行镜像,即将相同的数据存储在另一控制管理器的缓存存储器中,以备出现故障。
即,在来自主计算机的写操作的情况下,首先将来自主计算机的数据接收在通道适配器11中。通道适配器11询问一个控制管理器10哪个控制管理器10负责主机所请求的盘。之后,通道适配器11将数据写入设置在该负责的控制管理器10中的缓存存储器中。当写操作正常完成时,通道适配器11向主计算机发送完成通知。
同样地,当接收到来自主计算机的读请求时,通道适配器11询问一个控制管理器10哪个控制管理器10负责所请求的数据。之后,通道适配器11请求该负责的控制管理器10发送所读数据。
如果所关心的数据存在于缓存存储器中,则所接收的控制管理器10立即将所读数据通知给通道适配器11。相反,如果所关心数据不存在于缓存存储器中,则控制管理器10请求盘适配器13从盘中读取数据。
盘适配器13从盘中读取数据,然后盘适配器13将该数据写入负责的控制管理器10的缓存存储器中。响应于上述数据写入,该负责的控制管理器10通知通道适配器11可以读取数据。在接收到上述通知时,通道适配器11从缓存存储器读取数据,而后将所读数据传送给主计算机。
图16示出了第二种传统技术的解释图。图16中所示的盘阵列装置102包括四(4)个控制管理器(缓存存储器和控制单元)10。各控制管理器(CM)10与通道适配器(CA)11和盘适配器(DA)13连接。
另外,四个控制管理器10通过一对路由选择器14互连,从而相互之间可以通信。通道适配器11通过Fibre Channel或Ethernet(注册商标)与(一个或多个)主计算机(未示出)连接。此外,盘适配器13通过例如Fiber Channel线缆与盘柜12中的盘驱动器连接。
另外,盘柜12具有两个与不同盘适配器13连接的端口(例如,光纤通道端口)。这样,在构成中提供了冗余,从而增加了容错性。
通过上述路由选择器14,进行各种类型信息的交换(例如,在多个缓存存储器之间的数据镜像处理),以保持盘阵列单元102内操作的一致性。
在上述第二种传统示例中,通道适配器11接收来自主计算机的写数据,并在连接的状态下将写数据传送给控制管理器10。当接收到写数据时,控制管理器10确认负责的控制管理器10,如果接收到数据的控制管理器正在负责,则所关心控制管理器10通知通道适配器11已完成数据写处理。同时,如果另一控制管理器10负责相应数据,则将数据传送给该负责的其它控制管理器10,并向通道适配器11通知数据处理的完成。当从该负责的控制管理器10接收到通知时,通道适配器11向主机发送写完成通知。
在接收到来自主计算机的读请求的情况下,通道适配器11首先同样在连接的状态下向控制管理器10发出请求。当接收到上述请求时,控制管理器10确定负责的控制管理器。如果接收该请求的控制管理器正在负责,则所关心的控制管理器10从缓存存储器提取数据,或通过盘适配器13从盘中读取数据,而后将所读取的数据传送给通道适配器11。
另一方面,在另一控制管理器10负责的情况下,向该负责的相应控制管理器10发送请求。该负责的控制管理器10然后通过与上述相似的读操作向通道适配器11发送返回数据。通道适配器11然后将从控制管理器10接收的数据传送给主计算机。
随着近年来电子数据的传播的盛行,存在着对大容量和高速度的数据存储系统的需求。在上述两个传统示例所示的各个存储单元中,已实现高的可用性和灵活性。然而,在一些方面,不足以支持多个主机接口类型。
即,支持类型根据主机接口的协议和吞吐量的不同而不同。例如,对于Fibre Channel和iSCSI(互联网小型计算机系统接口),它们是用于例如UNIX(注册商标)服务器或IA(网络应用)服务器的所谓开放系统主计算机的接口,需要200MB/s或更高的高吞吐量。相反,在用于大型主计算机的接口的FICON(注册商标)和ESCON(注册商标)中,如果提供20MB/s至200MB/s或该级别的吞吐量就足够了。
主机所期望的响应时间也不同。在开放系统主机的情况下,在发送请求之后,至存储设备的连接立即断开,同时执行其它处理。另一方面,在大型主机的情况下,在大多数情况下执行从第一次请求发送、数据传送到状态接收等的一系列处理,为此保持至存储设备的连接。因此,大型主机需要较短的用于一次数据传送的响应时间。
在待支持这些具有不同类型的协议或吞吐量的多个主机接口的情况下,根据使用第一种传统技术的构成,因为通道适配器至控制管理器之间、盘适配器与控制管理器之间、以及各个控制管理器之间的全部路径都经过路由选择器,所以在路由选择器中易于产生吞吐量瓶颈。简而言之,可以说通过这种构成,难以提供具有足够吞吐量的通道适配器。
另外,根据使用第二种传统技术的构成,因为通道适配器与控制管理器之间、盘适配器与控制管理器之间、以及各个控制管理器之间连接的总线全部独立,所以不会出现吞吐量问题。然而,在有些情况下难以满足主机所需的响应速度。
下面将以产生相当低的响应速度为例来描述上述情况。考虑用来自主机的数据重写盘上的部分数据的情况,由于盘数据受到基于一定数据单元的检验码的保护,因此当要重写部分数据时,有必要使用数据单元的剩余部分以及要重写的确切部分来重新生成检验码。如果剩余数据并不存在于缓存中,则即使在写处理的情况下也必须从盘中进行读取操作,这需要相当长的响应时间。
具体地,根据第二种传统技术,存在负责主机所请求的数据的控制管理器没有与接收该来自主机的请求的通道适配器连接的情况。在这种情况下,响应时间仍然较长。在下面描述中,为说明起见,将接收了来自主机的请求的通道适配器与之连接的控制管理器称为CM-R(接收CM),将负责所关心数据的控制管理器称为CM-M(主CM),并将具有缓存数据的镜像数据的控制管理器称为CM-S(从CM)。
(1)通道适配器11接收来自主机的写数据。
(2)为了生成检验码,盘适配器13从盘中读取剩余数据。
(3)盘适配器13将数据写入控制管理器CM-M。
(4)控制管理器CM-M将数据传送给控制管理器CM-R。
(5)通道适配器11将数据写入控制管理器CM-R。
(6)控制管理器CM-R生成对应于新数据的检验码,并将所生成的检验码传送给控制管理器CM-M、CM-S。
另外,根据上述第二种传统的盘阵列装置,为了增加容量和/或速度,当要附加安装一组或多组控制管理器10、通道适配器11和/或盘适配器13时,需要增加盘柜12的端口数量,并且还要增加盘适配器13与盘柜12之间连接线缆的数量。
当增加盘柜12的端口数量时,还要增加数量与连接至一个盘柜的盘适配器的数量相对应的线缆。这需要较大的安装空间,并因此带来较大设备尺寸。另外,由于就冗余构造而言,一个盘柜有两个路径系统就足够了,因此并不建议增加端口数量。另外,由于所连接的盘适配器的数量并不恒定而是根据用户请求而改变,因此如果增加大数量的端口,则对于小数量的盘适配器变得浪费。另一方面,如果增加小数量的端口,则不可能应付大数量的盘适配器。即,丧失了通用性。
同时,在第一种传统的盘阵列单元中,当构造设置有多个主要单元的大型盘阵列单元时,在控制管理器10与路由选择器14之间连接线的数量急剧增加。这样产生复杂的连接关系,从而难以进行物理安装。
例如,在图15所示的构造中,如图17所示,盘阵列装置具有这样的安装结构,即四(4)个控制管理器10与四(4)个路由选择器14通过背板15连接。在这种情况下,如前所述,信号线的数量变为4×4×[每路径信号线的数量],如图15所示。例如,如前所述,当一个路径连接由64位PCI(并联总线)构成时,在背板15上包括控制线在内的信号线的数量变为大约1600(=4×4×100)。为了对上述信号线进行布线,用于背板15的印刷板需要六个信号层。
在例如由通过背板15连接的八(8)个控制管理器(四片)10和八(8)个路由选择器(四片)14构成的大型构成的情况下,所需信号线的数量达到大约6400(=8×8×100)。在这种情况下用于背板15的印刷板需要上述的四倍,即24层。这是难以实现的。
代替64位PCI总线,当假设通过减少了信号线的4道PCI-Express总线连接的情况时,所需的信号线数量变为1024(=8×8×16)。与66MHz的PCI总线相比,PCI-Express总线在速度方面为2.5Gbps的高速总线。为了保持高速总线的信号质量,对于基底有必要使用昂贵的材料。
另外,当使用低速总线时,可以使用过孔在布线层之间互换。另一方面,在高速总线中使用过孔会使信号质量变差,这是要避免的。因此,当使用高速总线时,有必要将全部信号线分配为相互不相交。与具有相同数量的信号线的低速总线相比,基底需要大致二倍之多的信号层,例如十二个信号层。另外,基底要用昂贵材料构成,这是不实际的。
另外,在第一种传统的盘阵列装置100中,如果在其中一个路由选择器14中出现故障,则与出故障的路由选择器14从属连接的通道适配器11和盘适配器13在路由选择器14中出现故障时立即不可用。
发明内容
因此,本发明的一个目的是提供一种数据存储系统和一种数据存储控制装置,用于改善对大型主机的响应时间和开放系统主机的吞吐量这两者。
本发明的另一目的是提供一种数据存储系统和一种数据存储控制装置,用于在与大型主机和开放系统主机的各个接口中实现适当的吞吐量。
本发明的又一目的是提供一种数据存储系统和一种数据存储控制装置,用于容易地实现小型至大型的结构而不会产生安装问题,确保大型主机和开放系统主机两者的高吞吐量和高冗余性。
为了实现上述目的,一种根据本发明的数据存储系统包括:用于存储数据的多个存储器设备;多个控制模块,它们根据来自主机单元和开放系统单元的访问指令而访问所述存储器设备;第一通道适配器,其执行对所述主机单元的接口控制;以及切换单元,其与所述第一通道适配器和所述多个控制模块连接,用于选择地切换所述第一通道适配器和所述多个控制模块之间的连接。上述各个控制模块包括:缓存存储器,其存储在所述存储器设备中存储的数据的一部分;第二通道适配器,其执行对所述开放系统单元的接口控制;盘适配器,用于执行对所述多个存储器设备的接口控制;以及控制单元,其响应于所述访问而控制所述缓存存储器,并经由所述盘适配器访问所述存储器设备。
另外,根据本发明,一种数据存储控制单元装置,包括:多个控制模块,它们根据来自主机单元和开放系统单元的访问指令而访问用于存储数据的多个存储器设备;第一通道适配器,其执行对上级主机单元的接口控制;以及切换单元,其与所述第一通道适配器和所述多个控制模块连接,用于选择地切换所述第一通道适配器和所述多个控制模块之间的连接。上述各个控制模块包括:缓存存储器,其存储在所述存储器设备中存储的数据的一部分;第二通道适配器,其执行对所述开放系统单元的接口控制;盘适配器,用于执行对所述多个存储器设备的接口控制;以及控制单元,其响应于所述访问而控制所述缓存存储器,并经由所述盘适配器访问所述存储器设备。
另外,根据本发明,优选地,所述第一通道适配器响应于来自所述主机单元的写访问,并行地访问负责作为写访问的目标的写数据的控制模块与具有该负责的控制模块的镜像数据的另一控制模块,以执行镜像。
另外,根据本发明,优选地,所述负责的控制模块确定目标写数据块是否存在于控制模块的缓存存储器中,并且当确定了目标写数据不存在的写未命中(miss)时,所述负责的控制模块和所述另一控制模块二者都访问存储目标数据块的存储器设备,并读取所述目标数据块。
另外,根据本发明,优选地,根据所述主机单元的协议,所述第一通道适配器从开始访问到结束访问与所述主机单元连接,同时根据所述开放系统单元的协议,所述第二通道适配器在接收到来自所述开放系统单元的访问时断开与所述开放系统单元的连接。
另外,根据本发明,优选地,在所述多个控制模块与所述多个存储器设备之间设置有多个其它切换单元,并在各个控制模块的盘适配器与所述多个存储器设备之间选择性地切换,并且所述多个控制模块和所述多个其它切换单元通过背板连接。
另外,根据本发明,优选地,所述控制模块使所述控制单元通过低等待时间的高速串行总线与所述第二通道适配器连接,并且所述第二通道适配器借助于所述背板通过串行总线与所述多个其它切换单元连接。
另外,根据本发明,优选地,各控制模块和所述其它切换单元通过所述背板连接,并且所述其它切换单元和所述多个存储器设备通过线缆连接。
另外,根据本发明,优选地,各控制模块和所述切换单元通过所述背板连接,并且所述切换单元和所述第一通道适配器通过所述背板连接。
另外,根据本发明,优选地,所述控制模块使所述控制单元通过低等待时间的高速串行总线与所述第二通道适配器连接。
另外,根据本发明,优选地,各个控制模块中的所述控制单元确定通过所连接的第二通道适配器而来自所述开放系统单元的数据访问的目标是否是该控制单元负责的数据,并且当数据访问的目标不是该控制单元负责的数据时,所述控制单元经由所述切换单元请求负责该数据的另一控制单元访问由所述开放系统单元请求的数据。
从下面结合附图对实施例的描述,将更清楚本发明的进一步范围和特征。
附图说明
图1示出了根据本发明一个实施例的数据存储系统的结构图。
图2示出了图1中所示的控制模块的结构图。
图3示出了图1和图2中所示的后端路由选择器和盘柜的结构图。
图4示出了图1和图3中所示的盘柜的结构图。
图5示出了说明根据本发明一个实施例的控制模块的安装结构的视图。
图6示出了根据图5中所示的实施例的存储系统的框图。
图7示出了根据本发明一个实施例大型主机的读/写处理的解释图。
图8示出了图7中所示的“写命中(hit)”处理的解释图。
图9示出了图7中所示的“写未命中”处理的解释图。
图10示出了图7中所示的读处理的解释图。
图11示出了图7中所示的“读命中”处理的解释图。
图12示出了图7中所示的“读未命中”处理的解释图。
图13示出了根据本发明一个实施例的开放系统主机的读/写处理的解释图。
图14示出了图7和图13中所示的结构中回写(write back)处理的解释图。
图15示出了第一种传统存储系统的结构图。
图16示出了第二种传统存储系统的结构图。
图17示出了说明图15中所示的第一种传统存储系统的安装结构的视图。
具体实施方式
下面将按着数据存储系统、安装结构、由大型主机访问的读/写处理、由开放系统主机访问的读/写处理这样的顺序来描述本发明的优选实施例以及其它实施例。
数据存储系统
图1示出了根据本发明一个实施例的数据存储系统的结构图;图2示出了图1中所示的控制模块的结构图;图3示出了图1中所示的后端路由选择器和盘柜的结构图;而图4示出了图1和图3中所示的盘柜的结构图。
在图1中,显示了具有四(4)个控制模块的中型存储系统的示例。如图1所示,存储系统1包括:多个用于保持数据的盘柜2-0至2-n;多个(这里为四个)控制模块(或控制管理器)4-0至4-3;多个(这里为两个)后端路由选择器(第一切换单元,在图中显示为BRT,以下也称为BRT)5-0至5-1,它们设置在所述多个控制模块4-0至4-3与所述多个盘柜2-0至2-n之间;以及多个(这里为两个)前端路由选择器(第二切换单元,在图中显示为FRT,以下也称为FRT)6-0、6-1。
每个控制模块4-0至4-3都包括控制管理器(控制单元)40、通道适配器(第二上级接口部,在图中显示为CA-O)41、以及盘适配器(下级接口部,在图中显示为DA)42。上述通道适配器41直接连接至控制管理器40,并且还连接至开放系统主机(未示出)。同时,盘适配器42具有一对分别与BRT 5-0、5-1连接的端口。
另外,每个FRT 6-0、6-1连接至相应控制管理器40,并且还连接至第二通道适配器(第一上级接口部,图中显示为CA-M)44。上述各个第一通道适配器44连接至大型主机(未示出)。
即,根据本发明的优选实施例,设置有用于大型主机的第一上级接口部44和用于开放系统主机的第二上级接口部41。各控制管理器40通过FRT 6-0、6-1连接至第一上级接口部44,并且还直接连接至第二上级接口部41。
参照图2,下面将描述各控制模块4-0至4-3。控制管理器40设置成用于基于来自主计算机的处理请求(读请求或写请求)执行读/写处理。控制管理器40包括缓存存储器40b和缓存控制单元40a。
缓存存储器40b保持在盘柜2-0至2-n中的多个盘上保持的数据的一部分,并起到所述多个盘的所谓缓存的作用。缓存控制单元40a控制缓存存储器40b、通道适配器41、盘适配器42和DMA(直接存储器存取)部43。为此,缓存控制单元40a包括一个或多个(这里为两个)CPU 400、410以及存储器控制器420。存储器控制器420控制各个存储器的读/写操作,并且还切换路径。
存储器控制器420通过存储器总线434连接至缓存存储器40b,通过CPU总线430、432连接至CPU 400、410。另外,存储器控制器420通过后面将描述的4道高速串行总线(例如,PCI-Express总线)440、442连接至盘适配器42(42a、42b)。同样地,存储器控制器420通过4道高速串行总线(例如,PCI-Express)443、444、445、446连接至第二通道适配器41(41a、41b、41c、41d),并且还通过4道高速串行总线(例如,PCI-Express)447、448连接至DMA桥接电路43-a、43-b。
如后面将描述的,通过分组进行通信并提供多道串行总线,即使减少信号线的数量,上述高速总线(例如,PCI-Express总线)也可以以高响应速度和小延迟(所谓的低等待时间)进行通信。
第二通道适配器41a至41d是用于开放系统主机的接口。第二通道适配器41a至41d连接至不同的主计算机。另外,优选地,第二通道适配器41a至41d中的每一个通过总线(例如,Fibre Channel或iSCSI)与相应主计算机的接口部连接。在这种情况下,使用光纤或同轴电缆作为总线。
另外,第二通道适配器41a至41d中的每一个被构造成各控制管理器4-0至4-3的一部分。此外,作为与相应主计算机和相应控制模块的接口部,有必要支持多种协议。由于取决于相应主计算机,待加载的协议并不相同,因此必要的是各个通道适配器41a至41d可以根据需要容易地交换。为此,各个通道适配器41a至41d安装在与用于控制管理器40的印刷板不同的印刷板上,控制管理器40是各个控制模块4-0至4-3的主要单元,这将在后面图6中描述。
例如,作为待在与主计算机接口的第二通道适配器41a至41d中支持的协议,如上所述可利用与Ethernet(注册商标)兼容的Fibre Channel和iSCSI(互联网小型计算机系统接口)。另外,如前所述,各通道适配器41a至41d通过设计成用于在LSI(大规模集成电路)和印刷板之间连接的总线(例如,PCI-Express总线)直接与控制管理器40连接。这样,可以在各个通道适配器41a至41d与控制管理器40之间获得所需的高吞吐量。
盘适配器42a、42b是用于盘柜2-0至2-n中的盘驱动器的接口。盘适配器42a、42b与连接至盘柜2-0至2-n的BRT 5-0至5-1连接,这里它们具有四个Fiber-Channel(FC)端口。
另外,如前所述,各个盘适配器42a、42b通过被设计成用于在LSI(大规模集成电路)和印刷板之间连接的总线(例如,PCI-Express总线)直接与控制管理器40连接。这样,可以在各个盘适配器42a、42b与控制管理器40之间获得所需的高吞吐量。
第一通道适配器44是用于大型主机的接口,各与不同的主计算机连接。另外,优选地,每个第一通道适配器44通过例如FICON(注册商标)或ESCON(注册商标)的总线与相应主计算机的接口部连接。在这种情况下,使用光纤或同轴电缆作为总线。
另外,每个上述第一通道适配器44通过FRT 6-0、6-1与控制管理器40的各个DMA桥接部43-a、43-b连接。上述DMA桥接部43-a、43-b由具有DMA电路和桥接电路的DMA桥接电路构成。
此外,作为与相应大型主计算机和控制模块4-0至4-3的接口部,有必要支持多种协议。由于取决于相应主计算机,待加载的协议不同,因此必要的是各个第一通道适配器44可以根据需要容易地交换。为此,各个第一通道适配器44安装在与用于控制管理器40的印刷板不同的印刷板上,控制管理器40是各个控制模块4-0至4-3的主要单元,这将在后面图6中描述。
例如,作为由第一通道适配器44支持的待与大型主计算机接口的协议,如上所述有FICON、ESCON等。另外,如图1和图3所示,BRT 5-0至5-1是多端口切换器,用于在控制模块4-0至4-3的各个盘适配器42a、42b与各个盘柜2-0至2-n之间有选择地切换和连接路径,使它们之间能够通信。
如图3所示,各个盘柜2-0至2-n与多个(这里为两个)BRT 5-0、5-1连接。如图4所示,均具有两个端口的多个盘驱动器200安装在各个盘柜2-0至2-n上。上述各个盘柜2-0至2-n包括多个单元盘柜20-0至23-0,每个均具有四个连接端口210、212、214和216。为了扩大容量,将上述单元盘柜串联连接。
在盘柜20-0至23-0内部,通过来自两个端口210、212的一对FC线缆,各个盘驱动器200的端口与这两个端口210、212连接。如已在图3中描述,上述两个端口210、212与不同的BRT 5-0、5-1连接。
如图1和图3所示,各个控制模块4-0至4-3中的各盘适配器42a、42b与全部盘柜2-0至2-n连接。更具体地,各个控制模块4-0至4-3中的盘适配器42a与连接至盘柜2-0至2-n的BRT 5-0连接(参照图3),并且还与连接至盘柜2-0至2-n的BRT 5-1连接。
这样,多个(这里为两个)BRT 5-0、5-1与各个盘柜2-0至2-n连接。同时,各个相同控制模块4-0至4-3中的不同盘适配器42a、42b与连接至各个相同盘柜2-0至2-n的两个BRT 5-0、5-1中的每一个连接。
利用这种结构,各个控制模块4-0至4-3可以通过任一盘适配器42a、42b访问全部盘柜(盘驱动器)2-0至2-n。
另外,各个上述盘适配器42a、42b构造成各个控制模块4-0至4-3的一部分,并安装在控制管理器40(各个控制模块4-0至4-3的主要单元)的电路板上。此外,各个盘适配器42a、42b通过例如PCI(外围元件互连)总线直接与控制管理器40耦合。这样,可以在各个盘适配器42a、42b与控制管理器40之间获得所需的高吞吐量。
另外,如图2所示,各个盘适配器42a、42b通过Fibre Channel和Ethernet(注册商标)与各个相应的BRT 5-0至5-1连接。在这种情况下,如后面描述,通过电力布线在背板的印刷板上设置总线。
如前所述,各个控制模块4-0至4-3的盘适配器42a、42b与BRT 5-0至5-1之间的连接由一对一网形连接构成,从而与全部盘柜连接。因此,当控制模块4-0至4-3的数量(或者盘适配器42a、42b的数量)增加时,连接的数量增加。这导致复杂的连接关系,使得难以进行物理安装。然而,通过采用具有少量的信号线的Fibre Channel构成接口,盘适配器42a、42b与BRT 5-0至5-1之间的连接可以安装在印刷板上。
此外,当各个盘适配器42a、42b通过Fibre Channel与相应BRT 5-0至5-1连接时,BRT 5-0至5-1用作Fibre Channel的切换器。同样地,例如由Fibre Channel构成各个BRT 5-0至5-1与相应盘柜2-0至2-n之间的连接。在这种情况下,因为模块不同,所以通过使用光缆500、510构成上述连接(参见图3)。
如图1和图2所示,DMA桥接部43设置成经由前端(FRT)6-0、6-1与第一通道适配器44和其它控制模块4-0至4-3相互通信。DMA桥接部43负责向/从通道适配器44和其它控制模块4-0至4-3的通信和数据传输处理。
各个控制模块4-0至4-3的各个DMA桥接部43构造成各个控制模块4-0至4-3的一部分,并安装在控制管理器40(各个控制模块4-0至4-3的主要单元)的电路板上。另外,各个DMA桥接部43通过上述高速串行总线直接与控制管理器40耦合,并且还经由FRT 6-0、6-1与第一通道适配器44和其它控制模块4-0至4-3的DMA桥接部43通信。
FRT 6-0、6-1与多个(具体为三个或更多,这里为四个)控制模块4-0至4-3的DMA桥接部43连接,并还与多个第一通道适配器44连接。FRT 6-0和6-1有选择地切换上述连接,以在它们之间进行通信。利用这种结构,各个第一通道适配器44在来自主计算机的访问请求等起动的情况下,经由FRT 6-0、6-1执行向/从多个控制管理器40的通信和数据传送处理(例如,镜像)。
而且如图2所示,各个控制模块4-0至4-3的各个DMA桥接部43由多个(这里为两个)DMA桥接部43-a、43-b构成。这两个DMA桥接部43-a、43-b中的每一个使用两个FRT 6-0、6-1。另外,如前所述,DMA桥接部43-a、43-b通过例如PCI-Express总线与控制管理器40连接,因此实现低的等待时间。
另外,在第一通道适配器44与各个控制模块4-0至4-3(即,各个控制模块4-0至4-3中的控制管理器40)之间的通信和数据传输处理中,数据传输量较大,因此期望获得缩短了的通信时间。因此,需要高吞吐量和低等待时间(即,高响应速度)。因此,如图1和图2所示,由设计成同时满足高吞吐量和低等待时间要求的高速串行传输总线(例如,PCIExpress和Rapid-I/0)构成各个控制模块4-0至4-3的DMA桥接部43与FRT 6-0、6-1之间的连接。
这些PCI Express总线和Rapid-IO总线采用2.5Gbps的高速串行传输。作为为此的总线接口,采用称为LVDS(低压差分信令)的低幅度差接口。
安装结构
图5示出了说明根据本发明一个实施例的控制模块的安装结构的示例的视图。而图6示出了具有上述安装结构的数据存储系统的框图。
在图5中,显示了存储单元柜的下半部的安装视图。即,在存储单元柜的上侧安装有多个盘柜2-0至2-3。同时,在其下半部安装有控制电路。如图5所示,通过背板7将下半部划分为前部和后部。在背板7的前后分别设置有槽。在图6所示的中型结构的存储系统中,在前侧布置有四片(四单元)CM(控制模块)4-0至4-3,同时在后部布置有两片(两单元)FRT 6-0、6-1、四片(四单元)BRT 5-0至5-3、以及八片第一上级接口部或通道适配器CA-O 44。这里,尽管为便于说明在图5中示出了两个BRT 5-0和5-1,但是以相似的方式设置有另两个BRT 5-2和5-3。
在图5中,四片CM 4-0至4-3和两片FRT 6-0、6-1经由背板7通过四道PCI-Express总线而连接。PCI-Express总线具有四个信号线(因为差分和双向结构),因此对于四(4)道有十六(16)个信号线。这样,信号线的数量为128(=16×8)线。另外,四片CM 4-0至4-3通过背板7经由Fibre Channel与四片BRT 5-0至5-3连接。由于Fibre Channel因差分和双向结构而具有4(=1×2×2)个信号线,因此在该部分中信号线的数量为128(=4×8×4)线。
另外,八(8)片CA-M 44通过背板7经由4道PCI-Express总线与两片FRT 6-0、6-1连接。由于每PCI-Express总线的信号线数量为四(因差分和双向结构),因此对于4道有16个信号线。因此,在该部分中信号线的数量为128(=16×8)。
这样,通过对不同连接点使用不同类型的总线,即使在图9所示的大型存储系统中,通过384个信号线也可获得在四片CM 4-0至4-3、两片FRT 6-0、6-1、四片BRT 5-0至5-3以及八片CA-M 44之间的连接。可以在背板7上充分地安装该数量的信号线。而且,板具有六个信号线层就足够了,在成本方面,这也在可应用的范围内。
另外,控制模块4-0至4-3的各个盘适配器42a、42b通过BRT 5-0至5-3与全部盘驱动器200连接。各个控制模块4-0至4-3可以通过任何盘适配器42a、42b访问整个盘驱动器。
另外,各个盘适配器42a、42b安装在各控制管理器40(各个控制模块4-0至4-3的主要单元)的电路板上。此外,各个盘适配器42a、42b可以通过低等待时间总线(例如,PCI-Express)直接与控制管理器40耦合,从而可以实现高吞吐量。
此外,各个控制模块4-0至4-3的盘适配器42a、42b与BRT 5-0至5-3之间的连接由一对一网形连接构成。因此,即使当在系统中设置的控制模块4-0至4-3的数量(或者各个盘适配器42a、42b的数量)增加时,对于盘适配器42a、42b与BRT 5-0至5-3之间的连接,也可以采用具有少量的信号线的Fibre Channel构成接口。因此,可以解决安装问题。
而且,在各个控制模块4-0至4-3(即,各个控制模块4-0至4-3中的控制管理器40)之间、以及控制模块4-0至4-3与第一接口部44之间的通信和数据传输处理中,传输大量数据,因此期望通信时间较短。因此,需要高吞吐量和低等待时间(即,高响应速度)。因此,如图2所示,通过使用设计成同时满足高吞吐量和低等待时间的高速串行传输的PCI-Express总线,来构成在各个控制模块4-0至4-3的DMA桥接部43与FRT 6-0、6-1之间、以及在FRT 6-0、6-1与第一接口部44之间的连接。
大型主机的读/写处理
接下来将描述由大型主机起动的、图1至图4所示的数据存储系统的写处理;图7示出了在图1和图2所示的结构中的写操作的解释图;图8示出了图7中所示的写命中操作的解释图;而图9示出了图7中所示的写未命中处理的解释图。
下面将参照图8和图9来描述图7中所示的操作。在所述图中,符号“40-1”定义为从主机通道适配器44看的主控制管理器,而符号“40-2”定义为从控制管理器。下面的描述基于假设:主控制管理器40-1的镜像数据保持在从控制管理器40-2中。
(1)主机通道适配器44接收来自大型主机的写数据。
(1′)通道适配器44通过前端路由选择器FRT 6-0(6-1)询问控制管理器40-1该写数据将写入其中的缓存存储器40b的地址。控制管理器40-1确定包括写数据的目标块是否存在于缓存存储器40b中。
(2)在目标数据不存在于缓存存储器40b中的情况下(即,图9中所示的“写未命中”),控制管理器40-1经由盘适配器42将包括写数据的块从盘驱动器200读取至缓冲器。
(2′)此外,从(镜像)控制管理器40-2还经由盘适配器42将包括写数据的块从盘驱动器200读取至缓冲器(参见图9)。
(3)然后,当通道适配器44接收到来自控制管理器40-1、40-2的响应时,通道适配器44经由前端路由选择器FRT 6-0(6-1)将写数据写入控制管理器40-1的缓冲器中。控制管理器40-1使用写入到缓冲器(在“写未命中”的情况下)或缓存存储器(在图8所示的“写命中”的情况下)中的写数据、以及关于存在于缓存存储器中的所关心的块的其余数据,而生成新的检验码(参见图8和图9)。
(3′)此外,通道适配器44经由前端路由选择器FRT 6-0(6-1)将写数据写入从控制管理器40-2的缓冲器(在写未命中的情况下)或缓存存储器(在图8所示的写命中的情况下)中。即,将写数据写入不同于所关心的控制管理器40-1的至少一个控制管理器40-2中的缓存存储器40b中。控制管理器40-2还使用写入缓冲器中的写数据和缓存存储器中的其余块数据而生成新的检验码。
(4)控制管理器40-1将增加有检验码的写入块写入缓存存储器40b中,而后通知通道适配器44写处理完成。
(4′)同样地,控制管理器40-2将增加有检验码的写入块写入缓存存储器40b中,并通知通道适配器44写处理完成。
(5)通道适配器44通知主机写处理完成。
这样,主机通道适配器44经由前端路由选择器FRT 6-0(6-1)与多个控制管理器40连接。因此,可以并行地进行写处理中的镜像。因此,可以获得高速的主机写处理,其中保持连接直到处理完成。具体地,即使在写未命中的情况下,也可以并行地进行读盘处理,这有助于在写未命中的情况下高速处理。
另外,由于盘适配器42直接与控制管理器40连接,因此可以高速地执行与盘驱动器的读处理。下面参照图10描述上述读处理。
(1)控制管理器40中的控制单元40a(CPU)在缓存存储器40b中的描述符区中生成FC头部和盘描述符。描述符是向数据传输电路请求数据传输的指令,其包括FC头部的缓存存储器地址、待传输数据的缓存存储器地址及其数据字节计数、和用于数据传输的盘的逻辑地址。
(2)起动盘适配器42中的数据传输电路。
(3)盘适配器42中的被起动的数据传输电路从缓存存储器40b读取描述符。
(4)盘适配器42中的被起动的数据传输电路从缓存存储器40b读取FC头部。
(5)盘适配器42中的被起动的数据传输电路对描述符进行解码,并获得所请求的盘、顶端地址和字节计数。然后,将FC头部从FibreChannel 500(510)传输给目标盘驱动器200。盘驱动器200读取所请求的目标数据,并经由Fibre Channel 500(510)将目标数据传送给盘适配器42中的数据传输电路。
(6)当完成所请求的目标数据的读取和传送时,盘驱动器200经由Fibre Channel 500(510)向盘适配器42中的数据传输电路传送完成通知。
(7)当完成接收时,盘适配器42中的被起动的数据传输电路从盘适配器42中的存储器中读取读数据,并将该读数据存储在缓存存储器40b中。
(8)当完成读数据传输时,盘适配器42中的被起动的数据传输电路通过中断将完成通知控制管理器40。
(9)控制管理器40中的控制单元40a获得来自盘适配器42的中断原因,并确认读传输。
(10)控制管理器40中的控制单元40a检查盘适配器42的完成指针,并确认读传输完成。
为了获得足够的性能,有必要在全部连接中提供高吞吐量。同时,由于通过控制单元40a与盘适配器42之间的连接交换(在图中为七次)大量信号,因此尤其有必要采用具有低等待时间的总线。
在上述实施例中,同时采用PCI-Express(4道)和Fibre Channel(4G)作为高吞吐量连接。尽管由PCI-Express构成的连接产生低等待时间,但是由Fibre Channel提供的连接产生比较大的等待时间(即,在数据传输中消耗了相当长的时间)。
在第一种传统技术中,在CM 10与DA 13/CA 11之间的RT 14(参见图15)中不能采用产生大等待时间的Fibre Channel。相反,根据本发明,因为图1中所示的结构,所以对于BRT 5-0至5-1可以采用FibreChannel。
即,为了获得低等待时间,不可能大于一定程度地减少总线的信号线的数量。根据本发明,在盘适配器42与BRT 5-0之间的连接中可以采用具有减少了信号线数量的Fibre Channel。这样通过背板可以减少信号线,从而在安装方面有效。
接下来将描述由主机起动的读处理。图11示出了在读命中的情况下的解释图。图12示出了在读未命中的情况下的解释图。
(1)主机通道适配器44接收来自大型主机的读命令。
(2)通道适配器44经由前端路由选择器FRT 6-0(6-1)询问控制管理器40-1关于其中存在读数据的缓存存储器40b的地址。控制管理器40-1确定包括读数据的目标块是否存在于缓存存储器40b中。
(3)在目标数据不存在于缓存存储器40b中的情况下(即,读未命中的情况),控制管理器40-1经由盘适配器42将包括所关心读数据的块从盘驱动器200读取至缓冲器(参见图12)。而且,从控制管理器40-2经由盘适配器42将包括读数据的块从盘驱动器200读取至缓冲器(参见图12)。
(4)控制管理器40-1、40-2将读出的块写入缓存存储器40b中。控制管理器40-1然后将所读数据通知通道适配器44。
(5)通道适配器44将所读数据传输给主机。
开放系统主机的读/写处理
图13示出了根据本发明一个实施例的开放系统主机的读/写处理的解释图。
(1)开放系统通道适配器41接收来自开放系统主机的写数据。
(2)开放系统通道适配器41通知连接的控制管理器40-3。连接的控制管理器40-3确定该控制管理器是否负责写数据处理。
(3)接收到数据的控制管理器40-3确认负责的控制管理器。如果该控制管理器40-3不是负责的控制管理器,则所关心的控制管理器40-3询问负责的控制管理器40-1(CM-M)该状态是否是“写命中”。
(4)在该状态不是“写命中”的情况下,负责的控制管理器40-1(CM-M)经由盘适配器42从盘中读取其余数据以生成检验码。盘适配器42将该数据写入控制管理器40-1(CM-M)中。
(5)负责的控制管理器40-1(CM-M)将数据传输给接收的控制管理器40-3(CM-R)。
(6)开放系统通道适配器41将该数据写入接收的控制管理器40-3(CM-R)中。接收的控制管理器40-3(CM-R)生成用于该新数据的检验码。
(6′)该接收的控制管理器40-3(CM-R)经由FRT 6-0(或6-1)将增加有检验码的写数据同时传输给控制管理器40-1(CM-M)和具有其镜像数据的控制管理器40-2(CM-S)。然后,接收的控制管理器40-3向通道适配器41通知写处理完成。当接收到来自控制管理器40-3的通知时,通道适配器41向开放系统主机发送写完成通知。
另外,在上述(3)中写命中的情况下,接收的控制管理器40-3(CM-R)经由FRT6-0(或6-1)将写数据同时传输给控制管理器40-1(CM-M)和具有其镜像数据的控制管理器40-2(CM-S),而代替步骤(4)、(5)、(6)和(6′)。各个控制管理器40-1和40-2生成检验码。然后向通道适配器41发送数据的写完成通知。当接收到来自控制管理器40-3的通知时,通道适配器41向开放系统主机通知写完成。
如图10中所述,也可以以低等待时间执行读盘,从而有助于提高吞吐量。
当接收到来自主计算机的读请求时,首先通道适配器41向连接的控制管理器40-3发送请求。接收到该请求的控制管理器40-3确认负责的控制管理器。如果接收到该请求的控制管理器是正在负责,则所关心的控制管理器或者从缓存存储器中提取数据,或者经由盘适配器42从盘中读取数据,而后将数据传输给通道适配器41。
同时,在另一控制管理器40-2负责的情况下,控制管理器40-3请求负责的控制管理器40-2。通过相似的读操作从负责的控制管理器40-2返回给接收的控制管理器40-3的数据被传输给通道适配器41。通道适配器41然后将从控制管理器40-3接收的数据传输给开放系统主计算机。
接下来,有必要将上述写数据回写到目标盘驱动器(回写)。根据内部调度,缓存控制单元40a将缓存存储器40b中的写数据回写到保持所关心的目标数据的盘驱动器200。下面将参照图14来描述对于盘驱动器执行的写处理。
(1)控制管理器40中的控制单元40a(CPU)在缓存存储器40b中的描述符区中生成FC头部和描述符。描述符是向数据传输电路请求数据传输的指令,其包括FC头部的缓存存储器地址、待传输数据的缓存存储器地址及其数据字节计数、和用于数据传输的盘的逻辑地址。
(2)起动盘适配器42中的数据传输电路。
(3)盘适配器42中的被起动的数据传输电路从缓存存储器40b中读取描述符。
(4)盘适配器42中的被起动的数据传输电路从缓存存储器40b中读取FC头部。
(5)盘适配器42中的被起动的数据传输电路对描述符进行解码,并获得请求的盘、顶端地址和字节计数,并从缓存存储器40b中读取数据。
(6)在完成读取之后,盘适配器42中的数据传输电路将FC头部和数据从Fibre Channel 500(510)传输给目标盘驱动器200。盘驱动器200然后将所传输的数据写入其中结合的盘中。
(7)在完成写数据时,盘驱动器200经由Fibre Channel 500(510)向盘适配器42中的数据传输电路发送完成通知。
(8)当接收到完成通知时,盘适配器42中的被起动的数据传输电路通过中断将通知控制管理器40所述完成。
(9)控制管理器40中的控制单元40a获得来自盘适配器42的中断原因,并确认写操作。
(10)控制管理器40中的控制单元40a检查盘适配器42的完成指针,并确认写操作完成。
在图14中,与图10相似,箭头表示例如数据的分组传输,而U形箭头表示读数据,通过该箭头显示了对于来自一侧的数据请求返回的数据状态。这样,由于需要在盘适配器42的控制电路中确认起动和完成状态,因此在控制管理器40与盘适配器42之间执行每一个数据传输7次交换。而在盘适配器42与盘驱动器200之间执行两次交换。
这样,应理解在控制管理器40与盘适配器42之间的连接中需要低等待时间,并且可以在盘适配器42与盘驱动器200之间使用具有少量信号线的接口。
其它实施例
在上述实施例的描述中,使用PCI-Express说明了在控制模块4-0内的信号线。然而,也可以使用其它高速串行总线,例如Rapid IO。可以根据需要增加或减少通道适配器41、44和/或盘适配器42的数量。
作为盘驱动器,可以应用例如硬盘驱动器、光盘驱动器、磁光盘驱动器等的存储设备。用于开放系统主机和大型主机的协议并不限于上述说明中的协议。可以应用其它协议。
上述实施例的描述并不旨在将本发明限于所说明示例的具体细节。任何合适的修改和等价物都应该视为本发明的范围。落在本发明范围内的本发明的所有特征和优点都由所附权利要求覆盖。
相关申请的交叉参考
本申请基于2005年11月28日提交的在先日本专利申请2005-342081号并要求其优先权,这里通过引用并入其全部内容。
Claims (20)
1、一种数据存储系统,包括:
用于存储数据的多个存储器设备;
多个控制模块,它们根据来自主机单元和开放系统单元的访问指令而访问所述存储器设备;
第一通道适配器,其执行对所述主机单元的接口控制;以及
切换单元,其与所述第一通道适配器和所述多个控制模块连接,并且用于有选择地切换所述第一通道适配器和所述多个控制模块之间的连接,
其中各所述控制模块包括:
缓存存储器,其存储在所述存储器设备中存储的数据的一部分;
第二通道适配器,其执行对所述开放系统单元的接口控制;
盘适配器,用于执行对所述多个存储器设备的接口控制;以及
控制单元,其响应于所述访问而控制所述缓存存储器,并经由所述盘适配器访问所述存储器设备。
2、根据权利要求1所述的数据存储系统,其中,
所述第一通道适配器响应于来自所述主机单元的写访问,并行地访问负责作为写访问的目标的写数据的控制模块与具有该负责的控制模块的镜像数据的另一控制模块,以执行镜像。
3、根据权利要求2所述的数据存储系统,其中,
所述负责的控制模块确定目标写数据块是否存在于该控制模块的缓存存储器中,
并且当确定写未命中、即目标写数据块不存在于所述缓存存储器中时,所述负责的控制模块和所述另一控制模块二者都访问存储所述目标写数据块的存储器设备,并读取所述目标写数据块。
4、根据权利要求1所述的数据存储系统,
其中,根据所述主机单元的协议,所述第一通道适配器从开始访问到结束访问都与所述主机单元连接,
并且其中根据所述开放系统单元的协议,所述第二通道适配器在接收到来自所述开放系统单元的访问时断开与所述开放系统单元的连接。
5、根据权利要求1所述的数据存储系统,还包括:
多个其它切换单元,设置在所述多个控制模块与所述多个存储器设备之间,并在各个控制模块的盘适配器与所述多个存储器设备之间有选择地切换,
其中所述多个控制模块和所述多个其它切换单元通过背板连接。
6、根据权利要求5所述的数据存储系统,
其中,所述控制模块使所述控制单元通过低等待时间的高速串行总线与所述第一通道适配器连接,
并且所述第二通道适配器利用所述背板通过串行总线与所述多个其它切换单元连接。
7、根据权利要求6所述的数据存储系统,其中,
每个控制模块和所述其它切换单元通过所述背板连接,
并且所述其它切换单元和所述多个存储器设备通过线缆连接。
8、根据权利要求5所述的数据存储系统,其中,
每个控制模块和所述切换单元通过所述背板连接,
并且所述切换单元和所述第一通道适配器通过所述背板连接。
9、根据权利要求1所述的数据存储系统,其中,
所述控制模块使所述控制单元通过低等待时间的高速串行总线与所述第二通道适配器连接。
10、根据权利要求1所述的数据存储系统,其中,
各个控制模块中的所述控制单元确定通过所连接的第二通道适配器来自所述开放系统单元的数据访问的目标是否是该控制单元负责的数据,并且当所述数据访问的目标不是该控制单元负责的数据时,该控制单元经由所述切换单元请求负责该数据的另一控制单元访问由所述开放系统单元请求的数据。
11、一种数据存储控制装置,包括:
多个控制模块,根据来自主机单元和开放系统单元的访问指令而访问用于存储数据的多个存储器设备;
第一通道适配器,其执行对所述主机单元的接口控制;以及
切换单元,其与所述第一通道适配器和所述多个控制模块连接,并且用于有选择地切换所述第一通道适配器和所述多个控制模块之间的连接,
其中各个控制模块包括:
缓存存储器,其存储在所述存储器设备中存储的数据的一部分;
第二通道适配器,其执行对所述开放系统单元的接口控制;
盘适配器,用于执行对所述多个存储器设备的接口控制;以及
控制单元,其响应于所述访问而控制所述缓存存储器,并经由所述盘适配器访问所述存储器设备。
12、根据权利要求11所述的数据存储控制装置,其中,
所述第一通道适配器响应于来自所述主机单元的写访问,并行地访问负责作为写访问的目标的写数据的控制模块与具有该负责的控制模块的镜像数据的另一控制模块,以执行镜像。
13、根据权利要求12所述的数据存储控制装置,其中,
所述负责的控制模块确定目标写数据块是否存在于该控制模块的缓存存储器中,
并且当确定为写未命中、即所述目标写数据块不存在于该缓存存储器中时,所述负责的控制模块和所述另一控制模块二者都访问存储目标写数据块的存储器设备,以读取目标写数据块。
14、根据权利要求11所述的数据存储控制装置,其中,
根据所述主机单元的协议,所述第一通道适配器从开始访问到结束访问都与所述主机单元连接,
并且其中根据所述开放系统单元的协议,所述第二通道适配器在接收到来自所述开放系统单元的访问时断开与所述开放系统单元的连接。
15、根据权利要求11所述的数据存储控制装置,还包括:
多个其它切换单元,设置在所述多个控制模块与所述多个存储器设备之间,用于在各个控制模块的盘适配器与所述多个存储器设备之间有选择地切换,
其中所述多个控制模块和所述多个其它切换单元通过背板连接。
16、根据权利要求15所述的数据存储控制装置,其中,
所述控制模块使所述控制单元通过低等待时间的高速串行总线与所述第二通道适配器连接,
并且所述第二通道适配器利用所述背板通过串行总线与所述多个其它切换单元连接。
17、根据权利要求16所述的数据存储控制装置,
其中,每个控制模块和所述其它切换单元通过所述背板连接,
并且所述其它切换单元和所述多个存储器设备通过线缆连接。
18、根据权利要求15所述的数据存储控制装置,其中,
每个控制模块和所述切换单元通过所述背板连接,
并且所述切换单元和所述第一通道适配器通过所述背板连接。
19、根据权利要求11所述的数据存储控制装置,其中,
所述控制模块使所述控制单元通过低等待时间的高速串行总线与所述第二通道适配器连接。
20、根据权利要求11所述的数据存储控制装置,其中,
各个控制模块中的所述控制单元确定通过所连接的第二通道适配器来自所述开放系统单元的数据访问的目标是否是该控制单元负责的数据,并且当该数据访问的目标不是该控制单元负责的数据时,所述控制单元经由所述切换单元请求负责该数据的另一控制单元访问由所述开放系统单元请求的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005342081A JP4413184B2 (ja) | 2005-11-28 | 2005-11-28 | データストレージシステム及びデータストレージ制御装置 |
JP2005342081 | 2005-11-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1975654A CN1975654A (zh) | 2007-06-06 |
CN100437459C true CN100437459C (zh) | 2008-11-26 |
Family
ID=37763807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100723650A Expired - Fee Related CN100437459C (zh) | 2005-11-28 | 2006-04-14 | 数据存储系统和数据存储控制装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7418533B2 (zh) |
EP (1) | EP1804157B1 (zh) |
JP (1) | JP4413184B2 (zh) |
KR (1) | KR100766356B1 (zh) |
CN (1) | CN100437459C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10372340B2 (en) | 2014-12-27 | 2019-08-06 | Huawei Technologies Co., Ltd. | Data distribution method in storage system, distribution apparatus, and storage system |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8164936B2 (en) * | 2009-10-14 | 2012-04-24 | Seagate Technology Llc | Switched memory devices |
TW201143325A (en) * | 2010-05-26 | 2011-12-01 | Accusys Inc | Mixed data transmission switch and data transmission method |
US9104326B2 (en) | 2010-11-15 | 2015-08-11 | Emc Corporation | Scalable block data storage using content addressing |
WO2012127619A1 (ja) * | 2011-03-22 | 2012-09-27 | 富士通株式会社 | 並列計算機システム及び並列計算機システムの制御方法 |
CN102263818B (zh) * | 2011-07-07 | 2013-06-05 | 北京飞杰信息技术有限公司 | 一种文件数据存放和读取的方法和装置 |
US10353631B2 (en) * | 2013-07-23 | 2019-07-16 | Intel Corporation | Techniques for moving data between a network input/output device and a storage device |
US9418131B1 (en) | 2013-09-24 | 2016-08-16 | Emc Corporation | Synchronization of volumes |
US9037822B1 (en) | 2013-09-26 | 2015-05-19 | Emc Corporation | Hierarchical volume tree |
US9208162B1 (en) | 2013-09-26 | 2015-12-08 | Emc Corporation | Generating a short hash handle |
US9378106B1 (en) | 2013-09-26 | 2016-06-28 | Emc Corporation | Hash-based replication |
US9367398B1 (en) | 2014-03-28 | 2016-06-14 | Emc Corporation | Backing up journal data to a memory of another node |
US9442941B1 (en) | 2014-03-28 | 2016-09-13 | Emc Corporation | Data structure for hash digest metadata component |
US9342465B1 (en) | 2014-03-31 | 2016-05-17 | Emc Corporation | Encrypting data in a flash-based contents-addressable block device |
US9606870B1 (en) | 2014-03-31 | 2017-03-28 | EMC IP Holding Company LLC | Data reduction techniques in a flash-based key/value cluster storage |
US9396243B1 (en) | 2014-06-27 | 2016-07-19 | Emc Corporation | Hash-based replication using short hash handle and identity bit |
US9910747B2 (en) | 2014-09-12 | 2018-03-06 | International Business Machines Corporation | Parallel mirrored copying with write consistency |
US10025843B1 (en) | 2014-09-24 | 2018-07-17 | EMC IP Holding Company LLC | Adjusting consistency groups during asynchronous replication |
US9304889B1 (en) | 2014-09-24 | 2016-04-05 | Emc Corporation | Suspending data replication |
US9740632B1 (en) | 2014-09-25 | 2017-08-22 | EMC IP Holding Company LLC | Snapshot efficiency |
US10152527B1 (en) | 2015-12-28 | 2018-12-11 | EMC IP Holding Company LLC | Increment resynchronization in hash-based replication |
US10324635B1 (en) | 2016-03-22 | 2019-06-18 | EMC IP Holding Company LLC | Adaptive compression for data replication in a storage system |
US10310951B1 (en) | 2016-03-22 | 2019-06-04 | EMC IP Holding Company LLC | Storage system asynchronous data replication cycle trigger with empty cycle detection |
US10095428B1 (en) | 2016-03-30 | 2018-10-09 | EMC IP Holding Company LLC | Live migration of a tree of replicas in a storage system |
US9959073B1 (en) | 2016-03-30 | 2018-05-01 | EMC IP Holding Company LLC | Detection of host connectivity for data migration in a storage system |
US10565058B1 (en) | 2016-03-30 | 2020-02-18 | EMC IP Holding Company LLC | Adaptive hash-based data replication in a storage system |
US9959063B1 (en) | 2016-03-30 | 2018-05-01 | EMC IP Holding Company LLC | Parallel migration of multiple consistency groups in a storage system |
US10083067B1 (en) | 2016-06-29 | 2018-09-25 | EMC IP Holding Company LLC | Thread management in a storage system |
US10152232B1 (en) | 2016-06-29 | 2018-12-11 | EMC IP Holding Company LLC | Low-impact application-level performance monitoring with minimal and automatically upgradable instrumentation in a storage system |
US9983937B1 (en) | 2016-06-29 | 2018-05-29 | EMC IP Holding Company LLC | Smooth restart of storage clusters in a storage system |
US10048874B1 (en) | 2016-06-29 | 2018-08-14 | EMC IP Holding Company LLC | Flow control with a dynamic window in a storage system with latency guarantees |
US10013200B1 (en) | 2016-06-29 | 2018-07-03 | EMC IP Holding Company LLC | Early compression prediction in a storage system with granular block sizes |
JP2019057344A (ja) | 2017-09-20 | 2019-04-11 | 東芝メモリ株式会社 | メモリシステム |
CN112114744A (zh) * | 2020-08-10 | 2020-12-22 | 西安交通大学 | 一种多通道全互联架构的ssd固态盘及其控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6385681B1 (en) * | 1998-09-18 | 2002-05-07 | Hitachi, Ltd. | Disk array control device with two different internal connection systems |
US6425049B1 (en) * | 1999-02-08 | 2002-07-23 | Hitachi, Ltd. | Disk array system and method of changing the configuration of the disk array system |
CN1447254A (zh) * | 2003-04-04 | 2003-10-08 | 清华大学 | 海量网络存储器设备及其实现方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768623A (en) * | 1995-09-19 | 1998-06-16 | International Business Machines Corporation | System and method for sharing multiple storage arrays by dedicating adapters as primary controller and secondary controller for arrays reside in different host computers |
JPH1091363A (ja) | 1996-09-17 | 1998-04-10 | Hitachi Ltd | パリティ生成方式及びそれを用いたディスクアレイ制御装置 |
JPH11203201A (ja) | 1998-01-08 | 1999-07-30 | Hitachi Ltd | キャッシュメモリの配置方法およびデータ記憶システム |
JP3952640B2 (ja) * | 1999-09-07 | 2007-08-01 | 株式会社日立製作所 | データバックアップ方法、メインフレーム系ストレージシステムおよびメインフレームホストコンピュータ |
JP2001256003A (ja) * | 2000-03-10 | 2001-09-21 | Hitachi Ltd | ディスクアレイ制御装置、そのディスクアレイ制御ユニットおよびその増設方法 |
JP2001297026A (ja) * | 2000-04-11 | 2001-10-26 | Hitachi Ltd | 複数のデータベースマネージメントシステムを有する計算機システム |
JP3997061B2 (ja) * | 2001-05-11 | 2007-10-24 | 株式会社日立製作所 | 記憶サブシステムおよび記憶サブシステムの制御方法 |
US6889294B1 (en) * | 2001-10-29 | 2005-05-03 | Lsi Logic Corporation | Virtual shared volume via proxy data transfer |
JP2003303055A (ja) | 2002-04-09 | 2003-10-24 | Hitachi Ltd | ディスクアダプタとディスクアレイをスイッチを介して接続したディスク装置 |
JP2004110367A (ja) * | 2002-09-18 | 2004-04-08 | Hitachi Ltd | 記憶装置システムの制御方法、記憶制御装置、および記憶装置システム |
JP4330889B2 (ja) * | 2003-01-20 | 2009-09-16 | 株式会社日立製作所 | 記憶デバイス制御装置にソフトウエアをインストールする方法、記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置 |
JP2003263278A (ja) * | 2003-03-26 | 2003-09-19 | Hitachi Ltd | ディスクアレイ制御装置 |
JP4371724B2 (ja) * | 2003-07-03 | 2009-11-25 | 株式会社日立製作所 | 記憶システム及び記憶装置システム |
JP2005190057A (ja) * | 2003-12-25 | 2005-07-14 | Hitachi Ltd | ディスクアレイ装置及びディスクアレイ装置のリモートコピー制御方法 |
JP2005301638A (ja) * | 2004-04-12 | 2005-10-27 | Hitachi Ltd | ディスクアレイ装置及びディスクアレイ装置のリザーブ解除制御方法 |
JP2005309818A (ja) * | 2004-04-22 | 2005-11-04 | Hitachi Ltd | ストレージ装置、そのデータ読出方法、及びそのデータ読出プログラム |
JP4451705B2 (ja) * | 2004-04-26 | 2010-04-14 | 株式会社日立製作所 | ストレージ装置、これを備えたストレージシステム、このシステムのデータ管理方法、及びストレージ装置のコントローラ実行プログラム |
JP4366298B2 (ja) * | 2004-12-02 | 2009-11-18 | 富士通株式会社 | 記憶装置、その制御方法及びプログラム |
-
2005
- 2005-11-28 JP JP2005342081A patent/JP4413184B2/ja not_active Expired - Fee Related
-
2006
- 2006-03-20 US US11/378,379 patent/US7418533B2/en active Active
- 2006-03-29 EP EP06111935.0A patent/EP1804157B1/en not_active Ceased
- 2006-04-14 CN CNB2006100723650A patent/CN100437459C/zh not_active Expired - Fee Related
- 2006-04-14 KR KR1020060033896A patent/KR100766356B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6385681B1 (en) * | 1998-09-18 | 2002-05-07 | Hitachi, Ltd. | Disk array control device with two different internal connection systems |
US6425049B1 (en) * | 1999-02-08 | 2002-07-23 | Hitachi, Ltd. | Disk array system and method of changing the configuration of the disk array system |
CN1447254A (zh) * | 2003-04-04 | 2003-10-08 | 清华大学 | 海量网络存储器设备及其实现方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10372340B2 (en) | 2014-12-27 | 2019-08-06 | Huawei Technologies Co., Ltd. | Data distribution method in storage system, distribution apparatus, and storage system |
Also Published As
Publication number | Publication date |
---|---|
EP1804157A2 (en) | 2007-07-04 |
EP1804157B1 (en) | 2015-12-30 |
US7418533B2 (en) | 2008-08-26 |
US20070162561A1 (en) | 2007-07-12 |
CN1975654A (zh) | 2007-06-06 |
KR20070055938A (ko) | 2007-05-31 |
JP2007148764A (ja) | 2007-06-14 |
EP1804157A3 (en) | 2009-09-02 |
JP4413184B2 (ja) | 2010-02-10 |
KR100766356B1 (ko) | 2007-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100437459C (zh) | 数据存储系统和数据存储控制装置 | |
CN1955940B (zh) | Raid系统、raid控制器及其重建或拷回处理方法 | |
CN100437457C (zh) | 数据存储系统和数据存储控制装置 | |
US7320051B2 (en) | Storage device control apparatus and control method for the storage device control apparatus | |
US7447834B2 (en) | Managing serial attached small computer systems interface communications | |
US20100153961A1 (en) | Storage system having processor and interface adapters that can be increased or decreased based on required performance | |
US6850998B2 (en) | Disk array system and a method for controlling the disk array system | |
JP4477437B2 (ja) | ストレージ装置、そのクラスタ間データ通信方法、及びそのクラスタ通信制御プログラム | |
US20140223097A1 (en) | Data storage system and data storage control device | |
US8799549B2 (en) | Method for transmitting data between two computer systems | |
US6917990B2 (en) | Method and structure for read prefetch in a storage complex architecture | |
US7426658B2 (en) | Data storage system and log data equalization control method for storage control apparatus | |
JP4404754B2 (ja) | データストレージ装置及び情報処理システム | |
US7577775B2 (en) | Storage system and configuration-change method thereof | |
JP4440127B2 (ja) | データストレージシステム及びデータストレージ制御装置 | |
JP4985750B2 (ja) | データストレージシステム | |
JP2002116883A (ja) | ディスクアレイ制御装置 |
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: 20081126 |
|
CF01 | Termination of patent right due to non-payment of annual fee |