CN100407177C - 闪存存储器的改写控制系统及存储器改写控制方法 - Google Patents
闪存存储器的改写控制系统及存储器改写控制方法 Download PDFInfo
- Publication number
- CN100407177C CN100407177C CN031424147A CN03142414A CN100407177C CN 100407177 C CN100407177 C CN 100407177C CN 031424147 A CN031424147 A CN 031424147A CN 03142414 A CN03142414 A CN 03142414A CN 100407177 C CN100407177 C CN 100407177C
- Authority
- CN
- China
- Prior art keywords
- data
- vectoring information
- guidance field
- rewriting
- starting
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- 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
-
- 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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种闪存存储器的改写控制系统及方法,闪存存储器(101)具有存储启动引导数据的启动引导区域(201)、存储引导数据的至少两个引导区域(202、203)和存储主数据的主存储区域。引导数据判断部(301)根据引导数据更新判断数据,从分别被储存在各个引导区域中的引导数据中选择出应由启动引导数据执行的引导数据。改写部(302、303)根据接收的更新数据、依据引导数据判断部(301)所选择的引导数据的功能、改写被存储在除了存储有该被选择的引导数据的引导区域的引导区域、启动引导区域及主存储区域中的数据。从而,可通过一次的下载操作实现对存储在包含有引导区域的闪存存储器的各区域中的数据的改写。
Description
技术领域
本发明涉及存储有作为电子设备的固体软件的存储有引导程序和主程序的闪存存储器的存储器改写控制系统及存储器改写控制方法。
背景技术
在打印机、扫描仪等电子设备中,固体软件的引导程序与主程序是被分开地存储在闪存存储器中。比如,在打印机的情况下,控制打印机的通常模式(进行打印处理的模式)的程序的主程序及字体数据等被储存在主存储区域中。而,实施打印机启动处理的程序和控制打印机的存储改写模式(进行闪存存储器的改写处理的模式)、实施被储存在主存储区域的主程序的改写处理及字体数据等的改写处理的程序被储存在引导区域中。在这里,主存储区域及引导存储区域由1个或者多个区段构成,所谓区段是指在闪存存储器中可一次清除的最小单位区域。
在改写存储在引导区域中的数据(引导数据)时,由于软件的规则是禁止引导数据改写存储自身程序的区域,因此需要进行三次下载处理。
图12为说明以往的改写处理的数据的迁移的说明图。在闪存存储器改写处理中,引导区域以外的闪存存储器的区域的改写处理通过存储在引导区域内的引导数据来实施,引导区域的改写处理通过新下载的引导改写数据来实施。
根据引导数据,通过第1次的下载处理取得引导改写数据,清除主存储区域的数据(主数据),并将取得的引导改写数据写入主存储区域(图12中的I)。
接下来,根据引导改写数据,通过第2次的下载处理取得新的引导数据,清除引导区域的数据,并将取得的新的引导数据写入引导区域(图12中的II)。
根据新的引导数据,通过第3次的下载处理取得新的主数据,清除主存储区域的引导改写数据,并将取得的新的主数据写入主存储区域(图12中的III)。这里,在没有必要更新主数据的情况下,通过第3次的下载处理取得旧的主数据(与通过I的处理被清除的主数据同样的数据)并写入主存储区域。
如上述的那样,由于改写存储在闪存存储器的引导区域的数据(引导数据)的操作不实施三次的下载操作的话就没有结束,因而操作程序很烦琐,存在着容易发生操作错误的问题。而且,还存在着改写操作耗费时间很长的问题。
发明内容
本发明就是要解决以上的问题,其目的在于提供一种可以通过简化改写操作程序、减少改写操作时间及减少发生改写操作的错误,并且避免电子设备出现不能启动状态的闪存存储器的存储改写控制系统及存储器改写控制方法。
本发明的闪存存储器的存储改写控制系统,该系统对闪存存储器进行改写控制,其中所述闪存存储器由多个区域构成,能够以区域为单位清除数据,具有:存储起动引导数据的起动引导区域、存储被所述起动引导数据选择性地起动的引导数据的至少2个引导区域、和存储被所述起动引导数据或所述引导数据所起动的主数据的主存储区域,其特征在于,包括:引导数据判断部,其从所述各引导区域存储的所述引导数据中,根据所述各引导区域存储的引导数据更新判断数据,选择出应由所述起动引导数据起动的引导数据,其中所述引导数据更新判断数据包括分别存储于所述引导区域的表示所述引导数据的更新顺序的第1数据、与表示该引导数据的正当性的第2数据;和改写部,其对存储在除去存储了由所述引导数据判断部所选择的所述引导数据的引导区域的所述引导区域的任一个和/或所述主存储区域中的数据进行改写。通过该结构,就可以简化闪存存储器的引导区域改写处理的操作顺序并缩短处理所需的时间。
另外,所述改写部具有:接收用于改写所述闪存存储器所存储的数据的更新数据的更新数据接收部;根据所述更新数据接收部接收到的所述更新数据,从所述引导区域及所述主存储区域当中选择应存储更新数据的区域的区域判断部;将所述更新数据接收部接收到的所述更新数据写入由所述区域判断部选择的所述区域的更新数据写入部;当所述区域判断部选择的所述区域为所述引导区域时,计算出所述引导数据更新判断数据并对其进行更新的更新判断数据算出部。
还有,所述改写部具备有:当应由通过所述引导数据判断部所判定的所述起动引导数据起动的引导数据被存储在第1引导区域时,能够对存储在除了所述起动引导区域及所述第1引导区域的区域内的数据进行改写的第1改写部;当应由通过所述引导数据判断部所判定的所述起动引导数据起动的引导数据被存储在第2引导区域时,能够对存储在除了所述起动引导区域及所述第2引导区域的区域内的数据进行改写的第2改写部。通过该结构,就可以避免引导区域的改写处理异常的控制装置不启动状态。
还有,所述改写部判断更新数据是否为将具有规定的数据长的特定数据写入所述闪存存储器的规定地址的规定的更新数据,在所述更新数据为所述规定的更新数据的情况下,能够对所述起动引导区域进行改写。根据该结构,就可以在保护有可能产生电子设备不能启动状态的启动引导数据的同时,在有必要改写启动数据的情况下,通过将写入特定数据旨意的数据包含在更新数据中发送到规定的地址,就可以作为可改写启动引导区域的状态很容易地进行启动引导数据的改写。也就是说,既使在改写启动引导数据的情况下,也没有必要准备特别的改写程序等,就可以用和引导数据及主数据同样的操作顺序来进行改写。
另外,所述改写部具有:当应由通过所述引导数据判断部所判定的所述起动引导数据起动的引导数据被存储在第1引导区域时,能够对存储在除了所述第1引导区域的区域内的数据进行改写的第1改写部;当应由通过所述引导数据判断部所判定的所述起动引导数据起动的引导数据被存储在第2引导区域时,能够对存储在除了所述第2引导区域的区域内的数据进行改写的第2改写部。
另外,所述引导数据更新判断数据中的所述第1数据为引导更新次数、所述引导数据更新判断数据中的所述第2数据为检测总数,所述引导数据判断部选择出存储有表示至少改写了2个引导区域的所述引导数据的累计次数的引导区域。
本发明作为存储改写控制方法来掌握也是适合的,既使在这一情况也可以达到同样的作用和效果。
另外,本发明的存储改写控制方法可以作为通过电子设备的控制部实施的程序来进行提供,可以通过信息记录介质或互联网等网络提供该程序。作为信息记录介质,如可以采用小型磁盘、软盘、硬盘、光磁盘、镍银面盘、磁带、或半导体存储器。
附图说明
图1为表示存储改写控制系统的硬件结构图。
图2为表示闪存存储器的区域结构图。
图3为与存储改写控制系统的存储改写处理有关的功能方框图。
图4为表示改写两个W引导区域的W引导数据的顺序图。
图5为表示引导处理顺序的流程图。
图6为表示第1实施例的W引导处理的闪存存储器改写处理顺序的流程图。
图7的(a)为表示实施第1实施例的W引导处理A的情况下的闪存存储器的改写范围的图,(b)为表示实施第1实施例的W引导处理B的情况下的闪存存储器的改写范围的图。
图8的(a)为表示实施W引导处理A的情况下的W引导区域B的改写状态的说明图,(b)为表示实施W引导处理B的情况下的W引导区域A的改写状态的说明图。
图9为表示对移动到启动引导改写模式的判断处理顺序的流程图。
图10为表示第2实施例的W引导处理的闪存存储器改写处理顺序的流程图。
图11的(a)为表示实施第2实施例的W引导处理A的情况下的闪存存储器的改写范围的图,(b)为表示实施第2实施例的W引导处理B的情况下的闪存存储器的改写范围的图。
图12为说明以往的改写处理的数据的迁移图。
具体实施方式
下面,参照附图说明本发明的一实施例。但以下说明的实施例只是为了说明,并不限制本发明的范围。因此,只要是业内人士,就可以采用将这些各要素或全部要素置换为与此相均等的实施例,而这些实施例也包含在本发明的范围内。
图1为表示闪存存储器的存储改写控制系统的硬件结构图。存储改写控制系统100具有:能够分别改写在作为可以一次清除的最小单位存储区域的每个区段中的数据的闪存存储器101、可读写的RAM102及存储改写控制系统100和对具有该存储改写控制系统100的电子设备实施控制的CPU103。
闪存存储器101存储有实施电子设备的通常模式控制的主程序、字体数据等,存储有用于控制电子设备的启动处理、改写闪存存储器101中所存储的数据的引导程序。以下将存储有引导程序的一个或多个区段称为「引导区域」、将存储有主程序、字体数据等的一个或多个区域称为「主存储区域」。另外,将引导区域所存储的引导程序的数据称为「引导数据」、将主存储区域所存储的主程序、字体数据等的数据称为「主数据」。还有,在本说明书中称引导区域、主存储区域的情况,包含具有多个可一次清除的最小单位的区段。
(第1实施例)
图2为表示闪存存储器的区域结构的一例的图。以下,将由三个区域所构成的引导区域作为例子进行说明。闪存存储器101的引导区域由第1引导区域201、第2引导区域202及第3引导区域203这三个区域构成。
在第1引导区域201内存储有实施启动电子设备的最低限功能的引导数据。比如,作为启动电子设备的最低限的功能可以举出CPU103的初始化、堆栈的初始化等的各种初始化、RAM102的Write/Read检测、门阵列寄存器的Write/Read检测等的各种检测、启动模式的判断等的各种判断等。以下,将第1引导区域201称为「启动引导区域」、将存储在启动引导区域201中引导数据称为「启动引导数据」、将根据启动引导数据所实施的处理称为「启动引导处理」。
在第2引导区域202内存储有实现作为启动引导处理的在为了启动电子设备的最低限功能以外的启动时的各种功能(在存储改写模式的启动时的各种功能)及改写闪存存储器101内存储的数据的功能的引导数据。比如,作为让启动引导处理的电子设备启动的最低限功能以外的启动时的功能,可以举出判断通信接口的种类、对应各通信接口的处理、对应各种状态指令的处理(固体软件形式ID的发送处理等)。根据执行改写闪存存储器101内所存储的数据的功能的引导数据,执行改写启动引导区域201及第2引导区域(自身的区域)202以外的闪存存储器101内所存储的引导数据及主数据的处理。以下,将第2引导区域202称为「W引导区域A 」、将W引导区域A202所存储的W引导数据称为「W引导数据A 」、将根据W引导数据A实施的W引导处理称为「W引导处理A」。
在第3引导区域203内存储有实施作为启动引导处理的在为了启动电子设备启动的最低限功能以外的启动时的各种功能(在存储改写模式的启动时的各种功能)及将闪存存储器101内存储的数据改写的功能的W引导数据A基本相同的引导数据。根据执行改写闪存存储器101内所存储的数据的功能的引导数据,执行改写启动引导区域201及第3引导区域(自身的区域)203以外的闪存存储器101内所存储的引导数据及主数据的处理。以下,将第3引导区域203称为「W引导区域B 」、将W引导区域B203所存储的W引导数据称为「W引导数据B 」、将根据W引导数据B实施的W引导处理称为「W引导处理B 」。
根据这样的区域结构,通过W引导区域的一方的W引导处理,就可以改写另一方的W引导区域的W引导数据,进而就可以保证进行正常动作的至少一个的W引导区域。
另外,在W引导区域A202及B203内分别存储有查证各W引导区域区域的正确性(W引导数据是否被正确地存储保持着)的确认总数、识别W引导区域的数据更新次数的W引导更新次数及W引导区域的W引导ID。确认总数及W引导更新次数作为引导数据更新判断数据来使用。即:启动引导处理根据确认总数及W引导更新次数来判断存储有正常并最新的W引导数据的W引导区域,根据存储在判断的W引导区域的W引导数据来实施W引导处理。
图3为表示存储改写控制系统的存储改写处理的一例的功能方框图。存储改写控制系统100具有引导数据判断部301、第1改写部302及第2改写部303。
第1改写部302具有第1更新数据接收部321、第1区域判断部322、第1更新数据写入部323及第1更新判断数据算出部324,第2改写部303具有第2更新数据接收部331、第2区域判断部332、第2更新数据写入部333及第2更新判断数据算出部334。
引导数据判断部301为根据图2的启动引导区域201内所存储的启动引导数据被实施的启动引导处理的一个功能,根据引导数据更新判断数据的W引导区域A202、B203内所存储的确认总数及W引导更新次数,判断实施W引导区域A202内所存储的W引导数据A的W引导处理A或W引导区域B203内所存储的W引导数据B的W引导处理B的哪个处理。
第1改写部302为图2的W引导区域A202的W引导处理A的一个功能,可以改写构成清除启动引导区域201及W引导区域A202的闪存存储器101的(多个)区域内所存储的数据。通过第1改写部302可以改写W引导区域B203内所存储的W引导数据B。
第1改写部302的第1更新数据接收部321利用规定的通信接口接收来自主装置的更新数据。根据规定的格式按规定大小的数据单位(记录单位)将更新数据发送。
第1改写部302的第1区域判断部322判断存储通过第1更新数据接收部321接收到的更新数据的闪存存储器101的区域为哪里的区域,在为启动引导区域201及W引导区域A202的情况下,就不实施更新数据的改写。第1改写部302的第1更新数据写入部323将更新数据写入清除启动引导区域201及W引导区域A202的闪存存储器101所指定(判断)的区域。
第1改写部302的第1更新判断数据算出部324算出被改写的闪存存储器101的W引导区域B203的确认总数及主存储区域204的确认总数,并根据W引导区域A202的W引导更新次数算出W引导区域B203的W引导更新次数,分别进行更新。
第2改写部303为图2的W引导区域B203的W引导处理B的一个功能,可以改写构成清除启动引导区域201及W引导区域B203的闪存存储器101的(多个)区域。通过第2改写部303可以改写W引导区域A202内所存储的W引导数据A。
第2改写部303的第2更新数据接收部331利用规定的通信接口接收来自主装置的更新数据。根据规定的格式按规定尺寸的数据单位(记录单位)将更新数据发送。
第2改写部303的第2区域判断部332判断存储通过第2更新数据接收部331接收到的更新数据的闪存存储器101的区域为哪里的区域,在为启动引导区域201及W引导区域B203的情况下,就不实施更新数据的改写。第2改写部303的第2更新数据写入部333将更新数据写入清除启动引导区域201及W引导区域B203的闪存存储器101所指定(判断)的区域。
第2改写部303的第2更新判断数据算出部334算出被改写的闪存存储器101的W引导区域A202的确认总数及主存储区域204的确认总数,并根据W引导区域B203的W引导更新次数算出W引导区域A202的W引导更新次数,分别进行更新。
图4为表示两个W引导区域的W引导数据的改写顺序图。具有存储改写控制系统的电子设备分别将W引导数据A及W引导数据B储存在闪存存储器101的W引导区域A202及W引导区域B203的状态发出。W引导更新次数作为初始值被储存在一方的W引导区域为「1」、被储存在另一方的W引导区域为「0」。比如,将W引导区域A202的W引导更新次数定为「1」、将W引导区域B203的W引导更新次数定为「0」。
根据W引导区域A202及W引导区域B203的各W引导区域区域的确认总数及W引导更新次数来判断启动引导处理所实施的最新的W引导处理是W引导处理A还是W引导处理B。W引导区域A202及W引导区域B203的确认总数均为正常的情况下,就实施W引导更新次数的多的(即最后被写入的)W引导区域的W引导处理。另外,W引导区域A202及W引导区域B203的确认总数只有一方为正常的情况下,就实施正常的确认总数的W引导区域的W引导处理。
通过执行中的W引导区域的W引导处理来改写非执行中(非选择)的W引导区域的W引导数据,并更新W引导更新次数。比如,如图所示那样,在第1次的改写W引导区域的情况下,被实施的W引导处理为W引导处理A。因而被改写的W引导区域就为W引导区域B203。既通过W引导处理A来更新W引导区域B203的W引导数据B。
另外,W引导区域B203的W引导更新次数就为在W引导区域A202的W引导更新次数上加上1的次数。即被更新的W引导区域的W引导更新次数的一方变得比执行中的W引导区域的W引导更新次数多。还有,如图所示那样,作为例外的更新次数为FFFFh次的情况,下一次的更新次数就为0次。既W引导更新次数当写入10000h次时就返回到发出时的状态(初始值)。
图5为表示引导处理顺序的例子的流程图。表示启动引导区域201的启动引导处理、W引导区域A202的W引导处理及W引导区域B203的W引导处理B的处理顺序的一例。首先,当电子设备的电源被接通时,就实施CPU103的初始化、堆栈的初始化等的各种初始化、RAM102的W/R确认、门阵列寄存器的W/R确认等的各种确认、启动模式的判断等的各判断等(S501)。
接下来,如通过确认电子设备具备的磁倾角开关的状态来判断是否为存储改写模式(S502),在不是存储改写模式的情况、即通常模式的情况(S502;No)下,就查证主存储区域204的确认总数(S512),确认总数是否正常,即判断主存储区域204的数据是否正常(S513)。在确认总数为异常的情况下(S513;No),就实施显示错误等的错误处理(S515)。另一方面,在确认总数为正常的情况下(S513;Yes),就实施通常模式的主程序的各种处理(S514)。
在为存储改写模式的情况下(S502;Yes),就查证W引导区域A202的确认总数及W引导区域B203的确认总数(S503)。判断W引导区域A202的确认总数及W引导区域B203的确认总数是否均为异常(S504),在W引导区域A202的确认总数及W引导区域B203的确认总数均为异常的情况下(S504;Yes),就实施显示错误等的错误处理(S505)。
另一方面,,在W引导区域A202的确认总数及W引导区域B203的确认总数均为非异常的情况下(S504;;No),就判断W引导区域A202及W引导区域B203的确认总数是否均为正常(S506),在W引导区域A202及W引导区域B203的确认总数均为正常的情况下(S506;Yes),就取得W引导区域A202的W引导更新次数及W引导区域B203的W引导更新次数(S507),判断W引导区域A202的W引导更新次数是否也比W引导区域B203的W引导更新次数大(S508)。
在W引导区域A202的W引导更新次数也比W引导区域B203的W引导更新次数多的情况下、即W引导数据A为比W引导数据B新的W引导数据的情况下(S508;Yes),就实施W引导区域A202的W引导处理A的存储改写处理(S510)。另一方面,在W引导区域A202的W引导更新次数在W引导区域B203的W引导更新次数以下情况下、即W引导数据B为比W引导数据A新的W引导数据的情况下(S508;No),就实施W引导数据B203的W引导处理B的存储改写处理(S509)。
W引导区域A202及W引导区域B203的确认总数均为不正常的情况下、即其中一方的W引导区域为异常的情况下(S506;No),就判断W引导区域A202的确认总数是否正常(S511),在W引导区域A202的确认总数为正常的情况下(S511;Yes),就实施W引导区域A202的W引导处理A的存储改写处理(S510)。另一方面,在W引导区域A202的确认总数为异常的情况下、即W引导区域B203的确认总数为正常的情况下(S511;No),就实施W引导数据B203的W引导处理B的存储改写处理(S509)。
另外,通过接收来自主装置的存储改写模式移动指令(S516),电子设备就从通常模式移动到存储改写模式,实施闪存存储器的改写(S503~511)。
还有,在初始化/确认处理(S501)之后,判断启动哪一方的W引导处理(S503~S508、S511),另外,判断是通常模式还是存储改写模式(S502),根据被选择的其中一方的W引导处理来启动该模式的处理、即也可以启动主程序的通常处理(S512~S515)也可以启动W引导处理的存储改写处(S509/S510)。在这种情况下,也可以让W引导处理包含电子设备的通常模式的(启动时的)处理功能。
图6为表示第1实施例的W引导处理(A、B)的闪存存储器改写处理顺序的例子的流程图。首先,实施判断从主装置接收的改写闪存存储器101的更新数据的通信接口及各种初始化(S601)、取得识别执行中的W引导区域的W引导处理的W引导ID(S602)。
接下来,将更新数据接收到记录单位(S603)。以下,将接收的记录单位的更新数据称为「接收记录数据」。下面,判断接收记录数据是否为结束记录、即判断更新数据的接收是否结束(S604)。
在接收记录数据不是结束记录的情况下(S604;No),判断接收记录数据是否为应存储的闪存存储器的区域的更新数据(S605)。在接收记录数据中包含有存储开始地址,根据该存储开始地址来判断应存储的闪存存储器的区域。另外,被改写的区域为启动引导区域201及执行中的W引导区域以外的区域。
在接收记录数据为应存储的闪存存储器的区域的更新数据的情况下(S605;Yes),实施接收记录数据的写入处理(S606),将通知正常接收的正常接收状态发送到主装置(S607),返回步骤S603,接收下一个更新数据的记录数据。在这里,在改写非执行中的W引导区域的情况时,算出W引导更新次数并写入。作为一种实施例,接收应储存在非执行中的W引导区域的记录数据,在开始该W引导区域的数据的改写后,在接收应储存在该W引导区域以外的区域的记录数据的情况,就判断该W引导区域的改写结束了,算出W引导更新次数并写入。
另一方面,在接收记录数据不是应存储的闪存存储器的区域的更新数据的情况(S605;No)下,就不读取接收记录数据,返回到步骤S603,接收下一个更新数据的记录数据。
在接收记录数据为结束记录的情况下(S604;Yes),算出实施接收记录数据的写入处理的主存储区域204的确认总数及/或非执行中的W引导区域的确认总数并写入(S608),将CPU103复位(S609),结束改写处理。
另外,也可以通过接收来自主装置的存储改写模式结束指令(S610),将CPU103复位(S609),结束存储改写处理。
在这里,从主装置发送来的更新数据,也可以由各个区域、即W引导区域A202、B203、主存储区域204所构成,也可以为总括任意的多个区域的更新数据。另外,W引导更新次数也可以同时进行步骤S608的确认总数的算出·写入的处理。
图7为表示第1实施例的闪存存储器的改写范围的图。图7(a)为表示实施W引导处理A的情况下的闪存存储器的改写范围的图,图7(b)为表示实施W引导处理B的情况下的闪存存储器的改写范围的图。如图所示,根据接收记录数据改写以下所示的4项数据以外的数据。
·启动引导数据:是未被改写的引导数据。
·执行中的W引导区域的W引导数据:在W引导处理A执行中的情况下是W引导数据A,在W引导处理B执行中的情况下是W引导数据B。
·非执行中W引导区域的确认总数:在W引导处理A执行中的情况下是W引导区域B203的确认总数,在W引导处理B执行中的情况下是W引导区域A202的确认总数。
·主存储区域204的确认总数:是主存储区域全部区域的确认总数。
确认总数如上所述的那样,在W引导处理的改写处理当中被计算出来并将该值写入闪存存储器(S608)。
在闪存存储器101的数据改写方法中有各种各样的方法。比如可以利用以下说明的改写方法来实施。
第1改写方法:为在构成闪存存储器101的所有的区域内、作为记录数据依次接收区域全域的更新数据的改写方法。在这里,未使用区域的记录数据作为Oxff被发送、接收。在接收记录数据为改写对象的区域(更新对象区域)的最初的(先头)更新数据的情况下,清除更新对象区域的所有的数据,根据存储开始地址将接收记录数据写入更新对象区域。在接收记录数据不是更新对象的区域的最初的更新数据的情况下,根据存储开始地址将接收记录数据写入更新对象区域。
第2改写方法:为在W引导区域的数据中、接收存有数据部分的更新数据、改写区域全域、在W引导区域以外的区域内只接收应更新的数据并只改写该接收记录数据部分的方法。
在W引导区域为更新对象区域的情况下、接收记录数据为更新对象区域的最初的(先头)更新数据的情况下,将更新对象区域的数据复制到RAM上,生成区域镜像,将接收记录数据写入RAM的区域镜像,清除更新对象区域的所有数据。在接收记录数据不是更新对象区域的最初的更新数据的情况下,将存有数据部分的所有的接收记录数据写入RAM的区域镜像,将被写入的RAM上的区域镜像写回到更新对象区域。
W引导区域以外区域为更新对象区域的情况下,将更新对象区域的所有的数据复制到RAM上,写入应更新部分的接收记录数据,清除更新对象区域的所有数据,将被写入的RAM上的区域镜像写回到更新对象区域。
第3改写方法:为在构成闪存存储器101的所有的区域中、只接收应更新的数据并只改写该接收记录数据部分的方法。将更新对象区域的所有数据复制到RAM上,生成区域镜像,将应更新部分的接收记录数据写入RAM上的区域镜像,清除更新对象区域的所有数据,将被写入的RAM上的区域镜像写回到更新对象区域。
图8为表示W引导区域的改写的详细说明图。图8(a)为表示在实施W引导处理A的情况下的W引导区域B的改写状态的说明图,图8(b)为表示在实施W引导处理B的情况下的W引导区域A的改写状态的说明图。比如,如图8(a)所示的那样,在实施W引导处理A的情况下,依次接收W引导区域B203的W引导数据B,根据存储开始地址将该接收记录数据写入W引导区域B203。接着算出W引导区域B203的W引导更新次数并写入W引导区域B203规定的区域。这里,在W引导区域A202的引导区域更新次数为N的情况下,W引导区域B203的W引导更新次数就为(N+1)。接下来,算出W引导区域B203的确认总数并写入W引导区域B203规定的区域。另外,如图8(b)所示,在实施W引导处理B的情况下也是为和实施W引导处理A的情况同样。即、根据接收记录数据改写W引导区域A202的W引导数据A,将W引导区域A202的W引导更新次数和W引导区域A202的确认总数的算出值写入。
(第2实施例)
在第2实施例中,在将启动引导区域201加上W引导区域A202、B203及主存储区域204包含在改写对象区域这一点上与第1实施例不同。以下,对于与第1实施例的不同点进行说明。
在起动引导区域201所存储的启动引导数据的改写操作上,由于改写错误,有时会造成电子设备处于不能启动的状态。为此,在第1实施例中,不将启动引导区域作为改写对象区域,而是只将W引导区域202、203及主存储区域204作为改写对象区域,保护启动引导数据(以下称为通常改写模式)。只将启动引导处理作为启动电子设备的最低限的功能,降低启动引导数据改写的必要性,在起动引导数据中发现错误的情况下的校正及起动引导数据的修改等情况才有必要改写起动引导数据。为此,第2实施例的存储改写控制系统100具有在W引导区域202、203及主存储区域204的基础上加之将启动引导区域201也作为改写对象区域的启动引导改写模式。
第2实施例的存储改写控制系统100在改写闪存存储器101中所存储的主装置发送来的数据的更新数据当中,在检测出表示将具有规定的数据长的特定的数据写入闪存存储器101的规定地址的数据的情况下,就转到启动引导改写模式。规定的地址及特性数据可以为事先决定好的,在本实施例中,将特定数据作为数据长7字节的字符代码“REWRITE”,在执行中的W引导区域为W引导区域A202的情况下,将规定的地址作为OxF1FFEO的地址、在执行中的W引导区域为W引导区域B203的情况下,将规定的地址作为OxF0FFEO的地址。还有,也可以将上述的两个地址分别作为写入特定数据的规定的地址包含在一个更新数据当中。在这种情况下,执行中的W引导区域无论是哪一个都可以移动到启动引导改写模式。
也就是说,根据W引导区域A202所存储的W引导数据A,执行改写自身区域202以外的闪存存储器101所存储的引导数据及主数据的处理。另外,根据W引导区域B203所存储的W引导数据B,执行改写自身区域203以外的闪存存储器101所存储的引导数据及主数据的处理。这样,和第1实施例同样,通过根据W引导区域的一方的W引导处理来改写其他方的W引导区域,就可以保证正常地进行动作的至少一个W引导区域。
第1改写部302为图2的W引导区域A202的W引导处理A的一个功能,可以改写构成清除W引导区域A202的闪存存储器101的区域所存储的数据。即、可以通过第1改写部302改写启动引导区域201所存储的启动引导数据、W引导区域B203所存储的W引导数据B、主存储区域204所存储的主数据。
第1区域判断部322判断存储通过第1更新数据接收部321接收的更新数据的闪存存储器101的区域为哪里的区域,当为W引导区域A202的情况下,就不实施更新数据的改写。另外,解析接收的更新数据,判断是否移动到启动引导改写模式,在不移动到该模式的情况、应存储更新数据的区域为启动引导区域201的情况下,就不实施更新数据的改写。
第1更新数据写入部323根据第1区域判断部322的判断结果,将更新数据写入闪存存储器101所指定的区域。
第2改写部303为图2的W引导区域B203的W引导处理B的一个功能,可以改写构成清除W引导区域B203的闪存存储器101的区域所存储的数据。即、可以通过第2改写部303改写启动引导区域201所存储的启动引导数据、W引导区域A202所存储的W引导数据A、主存储区域204所存储的主数据。
第2区域判断部332判断存储通过第2更新数据接收部33 1接收的更新数据的闪存存储器101的区域为哪里的区域,当为W引导区域B203的情况下,就不实施更新数据的改写。另外,解析接收的更新数据,判断是否移动到启动引导改写模式,在不移动到该模式的情况下、在应存储更新数据的区域为启动引导区域201的情况下,就不实施更新数据的改写。
第2更新数据写入部333根据第2区域判断部332的判断结果,将更新数据写入闪存存储器101所指定的区域。
图9为表示对移动到启动引导改写模式的判断处理的顺序的一例的流程图。本处理为判断是否从通常改写模式移动到启动引导改写模式的处理,在图5所示的存储改写处理(S509、S510)的当中进行。
首先,在记录单位解析接收的更新数据,判断被指定的地址是否为规定的地址(在本例中,为OxF1FFEO地址、OxF0FFEO地址)(S701)。在指定地址为规定地址的情况下(S701;Yes),就判断被指定的数据的数据长是否为规定的数据长(在本例中,为7字节)(S702)。在数据长为规定数据长的情况下(S702;Yes),就判断被指定的数据的内容是否为特定数据(在本例中,为字符代码“REWRITE”)(S703)。在指定数据的内容为特定数据的情况下(S703;Yes),将通知正常接收的正常接收状态数据发送到主装置(S704),将追加启动引导区域201的标志调到闪存存储器101的改写对象区域(S705),不读取接收的记录数据(S706)。
另外,在指定地址不是规定地址的情况(S701;No)、数据长不是规定数据长的情况(S702;No)或数据的内容不是特定数据的情况下(S703;No),就不将追加启动引导区域201的标志调到改写对象区域,结束本判断处理。在这种情况下,通常改写模式就维持原状。
图10为表示第2实施例的W引导处理(A、B)的闪存存储器改写处理顺序的一例的流程图。和图6所示的第1实施例的顺序大致相同,但在第2实施例中,在接收记录数据之后(S803)就实施图9所示的启动引导改写模式判断处理(S804)。即判断接收记录数据是否为表示将特定的数据写入规定地址的数据,根据该判断结果,决定是转到启动引导改写模式还是维持通常改写模式。以后的S805~S811的处理和第1实施例的S604~S610的处理同样。被改写的区域,在通常改写模式中为启动引导区域201及执行中的W引导区域以外的区域、在启动引导改写模式中为执行中的W引导区域以外的区域。
另外,在步骤S804,移动到启动引导改写模式的情况下,为了将启动引导区域201作为改写对象区域而被调节的标志,通过步骤S810的处理被复位。
在这里,从主装置发送来的更新数据可以为由各区域、即启动区域201、W引导区域A202、B203、主存储区域204所构成的,也可以为总括任意的多个区域的更新数据。
图11为表示第2实施例的闪存存储器的改写范围的图。图11(a)为表示实施W引导处理A情况下的闪存存储器的改写范围的图,图11(b)为表示实施W引导处理B情况下的闪存存储器的改写范围的图。如图所示,根据接收记录数据改写以下所示的三项数据以外的数据。
·执行中的W引导区域的W引导数据:在W引导处理A执行中的情况下为W引导数据A,在W引导处理B执行中的情况下为W引导数据B。
·非执行中的W引导区域的确认总数:在W引导处理A执行中的情况下为W引导区域B203的确认总数,在W引导处理B执行中的情况下为W引导区域A202的确认总数。
·主存储区域204的确认总数:为全主存储区域的确认总数。
确认总数如上所述的那样,在W引导处理的改写处理当中被计算出来,其值被写入闪存存储器(S809)。
还有,如上所述的那样,在通常改写模式的情况下,和第1实施例相同,启动引导数据也不包含在改写范围内。
本发明也可以适用于W引导区域为三个以上的情况,其结构可以根据确认总数及更新次数从多个W引导区域当中判断应实施的W引导区域、来实施启动引导区域所存储的启动引导数据。
如以上说明的那样,根据本发明,可以在闪存存储器中设置启动引导区域和至少两个引导区域,通过在启动引导区域中存储实施启动装置的最低限功能的启动引导数据、在至少两个引导区域中分别存储执行改写包含清除自身引导区域的闪存存储器的启动引导区域的其他的区域的功能(和具有启动引导数据以外的启动时的处理功能等)的引导数据,就可以避免引导区域的改写处理异常的装置不能启动的状态。比如,将新的功能追加到(已经正在正常发挥功能的)引导处理的情况下,通过将被追加功能的引导数据作为W引导数据写入W引导区域,就可以避免在引导数据的改写操作时的因改写错误使电子设备不能启动的状态。
另外,在有必要改写启动引导数据的情况下,通过将特定数据写入规定的地址旨意的数据包含在更新数据中进行发送,使启动引导区域处于可改写状态,就可以很容易地进行启动引导数据的改写。也就是说,既使在改写启动引导数据情况下,也没有必要准备特别的改写程序等,可以用和W引导数据及主数据同样的操作顺序来进行改写。
另外,由于只通过一次的下载操作就可以改写启动引导数据、W引导数据及主数据,因此就可以使操作顺序简单化、减少操作错误的发生。而且还可以缩短改写操作的时间。
Claims (12)
1.一种存储器改写控制系统,该系统对闪存存储器进行改写控制,其中所述闪存存储器由多个区域构成,能够以区域为单位清除数据,具有:存储起动引导数据的起动引导区域、存储被所述起动引导数据选择性地起动的引导数据的至少2个引导区域、和存储被所述起动引导数据或所述引导数据所起动的主数据的主存储区域,其特征在于,包括:
引导数据判断部,其从所述各引导区域存储的所述引导数据中,根据所述各引导区域存储的引导数据更新判断数据,选择出应由所述起动引导数据起动的引导数据,其中所述引导数据更新判断数据包括分别存储于所述引导区域的表示所述引导数据的更新顺序的第1数据、与表示该引导数据的正当性的第2数据;和
改写部,其对存储在除去存储了由所述引导数据判断部所选择的所述引导数据的引导区域的所述引导区域的任一个和/或所述主存储区域中的数据进行改写。
2.根据权利要求1所述的存储器改写控制系统,其特征在于,所述改写部具有:
更新数据接收部,其接收用于改写所述闪存存储器所存储的数据的更新数据;
区域判断部,其根据所述更新数据接收部接收到的所述更新数据,从所述引导区域及所述主存储区域当中选择应存储更新数据的区域;
更新数据写入部,其将所述更新数据接收部接收到的所述更新数据写入由所述区域判断部选择的所述区域;
更新判断数据算出部,其当所述区域判断部选择的所述区域为所述引导区域时,计算出所述引导数据更新判断数据并对其进行更新。
3.根据权利要求1所述的存储器改写控制系统,其特征在于,所述改写部具备有:
当应由通过所述引导数据判断部所判定的所述起动引导数据起动的引导数据被存储在第1引导区域时,能够对存储在除了所述起动引导区域及所述第1引导区域的区域内的数据进行改写的第1改写部;
当应由通过所述引导数据判断部所判定的所述起动引导数据起动的引导数据被存储在第2引导区域时,能够对存储在除了所述起动引导区域及所述第2引导区域的区域内的数据进行改写的第2改写部。
4.根据权利要求1所述的存储器改写控制系统,其特征在于:所述改写部判断更新数据是否为将具有规定的数据长的特定数据写入所述闪存存储器的规定地址的规定的更新数据,在所述更新数据为所述规定的更新数据的情况下,能够对所述起动引导区域进行改写。
5.根据权利要求4所述的存储器改写控制系统,其特征在于:所述改写部具有:
当应由通过所述引导数据判断部所判定的所述起动引导数据起动的引导数据被存储在第1引导区域时,能够对存储在除了所述第1引导区域的区域内的数据进行改写的第1改写部;当应由通过所述引导数据判断部所判定的所述起动引导数据起动的引导数据被存储在第2引导区域时,能够对存储在除了所述第2引导区域的区域内的数据进行改写的第2改写部。
6.根据权利要求1所述的存储器改写控制系统,其特征在于:所述引导数据更新判断数据中的所述第1数据为引导更新次数,所述引导数据更新判断数据中的所述第2数据为检测总数,
所述引导数据判断部选择出存储有表示至少改写了2个引导区域的所述引导数据的累计次数的引导区域。
7.一种闪存存储器的存储器改写控制方法,该方法是对闪存存储器进行改写控制的方法,所述闪存存储器由多个区域构成,能够以区域为单位清除数据,并具有:存储起动引导数据的起动引导区域、存储被所述起动引导数据选择性地起动的引导数据的至少2个引导区域、和存储被所述起动引导数据或所述引导数据所起动的主数据的主存储区域,其特征在于,包括:
引导数据判断步骤,从所述各引导区域存储的所述引导数据中,根据所述各引导区域存储的引导数据更新判断数据,选择出应由所述起动引导数据起动的引导数据,其中所述引导数据更新判断数据包括分别存储于所述引导区域的表示所述引导数据的更新顺序的第1数据、与表示该引导数据的正当性的第2数据;和
改写步骤,其对存储在除去存储有由所述引导数据判断步骤所选择的所述引导数据的引导区域的所述引导区域的任一个和/或所述主存储区域的数据进行改写。
8.根据权利要求7所述的存储器改写控制方法,其特征在于,所述改写步骤包括:
更新数据接收步骤,其接收用于改写所述闪存存储器所存储的数据的更新数据;
区域判断步骤,其根据所述更新数据接收步骤接收到的所述更新数据,从所述至少2个引导区域及所述主存储区域当中选择应存储更新数据的区域;
更新数据写入步骤,其将所述更新数据接收步骤接收到的所述更新数据写入由所述区域判断步骤选择的所述区域;
更新判断数据算出步骤,其当在所述区域判断步骤所选择的所述区域为所述引导区域时,计算出所述引导数据更新判断数据并对其进行更新。
9.根据权利要求7所述的存储器改写控制方法,其特征在于,所述改写步骤包括:
当应由通过所述引导数据判断步骤所判定的所述起动引导数据起动的引导数据被存储在第1引导区域时,能够对存储在除了所述起动引导区域及所述第1引导区域的区域内的数据进行改写的第1改写步骤;
当应由通过所述引导数据判断步骤所判定的所述起动引导数据起动的引导数据被存储在第2引导区域时,能够对存储在除了所述起动引导区域及所述第2引导区域的区域内的数据进行改写的第2改写步骤。
10.根据权利要求7所述的存储器改写控制方法,其特征在于:在所述改写步骤中,包括判断更新数据是否为将具有规定的数据长的特定数据写入所述闪存存储器的规定地址的更新数据,在所述更新数据为所述规定的更新数据的情况下,能够对所述起动引导区域进行改写的步骤。
11.根据权利要求10所述的存储器改写控制方法,其特征在于:在所述改写步骤中,包括:
当应由通过所述引导数据判断步骤所判定的所述起动引导数据起动的引导数据被存储在第1引导区域时,能够对存储在除了所述第1引导区域的区域内的数据进行改写的第1改写步骤;
当应由通过所述引导数据判断步骤所判定的所述起动引导数据起动的引导数据被存储在第2引导区域时,能够对存储在除了所述第2引导区域的区域内的数据进行改写的第2改写步骤。
12.根据权利要求7所述的存储器改写控制方法,其特征在于:所述引导数据更新判断数据中的所述第1数据是引导更新次数,所述引导数据更新判断数据中的所述第2数据是检测总数,
所述引导数据判断步骤选择出存储有表示至少改写了2个引导区域的所述引导数据的累计次数的引导区域。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002170633A JP4062421B2 (ja) | 2002-06-11 | 2002-06-11 | メモリ書き換え制御方法およびメモリ書き換え制御方法の各工程を実行させるプログラム |
JP2002170633 | 2002-06-11 | ||
JP2002255270 | 2002-08-30 | ||
JP2002255270A JP4062429B2 (ja) | 2002-08-30 | 2002-08-30 | メモリ書き換え制御方法及びメモリ書き換え制御方法の各工程を実行させるプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1469257A CN1469257A (zh) | 2004-01-21 |
CN100407177C true CN100407177C (zh) | 2008-07-30 |
Family
ID=29586049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN031424147A Expired - Fee Related CN100407177C (zh) | 2002-06-11 | 2003-06-11 | 闪存存储器的改写控制系统及存储器改写控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7383431B2 (zh) |
EP (1) | EP1372068A3 (zh) |
KR (1) | KR100507884B1 (zh) |
CN (1) | CN100407177C (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7313682B2 (en) * | 2004-04-29 | 2007-12-25 | Alcatel Lucent | Method and system for updating boot memory that stores a fail-safe reset code and is configured to store boot code and boot updater code |
KR100630185B1 (ko) * | 2004-07-07 | 2006-09-29 | 삼성전자주식회사 | 하드 와이어드 코드를 이용한 시동 모드를 지원하는 이동단말 시스템의 시동 장치 및 방법 |
JP4229896B2 (ja) * | 2004-10-14 | 2009-02-25 | シャープ株式会社 | 書き換え可能な不揮発性メモリ、電子機器、書き換え可能な不揮発性メモリの書き換え方法、及び書き換えプログラム |
JP4759983B2 (ja) * | 2004-11-04 | 2011-08-31 | 船井電機株式会社 | ディスク装置のファームウェア書き換え方法、及びファームウェア書き換えプログラム |
JP2006227830A (ja) | 2005-02-16 | 2006-08-31 | Seiko Epson Corp | 情報処理機器及び情報処理機器の制御方法 |
JP2007025821A (ja) * | 2005-07-12 | 2007-02-01 | Seiko Epson Corp | 情報処理装置及び情報処理装置の制御方法 |
US8001385B2 (en) * | 2006-06-21 | 2011-08-16 | Intel Corporation | Method and apparatus for flash updates with secure flash |
US7991942B2 (en) | 2007-05-09 | 2011-08-02 | Stmicroelectronics S.R.L. | Memory block compaction method, circuit, and system in storage devices based on flash memories |
US8041883B2 (en) * | 2007-05-09 | 2011-10-18 | Stmicroelectronics S.R.L. | Restoring storage devices based on flash memories and related circuit, system, and method |
US20080282024A1 (en) * | 2007-05-09 | 2008-11-13 | Sudeep Biswas | Management of erase operations in storage devices based on flash memories |
US7882301B2 (en) * | 2007-05-09 | 2011-02-01 | Stmicroelectronics S.R.L. | Wear leveling in storage devices based on flash memories and related circuit, system, and method |
US7917790B2 (en) * | 2008-01-17 | 2011-03-29 | Broadcom Corporation | Separate power island for high performance processor that reboots to second boot sector |
DE102008010556A1 (de) * | 2008-02-22 | 2009-09-03 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Speichern von Informationsdaten |
US8438423B1 (en) * | 2009-03-31 | 2013-05-07 | American Megatrends, Inc. | Invalid setup recovery |
CN101763279B (zh) * | 2010-01-15 | 2012-12-12 | 上海维宏电子科技股份有限公司 | 一种BootLoader架构设计方法 |
CN103299275B (zh) * | 2010-11-29 | 2017-03-15 | 汤姆逊许可公司 | 用于区别冷启动和热启动的方法和设备 |
JP5691752B2 (ja) | 2011-04-01 | 2015-04-01 | セイコーエプソン株式会社 | データの書き換え方法、データ書き換え装置及び書き換えプログラム |
KR101997079B1 (ko) * | 2012-07-26 | 2019-07-08 | 삼성전자주식회사 | 가변 저항 메모리를 포함하는 저장 장치 및 그것의 동작 방법 |
CN105122261B (zh) * | 2013-04-23 | 2020-04-24 | 惠普发展公司,有限责任合伙企业 | 从遭到破坏的系统启动代码中恢复的方法以及计算装置 |
US9990255B2 (en) | 2013-04-23 | 2018-06-05 | Hewlett-Packard Development Company, L.P. | Repairing compromised system data in a non-volatile memory |
WO2014175867A1 (en) | 2013-04-23 | 2014-10-30 | Hewlett-Packard Development Company, L.P. | Verifying controller code and system boot code |
WO2020158075A1 (ja) * | 2019-01-30 | 2020-08-06 | デンソートリム株式会社 | メモリの書き換え履歴記録装置 |
WO2020159533A1 (en) | 2019-02-01 | 2020-08-06 | Hewlett-Packard Development Company, L.P. | Security credential derivation |
WO2020167283A1 (en) | 2019-02-11 | 2020-08-20 | Hewlett-Packard Development Company, L.P. | Recovery from corruption |
CN111488168B (zh) * | 2019-12-25 | 2023-09-12 | 湖北航天飞行器研究所 | 一种基于boot二次加载的武器系统控制软件安全升级方法 |
NO346155B1 (en) * | 2020-10-26 | 2022-03-28 | Kongsberg Defence & Aerospace As | Configuration authentication prior to enabling activation of a FPGA having volatile configuration-memory |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5473775A (en) * | 1991-10-11 | 1995-12-05 | Kabushiki Kaisha Toshiba | Personal computer using flash memory as BIOS-ROM |
US5983312A (en) * | 1993-10-01 | 1999-11-09 | Fujitsu Limited | Simultaneously writing to and erasing two commonly numbered sectors |
JP2000330850A (ja) * | 1999-05-19 | 2000-11-30 | Casio Comput Co Ltd | フラッシュメモリ制御方法 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2971267B2 (ja) | 1991-10-11 | 1999-11-02 | 株式会社東芝 | フラッシュメモリをbios−romとして使用したパーソナルコンピュータ |
US5522076A (en) | 1993-05-13 | 1996-05-28 | Kabushiki Kaisha Toshiba | Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function |
JPH06324857A (ja) | 1993-05-13 | 1994-11-25 | Toshiba Corp | コンピュータシステム |
JPH0869376A (ja) | 1994-08-31 | 1996-03-12 | Hitachi Ltd | Biosの書き換え制御回路 |
AU2521297A (en) * | 1996-04-11 | 1997-10-29 | Hitachi Limited | Disk drive and computer |
US6282675B1 (en) * | 1997-08-06 | 2001-08-28 | Macronix International Co., Ltd. | Fault-tolerant architecture for in-circuit programming |
JPH10171659A (ja) | 1996-12-10 | 1998-06-26 | Matsushita Electric Ind Co Ltd | ダウンロード方法および装置 |
EP0898225A4 (en) | 1997-01-31 | 2000-07-05 | Sony Corp | INFORMATION PROCESSING APPARATUS AND METHOD |
JPH10283171A (ja) | 1997-04-02 | 1998-10-23 | Seiko Epson Corp | 情報処理装置およびその制御方法 |
JPH10320984A (ja) | 1997-05-15 | 1998-12-04 | Sharp Corp | 記憶装置 |
JPH10333913A (ja) | 1997-06-02 | 1998-12-18 | Hitachi Telecom Technol Ltd | ソフトウェアブート制御方式 |
JP2914360B2 (ja) * | 1997-09-30 | 1999-06-28 | ソニー株式会社 | 外部記憶装置及びデータ処理方法 |
US6298421B1 (en) | 1998-01-12 | 2001-10-02 | Brother Kogyo Kabushiki Kaisha | Data storage device |
JPH11212791A (ja) | 1998-01-23 | 1999-08-06 | Brother Ind Ltd | データ書換装置 |
US6167532A (en) * | 1998-02-05 | 2000-12-26 | Compaq Computer Corporation | Automatic system recovery |
JPH11249968A (ja) | 1998-03-05 | 1999-09-17 | Sanyo Electric Co Ltd | ファイル記録方法及びファイルシステム |
JPH11265282A (ja) | 1998-03-17 | 1999-09-28 | Toshiba Corp | 自動販売機の制御装置 |
JP3467678B2 (ja) | 1998-03-27 | 2003-11-17 | セイコーエプソン株式会社 | 情報処理システム、それに用いる装置及びそれらの制御方法 |
JPH11297082A (ja) | 1998-04-06 | 1999-10-29 | Matsushita Electric Ind Co Ltd | フラッシュメモリのデータ書換え方法および半導体記憶装置 |
US6275931B1 (en) * | 1998-06-22 | 2001-08-14 | Elsag International N.V. | Method and apparatus for upgrading firmware boot and main codes in a programmable memory |
US6205548B1 (en) * | 1998-07-31 | 2001-03-20 | Intel Corporation | Methods and apparatus for updating a nonvolatile memory |
JP2000066960A (ja) | 1998-08-25 | 2000-03-03 | Fujitsu Ltd | バックアップ方式 |
JP3769395B2 (ja) | 1998-10-19 | 2006-04-26 | 株式会社日立製作所 | 不揮発性メモリを使用した外部記憶装置 |
JP2000122935A (ja) | 1998-10-20 | 2000-04-28 | Sanyo Electric Co Ltd | 不揮発性メモリのアドレス変換装置 |
IL129947A (en) * | 1999-05-13 | 2003-06-24 | Tadiran Telecom Business Syste | Method and apparatus for downloading software into an embedded system |
JP3838840B2 (ja) | 2000-01-06 | 2006-10-25 | Necエレクトロニクス株式会社 | コンピュータ |
JP2001209543A (ja) | 2000-01-28 | 2001-08-03 | Nec Ic Microcomput Syst Ltd | フラッシュ・マイコンにおけるプログラム書き換え方法 |
US6560703B1 (en) * | 2000-04-18 | 2003-05-06 | International Business Machines Corporation | Redundant updatable self-booting firmware |
JP2001331323A (ja) | 2000-05-18 | 2001-11-30 | Canon Inc | ダウンロード方法、装置およびシステム |
JP2001331325A (ja) | 2000-05-19 | 2001-11-30 | Nec Corp | 初期起動装置及び初期起動方法並びに記録媒体 |
JP2001331379A (ja) | 2000-05-22 | 2001-11-30 | Nec Microsystems Ltd | フラッシュメモリ更新プログラムの書き換え方法及び装置 |
US6442067B1 (en) * | 2000-05-23 | 2002-08-27 | Compaq Information Technologies Group, L.P. | Recovery ROM for array controllers |
JP2002073360A (ja) | 2000-09-05 | 2002-03-12 | Casio Comput Co Ltd | 起動情報書換装置 |
-
2003
- 2003-05-23 EP EP03011150A patent/EP1372068A3/en not_active Withdrawn
- 2003-06-11 CN CN031424147A patent/CN100407177C/zh not_active Expired - Fee Related
- 2003-06-11 KR KR10-2003-0037432A patent/KR100507884B1/ko not_active IP Right Cessation
- 2003-06-11 US US10/460,459 patent/US7383431B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5473775A (en) * | 1991-10-11 | 1995-12-05 | Kabushiki Kaisha Toshiba | Personal computer using flash memory as BIOS-ROM |
US5983312A (en) * | 1993-10-01 | 1999-11-09 | Fujitsu Limited | Simultaneously writing to and erasing two commonly numbered sectors |
JP2000330850A (ja) * | 1999-05-19 | 2000-11-30 | Casio Comput Co Ltd | フラッシュメモリ制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US7383431B2 (en) | 2008-06-03 |
EP1372068A2 (en) | 2003-12-17 |
KR100507884B1 (ko) | 2005-08-17 |
US20040039872A1 (en) | 2004-02-26 |
EP1372068A3 (en) | 2006-02-08 |
KR20030095359A (ko) | 2003-12-18 |
CN1469257A (zh) | 2004-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100407177C (zh) | 闪存存储器的改写控制系统及存储器改写控制方法 | |
US6789158B2 (en) | Method of rewriting program in a flash microcomputer | |
US7634648B2 (en) | Data processing apparatus and control method for a data processing apparatus that temporarily provides a plurality of boot sectors in flash ROM | |
US6560703B1 (en) | Redundant updatable self-booting firmware | |
US20110179406A1 (en) | Firmware update system and information apparatus, and program | |
CN101978357A (zh) | 数据更新方法、存储器系统和存储器设备 | |
US6883060B1 (en) | Microcomputer provided with flash memory and method of storing program into flash memory | |
CN107239411B (zh) | 一种车载控制器内存管理方法及系统 | |
JP2006260330A (ja) | 計算機システムのファームウェアのバージョン管理方法及び情報処理装置 | |
WO2009064857A1 (en) | Systems and methods for updating device software | |
JP2003532222A (ja) | 記憶媒体上のデータ管理のための方法、システム、及びコンピュータプログラム | |
WO2009064849A1 (en) | Systems and methods for updating device software | |
US5838887A (en) | Printer having a backed-up memory for storing optional emulation program | |
EP1461711B1 (en) | Method and apparatus for modifying the contents of a revision identification register | |
US20030187818A1 (en) | Method and apparatus for embedding configuration data | |
CN114115755B (zh) | 用于数据写入的方法及装置、存储介质 | |
JP4238930B2 (ja) | メモリ書き換え制御システム。 | |
JP4258312B2 (ja) | 画像形成装置およびそのプログラム更新履歴管理方法 | |
CN117093246B (zh) | 一种虚拟机中多操作系统ota ab分区升级的方法 | |
US8060689B2 (en) | Method for manipulating state machine storage in a small memory space | |
JP2000259538A (ja) | ネットワーク制御装置およびネットワーク設定方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
KR100545796B1 (ko) | 서버 푸시(push)를 이용한 내장형 시스템의 운영체제변경 방법 및 장치 | |
CN110716693B (zh) | 信息处理器件和控制方法 | |
EP2204804B1 (en) | Library device | |
JPH10260908A (ja) | 記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1060197 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1060197 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080730 Termination date: 20160611 |
|
CF01 | Termination of patent right due to non-payment of annual fee |