WO2020003957A1 - 情報処理装置、更新方法およびプログラム - Google Patents

情報処理装置、更新方法およびプログラム Download PDF

Info

Publication number
WO2020003957A1
WO2020003957A1 PCT/JP2019/022533 JP2019022533W WO2020003957A1 WO 2020003957 A1 WO2020003957 A1 WO 2020003957A1 JP 2019022533 W JP2019022533 W JP 2019022533W WO 2020003957 A1 WO2020003957 A1 WO 2020003957A1
Authority
WO
WIPO (PCT)
Prior art keywords
execution program
execution
area
save area
information processing
Prior art date
Application number
PCT/JP2019/022533
Other languages
English (en)
French (fr)
Inventor
黒岩 幸生
Original Assignee
日本電産サンキョー株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 日本電産サンキョー株式会社 filed Critical 日本電産サンキョー株式会社
Publication of WO2020003957A1 publication Critical patent/WO2020003957A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • the present invention relates to an information processing device, an updating method, and a program.
  • a computer program (hereinafter, referred to as a program) describing the process as a procedure is executed by a computer such as a CPU (Central Processing Unit).
  • the information processing apparatus stores this program in a storage unit such as a memory, but often stores the program as a backup in another area or another medium of the storage unit for redundancy.
  • a technique has been considered in which after updating a program (firmware) stored in a memory, the successfully updated program is stored as a backup in a removable storage medium (for example, see Patent Document 1).
  • an object of the present invention is to provide an information processing apparatus, an update method, and a program that can reduce the memory capacity to be used and suppress the probability that an execution program being updated is damaged.
  • an information processing device of the present invention is an information processing device, A storage unit, Obtain an execution program from outside the information processing apparatus, write the obtained execution program to a save area provided in the storage unit, and after the writing is completed, execute the execution program stored in the save area.
  • a control unit that writes to an execution area provided in the storage unit to execute the execution program.
  • the information processing apparatus of the present invention has two storage areas, of which the acquired execution program is written into one save area, and then the control unit executes the execution program written into the save area. To the execution area for Therefore, in the present invention, the memory capacity to be used can be reduced, and the probability that the execution program being updated is damaged can be suppressed.
  • control unit may determine whether or not the execution program stored in the save area is correct after the writing of the execution program to the save area is completed. If the execution program stored in the area is correct, the execution program stored in the save area is written to the execution area. In this case, only the correct execution program can be written to the execution area.
  • the control unit may determine whether or not the execution program stored in the save area is correct after the writing of the execution program to the save area is completed. If the execution program stored in the area is incorrect, the execution program is acquired from outside the information processing apparatus, and the acquired execution program is written to the save area. In this case, even if a problem occurs during acquisition of the execution program and writing to the save area, the execution program can be downloaded again without affecting the execution program.
  • the control unit determines at a predetermined timing whether or not the execution program written in the execution area is correct, and the execution program written in the execution area is incorrect. If the execution program stored in the save area is correct, it is determined whether the execution program stored in the save area is correct. Write. In this case, the normality of the updated execution program can be confirmed, and the correct execution program can be stored.
  • the control unit acquires the execution program from outside the information processing apparatus, and executes the acquired execution program. Write to the save area. In this case, even if the execution program stored in the save area is incorrect, the execution program can be updated anew, and the apparatus can be easily restored.
  • the save area and the execution area are provided in storage units physically separate from each other.
  • the probability of an overall malfunction due to hardware damage can be reduced.
  • the evacuation area can be configured with an inexpensive memory or the like.
  • the update method of the present invention includes a process of acquiring an execution program from outside the device, A process of writing the acquired execution program to a save area provided in a storage unit; And writing the execution program stored in the save area to an execution area provided in the storage unit to execute the execution program after the completion of the process of writing to the save area.
  • the acquired execution program is written to one of the two storage areas, and then the execution program written to the save area is written to the execution area for actually executing the program. Therefore, in the present invention, the memory capacity to be used can be reduced, and the probability that the execution program being updated is damaged can be suppressed.
  • the updating method after completing a process of writing the execution program in the save area, determining whether or not the execution program stored in the save area is correct; If the execution program stored in the save area is correct, a process of writing the execution program stored in the save area to the execution area is performed. In this case, only the correct execution program can be written to the execution area.
  • a program of the present invention stores A procedure for acquiring an execution program from outside the device; A step of writing the acquired execution program to a save area provided in a storage unit; A program for executing, after completion of the procedure for writing to the save area, a procedure for writing an execution program stored in the save area to an execution area provided in the storage unit for executing the execution program It is characterized by being.
  • the acquired execution program is written to one of the two storage areas, and then the execution program written to the save area is written to the execution area for actually executing the program. Therefore, in the present invention, the memory capacity to be used can be reduced, and the probability that the execution program being updated is damaged can be suppressed.
  • the program after completing a procedure of writing the execution program in the save area, determining whether the execution program stored in the save area is correct, If the execution program stored in the save area is correct, a procedure for writing the execution program stored in the save area to the execution area is executed. In this case, only the correct execution program can be written to the execution area.
  • the memory capacity to be used can be reduced, and the probability that the execution program being updated is damaged can be suppressed.
  • FIG. 1 is a diagram illustrating an embodiment of an information processing apparatus according to the present invention.
  • FIG. 2 illustrates an example of an internal configuration of the information processing apparatus illustrated in FIG. 1.
  • 3 illustrates an example of a configuration of a storage area of a storage unit illustrated in FIG. 2.
  • 3 illustrates an example of a configuration of a storage area of a storage unit illustrated in FIG. 2.
  • 3 is a flowchart for explaining an example of a method for updating a program in the mode shown in FIG. 1.
  • 9 is a flowchart for explaining another example of the method of updating a program in the mode shown in FIG. 1.
  • 3 is a flowchart illustrating an example of a process in which a control unit illustrated in FIG. 2 verifies the normality of an execution program stored in a storage unit at a predetermined timing.
  • FIG. 1 is a diagram showing an embodiment of the information processing apparatus of the present invention.
  • an information processing device 100 and a higher-level device 200 are provided.
  • the information processing device 100 and the host device 200 are connected directly or via a network.
  • the host device 200 holds an execution program executed by the information processing device 100.
  • a card reader recording medium processing apparatus
  • FIG. 1 there is a card reader (recording medium processing apparatus) that reads data recorded on a magnetic card and records data on the magnetic card.
  • FIG. 2 is a diagram showing an example of the internal configuration of the information processing apparatus 100 shown in FIG.
  • the information processing apparatus 100 shown in FIG. 1 includes a control unit 110 and storage units 120 and 130, as shown in FIG.
  • the control unit 110 and the storage units 120 and 130 are connected via a processor bus 140.
  • the control unit 110 is a CPU that reads and executes an update restoration program stored in the storage unit 130 in advance. Further, the control unit 110 acquires an execution program from the higher-level device 200 which is an external device of the information processing apparatus 100, and writes the acquired execution program into a save area provided in the storage unit 120. That is, the control unit 110 downloads the execution program from the higher-level device 200, which is an external device of the information processing device 100, to the save area provided in the storage unit 120.
  • download the process from acquisition of the execution program to writing in the save area is referred to as download.
  • the acquisition of the execution program is not limited to the control unit 110 actively acquiring the execution program from the higher-level device 200. This includes receiving by the unit 110.
  • control unit 110 After the download of the execution program to the save area is completed, the control unit 110 writes the execution program stored in the save area to the execution area provided in the storage unit 130 for executing the execution program. At this time, after the download of the execution program to the save area is completed, the control unit 110 determines whether or not the execution program stored in the save area is correct. Then, when the execution program stored in the save area is correct, the control unit 110 writes the execution program stored in the save area into the execution area. On the other hand, if the execution program stored in the save area is not correct, control unit 110 downloads the execution program from host device 200 to the save area again.
  • control unit 110 determines at a predetermined timing (for example, a timing when the information processing apparatus 100 is turned on) whether or not the execution program written in the execution area provided in the storage unit 130 is correct. I do. If the execution program written in the execution area is not correct, the control unit 110 determines whether the execution program stored in the save area is correct. If the execution program stored in the save area is correct, the control unit 110 writes the execution program stored in the save area to the execution area. On the other hand, if the execution program stored in the save area is not correct, control unit 110 downloads the execution program from host device 200 to the save area again.
  • a predetermined timing for example, a timing when the information processing apparatus 100 is turned on
  • the control unit 110 when determining whether or not the execution program is correct, for example, the control unit 110 performs a CRC (Cyclic Redundancy Check) operation on the execution program and makes a determination based on the result of the operation. May be.
  • this determination is not limited to the CRC calculation, and another determination method that can determine the normality of the stored data may be used.
  • the control unit 110 may be a unit that downloads and writes the execution program in a lump, or may be a unit that downloads and writes the execution program by dividing it into predetermined units. In addition, when receiving a predetermined command from outside the information processing apparatus 100, the control unit 110 may start downloading the execution program.
  • the storage units 120 and 130 may be a non-volatile memory such as a Flash-ROM (Read Only Memory), an S-RAM (Random Access Memory) supplied with power so as to store storage data, or the like. Volatile memory.
  • the storage units 120 and 130 store (store) an execution program executed by the control unit 110 based on the control of the control unit 110.
  • the storage units 120 and 130 may be physically separate from each other or may be physically the same. That is, the storage unit 120 and the storage unit 130 may be separate memory components (hardware), or both may be included in one memory component (for example, when the storage area is divided by a memory address, May be).
  • storage unit 130 is a rewritable nonvolatile recording device built in a CPU (not shown) mounted on information processing device 100, and storage unit 120 is provided outside the CPU. Rewritable nonvolatile recording device.
  • the CPU mounted on the information processing apparatus 100 includes the control unit 110 and executes the execution program stored in the storage unit 130.
  • FIG. 3 shows an example of a configuration of a storage area of the storage unit 120 shown in FIG.
  • a save area 121 is provided as shown in FIG.
  • the save area 121 is a memory area for storing the execution program downloaded from the host device 200 by the control unit 110.
  • the execution program stored in the save area 121 becomes backup data of the execution program.
  • FIG. 4 illustrates an example of a configuration of a storage area of the storage unit 130 illustrated in FIG.
  • the storage unit 130 shown in FIG. 2 is provided with an update restoration program area 131 and an execution area 132 as shown in FIG.
  • the update restoration program area 131 includes a procedure for the control unit 110 to download the execution program from the host device 200 to the save area 121, a procedure for writing the execution program stored in the save area 121 to the execution area 132, an execution program
  • This is a memory area for storing an update / restoration program, which is a program that defines a procedure for updating and restoring a program.
  • the execution area 132 is a memory area for the control unit 110 to write the execution program stored in the save area 121.
  • the control unit 110 reads the execution program written in the execution area 132 and executes each procedure defined in the read execution program.
  • FIG. 5 is a flowchart for explaining an example of a method of updating a program in the mode shown in FIG. 1
  • the control unit 110 upon receiving a predetermined command based on an external operation to the information processing apparatus 100, the control unit 110 reads and executes the update restoration program stored in the update restoration program area 131 of the storage unit 130.
  • the control unit 110 performs the following processing according to the procedure of the executed update restoration program.
  • the control unit 110 acquires (executes data transfer) the execution program from the host device 200 and downloads (writes) the execution program to the save area 121 of the storage unit 120 (step S1).
  • the control unit 110 determines whether the download of the execution program from the host device 200 to the save area 121 of the storage unit 120 has been completed (step S2).
  • the data is written into the execution area 132 of the storage unit 130 (Step S3).
  • FIG. 6 is a flowchart for explaining another example of the program updating method in the mode shown in FIG. Similarly to the processing described using the flowchart illustrated in FIG. 5, when the control unit 110 receives a predetermined command based on an external operation to the information processing apparatus 100, the control unit 110 updates the update restoration program area 131 of the storage unit 130. And reads and executes the update restoration program stored in. The control unit 110 performs the following processing according to the procedure of the executed update restoration program. The control unit 110 acquires the execution program from the host device 200 and downloads the execution program to the save area 121 of the storage unit 120 (Step S11). The control unit 110 determines whether the download of the execution program from the host device 200 to the save area 121 of the storage unit 120 has been completed (step S12).
  • control unit 110 determines whether the execution program downloaded to the save area 121 is correct (step S13). If the execution program downloaded to the save area 121 is incorrect, the control unit 110 performs the process of step S11 again. On the other hand, when the execution program downloaded to the save area 121 is correct, the control unit 110 writes the execution program downloaded to the save area 121 to the execution area 132 of the storage unit 130 (Step S14).
  • FIG. 7 is a flowchart illustrating an example of a process in which the control unit 110 illustrated in FIG. 2 verifies the normality of the execution programs stored in the storage units 120 and 130 at a predetermined timing.
  • FIG. 7 a description will be given of the timing at which the information processing apparatus 100 is powered on as an example of the predetermined timing.
  • control unit 110 reads and executes the update restoration program stored in the update restoration program area 131 of the storage unit 130.
  • the control unit 110 performs the following processing according to the procedure of the executed update restoration program.
  • the control unit 110 determines whether or not the execution program stored in the execution area 132 of the storage unit 130 is correct (Step S22). If the execution program stored in the execution area 132 of the storage unit 130 is correct, the processing ends. On the other hand, if the execution program stored in the execution area 132 of the storage unit 130 is not correct in step S22, the control unit 110 determines whether the execution program stored in the save area 121 of the storage unit 120 is correct. Is determined (step S23). If the execution program stored in the save area 121 of the storage unit 120 is correct, the control unit 110 writes the execution program stored in the save area 121 to the execution area 132 (Step S24).
  • This writing may be performed by overwriting the execution program already stored in the execution area 132 with the execution program stored in the save area 121.
  • the control unit 110 acquires the execution program from the higher-level device 200 and transfers the execution program to the save area 121 of the storage unit 120. Download (step S25). When the download is completed, the control unit 110 writes the execution program stored in the save area 121 to the execution area 132.
  • control unit 110 determines whether the execution program stored in the save area 121 is correct, and when the execution program stored in the save area 121 is correct, the control unit 110 May write the execution program stored in the save area 121 to the execution area 132. If the execution program stored in the save area 121 of the storage unit 120 is not correct in step S23, a notification that an abnormality has occurred may be issued and the processing may be abnormally terminated. Processing (for example, diagnosis processing or recovery processing based on the result of diagnosis) may be performed.
  • the information processing apparatus 100 having two storage areas downloads the execution program to one of the save areas 121, and then controls the execution program downloaded to the save area 121.
  • the unit 110 writes the program in an execution area 132 for executing the program. Therefore, the update restoration program that performs this process is a small-scale program whose procedure is executed only for rewriting the interface with the higher-level device and the memory, and the area for storing the execution program is a save area and an execution area. This is effective in that only a small memory capacity is required. Further, the execution program is not downloaded directly from the host device 200 to the execution area 132 but is once downloaded to the save area 121.
  • the operation information is stored in the execution area 132.
  • the executed program is not damaged.
  • the time required to download the execution program from the host device 200 to the save area 121 is, for example, about 1 minute, and the time required to write the execution program stored in the save area 121 to the execution area 132 is, for example, It is about 1-2 seconds.
  • the update restoration program that executes this process is stored in a different area from the execution program, and is basically configured not to update the program. Therefore, even if the data stored in the save area and the data stored in the execution area are damaged, the execution of the update recovery program allows the execution program to be updated.
  • each function is assigned to each component, the assignment is not limited to the above. Also, the configuration of the components is not limited to the above-described embodiment, which is merely an example. Further, the embodiments may be combined.
  • the processing performed by each component described above may be performed by a logic circuit manufactured according to the purpose.
  • a program (for example, the above-described update restoration program) describing the processing content as a procedure is recorded on a recording medium that can be read by an apparatus (hereinafter, referred to as an information processing apparatus) including each component. May be read by an information processing apparatus and executed.
  • the recording medium readable by the information processing apparatus includes a floppy (registered trademark) disk, a magneto-optical disk, a DVD (Digital Versatile Disc), a CD (Compact Disc), a Blu-ray (registered trademark) Disc, and a USB (Universal Serial).
  • a transferable recording medium such as a memory, a memory such as a ROM and a RAM built in the information processing apparatus, and an HDD (Hard Disc Drive).
  • the program recorded on the recording medium is read by a CPU (for example, the control unit 110) provided in the information processing apparatus, and the same processing as described above is performed under the control of the CPU.
  • the CPU operates as a computer that executes a program read from a recording medium on which the program is recorded.
  • REFERENCE SIGNS LIST 100 information processing device 110 control unit 120, 130 storage unit 121 save area 131 update / restoration program area 132 execution area 140 processor bus 200 host device

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

使用するメモリ容量を削減し、更新中の実行プログラムが破損する確率を抑えることができる情報処理装置を提供する。この情報処理装置は、記憶部120,130と、実行プログラムを情報処理装置100の外部から取得し、取得した実行プログラムを記憶部120に設けられた退避領域へ書き込み、退避領域への書き込みが完了した後、退避領域に記憶されている実行プログラムを、実行プログラムを実行するために記憶部130に設けられた実行領域へ書き込む制御部110とを有する。

Description

情報処理装置、更新方法およびプログラム
 本発明は、情報処理装置、更新方法およびプログラムに関する。
 一般的に、所定の処理を情報処理装置に行わせる場合、その処理を手順として記述したコンピュータプログラム(以下、プログラムと称する)をCPU(Central Processing Unit)等のコンピュータに実行させる。情報処理装置は、このプログラムをメモリ等の記憶部に記憶させておくが、冗長性を持たすために記憶部の他の領域や他の媒体にもそのプログラムをバックアップとして記憶させておくことが多い。例えば、メモリに記憶されているプログラム(ファームウェア)を更新した後、更新に成功したプログラムをリムーバブルな記憶媒体にバックアップとして記憶しておく技術が考えられている(例えば、特許文献1参照。)。
特開2006-72982号公報
 特許文献1に記載されたような技術においては、実行する第1のファームウェアが記憶されているメモリ領域と、外部から受信した第2のファームウェアが記憶されるメモリ領域と、更新に成功したファームウェアを記憶するリムーバブルな記憶媒体のメモリ領域との3つのメモリ領域が必要となる。そのため、必要なメモリ領域のサイズが大きくなってしまうという問題点がある。さらに、外部の装置からプログラムを転送しながら実行プログラムを更新すると、更新中に停電等による電源断が発生した場合、実行プログラムが破損してしまうおそれがある。
 そこで、本発明の目的は、使用するメモリ容量を削減し、更新中の実行プログラムが破損する確率を抑えることができる情報処理装置、更新方法およびプログラムを提供することである。
 上記課題を解決するため、本発明の情報処理装置は、情報処理装置であって、
 記憶部と、
 当該情報処理装置の外部から実行プログラムを取得し、該取得した実行プログラムを前記記憶部に設けられた退避領域へ書き込み、該書き込みが完了した後、前記退避領域に記憶されている実行プログラムを、前記実行プログラムを実行するために前記記憶部に設けられた実行領域へ書き込む制御部とを有することを特徴とする。
 本発明の情報処理装置では、2つの記憶領域を有し、そのうち1つの退避領域へ取得した実行プログラムを書き込み、その後、退避領域に書き込まれた実行プログラムを、実際に制御部がプログラムを実行するための実行領域に書き込む。そのため、本発明では、使用するメモリ容量を削減し、更新中の実行プログラムが破損する確率を抑えることができる。
 本発明において、情報処理装置は、前記制御部は、前記実行プログラムの前記退避領域への書き込みが完了した後、前記退避領域に記憶されている実行プログラムが正しいか否かを判定し、前記退避領域に記憶されている実行プログラムが正しい場合、前記退避領域に記憶されている実行プログラムを前記実行領域へ書き込む。この場合には、正しい実行プログラムのみを実行領域へ書き込むことができる。
 本発明において、情報処理装置は、前記制御部は、前記実行プログラムの前記退避領域への書き込みが完了した後、前記退避領域に記憶されている実行プログラムが正しいか否かを判定し、前記退避領域に記憶されている実行プログラムが正しくない場合、当該情報処理装置の外部から前記実行プログラムを取得し、該取得した実行プログラムを前記退避領域へ書き込む。この場合には、実行プログラムの取得および退避領域への書き込み中に不具合が発生した場合であっても、実行プログラムには影響を与えずに、実行プログラムの再度のダウンロードが可能となる。
 本発明において、情報処理装置は、前記制御部は、前記実行領域に書き込まれている実行プログラムが正しいか否かを所定のタイミングで判定し、前記実行領域に書き込まれている実行プログラムが正しくない場合、前記退避領域に記憶されている実行プログラムが正しいか否かを判定し、前記退避領域に記憶されている実行プログラムが正しい場合、前記退避領域に記憶されている実行プログラムを前記実行領域へ書き込む。この場合には、更新後の実行プログラムの正常性を確認することができ、正しい実行プログラムを記憶しておくことができる。
 本発明において、情報処理装置は、前記制御部は、前記退避領域に記憶されている実行プログラムが正しくない場合、当該情報処理装置の外部から前記実行プログラムを取得し、該取得した実行プログラムを前記退避領域へ書き込む。この場合には、退避領域に記憶されている実行プログラムが正しくない場合であっても、新たに実行プログラムを更新することができ、装置を復旧させることが容易となる。
 本発明において、情報処理装置は、前記退避領域と前記実行領域とは、互いに物理的に別個の記憶部に設けられている。この場合には、ハードウェアの破損による全体的な動作不具合の確率を低減することができる。さらに、例えば、退避領域を安価なメモリ等で構成することができる。
 上記課題を解決するため、本発明の更新方法は、装置の外部から実行プログラムを取得する処理と、
 前記取得した実行プログラムを記憶部に設けられた退避領域へ書き込む処理と、
 前記退避領域へ書き込む処理が完了した後、前記退避領域に記憶されている実行プログラムを、前記実行プログラムを実行するために前記記憶部に設けられた実行領域へ書き込む処理とを行うことを特徴とする。
 本発明の更新方法では、2つの記憶領域のうち1つの退避領域へ取得した実行プログラムを書き込み、その後、退避領域に書き込まれた実行プログラムを、実際にプログラムを実行するための実行領域に書き込む。そのため、本発明では、使用するメモリ容量を削減し、更新中の実行プログラムが破損する確率を抑えることができる。
 本発明において、更新方法では、前記実行プログラムの前記退避領域への書き込む処理が完了した後、前記退避領域に記憶されている実行プログラムが正しいか否かを判定する処理と、
 前記退避領域に記憶されている実行プログラムが正しい場合、前記退避領域に記憶されている実行プログラムを前記実行領域へ書き込む処理とを行う。この場合には、正しい実行プログラムのみを実行領域へ書き込むことができる。
 上記課題を解決するため、本発明のプログラムは、コンピュータに、
 装置の外部から実行プログラムを取得する手順と、
 前記取得した実行プログラムを記憶部に設けられた退避領域へ書き込む手順と、
 前記退避領域へ書き込む手順が完了した後、前記退避領域に記憶されている実行プログラムを、前記実行プログラムを実行するために前記記憶部に設けられた実行領域へ書き込む手順とを実行させるためのプログラムであることを特徴とする。
 本発明のプログラムでは、2つの記憶領域のうち1つの退避領域へ取得した実行プログラムを書き込み、その後、退避領域に書き込まれた実行プログラムを、実際にプログラムを実行するための実行領域に書き込む。そのため、本発明では、使用するメモリ容量を削減し、更新中の実行プログラムが破損する確率を抑えることができる。
 本発明において、プログラムでは、前記実行プログラムの前記退避領域への書き込む手順が完了した後、前記退避領域に記憶されている実行プログラムが正しいか否かを判定する手順と、
 前記退避領域に記憶されている実行プログラムが正しい場合、前記退避領域に記憶されている実行プログラムを前記実行領域へ書き込む手順とを実行させる。この場合には、正しい実行プログラムのみを実行領域へ書き込むことができる。
 以上説明したように、本発明においては、使用するメモリ容量を削減し、更新中の実行プログラムが破損する確率を抑えることができる。
本発明の情報処理装置の実施の一形態を示す図である。 図1に示した情報処理装置の内部構成の一例を示す図である。 図2に示した記憶部の記憶領域の構成の一例を示す。 図2に示した記憶部の記憶領域の構成の一例を示す。 図1に示した形態におけるプログラムの更新方法の一例を説明するためのフローチャートである。 図1に示した形態におけるプログラムの更新方法の他の例を説明するためのフローチャートである。 図2に示した制御部が、所定のタイミングで記憶部に記憶されている実行プログラムの正常性を検証する処理の一例を説明するためのフローチャートである。
 以下に、本発明の実施の形態について図面を参照して説明する。
 図1は、本発明の情報処理装置の実施の一形態を示す図である。本形態は図1に示すように、情報処理装置100と、上位装置200とが設けられている。情報処理装置100と上位装置200とは、直接またはネットワークを介して接続されている。上位装置200は、情報処理装置100が実行する実行プログラムを保持している。図1に示した情報処理装置100の一例として、磁気カードに記録されたデータの読み取りおよび磁気カードへのデータの記録を行うカードリーダ(記録媒体処理装置)等が挙げられる。
 図2は、図1に示した情報処理装置100の内部構成の一例を示す図である。図1に示した情報処理装置100は図2に示すように、制御部110と、記憶部120,130とを有する。制御部110と、記憶部120,130とは、プロセッサバス140を介して接続されている。
 制御部110は、記憶部130にあらかじめ記憶されている更新復旧プログラムを読み出して実行するCPUである。また、制御部110は、情報処理装置100の外部装置である上位装置200から実行プログラムを取得し、取得した実行プログラムを記憶部120に設けられた退避領域へ書き込む。つまり、制御部110は、情報処理装置100の外部装置である上位装置200から実行プログラムを記憶部120に設けられた退避領域へダウンロードする。以下、この実行プログラムの取得から退避領域への書き込みまでをダウンロードと称する。また、この実行プログラムの取得は、制御部110が上位装置200から実行プログラムを能動的に取得することに限らず、上位装置200から送信(マルチキャスト送信やブロードキャスト送信も含む)された実行プログラムを制御部110が受信することも含む。制御部110は、実行プログラムの退避領域へのダウンロードが完了した後、退避領域に記憶されている実行プログラムを、実行プログラムを実行するために記憶部130に設けられた実行領域へ書き込む。このとき、制御部110は、実行プログラムの退避領域へのダウンロードが完了した後、退避領域に記憶されている実行プログラムが正しいか否かを判定する。そして、退避領域に記憶されている実行プログラムが正しい場合、制御部110は、退避領域に記憶されている実行プログラムを実行領域へ書き込む。一方、退避領域に記憶されている実行プログラムが正しくない場合、制御部110は、上位装置200から実行プログラムを退避領域へ再度ダウンロードする。
 また、制御部110は、記憶部130に設けられた実行領域に書き込まれている実行プログラムが正しいか否かを所定のタイミング(例えば、情報処理装置100に電源が投入されたタイミング等)で判定する。そして、実行領域に書き込まれている実行プログラムが正しくない場合、制御部110は、退避領域に記憶されている実行プログラムが正しいか否かを判定する。退避領域に記憶されている実行プログラムが正しい場合、制御部110は、退避領域に記憶されている実行プログラムを実行領域へ書き込む。一方、退避領域に記憶されている実行プログラムが正しくない場合、制御部110は、上位装置200から実行プログラムを退避領域へ再度ダウンロードする。
 ここで、実行プログラムが正しいか否かを判定する際、例えば、制御部110は、実行プログラムに対してCRC(Cyclic Redundancy Check)演算を行い、その演算の結果に基づいて判定を行うものであっても良い。また、この判定には、CRC演算に限らず、格納データの正常性を判定することができる他の判定方法を用いるものであっても良い。
 なお、制御部110は、実行プログラムを一括してダウンロードや書き込みを行うものであっても良いし、所定の単位に分割してダウンロードや書き込みを行うものであっても良い。また、制御部110は、情報処理装置100の外部からの所定のコマンドを受け付けた場合、実行プログラムのダウンロードを開始するものであっても良い。
 記憶部120,130は、Flash-ROM(Read Only Memory)等の不揮発性のメモリであっても良いし、記憶データが保存されるように電源が供給されたS-RAM(Random Access Memory)等の揮発性のメモリであっても良い。記憶部120,130は、制御部110の制御に基づいて、制御部110が実行する実行プログラムを記憶(格納)する。記憶部120,130は、互いに物理的に別個のものであっても良いし、物理的に同一のものであっても良い。つまり、記憶部120と記憶部130とが、互いに別々のメモリ部品(ハードウェア)であっても良いし、双方が1つのメモリ部品内に含まれる(例えば、メモリアドレスで記憶領域が分割されている)ものであっても良い。本実施の形態においては、記憶部130は、情報処理装置100に搭載されたCPU(不図示)に内蔵された書き換え可能な不揮発性記録装置であり、記憶部120は、そのCPUの外部に設けられた書き換え可能な不揮発性記録装置である。ここで、情報処理装置100に搭載されたCPUは、制御部110を含むものであって、記憶部130に記憶された実行プログラムを実行するものである。
 図3は、図2に示した記憶部120の記憶領域の構成の一例を示す。図2に示した記憶部120には図3に示すように、退避領域121が設けられている。退避領域121は、制御部110が上位装置200からダウンロードした実行プログラムを記憶するためのメモリ領域である。退避領域121に記憶された実行プログラムが、実行プログラムのバックアップデータとなる。
 図4は、図2に示した記憶部130の記憶領域の構成の一例を示す。図2に示した記憶部130には図4に示すように、更新復旧プログラム領域131と、実行領域132とが設けられている。更新復旧プログラム領域131は、制御部110が、上位装置200から退避領域121への実行プログラムのダウンロードを行う手順や、退避領域121に記憶されている実行プログラムを実行領域132へ書き込む手順、実行プログラムの更新や復旧を行うための手順等を定めたプログラムである更新復旧プログラムを記憶しておくためのメモリ領域である。実行領域132は、制御部110が退避領域121に記憶されている実行プログラムを書き込むためのメモリ領域である。制御部110は、実行領域132に書き込まれた実行プログラムを読み出し、読み出した実行プログラムに定められたそれぞれの手順を実行する。
 以下に、図1に示した形態におけるプログラムの更新方法について説明する。図5は、図1に示した形態におけるプログラムの更新方法の一例を説明するためのフローチャートである。
 まず、制御部110は、情報処理装置100への外部からの操作に基づいて所定のコマンドを受け付けると、記憶部130の更新復旧プログラム領域131に記憶されている更新復旧プログラムを読み出して実行する。実行された更新復旧プログラムの手順に従って、制御部110は、以下の処理を行う。
 制御部110は、実行プログラムを上位装置200から取得(データ転送)し、記憶部120の退避領域121へダウンロードする(書き込む)(ステップS1)。制御部110は、上位装置200から記憶部120の退避領域121への実行プログラムのダウンロードが完了したかどうかを判定し(ステップS2)、ダウンロードが完了したら、退避領域121へダウンロードされた実行プログラムを記憶部130の実行領域132へ書き込む(ステップS3)。
 図6は、図1に示した形態におけるプログラムの更新方法の他の例を説明するためのフローチャートである。
 図5に示したフローチャートを用いて説明した処理と同様に、制御部110は、情報処理装置100への外部からの操作に基づいて所定のコマンドを受け付けると、記憶部130の更新復旧プログラム領域131に記憶されている更新復旧プログラムを読み出して実行する。実行された更新復旧プログラムの手順に従って、制御部110は、以下の処理を行う。
 制御部110は、実行プログラムを上位装置200から取得し、記憶部120の退避領域121へダウンロードする(ステップS11)。制御部110は、上位装置200から記憶部120の退避領域121への実行プログラムのダウンロードが完了したかどうかを判定する(ステップS12)。ダウンロードが完了したら、制御部110は、退避領域121へダウンロードされた実行プログラムが正しいか否かを判定する(ステップS13)。退避領域121へダウンロードされた実行プログラムが正しくない場合、制御部110は再度ステップS11の処理を行う。一方、退避領域121へダウンロードされた実行プログラムが正しい場合、制御部110は、退避領域121へダウンロードされた実行プログラムを記憶部130の実行領域132へ書き込む(ステップS14)。
 以下に、図2に示した制御部110が、所定のタイミングで記憶部120,130に記憶されている実行プログラムの正常性を検証する処理を説明する。図7は、図2に示した制御部110が、所定のタイミングで記憶部120,130に記憶されている実行プログラムの正常性を検証する処理の一例を説明するためのフローチャートである。以下、所定のタイミングとして、情報処理装置100の電源が投入されたタイミングを例に挙げて説明する。
 まず、情報処理装置100の電源が投入されると(ステップS21)、制御部110は、記憶部130の更新復旧プログラム領域131に記憶されている更新復旧プログラムを読み出して実行する。実行された更新復旧プログラムの手順に従って、制御部110は、以下の処理を行う。
 制御部110は、記憶部130の実行領域132に記憶されている実行プログラムが正しいか否かを判定する(ステップS22)。記憶部130の実行領域132に記憶されている実行プログラムが正しい場合、処理は終了する。
 一方、ステップS22にて、記憶部130の実行領域132に記憶されている実行プログラムが正しくない場合、制御部110は、記憶部120の退避領域121に記憶されている実行プログラムが正しいか否かを判定する(ステップS23)。記憶部120の退避領域121に記憶されている実行プログラムが正しい場合、制御部110は、退避領域121に記憶されている実行プログラムを実行領域132へ書き込む(ステップS24)。この書き込みは、実行領域132にすでに書き込まれている実行プログラムに、退避領域121に記憶されている実行プログラムを上書きするものでも良い。
 一方、ステップS23にて、記憶部120の退避領域121に記憶されている実行プログラムが正しくない場合は、制御部110は、実行プログラムを上位装置200から取得し、記憶部120の退避領域121へダウンロードする(ステップS25)。ダウンロードが完了したら、制御部110は、退避領域121に記憶されている実行プログラムを実行領域132へ書き込む。なお、ステップS25の処理の後、制御部110が退避領域121に記憶されている実行プログラムが正しいか否かを判定し、退避領域121に記憶されている実行プログラムが正しい場合に、制御部110が退避領域121に記憶されている実行プログラムを実行領域132へ書き込むものであっても良い。また、ステップS23にて、記憶部120の退避領域121に記憶されている実行プログラムが正しくない場合は、異常が発生した通知を行って異常終了するものであっても良いし、所定の障害復旧処理(例えば、診断処理や診断の結果に基づく復旧処理)を行うものであっても良い。
 このように、本発明においては、2つの記憶領域を有する情報処理装置100が、そのうち1つの退避領域121へ実行プログラムをダウンロードし、その後、退避領域121にダウンロードされた実行プログラムを、実際に制御部110がプログラムを実行するための実行領域132に書き込む。そのため、この処理を行う更新復旧プログラムは、実行する手順が上位装置とのインタフェースおよびメモリの書き換え処理のみの小規模なプログラムとなり、また、実行プログラムを格納するための領域は退避領域と実行領域との2つのみとなり、必要となるメモリ容量が小さなもので足りるという効果を奏する。
 また、実行プログラムが上位装置200から実行領域132へ直接ダウンロードされるのではなく、退避領域121へ一旦ダウンロードされる。そのため、情報処理装置100の電源断、情報処理装置100と上位装置200との間の接続ケーブルの抜去や切断、上位装置200におけるプログラムの更新アプリケーションの操作ミス等の原因により、実行領域132に記憶されている実行プログラムが破損することが無い。なお、実行プログラムの上位装置200から退避領域121へのダウンロードにかかる時間は、例えば1分程度であり、退避領域121に記憶されている実行プログラムの実行領域132への書き込みにかかる時間は、例えば1~2秒程度である。
 また、この処理を実行する更新復旧プログラムは、実行プログラムとは別の領域に記憶されており、基本的にプログラムの更新は行われないように構成されている。そのため、退避領域に記憶されているデータおよび実行領域に記憶されているデータが破損した場合であっても、更新復旧プログラムを実行することで、実行プログラムの更新が可能となる。
 以上、各構成要素に各機能(処理)それぞれを分担させて説明したが、この割り当ては上述したものに限定しない。また、構成要素の構成についても、上述した形態はあくまでも例であって、これに限定しない。また、各実施の形態を組み合わせたものであっても良い。
 上述した各構成要素が行う処理は、目的に応じてそれぞれ作製された論理回路で行うようにしても良い。また、処理内容を手順として記述したプログラム(例えば、上述した更新復旧プログラム)を各構成要素を具備した装置(以下、情報処理装置と称する)にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを情報処理装置に読み込ませ、実行するものであっても良い。情報処理装置にて読取可能な記録媒体とは、フロッピー(登録商標)ディスク、光磁気ディスク、DVD(Digital Versatile Disc)、CD(Compact Disc)、Blu-ray(登録商標) Disc、USB(Universal Serial Bus)メモリなどの移設可能な記録媒体の他、情報処理装置に内蔵されたROM、RAM等のメモリやHDD(Hard Disc Drive)等を指す。この記録媒体に記録されたプログラムは、情報処理装置に設けられたCPU(例えば、制御部110)にて読み込まれ、CPUの制御によって、上述したものと同様の処理が行われる。ここで、CPUは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
 100  情報処理装置
 110  制御部
 120,130  記憶部
 121  退避領域
 131  更新復旧プログラム領域
 132  実行領域
 140  プロセッサバス
 200  上位装置

Claims (10)

  1.  情報処理装置であって、
     記憶部と、
     当該情報処理装置の外部から実行プログラムを取得し、該取得した実行プログラムを前記記憶部に設けられた退避領域へ書き込み、該書き込みが完了した後、前記退避領域に記憶されている実行プログラムを、前記実行プログラムを実行するために前記記憶部に設けられた実行領域へ書き込む制御部とを有する情報処理装置。
  2.  請求項1に記載の情報処理装置において、
     前記制御部は、前記実行プログラムの前記退避領域への書き込みが完了した後、前記退避領域に記憶されている実行プログラムが正しいか否かを判定し、前記退避領域に記憶されている実行プログラムが正しい場合、前記退避領域に記憶されている実行プログラムを前記実行領域へ書き込む情報処理装置。
  3.  請求項1または請求項2に記載の情報処理装置において、
     前記制御部は、前記実行プログラムの前記退避領域への書き込みが完了した後、前記退避領域に記憶されている実行プログラムが正しいか否かを判定し、前記退避領域に記憶されている実行プログラムが正しくない場合、当該情報処理装置の外部から前記実行プログラムを取得し、該取得した実行プログラムを前記退避領域へ書き込む情報処理装置。
  4.  請求項1から3のいずれか1項に記載の情報処理装置において、
     前記制御部は、前記実行領域に書き込まれている実行プログラムが正しいか否かを所定のタイミングで判定し、前記実行領域に書き込まれている実行プログラムが正しくない場合、前記退避領域に記憶されている実行プログラムが正しいか否かを判定し、前記退避領域に記憶されている実行プログラムが正しい場合、前記退避領域に記憶されている実行プログラムを前記実行領域へ書き込む情報処理装置。
  5.  請求項4に記載の情報処理装置において、
     前記制御部は、前記退避領域に記憶されている実行プログラムが正しくない場合、当該情報処理装置の外部から前記実行プログラムを取得し、該取得した実行プログラムを前記退避領域へ書き込む情報処理装置。
  6.  請求項1から5のいずれか1項に記載の情報処理装置において、
     前記退避領域と前記実行領域とは、互いに物理的に別個の記憶部に設けられている情報処理装置。
  7.  装置の外部から実行プログラムを取得する処理と、
     前記取得した実行プログラムを記憶部に設けられた退避領域へ書き込む処理と、
     前記退避領域へ書き込む処理が完了した後、前記退避領域に記憶されている実行プログラムを、前記実行プログラムを実行するために前記記憶部に設けられた実行領域へ書き込む処理とを行う更新方法。
  8.  請求項7に記載の更新方法において、
     前記実行プログラムの前記退避領域への書き込む処理が完了した後、前記退避領域に記憶されている実行プログラムが正しいか否かを判定する処理と、
     前記退避領域に記憶されている実行プログラムが正しい場合、前記退避領域に記憶されている実行プログラムを前記実行領域へ書き込む処理とを行う更新方法。
  9.  コンピュータに、
     装置の外部から実行プログラムを取得する手順と、
     前記取得した実行プログラムを記憶部に設けられた退避領域へ書き込む手順と、
     前記退避領域へ書き込む手順が完了した後、前記退避領域に記憶されている実行プログラムを、前記実行プログラムを実行するために前記記憶部に設けられた実行領域へ書き込む手順とを実行させるためのプログラム。
  10.  請求項9に記載のプログラムにおいて、
     前記実行プログラムの前記退避領域への書き込む手順が完了した後、前記退避領域に記憶されている実行プログラムが正しいか否かを判定する手順と、
     前記退避領域に記憶されている実行プログラムが正しい場合、前記退避領域に記憶されている実行プログラムを前記実行領域へ書き込む手順とを実行させるためのプログラム。
PCT/JP2019/022533 2018-06-27 2019-06-06 情報処理装置、更新方法およびプログラム WO2020003957A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018121483A JP2020003968A (ja) 2018-06-27 2018-06-27 情報処理装置、更新方法およびプログラム
JP2018-121483 2018-06-27

Publications (1)

Publication Number Publication Date
WO2020003957A1 true WO2020003957A1 (ja) 2020-01-02

Family

ID=68984855

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/022533 WO2020003957A1 (ja) 2018-06-27 2019-06-06 情報処理装置、更新方法およびプログラム

Country Status (2)

Country Link
JP (1) JP2020003968A (ja)
WO (1) WO2020003957A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020425A (ja) * 1998-07-01 2000-01-21 Toyo Commun Equip Co Ltd 通信網における端末装置の記憶内容の更新方法
JP2003122590A (ja) * 2001-10-16 2003-04-25 Pfu Ltd プログラム書替え方法および電子機器装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020425A (ja) * 1998-07-01 2000-01-21 Toyo Commun Equip Co Ltd 通信網における端末装置の記憶内容の更新方法
JP2003122590A (ja) * 2001-10-16 2003-04-25 Pfu Ltd プログラム書替え方法および電子機器装置

Also Published As

Publication number Publication date
JP2020003968A (ja) 2020-01-09

Similar Documents

Publication Publication Date Title
US7818556B2 (en) Storage apparatus, control method, and control device which can be reliably started up when power is turned on even after there is an error during firmware update
JP4486609B2 (ja) ストレージ装置、ストレージ装置のストレージ制御ファームウェアの活性プログラム交換方法及びストレージ制御ファームウェアの活性プログラム交換のためのプログラム
US8291190B2 (en) Disk drive including a host interface supporting different sizes of data sectors and method for writing data thereto
JP2011253576A (ja) 記録媒体制御装置、及びその方法
JP2000112831A (ja) ディスク記録再生方法および装置
US20080126784A1 (en) Storage apparatus, control method, and control device
US7664981B2 (en) Method of restoring source data of hard disk drive and method of reading system information thereof
JP2010033678A (ja) ディスク装置、回路基板およびエラーログ情報記録方法
JP2014137711A (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
JP2018022333A (ja) ストレージ制御装置および記憶装置管理プログラム
JP2009187049A (ja) 装置
US8429336B2 (en) Disk drive and method of changing a program therefor
WO2020003957A1 (ja) 情報処理装置、更新方法およびプログラム
JP2001142650A (ja) アレイディスク制御方法及び装置
JP2002100126A (ja) 記録再生装置、記憶装置、コンピュータ装置、データ処理方法、プログラム伝送装置
JP2009003557A (ja) 装置起動時診断方法、診断プログラム及び起動時診断装置
JP4747937B2 (ja) 情報記録装置
JP2007183808A (ja) 磁気ディスク装置
JP2005316667A (ja) ファームウェアの更新方法
JP2004126878A (ja) データ書込み、データ書込み読出し装置、データ書込み、データ書込み読出し方法
JP3335969B2 (ja) 磁気ディスク装置
JP2001307423A (ja) 光磁気ディスク装置
JP2000089915A (ja) ディスクアレイ装置
JP2023100087A (ja) 電子情報記録媒体の復旧処理方法
JP2004318465A (ja) 電子機器

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19825273

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19825273

Country of ref document: EP

Kind code of ref document: A1