(57)【要約】【構成】ＲＡＭ１８に設けられたメモリブロックＢＬＫ（Ｋ）（Ｋ：０〜２）には、２つの期限が設定される。ブロック番号“Ｋ”が記述された書き込み要求を受信すると、メモリブロックＢＬＫ（Ｋ）にデータが書き込まれる。また、ブロック番号“Ｋ”が記述された読み出し要求が受信されると、メモリブロックＢＬＫ（Ｋ）からデータが読み出される。ＣＰＵ１６１は、メモリブロックＢＬＫ（Ｋ）へのデータ書き込みが完了する毎に、メモリブロックＢＬＫ（Ｋ）に設定された２つの期限を延長する。ＣＰＵ１６１はまた、早い方の期限の到来が検知されたときデータ読み出しを制限し、遅い方の期限の到来が検知されたときメモリブロックＢＬＫ（Ｋ）を初期化する。【効果】データ管理性能が向上する。【選択図】図２
2012212297.tif 000002
【特許請求の範囲】
【請求項１】
第１期限と前記第１期限に遅れる第２期限とが設定されたメモリ、
書き込み要求に応答して前記メモリにデータを書き込む書き込み手段、
読み出し要求に応答して前記メモリからデータを読み出す読み出し手段、
前記書き込み手段によるデータ書き込みが実行される毎に前記第１期限および前記第２期限を延長する延長手段、
前記第１期限の到来が検知されたとき前記読み出し手段によるデータ読み出しを制限する第１制限手段、および
前記第２期限の到来が検知されたとき前記メモリに格納されたデータを消去する消去手段を備える、記憶装置。
【請求項２】
前記第１期限の非到来に対応して前記読み出し手段によるデータ読み出しを許可する許可手段をさらに備える、請求項１記載の記憶装置。
【請求項３】
前記メモリは前記第１期限および前記第２期限が各々に設定された複数の格納領域を有し、
前記書き込み手段，前記読み出し手段，前記延長手段，前記制限手段および前記消去手段は前記格納領域毎に処理を実行する、請求項１または２記載の記憶装置。
【請求項４】
前記第１期限および／または前記第２期限の到来を前記複数の格納領域について検出する処理を周期的に実行する第１検出手段、および
前記第１期限および／または前記第２期限の到来を前記書き込み手段の書き込み先について検出する処理を前記書き込み要求に応答して実行する第２検出手段をさらに備える、請求項３記載の記憶装置。
【請求項５】
前記複数の格納領域のうち空き状態の格納領域に対応して前記第１検出手段および前記第２検出手段を停止する停止手段をさらに備える、請求項４記載の記憶装置。
【請求項６】
第１精度で時刻を測定する第１測定手段、
前記第１精度よりも低い第２精度で時刻を測定する第２測定手段、
前記第１測定手段によって測定された時刻と前記第２測定手段によって測定された時刻との差分を周期的に検出する検出手段、および
前記検出手段によって検出された差分の変動量が基準を上回るとき前記読み出し手段によるデータ読み出しを制限する第２制限手段をさらに備える、請求項１ないし５のいずれかに記載の記憶装置。
【請求項７】
前記メモリは揮発性であり、
前記メモリをバックアップするバッテリをさらに備える、請求項１ないし６のいずれかに記載の記憶装置。
【請求項８】
第１期限と前記第１期限に遅れる第２期限とが設定されたメモリを備える記憶装置のプロセッサに、
書き込み要求に応答して前記メモリにデータを書き込む書き込みステップ、
読み出し要求に応答して前記メモリからデータを読み出す読み出しステップ、
前記書き込みステップによるデータ書き込みが実行される毎に前記第１期限および前記第２期限を延長する延長ステップ、
前記第１期限の到来が検知されたとき前記読み出しステップによるデータ読み出しを制限する制限ステップ、および
前記第２期限の到来が検知されたとき前記メモリに格納されたデータを消去する消去ステップを実行させるための、メモリアクセス制御プログラム。
【請求項９】
第１期限と前記第１期限に遅れる第２期限とが設定されたメモリを備える記憶装置によって実行されるメモリアクセス制御方法であって、
書き込み要求に応答して前記メモリにデータを書き込む書き込みステップ、
読み出し要求に応答して前記メモリからデータを読み出す読み出しステップ、
前記書き込みステップによるデータ書き込みが実行される毎に前記第１期限および前記第２期限を延長する延長ステップ、
前記第１期限の到来が検知されたとき前記読み出しステップによるデータ読み出しを制限する制限ステップ、および
前記第２期限の到来が検知されたとき前記メモリに格納されたデータを消去する消去ステップを備える、メモリアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、記憶装置に関し、特にメモリへのデータ書き込みおよびメモリからのデータ読み出しを制御する機能を有する、記憶装置に関する。
【背景技術】
【０００２】
この種の記憶装置の一例が、特許文献１に開示されている。この背景技術によれば、パーソナルコンピュータからＵＳＢ端子を介して取り込んだデータは、揮発性メモリとしてのＲＡＭに格納される。タイマ部は、ユーザの選択した時間が経過すると、リフレッシュ回路に対するＲＡＭのリフレッシュを停止させる。これにより、データおよび暗号化に用いるユーザの暗証番号もすべて完全に消去される。記憶装置の分解等の異常自体が発生したときも、ＲＡＭへの電源の供給が絶たれ、データの消去が行われる。これによって、所定の情報処理装置から取り外して一時的に保存するようなデータを、特定の事象が発生したとき確実に消去することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−５９２２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、背景技術では、ＲＡＭに格納されたデータがリフレッシュの停止によって完全に消去される。このため、データの管理性能に限界がある。
【０００５】
それゆえに、この発明の主たる目的は、データの管理性能を高めることができる、記憶装置を提供することである。
【課題を解決するための手段】
【０００６】
この発明に従う記憶装置(10：実施例で相当する参照符号。以下同じ)は、第１期限と第１期限に遅れる第２期限とが設定されたメモリ(18)、書き込み要求に応答してメモリにデータを書き込む書き込み手段(S9)、読み出し要求に応答してメモリからデータを読み出す読み出し手段(S19)、書き込み手段によるデータ書き込みが実行される毎に第１期限および第２期限を延長する延長手段(S1, S13)、第１期限の到来が検知されたとき読み出し手段によるデータ読み出しを制限する第１制限手段(S41, S71)、および第２期限の到来が検知されたときメモリに格納されたデータを消去する消去手段(S43, S73)を備える。
【０００７】
好ましくは、第１期限の非到来に対応して読み出し手段によるデータ読み出しを許可する許可手段(S39, S69)がさらに備えられる。
【０００８】
好ましくは、メモリは第１期限および第２期限が各々に設定された複数の格納領域を有し、書き込み手段，読み出し手段，延長手段，制限手段および消去手段は格納領域毎に処理を実行する。
【０００９】
さらに好ましくは、第１期限および／または第２期限の到来を複数の格納領域について検出する処理を周期的に実行する第１検出手段(S35~S37)、および第１期限および／または第２期限の到来を書き込み手段の書き込み先について検出する処理を書き込み要求に応答して実行する第２検出手段(S65~S67)がさらに備えられる。
【００１０】
より好ましくは、複数の格納領域のうち空き状態の格納領域に対応して第１検出手段および第２検出手段を停止する停止手段(S29, S59)がさらに備えられる。
【００１１】
好ましくは、第１精度で時刻を測定する第１測定手段(14)、第１精度よりも低い第２精度で時刻を測定する第２測定手段(162)、第１測定手段によって測定された時刻と第２測定手段によって測定された時刻との差分を周期的に検出する検出手段(S81~S85)、および検出手段によって検出された差分の変動量が基準を上回るとき読み出し手段によるデータ読み出しを制限する第２制限手段(S91~S93)がさらに備えられる。
【００１２】
好ましくは、メモリは揮発性であり、メモリをバックアップするバッテリ(20)がさらに備えられる。
【００１３】
この発明に従うメモリアクセス制御プログラムは、第１期限と第１期限に遅れる第２期限とが設定されたメモリ(18)を備える記憶装置(10)のプロセッサ(161)に、書き込み要求に応答してメモリにデータを書き込む書き込みステップ(S9)、読み出し要求に応答してメモリからデータを読み出す読み出しステップ(S19)、書き込みステップによるデータ書き込みが実行される毎に第１期限および第２期限を延長する延長ステップ(S1, S13)、第１期限の到来が検知されたとき読み出しステップによるデータ読み出しを制限する制限ステップ(S41, S71)、および第２期限の到来が検知されたときメモリに格納されたデータを消去する消去ステップ(S43, S73)を実行させるための、メモリアクセス制御プログラムである。
【００１４】
この発明に従うメモリアクセス制御方法は、第１期限と第１期限に遅れる第２期限とが設定されたメモリ(18)を備える記憶装置(10)によって実行されるメモリアクセス制御方法であって、書き込み要求に応答してメモリにデータを書き込む書き込みステップ(S9)、読み出し要求に応答してメモリからデータを読み出す読み出しステップ(S19)、書き込みステップによるデータ書き込みが実行される毎に第１期限および第２期限を延長する延長ステップ(S1, S13)、第１期限の到来が検知されたとき読み出しステップによるデータ読み出しを制限する制限ステップ(S41, S71)、および第２期限の到来が検知されたときメモリに格納されたデータを消去する消去ステップ(S43, S73)を備える。
【発明の効果】
【００１５】
この発明によれば、メモリに設定された第１期限および第２期限は、データ書き込みが実行される毎に延長される。したがって、データ書き込みが頻繁に実行される限り、第１期限および第２期限が到来することはなく、データ読み出しが許可される。ただし、データ書き込みの中断によって第１期限が到来するとデータ読み出しが制限され、さらに第２期限が到来するとメモリに格納されたデータが消去される。これによって、有意なデータの消去をできるだけ防止しつつ、データの機密性を高めることができる。こうしてデータ管理性能が向上する。
【００１６】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００１７】
【図１】この発明の一実施例の基本的構成を示すブロック図である。
【図２】この発明の一実施例の構成を示すブロック図である。
【図３】図２実施例によって参照されるテーブルの構成の一例を示す図解図である。
【図４】図２実施例の動作の一部を示す図解図である。
【図５】（Ａ）は正規時刻の変化を示すタイミング図であり、（Ｂ）は簡易時刻の変化を示すタイミング図であり、（Ｃ）は時間差の変化を示すタイミング図である。
【図６】図２実施例の動作の他の一部を示す図解図である。
【図７】図２実施例に適用されるＣＰＵの動作の一部を示すフロー図である。
【図８】図２実施例に適用されるＣＰＵの動作の他の一部を示すフロー図である。
【図９】図２実施例に適用されるＣＰＵの動作のその他の一部を示すフロー図である。
【図１０】図２実施例に適用されるＣＰＵの動作のさらにその他の一部を示すフロー図である。
【図１１】図２実施例に適用されるＣＰＵの動作の他の一部を示すフロー図である。
【発明を実施するための形態】
【００１８】
以下、この発明の実施の形態を図面を参照しながら説明する。
［基本的構成］
【００１９】
図１を参照して、この実施例の記憶装置は、基本的に次のように構成される。メモリ１には、第１期限と第１期限に遅れる第２期限とが設定される。書き込み手段２は、書き込み要求に応答してメモリにデータを書き込む。読み出し手段３は、読み出し要求に応答してメモリからデータを読み出す。延長手段４は、書き込み手段によるデータ書き込みが実行される毎に第１期限および第２期限を延長する。第１制限手段５は、第１期限の到来が検知されたとき読み出し手段３によるデータ読み出しを制限する。消去手段６は、第２期限の到来が検知されたときメモリ１に格納されたデータを消去する。
【００２０】
メモリ１に設定された第１期限および第２期限は、データ書き込みが実行される毎に延長される。したがって、データ書き込みが頻繁に実行される限り、第１期限および第２期限が到来することはなく、データ読み出しが許可される。ただし、データ書き込みの中断によって第１期限が到来するとデータ読み出しが制限され、さらに第２期限が到来するとメモリ１に格納されたデータが消去される。これによって、有意なデータの消去をできるだけ防止しつつ、データの機密性を高めることができる。こうしてデータ管理性能が向上する。
［実施例］
【００２１】
図２を参照して、この実施例の記憶装置１０は、バッテリ２０を含む。Ｉ／Ｆ１２，正規時計１４，アクセス制御回路１６およびＲＡＭ１８は、バッテリ２０によって常時バックアップされる。なお、正規時計１４の精度は、アクセス制御回路１６に設けられた簡易時計１６２の精度よりも高い。
【００２２】
アクセス制御回路１６に設けられたＣＰＵ１６１は、バッテリ２０からの給電によって起動したとき、設定を初期化する。これによって、フラグＦＬＧおよび変数Ｎが“０”に設定され、アクセス制御回路１６に設けられたテーブルＴＢＬ（図３参照）が以下の要領で設定される。
【００２３】
閾値ＴＭ＿ＥＤ１（０）〜ＴＭ＿ＥＤ１（２）はメモリブロックＢＬＫ（０）〜ＢＬＫ（２）からのデータ読み出しを制限する時期を定義するパラメータに相当し、閾値ＴＭ＿ＥＤ２（０）〜ＴＭ＿ＥＤ２（２）はメモリブロックＢＬＫ（０）〜ＢＬＫ（２）を初期化する時期を定義するパラメータに相当する。なお、閾値ＴＭ＿ＥＤ１（０）〜ＴＭ＿ＥＤ１（２）はそれぞれ閾値ＴＭ＿ＥＤ２（０）〜ＴＭ＿ＥＤ２（２）よりも小さく、読み出し制限時期は初期化時期よりも早く到来する。
【００２４】
閾値ＴＭ＿ＥＤ１（０）〜ＴＭ＿ＥＤ１（２）はそれぞれ既定値ＴＥ１０〜ＴＥ１２（ＴＥ１０〜ＴＥ１２：たとえば１６８時間）に設定され、閾値ＴＭ＿ＥＤ２（０）〜ＴＭ＿ＥＤ２（２）はそれぞれＴＥ２０〜ＴＥ２２（ＴＥ２０〜ＴＥ２２：たとえば３３６時間）に設定される。さらに、変数ＣＯＮＦＩＧ（０）〜ＣＯＮＦＩＧ（２）は“０”に設定され、スイッチＳＷ（０）〜ＳＷ（２）はオン状態に設定される。
【００２５】
閾値ＴＭ＿ＥＤ１（０），ＲＭ＿ＥＤ２（０），変数ＣＯＮＦＩＧ（０）およびスイッチＳＷ（０）はＲＡＭ１８のメモリブロックＢＬＫ（０）に割り当てられ、閾値ＴＭ＿ＥＤ１（１），ＲＭ＿ＥＤ２（１），変数ＣＯＮＦＩＧ（１）およびスイッチＳＷ（１）はＲＡＭ１８のメモリブロックＢＬＫ（１）に割り当てられ、そして閾値ＴＭ＿ＥＤ１（２），ＲＭ＿ＥＤ２（２），変数ＣＯＮＦＩＧ（２）およびスイッチＳＷ（２）はＲＡＭ１８のメモリブロックＢＬＫ（２）に割り当てられる。
【００２６】
変数ＣＯＮＦＩＧ（０）〜ＣＯＮＦＩＧ（２）は、メモリブロックＢＬＫ（０）〜ＢＬＫ（２）に有意なデータが存在するか否かを識別するためのパラメータに相当し、“０”が有意なデータの不存在を示す一方、“１”が有意なデータの存在を示す。スイッチＳＷ（０）〜ＳＷ（２）は、メモリブロックＢＬＫ（０）〜ＢＬＫ（２）からのデータ読み出しの許可／制限を識別するためのパラメータに相当し、オン状態が許可を示す一方、オフ状態が制限を示す。フラグＦＬＧおよび変数Ｎについては後述する。
【００２７】
外部ＰＣから発行されたアクセス要求は、Ｉ／Ｆ１２によって受信され、アクセス制御回路１６に与えられる。ＣＰＵ１６１は、アクセス要求に記述されたブロック番号を変数Ｋに設定し、アクセス要求に記述されたアクセス態様に従ってメモリブロックＢＬＫ（Ｋ）にアクセスする。なお、後述する変数ＬおよびＭは、変数Ｋと同様、メモリブロックＢＬＫ（０）〜ＢＬＫ（２）のいずれか１つを指定するための変数に相当する。
【００２８】
アクセス要求に記述されたアクセス態様が“ライト”であれば、アクセス要求に付随するデータがＲＡＭ１８に設けられたメモリブロックＢＬＫ（Ｋ）に書き込まれる。データ書き込みが完了すると、メモリブロックＢＬＫ（Ｋ）に有意なデータが存在することを表明するべく、変数ＣＯＮＦＩＧ（Ｋ）が“１”に設定される。さらに、正規時計１４が示す時刻つまり正規時刻が検出され、検出された正規時刻が基準時刻ＴＭ＿ＲＥＦ（Ｋ）として設定される。
【００２９】
一方、アクセス要求に記述されたアクセス態様が“リード”であれば、スイッチＳＷ（Ｋ）がオン状態であることを条件として、メモリブロックＢＬＫ（Ｋ）に格納されたデータが読み出される。読み出されたデータは、Ｉ／Ｆ１２によって外部ＰＣに送出される。
【００３０】
ＣＰＵ１６１はまた、指定周期（＝たとえば１５分）の到来に応答して、或いは外部ＰＣによって発行されたアクセス要求の受信に応答して、モード制御処理を起動する。
【００３１】
モード制御処理の起動原因が指定周期の到来であれば、変数Ｌが“０”〜“２”の各々に設定され、変数ＣＯＮＦＩＧ（Ｌ）が“１”を示す場合に以下の処理が実行される。
【００３２】
まず、正規時計１４が示す時刻が現在時刻ＴＭ＿１として検出され、現在時刻ＴＭ＿１から基準時刻ＴＭ＿ＲＥＦ（Ｌ）を減算して得られる値が時間差Ｔ＿ＤＩＦＦとして算出される。算出された時間差Ｔ＿ＤＩＦＦは、閾値ＴＭ＿ＥＤ１（Ｌ）およびＴＭ＿ＥＤ２（Ｌ）の各々と比較される。
【００３３】
時間差Ｔ＿ＤＩＦＦが閾値ＴＭ＿ＥＤ１（Ｌ）を下回れば、閾値ＴＭ＿ＥＤ１（Ｌ）によって定義された期限は到来していないとみなされ、スイッチＳＷ（Ｌ）がオン状態に設定される。時間差Ｔ＿ＤＩＦＦが閾値ＴＭ＿ＥＤ１（Ｌ）に達すると、閾値ＴＭ＿ＥＤ１（Ｌ）によって定義された期限が到来したとみなされ、スイッチＳＷ（Ｌ）がオフ状態に変更される。
【００３４】
時間差Ｔ＿ＤＩＦＦが閾値ＴＭ＿ＥＤ２（Ｌ）に達すると、閾値ＴＭ＿ＥＤ２（Ｌ）によって定義された期限が到来したとみなされ、メモリブロックＢＬＫ（Ｌ）が初期化される。さらに、有意なデータがメモリブロックＢＬＫ（Ｌ）に存在しないことを表明するべく、変数ＣＯＮＦＩＧ（Ｌ）が“０”に設定される。
【００３５】
モード制御処理の起動原因がアクセス要求の受信であれば、アクセス要求に記述されたブロック番号が変数Ｍに設定され、特定条件が満足されることを条件として以下の処理が実行される。なお、特定条件とは、受信したアクセス要求に記述されたアクセス態様が“リード”でかつ変数ＣＯＮＦＩＧ（Ｍ）が“１”を示すという条件に相当する。
【００３６】
上述と同様、まず、正規時計１４が示す時刻が現在時刻ＴＭ＿１として検出され、現在時刻ＴＭ＿１から基準時刻ＴＭ＿ＲＥＦ（Ｍ）を減算して得られる値が時間差Ｔ＿ＤＩＦＦとして算出される。
【００３７】
算出された時間差Ｔ＿ＤＩＦＦが閾値ＴＭ＿ＥＤ１（Ｍ）を下回れば、閾値ＴＭ＿ＥＤ１（Ｍ）によって定義された期限は到来していないとみなされ、スイッチＳＷ（Ｍ）がオン状態に設定される。時間差Ｔ＿ＤＩＦＦが閾値ＴＭ＿ＥＤ１（Ｍ）に達すると、閾値ＴＭ＿ＥＤ１（Ｍ）によって定義された期限が到来したとみなされ、スイッチＳＷ（Ｍ）がオフ状態に変更される。
【００３８】
算出された時間差Ｔ＿ＤＩＦＦが閾値ＴＭ＿ＥＤ２（Ｍ）に達すると、閾値ＴＭ＿ＥＤ２（Ｍ）によって定義された期限が到来したとみなされ、メモリブロックＢＬＫ（Ｍ）が初期化される。さらに、有意なデータがメモリブロックＢＬＫ（Ｍ）に存在しないことを表明するべく、変数ＣＯＮＦＩＧ（Ｍ）が“０”に更新される。
【００３９】
したがって、メモリブロックＢＬＫ（２）に対するデータ書き込みが閾値ＴＭ＿ＥＤ１（２）を下回る期間を隔てて２回行われたとき、基準値ＴＭ＿ＲＥＦ（２），時間差Ｔ＿ＤＩＦＦ（２），スイッチＳＷ（２）は図４に示す要領で更新される。
【００４０】
図４によれば、２回目のデータ書き込みに応答して基準値ＴＭ＿ＲＥＦ（２）が更新されることで、閾値ＴＭ＿ＥＤ１（２）によって定義される期限が延長される。この期限延長の結果、スイッチＳＷ（２）はオン状態を維持する。ただし、３回目のデータ書き込みは実行されないため、その後に算出される時間差Ｔ＿ＤＩＦＦ（２）はいずれ、閾値ＴＭ＿ＥＤ１（２）を上回り、さらに閾値ＴＭ＿ＥＤ２（２）を上回る。
【００４１】
この結果、スイッチＳＷ（２）は、閾値ＴＭ＿ＥＤ１（２）に対応するタイミングでオン状態からオフ状態に変更される。また、メモリブロックＢＬＫ（２）は、閾値ＴＭ＿ＥＤ１（２）に対応するタイミングで初期化される。スイッチＳＷ（２）をオフ状態に変更することで、メモリブロックＢＬＫ（２）からのデータ読み出しが制限される。また、メモリブロックＢＬＫ（２）の初期化によって、メモリブロックＢＬＫ（２）に格納されたデータが消去される。
【００４２】
ＣＰＵ１６１はさらに、別の指定周期（＝たとえば５分）の到来に応答して不正検知処理を実行する。不正検知処理ではまず、正規時計１４が示す時刻が現在時刻ＣＴＭ１（Ｎ）として検出され（図５（Ａ）参照）、簡易時計１６２が示す時刻が現在時刻ＣＴＭ２（Ｎ）として検出される（図５（Ｂ）参照）。さらに、現在時刻ＣＴＭ１（Ｎ）から現在時刻ＣＴＭ２（Ｎ）を減算して得られる値が、時間差ＤＴＭ（Ｎ）として検出される（図５（Ｃ）参照）。変数Ｎが“０”であれば、時間差ＤＴＭ（Ｎ）の値は基準値ＤＴＭｓａｖｅに設定される（図５（Ｃ）参照）。設定が完了すると、変数Ｎがインクリメントされ、その後に不正検知処理が終了される。
【００４３】
変数Ｎが“１”以上であれば、時間差ＤＴＭ（Ｎ）と基準値ＤＴＭｓａｖｅとの差分絶対値が“ΔＤＴＭ（Ｎ）”として算出される（図６参照）。算出された差分絶対値ΔＤＴＭ（Ｎ）は、閾値ＲＥＦ（＝たとえば１時間）と比較される。
【００４４】
差分絶対値ΔＤＴＭ（Ｎ）が閾値ＲＥＦ以下であれば、変数Ｎがインクリメントされ、その後に不正検知処理が終了される。これに対して、差分絶対値ΔＤＴＭ（Ｎ）が閾値ＲＥＦを上回れば、正規時計１４に対して不正な操作が行われたとみなされ、スイッチＳＷ（０）〜ＳＷ（２）がオフ状態に変更される。これによって、メモリブロックＢＬＫ（０）〜ＢＬＫ（２）からのデータ読み出しが制限される。不正検知処理は、スイッチＳＷ（０）〜ＳＷ（２）の設定変更の後に終了される。
【００４５】
ＣＰＵ１６１は、図７に示すアクセス制御処理を継続的に実行し、図８〜図１０に示すモード制御処理を指定周期（＝たとえば１５分）の到来またはアクセス要求の受信に応答して実行し、そして図１１に示す不正検知処理を別の指定周期（＝たとえば５分）の到来に応答して実行する。
【００４６】
図７を参照して、ステップＳ１では設定を初期化する。この結果、フラグＦＬＧおよび変数Ｎが“０”に設定される。さらに、図３に示すテーブルＴＢＬ上で、閾値ＴＭ＿ＥＤ１（０）〜ＴＭ＿ＥＤ１（２）がそれぞれ既定値ＴＥ１０〜ＴＥ１２に設定され、閾値ＴＭ＿ＥＤ２（０）〜ＴＭ＿ＥＤ２（２）がそれぞれ既定値ＴＥ２０〜ＴＥ２２に設定され、変数ＣＯＮＦＩＧ（０）〜ＣＯＮＦＩＧ（２）が“０”に設定され、そしてスイッチＳＷ（０）〜ＳＷ（２）がオン状態に設定される。
【００４７】
ステップＳ３では、外部ＰＣからアクセス要求が与えられたか否かを判別する。判別結果がＮＯからＹＥＳに更新されるとステップＳ５に進み、アクセス要求に記述されたブロック番号を変数Ｋに設定する。ステップＳ７ではアクセス要求に記述されたアクセス態様が“ライト”および“リード”のいずれであるかを判別し、“ライト”に対応してステップＳ９に進む一方、“リード”に対応してステップＳ１５に進む。
【００４８】
ステップＳ９では、アクセス要求に付随するデータをＲＡＭ１８に設けられたメモリブロックＢＬＫ（Ｋ）に書き込む。データ書き込みが完了すると、メモリブロックＢＬＫ（Ｋ）に有意なデータが存在することを表明するべく、ステップＳ１１で変数ＣＯＮＦＩＧ（Ｋ）を“１”に設定する。ステップＳ１３では、正規時計１４が示す時刻つまり正規時刻を検出し、検出した正規時刻を基準時刻ＴＭ＿ＲＥＦ（Ｋ）として設定する。設定が完了すると、ステップＳ３に戻る。
【００４９】
ステップＳ１５では後述するステップＳ５７〜Ｓ７５の処理が完了するまで待機し、ステップＳ１７ではスイッチＳＷ（Ｋ）がオン状態であるか否かを判別する。判別結果がＮＯであればそのままステップＳ３に戻り、判別結果がＹＥＳであればステップＳ１９の処理を経てステップＳ３に戻る。ステップＳ１９では、メモリブロックＢＬＫ（Ｋ）に格納されたデータを読み出し、読み出されたデータをＩ／Ｆ１２に与える。
【００５０】
図８を参照して、ステップＳ２１では、モード制御処理の起動原因が指定周期の到来およびアクセス要求の受信のいずれであるかを判別する。起動原因が指定周期の到来であればステップＳ２３に進み、起動原因がアクセス要求の受信であればステップＳ５７に進む。
【００５１】
ステップＳ２３ではフラグＦＬＧが“０”であるか否かを判別し、判別結果がＮＯであればステップＳ２５で変数Ｌを“０”に設定する一方、判別結果がＹＥＳであればステップＳ２７で変数Ｌの値を変数Ｌｓａｖｅに設定する。ステップＳ２９では、変数ＣＯＮＦＩＧ（Ｌ）が“１”であるか否かを判別し、判別結果がＮＯであればそのままステップＳ４７に進む一方、判別結果がＹＥＳであればステップＳ３１〜Ｓ４５を経てステップＳ４７に進む。
【００５２】
ステップＳ３１では、正規時計１４が示す時刻を現在時刻ＴＭ＿１として検出する。ステップＳ３３では、現在時刻ＴＭ＿１から基準時刻ＴＭ＿ＲＥＦ（Ｌ）を減算して得られる値を時間差Ｔ＿ＤＩＦＦとして算出する。ステップＳ３５では算出された時間差Ｔ＿ＤＩＦＦが閾値ＴＭ＿ＥＤ１（Ｌ）を下回るか否かを判別し、ステップＳ３７では算出された時間差Ｔ＿ＤＩＦＦが閾値ＴＭ＿ＥＤ２（Ｌ）を下回るか否かを判別する。
【００５３】
ステップＳ３５の判別結果がＹＥＳであれば、閾値ＴＭ＿ＥＤ１（Ｌ）によって定義された期限は到来していないとみなし、ステップＳ３９でスイッチＳＷ（Ｌ）をオン状態に設定する。ステップＳ３５の判別結果がＮＯでかつステップＳ３７の判別結果がＹＥＳであれば、閾値ＴＭ＿ＥＤ１（Ｌ）によって定義された期限が到来したとみなし、ステップＳ４１でスイッチＳＷ（Ｌ）をオフ状態に設定する。
【００５４】
ステップＳ３５の判別結果およびステップＳ３７の判別結果のいずれもがＮＯであれば、閾値ＴＭ＿ＥＤ２（Ｌ）によって定義された期限が到来したとみなし、ステップＳ４３でメモリブロックＢＬＫ（Ｌ）を初期化する。ステップＳ４５では、有意なデータがメモリブロックＢＬＫ（Ｌ）に存在しないことを表明するべく、変数ＣＯＮＦＩＧ（Ｌ）を“０”に設定する。ステップＳ３９，Ｓ４１またはＳ４５の処理が完了すると、ステップＳ４７に進む。
【００５５】
ステップＳ４７では、変数Ｌをインクリメントする。ステップＳ４９では変数Ｌが“２”を上回るか否かを判別し、ステップＳ５１では外部ＰＣによって発行されたアクセス要求を受信した否かを判別する。ステップＳ４９の判別結果およびステップＳ５１の判別結果のいずれもＮＯであれば、ステップＳ２９に戻る。ステップＳ４９の判別結果がＹＥＳであれば、ステップＳ５３でフラグＦＬＧを“０”に設定し、その後に処理を終了する。
【００５６】
ステップＳ５１の判別結果がＹＥＳであれば、モード制御処理の途中でアクセス要求が受信されたとして、ステップＳ５５で変数Ｌの値を変数Ｌｓａｖｅに設定しかつフラグＦＬＧを“１”に設定する。ステップＳ５７では受信したアクセス要求に記述されたブロック番号を変数Ｍに設定し、ステップＳ５９では特定条件が満足されるか否かを判別する。ここで、特定条件とは、受信したアクセス要求に記述されたアクセス態様が“リード”で、かつ変数ＣＯＮＦＩＧ（Ｍ）が“１”を示すという条件に相当する。
【００５７】
ステップＳ５９の判別結果がＮＯであればそのまま処理を終了し、ステップＳ５９の判別結果がＹＥＳであればステップＳ６１〜Ｓ７５で上述のステップＳ３１〜Ｓ４５と同様の処理を実行してから処理を終了する。
【００５８】
図１１を参照して、ステップＳ８１では正規時計１４が示す時刻を現在時刻ＣＴＭ１（Ｎ）として検出し、ステップＳ８３では簡易時計１６２が示す時刻を現在時刻ＣＴＭ２（Ｎ）として検出する。ステップＳ８５では現在時刻ＣＴＭ１（Ｎ）から現在時刻ＣＴＭ２（Ｎ）を減算して得られる値を時間差ＤＴＭ（Ｎ）として検出し、ステップＳ８７では変数Ｎが“１”以上であるか否かを判別する。
【００５９】
ステップＳ８７の判別結果がＮＯであればステップＳ９５に進み、時間差ＤＴＭ（Ｎ）の値を基準値ＤＴＭｓａｖｅに設定する。設定が完了すると、ステップＳ９７で変数Ｎをインクリメントし、その後に処理を終了する。
【００６０】
ステップＳ８７の判別結果がＹＥＳであればステップＳ８９に進み、時間差ＤＴＭ（Ｎ）と基準値ＤＴＭｓａｖｅとの差分絶対値を“ΔＤＴＭ（Ｎ）”として算出する。ステップＳ９１では算出された差分絶対値ΔＤＴＭ（Ｎ）が閾値ＲＥＦを上回るか否かを判別し、判別結果がＮＯであればステップＳ９７で変数Ｎをインクリメントしてから処理を終了する一方、判別結果がＹＥＳであればステップＳ９３でスイッチＳＷ（０）〜ＳＷ（２）をオフ状態に設定してから処理を終了する。
【００６１】
以上の説明から分かるように、ＲＡＭ１８に設けられたメモリブロックＢＬＫ（Ｋ）（Ｋ：０〜２）には、２つの期限が設定される。ＣＰＵ１６１は、ブロック番号“Ｋ”が記述された書き込み要求に応答してメモリブロックＢＬＫ（Ｋ）にデータを書き込み(S9)、ブロック番号“Ｋ”が記述された読み出し要求に応答してメモリブロックＢＬＫ（Ｋ）からデータを読み出す(S19)。ＣＰＵ１６１はまた、メモリブロックＢＬＫ（Ｋ）へのデータ書き込みが完了する毎に、基準時刻ＴＭ＿ＲＥＦ（Ｋ）を更新する(S13)。この結果、メモリブロックＢＬＫ（Ｋ）に設定された２つの期限が延長される。ＣＰＵ１６１は、早い方の期限の到来が検知されたときデータ読み出しを制限するべくスイッチＳＷ（Ｋ）をオフ状態に設定し(S41, S71)、遅い方の期限の到来が検知されたときメモリブロックＢＬＫ（Ｋ）を初期化する(S43, S73)。メモリブロックＢＬＫ（Ｋ）に格納されたデータは、初期化によって消去される。
【００６２】
メモリブロックＢＬＫ（Ｋ）に設定された２つの期限は、データ書き込みが実行される毎に延長される。したがって、データ書き込みが頻繁に実行される限り、これらの期限が到来することはなく、データ読み出しが許可される。ただし、データ書き込みの中断によって早い方の期限が到来するとデータ読み出しが制限され、さらに遅い方の期限が到来するとメモリブロックＢＬＫ（Ｋ）に格納されたデータが消去される。これによって、有意なデータの消去をできるだけ防止しつつ、データの機密性を高めることができる。こうしてデータ管理性能が向上する。
【００６３】
なお、この実施例の記憶装置としては、ＵＳＢメモリなどの外部ＰＣから着脱自在な小型の記憶装置が想定される。
【符号の説明】
【００６４】
１０  …記憶装置
１２  …Ｉ／Ｆ
１４  …正規時計
１６  …アクセス制御回路
１８  …ＲＡＭ
【図１】
2012212297.tif 000003
【図２】
2012212297.tif 000004
【図３】
2012212297.tif 000005
【図４】
2012212297.tif 000006
【図５】
2012212297.tif 000007
【図６】
2012212297.tif 000008
【図７】
2012212297.tif 000009
【図８】
2012212297.tif 000010
【図９】
2012212297.tif 000011
【図１０】
2012212297.tif 000012
【図１１】
2012212297.tif 000013