説明

遠隔装置に搭載される情報処理装置及び情報処理装置の起動方法

【課題】コンピュータプログラムを予め記憶したROMを必要とせず、かつコンピュータプログラムの破損を容易に解消させる、ことを目的とする。
【解決手段】情報処理装置10は、遠隔操作によって動作する遠隔装置に搭載され、コンピュータプログラムを実行するCPU20、及び該コンピュータプログラムを記憶する書き込み可能なRAMを備え、地上局50が備える送受信装置52から送信されるコンピュータプログラムを受信し、受信したコンピュータプログラムをRAMへ転送し、RAMにコンピュータプログラムが記憶されている状態でCPU20を起動させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遠隔装置に搭載される情報処理装置及び情報処理装置の起動方法に関するものである。
【背景技術】
【0002】
NAND型フラッシュメモリにコンピュータプログラムを記憶し、コンピュータを起動させるコンピューティングシステムが開発されている。
【0003】
例えば、特許文献1には、NAND型フラッシュメモリからのブートプログラムの読み出しを、NAND型フラッシュメモリデバイスの内部器能により自律的に実行し、読み出したブートプログラムを、ホストCPU(Central Processing Unit)の内部メモリバスと直結するデバイス内のSRAM(Static Random Access Memory)にロードし、ホストCPUは、SRAMにロードされたブートプログラムの情報に基づきNANDインタフェースからOS(Operation System)をシステムメモリにロードし、システムを起動するという、コンピューティングシステムの起動方法が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−299249号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載のコンピューティングシステム(情報処理装置)では、システムに電源投入後、NAND型フラッシュメモリに記憶されるブートプログラムをSRAMにロードするために、CPU、ROM(Read Only Memory)、及びRAMで構成されるメインファームウエアと呼ばれ、NAND型フラッシュメモリからデータの読み出しを行うコントローラを統括するためのサブコンピューティングシステムを必要とする。
このため、特許文献1に記載されているコンピューティングシステムでは、ファームウエアを記憶するための、NAND型フラッシュメモリとは異なる不揮発性のROMが必要となる。このように、コンピューティングシステムに、ROMを必要とすることは、コンピューティングシステムの消費電力、実装サイズ、コスト等を減少させることに対する制約となっている。
【0006】
さらに、特許文献1に記載のコンピューティングシステムでは、コンピュータプログラムの破損対策として、NAND型フラッシュメモリから読み出されたデータにエラーがないかを判定するECC DECORDER及びエラーを訂正するECC CORRECTORが設けられている。しかし、特許文献1に記載のコンピューティングシステムでは、ECC CORRECTORによって修復が不可能なコンピュータプログラムの破損や、NAND型フラッシュメモリへの書き込み回数を平準化させるためのデータ移動には対応できない。このため、例えば、人工衛星、無人宇宙機、及び各種プラントや地中に埋設されている配管内を調査するロボット等の遠隔で操作される遠隔装置では、NAND型フラッシュメモリの交換を必要とする状況となっても、NAND型フラッシュメモリの交換が困難又は不可能である。
【0007】
本発明は、このような事情に鑑みてなされたものであって、コンピュータプログラムを予め記憶したROMを必要とせず、かつコンピュータプログラムの破損を容易に解消できる、遠隔装置に搭載される情報処理装置及び情報処理装置の起動方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明の遠隔装置に搭載される情報処理装置及び情報処理装置の起動方法は以下の手段を採用する。
【0009】
すなわち、本発明の第一態様に係る遠隔装置に搭載される情報処理装置は、コンピュータプログラムを実行する中央演算処理装置と、前記コンピュータプログラムを記憶する書き込み可能な記憶手段と、前記遠隔装置外から送信されたコンピュータプログラムを前記記憶手段へ転送し、前記記憶手段に前記コンピュータプログラムが記憶されている状態で前記中央演算処理装置の起動タイミングを制御する起動制御手段と、を備える。
【0010】
上記構成によれば、遠隔操作によって動作する遠隔装置に搭載される情報処理装置は、コンピュータプログラムを実行する中央演算処理装置と、コンピュータプログラムを記憶する書き込み可能な記憶手段を備える。遠隔装置は、無人で動作する装置であり、例えば、人工衛星、無人宇宙機、及び各種プラントや地中に埋設されている配管内を調査するロボット等である。このような遠隔装置は、記憶手段に記憶されているコンピュータプログラムに破損が生じても修復が困難である。
【0011】
記憶手段は、例えばRAM(SRAM等)やNAND型フラッシュメモリ等であり、各種コンピュータプログラムを記憶する。そして、中央演算処理装置は、記憶手段に記憶されたコンピュータプログラムを実行する。
【0012】
さらに、起動制御手段によって、遠隔装置外から送信されるコンピュータプログラムが記憶手段へ転送され、記憶手段にコンピュータプログラムが記憶されている状態で中央演算処理装置の起動タイミングが制御される。遠隔装置外からの起動プラグラムの送信は、無線又は有線の何れで行われてもよい。なお、コンピュータプログラムには、中央演算処理装置が起動するときに実行されるブートプログラムが含まれる。
【0013】
このように、遠隔装置外の送信手段からコンピュータプログラムが送信されてくるので、記憶手段に記憶されているコンピュータプログラムが破損していても、新たにコンピュータプログラムの破損を原因として、中央演算処理装置が起動できなくなることが防止される。
【0014】
コンピュータプログラムが記憶手段に記憶されていない場合又はコンピュータプログラムが破損している場合に、中央演算処理装置が動作すると、中央演算処理装置が正常に動作しないこととなる。そのため、起動制御手段が、記憶手段に正常なコンピュータプログラムが記憶されている状態で起動するように中央演算処理装置の起動タイミングを制御する。
【0015】
また、コンピュータプログラムが記憶される記憶手段は、書き込み可能な記憶手段であるため、コンピュータプログラムに破損が生じた場合、送信手段から再送信されたコンピュータプログラムの上書きが可能である。
【0016】
以上のことから、本構成は、コンピュータプログラムを予め記憶したROMを必要とせず、かつコンピュータプログラムの破損を容易に解消できる。また、予めコンピュータプログラムを予め記憶したROMが不必要なため、該ROMで消費される電力が削減される。
【0017】
上記第一態様では、揮発性記憶媒体を備え、前記記憶手段が、書き込み可能な不揮発性記憶媒体であり、前記起動制御手段が、前記中央演算処理装置を起動させる場合に、前記記憶手段に予め記憶されている前記コンピュータプログラムを前記揮発性記憶媒体へ転送し、前記中央演算処理装置が、前記揮発性記憶媒体に記憶された前記コンピュータプログラムを実行することが好ましい。
【0018】
上記構成によれば、書き込み可能な不揮発性記憶媒体に予めコンピュータプログラムが記憶され、中央演算処理装置を起動する場合、不揮発性記憶媒体に記憶されているコンピュータプログラムを用いる。従って、本構成は、遠隔装置外からのコンピュータプログラムの受信を行うことなく、中央演算処理装置を起動できるため、中央演算処理装置の起動時間を短縮することができる。また、本構成は、コンピュータプログラムに破損が検出された場合、不揮発性記憶媒体に新たに送信されてきたコンピュータプログラムを記憶できるので、コンピュータプログラムの破損を容易に解消できる。
【0019】
上記第一態様では、前記記憶手段が、記憶している前記コンピュータプログラムに破損が検出され、かつ前記遠隔装置外から送信された前記コンピュータプログラムが上書きされても前記コンピュータプログラムの破損が解消されなかった場合、異なるアドレスに新たに送信された前記コンピュータプログラムが記憶されることが好ましい。
【0020】
上記構成によれば、遠隔装置外から送信されたコンピュータプログラムを記憶手段に上書きしてもコンピュータプログラムの破損が解消されなかった場合は、コンピュータプログラムを記憶している記憶手段のメモリ構造そのものに破損が生じていると考えられる。
【0021】
そこで、本構成によれば、記憶手段の異なるアドレスに新たに送信されたコンピュータプログラムを記憶させるので、記憶手段のメモリ構造に破損が生じていても、記憶手段を交換することなく、既存の記憶手段にコンピュータプログラムを記憶させることができる。
【0022】
上記第一態様では、前記コンピュータプログラムに、誤り検出符号が付され、前記起動制御手段が、前記中央演算処理装置が前記コンピュータプログラムを実行する前に、前記誤り検出符号を用いて前記コンピュータプログラムの誤り検出を行うことが好ましい。
【0023】
上記構成によれば、中央演算処理装置がコンピュータプログラムを実行する前に、誤り検出符号を用いてコンピュータプログラムの誤り検出を行うので、中央演算処理装置が破損したコンピュータプログラムを実行することを防止できる。
【0024】
上記第一態様では、前記コンピュータプログラムが、複数のブロックに分割して前記記憶手段に記憶され、該ブロック毎に前記誤り検出符号が付されることが好ましい。
【0025】
上記構成によれば、コンピュータプログラムのブロック毎に誤り検出符号が付されるので、誤りが検出されたコンピュータプログラムのブロック単位でコンピュータプログラムの送信が行われればよく、送信されるコンピュータプログラムのデータ容量を減少させることができる。
【0026】
上記第一態様では、前記記憶手段が、3つ以上である複数の同じ前記コンピュータプログラムを記憶し、前記記憶手段に記憶された複数の同じ前記コンピュータプログラムから多数決により、前記中央演算処理装置で実行させる前記コンピュータプログラムを決定する多数決手段を備えることが好ましい。
【0027】
上記構成によれば、記憶手段は、3つ以上である複数の同じコンピュータプログラム、すなわち多重冗長化されたコンピュータプログラムを記憶する。これにより、記憶手段に記憶された複数の同じコンピュータプログラムのうち、破損したコンピュータプログラムは、他のコンピュータプログラムとは異なるものとなる。
【0028】
そこで、多数決手段によって、記憶手段に記憶された複数の同じコンピュータプログラムから多数決により、中央演算処理装置で実行させるコンピュータプログラムが決定される。多数決手段による多数決とは、多重冗長化されたコンピュータプログラムを比較し、全く同一のコンピュータプログラムの数を検出することであり、コンピュータプログラムが破損していたら、他のコンピュータプログラムとは全く同一とはならないし、破損したプログラムが複数あったとしても、各々が全く同じ破損状態となる可能性は大変低い。このため、多数決により多数を示すコンピュータプログラムは、破損していないと考えられ、多数決手段による多数決は、破損したコンピュータプログラムと破損していないコンピュータプログラムとを区別することとなる。
【0029】
また、例えばECC(Error Check and Correct)メモリでは小ビットのデータ破損に対応できる一方、ブロック単位の破損等のデータの破損の程度が大きいと対応できない。
しかし、コンピュータプログラムを多重冗長化し、多数決により中央演算処理装置で実行させるコンピュータプログラムが決定させることによって、ブロック単位の破損というような大きなデータの破損にも対応できる。
【0030】
従って、本構成によれば、中央演算処理装置の動作の信頼性をより高くすることができる。
【0031】
本発明の第二態様に係る情報処理装置の起動方法は、遠隔操作によって動作する遠隔装置に搭載され、コンピュータプログラムを実行する中央演算処理装置、及び該コンピュータプログラムを記憶する書き込み可能な記憶手段を備える情報処理装置の起動方法であって、前記遠隔装置外の送信手段から送信されるコンピュータプログラムを受信する第1工程と、受信した前記コンピュータプログラムを前記記憶手段へ転送する第2工程と、前記記憶手段に前記コンピュータプログラムが記憶されている状態で前記中央演算処理装置を起動させる第3工程と、を含む。
【発明の効果】
【0032】
本発明によれば、コンピュータプログラムを予め記憶したROMを必要とせず、かつコンピュータプログラムの破損を容易に解消できる、という優れた効果を有する。
【図面の簡単な説明】
【0033】
【図1】本発明の第1実施形態に係る遠隔装置に搭載される情報処理装置の電気的構成を示すブロック図である。
【図2】本発明の第1実施形態に係るCPU起動処理の流れを示すフローチャートである。
【図3】本発明の第2実施形態に係る遠隔装置に搭載される情報処理装置の電気的構成を示すブロック図である。
【図4】本発明の第2実施形態に係るCPU起動処理の流れを示すフローチャートである。
【図5】本発明の第3実施形態に係る遠隔装置に搭載される情報処理装置の電気的構成を示す図である。
【図6】本発明の第4実施形態に係る遠隔装置に搭載される情報処理装置の電気的構成を示す図である。
【図7】本発明の第4実施形態に係るCPU起動処理の流れを示すフローチャートである。
【図8】本発明の第5実施形態に係るアドレス変更処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0034】
以下に、本発明に係る遠隔装置に搭載される情報処理装置及び情報処理装置の起動方法の一実施形態について、図面を参照して説明する。
【0035】
〔第1実施形態〕
以下、本発明の第1実施形態について説明する。
図1は、本第1実施形態に係る遠隔装置に搭載される情報処理装置10の電気的構成を示すブロック図である。
遠隔装置は、無人で動作する装置であり、例えば、人工衛星、無人宇宙機、及び各種プラントや地中に埋設されている配管内を調査するロボット等である。このような遠隔装置は、記憶媒体に記憶されているコンピュータプログラムに破損が生じたり、記憶媒体そのものが破損しても修復が困難である。なお、本第1実施形態では、遠隔装置を人工衛星12とした場合について説明する。
【0036】
人工衛星12は、地上局50が備える送受信装置52から送信されるコンピュータプログラムを受信する送受信装置14を備える。人工衛星12に備えられる情報処理装置10は、送受信装置14を介して受信した制御信号がスイッチ回路16に入力されると、電力の供給が開始される。
【0037】
情報処理装置10は、コンピュータプログラムを実行する中央演算処理装置(以下、「CPU」という。)20、コンピュータプログラムを記憶する書き込み可能な記憶媒体であるSRAM22を備える一方で、コンピュータプログラムを予め記憶したROMを備えていない。さらに、情報処理装置10は、送受信装置14によって受信されたコンピュータプログラムをSRAM22へ転送し、SRAM22にコンピュータプログラムが記憶されている状態でCPU20の起動タイミングを制御するCPU起動装置24を備えている。
【0038】
送受信装置14は、通信インタフェース26を介してシステムバス28に接続されており、システムバス28には、通信インタフェース26と共に、CPU起動装置24、CPU20、及びSRAM22が接続されている。
また、CPU起動装置24とCPU20とは、システムバス28とは異なる専用信号線30Aで接続されている。CPU起動装置24からCPU20へは、専用信号線30Aを介してCPU20をリセット状態とするCPUリセット信号が出力される。
【0039】
さらに、CPU起動装置24は、SRAM22に記憶されているコンピュータプログラムの状態、例えばコンピュータプログラムの破損等を示すステータス信号を、専用信号線30Bを介してステータス収集部32へ出力する。
ステータス収集部32は、ステータス信号が入力された場合、ステータス信号の入力に応じて通信インタフェース26を介して送受信装置14にコンピュータプログラムの送信要求信号を送信させる。
【0040】
なお、コンピュータプログラムには、CPU20が起動するときに実行されるブートプログラムが含まれる。また、コンピュータプログラムには、コンピュータプログラムの誤りを検出する(例えばCRC:Cyclic Redundancy Check)ための誤り検出符号が付されている。CPU起動装置24は、SRAM22に記憶されたコンピュータプログラムを読み出して、コンピュータプログラムに付加されている誤り検出符号を用いて、該コンピュータプログラムの破損の有無を検出する機能を有している。
【0041】
地上局50は、地球上に設けられた外部ホストであり、各種コンピュータプログラムが記憶された記憶媒体であるHDD52から読み出されたコンピュータプログラムを、通信インタフェース56及び送受信装置52を介して人工衛星12へ送信する。なお、人工衛星12が備える送受信装置14と地上局50が備える送受信装置52とは、コンピュータプログラムの送受信を行うだけでなく、他の各種信号(データ)の送受信も行う。
【0042】
図2は、本第1実施形態に係る情報処理装置10に備えられているCPU20を起動させるまでの処理(以下、「CPU起動処理」という。)の流れを示すフローチャートの一例である。
【0043】
まず、ステップ100では、地上局50からの制御信号を送受信装置14が受信すると、スイッチ回路16が情報処理装置10への電力の供給を開始する。情報処理装置10への電力の供給が開始されると、情報処理装置10を構成するCPU20、SRAM22、CPU起動装置24、通信インタフェース26、及びステータス収集部32は、動作が可能となるが、CPU起動装置24は、CPU20へCPUリセット信号を出力し、CPU20をリセット状態とする。
【0044】
次のステップ102では、地上局50から送信されたコンピュータプログラムを送受信装置14が受信する。なお、地上局50は、ステータス収集部32が送受信装置14を介して送信するコンピュータプログラムの送信要求信号を受信した場合に、コンピュータプログラムを人工衛星12に送信してもよいし、人工衛星12へ制御信号を送信すると共に、又は制御信号を送信した所定時間後にコンピュータプログラムを送信してもよい。
【0045】
次のステップ104では、送受信装置14で受信されたコンピュータプログラムが、CPU起動装置24によって、通信インタフェース26からSRAM22へ転送され、SRAM22の予め定められたアドレスへ記憶される。例えば、コンピュータプログラムがブートプログラムの場合は、予め定められたブートアドレスへブートプログラムが記憶される。なお、CPU起動装置24によるコンピュータプログラムの転送制御は地上局50からの制御に基づいて行われる。
【0046】
次のステップ106では、CPU起動装置24が、SRAM22に記憶されたコンピュータプログラムを読み出し、コンピュータプログラムに付加されている誤り検出符号を用いて、誤り検出(CRC)を行う。CPU起動装置24は、CRCによって、SRAM22に記憶されている誤りの有無、すなわちコンピュータプログラムの破損の有無を検出することとなる。この処理は、CPU起動装置24がシステムバス28をモニタすることで、ステップ104の進行と同時に行ってもよい。
そして、誤りが検出された場合、CPU起動処理は、ステップ106からステップ108へ移行する。一方、誤りが検出されなかった場合、CPU起動処理は、ステップ106からステップ114へ移行する。
【0047】
ステップ108では、CPU起動装置24がステータス収集部32にコンピュータプログラムに破損が生じていることを示すステータス信号を出力する。ステータス収集部32は、該ステータス信号が入力されると、地上局50へコンピュータプログラムの送信要求信号を送受信装置14に送信させ、ステップ102へ戻る。
そして、地上局50からコンピュータプログラムが再送信されると、CPU起動装置24は、SRAM22に記憶されているコンピュータプログラムを再送信されたコンピュータプログラムで上書きする。
【0048】
ステップ114では、CPU起動装置24がCPU20に対するCPUリセット信号の出力を停止し、CPU20のリセット状態を解除させる。これによりCPU20は、SRAM22に記憶されているコンピュータプログラムに含まれるブートプログラムを読み出し、該ブートプログラムを用いて起動する。
【0049】
このように、揮発性記憶媒体であるSRAM22は、情報処理装置10に電力が供給され、地上局50から送信されたブートプログラムを含むコンピュータプログラムを記憶するまで、何らコンピュータプログラムを記憶していない。このため、SRAM22がコンピュータプログラムを記憶していない状態で、CPU20が起動を開始すると、CPU20はブートプログラムを読み出すことができないため、暴走することとなる。そこで、CPU起動装置24は、SRAM22がコンピュータプログラム(ブートプログラム)を記憶するまで、CPU20へCPUリセット信号を出力し、CPU20をリセット状態とし、SRAM22がコンピュータプログラムを記憶するとCPU20のリセット状態を解除し、CPU20を起動させる。
【0050】
以上説明したように、本第1実施形態に係る人工衛星10に搭載された情報処理装置10は、コンピュータプログラムを実行するCPU20、及び該コンピュータプログラムを記憶する書き込み可能なSRAM22を備え、地上局50が備える送受信装置52から送信されるコンピュータプログラムを受信し、受信したコンピュータプログラムをSRAM22へ転送し、SRAM22にコンピュータプログラムが記憶されている状態でCPU20を起動させる。
【0051】
従って、本第1実施形態に係る情報処理装置10は、コンピュータプログラムを予め記憶したROMを必要とせず、かつコンピュータプログラムの破損を容易に解消できる。また、本第1実施形態に係る情報処理装置10は、コンピュータプログラムを予め記憶したROMが不必要なため、該ROMで消費される電力を削減できる。
さらに、人工衛星及び無人宇宙機、並びに原子炉の配管内を調査するロボット等の高放射線環境下で用いられる遠隔装置は、ROMを用いる場合、耐放射線性を有する高価なROMを用いる必要がある。しかし、本第1実施形態に係る情報処理装置10は、そもそもROMを必要としないため、高放射線環境下で用いられる遠隔装置におけるコスト削減をより可能とする。
【0052】
〔第2実施形態〕
以下、本発明の第2実施形態について説明する。
図3は、本第2実施形態に係る遠隔装置(人工衛星12)に搭載される情報処理装置10の電気的構成を示すブロック図である。なお、図3における図1と同一の構成部分については図1と同一の符号を付して、その説明を省略する。
図3に示されるように、本第2実施形態に係る情報処理装置10は、書き込み可能な不揮発性記憶媒体であるNAND型フラッシュメモリ60を備えており、NAND型フラッシュメモリ60は、専用のインタフェース(以下、「NANDインタフェース62」という。)を介してシステムバス28に接続されている。なお、本第2実施形態に係るNAND型フラッシュメモリ60には、予めコンピュータプログラムが記憶されている。
【0053】
図4は、本第2実施形態に係るCPU起動処理の流れを示すフローチャートの一例である。なお、図4における図2と同一のステップについては図2と同一の符号を付して、その説明を一部又は全部省略する。
【0054】
まず、ステップ100では、地上局50からの制御信号に基づいて、情報処理装置10へ電力の供給が行われ、ステップ104’へ移行する。
【0055】
ステップ104’では、NAND型フラッシュメモリ60の予め定められたアドレスに記憶されたコンピュータプログラムが、CPU起動装置24によって、SRAM22の予め定められたアドレスへ転送、記憶され、ステップ106へ移行する。
CPU起動処理は、ステップ106で誤りが検出された場合、ステップ108’へ移行する一方、誤りが検出されなかった場合、ステップ114へ移行する。
【0056】
ステップ108'では、CPU起動装置24がステータス収集部32にコンピュータプログラムに破損が生じていることを示すステータス信号を出力し、ステータス収集部32は、送受信装置14に地上局50へコンピュータプログラムの送信要求信号を送信させ、ステップ110へ移行する。
【0057】
ステップ110では、地上局50から送信されたコンピュータプログラムを送受信装置14が受信する。
【0058】
次のステップ112では、送受信装置14で受信されたコンピュータプログラムが、CPU起動装置24によって、通信インタフェース26からNAND型フラッシュメモリ60へ転送される。NAND型フラッシュメモリ60へ転送されたコンピュータプログラムは、NAND型フラッシュメモリ60のコンピュータプログラムが記憶されている予め定められたアドレスへ上書きされる。そして、CPU起動処理は、ステップ104’へ戻る。
【0059】
なお、本第2実施形態にCPU起動装置24による、通信インタフェース26からNAND型フラッシュメモリ60へのコンピュータプログラムの転送制御、及びNAND型フラッシュメモリ60からSRAM22へのコンピュータプログラムの転送制御は地上局50からの制御に基づいて行われる。
【0060】
以上説明したように、本第2実施形態に係る情報処理装置10は、書き込み可能な不揮発性記憶媒体であるNAND型フラッシュメモリ60に予めコンピュータプログラムが記憶され、CPU20を起動する場合、NAND型フラッシュメモリ60に記憶されているコンピュータプログラムを用いる。従って、本第2実施形態に係る情報処理装置10は、人工衛星12外からのコンピュータプログラムの受信を行うことなく、CPU20を起動できるため、CPU20の起動時間を短縮することができる。また、本第2実施形態に係る情報処理装置10は、コンピュータプログラムに破損が検出された場合、NAND型フラッシュメモリ60に新たに送信されてきたコンピュータプログラムを記憶できるので、コンピュータプログラムの破損を容易に解消できる。
【0061】
〔第3実施形態〕
以下、本発明の第3実施形態について説明する。
図5は、本第3実施形態に係る遠隔装置(人工衛星12)に搭載される情報処理装置10の電気的構成を示すブロック図である。なお、図5における図3と同一の構成部分については図3と同一の符号を付して、その説明を省略する。
【0062】
NAND型フラッシュメモリ60及びSRAM22に記憶されるコンピュータプログラム、並びに地上局50から送信されるコンピュータプログラムは、複数のブロック(以下、「コンピュータプログラムブロック」という。)に分割して記憶され、該コンピュータプログラムブロック毎に誤り検出符号が付される。
【0063】
従って、本第3実施形態に係る情報処理装置10は、コンピュータプログラムブロック毎に誤り検出符号が付されるので、誤りが検出されたコンピュータプログラムブロック単位でコンピュータプログラムの送信が地上局50から行われればよく、送信されるコンピュータプログラムのデータ容量を減少させることができる。このため、本第3実施形態に係る情報処理装置10は、コンピュータプログラムに誤りが検出されても、CPU20の起動時間を短縮することができる。
【0064】
〔第4実施形態〕
以下、本発明の第4実施形態について説明する。
図6は、本第4実施形態に係る遠隔装置(人工衛星12)に搭載される情報処理装置10の電気的構成を示すブロック図である。なお、図5における図3と同一の構成部分については図3と同一の符号を付して、その説明を省略する。
【0065】
本第4実施形態に係る情報処理装置10は、NAND型フラッシュメモリ60が、3つ以上である複数の同じコンピュータプログラムを記憶し、複数の同じコンピュータプログラムから多数決により、CPU20で実行させるコンピュータプログラムを決定する多数決部70を備える。
すなわち、NAND型フラッシュメモリ60には、一つのコンピュータプログラムが多重冗長化されて異なるアドレスに記憶される。本第4実施形態では、NAND型フラッシュメモリ60に記憶されるコンピュータプログラムを3つ(三重冗長化)とするが、これに限らず、4つ以上としてもよく、奇数が好ましい。
【0066】
多数決部70による多数決とは、多重冗長化されたコンピュータプログラムを比較し、全く同一のコンピュータプログラムの数を検出することであり、コンピュータプログラムが破損していたら、他のコンピュータプログラムとは全く同一とはならないし、破損したプログラムが複数あったとしても、各々が全く同じ破損状態となる可能性は大変低い。このため、多数決により多数を示すコンピュータプログラムは、破損していないと考えられ、多数決部70による多数決は、破損したコンピュータプログラムと破損していないコンピュータプログラムとを区別することとなる。
ここで、例えばECC(Error Check and Correct)メモリでは小ビットのデータ破損に対応できる一方、ブロック単位の破損等のデータの破損の程度が大きいと対応できない。
しかし、コンピュータプログラムを多重冗長化し、多数決を行うことは、ブロック単位の破損というような大きなデータの破損にも対応できる。
【0067】
なお、以下の説明において、図6にも示されるように、NAND型フラッシュメモリ60を含み、多数決に係る処理を行う構成をNAND型フラッシュメモリ部10Aといい、CPU20を含むその他の構成をホスト部10Bという。
【0068】
NAND型フラッシュメモリ部10Aは、多数決部70と共に、NANDインタフェース62A、バッファマネージャ72、RAM74、及びハードウエアシーケンサ76を備える。
【0069】
NANDインタフェース62Aは、多数決部70及びバッファマネージャ72、並びにホスト部10Bに備えられると共にシステムバスに接続されているNANDインタフェース62Bに接続されている。
【0070】
バッファマネージャ72は、RAM74によるデータの読み出し、記憶を管理する。
【0071】
ハードウエアシーケンサ76は、NAND型フラッシュメモリ60及びNANDインタフェース62Aと接続され、NAND型フラッシュメモリ60に対するデータの書き込み及び読み出しを行う。なお、ハードウエアシーケンサ76は、NAND型フラッシュメモリ60から読み出したコンピュータプログラムを、NANDインタフェース62A及びバッファマネージャ72を介してRAM74へ転送する。
【0072】
また、多数決部70は、ステータス収集部32に接続され、使用するコンピュータプログラムが多数決により決定しなかった場合に、不一致信号をステータス収集部32へ出力する。
【0073】
図7は、本第4実施形態に係るCPU起動処理の流れを示すフローチャートの一例である。
【0074】
まず、ステップ200では、送受信装置14が地上局50からの制御信号を受信すると、スイッチ回路16が情報処理装置への電力の供給を開始する。情報処理装置10への電力の供給が開始されると、情報処理装置10を構成するNAND型フラッシュメモリ部10A及びホスト部10Bは、動作が可能となるが、ホスト部10Bに備えられているCPU起動装置24は、CPU20へCPUリセット信号を出力し、CPU20をリセット状態とする。
【0075】
次のステップ202では、ハードウエアシーケンサ76が、NAND型フラッシュメモリ60の予め定められたアドレスに記憶されている多重冗長化(本第4実施形態では三重冗長化)されたコンピュータプログラムを、NANDインタフェース62A、バッファマネージャ72を介してRAM74へ転送、記憶させる。
【0076】
次のステップ204では、RAM74に記憶されている多重冗長化されたコンピュータプログラムを、バッファマネージャ72を介して多数決部70へ転送して多数決を行う。
【0077】
ステップ206では、多数決により使用するコンピュータプログラムが決定できたか否かが、多数決部70によって判断され、決定できた場合はステップ208へ移行し、決定できなかった場合はステップ212へ移行する。決定できた場合とは、例えば3重冗長化されているコンピュータプログラムにおいて、全く同じコンピュータプログラムが2つ以上存在していた場合である。一方、決定できない場合とは、例えば3重冗長化されているコンピュータプログラムにおいて、全く同じコンピュータプログラムが存在していない場合であり、すなわち、冗長化された3つのコンピュータプログラムのうち、少なくとも2つのコンピュータプログラムが破損している場合である。
【0078】
ステップ208では、多数決により決定したコンピュータプログラムを、NANDインタフェース62A,62Bを介してSRAM22へ転送する。
【0079】
ステップ210では、CPU起動装置24がCPU20へのCPUリセット信号の出力を停止し、CPU20のリセット状態を解除させる。これによりCPU20は、SRAM22に記憶されているコンピュータプログラムに含まれるブートプログラムを読み出し、該ブートプログラムを用いて起動する。
【0080】
一方、ステップ212では、多数決部70がステータス収集部32へ不一致信号を出力する。
【0081】
ステップ214では、ステータス収集部32に不一致信号が入力されると、ステータス収集部32が、通信インタフェース26を介して地上局50へコンピュータプログラムの送信要求信号を送受信装置14に送信させる。
【0082】
ステップ216では、地上局50から送信されたコンピュータプログラムを送受信装置14が受信する。
【0083】
次のステップ218では、送受信装置14で受信されたコンピュータプログラムが、CPU起動装置24によって、通信インタフェース26からNAND型フラッシュメモリ60へ転送される。そして、NAND型フラッシュメモリ60へ転送されたコンピュータプログラムは、NAND型フラッシュメモリ60のコンピュータプログラムが記憶されている予め定められたアドレスへ上書きされる。そして、CPU起動処理は、ステップ202へ戻る。
【0084】
以上説明したように、本第4実施形態に係る情報処理装置10は、NAND型フラッシュメモリ60が多重冗長化されたコンピュータプログラムを記憶し、多数決部70がNAND型フラッシュメモリ60に記憶された多重冗長化されたコンピュータプログラムから多数決により、CPU20で実行させるコンピュータプログラムを決定する。従って、本第4実施形態に係る情報処理装置10は、CPU20の動作の信頼性をより高くすることができる。
【0085】
〔第5実施形態〕
以下、本発明の第5実施形態について説明する。
なお、本第5実施形態に係る情報処理装置10の構成は、図6に示す第4実施形態に係る情報処理装置10の構成と同様であるので説明を省略する。
【0086】
本第5実施形態に係るNAND型フラッシュメモリ60は、記憶しているコンピュータプログラムに破損が検出され、かつ人工衛星12外である地上局50から送信されたコンピュータプログラムが上書きされてもコンピュータプログラムの破損が解消されなかった場合、異なるアドレスに新たに送信されたコンピュータプログラムが記憶される。
【0087】
地上局50から送信されたコンピュータプログラムをNAND型フラッシュメモリ60に上書きしてもコンピュータプログラムの破損が解消されなかった場合は、コンピュータプログラムを記憶しているNAND型フラッシュメモリ60のメモリ構造そのものに破損が生じていると考えられる。
そこで、本第5実施形態に係る情報処理装置10によれば、NAND型フラッシュメモリ60の異なるアドレスに新たに送信されたコンピュータプログラムを記憶させるので、NAND型フラッシュメモリ60のメモリ構造に破損が生じていても、NAND型フラッシュメモリ60を交換することなく、既存のNAND型フラッシュメモリ60にコンピュータプログラムを記憶させることができる。
【0088】
図8は、本第5実施形態に係るNAND型フラッシュメモリ60のコンピュータプログラムを記憶させるアドレスを変更する処理(以下、「アドレス変更処理」という。)の流れを示すフローチャートの一例である。
【0089】
まず、ステップ300では、ステータス収集部32が連続して2回以上不一致信号の入力を受け付けた場合、ステータス収集部32が、通信インタフェース26を介して地上局50へ、NAND型フラッシュメモリ60のコンピュータプログラムを記憶させるアドレスを変更するための変更プログラムの送信要求信号を送受信装置14に送信させる。変更プログラムには、NAND型フラッシュメモリ60のコンピュータプログラムを記憶させる新たなアドレスが記述されている。
【0090】
次のステップ302では、送受信装置14が変更プログラムを受信すると、CPU起動装置24に設定されている、NAND型フラッシュメモリ60のコンピュータプログラムを記憶させるアドレスが変更プログラムに示される新たなアドレスに変更される。なお、変更プログラムと共に、新たなコンピュータプログラムが地上局50から送信された場合には、新たなアドレスに該コンピュータプログラムが記憶される。
【0091】
次のステップ304では、ハードウエアシーケンサ76に設定されている、NAND型フラッシュメモリ60のコンピュータプログラムを読み出すアドレスが変更プログラムに示される新たなアドレスに変更される。
【0092】
次のステップ306では、スイッチ回路16のオン及びオフが行われることによって、情報処理装置10のリセットが行われる。その後、図7に示されるCPU起動処理が行われる。
【0093】
以上、本発明を、上記各実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記各実施形態に多様な変更または改良を加えることができ、該変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【0094】
例えば、上記各実施形態では、コンピュータプログラムが遠隔装置へ無線により送信される形態について説明したが、本発明は、これに限定されるものではなく、コンピュータプログラムは有線により送信される形態としてもよい。この形態の場合、例えば、遠隔装置を各種プラントや地中に埋設されている配管内を調査するロボットとした場合に適用される。
【0095】
また、上記第2実施形態から第5実施形態に係る情報処理装置10では、予めNAND型フラッシュメモリ60にコンピュータプログラムが記憶されている形態について説明したが、本発明は、これに限定されるものではなく、NAND型フラッシュメモリ60に予めコンピュータプログラムが記憶されていなくてもよい。この形態の場合、CPU起動装置24は、CPU20を起動させる前に、送受信装置14に地上局50へコンピュータプログラムの送信要求信号を送信させる。
【0096】
また、上記各実施形態では、CPU起動装置24がCPU20にのみリセット信号を出力する形態について説明したが、本発明は、これに限定されるものではなく、CPU起動装置24がCPU20のみならず、情報処理装置10を構成する全て構成部に対してリセット信号を出力し、各構成部を動作させる場合に適宜各構成部へのリセット信号を解除する形態としてもよい。
【0097】
また、上記各実施形態では、CPU20やSRAM22以外の不要な構成部への電力の供給を個別に停止する低消費電力モードを備えてもよい。
【符号の説明】
【0098】
10 情報処理装置
12 人工衛星
14 送受信装置
20 CPU
22 SRAM
24 CPU起動装置
50 地上局
52 送受信装置
60 NAND型フラッシュメモリ

【特許請求の範囲】
【請求項1】
遠隔操作によって動作する遠隔装置に搭載される情報処理装置であって、
コンピュータプログラムを実行する中央演算処理装置と、
前記コンピュータプログラムを記憶する書き込み可能な記憶手段と、
前記遠隔装置外から送信されたコンピュータプログラムを前記記憶手段へ転送し、前記記憶手段に前記コンピュータプログラムが記憶されている状態で前記中央演算処理装置の起動タイミングを制御する起動制御手段と、
を備えた情報処理装置。
【請求項2】
揮発性記憶媒体を備え、
前記記憶手段は、書き込み可能な不揮発性記憶媒体であり、
前記起動制御手段は、前記中央演算処理装置を起動させる場合に、前記記憶手段に予め記憶されている前記コンピュータプログラムを前記揮発性記憶媒体へ転送し、
前記中央演算処理装置は、前記揮発性記憶媒体に記憶された前記コンピュータプログラムを実行する請求項1記載の情報処理装置。
【請求項3】
前記記憶手段は、記憶している前記コンピュータプログラムに破損が検出され、かつ前記遠隔装置外から送信された前記コンピュータプログラムが上書きされても前記コンピュータプログラムの破損が解消されなかった場合、異なるアドレスに新たに送信された前記コンピュータプログラムが記憶される請求項2記載の情報処理装置。
【請求項4】
前記コンピュータプログラムは、誤り検出符号が付され、
前記起動制御手段は、前記中央演算処理装置が前記コンピュータプログラムを実行する前に、前記誤り検出符号を用いて前記コンピュータプログラムの誤り検出を行う請求項1から請求項3の何れか1項記載の情報処理装置。
【請求項5】
前記コンピュータプログラムは、複数のブロックに分割して前記記憶手段に記憶され、該ブロック毎に前記誤り検出符号が付される請求項4記載の情報処理装置。
【請求項6】
前記記憶手段は、3つ以上である複数の同じ前記コンピュータプログラムを記憶し、
前記記憶手段に記憶された複数の同じ前記コンピュータプログラムから多数決により、前記中央演算処理装置で実行させる前記コンピュータプログラムを決定する多数決手段
を備える請求項1から請求項3の何れか1項記載の情報処理装置。
【請求項7】
遠隔操作によって動作する遠隔装置に搭載され、コンピュータプログラムを実行する中央演算処理装置、及び該コンピュータプログラムを記憶する書き込み可能な記憶手段を備える情報処理装置の起動方法であって、
前記遠隔装置外の送信手段から送信されるコンピュータプログラムを受信する第1工程と、
受信した前記コンピュータプログラムを前記記憶手段へ転送する第2工程と、
前記記憶手段に前記コンピュータプログラムが記憶されている状態で前記中央演算処理装置を起動させる第3工程と、
を含む情報処理装置の起動方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−80399(P2013−80399A)
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【出願番号】特願2011−220389(P2011−220389)
【出願日】平成23年10月4日(2011.10.4)
【出願人】(000006208)三菱重工業株式会社 (10,378)
【Fターム(参考)】