安全更新只读存储器的装置与方法 本发明涉及一种安全更新只读存储器的装置与方法。
在一般电脑中只读存储器(ROM)用以存储重要程序与数据。例如:控制硬件最基本动作的基本输入/输出系统(BIOS),而此基本输入/输出系统(BIOS)是电脑的中央处理单元指挥硬件动作的基础,犹如传动系统在汽车中一般,是电脑中极为重要的元件。
电脑的只读存储器因其只读的特性,在电脑缓装完成后便不再变更其内容;当要更新其内容时(例如更换新版本的BIOS)须拆开电脑的外壳,取出主机板后更换整颗只读存储器,或藉由硬件的跳线设定(请参阅图1),选择可更新的只读存储器(如快擦写存储器),此做法不仅较为麻烦,且开机程序繁复,须于其中做两套基本输入输出系统的切换处理。
而要更新已售出的基本输入输出系统时,除需进行上述的处理外,尚须由使用者手中收回产品,并于完成更新后再送回使用者手中,对生产者与使用者而言皆极为不便。
此外,以更新整颗只读存储器(ROM)的方式更新基本输入输出系统内容时,其问题在于须拆开电脑外壳,取出电脑主机板,找出只读存储器所在位置,再将整颗只读存储器元件拆除以装入新的只读存储器元件,这些步骤皆非一般使用者所能完成的。因此,对于生产者而言,对已售出的电脑进行只读存储器内容更新,是一非常困扰而繁琐的过程,而将电脑由使用者手中收回,则须有足够地空间供技术人员进行更换及测试,完成后再将电脑送回使用者手上,过程繁琐而耗时。
而利用跳线选择电脑中不同只读存储器的方式以更新其内容时,可选用的只读存储器中通常会有可电擦除可编程只读存储器(EEPROM,如快擦写只读存储器)此种类型的只读存储器虽可不拆卸任何电子元件而更新其内容,但若更新失败,或因电脑当机所造成的瞬间电位差令电可擦除可编程只读存储器的数据被擦除,电脑将无法正常运作,甚至不能开机。
鉴于现今电脑只读存储器更新的不便问题,发明人乃多方思考研究,历经数度尝试与改进,终于研制出可不拆卸硬件而达成只读存储器内容的更新,且于开机时自动判别,当电子可擦除可编程只读存储器中的数据有误时,仍可读取非电可擦只读存储器中的基本输入输出系统,成功地执行开机程序。
本发明的一个目的是在非可擦只读存储器外增设至少一电可擦可编程只读存储器,供存储基本输入输出系统,藉由中央处理单元已有的处理能,在不调整任何硬件设定的情况下,可自动判别并执行基本输入输出系统的更新操作。
本发明的另一个目的是同时设置一非电可擦除只读存储器及至少一电可擦可编程只读存储器,当开机时,以电可擦可编程只读存储器中的基本输入输出系统为优先参量,仅于其中未存有正确的基本输入输出系统时才执行非电可擦只读存储器中的基本输入输出系统,如此可确保执行内容最新的基本输入输出系统,且于新内容的基本输入输出系统写入失败时仍能开机,不致影响电脑的运作。
图1是习用以跳线方式选择只读存储器的硬件结构图;
图2为本发明的硬件电路示意图;
图3为本发明较佳实施例的硬件电路示意图;
图4为本发明一实施例的识别流程图;
图5为本发明一实施例的更新流程图。
为能更清楚地表达本发明的技术特征,兹就本发明的实施例说明如下:
本发明所使用的硬件电路,请参阅图2中所示,它包括存储器1与存储器2,门电路OR1、OR2、NOT、低电位(逻辑值0)有效的存储器致能信号CS(enable),及控制信号CRTL。当CRTL为低电位(逻辑值0)时,CS可有效控制存储器1而禁止(disble)存储器2,当CRTL为高电位(逻辑值1)时,CS可有效控制存储器2而禁止存储器1。亦即CRTL信号控制CS致能存储器1或存储器2,以替代跳线选择存储器。
本发明较佳实施例的硬件电路,请参阅图3所示,其中包括存储器BootROM(非电可擦只读存储器)与存储器Flash ROM、门电路AND、OR1、OR2、NOT、低电位(逻辑值0)有效的存储器致能信号CS0、CS1及控制信号CTRL。当开机通电后,控制信号CTRL为0仅有CS0可致能Boot ROM以执行其中的开机程序,该程序可藉由CS1致能Flash ROM以读取其中的数据,并可校验其中数据的正确性与完整性。而当控制信号CTRL变为1时,仅有CS0可致能Flash ROM以执行其中的开机程序,该程序仍可藉由CS1致能Flash ROM以读取其中的数据。
本发明的自动识别存储器流程图如图4所示。该处理流程先执行Boot ROM(请参照图3所示)中的开机程序,打开电源后,存储器致能信号CS0与控制信号CTRL通电的初始状态为低电位(逻辑值为0),确保先致能Boot ROM以执行其中的基本输入输出系统,该开机程序先判断是否要执行Flash ROM中存储的基本输入输出系统,若是,则接着检验是否有基本输入输出系统ID存储,并检验其正确否,若存在正确的基本输入输出系统ID,就设定控制信号CTRL为1,继而读取Flash ROM中的基本输入输出系统,并执行;若校验失败,则仍执行Boot ROM中的基本输入输出系统,藉由本发明,可自动判别以执行Boot ROM中的基本输入输出系统或Flash ROM中有效且正确的基本输入输出系统。
图5为更新Flash ROM(请参照图3所示)中基本输入输出系统的流程图,该流程先执行更新处理,成功后填写有效的ID与校验参数后结构,而更新操作若写入失败则重新进行更新操作,直至写入次数N超过预设的上限值Max才结束更新。配合图4中的处理流程,可发现无论是否曾进行更新,或更新处理是否成功,皆不妨碍执行Boot ROM中存储的基本输入输出系统,因而可确保在所有情况下皆可正常开机动作。
以上所述,仅为本发明的实施例,但,本发明所主张的权利并不限于此,按凡熟悉本技术者,依据本发明所揭示的技术内容,可轻易思及的某些改变,均应属不脱离本发明的保护范围。