CN116954485A - 用以存取数据的方法 - Google Patents

用以存取数据的方法 Download PDF

Info

Publication number
CN116954485A
CN116954485A CN202210759498.4A CN202210759498A CN116954485A CN 116954485 A CN116954485 A CN 116954485A CN 202210759498 A CN202210759498 A CN 202210759498A CN 116954485 A CN116954485 A CN 116954485A
Authority
CN
China
Prior art keywords
computer system
request
bios
registers
register
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
CN202210759498.4A
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.)
Quanta Computer Inc
Original Assignee
Quanta Computer Inc
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 Quanta Computer Inc filed Critical Quanta Computer Inc
Publication of CN116954485A publication Critical patent/CN116954485A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Recording Measured Values (AREA)

Abstract

本发明提供用以存取数据的方法,该方法公开在一计算机系统的一开机自我测试期间,启动一预登录处理程序,预登录处理程序用以对计算机系统的一基本输入输出系统(basic input output system,BIOS)中的一或多个寄存器执行存取、调整、或其组合。在计算机系统的操作系统的运行期间,接收对BIOS中的此一或多个寄存器的至少一寄存器执行存取、调整、或其组合的一请求。利用预登录处理程序处理请求,以对应于请求对BIOS中的此一或多个寄存器的此至少一寄存器执行存取、调整、或其组合。基于由预登录处理程序所取得的来自此至少一寄存器的数据,提供对应于请求的一响应。

Description

用以存取数据的方法
技术领域
本发明大体上涉及提供对计算机系统中的数据的存取。更特别是,本公开的数个方面涉及一种利用一预登录处理程序(pre-registered handler)来存取数据的系统及方法。
背景技术
服务器大量使用于高需求的应用中,例如是基于网络的系统或数据中心。云端运算应用的出现增加对数据中心的需求。数据中心具有众多的服务器,服务器存储数据及执行由远端连接的使用者所存取的应用。典型的数据中心具有附带电源及通信连接的物理性的机架结构(rack structures)。各机架可承载多个应用服务器(application servers)及存储服务器。各服务器大体上包括硬件元件,例如是处理器、存储器装置、网络接口卡、电源供应器、及其他专用硬件。各服务器一般包括基板管理控制器(baseboard managementcontroller,BMC),管理服务器的操作及传送操作数据至管理机架的服务器的中央管理站。
典型的服务器具有处理单元(举例为中央处理单元(central processing unit,CPU)),可具有多个计算操作的核心。此些核心执行操作系统(operating system,OS),以与服务器中的其他硬件元件进行通信。
系统管理模式(system management mode,SMM)为周知的专用操作模式,提供而用以处理全系统(system-wide)功能,例如是计算机系统中的电源管理或系统硬件控制。SMM提供明确及简易可独立的处理器环境来对操作系统、或管理及软件应用进行透明地操作。处理单元执行在个别的地址空间中的SMM固件码,处理单元的其他模式不可存取SMM固件码。SMM仅可经由系统管理中断(system management interrupt,SMI)进入。
SMM为固件/BIOS的一种操作模式,以在OS执行时执行系统管理操作。在运行(runtime)期间,CPU检测事件及产生SMI信号,而触发CPU以藉由跳到SMM进入点的方式进入SMM。当进入SMM时,全部的核心/线程亦进入SMM模式,直到系统管理操作完成。
在许多处理器架构中,中断程序用以减少来自存储器、接口、处理器、或周边装置的请求的等待时间。一般来说,SMI经由软件或硬件触发。中断处理程序藉由固件做为硬件抽象层(hardware abstraction layer,HAL)的一部分来执行,HAL亦包括BIOS。中断处理程序触发SMI。OS的执行在SMI中断发生时暂停。与SMI相关的数据通常存储在寄存器中,例如是执行SMM的CPU中的模块特定寄存器(Model Specific Register,MSP)。当SMM执行时,系统服务及应用停止且不能提供服务,而致使计算机系统停机。
计算机系统可能亦具有一些设计上难以取得数据(hard-to-access data)(举例为与可靠性、可用性和可维护性(Reliability,Availability,Serviceability(RAS))相关的状态及设定),这些数据一般需要外部工具或像是SMM的特定条件来取得,且对于使用者而言不太友善。再者,某些系统设定需计算机系统进行重置以完成变更,而导致在运行中有无法存取的时段、停止系统提供服务。
图1绘示用以调整计算机系统中的系统设定的程序,特别是调整BIOS设定。起先,当首先开启计算机系统时,执行步骤101。特别是,计算机系统进行开机自我测试(Power OnSelf-Test,POST)。在POST期间,使用者可简易地调整系统设定,包括例如是步骤103的BIOS设定。然而,在步骤103完成,及POST完成之后,程序100继续进行到步骤105,计算机系统的OS开始,而致使OS运行。
在步骤105的运行期间的一些时点,使用者可能想要进行步骤107的存取或改变BIOS设定。然而,为了取得此些存取或产生此些改变,使用者必须执行步骤109的重置计算机系统以回复到步骤101的POST。此举导致不想要的计算机系统的停机。
因此,对于提供一种能够使计算机系统设定(例如是BIOS设定)较简易存取及调整的系统及方法有需求。
发明内容
词语实施例及类似的词语欲广泛地意指本公开及权利要求书的标的。包含此些词语的说明不应理解为对此处所述标的的限制或对权利要求书的范围的限制。此处所含括的本公开的实施例由权利要求书定义,并非此发明内容。此发明内容为本公开的数种方面的高程度概述,及引入一些将在下方的实施方式部分中更进一步说明的概念。此发明内容不意欲识别所请求的标的的关键或本质特征。此发明内容亦不意欲独立使用来决定所请求的标的的范围。标的应参照本公开的整份说明书、任何或全部附图、及各权利要求的适当部分来理解。
根据本公开的一实施例,一种用以存取数据的方法公开而包括在一计算机系统的一开机自我测试期间,启动一预登录处理程序,预登录处理程序用以对计算机系统的一基本输入输出系统(basic input output system,BIOS)中的一或多个寄存器执行存取、调整、或其组合。此方法还包括在计算机系统的一操作系统的运行期间,接收对BIOS中的此一或多个寄存器的至少一寄存器执行存取、调整、或其组合的一请求。此方法还包括利用预登录处理程序处理请求,以对应于请求对BIOS中的此一或多个寄存器的此至少一寄存器执行存取、调整、或其组合。此方法还包括基于由预登录处理程序所取得的来自此至少一寄存器的数据,提供对应于请求的一响应。
根据上述实施例的一方面,请求从一基板管理控制器(baseboard managementcontroller,BMC)接收。响应提供至BMC。发出请求的一使用者藉由BMC的一智能平台管理接口(intelligent platform management interface,IPMI)接收响应。请求可来自一IPMI命令。
根据上述实施例的另一方面,请求可由计算机系统的操作系统接收。BIOS可藉由存储表示响应的信息在操作系统及BIOS可存取的一特定位置中来提供响应。
根据上述实施例的另一方面,此一或多个寄存器与在操作系统的运行期间不能读取或写入的难以存取数据(hard-to-access data)相关。
根据上述实施例的另一方面,此方法可还包括根据致使此至少一寄存器进行调整的请求,重新启动计算机系统,此至少一寄存器进行此调整需要重新启动计算机系统。
根据本公开的另一实施例,一种计算机系统包括一基本输入输出系统(basicinput output system,BIOS)。BIOS装配来执行数个计算机可读指令,以在计算机系统的一开机自我测试(power-on self-test)期间,启动一预登录处理程序(pre-registeredhandler),预登录处理程序用以对BIOS中的一或多个寄存器执行存取、调整、或其组合。BIOS更装配来执行此些计算机可读指令,以在计算机系统之一操作系统的运行期间,接收对此一或多个寄存器的至少一寄存器执行存取、调整、或其组合的一请求。BIOS更装配来执行此些计算机可读指令,以利用预登录处理程序处理请求,以对应于请求对此一或多个寄存器的此至少一寄存器执行存取、调整、或其组合。BIOS更装配来执行此些计算机可读指令,以基于由预登录处理程序所取得的来自此至少一寄存器的数据,提供对应于请求的一响应。
根据上述实施例的一方面,计算机系统还包括一基板管理控制器(baseboardmanagement controller,BMC)。请求可从基板管理控制器接收。响应可提供至BMC。发出请求的使用者可藉由BMC的一智能平台管理接口(intelligent platform managementinterface)接收响应。请求可来自一智能平台管理接口命令。
根据上述实施例的一方面,计算机系统还包括一存储器以及一中央处理单元,中央处理单元执行存储在存储器的数个计算机可读指令,以执行一操作系统。请求从计算机系统的操作系统接收。
根据上述实施例的一方面,BIOS藉由存储表示响应的信息在存储器中的操作系统及BIOS可存取的一特定位置中来提供响应。根据上述实施例的一方面,此一或多个寄存器与在操作系统的运行期间不能读取或写入的难以存取数据(hard-to-access data)相关。
根据本公开的另一实施例,一种非暂态计算机可读介质公开,非暂态计算机可读介质具有存储在其中的藉由一计算机系统中的一处理器执行时的数个软件指令。当藉由计算机系统中的处理器执行此些软件指令时致使处理器执行,以在计算机系统的一开机自我测试(power-on self-test)期间,启动一预登录处理程序(pre-registered handler),预登录处理程序用以对计算机系统的一基本输入输出系统(basic input output system,BIOS)中的一或多个寄存器执行存取、调整、或其组合。当藉由计算机系统中的处理器执行此些软件指令时更致使处理器执行,以在计算机系统的一操作系统的运行期间,接收对BIOS中的此一或多个寄存器的至少一寄存器执行存取、调整、或其组合的一请求。当藉由计算机系统中的处理器执行此些软件指令时致使处理器执行,以利用预登录处理程序处理请求,以对应于请求对BIOS中的此一或多个寄存器的此至少一寄存器执行存取、调整、或其组合。当藉由计算机系统中的处理器执行此些软件指令时致使处理器执行,以基于由预登录处理程序所取得的来自此至少一寄存器的数据,提供对应于请求的一响应。
上述的发明内容不意欲表示本公开的各个实施例或每一个方面。前述的发明内容反而仅提供此处所提出的一些新颖方面及特征的例子。上述的特征及优点,以及本公开的其他特征及优点将在结合所附的附图及所附的权利要求书下,通过下文的用以实现本发明的代表实施例及模式的详细说明更为清楚易懂。有鉴于数种实施例的详细说明,且详细说明参照简短说明提供于在下的附图,本领域技术人员将更为清楚本公开的额外方面。为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合附图详细说明如下:
附图说明
本公开及其优点及附图将从下方范例实施例的说明参照所附的附图更佳的了解。此些附图仅绘示出范例实施例,及因而不视为对数种实施例或权利要求书的范围的限制。
图1绘示用以调整计算机系统中的BIOS设定的程序。
图2绘示根据本公开数个方面的装配以启动预登录处理程序的计算机系统的示意图,预登录处理程序用以存取或调整计算机系统中的BIOS设定。
图3绘示根据本公开数个方面的用以启动预登录处理程序的程序,预登录处理程序用以存取或调整计算机系统中的BIOS设定。
图4绘示根据本公开数个方面的用以利用BMC启动预登录处理程序的程序,预登录处理程序用以存取或调整计算机系统中的BIOS设定。
图5绘示根据本公开数个方面的用以利用OS启动预登录处理程序的程序,预登录处理程序用以存取或调整计算机系统中的BIOS设定。
在本发明易于进行数种调整及替代形式的情况下,特定实施例藉由附图中的例子的方式示意,及将在此处更详细地说明。然而,应理解的是,本发明不意欲限制成所公开的特定形式。本发明反而包括全部落入所附的权利要求书定义的精神及范围中的调整、等效、及替代。
【符号说明】
100,300,400,500:程序
101~109,301~313,401~421,501~519:步骤
200:计算机系统
210:中央处理单元(CPU)
212:基本输入输出系统(BIOS)
214:基板管理控制器(BMC)
216:操作系统(OS)
230:共享存储器
232:非易失性存储器
234:BMC快闪存储器
236:I/O端口
238:通用存储器
260:系统管理中断(SMI)处理程序
具体实施方式
数种实施例参照所附的附图说明,其中类似的参考编号通用于附图来意指类似或相等的元件。附图并非依照比例绘示,及仅提供以说明本发明。针对说明的目的,本发明的数个方面参照范例应用说明于下文中。应理解的是,许多特定细节、关系、及方法提出,以全面的理解本发明。然而,本领域技术人员将轻易地认知本发明可在无需此些特定细节的一或多个下实现,或利用其他方法实现。在其他例子中,熟知的结构或操作不详细地绘示出来,以避免模糊本发明。数种实施例不限于所说明的动作或事件的顺序,因为某些动作可以不同的顺序发生,和/或某些动作可与其他动作或事件同时进行。再者,实施根据本发明的方法并不需要所有说明的动作或事件。
举例为摘要、发明内容、及实施方式部分中的所公开但未明确在权利要求书中提出的元件及限制不应以暗示、推论、或其他方式单独或共同并入权利要求书中。针对本实施方式的目的,除非特别声明,单数包括复数形态且反之亦然。字词“包括(including)”意味“在没有限制下包括(including without limitation)”。再者,例如是“大约(about)”、“几乎(almost)”、“实质上(substantially)”、“近似地(approximately)”、“大体上(generally)”、及类似者的近似字词可在此处使用,以举例为表示“在(at)”、“接近(near)”、或“几乎在(nearly at)”、或“在3-5%中(within 3-5%of)”、或“在可接受的制造公差中(within acceptable manufacturing tolerances)”、或其任何逻辑组合。
本公开的系统及方法包含装配预登录处理程序(pre-registered handler)在计算机系统的BIOS中。难以存取数据(Hard-to-access data)及对应的执行动作在BIOS的程序编写时定义在预登录处理程序中。在预登录处理程序启动及POST完成之后,预登录处理程序提供在运行(runtime)中存取及调整一些设定及难以存取数据的能力(举例为仅SMM寄存器(SMM-only registers)、RAS相关寄存器等)。难以存取数据一般意指在运行中不能藉由一般寄存器工具或OS软件读取或写入的数据。再者,或替代性的来说,难以存取数据需要外部工具或特定的条件来取得,像是SMM模式。其中一个例子包括Intel SMM_ERR_SRC相关寄存器,其指示发布SMI信号的处理器的对应核心或非核心部分及仅可在SMM模式中存取。此些通常需要Intel硬件治具(hardware fixture)外部工具来存取,而对使用者来说并不友善。下表列出RAS相关寄存器的不同的存取形式及存取方法。
下表列出一些难以存取数据的例子:
本公开的此预登录处理程序可藉由系统BMC或OS执行的软件来触发。一旦预登录处理程序触发,根据所请求的数据及响应于使用者所需的信息可存取对应的寄存器及架构。
图2绘示计算机系统200的方块图,计算机系统200包括用以藉由预登录处理程序存取及调整BIOS信息的功能。在一或多个实施例中,计算机系统200为服务器,但此处公开的准则可并入任何具有此处所述的元件的计算机系统中。计算机系统200包括中央处理单元(central processing unit,CPU)210、基本输入输出系统(basic input outputsystem,BIOS)212、选择的基板管理控制器(baseboard management controller,BMC)214、及操作系统(operating system,OS)216。
计算机系统200可包括共享存储器230,可为静态随机存取存储器(static randomaccess memory,SRAM)。计算机系统200也可包括非易失性存储器232,可为快闪存储器或类似的装置。计算机系统200可亦包括专用的BMC快闪存储器234,存储BMC固件。在一或多个实施例中,非易失性存储器232可为相同于专用的BMC快闪存储器234的快闪存储器。也可具有分开的快闪存储器。BMC 214可亦存取写入共享存储器230中的数据。在一或多个实施例中,共享存储器230可为映射(mapped)至系统存储器的BMC芯片上的内部RAM,例如是从ASPEED取得的AST2500。
BIOS 212包括系统管理中断(system management interrupt,SMI)处理程序260。在此例子中,SMI处理程序260处理系统管理中断。
如上所解释,系统管理模式(system management mode,SMM)为在操作系统216运行时,藉由BIOS 212执行系统管理操作的操作模式。在计算机系统200的运行期间,CPU 210的芯片组检测特定事件。此些事件可包括来自处理核心、存储器装置、周边装置、及可能触发中断的其他元件的通知,或来自计算机系统200的使用者的请求。在此例子中,特定事件发出SMI信号。
计算机系统200可亦包括I/O端口236,用以接收通过一或多个I/O装置及通用存储器238的来自使用者的命令。通用存储器238可包括或限制为电性可编程可抹除只读存储器(electrically erasable programmable read-only memory,EEPROM)。
图3绘示根据本公开数个方面的启动及使用计算机系统中的预登录暂存处理程序的程序300,计算机系统例如是计算机系统200。
最初,在步骤301,执行计算机系统的开机自我测试(Power On Self-Test,POST)。在步骤303,在POST期间,计算机系统的BIOS启动预登录处理程序。预登录处理程序启动,以在OS的运行期间进行计算机系统设定及难以存取数据的存取及调整的处理,计算机系统设定例如是BIOS设定。预登录处理程序包括识别部分及执行部分。识别部分的存在是因为BIOS可能不知道何者触发预登录处理程序,如此一来,识别部分识别出哪个动作或哪个装置触发它以接着执行对应程序。也就是说,识别决定什么条件会让预登录处理程序执行。
一旦POST及预登录处理程序的启动完成时,在步骤305开始计算机系统。除非另有说明,程序300的接续步骤是在运行期间发生。
在运行期间的某个时点,在步骤307的触发预登录处理程序的一动作发生。如下所述,触发预登录处理程序的动作可为存取或调整BIOS中的信息的请求。请求可源自于系统BMC或OS软件,如下方更进一步的说明。举例来说,请求被接收,以在计算机系统的操作系统的运行期间,对BIOS中的一或多个寄存器的至少一寄存器执行存取、调整、或其组合。
在步骤309,BIOS利用预登录处理程序处理请求,以对应于请求对BIOS中的此一或多个寄存器的至少一寄存器执行存取、调整、或其组合。如上所述,预登录处理程序包括识别部分与执行部分。识别部分决定什么条件会让预登录处理程序执行。当使用者例如是藉由IPMI命令或OS软件发送在运行中存取特定设定的请求时,请求包括识别实际目的的参数,举例为读取错误状态、写入错误控制设定等。BIOS理解此些参数,所以BIOS可基于此些参数检查或调整特定设定。
在步骤311,BMC IPMI或OS软件响应经由预登录处理程序取得的来自BIOS的数据。因此,使用者从BIOS接收到所请求的数据。
在步骤313,计算机系统根据调整的发生是否需重置计算机系统来选择地重置。举例来说,对于没有预登录处理程序的传统系统来说,在BIOS选单下的RAS相关设定的调整需要重置系统,以让调整生效。对于具有预登录处理程序的计算机系统200来说,除了部分的一次写入寄存器(write-once registers)之外,预登录处理程序允许在运行中调整大部分的RAS相关设定,而无须重置系统。对于这些一次写入寄存器而言,仍需要重置系统,以让预登录处理程序的写入动作生效。
下表列出一些可藉由预登录处理程序实现的可能的命令。
如所公开,预登录处理程序可由BMC(举例为BMC 214)或OS(举例为OS 216)触发。图4绘示根据本公开数个方面的包含藉由BMC触发的预登录处理程序的程序400。
在步骤401,计算机系统开启及执行POST。做为部分的步骤401及POST,且类似于程序300,在步骤403,BIOS启动预登录处理程序,用以对BIOS中的一或多个寄存器执行读取、调整或其组合。如上所公开,预登录处理程序可在运行期间存取及调整设定及难以存取数据。
在步骤403之后,POST完成,及在步骤405计算机系统藉由执行操作系统进入运行时间。除非另有说明,程序400的接续步骤是发生在运行期间。
在步骤407,使用者送出命令,以检查或调整BIOS中的设定。在一或多个实施例中,使用者可通过智能平台管理接口(intelligent platform management interface,IPMI)送出命令,例如是原始设备制造商(original equipment manufacturer,OEM)IPMI。命令送至BMC。
IPMI命令为由IPMI规格所定义的许多数字数字的组合。然而,OEM IPMI命令可具有额外的需求或不同的特定设定,其通常在此意指为OEM IPMI指令。BIOS及BMC两者可遵循OEM IPMI的设计码(design coding)。
在步骤409,基于OEM IPMI命令,BMC产生及送出系统管理中断(systemmanagement interrupt,SMI)信号及使用者请求至BIOS。SMI信号包括使用者的请求中的信息。特别是,在BMC收到OEM IPMI命令之后,BMC了解使用者想要存取仅SMM存取寄存器(SMM-access-only register)。因此,BMC藉由特定硬件信号向系统触发SMI,例如是通用输入/输出(General-Purpose input/output,GPIO)。
在步骤411,基于所接收的SMI信号与使用者的请求,BIOS检查请求中的所请求的数据。特别是,在接收SMI之后,计算机系统进入SMM,以呼叫BIOS SMM处理程序来检查特定硬件信号是否有效(active)。
在步骤413,根据经由预登录处理程序的来自BMC的接收于SMI中的所请求的数据,BIOS存取对应的寄存器及架构,及预登录处理程序必须事先登录于POST中。
在步骤415,BIOS响应所请求的信息至BMC。
在步骤417,BMC接收来自BIOS的数据。
在步骤419,OS接收来自BMC的响应。使用者可检查用以调整的OEM IPMI命令的响应。举例来说,OEM IPMI响应可设计而以遵循完成码(completion code)的数据所组成。数据可包括由使用者检查的数值,及完成码可表示调整是否成功。
在步骤421,计算机系统根据调整是否有需求来选择地重置以完成任何可能已经发生的调整,其中尽管利用预登录处理程序,此种调整仍需重置系统。如上所讨论,对于没有预登录处理程序的传统计算机系统来说,通过BIOS选单的RAS相关设定的调整需要重置系统,以让调整生效。对于本公开的具有预登录处理程序的计算机系统来说,除了部分的一次写入寄存器(write once registers)之外,计算机系统可在运行中调整大部分的RAS相关设定。
图5绘示根据本公开数个实施例的包含藉由软件码或功能触发的预登录处理程序的程序500。
在步骤501,计算机系统开启及执行POST。做为部分的POST,步骤503执行,其中BIOS启动预登录处理程序,类似于上述的步骤303及403。
在步骤503之后,POST完成,及在步骤505计算机系统藉由执行操作系统进入运行时间。除非另有说明,程序500的接续步骤是发生在运行期间。
在POST之后及计算机系统的运行期间,当使用者送出请求数据至特定位置以检查或调整架构时,程序500继续进行到步骤507。特定位置某个存储请求数据的位置,及BIOS可从该位置存取数据。举例来说,该位置可为特定I/O位置、存储器位置、或NVRAM位置、或OS及BIOS两者皆可存取数据的任何位置。
作为响应,在步骤509,OS软件触发软件SMI。软件SMI由OS软件经由I/O存取指定位置来触发。BIOS定义出指定位置,及位置信息从ACPI表提交给OS。ACPI表让OS了解硬件架构等级数据(hardware configuration level data)。
在步骤511,BIOS存取与请求相关的特定位置。因为BIOS存取特定位置,该位置编码至预登录处理程序的识别部分中。
在步骤513,BIOS存取或调整对应的寄存器及架构。除了执行时点总是在运行中,及执行处理程序的运行时间必须预先登录于POST中之外,此步骤可相同于上方的图4中的对应步骤413。
在步骤515,BIOS存储所需的信息至特定位置。
在步骤517,OS软件从特定位置存取数据。
在步骤519,计算机系统根据调整是否有需求来选择地重置以使更改生效。如上所述,在重置之后,某些寄存器可藉由软件读取及仅可藉由软件写入一次。对于这些一次写入寄存器(write-once registers)来说,需要进行系统重置,以让预登录处理程序的写入动作生效。
基于前述,预登录处理程序让检查或调整一些特定设定可在无需外部工具或重置系统下实现,而最终使得系统架构、错误分类(error triage)等更为简单。藉由避免在特定架构改变时需要重置系统,本发明更减少系统停机,而让存取特定寄存器(仅SMM寄存器(SMM-only registers))更加简易,及提供较佳的错误分类的体验。
在仅针对以附图示例及说明的目的下,提出了包括所绘示实施例的实施例的前述说明,但非意欲全面地说明或限制成所述的精准形式。本领域技术人员将明了数种调整、改变、及其使用。
虽然所公开的实施例已经参照一或多个实施例以附图示例及说明,基于阅读及了解本说明书及所附的附图,本领域技术人员将可进行或知悉等效的变更及调整。此外,当本发明的特定特征可能仅参照数种实施例的一种实施例公开时,此种特征可因任何给定或特定应用的需求及优点而结合其他实施例的一或多个其他特征。
在本发明的数种实施例已经说明于上文的情况下,应理解的是,它们仅藉由例子的方式呈现出来,且并非为限制。在不脱离本发明的精神或范围下,对于所公开的实施例的数种改变可根据此处的公开达成。因此,本发明的广度及范围不应受限于任何上述的实施例。本发明的范围反而应根据权利要求书及其等效定义。
此处所使用的术语仅针对说明特定实施例的目的,且不意欲成为本发明的限制。除非内文中有另有明确地说明,此处所使用的单数形式“一(a)”、“一(an)”、及“此(the)”也意欲包括复数形式。再者,在词语“包括(including)”、“包括(includes)”、“具有(having)”、“具有(has)”、“具有(with)”、或其变化使用于实施方式和/或权利要求书的范围中,此些词语意欲以类似于“包括(comprising)”的方式具有包含性。
除非另有定义,此处所使用的所有词语(包括技术及科学词语)具有相同于本领域技术人员普遍理解的含意。再者,除非此处明确地定义,例如是这些在通用字典中定义的词语应诠释成具有与相关领域的内容中一致的意义,及将不以理想化或过度正式含意的方式来诠释。综上所述,虽然本发明已以实施例公开如上,然其并非用以限定本发明。本发明所属领域技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视所附权利要求书界定范围为准。

Claims (9)

1.一种用以存取数据的方法,包括:
在计算机系统的开机自我测试(power-on self-test)期间,启动预登录处理程序(pre-registered handler),该预登录处理程序用以对该计算机系统的基本输入输出系统(basic input output system,BIOS)中的一或多个寄存器执行存取、调整、或其组合;
在该计算机系统的操作系统的运行(runtime)期间,接收对该基本输入输出系统中的该一或多个寄存器的至少一寄存器执行存取、调整、或其组合的请求;
利用该预登录处理程序处理该请求,以对应于该请求对该基本输入输出系统中的该一或多个寄存器的该至少一寄存器执行存取、调整、或其组合;以及
基于由该预登录处理程序所取得的来自该至少一寄存器的数据,提供对应于该请求的响应。
2.如权利要求1所述的方法,其中该请求从基板管理控制器(baseboard managementcontroller,BMC)接收。
3.如权利要求2所述的方法,其中该响应提供至该基板管理控制器。
4.如权利要求3所述的方法,其中发出该请求的使用者藉由该基板管理控制器的智能平台管理接口(intelligent platform management interface)接收该响应。
5.如权利要求2所述的方法,其中该请求来自智能平台管理接口命令。
6.如权利要求1所述的方法,其中该请求由该计算机系统的该操作系统接收。
7.如权利要求6所述的方法,其中该基本输入输出系统藉由存储表示该响应的信息在该操作系统及该基本输入输出系统可存取的特定位置中来提供该响应。
8.如权利要求1所述的方法,其中该一或多个寄存器与在该操作系统的运行期间不能读取或写入的难以存取数据(hard-to-access data)相关。
9.如权利要求1所述的方法,还包括根据致使该至少一寄存器进行调整的该请求,重新启动该计算机系统,该至少一寄存器进行该调整需要重新启动该计算机系统。
CN202210759498.4A 2022-04-20 2022-06-29 用以存取数据的方法 Pending CN116954485A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/724,752 US11829480B2 (en) 2022-04-20 2022-04-20 Remote access of system register configuration
US17/724,752 2022-04-20

Publications (1)

Publication Number Publication Date
CN116954485A true CN116954485A (zh) 2023-10-27

Family

ID=88415403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210759498.4A Pending CN116954485A (zh) 2022-04-20 2022-06-29 用以存取数据的方法

Country Status (3)

Country Link
US (1) US11829480B2 (zh)
CN (1) CN116954485A (zh)
TW (1) TWI824558B (zh)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082529B2 (en) * 2003-04-25 2006-07-25 Dell Products L.P. Method and apparatus for capturing display characteristic information to achieve faster boot and resume of an information handling system
US7234054B2 (en) * 2004-02-09 2007-06-19 Intel Corporation Method and apparatus for enabling platform configuration
US7242218B2 (en) * 2004-12-02 2007-07-10 Altera Corporation Techniques for combining volatile and non-volatile programmable logic on an integrated circuit
US8533845B2 (en) * 2005-02-15 2013-09-10 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling operating system access to configuration settings
TWI446161B (zh) 2010-12-30 2014-07-21 Ibm 處理一多處理器資訊處理系統之一故障處理器的裝置及方法
US9779241B2 (en) * 2013-09-25 2017-10-03 Cisco Technology, Inc. Synchronization of UEFI secure boot variables on a managed server
US9529410B2 (en) * 2014-07-14 2016-12-27 American Megatrends, Inc. Service processor (SP) initiated data transaction with BIOS utilizing power off commands
CN107357400B (zh) 2016-05-10 2021-03-26 佛山市顺德区顺达电脑厂有限公司 自动开机到安装有指定操作系统类型的硬盘的方法
JP6946867B2 (ja) 2017-09-01 2021-10-13 富士通株式会社 情報処理装置、管理装置およびプログラム
US10921870B2 (en) 2018-09-25 2021-02-16 Quanta Computer Inc. System and method for hybrid power supply
US10956170B2 (en) * 2019-03-22 2021-03-23 Dell Products L.P. BIOS setting modification system
CN114168196A (zh) 2021-11-19 2022-03-11 中科可控信息产业有限公司 寄存器控制方法、系统、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
TWI824558B (zh) 2023-12-01
US20230342470A1 (en) 2023-10-26
US11829480B2 (en) 2023-11-28
TW202343262A (zh) 2023-11-01

Similar Documents

Publication Publication Date Title
CN108462760B (zh) 电子装置、集群访问域名自动生成方法及存储介质
CN101814035B (zh) 允许快速平台重启的方法和系统
US10387261B2 (en) System and method to capture stored data following system crash
US7047401B2 (en) Handling interrupts during multiple access program instructions
US7216223B2 (en) Configuring multi-thread status
US9395919B1 (en) Memory configuration operations for a computing device
US20210382832A1 (en) Securing a memory device
JP2017519281A (ja) ハードウェア構成レポーティング用の装置、ハードウェア構成アービトレーションの方法、プログラム、機械可読記録媒体、及び、ハードウェア構成アービトレーション用の装置
US20200401384A1 (en) Electronic device and operation method thereof
JP2013536504A (ja) アラインメント制御
US11321077B1 (en) Live updating of firmware behavior
CN111949320B (zh) 提供系统数据的方法、系统及服务器
US11341076B2 (en) Hot-plugged PCIe device configuration system
US20180196602A1 (en) Data storage device and data processing system including the same
CN116954485A (zh) 用以存取数据的方法
US20200026671A1 (en) Circuitry system and method for processing interrupt priority
US11586536B1 (en) Remote configuration of multi-mode DIMMs through a baseboard management controller
US11204704B1 (en) Updating multi-mode DIMM inventory data maintained by a baseboard management controller
US20090113544A1 (en) Accessing password protected devices
US11544130B2 (en) Watchdog circuit, circuit, system-on-chip, method of operating a watchdog circuit, method of operating a circuit, and method of operating a system-on-chip
US11138140B2 (en) Configuring first subsystem with a master processor and a second subsystem with a slave processor
US20010049794A1 (en) Write protection software for programmable chip
CN113867753B (zh) 一种服务器的固件更新方法及系统
US11169740B1 (en) Simultaneous initiation of multiple commands for configuring multi-mode DIMMS using a BMC
US7360052B2 (en) Computer platform memory access control method and system with memory configuration automatic setting capability

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