模块化服务器架构的制作方法

文档序号:19417449发布日期:2019-12-14 01:04阅读:169来源:国知局
模块化服务器架构的制作方法



背景技术:

尽管数据存储和计算不断进步,但数据存取复杂度也继续增长。指数级的数据增长压倒传统的解决方案架构,该传统的解决方案架构不能保证现有基础设施并且为现有基础设施供电并且不能负担处理所有数据来作出实时判定。对数据存取按比例决定所需的技术可能需要诸如计算单元、存储单元等等的更多物理资源,以及甚至更多硬件和软件复杂度。因而,具有主逻辑板(mlb)(其具有安装在其上的多个设备用于向服务器提供不同的服务)的服务器架构的复杂度变得更高。此外,这些复杂的服务器架构可以意味着高存储器资格以及实质的成本。

附图说明

图1是实施示例模块化服务器架构的示例服务器的顶视图。

图2是实施具有存储器语义协议控制器的示例模块化服务器架构的示例服务器的立体图。

图3a至图3f是实施具有资源模块的不同组合的示例模块化服务器架构的多个服务器的顶视图。

图4是用于制造具有示例模块架构的服务器的示例方法的流程图。

具体实施方式

在本文公开的示例指的是一种实施模块化服务器架构的服务器,其可以包括服务器机箱、可放开地附接到服务器的服务器机箱的多个物理独立的资源模块以及连接到多个独立的资源模块的存储器语义协议控制器。每个资源模块具有安装在服务器机箱上的物理独立且不同的印刷电路板(pcb)。存储器语义协议控制器可以管理服务器内的多个资源模块。例如,存储器语义协议控制器可以管理多个资源模块之间以及多个资源模块与服务器机箱内的其他设备(诸如连接器、端口、开关或可插拔的联网设备,等等)之间的的数据交换。用于管理可组合的基础设施的具有存储器语义协议控制器的这些模块化服务器架构允许存储器语义计算,诸如通过组织加载存储高速缓存一致性功能。在一些示例中,资源模块可以直接地附接到服务器机箱,而在其他的示例中,资源模块可以直接地附接到将附接到服务器机箱的子机壳。

如在本文所使用的,“资源模块”可以是包括能够向服务器提供特定服务(计算服务、存储服务、数据存取服务、供电服务、冷却服务,等等这样)的硬件和编程的任意组合的设备。在一些示例中,资源模块可以是向服务器提供异构服务的模块,其可以从包括处理单元、存储器扩展器、存储器设备、加速器设备、冷却单元、电力单元、及其组合的组中被选择。例如,附接到单个服务器机箱的资源模块可以是处理器、固态驱动器(ssd)、图形处理器单元(gpu)、张量处理器设备、现场可编程门阵列(fpga)、旋转介质设备的任意组合,或能够向由服务器所管理的数据提供服务的任意其他模块。在一些其他示例中,资源模块可以是附加的冷却单元或电力单元来分别对已存在的冷却或功率基础设施进行扩充。

如在本文所使用的,“存储器语义协议控制器”可以是实施在本文描述的控制器的功能的硬件和编程的任意组合。存储器语义协议控制器可以指的是使用如下处理逻辑的控制器,该处理逻辑用于控制对共享存储器位置的访问,或在多线程或处理器的情况下在高级别控制对共享变量的访问。在本文描述的示例中,可以以许多不同的方式实施硬件和编程的此类组合。例如,用于控制器的编程可以是存储在至少一个非暂时性机器可读存储媒介上的处理器可执行的指令,并且用于控制器的硬件可以包括至少一个处理器来执行那些指令。在一些示例中,至少一个机器可读存储媒介可以存储当由至少一个处理资源执行时至少部分地实施控制器的指令。在一些示例中,可以至少部分地以电子电路的形式来实施控制器的功能。

具有可放开地且可换的资源模块的这些模块化服务器架构使得单个服务器机箱能够支持不同的服务器设计。它们还限制库存单位(sku)激增,这是因为,根据需要,通过利用不同的资源模块和连接来更换安装的资源模块和它们的连接,能够在相同的服务器机箱内安装不同的服务器拓扑。因此,服务器制造商不需要具有拥有多个拓扑的服务器机箱在库存,但能够按需来按照这些拓扑。此外,用户可以通过从其中安装特定服务器机箱的机架中提取特定服务器机箱并且利用用于提供不同的服务的不同的资源模块更换特定资源模块来修改服务器的当前配置。此外,在资源模块包括存储器模块的情况下,通过使不同的存储器模块具有不同的pcb并且被单个存储器语义协议控制器控制,需要为合格的不同的cpu/存储器子系统的数量被减少。因此,并非必须考核(即验证)具有不同的和固定的内部架构的每个服务器的存储设备的可靠性,通过具有实施在本文描述的模块架构的服务器,实施先前合格的不同的cpu/存储器资源的资源模块能够被安装在服务器中并且对于模块化服务器架构能够被配置用于的所有不同的工作负荷平衡这些子系统。

在一些示例中,存储器语义协议控制器可以是gen-z协议控制器。如在本文所使用的,“gen-z”指的是被设计为经由直接附接的、交换式的,或组织拓扑来提供对数据和设备的存储器语义协议访问的互连协议。gen-z协议对存储器介质进行抽象以使得任意类型以及动态随机存取存储器(dram)和非易失性存储器(nvm)的混合能够被应用或通过块-语义通信被直接地访问。因此,gen-z协议控制器可以指的是如使用gen-z协议在先前所描述的存储器语义协议控制器。

在一些示例中,存储器语义协议控制器可以是开放式协同加速处理器接口(opencapi)协议控制器。如在本文所使用的,“opencapi”指的是被设计为允许任意微处理器附接到经由读/写或用户级别dma语义学可访问的相干的用户级别加速器和i/o设备和存储器的互连协议。opencapi协议对存储器介质进行抽象以使得任意类型以及dram和nvm的混合能够被应用或通过块-语义通信被访问。因此,opencapi协议控制器可以指的是如使用opencapi协议在先前所描述的存储器语义协议控制器。

在一些示例中,存储器语义协议控制器可以是ccix协议控制器。如在本文所使用的,“ccix”指的是一种互连协议,其被设计为允许处理器基于不同的指令集架构来将高速缓存一致性、对等处理的好处扩展到加速设备。ccix协议对存储器介质进行抽象以使得任意类型以及dram和nvm的混合能够被应用或通过块-语义通信被访问。因此,ccix协议控制器可以指的是如使用ccix协议在先前所描述的存储器语义协议控制器。

在一些示例中,可以从包括对等连接、组织连接、及其组合的组中选择存储器语义协议控制器和服务器机箱内的多个资源模块之间的连接。例如,存储器语义协议控制器可以支持点与点间通信(是中央处理单元(cpu)和存储器设备的资源模块之间的通信)、主机-客户端通信以及组织附接设备之间的通信。一个这样的通信可以通过点到点连接在存储器组件和处理器之间。另一个示例可以是存储器组件通过交换机或路由器与处理器进行通信。

在一些示例中,多个资源模块可以通过高性能线缆彼此连接或连接到存储器语义协议控制器。通过使用高性能线缆将资源模块和存储器语义协议控制器互连,可以避免对于前向纠错和使用重定时器。这与其中存储器模块连接到相同的单个pca的方式(其可能需要前向纠错和重定时器)形成对比。通过避免前向纠错和重定时器的使用,示例可以减少信号延迟和成本。在一些其他示例中,能够使用用于将资源模块附接到彼此并且附接到存储器语义协议控制器的其他要素,诸如电连接器或无线通信技术。

在一些示例中,线缆可以通过线缆束附接到多个资源模块。这便利线缆到资源模块的连接和断开连接,这进而允许通过更换服务器机箱中的部分或所有资源模块来修改服务器的内部配置。

在一些示例中,线缆在服务器机箱内的位置是可配置的,使得提高了内部配置的灵活性。线缆是能够根据服务器的特定内部拓扑在服务器机箱内移动的柔性体。

在一些示例中,附接到服务器机箱的资源模块可以被可放开地安装在预定义的模块安装位置上。如在本文所使用的,物品“被可放开地安装”指的是物品被安装在主构件上,其能够从主构件被放开或与主构件分开,而不毁坏或破坏任一物品,主构件或连接元件用于将物品安装在主构件上。

能够对于许多不同的资源模块中的任意一个使用这些预定义的模块安装位置。因此,并非必须设计用于每个服务器架构的不同的机箱,在本文描述的服务器通过利用其他资源模块更换一些可放开地资源模块并且使用相同的已存在的模块安装位置和模块安装特征来允许在相同的服务器机箱上创建不同的模块化服务器架构。服务器机箱中的每个模块安装位置可以具有安装特征,并且资源模块也可以具有将服务器机箱的安装特征锁定/解锁的对应的安装特征,使得资源模块能够被可放开地附接到服务器机箱。例如,服务器机箱可以包括位于预定义的模块安装位置的预定义的安装点以允许资源模块被附接。例如,固定点可以是在相应资源模块的pcb通过螺栓或螺丝可以附接到的服务器机箱中的预定义的位置制作的通孔或盲孔。资源模块的pcb可以进一步包括螺栓或螺丝穿过的相应孔。可以用于将资源模块附接到服务器机箱的其他元件可以是被放置在服务器机箱中的预定义的位置的门闩、夹具或任意其他无工具机构。

在以下描述中,为了解释目的,阐述许多的特定细节以便提供对本发明的系统和方法的彻底的理解。然而,对于本领域技术人员将明显的是,可以在没有这些特定细节的情况下实践本发明的装置、系统和方法。在说明书中对“示例”或者类似的语言的引用意指与示例结合描述的特定特征、结构或特性如所描述的那样被包括,但可以不被包括在其他的示例中。此外,实施方式可以包括以任意组合的一些或所有这样的示例特征(除了逻辑上不符合或互斥的组合之外);在本文省略对所有这样的组合的详细描述和说明以简化描述。

现在转向各图,图1示出实施示例模块化服务器架构的示例服务器100的顶视图。应当理解的是,图1中描绘的服务器100可以包括附加的组件,并且在不背离服务器100的范围的情况下,可以移除和/或修改在本文描述的一些组件。

根据示例模块化服务器架构的服务器100包括服务器机箱101、可放开地并且直接地附接到服务器机箱101的多个物理独立的资源模块102,以及连接到多个资源模块102的存储器语义协议控制器107。每个资源模块102具有其上有一个或多个资源的物理独立且不同的印刷电路板(pcb)108。存储器语义协议控制器107管理服务器机箱101内的多个资源模块102。例如,存储器语义协议控制器107可以管理多个资源模块102它们自己之间的数据交换,以及多个资源模块102和服务器机箱101内的其他设备(诸如连接器、端口、开关或可插拔的联网设备,等等)之间的数据交换。

根据示例模块化服务器架构,可以使用相同的模块化构件块来构造多个不同类型或配置的服务器100。具体地,根据该架构,任意特定服务器100可以包括高达指定数量n(n是2或更多)的资源模块102,其中被包括在其中的资源模块102是不同类型的资源模块102的任意组合。每个不同类型的资源模块102包括一个或多个资源的不同组合。更具体地,每个类型的资源模块102可以包括(诸如:处理器、诸如ssd或nvm的存储器、gpu、张量处理器设备、fpga、存储器扩展器、旋转介质设备、电力单元、冷却单元,等等的)资源的特定组合。例如,第一类型的资源模块102可以包括cpu和存储器、第二类型的资源模块102可以包括存储器(没有cpu)、第三类型的资源模块102可以包括gpu,等等。

如上面指出的,可以在服务器100中使用任意组合类型的资源模块102。因此,在一些示例中,基于架构的服务器100、所有资源模块102可以是相同的类型,例如所有资源模块102可以包括ssd作为它们的资源。作为另一个示例,所有资源模块102可以包括闪速存储器作为它们的资源。作为另一个示例,所有资源模块102可以包括形成存储池的存储器扩展器作为它们的资源。在一些示例中,服务器100、一些或所有安装的资源模块102可以是不同的类型。例如,服务器100可以包括具有计算资源(例如,cpu、fpga,等等)作为其资源的第一类型的资源模块102以及具有用于处理和存储数据的存储单元作为其资源的第二类型的资源模块102。

在一些示例中,每个类型的资源模块102可以基于公共形状因子(例如,pcb尺寸和形状、安装特征的的类型和位置,等等)以配合到服务器机箱101中的预定义的模块安装位置。这帮助实现相同的单个类型的机箱101内的不同类型的资源模块102的自由组合(即,混合-和-匹配)。在该上下文中,公共形状因子不一定意指每个类型的资源模块102具有相同的形状因子;更确切些,通过公共形状因子,意指所有类型的资源模块102被设计为在许多预先指示的安装区域103中的一个或多个中配合在机箱101内(203),其中资源模块102的连接/安装机构安排为在预先指示的安装区域103与机箱101的对应的连接/安装机构匹配。在一些示例中,一些类型的资源模块可以被设计为占据预先指示的安装区域103的整数倍数——例如,在图3a的服务器中,资源块302a被设计为占据两个预先指示的安装区域(安装区域在图3a中没有被图示出,但是布置类似于图2中图示出的安装区域203)。

预定义的安装区域103被配置为与多个不同类型的资源模块中的任意资源模块的形状因子兼容。例如,预定义的安装区域103中的固定点被放置为与资源模块102中的其他固定点相对应。固定点的一些示例可以是位置与资源模块102的形状因子的角相对应的孔或压制点以用于稳定安装。

如图1所示,服务器机箱101包括两个后壳体或机壳109,其可以例如包括用于安装附加的介质或资源模块、热可插拔背面连接器、电力单元、存储器,等等的机架。服务器机箱101进一步包括若干前壳体或机架110-111来向插入开关、附加的介质或资源模块、正面连接器、存储器,等等。存储器语义协议控制器107也可以连接(在该图中未示出连接)到后壳体109并且连接到前壳体110-111以管理多个独立的资源模块102与这些外壳109-111内包围的设备之间的数据交换。

如上面指出的,机箱101还可以包括在其可以安装资源模块102的预先确定的安装区域103。例如,图1中图示的服务器100包括其中安装五个资源模块102的五个预先确定的安装区域103。作为另一个示例,图2至图3f图示出每个均包括四个预先确定的安装区域103的各个服务器100。在图2至图3f的示例中,安装区域103被布置在2x2网格图形中。每个安装区域103可以包括安装特征,诸如夹具、用于螺丝或螺栓的孔、闩锁,等等。资源模块102还可以包括位置与安装区域103中的安装特征相对应的并且匹配安装区域103中的这些安装特征的安装特征。例如,安装区域103可以包括夹具或闩锁来将资源模块102保持在预定义的安装区域103中。作为另一个示例,图2示出包括第一孔215的安装区域103和包括对应的第二孔216的资源模块102,诸如资源模块102可以通过穿过第一和第二孔215-216的相应螺丝或螺栓217而可放开地附接到服务器机箱101。可以使用能够可放开地将资源模块安装在服务器机箱101上的任意其他附接特征。

服务器机箱101可以安装包括冷却设备的已存在的冷却基础设施(在图中未示出),该冷却设备诸如是空气冷却设备(例如用于耗散来自服务器机箱101的加热空气的风扇的集合),或液体冷却设备(例如,通过流动通过密封管的液体将热接收结构冷却),或者空气和液体冷却设备的组合。

每个资源模块102的pcb108进一步包括电路(在该图中未示出)以电学地互连安装在相应pcb108上的不同的电气和电子元件。

如图1所示,存储器语义协议控制器107是安装在单个片上系统(soc)上的并且通过线缆112连接到资源模块102的独立的元件。在一些其他示例中,存储器语义协议控制器107可以与单个soc内的并且也通过线缆112连接到资源模块102的诸如cpu、gpu的计算组件或开关专用集成电路(asic)集成。

高性能线缆112将资源模块102和存储器语义协议控制器107互连。这些线缆112是柔性的,使得能够在服务器机箱101内修改它们的配置。因此,当资源模块102被更换并且新的资源模块102的形状或尺度不完全配合被更换的资源模块102的形状或尺度时,能够修改线缆的拓扑。存储器语义协议控制器107也可以通过高性能线缆连接到后壳体109并且连接到前壳体110-111。如在本文所使用的,“高性能线缆”指的是能够以当前部署在行业中的最高数据速率(诸如112gt/spam4)以及超出其而起作用的线缆。

线缆可以通过线缆束(在该图中未示出)附接到资源模块102并且附接到存储器语义协议控制器107。这便利线缆112到资源模块102的连接和断开连接,这进而允许通过更换服务器机箱中的部分或所有资源模块来修改服务器的内部配置。

尽管图1描绘可放开地安装在服务器100的服务器机箱101上的五个资源模块102,但取决于服务器内的可用空间、安装区域103和现存的连接,根据示例模块化服务器架构构造的不同的示例服务器可以在服务器机箱101内包括任意数量的资源模块102。

图2示出根据示例模块化服务器架构的另一个示例服务器200的立体图。服务器200的某些特征类似于服务器100的特征,并且因此类似的附图标记被用于图2中的这些特征。应当理解的是,图2中描绘的服务器200可以包括附加的组件,以及可以移除和/或修改在本文描述的一些组件。

类似于服务器100,服务器200包括服务器机箱101、可放开且直接地附接到服务器机箱101的多个独立的资源模块102以及连接到多个独立的资源模块102的存储器语义协议控制器107。此外,在服务器200中,存储器语义协议控制器107是gen-z协议控制器(在下文,gen-z协议控制器107),并且存在四个安装区域103。每个资源模块102具有独立且不同的pcb108。gen-z协议控制器107是安装在单个soc上的并且直接地附接到服务器机箱101的独立的元件。

如上所述,机箱101可以包括每个安装区域103中的安排为与任意类型的资源模块102相连接的安装特征。在一些示例中,安装特征可以包括机箱中的通孔。例如,如图2中所图示的,服务器机箱101可以包括在服务器机箱101中的预定义的位置制作的第一通孔215并且资源模块102可以包括与服务器机箱101的第一通孔215相对应的它们的pcb108中的相应通孔216。相应螺丝217被插入第一和第二通孔215-216中以将资源模块102附接到服务器机箱101。在一些其他示例中,并非通孔,服务器机箱101可以实施门闩、夹具或放置在预定义的位置的任意其他无工具机构以将资源模块102可放开地安装到服务器中。

gen-z协议控制器107经由柔性高性能线缆112连接到资源模块102。线缆112包括相应端连接器214,其连接到gen-z协议控制器207中的和资源模块102中的对应的连接器213。连接器213-214便利将线缆112连接到资源模块102和gen-z协议控制器207/从资源模块102和gen-z协议控制器207将线缆112断开连接,这进而允许通过更换服务器机箱101中的部分或所有资源模块102来容易地修改服务器的内部配置。

gen-z协议控制器107管理服务器机箱101内的多个独立的资源模块102。例如,gen-z协议控制器107管理多个独立的资源模块102之间的数据交换并且经由直接附接的、交换式的,或组织拓扑来提供对数据和设备的存储器语义协议访问。当资源模块102是存储模块(诸如dram和nvm)时,gen-z协议控制器107对存储器介质进行抽象以使得任意类型和dram和nvm的混合能够被应用或通过块-语义通信被直接地访问。

如图2中所示,服务器机箱101另外包括可以例如包括用于安装附加的介质或资源模块的机架的两个后壳体109。服务器机箱101另外包括四个前壳体110来插入开关、附加的介质或资源模块、正面连接器、存储器,等等。gen-z协议控制器107也可以连接到后壳体109并且连接到前壳体110以管理资源模块102和这些外壳109-110内包围的设备之间的数据交换。

图3a至图3f是根据具有资源模块102的不同组合的示例模块化服务器架构的多个示例服务器300a至300f的顶视图。应当理解的是,在图3a至图3f中描绘的服务器300a至300f可以包括附加的组件,以及可以移除和/或修改在本文描述的一些组件。

图3a至图3f示出多个不同的服务器300a至300f,通过对根据示例模块化服务器架构的公共服务器机箱101与根据示例模块化服务器架构的各类型的资源模块102的不同组合进行组合来形成该多个不同的服务器300a至300f。服务器300a至300f的某些特征类似于服务器100的特征,并且因此类似的附图标记被用于图3a至图3f中的这些特征。类似于服务器100,服务器300a至300f每个均包括存储器语义协议控制器107、用于安装附加的介质或资源模块的两个后壳体109,以及存储开关、附加的介质或资源模块、正面连接器、存储器,等等的前壳体310-311。在示例服务器300a至300f中,存在三个前壳体310-311,并且这些被安装在附接到服务器机箱101的公共的pcb318上。在示例服务器300a至300f中,公共的服务器机箱101还具有冷却模块319,其可以包括空气冷却设备,例如放成一排的风扇的集合,用于耗散来自服务器机箱101的加热空气。在一些示例中,存储器语义协议控制器107是gen-z协议控制器。存储器语义协议控制器107连接(在该图中未示出连接)到多个资源模块102、连接到后壳体109至前壳体110-111并且连接到冷却模块319。

图3a示出包括三个资源模块102的特定服务器300a。具体地,图3a中的资源模块102a包括存储器扩展器,其包括用于插入可插拔的存储器(例如ssd或nvm)的多个存储器接插件。图3a中的资源模块f102b包括fpga加速器并且图3a中的资源模块102c包括gpu。

图3b示出包括四个资源模块102的特定服务器300b。具体地,图3b中的资源模块102a-102b包括dual-ras双列直插存储模块(ddimm)并且图3b中的资源模块102c-102d包括ddim/闪存扩展器用于插入附加的存储器资源。

图3c示出包括四个资源模块102的特定服务器300c。具体地,图3c中的资源模块102a-102b包括ddimm、图3c中的资源模块102c包括gpu并且图3d中的资源模块102d包括fpga加速器。

图3d示出包括四个资源模块102的特定服务器300d。图3d中的每个资源模块102a-d包括gpu,因此该服务器300d用作计算池。

图3e示出包括四个资源模块102的特定服务器300e。具体地,图3e中的资源模块102a和102c包括fpga加速器并且图3e中的资源模块102b和102d包括gpu。

图3f示出包括四个资源模块102的特定服务器300f。具体地,图3f中的资源模块102a包括ddim/闪存扩展器、图3f中的资源模块120b包括ddimm、图3f中的资源模块102c资源模块102c包括fpga加速器,并且图3f中的资源模块102d包括gpu。

所有服务器300a至300f使用具有不同的资源模块附接到其的预定义的模块安装位置(安装区域103)的公共的服务器机箱101。因此,在本文描述的模块化服务器架构使用单个公共的服务器机箱101允许具有不同的内部拓扑。

图4是用于制造具有模块架构的服务器的示例方法400的流程图。尽管以下参考图1的模块化服务器架构100来描述方法400的执行,但可以利用用于方法400的执行的其它适当的设备和系统。另外地,方法400的实施方式不局限于此类示例。

在方法400的401,多个物理独立的资源模块102以及存储器语义协议控制器107被安装在服务器100的服务器机箱101上。每个资源模块102具有独立且不同的pcb108。

在方法400的402,利用高性能线缆112将多个独立的资源模块102和存储器语义协议控制器107互连。

在方法400的403,存储器语义协议控制器107提供多个资源模块102之间的存储器语义协议接口。存储器语义协议接口控制多个独立的资源模块102。该存储器语义协议接口允许资源模块102使用用于控制对共享存储器位置的访问,或在多线程或处理器的情况下在高级别控制对共享变量的访问的处理逻辑。

在一些示例中,存储器语义协议控制器107是gen-z协议控制器、opencapi协议控制器以及ccix协议控制器中的一种。

在一些示例中,存储器语义协议控制器107和多个独立的资源模块102之间的连接是对等连接、组织连接、及其组合中的一种。

在一些示例中,方法400包括识别用于服务器100的期望的资源配置以基于指导资源配置从多个不同类型的资源模块102当中选择多个独立的资源模块102,每个类型的资源模块120包括一个或多个资源的不同组合。

在一些示例中,存储器语义协议控制器107管理多个资源模块102之间的以及多个资源模块102与其他设备(例如,服务器机箱101内的后壳体109和前壳体110-111)之间的数据交换。

在一些示例中,方法400包括使用线缆束将柔性线缆112附接到多个资源模块102。服务器机箱101内的线缆112的位置是可配置的,使得它们在服务器机箱101内的位置能够被修改为配合特定模块化服务器架构。

在一些示例中,方法400包括从包括处理单元、存储器扩展器、存储器设备、加速器设备、及其组合的组中选择资源模块102。

在一些示例中,方法400包括可放开地将资源模块102安装在服务器机箱101中的预定义的模块安装位置103上。

可以在任意组合中组合在本说明书(包括任意所附权利要求、摘要和附图)中公开的所有特征和/或如此公开的任意方法或处理的所有特征——除了其中这样的特征和/或要素中的至少一些是互斥的组合。

此外,用于描述在本文图示的图的结构特征的相对术语决不限制想得到的实施方式。当然,不可能描述组件或方法的每个想得到的组合,但是本领域普通技术人员将认识到,许多另外的组合和置换是可能的。因此,本发明意图包含落入包括所附权利要求的本申请的范围内的所有这样的变化、修改和变体。另外地,在本公开或权利要求引用“一”、“第一”或“另一个”要素或其等同物的情况下,应当解释为包括一个或多于一个这样的要素,而不要求也不排除两个或更多这样的要素。

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