(57)【要約】【課題】  リコンフィギャラブルな機能モジュールを正しく容易に更新することができる半導体装置およびその制御方法を実現する。【解決手段】  本発明の半導体装置およびその制御方法は、リコンフィギャラブルな機能モジュール１１の設定情報１２が格納されたＥＥＰＲＯＭ１４と、固有の識別情報１５が格納されたＲＯＭ１６と、設定情報１２の更新条件２３と機能モジュール１１を更新するための新しい設定情報２２とを無線通信によって受信する送受信モジュール１７と、識別情報１５および更新条件２３に基づいて設定情報１２の更新を判定し、当該更新が必要である場合に、ＥＥＰＲＯＭ１４に格納されている設定情報１２を送受信モジュール１７で受信された新しい設定情報２３に置き換える制御回路１８を有する。【選択図】  図１
2006302138.tif 000002
【特許請求の範囲】
【請求項１】
リコンフィギャラブルな機能モジュールの設定情報が格納された第１の記憶手段と、
固有の識別情報が格納された第２の記憶手段と、
前記設定情報の更新条件と前記機能モジュールを更新するための新しい設定情報とを無線通信によって受信する受信手段と、
前記識別情報および前記更新条件に基づいて前記設定情報の更新を判定し、当該更新が必要である場合に、前記第１の記憶手段に格納されている前記設定情報を前記受信手段で受信された前記新しい設定情報に置き換える制御手段を有することを特徴とする半導体装置。
【請求項２】
前記第１の記憶手段は、前記設定情報の現在のバージョン番号をステータスとしてさらに保持し、
前記更新条件は、更新対象となるバージョン情報をさらに有し、
前記制御手段は、前記更新条件の前記パージョン情報と前記ステータスとに基づいて、前記設定情報の更新をさらに判定することを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記制御手段は、さらに、前記更新の判定に先立って、暗号化された前記新しい設定情報および前記更新条件を前記識別情報を用いて復号することを特徴とする請求項１に記載の半導体装置。
【請求項４】
パックアップ電源に接続される副電源端子をさらに有し、
前記制御手段は、前記第１の記憶手段に格納されている前記設定情報を前記受信手段で受信された前記新しい設定情報に置き換える間は、前記第１および前記第２の記憶手段、ならびに当該制御手段の電源を前記副電源端子から供給されるよう制御することを特徴とする請求項１に記載の半導体装置。
【請求項５】
リコンフィギャラブルな機能モジュールを設定情報によって変更することができる半導体装置の制御方法であって、
前記設定情報の更新条件と前記機能モジュールを更新するための新しい設定情報とを無線通信によって受信する受信ステップと、
固有の識別情報および前記更新条件に基づいて、前記設定情報の更新を判定する判定ステップと、
前記判定ステップで前記設定情報の更新が判定された場合に、前記設定情報を前記受信ステップで受信された前記新しい設定情報に置き換える更新ステップを有することを特徴とする半導体装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リコンフィギャラブルな機能モジュールを無線通信によって更新することができる半導体装置およびその制御方法に関する。
【背景技術】
【０００２】
一般的に、半導体装置はそのロジックを製造後に修正することはできないが、近年、コンフィギャラブルプロセッサ等、その機能を静的または動的に変更できる半導体装置が開発され始めている。これには、コンフィギュレーション情報（以下、「設定情報」という。）を変更して半導体装置のロジックを変更するリコンフィギャラブルＦＰＧＡ（Field Programmable Gate Array）の技術が利用されている。一方、ＩＣカードなどでは、無線通信を利用してデータの送受信を行う送受信モジュールを備えた半導体装置が開発されている。また、これらの応用として、リコンフィギャラブルな機能モジュールの設定情報を無線通信によって更新することで用途の変更を容易に行える半導体装置（例えば、「特許文献１」を参照。）なども登場している。
【０００３】
このような技術を用いて、半導体装置が出荷された後で、その半導体装置を組み込んだ機器で機能設計上の不具合が判明した場合でも、製品を取り替えることなく、無線通信による設定情報の変更によってその不具合の修正もしくは機能の一部変更を行うことが考えられる。
【０００４】
しかしながら、従来の半導体装置およびその制御方法では、このような応用に対して、実際に数多く出荷された製品で設定情報を正しく修正もしくは変更することが困難であるという問題があった。すなわち、製品の出荷バージョンやユーザによって修正する対象を限定することができないという問題があった。また、電源が供給されていないなど、たまたまその半導体装置が通信不能の場合には、修正漏れになってしまうなどの問題もあった、さらに、無線通信を用いるため、第三者に修正内容を容易に読み取られる、あるいは、悪意のある第三者によって半導体装置の設定情報を容易に改ざんされてしまう危険があるという問題があった。さらに、機能変更の途中で半導体装置への電源供給が途絶えると、設定情報の更新が完了せず、最悪の場合には、半導体装置が使用できなくなるという問題もあった。
【特許文献１】特開平１０−２６９３２８号公報（図２）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、リコンフィギャラブルな機能モジュールを正しく容易に更新することができる半導体装置およびその制御方法を提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様によれば、リコンフィギャラブルな機能モジュールの設定情報が格納された第１の記憶手段と、固有の識別情報が格納された第２の記憶手段と、前記設定情報の更新条件と前記機能モジュールを更新するための新しい設定情報とを無線通信によって受信する受信手段と、前記識別情報および前記更新条件に基づいて前記設定情報の更新を判定し、当該更新が必要である場合に、前記第１の記憶手段に格納されている前記設定情報を前記受信手段で受信された前記新しい設定情報に置き換える制御手段を有することを特徴とする半導体装置が提供される。
【０００７】
本発明の別の一態様によれば、リコンフィギャラブルな機能モジュールを設定情報によって変更することができる半導体装置の制御方法であって、前記設定情報の更新条件と前記機能モジュールを更新するための新しい設定情報とを無線通信によって受信する受信ステップと、固有の識別情報および前記更新条件に基づいて、前記設定情報の更新を判定する判定ステップと、前記判定ステップで前記設定情報の更新が判定された場合に、前記設定情報を前記受信ステップで受信された前記新しい設定情報に置き換える更新ステップを有することを特徴とする半導体装置の制御方法が提供される。
【発明の効果】
【０００８】
本発明によれば、半導体装置を取り替えることなく半導体装置の不具合を正しく容易に更新することができるので、半導体装置出荷後の不具合に起因するリスクを大幅に軽減することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照しながら、本発明の実施例を説明する。
【実施例】
【００１０】
図１は、本発明の実施例に係わる半導体装置を示す回路ブロック図である。ここでは、主に、リコンフィギャラブルな機能モジュール１１とその更新にかかわる部分を示した。
【００１１】
本発明の実施例に係わる半導体装置は、リコンフィギャラブルな機能モジュール１１、機能モジュール１１の設定情報１２およびステータス１３が格納されたＥＥＰＲＯＭ１４（Electrical Erasable PROM）、固有の識別情報１５が格納されたＲＯＭ１６、無線通信により外部とデータの送受信を行う送受信モジュール１７、および設定情報１２の更新を制御する制御回路１８を備えている。
【００１２】
ＲＯＭ１６の入出力は制御回路１８の第１の入出力に接続され、送受信モジュール１７の入出力は制御回路１８の第２の入出力に接続され、制御回路１８の第３の入出力は内部バス１９に接続されている。また、送受信モジュール１７の無線入出力はアンテナ２０に接続され、機能モジュール１１の入出力およびＥＥＰＲＯＭ１４の入出力はそれぞれ内部バス１９に接続されている。
【００１３】
機能モジュール１１は、設定情報１２によって再構成可能なＦＰＧＡであり、半導体装置が持つ本来の機能を実現する。機能モジュール１１のリコンフィグレーション（再構成）は、動作の安全が保障される期間、具体的には、例えば、機器のブート時（電源投入時、リセット時）にＥＥＰＲＯＭ１４から設定情報１２を読み出すことで行われる。
【００１４】
ステータス１３は、設定情報１２のバージョン番号であり、設定情報１２が更新されるたびに対応する新しいステータス１３が、制御回路１８によってＥＥＰＲＯＭ１４に書き込まれる。
【００１５】
ＥＥＰＲＯＭ１４は、電気的に書き換え可能な不揮発性メモリモジュールであり、ここには、設定情報１２とステータス１３の他に制御回路１８および機能モジュール１１で使用されるデータや実行プログラムが格納されている。
【００１６】
識別情報１５は、図２に示したように、製品コード２５、出荷バージョン２６、および個体番号２７を備えている。
【００１７】
製品コード２５は製品ごとに固有の識別コードであり、出荷バージョン２６は同一製品内の出荷時期ごとの識別に用いられる。これは、同じ製品であっても、出荷時期によってハードウェアが異なる、例えば、プロセスシュリンク品などがあるためである。
【００１８】
個体番号２７は、半導体装置それぞれの個体を識別するための番号で、世の中に同一の個体番号２７をもつものが２つと存在しないよう、一連のシリアル番号が割り当てられている。
【００１９】
識別情報１５は、後述するように暗号鍵として用いられるので、原則として非公開であり、半導体装置の外部へ読み出されることがないＲＯＭ１６に格納されている。
【００２０】
送受信モジュール１７は、アンテナ２０を介して無線通信により外部のホスト機器との間で更新情報２１および完了通知２４の送受信を行う。ホスト機器から受信する更新情報２１は、図１に示したように、新しい設定情報２２および更新条件２３を備えており、識別情報１５によって暗号化されている。
【００２１】
更新条件２３は、設定情報１２を更新する場合の条件であり、更新の対象となる製品コード２５、出荷バージョン２６、およびステータス１３が含まれる。
【００２２】
完了通知２４は、この半導体装置で設定情報１２の更新が正しく終了したことを通知するためにホスト機器へ送信される。
【００２３】
制御回路１８は、送受信モジュール１７が受信した暗号化された更新情報２１を復号し、識別情報１５およびステータス１３に基づいて、設定情報１２が正しく更新されるようＲＯＭ１６およびＥＥＰＲＯＭ１４を制御する。そして、更新が無事終了すると、ホスト機器へ完了通知２４を送信するよう送受信モジュール１７を制御する。
【００２４】
また、制御回路１８は、設定情報１２の更新期間および完了通知２４の送信期間に不慮のトラブルで電源の供給が途絶えることがないよう、送受信モジュール１７、ＲＯＭ１６、ＥＥＰＲＯＭ１４、および自身の電源供給を制御する。
【００２５】
図３は、本発明の実施例に係わる半導体装置の電源構成を示す回路ブロック図である。
【００２６】
本発明の実施例に係わる半導体装置の電源は、外部のメイン電源（図示していない。）に接続される主電源端子３１、主電源端子３１から各回路モジュールへ電源電圧を供給する主電源線３２、外部のバックアップ電源（図示していない。）に接続される副電源端子３３、および副電源端子３３から各回路モジュールへ電源電圧を供給する副電源線３４を備えている。
【００２７】
主電源線３２は、機能モジュール１１、ＥＥＰＲＯＭ１４、ＲＯＭ１６、送受信モジュール１７、および制御回路１８の主電源入力に接続され、副電源線３４は、ＥＥＰＲＯＭ１４、ＲＯＭ１６、送受信モジュール１７、および制御回路１８の副電源入力に接続されている。
【００２８】
各回路モジュールでの電源の切り替えは、図４で後述するように、制御回路１８によって制御される。
【００２９】
主電源端子３１に接続される外部のメイン電源は、この半導体装置が組み込まれる機器のメイン電源である。一方、副電源端子３３に接続される外部のバックアップ電源は、メイン電源には連動しない専用のバッテリーで構成されている。
【００３０】
したがって、ユーザが機器のメイン電源をオフにした場合でも、副電源線３４からの各回路モジュールへの電源電圧の供給は保証される。
【００３１】
次に、上述した構成を持つ半導体装置の制御方法について説明する。  
図４は、本発明の実施例に係わる半導体装置の制御方法を示すフロー図である。ここでは、主に、設定情報１２の更新にかかわる部分を示した。
【００３２】
本発明の実施例に係わる半導体装置の制御方法は、更新情報２１を受信する受信ステップ（ＳＴ４１）、暗号化された更新情報２１を復号する復号ステップ（ＳＴ４２）、識別情報１５を用いて設定情報１２の更新を判定する製品判定ステップ（ＳＴ４３）、ステータス１３を用いて設定情報１２の更新を判定するステータス判定ステップ（ＳＴ４４）、バックアップ電源の残容量を判定するバッテリー判定ステップ（ＳＴ４５）、電源の接続を副電源線３４に切り替える副電源切替ステップ（ＳＴ４６）、設定情報１２を新しい設定情報２２に置き換える更新ステップ（ＳＴ４７）、完了通知２４を送信する送信ステップ（ＳＴ４８）、および電源の接続を主電源線３２に復帰させる主電源復帰ステップ（ＳＴ４９）を備えている。
【００３３】
ＳＴ４１では、送受信モジュール１７が暗号化された更新情報２１を受信する。
【００３４】
ＳＴ４２では、制御回路１８が、識別情報１５を用いてＳＴ４１で受信した更新情報２１を復号し、新しい設定情報２２および更新条件２３を取得する。
【００３５】
ＳＴ４３では、制御回路１８が、ＳＴ４２で取得された更新条件２３とＲＯＭ１６から読み出した識別情報１５に基づいて、この半導体装置が更新の対象であるかを判定する。具体的には、例えば、更新条件２３が“製品Ａの出荷バージョン１．１”であれば、識別情報１５から製品コード２５と出荷バージョン２６を取り出し、これを判定する。
【００３６】
製品コード２５が“Ａ”で、出荷バージョン２６が“１．１”であれば、つまり、この半導体装置が更新の対象である場合（ＯＫ）には、制御フローは、ＳＴ４４へ移行する。更新の対象でなければ（ＮＧ）、制御フローは終了する。
【００３７】
ＳＴ４４では、制御回路１８が、ＳＴ４２で取得された更新条件２３とＥＥＰＲＯＭ１４から読み出したステータス１３に基づいて、この半導体装置の設定情報１２が更新の対象であるかを判定する。具体的には、例えば、更新条件２３が“設定情報１２のバージョン１．０．１以下”であれば、ＥＥＰＲＯＭ１４からステータス１３を読み出して、これを判定する。
【００３８】
ステータス１３が“１．０．１以下”であれば、つまり、この設定情報１２が更新の対象である場合（ＯＫ）には、制御フローは、ＳＴ４５へ移行する。更新の対象でなければ（ＮＧ）、制御フローは終了する。
【００３９】
ＳＴ４３およびＳＴ４４で更新の対象と判定された場合は、設定情報１２の更新が途中で中断されることのないように、バッテリーチェックを行った後に、制御回路１８は、必要な回路モジュールの電源を副電源線３４に切り替えるよう制御する。
【００４０】
すなわち、ＳＴ４５で、制御回路１８は、副電源線３４に接続されているバックアップ電源（バッテリー）の残容量を判定する。残容量が十分であれば（ＯＫ）、制御フローは、ＳＴ４６へ移行する。そうでなければ（ＮＧ）、制御フローは終了する。
【００４１】
ＳＴ４６で、制御回路１８は、ＥＥＰＲＯＭ１４、ＲＯＭ１６、送受信モジュール１７、および自身の電源を副電源入力に切り替えるよう制御する。
【００４２】
そして、ＳＴ４７で、制御回路１８は、ＳＴ４２で取り出した新しい設定情報２２をＥＥＰＲＯＭ１４の設定情報１２と置き換える。ここで更新された新しい設定情報２２が機器の次のブート時に機能モジュール１１に読み出され、機能モジュール１１が更新される。
【００４３】
ＳＴ４７で設定情報１２の更新が終了すると、制御回路１８は、ＳＴ４８で、送受信モジュール１７を介してホスト機器へ完了通知２４として自身の識別情報１５を送信する。これは、設定情報１２が正しく更新されたことをホスト機器へ通知するためで、更新の対象であったとしても、例えば、受信のタイミング（ＳＴ４１）で機器の電源が入っていなかったり、電磁ノイズが激しい環境では更新を正しく行えない個体もあるためである。
【００４４】
これにより、複数の半導体装置を同時に更新する場合には、ホスト機器は、各個体からの完了通知２４を確認し、更新が完了していない個体がある場合には、その個体を個体番号２７で特定して改めて更新情報２１を送信するなどの対応を取ることができる。
【００４５】
ＳＴ４８で完了通知２４の送信が終了すると、制御回路１８は、ＳＴ４９で、ＥＥＰＲＯＭ１４、ＲＯＭ１６、送受信モジュール１７、および自身の電源を主電源入力に切り替えるよう制御する。
【００４６】
上記実施例によれば、半導体装置を取り替えることなく半導体装置の不具合を正しく容易に更新することができるので、半導体装置出荷後の不具合に起因するリスクを大幅に軽減することができる。
【００４７】
また、上記実施例によれば、半導体装置が識別情報１５として製品コード２５、出荷バージョン２６、および個体番号２７を持っているので、更新の対象を限定して設定情報１２を更新することができる。
【００４８】
さらに、上記実施例によれば、半導体装置がステータス１３として設定情報１２のバージョン番号を保持しているので、ステータス１３の異なる複数の半導体装置に対して同時に更新作業を実行し、それらの設定情報１２のバージョンを統一することができる。
【００４９】
さらに、上記実施例によれば、更新情報２１が非公開の識別情報１５で暗号化されているので、第三者に内容を覗かれる心配がなく、安全に設定情報１２を更新することができる。
【００５０】
さらに、上記実施例によれば、半導体装置の電源はバッテリーによりバックアップされるので、更新の途中で半導体装置への電源供給が途絶えることがなく、設定情報１２の更新が正しく終了することが保証され、半導体装置が使用できなくなる危険を回避することができる。
【００５１】
さらに、上記実施例によれば、半導体装置が更新の完了通知２４をホスト機器へ送信するので、各種トラブルに起因する設定情報１２の更新漏れを未然に防ぐことができる。
【００５２】
上述の実施例では、一例として、機能モジュール１１は、リコンフィギャラブルなＦＰＧＡであるとしたが、本発明はこれに限られるものではなく、設定情報１２によって機能変更が可能なモジュールであれば原理的には適用可能である。また、半導体装置が機能変更のできないモジュールを含んでいても良い。
【００５３】
さらに、上述の実施例では、機能モジュール１１はブート時に設定情報１２を読み出してその機能を設定する（リコンフィグレーション）としたが、本発明はこれに限られるものではなく、例えば、半導体装置が動作中の適切なタイミングでダイナミックに行うように構成することもできる。
【００５４】
さらに、上述の実施例では、識別情報１５は、セキュリティを考慮してＲＯＭ１６に格納するとしたが、本発明はこれに限られるものではなく、例えば、適切な公開鍵の利用など、他にセキュリティを確保する手段が講じられていれば、識別情報１５を読み出し可能なＥＥＰＲＯＭ１４に格納しても良い。
【００５５】
さらに、上述の実施例では、説明のため、識別情報１５は製品コード２５、出荷バージョン２６、および個体番号２７を持つとしたが、本発明はこれに限られるものではなく、例えば、ユーザコードなど、更新の対象を限定できる情報を付加することもでき、それに合わせて更新条件２３を適切に指定するようにしても良い。
【００５６】
さらに、上述の実施例では、ＥＥＰＲＯＭ１４の設定情報１２を書き換える間、ＥＥＰＲＯＭ１４、ＲＯＭ１６、および制御回路１８の電源は副電源線３４から供給されるとしたが、本発明はこれに限られるものではなく、例えば、システムのメイン電源がＵＰＳ（Uninterruptible Power Supply）などで確保されていれば、バックアップ電源への切り替え機能を必ずしも使用する必要はない。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施例に係わる半導体装置を示す回路ブロック図。
【図２】本発明の実施例に係わる半導体装置における識別情報を示すイメージ図。
【図３】本発明の実施例に係わる半導体装置の電源構成を示す回路ブロック図。
【図４】本発明の実施例に係わる半導体装置の制御方法を示すフロー図。
【符号の説明】
【００５８】
１１  機能モジュール
１２  設定情報
１３  ステータス
１４  ＥＥＰＲＯＭ
１５  識別情報
１６  ＲＯＭ
１７  送受信モジュール
１８  制御回路
２１  更新情報
２２  新しい設定情報
２３  更新条件
２４  完了通知
【図１】
2006302138.tif 000003
【図２】
2006302138.tif 000004
【図３】
2006302138.tif 000005
【図４】
2006302138.tif 000006