专利名称:一种存储方法、存储系统及控制器的利记博彩app
技术领域:
本发明涉及信息技术领域,特别是涉及一种存储方法、存储系统及控制器。
背景技术:
随着科学技术的飞速发展以及计算机技术的普遍应用,互联网上信息迅速增加, 而且电子商务不断发展,企业的信息系统日益占据着企业竞争的主体地位,使得数据量的 增长很快,企业越来越依赖于数据。为了更好、更快的存储大量的数据,存储技术也需要不 断的发展。 现有技术中,为了简化Cache(高速缓冲存储器)的设计,需要在Cache的LUN(逻 辑单元)上设计归属控制器,从而使得针对某个LUN的请求在归属控制器上执行。控制 器0和控制器1通过镜像通道相连接,镜像通道分别与控制器0的镜像芯片和控制器1 的镜像芯片相连接,服务器通过交换网分别与控制器O的PCIE(Peripheral Component Interconnection Express,外设组件互连标准)接口卡和控制器l的PCIE接口卡相连接, 而控制器0通过硬盘扩展芯片与传统接口的硬盘相连接,控制器1也通过硬盘扩展芯片与 传统接口的硬盘相连接,在控制器内,硬盘扩展芯片通过硬盘控制器与PCIE Switch (交 换)连接,PCIE Switch分别与PCIE接口卡、镜像芯片和硬盘控制器连接,并通过CPU和芯 片组与内存相连接。 当服务器发送请求时,通过优选(最近)路径将请求发送给控制器,并判断该控制 器是否在归属控制器,当该控制器是归属控制器时,由该控制器处理该请求;当该控制器不 是归属控制器时,转发给归属控制器,使得归属控制器处理该请求。例如,LUN O的归属控 制器是控制器0,当服务器0通过优选路径PCIE接口卡n将针对LUN 0的请求发送给控制 器1时,当判断出控制器1不是LUN 0的归属控制器时,将针对LUN 0的请求转发给LUN 0 的归属控制器,即将针对LUN 0的请求通过镜像通道转发给控制器0,由控制器0对该请求 进行处理。 在实现本发明的过程中,发明人发现现有技术中至少存在如下问题 控制器0和控制器1具有独立的PCIE接口卡,但不能被对端控制器使用,造成资
源的浪费,而且传统硬盘须通过硬盘控制器和硬盘扩展芯片才能接入存储控制器,而使用
硬盘控制器和硬盘扩展芯片造成控制器成本较高。
发明内容
本发明实施例提供一种存储方法、存储系统及控制器,以使控制器之间共享存储 设备和PCIE 10模块。 为了达到上述目的,本发明实施例提出了一种存储方法,应用于包括至少一个控 制器、至少两个外设组件互连标准PCIE输入输出IO模块以及至少两个存储设备的系统中, 所述至少两个存储设备通过所述至少一个控制器的PCIE交换Switch连接,所述至少两个 PCIE IO模块通过所述至少一个控制器的PCIE Switch连接,所述方法包括
通过所述至少两个PCIE 10模块接收来自服务器的请求消息;
根据所述请求消息访问所述至少两个存储设备。 本发明实施例提出了一种存储系统,包括至少一个控制器、至少两个PCIE 10 模块以及至少两个存储设备,所述至少两个存储设备通过所述至少一个控制器的PCIE Switch连接,所述至少两个PCIE IO模块通过所述至少一个控制器的PCIE Switch连接,其 中 控制器,用于通过所述至少两个PCIE IO模块接收来自服务器的请求消息,根据所 述请求消息访问所述至少两个存储设备; 所述至少两个存储设备,用于存储所述请求消息对应的信息。 本发明实施例提出了一种控制器,应用于包括至少一个控制器、至少两个PCIE 10 模块以及至少两个存储设备的系统中,所述至少两个存储设备通过所述至少一个控制器的 PCIE Switch连接,所述至少两个PCIE IO模块通过所述至少一个控制器的PCIE Switch连 接,其中,控制器包括 接收模块,用于通过至少两个PCIE IO模块接收来自服务器的请求消息;
访问模块,用于根据所述请求消息访问至少两个存储设备。
与现有技术相比,本发明实施例具有以下优点 通过使用控制器的PCIE Switch将至少两个PCIE IO模块连接,使得控制器之间 共享至少两个PCIE IO模块,节省了资源;而且通过使用控制器的PCIE Switch将至少两个 存储设备相连接,存储设备在接入控制器时并不需要通过硬盘控制器和硬盘扩展芯片,从 而节省了成本。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。 图1为本发明实施例一提出的一种存储方法流程图;
图2为本发明实施例二提出的一种存储方法流程图; 图3为本发明实施例二提出的一种基于PCIE互联的存储架构的结构图;
图4为本发明实施例三提出的一种存储系统结构图;
图5为本发明实施例四提出的一种存储装置结构图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。 本发明实施例一提出的一种存储方法,可以应用于包括至少一个控制器、至少两 个PCIE IO模块以及至少两个存储设备的系统中,所述至少两个存储设备通过所述至少一个控制器的PCIE Switch连接,所述至少两个PCIEIO模块通过所述至少一个控制器的PCIE Switch连接,如图l所示,可以包括 步骤S101,通过所述至少两个PCIE IO模块接收来自服务器的请求消息; 步骤S 102,根据所述请求消息访问所述至少两个存储设备。 本发明实施例方法可以根据实际需要对各个步骤顺序进行调整。 本发明实施例的存储设备可以是固态硬盘,本实施例中,该通过所述至少两个
PCIE IO模块接收来自服务器的请求消息的主体可以为负载最轻的服务器,该负载最轻的
控制器包括以下中的至少一种控制器的请求数量最少;控制器响应时间最短;控制器的
CPU占用率最小。 可见,本实施例中,通过使用控制器的PCIE Switch将至少两个PCIE 10模块 连接,使得控制器之间共享至少两个PCIE IO模块,节省了资源;通过使用控制器的PCIE Switch将至少两个存储设备相连接,并使用固态硬盘作为存储设备,替代传统的硬盘,使得 固态硬盘在接入控制器时并不需要通过硬盘控制器和硬盘扩展芯片,从而节省了成本。而 且在将固态硬盘连接后使服务器可以根据控制器的负载情况选择负载最轻的控制器,从而 达到控制器负载的动态平衡。 本发明实施例二提出的一种存储方法,如图2所示,可以包括
步骤S201,服务器向负载最轻的控制器发送请求。 具体的,服务器可以通过多路径软件将请求发送给负载最轻的控制器,该多路径 软件为可以自动选路的软件,即服务器的多路径软件可以通过和控制器交互,自动选择负 载最轻的控制器,并将请求发送给该负载最轻的控制器,该请求包括但不限于通过归属控 制器进行存储操作的请求。上述的负载最轻的控制器包括但不限于控制器的请求数量最 少、控制器响应时间最短、CPU占用率最小。 本实施例中,上述的控制器可以为基于PCIE互联存储架构中的控制器,其中,该 基于PCIE互联的存储架构的结构图如图3所示,该存储架构以两个控制器为例进行说明。 在该存储架构3中,包括PCIE IO(输入输出)模块、PCIE Switch、控制器和存储设备,该存 储设备可以为硬盘,该硬盘的类型包括但不限于SSD(Solid State Disk,固态硬盘),本实 施例中,该存储设备均以固态硬盘为例进行说明,一个控制器可以配置多个PCIE IO模块。 在本实施例中,以SSD为例进行说明,上述的PCIE 10模块、PCIE Switch、控制器和PCIE SSD均以两个为例进行说明,在使用该存储架构3时,上述的PCIE 10模块、PCIE Switch、 控制器和PCIE SSD的个数根据实际需要任意选取。上述的两个控制器为控制器33和控制 器34,上述的两个PCIE IO模块为PCIE 10模块321和PCIE 10模块322,上述的两个PCIE Switch位于控制器内,PCIE Switch 331位于控制器33内,PCIE Switch 341位于控制器 34内,上述的两个PCIE SSD为PCIE SSD351和PCIE SSD 352。 通过将PCIE Switch 331禾口PCIE Switch 341连接,并将PCIE 10模块321与PCIE Switch 331连接,将PCIE 10模±央322与PCIE Switch 341连接,使得PCIE 10模i央321与 PCIE 10模块322在两个控制器之间互联,从而控制器33和控制器34可以共享PCIE 10模 ±央321与PCIE 10模块322,而且PCIE SSD 351也与PCIE Switch 331连接,PCIE SSD 352 也与PCIESwitch 341连接,使得PCIE SSD 351与PCIE SSD 352两个控制器之间互联,从 而控制器33和控制器34可以访问所有的PCIE SSD,即控制器33和控制器34可以共享访问PCIE SSD 351,并将信息存储到PCIE SSD 351上,同样的,控制器33和控制器34还可以 共享访问PCIE SSD 352,并将信息存储到PCIE SSD 352上。 本实施例中,该存储架构3中的控制器接收的来自服务器的请求具体为服务器 311通过交换网发送的请求,该存储架构3中的控制器接收的来自服务器的请求还可以为 服务器312通过交换网发送的请求,其中,该控制器为负载最轻的控制器。
步骤S202,控制器处理来自服务器的请求。 具体的,当该来自服务器的请求为存储操作的请求时,该负载最轻的控制器通过 访问PCIE SSD,将该请求所对应的信息存储到该PCIE SSD上。例如,当该服务器的请求为 存储网络信息,该负载最轻的控制器为控制器33时,在控制器33接收到该来自服务器的存 储网络信息的请求后,将该请求所对应的网络信息存储到PCIE SSD中,本实施例中,控制器 33可以将该网络信息存储到PCIE SSD 351上,也可以将该网络信息存储到PCIESSD 352 上。 本发明实施例方法可以根据实际需要对各个步骤顺序进行调整。
可见,本实施例中,通过使用PCIE Switch将PCIE IO模块在两个控制器之间互 联,使得两个控制器可以共享所有的PCIE IO模块,节省了PCIE接口卡的资源。
并且SSD可以直接接入控制器,并不需要通过硬盘控制器、硬盘扩展芯片接入控 制器,从而节省了使用硬盘控制器、硬盘扩展芯片的高成本,而在使用传统硬盘接入控制 器,CPU在访问传统接口的硬盘时,其访问路径依次为CPU、 PCIE总线的桥片、PCIE总线、 硬盘控制器、硬盘扩展芯片、硬盘,该传统接口包括但不限于FC(Fibre Cha皿el,光纤通道) 和SAS (Serial Attached SCSI,串行SCSI),在访问时间上,CPU指令的执行时间是ns级,内 存访问延迟是10ns级,而磁盘访问时间为十几个毫秒级,当存储设备的访问延迟需要大大 提高后,例如,当存储设备的访问延迟需要提高到O. lms时,上述的通过CPU、PCIE总线的桥 片、PCIE总线、硬盘控制器、硬盘扩展芯片、硬盘的访问路径将在性能上将存在瓶颈,通过上 述的访问路径不能使存储设备的访问延迟达到0. lms,当仍使用传统接口的硬盘时,便不能 满足性能要求了,此时,需要存储介质在总线层次上更接近CPU和内存,即使用SSD直接接 入控制器。通过表1和表2可以看出,基于PCIE接口的固态硬盘性能指标远远高于机械硬 盘性能指标,其中,表1为基于PCIE接口的固态硬盘性能指标,表2为机械硬盘性能指标。
表1
表2
4K随机读I OPS4K随机写IOPS顺序读MB/s顺序写MB/s
107, 00096, 000700600
4K随机读I OPS4K随机写IOPS顺序读MB/s顺序写MB/s
2411796652 即在本实施例中,通过使用高性能、非易失性的SSD作为系统的存储设备,不需要
7在Cache的LUN上设计归属控制器,针对某个LUN的请求可以在任意的控制器上执行,即 LUN可通过任意控制器访问SSD。此时,通过使用控制器的PCIE Switch将两个SSD相连接, 服务器多路径软件和控制器间的路径为对等关系,控制器之间不再有优选路径,服务器多 路径软件就可以通过控制器的负荷情况选择请求的路径,以达到控制器负载的动态平衡。
本发明实施例三还提出了一种存储系统,如图4所示,该系统可以包括至少一个 控制器、至少两个PCIE IO模块以及至少两个存储设备,该至少两个存储设备通过该至少 一个控制器的PCIE Switch连接,该至少两个PCIE IO模块通过该至少一个控制器的PCIE Switch连接,一个控制器可以配置多个PCIE 10模块。本实施例中,该至少一个控制器、 至少两个PCIE 10模块、至少两个存储设备均以两个为例进行说明,即该存储系统包括控 制器41、控制器42、PCIE 10模块43、 PCIE 10模块44、存储设备45、存储设备46 ;该控制 器41中包括PCIE Switch 411,该控制器42中包括PCIESwitch 421,PCIE Switch 411和 PCIE Switch 421连接,PCIE 10模块43禾卩PCIE Switch 411连接,PCIE 10模块44和PCIE Switch 421连接,存储设备45和PCIE Switch 411连接,存储设备46和PCIE Switch 421 连接。其中,该控制器41用于通过PCIE 10模块43接收来自服务器的请求消息,此外,该 控制器41还用于通过PCIE 10模块44接收来自服务器的请求消息,控制器41根据该请求 消息访问存储设备45,同样的,该控制器还可以根据该请求消息访问存储设备46,该存储 设备的类型包括但不限于固态硬盘;该存储设备用于存储该请求消息对应的需要存储的信 息。本实施例中,该控制器41为负载最轻的控制器。本发明实施例系统的各个单元可以集 成于一个装置,也可以分布于多个装置。上述单元可以合并为一个单元,也可以进一步拆分 成多个子单元。 可见,本实施例中,通过使用控制器的PCIE Switch将至少两个PCIE 10模块 连接,使得控制器之间共享至少两个PCIE IO模块,节省了资源;通过使用控制器的PCIE Switch将至少两个存储设备相连接,并使用固态硬盘作为存储设备,替代传统的硬盘,使得 固态硬盘在接入控制器时并不需要通过硬盘控制器和硬盘扩展芯片,从而节省了成本。而 且在将固态硬盘连接后使服务器可以根据控制器的负载情况选择负载最轻的控制器,从而 达到控制器负载的动态平衡。 本发明实施例四提出的一种存储装置,该装置可以为控制器,该控制器应用于包 括至少一个控制器、至少两个PCIE IO模块以及至少两个存储设备的系统中,该至少两个存 储设备通过该至少一个控制器的PCIE Switch连接,该至少两个PCIE IO模块通过该至少 一个控制器的PCIE Switch连接,其中,该控制器可以为负载最轻的控制器,如图5所示,可 以包括 连接模块51,用于将至少一个控制器中的PCIE Switch连接,以使至少两个存储
设备相连接,存储设备的类型包括但不限于固态硬盘;
或者, 用于将该至少一个控制器中的PCIE Switch连接,以使该至少两个PCIE 10模块 相连接。 接收模块52,用于通过至少两个PCIE 10模块接收来自服务器的请求消息。
访问模块53,用于根据接收模块52接收的请求消息访问连接模块51连接的至少 两个存储设备。
存储模块54,用于在访问模块53访问存储设备时,将接收模块52接收的请求消息 对应的信息存储到该至少两个存储设备中,该存储设备的类型包括但不限于固态硬盘。
本发明实施例设备的各个模块可以集成于一体,也可以分离部署。上述模块可以 合并为一个模块,也可以进一步拆分成多个子模块。 可见,本实施例中,通过使用控制器的PCIE Switch将至少两个PCIE 10模块 连接,使得控制器之间共享至少两个PCIE IO模块,节省了资源;通过使用控制器的PCIE Switch将至少两个存储设备相连接,并使用固态硬盘作为存储设备,替代传统的硬盘,使得 固态硬盘在接入控制器时并不需要通过硬盘控制器和硬盘扩展芯片,从而节省了成本。而 且在将固态硬盘连接后使服务器可以根据控制器的负载情况选择负载最轻的控制器,从而 达到控制器负载的动态平衡。 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通 过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实现。基于这样的理解, 本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性 存储介质(可以是CD-R0M, U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应 视本发明的保护范围。
权利要求
一种存储方法,其特征在于,应用于包括至少一个控制器、至少两个外设组件互连标准PCIE输入输出IO模块以及至少两个存储设备的系统中,所述至少两个存储设备通过所述至少一个控制器的PCIE交换Switch连接,所述至少两个PCIE IO模块通过所述至少一个控制器的PCIE Switch连接,所述方法包括通过所述至少两个PCIE IO模块接收来自服务器的请求消息;根据所述请求消息访问所述至少两个存储设备。
2. 如权利要求1所述的方法,其特征在于,所述根据请求消息访问所述至少两个存储 设备包括将所述请求消息对应的信息存储到所述至少两个存储设备中。
3. 如权利要求1所述的方法,其特征在于,所述至少两个存储设备通过所述至少一个 控制器的PCIE Switch连接包括通过将所述至少一个控制器中的PCIE Switch连接,以使所述至少两个存储设备相连接;或者,所述至少两个PCIE IO模块通过所述至少一个控制器的PCIE Switch连接包括 通过将所述至少一个控制器中的PCIE Switch连接,以使所述至少两个PCIE 10模块 相连接。
4. 如权利要求1所述的方法,其特征在于,所述至少一个控制器中包括负载最轻的控 制器,所述负载最轻的控制器通过所述至少两个PCIE 10模块接收所述来自服务器的请求 消息。
5. 如权利要求4所述的方法,其特征在于,所述负载最轻的控制器包括以下中的至少 一种控制器的请求数量最少;控制器响应时间最短;控制器的CPU占用率最小。
6. 如权利要求1至5任一项所述的方法,其特征在于,所述存储设备的类型包括固态硬
7. —种存储系统,其特征在于,包括至少一个控制器、至少两个PCIE IO模块以及至少两个存储设备,所述至少两个存储设备通过所述至少一个控制器的PCIE Switch连接,所述至少两个PCIE IO模块通过所述至少一个控制器的PCIE Switch连 接,其中控制器,用于通过所述至少两个PCIE IO模块接收来自服务器的请求消息,根据所述请 求消息访问所述至少两个存储设备;所述至少两个存储设备,用于存储所述请求消息对应的信息。
8. 如权利要求7所述的系统,其特征在于,所述存储设备的类型包括固态硬盘。
9. 一种控制器,其特征在于,应用于包括至少一个控制器、至少两个PCIE IO模块以 及至少两个存储设备的系统中,所述至少两个存储设备通过所述至少一个控制器的PCIE Switch连接,所述至少两个PCIE IO模块通过所述至少一个控制器的PCIE Switch连接,其 中,控制器包括接收模块,用于通过至少两个PCIE IO模块接收来自服务器的请求消息; 访问模块,用于根据所述请求消息访问至少两个存储设备。
10. 如权利要求9所述的控制器,其特征在于,还包括存储模块,用于将所述请求消息对应的信息存储到所述至少两个存储设备中。
11. 如权利要求10所述的控制器,其特征在于,还包括连接模块,用于将所述至少一个控制器中的PCIE Switch连接,以使所述至少两个存储 设备相连接; 或者,用于将所述至少一个控制器中的PCIE Switch连接,以使所述至少两个PCIE 10模块 相连接。
12. 如权利要求9至11任一项所述的控制器,其特征在于,所述存储设备的类型包括固 态硬盘。
全文摘要
本发明实施例公开了一种存储方法、存储系统及控制器,所述方法应用于包括至少一个控制器、至少两个PCIE IO模块以及至少两个存储设备的系统中,所述至少两个存储设备通过所述至少一个控制器的PCIE Switch连接,所述至少两个PCIE IO模块通过所述至少一个控制器的PCIE Switch连接,包括通过所述至少两个PCIE IO模块接收来自服务器的请求消息;根据所述请求消息访问所述至少两个存储设备。通过本发明实施例,控制器之间共享至少两个PCIE IO模块,节省了资源;存储设备在接入控制器时不需要通过硬盘控制器和硬盘扩展芯片,节省了成本。
文档编号H04L29/08GK101763221SQ20081018751
公开日2010年6月30日 申请日期2008年12月24日 优先权日2008年12月24日
发明者吕先红, 张巍, 王奇, 范瑞琦 申请人:成都市华为赛门铁克科技有限公司