CN114510375A - 一种Flash芯片数据区域动态共享系统及方法 - Google Patents
一种Flash芯片数据区域动态共享系统及方法 Download PDFInfo
- Publication number
- CN114510375A CN114510375A CN202111670996.3A CN202111670996A CN114510375A CN 114510375 A CN114510375 A CN 114510375A CN 202111670996 A CN202111670996 A CN 202111670996A CN 114510375 A CN114510375 A CN 114510375A
- Authority
- CN
- China
- Prior art keywords
- bios
- backup
- dynamic
- module
- shared storage
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种Flash芯片数据区域动态共享系统及方法,属于计算机固件技术领域。系统包括BIOS核心框架、共享存储部件和动态共享存储区,BIOS通过BIOS核心框架加载共享存储部件运行,共享存储部件能够根据本次计算机启动的需求,动态地使用共享存储区,进行BIOS升级备份和BIOS日志记录。本发明能够在计算机主板BIOS空间受限的情况下,通过对SPI Flash划分动态存储区,解决BIOS存储BIOS备份、BIOS日志的问题。
Description
技术领域
本发明属于计算机固件技术领域,具体涉及一种Flash芯片数据区域统一管理及共享化系统及方法。
背景技术
BIOS用于对计算机处理器平台进行初始化和操作系统加载,其基本功能包括,在硬件平台上电后,获得系统控制权,初始化处理器、内存、芯片组等关键部件,枚举外设并为其分配资源,初始化显卡、硬盘、网卡等必要的外设,为操作系统建立运行环境,然后将控制权交给操作系统。
现有的BIOS一般存储在SPI Flash芯片中,存储空间的大小一般为1兆到32兆字节,存储数据极为受限,由此会导致以下三个问题:
1、数据存储区域划分存在分散、凌乱的情况;以飞腾平台为例:目前飞腾头文件的文件大小存在不固定现象,就会导致如SMBIOS信息在Flash的布局Map中存在不固定现象,同时变量区和SMBIOS间存在布局不连续问题,导致不能采取统一的Flash Map布局设计,表象为Flash Map整体布局分散和凌乱问题。
2、在未存在备份BIOS固件的设计方案中存在升级后无法开机问题,影响用户使用。
3、当固件存在设计缺陷时,由于测试环境遍历不全导致测试阶段未测出,当客户触发异常时,由于客户并不能准确的反馈操作了什么,导致开发人员不能快速定位解决问题。
发明内容
有鉴于此,本发明提供了一种Flash芯片数据区域动态共享系统及方法,能够在计算机主板BIOS空间受限的情况下,通过对SPI Flash划分动态存储区,解决BIOS存储BIOS备份、BIOS日志的问题。
一种Flash芯片数据区域动态共享系统,系统包括BIOS核心框架、共享存储部件和动态共享存储区,BIOS通过BIOS核心框架加载共享存储部件运行,共享存储部件能够根据本次计算机启动的需求,动态地使用共享存储区,进行BIOS升级备份和BIOS日志记录。
进一步地,所述共享存储部件包括策略模块、日志记录模块、备份恢复模块和刷写模块;所述策略模块、日志记录模块、备份恢复模块和刷写模块通过BIOS核心框架加载和运行;在BIOS运行过程中,BIOS将根据策略模块中的当前策略,对BIOS进行备份或记录BIOS日志存储;备份恢复模块能够调用刷写模块,在动态存储区域存储BIOS备份镜像;日志记录模块能够调用刷写模块,在动态共享存储区存储BIOS日志。
进一步地,所述策略模块用于定制动态共享存储区数据的写入操作类型。如判断执行日志存储或备份操作等。
进一步地,所述日志模块用于执行日志存储操作,将日志信息按照一定的格式,通过刷写模块写入动态共享存储区。
进一步地,所述备份恢复模块用于执行当前BIOS镜像存储的操作,将把当前的BIOS镜像写入到动态共享存储区。
进一步地,所述刷写模块用于执行将数据刷写到动态共享存储区中。
进一步地,所述动态共享存储区是从SPI Flash中专门划分的一块区域,用于动态保存BIOS相关信息,如BIOS日志和BIOS备份数据,保存信息的类型通过策略模块进行操作。
一种Flash芯片数据区域动态共享方法,该方法的实现包括以下步骤:
步骤一、计算机上电BIOS启动,BIOS启动并加载动态共享存储部件中的策略模块;
步骤二、判断是否要执行BIOS升级备份操作,若是,则转入下一步骤;若否,则转入步骤四;
步骤三、BIOS将调用备份恢复模块进行BIOS升级备份操作,流程结束;
步骤四、判断判断是否要执行BIOS恢复备份操作,若是,则转入下一步骤;若否,则转入步骤六;
步骤五、BIOS将调用备份恢复模块进行BIOS恢复备份操作,重启计算机,流程结束;
步骤六、判断判断是否要执行BIOS日志记录操作,若是,则转入下一步骤;若否,则转入步骤八;
步骤七、BIOS将调用日志记录模块进行BIOS日志记录操作;
步骤八,流程结束。
进一步地,所述步骤三中的BIOS升级备份操作包括以下步骤:
步骤1、将本次的升级备份操作的状态变量写入BIOS变量区;
步骤2、识别BIOS动态共享存储区的文件系统,并确认可用空间大小;
步骤3、读取需备份的BIOS区域,并检测备份数据大小;
步骤4、BIOS动态共享存储区的大小是否够用,若是,则转入下一步骤;若否,则提示错误信息,结束流程;
步骤5、清空BIOS动态共享存储区域;
步骤6、将BIOS备份镜像写入动态共享存储区域。
进一步地,所述步骤五中的BIOS备份恢复操作包括以下步骤:
步骤1、BIOS调用备份恢复模块检测动态共享存储区中的BIOS备份是否完整,若是,则转入下一步骤;若否,则提示读取备份失败,结束流程;
步骤2、BIOS从动态共享区域中读取BIOS备份;
步骤3、将BIOS备份写入SPI Flash的指定区域,完成BIOS备份恢复。
进一步地,所述步骤其中的BIOS日志记录操作包括以下步骤:
步骤1、判断上次是否为日志记录操作,若是,则转入下一步骤;若否,则清空动态共享区域后转入下一步骤;
步骤2、将本次的BIOS日志记录操作的状态变量写入BIOS变量区;
步骤3、判断动态共享存储空间是否够用,若是则在动态共享区域中顺序写入BIOS日志。若否,则采用循环方式写入BIOS日志。
进一步地,所述策略模块中定制了可进行的动态共享区域操作类型和上次操作类型的变量。如操作类型包括BIOS备份操作、BIOS日志写入。上次操作类型的变量用于后续操作中,判断是否需要清空动态共享区域。
有益效果:
1、本发明可以解决BIOS存储芯片空间狭小的问题。本方法通过在SPI Flash中,划分动态共享存储区的方法,可以在有限的同一块存储区域内,根据不同需要,在不同时间分别完成BIOS备份和恢复、BIOS日志记录,重复利用了该动态共享存储区域,满足了BIOS的多种应用对存储的需求。
2、本发明能够在BIOS存储芯片空间狭小的情况下,实现对BIOS升级前的BIOS镜像备份,能够在用户升级后首次出现开机异常时可以主动恢复到之前的版本,实现正常开机。
3、本发明可以提供BIOS日志存储,防止缺少BIOS日志导致的不能定位BIOS缺陷的问题。
附图说明
图1为Flash芯片数据区域动态共享系统框架图;
图2为Flash芯片数据区域动态共享方法流程图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供了一种Flash芯片数据区域动态共享系统,如附图1所示,系统包括BIOS核心框架、共享存储部件和动态共享存储区;共享存储部件包括策略模块、日志记录模块、备份恢复模块和刷写模块;动态共享存储区是从SPI Flash中专门划分的一块区域,用于动态保存BIOS相关信息,如BIOS日志和BIOS备份数据,保存信息的类型通过策略模块进行操作。
策略模块、日志记录模块、备份恢复模块和刷写模块通过BIOS核心框架加载和运行;在BIOS运行过程中,BIOS将根据策略模块中的当前策略,对BIOS进行备份或记录BIOS日志存储;备份恢复模块能够调用刷写模块,在动态存储区域存储BIOS备份镜像;日志记录模块能够调用刷写模块,在动态共享存储区存储BIOS日志。
其中,策略模块用于定制动态共享存储区数据的写入操作类型。如判断执行日志存储或备份操作等。日志模块用于执行日志存储操作,将日志信息按照一定的格式,通过刷写模块写入动态共享存储区。备份恢复模块用于执行当前BIOS镜像存储的操作,将把当前的BIOS镜像写入到动态共享存储区。刷写模块用于执行将数据刷写到动态共享存储区中。
如附图2所示,通过对龙芯平台的BIOS备份恢复过程,详细说明Flash芯片数据区域动态共享的主要步骤:
步骤一、计算机上电BIOS启动,BIOS启动并加载龙芯平台动态共享存储部件中的策略模块。在该策略模块中定制了可进行的动态共享区域操作类型和上次操作类型的变量。如操作类型包括BIOS备份操作、BIOS日志写入。上次操作类型的变量用于后续操作中,判断是否需要清空动态共享区域
步骤二、判断是否要执行龙芯平台的BIOS升级备份操作,若是,则转入下一步骤;若否,则转入步骤九。
步骤三、将本次的升级备份操作的状态变量写入BIOS变量区。
步骤四、识别龙芯平台BIOS动态共享存储区的文件系统,并确认可用空间大小。
步骤五、读取需备份的龙芯平台BIOS区域,并检测备份数据大小。
步骤六、龙芯平台BIOS动态共享存储区的大小是否够用。若是,则转入下一步骤;若否,则提示错误信息,结束流程。
步骤七、清空龙芯平台BIOS动态共享存储区域。
步骤八、将龙芯平台BIOS备份镜像写入动态共享存储区域,完成操作后跳转步骤十九。
步骤九、判断龙芯平台BIOS是否需要恢复备份,若是,则转入下一步骤;若否,则转入步骤十五。
步骤十、判断上次是否有龙芯平台BIOS升级备份操作,若是,则转入下一步骤;若否,则提示读取备份失败,结束流程。
步骤十一、龙芯平台BIOS备份是否完整。若是,则转入下一步骤;若否,则提示读取备份失败,结束流程。
步骤十二、龙芯平台BIOS从动态共享区域中读取BIOS备份。
步骤十三、将龙芯平台BIOS备份写入SPI Flash的指定区域,完成BIOS备份恢复。
步骤十四、重启计算机,结束流程。
步骤十五、龙芯平台BIOS是否进行日志记录
步骤十六、判断上次是否为日志记录操作。若是,则转入下一步骤;若否,则清空动态共享区域后转入下一步骤。
步骤十七、将本次的BIOS日志记录操作的状态变量写入BIOS变量区
步骤十八、判断动态共享存储空间是否够用,若是则在动态共享区域中顺序写入BIOS日志。若否,则采用循环方式写入BIOS日志。
步骤十九:流程结束。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种Flash芯片数据区域动态共享系统,其特征在于,系统包括BIOS核心框架、共享存储部件和动态共享存储区,BIOS通过BIOS核心框架加载共享存储部件运行,共享存储部件能够根据本次计算机启动的需求,动态地使用共享存储区,进行BIOS升级备份和BIOS日志记录。
2.如权利要求1所述的Flash芯片数据区域动态共享系统,其特征在于,所述共享存储部件包括策略模块、日志记录模块、备份恢复模块和刷写模块;所述策略模块、日志记录模块、备份恢复模块和刷写模块通过BIOS核心框架加载和运行;在BIOS运行过程中,BIOS将根据策略模块中的当前策略,对BIOS进行备份或记录BIOS日志存储;备份恢复模块能够调用刷写模块,在动态存储区域存储BIOS备份镜像;日志记录模块能够调用刷写模块,在动态共享存储区存储BIOS日志。
3.如权利要求2所述的Flash芯片数据区域动态共享系统,其特征在于,所述动态共享存储区是从SPI Flash中专门划分的一块区域,用于动态保存BIOS相关信息,保存信息的类型通过策略模块进行操作。
4.如权利要求3所述的Flash芯片数据区域动态共享系统,其特征在于,所述策略模块用于定制动态共享存储区数据的写入操作类型。
5.一种Flash芯片数据区域动态共享方法,其特征在于,该方法的实现包括以下步骤:
步骤一、计算机上电BIOS启动,BIOS启动并加载动态共享存储部件中的策略模块;
步骤二、判断是否要执行BIOS升级备份操作,若是,则转入下一步骤;若否,则转入步骤四;
步骤三、BIOS将调用备份恢复模块进行BIOS升级备份操作,流程结束;
步骤四、判断判断是否要执行BIOS恢复备份操作,若是,则转入下一步骤;若否,则转入步骤六;
步骤五、BIOS将调用备份恢复模块进行BIOS恢复备份操作,重启计算机,流程结束;
步骤六、判断判断是否要执行BIOS日志记录操作,若是,则转入下一步骤;若否,则转入步骤八;
步骤七、BIOS将调用日志记录模块进行BIOS日志记录操作;
步骤八,流程结束。
6.如权利要求5所述的Flash芯片数据区域动态共享方法,其特征在于,所述步骤三中的BIOS升级备份操作包括以下步骤:
步骤1、将本次的升级备份操作的状态变量写入BIOS变量区;
步骤2、识别BIOS动态共享存储区的文件系统,并确认可用空间大小;
步骤3、读取需备份的BIOS区域,并检测备份数据大小;
步骤4、BIOS动态共享存储区的大小是否够用,若是,则转入下一步骤;若否,则提示错误信息,结束流程;
步骤5、清空BIOS动态共享存储区域;
步骤6、将BIOS备份镜像写入动态共享存储区域。
7.如权利要求6所述的Flash芯片数据区域动态共享方法,其特征在于,所述步骤五中的BIOS备份恢复操作包括以下步骤:
步骤1、BIOS调用备份恢复模块检测动态共享存储区中的BIOS备份是否完整,若是,则转入下一步骤;若否,则提示读取备份失败,结束流程;
步骤2、BIOS从动态共享区域中读取BIOS备份;
步骤3、将BIOS备份写入SPI Flash的指定区域,完成BIOS备份恢复。
8.如权利要求7所述的Flash芯片数据区域动态共享方法,其特征在于,所述步骤其中的BIOS日志记录操作包括以下步骤:
步骤1、判断上次是否为日志记录操作,若是,则转入下一步骤;若否,则清空动态共享区域后转入下一步骤;
步骤2、将本次的BIOS日志记录操作的状态变量写入BIOS变量区;
步骤3、判断动态共享存储空间是否够用,若是则在动态共享区域中顺序写入BIOS日志,若否,则采用循环方式写入BIOS日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111670996.3A CN114510375A (zh) | 2021-12-31 | 2021-12-31 | 一种Flash芯片数据区域动态共享系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111670996.3A CN114510375A (zh) | 2021-12-31 | 2021-12-31 | 一种Flash芯片数据区域动态共享系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114510375A true CN114510375A (zh) | 2022-05-17 |
Family
ID=81547848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111670996.3A Pending CN114510375A (zh) | 2021-12-31 | 2021-12-31 | 一种Flash芯片数据区域动态共享系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114510375A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775371A (zh) * | 2023-04-28 | 2023-09-19 | 江苏卓易信息科技股份有限公司 | 一种基于单SPI Flash芯片的BIOS备份还原方法 |
-
2021
- 2021-12-31 CN CN202111670996.3A patent/CN114510375A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775371A (zh) * | 2023-04-28 | 2023-09-19 | 江苏卓易信息科技股份有限公司 | 一种基于单SPI Flash芯片的BIOS备份还原方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9286164B2 (en) | Electronic device to restore MBR, method thereof, and computer-readable medium | |
US10067835B2 (en) | System reset | |
US20030233534A1 (en) | Enhanced computer start-up methods | |
US9262283B2 (en) | Method for reading kernel log upon kernel panic in operating system | |
US20070101191A1 (en) | Memory dump method, computer system, and memory dump program | |
US20120124420A1 (en) | Reset method and monitoring apparatus | |
CN111258666B (zh) | 计算机文件的读取方法、装置、计算机系统及存储介质 | |
CN110716845B (zh) | 一种Android系统的日志信息读取的方法 | |
CN102479121A (zh) | 独立磁盘冗余阵列实现及测试方法 | |
CN108829449A (zh) | 一种bios启动操作系统的方法、装置、设备及介质 | |
CN109271206B (zh) | 一种异常现场的内存压缩和保存方法 | |
US20090013167A1 (en) | Computer device, method for booting the same, and booting module for the same | |
US20070061613A1 (en) | Restart method for operating system | |
CN114510375A (zh) | 一种Flash芯片数据区域动态共享系统及方法 | |
CN117131014A (zh) | 数据库迁移方法、装置、设备及存储介质 | |
CN115576903A (zh) | 一种文件系统构建方法、计算设备及存储介质 | |
CN113778485A (zh) | 电子芯片的系统运行方法、装置、电子芯片和存储介质 | |
CN115421960A (zh) | 一种ue内存故障恢复方法、装置、电子设备及介质 | |
CN113467797B (zh) | 程序更新方法、装置和系统以及计算机可读存储介质 | |
US8799616B2 (en) | Method and system for preferred CPU binding on virtual partitions | |
CN113590388B (zh) | 一种基于uboot的spl回滚方法及装置、存储介质、终端 | |
CN117389781B (zh) | 服务器设备的异常侦测与恢复方法、系统、服务器及介质 | |
CN116991485A (zh) | 操作系统启动方法、装置、电子设备以及可读存储介质 | |
CN118093240A (zh) | 硬盘故障处理方法、装置、计算机设备、存储介质及程序产品 | |
CN114510384A (zh) | 一种自动刷新bios的稳定性测试系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing Applicant after: Kunlun Taike (Beijing) Technology Co.,Ltd. Address before: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing Applicant before: CLP Technology (Beijing) Co.,Ltd. |