JPWO2014109100A1 - Information processing apparatus, information processing method, and program - Google Patents
Information processing apparatus, information processing method, and program Download PDFInfo
- Publication number
- JPWO2014109100A1 JPWO2014109100A1 JP2014556322A JP2014556322A JPWO2014109100A1 JP WO2014109100 A1 JPWO2014109100 A1 JP WO2014109100A1 JP 2014556322 A JP2014556322 A JP 2014556322A JP 2014556322 A JP2014556322 A JP 2014556322A JP WO2014109100 A1 JPWO2014109100 A1 JP WO2014109100A1
- Authority
- JP
- Japan
- Prior art keywords
- program
- copy
- unit
- activation
- determined
- 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/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/16—Error detection or correction of the data by redundancy in hardware
-
- 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/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- 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
Abstract
第1プログラム、第2プログラム及び第3プログラムの何れかを選択して、選択されたプログラムを用いて起動処理を行うCPU(110)と、第2プログラム及び第3プログラムが、それぞれ正しいか否かを判定するプログラム判定部(111)と、第2プログラム及び第3プログラムの内、正しいと判定されたプログラムをコピー元プログラムとして決定し、正しいと判定されなかったプログラムをコピー先プログラムとして決定するコピー決定部(112)と、コピー元プログラムで、コピー先プログラムを更新するコピー処理部(113)と、コピー元プログラムを示すコピー元情報を記憶する起動記憶部(131)と、第1プログラムを用いて起動処理を行うことができない場合に、コピー元情報を参照して、コピー元プログラムを選択して起動処理を行うようにCPU(110)に指示する起動制御部(130)とを備える。Whether the first program, the second program, and the third program are selected, and the CPU (110) that performs the startup process using the selected program, and whether the second program and the third program are correct, respectively. A program determination unit (111) for determining whether the program is determined to be correct among the second program and the third program as a copy source program, and a program that is determined not to be correct is determined as a copy destination program A determination unit (112), a copy processing unit (113) that updates a copy destination program with a copy source program, an activation storage unit (131) that stores copy source information indicating the copy source program, and a first program are used. If the startup process cannot be performed by referring to the copy source information, the copy source program It includes activation control unit for instructing the CPU (110) to perform the activation process selected and the (130).
Description
本発明は、情報処理装置、情報処理方法及びプログラムに関する。 The present invention relates to an information processing apparatus, an information processing method, and a program.
近年、不揮発性メモリであるNAND型フラッシュメモリが広く普及している。NAND型フラッシュメモリは、NOR型フラッシュメモリに比べて大容量化が進んでおり、ビット単価が安いといったメリットがある。一方で、NAND型フラッシュメモリには、データの書き込み回数に上限があること、データ保持期間が有限であること、及び、データの読み出し回数が有限であること、というデメリットがある。このため、データ読み出し時にビットエラーが発生し、正しいデータが読み出せない可能性がある。従って、NAND型フラッシュメモリに、システムを起動するためのプログラムを記憶させた場合には、ビットエラーによりシステムが起動できない状況、又は、起動した後にシステムがハングアップしてしまう状況が発生し得る。 In recent years, NAND flash memories, which are nonvolatile memories, have become widespread. The NAND flash memory has an advantage that the capacity is increased as compared with the NOR flash memory, and the bit unit price is low. On the other hand, the NAND flash memory has demerits that there is an upper limit in the number of data writes, a limited data retention period, and a limited number of data reads. Therefore, there is a possibility that a bit error occurs when reading data and correct data cannot be read. Therefore, when a program for starting the system is stored in the NAND flash memory, a situation where the system cannot be started due to a bit error or a situation where the system hangs up after starting may occur.
これに対し、特許文献1には、システム用の不揮発性メモリから第1のブートプログラムを読み出し、当該第1のブートプログラムに対して誤り検出を行い、読み出した第1のブートプログラムが不正に変化していると判定した場合に、バックアップ用の不揮発性メモリから第2のブートプログラムを読み出す制御装置が記載されている。この制御装置は、読み出された第2のブートプログラムに対して誤り検出を行い、この第2のブートプログラムが不正に変化していると判定したとき、エラーを出力する。一方、この制御装置は、ブートプログラムに対する誤り検出の結果、ブートプログラムが不正に変化していないと判定すると、そのブートプログラムを用いてブート処理を行う。 On the other hand, in Patent Document 1, the first boot program is read from the nonvolatile memory for the system, error detection is performed on the first boot program, and the read first boot program is illegally changed. A control device is described that reads the second boot program from the non-volatile memory for backup when it is determined that it is. The control device performs error detection on the read second boot program, and outputs an error when it is determined that the second boot program is illegally changed. On the other hand, when it is determined that the boot program has not been illegally changed as a result of error detection for the boot program, the control device performs a boot process using the boot program.
また、特許文献2には、不揮発性メモリに記憶されたデータの書き換えを行う際に、当該データの書き換えに先立って、書き換え対象となるデータの複製を、バックアップデータとして保存する情報処理装置が記載されている。この情報処理装置は、書き換え実施状況を示すフラグを用いることで、書き換えが行われたデータが正常に処理されたものか否かを判断し、正当性を確認してから動作する。 Patent Document 2 describes an information processing apparatus that, when rewriting data stored in a non-volatile memory, stores a copy of data to be rewritten as backup data prior to rewriting the data. Has been. The information processing apparatus operates after determining whether or not the rewritten data has been normally processed by using a flag indicating the rewrite execution status, and confirming the validity.
特許文献1に記載された制御装置では、ブート処理が所定の回数行われると第2のブートプログラムで第1のブートプログラムが上書きされる。しかし、第2のブートプログラムで第1のブートプログラムを書き換えているときに、電源断が発生した場合に、第1のブートプログラムが正常に上書きされないため、システムが起動しなくなってしまう問題がある。 In the control device described in Patent Document 1, when the boot process is performed a predetermined number of times, the first boot program is overwritten with the second boot program. However, when the first boot program is rewritten with the second boot program, if the power is cut off, the first boot program is not overwritten normally, and thus the system does not start. .
また、特許文献2に記載された情報処理装置では、データの書き換え中に電源断が発生しても、データを復旧することが可能である。しかしながら、データの書き換え対象がブートプログラムである場合、データ書き換え中に電源断が発生すると、データが不完全のため、システムが起動しないという問題がある。 In addition, the information processing apparatus described in Patent Document 2 can recover data even if a power interruption occurs during data rewriting. However, when the data rewrite target is a boot program, there is a problem that if the power is cut off during the data rewrite, the system is not started because the data is incomplete.
そこで、本発明は、起動用のプログラムに誤りが検出された場合に、信頼性の高い起動用のプログラムで再起動を行うことができるようにすることを目的とする。 In view of the above, an object of the present invention is to enable restart with a highly reliable start program when an error is detected in the start program.
本発明の一態様に係る情報処理装置は、起動用のアプリケーションプログラムとしての、第1プログラム、第2プログラム及び第3プログラムを記憶する記憶部と、前記記憶部に記憶されている第1プログラム、第2プログラム及び第3プログラムの何れかを選択して、当該選択されたプログラムを用いて起動処理を行う処理実行部と、前記記憶部に記憶されている第2プログラム及び第3プログラムが、それぞれ正しいか否かを判定するプログラム判定部と、前記記憶部に記憶されている第2プログラム及び第3プログラムの内、前記プログラム判定部で正しいと判定されたプログラムをコピー元プログラムとして決定し、前記プログラム判定部で正しいと判定されなかったプログラムをコピー先プログラムとして決定するコピー決定部と、前記記憶部において、前記コピー決定部で決定されたコピー元プログラムで、前記コピー決定部で決定されたコピー先プログラムを更新するコピー処理部と、前記コピー決定部で決定されたコピー元プログラムを示すコピー元情報を記憶する起動記憶部と、前記処理実行部が前記記憶部に記憶されている第1プログラムを用いて起動処理を行うことができない場合に、前記起動記憶部に記憶されているコピー元情報を参照して、前記コピー決定部で決定されたコピー元プログラムを選択して起動処理を行うように前記処理実行部に指示する起動制御部とを備え、前記処理実行部は、前記起動制御部からの指示に従って、前記記憶部に記憶されている第2プログラム又は第3プログラムを選択して、当該選択されたプログラムを用いて起動処理を行うことを特徴とする。 An information processing apparatus according to an aspect of the present invention includes a storage unit that stores a first program, a second program, and a third program as a startup application program, and a first program stored in the storage unit, A process execution unit that selects one of the second program and the third program and performs a start-up process using the selected program, and the second program and the third program stored in the storage unit are respectively A program determination unit for determining whether the program is correct, and a program determined to be correct by the program determination unit among the second program and the third program stored in the storage unit is determined as a copy source program, A copy determination unit that determines a program that is not determined to be correct by the program determination unit as a copy destination program; In the storage unit, a copy processing unit that updates a copy destination program determined by the copy determination unit with a copy source program determined by the copy determination unit, and a copy source program determined by the copy determination unit A startup storage unit that stores copy source information, and a copy stored in the startup storage unit when the process execution unit cannot perform startup processing using the first program stored in the storage unit An activation control unit that refers to the original information and selects the copy source program determined by the copy determination unit to instruct the process execution unit to perform an activation process, and the process execution unit includes the activation In accordance with an instruction from the control unit, the second program or the third program stored in the storage unit is selected, and an activation process is performed using the selected program. And performing.
本発明の一態様に係る情報処理方法は、起動用のアプリケーションプログラムとしての、第1プログラム、第2プログラム及び第3プログラムの何れかを選択して、当該選択されたプログラムを用いて起動処理を行う処理実行過程と、前記第2プログラム及び前記第3プログラムが、それぞれ正しいか否かを判定するプログラム判定過程と、前記第2プログラム及び前記第3プログラムの内、前記プログラム判定過程で正しいと判定されたプログラムをコピー元プログラムとして決定し、前記プログラム判定過程で正しいと判定されなかったプログラムをコピー先プログラムとして決定するコピー決定過程と、前記コピー決定過程で決定されたコピー元プログラムで、前記コピー決定過程で決定されたコピー先プログラムを更新するコピー処理過程と、前記コピー決定過程で決定されたコピー元プログラムを示すコピー元情報を記憶する起動記憶過程と、前記処理実行過程が前記第1プログラムを用いて起動処理を行うことができない場合に、前記起動記憶過程で記憶されたコピー元情報を参照して、前記コピー決定過程で決定されたコピー元プログラムを選択して起動処理を行うように前記処理実行過程に指示する起動制御過程とを有し、前記処理実行過程は、前記起動制御過程からの指示に従って、前記第2プログラム又は前記第3プログラムを選択して、当該選択されたプログラムを用いて起動処理を行うことを特徴とする。 An information processing method according to an aspect of the present invention selects any one of a first program, a second program, and a third program as an activation application program, and performs activation processing using the selected program. A process execution process to be performed; a program determination process for determining whether or not each of the second program and the third program is correct; and it is determined that the second program and the third program are correct in the program determination process A copy determination process for determining a copied program as a copy source program, a copy determination process for determining a program that has not been determined correct in the program determination process as a copy destination program, and a copy source program determined in the copy determination process. Copy process that updates the copy destination program determined in the determination process A process, a startup storage process for storing copy source information indicating a copy source program determined in the copy determination process, and the process execution process cannot perform a startup process using the first program, A startup control process for referring to the copy source information stored in the startup storage process and instructing the process execution process to select the copy source program determined in the copy determination process and perform the startup process. The process execution process selects the second program or the third program in accordance with an instruction from the activation control process, and performs an activation process using the selected program.
本発明の一態様に係るプログラムは、コンピュータを、起動用のアプリケーションプログラムとしての、第1プログラム、第2プログラム及び第3プログラムを記憶する記憶手段、前記記憶手段に記憶されている第1プログラム、第2プログラム及び第3プログラムの何れかを選択して、当該選択されたプログラムを用いて起動処理を行う処理実行手段、前記記憶手段に記憶されている第2プログラム及び第3プログラムが、それぞれ正しいか否かを判定するプログラム判定手段、前記記憶手段に記憶されている第2プログラム及び第3プログラムの内、前記プログラム判定手段で正しいと判定されたプログラムをコピー元プログラムとして決定し、前記プログラム判定手段で正しいと判定されなかったプログラムをコピー先プログラムとして決定するコピー決定手段と、前記記憶手段において、前記コピー決定手段で決定されたコピー元プログラムで、前記コピー決定手段で決定されたコピー先プログラムを更新するコピー処理手段、前記コピー決定手段で決定されたコピー元プログラムを示すコピー元情報を記憶する起動記憶手段、前記処理実行手段が前記記憶手段に記憶されている第1プログラムを用いて起動処理を行うことができない場合に、前記起動記憶手段に記憶されているコピー元情報を参照して、前記コピー決定手段で決定されたコピー元プログラムを選択して起動処理を行うように前記処理実行手段に指示する起動制御手段として機能させ、前記処理実行手段は、前記起動制御手段からの指示に従って、前記記憶手段に記憶されている第2プログラム又は第3プログラムを選択して、当該選択されたプログラムを用いて起動処理を行うことを特徴とする。 A program according to an aspect of the present invention includes a first program, a second program, and a third program stored as an application program for starting a computer, a first program stored in the storage unit, The process execution means for selecting either the second program or the third program and performing the startup process using the selected program, and the second program and the third program stored in the storage means are correct. Program determining means for determining whether the program is determined to be correct among the second program and the third program stored in the storage means as the copy source program, and determining the program The program that is not judged correct by the means is the copy destination program. A copy determining means for determining, a copy processing means for updating the copy destination program determined by the copy determining means with the copy source program determined by the copy determining means in the storage means, determined by the copy determining means; An activation storage means for storing copy source information indicating the copy source program, and the activation storage means when the process execution means cannot perform an activation process using the first program stored in the storage means. Referring to the stored copy source information, select the copy source program determined by the copy determination unit and function as an activation control unit that instructs the process execution unit to perform an activation process, and execute the process In accordance with an instruction from the activation control means, the means stores the second program or the third program stored in the storage means. Select grams, and performing the activation process by using the selected program.
本発明の一態様によれば、起動用のプログラムに誤りが検出された場合に、信頼性の高い起動用のプログラムで再起動を行うことができる。 According to one embodiment of the present invention, when an error is detected in a startup program, the startup can be performed with a highly reliable startup program.
実施の形態1.
図1は、実施の形態1に係る情報処理装置100の構成を概略的に示すブロック図である。図1において、情報処理装置100は、CPU(Central Processing Unit)110と、第1ROM(Read Only Memory)120と、第2ROM121と、RAM(Ramdom Access Memory)122と、起動制御部130と、起動記憶部131と、タイマー132とを備える。なお、CPU110、第1ROM120、第2ROM121及びRAM122は、バス140で接続されている。Embodiment 1 FIG.
FIG. 1 is a block diagram schematically showing the configuration of the
CPU110は、情報処理装置100での情報処理を行う処理実行部である。CPU110は、第1ROM120又は第2ROM121に記憶されているプログラムをRAM122に読み出し、各種処理を行う。例えば、CPU110は、第2ROM121に記憶されている、起動用のアプリケーションプログラムとしての、第1プログラム、第2プログラム及び第3プログラムの何れかを選択して、選択されたプログラムを用いて起動処理を行う。CPU110は、プログラム判定部111と、コピー決定部112と、コピー処理部113とを備える。
The
プログラム判定部111は、第2ROM121に記憶されている複数のプログラムについて、内容が正しいかどうか判定する。
コピー決定部112は、プログラム判定部111での判定結果に従って、第2ROM121に記憶されている複数のプログラムについて、コピー元プログラム及びコピー先プログラムを決定する。例えば、コピー決定部は、第2ROM121に記憶されている第2プログラム及び第3プログラムの内、プログラム判定部111で正しいと判定されたプログラムをコピー元プログラムとして決定し、プログラム判定部111で正しいと判定されなかったプログラムをコピー先プログラムとして決定する。
コピー処理部113は、コピー決定部112での決定に基づいて、第2ROM121に記憶されている複数のプログラムのコピー処理を行う。例えば、コピー処理部113は、コピー決定部112で決定されたコピー元プログラムで、コピー決定部112で決定されたコピー先プログラムを更新する。The
The
The
第1ROM120は、CPU110のリセット解除後に実行される起動プログラムを記憶する記憶部としての不揮発性メモリである。ここで、第1ROM120は、CPU110が起動するための最小限のプログラムを搭載する。そして、第1ROM120は、搭載するプログラムのサイズも大きくないことから、NOR型フラッシュ等の読み出し回数の制限がなく、信頼性の高いデバイスを使用することができる。
The
第2ROM121は、起動プログラムの実行によって読み出されて実行されるアプリケーションプログラムを記憶する記憶部としての不揮発性メモリである。ここで、第2ROM121に記憶されているプログラム構成について説明する。第2ROM121には、3種類のプログラムとそれぞれに対応した誤り検出用データが記憶される。
図2は、第2ROM121に記憶されているプログラムを示す概念図である。符号160は、第1プログラムである。符号161は、第1プログラム160の誤り検出用データである。誤り検出用データは、具体的には、チェックサム、又は、CRC(Cyclic Redundancy Check;巡回冗長検査)等である。符号162は、第2プログラムである。符号163は、第2プログラム162の誤り検出用データである。符号164は、第3プログラムである。符号165は、第3プログラム164の誤り検出用データである。なお、第1プログラム160、第2プログラム162及び第3プログラム164は、同じ内容でも良い。また、第2プログラム162及び第3プログラム164は、バージョンは同じで、第1プログラムのみバージョンが新しいという構成でも良い。
なお、この第2ROM121は、大規模なプログラムを記録するために、NAND型フラッシュメモリで構成されてもよい。The
FIG. 2 is a conceptual diagram showing a program stored in the
The
RAM122は、起動プログラム及びアプリケーションプログラムを、CPU110が実行するために使用される読み書き自在のメモリである。
The
起動制御部130は、CPU110の起動制御を行う。例えば、起動制御部130は、CPU110が第1プログラム160を用いて起動処理を行うことができない場合に、コピー決定部112でコピー元プログラムに決定されたプログラムを用いて起動処理を行うように、CPU110に指示する。この際、起動制御部130は、CPU110のリセット制御及び起動モード設定用ピン制御を行うとともに、CPU110と通信を行う。ここで、起動制御部130は、CPU110のリセットを制御する際には、リセット制御信号RCをCPU110に与える。また、起動制御部130は、CPU110の起動モード設定用ピンに起動パラメータを設定する際には、起動モード設定用ピン制御信号BPCをCPU110に与える。さらに、起動制御部130は、CPU110との間で通信信号COをやり取りする。
The
起動記憶部131は、起動制御部130がデータを書き込み及び参照するメモリである。例えば、起動記憶部131は、起動パラメータ及びコピー元情報を記憶する。
なお、起動パラメータが“A”である場合には、起動の際に第1プログラムが用いられる。また、起動パラメータが“B”である場合には、起動の際に第2プログラムが用いられる。さらに、起動パラメータが“C”である場合には、起動の際に第3プログラムが用いられる。
また、コピー元情報は、コピー元として用いられるアプリケーションプログラム(コピー元プログラム)を示す。本実施の形態においては、コピー元情報が“B”の場合は、コピー元として用いられるアプリケーションプログラムが第2プログラムであることを示し、コピー元情報が“C”の場合は、コピー元として用いられるアプリケーションプログラムが第3プログラムであることを示す。The
When the activation parameter is “A”, the first program is used at the time of activation. When the activation parameter is “B”, the second program is used at the time of activation. Further, when the activation parameter is “C”, the third program is used at the time of activation.
The copy source information indicates an application program (copy source program) used as a copy source. In this embodiment, when the copy source information is “B”, it indicates that the application program used as the copy source is the second program, and when the copy source information is “C”, it is used as the copy source. Indicates that the application program to be executed is the third program.
タイマー132は、時間を計測する計時部である。例えば、タイマー132は、CPU110が起動処理を開始してからの時間を計測する。
The
情報処理装置100は、電源150の投入によって動作し始める。例えば、情報処理装置100では、電源150が投入されると、起動制御部130のリセットが解除され、起動制御部130が動作する。このときの動作を、図3のフローチャートを用いて説明する。
The
図3は、起動制御部130の動作を示すフローチャートである。
起動制御部130は、CPU110をリセット状態にする(S10)。例えば、起動制御部130は、リセットを指示するリセット制御信号RCをCPU110に与える。このような信号を受けたCPU110は、リセット状態になる。FIG. 3 is a flowchart showing the operation of the
The
次に、起動制御部130は、起動記憶部131に記憶された起動パラメータを読み出す(S11)。そして、起動制御部130は、読み出された起動パラメータが“B”か否かを判定する(S12)。そして、起動パラメータが“B”である場合(S12:Yes)には、処理はステップS13に進み、起動パラメータが“B”ではない場合(S12:No)には、処理はステップS14に進む。
Next, the
ステップS13では、起動制御部130は、起動パラメータを“B”に決定する。
一方、ステップS14では、起動制御部130は、読み出された起動パラメータが“C”か否かを判定する。そして、起動パラメータが“C”である場合(S14:Yes)には、処理はステップS15に進み、起動パラメータが“C”ではない場合(S14:No)には、処理はステップS16に進む。In step S13, the
On the other hand, in step S14, the
ステップS15では、起動制御部130は、起動パラメータを“C”に決定する。
一方、ステップS16では、起動制御部130は、起動パラメータを“A”に決定する。In step S15, the
On the other hand, in step S16, the
そして、起動制御部130は、ステップS13、S15又はS16で決定された起動パラメータを、CPU110に伝える(S17)。例えば、起動制御部130の出力ピン2bitと、CPU110の入力ピン2bitとを接続し、起動制御部130が、起動パラメータ“A”のときは、出力ピン2bitを[0,1]とし、起動パラメータ“B”のときは、出力ピン2bitを[1,0]、起動パラメータ“C”のときは、出力ピン2bitを[1,1]とする。ここで、出力ピン2bitの「0」及び「1」は、デジタル信号における「Low」及び「High」にそれぞれ相当する。このように、起動制御部130は、起動パラメータを出力ピンに設定することで、その起動パラメータをCPU110に伝える。
Then, the
そして、起動制御部130は、CPU110のリセット状態を解除する(S18)。例えば、起動制御部130は、リセットの解除を指示するリセット制御信号RCをCPU110に与える。このような信号を受けたCPU110は、リセット状態を解除して、動作し始める。
Then, the
CPU110は、リセット解除後、第1ROM120に記憶されているプログラムを読み出して実行する。このときの動作を、図4のフローチャートを用いて説明する。
After the reset is released, the
図4は、CPU110の起動動作を示すフローチャートである。
まず、CPU110は、初期設定を行う(S20)。これは、例えば、第1ROM120のアクセスタイミングパラメータの設定、及び、第2ROM121のアクセスタイミングの設定等である。FIG. 4 is a flowchart showing the startup operation of the
First, the
次に、CPU110は、RAM122の初期設定を行う(S21)。例えば、RAM122がSDRAM(Syncronous Dynamic Random Access Memory)の場合、CPU110は、メモリクロックの設定、応答速度の設定、バス幅設定、及び、アドレスピンの設定等を行う。このような設定を行うことで、CPU110は、RAM122にアクセスすることができる。
Next, the
次に、CPU110は、入力ピンの状態を参照し、起動制御部130が指定した起動パラメータを取得する(S22)。そして、CPU110は、取得された起動パラメータが“B”か否かを判定する(S23)。取得された起動パラメータが“B”である場合(S23:Yes)には、処理はステップS24に進み、取得された起動パラメータが“B”ではない場合(S23:No)には、処理はステップS25に進む。
Next, the
ステップS24では、CPU110は、起動パラメータを“B”に特定する。
一方、ステップS25では、CPU110は、起動パラメータが“C”か否かを判定する。そして、起動パラメータが“C”である場合(S25:Yes)には、処理はステップS26に進み、起動パラメータが“C”ではない場合(S25:No)には、処理はステップS27に進む。In step S24, the
On the other hand, in step S25, the
ステップS26では、CPU110は、起動パラメータを“C”に特定する。
一方、ステップS27では、CPU110は、起動パラメータを“A”に特定する。In step S <b> 26, the
On the other hand, in step S27, the
そして、CPU110は、第2ROM121から、ステップS24、S26又はS27で特定された起動パラメータに対応するプログラムを読み出して、実行する(S28)。例えば、特定された起動パラメータが“A”の場合には、CPU110は、第2ROM121から第1プログラム160を読み出す。また、特定された起動パラメータが“B”の場合には、CPU110は、第2ROM121から第2プログラム162を読み出す。さらに、特定された起動パラメータが“C”の場合には、CPU110は、第2ROM121から第3プログラム164を読み出す。このとき、CPU110は、それぞれのプログラムの誤り検出用データを算出し、それぞれのプログラムに対応した誤り検出用データと比較することで、プログラムがデータとして問題ないかの確認を行う。
And CPU110 reads the program corresponding to the starting parameter specified by step S24, S26, or S27 from the 2nd ROM121, and runs it (S28). For example, when the specified activation parameter is “A”, the
このように起動制御部130が起動パラメータを指定することで、CPU110は、第2ROM121に記録されているプログラムを選択して起動することができる。
As described above, when the
次に、第2ROM121に記憶されている第1プログラム160を用いて動作しているときの、第2プログラム162及び第3プログラム164のバックアップ処理について説明する。第1プログラム160、第2プログラム162及び第3プログラム164については、いずれも、第2ROM121に記憶されているため、NAND型フラッシュメモリのデメリットであるデータ保持期間が有限であること、及び、データの読み出し回数が有限であることによりデータが変化してしまい、正しいデータとして読み出すことができなくなるおそれがある。バックアップ処理は、プログラム判定部111、コピー決定部112及びコピー処理部113で実現する。プログラム判定部111の処理の流れを、図5のフローチャートを用いて説明する。
Next, backup processing of the
図5は、プログラム判定部111での処理を示すフローチャートである。
プログラム判定部111は、第2プログラム162の誤り検出データの算出を行う(S30)。FIG. 5 is a flowchart showing processing in the
The
次に、プログラム判定部111は、ステップS30で算出された誤り検出データと、第2ROM121に記憶されている第2誤り検出用データ163とを比較することで(S31)、第2プログラムが正しいか否かを判定する。例えば、ステップS30で算出された誤り検出データと、第2誤り検出用データ163とが一致した場合(S31:Yes)には、処理はステップS32に進み、ステップS30で算出された誤り検出データと、第2誤り検出用データ163とが一致しない場合(S31:No)には、処理はステップS33に進む。
Next, the
ステップS32では、プログラム判定部111は、第2プログラム162は正しいと判定する。一方、ステップS33では、プログラム判定部111は、第2プログラム162は、不正と判定する。
In step S32, the
次に、プログラム判定部111は、第3プログラム164の誤り検出データの算出を行う(S34)。
Next, the
次に、プログラム判定部111は、ステップS34で算出された誤り検出データと、第2ROM121に記憶されている第3誤り検出用データ165とを比較することで(S35)、第3プログラムが正しいか否かを判定する。例えば、ステップS34で算出された誤り検出データと、第3誤り検出用データ165とが一致した場合(S35:Yes)には、処理はステップS36に進み、ステップS34で算出された誤り検出データと、第3誤り検出用データ165とが一致しない場合(S35:No)には、処理はステップS37に進む。
Next, the
ステップS36では、プログラム判定部111は、第3プログラム164は正しいと判定する。一方、ステップS37では、プログラム判定部111は、第3プログラム164は、不正と判定する。
In step S36, the
さらに、コピー決定部112での処理の流れを、図6のフローチャートを用いて説明する。
図6は、コピー決定部112での処理を示すフローチャートである。
コピー決定部112は、プログラム判定部111の判定結果に基づいて、第2プログラム162が正しいかどうかを判断する(S40)。第2プログラム162が正しい場合(S40:Yes)には、処理はステップS41に進み、第2プログラム162が不正の場合(S40:No)には、処理はステップS42に進む。Furthermore, the flow of processing in the
FIG. 6 is a flowchart showing processing in the
The
ステップS41では、コピー決定部112は、コピー元を“B”に決定する。
一方、ステップS42では、コピー決定部112は、プログラム判定部111の判定結果に基づいて、第3プログラム164が正しいかどうかを判断する(S42)。第3プログラム164が正しい場合(S42:Yes)には、処理はステップS43に進み、第3プログラム164が不正の場合(S42:No)には、処理はステップS44に進む。In step S41, the
On the other hand, in step S42, the
ステップS43では、コピー決定部112は、コピー元を“C”に決定する。
一方、ステップS44では、コピー決定部112は、故障フラグをあげる。この故障フラグは、例えば、RAM122に記憶されているものとする。In step S43, the
On the other hand, in step S44, the
そして、コピー決定部112によって決められたコピー元に基づいて、CPU110は、コピー元情報を生成する。例えば、コピー元が“B”である場合には、コピー元情報が第2プログラム162を示すように、“B”とし、コピー元が“C”である場合には、コピー元情報が第3プログラム164を示すように、“C”とする。そして、CPU110は、生成されたコピー元情報を起動制御部130に伝え、起動制御部130は、そのコピー元情報を、起動記憶部131に保存する。
Then, based on the copy source determined by the
次に、コピー処理部113は、プログラム判定部111及びコピー決定部112での処理結果に基づき、コピー処理を行う。例えば、コピー処理部113は、第2プログラム162及び第3プログラム164の両方が正しければ、コピー処理は行わない。一方、コピー処理部113は、第2プログラム162及び第3プログラム164の何れかのプログラムが不正の場合には、コピー元として決定されたプログラムからコピー先となるプログラムへのコピー処理を行う。例えば、コピー処理部113は、第2ROM121において、コピー先となるプログラム(不正と判断されたプログラム)を消去して、コピー元として決定されたプログラムを、コピー先のプログラムとして記憶する。また、どちらのプログラムも不正である場合には、コピー処理部113は、コピー処理を行わない。
Next, the
なお、このプログラム判定部111、コピー決定部112及びコピー処理部113で行うバックアップ処理は定期的に行うが、実施については、起動回数に基づいてもよいし、データを書き込んでからの経過時間に基づいてもよい。言い換えると、予め定められた起動回数に達した場合、又は、初回起動時若しくは前回のバックアップ処理から予め定められた経過時間が経過した場合に、バックアップ処理が行われればよい。
The backup processing performed by the
次に、第2ROM121に記憶されている第1プログラム160が正常に起動しない場合の処理について、図7のフローチャートを用いて説明する。
図7は、起動制御部130の起動状態監視処理を示すフローチャートである。図7のフローチャートは、図3のフローチャートのステップS18において、CPU110のリセット状態が解除された後に開始される。Next, processing when the
FIG. 7 is a flowchart showing the activation state monitoring process of the
起動制御部130は、CPU110のリセット状態を解除したあと、タイマー閾値を設定する(S50)。タイマー閾値は、予め定められているものとする。そして、起動制御部130は、タイマー132を動作させて、計時を開始させる(S51)。タイマー132は、ゼロからスタートし、加算するタイプとする。
The
起動制御部130は、タイマー132の値とタイマー閾値とを比較する(S52)。そして、タイマー132の値がタイマー閾値以下である場合(S52:Yes)には、処理はステップS53に進み、タイマー132の値がタイマー閾値を超えた場合(S52:No)には、処理はステップS55に進む。
The
ステップS53では、起動制御部130は、CPU110で実行しているアプリケーションプログラム(ここでは、第1プログラム160、第2プログラム162又は第3プログラム164)が予め定められた処理まで完了したことを通知しているかどうか確認する。そして、予め定められた処理まで完了している場合(S53:Yes)には、処理はステップS54に進み、予め定められた処理まで完了していない場合(S53:No)には、処理はステップS52に戻る。
In step S53, the
ステップS54では、起動制御部130は、正常起動と判断して、フローを終了する。
In step S54, the
一方、ステップS52において、タイマーの値がタイマー閾値を超えている場合(S52:No)には、処理はステップS55に進む。ステップS55では、使用中のプログラム(ここでは、第1プログラム160、第2プログラム162又は第3プログラム164)が正常に動作していないと判断し、起動制御部130は、起動記憶部131に記憶されているコピー元情報に基づいて、起動パラメータを設定する(S55)。なお、ステップS55で設定される起動パラメータは、“B”又は“C”である。そして、起動制御部130は、図3のステップS17と同様に、起動パラメータを出力ピンに設定することで、CPU110に通知する。
On the other hand, if the timer value exceeds the timer threshold value in step S52 (S52: No), the process proceeds to step S55. In step S55, it is determined that the program in use (here, the
そして、起動制御部130は、CPU110のリセットを実行する(S56)。例えば、起動制御部130は、CPU110をリセット状態に設定してから、CPUのリセット状態を解除する。そして、処理はステップS50に戻る。
なお、CPU110は、リセット解除後、図4に示すフローに従って処理を実行し、第2ROM121に保存されている第2プログラム162又は第3プログラム164を用いて起動する。Then, the
The
以上のように実施の形態1を構成することで、情報処理装置100は、第1プログラム160で起動できなくなったとしても、起動制御部130の再起動処理によって、正しく起動するアプリケーションプログラム(ここでは、第2プログラム162又は第3プログラム)で起動することができる。
By configuring the first embodiment as described above, even if the
また、第2プログラム162と第3プログラム164を正しい状態に戻す処理、具体的には、コピー処理部113におけるコピー処理を行っているときに電源断が発生しても、コピー元、すなわち正しく動作するプログラムを、コピー元情報を参照することで特定することができる。このため、仮にそのタイミングで、第1プログラム160が正しく起動しない場合でも、起動制御部130の再起動処理によって、正しく起動するアプリケーションプログラム(コピー元のプログラム)で、システムを起動させることができる。
Further, even if a power interruption occurs during the process of returning the
特に、近年、機器の高機能化が進むに伴ってアプリケーションプログラムのデータ容量が著しく増えており、コピー処理に多くの時間を要する場合があるため、コピー処理中に電源断が発生し、かつ、そのタイミングで第1プログラム160が正しく起動しない場合でも、実施の形態1に係る情報処理装置100によれば、システムを起動することができる。
In particular, the data capacity of application programs has increased remarkably in recent years as devices have become more sophisticated, and the copy process can take a lot of time, causing a power interruption during the copy process, and Even when the
なお、実施の形態1では、第1プログラム160が起動しなかったときに、バックアップ処理している第2プログラム162又は第3プログラム164のコピー元を用いて再起動する構成が説明されているが、このような構成に限定されるものではない。例えば、バックアップ処理する組を、第1プログラム160及び第3プログラム164として、第2プログラム162が起動しなかったときに、第1プログラム160と第3プログラム164のコピー元を用いて再起動するように構成されていてもよい。また、バックアップ処理する組を、第1プログラム160と第2プログラム162として、第3プログラム164が起動しなかったときに、第1プログラム160及び第2プログラム162のコピー元を用いて再起動するように構成されていてもよい。
In the first embodiment, a configuration is described in which when the
実施の形態2.
図8は、実施の形態2に係る情報処理装置200の構成を概略的に示すブロック図である。図8において、情報処理装置200は、CPU210と、第1ROM120と、第2ROM221と、RAM122と、起動制御部230と、起動記憶部231と、タイマー132とを備える。なお、CPU210、第1ROM120、第2ROM221及びRAM122は、バス140で接続されている。実施の形態2に係る情報処理装置200は、CPU210及び起動制御部230での処理の点、並びに、第2ROM221及び起動記憶部231に記憶されている情報の点において、実施の形態1に係る情報処理装置100と異なっている。Embodiment 2. FIG.
FIG. 8 is a block diagram schematically showing the configuration of the
実施の形態1では、第2プログラム162と第3プログラム164のバックアップ処理において、コピー元のプログラムを示すコピー元情報を、起動記憶部131に記憶している。そして、実施の形態1では、起動制御部130は、第1プログラム160で正しく起動しなかった場合に、起動記憶部131に記憶されているコピー元情報を参照して、起動パラメータをCPU110に伝えるように設定し、CPU110を再起動するように構成されている。これに対して、実施の形態2では、コピー元情報は、NAND型フラッシュメモリで構成されている第2ROM221内に記憶され、CPU210が第1ROM120に記憶されている起動プログラムを実行するときに、第2ROM221内に記憶されているコピー元情報を参照して、使用するアプリケーションプログラムを選択するように構成されている。以下、実施の形態2について、詳細に説明する。
In the first embodiment, in the backup processing of the
CPU210は、情報処理装置200での情報処理を行う処理実行部である。CPU210は、プログラム判定部111と、コピー決定部112と、コピー処理部113とを備える。実施の形態2におけるプログラム判定部111、コピー決定部112及びコピー処理部113での処理については、実施の形態1におけるこれらの部分が行う処理と同様である。
但し、実施の形態1では、CPU110は、コピー決定部112での決定に従って生成されたコピー元情報を起動制御部130に伝えて、起動記憶部131に保存させたが、実施の形態2では、CPU210は、コピー元情報を第2ROM221に保存させる。The
However, in the first embodiment, the
第2ROM221は、起動プログラムの実行によって読み出されて実行されるアプリケーションプログラム及びコピー元情報を記憶する不揮発性メモリである。ここで、第2ROM221に記憶されているプログラム構成について説明する。第2ROM221には、3種類のプログラムとそれぞれに対応した誤り検出用データ及びコピー元情報が記憶される。
図9は、第2ROM221に記憶されているプログラム及びデータを示す概念図である。符号160は、第1プログラムである。符号161は、第1プログラム160の誤り検出用データである。符号162は、第2プログラムである。符号163は、第2プログラム162の誤り検出用データである。符号164は、第3プログラムである。符号165は、第3プログラム164の誤り検出用データである。なお、符号160〜165は、実施の形態1における符号160〜165と同様である(図2参照)。
符号266は、コピー元情報である。コピー元情報266は、実施の形態1と同様、コピー元として用いられるアプリケーションプログラム(第2プログラム又は第3プログラム)を示す。The
FIG. 9 is a conceptual diagram showing programs and data stored in the
起動制御部230は、CPU210の起動制御を行う。実施の形態2における起動制御部230の起動制御については、図10を用いて詳細に説明する。
また、実施の形態1における起動制御部130は、CPU110から与えられたコピー元情報を起動記憶部131に記憶させる処理を行ったが、実施の形態2における起動制御部230は、このような処理を行わない。The
The
起動記憶部231は、起動制御部230がデータを書き込み及び参照するメモリである。例えば、実施の形態2における起動記憶部231は、起動パラメータを記憶する。なお、実施の形態2における起動記憶部231は、実施の形態1とは異なり、コピー元情報は記憶しない。
ここで、実施の形態2においては、起動記憶部231に記憶される起動パラメータは、“A”又は“B”の値を示す。起動パラメータが“A”である場合には、起動の際に第1プログラム160が用いられる。また、起動パラメータが“B”である場合には、コピー元情報に応じて、起動の際に第2プログラム162又は第3プログラム164が用いられる。The
Here, in the second embodiment, the activation parameter stored in the
情報処理装置200は、電源150の投入によって動作し始める。まず、起動制御部230のリセットが解除され、起動制御部230が動作する。そのときの動作を、図10のフローチャートを用いて説明する。なお、図10に示されているフローは、実施の形態1における図3及び図7に示されているフローの代わりである。
The
図10は、起動制御部230での処理を示すフローチャートである。
起動制御部230は、まず、回数パラメータNを初期化する(S60)。ここでは、起動制御部230は、回数パラメータNの値を「0」とする。回数パラメータNは、起動回数と連動するパラメータである。実施の形態2では、回数パラメータNは、例えば、起動回数を示す。FIG. 10 is a flowchart showing processing in the
The
次に、起動制御部230は、起動パラメータを“A”に設定し、CPU210をリセット状態にする(S61)。ここでは、実施の形態1と同様に、起動制御部230は、その出力ピン2bitを[0,1]に設定することで、起動パラメータ“A”をCPU210に伝える。そして、起動制御部230が、CPU210のリセット信号を解除することで、CPU210のリセット状態が解除され(S62)、CPU210が動作し始める。CPU210の動作については、図11を用いて後述する。
Next, the
次に、起動制御部230は、予め定められたタイマー閾値を設定して(S63)、タイマー132を動作させる(S64)。タイマー132は、ゼロからスタートし、加算するタイプとする。
Next, the
次に、起動制御部230は、タイマー132の値とタイマー閾値とを比較する(S65)。そして、タイマー132の値がタイマー閾値以下である場合(S65:Yes)には、処理はステップS66に進み、タイマー132の値がタイマー閾値を超えている場合(S65:No)には、処理はステップS68に進む。
Next, the
ステップS66では、起動制御部230は、CPU210で実行しているアプリケーションプログラムが予め定められた処理まで完了したことを通知しているかどうか確認する。そして、予め定められた処理まで完了している場合(S66:Yes)には、処理はステップS67に進み、予め定められた処理まで完了していない場合(S66:No)には、処理はステップS65に戻る。
In step S <b> 66, the
ステップS67では、起動制御部230は、CPU210での起動処理は、正常起動であると判断して、フローを終了する。
In step S67, the
一方、ステップS65において、タイマー132の値がタイマー閾値を超えている場合(S65:No)には、処理はステップS68に進む。ステップS68では、CPU210が実行しているアプリケーションプログラムが正常な動作をしていないと判断し、起動制御部230は、回数パラメータNに「1」を加算する。そして、起動制御部230は、回数パラメータNが、第1回数閾値である「3」よりも小さいか否かを判断する(S69)。回数パラメータNが「3」よりも小さい場合(S69:Yes)には、処理はステップS61に戻り、回数パラメータNが「3」以上である場合(S69:No)には、処理はステップS70に進む。なお、このステップS69により、起動試行を3回行うことができ、ノイズ及び電圧の一時的な低下等の突発的な要因による起動不具合の場合は、再度の試行により正常に起動することができる。言い換えると、予め定められた時間までに、CPU110が予め定められた処理を実行することのできない状態が、予め定められた回数を超えるまでは、現在使用されているアプリケーションプログラムを用いた起動処理が行われる。この起動試行の回数を示す第1回数閾値の値は、任意に設定することができる。
On the other hand, when the value of the
ステップS70では、起動制御部230は、回数パラメータNが第2回数閾値である「6」よりも小さいか否かを判断する。回数パラメータNが「6」よりも小さい場合(S70:Yes)には、処理はステップS71に進み、回数パラメータNが「6」以上である場合(S70:No)には、処理はステップS72に進む。
In step S <b> 70, the
ステップS71では、起動制御部230は、起動記憶部231に記憶されている起動パラメータを“B”に設定する。そして、起動制御部230は、起動記憶部231に記憶されている起動パラメータに従って、その出力ピンに[1,0]を設定して、CPU210に通知する。さらに、起動制御部230は、CPU210をリセット状態にして、処理をステップS62に戻す。
In step S <b> 71, the
一方、ステップS72では、起動制御部230は、起動パラメータ“B”でも正常起動できなかったために、故障と判断して、故障フラグをたてる。ここで、ステップS70における第2回数閾値(ここでは、「6」)は、ステップS69における第1回数閾値(ここでは、「3」)との差分の値(ここでは、「3」)において、起動パラメータを“B”とした場合の起動試行の回数となる。言い換えると、予め定められた時間までに、CPU210が予め定められた処理を実行することのできない状態が、予め定められた回数を超えるまでは、現在使用されているアプリケーションプログラムを用いた起動処理が行われる。なお、この第2回数閾値を変更することで、起動パラメータが“B”のときの起動試行の回数を変更することができる。
On the other hand, in step S72, the
次に、CPU210の動作について説明する。CPU210は、リセット解除後、第1ROM120に記憶されている起動プログラムを読み出して実行する。この動作について、図11に示されているフローチャートを用いて説明する。
Next, the operation of the
図11は、CPU210の起動動作を示すフローチャートである。
まず、CPU210は、初期設定を行う(S80)。これは、例えば、第1ROM120のアクセスタイミングパラメータの設定、及び、第2ROM221のアクセスタイミングの設定等である。FIG. 11 is a flowchart showing the startup operation of the
First, the
次に、CPU210は、RAM122の初期設定を行う(S81)。例えば、RAM122がSDRAMの場合、CPU210は、メモリクロックの設定、応答速度の設定、バス幅設定、及び、アドレスピンの設定等を行う。このような設定を行うことで、CPU210は、RAM122にアクセスすることができる。
Next, the
次に、CPU210は、入力ピンの状態を参照し、起動制御部230が指定した起動パラメータを取得する(S82)。そして、CPU210は、取得された起動パラメータが“A”か否かを判定する(S83)。取得された起動パラメータが“A”である場合(S83:Yes)には、処理はステップS84に進み、取得された起動パラメータが“A”ではない場合(S83:No)には、処理はステップS85に進む。
Next, the
ステップS84では、CPU210は、起動パラメータを“A”に特定する。
一方、ステップS85では、CPU210は、第2ROM221に記憶されているコピー元情報266を読み出す。In step S84, the
On the other hand, in step S85, the
次に、CPU210は、コピー元情報266が“B”であるか否かを判断する(S86)。そして、コピー元情報266が“B”である場合(S86:Yes)には、処理はステップS87に進む。一方、コピー元情報266が“B”ではない場合(S86:No)、言い換えると、コピー元情報266が“C”である場合には、処理はステップS88に進む。
Next, the
ステップS87では、CPU210は、起動パラメータを“B”に特定する。
一方、ステップS88では、CPU210は、起動パラメータを“C”に特定する。In step S87, the
On the other hand, in step S88, the
そして、CPU210は、第2ROM221から、ステップS84、S87又はS88で特定された起動パラメータに対応するプログラムを読み出して、実行する(S89)。例えば、特定された起動パラメータが“A”の場合には、CPU210は、第2ROM221から第1プログラム160を読み出す。また、特定された起動パラメータが“B”の場合には、CPU210は、第2ROM221から第2プログラム162を読み出す。さらに、特定された起動パラメータが“C”の場合には、CPU210は、第2ROM221から第3プログラム164を読み出す。このとき、CPU210は、それぞれのプログラムの誤り検出データを算出し、それぞれのプログラムに対応した誤り検出用データと比較することで、プログラムがデータとして問題ないかの確認を行う。
And CPU210 reads the program corresponding to the starting parameter specified by step S84, S87, or S88 from the 2nd ROM221, and performs it (S89). For example, when the specified activation parameter is “A”, the
以上のように、実施の形態2に係る情報処理装置200を構成することで、情報処理装置200は、CPU210が第1プログラム160を用いて起動できなくなったとしても、起動制御部230の再起動処理によって、正しく起動するプログラム(第2プログラム162又は第3プログラム164)で起動することができる。
As described above, by configuring the
また、第2プログラム162と第3プログラム164を正しい状態に戻す処理、具体的には、コピー処理を行っているときに、電源断が発生しても、コピー元情報を参照することで、コピー元、即ち、正しく動作するプログラムを特定することができる。このため、仮にコピー処理しているタイミングで、第1プログラム160が正しく起動しない場合でも、起動制御部230の再起動処理によって、正しく起動するプログラムで、システムを起動させることができる。
In addition, the process of returning the
なお、実施の形態2では、第1プログラム160が起動しなかったときに、バックアップ処理している第2プログラム162又は第3プログラム164のコピー元を用いて再起動する構成が説明されているが、このような構成に限定されるものではない。例えば、バックアップ処理する組を、第1プログラム160及び第3プログラム164として、第2プログラム162が起動しなかったときに、第1プログラム160と第3プログラム164のコピー元を用いて再起動するように構成されていてもよい。また、バックアップ処理する組を、第1プログラム160と第2プログラム162として、第3プログラム164が起動しなかったときに、第1プログラム160及び第2プログラム162のコピー元を用いて再起動するように構成されていてもよい。
In the second embodiment, a configuration is described in which when the
実施の形態3
実施の形態1及び実施の形態2において、バックアップ対象となっている両方のプログラム(実施の形態1及び実施の形態2では、第2プログラム162及び第3プログラム164)がどちらもデータ化けしてしまう(不正なデータになってしまう)場合もある。このような場合に、第1プログラム160が不正になると、システムが起動しなくなってしまう。例えば、コピー決定部112の動作を説明するフローチャートである図6において、ステップS44において故障フラグがあがっているときに、第1プログラム160が不正になると、正常にシステムが起動できなくなる。そのため、情報処理装置100、200は、バックアップ処理を実行したとき、第2プログラム162及び第3プログラム164のどちらも不正な場合は、警告を示す故障警告部(図示せず)をさらに有するように構成されていてもよい。
In the first embodiment and the second embodiment, both programs to be backed up (in the first embodiment and the second embodiment, the
例えば、バックアップ処理の中で、第2プログラム162及び第3プログラム164がどちらも不正な場合は、情報処理装置100、200がネットワーク機器であれば、故障警告部は、例えば、サーバー等の管理装置に故障を通達する。また、情報処理装置100、200が表示器であれば、故障警告部は、例えば、画面上に警告を表示する。情報処理装置100、200が端末装置であれば、故障警告部は、端末に搭載されているランプ等の発光部を点灯又は点滅させる。
For example, if both the
以上のように、実施の形態3によれば、ユーザーにバックアップ用のアプリケーションプログラムが異常状態で有ることを知らせることができ、システムが起動しなくなることを事前に回避することができる。 As described above, according to the third embodiment, it is possible to notify the user that the backup application program is in an abnormal state, and to prevent the system from starting up in advance.
なお、故障警告部は、実施の形態1における、図6のステップS44で故障フラグがたてられた場合、又は、実施の形態2における、図10のステップS72で故障フラグがたてられた場合に、警告を行うようにしてもよい。 When the failure flag is set in step S44 of FIG. 6 in the first embodiment or when the failure flag is set in step S72 of FIG. 10 in the second embodiment. In addition, a warning may be given.
以上の実施の形態1〜3に記載された情報処理装置100、200は、NAND型フラッシュメモリ等のように、信頼性が低く、正しいデータが読み出せなくなる可能性のある記憶部を備える装置であればどのような装置であってもよい。例えば、情報処理装置100、200は、IP−STB(IP−Set Top Box)等の光テレビ用の端末、アンドロイド端末等の多機能携帯端末、ナビゲーションシステム、デジタルサイネージシステム等の情報表示機器、ビデオレコーダー及びデスクプレーヤー等の映像記録再生機器、ルータ並びにTA(Terminal Adapter)等であってもよい。
The
100,200 情報処理装置、 110,210 CPU、 111 プログラム判定部、 112 コピー決定部、 113 コピー処理部、 120 第1ROM、 121,221 第2ROM、 122 RAM、 130,230 起動制御部、 131,231 起動記憶部、 132 タイマー、 140 バス、 150 電源。 100, 200 Information processing device, 110, 210 CPU, 111 Program determination unit, 112 Copy determination unit, 113 Copy processing unit, 120 First ROM, 121, 221 Second ROM, 122 RAM, 130, 230 Start control unit, 131, 231 Start-up storage unit, 132 timer, 140 bus, 150 power supply.
Claims (17)
前記記憶部に記憶されている第1プログラム、第2プログラム及び第3プログラムの何れかを選択して、当該選択されたプログラムを用いて起動処理を行う処理実行部と、
前記記憶部に記憶されている第2プログラム及び第3プログラムが、それぞれ正しいか否かを判定するプログラム判定部と、
前記記憶部に記憶されている第2プログラム及び第3プログラムの内、前記プログラム判定部で正しいと判定されたプログラムをコピー元プログラムとして決定し、前記プログラム判定部で正しいと判定されなかったプログラムをコピー先プログラムとして決定するコピー決定部と、
前記記憶部において、前記コピー決定部で決定されたコピー元プログラムで、前記コピー決定部で決定されたコピー先プログラムを更新するコピー処理部と、
前記コピー決定部で決定されたコピー元プログラムを示すコピー元情報を記憶する起動記憶部と、
前記処理実行部が前記記憶部に記憶されている第1プログラムを用いて起動処理を行うことができない場合に、前記起動記憶部に記憶されているコピー元情報を参照して、前記コピー決定部で決定されたコピー元プログラムを選択して起動処理を行うように前記処理実行部に指示する起動制御部とを備え、
前記処理実行部は、前記起動制御部からの指示に従って、前記記憶部に記憶されている第2プログラム又は第3プログラムを選択して、当該選択されたプログラムを用いて起動処理を行うこと
を特徴とする情報処理装置。A storage unit for storing a first program, a second program, and a third program as an application program for activation;
A process execution unit that selects one of the first program, the second program, and the third program stored in the storage unit, and performs a startup process using the selected program;
A program determination unit for determining whether the second program and the third program stored in the storage unit are correct; and
Of the second program and the third program stored in the storage unit, a program determined to be correct by the program determination unit is determined as a copy source program, and a program that has not been determined correct by the program determination unit A copy determination unit that determines the copy destination program;
In the storage unit, a copy processing unit that updates the copy destination program determined by the copy determination unit with the copy source program determined by the copy determination unit;
An activation storage unit that stores copy source information indicating a copy source program determined by the copy determination unit;
When the process execution unit cannot perform startup processing using the first program stored in the storage unit, the copy determination unit refers to the copy source information stored in the startup storage unit. An activation control unit that instructs the process execution unit to perform the activation process by selecting the copy source program determined in
The process execution unit selects a second program or a third program stored in the storage unit according to an instruction from the start control unit, and performs a start process using the selected program. Information processing apparatus.
前記起動制御部は、前記記憶部に記憶されているコピー元情報を参照して、前記コピー決定部で決定されたコピー元プログラムを選択して起動処理を行うように前記処理実行部に指示すること
を特徴とする請求項1に記載の情報処理装置。The storage unit further stores copy source information indicating the copy source program determined by the copy determination unit;
The activation control unit refers to the copy source information stored in the storage unit, and instructs the process execution unit to perform a startup process by selecting the copy source program determined by the copy determination unit. The information processing apparatus according to claim 1.
前記起動制御部は、前記計時部において計測された、前記起動処理を開始してからの時間が予め定められた閾値を超える前に、前記処理実行部が予め定められた処理を完了していない場合に、前記処理実行部が前記記憶部に記憶されている第1プログラムを用いて起動処理を行うことができないと判断して、前記コピー決定部で決定されたコピー元プログラムを選択して起動処理を行うように前記処理実行部に指示すること
を特徴とする請求項1又は2に記載の情報処理装置。It further includes a timekeeping unit that measures time,
The activation control unit has not completed the predetermined process before the time from the start of the activation process measured by the timing unit exceeds a predetermined threshold. In this case, the process execution unit determines that the start process cannot be performed using the first program stored in the storage unit, and selects and starts the copy source program determined by the copy determination unit The information processing apparatus according to claim 1, wherein the processing execution unit is instructed to perform processing.
前記起動制御部は、前記計時部において計測された、前記起動処理を開始してからの時間が予め定められた閾値を超える前に、前記処理実行部が予め定められた処理を完了できない状態が、予め定められた第1の回数連続して生じた場合に、前記処理実行部が前記記憶部に記憶されている第1プログラムを用いて起動処理を行うことができないと判断して、前記コピー決定部で決定されたコピー元プログラムを選択して起動処理を行うように前記処理実行部に指示すること
を特徴とする請求項1又は2に記載の情報処理装置。It further includes a timekeeping unit that measures time,
The activation control unit is in a state where the process execution unit cannot complete the predetermined process before the time from the start of the activation process exceeds a predetermined threshold measured by the timing unit. When the predetermined number of times has occurred continuously, it is determined that the process execution unit cannot perform startup processing using the first program stored in the storage unit, and the copy The information processing apparatus according to claim 1, wherein the processing execution unit is instructed to select a copy source program determined by the determination unit and perform a startup process.
前記起動制御部が故障と判断した場合に、警告を行う故障警告部をさらに備えること
を特徴とする請求項4に記載の情報処理装置。When the process execution unit selects the second program or the third program stored in the storage unit according to the instruction from the start control unit, and performs the start process using the selected program The state in which the process execution unit cannot complete the predetermined process before the time from the start of the start process measured by the time measuring unit exceeds the predetermined threshold is predetermined. The activation control unit determines that there is a failure when the second occurrence occurs continuously,
The information processing apparatus according to claim 4, further comprising a failure warning unit that issues a warning when the activation control unit determines that a failure has occurred.
を特徴とする請求項1から4の何れか一項に記載の情報処理装置。The apparatus according to claim 1, further comprising a failure warning unit that issues a warning when the program determination unit determines that both the second program and the third program stored in the storage unit are not correct. 5. The information processing apparatus according to any one of 4.
前記第2プログラム及び前記第3プログラムが、それぞれ正しいか否かを判定するプログラム判定過程と、
前記第2プログラム及び前記第3プログラムの内、前記プログラム判定過程で正しいと判定されたプログラムをコピー元プログラムとして決定し、前記プログラム判定過程で正しいと判定されなかったプログラムをコピー先プログラムとして決定するコピー決定過程と、
前記コピー決定過程で決定されたコピー元プログラムで、前記コピー決定過程で決定されたコピー先プログラムを更新するコピー処理過程と、
前記コピー決定過程で決定されたコピー元プログラムを示すコピー元情報を記憶する起動記憶過程と、
前記処理実行過程が前記第1プログラムを用いて起動処理を行うことができない場合に、前記起動記憶過程で記憶されたコピー元情報を参照して、前記コピー決定過程で決定されたコピー元プログラムを選択して起動処理を行うように前記処理実行過程に指示する起動制御過程とを有し、
前記処理実行過程は、前記起動制御過程からの指示に従って、前記第2プログラム又は前記第3プログラムを選択して、当該選択されたプログラムを用いて起動処理を行うこと
を特徴とする情報処理方法。A process execution step of selecting any one of the first program, the second program, and the third program as an application program for activation, and performing an activation process using the selected program;
A program determination process for determining whether each of the second program and the third program is correct;
Of the second program and the third program, a program determined to be correct in the program determination process is determined as a copy source program, and a program that is not determined correct in the program determination process is determined as a copy destination program. Copy decision process;
A copy process for updating the copy destination program determined in the copy determination process with the copy source program determined in the copy determination process;
An activation storage step for storing copy source information indicating the copy source program determined in the copy determination step;
When the process execution process cannot perform the startup process using the first program, the copy source program determined in the copy determination process is referred to by referring to the copy source information stored in the startup storage process. A startup control process that instructs the process execution process to perform a startup process by selecting,
In the information processing method, the process execution process selects the second program or the third program in accordance with an instruction from the activation control process, and performs an activation process using the selected program.
前記起動制御過程は、前記計時過程において計測された、前記起動処理を開始してからの時間が予め定められた閾値を超える前に、前記処理実行部が予め定められた処理を完了していない場合に、前記処理実行過程が前記第1プログラムを用いて起動処理を行うことができないと判断して、前記コピー決定過程で決定されたコピー元プログラムを選択して起動処理を行うように前記処理実行過程に指示すること
を特徴とする請求項7に記載の情報処理方法。It further has a timing process for measuring time,
In the activation control process, the process execution unit has not completed the predetermined process before the time from the start of the activation process measured in the timing process exceeds a predetermined threshold. The process execution process determines that the start process cannot be performed using the first program, and selects the copy source program determined in the copy determination process to perform the start process. The information processing method according to claim 7, wherein an instruction is given to an execution process.
前記起動制御過程は、前記計時過程において計測された、前記起動処理を開始してからの時間が予め定められた閾値を超える前に、前記処理実行過程が予め定められた処理を完了できない状態が、予め定められた第1の回数連続して生じた場合に、前記処理実行過程が前記第1プログラムを用いて起動処理を行うことができないと判断して、前記コピー決定過程で決定されたコピー元プログラムを選択して起動処理を行うように前記処理実行過程に指示すること
を特徴とする請求項7に記載の情報処理方法。It further has a timing process for measuring time,
In the activation control process, there is a state in which the process execution process cannot complete the predetermined process before the time from the start of the activation process exceeds a predetermined threshold measured in the timing process. When the predetermined number of times has occurred continuously, it is determined that the process execution process cannot be started using the first program, and the copy determined in the copy determination process is determined. The information processing method according to claim 7, wherein the process execution process is instructed to select an original program and perform a startup process.
前記起動制御過程が故障と判断した場合に、警告を行う故障警告過程をさらに有すること
を特徴とする請求項9に記載の情報処理方法。When the process execution unit selects the second program or the third program stored in the storage unit in accordance with an instruction from the activation control process, and performs the activation process using the selected program The state in which the process execution unit cannot complete the predetermined process before the time from the start of the start process measured by the time measuring unit exceeds the predetermined threshold is predetermined. The activation control process determines that there is a failure when the second occurrence occurs continuously,
The information processing method according to claim 9, further comprising a failure warning process for giving a warning when the activation control process is determined to be a failure.
を特徴とする請求項7から9の何れか一項に記載の情報処理方法。The failure determination process for performing a warning when the program determination process determines that both of the second program and the third program are not correct. 10. Information processing method described in 1.
起動用のアプリケーションプログラムとしての、第1プログラム、第2プログラム及び第3プログラムを記憶する記憶手段、
前記記憶手段に記憶されている第1プログラム、第2プログラム及び第3プログラムの何れかを選択して、当該選択されたプログラムを用いて起動処理を行う処理実行手段、
前記記憶手段に記憶されている第2プログラム及び第3プログラムが、それぞれ正しいか否かを判定するプログラム判定手段、
前記記憶手段に記憶されている第2プログラム及び第3プログラムの内、前記プログラム判定手段で正しいと判定されたプログラムをコピー元プログラムとして決定し、前記プログラム判定手段で正しいと判定されなかったプログラムをコピー先プログラムとして決定するコピー決定手段と、
前記記憶手段において、前記コピー決定手段で決定されたコピー元プログラムで、前記コピー決定手段で決定されたコピー先プログラムを更新するコピー処理手段、
前記コピー決定手段で決定されたコピー元プログラムを示すコピー元情報を記憶する起動記憶手段、
前記処理実行手段が前記記憶手段に記憶されている第1プログラムを用いて起動処理を行うことができない場合に、前記起動記憶手段に記憶されているコピー元情報を参照して、前記コピー決定手段で決定されたコピー元プログラムを選択して起動処理を行うように前記処理実行手段に指示する起動制御手段として機能させ、
前記処理実行手段は、前記起動制御手段からの指示に従って、前記記憶手段に記憶されている第2プログラム又は第3プログラムを選択して、当該選択されたプログラムを用いて起動処理を行うこと
を特徴とするプログラム。Computer
Storage means for storing the first program, the second program, and the third program as application programs for startup,
A process execution unit that selects any one of the first program, the second program, and the third program stored in the storage unit, and performs a start-up process using the selected program;
Program determination means for determining whether the second program and the third program stored in the storage means are correct,
Of the second program and the third program stored in the storage means, a program determined to be correct by the program determination means is determined as a copy source program, and a program that is not determined correct by the program determination means A copy determining means for determining a copy destination program;
In the storage unit, a copy processing unit that updates the copy destination program determined by the copy determination unit with the copy source program determined by the copy determination unit;
An activation storage unit for storing copy source information indicating a copy source program determined by the copy determination unit;
When the process execution unit cannot perform the startup process using the first program stored in the storage unit, the copy determination unit refers to the copy source information stored in the startup storage unit. Functioning as a start control means for instructing the process execution means to select and start the copy source program determined in
The process execution unit selects a second program or a third program stored in the storage unit in accordance with an instruction from the start control unit, and performs a start process using the selected program. Program.
前記起動制御手段は、前記記憶手段に記憶されているコピー元情報を参照して、前記コピー決定手段で決定されたコピー元プログラムを選択して起動処理を行うように前記処理実行手段に指示すること
を特徴とする請求項12に記載のプログラム。The storage means further stores copy source information indicating the copy source program determined by the copy determination means;
The activation control unit refers to the copy source information stored in the storage unit and instructs the process execution unit to select the copy source program determined by the copy determination unit and perform the activation process. The program according to claim 12, wherein:
前記起動制御手段は、前記計時手段において計測された、前記起動処理を開始してからの時間が予め定められた閾値を超える前に、前記処理実行手段が予め定められた処理を完了していない場合に、前記処理実行手段が前記記憶手段に記憶されている第1プログラムを用いて起動処理を行うことができないと判断して、前記コピー決定手段で決定されたコピー元プログラムを選択して起動処理を行うように前記処理実行手段に指示すること
を特徴とする請求項12又は13に記載のプログラム。Allowing the computer to further function as a timekeeping means for measuring time;
The activation control unit has not completed the predetermined process before the time from the start of the activation process measured by the timing unit exceeds a predetermined threshold. In this case, the process execution unit determines that the start process cannot be performed using the first program stored in the storage unit, and selects and starts the copy source program determined by the copy determination unit The program according to claim 12 or 13, wherein the processing execution unit is instructed to perform processing.
前記起動制御手段は、前記計時手段において計測された、前記起動処理を開始してからの時間が予め定められた閾値を超える前に、前記処理実行手段が予め定められた処理を完了できない状態が、予め定められた第1の回数連続して生じた場合に、前記処理実行手段が前記記憶手段に記憶されている第1プログラムを用いて起動処理を行うことができないと判断して、前記コピー決定手段で決定されたコピー元プログラムを選択して起動処理を行うように前記処理実行手段に指示すること
を特徴とする請求項12又は13に記載のプログラム。Allowing the computer to further function as a timekeeping means for measuring time;
The activation control means is in a state in which the process execution means cannot complete the predetermined process before the time from the start of the activation process measured by the time measuring means exceeds a predetermined threshold. When the predetermined number of times has occurred continuously, it is determined that the process execution means cannot perform start-up processing using the first program stored in the storage means, and the copy The program according to claim 12 or 13, wherein the processing execution unit is instructed to select a copy source program determined by the determination unit and perform a startup process.
前記コンピュータを、前記起動制御手段が故障と判断した場合に、警告を行う故障警告手段としてさらに機能させること
を特徴とする請求項15に記載のプログラム。When the process execution unit selects the second program or the third program stored in the storage unit in accordance with an instruction from the activation control unit, and performs the activation process using the selected program The state in which the process execution unit cannot complete the predetermined process before the time from the start of the start process measured by the time measuring unit exceeds the predetermined threshold is determined in advance. If the second occurrence occurs continuously, the activation control means determines a failure,
The program according to claim 15, further causing the computer to function as a failure warning unit that issues a warning when the activation control unit determines that a failure has occurred.
を特徴とする請求項12から15の何れか一項に記載のプログラム。The computer further causes the program determination unit to function as a failure warning unit that issues a warning when it is determined that both the second program and the third program stored in the storage unit are not correct. The program according to any one of claims 12 to 15.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013000772 | 2013-01-08 | ||
JP2013000772 | 2013-01-08 | ||
PCT/JP2013/077223 WO2014109100A1 (en) | 2013-01-08 | 2013-10-07 | Information processing device, information processing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2014109100A1 true JPWO2014109100A1 (en) | 2017-01-19 |
Family
ID=51166765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014556322A Pending JPWO2014109100A1 (en) | 2013-01-08 | 2013-10-07 | Information processing apparatus, information processing method, and program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2014109100A1 (en) |
WO (1) | WO2014109100A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6011687B1 (en) * | 2015-07-09 | 2016-10-19 | 日本電気株式会社 | Storage device and control method thereof |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05265767A (en) * | 1992-03-17 | 1993-10-15 | Nec Corp | Program start method |
JP2003099146A (en) * | 2001-09-20 | 2003-04-04 | Fujitsu Ltd | System for controlling start of computer system |
JP2005222366A (en) * | 2004-02-06 | 2005-08-18 | Nippon Telegr & Teleph Corp <Ntt> | Automatic recovery method, program, program recording medium, processor |
JP2006243780A (en) * | 2005-02-28 | 2006-09-14 | Tdk Corp | Memory controller, flash memory system and control method of flash memory |
JP2012059034A (en) * | 2010-09-09 | 2012-03-22 | Mitsubishi Electric Corp | Boot processor |
JP2012212415A (en) * | 2011-03-18 | 2012-11-01 | Hitachi Kokusai Electric Inc | Wireless base station device |
-
2013
- 2013-10-07 WO PCT/JP2013/077223 patent/WO2014109100A1/en active Application Filing
- 2013-10-07 JP JP2014556322A patent/JPWO2014109100A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05265767A (en) * | 1992-03-17 | 1993-10-15 | Nec Corp | Program start method |
JP2003099146A (en) * | 2001-09-20 | 2003-04-04 | Fujitsu Ltd | System for controlling start of computer system |
JP2005222366A (en) * | 2004-02-06 | 2005-08-18 | Nippon Telegr & Teleph Corp <Ntt> | Automatic recovery method, program, program recording medium, processor |
JP2006243780A (en) * | 2005-02-28 | 2006-09-14 | Tdk Corp | Memory controller, flash memory system and control method of flash memory |
JP2012059034A (en) * | 2010-09-09 | 2012-03-22 | Mitsubishi Electric Corp | Boot processor |
JP2012212415A (en) * | 2011-03-18 | 2012-11-01 | Hitachi Kokusai Electric Inc | Wireless base station device |
Also Published As
Publication number | Publication date |
---|---|
WO2014109100A1 (en) | 2014-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5575338B2 (en) | Information processing apparatus, information processing method, and computer program | |
US8341386B2 (en) | Method for updating basic input/output system and method for repairing thereof | |
TWI386847B (en) | Method of safe and recoverable firmware update and device using the same | |
JP5431111B2 (en) | Information processing apparatus and system setting method | |
JP2009134692A (en) | Auto repair method of system configuration using single key control | |
WO2012071945A1 (en) | Method and device for backing up and upgrading bootstrap | |
JP6698467B2 (en) | Electronic circuit system and method for starting control device | |
CN101140524A (en) | Program starting control device | |
JP2009169524A (en) | Network system for home appliance | |
JP5981906B2 (en) | Image forming apparatus | |
JP2008504628A (en) | Safe flushing | |
JP2010170197A (en) | Firmware management program, storage device, and firmware management method | |
US9772905B2 (en) | Updating control firmware of information processing apparatus, method of controlling the same, and storage medium | |
WO2015184732A1 (en) | Bootstrap storage method, bootstrap fault recovery method and device, and computer storage medium | |
JP2007122151A (en) | Boot controller and boot control method | |
JP6021597B2 (en) | Information processing apparatus, information processing method, and computer program | |
WO2014109100A1 (en) | Information processing device, information processing method, and program | |
JP2012118904A (en) | Information processing apparatus | |
JP5072092B2 (en) | Recovery control device, control method, program, and computer-readable storage medium | |
WO2016136014A1 (en) | Monitoring recorder | |
JP2004054616A (en) | Information processor with function to automatically restore firmware | |
JP2006018594A (en) | Information processor | |
JP2005128613A (en) | Image forming device | |
JP2013074348A (en) | Configuration control circuit for fpga, fpga device and method, and configuration data updating method | |
TWI839136B (en) | Firmware update method for downstream devices of bmc |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150707 |