(57)【要約】【課題】リテンション不良の発生を自律的に防止する機能を備えたストレージデバイスを提供する。【解決手段】ストレージデバイス１に実装されたプラットフォーム型ＯＳ１１０には、ＥＥＰＲＯＭ１２をリフレッシュするリフレッシュモジュール１１１が備えられている。リフレッシュモジュール１１１は、ストレージデバイス１が活性化されると作動し、コマンド待ちの状態を利用して、ＥＥＰＲＯＭ１２に記憶されたアプレット１２１をリフレッシュする。リフレッシュモジュール１１１が、ＥＥＰＲＯＭ１２に記憶されたアプレット１２１をリフレッシュするときは、アプレット１２１が記憶されているＥＥＰＲＯＭ１２の領域内のデータを１バイトづつ読取り、データを読取ったアドレスに上書きする。【選択図】図２
2009099185.tif 000002
【特許請求の範囲】
【請求項１】
機器に組込まれて利用されるストレージデバイスにおいて、前記ストレージデバイスは、電荷を注入することによってデータを保持する不揮発性メモリを備え、更に、前記ストレージデバイスは、前記ストレージデバイスが活性化された後に自律的に作動し、前記不揮発性メモリの所定領域に記憶されたデータを、定められたバイト数づつ読取り、読取ったデータを同じアドレスに再書込みするリフレッシュ手段を備えていることを特徴とするストレージデバイス。
【請求項２】
請求項１に記載のストレージデバイスであって、前記リフレッシュ手段が、前記不揮発性メモリの所定領域に記憶されたデータを再書込みしている間に、前記機器から送信されたコマンドを受信したとき、前記リフレッシュ手段は、データの再書込みを中断し、前記コマンドの処理が完了した後に、データの再書込みを再開することを特徴とするストレージデバイス。
【請求項３】
請求項１或いは請求項２に記載のストレージデバイスであって、前記リフレッシュ手段は、前記不揮発性メモリの所定領域すべてのデータを再書込みした後に、前記不揮発性メモリの所定領域すべてのデータを再書込みしたことを示すフラグを揮発性メモリにセットし、前記フラグがセットされているときはデータの再書込みする動作を実行しないことを特徴とするストレージデバイス。
【請求項４】
請求項１から請求項３のいずれか一つに記載のストレージデバイスであって、前記リフレッシュ手段は、数バイトづつデータを再書込みした後に、次にデータを再書込みするアドレスを前記不揮発性メモリに記憶しておき、活性化後にデータの再書込みを開始するときは、前記不揮発性メモリに記憶しているアドレスから、データの再書込みを開始することを特徴とするストレージデバイス。
【請求項５】
請求項１から請求項４のいずれか一つに記載のストレージデバイスであって、前記ストレージデバイスは、プラットフォーム型オペレーティングシステムを有するマルチアプリケーションＩＣカード用ＩＣチップがパッケージ化されたデバイスであって、前記リフレッシュ手段がリフレッシュする前記不揮発性メモリの所定領域は、前記プラットフォーム型オペレーティングシステム上で動作するアプリケーションが記憶された領域であることを特徴とするストレージデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気的に書換え可能な不揮発性メモリを備えたデバイスであるストレージデバイスに関し、更に詳しくは、ストレージデバイスに備えられた不揮発性メモリをリフレッシュする技術に関する。
【背景技術】
【０００２】
半導体集積回路であるＩＣチップが実装されたＩＣカード（或いは、ＳＩＭ）は、定期券に代表される交通機関用途や、キャッシュカード・クレジットカードに代表される金融機関用途に利用されているが、監視カメラ（例えば、特許文献１）などの機器に組込まれて利用されるケースも増えている。
【０００３】
ＩＣカードに実装されるＩＣチップには、データを記憶するために、電気的に書換え可能な不揮発性メモリとしてＥＥＰＲＯＭが備えられ、ＪＡＶＡ（登録商標）に代表されるプラットフォーム型オペレーティングシステムが実装されたマルチアプリケーションＩＣカードにおいては、データに加え、アプレットなどのプログラムコードもこのＥＥＰＲＯＭに記憶される。
【０００４】
ＥＥＰＲＯＭにおいては、メモリセルに電荷を注入することで、電源を切ってもデータは保持されるが、メモリセルに注入された電荷は時間と共に減少するため、時間が経過すると、ＥＥＰＲＯＭにリテンション（電荷保持）不良が発生するため、機器の動作保障期間前にリテンション不良が発生すると、ＥＥＰＲＯＭに記憶されたプログラムコードが利用できなくなってしまう可能性があった。
【０００５】
【特許文献１】特開２００６−２８７８５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
一般的に、ＥＥＰＲＯＭにデータを保持できるリテンション時間は、数年から１０年程度とされているが、ＥＥＰＲＯＭの利用条件（例えば、温度条件）によっては、このリテンション時間は短くなる傾向があるため、監視カメラなどの機器などにＩＣカードが組込まれて利用される場合、ＥＥＰＲＯＭにリテンション不良が発生する可能性は高くなるが、ＩＣカード自身には、ＥＥＰＲＯＭをリフレッシュする機能は備えられていなかった。
【０００７】
そこで、本発明は、機器に組込まれて利用されるＩＣカードのように、外部から受信したデータをＥＥＰＲＯＭなどの不揮発性メモリに記憶する機能を備えたストレージデバイスにおいて、リテンション不良の発生を自律的に防止する機能を備えたストレージデバイスを提供すること目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決する第１の発明は、機器に組込まれて利用されるストレージデバイスにおいて、前記ストレージデバイスは、電荷を注入することによってデータを保持する不揮発性メモリを備え、更に、前記ストレージデバイスは、前記ストレージデバイスが活性化された後に自律的に作動し、前記不揮発性メモリの所定領域に記憶されたデータを、定められたバイト数づつ読取り、読取ったデータを同じアドレスに再書込みするリフレッシュ手段を備えていることを特徴とする。
【０００９】
第１の発明に記載のストレージデバイスの前記リフレッシュ手段が、前記不揮発性メモリの所定領域内に記憶されたデータを再書込みすることで、前記不揮発性メモリの所定領域の電荷は再注入されるため、前記不揮発性メモリの所定領域内においてリテンション不良が発生することを自律的に防止できる。
【００１０】
なお、ここで、電荷を注入することによってデータを保持する不揮発性メモリとは、電気的に書換え可能な不揮発性メモリを意味し、具体的には、ＥＥＰＲＯＭやＦＲＡＭなどのメモリを意味する。
【００１１】
更に、第２の発明は、第１の発明に記載のストレージデバイスであって、前記リフレッシュ手段が、前記不揮発性メモリの所定領域に記憶されたデータを再書込みしている間に、前記機器から送信されたコマンドを受信したとき、前記リフレッシュ手段は、データの再書込みを中断し、前記コマンドの処理が完了した後に、データの再書込みを再開することを特徴とする。
【００１２】
第２の発明によれば、コマンド処理を未実行であるときを利用して、前記不揮発性メモリの所定領域のリフレッシュを行うことができるようになる。
【００１３】
更に、第３の発明は、第１の発明或いは第２の発明に記載のストレージデバイスであって、前記リフレッシュ手段は、前記不揮発性メモリの所定領域すべてのデータを再書込みした後に、前記不揮発性メモリの所定領域すべてのデータを再書込みしたことを示すフラグを揮発性メモリにセットし、前記フラグがセットされているときはデータの再書込する動作を実行しないことを特徴とする。
【００１４】
第３の発明によれば、前記リフレッシュ手段が前記フラグを利用してデータの再書込みを制御することで、機器に組込まれて利用されている間、前記不揮発性メモリの所定領域のデータを再書込みする動作が繰返し実行されることを防止できる。
【００１５】
更に、第４の発明は、第１の発明から第３の発明のいずれか一つに記載のストレージデバイスであって、前記リフレッシュ手段は、数バイトづつデータを再書込みした後に、次にデータを再書込みするアドレスを前記不揮発性メモリに記憶しておき、活性化後にデータの再書込みを開始するときは、前記不揮発性メモリに記憶しているアドレスから、データの再書込みを開始することを特徴とする。
【００１６】
第４の発明によれば、前記不揮発性メモリに記憶しているアドレスからデータの再書込みを開始することで、次回、データの再書込みを実行するとき、データの再書込みが終了した次のアドレスから開始することが可能になる。
【００１７】
更に、第５の発明は、第１の発明から第４の発明のいずれか一つに記載のストレージデバイスであって、前記ストレージデバイスは、プラットフォーム型オペレーティングシステムを有するマルチアプリケーションＩＣカード用ＩＣチップがパッケージ化されたデバイスであって、前記リフレッシュ手段がリフレッシュする前記不揮発性メモリの所定領域は、前記プラットフォーム型オペレーティングシステム上で動作するアプリケーションが記憶された領域であることを特徴とする。
【００１８】
第５の発明によれば、前記プラットフォーム型オペレーティングシステム上で動作するアプリケーションのプログラムコードをもリフレッシュすることができるようになる。
【発明の効果】
【００１９】
上述した本発明によれば、機器に組込まれて利用されるＩＣカードのように、外部から受信したデータをＥＥＰＲＯＭなどの不揮発性メモリに記憶する機能を備えたストレージデバイスにおいて、リテンション不良の発生を自律的に防止する機能を備えたストレージデバイスを提供できる。
【発明を実施するための最良の形態】
【００２０】
ここから、本発明に係るストレージデバイス１について、図を参照しながら詳細に説明する。図１は、本実施の形態におけるストレージデバイス１が実装されるデータ記録用ボード２を説明する図である。データ記録用ボード２には、データ記録用ボード２を制御するＣＰＵ２０や、ＣＰＵ２０を動作させるためのコンピュータプログラムが記憶されたメモリ２２や、温度などを測定するセンサ２１に加え、本発明に係るストレージデバイス１が実装されている。
【００２１】
本実施の形態におけるストレージデバイス１は、ＩＣカードに実装されるＩＣチップをＳＯＰ８パッケージにて表面実装したデバイスで、このストレージデバイス１には、データ記録用ボード２に搭載されセンサ２１が定期的に測定した測定データが記憶される。
【００２２】
データ記録用ボード２のＣＰＵ２０は、定期的（例えば、５分）にセンサ２１から測定データを取得し、ストレージデバイス１のメモリに取得したデータを書き込むコマンドメッセージを生成し、生成したコマンドメッセージをストレージデバイス１に送信する。
【００２３】
ストレージデバイス１は、上述したコマンドメッセージに含まれる測定データを暗号化してメモリ（ここでは、ＥＥＰＲＯＭ）に書込み、ストレージデバイス１のメモリに記録された測定データは、ストレージデバイス１をボードから取り外されて、ＰＣなどでその内容がチェックされる。
【００２４】
このように、ストレージデバイス１には定期的にしかコマンドメッセージが送信されないため、本発明に係るストレージデバイス１は、コマンドメッセージが送信されない時間を利用し、ストレージデバイス１のメモリを自律的にリフレッシュする機能を備えている。
【００２５】
図２は、本実施の形態に係るストレージデバイス１のブロック図である。図２に図示したように、ストレージデバイス１には、データ記録用ボード２と通信するためのＵＡＲＴ１４（例えば、ＩＳＯ７８１６−３のＵＡＲＴ）と、ストレージデバイス１全体を制御するＣＰＵ１０と、不揮発性メモリであるＲＯＭ１１と、揮発性メモリであるＲＡＭ１３と、電気的に書換え可能な不揮発性メモリであるＥＥＰＲＯＭ１２を備えている。
【００２６】
ストレージデバイス１のＲＯＭ１１には、ストレージデバイス１のＣＰＵ１０を動作させるためのプログラムとして、ＪＡＶＡ（登録商標）に代表されるプラットフォーム型オペレーティングシステム（ＯＳ）１１０が実装されている。
【００２７】
ストレージデバイス１のＥＥＰＲＯＭ１２は、プラットフォーム型ＯＳ１１０が利用する領域であるＯＳ領域１２ａと、アプレット１２１が記録されるアプレット領域１２ｂに分割され、ＥＥＰＲＯＭ１２のＯＳ領域１２ａには、アドレスポインタ保持部１２０が設けられている。
【００２８】
ＥＥＰＲＯＭ１２に設けられるアドレスポインタ保持部１２０とは、リフレッシュを開始するＥＥＰＲＯＭ１２のアドレスを示すアドレスポインタの値を記憶するために設けられた領域である。
【００２９】
ＥＥＰＲＯＭ１２のアプレット領域１２ｂには、プラットフォーム型ＯＳ１１０上で動作するアプレット１２１が記憶され、本実施の形態においてアプレット１２１は、データ記録用ボード２に搭載されセンサ２１が一定時間毎に測定した測定データをＥＥＰＲＯＭ１２に記録する測定データ記録アプリケーションで、アプレット領域１２ｂには、アプレット１２１に加え、測定データを記録するためのデータファイル１２２が記憶されている。
【００３０】
本実施の形態に係るストレージデバイス１のように、機器に組込まれて利用される場合、クレジットカードなどと比較して、長期間（例えば、１０年）の動作保証が要求される。
【００３１】
ストレージデバイス１のＲＯＭ１１にプログラムコードが記憶されていれば、ＲＯＭ１１に記録されたプログラムコードが時間に依存して消えることはないが、ストレージデバイス１のＥＥＰＲＯＭ１２にプログラムコード（ここでは、アプレット１２１）が記憶されているため、ＥＥＰＲＯＭ１２の特性により、ストレージデバイス１の動作保証期間が経過する前に、ＥＥＰＲＯＭ１２にリテンション不良が発生してしまい、アプレット１２１が動作しなくなる恐れがある。
【００３２】
そこで、本実施の形態に係るプラットフォーム型ＯＳ１１０には、ＥＥＰＲＯＭ１２に記憶されたアプレット１２１を自律的にリフレッシュするリフレッシュモジュール１１１が備えられている。
【００３３】
なお、ＥＥＰＲＯＭ１２に記録されるデータファイル１２２の内容は、データ記録ボード２が測定を開始するごとに、内容が書換えられるため、ＥＥＰＲＯＭ１２のデータファイル１２２の領域にリテンション不良が発生する可能性は低く、リフレッシュモジュール１１１はデータファイル１２２の領域に対してリフレッシュを行わない。
【００３４】
プラットフォーム型ＯＳ１１０は、アプレット１２１をＥＥＰＲＯＭ１２のアプレット領域１２ｂにロードするとき、アプレット１２１を記憶したＥＥＰＲＯＭ１２の領域として、アプレット１２１が記憶されたＥＥＰＲＯＭ１２の先頭のアドレスと末尾のアドレスを記憶しておき、リフレッシュモジュール１１１は、アプレット１２１が記憶されているＥＥＰＲＯＭ１２の領域すべてをリフレッシュする。
【００３５】
ここから、ストレージデバイス１の動作について詳細に説明する。図３は、データ記録用ボード２がストレージデバイス１に測定データを記録する手順を示したフロー図で、図４は、ストレージデバイス１がリフレッシュ動作する手順を示したフロー図である。
【００３６】
まず、図３を参照しながら、データ記録用ボード２が測定データをストレージデバイス１に記録する手順について説明する。データ記録用ボード２がストレージデバイス１に測定データを記録する動作を開始すると、データ記録用ボード２のＣＰＵ２０はストレージデバイス１を定められた手順に従い活性化し、測定データ記録アプリケーションであるアプレット１２１を選択する（Ｓ１）。
【００３７】
データ記録用ボード２のＣＰＵ２０は、ストレージデバイス１を活性化し、アプレット１２１を選択すると、データ記録用ボード２のＣＰＵ２０は、センサ２１から測定データを取得し（Ｓ２）、データ記録用ボード２のＣＰＵ２０は、センサ２１から取得した測定データをストレージデバイス１のＥＥＰＲＯＭ１２に書き込むためのコマンドメッセージを生成し、生成したコマンドメッセージをストレージデバイス１に送信する（Ｓ３）。
【００３８】
測定データを含むコマンドメッセージをストレージデバイス１が受信すると、ストレージデバイス１のアプレット１２１は、コマンドメッセージに含まれる測定データを暗号化し、暗号化した測定データをＥＥＰＲＯＭ１２のデータファイル１２２に書き込み、受信したコマンドメッセージに対するレスポンスメッセージをデータ記録用ボード２に返信する（Ｓ４）。
【００３９】
レスポンスメッセージをストレージデバイス１から受信すると、データ記録用ボード２のＣＰＵ２０は、測定データの記録の継続、或いは、終了の判断する（Ｓ５）。測定をした時間が設定時間に達した場合や、ストレージデバイス１のＥＥＰＲＯＭ１２容量が不足している場合など、測定データの記録を終了する条件が成立しているとき、データ記録用ボード２のＣＰＵ２０は測定データの記録を終了すると判断し、この手順を終了する。
【００４０】
また、データ記録用ボード２のＣＰＵ２０は、測定データの記録を終了する条件が成立していないときはＳ６に進み、データ記録用ボード２のＣＰＵ２０は一定時間を計測し（Ｓ６）、一定時間が経過するとＳ２に戻り、ストレージデバイス１に記録させる測定データをセンサ２１から取得する。
【００４１】
このように、データ記録用ボード２からストレージデバイス１には、一定時間間隔ごとにしかコマンドメッセージが送信されないため、この一定時間間隔を利用して、ストレージデバイス１は、ＥＥＰＲＯＭ１２に記録されたアプレット１２１のリフレッシュを行う。
【００４２】
ここから、図４を参照しながら、ストレージデバイス１が実行するリフレッシュについて説明する。図３のＳ１が実行されることで、ストレージデバイス１は活性化されると、ストレージデバイス１に実装されたプラットフォーム型ＯＳ１１０が起動する（Ｓ１０）。
【００４３】
ストレージデバイス１のプラットフォーム型ＯＳ１１０は初期化処理を終了すると、ＵＡＲＴ１４がコマンドメッセージを受信したときに、実行している処理を中断し、コマンドの実行モジュールにジャンプするコマンド受信の割込みをセットして、リフレッシュモジュール１１１を呼出す（Ｓ１１）。
【００４４】
リフレッシュモジュール１１１は呼出されると初期化処理を実行する（Ｓ１２）。本実施の形態では、ストレージデバイス１のリフレッシュモジュール１１１は、初期化処理として、状態がＯＦＦである完了フラグと、ＥＥＰＲＯＭ１２のアドレスポインタ保持部１２０から読出した値がセットされたアドレスポインタと、アドレスポインタ保持部１２０から読出した値であるスタートアドレスとを、ストレージデバイス１のＲＡＭ１３に設ける。
【００４５】
ストレージデバイス１のリフレッシュモジュール１１１は、初期化処理を終了すると、ＥＥＰＲＯＭ１２をリフレッシュする動作を開始し、この動作の最初で、リフレッシュモジュール１１１は完了フラグを確認する（Ｓ１３）。完了フラグがＯＦＦならばＳ１４に進み、完了フラグがＯＮならばＳ２１に進み、Ｓ２１では、リフレッシュモジュール１１１はリフレッシュの動作を行わず、ＣＰＵが何の処理も実行していないＣＰＵアイドル状態になり、ストレージデバイス１で実行される処理は、コマンド受信待ちだけになる。
【００４６】
完了フラグがＯＦＦの場合、ストレージデバイス１のリフレッシュモジュール１１１は、アドレスポインタで示されるアドレスに対してリフレッシュを実行する（Ｓ１４）。リフレッシュモジュール１１１は、アドレスポインタで示されるＥＥＰＲＯＭ１２のアドレスから１バイトのデータを読み出し、読み出した１バイトのデータを同じアドレスに上書きすることで、１バイトのデータをリフレッシュする。
【００４７】
アドレスポインタで示されるアドレスに対してリフレッシュを実行すると、ストレージデバイス１のリフレッシュモジュール１１１は、アドレスポインタを１つだけインクリメントする（Ｓ１５）。
【００４８】
ストレージデバイス１のリフレッシュモジュール１１１は、アドレスポインタをインクリメントすると、インクリメント後のアドレスポインタの値を確認し（Ｓ１６）、アドレスポインタの値がアプレットの末尾アドレスを超えているときは、アドレスポインタの値をアプレットの先頭アドレスに更新し（Ｓ１７）、アドレスポインタの値がアプレットの末尾アドレスを超えていないときは、アドレスポインタを更新することなくＳ１８に進む。
【００４９】
Ｓ１８では、リフレッシュモジュール１１１は、ＥＥＰＲＯＭ１２に設けられたアドレスポインタ保持部１２０をアドレスポインタの値に更新し（Ｓ１８）、アドレスポインタ保持部１２０を更新すると、リフレッシュモジュール１１１は、アドレスポインタの値がスタートアドレスと一致するか確認する（Ｓ１９）。
【００５０】
アドレスポインタの値がスタートアドレスと一致しているときは、Ｓ２０に進み、リフレッシュモジュール１１１は完了フラグをＯＮにセットし（Ｓ２０）、完了フラグをＯＮにセットするとＳ１３に戻る。また、アドレスポインタの値がスタートアドレスと一致していないときは、完了フラグをＯＮにセットすることなく、Ｓ１３に戻る。
【００５１】
このように、Ｓ１４およびＳ１５の処理が繰返し実行されること、ＥＥＰＲＯＭ１２に記憶されたアプレット１２１はリフレッシュされる。
【００５２】
Ｓ１１でコマンド受信の割込みをセットした後、ストレージデバイス１のプラットフォーム型ＯＳ１１０がコマンドメッセージを受信すると（Ｓ３０）、コマンド受信の割込みの機能により、リフレッシュモジュール１１１の処理は中断し、受信したコマンドメッセージに対応するコマンド処理（ここでは、測定データを暗号化してＥＥＰＲＯＭ１２に書き込み処理）が実行され（Ｓ３１）、コマンド処理が終了すると、中断した箇所からリフレッシュモジュール１１１の処理が再開される。
【００５３】
更に、データ記録用ボード２からストレージデバイス１を非活性化する処理が実行されると（Ｓ４０）、図４で図示した手順は終了する。
【００５４】
このように、図４で図示した手順が実行されることで、ストレージデバイス１のＥＥＰＲＯＭ１２においてアプレット１２１が記憶されている領域はリフレッシュされ、更に、一度リフレッシュした後は、リフレッシュ動作が繰返し実行されることはない。
【００５５】
なお、本発明は、これまで説明した実施の形態に限定されることなく、種々の変形や変更が可能である。例えば、本実施の形態では、アプレット１２１が記憶されているＥＥＰＲＯＭの領域のみをリフレッシュしていたが、アプレット１２１がデータファイル１２２を含んでいる場合は、データファイル１２２を含めアプレット１２１すべてをリフレッシュしてもよい。
【００５６】
また、本実施の形態においてストレージデバイス１はＳＯＰ８のパッケージとしているが、ストレージデバイス１は、通常のＩＣカード或いはＳＩＭの形状であっても構わない。
【図面の簡単な説明】
【００５７】
【図１】ストレージデバイスが実装されるデータ記録用ボードを説明する図。
【図２】ストレージデバイスのブロック図。
【図３】ストレージデバイスに測定データを記録する手順を示したフロー図。
【図４】ストレージデバイスがリフレッシュ動作する手順を示したフロー図。
【符号の説明】
【００５８】
１  ストレージデバイス
１０  ＣＰＵ
１１  ＲＯＭ
１１０  プラットフォーム型ＯＳ
１２  ＥＥＰＲＯＭ
１２ａ  ＯＳ領域、１２ｂ  アプレット領域
１２０  アドレスポインタ保持部
１２１  アプレット
１２２  データファイル
２  データ記録用ボード
２０  ＣＰＵ
２１  センサ
【図１】
2009099185.tif 000003
【図２】
2009099185.tif 000004
【図３】
2009099185.tif 000005
【図４】
2009099185.tif 000006