保护备用数据的方法

文档序号:6582790阅读:99来源:国知局
专利名称:保护备用数据的方法
技术领域
本发明是有关于一种开机方法,且特别是有关于一种保护备用数据的方法。
背景技术
一般而言,电脑系统开启时,首先基本输入输出系统(Basic Input Output System,BIOS)将被启动,以执行开机自我测试(Power On Self Test,POST)。在完成POST之 后,BIOS便会将有关于电脑系统的数据整合成一个表格,而写入至主存储器中;关于电脑 系统的数据,例如制造商、BIOS供应商、电脑序号、电脑全球唯一识别码(Universal Unique Identifier, UUID)等等,是在电脑制造时就必须写入例如BIOS Flash ROM非挥发性存储 器(NVRAM)内。也就是说,BIOS是依据系统管理基本输入输出系统(System Management BI0S,SMBI0S)所订定的规格,将所撷取的数据以数据结构的方式储存至主存储器中。为了 避免存在 BIOS 内的 SMBIOS (System Management Basic Input Output System)损毁而无 法开机,目前的BIOS flash ROM中会设置一个备用数据区域来进行备份。然而,现有的方法并没对备用数据区域来做保护。在操作系统运行之下,备用数据 区域仍然能够被存取,故也容易遭受到破坏。

发明内容
本发明提供一种保护备用数据的方法,以在操作系统之下隐藏备用数据区域。本发明提出一种保护备用数据的方法,适用于一固件存储器,其包括工作数据区 域及备用数据区域。在本方法中,在执行开机自我测试(Power on Self Test,POST)之下, 当工作数据区域及备用数据区域中的数据皆未被破坏时,判断工作数据区域的第一全域唯 一识别码(Global Unique Identifier,⑶ID)与备用数据区域的第二 GUID是否相同。若 第一 GUID与该第二 GUID不相同,则将工作数据区域的数据同步至备用数据区域中。接着, 设定工作数据区域及备用数据区域共用同一存储器地址空间。之后,依据区域切换寄存器, 选择在执行操作系统之下将工作数据区域及备用数据区域其中之一映射至存储器地址空 间。例如,当区域切换寄存器记录第一预设值时,在执行操作系统之下,跳过备用数据区域 而选择将工作数据区域映射至存储器地址空间。另一方面,当区域切换寄存器记录第二预 设值时,在执行操作系统之下,跳过工作数据区域而选择将备用数据区域映射至存储器地 址空间。在本发明一实施例中,上述保护备用数据的方法还包括设定芯片中的工作变址寄 存器、备用变址寄存器、区域尺寸寄存器以及区域切换寄存器。工作变址寄存器及备用变址 寄存器分别记录了工作数据区域及备用数据区域于固件存储器的偏移地址。区域尺寸寄存 器记录了工作数据区域及备用数据区域的尺寸。区域切换寄存器记录第一预设值或第二预 设值。在本发明一实施例中,上述在判断第一⑶ID与第二⑶ID是否相同的步骤之前,可 通过BIOS设定第一签章及第二签章,并分别存在于工作数据区域以及备用数据区域。之后,依据工作数据区域所记录的第一签章及第一核对和(checksum),并且依据备用数据区 域所记录的第二签章及第二核对和,判断工作数据区域与备用数据区域是否被破坏。在本发明一实施例中,上述判断工作数据区域与备用数据区域是否被破坏的步骤 详细说明如下所述。依据工作数据区域所记录的第一签章及第一核对和,判断工作数据区 域是否被破坏。若工作数据区域被破坏,依据备用数据区域所记录的第二签章及第二核对 和,判断备用数据区域是否被破坏。相反地,若工作数据区域未被破坏,同样地判断备用数 据区域是否被破坏。倘若工作数据区域与备用数据区域皆未被破坏,判断工作数据区域的 第一 GUID与备用数据区域的第二 GUID是否相同,以在不同时,将工作数据区域的数据同步 至备用数据区域中。倘若工作数据区域未被破坏而备用数据区域被破坏,直接将工作数据 区域的数据同步至备用数据区域中。上述将工作数据区域的数据同步至备用数据区域中的 步骤为,将工作数据区域的数据、BIOS所设定的第二签章写入至备用数据区域,并且重新计 算第二核对和。承上,若工作数据区域被破坏而备用数据区域未被破坏,将备用数据区域的数据、 BIOS所设定的第一签章写入至工作数据区域,并且重新计算第一核对和。另外,倘若工作数 据区域及备用数据区域中的数据皆被破坏,则提示一消息。基于上述,本发明在进行映射时,使得工作数据区域与备用数据区域能够共同使 用相同的存储器地址空间,并且在操作系统运行之时,将此存储器地址空间设定给工作数 据区域使用。据此,可避免备用数据区域被更改。再者,当操作系统更改工作数据区域内数 据时,其也必须重新给一新的⑶ID,并将其写入至工作数据区域内的标头内⑶ID字段。为让本发明上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详 细说明如下。


图1是本发明一实施例保护备用数据的方法流程图;图2是本发明一实施例保护备用数据的方法中存储器地址空间与固件存储器的 对应关系图;图3是本发明另一实施例保护备用数据的方法流程图。附图标记说明210-固件存储器;211-备用数据区域;213-工作数据区域;220-存储器地址空间;S105 S120-本发明一实施例之保护备用数据的方法各步骤;S305 S360-本发明另一实施例之保护备用数据的方法各步骤。
具体实施例方式图1是本发明一实施例保护备用数据的方法流程图。本实施例是应用于一固件存 储器,例如是用来储存基本输入输出系统(Basic Input Output SyStem,BI0S)的快闪只读 存储器(Flash Read-Only Memory)。在本实施例中,固件存储器包括工作数据区域与备用数据区域。备用数据区域的功能即是工作数据区域的备份。请参照图1,首先,在步骤S105中,由BIOS执行开机自我测试(Power on Self Test,P0ST)。在此,BIOS先初始化系统存储器,使得系统存储器能够存取。并且,将固件存 储器整个映射至4G-1以下地址的存储器地址空间。接着,在步骤SllO中,当工作数据区域及备用数据区域的数据皆未被破坏,且检 查到工作数据区域中的全域唯一识别码(GlcAal Unique Identifier,⑶ID)与备用数据区 域的GUID不相同时,将工作数据区域的数据同步(写入)至备用数据区域中。这是为了使 工作数据区域与备用数据区域中的数据能够随时保持一致性。之后,在步骤S115中,设定工作数据区域及备用数据区域共用同一个存储器地址 空间。并且,如步骤S120所示,依据区域切换寄存器,选择在执行操作系统之下将工作数据 区域或备用数据区域映射至存储器地址空间。也就是说,当区域切换寄存器记录第一预设 值(例如为0)时,在执行操作系统之下,跳过备用数据区域而选择将工作数据区域映射至 该存储器地址空间。另一方面,当区域切换寄存器记录第二预设值(例如为1)时,在执行 操作系统之下,跳过工作数据区域而选择将备用数据区域映射至存储器地址空间。据此,工 作数据区域与备用数据区域能够使用同一存储器地址空间,并且在操作系统之下,能够隐 藏其中之一,使得仅能够存取其中之另一。在此,为了保护备用数据区域不被任意更改,因此便将区域切换寄存器的值设为 0,使得在操作系统底下,将备用数据区域隐藏。具体而言,可在对芯片(例如南桥芯片)中的暂存器进行设定,以完成上述步骤。 暂存器包括工作变址寄存器、备用变址寄存器、区域尺寸寄存器以及区域切换寄存器。其 中,工作变址寄存器及备用变址寄存器分别记录了工作数据区域及备用数据区域在固件存 储器的偏移(offset)地址。区域尺寸寄存器则记录了工作数据区域及备用数据区域的尺 寸。而区域切换寄存器记录第一预设值或第二预设值,以选择将工作数据区域或备用数据 区域映射至存储器地址空间。举例来说,图2是本发明一实施例保护备用数据的方法中存储器地址空间与固件 存储器的对应关系图。在此,假设工作变址寄存器为lAOOOOh,备用变址寄存器为lOOOOOh, 区域尺寸寄存器为IOOOOh(64K)。请参照图2,固件存储器210的每个地址均会对应至存储器空间地址220,使得处 理器能够依据存储器地址空间220中定义的地址去存取固件存储器210中的数据。在此, 固件存储器210中包括备用数据区域211与工作数据区域213。其中,备用数据区域211于 固件存储器中的起始位置即为lOOOOOh,且其尺寸为64K。而工作数据区域213在固件存储 器中的起始位置为lAOOOOh,且其尺寸为64K。由于备用数据区域211与工作数据区域213 为共同使用存储器地址空间X,因此,相较于传统方法,节省了 64K的存储器地址空间。另外,工作数据区域213与备用数据区域211的格式分别包括标头(header)与本 体(body)两部份。其中,本体是用来储存数据(例如SMBIOS数据),标头则是用来记录签 章(signature)、⑶ID以及核对和(checksum)。⑶ID是用来识别工作数据区域213的数据 与备用数据区域211的数据是否一致。签章与核对和则是为了检查工作数据区域213与备 用数据区域211的数据是否有效或是被破坏。以下再举一实施例来详细说明。图3是本发明另一实施例保护备用数据的方法流程图。请参照图3,在步骤S305,执行BIOS中启动区块(boot block)的POST,以初始化系统存储器以进行存取。并且,将固 件存储器整个映射至4G-1以下地址的存储器地址空间。接着,在步骤S310中,通过BIOS设定第一签章及第二签章,且第一签章与第二签 章分别存在于工作数据区域与备用数据区域。之后,便能够依据工作数据区域所记录的第 一签章及第一核对和,以及依据备用数据区域所记录的第二签章及第二核对和,判断工作 数据区域与备用数据区域是否被破坏。详细说明如下所述。在步骤S315中,依据工作数据区域所记录的第一签章及第一核对和,判断工作数 据区域是否被破坏。若工作数据区域被破坏,执行步骤S320,依据备用数据区域所记录的 第二签章及第二核对和,判断备用数据区域是否被破坏。倘若备用数据区域未被破坏,如步 骤S325所示,将备用数据区域的数据、BIOS所设定的第一签章写入至工作数据区域,并且 重新计算第一核对和。回到步骤S315,倘若工作数据区域未被破坏,执行步骤S330,依据备用数据区域 所记录的第二签章及第二核对和,判断备用数据区域是否被破坏。若工作数据区域与备用数据区域皆未被破坏,执行步骤S335,以检查工作数据区 域与备用数据区域中的数据是否同步。也就是说,判断工作数据区域的第一 GUID与备用数 据区域的第二⑶ID是否相同。倘若第一⑶ID与第二⑶ID不同,将工作数据区域的数据同 步至该备用数据区域中,如步骤S340所示。在步骤S340中,将工作数据区域的数据、BIOS所设定的第二签章写入至备用数据 区域,并且重新计算第二核对和。此时,备份数据区域中的数据便会与工作数据区域中的数 据相同。之后,步骤S345与步骤S350分别与上述实施例的步骤Sl 15与步骤S120相同或相 似,在此不再赘述。最后,在步骤S355中,继续其他POST过程,例如主要区块(main block) 中的POST。值得注意的是,倘若工作数据区域被破坏,且备用数据区域亦被破坏,此时执行步 骤S360,提示一消息以显示工作数据区域与备用数据区域为无效且被破坏。综上所述,本发明在进行映射时,使得工作数据区域与备用数据区域能够共同使 用相同的存储器地址空间,并且在操作系统运行之时,将此存储器地址空间设定给工作数 据区域使用。并且,通过上述方法更能够使得备用数据区域的数据与工作数据区域的数据 保持一致,且保持一致的动作会于POST的过程中完成。另外,由于备用数据区域在操作系 统运行之下并不会映射至存储器地址空间,因此在操作系统运行之下便无法来存取备用数 据区域。据此使得备用数据区域免于被恶意或有意破坏。再者,当操作系统更改工作数据 区域内数据时,其也必须重新给一新的⑶ID,并将其写入至工作数据区域内标头内的⑶ID 字段。最后应说明的是_以上实施例仅用以说明本发明的技术方案而非对其进行 限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理 解_其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换 亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
权利要求
1.一种保护备用数据的方法,适用于固件存储器,其包括工作数据区域及备用数据区 域,该方法包括在执行开机自我测试之下,当该工作数据区域及该备用数据区域中的数据皆未被破坏 时,判断该工作数据区域的第一全域唯一识别码与该备用数据区域的第二全域唯一识别码 是否相同;若该第一全域唯一识别码与该第二全域唯一识别码不相同,则将该工作数据区域的数 据同步至该备用数据区域中;设定该工作数据区域及该备用数据区域共用一存储器地址空间;以及, 依据区域切换寄存器,选择在执行操作系统之下将该工作数据区域及该备用数据区域 其中之一映射至该存储器地址空间,包括当该区域切换寄存器记录第一预设值时,在执行该操作系统之下,跳过该备用数据区 域而选择将该工作数据区域映射至该存储器地址空间;以及,当该区域切换寄存器记录第二预设值时,在执行该操作系统之下,跳过该工作数据区 域而选择将该备用数据区域映射至该存储器地址空间。
2.根据权利要求1所述保护备用数据的方法,还包括设定芯片中的工作变址寄存器、备用变址寄存器、区域尺寸寄存器以及该区域切换寄 存器,其中该工作变址寄存器及该备用变址寄存器分别记录了该工作数据区域及该备用数 据区域在该固件存储器的偏移地址,该区域尺寸寄存器记录了该工作数据区域及该备用数 据区域的尺寸,该区域切换寄存器记录该第一预设值或该第二预设值。
3.根据权利要求1所述保护备用数据的方法,其中在判断该第一全域唯一识别码与该 第二全域唯一识别码是否相同的步骤之前,还包括通过基本输入输出系统设定第一签章及第二签章,并分别存在于该工作数据区域以及 该备用数据区域;以及,依据该工作数据区域所记录的该第一签章及一第一核对和,并且依据该备用数据区域 所记录的该第二签章及第二核对和,判断该工作数据区域与该备用数据区域是否被破坏。
4.根据权利要求3所述保护备用数据的方法,其中判断该工作数据区域与该备用数据 区域是否被破坏的步骤,包括依据该工作数据区域所记录的该第一签章及该第一核对和,判断该工作数据区域是否 被破坏;若该工作数据区域被破坏,依据该备用数据区域所记录的该第二签章及该第二核对 和,判断该备用数据区域是否被破坏;若该备用数据区域未被破坏,将该备用数据区域的数据、该基本输入输出系统所设定 的该第一签章写入至该工作数据区域,并且重新计算该第一核对和。
5.根据权利要求4所述保护备用数据的方法,其中依据该工作数据区域所记录的该第 一签章及该第一核对和,判断该工作数据区域是否被破坏的步骤之后,还包括若该工作数据区域未被破坏,依据该备用数据区域所记录的该第二签章及该第二核对 和,判断该备用数据区域是否被破坏;以及,若该备用数据区域未被破坏,判断该工作数据区域的该第一全域唯一识别码与该备用 数据区域的该第二全域唯一识别码是否相同,以在不同时,将该工作数据区域的数据同步至该备用数据区域中。
6.根据权利要求5所述保护备用数据的方法,其中当该工作数据区域未被破坏而该备 份数据区域被破坏时,将该工作数据区域的数据同步至该备用数据区域中。
7.根据权利要求5所述保护备用数据的方法,其中将该工作数据区域的数据同步至该 备用数据区域中的步骤,包括将该工作数据区域的数据、该基本输入输出系统所设定的该第二签章写入至该备用数 据区域,并且重新计算该第二核对和。
8.根据权利要求1所述保护备用数据的方法,还包括当该工作数据区域及该备用数据区域中的数据皆被破坏时,提示消息。
全文摘要
本发明公开了一种保护备用数据的方法。在本方法中,在执行开机自我测试之下,当工作数据区域及备用数据区域皆未被破坏时,判断工作数据区域与备用数据区域两者的全域唯一识别码是否相同。若不相同,则将工作数据区域的数据同步至备用数据区域中。接着,设定工作数据区域及备用数据区域共用同一存储器地址空间。之后,依据区域切换寄存器,选择在执行操作系统之下将工作数据区域及备用数据区域其中之一映射至上述存储器地址空间。
文档编号G06F9/445GK102053874SQ200910207060
公开日2011年5月11日 申请日期2009年10月27日 优先权日2009年10月27日
发明者卢盈志, 王郁蕙 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1