一种存储系统及盘片的制作方法

文档序号:23800161发布日期:2021-02-02 12:34阅读:63来源:国知局
一种存储系统及盘片的制作方法
一种存储系统及盘片
[0001]
本案是专利申请号为201880003845.2,申请日为2018年6月27日,发明名称为“一种存储系统及存储系统的工作模式的切换方法”的分案申请。
技术领域
[0002]
本申请涉及存储技术领域,尤其涉及一种存储系统及盘片。


背景技术:

[0003]
随着大数据分析技术、物联网技术等技术的发展,数据成为了推动相关技术进步的核心要素,因此,保证数据存储的可靠性越发重要。
[0004]
数据的存储系统由盘片控制器和盘片构成。根据盘片控制器访问盘片的方式,将存储系统的存储架构分为集中式存储架构和分布式存储架构。现有技术中,集中式存储架构以及分布式存储架构均为固有设计,也就是说,无论是这两种中的哪种存储架构,盘片控制器都是与盘片固定连接,无法拆分,如果想改为使用另一种存储架构,例如想从集中式存储架构改为使用分布式存储架构,则需要重新购买全套的存储架构,也就是需要重新购买一体式设置的分布式存储架构的盘片控制器和相应的盘片,显然成本较高。可见,现有技术中的存储架构不够灵活,不便于灵活部署。


技术实现要素:

[0005]
本申请实施例提供一种存储系统及存储系统的工作模式的切换方法,用于提高存储架构的灵活性。
[0006]
第一方面,本申请实施例提供一种存储系统,该存储系统包括m个控制设备、n个第一连接器、n个第二连接器和k个盘片,m、n、k为正整数,其中,
[0007]
该n个第一连接器,用于以可拆卸的方式与该m个控制设备连接,该n个第二连接器,用于以可拆卸的方式与该k个盘片连接,或用于以固定的方式与该k个盘片连接,该k个盘片中的每个盘片用于存储数据;
[0008]
该m个控制设备中的每个控制设备通过该n个第一连接器中的全部第一连接器,及该n个第二连接器中的全部第二连接器,与该k个盘片通信;或,该m个控制设备中的每个控制设备通过该n个第一连接器中的部分第一连接器,及该n个第二连接器中的部分第二连接器,与该k个盘片通信;
[0009]
该m个控制设备中的每个控制设备支持该第一工作模式和该第二工作模式,该k个盘片中的每个盘片支持该第一工作模式和该第二工作模式,在该m个控制设备从该第一工作模式切换到该第二工作模式时,控制该k个盘片由该第一工作模式切换到该第二工作模式,其中,在该第一工作模式为运行在集中式存储架构下的模式时,该第二工作模式为运行在分布式存储架构下的模式;或,在该第一工作模式为运行在分布式存储架构下的模式时,该第二工作模式为运行在集中式存储架构下的模式。
[0010]
在上述技术方案中,由于控制设备可以与第一连接器可拆卸地连接,盘片可以与
第二连接器可拆卸地或固定地连接,这样,用户可以根据使用需求,灵活地配置盘片与控制设备的连接关系,从而构成不同的存储架构;且,由于控制设备和盘片均支持两种工作模式,这样,在需要更换存储架构时,只需要切换控制设备和盘片的工作模式或更换盘片即可,无需重新购买,提高了存储系统的灵活性,可以降低存储架构切换的成本。
[0011]
在一种可能的设计中,该m个控制设备中的每个控制设备连接该n个第一连接器中的全部第一连接器或部分第一连接器,或该m个控制设备中的每个控制设备包含该n个第一连接器中的全部第一连接器或部分第一连接器。
[0012]
在上述技术方案中,控制设备可以采用多种方式与第一连接器连接,例如,可以将控制设备与第一连接器进行电性连接,或者,也可以使控制设备包含第一连接器,例如,将该第一连接器设置在控制设备中,可以提高存储系统的灵活性。
[0013]
在一种可能的设计中,该k个盘片中的一个盘片,具有x个第二连接器,该m个控制设备中的每个控制设备通过该n个第一连接器中的全部第一连接器或部分第一连接器,分别与k个盘片中的每个盘片的一个第二连接器以可拆卸的方式连接,一个第一连接器连接一个第二连接器,该x个第二连接器所连接的第一连接器与不同的控制设备连接或该x个第二连接器所连接的第一连接器包含于不同的控制设备,x为正整数,x小于或等于m。
[0014]
在上述技术方案中,每一个盘片可以包含多个第二连接器,且,该盘片中的多个第二连接器通过多个第一连接器,与不同的控制设备连接,这样,当该盘片包括的多个第二连接器均处于可通信状态,则与盘片中的多个第二连接器连接的不同的控制设备都可以访问该盘片,从而可以构成集中式存储架构;当该盘片包括的多个第二连接器中只有一个第二连接器处于可通信状态,则与盘片中的多个第二连接器连接的不同的控制设备中只有一个控制设备可以访问该盘片,从而可以构成分布式存储架构,从而可以根据用户的使用需求,灵活设置盘片中的第二连接器的状态,构成不同的存储架构。
[0015]
在一种可能的设计中,该一个第一连接器与该一个第二连接器是互为公母的垂直正交连接器,或该一个第一连接器与该一个第二连接器是互为公母且具有预设旋转角度的连接器。
[0016]
在上述技术方案中,可以通过该第一连接器和第二连接器克服控制设备与盘片在空间坐标系的x轴、y轴和z轴方向的相对位移,从而多个控制设备与多个盘片均能可靠连接,可以去除现有技术中的背板,降低存储系统的设计复杂度,以及,可以减少由于背板的故障而导致整个存储系统无法使用的概率,可以提高存储系统的可靠性。
[0017]
进一步地,由于去除了现有技术中的背板,从而可以减少控制设备与盘片在通信过程中的阻抗不匹配点,也就是说,减少了控制设备与背板之间的阻抗不匹配,以及背板与盘片之间的阻抗不匹配,可以支撑信号传输速率的提升。
[0018]
进一步地,由于去除了现有技术中的背板,减少了存储系统中的空气流动的阻碍点,可以调高存储系统的散热性能,从而,在一定的存储系统的空间以及一定的存储系统的散热性能下,可以允许存储系统容纳更多的盘片,可以提升存储系统的密度。
[0019]
在一种可能的设计中,该m个控制设备中的一个控制设备用于:获取该k个盘片中每个盘片的信息,然后,根据该k个盘片中每个盘片的信息,确定该k个盘片的工作模式,并在确定该k个盘片的工作模式与该控制设备当前的工作模式相匹配时,为该k个第一连接器供电。
[0020]
在上述技术方案中,控制设备当确定盘片的工作模式与控制设备的工作模式匹配时,才为该盘片供电,这样,可以。
[0021]
在一种可能的设计中,该控制设备还用于:在根据该k个盘片中每个盘片的信息,确定该k个盘片的工作模式之后,在确定该k个盘片的工作模式与该控制设备当前的工作模式不匹配时,停止为该k个第一连接器供电。
[0022]
在一种可能的设计中,该控制设备用于:获取该k个盘片中每个盘片的状态,在确定与该k个盘片中的s个盘片处于断开状态或故障状态时,停止为与该s个盘片连接的s个第一连接器供电。
[0023]
在上述技术方案中,控制设备可以首先确定与该控制设备连接的盘片的工作状态,当确定盘片的工作状态为断开状态或故障状态时,便不会为该盘片供电,这样,可以合理利用存储系统的电能,且处于故障状态的盘片也不会散热,从而可以减少存储系统的散热。
[0024]
在一种可能的设计中,该k个盘片中的一个盘片包括高速信号接口和低速信号接口,其中:该高速信号接口,用于通过该x个第二连接器以及与该x个第二连接器所连接的第一连接器,与控制设备传输业务数据;该低速信号接口,用于接收从该x个第二连接器输入的用于获取所述盘片的信息第一指令。
[0025]
在上述技术方案中,盘片可以通过不同的接口与控制设备进行通信,便于盘片管理由控制设备发送的信号。
[0026]
在一种可能的设计中,该k个盘片中的每个盘片还包括盘片内部控制模块,其中,对于该k个盘片中的每个盘片:该低速信号接口还用于:接收来自与该x个第二连接器所连接的第一连接器对应的控制设备中的第一控制设备发送的用于指示接收该第二指令的盘片的工作模式为运行在分布式存储架构下的模式的第二指令,该盘片内部控制模块用于:在通过该低速信号接口接收该第二指令之后,控制该x个第二连接器中的p个第二连接器处于停止通信状态,其中,一个第二连接器处于该停止通信状态是指,控制盘片停止通过该第二连接器和与该第二连接器连接的第一连接器对应的控制设备通信,其中,p为正整数,x与p的差值为1。
[0027]
在上述技术方案中,盘片可以根据控制设备发送的指令,通过控制盘片中第二连接器处于停止通信状态,从而使盘片的工作模式切换为分布式存储架构下的模式,从而可以在不改变硬件结构及连接关系的情况下,切换存储系统的工作模式,可以简化切换存储系统的工作模式的步骤。
[0028]
在一种可能的设计中,该k个盘片中的每个盘片还包括盘片内部控制模块,其中,对于该k个盘片中的每个盘片:该低速信号接口还用于:接收来自与该x个第二连接器所连接的第一连接器对应的控制设备中的第一控制设备发送的用于指示接收该第三指令的盘片的工作模式为运行在集中式存储架构下的模式的第三指令,该盘片内部控制模块用于:在通过该低速信号接口接收该第三指令之后,且在该x个第二连接器中的p个第二连接器处于停止通信状态的情况下,控制盘片恢复通过该l个第二连接器,和与该l个第二连接器连接的l个第一连接器所对应的控制设备通信,其中,l为正整数,l小于或等于p。
[0029]
本申请第二方面提供一种存储系统的工作模式的切换方法,该方法包括:该存储系统的m个控制设备运行在第一工作模式,该m个控制设备支持第二工作模式时,该m个控制
设备中的至少一个控制设备向该存储系统的k个盘片中的每个盘片发送用于指示接收该第一指令的盘片工作在该第二工作模式下的第一指令,从而,接收该第一指令的该k个盘片中的每个盘片根据该第一指令,控制该每个盘片的x个第二连接器中的p个第二连接器处于与该第二工作模式相适应的状态,其中,在该第一工作模式为运行在集中式存储架构下的模式时,该第二工作模式为运行在分布式存储架构下的模式,或,在该第一工作模式为运行在分布式存储架构下的模式时,该第二工作模式为运行在集中式存储架构下的模式,该m个控制设备中的每个控制设备通过n个第一连接器中的全部第一连接器,及n个第二连接器中的全部第二连接器,与该k个盘片通信,或,该m个控制设备中的每个控制设备通过该n个第一连接器中的部分第一连接器,及该n个第二连接器中的部分第二连接器,与该k个盘片通信,该n个第一连接器,用于以可拆卸的方式与该m个控制设备连接,该n个第二连接器,用于以可拆卸的方式与该k个盘片连接,或用于以固定的方式与该k个盘片连接,该k个盘片中的每个盘片用于存储数据,m、n、k、x、p为正整数,x与p的差值为1。
[0030]
在上述技术方案中,当存储系统需要切换工作模式时,通过改变控制设备的工作模式,以及通过控制设备向盘片发送切换工作模式的指令,从而可以在不改变硬件结构以及连接关系的情况下,切换存储系统的工作模式,可以简化切换存储系统的工作模式的步骤。
[0031]
在一种可能的设计中,在该第二工作模式为运行在分布式存储架构下的模式,控制该p个第二连接器中的一个第二连接器处于与该第二工作模式相适应的状态,包括:控制盘片停止通过该一个第二连接器和与该第二连接器连接的第一连接器对应的控制设备通信;或,在该第二工作模式为运行在集中式存储架构下的模式,控制该p个第二连接器处于与该第二工作模式相适应的状态,包括:控制该盘片恢复通过该p个第二连接器中的l个第二连接器,和与该l个第二连接器连接的l个第一连接器所对应的控制设备通信,其中,l为正整数,l小于或等于p。
[0032]
在上述技术方案中,盘片可以根据控制设备发送的指令,通过控制盘片中第二连接器的通信状态,来切换盘片的工作模式,例如,在需要切换到运行在分布式存储架构下的模式时,控制m个第二连接器中的部分第二连接器处于停止通信状态,在需要切换到运行在集中式存储架构下的模式时,恢复处于停止通信状态的第二连接器中的部分或全部第二连接器的通信状态,从而使盘片的工作模式切换为集中式存储架构下的模式,从而可以在不改变硬件结构及连接关系的情况下,切换盘片的工作模式。
[0033]
第三方面,本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在终端上运行时,使得所述存储系统执行第二方面或上述第二方面的任意一种可能的设计的方法。
[0034]
第四方面,本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在终端上运行时,使得所述存储系统执行第一方面或上述第二方面的任意一种可能的设计的方法。
[0035]
上述第三方面和第四方面及其实现方式的有益效果可以参考对第二方面的方法及其实现方式的有益效果的描述。
附图说明
[0036]
图1a为本申请实施例提供的一种应用场景的示意图;
[0037]
图1b为本申请实施例提供的另一种应用场景的示意图;
[0038]
图2a为集中式存储系统的一种示例的架构图;
[0039]
图2b为分布式存储系统的一种示例的架构图;
[0040]
图3a为本申请实施例提供的存储系统300的一种结构示意图;
[0041]
图3b为本申请实施例提供的存储系统300的另一种结构示意图;
[0042]
图3c为本申请实施例提供的存储系统300的另一种结构示意图;
[0043]
图3d为本申请实施例提供的存储系统300的另一种结构示意图;
[0044]
图4为本申请实施例提供的存储系统300中的控制设备301包括处理器3011的一种结构示意图;
[0045]
图5为本申请实施例提供的存储系统300中的控制设备301包括多个分离的器件的一种结构示意图;
[0046]
图6为本申请实施例提供的存储系统300中还包括检测电路3021的一种结构示意图;
[0047]
图7为本申请实施例提供的存储系统300中还包括pcie交换机的一种结构示意图;
[0048]
图8a为本申请实施例提供的分布式盘片的一种示意图;
[0049]
图8b为本申请实施例提供的分布式盘片的另一种示意图;
[0050]
图9a为本申请实施例提供的集中式盘片的一种示意图;
[0051]
图9b为本申请实施例提供的集中式盘片的两个第二连接器之间的间隔的示意图;
[0052]
图9c为本申请实施例提供的集中式盘片的另一种示意图;
[0053]
图10a为本申请实施例提供的通用盘片的一种示意图;
[0054]
图10b为本申请实施例提供的通用盘片的另一种示意图;
[0055]
图10c为本申请实施例提供的通用盘片控制第二连接器1002为停止通信状态的一种示意图;
[0056]
图10d为本申请实施例提供的通用盘片将数据存储模块1006划分为两个独立的访问区域的一种示意图;
[0057]
图11为本申请实施例提供的分布式存储架构中控制设备a发生故障的一种示意图;
[0058]
图12a为本申请实施例提供的集中式存储架构的存储系统的一种示意图;
[0059]
图12b为本申请实施例提供的集中式存储架构的存储系统的侧视图;
[0060]
图13a为本申请实施例提供的盘片303的一种示意图;
[0061]
图13b为本申请实施例提供的包含一个第一连接器302的控制设备301的侧视图;
[0062]
图13c为本申请实施例提供的包含一个第二连接器的盘片303的侧视图;
[0063]
图13d为本申请实施例提供的控制设备301与盘片303的一种连接关系示意图;
[0064]
图14a为本申请实施例提供的另一种包含一个第一连接器302的控制设备301的侧视图;
[0065]
图14b为本申请实施例提供的另一种包含一个第二连接器的盘片303的侧视图;
[0066]
图14c为本申请实施例提供的控制设备301与盘片303的另一种连接关系示意图;
[0067]
图15为本申请实施例提供的一种存储系统的运行方法的流程图;
[0068]
图16为本申请实施例提供的一种存储系统的工作模式的切换方法的流程图。
具体实施方式
[0069]
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合说明书附图以及具体的实施方式对本申请实施例中的技术方案进行详细的说明。
[0070]
本文中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
[0071]
另外,需要理解的是,本申请实施例涉及的“多个”,是指两个或大于两个。“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
[0072]
本申请实施例提供一种存储系统,该存储系统应用于如图1a或图1b所示的数据读写场景中。如图1a所示的数据读写场景中,客户端通过盘片控制器访问与盘片控制器连接的盘片。例如,当客户端需要获取盘片中的数据时,则向盘片控制器发送读数据的指令,盘片控制器接收该读数据的指令后,从存储该数据的盘片中获取该数据,并将该数据发送给客户端;当客户端需要存储数据时,则向盘片控制器发送写数据的指令,该写数据的指令携带待存储的数据,盘片控制器接收该写数据的指令后,则从该写数据的指令中获取待存储的数据,将该待存储的数据存储在对应的盘片中。
[0073]
与图1a不同的是,在图1b所示的数据读写场景中,客户端是通过云网络向盘片控制器发送读数据的指令或写数据的指令。当盘片控制器通过云网络接收该读数据的指令,并从对应的盘片中获取该数据后,则通过云网络将该数据发送给客户端;当盘片控制器通过云网络接收该写数据的指令后,则将从该写数据的指令中获取的待存储的数据存储在对应的盘片中。
[0074]
需要说明的是,图1a-图1b所示的场景中,仅以一个客户端、一个盘片控制器和一个盘片之间的交互为例来进行介绍,不应对本申请实施例的应用场景造成限定。在实际的数据读写场景中,可以包括多个客户端、多个盘片控制器和多个盘片。例如,多个客户端可以访问与多个盘片控制器中的任意一个盘片控制器连接的盘片,或者,该多个客户端也可以只能访问与某一个盘片控制器连接的盘片,本申请实施例对此不作限制。
[0075]
盘片控制器和盘片可以采用集中式存储架构,如图2a所示,该集中式存储架构包含盘片控制器a、盘片控制器b、多个盘片以及背板。在集中式存储架构中,一份数据是存储在多个盘片中的一个盘片中,例如,用户a的视频数据存储在盘片1中,用户a的语音数据存储在盘片2中。当需要对某份数据进行操作时,盘片控制器a或盘片控制器b可以发出指令,通过背板将该指令输出到盘片中,以从对应的盘片中获取该数据。在集中式存储架构中,盘片控制器a和盘片控制器b都可访问盘片中存储的数据,且,在盘片控制器a和盘片控制器b中的任一个盘片控制器发生故障后,该发生故障的盘片控制器的业务可以由另外一个盘片控制器接管,通过另外一个盘片控制器继续承担该发生故障的盘片控制器的业务。
[0076]
盘片控制器和盘片可以采用分布式存储架构,如图2b所示,为分布式存储架构的一种示例。该分布式存储架构包含一个盘片控制器、多个盘片以及背板。在该分布式存储架
构中,可以将数据分成多份,并生成与每份数据对应的校验码,将每份数据与对应的校验码分别存储在多个盘片中,例如,将用户a的视频数据分为视频数据1~视频数据3,并生成与视频数据1~视频数据3分别对应的校验码,分别为校验码1~校验码3,然后将视频数据1和校验码1存储在盘片1中,将视频数据2和校验码2存储在盘片2中,将视频数据3和校验码3存储在盘片3中。当盘片控制器需要读取该视频数据时,可发送读数据的指令,通过背板将该指令扇出到盘片1~盘片3,以从该3个盘片中获取视频数据1~视频数据3以及校验码1~校验码3,然后盘片控制器将视频数据1~视频数据3以及校验码1~校验码3进行处理,例如,合并处理,最终获取该视频数据。
[0077]
下面结合附图对本申请实施例提供的存储系统进行详细介绍。
[0078]
请参考图3a,为本申请实施例提供的存储系统300的一种结构示意图。存储系统300包括至少一个控制设备301和第一连接器302。其中,第一连接器302用于以可拆卸的方式连接盘片,所述盘片用于存储数据。至少一个控制设备301用于通过第一连接器302和与第一连接器302连接的盘片通信。所述盘片可以是固态硬盘(solid state drives,ssd),例如,串行高级技术规范(serial advanced technology attachment,sata)接口的ssd、串行连接小型计算机系统接口(serial attached small computer system interface,sas)接口的ssd,或非易失性内存主机控制器接口规范(non-volatile memory express,nvme)接口的ssd,所述盘片也可以是硬盘驱动器(hard disk drive,hdd),例如,sata接口的hdd或sas接口的hdd,在此不作限制。
[0079]
需要说明的是,至少一个控制设备301通过第一连接器302,和与第一连接器302连接的盘片通信,可以理解为,当第一连接器302有k个时,k>0,若k个第一连接器302中的每个第一连接器302与盘片连接,则至少一个控制设备301通过k个第一连接器302,和与k个第一连接器302连接的盘片通信;若k个第一连接器302中只有一部分第一连接器302与盘片连接,则至少一个控制设备301通过该一部分第一连接器302,和与该一部分第一连接器302连接的盘片通信。
[0080]
在上述技术方案中,由于盘片可以通过第一连接器302,可拆卸地与控制设备301连接,这样,用户可以根据使用需求,灵活地配置盘片与控制设备301的连接关系,从而构成不同的存储架构,例如,通过第一连接器302,将一个控制设备301与多个盘片连接,可以构成分布式存储架构;或者,通过第一连接器302,将两个控制设备301与一个盘片连接,可以构成集中式存储架构,这样,在需要更换存储架构时,只要改变第一连接器302和盘片之间的连接关系即可,无需重新购买,提高了存储系统的灵活性。
[0081]
下面,对控制设备301和第一连接器302进行说明。
[0082]
作为一种示例,以控制设备301和第一连接器302的数量均为一个为例。如图3a所示,控制设备301与第一连接器302可以是两个独立的器件,控制设备301与第一连接器302可以通过通信总线进行连接,例如,该通信总线可以是快速外设组件接口(peripheral component interface express,pcie或pcie)总线。或者,如图3b所示,控制设备301也可以包含第一连接器302,在这种情况下,第一连接器302为控制设备301的一部分。例如,第一连接器302可以是控制设备301的扇出连接器。其中,扇出连接器是指将集中在一个节点或多个节点点的多个信号,扩展到一个较大的空间范围的连接器。
[0083]
作为另一种示例,第一连接器302的数量可以为多个。以第一连接器302是控制设
备301的一部分为例,如图3c所示,控制设备301中包含3个第一连接器302,每个第一连接器302都可用于连接盘片。
[0084]
作为一种示例,控制设备301的数量也可以为多个。请参考图3d,存储系统300中包括m个控制设备301和n个第一连接器302,n个第一连接器302用于与盘片连接,m为大于或等于2的整数,n为大于或等于m的整数,k为正整数。
[0085]
每个控制设备301与第一连接器302之间的配置关系如图3a~图3c所示,在此不再赘述。在图3d中,以第一连接器302是控制设备301的一部分为例。每个控制设备301包含的第一连接器302的数量可以相同,例如,m个控制设备301中的每个控制设备301可以包含s个第一连接器302。每个控制设备301包含的第一连接器302的数量也可以不同,例如,m个控制设备301中的第一个控制设备301包含3个第一连接器302,m个控制设备301中的第二个控制设备301包含2个第一连接器302等。在图3d中,以m取3,3个控制设备301中的每个控制设备301包含2个第一连接器302为例。
[0086]
下面,对控制设备301进行说明。在下面的描述中,以第一连接器302是控制设备301的一部分为例。
[0087]
作为一种示例,请参考图4,控制设备301可以包括处理器3011,处理器3011与第一连接器302电性连接,处理器3011可以是中央处理器(central processing unit,cpu)、数字信号处理器、专用集成电路、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件,在此不作限制。
[0088]
作为一种示例,处理器3011可以包括高速信号单元30111及控制单元30112。其中,高速信号单元30111用于处理器3011与盘片的业务数据传输,例如,处理器3011通过高速信号单元30111获取盘片中存储的数据,或处理器3011通过高速信号单元30111将从客户端接收的待存储的数据存储在盘片中。控制单元30112用于对盘片的状态进行侦测,例如,侦测盘片与第一连接器301处于连接状态还是断开状态、侦测盘片是否处于故障状态、侦测盘片的信息、控制盘片的供电状态或断电状态,以及控制盘片的用于传输业务数据的端口的复位状态或解除复位状态等。下面,对高速信号单元30111及控制单元30112分别进行说明。
[0089]
高速信号单元30111可以用于,在确定与第一连接器302连接的盘片的工作模式与处理器3011当前的工作模式相匹配时,为第一连接器302供电,从而使与第一连接器302连接的盘片处于通电状态。
[0090]
在本申请实施例中,在高速信号单元30111确定盘片的工作模式是否与高速信号单元30111当前的工作模式相匹配之前,可以先确定第一连接器302与盘片之间是处于连接状态还是断开状态。例如,请继续参考图4,可以在第一连接器302中设置检测电路3021,检测电路3021与高速信号单元30111电性连接。该检测电路3021在第一连接器302与盘片处于断开状态时,向高速信号单元30111输出第一电平,例如低电平,在第一连接器302与盘片处于连接状态时,向高速信号单元30111输出第二电平,例如高电平。则,可以在高速信号单元30111中预先设置判断条件,该判断条件可以是:如果接收检测电路3021输出的第二电平,则确定与该检测电路3021对应的第一连接器302与盘片处于连接状态,如果接收检测电路输出的第一电平,则确定与该检测电路3021对应的第一连接器302与盘片处于断开状态。例如,当高速信号单元30111接收检测电路3021输出的高电平时,则确定与该检测电路3021对应的第一连接器302与盘片处于连接状态。
[0091]
需要说明的是,如果第一连接器302的数量为多个,则可以在每个第一连接器302中都设置检测电路3021,通过每个第一连接器302中的检测电路3021输出的电平确定该第一连接器302是否与盘片处于连接状态。
[0092]
高速信号单元30111还可以根据该检测电路3021输出的电平的变化情况,确定第一连接器302与盘片是否处于松动状态。例如,高速信号单元30111确定检测电路3021输出的电平每隔0.5s由第一电平跳变为第二电平或由第二电平跳变为第一电平,则高速信号单元30111确定第一连接器302与盘片处于松动状态。
[0093]
如果高速信号单元30111确定与第一连接器302与盘片处于连接状态,则高速信号单元30111还可以通过第一连接器302向与第一连接器302连接的盘片发送第一信息,该第一信息用于检测与第一连接器302连接的盘片是否处于故障状态,如果盘片没有出现故障,则盘片会通过第一连接器302向高速信号单元30111发送与第一信息对应的反馈信息,如果盘片出现故障,则盘片无法向高速信号单元30111发送该反馈信息,该第一信息与该反馈信息可以是高速信号单元30111与盘片预先约定的。之后,如果高速信号单元30111在向与第一连接器302连接的盘片发送第一信息后,在预设时长内未通过第一连接器302接收该反馈信息,则确定与第一连接器302连接的盘片处于出现故障。
[0094]
如果高速信号单元30111确定与第一连接器302与盘片处于连接状态,且与第一连接器302与盘片未出现故障,则高速信号单元30111可以获取与第一连接器302连接的盘片的工作模式。
[0095]
在本申请实施例中,高速信号单元30111的工作模式包含第一工作模式和第二工作模式。第一工作模式也可称为处理器集中式工作模式,是表示高速信号单元30111采用与如图2a所示的集中式存储架构中的盘片控制单元相同的处理方式工作,例如,当高速信号单元30111从客户端接收写数据的指令后,会将该写数据的指令中携带的待存储数据发送给盘片。第二工作模式也可称为处理器分布式工作模式,是表示高速信号单元30111采用与如图2b所示的分布式存储架构中的盘片控制单元的处理方式工作,例如,当控制设备301从客户端接收写数据的指令后,首先会将该写数据的指令中携带的待存储数据划分为多份子数据,并生成与每份子数据对应的校验码,然后将每份子数据及与该子数据对应的校验码发送给盘片。
[0096]
盘片的工作模式包含第三工作模式和第四工作模式。第三工作模式也可称为盘片集中式工作模式,是表示盘片采用与如图2a所示的集中式存储架构中的盘片相同处理方式工作,例如,可以是盘片共享访问模式,也就是说与盘片连接的多个控制设备均可对盘片进行读写操作。第四工作模式也可称为盘片分布式工作模式,是表示盘片采用与如图2b所示的分布式存储架构中的盘片相同处理方式工作,例如,可以是盘片独享工作模式,也就是说,与盘片连接的多个控制设备只有一个控制设备可以对盘片进行读写操作。
[0097]
在具体实施过程中,可以设置高速信号单元30111的工作模式只包含第一工作模式和第二工作模式中的其中一种。在这种情况下,高速信号单元30111采用固定的工作模式工作,当设置高速信号单元30111的工作模式为第一工作模式时,高速信号单元30111便只能采用第一工作模式工作,例如,高速信号单元30111可以根据用户的指令确定选择采用其中一种工作模式。作为一种示例,高速信号单元30111中可以设置与至少一种工作模式对应的系统代码,例如,可以设置与第一工作模式对应的第一系统代码,以及设置与第二工作模
式对应的第二系统代码中的至少一种系统代码,当处理器3011上电后,高速信号单元30111读取并运行保存在控制单元30112中对应的系统代码,就可以使得高速信号单元30111进入与该系统代码对应的工作模式。该系统代码的内容包括在不同的工作模式下,存储系统的高可靠容错策略、盘片的工作模式、盘片的类型、厂家、型号等信息。
[0098]
在本申请实施例中,高速信号单元30111确定与第一连接器302连接的盘片的工作模式与处理器3011当前的工作模式是否相匹配,确定方式包括但不限于如下两种:
[0099]
第一种方式,高速信号单元30111可以先通过控制单元30112获取盘片的信息,该盘片的信息例如包括盘片的型号、容量和厂家等相关信息中的至少一种,高速信号单元30111中预先存储了盘片的信息与盘片的工作模式之间的对应关系,则高速信号单元30111根据盘片的信息与盘片的工作模式之间的对应关系,可以确定盘片的工作模式。例如,盘片的信息与盘片的工作模式的对应关系包括:厂家a与第一工作模式的第一对应关系,以及厂家b与第二工作模式的第二对应关系,如果高速信号单元30111通过控制单元30112获取的盘片的信息表明该盘片的厂家为厂家a,则高速信号单元30111可以确定该盘片的工作模式为第一工作模式。之后,高速信号单元30111可确定盘片的工作模式是否与高速信号单元30111当前的工作模式相匹配。
[0100]
第二种方式,如果高速信号单元30111在确定高速信号单元30111当前的工作模式,则可以设置对应的盘片判决条件。该盘片判决条件包括在与高速信号单元30111当前的工作模式相匹配时的盘片的信息,该盘片的信息与第一种方式中相应的内容相同,在此不再赘述。例如,如果高速信号单元30111当前的工作模式为第一工作模式时,则设置盘片判决条件为厂家a。之后,当盘片的信息与盘片判决条件相同时,则高速信号单元30111确定盘片的工作模式与高速信号单元30111当前的工作模式相匹配,否则,高速信号单元30111确定盘片的工作模式与高速信号单元30111当前的工作模式不匹配。
[0101]
需要说明的是,高速信号单元30111的工作模式与盘片的工作模式相匹配是指:高速信号单元30111的工作模式为第一工作模式,盘片的工作模式为第三工作模式;或,高速信号单元30111的工作模式为第二工作模式,盘片的工作模式为第四工作模式。当然,若高速信号单元30111及盘片的工作模式还包括其他工作模式时,高速信号单元30111的工作模式与盘片的工作模式相匹配还可以包括其他对应关系,在此不作限制。
[0102]
另外需要说明的是,高速信号单元30111通过控制单元30112获取盘片的信息,可以是在盘片中固定的存储空间预先存储该盘片的信息,当盘片与第一连接器302处于连接状态时,通过控制单元30112从该盘片中固定的存储空间中读取该盘片的信息。
[0103]
当高速信号单元30111确定工作模式与高速信号单元30111当前的工作模式相匹配的盘片后,则为与该盘片处于连接状态的第一连接器302供电。如图4所示,当高速信号单元30111确定3个第一连接器302中的第一个第一连接器302和第三个第一连接器302分别与盘片a和盘片b处于连接状态,且与第一个第一连接器302连接的盘片的工作模式与高速信号单元30111当前的工作模式相匹配,则高速信号单元30111为第一个第一连接器302供电。
[0104]
当高速信号单元30111确定工作模式与高速信号单元30111当前的工作模式不匹配的盘片后,则停止为与该盘片处于连接状态的第一连接器302供电。如图4所示,当高速信号单元30111确定3个第一连接器302中的第一个第一连接器302和第三个第一连接器302分别与盘片a和盘片b处于连接状态,且与第三个第一连接器302连接的盘片的工作模式与高
速信号单元30111当前的工作模式不匹配,则高速信号单元30111停止为第一个第一连接器302供电。
[0105]
需要说明的是,高速信号单元30111为第一连接器302供电是指:如果与该盘片连接的第一连接器302当前已经处于通电状态,则高速信号单元30111通过保持控制单元30112的供电状态保持为该第一连接器302供电;如果与该盘片连接的第一连接器302当前处于断电状态,则高速信号单元30111通过改变控制单元30112的供电状态为该第一连接器302供电。高速信号单元30111停止为第一连接器302供电是指:如果与该盘片连接的第一连接器302当前已经处于通电状态,则高速信号单元30111通过改变控制单元30112的供电状态停止为该第一连接器302供电;如果与该盘片连接的第一连接器302当前处于断电状态,则高速信号单元30111通过保持控制单元30112的供电状态保持该第一连接器302的断电状态。
[0106]
当高速信号单元30111为至少一个第一连接器302供电之后,例如,高速信号单元30111为m个第一连接器302供电,则高速信号单元30111可以通过该m个第一连接器302中的m1个第一连接器302,向与该m1个第一连接器302连接的盘片中的一个或多个发送读数据的指令,并通过该m1个第一连接器302获取与所述读数据的指令对应的数据,m1为大于0,且小于或等于m的整数。或,高速信号单元30111可以向与该m1个第一连接器302连接的盘片中的一个或多个发送写数据的指令,以将该写数据的指令中携带的待存储的数据存储在盘片中。
[0107]
在高速信号单元30111通过该m个第一连接器302中的m1个第一连接器302,向与该m1个第一连接器302连接的盘片中的一个或多个发送读数据的指令或写数据的指令后,高速信号单元30111还可以继续检测m个第一连接器302中的每个第一连接器302是否与盘片处于连接状态,如果高速信号单元30111确定某个第一连接器302与盘片处于断开状态,则高速信号单元30111可以停止为该第一连接器302供电。
[0108]
作为一种示例,控制设备301可以包括多个分离的器件,请参考图5,控制设备301可以包括处理器、内存、时钟信号发生器以及电源模块。其中,处理器例如为中央处理器(central processing unit,cpu),或者fpga,或者其他可编程逻辑器件,在此不作限制。在下面的描述中,以处理器为cpu为例。
[0109]
控制设备301中的cpu用于通过第一连接器302,和与第一连接器302连接的盘片进行通信。例如,cpu可以使用盘片传输协议与盘片通信,盘片传输协议例如为pcie协议、串行ata接口规范(serial advanced technology attachment,sata)协议、串行连接小型计算机系统接口(serial attached small computer system interface,sas)协议等。如果第一连接器302为多个,则该cpu可以通过该多个第一连接器302中的全部第一连接器302,和与该全部的第一连接器302连接的盘片通信;或,该cpu可以通过该多个第一连接器302中的部分第一连接器302,和与该部分第一连接器302连接的盘片通信。cpu与盘片的通信可以包括,cpu接收来自其他设备(例如,当客户端)的待存储的数据后,将这些待存储的数据存储在对应的盘片中,或,cpu接收来自其他设备的读数据的指令后,从盘片中获取与该读数据的指令对应的数据。
[0110]
控制设备301中的内存与cpu连接,用于在cpu与盘片通信的过程中,为该cpu提供缓存功能。例如,当cpu接收来自客户端的待存储的数据后,首先将待存储的数据存储在内
存中,然后再通过向盘片发送写数据的指令,将这些待存储的数据存储在对应的盘片中。
[0111]
控制设备301中的时钟信号发生器,分别与cpu及第一连接器302连接,用于为cpu和与第一连接器302连接的盘片提供时钟。需要说明的是,当第一连接器302有多个时,时钟信号发生器与每一个第一连接器302连接。该时钟包括cpu使用盘片传输协议与盘片通信所需的第一时钟,和/或,包括cpu及盘片的工作时钟、本地锁相环时钟。其中,第一时钟也可以称为高速时钟,或用于盘片303采样数据的锁相环时钟,若盘片303使用的传输协议支持工作时钟或本地锁相环时钟,则时钟信号发生器可以不用提供第一时钟。盘片传输协议例如为pcie协议、串行ata接口规范(serial advanced technology attachment,sata)协议、串行连接小型计算机系统接口(serial attached small computer system interface,sas)协议等。
[0112]
控制设备301中的电源模块,分别与cpu及第一连接器302连接,用于为cpu和与第一连接器302连接的盘片提供工作电压。需要说明的是,当第一连接器302有多个时,电源模块与每一个第一连接器302连接。
[0113]
作为一种示例,如图5所示,控制设备301还包括用于与客户端连接的输入输出接口,输入输出接口与cpu电性连接,用于从客户端接收读数据的指令或写数据的指令,然后将该读数据的指令或写数据的指令传输给cpu。如果输入输出接口从客户端获取读数据的指令,则该输入输出接口还用于将cpu发送的与该读数据的指令对应的数据传输给客户端。该输入输出接口可以是sas,或者是pcie接口,或者是千兆以太网接口(gigabit ethernet,ge),或者是其他接口,在此不作限制。
[0114]
作为一种示例,cpu可以用于,在确定与第一连接器302连接的盘片的工作模式与cpu当前的工作模式相匹配时,控制电源模块为第一连接器302供电,从而使与第一连接器302连接的盘片处于通电状态。
[0115]
在本申请实施例中,在cpu确定盘片的工作模式是否与cpu当前的工作模式相匹配之前,可以先确定第一连接器302与盘片之间是处于连接状态还是断开状态。请参考图6,在这种情况下,控制设备301还可以包括检测部件,该检测部件分别与cpu、第一连接器302以及电源模块连接,电源模块还用于为检测部件提供工作电压,检测部件可以用于侦测第一连接器302与盘片之间是处于连接状态还是断开状态。需要说明的是,当第一连接器302有多个时,检测部件与每一个第一连接器302连接。例如,检测部件可以是复杂可编程逻辑器件(complex programmable logic device,cpld)、专用集成电路(application specific integrated circuits,asic)等。其中,图6中是以检测部件是cpld为例。
[0116]
需要说明的是,在图6中cpld直接与cpu连接。作为另一种示例,cpld也可以通过cpu的外围端口扩展芯片与cpld连接,在图7中,以cpu的外围端口扩展芯片为集成南桥(platform controller hub,pch)为例,pch与cpld可以通过低管脚数(low pin count,lpc)连接。
[0117]
请继续参考图6,还可以在第一连接器302中设置检测电路3021,该检测电路3021在第一连接器302与盘片处于断开状态时,向cpld输出第一电平,例如低电平,在第一连接器302与盘片处于连接状态时,向cpld输出第二电平,例如高电平。如果cpld接收检测电路3021输出的第二电平,则确定与该检测电路3021对应的第一连接器302与盘片处于连接状态,如果接收检测电路输出的第一电平,则确定与该检测电路3021对应的第一连接器302与
盘片处于断开状态。例如,当cpld接收检测电路3021输出的高电平时,则确定与该检测电路3021对应的第一连接器302与盘片处于连接状态。
[0118]
在cpld确定第一连接器302与盘片之间是处于连接状态还是断开状态之后,cpu可以通过多种方式获得cpld的确定结果,该确定结果用于指示第一连接器302与盘片之间是处于连接状态还是断开状态。例如,cpu获得cpld的确定结果,包括但不限于如下两种方式:
[0119]
第一种获取方式:cpld可以将该确定结果发送给cpu。如果第一连接器302有多个,则cpld向cpu发送该确定结果时,可以携带第一连接器302的标识,例如,可以为多个第一连接器302设置编号,cpld在确定结果中携带第一连接器302的编号。
[0120]
第二种获取方式:cpld中可以设置用于存储该确定结果的寄存器,例如称为第一寄存器,cpld可以将确定结果存储在第一寄存器中,例如可以采用1个比特来表示该确定结果,如果该1比特的取值为0,表示第一连接器302与盘片处于连接状态,如果该1比特的取值为1,表示第一连接器302与盘片处于断开状态。如果cpu需要获取该确定结果,则直接读取第一寄存器的取值,根据第一寄存器的取值以及cpu中预先设置的第一寄存器中比特的取值与状态的对应关系,确定第一连接器302与盘片是处于连接状态还是处于断开状态。该第一寄存器的取值与状态的对应关系可以是:第一寄存器中比特的取值为0,则表示第一连接器302与盘片处于连接状态;第一寄存器中比特的取值为1,则表示第一连接器302与盘片处于断开状态。
[0121]
需要说明的是,在第二种方式中,当第一连接器302有多个时,cpld可以为每一个第一连接器302设置对应的第一寄存器,则cpu通过读取与每个第一连接器302对应的第一寄存器,可以确定每个第一连接器302与盘片是处于连接状态还是处于断开状态。或者,cpld也可以只设置一个第一寄存器,将与每个第一连接器302对应的确定结果存储在该第一寄存器中,也就是说,第一寄存器中包括多个比特,一个比特指示与一个第一连接器302对应的确定结果。如图6所示,控制设备301中包括3个第一连接器302,cpld设置了一个第一寄存器,通过第一寄存器中的3个比特指示与所有的第一连接器302对应的确定结果,其中,第一寄存器中的1个比特用于指示一个第一连接器302对应的确定结果。例如,如果寄存器中比特的取值为“001”,则表示第3个第一连接器302与盘片处于断开状态,剩余的两个第一连接器302分别与盘片处于连接状态;如果寄存器中比特的取值为“000”,则表示第3个第一连接器302中的每个第一连接器302与盘片都处于断开状态。
[0122]
cpld还可以通过第一连接器302向与第一连接器302连接的盘片发送第一信息,该第一信息用于检测与第一连接器302连接的盘片是否处于故障状态,如果盘片没有出现故障,则盘片会通过第一连接器302向cpld发送与第一信息对应的反馈信息,如果盘片出现故障,则盘片无法向cpld发送该反馈信息,该第一信息与该反馈信息可以是cpld与盘片预先约定的。之后,如果cpld在向与第一连接器302连接的盘片发送第一信息后,在预设时长内未通过第一连接器302接收该反馈信息,则确定与第一连接器302连接的盘片处于出现故障。相应地,cpld也可以将检测的盘片是否处于故障状态的检测结果存储在对应的寄存器中,例如,第二寄存器。
[0123]
如果cpu根据cpld中相应的寄存器中比特的取值确定与第一连接器302与盘片处于连接状态,且与第一连接器302与盘片未出现故障,则cpu可以获取与第一连接器302连接的盘片的工作模式。
[0124]
在本申请实施例中,盘片的工作模式和cpu的工作模式在前文已有介绍,在此不再赘述。cpu通过获取与第一连接器302连接的盘片的信息,确定盘片的工作模式是否与cpu的工作模式相匹配,具体确定方式也已在前文有所介绍,在此不再赘述。
[0125]
在本申请实施例中,cpu获取盘片的信息,包括但不限于如下两种方式:
[0126]
第一种获取盘片的信息的方式:cpu可以通过与第一连接器302连接的总线,向与第一连接器302连接的盘片发送用于获取该盘片的信息的指令,当盘片接收该指令后,则将该盘片的信息发送给cpu。在这种情况下,cpu与第一连接器302连接的总线可以是自定义总线,或者是用于传输高速信号的总线,例如pcie总线等,该高速信号为使用盘片传输协议与盘片进行通信时对应的信号,在此不作限制。
[0127]
第二种获取盘片的信息的方式,如图7所示,控制设备301中还包括pcie交换机(switch),该pcie switch与cpu通过pcie总线连接,pcie switch通过i2c总线与第一连接器302连接。cpu通过pcie switch向与第一连接器302连接的盘片发送用于获取盘片的信息的指令,当盘片接收该指令后,则将该盘片的信息发送给cpu。
[0128]
当cpu确定工作模式与cpu当前的工作模式相匹配的盘片后,则向cpld发送为与该盘片连接的第一连接器302供电的指令,由cpld控制电源模块为该第一连接器302供电。当cpu确定工作模式与cpu当前的工作模式不匹配的盘片后,则cpu向cpld发送停止为与该盘片连接的第一连接器302供电的指令,由cpld控制电源模块停止为该第一连接器302供电。
[0129]
需要说明的是,cpld控制电源模块为该第一连接器302供电,与cpld控制电源模块停止为该第一连接器302供电,二者的含义已在前文介绍,在此不再赘述。
[0130]
在cpu为至少一个第一连接器302供电之后,则cpu可以通过至少一个第一连接器302与盘片进行通信。另外,cpu也可以通过cpld向盘片发送复位指令或解除复位指令,从而控制盘片的用于传输业务数据的端口处于复位状态或解除复位状态。
[0131]
cpld还可以根据检测cpu向与第一连接器302连接的盘片发出的读数据的指令或者写数据的指令,确定与第一连接器302连接的盘片的工作状态。例如,如果cpld检测到cpu向与第一连接器302连接的盘片发送的读数据的指令,则确定该盘片处于读操作状态;如果cpld检测到cpu向与第一连接器302连接的盘片发送的写数据的指令,则确定该盘片处于写操作状态。当然,cpld也可以设置用于存储盘片的工作状态的寄存器,具体方式与前述将检测的盘片是否处于故障状态的检测结果存储在对应的寄存器的方式相同,在此不再赘述。
[0132]
cpld还可以在确定第一连接器302与盘片之间由连接状态变为断开状态后,或在确定与第一连接器302连接的盘片的工作状态等信息发生变化后,向pcie switch发送中断信号,由pcie switch将中断信号发送给cpu,cpu在接收该中断信号后,则对该事件进行处理。
[0133]
请继续参考图4,本申请实施例提供的存储系统300还可以包括盘片303。
[0134]
在本申请实施例中,盘片303可以包含但不限于如下三种类型。第一种盘片类型是仅能在集中式存储架构中使用的盘片,可以称为集中式盘片。第二种盘片类型是仅能在分布式存储架构中使用的盘片,可以称为分布式盘片。第三种盘片类型是即可以使用在集中式存储架构,也可使用在分布式存储架构中的盘片,可以称为通用盘片。下面,分别对这三种类型的盘片进行介绍。
[0135]
第一种盘片,分布式盘片:
[0136]
请参考图8a,盘片303包括第二连接器801、在位信号输出模块802、电源转换模块803、盘片内部控制模块804以及数据存储模块805。
[0137]
第二连接器801用于与控制设备301连接,并为控制设备301与盘片303之间的数据通信提供通道。例如,当盘片303与第一连接器302连接后,通过第二连接器801从控制设备301中获取读数据的指令,然后,通过第二连接器801向控制设备301发送与该读数据的指令对应的数据。
[0138]
在位信号输出模块802用于产生盘片303的在位信号,该在位信号用于指示盘片303与第一连接器302是处于连接状态或断开状态。作为一种示例,控制设备301中可以包括外围电路和逻辑判断模块,当盘片303通过第二连接器801与第一连接器302连接时,在位信号输出模块802通过第二连接器801连接到控制设备301的电源模块的地线,从而使控制设备301中的外围电路产生低电平信号,控制设备301中的逻辑判断模块根据该低电平信号根据该低电平信号确定盘片303与第一连接器302处于连接状态。当盘片303的第二连接器801与第一连接器302断开连接后,控制设备301产生高电平信号,控制设备301中的外围电路产生一个高电平信号,从而每个控制设备301中的逻辑判断模块根据该高电平信号确定盘片303与第一连接器302处于断开状态。
[0139]
电源转换模块803为盘片303供电,用于在第二连接器801与第一连接器302连接时,将从第二连接器801输入的电源电压转换为盘片内部控制模块804及数据存储模块805的供电电压,并将转换后的电压输出给盘片内部控制模块804及数据存储模块805。例如,该电源转换模块803可以为降压式变换电路(buck电路)等。
[0140]
盘片303还可以包括防倒灌模块,设置在第二连接器801和电源转换模块803之间,可以减少由于控制设备301的电源短路或控制设备301输出的电压低于盘片303正常工作电压而导致盘片303供电异常的情况。
[0141]
盘片内部控制模块804用于实现对控制设备301的信号的处理和对盘片303的管理功能,例如,接收控制设备301对盘片303的控制信号,以及提供对数据存储模块805中的数据进行读操作或者写操作的功能。该控制信号例如用于读取盘片303的型号、容量、厂家等相关信息的信号,用于控制第二连接器801保持复位状态的信号,用于控制第二连接器801解除复位状态的信号等。
[0142]
作为一种示例,如图8b所示,盘片303中还可以包含第一存储模块806,第一存储模块806用于盘片303的型号、容量、厂家等相关信息,控制设备301可以直接从第一存储模块806中读取盘片303的型号、容量、厂家等相关信息。例如,该第一存储模块806可以包括带电可擦可编程只读存储器(electrically erasable programmable read only memory,eeprom)芯片和i2c电路。
[0143]
如果盘片303中设置有用于显示盘片的工作状态的指示灯,则盘片内部控制模块804还可以用于控制盘片303的指示灯。例如,在盘片303处于读数据的状态时,可以控制输入信号指示灯输出第一频率的指示信号,在盘片303处于写数据的状态时,控制输入信号指示灯输出第二频率的指示信号等。
[0144]
另外,盘片内部控制模块804中设置有高速信号接口和低速信号接口,盘片内部控制模块804可以通过不同的接口与控制设备301进行通信。其中,高速信号的定义已在前文中说明,盘片内部控制模块804与控制设备301之间的通信信号中,除高速信号外的信号即
为低速信号。
[0145]
当然,盘片内部控制模块804还可以具有其他功能,在此不一一举例。需要说明的是,本领域技术人员可以根据使用需求,设置盘片内部控制模块804的功能,在此不作限制。
[0146]
作为一种示例,盘片内部控制模块804可以由一个或多个分离器件组合实现,例如,可以是中央处理器(central processing unit,cpu)、数字信号处理器、专用集成电路、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件,在此不作限制。
[0147]
数据存储模块805用于在盘片内部控制模块804的控制下,存储或读取用户数据。作为一种示例,数据存储模块可以为盘片介质。
[0148]
第二种盘片,集中式盘片:
[0149]
请参考图9a,盘片303包括两个第二连接器(分别为第二连接器901和第二连接器902)、在位信号输出模块903、电源转换模块904、盘片内部控制模块905以及数据存储模块906。
[0150]
第二连接器901和第二连接器902的作用与访问端口801相同,在此不再赘述。第二连接器901和第二连接器902是两个独立的访问端口,可以分别与两个控制设备301连接,这样,当两个控制设备301分别与第二连接器901和第二连接器902连接后,两个控制设备301均可以与盘片303进行通信,例如,读取盘片303的数据存储模块906中的数据。
[0151]
需要说明的是,在图9a中,盘片303包括两个访问端口,分别为第二连接器901和第二连接器902,盘片303的访问端口的数量也可以大于2,例如,盘片303包含第二连接器、第二连接器以及第三访问端口,在这种情况下,盘片303可以同时与3个控制设备301连接。在本申请实施例中不对访问端口的数量进行限制。
[0152]
需要说明的是,如果第二连接器901和第二连接器902需要同时与两个控制设备301连接,第二连接器901和第二连接器902之间需要留有充分的间距,且该间距与两个控制设备301之间的间隔相关。例如,如图9b所示,两个控制设备301均水平设置,且一个控制设备301在另一个控制设备301的正上方,若两个控制设备301之间的间隔为x,第一连接器302的宽度为h,则第二连接器901和第二连接器902之间的间距大于或等于x-h。
[0153]
在位信号输出模块903用于产生盘片303的在位信号,该在位信号用于指示盘片303与第一连接器302的连接状态或断开状态。作为一种示例,控制设备301中可以包括外围电路和逻辑判断模块,当盘片303通过第二连接器901和第二连接器902分别与两个第一连接器302连接时,在位信号输出模块903分别通过第二连接器901和第二连接器902,连接到两个控制设备301中的电源模块的地线,从而使控制设备301中的外围电路产生一个低电平信号,从而每个控制设备301中的逻辑判断模块根据该低电平信号判断盘片303与第一连接器302处于连接状态。当盘片303的第二连接器901和第二连接器902分别与两个控制设备301中的第一连接器302断开连接后,两个控制设备301中的每个控制设备301中的外围电路产生一个高电平信号,从而每个控制设备301中的逻辑判断模块根据该高电平信号判断盘片303与第一连接器302处于断开状态。
[0154]
电源转换模块904为盘片303供电,用于在第二连接器901和第二连接器902分别与两个第一连接器302连接时,将从第二连接器901和第二连接器902输入的电源电压转换为盘片内部控制模块905及数据存储模块906的供电电压,并将转换后的电压输出给盘片内部
控制模块905及数据存储模块906。例如,该电源转换模块可以为降压式变换电路(buck电路)等。
[0155]
盘片303还包括防倒灌模块,该防倒灌模块包含防倒灌模块a和防倒灌模块b,分别设置在第二连接器901和电源转换模块904之间,以及第二连接器902与电源转换模块904之间。
[0156]
盘片内部控制模块905用于实现对控制设备301的信号的处理和对盘片303的管理功能,例如,接收控制设备301对盘片303的控制信号,以及提供对数据存储模块906中的数据进行读操作或者写操作的功能。该控制信号例如用于读取盘片303的型号、容量、厂家等相关信息的信号,用于控制第二连接器901和第二连接器902保持复位状态的信号,用于控制第二连接器901和第二连接器902解除复位状态的信号等。
[0157]
作为一种示例,如图9c所示,盘片303中还可以包含第一存储模块907,第一存储模块907与图8b中所示的第一存储模块806相同,在此不再赘述。
[0158]
如果盘片303中设置有用于显示盘片的工作状态的指示灯,则盘片内部控制模块804还可以用于控制盘片303的指示灯。例如,在盘片303处于读数据的状态时,可以控制输入信号指示灯输出第一频率的指示信号,在盘片303处于写数据的状态时,控制输入信号指示灯输出第二频率的指示信号等。
[0159]
另外,盘片内部控制模块905中分别设置有针对第二连接器901的高速信号接口和低速信号接口,以及针对第二连接器902的高速信号接口和低速信号接口。盘片内部控制模块905可以通过针对第二连接器901的高速信号接口和/或低速信号接口,和与第二连接器901连接的控制设备301进行通信;盘片内部控制模块905可以通过针对第二连接器902的高速信号接口和/或低速信号接口,和与第二连接器908连接的控制设备301进行通信。其中,高速信号的定义已在前文中说明,盘片内部控制模块905与控制设备301之间的通信信号中,除高速信号外的信号即为低速信号。
[0160]
当然,盘片内部控制模块905还可以具有其他功能,在此不一一举例。需要说明的是,本领域技术人员可以根据使用需求,设置盘片内部控制模块905的功能,在此不作限制。
[0161]
作为一种示例,盘片内部控制模块905可以由一个或多个分离器件组合实现,例如,可以是中央处理器(central processing unit,cpu)、数字信号处理器、专用集成电路、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件,在此不作限制。
[0162]
数据存储模块906用于在盘片内部控制模块905的控制下,存储或读取用户数据。作为一种示例,数据存储模块906可以为盘片介质。
[0163]
第三种盘片,通用盘片:
[0164]
请参考图10a,盘片303包括两个第二连接器(分别为第二连接器1001、第二连接器1002)、在位信号输出模块1003、防倒灌模块a、防倒灌模块b、电源转换模块1004、盘片内部控制模块1005以及数据存储模块1006。作为一种示例,请参考图10b,盘片303还可以包括第一存储模块1007。
[0165]
其中,第二连接器1001、第二连接器1002、在位信号输出模块1003、电源转换模块1004、数据存储模块1006以及第一存储模块1007分别与图9a中的第二连接器901、第二连接器902、在位信号输出模块903、电源转换模块904、数据存储模块906以及第一存储模块907
相同,在此不再赘述。
[0166]
下面对盘片内部控制模块1005进行说明。
[0167]
盘片内部控制模块1005除了具备盘片内部控制模块905的功能外,还用于调整通用盘片的工作模式。通用盘片包含两种工作模式,分别为分布式盘片的工作模式和集中式盘片的工作模式。下面,对盘片内部控制模块1005调整通用盘片的工作模式的方式进行说明。
[0168]
第一种调整方式:
[0169]
如果通用盘片处于集中式盘片的工作模式,当盘片内部控制模块1005接收盘片303发送的用于指示盘片303切换为分布式盘片的工作模式的指令,盘片内部控制模块1005可以控制第二连接器1001和第二连接器1002中的一个访问端口处于停止通信状态,也就是说,盘片内部控制模块1005从逻辑上关闭该访问端口的功能,盘片内部控制模块1005不接收或不处理从该访问端口输入的任何信号,且不通过该访问端口输出任何信号。该指令可以是控制设备301通过高速信号带内发送,也可以是控制设备301通过控制用于传输如图4所示中的控制单元30112的信号的控制信号线的高低电平进行指示,在此不作限制。
[0170]
在图10c中,以控制第二连接器1002为停止通信状态为例,该停止通信状态可以理解为,盘片不能通过处于停止通信状态的连接器和与该连接器连接的控制设备301通信,从而,将盘片的工作模式由集中式盘片的工作模式切换到分布式盘片的工作模式。
[0171]
第二种调整方式:
[0172]
如果通用盘片处于集中式盘片的工作模式,当盘片内部控制模块1005接收盘片303发送的用于指示盘片303切换为分布式盘片的工作模式的指令,盘片内部控制模块1005可以将盘片303的数据存储模块1006划分为两个独立的访问区域,如图10d所示。以数据存储模块1006为盘片介质为例,数据存储模块1006一共包含12个盘片介质,分别标记为盘片介质0-盘片介质11,则盘片内部控制模块1005可以将盘片介质0-盘片介质5划分为一个独立的访问区域,该访问区域只能通过第二连接器1001进行访问,且,将盘片介质6-盘片介质11划分为另一个独立的访问区域,该访问区域只能通过第二连接器1002进行访问,从而,将盘片的工作模式由集中式盘片的工作模式切换到分布式盘片的工作模式。
[0173]
第三种调整方式:
[0174]
如果通用盘片处于分布式盘片的工作模式,当盘片内部控制模块1005接收盘片303发送的用于指示盘片303切换为集中式盘片的工作模式的指令,则盘片内部控制模块1005恢复处于停止通信状态的访问端口的通信功能,也就是说,盘片内部控制模块1005从逻辑上开启该访问端口的功能,盘片内部控制模块1005接收以及处理从该访问端口输入的任何信号,且通过该访问端口输出信号。该指令可以是控制设备301通过高速信号带内发送,也可以是控制设备301通过控制用于传输如图4所示中的控制单元30112的信号的控制信号线的高低电平进行指示,在此不作限制。从而,将盘片的工作模式由分布式盘片的工作模式切换到集中式盘片的工作模式。
[0175]
第四种调整方式:
[0176]
如果通用盘片处于分布式盘片的工作模式,当盘片内部控制模块1005接收盘片303发送的用于指示盘片303切换为集中式盘片的工作模式的指令,则盘片内部控制模块1005可以取消将数据存储模块1006划分为两个独立的访问区域的设置,使得盘片303中仅
包含一个独立的访问区域,从而分别与第二连接器1001和第二连接器1002连接的两个控制设备301均可以访问数据存储模块1006的任意一个盘片介质,从而将盘片的工作模式由分布式盘片的工作模式切换到集中式盘片的工作模式。
[0177]
在本申请实施例中,通过盘片303的型号、容量、厂家等相关信息来判断每个盘片303的类型。具体的判断方法在前文中已经做了描述,在此不再赘述。
[0178]
这样,通过控制设备301与不同类型的盘片303连接,从而可以分别构成分布式存储架构的存储系统和集中式存储架构的存储系统。
[0179]
需要说明的是,第二连接器可以与盘片303固定连接,也可以是与盘片303可拆卸地连接,在此不作限制。
[0180]
当控制设备301与分布式盘片连接时,则可以构成分布式存储架构的存储系统。作为一种示例,分布式存储架构的存储系统的结构图可以与图3d-图4所示的存储系统的结构相同,当图3d-图4中与第一连接器302连接的盘片303为分布式盘片时,则构成分布式存储架构的存储系统。
[0181]
在如图3d所示的分布式存储架构的存储系统中,控制设备a、控制设备b以及控制设备c为相互独立的分布式访问节点,每个控制设备单独访问与其连接的盘片。当其中一个控制设备故障时,则由存储系统中的其他节点承担发生故障的控制设备对应的业务,且,与发生故障的控制设备连接的盘片中的数据可以通过其他节点根据其他盘片中的数据进行恢复。如图11所示,控制设备a发生故障,则可以由控制设备b或者控制设备c承担控制设备a的业务,且,与控制设备a连接的盘片中的数据可以通过与控制设备b连接的盘片中的数据及与控制设备c连接的盘片中的数据进行恢复的方式,将与控制设备a连接的盘片中的数据恢复到与控制设备b连接的盘片和与控制设备c连接的盘片中。
[0182]
当控制设备301与集中式盘片连接时,则可以构成集中式存储架构的存储系统。请参考图12a-图12b,为集中式存储架构的存储系统的一种示例。存储系统300包括2个控制设备301和2个集中式盘片303,每个控制设备301包括2个第一连接器302,第一个控制设备301的2个第一连接器302分别与2个集中式盘片中的第二连接器901连接,第二个控制设备301的2个第一连接器302分别与2个集中式盘片中的第二连接器902连接。为方便说明,在图12a中,以带箭头的虚线表示第一连接器302与第二连接器901的连接状态,以及第一连接器302与第二连接器902的连接状态。图12b为存储系统300的侧视图。
[0183]
在图12b所示的集中式存储架构的存储系统中,由于盘片可以分别与两个控制设备进行通信,因此,当其中一个控制设备发生故障或被拔出时,另外一个控制设备可承担发生故障的控制设备的业务。
[0184]
控制设备301通过可拆卸地与分布式盘片或集中式盘片连接,从而,可以根据使用需求构成不同的存储架构。例如,当需要构成分布式存储架构时,则使控制设备301处于分布式工作模式,并在第一连接器302上插入分布式盘片。当需要切换到集中式存储架构时,则使控制设备301处于集中式工作模式,并拔出分布式盘片,然后插入集中式盘片。
[0185]
为了简化存储架构的切换过程,可以将控制设备301直接与通用盘片连接。当存储系统300需要从集中式存储架构切换到分布式存储架构时,控制设备301运行与分布式存储架构对应的系统代码,并向盘片303发送用于指示盘片303切换为分布式盘片的指令,当盘片303接收该指令后,则可以采用前文中的第一种调整方式或第二种调整方式,将盘片303
调整为分布式盘片,从而将存储系统300的存储架构由集中式存储架构切换为分布式存储架构。当存储系统300需要从分布式存储架构切换到集中式存储架构时,控制设备301运行集中式存储架构对应的系统代码,并向盘片303发送用于指示盘片303切换为集中式盘片的指令,盘片303接收该指令后,则采用前文中的第三种调整方式或第四种调整方式,将盘片303调整为集中式盘片,从而将存储系统300的存储架构由分布式存储架构切换为集中式存储架构。在这种情况下,控制设备301与盘片303的连接关系与集中式存储架构中控制设备301与盘片303的连接关系相同,请参考图12a-图12b,在此不再赘述。
[0186]
需要说明的是,第二连接器可以直接与第一连接器302连接,例如,将第二连接器插入第一连接器,第二连接器也可以采用其他方式与第一连接器302连接,例如,可以通过通信总线将第二连接器和第一连接器302进行连接,该通信总线可以是pcie总线或者i2c总线等,在此不作限制。
[0187]
下面,对第一连接器302和第二连接器进行说明。
[0188]
在本申请实施例中,第一连接器302与第二连接器是互为公母的垂直正交连接器,或第一连接器301与第二连接器是互为公母且具有预设旋转角度的连接器。
[0189]
以控制设备301包括一个第一连接器302,盘片303具有一个第二连接器,以第一连接器301为具有插孔的插座,第二连接器为具有插针的插头为例。
[0190]
在本申请实施例中,控制设备301可以是一个电路板,盘片303的形状可以是一个长方体为例,请参考图13a,盘片303包括6个面,分别为a面~f面。如图13a所示,盘片的c面和d面均是与水平面相平行的面,其中,c面和d面在水平面上的投影为长方形,该长方形中的两个长边的长度与盘片303所对应的长方体的长度相同,该长方形中的另外两个短边的长度与盘片303所对的长方体的高度相同;盘片的a面、f面、b面和e面与水平面垂直,其中,a面和f面在水平面上的投影是一条线段,该线段的长度与盘片303所对应的长方体的长度相同,b面和e面在水平面上的投影也是一条线段,该线段的长度与盘片303所对应的长方体的高度相同。第二连接器设置在盘片303的e面。
[0191]
请参考图13b,为包含一个第一连接器302的控制设备301的侧视图。在图13b中,第一连接器301中的插孔以2行3列的方式排布,每一行中相邻的两个插孔的间距相同,且第一行的3个插孔与第二行的3个插孔对齐。请参考图13c,为包含一个第二连接器的盘片303的侧视图,在图13c中,第二连接器中的插针以3行2列的方式排布,每一行中相邻的两个插孔的间距相同,且每两行的2个插孔相互对齐。当第二连接器插入第一连接器302时,控制设备301与盘片303形成如图13d所示的位置关系。图13d为控制设备301和盘片303的侧视图,在图13d中,控制设备301水平设置,盘片303的c面与水平面平行,盘片303的a面与水平面垂直。
[0192]
由于长方体的高度通常小于长方体的长度或宽度,从而使得一个控制设备301可以与更多的盘片303进行通信,可以满足对存储系统的扩容需求。
[0193]
请参考图14a,为包含一个第一连接器302的控制设备301的侧视图。在图14a中,第一连接器301中的插孔呈2行排布,每一行中相邻的两个插孔的间距相同,且第一行中的第一个插孔与第二行中的第一个插孔保持一定距离。请参考图14b,为包含一个第二连接器的盘片303的侧视图,在图14b中,第二连接器中的插针呈2列排布,每一列中相邻的两个插孔的间距相同,且第一列中的第一个插孔与第二列中的第一个插孔保持一定距离。当第二连
接器插入第一连接器302时,控制设备301与盘片303形成如图14c所示的位置关系。图14c为控制设备301和盘片303的侧视图,在图14c中控制设备301水平设置,盘片303的a面与水平面呈预设夹角。在图14c中,以盘片303的a面与水平面呈80度角为例。当然,盘片303的a面与水平面也可以呈其他角度,盘片303的a面与水平面所呈的角度与盘片303中插针的排列位置相关,在此不作限制。
[0194]
在上述技术方案中,第一连接器302和第二连接器为垂直正交连接器或具有预设旋转角度的连接器,从而该第一连接器302和第二连接器能够克服控制设备301与盘片303在空间坐标系的x轴、y轴和z轴方向的相对位移,从而多个控制设备301与多个盘片303均能可靠连接,可以去除现有技术中的背板,降低存储系统的设计复杂度,以及,可以减少由于背板的故障而导致整个存储系统无法使用的概率,可以提高存储系统的可靠性。
[0195]
进一步地,由于去除了现有技术中的背板,从而可以减少控制设备301与盘片303在通信过程中的阻抗不匹配点,也就是说,减少了控制设备301与背板之间的阻抗不匹配,以及背板与盘片之间的阻抗不匹配,可以支撑信号传输速率的提升。
[0196]
进一步地,由于去除了现有技术中的背板,减少了存储系统中的空气流动的阻碍点,可以调高存储系统的散热性能,从而,在一定的存储系统的空间以及一定的存储系统的散热性能下,可以允许存储系统容纳更多的盘片,可以提升存储系统的密度。
[0197]
本领域技术人员可以根据实际使用需求选择不同的第一连接器302和第二连接器来设置控制设备301和盘片303的相对位置。
[0198]
另外,需要说明的是,当控制设备301包括多个第一连接器302时,多个第一连接器302之间需要设置一定的间隔。例如,当控制设备301与盘片303采用如图14b所示的第二种连接方式,则控制设备301中的每两个第一连接器302之间的间隔大于等于盘片303的高度,其中,对盘片303的高度的定义可以参考图13a中所示,在此不再赘述。
[0199]
在上述技术方案中,可以根据使用需求,通过将控制设备301与不同配置的盘片303进行连接,灵活构建集中式存储架构的存储系统或分布式存储架构的存储系统。且,在需要更换存储架构时,只需要切换控制设备301和盘片303的工作模式或更换盘片303即可,无需重新购买,提高了存储系统的灵活性,可以降低存储架构切换的成本。
[0200]
基于同一发明构思,本申请实施例提供一种存储系统的运行方法,该方法应用于如图3d或图4或图12a所示的存储系统中。
[0201]
请参考图15,为本申请实施例提供的一种存储系统的运行方法的流程图,该流程图描述如下:
[0202]
s1、控制设备进行系统配置。
[0203]
作为一种示例,控制设备可以与客户端连接,在客户端中,用户可以根据使用需求,设置存储系统的类型,例如,用户可以设置该存储系统为集中式存储架构或分布式存储架构,控制设备在接收客户端的指令后,则根据指令进行系统配置。该系统配置包含控制设备的系统代码配置,例如,控制设备中的存储器中存储与集中式存储架构对应的系统代码和与分布式存储架构对应的系统代码,根据客户端的指示为存储系统配置对应的系统代码。
[0204]
该系统配置还可以包括盘片配置。当与控制设备连接的盘片为如图10a所示的通用盘片,控制设备可以向盘片发送指令,以设置盘片为分布式盘片还是集中式盘片。例如,
当客户端的指令指示将存储系统设置为集中式存储架构,则可以通过向盘片发送指令以设置盘片的访问端口的数量为2,当客户端的指令指示将存储系统设置为集中式存储架构,则可以通过向盘片发送指令以设置盘片的访问端口的数量为1。当然,也可以设置盘片的访问区域的个数,在此不再赘述。
[0205]
需要说明的是,步骤s1为可选步骤,即不是必须要执行的。例如,用户可以直接根据使用需求,选择与要使用的存储架构对应的控制设备以及盘片,例如,用户需要使用集中式存储架构,则直接使用能够实现集中式存储架构的控制设备和集中式盘片进行连接即可,在这种情况下,步骤s1无需再执行。
[0206]
s2、所述控制设备启动以及初始化。
[0207]
s3、所述控制设备根据系统配置的类型,设置盘片判决条件。
[0208]
在本申请实施例中,盘片判决条件用于判断与控制设备连接的盘片是否与控制设备相匹配,例如,当控制设备为集中式存储架构,则通过盘片判决条件判断与该控制设备连接的盘片是否为集中式盘片。作为一种示例,若控制设备确定存储系统配置的系统代码为与集中式存储架构对应的系统代码,则控制设备配置盘片的判决条件为集中式盘片判决条件,该集中式盘片判决条件可以包含集中式盘片的厂家、型号等信息,例如,该集中式判决条件可以为厂家a或型号a;若控制设备确定存储系统配置的系统代码为与分布式存储架构对应的系统代码,则控制设备配置盘片的判决条件为分布式盘片判决条件,相应地,该分布式盘片判决条件可以包含分布式盘片的厂家、型号等信息,例如,该分布式判决条件可以为厂家b或型号b。当然,集中式盘片判决条件和分布式盘片判决条件也可以是其他参数,在此不作限制。
[0209]
s4、所述控制设备侦测每个第一连接器与盘片是处于连接状态还是断开状态。
[0210]
作为一种示例,所述控制设备中的cpu可以通过cpld侦测盘片的在位信号,确定每个第一连接器与盘片处于连接状态还是断开状态,并将确定结果存储在cpld对应的寄存器中。cpu通过读取该寄存器中存储的比特的取值,确定每个第一连接器与盘片是处于连接状态还是断开状态。当某个第一连接器与盘片处于断开状态时,控制设备可以通过客户端的显示器输出告警,例如,控制设备向客户端输出提示信息,该提示信息中携带该第一连接器的索引号,当然,也可以采用其他告警方式,在此不作限制。
[0211]
s5、所述控制设备确定处于连接状态的盘片的个数。
[0212]
所述控制设备侦测每个第一连接器与盘片是处于连接状态还是断开状态后,确定处于连接状态的盘片的个数。如果处于连接状态的盘片的个数等于0,则进入s13,如果处于连接状态的盘片的个数大于等于1,则进入s6。
[0213]
s6、所述控制设备获取处于连接状态的盘片的信息。
[0214]
作为一种示例,所述控制设备中的cpu可以通过pcie switch获取每个处于连接状态的盘片的信息,也可以通过pcie总线向处于连接状态的盘片发送指令,以获取每个处于连接状态的盘片的信息,该信息包括盘片型号、容量、厂家等相关信息。
[0215]
s7、所述控制设备确定匹配盘片的个数。
[0216]
具体来讲,所述控制设备中的cpu获取处于连接状态的盘片的信息后,则根据s3中设置的判决条件,确定每个处于连接状态的盘片的类型,例如,s3中设置的判决条件为集中式盘片判决条件,该集中式盘片判决条件为厂家a,则cpu确定处于连接状态的盘片的厂家
是否为厂家a,如果为是,则确定该盘片为匹配盘片,否则,确定该盘片为不匹配的盘片。cpu可以将对处于连接状态的盘片的确定结果存储在cpld中对应的寄存器中,例如,第二寄存器。当cpu确定某个盘片为匹配盘片,则设置cpld中与该盘片对应的第二寄存器中比特的取值为1,否则设置为0。另外,在确定某个盘片为不匹配的盘片后,cpu还可以向客户端输出告警信息。
[0217]
然后,所述控制设备中的cpu可以通过cpld中与每个处于连接状态的盘片对应的第二寄存器中比特的取值,计算匹配盘片的个数。如果匹配盘片的个数等于0,则进入s13,如果匹配盘片的个数等于1,则进入s8,如果匹配盘片的个数大于1,则进入s10。
[0218]
需要说明的是,在本申请实施例中,不对步骤s4-步骤s5与步骤s6-步骤s7的执行顺序进行限制,也就是说,控制设备可以先执行步骤s4-步骤s5再执行步骤s6-步骤s7,也可以先执行步骤s6-步骤s7再执行步骤s4-步骤s5,也可以同步执行步骤s4-步骤s5和步骤s6-步骤s7,本领域技术人员可以根据使用情况进行设置。
[0219]
s8、所述控制设备进行单盘片上电启动流程。
[0220]
需要说明的是,由于控制设备的cpu执行步骤s6时,可以通过pcie switch获取,也可以通过pcie总线获取,则针对这两种不同的实现方式,对步骤s8的执行顺序进行说明。
[0221]
若步骤s6通过pcie switch获取,则在执行步骤s6之后,再执行步骤s8;若步骤s6通过pcie总线获取,则控制设备需要先执行步骤s8,使盘片上电,然后再执行步骤s6。
[0222]
s9、所述控制设备控制对应的匹配盘片处于工作状态。
[0223]
具体来讲,所述控制设备中的cpu控制时钟信号发生器向匹配盘片提供工作时钟和/或用于传输高速信号的时钟,以使该匹配盘片处于工作状态。
[0224]
s10、所述控制设备进行分批次上电启动流程入口。
[0225]
具体来讲,当控制设备的cpu确定匹配盘片的个数大于1时,则可以根据预设的可靠性策略或者容错策略,使多个匹配盘片中的一个或者一部分盘片先上电,剩下的盘片后上电,具体策略的内容在此不作限制。
[0226]
s11、所述控制设备分批次控制对应的匹配盘片处于工作状态。
[0227]
步骤s11与步骤s9相同,在此不再赘述。
[0228]
s12、完成对应架构的存储系统的启动。
[0229]
s13、所述控制设备侦测盘片与第一连接器的连接状态或断开状态是否变动。
[0230]
具体来讲,控制设备中的pcie switch通过cpld的中断信号监控盘片与第一连接器的连接状态或断开状态是否变动,若pcie switch检测到cpld的中断信号,则pcie switch确定发生改变,则进入s14,若pcie switch未检测到cpld的中断信号,则pcie switch确定未发生改变,则进入s18。
[0231]
s14、所述控制设备侦测处于连接状态的盘片的个数是否变动。
[0232]
具体来讲,控制设备中的cpu根据cpld中第一寄存器中比特的取值,确定处于连接状态的盘片的个数是否变动,若通过第一寄存器中比特的取值确定处于连接状态的盘片的个数增加,cpu确定插入盘片,则进入步骤s5,若通过第一寄存器的取值确定处于连接状态的盘片的个数减少,cpu确定拔出盘片,则进入步骤s15。
[0233]
s15、所述控制设备判断被拔出的盘片是否为故障盘片。
[0234]
具体来讲,控制设备中的cpld实时监测每个处于连接状态的盘片的工作状态,并
将监测结果存储在cpld的用于存储盘片的故障状态的寄存器中。当cpu确定盘片被拔出,则通过读取cpld中与该盘片对应的用于存储盘片的故障状态的寄存器中比特的取值确定该盘片是否为故障盘片,若该盘片是故障盘片,则进入步骤s17,若该盘片不是故障盘片,则进入步骤s16。
[0235]
s16、所述控制设备控制该盘片为断电状态、停止向该盘片提供时钟信号,并设置cpld中第一寄存器比特的取值为与断开状态对应的取值。
[0236]
s17、所述控制设备清除对该盘片的故障状态的记录,设置cpld中第一寄存器比特的取值为与断开状态对应的取值。
[0237]
由于该盘片已经被拔出,因此,所述控制设备需要清除对该盘片的故障状态的记录,也就是说,将cpld中用于存储盘片的故障状态的寄存器中,用于指示该盘片是否为故障状态的比特的取值设置为初始值。作为一种示例,cpld中用于存储盘片的故障状态的寄存器中比特的初始值为0,从而,将该比特的取值设置为0。
[0238]
s18、所述控制设备检测盘片的故障状态。
[0239]
cpu通过读取cpld中与该盘片对应的用于存储盘片的故障状态的寄存器中比特的取值确定该盘片是否为故障盘片,若该盘片是故障盘片,则进入步骤s19,若该盘片不是故障盘片,则进入步骤s20。
[0240]
s19、所述控制设备控制该盘片为断电状态、停止向该盘片提供时钟信号,并设置cpld中第一寄存器比特的取值为与断开状态对应的取值。
[0241]
s20、所述控制设备侦测是否有关闭命令。
[0242]
控制设备中的cpu监测是否接收到客户端的关闭命令,如果有,则进入步骤s21,如果没有关闭指令,则进入到步骤s13。
[0243]
s21、停止。
[0244]
在图15所示的存储系统的运行方式中,存储系统中的控制设备在启动之前已经确定了其工作模式,即,是运行在集中式存储架构下的模式还是运行在分布式存储架构下的模式,然后在该工作模式下运行存储系统。
[0245]
本申请实施例中的存储系统在运行工作中还可以进行工作模式的切换,请参考图16,为本申请实施例提供的一种存储系统的工作模式的切换方法的流程图,该流程图的描述如下:
[0246]
步骤s1601、存储系统的m个控制设备运行在第一工作模式。
[0247]
在本申请实施例中,m个控制设备支持第一工作模式和第二工作模式,第一工作模式和第二工作模式有如下两种定义:
[0248]
第一种定义:
[0249]
在第一工作模式为运行在集中式存储架构下的模式时,第二工作模式为运行在分布式存储架构下的模式。
[0250]
第二种定义:
[0251]
在第一工作模式为运行在分布式存储架构下的模式时,第二工作模式为运行在集中式存储架构下的模式。
[0252]
需要说明的是,m为正整数。上述第一工作模式和第二工作模式的具体内容已在前文中介绍,在此不再赘述。
[0253]
步骤s1602、该m个控制设备中的至少一个控制设备向该存储系统的k个盘片中的每个盘片发送第一指令,该k个盘片中的每个盘片接收该第一指令。
[0254]
在本申请实施例中,该第一指令用于指示接收该第一指令的盘片工作在第二工作模式下。
[0255]
作为一种示例,m个控制设备可以分别与客户端连接,m个控制设备接收客户端发送的从第一工作模式切换到第二工作模式的指令,从而向k个盘片发送该第一指令。m个控制设备也可以是,通过预存的运行策略,例如,用户设置在第一时间段运行在第一工作模式,在第二时间段运行在第二工作模式,则存储系统确定满足切换条件时,则向k个盘片发送该第一指令。或者,m个控制设备中也可以设置有主控制设备和从控制设备,主控制设备从客户端或者通过预存的运行策略确定需要将盘片从第一工作模式切换到第二工作模式,则向k个盘片中的每个盘片发送该第一指令。当然,也可以通过其他方式触发m个控制设备向k个盘片中的每个盘片发送该第一指令,在此不作限制。
[0256]
需要说明的是,第一指令可以由m个控制设备中的每个设备发送,也可以是由m个控制设备中的某一个控制设备或者一部分控制设备发送,在此不作限制。
[0257]
在存储系统中,该m个控制设备中的每个控制设备可以通过n个第一连接器中的全部第一连接器,及n个第二连接器中的全部第二连接器,与该k个盘片通信,或,该m个控制设备中的每个控制设备可以通过该n个第一连接器中的部分第一连接器,及该n个第二连接器中的部分第二连接器,与该k个盘片通信。该n个第一连接器,用于以可拆卸的方式与该m个控制设备连接,该n个第二连接器,用于以可拆卸的方式与该k个盘片连接,该k个盘片中的每个盘片用于存储数据,n、k为正整数。
[0258]
需要说明的是,第一连接器的结构、第二连接器的结构、第一连接器与控制设备的连接方式、第二连接器与盘片的连接方式、控制设备及盘片的结构以及功能,在前文中已经进行介绍,在此不再赘述。
[0259]
另外,需要说明的是,本申请实施例对步骤s1601与步骤s1602的执行顺序不作限制,即可以先执行步骤s1601,在执行步骤s1602,或先执行步骤s1602,在执行步骤s1601,或同时执行步骤s1601和步骤1602。
[0260]
步骤s1603、该k个盘片中的每个盘片根据该第一指令,控制该每个盘片的x个第二连接器中的p个第二连接器处于与该第二工作模式相适应的状态。
[0261]
在本申请实施例中,由于第二工作模式可以是运行在分布式存储架构下的模式,也可以是运行在集中式存储架构下的模式,因此,控制每个盘片的x个第二连接器中的p个第二连接器处于与该第二工作模式相适应的状态的定义也不相同,具体如下:
[0262]
在第二工作模式为运行在分布式存储架构下的模式,控制该p个第二连接器中的一个第二连接器处于与该第二工作模式相适应的状态,包括:
[0263]
控制盘片停止通过该第二连接器和与该第二连接器连接的第一连接器对应的控制设备通信,x、p为正整数,x与p的差值为1。
[0264]
在第二工作模式为运行在集中式存储架构下的模式,控制该p个第二连接器处于与该第二工作模式相适应的状态,包括:
[0265]
控制该盘片恢复通过该p个第二连接器中的l个第二连接器,和与该l个第二连接器连接的l个第一连接器所对应的控制设备通信,其中,l为正整数,l小于或等于p。
[0266]
需要说明的是,控制盘片停止通过该第二连接器和与该第二连接器连接的第一连接器对应的控制设备通信的方式,以及控制盘片恢复通过l个第二连接器,和与该l个第二连接器连接的l个第一连接器所对应的控制设备通信的方式,在前文中已经进行介绍,在此不再赘述。
[0267]
当盘片完成工作模式的切换过程后,整个存储系统则由与第一工作模式对应的存储架构切换为与第二工作模式对应的存储架构,完成存储架构的切换过程。
[0268]
在上述技术方案中,当存储系统需要切换工作模式时,通过改变控制设备的工作模式,以及通过控制设备向盘片发送切换工作模式的指令,从而可以在不改变硬件结构以及连接关系的情况下,切换存储系统的工作模式,可以简化切换存储系统的工作模式的步骤
[0269]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请实施例可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括ram、rom、电可擦可编程只读存储器(electrically erasable programmable read only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(digital subscriber line,dsl)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、dsl或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本申请实施例所使用的,盘(disk)和碟(disc)包括压缩光碟(compact disc,cd)、激光碟、光碟、数字通用光碟(digital video disc,dvd)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
[0270]
总之,以上所述仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡根据本申请的揭露,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1