当前位置: 首页 > 专利查询>英特尔公司专利>正文

减少存储器分段的方法、设备和系统技术方案

技术编号:2835727 阅读:241 留言:0更新日期:2012-04-11 18:40
减少存储器分段。在计算机系统的预引导阶段期间分配存储器,其中存储器是基于多个存储器类型进行分配的。确定存储器的分段,其中分段包括同一类型存储器的邻接块。如果分段大于阈值,则基于多个存储器类型聚结分配给固件模块的至少一部分存储器。由计算机系统引导操作系统。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术实施例涉及计算机系统领域,更具体地说,但不是排他地,涉及减少存储器分段。
技术介绍
在典型计算机体系结构中,由基本输入/输出系统(BIOS)进行的计算机系统的初始化和配置通常称为预引导阶段。预引导阶段一般定义为在处理器复位和操作系统(OS)加载器之间运行的固件。在预引导开始,是由固件中的代码将系统初始化到从介质例如硬盘下载的操作系统可接管的那点。开始OS加载就开始了通常称为OS运行时间的时期。在OS运行时间期间,固件可作为计算机系统的软件和硬件组件之间的接口,以及处理与系统有关的任务。随着计算机系统已变得更为复杂,OS级和硬件级之间的操作环境一般称为固件或固件环境。在预引导期间,形成一个预引导存储器映像,它被传递给操作系统。预引导存储器映像指明留给系统使用的存储器地址以及OS可用的地址。OS使用该预引导存储器映像形成其自己的存储器管理方案。由于预引导阶段日益复杂,预引导存储器映像常有许多分段的部分。许多当今的操作系统不能支持具有过多分段的预引导存储器映像。附图说明参阅以下附图对本专利技术的非限制性和非排他性实施例加以说明,其中除非另有规定,在所有视图中相同的参考编号指相同的部件。图1的框图示出按照本专利技术示教减少存储器分段的一个实施例。图2的框图示出按照本专利技术示教支持减少存储器分段的环境的一个实施例。图3的流程图示出按照本专利技术示教减少存储器分段的逻辑和操作的一个实施例。图4的流程图示出按照本专利技术示教减少存储器分段的逻辑和操作的一个实施例。图5的流程图示出按照本专利技术示教减少存储器分段的逻辑和操作的一个实施例。图6的框图示出实现本专利技术实施例的计算机系统的一个实施例。具体实施例方式在以下说明中,为对本专利技术的实施例提供透彻的理解,阐述了许多具体细节。但所属领域的技术人员会理解,没有一个或多个这些具体细节,或用其他方法、组件、材料等,也可实现本专利技术的实施例。在其他情况下,众所周知的结构、材料或操作未予示出或详细说明,以免模糊了对本专利技术的理解。在整个说明书中提到“一个实施例”或“实施例”是指结合该实施例所述的特定特性、结构或特征包含在本专利技术的至少一个实施例中。因此,在整个说明书各个地方出现的短语“在一个实施例中”或“在实施例中”不一定都指同一实施例。而且,该特定特性、结构或特征可以用任何适合方式组合在一个或多个实施例中。本文所述的固件环境实施例可基本上依照可扩展固件接口(EFI)(Extensible Firmware Interface Specification,Version 1.10,December1,2002,可在http://developer.intel.com/technology/efi得到)来实现。EFI使形式为固件模块诸如驱动器的固件能够从各种不同资源加载,包括闪存装置、可选ROM(只读存储器)、其它存储装置,诸如硬盘、CD-ROM(光盘-只读存储器)等,或从计算机网络上的一个或多个计算机系统加载。实现EFI规范的一个实施例在IntelPlaftormInnovation Framework for EFI Architecture Specification-Draft forReview(Version 0.9,September 16,2003)中作了说明,以下称为“框架”(可在www.intel.com/technology/framework得到)。应理解,本专利技术的实施例不限于“框架”或依照EFI规范的实现。现参阅图1,图中示出减少存储器分段的实施例。预引导存储器映像102说明在预引导阶段期间物理存储器的存储器地址0到X的分配,示为110。在一个实施例中,预引导存储器映像102包括先进配置与电源接口(ACPI)E820表(Advanced Configuration and PowerInterface Specification,version 2.0b,October 11,2002)。一般来说,E820表说明什么物理存储器OS可用、什么保留给系统、或不存在。在预引导期间,将各种存储器类型分配给固件模块130-134。在一个实施例中,固件模块可包括一组有关的指令,通常称为代码,和/或数据缓冲器。在图1中,固件模块130包括指令130A和数据缓冲器130B。数据缓冲器130B可由指令130A用于为各种目的存放和检索各种数据。指令和数据缓冲器不一定被指派到邻接的存储器地址,而是可以在分离的存储器地址块中。固件模块可包括驱动器,诸如EFI驱动器、函数调用、协议等等。固件模块的一些实施例可能不会持续到OS运行时间,而其它固件模块在预引导和OS运行时间期间都可用。在固件模块加载过程期间,固件模块可向固件存储器管理器106请求各种大小的一个或多个存储器类型的存储器分配。在一个实施例中,固件存储器管理器106可持续到OS运行时间。固件存储器管理器106可指派对应于所请求存储器类型的固件模块存储器地址。这种存储器分配可导致预引导存储器映像102的分段。在本文中使用的分段包括某种类型存储器的邻接块。在图1的实施例中,预引导存储器映像102被分段为4种类型的存储器,类型1-4。例如,分段120是由存储器类型2构成的。在如103所示的聚结之后,预引导存储器映像102被聚结,如101所示。聚结是基于存储器类型进行的,以使同一存储器类型移动到一起形成邻接块。在一个实施例中,所有的存储器分段都可被聚结。在另一实施例中,预引导存储器映像被聚结,一次一个固件模块,直到存储器分段低于预定阈值水平为止(以下讨论)。例如,在图1中,类型2存储器的分段120和分段121被聚结成类型2存储器的分段122。因此,两个分段就已被聚结成一个分段。在一个实施例中,存储器类型包括ACPI规范所述的类型。这些ACPI存储器类型示于下表1中。表1 在依照ACPI的系统中,在预引导期间,固件将E820表报告给操作系统指导的配置和电源管理(OSPM)。简言之,OSPM是操作系统和ACPI功能之间的接口。当OS取得控制时,OS将使用E820表构建它自己的存储器映像。在依照ACPI的系统中,有各种途径供固件将存储器映像传送到OSPM。在一种方法中,在英特尔体系结构(IA)系统中使用INT 15BIOS接口将预引导存储器映像传送到OS。在另一方法中,如果存储器资源可被动态添加或去除,则存储器装置定义在ACPI Namespace中,其传送由存储器资源所描述的资源信息。在依照EFI的系统中,EFI引导业务函数(GetMemoryMap())可用来将预引导存储器映像传送到OS加载器。该映像然后由OS加载器传送到OSPM。GetMemoryMap()返回各种EFI存储器描述符。这些EFI存储器描述符定义所有已安装的随机存取存储器(RAM)以及由固件保留的物理存储器范围的系统存储器映像。下表2示出EFI存储器类型以及它们对应的ACPI地址范围类型的采样。表2 本文的实施例提供用于减少存储器分段。例如,Red Hat Linux和Suse Linux可能不支持具有超过32个分段的预引导存储器映像。在ACPI系统中,这对应于32个E820表项。在另一实例中,Windows服务器操作系统可能不支持具有大于6本文档来自技高网...

【技术保护点】
一种方法,包括:在计算机系统的预引导阶段期间给固件模块分配存储器,其中所述存储器是基于多个存储器类型进行分配的;确定存储器的分段,其中分段包括同一类型存储器的邻接块;如果所述分段大于阈值,则基于所述多个存储器类型聚结 分配给所述固件模块的至少一部分存储器;以及由所述计算机系统引导操作系统。

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

【专利技术属性】
技术研发人员:MA罗思曼VJ齐默M布卢苏
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1