CN117170694A - 一种bmc数据烧录配置方法、装置、设备及介质 - Google Patents
一种bmc数据烧录配置方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117170694A CN117170694A CN202311190903.6A CN202311190903A CN117170694A CN 117170694 A CN117170694 A CN 117170694A CN 202311190903 A CN202311190903 A CN 202311190903A CN 117170694 A CN117170694 A CN 117170694A
- Authority
- CN
- China
- Prior art keywords
- data
- metadata
- register
- state
- configuration file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000002093 peripheral effect Effects 0.000 claims abstract description 26
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000012795 verification Methods 0.000 claims description 26
- 238000007726 management method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013524 data verification Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及计算机通信技术领域,尤其涉及一种BMC数据烧录配置方法、装置、设备及介质,包括将待烧录的设备元数据烧录至串行外设接口闪存的一次性可编程区,并校验烧录的设备元数据的正确性,响应于永久写入指令,设置并校验待锁定安全寄存器的锁定状态;响应配置指令,对配置文件中的设备元数据进行默认值校验,并在默认值校验通过后,根据配置文件进行初始化配置。本发明通过将通用数据与特定的设备元数据分开存储的方式,将特定的设备元数据存储在一次性可编程区,避免由常规误操作或者数据刷写导致的特定数据丢失或被篡改,提高安全性和稳定性,同时有效地检测配置文件中特定设备元数据的默认值情况,避免了潜在的配置错误和网络冲突。
Description
技术领域
本发明涉及计算机通信技术领域,尤其涉及一种BMC数据烧录配置方法、装置、设备及介质。
背景技术
BMC(Baseboard Management Controller,基板管理控制器)是服务器系统的管理者,其负责监控服务器整机系统的工作状态以及承担日志记录、远程控制、固件升级等功能,为了可以通过网络远程访问BMC、控制BMC和系统,服务器系统的BMC模块都设有网络接口,一个独立的BMC管理网络接口和一个与其他网卡的共享接口,每个网络接口都会有一个独一无二的MAC地址(Media Access Control Address,媒体存取控制位址),MAC地址通常会被存放在服务器BMC固件的SPI Flash(Serial Peripheral Interface Flash,串行外设接口闪存)中,由于烧录、刷写操作是对整个Flash进行操作,这种存放方式会在通过编程器烧录服务器BMC固件或者使用Socflash脚本刷写服务器BMC固件的时候,在烧录、刷写的过程中将BMC的MAC地址擦除掉,或者在修改BMC网络相关文件时,将MAC地址篡改掉,导致Flash中原有存储的MAC地址信息丢失,需要二次配置。
发明内容
本发明提供了一种BMC数据烧录配置方法、装置、设备及介质,解决的技术问题是,现有的MAC地址存放配置方式会使MAC地址被擦除或者被篡改。
为解决以上技术问题,本发明提供了一种BMC数据烧录配置方法、装置、设备及介质。
第一方面,本发明提供了一种BMC数据烧录配置方法,应用于串行外设接口闪存内部的若干安全寄存器,所述方法包括以下步骤:
响应于烧录指令,将待烧录的设备元数据烧录至串行外设接口闪存的一次性可编程区,并校验烧录的设备元数据的正确性;
若所述烧录的设备元数据全部校验通过且接收到永久写入指令,则响应于所述永久写入指令,确定待锁定安全寄存器,将待锁定安全寄存器的状态设置为锁定状态;
对所述待锁定安全寄存器的锁定状态进行校验,若锁定状态校验通过且接收到配置指令和配置文件,则响应所述配置指令,对所述配置文件中的设备元数据进行默认值校验;
在默认值校验通过后,根据所述配置文件对基板管理控制器网络进行初始化配置。
在进一步的实施方案中,所述校验烧录的设备元数据的正确性的步骤包括:
采用顺序读取的方式,分别读取安全寄存器中的设备元数据,得到设备元读取数据;
根据所述待烧录的设备元数据,对所述设备元读取数据进行正确性校验,若存在校验失败的设备元读取数据,则重新烧录对应的待烧录设备元数据。
在进一步的实施方案中,所述将待烧录的设备元数据分别烧录至串行外设接口闪存的一次性可编程区的步骤之后,还包括:
响应于接收到的设备元数据写入指令,获取写入地址;
根据所述写入地址,将所述待烧录的设备元数据写入串行外设接口闪存的安全寄存器中。
在进一步的实施方案中,所述采用顺序读取的方式,分别读取安全寄存器中的设备元数据,得到设备元读取数据的步骤为:
响应于接收到的设备元数据读取指令,获取读取地址;
根据所述读取地址,采用顺序读取的方式分别读取安全寄存器中的设备元数据,得到设备元读取数据。
在进一步的实施方案中,所述将待锁定安全寄存器的状态设置为锁定状态的步骤包括:
向状态寄存器发送状态写入指令和待写入寄存器状态数据;
响应于所述状态写入指令,根据待写入寄存器状态数据,将所述待锁定安全寄存器的状态设置为锁定状态。
在进一步的实施方案中,所述对所述待锁定安全寄存器的锁定状态进行校验的步骤包括:
响应于接收到的状态读取指令,从状态寄存器中读取寄存器状态数据;
将读取到的寄存器状态数据与所述待写入寄存器状态数据进行比对校验,若对比校验通过,则判定锁定状态校验通过;若对比校验未通过,则重新将待锁定安全寄存器的状态设置为锁定状态并校验。
在进一步的实施方案中,所述对所述配置文件中的设备元数据进行默认值校验的步骤包括:
读取配置文件中的设备元数据,并校验配置文件中的设备元数据是否为默认值;
若所述配置文件中的设备元数据是默认值,则从安全寄存器中获取设备元数据,并根据从安全寄存器中获取的设备元数据更新所述配置文件;
若所述配置文件中的设备元数据不是默认值,则根据所述配置文件对基板管理控制器网络进行初始化配置。
第二方面,本发明提供了一种BMC数据烧录配置装置,所述装置包括:
数据烧录模块,用于响应于烧录指令,将待烧录的设备元数据烧录至串行外设接口闪存的一次性可编程区,并校验烧录的设备元数据的正确性;
状态控制模块,用于若所述烧录的设备元数据全部校验通过且接收到永久写入指令,则响应于所述永久写入指令,确定待锁定安全寄存器,将待锁定安全寄存器的状态设置为锁定状态;
数据校验模块,用于对所述待锁定安全寄存器的锁定状态进行校验,若锁定状态校验通过且接收到配置指令和配置文件,则响应所述配置指令,对所述配置文件中的设备元数据进行默认值校验;
初始化配置模块,用于在默认值校验通过后,根据所述配置文件对基板管理控制器网络进行初始化配置。
第三方面,本发明还提供了一种计算机设备,包括处理器和存储器,所述处理器与所述存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述计算机设备执行实现上述方法的步骤。
第四方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明提供了一种BMC数据烧录配置方法、装置、设备及介质,所述方法通过将待烧录的设备元数据烧录至串行外设接口闪存的一次性可编程区,并校验烧录的设备元数据的正确性,在烧录的设备元数据全部校验通过且接收到永久写入指令时,响应于所述永久写入指令,设置并校验待锁定安全寄存器的锁定状态;响应配置指令,对配置文件中的设备元数据进行默认值校验,并在默认值校验通过后,根据配置文件对基板管理控制器网络进行初始化配置。与现有技术相比,该方法将特定的设备元数据存储在一次性可编程区,避免由常规误操作或者数据刷写导致的特定数据丢失或被篡改,同时利用一次性可编程区设定为锁定状态后,数据永久保存无法被二次修改的机制,确保特定的设备元数据的永久保存,提高了数据的可靠性;另外,本发明可以有效检测和处理配置文件中特定数据的默认值情况,确保正确配置和使用,避免网络冲突。
附图说明
图1是本发明实施例提供的BMC数据烧录配置方法流程示意图;
图2是本发明实施例提供的MAC地址烧录流程示例图;
图3是本发明实施例提供的MAC地址写入时序示意图;
图4是本发明实施例提供的MAC地址读取时序示意图;
图5是本发明实施例提供的状态寄存器的位定义示意图;
图6是本发明实施例提供的锁定状态设置时序示意图;
图7是本发明实施例提供的安全寄存器状态读取时序示意图;
图8是本发明实施例提供的BMC网络初始化配置示意图;
图9是本发明实施例提供的BMC数据烧录配置装置框图;
图10是本发明实施例提供的计算机设备的结构示意图。
具体实施方式
下面结合附图具体阐明本发明的实施方式,实施例的给出仅仅是为了说明目的,并不能理解为对本发明的限定,包括附图仅供参考和说明使用,不构成对本发明专利保护范围的限制,因为在不脱离本发明精神和范围基础上,可以对本发明进行许多改变。
参考图1,本发明实施例提供了一种BMC数据烧录配置方法,可应用于串行外设接口闪存内部的若干安全寄存器,如图1所示,该方法包括以下步骤:
S1.响应于烧录指令,将待烧录的设备元数据烧录至串行外设接口闪存的一次性可编程区,并校验烧录的设备元数据的正确性。
在本实施例中,所述响应于烧录指令,将待烧录的设备元数据烧录至串行外设接口闪存的一次性可编程区,并校验烧录的设备元数据的正确性的步骤包括:
响应于烧录指令,将所述待烧录的设备元数据分别烧录至串行外设接口闪存的一次性可编程区;在本实施例中,所述待烧录的设备元数据包括待烧录的MAC地址数据、设备序列号(SN)信息和现场可更换单元(FRU)信息中的至少一种;其中,所述待烧录的MAC地址数据至少包括待烧录的专用局域网地址数据(Dedicate LAN MAC Address)和共享局域网地址数据(Share LAN MAC Address);
采用顺序读取的方式,从安全寄存器中分别读取设备元数据,得到设备元读取数据;
根据所述待烧录的设备元数据,对所述设备元读取数据进行正确性校验,若存在校验失败的设备元读取数据,则重新烧录对应的待烧录设备元数据。
需要说明的是,本实施例将数据编程或者烧录到一次性可编程区域后,执行编程命令以将数据写入安全寄存器,其中,所述将数据写入安全寄存器的步骤包括:
响应于接收到的设备元数据写入指令,获取写入地址;
根据所述写入地址,将所述待烧录的设备元数据写入串行外设接口闪存的安全寄存器中。
由于OTP区域只能被编程一次,可以确保数据不会被篡改或被非法读取,因此,本实施例将数据编程或者烧录到一次性可编程区,并在写入一次性可编程区后,通过写入地址将这些数据存储在Flash中的安全寄存器,安全寄存器具有内置的安全功能,可以保护存储在其中的数据避免受未经授权的访问或篡改,减少潜在的数据泄露风险,而且可以通过写入地址快速读取或写入数据,提高访问速度。
相比于现有技术将MAC地址等设备元数据存放在LAN的配置文件中,LAN配置文件存储在Flash的某个常规数据存放区域,导致重置设备后可能会使MAC地址等数据丢失,因此,为了避免MAC地址等数据丢失的情况,本实施例利用一次性可编程区与Flash通用存储区域的访问方式不同,可以避免由常规操作失误造成一次性可编程区数据被篡改,本实施例将待烧录的设备元数据烧录至基板管理控制器中SPI Flash(串行外设接口闪存)的OTP(One-Time Programming,一次性可编程区)中,不仅可以使用户在设备运行时对设备元数据进行更新和修改,确保在设备重置后能够恢复原有的设备元数据,简化维护和管理过程,而且设备元数据一旦被存储在OTP中后,MAC地址等将成为设备的固定属性数据,可以防止非法篡改、擦除或恶意修改MAC地址等数据,从而提高了系统的安全性和稳定性,需要说明的是,本实施例优先在基板管理控制器SPI Flash(串行外设接口闪存)中提供了三组安全寄存器(Security Regrister),每组安全寄存器有256Bytes,安全寄存器可以设置为写入后不可擦写,这三组安全寄存器地址为:
第一组安全寄存器Security Regrister0:001000h~0010ffh;
第二组安全寄存器Security Regrister1:002000h~0020ffh;
第三组安全寄存器Security Regrister2:003000h~0030ffh。
为了便于理解本实施例提出的BMC数据烧录配置方法,本实施例将主要针对待烧录的MAC地址数据进行示例性说明,图2为本发明实施例提供的MAC地址烧录流程示例图,当待烧录的设备元数据为待烧录的MAC地址数据时,由于MAC地址数据的占用空间为6Bytes,一个BMC通常会有两个MAC地址数据,分别为专用局域网地址数据(Dedicate LAN MACAddress)和共享局域网地址数据(Share LAN MAC Address),因此,MAC地址数据需要占用12Bytes,由此,MAC地址数据存放位置可以定义如下:
Dedicated LAN MAC存放位置:001000h~001005h;
Shared LAN MAC存放位置:001006h~0010011h。
需要说明的是,在图2中,Instruction(42H)表示指令操作码(42H),其中H表示十六进制;24-Bit表示24位,是指的是数据宽度或数据长度;Data Byte1、Data Byte2、DataByte3和Data Byte256分别表示数据字节1、数据字节2、数据字节3和数据字节256,用于标识或区分不同的数据字节;CLK、DI(IO0)、/CS、Mode0、Mode3、*=MSB;CLK表示时钟信号,通常用于同步数据传输或设备操作;DI(IO0)表示数据输入信号,通常用于向设备发送数据;/CS表示片选信号,用于选择需要操作的设备或芯片;Mode0表示模式0,用于表示设备的一种工作模式或数据传输模式;Mode3表示模式3,用于表示设备的一种工作模式或数据传输模式;*表示表示当前正在访问的地址或正在进行的操作;MSB表示最高有效位;因此,图2为在CLK的时钟信号下,通过DI(IO0)输入数据,通过/CS信号选择特定的设备或芯片,以Mode0和Mode3模式进行操作,且操作地址的最高有效位是“*”。
当待烧录的设备元数据为待烧录的MAC地址数据时,本实施例响应于烧录指令,将待烧录的专用局域网地址数据(Dedicate LAN MAC Address)和/或共享局域网地址数据(Share LAN MAC Address)烧录至串行外设接口闪存的一次性可编程区,比如:如图3所示,本实施例将MAC地址数据写入安全寄存器时,需要先发送写入Security Regrister指令0x42h,其中,当待烧录的MAC地址数据为专用局域网地址数据(Dedicate LAN MACAddress)时,写入Dedicated LAN MAC的指令为:0x42h+0x001000h+0x????????????;当写入Share LAN MAC的指令为:0x42h+0x001006h+0x????????????;其中,0x????????????为需要写入的MAC Address,MAC地址在工厂生产时分配;本实施例在写入SecurityRegrister指令后面,发送24-Bit的写入地址,根据所述写入地址发送待烧录的MAC地址数据,并将所述待烧录的MAC地址数据写入;需要说明的是,在图3中,Dummy Byte表示虚拟字节;Data Out1表示数据输出1,指的是从设备或系统中输出的第一组数据;Data Out2表示数据输出2,指的是从设备或系统中输出的第二组数据。
在烧录专用局域网地址数据和/或共享局域网地址数据之后,本实施例还需要校验专用局域网地址数据和/或共享局域网地址数据的正确性,具体为:读取写入的专用局域网地址数据和/或共享局域网地址数据,并将读取的专用局域网地址数据和/或共享局域网地址数据与待烧录的专用局域网地址数据和/或共享局域网地址数据进行对比,若对比一致,则认为写入正确,校验通过,则判断是否接收到永久写入指令;如果校验不通过,则重新烧录,在本实施例中,所述采用顺序读取的方式,分别读取安全寄存器中的设备元数据,得到设备元读取数据的步骤包括:
响应于接收到的设备元数据读取指令,获取读取地址;
根据所述读取地址,采用顺序读取的方式分别读取安全寄存器中的设备元数据,得到设备元读取数据。
其中,为了便于理解,以下将针对读取第一组安全寄存器Security Regrister0中的MAC Address数据进行示例说明:如图4所示,DI管脚需要先发送写Security Regrister指令0x48h,在写指令后面,DI管脚发送24-Bit的读取地址;DI管脚发送地址数据后,继续发送8bit(8个时钟边沿)数据,该8bit数据随意设置,本发明实施例不作限制;芯片的DO管脚会输出MAC地址数据,直至CS信号拉高,比如:写Dedicated LAN MAC的指令为:0x48h+0x001000h+0x**(Dummy Byte);写Share LAN MAC的指令为:0x48h+0x001000h+0x**(DummyByte);其中,CS信号需要在接收到6-Byte MAC信息后由低变高。
本实施例将设备元数据存储在一次性可编程区,通过读取地址读取烧录的设备元数据,可以快速、准确地获取设备元数据,实现了高效、准确、安全可靠的数据读取,而且一次性可编程区的内容在烧录后不能更改,可以避免因数据不一致而导致的潜在问题,提高数据的可靠性。
S2.若所述烧录的设备元数据全部校验通过且接收到永久写入指令,则响应于所述永久写入指令,确定待锁定安全寄存器,将待锁定安全寄存器的状态设置为锁定状态;在本实施例中,所述将待锁定安全寄存器的状态设置为锁定状态的步骤为:
向状态寄存器发送状态写入指令和待写入寄存器状态数据;
响应于所述状态写入指令,根据待写入寄存器状态数据,将所述待锁定安全寄存器的状态设置为锁定状态。
具体地,当待烧录的设备元数据为待烧录的MAC地址数据时,如图5所示,本实施例在确认写入的MAC地址数据正确后,可根据需要将Security Regrister状态变为Lock(锁定)状态,Security Regrister一旦进入Lock状态后,就永远不可擦写,需要说明的是,由于Security Regrister读取和写入数据方式与常规的读取写入方式不一致且地址范围不一致,因此,可以根据需要将Security Regrister变为Lock状态,本实施例中的SPI Flash通过Status Register-2的S11、S12、S13位设置保护状态,在本实施例中,S11位为第一组安全寄存器Security Regrister0的Lock状态控制,其中,0为可擦写,1为不可擦写,一旦设为1后无法更改;S12位为第二组安全寄存器Security Regrister1的Lock状态控制,其中,0为可擦写,1为不可擦写,一旦设为1后无法更改;S13位为第三组安全寄存器SecurityRegrister2的Lock状态控制,其中,0为可擦写,1为不可擦写,一旦设为1后无法更改;需要说明的是,在图5中,Suspend Status(Status-Only)表示暂停状态(仅状态);ComplementProtect(Volatile/Non-Volatile Writable)表示补码保护(易失性/非易失性可写);Security Register Lock Bits(Volatile/Non-volatile OTP Writable)表示安全寄存器锁定位(易失性/非易失性OTP可写);Reserved表示保留;Quad Enable(Volatile/Non-Volatile Writable)表示四进制使能(易失性/非易失性可写);Status Register Protect1(Volatile/Non-Volatile Writable)表示状态寄存器保护1(易失性/非易失性可写)。
如图6所示,当将待锁定安全寄存器的状态设置为锁定状态时,DI管脚需要先发送写Status Regrister-2指令0x31h;在写指令后面,DI管脚发送8-Bit的Status数据,比如:Status Regrister2的命令为:0x31h+0x??;其中,0x??为Status数据,本实施例将待锁定安全寄存器的状态设置为锁定状态,可以防止任何未经授权的访问和数据篡改行为,从而保护寄存器中的敏感数据不被篡改或恶意修改,增强系统的安全性。
S3.对所述待锁定安全寄存器的锁定状态进行校验,若锁定状态校验通过且接收到配置指令和配置文件,则响应所述配置指令,对所述配置文件中的设备元数据进行默认值校验;其中,所述对所述待锁定安全寄存器的锁定状态进行校验的步骤包括:
响应于接收到的状态读取指令,从状态寄存器中读取寄存器状态数据;
将读取到的寄存器状态数据与所述待写入寄存器状态数据进行比对校验,若对比校验通过,则判定锁定状态校验通过;若对比校验未通过,则重新将待锁定安全寄存器的状态设置为锁定状态并校验。
具体地,当待烧录的设备元数据为待烧录的MAC地址数据时,若需要永久烧录MAC地址数据,本实施例将状态寄存器中对应的待锁定安全寄存器状态位置1,并校验待锁定安全寄存器的状态位是否为1,具体是将当前的待锁定安全寄存器的状态位与设置待写入寄存器状态数据进行比对,若比对结果为一致,则认为设置正确,校验通过,结束烧录流程;若校验不通过,则重新设置待锁定安全寄存器的锁定状态;其中,对于读取寄存器状态数据步骤,如图7所示,本实施例先通过DI管脚发送状态读取指令0x35h,然后在状态读取指令后面,通过DO管脚发送状态寄存器Status Regrister-2的寄存器状态数据,以将读取到的寄存器状态数据与待写入寄存器状态数据进行比对校验。
本实施例对安全寄存器的锁定状态进行一致性校验,若检测到不一致,可以重新将待锁定安全寄存器的状态设置为锁定状态并校验,确保寄存器状态的正确性,从而防止因错误或不完整的数据而导致的不稳定性,提高安全性和稳定性。
在本实施例中,所述对所述配置文件中的设备元数据进行默认值校验的步骤包括:
读取配置文件中的设备元数据,并校验配置文件中的设备元数据是否为默认值;
若所述配置文件中的设备元数据是默认值,则从安全寄存器中获取设备元数据,并根据从安全寄存器中获取的设备元数据更新所述配置文件;
若所述配置文件中的设备元数据不是默认值,则根据所述配置文件对基板管理控制器网络进行初始化配置。
由于在常规的BMC初始化流程中,初始化流程只会根据LAN配置文件配置网口相关信息,比如:MAC地址信息,而不会对MAC地址信息进行默认值判断,且数据丢失后无法恢复,因此,本实施例增加对MAC地址等信息进行判断,避免MAC地址丢失或者失效的情况发送,如图8所示,当待烧录的设备元数据为待烧录的MAC地址数据时,所述待烧录的MAC地址数据至少包括待烧录的专用局域网地址数据(Dedicate LAN MAC Address)和共享局域网地址数据(Share LAN MAC Address),BMC网络初始化配置流程具体为:
读取Dedicated LAN(专用局域网)配置文件,并获取Dedicated LAN配置文件中的专用局域网地址数据,并判断Dedicated LAN配置文件中的专用局域网地址数据是否为默认值00-00-00-00-00-00,若Dedicated LAN配置文件中的专用局域网地址数据为默认值,则需要从安全寄存器的Dedicated LAN MAC存放位置001000h~001005h中获取专用局域网地址数据,并根据从安全寄存器获取的专用局域网地址数据更新配置文件中的专用局域网地址数据,重新开始Dedicated LAN配置流程;若Dedicated LAN配置文件中的专用局域网地址数据不是默认值,则按照Dedicated LAN配置文件配置Dedicated LAN。
读取Share LAN(共享局域网)配置文件,并获取Share LAN配置文件中的共享局域网地址数据,并判断Share LAN配置文件中的共享局域网地址数据是否为默认值00-00-00-00-00-00,若Share LAN配置文件中的共享局域网地址数据为默认值,则需要从安全寄存器Shared LAN MAC存放位置001006h~0010011h中获取共享局域网地址数据,并根据从安全寄存器获取的共享局域网地址数据更新Share LAN配置文件中的共享局域网地址数据,重新开始Share LAN配置流程;若Share LAN配置文件中的共享局域网地址数据不是默认值,则按照Share LAN配置文件配置Share LAN,至此,BMC网络部分初始化流程完成。
由于若配置文件中的SN信息和FRU信息等特定的设备元数据是默认值,则可能会导致错误的设备识别和配置,从而导致系统不稳定或不正常运行,因此,本实施例判断配置文件中的MAC地址等设备元数据是否为默认值,若配置文件中的MAC地址等设备元数据是默认值,本实施例会从安全寄存器中获取真实的MAC地址,并使用该地址来更新配置文件,这确保了配置文件中存储的是正确的MAC地址,而不是默认值,从而避免潜在的配置错误和网络冲突;若配置文件中的MAC地址等设备元数据不是默认值,本实施例根据该数据对BMC进行初始化配置,以使BMC可以根据正确的MAC地址进行网络连接和通信,确保设备的正常操作和网络访问,本实施例通过有效地检测和处理配置文件中MAC地址的默认值情况,确保真实的MAC地址被正确配置和使用,提高了初始化效率,同时从安全寄存器中获取MAC地址更新,提高了安全性。
S4.在默认值校验通过后,根据所述配置文件对基板管理控制器网络进行初始化配置。
本发明实施例提供了一种BMC数据烧录配置方法,所示方法包括将待烧录的设备元数据烧录至串行外设接口闪存的一次性可编程区,并校验烧录的设备元数据的正确性;若烧录的设备元数据全部校验通过且接收到永久写入指令,则响应于永久写入指令,设置并校验待锁定安全寄存器的状态为锁定状态,若锁定状态校验通过,响应配置指令,对配置文件中的设备元数据进行默认值校验;在默认值校验通过后,根据所述配置文件对基板管理控制器网络进行初始化配置。与现有技术相比,采用本实施例的方法,可以将通用数据和特定的设备元数据(MAC地址信息、SN信息和FRU信息等特定数据)分开存储,将特定的设备元数据存放在一次性可编程区域,可以永久保存MAC地址等设备元信息,防止MAC地址等特定的设备元信息在常规操作误操作或者整个Flash数据刷写时丢失或者被篡改,而且本实施例利用了Flash一次性可编程区在设定为Lock状态后,数据永久保存无法被二次修改的机制,确保MAC地址信息、SN信息、FRU信息等特定信息永久保存、不被修改;同时由于若配置文件中的SN信息和FRU信息等是默认值,则可能会导致错误的设备识别和配置,从而导致系统不稳定或不正常运行,因此,本实施例在启动时对MAC地址等特定的设备元信息进行判断,可以避免网络初始化时由于MAC Address等设备元数据为默认值时造成的网络冲突。
需要说明的是,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在一个实施例中,如图9所示,本发明实施例提供了一种BMC数据烧录配置装置,所述装置包括:
数据烧录模块101,用于响应于烧录指令,将待烧录的设备元数据烧录至串行外设接口闪存的一次性可编程区,并校验烧录的设备元数据的正确性;
状态控制模块102,用于若所述烧录的设备元数据全部校验通过且接收到永久写入指令,则响应于所述永久写入指令,确定待锁定安全寄存器,将待锁定安全寄存器的状态设置为锁定状态;
数据校验模块103,用于对所述待锁定安全寄存器的锁定状态进行校验,若锁定状态校验通过且接收到配置指令和配置文件,则响应所述配置指令,对所述配置文件中的设备元数据进行默认值校验;
初始化配置模块104,用于在默认值校验通过后,根据所述配置文件对基板管理控制器网络进行初始化配置。
关于一种BMC数据烧录配置装置的具体限定可以参见上述对于一种BMC数据烧录配置方法的限定,此处不再赘述。本领域普通技术人员可以意识到,结合本申请所公开的实施例描述的各个模块和步骤,能够以硬件、软件或者两者结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本发明实施例提供了一种BMC数据烧录配置装置,所述装置通过数据烧录模块将待烧录的设备元数据烧录至串行外设接口闪存的一次性可编程区,并校验烧录的设备元数据的正确性,能够确保每个设备都具有唯一的标识符,提高设备可靠性和稳定性,避免由于MAC地址、SN号和FRU信息等特定的设备元数据错误导致的网络连接问题或与其他设备的冲突,降低潜在的安全风险和合规性问题;通过状态控制模块设定锁定状态,能够确保MAC地址信息、SN信息、FRU信息等特定信息永久保存、不被修改;通过数据校验模块进行默认值校验,可以避免网络初始化时由于特定的设备元数据为默认值时造成的配置错误或者网络冲突。
图10是本发明实施例提供的一种计算机设备,包括存储器、处理器和收发器,它们之间通过总线连接;存储器用于存储一组计算机程序指令和数据,并可以将存储的数据传输给处理器,处理器可以执行存储器存储的程序指令,以执行上述方法的步骤。
其中,存储器可以包括易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者;处理器可以是中央处理器、微处理器、特定应用集成电路、可编程逻辑器件或其组合。通过示例性但不是限制性说明,上述可编程逻辑器件可以是复杂可编程逻辑器件、现场可编程逻辑门阵列、通用阵列逻辑或其任意组合。
另外,存储器可以是物理上独立的单元,也可以与处理器集成在一起。
本领域普通技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有相同的部件布置。
在一个实施例中,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
本发明实施例提供的一种BMC数据烧录配置方法、装置、设备及介质,其一种BMC数据烧录配置方法将MAC地址信息、SN信息、FRU信息等特定的设备元数据存储在一次性可编程区,以实现将特定数据与通用数据分开存储,避免出现由常规操作误操作或者整个Flash数据刷写导致的特定数据丢失或者被篡改的情况,同时在启动时对MAC地址信息等特定设备元数据进行默认值判断,避免了在BMC网络初始化时,由于MAC地址信息等特定设备元数据为默认值造成的错误配置或者网络冲突。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如SSD)等。
本领域技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。
以上所述实施例仅表达了本申请的几种优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本申请的保护范围。因此,本申请专利的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种BMC数据烧录配置方法,其特征在于,应用于串行外设接口闪存内部的若干安全寄存器,所述方法包括以下步骤:
响应于烧录指令,将待烧录的设备元数据烧录至串行外设接口闪存的一次性可编程区,并校验烧录的设备元数据的正确性;
若所述烧录的设备元数据全部校验通过且接收到永久写入指令,则响应于所述永久写入指令,确定待锁定安全寄存器,将待锁定安全寄存器的状态设置为锁定状态;
对所述待锁定安全寄存器的锁定状态进行校验,若锁定状态校验通过且接收到配置指令和配置文件,则响应所述配置指令,对所述配置文件中的设备元数据进行默认值校验;
在默认值校验通过后,根据所述配置文件对基板管理控制器网络进行初始化配置。
2.如权利要求1所述的一种BMC数据烧录配置方法,其特征在于,所述校验烧录的设备元数据的正确性的步骤包括:
采用顺序读取的方式,分别读取安全寄存器中的设备元数据,得到设备元读取数据;
根据所述待烧录的设备元数据,对所述设备元读取数据进行正确性校验,若存在校验失败的设备元读取数据,则重新烧录对应的待烧录设备元数据。
3.如权利要求2所述的一种BMC数据烧录配置方法,其特征在于,所述将待烧录的设备元数据分别烧录至串行外设接口闪存的一次性可编程区的步骤之后,还包括:
响应于接收到的设备元数据写入指令,获取写入地址;
根据所述写入地址,将所述待烧录的设备元数据写入串行外设接口闪存的安全寄存器中。
4.如权利要求2所述的一种BMC数据烧录配置方法,其特征在于,所述采用顺序读取的方式,分别读取安全寄存器中的设备元数据,得到设备元读取数据的步骤为:
响应于接收到的设备元数据读取指令,获取读取地址;
根据所述读取地址,采用顺序读取的方式分别读取安全寄存器中的设备元数据,得到设备元读取数据。
5.如权利要求1所述的一种BMC数据烧录配置方法,其特征在于,所述将待锁定安全寄存器的状态设置为锁定状态的步骤包括:
向状态寄存器发送状态写入指令和待写入寄存器状态数据;
响应于所述状态写入指令,根据待写入寄存器状态数据,将所述待锁定安全寄存器的状态设置为锁定状态。
6.如权利要求5所述的一种BMC数据烧录配置方法,其特征在于,所述对所述待锁定安全寄存器的锁定状态进行校验的步骤包括:
响应于接收到的状态读取指令,从状态寄存器中读取寄存器状态数据;
将读取到的寄存器状态数据与所述待写入寄存器状态数据进行比对校验,若对比校验通过,则判定锁定状态校验通过;若对比校验未通过,则重新将待锁定安全寄存器的状态设置为锁定状态并校验。
7.如权利要求1所述的一种BMC数据烧录配置方法,其特征在于,所述对所述配置文件中的设备元数据进行默认值校验的步骤包括:
读取配置文件中的设备元数据,并校验配置文件中的设备元数据是否为默认值;
若所述配置文件中的设备元数据是默认值,则从安全寄存器中获取设备元数据,并根据从安全寄存器中获取的设备元数据更新所述配置文件;
若所述配置文件中的设备元数据不是默认值,则根据所述配置文件对基板管理控制器网络进行初始化配置。
8.一种BMC数据烧录配置装置,其特征在于,所述装置包括:
数据烧录模块,用于响应于烧录指令,将待烧录的设备元数据烧录至串行外设接口闪存的一次性可编程区,并校验烧录的设备元数据的正确性;
状态控制模块,用于若所述烧录的设备元数据全部校验通过且接收到永久写入指令,则响应于所述永久写入指令,确定待锁定安全寄存器,将待锁定安全寄存器的状态设置为锁定状态;
数据校验模块,用于对所述待锁定安全寄存器的锁定状态进行校验,若锁定状态校验通过且接收到配置指令和配置文件,则响应所述配置指令,对所述配置文件中的设备元数据进行默认值校验;
初始化配置模块,用于在默认值校验通过后,根据所述配置文件对基板管理控制器网络进行初始化配置。
9.一种计算机设备,其特征在于:包括处理器和存储器,所述处理器与所述存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述计算机设备执行如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被运行时,实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311190903.6A CN117170694B (zh) | 2023-09-15 | 2023-09-15 | 一种bmc数据烧录配置方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311190903.6A CN117170694B (zh) | 2023-09-15 | 2023-09-15 | 一种bmc数据烧录配置方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117170694A true CN117170694A (zh) | 2023-12-05 |
CN117170694B CN117170694B (zh) | 2024-05-14 |
Family
ID=88937174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311190903.6A Active CN117170694B (zh) | 2023-09-15 | 2023-09-15 | 一种bmc数据烧录配置方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117170694B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050105331A1 (en) * | 2003-11-13 | 2005-05-19 | Lee Chul-Ho | Memory system having flash memory where a one-time programmable block is included |
CN109271178A (zh) * | 2018-09-05 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种基于Whitley平台实现CPLD升级的方法和系统 |
CN109992274A (zh) * | 2019-04-01 | 2019-07-09 | 深圳市鼎阳科技有限公司 | 烧录设备、烧录程序的方法和可读存储介质 |
CN110750274A (zh) * | 2019-10-18 | 2020-02-04 | 苏州浪潮智能科技有限公司 | 一种配置更新方法与装置 |
CN112000351A (zh) * | 2020-08-07 | 2020-11-27 | 北京浪潮数据技术有限公司 | Bmc固件的更新方法、更新装置、更新设备及存储介质 |
CN112433769A (zh) * | 2020-11-05 | 2021-03-02 | 苏州浪潮智能科技有限公司 | 一种bmc启动方法、装置、计算机设备及存储介质 |
CN114281358A (zh) * | 2021-12-10 | 2022-04-05 | 苏州浪潮智能科技有限公司 | 一种固件烧录方法、系统、存储介质及设备 |
CN114594973A (zh) * | 2022-03-11 | 2022-06-07 | 中国科学院微电子研究所 | 一种芯片固件烧录方法、装置、系统和存储介质 |
CN114995918A (zh) * | 2022-08-02 | 2022-09-02 | 苏州浪潮智能科技有限公司 | 基板管理控制器的启动方法、配置方法、装置及电子设备 |
CN115129545A (zh) * | 2022-06-29 | 2022-09-30 | 苏州浪潮智能科技有限公司 | 一种fru信息更新方法、系统、设备及可读存储介质 |
CN115242753A (zh) * | 2022-06-24 | 2022-10-25 | 苏州浪潮智能科技有限公司 | 网卡mac地址烧录方法、系统、电子设备与存储介质 |
CN116541032A (zh) * | 2023-07-04 | 2023-08-04 | 英诺达(成都)电子科技有限公司 | 数据烧录方法、装置、设备及计算机存储介质 |
-
2023
- 2023-09-15 CN CN202311190903.6A patent/CN117170694B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050105331A1 (en) * | 2003-11-13 | 2005-05-19 | Lee Chul-Ho | Memory system having flash memory where a one-time programmable block is included |
CN109271178A (zh) * | 2018-09-05 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种基于Whitley平台实现CPLD升级的方法和系统 |
CN109992274A (zh) * | 2019-04-01 | 2019-07-09 | 深圳市鼎阳科技有限公司 | 烧录设备、烧录程序的方法和可读存储介质 |
CN110750274A (zh) * | 2019-10-18 | 2020-02-04 | 苏州浪潮智能科技有限公司 | 一种配置更新方法与装置 |
CN112000351A (zh) * | 2020-08-07 | 2020-11-27 | 北京浪潮数据技术有限公司 | Bmc固件的更新方法、更新装置、更新设备及存储介质 |
CN112433769A (zh) * | 2020-11-05 | 2021-03-02 | 苏州浪潮智能科技有限公司 | 一种bmc启动方法、装置、计算机设备及存储介质 |
CN114281358A (zh) * | 2021-12-10 | 2022-04-05 | 苏州浪潮智能科技有限公司 | 一种固件烧录方法、系统、存储介质及设备 |
CN114594973A (zh) * | 2022-03-11 | 2022-06-07 | 中国科学院微电子研究所 | 一种芯片固件烧录方法、装置、系统和存储介质 |
CN115242753A (zh) * | 2022-06-24 | 2022-10-25 | 苏州浪潮智能科技有限公司 | 网卡mac地址烧录方法、系统、电子设备与存储介质 |
CN115129545A (zh) * | 2022-06-29 | 2022-09-30 | 苏州浪潮智能科技有限公司 | 一种fru信息更新方法、系统、设备及可读存储介质 |
CN114995918A (zh) * | 2022-08-02 | 2022-09-02 | 苏州浪潮智能科技有限公司 | 基板管理控制器的启动方法、配置方法、装置及电子设备 |
CN116541032A (zh) * | 2023-07-04 | 2023-08-04 | 英诺达(成都)电子科技有限公司 | 数据烧录方法、装置、设备及计算机存储介质 |
Non-Patent Citations (3)
Title |
---|
刘银平: "基于USB2.0 接口的10-OTP 烧录器设计", 《中国优秀博硕士学位论文全文数据库(硕士)工程科技Ⅱ辑》, 15 April 2009 (2009-04-15) * |
姚远;唐亚华;: "基于C#的OTP存储器烧录器上位机软件的设计与实现", 电子设计工程, no. 13, 5 July 2016 (2016-07-05), pages 30 - 33 * |
连赞: "基于片外SPI Flash的OTP烧录器的设计与实现", 《杭州电子科技大学学报》, 31 October 2013 (2013-10-31) * |
Also Published As
Publication number | Publication date |
---|---|
CN117170694B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9627081B2 (en) | Manufacturing mode for secure firmware using lock byte | |
US6976136B2 (en) | Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller | |
US8943302B2 (en) | Method of flashing bios using service processor and computer system using the same | |
EP2096538A1 (en) | Communication device and firmware update method thereof | |
US8601464B2 (en) | Memory online update system and method | |
CN105637521B (zh) | 一种数据处理方法及智能终端 | |
CN110765032A (zh) | 基于系统管理总线接口对i2c存储器进行读写的方法 | |
CN115762625A (zh) | 验证eMMC功能的方法、系统、电子设备及存储介质 | |
CN114721493B (zh) | 芯片启动方法、计算机设备及可读存储介质 | |
US7080164B2 (en) | Peripheral device having a programmable identification configuration register | |
US20230342476A1 (en) | Bootloaders | |
CN112613011B (zh) | U盘系统认证方法、装置、电子设备及存储介质 | |
CN117170694B (zh) | 一种bmc数据烧录配置方法、装置、设备及介质 | |
TWI229793B (en) | Method and apparatus for identifying hardware compatibility and enabling stable software revision selection | |
CN116756781B (zh) | 一种芯片的加密保护方法、装置、设备及存储介质 | |
CN117235707A (zh) | 一种应用程序启动方法、装置、电子设备及存储介质 | |
CN109491951B (zh) | 一种配置数据的方法以及计算设备 | |
US9563500B2 (en) | Storage integrity validator | |
CN113626792B (zh) | PCIe Switch固件安全执行方法、装置、终端及存储介质 | |
CN115756496A (zh) | 镜像的编译方法、装置、计算机可读存储介质及电子设备 | |
CN113867812A (zh) | 一种bmc获取链路信息的方法、系统、设备以及介质 | |
US20170075850A1 (en) | Preventing Access to Misplugged Devices by a Service Processor | |
KR100907550B1 (ko) | 시리얼 eeprom의 손상된 데이터를 복구하기 위한장치 및 방법 | |
JP2001005720A (ja) | 共有メモリアクセス管理装置 | |
CN117574352B (zh) | 一种软硬件结合的防伪方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |