CN104969181A - 损坏的驱动器变量记录的替换 - Google Patents

损坏的驱动器变量记录的替换 Download PDF

Info

Publication number
CN104969181A
CN104969181A CN201380072091.3A CN201380072091A CN104969181A CN 104969181 A CN104969181 A CN 104969181A CN 201380072091 A CN201380072091 A CN 201380072091A CN 104969181 A CN104969181 A CN 104969181A
Authority
CN
China
Prior art keywords
damage
driver
driver variable
variable record
record
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
Application number
CN201380072091.3A
Other languages
English (en)
Other versions
CN104969181B (zh
Inventor
杰恩·E·斯克特
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN104969181A publication Critical patent/CN104969181A/zh
Application granted granted Critical
Publication of CN104969181B publication Critical patent/CN104969181B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/0793Remedial or corrective actions
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

BIOS存储设备包括驱动器变量记录、损坏检测引擎以及损坏修复引擎,其中损坏检测引擎用于评估在BIOS存储设备的区域中存储的多条驱动器变量记录的损坏,且损坏修复引擎用于利用驱动器变量记录的最近已知良好的版本来替换损坏的驱动器变量记录。

Description

损坏的驱动器变量记录的替换
背景技术
统一可扩展固件接口(UEFI)的变量服务驱动器组件解决对可重编程非易失性存储器的驱动器变量的读写、以及垃圾回收。此组件确保变量被正确写入且符合特定的数据结构。此外,由于在UEFI框架下,多个系统可对保存驱动器变量记录的存储器区域进行读写,因此可能需要该组件。可重编程非易失性存储器还可保存基本输入/输出系统(BIOS)。在UEFI标准下,BIOS存储设备的以链表结构容纳驱动器和系统变量的驱动器变量记录存储区域,可由可扩展固件接口(EFI)驱动器、与适配器卡关联的EFI选项只读存储器(ROM)、以及UEFI感知操作系统更新。
附图说明
为了详细描述各种示例,现在将参照附图,图中:
图1示出根据各种示例的损坏及修复系统的示例;
图2示出根据各种示例的存储在链表中的一条驱动器变量记录和多条驱动器变量记录的示例;
图3示出根据各种示例的损坏及修复系统的可替代性示例;
图4示出根据各种示例的损坏及修复系统的例示性实施方式;以及
图5A和图5B示出根据各种示例的方法。
符号和术语
在整个下面的描述和权利要求中,使用一些术语来称谓特定的系统组件。如本领域技术人员将理解的,计算机公司可通过不同的名字称谓一种组件。本文件不旨在区分名字不同的组件,而是区分功能不同的组件。在下面的讨论和权利要求中,以开放式的方式使用术语“包括”,且因此应解释为表示“包括,但不限于…”。此外,术语“联接”旨在表示间接的、直接的、光学的或无线的电连接。因此,如果第一设备联接至第二设备,该连接可为通过直接的电连接、通过经由其他设备和连接的间接电连接、通过光学的电连接、或通过无线的电连接。
具体实施方式
本公开一般致力于损坏的驱动器和系统变量记录(下文简单地称作可由计算机系统的BIOS和其它计算机系统组件使用的变量)的检测和修复。BIOS可在UEFI固件工业标准下运行,且可为计算机系统的硬件和计算机系统的操作系统(OS)之间的接口。举几个例子,计算机系统可为个人计算机(PC)、移动计算设备、或服务器。此外,BIOS可驻留在可重编程、非易失性存储设备(本文广义地称为“BIOS存储设备”)上。BIOS存储设备可被实现为只读存储器(ROM)、FLASH存储器、或其它类似类型的存储器、存储设备,且可为计算机系统的一部分。BIOS存储设备可被分隔,使得指定的区域保存特定的信息。例如,保存固件和驱动器的区域,以及保存变量的区域或变量存储区域。变量可为计算机的设备驱动器与计算机上运行的软件之间的接口,其中举几个例子,设备驱动器可为运行声卡、鼠标、键盘或大容量存储设备的固件。变量可存储在链表中,且可由计算机系统的BIOS或其它系统组件使用、更新、删除和重新初始化。
图1示出根据各种示例的损坏及修复系统100的示例,并且系统100可由例示性计算机系统实现。系统100可包括损坏检测引擎102、损坏修复引擎104、存储在驱动器变量存储区域108中的多条驱动器变量记录106、以及存储设备110。BIOS存储设备110可包含损坏检测引擎102、损坏修复引擎104、以及驱动器变量存储区域108。多条驱动器变量记录106可以被存储在链表结构中。此外,可由损坏检测引擎102评估驱动器变量记录106以查找损坏的变量。损坏变量可由损坏修复引擎104替换。
图2示出包含在链表200中的驱动器变量记录106的示例。驱动器变量记录106中的每个可包括三部分:驱动器变量记录头202、驱动器变量记录名204、以及驱动器变量记录数据206。头202可包含变量结构定义,且可通知使用该变量106的计算机系统变量的大小、使用变量的组件的名称、以及变量是否是当前的或被标记以供删除。在头202之后是驱动器变量名204,驱动器变量名204后紧接着驱动器变量数据206。此外,由于头202给出变量的名字和数据大小,因此如果头202变坏,系统100可以能够计算下一个变量应在链表200中的何处。
驱动器变量记录106可以链表200的形式存储在驱动器变量存储区域108中。每个变量106可提供指针,例如指针210,指针指向链表200中下一个变量106的开始。指针210可包含在变量106的头202中,且可由损坏检测引擎102使用来评估驱动器变量记录106。损坏检测引擎102可评估驱动器变量记录106以查找坏头202或坏链接210。
举几个例子,变量106一般可用于存储用户数据的配置信息、管理员名字、以及偏好。更具体地,一个系统变量标题为引导顺序(BootOrder),且可由UEFI规范定义。引导顺序变量可包含系统在引导时应遵循的顺序,例如硬盘、然后USB驱动、然后网络适配器,等等。附加的变量,例如平台密钥(PK)和密钥交换密钥(KEK)变量可包含需要增加和更新其他认证变量的证书。
变量106可由UEFI感知操作系统(OS)、固件或EFI选项ROM来更新。随着变量106被更新,旧的变量版本可被标记以供删除。此更新过程可继续,直至变量存储区域108已利用所更新的变量和被标记以供删除的旧版本被填充。变量存储区域108可具有有限的大小,例如64k字节,有限的大小可能限制一次存储的变量106的数量。为此,一旦变量存储区域108变满,与例示性计算机系统的固件相关联的变量服务驱动器可执行垃圾回收操作,在该操作中移除被标记以供删除的所有驱动器和系统变量。其余变量106可联系起来以重新形成新的链表200,且随后可重新写到变量存储区域108。贯穿此过程,变量106中的一些由于垃圾回收操作或者由于用错误的信息更新他们的驱动器或功能,而可能变坏。损坏可通过一条驱动器变量记录106的坏链接210或坏头202来显示。损坏驱动器变量记录106可导致计算机系统问题或故障。
为了减轻这样的潜在损坏,变量校正驱动器被增加到计算机系统的BIOS。变量校正驱动器可用于周期性地查看变量存储区域106的损坏,且可由损坏检测引擎102和损坏修复引擎104实现。变量校正驱动器可评估链表200中的链接210或变量106的头202的损坏。损坏可以以坏链接210的形式表示自身,这意味着在变量106的头202中列出的偏移位置指向错误的位置。损坏还可以以坏头202的形式表示自身,坏头202可为包含例如错误的驱动器识别信息的头202。如果找到损坏变量,变量校正驱动器可将损坏变量标记为将要删除,并利用其最近已知良好的版本重写从第一个损坏变量到链表结尾的所有变量。
可替代地,变量校正驱动器可利用该变量的默认版本替换损坏变量,或擦除BIOS存储设备110的整个变量存储区域108。擦除整个变量存储区域可引起例示性计算机系统的BIOS重新初始化,这可将变量存储区域108中的所有多个变量106恢复为其默认值。
变量校正驱动器可增加到BIOS的驱动器执行环境(DXE)模块、系统管理模块(SMM)、运行时服务模块、或所有三个模块。可替代地,变量校正驱动器可为与其它计算机系统固件相关联的独立代码。
变量校正驱动器可被安排为通过配置其在固定数量的写之后(例如,在每10次写之后)评估可变存储区域来周期性运行,或者变量校正驱动器可附接至计时器,使得其每几秒或毫秒运行。但是,变量校正驱动器的运行可在BIOS内被动态设置,以依据计算机系统的操作活动或多或少频繁地运行。
此外,关于图3,BIOS存储设备108还可包括组件/功能识别引擎114,组件/功能识别引擎114可使更新变量存储区域108中变量106的每个组件和功能将它们自身识别为变量106中被更新的数据的部分。例如,更新功能或组件可在变量106的头202中识别它们自身。组件/功能识别引擎114还可为变量校正驱动器以及引擎102和104的一部分。然后,在变量校正驱动器发现无效或损坏的变量时,变量校正驱动器可使用预建立的记录方法记录有问题的条目。通过查看包含在损坏变量中的识别信息,计算机系统可阻止有问题的组件从该点起写入变量存储区域108,或直至有问题的组件被调查。或者,计算机系统可警告系统代理去调试有问题的组件。
图1示出根据各种示例的损坏及修复系统112的示例,损坏及修复系统112可由实现BIOS存储设备110的例示性计算机系统来实现。例示性计算机系统可包括为该系统提供本文描述的功能的各种引擎。例示性计算机系统可包括损坏检测引擎102和损坏修复引擎104。尽管两个引擎102和104在图1中被示出为分离的引擎,但在其它实施方式中,这两个引擎的功能可组合到成单个引擎,且可实现上面结合变量校正驱动器讨论的功能。此外,例示性计算机系统可包括组件/功能识别引擎114,组件/功能识别引擎114可与这两个引擎102和104组合成单个引擎。
在例示性计算机系统的一些示例中,每个引擎102和104可被实现为执行软件的处理器。例如,图4出示一个合适的示例,在该示例中,处理器416联接至非暂时性计算机可读存储设备400。非暂时性计算机可读存储设备400可被实现为非易失性存储器,例如可重编程非易失性存储器、电可擦除可编程只读存储器(EEPROM)、或闪存。
作为或可作为上面讨论的BIOS存储设备的非暂时性计算机可读存储设备400在图4中被示出,以包括在功能上与图1的每个引擎对应的软件模块。软件模块可包括损坏检测模块412和损坏修复模块414。附加模块可包括在BIOS 402中,BIOS 402可包括固件和驱动器404,例如变量服务驱动器。图1的每个引擎可被实现为执行图4的对应软件模块的处理器416。
现在将参照图5A和图5B的流程图描述图1的引擎102和104以及图4的模块412和414执行的功能。方法500开始于框502,针对损坏变量,评估非暂时性计算机可读存储设备400的变量存储区域(例如变量存储区域406)。变量存储区域406可包括存储在链表结构(例如链表200)中的驱动器变量记录408,也称为变量408。通过可实现驱动400或系统100的例示性计算机系统的标准操作,变量408可周期性变坏。
系统和外围驱动器在例示性计算机中运行,其可通过将更新写入在变量存储区域406中存储的变量来保存对其变量408的改变。随着进行这些改变,变量408的旧版本可被标记以供删除,且新变量版本可写入变量存储区域406中。此过程可被执行直至存储区域406充满数据,例如当分配给变量存储区域406的所有64k字节被使用时。当没有更多的空间用于更新变量408时,可由与固件和驱动器404关联的运行时服务变量驱动器运行垃圾回收操作。这可能导致被标记为删除的所有变量408被删除,被标记为当前的其余变量408然后可联系起来,以形成可写回变量存储区域406的新链表。
在变量存储区域406中已执行了预定数量的写(包括垃圾回收写)后,可由例示性计算机系统调用损坏检测引擎102来查找损坏变量。损坏检测引擎102可从存储在变量存储区域406中的变量408的链表顶端开始,然后沿链表移动,以评估链表来查找坏链接。可替代地,损坏检测引擎102可沿链表移动,以评估每个变量408来查找包含在其头(例如头202)中的坏信息。坏链接或者坏头可表示损坏变量。例如,由于标志每个变量的开始的StartID(起始ID)不正确,可确定头为坏的。对于另一个示例,由于在最后一次更新变量时使用了错误的VendorGuid(供应商Guid)标识符,可确定头是坏的。包含在头中的变量的大小也可为无效的。此外,由于变量存储在链表中,指向下一个变量的链接或指针210可为损坏的。损坏的链接或指针可指向该列表进一步向下的错误位置,而不是指向该列表中下一个变量的头。由于变量存储为链表,损坏链接后的所有变量可为损坏的。
方法500在框504处继续。基于找到损坏的驱动器变量记录,通过基于可利用的最近已知良好的驱动器变量记录来替换损坏驱动器变量记录,来开始方法504。如果已由例示性计算机系统运行了垃圾回收,则最近已知良好的变量可用。在一些实施方式中,可由损坏修复引擎104(图1)来执行此操作。
图5B示出一种可替代方法500,方法500开始于如上面讨论的框502和504,但在框506处继续。可替代方法500通过利用与被替换的每条驱动器变量记录对应的最近已知良好的驱动器变量记录替换从损坏的变量记录到链表结尾的所有驱动器变量记录,来在框506处继续。从损坏的变量到链表结尾的链表的替换可由损坏修复引擎104来执行。
但是,如果最近已知良好的变量408由于垃圾回收操作已被擦除,则损坏修复引擎104可标记损坏变量以供删除,随后,损坏检测引擎102可从链表向下继续,以确定链表的其余部分是否也损坏。如果链表的其余部分未损坏,则损坏修复引擎104可恢复链表中最近良好的变量的合适大小。可留下其余变量。通过将损坏变量标记为删除,损坏修复引擎104可强制例示性计算机系统使用该变量的默认值。
但是,如果链表中的其他变量308也损坏且不能替换,则例示性计算机系统可擦除整个变量存储区域306。擦除整个变量存储区域306可强制例示性计算机系统的BIOS运行完整的重新初始化,并将所有变量308返回到其默认值。但是,此最后一步可导致用户数据的丢失并改变系统配置。
上面的讨论意味着是本发明的原理和各种实施例的例示。一旦充分理解了上面的公开,许多变化和修改对本领域技术人员来说将显而易见。例如,变量校正驱动器可包含在BIOS存储系统内,或者为由计算机系统的分离区域周期性运行的独立驱动器。目的在于:所附权利要求被解释为包括所有这样的变化和修改。

Claims (15)

1.一种系统,包括:
BIOS存储设备,包括多条驱动器变量记录、损坏检测引擎、以及损坏修复引擎;
其中所述损坏检测引擎用于评估在BIOS存储设备的区域中存储的所述多条驱动器变量记录的损坏;并且
其中所述损坏修复引擎用于利用所述驱动器变量记录的最近已知良好的版本替换损坏的驱动器变量记录。
2.根据权利要求1所述的系统,其中所述损坏检测引擎用于基于包含在所述驱动器变量记录的头中的坏信息确定驱动器变量记录损坏。
3.根据权利要求1所述的系统,其中所述损坏修复引擎用于利用所述驱动器变量记录的默认版本替换所述损坏的驱动器变量记录。
4.根据权利要求1所述的系统,其中所述多条驱动器变量记录被存储在链表中。
5.根据权利要求1所述的系统,其中所述损坏修复引擎用于利用每条驱动器变量记录的最近已知良好的版本替换从所述损坏的驱动器变量记录到所述链表的结尾的所有驱动器变量记录。
6.根据权利要求1所述的系统,其中组件/功能识别引擎用于指引更新所述驱动器变量记录中一条的每个组件通过将所述组件的名字包括在所述组件所更新的所述驱动器变量记录的所述头中来识别所述组件。
7.一种方法,包括:
由损坏检测引擎评估BIOS存储设备的区域,以查找存储在链表中的损坏的驱动器变量记录;以及
基于找到损坏的驱动器变量记录,由损坏修复引擎基于可利用的最近已知良好的驱动器变量记录,来替换所述损坏的驱动器变量记录。
8.根据权利要求7所述的方法,进一步包括:利用与被替换的每条驱动器变量记录对应的最近已知良好的驱动器变量记录,来替换从所述损坏的变量记录到所述链表的结尾的所有驱动器变量记录。
9.根据权利要求7所述的方法,进一步包括:基于所述可利用的最近已知良好的驱动器变量记录不可用,标记所述损坏的驱动器变量记录以供删除。
10.一种非暂时性计算机可读存储设备(CRSD),该设备包含软件,所述软件在被执行时使处理器:
由损坏检测模块评估在BIOS存储设备的区域中存储的驱动器变量记录的损坏,其中所述驱动器变量记录被结构化为链表;以及
基于驱动器变量记录被损坏,由损坏修复模块利用最近已知良好的替换所述损坏的驱动器变量记录以及到所述链表的结尾的随后驱动器变量记录。
11.根据权利要求10所述的CRSD,其中所述软件在被执行时使所述处理器评估所述驱动器变量记录的坏链接。
12.根据权利要求10所述的CRSD,其中所述软件在被执行时使所述处理器评估所述驱动器变量记录的坏头信息。
13.根据权利要求10所述的CRSD,其中所述软件在被执行时使所述处理器:基于存在不能被替换的损坏的驱动器变量记录,擦除所述存储器的存储所述变量驱动器记录的整个区域。
14.根据权利要求10所述的CRSD,其中所述软件由所述处理器以预定的时间间隔执行。
15.根据权利要求10所述的CRSD,其中所述软件在被执行时使所述处理器:评估所述驱动器变量记录以查找所述驱动器变量记录的坏名字大小、或者所述驱动器变量记录的坏数据大小。
CN201380072091.3A 2013-01-31 2013-01-31 用于损坏的驱动器变量记录的修复系统、方法及存储设备 Expired - Fee Related CN104969181B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/024141 WO2014120205A1 (en) 2013-01-31 2013-01-31 Replacement of a corrupt driver variable record

Publications (2)

Publication Number Publication Date
CN104969181A true CN104969181A (zh) 2015-10-07
CN104969181B CN104969181B (zh) 2019-08-02

Family

ID=51262769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380072091.3A Expired - Fee Related CN104969181B (zh) 2013-01-31 2013-01-31 用于损坏的驱动器变量记录的修复系统、方法及存储设备

Country Status (3)

Country Link
US (1) US9710340B2 (zh)
CN (1) CN104969181B (zh)
WO (1) WO2014120205A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766102A (zh) * 2017-10-16 2018-03-06 环胜电子(深圳)有限公司 双基本输出入系统(bios)的开机方法及具有其的电子装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10452459B2 (en) 2016-12-09 2019-10-22 Microsoft Technology Licensing, Llc Device driver telemetry
US10467082B2 (en) * 2016-12-09 2019-11-05 Microsoft Technology Licensing, Llc Device driver verification
US10621112B2 (en) * 2018-01-25 2020-04-14 Dell Products L.P. System and method of identifying a device driver
US11099831B2 (en) * 2018-02-08 2021-08-24 Micron Technology, Inc. Firmware update in a storage backed memory system
US11243757B2 (en) * 2018-12-03 2022-02-08 Dell Products L.P. Systems and methods for efficient firmware update of memory devices in BIOS/UEFI environment
US11392493B2 (en) * 2020-05-27 2022-07-19 Dell Products L.P. System and method for optimizing non-volatile random access memory usage
US11347519B2 (en) * 2020-05-27 2022-05-31 Dell Products L.P. Systems and methods for detecting short-term changes to BIOS setup

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040236985A1 (en) * 2003-05-06 2004-11-25 International Business Machines Corporation Self healing storage system
US20040255106A1 (en) * 2003-06-10 2004-12-16 Rothman Michael A. Recovery of operating system configuration data by firmware of computer system
US7143275B2 (en) * 2002-08-01 2006-11-28 Hewlett-Packard Development Company, L.P. System firmware back-up using a BIOS-accessible pre-boot partition
CN1940927A (zh) * 2005-09-27 2007-04-04 国际商业机器公司 捕获和传送文件系统的密集诊断数据的方法和装置
WO2009084271A1 (ja) * 2007-12-27 2009-07-09 Sharp Kabushiki Kaisha シフトレジスタ
US7584374B2 (en) * 2006-03-07 2009-09-01 Intel Corporation Driver/variable cache and batch reading system and method for fast resume
CN101707060A (zh) * 2004-06-15 2010-05-12 松下电器产业株式会社 驱动装置
US20110131447A1 (en) * 2009-11-30 2011-06-02 Gyan Prakash Automated modular and secure boot firmware update
CN102567478A (zh) * 2010-12-17 2012-07-11 微软公司 文件系统中的在线故障验证
US20120284568A1 (en) * 2006-11-03 2012-11-08 Nvidia Corporation Hardware override of application programming interface programmed state

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111307B1 (en) * 1999-11-23 2006-09-19 Microsoft Corporation Method and system for monitoring and verifying software drivers using system resources including memory allocation and access
US6505258B1 (en) * 2000-02-29 2003-01-07 Compaq Information Technologies Group, L.P. Comprehensive interface between bios and device drivers to signal events
US6889340B1 (en) * 2000-10-13 2005-05-03 Phoenix Technologies Ltd. Use of extra firmware flash ROM space as a diagnostic drive
US7043664B1 (en) 2002-10-31 2006-05-09 Microsoft Corporation Firmware recovery
EP1840902B1 (en) 2006-03-29 2009-08-05 STMicroelectronics S.r.l. Method and device for detecting possible corruption of sector protection information of a non volatile memory stored in an on board volatile memory array at power-on
US20080235501A1 (en) 2007-03-19 2008-09-25 James Ray Bailey Method For Detecting and Correcting Firmware Corruption
EP2176755A4 (en) * 2007-07-20 2013-01-23 Qualcomm Atheros Inc TELEDIAGNOSTIC DEVICE AND METHODS
US8392762B2 (en) 2008-02-04 2013-03-05 Honeywell International Inc. System and method for detection and prevention of flash corruption

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7143275B2 (en) * 2002-08-01 2006-11-28 Hewlett-Packard Development Company, L.P. System firmware back-up using a BIOS-accessible pre-boot partition
US20040236985A1 (en) * 2003-05-06 2004-11-25 International Business Machines Corporation Self healing storage system
US20040255106A1 (en) * 2003-06-10 2004-12-16 Rothman Michael A. Recovery of operating system configuration data by firmware of computer system
CN101707060A (zh) * 2004-06-15 2010-05-12 松下电器产业株式会社 驱动装置
CN1940927A (zh) * 2005-09-27 2007-04-04 国际商业机器公司 捕获和传送文件系统的密集诊断数据的方法和装置
US7584374B2 (en) * 2006-03-07 2009-09-01 Intel Corporation Driver/variable cache and batch reading system and method for fast resume
US20120284568A1 (en) * 2006-11-03 2012-11-08 Nvidia Corporation Hardware override of application programming interface programmed state
WO2009084271A1 (ja) * 2007-12-27 2009-07-09 Sharp Kabushiki Kaisha シフトレジスタ
US20110131447A1 (en) * 2009-11-30 2011-06-02 Gyan Prakash Automated modular and secure boot firmware update
CN102567478A (zh) * 2010-12-17 2012-07-11 微软公司 文件系统中的在线故障验证

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766102A (zh) * 2017-10-16 2018-03-06 环胜电子(深圳)有限公司 双基本输出入系统(bios)的开机方法及具有其的电子装置

Also Published As

Publication number Publication date
US20150370653A1 (en) 2015-12-24
CN104969181B (zh) 2019-08-02
US9710340B2 (en) 2017-07-18
WO2014120205A1 (en) 2014-08-07

Similar Documents

Publication Publication Date Title
CN104969181A (zh) 损坏的驱动器变量记录的替换
US10387239B2 (en) Detecting memory failures in the runtime environment
US8423991B2 (en) Embedded network device and firmware upgrading method
US10365961B2 (en) Information handling system pre-boot fault management
CN106095620B (zh) 一种嵌入式Linux存储分区的开发方法
CN102165422B (zh) 固件更新装置以及方法
CN103150231B (zh) 计算机开机的方法与计算机系统
CN102422265B (zh) Bios映像管理器
US8468389B2 (en) Firmware recovery system and method of baseboard management controller of computing device
CN106648958A (zh) 基本输入输出系统回复管理系统及其方法以及程序产品
US8402204B2 (en) Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same
US10146628B2 (en) Software backup and restoration procedures using application and file monitoring
CN104424068A (zh) 固件更新压力测试系统及方法
EP1679599B1 (en) File update system and boot management system of mobile communication terminal, and corresponding methods
US7818622B2 (en) Method for recovering data processing system failures
CN103970564A (zh) 嵌入式操作系统自动修复升级功能的方法及其系统
CN104049999A (zh) 基于网络的存储设备自动修复系统及其方法
CN103593301B (zh) 坏块管理方法及系统
CN104657232A (zh) Bios自动恢复系统及方法
CN105159810B (zh) 对计算机系统的bios进行测试的方法及装置
US20070079279A1 (en) Embedded device with software registry
CN109086085A (zh) 一种操作系统启动管理方法和装置
US9857976B2 (en) Non-volatile memory drive partitions within microcontrollers
CN103870355A (zh) Bios存取系统及方法
CN112527343A (zh) 固件更新方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190802