CN113934471A - 计算机系统的基板管理控制器和启动方法 - Google Patents

计算机系统的基板管理控制器和启动方法 Download PDF

Info

Publication number
CN113934471A
CN113934471A CN202111245266.9A CN202111245266A CN113934471A CN 113934471 A CN113934471 A CN 113934471A CN 202111245266 A CN202111245266 A CN 202111245266A CN 113934471 A CN113934471 A CN 113934471A
Authority
CN
China
Prior art keywords
file system
management controller
baseboard management
file
flash memory
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.)
Pending
Application number
CN202111245266.9A
Other languages
English (en)
Inventor
王江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xunmu Information Technology Shanghai Co Ltd
Original Assignee
Xunmu Information Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xunmu Information Technology Shanghai Co Ltd filed Critical Xunmu Information Technology Shanghai Co Ltd
Priority to CN202111245266.9A priority Critical patent/CN113934471A/zh
Publication of CN113934471A publication Critical patent/CN113934471A/zh
Priority to TW111102684A priority patent/TW202223636A/zh
Priority to US17/689,308 priority patent/US20230129037A1/en
Priority to JP2022103553A priority patent/JP2023064689A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提出一种改良的基板管理控制器,具有更稳定的运作环境。所述基板管理控制器包括闪存和微处理器。所述闪存事先规划为启动区域,第一区域和第二区域,所述启动区域中存储启动固件,所述第一区域格式化为第一文件系统,所述第二区域格式化为第二文件系统,所述第一文件系统中存储第一操作系统镜像文件和第一应用软件,且所述第二文件系统中存储第二操作系统镜像文件和第二应用软件。本基板管理控制器提供多种优点。空间配置的灵活性强。对于损坏故障具有修复还原能力,可靠性高。运作的效能也提升了,使基板管理控制器的启动速度加快。

Description

计算机系统的基板管理控制器和启动方法
技术领域
本申请涉及计算机系统的管理控制器,尤其涉及一种适用于服务器或高端交换机的改良式基板管理控制器,具有更快的启动速度,和更高的可靠性。
背景技术
基板管理控制器(Board Management Controller,BMC)主要应用于服务器或高端交换机等计算机系统中,负责系统的硬件状态管理、操作系统管理、健康状态管理、功耗管理等核心功能。因此,基板管理控制器的启动速度和可靠性非常重要。如果基板管理控制器的启动发生延迟,也会影响整个系统的启动时间。如果基板管理控制器运行不稳定,那么整个系统的稳定性也受到影响。
图1是传统的计算机系统100和基板管理控制器120架构图。计算机系统100中包含一基板管理控制器120。该基板管理控制器120包含至少微处理器122,内存124,和闪存130。基板管理控制器120本身是一个嵌入式处理器,在该微处理器122上运行的软件包括:启动固件132、操作系统134(常用的是Linux)、及文件系统136。基板管理控制器常用的应用软件主要是存储于文件系统136中。
如图1所示,上述启动固件132,操作系统134和文件系统136位于闪存130中。闪存130的起始区域存放启动固件132。启动固件132常用的系统是U-Boot,占用容量大约0.5MB。接着所述启动固件132之后的一段空间,存储着操作系统134的镜像文件。操作系统134的镜像文件通常采用Linux核心镜像,其大小通常在数个百万字节(Megabytes,MB)内,例如2至5MB。闪存130的其余部分被格式化为一种文件系统(File System),用于存储基板管理控制器的应用软件。目前应用最多的是文件系统是闪存日志型文件系统(Journaling FlashFile System;JFFS)。
图2是传统的基板管理控制器120启动流程图。在步骤201中,启动所述基板管理控制器120。在步骤203中,从闪存130中读取并运行启动固件132。在基板管理控制器120上电或重启后,基板管理控制器120中的微处理器122首先从闪存130中读取启动固件132。在步骤205中,启动固件132运行起来后,微处理器122依据配置的引导地址加载闪存130中的操作系统134,使操作系统134开始运行。在步骤207中,在操作系统134运行起来后,加载内含的文件系统驱动程序,使微处理器122有能力挂接(mount)闪存130中预先格式化的文件系统136,成为一逻辑硬盘。接着在步骤209中,基板管理控制器从挂接成功的文件系统136中读取的应用软件并运行。
传统闪存的布局和启动方案有以下缺点。
传统闪存的布局和启动方案灵的活性差。因为存放操作系统134的区域是固定地址和固定长度,如果预留的空间太大,会形成空间的浪费。另一方面,如果预留的空间太小,未来更新操作系统134时,如果新版操作系统134大于预留的空间,需要改动整个闪存130的布局,过程复杂且费时。
传统闪存的布局和启动方案的可靠性差。操作系统134与文件系统136没有备份机制,一旦更新出现问题,文件系统136遭到意外破坏,则基板管理控制器120无法启动,进而导致计算机系统100失去正常功能。
传统闪存的布局和启动方案的性能差。JFFS文件系统的性能会随着闪存容量的增大而变差。
发明内容
为了解决上述技术问题,本申请实施例提供一种改良的基板管理控制器,使基板管理控制器具有更稳定的运作环境。所述基板管理控制器包括闪存和微处理器。所述闪存分为启动区域,第一区域和第二区域,所述启动区域中存储启动固件,所述第一区域格式化为第一文件系统,所述第二区域格式化为第二文件系统,所述第一文件系统中存储第一操作系统镜像文件和第一应用软件,且所述第二文件系统中存储第二操作系统镜像文件和第二应用软件。
在所述基板管理控制器启动时,所述微处理器从所述启动区域加载并执行所述启动固件。所述微处理器可根据事先决定的配置信息,选择性地挂接所述第一文件系统或所述第二文件系统。挂接成功后,接着从所挂接的文件系统中加载并运行对应的操作系统镜像文件及应用软件,以实现对所述计算机系统的控制。
在进一步的实施例中,所述第一操作系统镜像文件可包括出厂版本操作系统,而所述第二操作系统镜像文件包括运营版本操作系统。在这种情况下,出厂版本通常只包括基本功能,而运营版本可包括多种附加功能,所以所述第二文件系统配置的容量可以配置为大于所述第一文件系统的容量。此外,出厂版本通常是做为备援系统,必须尽量维持完整性,所以所述第一文件系统被挂接时,以唯读模式挂接。而运营版本可以允许经常性的更新,所以所述第二文件系统被挂接时,以可读写模式挂接。
在进一步的实施例中,第一区域和第二区域可以是完全相同的,互为备援。在这种情况下,所述第一操作系统镜像文件与所述第二操作系统镜像文件为相同版本,且所述第二文件系统的容量与所述第一文件系统的容量相同。两者皆可以挂接在可读写模式。
在进一步的实施例中,所述第一文件系统或所述第二文件系统是闪存日志型文件系统(Journaling Flash File System;JFFS)。另一方面,所述第一文件系统或所述第二文件系统也可以是无序区块镜像文件系统(Unsorted Block Image File System;UBIFS)。
在进一步的实施例中,在所述微处理器在挂接所述第一文件系统或所述第二文件系统时,若发现所挂接的文件系统损坏,可改挂接另一文件系统。改挂接另一文件系统并启动成功后,可进一步对损坏的文件系统运行修复程序。
本申请另外提出一种计算机系统的实施例,包括上述改良的基板管理控制器,受到所述基板管理控制器的控制而执行至少下列功能其中之一:开机、关机、复位、系统固件升级、及运行数据监测。
本申请另外还提出一种基板管理控制器启动方法的实施例,基于所述基板管理控制器的架构。首先在所述基板管理控制器启动时,从所述启动区域加载并执行所述启动固件。接着根据事先决定的一配置信息,选择性地挂接第一文件系统或第二文件系统。最后从所挂接的文件系统中加载并运行对应的操作系统镜像文件及应用软件,以实现控制计算机系统的功能。
与现有的常用的基板管理控制器闪存布局和启动方案比较,本发明具有明显优势。
本申请的基板管理控制器闪存布局的灵活性强。在传统的闪存130中,地址偏移量和大小都预先固定了。本实施例将操作系统的镜像文件存放在闪存400的文件系统中,而不是存放在固定划分好的分区内。既可节约闪存空间,又能容纳大小变化的文件。
本申请的基板管理控制器闪存布局的可靠性高。闪存中划分了二个分区用于存放文件系统。一旦一个分区因为文件更新等原因而意外损坏,可从另一个分区启动来运行业务或修复损坏的分区。
本申请的基板管理控制器闪存布局的性能提升。因为UBIFS对闪存尺寸有着很好的扩展性,加载时间、内存消耗以及访问速度都不依赖于闪存尺寸,性能明显优于JFFS。采用UBIFS闪存文件系统,可使基板管理控制器的启动速度加快。
闪存中用于存放文件系统的两个分区可以大小相等,存放的内容和读写属性也可以根据实际情况调整,例如两个分区都存放业务运行的版本,都是可读写的,互为备份。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是传统的计算机系统100和基板管理控制器120架构图。
图2是传统的基板管理控制器120启动流程图。
图3是本申请一实施例的计算机系统300和基板管理控制器310架构图。
图4是本申请实施例的基板管理控制器310中的闪存400架构图。
图5是本申请实施例的基板管理控制器310的启动流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图3是本申请一实施例的计算机系统300和基板管理控制器310架构图。计算机系统300主要由一主板(或称基板)构成,其中至少包含系统闪存302,系统内存306和系统处理器308。系统闪存302中存储系统固件304,供系统处理器308加载以启动计算机系统300。系统内存306用于存储计算机系统300运作中所需数据,详细实施细节不在此介绍。计算机系统300中还包括本申请提出的改良式基板管理控制器310。该基板管理控制器310可控制计算机系统300而执行至少下列功能其中之一:开机、关机、复位、系统固件升级、及运行数据监测。
基板管理控制器310是一种在计算机系统300上的内核控制组件,可用来管理和串接计算机系统300上不同功能的模块和组件。举例来说,基板管理控制器310可通过PCI-e和LPC总线与系统处理器308连接,通过DDR总线与系统内存306连接,并通过SPI总线与系统闪存302连接。借此,计算机系统300上的各组件经由基板管理控制器的管理而能够顺畅运作。另外,基板管理控制器310也能借由搜集计算机系统300各别组件与串接硬件的运作数据,若侦测到异常状况时将自动发出警示讯息给运维人员,运维人员则依照计算机系统300提供的信息进行远程诊断及问题排除。
基板管理控制器310中至少包括微处理器320和闪存400,也可进一步包含内存312,显示模块314,网络模块316,及接口模块318。内存312用于存储微处理器320运作所需的数据。显示模块314可对外提供独立于计算机系统300之外的显示器接口,例如D-sub,DVI,HDMI等,使现场护维人员读取该基板管理控制器310的终端画面。网络模块316提供独立于计算机系统300之外的网络接口,例如RJ-45或RGMII,使维护人员远程操控基板管理控制器310。接口模块318提供独立于计算机系统300之外的序列串接口,例如USB或SerialPort,供维护人员现场串接键盘鼠标以操作系统。
本实施例的闪存400事先经过特殊的规划,使其中包括启动固件404,第一文件系统410,及第二文件系统420。而基板管理控制器310启动后所需加载的操作系统以镜像文件的形式存放于第一文件系统410和第二文件系统420中。这种做法的优点是,第一文件系统410和第二文件系统420中除了可存放操作系统,也可存放应用软件,因此空间配置具有极大弹性。闪存400不需要为操作系统的大小而特别配置空间。微处理器320可通过SPI总线连接所述闪存400。在基板管理控制器310启动时,所述微处理器320可先从闪存400的开头位址加载并执行所述启动固件404。启动固件404可经过改良而包含文件系统的驱动程序和配置信息,使微处理器320能挂接并存取第一文件系统410和第二文件系统420。根据配置信息,所述微处理器320可选择性地挂接所述第一文件系统410和所述第二文件系统420其中之一,作为运作时使用的逻辑硬盘。在挂接成功后,所述微处理器320从所挂接的文件系统中加载并运行对应的操作系统镜像文件及应用软件,以实现控制所述计算机系统的功能。
在更确切的实施例中,可将闪存400中除了启动固件404外的区域可使用存储技术装置(Memory Technology Device Partition;MTD)规范的技术划分(Partition)为第一区域412和第二区域422,再各别以格式化工具例如UBI tools在对应的第一区域412和第二区域422中生成第一文件系统410和第二文件系统420。另一种可能的做法是将闪存400中除了启动固件404以外的区域规划分一个MTD分区,再将该MTD分区切为不同的UBI容器(Volume),各别作为第一文件系统410和第二文件系统420的空间。使用UBI容器的好处是两个区域之间的大小可以弹性调度。
在另一实施例中,用于选择第一文件系统410和第二文件系统420的所述配置信息,可以是出厂时内定的值,或是在使用过程中根据需要而改变的值。举例来说,当第一文件系统410和第二文件系统420其中之一出现损坏时,或其中的操作系统升级失败时,基板管理控制器310还能从另一个正常的文件系统启动,以维持基本运作能力,甚至进一步发挥自我修复能力。
图4是本申请实施例的基板管理控制器310中的闪存400架构图。本实施例的具体设计取消了图1存放操作系统134的分区,并将整个闪存400划分为三个分区,启动区域402,第一区域412和第二区域422。启动区域402存放启动固件404。由于启动区域402位于闪存400的最前端,包含地址0,所以基板管理控制器310重启后,会主动从该启动区域402读取启动固件404。第一区域412和第二区域422各被格式化为第一文件系统410和第二文件系统420,各配置相同或不同的容量大小。第一文件系统410可用于存放出厂版本的第一操作系统镜像文件414。由于出厂版本的第一操作系统镜像文件414通常只包含基本功能,因此需要的分配的容量较少,例如20MB。第二文件系统420可用于存放运营版本的第二操作系统镜像文件424。通常营运版本的第二操作系统镜像文件424,还会附加各种第二应用软件426,用于升级功能或错误修补,因此分配的容量较多,例如43.5MB。若是第一文件系统410和第二文件系统420是以特定的文件系统进行格式化,其分区的容量分配还可以根据实际情况弹性调整。
举例来说,第一文件系统410和第二文件系统420可以格式化为UBIFS。UBIFS的整体性能优于JFFS,其访问速度不会随着闪存容量的增大而变差。在使用过程中,第一文件系统410的内容是只读属性,第二文件系统420的内容可以读写,以允许文件的升级。经过预先决定的配置,基板管理控制器310启动后可优先选择加载第二文件系统420中的第二操作系统镜像文件424。如果第二文件系统420发生损坏而无法挂接,或是第二操作系统镜像文件424升级后发生错误无法启动,启动固件404中的逻辑程序可以指示微处理器320挂接第一文件系统410并加载第一操作系统镜像文件414以启动基板管理控制器310。第一文件系统410中进一步包含第一应用软件416。第一操作系统镜像文件414被加载启动后,可使基板管理控制器310执行第一应用软件416。举例来说,第一应用软件416中可包含修复第二文件系统420的程序,或还原第二操作系统镜像文件424的程序。
换句话说,本实施例的闪存400分为启动区域402,第一区域412和第二区域422。所述启动区域402中存储启动固件404,所述第一区域412格式化为第一文件系统410,且所述第二区域422格式化为第二区域422。所述第一文件系统410中存储一个第一操作系统镜像文件414和一或多个第一应用软件416。所述第二文件系统420中存储一个第二操作系统镜像文件424和一或多个第二应用软件426。
在进一步的实施例中,所述第一操作系统镜像文件414可包括出厂版本操作系统,而所述第二操作系统镜像文件424包括运营版本操作系统。在这种情况下,出厂版本所提供的第一应用软件416通常只配置基本功能,例如用于修复文件系统或还原操作系统的工具程式。而运营版本可包括多种附加功能,例如用于实时监测系统运作数据,线上无缝更新,加解密模块等多种不同的第二应用软件426。所以所述第二文件系统420配置的容量通常配置为大于所述第一文件系统410的容量。此外,出厂版本通常是做为备援系统,必须尽量维持完整性,所以所述第一文件系统410是挂接在唯读模式。而运营版本可以允许经常性的更新,所以第二文件系统420是挂接在可读写模式。
在进一步的实施例中,第一区域412和第二区域422配置为可以互为备援的相同内容。在这种情况下,所述第一操作系统镜像文件414与所述第二操作系统镜像文件424为相同版本。所述第二文件系统420的容量与所述第一文件系统410的容量相同,且皆挂接在可读写模式。在运作时,当其中一个文件系统发生损坏或操作系统升级失败时,基板管理控制器310就挂接另一文件系统以接替运作并进行修复还原。
在进一步的实施例中,所述第一文件系统或所述第二文件系统是闪存日志型文件系统(Journaling Flash File System;JFFS)。另一方面,所述第一文件系统或所述第二文件系统也可以是无序区块镜像文件系统(Unsorted Block Image File System;UBIFS)。
图5是本申请实施例的基板管理控制器310的启动流程图。基于上述改进的闪存400架构而运行的步骤,总结如下。在步骤501中,启动基板管理控制器310。在步骤503中,在基板管理控制器310上电或复位后,基板管理控制器310的微处理器320先从闪存400中读取并运行启动固件404,以进行初始化的程序,包含加载文件系统的驱动程序以及获取用于挂接文件系统的配置信息。所述配置信息可以是一个挂接装置表(mount table)。在步骤505中,基板管理控制器310根据启动固件404完成初始化后,根据配置信息来选择挂接第一文件系统410或者第二文件系统420。在步骤507中,从所挂接的第一文件系统410或第二文件系统420中读取并运行第一操作系统镜像文件414或第二操作系统镜像文件424。在步骤509中,在第一操作系统镜像文件414或第二操作系统镜像文件424成功启动后,再从第一文件系统410或第二文件系统420中读取并运行第一应用软件416或第二应用软件426。
本实施例的优点之一是提供了备援机制。在所述微处理器320在挂接所述第一文件系统410或所述第二文件系统420时,若发现所挂接的文件系统损坏或是操作系统镜像文件损坏,可挂接备援的文件系统,载入备援的操作系统来维持基板管理控制器310的正常运作。进一步地,备援的操作系统可针对原损坏的原因进行修复程序。
现有的常用的基板管理控制器闪存布局和启动方案比较,本发明具有明显优势:
本申请的基板管理控制器闪存布局的灵活性强。在传统的闪存130中,地址偏移量和大小都预先固定了。本实施例将操作系统的镜像文件存放在闪存400的文件系统中,而不是存放在固定划分好的分区内。既可节约闪存空间,又能容纳大小变化的文件。
本申请的基板管理控制器闪存布局的可靠性高。闪存中划分了二个分区用于存放文件系统。一旦一个分区因为文件更新等原因而意外损坏,可从另一个分区启动来运行业务或修复损坏的分区。
本申请的基板管理控制器闪存布局的性能提升。因为UBIFS对闪存尺寸有着很好的扩展性,加载时间、内存消耗以及访问速度都不依赖于闪存尺寸,性能明显优于JFFS。采用UBIFS闪存文件系统,可使基板管理控制器的启动速度加快。
闪存中用于存放文件系统的两个分区可以大小相等,存放的内容和读写属性也可以根据实际情况调整,例如两个分区都存放业务运行的版本,都是可读写的,互为备份。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (12)

1.一种基板管理控制器,用于控制计算机系统,其特征在于,包括:
闪存,包括启动固件,第一文件系统,及第二文件系统,所述第一文件系统中存储第一操作系统镜像文件和第一应用软件,且所述第二文件系统中存储第二操作系统镜像文件和第二应用软件;
微处理器,连接所述闪存;其中:
在所述基板管理控制器启动时,所述微处理器从所述闪存加载并执行所述启动固件;
所述微处理器根据配置信息,选择性地挂接所述第一文件系统或所述第二文件系统;及
所述微处理器从所挂接的文件系统中加载并运行对应的操作系统镜像文件及应用软件,以实现控制所述计算机系统的功能。
2.如权利要求1所述的基板管理控制器,其特征在于:
所述闪存分为启动区域,第一区域和第二区域;
所述启动区域位于所述闪存的最前端,用于存储所述启动固件;
所述第一区域格式化为所述第一文件系统;
所述第二区域格式化为所述第二文件系统;及
所述第二区域的容量大于或等于所述第一区域的容量。
3.如权利要求1所述的基板管理控制器,其特征在于:
所述第一操作系统镜像文件包括第一版本操作系统;
所述第二操作系统镜像文件包括第二版本操作系统。
4.如权利要求3所述的基板管理控制器,其特征在于:
所述第一版本操作系统与所述第二版本操作系统为不同版本;且
所述第一文件系统被挂接时,以唯读模式挂接;及
所述第二文件系统被挂接时,以可读写模式挂接。
5.如权利要求3所述的基板管理控制器,其特征在于:
所述第一版本操作系统与所述第二版本操作系统为相同版本;且
所述第一文件系统或所述第二文件系统被挂接时,以可读写模式挂接。
6.如权利要求1所述的基板管理控制器,其特征在于:
所述第一文件系统是闪存日志型文件系统或无序区块镜像文件系统;及
所述第二文件系统是闪存日志型文件系统或无序区块镜像文件系统。
7.如权利要求1所述的基板管理控制器,其特征在于,所述微处理器在挂接所述第一文件系统或所述第二文件系统时,若发现所挂接的所述第一文件系统或所述第二文件系统损坏,则改挂接另一文件系统。
8.如权利要求7所述的基板管理控制器,其特征在于,所述微处理器改挂接另一文件系统后,运行修复程序以还原损坏的文件系统。
9.一种计算机系统,其特征在于,包括如权利要求1至8中任一项所述的基板管理控制器,受到所述基板管理控制器的控制而执行至少下列功能其中之一:开机、关机、复位、系统固件升级、及运行数据监测。
10.一种基板管理控制器启动方法,应用于如权利要求1至6中任一项所述的基板管理控制器,其特征在于,包括:
在所述基板管理控制器启动时,从启动区域加载并执行所述启动固件;
根据配置信息,选择性地挂接第一文件系统或第二文件系统;及
从所挂接的文件系统中加载并运行对应的操作系统镜像文件及应用软件,以实现控制计算机系统的功能。
11.如权利要求10所述的基板管理控制器启动方法,其特征在于,还包括:在挂接所述第一文件系统或所述第二文件系统时,若发现所挂接的所述第一文件系统或所述第二文件系统损坏,则改挂接另一文件系统。
12.如权利要求11所述的基板管理控制器启动方法,其特征在于,还包括:在改挂接另一文件系统后,运行修复程序以还原损坏的文件系统。
CN202111245266.9A 2021-10-26 2021-10-26 计算机系统的基板管理控制器和启动方法 Pending CN113934471A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202111245266.9A CN113934471A (zh) 2021-10-26 2021-10-26 计算机系统的基板管理控制器和启动方法
TW111102684A TW202223636A (zh) 2021-10-26 2022-01-21 電腦主機系統、基板管理控制器和其啟動方法
US17/689,308 US20230129037A1 (en) 2021-10-26 2022-03-08 Board management controller and method for starting thereof
JP2022103553A JP2023064689A (ja) 2021-10-26 2022-06-28 コンピュータシステムの基板管理コントローラ及び起動方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111245266.9A CN113934471A (zh) 2021-10-26 2021-10-26 计算机系统的基板管理控制器和启动方法

Publications (1)

Publication Number Publication Date
CN113934471A true CN113934471A (zh) 2022-01-14

Family

ID=79284322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111245266.9A Pending CN113934471A (zh) 2021-10-26 2021-10-26 计算机系统的基板管理控制器和启动方法

Country Status (4)

Country Link
US (1) US20230129037A1 (zh)
JP (1) JP2023064689A (zh)
CN (1) CN113934471A (zh)
TW (1) TW202223636A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521209A (zh) * 2023-07-04 2023-08-01 苏州浪潮智能科技有限公司 操作系统的升级方法及装置、存储介质及电子设备
CN116627520A (zh) * 2023-07-26 2023-08-22 苏州浪潮智能科技有限公司 基板管理控制器的系统运行方法以及基板管理控制器
CN117331575A (zh) * 2023-10-09 2024-01-02 上海合芯数字科技有限公司 固件修复方法、装置、控制器及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183337A (zh) * 2007-12-12 2008-05-21 中兴通讯股份有限公司 基于nand flash移动终端存储介质的空间管理方法
CN106598635A (zh) * 2015-10-16 2017-04-26 广达电脑股份有限公司 基板管理控制器的恢复方法及基板管理控制器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509544B2 (en) * 2007-02-26 2009-03-24 Inventec Corporation Data repair and synchronization method of dual flash read only memory
CN102314421B (zh) * 2010-06-29 2014-12-10 中兴通讯股份有限公司 一种文件系统被破坏后的自救方法和设备
US8627141B2 (en) * 2011-02-14 2014-01-07 Dell Products L.P. System and method for auto-failover and version matching of bootloader in an access controller
CN103559054B (zh) * 2013-10-30 2017-10-10 华为终端有限公司 智能终端多操作系统的实现、删除方法和装置
JP6073854B2 (ja) * 2014-12-26 2017-02-01 京セラドキュメントソリューションズ株式会社 電子機器及びファームウェア復旧プログラム
US10061651B2 (en) * 2015-06-12 2018-08-28 Dell Products, Lp System and method for hosting multiple recovery operating systems in memory
US10838737B1 (en) * 2017-08-31 2020-11-17 American Megatrends International, Llc Restoration of memory content to restore machine state
US10990411B2 (en) * 2019-03-25 2021-04-27 Dell Products L.P. System and method to install firmware volumes from NVMe boot partition
TWI760805B (zh) * 2020-07-31 2022-04-11 廣達電腦股份有限公司 具有雙重安全啟動之自動駕駛系統
US11726879B2 (en) * 2021-07-12 2023-08-15 Dell Products L.P. Multiple block error correction in an information handling system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183337A (zh) * 2007-12-12 2008-05-21 中兴通讯股份有限公司 基于nand flash移动终端存储介质的空间管理方法
CN106598635A (zh) * 2015-10-16 2017-04-26 广达电脑股份有限公司 基板管理控制器的恢复方法及基板管理控制器

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521209A (zh) * 2023-07-04 2023-08-01 苏州浪潮智能科技有限公司 操作系统的升级方法及装置、存储介质及电子设备
CN116521209B (zh) * 2023-07-04 2023-09-15 苏州浪潮智能科技有限公司 操作系统的升级方法及装置、存储介质及电子设备
CN116627520A (zh) * 2023-07-26 2023-08-22 苏州浪潮智能科技有限公司 基板管理控制器的系统运行方法以及基板管理控制器
CN116627520B (zh) * 2023-07-26 2023-09-29 苏州浪潮智能科技有限公司 基板管理控制器的系统运行方法以及基板管理控制器
CN117331575A (zh) * 2023-10-09 2024-01-02 上海合芯数字科技有限公司 固件修复方法、装置、控制器及存储介质

Also Published As

Publication number Publication date
JP2023064689A (ja) 2023-05-11
TW202223636A (zh) 2022-06-16
US20230129037A1 (en) 2023-04-27

Similar Documents

Publication Publication Date Title
US8230258B2 (en) Control method of system monitoring device, program, and computer system
CN113934471A (zh) 计算机系统的基板管理控制器和启动方法
KR100389206B1 (ko) 컴퓨터 운영 시스템 보호 방법 및 장치
US7739490B2 (en) Control apparatus, upgrade method and program product of the same
JP2000222178A (ja) リカバ―可能なソフトウェアインストレ―ションプロセスおよびコンピュ―タシステム用の装置
US20060036832A1 (en) Virtual computer system and firmware updating method in virtual computer system
US20040153738A1 (en) Redundancy management method for BIOS, data processing apparatus and storage system for using same
JP7002358B2 (ja) 情報処理システム、情報処理装置、情報処理装置のbios更新方法、及び情報処理装置のbios更新プログラム
JP6753257B2 (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
US20050039081A1 (en) Method of backing up BIOS settings
CN104915226A (zh) 一种网络设备软件启动方法、装置及网络设备
US20060130039A1 (en) Update control program, update control method, and update control device
US6745324B1 (en) Dynamic firmware image creation from an object file stored in a reserved area of a data storage device of a redundant array of independent disks (RAID) system
US5991860A (en) Root file system size increase on a unix based computer system
CN111124749A (zh) 紧耦合高性能计算机系统bmc系统自动修复方法及修复系统
US7444341B2 (en) Method and system of detecting a change in a server in a server system
EP2354932A1 (en) Computer system, method for booting a computer system, and method for replacing a component
US20190138407A1 (en) Systems and methods of deploying an operating system from a resilient virtual drive
CN113377425B (zh) Bmc固件生成方法和装置、bmc启动方法和装置及存储介质
US8990618B2 (en) Partial fault tolerance in an embedded appliance
JP2010198314A (ja) 情報管理装置
JP3453582B2 (ja) ディスクアレイ装置のファームウェア管理システム及びその管理方法
JP5345655B2 (ja) 基本入出力プログラムの冗長管理方法及びデータ処理装置
WO2024000535A1 (zh) 分区表更新方法、装置、电子设备及存储介质
CN116795592A (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