CN102053874B - 保护备用数据的方法 - Google Patents
保护备用数据的方法 Download PDFInfo
- Publication number
- CN102053874B CN102053874B CN 200910207060 CN200910207060A CN102053874B CN 102053874 B CN102053874 B CN 102053874B CN 200910207060 CN200910207060 CN 200910207060 CN 200910207060 A CN200910207060 A CN 200910207060A CN 102053874 B CN102053874 B CN 102053874B
- Authority
- CN
- China
- Prior art keywords
- zone
- data
- data area
- spare
- operational data
- 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.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种保护备用数据的方法。在本方法中,在执行开机自我测试之下,当工作数据区域及备用数据区域皆未被破坏时,判断工作数据区域与备用数据区域两者的全域唯一识别码是否相同。若不相同,则将工作数据区域的数据同步至备用数据区域中。接着,设定工作数据区域及备用数据区域共用同一存储器地址空间。之后,依据区域切换寄存器,选择在执行操作系统之下将工作数据区域及备用数据区域其中之一映射至上述存储器地址空间。
Description
技术领域
本发明是有关于一种开机方法,且特别是有关于一种保护备用数据的方法。
背景技术
一般而言,电脑系统开启时,首先基本输入输出系统(Basic Input OutputSystem,BIOS)将被启动,以执行开机自我测试(Power On Self Test,POST)。在完成POST之后,BIOS便会将有关于电脑系统的数据整合成一个表格,而写入至主存储器中;关于电脑系统的数据,例如制造商、BIOS供应商、电脑序号、电脑全球唯一识别码(Universal Unique Identifier,UUID)等等,是在电脑制造时就必须写入例如BIOS Flash ROM非挥发性存储器(NVRAM)内。也就是说,BIOS是依据系统管理基本输入输出系统(System ManagementBIOS,SMBIOS)所订定的规格,将所撷取的数据以数据结构的方式储存至主存储器中。为了避免存在BIOS内的SMBIOS(System Management BasicInput Output System)损毁而无法开机,目前的BIOS flash ROM中会设置一个备用数据区域来进行备份。
然而,现有的方法并没对备用数据区域来做保护。在操作系统运行之下,备用数据区域仍然能够被存取,故也容易遭受到破坏。
发明内容
本发明提供一种保护备用数据的方法,以在操作系统之下隐藏备用数据区域。
本发明提出一种保护备用数据的方法,适用于一固件存储器,其包括工作数据区域及备用数据区域。在本方法中,在执行开机自我测试(Power on SelfTest,POST)之下,当工作数据区域及备用数据区域中的数据皆未被破坏时,判断工作数据区域的第一全域唯一识别码(Global Unique Identifier,GUID)与备用数据区域的第二GUID是否相同。若第一GUID与该第二GUID不相同,则将工作数据区域的数据同步至备用数据区域中。接着,设定工作数据区域及备用数据区域共用同一存储器地址空间。之后,依据区域切换寄存器,选择在执行操作系统之下将工作数据区域及备用数据区域其中之一映射至存储器地址空间。例如,当区域切换寄存器记录第一预设值时,在执行操作系统之下,跳过备用数据区域而选择将工作数据区域映射至存储器地址空间。另一方面,当区域切换寄存器记录第二预设值时,在执行操作系统之下,跳过工作数据区域而选择将备用数据区域映射至存储器地址空间。
在本发明一实施例中,上述保护备用数据的方法还包括设定芯片中的工作变址寄存器、备用变址寄存器、区域尺寸寄存器以及区域切换寄存器。工作变址寄存器及备用变址寄存器分别记录了工作数据区域及备用数据区域于固件存储器的偏移地址。区域尺寸寄存器记录了工作数据区域及备用数据区域的尺寸。区域切换寄存器记录第一预设值或第二预设值。
在本发明一实施例中,上述在判断第一GUID与第二GUID是否相同的步骤之前,可通过BIOS设定第一签章及第二签章,并分别存在于工作数据区域以及备用数据区域。之后,依据工作数据区域所记录的第一签章及第一核对和(checksum),并且依据备用数据区域所记录的第二签章及第二核对和,判断工作数据区域与备用数据区域是否被破坏。
在本发明一实施例中,上述判断工作数据区域与备用数据区域是否被破坏的步骤详细说明如下所述。依据工作数据区域所记录的第一签章及第一核对和,判断工作数据区域是否被破坏。若工作数据区域被破坏,依据备用数据区域所记录的第二签章及第二核对和,判断备用数据区域是否被破坏。相 反地,若工作数据区域未被破坏,同样地判断备用数据区域是否被破坏。倘若工作数据区域与备用数据区域皆未被破坏,判断工作数据区域的第一GUID与备用数据区域的第二GUID是否相同,以在不同时,将工作数据区域的数据同步至备用数据区域中。倘若工作数据区域未被破坏而备用数据区域被破坏,直接将工作数据区域的数据同步至备用数据区域中。上述将工作数据区域的数据同步至备用数据区域中的步骤为,将工作数据区域的数据、BIOS所设定的第二签章写入至备用数据区域,并且重新计算第二核对和。
承上,若工作数据区域被破坏而备用数据区域未被破坏,将备用数据区域的数据、BIOS所设定的第一签章写入至工作数据区域,并且重新计算第一核对和。另外,倘若工作数据区域及备用数据区域中的数据皆被破坏,则提示一消息。
基于上述,本发明在进行映射时,使得工作数据区域与备用数据区域能够共同使用相同的存储器地址空间,并且在操作系统运行之时,将此存储器地址空间设定给工作数据区域使用。据此,可避免备用数据区域被更改。再者,当操作系统更改工作数据区域内数据时,其也必须重新给一新的GUID,并将其写入至工作数据区域内的标头内GUID字段。
为让本发明上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。
附图说明
图1是本发明一实施例保护备用数据的方法流程图;
图2是本发明一实施例保护备用数据的方法中存储器地址空间与固件存储器的对应关系图;
图3是本发明另一实施例保护备用数据的方法流程图。
附图标记说明
210-固件存储器;
211-备用数据区域;
213-工作数据区域;
220-存储器地址空间;
S105~S120-本发明一实施例之保护备用数据的方法各步骤;
S305~S360-本发明另一实施例之保护备用数据的方法各步骤。
具体实施方式
图1是本发明一实施例保护备用数据的方法流程图。本实施例是应用于一固件存储器,例如是用来储存基本输入输出系统(Basic Input OutputSystem,BIOS)的快闪只读存储器(Flash Read-Only Memory)。在本实施例中,固件存储器包括工作数据区域与备用数据区域。备用数据区域的功能即是工作数据区域的备份。
请参照图1,首先,在步骤S105中,由BIOS执行开机自我测试(Poweron Self Test,POST)。在此,BIOS先初始化系统存储器,使得系统存储器能够存取。并且,将固件存储器整个映射至4G-1以下地址的存储器地址空间。
接着,在步骤S110中,当工作数据区域及备用数据区域的数据皆未被破坏,且检查到工作数据区域中的全域唯一识别码(Global Unique Identifier,GUID)与备用数据区域的GUID不相同时,将工作数据区域的数据同步(写入)至备用数据区域中。这是为了使工作数据区域与备用数据区域中的数据能够随时保持一致性。
之后,在步骤S115中,设定工作数据区域及备用数据区域共用同一个存储器地址空间。并且,如步骤S120所示,依据区域切换寄存器,选择在执行操作系统之下将工作数据区域或备用数据区域映射至存储器地址空间。也就是说,当区域切换寄存器记录第一预设值(例如为0)时,在执行操作系统之下,跳过备用数据区域而选择将工作数据区域映射至该存储器地址空间。另一方面,当区域切换寄存器记录第二预设值(例如为1)时,在执行操作 系统之下,跳过工作数据区域而选择将备用数据区域映射至存储器地址空间。据此,工作数据区域与备用数据区域能够使用同一存储器地址空间,并且在操作系统之下,能够隐藏其中之一,使得仅能够存取其中之另一。
在此,为了保护备用数据区域不被任意更改,因此便将区域切换寄存器的值设为0,使得在操作系统底下,将备用数据区域隐藏。
具体而言,可在对芯片(例如南桥芯片)中的暂存器进行设定,以完成上述步骤。暂存器包括:工作变址寄存器、备用变址寄存器、区域尺寸寄存器以及区域切换寄存器。其中,工作变址寄存器及备用变址寄存器分别记录了工作数据区域及备用数据区域在固件存储器的偏移(offset)地址。区域尺寸寄存器则记录了工作数据区域及备用数据区域的尺寸。而区域切换寄存器记录第一预设值或第二预设值,以选择将工作数据区域或备用数据区域映射至存储器地址空间。
举例来说,图2是本发明一实施例保护备用数据的方法中存储器地址空间与固件存储器的对应关系图。在此,假设工作变址寄存器为1A0000h,备用变址寄存器为100000h,区域尺寸寄存器为10000h(64K)。
请参照图2,固件存储器210的每个地址均会对应至存储器空间地址220,使得处理器能够依据存储器地址空间220中定义的地址去存取固件存储器210中的数据。在此,固件存储器210中包括备用数据区域211与工作数据区域213。其中,备用数据区域211于固件存储器中的起始位置即为100000h,且其尺寸为64K。而工作数据区域213在固件存储器中的起始位置为1A0000h,且其尺寸为64K。由于备用数据区域211与工作数据区域213为共同使用存储器地址空间X,因此,相较于传统方法,节省了64K的存储器地址空间。
另外,工作数据区域213与备用数据区域211的格式分别包括标头(header)与本体(body)两部份。其中,本体是用来储存数据(例如SMBIOS数据),标头则是用来记录签章(signature)、GUID以及核对和(checksum)。 GUID是用来识别工作数据区域213的数据与备用数据区域211的数据是否一致。签章与核对和则是为了检查工作数据区域213与备用数据区域211的数据是否有效或是被破坏。以下再举一实施例来详细说明。
图3是本发明另一实施例保护备用数据的方法流程图。请参照图3,在步骤S305,执行BIOS中启动区块(boot block)的POST,以初始化系统存储器以进行存取。并且,将固件存储器整个映射至4G-1以下地址的存储器地址空间。
接着,在步骤S310中,通过BIOS设定第一签章及第二签章,且第一签章与第二签章分别存在于工作数据区域与备用数据区域。之后,便能够依据工作数据区域所记录的第一签章及第一核对和,以及依据备用数据区域所记录的第二签章及第二核对和,判断工作数据区域与备用数据区域是否被破坏。详细说明如下所述。
在步骤S315中,依据工作数据区域所记录的第一签章及第一核对和,判断工作数据区域是否被破坏。若工作数据区域被破坏,执行步骤S320,依据备用数据区域所记录的第二签章及第二核对和,判断备用数据区域是否被破坏。倘若备用数据区域未被破坏,如步骤S325所示,将备用数据区域的数据、BIOS所设定的第一签章写入至工作数据区域,并且重新计算第一核对和。
回到步骤S315,倘若工作数据区域未被破坏,执行步骤S330,依据备用数据区域所记录的第二签章及第二核对和,判断备用数据区域是否被破坏。
若工作数据区域与备用数据区域皆未被破坏,执行步骤S335,以检查工作数据区域与备用数据区域中的数据是否同步。也就是说,判断工作数据区域的第一GUID与备用数据区域的第二GUID是否相同。倘若第一GUID与第二GUID不同,将工作数据区域的数据同步至该备用数据区域中,如步骤S340所示。
在步骤S340中,将工作数据区域的数据、BIOS所设定的第二签章写入至备用数据区域,并且重新计算第二核对和。此时,备用数据区域中的数据便会与工作数据区域中的数据相同。
之后,步骤S345与步骤S350分别与上述实施例的步骤S115与步骤S120相同或相似,在此不再赘述。最后,在步骤S355中,继续其他POST过程,例如主要区块(main block)中的POST。
值得注意的是,倘若工作数据区域被破坏,且备用数据区域亦被破坏,此时执行步骤S360,提示一消息以显示工作数据区域与备用数据区域为无效且被破坏。
综上所述,本发明在进行映射时,使得工作数据区域与备用数据区域能够共同使用相同的存储器地址空间,并且在操作系统运行之时,将此存储器地址空间设定给工作数据区域使用。并且,通过上述方法更能够使得备用数据区域的数据与工作数据区域的数据保持一致,且保持一致的动作会于POST的过程中完成。另外,由于备用数据区域在操作系统运行之下并不会映射至存储器地址空间,因此在操作系统运行之下便无法来存取备用数据区域。据此使得备用数据区域免于被恶意或有意破坏。再者,当操作系统更改工作数据区域内数据时,其也必须重新给一新的GUID,并将其写入至工作数据区域内标头内的GUID字段。
最后应说明的是:-以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:-其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
Claims (8)
1.一种保护备用数据的方法,适用于固件存储器,其包括工作数据区域及备用数据区域,该方法包括:
在执行开机自我测试之下,当该工作数据区域及该备用数据区域中的数据皆未被破坏时,判断该工作数据区域的第一全域唯一识别码与该备用数据区域的第二全域唯一识别码是否相同,以检查该工作数据区域与该备用数据区域中的数据是否同步;
若该第一全域唯一识别码与该第二全域唯一识别码不相同,则将该工作数据区域的数据同步至该备用数据区域中;
设定该工作数据区域及该备用数据区域共用一存储器地址空间;以及,
依据区域切换寄存器,选择在执行操作系统之下将该工作数据区域及该备用数据区域其中之一映射至该存储器地址空间,包括:
当该区域切换寄存器记录第一预设值时,在执行该操作系统之下,跳过该备用数据区域而选择将该工作数据区域映射至该存储器地址空间;以及,
当该区域切换寄存器记录第二预设值时,在执行该操作系统之下,跳过该工作数据区域而选择将该备用数据区域映射至该存储器地址空间。
2.根据权利要求1所述保护备用数据的方法,还包括:
设定芯片中的工作变址寄存器、备用变址寄存器、区域尺寸寄存器以及该区域切换寄存器,其中该工作变址寄存器及该备用变址寄存器分别记录了该工作数据区域及该备用数据区域在该固件存储器的偏移地址,该区域尺寸寄存器记录了该工作数据区域及该备用数据区域的尺寸,该区域切换寄存器记录该第一预设值或该第二预设值。
3.根据权利要求1所述保护备用数据的方法,其中在判断该第一全域唯一识别码与该第二全域唯一识别码是否相同的步骤之前,还包括:
通过基本输入输出系统设定第一签章及第二签章,并分别存在于该工作数据区域以及该备用数据区域;以及,
依据该工作数据区域所记录的该第一签章及一第一核对和,并且依据该备用数据区域所记录的该第二签章及第二核对和,判断该工作数据区域与该备用数据区域是否被破坏。
4.根据权利要求3所述保护备用数据的方法,其中判断该工作数据区域与该备用数据区域是否被破坏的步骤,包括:
依据该工作数据区域所记录的该第一签章及该第一核对和,判断该工作数据区域是否被破坏;
若该工作数据区域被破坏,依据该备用数据区域所记录的该第二签章及该第二核对和,判断该备用数据区域是否被破坏;
若该备用数据区域未被破坏,将该备用数据区域的数据、该基本输入输出系统所设定的该第一签章写入至该工作数据区域,并且重新计算该第一核对和。
5.根据权利要求4所述保护备用数据的方法,其中依据该工作数据区域所记录的该第一签章及该第一核对和,判断该工作数据区域是否被破坏的步骤之后,还包括:
若该工作数据区域未被破坏,依据该备用数据区域所记录的该第二签章及该第二核对和,判断该备用数据区域是否被破坏;以及,
若该备用数据区域未被破坏,判断该工作数据区域的该第一全域唯一识别码与该备用数据区域的该第二全域唯一识别码是否相同,以在不同时,将该工作数据区域的数据同步至该备用数据区域中。
6.根据权利要求5所述保护备用数据的方法,其中当该工作数据区域未被破坏而该备用数据区域被破坏时,将该工作数据区域的数据同步至该备用数据区域中。
7.根据权利要求5所述保护备用数据的方法,其中将该工作数据区域的数据同步至该备用数据区域中的步骤,包括:
将该工作数据区域的数据、该基本输入输出系统所设定的该第二签章写入至该备用数据区域,并且重新计算该第二核对和。
8.根据权利要求1所述保护备用数据的方法,还包括:
当该工作数据区域及该备用数据区域中的数据皆被破坏时,提示消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910207060 CN102053874B (zh) | 2009-10-27 | 2009-10-27 | 保护备用数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910207060 CN102053874B (zh) | 2009-10-27 | 2009-10-27 | 保护备用数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102053874A CN102053874A (zh) | 2011-05-11 |
CN102053874B true CN102053874B (zh) | 2013-01-02 |
Family
ID=43958225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910207060 Active CN102053874B (zh) | 2009-10-27 | 2009-10-27 | 保护备用数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102053874B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102455952B (zh) * | 2011-07-26 | 2014-07-30 | 北京壹人壹本信息科技有限公司 | 一种数据备份与还原方法、装置及系统 |
CN102455953B (zh) * | 2011-09-30 | 2014-03-19 | 北京壹人壹本信息科技有限公司 | 一种数据备份与还原方法、装置及系统 |
CN108958982A (zh) * | 2018-07-26 | 2018-12-07 | 深圳控道智能科技有限公司 | 一种bios加固方法和系统 |
KR102612842B1 (ko) * | 2018-09-17 | 2023-12-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 내 펌웨어를 유지하는 방법 및 장치 |
CN115080158A (zh) * | 2021-03-12 | 2022-09-20 | Oppo广东移动通信有限公司 | 界面显示方法、装置、终端设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0969345A1 (de) * | 1998-06-29 | 2000-01-05 | PCS PC-Systeme Entwicklungs- und Produktionsgesellschaft mbH & Co. KG | Rechnergerät mit Berechtigungsschutz |
CN1282092C (zh) * | 2003-08-25 | 2006-10-25 | 联想(北京)有限公司 | 一种信息处理设备的启动方法 |
CN101373451A (zh) * | 2008-10-20 | 2009-02-25 | 华硕电脑股份有限公司 | 保护双基本输出入系统程序的计算机系统及其控制方法 |
CN101561772A (zh) * | 2008-04-14 | 2009-10-21 | 华硕电脑股份有限公司 | 电脑系统 |
-
2009
- 2009-10-27 CN CN 200910207060 patent/CN102053874B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0969345A1 (de) * | 1998-06-29 | 2000-01-05 | PCS PC-Systeme Entwicklungs- und Produktionsgesellschaft mbH & Co. KG | Rechnergerät mit Berechtigungsschutz |
CN1282092C (zh) * | 2003-08-25 | 2006-10-25 | 联想(北京)有限公司 | 一种信息处理设备的启动方法 |
CN101561772A (zh) * | 2008-04-14 | 2009-10-21 | 华硕电脑股份有限公司 | 电脑系统 |
CN101373451A (zh) * | 2008-10-20 | 2009-02-25 | 华硕电脑股份有限公司 | 保护双基本输出入系统程序的计算机系统及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102053874A (zh) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102053874B (zh) | 保护备用数据的方法 | |
US8341386B2 (en) | Method for updating basic input/output system and method for repairing thereof | |
CN109582217A (zh) | 数据储存装置与将数据写入存储器装置的方法 | |
US20110093675A1 (en) | Method for protecting redundant data | |
CN101533481B (zh) | 掩膜智能卡的功能扩展方法 | |
CN109165115B (zh) | 一种增强flash存储器可靠性的方法 | |
CN101567217A (zh) | 一种安全烧写闪存的方法及数据写入方法 | |
CN102541690A (zh) | 一种智能卡及其恢复数据方法 | |
CN105760165A (zh) | 一种mcu自我备份加载刷新的方法 | |
CN112596668A (zh) | 一种存储器的坏块处理方法及系统 | |
CN102279757A (zh) | 一种系统程序启动的方法及装置 | |
JP5747680B2 (ja) | 情報処理装置、画像形成装置およびプログラム | |
CN111124294B (zh) | 一种扇区映射信息的管理方法及装置、存储介质和设备 | |
CN111415700B (zh) | 一种修复方法、装置及计算机存储介质 | |
JP2013008244A (ja) | プログラム実行装置、画像処理装置およびプログラム | |
US9223697B2 (en) | Computer reprogramming method, data storage medium and motor vehicle computer | |
CN109918228B (zh) | 一种数据掉电保持方法及系统 | |
CN104575605B (zh) | 存储器装置及使用非易失性存储器对系统进行开机的方法 | |
CN113434086B (zh) | 数据存储方法、装置、非易失性存储器件和存储器 | |
CN102591738B (zh) | 数据管理方法、存储器控制器与嵌入式存储器储存装置 | |
JP6631513B2 (ja) | メモリ制御装置、メモリ装置およびメモリ制御方法 | |
CN104750617A (zh) | 电子装置及其数据维护方法 | |
CN110968455B (zh) | 一种非易失性存储器的修复方法及装置 | |
JP5944017B2 (ja) | 情報処理装置およびプログラム | |
CN116560700B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200424 Address after: 9 / F, building 15, 1818-2 Wenyi West Road, Yuhang street, Yuhang District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou Quantity Intelligent Technology Co.,Ltd. Address before: Taipei City, Taiwan Chinese Shilin District Hougang Street No. 66 Patentee before: Inventec Corp. |
|
TR01 | Transfer of patent right |