CN105740094B - 电子设备和固件修复方法 - Google Patents
电子设备和固件修复方法 Download PDFInfo
- Publication number
- CN105740094B CN105740094B CN201511001365.7A CN201511001365A CN105740094B CN 105740094 B CN105740094 B CN 105740094B CN 201511001365 A CN201511001365 A CN 201511001365A CN 105740094 B CN105740094 B CN 105740094B
- Authority
- CN
- China
- Prior art keywords
- firmware
- kernel
- nonvolatile memory
- data
- file system
- 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
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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- 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
-
- 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
-
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
-
- 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
- G06F9/4406—Loading of operating system
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)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供电子设备和固件修复方法。本发明的电子设备包括:第一非易失性存储器、第二非易失性存储器和控制电路。第一非易失性存储器能够存储包括第一内核的固件。第二非易失性存储器存储包括第二内核的更新程序。在不能读出固件的情况,控制电路读出更新程序从而启动第二内核,通过启动了的第二内核将针对固件的更新用数据写入能够进行数据写入的第一非易失性存储器。根据本发明,即使在电子设备启动时不能读出固件的情况下,也能够进行固件的修复。
Description
技术领域
本发明涉及在启动时能够修复固件的电子设备和固件修复方法。
背景技术
在包括个人计算机等信息处理装置或数码复合机等图像形成装置的电子设备中,从降低用户的压力的观点来看,存在缩短启动时间的期望。
在电子设备启动时,由于可从ROM(Read Only Memory,只读存储器)进行固件的读出等,因此有望获得通过提高固件的读出速度来缩短启动时间的效果。
对于固件的读出速度来说,从硬件方面能够比较容易地提高。即,虽然固件一般被存储在非易失性闪存中,但是如果取而代之被存储在SSD(Solid State Drive,固态硬盘)中,则能够提高读出速度。由于向多个闪存进行并行存取,使得SSD的读出速度非常高。
然而,SSD存在的问题是,如果电子设备在工作过程中发生断电等情况,则文件系统容易损坏。
因此,在将固件存储在SSD中的情况下,存在由于SSD上的文件系统的损坏而不能读出固件,从而不能启动电子设备的可能性。
另外,在更换SSD等情况下,当将存储固件前的新的SSD安装到电子设备上时,在SSD内不存在固件,此时与文件系统损坏了的情况一样,也不能启动电子设备。
对此,例如有人提出了以下技术:预先存储固件的主程序和备份程序,在通过主程序和备份程序中的一者启动电子设备,从而修复损坏了的另一者。
发明内容
本发明的实施方式所涉及的电子设备包括:第一非易失性存储器、第二非易失性存储器和控制电路。所述第一非易失性存储器具有能够存储包括第一内核的固件的区域。所述第二非易失性存储器具有存储包括第二内核的更新程序的区域。所述控制电路能够通过引导处理读出所述固件或所述更新程序从而启动所述第一内核或所述第二内核,通过启动了的所述第一内核或所述第二内核进行向所述第一非易失性存储器的数据的写入。所述控制电路还在不能读出所述固件的情况下,读出所述更新程序从而进行启动所述第二内核的引导处理,通过启动了的所述第二内核将针对所述固件的更新用数据写入到能够进行数据写入的所述第一非易失性存储器。
本发明的实施方式所涉及的固件修复方法由控制部进行,所述控制部控制电子设备,所述电子设备包括:第一非易失性存储器,所述第一非易失性存储器具有能够存储包括第一内核的固件的区域;以及第二非易失性存储器,所述第二非易失性存储器具有存储包括第二内核的更新程序的区域。所述固件修复方法包括:引导处理步骤,读出所述固件或所述更新程序从而启动所述第一内核或所述第二内核;挂载步骤,能够通过启动了的所述第一内核或所述第二内核进行向所述第一非易失性存储器的数据写入;引导管理步骤,在不能读出所述固件的情况下,在所述引导处理步骤中读出所述更新程序从而使所述第二内核启动;以及更新处理步骤,通过启动了的所述第二内核将针对所述固件的更新用数据写入到能够进行数据写入的所述第一非易失性存储器。
附图说明
图1示出本发明的实施例1所涉及的电子设备的构成;
图2示出实施例1所涉及的电子设备的系统控制部的细节;
图3示意性地示出在实施例1所涉及的电子设备中的通常的启动处理的序列;
图4示出实施例1所涉及的启动处理的流程;
图5示意性地示出在实施例1所涉及的电子设备中的固件的更新处理的序列;
图6示出实施例1所涉及的更新处理的流程;
图7示意性地示出在实施例1所涉及的电子设备中的固件的修复处理的序列;
图8示出实施例1所涉及的修复处理的流程;
图9示出本发明的实施例2所涉及的电子设备的构成;
图10示出实施例2所涉及的系统控制部的细节;
图11示意性地示出在实施例2所涉及的电子设备中的固件的修复处理的序列;
图12示出实施例2所涉及的修复处理的流程。
具体实施方式
在不能读出第一非易失性存储器所存储的包括第一内核的固件的情况下,读出第二非易失性存储器所存储的包括第二内核的更新程序来启动第二内核,由此实现即使在电子设备启动时不能读出固件的情况下也能够进行固件修复的目的。
(实施例1)
[电子设备的构成]
图1示出了本发明的实施例1所涉及的电子设备的粗略构成。
电子设备1例如是数码复合机等图像形成装置,具有复印功能、打印功能、传真功能等各种功能。电子设备1只要是像个人计算机或其它信息处理装置等那样在启动时读出固件的装置即可,也可以是图像形成装置以外的装置。
实施例1的电子设备1包括:扫描器部3、打印部5、传真部7、作为外部接口的USB接口9、网络接口11、操作面板部13、主存储装置15、辅助存储装置17和系统控制部19。
扫描器部3具有扫描器主体21和扫描器控制部23,通过扫描器控制部23的控制以扫描器主体21读入原稿图像而形成图像数据。
打印部5具有打印引擎25和打印控制部27,通过打印控制部27的控制,由打印引擎25基于图像数据在纸张上形成图像。
传真部7具有线路端口29和传真控制部31,通过传真控制部31的控制从线路端口29经由电话线路发送接收传真。
USB接口9具有USB端口33和USB主控制部35,通过USB主控制部35的控制,能够针对作为USB端口33所连接的外部存储介质的USB存储器37的数据的发送接收。
网络接口11具有网络端口39和网络控制部41,通过网络控制部41的控制,能够从网络端口39经由因特网等网络针对外部装置的数据的发送接收。
操作面板部13具有包括触控面板式的画面等的面板主体45和面板控制部47,通过面板控制部47的控制在面板主体45上进行针对电子设备1的操作输入的接受和操作状态的显示。
主存储装置15具有ROM(Read Only Memory,只读存储器)49和RAM(Random AccessMemory,随机存取存储器)51等。
ROM 49作为实施例1的第二非易失性存储器具有存储固件的更新程序的区域,因此例如由作为非易失性半导体存储器的闪存构成。在ROM49内,除了更新程序之外,还存储电子设备1启动时所需要的引导程序、标示数据、引导模式标记。关于更新程序、引导程序、引导模式标记的细节,将在后面描述。
RAM 51是以易失性半导体存储器等构成的易失性存储器,起着工作区域的功能。
辅助存储装置17具有SSD(Solid State Drive,固态硬盘)53和HDD(Hard DiskDrive,硬盘驱动器)55。
SSD 53作为实施例1的第一非易失性存储器具有存储固件的区域,被构成为能够对多个非易失性的闪存进行并行存取。在SSD 53中,由于并行存取数据的读出速度比作为闪存的ROM 49快。在SSD 53中内置SSD控制部57,控制数据的读出或写入。关于固件的细节将在后面描述。
HDD 55是内置了多个硬盘的非易失性的存储器,通过内置的HDD控制部59控制数据的读出或写入。
系统控制部19进行包括上述各部分的系统整体的控制。
系统控制部19、扫描器控制部23、打印控制部27、传真控制部31、USB主控制部35、网络控制部41、面板控制部47、SSD控制部57和HDD控制部59是CPU(Central ProcessingUnit,中央处理器)等运算处理装置。运算处理装置是具有一条或多条电路的处理器,能够通过读入各种程序来执行,也能够执行预先装入到内部的各种程序。此处,电路可以是将多个电子元件由配线连接而成的电子部件、或电子基板。
在电子设备1启动时,系统控制部19从SSD 53读出固件而执行电子设备1的启动处理。另外,实施例1的系统控制部19在不从SSD 53读出固件或需要更新的情况下,从ROM 49读出更新程序而执行固件的修复处理或更新处理。修复处理和更新处理是由更新程序更新固件的处理,更新的结果不同。即,固件的修复处理对固件进行更新的结果是对损坏了的固件进行修复,更新处理对固件进行更新的结果是对已有的固件进行更新。
[系统控制部]
图2示出了图1的电子设备1的系统控制部19的细节。
系统控制部19通过在电子设备1启动后立即执行ROM 49内的引导程序来启动引导。系统控制部19通过被启动了的引导作为引导处理部61、引导模式设定部63和引导管理部65发挥功能。
引导处理部61实现引导处理功能,并进行启动内核的引导处理。在实施例1中,启动固件所包括的第一内核或更新程序所包括的第二内核。
在启动第一内核的情况下,引导处理部61从SSD 53读出固件而在RAM 51上展开,启动被展开了的固件所包括的第一内核。
在启动第二内核的情况下,引导处理部61从ROM 49读出更新程序而在RAM 51上展开,启动更新程序所包括的第二内核。
在SSD 53内的固件中,除了第一内核之外,还包括根文件系统数据和应用数据。另外,在ROM 49内的更新程序中,除了第二内核之外,还包括SSD 53的初始文件系统数据。
在引导启动后且内核启动前,引导处理部61初始化外部设备。在外部设备初始化后,引导处理部61从ROM 49读出标示数据而在RAM 51上展开,进行向操作面板部13上标示的显示。
引导模式设定部63实现引导模式设定功能,通过ROM 49内的引导模式标记设定引导处理是通常模式、更新模式和修复模式中的哪一个。
引导模式设定部63在电子设备1重启时将引导模式标记设定为通常模式。另外,如后述地在存在更新的请求的情况下,引导模式设定部63在电子设备1重启时将引导模式标记设定为更新模式。另外,在引导处理部61不从SSD 53读出固件的情况下,将引导模式标记设定为修复模式。
作为不从SSD 53读出固件的情况,是SSD 53上的文件系统损坏了的情况或由于SSD 53的更换等导致SSD 53中未存储固件的情况等。
引导管理部65实现引导管理功能,在引导处理部61不从SSD 53读出固件的情况、也就是说引导模式标记是修复模式的情况下,使引导处理部61从ROM 49读出更新程序从而启动第二内核。
实施例1的引导管理部65在引导模式标记是更新模式的情况下也使引导处理部61启动第二内核。
引导管理部65在引导模式标记是通常模式的情况下,使引导处理部61启动第一内核。
在第一内核启动了的情况下,通过启动了的第一内核,系统控制部19作为根文件系统挂载部67和应用挂载部69发挥功能。
根文件系统挂载部67实现根文件系统挂载功能,通过在RAM 51上展开的固件所包括的根文件系统数据来挂载根文件系统。根文件系统是针对根目录的树结构的目录树,能够进行针对SSD 53或HDD 55的数据的读出和写入。
从而,通过启动了的第一内核(根文件系统挂载部67),实施例1的系统控制部19构成能够向作为第一非易失性存储器的SSD 53进行数据写入的控制部。
应用挂载部69实现应用挂载功能,挂载并启动在RAM 51上展开的固件所包括的应用。在应用启动后,系统控制部19作为更新判断部71发挥功能。
更新判断部71实现更新判断功能,接受更新的请求,将ROM 49内的引导模式标记从通常模式变更为更新模式,重启电子设备1。更新的请求通过在USB接口9上连接存储了更新用数据的USB存储器37来进行。
另一方面,在第二内核启动了的情况下,系统控制部19作为SSD 53的初始文件系统挂载部(以下,称作“SSD初始文件系统挂载部”)73、SSD 53的文件系统挂载部(以下,称作“SSD文件系统挂载部”)75、更新处理部77发挥功能。
SSD初始文件系统挂载部73实现针对SSD 53的初始文件系统挂载功能,通过在RAM51上展开了的更新程序所包括的初始文件系统数据能够挂载SSD 53的初始文件系统并进行向SSD 53的存取。
SSD文件系统挂载部75实现针对SSD 53的文件系统挂载功能,向SSD 53进行存取从而识别文件系统,挂载识别了的SSD 53的文件系统。SSD 53的文件系统是目录树,能够进行针对SSD 53的数据的读出。
从而,通过启动了的第二内核(SSD文件系统挂载部75),实施例1的系统控制部19构成能够向作为第一非易失性存储器的SSD 53进行数据写入的控制部。
更新处理部77实现更新处理功能,在能够进行数据的写入的SSD 53上写入针对固件的更新用数据。实施例1的更新用数据是与SSD 53所存储的固件相同的数据或针对该固件的更新用数据。
更新用数据被存储在USB接口9所连接的USB存储器37内。因此,更新处理部77在从USB存储器37取得更新用数据时,挂载USB接口9所连接的USB存储器37。
[启动处理]
图3将图1的电子设备1中的通常的启动处理的序列与ROM 49、RAM 51和SSD 53一起示意性地示出。图4示出图3的启动处理的流程。
如图3和图4那样,通过接通电子设备1的电源来开始启动处理,首先在步骤S1中执行“引导启动”。即,系统控制部19将ROM 49内的引导程序在RAM 51上的引导区域内展开而进行引导。
引导启动后,在步骤S2中执行“外部设备的初始化和标示的显示”。即,系统控制部19的引导处理部61初始化外部设备。另外,在外部设备初始化后,引导处理部61从ROM 49读出标示数据并在RAM 51上的LCDC(Liquid Crystal Display Controller,液晶显示控制器)区域中展开,向操作面板部13上进行标示的显示。
显示标示后在步骤S3中执行“引导模式是通常模式么?”的判断。即,引导管理部65通过ROM 49内的引导模式标记判断引导模式是通常模式还是更新模式。
在通常的启动处理中,引导模式为通常模式,向步骤S4转移。在引导模式是更新模式的情况下,转到图5和图6的更新处理。
在步骤S4中,引导管理部65使引导处理部61继续执行通常的启动处理,执行“固件的读出”。即,引导处理部61从SSD 53读出固件,分别将读出的固件的第一内核在RAM 51上的OS区域中展开,将根文件系统数据在ROOTFS区域中展开,将应用数据在应用区域中展开。
接着,在步骤S5中,执行“读出固件了么?”的判断。即,引导管理部65判断在步骤S4中的固件的读出是否能够进行。在固件的读出能够进行的情况下,转到步骤S6从而继续进行通常的启动处理。另一方面,在固件的读出不能进行的情况下,在步骤S7中执行“将引导模式设定为修复模式”,ROM 49内的引导模式标记被设定为修复模式从而转到图7和8的修复处理。
在步骤S6中,执行“第一内核的启动”。即,引导处理部61启动在RAM 51上展开的第一内核。
第一内核启动后在步骤S8中执行“根文件系统的挂载”。即,系统控制部19的根文件系统挂载部67通过在RAM 51上展开的根文件系统数据挂载根文件系统,能够进行针对HDD 55或SSD 53的数据的读出或写入。
接着,在步骤S9中,执行“应用的启动”。即,系统控制部19的应用挂载部69通过在RAM 51上展开的应用数据挂载并启动应用。
应用启动后在步骤S10中执行“没有更新的请求么?”的判断。即,系统控制部19的更新判断部71判断有无固件的更新请求。在实施例1中,判断USB接口9上是否连接有储存了更新用数据的USB存储器37。
如果判断的结果是在USB接口9上没有连接USB存储器37、或即使连接了但USB存储器37内没有存储固件的更新用数据,则启动处理结束。
另一方面,在存储了更新用数据的USB存储器37与USB接口9连接的情况下,判断为存在固件的更新请求。
在该情况下,在步骤S11中执行“将引导模式变更为更新模式”。即,更新判断部71将ROM 49内的引导模式标记设定为更新模式。
就这样,当引导模式标记被变更时,在步骤S12中执行“重启”,电子设备1被重启。由此,上述启动处理(步骤S1和步骤S2)被再次开始,从步骤S3向更新处理转移。
[更新处理]
图5将图1的电子设备1中的固件的更新处理的序列与ROM 49、RAM 51和SSD 53一起示意性示出。图6示出了图5的更新处理的流程。
更新处理使电子设备1重启,与通常的启动处理同样地进行图4的步骤S1和S2的引导的启动、外部设备的初始化,以及标示的显示。
标示显示后,在图4的步骤S3中,系统控制部19的引导管理部65通过ROM 49内的引导模式标记判断为是更新模式,开始图6的流程。
即,更新处理首先在图6的步骤S21中执行“更新程序的读出”。即,引导管理部65使引导处理部61执行更新处理,引导处理部61从ROM 49读出更新程序。引导处理部61在RAM51上的操作系统(OS)区域中展开读出的更新程序。
接着,在步骤S22中,执行“第二内核的启动”。即,引导处理部61启动在RAM 51上展开的更新程序的第二内核。
第二内核启动后,在步骤S23中执行“SSD初始文件系统挂载”。即,系统控制部19的SSD初始文件系统挂载部73通过RAM 51上展开的更新程序所包括的初始文件系统数据挂载SSD 53的初始文件系统。从而,能够进行对SSD 53的存取。
接着,在步骤S24中,执行“SSD文件系统挂载”。即,系统控制部19的SSD文件系统挂载部75通过向SSD 53的存取来识别并挂载SSD 53的文件系统。从而,能够进行针对SSD 53的数据写入。
针对能够进行数据写入的SSD 53,在步骤S25中执行“更新用数据的写入”。即,系统控制部19的更新处理部77挂载与USB接口9连接的USB存储器37,从所挂载的USB存储器37读出更新用数据。
并且,更新处理部77将读出的更新用数据写入到SSD 53,并更新固件。USB存储器37是作为更新的请求与USB接口9连接的。
就这样当固件的更新结束时,在步骤S26中执行“将引导模式变更为通常模式”。即,引导模式设定部63将ROM 49内的引导模式标记变更为通常模式。
其后,在步骤S27中执行“重启”,电子设备1重启。
[修复处理]
图7将图1的电子设备1中的固件的修复处理的序列与ROM 49、RAM 51和SSD 53一起示意性地示出。图8示出了图7的修复处理的流程。
修复处理在SSD 53所存储的固件损坏或在SSD 53中没有存储固件的情况下,在不以通常的启动处理从SSD 53读出固件时进行。
从而,修复处理通过接通电子设备1的电源开始,与通常的启动处理同样地进行引导的启动、如图4的步骤S1~S3那样进行外部设备的初始化、标示的显示、引导模式的判断。在修复处理时,引导模式为通常模式,引导管理部65使引导处理部61继续执行通常的启动处理,转到图4的步骤S4。
在步骤S4中,虽然引导处理部61作为通常的启动处理开始来自SSD 53的固件的读出,但是不能从SSD 53读出固件。
因此,在图4的步骤S5中,判断为固件不能读出,在图4的步骤S7中,引导模式标记被设定为修复模式,开始图8的流程。
图8的修复处理的流程与更新处理的图6的流程基本相同。即,图8的步骤S31~S34和步骤S37~S39分别与图6的步骤S21~S24和步骤S25~S27相对应。
从而,修复处理在图8的步骤S31~S34中执行更新程序的读出、第二内核的启动、SSD 53的初始文件系统的挂载、SSD 53的文件系统的挂载。
SSD 53的文件系统的挂载后在步骤S35中执行“受理USB存储器的连接”。即,系统控制部19的更新处理部77在操作面板部13上进行显示,敦促维修人员等连接存储固件的更新用数据的USB存储器37。由此,受理USB存储器37的连接。
其后,在步骤S36中执行“USB存储器被连接了么?”的判断。即,更新处理部77判断存储更新用数据的USB存储器37是否与USB接口9连接。
在USB存储器37被连接的情况下,在步骤S37中,更新处理部77从USB存储器37读出更新用数据并将其写入到能够进行数据的写入的SSD 53。如此,执行由固件的更新或新存储进行的修复。
另一方面,只要USB存储器37未被连接就重复步骤S36的判断。
如此,当固件的修复结束时,在步骤S38中将引导模式设定为通常模式,在步骤S39中重启电子设备1。
在更新处理中,虽然省略了修复处理的步骤S35和S36,但也可以通过与修复处理相同算法的图8的流程来执行。在该情况下,虽然在更新处理中进行步骤S35和S36,但是USB存储器37已经与USB接口9连接,因此实际上省略了这些步骤。
[实施例1的效果]
如以上说明的那样,实施例1的电子设备1包括:SSD 53,所述SSD 53能够存储包括第一内核的固件;ROM 49,所述ROM 49存储包括第二内核的更新程序;系统控制部19,所述系统控制部19通过引导处理读出固件或更新程序从而启动第一或第二内核,并能够通过启动了的第一或第二内核进行向SSD 53的数据写入。
系统控制部19在不能读出固件的情况下读出更新程序从而进行启动第二内核的引导处理,并通过启动了的第二内核向能够进行数据写入的SSD 53写入针对固件的更新用数据。
从而,在实施例1中,即使在电子设备1启动时不能读出固件的情况下,也能够通过更新程序所包括的第二内核,在能够向SSD 53进行数据写入之前进行电子设备1的启动以及向SSD 53写入固件的更新用数据。因此,能够修复电子设备1启动时不能读出的固件。
这样,在实施例1中,在启动时SSD 53的固件能够修复,因此能够将固件存储到SSD53中从而实现启动时间的缩短。
另外,在实施例1中,能够通过与固件的修复处理相同的算法进行更新。在该情况下,只要具备电子设备1所需的固件的更新处理功能,就能够具备固件的修复处理功能。
实施例1的电子设备1包括用于连接存储更新用数据的USB存储器37的USB接口9,系统控制部19从与USB接口9连接的USB存储器37取得更新用数据并写入到SSD 53中。
从而,在实施例1中,利用USB存储器37能够容易且可靠的进行固件的修复。
更新程序包括SSD 53的初始文件系统数据,系统控制部19通过启动了的第二内核通过所读出的更新程序的初始文件系统数据挂载SSD 53的初始文件系统,通过初始文件系统向SSD 53进行存取从而识别SSD 53的文件系统,能够挂载识别了的SSD 53的文件系统并进行向SSD 53的数据写入。
从而,在实施例1中,通过启动了的第二内核,能够可靠地实现向SSD 53的数据写入。
(实施例2)
图9示出本发明的实施例2所涉及的电子设备的简要构成。图10是示出图9的系统控制部的细节的框图。实施例2与实施例1基本构成相同,在对应的构成部分标注相同符号而省略重复的说明。即,图9和图10分别与实施例1的图1和图2为对应关系,在与图1和图2对应的构成部分标注相同符号。
实施例2的电子设备1在修复处理中读出外部服务器79所存储的更新用数据并写入到SSD 53中。
因此,系统控制部19通过第二内核的启动也作为网络文件系统挂载部81发挥功能。
网络文件系统挂载部81实现网络文件系统挂载功能,从ROM 49取得向外部服务器79的存取信息并进行NFS(Network File System,网络文件系统)挂载。
由此,更新处理部77能够通过网络43从外部服务器79读出更新用数据。
图11将图9的子设备1中的固件的修复处理的序列与ROM 49、RAM 51、SSD 53和外部服务器79一起示意性地示出。图12示出了图11的修复处理的流程。
实施例2的修复处理与实施例1同样,通过图4的步骤S1~S5和S7开始外部设备的初始化、标示的显示、引导模式的判断、固件的读出,引导模式标记被设定为修复模式,开始图12的流程。
图12的修复处理的流程与图8的流程基本相同,步骤S41~S44和S46~S48与图8的步骤S31~S34和S37~S39对应。
从而,修复处理与实施例1的修复处理同样,在图12的步骤S41~S44中读出更新程序,启动第二内核,挂载SSD 53的初始文件系统,并挂载SSD 53的文件系统。
接着,在步骤S45中,执行“NFS挂载外部服务器”。即,系统控制部19的网络文件系统挂载部81从ROM 49取得向外部服务器79的存取信息并NFS挂载外部服务器79,能够进行来自外部服务器79的更新用数据的读出。
接着,在步骤S46中,执行“更新用数据的写入”,更新处理部77从外部服务器79下载更新用数据并将其写入SSD 53。
就这样,当执行由固件的更新或新存储进行的修复时,在步骤S47中执行“将引导模式设定为通常模式”,引导模式设定部63将ROM 49内的引导模式标记设定为通常模式。
其后,在步骤S48中执行“重启”,电子设备1被重启。
这样在实施例2中,能够从外部服务器79自动地下载更新用数据并修复SSD 53内的固件,不需要由维修人员等进行的修复应对工作,从而能够实现维修成本的削减。
Claims (4)
1.一种电子设备,包括:
第一非易失性存储器,所述第一非易失性存储器具有能够存储包括第一内核和所述第一非易失性存储器的初始文件系统数据的固件的区域;
第二非易失性存储器,所述第二非易失性存储器具有存储包括第二内核的更新程序的区域;
易失性存储器;以及
控制部,所述控制部能够通过引导处理读出所述固件或所述更新程序并展开在所述易失性存储器从而启动所述第一内核或所述第二内核,通过启动了的所述第一内核或所述第二内核进行向所述第一非易失性存储器的数据写入,
所述控制部在不能读出所述固件的情况下,(i)进行读出所述更新程序从而启动所述第二内核的所述引导处理,(ii)能够通过启动了的所述第二内核通过被读出的所述更新程序的所述初始文件系统数据挂载所述第一非易失性存储器的初始文件系统并向所述第一非易失性存储器的初始文件系统进行存取,(iii)通过所述初始文件系统向所述第一非易失性存储器进行存取从而识别所述第一非易失性存储器的文件系统,(iv)挂载识别了的所述第一非易失性存储器的文件系统从而进行向所述第一非易失性存储器的所述数据写入,(v)从外部存储介质或外部服务器读出针对所述固件的更新用数据,(vi)通过启动了的所述第二内核将读出的所述更新用数据写入到能够进行数据写入的所述第一非易失性存储器。
2.如权利要求1所述的电子设备,包括:
外部接口,所述外部接口连接存储所述更新用数据的所述外部存储介质,
所述控制部从与所述外部接口连接的所述外部存储介质取得所述更新用数据从而写入到所述第一非易失性存储器。
3.如权利要求1所述的电子设备,包括:
网络接口,所述网络接口经由网络与存储所述更新用数据的所述外部服务器连接,
所述控制部从所述网络接口所连接的所述外部服务器取得所述更新程序从而写入到所述第一非易失性存储器。
4.一种固件修复方法,所述固件修复方法由对电子设备进行控制的控制部执行,所述电子设备包括:第一非易失性存储器,所述第一非易失性存储器能够存储包括第一内核和所述第一非易失性存储器的初始文件系统数据的固件;以及第二非易失性存储器,所述第二非易失性存储器存储包括第二内核的更新程序;以及易失性存储器,所述固件修复方法包括:
引导处理步骤,读出所述固件或所述更新程序并展开在所述易失性存储器从而启动所述第一内核或所述第二内核;
挂载步骤,能够通过启动了的所述第一内核或所述第二内核进行向所述第一非易失性存储器的数据写入;
引导管理步骤,在不能读出所述固件的情况下,在所述引导处理步骤中读出所述更新程序从而使所述第二内核启动;
能够存取处理步骤,能够通过启动了的所述第二内核通过被读出的所述更新程序的所述初始文件系统数据挂载所述第一非易失性存储器的初始文件系统并向所述第一非易失性存储器的初始文件系统进行存取;
识别处理步骤,通过所述初始文件系统向所述第一非易失性存储器进行存取从而识别所述第一非易失性存储器的文件系统;
能够写入处理步骤,挂载识别了的所述第一非易失性存储器的文件系统从而进行向所述第一非易失性存储器的所述数据写入;
更新数据取得步骤,从外部存储介质或外部服务器取得针对所述固件的更新用数据;
更新处理步骤,通过启动了的所述第二内核将读出的所述更新用数据写入到能够进行数据写入的所述第一非易失性存储器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014-265435 | 2014-12-26 | ||
JP2014265435A JP6073854B2 (ja) | 2014-12-26 | 2014-12-26 | 電子機器及びファームウェア復旧プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105740094A CN105740094A (zh) | 2016-07-06 |
CN105740094B true CN105740094B (zh) | 2019-02-05 |
Family
ID=54843685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511001365.7A Expired - Fee Related CN105740094B (zh) | 2014-12-26 | 2015-12-28 | 电子设备和固件修复方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9760461B2 (zh) |
EP (1) | EP3037968B1 (zh) |
JP (1) | JP6073854B2 (zh) |
CN (1) | CN105740094B (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8671265B2 (en) | 2010-03-05 | 2014-03-11 | Solidfire, Inc. | Distributed data storage system providing de-duplication of data using block identifiers |
US9054992B2 (en) | 2011-12-27 | 2015-06-09 | Solidfire, Inc. | Quality of service policy sets |
US9838269B2 (en) | 2011-12-27 | 2017-12-05 | Netapp, Inc. | Proportional quality of service based on client usage and system metrics |
US20150244795A1 (en) | 2014-02-21 | 2015-08-27 | Solidfire, Inc. | Data syncing in a distributed system |
JP6147240B2 (ja) * | 2014-12-05 | 2017-06-14 | キヤノン株式会社 | 情報処理装置、該装置の制御方法、並びにプログラム |
US10929022B2 (en) | 2016-04-25 | 2021-02-23 | Netapp. Inc. | Space savings reporting for storage system supporting snapshot and clones |
JP2017199246A (ja) * | 2016-04-28 | 2017-11-02 | 京セラドキュメントソリューションズ株式会社 | 電子機器 |
US10642763B2 (en) | 2016-09-20 | 2020-05-05 | Netapp, Inc. | Quality of service policy sets |
US10552171B2 (en) | 2016-11-16 | 2020-02-04 | International Business Machines Corporation | Efficient booting system |
CN107066343A (zh) * | 2017-01-24 | 2017-08-18 | 广东欧珀移动通信有限公司 | 移动终端中分区表的修复方法、装置及移动终端 |
TWI640872B (zh) * | 2017-07-07 | 2018-11-11 | 群聯電子股份有限公司 | 記憶體控制電路單元、記憶體儲存裝置及其控制方法 |
CN107748687B (zh) * | 2017-10-10 | 2019-12-31 | 晶晨半导体(上海)股份有限公司 | 一种对智能设备开机显示画面进行控制的方法及智能设备 |
CN109828794B (zh) | 2017-11-23 | 2021-09-17 | 建兴储存科技(广州)有限公司 | 固态储存装置及其相关程序的载入方法 |
CN110045971B (zh) * | 2018-01-16 | 2023-03-24 | 浙江宇视科技有限公司 | 系统升级恢复方法及装置 |
JP6959153B2 (ja) * | 2018-01-19 | 2021-11-02 | 株式会社Pfu | 情報処理装置、情報処理方法、及びプログラム |
KR102516583B1 (ko) * | 2018-03-19 | 2023-04-03 | 삼성전자 주식회사 | 전자 장치 및 전자 장치의 업데이트 제어 방법 |
WO2019207729A1 (ja) * | 2018-04-26 | 2019-10-31 | 三菱電機株式会社 | 産業用コンピュータ、産業用コンピュータシステム、オペレーティングシステム更新方法及びプログラム |
US11100228B2 (en) * | 2018-10-25 | 2021-08-24 | Dell Products, L.P. | System and method to recover FPGA firmware over a sideband interface |
CN109445821A (zh) * | 2018-11-01 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种批量刷新双模ssd开放通道模式固件的方法及系统 |
TWI712045B (zh) * | 2020-01-16 | 2020-12-01 | 慧榮科技股份有限公司 | 資料儲存裝置修復方法 |
US20230087221A1 (en) * | 2020-01-27 | 2023-03-23 | Hewlett-Packard Development Company, L.P. | Detection fields of view |
KR20210101690A (ko) * | 2020-02-10 | 2021-08-19 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 초기화 방법 |
KR20210128628A (ko) * | 2020-04-17 | 2021-10-27 | 에스케이하이닉스 주식회사 | 전자 장치와, 이를 위한 데이터 저장 장치 및 동작 방법 |
CN113934471A (zh) * | 2021-10-26 | 2022-01-14 | 讯牧信息科技(上海)有限公司 | 计算机系统的基板管理控制器和启动方法 |
CN114035833A (zh) * | 2022-01-10 | 2022-02-11 | 深圳市安信达存储技术有限公司 | ssd的固件在线烧录方法、装置、计算机设备及存储介质 |
US20230229305A1 (en) * | 2022-01-19 | 2023-07-20 | Vmware, Inc. | Common volume representation in a virtualized computing system |
KR20230139262A (ko) * | 2022-03-25 | 2023-10-05 | 삼성전자주식회사 | 시스템 부팅을 위한 컨트롤러를 포함하는 전자 장치 및 그의 동작 방법 |
TWI817502B (zh) * | 2022-05-13 | 2023-10-01 | 宇瞻科技股份有限公司 | 固態硬碟系統 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1675628A (zh) * | 2002-08-19 | 2005-09-28 | 讯宝科技公司 | 自动化固件维护系统及方法 |
JP2012174061A (ja) * | 2011-02-22 | 2012-09-10 | Canon Electronics Inc | 情報処理装置、情報処理方法、スキャナ装置、スキャナ装置の制御方法 |
JP2013182316A (ja) * | 2012-02-29 | 2013-09-12 | Kyocera Document Solutions Inc | 画像形成装置 |
CN103578566A (zh) * | 2012-07-23 | 2014-02-12 | 群联电子股份有限公司 | 存储器存储装置及其修复方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128734A (en) * | 1997-01-17 | 2000-10-03 | Advanced Micro Devices, Inc. | Installing operating systems changes on a computer system |
US20020147941A1 (en) * | 2001-04-05 | 2002-10-10 | Robert Gentile | Network based BIOS recovery method |
JP2003122575A (ja) | 2001-10-11 | 2003-04-25 | Nec Miyagi Ltd | 情報処理装置 |
US20070050675A1 (en) * | 2005-08-29 | 2007-03-01 | Moxa Technologies Co., Ltd. | [method for restoring a booted system] |
JP5113700B2 (ja) * | 2008-09-24 | 2013-01-09 | 株式会社日立ソリューションズ | ファームウェア更新装置及び方法 |
TWI467375B (zh) * | 2009-05-21 | 2015-01-01 | Asustek Comp Inc | 具有修復毀損bios資料功能之電腦系統及其修復方法 |
US20120011393A1 (en) * | 2010-07-06 | 2012-01-12 | Roberts Richard B | Bios recovery |
US8732527B2 (en) * | 2011-08-16 | 2014-05-20 | Google Inc. | Secure recovery apparatus and method |
JP5860381B2 (ja) * | 2012-10-31 | 2016-02-16 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置および情報処理装置用プログラム |
KR20140099757A (ko) * | 2013-02-04 | 2014-08-13 | 삼성전자주식회사 | 전자장치 및 전자장치의 펌웨어 업그레이드 방법 |
-
2014
- 2014-12-26 JP JP2014265435A patent/JP6073854B2/ja active Active
-
2015
- 2015-12-07 EP EP15198216.2A patent/EP3037968B1/en not_active Not-in-force
- 2015-12-28 CN CN201511001365.7A patent/CN105740094B/zh not_active Expired - Fee Related
- 2015-12-28 US US14/979,540 patent/US9760461B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1675628A (zh) * | 2002-08-19 | 2005-09-28 | 讯宝科技公司 | 自动化固件维护系统及方法 |
JP2012174061A (ja) * | 2011-02-22 | 2012-09-10 | Canon Electronics Inc | 情報処理装置、情報処理方法、スキャナ装置、スキャナ装置の制御方法 |
JP2013182316A (ja) * | 2012-02-29 | 2013-09-12 | Kyocera Document Solutions Inc | 画像形成装置 |
CN103578566A (zh) * | 2012-07-23 | 2014-02-12 | 群联电子股份有限公司 | 存储器存储装置及其修复方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3037968B1 (en) | 2019-01-30 |
EP3037968A1 (en) | 2016-06-29 |
US20160188430A1 (en) | 2016-06-30 |
JP2016126443A (ja) | 2016-07-11 |
CN105740094A (zh) | 2016-07-06 |
US9760461B2 (en) | 2017-09-12 |
JP6073854B2 (ja) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105740094B (zh) | 电子设备和固件修复方法 | |
CN104679503B (zh) | 电子设备、以及电子设备的启动方法 | |
CN102629206B (zh) | 一种嵌入式系统软件升级方法及系统 | |
CN103279400B (zh) | 信息处理装置及信息处理装置的控制方法 | |
US8112617B2 (en) | Information processing device, and method of starting information processing device | |
CN110007740A (zh) | 图像处理设备及其控制方法、非暂时性存储介质 | |
CN102402442B (zh) | 信息处理装置、启动控制方法 | |
CN104219409B (zh) | 具有休眠功能的图像形成装置及其控制方法 | |
CN106293824A (zh) | 一种从处理芯片升级的方法及装置 | |
CN104375852B (zh) | 一种加快嵌入式产品开机界面显示的方法 | |
CN107870769A (zh) | 操作系统的安装方法及装置 | |
CN107040683A (zh) | 图像形成装置以及方法 | |
CN103246583A (zh) | 具有bmc固件修复功能的电子装置及修复方法 | |
CN101145121B (zh) | 计算机测试方法 | |
CN102843485A (zh) | 图像形成装置及用于图像形成装置的启动控制方法 | |
JP6404708B2 (ja) | 情報処理装置、bios設定情報変更方法、並びにコンピュータ・プログラム | |
TWI591479B (zh) | 用於初始化電子裝置的埠之設備和方法 | |
CN104427178B (zh) | 能够防止数据泄露的图像形成装置及其控制方法 | |
CN101330695A (zh) | 一种移动终端及其系统升级的方法和装置 | |
US8775768B2 (en) | Information processing apparatus and method of controlling the same | |
CN106878486A (zh) | 一种防止板载网卡mac地址被修改的方法及系统 | |
CN105677429A (zh) | 程序烧写方法、处理器和电子电路 | |
CN104298516B (zh) | 电子设备以及挂起控制方法 | |
CN109656603A (zh) | 系统升级方法、装置、存储介质及电子设备 | |
CN105740015A (zh) | 一种hmd设备的固件升级方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190205 Termination date: 20211228 |
|
CF01 | Termination of patent right due to non-payment of annual fee |