CN103608762A - 存储设备、存储系统及数据发送方法 - Google Patents

存储设备、存储系统及数据发送方法 Download PDF

Info

Publication number
CN103608762A
CN103608762A CN201380000839.9A CN201380000839A CN103608762A CN 103608762 A CN103608762 A CN 103608762A CN 201380000839 A CN201380000839 A CN 201380000839A CN 103608762 A CN103608762 A CN 103608762A
Authority
CN
China
Prior art keywords
controller
memory device
data
stored
switching card
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
CN201380000839.9A
Other languages
English (en)
Other versions
CN103608762B (zh
Inventor
杜宇旻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN103608762A publication Critical patent/CN103608762A/zh
Application granted granted Critical
Publication of CN103608762B publication Critical patent/CN103608762B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种存储设备、存储系统及数据发送方法,存储设备包括:第一控制器、第二控制器,第二控制器与第一控制器相互保护;第一交换卡,与第一控制器连接;第二交换卡,与第二控制器连接;存储介质,和第一控制器、第二控制器连接;第一控制器用于在收到第一待存储数据后,计算第一待存储数据的目标存储设备信息,当目标存储设备不是存储设备时,通过第一交换卡将第一待存储数据及第一待存储数据的目标存储设备信息发送出去。存储系统可包括多个存储设备,且多个存储设备组成环网。

Description

存储设备、存储系统及数据发送方法
技术领域
本发明实施例涉及通信技术,尤其涉及一种存储设备、存储系统及数据发送方法。
背景技术
随着对数据存储需求的不断增长和对存储阵列的性能要求的不断的提升,客户需要根据实际的性能和容量要求对存储系统进行横向扩展,存储系统横向扩展技术应运而生,通过将存储系统横向互联形成了大的存储阵列。
存储系统横向扩展是指可以扩展存储系统的业务接入能力、控制能力和硬盘接入能力等。图1A示出了现有的横向扩展的中心式存储系统的结构示意图,在图1A中,每个节点11均为一个存储设备,各存储设备是相互独立的物理实体,位于独立的机框中。如图1B所示,存储设备11包括两个控制器,分别是控制器A、控制器B,和多个接口卡112。
其中,图1B所示的存储设备内的两个控制器组成控制器对,控制器对内的两个控制器之间形成内存数据镜像,以组成最小可靠性单元,保证控制器对中的一个控制器故障时,不会丢失数据。
在图1A中,各个存储设备之间通过独立的交换机12(如图1A中的交换机A,或交换机B)进行集中式的数据交换。为了满足多个存储设备之间的数据交换,这个交换机12要求性能强大,相应的,交换机12的功耗高而且体积大。由于交换机的接口有限、性能也有限,因此当存储设备数量较多时,现有交换机的难以满足存储系统需求。通常,每个存储设备11中的两个控制器分别连接一个交换机12,因此,即使有一个交换机12发生故障,仍然有另外一个交换机为各存储设备的控制器之间提供数据通路。上述各存储设备11与交换机12之间的物理连接一般为外围设备互联接口(PedpherdComponent Interconnect-Express,简称PCIE)或Infiniband等高速并行总线。
然而,存储设备之间的数据需要经过交换机(SWITCH,简称SW)12,每个存储设备需要占用交换机的两个业务接口,而交换机的业务接口有限,所以只能为有限数量的存储设备提供数据交换服务,直接制约了存储系统横向扩展(Scale-out)的规模。
另外,由于存储设备11和交换机12之间通过并行总线(如PCIE等)连接,而并行总线不适合远距传输,常见的并行总线的传输距离不超过6m。如果要应用远程传输的总线,则解决的成本非常高。若存储系统的所有存储设备必须布局在以交换机为中心的某一距离范围内,其物理布局的制约很大。
发明内容
有鉴于此,本发明实施例提供一种存储设备、存储系统及数据发送方法,用以解决现有技术中的存储系统物理布局限制,横向扩展的存储设备数量受限的问题。
第一方面,本发明实施例提供一种存储设备,包括:
第一控制器,用于接收第一待存储数据;
与所述第一控制器连接的第二控制器,所述第二控制器与所述第一控制器相互保护;
第一交换卡,与所述第一控制器连接,具有连接交换卡的接口;
第二交换卡,与所述第二控制器连接,具有用于连接交换卡的接口;
存储介质,和所述第一控制器、第二控制器连接,用于存储数据;
其中,所述第一控制器进一步用于,在收到所述第一待存储数据后,计算所述第一待存储数据的目标存储设备信息,当目标存储设备是所述存储设备时,把所述第一待存储数据存储到所述存储介质,当目标存储设备不是所述存储设备时,通过所述第一交换卡将所述第一待存储数据及所述第一待存储数据的目标存储设备信息发送出去。
结合第一方面,在第一种可能的实现方式中,所述第一交换卡具有两个用于连接交换卡的接口;
所述第二交换卡具有两个用于连接交换卡的接口。
结合第一方面及上述可能的实现方式,在第二种可能的实现方式中,所述存储设备的第一交换卡还用于:
接收上一存储设备发来的第二待存储数据以及第二待存储数据的目标存储设备信息;
判断所述存储设备是否是第二待存储数据的目标存储设备信息;
如果判断结果为否,则把所述第二待存储数据以及第二待存储数据的目标存储设备信息转发给下一存储设备。
结合第一方面及上述可能的实现方式,在第三种可能的实现方式中,所述第一控制器还用于,接收第三待存储数据,计算第三待存储数据的目标存储设备信息,并通过所述第一控制器与第二控制器之间的连接,把所述第三待存储数据、所述第三待存储数据的目标存储设备信息发往所述第二控制器;
所述第二控制器用于,通过第二交换卡发出所述第三待存储数据、所述第三待存储数据的目标存储设备信息。
结合第一方面及上述可能的实现方式,在第四种可能的实现方式中,所述第一控制器与所述第二控制器之间的连接为总线连接,所述第一交换卡与第一控制器之间的连接为总线连接,所述第二交换卡与所述第二控制器之间的连接为总线连接。
结合第一方面及第四种可能的实现方式,在第五种可能的实现方式中,所述总线为PCIE总线。
第二方面,本发明实施例提供一种存储系统,包括:
多个上述任一所述的存储设备组成环网,组成环网的具体方式是:
任意两个相邻存储设备的第一交换卡互相连接,任意两个相邻存储设备的第二交换卡互相连接。
结合第二方面,在第一种可能的实现方式中,所述存储设备的数量为四个、八个或十二个。
结合第二方面及上述可能的实现方式,在第二种可能的实现方式中,所述任意两个相邻的存储设备的第一交换卡通过网状通道FC或者线缆连接,所述任意两个相邻的存储设备的第二交换卡通过网状通道FC或者线缆连接。
第三方面,本发明实施例提供一种数据发送方法,应用于存储系统中,所述存储系统包括多个存储设备,每个存储设备包括存储介质、两个控制器以及两个交换卡,其中,所述存储介质与所述两个控制器连接,每个所述控制器连接一个所述交换卡,每个存储设备的交换卡和相邻存储设备的一个交换卡连接,所述方法包括:
第一存储设备中的第一控制器接收第一待存储数据,所述第一存储设备时所述存储系统中的一个存储设备,所述第一存储设备包括第一存储介质、第一控制器、第二控制器、第一交换卡、第二交换卡;
所述第一存储设备的第一控制器计算获知所述第一待存储数据的目标存储设备为所述存储系统中第N个存储设备,N为自然数;
所述第一存储设备把所述第一待存储数据发给一个相邻存储设备的交换卡;
如果收到所述第一待存储数据的交换卡不是第N个存储设备的交换卡,则转发所述第一待存储数据给下一个相邻存储设备的交换卡,直至所述第N个存储设备的交换卡收到所述第一待存储数据;
所述第N个存储设备的交换卡把所述第一待存储数据发给连接的控制器,所述第N个存储设备中收到所述第一待存储数据的控制器把所述第一待存储数据存储到所述第N个存储设备的存储介质。
结合第三方面,在第一种可能的实现方式中,所述第一存储设备把所述第一待存储数据发给一个相邻存储设备的交换卡,具体包括:
第一控制器把所述第一待存储数据发送给与第一控制器连接的第一交换卡;
所述第一交换卡发送第一待存储数据给与第一交换卡相连的交换卡。
结合第三方面,在第二种可能的实现方式中,所述第一存储设备把所述第一待存储数据发给一个相邻存储设备的交换卡,具体包括:
第一控制器把所述第一待存储数据发送给相连的第二控制器;
所述第二控制器把所述第一待存储数据发给与所述第二控制器连接的第二交换卡;
所述第二交换卡发送第一待存储数据给与第二交换卡相连的交换卡。
由上述技术方案可知,本发明实施例的存储设备、存储系统及数据发送方法,其中,存储设备可包括第一控制器、第二控制器,以及连接第一控制器的第一交换卡,连接第二控制器的第二交换卡,以及与第一控制器、第二控制器连接的存储介质,以实现存储设备的第一控制器在收到第一待存储数据后,计算第一待存储数据的目标存储设备信息,在目标存储设备是存储设备时,把第一待存储数据存储到存储介质,进而在包括多个存储设备的存储系统中,解决了现有技术中的存储系统物理布局限制,横向扩展的存储设备数量受限的问题。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地:下面附图只是本发明的一些实施例的附图,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得同样能实现本发明技术方案的其它附图。
图1A为现有技术的存储系统的结构示意图;
图1B为现有技术的存储系统中存储设备的结构示意图;
图2为本发明一实施例提供的交换卡的结构示意图;
图3为本发明一实施例提供的存储设备的结构示意图;
图4为本发明一实施例提供的存储系统的结构示意图;
图5为现有技术中存储系统中某一组件故障的示意图;
图6为本发明一实施例的数据发送方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述。显然,下述的各个实施例都只是本发明一部分的实施例。基于本发明下述的各个实施例,本领域普通技术人员可以通过等效变换部分甚至全部的技术特征,而获得能够解决本发明技术问题,实现本发明技术效果的其它实施例,而这些变换而来的各个实施例显然并不脱离本发明所公开的范围。
为方便理解本发明实施例的内容,以下简单说明存储系统的横向扩展和纵向扩展的含义。
仅在存储系统的存储设备中添加硬盘,从而增加存储系统的存储容量,本领域技术人员将其称为存储系统的纵向扩展;在存储系统的存储设备中添加存储控制器,由于存储控制器可以对硬盘进行控制、接入业务以及接入硬盘,因此添加存储控制器相当于扩展了存储设备的控制能力、业务接入能力和硬盘接入能力,本领域技术人员将其称为存储系统的横向扩展。
现有技术中,图1A中的未示出连接控制器111a、111b的硬盘,控制器与硬盘之间采用并行总线(如串行连接小型计算机接口(Serial Attached SCSI,简称SAS)总线),但是这些并行总线的常规传输距离也不超过6m,为了满足传输距离的要求,在存储设备的控制器较多时,整个存储系统的硬盘布局非常不合理。也就是说,现有技术的存储系统的所有存储设备必须布局在以交换机为中心的一定距离之内,物理布局制约很大,不能达到真正意义上的分布式布局,尤其是控制器还要下接硬盘,其控制器与硬盘之间的SAS总线也是并行总线,进而在控制器较多时,整个存储系统的硬盘布局会极其不合理。
特别地,图1A中的交换机A和交换机B按照双热备方式运行,在一个交换机故障时,存储系统的性能降低一半。也就是说,图1A所示的存储系统的交换机A和交换机B同时工作,存储系统收到待存储的数据后,经由交换机A和交换机B判断存储在一存储设备11中,若交换机A发生故障,则待存储的数据只能由交换机B判断存储在存储设备11中,由此降低了存储系统的性能。
本发明实施例提供一种集成于存储控制器的交换卡,如图2所示,本实施例的交换卡包括:计算单元01,交换介质02、内存03、和三个接口04。
其中,所述计算单元01与所述内存03总线连接,所述计算单元01和所述交换介质02总线连接,所述交换介质02和所述三个接口04分别总线连接;所述三个接口04中的第一个接口通过总线连接存储系统中第一存储设备的控制器(如图4所示),第二个接口通过光纤或线缆连接所述存储系统中与所述第一存储设备相邻的一个存储设备的交换卡,第三个接口通过光纤或线缆连接所述存储系统中与所述第一存储设备相邻的另一个存储设备的交换卡。
举例来说,前述的计算单元可为中央处理器(Central Processing Unit,简称CPU)。
可选地,所述三个接口的结构相同,且所述三个接口均为非透明桥(non-transparent bridge,简称NT)接口。
可理解的是,NT接口为PCI总线或PCIE总线的一种端口。
在一种可实现的方式中,图2中所示的三个接口中的用于连接交换卡的接口可为非NT接口,用于连接控制器的接口可为NT接口。在具体的应用中,与非NT接口连接的另一交换卡的接口可为NT接口。也就是说,两个交换卡通过各自的接口连接,可使两个交换卡中一个交换卡的接口为NT接口即可。
通常,上述的三个接口用于实现对数据的地址隔离、转译、桥接等功能。
由上述实施例可知,本实施例的交换卡设置在存储设备内,用于实现相连的存储设备之间数据的传输。
本实施例中的存储设备可以通过内置的交换卡相互连接组成存储系统;而现有技术中,除了存储装置,还需要高性能的交换机才能组成存储系统。因此内置本本实施例交换卡的存储设备组成的存储系统具有低成本、低功耗、小体积的优点。
另一方面,本发明实施例提供一种存储设备,如图3所示,本实施例的存储设备22,包括:第一控制器221a、第二控制器221b、第一交换卡222a、第二交换卡222b和存储介质(图中未示出)。
其中,第一控制器221a用于接收第一待存储数据,第二控制器221b与第一控制器221a连接,且所述第二控制器221b与所述第一控制器221a相互保护。相互保护是指当一个控制器无法正常工作时,把业务交给另外一个控制器执行。例如:当第一控制器221a出现故障时,可以把待存储的数据转发给第二控制器221b,由第二控制器221b把业务转发给其他存储设备,或者由第二控制器221b把待存储数据存储到存储介质中。除了第一控制器221a本身出现故障外,如果第一控制器221a与第一交换卡222a之间的连接出现故障,或者第一交换卡出现故障,也可以把第一控制器221a收到的待存储数据转由第二控制器221b处理。
第一交换卡222a与所述第一控制器221a连接,具有用于连接交换卡的接口,第一交换卡可以通过这个接口与其他存储设备的交换卡连接。
第二交换卡222b与所述第二控制器221b连接,具有用于连接交换卡的接口,第二交换卡可以通过这个接口与其他存储设备的交换卡连接。
存储介质,和所述第一控制器221a、第二控制器221b连接,用于存储数据。
所述第一控制器221a进一步用于,在收到所述第一待存储数据后,计算所述第一待存储数据的目标存储设备信息,当目标存储设备时所述存储设备时,把所述第一待存储数据存储到所述存储介质,当目标存储设备不是所述存储设备时,通过所述第一交换卡222a将所述第一待存储数据及所述第一待存储数据的目标存储设备信息发送出去。本实施例中,目标存储设备就是存储待存储数据的存储设备。目标存储设备信息是用于标识目标存储设备的信息,例如是目标存储设备的编号或者目标存储设备的地址。第一控制器221a计算第一待存储数据的目标存储设备信息的策略可以多种,例如负载均衡策略,把空闲存储空间较大的存储设备作为目标设备;或者根据待存储数据的数据内容,确定目标设备;或者根据空闲存储空间的大小以及存储设备间网络带宽大小,共同确定目标存储设备。
存储设备可以组成环网。第一交换卡222a将所述第一待存储数据及所述第一待存储数据的目标存储设备信息发送出去之后,相邻存储设备会收到这两个数据。具体来说,是相邻存储设备的交换卡收到第一待存储数据及所述第一待存储数据的目标存储设备信息,然后相邻设备的交换卡根据第一待存储数据的目标存储设备信息判断本设备是不是目标存储设备,如果是,就存储第一待存储数据,如果不是,就继续转发第一待存储数据及所述第一待存储数据的目标存储设备信息给下一个存储设备。
举例来说,所述第一控制器221a还用于,在收到第三待存储数据后,计算第三待存储数据的目标存储设备信息,并通过所述第一控制器221a和第二控制器221b之间的连接,把所述第三待存储数据,所述第三待存储数据的目标存储设备信息发往所述第二控制器。
第二控制器221b用于,通过第二交换卡222b发出所述第三待存储数据、所述第三待存储数据的目标存储设备信息。
具体地,上述的第一交换卡222a和第二交换卡222b可为如图2所举例描述的交换卡,其具有用于连接于存储设备的相邻的设备中交换卡的接口。
也就是说,第一交换卡222a具有两个用于连接交换卡的接口和一个用于连接控制器的接口,第二交换卡222b具有两个用于连接交换卡的接口和一个用于连接控制器的接口。
此外,在存储设备组成的存储系统中,存储设备的第一交换卡222a还用于接收上一个存储设备发来的第二待存储数据以及第二待存储数据的目标存数设备信息;如果判断结果为否,则把所述第二待存储数据以及第二待存储数据的目标存储设备信息转发给下一个存储设备。参见附图4,存储设备通过环网的方式组成系统是这样实现的:存储设备的第一交换卡与第二个存储设备的一个交换卡连接,存储设备的第二交换卡与第二个存储设备的另外一个交换卡连接;此外,存储设备的第一交换卡与第三个存储设备的一个交换卡连接,存储设备的第二交换卡与第二个存储设备的另外一个交换卡连接。为了描述的方便,本实施例中把第二存储设备称为上一个存储设备,第三存储设备称为下一个存储设备。这里上一个与下一个只是相对的概念,是可以互换的。
在具体的应用中,前述的存储设备22内部设有多个卡槽,卡槽接入插入交换卡222a、222b以外,还可以接入包括接口卡223,如图3所示,所述第一控制器221a连接多个接口卡223,所述第二控制器221b连接多个接口卡223,接口卡223与交换卡222a、222b并列。
在具体的应用中,所述第一控制器221a与所述第二控制器221b之间的连接为总线连接,所述第一交换卡222a与第一控制器221a之间的连接为总线连接,所述第二交换卡222b与所述第二控制器221b之间的连接为总线连接。举例来说,总线均可为PCIE总线或者PCI总线。
本实施例中的存储设备可位于存储系统中,存储系统中的各个存储设备依次连接形成环网,连接方式是:
任意两个相邻存储设备的第一交换卡相互连接,任意两个相邻存储设备的第二交换卡相互连接,具体可以通过如同轴线缆、以太网线缆、光纤等进行连接。
在具体的应用中,第一交换卡222a可通过接口连接存储设备的第一控制器221a、上一个存储设备的第一交换卡以及下一个存储设备的第一交换卡。
第二交换卡222b可通过接口连接存储设备的第二控制器221b、上一个存储设备的第二交换卡以及下一个存储设备的第二交换卡。
由上述实施例可知,本实施例的存储设备可以直接与相邻的存储设备进行数据的传输,如存储设备的第一控制器在收到第一待存储数据后,计算第一待存储数据的目标存储设备信息,在目标存储设备是存储设备时,把第一待存储数据存储到存储介质,进而在包括多个存储设备的存储系统中,设备之间可以通过线缆、光纤等长距离传输线路,解决了现有技术中的存储系统物理布局限制,横向扩展的存储设备数量受限的问题。
再一方面,本发明实施例提供一种存储系统,如图4所示,本实施例的存储系统20包括:多个如上实施例所述的存储设备22组成环网,组成环网的具体方式是:任意两个相邻存储设备的第一交换卡互相连接、任意两个相邻存储设备的第二交换卡互相连接。
在具体的应用中,任意两个相邻存储设备的第一交换卡通过网状通道(Fiber Channel,FC)或者线缆21连接,所述任意两个相邻的存储设备的第二交换卡通过FC或者线缆21连接。
也就是说,该处的第一交换卡和第二交换卡均为图2所示的交换卡,所述交换卡包括三个接口,其中三个接口中的第一个接口通过总线连接所述交换卡对应的存储设备中的控制器,三个接口中的第二个接口通过FC或光缆连接与存储设备右侧相邻的另一个存储设备的交换卡;三个接口中的第三个接口通过FC或光缆连接与存储设备左侧相邻的另一个存储设备的交换卡。
该交换卡用于实现对两个存储设备之间的地址隔离、数据转译或数据桥接等功能。
上述的转译是指:一个控制器访问另一个控制器的空间时,以本控制器的统一地址编码方式来访问。例如,上述存储设备中每个控制器都是一个完整的计算装置,含有CPU、内存等必须的计算组件;这个计算装置具有独立的空间编址,比如从0到0XFFFF;对存储设备的第一控制器的CPU而言,能访问的只能是自己控制下的空间,只能是完全在自己这个系统编码段上的空间。如果存储设备的第一控制器想访问存储设备的第二控制器的某段空间,那么就必须采用PCIE NT Port(接口)的方式,将第二控制器的这段空间转换为第一控制器的某一段地址,该处的转换就叫地址转译。
当然,存储系统也可描述为,任意两个相邻的存储设备22连接组成环网。可以理解的是,且位于存储系统中的第一个存储设备和最后一个存储设备为相邻的存储设备。
举例来说,存储系统中的存储设备的数量为四个、五个、六个、八个、十个、十二个、十八个等。本实施例仅为举例说明,不限制存储系统中存储设备的数量。
当然,在实际应用中,存储系统的每一存储设备的任一控制器还连接多个存储介质,本实施例仅为举例说明,故在图4中未示出多个存储介质。
由上述实施例可知,本实施例的存储系统,通过设置FC、线缆连接相邻的存储设备,实现存储设备中的任一控制器可通过各自的连接的交换卡与其他相邻存储设备的交换卡进行数据交互,由此,解决了现有技术中的存储系统物理布局限制,横向扩展的存储设备数量受限的问题。
可以理解的是,图4中示出的存储系统可为双环路环形组网的分布式存储系统,例如,多个存储设备的第一控制器环接组成第一环,多个存储设备的第二控制器环接组成第二环,进而形成真正的横向扩展式的存储系统,打破了现有技术中的存储系统的节点限制,解决了现有技术中硬盘间布局不合理的问题,进而可为存储的数据提供较为可靠的保护。
以下将图4所示的双环路环形组网的存储系统与现有技术的图1A所示的星形组网的存储系统进行比较说明。
交换机A故障情况下,比较图4的存储系统与图1A的存储系统的影响和可靠性,如图5所示:现有技术中的星形组网的存储系统有两个交换机,其中交换机A损坏,对存储系统的整体影响很大,整体性能下降了1/2。
而环形组网的存储系统采用多个包括交换卡的存储设备级联的方式,若坏了一个交换卡(如图3中所示第一交换卡222a或第二交换卡222b等),对存储系统的影响很小,其影响度仅为1/n,n为存储系统中交换卡的数量。
此外,在实际应用中,现有技术中的存储系统,分属两个存储设备的控制器间访问需经过接口芯片—交换机(交换机A或交换机B)—接口芯片的3级时延的方式;接口芯片时延最小的为PCIE Switch芯片,因为不涉及协议转换带来的时延。
在本施例中的双环路环形组网的存储系统中,两个相邻存储设备间,时延经过第一存储设备的第一交换卡—第二存储设备的第一交换卡,仅两级时延,较现有技术的星形组网的存储系统的时延低;因此,该双环路环形组网的存储系统在绝大部分场景下,时延性能优于现有技术中的星形组网的存储系统。
根据本发明实施例的又一方面,本发明实施例还提供一种数据发送方法,该数据发送方法应用于前述的存储系统及存储装置中。存储系统包括多个存储设备,每个存储设备包括存储介质、两个控制器以及两个交换卡,其中,所述存储介质与所述两个控制器连接,每个所述控制器连接一个所述交换卡,每个交换卡和相邻存储设备的一个交换卡连接;其中,所述方法包括下述的步骤。
601、第一存储设备中的第一控制器接收第一待存储的数据,所述第一存储设备是所述存储系统中的一个存储设备,所述第一存储设备包括第一存储介质、第一控制器、第二控制器、第一交换卡、第二交换卡。
602、所述第一存储设备的第一控制器计算获知所述第一待存储数据的目标存储设备为所述存储系统中第N个存储设备,N为自然数。
举例来说,第一存储设备的第一控制器可根据预设规则或者待存储的数据,获知所述数据为所述存储系统中第N个存储设备的第一控制器需存储的数据,或者把待存储数据指定的存储设备作为目标存储设备,即第一控制器可根据预设规则和第一待存储数据计算获知第一待存储数据的目标存储设备为所述存储系统中第N个存储设备。
或者,第一存储设备的第一控制器可根据预设规则获知所述第一待存储数据的目标存储设备为所述存储系统中第N个存储设备。
其他实施例中,第一存储设备的第一控制器可根据各个存储设备的可用存储空间的大小或者性能来决定目标存储设备(即第N个存储设备的第一控制器),也可以直接由待存储的数据指定目标存储设备,还可以由各存储设备的性能以及待存储数据的重要性共同决定存到哪一个存储设备。
603、所述第一存储设备把所述第一待存储数据发给一个相邻存储设备的交换卡;如果收到所述第一待存储数据的交换卡不是第N个存储设备的交换卡,则转发所述第一待存储数据给下一个相邻存储设备的交换卡,直至所述第N个存储设备的交换卡收到所述第一待存储数据。
604、所述第N个存储设备的交换卡把所述第一待存储数据发给连接的第一控制器,所述第N个存储设备中收到所述第一待存储数据的控制器把所述第一待存储数据存储到第N个存储设备的存储介质。
在一种可选的实施例中,前述的步骤603中的“第一存储设备把所述第一待存储数据发给一个相邻存储设备的交换卡”,可具体包括下述图中未示出的子步骤。
6031、第一控制器把所述第一待存储数据发送给与第一控制器连接的第一交换卡。
6032、所述第一交换卡发送第一待存储数据给与第一交换卡相连的交换卡。
在另一种可选的实施例中,前述的步骤603中的“第一存储设备把所述第一待存储数据发给一个相邻存储设备的交换卡”,可具体包括下述图中未示出的子步骤。
6031’、第一控制器把所述第一待存储数据发送给相连的第二控制器。
6032’、所述第二控制器把所述第一待存储数据发给与所述第二控制器连接的第二交换卡。
6033’、所述第二交换卡发送第一待存储数据给与第二交换卡相连的交换卡。
另外,可选地,若第一存储设备中的第一控制器接收第二待存储数据后,此时,如果所述第一存储设备的第一控制器发生故障,或,与所述第一控制器连接第一交换卡发生数据发送故障,所述方法还包括下述图中未示出的步骤606至步骤608。
应理解,第一存储设备的第一控制器发生数据发送故障,具体是指:第一控制器无法通过第一交换卡把数据发给其他存储设备。在其他实施例中,与第一控制器连接的第一交换卡也可能发生数据发送故障,或者,第一控制器与第一交换卡之间发生数据发送故障,或者,第一交换卡与其他第一交换卡之间的数据发送故障。
606、第一存储设备中的第一控制器接收第二待存储数据后,所述第一存储设备的第一控制器计算获知所述第二待存储数据的目标存储设备是所述存储系统中第N个存储设备。
607、第一存储设备的第一控制器将所述第二待存储数据发送至所述第一存储设备的第二控制器,所述第一存储设备中的第二控制器通过与其连接的交换卡,把所述第二待存储数据发给一个相邻存储设备的交换卡;
如果收到所述第二待存储数据的交换卡不是第N个存储设备的交换卡,则转发所述第二待存储数据,直至所述第N个存储设备的交换卡为收到所述第二待存储数据的交换卡。
608、所述第N个存储设备的交换卡把所述第二待存储数据发给所连接的控制器,所述第N个存储设备中收到所述第二待存储数据的控制器把所述第二待存储数据存储到所述第N个存储设备的存储介质。
上述数据发送方法实现了存储系统对数据的存储。此外,存储系统中的存储设备的控制器用于计算待存储的数据的目标存储设备,连接控制器的交换卡用于判断当前设备是否是目标存储设备。
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (12)

1.一种存储设备,其特征在于,包括:
第一控制器,用于接收第一待存储数据;
与所述第一控制器连接的第二控制器,所述第二控制器与所述第一控制器相互保护;
第一交换卡,与所述第一控制器连接,具有用于连接交换卡的接口;
第二交换卡,与所述第二控制器连接,具有用于连接交换卡的接口;
存储介质,和所述第一控制器、第二控制器连接,用于存储数据;
其中,所述第一控制器进一步用于,在收到所述第一待存储数据后,计算所述第一待存储数据的目标存储设备信息,当目标存储设备是所述存储设备时,把所述第一待存储数据存储到所述存储介质,当目标存储设备不是所述存储设备时,通过所述第一交换卡将所述第一待存储数据及所述第一待存储数据的目标存储设备信息发送出去。
2.根据权利要求1所述的存储设备,其特征在于:所述第一交换卡具有两个用于连接交换卡的接口;
所述第二交换卡具有两个用于连接交换卡的接口。
3.根据权利要求1或2所述的存储设备,其特征在于,所述存储设备的第一交换卡还用于:
接收上一存储设备发来的第二待存储数据以及第二待存储数据的目标存储设备信息;
判断所述存储设备是否是第二待存储数据的目标存储设备信息;
如果判断结果为否,则把所述第二待存储数据以及第二待存储数据的目标存储设备信息转发给下一存储设备。
4.根据权利要求1、2或3所述的存储设备,其特征在于:
所述第一控制器还用于,接收第三待存储数据,计算第三待存储数据的目标存储设备信息,并通过所述第一控制器与第二控制器之间的连接,把所述第三待存储数据、所述第三待存储数据的目标存储设备信息发往所述第二控制器;
所述第二控制器用于,通过第二交换卡发出所述第三待存储数据、所述第三待存储数据的目标存储设备信息。
5.根据权利要求1至4任一所述的存储设备,其特征在于,所述第一控制器与所述第二控制器之间的连接为总线连接,所述第一交换卡与第一控制器之间的连接为总线连接,所述第二交换卡与所述第二控制器之间的连接为总线连接。
6.根据权利要求5所述的存储设备,其特征在于,所述总线为外围设备互联接口PCIE总线。
7.一种存储系统,其特征在于,包括:
多个权利要求1至6任一所述的存储设备组成环网,组成环网的具体方式是:任意两个相邻存储设备的第一交换卡互相连接、任意两个相邻存储设备的第二交换卡互相连接。
8.根据权利要求7所述的存储系统,其特征在于,
所述存储设备的数量为四个、八个或十二个。
9.根据权利要求7或8所述的存储系统,其特征在于:
所述任意两个相邻的存储设备的第一交换卡通过网状通道FC或者线缆连接,所述任意两个相邻的存储设备的第二交换卡通过网状通道FC或者线缆连接。
10.一种数据发送方法,应用于存储系统中,所述存储系统包括多个存储设备,每个存储设备包括存储介质、两个控制器以及两个交换卡,其中,所述存储介质与所述两个控制器连接,每个所述控制器连接一个所述交换卡,每个存储设备的交换卡和相邻存储设备的一个交换卡连接,其特征在于,所述方法包括:
第一存储设备中的第一控制器接收第一待存储数据,所述第一存储设备是所述存储系统中的一个存储设备,所述第一存储设备包括第一存储介质、第一控制器、第二控制器、第一交换卡、第二交换卡;
所述第一存储设备的第一控制器计算获知所述第一待存储数据的目标存储设备为所述存储系统中第N个存储设备,N为自然数;
所述第一存储设备把所述第一待存储数据发给一个相邻存储设备的交换卡;
如果收到所述第一待存储数据的交换卡不是第N个存储设备的交换卡,则转发所述第一待存储数据给下一个相邻存储设备的交换卡,直至所述第N个存储设备的交换卡收到所述第一待存储数据;
所述第N个存储设备的交换卡把所述第一待存储数据发给连接的控制器,所述第N个存储设备中收到所述第一待存储数据的控制器把所述第一待存储数据存储到所述第N个存储设备的存储介质。
11.根据权利要求10所述的方法,其特征在于,所述第一存储设备把所述第一待存储数据发给一个相邻存储设备的交换卡,具体包括;
第一控制器把所述第一待存储数据发送给与第一控制器连接的第一交换卡;
所述第一交换卡发送第一待存储数据给与第一交换卡相连的交换卡。
12.根据权利要求10所述的方法,其特征在于,所述第一存储设备把所述第一待存储数据发给一个相邻存储设备的交换卡,具体包括;
第一控制器把所述第一待存储数据发送给相连的第二控制器;
所述第二控制器把所述第一待存储数据发给与所述第二控制器连接的第二交换卡;
所述第二交换卡发送第一待存储数据给与第二交换卡相连的交换卡。
CN201380000839.9A 2013-05-09 2013-05-09 存储设备、存储系统及数据发送方法 Active CN103608762B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/075370 WO2014179957A1 (zh) 2013-05-09 2013-05-09 存储设备、存储系统及数据发送方法

Publications (2)

Publication Number Publication Date
CN103608762A true CN103608762A (zh) 2014-02-26
CN103608762B CN103608762B (zh) 2016-03-09

Family

ID=50126066

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380000839.9A Active CN103608762B (zh) 2013-05-09 2013-05-09 存储设备、存储系统及数据发送方法

Country Status (2)

Country Link
CN (1) CN103608762B (zh)
WO (1) WO2014179957A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951181A (zh) * 2017-02-21 2017-07-14 深圳大普微电子科技有限公司 一种数据存储系统的控制装置
CN107220197A (zh) * 2017-06-19 2017-09-29 郑州云海信息技术有限公司 一种双控存储设备主备控制方法及装置
CN107276845A (zh) * 2017-06-06 2017-10-20 清华大学 一种轨道交通领域的具有容错功能的实时数据调度方法
CN108228087A (zh) * 2016-12-21 2018-06-29 伊姆西Ip控股有限责任公司 用于超融合基础架构的装置
CN109257263A (zh) * 2018-10-15 2019-01-22 积成电子股份有限公司 一种基于双环网的就地化保护装置数据传输方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110330A1 (en) * 2001-12-12 2003-06-12 Fujie Yoshihiro H. System and method of transferring data from a secondary storage controller to a storage media after failure of a primary storage controller
US20030212859A1 (en) * 2002-05-08 2003-11-13 Ellis Robert W. Arrayed data storage architecture with simultaneous command of multiple storage media
CN102792288A (zh) * 2009-12-23 2012-11-21 提琴存储器公司 可配置的互连系统
CN102968280A (zh) * 2012-11-21 2013-03-13 华为技术有限公司 一种存储系统及存储设备、控制设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100383719C (zh) * 2003-12-05 2008-04-23 深圳市朗科科技有限公司 数据存储装置及其数据记录处理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110330A1 (en) * 2001-12-12 2003-06-12 Fujie Yoshihiro H. System and method of transferring data from a secondary storage controller to a storage media after failure of a primary storage controller
US20030212859A1 (en) * 2002-05-08 2003-11-13 Ellis Robert W. Arrayed data storage architecture with simultaneous command of multiple storage media
CN102792288A (zh) * 2009-12-23 2012-11-21 提琴存储器公司 可配置的互连系统
CN102968280A (zh) * 2012-11-21 2013-03-13 华为技术有限公司 一种存储系统及存储设备、控制设备

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228087A (zh) * 2016-12-21 2018-06-29 伊姆西Ip控股有限责任公司 用于超融合基础架构的装置
CN108228087B (zh) * 2016-12-21 2021-08-06 伊姆西Ip控股有限责任公司 用于超融合基础架构的装置
CN106951181A (zh) * 2017-02-21 2017-07-14 深圳大普微电子科技有限公司 一种数据存储系统的控制装置
US11567696B2 (en) 2017-02-21 2023-01-31 Shenzhen Dapu Microelectronics Co., Ltd. Control device of storage system
CN107276845A (zh) * 2017-06-06 2017-10-20 清华大学 一种轨道交通领域的具有容错功能的实时数据调度方法
WO2018224052A1 (zh) * 2017-06-06 2018-12-13 清华大学 一种轨道交通领域的具有容错功能的实时数据调度方法
CN107276845B (zh) * 2017-06-06 2019-11-15 清华大学 一种轨道交通领域的具有容错功能的实时数据调度方法
CN107220197A (zh) * 2017-06-19 2017-09-29 郑州云海信息技术有限公司 一种双控存储设备主备控制方法及装置
CN109257263A (zh) * 2018-10-15 2019-01-22 积成电子股份有限公司 一种基于双环网的就地化保护装置数据传输方法
CN109257263B (zh) * 2018-10-15 2021-01-29 积成电子股份有限公司 一种基于双环网的就地化保护装置数据传输方法

Also Published As

Publication number Publication date
CN103608762B (zh) 2016-03-09
WO2014179957A1 (zh) 2014-11-13

Similar Documents

Publication Publication Date Title
US8589723B2 (en) Method and apparatus to provide a high availability solid state drive
CN100581172C (zh) 一种对目的磁盘进行访问的方法和扩展磁盘容量的系统
US10740282B2 (en) Interconnect circuits at three-dimensional (3-D) bonding interfaces of a processor array
TWI292990B (en) Method and apparatus for shared i/o in a load/store fabric
CN103608762B (zh) 存储设备、存储系统及数据发送方法
CN206249296U (zh) 一种双控存储服务器
CN102065071B (zh) 一种支持多传输协议的存储设备
CN101140556A (zh) 用可编程器件实现访问多个i2c从器件的方法及装置
TWI259448B (en) Method and apparatus for enhancing reliability and scalability of serial storage devices
US9442877B2 (en) Storage device
CN101639811B (zh) 数据写入的方法、控制器和多控制器系统
CN101833424A (zh) 基于fpga的高速存储与传输装置
CN101620514B (zh) 硬盘存储系统及数据存储方法
US20200412557A1 (en) Modular system (switch boards and mid-plane) for supporting 50g or 100g ethernet speeds of fpga+ssd
CN103002046B (zh) 多系统数据拷贝的rdma装置
CN103154920A (zh) 统一i/o适配器
US9792251B2 (en) Array of processor core circuits with reversible tiers
CN101889263B (zh) 控制路径i/o虚拟化
CN206249150U (zh) 一种存储服务器
CN111475459A (zh) 一种9u vpx数据存储服务器及数据处理方法
CN206807466U (zh) 一种基于pcie非透明桥的高可用冗余加密终端
CN100464290C (zh) 缓存管理系统
CN103929475B (zh) 一种以太网架构的硬盘存储系统及硬盘数据操作方法
CN105511990B (zh) 基于融合架构双冗余度存储控制节点架构的装置
CN105938461A (zh) 一种dma数据传输方法、装置以及网络设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant