处理装置及其相关的数据处理方法.pdf

上传人:Y948****062 文档编号:1039903 上传时间:2018-03-27 格式:PDF 页数:16 大小:685.08KB
返回 下载 相关 举报
摘要
申请专利号:

CN200810213887.7

申请日:

2008.09.10

公开号:

CN101673203A

公开日:

2010.03.17

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 9/445申请日:20080910|||公开

IPC分类号:

G06F9/445; G06F11/00

主分类号:

G06F9/445

申请人:

华硕电脑股份有限公司

发明人:

曾冠渊; 李明任

地址:

台湾省台北市北投区立德路150号4楼

优先权:

专利代理机构:

上海专利商标事务所有限公司

代理人:

郭 蔚

PDF下载: PDF下载
内容摘要

本发明提供一种数据处理方法,特别是一种用于校正非挥发性存储器中不同数据格式的数据处理方法,用以将一非挥发性存储器中的数据载入至一内存中。数据处理方法包括下列步骤。首先,载入非挥发性存储器中的一样本数据。接着,载入非挥发性存储器中对应样本数据的一数据区块。其次,比对样本数据的一参考值与数据区块的一对应参考值是否一致。当样本数据与数据区块的参考值为不一致时,执行一修正演算法,以依据样本数据的参考值调整载入的数据区块的数据格式。接着,再依据调整后的数据区块的数据以及样本数据,产生一系统相关数据载入至

权利要求书

1.  一种数据处理方法,用以将非挥发性存储器中的数据载入至内存中,其特征是,上述方法包括:
读取上述非挥发性存储器中的样本数据;
读取上述非挥发性存储器中对应上述样本数据的数据区块;
比对上述样本数据的第一参考值与上述数据区块的第二参考值是否一致,其中上述第二参考值对应于上述第一参考值;
当上述第一参考值与上述第二参考值不一致时,依据上述样本数据的上述第一参考值调整上述数据区块;以及
依据调整后的上述数据区块以及上述样本数据,产生系统相关数据载入至上述内存中。

2.
  根据权利要求1所述的方法,其特征是,其中上述比对上述样本数据的上述第一参考值与上述数据区块的上述第二参考值是否一致的步骤还包括:
比对上述样本数据的标头长度与上述数据区块的标头长度是否一致。

3.
  根据权利要求1所述的方法,其特征是,其中上述产生上述系统相关数据的步骤还包括:
将调整后的上述数据区块中的数据填入上述样本数据的区块的对应位置中,以产生上述系统相关数据。

4.
  根据权利要求1所述的方法,其特征是,其中上述依据上述样本数据的上述第一参考值调整上述数据区块的步骤还包括:
依据上述样本数据的上述第一参考值,调整上述数据区块的标头长度;以及
增补对应的预设标头数据以及预设字符串。

5.
  根据权利要求4所述的方法,其特征是,上述方法还包括:
利用工具程序,改变上述对应的预设标头数据以及预设字符串。

6.
  根据权利要求1所述的方法,其特征是,上述方法还包括:
更新上述非挥发性存储器中的上述数据区块;以及
依据更新后的上述数据区块的数据与上述样本数据,产生上述系统相关数据。

7.
  根据权利要求1所述的方法,其特征是,其中上述样本数据为系统管理基本输出入系统样本数据,以及上述数据区块为系统管理基本输出入系统数据区块。

8.
  根据权利要求1所述的方法,其特征是,其中上述内存为动态内存。

9.
  根据权利要求1所述的方法,其特征是,其中上述样本数据以及上述数据区块的数据格式至少包括类型字段、标头长度、标头数据以及字符串数据字段。

10.
  根据权利要求9所述的方法,其特征是,其中上述产生上述系统相关数据的步骤还包括:
依据上述类型字段,将上述数据区块的上述标头数据以及上述字符串数据字段的数据填入上述样本数据的区块对应的上述标头数据以及上述字符串数据字段中。

11.
  一种处理装置,其特征是,上述处理装置包括:
非挥发性存储器,其具有样本数据以及对应上述样本数据的数据区块;
内存;
载入模块,用以载入上述非挥发性存储器中的上述样本数据以及上述数据区块;
校正模块,用以比对上述样本数据的参考值与上述数据区块的对应参考值是否一致,并且当上述样本数据与上述数据区块的参考值不一致时,执行修正演算法,以依据上述样本数据的上述参考值调整载入的上述数据区块;以及
处理单元,用以依据调整后的上述数据区块以及上述样本数据,产生系统相关数据载入至上述内存中。

12.
  根据权利要求11所述的处理装置,其特征是,上述处理装置还包括内存缓冲器,用以储存上述载入模块载入的上述样本数据以及上述数据区块。

13.
  根据权利要求12所述的处理装置,其特征是,其中上述校正模块于上述内存缓冲器中比对上述样本数据的上述参考值与上述数据区块的上述对应参考值是否一致。

14.
  根据权利要求12所述的处理装置,其特征是,其中上述校正模块于上述内存缓冲器中比对上述样本数据的标头长度与上述数据区块的标头长度是否一致。

15.
  根据权利要求11所述的处理装置,其特征是,其中上述样本数据为系统管理基本输出入系统样本数据,以及上述数据区块为系统管理基本输出入系统数据区块。

16.
  根据权利要求11所述的处理装置,其特征是,其中上述内存为动态内存。

17.
  根据权利要求11所述的处理装置,其特征是,其中上述样本数据以及上述数据区块的数据格式至少包括类型字段、标头长度、标头数据以及字符串数据字段。

18.
  根据权利要求17所述的处理装置,其特征是,其中上述处理单元还依据上述类型字段,将上述数据区块的上述标头数据以及上述字符串数据字段的数据填入上述样本数据的区块对应的上述标头数据以及上述字符串数据字段中,以产生上述系统相关数据。

19.
  根据权利要求11所述的处理装置,其特征是,其中上述校正模块执行上述修正演算法的步骤,还包括:
依据上述样本数据的上述参考值,调整上述数据区块的标头长度的上述对应参考值;以及
增补对应的预设标头数据以及预设字符串。

20.
  根据权利要求19所述的处理装置,其特征是,其中上述处理单元还于上述系统相关数据产生后,利用工具程序,改变上述对应的预设标头数据以及预设字符串。

说明书

处理装置及其相关的数据处理方法
技术领域
本发明有关于一种处理装置以及数据处理方法,特别是有关于一种用于校正非挥发性存储器中不同数据格式的数据处理方法。
背景技术
电脑里的所有信息皆记录于存放有基本输出入系统(basic input/output system,BIOS)的非挥发性存储器中。其中,系统管理基本输出入系统(system management BIOS,SMBIOS)为一种常用的BIOS格式,在SMBIOS规格书中规定了硬件信息的结构、种类,以及如何在操作系统中获得这些硬件信息的方法,记录着关于主板及系统供货商产品的管理信息,其可记录超过一百种以上的设定例如零件号码、BIOS版本及制造日期、主板制造商、主板流水编号、中央处理器(CPU)型号、内存大小等等。SMBIOS是一个BIOS的延伸,可用来规划及发布BIOS的讯息至操作系统。换言之,它是一种定出主板及系统厂商如何以标准的格式显示产品管理信息的规格。
当系统一开机,做完初始化设定后,便开始执行一BIOS程序。BIOS会将有关系统硬件的信息依据SMBIOS所规定的标准格式,写入至内存当中。之后,便可通过此SMBIOS所规定的标准格式来获得与系统相关的数据。
一般而言,非挥发性存储器(例如BIOS只读存储器)中的主要BIOS区存放有根据SMBIOS所规定的标准格式所产生的样本数据以及对应此样本数据的数据区块,然而,当更新BIOS时,若BIOS样本数据中的格式与SMBIOS数据区块中的格式不一致时,可能会因为新版的BIOS设定而使得原有的格式改变,使得解释出来的内容变成不正确,而使得这些系统信息被误判或填入不正确的值。例如:早期的SMBIOS V2.3与新的SMBIOS V2.4相比,新的格式会多出若干字符串,当SMBIOS变成新版时,以新的格式解释旧的格式的数据时,会使得解释出来的结果不正确。
为了避免上述的问题,一般而言,当进行更新BIOS之前,会先将原有的SMBIOS字符串读出,接着再清除所有BIOS的内容,更新完字符串,再把更新后的SMBIOS字符串写回去。因此,需要针对不同的主板研发不同的工具程序,以抓取BIOS数据,非常不方便。
此外,假设更新过程中发生错误(例如写到一半断电)时,原先备份出来的数据(例如主板流水编号)可能会遗失,而造成不可预期的错误。一种解决上述问题的方法是,使用桌面管理介面(DMI)工具程序将被误判的字符串再写一次正确的值,这样的动作必须手动完成,相当耗费人力且不易于产线上使用。
发明内容
有鉴于此,本发明的目的之一即在于提供一种处理装置以及相关的数据处理方法,以解决上述的数据格式不一致而产生的问题。
基于上述目的,本发明提供一种数据处理方法,用以将一非挥发性存储器中的数据载入至一内存中。数据处理方法包括下列步骤。首先,载入非挥发性存储器中的一样本数据。接着,载入非挥发性存储器中对应样本数据的一数据区块。其次,比对样本数据的一参考值与数据区块的一对应参考值是否一致。当样本数据与数据区块的参考值不一致时,执行一修正演算法,以依据样本数据的参考值调整载入的数据区块的数据格式。接着,再依据调整后的数据区块的数据以及样本数据,产生一系统相关数据载入至内存中。
本发明另提供一种处理装置,包括至少一非挥发性存储器、一内存、一载入模块、一校正模块以及一处理单元。非挥发性存储器中具有一样本数据以及对应样本数据的一数据区块。载入模块用以载入非挥发性存储器中的样本数据以及数据区块。校正模块用以比对样本数据的一参考值与数据区块的一对应参考值是否一致,并且当样本数据与数据区块的参考值不一致时,执行一修正演算法,以依据样本数据的参考值调整载入的数据区块的数据格式。处理单元用以依据调整后的数据区块的数据以及样本数据,产生一系统相关数据载入至该内存中。
为使本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举出较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1是一依据本发明实施例的处理装置的区块示意图。
图2是一依据本发明实施例的数据处理方法的流程图。
图3是另一依据本发明实施例的数据处理方法的流程图。
图4是一依据本发明实施例的数据处理方法的示意图。
图5是一依据本发明实施例的数据格式的示意图。
图6是一依据本发明实施例的数据格式调整前后的示意图。
具体实施方式
本发明实施例中提供一种数据处理方法,用以于非挥发性存储器(例如:BIOS ROM或闪存中)中的两份数据格式不一致的数据载入至处理装置的内存(例如动态内存)之前,校正其数据格式,使两者一致之后再载入至处理装置的内存,因此内存中将储存有正确的数据以供处理装置进行查询或各项操作。通过本发明的方法,即使只有一部分的数据被更新,由于不用更新非挥发性存储器中原有的数据,仅更新放至内存中的数据,因此不用人工手动地进行调整,也避免了更新过程失败所造成的数据损失。
图1显示一依据本发明实施例的处理装置100的区块示意图。如图所示,处理装置100中至少包括了一处理单元110、一载入模块120、一校正模块130、一非挥发性存储单元140、一存储单元150以及一内存缓冲器160。于一实施例中,非挥发性存储单元140可为一BIOS ROM或闪存,用以储存系统开机时所需要的BIOS程序的数据及相关内容。
非挥发性存储单元140中包括了至少一样本数据170以及对应样本数据170的数据区块180。于一实施例中,样本数据170为一表示SMBIOS的样本数据,数据区块180则为对应的SMBIOS数据。
载入模块120用以载入非挥发性存储单元140中的样本数据170以及数据区块180。校正模块130用以比对样本数据170的一参考值与数据区块180的一对应参考值是否一致,并且当样本数据170与数据区块180的参考值不一致时,执行一修正演算法,以依据样本数据170的参考值调整载入的数据区块180的数据格式。处理单元110则用以依据调整后的数据区块的数据以及样本数据,产生一系统相关数据载入至記憶單元150中。详细的数据处理流程将介绍于下。
图2显示一依据本发明实施例的数据处理方法的流程图200。请同时参照图1。首先,于步骤S210,系统开机,于是执行一BIOS程序。接着,于步骤S220,载入模块120先载入非挥发性存储单元140中的样本数据170。于步骤S230,载入模块120载入非挥发性存储单元140中对应样本数据170的数据区块180。此时,样本数据170以及数据区块180先载入于内存缓冲器160中。于步骤S240,校正模块130接着比对样本数据170中的一个参考值与数据区块180中对应的参考值是否一致。此处的参考值可为样本数据170与数据区块180中共有的一特定项目。于一实施例中,可采用标头长度作为参考值,依据比对样本数据170中的标头长度与数据区块180中对应的标头长度以决定两者是否一致。关于样本数据170以及数据区块180的数据格式请参见以下图5的说明。
当比对结果为一致时(步骤S240的“是”),表示样本数据170与数据区块180的数据格式一致,不需进行调整,因此便可利用样本数据170以及数据区块180的数据,产生系统相关的数据(步骤S260)。反之,若比对结果为不一致时(步骤S240的“否”),表示样本数据170与数据区块180的数据格式不一致,需要进行调整,因此校正模块130便执行一修正演算法,依据载入的样本数据170的数据格式,调整载入的数据区块180的格式,使其符合样本数据170的数据格式(步骤S250)。于是,经由修正演算法,内存缓冲器160中的数据区块180的数据将被调整为新的数据格式(和样本数据170的格式一致)。最后,处理单元110便可利用样本数据170以及调整后的数据区块180的数据,产生系统相关的数据(步骤S260)。
图5显示一依据本发明实施例的样本数据的数据格式500的示意图。如图所示,数据格式500中至少包括了一类型字段510、一标头长度字段520、一标头数据字段530以及一字符串数据字段550,其中类型字段510用以表示数据所代表的系统数据的种类。举例来说,类型1可表示为系统相关信息、类型2可表示为板子相关信息等等。标头长度字段520用以表示类型字段510、标头长度字段520、以及标头数据字段530的长度总和,而字符串数据字段550则紧接在标头数据字段530的后面,用以存放标头数据字段530中所用到的字符串,其中字符串以一特定符号当作字符串的结束,例如字符串数据字段550可为“ABC”,0,“2007/01/01”,0,0。举例来说,若以字节来表示长度的单位,则标头长度字段530为19h(h:16进位表示法)代表类型字段510加上标头长度字段520再加上标头数据字段530的长度总共有25个字节,并且字符串数据字段550则从第26个字节开始。也就是说,若标头数据字段530中有用到字符串时,将从标头类型字段510后的第26个字节中获得所需的字符串。
数据区块180中也具有与样本数据170的数据格式500相似的数据格式,差别在于,样本数据170的数据格式500中的字符串数据字段550存放预设的字符串(例如尚未经过工厂生产前的预设值),而数据区块180的字符串数据字段则存放了与系统相关的字符串。举例来说,若制造商为“ABC”时,则样本数据170中的字符串数据字段550可能存放“OEMXXX”,而数据区块180中的对应字符串数据字段则存放正确的“ABC”字符串。换言之,样本数据170提供一预设的数据格式,而数据区块180则提供对应的实际内容。因此,处理单元110必须将数据区块180中的数据,依据指定的数据格式(例如类型、标头数据)填入样本数据170中对应的位置中,例如将数据区块180中类型为1的标头数据字段以及字符串字段填入样本数据170的类型为1的标头数据字段以及字符串字段中,以获得正确的系统相关数据。
图4显示一依据本发明实施例的数据处理方法的示意图。于此实施例中,假设非挥发性存储器为一存放有SMBIOS样本数据170以及对应的SMBIOS数据区块180的闪存,且SMBIOS样本数据170以及对应的SMBIOS数据区块180采用相同的数据格式500。如图所示,首先,载入模块120将闪存中的SMBIOS数据区块180以及SMBIOS样本数据170载入至内存缓冲器160中。接着,校正模块130比对载入至内存缓冲器160中的样本数据的一参考值与数据区块180的一对应参考值是否一致,并且根据比对结果,决定是否执行一修正演算法以调整载入的数据区块的数据格式。处理单元110再利用样本数据170所定义的数据格式,将修正或调整过的数据以及执行时收集得到的数据(例如处理单元的速度、频率等信息)更新并组合至样本数据170对应的位置中,最后再把组合完成的SMBIOS数据载入至記憶單元150中,例如动态内存。
图3显示另一依据本发明实施例的数据处理方法的流程图300。于此实施例中,假设非挥发性存储器为一存放有SMBIOS样本数据170以及对应的SMBIOS数据区块180的闪存,且SMBIOS样本数据170以及对应的SMBIOS数据区块180采用相同的数据格式500。SMBIOS数据区块180中类型1的标头长度为19h,SMBIOS样本数据170的标头长度因更新BIOS而变为符合新数据格式的1Bh。请注意,此处仅以类型1的比对方式进行说明,其余类型的比对可以此类推。首先,于步骤S310,系统开机,于是执行一BIOS程序。接着,于步骤S320,载入SMBIOS的样本数据170,得到其中类型1的标头长度为1Bh。接着,于步骤S330,载入SMBIOS的数据区块180,得到其中类型1的标头长度为19h。此时,样本数据170以及数据区块180先载入于内存缓冲器160中,尚未载入存储单元150中。于步骤S340,接着比对SMBIOS的样本数据170中类型1的标头长度与数据区块180中类型1的标头长度是否一致。于此实施例中,数据区块180中类型1的标头长度与SMBIOS的样本数据170中的标头长度不一致,表示SMBIOS的样本数据170与数据区块180的数据格式(版本)不一致,需要进行调整,因此便执行一修正演算法,通过采用样本数据170的标头长度以及增补短缺的字符串,将数据区块180的数据格式修正成符合SMBIOS的样本数据170的数据格式(步骤S350)。
请参见图6,显示一依据本发明实施例的数据格式调整的示意图。如图所示,数据格式600以及610分别表示数据区块180中类型1的数据调整前以及调整后的数据格式。于数据格式600中的标头长度(19h)与样本数据的标头长度(1Bh)并不一致,少了2个字节,使得填入样本数据170的类型1中的字符串数据字段中的S1字符串将会不完整(一部分将被视为标头数据字段的一部分)。因此,需要进行数据格式的调整,将标头长度字段改为1Bh,同时将标头数据字段补上2个字节的预设标头数据,并在字符串数据字段的字符串S2之后补上2个预设字符串614,如数据格式610所示。其中,预设的标头数据需依据样本数据170的规定格式,而预设的字符串可为空白字符串,以方便未来填入更新的数据。值得注意的是,此处的修正是针对内存缓冲器160中所载入的数据,无须改变闪存中对应的SMBIOS数据区块180的数据。
经过步骤S350的数据格式修正之后,载入的SMBIOS数据区块180的数据格式已经被修正为与SMBIOS的样本数据170一致,因此,便可以利用SMBIOS的样本数据170以及修正后的SMBIOS数据区块180的数据,将SMBIOS数据区块180中类型1的标头数据字段以及字符串字段填入SMBIOS的样本数据170的类型1的标头数据字段以及字符串字段中,产生正确的SMBIOS相关数据(步骤S360)。步骤S340至S360可以针对各种类型的数据执行,最后再将产生的SMBIOS相关数据载入或储存至内存中。等到SMBIOS相关数据载入至内存后,表示BIOS程序已经完成,便可接着启动操作系统,将这些SMBIOS相关数据提供给操作系统使用(步骤S370)。
此外,当操作系统成功载入后,也可利用一可收集并修正SMBIOS数据的工具程序,将修正演算法所填入的预设值以及预设字符串更改成正确的数值或字符串,可使得使用上更为弹性。当SMBIOS数据区块180也更新为新的数据格式时,当比对时便可省略修正演算法而直接利用SMBIOS的样本数据170以及SMBIOS数据区块180的数据产生所需的SMBIOS相关数据,从而得到系统的各种组态。
综上所述,依据本发明的数据处理及相关的处理装置,利用比对两份数据的共同参考值,可以于载入内存前得知两份数据的数据格式并不一致,并执行一修正演算法加以修正调整,产生正确的数据储存于内存中,使得内存中载入正确的数据以供后续的查询,有效解决了数据不一致所造成的不可预期问题,也避免了重要的系统相关数据的损失。同时,可将此方法应用于产线上,解决新旧版本不一致所需的手动人工操作问题。
值得注意的是,虽然上述实施例以SMBIOS的数据格式作为说明,熟悉此技艺人士皆知,本发明也可实现于任何数据格式中。
上述说明提供数种不同实施例或应用本发明的不同方法。实例中的特定装置以及方法用以帮助阐释本发明的主要精神及目的,当然本发明不限于此。
因此,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟悉此项技艺者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视权利要求书所界定者为准。

处理装置及其相关的数据处理方法.pdf_第1页
第1页 / 共16页
处理装置及其相关的数据处理方法.pdf_第2页
第2页 / 共16页
处理装置及其相关的数据处理方法.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《处理装置及其相关的数据处理方法.pdf》由会员分享,可在线阅读,更多相关《处理装置及其相关的数据处理方法.pdf(16页珍藏版)》请在专利查询网上搜索。

本发明提供一种数据处理方法,特别是一种用于校正非挥发性存储器中不同数据格式的数据处理方法,用以将一非挥发性存储器中的数据载入至一内存中。数据处理方法包括下列步骤。首先,载入非挥发性存储器中的一样本数据。接着,载入非挥发性存储器中对应样本数据的一数据区块。其次,比对样本数据的一参考值与数据区块的一对应参考值是否一致。当样本数据与数据区块的参考值为不一致时,执行一修正演算法,以依据样本数据的参考值调整。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1