(57)【特許請求の範囲】
【請求項１】
不揮発メモリにデータを記録するデータ処理装置であって、
前記不揮発メモリの寿命が近付いているかを、不揮発メモリに対して発行された寿命確認コマンドのレスポンス値を参照することによって判定する判定手段と、
前記判定手段で前記不揮発メモリの寿命が近付いていると判定された場合、前記不揮発メモリに記録されているデータを消去する消去手段と
を有し、
前記判定手段は、前記不揮発メモリの余剰ブロック数に応じたレスポンス値を参照し、前記レスポンス値が所定の値を示す場合、前記不揮発メモリの寿命が近付いていると判定することを特徴とするデータ処理装置。
【請求項２】
不揮発メモリにデータを記録するデータ処理装置であって、
前記不揮発メモリの寿命が近付いているかを、不揮発メモリに対して発行された寿命確認コマンドのレスポンス値を参照することによって判定する判定手段と、
前記判定手段で前記不揮発メモリの寿命が近付いていると判定された場合、前記不揮発メモリに記録されているデータを消去する消去手段と
を有し、
前記判定手段は、前記不揮発メモリのセルの書き換え回数に応じたレスポンス値を参照し、前記レスポンス値が所定の値を示す場合、前記不揮発メモリの寿命が近付いていると判定することを特徴とするデータ処理装置。
【請求項３】
不揮発メモリにデータを記録するデータ処理装置であって、
前記不揮発メモリの寿命が近付いているかを、不揮発メモリに対して発行された寿命確認コマンドのレスポンス値を参照することによって判定する判定手段と、
前記判定手段で前記不揮発メモリの寿命が近付いていると判定された場合、前記不揮発メモリに記録されているデータを消去するか否かの選択を受け付ける受付手段と、
前記受付手段で前記不揮発メモリに記録されているデータを消去するとの選択を受け付けた場合、前記不揮発メモリに記録されているデータを消去する消去手段と
を有し、
前記判定手段は、前記不揮発メモリの余剰ブロック数に応じた第二のレスポンス値を参照し、前記第二のレスポンス値が所定の値を示す場合、前記不揮発メモリの寿命が近付いていると判定することを特徴とするデータ処理装置。
【請求項４】
不揮発メモリにデータを記録するデータ処理装置であって、
前記不揮発メモリの寿命が近付いているかを、不揮発メモリに対して発行された寿命確認コマンドのレスポンス値を参照することによって判定する判定手段と、
前記判定手段で前記不揮発メモリの寿命が近付いていると判定された場合、前記不揮発メモリに記録されているデータを消去するか否かの選択を受け付ける受付手段と、
前記受付手段で前記不揮発メモリに記録されているデータを消去するとの選択を受け付けた場合、前記不揮発メモリに記録されているデータを消去する消去手段と
を有し、
前記判定手段は、
前記不揮発メモリのセルの書き換え回数に応じた第一のレスポンス値を参照し、前記第一のレスポンス値が所定の値を示す場合、前記不揮発メモリの寿命が近付いていると判定することを特徴とするデータ処理装置。
【請求項５】
前記判定手段で前記第二のレスポンス値が前記第二のレスポンス値に対応する所定の値である第一の値を示すと判定された場合に、前記不揮発メモリに記録されているデータを消去するか否かを表示する表示手段をさらに有し、
前記受付手段は、前記表示手段に前記表示がされた後にユーザーからの選択を受け付けることを特徴とする請求項３に記載のデータ処理装置。
【請求項６】
前記判定手段は、前記受付手段において前記不揮発メモリに記録されているデータを消去しないとの選択を受け付けた後でさらに判定を行ない、前記第二のレスポンス値が前記第一の値の場合よりもさらに寿命が進んでいることを示す前記第二のレスポンス値に対応する所定の値を示すかを判定し、
前記消去手段は、前記判定手段において前記第二のレスポンス値が前記第二のレスポンス値に対応する所定の値を示すと判定された場合、前記不揮発メモリに記録されたデータを消去することを特徴とする請求項５に記載のデータ処理装置。
【請求項７】
前記表示手段は、前記判定手段において前記第二のレスポンス値が前記第二のレスポンス値に対応する所定の値を示すと判定された場合、前記データ処理装置のサービスを停止したことを表示することを特徴とする請求項５または６に記載のデータ処理装置。
【請求項８】
前記判定手段において前記第二のレスポンス値が前記第二のレスポンス値に対応する所定の値を示すと判定された場合、前記データ処理装置のサービスを停止する制御手段をさらに有することを表示することを特徴とする請求項５から７のいずれか一項に記載のデータ処理装置。
【請求項９】
前記判定手段で前記第一のレスポンス値が前記第一のレスポンス値に対応する所定の値である第一の値を示すと判定された場合に、前記不揮発メモリに記録されているデータを消去するか否かを表示する表示手段をさらに有し、
前記受付手段は、前記表示手段に前記表示がされた後にユーザーからの選択を受け付けることを特徴とする請求項４に記載のデータ処理装置。
【請求項１０】
前記判定手段は、前記受付手段において前記不揮発メモリに記録されているデータを消去しないとの選択を受け付けた後でさらに判定を行ない、前記第一のレスポンス値が前記第一の値よりもセルの書き換え回数が多いことを示す第二の値を示すかを判定し、
前記消去手段は、前記判定手段において前記第一のレスポンス値が前記第一の値よりもセルの書き換え回数が多いことを示す第二の値を示すと判定された場合、前記不揮発メモリに記録されたデータを消去することを特徴とする請求項９に記載のデータ処理装置。
【請求項１１】
前記表示手段は、前記判定手段において前記第一のレスポンス値が前記第一の値よりもセルの書き換え回数が多いことを示す第二の値を示すと判定された場合、前記データ処理装置のサービスを停止したことを表示することを特徴とする請求項９または１０に記載のデータ処理装置。
【請求項１２】
前記判定手段において前記第一のレスポンス値が前記第一の値よりもセルの書き換え回数が多いことを示す第二の値を示すと判定された場合、前記データ処理装置のサービスを停止する制御手段をさらに有することを表示することを特徴とする請求項９から１１のいずれか一項に記載のデータ処理装置。
【請求項１３】
前記消去手段は、前記不揮発メモリに記録されている全てのデータを消去することを特徴とする請求項１から１２のいずれか一項に記載のデータ処理装置。
【請求項１４】
前記消去手段は、前記不揮発メモリに記録されている一部のデータを消去することを特徴とする請求項１から１２のいずれか一項に記載のデータ処理装置。
【請求項１５】
前記消去手段は、ユーザーからの選択、または、予め定められた設定に従って前記消去する一部のデータを決定することを特徴とする請求項１４に記載のデータ処理装置。
【請求項１６】
前記消去手段は、前記不揮発メモリに記録されているデータのバックアップを他の記憶媒体に記録した後に、前記消去を行なうことを特徴とする請求項１から１５のいずれか一項に記載のデータ処理装置。
【請求項１７】
不揮発メモリにデータを記録するデータ処理装置におけるデータ処理方法であって、
前記不揮発メモリの寿命が近付いているかを、不揮発メモリに対して発行された寿命確認コマンドのレスポンス値を参照することによって判定する判定ステップと、
前記判定ステップにおいて前記不揮発メモリの寿命が近付いていると判定された場合、前記不揮発メモリに記録されているデータを消去する消去ステップと
を有し、
前記判定ステップでは、前記不揮発メモリの余剰ブロック数に応じたレスポンス値を参照し、前記レスポンス値が所定の値を示す場合、前記不揮発メモリの寿命が近付いていると判定することを特徴とするデータ処理方法。
【請求項１８】
不揮発メモリにデータを記録するデータ処理装置におけるデータ処理方法であって、
前記不揮発メモリの寿命が近付いているかを不揮発メモリに対して発行された寿命確認コマンドのレスポンス値を参照することによって判定する判定ステップと、
前記判定ステップにおいて前記不揮発メモリの寿命が近付いていると判定された場合、前記不揮発メモリに記録されているデータを消去するか否かの選択を受け付ける受付ステップと、
前記受付ステップにおいて前記不揮発メモリに記録されているデータを消去するとの選択を受け付けた場合、前記不揮発メモリに記録されているデータを消去する消去ステップと
を有し、
前記判定ステップでは、前記不揮発メモリの余剰ブロック数に応じた第二のレスポンス値を参照し、前記第二のレスポンス値が所定の値を示す場合、前記不揮発メモリの寿命が近付いていると判定することを特徴とするデータ処理方法。
【請求項１９】
コンピュータを、請求項１から１６のいずれか一項に記載のデータ処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリのデータ処理を行なうデータ処理装置、データ処理方法、及びプログラムに関する。
【背景技術】
【０００２】
メモリの制御に関して、不揮発メモリが寿命に近づいたときに、不揮発メモリへの書込み動作を禁止するように制御することで、不揮発メモリに記録されているデータ破壊を防止する技術がある（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１６７８０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１は、不揮発メモリに記録されているデータを破壊しないように保護することを主眼とした技術である。しかしながら、不揮発メモリに機密性が高いデータが記録されている場合、セキュリティ確保のために、そのデータを保護するのではなくむしろ消去したい状況が想定される。不揮発メモリは寿命が近づくとデータの書き込みができず、データの読み取りのみ可能となる場合がある。データの読み取りのみ可能となってしまった場合には、不揮発メモリに記録されたデータを消去することができなくなってしまう。
【課題を解決するための手段】
【０００５】
本発明に係るデータ処理装置は、不揮発メモリにデータを記録するデータ処理装置であって、前記不揮発メモリの寿命が近付いているかを、不揮発メモリに対して発行された寿命確認コマンドのレスポンス値を参照することによって判定する判定手段と、前記判定手段で前記不揮発メモリの寿命が近付いていると判定された場合、前記不揮発メモリに記録されているデータを消去する消去手段とを有し、前記判定手段は、前記不揮発メモリの余剰ブロック数に応じたレスポンス値を参照し、前記レスポンス値が所定の値を示す場合、前記不揮発メモリの寿命が近付いていると判定することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、不揮発メモリの寿命によって不揮発メモリに記録されたデータを消去することができなくなる前に消去を行なうことが可能となる。
【図面の簡単な説明】
【０００７】
【図１】実施形態に係るデータ処理装置を含むハードウェア構成を示す図である。
【図２】実施形態に係るデータ処理装置のソフトウェアの構成を示す図である。
【図３】実施形態に係るアラーム画面の例を示す図である。
【図４】実施形態に係るアラーム画面の例を示す図である。
【図５】実施形態１に係る動作フローを説明するフローチャートである。
【図６】実施形態２に係る動作フローを説明するフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための形態について図面を用いて説明する。
【０００９】
＜＜実施形態１＞＞
図１は本実施形態におけるデータ処理装置１００を含むハードウェア構成の例を示す図である。図１において、データ処理装置１００はＣＰＵ１０１、ＲＡＭ１０２、不揮発メモリホストＩ／Ｆ１０３、表示部Ｉ／Ｆ１０４、表示部１０５、操作部Ｉ／Ｆ１０６、操作部１０７を有する。
【００１０】
データ処理装置１００は、バス１３０を介して不揮発メモリ１５０と接続されている。なお、図１の例では、データ処理装置１００と不揮発メモリ１５０とを説明の便宜上、別体のものとして説明しているが、データ処理装置１００が不揮発メモリ１５０を含む構成であってもよいことはもちろんである。
【００１１】
不揮発メモリのデータを処理するデータ処理装置１００のＣＰＵ１０１は、データ処理装置１００全体を制御するコントローラであり、各種の演算なども行う。ＲＡＭ１０２はＣＰＵ１０１が動作するためのシステムワークメモリであり、不揮発メモリ１５０などからのデータやプログラムを展開する領域を提供する。ＣＰＵ１０１は、ＲＡＭ１０２に展開されたデータやプログラムを用いて演算や各種制御を行なう。不揮発メモリホストＩ／Ｆ１０３はＣＰＵ１０１の制御により、不揮発メモリ１５０とのデータの入出力を行うインターフェースである。
【００１２】
表示部Ｉ／Ｆ１０４はＣＰＵ１０１の制御により、表示部１０５へ表示信号を送付するインターフェースである。表示部１０５は液晶パネルやＬＥＤなどから成り、表示や点灯／点滅／消灯することで、ユーザーに情報を伝達する。操作部Ｉ／Ｆ１０６は操作部１０７と接続しており、操作部１０７からの電気信号をＣＰＵ１０１に送付するインターフェースである。操作部１０７はタッチパネルやキーなどから成り、ユーザーの操作による情報をＣＰＵ１０１に伝達する。外部Ｉ／Ｆ１０９はＵＳＢ等のインターフェースにより、外部とのデータ入出力を行うことができるように構成されている。これらのモジュールはシステムバス１０８を介してＣＰＵ１０１と接続しており、ＣＰＵ１０１の制御により、互いに連携して動作する。
【００１３】
不揮発メモリ１５０は不揮発メモリＩ／Ｆ１５１、寿命管理部１５２、不揮発メモリマネージャー１５３、不揮発メモリ部１５４、冗長領域１５５を有する。本実施形態では、不揮発メモリの例として、eMMC（Embedded Multi Media Card）の規格に対応したものを挙げて説明するが、これに限られるものではない。
【００１４】
不揮発メモリＩ／Ｆ１５１は、データ処理装置１００とのデータの入出力を行うインターフェースである。寿命管理部１５２は不揮発メモリ１５０の寿命を管理するモジュールである。
【００１５】
不揮発メモリマネージャー１５３は不揮発メモリ部１５４、冗長領域１５５、寿命管理部１５２と接続しており、データ処理装置１００から不揮発メモリＩ／Ｆ１５１を介して受信した各種コマンドを解釈し、そのコマンドに応じた動作を行う。基本的なコマンドとしては、読み込み、書き込み、消去コマンドがあり、所定のアドレスのデータを読み書き、消去することができる。また、不揮発メモリマネージャー１５３は、データ処理装置から寿命確認コマンドを受けると、寿命管理部１５２で管理している不揮発メモリ１５０の寿命を参照して、そのときの不揮発メモリ１５０のセルの状態をレスポンスとしてデータ処理装置１００に返す。
【００１６】
不揮発メモリ部１５４はデータを記録する不揮発メモリ領域であり、複数のセルから構成されている。不揮発メモリマネージャー１５３からの制御により、不揮発メモリ部１５４内のセルに電荷を保持するか否かによりデータを記録し、データの読み書き、消去を行うようになっている。
【００１７】
不揮発メモリ部１５４内のセルは、データの読み書き、消去を繰り返すうちに劣化が進むため、寿命に到達したセルは不良セルとして未使用にし、冗長領域１５５のセルを代替して使用していく。このようなセルの劣化具合を示す情報として書き換え回数や余剰ブロック数が用いられる。このセルの書き換え回数や余剰ブロック数はセルの状態として、寿命管理部１５２により管理される。寿命管理部１５２は、不揮発メモリ部１５４（冗長領域１５５を含む）の各セルの寿命到達と想定している値を書き換え可能な上限数を管理している。例えば、書き換え回数の上限数として１０万回といった値を管理している。一方で、寿命管理部１５２は、実際に書き換えを行なった回数を管理しており、寿命確認コマンドに応じて、書き換え回数の使用率を例えば１０％刻みで示した値をレスポンスとして返すことができる。また、寿命管理部１５２は、この書き換え回数とは別に、余剰ブロック数も管理している。前述のように、寿命に到達したセルは不良セルとして未使用にし、冗長領域１５５のセルを代替して使用していくので、余剰ブロック数が少なくなった場合（つまり、使用している余剰ブロック数が多くなった場合）、寿命が近づいていることを示すことになる。このように、不揮発メモリ部１５４（冗長領域１５５を含む）の寿命は、セルの書き換え回数、または、余剰ブロック数から判定することができる。これらのセルの書き換え回数、または、余剰ブロック数は、別個の次元で管理されている。従って、本実施形態では、このセルの書き換え回数、または、余剰ブロック数のいずれかが寿命に近づいている場合に、不揮発メモリ１５０の寿命が近づいていると判定することができる。
【００１８】
不揮発メモリマネージャー１５３は、データ処理装置１００から寿命確認コマンドを受け取ると、セルの状態を示す情報として、各セルの書き換え回数に応じた値や、冗長領域１５５の余剰ブロック数に応じた値をレスポンスとしてデータ処理装置１００に返す。このときの各セルの書き換え回数に応じた値や、冗長領域１５５の余剰ブロック数に応じた値は、不揮発メモリマネージャー１５３が寿命管理部１５２に所定のコマンドを送信し、このレスポンスとして取得する。
【００１９】
セルの状態を示す情報のうち、各セルの書き換え回数に応じた値としては、前述のように、寿命到達として想定している書き換え回数に対し、どこまで使用したかを１０％刻みで示した値を用いる。冗長領域１５５の余剰ブロック数に応じた値としては、余剰ブロックの８０％を代替として使用した場合、寿命管理部１５２がＷａｒｎｉｎｇとしてフラグを立てるのでこの値を用いることができる。なお、寿命管理部１５２は、その後の不揮発メモリ部の使用を進めてさらに余剰ブロックの１００％を代替として使用したらＵｒｇｅｎｔとしてフラグを立てる。このＵｒｇｅｎｔフラグが立つと、不揮発メモリ１５０はデータの書き込み、消去が出来ずに、読み込みだけ可能な状態となる。
【００２０】
ホスト側（データ処理装置１００側）では、これらの寿命確認コマンドに対するレスポンスの値を確認することで、不揮発メモリ１５０の寿命が残り僅かであることを知ることができる。
【００２１】
図２は本実施形態におけるデータ処理装置１００のソフトウェアの構成を示す図である。データ処理装置１００は、ＵＩ制御部２０１、データ消去要求部２０２、データバックアップ要求部２０３、寿命判定部２０４、不揮発メモリドライバ２０５を有する。
【００２２】
ＵＩ制御部２０１は表示部Ｉ／Ｆ１０４を制御して表示部１０５に情報を表示することでユーザーに情報を通知する制御プログラムであり、ＣＰＵ１０１により制御される。また、ＵＩ制御部２０１は、操作部１０７からのユーザー操作を操作部Ｉ／Ｆ１０６で受け付け、受け付けた操作により、データ消去要求部２０２やデータバックアップ要求部２０３に処理の開始を通知する。
【００２３】
データ消去要求部２０２はＵＩ制御部２０１からの通知を受け、不揮発メモリドライバ２０５にデータ消去要求を通知する。データ消去要求を受け取った不揮発メモリドライバ２０５は不揮発メモリホストＩ／Ｆ１０３を制御し、バス１３０を介して不揮発メモリ１５０に消去コマンドを発行する。これにより不揮発メモリ１５０に記録されたデータが消去される。
【００２４】
また、データバックアップ要求部２０３はＵＩ制御部２０１からの通知を受け、不揮発メモリドライバ２０５にデータ読み込み要求を通知する。データ読み込み要求を受け取った不揮発メモリドライバ２０５は不揮発メモリホストＩ／Ｆ１０３を制御し、バス１３０を介して不揮発メモリ１５０に読み込みコマンドを発行する。読み込まれたデータは、バス１３０を介してデータ処理装置１００に伝送され、システムバス１０８を介して外部Ｉ／Ｆ１０９に接続されたＵＳＢメモリ等のストレージに書き込むように制御される。これにより不揮発メモリ１５０に記録されたデータが消去され、ＵＳＢメモリ等のストレージにバックアップされる。
【００２５】
寿命判定部２０４は、寿命確認コマンドを不揮発メモリドライバ２０５に通知し、そのレスポンス値に応じて、ＣＰＵ１０１の制御により、ＵＩ制御部２０１や、不揮発メモリドライバ２０５を制御する。例えば、寿命確認コマンドのレスポンス値が、各セルの書き換え回数に応じた値＝８０％−９０％だった場合、ＵＩ制御部２０１に不揮発メモリの寿命が近付いているアラーム表示を行うよう通知する。または、寿命確認コマンドのレスポンス値が、余剰ブロックの８０％を代替として使用しているとしてＷａｒｎｉｎｇフラグが立っている場合、寿命判定部２０４はＵＩ制御部２０１に不揮発メモリの寿命が近付いているアラーム表示を行うよう通知する。
【００２６】
このときに、不揮発メモリの寿命が近付いているアラーム表示を行うだけでなく、データの消去を促したり、或いはデータのバックアップ後に消去を実行したり、自動的にデータを消去するように動作させてもよい。つまり、寿命判定部２０４は、レスポンス値に応じてデータの消去をユーザーに促すことなく、データの消去を行なうように不揮発メモリドライバ２０５に通知してもよい。または、寿命判定部２０４で寿命が近づいていると判定した場合、ＣＰＵ１０１の制御により、データ処理装置１００をエラーとして一旦動作を停止させてもよい。その場合、エラーであることを、ＵＩ制御部２０１を制御して表示部１０５に表示するとともに、操作部１０７の操作を受け付けないようにしてもよい。その後、エラー解除後に、ＣＰＵ１０１が不揮発メモリ１５０のデータ消去や、データバックアップ後の消去を実行するようにしてもよい。
【００２７】
また、寿命判定の基準として、各セルの書き換え回数に応じた値＝９０％−１００％を閾値として用いてもよいし、この１０％刻みの値に応じて、アラームの出し方を変えていってもよい。また、データ消去に関して、全領域一括で消去するのではなく、領域を選択可能にし、ユーザーの選択に応じて部分的に消去するようにしてもよい。
【００２８】
図３（ａ）〜（ｄ）は、本実施形態における不揮発メモリ１５０の寿命が近付いた際のアラーム表示画面や、不揮発メモリ１５０のデータ一括消去時の表示画面の例である。図３（ａ）に示すアラーム画面３００は、不揮発メモリ１５０の寿命が近付いた際のアラーム表示画面の例であり、表示部１０５に表示される。アラーム画面３００は、ストレージの寿命が近づいているで、一括消去モードを実行するか否かの選択をユーザーに促す画面を示している。このとき、ユーザーがはいボタン３０１を押下すると、データ処理装置１００は、データ一括消去モードを起動することになる。すなわち、ＵＩ制御部２０１からデータ消去要求部２０２にデータ一括消去モードを起動したことが通知され、データ消去要求部２０２は不揮発メモリドライバ２０５にデータ消去要求を通知する。データ消去要求を受け取った不揮発メモリドライバ２０５は、不揮発メモリホストＩ／Ｆ１０３を制御して消去コマンドを不揮発メモリ１５０に対して発行し、不揮発メモリ１５０のデータを一括消去する。
【００２９】
図３（ｂ）で示す一括消去中画面３０３は、データ一括消去中に、表示部１０５に表示される画面の例を示している。図３（ｃ）で示す一括消去完了画面３０４は、データ一括消去が完了すると、表示部１０５に表示される画面の例を示している。図３（ｃ）で示す一括消去完了画面３０４が表示されている際に、ユーザーがはいボタン３０５を押下すると、データ一括消去モードを終了する。
【００３０】
次に、図３（ａ）のアラーム画面３００が表示されている場合に、ユーザーがいいえボタン３０２を押下した場合の例を説明する。図３（ｄ）のアラーム画面３０６は、図３（ａ）のアラーム画面３００が表示されている場合にユーザーがいいえボタン３０２を押下すると、表示されるアラーム表示画面の例である。図３（ｄ）のアラーム画面３０６は表示部１０５に表示される。図３（ｄ）のアラーム画面３０６は、暫くストレージを使用することができるが、ユーザーデータを一括消去する場合があることをユーザーに確認させている画面の例である。図３（ｄ）のアラーム画面３０６が表示されている場合にユーザーがはいボタン３０７を押下すると、アラーム画面３０６の表示を終了する。
【００３１】
次に、図４（ａ）〜図４（ｄ）を用いて、寿命が近付いた際の別のアラーム表示画面の例を説明する。図４（ａ）のアラーム画面４０８は、不揮発メモリ１５０の寿命が近付いた際のアラーム表示画面の別の例であり、表示部１０５に表示される。寿命判定部２０４からの判定結果を受けたＵＩ制御部２０１は、表示部１０５にサービスエラーが発生した旨のアラーム画面４０８の表示を行う。また、ＵＩ制御部２０１は、エラーが発生したとして、データ処理装置１００の動作を一旦停止させる。
【００３２】
図４（ｂ）に示すアラーム画面４０９は、不揮発メモリ１５０の寿命が近付いた際のアラーム表示画面のさらに別の例であり、表示部１０５に表示される。寿命判定部２０４からの判定結果を受けたＵＩ制御部２０１は、表示部１０５にサービスエラーが発生した旨のアラーム画面４０９の表示を行う。アラーム画面４０９では、ストレージのデータをバックアップ後に、一括消去すること、及び、バックアップ用にＵＳＢメモリをセットすることをユーザーに促している。このとき、ＵＩ制御部２０１は、エラーが発生したとして、データ処理装置１００の動作を一旦停止させる。そして、ユーザーがデータ処理装置１００の外部Ｉ／Ｆ１０９にＵＳＢメモリを接続した後に、はいボタン４１０を押下すると、ＵＩ制御部２０１はこれを受けてデータバックアップ＆一括消去モードを起動する。ＵＩ制御部２０１は、データバックアップ要求部２０３にデータバックアップ要求を通知する。データバックアップ要求部２０３はＵＩ制御部２０１からの通知を受け、不揮発メモリドライバ２０５にデータ読み込み要求を通知する。データ読み込み要求を受け取った不揮発メモリドライバ２０５は不揮発メモリホストＩ／Ｆ１０３を制御し、バス１３０を介して不揮発メモリ１５０に読み込みコマンドを発行する。データ処理装置のＣＰＵ１０１は、読み込みコマンドに応じて不揮発メモリ１５０から読み込んだデータを外部Ｉ／Ｆ１０９に接続されたＵＳＢメモリに書き込む処理を実行する。そして、ＣＰＵ１０１は、ＵＳＢメモリへのデータ書き込みが完了したら、不揮発メモリドライバ２０５にデータ消去要求を通知する。データ消去要求を受け取った不揮発メモリドライバ２０５は不揮発メモリホストＩ／Ｆ１０３を制御し、消去コマンドを発行し、不揮発メモリ１５０のデータを一括消去する。図４（ｃ）の画面表示４１１は、データバックアップ＆データ一括消去中に、表示部１０５に表示される画面の例を示している。図４（ｄ）に示すデータバックアップ＆一括消去完了画面４１２は、データバックアップ後に一括消去まで完了すると、表示部１０５に表示される。図４（ｄ）に示すデータバックアップ＆一括消去完了画面４１２が表示されているときに、ユーザーがはいボタン４１３を押下すると、データバックアップ＆一括消去モードを終了する。
【００３３】
次に、本実施形態におけるデータ処理装置の処理の流れを説明する。図５は、本実施形態における動作フローを説明するフローチャートであり、処理装置１００のＣＰＵ１０１により制御されるソフトウェアの動作を示すフローである。
【００３４】
ステップＳ５０１で寿命判定部２０４は、不揮発メモリ１５０の寿命が近付いたか否かを判定する。ここでは、寿命判定部２０４は不揮発メモリ１５０の寿命が近付くまで待つ。寿命が近付いたかの判定は、寿命判定部２０４が所定のタイミングで不揮発メモリ１５０に対して発行する寿命確認コマンドに応じて不揮発メモリ１５０から返ってきたレスポンス値によって行う。例えば、寿命確認コマンドのレスポンス値が、各セルの書き換え回数に応じた値＝８０％−９０％だった場合、寿命判定部２０４は不揮発メモリの寿命が近付いたと判定し、ステップＳ５０２に進む。
【００３５】
ステップＳ５０２においてＵＩ制御部２０１は、不揮発メモリの寿命が近付いたことを示すアラーム画面３００を表示する。
【００３６】
ステップＳ５０３でＵＩ制御部２０１はユーザーが一括消去の実行を選択したか否かを判定する。例えばアラーム画面３００に示すはいボタン３０１がユーザーによって押下されたことを受け付たか、いいえボタン３０２が押下されたことを受け付たかを判定する。なお、表示部と操作部とが一体となったタッチパネルの場合には、それぞれのボタンを押下（タッチ）したか否かによって受付があったか否かを判定してもよいし、表示部と操作部とが別体となっている場合には、操作部による操作に応じて判定してもよい。ユーザーがはいボタン３０１を押下したことをＵＩ制御部２０１が検知した場合、ステップＳ５０６へ進み、ユーザーがいいえボタン３０２を押下したことをＵＩ制御部２０１が検知した場合、ステップＳ５０４へ進む。なお、ここではユーザーによる操作部の操作に応じて処理を切り替える例を説明したが、例えば所定のタイマーを設けてもよい。例えば、アラーム画面３００が一定時間表示され、ユーザーからの選択操作がない場合には、デフォルトの設定に従ってステップＳ５０４に進むか、またはステップＳ５０６に進む処理であってもよい。また、ここではアラーム画面３００を表示部１０５に表示する例を説明したが、例えば別個に警告用のＬＥＤなどを用意して、それを点灯、点滅などさせる処理でもよい。また、視覚的な通知のみならず、聴覚的な通知で代替してもよい。以下、図５の処理では「表示」を例に挙げて説明するが、ユーザーに情報が伝わればよく、あらゆる態様の報知によって処理が行なわれてもよい。
【００３７】
ユーザーがいいえボタン３０２を押下した場合、ステップＳ５０４でＵＩ制御部２０１は、例えば図３（ｄ）に示すアラーム画面３０６を表示部１０５に表示する。そして、データ処理装置１００を暫くそのまま使用することもできるが、ユーザーデータが自動消去される可能性をユーザーに通知する。すなわち、所定条件になったら自動消去する可能性があることを通知する。
【００３８】
その後、ステップＳ５０５で、寿命判定部２０４は不揮発メモリのセルの状態が所定条件になったか否かを判定する。例えば、寿命判定部２０４は、ステップＳ５０１で判定したセルの状態よりもさらに不揮発メモリの寿命が進んでいるか否かを判定する。不揮発メモリ１５０のセルの状態が所定条件になったと寿命判定部２０４が判定した場合、ステップＳ５０６へ進む。セルの状態の判定は、寿命確認コマンドにより返ってきたレスポンス値によって行う。例えば、寿命判定部２０４は、寿命確認コマンドのレスポンス値が、各セルの書き換え回数に応じた値＝９０％−１００％だった場合に寿命に達したと判定する。または、寿命判定部２０４は、寿命確認コマンドのレスポンス値が、余剰ブロックの８０％を代替として使用したとのＷａｒｎｉｎｇフラグが立った場合に寿命に達したと判定する。
【００３９】
ステップＳ５０６でデータ消去要求部２０２は、不揮発メモリ１５０に記録されたユーザーデータを一括消去するデータ消去要求を発行する。これを受けて、不揮発メモリ１５０の不揮発メモリマネージャー１５３により記録されているユーザーデータを一括消去する処理が行なわれる。なお、ここではユーザーデータを一括消去する処理を例に挙げて説明したが、前述のように、ユーザーデータのバックアップ＆一括消去を行なう処理であってもよい。
【００４０】
なお、上記の処理では、ステップＳ５０１において寿命判定部２０４が不揮発メモリの寿命が近付いたと判定した場合、ステップＳ５０２においてＵＩ制御部２０１がアラーム表示を行う例を説明した。そして、その後、ステップＳ５０３においてユーザーによる選択を受け付ける例を説明した。しかしながら、これらのステップＳ５０２とステップＳ５０３をスキップする処理であってもよい。すなわち、ステップＳ５０１において寿命判定部２０４が不揮発メモリの寿命が近付いたと判定した場合、ステップＳ５０６に進み、データ消去要求部２０２が不揮発メモリに記録されたユーザーデータの消去するように消去要求を出力してもよい。すなわち、不揮発メモリの寿命が近付いた場合には、ユーザーにアラーム表示を表示せず、また、ユーザーによる選択を受け付けることなく、自動的にユーザーデータを一括消去する処理を行なってもよい。
【００４１】
このように、不揮発メモリ１５０のセルの状態を確認しながら、データ処理装置１００による不揮発メモリの制御を行うことで、不揮発メモリ１５０に記録されたデータを消去することができなくなる状態を回避することができる。これによって、不揮発メモリが搭載されたデータ処理装置１００をユーザーのセキュリティを確保しながら利用することができる。
【００４２】
＜＜実施形態２＞＞
図６は、実施形態２における動作フローを説明するフローチャートであり、不揮発メモリのデータ処理装置１００のＣＰＵ１０１により制御されるソフトウェアの動作を示すフローである。
【００４３】
不揮発メモリ１５０に記録されたデータのセキュリティの必要度に関し、全てのデータのセキュリティを確保しなくてもよく、特定の種類のデータだけはセキュリティを確保したい場合がある。例えば、ユーザーの使い方として、ＦＡＸ番号等のアドレス帳データや、書類の雛形等はセキュリティを確保したいが、データ処理装置１００の動作モードを設定する各種設定値等は気にしないといった場合である。そのような場合には、本フローのように動作するのが好ましい。
【００４４】
図６のステップＳ６０１〜Ｓ６０３，Ｓ６０７は、図５のＳ５０１〜Ｓ５０３、Ｓ５０６と同じ処理であるので説明を省略する。
【００４５】
ステップＳ６０４でＵＩ制御部２０１は、図示しないユーザーデータの部分消去選択画面を表示し、ステップＳ６０５でユーザーに消去するデータを選択させる。例えば、ＦＡＸ番号等のアドレス帳データを消去するかなどの消去対象のデータをユーザーに選択させる。また、ステップＳ６０４では全てのデータを消去する選択をユーザーにさせてもよい。
【００４６】
ステップＳ６０６でデータ消去要求部２０２は、不揮発メモリ１５０に記録されたユーザーデータの中からステップＳ６０５でユーザーが選択したデータを部分的に消去するデータ消去要求を発行する。
【００４７】
このように、本実施形態では、セキュリティを気にしないデータはそのまま残す形でデータ処理装置１００を利用することができるので、使い勝手が変わらずにユーザーの利便性が保たれる。
【００４８】
なお、実施形態１で説明したように、アラーム画面の表示を行うことなく、ユーザーデータ消去を行なってもよく、このとき、予め定められた設定に従って、全てのユーザーデータを消去するのではなく、一部のユーザーデータを消去する処理であってもよい。このように、本実施例では、消去対象の一部のデータは、予め設定された情報に基づいて決定されてもよいし、ユーザー選択に応じて決定されてもよい。
【００４９】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006541369.tif 000002
【図２】
0006541369.tif 000003
【図３】
0006541369.tif 000004
【図４】
0006541369.tif 000005
【図５】
0006541369.tif 000006
【図６】
0006541369.tif 000007