(57)【要約】      （修正有）【課題】データ消去中に電源が遮断された場合でも、データ消去中に算出されたデータを保護することが可能なデータ保護装置を提供する。【解決手段】データ保護装置１は、第１不揮発性メモリー６と、第２不揮発性メモリー７と、第１判定部と、制御部８とを備える。第１判定部は、第１不揮発性メモリー６に保存されたデータが消去中であるか否かを判定する。制御部８は、データを保存する際、第１判定部の判定結果が否定の場合は、第１不揮発性メモリー６に当該データを保存し、第１判定部の判定結果が肯定の場合は、第２不揮発性メモリー７に当該データを保存する。【選択図】図１
2017058944.tif 000002
【特許請求の範囲】
【請求項１】
第１不揮発性メモリーと、
第２不揮発性メモリーと、
前記第１不揮発性メモリーに保存されたデータが消去中であるか否かを判定する第１判定部と、
データを保存する際、前記第１判定部の判定結果が否定の場合は、前記第１不揮発性メモリーに当該データを保存し、前記第１判定部の判定結果が肯定の場合は、前記第２不揮発性メモリーに当該データを保存する記憶制御部と、
を備える、データ保護装置。
【請求項２】
第２判定部を更に備え、
前記第２判定部は、前記データ保護装置の起動時に、前記第１不揮発性メモリーに保存されたデータのうちの最新データが、前記第２不揮発性メモリーに保存されたデータのうちの最新データよりも新しいか否かを判定する、請求項１に記載のデータ保護装置。
【請求項３】
前記記憶制御部は、前記第２判定部の判定結果が否定の場合は、前記第２不揮発性メモリーに保存されたデータを前記第１不揮発性メモリーにコピーする、請求項２に記載のデータ保護装置。
【請求項４】
前記記憶制御部は、前記第２判定部の判定結果が否定の場合は、前記第１不揮発性メモリーに保存されたデータのうち、消去途中のデータを消去する、請求項２又は請求項３に記載のデータ保護装置。
【請求項５】
第３判定部を更に備え、
前記第３判定部は、前記第１不揮発性メモリーに保存されたデータの消去が完了したか否かを判定し、
前記記憶制御部は、前記第３判定部の判定結果が肯定の場合は、前記第２不揮発性メモリーに保存されたデータを前記第１不揮発性メモリーにコピーする、請求項１〜請求項４の何れかの１項に記載のデータ保護装置。
【請求項６】
前記記憶制御部は、前記コピーの完了後、前記第２不揮発性メモリーに保存された前記データを消去する、請求項３又は請求項５に記載のデータ保護装置。
【請求項７】
前記データは、カウンター情報である、請求項１〜請求項６の何れかの１項に記載のデータ保護装置。
【請求項８】
前記第２不揮発性メモリーは、前記データ保護装置を起動させる起動用プログラムを保存する記憶装置である、請求項１〜請求項７の何れかの１項に記載のデータ保護装置。
【請求項９】
前記第２不揮発性メモリーは、前記第１不揮発性メモリーと分離して構成される、請求項１〜請求項８の何れかの１項に記載のデータ保護装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ保護装置に関する。
【背景技術】
【０００２】
従来のデータ保護装置では、不揮発性メモリーの記憶領域を複数のブロックに分けて、累積データを毎回別のブロックに保存する。そして、何れかのブロックに保存されたデータに異常が検出された場合、当該何れかのブロックとは異なる他のブロックに保存されたデータに基づいて、異常が検出されたブロックのデータを修復する（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１９４９７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のデータ保護装置では、不揮発性メモリーに記憶容量の限界までデータが保存されると、最新のデータを保存するために、不揮発性メモリーに保存されたデータを消去する必要がある。不揮発性メモリーに保存されたデータが消去中であるときは、不揮発性メモリーに累積データを保存できない（即ち書き込めない）。
【０００５】
従って、不揮発性メモリーに保存されたデータが消去中であるときにデータ保護装置の電源が遮断された場合、データ消去中に算出された最新の累積データが不揮発性メモリーに保存できない。この結果、当該最新の累積データが保護できない。
【０００６】
本発明は上記課題に鑑みてなされたものであり、その目的は、データ消去中に電源が遮断された場合でも、データ消去中に算出されたデータを保護することが可能なデータ保護装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係るデータ保護装置は、第１不揮発性メモリーと、第２不揮発性メモリーと、第１判定部と、記憶制御部とを備える。前記第１判定部は、前記第１不揮発性メモリーに保存されたデータが消去中であるか否かを判定する。前記記憶制御部は、データを保存する際、前記第１判定部の判定結果が否定の場合は、前記第１不揮発性メモリーに当該データを保存し、前記第１判定部の判定結果が肯定の場合は、前記第２不揮発性メモリーに当該データを保存する。
【発明の効果】
【０００８】
本発明によれば、データ消去中に電源が遮断された場合でも、データ消去中に算出されたデータを保護することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係るデータ保護装置の構成を示すブロック図である。
【図２】本実施形態でのカウンター情報の更新の手順を示す図である。
【図３】本実施形態の制御部の構成を示すブロック図である。
【図４】本実施形態に係るデータ保護装置がカウンター情報を更新する際の動作を示すフローチャートである。
【図５】本実施形態に係るデータ保護装置の起動時の動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照しながら説明する。なお、図中、同一又は相当部分については同一の参照符号を付して説明を繰り返さない。
【００１１】
図１を参照して、本実施形態に係るデータ保護装置について説明する。図１は、本実施形態に係るデータ保護装置の構成を示すブロック図である。
【００１２】
本実施形態に係るデータ保護装置１は、例えば複合機に搭載される。データ保護装置１は、複合機が記録材（例えば用紙）に印刷を行う毎に、印刷枚数の累積値を示すカウンター情報を算出し、算出した最新のカウンター情報を保存する。データ保護装置１は、カウンター情報を保存することで、カウンター情報を保護する。
【００１３】
なお、カウンター情報は、データ保護装置１が保護するデータの一例である。カウンター情報が示す内容は、上記の印刷枚数の他に、印字行数、カット回数、又は、通電時間であってもよい。印字行数は、複合機が印刷の際に印字した行数である。カット回数は、複合機が記録材を切断した回数である。通電時間は、複合機に電源が投入されている時間である。なお、本実施形態では、データ保護装置１が保護するデータは、カウンター情報（即ち累積値を示すデータ）であるが、累積値以外の情報を示す各種データ（例えば画像データ又はユーザー設定情報）であってもよい。
【００１４】
データ保護装置１は、印刷部３と、操作入力部４と、揮発性メモリー５と、第１不揮発性メモリー６と、第２不揮発性メモリー７と、制御部８とを備える。
【００１５】
印刷部３は、記録材（例えば用紙）に画像を印刷する。
【００１６】
操作入力部４は、データ保護装置１に対する操作が入力可能である。操作入力部４への入力操作によって、印刷部３に印刷を実行させることが可能である。
【００１７】
揮発性メモリー５は、例えばＲＡＭ（Random Access Memory）であり、カウンター情報を算出する際の作業領域として使用可能である。
【００１８】
第１不揮発性メモリー６及び第２不揮発性メモリー７は、例えばフラッシュメモリーである。第１不揮発性メモリー６は、揮発性メモリー５で算出されたカウンター情報を保存する記憶装置である。
【００１９】
第２不揮発性メモリー７は、第１不揮発性メモリー６にカウンター情報を保存できない（即ち書き込めない）ときの予備の記憶装置である。第２不揮発性メモリー７は、例えば既存の記憶装置の空き記憶領域によって構成される。既存の記憶装置は、例えば、起動用プログラムが保存される記憶装置である。起動用プログラムは、データ保護装置１を起動するためのプログラムである。
【００２０】
第２不揮発性メモリー７は、第１不揮発性メモリー６と分離して構成される。従って、第１不揮発性メモリー６に保存されたデータの消去と、第２不揮発性メモリー７へのデータの書き込みとを並行して行うことが可能である。
【００２１】
制御部８は、データ保護装置１の各部（印刷部３、操作入力部４、揮発性メモリー５、第１不揮発性メモリー６、及び、第２不揮発性メモリー７）を制御する。以下、図１を参照して、制御部８の機能を説明する。制御部８の構成については、図３を参照して後述する。
【００２２】
制御部８は、操作入力部４に入力された操作に基づいて、印刷部３に印刷を実行させる。また、制御部８は、印刷部３が記録材を１枚印刷する毎に、揮発性メモリー５を作業領域として用いて最新のカウンター情報を算出し、算出したカウンター情報を第１不揮発性メモリー６に保存する。即ち、制御部８は、印刷部３が印刷を実行する毎に、第１不揮発性メモリー６に保存されたカウンター情報を最新値に更新する。
【００２３】
なお、一般的には、データ（例えばカウンター情報）を更新する際は、データの更新毎に古いデータは消去される。その際は、第１不揮発性メモリー６が例えばフラッシュメモリーの場合は、ブロック単位でデータを消去する必要がある。ブロック単位は、ある程度の大きさの記憶容量である。従って、データの消去には、ある程度の時間を要する。この結果、データの更新に時間が掛かる。
【００２４】
そこで、本実施形態では、データ（即ちカウンター情報）の更新に掛かる時間を短縮するため、制御部８は、下記のようにカウンター情報を更新し削除する。即ち、制御部８は、第１不揮発性メモリー６に保存されたカウンター情報を更新する際、第１不揮発性メモリー６の空き記憶領域に最新のカウンター情報を順次保存する。そして、制御部８は、第１不揮発性メモリー６の記憶容量が限界に達すると、第１不揮発性メモリー６に最新のカウンター情報を保存するために、第１不揮発性メモリー６に保存されたデータを消去する。
【００２５】
制御部８は、第１不揮発性メモリー６に保存されたデータが消去中であるときは、算出した最新のカウンター情報を第１不揮発性メモリー６に保存できない。従って、制御部８は、当該最新のカウンター情報を第２不揮発性メモリー７に保存する。この結果、第１不揮発性メモリー６に保存されたデータが消去中であるときに、データ保護装置１の電源が遮断された場合でも、データ消去中に算出したカウンター情報を、第２不揮発性メモリー７を用いて更新することができる。以上で説明したカウンター情報の更新の手順の詳細については、図２を参照して後述する。
【００２６】
比較例として、第２不揮発性メモリー７を備えないデータ保護装置でのカウンター情報の更新の手順について説明する。この比較例では、第２不揮発性メモリー７が無いため、第１不揮発性メモリー６に保存されたデータが消去中であるときは、当該消去が完了するまで、当該消去中に算出された最新のカウンター情報を第１不揮発性メモリー６に保存できない。従って、当該消去中に電源が遮断されると、第１不揮発性メモリー６に保存されたカウンター情報を当該最新のカウンター情報に更新できない。この結果、第１不揮発性メモリー６に保存されたカウンター情報と、当該最新のカウンター情報との間に誤差が発生する。
【００２７】
具体的には、複合機が毎分８０枚印刷する場合、１枚当たり７５０ミリ秒の間隔でカウンター情報が更新される。第１不揮発性メモリー６の消去に要する消去時間を２秒とすると、２枚分のカウンター情報が第１不揮発性メモリー６に保存できない（即ち書き込めない）。従って、消去中に電源が遮断されると、第１不揮発性メモリー６に保存されたカウンター情報と最新のカウンター情報との間に、２枚分の誤差が発生する。本発明では、この誤差の発生は抑制される。本発明に係るデータ保護装置１は、第２不揮発性メモリー７を備え、第１不揮発性メモリー６が消去中であるときは、第２不揮発性メモリー７にカウンター情報を保存するからである。
【００２８】
次に図２を参照して、カウンター情報の更新の手順について詳しく説明する。図２は、本実施形態でのカウンター情報の更新の手順を示す図である。
【００２９】
図２（ａ）（ｂ）及び（ｃ）はそれぞれ、第１不揮発性メモリー６及び第２不揮発性メモリー７を示す図である。図２（ａ）では、第１不揮発性メモリー６にデータが書き込まれる。図２（ｂ）では、第１不揮発性メモリー６に保存されたデータの消去中に、第２不揮発性メモリー７にデータが書き込まれる。図２（ｃ）では、第２不揮発性メモリー７から第１不揮発性メモリー６にデータがコピーされた後、第１不揮発性メモリー６への最新のデータの書き込みと、第２不揮発性メモリー７に保存された不要なデータの消去とが行われる。
【００３０】
図２（ａ）に示すように、第１不揮発性メモリー６の記憶領域は、複数のブロックＢＫ１〜ＢＫｎに区分されている。第２不揮発性メモリー７の記憶領域は、複数のブロックｂｋ１〜ｂｋｍに区分されている。
【００３１】
制御部８は、順次算出されるカウンター情報Ｄ１，Ｄ２，…を第１不揮発性メモリー６に保存する際は、先ずブロックＢＫ１内にカウンター情報Ｄ１，Ｄ２，…，Ｄαを算出順に保存する。そして、ブロックＢＫ１の記憶容量が限界に達すると、制御部８は、ブロックＢＫ２内に後続のカウンター情報Ｄα＋１，Ｄα＋２，…，Ｄβを算出順に保存する。そして、制御部８は、最後のブロックＢＫｎ内に後続のカウンター情報Ｄγ＋１，Ｄγ＋２，…，Ｄδを算出順に保存する。そして、最後のブロックＢＫｎの記憶容量が限界に達する。
【００３２】
そして、図２（ｂ）に示すように、第１不揮発性メモリー６において、最後のブロックＢＫｎの記憶容量が限界に達すると、制御部８は、再度、最初のブロックＢＫ１から後続のカウンター情報Ｄδ＋１，Ｄδ＋２，…を保存する。このために、制御部８は、先ず、最初のブロックＢＫ１から全てのカウンター情報Ｄ１，Ｄ２，…，Ｄαを消去する。制御部８は、ブロックＢＫ１からカウンター情報Ｄ１，Ｄ２，…，Ｄαが消去中であるときは、第１不揮発性メモリー６に後続のカウンター情報Ｄδ＋１，Ｄδ＋２，…を保存する（即ち書き込む）ことができない。このため、制御部８は、後続のカウンター情報Ｄδ＋１，Ｄδ＋２，…を、第２不揮発性メモリー７の空き記憶領域（例えばブロックｂｋｓ）に保存する（即ち書き込む）。
【００３３】
そして、第１不揮発性メモリー６のブロックＢＫ１からのカウンター情報Ｄ１，Ｄ２，…，Ｄαの消去が完了すると、制御部８は、第２不揮発性メモリー７のブロックｂｋｓへのカウンター情報の書き込みを止める。
【００３４】
そして、図２（ｃ）に示すように、制御部８は、カウンター情報Ｄδ＋１，Ｄδ＋２，…，Ｄεを第２不揮発性メモリー７のブロックｂｋｓから第１不揮発性メモリー６のブロックＢＫ１にコピーする。そして、制御部８は、ブロックＢＫ１において、そのコピーされたカウンター情報の続きに、後続のカウンター情報Ｄε＋１，Ｄε＋２，…を順次書き込む。この書き込みと並行して、制御部８は、カウンター情報Ｄδ＋１，Ｄδ＋２，…，Ｄεを第２不揮発性メモリー７のブロックｂｋｓから消去する。第２不揮発性メモリー７に保存されたカウンター情報Ｄδ＋１，Ｄδ＋２，…，Ｄεは不要だからであり、また、第２不揮発性メモリー７の空き記憶容量は限られているからである。
【００３５】
そして、第１不揮発性メモリー６において、ブロックＢＫ１の記憶容量が限界に達すると、制御部８は、次のブロックＢＫ２に後続のカウンター情報を保存するために、ブロックＢＫ２から全てのカウンター情報Ｄα＋１，Ｄα＋２，…，Ｄβを消去する。以降は、制御部８は、ブロックＢＫ１に対して行った手順と同じ手順で、ブロックＢＫ２，ＢＫ３，…に順に後続のカウンター情報を保存する。
【００３６】
次に図３を参照して、制御部８の構成について詳しく説明する。図３は、制御部８の構成を示すブロック図である。
【００３７】
制御部８は、印刷制御部８ａと、カウンター情報算出部８ｂと、第１判定部８ｃと、第２判定部８ｄと、第３判定部８ｇと、消去途中データ検出部８ｅと、記憶制御部８ｆとを備える。
【００３８】
制御部８は、例えば、ＣＰＵ（Central Processing Unit）である。ＣＰＵが例えば第２不揮発性メモリー７に格納されたプログラムを実行することで、ＣＰＵが制御部８の各部（印刷制御部８ａ、カウンター情報算出部８ｂ、第１判定部８ｃ、第２判定部８ｄ、第３判定部８ｇ、消去途中データ検出部８ｅ、及び、記憶制御部８ｆ）として機能する。
【００３９】
印刷制御部８ａは、操作入力部４に入力された操作に基づいて、印刷部３に、記録材への画像の印刷を実行させる。
【００４０】
カウンター情報算出部８ｂは、印刷部３が記録材を１枚印刷する毎に、揮発性メモリー５を作業領域として用いて最新のカウンター情報を算出する。
【００４１】
第１判定部８ｃは、第１不揮発性メモリー６に保存されたデータが消去中であるか否かを判定する。以後、この判定を第１判定とも記載する。
【００４２】
第２判定部８ｄは、データ保護装置１の起動時に、第１不揮発性メモリー６に保存されたデータが消去中であるときに、データ保護装置１の電源が遮断されたか否かを判定する。以後、この判定を第２判定とも記載する。
【００４３】
詳しくは、記憶制御部８ｆが、データ保護装置１の起動時に、第１不揮発性メモリー６から第１カウンター情報を読み出すと共に、第２不揮発性メモリー７から第２カウンター情報を読み出す。そして、第２判定部８ｄが、第１カウンター情報が第２カウンター情報よりも新しいか否かを判定する。第１カウンター情報は、第１不揮発性メモリー６に保存されたカウンター情報のうちの最新のカウンター情報である。第２カウンター情報は、第２不揮発性メモリー７に保存されたカウンター情報のうちの最新のカウンター情報である。
【００４４】
そして、第２判定部８ｄは、第１カウンター情報が第２カウンター情報よりも新しいと判定した場合は、第１不揮発性メモリー６に保存されたデータが消去中であるときに、データ保護装置１の電源が遮断されていないと判定する。一方、第２判定部８ｄは、第１カウンター情報が第２カウンター情報よりも新しくないと判定した場合は、第１不揮発性メモリー６に保存されたデータが消去中であるときに、データ保護装置１の電源が遮断されたと判定する。
【００４５】
更に詳しくは、カウンター情報には、新旧識別情報が付加される。そして、カウンター情報は、第１不揮発性メモリー６又は第２不揮発性メモリー７に保存される。新旧識別情報は、カウンター情報の新旧を識別するための情報であり、例えばタイムスタンプ情報である。タイムスタンプ情報は、カウンター情報の保存時刻又は算出時刻を示す情報である。第２判定部８ｄは、新旧識別情報に基づいて第２判定を行う。
【００４６】
第３判定部８ｇは、第１不揮発性メモリー６に保存されたデータの消去が完了したか否かを判定する。以後、この判定を第３判定とも記載する。
【００４７】
消去途中データ検出部８ｅは、第２判定部８ｄの判定結果が肯定の場合（即ち第１不揮発性メモリー６に保存されたデータが消去中であるときに、データ保護装置１の電源が遮断されたと判定された場合）に、第１不揮発性メモリー６に保存されたカウンター情報の中から消去途中カウンター情報（消去途中データ）を検出する。消去途中カウンター情報は、データ保護装置１の電源が遮断されることによって消去が中断されたカウンター情報である。
【００４８】
詳しくは、カウンター情報には、有効判定情報が付加される。そして、カウンター情報は、第１不揮発性メモリー６に保存される。有効判定情報は、カウンター情報が有効であるか否かを判定するための情報であり、例えば誤り検出符号である。消去途中データ検出部８ｅは、第２判定部の判定結果が肯定の場合、有効判定情報に基づいて、第１不揮発性メモリー６に保存された全てのカウント情報の各々に対し、有効なカウンター情報であるか否かを判定する。そして、消去途中データ検出部８ｅは、有効なカウンター情報でないと判定したカウンター情報を消去途中カウンター情報であると判定する。この判定によって、消去途中データ検出部８ｅは、消去途中カウンター情報を検出する。
【００４９】
記憶制御部８ｆは、第１判定部８ｃの判定結果に基づいて、カウンター情報算出部８ｂが算出したカウンター情報を、第１不揮発性メモリー６又は第２不揮発性メモリー７に保存する（即ち書き込む）。詳しくは、記憶制御部８ｆは、第１不揮発性メモリー６に保存されたデータが消去中であると判定された場合は、カウンター情報を第２不揮発性メモリー７に書き込む。他方、記憶制御部８ｆは、第１不揮発性メモリー６に保存されたデータが消去中でないと判定された場合は、カウンター情報を第１不揮発性メモリー６に書き込む。
【００５０】
なお、記憶制御部８ｆは、第１不揮発性メモリー６にカウンター情報を保存する（即ち書き込む）際は、第１不揮発性メモリー６の空き記憶領域に保存する。例えば、記憶制御部８ｆは、第１不揮発性メモリー６のブロックＢＫ１，ＢＫ２，…の順にカウンター情報を保存する。その際、記憶制御部８ｆは、１つのブロックの記憶容量が限界に達すると次のブロックにカウンター情報を保存する。
【００５１】
また、記憶制御部８ｆは、第１不揮発性メモリー６の記憶容量が限界に達すると、全てのブロックＢＫ１〜ＢＫｎのうち、例えば一番古いカウンター情報が保存されたブロックから、全てのカウンター情報を消去する。最新のカウンター情報を第１不揮発性メモリー６に保存するためである。
【００５２】
記憶制御部８ｆは、第１不揮発性メモリー６に保存されたカウンター情報の消去が完了すると、当該消去の最中に第２不揮発性メモリー７に保存したカウンター情報を、第１不揮発性メモリー６の空き記憶領域にコピーした後に第２不揮発性メモリー７から消去する。
【００５３】
記憶制御部８ｆは、カウンター情報を第１不揮発性メモリー６又は第２不揮発性メモリー７に保存する際に、カウンター情報に新旧識別情報及び有効判定情報を付加する。
【００５４】
記憶制御部８ｆは、消去途中データ検出部８ｅが検出した消去途中カウンター情報を第１不揮発性メモリー６から消去する。
【００５５】
次に図４及び図５を参照して、データ保護装置１の動作を説明する。図４は、データ保護装置１がカウンター情報を更新する際の動作を示すフローチャートである。
【００５６】
ステップＳ１では、カウンター情報算出部８ｂが最新のカウンター情報を算出する。そして、処理がステップＳ２に進む。
【００５７】
ステップＳ２では、第１判定部８ｃが、第１不揮発性メモリー６に保存されたデータが消去中であるか否かを判定する。この判定結果が否定である場合（ＮＯ）は、処理がステップＳ３に進み、この判定結果が肯定である場合（ＹＥＳ）は、処理がステップＳ６に進む。
【００５８】
ステップＳ３では、記憶制御部８ｆが、ステップＳ１で算出されたカウンター情報を第１不揮発性メモリー６の空き記憶領域に保存する。そして、処理がステップＳ４に進む。
【００５９】
ステップＳ４では、記憶制御部８ｆが、第１不揮発性メモリー６の記憶容量が限界に達したか否かを判定する。この判定結果が肯定である場合（ＹＥＳ）は、処理がステップＳ５に進み、この判定結果が否定である場合（ＮＯ）は、処理がステップＳ１に戻る。
【００６０】
ステップＳ５では、記憶制御部８ｆが、第１不揮発性メモリー６に保存されたデータを消去する。最新のカウンター情報を保存するための空き記憶容量を確保するためである。具体的には、記憶制御部８ｆは、第１不揮発性メモリー６の複数のブロックＢＫ１〜ＢＫｎのうち、一番古いカウンター情報が保存されたブロックに保存されたカウンター情報を消去する。そして、処理がステップＳ１に戻る。
【００６１】
ステップＳ６では、記憶制御部８ｆが、ステップＳ１で算出されたカウンター情報を第２不揮発性メモリー７の空き記憶領域に保存する。そして、処理がステップＳ７に進む。
【００６２】
ステップＳ７では、第３判定部８ｇが、第１不揮発性メモリー６に保存されたデータの消去が完了したか否かを判定する。この判定結果が肯定である場合（ＹＥＳ）は、処理がステップＳ８に進み、この判定結果が否定である場合（ＮＯ）は、処理がステップＳ１１に進む。
【００６３】
ステップＳ８では、カウンター情報算出部８ｂが最新のカウンター情報（即ち次のカウンター情報）を算出しない場合（ＮＯ）は、処理がステップＳ９に進み、カウンター情報算出部８ｂが最新のカウンター情報を算出した場合（ＹＥＳ）は、処理がステップＳ１３に進む。
【００６４】
ステップＳ９では、記憶制御部８ｆが、ステップＳ６で第２不揮発性メモリー７に保存されたカウンター情報を、第１不揮発性メモリー６の空き記憶領域にコピーする。そして、処理がステップＳ１０に進む。
【００６５】
ステップＳ１０では、記憶制御部８ｆが、ステップＳ６で第２不揮発性メモリー７に保存されたカウンター情報を消去する。そして、処理がステップＳ１に戻る。
【００６６】
ステップＳ１１では、カウンター情報算出部８ｂが最新のカウンター情報（即ち次のカウンター情報）を算出しない場合（ＮＯ）は、処理がステップＳ７に戻り、カウンター情報算出部８ｂが最新のカウンター情報を算出した場合（ＹＥＳ）は、処理がステップＳ１２に進む。
【００６７】
ステップＳ１２では、第３判定部８ｇが、第１不揮発性メモリー６に保存されたデータの消去が完了したか否かを判定する。この判定結果が否定である場合（ＮＯ）は、処理がステップＳ６に戻り、この判定結果が肯定である場合（ＹＥＳ）は、処理がステップＳ１３に進む。
【００６８】
ステップＳ１３では、記憶制御部８ｆが、ステップＳ６で第２不揮発性メモリー７に保存されたカウンター情報を、第１不揮発性メモリー６の空き記憶領域にコピーする。そして、処理がステップＳ１４に進む。
【００６９】
ステップＳ１４では、記憶制御部８ｆが、ステップＳ１１又はステップＳ８で算出されたカウンター情報を第１不揮発性メモリー６の空き記憶領域に保存する。そして、ステップＳ１５で、ステップＳ１４の処理と並行して、記憶制御部８ｆが、ステップＳ６で第２不揮発性メモリー７に保存されたカウンター情報を消去する。そして、処理がステップＳ４に戻る。
【００７０】
以上の動作では、カウンター情報が算出されると（ステップＳ１）、通常時は、第１不揮発性メモリー６にカウンター情報が書き込まれる（ステップＳ２→Ｓ３）。しかし、第１不揮発性メモリー６に保存されたデータが消去中であるときは、第１不揮発性メモリー６にカウンター情報を書き込めない。このため、カウンター情報は、第２不揮発性メモリー７に書き込まれる（ステップＳ２→Ｓ６）。
【００７１】
そして、引き続きカウンター情報を書き込む際は、まだ第１不揮発性メモリー６に保存されたデータが消去中であるときは、再度、第２不揮発性メモリー７にカウンター情報が書き込まれる（ステップＳ６→Ｓ７→Ｓ１１→Ｓ１２→Ｓ６）。このように、第１不揮発性メモリー６に保存されたデータの消去が完了するまで、第２不揮発性メモリー７にカウンター情報が書き込み続けられる。
【００７２】
そして、第１不揮発性メモリー６に保存されたデータの消去が完了すると、第２不揮発性メモリー７に書き込まれたカウンター情報が第１不揮発性メモリー６にコピーされ、その後、第１不揮発性メモリー６に新たなカウンター情報が書き込まれる（Ｓ１１→Ｓ１２→Ｓ１３→Ｓ１４、又はＳ８→Ｓ１３→Ｓ１４）。そして、この書き込みに並行して、第２不揮発性メモリー７に書き込まれたカウンター情報は、不要であるため消去される（Ｓ１５）。
【００７３】
次に図５を参照して、データ保護装置１の起動時の動作を説明する。図５は、データ保護装置１の起動時の動作を示すフローチャートである。
【００７４】
ステップＳ３０では、データ保護装置１が起動する。そして、処理がステップＳ３１に進む。
【００７５】
ステップＳ３１では、第２判定部８ｄが、第１不揮発性メモリー６に保存されたデータが消去中であるときに、データ保護装置１の電源が遮断されたか否かを判定する。具体的には、第２判定部８ｄは、第１カウンター情報が第２カウンター情報よりも新しいか否かを判定する。第１カウンター情報は、第１不揮発性メモリー６に保存されたカウンター情報のうちの最新のカウンター情報である。第２カウンター情報は、第２不揮発性メモリー７に保存されたカウンター情報のうちの最新のカウンター情報である。
【００７６】
ステップＳ３１の判定結果が否定である場合（ＮＯ）は、第２判定部８ｄは、第１不揮発性メモリー６に保存されたデータが消去中であるときに、データ保護装置１の電源が遮断されたと判定する。そして、処理がステップＳ３２に進む。一方、ステップＳ３１の判定結果が肯定である場合（ＹＥＳ）は、第２判定部８ｄは、第１不揮発性メモリー６に保存されたデータが消去中であるときに、データ保護装置１の電源が遮断されていないと判定する。そして、処理がステップＳ３６に進む。
【００７７】
ステップＳ３２では、消去途中データ検出部８ｅが、第１不揮発性メモリー６に保存されたカウンター情報の中から消去途中カウンター情報を検出する。そして、処理がステップＳ３３に進む。
【００７８】
ステップＳ３３では、記憶制御部８ｆが、消去途中データ検出部８ｅが検出した消去途中カウンター情報を第１不揮発性メモリー６から消去する。そして、処理がステップＳ３４に進む。
【００７９】
ステップＳ３４では、記憶制御部８ｆが、第２不揮発性メモリー７に保存されたカウンター情報を第１不揮発性メモリー６にコピーする。そして、処理がステップＳ３５に進む。
【００８０】
ステップＳ３５では、第２不揮発性メモリー７に保存されたカウンター情報を消去する。そして、処理がステップＳ３６に進む。
【００８１】
ステップＳ３６では、記憶制御部８ｆが最新のカウント情報を算出する。そして、記憶制御部８ｆが、図４のステップＳ１〜ステップＳ９に従って、当該最新のカウンター情報を第１不揮発性メモリー６又は第２不揮発性メモリー７に保存する（即ち書き込む）。そして、処理が終了する。
【００８２】
以上、図面（図１〜図５）を参照しながら本発明の実施形態を説明した。但し、本発明は、上記の実施形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能である。図面は、理解しやすくするために、それぞれの構成要素を主体に模式的に示しており、図示された各構成要素の厚み、長さ、個数等は、図面作成の都合上から実際とは異なる。また、上記の実施形態で示す各構成要素の材質や形状、寸法等は一例であって、特に限定されるものではなく、本発明の効果から実質的に逸脱しない範囲で種々の変更が可能である。
【符号の説明】
【００８３】
１  データ保護装置
６  第１不揮発性メモリー
７  第２不揮発性メモリー
８ｃ  第１判定部
８ｄ  第２判定部
８ｇ  第３判定部
８ｆ  記憶制御部
【図１】
2017058944.tif 000003
【図２】
2017058944.tif 000004
【図３】
2017058944.tif 000005
【図４】
2017058944.tif 000006
【図５】
2017058944.tif 000007