CN101604299B - 一种访问pcie ram的方法、存储控制器和存储系统 - Google Patents

一种访问pcie ram的方法、存储控制器和存储系统 Download PDF

Info

Publication number
CN101604299B
CN101604299B CN200910150094XA CN200910150094A CN101604299B CN 101604299 B CN101604299 B CN 101604299B CN 200910150094X A CN200910150094X A CN 200910150094XA CN 200910150094 A CN200910150094 A CN 200910150094A CN 101604299 B CN101604299 B CN 101604299B
Authority
CN
China
Prior art keywords
pcie
ram
storage controller
opposite
port
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.)
Active
Application number
CN200910150094XA
Other languages
English (en)
Other versions
CN101604299A (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec 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 Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN200910150094XA priority Critical patent/CN101604299B/zh
Publication of CN101604299A publication Critical patent/CN101604299A/zh
Application granted granted Critical
Publication of CN101604299B publication Critical patent/CN101604299B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例公开了一种访问PCIE RAM的方法、存储控制器和存储系统。其中,在当前存储控制器发现与PCIE RAM的一个端口相连的数据通道发生故障时,所述当前存储控制器选择一个对端存储控制器,其中,所述存储控制器通过数据通道预先分别与所述PCIE RAM的两个端口相连;所述当前存储控制器将访问请求发送给所述对端存储控制器;所述对端存储控制器通过与所述PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述PCIE RAM。根据本发明实施例,避免了在双控或者多控存储系统中出现单点故障,从而提高了整个存储系统的可靠性。

Description

一种访问PCIE RAM的方法、存储控制器和存储系统 
技术领域
本发明涉及存储技术领域,特别是涉及一种访问PCIE RAM的方法、存储控制器和存储系统。 
背景技术
随着科学技术的飞速发展与计算机技术的普遍应用,企业信息系统日益占据着企业竞争优势的主体地位。其中,数据的海量增长,使企业比以往任何时候都更加依赖于数据。为了更好、更快的存储这些海量数据,存储技术就应运而生。其中,PCIE RAM以其数据传输速率高的优势而被越来越广泛地应用,现有的PCIE RAM设备都是单端口的,存储控制器通过一个PCIE链路与PCIE RAM的单端口相连,进而存储控制器可以通过PCIE链路实现对PCIE RAM的访问。在双控或者多控存储系统中,以一个双控存储系统为例,存储控制器0通过PCIE链路0与PCIE RAM0的单端口相连,进而存储控制器0可以通过PCIE链路0实现对PCIE RAM0的访问,存储控制器1通过PCIE链路1与PCIE RAM1的单端口相连,进而存储控制器1可以通过PCIE链路1实现对PCIE RAM1的访问,同时,存储控制器0与存储控制器1之间通过镜像通道进行连接,进而使得两个存储控制器可以访问与对端相连的PCIERAM。 
但是,发明人在研究中发现,如果PCIE链路0出现故障或者PCIE RAM0的单端口出现故障,使得存储控制器0和存储控制器1无法访问PCIE RAM0,进而在整个存储系统中出现了单点故障,这样的单点故障会影响整个存储系统的可靠性。 
发明内容
为了解决上述技术问题,本发明实施例提供了一种访问PCIE RAM的方法、存储控制器和存储系统,以提高整个存储系统的可靠性。 
本发明实施例提供了如下技术方案: 
本发明实施例公开了一种访问PCIE RAM的方法,包括:在当前存储控制器发现与PCIE RAM的一个端口相连的数据通道发生故障时,所述当前存储控制器选择一个对端存储控制器,其中,当前存储控制器和对端存储控制器通过数据通道预先分别与所述PCIE RAM的两个端口相连,在双控存储系统中,两个存储控制器互为对端设备,在具有至少三个存储控制器的多控存储系统中,当前存储控制器的对端存储控制器为与当前存储控制器通过镜像通道相连的存储控制器;所述当前存储控制器将访问请求发送给所述对端存储控制器;所述对端存储控制器通过与所述PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述PCIE RAM。 
本发明实施例还公开了一种存储控制器,包括:连接单元,用于通过数据通道分别与具有两个端口的PCIE RAM相连;选择单元,用于在发现与第一PCIE RAM的一个端口相连的数据通道发生故障时,选择一个对端存储控制器,其中,当前存储控制器和对端存储控制器通过数据通道分别与所述第一PCIE RAM的两个端口相连,在双控存储系统中,两个存储控制器互为对端设备,在具有至少三个存储控制器的多控存储系统中,当前存储控制器的对端存储控制器为与当前存储控制器通过镜像通道相连的存储控制器;发送单元,用于将访问请求发送给所述对端存储控制器,由所述对端存储控制器通过与所述第一PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述第一PCIE RAM;接收单元,用于当对端存储控制器发现与第二PCIERAM的一个端口相连的数据通道发生故障时,接收对端存储控制器发送的访问请求;访问单元,用于通过与所述第二PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述第二PCIE RAM。 
本发明实施例还公开了一种存储系统,包括:存储控制器和具有两个端口的PCIE RAM,所述存储控制器通过数据通道分别与PCIE RAM的两个端口相连,其中,所述存储控制器,用于当发现与PCIE RAM的一个端口相连的数据通道发生故障时,选择一个对端存储控制器,并将访问请求发送给所述对端存储控制器,由对端存储控制器通过与所述PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述PCIE RAM,在双控存储系统中,两个存储控制器互为对端设备,在具有至少三个存储控制器的多控存储系统中,当前存储控制器的对端存储控制器为与当前存储控制器通过镜像通道相连的存储控制器。 
由上述实施例可以看出,PCIE RAM具有两个端口,每个存储控制器都通过数据通道分别与PCIE RAM的两个端口相连,当一个存储控制器发现与PCIE RAM的一个端口相连的数据通道发生故障时,该存储控制器通过镜像通道“绕道”到另外一个存储控制器上,由另外一个存储控制器通过与该PCIE RAM的另一个端口相连的数据通道访问该PCIE RAM,避免了在双控或者多控存储系统中出现单点故障,从而提高了整个存储系统的可靠性。 
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 
图1为本发明实施例中一种访问PCIE RAM的方法的一个实施例的流程图; 
图2为本发明实施例中一种双控存储系统的结构示意图; 
图3为本发明实施例中一种访问PCIE RAM的方法的另一个实施例的流程图; 
图4为本发明实施例中一种多控存储系统的结构示意图; 
图5为本发明实施例中一种访问PCIE RAM的方法的另一个实施例的流程图; 
图6为本发明实施例中将PCIE RAM数据映射到存储控制器中的示意图; 
图7为本发明实施例中一种存储控制器的一个实施例的结构图; 
图8为本发明实施例中一种存储系统的一个实施例的结构图。 
具体实施方式
本发明实施例提供了响应消息的执行方法和装置。首先, 
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例进行详细描述。 
实施例一 
请参阅图1,其为本发明一种访问PCIE RAM的方法的一个实施例的流程图,在本实施例的存储系统中,PCIE RAM具有两个端口,存储控制器通过数据通道分别与PCIE RAM的两个端口相连,当一个存储控制器发现与PCIE RAM的一个端口相连的数据通道发生故障时,该方法包括以下步骤: 
步骤101:在当前存储控制器发现与PCIE RAM的一个端口相连的数据通道发生故障时,所述当前存储控制器选择一个对端存储控制器,其中,所述存储控制器通过数据通道预先分别与所述PCIE RAM的两个端口相连; 
其中,所述当前存储控制器选择一个对端存储控制器包括:比较与所有对端存储控制器之间的镜像通道的负荷量;选择负荷量最小的镜像通道所对应的对端存储控制器。 
步骤102:所述当前存储控制器将访问请求发送给所述对端存储控制器; 
步骤103:所述对端存储控制器通过与所述PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述PCIE RAM。 
其中,所述对端存储控制器通过与所述PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述PCIE RAM包括:在双控存储系统中,所述对端存储控制器通过与所述PCIE RAM的另一个端口相连的PCIE链路将所述访问请求发送给所述PCIE RAM;或者,在多控存储系统中,所述对端存储控制器通过与PCIE交换机的一个端口相连的PCIE链路将所述访问请求发给所述PCIE交换机,由所述PCIE交换机通过与所述PCIE RAM的另一个端口相连的PCIE链路将所述访问请求发送给所述PCIE RAM。 
上述存储系统中的存储控制器通过数据通道分别与PCIE RAM的两个端口相连包括:在双控存储系统中,为具有相同基本信息的PCIE RAM设定相同的标识,所述基本信息包括物理位置、序列号和容量;通过PCIE链路分别与设定相同标识后的PCIE RAM的两个端口相连;或者,在多控存储系统中,为具有相同基本信息的PCIE RAM设定相同的标识,所述基本信息包括物理位置、序列号和容量;通过PCIE链路分别与两个PCIE交换机相连,所述两个PCIE交换机分别通过PCIE链路与设定相同标识后的PCIE RAM的两个端口相连。 
所述对具有相同基本信息的PCIE RAM设定相同的标识后还可以进一步包括:判断具有相同标识的PCIE RAM是否具有相同的基本信息,如果否,重新对具有相同基本信息的PCIE RAM设定相同的标识,直到具有相同标识的PCIE RAM具有相同的基本信息为止。 
由上述实施例可以看出,PCIE RAM具有两个端口,每个存储控制器都通过数据通道分别与PCIE RAM的两个端口相连,当一个存储控制器发现与PCIE RAM的一个端口相连的数据通道发生故障时,该存储控制器通过镜像通道“绕道”到另外一个存储控制器上,由另外一个存储控制器通过与该PCIE RAM的另一个端口相连的数据通道访问该PCIE RAM,避免了在双控或者多控存储系统中出现单点故障,从而提高了整个存储系统的可靠性。 
实施例二 
为了描述方便,本发明中将具有两个存储控制器的存储系统称为双控存储系统,将具有至少三个存储控制器的存储系统称为多控存储系统。本发明提供了一种在双控存储系统中访问PCIE RAM的方法。请参阅图2,其为本发明中一种双控存储系统的结构示意图。如图2所示,在该双控存储系统中,具有存储控制器0、存储控制器1、具有双端口的PCIE RAM0和PCIE RAM1。其中,存储控制器0与存储控制器1之间通过镜像通道相连;两个存储控制器又分别通过PCIE链路与两个PCIE RAM的端口相连,即,存储控制器0通过PCIE链路0与PCIE RAM0的一个端口相连,存储控制器1通过PCIE链路1与PCIE RAM0的另一个端口相连,存储控制器0通过PCIE链路2与PCIE RAM1的一个端口相连,存储控制器1通过PCIE链路3与PCIE RAM1的另一个端口相连。 
结合图2中的双控存储系统,请参阅图3,其为本发明一种访问PCIE RAM的另一个实施例的流程图,该方法应用于双控存储系统中,包括以下步骤: 
步骤301:存储控制器0和存储控制器1分别对双控存储系统中的PCIERAM进行归一化处理; 
其中,所述的归一化处理具体为:由存储控制器0和存储控制器1分别查询每个PCIE RAM的基本信息,所述基本信息包括物理位置、序列号和容量,存储控制器0和存储控制器1再为具有相同基本信息的PCIE RAM设定相同的标识。例如,为具有相同基本信息的PCIE RAM分配一致的起始映射地址X、Y......,或者为具有相同基本信息的PCIE RAM分配一致的逻辑盘号C盘、D盘......。 
当对双控存储系统中的PCIE RAM进行归一化处理后,还可以进一步包括:判断具有相同标识的PCIE RAM是否具有相同的基本信息,如果否,重新对每个PCIE RAM做归一化处理,直到具有相同标识的PCIE RAM具有相同的基本信息为止。 
步骤302:当存储控制器0发现与PCIE RAM0的一个端口相连的数据通道发生故障时,选择一个对端存储控制器; 
其中,当存储控制器0与PCIE RAM0之间的PCIE链路0发生故障或者PCIE RAM0的一个端口发生故障都会导致存储控制器0与PCIE RAM0的一个端口相连的数据通道发生故障,此时,存储控制器0通过该故障的数据通道发送的访问请求也就会执行失败。 
在双控存储系统中,只有两个存储控制器,两个存储控制器互为对端设备,也就是说,存储控制器1为存储控制器0唯一的对端存储控制器,因此,这里存储控制器0只能选择存储控制器1。 
步骤303:存储控制器0通过镜像通道将访问请求发送给存储控制器1; 
步骤304:存储控制器1通过与PCIE RAM0的另一个端口相连的PCIE链路1将访问请求发送给PCIE RAM0。 
需要说明的是,当双控存储系统中的存储控制器0发现与PCIE RAM1的一个端口相连的数据通道发生故障,或者,存储控制器1发现与PCIE RAM0的一个端口相连的数据通道或者与PCIE RAM1的一个端口相连的数据通道发生故障时,都可以采用类似的方法实现访问。 
还需要说明的是,本发明实施例对双控存储系统中的PCIE RAM数量并不做限定,该双控存储系统中可以有任意个数的PCIE RAM。 
由上述实施例可以看出,在双控存储系统中,两个存储控制器都通过PCIE链路分别与PCIE RAM的两个端口相连,当一个存储控制器发现与PCIE RAM的一个端口相连的数据通道发生故障时,该存储控制器通过镜像通道“绕道”到另外一个存储控制器上,由另外一个存储控制器通过与该PCIE RAM的另一个端口相连的PCIE链路将访问请求发送给该PCIE RAM,避免了在双控存储系统中出现单点故障,从而提高了整个双控存储系统的可靠性。 
实施例三 
本发明还提供了一种在多控存储系统中访问PCIE RAM的方法。请参阅图4,其为本发明中一种多控存储系统的结构示意图。如图4所示,在该多控系统中,具有存储控制器0、存储控制器1、存储控制器2、PCIE交换机1、 PCIE交换机2、具有双端口的PCIE RAM0。其中,存储控制器0、存储控制器1和存储控制器2之间通过镜像通道相连;三个存储控制器又分别通过PCIE链路与两个PCIE交换机相连,即,存储控制器0通过PCIE链路0与PCIE交换机0相连,存储控制器1通过PCIE链路1与PCIE交换机0相连,存储控制器2通过PCIE链路2与PCIE交换机0相连,存储控制器0通过PCIE链路3与PCIE交换机1相连,存储控制器1通过PCIE链路4与PCIE交换机1相连,存储控制器2通过PCIE链路5与PCIE交换机1相连;两个PCIE交换机分别通过PCIE链路与PCIE RAM0的两个端口相连,即,PCIE交换机0通过PCIE链路6与PCIE RAM0的一个端口相连,PCIE交换机1通过PCIE链路7与PCIE RAM0的另一个端口相连。 
结合图4中的多控存储系统,请参阅图5,其为本发明一种访问PCIE RAM的另一个实施例的流程图,该方法应用于多控存储系统,包括以下步骤: 
步骤501:存储控制器0、存储控制器1和存储控制器2分别对多控存储系统中的PCIE RAM0进行归一化处理; 
其中,归一化的具体处理方法已经在上一个实施例中做了详细的描述,在此故不赘述。 
步骤502:当存储控制器1发现与PCIE RAM0的一个端口相连的数据通道发生故障时,选择一个对端存储控制器; 
其中,当存储控制器1与PCIE交换机0之间的PCIE链路1发生故障、PCIE交换机0与PCIE RAM0之间的PCIE链路6发生故障、PCIE交换机0的端口发生故障或者PCIE RAM0的端口发生故障都会导致存储控制器1与PCIE RAM0的一个端口相连的数据通道发生故障,此时,存储控制器1通过该故障的数据通道发送的访问请求也就会执行失败。 
在多控存储系统中,具有三个存储控制器,并且存储控制器1与存储控制器0和存储控制器2分别通过镜像通道相连,存储控制器0和存储控制器2都为存储控制器1的对端存储控制器。存储控制器1可以任意选择一个对端存储控制器,而优选的方案是:存储控制器1可以分别比较与存储控制器0之间的镜像通道和与存储控制器2之间的镜像通道的负荷量,选择负荷量最小的镜像通道所对应的对端存储控制器。 
存储控制器0和存储控制器2也可以按照上述方法选择一个对端存储控制器。 
步骤503:存储控制器1通过镜像通道将访问请求发送给存储控制器0; 
步骤504:存储控制器0通过与PCIE交换机1的一个端口相连的PCIE链路3将访问请求发送给PCIE交换机1; 
步骤505:PCIE交换机1通过与PCIE RAM0的另一个端口相连的PCIE链路7将访问请求发送给PCIE RAM0。 
需要说明的是,当多控存储系统中的一个存储控制器发现与PCIE RAM的一个端口相连的数据通道发生故障时,都可以采用类似的方法实现访问。 
还需要说明的是,本发明实施例对双控存储系统中的PCIE RAM数量并不做限定,该双控存储系统中可以有任意个数的PCIE RAM。 
由上述实施例可以看出,在多控存储系统中,每个存储控制器都通过PCIE链路分别与两个PCIE交换机相连,两个PCIE交换机又通过PCIE链路分别与PCIE RAM的两个端口相连,当一个存储控制器发现与PCIE RAM的一个端口相连的数据通道发生故障时,该存储控制器通过镜像通道“绕道”到另外一个存储控制器上,由另外一个存储控制器通过与PCIE交换机相连的PCIE链路发送访问请求,再由该PCIE交换机通过与该PCIE RAM的另一个端口相连的PCIE链路将该访问请求发送给该PCIE RAM,避免了在多控存储系统中出现单点故障,从而提高了整个多控存储系统的可靠性。 
存储控制器对PCIE RAM中数据的读写操作,主要有以下两种方法来实现。 
第一种方法:将PCIE RAM的全部可用空间映射到存储控制器的一段逻辑地址空间内,存储控制器需要读写PCIE RAM中的数据时,直接操作这段逻辑地址空间即可 
请参阅图6,其为本发明中将PCIE RAM数据映射到存储控制器中的示意图。其中,PCIE RAM所有空间被映射给了存储控制器,对运行在存储控制器上的应用程序而言,访问PCIE RAM和访问本地物理内存没有区别,即可以直接读写操作,无需通过额外的PCIE RAM驱动,因此,访问效率很高。 但由于存储控制器中的CPU所支持物理地址大小有限,现在主流的X86CPU的物理地址大小为36~48bit,即CPU最大物理寻址范围是64GB~256TB的物理空间,因此,所有PCIE RAM映射给存储控制器的空间必须小于等于存储控制器中的CPU所支持的物理寻址大小,这样PCIE RAM的应用场合就可能受限。 
第二种方法,将PCIE RAM虚拟成一个硬盘,存储控制器需要读写PCIERAM时,通过PCIE RAM驱动提供的接口进行访问。 
其中,存储控制器通过专门的PCIE RAM驱动,访问PCIE RAM。这种方法适用范围更广,但访问效率相对低一些。对于应用软件而言,PCIE RAM是诸多PCIE端点设备,PCIE RAM驱动提供访问接口给应用软件。 
其中,访问接口至少包括以下这些参数:PCIE RAM标示符,用来标识需要访问哪个PCIE RAM;操作方式,用来标识需要对PCIE RAM进行什么样的访问,比如读/写/查询;操作位置和长度,用来告诉PCIE RAM本次访问需要从什么位置开始,并访问多少长度的数据。 
需要说明的是,本发明并不限定存储控制器对PCIE RAM中数据的读写操作的方法,具体使用哪个方法对PCIE RAM中数据的读写操作,可以根据应用场景来决定。 
实施例四 
与上述一种访问PCIE RAM的方法相对应,本发明实施例还提供了一种存储控制器。请参阅图7,其为本发明一种存储控制器的一个实施例的结构图,该存储控制器包括连接单元701、选择单元702、发送单元703、接收单元704和访问单元705。下面结合该装置的工作原理进一步介绍其内部结构以及连接关系。 
连接单元701,用于通过数据通道分别与具有两个端口的PCIE RAM相连; 
选择单元702,用于在发现与第一PCIE RAM的一个端口相连的数据通道发生故障时,选择一个对端存储控制器,其中,所述存储控制器通过数据通道分别与所述第一PCIE RAM的两个端口相连; 
发送单元703,用于将访问请求发送给所述对端存储控制器,由所述对端存储控制器通过与所述第一PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述第一PCIE RAM; 
接收单元704,用于当对端存储控制器发现与第二PCIE RAM的一个端口相连的数据通道发生故障时,接收对端存储控制器发送的访问请求; 
访问单元705,用于通过与所述第二PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述第二PCIE RAM。 
其中,在双控存储系统中,连接单元701包括:归一化子单元7011和第一连接子单元7012, 
归一化子单元7011,用于在双控存储系统中,为具有相同基本信息的PCIERAM设定相同的标识,所述基本信息包括物理位置、序列号和容量; 
第一连接子单元7012,用于通过PCIE链路分别与设定标识后的两个端口相连。 
其中,在多控存储系统中,连接单元701包括:归一化子单元和第二连接子单元, 
归一化子单元,用于在多控存储系统中,为具有相同基本信息的PCIERAM设定相同的标识,所述基本信息包括物理位置、序列号和容量; 
第二连接子单元,用于通过PCIE链路分别与两个PCIE交换机相连,所述两个PCIE交换机分别通过PCIE链路与设定标识后的PCIE RAM的两个端口相连。 
进一步的,存储控制器还可以包括:检验子单元7013,用于判断具有相同标识的PCIE RAM是否具有相同的基本信息,如果否,重新对具有相同基本信息的PCIE RAM设定相同的标识,直到具有相同标识的PCIE RAM具有相同的基本信息为止。 
其中,选择单元702包括:比较子单元7021和选择子单元7022, 
比较子单元7021,用于比较与所有对端存储控制器之间的镜像通道的负荷量; 
选择子单元7022,用于选择负荷量最小的镜像通道所对应的对端存储控制器。 
其中,访问单元705包括:第一访问子单元,用于在双控存储系统中,通过与所述第二PCIE RAM的另一个端口相连的PCIE链路将所述访问请求发送给所述第二PCIE RAM;或者,第二访问子单元,用于在多控存储系统中,通过与PCIE交换机的一个端口相连的PCIE链路将所述访问请求发给所述PCIE交换机,以便由所述PCIE交换机通过与所述第二PCIE RAM的另一个端口相连的PCIE链路将所述访问请求发送给所述第二PCIE RAM。 
由上述实施例可以看出,PCIE RAM具有两个端口,每个存储控制器都通过数据通道分别与PCIE RAM的两个端口相连,当一个存储控制器发现与PCIE RAM的一个端口相连的数据通道发生故障时,该存储控制器通过镜像通道“绕道”到另外一个存储控制器上,由另外一个存储控制器通过与该PCIERAM的另一个端口相连的数据通道访问该PCIE RAM,避免了在双控或者多控存储系统中出现单点故障,从而提高了整个存储系统的可靠性。 
实施例五 
本发明实施例还提供了一种存储系统。请参阅图8,其为本发明一种存储系统的一个实施例的结构图。该存储系统包括:存储控制器801和具有两个端口的PCIE RAM802,存储控制器801通过数据通道分别与PCIE RAM802的两个端口相连,其中, 
存储控制器801,用于当发现与PCIE RAM的一个端口相连的数据通道发生故障时,选择一个对端存储控制器,并将访问请求发送给所述对端存储控制器,由对端存储控制器通过与所述PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述PCIE RAM。 
由上述实施例可以看出,PCIE RAM具有两个端口,每个存储控制器都通过数据通道分别与PCIE RAM的两个端口相连,当一个存储控制器发现与PCIE RAM的一个端口相连的数据通道发生故障时,该存储控制器通过镜像通道“绕道”到另外一个存储控制器上,由另外一个存储控制器通过与该PCIERAM的另一个端口相连的数据通道访问该PCIE RAM,避免了在双控或者多控存储系统中出现单点故障,从而提高了整个存储系统的可靠性。 
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。 
以上对本发明所提供的一种访问PCIE RAM的方法、存储控制器和存储系统进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。 

Claims (11)

1.一种访问PCIE RAM的方法,其特征在于,包括:
在当前存储控制器发现与PCIE RAM的一个端口相连的数据通道发生故障时,所述当前存储控制器选择一个对端存储控制器,其中,当前存储控制器和对端存储控制器通过数据通道预先分别与所述PCIE RAM的两个端口相连,在双控存储系统中,两个存储控制器互为对端设备,在具有至少三个存储控制器的多控存储系统中,当前存储控制器的对端存储控制器为与当前存储控制器通过镜像通道相连的存储控制器;
所述当前存储控制器将访问请求发送给所述对端存储控制器;
所述对端存储控制器通过与所述PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述PCIE RAM。
2.根据权利要求1所述的方法,其特征在于,所述每个存储控制器都通过数据通道预先分别与PCIE RAM的两个端口相连包括:
在双控存储系统中,为具有相同基本信息的PCIE RAM设定相同的标识,所述基本信息包括物理位置、序列号和容量;
通过PCIE链路分别与设定相同标识后的PCIE RAM的两个端口相连;
或者,
在多控存储系统中,为具有相同基本信息的PCIE RAM设定相同的标识,所述基本信息包括物理位置、序列号和容量;
通过PCIE链路分别与两个PCIE交换机相连,所述两个PCIE交换机分别通过PCIE链路与设定相同标识后的PCIE RAM的两个端口相连。
3.根据权利要求2所述的方法,其特征在于,所述对具有相同基本信息的PCIE RAM设定相同的标识后还包括:
判断具有相同标识的PCIE RAM是否具有相同的基本信息,如果否,重新对具有相同基本信息的PCIE RAM设定相同的标识,直到具有相同标识的PCIE RAM具有相同的基本信息为止。
4.根据权利要求1所述的方法,其特征在于,所述当前存储控制器选择一个对端存储控制器包括:
比较与所有对端存储控制器之间的镜像通道的负荷量;
选择负荷量最小的镜像通道所对应的对端存储控制器。
5.根据权利要求1所述的方法,其特征在于,所述对端存储控制器通过与所述PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述PCIE RAM包括:
在双控存储系统中,所述对端存储控制器通过与所述PCIE RAM的另一个端口相连的PCIE链路将所述访问请求发送给所述PCIE RAM;
或者,
在多控存储系统中,所述对端存储控制器通过与PCIE交换机的一个端口相连的PCIE链路将所述访问请求发给所述PCIE交换机,以便所述PCIE交换机通过与所述PCIE RAM的另一个端口相连的PCIE链路将所述访问请求发送给所述PCIE RAM。
6.一种存储控制器,其特征在于,包括:
连接单元,用于通过数据通道分别与具有两个端口的PCIE RAM相连;
选择单元,用于在发现与第一PCIE RAM的一个端口相连的数据通道发生故障时,选择一个对端存储控制器,其中,当前存储控制器和对端存储控制器通过数据通道分别与所述第一PCIE RAM的两个端口相连,在双控存储系统中,两个存储控制器互为对端设备,在具有至少三个存储控制器的多控存储系统中,当前存储控制器的对端存储控制器为与当前存储控制器通过镜像通道相连的存储控制器;
发送单元,用于将访问请求发送给所述对端存储控制器,由所述对端存储控制器通过与所述第一PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述第一PCIE RAM;
接收单元,用于当对端存储控制器发现与第二PCIE RAM的一个端口相连的数据通道发生故障时,接收对端存储控制器发送的访问请求;
访问单元,用于通过与所述第二PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述第二PCIE RAM。
7.根据权利要求6所述的存储控制器,其特征在于,所述连接单元包括:
归一化子单元,用于在双控存储系统中,为具有相同基本信息的PCIERAM设定相同的标识,所述基本信息包括物理位置、序列号和容量;
第一连接子单元,用于通过PCIE链路分别与设定标识后的两个端口相连;
或者,
归一化子单元,用于在多控存储系统中,为具有相同基本信息的PCIERAM设定相同的标识,所述基本信息包括物理位置、序列号和容量;
第二连接子单元,用于通过PCIE链路分别与两个PCIE交换机相连,所述两个PCIE交换机分别通过PCIE链路与设定标识后的PCIE RAM的两个端口相连。
8.根据权利要求7所述的存储控制器,其特征在于,还包括:
检验子单元,用于判断具有相同标识的PCIE RAM是否具有相同的基本信息,如果否,重新对具有相同基本信息的PCIE RAM设定相同的标识,直到具有相同标识的PCIE RAM具有相同的基本信息为止。
9.根据权利要求6所述的存储控制器,其特征在于,所述选择单元包括:
比较子单元,用于比较与所有对端存储控制器之间的镜像通道的负荷量;
选择子单元,用于选择负荷量最小的镜像通道所对应的对端存储控制器。
10.根据权利要求6所述的存储控制器,其特征在于,所述访问单元包括:
第一访问子单元,用于在双控存储系统中,通过与所述第二PCIE RAM的另一个端口相连的PCIE链路将所述访问请求发送给所述第二PCIE RAM;
或者,
第二访问子单元,用于在多控存储系统中,通过与PCIE交换机的一个端口相连的PCIE链路将所述访问请求发给所述PCIE交换机,以便由所述PCIE交换机通过与所述第二PCIE RAM的另一个端口相连的PCIE链路将所述访问请求发送给所述第二PCIE RAM。
11.一种存储系统,其特征在于,包括:存储控制器和具有两个端口的PCIE RAM,所述存储控制器通过数据通道分别与PCIE RAM的两个端口相连,其中,
所述存储控制器,用于当发现与PCIE RAM的一个端口相连的数据通道发生故障时,选择一个对端存储控制器,并将访问请求发送给所述对端存储控制器,由对端存储控制器通过与所述PCIE RAM的另一个端口相连的数据通道将所述访问请求发送给所述PCIE RAM,在双控存储系统中,两个存储控制器互为对端设备,在具有至少三个存储控制器的多控存储系统中,当前存储控制器的对端存储控制器为与当前存储控制器通过镜像通道相连的存储控制器。
CN200910150094XA 2009-07-13 2009-07-13 一种访问pcie ram的方法、存储控制器和存储系统 Active CN101604299B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910150094XA CN101604299B (zh) 2009-07-13 2009-07-13 一种访问pcie ram的方法、存储控制器和存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910150094XA CN101604299B (zh) 2009-07-13 2009-07-13 一种访问pcie ram的方法、存储控制器和存储系统

Publications (2)

Publication Number Publication Date
CN101604299A CN101604299A (zh) 2009-12-16
CN101604299B true CN101604299B (zh) 2011-04-20

Family

ID=41470035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910150094XA Active CN101604299B (zh) 2009-07-13 2009-07-13 一种访问pcie ram的方法、存储控制器和存储系统

Country Status (1)

Country Link
CN (1) CN101604299B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102103471B (zh) * 2011-02-23 2012-11-14 浪潮(北京)电子信息产业有限公司 数据传输方法和系统
CN103384204B (zh) * 2011-12-31 2016-03-30 华为数字技术(成都)有限公司 串行并行转换电路故障的处理方法及装置
IN2013KN03842A (zh) * 2012-10-27 2015-05-01 Huawei Tech Co Ltd
CN104484293B (zh) * 2014-11-20 2017-09-08 浪潮(北京)电子信息产业有限公司 一种在多控存储系统中实现前端协议的方法和设备
CN106294225A (zh) * 2015-06-29 2017-01-04 深圳市中兴微电子技术有限公司 一种数据读取方法、对端设备及控制器
CN106649190A (zh) * 2015-10-29 2017-05-10 池州职业技术学院 一种电子产品一体化快速存储集成系统
CN105791171A (zh) * 2016-03-21 2016-07-20 浪潮(北京)电子信息产业有限公司 交换芯片的复位方法、交换芯片及pcie交换机
CN112559420B (zh) * 2020-12-21 2024-01-23 国家电网有限公司能源互联网技术研究院 基于双高速总线自主可控的数据通信网关机及通信方法

Also Published As

Publication number Publication date
CN101604299A (zh) 2009-12-16

Similar Documents

Publication Publication Date Title
CN101604299B (zh) 一种访问pcie ram的方法、存储控制器和存储系统
US9135190B1 (en) Multi-profile memory controller for computing devices
US11644994B2 (en) Data migration method, host, and solid state disk
US8868851B2 (en) Data access method of a memory device
US20080127199A1 (en) Storage sub-system, host computer, storage system, load balancing method and load balancing program
US20100023847A1 (en) Storage Subsystem and Method for Verifying Data Using the Same
KR20170094482A (ko) 다중 포트 메모리 장치 및 그것을 이용한 방법
CN103534688A (zh) 数据恢复方法、存储设备和存储系统
CN105204779A (zh) 基于双控的scsi target访问控制方法和装置
CN110618785A (zh) 双控存储系统
US20140229797A1 (en) Error correcting code scheme utilizing reserved space
CA3129982A1 (en) Method and system for accessing distributed block storage system in kernel mode
US20240256185A1 (en) Near memory processing dual in-line memory module and method for operating the same
KR20190128498A (ko) 메모리 시스템, 그것의 동작 방법 및 전자 장치
CN106354428B (zh) 一种多物理层分区计算机体系结构的存储共享系统
CN101599049B (zh) 控制dma访问不连续物理地址的方法及dma控制器
US20030056141A1 (en) Control method used in and-gate type system to increase efficiency and lengthen lifetime of use
CN112765090A (zh) 一种目标地址的预取方法、系统、设备及介质
WO2023186115A1 (zh) 表项读取方法、装置、网络设备及存储介质
CN107220124B (zh) 一种路径选择方法及装置
US20230049427A1 (en) Method for external devices accessing computer memory
WO2013147886A1 (en) Virtual device sparing
US10628067B2 (en) Memory system and operating method thereof
US10437497B1 (en) Active-active host environment
US20240232099A9 (en) Storage system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20220830

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

TR01 Transfer of patent right