(57)【要約】  本発明は、幾つかの削除可能な、実メモリブロックアドレス（ＳＢＡ）によってアドレス指定可能な複数のメモリブロック（ＳＢ）を備え、前記メモリブロックは、複数の書込み可能なセクタに区分され、且つ前記メモリブロックは、割り当てテーブル（ＺＴ）による論理ブロックアドレス（ＬＢＡ）から実メモリブロックアドレス（ＳＢＡ）の一つへのアドレス変換によってアドレス指定可能であり、前記割り当てテーブル（ＺＴ）は、少なくとも有効データエリア（ＮＢ）及びバッファブロックエリア（ＢＢ）に区分され、前記各メモリブロック（ＳＢ）に対して、前記割り当てテーブル（ＺＴ）に、物理的削除状態に関して第１マーカ「イレーズド」（ＥＲ）が付けられ、論理的削除状態に関して第２マーカ「コンテンツ・イレーズド」（ＣＥＲ）が付けられるメモリシステムの削除管理方法に関する。【選択図】図１
2007505415.tif 000002
【特許請求の範囲】
【請求項１】
幾つかの削除可能な、実メモリブロックアドレス（ＳＢＡ）によってアドレス指定可能な複数のメモリブロック（ＳＢ）を備え、前記メモリブロックは、複数の書込み可能なセクタに区分され、且つ前記メモリブロックは、割り当てテーブル（ＺＴ）による論理ブロックアドレス（ＬＢＡ）から実メモリブロックアドレス（ＳＢＡ）の一つへのアドレス変換によってアドレス指定可能であり、前記割り当てテーブル（ＺＴ）は、少なくとも有効データエリア（ＮＢ）及びバッファブロックエリア（ＢＢ）に区分されているメモリシステムの削除管理方法において、前記各メモリブロック（ＳＢ）に対して、前記割り当てテーブル（ＺＴ）に、物理的削除状態に関して第１マーカ「イレーズド」（ＥＲ）が付けられ、論理的削除状態に関して第２マーカ「コンテンツ・イレーズド」（ＣＥＲ）が付けられることを特徴とするメモリシステムの削除管理方法。
【請求項２】
付属するメモリブロック（ＳＢ）の物理的削除後第１マーカ（ＥＲ）が付けられることを特徴とする請求項１に記載の方法。
【請求項３】
前記メモリブロック（ＳＢ）の全ての内容が無効になった後第２マーカ（ＣＥＲ）が付けられることを特徴とする請求項１に記載の方法。
【請求項４】
前記メモリシステムはメモリコントローラのプログラムによって管理されることを特徴とする請求項１乃至３の一項に記載の方法。
【請求項５】
前記メモリコントローラのバックグラウンドプログラムが、前記第２マーカ（ＣＥＲ）が付けられたメモリブロックアドレス（ＳＢＡ）で、前記割り当てテーブル（ＺＴ）を徹底的に探索し、発見されたメモリブロック（ＳＢ）を削除し、そのとき、前記メモリブロックに対して第１マーカ（ＥＲ）が付けられることを特徴とする請求項４に記載の方法。
【請求項６】
新たな書込みを行うとき、メモリブロック（ＳＢ）の削除されていないセクタから、先ずバッファブロックエリア（ＢＢ）の削除されたメモリブロックが探索され、この探索されたメモリブロックが新しいセクタの内容が書き込まれる退避ブロックとして利用されることを特徴とする請求項４に記載の方法。
【請求項７】
削除されたメモリブロックがバッファブロックエリア（ＢＢ）において発見されない場合、有効データエリア（ＮＢ）から削除されたブロックが退避ブロックとして利用されることを特徴とする請求項６に記載の方法。
【請求項８】
予定数より少ない数の削除されたメモリブロックしか有効データブロックに存在しない場合、先ず、バッファブロックエリア（ＢＢ）のメモリブロックが削除され、次いで前記削除されたメモリブロックは、退避ブロックとして利用されることを特徴とする請求項６乃至８の何れか一項に記載の方法。
【請求項９】
前記割り当てテーブル（ＺＴ）の退避ブロック（ＡＢ）に完全に書き込みを行った後、論理ブロックアドレスに属する実メモリアドレス（ＳＢＡ）のエントリが退避ブロックのアドレスと交換され、今までのメモリブロック（ＳＢ）に第２マーカ（ＣＥＲ）が付けられることを特徴とする請求項６乃至８の一項に記載の方法。
【請求項１０】
第２マーカ（ＣＥＲ）が付けられたメモリブロックの読み出し時にメモリコントローラは削除されたデータ（１１１．．１）を戻すことを特徴とする請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、幾つかの削除可能な、実メモリブロックアドレスによってアドレス指定可能な複数のメモリブロックを備えるメモリシステムにおける削除の管理方法に関する。前記メモリブロックは、多数の書込み可能なメモリセクタに区分され、割り当てテーブルによる論理ブロックアドレスから実メモリブロックアドレスの一つへのアドレス変換によってアドレス指定可能である。
【背景技術】
【０００２】  フラッシュメモリは、多くのコンピュータシステムにおいて使用されており、特にデジタルカメラ及び携帯コンピュータ用の交換可能なメモリカードにも使用されている。フラッシュメモリは、それぞれ多くのセクタを有する複数のメモリブロックで組織されている。このメモリの本質的な特性は、限られた数の書込み操作及び削除操作だけが可能であること、前もって削除されたセクタにだけ書込みが可能であること、及び削除は大きなメモリブロックにおいてだけ可能であることである。その場合、書込み及び削除は読み出しよりも（ファクタ５０まで）非常に多くの時間を必要とする。それ故、メモリシステムの長い寿命及び迅速な反応時間を達成するために、少ない削除過程だけで済ませ、他の読み出し操作又は書込み操作が滞っていない時間内に削除を行うことが重要である。
ドイツ連邦共和国特許出願第１９８４０３８９号明細書に、その都度全てのメモリブロックを削除する必要がないように、決められたバッファブロックを利用して、セクタに書込みをする方法が記載されている。バッファブロックがもはや存在しないとき、書込み操作を遅らせるものを直ちに削除しなければならない。
米国特許第５，４８５，５９５号明細書に、メモリブロックのステータスのための複数のマーカを含む管理テーブルにおけるメモリブロックの管理が記載されている。前記マーカには、メモリに複数のメモリブロックのバージョンが存在するかどうかを示す、マーカ「ユーズド・フラグ（ＵＳＥＤ  ＦＬＡＧ））」及びマーカ「オールド・フラグ（ＯＬＤ  ＦＬＡＧ）」がある。オールド・フラグを有するメモリブロックは削除を遅らせる。しかし、全てのメモリ操作の場合、論理ブロックアドレスへの有効なエントリに応じて管理テーブルが徹底的に探索され、このことがメモリ操作を遅らせる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】  本発明の課題は、前記ドイツ連邦共和国特許出願に記載のメモリブロックの削除方法をさらに最善の状態にし、より少ない削除操作で済ませ、書込みをするときのセクタの反応時間をさらに短縮することである。
【課題を解決するための手段】
【０００４】  上記の課題は、割り当てテーブルの各メモリブロックに、物理的削除状態に関して第１マーカ「イレーズド（ｅｒａｓｅｄ）」を付け、論理的削除状態に関して第２マーカ「コンテンツ・イレーズド（ｃｏｎｔｅｎｔ  ｅｒａｓｅｄ）」を付けることによって解決される。【０００５】  本発明の有利な構成を下位の請求項に示す。【０００６】  ここで考察される不揮発性メモリセルを有するメモリシステムは複数のメモリブロックで組織されており、このメモリブロックは削除操作を経て一つ一つ削除可能である。メモリブロックは、さらに、個々に書込み可能な複数のセクタに細分されている。その場合、書込みは、前もって削除されたメモリセルにだけ書込み可能である。割り当てテーブルに、全てのメモリブロックがリストアップされている。割り当てテーブルは有効データブロック用第１エリア、管理ブロック用第２エリア、バッファブロック用第３エリア及び予約ブロック用第４エリアに区分されている。この割り当てテーブルには、その時その時のメモリブロックに対してメモリブロックアドレス及びフラグを有する、メモリブロックを指し示す指標が存在する。割り当てテーブルに、アクセスされた論理ブロックアドレス及びそれぞれの論理ブロックアドレスを有するメモリコントローラによって、実メモリブロックアドレスが関係付けられる。論理ブロックアドレスに指標に関して関係付けた実メモリブロックにおいて、その時その時のメモリ操作が行われる。メモリブロックに応じた探索は必要ではない。
管理ブロックに記憶された割り当てテーブルにおいて、その時その時の実メモリブロックの内容のステータスに対して同様にマーカが付けられる。このマーカには、マーカ「イレーズド」及びマーカ「コンテンツ・イレーズド」がある。第１マーカ「イレーズド」は、付属しているメモリブロックが完全に物理的に削除されることを示す。第２マーカ「コンテンツ・イレーズド」は、メモリブロックの内容はまだ物理的に削除されていないが、メモリブロックの内容はもはや有効ではなく、削除のためのブロックが設けられていることを示す。【０００７】  第１マーカ「イレーズド」は、付属するメモリブロックの物理的削除後割り当てテーブルに付けられる。第２マーカ「コンテンツ・イレーズド」は、メモリブロックの全ての内容が無効になった後割り当てテーブルに付けられる。それによって、両マーカは、その時その時に付属するメモリブロックの内容のステータスを示す。【０００８】  記憶ブロックの管理及びメモリ操作の実施はメモリコントローラのプログラムによって行われる。前記プログラムには、読み出し、書込み又は削除等のメモリ操作が実施されないとき、実施されるバックグラウンドプログラムは存在する。このバックグラウンドプログラムは、第２のマーカ「コンテンツ・イレーズド」の付いたメモリブロックアドレスに応じて割り当てテーブルを徹底的に探索する。バックグラウンドプログラムはそのようにして発見されたメモリブロックを削除し、そのとき、前記メモリブロックに第１マーカ「イレーズド」が付けられる。【０００９】  もはや削除されないメモリブロックのセクタに書込みをしなければならないとき、有利に、先ずバッファブロックエリアにおいて削除されたメモリブロックを探索し、前記削除されたメモリブロックにセクタの新しい内容が書き込まれる。それによって、このような探索されたメモリブロックは退避ブロックとして利用される。
削除されたメモリブロックがバッファブロックエリアにおいて発見されない場合、削除されたメモリブロックを探索し、このようにして探索されたメモリブロックを退避ブロックとして利用すると有利である。そのために有効データエリアの削除されたメモリブロックに付けられた指標とバッファブロックエリアの削除されないブロックに付けられた指標は交換され、目下のところ有効データ領域にある削除されないメモリブロックはマーカ「コンテンツ・イレーズド」を受取る。【００１０】  有効データエリアは非常に大きく、大量に予約することができるので、削除されたメモリブロックが発見されるまで、有効データエリアは長く持続する。それ故、有意義なことは、有効データエリアにおける削除されたメモリブロックの数が予定の閾値よりも少ない場合、有効データエリアを削除されたメモリブロックに応じて徹底的に探査せず、バッファブロックのメモリブロックを削除し、これを退避ブロックとして利用することである。【００１１】  上記のようにして発見された退避ブロックは完全に新しいセクタを用いて書き込まれる。その後、論理ブロックアドレスに属する実メモリアドレスのエントリが退避ブロックのアドレスと交換され、今までのメモリブロックには第２マーカ「コンテンツ・イレーズド」が付けられる。【００１２】  メモリコントローラのプログラムによって任意のメモリブロック及びセクタに指標を付けることが可能である。
メモリブロックにマーカ「コンテンツ・イレーズド」を付けることによって、メモリセルがさらに他の内容を有するときも、内容は削除されたデータに対応する。今、このようなメモリブロックに読み出しアクセスされるとき、メモリコントローラのプログラムはそれを認識し、削除されたデータに対応するデータを戻す。
【発明の効果】
【００１３】  本発明によれば、割り当てテーブルの各メモリブロックに、物理的削除状態に関して第１マーカ「イレーズド」を付け、論理的削除状態に関して第２マーカ「コンテンツ・イレーズド」を付けることにより、メモリブロックの削除方法をさらに最善の状態にし、より少ない削除操作で済ませ、書込みをするときのセクタの反応時間をさらに短縮することができる。
【発明を実施するための最良の形態】
【００１４】  本発明の有利な実施を、模範的に図面を用いて説明する。【００１５】  図１に割り当てテーブルＺＴを示す。この割り当てテーブルは三つのエリアに区分されている。前記三つのエリアは、有効データエリアＮＢ、バッファブロックエリアＢＢ及び予約エリアＲＢである。割り当てテーブルＺＴに論理ブロックアドレスＬＢＡでアクセスされ、論理ブロックアドレスに属するメモリブロックアドレスＳＢＡが発見される。これらのメモリブロックアドレスＳＢＡをメモリブロックＳＢに示す。メモリブロックアドレスＳＢＡに、マーカ「イレーズド」ＥＲ及びマーカ「コンテンツ・イレーズド」ＣＥＲが付けられる。
割り当てテーブルＺＴの第１のエントリは、データＤを用いたメモリブロックＳＢを示す。この場合、マーカ「イレーズド」ＥＲ及び「コンテンツ・イレーズド」ＣＥＲは付けられない。第２のエントリは、削除されたメモリブロック（１１１．．１）を示し、この場合前記両マーカは付けられている。バッファブロックエリアＢＢには、マーカ「イレーズド」ＥＲが付いている削除されたエントリは存在しない。
有効データブロックへの書込みのための退避ブロックが利用され、空いているバッファブロックが存在しないとき、有効データエリアＮＢにおいて、マーカ「イレーズド」ＥＲが付いていないブロックが探索される。このとき、割り当てテーブルＺＴへの第２のエントリが発見される。
それで、前記二つの割り当てテーブルへのエントリは交換される。【００１６】  図２に複数のエントリの探索に応じた割り当てテーブルＺＴの状態を示す。メモリブロックに、内容は論理的に削除されているが、データＤを含む第２のエントリを示す。この第２のエントリはマーカ組み合わせ０１を特徴とする。バッファブロックへのエントリは削除されたメモリブロック（１１１．．１）に示す。これは、今、新しい有効データの書込みのための退避ブロックとして利用されている。
バックグラウンドプログラムは、後に、第２のエントリに属するメモリブロックＳＢを削除する。
【産業上の利用可能性】
【００１７】  本発明は、コンピュータシステムにおいて、幾つかの削除可能な、実メモリブロックアドレスによってアドレス指定可能な複数のメモリブロックを備えるメモリシステムにおける削除の管理に利用することができる。
【図面の簡単な説明】
【００１８】
【図１】  複数のメモリブロックを有する割り当てテーブルの関係を示す。
【図２】  新しい有効データブロックの利用後の関係を示す。
【符号の説明】
【００１９】ＺＴ              割り当てテーブル
ＮＢ              有効データエリア
ＢＢ              バッファブロックエリア
ＲＢ              予約エリア
ＬＢＡ            論理ブロックアドレス
ＳＢ              メモリブロック
ＥＲ              マーカ「イレーズド」
ＣＥＲ            マーカ「コンテンツ・イレーズド」
Ｄ                データ
（１１１．．１）  削除されたメモリブロック
【図１】
2007505415.tif 000003
【図２】
2007505415.tif 000004
【国際調査報告】
2007505415.tif 000005
2007505415.tif 000006
2007505415.tif 000007
2007505415.tif 000008