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

读取一次存储器的方法技术

技术编号:2868467 阅读:115 留言:0更新日期:2012-04-11 18:40
一种管理计算系统中的读一次闪存的方法,包括:    将闪存映射到计算系统的某一地址空间;     将来自于闪存中第一域的指令和数据的至少其中之一的选定区域拷贝到计算系统存储器中的第二域;    至少实现执行第二域中的指令和访问第二域中的数据的其中之一;    非映射闪存的选定区域;和    重写第二域。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术总的来讲涉及计算机系统领域。更具体的,本专利技术涉及存储基本输入/输出系统(BIOS)指令和/或数据的闪存的存储器管理。特别是,本专利技术涉及一种用于在每次系统初始化时仅读取一次部分闪存的方法。
技术介绍
闪存是非易失性存储器的常见形式,它可以对在存储器单元中称为区域的单元进行擦除和重复编程。闪存通常的用途是存储计算系统的BIOS。BIOS是用于控制系统配置和为计算系统加载操作系统的基本系统代码或指令。尤其是,当计算系统首次启动时,BIOS提供该计算系统执行的第一指令。当计算系统首次启动时,所执行的BIOS域称之为“恢复BIOS”域。该恢复BIOS域存储有恢复或复位代码,这些恢复或复位代码阐述了每次计算系统首次启动时是如何对该计算系统进行引导的。由于此BIOS域对于计算系统来说至关重要,因而完整的BIOS保护就十分重要了。因此,一个计算系统应当对闪存中的恢复BIOS域的安全性和完整性进行保护。同样,该恢复BIOS域通常受到硬件保护(例如由用户经由跳线导线设置一个引脚)。在目前的计算体系结构中,将这个域限定为闪存的第一区域(例如引导区域)。通常将它限定为存储器的64K字节,并且这也是目前闪存技术所规定的最大区域容量。所以,现如今也只能对该第一区域进行硬件保护。然而,人们希望可以当计算系统一旦已被初始化后,就限制操作系统或应用程序对闪存中的其它区域进行访问。例如,可以将保密信息和/或指令存储在闪存的某些区域当中。该计算系统可以利用这种保密信息和/或指令用于安全操作,诸如公共和/或共享密钥加密处理、拷贝保护方案等等。如果可以在系统初始化之后对该保密信息和/或指令进行访问,则该信息和/或指令就可能容易受到黑客、病毒等非法地访问。在目前,还没有办法来阻止对闪存这些部分的软件攻击。因此,有必要在系统初始化处理结束后,阻止对闪存中选定区域的访问。附图简要说明下面通过实例对本专利技术进行举例说明,但不限于附加附图中的图,在其中相同的标记表示相似的元件,在图中附图说明图1示出示范性的计算系统,在其中可以实现本专利技术的实施例;图2示出闪存的方块图,该闪存具有根据本专利技术实施例被虚拟硬件锁定的区域;图3示出根据一个实施例,图2中闪存的区域锁定寄存器的方块图;图4示出根据本专利技术的实施例,用于锁定闪存区域的处理流程图;图5示出根据本专利技术的实施例,用于使得每次系统初始化时仅读取一次闪存中的区域的处理流程图;和图6示出根据本专利技术的实施例,在图5的处理期间简化的存储器系统图。详细说明下面描述了一种在闪存中使用区域虚拟锁定的方法和系统。在一个实施例中,在计算系统初始化之后或者作为计算系统初始化的一部分,分别执行或访问来自于闪存的至少一个选定区域的代码和/或数据。在一个实施例中,该代码和/或数据可以用作该计算系统的加密或安全操作。接着该区域被硬件保护起来,以使该系统在后续处理期间不允许进一步企图读取该区域。只有新的系统初始化/机器复位才可允许该区域的再次读取。然而,只有该处理发生在系统初始化期间时,才能够在锁定选定区域前访问该区域。可以基于所执行代码来锁定闪存中的一个或多个区域,从而对这些区域进行虚拟硬件锁定。可以利用编程技术来对这些区域进行虚拟硬件锁定。通过允许对闪存区域进行虚拟硬件锁定,计算系统能够确保除了闪存的引导区域外的其它区域中的“保密”代码和/或数据受到硬件保护。这样使得计算系统在完成系统初始化处理之后,阻止由其它程序对保密代码和/或数据进行访问。这里所述的闪存锁定技术为闪存的选定区域提供了保护,从而阻止黑客和/或病毒的行动。这里所述的锁定技术还可以结合软件技术和现有的硬件技术,以便于保持一个当“被锁定”时闪存的选定区域的查看平台。本专利技术在详细说明书中采用的“一个实施例”或“实施例”是指这本专利技术至少一个实施例中包括结合该实施例所描述的特定特征、结构或特性。因此,在整个详细说明书中各处出现的短语“在一个实施例中”并非必须全都指同一个实施例。图1示出示范性的计算系统100,在其中可实现本专利技术。可以在计算系统100内执行和应用这里所述的用于BIOS或其它代码和/或数据的存储器锁定技术,该计算系统100可代表通用计算机系统(例如个人计算机(PC))、便携式计算机系统、手提式电子设备或者其它计算设备。实际上,该计算系统100的所有元件都是示范性的,可以忽略或添加其中的一个或多个元件。例如,可以将一个或多个输入/输出(I/O)设备或者存储器设备(未示出)添加到计算设备100。现在参照图1,计算系统100包括主单元110,它具有经由总线101连接于显示电路105、主存储器104、静态存储器106和闪存107的处理器102和信号处理器103。信号处理器103可以作为处理器102的协同处理器来操作。信号处理器103可以是计算系统100内的可选处理单元。计算系统100的主单元110还能够经由总线101连接到显示器121、键盘输入122、光标控制123、硬拷贝设备124、输入/输出(I/O)设备125以及大容量存储设备126上。总线101包括标准系统总线,用于对信息和信号进行通信。处理器102和/或信号处理器103是计算系统100的处理单元。处理器102或信号处理器103或以上两者均可以用来处理计算系统100的信息和/或信号。处理器102可以用来处理代码或指令,从而实现这里所述的存储器锁定技术。作为选择,信号处理器103也可以用来处理代码或指令,从而实现这里所述的存储器锁定技术。处理器102包括控制单元131、算术逻辑单元(ALU)132以及数个寄存器133,上述部件可以由CPU102来使用,从而处理信息和/或信号并且实现这里所述的存储器锁定技术。信号处理器103还可以包括与处理器102类似的元件。主存储器104可以是,诸如随机存取存储器(RAM)或某些其它的动态存储设备,它用于存储信息或指令(程序代码),该存储信息或指令由处理器102或信号处理器103来使用。例如,主存储器104可以用来存储操作系统软件。在由处理器102或信号处理器103执行指令期间,主存储器104还可以存储临时变量或其它中间信息。静态存储器106可以是,诸如只读存储器(ROM)和/或其它静态存储设备,它用于存储信息或指令,该存储信息或指令也可以由处理器102或信号处理器103来使用。闪存107包括非易失性存储器设备,该非易失性存储器设备可以在称之为区域的存储器单元中进行擦除和重复编程。在一个实施例中,闪存107存储计算系统100的BIOS代码或指令。正如下面将结合后面的实施例更详细解释的,在系统初始化处理期间,可以对一个或多个选定区域进行保护,从而使得在某一时间段后不能对存储在那些区域中的代码和/或数据进行读取或改变。显示器121可以是,诸如阴极射线管(CRT)或液晶显示器(LCD)。显示器121可以向用户显示信息或图像。计算系统100可以经由显示电路105与显示器121相对接。键盘输入122包括字母数字式输入设备,用于向计算系统100进行信息和命令选择的通信。光标控制123可以是,诸如鼠标、轨迹球或光标方向键,用于控制显示器121上目标的移动。硬拷贝设备124可以是,诸如激光打印机,用于在纸张、胶片,或者其它类似设备上打印信息。输入/输出(I/O)设备125可以本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:V·J·齐默M·A·罗思曼
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利