(57)【要約】【課題】ＲＯＭを有さない第１半導体チップに、第２半導体チップのＲＯＭから第１半導体チップ用のプログラムを転送した後、長期間、プログラムのベリファイを行なう機会が無いので、プログラムの信頼性が低下する。【解決手段】電池の装着時など、携帯端末の使用を開始するときに、第２半導体チップのＲＯＭから第１半導体チップのＲＡＭにプログラムの転送を行ない、その後、待ち受け状態において、着信の頻度に応じて決定されたベリファイ周期に基づいて、周期的に第１半導体チップのＲＡＭに記憶されたプログラムのベリファイを実行する。【選択図】図１
2009181158.tif 000002
【特許請求の範囲】
【請求項１】
揮発性メモリを有する第１半導体チップと、不揮発性メモリを有する第２半導体チップとを内蔵する携帯端末の制御方法であって、
前記第２半導体チップの前記不揮発性メモリに記憶されたプログラムを前記第１半導体チップの前記揮発性メモリに転送するステップと、
前記第１および第２半導体チップを起動するステップと、
第１のベリファイ周期があらかじめ設定されたベリファイ周期に基づいて前記第１半導体チップの前記揮発性メモリ内の前記プログラムをベリファイするステップと、
を有することを特徴とする制御方法。
【請求項２】
前記揮発性メモリはリフレッシュ動作を行わない揮発性メモリであることを特徴とする請求項１に記載の制御方法。
【請求項３】
前記ベリファイ周期を変更するステップを更に備えることを特徴とする請求項１または２記載の制御方法。  
【請求項４】
前記変更するステップは、前記ベリファイ周期を前記揮発性メモリへのアクセス頻度に応じて変更することを特徴とする請求項３記載の制御方法。
【請求項５】
前記転送するステップは、前記第１及び第２半導体チップへの電力供給を検出するステップを備えることを特徴とする請求項１から請求項４のいずれか一に記載の制御方法。
【請求項６】
前記ベリファイするステップは、前記プログラムが異常であることが検出された場合に、前記プログラムを、前記不揮発性メモリから前記揮発性メモリに再転送するステップをさらに有することを特徴とする請求項１から請求項５のいずれか一に記載の制御方法。
【請求項７】
前記ベリファイするステップの前記ベリファイは、前記揮発性メモリ内の前記プログラムのチェックサムを計算することにより行うことを特徴とする請求項１から請求項６のいずれか一に記載の制御方法。
【請求項８】
前記検出するステップは、前記携帯電話へ電池が装着されたことを検出するステップであることを特徴とする請求項５から請求項７のいずれか一に記載の制御方法。
【請求項９】
前記変更するステップは、着信の頻度が第１の閾値を超えた場合に前記第１のベリファイ周期より小さな第２のベリファイ周期を前記ベリファイ周期に設定することを特徴とする請求項３から請求項８のいずれか一に記載の制御方法。
【請求項１０】
前記変更するステップは、前記着信の頻度が第２の閾値を下回った場合に前記第１のベリファイ周期より大きな第３のベリファイ周期を前記ベリファイ周期に設定することを特徴とする請求項３から請求項９のいずれか一に記載の制御方法。
【請求項１１】
前記変更するステップは、単位時間当たりの着信回数に基づいて前記着信の頻度を決定するステップを備えることを特徴とする請求項３から請求項１０のいずれか一に記載の制御方法。
【請求項１２】
前記変更するステップは、前記携帯電話が省電力モードに移行しているか否かに基づいて前記ベリファイ周期を更新するステップを備えることを特徴とする請求項３から請求項１１のいずれか一に記載の制御方法。
【請求項１３】
前記起動するステップは、ユーザが前記携帯電話の電源ボタンを所定時間押下したことを検出したことに応じて行なわれることを特徴とする請求項１から請求項１２のいずれか一に記載の制御方法。
【請求項１４】
前記第１半導体チップは不揮発性メモリを有さないことを特徴とする請求項１から請求項１３のいずれか一に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯端末内のメモリに記憶されたプログラムのベリファイを制御する制御方法に関し、特に揮発性メモリに記憶されたプログラムのベリファイを制御する制御方法に関する。
【背景技術】
【０００２】
近年の携帯端末として、携帯電話は、通話機能だけでなく、カメラ機能や音楽再生機能などの様々な機能（以下、アプリケーション機能）を有している。
【０００３】
携帯電話に様々な機能を持たせるために、通話機能を担う半導体チップ（Ｃｏｍｍｕｎｉｃａｔｉｏｎ ＣＰＵ：以下、ＣＣＰＵ）と、アプリケーション機能を担う半導体チップ（Ａｐｐｌｉｃａｔｉｏｎ ＣＰＵ：以下、ＡＣＰＵ）とを別々に製造し、２つの半導体チップを携帯電話に搭載することが行なわれている。
【０００４】
一般に、マスクＲＯＭ、ＥＥＰＲＯＭなどの不揮発性メモリを有する半導体チップは製造コストが高いので、ＣＣＰＵとＡＣＰＵの両方のチップに不揮発性メモリを設けると、携帯電話のコストが増加してしまう。そのため、ＣＣＰＵには不揮発性メモリを設けず、ＡＣＰＵにのみ不揮発性メモリを設けることにより、コスト低減を図っている。ＣＣＰＵの動作を記述したプログラムはＡＣＰＵに設けられた不揮発性メモリに記憶しておき、携帯電話の使用を開始するとき（例えば、電池が装着されたとき）に、ＣＣＰＵに設けられた揮発性メモリに転送される。その後、電池が取り外されるまでＣＣＰＵの揮発性メモリに記憶されたプログラムは消えることがなく、ＣＣＰＵを動作させるために使用される。                
【０００５】
携帯電話においては、揮発メモリとして、速度の速いＳＲＡＭが用いられている。しかしながら、ＤＲＡＭがリフレッシュ機能を備え、時間経過に伴う放電により情報が消滅してしまうのを防いでいるのに対し、ＳＲＡＭはリフレッシュ機能を具備していないため、二次宇宙線の影響によりにソフトエラーが生じた場合に復旧させることができない。
【０００６】
携帯電話では、このことにより、ＳＲＡＭに格納されたプログラムが正常に動作することができず、着信が行われたにもかかわらず、それを認識できないという状態に陥る可能性がある。
【０００７】
特許文献１に記載の技術では、親情報処理装置内のＲＯＭから携帯端末装置内の揮発メモリに転送されたプログラムデータに対し、転送終了後にベリファイチェックを行っている。
【０００８】
特許文献２に記載の技術では、携帯電話端末の開閉動作など、ユーザによる所定の操作が行われたことをトリガーとして、ベリファイ動作を行っている。
【０００９】
【特許文献１】特開２００２−１５７２１２号公報
【特許文献２】特開２００８−００９８５３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１に記載の技術では、プログラムデータが転送されたときのみしかベリファイが行われず、また、特許文献２に記載の技術では、折り畳み式携帯電話機の開閉動作が行われたときしかベリファイが実行されないため、プログラムデータが転送された後いわゆる待ち受け状態で長時間保持した場合、その間に生じたメモリのソフトエラーを検出することができず、揮発性メモリに転送されたプログラムデータに基づいて実行される動作、例えば電話着信やメール着信等の動作が実行されないという課題がある。
【課題を解決するための手段】
【００１１】
本願発明は、揮発性メモリを有する第１半導体チップと、不揮発性メモリを有する第２半導体チップとを内蔵する携帯端末の制御方法であって、前記第２半導体チップの前記不揮発性メモリに記憶されたプログラムを前記第１半導体チップの前記揮発性メモリに転送するステップと、前記第１および第２半導体チップを起動するステップと、第１のベリファイ周期があらかじめ設定されたベリファイ周期に基づいて前記第１半導体チップの前記揮発性メモリ内の前記プログラムをベリファイするステップと、を有することを特徴とする。
【００１２】
この特徴により、一旦、携帯電話に電池が装着された後に、長期間電池が取り外されることが無く、かつ、ＣＰＵの動作の異常が発生しなかった場合でも、揮発性メモリに転送・記憶されたプログラムを定期的にベリファイする機会を確保することができる。
【発明の効果】
【００１３】
本発明によれば、一旦、揮発性メモリに転送されたプログラムが、長期間ベリファイされない事態を回避することができる。
【発明を実施するための最良の形態】
【００１４】
本発明の実施の形態に係る携帯電話の構成および制御フローを、図１〜図４を用いて示す。
【００１５】
図１を参照して、携帯電話１は、通話機能を実現するために搭載された第１の半導体チップであるＣＣＰＵ（Ｃｏｍｍｕｎｉｃａｔｉｏｎ ＣＰＵ）１０と、ユーザ操作を受け付けたりカメラ機能などを実現したりするために搭載された第２の半導体チップであるＡＣＰＵ（Ａｐｐｌｉｃａｔｉｏｎ ＣＰＵ）２０を有する。ＣＣＰＵ１０とＡＣＰＵ２０とは別個の半導体チップである。
【００１６】
ＣＣＰＵ１０は、揮発性メモリであるＲＡＭ１１と、ＲＡＭ１１に記憶されたプログラムのベリファイを行なうベリファイ回路１３と、通話機能を実現する処理回路１５を有しているが、不揮発性メモリを有さない。処理回路１５、ベリファイ回路１３およびＲＡＭ１１は、システムバス１７を介して互いに接続している。
【００１７】
ＡＣＰＵ２０は、ＲＡＭ２１と、不揮発性メモリであるＲＯＭ２２と、ユーザの操作を受け付け、カメラ機能などを実現するための処理回路２５に割り込み信号ＩＮＴを送信する割り込み処理回路２４と、タイマ２６とを有する。ＲＯＭ２２には、マスクＲＯＭやＥＥＰＲＯＭなど、各種の不揮発性メモリを用いることができる。ＲＯＭ２２には、ＡＣＰＵ２０の動作を記述したプログラムの他に、ＣＣＰＵ１０の動作を記述したプログラムが予め記憶されている。処理回路２５、ＲＡＭ２１、ＲＯＭ２２、タイマ２６および割り込み処理回路２４は、システムバス２７を介して互いに接続している。
【００１８】
携帯電話１には、その他、ＡＣＰＵ２０のＲＯＭ２２からＣＣＰＵ１０のＲＡＭ１１に外部バス３７を介してプログラムを転送するための転送回路３０と、充電可能な電池４０と、ボタン５０と、画面６０とを有する。電池４０は携帯電話１から取り外すことが可能であり、図示しない配線を介して、ＣＣＰＵ１０やＡＣＰＵ２０、その他、携帯電話１内の回路や素子に電力を供給する。携帯電話１が折りたたみ式の場合には、折りたたまれた状態（閉状態）か開かれた状態（開状態）かを検出するスイッチ７０が設けられている。ボタン５０は、電話番号の入力に使用される数字ボタンや電源ボタン等を含む。ボタン５０がユーザにより押下されたことや、スイッチ７０が折りたたみ式携帯電話の開閉を検出したことを、配線Ｗ１，Ｗ２を介してＡＣＰＵ２０内の割り込み処理回路２４が検出し、割り込み処理回路２４は処理回路２５に割り込み信号ＩＮＴを送信する。
【００１９】
図２を用いて、携帯電話１の制御フローを説明する。
【００２０】
ステップＳ１で、携帯電話１に電池４０が装着されたことを検出する。このステップＳ１は、ＡＣＰＵ２０の電源端子に電圧が印加されたことを検出することにより行なわれる。
【００２１】
次いで、ステップＳ２で、転送回路３０を介して、ＡＣＰＵ２０のＲＯＭ２２に記憶されているＣＣＰＵ１０の動作を記述したプログラムを、ＣＣＰＵ１０のＲＡＭ１１に転送する。転送完了後、プログラムのベリファイを行っても良い。
【００２２】
次いで、ステップＳ３において、ユーザが携帯電話１の電源ボタンを所定時間押し続けたこと（いわゆる電源ボタンの長押し）を検出する。
【００２３】
電源ボタンの長押しを検出すると、ステップＳ４で、ＣＣＰＵ１０とＡＣＰＵ２０が起動する。
【００２４】
次いで、ステップＳ５で、ＡＣＰＵ２０は、自身の起動を割り込み要因として、ＣＣＰＵ１０のベリファイ回路１３に、ベリファイ指示信号ＳＧ１を送信する。
【００２５】
次いで、ステップＳ６でベリファイ周期を初期値にて初期化する。
【００２６】
次いで、ステップＳ７で、ベリファイ指示信号ＳＧ１を受信したベリファイ回路１３は、ＣＣＰＵ１０のＲＡＭ１１に記憶されたプログラムのチェックサムを計算することによりベリファイを行なう。
【００２７】
そして、ステップＳ８で、ステップＳ６のベリファイにおいてＲＡＭ１１に記憶されたプログラムが正常であったか否かを判定する。
【００２８】
判定Ｓ８の結果、プログラムに異常であった場合には、ベリファイ回路１３が転送回路３０に転送指示信号ＳＧ２を送信し（ステップＳ９）、転送指示信号ＳＧ２を受信した転送回路３０は、ＡＣＰＵ２０のＲＯＭ２２からＣＣＰＵ１０のＲＡＭ１１へ、プログラムの再転送を行なう。
【００２９】
判定Ｓ８の結果、プログラムが正常であった場合には、ＣＣＰＵ１０およびＡＣＰＵ２０は通常動作を開始する。すなわち、ＣＣＰＵ１０は発信および着信を行い、ＡＣＰＵ２０はボタン５０操作に伴う割り込みやスイッチ７０からの割り込みなど、ユーザ操作に起因した割り込みの受け付け、画面６０の表示、カメラ機能や音楽機能などを実行する。
【００３０】
ＣＣＰＵ１０は、ＲＯＭ２２からＲＡＭ１１に転送されたプログラムに基づいて通常動作を行ない、ＡＣＰＵ２０はＲＯＭ２２に記憶されたプログラムに基づいて通常動作を行なう。
【００３１】
ステップＳ１０において、通常動作中に、ＡＣＰＵ２０がベリファイ周期の経過を検出する。
【００３２】
そして、ステップＳ１１において、ＡＣＰＵ２０はベリファイ指示信号ＳＧ１を送信し、ステップ１２において、ＡＣＰＵ２０はベリファイ周期を次周期の値に更新する。
【００３３】
次いで、ステップ１３において、ベリファイ回路１３は、チェックサムを計算することにより、ＣＣＰＵ１０のＲＡＭ１１に記憶されたプログラムのベリファイを行なう。
【００３４】
そして、ステップＳ１４で、ステップＳ１３のベリファイにおいてＲＡＭ１１に記憶されたプログラムが正常であったか否かを判定する。
【００３５】
判定Ｓ１４の結果、プログラムが異常であった場合には、ベリファイ回路１３が転送回路３０に転送指示信号ＳＧ２を送信する（ステップＳ１５）。転送指示信号ＳＧ２を受信した転送回路３０は、ステップＳ１６により、ＡＣＰＵ２０のＲＯＭ２２からＣＣＰＵ１０のＲＡＭ１１へプログラムの再転送を行なう。プログラムの再転送が完了した後、ＣＣＰＵ１０とＡＣＰＵ２０は通常動作に戻る。
【００３６】
判定の結果、プログラムが正常であった場合には、ＣＣＰＵ１０およびＡＣＰＵ２０は通常動作を再開する。
【００３７】
尚、ステップＳ９において、通常動作中にＡＣＰＵ２０がユーザによる電源オフ操作（例えば携帯電話１の電源ボタンの長押し）を検出すると、ＡＣＰＵ２０はＣＣＰＵ１０に電源遮断を通知する。その後、ＣＣＰＵ１０とＡＣＰＵ２０は共にリセットされ、再度ユーザによる電源ボタンの長押しを検出するまで電源がオフした状態となる。
【００３８】
図３及び図４を用いて、単位時間における着信呼数から次回のベリファイ周期を求めるロジックを示す。
【００３９】
ステップＳ１０１で着信呼数カウンタをクリアし、ステップＳ１０２で着信呼数を監視する時間を測定するためのタイマをリセットする。
【００４０】
ステップＳ１０３でタイマ満了を検出するまでの間、着信を受ける度に着信呼数カウンタをカウントアップする。（ステップＳ１０４）
【００４１】
ステップ１０３でタイマ満了を検出すると、図４に示すテーブルを参照（ステップＳ１０５）し、読み出したベリファイ周期を次回のベリファイ周期値として保持する。（ステップＳ１０６）例えば、単位時間あたりの着信呼数が０呼以上ＴＨ１呼未満の場合はＶｉｎｔ１、単位時間あたりの着信呼数がＴＨ１呼以上ＴＨ２回未満の場合はＶｉｎｔ２、単位時間あたりの着信呼数がＴＨ２呼以上の場合はＶｉｎｔ３を次回のベリファイ周期値とする。ここで保持したベリファイ周期値は、図２のフローのステップ１２において設定される値である。
【００４２】
着信の頻度に関係なく、一律同じ周期でベリファイ処理を行う場合、図５に示すようにＲＡＭ破壊の発生するタイミングとベリファイ処理の実行タイミングとの関係により、着信不可能な状態が長い間継続してしまうことが懸念される。ワーストケースとして、ベリファイ処理実施直後にＲＡＭ破壊が生じた場合、次周期におけるベリファイ処理により復旧するまでの間、着信不可能な状態が継続することとなる。
【００４３】
本願は、図６に示すように着信の頻度に応じてベリファイ動作の周期を変更することで、着信の多い時間帯にベリファイ処理の実行タイミングを増やし、ＲＡＭ破壊に起因する不完了呼の数を減らすという効果がある。即ち、着信の多い時間帯において、ＲＡＭ破壊から次周期のベリファイ処理までの間隔をより短くすることで、着信不可能な時間を短縮し、着信できない呼を可能な限り救済するものである。
【００４４】
また、例えば、1日あたりのベリファイ処理の実行回数の総和を変えることなく、着信が集中する時間帯にベリファイ動作の実行タイミングを偏らせることができる。これにより、ベリファイ処理実行をこまめに行うことで無駄に電力を消費してしまうという事態を回避し、効率的にベリファイ処理を行うことができる。
【００４５】
さらには、例えば、折り畳み式の携帯電話端末において、筐体を閉じる動作やユーザ操作に基づく消費電力モードへの移行をベリファイ処理のトリガーとすることも可能である。
【００４６】
上述した実施の形態では、携帯電話を例にして説明したが、複数のＣＰＵを有し、一方のＣＰＵに用意された不揮発性メモリに、他のＣＰＵのためのプログラムが保持され、他のＣＰＵが動作する際には他のＣＰＵに用意された揮発性メモリに当該プログラムが読み出されるものであれば適用可能であり、特にチップサイズを小さくすることを求められる携帯端末であれば好適である。
【００４７】
また、頻度の検出方法として着信を例に説明したが、読み出されたプログラムを保持している揮発性メモリへのアクセス頻度を用いてベリファイの周期を決定してもよい。
【図面の簡単な説明】
【００４８】
【図１】本発明の携帯電話の構成を示す図である。
【図２】本発明の携帯電話の制御フローを示す図である。
【図３】本発明における次周期のベリファイ周期値の決定フローを示す図である。
【図４】本発明における単位時間当たりの着信呼数から次周期のベリファイ周期値を                得るためのテーブルを示す図である。
【図５】本発明において定周期でベリファイ動作を行う場合のタイミングチャートで            ある。
【図６】本発明において着信の頻度によりベリファイ動作の周期を変更する場合のタ            イミングチャートである。
【符号の説明】
【００４９】
１  携帯電話
１０  ＣＣＰＵ
１１  ＲＡＭ
１３  ベリファイ回路
１５  処理回路
１７  システムバス
２０  ＡＣＰＵ
２１  ＲＡＭ
２２  ＲＯＭ
２４  割り込み処理回路
２６  タイマ
２７  システムバス
３０  転送回路
３７  外部バス
４０  電池
５０  ボタン
６０  画面
７０  スイッチ
【図１】
2009181158.tif 000003
【図２】
2009181158.tif 000004
【図３】
2009181158.tif 000005
【図４】
2009181158.tif 000006
【図５】
2009181158.tif 000007
【図６】
2009181158.tif 000008