(57)【特許請求の範囲】
【請求項１】
装置の電源が遮断されたとき、バックアップ用バッテリーから動作電源を供給して前記装置の処理データが格納された揮発性メモリからデータを読み出し、不揮発性メモリに書き込みを行わせるデータバックアップ方法であって、
前記装置の電源遮断時に前記不揮発性メモリの第１の領域へのアクセス時間を計測し、このアクセス時間が所定の閾値を超えたとき、前記不揮発性メモリの第２の領域にアクセスを行わせるとともに次回の電源遮断時に前記第２の領域にアクセスを行わせるように設定することを特徴としたデータバックアップ方法。
【請求項２】
請求項１に記載のデータバックアップ方法において、
前記所定の閾値として第１の閾値より大きい第２の閾値を設け、アクセス時間が前記第１の閾値を越えた場合、フラッシュメモリの前記第１の領域へのアクセスをそのまま続けるとともに、前記第２の閾値を越えた場合、前記第１の領域へのアクセスを中断して前記第２の領域にアクセスすることを特徴としたデータバックアップ方法。
【請求項３】
請求項１または請求項２に記載のデータバックアップ方法において、
前記第１の閾値を超えた回数をカウンタし、この回数が所定の閾値を越えた場合、次回の電源遮断時に前記第２の領域にアクセスさせるように設定することを特徴としたデータバックアップ方法。
【請求項４】
装置の電源が遮断されたとき、バックアップ用バッテリーから動作電源を供給して前記装置の処理データが格納された揮発性メモリからデータを読み出し、第１、第２の不揮発性メモリに書き込みを行わせるデータバックアップ方法であって、
前記装置の電源遮断時に前記第１の不揮発性メモリの領域へのアクセス時間を計測し、このアクセス時間が所定の閾値を超えたとき、前記第２の不揮発性メモリの領域にアクセスさせることを特徴としたデータバックアップ方法。
【請求項５】
請求項４に記載のデータバックアップ方法において、
前記装置の電源遮断時に前記第１の不揮発性メモリの領域へのアクセス時間を計測し、このアクセス時間が所定の閾値を超えたとき、前記第２の不揮発性メモリの領域にアクセスを行わせるとともにアクセスが早く完了したいずれかの前記不揮発性メモリを次回の電源遮断時にアクセスさせるように設定することを特徴としたデータバックアップ方法。
【請求項６】
装置の通常の処理データが格納される揮発性メモリと、前記揮発性メモリのデータを保持する不揮発性メモリと、前記装置の電源遮断時に前記揮発性メモリのデータを読み出し、前記不揮発性メモリに書き込みを行わせる制御素子と、前記装置の電源が遮断されたとき、前記不揮発性メモリおよび前記制御素子に動作電源を供給するバックアップ用バッテリーとを備え、
前記制御素子は、前記装置の電源遮断時に前記不揮発性メモリの第１の領域へのアクセス時間を計測し、このアクセス時間が所定の閾値を超えたとき、前記不揮発性メモリの別の第２の領域にアクセスを行わせるとともに次回の電源遮断時に前記第２の領域にアクセスさせるように設定することを特徴としたデータバックアップ装置。
【請求項７】
装置の通常の処理データが格納される揮発性メモリと、前記揮発性メモリのデータを保持する第１、第２の不揮発性メモリと、前記装置の電源遮断時に前記揮発性メモリのデータを読み出し、前記第１、第２の不揮発性メモリに書き込みを行わせる制御素子と、前記装置の電源が遮断されたとき、前記第１、第２の不揮発性メモリおよび制御素子に動作電源を供給するバックアップ用バッテリーとを備え、
前記制御素子は、前記装置の電源遮断時に前記第１の不揮発性メモリの領域へのアクセス時間を計測し、このアクセス時間が所定の閾値を超えたとき、前記第２の不揮発性メモリの領域にアクセスさせることを特徴としたデータバックアップ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信制御装置や情報処理装置などの組込み装置において、装置電源が遮断された時にデータのバックアップを可能とするデータバックアップ方法およびデータバックアップ装置に関するものである。
【背景技術】
【０００２】
従来の通信制御装置や情報処理装置などを組込んだ装置においては、装置の電源が遮断された時にもＳＲＡＭ(Static Random Access Memory)などの揮発性メモリのデータが失われないように、バックアップ用バッテリーによって電流をＳＲＡＭに供給することによって、データを保持する技術が知られている。
しかしながら、バッテリーによるデータ保持電流にも限りがあるため、データを永久的に保持することはできない。そこで、不揮発性メモリであるフラッシュメモリとこのフラッシュメモリを制御するＦＰＧＡ（Field-Programmable Gate Array）などの制御素子とこれらに電源を供給するバックアップ用バッテリーとを用い、装置の電源遮断時にバックアップ用バッテリーから電源を供給してＳＲＡＭのデータをフラッシュメモリに格納させることによって、フラッシュメモリに半永久的にデータを保持させる技術が用いられている。
【０００３】
一方で、不揮発性メモリであるフラッシュメモリには、
１）ビット又はバイト単位の消去ができず、セクタ単位で消去しなければならない
２）消去できる回数には寿命上の限度がある
３）寿命の限度に近付くとアクセスに要する処理時間が長くなっていく
という特性があるため、書き換え箇所が一部の領域に集中した場合には、フラッシュメモリが早く寿命に達してしまい、データの破壊や、バックアップ制御時間の増加が問題になる可能性がある。
このため、従来、フラッシュメモリへの書込み回数をカウントすることによって寿命確認をしておき、書込み回数がある閾値に達すると、フラッシュメモリの未使用領域に新たに書き直すことで、フラッシュメモリが寿命に達しないようにする手法が提案されている（特許文献１）。
また、フラッシュメモリと同様に不揮発性メモリであるハードディスクにおいては、寿命情報に関するデータであるＳＭＡＲＴ（Self-Monitoring Analysis and Reporting Technology）情報を利用することで、ハードディスクの寿命を検知し、データを別の領域に複製する手法が提案されている（特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−２６３１９８号公報
【特許文献２】特開２００７−１１８１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の従来の方法では、寿命確認をした際に、フラッシュメモリへの書込み回数やアクセス時間がある閾値に達していた場合には、その領域への書込み処理を中断して別の領域にデータを書き直す処理が発生するため、書き直しが発生しない場合に比べてバックアップ処理時間が長くなってしまう。このため、長くなるバックアップ処理時間を確保して置くことが必要となり、バックアップ用バッテリーとして電源容量が大きく、高価でサイズの大きなものを必要とし、部品コストが余分にかかるとともに基板の実
装効率が悪くなる、という問題がある。
【０００６】
この発明は、上記のような課題を解決するためになされたもので、電源遮断時のフラッシュメモリへのバックアップ処理時間を短くすることによって、大容量のバックアップ用バッテリーを不要とするデータバックアップ方法およびデータバックアップ装置を提供するものである。
【課題を解決するための手段】
【０００７】
この発明に係るデータバックアップ方法は、装置の電源が遮断されたとき、バックアップ用バッテリーから動作電源を供給して装置の処理データが格納された揮発性メモリからデータを読み出し、不揮発性メモリに書き込みを行わせるデータバックアップ方法であって、装置の電源遮断時に不揮発性メモリの第１の領域へのアクセス時間を計測し、このアクセス時間が所定の閾値を超えたとき、不揮発性メモリの別の第２の領域にアクセスを行わせるとともに次回の電源遮断時に第２の領域にアクセスを行わせるように設定することを特徴としたものである。
【０００８】
また、この発明に係るデータバックアップ装置は、装置の通常の処理データが格納される揮発性メモリと、揮発性メモリのデータを保持する不揮発性メモリと、装置の電源遮断時に揮発性メモリのデータを読み出し、不揮発性メモリに書き込みを行わせる制御素子と、装置の電源が遮断されたとき、不揮発性メモリおよび制御素子に動作電源を供給するバックアップ用バッテリーとを備え、制御素子は、前記装置の電源遮断時に不揮発性メモリの第１の領域へのアクセス時間を計測し、このアクセス時間が所定の閾値を超えたとき、不揮発性メモリの別の第２の領域にアクセスを行わせるとともに次回の電源遮断時に第２の領域にアクセスを行わせるように設定することを特徴としたものである。
【発明の効果】
【０００９】
この発明によれば、フラッシュメモリへのバックアップ処理時間を短くすることが可能となるため、大容量なバックアップ用バッテリーの実装が不要となり、部品コストの削減と基板の実装面積の削減をすることができる。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１に係るデータバックアップ装置のハードウェア構成を示す概要図である。
【図２】この発明の実施の形態１の動作を説明するためのフローチャートである。
【図３】この発明の実施の形態２の動作を説明するためのフローチャートである。
【図４】この発明の実施の形態３に係るデータバックアップ装置のハードウェア構成を示す概要図である。
【図５】この発明の実施の形態３の動作を説明するためのフローチャートである。
【図６】この発明の実施の形態４の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
実施の形態１．
以下、この発明を実施例である図に基づいて詳細に説明する。
図１は、この発明の実施の形態１に係るデータバックアップ装置のハードウェア構成を示す概要図である。
図において、バックアップ用バッテリー１は、通信制御装置や情報処理装置などを組込んだ装置の電源が遮断されたとき、そのデータをバックアップ処理するための電源を供給する。ＳＲＡＭ(Static Random Access Memory)２は、通信制御装置や情報処理装置など
の装置に組み込まれ、通常の処理データが逐次格納される揮発性メモリであり、この処理データがバックアップ対象のデータとなる。ＦＰＧＡ（Field-Programmable Gate Array
）３は、ＳＲＡＭ２および不揮発性メモリであるフラッシュメモリ４にデータバスで接続された制御素子で、装置の電源遮断時にバックアップ用バッテリー１から電源供給を受け、ＳＲＡＭ２から格納されたデータを読み出してフラッシュメモリ４に書き込みを行わせるものである。なお、フラッシュメモリ４にはデータを書き込み保持するための複数の領域（セクタ４１，４２，……，４ｎ）が形成される。
【００１２】
次に、このようなデータバックアップ装置における動作について図２を用いて説明する。
まず、通信制御装置や情報処理装置などの装置の電源遮断が発生すると、ＦＰＧＡ３はＳＲＡＭ２からバックアップ対象のデータを読み出し（ステップＳＴ２０１）、ステップＳＴ２０２において、ＦＰＧＡ３は、フラッシュメモリ４における所定のセクタ（最初は第１のセクタ４１）にアクセスを開始する。このアクセスは、セクタ４１のデータを消去する（イレース）処理とＳＲＡＭ２から読み出したデータを書き込む（ライト）処理である。
【００１３】
ステップＳＴ２０３において、ＦＰＧＡ３は、セクタ４１へのアクセス時間Ｔ１を測定し、アクセス時間Ｔ１が第１段階の閾値αを超えているか否かを判定する。フラッシュメモリは寿命の限度が近付くとアクセスに要する処理時間が長くなっていく特性があるため、通常はアクセス時間Ｔ１が閾値αを超えることはなく、ステップＳＴ２０３でＮｏとなり、ステップＳＴ２０４へ移行してセクタ４１へのアクセスが完了しているかどうかを確認する。
セクタ４１へのアクセスが完了していなければ（ステップＳＴ２０４でＮｏ）、ステップＳＴ２０３に戻り、アクセスが完了するまでのアクセス時間Ｔ１が閾値αを超えているかどうかを判定することになる。
セクタ４１へのアクセスが完了していれば（ステップＳＴ２０４でＹｅｓ）、ステップＳＴ２０５で、セクタ４１を次回アクセス時のセクタとして設定し、バックアップ処理を終了する。
【００１４】
次に、ステップＳＴ２０３において、アクセス時間Ｔ１が閾値αを超えていた場合（Ｙｅｓ）、セクタ４１は寿命が近づいていると判断できるが、さらにステップＳＴ２０６でアクセス時間Ｔ１がより寿命が短いと判断できる第２段階の閾値β（β＞α）を超えているかを判断する。
ここで、アクセス時間Ｔ１が閾値βも超えていた場合（ステップＳＴ２０６でＹｅｓ）、セクタ４１は寿命が限界にあると判断し、ステップＳＴ２０９で、セクタ４１へのアクセスを中断処理する。その後、ステップＳＴ２１０で、フラッシュメモリ４の別の領域である第２のセクタ４２にアクセスを開始し、セクタ４２へのアクセスが完了すると、ステップＳＴ２１１にて、寿命が限界にあるセクタ４１ではなく、セクタ４２を次回アクセス時のセクタに設定して、バックアップ処理を終了する。
【００１５】
ところで、フラッシュメモリ４は、寿命の限度が近づくとアクセスに要する処理時間が長くなっていく特性があり、アクセス時間Ｔ１が閾値αを超えたとしても閾値βを超えない場合（ステップＳＴ２０６でＮｏ）が殆どである。このため、ステップＳＴ２０７でセクタ４１へのアクセスが完了しているかどうかを確認し、セクタ４１へのアクセスが完了していなければ（ステップＳＴ２０７でＮｏ）、改めてステップＳＴ２０６で、アクセス時間Ｔ１が閾値βを超えているかどうかを判定するが、セクタ４１へのアクセスが完了していれば（ステップＳＴ２０７でＹｅｓ）、ステップＳＴ２０８で、寿命が近づいているセクタ４１ではなく、第２のセクタ４２を次回アクセス時のセクタに設定して、バックアップ処理を終了する。
【００１６】
このようにしてフラッシュメモリ４に記録されたバックアップデータは、通信制御装置や情報処理装置などを組込んだ装置の電源が復旧したとき、フラッシュメモリ４から読み出されてＳＲＡＭ２に格納され、電源遮断前のデータに基づいて通常の処理を行わせることが可能になる。
なお、フラッシュメモリ４は、セクタ４２が上記と同様に寿命に近づいていると判断されると、セクタ４３に切り替え、順次セクタ４ｎの領域まで切り替えて使用することができる。
【００１７】
このように、実施の形態１では、装置の電源遮断時に不揮発性メモリの第１の領域へのアクセス時間を計測し、このアクセス時間が所定の閾値を超えたとき、不揮発性メモリの別の第２の領域にアクセスを行わせるとともに次回の電源遮断時に第２の領域にアクセスを行わせるように設定することにより、フラッシュメモリへのバックアップ処理のトータルの時間を短くすることができる。
また、所定の閾値として第１の閾値より大きい第２の閾値を設け、アクセス時間が第１の閾値を越えた場合、フラッシュメモリの第１の領域へのアクセスをそのまま続けるとともに、第２の閾値を越えた場合、第１の領域へのアクセスを中断して第２の領域にアクセスすることによってアクセス中断処理の時間と再アクセスの時間を削減することが可能になり、フラッシュメモリへのバックアップ処理のトータルの時間を短くすることができる。
【００１８】
実施の形態２．
次に、この発明の実施の形態２について図３を用いて説明する。なお、実施の形態２におけるデータバックアップ装置のハードウェア構成は、図１と同一である。
まず、装置の電源遮断が発生すると、実施の形態１のＳＴ２０１〜ＳＴ２０５と同様にステップＳＴ３０１〜ＳＴ３０５を実行し、セクタ４１へのアクセス時間Ｔ１が閾値αを超えない場合、そのままセクタ４１にアクセスを続けて終了する。
ステップＳＴ３０３において、セクタ４１へのアクセス時間Ｔ１が閾値αを超えていた場合（ステップＳＴ３０３でＹｅｓ）、ステップＳＴ３０６にてＦＰＧＡ３はアクセス時間Ｔ１が閾値αを超えた回数のカウントを「１」増加し、ステップＳＴ３０７へ移行する。
【００１９】
ステップＳＴ３０７では、セクタ４１へのアクセス時間Ｔ１が閾値βを超えたか否かを判定し、閾値βを超えた場合には、セクタ４１は寿命が限界であると判断してセクタ４１へのアクセスを中断処理した後（ＳＴ３０８）、別の領域である第２のセクタ４２へアクセスを変更し、寿命が限界であるセクタ４１ではなく、セクタ４２を次回アクセス時のセクタに設定して、バックアップ処理を終了する。
これらのＳＴ３０８〜ＳＴ３１０は、実施の形態１におけるステップＳＴ２０９〜ＳＴ２１１と同様である。
【００２０】
次に、ステップＳＴ３０７でセクタ４１へのアクセス時間Ｔ１が閾値βを超えずにセクタ４１へのアクセスが完了した場合には（ステップＳＴ３１１でＹｅｓ）、ステップＳＴ３１２で閾値αを超えた回数があらかじめ設定した閾値Ｎ回を超えているかを判定する。閾値Ｎ回を超えていない場合には（ステップＳＴ３１２でＮｏ）、セクタ４１はまだ寿命が残っていると判断し、そのままセクタ４１を次回アクセス時のセクタに設定する。しかし、閾値Ｎ回を超えている場合には（ステップＳＴ３１２でＹｅｓ）、セクタ４１は寿命が限界に近づいていると判断し、セクタ４１ではなく、第２のセクタ４２を次回アクセス時のセクタに設定してバックアップ処理を終了する。
なお、装置の電源が復旧時の動作は、上述の実施形態１と同様であり、その説明を省略する。
【００２１】
このように、実施の形態２では、アクセス時間が第１段階の閾値を超えた回数をカウントすることによって、第１段階の閾値αを超えるとすぐにフラッシュメモリの寿命が限界であると判断しないため、フラッシュメモリをより寿命の上限近くまで利用することが可能となる。
【００２２】
実施の形態３．
図４は、この発明の実施の形態３に係るデータバックアップ装置を示すハードウェア構成図で、図１の構成に加えて第２フラッシュメモリ５を設け、この第２フラッシュメモリ５にバックアップ用バッテリー１から駆動電源を供給するとともにＦＰＧＡ３によって制御されるように構成されている。
【００２３】
次に、この発明の実施の形態３の動作について図５を用いて説明する。
図において、まず、装置の電源遮断が発生すると、実施の形態１のＳＴ２０１〜ＳＴ２０５と同様にステップＳＴ４０１〜ＳＴ４０５を実行し、セクタ４１へのアクセス時間Ｔ１が閾値αを超えない場合、そのままセクタ４１にアクセスを続けて終了する。
ステップＳＴ４０３において、セクタ４１へのアクセス時間Ｔ１が閾値αを超えていた場合（ステップＳＴ４０３でＹｅｓ）、ＦＰＧＡ３は、第２の記憶領域である第２フラッシュメモリ５のセクタ５１へアクセスを開始する（ステップＳＴ４０６）。このとき、第１フラッシュメモリ４のセクタ４１へのアクセスは、継続したままである。
【００２４】
その後、ステップＳＴ４０７及びステップＳＴ４０８で、セクタ４１へのアクセスとセクタ５１へのアクセスのどちらが早く完了するかを判定する。セクタ４１へのアクセスが先に完了した場合には（ステップＳＴ４０７でＹｅｓ）、ステップＳＴ４０９へ移行し、セクタ４１へのアクセス時間Ｔ１が閾値βを超えているか否かを判断する。このとき、セクタ４１へのアクセス時間Ｔ１が閾値βを超えていない場合には（ステップＳＴ４０９でＮｏ）、セクタ４１はまだ寿命が残っていると判断し、そのままセクタ４１を次回アクセス時のセクタに設定する（ステップＳＴ４１０）。
【００２５】
一方、セクタ４１へのアクセス時間Ｔ１が閾値βを超えている場合には（ステップＳＴ４０９でＹｅｓ）、セクタ４１は寿命が限界に近づいていると判断し、ステップＳＴ４１１で、次回アクセス時のセクタとしてセクタ４１ではなく、セクタ５１を設定してバックアップ処理を終了する。また、セクタ５１へのアクセスが先に完了した場合にも（ステップＳＴ４０８でＹｅｓ）、セクタ４１は寿命が限界に近づいていると判断し、セクタ５１を次回アクセス時のセクタに設定してバックアップ処理を終了する（ステップＳＴ４１２）。
【００２６】
このように、実施の形態３では、第１フラッシュメモリに加えて第２フラッシュメモリを備え、第１フラッシュメモリへのアクセス時間が第１段階の閾値を超えた時点で、併行して第２フラッシュメモリへのアクセスを開始するように構成したため、第２段階の閾値を超えたときにその領域へのアクセスを中断処理した後、別の領域にアクセスを開始する実施の形態１の場合に比し、アクセスの中断処理が不要で、しかも併行して第２フラッシュメモリへのアクセスが進んでいることになり、バックアップ処理時間を短くすることができる。
【００２７】
実施の形態４．
次に、この発明の実施の形態４について図６を用いて説明する。なお、実施の形態４におけるデータバックアップ装置のハードウェア構成は、図４と同一である。
図６は、この発明の実施の形態４の動作を説明するためのフローチャートで、図において、ステップＳＴ５０１〜ＳＴ５０５は、実施の形態３におけるＳＴ４０１〜ＳＴ４０５と同様であり、第１フラッシュメモリ４のセクタ４１へのアクセス時間Ｔ１が閾値αを超えない場合には、そのままセクタ４１にアクセスを続けて終了する。
また、ステップＳＴ５０６、ＳＴ５０７、ＳＴ５０８も、実施の形態３のステップＳＴ４０６、ＳＴ４０７、ＳＴ４０８と同様であり、セクタ４１へのアクセス時間Ｔ１が閾値αを超えていた場合には、第１フラッシュメモリ４のセクタ４１へのアクセスは継続したまま、第２の記憶領域である第２フラッシュメモリ５のセクタ５１へのアクセスを開始し、その後、セクタ４１およびセクタ５１へのいずれのアクセスが早く完了するかを判定する。
【００２８】
ここで、セクタ４１へのアクセスが先に完了した場合には（ステップＳＴ５０７でＹｅｓ）、セクタ４１はまだ寿命が残っていると判断し、そのままセクタ４１を次回アクセス時のセクタに設定する（ステップＳＴ５０９）。また、セクタ５１へのアクセスが先に完了した場合には（ステップＳＴ５０８でＹｅｓ）、セクタ４１は、寿命が限界に近づいていると判断し、ステップＳＴ５１０にてセクタ５１を次回アクセス時のセクタに設定して、バックアップ処理を終了する。
すなわち、実施の形態３において、第１フラッシュメモリ４のアクセス時間Ｔ１が第２段階の閾値βを超えているか否かを判定し、次回アクセス時のセクタ設定を切り替えるステップを省略している。
【００２９】
このように、実施の形態４では、第１フラッシュメモリのアクセス時間と第２フラッシュメモリのアクセス時間との比較によって第１フラッシュメモリの寿命上限を判定するように構成しており、これによって、第２段階の閾値βの設定を不要とし、実施の形態３に比してプログラムの負担を軽減することができる効果がある。
【００３０】
なお、本発明は、その発明の範囲内において、各実施の形態を組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【００３１】
１：バックアップ用バッテリー        ２：ＳＲＡＭ（揮発性メモリ）
３：ＦＰＧＡ（制御素子）        ４，５：フラッシュメモリ（不揮発性メモリ）
４１〜４ｎ，５１〜５ｎ：セクタ
【図１】
0006053702.tif 000002
【図２】
0006053702.tif 000003
【図３】
0006053702.tif 000004
【図４】
0006053702.tif 000005
【図５】
0006053702.tif 000006
【図６】
0006053702.tif 000007