JP7184424B2 - 更新処理装置、更新処理方法、及びプログラム - Google Patents

更新処理装置、更新処理方法、及びプログラム 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
English (en)
Other versions
JP2019159415A (ja
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/ja
Publication of JP2019159415A publication Critical patent/JP2019159415A/ja
Application granted granted Critical
Publication of JP7184424B2 publication Critical patent/JP7184424B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、マルチプロセッサを搭載したシステムにおいてファームウェアを更新するための、更新処理装置、及び更新処理方法に関し、更には、これらを実現するためのプログラムに関する。
近年、シングルプロセッサの処理性能の限界から、組み込みシステムを含むコンピュータシステムにおいては、マルチプロセッサを搭載する場合が増加している。このようなマルチプロセッサを搭載したシステム(以下「マルチプロセッサシステム」と表記する。)によれば、大量のデータ及び命令を並列に処理できるため、システム全体の処理能力が飛躍的に向上することになる(例えば、特許文献1~3参照)。
また、このようなマルチプロセッサシステムには、対称型マルチプロセッシング(SMP:Symmetric Multiprocessing)と呼ばれる方式と、非対称型マルチプロセッシング(AMP:Asymmetric Multiprocessing)と呼ばれる方式とがある。このうち、SMPは、プロセッサ間に特別な役割及び主従関係等がなく、各プロセッサは対等であり、処理要求が全てのプロセッサに均等に割り当てられる方式である。一方、AMPは、プロセッサ間に特別な役割及び主従関係等があり、プロセッサ毎に異なる処理が割り当てられる方式である。
国際公開第2010/137262号 国際公開第2010/119932号 国際公開第2014/006732号
ところで、上述したマルチプロセッサシステムであっても、シングルプロセッサで構成されたシステム(以下「シングルプロセッサシステム」と表記する。)と同様に、ファームウェアをアップデートする場合は、システムを一旦停止し、その後、再起動を行う必要がある。
しかしながら、マルチプロセッサシステムは、シングルプロセッサシステムに比べて処理性能が高く、高い業務処理能力が求められる場面に採用されている。このため、マルチプロセッサシステムにおいては、システムを停止することなく、ファームウェアをアップデートすることが強く求められている。
本発明の目的の一例は、上記問題を解消し、マルチプロセッサシステムにおいて、再起動を行うことなく、ファームウェアをアップデートし得る、更新処理装置、更新処理方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明の一側面における更新処理装置は、複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれか又は全部のファームウェアを更新するための装置であって、
前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以
外のプロセッサを指定し、その動作を停止させる、プロセッサ指定部と、
指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、代替処理実行部と、
前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ファームウェア更新部と、
を備えている、ことを特徴とする。
また、上記目的を達成するため、本発明の一側面における更新処理方法は、複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれか又は全部のファームウェアを更新するための方法であって、
(a)前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、その動作を停止させる、ステップと、
(b)指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、ステップと、
(c)前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ステップと、
を有する、ことを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれか又は全部のファームウェアを更新するためのプログラムであって、
前記複数のプロセッサのいずれかに、
(a)前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、その動作を停止させる、ステップと、
(b)指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、ステップと、
(c)前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ステップと、
を実行させる、ことを特徴とする。
以上のように本発明によれば、マルチプロセッサシステムにおいて、再起動を行うことなく、ファームウェアをアップデートすることができる。
図1は、本発明の実施の形態における更新処理装置の概略構成を示すブロック図である。 図2は、本発明の実施の形態における更新処理装置の具体的構成を示すブロック図である。 図3は、本発明の実施の形態において、ファームウェアが有している、データのアクセス先のアドレスを示すテーブルの一例を示す図である。 図4は、本発明の実施の形態1における更新処理装置の動作を示すフロー図である。 図5は、図4に示す更新処理の際のサブプロセッサの動作を示す図である。
(実施の形態)
以下、本発明の実施の形態における、更新処理装置、更新処理方法、及びプログラムについて、図1~図5を参照しながら説明する。
[装置構成]
最初に、図1を用いて、本発明の実施の形態における更新処理装置の概略構成について説明する。図1は、本発明の実施の形態における更新処理装置の概略構成を示すブロック図である。
図1に示す本実施の形態における更新処理装置10は、複数のプロセッサを備えたマルチプロセッサシステム100において、複数のプロセッサのうちの、いずれか又は全部のプロセッサのファームウェアを更新するための装置である。
図1に示すように、更新処理装置10は、プロセッサ指定部11と、代替処理実行部12と、ファームウェア更新部13とを備えている。プロセッサ指定部15は、複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、その動作を停止させる。
代替処理実行部12は、まず、指定されたプロセッサのメモリ領域に、更新後のファームウェアを書き込む。次いで、代替処理実行部12は、指定されたプロセッサが、更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正する。そして、代替処理実行部12は、指定されたプロセッサに、更新対象となっているプロセッサの処理を行わせる。
ファームウェア更新部13は、更新対象となっているプロセッサのメモリ領域に、更新後のファームウェアを書き込み、更新対象となっているプロセッサのファームウェアを更新する。
このように、本実施の形態では、マルチプロセッサシステムを構成するプロセッサのファームウェアを更新しないといけない場面において、更新対象となるプロセッサの処理を、別のプロセッサによって肩代わりすることができる。このため、本実施の形態によれば、マルチプロセッサシステムにおいて、再起動を行うことなく、ファームウェアをアップデートすることができる。
続いて、図2を用いて、本実施の形態における更新処理装置10の構成をより具体的に説明する。図2は、本発明の実施の形態における更新処理装置の具体的構成を示すブロック図である。
図2の例では、マルチプロセッサシステム100は、単一のメインプロセッサ20と、メインプロセッサ20の指示に応じて動作する2つ以上のサブプロセッサ30とを備えている。メインプロセッサ20と、サブプロセッサ30とは、バス40によって接続されている。なお、メインプロセッサ20と、サブプロセッサ30とは、相手のメモリを読み書
き可能な環境にあれば良く、バス40以外の手段によって接続されていても良い。
また、マルチプロセッサシステム100において、メインプロセッサ20は、専用のRAM(Random Access Memory)21と、ファームウェアを格納したフラッシュROM(Read Only Memory)22と、専用のI/Oコントローラ23とを備えている。メインプロセッサ20は、起動時において、フラッシュROMからファームウェアを読み出し、これをRAM21に展開する。また、各サブプロセッサ30も、専用のRAM31を備えている。なお、本実施の形態において、サブプロセッサ30の個数は特に限定されるものではない。
このようなマルチプロセッサシステム100において、通常、サブプロセッサ30のファームウェアを更新する場合は、システム自体を停止しなくても良いが、メインプロセッサ20のファームウェアを更新する場合は、システム自体を停止する必要性がある。これに対して、更新処理装置10によれば、システム自体を停止することなく、メインプロセッサ20のファームウェアの更新が可能となる。
また、本実施の形態では、更新処理装置10は、メインプロセッサ20によって構築されている。具体的には、後述する本実施の形態におけるプログラムが、メインプロセッサ20のRAM21のメモリ領域に展開されると、メインプロセッサ20はプログラムのコードを実行する。これにより、更新処理装置10が構築されることになる。
本実施の形態では、更新処理装置10において、プロセッサ指定部11は、メインプロセッサがファームウェアの更新対象である場合に、いずれかのサブプロセッサ30を指定し、その動作を停止させる。
また、本実施の形態では、代替処理実行部12は、まず、指定されたサブプロセッサ30のRAM31のメモリ領域に、更新後のファームウェアを書き込む。更に、代替処理実行部12は、指定されたサブプロセッサ30が、メインプロセッサ20のRAM21のメモリ領域に格納されたデータにアクセスできるように、指定されたサブプロセッサ30のメモリマップ設定を修正する。そして、代替処理実行部12は、指定されたサブプロセッサ30に、メインプロセッサ20の処理を行わせる。
その後、ファームウェア更新部13は、指定されたサブプロセッサ30が、メインプロセッサ20の処理を行っている間に、メインプロセッサ20のRAM21のメモリ領域に、更新後のファームウェアを書き込み、メインプロセッサ20のファームウェアを更新する。
ここで、図2に加えて、図3を用いて、更新処理装置10の機能についてより具体的に説明する。図3は、本発明の実施の形態において、ファームウェアが有している、データのアクセス先のアドレスを示すテーブルの一例を示す図である。
まず、本実施の形態では、ファームウェアは、データのアクセス先のアドレスを示すテーブル(以下「データアクセス箇所テーブル」と表記する)を有している。図3において、上段は、更新前のファームウェアのデータアクセス箇所テーブルを示し、中段は、更新後のファームウェアのデータアクセス箇所テーブルを示している。また、図3上段及び中段に示すように、データアクセス箇所テーブルは、シンボル毎に、アドレス及びオフセット(オフセットアドレス)を登録している。
更に、図2に示すように、更新処理装置10は、本実施の形態では、上述したプロセッサ指定部11、代替処理実行部12、及びファームウェア更新部13に加えて、ファーム
ウェア変換部14を備えている。
ファームウェア変換部14は、更新前のファームウェアのテーブルと、更新後のファームウェアのテーブルとを対比して、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブル(図3の下段参照)を作成する。
具体的には、ファームウェア変換部14は、まず、更新前及び更新後のファームウェアそれぞれの「データアクセス箇所テーブル」を比較し、シンボルが同一で、アドレスが異なるエントリを特定する。次に、ファームウェア変換部14は、更新後のファームウェアにおいて、特定したエントリにおけるアドレスが更新前のファームウェアのアドレスとなるように、変換テーブルを作成する。
また、変換テーブルには、「初期化」の欄が設定されており、この欄において、ファームウェア変換部14は、更新前のファームウェアからデータを引き継ぐエントリについては、「×」と設定する。一方、ファームウェア変換部14は、更新後のファームウェアにのみ存在するエントリについては、「○」と設定する。
また、ファームウェア変換部14は、この変換テーブルを用いて、更新後のファームウェアにおけるアクセス先を変換する。この場合、代替処理実行部12は、アクセス先が変換された、更新後のファームウェアを、指定されたサブプロセッサ30のRAM31のメモリ領域に書き込み、指定されたサブプロセッサに、メインプロセッサ20の処理を肩代わりさせる。
また、ファームウェア更新部13は、メインプロセッサ20のフラッシュROM22のメモリ領域に、アクセス先が変換された、更新後のファームウェアを書き込む。これにより、メインプロセッサ20において、ファームウェアが更新させる。その後、ファームウェア更新部13は、メインプロセッサ20に再起動を行わせる。再起動後、メインプロセッサ20は、更新されたファームウェアによって動作する。
また、ファームウェア更新部13は、メインプロセッサ20のファームウェアを更新した後に、サブプロセッサ30それぞれ毎に、各サブプロセッサ30のRAM31のメモリ領域に、サブプロセッサ30の新たなファームウェアを書き込むことができる。この場合、ファームウェア更新部13は、書き込んだ新たなファームウェアを用いて、各サブプロセッサ30のファームウェアを更新する。
[装置動作]
次に、本発明の実施の形態1における更新処理装置10の動作について図4及び図5を用いて説明する。図4は、本発明の実施の形態1における更新処理装置の動作を示すフロー図である。図5は、図4に示す更新処理の際のサブプロセッサの動作を示す図である。以下の説明においては、適宜図1~図3を参酌する。また、本実施の形態では、更新処理装置10を動作させることによって、更新処理方法が実施される。よって、本実施の形態における更新処理方法の説明は、以下の更新処理装置10の動作説明に代える。
図4に示すように、最初に、更新処理装置10は、マルチプロセッサシステム100の上位システム等から、メインプロセッサ20のファームウェアの更新通知と更新後のファームウェアとを受信する(ステップA1)。
次に、更新処理装置10において、プロセッサ指定部11は、サブプロセッサ30のうちの1つを指定し、指定したサブプロセッサ30に対して、動作の停止を指示する(ステップA2)。具体的には、プロセッサ指定部11は、例えば、サブプロセッサ30のうち
、処理を行っていないサブプロセッサ30が存在している場合は、このサブプロセッサを指定する。
次に、ファームウェア変換部14は、フラッシュROM22に格納されている更新前のファームウェアのテーブルと、ステップA1で受信した更新後のファームウェアのテーブルとを対比する。そして、ファームウェア変換部14は、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブル(図3の下段参照)を作成する(ステップA3)。
次に、ファームウェア変換部14は、ステップA3で作成した変換テーブルを用いて、更新後のファームウェアにおけるアクセス先を変換する(ステップA4)。
次に、代替処理実行部12は、ステップA4によってアクセス先が変換された、更新後のファームウェアを、ステップA2で指定されたサブプロセッサ30のRAM31のメモリ領域に書き込む(ステップA5)。
次に、代替処理実行部12は、ステップA2で指定されたプロセッサが、更新対象となっているメインプロセッサ20のRAM21のメモリ領域に格納されたデータにアクセスできるように、指定されたサブプロセッサのメモリマップ設定を修正する(ステップA6)。
また、ステップA6においては、代替処理実行部12は、I/Oコントローラ23のデータ転送先を、指定されたサブプロセッサに変更する。これにより、図5に示すように、指定されたサブプロセッサは、メインプロセッサ20のRAM21のメモリ領域にアクセスして、処理を開始する。図5において、指定されたサブプロセッサ30には、ハッチングが施されている。
次に、ファームウェア更新部13は、更新対象となっているメインプロセッサ20のフラッシュROM22のメモリ領域に、更新後のファームウェアを書き込み、メインプロセッサ20のファームウェアを更新する(ステップA7)。
その後、ファームウェア更新部13は、メインプロセッサ20に再起動を行わせる(ステップA8)。再起動後、メインプロセッサ20は、更新されたファームウェアによって動作する。また、ファームウェア更新部13は、再起動が行われる前に、メインプロセッサ20は、ファームウェアが更新中であることを示すフラグを立てる。
そして、フラグが立っている場合は、ファームウェア更新部13は、RAM21のメモリ領域の初期化の禁止、I/Oコントローラ23のデータ転送先のメインプロセッサ20への変更を実行する。
加えて、ファームウェア更新部13は、フラグが立っている場合は、各サブプロセッサ30のRAM31のメモリ領域に、サブプロセッサ30の新たなファームウェアを書き込むことができる。また、ファームウェア更新部13は、書き込んだ新たなファームウェアを用いて、各サブプロセッサ30のファームウェアを更新する。
[実施の形態による効果]
以上のように、本実施の形態では、メインプロセッサ20の処理をサブプロセッサ30に肩代わりさせることができる。このため、本実施の形態によれば、メインプロセッサ20のファームウェアを更新する場合であっても、マルチプロセッサシステム100を停止させることなく、継続して稼働させることができる。
[プログラム]
本実施の形態におけるプログラムは、コンピュータに、図5に示すステップA1~A8を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における更新処理装置10と更新処理方法とを実現することができる。この場合、コンピュータのプロセッサは、プロセッサ指定部11、代替処理実行部12、ファームウェア更新部13、及びファームウェア変換部14として機能し、処理を行なう。
また、本実施の形態におけるプログラムを実行するコンピュータとしては、図2に示したマルチプロセッサシステムが挙げられる。この場合、更新処理装置10の各部として機能するプロセッサは、メインプロセッサ20であるのが良いが、本実施の形態はこれに限定されず、いずれかのサブプロセッサ30であっても良い。また、コンピュータは、マルチプロセッサシステムに接続された外部のコンピュータであっても良い。
また、本実施の形態において、プロセッサは、CPU(Central Processing Unit)であっても良いし、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)であっても良い。
また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体に格納された状態で提供される。更に、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記12)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれか又は全部のファームウェアを更新するための装置であって、
前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、その動作を停止させる、プロセッサ指定部と、
指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、代替処理実行部と、
前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ファームウェア更新部と、
を備えている、ことを特徴とする、更新処理装置。
(付記2)
付記1に記載の更新処理装置であって、
前記マルチプロセッサシステムは、単一の第1のプロセッサと、前記第1のプロセッサの指示に応じて動作する2つ以上の第2のプロセッサとを備え、
前記プロセッサ指定部は、前記第1のプロセッサがファームウェアの更新対象である場
合に、いずれかの前記第2のプロセッサを指定し、その動作を停止させ、
前記代替処理実行部は、指定された前記第2のプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定された前記第2のプロセッサが、前記第1のプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定された前記第2のプロセッサのメモリマップ設定を修正し、それによって、指定された前記第2のプロセッサに、前記第1のプロセッサの処理を行わせ、
前記ファームウェア更新部は、前記第1のプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記第1のプロセッサの前記ファームウェアを更新する、
ことを特徴とする、更新処理装置。
(付記3)
付記2に記載の更新処理装置であって、
前記ファームウェアが、データのアクセス先のアドレスを示すテーブルを有しており、
当該更新処理装置が、更新前のファームウェアの前記テーブルと、更新後のファームウェアの前記テーブルとを対比して、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブルを作成し、前記変換テーブルを用いて、更新後の前記ファームウェアにおけるアクセス先を変換する、ファームウェア変換部を更に備え、
前記代替処理実行部は、アクセス先が変換された、更新後の前記ファームウェアを、指定された前記第2のプロセッサのメモリ領域に書き込み、
前記ファームウェア更新部は、前記第1のプロセッサのメモリ領域に、アクセス先が変換された、更新後の前記ファームウェアを書き込む、
ことを特徴とする、更新処理装置。
(付記4)
付記2または3に記載の更新処理装置であって、
前記ファームウェア更新部は、前記第1のプロセッサの前記ファームウェアを更新した後に、前記第2のプロセッサそれぞれ毎に、当該第2のプロセッサのメモリ領域に、前記第2のプロセッサの新たなファームウェアを書き込み、書き込んだ前記新たなファームウェアを用いて、当該第2のプロセッサのファームウェアを更新する、
ことを特徴とする、更新処理装置。
(付記5)
複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれか又は全部のファームウェアを更新するための方法であって、
(a)前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、その動作を停止させる、ステップと、
(b)指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、ステップと、
(c)前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ステップと、
を有する、ことを特徴とする、更新処理方法。
(付記6)
付記5に記載の更新処理方法であって、
前記マルチプロセッサシステムは、単一の第1のプロセッサと、前記第1のプロセッサの指示に応じて動作する2つ以上の第2のプロセッサとを備え、
前記(a)のステップにおいて、前記第1のプロセッサがファームウェアの更新対象である場合に、いずれかの前記第2のプロセッサを指定し、その動作を停止させ、
前記(b)のステップにおいて、指定された前記第2のプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定された前記第2のプロセッサが、前記第1のプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定された前記第2のプロセッサのメモリマップ設定を修正し、それによって、指定された前記第2のプロセッサに、前記第1のプロセッサの処理を行わせ、
前記(b)のステップにおいて、前記第1のプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記第1のプロセッサの前記ファームウェアを更新する、
ことを特徴とする、更新処理方法。
(付記7)
付記6に記載の更新処理方法であって、
前記ファームウェアが、データのアクセス先のアドレスを示すテーブルを有しており、当該更新処理方法が、更に、
(d)更新前のファームウェアの前記テーブルと、更新後のファームウェアの前記テーブルとを対比して、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブルを作成し、前記変換テーブルを用いて、更新後の前記ファームウェアにおけるアクセス先を変換する、ステップを有し、
前記(b)のステップにおいて、アクセス先が変換された、更新後の前記ファームウェアを、指定された前記第2のプロセッサのメモリ領域に書き込み、
前記(c)のステップにおいて、前記第1のプロセッサのメモリ領域に、アクセス先が変換された、更新後の前記ファームウェアを書き込む、
ことを特徴とする、更新処理方法。
(付記8)
付記6または7に記載の更新処理方法であって、
当該更新処理方法が、更に、
(e)前記第1のプロセッサの前記ファームウェアを更新した後に、前記第2のプロセッサそれぞれ毎に、当該第2のプロセッサのメモリ領域に、前記第2のプロセッサの新たなファームウェアを書き込み、書き込んだ前記新たなファームウェアを用いて、当該第2のプロセッサのファームウェアを更新する、ステップを有する、
ことを特徴とする、更新処理方法。
(付記9)
複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれか又は全部のファームウェアを更新するためのプログラムであって、
前記複数のプロセッサのいずれかに、
(a)前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、その動作を停止させる、ステップと、
(b)指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、ステップと、
(c)前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ステップと、
を実行させる、ことを特徴とする、プログラム。
(付記10)
付記9に記載のプログラムであって、
前記マルチプロセッサシステムは、単一の第1のプロセッサと、前記第1のプロセッサの指示に応じて動作する2つ以上の第2のプロセッサとを備え、
前記(a)のステップにおいて、前記第1のプロセッサがファームウェアの更新対象である場合に、いずれかの前記第2のプロセッサを指定し、その動作を停止させ、
前記(b)のステップにおいて、指定された前記第2のプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定された前記第2のプロセッサが、前記第1のプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定された前記第2のプロセッサのメモリマップ設定を修正し、それによって、指定された前記第2のプロセッサに、前記第1のプロセッサの処理を行わせ、
前記(b)のステップにおいて、前記第1のプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記第1のプロセッサの前記ファームウェアを更新する、
ことを特徴とする、プログラム。
(付記11)
付記10に記載のプログラムであって、
前記ファームウェアが、データのアクセス先のアドレスを示すテーブルを有しており、前記複数のプロセッサのいずれかに、更に、
(d)更新前のファームウェアの前記テーブルと、更新後のファームウェアの前記テーブルとを対比して、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブルを作成し、前記変換テーブルを用いて、更新後の前記ファームウェアにおけるアクセス先を変換する、ステップを実行させ、
前記(b)のステップにおいて、アクセス先が変換された、更新後の前記ファームウェアを、指定された前記第2のプロセッサのメモリ領域に書き込み、
前記(c)のステップにおいて、前記第1のプロセッサのメモリ領域に、アクセス先が変換された、更新後の前記ファームウェアを書き込む、
ことを特徴とする、プログラム。
(付記12)
付記10または11に記載のプログラムであって、
前記複数のプロセッサのいずれかに、更に、
(e)前記第1のプロセッサの前記ファームウェアを更新した後に、前記第2のプロセッサそれぞれ毎に、当該第2のプロセッサのメモリ領域に、前記第2のプロセッサの新たなファームウェアを書き込み、書き込んだ前記新たなファームウェアを用いて、当該第2のプロセッサのファームウェアを更新する、ステップを実行させる、
ことを特徴とする、プログラム。
以上のように本発明によれば、マルチプロセッサシステムにおいて、再起動を行うことなく、ファームウェアをアップデートすることができる。本発明は、種々のマルチプロセッサシステムに有効である。
10 更新処理装置
11 プロセッサ指定部
12 代替処理実行部
13 ファームウェア更新部
14 ファームウェア変換部
20 メインプロセッサ
21 RAM
22 フラッシュROM
23 I/Oコントローラ
30 サブプロセッサ
31 RAM
40 バス
100 マルチプロセッサシステム

Claims (6)

  1. 複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれかのファームウェアを更新するための装置であって、
    前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、指定したプロセッサの動作を停止させる、プロセッサ指定部と、
    指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、代替処理実行部と、
    前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ファームウェア更新部と、
    前記ファームウェアが、データのアクセス先のアドレスを示すテーブルを有している場合において、更新前のファームウェアの前記テーブルと、更新後のファームウェアの前記テーブルとを対比して、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブルを作成し、前記変換テーブルを用いて、更新後の前記ファームウェアにおけるアクセス先を変換する、ファームウェア変換部と、
    を備え、
    前記マルチプロセッサシステムは、単一の第1のプロセッサと、前記第1のプロセッサの指示に応じて動作する2つ以上の第2のプロセッサとを備え、
    前記プロセッサ指定部は、前記第1のプロセッサがファームウェアの更新対象である場合に、いずれかの前記第2のプロセッサを指定し、その動作を停止させ、
    前記代替処理実行部は、アクセス先が変換された、更新後の前記ファームウェアを、指定された前記第2のプロセッサのメモリ領域に書き込み、更に、指定された前記第2のプロセッサが、前記第1のプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定された前記第2のプロセッサのメモリマップ設定を修正し、それによって、指定された前記第2のプロセッサに、前記第1のプロセッサの処理を行わせ、
    前記ファームウェア更新部は、前記第1のプロセッサのメモリ領域に、アクセス先が変換された、更新後の前記ファームウェアを書き込み、前記第1のプロセッサの前記ファームウェアを更新する、
    ことを特徴とする、更新処理装置。
  2. 請求項1に記載の更新処理装置であって、
    前記ファームウェア更新部は、前記第1のプロセッサの前記ファームウェアを更新した後に、前記第2のプロセッサそれぞれ毎に、当該第2のプロセッサのメモリ領域に、前記第2のプロセッサの新たなファームウェアを書き込み、書き込んだ前記新たなファームウェアを用いて、当該第2のプロセッサのファームウェアを更新する、
    ことを特徴とする、更新処理装置。
  3. 複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれかのファームウェアを更新するための方法であって、
    (a)前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、指定したプロセッサの動作を停止させる、ステップと、
    (b)指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、ステップと、
    (c)前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ステップと、
    (d)前記ファームウェアが、データのアクセス先のアドレスを示すテーブルを有している場合において、更新前のファームウェアの前記テーブルと、更新後のファームウェアの前記テーブルとを対比して、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブルを作成し、前記変換テーブルを用いて、更新後の前記ファームウェアにおけるアクセス先を変換する、ステップと、
    を有し、
    前記マルチプロセッサシステムは、単一の第1のプロセッサと、前記第1のプロセッサの指示に応じて動作する2つ以上の第2のプロセッサとを備え、
    前記(a)のステップにおいて、前記第1のプロセッサがファームウェアの更新対象である場合に、いずれかの前記第2のプロセッサを指定し、その動作を停止させ、
    前記(b)のステップにおいて、アクセス先が変換された、更新後の前記ファームウェアを、指定された前記第2のプロセッサのメモリ領域に書き込み、更に、指定された前記第2のプロセッサが、前記第1のプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定された前記第2のプロセッサのメモリマップ設定を修正し、それによって、指定された前記第2のプロセッサに、前記第1のプロセッサの処理を行わせ、
    前記(b)のステップにおいて、前記第1のプロセッサのメモリ領域に、アクセス先が変換された、更新後の前記ファームウェアを書き込み、前記第1のプロセッサの前記ファームウェアを更新する、
    ことを特徴とする、更新処理方法。
  4. 請求項3に記載の更新処理方法であって、
    当該更新処理方法が、更に、
    (e)前記第1のプロセッサの前記ファームウェアを更新した後に、前記第2のプロセッサそれぞれ毎に、当該第2のプロセッサのメモリ領域に、前記第2のプロセッサの新たなファームウェアを書き込み、書き込んだ前記新たなファームウェアを用いて、当該第2のプロセッサのファームウェアを更新する、ステップを有する、
    ことを特徴とする、更新処理方法。
  5. 複数のプロセッサを備えたマルチプロセッサシステムにおいて、前記複数のプロセッサのうちのいずれかのファームウェアを更新するためのプログラムであって、
    前記複数のプロセッサのいずれかに、
    (a)前記複数のプロセッサの中から、ファームウェアの更新対象となっているプロセッサ以外のプロセッサを指定し、指定したプロセッサの動作を停止させる、ステップと、
    (b)指定されたプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、更に、指定されたプロセッサが、前記更新対象となっているプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定されたプロセッサのメモリマップ設定を修正し、指定されたプロセッサに、前記更新対象となっているプロセッサの処理を行わせる、ステップと、
    (c)前記更新対象となっているプロセッサのメモリ領域に、更新後の前記ファームウェアを書き込み、前記更新対象となっているプロセッサの前記ファームウェアを更新する、ステップと、
    (d)前記ファームウェアが、データのアクセス先のアドレスを示すテーブルを有している場合において、更新前のファームウェアの前記テーブルと、更新後のファームウェアの前記テーブルとを対比して、更新前と更新後とにおけるアクセス先の変換箇所を示す変換テーブルを作成し、前記変換テーブルを用いて、更新後の前記ファームウェアにおけるアクセス先を変換する、ステップと、
    を実行させ、
    前記マルチプロセッサシステムは、単一の第1のプロセッサと、前記第1のプロセッサの指示に応じて動作する2つ以上の第2のプロセッサとを備え、
    前記(a)のステップにおいて、前記第1のプロセッサがファームウェアの更新対象である場合に、いずれかの前記第2のプロセッサを指定し、その動作を停止させ、
    前記(b)のステップにおいて、アクセス先が変換された、更新後の前記ファームウェアを、指定された前記第2のプロセッサのメモリ領域に書き込み、更に、指定された前記第2のプロセッサが、前記第1のプロセッサのメモリ領域に格納されたデータにアクセスできるように、指定された前記第2のプロセッサのメモリマップ設定を修正し、それによって、指定された前記第2のプロセッサに、前記第1のプロセッサの処理を行わせ、
    前記(b)のステップにおいて、前記第1のプロセッサのメモリ領域に、アクセス先が変換された、更新後の前記ファームウェアを書き込み、前記第1のプロセッサの前記ファームウェアを更新する、
    ことを特徴とする、プログラム。
  6. 請求項5に記載のプログラムであって、
    前記複数のプロセッサのいずれかに、更に、
    (e)前記第1のプロセッサの前記ファームウェアを更新した後に、前記第2のプロセッサそれぞれ毎に、当該第2のプロセッサのメモリ領域に、前記第2のプロセッサの新たなファームウェアを書き込み、書き込んだ前記新たなファームウェアを用いて、当該第2のプロセッサのファームウェアを更新する、ステップを実行させる、
    ことを特徴とする、プログラム。
JP2018041160A 2018-03-07 2018-03-07 更新処理装置、更新処理方法、及びプログラム Active JP7184424B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018041160A JP7184424B2 (ja) 2018-03-07 2018-03-07 更新処理装置、更新処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018041160A JP7184424B2 (ja) 2018-03-07 2018-03-07 更新処理装置、更新処理方法、及びプログラム

Publications (2)

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

Family

ID=67996247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018041160A Active JP7184424B2 (ja) 2018-03-07 2018-03-07 更新処理装置、更新処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7184424B2 (ja)

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 (ja) 2000-07-14 2002-01-31 Fuji Electric Co Ltd 燃料電池車両と同車両用改質器の停止方法
JP2002342102A (ja) 2001-05-16 2002-11-29 Nec Corp プログラム更新方法およびプログラム更新方式
JP2012146234A (ja) 2011-01-14 2012-08-02 Nec Corp 制御装置、及びファームウェア更新方法とそのプログラム
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 (ja) * 1993-09-27 1995-04-11 Fujitsu Ltd 情報処理装置の部分ファイル更新方式
JPH07319717A (ja) * 1994-05-26 1995-12-08 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置のプログラム切替方法
JPH10260845A (ja) * 1997-03-19 1998-09-29 Fujitsu Ltd ファームウェアの更新処理機能を有するマルチcpuシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002034102A (ja) 2000-07-14 2002-01-31 Fuji Electric Co Ltd 燃料電池車両と同車両用改質器の停止方法
JP2002342102A (ja) 2001-05-16 2002-11-29 Nec Corp プログラム更新方法およびプログラム更新方式
JP2012146234A (ja) 2011-01-14 2012-08-02 Nec Corp 制御装置、及びファームウェア更新方法とそのプログラム
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 (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
JP5655677B2 (ja) ハイパーバイザ置き換え方法および情報処理装置
JP5724477B2 (ja) 移行プログラム、情報処理装置、移行方法、及び情報処理システム
JP5484117B2 (ja) ハイパーバイザ及びサーバ装置
JP6029550B2 (ja) 計算機の制御方法及び計算機
US20080235477A1 (en) Coherent data mover
US20120311240A1 (en) Information processing apparatus, information processing method, and storage medium
JP5786955B2 (ja) メモリ縮退方法及び情報処理装置
JP2010039895A (ja) 仮想計算機システムおよび仮想計算機システムにおけるエラー回復方法ならびに仮想計算機制御プログラム
JP2008269474A (ja) 情報処理装置およびアクセス制御方法
JP6165964B2 (ja) 計算機
JP5778296B2 (ja) 仮想計算機システム、仮想化機構、及びデータ管理方法
JP6194764B2 (ja) 情報処理装置、制御方法、および制御プログラム
US20120226832A1 (en) Data transfer device, ft server and data transfer method
JP7184424B2 (ja) 更新処理装置、更新処理方法、及びプログラム
US20140372742A1 (en) Computer system and startup method
KR20110052902A (ko) 컴퓨팅 시스템 및 컴퓨팅 시스템의 메모리 관리 방법
JP6281442B2 (ja) 割り当て制御プログラム、割り当て制御方法及び割り当て制御装置
JP4594889B2 (ja) 複数の処理装置を備えたシステム上で実行されるプログラムのトレース方法、および、複数の処理装置を備えたシステム
JP2021026375A (ja) ストレージシステム
JP6146092B2 (ja) 仮想化システム、仮想サーバ、仮想マシン制御方法、及び仮想マシン制御プログラム
JP2013214122A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP6981098B2 (ja) 復旧制御装置、復旧制御システム、復旧制御方法、及び、復旧制御プログラム
JP2019168952A (ja) メモリ管理装置、メモリ管理方法、及びプログラム
JP6940283B2 (ja) Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム
JP5975419B2 (ja) 情報処理装置、情報処理方法、及びプログラム

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