非易失性存储器写入机制制造技术

技术编号:12103984 阅读:79 留言:0更新日期:2015-09-23 22:38
一种系统包括用以高速缓存非易失性存储器的存储器缓冲器。所述非易失性存储器将多个有效和陈旧变量分别地存储在多个有效和陈旧区域中。该系统还包括日志区,用以利用交替的成对结构指针来跟踪存储器缓冲器内的有效区域和有效变量的移动以指示所述多个有效和陈旧区域的至少一部分,进而指示有效变量在写入事件期间从哪里和向哪里移动。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】
技术介绍
在诸如例如台式计算机、膝上型计算机、平板计算机等计算设备中使用的硬件部件常常包括固件,其可以指代控制硬件部件的低级功能的硬件和可执行指令的组合。也就是说,固件可使得能够通过允许安装在计算设备中的硬件部件之间的相交互而实现计算设备的适当操作。作为示例,硬盘驱动器(hard drive)可以包括在上电时配置硬盘驱动器、解释并执行来自处理器的指令且安全地使硬盘驱动器掉电的固件。统一可扩展固件接口(UEFI)指代定义操作系统与平台固件之间的软件接口的规范(由统一 EFI论坛管理)。UEFI意图作为用于基本输入/输出系统(B1S)固件接口的替换。也就是说,虽然可将B1S视为基本上固体的一件固件,但可将UEFI视为位于计算设备的硬件和固件之上的可编程软件接口(即,UEFI可以且确实位于B1S之上)。胜于将所有启动代码存储在母板的B1S中,UEFI在一些非易失性存储器中可以位于EFI/目录中,例如在母板上、在硬盘驱动器上或者在网络共享上。换言之,可以在系统启动时从固件、例如闪存加载EFI软件。一旦被加载,其可以控制启动过程。结果,可以认为UEFI类似于轻型或伪操作系统(OS)。【附图说明】为了更全面地理解各种示例,现在对结合附图进行的以下描述进行参考,在所述附图中: 图1图示出其中可被利用的非易失性容错写入机制的示例系统; 图2A图示出其中可被实现的非易失性容错写入机制的示例UEFI平台; 图2B图示出根据非易失性容错写入机制的用于跟踪数据移动的示例日志区(journalreg1n);以及 图3图示出在执行非易失性容错写入事件时执行的示例过程。【具体实施方式】图1是包括可以用指令编码以便执行固件更新应用程序145的计算机可读存储介质140的示例计算设备100的框图。应注意的是固件更新应用程序145/固件更新仅仅是其中可被实现的非易失性容错写入机制的示例应用程序/背景,并且可设想多种其它固件应用程序/背景。计算设备100可以是例如台式计算机、膝上型计算机、服务器、手持式计算设备等。计算设备100可包括处理器110、硬件部件120、固件至OS接口 130以及计算机可读存储介质140和150。处理器110可以是中央处理单元(CPU)、基于半导体的微处理器或适合于存储在计算机可读存储介质140和/或150中的指令的检索和执行的任何其它硬件设备。特别地,处理器110可获取固件更新应用程序145和固件更新155、将其解码并执行。硬件部件120可以是任何物理设备,包括被用来实现计算设备100的功能的机械、磁、电子和/或电气部分。例如,硬件部件120可以是硬盘驱动器、固态驱动器、光盘驱动器、视频或网卡、膝上计算机电池或在内部或在外部耦合到计算设备100的任何其它物理设备。应注意的是虽然被示为包括仅一个硬件部件120,但计算设备100包括多个硬件部件120,每个包括其自己的固件125。每个硬件部件120可包括固件125,其可包括用可由处理器110或包括在硬件部件120 (未示出)本身中的处理器执行以控制硬件部件120的功能的指令编码的非易失性机器可读存储介质。例如,固件125可提供用以从硬件部件120读取或向其写入、管理硬件部件120的功率和/或执行在硬件部件120的操作期间使用的一个或多个其它功能的功能。固件至OS接口 130可包括在计算机可读可读存储介质上编码以提供硬件部件120的固件125与计算设备100的OS之间的功能链路的可执行指令。特别地,并且在计算设备100上电时,固件至OS接口 130可执行一系列指令以对硬件部件120进行初始化、配置以及测试,并加载OS。另外,固件至OS接口 130可发起固件更新应用程序145以更新包括在硬件部件120上的固件125。作为示例,固件至OS接口 130可检测到固件更新155是可用的,并且然后可从预定位置发起固件更新应用程序145。根据各种示例,固件至OS接口 130可以是根据UEFI规范实现(如先前提及的)以便提供用以将计算设备100初始化的服务的接口。作为另一示例,固件至OS接口 130可以是结合B1S实现(也如先前提及的)使得B1S可以执行初始配置(例如,通电自检)、同时UEFI接口可执行其余配置并与OS通信的UEFI接口。可用可执行指令对计算机可读存储介质140进行编码以便运行固件更新应用程序145。如上所述,可由固件至OS接口 130发起固件更新应用程序145以管理固件更新过程。在一些示例中,在初始化时,固件更新应用程序145可对固件更新155进行定位,并且然后执行固件更新155。例如,固件更新应用程序145可由计算设备100的制造商供应,例如在制造或定制期间包括在硬盘驱动器或存储介质中,使得计算设备100可原生地(natively)支持固件更新的安装。替换地,在计算设备100上运行的应用程序可自动地或按照用户的指示将固件更新应用程序145下载到存储介质140。可用可执行指令对计算机可读存储介质150进行编码以便对硬件部件120的固件125应用固件更新155。例如,固件更新155可包括使用硬件部件120的控制器所支持的指令来访问并修改包含固件125的存储介质的指令。作为更特定示例,当硬件部件120是硬盘驱动器时,固件更新155可包括被硬盘驱动器接受以向存储在硬盘中的ROM或类似存储器上的固件映像(image)的指定区段进行写入的指令。以这种方式,固件更新155可处理对固件125的所有访问,同时固件更新应用程序145可管理更新过程。应注意的是虽然被示为在计算设备100外部,但计算机可读存储介质150也可以在计算设备100内部。因此,可将固件更新155存储在内部硬盘驱动器、光盘或另一存储介质上。此外,虽然被示为单独设备,但计算机可读存储介质140和计算机可读存储介质150可以是同一介质,在计算设备100内部或外部。例如,可将固件更新应用程序145和固件更新155两者存储在外部存储介质上,诸如闪存驱动器或光盘,使得可从外部存储介质启动固件更新应用程序145和固件更新155。这样的示例是有利的,例如,在其中将在多个计算设备100上安装相同更新(例如,由网络管理员)的环境中或者在其中固件更新应用程序145不能从计算设备100的内部存储介质启动的情况下。就存储而言,根据UEFI规范,可使用对传统固件功能的扩展将软件资产/管理数据/图像存储为固件变量。也就是说,UEFI可以提供用于在称为“变量”的平台固件中存储持久性数据的抽象。可将变量定义为包括识别信息以及属性(密钥)和任意数据(值)两者的密钥/值对。可以利用变量来存储数据,该数据可在已在平台中实现的EFI环境与EFI OS加载程序和在EFI环境中运行的其它应用程序之间传递,包括将变量传递至OS运行时间实体(诸如在如上所述的固件更新的背景下)。虽然在UEFI规范中并未定义变量存储的实施方式,但变量在大多数情况下通常必须是持久性的,意味着在平台上的EFI实施方式应允许保持传递进来以用于存储的变量并每当系统启动时可供使用,至少直至其被明确地删除或覆写为止。根据UEFI规范,变量服务可提供用于OS与系统固件(SFW)(即B1S)之间的数据交换的公共/标准接口。同样地,变量服务可持续到OS运行时间,因本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/CN104937562.html" title="非易失性存储器写入机制原文来自X技术">非易失性存储器写入机制</a>

【技术保护点】
一种系统,包括:存储器缓冲器,用以高速缓存非易失性存储器,该非易失性存储器将多个有效和陈旧变量分别地存储在多个有效和陈旧区域中;以及日志区,用以利用交替的成对结构指针来跟踪存储器缓冲器内的有效变量的移动,以指示所述多个有效和陈旧区域的至少一部分,进而指示有效变量在写入事件期间从哪里和向哪里移动。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:X于PT李
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1