通过管理控制器更新硬盘的方法与系统与流程

文档序号:15931061发布日期:2018-11-14 01:38阅读:429来源:国知局
本发明涉及通过管理控制器更新硬盘的方法与系统。
背景技术
:在传统技术上,“sas”或称“串行附接scsi”(serialattachedscsi)/sata或称“串行ata”(serialadvancedtechnologyattachment)硬盘/固态硬盘(ssd)贩卖商或计算机制造商提供各自执行于带内(in-band)操作系统(operatingsystem,os)的硬盘固件更新工具以更新硬盘固件(hddfw)。例如hp智能更新管理工具(smartupdatemanager,sum)和dell戴尔更新套装(dellupdatepackages,dup)。然而,所有传统更新硬盘固件的方法与系统都需要处理许多不同种类的操作系统(os),因而导致多样化的复杂与管理问题,诸如符合不同操作系统、支持不同操作系统的不同版本等。在传统技术上,没有任何可行的工具使用带外(outofband,oob)管理的管理控制器(mc)更新硬盘固件,或减少上述复杂性与管理问题。因此,需要经由带外管理的bmc以更新硬盘固件的解决方法。技术实现要素:以下描述呈现一个或多个实施例的一简化的概要,以提供对于本发明的基本了解。此
发明内容并非本发明的所有考虑的实施例的全面性地概要,并非旨在辨认所有示例的关键或重要组件,也非描述本发明的任何或所有层面的范围。其唯一目的是以简化形式呈现一个或多个示例的一些概念,作为之后呈现更多细节描述的开始。在一第一实施例中,提供一使用管理控制器(managementcontroller,mc)更新sas硬盘固件的方法。由管理控制器执行的该方法,包括通过一局域网络(localareanetwork,lan)上传该硬盘固件,将该硬盘固件分成多个区块(chunk),与该多个区块一起发布多个小型计算机系统接口(smallcomputersysteminterface,scsi)写入缓冲(writebuffer)指令,以及写入该多个区块至该sas硬盘。在一第二实施例中,提供一使用管理控制器更新一sata硬盘固件的方法。由管理控制器执行的该方法,包括通过一局域网络(lan)上传该硬盘固件、将该硬盘固件分成多个区块,与下载微码(downloadmicrocode)先进技术附接(ata)指令和该多个区块一起发布多个小型计算机系统接口(scsi)先进技术附接(advancedtechnologyattachment,ata)传递(pass-through)指令,以及写入该多个区块至该串行先进技术附接硬盘(satahdd)。在一第三实施例中,提供一更新一sas硬盘固件的系统。该系统包括一管理控制器(mc)、该sas硬盘、一管理软件,其中该管理软件被配置以上传该sas硬盘固件至该管理控制器,以及该管理控制器将该已上传的sas硬盘固件分成多个区块,以及发布一写入指令以写入该多个区块至该sas硬盘。在一第四实施例中,提供一更新串行先进技术附接(sata)硬盘固件的系统。该系统包括一管理控制器、该串行先进技术附接硬盘、以及一管理软件,其中该管理软件被配置以上传该串行先进技术附接硬盘固件至该管理控制器,以及该管理控制器被配置将已上传的串行先进技术附接硬盘固件分成多个区块,以及发布一写入指令以写入该多个区块至该串行先进技术附接硬盘。附图说明本发明的这些和其他示例方面将会在以下实施方式和所附权利要求书以及附图中加以描述,其中:图1示出sas硬盘/sata硬盘的传统拓朴架构(topology)。图2示出在先前技术中,从带内操作系统视角的更新硬盘固件的sas协议堆栈。图3示出根据一示例性实施例的从基板管理控制器(bmc)视角的更新硬盘固件的一sas协议堆栈。图4示出根据一示例性实施例,经由管理组件传输协议(mctp)以支持不同智能型硬件组件间的通信的通信流程。图5示出通过bmc更新硬盘固件的一示例系统的方块图。图6示出一时间图,其示出使用基板管理控制器更新硬盘固件的不同硬件组件间的通信流程。图7示出一流程图,其描述使用bmcoob更新硬盘固件的流程。具体实施方式本发明提供根据本技术的在一服务器系统中管理网络配置的技术,本发明的多种实施方式参考附图进行描述。在以下的描述中,为了解释的目的,设定许多特定细节以提供一个或多个实施方式的全面性理解。然而,很显然地,本发明可以没有这些特定细节而被执行。在其他例子中,已知的架构和装置以方块图的形式示出,以易于描述这些实施方式。此处使用的“示例性(exemplary)”词语表示“作为示例(example)、例子(instance)或说明(illustration)”的意思。任何在此被描述作为“示例性”的实施例不需解释为较佳或是优于其他实施例。然而,本
技术领域
:技术人员将容易地辨识本发明可以不用一个或多个特定细节或用其他方法即可被执行。在其它例子中,已知的架构和操作没有详细地被描述以避免使本发明难以理解。本发明不受限于动作与事件的说明顺序,因为一些动作可以不同的顺序发生以及/或是和其他动作或事件同时发生。除此之外,并不是全部被说明的动作或事件都需要根据本发明的方法实施。如上所述,对于通过带外管理控制器(mcoob)更新硬盘固件的解决方法,有着显著的需求。鉴于前述,本公开使用图1至图7中所示出的图示描述硬盘固件的更新。许多参考基板管理控制器(baseboardmanagementcontroller,bmc)的实施例在下文中被描述。然而,请注意本公开的范围不受限于此,以及任何管理控制器可被用来更新硬盘固件。图1示出串行附接小型计算机系统接口(serialattachedscsi,下称sas)/串行先进技术附接(serialadvancedtechnologyattachment,下称sata)硬盘的传统拓朴架构。如图1所示出的sas拓朴架构由可以彼此相互作用的sas装置组成。该拓朴架构由两个部分组成,一为终端装置,以及另一为服务传送子系统(servicedeliverysubsystem)。终端装置的示例性实施例包括发布指令(command)的sas初始器(sasinitiator)以及执行这些指令的sas目标(sastarget)。服务传送子系统的示例性实施例包括扩展器(expander)和缆线(cable)。在下文中,“扩展器”一词是指sas扩展器和与扩展器有关的缆线。sas使用一基于连接的协议。因此,在发送指令之前,sas初始器必须藉由提出一连接(connection)请求以建立一连接,以及sas目标必须响应此连接请求。来自sas初始器的通信包括指令与数据的传输,来自sas目标的通信包括数据与状态更新的传输。一旦sas初始器任务完成,在sas初始器与sas目标之间的连接被终止。在sas初始器之间的连接为通过端口实现或执行(carry),每一个端口有一端口地址(portaddress)。利用端口地址执行所有的小型计算机系统接口(smallcomputersysteminterface,下称scsi)和sata的转换,其中,每个端口由一个或多个物理层(physicallayers,phys)组成。主机总线配接器(hostbusadapter,下称hba)的功能包括处理来自快捷外设互联标准(peripheralcomponentinterconnectexpress,下称pcie)接口(interface,i/f)的sas协议(serialscsiprotocol,下称ssp)/串行先进技术附接通道协议(satatunneledprotocol,下称stp)/串行管理协议(serialmanagementprotocol,下称smp)传送层需求。以下更详细地定义不同的协议。串行小型计算机系统接口协议(ssp)定义sas传输(sastransport)如何传送sas初始器和sas目标之间的scsi指令、数据、响应(状态)以及控制。串行先进技术附件通道协议(stp)允许一主机中的一先进技术附接装置驱动(atadevicedriver)通过sas服务传送子系统与一sata硬盘通信。串行先进技术附件通道协议(stp)还定义sas传输如何传送sas致能的sata主机与sata装置之间的先进技术附接(ata)指令、数据、状态以及控制。sata装置无法感知sas环境,转译(translation)程序为通过扩展器的“sas转sata网桥”(sastosatabridge)完成。串行管理协议(smp)定义一sas初始器如何配置(configure)并保持扩展器和sas服务传送子系统。hba和扩展器的进一步功能描述如下。当电源开启时,sas/sata硬盘都可和扩展器交握(handshake),并帮助扩展器建立路由表(routingtable),路由表显示哪一硬盘连接于哪一物理层(phy)端口的映射表(mappingtable)。主机总线配接器(hba)可使用串行管理协议(smp)交递(handoff)管理至扩展器。主机总线配接器(hba)可利用sas协议(ssp)交递连接管理及传送scsi指令、数据以及状态至直接附接的sas硬盘。主机总线配接器(hba)可使用sas协议(ssp)交递连接管理以及传送scsi指令、数据以及状态至连接至扩展器的sas硬盘,其中扩展器具有用以传递帧(frame)至目标sas硬盘的路由表。主机总线配接器(hba)可使用串行先进技术附接通道协议(stp)以交递连接管理以及传输ata指令、数据以及状态至连接至扩展器的sata硬盘,其中扩展器具有一路由表以传递帧至目标sata硬盘。扩展器相似于网络交换器(switch)或路由器(router),因其使用路由表由源端物理层(sourcephy)路由(route)帧至目的物理层。直接附接sata硬盘的扩展器可包括“sas转sata网桥”(sastosatabridge)。在中央处理器端为一仿真(emulated)sas装置,包括连接管理以及以sas地址表示以代表sata装置。在其他端为一仿真sata主机,其被配置以和真实sata装置109和110通信。从sas/sata硬盘的拓朴架构中具有一通过局域网络(lan)连接至基板管理控制器(bmc)102的管理软件101。根据一示例性实施例,基板管理控制器102通过pcie与平台控制器集线器(platformcontrollerhub,pch)103通信,以及通过集成电路总线(inter-integratedcircuit,i2c)连结(communicate)至该主机总线配接器(hba)105。此拓朴架构还包括一中央处理器(cpu)104、多个sas扩展器106和107、一网桥(bridge)、sas硬盘(sashdd)111~115,以及串行先进技术附接硬盘(satahdd)108~110。根据路由表的功能的一示例性实施例,参照图1,编号1号的sas扩展器(sasexpander#1)106的物理层标识符2(phyid2)连接于编号2号的sas硬盘(sashdd#2112),而编号1号的sas扩展器(sasexpander#1)106的物理层标识符3(phyid3)连接于编号3号的sas硬盘(sashdd#3)113。因此,若主机总线配接器(hba)105尝试存取编号2号的sas硬盘(sashdd#2)112上的数据,来自于主机总线配接器(hba)105到编号1号的sas扩展器(sasexpander#1)106的sas(小型计算机系统接口指令)帧将根据路由表被发送(forward)至物理层标识符2(phyid2),因此使帧输出(goout)至正确的装置,即,编号2号的sas硬盘(sashdd#2)112。图2示出在先前技术中,从带内操作系统(os)视角的一sas协议堆栈以更新硬盘固件。主机总线配接器固件(hbafw)包括ssp传送层204/stp传送层205/smp传送层206,及其相关下层用以连接扩展器、sas硬盘以及sata硬盘(sas仿真硬盘以代表sata硬盘)。sas扩展器固件包括链路层(linklayer)以及相关下层,主要用以根据路由表路由帧。sas扩展器固件包括“sas转sata网桥”(sastosatabridge)。sas硬盘固件包括scsi应用层201,以和对应的scsi应用程序通信,sata硬盘固件包括ata应用层202,以和对应的sata应用程序通信。根据先前技术,带内(in-band)sas硬盘固件更新流程包括扩展器搜寻sas硬盘,以及当电源打开时建立路由表。接着,确定上传的sas硬盘固件没有问题,并将固件分为许多区块(blocks),而后经由pcie发布(issue)第一scsi写入缓冲指令(thefirstscsiwritebuffercommand)以及第一区块,藉此流程以更新固件。根据先前技术,sas初始端口和该sas目标端口之间的连接首先被建立。对于sas硬盘来说,此连接位于主机总线配接器hba(sas初始端口)和sas硬盘(sas目标端口)207之间。若sas硬盘有连接至附近的扩展器106和107,此连接根据路由表经由扩展器106和107至目标sas硬盘。一旦此连接被建立,第一区块经由此连接被写入至sas硬盘。带内sas硬盘固件更新流程还包括,经由pcie及连接将后续的scsi写入缓冲指令以及后续的区块一个接一个地更新sas硬盘固件。一旦更新已经完成,此连接被终止。带内sata硬盘固件更新流程包括,扩展器搜寻sata硬盘,当电源打开时建立路由表。此流程还包括,确定上传的sata硬盘固件没有问题。流程接着包括,将固件分为许多区块,经由pcie发布第一sata传递指令(thefirstscsiatapass-throughcommand)与下载微码先进技术附接指令(downloadmicrocodeatacommand),且第一区块位于其中,藉此流程以更新该固件。sas初始端口和sas目标端口之间的连接首先被建立。对于sata硬盘来说,此连接在主机总线配接器hba(stp初始端口)和扩展器(stp目标端口)之间被建立。一旦此连接被建立,第一区块经由此连接被写入至sata硬盘。带内sata硬盘固件更新流程还包括,经由pcie及连接将后续的sata传输指令写入缓冲指令与下载微码先进技术附接指令(downloadmicrocodeatacommand)及后续的区块一个接一个地更新sata硬盘固件。一旦更新完成,此连接被终止。在本领域中,当电源打开时,硬盘控制器从闪存加载固件图像(fwimage)到存储器,而后固件于该存储器上执行。当执行固件升级时,硬盘控制器通过scsi指令(scsi写入缓冲指令或sata传递指令)接收上传的固件图像,接着程序化固件图像至闪存。因此,带内操作系统或应用程序仍然可以存取硬盘数据,因为可通过scsi指令进行存取。然而,通过scsi指令进行存取可能会失败,因为控制器一次只能处理一scsi指令。因此,硬盘不必置于脱机模式。图2还示出管理应用层203、scsi应用层201和ata应用层202、包括sas协议(ssp)/串行先进技术附接通道协议(stp)/串行管理协议(smp)链路层及sas链路层的连接管理层208、用以编码和速度协商的sasphy层209,以及包括缆线和连接器的sas物理层210,这些全部在本领域中是已知的。图3示出根据一示例性实施例的从一基板管理控制器视角的更新硬盘固件的一sas协议堆栈。本公开在于将应用层从带内操作系统取代为基板管理控制器,因而描述带外管理基板管理控制器(bmcoob)的使用以更新该硬盘固件。这样的取代避免处理许多不同操作系统,相应地避免多种复杂与管理问题,诸如符合不同操作系统、支持不同操作系统的不同版本等。以下描述是通过两种不同的连接使用基板管理控制器(bmc)以更新硬盘固件的流程及系统。说明从通过集成电路总线(i2c),使用基板管理控制器以更新sas硬盘固件和sata硬盘固件的流程开始。接着,描述通过快捷外设互联标准(pcie)连接,使用基板管理控制器以更新sas硬盘固件和sata硬盘固件的流程。如图3所示,从基板管理控制器视角的sas协议堆栈,示出一主机总线配接器(hba)配置为通过集成电路总线(i2c)以及快捷外设互联标准(pcie)连接处理ssp传送层304/stp传送层305/smp传送层306。如图3中所示,包括scsi应用层301、ata应用层302以及管理应用层303的应用层由带内操作系统被取代为基板管理控制器(bmc)。基板管理控制器依序和ssp传送层304/stp传送层305/smp传送层306通信。其他伴随的相关下层包括sas端口层(sasportlayer)307、ssp/stp/smp链路层308、sas链路层308、sasphy层(sasphylayer)309,以及sas物理层(sasphysicallayer)310,这些全部在本领域中是已知的。通过集成电路总线(下称i2c)连接更新sas硬盘固件及sata硬盘固件的流程描述如下。根据一示例性实施例,为使用带外管理基板管理控制器(bmcoob)经由i2c更新sas硬盘固件,管理软件通过局域网络上传硬盘固件至基板管理控制器。基板管理控制器接着确认sas硬盘固件以确定固件没有任何问题地执行。基板管理控制器随后将固件分成多个区块,以及经由i2c发布第一scsi写入缓冲指令与第一区块。首先,sas初始端口与sas目标端口的连接被建立。对sas硬盘而言,此连接在主机总线配接器hba(sas初始端口)及sas硬盘(sas目标端口)之间。若sas硬盘连接至附近的扩展器,此连接根据路由表通过该附近的扩展器连接至目标sas硬盘。一旦此连接被建立,第一区块被写入sas硬盘。接着,基板管理控制器通过i2c及此连接,一个接一个地发布(issue)后续的区块与后续的scsi写入缓冲指令,以更新sas硬盘固件。一旦更新完成,此连接被终止。根据一示例性实施例,如上述的流程,为了使用bmcoob经由i2c连接以更新sata硬盘固件,管理软件通过局域网络上传硬盘固件至基板管理控制器(bmc)。基板管理控制器接着确认上传的sata硬盘固件,以确定固件没有任何问题。接着,基板管理控制器将固件分成多个区块,经由i2c发布第一sata传递指令(scsiatapass-throughcommand)与下载微码先进技术附接指令(downloadmicrocodeatacommand),且第一区块位于其中。首先,sas初始端口与sas目标端口的连接被建立。对sata硬盘来说,此连接在主机总线配接器hba(stp初始端口)和扩展器(stp目标端口)之间。一旦此连接被建立,第一区块被写入sata硬盘。接着,基板管理控制器通过i2c和此连接,发布后续的sata传递指令(scsiatapass-throughcommand)与下载微码先进技术附接指令(downloadmicrocodeatacommand)以及在其中的后续的区块,以更新sata硬盘固件。一旦更新完成,连接被终止。经由快捷外设互联标准(pcie)连接以更新sas硬盘固件及sata硬盘固件的流程描述如下。为了使用bmcoob经由pcie以更新sas硬盘固件,当电源打开时,管理组件传输协议(mctp)总线拥有者,即英特尔管理引擎(managementengine,me),搜寻并分配端点标识符(endpointid,eid)至管理组件传输协议(mctp)致能的硬件组件,于本实施例中,即基板管理控制器和主机总线配接器。每一端点标识符允许在管理组件传输协议(mctp)致能的硬件组件之间之直接点对点通信(peertopeercommunication)。根据一示例性实施例,管理软件通过局域网络上传硬盘固件至基板管理控制器。基板管理控制器接着确认上传的sas硬盘固件,以确定固件没有任何问题。基板管理控制器接着将固件分成多个区块,经由pcie通过管理组件传输协议(mctp)发布第一scsi写入缓冲指令以及第一区块。首先,sas初始端口与sas目标端口的连接被建立。对sas硬盘而言,此连接在主机总线配接器hba(sas初始端口)和sas硬盘(sas目标端口)之间。若sas硬盘为连接至附近的扩展器,则此连接根据路由表通过附近的扩展器连接至目标sas硬盘。一旦此连接被建立,第一区块被写入sas硬盘。接着,基板管理控制器经由pcie通过管理组件传输协议(mctp)一个接一个地发布后续的区块与后续的scsi写入缓冲指令,以更新sas硬盘固件。一旦更新完成,此连接被终止。为了使用bmcoob经由pcie以更新sata硬盘固件,当电源打开时,管理组件传输协议(mctp)总线拥有者,即英特尔管理引擎(me),搜寻并分配端点标识符(eid)至管理组件传输协议(mctp)致能的硬件组件,于本实施例中,为基板管理控制器和主机总线配接器。每一端点标识符允许管理组件传输协议致能的硬件组件之间的直接点对点通信。根据一示例性实施例,如上述流程,管理软件通过局域网络上传硬盘固件至基板管理控制器。基板管理控制器接着确认上传的sata硬盘固件,以确定固件没有任何问题。基板管理控制器接着将固件分成多个区块,以及经由pcie通过管理组件传输协议(mctp)发布第一sata传递指令(scsiatapass-throughcommand)和下载微码先进技术附接指令(downloadmicrocodeatacommand),及在其中的第一区块。首先,sas初始端口与sas目标端口连接被建立。对sata硬盘来说,此连接在主机总线配接器hba(串行先进技术附接通道协议初始端口)和扩展器(串行先进技术附接通道协议目标端口)之间。一旦此连接被建立,第一区块被写入sata硬盘。接着,基板管理控制器经由pcie通过管理组件传输协议(mctp)及此连接,发布sata传递指令(scsiatapass-throughcommand)与下载微码先进技术附接指令(downloadmicrocodeatacommand)以及在其中的后续的区块,以更新串行先进技术附接硬盘固件。一旦更新完成,此连接被终止。如同上述参考先前技术所讨论的,当电源打开时,硬盘控制器从闪存加载固件图像到存储器,以及固件于存储器上执行。当执行固件升级时,硬盘控制器通过scsi指令(scsi写入缓冲指令或sata传递指令)接收上传的固件图像,以及接着程序化固件图像至闪存。因此,带内操作系统或应用程序仍然可以存取硬盘数据,因为可通过scsi指令进行存取。然而,经由scsi指令进行存取可能会失败,因为控制器一次只能处理一scsi指令。因此,硬盘不必置于一脱机模式。图4示出根据一示例性实施例,经由管理组件传输协议(mctp)以支持不同智能型硬件组件间之通信的通信流。分布式管理任务组(distributedmanagementtaskforce,dmtf)定义管理组件传输协议(mctp)的管理接口以支持不同智能型硬件组件间的通信,以构成一平台管理子系统。若基板管理控制器和主机总线配接器都支持管理组件传输协议,其可允许基板管理控制器通过管理组件传输协议约定(mctpconvention)经由集成电路总线(i2c)或快捷外设互联标准接口(pciei/f)和主机总线配接器(hba)通信。图4示出基板管理控制器与主机总线配接器之间的通信,通过管理组件传输协议约定(mctpconvention)经由pciei/f的方式。若通信为通过i2c,基板管理控制器将直接连接主机总线配接器hba。另一方面,如图4所示,若连接为通过pcie,通信可以于不同组件间往返。管理引擎,作为总线拥有者,用以初始化管理组件传输协议(mctp)/快捷外设互联标准(pcie)。一旦通信通过pcie,基板管理控制器401可以和平台控制集线器402往返通信,平台控制集线器可以和中央处理器(cpu)403、404,以及中央处理器(cpu)403、404可以和该主机总线配接器卡(hba卡)405往返通信,主机总线配接器卡405包括管理组件传输协议端点功能。根据一示例性实施例,快速通道互联(quickpathinterconnect,qpi)或超通道互联(ultrapathinterconnect,upi),其为加州圣塔克拉拉英特尔公司所开发的点对点处理单元互连技术,可被用于多个中央处理器403和404之间的通信。然而,任何其他点对点处理单元互连技术可在各种实施例中使用而不受限制。根据一示例性实施例,该平台控制集线器和中央处理器(cpu)之间的通信可经由直接介质接口(directmediainterface,dmi)被执行。图5示出一通过基板管理控制器更新硬盘固件的一示例系统的方块图。本公开中描述的系统包括一应用层,应用层包括一基板管理控制器(bmc)502及一带内操作系统503的应用层。如上所述,根据一示例性实施例,管理软件501可经由局域网络连接加载硬盘固件至基板管理控制器502。被描述于本公开的各种示例性实施例,着重于藉由提供更新硬盘固件的一系统克服传统技术上的缺点,不必处理许多不同的操作系统,藉由使用bmcoob更新硬盘固件以避免处理多种复杂与管理问题。从图5中可见,基板管理控制器502包括一集成电路总线(i2c)和一管理组件传输协议(mctp)接口,其依次与包括传送层与端口层的主机总线配接器(hba)的接口通信。在本发明中,有一带外(oob)标准,其通过i2c接口以及pcie接口,用于基板管理控制器502与主机总线配接器(hba)504之间的通信。因此,本公开定义发布sas标准scsi指令(sasstandardscsicommand)以更新sas/sata硬盘固件的相关上层应用程序。因此,如同图3和图4以及图5的方块图所示,使用bmcoob以更新硬盘固件是克服传统技术所面对的问题的一简单解决方法。i2c接口与pcie接口间的差异为i2c的带宽较pcie接口低,此导致更长的更新时间。主机总线配接器(hba)504还包括物理层输入/输出(phyinput/output(i/o)),其更包括较低层,即用于连接管理的链路层、用于编码与译码的phy层(phylayer),以及用于缆线/连接器的物理层(physicallayer)。如在本领域中已知的,sas传送子系统(sasdeliverysubsystem)505允许主机总线配接器hba504的物理层输入/输出(phyi/o)和存储控制器506间的通信。存储控制器还包括更新硬盘507、508固件的一应用层。示出于图6的一时间图及示出于图7的流程图在以下将被用以进一步说明使用bmcoob更新硬盘固件的流程。图6示出一时间图,其所示使用基板管理控制器更新硬盘固件的不同硬件组件间的通信流程。示出于图6的时间图始于在时间t=0时,管理软件与基板管理控制器之间的通信。初始通信相关于上传硬盘固件至基板管理控制器,其可利用一局域网络执行。基板管理控制器接着和sas硬盘进行通信以更新硬盘固件。用于更新硬盘固件的流程如上参考图3~图5所示,此为根据被使用的协议,以及通信被执行的方法而有所不同。基板管理控制器起初确认上传的硬盘固件没有任何问题,接着开始将固件分成多个区块。基板管理控制器最终根据传送指令的信道(channel)发布合适的指令,以将多个区块写入硬盘。如同在图6的时间图所示,sas初始端口和sas目标端口的一通信建立于这些区块的第一区块被写入硬盘之前。图7示出一流程图,其描述使用bmcoob以更新硬盘固件的流程。如图7中所示,在步骤701,流程开始于管理软件与基板管理控制器之间的通信。管理软件上传硬盘固件至基板管理控制器。根据一示例性实施例,此上传可通过局域网络。在步骤702中,基板管理控制器确认上传的固件没有错误。在步骤703,基板管理控制器接着将固件分成多个区块以上传至硬盘。在步骤704中,在硬盘上,一连接形成于sas初始端口和sas目标端口之间。sas初始端口和sas目标端口的组成取决于硬盘的类型(type)。根据一示例性实施例,对sas硬盘来说,sas初始端口由主机总线配接器hba所形成(form),sas目标端口由sas硬盘所形成。另一方面,对sata硬盘来说,sas初始端口由主机总线配接器hba所形成(form),sas目标端口由扩展器所形成。在sas初始端口及sas目标端口之间的连接形成后,在步骤705中,基板管理控制器发布一写入指令以将固件的多个区块写入硬盘。写入指令的种类取决于被更新的硬盘的种类。若sas硬盘将被更新,基板管理控制器发布一scsi写入缓冲指令。若sata硬盘将被更新,基板管理控制器发布一sata传递指令(scsiatapass-throughcommand)与下载微码先进技术附接指令(downloadmacrocodeatacommand)。在步骤706中,在合适的指令发布后,固件的多个区块被写入硬盘,以及硬盘固件被更新。可以通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、一专用集成电路(applicationspecificintegratedcircuit,asic)、一现场可编程门阵列(fieldprogrammablegatearray,fpga)或其他可编程逻辑设备、分立门(discretegate)或晶体管逻辑、分立的硬件组件或设计以执行于此所述功能的其任何组合来实施或执行与本公开相结合描述的各种说明性的逻辑区块、模块以及电路。一通用处理器可以是一微处理器,但在某些实施例中,处理器可以是任何传统的处理器、控制器、微处理器或状态机(statemachine)。处理器也可以实施为计算装置的组合,例如一数字信号处理器(dsp)和一微处理器的组合、多个微处理器、和一数字信号处理器(dsp)内核结合的一个或多个微处理器,或任何其他这样的配置。与本公开结合描述的方法或算法的操作可以被直接实施于一硬件、由一处理器执行的一软件模块或两者的组合中。软件模块可位于随机存取内存(ram)、闪存、只读存储器(rom)、可消除程序化只读存储器(eprom)、电子式可清除程序化只读存储器(eeprom)、缓存器、硬盘、可移除盘(removabledisk)、光盘只读存储器(cd-rom),或在本领域中已知的任何其他形式的存储介质。一示例性存储介质耦接于处理器,如此处理器可以从存储介质读取或写入信息至存储介质。在某些实施例中,存储介质可与处理器整合在一起。处理器及存储介质可位于一专用集成电路(asic)中。专用集成电路(asic)可以位于一用户终端(userterminal)中。在某些实施例中,处理器和存储介质可设置成一用户终端中的分离的组件。在一个或多个示例性设计中,所述功能可以在硬件、软件、固件或其任何组合中被实施。若以软件方式实施,所述功能可以非暂态计算机可读介质(non-transitorycomputer-readablemedium)上的一个或多个指令或编码来进行存储或传送。非暂态计算机可读取介质包括计算机存储介质以及包括任何有助于将一计算机程序由一地传送至另一地的介质的通信介质。存储介质可以为任何可被通用或专用计算机存取的任何可能介质。举例来说而非限制,这样的计算机可读取介质可以包括随机存取内存(ram)、只读存储器(rom)、电子式可清除程序化只读存储器(eeprom)、光盘只读内存(cd-rom)或其他光盘存储、磁盘存储或其他磁性存储装置,或任何可以被用作承载或存储指令形式或数据结构形式的所需程序代码并且可由通用或专用计算机或者通用或专用处理器存取的其他介质。在此使用的磁盘(disk)或磁盘(disc)包括光盘(compactdisc,cd)、激光光盘(laserdisc)、光学磁盘(opticaldisc)、数字激光视盘(digitalversatiledisc,dvd)、软性磁盘(floppydisk),以及蓝光光盘(blu-raydisc),其中磁盘以磁性重制(reproduce)数据,磁盘以激光重制数据。以上的组合亦应包括在非暂态计算机可读取介质的范围内。以上已经描述本发明的各种实施例,应当理解它们仅以范例的方式呈现,并非为限制。在不脱离本发明的精神或范围的情况下,可以根据本公开的公开内容对所公开的实施例进行改变。因此,本发明的广度和范围不应受任何上述实施例的限制。相反地,本发明的范围应根据后附权利要求及其等同物来定义。综上所述,虽然本发明已以实施例公开如上,然其并非用以限定本发明。本领域技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视后附的权利要求所界定者为准。【符号说明】101、501:管理软件102、401、502:基板管理控制器103、402:平台控制器集线器104、403、404:中央处理器105、504:主机总线配接器106、107:sas扩展器108~110:sata硬盘111~115:sas硬盘201、301:小型计算机系统接口应用层202、302:先进技术附接应用层203、303:管理应用层204、304:sas协议传送层205、305:串行先进技术附接通道协议传送层206、306:串行管理协议传送层207、307:sas端口层208、308:sas链路层209、309:sasphy层210、310:sas物理层405:主机总线配接器卡503:带内操作系统505:sas传送子系统506:存储控制器507:串行先进技术附接硬盘508:sas硬盘当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1