会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑零配件 / 外围设备 / 关联外围设备的数据总线和管理总线

关联外围设备的数据总线和管理总线

阅读:1072发布:2020-08-08

IPRDB可以提供关联外围设备的数据总线和管理总线专利检索,专利查询,专利分析的服务。并且公开了一种用于关联外围设备的数据总线和管理总线的装置、系统、方法和程序产品。命令模块向外围设备发送命令以在外围设备上触发活动。外围设备使用单独的数据总线和管理总线的管理总线连接来被通信地耦合到信息处理设备。命令通过数据总线而被发送到外围设备。监测模块检查信息处理设备的管理总线以确定哪个管理总线连接被连接到响应于所发送的命令而活动的外围设备。关联模块将所确定的管理总线连接与在其上发送命令的数据总线以及外围设备相关联。,下面是关联外围设备的数据总线和管理总线专利的具体信息内容。

1.一种装置,包括:

命令模块,所述命令模块向一个或多个外围设备中的外围设备发送命令以在所述外围设备上触发活动,所述一个或多个外围设备中的每个外围设备通过单独的数据总线以及通过一个或多个管理总线的管理总线连接被通信地耦合到信息处理设备,所述命令通过连接到所述外围设备的所述数据总线被发送;

监测模块,所述检测模块检查所述信息处理设备的所述一个或多个管理总线以确定哪个管理总线连接被连接到响应于所发送的所述命令而活动的所述外围设备;以及关联模块,所述关联模块将所确定的所述管理总线连接与在其上发送所述命令的所述数据总线以及所述外围设备相关联。

2.根据权利要求1所述的装置,其中所述监测模块使用到所述一个或多个管理总线中的每个管理总线的管理总线连接来轮询所述一个或多个外围设备中的每个外围设备,直到所述监测模块确定所述一个或多个外围设备中的哪个外围设备响应于所发送的所述命令而活动。

3.根据权利要求2所述的装置,其中所述监测模块通过以下来确定所述一个或多个外围设备中的外围设备是否活动:读取通过到外围设备的管理总线连接而可用的数据,所述数据包括指示所述外围设备是否响应于所发送的所述命令而活动的信息。

4.根据权利要求1所述的装置,其中所述一个或多个外围设备中的每个外围设备被连接到一个或多个可寻址管理总线,并且到所述一个或多个外围设备中的外围设备的管理总线连接包括可寻址管理总线连接。

5.根据权利要求1所述的装置,其中所述一个或多个外围设备中的每个外围设备被连接到单独的管理总线,其中每个管理总线连接包括通过所述信息处理设备与所述一个或多个外围设备中的外围设备之间的单个管理总线的连接。

6.根据权利要求1所述的装置,其中所述监测模块针对响应于所述命令而从所述外围设备发送的数据来监测所述一个或多个管理总线连接中的每个管理总线连接,所述数据指示所述一个或多个管理总线连接中的哪个管理总线连接被耦合到所述外围设备。

7.根据权利要求1所述的装置,其中所述关联模块维持管理总线连接、数据总线和外围设备之间的关联图,使得耦合到外围设备的管理总线连接与耦合到所述外围设备的数据总线相关。

8.根据权利要求1所述的装置,还包括设备模块,所述设备模块在系统启动时通过确定多个数据总线中的哪个数据总线被连接到外围设备来确定被通信地耦合到所述信息处理设备的所述一个或多个外围设备。

9.根据权利要求8所述的装置,其中所述命令模块向外围设备发送所述命令,所述监测模块确定管理总线连接,并且所述关联模块将所述数据总线、所述外围设备和所确定的每个外围设备的管理连接相关联。

10.根据权利要求1所述的装置,其中所述命令模块重复地发送所述命令,直到所述监测模块确定哪个管理总线连接被连接到响应于所发送的所述命令而活动的所述外围设备。

11.根据权利要求1所述的装置,其中在所述数据总线上发送到所述外围设备的所述命令包括针对存储在所述外围设备上的数据的读取请求命令,所述外围设备包括外围存储设备,其中所述读取请求的所述数据在没有被所述信息处理设备处理的情况下被丢弃。

12.根据权利要求1所述的装置,还包括活动模块,所述活动模块通过所述一个或多个管理总线的管理总线连接来检测所述外围设备的活动指示符,所述活动指示符响应于所述外围设备处理被发送到所述外围设备的所述命令而被触发。

13.根据权利要求12所述的装置,其中所述活动指示符包括检测其状态在打开和关闭之间切换的发光二极管(LED)。

14.根据权利要求1所述的装置,其中所述外围设备包括非易失性存储器标准(“NVMe”)存储设备。

15.根据权利要求1所述的装置,其中所述数据总线包括外围部件互连标准(“PCIe”)通信总线。

16.一种方法,包括:

向一个或多个外围设备中的外围设备发送命令以在所述外围设备上触发活动,所述一个或多个外围设备中的每个外围设备通过单独的数据总线以及通过一个或多个管理总线的管理总线连接被通信地耦合到信息处理设备,所述命令通过连接到所述外围设备的所述数据总线被发送;

检查所述信息处理设备的所述一个或多个管理总线以确定哪个管理总线连接被连接到响应于所发送的所述命令而活动的所述外围设备;以及将所确定的所述管理总线连接与在其上发送所述命令的所述数据总线以及所述外围设备相关联。

17.根据权利要求16所述的方法,还包括使用到所述一个或多个管理总线中的每个管理总线的管理总线连接来轮询所述一个或多个外围设备中的每个外围设备,直到确定所述一个或多个外围设备中的哪个外围设备响应于所发送的所述命令而活动。

18.根据权利要求17所述的方法,其中确定所述一个或多个外围设备中的外围设备是否活动包括:读取通过到外围设备的管理总线连接而可用的数据,所述数据包括指示所述外围设备是否响应于所发送的所述命令而活动的信息。

19.根据权利要求16所述的方法,其中所述一个或多个外围设备中的每个外围设备被连接到一个或多个可寻址管理总线,并且到所述一个或多个外围设备中的外围设备的管理总线连接包括可寻址管理总线连接。

20.一种程序产品,包括存储由处理器可执行的代码的计算机可读存储介质,所述可执行代码包括用以执行以下操作的代码:向一个或多个外围设备中的外围设备发送命令以在所述外围设备上触发活动,所述一个或多个外围设备中的每个外围设备通过单独的数据总线以及通过一个或多个管理总线的管理总线连接被通信地耦合到信息处理设备,所述命令通过连接到所述外围设备的所述数据总线被发送;

检查所述信息处理设备的所述一个或多个管理总线以确定哪个管理总线连接被连接到响应于所发送的所述命令而活动的所述外围设备;以及将所确定的所述管理总线连接与在其上发送所述命令的所述数据总线以及所述外围设备相关联。

说明书全文

关联外围设备的数据总线和管理总线

技术领域

[0001] 本文中公开的主题涉及外围计算设备,并且更具体地涉及将外围设备的单独的数据总线和管理总线相关联。

背景技术

[0002] 计算设备可以包括使用一个或多个通信总线耦合到计算设备的外围设备。通信总线可以是同一电缆的部分,或者可以分成不同的电缆,以减少电缆尺寸和系统复杂性。然而,对于单个外围设备使用不同的通信总线电缆可能会在计算设备中导致问题,诸如当两者应当连接到同一外围设备的一对通信总线电缆被分别连接到不同的外围设备时。

发明内容

[0003] 公开了一种用于关联外围设备的数据总线和管理总线的装置。方法和计算机程序产品也执行该装置的功能。
[0004] 一种装置包括命令模块,其向一个或多个外围设备中的外围设备发送命令以在外围设备上触发活动。该外围设备使用单独的数据总线和一个或多个管理总线的管理总线连接来被通信地耦合到信息处理设备。命令通过数据总线而被发送到外围设备。监测模块检查信息处理设备的一个或多个管理总线,以确定哪个管理总线连接被连接到响应于所发送的命令而活动的外围设备。关联模块将所确定的管理总线连接与在其上发送命令的数据总线以及外围设备相关联。
[0005] 在一个实施例中,监测模块使用到一个或多个管理总线中的每个管理总线的管理总线连接来轮询一个或多个外围设备中的每个外围设备,直到监测模块确定一个或多个外围设备中的哪个外围设备响应于所发送的命令而活动。在另一实施例中,监测模块通过读取通过到外围设备的管理总线连接而可用的数据来确定一个或多个外围设备中的外围设备是否活动。数据可以包括指示外围设备是否响应于所发送的命令而活动的信息。
[0006] 在一些实施例中,一个或多个外围设备中的每个外围设备被连接到一个或多个可寻址管理总线,并且到一个或多个外围设备中的外围设备的管理总线连接包括可寻址管理总线连接。在各种实施例中,一个或多个外围设备中的每个外围设备被连接到单独的管理总线。每个管理总线连接可以包括通过信息处理设备与一个或多个外围设备中的外围设备之间的单个管理总线的连接。
[0007] 在一个实施例中,监测模块针对响应于命令而从外围设备发送的数据来监测一个或多个管理总线连接中的每个管理总线连接,该数据指示一个或多个管理总线连接中的哪个管理总线连接被耦合到外围设备。在一些实施例中,关联模块维持管理总线连接、数据总线和外围设备之间的关联图,使得耦合到外围设备的管理总线连接与耦合到外围设备的数据总线相关。
[0008] 在另一实施例中,该装置包括设备模块,设备模块在系统启动时通过确定多个数据总线中的哪个数据总线被连接到外围设备来确定被通信地耦合到信息处理设备的一个或多个外围设备。在一些实施例中,命令模块向外围设备发送命令,监测模块确定管理总线连接,并且关联模块将数据总线、外围总线和所确定的每个外围设备的管理连接相关联。
[0009] 在一些实施例中,命令模块重复地发送命令,直到监测模块确定哪个管理总线连接被连接到响应于所发送的命令而活动的外围设备。在某些实施例中,在数据总线上发送到外围设备的命令包括针对存储在外围设备上的数据的读取请求命令。外围设备可以包括外围存储设备,使得读取请求的数据在没有被信息处理设备处理的情况下被丢弃。
[0010] 在一个实施例中,该装置包括活动模块,活动模块通过一个或多个管理总线的管理总线连接来检测外围设备的活动指示符。活动指示符可以响应于外围设备处理被发送到外围设备的命令而被触发。在一些实施例中,活动指示符包括检测其状态在打开和关闭之间切换的发光二极管(“LED”)。在另一实施例中,外围设备包括非易失性存储器标准(“NVMe”)存储设备。在各种实施例中,数据总线包括外围部件互连标准(“PCIe”)通信总线。
[0011] 一种方法包括向一个或多个外围设备中的外围设备发送命令以在外围设备上触发活动。外围设备使用单独的数据总线和一个或多个管理总线的管理总线连接来被通信地耦合到信息处理设备。命令通过到外围设备的数据总线来发送。该方法包括检查信息处理设备的一个或多个管理总线,以确定哪个管理总线连接被连接到响应于所发送的命令而活动的外围设备。该方法包括将所确定的管理总线连接与在其上发送命令的数据总线以及外围设备相关联。
[0012] 在一个实施例中,该方法包括使用到一个或多个管理总线中的每个管理总线的管理总线连接来轮询一个或多个外围设备中的每个外围设备,直到确定一个或多个外围设备中的哪个外围设备响应于所发送的命令而活动。
[0013] 在一个实施例中,确定一个或多个外围设备中的外围设备是否活动包括读取通过到外围设备的管理总线连接而可用的数据。该数据可以包括指示外围设备是否响应于所发送的命令而活动的信息。在一些实施例中,一个或多个外围设备中的每个外围设备被连接到一个或多个可寻址管理总线,并且到一个或多个外围设备中的外围设备的管理总线连接包括可寻址管理总线连接。
[0014] 一种程序产品包括存储由处理器可执行的代码的计算机可读存储介质。可执行代码包括用以执行向一个或多个外围设备中的外围设备发送命令以在外围设备上触发活动的代码。外围设备使用单独的数据总线和一个或多个管理总线的管理总线连接来被通信地耦合到信息处理设备。命令通过数据总线而被发送到外围设备。可执行代码包括用以执行检查信息处理设备的一个或多个管理总线以确定哪个管理总线连接被连接到响应于所发送的命令而活动的外围设备的代码。可执行代码包括用以执行将所确定的管理总线连接与在其上发送命令的数据总线以及外围设备相关联的代码。

附图说明

[0015] 将通过参考附图中所示的特定实施例来呈现以上简要描述的实施例的更具体的描述。应当理解,这些附图仅描绘了一些实施例,并且因此不应当被认为是对范围的限制,实施例将通过对附图的使用利用附加的特征和细节来被描述和解释,在附图中:
[0016] 图1是示出用于将外围设备的数据总线和管理总线连接相关联的系统的一个实施例的示意性框图;
[0017] 图2是示出用于将外围设备的数据总线和管理总线连接相关联的装置的一个实施例的示意性框图;
[0018] 图3是示出用于将外围设备的数据总线和管理总线连接相关联的另一装置的一个实施例的示意性框图;
[0019] 图4是示出用于将外围设备的数据总线和管理总线连接相关联的方法的一个实施例的示意性流程图;
[0020] 图5是示出用于将外围设备的数据总线和管理总线连接相关联的另一方法的一个实施例的示意性流程图;以及
[0021] 图6是示出用于将外围设备的数据总线和管理总线连接相关联的方法的一个实施例的示意性流程图。

具体实施方式

[0022] 如本领域技术人员将理解的,实施例的各方面可以被实施为系统、方法或程序产品。因此,实施例可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)、或者将在本文中通常可以被称为“电路”、“模块”或“系统”的软件和硬件方面组合在一起的实施例的形式。此外,实施例可以采用在存储机器可读代码、计算机可读代码和/或程序代码(以下称为代码)的一个或多个计算机可读存储设备中实施的程序产品的形式。存储设备可以是有形的、非暂态的和/或非传输的。存储设备可以不实施信号。在某个实施例中,存储设备仅采用用于访问代码的信号。
[0023] 本说明书中描述的很多功能单元已经被标记为模块,以便更具体地强调它们的实现独立性。例如,模块可以被实现为硬件电路,包括定制的VLSI电路或门阵列、现成的半导体(诸如逻辑芯片、晶体管或其他分立部件)。模块还可以在可编程硬件设备中实现,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等。
[0024] 模块也可以在用于由各种类型的处理器执行的代码和/或软件中实现。所标识的代码模块可以例如包括可执行代码的一个或多个物理或逻辑块,其可以例如被组织为对象、过程或功能。然而,所标识的模块的可执行文件不需要被物理地定位在一起,而是可以包括存储在不同位置的不同指令,这些指令当在逻辑上被一起组合时包括模块并且实现模块的所述目的。
[0025] 实际上,代码模块可以是单个指令或很多指令,并且甚至可以分布在若干不同代码段上、在不同程序之间、以及跨越若干存储器设备。类似地,操作数据可以在本文中在模块内被标识和示出在模块内,并且可以以任何合适的形式来实施并且被组织在任何合适类型的数据结构内。操作数据可以被收集为单个数据集,或者可以分布在不同的位置,包括在不同的计算机可读存储设备上。在模块或模块的部分以软件实现的情况下,软件部分被存储在一个或多个计算机可读存储设备上。
[0026] 可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读存储介质。计算机可读存储介质可以是存储代码的存储设备。存储设备可以是例如但不限于电子、磁性、光学、电磁、红外、全息、微机械或半导体系统、装置或设备、或前述的任何合适的组合。
[0027] 存储设备的更具体的示例(非详尽列表)将包括以下:具有一条或多条导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(“RAM”)、只读存储器(“ROM”)、可擦除可编程只读存储器(“EPROM”或闪存)、便携式光盘只读存储器(“CD-ROM”)、光存储设备、磁存储设备、或上述的任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是任何有形介质,其可以包含或存储由指令执行系统、装置或设备来使用或与其结合使用的程序。
[0028] 用于执行实施例的操作的代码可以以一种或多种编程语言的任何组合来编写,一种或多种编程语言包括面向对象编程语言(诸如Python、Ruby、Java、Smalltalk、C++等),以及传统的过程性编程语言(诸如“C”编程语言等),和/或机器语言(诸如汇编语言)。代码可以完全在用户的计算机上执行,部分地在用户的计算机上执行,作为独立的软件包来执行,部分地在用户的计算机上并且部分地在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(“LAN”)或广域网(“WAN”),或者可以与外部计算机进行的连接(例如,使用互联网服务提供商通过互联网)。
[0029] 贯穿本说明书中对“一个实施例”、“实施例”或类似语言的引用意味着结合该实施例描述的特定的特征、结构或特性被包括在至少一个实施例中。因此,贯穿本说明书的短语“在一个实施例中”、“在实施例中”和类似的语言的出现可以但不一定都是指代同一实施例,而是表示“一个或多个但不是全部实施例”,除非另有明确指定。术语“包括(including)”、“包括(comprising)”、“具有(having)”及其变型表示“包括但不限于”,除非另有明确说明。列举的项目列表并不表示任何或全部项目是相互排斥的,除非另有明确指定。术语“一个(a)”、“一个(an)”和“该(the)”也指代“一个或多个”,除非另有明确指定。
[0030] 此外,实施例的所描述的特征、结构或特性可以以任何合适的方式组合。在下面的描述中,提供了很多具体细节,诸如编程、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等的示例,以提供对实施例的透彻理解。然而,相关领域技术人员将认识到,实施例可以在没有这些具体细节中的一个或多个的情况下或者利用其他方法、部件、材料等来实施。在其他情况下,未示出或详细描述公知的结构、材料或操作以避免模糊实施例的各方面。
[0031] 下面参考根据实施例的方法、装置、系统和程序产品的示意性流程图和/或示意性框图来描述实施例的各方面。将理解,示意性流程图和/或示意性框图的每个框以及示意性流程图和/或示意性框图中的框的组合都可以通过代码来实现。这些代码可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在示意性流程图和/或示意性框图的框中指定的功能/动作的装置。
[0032] 代码也可以存储在存储设备中,其可以引导计算机、其他可编程数据处理装置或其他设备以特定方式工作,使得存储在存储设备中的指令产生制品,制品包括实现在示意性流程图和/或示意性框图的框中规定的功能/动作的指令。
[0033] 代码也可以被加载到计算机、其他可编程数据处理装置或其他设备上,以引起一系列操作步骤在计算机、其他可编程装置或其他设备上被执行以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的代码提供用于实现在流程图和/或框图的框中指定的功能/动作的过程。
[0034] 附图中的示意性流程图和/或示意性框图示出了根据各种实施例的装置、系统、方法和程序产品的可能实现的架构、功能和操作。在这方面,示意性流程图和/或示意性框图中的每个框可以表示代码的模块、分段或部分,其包括用于实现所指定的逻辑功能的代码的一个或多个可执行指令。
[0035] 还应当注意,在一些备选实现中,框中指出的功能可以不按照图中所示的顺序来发生。例如,依次示出的两个框实际上可以基本上同时执行,或者框有时可以以相反的顺序来执行,这取决于所涉及的功能。可以设想在功能、逻辑或效果上等通于所示的图的一个或多个框或其部分的其他步骤和方法。
[0036] 尽管可以在流程图和/或框图中采用各种箭头类型和线类型,但是它们不应当被理解为限制相应实施例的范围。实际上,一些箭头或其他连接器可以用于仅指示所描绘的实施例的逻辑流程。例如,箭头可以指示在所描绘的实施例的枚举步骤之间的未指定的持续时间的等待或监测周期。还将注意,框图和/或流程图的每个框、以及框图和/或流程图中的框的组合可以由执行所指定的功能或动作的专用基于硬件的系统、或者专用硬件和代码的组合来实现。
[0037] 每个附图中的元素的描述可以参考在前的附图的元素。相似的附图标记在所有附图中指代相似的元素,包括相似的元素的备选实施例。
[0038] 图1描绘了用于将外围设备的数据总线和管理总线连接相关联的系统100的一个实施例。在一个实施例中,系统100包括信息处理设备102。信息处理设备102可以包括台式计算机、膝上型计算机、平板计算机、智能电话、机顶盒、游戏机、智能电视、智能手表、健身手环或其他可穿戴活动跟踪设备、光学头戴式显示器(例如,虚拟现实耳机、智能眼镜等)、个人数字助理或者另一计算设备,另一计算设备包括处理器104、易失性存储器108和/或非易失性存储介质,其可被实现为外围设备114a-n中的至少一个。
[0039] 处理器104可以包括一个或多个中央处理单元(“CPU”)、一个或多个处理器核、现场可编程门阵列(“FPGA”)或其他可编程逻辑、专用集成电路(“ASIC”)、控制器、微控制器和/或另一半导体集成电路器件。处理器104可以包括用于引导过程期间执行硬件初始化的固件,诸如基本输入/输出系统(“BIOS”)106的实例。在一个实施例中,BIOS 106可以包括统一可扩展固件接口(“UEFI”)固件的实例。
[0040] 在某些实施例中,信息处理设备102包括一个或多个外围设备114a-n(统称为114)。如本文中使用的外围设备114可以包括为信息处理设备102提供输入和/或输出的内部和/或外部设备。例如,外围设备114可以被实施为存储设备(例如,非易失性存储器(“NVM”)设备、NVM标准(“NVMe”)设备、固态存储设备(“SSSD”)等)、闪存设备、网卡、图形卡等。
[0041] 在一个实施例中,外围设备114经由背板122被连接到信息处理设备102。如本文中使用的,背板122可以被实施为印刷电路板(“PCB”),其包括用于将多个外围设备114或其他电路板连接到背板122的若干插槽。例如,背板122可以包括多个插槽、电缆连接(例如,数据总线116和/或管理总线118电缆连接)和/或用于将NVMe存储设备连接到信息处理设备102的其他类型的连接器。如图1所描绘的,背板122被封闭在信息处理设备102内。在另一实施例中,背板122可以被封闭在使用一个或多个通信总线耦合到信息处理设备102的单独的设备中,诸如单独的存储机箱,例如存储机架。
[0042] 在某些实施例中,外围设备114使用一个或多个通信总线116a-n/118被通信地耦合到处理器104。在一个实施例中,每个外围设备114使用数据总线116a-n(统称为116)被耦合到处理器104。例如,外围设备114与数据总线116之间可以存在1:1的关系,使得每个外围设备114使用单独且独立的数据总线116被耦合到信息处理设备102。
[0043] 数据总线116可以用于在处理器104与外围设备114之间执行输入/输出(“I/O”)操作(例如,传输数据)。在一些实施例中,数据总线116被实施为可耦合在外围设备114与处理器104之间的电缆。数据总线116也可以经由背板122上的一个或多个数据线耦合到外围设备114。在某些实施例中,数据总线116是外围部件互连(“PCI”)总线、PCI扩展(“PCI-X”)总线、加速图形端口(“AGP”)总线、PCI标准(“PCIe”)总线、通用串行总线(“USB”)、串行高级技术附件(“SATA”)总线等。
[0044] 在一个实施例中,管理总线118被配置为从外围设备114向处理器104/从处理器104向外围设备114传输管理消息。管理总线118可以被实施为内部集成电路(“I2C”)通信总线。管理消息可以包括控制外围设备114的状态的消息,诸如上电/断电、禁用/启用、待机、重置等。例如,在信息处理设备102上运行的操作系统可以通过管理总线118发送消息,以通过PCIe电缆来重置附接到信息处理设备102的存储设备。管理总线118可以被实现为连接在信息处理设备102(例如,处理器104和/或外围设备装置110)与背板122之间的电缆。尽管图
1中仅描绘了一个管理总线118,但是多个管理总线118可以用于连接到单个背板122或多个背板122上的外围设备114。
[0045] 在一些实施例(未示出)中,每个管理总线118被通信地耦合到单个对应的外围设备114。在这样的实施例中,管理总线118与外围设备114之间可以存在1:1的关系,使得每个外围设备114使用管理总线118的单独且独立的管理总线连接124被耦合到信息处理设备102。参考图1,代替使用连接到与多个管理总线连接124相关联的背板122的单个管理总线
118,外围设备114的每个管理总线连接124将与单独且不同的管理总线118相关联。例如,每个外围设备114可以被耦合到对应的管理总线电缆,而不是使用单个管理总线电缆来管理多个外围设备114。
[0046] 在另一实施例中,如图1所示,管理总线118与外围设备114之间可以存在1:n或一对多的关系。在这样的实施例中,管理总线118可以包括多个管理总线连接124a-n(统称为124),它们分别可连接到外围设备114并且使用标识符、唯一地址(例如,管理总线连接124的地址、外围设备114的地址等)等可寻址。在这样的实施例中,管理总线118可以被连接到用于背板122的存储机箱处理器(“SEP”)115。如本文中使用的,SEP 115可以是位于背板122上的用于管理背板122上的外围设备114的处理器。
[0047] 例如,SEP 115可以管理管理总线118的管理总线连接124,以基于用于管理总线连接124和/或外围设备114的唯一地址来在信息处理设备102与背板122上的外围设备114之间传输管理消息。例如,用于信息处理设备102的操作系统可以通过为外围设备114和/或管理总线118的管理总线连接124提供标识符或地址来向外围设备114发送重置命令。在这样的示例中,SEP 115可以使用所提供的标识符或地址来将重置命令发送到与该标识符或地址相关联的外围设备114。在另一示例中,SEP 115可以将所提供的标识符或地址转换、映射或以其他方式交叉引用到用于与背板122上的外围设备114通信的不同标识符或地址。
[0048] 如本文中使用的,处理器104、外围设备装置110等与外围设备114之间的管理连接被称为管理总线连接124,而不管存在连接到每个外围设备114的单个管理总线118(例如,每个管理总线118一个管理总线连接124)还是连接到多个外围设备114的单个管理总线118(例如,每个管理总线118多个可寻址管理总线连接124)。
[0049] 在一个实施例中,基板管理控制器(“BMC”)113是用于使用系统管理总线119来管理系统管理软件(诸如BIOS 106、操作系统或其他管理软件)与平台硬件(诸如外围设备114)之间的接口的信息处理设备102的专用硬件部件。例如,BMC 113可以管理管理消息在处理器、BIOS 106、外围设备装置110、操作系统等与外围设备114、SEP 115等之间的传输。
[0050] 在一个实施例中,桥接器112经由数据总线116将外围设备114连接到处理器104和/或外围设备装置110。桥接器112可以充当开关,并且可以在处理器104与相应的外围设备114之间的数据总线116上引导数据。在某些实施例中,多个桥接器112可以位于信息处理设备102中,其中每个桥接器112被连接到一个或多个外围设备114。
[0051] 在一个实施例中,外围设备装置110被配置为将数据总线116与连接到与数据总线116相同的外围设备114的管理总线118的对应的管理总线连接124相关联或相关。在一个实施例中,外围设备装置110通过数据总线116向外围设备114发送命令以在外围设备114上触发活动。在另一实施例中,外围设备装置110检查信息处理设备102的管理总线118以确定哪个管理总线连接124被连接到响应于所发送的命令而活动的外围设备114。在一些实施例中,外围设备装置110将所确定的管理总线连接124与在其上发送命令的数据总线116以及外围设备114相关联。在一些实施例中,外围设备装置110的至少一部分位于处理器104上,位于背板122上、位于BMC 113上、和/或位于SEP 115上。下面将参考图2和图3来更详细地描述外围设备装置110。
[0052] 在一个实施例中,信息处理设备102被连接到数据网络120。在一个实施例中,数据网络120包括传输数字通信的数字通信网络。数据网络120可以包括无线网络,诸如无线蜂窝网络、本地无线网络,诸如Wi-Fi网络、 网络、近场通信(“NFC”)网络、ad hoc网络等。数据网络120可以包括广域网(“WAN”)、存储区域网(“SAN”)、局域网(“LAN”)、光纤网络、因特网或其他数字通信网络。数据网络120可以包括两个或更多个网络。数据网络120可以包括一个或多个服务器、路由器、交换机和/或其他联网设备。数据网络120还可以包括一个或多个计算机可读存储介质,诸如硬盘驱动器、光驱动器、非易失性存储器、RAM等。
[0053] 在一个实施例中,信息处理设备102经由数据网络106被连接到一个或多个其他计算设备130/132。例如,其他计算设备130可以包括智能电话、平板计算机、膝上型计算机等。在另一实施例中,其他计算设备132可以包括服务器、位于本地或外部数据网络120上的数据中心中的其他设备等。
[0054] 图2描绘了用于将外围设备114的数据总线116和管理总线连接124相关联的装置200的一个实施例。装置200包括具有命令模块202、监测模块204和关联模块206的外围设备装置110的实施例,这些模块将在下面更详细地描述。
[0055] 命令模块202向外围设备114发送命令以在外围设备114上触发活动。在某些实施例中,命令模块202在连接到外围设备114的数据总线116上发送命令。命令模块202可以基于接收命令的外围设备114的类型来发送命令。例如,如果外围设备114是NVMe存储设备,则命令模块202可以发送针对存储在外围设备114上的数据的读取请求命令。在这样的实施例中,读取请求的数据可以被丢弃,而没有被/向处理器104、信息处理设备102、存储控制器(未示出)等处理、读取、传输等。
[0056] 例如,响应于在NVMe存储设备处接收到读取请求命令,命令模块202可以丢弃或忽略从NVMe存储设备读取的数据以满足读取请求命令而不通过耦合到NVMe存储设备的PCIe数据总线116传输数据。可以使用针对不同外围设备114的其他命令,诸如针对外围网卡的网络命令、针对外围图形卡的图形命令、针对外围声卡的声音命令等。
[0057] 在某些实施例中,命令模块202使用管理总线118的管理总线连接124向外围设备114发送管理命令,以在外围设备114上触发活动、响应等。例如,命令模块202可以在连接到外围设备114的管理总线连接124上向外围设备114发送重置命令,以将外围设备置于重置状态(例如,以关闭外围设备114并且然后打开、以禁用并且然后启用外围设备114等)。
[0058] 监测模块204检查连接到外围设备114的管理总线连接124以确定管理总线118的哪个管理总线连接124响应于接收到命令模块202发送到外围设备114的命令而活动。在一个实施例中,监测模块204使用管理总线连接124轮询连接到信息处理设备102的每个外围设备114,直到监测模块204确定哪个外围设备114响应于所发送的消息而活动。例如,监测模块204可以向SEP 115和/或外围设备114发送查询以检查外围设备114是否响应于发送到外围设备114的命令而活动。
[0059] 例如,当外围设备114响应于特定命令而经历活动时,监测模块204可以检查由外围设备114和/或SEP 115设置的活动位。在某些实施例中,监测模块204读取通过到外围设备114的管理总线118的管理总线连接124可用的数据,以确定外围设备114是否响应所发送的命令而经历活动。例如,数据可以从与外围设备114和/或SEP 115相关联的存储或存储器位置来被读取,并且可以包括指示外围设备114是否响应于所发送的命令而活动的信息。例如,数据可以包括外围设备114或SEP 115可以将其设置为指示在命令模块202发送命令之后外围设备114是否活动的活动位。数据可以包括其他数据,包括但不限于外围设备114的标识符、外围设备114所连接到的端口的标识符、发送的命令的类型等。
[0060] 在另一实施例中,监测模块204针对响应于命令通过连接到外围设备114的数据总线116被发送到外围设备114而从外围设备114发送的数据来监测管理总线118的一个或多个管理总线连接124。在一些实施例中,监测模块204响应于命令被发送到外围设备114来监测一个或多个管理总线连接124中的每个管理总线连接。例如,命令模块202可以在耦合到存储设备的PCIe数据总线116上向NVMe存储设备发送读取请求命令。响应于命令模块202发送读取请求,监测模块204可以针对指示哪个外围设备114接收到读取请求的数据来监测信息处理设备102上的管理总线连接124中的每个管理总线连接,以确定管理总线118和/或管理总线连接124被连接到哪个外围设备114。
[0061] 在这样的实施例中,数据可以指示管理总线118的管理总线连接124中的哪个管理总线连接被耦合到接收到该命令的外围设备114。例如,NVMe存储设备可以被连接到PCIe端口0上的PCIe数据总线116。命令模块202可以向PCIe端口0上的外围设备114发送读取请求命令。响应于读取请求命令被发送,监测模块204可以监测信息处理设备102上的每个管理总线连接124。监测模块204可以在耦合到管理总线端口1的管理总线118上接收指示在耦合到NVMe存储设备的PCIe端口0上接收到读取请求命令的数据。
[0062] 在其中命令模块202通过管理总线118的管理总线连接124向外围设备114发送命令以在外围设备114上触发响应或活动的一个实施例中,监测模块204检查信息处理设备102的外围设备114中的每个外围设备,以确定外围设备114中的哪个外围设备响应于管理命令。
[0063] 例如,命令模块202可以通过管理总线连接124向特定外围设备114发送重置命令。响应于重置命令,监测模块204可以在连接到外围设备114的每个数据总线116发送命令,诸如读取请求命令,以确定外围设备102中的哪个外围设备无响应、不活动、处于重置状态等。
以这种方式,监测模块204可以标识哪个数据总线116被连接到在特定管理总线连接124上接收到管理消息的外围设备114,因为监测模块204可能不会在连接到已经被重置的外围设备114的数据总线116上接收到响应。因此,如下所述,管理总线连接124和数据总线116可以与接收到重置命令的外围设备114相关或相关联。
[0064] 在一些实施例中,命令模块202在数据总线106和/或管理总线118的管理总线连接124上向外围设备114重复地发送命令,直到监测模块204确定哪个管理总线连接124被连接到响应于所发送的命令而活动的外围设备。例如,命令模块202可以通过特定数据总线116每100毫秒发送读取请求命令,直到其从监测模块204接收到已经响应于读取请求命令而标识出管理总线连接124的指示。此后,命令模块202可以向下一标识的外围设备114发送命令,直到针对信息处理设备102的每个外围设备114标识出管理总线连接124。
[0065] 关联模块206将管理总线118的所标识的管理总线连接124与在其上发送命令的数据总线116相关联、相关等。继续前面的示例,关联模块206可以将PCI端口0与特定NVMe存储设备的管理总线端口1相关联。在另一实施例中,关联模块206可以维持数据总线116(例如,数据总线116端口)、管理总线118(例如,管理总线118端口)、管理总线连接124(例如,用于管理总线连接124的地址或标识符)和外围设备114关联的列表、表格、数据库、映射等,其可以由诸如操作系统的程序使用或引用,以确定哪些管理总线118和/或哪些管理总线连接124和数据总线116被耦合到特定的外围设备114。
[0066] 如上所述,在一些实施例中,外围设备114可以使用单独的数据总线116电缆和单独的管理总线118电缆被耦合到信息处理设备102,其可以经由不同的可寻址管理总线连接124来服务于多个外围设备114。当外围设备114被安装在信息处理设备102中时,数据总线
116电缆与管理总线118电缆(包括与管理总线118电缆相关联的各种可寻址管理总线连接
124)之间可能不存在任何相关性或关联性。因此,例如,NVMe存储设备可以被耦合到PCIe端口1上的数据总线116电缆和管理总线端口3上的管理总线118电缆。例如,如果操作系统想要禁用位于PCIe端口1上的NVMe存储设备,则其可能不知道哪个管理总线118端口或管理总线连接124地址要用于发送禁用命令,因为不能保证管理总线118电缆被耦合到与数据总线
116电缆相同的端口标识符,例如PCIe端口1。在本示例中,管理总线118电缆没有被耦合到与PCIe端口相同的端口号,这在操作系统尝试通过使用管理总线端口1发送禁用命令来禁用PCIe端口1上的NVMe存储设备的情况下可能会导致NVMe存储设备出现问题,因为它可能被连接到不同的PCIe端口上的不同的NVMe存储设备。
[0067] 因此,关联模块206维持管理总线118/管理总线连接124到耦合到外围设备114的数据总线116的映射,以确保正确的管理总线118和/或管理总线连接124以及数据总线116正用于特定的外围设备114。以这种方式,数据总线116电缆和/或管理总线118电缆和/或连接124被耦合到哪个端口并不重要;针对耦合到信息处理设备102的每个外围设备114,外围设备装置110可以动态地确定数据总线116与管理总线118和/或管理总线连接124之间的关联性或相关性。
[0068] 图3描绘了用于将外围设备114的数据总线116与管理总线连接124相关联的装置300的一个实施例。装置300包括具有与上述的命令模块202、监测模块204和关联模块206相似的命令模块202、监测模块204和关联模块206的外围设备装置110的实施例。在一些实施例中,外围设备装置110包括如下所述的设备模块302和活动模块304。
[0069] 在一个实施例中,设备模块302确定哪些外围设备114被通信地耦合到信息处理设备102。在一些实施例中,设备模块302扫描每个数据总线116,诸如信息处理设备102的每个PCIe总线,以确定哪个数据总线116耦合有外围设备114。例如,设备模块302可以扫描桥接器112、母板、处理器104等的每个PCIe端口,以确定哪个PCIe端口具有附接的外围设备114。
[0070] 在某些实施例中,设备模块302在启动时确定信息处理设备102的每个外围设备114。例如,系统BIOS/UEFI 106可以运行对信息处理设备102上的每个PCIe端口的扫描,以使用PCIe数据总线116来确定或标识连接到每个PCIe端口的每个NVMe存储设备。在另一实施例中,设备模块302可以在列表、表格、数据库、映射等中枚举或列出耦合到外围设备114的每个确定的数据总线116,其可以稍后由关联模块206用于将每个确定的数据总线116与其对应的管理总线118和/或管理总线连接124相关联。
[0071] 在某些实施例中,设备模块302通过初始化经由数据总线116和管理总线118被通信地耦合到信息处理设备102的每个外围设备114来在系统启动时启用管理总线118的每个管理总线连接124。例如,当BIOS/UEFI 106在系统启动时找到耦合到PCIe数据总线116的NVMe存储设备时,BIOS/UEFI 106和/或NVMe存储设备可以为该NVMe存储设备启用管理总线连接124使得BIOS/UEFI 106和/或NVMe存储设备能够经由管理总线118通过管理总线连接124传输管理数据。因此,启用管理总线连接124中的每个管理总线连接可以允许BIOS/UEFI 
106枚举耦合到NVMe存储设备的管理总线连接124中的每个管理总线连接和/或管理总线
118中的每个管理总线以及PCIe数据总线116中的每个PCIe数据总线;然而,在这一点上,每个NVMe存储设备的PCIe数据总线116与管理总线连接124之间没有关联性或相关性。因此,基于本文中公开的主题,能够确定数据总线116与外围设备114的管理总线连接124之间的关联性。
[0072] 在一些实施例中,命令模块304扫描设备模块302生成的、耦合到外围设备114的数据总线116的列表,并且通过列出的数据总线116向每个外围设备114发送命令。如上所述,响应于命令模块304通过列出的数据总线116发送命令,监测模块204针对指示哪个外围设备与管理总线118相关联并且因此哪个数据总线116与管理总线118相关联的数据(其可以响应于活动模块发送202检测到外围设备114上的活动指示符而被发送)来监测已经由设备模块302启用的每个管理总线118。以这种方式,数据总线116可以动态地与特定外围设备114的管理总线118相关联。
[0073] 在一个实施例中,响应于命令通过数据总线116被发送到外围设备114,活动模块304通过管理总线118的管理总线连接124来检测外围设备114的活动指示符。在一个实施例中,活动指示符可以包括来自外围设备的指示外围设备是活动的指示符。例如,活动指示符可以是NVMe存储设备上的发光二极管(“LED”),其响应于从NVMe存储设备读取或向其写入数据而闪烁或切换状态。在另一示例中,活动指示符可以包括声音(例如,蜂鸣声)、信号、一系列信号等。
[0074] 在一个实施例中,响应于通过耦合到外围设备114的数据总线116接收到命令,活动模块304检测外围设备114上的LED何时在可以由逻辑“0”表示的“关闭”状态与可以由逻辑“1”表示的“打开”状态之间切换状态。例如,SEP 115可以被连接到指示LED是否正在切换其状态的外围设备114的引脚或数据线。外围设备114、SEP 115等可以在数据集中设置用于活动的外围设备的活动位,例如,其可以由活动模块304和/或监测模块204来查询以确定外围设备114是否响应于所发送的命令而活动。
[0075] 图4是描绘用于将外围设备114的数据总线116与管理总线连接124相关联的方法400的一个实施例的示意性流程图。方法400开始并且通过数据总线116向外围设备114发送
402命令。外围设备114使用数据总线116和单独的管理总线连接124被通信地耦合到信息处理设备102。
[0076] 方法400检查404管理总线118的一个或多个管理总线连接124以确定哪个管理总线连接124被连接到响应于所发送的命令而活动的外围设备114。方法400将所确定的管理总线连接124与在其上发送命令的数据总线116以及外围设备114相关联406,并且方法400结束。在一个实施例中,命令模块202、监测模块204和/或关联模块206执行方法400的各个步骤。
[0077] 图5是描绘用于将外围设备114的数据总线116与管理总线118的管理总线连接124相关联的方法500的一个实施例的示意性流程图。方法500开始,并且在一个实施例中确定502在系统启动时(例如,当信息处理设备102被引导时)被通信地耦合到信息处理设备102的每个外围设备114。例如,方法500可以扫描每个PCIe数据总线116以确定502哪个PCIe数据总线116耦合有外围设备114。
[0078] 在另一实施例中,方法500初始化504每个确定的外围设备114。例如,使用BIOS/UEFI 106,方法500可以激活、打开、启用等耦合到信息处理设备102的每个外围设备114。方法500还可以启用506用于信息处理设备102的管理总线118的每个管理总线连接124。随着每个管理总线连接124被启用并且具有耦合的外围设备114的每个数据总线116被确定,方法500可以确定哪些管理总线连接124与特定数据总线116相关联。
[0079] 在一个实施例中,方法500向每个外围设备114发送508命令以在每个外围设备114上触发活动。该命令例如可以包括针对存储在外围NVMe存储设备上的数据的读取请求命令。在一些实施例中,读取请求的数据(例如,被读取以满足读取请求的数据)被忽略、丢弃或者以其他方式不被处理或传输。
[0080] 方法500响应于命令通过数据总线116被发送到外围设备114来检测510与外围设备114相关联的活动指示符。例如,活动指示符可以是LED活动指示灯,其当从NVMe存储设备读取/向NVMe存储设备写入数据时在打开和关闭之间切换。方法500检测510从打开状态到关闭状态的LED变化状态。响应于检测到的活动,方法500可以设置(未示出)与外围设备相关联的数据集的活动位和/或在耦合到外围设备114的管理总线连接124上主动地发送指示外围设备活动的消息,例如管理消息。
[0081] 方法500检查512管理总线118的一个或多个管理总线连接124,以确定一个或多个管理总线连接124中的哪个管理总线连接被耦合到通过数据总线116接收到命令的外围设备114。例如,方法500可以通过与外围设备114相关联的管理总线连接124读取数据,以确定是否已经响应于所发送的命令而为外围设备设置了活动位。在一个实施例中,方法500将所确定的管理总线118的管理总线连接124与在其上发送命令的数据总线116相关联514,并且将关联性、相关性、关系等存储在表格、列表等中以供将来参考,并且方法500结束。在一个实施例中,命令模块202、监测模块204、关联模块206、设备模块302和/或活动模块304执行方法500的各个步骤。
[0082] 图6是描绘用于将外围设备114的数据总线116与管理总线连接124相关联的方法600的一个实施例的示意性流程图。方法600开始并且通过管理总线118的管理总线连接124向外围设备114发送602管理命令。外围设备114使用数据总线116和单独的管理总线连接
124被通信地耦合到信息处理设备102。
[0083] 方法600检查604一个或多个数据总线116以确定哪个数据总线116被连接到响应于在管理总线连接124上发送的管理命令的外围设备114。例如,方法600可以向连接到特定管理总线连接124的外围设备114发送602重置命令或其他管理命令。重置或其他管理命令引起外围设备114与其他连接的外围设备114不同地作用,如从一个或多个数据总线116可见。方法600然后可以通过在连接到外围设备114的每个数据总线116上发送数据总线命令(诸如读取请求命令)来检查每个外围设备114,以确定哪个外围设备114对管理命令不响应,或以其他方式提供与来自未接收到管理命令的其他外围设备114的响应不同的响应。因此,方法600识别哪个数据总线116被连接到接收到管理命令的外围设备114。
[0084] 方法600将与接收到管理命令的外围设备114相连接的所确定的数据总线116与在其上发送命令的管理总线连接124以及外围设备114相关联606,并且方法600结束。在一个实施例中,命令模块202、监测模块204和/或关联模块206执行方法600的各个步骤。
[0085] 实施例可以以其他具体形式来实践。所描述的实施例在所有方面仅被认为是说明性的而不是限制性的。因此,本发明的范围由所附权利要求而不是由前面的描述来指示。在权利要求的等同物的含义和范围内进行的所有改变将被包含在权利要求的范围内。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用