(57)【要約】【課題】ホスト装置から不揮発性記憶装置の所定データを物理的に破棄する。【解決手段】メモリコントローラは、データ破棄制御部を備え、ホスト装置が論理アドレスで指定した破棄対象データに対して、物理アドレスを算出して破棄対象データ情報として登録する。データ破棄制御部は、ホスト装置からの所定コマンドに対して、現在の破棄対象データ情報をホスト装置に出力する。ホスト装置からのコマンド受信がない場合、データ破棄制御部は破棄対象データ情報に基づき、破棄対象データの物理消去を実行する。【選択図】図１
2019191910.tif 000002
【特許請求の範囲】
【請求項１】
物理ブロックを複数有する不揮発性メモリに対しデータの書込み及び読込みを行うメモリコントローラであって、
外部装置が指定する論理アドレスと前記物理ブロックとの対応を管理するアドレス変換テーブルと、前記外部装置が前記論理アドレスで指定した破棄対象のデータを前記物理ブロックの情報に変換した破棄対象データ情報とを管理し、前記破棄対象データ情報に基づいてデータの破棄を行う制御部と、
外部装置と接続し、データの送受信を行うホストインタフェース部と、
を備え、
前記制御部は、
前記ホストインタフェース部から、データの破棄状況取得指示を受信したとき、
前記破棄対象データ情報を参照し、未処理の破棄対象のデータに関する情報の出力を行う、
メモリコントローラ。
【請求項２】
前記制御部は、前記外部装置からのコマンドを受信していないときに、前記破棄対象データ情報に基づいて、データの物理的な破棄を行う、
請求項１に記載のメモリコントローラ。
【請求項３】
前記制御部は、データの物理的な破棄のために前記物理ブロックの物理消去を行う、
請求項２に記載のメモリコントローラ。
【請求項４】
前記制御部は、
前記ホストインタフェース部から、データの破棄状況取得指示を受信したとき、
前記破棄対象データ情報を参照し、未処理の破棄対象データが格納されている物理ブロック数の出力を行う、
請求項１に記載のメモリコントローラ。
【請求項５】
前記制御部は、
前記ホストインタフェース部から、データの破棄状況取得指示を受信したとき、
前記破棄対象データ情報を参照し、未処理の破棄対象データを処理するために必要となる予測時間の出力を行う、
請求項１に記載のメモリコントローラ。
【請求項６】
請求項１に記載のメモリコントローラと、
前記メモリコントローラに接続され、前記メモリコントローラによりデータが記録される不揮発性メモリと、
を備える、不揮発性記憶装置。
【請求項７】
請求項１に記載のメモリコントローラと、
前記メモリコントローラに接続され、前記メモリコントローラによりデータが記録される不揮発性メモリと、
前記メモリコントローラに接続され、前記メモリコントローラに対しデータの破棄状況取得指示を送信する外部装置と、
を備える不揮発性記憶システム。
【請求項８】
前記外部装置は、前記メモリコントローラから未処理の破棄対象のデータに関する情報を取得し、未処理の破棄対象データが存在する場合には前記メモリコントローラへのコマンド発信を一定時間停止する、
請求項７に記載の不揮発性記憶システム。
【請求項９】
物理ブロックを複数有する不揮発性メモリに対し、外部装置が指定する論理アドレスと前記物理ブロックとの対応を管理するアドレス変換テーブルと、前記外部装置が前記論理アドレスで指定した破棄対象のデータを前記物理ブロックの情報に変換した破棄対象データ情報とを保持するメモリを用いて、データの破棄を行うメモリ制御方法であって、
外部装置からデータの破棄状況取得指示を受信したとき、
前記破棄対象データ情報を参照し、未処理の破棄対象のデータに関する情報の出力を行う、
メモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データの書換えが可能な不揮発性メモリを制御するメモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法に関する。
【背景技術】
【０００２】
ＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）などの電子機器では記憶装置に画像データなどの機密データを格納する。記憶装置への格納後に不要となった機密データは、セキュリティの観点から速やかに物理的に破棄されることが求められている。（例えば、非特許文献１参照）。
【０００３】
従来、ＭＦＰの記憶装置としては、大容量のデータを格納できるＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）が用いられてきた。ＨＤＤに格納されたデータを物理的に破棄する手法としては、他のデータで１回もしくは複数回上書きするのが一般的であった。
【０００４】
近年はフラッシュメモリ（不揮発性メモリ）の大容量化・低価格化が急速に進んだことで、ＭＦＰの記憶装置はより高速で省電力なＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｅｖｉｃｅ）などの不揮発性記憶装置に置き換わっていくことが予想される。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】「ハードコピーデバイス（ディジタル複合機）のプロテクションプロファイル」情報処理推進機構著、２０１５年９月１０日、ｐ．２６
【発明の概要】
【発明が解決しようとする課題】
【０００６】
不揮発性記憶装置に搭載されるフラッシュメモリには書換え回数制約があるため、不揮発性記憶装置は一般的にアドレス管理テーブルを備えており、データの書込みをフラッシュメモリ全域に分散させることで書換え寿命を改善している。
【０００７】
しかしながら、アドレス管理テーブルによって、ＭＦＰが指定するアドレス（論理アドレス）とフラッシュメモリのアドレス（物理アドレス）の紐付けは可変となる。そのため、ＭＦＰが論理アドレスを指定して書き込んだ機密データに対して、ＭＦＰが同じ論理アドレスを指定して他のデータで上書きしても、該機密データは物理的には上書きされず、フラッシュメモリ内に残存する場合がある。
【０００８】
従って、ＭＦＰ（ホスト装置）はＳＳＤに格納された機密データの状態を把握し、機密データを物理的に破棄するような制御ができないという課題があった。
【０００９】
本開示は、ホスト装置から機密データの状態を把握し、機密データを物理的に破棄するような制御を実施することが可能なメモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法を提供する。
【課題を解決するための手段】
【００１０】
本開示におけるメモリコントローラは、物理ブロックを複数有する不揮発性メモリに対しデータの書込み及び読込みを行うメモリコントローラであって、外部装置が指定する論理アドレスと前記物理ブロックとの対応を管理するアドレス変換テーブルと、前記外部装置が前記論理アドレスで指定した破棄対象のデータを前記物理ブロックの情報に変換した破棄対象データ情報とを管理し、前記破棄対象データ情報に基づいてデータの破棄を行う制御部と、外部装置と接続し、データの送受信を行うホストインタフェース部と、を備え、前記制御部は、前記ホストインタフェース部から、データの破棄状況取得指示を受信したとき、前記破棄対象データ情報を参照し、未処理の破棄対象のデータに関する情報の出力を行う。
【発明の効果】
【００１１】
本開示におけるメモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法は、ホスト装置から機密データの状態を把握し、機密データを物理的に破棄するような制御を実施することができる。そのため、ホスト装置は、不要になった機密データを速やかに物理的に破棄するように、不揮発性記憶装置を制御することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１における不揮発性記憶システムの構成を示す図
【図２】実施の形態１におけるアドレス変換テーブルの構成を示す図
【図３】実施の形態１における物理ブロック管理テーブルの構成を示す図
【図４】実施の形態１における破棄対象データ情報の構成を示す図
【図５】実施の形態１における不揮発性メモリの記録領域である物理ブロックの構成を示す図
【図６】実施の形態１における物理ブロックにおける物理ページの構成を示す図
【図７】実施の形態１におけるホスト装置の構成を示す図
【図８】実施の形態１における不揮発性記憶装置の電源オン後の動作を示すフローチャート
【図９】実施の形態１における不揮発性記憶装置の書込みコマンド受信時の動作を示すフローチャート
【図１０】実施の形態１における、書込みコマンド受信時のアドレス変換テーブル、物理ブロック管理テーブル、破棄対象データ情報、物理ブロック＃４、物理ブロック＃５の状態の例を示す図
【図１１】実施の形態１における、書込みコマンド処理後のアドレス変換テーブル、物理ブロック管理テーブル、破棄対象データ情報、物理ブロック＃４、物理ブロック＃５の状態の例を示す図
【図１２】実施の形態１における破棄登録コマンド受信時の動作を示すフローチャート
【図１３】実施の形態１における、破棄登録コマンド処理後の、アドレス変換テーブル、物理ブロック管理テーブル、破棄対象データ情報、物理ブロック＃４、物理ブロック＃５の状態の例を示す図
【図１４】実施の形態１における破棄状況取得コマンド受信時の動作を示すフローチャート
【図１５】実施の形態１における、ＧＣ／データ破棄処理前の、破棄状況取得コマンドの出力データの例を示す図
【図１６】実施の形態１におけるＧＣ／データ破棄処理の動作を示すフローチャート
【図１７】実施の形態１における、ＧＣ／データ破棄処理のステップＳ１６０４後の、アドレス変換テーブル、物理ブロック管理テーブル、破棄対象データ情報、物理ブロック＃４、物理ブロック＃５の状態の例を示す図
【図１８】実施の形態１における、ＧＣ／データ破棄処理後の、アドレス変換テーブル、物理ブロック管理テーブル、破棄対象データ情報、物理ブロック＃４、物理ブロック＃５の状態の例を示す図
【図１９】実施の形態１における、ＧＣ／データ破棄処理後の、破棄状況取得コマンドの出力データの例を示す図
【図２０】実施の形態１におけるホスト装置の電源オン後の動作を示すフローチャート
【図２１】実施の形態１におけるホスト装置の画像印刷処理の動作を示すフローチャート
【図２２】実施の形態１におけるホスト装置の電源オフ処理開始後の動作を示すフローチャート
【発明を実施するための形態】
【００１３】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【００１４】
なお、添付図面及び以下の説明は、当業者が本開示を十分に理解するために、提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
【００１５】
（実施の形態１）
以下、図１〜２２を用いて、実施の形態１を説明する。
【００１６】
［１−１．構成］
［１−１−１．不揮発性記憶システムの構成］
図１は、本実施の形態における不揮発性記憶システムの構成を示す図である。図１において、不揮発性記憶システム１は、不揮発性記憶装置１００と、その上位装置であるホスト装置２００とを含んでいる。
【００１７】
不揮発性記憶装置１００は、例えば、半導体メモリデバイスであるＳＳＤである。又は、不揮発性記憶装置１００は、ＳＤメモリカード、コンパクトフラッシュ（登録商標）、フラッシュドライブ、組込み用メモリデバイス、でもよい。不揮発性記憶装置１００は、静止画、動画、音声、テキスト等の種々コンテンツのデジタルデータ（以下「コンテンツデータ」と称す）を格納することができる。不揮発性記憶装置１００は、上位装置であるホスト装置２００と接続可能である。ホスト装置２００は、外部装置の一例である。
【００１８】
不揮発性記憶装置１００は、メモリコントローラ１１０と、不揮発性メモリ１２０とを備える。
【００１９】
ホスト装置２００は、コンテンツデータを不揮発性記憶装置１００に記録し、また、不揮発性記憶装置１００からコンテンツデータを読み出す。ホスト装置２００は、例えば、ＭＦＰと呼ばれる複合機、デジタルカメラ、パーソナルコンピュータ、スマートフォン、タブレット端末、テレビ等の電子機器である。
【００２０】
不揮発性メモリ１２０は、電源供給がない状態でもコンテンツデータの保持が可能な記録素子である。不揮発性メモリ１２０は、例えば、ＮＡＮＤフラッシュメモリにより構成される。
【００２１】
［１−１−２．メモリコントローラの構成］
次に不揮発性記憶装置１００のメモリコントローラ１１０の構成について詳細に説明する。メモリコントローラ１１０は、ホスト装置２００からのコマンドと関連するアドレス情報を受信して不揮発性メモリ１２０に対するコンテンツデータの書込み及び読出しを制御する。
【００２２】
メモリコントローラ１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、ホストインタフェース部１１１と、ＥＣＣ（Ｅｒｒｏｒ Ｃｏｒｒｅｃｔｉｎｇ Ｃｏｄｅ）回路１１５と、メモリインタフェース部１１６と、制御情報記憶部１１７と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１８と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１９と、を含み、これらがバスを介して接続されている。
【００２３】
ＣＰＵ１０１は、各種プログラム等を実行する演算ユニットである。
【００２４】
ホストインタフェース部１１１は、ＣＰＵ１０１の制御によりホスト装置２００との間でコマンドやコンテンツデータ等のデータの送受信を行うインタフェースである。
【００２５】
メモリインタフェース部１１６は、ＣＰＵ１０１の制御により不揮発性メモリ１２０に対するデータの書込み、読込み、及び消去の制御を行うインタフェースである。
【００２６】
ＥＣＣ回路１１５は、記憶するデータの符号化処理及び記憶されたデータの復号化処理を行う誤り訂正回路である。ＥＣＣ回路１１５により機能する誤り訂正制御部１１５ａは、不揮発性メモリ１２０に書込まれたコンテンツデータに生じた誤りを復元する。
【００２７】
制御情報記憶部１１７は、ＣＰＵ１０１により処理される制御情報や不揮発性メモリ１２０の管理情報を記憶するメモリである。
【００２８】
ＲＡＭ１１８は、ＣＰＵ１０１の処理において実行されるプログラム、及びプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用される。ＲＯＭ１１９は、ＣＰＵ１０１が実行するプログラム、或いは演算パラメータとしての固定データを格納する。
【００２９】
ＣＰＵ１０１は、書込み制御部１１２、読出し制御部（図示せず）、ＧＣ制御部１１３、及びデータ破棄制御部１１４を備える。
【００３０】
書込み制御部１１２は、ホストインタフェース部１１１で受信したコンテンツデータを不揮発性メモリ１２０へ書き込むための制御を行う。
【００３１】
読出し制御部（図示せず）は、不揮発性メモリ１２０に格納されたコンテンツデータをホストインタフェース部１１１経由でホスト装置２００へ出力するための制御を行う。
【００３２】
ＧＣ制御部１１３は、不揮発性メモリ１２０に格納されたコンテンツデータのうち、上書きやデータ破棄などによって無効となったコンテンツデータを集約し、新たなコンテンツデータの格納のための領域として確保する処理（すなわち、ガベージコレクション処理）の制御を行う。
【００３３】
データ破棄制御部１１４は、不揮発性メモリ１２０に格納したコンテンツデータを物理消去などの手段によって物理的に破棄するための制御を行う。
【００３４】
制御情報記憶部１１７は、アドレス変換テーブル１１７ａと、物理ブロック管理テーブル１１７ｂと、破棄対象データ情報１１７ｃとを格納する記憶領域である。
【００３５】
なお、制御情報記憶部１１７はメモリコントローラ１１０上ではなく、不揮発性メモリ１２０上に設けても良いし、メモリコントローラ１１０からアクセス可能なＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を用意して、そのＤＲＡＭ上に設けても良い。
【００３６】
図２は、本実施の形態におけるアドレス変換テーブル１１７ａの構成を示す図である。アドレス変換テーブル１１７ａは、ホスト装置２００が使用する論理アドレス３０１と、不揮発性メモリ１２０の物理アドレス（すなわち、物理ブロックアドレス３０２、及び、物理ページアドレス３０３）との対応を示す情報を格納するテーブルである。
【００３７】
図２において、アドレス変換テーブル１１７ａは、論理アドレス「０」に対して、物理ブロックアドレス「３９」、物理ページアドレス「６３」であり、論理アドレス「１」に対して、物理ブロックアドレス「２６」、物理ページアドレス「１５１」である。論理アドレス「２」以降についても、同様に、物理ブロックアドレスと物理ページアドレスの対応が格納されている。また、論理ブロック「７」や論理ブロック「９」に対しては物理アドレスが割当てられておらず、「未割当」を示す値が格納されている。
【００３８】
図３は、本実施の形態における物理ブロック管理テーブル１１７ｂの構成を示す図である。物理ブロック管理テーブル１１７ｂは、不揮発性メモリ１２０を構成する物理ブロック毎の使用状況を管理するために、物理ブロックアドレス３０２と物理ブロック用途３０４と有効データページ数３０５とを対応付けて格納する。
【００３９】
図３において、物理ブロック用途３０４は、物理ブロックアドレス３０２で示される物理ブロックの用途を格納する。
【００４０】
「システム」は、該物理ブロックに不揮発性記憶装置１００が内部的に管理しているシステム情報（各種パラメータ情報、ＲＡＭ１１８にロードするプログラム、制御情報記憶部にロードするアドレス変換テーブル１１７ａや物理ブロック管理テーブル１１７ｂや破棄対象データ情報１１７ｃに関連する情報、等）を格納していることを示す。
【００４１】
「データ」は、該物理ブロックにホスト装置２００が書き込んだデータを格納していることを示す。
【００４２】
「不可（不良）」は、該物理ブロックが先天的または後天的な不良ブロックであり、データ格納に使用されていないことを示す。
【００４３】
「空き」は、該物理ブロックが空き（未使用）であり、ホスト装置２００からの新たなデータ書込みやガベージコレクション処理におけるデータ書込みに使用できることを示す。
【００４４】
図３において、有効データページ数３０５は、物理ブロックアドレス３０２で示される物理ブロックの物理ブロック用途３０４が「システム」または「データ」のときに、該物理ブロックに含まれる物理ページのうち、有効なデータが存在するページ数を格納する。物理ブロック用途３０４が「システム」の場合、有効なデータとは、システム情報を指す。物理ブロック用途３０４が「データ」の場合、有効なデータとは、ホスト装置２００が同一の論理アドレスに対して書込んだデータのうち、最新データを指す。（例えば、ホスト装置２００が同一の論理アドレスに対して、３回書込みをおこなった場合、３回目に書込んだデータのみが有効なデータであり、１回目及び２回目に書込んだデータは有効なデータではない（無効なデータである）。
【００４５】
図３において、物理ブロック管理テーブル１１７ｂは、物理ブロックアドレス「０」の物理ブロック用途は「システム」であり、有効データページ数「６４」である。物理ブロックアドレス「１」の物理ブロック用途は「データ」であり、有効データページ数「６」である。物理ブロックアドレス「２」以降についても、同様に、物理ブロック用途と有効データページ数の情報が格納されている。
【００４６】
図４は、本実施の形態における破棄対象データ情報１１７ｃの構成を示す図である。破棄対象データ情報１１７ｃは、破棄すべきデータを含んでいる物理ブロック（破棄対象ブロック）の登録数である破棄対象ブロック登録数３０６と、各破棄対象ブロックの物理ブロックアドレス３０２である破棄対象ブロック＃１アドレス３０７１、破棄対象ブロック＃２アドレス３０７２、…（破棄対象ブロックの登録数分の繰り返し）、とを格納する。
【００４７】
図４において、破棄対象ブロック登録数３０６は「１」個であり、破棄対象ブロック＃１のアドレスは「４」である。
【００４８】
［１−１−３．不揮発性メモリの構成］
次に不揮発性記憶装置１００の不揮発性メモリ１２０の構成について説明する。図５は、本実施の形態における不揮発性メモリ１２０の記録領域である物理ブロックの構成を示す図である。
【００４９】
不揮発性メモリ１２０は、複数の物理ブロック１２１で構成される。物理ブロック１２１は消去単位であり、この単位でデータの物理的な消去が実行される。不揮発性メモリ１２０にデータを格納するためには、物理ブロック１２１の単位でデータの物理的な消去を行った後、データを書込む必要がある。物理ブロック１２１のデータを物理的に消去せずに新たなデータを書込むことはできない。
【００５０】
図６は、本実施の形態における物理ブロック１２１の構成を示す図である。
【００５１】
物理ブロック１２１は複数の物理ページ１２２で構成される。物理ページ１２２は物理ブロック１２１へのデータの書込み単位である。
【００５２】
本実施の形態では物理ページの単位を１６ｋＢとし、物理ブロックの単位を４ＭＢ（すなわち、（１６ｋＢ×２５６ページ）とする。
【００５３】
［１−１−４．ホスト装置の構成］
次にホスト装置２００の構成について説明する。図７は、本実施の形態におけるホスト装置を示した構成図である。
【００５４】
ホスト装置２００は、不揮発性記憶装置１００と接続可能な装置である。
【００５５】
ホスト装置２００は、ＣＰＵ２１１と、ＲＡＭ２１２と、ＲＯＭ２１３と、メモリインタフェース部２１４とを含み、これらがバスを介して接続されている。ホスト装置２００はまた、入力部２１５と、表示部２１６と、記憶部２１７と、外部インタフェース部２１８と、スキャナ２１９と、印刷部２２０とを含み、これらが所定のインタフェースを介してバスを介して接続されている。
【００５６】
ＣＰＵ２１１は、各種アプリケーションプログラム等を実行する演算ユニットである。ＲＡＭ２１２は、ＣＰＵ２１１の処理において実行されるプログラム、及びプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用される。ＲＯＭ２１３は、ＣＰＵ２１１が実行するプログラム、或いは演算パラメータとしての固定データを格納する。
【００５７】
メモリインタフェース部２１４は、ＣＰＵ２１１の制御により不揮発性記憶装置１００に対して、コマンドやコンテンツデータ等のデータの送受信を行うインタフェースである。
【００５８】
入力部２１５は、ＣＰＵ２１１に各種の指令を入力するためにユーザにより操作されるキー、ボタン、タッチパネル、マウス、キーボード等である。
【００５９】
表示部２１６は、例えば液晶ディスプレイや有機ＥＬ（ＥｌｅｃｔｒｏＬｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等であり、各種情報をテキスト又はイメージ等により表示する。
【００６０】
記憶部２１７は、情報記憶媒体としての例えばフラッシュメモリ、ハードディスクを有する。
【００６１】
外部インタフェース部２１８は、パソコン等の別のホスト装置とコマンドやコンテンツデータ等の送受信を行うインタフェースで、イーサネット（登録商標）、無線ＬＡＮ等である。
【００６２】
スキャナ２１９は、紙に記録された情報を電子データに変換して取込むための機能ブロックである。
【００６３】
印刷部２２０は、電子データを紙に印刷して出力するための機能ブロックである。
【００６４】
［１−２．動作］
以上のように構成された不揮発性記憶装置１００の動作を以下に説明する。
【００６５】
［１−２−１−１．電源オン後の動作］
まず、不揮発性記憶装置１００における電源オン後の動作について説明する。
【００６６】
図８は、本実施の形態における不揮発性記憶装置１００の電源オン後の動作を示すフローチャートである。
【００６７】
ホスト装置２００が不揮発性記憶装置１００に対して、コンテンツデータの書込み、または、コンテンツデータの読出しを行う前に、不揮発性記憶装置１００の電源をオンにする。
【００６８】
（Ｓ８０１）不揮発性記憶装置１００は電源オン後にメモリコントローラ１１０の初期化処理を行い、ホスト装置２００からの各種コマンドを受付け可能な状態にする。具体的には、ＲＯＭ１１９に格納されたプログラムの実行、不揮発性メモリ１２０にアクセスするための初期化処理、不揮発性メモリ１２０に格納されたシステム情報の読出し、ＲＡＭ１１８へのプログラムのロード、制御情報記憶部１１７への情報設定、などを行う。
【００６９】
（Ｓ８０２）次に、メモリコントローラ１１０はホスト装置２００からコマンドを受信したかどうかを確認する。コマンドを受信している場合（Ｙｅｓの場合）はステップＳ８０３に処理を進め、受信していない場合（Ｎｏの場合）はステップＳ８０４に処理を進める。
【００７０】
（Ｓ８０３）次に、メモリコントローラ１１０は受信したコマンドの種類を確認し、コマンドの種類に応じた処理を実施する。コマンドの種類毎の処理は後述する。
【００７１】
（Ｓ８０４）次に、メモリコントローラ１１０は制御情報記憶部１１７の破棄対象データ情報１１７ｃを参照し、破棄対象ブロック登録数３０６が１以上であるかを確認することで破棄対象ブロックの有無を判定する。破棄対象ブロック登録数３０６が１以上の場合（Ｙｅｓの場合）はステップＳ８０５に処理を進め、破棄対象ブロック登録数３０６が０の場合（Ｎｏの場合）はステップＳ８０６に処理を進める。
【００７２】
（Ｓ８０５）次に、メモリコントローラ１１０は破棄対象ブロックに対するＧＣ／データ破棄処理を実施する。ＧＣ／データ破棄処理の詳細は後述する。
【００７３】
（Ｓ８０６）次に、メモリコントローラ１１０は制御情報記憶部１１７の物理ブロック管理テーブル１１７ｂを参照し、物理ブロック用途３０４が「空き」となっている物理ブロックが所定数Ｎよりも小さいどうかを確認することで、空きブロック確保の要否を判定する。「空き」の物理ブロックの数が所定数Ｎよりも小さい場合（Ｙｅｓの場合）はステップＳ８０７に処理を進め、「空き」の物理ブロックの数が所定数Ｎ以上の場合（Ｎｏの場合）はステップＳ８０２に処理を進める。
【００７４】
（Ｓ８０７）次に、メモリコントローラ１１０は制御情報記憶部１１７の物理ブロック管理テーブル１１７ｂを参照し、物理ブロック用途が「データ」となっているもののうち、有効データページ数３０５の値が最小のものをＧＣ対象ブロックとして選択し、ＧＣ対象ブロックに対するＧＣ／データ破棄処理を実施する。ＧＣ／データ破棄処理の詳細は後述する。
【００７５】
図８のフローチャートで示すように、本実施の形態ではＧＣ／データ破棄処理の対象として、破棄対象ブロックを優先的に選択しており、これによって機密データ等が含まれる破棄対象ブロックを速やかに物理消去することが可能である。
【００７６】
［１−２−１−２．データの書込み動作］
次に、不揮発性記憶装置１００におけるデータの書込み動作について説明する。すなわち、Ｓ８０３において、コマンドの種類がデータ書込みコマンドであった場合の動作について説明する。
【００７７】
図９は、本実施の形態における不揮発性記憶装置１００のデータ書込みコマンド受信時の動作を示すフローチャートである。
【００７８】
本フローチャートの開始時点においては、図１０に示す状態（アドレス変換テーブル１１７ａ、物理ブロック管理テーブル１１７ｂ、破棄対象データ情報１１７ｃ、物理ブロック＃４は先頭ページから物理ページ＃２５３までデータ書込み済、物理ブロック＃５は全ページ消去済）であるものとして、以下説明する。
【００７９】
ホスト装置２００がコンテンツデータを不揮発性記憶装置１００に書込む際、ホスト装置２００は、書込みコマンドを発行し、書込みアドレスを指定して不揮発性記憶装置１００のメモリコントローラ１１０に通知する。
【００８０】
（Ｓ９０１）メモリコントローラ１１０のホストインタフェース部１１１は、書込みコマンドと書込み先の論理アドレスを受信する。例えば、書き込み先の論理アドレスが「３」から「４」までの２区間の場合について、以下の書き込み動作を説明する。本実施の形態では論理アドレスの１区間を１６ｋＢとし、１つの物理ページに１論理アドレスのデータが収まるものとする。
【００８１】
（Ｓ９０２）次に、ＣＰＵ１０１において、書込み制御部１１２は書込みデータを格納するための空きブロックを確保する必要があるかを判定する。（Ａ）物理ブロック管理テーブル１１７ｂの物理ブロック用途３０４が「データ」であり、物理ブロックの途中ページまでデータを書き込んだ状態で以降のページに追記できるような物理ブロックが存在する場合、あるいは、（Ｂ）物理ブロック管理テーブル１１７ｂに物理ブロック用途３０４が「空き」である物理ブロックが所定数Ｍ以上存在し、この中の１つをデータの書込み用に確保できる場合（Ｎｏの場合）はステップＳ９０６に処理を進める。（Ａ）でも（Ｂ）でもない場合（Ｙｅｓの場合）はステップ９０３に処理を進める。図１０に示す状態では、（Ａ）に相当する物理ブロック（物理ブロック＃４）が存在するので、Ｓ９０６に処理を進める。
【００８２】
（Ｓ９０３）次に、ＣＰＵ１０１において、制御情報記憶部１１７の破棄対象データ情報１１７ｃを参照し、破棄対象ブロック登録数３０６が１以上であるかを確認することで破棄対象ブロックの有無を判定する。破棄対象ブロック登録数３０６が１以上の場合（Ｙｅｓの場合）はステップＳ９０４に処理を進め、破棄対象ブロック登録数３０６が０の場合（Ｎｏの場合）はステップＳ９０５に処理を進める。
【００８３】
（Ｓ９０４）次に、ＣＰＵ１０１において、破棄対象ブロックに対するＧＣ／データ破棄処理を実施する。ＧＣ／データ破棄処理の詳細は後述する。ＧＣ／データ破棄処理を実施することで、物理ブロック管理テーブル１１７ｂに物理ブロック用途３０４が「空き」である物理ブロックが所定数Ｍ以上存在する状態とし、この中の１つをデータの書込み用に確保してＳ９０６の処理に進む。
【００８４】
（Ｓ９０５）次に、ＣＰＵ１０１において、制御情報記憶部１１７の物理ブロック管理テーブル１１７ｂを参照し、物理ブロック用途が「データ」となっているもののうち、有効データページ数３０５の値が最小のものをＧＣ対象ブロックとして選択し、ＧＣ対象ブロックに対するＧＣ／データ破棄処理を実施する。ＧＣ／データ破棄処理の詳細は後述する。ＧＣ／データ破棄処理を実施することで、物理ブロック管理テーブル１１７ｂに物理ブロック用途３０４が「空き」である物理ブロックが所定数Ｍ以上存在する状態とし、この中の１つをデータの書込み用に確保してＳ９０６の処理に進む。
【００８５】
（Ｓ９０６）次に、ＣＰＵ１０１において、書込み制御部１１２は、ホストインタフェース部１１１経由で受信したホスト装置２００からの書込みデータを、Ｓ９０２、Ｓ９０４、またはＳ９０５で確保した物理ブロックに書込む。図１０に示す状態では、物理ブロック＃４に書込む。Ｓ９０１で２区間の論理アドレスを受信しているので、物理ブロック＃４には１６ｋＢ×２区間で３２ｋＢ、すなわち物理ページ２つ分のデータを書込む。
【００８６】
（Ｓ９０７）次に、ＣＰＵ１０１において、書込み制御部１１２は、Ｓ９０６での書込みに応じて制御情報記憶部１１７のアドレス変換テーブル１１７ａ、物理ブロック管理テーブル１１７ｂを更新する。さらに、アドレス変換テーブル１１７ａ、物理ブロック管理テーブル１１７ｂの更新内容にあわせて、不揮発性メモリ１２０に格納しているシステム情報も更新し、書込みコマンド処理を終了する。
【００８７】
図１１に、書込みコマンド処理実施後のアドレス変換テーブル１１７ａ、物理ブロック管理テーブル１１７ｂ、破棄対象データ情報１１７ｃ、物理ブロック＃４、物理ブロック＃５の状態を示す。ホスト装置２００から受信した論理アドレス「３」および「４」の書込みデータは物理ブロック＃４の物理ページ＃２５４および＃２５５に格納されている。
【００８８】
以降、ここで書き込んだ論理アドレス「３」および「４」のデータは、物理的に破棄することが必要となる機密データであるものとして、該機密データが物理的に破棄されるまでの動作を順に説明していく。
【００８９】
［１−２−１−３．データの破棄登録動作］
次に、不揮発性記憶装置１００におけるデータの破棄登録動作について説明する。すなわち、Ｓ８０３において、コマンドの種類が破棄登録コマンドであった場合の動作について説明する。
【００９０】
図１２は、本実施の形態における不揮発性記憶装置１００の破棄登録コマンド受信時の動作を示すフローチャートである。
【００９１】
本フローチャートの開始時点においては、図１１に示す状態（アドレス変換テーブル１１７ａ、物理ブロック管理テーブル１１７ｂ、破棄対象データ情報１１７ｃ、物理ブロック＃４は全ページ書込み済、物理ブロック＃５は全ページ消去済）であるものとして、以下説明する。
【００９２】
不揮発性記憶装置１００に書き込んだ機密データを物理的に破棄するために、ホスト装置２００は破棄登録コマンドを発行し、破棄対象データの論理アドレスを指定して不揮発性記憶装置１００のメモリコントローラ１１０に通知する。
【００９３】
（Ｓ１２０１）メモリコントローラ１１０のホストインタフェース部１１１は、破棄登録コマンドとデータ破棄対象の論理アドレスを受信する。破棄対象データの論理アドレスが「３」から「４」までの２区間であった場合について、以下登録破棄動作を説明する。
【００９４】
（Ｓ１２０２）次に、ＣＰＵ１０１において、データ破棄制御部１１４は、制御情報記憶部１１７のアドレス変換テーブル１１７ａを参照し、指定された論理アドレスに対応する物理ブロックアドレス３０２を取得する。指定された論理アドレスである「３」および「４」に対応する物理ブロックアドレスは「４」である。
【００９５】
（Ｓ１２０３）次に、ＣＰＵ１０１において、データ破棄制御部１１４は、制御情報記憶部１１７の破棄対象データ情報１１７ｃにＳ１２０２で取得した物理ブロックアドレス「４」を登録する。すなわち、破棄対象データ情報１１７ｃの破棄対象ブロック登録数３０６を「０」から「１」に更新し、破棄対象ブロック＃１アドレス３０７１を「登録なし」から「４（すなわち、Ｓ１２０２で取得した物理ブロックアドレス）」に更新する。さらに、破棄対象データ情報１１７ｃの更新内容にあわせて、不揮発性メモリ１２０に格納しているシステム情報も更新する。
【００９６】
（Ｓ１２０４）次に、ＣＰＵ１０１において、データ破棄制御部１１４は、制御情報記憶部１１７のアドレス変換テーブル１１７ａにおいて、Ｓ１２０１で取得した論理ブロックアドレス「３」および「４」を無効化する。すなわち、アドレス変換テーブル１１７ａの論理アドレス３０１が「３」および「４」に対応する物理ブロックアドレス３０２、および物理ページアドレス３０３を「未割当」に更新する。さらに、アドレス変換テーブル１１７ａの更新内容にあわせて、不揮発性メモリ１２０に格納しているシステム情報も更新し、破棄登録コマンド処理を終了する。
【００９７】
図１３に、破棄登録コマンド処理実施後のアドレス変換テーブル１１７ａ、物理ブロック管理テーブル１１７ｂ、破棄対象データ情報１１７ｃ、物理ブロック＃４、物理ブロック＃５の状態を示す。ホスト装置２００から受信した論理アドレス「３」および「４」
に対応するデータを格納していた物理ブロック＃４は、破棄対象データ情報１１７ｃに登録されている。アドレス変換テーブル１１７ａにおいて、論理アドレス「３」および「４」には物理アドレスが未割当となっているため、物理ブロック＃４の物理ページ＃２５４および＃２５５に格納されている機密データは論理的に無効となっているが、物理的には存在している状態である。
【００９８】
図１３の状態でホスト装置２００が論理アドレス「３」および「４」の読出しを行った場合、すなわち、Ｓ８０３において、コマンドの種類が読出しコマンドであった場合は、メモリコントローラ１１０のＣＰＵ１０１において、読出し制御部（図示せず）は、制御情報記憶部１１７のアドレス変換テーブル１１７ａを参照し、指定された論理アドレスに対応する物理ブロックアドレス３０２が「未割当」となっていることを確認し、論理アドレス「３」および「４」のデータとして所定の固定値（例えば全て０ｘＦＦ）をホストインタフェース部１１１経由でホストに出力する。従って、ホストインタフェース部１１１を介して物理ブロック＃４の物理ページ＃２５４および＃２５５に格納されている機密データがホスト装置２００に出力されることはない。
【００９９】
図１２のフローチャートで示すように、本実施の形態では破棄対象データ情報１１７ｃを更新するときに、不揮発性メモリ１２０に格納されているシステム情報も更新している。これによって、破棄登録コマンドの処理中に意図しない電源遮断が発生したときにも、不揮発性記憶装置１００は再度電源オンの動作を行ったときに、不揮発性メモリ１２０に格納されているシステム情報から破棄対象データ情報１１７ｃを復旧し、破棄対象ブロックに対するデータ破棄処理を着実に継続することができる。
【０１００】
また、図１２のフローチャートで示すように、本実施の形態では破棄対象データ情報１１７ｃを更新した後にアドレス変換テーブル１１７ａにおいて指定論理アドレスのデータを無効化している。これによって、破棄対象データ情報１１７ｃの更新が完了する前に意図しない電源遮断が発生したときには、ホスト装置２００は指定論理アドレスを読出すことで機密データが残っていることを検出できるので、再度破棄登録の処理からやり直すことができ、データ破棄処理を着実に継続することができる。
【０１０１】
［１−２−１−４．データの破棄状況取得動作］
次に、不揮発性記憶装置１００におけるデータの破棄状況取得動作について説明する。
すなわち、Ｓ８０３において、コマンドの種類が破棄状況取得コマンドであった場合の動作について説明する。
【０１０２】
図１４は、本実施の形態における不揮発性記憶装置１００の破棄状況取得コマンド受信時の動作を示すフローチャートである。
【０１０３】
図１５に破棄状況取得コマンドの出力データ４００を示す。出力データ４００は、少なくとも破棄対象ブロック登録数４０１、必要ウエイト時間４０２、累積破棄ブロック数４０３、累積破棄時間４０４を格納するテーブルである。
【０１０４】
本フローチャートの開始時点においては、図１３に示す状態（アドレス変換テーブル１１７ａ、物理ブロック管理テーブル１１７ｂ、破棄対象データ情報１１７ｃ、物理ブロック＃４は全ページ書込み済、物理ブロック＃５は全ページ消去済）であるものとし
て、以下説明する。
【０１０５】
不揮発性記憶装置１００に書き込んだ機密データの破棄状況を確認するために、ホスト装置２００は、破棄状況取得コマンドを発行し、不揮発性記憶装置１００のメモリコントローラ１１０に通知する。
【０１０６】
（Ｓ１４０１）メモリコントローラ１１０のホストインタフェース部１１１は、破棄状況取得コマンドを受信したことをＣＰＵ１０１に通知する。ＣＰＵ１０１において、データ破棄制御部１１４は、制御情報記憶部１１７の破棄対象データ情報１１７ｃを参照して破棄対象ブロック登録数３０６の値を取得し、出力値（破棄登録ブロック登録数４０１）とする。
【０１０７】
さらに、データ破棄制御部１１４は、破棄対象ブロック＃１のアドレス３０７の値を参照して破棄対象ブロックの物理ブロックアドレスを取得する。そして、物理ブロック管理テーブル１１７ｂを参照することで、破棄対象ブロックに含まれる有効データページ数を取得し、該破棄対象ブロックに対して後述するＧＣ／データ破棄処理に必要となる時間を算出し、出力値（必要ウエイト時間４０２）とする。なお、ＧＣ／データ破棄処理に必要となる時間は（有効データページ数）×（１ページあたりのコピー時間［固定値］）＋（その他の処理時間［固定値］）所定で算出する。
【０１０８】
さらに、データ破棄制御部１１４は、制御情報記憶部１１７の破棄対象データ情報１１７ｃを参照して累積破棄ブロック数（図示せず）を取得し、出力値（累積破棄ブロック数４０３）とする。ここで、累積破棄ブロック数とは、破棄登録コマンドによって登録された破棄対象ブロックが後述するＧＣ／データ破棄処理を実施された数であり、不揮発性記憶装置１００が製造されてからの累積値である。
【０１０９】
さらに、データ破棄制御部１１４は、制御情報記憶部１１７の破棄対象データ情報１１７ｃを参照して累積破棄時間（図示せず）を取得し、出力値（累積破棄時間４０４）とする。ここで、累積破棄時間とは、破棄登録コマンドによって登録された破棄対象ブロックが後述するＧＣ／データ破棄処理を実施するときにかかった時間であり、不揮発性記憶装置１００が製造されてからの累積値である。実際にかかった時間を測定して加算して決定してもよいし、各破棄対象ブロックで算出した必要ウエイト時間を加算してもよい。
【０１１０】
（Ｓ１４０２）次に、ホストインタフェース部１１１は、ホスト装置２００にステップＳ１４０１で準備した出力データ４００の各値を出力する。
【０１１１】
以上の処理を行うことにより、破棄状況取得コマンドの出力データ４００は図１５のようになる。破棄対象ブロック登録数４０１は「１」である。この「１」個の破棄対象ブロックのデータ破棄処理を実行するのに必要な待ち時間である必要ウエイト時間４０２は「５００」ｍｓである。また、これまでにデータ破棄処理を実行した数である累積破棄ブロック数は「３２８」個であり、これらのデータ破棄処理に要した累積破棄時間４０４は「１３１２００」ｍｓである。
【０１１２】
ホスト装置２００は、破棄対象ブロック登録数４０１および必要ウエイト時間４０２を参照することで、現時点で残っているデータ破棄処理の状態を確認でき、必要に応じて不揮発性記憶装置１００に後述するＧＣ／データ破棄処理を実行させることができる。
【０１１３】
さらに、ホスト装置２００は、累積破棄ブロック数４０３および累積破棄時間４０４を参照することで、データ破棄処理に要した処理量を把握することができる。ホスト装置２００の開発中であれば、処理量を確認しつつデータ破棄処理の実施方法を調整する（例えば、複数の機密データを一括して破棄登録する、など）ことが可能となる。
【０１１４】
［１−２−１−５．ＧＣ／データ破棄動作］
次に、不揮発性記憶装置１００におけるＧＣ／データ破棄動作について説明する。すなわち、Ｓ８０５、Ｓ８０７、Ｓ９０４、Ｓ９０５における動作の詳細について説明する。
【０１１５】
図１６は、本実施の形態におけるＧＣ／データ破棄処理の動作を示すフローチャートである。
【０１１６】
本フローチャートの開始時点においては、図１３に示す状態（アドレス変換テーブル１１７ａ、物理ブロック管理テーブル１１７ｂ、破棄対象データ情報１１７ｃ、物理ブロック＃４は全ページ書込み済、物理ブロック＃５は全ページ消去済）であるものとし
て、以下説明する。
【０１１７】
不揮発性記憶装置１００に書き込んだ機密データの物理的な破棄を促すために、ホスト装置２００は、一時的に不揮発性記憶装置１００に対するコマンド発行を停止した状態で待ち、不揮発性記憶装置１００のメモリコントローラ１１０にコマンド発行がないことを通知する。
【０１１８】
（Ｓ１６０１）メモリコントローラ１１０のＣＰＵ１０１において、ＧＣ制御部１１３は、処理対象ブロックの物理ブロックアドレスを取得する。Ｓ８０５またはＳ９０４の処理であれば処理対象ブロックは破棄対象ブロックであり、制御情報記憶部１１７の破棄対象データ情報１１７ｃの破棄対象ブロック＃１アドレス３０７１を参照して物理ブロックアドレス「４」を取得する。Ｓ８０７またはＳ９０５であれば処理対象ブロックはＧＣ対象ブロックであり、制御情報記憶部１１７の物理ブロック管理テーブル１１７ｂを参照して物理ブロックアドレスを取得する。
【０１１９】
（Ｓ１６０２）次に、ＣＰＵ１０１において、ＧＣ制御部１１３は、物理ブロック管理テーブル１１７ｂを参照し、物理ブロック用途３０４が「空き」である物理ブロック＃５を取得する。
【０１２０】
（Ｓ１６０３）次に、ＣＰＵ１０１において、ＧＣ制御部１１３は、処理対象ブロック（物理ブロック＃４）に含まれる全ての有効データを空きブロック（物理ブロック＃５）にコピーする。ＧＣ制御部１１３はアドレス変換テーブル１１７ａを参照し、物理ブロックアドレス３０２が「４」になっているエントリを検索する。そして、物理ブロックアドレス３０２が「４」となっているエントリの物理ページアドレス３０３を参照し、該物理ページ（物理ページ＃２５３）のデータを読出し、空きブロック（物理ブロック＃５）の消去済ページに書込む（コピーする）。
【０１２１】
（Ｓ１６０４）次に、ＣＰＵ１０１において、ＧＣ制御部１１３は、ステップＳ１６０３で書込んだデータ（物理ブロック＃５のデータ）を有効にするために、制御情報記憶部１１７のアドレス変換テーブル１１７ａ、物理ブロック管理テーブル１１７ｂを更新する。さらに、アドレス変換テーブル１１７ａ、物理ブロック管理テーブル１１７ｂの更新内容にあわせて、不揮発性メモリ１２０に格納しているシステム情報も更新する。
【０１２２】
図１７に、ステップＳ１６０４の処理実施後のアドレス変換テーブル１１７ａ、物理ブロック管理テーブル１１７ｂ、破棄対象データ情報１１７ｃ、物理ブロック＃４、物理ブロック＃５の状態を示す。アドレス変換テーブル１１７ａにおいて論理アドレス＃２０４７に対応する物理アドレスは物理ブロック＃５の物理ページ＃０に更新されている。物理ブロック管理テーブル１１７ｂにおいて、物理ブロック＃４の用途は「空き」、物理ブロック＃５の用途は「データ」で有効データページ数は「１」に更新されている。
【０１２３】
（Ｓ１６０５）次に、ＣＰＵ１０１において、データ破棄制御部１１４は、ステップＳ１６０４で「空き」となった物理ブロック＃５を物理消去する。これにより、物理ブロック＃５の物理ページ＃２５４および物理ページ＃２５５に存在していた機密データは物理的に破棄される。
【０１２４】
（Ｓ１６０６）次に、ＣＰＵ１０１において、データ破棄制御部１１４は、制御情報記憶部１１７の破棄対象データ情報１１７ｃを更新する。破棄対象ブロック登録数３０６を「１」から「０」に更新し、破棄対象ブロック＃１アドレス３０７１を「４」から「登録なし」に更新する。さらに、破棄対象データ情報１１７ｃの更新内容にあわせて、不揮発性メモリ１２０に格納しているシステム情報も更新し、ＧＣ／データ破棄処理を終了する。
【０１２５】
図１８に、ＧＣ／データ破棄処理実施後のアドレス変換テーブル１１７ａ、物理ブロック管理テーブル１１７ｂ、破棄対象データ情報１１７ｃ、物理ブロック＃４、物理ブロック＃５の状態を示す。物理ブロック＃５の物理ページ＃２５４および物理ページ＃２５５に存在していた機密データは物理消去によって物理的に破棄されている。
【０１２６】
図１６のフローチャートで示すように、本実施の形態では処理対象ブロックを物理消去した後に破棄対象データ情報１１７ｃを更新している。これによって、ＧＣ／データ破棄処理中に意図しない電源遮断が発生したときにも、不揮発性記憶装置１００は再度電源オンの動作を行ったときに、不揮発性メモリ１２０に格納されているシステム情報から破棄対象データ情報１１７ｃを復旧し、破棄対象ブロックに対するデータ破棄処理を着実に継続することができる。
【０１２７】
また、図１６のフローチャートで示すように、処理対象が破棄対象ブロックではなくてＧＣ対象ブロックであった場合にも、ステップＳ１６０５でコピー元の物理ブロックを物理消去している。これによって、不揮発性メモリ１２０に格納された機密データが破棄登録コマンドで登録される前に、不揮発性記憶装置１００内部のガベージコレクション処理によって別物理ブロックに複製され、機密データが物理的に増殖していくことを防止することができる。
【０１２８】
図１９に、ＧＣ／データ破棄処理後に破棄状況取得コマンドが発行されたときの出力データの例を示す。出力データ４００において、破棄対象ブロック登録数４０１は「０」に更新されている。また、破棄対象ブロックがないため、データ破棄処理の実行は不要であり、必要ウエイト時間４０２は「０」ｍｓとなっている。また、これまでにデータ破棄処理を実行した数である累積破棄ブロック数は１つ増加して「３２９」個に更新されており、これらのデータ破棄処理に要した累積破棄時間４０４も「１３１７００」ｍｓに更新されている。
【０１２９】
以上のように不揮発性記憶装置１００は動作する。
【０１３０】
次に、ホスト装置２００の動作を以下に説明する。
【０１３１】
［１−２−２−１．電源オン後の動作］
ホスト装置２００における電源オン後の動作について説明する。
【０１３２】
図２０は、本実施の形態におけるホスト装置２００の電源オン後の動作を示すフローチャートである。
【０１３３】
（Ｓ２００１）ホスト装置２００は電源オン後に初期化処理（ＲＯＭ２１３に格納されたプログラムの実行、記憶部２１７に格納された情報の読出し、ＲＡＭ２１２へのプログラムのロード、メモリインタフェース部２１４の設定、等）を行い、不揮発性記憶装置１００への各種コマンドを発行可能な状態にする。
【０１３４】
（Ｓ２００２）次に、ホスト装置２００のＣＰＵ２１１は不揮発性記憶装置１００に対して、破棄状況取得コマンドを発行する。
【０１３５】
（Ｓ２００３）次に、ホスト装置２００のＣＰＵ２１１は破棄状況取得コマンドの出力データ４００を参照し、不揮発性記憶装置１００に破棄対象ブロックが残存しているかどうかを判定する。破棄対象ブロック登録数４０１が１以上である場合（Ｙｅｓの場合）はステップＳ２００４の処理を進め、破棄対象ブロック登録数４０１が０である場合（Ｎｏの場合）は初期化処理を終了して、ホスト装置２００はユーザからの入力待ち状態に遷移する。
【０１３６】
（Ｓ２００４）次に、ホスト装置２００のＣＰＵ２１１は破棄状況取得コマンドの出力データ４００を参照し、必要ウエイト時間４０２に示される時間だけ（不揮発性記憶装置１００にコマンドを発行せずに）待ち、ステップＳ２００２の処理に進む。
【０１３７】
図２０のフローチャートで示すように、本実施の形態では、電源遮断等によって不揮発性記憶装置１００に破棄対象ブロックが残存している場合であっても、電源オン直後に速やかにデータ破棄処理を実施することができる。
【０１３８】
［１−２−２−２．画像印刷処理の動作］
ホスト装置２００における画像印刷処理の動作について説明する。
【０１３９】
図２１は、本実施の形態におけるホスト装置の画像印刷処理の動作を示すフローチャートである。
【０１４０】
（Ｓ２１０１）ホスト装置２００のＣＰＵ２１１は、外部インタフェース部２１８を介して、別のホスト装置から印刷対象となる画像データを受信する。ここで、画像データは機密データであり、印刷後に速やかに破棄することが求められているものとする。
【０１４１】
（Ｓ２１０２）次に、ホスト装置２００のＣＰＵ２１１は不揮発性記憶装置１００に対して、書込みコマンドを発行し、受信した画像データを不揮発性記憶装置１００に格納する。
【０１４２】
（Ｓ２１０３）次に、ホスト装置２００はユーザからの画像データの印刷指示があるまで待つ。ユーザがホスト装置２００の入力部２１５を介して、画像データの印刷を指示したら（Ｙｅｓの場合）、ステップＳ２１０４の処理に進む。
【０１４３】
（Ｓ２１０４）次に、ホスト装置２００のＣＰＵ２１１は不揮発性記憶装置１００に対して、読出しコマンドを発行して格納していた画像データを取得し、印刷部２２０にて印刷する。
【０１４４】
（Ｓ２１０５）次に、ホスト装置２００のＣＰＵ２１１は不揮発性記憶装置１００に対して、格納していた画像データの論理アドレスを指定して破棄登録コマンドを発行する。
【０１４５】
（Ｓ２１０６）次に、ホスト装置２００のＣＰＵ２１１は不揮発性記憶装置１００に対して、破棄状況取得コマンドを発行する。
【０１４６】
（Ｓ２１０７）次に、ホスト装置２００のＣＰＵ２１１は破棄状況取得コマンドの出力データ４００を参照し、不揮発性記憶装置１００に破棄対象ブロックが存在しているかどうかを判定する。破棄対象ブロック登録数４０１が１以上である場合（Ｙｅｓの場合）はステップＳ２１０８の処理を進め、破棄対象ブロック登録数４０１が０である場合（Ｎｏの場合）は画像処理を終了する。
【０１４７】
（Ｓ２１０８）次に、ホスト装置２００のＣＰＵ２１１は破棄状況取得コマンドの出力データ４００を参照し、必要ウエイト時間４０２に示される時間だけ（不揮発性記憶装置１００にコマンドを発行せずに）待ち、ステップＳ２１０６の処理に進む。
【０１４８】
図２１のフローチャートで示すように、本実施の形態では、画像データ（機密データ）が不要となった直後に、画像データを物理的に破棄している。
【０１４９】
［１−２−２−３．電源オフ処理の動作］
ホスト装置２００における電源オフ処理の動作について説明する。
【０１５０】
図２２は、本実施の形態におけるホスト装置２００の電源オフの動作を示すフローチャートである。
【０１５１】
（Ｓ２２０１）ホスト装置２００が入力部２１５を介してホスト装置２００のユーザから電源オフの要求を受信すると、ホスト装置２００のＣＰＵ２１１は不揮発性記憶装置１００に対して、破棄状況取得コマンドを発行する。
【０１５２】
（Ｓ２２０２）次に、ホスト装置２００のＣＰＵ２１１は破棄状況取得コマンドの出力データ４００を参照し、不揮発性記憶装置１００の内部に破棄対象ブロックが残存しているかどうかを判定する。破棄対象ブロック登録数４０１が１以上である場合（Ｙｅｓの場合）はステップＳ２００３の処理を進め、破棄対象ブロック登録数４０１が０である場合（Ｎｏの場合）はステップＳ２００４の処理に進む。
【０１５３】
（Ｓ２２０３）次に、ホスト装置２００のＣＰＵ２１１は破棄状況取得コマンドの出力データ４００を参照し、必要ウエイト時間４０２に示される時間だけ（不揮発性記憶装置１００にコマンドを発行せずに）待ち、ステップＳ２２０１に進む。
【０１５４】
（Ｓ２２０４）ホスト装置２００は終了処理（ＲＡＭ２１２に生成された情報の記憶部２１７への格納、表示部２１６への通知情報表示、等）を行い、電源オフ可能な状態に遷移する。その後、電源オフにする。
【０１５５】
図２２のフローチャートで示すように、本実施の形態では、エラーによる処理中断等によって不揮発性記憶装置１００に破棄対象ブロックが残存している場合であっても、電源オフ前に着実にデータ破棄処理を実施することができる。
【０１５６】
［１−３．効果等］
従来の不揮発性記憶装置では、ホスト装置側から不揮発性記憶装置に格納された機密データの状態を把握し、物理的に破棄するような制御を実施することができなかった。
【０１５７】
そこで、本実施の形態に係るメモリコントローラ１１０は、データ破棄制御部１１４を含み、ホスト装置側から破棄登録した機密データが残存しているか否かを確認できるようにした。さらに、ホスト装置側から破棄登録した機密データの物理消去を指示ことができるようにした。
【０１５８】
また、本実施の形態に係るホスト装置２００は、機密データが不要になった直後に機密データの物理消去を指示し、物理消去が完了したことを確認する。従って、不要な機密データを速やかに物理的に破棄するような、セキュリティに配慮した対応が可能である。
【０１５９】
（他の実施の形態）
以上のように、本開示の技術の例示として、実施の形態１を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。
【０１６０】
そこで、以下、他の実施の形態を例示する。
【０１６１】
実施の形態１において、不揮発性記憶装置１００はホスト装置２００からのコマンド受信がない場合、直ちにデータ破棄動作を開始させたが、コマンド受信がない状態が所定時間継続したことを確認した後にデータ破棄の動作を開始させてもよい。これにより、ホスト装置２００がデータ破棄動作よりも優先して実施したいコマンドがあった場合に、該コマンドをすぐに受信して処理することが可能となる。
【０１６２】
実施の形態１において、ホスト装置２００が不揮発性記憶装置１００にデータ破棄動作を開始させるためのトリガとして、不揮発性記憶装置１００に対してコマンドを発行せずにウエイトする方法を採用したが、この方法に限定されない。ホストが破棄実行コマンドを発行したときに、不揮発性記憶装置１００がデータ破棄処理を実行するようにしてもよい。
【０１６３】
実施の形態１において、メモリコントローラ１１０及びホスト装置２００において、各ブロックは、ＬＳＩ（Ｌａｒｇｅ―Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）などの半導体回路により個別に１チップ化されても良いし、一部又は全部を含むように１チップ化されても良い。半導体回路は、所定の機能をハードウェア構成のみで実現してもよいし、又はソフトウェアと協働して所定の機能を実現するように構成されてもよい。例えば、半導体回路は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＣＰＵ、ＭＰＵ（Ｍｉｃｒｏ−Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、マイクロコンピュータで構成される。
【０１６４】
なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡや、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０１６５】
実施の形態１おける処理方法の実行順序は、必ずしも、上記実施の形態の記載に制限されるものではなく、本開示の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
【０１６６】
実施の形態１に係るメモリコントローラ１１０、メモリコントローラ１１０と不揮発性メモリ１２０とを含む不揮発性記憶装置１００、不揮発性記憶装置１００とホスト装置２００とを含む不揮発性記憶システム１、実施の形態１において実行されるメモリ制御方法、かかるメモリ制御方法をコンピュータに実行させるコンピュータプログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本開示の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリを挙げることができる。
【０１６７】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【０１６８】
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面及び詳細な説明を提供した。
【０１６９】
したがって、添付図面及び詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【０１７０】
上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲又はその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【産業上の利用可能性】
【０１７１】
本開示は、不揮発性メモリを組み込んだ記憶装置に適用可能である。具体的には、ＳＳＤ、メモリカード、フラッシュドライブ、組込み用メモリデバイス等に適用可能である。
【符号の説明】
【０１７２】
１  不揮発性記憶システム
１００  不揮発性記憶装置
１０１  ＣＰＵ
１１０  メモリコントローラ
１１１  ホストインタフェース部
１１２  書込み制御部
１１３  ＧＣ制御部
１１４  データ破棄制御部
１１５  ＥＣＣ回路
１１５ａ  誤り訂正制御部
１１６  メモリインタフェース部
１１７  制御情報記憶部
１１７ａ  アドレス変換テーブル
１１７ｂ  物理ブロック管理テーブル
１１７ｃ  破棄対象データ情報
１１８  ＲＡＭ
１１９  ＲＯＭ
１２０  不揮発性メモリ
１２１  物理ブロック
１２２  物理ページ
２００  ホスト装置
２１１  ＣＰＵ
２１２  ＲＡＭ
２１３  ＲＯＭ
２１４  メモリインタフェース部
２１５  入力部
２１６  表示部
２１７  記憶部
２１８  外部インタフェース部
２１９  スキャナ
２２０  印刷部
３０１  論理アドレス
３０２  物理ブロックアドレス
３０３  物理ページアドレス
３０４  物理ブロック用途
３０５  有効データページ数
３０６  破棄対象ブロック登録数
３０７１  破棄対象ブロック＃１アドレス
３０７２  破棄対象ブロック＃２アドレス
４００  出力データ
４０１  破棄対象ブロック登録数
４０２  必要ウエイト時間
４０３  累積破棄ブロック数
４０４  累積破棄時間
【図１】
2019191910.tif 000003
【図２】
2019191910.tif 000004
【図３】
2019191910.tif 000005
【図４】
2019191910.tif 000006
【図５】
2019191910.tif 000007
【図６】
2019191910.tif 000008
【図７】
2019191910.tif 000009
【図８】
2019191910.tif 000010
【図９】
2019191910.tif 000011
【図１０】
2019191910.tif 000012
【図１１】
2019191910.tif 000013
【図１２】
2019191910.tif 000014
【図１３】
2019191910.tif 000015
【図１４】
2019191910.tif 000016
【図１５】
2019191910.tif 000017
【図１６】
2019191910.tif 000018
【図１７】
2019191910.tif 000019
【図１８】
2019191910.tif 000020
【図１９】
2019191910.tif 000021
【図２０】
2019191910.tif 000022
【図２１】
2019191910.tif 000023
【図２２】
2019191910.tif 000024