JP7184424B2 - Update processing device, update processing method, and program - Google Patents

Update processing device, update processing method, and program Download PDF

Info

Publication number
JP7184424B2
JP7184424B2 JP2018041160A JP2018041160A JP7184424B2 JP 7184424 B2 JP7184424 B2 JP 7184424B2 JP 2018041160 A JP2018041160 A JP 2018041160A JP 2018041160 A JP2018041160 A JP 2018041160A JP 7184424 B2 JP7184424 B2 JP 7184424B2
Authority
JP
Japan
Prior art keywords
processor
firmware
updated
designated
memory area
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.)
Active
Application number
JP2018041160A
Other languages
Japanese (ja)
Other versions
JP2019159415A (en
Inventor
俊夫 猪熊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC Solution Innovators Ltd
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 NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP2018041160A priority Critical patent/JP7184424B2/en
Publication of JP2019159415A publication Critical patent/JP2019159415A/en
Application granted granted Critical
Publication of JP7184424B2 publication Critical patent/JP7184424B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、マルチプロセッサを搭載したシステムにおいてファームウェアを更新するための、更新処理装置、及び更新処理方法に関し、更には、これらを実現するためのプログラムに関する。 The present invention relates to an update processing device and an update processing method for updating firmware in a system equipped with a multiprocessor, and also to a program for realizing these.

近年、シングルプロセッサの処理性能の限界から、組み込みシステムを含むコンピュータシステムにおいては、マルチプロセッサを搭載する場合が増加している。このようなマルチプロセッサを搭載したシステム(以下「マルチプロセッサシステム」と表記する。)によれば、大量のデータ及び命令を並列に処理できるため、システム全体の処理能力が飛躍的に向上することになる(例えば、特許文献1~3参照)。 2. Description of the Related Art In recent years, computer systems, including embedded systems, are increasingly equipped with multiprocessors due to limitations in the processing performance of single processors. A system equipped with such a multiprocessor (hereinafter referred to as a "multiprocessor system") can process a large amount of data and instructions in parallel, thereby dramatically improving the processing performance of the entire system. (See Patent Documents 1 to 3, for example).

また、このようなマルチプロセッサシステムには、対称型マルチプロセッシング(SMP:Symmetric Multiprocessing)と呼ばれる方式と、非対称型マルチプロセッシング(AMP:Asymmetric Multiprocessing)と呼ばれる方式とがある。このうち、SMPは、プロセッサ間に特別な役割及び主従関係等がなく、各プロセッサは対等であり、処理要求が全てのプロセッサに均等に割り当てられる方式である。一方、AMPは、プロセッサ間に特別な役割及び主従関係等があり、プロセッサ毎に異なる処理が割り当てられる方式である。 Such multiprocessor systems include a system called symmetric multiprocessing (SMP) and a system called asymmetric multiprocessing (AMP). Of these, SMP is a method in which there are no special roles or master-slave relationships between processors, each processor is equal, and processing requests are equally allocated to all processors. On the other hand, AMP is a method in which processors have special roles and master-slave relationships, and different processing is assigned to each processor.

国際公開第2010/137262号WO2010/137262 国際公開第2010/119932号WO2010/119932 国際公開第2014/006732号WO2014/006732

ところで、上述したマルチプロセッサシステムであっても、シングルプロセッサで構成されたシステム(以下「シングルプロセッサシステム」と表記する。)と同様に、ファームウェアをアップデートする場合は、システムを一旦停止し、その後、再起動を行う必要がある。 By the way, even in the multiprocessor system described above, similar to a system composed of a single processor (hereinafter referred to as a "single processor system"), when updating the firmware, the system must be temporarily stopped, and then A reboot is required.

しかしながら、マルチプロセッサシステムは、シングルプロセッサシステムに比べて処理性能が高く、高い業務処理能力が求められる場面に採用されている。このため、マルチプロセッサシステムにおいては、システムを停止することなく、ファームウェアをアップデートすることが強く求められている。 However, multiprocessor systems have higher processing performance than single processor systems and are used in situations where high business processing performance is required. Therefore, in multiprocessor systems, it is strongly desired to update the firmware without stopping the system.

本発明の目的の一例は、上記問題を解消し、マルチプロセッサシステムにおいて、再起動を行うことなく、ファームウェアをアップデートし得る、更新処理装置、更新処理方法、及びプログラムを提供することにある。 It is an object of the present invention to solve the above problem and provide an update processing device, an update processing method, and a program that can update firmware without rebooting in a multiprocessor system.

上記目的を達成するため、本発明の一側面における更新処理装置は、複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれか又は全部のファームウェアを更新するための装置であって、
前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以
外のプロセッサを指定し、その動作を停止させる、プロセッサ指定部と、
指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、代替処理実行部と、
前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ファームウェア更新部と、
を備えている、ことを特徴とする。
To achieve the above object, an update processing device according to one aspect of the present invention is a device for updating firmware of any one or all of a plurality of processors in a multiprocessor system having a plurality of processors. hand,
a processor designation unit that designates a processor other than the processor whose firmware is to be updated from among the plurality of processors, and stops the operation of the processor;
The firmware after the update is written in the memory area of the designated processor, and the designated processor can access the data stored in the memory area of the processor to be updated. an alternative processing execution unit that modifies the memory map setting of the processor and causes the designated processor to perform the processing of the processor to be updated;
a firmware update unit that writes the updated firmware in a memory area of the processor to be updated, and updates the firmware of the processor to be updated;
characterized by comprising

また、上記目的を達成するため、本発明の一側面における更新処理方法は、複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれか又は全部のファームウェアを更新するための方法であって、
(a)前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、その動作を停止させる、ステップと、
(b)指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、ステップと、
(c)前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ステップと、
を有する、ことを特徴とする。
In order to achieve the above object, an update processing method according to one aspect of the present invention is a method for updating firmware of any one or all of a plurality of processors in a multiprocessor system having a plurality of processors. and
(a) specifying, from among the plurality of processors, a processor other than the processor whose firmware is to be updated, and stopping its operation;
(b) write the updated firmware in the memory area of the designated processor, and allow the designated processor to access the data stored in the memory area of the processor to be updated; modifying the memory map settings of the designated processor and causing the designated processor to perform the processing of the processor to be updated;
(c) writing the updated firmware in a memory area of the processor to be updated, and updating the firmware of the processor to be updated;
characterized by having

更に、上記目的を達成するため、本発明の一側面におけるプログラムは、複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれか又は全部のファームウェアを更新するためのプログラムであって、
前記複数のプロセッサのいずれかに、
(a)前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、その動作を停止させる、ステップと、
(b)指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、ステップと、
(c)前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ステップと、
を実行させる、ことを特徴とする。
Further, in order to achieve the above object, a program in one aspect of the present invention is a program for updating firmware of any one or all of the plurality of processors in a multiprocessor system having a plurality of processors. hand,
in any one of the plurality of processors,
(a) specifying, from among the plurality of processors, a processor other than the processor whose firmware is to be updated, and stopping its operation;
(b) write the updated firmware in the memory area of the designated processor, and allow the designated processor to access the data stored in the memory area of the processor to be updated; modifying the memory map settings of the designated processor and causing the designated processor to perform the processing of the processor to be updated;
(c) writing the updated firmware in a memory area of the processor to be updated, and updating the firmware of the processor to be updated;
is characterized by executing

以上のように本発明によれば、マルチプロセッサシステムにおいて、再起動を行うことなく、ファームウェアをアップデートすることができる。 As described above, according to the present invention, in a multiprocessor system, firmware can be updated without rebooting.

図1は、本発明の実施の形態における更新処理装置の概略構成を示すブロック図である。FIG. 1 is a block diagram showing a schematic configuration of an update processing device according to an embodiment of the present invention. 図2は、本発明の実施の形態における更新処理装置の具体的構成を示すブロック図である。FIG. 2 is a block diagram showing a specific configuration of the update processing device according to the embodiment of the present invention. 図3は、本発明の実施の形態において、ファームウェアが有している、データのアクセス先のアドレスを示すテーブルの一例を示す図である。FIG. 3 is a diagram showing an example of a table indicating addresses of data access destinations held by firmware in the embodiment of the present invention. 図4は、本発明の実施の形態1における更新処理装置の動作を示すフロー図である。FIG. 4 is a flowchart showing the operation of the update processing device according to Embodiment 1 of the present invention. 図5は、図4に示す更新処理の際のサブプロセッサの動作を示す図である。FIG. 5 is a diagram showing the operation of the sub-processor during the update process shown in FIG.

(実施の形態)
以下、本発明の実施の形態における、更新処理装置、更新処理方法、及びプログラムについて、図1~図5を参照しながら説明する。
(Embodiment)
Hereinafter, an update processing device, an update processing method, and a program according to embodiments of the present invention will be described with reference to FIGS. 1 to 5. FIG.

[装置構成]
最初に、図1を用いて、本発明の実施の形態における更新処理装置の概略構成について説明する。図1は、本発明の実施の形態における更新処理装置の概略構成を示すブロック図である。
[Device configuration]
First, using FIG. 1, a schematic configuration of an update processing device according to an embodiment of the present invention will be described. FIG. 1 is a block diagram showing a schematic configuration of an update processing device according to an embodiment of the present invention.

図1に示す本実施の形態における更新処理装置10は、複数のプロセッサを備えたマルチプロセッサシステム100において、複数のプロセッサのうちの、いずれか又は全部のプロセッサのファームウェアを更新するための装置である。 The update processing device 10 according to the present embodiment shown in FIG. 1 is a device for updating the firmware of any or all of a plurality of processors in a multiprocessor system 100 having a plurality of processors. .

図1に示すように、更新処理装置10は、プロセッサ指定部11と、代替処理実行部12と、ファームウェア更新部13とを備えている。プロセッサ指定部15は、複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、その動作を停止させる。 As shown in FIG. 1 , the update processing device 10 includes a processor designation unit 11 , an alternative processing execution unit 12 and a firmware update unit 13 . The processor designation unit 15 designates a processor other than the processor whose firmware is to be updated from among the plurality of processors, and stops the operation of the processor.

代替処理実行部12は、まず、指定されたプロセッサのメモリ領域に、更新後のファームウェアを書き込む。次いで、代替処理実行部12は、指定されたプロセッサが、更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正する。そして、代替処理実行部12は、指定されたプロセッサに、更新対象となっているプロセッサの処理を行わせる。 The alternative process execution unit 12 first writes the updated firmware to the memory area of the designated processor. Next, the alternative process execution unit 12 modifies the memory map setting of the specified processor so that the specified processor can access the data stored in the memory area of the processor to be updated. Then, the alternative process execution unit 12 causes the specified processor to perform the process of the processor to be updated.

ファームウェア更新部13は、更新対象となっているプロセッサのメモリ領域に、更新後のファームウェアを書き込み、更新対象となっているプロセッサのファームウェアを更新する。 The firmware update unit 13 writes the updated firmware in the memory area of the processor to be updated, and updates the firmware of the processor to be updated.

このように、本実施の形態では、マルチプロセッサシステムを構成するプロセッサのファームウェアを更新しないといけない場面において、更新対象となるプロセッサの処理を、別のプロセッサによって肩代わりすることができる。このため、本実施の形態によれば、マルチプロセッサシステムにおいて、再起動を行うことなく、ファームウェアをアップデートすることができる。 As described above, in this embodiment, when the firmware of a processor constituting a multiprocessor system needs to be updated, the processing of the processor to be updated can be taken over by another processor. Therefore, according to this embodiment, the firmware can be updated without restarting in the multiprocessor system.

続いて、図2を用いて、本実施の形態における更新処理装置10の構成をより具体的に説明する。図2は、本発明の実施の形態における更新処理装置の具体的構成を示すブロック図である。 Next, with reference to FIG. 2, the configuration of the update processing device 10 according to this embodiment will be described more specifically. FIG. 2 is a block diagram showing a specific configuration of the update processing device according to the embodiment of the present invention.

図2の例では、マルチプロセッサシステム100は、単一のメインプロセッサ20と、メインプロセッサ20の指示に応じて動作する2つ以上のサブプロセッサ30とを備えている。メインプロセッサ20と、サブプロセッサ30とは、バス40によって接続されている。なお、メインプロセッサ20と、サブプロセッサ30とは、相手のメモリを読み書
き可能な環境にあれば良く、バス40以外の手段によって接続されていても良い。
In the example of FIG. 2 , the multiprocessor system 100 includes a single main processor 20 and two or more sub-processors 30 that operate according to instructions from the main processor 20 . Main processor 20 and sub-processor 30 are connected by bus 40 . The main processor 20 and the sub-processor 30 may be connected by means other than the bus 40 as long as they are in an environment in which they can read and write to each other's memory.

また、マルチプロセッサシステム100において、メインプロセッサ20は、専用のRAM(Random Access Memory)21と、ファームウェアを格納したフラッシュROM(Read Only Memory)22と、専用のI/Oコントローラ23とを備えている。メインプロセッサ20は、起動時において、フラッシュROMからファームウェアを読み出し、これをRAM21に展開する。また、各サブプロセッサ30も、専用のRAM31を備えている。なお、本実施の形態において、サブプロセッサ30の個数は特に限定されるものではない。 In the multiprocessor system 100, the main processor 20 includes a dedicated RAM (Random Access Memory) 21, a flash ROM (Read Only Memory) 22 storing firmware, and a dedicated I/O controller 23. . The main processor 20 reads the firmware from the flash ROM and develops it in the RAM 21 at startup. Each sub-processor 30 also has a dedicated RAM 31 . In this embodiment, the number of sub-processors 30 is not particularly limited.

このようなマルチプロセッサシステム100において、通常、サブプロセッサ30のファームウェアを更新する場合は、システム自体を停止しなくても良いが、メインプロセッサ20のファームウェアを更新する場合は、システム自体を停止する必要性がある。これに対して、更新処理装置10によれば、システム自体を停止することなく、メインプロセッサ20のファームウェアの更新が可能となる。 In such a multiprocessor system 100, normally, when updating the firmware of the sub-processor 30, the system itself does not have to be stopped, but when updating the firmware of the main processor 20, the system itself needs to be stopped. have a nature. On the other hand, according to the update processing device 10, the firmware of the main processor 20 can be updated without stopping the system itself.

また、本実施の形態では、更新処理装置10は、メインプロセッサ20によって構築されている。具体的には、後述する本実施の形態におけるプログラムが、メインプロセッサ20のRAM21のメモリ領域に展開されると、メインプロセッサ20はプログラムのコードを実行する。これにより、更新処理装置10が構築されることになる。 Further, in the present embodiment, the update processing device 10 is constructed by the main processor 20 . Specifically, when a program in this embodiment, which will be described later, is developed in the memory area of the RAM 21 of the main processor 20, the main processor 20 executes the code of the program. As a result, the update processing device 10 is constructed.

本実施の形態では、更新処理装置10において、プロセッサ指定部11は、メインプロセッサがファームウェアの更新対象である場合に、いずれかのサブプロセッサ30を指定し、その動作を停止させる。 In the present embodiment, in the update processing device 10, the processor designation unit 11 designates one of the sub-processors 30 and stops its operation when the main processor is the target of the firmware update.

また、本実施の形態では、代替処理実行部12は、まず、指定されたサブプロセッサ30のRAM31のメモリ領域に、更新後のファームウェアを書き込む。更に、代替処理実行部12は、指定されたサブプロセッサ30が、メインプロセッサ20のRAM21のメモリ領域に格納されたデータにアクセスできるように、指定されたサブプロセッサ30のメモリマップ設定を修正する。そして、代替処理実行部12は、指定されたサブプロセッサ30に、メインプロセッサ20の処理を行わせる。 Further, in the present embodiment, the alternative process execution unit 12 first writes the updated firmware to the memory area of the RAM 31 of the designated sub-processor 30 . Further, the alternative process execution unit 12 modifies the memory map setting of the designated sub-processor 30 so that the designated sub-processor 30 can access the data stored in the memory area of the RAM 21 of the main processor 20. The alternative process execution unit 12 then causes the specified sub-processor 30 to perform the process of the main processor 20 .

その後、ファームウェア更新部13は、指定されたサブプロセッサ30が、メインプロセッサ20の処理を行っている間に、メインプロセッサ20のRAM21のメモリ領域に、更新後のファームウェアを書き込み、メインプロセッサ20のファームウェアを更新する。 After that, the firmware update unit 13 writes the updated firmware to the memory area of the RAM 21 of the main processor 20 while the designated sub-processor 30 is performing the processing of the main processor 20, and updates the firmware of the main processor 20. to update.

ここで、図2に加えて、図3を用いて、更新処理装置10の機能についてより具体的に説明する。図3は、本発明の実施の形態において、ファームウェアが有している、データのアクセス先のアドレスを示すテーブルの一例を示す図である。 Here, in addition to FIG. 2, the functions of the update processing device 10 will be described in more detail using FIG. FIG. 3 is a diagram showing an example of a table indicating addresses of data access destinations held by firmware in the embodiment of the present invention.

まず、本実施の形態では、ファームウェアは、データのアクセス先のアドレスを示すテーブル(以下「データアクセス箇所テーブル」と表記する)を有している。図3において、上段は、更新前のファームウェアのデータアクセス箇所テーブルを示し、中段は、更新後のファームウェアのデータアクセス箇所テーブルを示している。また、図3上段及び中段に示すように、データアクセス箇所テーブルは、シンボル毎に、アドレス及びオフセット(オフセットアドレス)を登録している。 First, in this embodiment, the firmware has a table indicating addresses of data access destinations (hereinafter referred to as "data access location table"). In FIG. 3, the upper part shows the data access part table of the firmware before updating, and the middle part shows the data access part table of the firmware after updating. As shown in the upper and middle parts of FIG. 3, the data access location table registers an address and an offset (offset address) for each symbol.

更に、図2に示すように、更新処理装置10は、本実施の形態では、上述したプロセッサ指定部11、代替処理実行部12、及びファームウェア更新部13に加えて、ファーム
ウェア変換部14を備えている。
Further, as shown in FIG. 2, the update processing device 10 in this embodiment includes a firmware conversion unit 14 in addition to the processor designation unit 11, the alternative processing execution unit 12, and the firmware update unit 13 described above. there is

ファームウェア変換部14は、更新前のファームウェアのテーブルと、更新後のファームウェアのテーブルとを対比して、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブル(図3の下段参照)を作成する。 The firmware conversion unit 14 compares the table of the firmware before update with the table of the firmware after update, and creates a conversion table (see the lower part of FIG. 3) that indicates the conversion location of the access destination before and after the update. create.

具体的には、ファームウェア変換部14は、まず、更新前及び更新後のファームウェアそれぞれの「データアクセス箇所テーブル」を比較し、シンボルが同一で、アドレスが異なるエントリを特定する。次に、ファームウェア変換部14は、更新後のファームウェアにおいて、特定したエントリにおけるアドレスが更新前のファームウェアのアドレスとなるように、変換テーブルを作成する。 Specifically, the firmware conversion unit 14 first compares the "data access location tables" of the firmware before and after the update, and identifies entries with the same symbol and different addresses. Next, the firmware conversion unit 14 creates a conversion table so that the address in the identified entry becomes the address of the firmware before update in the updated firmware.

また、変換テーブルには、「初期化」の欄が設定されており、この欄において、ファームウェア変換部14は、更新前のファームウェアからデータを引き継ぐエントリについては、「×」と設定する。一方、ファームウェア変換部14は、更新後のファームウェアにのみ存在するエントリについては、「○」と設定する。 In addition, the conversion table has an "initialization" column, and in this column, the firmware conversion unit 14 sets "x" for entries that take over data from firmware before update. On the other hand, the firmware conversion unit 14 sets "◯" for entries that exist only in the updated firmware.

また、ファームウェア変換部14は、この変換テーブルを用いて、更新後のファームウェアにおけるアクセス先を変換する。この場合、代替処理実行部12は、アクセス先が変換された、更新後のファームウェアを、指定されたサブプロセッサ30のRAM31のメモリ領域に書き込み、指定されたサブプロセッサに、メインプロセッサ20の処理を肩代わりさせる。 Further, the firmware conversion unit 14 uses this conversion table to convert the access destination in the updated firmware. In this case, the alternative process execution unit 12 writes the updated firmware whose access destination has been changed to the memory area of the RAM 31 of the designated sub-processor 30, and instructs the designated sub-processor to execute the process of the main processor 20. take over.

また、ファームウェア更新部13は、メインプロセッサ20のフラッシュROM22のメモリ領域に、アクセス先が変換された、更新後のファームウェアを書き込む。これにより、メインプロセッサ20において、ファームウェアが更新させる。その後、ファームウェア更新部13は、メインプロセッサ20に再起動を行わせる。再起動後、メインプロセッサ20は、更新されたファームウェアによって動作する。 In addition, the firmware update unit 13 writes the updated firmware whose access destination has been changed to the memory area of the flash ROM 22 of the main processor 20 . Thereby, the firmware is updated in the main processor 20 . After that, the firmware update unit 13 causes the main processor 20 to reboot. After rebooting, the main processor 20 operates with the updated firmware.

また、ファームウェア更新部13は、メインプロセッサ20のファームウェアを更新した後に、サブプロセッサ30それぞれ毎に、各サブプロセッサ30のRAM31のメモリ領域に、サブプロセッサ30の新たなファームウェアを書き込むことができる。この場合、ファームウェア更新部13は、書き込んだ新たなファームウェアを用いて、各サブプロセッサ30のファームウェアを更新する。 Further, after updating the firmware of the main processor 20 , the firmware update unit 13 can write new firmware of the sub-processor 30 to the memory area of the RAM 31 of each sub-processor 30 for each sub-processor 30 . In this case, the firmware update unit 13 updates the firmware of each sub-processor 30 using the written new firmware.

[装置動作]
次に、本発明の実施の形態1における更新処理装置10の動作について図4及び図5を用いて説明する。図4は、本発明の実施の形態1における更新処理装置の動作を示すフロー図である。図5は、図4に示す更新処理の際のサブプロセッサの動作を示す図である。以下の説明においては、適宜図1~図3を参酌する。また、本実施の形態では、更新処理装置10を動作させることによって、更新処理方法が実施される。よって、本実施の形態における更新処理方法の説明は、以下の更新処理装置10の動作説明に代える。
[Device operation]
Next, the operation of the update processing device 10 according to Embodiment 1 of the present invention will be described with reference to FIGS. 4 and 5. FIG. FIG. 4 is a flowchart showing the operation of the update processing device according to Embodiment 1 of the present invention. FIG. 5 is a diagram showing the operation of the sub-processor during the update process shown in FIG. 1 to 3 will be appropriately referred to in the following description. Further, in the present embodiment, the update processing method is implemented by operating the update processing device 10 . Therefore, the description of the update processing method in the present embodiment is replaced with the description of the operation of the update processing device 10 below.

図4に示すように、最初に、更新処理装置10は、マルチプロセッサシステム100の上位システム等から、メインプロセッサ20のファームウェアの更新通知と更新後のファームウェアとを受信する(ステップA1)。 As shown in FIG. 4, first, the update processing device 10 receives an update notification of the firmware of the main processor 20 and the updated firmware from the host system of the multiprocessor system 100 (step A1).

次に、更新処理装置10において、プロセッサ指定部11は、サブプロセッサ30のうちの1つを指定し、指定したサブプロセッサ30に対して、動作の停止を指示する(ステップA2)。具体的には、プロセッサ指定部11は、例えば、サブプロセッサ30のうち
、処理を行っていないサブプロセッサ30が存在している場合は、このサブプロセッサを指定する。
Next, in the update processing device 10, the processor designation unit 11 designates one of the sub-processors 30 and instructs the designated sub-processor 30 to stop its operation (step A2). Specifically, for example, if there is a sub-processor 30 that is not performing processing among the sub-processors 30, the processor designation unit 11 designates this sub-processor.

次に、ファームウェア変換部14は、フラッシュROM22に格納されている更新前のファームウェアのテーブルと、ステップA1で受信した更新後のファームウェアのテーブルとを対比する。そして、ファームウェア変換部14は、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブル(図3の下段参照)を作成する(ステップA3)。 Next, the firmware conversion unit 14 compares the table of firmware before update stored in the flash ROM 22 with the table of firmware after update received in step A1. Then, the firmware conversion unit 14 creates a conversion table (see the lower part of FIG. 3) indicating conversion locations of access destinations before and after updating (step A3).

次に、ファームウェア変換部14は、ステップA3で作成した変換テーブルを用いて、更新後のファームウェアにおけるアクセス先を変換する(ステップA4)。 Next, the firmware conversion unit 14 converts the access destination in the updated firmware using the conversion table created in step A3 (step A4).

次に、代替処理実行部12は、ステップA4によってアクセス先が変換された、更新後のファームウェアを、ステップA2で指定されたサブプロセッサ30のRAM31のメモリ領域に書き込む(ステップA5)。 Next, the alternative process execution unit 12 writes the updated firmware, the access destination of which has been changed in step A4, into the memory area of the RAM 31 of the sub-processor 30 specified in step A2 (step A5).

次に、代替処理実行部12は、ステップA2で指定されたプロセッサが、更新対象となっているメインプロセッサ20のRAM21のメモリ領域に格納されたデータにアクセスできるように、指定されたサブプロセッサのメモリマップ設定を修正する(ステップA6)。 Next, the alternative process execution unit 12 causes the specified sub-processor to access the data stored in the memory area of the RAM 21 of the main processor 20 to be updated so that the processor specified in step A2 can access the data. Correct the memory map setting (step A6).

また、ステップA6においては、代替処理実行部12は、I/Oコントローラ23のデータ転送先を、指定されたサブプロセッサに変更する。これにより、図5に示すように、指定されたサブプロセッサは、メインプロセッサ20のRAM21のメモリ領域にアクセスして、処理を開始する。図5において、指定されたサブプロセッサ30には、ハッチングが施されている。 Also, in step A6, the alternative process execution unit 12 changes the data transfer destination of the I/O controller 23 to the designated sub-processor. As a result, as shown in FIG. 5, the designated sub-processor accesses the memory area of the RAM 21 of the main processor 20 and starts processing. In FIG. 5, the designated sub-processors 30 are hatched.

次に、ファームウェア更新部13は、更新対象となっているメインプロセッサ20のフラッシュROM22のメモリ領域に、更新後のファームウェアを書き込み、メインプロセッサ20のファームウェアを更新する(ステップA7)。 Next, the firmware update unit 13 writes the updated firmware into the memory area of the flash ROM 22 of the main processor 20 to be updated, and updates the firmware of the main processor 20 (step A7).

その後、ファームウェア更新部13は、メインプロセッサ20に再起動を行わせる(ステップA8)。再起動後、メインプロセッサ20は、更新されたファームウェアによって動作する。また、ファームウェア更新部13は、再起動が行われる前に、メインプロセッサ20は、ファームウェアが更新中であることを示すフラグを立てる。 After that, the firmware update unit 13 causes the main processor 20 to restart (step A8). After rebooting, the main processor 20 operates with the updated firmware. Also, before the firmware update unit 13 is restarted, the main processor 20 raises a flag indicating that the firmware is being updated.

そして、フラグが立っている場合は、ファームウェア更新部13は、RAM21のメモリ領域の初期化の禁止、I/Oコントローラ23のデータ転送先のメインプロセッサ20への変更を実行する。 When the flag is set, the firmware update unit 13 prohibits the initialization of the memory area of the RAM 21 and changes the data transfer destination of the I/O controller 23 to the main processor 20 .

加えて、ファームウェア更新部13は、フラグが立っている場合は、各サブプロセッサ30のRAM31のメモリ領域に、サブプロセッサ30の新たなファームウェアを書き込むことができる。また、ファームウェア更新部13は、書き込んだ新たなファームウェアを用いて、各サブプロセッサ30のファームウェアを更新する。 In addition, the firmware update unit 13 can write new firmware for the sub-processor 30 to the memory area of the RAM 31 of each sub-processor 30 when the flag is set. Also, the firmware update unit 13 updates the firmware of each sub-processor 30 using the written new firmware.

[実施の形態による効果]
以上のように、本実施の形態では、メインプロセッサ20の処理をサブプロセッサ30に肩代わりさせることができる。このため、本実施の形態によれば、メインプロセッサ20のファームウェアを更新する場合であっても、マルチプロセッサシステム100を停止させることなく、継続して稼働させることができる。
[Effects of Embodiment]
As described above, in the present embodiment, the sub-processor 30 can take over the processing of the main processor 20 . Therefore, according to the present embodiment, even when the firmware of the main processor 20 is updated, the multiprocessor system 100 can continue to operate without stopping.

[プログラム]
本実施の形態におけるプログラムは、コンピュータに、図5に示すステップA1~A8を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における更新処理装置10と更新処理方法とを実現することができる。この場合、コンピュータのプロセッサは、プロセッサ指定部11、代替処理実行部12、ファームウェア更新部13、及びファームウェア変換部14として機能し、処理を行なう。
[program]
The program in this embodiment may be any program that causes a computer to execute steps A1 to A8 shown in FIG. By installing this program in a computer and executing it, the update processing device 10 and the update processing method according to the present embodiment can be realized. In this case, the processor of the computer functions as a processor designation unit 11, an alternative processing execution unit 12, a firmware update unit 13, and a firmware conversion unit 14, and performs processing.

また、本実施の形態におけるプログラムを実行するコンピュータとしては、図2に示したマルチプロセッサシステムが挙げられる。この場合、更新処理装置10の各部として機能するプロセッサは、メインプロセッサ20であるのが良いが、本実施の形態はこれに限定されず、いずれかのサブプロセッサ30であっても良い。また、コンピュータは、マルチプロセッサシステムに接続された外部のコンピュータであっても良い。 Moreover, the multiprocessor system shown in FIG. 2 can be given as a computer that executes the program according to the present embodiment. In this case, the processor functioning as each part of the update processing device 10 is preferably the main processor 20, but the present embodiment is not limited to this, and any of the sub-processors 30 may be used. Alternatively, the computer may be an external computer connected to the multiprocessor system.

また、本実施の形態において、プロセッサは、CPU(Central Processing Unit)であっても良いし、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)であっても良い。 Further, in the present embodiment, the processor may be a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or an FPGA (Field-Programmable Gate Array).

また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体に格納された状態で提供される。更に、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。 Moreover, the program in this Embodiment is provided in the state stored in the computer-readable recording medium. Furthermore, the program in this embodiment may be distributed on the Internet connected via communication interface 117 .

また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。 Specific examples of the recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital); magnetic recording media such as flexible disks; An optical recording medium such as a ROM (Compact Disk Read Only Memory) can be used.

上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記12)によって表現することができるが、以下の記載に限定されるものではない。 Some or all of the above-described embodiments can be expressed by (Appendix 1) to (Appendix 12) described below, but are not limited to the following descriptions.

(付記1)
複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれか又は全部のファームウェアを更新するための装置であって、
前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、その動作を停止させる、プロセッサ指定部と、
指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、代替処理実行部と、
前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ファームウェア更新部と、
を備えている、ことを特徴とする、更新処理装置。
(Appendix 1)
An apparatus for updating firmware of any or all of the plurality of processors in a multiprocessor system comprising a plurality of processors, comprising:
a processor designation unit that designates a processor other than the processor whose firmware is to be updated from among the plurality of processors, and stops the operation of the processor;
The firmware after the update is written in the memory area of the designated processor, and the designated processor can access the data stored in the memory area of the processor to be updated. an alternative processing execution unit that modifies the memory map setting of the processor and causes the designated processor to perform the processing of the processor to be updated;
a firmware update unit that writes the updated firmware in a memory area of the processor to be updated, and updates the firmware of the processor to be updated;
An update processing device, characterized by comprising:

(付記2)
付記1に記載の更新処理装置であって、
前記マルチプロセッサシステムは、単一の第1のプロセッサと、前記第1のプロセッサの指示に応じて動作する2つ以上の第2のプロセッサとを備え、
前記プロセッサ指定部は、前記第1のプロセッサがファームウェアの更新対象である場
合に、いずれかの前記第2のプロセッサを指定し、その動作を停止させ、
前記代替処理実行部は、指定された前記第2のプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定された前記第2のプロセッサが、前記第1のプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定された前記第2のプロセッサのメモリマップ設定を修正し、それによって、指定された前記第2のプロセッサに、前記第1のプロセッサの処理を行わせ、
前記ファームウェア更新部は、前記第1のプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記第1のプロセッサの前記ファームウェアを更新する、
ことを特徴とする、更新処理装置。
(Appendix 2)
The update processing device according to Supplementary Note 1,
The multiprocessor system comprises a single first processor and two or more second processors that operate according to instructions from the first processor,
The processor designating unit designates one of the second processors and stops its operation when the first processor is a firmware update target,
The alternative process execution unit writes the updated firmware to the designated memory area of the second processor, and the designated second processor stores the updated firmware in the memory area of the first processor. modifying the memory map settings of the designated second processor to access designated data, thereby causing the designated second processor to perform the processing of the first processor;
The firmware update unit writes the updated firmware in a memory area of the first processor to update the firmware of the first processor.
An update processing device characterized by:

(付記3)
付記2に記載の更新処理装置であって、
前記ファームウェアが、データのアクセス先のアドレスを示すテーブルを有しており、
当該更新処理装置が、更新前のファームウェアの前記テーブルと、更新後のファームウェアの前記テーブルとを対比して、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブルを作成し、前記変換テーブルを用いて、更新後の前記ファームウェアにおけるアクセス先を変換する、ファームウェア変換部を更に備え、
前記代替処理実行部は、アクセス先が変換された、更新後の前記ファームウェアを、指定された前記第2のプロセッサのメモリ領域に書き込み、
前記ファームウェア更新部は、前記第1のプロセッサのメモリ領域に、アクセス先が変換された、更新後の前記ファームウェアを書き込む、
ことを特徴とする、更新処理装置。
(Appendix 3)
The update processing device according to appendix 2,
The firmware has a table indicating the address of the data access destination,
The update processing device compares the table of the firmware before the update with the table of the firmware after the update, creates a conversion table indicating conversion points of access destinations before and after the update, and converts the conversion. further comprising a firmware conversion unit that converts an access destination in the updated firmware using a table;
the alternative process execution unit writes the updated firmware, the access destination of which has been changed, to the designated memory area of the second processor;
The firmware update unit writes the updated firmware, the access destination of which has been changed, to the memory area of the first processor.
An update processing device characterized by:

(付記4)
付記2または3に記載の更新処理装置であって、
前記ファームウェア更新部は、前記第1のプロセッサの前記ファームウェアを更新した後に、前記第2のプロセッサそれぞれ毎に、当該第2のプロセッサのメモリ領域に、前記第2のプロセッサの新たなファームウェアを書き込み、書き込んだ前記新たなファームウェアを用いて、当該第2のプロセッサのファームウェアを更新する、
ことを特徴とする、更新処理装置。
(Appendix 4)
The update processing device according to appendix 2 or 3,
the firmware update unit, after updating the firmware of the first processor, writes new firmware of the second processor to a memory area of the second processor for each of the second processors; updating the firmware of the second processor with the written new firmware;
An update processing device characterized by:

(付記5)
複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれか又は全部のファームウェアを更新するための方法であって、
(a)前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、その動作を停止させる、ステップと、
(b)指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、ステップと、
(c)前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ステップと、
を有する、ことを特徴とする、更新処理方法。
(Appendix 5)
1. In a multiprocessor system having multiple processors, a method for updating firmware of any or all of the multiple processors, comprising:
(a) specifying, from among the plurality of processors, a processor other than the processor whose firmware is to be updated, and stopping its operation;
(b) write the updated firmware in the memory area of the designated processor, and allow the designated processor to access the data stored in the memory area of the processor to be updated; modifying the memory map settings of the designated processor and causing the designated processor to perform the processing of the processor to be updated;
(c) writing the updated firmware in a memory area of the processor to be updated, and updating the firmware of the processor to be updated;
An update processing method, characterized by comprising:

(付記6)
付記5に記載の更新処理方法であって、
前記マルチプロセッサシステムは、単一の第1のプロセッサと、前記第1のプロセッサの指示に応じて動作する2つ以上の第2のプロセッサとを備え、
前記(a)のステップにおいて、前記第1のプロセッサがファームウェアの更新対象である場合に、いずれかの前記第2のプロセッサを指定し、その動作を停止させ、
前記(b)のステップにおいて、指定された前記第2のプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定された前記第2のプロセッサが、前記第1のプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定された前記第2のプロセッサのメモリマップ設定を修正し、それによって、指定された前記第2のプロセッサに、前記第1のプロセッサの処理を行わせ、
前記(b)のステップにおいて、前記第1のプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記第1のプロセッサの前記ファームウェアを更新する、
ことを特徴とする、更新処理方法。
(Appendix 6)
The update processing method according to appendix 5,
The multiprocessor system comprises a single first processor and two or more second processors that operate according to instructions from the first processor,
In the step (a), if the first processor is the target of firmware update, any one of the second processors is designated and its operation is stopped;
In the step (b), the updated firmware is written to the designated memory area of the second processor, and the designated second processor writes to the memory area of the first processor modifying the memory map settings of the designated second processor to access stored data, thereby causing the designated second processor to perform the processing of the first processor;
In the step (b), writing the updated firmware to the memory area of the first processor to update the firmware of the first processor;
An update processing method characterized by:

(付記7)
付記6に記載の更新処理方法であって、
前記ファームウェアが、データのアクセス先のアドレスを示すテーブルを有しており、当該更新処理方法が、更に、
(d)更新前のファームウェアの前記テーブルと、更新後のファームウェアの前記テーブルとを対比して、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブルを作成し、前記変換テーブルを用いて、更新後の前記ファームウェアにおけるアクセス先を変換する、ステップを有し、
前記(b)のステップにおいて、アクセス先が変換された、更新後の前記ファームウェアを、指定された前記第2のプロセッサのメモリ領域に書き込み、
前記(c)のステップにおいて、前記第1のプロセッサのメモリ領域に、アクセス先が変換された、更新後の前記ファームウェアを書き込む、
ことを特徴とする、更新処理方法。
(Appendix 7)
The update processing method according to appendix 6,
The firmware has a table indicating the address of the data access destination, and the update processing method further comprises:
(d) Comparing the table of the firmware before updating with the table of the firmware after updating, creating a conversion table indicating conversion points of the access destination before and after the update, and using the conversion table. and converting an access destination in the updated firmware,
writing the updated firmware, whose access destination has been changed in the step (b), into the designated memory area of the second processor;
In step (c), writing the updated firmware, the access destination of which has been changed, to the memory area of the first processor;
An update processing method characterized by:

(付記8)
付記6または7に記載の更新処理方法であって、
当該更新処理方法が、更に、
(e)前記第1のプロセッサの前記ファームウェアを更新した後に、前記第2のプロセッサそれぞれ毎に、当該第2のプロセッサのメモリ領域に、前記第2のプロセッサの新たなファームウェアを書き込み、書き込んだ前記新たなファームウェアを用いて、当該第2のプロセッサのファームウェアを更新する、ステップを有する、
ことを特徴とする、更新処理方法。
(Appendix 8)
The update processing method according to appendix 6 or 7,
The update processing method further includes:
(e) after updating the firmware of the first processor, for each of the second processors, new firmware of the second processor is written into the memory area of the second processor; updating the firmware of the second processor with the new firmware;
An update processing method characterized by:

(付記9)
複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれか又は全部のファームウェアを更新するためのプログラムであって、
前記複数のプロセッサのいずれかに、
(a)前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、その動作を停止させる、ステップと、
(b)指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、ステップと、
(c)前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ステップと、
を実行させる、ことを特徴とする、プログラム。
(Appendix 9)
A program for updating firmware of any or all of the plurality of processors in a multiprocessor system having a plurality of processors,
in any one of the plurality of processors,
(a) specifying, from among the plurality of processors, a processor other than the processor whose firmware is to be updated, and stopping its operation;
(b) write the updated firmware in the memory area of the designated processor, and allow the designated processor to access the data stored in the memory area of the processor to be updated; modifying the memory map settings of the designated processor and causing the designated processor to perform the processing of the processor to be updated;
(c) writing the updated firmware in a memory area of the processor to be updated, and updating the firmware of the processor to be updated;
A program characterized by causing the execution of

(付記10)
付記9に記載のプログラムであって、
前記マルチプロセッサシステムは、単一の第1のプロセッサと、前記第1のプロセッサの指示に応じて動作する2つ以上の第2のプロセッサとを備え、
前記(a)のステップにおいて、前記第1のプロセッサがファームウェアの更新対象である場合に、いずれかの前記第2のプロセッサを指定し、その動作を停止させ、
前記(b)のステップにおいて、指定された前記第2のプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定された前記第2のプロセッサが、前記第1のプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定された前記第2のプロセッサのメモリマップ設定を修正し、それによって、指定された前記第2のプロセッサに、前記第1のプロセッサの処理を行わせ、
前記(b)のステップにおいて、前記第1のプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記第1のプロセッサの前記ファームウェアを更新する、
ことを特徴とする、プログラム。
(Appendix 10)
The program according to Appendix 9,
The multiprocessor system comprises a single first processor and two or more second processors that operate according to instructions from the first processor,
In the step (a), if the first processor is the target of firmware update, any one of the second processors is designated and its operation is stopped;
In the step (b), the updated firmware is written to the designated memory area of the second processor, and the designated second processor writes to the memory area of the first processor modifying the memory map settings of the designated second processor to access stored data, thereby causing the designated second processor to perform the processing of the first processor;
In the step (b), writing the updated firmware to the memory area of the first processor to update the firmware of the first processor;
A program characterized by:

(付記11)
付記10に記載のプログラムであって、
前記ファームウェアが、データのアクセス先のアドレスを示すテーブルを有しており、前記複数のプロセッサのいずれかに、更に、
(d)更新前のファームウェアの前記テーブルと、更新後のファームウェアの前記テーブルとを対比して、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブルを作成し、前記変換テーブルを用いて、更新後の前記ファームウェアにおけるアクセス先を変換する、ステップを実行させ、
前記(b)のステップにおいて、アクセス先が変換された、更新後の前記ファームウェアを、指定された前記第2のプロセッサのメモリ領域に書き込み、
前記(c)のステップにおいて、前記第1のプロセッサのメモリ領域に、アクセス先が変換された、更新後の前記ファームウェアを書き込む、
ことを特徴とする、プログラム。
(Appendix 11)
The program according to Appendix 10,
The firmware has a table indicating the address of the data access destination, and one of the plurality of processors further:
(d) Comparing the table of the firmware before updating with the table of the firmware after updating, creating a conversion table indicating conversion points of the access destination before and after the update, and using the conversion table. to execute a step of converting the access destination in the updated firmware,
writing the updated firmware, whose access destination has been changed in the step (b), into the designated memory area of the second processor;
In step (c), writing the updated firmware, the access destination of which has been changed, to the memory area of the first processor;
A program characterized by:

(付記12)
付記10または11に記載のプログラムであって、
前記複数のプロセッサのいずれかに、更に、
(e)前記第1のプロセッサの前記ファームウェアを更新した後に、前記第2のプロセッサそれぞれ毎に、当該第2のプロセッサのメモリ領域に、前記第2のプロセッサの新たなファームウェアを書き込み、書き込んだ前記新たなファームウェアを用いて、当該第2のプロセッサのファームウェアを更新する、ステップを実行させる、
ことを特徴とする、プログラム。
(Appendix 12)
The program according to Appendix 10 or 11,
any one of the plurality of processors, further
(e) after updating the firmware of the first processor, for each of the second processors, new firmware of the second processor is written into the memory area of the second processor; updating the firmware of the second processor with the new firmware, causing the step to be performed;
A program characterized by:

以上のように本発明によれば、マルチプロセッサシステムにおいて、再起動を行うことなく、ファームウェアをアップデートすることができる。本発明は、種々のマルチプロセッサシステムに有効である。 As described above, according to the present invention, in a multiprocessor system, firmware can be updated without rebooting. The present invention is effective for various multiprocessor systems.

10 更新処理装置
11 プロセッサ指定部
12 代替処理実行部
13 ファームウェア更新部
14 ファームウェア変換部
20 メインプロセッサ
21 RAM
22 フラッシュROM
23 I/Oコントローラ
30 サブプロセッサ
31 RAM
40 バス
100 マルチプロセッサシステム
REFERENCE SIGNS LIST 10 update processing device 11 processor designation unit 12 alternative processing execution unit 13 firmware update unit 14 firmware conversion unit 20 main processor 21 RAM
22 Flash ROM
23 I/O controller 30 subprocessor 31 RAM
40 bus 100 multiprocessor system

Claims (6)

複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれかのファームウェアを更新するための装置であって、
前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、指定したプロセッサの動作を停止させる、プロセッサ指定部と、
指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、代替処理実行部と、
前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ファームウェア更新部と、
前記ファームウェアが、データのアクセス先のアドレスを示すテーブルを有している場合において、更新前のファームウェアの前記テーブルと、更新後のファームウェアの前記テーブルとを対比して、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブルを作成し、前記変換テーブルを用いて、更新後の前記ファームウェアにおけるアクセス先を変換する、ファームウェア変換部と、
を備え、
前記マルチプロセッサシステムは、単一の第1のプロセッサと、前記第1のプロセッサの指示に応じて動作する2つ以上の第2のプロセッサとを備え、
前記プロセッサ指定部は、前記第1のプロセッサがファームウェアの更新対象である場合に、いずれかの前記第2のプロセッサを指定し、その動作を停止させ、
前記代替処理実行部は、アクセス先が変換された、更新後の前記ファームウェアを、指定された前記第2のプロセッサのメモリ領域に書き込み、更に、指定された前記第2のプロセッサが、前記第1のプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定された前記第2のプロセッサのメモリマップ設定を修正し、それによって、指定された前記第2のプロセッサに、前記第1のプロセッサの処理を行わせ、
前記ファームウェア更新部は、前記第1のプロセッサのメモリ領域に、アクセス先が変換された、更新後の前記ファームウェアを書き込み、前記第1のプロセッサの前記ファームウェアを更新する、
ことを特徴とする、更新処理装置。
1. An apparatus for updating firmware of any one of said plurality of processors in a multiprocessor system comprising a plurality of processors, comprising:
a processor designation unit that designates a processor other than the processor whose firmware is to be updated from among the plurality of processors, and stops the operation of the designated processor;
The firmware after the update is written in the memory area of the designated processor, and the designated processor can access the data stored in the memory area of the processor to be updated. an alternative processing execution unit that modifies the memory map setting of the processor and causes the designated processor to perform the processing of the processor to be updated;
a firmware update unit that writes the updated firmware in a memory area of the processor to be updated, and updates the firmware of the processor to be updated;
When the firmware has a table indicating the address of the data access destination, the table of the firmware before updating and the table of the firmware after updating are compared to compare the table before updating and after updating. a firmware conversion unit that creates a conversion table indicating a conversion location of an access destination, and converts the access destination in the updated firmware using the conversion table;
with
The multiprocessor system comprises a single first processor and two or more second processors that operate according to instructions from the first processor,
The processor designating unit designates one of the second processors and stops its operation when the first processor is a firmware update target,
The alternative process execution unit writes the updated firmware, whose access destination has been changed, to a memory area of the designated second processor, and further writes the designated second processor to the first modify the memory map settings of the designated second processor to access data stored in the memory area of the processor, thereby causing the designated second processor to access the data stored in the memory area of the first processor to process the
The firmware update unit writes the updated firmware, the access destination of which has been changed, to the memory area of the first processor, and updates the firmware of the first processor.
An update processing device characterized by:
請求項1に記載の更新処理装置であって、
前記ファームウェア更新部は、前記第1のプロセッサの前記ファームウェアを更新した後に、前記第2のプロセッサそれぞれ毎に、当該第2のプロセッサのメモリ領域に、前記第2のプロセッサの新たなファームウェアを書き込み、書き込んだ前記新たなファームウェアを用いて、当該第2のプロセッサのファームウェアを更新する、
ことを特徴とする、更新処理装置。
The update processing device according to claim 1,
the firmware update unit, after updating the firmware of the first processor, writes new firmware of the second processor to a memory area of the second processor for each of the second processors; updating the firmware of the second processor with the written new firmware;
An update processing device characterized by:
複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれかのファームウェアを更新するための方法であって、
(a)前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、指定したプロセッサの動作を停止させる、ステップと、
(b)指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、ステップと、
(c)前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ステップと、
(d)前記ファームウェアが、データのアクセス先のアドレスを示すテーブルを有している場合において、更新前のファームウェアの前記テーブルと、更新後のファームウェアの前記テーブルとを対比して、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブルを作成し、前記変換テーブルを用いて、更新後の前記ファームウェアにおけるアクセス先を変換する、ステップと、
を有し、
前記マルチプロセッサシステムは、単一の第1のプロセッサと、前記第1のプロセッサの指示に応じて動作する2つ以上の第2のプロセッサとを備え、
前記(a)のステップにおいて、前記第1のプロセッサがファームウェアの更新対象である場合に、いずれかの前記第2のプロセッサを指定し、その動作を停止させ、
前記(b)のステップにおいて、アクセス先が変換された、更新後の前記ファームウェアを、指定された前記第2のプロセッサのメモリ領域に書き込み、更に、指定された前記第2のプロセッサが、前記第1のプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定された前記第2のプロセッサのメモリマップ設定を修正し、それによって、指定された前記第2のプロセッサに、前記第1のプロセッサの処理を行わせ、
前記(b)のステップにおいて、前記第1のプロセッサのメモリ領域に、アクセス先が変換された、更新後の前記ファームウェアを書き込み、前記第1のプロセッサの前記ファームウェアを更新する、
ことを特徴とする、更新処理方法。
In a multiprocessor system with multiple processors, a method for updating firmware of any of the multiple processors, comprising:
(a) specifying a processor other than the processor whose firmware is to be updated from among the plurality of processors, and stopping the operation of the specified processor;
(b) write the updated firmware in the memory area of the designated processor, and allow the designated processor to access the data stored in the memory area of the processor to be updated; modifying the memory map settings of the designated processor and causing the designated processor to perform the processing of the processor to be updated;
(c) writing the updated firmware in a memory area of the processor to be updated, and updating the firmware of the processor to be updated;
(d) when the firmware has a table indicating the address of the data access destination, comparing the table of the firmware before updating with the table of the firmware after updating, and a step of creating a conversion table indicating the conversion location of the access destination in the later and later, and using the conversion table to convert the access destination in the firmware after the update;
has
The multiprocessor system comprises a single first processor and two or more second processors that operate according to instructions from the first processor,
In the step (a), if the first processor is the target of firmware update, any one of the second processors is designated and its operation is stopped;
In the step (b), the updated firmware whose access destination has been changed is written into a memory area of the designated second processor; modify the memory map settings of the designated second processor to access data stored in the memory area of one processor, thereby providing the designated second processor with the first let the processor do its work,
In the step (b), writing the updated firmware whose access destination has been changed to the memory area of the first processor, and updating the firmware of the first processor;
An update processing method characterized by:
請求項3に記載の更新処理方法であって、
当該更新処理方法が、更に、
(e)前記第1のプロセッサの前記ファームウェアを更新した後に、前記第2のプロセッサそれぞれ毎に、当該第2のプロセッサのメモリ領域に、前記第2のプロセッサの新たなファームウェアを書き込み、書き込んだ前記新たなファームウェアを用いて、当該第2のプロセッサのファームウェアを更新する、ステップを有する、
ことを特徴とする、更新処理方法。
The update processing method according to claim 3,
The update processing method further includes:
(e) after updating the firmware of the first processor, for each of the second processors, new firmware of the second processor is written into the memory area of the second processor; updating the firmware of the second processor with the new firmware;
An update processing method characterized by:
複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれかのファームウェアを更新するためのプログラムであって、
前記複数のプロセッサのいずれかに、
(a)前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、指定したプロセッサの動作を停止させる、ステップと、
(b)指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、ステップと、
(c)前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ステップと、
(d)前記ファームウェアが、データのアクセス先のアドレスを示すテーブルを有している場合において、更新前のファームウェアの前記テーブルと、更新後のファームウェアの前記テーブルとを対比して、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブルを作成し、前記変換テーブルを用いて、更新後の前記ファームウェアにおけるアクセス先を変換する、ステップと、
を実行させ、
前記マルチプロセッサシステムは、単一の第1のプロセッサと、前記第1のプロセッサの指示に応じて動作する2つ以上の第2のプロセッサとを備え、
前記(a)のステップにおいて、前記第1のプロセッサがファームウェアの更新対象である場合に、いずれかの前記第2のプロセッサを指定し、その動作を停止させ、
前記(b)のステップにおいて、アクセス先が変換された、更新後の前記ファームウェアを、指定された前記第2のプロセッサのメモリ領域に書き込み、更に、指定された前記第2のプロセッサが、前記第1のプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定された前記第2のプロセッサのメモリマップ設定を修正し、それによって、指定された前記第2のプロセッサに、前記第1のプロセッサの処理を行わせ、
前記(b)のステップにおいて、前記第1のプロセッサのメモリ領域に、アクセス先が変換された、更新後の前記ファームウェアを書き込み、前記第1のプロセッサの前記ファームウェアを更新する、
ことを特徴とする、プログラム。
A program for updating firmware of any one of the plurality of processors in a multiprocessor system comprising a plurality of processors,
in any one of the plurality of processors,
(a) specifying a processor other than the processor whose firmware is to be updated from among the plurality of processors, and stopping the operation of the specified processor;
(b) write the updated firmware in the memory area of the designated processor, and allow the designated processor to access the data stored in the memory area of the processor to be updated; modifying the memory map settings of the designated processor and causing the designated processor to perform the processing of the processor to be updated;
(c) writing the updated firmware in a memory area of the processor to be updated, and updating the firmware of the processor to be updated;
(d) when the firmware has a table indicating the address of the data access destination, comparing the table of the firmware before updating with the table of the firmware after updating, and a step of creating a conversion table indicating the conversion location of the access destination in the later and later, and using the conversion table to convert the access destination in the firmware after the update;
and
The multiprocessor system comprises a single first processor and two or more second processors that operate according to instructions from the first processor,
In the step (a), if the first processor is the target of firmware update, any one of the second processors is designated and its operation is stopped;
In the step (b), the updated firmware whose access destination has been changed is written into a memory area of the designated second processor; modify the memory map settings of the designated second processor to access data stored in the memory area of one processor, thereby providing the designated second processor with the first let the processor do its work,
In the step (b), writing the updated firmware whose access destination has been changed to the memory area of the first processor, and updating the firmware of the first processor;
A program characterized by:
請求項5に記載のプログラムであって、
前記複数のプロセッサのいずれかに、更に、
(e)前記第1のプロセッサの前記ファームウェアを更新した後に、前記第2のプロセッサそれぞれ毎に、当該第2のプロセッサのメモリ領域に、前記第2のプロセッサの新たなファームウェアを書き込み、書き込んだ前記新たなファームウェアを用いて、当該第2のプロセッサのファームウェアを更新する、ステップを実行させる、
ことを特徴とする、プログラム。
The program according to claim 5,
any one of the plurality of processors, further
(e) after updating the firmware of the first processor, for each of the second processors, new firmware of the second processor is written into the memory area of the second processor; updating the firmware of the second processor with the new firmware, causing the step to be performed;
A program characterized by:
JP2018041160A 2018-03-07 2018-03-07 Update processing device, update processing method, and program Active JP7184424B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018041160A JP7184424B2 (en) 2018-03-07 2018-03-07 Update processing device, update processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018041160A JP7184424B2 (en) 2018-03-07 2018-03-07 Update processing device, update processing method, and program

Publications (2)

Publication Number Publication Date
JP2019159415A JP2019159415A (en) 2019-09-19
JP7184424B2 true JP7184424B2 (en) 2022-12-06

Family

ID=67996247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018041160A Active JP7184424B2 (en) 2018-03-07 2018-03-07 Update processing device, update processing method, and program

Country Status (1)

Country Link
JP (1) JP7184424B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230185581A1 (en) * 2021-12-10 2023-06-15 Aes Global Holdings Pte Ltd. Microcontroller bank-swapping transition

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002034102A (en) 2000-07-14 2002-01-31 Fuji Electric Co Ltd Fuel cell vehicle and method of stopping reformer therefor
JP2002342102A (en) 2001-05-16 2002-11-29 Nec Corp Method and system for updating program
JP2012146234A (en) 2011-01-14 2012-08-02 Nec Corp Control device, and firmware update method and program thereof
US20170139698A1 (en) 2015-11-18 2017-05-18 Fujitsu Limited Information processing apparatus and program update control method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0799674A (en) * 1993-09-27 1995-04-11 Fujitsu Ltd Partial file updating system for information processor
JPH07319717A (en) * 1994-05-26 1995-12-08 Nippon Telegr & Teleph Corp <Ntt> Program switching method for information processor
JPH10260845A (en) * 1997-03-19 1998-09-29 Fujitsu Ltd Multi-cpu system having update processing function of firmware

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002034102A (en) 2000-07-14 2002-01-31 Fuji Electric Co Ltd Fuel cell vehicle and method of stopping reformer therefor
JP2002342102A (en) 2001-05-16 2002-11-29 Nec Corp Method and system for updating program
JP2012146234A (en) 2011-01-14 2012-08-02 Nec Corp Control device, and firmware update method and program thereof
US20170139698A1 (en) 2015-11-18 2017-05-18 Fujitsu Limited Information processing apparatus and program update control method

Also Published As

Publication number Publication date
JP2019159415A (en) 2019-09-19

Similar Documents

Publication Publication Date Title
JP5655677B2 (en) Hypervisor replacement method and information processing apparatus
JP5724477B2 (en) Migration program, information processing apparatus, migration method, and information processing system
JP5484117B2 (en) Hypervisor and server device
JP6029550B2 (en) Computer control method and computer
US20080235477A1 (en) Coherent data mover
US20120311240A1 (en) Information processing apparatus, information processing method, and storage medium
JP5786955B2 (en) Memory degeneration method and information processing apparatus
JP2010039895A (en) Virtual computer system, error recovery method for virtual computer system, and virtual computer control program
JP2008269474A (en) Information processor and access control method
JP6165964B2 (en) calculator
JP5778296B2 (en) Virtual computer system, virtualization mechanism, and data management method
JP6194764B2 (en) Information processing apparatus, control method, and control program
US20120226832A1 (en) Data transfer device, ft server and data transfer method
JP7184424B2 (en) Update processing device, update processing method, and program
US20140372742A1 (en) Computer system and startup method
KR20110052902A (en) Computing system and method for controling memory of computing system
JP6281442B2 (en) Assignment control program, assignment control method, and assignment control apparatus
JP4594889B2 (en) Method for tracing program executed on a system including a plurality of processing devices, and system including a plurality of processing devices
JP2021026375A (en) Storage system
JP6146092B2 (en) Virtualization system, virtual server, virtual machine control method, and virtual machine control program
JP2013214122A (en) Information processing apparatus, information processing method, and information processing program
JP6981098B2 (en) Recovery control device, recovery control system, recovery control method, and recovery control program
JP2019168952A (en) Memory management device, memory management method, and program
JP6940283B2 (en) DMA transfer control device, DMA transfer control method, and DMA transfer control program
JP5975419B2 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221025

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221117

R151 Written notification of patent or utility model registration

Ref document number: 7184424

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151