(57)【要約】本発明は、セクタで記述されかつブロックで消去可能な不揮発性メモリの管理データレコードを再生する方法であって、データレコードが、付属するメモリコントローラのアクセス可能な内部揮発性フラグメモリに保持されるものに関し、不揮発性メモリの１つ又は複数のメモリブロックにおいて、再構成表（ＲＫＴ）が連続して実現され、この再構成表において、不揮発性メモリにおけるすべての書込み操作及び消去操作が、メモリコントローラの内部フラグメモリの管理データレコードが電源異常後再始動毎に完全に再構成されるような規模で、エントリとして記録される。
2006508420.tif 000002
【特許請求の範囲】
【請求項１】
セクタで記述されかつブロックで消去可能な不揮発性メモリの管理データレコードを再生する方法であって、データレコードが、付属するメモリコントローラの一層早くアクセス可能な内部揮発性フラグメモリに保持されるものにおいて、不揮発性メモリの１つ又は複数のメモリブロックにおいて、再構成表（ＲＫＴ）が連続して実現され、この再構成表において、不揮発性メモリにおけるすべての記述操作及び消去操作が、メモリコントローラの内部フラグメモリの管理データレコードが電源異常後再始動毎に完全に再構成されるような規模で、エントリとして記録されることを特徴とする、方法。
【請求項２】
再構成表（ＲＫＴ）における各エントリが、セクタ又はセクタ部分の長さであることを特徴とする、請求項１に記載の方法。
【請求項３】
データのレコードの再構成の際再度電源異常があると、フラグメモリの管理データ記録の再構成が反覆されることを特徴とする、請求項１に記載の方法。
【請求項４】
再構成表の所定の充填状態に達する毎に、管理データレコードの所定の基本状態を確立するための再編成が、フラグメモリ及び再構成表（ＲＫＴ）において開始され、再編成のこの開始が最後のエントリ（ＯＥ）として再構成表（ＲＫＴ）に記録されることを特徴とする、請求項１に記載の方法。
【請求項５】
再編成に成功した毎に、各最終エントリの際上昇計数されるカウンタ（ＦＺ）を含む最終エントリが行われることを特徴とする、請求項４に記載の方法。
【請求項６】
再編成に成功した後再構成表（ＲＫＴ）の新たな設立のため、今まで使用されたメモリブロックが消去のためバックグラウンドプログラムにおいて使用可能にされ、まだ消去されているブロックが初期化されることを特徴とする、請求項５に記載の方法。
【請求項７】
再構成表（ＲＫＴ）における最初のエントリが最終エントリ（ＦＥ）であることを特徴とする、請求項５に記載の方法。
【請求項８】
フラグメモリにおける管理データレコードの一部として、不揮発性メモリにあるブロックポインタ表（ＢＺＴ）に含まれている無効ブロックポインタ用の表（ＺＺＴ）が使われることを特徴とする、請求項１に記載の方法。
【請求項９】
再編成の際、無効ブロックポインタ用の表により、ブロックポインタ表（ＢＺＴ）が実現されることを特徴とする、請求項１に記載の方法。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】  本発明は、セクタで記述されかつブロックで消去可能な不揮発性メモリの管理データレコードを再生する方法であって、データレコードが、付属するメモリコントローラの揮発性フラグメモリに保持されるものに関する。
【０００２】  広く普及している不揮発性半導体メモリ（フラッシュメモリ）は、ブロック及びセクタに組織され、ブロックは例えばそれぞれ５１２バイトを持つ３２のセクタから成っている。メモリは、情報かセクタで書込まれ、前もって消去されたセクタのみを書込むことができる。消去は、すべてのセクタに対して１つのブロックに対して共通に行われる。メモリにおけるセクタの書込みは読取りより長く持続し、ブロックの消去操作は長い時間例えば数ミリ秒を必要とする。これと同時に出願された方法によれば、付属するメモリコントローラにおけるプログラムにより、速くアクセス可能な揮発性フラグメモリにおいて表が導かれ、これらのフラグメモリにおいてそれぞれ管理データレコードがブロック及びセクタのために記録される。これらの表は、大体において、論理ブロックアドレスと物理ブロックアドレスとの対応、及び不揮発性メモリへセクタを書込んだ時における回避ブロックのアドレスから成っている。さて電源に異常があると、揮発性メモリからデータが消失する。従ってこれらのデータは、この時点で、不揮発性メモリの一部に記憶されて含まれて、再始動後正しいデータで引続き動作できるようにせねばならないだろう。しかしそのためには、電源異常の際書込み操作の期間のため、時間はもはやない。しかしコピーによるすべての管理データレコードの永続的な記憶は、すべての書込み操作を緩慢にし、不揮発性メモリの高い摩耗を生じる。
【０００３】  米国特許第５９３０１９３号明細書にも、システムの電源遮断の際不揮発性メモリの別のメモリ範囲に管理表を記憶する方法が記載されている。しかしこれは規則的な電源遮断の場合にのみ可能であり、予期しない電源異常の場合には管理データレコードは失われてしまう。
【０００４】  本発明の課題は、セクタで書込み可能でかつブロックで消去可能なメモリ用の管理データレコードを、付属するメモリコントローラの高速揮発性フラグメモリにおいて使い、電源異常後再始動の際これらの管理データレコードを完全に再生する方法を開示することである。
【０００５】  この課題は、不揮発性メモリにおいて、再構成表が連続して実現され、この再構成表において、不揮発性メモリにおけるすべての書込み操作及び消去操作が、メモリコントローラの内部フラグメモリの管理データレコードが電源異常後再始動毎に完全に再構成されるような規模で、エントリとして記録されることによって、解決される。
【０００６】  有利な実施形態は従属請求項に示されている。
【０００７】  不揮発性メモリには１つ又は複数のデータブロックが予約され、再構成表がデータブロックに書込まれる。これらの再構成表は、例えば１２８セクタの所定の長さを持っている。不揮発性メモリにおいて、記述されるメモリブロックのために管理データレコードが作成され、これらのデータレコードにはとりわけ論理ブロックアドレス及び物理ブロックアドレスが記載され、また現在書込まれる回避ブロックが記載される。さて新しいメモリブロックが書込まれるか、又は新しい回避ブロックが準備され、論理ブロックアドレスと物理ブロックアドレスとの古くなった対応が解消されると、それぞれ１つのエントリが再構成表へ連続的に書込まれる。再構成表にあるそれぞれのエントリは、原メモリブロックの少なくとも論理ブロックアドレス、物理ブロックアドレス及び場合によっては使用される回避ブロックのアドレスを含んでいる。
【０００８】  さて電源異常後メモリシステムの再始動が行われると、メモリコントローラのプログラムにより、揮発性メモリにある管理データレコードが空で初期化され、それから再構成表が初めから通過され、再構成表における各エントリに応じて対応が管理データレコードへ入力される。この表の終わりに達するまで、これが再構成表における各エントリのために反覆される。その際若干の対応を数回重ね書きすることが可能である。なぜならば、これらの対応は最初の記憶中にも実現されるからである。しかし再始動の終わりに、アドレス対応の現在の状態が、電源異常の前に存在したように、管理データレコードにおいて再び確立される。
【０００９】  再構成表の有利な構成では、セクタのすべてのダイトが満たされていても、再構成表における各エントリが、精確にセクタの長さであるように、この再構成表が構成されている。メモリは常にセクタで書込まれるので、データ準備のために付加費用は必要でない。こうして若干の記憶場所が利用されなくても、このことは全メモリの大きさでは重要でない。現在のエントリからすべてのセクタも表において消去されているので、それ以上の費用なしに次のエントリが表へ書込まれる。
【００１０】  若干の形式の不揮発性メモリでは、例えば１２８バイトのセクタの部分のみを、セクタの他の部分とは無関係に記述することも可能である。これらの形式では、セクタのこのような部分のみが記述され、従って再構成表のために例えば１つのメモリブロックしか必要とされない。
【００１１】  再構成表の特別な構造及び不揮発性メモリにおけるこの表の記憶により、管理データレコードの再構成中にも、故障を引き起こすことなく電流がなくなるようにすることができる。即ちシステムの新たな再始動の際、再構成表がなおもう一度完全に評価され、それにより管理データレコードの現在の状態が得られる。
【００１２】  再構成表は所定の長さ例えば１２８エントリを持っているので、この表は正常な記憶運転で殆ど終わりまで満たされる。最後から２番目のエントリが書込まれた時、有利なように再編成が開始される。そのため再編成についての記載が最後のエントリとして再構成表へ書込まれる。その場合すべてのアドレス対応が、管理データレコードにおいて現在行われるように、分解され、従って所定の基本状態が、システムの再始動の際にも初めて初期化されたように、管理データレコードにおいて確立される。
【００１３】  再編成に成功した後再構成表へ最終エントリが書込まれると、方法が更に改善される。この最終エントリは、各再編成の際上昇計数される計数値を持っている。
【００１４】  各再編成の際新しい再構成表を別のメモリブロックに設けるのが有利である。これらのメモリブロックは、最初に消去されているか又はバックグラウンドプログラムにより消去された消去メモリブロックのレパートリーから取られる。最終エントリは、最初のエントリとして新しい再構成表へ書込まれる。その場合再構成表のための今までのブロックは使用可能にされ、従ってバックグラウンドプログラムにより消去のために処理されることを特徴としている。再編成の過程において電流がなくなり、まだ新しい最終エントリが書込まれなかった場合、システムの再始動の際再編成が新たに開始される。再編成は任意にしばしば反覆可能である。
【００１５】  最終エントリが既に書込まれたが、今までの再構成表がまだ使用可能になっていない場合、システムの再始動の際、２つの再構成表即ち今までの再構成表及び新しい再構成表が見出されるようにすることができる。その場合再構成表の最終エントリの計数値により、どれが新しい表であるかが確認され、再編成過程が適当に継続される。従ってこのような場合にも記憶システムの引続く正しい動作が保証される。
【００１６】  論理ブロックアドレスへの物理ブロックアドレスの新しい各アドレス対応の際、ブロックポインタ表におけるブロックポインタを適当に変化させねばならない。このブロックポインタ表は不揮発性メモリにあり、変化の書込みは毎度回避ブロック機構を介して行われねばならないだろう。書込み操作を最適化するため、揮発性フラグメモリにポインタ中間表が保持され、この中間表に、論理ブロックアドレス及び変化された物理ブロックアドレスを持つ変化されたアドレス対応が記憶される。この表は、論理ブロックアドレスに従って整理される。さてアドレス対応が行われる場合、まずこのポインタ中間表において、論理ブロックアドレスがそこに記録されているか否かが検査される。ｙｅｓの場合、そこに示されている物理メモリブロックアドレスが利用され、そうでない場合、ブロックポインタ表からの物理メモリブロックアドレスが利用される。従ってポインタ中間表は、ブロックポインタ表にあるどのエントリがもはや有効でないかを示す。前述した再編成の際、ブロックポインタ表も不揮発性メモリに新たに書込まれ、ポインタ中間表からの値により実現される。従ってブロックポインタの変化は、再編成の際にのみ新たに不揮発性メモリへ書込まれ、従って多数の書込み操作が節約される。
【００１７】  電源異常の場合、ポインタ中間表が失われる。論理ブロックアドレス及び物理ブロックアドレスを持つ新しい各アドレス対応は、最後の再編成以後、再構成表にエントリとして記憶されているので、システムの再始動の際、ポインタ中間表も一緒に再構成される。
【００１８】  本発明の構成が例として図に示されている。
【００１９】  図１には再構成表ＲＫＴの構成が示されている。この表は、ここではそれぞれ１つのセクタの長さの１２８のエントリから成っている。最初のエントリは最終エントリＦＥと称され、更に最終カウンタＦＺも含んでいる。別の管理データＶＤ用の場所がある。第２のエントリ以後、記憶されている書込み操作から論理ブロックアドレスＬＢＡ、物理メモリブロックアドレスＳＢＡ、利用された回避ブロックアドレスＡＢＡ及び別の管理データＶＤ用のエントリを含む再構成エントリＲＥが記録されている。再構成表ＲＫＴにおける最後のエントリは、再編成エントリＯＥと称される。これも別の管理データＶＤのための場所を持っている。
【００２０】  図２にはブロックポインタ表ＢＺＴが示され、論理ブロックアドレスＬＢＡで指標付けされ、それぞれ付属する物理メモリブロックアドレスＳＢＡを含んでいる。この表ＢＺＴは不揮発性メモリにある。不揮発性メモリにおいてポインタ中間表ＺＺＴが構成され、表の各列に、論理ブロックアドレスＬＢＡと物理メモリブロックアドレスＳＢＡとの対応を含んでいる。これは論理ブロックアドレスＬＢＡであり、それとメモリブロックＳＢＡとの対応は、最後の再編成以後変化している。表の列は、上昇する論理ブロックアドレスＬＢＡｎに従って分類され、もはや有効ではなく次の再編成において実現されるエントリをブロックポインタ表ＢＺＴに示す。
【図面の簡単な説明】
【００２１】
【図１】  再構成表の構成を示す。
【図２】  中間ポインタ表とブロックポインタ表との関係を示す。
【図１】
2006508420.tif 000003
【図２】
2006508420.tif 000004
【国際調査報告】
2006508420.tif 000005
2006508420.tif 000006
2006508420.tif 000007
2006508420.tif 000008
2006508420.tif 000009
2006508420.tif 000010