(57)【要約】【課題】簡単な構成で、ブート情報及びプログラムの更新が正常に行われなかった場合の対策を行えるようにする。【解決手段】通常用いるべきブート情報である通常ブート情報を格納するブート情報格納部と、予備ブート情報を格納する予備ブート情報格納部と、通常ブート情報及び予備ブート情報のいずれを用いるかを示す選択情報を格納する選択情報格納部とを不揮発メモリ１２０に設ける。プロセッサ１１０は、選択情報に基づいて、通常ブート情報又は予備ブート情報を読み出して信号処理装置を起動する。また通常ブート情報の更新前に、選択情報を予備ブート情報を選択する旨に設定するとともに、通常ブート情報の更新が正常に行われなかった場合の選択情報を、予備ブート情報を選択する旨に維持し、通常ブート情報の更新が正常に行われた場合に選択情報を通常ブート情報を選択する旨に設定し直す。【選択図】　図２
2004078294.tif 000002
【特許請求の範囲】
【請求項１】
予め格納するブート情報に基づいて起動する信号処理装置であって、
通常用いるべきブート情報である通常ブート情報を格納するブート情報格納部と、
予備のブート情報である予備ブート情報を格納する予備ブート情報格納部と、
前記通常ブート情報及び前記予備ブート情報のいずれを用いるかを示す選択情報を格納する選択情報格納部と、
前記選択情報格納部に格納されている選択情報に基づいて、前記通常ブート情報及び前記予備ブート情報のいずれかを読み出して前記信号処理装置を起動する起動部と、
前記通常ブート情報を更新するブート情報更新部と、
前記通常ブート情報の更新前に、前記選択情報を前記予備ブート情報を選択する旨に設定するとともに、前記通常ブート情報の更新あるいは前記更新情報の取得が正常に行われなかった場合の前記選択情報を、前記予備ブート情報を選択する旨に維持し、前記通常ブート情報の更新が正常に行われた場合に前記選択情報を前記通常ブート情報を選択する旨に設定し直す選択情報更新部と
を備えることを特徴とする信号処理装置。
【請求項２】
前記予備ブート情報格納部は、前記予備ブート情報として、前記通常ブート情報の一部であり、前記通常ブート情報を更新するために必要な情報を格納することを特徴とする請求項１に記載の信号処理装置。
【請求項３】
予め格納するブート情報に基づいて起動する信号処理装置であって、
複数の中央処理装置と、
前記複数の中央処理装置のそれぞれに設けられた一時記録部と、
前記ブート情報を格納する不揮発性記録部と、
前記不揮発性記憶装置を、前記複数の中央処理装置のいずれかに選択的に接続する切換部と
を更に備え、
前記ブート情報の更新処理において、
一の前記中央処理装置が、自らに対応する前記一時記録部に前記ブート情報を読み出した後に、前記切換部は、他の前記中央処理装置と前記不揮発性記録素子とを接続し、前記他の中央処理装置が、前記ブート情報の更新を行うと共に、前記更新の正否の検出を検出し、更新に失敗したときに再更新を実行することを特徴とする信号処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、信号処理装置に関する。特に本発明は、起動するための情報の更新の時に障害が生じても、再起動を問題なく行える信号処理装置に関する。
【０００２】
【従来の技術】
例えば無線通信端末やその中継局など、外部から入力された信号を処理する信号処理装置において、中央処理装置は、不揮発性メモリからブート情報を読み込み、このブート情報を用いて不揮発性メモリから読み込んだプログラムを展開する。近年は、不揮発性メモリを取り替えることなく、ブート情報及びプログラムを更新することで、信号処理装置のバージョンアップを図る技術が開発されている。
【０００３】
これに関連する技術として、例えば特開２００２−７３３５９号公報、及び特開２００１−３３１３３６号公報がある。これらは、ブート情報及びプログラムのダウンロード時に、通常処理への負荷が加わらないようにするためのものである。
また、特開平９−７３４３７号公報は、ソフトウェアを予め保存する共通監視用ＣＰＵユニット、及び共通監視用ＣＰＵユニットからソフトウェアを転送される複数の個別制御用ＣＰＵユニットを設け、各個別制御用ＣＰＵユニットが、転送されたソフトウェアの正常性を判定して共通監視用ＣＰＵユニットに通知し、共通監視用ＣＰＵユニットが、異常判定通知を受けたときにソフトウェアの再送信を行う技術を開示する。
【０００４】
また、ブート情報及びプログラムの更新が正常に行われなかった場合は、再起動時に問題が生じる。
【０００５】
この問題に対しては、例えば特開２０００−２７６３５４号公報に開示された技術がある。
本技術は、主プログラムのダウンロード時に、ウオッチドッグ回路の出力に基づき中央処理装置の異常を監視し、復帰不可能なシステムエラーと判断された場合は、予備メモリ領域の予備プログラムにより再ダウンロードやセルフチェック動作を行うものである。
【０００６】
【発明が解決しようとする課題】
簡単な構成で、ブート情報及びプログラムの更新が正常に行われなかった場合の対策を行える技術の開発が望まれている。
そこで本発明は、上記の課題を解決することのできる信号処理装置を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【０００７】
【課題を解決するための手段】
即ち、本発明の第１の形態によると、予め格納するブート情報に基づいて起動する信号処理装置であって、通常用いるべきブート情報である通常ブート情報を格納するブート情報格納部と、予備のブート情報である予備ブート情報を格納する予備ブート情報格納部と、通常ブート情報及び予備ブート情報のいずれを用いるかを示す選択情報を格納する選択情報格納部と、選択情報格納部に格納されている選択情報に基づいて、通常ブート情報及び予備ブート情報のいずれかを読み出して信号処理装置を起動する起動部と、通常ブート情報を更新するブート情報更新部と、通常ブート情報の更新前に、選択情報を予備ブート情報を選択する旨に設定するとともに、通常ブート情報の更新あるいは更新情報の取得が正常に行われなかった場合の選択情報を、予備ブート情報を選択する旨に維持し、通常ブート情報の更新が正常に行われた場合に選択情報を通常ブート情報を選択する旨に設定し直す選択情報更新部とを備えることを特徴とする信号処理装置を提供する。
予備ブート情報格納部は、予備ブート情報として、通常ブート情報の一部であり、通常ブート情報を更新するために必要な情報を格納してもよい。
【０００８】
本発明の第２の形態は、予め格納するブート情報に基づいて起動する信号処理装置であって、複数の中央処理装置と、複数の中央処理装置のそれぞれに設けられた一時記録部と、ブート情報を格納する不揮発性記録部と、不揮発性記憶装置を、複数の中央処理装置のいずれかに選択的に接続する切換部とを更に備え、ブート情報の更新処理において、一の中央処理装置が、自らに対応する一時記録部にブート情報を読み出した後に、切換部は、他の中央処理装置と不揮発性記録素子とを接続し、他の中央処理装置が、ブート情報の更新を行うと共に、更新の正否の検出を検出し、更新に失敗したときに再更新を実行することを特徴とする信号処理装置を提供する。
【０００９】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【００１０】
【発明の実施の形態】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態はクレームにかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、本実施形態の第１の例である信号処理装置１００の構成例を示すブロック図である。信号処理装置１００は、例えば無線通信の中継局に組み込み機器として用いられるが、ソフトウェアの更新が可能な無線装置であればいかなる用途であってもよい。
【００１２】
信号処理装置１００は、プロセッサ１１０、不揮発性記録部としての不揮発メモリ１２０、ＲＡＭ１３０、ＬＡＮコントローラ１４０、及び変換部１５０を備える。プロセッサ１１０は、信号処理装置１００の各部を制御する。すなわち、プロセッサ１１０はブート情報更新部、起動部、選択情報更新部を兼ねる。また、プロセッサ１１０は、電話回線や専用線などのシリアル回線や、取り外し可能な不揮発メモリカード１６０と接続可能である。
【００１３】
不揮発メモリ１２０は、信号処理装置１００の起動時にプロセッサ１１０が要求する各種情報を格納する。ＲＡＭ１３０は、プロセッサ１１０が信号の処理に必要な情報を一時的に格納したりプログラムを展開するメモリ領域を提供する。ＬＡＮコントローラ１４０は、プロセッサ１１０とローカルエリアネットワーク（ＬＡＮ）などのネットワークすなわち外部との通信を中継する。変換部１５０は、ＬＡＮコントローラ１４０からの信号を物理層に変換し、外部へ出力する。
【００１４】
すなわち、信号処理装置１００は、インターネット網、シリアル回線、或いは不揮発メモリカード１６０から不揮発メモリ１２０を更新するためのイメージデータを受信し、不揮発メモリ１２０を更新する。
【００１５】
図２は、不揮発メモリ１２０のメモリマップを示す図である。不揮発メモリ１２０は、通常領域、予備領域、及び選択情報領域を有する。
選択情報領域には、通常領域及び予備領域の何れかを示す選択情報が格納される。
【００１６】
通常領域は、初期化プログラム、通常ブート情報、通常ブートプログラム、通常プログラム、及び通常データをそれぞれ格納する領域を含む。通常領域の通常ブート情報、通常ブートプログラム、通常プログラム、及び通常データは、プロセッサ１１０によって更新される。
予備領域は、通常領域のバックアップである、予備ブート情報、予備ブートプログラム、予備プログラム、および予備データを格納する領域を含む。予備領域は、例えば出荷時には、通常領域の対応する領域と同じプログラム及び情報を格納する。予備領域は、通常領域の更新とともに更新されてもよいが、更新されなくてもよい。
【００１７】
初期化プログラムは、プロセッサ１１０の初期化を行う機能、選択常用領域に格納されている選択情報を読み出す機能、及び選択情報に基づいて通常ブートプログラム又は予備ブートプログラムに移行する機能を含む。
【００１８】
通常ブート情報は、割り込みベクタ、通常プログラム及び通常データの格納位置を特定する情報、すなわち媒体を区別する情報、ファイルパス、アドレスなどである。
予備ブート情報は、割り込みベクタ、予備プログラム及び予備データの格納位置を特定する情報である。
【００１９】
通常ブートプログラムは、通常ブート情報に示された情報に従って通常プログラム及び通常データにアクセスしてこれらをＲＡＭ１３０に展開する機能、割り込みベクタを生成してＲＡＭ１３０に格納する機能、及びＲＡＭ１３９に展開された通常プログラムに移行する機能を含む。
予備ブートプログラムは、予備プログラム及び予備データをＲＡＭ１３０に展開する機能、割り込みベクタを生成してＲＡＭ１３０に格納する機能、及びＲＡＭ１３０に展開された予備プログラムに移行する機能を含む。
【００２０】
通常プログラムは、信号処理装置１００の信号処理機能を担保するために必要な機能と、更新のためのイメージデータを取り込むのに必要な機能、及び通常領域の更新に必要な機能を含む。
予備プログラムは、通常プログラムと同様の機能を含む。
【００２１】
従って、信号処理装置１００は、プロセッサ１１０が、通常領域の更新前に選択情報を予備領域を選択する旨に設定することで、通常領域の更新が正常に行われなくても、予備領域に格納されている情報に基づいて起動する。
【００２２】
なお、予備領域に格納される各情報は、それぞれ対応する通常領域の情報と同一であってもよい。この場合、ネットワークを介したリモート操作によりダウンロードを行うことができる。
また、予備領域に格納される各情報は、必要な機能及び情報のみを格納してもよい。必要な機能及び情報とは、例えば更新のためのイメージデータの読み込み及び通常ブート情報、通常ブートプログラム、通常プログラム、及び通常データの更新に必要な機能及び情報である。
特に、更新のために必要な情報に限定すると、予備領域に必要なメモリ空間は少なくなる。
【００２３】
図３は、ＲＡＭ１３０のメモリマップを示す図である。ＲＡＭ１３０は、割り込みベクタ領域、プログラム領域、データ領域、プロセッサ１１０のレジスタからあふれた情報を格納するスタック領域、及び外部から取り込んだ情報を格納するためのダウンロードバッファ領域を有する。割り込みベクタ領域、プログラム領域、データ領域に格納される情報は、ブート情報及びブートプログラムによって各領域に展開して格納される。この結果、プロセッサ１１０は、信号処理装置１００の処理機能を実行できるようになる。
【００２４】
図４は、信号処理装置１００のプログラムの構造の一例を示す図である。信号処理装置１００は、高位層にアプリケーションプログラム、ダウンロードを実行するダウンローダ、及びＦＴＰ（Ｆｉｌｅ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）を有し、中位層にＴＣＰ／ＩＰ及びファイルシステムを含むミドルウェアを有し、低位層にＬＡＮドライバ、不揮発メモリドライバ、及びシリアルドライバを有する。これら各層のプログラムは、マルチタスク制御を行うカーネルを含むＲＴＯＳ（Ｒｅａｌ　Ｔｉｍｅ　Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）によって管理されている。
【００２５】
図５は、信号処理装置１００の、ブート情報更新時の動作例を示すフローチャートである。
信号処理装置１００のプロセッサ１１０は、ブート情報更新指令を受信する（Ｓ１００）と、インターネット或いは不揮発性メモリから更新情報すなわちＲＯＭのイメージデータをＲＡＭ１３０のダウンロードバッファに格納する（Ｓ１１０）。ここで、ブート情報更新指令は、例えばＦＴＰのようなリモート操作に基づく指令、或いはカードドライブに挿入されたメモリカードにイメージデータが格納されていることを検出することである。
そして、プロセッサ１１０は、選択情報を予備ブート情報に設定する（Ｓ１３０）。なお、本設定は、Ｓ１１０と平行して行ってもよい。
【００２６】
そして、プロセッサ１１０は、ＲＡＭ１３０のダウンロードバッファに格納されているイメージデータを、不揮発メモリ１２０に書き込むことで、ブート情報を更新する（Ｓ１３０）。
【００２７】
そして、プロセッサ１１０は、ブート情報の更新が成功した場合（Ｓ１４０：Ｙｅｓ）、選択情報を通常ブート情報に設定する（Ｓ１５０）。
不揮発メモリの書込中にリセットがかかった場合或いは更新情報の受信に失敗した場合はブート情報の更新に失敗しており（Ｓ１４０：Ｎｏ）、また選択情報の更新は行えない。また不揮発メモリのサムチェックにより異常が見つかった場合は、ブート情報の更新に失敗したと判断し（Ｓ１４０：Ｎｏ）、選択情報の更新は行わない。
【００２８】
そして、プロセッサ１１０は、選択情報に従ってブート情報を、通常領域或いは選択領域の一方から読み込んで起動する（Ｓ１６０）。そして、選択情報が予備ブート情報のままである場合（Ｓ１７０）は、再度不揮発メモリのイメージデータを取得し（Ｓ１８０）、ブート情報の更新を行う（Ｓ１３０）。
【００２９】
従って、プロセッサ１１０は、ブート情報の更新に失敗しても、予備ブート情報を読み込むため、正常に起動することができる。
また、再起動時に選択情報が通常ブート情報と予備ブート情報のいずれに設定されているかを確認することで、ブート情報の更新に成功したか否かを確認することができる。
【００３０】
図６は、本実施形態の第２の例である信号処理装置２００の構成を示すブロック図である。信号処理装置２００は、例えば携帯通信の無線基地局の制御部として用いられ、プロセッサ２１０、不揮発メモリ２１２、ＲＡＭ２１４、ＬＡＮコントローラ１４０、変換部１５０、プロセッサ２２０、不揮発メモリ２２２、ＲＡＭ２２４、及びバス切換部２３０を備える。不揮発メモリ２１２、ＲＡＭ２１４、ＬＡＮコントローラ１４０、及び変換部１５０はプロセッサ２１０に接続し、ＲＡＭ２２４はプロセッサ２２０に接続する。不揮発メモリ２２２は、バス切換部２３０によって、プロセッサ２１０又はプロセッサ２２０の一方に選択的に接続する。
【００３１】
プロセッサ２１０は、信号処理装置２００の保守管理、及び各種更新情報のダウンロードを実行するとともに、不揮発メモリ２２２の更新を実行する。
不揮発メモリ２１２は、保守管理やダウンロードの実行に必要なプログラムや情報を格納する。不揮発メモリ２１２は、第１の例の不揮発メモリ１２０と同様に予備領域を持つことが好ましい。
ＲＡＭ２１４は第１の例におけるＲＡＭ１３０と同様のメモリ構成をとる。
【００３２】
プロセッサ２２０は、信号処理装置２００の呼処理を実行する。
不揮発メモリ２２２は、呼処理に必要なプログラムや情報を格納する。不揮発メモリ２２２は、第１の例の不揮発メモリ１２０と同様に予備領域を持っていてもよいし持たなくてもよい。持たない場合は、不揮発メモリ２２２の容量の最適化、すなわち容量を小さくすることができる。
ＲＡＭ２２４は第１の例におけるＲＡＭ１３０と同様のメモリ構成をとる。
【００３３】
バス切換部２３０は、プロセッサ２１０又はプロセッサ２２０のレジスタアクセスに従って、不揮発メモリ２２２の接続先を、プロセッサ２１０からプロセッサ２２０に、或いはプロセッサ２２０からプロセッサ２１０に切り換える。この切換は、バッファすなわちドライバの切換により実現される。
【００３４】
従って、プロセッサ２１０は、不揮発メモリ２２２を更新することができる。このため、例えばプロセッサ２２０の再起動を行うことで不揮発メモリ２２２の更新に失敗したことが分かっても、プロセッサ２１０が不揮発メモリ２２２の再更新を行うことができる。
【００３５】
なお、ＬＡＮコントローラ１４０及び変換部１５０の機能は第１の例と同様である。また、さらに別個のＬＡＮ１４０及び変換部１５０を設けてプロセッサ２２０に接続する構成としてもよい。
【００３６】
図７は、信号処理装置２００が不揮発メモリ２２２を更新するときの動作を示すフローチャートである。前回のリセット時には、不揮発メモリ２２２はプロセッサ２２０に接続している。プロセッサ２２０は、不揮発メモリ２２２のブート情報やプログラムを読み込んで起動し、呼処理を開始する（Ｓ２００）。その後、プロセッサ２２０は、不揮発メモリ２２２をプロセッサ２１０に接続する（Ｓ２１０）。また、プロセッサ２１０は、不揮発メモリ２１２のブート情報やプログラムを読み込んで起動する（Ｓ２２０）。この動作は、Ｓ２００及びＳ２１０と平行してもよい。
【００３７】
そして、プロセッサ２１０は、不揮発メモリ２２２の更新命令を受信する（Ｓ２３０）と、更新データを外部からダウンロードし、或いはリムーバブルメディアから取得し、ＲＡＭ２１４のダウンロードバッファに格納する（Ｓ２４０）。そして、プロセッサ２１０が、不揮発メモリ２２２を更新する（Ｓ２５０）。
【００３８】
不揮発メモリ２２２の更新が終了すると、プロセッサ２１０は、不揮発メモリ２２２をプロセッサ２２０に接続する（Ｓ２６０）。そして、信号処理装置２００を再起動する（Ｓ２７０）。
ここで、プロセッサ２１０は、プロセッサ２２０が正常に起動したか否かを監視する（Ｓ２８０）。例えば、プロセッサ２２０は、割り込み処理或いはＬＡＮを通じてプロセッサ２１０に正常に起動した旨を通知する。プロセッサ２１０はこれを起動後一定時間以内に受信しない場合は、プロセッサ２２０が正常に起動しなかったと判断する。
正常に再起動しなかった場合は、プロセッサ２１０は、不揮発メモリ２２２をプロセッサ２１０に接続させ、Ｓ２４０に戻る（Ｓ２９０）。
【００３９】
従って信号処理装置２００は、不揮発メモリ２２２の更新に失敗しても、再起動することができる。
また、不揮発メモリ２２２の更新処理はプロセッサ２１０が実行するため、更新処理中にプロセッサ２２０に負荷がかかることはない。従って、プロセッサ２２０の呼処理が遅延することはない。
【００４０】
なお、Ｓ２７０において、プロセッサ２２０が正常に再起動したか否かを判断することで、不揮発メモリ２２２の更新の正否を判断したが、この代わりに、プロセッサ２１０が不揮発メモリ２２２のサムチェックを行うことで、不揮発メモリ２２２の更新の正否を判断してもよい。また、更新処理を行う場合に更新中フラグをプロセッサ２１０がたててもよい。この場合、例えば電源トラブルなどにより不揮発メモリ２２２の更新が中断した場合は、フラグを確認することによりプロセッサ２１０は、不揮発メモリ２２２の更新に失敗したことを認識できる。また、不揮発メモリ２１２の更新時には、プロセッサ２１０の処理能力は低下する。
【００４１】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更または改良を加えることができる。そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００４２】
【発明の効果】
上記説明から明らかなように、本発明によれば、簡単な構成で、ブート情報及びプログラムの更新が正常に行われなかった場合の対策を行うことができる。
【図面の簡単な説明】
【図１】本実施形態の第１の例である信号処理装置１００の構成例を示すブロック図である。
【図２】不揮発メモリ１２０のメモリマップを示す図である。
【図３】ＲＡＭ１３０のメモリマップを示す図である。
【図４】信号処理装置１００のプログラムの構造の一例を示す図である。
【図５】信号処理装置１００の、ブート情報更新時の動作例を示すフローチャートである。
【図６】本実施形態の第２の例である信号処理装置２００の構成を示すブロック図である。
【図７】信号処理装置２００の、ブート情報更新時の動作例を示すフローチャートである。
【符号の説明】
１１０　プロセッサ（ブート情報更新部及び選択情報更新部）
１２０　不揮発メモリ（ブート情報格納部、予備ブート情報格納部及び選択情報格納部）
【図１】
2004078294.tif 000003
【図２】
2004078294.tif 000004
【図３】
2004078294.tif 000005
【図４】
2004078294.tif 000006
【図５】
2004078294.tif 000007
【図６】
2004078294.tif 000008
【図７】
2004078294.tif 000009