(57)【要約】【課題】メモリカードから完全にデータを消去し、不正なアクセスを防止することができるメモリカードおよびそれを用いたシステムを提供する。【解決手段】外部から送られるコマンドがユーザの利用できるメモリカードのメモリ全領域の無効化を意味する全領域無効化であることを検出するユーザ領域無効化検出手段と、前記ユーザ領域無効化検出手段が前記全領域無効化であることを検出すると、データ領域と管理領域を含めた全てのメモリ領域を無効化する全領域無効化手段とを備え、ホスト機器から送られるコマンドがユーザ領域無効化を意味する場合はそれを検出し、データ領域と管理領域を含めた全てのメモリ領域を全領域無効化することができるので、不正なアクセスによりデータが読み取られることを防止できる。【選択図】図６
2007310523.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶することができるデータ領域と前記データ領域に記憶されるデータを管理する情報を記憶する管理領域を持つ不揮発性メモリと、
外部から送られるコマンドにより前記不揮発性メモリ内の各領域に対する動作を制御するコントローラと、
外部から送られるコマンドで指定する論理アドレスから不揮発性メモリの位置を表す物理アドレスに変換する論理物理アドレス変換テーブルを備え、
外部から送られるコマンドがユーザの利用できるメモリカードのメモリ全領域の無効化を意味する全領域無効化であることを検出するユーザ領域無効化検出手段と、
前記ユーザ領域無効化検出手段が前記全領域無効化であることを検出すると、データ領域と管理領域を含めた全てのメモリ領域を無効化する全領域無効化手段とを備えたメモリカード。
【請求項２】
前記ユーザ領域無効化検出手段が、ユーザ領域開始アドレス算出手段と、ユーザ領域終了アドレス算出手段を備え、
前記ユーザ領域開始アドレスと外部から送られるコマンドから取得できる無効化開始アドレスを比較する手段と、
前記ユーザ領域終了アドレスと外部から送られるコマンドから取得できる無効化終了アドレスを比較する手段を備えることで、
それぞれが一致したときに前記全領域無効化であることを検出することを特徴とする請求項１記載のメモリカード。
【請求項３】
前記ユーザ領域無効化検出手段が前記全領域無効化であることを検出すると、前記全領域無効化手段が、全領域の無効化を行うか否かを切り替えることができる無効化方法切り替え手段を持つことを特徴とする請求項２に記載のメモリカード。
【請求項４】
前記全領域無効化手段が無効化しない領域を無効化除外領域として設定することができることを特徴とする請求項２に記載のメモリカード。
【請求項５】
前記ユーザ領域無効化検出手段は、ユーザ領域無効化状態テーブルを持ち、複数の消去コマンドにより前記ユーザ領域無効化状態テーブルの全ての値が消去状態とされたとき、前記全領域無効化であることを検出することを特徴とする請求項１に記載のメモリカード。
【請求項６】
前記ユーザ領域無効化検出手段が前記全領域無効化であることを検出すると、前記全領域無効化手段が、全領域の無効化を行うか否かを切り替えることができる無効化方法切り替え手段を持つことを特徴とする請求項５に記載のメモリカード。
【請求項７】
前記全領域無効化手段が無効化しない領域を無効化除外領域として設定することができることを特徴とする請求項５に記載のメモリカード。
【請求項８】
データを記憶することができるデータ領域と前記データ領域に記憶されるデータを管理する情報を記憶する管理領域を持つ不揮発性メモリと、
外部から送られるコマンドにより前記不揮発性メモリ内の各領域に対する動作を制御するコントローラと、
外部から送られるコマンドで指定する論理アドレスから不揮発性メモリの位置を表す物理アドレスに変換する論理物理アドレス変換テーブルを備えたメモリカードに格納されたデータを処理するメモリカード処理方法であって、
外部から送られるコマンドがユーザの利用できるメモリカードのメモリ全領域の無効化を意味する全領域無効化であることを検出するユーザ領域無効化検出ステップと、
前記ユーザ領域無効化検出ステップで前記全領域無効化であることを検出すると、データ領域と管理領域を含めた全てのメモリ領域を無効化する全領域無効化ステップとを備えたことを特徴とするメモリカード処理方法。
【請求項９】
データを記憶することができるデータ領域と前記データ領域に記憶されるデータを管理する情報を記憶する管理領域を持つ不揮発性メモリと、
外部から送られるコマンドにより前記不揮発性メモリ内の各領域に対する動作を制御するコントローラと、
外部から送られるコマンドで指定する論理アドレスから不揮発性メモリの位置を表す物理アドレスに変換する論理物理アドレス変換テーブルを備えたメモリカードにおいて、該メモリカード内部のＣＰＵにより実行されるメモリカード処理プログラムであって、
外部から送られるコマンドがユーザの利用できるメモリカードのメモリ全領域の無効化を意味する全領域無効化であることを検出するユーザ領域無効化検出ステップと、
前記ユーザ領域無効化検出ステップで前記全領域無効化であることを検出すると、データ領域と管理領域を含めた全てのメモリ領域を無効化する全領域無効化ステップとを備えたこと特徴とするメモリカード処理プログラム。
【請求項１０】
メモリカードにおいて用いられる集積回路であって、
データを記憶することができるデータ領域と前記データ領域に記憶されるデータを管理する情報を記憶する管理領域を持つ不揮発性メモリと、
外部から送られるコマンドにより前記不揮発性メモリ内の各領域に対する動作を制御するコントローラと、
外部から送られるコマンドで指定する論理アドレスから不揮発性メモリの位置を表す物理アドレスに変換する論理物理アドレス変換テーブルを備え、
外部から送られるコマンドがユーザの利用できるメモリカードのメモリ全領域の無効化を意味する全領域無効化であることを検出するユーザ領域無効化検出手段と、
前記ユーザ領域無効化検出手段が前記全領域無効化であることを検出すると、データ領域と管理領域を含めた全てのメモリ領域を無効化する全領域無効化手段とを備えたこと特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリカード内のデータ無効化方法に関するものである。
【背景技術】
【０００２】
メモリカードは、例えばデジタルスチルカメラのような製品の市場が拡大し続けることにより、消費者によって幅広く使用されるようになってきた。例えばＰＣカード（登録商標）、コンパクトフラッシュ（登録商標）、スマートメディア（登録商標）、マルチメディアカード（ＭＭＣ）（登録商標）、メモリスティック、メモリスティックプロ、セキュアデジタル（ＳＤ）メモリカード、ｘＤ−ピクチャカード（登録商標）のような様々な種類の利用可能なメモリカードが存在する。このようなメモリカードは、データを記憶するデータ領域を持つ不揮発性メモリ、このフラッシュメモリ内のデータ領域への書き込み、読出しおよび消去動作を制御するコントローラなどからなり、これらのフラッシュメモリやコントローラなどが、実装基板上に搭載され、ケースなどに収納されて構成されている。
デジタルスチルカメラやパソコンなどのホスト機器からの要求はコマンドとしてメモリカードに送られ、メモリカード内のコントローラがコマンドを解釈し、フラッシュメモリの制御を行っている。
【０００３】
メモリカードが消去後に廃棄される場合、または他人に渡される場合、その中にあるデータを如何にして消去するかが、データセキュリティの観点から重要な問題となる。また、近年個人情報の扱いが問題となっており、個人情報のデータは安全に消去できなければならない。しかし、個人情報のデータを格納したメモリカードから消去コマンドを使ってデータの消去を行う場合、データを消去したように見える消去動作が実行されるだけで、データ自身は内部に存在するのが一般的である。従って、無法なユーザがメモリカード上に残された個人情報にアクセスすることは可能であるため、メモリカード内のデータを安全に消去することが望ましい。
【０００４】
従来文献（特許文献１参照）では、全ての情報を消去するためにパージコマンドを用意することで、全領域の消去を行うものであるが、このためにホスト機器とメモリカードで新規のコマンドとしてパージコマンドに対応する必要がある。
【特許文献１】特開２００４−５４９０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
メモリカードで消去コマンドを使って全領域を消去する場合、論理的な領域が実際に消されるかもしくは消去状態となるだけで、実際に全ての物理領域が消去されない。よってデータが残ることとなり、悪意のあるホスト機器によって不正アクセスされる可能性があり問題となる。
また、消去にかかる時間は、消去単位より小さい領域の消去を含むと、消去単位より小さい領域の書き込み処理を含むため、処理時間がかかるという問題がある。
【０００６】
本発明は、新規にコマンドを追加することなく、全領域を消去することでセキュリティを高め、かつ高速に全領域を消去することを目的とする。
【課題を解決するための手段】
【０００７】
前記従来の課題を解決するために、本発明のメモリカードは、データを記憶することができるデータ領域と前記データ領域に記憶されるデータを管理する情報を記憶する管理領域を持つ不揮発性メモリと、外部から送られるコマンドにより前記不揮発性メモリ内の各領域に対する動作を制御するコントローラと、外部から送られるコマンドで指定する論理アドレスから不揮発性メモリの位置を表す物理アドレスに変換する論理物理アドレス変換テーブルを備え、外部から送られるコマンドがユーザの利用できるメモリカードのメモリ全領域の無効化を意味する全領域無効化であることを検出するユーザ領域無効化検出手段と、前記ユーザ領域無効化検出手段が前記全領域無効化であることを検出すると、データ領域と管理領域を含めた全てのメモリ領域を無効化する全領域無効化手段とを備えた。
【０００８】
また、前記ユーザ領域無効化検出手段が、ユーザ領域開始アドレス算出手段と、ユーザ領域終了アドレス算出手段を備え、前記ユーザ領域開始アドレスと外部から送られるコマンドから取得できる無効化開始アドレスを比較する手段と、前記ユーザ領域終了アドレスと外部から送られるコマンドから取得できる無効化終了アドレスを比較する手段を備えることで、それぞれが一致したときに前記全領域無効化であることを検出することを特徴とする。
【０００９】
また、前記ユーザ領域無効化検出手段が前記全領域無効化であることを検出すると、前記全領域無効化手段が、全領域の無効化を行うか否かを切り替えることができる無効化方法切り替え手段を持つことを特徴とする。
【００１０】
また、前記全領域無効化手段が無効化しない領域を無効化除外領域として設定することができることを特徴とする。
【００１１】
また、前記ユーザ領域無効化検出手段は、ユーザ領域無効化状態テーブルを持ち、複数の消去コマンドにより前記ユーザ領域無効化状態テーブルの全ての値が消去状態とされたとき、前記全領域無効化であることを検出することを特徴とする。
【００１２】
また、前記ユーザ領域無効化検出手段が前記全領域無効化であることを検出すると、前記全領域無効化手段が、全領域の無効化を行うか否かを切り替えることができる無効化方法切り替え手段を持つことを特徴とする。
【００１３】
また、前記全領域無効化手段が無効化しない領域を無効化除外領域として設定することができることを特徴とする。
【００１４】
また、本発明のメモリカード処理方法は、データを記憶することができるデータ領域と前記データ領域に記憶されるデータを管理する情報を記憶する管理領域を持つ不揮発性メモリと、外部から送られるコマンドにより前記不揮発性メモリ内の各領域に対する動作を制御するコントローラと、外部から送られるコマンドで指定する論理アドレスから不揮発性メモリの位置を表す物理アドレスに変換する論理物理アドレス変換テーブルを備えたメモリカードに格納されたデータを処理するメモリカード処理方法であって、外部から送られるコマンドがユーザの利用できるメモリカードのメモリ全領域の無効化を意味する全領域無効化であることを検出するユーザ領域無効化検出ステップと、前記ユーザ領域無効化検出ステップで前記全領域無効化であることを検出すると、データ領域と管理領域を含めた全てのメモリ領域を無効化する全領域無効化ステップとを備えたことを特徴とする。
【００１５】
また、本発明のメモリカード処理プログラムは、データを記憶することができるデータ領域と前記データ領域に記憶されるデータを管理する情報を記憶する管理領域を持つ不揮発性メモリと、外部から送られるコマンドにより前記不揮発性メモリ内の各領域に対する動作を制御するコントローラと、外部から送られるコマンドで指定する論理アドレスから不揮発性メモリの位置を表す物理アドレスに変換する論理物理アドレス変換テーブルを備えたメモリカードにおいて、該メモリカード内部のＣＰＵにより実行されるメモリカード処理プログラムであって、外部から送られるコマンドがユーザの利用できるメモリカードのメモリ全領域の無効化を意味する全領域無効化であることを検出するユーザ領域無効化検出ステップと、前記ユーザ領域無効化検出ステップで前記全領域無効化であることを検出すると、データ領域と管理領域を含めた全てのメモリ領域を無効化する全領域無効化ステップとを備えたこと特徴とする。
【００１６】
また、本発明の集積回路は、メモリカードにおいて用いられる集積回路であって、データを記憶することができるデータ領域と前記データ領域に記憶されるデータを管理する情報を記憶する管理領域を持つ不揮発性メモリと、外部から送られるコマンドにより前記不揮発性メモリ内の各領域に対する動作を制御するコントローラと、外部から送られるコマンドで指定する論理アドレスから不揮発性メモリの位置を表す物理アドレスに変換する論理物理アドレス変換テーブルを備え、外部から送られるコマンドがユーザの利用できるメモリカードのメモリ全領域の無効化を意味する全領域無効化であることを検出するユーザ領域無効化検出手段と、前記ユーザ領域無効化検出手段が前記全領域無効化であることを検出すると、データ領域と管理領域を含めた全てのメモリ領域を無効化する全領域無効化手段とを備えたこと特徴とする。
【発明の効果】
【００１７】
ユーザ領域無効化検出手段を追加することで、ホスト機器が全てのユーザ領域を無効化しようとすることを検出し、検出したときに全領域を無効化することにより、以下の２つの効果がある。
１．論理的な領域のみでなく、全領域を無効化することで、データがメモリ内に残らなくなり、不正なアクセスによりデータが読み取られることを防止できる。
２．全領域無効化手段で物理領域消去を行うことで、複数の物理ブロック単位の消去化を行うことができるため消去時間を短縮することができる。
【００１８】
さらに、以下の各手段を追加すれば、さらに３つの効果が生じる。
３．無効化方法切り替え手段を追加することで、ホスト機器から送られるコマンドによって論理的な消去を行うか、全領域を無効化するかを切り替えでき、ユーザの意図を反映できるようになる。
４．無効化しない領域を無効化除外領域として設定することで、全領域無効化手段によって無効化されない領域を設定できる。
５．無効化状態テーブルを追加すれば、ホスト機器から送られるコマンドが複数の消去命令であってもユーザ領域無効化を意味することを検出することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について、図面を参照しながら説明する。
実施の形態を説明する前にまず、メモリカードとそれを使用するメモリカード制御装置について説明する。
図１に示すように、メモリカードとそれを使用するメモリカード制御装置は、ホスト機器１００と、メモリカード３００と、ホスト機器１００とメモリカード３００の間でデータを送受信するバス２００からなる。
【００２０】
ホスト機器１００は、バス２００を通じてメモリカード３００の制御を行う。具体的には、デジタルカメラ、携帯型音楽端末、携帯電話、ＦＡＸ、カーナビ、ＤＶＤレコーダなどが考えられる。
【００２１】
メモリカード３００は、実際にデータを記録する不揮発性メモリ３２０とコントローラ３１０からなる。
コントローラ３１０は、ホスト機器１００からバス２００を通じて送られてくるコマンドを解釈し、不揮発性メモリ３２０に対しデータのＲＥＡＤ、ＷＲＩＴＥを行う。
コントローラ３１０内部には、カード全体の処理を司るＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｏｎｇ  Ｕｎｉｔ）３１２とＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３１４やＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３１３、ホスト機器１００と不揮発性メモリ３２０間のデータを送受信するためのバッファ３１５と、ホスト機器１００とのインターフェースを司るホストインターフェース３１１と、不揮発性メモリ３２０とのインターフェースを司る不揮発性メモリインターフェース３１６などが備えられている。また、レジスタ３１７にメモリカード固有の値が格納されている。レジスタ３１７にはユーザが利用できるデータ容量を算出できる値が含まれている。
メモリカード３００は、具体的には、ＳＤメモリカードに適応可能である。ＳＤメモリカードは，松下電器産業（株）、（株）東芝、サンディスクコーポレーションの３社が共同で開発した、取り扱いの容易なメモリデバイスである。
【００２２】
（実施の形態１）
実施の形態１では、不揮発性メモリ３２０として、フラッシュメモリを用いる例を説明する。フラッシュメモリ内の構成の一例を説明する。
図２に示すようにフラッシュメモリは消去単位であるブロック７２０単位で管理され１つのフラッシュメモリには複数のブロック７２０が存在する。また、１つのブロック７２０は書込み単位であるページ７１０で管理され、１つのブロック内に複数のページ７１０が存在することとなる。
ページ７１０は、さらにホスト機器１００からのアクセス単位である複数のセクタ７００に分割できる。ホスト機器１００から指定されるメモリアドレスのことを論理アドレス２と呼んでいる。
【００２３】
メモリカードには、図３に示すように論理物理変換テーブル１があり、ホスト機器１００から指定されるアドレスを実際のフラッシュメモリの位置である物理アドレス３に変換する。フラッシュメモリの物理アドレス０ｘ００００にはシステムで利用する領域（例えば、初期状態から存在する不良ブロックを登録する領域）が存在するので、論理アドレスに対して０ｘ００００は割り当てられることが無く、アドレス０ｘ００００は論理物理アドレス変換テーブル１の物理アドレスの無効値とする。
【００２４】
フラッシュメモリ９００には、図４に示すように、データを記憶するデータ領域７３０、およびこのデータ領域７３０に記憶されるデータを管理する情報を管理する管理領域７４０が備えられている。管理領域７４０には、データ領域のデータのＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔ  Ｃｏｄｅ）やデータ領域が書込み済みかどうかを表す書き込み済みフラグ等が管理されている。
また、データ領域７３０および管理領域７４０の他に、データ領域が不良な状態となった場合に領域を代替するためのデータ代替領域７５０、およびデータ代替領域７５０の情報を管理する管理領域や、不良ブロックを登録する不良ブロック登録領域７６０、および不良ブロック登録領域７６０を管理する管理領域が備えられている。さらに、メモリカードとして必要な情報をシステム情報領域７７０に格納し、システム情報領域７７０の情報を管理する管理領域を備えている。
【００２５】
次に、本実施の形態のシステムにおける通常の(後述する「ユーザ領域無効化」でない)消去コマンドの処理フローの一例を示す。ホスト機器１００からメモリカードに対して消去を要求する際、消去開始アドレスと消去終了アドレスが指定され、消去コマンドが発行される。
メモリカードは、消去開始アドレスと消去終了アドレスの間を無効化する処理を行う。この処理は、例えば論理アドレス変換テーブル１の論理アドレスを無効化する論理アドレス無効化手段６００によって行われる。論理アドレス無効化手段６００は、図５のように消去開始アドレスと消去終了アドレスの間に対応する論理アドレス２の物理アドレス３を０ｘ００００に変更する。
【００２６】
本実施の形態のシステムではさらに、図６のようにコントローラ３１０内にユーザ領域無効化検出手段４００と、全領域無効化手段５００を備えている。
まず、ユーザ領域無効化検出手段４００を用いて、ホスト機器１００からメモリカード３００に対して消去を要求する複数のコマンドから、ホスト機器１００が全領域を無効化しようとしている旨を検出する。全領域を無効化しないのであれば、論理アドレス無効化手段６００を用いて無効化を行う（図７）。
【００２７】
ユーザ領域無効化検出手段４００は、図８のように、ユーザ領域開始アドレスを算出するステップ４１０と、消去開始アドレス（無効化開始アドレス）とユーザ領域開始アドレスとを比較するステップ４２０と、ユーザ領域終了アドレスを算出するステップ４３０と、消去終了アドレス（無効化終了アドレス）とユーザ領域終了アドレスとを比較するステップ４４０とを備えた処理により、ホスト機器１００が全領域を無効化しようとしている旨を検出する。
【００２８】
第一に、ユーザ領域の開始アドレスを算出するステップ４１０により、ユーザ領域の開始アドレスを取得する。通常はユーザ領域の開始アドレスは０ｘ００００となる。先頭領域にシステムで必要な領域を格納する場合は、メモリカードのユーザ領域の開始アドレスの値をＲＯＭに格納しておき、その値を取得するようにしてもよい。
【００２９】
第二に、消去開始アドレスとユーザ領域の開始アドレスとを比較するステップ４２０は、ホストから送られてきたコマンドから、消去開始アドレスを取得しユーザ領域の開始アドレスと比較し、等しければ次のステップに進む。そうでなければ、全領域の無効化でないと判断する。
【００３０】
第三に、ユーザ領域の終了アドレスを算出するステップ４３０では、ユーザ領域の終了アドレスを取得する。ユーザ領域の終了アドレスは、メモリカード内のアクセス可能なメモリの量（すなわち、ユーザデータ容量）から求める。ユーザデータ容量は通常メモリカード内のレジスタ設定に格納され、レジスタ設定値から求めることができる。ＳＤメモリカードでは、ユーザデータ容量は、ＣＳＤレジスタに格納されたレジスタ情報から算出可能である。
【００３１】
最後に、消去終了アドレスとユーザ領域の終了アドレスとを比較するステップ４４０では、ホストから送られてきたコマンドから、消去終了アドレスを取得しユーザ領域の終了アドレスと比較し、等しければユーザ領域の無効化である旨を検出する。そうでなければ、ユーザ領域の無効化でないと判断する。
【００３２】
ユーザ領域無効化検出手段４００が全領域を無効化することを検出したならば、全領域無効化手段５００を用いて全物理アドレス領域を無効化する。全領域無効化手段５００によって無効化される領域を図９で示す。
【００３３】
全領域無効化手段５００は、例えば、フラッシュメモリの消去単位であるブロックを消去する機能を利用し、これらを繰り返すことで行う。通常フラッシュメモリは、複数のブロックを同時にアクセスする機能を備えており、複数のブロックを同時に消去することができる。また、複数のフラッシュメモリを用いたシステムの場合は、複数のフラッシュメモリに同時にアクセスすることにより、複数のフラッシュメモリのブロックを同時に消去できる。全領域無効化手段５００は、これらの複数のブロックを消去する機能を効果的に利用することで、消去速度が高速化される。また、消去単位より小さい領域の消去を含むと、消去単位より小さい領域の書き込み処理を含むため、処理時間がかかるという問題があったが、全領域無効化手段５００で全領域を消去する場合、必ず消去単位で消去が行われることになり、消去単位より小さい領域の書き込み処理を含むことがなく、処理時間が短縮される。
【００３４】
以上のことにより、論理的な領域のみでなく、全領域を無効化することで、データがメモリ内に残らなくなり、不正なアクセスによりデータが読み取られることを防止できる。また、全領域無効化手段５００で消去単位であるブロックを消去する機能を利用し、消去時間を短縮することができる。
なお、ホスト機器１００から送られるコマンドによって変更される全領域無効化有効フラグを設け、全領域無効化有効フラグがセットされている場合のみユーザ領域無効化検出手段４００と全領域無効化手段５００を有効にするような無効化方法切り替え手段を設けても良い。
【００３５】
（実施の形態２）
実施の形態２では、実施の形態１のユーザ領域無効化検出手段４００と全領域無効化手段５００の他の形態について説明する。
【００３６】
実施の形態２におけるユーザ領域無効化検出手段４００は、論理アドレスのブロックのメモリ使用状況を表す無効化状態テーブル８００を持つ。無効化状態テーブル８００は、ビットマップのテーブルであり論理アドレスの無効時に１（即ち消去状態）、有効時（即ち書込み状態）に０で表し、全物理ブロック分の状態を表すことができるサイズを持つ。無効化状態テーブル８００はＣＰＵでアクセス可能なＲＡＭに配置される。
ユーザ領域無効化検出手段４００は図１０のフローの動作を行う。まず、ホスト機器１００からメモリカードに対して発行されたコマンドを判定し（ステップ４５０）、それが消去コマンドの場合、消去開始アドレスに対応するブロックから消去終了アドレスに対応するブロックの無効化状態テーブル８００内の値を１（即ち消去状態）に変更する(ステップ４７０)。逆に、書込みコマンドが発行されると、無効化状態テーブル８００内の値を０（即ち書込み状態）に変更する(ステップ４６０)。それ以外のコマンドの場合は、何もしない。その後、無効化状態テーブル８００の、全ての値が１（即ち消去状態）であるとき、全領域の無効化であると検出する（ステップ４８０）。
【００３７】
図１１に無効化状態テーブルの例を示す。図１１（ａ）は、０ｘ００８０から０ｘ００９０が０であり、書込み状態である。この後、０ｘ００８０から０ｘ００９０を消去すると図１１（ｂ）のように全てが１となる。このとき、ユーザ領域無効化検出手段４００が、全領域の無効化であると検出することとなる。
また、不良ブロック登録領域７６０自体のブロックや、不良ブロック登録領域７６０に登録されているブロックや、システム情報領域７７０に指定されているブロックについての無効化状態テーブルの値は無視するようすることができる。そうすれば、ユーザ領域無効化検出手段４００は、不良ブロック登録領域７６０自体のブロックや、不良ブロック登録領域７６０に登録されているブロックやシステム情報領域７７０に指定されているブロックが０（即ち書込み状態）になっていても、無効化であると検出することができる。
【００３８】
次に、全領域無効化手段５００の他の形態について説明する。
実施の形態２における全領域無効化手段５００は、図１２のようにフラッシュメモリ全体の物理領域から除外する無効化除外領域７９５を設定することができる。
例えば、鍵情報や暗号情報が格納されるようなアクセス制限のあるセキュアな領域が存在するメモリカードであれば、セキュアな領域を無効化除外領域７９５に設定し鍵情報と暗号情報を無効化しないようにすることで、全物理領域無効化後にも続けて鍵情報と暗号情報が利用できるようになる。
また、一般的に一度不良ブロックと判定されたブロックは、再度書込みを行うと不良ブロックと判定されるため、不良ブロック情報を登録する不良ブロック登録領域７６０を無効化除外領域７９５に設定するとともに、不良ブロック自体を無効化除外領域７９５に設定すれば、既に不良ブロックと判定したブロックを再利用しなくなるので、再書き込み時に不良ブロック発生する必要が無くなる。
さらに、システム情報が格納されるシステム情報領域７７０を無効化除外領域７９５に設定することにより、システム情報を再度算出しなくて良くなるとともに、メモリカードの利用開始時に書込まれているデータを消去しなくて良くなる。
無効化除外領域７９５に不良ブロック登録領域７６０とシステム情報領域７７０を設定した場合の全領域無効化手段５００によって無効化される領域を図１２で示す。
【００３９】
全領域無効化手段５００に、書き戻し手段を備えることで、必要な情報を書き戻すようにしても良い。この場合は、必要な情報を他のブロックに待避させながら、消去を行う必要がある。
【００４０】
以上、本発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
たとえば、前記実施の形態においては、不揮発性メモリとしてフラッシュメモリを例に説明したが、ＥＥＰＲＯＭや、ＦｅＲＡＭなどの不揮発性メモリなどにも適用することが可能である。
また、本発明は、前記のようにメモリカードに適用して効果的であるが、さらにフラッシュメモリ、不揮発性メモリなどを搭載したメモリモジュール、メモリ装置などの装置全般に広く応用することができる。
【００４１】
（実施の形態１〜実施の形態２の補足事項）
以上、実施形態１、２を説明した。尚、これまでの説明において本発明のメモリカードにおいて備えている、ユーザ領域無効化検出手段、全領域無効化手段等は、コンピュータプログラムとして実現される。当該プログラムは、メモリカード内のＲＯＭに格納され実行されるものと、外部よりダウンロードされ、不揮発性メモリに格納され実行されるものがある。
【００４２】
また、さらに、上述の機能ブロックは、ＣＰＵ、ＲＡＭ、ＲＯＭ、不揮発性メモリ等のハードウェア資源との組み合わせにより、集積回路であるＬＳＩとして実現される場合がある。これらは、個別に１チップ化されても良いし、一部又はすべてを含むように１チップ化されても良い。集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製作後にプログラムすることが可能なＦＰＧＡ(Ｆｉｅｌｄ Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ)やＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【産業上の利用可能性】
【００４３】
本発明にかかるメモリカードではユーザ領域無効化検出手段と全領域無効化手段を備えれば良く、組み込み機器のメモリ制御等の用途にも応用できる。
【図面の簡単な説明】
【００４４】
【図１】一般的なメモリカードのブロック図である。
【図２】一般的なフラッシュメモリ内の物理ブロックの構成を示す図である。
【図３】一般的なメモリカードの論理物理変換テーブルを示す図である。
【図４】一般的なフラッシュメモリ内の領域を説明する図である。
【図５】論理的な消去の論理物理変換テーブルの値を示す図である。
【図６】本発明の実施形態に係るメモリカードの構成図である。
【図７】本発明の実施形態に係るメモリカードの消去コマンドによる消去手順を示すフローである。
【図８】本発明の実施の形態１によるユーザ領域無効化検出手段の例のフローである。
【図９】本発明の実施の形態１による無効化範囲の例を示す図である。
【図１０】本発明の実施の形態２によるユーザ領域無効化検出手段の例のフローである。
【図１１】本発明の実施の形態２によるユーザ領域無効化検出手段に用いる無効化テーブルを説明する図である。
【図１２】本発明の実施の形態２による無効化範囲の例を示す図である。
【符号の説明】
【００４５】
１      論理物理変換テーブル
２      論理アドレス
３      物理アドレス
４      コマンド解析手段
１００  ホスト機器
２００  バス
３００  メモリカード
３１０  コントローラ
３１１  ホストインターフェース
３１２  ＣＰＵ
３１３  ＲＯＭ
３１４  ＲＡＭ
３１５  バッファ
３１６  不揮発性メモリインターフェース
３１７  レジスタ
３２０  不揮発性メモリ
４００  ユーザ領域無効化検出手段
４１０  ユーザ領域開始アドレス算出
４２０  消去開始アドレスとユーザ領域開始アドレスを比較するステップ
４３０  ユーザ領域終了アドレス算出
４４０  消去終了アドレスとユーザ領域終了アドレスを比較するステップ
４５０  コマンド判別するステップ
４６０  無効化状態テーブルをセットするステップ
４７０  無効化状態テーブルをクリアするステップ
４８０  無効化状態テーブルが全てセットか確認するステップ
５００  全領域無効化手段
６００  論理アドレス無効化手段
７００  セクタ
７１０  ページ
７２０  ブロック
７３０  データ領域
７４０  管理領域
７５０  データ代替領域
７６０  不良ブロック登録領域
７７０  システム情報領域
７８０  ユーザ領域
７９０  全領域
７９５  無効化除外領域
８００  無効化状態テーブル
９００  フラッシュメモリ
【図１】
2007310523.tif 000003
【図２】
2007310523.tif 000004
【図３】
2007310523.tif 000005
【図４】
2007310523.tif 000006
【図５】
2007310523.tif 000007
【図６】
2007310523.tif 000008
【図７】
2007310523.tif 000009
【図８】
2007310523.tif 000010
【図９】
2007310523.tif 000011
【図１０】
2007310523.tif 000012
【図１１】
2007310523.tif 000013
【図１２】
2007310523.tif 000014