(57)【要約】【課題】半導体メモリカードにおいて、カード内のデータを消去する場合に物理的に消去しており、大容量化に伴い消去時間が長くかかるという欠点がある。【解決手段】不揮発性メモリ２０内のデータとは異なる物理ブロックにアドレス管理テーブルＬＰＴおよび物理ブロック管理テーブルＥＴを保持する。外部ホスト機器から消去コマンドを受け付けた場合に、該当論理アドレスを未アロケート登録すると共に、物理ブロック管理テーブルの前記論理アドレスに割り当てられていた物理ブロックを未使用登録し、不揮発性メモリ２０に書き戻す。こうすれば物理的な消去が不要で高速にデータを消去できる。【選択図】図１
2005092678.tif 000002
【特許請求の範囲】
【請求項１】
揮発性メモリと、不揮発性メモリと、前記揮発性メモリ及び不揮発性メモリにデータを書込むと共に外部からの信号に応じてデータを消去する制御部と、を具備する半導体メモリカードであって、
前記不揮発性メモリは、
前記不揮発性メモリにアクセスするために外部から与えられる論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと、
前記不揮発性メモリの物理ブロック使用状況を管理する複数の物理ブロック管理テーブルと、
前記複数のアドレス管理テーブルおよび物理ブロック管理テーブルの不揮発性メモリ上の位置を示すアドレス変換テーブルインデックス情報群とを保持するものであり、
前記制御部は、
外部からのデータ消去指令に基づきデータを消去する場合に、前記アドレス管理テーブルの該当論理アドレスを未使用とすると共に、前記物理ブロック管理情報を未使用として前記不揮発性メモリに書き込むことを特徴とする半導体メモリカード。
【請求項２】
揮発性メモリと、不揮発性メモリと、前記揮発性メモリ及び不揮発性メモリにデータを書込むと共に外部からの信号に応じてデータを消去する制御部と、を具備する機器におけるデータ消去処理方法であって、
前記不揮発性メモリは、
前記不揮発性メモリにアクセスするために外部から与えられる論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと、
前記不揮発性メモリの物理ブロック使用状況を管理する複数の物理ブロック管理テーブルと、
前記複数のアドレス管理テーブルおよび物理ブロック管理テーブルの不揮発性メモリ上の位置を示すアドレス変換テーブルインデックス情報群とを保持するものであり、
外部からのデータ消去指令に基づきデータを消去する場合に、前記アドレス管理テーブルの該当論理アドレスを未使用とし、
前記物理ブロック管理情報を未使用として前記不揮発性メモリに書き込むことを特徴とするデータ消去処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書き換え可能な不揮発性メモリを有する半導体メモリカード及び不揮発性メモリの情報を消去する消去処置方法に関する。
【背景技術】
【０００２】
書き換え可能な不揮発性メモリを有する半導体メモリカードは、不揮発性メモリにアクセスするために与えられる論理アドレスを物理アドレスに変換することで、内部データへのアクセスが行われる。従来の半導体メモリカードは、物理ブロックの冗長領域に論理アドレスをデータと共に書き込むことで不揮発性メモリの物理ブロックと論理アドレスを関連付けている。外部から内部データへのアクセスが発生する前に、半導体メモリカード内全物理ブロックの冗長領域をサーチし、論理アドレスを物理アドレスに変換するためのアドレス管理テーブルを内部の揮発性メモリに作成していた。
【０００３】
半導体メモリカード内のデータを消去する場合には、アドレス管理テーブルを基に該当論理アドレスが割り当てられた物理ブロックをサーチして、物理的に消去していた。
【０００４】
又物理的に消去する際には時間がかかるため、例えば特許文献１では複数のブロック消去動作を同時に行うことによって消去を高速化するようにしたフラッシュメモリカードが提案されている。
【特許文献１】特開平８−２６３３６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の半導体メモリカードにおいては、複数のブロックを同時に消去する場合であっても、大容量化に伴い物理ブロック数が増加すると、ＦＡＴによる初期化時に全領域を物理的に消去する場合に、処理時間が増大する可能性があった。
【０００６】
本発明は不揮発性メモリにおいて、データの消去期間を大幅に短縮できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本願の請求項１の発明は、揮発性メモリと、不揮発性メモリと、前記揮発性メモリ及び不揮発性メモリにデータを書き込むと共に外部からの信号に応じてデータを消去する制御部と、を具備する半導体メモリカードであって、前記不揮発性メモリは、前記不揮発性メモリにアクセスするために外部から与えられる論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと、前記不揮発性メモリの物理ブロック使用状況を管理する複数の物理ブロック管理テーブルと、前記複数のアドレス管理テーブルおよび物理ブロック管理テーブルの不揮発性メモリ上の位置を示すアドレス変換テーブルインデックス情報群を保持するものであり、前記制御部は、外部からのデータ消去指令に基づきデータを消去する場合に、前記アドレス管理テーブルの該当論理アドレスを未使用とすると共に、前記物理ブロック管理情報を未使用として前記不揮発性メモリに書き込むことを特徴とする。
【０００８】
本願の請求項２の発明は、揮発性メモリと、不揮発性メモリと、前記揮発性メモリ及び不揮発性メモリにデータを書き込むと共に外部からの信号に応じてデータを消去する制御部と、を具備する機器におけるデータ消去処理方法であって、前記不揮発性メモリは、前記不揮発性メモリにアクセスするために外部から与えられる論理アドレスを物理アドレスに変換する複数のアドレス管理テーブルと、前記不揮発性メモリの物理ブロック使用状況を管理する複数の物理ブロック管理テーブルと、前記複数のアドレス管理テーブルおよび物理ブロック管理テーブルの不揮発性メモリ上の位置を示すアドレス変換テーブルインデックス情報群を保持するものであり、外部からのデータ消去指令に基づきデータを消去する場合に、前記アドレス管理テーブルの該当論理アドレスを未使用とし、前記物理ブロック管理情報を未使用として前記不揮発性メモリに書き込むことを特徴とする。
【発明の効果】
【０００９】
以上のように本発明によれば、半導体メモリカード等の不揮発性メモリのデータ消去を、アドレス管理テーブル及び物理ブロック管理テーブルを不揮発性メモリへ更新するだけで実現できるため、従来データ消去時間の大半を占めていた物理ブロック消去時間を削減できる。よって、今後の半導体メモリカードの大容量化により物理ブロック数が増大した場合にも、物理ブロック消去時間に依存することなく消去処理を実現することができる。ＦＡＴによる初期化時に全記録データの消去処理を実行しても、全体の処理時間の増加を最低限に抑えることができる。
【発明を実施するための最良の形態】
【００１０】
図１は、本発明の実施の形態による半導体メモリカード及び管理情報更新方法におけるアドレス管理テーブル（ＬＰＴ）と物理ブロック管理テーブル（ＥＴ）、及びアドレス変換テーブルインデックス情報（ＡＴＩ）の構成を示す概念図である。ここで、ＬＰＴとＥＴを１つのペアとして以降ＡＴと呼ぶ。図２は、本実施の形態による半導体メモリカードの構成、及び半導体メモリカード内の不揮発性メモリのアドレスマップを示す概念図である。また、図３は、本実施の形態によるデータ消去処理方法を示すフローチャートである。
【００１１】
また、図２において、半導体メモリカードは、フラッシュメモリ等の不揮発性メモリ２０、ホストインターフェース回路（ホストＩ／Ｆ）２１、制御部２２、ＲＡＭ（ランダム・アクセス・メモリ）２３により構成される。ホストインターフェース回路２１は半導体メモリカードとホスト機器との間でデータやコマンドなどの信号を送受信するものである。制御ブロック２１はＣＰＵ（中央演算装置）を含み、ホスト機器からのコマンドなどにより不揮発性メモリ２０や半導体メモリカードの動作を制御するものである。ＲＡＭ２３はデータやアドレス管理情報などを一時蓄える揮発性メモリである。
【００１２】
不揮発性メモリ２０は、ＡＴＩ群領域４とデータ領域５からなる。ＡＴＩ群領域４はＡＴＩ群を記憶する領域であり、データ領域５はデータを記憶する領域である。データ領域５は、複数の領域（図中＃０〜＃３）で構成され、各々の領域にＡＴ群６と現ＡＴが管理するデータエントリ７が存在する。本実施の形態で説明する不揮発性メモリ２０は、４バンク構成（Ｂａｎｋ０〜Ｂａｎｋ３）からなる。また、データ領域５の１つの領域は、１０２４ブロック／バンクとする。各物理ブロックはデータ容量が２ＫＢのページが２ページで構成されるメモリに制限している。
【００１３】
図１において、ＡＴＩ群１は不揮発性メモリ２０のＡＴ群領域４に固定的に保持される。図１において、２及び３はＬＰＴ／ＥＴを１つのペア（ＡＴ）とするＡＴ群であり、便宜上ＡＴ群２、ＡＴ群３とする。ＡＴ群は図示した以外にも存在するものである。また１０はブロック（物理ブロック）であり、本実施の形態によるＡＴＩ群１、ＡＴ群２、ＡＴ群３、・・・は、それぞれバンクあたり１ブロック、合計４つのブロック１０の構成にしている。
【００１４】
ＡＴＩ群領域４は、データ領域５の４つのデータ領域のＡＴ群を管理するためのＡＴＩ群を格納する領域である。ＡＴＩは、各ＡＴ群の物理ブロック番号（各データ領域の先頭物理ブロックを０とし、バンク毎に管理。最大１０２３）を持つ。図１では説明を簡単にするため、１つのＡＴ群を４ブロック構成としデータ領域を４つとしたが、ＡＴ群を３２ブロック構成（８ブロック／バンク）とし８個のデータ領域を管理する場合、１ワード（１０２４の物理ブロックを決定するために２Ｂ）×３２（ＡＴ群）×８（データ領域数）＝５１２Ｂとなる。従って図１に示すように１ブロック当たり８個のＡＴＩを記録することができる。先頭ＡＴＩは、例えば、図２に示すように不揮発性メモリ２０の先頭物理ブロックに格納され、先頭ＡＴＩの格納されるページの冗長領域には、バンク当たり１ブロックへのリンク情報が書き込まれ、ＡＴＩ群を形成する。よって、最大３２個のＡＴＩを格納することができる。ＡＴＩの更新は、ＡＴＩの不揮発性メモリ２０への書き込みが現ＡＴＩと同一ブロックに行われないように、書き込みの順番が予め決められる。
【００１５】
データ領域５は、外部のホスト機器から読み書きされるデータ（音楽データや画像データなどのいわゆるコンテンツ情報）を格納すると共に、ＡＴ群を格納する領域でもある。また、データ領域５は、１０２４ブロック／バンク毎に４つの領域（データ領域＃０〜データ領域＃３）に分割され、ＡＴ群はそれぞれのデータ領域を管理するため、それぞれのデータ領域に格納される。
【００１６】
ＡＴの内ＬＰＴが管理するデータエントリ７は、１ブロック／バンク、計４ブロックを１つのエントリとして管理され、論理アドレスの順に配置される。ＬＰＴの管理するエントリそれぞれの先頭ブロック（例えば、バンク０）下位ページの冗長領域には、バンク当たり１ブロックへのリンク情報が書き込まれる。そのためバンク０のアドレスのみを指定すれば足りる。それぞれのデータ領域において、基本的には論理アドレス（０〜１０２３[ブロック×ブロックサイズ×バンク数］）を物理アドレス（０〜１０２３[ブロック×ブロックサイズ×バンク数]）に変換するために、各論理アドレスに相当する論理ブロック番号毎（１ワード毎）に物理ブロック番号（例えば、バンク０の物理アドレス１０ビットに相当）とアロケーションフラグ（１ビット）を持つ。アロケーションフラグはその物理ブロックが論理的に割り当てられているかどうかを示すフラグである。よって、１つのＬＰＴのデータ容量は、１ワード（物理ブロック番号＋アロケーションフラグ）×１０２４（ブロック）＝２０４８Ｂとなり、１つのＬＰＴが１ページに保持される。
【００１７】
また、ＡＴの内ＥＴは各バンクの物理ブロック番号（物理アドレス）の使用状況を識別するための管理情報であり、ブロック毎にエントリーフラグとして４ビット（使用・未使用・消去済み・使用不可）を割り当てる。よって１つのＥＴのデータ容量は、４（ビット）×１０２４（ブロック／バンク）×４（バンク）＝２０４８Ｂとなり、１つのＥＴが１ページに保持される。ＬＰＴとＥＴは、ＬＰＴ＃ｉとＥＴ＃ｉとが1組でデータ領域のデータを管理しており、データが更新されたときには同時に更新されてＬＰＴ＃ｉ＋１，ＥＴ＃ｉ＋１となり、図１に示す同一のＡＴ群の中で移動する。ここで、ＡＴの更新は、次のＡＴの不揮発性メモリ２０への書き込みが現ＡＴと同一ブロックに行われないように、書き込みの順番が予め決められる。また、現在のＡＴ群が図１中ＡＴＩ群１のＡＴＩ＃４で管理するＡＴ群２の場合でＡＴの更新によりＡＴ群２内の更新ができなくなれば、同一データ領域内で新たにＡＴ群（図１中ＡＴ群３）を確保し（イレーズ）、新たに確保されたＡＴ群３の先頭にＡＴを更新すると共に、ＡＴ群３を登録した新たなＡＴＩを作成しＡＴＩ群のＡＴＩ＃５に書き込む。
【００１８】
次に、図１及び図３を用いて本実施の形態によるデータ消去動作について説明する。ＡＴＩ群の中から最新のＡＴＩを検出する処理（図３のステップＳ１）は、例えば、初期化時に実施され、外部（ホスト）からメモリカードに対するデータ書き込み指令毎には実施されない。また、図３に示す一連の制御は、図２に示した制御部２２によって実行される。
【００１９】
１つのＡＴＩが管理するＡＴ群内でのデータ消去処理について、図３のフローチャートを参照しつつ説明する。外部（ホスト）から与えられる論理アドレスに従い、データ消去先の領域を決定する。例えば、外部のホスト装置から論理アドレス０が指定されると、ステップＳ１において、不揮発性メモリ２０の中のデータ領域＃０に対応するＡＴ群の物理ブロック番号を現ＡＴＩから求める。なお、現ＡＴを検出する場合は、現在のＡＴを含むＡＴ群は事前にイレーズ処理されるため、図１に示す予め決められたＡＴの書き込み順（＃０〜＃３）に従い、正常に読み出された最終書き込み済みのＡＴを現ＡＴとする。現時点の有効ＬＰＴとＥＴとを不揮発性メモリ２０から読出して、揮発性メモリ（ＲＡＭ２３）に移す（ステップＳ２）。そしてポインタとして用いられる消去データエントリカウントＢＣを０とする（ステップＳ３）。次いで読み出された現ＡＴ群内で、現ＬＰＴ（例えば、ＬＰＴ＃１）を検出して論理ブロック番号に対応する１ワード中の物理ブロック番号をチェックする（ステップＳ４）。その物理ブロックがアロケート済みでなければステップＳ６に進み、アロケート済みであればステップＳ５においてブロックリング情報を読み出す。論理ブロック番号に対応する１ワード中に物理ブロック番号が登録されている場合は、登録されている物理ブロック番号の冗長領域から各バンクに割り当てられた物理ブロック番号を読み出す（ステップＳ５）。そしてステップＳ６に進んで消去データエントリカウントＢＣをインクリメントし、現データ領域内のデータエントリアドレスＬＢＡをインクリメントする。次いでステップＳ７に進んで読み出されたブロック番号を揮発性メモリ（ＲＡＭ２３）内ＥＴ上で未使用として登録する。また、外部ホストから与えられた論理アドレスに従い、揮発性メモリ（ＲＡＭ２３）内ＬＰＴのブロック番号に対応するブロック番号を消去するか、または、アロケーションフラグを未アロケートに登録する。そしてステップＳ８においてポスト機器からの指定量の消去処理が完了したかどうかをチェックし、完了していなければステップＳ４に戻る。ステップＳ４からＳ８までの処理は、データエントリ単位で実施される。なお、Ｓ０３でＬＰＴの論理ブロック番号に対応する１ワード中に物理ブロック番号が登録されていない場合は、ステップＳ５及びＳ７の処理は省略する。外部ホストから指定されたデータ量の処理が完了したら、揮発性メモリ（ＲＡＭ２３）内のＬＰＴ及びＥＴを不揮発性メモリ２０内の予め決められていた書き込み領域（例えば、ＬＰＴ＃２、ＥＴ＃２）に書き込む（ステップＳ９）。
【００２０】
以上のように、半導体メモリカード内のデータの消去は、不揮発性メモリ内のＬＰＴ及びＥＴを更新するだけで実現できるため、従来データ消去時間の大半を占めていた物理ブロックの消去時間を削減できる。よって、今後の半導体メモリカードの大容量化により物理ブロック数が増大した場合にも、物理ブロック消去時間に依存することなく消去処理を実現することができる。従ってＦＡＴによる初期化時に全記録データの消去処理を実行しても、全体の処理時間の増加を最低限に抑えることができる。
【００２１】
なお、本実施の形態においては、メモリカード内に１つの不揮発性メモリで構成する場合について述べたが、複数の不揮発性メモリで構成する場合についても１つのデータエントリを８ブロック（１ブロック／バンク）とし、ＥＴの管理を８ブロック管理するように変更することで、２つの不揮発性メモリを１つのＡＴで管理するよう構成すれば、本実施の形態と同様の処理が可能である。
【００２２】
また、本実施の形態においては、図２に示すようにメモリカードを例に説明したが、メモリカードに限ることなく、例えば、不揮発性メモリが内蔵された機器に本発明のデータ消去処理方法を用いてもよい。この場合、ホストＩ／Ｆ２１や制御部２２は、同様の機能を有する機器内の資源を用いて構成すればよい。
【産業上の利用可能性】
【００２３】
本発明は半導体メモリカード等の不揮発性メモリの消去を高速にすることができる。従ってこのような記憶媒体は大容量化が進む半導体メモリカード、例えばオーディオビデオ機器、カメラ、携帯電話を含む通信機器やビデオ機器やその他の不揮発性メモリを有する機器等の幅広い用途に使用することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態によるアドレス管理方法を示す概念図
【図２】本発明の実施の形態によるメモリカードの構成及びアドレスマップを示す図
【図３】本発明の実施の形態によるアドレス管理方法の動作を説明するためのフローチャート
【符号の説明】
【００２５】
１  ＡＴＩ群
２、３  ＡＴ群
４  ＡＴＩ群領域
５  データ領域
６  ＡＴ領域
７  １データエントリ範囲
２０  不揮発性メモリ
２１  ホストＩ／Ｆ
２２  制御部
２３  ＲＡＭ
【図１】
2005092678.tif 000003
【図２】
2005092678.tif 000004
【図３】
2005092678.tif 000005