IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

<図1>
  • -情報処理システム 図1
  • -情報処理システム 図2
  • -情報処理システム 図3
  • -情報処理システム 図4
  • -情報処理システム 図5
  • -情報処理システム 図6
  • -情報処理システム 図7
  • -情報処理システム 図8
  • -情報処理システム 図9
  • -情報処理システム 図10
  • -情報処理システム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025033995
(43)【公開日】2025-03-13
(54)【発明の名称】情報処理システム
(51)【国際特許分類】
   G06F 8/654 20180101AFI20250306BHJP
【FI】
G06F8/654
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023140095
(22)【出願日】2023-08-30
(71)【出願人】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】黒田 生喜
(72)【発明者】
【氏名】綱島 俊治
(72)【発明者】
【氏名】林 輝威
(72)【発明者】
【氏名】三好 伸和
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA82
(57)【要約】
【課題】本開示は、記録部に格納された更新済ファームウェアを不揮発性メモリ経由でメインメモリへ転送する場合と比して、更新済ファームウェアの実行開始を早める情報処理システムを提供することを目的とする。
【解決手段】情報処理システム10が備えるサブプロセッサ46は、記録部20に格納された更新済ファームウェア80Aの少なくとも一部を、第一ダイレクトメモリアクセス制御部50に記録部20からメインメモリ48へ転送させると共に、更新済ファームウェア80Aを、第一ダイレクトメモリアクセス制御部50又は第二ダイレクトメモリアクセス制御部52に記録部20から不揮発性メモリ60へ転送させ、更新済ファームウェア80Aのメインメモリ48への転送が完了した場合に、更新済ファームウェア80Aの不揮発性メモリ60への転送の完了以前に、メインメモリ48に転送された更新済ファームウェア80Aを実行開始する。
【選択図】図1
【特許請求の範囲】
【請求項1】
メインメモリと、
不揮発性メモリと、
前記メインメモリに格納された更新前ファームウェアを実行するプロセッサと、
前記プロセッサに制御される第一ダイレクトメモリアクセス制御部と、
前記プロセッサに制御される第二ダイレクトメモリアクセス制御部と、
を備え、
前記プロセッサは、記録部に格納された更新済ファームウェアの少なくとも一部を、前記第一ダイレクトメモリアクセス制御部に前記記録部から前記メインメモリへ転送させると共に、前記更新済ファームウェアを、前記第一ダイレクトメモリアクセス制御部又は前記第二ダイレクトメモリアクセス制御部に前記記録部から前記不揮発性メモリへ転送させ、前記更新済ファームウェアの前記メインメモリへの転送が完了した場合に、前記更新済ファームウェアの前記不揮発性メモリへの転送の完了以前に、前記メインメモリに転送された前記更新済ファームウェアを実行開始する、
情報処理システム。
【請求項2】
前記プロセッサは、前記更新済ファームウェアの少なくとも一部を、前記メインメモリにおいて前記プロセッサが実行する前記更新前ファームウェアが格納された記憶領域へ転送させ、前記更新済ファームウェアの全部を、前記第一ダイレクトメモリアクセス制御部に前記記録部から前記メインメモリへ転送させるのと並行して、前記更新済ファームウェアを、前記第二ダイレクトメモリアクセス制御部に前記記録部から前記不揮発性メモリへ転送させる、
請求項1に記載の、情報処理システム。
【請求項3】
前記プロセッサは、前記更新済ファームウェアの一部分を、前記第一ダイレクトメモリアクセス制御部に前記メインメモリへ転送させると共に、前記更新済ファームウェアの他の部分を、前記第二ダイレクトメモリアクセス制御部に前記メインメモリへ転送させてから、前記更新済ファームウェアを、前記記録部から前記不揮発性メモリへ転送させる、
請求項1に記載の、情報処理システム。
【請求項4】
前記プロセッサは、前記更新済ファームウェアの少なくとも一部を、前記メインメモリにおいて前記プロセッサが実行する前記更新前ファームウェアが格納された記憶領域へ転送させる、
請求項3に記載の、情報処理システム。
【請求項5】
前記プロセッサは、前記第二ダイレクトメモリアクセス制御部の制御ができないと判断した場合に、前記更新済ファームウェアの全部を、前記第一ダイレクトメモリアクセス制御部に前記記録部から前記メインメモリに転送させた後に、さらに前記更新済ファームウェアを、前記記録部から前記不揮発性メモリへ転送させる、
請求項1に記載の、情報処理システム。
【請求項6】
前記プロセッサは、前記メインメモリに転送された前記更新済ファームウェアの実行と並行して、前記更新済ファームウェアを、前記記録部から前記不揮発性メモリへ転送させる、
請求項5に記載の、情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理システムに関する。
【背景技術】
【0002】
例えば特許文献1には、機器が単体で動作するための基本部分と、前記基本部分以外であるアプリケーション部分とを含むファームウエアを記憶する記憶手段と、新たなファームウエアで前記記憶手段に記憶されたファームウエアを更新する場合に、前記新たなファームウエアの前記基本部分を抽出する抽出手段と、前記抽出手段により抽出された前記基本部分により前記ファームウエアの前記基本部分を前記アプリケーション部分よりも先に更新する更新手段と、前記更新手段により更新された前記基本部分を有効とする処理を実行する実行手段と、を備えることを特徴とする情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013-232100号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、記録部に格納された更新済ファームウェアを不揮発性メモリ経由でメインメモリへ転送する場合と比して、更新済ファームウェアの実行開始を早める情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【0005】
第一態様の情報処理システムは、メインメモリと、不揮発性メモリと、前記メインメモリに格納された更新前ファームウェアを実行するプロセッサと、前記プロセッサに制御される第一ダイレクトメモリアクセス制御部と、前記プロセッサに制御される第二ダイレクトメモリアクセス制御部と、を備え、前記プロセッサは、記録部に格納された更新済ファームウェアの少なくとも一部を、前記第一ダイレクトメモリアクセス制御部に前記記録部から前記メインメモリへ転送させると共に、前記更新済ファームウェアを、前記第一ダイレクトメモリアクセス制御部又は前記第二ダイレクトメモリアクセス制御部に前記記録部から前記不揮発性メモリへ転送させ、前記更新済ファームウェアの前記メインメモリへの転送が完了した場合に、前記更新済ファームウェアの前記不揮発性メモリへの転送の完了以前に、前記メインメモリに転送された前記更新済ファームウェアを実行開始する。
【0006】
第二態様の情報処理システムは、第一態様に記載の情報処理システムにおいて、前記プロセッサは、前記更新済ファームウェアの少なくとも一部を、前記メインメモリにおいて前記プロセッサが実行する前記更新前ファームウェアが格納された記憶領域へ転送させ、前記更新済ファームウェアの全部を、前記第一ダイレクトメモリアクセス制御部に前記記録部から前記メインメモリへ転送させるのと並行して、前記更新済ファームウェアを、前記第二ダイレクトメモリアクセス制御部に前記記録部から前記不揮発性メモリへ転送させる。
【0007】
第三態様の情報処理システムは、第一態様に記載の情報処理システムにおいて、前記プロセッサは、前記更新済ファームウェアの一部分を、前記第一ダイレクトメモリアクセス制御部に前記メインメモリへ転送させると共に、前記更新済ファームウェアの他の部分を、前記第二ダイレクトメモリアクセス制御部に前記メインメモリへ転送させてから、前記更新済ファームウェアを、前記記録部から前記不揮発性メモリへ転送させる。
【0008】
第四態様の情報処理システムは、第三態様に記載の情報処理システムにおいて、前記プロセッサは、前記更新済ファームウェアの少なくとも一部を、前記メインメモリにおいて前記プロセッサが実行する前記更新前ファームウェアが格納された記憶領域へ転送させる。
【0009】
第五態様の情報処理システムは、第一態様に記載の情報処理システムにおいて、前記プロセッサは、前記第二ダイレクトメモリアクセス制御部の制御ができないと判断した場合に、前記更新済ファームウェアの全部を、前記第一ダイレクトメモリアクセス制御部に前記記録部から前記メインメモリに転送させた後に、さらに前記更新済ファームウェアを、前記記録部から前記不揮発性メモリへ転送させる。
【0010】
第六態様の情報処理システムは、第五態様に記載の情報処理システムにおいて、前記プロセッサは、前記メインメモリに転送された前記更新済ファームウェアの実行と並行して、前記更新済ファームウェアを、前記記録部から前記不揮発性メモリへ転送させる。
【発明の効果】
【0011】
第一態様に係る情報処理システムによれば、記録部に格納された更新済ファームウェアを不揮発性メモリ経由でメインメモリへ転送する場合と比して、更新済ファームウェアの実行開始を早めることができる。
【0012】
第二態様に係る情報処理システムによれば、プロセッサを停止させずに更新済ファームウェアを実行することができる。
【0013】
第三態様に係る情報処理システムによれば、更新済ファームウェアを全て第一ダイレクトメモリアクセス制御部が転送する場合と比べて、更新済ファームウェアの実行開始を早めることができる。
【0014】
第四態様に係る情報処理システムによれば、プロセッサを停止させずに更新済ファームウェアを実行することができる。
【0015】
第五態様に係る情報処理システムによれば、プロセッサが第二ダイレクトメモリアクセス制御部を制御できるまで待機する場合と比べて、更新済ファームウェアの転送完了を早めることができる。
【0016】
第六態様に係る情報処理システムによれば、プロセッサが更新済ファームウェアの実行を終了するまで更新済ファームウェアの不揮発性メモリへの転送をしない場合と比べて、更新済ファームウェアの不揮発性メモリへの転送完了を早めることができる。
【図面の簡単な説明】
【0017】
図1】本開示の第一実施形態に係る情報処理システムの構成を説明するブロック図である。
図2】本開示の第一実施形態に係る情報処理システムが通常ブートモードで起動する場合の動作を説明するタイミングチャートである。
図3】本開示の第一実施形態に係る情報処理システムの動作を説明するシーケンス図である。
図4】本開示の第一実施形態に係る情報処理システムがファームウェアを更新する場合の動作を説明するタイミングチャートである。
図5】本開示の比較例に係る情報処理システムの構成を説明するブロック図である。
図6】本開示の比較例に係る情報処理システムの動作を説明するシーケンス図である。
図7】本開示の比較例に係る情報処理システムがファームウェアを更新する場合の動作を説明するタイミングチャートである。
図8】本開示の第二実施形態に係る情報処理システムがメインメモリに格納されたファームウェアを更新する動作を説明する図である。
図9図8に続けて本開示の第二実施形態に係る情報処理システムがメインメモリに格納されたファームウェアを更新する動作を説明する図である。
図10】本開示の第三実施形態に係る情報処理システムがファームウェアを更新する場合の動作を説明するタイミングチャートである。
図11】本開示の第四実施形態に係る情報処理システムがファームウェアを更新する場合の動作を説明するタイミングチャートである。
【発明を実施するための形態】
【0018】
以下、本開示の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において、同一又は等価な構成要素及び部品には同一の参照符号を付与している。
【0019】
[第一実施形態]
(情報処理システム)
図1は、本実施形態に係る情報処理システム10の一例を示す図である。本実施形態に係る情報処理システム10は、例えば、画像形成装置、産業機器、通信機器等のコンピュータ制御される機器に適用される。図1に示すように、本実施形態に示す情報処理システム10は、記録部20と、主制御部30と、サブプロセッサ46と、不揮発性メモリ60と、を有する。また、図1に示される情報処理システム10の各構成は、図示しない電源から電力を供給される。
【0020】
(記録部20)
記録部20は、更新済ファームウェア80Aを記録する装置である。記録部20は、更新済ファームウェア80Aを記録可能とされていれば、どのような装置とされてもよいが、一例としてDRAM(Dynamic Random Access Memory)が用いられる。また、記録部20は、チャネル24を介して後述する主制御部30と接続されている。
【0021】
(主制御部30)
主制御部30は、第一インターフェース(I/F)32と、第二インターフェース34と、メインプロセッサ36と、を有する。
【0022】
第一インターフェース32は、チャネル24を介して記録部20と接続されている。また、第二インターフェース34は、チャネル26を介して後述する副制御部40と接続されている。メインプロセッサ36は、一例としてCPU(Central Processing Unit)であり、バス38を介して第一インターフェース32、及び第二インターフェース34と接続されている。また、メインプロセッサ36は、主制御部30が有する図示しないメモリに格納されたプログラムを実行する。
【0023】
(副制御部40)
副制御部40は、第一インターフェース42と、第二インターフェース44と、サブプロセッサ46と、メインメモリ48と、第一ダイレクトメモリアクセス制御部50と、第二ダイレクトメモリアクセス制御部52と、を有する。また、副制御部40は、さらにハッシュ計算部54を有する。
【0024】
第一インターフェース42は、チャネル26を介して主制御部30と接続されている。また、第二インターフェース44は、チャネル28を介して不揮発性メモリ60と接続されている。サブプロセッサ46は、一例としてCPUであり、バス38を介して第一インターフェース42と、第二インターフェース44と、メインメモリ48と、に接続されている。また、サブプロセッサ46は、メインメモリ48に格納されたプログラムを実行する。また、本実施形態におけるサブプロセッサ46は、本開示における「プロセッサ」の一例である。
【0025】
メインメモリ48は、一例としてSRAM(Static Random Access Memory)等の揮発性の記憶装置であり、バス38を介して副制御部40の各構成と接続されている。メインメモリ48は、サブプロセッサ46が実行中にデータが一時的に記憶される装置である。また、メインメモリ48は、後述するようにサブプロセッサ46が起動する場合にはファームウェアを記憶し、メインメモリ48に記憶されたファームウェアをサブプロセッサ46が実行する。なお、本実施形態に係るメインメモリ48は、例えば、情報処理システム10がシャットダウンした場合など、図示しない電源から電力の供給が停止した場合には、記憶したデータが失われる構成である。
【0026】
第一ダイレクトメモリアクセス制御部50は、メインメモリ48、第一インターフェース42及び第二インターフェース44とバス38を介して接続されている。第一ダイレクトメモリアクセス制御部50は、いわゆるDMAC(Direct Memory Access Controller)であり、チャネル26及び主制御部30を介して記録部20に格納された更新済ファームウェア80Aとアクセス可能である。また、第一ダイレクトメモリアクセス制御部50は、チャネル28を介して不揮発性メモリ60とアクセス可能とされている。なお、本実施形態に係る第一ダイレクトメモリアクセス制御部50は、サブプロセッサ46の状態に関わらず、メインメモリ48及び不揮発性メモリ60に格納されたデータの読み込み及びメインメモリ48及び不揮発性メモリ60への書き込みが可能である。
【0027】
なお、第二ダイレクトメモリアクセス制御部52は、第一ダイレクトメモリアクセス制御部50と同様の構成である。すなわち、第二ダイレクトメモリアクセス制御部52は、サブプロセッサ46の状態に関わらずメインメモリ48及び不揮発性メモリ60に格納されたデータの読み込み及びメインメモリ48及び不揮発性メモリ60への書き込みが可能である。
【0028】
ハッシュ計算部54は、バス38を介してサブプロセッサ46、第一ダイレクトメモリアクセス制御部50及び第二ダイレクトメモリアクセス制御部52と接続されている。また、ハッシュ計算部54は、データを受付けた場合に、入力されたデータに対して一意に定まる計算結果であるハッシュ値を出力する計算機能を有している。
【0029】
(不揮発性メモリ60)
不揮発性メモリ60は、一例としてフラッシュメモリ(Flash Memory)等の記憶装置であり、チャネル28を介して副制御部40と接続されている。不揮発性メモリ60は、サブプロセッサ46が実行するファームウェアが記憶される装置であり、後述するようにサブプロセッサ46が起動する場合には不揮発性メモリ60が記憶する更新前ファームウェア80Bを実行する。なお、本実施形態に係る不揮発性メモリ60は、例えば、情報処理システム10がシャットダウンした場合など、図示しない電源から電力の供給が停止した場合においても、記憶したデータを保つ機能を有している。
【0030】
本実施形態に係る情報処理システム10において、主制御部30と、副制御部40とは、それぞれ別個に制御動作を実行することが可能とされている。主制御部30と、副制御部40は、図1に示されるようにチャネル26を介して接続されていれば、同じ機器に組み込まれていてもよく、別個の機器に組み込まれてもよい。また、チャネル24、チャネル26、及びチャネル28は、図1に示されるように各構成同士を通信可能とされていれば、どのように通信しても構わない。
【0031】
なお、本実施形態において、主制御部30は、副制御部40の更新済ファームウェア80Aを提供可能とされている。より具体的には、メインプロセッサ36は、副制御部40のサブプロセッサ46から指示を受付けた場合に、記録部20に格納された更新済ファームウェア80Aを、副制御部40に向けて転送する。また、メインプロセッサ36は、第一ダイレクトメモリアクセス制御部50、又は第二ダイレクトメモリアクセス制御部52から指示を受付けた場合に、記録部20に格納された更新済ファームウェア80Aを、副制御部40に向けて転送する。
【0032】
次に、本実施形態に係る副制御部40の具体的な動作を説明する。
【0033】
(通常ブートモードの動作)
図2は、本実施形態において、副制御部40が不揮発性メモリ60に記憶されたファームウェアを実行する、通常ブートモードのプロセスを示す図である。図2に示されるように通常ブートモードでは、サブプロセッサ46は、シーケンスN1において不揮発性メモリ60からメインメモリ48にファームウェアを転送する。また、サブプロセッサ46は、シーケンスN2において、メインメモリ48に格納されたファームウェアがハッシュ計算部54に転送する。また、ハッシュ計算部54は、ハッシュ値を算出し、予め求められていたハッシュ値と比較されてデータとしての信頼性を検査する。そして、サブプロセッサ46は、ハッシュ値に基づいてメインメモリ48に格納されたファームウェアの信頼性が確保されていることが確認された場合に、メインメモリ48に格納されたファームウェアを実行する。
【0034】
なお、上述の通常ブートモードとは、ファームウェアが不揮発性メモリ60に格納されていた場合において実行される。すなわち、ファームウェアを更新する処理を行う場合、その処理の完了は、不揮発性メモリ60に更新後のファームウェアが格納された状態を指す。
【0035】
(ファームウェア更新モードの動作)
続いて、図3及び図4を参照しながら、本実施形態において、副制御部40が不揮発性メモリ60に記憶されたファームウェアを更新する、ファームウェア更新モードの動作を説明する。図3は、本実施形態において、副制御部40が不揮発性メモリ60に記憶されたファームウェアを更新する、ファームウェア更新モードのシーケンス図である。また、図3は、図3に続けて副制御部40が不揮発性メモリ60に記憶されたファームウェアを更新する、ファームウェア更新モードのシーケンス図である。また、図4は、第一ダイレクトメモリアクセス制御部50及び第二ダイレクトメモリアクセス制御部52のプロセスを抜き出して説明するタイミングチャートである。
【0036】
なお、本実施形態に係る情報処理システム10では、図3に示すように、第一ダイレクトメモリアクセス制御部50及び第二ダイレクトメモリアクセス制御部52は、それぞれ並行して更新済ファームウェア80Aを転送する動作を行う。
【0037】
なお、以後の説明において、一つの構成が異なる二つの構成に対して、実質的に同時に同じ指示を要求する場合や、異なる二つの構成が一つの構成に対して、実質的に同時に同じ指示を要求する場合がある。これらの場合については、以後の説明及び図面にシーケンス名の末尾にA、Bの符号を付し、二つの処理が実質的に同時に開始されることを示す。なお、「実質的に同時」とは、情報処理システム10の動作速度を考慮した場合に、許容できる時間内にそれぞれの処理が開始されることを含む。
【0038】
なお、以後のタイミングチャートにおいて、処理内容を示す四角形の図面における横方向の大きさは、該処理内容において必要とされる処理時間の長さを相対的に表している。例えば、図4において、シーケンスF5AからシーケンスF8までに行われる処理は、シーケンスF5BからシーケンスF14までに行われる処理よりも処理時間を要することが示されている。
【0039】
まず、図3に示されるように、サブプロセッサ46は、シーケンスF1において、第一ダイレクトメモリアクセス制御部50及び第二ダイレクトメモリアクセス制御部52の使用状態を確認する。具体的には、第一ダイレクトメモリアクセス制御部50及び第二ダイレクトメモリアクセス制御部52が待機中であること(他のプロセスを実行中ではないこと)を確認する。
【0040】
次に、サブプロセッサ46は、シーケンスF2Aにおいて、第一ダイレクトメモリアクセス制御部50に更新済ファームウェア80Aを転送する指示を送信する。また、サブプロセッサ46は、シーケンスF2Bにおいて、第二ダイレクトメモリアクセス制御部52に更新済ファームウェア80Aを転送する指示を送信する。
【0041】
次に、第一ダイレクトメモリアクセス制御部50は、シーケンスF3Aにおいて、記録部20に格納された更新済ファームウェア80Aの送信を要求する。また、第二ダイレクトメモリアクセス制御部52は、シーケンスF3Bにおいて、記録部20に格納された更新済ファームウェア80Aの送信を要求する。
【0042】
次に、記録部20は、シーケンスF4Aにおいて、更新済ファームウェア80Aを第一ダイレクトメモリアクセス制御部50に送信する。また、記録部20は、シーケンスF4Bにおいて、更新済ファームウェア80Aを第二ダイレクトメモリアクセス制御部52に送信する。
【0043】
次に、第一ダイレクトメモリアクセス制御部50は、シーケンスF5Aにおいて、メインメモリ48への更新済ファームウェア80Aの送信を開始する。また、第二ダイレクトメモリアクセス制御部52は、シーケンスF5Bにおいて、不揮発性メモリ60への更新済ファームウェア80Aの送信を開始する。
【0044】
ここで、本実施形態に係る情報処理システム10において、メインメモリ48と不揮発性メモリ60は、それぞれ書き込み速度が異なる。言い換えれば、メインメモリ48と不揮発性メモリ60は、同じデータを記憶する指示を受付けてから、記憶が完了するまでに要する時間が異なる。具体的には、SRAMであるメインメモリ48は、フラッシュメモリである不揮発性メモリ60よりも書き込み速度が大きい。
【0045】
このため、図3及び図4に示されるように、メインメモリ48と不揮発性メモリ60とが、同じ時期でデータを受信した場合に、それぞれのシーケンスが完了する時期が異なることになる。具体的には、図3及び図4に示されるように、メインメモリ48への書き込み処理は、不揮発性メモリ60への書き込み処理よりも先に完了する。
【0046】
そして図3に示されるように、メインメモリ48は、更新済ファームウェア80Aの受信が完了した場合に、シーケンスF8において、第一ダイレクトメモリアクセス制御部50に転送が完了したことを通知する。なお、図3及び図4に示される様に、シーケンスF8において、第二ダイレクトメモリアクセス制御部52は、不揮発性メモリ60への更新済ファームウェア80Aの送信を継続する。
【0047】
次に、第一ダイレクトメモリアクセス制御部50は、シーケンスF9において、メインメモリ48に格納された更新済ファームウェア80Aについて、ハッシュ計算部54にハッシュ値を算出させる。そして、予め求められていたハッシュ値と、算出されたハッシュ値とを比較して、メインメモリ48に送信された更新済ファームウェア80Aのデータとしての信頼性を確認する。
【0048】
次に、第一ダイレクトメモリアクセス制御部50は、シーケンスF10において、サブプロセッサ46に、メインメモリ48への更新済ファームウェア80Aの転送が完了したことを通知する。
【0049】
次に、サブプロセッサ46は、シーケンスF11において、メインメモリ48から更新済ファームウェア80Aを読み込む。
【0050】
次に、メインメモリ48は、シーケンスF12において、更新済ファームウェア80Aをサブプロセッサ46に送信する。
【0051】
次に、サブプロセッサ46は、シーケンスF13において、更新済ファームウェア80Aの実行を開始する。以後、サブプロセッサ46は、更新済ファームウェア80Aを実行する。
【0052】
なお、本実施形態では、図3に示されるように、シーケンスF13において更新済ファームウェア80Aが実行されたあとに不揮発性メモリ60への更新済ファームウェア80Aの送信が完了する。そして、不揮発性メモリ60は、更新済ファームウェア80Aの受信が完了した場合に、シーケンスF14において、第二ダイレクトメモリアクセス制御部52に転送が完了したことを通知する。
【0053】
次に、第二ダイレクトメモリアクセス制御部52は、シーケンスF15において、不揮発性メモリ60に格納された更新済ファームウェア80Aについて、ハッシュ計算部54にハッシュ値を算出させる。そして、予め求められていたハッシュ値と、算出されたハッシュ値とを比較して、不揮発性メモリ60に送信された更新前ファームウェア80Bのデータとしての信頼性を確認する。
【0054】
次に、第二ダイレクトメモリアクセス制御部52は、シーケンスF16において、サブプロセッサ46に、不揮発性メモリ60への更新済ファームウェア80Aの転送が完了したことを通知する。
【0055】
以上の手順が実行されることにより、副制御部40による、不揮発性メモリ60への更新済ファームウェア80Aの転送が完了する。なお、次回以降にサブプロセッサ46が起動する場合、サブプロセッサ46は、図2に示されるように、不揮発性メモリ60に格納された更新済ファームウェア80Aをメインメモリ48に転送してから、更新済ファームウェア80Aを実行する。
【0056】
(比較例の情報処理システム110)
ここで、図5に、本実施形態との比較例に係る情報処理システム110を示す。比較例に係る情報処理システム110と、比較例に係る情報処理システム10との違いは、図1及び図5に示すように、ダイレクトメモリアクセス制御部の個数である。具体的には、本実施形態に係る情報処理システム10は、二つのダイレクトメモリアクセス制御部を備えていることに対して、比較例に係る情報処理システム110は、第一ダイレクトメモリアクセス制御部50の一つのダイレクトメモリアクセス制御部を備える。なお、その他の構成は、本実施形態に係る情報処理システム10と同様である。以後の説明において、比較例に係る情報処理システム110と、本実施形態に係る情報処理システム10とにおいて、同じ構成には、同じ符号を付して説明する。
【0057】
(比較例の情報処理システム110による、ファームウェア更新モードの動作)
続いて、図6及び図7を参照しながら、本実施形態において、副制御部40が不揮発性メモリ60に記憶されたファームウェアを更新する、ファームウェア更新モードの動作を説明する。図6は、本実施形態において、副制御部40が不揮発性メモリ60に記憶されたファームウェアを更新する、ファームウェア更新モードのシーケンス図である。また、図6は、図6に続けて副制御部40が不揮発性メモリ60に記憶されたファームウェアを更新する、ファームウェア更新モードのシーケンス図である。また、図7は、第一ダイレクトメモリアクセス制御部50のプロセスを抜き出して説明するタイミングチャートである。
【0058】
まず、図6に示されるように、サブプロセッサ46は、シーケンスF101において、第一ダイレクトメモリアクセス制御部50の使用状態を確認する。具体的には、第一ダイレクトメモリアクセス制御部50が待機中であること(他のプロセスを実行中ではないこと)を確認する。
【0059】
次に、サブプロセッサ46は、シーケンスF102において、第一ダイレクトメモリアクセス制御部50に更新済ファームウェア80Aを転送する指示を送信する。
【0060】
次に、第一ダイレクトメモリアクセス制御部50は、シーケンスF103において、記録部20に格納された更新済ファームウェア80Aの送信を要求する。
【0061】
次に、記録部20は、シーケンスF104において、更新済ファームウェア80Aを第一ダイレクトメモリアクセス制御部50に送信する。
【0062】
次に、第一ダイレクトメモリアクセス制御部50は、シーケンスF105において、不揮発性メモリ60への更新済ファームウェア80Aの送信を開始する。
【0063】
次に、図6に示されるように、不揮発性メモリ60は、更新済ファームウェア80Aの受信が完了した場合に、シーケンスF107において、第一ダイレクトメモリアクセス制御部50に転送が完了したことを通知する。
【0064】
次に、第一ダイレクトメモリアクセス制御部50は、シーケンスF108において、不揮発性メモリ60に格納された更新済ファームウェア80Aについて、ハッシュ計算部54にハッシュ値を算出させる。そして、予め求められていたハッシュ値と、算出されたハッシュ値とを比較して、不揮発性メモリ60に送信された更新済ファームウェア80Aのデータとしての信頼性を確認する。
【0065】
次に、第一ダイレクトメモリアクセス制御部50は、シーケンスF109において、メインメモリ48への更新済ファームウェア80Aの送信を開始する。
【0066】
次に、メインメモリ48は、更新済ファームウェア80Aの受信が完了した場合に、シーケンスF111において、第一ダイレクトメモリアクセス制御部50に転送が完了したことを通知する。
【0067】
次に、第一ダイレクトメモリアクセス制御部50は、シーケンスF112において、メインメモリ48に格納された更新済ファームウェア80Aについて、ハッシュ計算部54にハッシュ値を算出させる。そして、予め求められていたハッシュ値と、算出されたハッシュ値とを比較して、メインメモリ48に送信された更新済ファームウェア80Aのデータとしての信頼性を確認する。
【0068】
次に、第一ダイレクトメモリアクセス制御部50は、シーケンスF113において、サブプロセッサ46に、メインメモリ48への更新済ファームウェア80Aの転送が完了したことを通知する。
【0069】
次に、サブプロセッサ46は、シーケンスF114において、メインメモリ48から更新済ファームウェア80Aを読み込む。
【0070】
次に、メインメモリ48は、シーケンスF115において、更新済ファームウェア80Aをサブプロセッサ46に送信する。
【0071】
次に、サブプロセッサ46は、シーケンスF116において、更新済ファームウェア80Aの実行を開始する。以後、サブプロセッサ46は、更新済ファームウェア80Aを実行する。
【0072】
以上の手順が実行されることにより、比較例に係る情報処理システム110においても、副制御部40による、不揮発性メモリ60への更新済ファームウェア80Aの転送が完了する。なお、次回以降にサブプロセッサ46が起動する場合、サブプロセッサ46は、図2に示されるように、不揮発性メモリ60に格納された更新済ファームウェア80Aをメインメモリ48に転送してから、更新済ファームウェア80Aを実行する。
【0073】
ここで、図3から図7に示されるように、本実施形態と、比較例とでは、更新済ファームウェア80Aの転送を開始してから、メインメモリ48に更新済ファームウェア80Aが格納されるまでに要する時間が異なる。
【0074】
(作用効果)
言い換えれば、本実施形態に係る情報処理システム10によれば、記録部20に格納された更新済ファームウェア80Aを不揮発性メモリ60経由でメインメモリ48へ転送する場合と比して、更新済ファームウェア80Aの実行開始を早めることができる。
【0075】
[第二実施形態]
続いて、本開示の第二実施形態に係る情報処理システム10について、図8及び図9を参照しながら説明する。なお、本実施形態に係る情報処理システム10の構成は、第一実施形態に係る情報処理システム10の構成と同様であり、具体的な構成の説明を省略する。
【0076】
(第二実施形態の情報処理システム10による、ファームウェア更新モードの動作)
本実施形態に係る情報処理システム10では、図8及び図9に示されるように、更新済ファームウェア80Aがメインメモリ48に転送される記憶領域が特定される。より具体的には、本実施形態に係る情報処理システム10では、第一実施形態におけるシーケンスF5Aにおいて、第一ダイレクトメモリアクセス制御部50は、メインメモリ48における更新前ファームウェア80Bが格納された記憶領域に転送する。
【0077】
すなわち、本実施形態に係る情報処理システム10では、サブプロセッサ46は、第一ダイレクトメモリアクセス制御部50によって更新済ファームウェア80Aの転送が完了した場合、更新済ファームウェア80Aを実行する。
【0078】
(作用効果)
本実施形態に係る情報処理システム10によれば、プロセッサを停止させずに更新済ファームウェア80Aを実行することができる。言い換えれば、本実施形態に係る情報処理システム10では、プロセッサが再起動せずに更新済ファームウェア80Aが実行されるため、第一実施形態に係る情報処理システム10と比べて、さらに更新済ファームウェア80Aを実行する時期を早めることができる。
【0079】
[第三実施形態]
続いて、本開示の第三実施形態に係る情報処理システム10について、図10を参照しながら説明する。なお、本実施形態に係る情報処理システム10の構成は、第一実施形態に係る情報処理システム10の構成と同様であり、具体的な構成の説明を省略する。また、図10に示されるように、ファームウェア更新モードにおいて、第一実施形態と同様のシーケンスについては、第一実施形態と同じ符号を付し、具体的な説明を省略する。なお、本実施形態に係る情報処理システム10では、更新済ファームウェア80Aは、サブプロセッサ46が単体で動作するための基本部分と、基本部分以外であるアプリケーション部分とに分けることが可能とされている。
【0080】
(第三実施形態の情報処理システム10による、ファームウェア更新モードの動作)
図10は、本実施形態のファームウェア更新モードにおける、第一ダイレクトメモリアクセス制御部50及び第二ダイレクトメモリアクセス制御部52のプロセスを抜き出して説明するタイミングチャートである。本実施形態に係る情報処理システム10では、第一実施形態に係る情報処理システム10がメインメモリ48に更新済ファームウェア80Aを転送するシーケンスF5Aは、さらにシーケンスF205A1と、シーケンスF205A2に分けられる。より具体的には、シーケンスF205A1は、更新済ファームウェア80Aのうち、基本部分が転送されるシーケンスであり、シーケンスF205A2は、更新済ファームウェア80Aのうち、アプリケーション部分が転送されるシーケンスである。
【0081】
そして図10に示されるように、本実施形態に係る情報処理システム10では、シーケンスF205A1は、第一ダイレクトメモリアクセス制御部50が実行し、シーケンスF205A2は、第二ダイレクトメモリアクセス制御部52が実行する。言い換えれば、本実施形態に係る情報処理システム10では、第二ダイレクトメモリアクセス制御部52は、シーケンスF5Bを実行する前に、シーケンスF205A2を実行する。すなわち、本実施形態に係る情報処理システム10では、サブプロセッサ46は、更新済ファームウェア80Aを、第二ダイレクトメモリアクセス制御部52にメインメモリ48へ転送させる。そしてサブプロセッサ46は、さらに更新済ファームウェア80Aを、記録部20から不揮発性メモリ60へ転送させる。
【0082】
なお、本実施形態では、第一ダイレクトメモリアクセス制御部50は、シーケンスF205A1において、更新済ファームウェア80Aを、第二実施形態と同様に、メインメモリ48における更新前ファームウェア80Bが格納された記憶領域に転送する。また、第二ダイレクトメモリアクセス制御部52は、シーケンスF205A2において更新済ファームウェア80Aを、第二実施形態と同様に、メインメモリ48における更新前ファームウェア80Bが格納された記憶領域に転送する。なお、本実施形態に係るサブプロセッサ46は、更新済ファームウェア80Aのうち基本部分を転送するシーケンスF205A1が完了し次第、シーケンスF205A2の完了を待たずに、更新済ファームウェア80Aを実行する。
【0083】
(作用効果)
本実施形態に係る情報処理システム10によれば、更新済ファームウェア80Aを全て第一ダイレクトメモリアクセス制御部50が転送する場合と比べて、更新済ファームウェア80Aの実行開始を早めることができる。また、本実施形態に係る情報処理システム10では、プロセッサを停止させずに更新済ファームウェア80Aを実行することができる。言い換えれば、本実施形態に係る情報処理システム10では、プロセッサが再起動せずに更新済ファームウェア80Aが実行されるため、第一実施形態及び第二実施形態に係る情報処理システム10と比べて、さらに更新済ファームウェア80Aを実行する時期を早めることができる。
【0084】
[第四実施形態]
続いて、本開示の第四実施形態に係る情報処理システム10について、図11を参照しながら説明する。なお、本実施形態に係る情報処理システム10の構成は、第一実施形態に係る情報処理システム10の構成と同様であり、具体的な構成の説明を省略する。
【0085】
(第四実施形態の情報処理システム10による、ファームウェア更新モードの動作)
本実施形態では、第一実施形態におけるシーケンスF1において、第二ダイレクトメモリアクセス制御部52が他のプロセスを実行しており、更新済ファームウェア80Aの転送を実施できないと判断されている。そして、本実施形態では図11に示されるように、サブプロセッサ46は、第一実施形態と同様に、第一ダイレクトメモリアクセス制御部50にシーケンスF305A及びシーケンスF9を実行させる。
【0086】
ここで、本実施形態では図11に示されるように、サブプロセッサ46は、第一ダイレクトメモリアクセス制御部50がシーケンスF9の実行を完了した場合に、不揮発性メモリ60への更新済ファームウェア80Aの送信させるシーケンスF305Bを実行させる。また、サブプロセッサ46は、シーケンスF9の実行が完了した場合に、不揮発性メモリ60に格納された更新済ファームウェア80Aについて、ハッシュ計算部54にハッシュ値を算出させるシーケンスF315を第一ダイレクトメモリアクセス制御部50に実行させる。言い換えれば、本実施形態では、サブプロセッサ46は、第一ダイレクトメモリアクセス制御部50がシーケンスF9の実行を完了した場合に、シーケンスF5B及びシーケンスF15と同様の処理を第一ダイレクトメモリアクセス制御部50に実行させる。
【0087】
(作用効果)
本実施形態に係る情報処理システム10によれば、サブプロセッサ46が第二ダイレクトメモリアクセス制御部52を制御できるまで待機する場合と比べて、更新済ファームウェア80Aの転送完了を早めることができる。言い換えれば、本実施形態では、シーケンスF1の時点で第一ダイレクトメモリアクセス制御部50又は第二ダイレクトメモリアクセス制御部52のうちいずれか一方の制御ができないと判断した場合にも、ファームウェアの更新を可能とすることができる。
【0088】
(変形例)
なお、本実施形態においても、第一ダイレクトメモリアクセス制御部50がシーケンスF5A又はシーケンスF9を実行中に第二ダイレクトメモリアクセス制御部52が制御可能となった場合には、他の実施形態と同様に、第二ダイレクトメモリアクセス制御部52に、シーケンスF5Bを実行させてもよい。言い換えれば、本実施形態においても、メインメモリ48に転送された更新済ファームウェア80Aの実行と並行して、更新済ファームウェア80Aを、記録部20から不揮発性メモリ60へ転送させてもよい。
【0089】
本変形例においても、プロセッサが更新済ファームウェア80Aの実行を終了するまで更新済ファームウェア80Aの不揮発性メモリ60への転送をしない場合と比べて、更新済ファームウェア80Aの不揮発性メモリ60への転送完了を早めることができる。
【0090】
以上、添付図面を参照しながら本開示の実施形態を説明したが、本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例又は応用例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0091】
なお、以下に本開示の好ましい態様をさらに示す。
【0092】
(((1)))
メインメモリと、
不揮発性メモリと、
前記メインメモリに格納された更新前ファームウェアを実行するプロセッサと、
前記プロセッサに制御される第一ダイレクトメモリアクセス制御部と、
前記プロセッサに制御される第二ダイレクトメモリアクセス制御部と、
を備え、
前記プロセッサは、記録部に格納された更新済ファームウェアの少なくとも一部を、前記第一ダイレクトメモリアクセス制御部に前記記録部から前記メインメモリへ転送させると共に、前記更新済ファームウェアを、前記第一ダイレクトメモリアクセス制御部又は前記第二ダイレクトメモリアクセス制御部に前記記録部から前記不揮発性メモリへ転送させ、前記更新済ファームウェアの前記メインメモリへの転送が完了した場合に、前記更新済ファームウェアの前記不揮発性メモリへの転送の完了以前に、前記メインメモリに転送された前記更新済ファームウェアを実行開始する、
情報処理システム。
【0093】
(((2)))
前記プロセッサは、前記更新済ファームウェアの少なくとも一部を、前記メインメモリにおいて前記プロセッサが実行する前記更新前ファームウェアが格納された記憶領域へ転送させ、前記更新済ファームウェアの全部を、前記第一ダイレクトメモリアクセス制御部に前記記録部から前記メインメモリへ転送させるのと並行して、前記更新済ファームウェアを、前記第二ダイレクトメモリアクセス制御部に前記記録部から前記不揮発性メモリへ転送させる、
(((1)))に、情報処理システム。
【0094】
(((3)))
前記プロセッサは、前記更新済ファームウェアの一部分を、前記第一ダイレクトメモリアクセス制御部に前記メインメモリへ転送させると共に、前記更新済ファームウェアの他の部分を、前記第二ダイレクトメモリアクセス制御部に前記メインメモリへ転送させてから、前記更新済ファームウェアを、前記記録部から前記不揮発性メモリへ転送させる、
(((1)))に、情報処理システム。
【0095】
(((4)))
前記プロセッサは、前記更新済ファームウェアの少なくとも一部を、前記メインメモリにおいて前記プロセッサが実行する前記更新前ファームウェアが格納された記憶領域へ転送させる、
(((3)))に、情報処理システム。
【0096】
(((5)))
前記プロセッサは、前記第二ダイレクトメモリアクセス制御部の制御ができないと判断した場合に、前記更新済ファームウェアの全部を、前記第一ダイレクトメモリアクセス制御部に前記記録部から前記メインメモリに転送させた後に、さらに前記更新済ファームウェアを、前記記録部から前記不揮発性メモリへ転送させる、
(((1)))に、情報処理システム。
【0097】
(((6)))
前記プロセッサは、前記メインメモリに転送された前記更新済ファームウェアの実行と並行して、前記更新済ファームウェアを、前記記録部から前記不揮発性メモリへ転送させる、
(((5)))に、情報処理システム。
【0098】
(((1)))に係る情報処理システムによれば、記録部に格納された更新済ファームウェアを不揮発性メモリ経由でメインメモリへ転送する場合と比して、更新済ファームウェアの実行開始を早めることができる。
(((2)))に係る情報処理システムによれば、プロセッサを停止させずに更新済ファームウェアを実行することができる。
(((3)))に係る情報処理システムによれば、更新済ファームウェアを全て第二ダイレクトメモリアクセス制御部が転送する場合と比べて、更新済ファームウェアの実行開始を早めることができる。
(((4)))に係る情報処理システムによれば、プロセッサを停止させずに更新済ファームウェアを実行することができる。
(((5)))に係る情報処理システムによれば、プロセッサが第二ダイレクトメモリアクセス制御部を制御できるまで待機する場合と比べて、更新済ファームウェアの転送完了を早めることができる。
(((6)))に係る情報処理システムによれば、プロセッサが更新済ファームウェアの実行を終了するまで更新済ファームウェアの不揮発性メモリへの転送をしない場合と比べて、更新済ファームウェアの不揮発性メモリへの転送完了を早めることができる。
【符号の説明】
【0099】
10 情報処理システム
20 記録部
24 チャネル
26 チャネル
28 チャネル
30 主制御部
32 第一インターフェース
34 第二インターフェース
36 メインプロセッサ
38 バス
40 副制御部
42 第一インターフェース
44 第二インターフェース
46 サブプロセッサ(プロセッサの一例)
48 メインメモリ
50 第一ダイレクトメモリアクセス制御部
52 第二ダイレクトメモリアクセス制御部
54 ハッシュ計算部
60 不揮発性メモリ
80A 更新済ファームウェア
80B 更新前ファームウェア
110 情報処理システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11