买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】使用BMC作为代理NVMEOF发现控制器向主机提供NVM子系统的方法_三星电子株式会社_201710593978.7 

申请/专利权人:三星电子株式会社

申请日:2017-07-20

公开(公告)日:2024-03-08

公开(公告)号:CN107818021B

主分类号:G06F9/54

分类号:G06F9/54;G06F11/30

优先权:["20160914 US 62/394,726","20161107 US 15/345,507"]

专利状态码:有效-授权

法律状态:2024.03.08#授权;2019.09.20#实质审查的生效;2018.03.20#公开

摘要:提供了一种使用BMC作为代理NVMEOF发现控制器向主机提供NVM子系统的方法。公开了一种可向其它装置询问它们的配置的代理装置。代理装置可包括装置通信逻辑,通过控制平面与装置进行通信。代理装置还可包括接收逻辑440,可从主机接收询问。询问可从代理装置请求关于装置的配置的信息。代理装置还可包括发送逻辑,将装置配置发送到主机。

主权项:1.一种机箱中的代理装置,所述代理装置包括:装置通信逻辑,用于通过控制平面与至少一个装置通信关于所述至少一个装置的数据;接收逻辑,用于从主机接收询问,其中,所述询问请求关于所述至少一个装置的信息;发送逻辑,用于向主机发送响应,其中,所述响应包括关于所述至少一个装置的数据;访问逻辑,用于从包括在机箱中的组件确定所述机箱的配置,所述组件与所述代理装置分开;嵌入自配置逻辑,用于根据所述机箱的配置来配置所述代理装置,其中,嵌入自配置逻辑被配置为:根据所述机箱的配置,从非易失性存储器快速标准驱动器、网络架构上的非易失性存储器快速标准驱动器和高可用性驱动器选择驱动器。

全文数据:使用BMC作为代理NVMEOF发现控制器向主机提供NVM子系统的方法[0001]本申请要求于2016年9月14日提交的序列号为62394,726的美国临时专利申请和于2〇16年11月7日提交的序列号为15:345,5〇7的美国专利申请的权益,所述申请通过引用合并于此以用于各种目的。技术领域[0002]本发明构思总体涉及网络架构上的非易失性存储器快速标准系统Non-Volati1eMemoryExpressoverFabric,NVMeoF系统,并且更特别地涉及使用代理以使主机发现安装的NVMeoF装置。背景技术[0003]网络架构上的非易失性存储器NVM快速标准NVMeNVMeoF规范1.0中的章节1.5_6定义了主机可使用以确定主机可能访问的NVM子系统的发现机制。发现控制器支持最低的功能,并仅实现允许检索发现日志页面所需要的功能。发现控制器不实现输入输出10队列或公开命名空间。发现服务是仅公开发现控制器的NVM子系统。主机用于获得与初始发现服务连接所需的信息的方法被明确实现。[0004]由发现控制器提供的发现日志页面包括一个或更多个条目。每个条目指定主机通过NVMe传输与NVM子系统连接所需要的信息。一个条目可明示公开主机可访问的命名空间的NVM子系统,或可明示对另一发现服务的查询。支持的最大查询深度为八级。[0005]基板管理控制器BMC已经被广泛用于服务器、PC、交换器以及其他基于计算机的产品。一般来说,BMC依赖于主机处理器和或操作系统来启动并完成发现处理。此外,由于BMC的主要工作是监控系统的健康状况,所以BMC不关心它处于何种机箱内。[0006]与BMC相连的传感器测量内部的物理变量,诸如温度、湿度、供电电压、风扇转速、通信参数以及操作系统0S功能等。如果这些变量中的任何一个发生超出指定的限制的偏离,则通知管理员。管理员可随后通过远程控制采取校正动作。在一些情况下,BMC可采取一些校正动作,诸如增加风扇转速或重新启动失败的子系统。必要并或适当时,被监控的装置系统可被重新启动或远程重启。在这种方式下,单个管理员可同时远程管理大量服务器和其他装置,节省网络的整体运营成本,并有助于确保网络的可靠性。[0007]仍然需要一种用于减少主机识别机箱中所有的MM装置所需的时间的方法。发明内容[0008]本申请提供了一种使用BMC作为代理NVMEOF发现控制器向主机提供NVM子系统的方法。[0009]根据本公开的一个方面,一种机箱中的代理装置,包括:装置通信逻辑,通过控制平面与至少一个装置通信关于所述至少一个装置的数据;接收逻辑,从主机接收询问,其中,所述询问请求关于所述至少一个装置的信息;发送逻辑,为向主机发送响应,所述响应包括关于所述至少一个装置的数据。[0010]根据本公开的另一方面,一种使用代理装置发现装置的方法,包括:在代理装置从至少一个装置接收关于所述至少一个装置的配置的至少一个数据,其中,所述数据是通过控制平面从所述至少一个装置被接收的;在代理装置将所述至少一个数据编译为记录;在代理装置从主机接收对于所述至少一个装置的配置的询问;将所述记录从代理装置发送到主机,其中,代理装置从所述至少一个装置接收所述至少一个数据并在从主机接收所述询问之前将所述至少一个数据编译为所述记录。[0011]根据本公开的另一方面,一种向代理装置通知装置的配置的改变的方法,包括:通过装置确定所述装置的配置的改变;通过控制平面向代理装置通知所述装置的配置的改变。附图说明[0012]图1示出根据本发明构思的实施例的安装了可执行非易失性存储器NVM装置的发现的自配置基板管理控制器BMC的机箱。[0013]图2示出图1的机箱的补充细节。[0014]图3示出与图1的机箱的中平面上的装置进行通信的图1的BMC。[0015]图4示出图1的BMC的细节。[0016]图5示出图4的访问逻辑的细节。[0017]图6示出具有用于发送信号的引脚的图1的BMC。[0018]图7示出在高可用性配置下的图1的机箱。[0019]图8示出图4的嵌入自配置逻辑。[0020]图9示出用于图8的驱动器的各种源。[0021]图10示出图4的装置通信逻辑。[0022]图11示出图1的主机向图1的BMC请求发现日志页面。[0023]图12A-12D示出根据本发明构思的实施例的图1的BMC进行自配置的示例程序的流程图。_[0024]图13示出图4的访问逻辑确定图1的机箱的配置的示例程序的流程图。[0025]图14示出根据本发明构思的实施例的图1的BMC执行对图1的机箱中的NVM装置的发现的示例程序的流程图。[0026]图15示出图4的装置通信逻辑获得关于图1的机箱1〇5中的图3的网络附加的SSD的发现信息的示例程序的流程图。_[0027]图16示出图1的BMC建立装置配置的记录的示例程序的流程图。[0028]图17示出根据本发明构思的实施例的图1的机箱中的NVM装置向图1的BMC通知NVM装置的配置的改变的示例程序的流程图。具体实施方式[0029]现在将对本发明构思的实施例做出详细的参考,在附图中示出本发明构思的实施例的示例。在下面的详细描述中,阐述了许多具体细节以便使本发明构思能够被透彻理解。然而,应该理解的是,本领域的普通技术人员可在没有这些具体细节的情况下实践本发明构思。在其他情况下,没有对公知方法、程序、组件、电路和网络进行详细的描述,以免不必要地模糊实施例的一些方面。[0030]将被理解的是,尽管术语第一、第二等在这里可被用于描述各个元件,但这些元件不应被这些术语限制。这些术语仅被用于区分一个元件与另一个元件。例如,在不脱离本发明构思的范围的情况下,第一模块可被称为第二模块,并且相似地,第二模块可被称为第一牛吴块。[0031]在对这里的发明构思的描述中使用的术语仅是为了描述特定实施例的目的,并不意图限制本发明构思。如在本发明构思的描述和附加的权利要求中使用的,除非上下文有明显不同的含义,否则单数形式也意图包括复数形式。还将理解的是,这里使用的术语“和或”是指包括一个或更多个关联的列出的项目中的任意可能的组合以及所有可能的组合。还将理解的是,当在说明书中使用术语“包含”和或“包括”时,是指存在所陈述的特征、整数、步骤、操作、元件和或组件,并不排除存在或添加一个或更多个其他特征、整数、步骤、操作、元件、组件和或这些的组合。附图的组件和特征不必按比例绘制。[0032]于2016年9月2日提交的序列号为15256,495的美国专利申请要求于2016年6月26日提交的序列号为62366,622的美国临时专利申请的权益,两者都通过引用合并于此以用于各种目的,所述美国专利申请描述了非易失性存储器NVM装置可执行自发现的自发现处理。所述处理可被扩展为可执行自发现的基板管理控制器BMC获得“机箱个性”信息以补充自配置固态驱动器SSD。[0033]新的BMC在启动初始化期间可执行自发现处理。通过从电可擦除可编程只读存储器EEPR0M的已知位置读取“机箱个性”信息储如,中平面上的重要产品数据VPD,可获得机箱特定数据,并且BMC可适当地响应。例如,BMC可发现它是在NVM快速标准NVMe机箱中还是在网络架构上的NVMeNVMeoF机箱中。如果BMC是在NVMeoF机箱中,则BMC可启动适当的NVMeoF功能诸如发现服务、鲁棒性错误报告和管理能力),这与在高可用性配置下的多路径BMC—样。[0034]如果BMC自发现揭示它在NVMe机箱中,则BMC可作为传统的BMC进行操作,即没有NVMeoF支持。在NVMe模式下,可通过带内PCI快速标准初始化链接训练处理来完成驱动器发现。因此,新的BMC可在基于NVMe的系统和基于NVMeoF的系统两者中被使用。[0035]在大型NVMeoF存储系统中,可执行自发现的BMC可显著地缩短枚举发现处理,这是因为:[0036]系统中存在的所有网络附加的SSDNASSD装置可通过比主机CPU更快地从系统中中的已知位置进行读取来独立地执行自发现如在2016年9月2日提交的序列号为15256,495的美国专利申请所公开的,该申请要求在2016年7月26提交的序列号为62366,622的美国临时申请的权益,这两个申请通过引用合并于此以用于各种目的)。[0037]新的BMC可通过仅从已知位置读取BMC来执行自发现,并可准备在比使远程主机本地处理器ping发现机箱中的每个装置包括BMC所需要的时间更短得多的时间内进行适当的操作。[0038]更新的存储装置(或其他装置,诸如网络接口卡(NIC可使用传输协议(诸如NVMeoF与机箱也被称为主机进行通信,并可支持多种通信协议。当这样的装置被安装在机箱中时,这些装置可在启动和初始化期间执行自发现。这些装置可从EEPR0M中的已知位置读取VPD:在2016年9月2日提交的序列号为15256,495的美国专利申请描述了这样的自发现处理,其中所述申请要求在2016年7月26日提交的序列号为62366,622的美国临时专利申请,这两个申请通过引用合并于此以用于各种目的。[0039]—旦开始自发现,这些装置随后可发现它们被安装在NVMeoF机箱中。这些装置随后可配置自身以启动例如以太网端口,并禁用其他不必要的未使用的不受支持的传输协议支持。以这种方式,可避免与多个传输协议发现和管理相关的操作系统和主机处理器开销。[0040]在大型存储系统中,由于所有的装置可通过从系统的已知位置进行读取来独立地执行自发现,所以使用这样的自配置装置可显著地缩短枚举处理。不需要存在主机处理器和操作系统。[0041]BMC是嵌入在服务器或交换机中的低功率控制器。BMC可与传感器连接以读取环境条件并控制装置。BMC具有通过控制平面路径与所有的NVMeoF装置连接的所有连接。因此,使用BMC作为用于向主机或启动程序提供发现服务的代理是有利的。由于BMC与许多装置交互,BMC可作为发现控制器来向主机提供可访问的NVM子系统的列表。[0042]这里提出的BMC可具有用于执行对eSSD、网络附加的固态驱动器或插入到系统中的其他装置的发现的固件。网络附加的SSD可包括以太网SSD、无限带宽SSD、光纤通道SSD、SSD或提供这些传输协议(以太网、无限带宽和光纤通道的组合的SSD。以太网、无限带宽和光纤通道传输协议仅是示例,并且本发明构思的实施例可包括支持其他传输协议的网络附加的SSDAMC可通过专用总线和复杂可编程逻辑器件CPLD直接访问每个装置。BMC还可读取每个装置在中平面上报告其信息的已知的非易失性存储器位置。这个方法可缩短枚举过程。BMC可将每个装置的信息作为发现日志页面存储在它的非易失性存储器中。[0043]BMC可使用控制平面与装置进行通信。控制平面、数据平面和管理平面是电信产品的三个基本组件。控制平面是承载信令流量的网络的一部分,并负责路由。控制平面的功能包括系统配置和管理。控制平面和管理平面服务于承载网络所携带的流量的数据平面。承载管理流量的管理平面被视为控制平面的子集。[0044]可通过用于本地或远程主机的BMC固件支持新的智能平台管理接口(IPMI指令系统发现)以检索此发现日志页面。如果远程主机和BMC位于同一个网络中,则远程主机可通过其局域网(LAN接口与BMC连接。远程主机也可与BMC的本地主机相连。发现日志页面中的每个条目可指定主机通过NVMe传输与NVM子系统连接所需的信息。[0045]NVMeoF标准指定了可通过以太网链接或通过数据平面执行的发现服务。相比之下,本发明构思的实施例使用BMC作为代理,使得能够通过控制平面执行发现服务。在网络中,控制平面通常仅被限于系统管理员,并且比可被许多人节点访问的数据平面受到更好的保护。在安全性方面,控制平面比数据平面受到更好的保护。此外,系统管理员可向BMC发出一个指令,以从所有的NVMeoF装置中获得所有的发现日志文件,而不是按照标准指定的为每个装置发出一个指令。[0046]图1示出了根据本发明构思的实施例的安装了可执行对非易失性存储器NVM装置的发现的自配置基板管理控制器BMC的机箱。在图1中,机箱105被示出作为塔式服务器,但机箱105可容易地是机架式服务器。[0047]机箱105可包括处理器110、存储器115、存储装置120和BMC125。处理器110可以是任何种类的处理器:例如,英特尔至强处理器、赛扬处理器、安腾处理器、凌动处理器、AMD皓龙处理器、ARM处理器等。虽然图1示出了单个处理器,但是机箱1〇5可包括任何数量的处理器。存储器115可以是任何种类的存储器,诸如闪存、静态随机存取存储器sram、持久随机存取存储器、铁电随机存取存储器FRAM或非易失性随机存取存储器NVRAM诸如,磁性随机存取存储器MRAM,但通常是DRAM。存储器II5还可以是不同存储器类型的任意组合。[0048]存储装置120可以是任何种类的存储装置。这样的装置的示例可包括固态驱动器SSD,但其他存储形式诸如硬盘驱动器或其他长期存储装置也是可行的。如上所述,BMC125可作为传统BMC进行操作,但也可基于机箱IO5的配置进行自配置。例如,机箱105可以是NVMe机箱、或NVMeoF机箱。机箱1〇5作为NVMe机箱,BMC125可在自配置后作为传统NVMeBMC进行操作。机箱105作为NVMeoF机箱,BMCI25也可作为传统BMC进行操作,但BMC125也可在机箱1〇5内执行对其他装置(诸如像BMCI25—样可被发现的存储装置120、网络接口卡NIC以及其他装置的发现。[0049]虽然BMC125被描述为能够在机箱105中执行对其他装置的发现,但是BMC125是执行发现的处理器110的一个可能的代理。其他可能的代理可包括独立磁盘冗余阵列RAID控制器、另一个处理器通常不同于将涉及执行启动操作的处理器110或者甚至是软件代理。在本文档的剩余部分,对BMCI25的任何提及都意图提及这些其它代理装置以及任意可作为处理器110的代理的其他装置。[0050]图2示出图1的机箱的补充细节。参照图2,通常地,机箱105包括可包括存储器控制器2〇5和时钟210的一个或更多个处理器110,其中存储器控制器205和时钟210可被用于协调机箱105的组件的操作。作为示例,处理器110也可被耦合到存储器115,存储器115可包括随机存取存储器RAM、只读存储器ROM或其他状态保存介质。处理器110也可被耦合到存储装置12〇和网络连接器215,其中网络连接器215可以是例如以太网连接器或无线连接器。处理器110还可被连接到总线220,其中总线220可连接其他组件之中的用户接口225和使用输入输出引擎230来进行管理的输入输出接口端口。[0051]图3示出图1的BMC125与图1的机箱105的中平面上的装置进行通信。在图3中,BMC125和复杂可编程逻辑装置CPLD305可位于图1的机箱105内的主板310上。图1的机箱105还可包括中平面315。中平面315可包括其他组件,诸如作为图1的存储装置120的示例的各种网络附加的SSD320、325和330。网络附加的320、325和330可支持使用许多不同的传输协议诸如以太网、光纤通道、无限带宽技术或非易失性存储器快速标准NVMe中的任何一种来命名一些可能情况,但在本发明构思的一些实施例中,网络附加的SSD320、325和或33〇可被限于这些传输协议的子集可能的一个:例如,以太网SSD。虽然图3示出三个网络附加的SSD32〇、325和330,但本发明构思的实施例可支持任何期望的数量的装置。此外,虽然图3仅示出网络附加的SSD320、325和330,但除了网络附加的SSD320、325和330之外,可替代或包括其他装置诸如以太网SSD或NIC。在本文档的其余部分中,对网络附加的SSD320、:325和33〇的任何提及都意图包括可被作为NVMeoF装置而发现并可替代网络附加的SSD320、325和330的任何替代装置。[0052]BMC125可通过I2C总线335和SMBus340与网络附加的SSD320、325和330进行通信。网络附加的330320、325和330还可与££?1?01!345和附1«350进行通信。肌^350可充当图1的存储器115;EEPR0M345可存储由图1的机箱105中的各种装置使用的信息。例如,EEPROM345可存储VPD355。网络附加的SSD320、325和330以及BMC125可使用VPD355来存储与这些装置有关的信息。更具体地,EEPROM345可针对每个这样的装置存储单独的VPD355〇[0053]VPD邪5具有几种用途。在本发明构思的一些实施例中,Vro355可被用于存储每个装置的可用于自配置的相关信息。因此,如在2016年9月2日提交的序列号为15256,495的美国专利申请该申请要求在2016年7月26日提交的序列号为62366,622的美国临时专利申请的权益,这两个专利申请通过引用合并于此以用于各种目的)所描述的,VPD355可存储由网络附加的SSD32〇、325和33〇使用以进行自配置的信息。然而,在本发明构思的其他实施例中,如下所述,VPD355还可存储由BMC125使用以执行BMC125自己的自配置的信息。此外,在本发明构思的其他实施例中,网络附加的SSD320、325和330可将信息写入VPD355,然后BMC125可读取该信息。例如,网络附加的SSD320、325和330可写入它们的IP地址,然后BMC125可从VPD355读取这些IP地址。然后,当图1的主机11〇向BMC125查询信息时,BMC125可提供针对网络附加的SSD320、325和330的配置信息。[00M]虽然图3示出EEPROM345在中平面315上并且NVM350在主板上,但是本发明构思的实施例可支持将这些组件(和其他组件放置在任何期望的位置。例如,在本发明构思的一些实施例中,EEPROM345和NVM350可都位于中平面315上,在本发明构思的其他实施例中,它们可都位于主板310上,在本发明构思的另一些实施例中,NVM350可位于中平面315上并且EEPROM345可位于主板310上。本发明构思的其他实施例可将这样的组件放置在其他位置:例如,在图1的机箱105内的另一个板上,或者完全可能在另一主机中。[0055]图4示出图1的BMC125的细节。在图4中,示出的BMC125被分成两部分405和410。部分405涉及在本发明构思的一些实施例中执行自配置的BMC125;部分410涉及在本发明构思的其他实施例中的用作图1的主机110的代理的BMC125。需要注意的是,根据要求,本发明构思的实施例可包括部分405和410中的一个或两个。[0056]为了执行自配置,BMC125可包括访问逻辑415、嵌入自配置逻辑420和错误报告逻辑425。访问逻辑415可访问关于BMC125是如何对自己进行配置的信息。访问逻辑415还可参照下面的图5进行描述。嵌入自配置逻辑420可基于图1的机箱105的配置对BMC125进行配置以使用适当的驱动器。嵌入自配置逻辑420还可参照下面的图8进行描述。当存在问题时,错误报告逻辑425可将错误报告给图1的主机110。MIC125可向图1的主机110报告的问题的示例可包括:当图1的机箱105是高可用性机箱但BMC125无法访问或加载高可用性系统的时候,或当BMC125无法与其作为高可用性系统的配对伙伴进行通信的时候。[0057]为了充当图1的主机110的发现代理,BMC125可包括装置通信逻辑430、日志页面创建逻辑435、接收逻辑440和传输逻辑445。装置通信逻辑430可使BMC125能够与装置诸如图3的网络连接的SSD320、325和330进行通信以了解它们的配置。装置通信逻辑430还将参照下面的图10进行描述。日志页面创建单元435可取得从图3的网络附加的SSD320、325和330接收的信息,并创建在合适的时间向图1的主机报告的发现日志页面。日志页面创建逻辑435也可仅核对从图3的网络附加的SSD320、325和330接收的信息,或者可通过组合日志页面来消除来自图3的网络附加的SSD320、325和330的重复的信息。日志页面的结构在2016年6月5日的网络架构上的NVM快速标准规范版本1.0中被描述,通过引用该规范版本合并于此以用于所有目的。[0058]在本发明构思的一些实施例中,BMC125可具有它自己的存储器:例如,在图3的NVM350中,或在图3的EEPR0M345中等等。图3的网络附加的SSD320、325和330可将它们的配置信息直接地写入在BMC125的这个存储器中保持的日志页面。[0059]接收逻辑440和发送逻辑445能够与图1的主机110进行通信。例如,接收逻辑440可从图1的主机11〇接收关于图3的网络附加的SSD320、325和330的询问;发送逻辑445可响应于这样的询问将响应回发到图1的主机110。注意,接收逻辑440和发送逻辑445不需要专门用于上述目的;它们也可被用于其他目的。例如,如下面参照图10进行的描述,装置通信逻辑430可将消息发送给图3的网络附加的SSD320、325和330:可使用发送逻辑445发送这些消息并且可使用接收逻辑440来接收对这些消息的响应)。[0060]图5示出图4的访问逻辑415的细节。在图5中,访问逻辑415可包括VPD读取逻辑505和引脚读取逻辑510JPD读取逻辑505可从图3的VPD355读取信息,所述信息可以是特定于BMC125的VPD。图3的VPD355中的信息可包括图1中的机箱105的配置。在另一方面,引脚读取逻辑510可通过读取在图1的BMC125的一个或更多个引脚上的一个或更多个信号来确定图1的机箱105的配置。图1的BMC125的这些引脚可专用于指定图1的机箱105的配置。[0061]图6示出图1的具有用于发送信号的引脚的BMC125的示例。在图6中,BMC125被示出为包括各种引脚。引脚605和610可被用于基于在这些引脚上发信号的值来指定图1的机箱105的配置,BMC125可确定图1的机箱105的配置。引脚605和610可被用于通用输入输出GPI0引脚,以及其他可能性。[0062]回到图5,引脚读取逻辑510可使用从图6的引脚605和610读取的信息以确定图1的机箱105的配置并加载适当的驱动器。例如,如下面参照图8的描述,图1的机箱105存在三种不同的配置:NVMe、NVMeoF和高可用性。为了在三种不同的可能性之间进行选择可需要两比特,这可能需要在两个引脚上发送信号。如果两个引脚指定值00,则该组合可指定图1的机箱105为NVMe机箱。如果两个引脚指定值01,则该组合可指定图1的机箱105为NVMeoF机箱。并且如果两个引脚指定值10,则该组合可指定图1的机箱105为高可用性机箱。[0063]可选地,可通过单个引脚管理三种可能性。例如,0值可指定NVMe机箱,1值可指定NVMEoF机箱,并且在0和1之间的震荡可指定高可用性机箱。但如果存在三种以上的组合,则可能将需要多于一个引脚来指定机箱配置。[0064]虽然上述示例描述了三种可能性一NVMe、NVMeoF和高可用性,但在本发明构思的其他实施例中可以有四种驱动器配置一NVMe、NVMeoF、NVMe高可用性和NVMeoF高可用性。例如,在本发明构思的这种实施例中,引脚605上的高值可指示图1的机箱105是高可用性机箱并且引脚605上的低值可指示图1的机箱105不是高可用性机箱,然而引脚610上的高值可指示图1的机箱105使用NVMeoF并且引脚610上的低值可指示图1的机箱105使用NVMe。并且在本发明构思的其他实施例中,甚至可能有更多不同的驱动器类型。本发明构思的实施例可包括所需的任何数量的驱动器类型。[0065]在图5中,VPD读取逻辑505和引脚读取逻辑510表示图1的BMC125确定图1的机箱105的配置的替代方式,因此,访问逻辑415可包括一个或另一个,不一定包括两者。然而,为了支持图1的BMC125能够以不同的方式确定图1的机箱105的配置,本发明构思的实施例包括VPD读取逻辑505和引脚读取逻辑510两者。[0066]己经提到了几次高可用性机箱。图7示出在高可用性配置下的图1的机箱105。处理器110和BMC125可与另一个处理器705和另一个BMC710配对。在本发明构思的一些实施例中,处理器705可在图1的机箱105中,并且在本发明构思的另一些实施例中,处理器705可在不同的机箱中。处理器110可保持与处理器705的通信,并且BMC125可保持与MC710的通信。这个通信可包括心跳:如果腿C125和BMC710中的一个没有响应,那么另一个BMC知道存在错误。配对伙伴可通过例如其他可能性中的外围组件互连快速标准PCIe或者以太网等等进彳丁通伯。[0067]如果一个配对伙伴发生故障(例如,机箱之一失去电力),则剩余的处理器可启动接管路径,允许剩余的BMC建立通信并跨域。由于故障机箱中的BMC可运行备用电源,所以尚存的处理器可与故障机箱的BMC进行通话。尚存的处理器可尝试重置故障的处理器,希望可重启故障的处理器。如果故障的处理器不可被重置,则尚存的处理器可将警报或中断发送到监视故障的机箱的主机。然后第三方软件或代理可选择可用的工作节点成为尚存的节点的新的配对伙伴。[0068]由于需要心跳通信并且需要尚存的节点接管故障的节点,所以高可用性机箱所需的驱动器与在非高可用性机箱中使用的驱动器不同。因此,BMC125在高可用性机箱中的操作与非高可用性机箱中的操作不同。[0069]在高可用性驱动器被加载到BMC125之前,可能发生BMC125可能看不到它的配对伙伴。因此,在本发明构思的一些实施例中,即使BMC125可能无法与它的配对伙伴进行通信,也应加载高可用性驱动器,并且在高可用性驱动器被加载之后应检查配对伙伴。[0070]图8示出图4的嵌入自配置逻辑420。如上所述,嵌入自配置逻辑420可取得由图4的访问逻辑415确定的信息并相应地配置图1的BMC125。嵌入自配置逻辑420可包括驱动器下载器805以及驱动器加载器810。驱动器下载器805可从驱动器源下载适当的驱动器,诸如NVMe驱动器815、NVMe〇F驱动器820和高可用性驱动器825。注意,驱动器源可以在图1的BMC125的固件之内,在这种情况下,驱动器根本不需要“被下载”,而只是从固件中读取。一旦被下载或以被定位,驱动器加载器810然后可将选择的驱动器加载到BMC125中。[0071]图9示出图8的驱动器的各种源。在图9中,机箱105可包括EEPROM345,EEPROM345可以是驱动器源。在本发明构思的这样的实施例中,适当的驱动器可被存储在EEPROM345中,并根据需要从EEPROM345读取。[0072]机箱105还被示出为与网络905相连。网络9〇5可允许机箱105与机器910和机器915之间的通信。机器91〇可以是局域网络LAN上的机器,而机器915可以是诸如因特网的全球网络上的机器。然而,无论针对选择的驱动器存在什么源,图8的驱动器下载器805可从驱动器源下载或读取适当的驱动器,然后启动图8的驱动器加载器810以随后将驱动器加载到图1的BMC125中。[0073]图10示出图4的装置通信逻辑430。在图10中,装置通信逻辑430可包括读取逻辑1005和轮询逻辑1010。图1的BMCI25可使用读取逻辑1〇〇5从图3的VPD355中读取信息,诸如网络附加的SSD320、325和330中的一个的配置^如果网络附加的SSD320、325和330向图1的BMC125发送指示新信息可用的消息,则BMC125还可使用读取逻辑1005从VPD355读取新信息。[0074]相反,图1的BMC125可使用轮询逻辑1010周期性地轮询图3的网络附加的SSD320、325和330。在本发明的实施例中,图3的网络附加的SSd320、325和330不向图1的MC125通知关于它们配置的改变的情况下,图1的BMC125可使用轮询逻辑1010向网络附加的SSD320、325和330询问它们当前的信息,并且询问是否有信息己经改变。然后网络附加的SSD320、325和330可回复指示它们的配置是否己经改变,如果己经改变,则回复它们是如何改变。[0075]图11示出图1的主机110从图1的BMC125请求发现日志页面。在图11中,主机110可向BMC125发送询问1105。通常,当主机110准备好接收BMC125的配置信息时发送询问1105,这可以是BMC125已经收集并组合了网络附加的SSD320、325和330的配置信息之后的某个时间间隔。然后BMC125可回复响应1110,其中,响应1110可包括日志页面1115。在这种方式下,BMC125可向主机110提供关于机箱105中安装的所有装置或至少在BMC125的域中的所有装置的信息。例如,图1的单个机箱105可具有两个主板例如,两个半宽主板或两个堆叠的全宽主板中),每个主板具有它自己的BMC和网络附加的装置。在这样的方案中,每个BMC负责收集关于在它的域中的装置的信息,但并不负责收集关于在其他的BMC的域中的装置的信息,即使它们全部位于相同的机箱内。[0076]由于本发明构思的实施例与传统系统相比具有可加快启动机器的处理的技术优点。在传统系统中,主机必须依次向每个装置询问它的配置信息,但直到完成一些其他的启动操作之后,它可能不这样做。相比之下,BMC可更快得多地启动,并可充当主机的代理,向各种装置询问它们的配置当主机忙于执行其他启动程序时)。然后,当主机准备就绪时,主机可向MC询问配置信息,并可更快得多地了解所有的附加装置。此外,与使用数据平面执行的传统发现服务相比,通过控制平面上的BMC125执行发现服务更安全,并且不消耗数据平面上的任何带宽。[0077]与传统技术相比,本发明构思的实施例具有的另一个技术优点是主机仅需要向BMC发送一个命令来执行对机箱中存在的所有装置的发现。例如,如果机箱包括24个装置,则主机可向BMC发送“发现所有装置”的命令:BMC可发现24个装置。这种方法避免如传统系统中的主机向24个装置发送24个发现命令。[0078]图12A-12D示出根据本发明构思的实施例的图1的BMC125进行自配置的示例程序的流程图。在图12A中,在块1203,图4的访问逻辑415可确定图1的机箱105的配置:NVMe、NVMeoF或高可用性。在块1206,图1的BMC125可确定图1的机箱105是否是高可用性机箱可包括多重特点,诸如NVMe或NVMeoF。如果图1的机箱105不是高可用性机箱,那么处理可继续执行块1236图12C。[0079]继续参照图12A,如果图1的机箱105是高可用性机箱,那么在块1209,图4的嵌入自配置逻辑420可选择图8的高可用性驱动器825。在块1212,图4的嵌入自配置逻辑420可确定图8的高可用性驱动器825是否可用。如果不可用,那么在块1215,图4的错误报告逻辑425可报告错误。[0080]如果图8的高可用性驱动器825是可用的,那么在块1218图12B,图8的驱动器下载器805可下载图8的高可用性驱动器825,并在块1221,图8的驱动器加载器810可加载图8的高可用性驱动器825。[0081]在块1224,图1的BMC125可尝试与它的配对伙伴(图7的BMC710进行通信。在块1227,图1的MIC125可确定它的配对伙伴是否可用。如果图1的BMC125的配对伙伴是可用的,那么在块1230,图1的BMC125可确定图1的机箱105中安装的装置是否是双路径装置。如果图1的BMC125不可确定它的配对伙伴是可用的(±夬1227或者在图1的机箱105中安装的装置不是双路径装置块1230,那么在块1233,图1的BMC125可报告它不作为高可用性装置运行。[0082]无论图1的机箱105是作为高可用性装置运行在块1227、1230和1233还是不作为高可用性装置运行在块1206,在块1236,图1的腿C125可确定图1的机箱105的配置是否是NVMeoF机箱。如果图1的机箱105的配置是NVMeoF机箱,那么在块1239,图1的BMC125可选择图8的NVMeoF驱动器820,在块1242,图8的驱动器下载器805可加载图8的NVMeoF驱动器820,并且在块1245,图8的驱动器加载器810可加载图8的NVMeoF驱动器820。此外,在块1248,图1的BMC125可收集关于图1的机箱105中安装的其他装置的信息,从而充当图1的主机110的代理。[0083]如果图1的机箱105不是NVMeoF机箱,那么在块1251图12D,图1的BMC125可确定图1的机箱105的配置是否是NVMe机箱。如果图1的BMC125确定图1的机箱105的配置是NVMe机箱,那么在块1254,图1的BMC125可选择图8的NVMe驱动器815,在块1257,图8的驱动器下载器805可下载图8的NVMe驱动器815,并且在块1260,图8的驱动器加载器810可加载图8的NVMe驱动器815,在此之后处理结束。如果在块1251,图1的机箱105不是NVMe机箱,那么控制可返回块1215以报告错误。[0084]图12A-12D示出本发明构思的示例实施例。在本发明构思的其他实施例中,可存在超过两种机箱配置。并且在本发明构思的另一些实施例中,当没有其它驱动器被加载时,图1的BMC125可使用NVMe驱动器作为默认。对图12A-12D的其它变化也是可能的。[0085]图13示出图4的访问逻辑415确定图1的机箱的配置的示例程序的流程图。在图13中,在块1305,图5的VPD读取逻辑505可从图3的VPD355读取图1的机箱105的配置。可选地,在块1310,引脚读取逻辑510可从在图1的BMC125上的一个或更多个图6的引脚605和610上发送的信号读取图1的机箱105的配置。[0086]图14示出根据本发明构思的实施例的用于图1的BMC125执行图1的机箱105中的NVM装置的发现的示例程序的流程图。在图14中,在块1405,BMC125可接收关于图3的网络附加的SSD320、325和330的配置的数据。块14〇5可针对所有装置在每次必要时都被重复,如虚箭头1410所示。在块1415,图1的BMC125可对从图3的网络附加的SSD320、325和330接收的信息之中的记录诸如图11的日志页面1115进行编译。在块1420,图1的主机可发送对于关于图3的网络附加的SSD320、325和330的配置的请求,图1的BMC125可接收对于关于图3的网络附加的SSD320、325和330的配置的请求。在块1425,图1的BMC1烈可向图1的主机110发送装置配置的记录。[0087]图15示出图4的装置通信逻辑43〇获得关于图1的机箱1〇5中的图3的网络附加的SSD320、325和330的发现信息的示例程序的流程图。在图丨5中,在块15〇5,图1〇的读取逻辑可从图3的VPD355读取关于装置的配置数据。可选地,在块1510,图10的轮询逻辑1010可向装置轮询它的配置数据,在块1515,图1的BMC125可从装置接收配置数据。[0088]图16示出图1的BMC125建立装置配置的记录的示例程序的流程图。在图16中,在块1605,图1的BMC125可简单地将从VPD邪5收集的针对各种装置的信息编译成记录。可选地,在块1610,图4的日志页面创建逻辑435可从收集的装置配置中创建图11的日志页面1115〇[0089]图17示出根据本发明构思的实施例的图1的机箱105中的NVM装置向图1的BMC125通知在NVM装置的配置中的改变的示例程序的流程图。在图17,在块1705,装置例如,图3的网络附加的SSD32〇、325和或33〇可确定它的配置已经改变。在块in〇,装置可将改变写入VPD355,并且在块1715,装置可向代理装置诸如图1的BMC125通知改变已经被写入到VPD355。可选地,在块172〇,装置可等待直到它从代理装置接收到关于装置的当前配置的询问,此时在块1725中装置可将它的当前配置发送到代理装置。[0090]在图12A-17中,示出了本发明构思的一些实施例。但本领域的技术人员将通过改变块的顺序、通过省略块或通过包括在图中没有示出的链接识别本发明构思的其它实施例也是可能的。无论是否明确描述,流程图的所有这些变化被认为是本发明构思的实施例。[0091]下面的讨论意图提供可实现本发明构思的某些方面的适当的机器多个机器)的简洁的一般描述。机器或多个机器可通过来自传统的输入装置诸如键盘、鼠标等)的输入以及通过从另一机器、与虚拟现实VR环境的交互、生物计量反馈或其他输入信号接收的指令被至少部分地控制。如这里所使用的,术语“机器”意图广泛地包括单个机器、虚拟机器或通信耦合的机器、虚拟机器或一起操作的装置的系统。示例性机器包括计算装置,诸如个人计算机、工作站、服务器、便携式计算机、手持装置、电话、平板电脑等,以及运输装置,诸如私人或公共交通,例如,汽车、火车、出租车等。[0092]机器或多个机器可包括嵌入的控制器,诸如可编程或不可编程的逻辑装置或阵列、专用集成电路ASIC、嵌入式计算机、智能卡等。机器或多个机器可利用与一个或更多个远程机器的一个或更多个连接,诸如通过网络接口、调制解调器或其他通信耦合。多个机器可通过物理方式和或逻辑网络方式诸如,内联网、互联网、局域网、广域网等)进行互联。本领域的技术人员将认识到网络通信可利用各种有线和或无线短距离或长距离载波和协议,包括射频RF、卫星、微波、电器和电子工程协会(IEEE802•11、蓝牙、光学、红外线、电缆、激光等。[0093]本发明构思的实施例可通过参考或结合包括功能、程序、数据结构、应用程序等的相关数据进行描述,其中,当通过机器进行相关数据时,相关数据令机器执行任务或定义抽象数据类型或低级硬件环境。例如,有关数据可被存储在易失性和或非易失性存储器例如,RAM、ROM等或其他存储装置以及与它们相关的存储介质(包括硬盘驱动器、软盘、光学存储、磁带、闪存记忆棒、数字视频光盘、生物学存储中。相关数据可通过传输环境包括物理和或逻辑网络)以分组、串行数据、并行数据、传播的信号等形式被传送,并可被用于压缩的或加密的格式中。相关数据可被用于分布式环境中,并可针对机器访问被本地和或远程地存储。[0094]本发明构思的实施例可包括有形的、非暂时的机器可读介质,所述介质包括可由一个或更多个处理器执行的指令,并且所述指令包括要执行如本文所述的本发明构思的元件的指令。[0095]已经参照示出的实施例描述并示出了本发明构思的原理,将被公认的是,在不脱离这样的原理的情况下,示出的实施例可在布置上和细节上进行修改,并可以以任何期望的方式进行组合。并且,尽管上述讨论已经集中于特定的实施例,但也可考虑其他配置。特别地,即使在本文中使用了诸如“根据本发明构思的实施例”等的表达,但这些短语表示通常参考实施例可能性,并不意图将本发明构思限定于特定的实施例。如这里使用的,这些术语可参考与其他实施例结合的相同或不同的实施例。[0096]上述说明的实施例不构成对本发明构思的限制。尽管已经描述了一些实施例,本领域的技术人员将容易地理解,在不实质地脱离本公开的新颖的教导和优点的情况下,对这些实施例的许多修改是可能的。因此,所有这样的修改意图被包括在权利要求所定义的发明构思的范围内。[0097]本发明构思的实施例可扩展到以下声明,但不具有限制:[0098]声明1、本发明构思的实施例包括基板管理控制器BMC,所述BMC包括:[0099]访问逻辑,用于确定机箱的配置;[0100]嵌入自配置逻辑,用于响应于机箱的配置来配置BMC,其中,BMC可在不使用任何BIOS、装置驱动器或操作系统的情况下进行自配置。[0102]声明2、本发明构思的实施例包括根据声明1的BMC,其中,嵌入自配置逻辑响应于机箱的配置,可操作以将BMC配置为使用非易失性存储器快速标准NVMe驱动器或网络架构上的非易失性存储器NVMeoF驱动器中的任何一个。[0103]声明3、本发明构思的实施例包括根据声明2的BMC,其中,使用NVMeoF驱动器使BMC能够确定包括BMC的机箱中的至少一个装置的配置。[0104]声明4、本发明构思的实施例包括根据声明2的BMC,其中,访问逻辑包括重要产品数据VPD读取逻辑以从VPD读取机箱的配置。[0105]声明5、本发明构思的实施例包括根据声明4的BMC,其中,VPD被存储在电可擦除可编程只读存储器EEPR0M中。[0106]声明6、本发明构思的实施例包括根据声明2的BMC,其中,访问逻辑包括引脚读取逻辑,用于从BMC上的至少一个引脚上的信号确定机箱的配置。[0107]声明7、本发明构思的实施例包括根据声明2的BMC,其中,嵌入自配置逻辑包括驱动加载器,用于响应于机箱的配置加载NVMe驱动器或NVMeoF驱动器。[0108]声明8、本发明构思的实施例包括根据声明7的BMC,其中,嵌入自配置逻辑还包括驱动下载器,用于从驱动器源下载NVMe驱动器或NVMeoF驱动器。[0109]声明9、本发明构思的实施例包括根据声明8的BMC,其中,驱动器源取自包括EEPR0M、本地计算机网络上的第一站点和全球计算机网络上的第二站点中的存储器的集合。[0110]声明10、本发明构思的实施例包括根据声明2的BMC,其中,访问逻辑可操作以确定机箱的配置是否包括高可用性HA机箱。[0111]声明11、本发明构思的实施例包括根据声明10的BMC,其中,嵌入自配置逻辑可操作以加载HA驱动器。[0112]声明I2、本发明构思的实施例包括根据声明11的BMC,其中,嵌入自配置逻辑可操作以在BMC已经确定配对伙伴是否可用之前加载ha驱动器。[0113]声明13、本发明构思的实施例包括根据声明n的腿C,还包括错误报告逻辑,用于在HA驱动器不可用的情况下报告错误。[0114]声明M、本发明构思的实施例包括根据声明10的BMC,还包括错误报告逻辑,用于在BMC不可与配对伙伴进行通信的情况下报告错误。[0115]声明15、本发明构思的实施例包括一种方法,所述方法包括:[0116]通过基板管理控制器BMC确定包括BMC的机箱的配置;[0117]响应于机箱的配置选择驱动器;[0118]加载选择的驱动器,[0119]其中,BMC可在不使用任何BI0S、装置驱动器或操作系统的情况下进行自配置。[0120]声明16、本发明构思的实施例包括根据声明i5的方法,其中:[0121]机箱的配置取自包括非易失性存储器快速标准NVMe机箱和网络架构上的非易失性存储器快速标准NVMeoF机箱的集合;[0122]响应于机箱的配置选择驱动器的步骤包括:根据机箱的配置,为BMC选择NVMe驱动器和NVMeoF驱动器中的一个。[0123]声明17、本发明构思的实施例包括根据声明16的方法,其中:[0124]通过基板管理控制器BMC确定包括刚C的机箱的配置的步骤包括:通过BMC确定机箱的配置是_e〇F机箱;[0125]所述方法还包括:通过BMC确定包括BMC的机箱中的至少一个装置的配置。[0126]声明18、本发明构思的实施例包络根据声明16的方法,其中,通过基板管理控制器BMC确定包括BMC的机箱的配置的步骤包括:从重要产品数据VPD读取机箱的配置。[0127]声明19、本发明构思的实施例包括根据声明18的方法,其中,vro被存储在电可擦除可编程只读存储器EEPR0M中。[0128]声明20、本发明构思的实施例包括根据声明16的方法,其中,通过基板管理控制器BMC确定包括BMC的机箱的配置的步骤包括:访问BMC上的至少一个引脚的信号以确定基板的配置。[0129]声明21、本发明构思的实施例包括根据声明16的方法,还包括:从驱动器源下载选择的驱动器。[0130]声明22、本发明构思的实施例包括根据声明21的方法,其中,驱动器源取自包括EEPR0M、本地计算机网络上的第一站点和全球计算机网络上的第二站点中的存储器的集合。[0131]声明23、本发明构思的实施例包括根据声明16的方法,其中,通过基板管理控制器BMC确定机箱的配置的步骤包括:通过BMC确定机箱的配置是高可用性HA机箱。[0132]声明24、本发明构思的实施例包括根据声明23的方法,其中,根据机箱的配置为BMC选择驱动器的步骤包括:选择HA驱动器。[0133]声明25、本发明构思的实施例包括根据声明24的方法,还包括在HA驱动器不可用的情况下报告错误。[0134]声明26、本发明构思的实施例包括根据声明24的方法,还包括尝试与BMC的配对伙伴进行通信。[0135]声明27、本发明构思的实施例包括根据声明26的方法,还包括在BMC不可与配对伙伴进行通信的情况下报告错误。[0136]声明28、本发明构思的实施例包括根据声明26的方法,其中,尝试与BMC的配对伙伴进行通信的步骤包括:在加载HA驱动器之后尝试与BMC的配对伙伴进行通信。[0137]声明29、本发明构思的实施例包括装置,所述装置包括有形的存储介质,所述有形的存储介质上己经存储了非暂时性指令,当通过机器执行所述非暂时性指令时,所述非暂时性指令引起以下操作:[0138]通过基板管理控制器BMC确定包括BMC的机箱的配置;[0139]响应于机箱的配置选择驱动器;[0140]加载选择的驱动器,[0141]其中,BMC可在不使用任何Bios、装置驱动器或操作系统的情况下进行自配置。[0142]声明30、本发明构思的实施例包括根据声明29的装置,其中:[0143]机箱的配置取自包括非易失性存储器快速标准NVMe机箱和网络架构上的非易失性存储器快速标准NVMeoF机箱的集合;[0144]响应于机箱的配置选择驱动器的步骤包括:根据机箱的配置,为BMC选择NVMe驱动器和NVMeoF驱动器之一。[0145]声明31、本发明构思的实施例包括根据声明30的装置,其中:[0146]通过基板管理控制器BMC确定包括BMC的机箱的配置的步骤包括:通过BMC确定机箱的配置是NVMeoF机箱;[0147]有形的存储介质在其上还存储了以下的非暂时性指令:当通过机器执行该非暂时性指令时,该非暂时性指令引起以下操作:通过BMC确定包括BMC的机箱中的至少一个装置的配置。[0148]声明32、本发明构思的实施例包括根据声明30的装置,其中,通过基板管理控制器BMC确定包括BMC的机箱的配置的步骤包括:从重要产品数据VPD中读取机箱的配置。[0149]声明33、本发明构思的实施例包括根据声明32的装置,其中VPD被存储在电可擦除可编程只读存储器EEPR0M中。[0150]声明34、本发明构思的实施例包括根据声明30的装置,其中,通过基板管理控制器BMC确定包括BMC的机箱的配置的步骤包括:访问BMC上的至少一个引脚的信号以确定机箱的配置。[0151]声明35、本发明构思的实施例包括根据声明30的装置,有形的存储介质在其上还存储了以下的非暂时性指令:当通过机器执行该非暂时性指令时,该非暂时性指令引起以下操作:从驱动器源下载选择的驱动器。[0152]声明36、本发明构思的实施例包括根据声明35的装置,其中,驱动器源取自包括EEPR0M、本地计算机网络上的第一站点和全球计算机网络上的第二站点中的存储器的集合。[0153]声明37、本发明构思的实施例包括根据声明30的装置,其中,通过基板管理控制器BMC确定机箱的配置的步骤包括:通过BMC确定机箱是高可用性ha机箱。[0154]声明38、本发明构思的实施例包括根据声明37的装置,其中,根据机箱的配置为BMC选择驱动器的步骤包括:选择ha驱动器。[0155]声明39、本发明构思的实施例包括根据声明38的装置,有形的存储介质在其上还存储了以下非暂时性指令:当通过机器执行该非暂时性指令时,该非暂时性指令引起以下操作:在HA驱动器不可用的情况下报告错误。[0156]声明40、本发明构思的实施例包括根据声明38的装置,有形的存储介质在其上还存储了以下非暂时性指令:当通过机器执行该非暂时性指令时,该非暂时性指令引起以下操作:尝试与BMC的配对伙伴进行通信。[0157]声明41、本发明构思的实施例包括根据声明40的装置,有形的存储介质在其上还存储了以下非暂时性指令:当通过机器执行该非暂时性指令时,该非暂时性指令引起以下操作:在BMC不可与配对伙伴进行通信的情况下报告错误。[0158]声明42、本发明构思的实施例包括根据声明40的装置,其中,尝试与BMC的配对伙伴进行通信的步骤包括:在加载HA驱动器之后尝试与BMC的配对伙伴进行通信。[0159]声明43、本发明构思的实施例包括机箱中的代理装置,所述代理装置包括:[0160]装置通信逻辑,通过控制平面与至少一个装置通信以传输关于所述至少一个装置的数据;[0161]接收逻辑,从主机接收询问,所述询问请求关于所述至少一个装置的信息;[0162]发送逻辑,向主机发送响应,所述响应包括关于所述至少一个装置的数据。[0163]声明44、本发明构思的实施例包括根据声明43的代理装置,其中,代理装置取自包括基板管理控制器BMC、独立磁盘冗余阵列RAID控制器和处理器的集合。[0164]声明妨、本发明构思的实施例包括根据声明43的代理装置,其中,所述至少一个装置取自包括存储装置和网络接口卡NIC的集合。[0165]声明4e、本发明构思的实施例包括根据声明43的代理装置,其中,装置通信逻辑包括读取逻辑,用于从针对所述至少一个装置的重要产品数据读取关于所述至少一个装置的数据。[0166]声明47、本发明构思的实施例包括根据声明46的代理装置,其中,重要产品数据被存储在电可擦除可编程只读存储器EEPR0M中。[0167]声明48、本发明构思的实施例包括根据声明43的代理装置,其中:[0168]装置通信逻辑包括:轮询逻辑,用于向所述至少一个装置轮询关于所述至少一个装置的数据;[0169]接收逻辑可操作以从所述至少一个装置接收关于所述至少一个装置的数据。[0170]声明49、本发明构思的实施例包括根据声明43的代理装置,其中,机箱包括与代理装置相关联的永久存储器,其中代理装置可从关于所述至少一个装置的数据创建日志页面。[0171]声明50、本发明构思的实施例包括根据声明49的代理装置,还包括日志页面创建逻辑,用于从关于所述至少一个装置的数据创建日志页面。[0172]声明51、本发明构思的实施例包括根据声明49的代理装置,其中,发送逻辑可操作以响应于询问向主机发送日志页面。[0173]声明52、本发明构思的实施例包括一种方法,所述方法包括:[0174]在代理装置从至少一个装置接收关于所述至少一个装置的配置的至少一个数据,所述数据是通过控制平面从所述至少一个装置被接收的;[0175]将所述至少一个数据编译为记录;[0176]在代理装置从主机接收对于所述至少一个装置的配置的询问;[0177]将记录从代理装置发送到主机,[0178]其中,代理装置可从所述至少一个装置接收所述至少一个数据,并在从主机接收询问之前将所述至少一个数据编译为记录。[0179]声明53、本发明构思的实施例包括根据声明52的方法,其中,代理装置取自包括基板管理控制器BMC、独立磁盘冗余阵列RAID控制器、处理器或软件代理装置的集。[0180]声明54、本发明构思的实施例包括根据声明52的方法,其中,所述至少一个装置取自包括存储装置和网络接口卡NIC的集合。_[0181]声明55、本发明构思的实施例包括根据声明52的方法,其中,在代理装置从所述至少一个装置接收关于所述至少一个装置的配置的至少一个数据的步骤包括:在代理装置M过控制平面从所述至少一个装置接收关于所述至少一个装置的配置的至少一个数据'[0182]声明56、本发明构思的实施例包括根据声明52的方法,其中,在代理装置从所述至少一个装置接收关于所述至少一个装置的配置的至少一个数据的步骤包括:向所述至少—个装置轮询所述至少一个装置的配置。、[0183]声明57、本发明构思的实施例包括根据声明52的方法,其中,在代理装置从所述至少一个装置接收关于所述至少一个装置的配置的至少一个数据的步骤包括:当所述至少一个装置中的一个装置的配置改变时从所述至少一个装置中的所述一个装置接收数据。[0184]声明58、本发明构思的实施例包括根据声明52的方法,其中,在代理装置从所述至少一个装置接收关于所述至少一个装置的配置的至少一个数据的步骤包括:从至少一个重要产品数据读取所述至少一个数据。[0185]声明59、本发明构思的实施例包括根据声明58的方法,其中,所述至少一个重要产品数据被存储在电可擦除可编程只读存储器EEPR0M中。[0186]声明60、本发明构思的实施例包括根据声明52的方法,其中,将所述至少一个数据编译为记录的步骤包括:从所述至少一个数据创建日志页面。[0187]声明61、本发明构思的实施例包括根据声明60的方法,其中,将所述至少一个装置的配置从代理装置发送到主机的步骤包括:将日志页面从代理装置发送到主机。[0188]声明62、本发明构思的实施例包括根据声明52的方法,其中将所述至少一个装置的配置从代理装置发送到主机的步骤包括:将所述至少一个数据从代理装置发送到主机。[0189]声明63、本发明构思的实施例包括一种方法,所述方法包括:[0190]通过装置确定所述装置的配置的改变;[0191]通过控制屏幕向代理装置通知所述装置的配置的改变。[0192]声明64、本发明构思的实施例包括根据声明63的方法,其中,代理装置取自包括基板管理控制器BMC、独立磁盘冗余阵列RAID控制器、处理器或软件代理装置的集合。[0193]声明65、本发明构思的实施例包括根据声明63的方法,其中,所述至少一个装置取自包括存储装置和网络接口卡NIC的集合。[0194]声明66、本发明构思的实施例包括根据声明63的方法,其中,向代理装置通知所述装置的配置的改变的步骤包括:将所述装置的配置的改变写入可由代理装置读取的重要产品数据中。[0195]声明W、本发明构思的实施例包括根据声明66的方法,其中,向代理装置通知所述装置的配置的改变的步骤还包括:向代理装置通知所述装置的配置的改变被写入重要产品数据。[0196]声明68、本发明构思的实施例包括根据声明63的方法,其中,向代理装置通知所述装置的配置中的改变的步骤包括:[0197]从代理装置接收对于所述装置的配置的当前状态的询问;[0198]向代理装置发送包括所述装置的配置的改变的响应。[0199]声明69、本发明构思的实施例包括一种装置,所述装置包括有形存储介质,所述有形存储介质已经在其上存储了非暂时性指令,当由机器执行所述非暂时性指令时,所述非暂时性指令引起以下操作:[0200]在代理装置从至少一个装置接收关于所述至少一个装置的配置的至少一个数据,其中,所述数据是通过控制平面从所述至少一个装置接收的;[0201]将所述至少一个数据编译为记录;[0202]在代理装置从主机接收对于所述至少一个装置的配置的询问;[0203]将记录从代理装置发送到主机,[0204]其中,代理装置可从所述至少一个装置接收所述至少一个数据,并在从主机接收询问之前将所述至少一个数据编译为记录。[0205]声明70、本发明构思的实施例包括根据声明69的装置,其中,代理装置取自包括基板管理控制器BMC、独立磁盘冗余阵列RAID控制器、处理器或软件代理装置的集合。[0206]声明71、本发明构思的实施例包括根据声明的的装置,其中,所述至少一个装置取自包括存储装置和网络接口卡NIC的集合。[0207]声明72、本发明构思的实施例包括根据声明的的装置,其中,在代理装置从所述至少一个装置接收关于所述至少一个装置的配置的至少一个数据的步骤包括:在代理装置通过控制平面从所述至少一个装置接收关于所述至少一个装置的配置的所述至少一个数据。[0208]声明73、本发明构思的实施例包括根据声明69的装置,其中,在代理装置从所述至少一个装置接收关于所述至少一个装置的配置的至少一个数据的步骤包括:向所述至少一个装置轮询所述至少一个装置的配置。[0209]声明74、本发明构思的实施例包括根据声明69的装置,其中,在代理装置从所述至少一个装置接收关于所述至少一个装置的配置的至少一个数据的步骤包括:当所述至少一个装置中的一个装置的配置改变时从所述至少一个装置中的所述一个装置接收数据。[0210]声明75、本发明构思的实施例包括根据声明69的装置,其中,代理装置从所述至少一个装置接收关于所述至少一个装置的配置的至少一个数据的步骤包括:从至少一个重要产品数据读取所述至少一个数据。_[0211]声明76、本发明构思的实施例包括根据声明75的装置,其中,所述至少一个重要产品数据被存储在电可擦除可编程只读存储器EEPR0M中。[0212]声明77、本发明构思的实施例包括根据声明69的装置,其中,将所述至少一个数据编译为记录的步骤包括:从所述至少一个数据创建日志页面。、[0213]声明78、本发明构思的实施例包括根据声明77的装置,其中,将所述至少一个装置的配置从代理装置发送到主机的步骤包括:将日志页面从代理装置发送到主机。[0214]声明79、本发明构思的实施例包括根据声明69的装置,其中将所述至少一个装置的配置从代理装置发送到主机的步骤包括:将所述至少一个数据从代理装置发送到主机。[0215]声明80、本发明构思的实施例包括一种装置,所述装置包括有形存储介质,所述有形存储介质已经在其上存储了非暂时性指令,当由机器执行所述非暂时性指令时,所述非暂时性指令引起以下操作:[0216]通过装置确定所述装置的配置的改变;[0217]通过控制平面向代理装置通知所述装置的配置的改变。[0218]声明S1、本发明构思的实施例包括根据声明80的装置,其中,代理装置取自包括基板管理控制器BMC、独立磁盘冗余阵列RAID控制器、处理器或软件代理装置的集合。[0219]声明82、本发明构思的实施例包括根据声明80的装置,其中,所述至少一个装置取自包括存储装置和网络接口卡NIC的集合。[0220]声明83、本发明构思的实施例包括根据声明80的装置,其中,向代理装置通知所述装置的配置的改变的步骤包括:将所述装置的配置的改变写入可由代理装置读取的重要产品数据。[0221]声明S4、本发明构思的实施例包括根据声明83的装置,其中,向代理装置通知所述装置的配置的改变的步骤还包括:向代理装置通知所述装置的配置的改变被写入重要产品数据。[0222]声明85、本发明构思的实施例包括根据声明80的装置,其中,向代理装置通知所述装置的配置的改变的步骤包括:[0223]从代理装置接收对于所述装置的配置的当前状态的询问;[0224]向代理装置发送包括所述装置的配置的改变的响应。[0225]因此,考虑到对这里描述的实施例的各种各样的排列,该详细描述和附随的材料意图仅为说明性的,而不应该被认为是对本发明构思的范围的限制。因此,本发明构思所要求保护的是在权利要求及其等同物的范围和精神内可进行的所有这些修改。

权利要求:1.一种机箱中的代理装置,所述代理装置包括:装置通信逻辑,用于通过控制平面与至少一个装置通信关于所述至少一个装置的数据;接收逻辑,用于从主机接收询问,其中,所述询问请求关于所述至少一个装置的信息;发送逻辑,用于向主机发送响应,其中,所述响应包括关于所述至少一个装置的数据。2.如权利要求1所述的代理装置,其中,代理装置取自包括基板管理控制器、独立磁盘冗余阵列控制器和处理器和集合。3.如权利要求1所述的代理装置,其中,装置通信逻辑包括:读取逻辑,用于从针对所述至少一个装置的重要产品数据读取关于所述至少一个装置的数据。4.如权利要求3所述的代理装置,其中,所述重要产品数据被存储在电可擦除可编程只读存储器中。5.如权利要求1所述的代理装置,其中:装置通信逻辑包括:轮询逻辑,用于向所述至少一个装置轮询关于所述至少一个装置的数据;接收逻辑从所述至少一个装置接收关于所述至少一个装置的数据。6.如权利要求1所述的代理装置,其中,所述机箱包括与所述代理装置相关联的永久存储器,其中,代理装置在所述永久存储器中从关于所述至少一个装置的数据创建日志页面。7.如权利要求6所述的代理装置,其中,发送逻辑响应于所述询问将日志页面发送到主机。8.—种使用代理装置发现装置的方法,包括:在代理装置从至少一个装置接收关于所述至少一个装置的配置的至少一个数据,其中,所述数据是通过控制平面从所述至少一个装置被接收的;在代理装置将所述至少一个数据编译为记录;在代理装置从主机接收对于所述至少一个装置的配置的询问;将所述记录从代理装置发送到主机,其中,代理装置从所述至少一个装置接收所述至少一个数据并在从主机接收所述询问之前将所述至少一个数据编译为所述记录。9.如权利要求8所述的方法,其中,代理装置取自包括基板管理控制器、独立磁盘冗余阵列控制器、处理器或软件代理装置的集合。10.如权利要求8所述的方法,其中,在代理装置从所述至少一个装置接收关于所述至少一个装置的配置的至少一个数据的步骤包括:向所述至少一个装置轮询所述至少一个装置的配置。、、、11.如权利要求8所述的方法,其中,在代理装置从所述至少一个装置接收关于所述至少一个装置的配置的至少一个数据的步骤包括:当所述至少一个装置中的一个装置的配置改变时,从所述至少一个装置的所述一个装置接收数据。、12.如权利要求8所述的方法,其中,在代理装置从所述至少一个装置接收关于所述至少一个装置的配置的至少一个数据的步骤包括:从至少一个重要产品数据读取所述至少一个数据。13.如权利要求12所述的方法,其中,所述至少一个重要产品数据被存储在电可擦除可编程只读存储器中。^^14.如权利要求8所述的方法,其中,将所述至^一个数据编译为记录的步骤包括:从所述至少一个数据创建日志页面。15.如权利要求14所述的方法,其中,将所述至少一个装置的配置从代理装置发送到主机的步骤包括:将所述日志页面从代理装置发送到主机。16.如权利要求8所述的方法,其中,将所述至少一个装置的配置从代理装置发送到主机的步骤包括:将所述至少一个数据从代理装置发送到主机。17.—种向代理装置通知装置的配置的改变的方法,包括:通过装置确定装置的配置的改变;通过控制平面向代理装置通知装置的配置的改变。18.如权利要求17所述的方法,其中,装置取自包括存储装置和网络接口卡的集合。19.如权利要求I7所述的方法,其中,向代理装置通知装置的配置的改变的步骤包括:将装置的配置的改变写到由代理装置读取的重要产品数据。20.如权利要求I9所述的方法,其中,向代理装置通知装置的配置的改变的步骤还包括:向代理装置通知装置的配置的改变被写到重要产品数据。

百度查询: 三星电子株式会社 使用BMC作为代理NVMEOF发现控制器向主机提供NVM子系统的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。