(57)【要約】      （修正有）【課題】不揮発性記憶装置を完全消去対象のエリアとそれ以外のエリアとに分けて管理することにより、セキュリティレベルを維持しながら、パフォーマンスの低下を少なくする。【解決手段】論理アドレスと不揮発性記憶装置の物理アドレスとを対応付けておき、不揮発性記憶装置のデータを完全に消去する完全消去モードが設定されている場合、不揮発性記憶装置の物理アドレスを完全消去対象とそれ以外とに分割して管理する。論理アドレスに基づいて不揮発性記憶装置に記憶されているデータの消去が指示されると、当該論理アドレスに対応付けられた物理アドレスが完全消去対象に属しているか否かを判定し、完全消去対象に属していると判定されると、その論理アドレスに対応付けられた物理アドレスのデータを完全に消去しＳ１７０４、完全消去対象に属していないと判定されると、その論理アドレスに対応付けられた物理アドレスのデータのリンクを解除するＳ１７０５。【選択図】図１７
2018185842.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性記憶装置へのアクセスを制御するメモリ制御装置であって、
論理アドレスと前記不揮発性記憶装置の物理アドレスとを対応付けるアドレス手段と、
前記不揮発性記憶装置のデータを完全に消去する完全消去モードを設定する設定手段と、
前記設定手段により前記完全消去モードが設定されている場合に、前記不揮発性記憶装置の物理アドレスを完全消去対象とそれ以外とに分割して管理する管理手段と、
前記論理アドレスに基づいて前記不揮発性記憶装置に記憶されているデータの消去が指示されると、当該論理アドレスに対応付けられた物理アドレスが前記完全消去対象に属しているか否かを判定する判定手段と、
前記判定手段により前記完全消去対象に属していると判定されると前記論理アドレスに対応付けられた物理アドレスのデータを完全に消去し、前記判定手段により前記完全消去対象に属していないと判定されると前記論理アドレスに対応付けられた物理アドレスのデータのリンクを解除するように制御する制御手段と、
を有することを特徴とするメモリ制御装置。
【請求項２】
前記設定手段は、外部装置からのコマンドに従って前記完全消去モードを設定することを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
前記コマンドは更に、前記完全消去モードの対象となる前記不揮発性記憶装置のアドレスを含むことを特徴とする請求項２に記載のメモリ制御装置。
【請求項４】
前記不揮発性記憶装置は、ＮＡＮＤ型フラッシュメモリであることを特徴とする請求項１乃至３のいずれか１項に記載のメモリ制御装置。
【請求項５】
不揮発性記憶装置にアクセスする情報処理装置であって、
論理アドレスと前記不揮発性記憶装置の物理アドレスとを対応付けるアドレス手段と、
前記不揮発性記憶装置のデータを完全に消去する完全消去モードを設定する設定手段と、
前記設定手段により前記完全消去モードが設定されている場合に、前記不揮発性記憶装置の物理アドレスを完全消去対象とそれ以外とに分割して管理する管理手段と、
前記不揮発性記憶装置に記憶されているデータの消去が指示されると、前記データの物理アドレスが前記完全消去対象に属しているか否かを判定する判定手段と、
前記判定手段により前記完全消去対象に属していると判定されると前記データを完全に消去し、前記判定手段により前記完全消去対象に属していないと判定されると前記データと前記論理アドレスとのリンクを解除するように制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項６】
前記制御手段は、前記完全消去モードでは前記不揮発性記憶装置に記憶されているデータの消去が指示されると、前記データを全て０のデータに書き換えることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記アドレス手段は、前記論理アドレスと前記不揮発性記憶装置の物理アドレスとをブロック単位で対応付けることを特徴とする請求項５又は６に記載の情報処理装置。
【請求項８】
前記完全消去対象に属している物理アドレスのブロックにデータを書き込む際は、当該ブロックに全て１のデータを書き込んだ後に前記データを書き込み、前記完全消去対象に属していない物理アドレスのブロックにデータを書き込む際は、当該ブロックに全て０のデータを書き込み、その後、全て１のデータを書き込んだ後に前記データを書き込む書き込み手段を更に有することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
不揮発性記憶装置へのアクセスを制御するメモリ制御装置を制御する制御方法であって、
論理アドレスと前記不揮発性記憶装置の物理アドレスとを対応付けるアドレス工程と、
前記不揮発性記憶装置のデータを完全に消去する完全消去モードを設定する設定工程と、
前記設定工程で前記完全消去モードが設定されている場合に、前記不揮発性記憶装置の物理アドレスを完全消去対象とそれ以外とに分割して管理する管理工程と、
前記論理アドレスに基づいて前記不揮発性記憶装置に記憶されているデータの消去が指示されると、当該論理アドレスに対応付けられた物理アドレスが前記完全消去対象に属しているか否かを判定する判定工程と、
前記判定工程で前記完全消去対象に属していると判定されると前記論理アドレスに対応付けられた物理アドレスのデータを完全に消去し、前記判定工程で前記完全消去対象に属していないと判定されると前記論理アドレスに対応付けられた物理アドレスのデータのリンクを解除するように制御する制御工程と、
を有することを特徴とするメモリ制御装置の制御方法。
【請求項１０】
不揮発性記憶装置にアクセスする情報処理装置を制御する制御方法であって、
論理アドレスと前記不揮発性記憶装置の物理アドレスとを対応付けるアドレス工程と、
前記不揮発性記憶装置のデータを完全に消去する完全消去モードを設定する設定工程と、
前記設定工程で前記完全消去モードが設定されている場合に、前記不揮発性記憶装置の物理アドレスを完全消去対象とそれ以外とに分割して管理する管理工程と、
前記不揮発性記憶装置に記憶されているデータの消去が指示されると、前記データの物理アドレスが前記完全消去対象に属しているか否かを判定する判定工程と、
前記判定工程で前記完全消去対象に属していると判定されると前記データを完全に消去し、前記判定工程で前記完全消去対象に属していないと判定されると前記データと前記論理アドレスとのリンクを解除するように制御する制御工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項１１】
コンピュータを、請求項１乃至４のいずれか１項にメモリ制御装置として機能させるためのプログラム。
【請求項１２】
コンピュータを、請求項５乃至８のいずれか１項に情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置、情報処理装置とその制御方法、及びプログラムに関する。
【背景技術】
【０００２】
ＮＡＮＤフラッシュメモリを制御するＮＡＮＤフラッシュメモリコントローラは、ＮＡＮＤフラッシュメモリの寿命を延ばすために、ウェアレベリング（Wear-Leveling）を行うことが一般的に知られている。このウェアレベリングは、ＮＡＮＤフラッシュメモリコントローラによって様々な手法があり、そのウェアレベリングの実行タイミングもＮＡＮＤフラッシュメモリコントローラにより異なる。
【０００３】
いまシステムコントローラがＮＡＮＤフラッシュメモリコントローラと接続される構成の場合、ウェアレベリングの実行後、システムコントローラが管理するテーブルのデータは、ＮＡＮＤフラッシュメモリの他のブロックにコピーされている可能性がある。このためシステムコントローラが、あるデータをセキュリティのために消去したとしても、そのデータが別の場所に残存している可能性がある。そこでこのような残存しているデータを完全に消去するために、ＮＡＮＤフラッシュメモリコントローラには、完全消去機能を有するものがある。この完全消去機能は、ＮＡＮＤフラッシュメモリコントローラが書き込んだデータに上書きして、そのデータを完全に消去する機能で、このデータの消去はＮＡＮＤフラッシュメモリのブロック単位で実行される。このためＮＡＮＤフラッシュメモリのブロックよりも小さいデータを消去する場合はパフォーマンスの低下が発生するおそれがあるため、例えば特許文献１には、これを解決する提案がなされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１９１３７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１では、完全消去モードが有効になったときに、ジョブのセキュリティレベルによって画像処理のパスを動的に切り替えることが記載されている。
【０００６】
完全消去モードをオンにすると、フラッシュメモリに記憶されたデータが完全に消去されるためセキュリティレベルを維持できる。しかしながら、この場合は、ユーザ領域の全てのデータが完全消去の対象となってしまうため、完全消去をする必要がないデータに対しても完全消去を行ってしまう。このため、全てのデータを完全消去すると多くの時間を要し、パフォーマンスが低下するおそれがある。
【０００７】
本発明の目的は、上記従来技術の問題点を解決することにある。
【０００８】
本発明の特徴は、不揮発性記憶装置のメモリの全てを完全消去対象のエリアとせずに、完全消去対象のエリアとそれ以外のエリアとに分けて管理することにより、セキュリティレベルを維持しながら、パフォーマンスの低下を少なくすることにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の一態様に係るメモリ制御装置は以下のような構成を備える。即ち、
不揮発性記憶装置へのアクセスを制御するメモリ制御装置であって、
論理アドレスと前記不揮発性記憶装置の物理アドレスとを対応付けるアドレス手段と、
前記不揮発性記憶装置のデータを完全に消去する完全消去モードを設定する設定手段と、
前記設定手段により前記完全消去モードが設定されている場合に、前記不揮発性記憶装置の物理アドレスを完全消去対象とそれ以外とに分割して管理する管理手段と、
前記論理アドレスに基づいて前記不揮発性記憶装置に記憶されているデータの消去が指示されると、当該論理アドレスに対応付けられた物理アドレスが前記完全消去対象に属しているか否かを判定する判定手段と、
前記判定手段により前記完全消去対象に属していると判定されると前記論理アドレスに対応付けられた物理アドレスのデータを完全に消去し、前記判定手段により前記完全消去対象に属していないと判定されると前記論理アドレスに対応付けられた物理アドレスのデータのリンクを解除するように制御する制御手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、不揮発性記憶装置のデータのセキュリティレベルを維持しながら、不揮発性記憶装置のデータを消去する際のパフォーマンスの低下を少なくできる効果がある。
【００１１】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１２】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本実施形態に係る情報処理装置の構成を示すブロック図。
【図２】実施形態に係るフラッシュメモリのアドレス管理を説明する概念図。
【図３】実施形態に係る４ギガビットのフラッシュメモリのブロックとページの概念を説明する図。
【図４】実施形態に係るフラッシュメモリコントローラのリンクテーブルの概念図。
【図５】実施形態に係るフラッシュメモリコントローラが書き込みコマンド（ライトコマンド）を受信した場合の処理を説明するフローチャート。
【図６】実施形態に係るフラッシュメモリコントローラがライトコマンドを受信した場合のリンクテーブルの遷移を説明する図。
【図７】実施形態に係るフラッシュメモリコントローラが消去コマンドを受信した場合の処理を説明するフローチャート。
【図８】実施形態に係るフラッシュメモリコントローラが消去コマンドを受信した場合のリンクテーブルの遷移を説明する図。
【図９】実施形態に係るフラッシュメモリコントローラが消去コマンドを受信した場合のリンクテーブルの接続変化を説明する図。
【図１０】実施形態に係るフラッシュメモリコントローラによるフラッシュメモリのブロック初期化処理を説明するフローチャート。
【図１１】実施形態に係るフラッシュメモリコントローラによるフラッシュメモリのブロック初期化処理におけるリンクテーブルの遷移を説明する図。
【図１２】実施形態１に係るフラッシュメモリコントローラが、リンクテーブルのメインエリアに完全消去エリアを設ける処理を説明するフローチャート。
【図１３】実施形態１に係るフラッシュメモリコントローラが、リンクテーブルのメインエリアを完全消去エリアと通常エリアとに分割した状態を説明する図。
【図１４】実施形態１に係るフラッシュメモリコントローラが、リンクテーブルのメインエリアを完全消去エリアと通常エリアとに分割して管理しているときにライトコマンドを受信した場合の処理を示すフローチャート。
【図１５】実施形態１に係るフラッシュメモリコントローラが完全消去エリアにデータを書き込むときのリンクテーブルの遷移を説明する図。
【図１６】実施形態１に係るフラッシュメモリコントローラが通常エリアにデータを書き込むときのリンクテーブルの遷移を説明する図。
【図１７】実施形態１に係るフラッシュメモリコントローラが、完全消去エリアと通常エリアとに分割して管理している場合に消去コマンドを受信したときの処理を説明するフローチャート。
【図１８】実施形態１に係るフラッシュメモリコントローラが完全消去エリアのデータを消去するときのリンクテーブルの遷移を説明する図。
【図１９】実施形態１に係るフラッシュメモリコントローラが通常エリアのアドレスのデータを消去するコマンドを受信した場合のブロックの変化を説明する図。
【図２０】実施形態１に係るフラッシュメモリコントローラが、完全消去エリアと通常エリアとに分けて管理している場合のブロック初期化処理を説明するフローチャート。
【図２１】図２０のブロック初期化処理におけるリンクテーブルの遷移を説明する図。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。以下の実施形態では、本発明のメモリ制御装置を、不揮発性記憶装置であるＮＡＮＤ型フラッシュメモリへのデータの読み書き（アクセス）を制御するフラシュメモリコントローラを例に説明する。
【００１４】
図１は、本実施形態に係る情報処理装置の構成を示すブロック図である。
【００１５】
この情報処理装置は、装置全体の動作を制御するシステムコントローラ１０と、ＮＡＮＤフラッシュメモリ（以下、フラッシュメモリ）３０を制御するＮＡＮＤフラッシュメモリコントローラ（以下、フラッシュメモリコントローラ）２０とを有している。
【００１６】
システムコントローラ１０は、フラッシュメモリコントローラ２０と汎用のバス４０で接続される。システムコントローラ１０は、ＣＰＵ１０１、記憶部１０２、外部Ｉ／Ｆ１０３，ＵＩ（ユーザインターフェース）１０４，ＲＡＭ１０５，ＲＯＭ１０６を有し、これらはバスを介して相互に接続されている。ＣＰＵ１０１は、装置の起動時、ＲＯＭ１０６からブートプログラムを読み出して実行し、記憶部１０２に格納されているプログラムをＲＡＭ１０５へ展開する。そしてＣＰＵ１０１は、そのＲＡＭ１０５に展開されたプログラムを実行して、この装置の動作を制御する。またＣＰＵ１０１は、ＵＩ１０４に画像データを出力してユーザインターフェースの画面を表示する。また外部Ｉ／Ｆ１０３にはＵＳＢメモリ等が接続される。
【００１７】
フラッシュメモリコントローラ２０は、ＣＰＵ１１０，ＲＯＭ１１１，ＲＡＭ１１２を有する。フラッシュメモリコントローラ２０は、システムコントローラ１０のＣＰＵ１０１が指定した、フラッシュメモリ３０のアドレスへのデータのリード／ライト／イレース等のコマンドを受信する。フラッシュメモリコントローラ２０は、システムコントローラ１０からコマンドを受け取ると、そのコマンドに応じた処理をフラッシュメモリ３０に対して行う。
【００１８】
フラッシュメモリコントローラ２０のＣＰＵ１１０は、ＲＯＭ１１１に格納されているプログラムに従ってフラッシュメモリコントローラ２０の動作を制御する。ＲＡＭ１１２は、ＣＰＵ１１０による制御の際にＣＰＵ１１０が使用する各種データを一時的に保存するワークエリアを提供している。
【００１９】
図２は、実施形態に係るフラッシュメモリのアドレス管理を説明する概念図である。ここで汎用バス４０は、ＳＡＴＡ／ＩＦを例に説明する。
【００２０】
システムコントローラ１０のＣＰＵ１０１は、ＬＢＡ方式で指定したアドレスに対してリード／ライト等のコマンドをフラッシュメモリコントローラ２０へ発行する。フラッシュメモリコントローラ２０は、ＣＰＵ１０１から受信したライト／イレースのコマンドから論理ブロック（ＬＢｌｏｃｋ）２１０と物理ブロック２３０の関係を表すリンクテーブル２２０を作成する。リンクテーブル２２０を図２の例で説明すると、ＬＢｌｏｃｋ０はＰＢｌｏｃｋ２と接続され、ＬＢｌｏｃｋ２はＰＢｌｏｃｋ１と接続されるリンクテーブル２２０となっており、この関係はウェアレベリングが実行されることで更新される。フラッシュメモリコントローラ２０の物理ブロック２３０であるＰＢｌｏｃｋ０，１，２，…，ｎは、それぞれフラッシュメモリ３０のブロック３１１のＢｌｏｃｋ０，１，２…，ｎと１対１で接続され、この関係が崩れることはない。
【００２１】
図３は、実施形態に係る４ギガビットのフラッシュメモリ３０のブロックとページの概念を説明する図である。
【００２２】
フラッシュメモリ３０は、４ギガビット（＝２５６Ｋビット×２０４８）のサイズで、それぞれが２５６キロビットの２０４８個のブロック３１１で構成される。ここで各ブロック３１１は６４個のページ３１１１で構成され、一つのページ３１１１のサイズは４Ｋビットである。フラッシュメモリコントローラ２０は、フラッシュメモリ３０へデータを書き込む場合は、ページ単位でデータを書き込む。またフラッシュメモリコントローラ２０が、フラッシュメモリ３０のデータを消去する場合は、ブロック単位でデータの消去を行う。
【００２３】
図４は、実施形態に係るフラッシュメモリコントローラ２０のリンクテーブル２２０の概念図で、ここではフラッシュメモリ３０へデータを書き込んだ後の状態を示している。
【００２４】
リンクテーブル２２０は、ユーザ領域であるメインエリア４１０とリザーブエリア４２０の二つの領域を備えている。尚、このユーザ領域以外にも、フラッシュメモリコントローラ２０が管理するシステム領域が存在するが、本実施形態ではそれらの領域に関する説明を割愛する。メインエリア４１０には、有効データが記憶されているフラッシュメモリ３０のブロック３１１に対応する使用済ブロック４１１と、論理ブロック２１０とのリンクが解除されたフラッシュメモリ３０のブロックに対応するブロック４１２とが存在する。この論理ブロック２１０とリンクが解除されたブロック４１２に対応するフラッシュメモリ３０のブロック３１１のデータは、リンクが解除されているためシステムコントローラ１０から読み出すことはできない。しかし、フラッシュメモリ３０に対して直接リードコマンドを発行した場合は、そのデータ自体はフラッシュメモリ３０に残存しているため読み出すことができる。リザーブエリア４２０には、複数の書き込み可能な空きブロック４２１を含んでいる。この書き込み可能な空きブロック４２１とは、フラッシュメモリ３０が書き込み可能なように、全ビットが「１」に初期化されたブロックである。
【００２５】
メインエリア４１０とリザーブエリア４２０のブロック数は、フラッシュメモリコントローラ２０のファームウェア等で予め決まっており、フラッシュメモリ３０が未使用状態では、メインエリア４１０のブロックは全て空きブロックである。
【００２６】
図５は、実施形態に係るフラッシュメモリコントローラ２０が書き込みコマンド（ライトコマンド）を受信した場合の処理を説明するフローチャートである。この処理を実行するプログラムはＲＯＭ１１１に記憶されており、ＣＰＵ１１０がそのプログラムを実行することによりこの処理が達成される。
【００２７】
図６は、実施形態に係るフラッシュメモリコントローラ２０がライトコマンドを受信した場合のリンクテーブル２２０の遷移を説明する図である。図５のフローチャートを図６のリンクテーブルのブロック遷移を参照しながら説明する。
【００２８】
図５の処理は、フラッシュメモリコントローラ２０がシステムコントローラ１０からライトコマンドを受信することにより開始される。このときリンクテーブル２２０の状態は、図６（Ａ）に示す状態であるとし、ライトコマンドで書き込まれるデータはライトデータＡ４００で示されている。
【００２９】
まずＳ５０１でＣＰＵ１１０は、その受信したライトデータＡ４００をフラッシュメモリ３０に書き込むために、そのライトデータＡ４００のデータサイズから、そのデータを書き込むのに必要なブロック数を求める。そして、その求めた数のブロックをリザーブエリア４２０から選定する。尚、図６（Ａ）では、ライトデータＡ４００のサイズは、１ブロック以下のサイズとする。
【００３０】
次にＳ５０２に進みＣＰＵ１１０は、Ｓ５０１で選定した数のブロックを、リザーブエリア４２０からメインエリア４１０に移動する。この状態を図６（Ｂ）に示す。図６（Ｂ）では、リンクテーブル２２０のリザーブエリア４２０にある一つの空きブロック４２１をメインエリア４１０へ移動している。
【００３１】
次にＳ５０３に進みＣＰＵ１１０は、メインエリア４１０へ移動したブロック４２１に対応するフラッシュメモリ３０のブロックへ、そのデータＡ４００を書き込んで、図６（Ｃ）に示すように、リンクテーブル２２０を更新する。
【００３２】
ここでライトデータＡ４００のサイズは、一つのブロックのサイズ以下となっているため、リザーブエリア４２０からメインエリア４１０に移動する空きブロック４２１の数は一つである。しかしながら、そのデータサイズが複数ブロックのサイズに相当している場合は、リザーブエリア４２０から複数の空きブロック４２１をメインエリア４１０へ移動する。
【００３３】
図７は、実施形態に係るフラッシュメモリコントローラ２０が消去コマンドを受信した場合の処理を説明するフローチャートである。この処理を実行するプログラムはＲＯＭ１１１に記憶されており、ＣＰＵ１１０がそのプログラムを実行することによりこの処理が達成される。
【００３４】
図８は、実施形態に係るフラッシュメモリコントローラ２０が消去コマンドを受信した場合のリンクテーブル２２０の遷移を説明する図である。
【００３５】
図９は、実施形態に係るフラッシュメモリコントローラ２０が消去コマンドを受信した場合のリンクテーブル２２０の接続変化を説明する図である。以下、図７のフローチャートを、図８、図９を参照して説明する。
【００３６】
図７の処理は、フラッシュメモリコントローラ２０が、システムコントローラ１０から、フラッシュメモリ３０のＢｌｏｃｋ２（９０１）のデータを消去する消去コマンドを受信することにより開始される。このときリンクテーブル２２０は、図８（Ａ）に示す状態であり、リンクテーブル２２０の接続は図９（Ａ）に示す状態とする。
【００３７】
まずＳ７０１でＣＰＵ１１０は、消去対象のデータの論理アドレス（ＬＢｌｏｃｋ０）と物理アドレス（ＰＢｌｏｃｋ２）のリンクを解除する。図９（Ａ）では、フラッシュメモリコントローラ２０は、フラッシュメモリ３０のブロック９０１を、論理アドレス２１０（ＬＢｌｏｃｋ０）と物理ブロック２３０（ＰＢｌｏｃｋ２）に対応付けて管理している。
【００３８】
図９（Ｂ）では、フラッシュメモリコントローラ２０が、フラッシュメモリ３０のＢｌｏｃｋ２（９０１）のデータの消去コマンドを受信することにより、ＬＢｌｏｃｋ０とＰＢｌｏｃｋ２のリンクが解除された状態を示している。
【００３９】
次にＳ７０２に進みＣＰＵ１１０は、Ｓ７０１でリンクを解除したリンクテーブル２２０を更新する。このとき図８（Ｂ）に示すように、フラッシュメモリコントローラ２０は、フラッシュメモリ３０のＢｌｏｃｋ２（９０１）に対応するメインエリア４１０のブロック８０１のリンクを解除する。このとき図９（Ｂ）に示すように、ブロック９０１とリンクテーブル２２０の論理アドレスとのリンクは解除されているが、フラッシュメモリ３０のＢｌｏｃｋ２のデータは、フラッシュメモリ３０に残存している。
【００４０】
このようにフラッシュメモリ３０のあるブロックのデータの消去コマンドを受信すると、そのブロックと論理アドレスとのリンクが解除されることにより、そのフラッシュメモリ３０のブロックのデータは読み出せなくなる。しかしながら、フラッシュメモリ３０のそのブロックのデータは残存したままとなる。
【００４１】
図１０は、実施形態に係るフラッシュメモリコントローラ２０によるフラッシュメモリ３０のブロック初期化処理を説明するフローチャートである。この処理を実行するプログラムはＲＯＭ１１１に記憶されており、ＣＰＵ１１０がそのプログラムを実行することによりこの処理が達成される。
【００４２】
図１１は、実施形態に係るフラッシュメモリコントローラ２０によるフラッシュメモリ３０のブロック初期化処理によるリンクテーブル２２０の遷移を説明する図である。以下、図１０のフローチャートを図１１を参照しながら説明する。
【００４３】
まずＳ１００１でＣＰＵ１１０は、リザーブエリア４２０の空きブロックの数が所定値以下になったかどうか判定する。図１１（Ａ）では、リザーブエリア４２０の空きブロック４２１の数が「５」になっている。ここでは、所定値を「８」として説明する。図１１（Ａ）は、リザーブエリア４２０の空きブロックの数が５であるため、リザーブエリア４２０のブロック数が所定値以下になったと判定してＳ１００２へ進む。
【００４４】
Ｓ１００２でＣＰＵ１１０は、リザーブエリア４２０へ移動するブロックをメインエリア４１０の中のリンクのないブロック４１２から選定する。ここでは図１１（Ａ）に示すブロック１１１１，１１１２，１１１３を選定する。この実施形態では、ブロックの消去回数が少ない順にブロックを選定するが、この選定手法は他の手法でも構わない。
【００４５】
次にＳ１００３に進みＣＰＵ１１０は、Ｓ１００２で選定したブロック１１１１，１１１２，１１１３に対応するフラッシュメモリ３０のブロックに全て「０」を書き込んでイレースする。このイレースは、ブロックの電荷を抜くことである（図１１（Ｂ））。
【００４６】
次にＳ１００４に進みＣＰＵ１１０は、Ｓ１００２で選定したブロック１１１１，１１１２，１１１３に対応するフラッシュメモリ３０のブロックに全て「１」を書き込んで初期化する。
【００４７】
次にＳ１００５に進みＣＰＵ１１０は、Ｓ１００２で選定したブロックを、メインエリア４１０からリザーブエリア４２０へ移動する。図１１（Ｃ）は、このときのリンクテーブル２２０のイメージ図である。図１１（Ｃ）では、Ｓ１００２で選定したメインエリア４１０のブロック１１１１，１１１２，１１１３をリザーブエリア４２０へ移動している。
【００４８】
尚、リザーブエリア４２０へ移動されたブロック１１１１〜１１１３に対応するフラッシュメモリ３０のブロックは全て「１」で初期化されているため、そのブロックには直ぐにデータを書き込むことができる。
【００４９】
［実施形態１］
以下、本実施形態１に係るリンクテーブル２２０のメインエリア４１０に、完全消去エリア１３００と通常エリア１３１０を設けた例について説明する。
【００５０】
図１２は、実施形態１に係るフラッシュメモリコントローラ２０が、リンクテーブル２２０のメインエリアに完全消去エリアを設ける処理を説明するフローチャートである。この処理を実行するプログラムはＲＯＭ１１１に記憶されており、ＣＰＵ１１０がそのプログラムを実行することによりこの処理が達成される。
【００５１】
この処理は、実施形態１に係る情報処理装置の電源がオンされることにより開始される。先ずＳ１２０１でＣＰＵ１１０は、完全消去機能の設定変更があるかどうかを判定し、設定変更がある場合はＳ１２０２に進むが、設定変更がないときは、そのまま処理を終了する。尚、この完全消去機能の設定は、フラッシュメモリ３０に保持されており、情報処理装置の電源オフ時の設定が、情報処理装置の電源オン時に反映される。Ｓ１２０２でＣＰＵ１１０は、完全消去機能を有効にするか否かを判定する。ここではＣＰＵ１１０は、システムコントローラ１０から完全消去機能を有効にするコマンドを受信したかどうかを判定し、そのコマンドを受信した場合はＳ１２０３に進み、そのコマンドを受信しないときはＳ１２０６へ移行する。
【００５２】
Ｓ１２０３でＣＰＵ１１０は、システムコントローラ１０から完全消去エリア１３００の開始アドレスと終了アドレスとの指定コマンドを受信し、フラッシュメモリ３０へ、その設定を格納してＳ１２０４へ進む。Ｓ１２０４でＣＰＵ１１０は、システムコントローラ１０から他に完全消去エリア１３００の指定のコマンドを受信したかどうかを判定し、他に完全消去エリアの指定コマンドを受信した場合はＳ１２０３に進んで前述の処理を実行する。一方、他に完全消去エリアの指定コマンドを受信していないときはＳ１２０５に進む。Ｓ１２０５でＣＰＵ１１０は、完全消去機能の有効コマンドをシステムコントローラ１０から受信して、この処理を終了する。一方、Ｓ１２０６でＣＰＵ１１０は、システムコントローラ１０から完全消去機能の無効コマンドを受信して、この処理を終了する。
【００５３】
尚、事前に設定されている完全消去エリア１３００の開始アドレスと終了アドレスは、フラッシュメモリ３０で保持される。また完全消去機能が無効になったとしても、フラッシュメモリ３０で保持される完全消去エリア１３００の開始アドレスと終了アドレスはマスクされるだけである。また完全消去機能の設定と開始アドレス、終了アドレスの設定は、フラッシュメモリ３０のシステム領域に保存される。
【００５４】
このように実施形態１に係るフラッシュメモリコントローラ２０は、システムコントローラ１０から完全消去エリア１３００の指定のコマンドを受信すると、図１３に示すように、メインエリア４１０に完全消去エリア１３００と通常エリア１３１０を設ける。
【００５５】
図１３は、実施形態１に係るフラッシュメモリコントローラ２０が、リンクテーブル２２０のメインエリア４１０を完全消去エリア１３００と通常エリア１３１０とに分割した例を説明する図である。図１３では、フラッシュメモリ３０のブロックが、完全消去エリア１３００と通常エリア１３１０、リザーブエリア４２０のブロックに対応している。
【００５６】
完全消去エリア１３００は、使用中のフラッシュメモリ３０のブロックに対応するブロック１３３１と、イレース済みのフラッシュメモリ３０のブロックに対応するブロック１３３２とを含む。通常エリア１３１０のブロックは、使用中のフラッシュメモリ３０のブロックに対応するブロック１３４１と、システムコントローラ１０の論理ブロックとのリンクが解除されたブロック１３４２とを含む。
【００５７】
ここで、イレース済みのフラッシュメモリ３０のブロックには、全て「１」のデータが書き込まれて初期化されている。
【００５８】
図１４は、実施形態に係るフラッシュメモリコントローラ２０が、リンクテーブル２２０のメインエリア４１０を完全消去エリア１３００と通常エリア１３１０とに分割して管理しているときにライトコマンドを受信した場合の処理を示すフローチャートである。この処理を実行するプログラムはＲＯＭ１１１に記憶されており、ＣＰＵ１１０がそのプログラムを実行することによりこの処理が達成される。
【００５９】
この処理は、フラッシュメモリコントローラ２０がシステムコントローラ１０からライトコマンドを受信することにより開始される。まずＳ１４０１でＣＰＵ１１０は、フラッシュメモリ３０に格納される完全消去機能の設定を読み出し、その完全消去機能が有効かどうかを判定する。ここで完全消去機能が有効であると判定するとＳ１４０２に進み、無効であればＳ１４０７へ移行する。Ｓ１４０２でＣＰＵ１１０は、受信したライトコマンドの書き込みアドレスが示すブロックは、完全消去エリア１３００のブロックに対応しているかどうかを判定する。ここで完全消去エリア１３００のブロックに対応していると判定するとＳ１４０３に進みそうでないときはＳ１４０５に進む。
【００６０】
Ｓ１４０３でＣＰＵ１１０は、リザーブエリア４２０のブロックを完全消去エリア１３００へ移動する。
【００６１】
図１５は、実施形態に係るフラッシュメモリコントローラ２０が完全消去エリアにデータを書き込むときのリンクテーブル２２０の遷移を説明する図である。
【００６２】
図１５（Ａ）は、完全消去エリア１３００、通常エリア１３１０、リザーブエリア４２０に各ブロックが配置されている状態を示す。ここで、フラッシュメモリコントローラ２０がフラッシュメモリ３０に書き込みたいデータはライトデータＡ４００である。図１５（Ｂ）では、完全消去エリア１３００のブロックに対応するフラッシュメモリ３０のブロックにデータを書き込むために、完全消去エリア１３００へリザーブエリア４２０の空きブロック１５０１を移動した状態を示す図である。
【００６３】
こうしてＳ１４０３の処理を実行するとＳ１４０４へ処理を進めＣＰＵ１１０は、Ｓ１４０３で完全消去エリア１３００に移動した空きブロック１５０１に対応するフラッシュメモリ３０のブロックにデータＡ４００を書き込んで処理を終了する（図１５（Ｃ））。
【００６４】
これにより、ライトコマンドで指定されたデータは、フラッシュメモリ３０の完全消去エリアに対応するブロックに書き込まれる。従って、このブロックに書き込まれたデータが消去されるときは、完全消去モードで消去されることになる。
【００６５】
一方、Ｓ１４０５でＣＰＵ１１０は、リザーブエリア４２０の空きブロック４２１を通常エリア１３１０へ移動する。
【００６６】
図１６は、実施形態に係るフラッシュメモリコントローラ２０が通常エリア１３１０にデータを書き込むときのリンクテーブル２２０の遷移を説明する図である。
【００６７】
図１６（Ａ）では、完全消去エリア１３００、通常エリア１３１０、リザーブエリア４２０に各ブロックが配置されている状態を示す。ここでも、フラッシュメモリコントローラ２０がフラッシュメモリ３０に書き込みたいデータはライトデータＡ４００である。図１６（Ｂ）は、通常エリア１３１０のデータライトコマンドを受信したことにより、Ｓ１４０５で、リザーブエリア４２０の空きブロック１６０１を通常エリア１３１０へ移動した状態を示す。
【００６８】
次にＳ１４０６に進みＣＰＵ１１０は、通常エリア１３１０へ移動した空きブロック１６０１に対応するフラッシュメモリ３０のブロックにデータＡ４００を書き込んで、この処理を終了する。この状態を図１６（Ｃ）に示す。
【００６９】
またＳ１４０７でＣＰＵ１１０は、図５及び図６を参照して説明した完全消去エリア１３００と通常エリア１３１０とに分けていない場合の通常の書き込み処理で、リザーブエリア４２０のブロックをメインエリア４１０へ移動する。そしてＳ１４０８に進みＣＰＵ１１０は、Ｓ１４０７でメインエリア４１０へ移動したブロックに対応するフラッシュメモリ３０のブロックにデータＡ４００を書き込んで、この処理を終了する。
【００７０】
このようにして、ライトコマンドを受信すると、完全消去機能が有効であるとき、そのデータを書き込むブロックが完全消去エリアに対応するかどうかにより、リンクテーブル２２０で、その書き込んだブロックを完全消去エリアに配置するかどうかを制御する。これにより、そのデータの消去コマンドを受信したときの処理が、以下に説明するように異なってくる。
【００７１】
図１７は、実施形態１に係るフラッシュメモリコントローラ２０が、リンクテーブル２２０のメインエリア４１０を完全消去エリア１３００と通常エリア１３１０とに分割している場合に、消去コマンドを受信したときの処理を説明するフローチャートである。この処理を実行するプログラムはＲＯＭ１１１に記憶されており、ＣＰＵ１１０がそのプログラムを実行することによりこの処理が達成される。
【００７２】
まずＳ１７０１でＣＰＵ１１０は、システムコントローラ１０から消去コマンドを受信する。次にＳ１７０２に進みＣＰＵ１１０は、フラッシュメモリ３０に格納された完全消去機能の設定に基づいて、完全消去機能が有効かどうかを判定する。ここで完全消去機能が有効に設定されていると判定するとＳ１７０３へ進み、無効と判定するとＳ１７０６へ進む。Ｓ１７０３でＣＰＵ１１０は、消去対象に指示されたアドレスが、完全消去エリア１３００のブロックに属するアドレスかどうかを判定する。ここで消去対象のアドレスが、完全消去エリア１３００のブロックに属するアドレスであると判定するとＳ１７０４に進むが、消去対象のアドレスが通常エリア１３１０のブロックに対応するアドレスであると判定したときはＳ１７０５へ進む。
【００７３】
Ｓ１７０４でＣＰＵ１１０は、消去対象のアドレスを含むフラッシュメモリ３０のブロックを全て「０」で上書きして、この処理を終了する。一方、Ｓ１７０５でＣＰＵ１１０は、通常エリア１３１０のブロックに対応しているため、消去対象のアドレスが存在するブロックのリンクを解除して、この処理を終了する。
【００７４】
また完全消去機能が無効に設定されているときはＳ１７０６に進みＣＰＵ１１０は、完全消去機能が無効なので図７で説明した通常の動作と同様の処理を実行する。即ち、メインエリア４１０に存在する、指定されたアドレスを含むフラッシュメモリ３０のブロックのリンクを解除して、この処理を終了する。
【００７５】
図１８は、実施形態１に係るフラッシュメモリコントローラ２０が完全消去エリア１３００のデータを消去するときのリンクテーブル２２０の遷移を説明する図である。
【００７６】
図１８（Ａ）は、フラッシュメモリコントローラ２０が完全消去エリア１３００の対象アドレスのデータを消去するコマンドを受信する前のリンクテーブル２２０の状態を示す図である。
【００７７】
フラッシュメモリコントローラ２０が、完全消去エリア１３００のブロック１３３１に対応するフラッシュメモリ３０のブロックを消去する場合、完全消去が実行される。このときブロック１３３１に対応するフラッシュメモリ３０のブロックはイレースされ、そのブロックに全て「０」のデータが書き込まれる。その状態を図１８（Ｂ）に示す。
【００７８】
このように実施形態１では、完全消去エリア１３００のブロック１３３１に対応するフラッシュメモリ３０のブロックのデータを消去するときは、そのブロックに全て「０」のデータが書き込まれる。
【００７９】
図１９は、実施形態１に係るフラッシュメモリコントローラ２０が通常エリア１３１０のアドレスのデータを消去するコマンドを受信した場合のブロックの変化を説明する図である。
【００８０】
図１９（Ａ）は、通常エリア１３１０のアドレスのデータを消去するコマンドを受信する前のリンクテーブル２２０の状態を示す。
【００８１】
図１９（Ｂ）は、通常エリア１３１０のブロック１３４１に対応するフラッシュメモリ３０のデータを消去すると、リンクテーブル２２０でブロック１３４１のリンクが解除された状態を示している。
このように実施形態１では、完全消去エリアに該当しないブロックに対応するフラッシュメモリ３０のブロックのデータを消去するときは、そのブロックのデータを残したままでデータのリンクを解除する。
【００８２】
図２０は、実施形態１に係るフラッシュメモリコントローラ２０が、リンクテーブル２２０のメインエリア４１０を完全消去エリア１３００と通常エリア１３１０に分けて管理している場合のブロック初期化処理を説明するフローチャートである。この処理を実行するプログラムはＲＯＭ１１１に記憶されており、ＣＰＵ１１０がそのプログラムを実行することによりこの処理が達成される。
【００８３】
図２１は、図２０のブロック初期化処理におけるリンクテーブルの遷移を説明する図である。図２１（Ａ）は、ブロック初期化処理を実行する前の状態を示し、図２１（Ｂ）は、ブロック初期化処理を実行している状態を示し、図２１（Ｃ）は、ブロック初期化処理が完了した状態を示している。以下、図２０のフローチャートを、図２１を参照して説明する。
【００８４】
まずＳ２００１でＣＰＵ１１０は、リンクテーブル２２０のリザーブエリア４２０の空きブロック４２１の数が所定値以下になったかどうかを判定する。図２１（Ａ）では、リザーブエリア４２０の空きブロック４２１の数は５つであり、ここでは所定値を「８」とする。Ｓ２００１で空きブロック４２１の数が所定値以下になったと判定するとＳ２００２に進みＣＰＵ１１０は、フラッシュメモリ３０に格納される完全消去エリアの設定情報を読み出して、完全消去機能が有効かどうかを判定する。ここでＣＰＵ１１０は有効であると判定するとＳ２００３へ進み、無効と判定するとＳ２００６へ進む。
【００８５】
Ｓ２００３でＣＰＵ１１０は、リザーブエリア４２０へ移動するブロックを完全消去エリア１３００と通常エリア１３１０から選定する。この選定条件としては、例えばブロックの消去回数が少ないものからリザーブエリア４２０へ移動するように決めても良いが、他の手法でも良いものとする。図２１（Ａ）では、完全消去エリア１３００のイレース済のブロック１３３１，１３３２の数が２つ、通常エリア１３１０のリンク解除済みのブロック１３４１の数が１つであるため、これらのブロックをリザーブエリア４２０へ移動するように選定する。
【００８６】
次にＳ２００４に進みＣＰＵ１１０は、完全消去エリア１３００の中の選定したブロック１３３１，１３３２に対応するフラッシュメモリ３０のブロックに全て「１」のデータを書き込む。また通常エリア１３１０で選定されたブロック１３４１に対応するフラッシュメモリ３０のブロックに全て「０」のデータを書き込んでイレースした後、全て「１」のデータを書き込んで初期化する。次にＳ２００５に進みＣＰＵ１１０は、Ｓ２００３で選定したブロックをリザーブエリア４２０へ移動する。
【００８７】
図２１（Ｂ）は、Ｓ２００４の処理が完了した状態を示す。また図２１（Ｃ）は、初期化したブロック１３３１，１３３２，１３４１をリザーブエリア４２０へ移動した状態を示す。
【００８８】
Ｓ２００６〜Ｓ２００８の処理は、図１０のＳ１００２〜Ｓ１００５の処理と同じであるため、簡単に説明する。
【００８９】
Ｓ２００６でＣＰＵ１１０は、リザーブエリア４２０へ移動するブロックをメインエリア４１０から選定する。そしてＳ２００７へ進みＣＰＵ１１０は、Ｓ２００６で選定したブロックに全て「０」のデータを書き込んでイレースした後、そのブロックに全て「１」のデータを書き込んで初期化する。そしてＳ２００８に進みＣＰＵ１１０は、Ｓ２００６で選定したブロックを、メインエリア４１０からリザーブエリア４２０へ移動して、この処理を終了する。
【００９０】
こうして、リザーブエリア４２０の空きブロックの数が所定値以下になると、メインエリア、或いは完全消去機能が有効であれば、完全消去エリア或いは通常エリアのイレース済或いはリンク解除済みのブロックで補充できる。
【００９１】
このようの本実施形態１によれば、メインエリアのブロックを完全消去対象エリアと、従来のメインエリアと同じ通常エリアとに分割し、完全消去対象エリアに対応するブロックのデータだけを完全に消去し、それ以外のブロックはリンクの解除だけを行う。これにより、メインエリアの全てのブロックに対応するブロックのデータを完全に消去する場合に比べて、データの消去に要する時間を短縮できる。
【００９２】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００９３】
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００９４】
１０…システムコントローラ、２０…フラッシュメモリコントローラ、３０…フラッシュメモリ
【図１】
2018185842.tif 000003
【図２】
2018185842.tif 000004
【図３】
2018185842.tif 000005
【図４】
2018185842.tif 000006
【図５】
2018185842.tif 000007
【図６】
2018185842.tif 000008
【図７】
2018185842.tif 000009
【図８】
2018185842.tif 000010
【図９】
2018185842.tif 000011
【図１０】
2018185842.tif 000012
【図１１】
2018185842.tif 000013
【図１２】
2018185842.tif 000014
【図１３】
2018185842.tif 000015
【図１４】
2018185842.tif 000016
【図１５】
2018185842.tif 000017
【図１６】
2018185842.tif 000018
【図１７】
2018185842.tif 000019
【図１８】
2018185842.tif 000020
【図１９】
2018185842.tif 000021
【図２０】
2018185842.tif 000022
【図２１】
2018185842.tif 000023
【手続補正書】
【提出日】平成30年7月30日(2018.7.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
不揮発性記憶装置へのアクセスを制御するメモリ制御装置であって、
論理アドレスと前記不揮発性記憶装置の物理アドレスとを対応付けるアドレス手段と、
前記不揮発性記憶装置のデータを完全に消去する完全消去モードを実行するか否かを設定する設定手段と、
前記設定手段により前記完全消去モードを実行することが設定されている場合に、前記不揮発性記憶装置の物理アドレスを完全消去対象エリアとそれ以外のエリアとに分割して管理する管理手段と、
前記完全消去対象エリアの開始アドレスと終了アドレスを通知する通知手段と、
を有することを特徴とするメモリ制御装置。
【請求項２】
データの消去処理を制御する制御手段を更に有し、
前記制御手段は、消去対象データのアドレスが前記完全消去対象エリアに含まれる場合には、前記論理アドレスに対応付けられた物理アドレスのデータを完全に消去し、前記消去対象データのアドレスが前記それ以外のエリアに含まれる場合には、前記論理アドレスに対応付けられた物理アドレスのデータリンクを解除するように制御することを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
外部装置からコマンドを受け付ける受付手段を更に有し、
前記通知手段は、前記受付手段が前記外部装置から前記完全消去対象エリアの指定コマンドを受け付けることで前記完全消去対象エリアの開始アドレスと終了アドレスを通知することを特徴とする請求項２に記載のメモリ制御装置。
【請求項４】
前記受付手段が前記外部装置から消去コマンドを受け付けることで、前記制御手段が前記消去処理を実行することを特徴とする請求項３に記載のメモリ制御装置。
【請求項５】
前記受付手段が前記外部装置から消去コマンドを受け付けることで、前記設定手段が前記完全消去モードを設定することを特徴とする請求項３又は４に記載のメモリ制御装置。
【請求項６】
前記不揮発性記憶装置は、ＮＡＮＤ型フラッシュメモリであることを特徴とする請求項１乃至５のいずれか１項に記載のメモリ制御装置。
【請求項７】
メモリ制御装置を介して情報処理装置が不揮発性記憶装置にアクセスする情報処理システムであって、
前記メモリ制御装置は、
論理アドレスと前記不揮発性記憶装置の物理アドレスとを対応付けるアドレス手段と、
前記不揮発性記憶装置のデータを完全に消去する完全消去モードを実行するか否かを設定する設定手段と、
前記設定手段により前記完全消去モードを実行することが設定されている場合に、前記不揮発性記憶装置の物理アドレスを完全消去対象エリアとそれ以外のエリアとに分割して管理する管理手段と、
前記完全消去対象エリアの開始アドレスと終了アドレスを通知する通知手段と、
を有し、
前記情報処理装置は、
前記通知手段から前記完全消去対象エリアの開始アドレスと終了アドレスの通知を受信する受信手段と、
前記受信手段によって受信された通知が示す、前記完全消去対象エリアの開始アドレスと終了アドレスを記憶する記憶手段と、
を有することを特徴とする情報処理システム。
【請求項８】
前記完全消去モードを実行しないことが前記設定手段によって設定されると、前記記憶手段は、記憶した前記完全消去対象エリアの開始アドレスと終了アドレスを無効にすることを特徴とする請求項７に記載の情報処理システム。
【請求項９】
前記情報処理装置は、消去対象のアドレスを含むコマンドを前記メモリ制御装置に送信する送信手段を更に有し、
前記メモリ制御装置は、
外部装置からコマンドを受け付ける受付手段と、
前記受付手段が受け付けたコマンドに基づいてデータの消去処理を制御する制御手段を更に有し、
前記制御手段は、前記受付手段が受け付けた消去対象のアドレスが前記完全消去対象エリアに含まれる場合には、前記論理アドレスに対応付けられた物理アドレスのデータを完全に消去し、前記受付手段が受け付けた消去対象のアドレスが前記それ以外のエリアに含まれる場合には、前記論理アドレスに対応付けられた物理アドレスのデータリンクを解除するように制御することを特徴とする請求項７又は８に記載の情報処理システム。
【請求項１０】
前記制御手段は、前記完全消去モードでは、前記受付手段が消去対象のアドレスを受け付けると、前記アドレスに記憶されたデータをすべて０のデータに書き換えることを特徴とする請求項９に記載の情報処理システム。
【請求項１１】
前記制御手段は、前記論理アドレスと前記不揮発性記憶装置の物理アドレスとをブロック単位で対応付けることを特徴とする請求項９又は１０に記載の情報処理システム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、メモリ制御装置及び情報処理システムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
上記目的を達成するために、本発明の一態様に係るメモリ制御装置は以下のような構成を備える。即ち、
不揮発性記憶装置へのアクセスを制御するメモリ制御装置であって、
論理アドレスと前記不揮発性記憶装置の物理アドレスとを対応付けるアドレス手段と、
前記不揮発性記憶装置のデータを完全に消去する完全消去モードを実行するか否かを設定する設定手段と、
前記設定手段により前記完全消去モードを実行することが設定されている場合に、前記不揮発性記憶装置の物理アドレスを完全消去対象エリアとそれ以外のエリアとに分割して管理する管理手段と、
前記完全消去対象エリアの開始アドレスと終了アドレスを通知する通知手段と、
を有することを特徴とする。
また、本発明の一態様に係る情報処理システムは以下のような構成を備える。即ち、
メモリ制御装置を介して情報処理装置が不揮発性記憶装置にアクセスする情報処理システムであって、
前記メモリ制御装置は、
論理アドレスと前記不揮発性記憶装置の物理アドレスとを対応付けるアドレス手段と、
前記不揮発性記憶装置のデータを完全に消去する完全消去モードを実行するか否かを設定する設定手段と、
前記設定手段により前記完全消去モードを実行することが設定されている場合に、前記不揮発性記憶装置の物理アドレスを完全消去対象エリアとそれ以外のエリアとに分割して管理する管理手段と、
前記完全消去対象エリアの開始アドレスと終了アドレスを通知する通知手段と、
を有し、
前記情報処理装置は、
前記通知手段から前記完全消去対象エリアの開始アドレスと終了アドレスの通知を受信する受信手段と、
前記受信手段によって受信された通知が示す、前記完全消去対象エリアの開始アドレスと終了アドレスを記憶する記憶手段と、
を有することを特徴とする。