通过通信介质的部分进行通信的制作方法

文档序号:11530711阅读:193来源:国知局
通过通信介质的部分进行通信的制造方法与工艺



背景技术:

诸如计算机或其他类型的电子设备的系统可包括一端口,电子卡可连接至该端口。可移除地连接至系统端口的电子卡可以被称为外设卡、扩展卡等。电子卡可包括某些部件,一旦电子卡连接至系统端口,这些部件提供系统可访问的功能。

附图说明

结合下面的附图描述一些实现方式。

图1是根据一些实现方式的示例电子卡的框图。

图2是根据一些实现方式的包括主机系统和电子卡的示例设置的框图。

图3-图5是图示根据一些实现方式将通信介质分成多个部分以允许与存储卡的存储控制器独立通信的示意图。

图6是根据可替代的实现方式的示例存储卡的示意图。

图7是根据一些实现方式的示例主机系统的示意图。

图8是根据一些实现方式的过程的流程图。

具体执行方式

系统(例如,计算机、存储服务器、通信服务器等)可包括端口,电子卡(也被称为外设卡、扩展卡等)可以可移除地连接至该端口。不同类型的电子卡可连接至系统的不同端口。在一些情况下,相同类型的多个电子卡可连接至系统的多个端口。例如,多个存储卡可连接至系统的多个相应的端口。存储卡可包括一个存储设备(或多个存储设备)和管理存储设备上的数据的访问的关联的存储控制器。

多个存储卡与系统相应的端口的连接允许使用独立磁盘冗余阵列(raid)模式的跨多个存储卡的数据存储。作为示例,raid0模式跨多个存储卡条带化(stripe)数据,其中条带化数据指将连续的数据分成可存储在不同的存储卡中的多个段。可从多个存储卡并行访问该多个段,以提高数据访问的吞吐量。

作为另一示例,raid1模式使得第一存储卡上存储的数据的镜像副本还存储在第二存储卡上。数据的镜像副本是在存储在第一存储卡上的原始数据不再可访问的情况下能够访问的数据的冗余备份,原始数据不再可访问例如是因为第一存储卡的故障或错误,或因为原始数据的损坏。

在一些情况下,将多个存储卡连接至相应的端口可能不是有效的。每个存储卡与成本关联,并且因此,将多个存储卡连接至系统增加了与运行系统关联的整体成本。此外,将多个存储卡连接至多个端口以提供具体应用(例如,根据raid模式的数据存储)意味着减少数量的系统端口可用于其他电子卡的连接。

如图1中所示,根据一些实现方式,提供电子卡(且更具体地,存储卡)100,其包括存储控制器104-1和104-2以及关联的存储设备106-1、106-2的多个集合102-1、102-2。存储控制器104-1和104-2可以是物理上分离的控制器,或可替代地,存储控制器可以是逻辑上分离的控制器,其是同一物理设备或程序包的部分。例如,逻辑上分离的控制器可以是运行在同一物理设备或程序包上的虚拟控制器。

存储设备106-1、106-2可包括固态存储设备(例如,闪存设备、动态随机存取存储器设备、静态随机存取存储器设备等)。可替代地,存储设备106-1、106-2可以是基于磁盘的存储设备。

尽管图1示出每个存储控制器104-1或104-2分别连接至一个相应的存储设备106-1或106-2,但要注意,存储控制器可连接至多个存储设备,以管理多个存储设备上的数据的访问。

存储控制器能够接收请求(例如,读请求、写请求等),以访问该存储控制器所连接的相应的存储设备(或多个存储设备)中的数据。响应于该请求,存储控制器通过访问(例如,读、写等)一个或多个存储设备的数据执行请求的操作(例如,读操作、写操作等)。针对读操作,存储控制器可向请求者返回从一个或多个存储设备读到的数据。针对写操作,存储控制器可将数据写到一个或多个存储设备中,并且在一些情况下,可向请求者提供成功写入的确认。

存储卡100包括支撑基板108,支撑基板108具有支撑表面110,存储控制器104-1、104-2以及存储设备106-1和106-2安装在支撑表面110上。在一些示例中,电子部件(包括存储控制器和/或存储设备)也可安装到支撑基板108的底部支撑表面(支撑表面110的相对面)上。

在一些示例中,支撑基板108可以是存储控制器104-1、104-2以及存储设备106-1、106-2所连接的电路板或其他类型的基板。支撑基板108包括通信信道(例如,导电迹线、光路等),通信信道用于连接支撑基板108上的各种部件(包括存储控制器104-1、存储控制器104-2、存储设备106-1、存储设备106-2、连接器112及其他部件)的输入/输出(i/o)元件(例如,电销、光纤套管等)。尽管图1中仅示出一个连接器112,但要注意,在其他示例中,卡100可具有多个连接器。

在接下来的讨论中,参考各种部件之间的电连接或电通信。但要注意,根据一些实现方式的技术或机制可应用于其他形式的连接和通信,包括光连接和通信。

连接器112(通过支撑基板108的导电迹线)电连接至存储控制器104-1和存储控制器104-2。连接器112包括信号引脚,信号引脚通过通信介质114将相应的信号(数据信号、地址信号、控制信号等)传送到远程系统(在接下来的讨论中可被称为“主机系统”)。更具体地,主机系统可被称为“请求者设备”,其是能够访问存储卡100上的数据的设备。

连接器112还可包括电源引脚,包括向存储卡100传递电源电压的一个或多个引脚以及一个或多个接地和/或参考引脚。主机系统可指能够访问连接至主机系统的端口的一个或多个电子卡上提供的一个或多个部件的功能的系统。

连接器112可直接连接至主机系统的端口的相应的端口连接器,在这种情况下,通信介质114由连接器112的信号引脚和端口连接器组成。可替代地,连接器112可通过电缆连接至主机系统的端口连接器,在这种情况下,通信介质114由连接器112的信号引脚和端口连接器以及电缆组成。

通信介质114可被分成多个不同的部分114-1和114-2,以允许存储卡110中的多个存储控制器104-1和104-2通过通信介质114的相应的部分114-1和114-2独立地通信。通过允许多个存储控制器104-1和104-2通过通信介质114的相应的部分独立地通信,单个存储卡(100)可用于根据raid模式实现数据的存储。在一些实现方式中,存储控制器104-1和104-2能够通过通信介质部分114-1和114-2同时通信。

尽管图1中仅示出存储控制器和存储设备的两个集合102-1和102-2,但要注意,在其他示例中,存储卡100中可包括存储控制器和存储设备的多于两个的集合。如果存在存储控制器和存储设备的多于两个的集合,那么通信介质114可分成多于两个部分,以与多于两个集合的相应的存储控制器通信。

要注意,通信介质114的多个部分114-1、114-2可以是物理上不同的部分,其中,第一通信介质部分的至少某些通信信道与第二通信介质部分的至少某些通信信道物理上不同。在其他实现方式中,通信介质部分114-1、114-2可以是逻辑上不同的部分,其中,它们共享相同的通信信道,但开关或其他接口可用于允许存储控制器104-1、104-2通过逻辑上不同的通信介质部分114-1、114-2独立地通信。

在一些实现方式中,存储卡100符合m.2标准,m.2标准以前称为下一代规格(ngff)标准。m.2标准定义了电子卡的一种规格。电子卡的规格可指电子卡的尺寸及其他特性,诸如安装结构(例如,安装孔、安装槽、安装销等)的位置及其他特性。此外,m.2标准还定义了要与电子卡一起使用的连接器,包括连接器的位置、连接器上的引脚的数量、以及实际信号和连接器上使用的电源引脚。

根据m.2标准,连接至连接器112的通信介质(例如,114)根据外设部件互连快速(pcie)协议运行。因此,图1的通信介质114可以是pcie总线。pcie定义了高速串行计算机扩展总线标准。在这样的示例中,连接器112是pcie连接器。

在其他示例中,通信介质114可根据其他协议运行。

如上所述,存储控制器和存储设备的多个集合102-1和102-2的规定允许根据raid模式将数据存储在存储设备106-1和106-2中。存储卡100可以是根据多种不同的raid模式可配置的。raid模式的示例包括如上所述的raid0和raid1,以及其他raid模式。

raid0模式跨多个存储设备106-1、106-2而采用数据的条带化。数据的条带化可指将连续的数据分成可以跨不同的存储设备106-1和106-2存储的多个段。这些多个段可通过相应的存储控制器104-1和104-2以及通信介质部分114-1和114-2并行访问,以提高存储卡100上的数据访问的数据吞吐量。

raid1模式包括创建各个存储设备中的一个存储设备(例如,存储设备106-1)上存储的数据的镜像副本-数据的镜像副本可存储在其他存储设备(例如,106-2)上。

raid10模式是raid0和raid1模式的组合。raid10模式在存储设备106-1和106-2上执行数据的条带化和镜像两者。

在进一步的示例中,还可实现其他raid模式,诸如raid5和raid6。raid5模式基于数据生成奇偶校验信息。奇偶校验信息可用于执行错误检测和校正。数据和奇偶校验信息经历存储设备上的块级条带化。为了实现raid5模式,可在存储卡100中提供存储控制器和存储设备的三个或更多个集合。

raid6模式生成双奇偶校验信息(提供最多两个故障存储设备的容错)。对数据和双奇偶校验信息执行块级条带化。可用存储控制器和存储设备的四个或更多个集合实现raid6模式。

更一般地,存储卡100是可配置,以运行在几个raid模式中的一个raid模式中,包括采用数据的条带化以提高数据吞吐量的那些raid模式,以及使用冗余信息(诸如raid1的镜像副本或raid5或raid6的奇偶校验信息)的那些raid模式。

图2是示出包括存储卡100和主机系统200的示例设置的示意图。主机系统200包括多个端口200-1、200-2、…、200-n。在图2的示例中,存储卡100连接至端口200-1中的端口连接器。

在一些示例中,如图3中所示,主机系统200和存储卡100之间的通信介质114是pciex4链路;换句话说,通信介质114包括根据上面讨论的一些实现方式的四个pcie通道划分。pcie通道包括两对电线,第一对电线用于传输数据并且第二对电线用于接收数据。在其他示例中,可使用通信通道的其他设置。更一般地,pcie链路114可包括可被划分成多个部分的多个通道。

图4示出一示例,其中pciex4链路已被划分成两个部分:第一pciex2链路402以及第二pciex2链路404。第一pciex2链路402(其包括两个pcie通道)连接至存储卡100中的储控制器和存储设备的第一集合102-1,而第二pciex2链路404(其包括两个pcie通道)连接至储控制器和存储设备的第二集合102-2。

图5示出另一示例设置,其中存储卡100包括存储控制器和存储设备的四个集合102-1、102-2、102-3和102-4。在此设置中,pciex4链路114被分成四个pciex1链路502、504、506和508,它们分别连接至存储控制器的集合102-1、102-2、102-3和102-4。

图4的设置可支持raid0模式或raid1模式。图5的设置可支持raid0模式、raid1模式、raid10模式、raid5模式或raid6模式,或上述模式的一些结合。

在前面的讨论中,参考了其中存储卡100是m.2卡的实现方式。在其他实现方式中,存储卡100可符合pcie标准,在这样的情况下,存储卡100为pcie卡。pcie卡符合pcie标准提供的规格和其他规范。pcie卡可包括以下中的一个:m.2卡、(根据pcie卡机电规范的)卡机电(cem)卡、根据串行高级技术附件(sata)扩展标准的2.5”(或其他规格)sata扩展卡、以及根据小型化(sff)8639规格规范的2.5”(或其他规格)sff-8639卡。

在存储卡100是m.2卡的实现方式中,还可在存储卡100上提供开关602,如图6中所示。在其他示例中,开关602可用在另一规格的电子卡中。开关602提供在连接器112与存储控制器和存储设备的多个集合102-1、102-2之间。在一些示例中,每个集合102-1或102-2可以是设备(例如,2.5”规格设备)的形式,并且开关602可将(电缆或其他类型的介质的形式的)通信介质114与各设备互连。在其他示例中可使用其他设置。

开关602可以是pcie开关,其能够选择性地将存储控制器的集合102-1和102-2中的一个连接至通信介质114(例如,pciex4链路)。使用开关602,可为每个存储控制器104-1或104-2提供通信介质114的全部带宽。换句话说,通信介质114不必物理上分成物理上不同的部分,诸如根据图4和图5那样。相反,每个存储控制器104-1或104-2能够通过经由开关602通信,使用通信介质114的全部带宽(例如,pciex4链路的全部带宽)来通信。

实际上,开关602将通信介质114分成逻辑上不同的通信介质部分,允许存储控制器104-1和104-2通过相应的逻辑上不同的通信介质部分独立地通信。在一些示例中,联接至开关602的一侧的通信介质114的全部带宽不必等于联接至开关602的另一侧的链路的总带宽。

要注意,对于通信介质114分成物理上不同的部分的实现方式,每个通信介质部分具有小于或等于通信介质114的全部带宽的带宽。

尽管前面描述了采用pciex4链路的示例,但要注意,在其他示例中,可采用其他宽度的链路,诸如x8、x16等。

图7是根据一些实现方式的示例主机系统200的框图。主机系统200包括端口202-1(以及其他端口),其中端口202-1连接至存储卡100。提供接口电路702提供给端口202-1。主机200的部件和端口202-1之间的通信通过接口电路702产生,接口电路702可包括缓冲器、放大器等。

主机系统200还包括一个或多个处理器704,一个或多个处理器704可联接至一个(或多个)非瞬态计算机可读或机器可读存储介质706。处理器可包括微处理器、微控制器、物理处理器模块或子系统、可编程集成电路、可编程门阵列、或其他物理控制或计算器件。

一个(或多个)存储介质706可存储端口配置设置指令708,端口配置设置指令708由一个或多个处理器704可执行。在一些示例中,端口配置设置指令708可在主机系统200的启动顺序期间(例如,当主机系统200最初启动时)执行。端口配置设置指令708可在显示设备712上为用户呈现用户界面710,用户能够选择端口202-1的配置。例如,用户可规定端口202-1将要被配置使得存储卡100和端口202-1之间的通信介质114被划分成多个部分,诸如根据图4或图5那样。例如,由用户规定的配置可用于配置接口电路702。

一个(或多个)存储介质706还可存储存储访问指令714,存储访问指令714由一个或多个处理器704可执行。存储访问指令714可访问存储卡100上的数据。在一些示例中,存储访问指令714能够根据raid模式来管理存储卡100中的存储数据。例如,主机系统200可以是存储访问指令714可在其中执行的存储服务器。

图8是根据一些实现方式的过程的流程图,该过程可由主机系统200执行。该过程执行配置以:将通信介质(例如,通信介质114)划分(在802处)成用于与电子卡(例如,100)的支撑基板(例如,108)上的存储控制器(例如,104-1和104-2)独立地通信的多个部分。可使用图7的端口配置设置指令708执行该配置。

该过程根据raid模式访问(在804处)连接至电子卡中的相应的存储控制器的存储设备(例如,106-1、106-2)的数据。可由图7的存储访问指令714执行数据的访问。

可用一个或多个不同形式的存储器实现图7的一个(或多个)存储介质706,一个或多个不同形式的存储器包括:半导体存储器件(诸如动态或静态随机存取存储器(dram或sram)、可擦除和可编程只读存储器(eprom)、电可擦除和可编程只读存储器(eeprom)以及闪存)、磁盘(诸如硬盘、软盘以及可移动磁盘)、其他磁介质(包括磁带)、光介质(诸如光盘(cd)或数字视频光盘(dvd))、或其他类型的存储器件。要注意,上面讨论的指令可提供在一个计算机可读或机器可读存储介质上,或可替代地,可提供在分布于具有可能的多个节点的大系统中的多个计算机可读或机器可读存储介质上。这样的一个(或多个)计算机可读或机器可读存储介质被视为物品(或制造品)的部分。物品或制造品可指任何制造的单个部件或多个部件。一个(或多个)存储介质可位于运行机器可读指令的机器中,或位于远程站点处,可通过网络从该远程站点下载机器可读指令以供执行。

在前面的描述中,陈述了许多细节以提供对本文公开的主题的理解。但是,可以在没有这些细节中的一些的情况下实践各实现方式。其他实现方式可包括上面讨论的细节的修改和变形。目的在于,所附的权利要求覆盖这些修改和变形。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1