JP3675375B2 - Nonvolatile memory and data rewriting method of nonvolatile memory - Google Patents
Nonvolatile memory and data rewriting method of nonvolatile memory Download PDFInfo
- Publication number
- JP3675375B2 JP3675375B2 JP2001225015A JP2001225015A JP3675375B2 JP 3675375 B2 JP3675375 B2 JP 3675375B2 JP 2001225015 A JP2001225015 A JP 2001225015A JP 2001225015 A JP2001225015 A JP 2001225015A JP 3675375 B2 JP3675375 B2 JP 3675375B2
- Authority
- JP
- Japan
- Prior art keywords
- physical block
- status information
- data
- block
- storage area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、メモリカード等の電子機器に設けられた例えばNAND型フラッシュメモリ等の不揮発性メモリにおいて停電等によるシステムダウンが生じても、再起動時に欠陥が生じているデータブロックを検出して正常な記憶状態への復帰を可能とする不揮発性メモリ、並びに当該不揮発性メモリにおけるデータ書き換え方法に関するものである。
【0002】
【従来の技術】
近年、大量のデータを記憶するのに適した低コストのNAND型フラッシュメモリ等の不揮発性メモリが、家電機器、携帯電子機器、メモリカード等の電子機器に幅広く使用されている。例えばフラッシュメモリを備えた電子機器において停電や動作不良等に起因するシステムダウンが生じると、フラッシュメモリに記憶されたデータの一部が破壊される可能性がある。このようなシステムダウンに対するデータ保護対策の一方式としては、例えばチェックサムやCRC(Cyclic Redundancy Check)符号等を用いてフラッシュメモリに書き込むデータを冗長化しておくとともに、電源投入によるシステム復帰時においてフラッシュメモリに格納されたデータからチェックサムを算出し、データに異常があるか否かを判定する。
【0003】
また、データ保護対策の他の方式としては、フラッシュメモリに加えてフラッシュメモリよりも高速書き込みが可能な補助不揮発性メモリを設けて、この補助不揮発性メモリにおいて最新の所定数の動作状態(ステータス)に係るバス情報を記憶するようにする。図8は、このような従来のフラッシュメモリを備えた電子機器の概略構成を示すブロック図である。図8において、101は電子機器、102はCPU、103はメインメモリとして与えられるフラッシュメモリ、104はフラッシュメモリよりも高速書き込みが可能な補助不揮発性メモリ、105はCPU102とフラッシュメモリ103とを接続するバス、106はバス105から分岐して補助不揮発性メモリ104に接続されるバス、107は補助不揮発性メモリ104にコントロール信号を供給する信号線である。
【0004】
次に、図8に示された電子機器の動作について説明する。例えば、フラッシュメモリ103の各動作期間の前半にCPU102は補助不揮発性メモリ104にコントロール信号を供給し、補助不揮発性メモリ104は当該コントロール信号に応答してバス106を介してバス105上の情報を記録する。このバス情報の記録は、データの書き込み、読み出し、消去等の処理により生起するステータスについて最新の複数ステータスに係るバス情報のみを記録する。したがって、補助不揮発性メモリ104はそれほど大きな記憶容量を必要とはしない。これにより、書き込み動作や消去動作に長時間を要するフラッシュメモリにおいて、動作中に停電等によるシステムダウンが発生しても、その直前の所定数のステータスに係るバス情報が補助不揮発性メモリに記録されるので、システム復帰後に補助不揮発性メモリに記録されたバス情報を解析することで、システムダウン発生時の動作状態を特定しフラッシュメモリにおけるデータ異常を検出してフラッシュメモリを正常な記憶状態に復帰させる。
【0005】
【発明が解決しようとする課題】
フラッシュメモリを備えた従来の電子機器は上記のようなデータ保護対策機能を有しており、前者のチェックサムやCRC符号を用いる方法では、システムダウン時の動作状態を検知することができないので、システムを復帰する処理あるいはフラッシュメモリのデータを復元する処理を実施する為に複雑なシステムを構築する必要があるという課題があった。
【0006】
また、後者の補助不揮発性メモリにバス情報を記憶する方法では、記憶されたバス情報を解析してシステムダウン発生時の動作状態を特定して当該特定された動作状態に応じてフラッシュメモリのデータを復元しなければならず、データ復元処理を実施する為に複雑なシステムを構築する必要があるという課題があった。
【0007】
この発明は上記のような課題を解決するためになされたもので、停電等によるシステムダウン時におけるNAND型フラッシュメモリ等の不揮発性メモリに係る動作状態を容易に検知することができて、迅速かつ確実に正常な記憶状態に復帰させることができる不揮発性メモリ、並びに当該不揮発性メモリのデータ書き換え方法を得ることを目的とする。
【0008】
【課題を解決するための手段】
本発明は、論理ブロックアドレスからアドレス変換テーブルを参照することで変換される物理ブロックアドレスの物理ブロックを記憶単位として構成される不揮発性メモリにおいて、各物理ブロックは、データが記憶されるデータ領域と、種々の管理情報等が記憶される冗長領域とを備え、それぞれの前記冗長領域が、当該冗長領域の含まれる物理ブロックに対応する論理ブロックを特定する情報を記憶する論理ブロック情報記憶領域と、対応する論理ブロックが1つ前に対応付けられていた物理ブロックである前使用物理ブロックを特定する情報を記憶する前使用物理ブロック情報記憶領域と、当該冗長領域の含まれる物理ブロックをデータの書き込み対象としたデータ書き換え動作を実施する際に生起する各段階の動作状態を識別するステータス情報を記憶するステータス情報記憶領域とを有し、上記ステータス情報記憶領域には、当該ステータス情報記憶領域の含まれる物理ブロックが消去状態にあることを示す第1のステータス情報と、当該ステータス情報記憶領域の含まれる物理ブロックへのデータの書き込みが完了してはいるが対応する前使用物理ブロックのデータが未消去である状態を示す第2のステータス情報と、当該ステータス情報記憶領域の含まれる物理ブロックへのデータの書き込みが完了するとともに対応する前使用物理ブロックのデータが消去済みである状態を示す第3のステータス情報とが少なくとも記憶され、第1のステータス情報と第2のステータス情報と第3のステータス情報とが同じビット数で表現され、第1のステータス情報を表現するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで第2のステータス情報が構成され、第2のステータス情報を表現するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで第3のステータス情報が構成されることを特徴とする。
【0009】
また、本発明は、論理ブロックアドレスからアドレス変換テーブルを参照することで変換される物理ブロックアドレスの物理ブロックを記憶単位として構成され、各物理ブロックは、データが記憶されるデータ領域と、種々の管理情報等が記憶される冗長領域とを備え、それぞれの前記冗長領域が、当該冗長領域の含まれる物理ブロックに対応する論理ブロックを特定する情報を記憶する論理ブロック情報記憶領域と、対応する論理ブロックが1つ前に対応付けられていた物理ブロックである前使用物理ブロックを特定する情報を記憶する前使用物理ブロック情報記憶領域と、当該冗長領域の含まれる物理ブロックをデータの書き込み対象としたデータ書き換え動作を実施する際に生起する各段階の動作状態を識別するステータス情報を記憶するステータス情報記憶領域とを有し、上記ステータス情報記憶領域には、当該ステータス情報記憶領域の含まれる物理ブロックが消去状態にあることを示す第1のステータス情報と、当該ステータス情報記憶領域の含まれる物理ブロックへのデータの書き込みが完了してはいるが対応する前使用物理ブロックのデータが未消去である状態を示す第2のステータス情報と、当該ステータス情報記憶領域の含まれる物理ブロックへのデータの書き込みが完了するとともに対応する前使用物理ブロックのデータが消去済みである状態を示す第3のステータス情報とが少なくとも記憶され、第1のステータス情報と第2のステータス情報と第3のステータス情報とが同じビット数で表現され、第1のステータス情報を表現するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで第2のステータス情報が構成され、第2のステータス情報を表現するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで第3のステータス情報が構成される不揮発性メモリのデータ書き換え方法であって、消去状態にある物理ブロックを検索してデータの書き込み対象となる物理ブロックを特定する第2のステップと、論理ブロックと物理ブロックとを対応付けるアドレス変換テーブルを参照して、書き換え対象の論理ブロックに対応付けられている物理ブロックである前使用物理ブロックを特定する第3のステップと、書き込み対象の物理ブロックにデータを書き込む第4のステップと、前使用物理ブロックのデータを消去する第5のステップと、書き換え対象の論理ブロックに書き込み対象の物理ブロックを対応付けるようにアドレス変換テーブルを更新する第6のステップとを有し、書き込み対象の物理ブロックについては、当初消去状態にあることを示す第1のステータス情報が設定され、第4のステップの処理が終了した後にデータの書き込みが完了したことを示す第2のステータス情報が設定され、第5のステップの処理が終了した後に前使用物理ブロックのデータの消去が完了したことを示す第3のステータス情報が設定され、第1のステータス情報と第2のステータス情報と第3のステータス情報とが同じビット数で表現され、第1のステータス情報を表現するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで第2のステータス情報が構成され、第2のステータス情報を表現するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで第3のステータス情報が構成されることを特徴とする。
【0012】
【発明の実施の形態】
以下、添付の図面を参照して本願発明に係る実施の形態を説明する。なお、以下の説明においては、本願発明の実施の形態に記載された各手段および各工程と、特許請求の範囲に記載された発明の各手段および各工程との対応関係を明らかにするために、実施の形態に記載された各手段および各工程にそれぞれ対応する特許請求の範囲に記載された発明の各手段および各工程を適宜かっこ書きにより示すものとする。
【0013】
実施の形態1.
図1は、不揮発性メモリの記憶領域に係る論理ブロックと物理ブロックとの関係を示す図である。書き換え可能な不揮発性メモリの代表的なものにNAND型フラッシュメモリがある。この種のフラッシュメモリは、ブロック単位で管理され、データの消去(通常は全ビットに対してバイナリデータ“1”を書き込む動作)はブロック単位で実施される。また、本願発明では、書き込みについても基本的にはブロック単位で実施するものとするが、1または複数の任意のビットに係るバイナリデータを“1”から“0”へ変換するのみで実行可能なデータの書き込みについてはより小さな記憶単位で実施することが可能である。
【0014】
フラッシュメモリをアクセスする際には、図1に示されるように、与えられた論理ブロックアドレスを例えばCPUに接続されたRAM内に格納されるアドレス変換テーブルを参照することで物理ブロックアドレスに変換し、データの消去、書き込み、読み出し等を実施する物理ブロックを特定する。このように論理ブロックアドレスによりアクセスする方式をとることで、欠陥のある物理ブロックが発生した場合に当該欠陥ブロックに対する処理動作を代替用の別の空きブロックに対して実施しても、アプリケーションプログラム等を実行するCPU側ではブロック代替の有無に関係なく同一の論理ブロックアドレスを用いてアクセスすることが可能となる。
【0015】
図2は、本願発明において採用される物理ブロック内に格納される管理情報に係るデータ構造を示す図である。図2において、1は通常のデータが記憶されるデータ領域、2は当該物理ブロックに係る管理情報やエラー訂正符号等に係るデータが記憶される冗長領域であり、データ領域1と冗長領域2とから物理ブロックが構成される。また、3は当該冗長領域を有する物理ブロックに対応する論理ブロックのアドレスを記憶する論理ブロックアドレス記憶領域(論理ブロック情報記憶領域)、4は当該冗長領域を有する物理ブロックに対応する論理ブロックが1つ前に対応付けられていた物理ブロック(以下では、このような物理ブロックを前使用物理ブロックと称するものとする)のアドレスを記憶する前使用物理ブロックアドレス記憶領域(前使用物理ブロック情報記憶領域)、5は論理ブロックアドレス記憶領域3に記憶された論理ブロックアドレスと前使用物理ブロックアドレス記憶領域4に記憶された前使用物理ブロックアドレスとに係るエラー訂正符号を記憶する第1エラー訂正符号記憶領域、6は当該冗長領域を有する物理ブロックに対して実施される処理に基づいて生起する各段階の動作状態をそれぞれ示すステータス情報を記憶するステータス情報記憶領域、7はデータ領域1に記憶されたデータに係るエラー訂正符号を記憶する第2エラー訂正符号記憶領域である。
【0016】
次に、本願発明に係るフラッシュメモリに対して実行されるデータ書き換え動作について説明する。まず所定の論理ブロックに記憶されたデータに係る書き換え動作の概略的な手順について説明する。第1に、データ書き換えの対象となる論理ブロックを特定する。第2に、空いている物理ブロックを検索する。第3に、空いている物理ブロックへ書き換え用のデータを書き込む。第4に、それまで書き換え対象の論理ブロックに対応付けられていた物理ブロックのデータを消去する。第5に、書き換え対象の論理ブロックを書き込みの実施された物理ブロックに対応付けるようにアドレス変換テーブルを更新する。このように、データ書き換えを実施する際に新たな物理ブロックにデータを書き込むとともに前使用物理ブロックに記憶されたデータを消去する方式をとることで、停電等によるシステムダウンが生じても書き換え対象の論理ブロックに係る管理情報が書き込み対象の物理ブロックまたは前使用物理ブロックのいずれかには残されて消失することがなくシステムの復帰が可能となり、また同一の物理ブロックへの書き込みの集中による素子の劣化を防止してフラッシュメモリ自体の寿命を延ばすことが可能となる。
【0017】
次に、データ書き換え動作の詳細について説明する。図3はデータ書き換え動作を示すフローチャートである。図4は、データ書き換えに際して、消去処理の対象となる前使用物理ブロックと書き込み処理の対象となる物理ブロック内におけるデータの変化を示す図である。なお、図4の左端に示される番号はデータの書き換えを実施する過程で生起する各段階の動作状態を識別するためのステータス番号である。ここでは、前提条件として、書き換え対象の論理ブロックのアドレスをLとし、アドレス変換テーブルにおいて当該論理ブロックに当初対応付けられている前使用物理ブロックのアドレスをP1とする。なお、以降の説明においては、アドレスnによりアクセスされる論理ブロックおよび物理ブロックをそれぞれ論理ブロックnおよび物理ブロックnとそれぞれ適宜称するものとする。第1に、書き換え対象となる論理ブロックLを特定する(ステップS1(第1のステップ))。第2に、フラッシュメモリの各物理ブロックを検索して、空きブロックを検出し当該空きブロックのアドレスP2を特定する(ステップS2(第2のステップ))。なお、初期状態では、消去処理の対象となる前使用物理ブロックP1の冗長領域において、ステータス情報としては“0000h”(hは16進数を示すものである)、論理ブロックアドレスとしてはL、前使用物理ブロックアドレスとしては論理ブロックLに物理ブロックP1が対応付けられる1つ前に論理ブロックLに対応付けられていた前使用物理ブロックのアドレスP0が記憶されている。また、物理ブロックP2のデータ領域および冗長領域には全てバイナリデータ“1”が記憶され、すなわち消去状態にある(ステータス0)。
【0018】
データの書き込み対象となる物理ブロックP2が特定されれば、アドレス変換テーブルを参照して、論理ブロックLに対応付けられている前使用物理ブロックのアドレスP1を特定する(ステップS3(第3のステップ))。物理ブロックP2については、データ領域1にデータを書き込むとともに、冗長領域2内の論理ブロックアドレス記憶領域3には論理ブロックLに係るアドレスデータを書き込み、前使用物理ブロックアドレス記憶領域4には論理ブロックLに対して1つ前に対応付けられていた消去対象である前使用物理ブロックP1に係るアドレスデータを書き込み、第1エラー訂正符号記憶領域5には論理ブロックLに係るアドレスデータと物理ブロックP1に係るアドレスデータとに対するエラー訂正符号を書き込み、第2エラー訂正符号記憶領域7にはデータ領域1に記憶されたデータに対するエラー訂正符号を書き込む(ステップS4(第4のステップ))。なお、ステータス情報記憶領域6については、ステータス情報“FFFFh”(第1のステータス情報)を保持させる。なお、図4において、“1−>0”はデータが書き込み途中であることを示し、図中縦方向に延びる矢印は前段階のステータスからデータの値がそのまま保持されることを示す。さらに、上記の物理ブロックP2へのデータ書き込み動作については、物理ブロックP2へデータが書き込まれている途中の動作状態をステータス1で示し、物理ブロックP2へのデータ書き込みが完了している動作状態をステータス2で示してそれぞれ区別するものとする。
【0019】
物理ブロックP2へのデータ書き込みが完了すれば、前使用物理ブロックP2へのデータ書き込みが完了したことを示すように、ステータス情報記憶領域6にステータス情報“AAAAh”(第2のステータス情報)を書き込む(ステップS5)。この際、冗長領域2内の他の記憶領域のデータについては同一の値を保持させる。また、上記のステータス情報記憶領域6へのステータス情報書き込み動作については、ステータス情報記憶領域6へデータが書き込まれている途中の動作状態をステータス3で示し、ステータス情報記憶領域6へのステータス情報“AAAAh”の書き込みが完了している動作状態をステータス4で示してそれぞれ区別するものとする。
【0020】
ステータス情報“AAAAh”の書き込みが完了すれば、前使用物理ブロックP1のデータを消去する(ステップS6(第5のステップ))。この消去動作については、既に述べたように前使用物理ブロックP1内の全メモリセルについてバイナリデータ“1”を書き込むことで実現される。また、図中“0−>1”はデータを消去途中であることを示す。さらに、上記の前使用物理ブロックP1の消去動作については、前使用物理ブロックP1のデータが消去される途中の動作状態をステータス5で示し、前使用物理ブロックP1のデータ消去が完了している動作状態をステータス6で示してそれぞれ区別するものとする。
【0021】
前使用物理ブロックP1のデータ消去が完了すれば、論理ブロックLが1つ前に対応付けられていた前使用物理ブロックP1に記憶されたデータの消去が完了したことを示すように、物理ブロックP2の冗長領域2内のステータス情報記憶領域6にステータス情報“0000h”(第3のステータス情報)を書き込む(ステップS7)。この際、冗長領域2内の他の記憶領域のデータについては同一の値を保持させる。また、上記のステータス情報記憶領域6への書き込み動作については、ステータス情報記憶領域6へデータが書き込まれている途中の動作状態をステータス7で示し、ステータス情報記憶領域6へのステータス情報“0000h”の書き込みが完了している動作状態をステータス8で示してそれぞれ区別するものとする。そして、アドレス変換テーブルにおいて、論理ブロックLに対応付けられる物理ブロックを物理ブロックP1から物理ブロックP2に変更する(ステップS8(第6のステップ))ことで、データ書き換え動作を完了する。
【0022】
次に、停電や動作不良等に起因するシステムダウンが生じた後に実施されるシステム復帰処理に伴ってフラッシュメモリ内におけるデータ記憶状態を正常化する方法について説明する。図5は、この発明の実施の形態1による記憶状態正常化方法を示すフローチャートである。システムが再起動すると、フラッシュメモリの記憶単位である各物理ブロック毎に検索を実施して、第1に冗長領域2内のステータス情報記憶領域6からステータス情報を読み出す(ステップS11)。次に、ステータス情報が“FFFFh”に等しいか否かを判定する(ステップS12)。ステータス情報が“FFFFh”に等しい場合には、当該物理ブロックに記憶されているデータが消去状態にあるべきことを示すものであるから、当該物理ブロックのデータを消去する処理すなわち当該物理ブロック内の全メモリセルについてバイナリデータ“1”を書き込む処理を実施する(ステップS13)。これにより、図4に示されるステータス1またはステータス2において停電等によるシステムダウンが発生した場合でも、当該物理ブロックへ書き込み途中であるデータあるいは書き込まれたデータを消去して当該物理ブロックをステータス情報に応じた正常な記憶状態に復帰させることができる。なお、当該物理ブロックへの書き込みが予定されていたデータの再書き込みについては、システムダウンの生じた電子機器のホストシステムあるいはネットワークサーバへアクセスする等の方法を用いて、正しいデータを再書き込みすることで実現することが可能である。
【0023】
ステップS12においてステータス情報が“FFFFh”に等しくない場合には、ステータス情報が“AAAAh”に等しいか否かを判定する(ステップS14)。ステータス情報が“AAAAh”に等しい場合には、当該物理ブロックへのデータの書き込みは完了しているが当該物理ブロックに係る前使用物理ブロックのデータ消去が完了していない可能性があるために、前使用物理ブロックのデータを消去する(ステップS15)とともに、当該物理ブロックのステータス情報記憶領域6に“0000h”を書き込む(ステップS16)。これにより、図4に示されるステータス4、ステータス5またはステータス6において停電等によるシステムダウンが発生した場合でも、検索対象の物理ブロックのステータス情報を変更するとともに、データ未消去または消去途中の前使用物理ブロックのデータを消去することで、検索対象となっている物理ブロックおよび当該物理ブロックに係る前使用物理ブロックを正常な記憶状態に復帰させることができる。
【0024】
ステップS14においてステータス情報が“AAAAh”に等しくない場合には、ステータス情報が“0000h”に等しいか否かを判定する(ステップS17)。ステップS16を終了した後、並びにステップS17でステータス情報が“0000h”に等しい場合には、検索対象となっている物理ブロックの論理ブロックアドレス記憶領域3を参照して対応する論理ブロックを特定し、アドレス変換テーブルにおいて当該論理ブロックに対応する物理ブロックとして検索対象となっている物理ブロックを登録する(ステップS18)。これにより、停電等によるシステムダウンに起因して消失したアドレス変換テーブルを再構築する。
【0025】
ステップS17においてステータス情報が“0000h”に等しくない場合には、検索対象となっている物理ブロックが異常ブロックであると判定して、当該物理ブロックのアドレスを異常ブロックテーブルに登録する(ステップS19)。ステップS13を終了した後、ステップS18を終了した後、並びにステップS19を終了した後には、全ての物理ブロックについて検索が完了したか否かを判定する(ステップS20)。全ての物理ブロックについて検索が完了していない場合には、ステップS11に戻って同様の処理を次の物理ブロックに対して実施する。また、全ての物理ブロックについて検索が完了した場合には、図5に示される処理を終了して後述する異常ブロックに係る処理を実施する。
【0026】
全物理ブロックについての上記の検索処理において、物理ブロックが異常ブロックであると判定される要因については、ステータス3において書き込み対象の物理ブロックのステータス情報を“FFFFh”から“AAAAh”に変更している際に停電等のシステムダウンが発生した場合、ステータス5において消去対象の物理ブロックのステータス情報を“0000h”から“FFFFh”に変更している際に停電等のシステムダウンが発生した場合、並びにステータス7において書き込み対象の物理ブロックのステータス情報を“AAAAh”から“0000h”に変更している際に停電等のシステムダウンが発生した場合が考えられる。これらの要因のなかにおいて、ステータス5において消去対象の物理ブロックのステータス情報を“0000h”から“FFFFh”に変更している際に停電等のシステムダウンが発生した場合については、対応する書き込み対象の物理ブロックについて図5に示されるステップS15の処理を実施することで、異常ブロックであると判定された物理ブロックを消去状態として、当該物理ブロックのステータス情報を正常値である“FFFFh”に訂正することができる。したがって、このような消去処理の完了した物理ブロックを異常ブロックテーブルから削除することが可能となる。
【0027】
図6は、異常ブロックのなかにおける消去済み物理ブロックの検索処理を示すフローチャートである。まず、異常ブロックとして登録されている各物理ブロック毎に検索を実施するように、異常ブロックテーブルから登録されている物理ブロックのアドレスを取り出して検索対象の物理ブロックを特定する(ステップS21)。次に、ステータス情報が“FFFFh”に等しいか否かを判定する(ステップS22)。ステータス情報が“FFFFh”に等しい場合には、消去処理の完了している前使用物理ブロックであることを示すので、検索対象となっている物理ブロックに係るアドレスを異常ブロックテーブルから削除する(ステップS23)。ステップS23を終了した後、並びにステップS22でステータス情報が“FFFFh”に等しくない場合には、異常ブロックとして登録された全ての物理ブロックについて検索が完了したか否かを判定する(ステップS24)。全ての物理ブロックについて検索が完了していない場合には、ステップS21に戻って同様の処理を異常ブロックテーブルに基づいて特定される次の物理ブロックに対して実施する。全ての物理ブロックについて検索が完了した場合には、図6に示される処理を終了して後述する異常ブロックに係る次の処理を実施する。
【0028】
図7は、異常ブロックに係る正常化処理を示すフローチャートである。まず、異常ブロックとして登録されている各物理ブロック毎に検索を実施するように、図6に示す処理により修正された異常ブロックテーブルから登録されている物理ブロックのアドレスを取り出して検索対象となる物理ブロックを特定する(ステップS31)。次に、検索対象となっている物理ブロックの冗長領域2からステータス情報を取り出して、当該ステータス情報と“AAAAh”との論理積をとる(ステップS32)。既に述べたように、NAND型フラッシュメモリのデータ書き込みはバイナリデータの“1”を“0”に変えることで実施される。したがって、ステータス3において書き込み対象の物理ブロックのステータス情報を“FFFFh”から“AAAAh”に変更している際に停電等によるシステムダウンが発生したことに起因してステータス情報が本来とるべき値とは異なる値を有する場合には、当該ステータス情報と“AAAAh”との論理積は“AAAAh”に等しくなる。また、ステータス7において書き込み対象の物理ブロックのステータス情報を“AAAAh”から“0000h”に変更している際に停電等によるシステムダウンが発生したことに起因してステータス情報が本来とるべき値とは異なる値を有する場合には、当該ステータス情報と“AAAAh”との論理積は“AAAAh”に等しくなることはない。
【0029】
ステータス情報に係る上記の特性に鑑みて、次のステップでは、ステータス情報と“AAAAh”との論理積が“AAAAh”に等しいか否かを判定する(ステップS33)。論理積が“AAAAh”に等しい場合には、検索対象となっている物理ブロックへのデータの書き込みは完了しているが当該物理ブロックに係る前使用物理ブロックのデータ消去は完了していないために、前使用物理ブロックアドレス記憶領域4に記憶されているアドレスにより特定される前使用物理ブロックのデータを消去する(ステップS34)。ステップS34を終了した後、並びにステップS33において論理積が“AAAAh”に等しくないと判定された場合には、検索対象となっている物理ブロックのステータス情報記憶領域6に“0000h”を書き込む(ステップS35)。ステップS34およびステップS35の処理を実施することで、図4に示されるステータス3において停電等によるシステムダウンが発生した場合でも、前使用物理ブロックのデータ消去および新たなステータス情報の書き込みを実施して、検索対象となっている物理ブロックおよび前使用物理ブロックをステータス情報に応じた正常な記憶状態に復帰させることができる。また、ステップS35の処理を実施することで、図4に示されるステータス7において停電等によるシステムダウンが発生した場合でも、新たなステータス情報の書き込みを実施して、検索対象となっている物理ブロックをステータス情報に応じた正常な記憶状態に復帰させることができる。
【0030】
次に、検索対象となっている物理ブロックの論理ブロックアドレス記憶領域3を参照して対応する論理ブロックを特定し、アドレス変換テーブルにおいて当該論理ブロックに対応する物理ブロックとして検索対象となっている物理ブロックを登録する(ステップS36)。ステップS36の処理を異常ブロックとして登録された全ての物理ブロックに対して実施することで、停電等によるシステムダウンに起因して消失したアドレス変換テーブルの復元処理を完了することができる。
【0031】
次に、異常ブロックとして登録された全ての物理ブロックについて検索が完了したか否かを判定する(ステップS37)。全ての物理ブロックについて検索が完了していない場合には、ステップS31に戻って同様の処理を異常ブロックテーブルに基づいて特定される次の物理ブロックに対して実施する。全ての物理ブロックについて検索が完了した場合には、処理を終了する。
【0032】
以上のように、この実施の形態1によれば、データの書き換えの対象となる論理ブロックに対して消去状態にあった新たな物理ブロックを割り当てて当該物理ブロックにデータを書き込むとともに、それまで論理ブロックに対応付けられていた前使用物理ブロックのデータを消去することでデータの書き換えを実施するフラッシュメモリにおいて、冗長領域2が論理ブロックアドレス記憶領域3と、前使用物理ブロックアドレス記憶領域4と、ステータス情報記憶領域6とを有して構成されているので、停電等によるシステムダウンが生じても、ステータス情報記憶領域6を参照することでシステムダウン時に書き込みの対象となっていた物理ブロックについてその動作状態を検知することができるとともに、前使用物理ブロックアドレス記憶領域4を参照することで上記物理ブロックに係る前使用物理ブロックを特定することができるから、動作状態に応じてデータ破壊の生じた可能性のある物理ブロックおよび当該物理ブロックに係る前使用物理ブロックに対して適切な復元処理を実施することが可能となり、フラッシュメモリを正常な記憶状態に復帰させることができるという効果を奏する。
【0033】
また、ステータス情報としては、物理ブロックが消去状態にあることを示す“FFFFh”と、書き込み対象の物理ブロックへのデータの書き込みが完了してはいるが対応する前使用物理ブロックのデータが未消去である状態を示す“AAAAh”と、書き込み対象の物理ブロックへのデータの書き込みが完了するとともに対応する前使用物理ブロックのデータが消去済みである状態を示す“0000h”とを備えるように構成したので、物理ブロックにデータ破壊が発生したとしても、ステータス情報が“FFFFh”であれば書き込み対象の物理ブロックを消去すればよく、またステータス情報が“AAAAh”であれば前使用物理ブロックを消去すればよく、データ書き換え動作に際して生起する各ステータスについてシステムダウンが生じた場合に必要とされる復元処理の内容が変わる時点でステータス情報が変更されるようになされているから、ステータス情報を参照することでフラッシュメモリを正常な記憶状態に容易に復帰させることができるという効果を奏する。
【0034】
また、データの書き換えが進行するのに応じて、書き込み対象の物理ブロックに係るステータス情報が“FFFFh”、“AAAAh”、“0000h”と変化するので、ステータス情報を変更する際に停電等によるシステムダウンが発生してステータス情報が本来とるべき値を有しないという異常が生じたとしても、ステータス情報の変更がステータス情報を構成するビット列の所定のビットに係るバイナリデータを“1”から“0”へ変更することで実施されることに鑑みれば、異常の生じたステータス情報と“AAAAh”との論理積をとって当該論理積を評価することで、ステータス情報を“FFFFh”から“AAAAh”へ変更する際にシステムダウンが発生したのか、あるいはステータス情報を“AAAAh”から“0000h”へ変更する際にシステムダウンが発生したのかを判定することが可能となり、フラッシュメモリの動作状態を簡単な判定方式により詳細に検知することができて、フラッシュメモリを迅速かつ確実に正常な記憶状態に復帰させることができるという効果を奏する。
【0035】
なお、上記実施の形態1により説明されるフラッシュメモリ並びにフラッシュメモリのデータ書き換え方法は、本願発明を限定するものではなく、例示することを意図して開示されているものである。本願発明の技術的範囲は特許請求の範囲の記載により定められるものであり、特許請求の範囲に記載された技術的範囲内において種々の設計的変更が可能である。例えばステータス情報は“FFFFh”、“AAAAh”、“0000h”に限定されるものではなく、消去状態にあることを示す第1のステータス情報を表現するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで書き込み対象の物理ブロックへのデータの書き込みが完了してはいるが対応する前使用物理ブロックのデータが未消去である状態を示す第2のステータス情報が構成され、第2のステータス情報を表現するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで書き込み対象の物理ブロックへのデータの書き込みが完了するとともに対応する前使用物理ブロックのデータが消去済みである状態を示す第3のステータス情報が構成されるようであれば、第1、第2、第3のステータス情報として任意のビット列を設定することが可能である。
【0036】
【発明の効果】
以上のように、この発明によれば、データが記憶されるデータ領域と種々の管理情報等が記憶される冗長領域とを備える物理ブロックを記憶単位として構成され、データ書き換え対象となる論理ブロックに対して消去状態にあった新たな物理ブロックを割り当てて当該物理ブロックにデータを書き込むとともに、それまで論理ブロックに対応付けられていた前使用物理ブロックのデータを消去することでデータの書き換えを実施する不揮発性メモリにおいて、それぞれの冗長領域が、当該冗長領域の含まれる物理ブロックに対応する論理ブロックを特定する情報を記憶する論理ブロック情報記憶領域と、対応する前使用物理ブロックを特定する情報を記憶する前使用物理ブロック情報記憶領域と、当該冗長領域の含まれる物理ブロックをデータの書き込み対象としたデータ書き換え動作を実施する際に生起する各段階の動作状態を識別するステータス情報を記憶するステータス情報記憶領域とを有して構成されるようにしたので、停電等によるシステムダウンが生じても、ステータス情報記憶領域を参照することでシステムダウン時に書き込みの対象となっていた物理ブロックについてその動作状態を検知することができるとともに、前使用物理ブロック情報記憶領域を参照することで上記物理ブロックに係る前使用物理ブロックを特定することができるから、動作状態に応じてデータ破壊の生じた可能性のある物理ブロックおよび当該物理ブロックに係る前使用物理ブロックに対して適切な復元処理を実施することが可能となり、不揮発性メモリを正常な記憶状態に復帰させることができるという効果を奏する。
【0037】
この発明によれば、ステータス情報記憶領域には、当該ステータス情報記憶領域の含まれる物理ブロックが消去状態にあることを示す第1のステータス情報と、当該ステータス情報記憶領域の含まれる物理ブロックへのデータの書き込みが完了してはいるが対応する前使用物理ブロックのデータが未消去である状態を示す第2のステータス情報と、当該ステータス情報記憶領域の含まれる物理ブロックへのデータの書き込みが完了するとともに対応する前使用物理ブロックのデータが消去済みである状態を示す第3のステータス情報とが少なくとも記憶されるように構成されているので、データ書き換え動作に際して生起する各段階の動作状態についてシステムダウンが生じた場合に必要とされる復元処理の内容が変わる時点でステータス情報が変更されるようになされているから、ステータス情報を参照することで不揮発性メモリを正常な記憶状態に容易に復帰させることができるという効果を奏する。
【0038】
この発明によれば、第1のステータス情報と第2のステータス情報と第3のステータス情報とが同じビット数で表現され、第1のステータス情報を表現するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで第2のステータス情報が構成され、第2のステータス情報を表現するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで第3のステータス情報が構成されるようにしたので、ステータス情報を変更する際に停電等によるシステムダウンが発生してステータス情報が本来とるべき値を有しないという異常が生じたとしても、ステータス情報の変更がステータス情報を構成するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで実施されることに鑑みれば、異常の生じたステータス情報と第2のステータス情報を表現するビット列との論理積をとって当該論理積を評価することで、ステータス情報を第1のステータス情報から第2のステータス情報へ変更する際にシステムダウンが発生したのか、あるいはステータス情報を第2のステータス情報から第3のステータス情報へ変更する際にシステムダウンが発生したのかを判定することが可能となり、不揮発性メモリの動作状態を簡単な判定方式により詳細に検知することができて、不揮発性メモリを迅速かつ確実に正常な記憶状態に復帰させることができるという効果を奏する。
【図面の簡単な説明】
【図1】 不揮発性メモリの記憶領域に係る論理ブロックと物理ブロックとの関係を示す図である。
【図2】 物理ブロック内に記憶される管理情報に係るデータ構造を示す図である。
【図3】 不揮発性メモリにおけるデータの書き換え動作を示すフローチャートである。
【図4】 データの書き換えを実施する際における物理ブロック内のデータ変化を示す図である。
【図5】 この発明の実施の形態1による記憶状態正常化方法を示すフローチャートである。
【図6】 異常ブロックのなかにおける消去済み物理ブロックの検索処理を示すフローチャートである。
【図7】 異常ブロックに係る正常化処理を示すフローチャートである。
【図8】 フラッシュメモリを備えた従来の電子機器の概略構成を示すブロック図である。
【符号の説明】
1 データ領域、2 冗長領域、3 論理ブロックアドレス記憶領域(論理ブロック情報記憶領域)、4 前使用物理ブロックアドレス記憶領域(前使用物理ブロック情報記憶領域)、5 第1エラー訂正符号記憶領域、6 ステータス情報記憶領域、7 第2エラー訂正符号記憶領域[0001]
BACKGROUND OF THE INVENTION
Even if a system failure occurs due to a power failure or the like in a non-volatile memory such as a NAND flash memory provided in an electronic device such as a memory card, the present invention detects a data block in which a defect occurs at the time of restart The present invention relates to a nonvolatile memory capable of returning to a proper storage state and a data rewriting method in the nonvolatile memory.
[0002]
[Prior art]
In recent years, non-volatile memories such as low-cost NAND flash memory suitable for storing large amounts of data have been widely used in electronic devices such as home appliances, portable electronic devices, and memory cards. For example, when a system failure occurs due to a power failure, malfunction, or the like in an electronic device including a flash memory, part of data stored in the flash memory may be destroyed. One method of data protection measures against such a system down is to make the data to be written to the flash memory redundant using, for example, a checksum or CRC (Cyclic Redundancy Check) code, and to flash the system when power is turned on. A checksum is calculated from the data stored in the memory, and it is determined whether or not the data is abnormal.
[0003]
As another method for data protection, an auxiliary non-volatile memory capable of writing at a higher speed than the flash memory is provided in addition to the flash memory, and the latest predetermined number of operating states (status) in the auxiliary non-volatile memory are provided. The bus information related to is stored. FIG. 8 is a block diagram showing a schematic configuration of an electronic apparatus equipped with such a conventional flash memory. In FIG. 8, 101 is an electronic device, 102 is a CPU, 103 is a flash memory provided as a main memory, 104 is an auxiliary non-volatile memory capable of writing faster than the flash memory, and 105 connects the
[0004]
Next, the operation of the electronic device shown in FIG. 8 will be described. For example, in the first half of each operation period of the
[0005]
[Problems to be solved by the invention]
A conventional electronic device equipped with a flash memory has a data protection measure function as described above, and the method using the former checksum or CRC code cannot detect the operating state when the system is down. There has been a problem that it is necessary to construct a complicated system in order to perform the process of restoring the system or the process of restoring the data in the flash memory.
[0006]
Further, in the latter method of storing bus information in the auxiliary non-volatile memory, the stored bus information is analyzed to identify the operating state at the time of system down and the data in the flash memory is determined according to the specified operating state. There is a problem that it is necessary to construct a complicated system in order to perform data restoration processing.
[0007]
The present invention has been made to solve the above-described problems, and can easily detect an operation state related to a nonvolatile memory such as a NAND flash memory when the system is down due to a power failure or the like. It is an object of the present invention to obtain a nonvolatile memory capable of surely returning to a normal storage state and a data rewriting method for the nonvolatile memory.
[0008]
[Means for Solving the Problems]
The present inventionThe physical block address converted by referring to the address conversion table from the logical block addressIn a nonvolatile memory configured with a physical block as a storage unit,Each physical block includes a data area in which data is stored and a redundant area in which various management information is stored.Each of the redundant areas is a logical block information storage area for storing information for specifying a logical block corresponding to the physical block included in the redundant area, and a physical block in which the corresponding logical block is associated with the previous logical block. Each of the stages that occur when performing a data rewrite operation with a physical block included in the redundant area as a data write target, and a pre-used physical block information storage area for storing information specifying the previous used physical block. A status information storage area for storing status information for identifying the operating state;The status information storage area includes first status information indicating that the physical block included in the status information storage area is in an erased state, and data stored in the physical block included in the status information storage area. Second status information indicating a state in which the data of the corresponding previously used physical block has been written but has not been erased, and writing of the data to the physical block included in the status information storage area is completed At least third status information indicating a state in which the data of the corresponding previous used physical block has been erased is stored, and the first status information, the second status information, and the third status information have the same number of bits. Binary represented by one or more bits in a bit string that is represented and represents first status information The second status information is configured by changing the data from “1” to “0”, and binary data related to one or a plurality of bits in the bit string representing the second status information is changed from “1” to “0”. The third status information is configured by changing to "".
[0009]
Further, the present invention provides a physical block address converted by referring to the address conversion table from the logical block address.It consists of physical blocks as storage units,Each physical block includes a data area in which data is stored and a redundant area in which various management information is stored.Each of the redundant areas is a logical block information storage area for storing information for specifying a logical block corresponding to the physical block included in the redundant area, and a physical block in which the corresponding logical block is associated with the previous logical block. Each of the stages that occur when performing a data rewrite operation with a physical block included in the redundant area as a data write target, and a pre-used physical block information storage area for storing information specifying the previous used physical block. A status information storage area for storing status information for identifying the operating state;The status information storage area includes first status information indicating that the physical block included in the status information storage area is in an erased state, and data stored in the physical block included in the status information storage area. Second status information indicating a state in which the data of the corresponding previously used physical block has been written but has not been erased, and writing of the data to the physical block included in the status information storage area is completed At least third status information indicating a state in which the data of the corresponding previous used physical block has been erased is stored, and the first status information, the second status information, and the third status information have the same number of bits. Binary represented by one or more bits in a bit string that is represented and represents first status information The second status information is configured by changing the data from “1” to “0”, and binary data related to one or a plurality of bits in the bit string representing the second status information is changed from “1” to “0”. The third status information is configured by changing toNon-volatile memoryA data rewriting method, referring to a second step of searching for a physical block in an erased state to identify a physical block to which data is to be written, and an address conversion table associating a logical block and a physical block, A third step of identifying a previous used physical block that is a physical block associated with a logical block to be rewritten, a fourth step of writing data to the physical block to be written, and data of the previous used physical block A fifth step of erasing, and a sixth step of updating the address translation table so that the physical block to be written is associated with the logical block to be rewritten, and the physical block to be written is initially in an erased state. First status information indicating that there is a fourth step is set. Second status information indicating that data writing is completed after the processing is completed is set, and third data indicating that erasure of data of the previous used physical block is completed after the processing of the fifth step is completed. The status information is set, the first status information, the second status information, and the third status information are expressed by the same number of bits, and the binary related to one or a plurality of bits in the bit string expressing the first status information The second status information is configured by changing the data from “1” to “0”, and binary data related to one or a plurality of bits in the bit string expressing the second status information is changed from “1” to “0”. The third status information is configured by changing to.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments according to the present invention will be described below with reference to the accompanying drawings. In the following description, in order to clarify the correspondence between each means and each step described in the embodiment of the present invention and each means and each step of the invention described in the claims. Each means and each process of the invention described in the claims corresponding to each means and each process described in the embodiment are indicated by parentheses as appropriate.
[0013]
FIG. 1 is a diagram illustrating a relationship between a logical block and a physical block related to a storage area of a nonvolatile memory. A typical rewritable nonvolatile memory is a NAND flash memory. This type of flash memory is managed in units of blocks, and data erasure (usually an operation of writing binary data “1” for all bits) is performed in units of blocks. In the present invention, writing is basically performed in units of blocks. However, it can be executed only by converting binary data related to one or more arbitrary bits from “1” to “0”. Data writing can be performed in a smaller storage unit.
[0014]
When accessing the flash memory, as shown in FIG. 1, the given logical block address is converted into a physical block address by referring to an address conversion table stored in a RAM connected to the CPU, for example. The physical block to be erased, written, read, etc. is specified. By adopting a method of accessing by a logical block address in this way, even if a defective physical block occurs, even if the processing operation for the defective block is performed on another free block for replacement, an application program, etc. On the CPU side that executes, it is possible to access using the same logical block address regardless of the presence or absence of block substitution.
[0015]
FIG. 2 is a diagram showing a data structure related to management information stored in a physical block adopted in the present invention. In FIG. 2, 1 is a data area in which normal data is stored, 2 is a redundant area in which data related to management information, error correction codes, and the like related to the physical block is stored. The physical block is composed of 3 is a logical block address storage area (logical block information storage area) for storing the address of the logical block corresponding to the physical block having the redundant area, and 4 is a logical block corresponding to the physical block having the redundant area. Previously used physical block address storage area (previously used physical block information storage area) for storing the address of the physical block previously associated (hereinafter referred to as a previously used physical block). ) 5 is a first error correction code storage for storing error correction codes related to the logical block address stored in the logical block
[0016]
Next, a data rewriting operation executed on the flash memory according to the present invention will be described. First, a schematic procedure of a rewrite operation related to data stored in a predetermined logical block will be described. First, a logical block to be rewritten is specified. Second, search for free physical blocks. Third, rewrite data is written into an empty physical block. Fourth, the data in the physical block that has been associated with the logical block to be rewritten is erased. Fifth, the address conversion table is updated so that the logical block to be rewritten is associated with the written physical block. In this way, when data is rewritten, data is written to a new physical block and the data stored in the previously used physical block is erased. The management information related to the logical block remains in either the physical block to be written or the physical block used before, and the system can be restored without being lost. It is possible to prevent deterioration and extend the life of the flash memory itself.
[0017]
Next, details of the data rewrite operation will be described. FIG. 3 is a flowchart showing the data rewrite operation. FIG. 4 is a diagram illustrating a change in data in a physical block to be erased and a previously used physical block to be erased during data rewriting. Note that the number shown at the left end of FIG. 4 is a status number for identifying the operation state of each stage that occurs in the process of rewriting data. Here, as a precondition, the address of the logical block to be rewritten is L, and the address of the previous physical block that is initially associated with the logical block in the address conversion table is P1. In the following description, a logical block and a physical block accessed by an address n are appropriately referred to as a logical block n and a physical block n, respectively. First, the logical block L to be rewritten is specified (step S1 (first step)). Second, each physical block in the flash memory is searched to detect a free block and specify the address P2 of the free block (step S2 (second step)). In the initial state, “0000” is used as status information in the redundant area of the pre-use physical block P1 to be erased.h"(H is a hexadecimal number), L is a logical block address, and the physical block P is associated with the logical block L one before the physical block P1 is associated with the logical block L as the previous used physical block address. The address P0 of the previous used physical block is stored, and the binary data “1” is stored in the data area and redundant area of the physical block P2, that is, in the erased state (status 0).
[0018]
If the physical block P2 to which data is to be written is specified, the address P1 of the previous used physical block associated with the logical block L is specified by referring to the address conversion table (step S3 (third step )). For the
[0019]
When the data writing to the physical block P2 is completed, the status information “AAAA” is stored in the status
[0020]
Status information “AAAAAhIs completed, the data in the previous used physical block P1 is erased (step S6 (fifth step)). As described above, all the memory cells in the previous used physical block P1 are erased. In the figure, “0-> 1” indicates that data is being erased, and the erase operation of the previously used physical block P1 is as follows. An operation state in the middle of erasing data of the previous use physical block P1 is indicated by
[0021]
When the data erasure of the previous used physical block P1 is completed, the physical block P2 indicates that the erasure of the data stored in the previous used physical block P1 to which the logical block L was associated one time ago is completed. Status information “0000” in the status
[0022]
Next, a method for normalizing the data storage state in the flash memory in accordance with the system recovery process performed after a system failure caused by a power failure or operation failure will be described. FIG. 5 is a flowchart showing a storage state normalizing method according to
[0023]
In step S12, the status information is “FFFF”.hIf the status information is not equal to "AAAA"hIt is determined whether or not the status information is “AAAAA” (step S14).h”, The data writing to the physical block has been completed, but data erasure of the previous used physical block related to the physical block may not be completed. The data is erased (step S15), and “0000” is stored in the status
[0024]
In step S14, the status information is “AAAA”.hIf the status information is not equal to "0000", the status information is "0000".h(Step S17). After step S16 is completed, the status information is "0000" in step S17.h”, The logical block
[0025]
In step S17, the status information is “0000”.hIf it is not equal to “,” it is determined that the physical block to be searched is an abnormal block, and the address of the physical block is registered in the abnormal block table (step S19). After completing step S18 and after completing step S19, it is determined whether or not the search has been completed for all physical blocks (step S20). Returning to step S11, the same processing is performed for the next physical block, and when the search is completed for all the physical blocks, the processing shown in FIG. Such processing is performed.
[0026]
In the above-described search processing for all physical blocks, for the factor that determines that the physical block is an abnormal block, the status information of the physical block to be written in
[0027]
FIG. 6 is a flowchart showing a search process for erased physical blocks in an abnormal block. First, the physical block address to be searched is specified by extracting the address of the physical block registered from the abnormal block table so that the search is performed for each physical block registered as an abnormal block (step S21). Next, the status information is “FFFF”hIt is determined whether or not the status information is “FFFF” (step S22).hIf it is equal to “,” it indicates that the physical block is the previous used physical block for which the erasure process has been completed, so the address related to the physical block to be searched is deleted from the abnormal block table (step S23). And the status information is “FFFF” in step S22.hIf not, it is determined whether or not the search has been completed for all physical blocks registered as abnormal blocks (step S24). If the search has not been completed for all physical blocks, step S24 is performed. Returning to S21, the same processing is performed for the next physical block specified based on the abnormal block table.When the search is completed for all physical blocks, the processing shown in FIG. The following processing related to an abnormal block to be described later is performed.
[0028]
FIG. 7 is a flowchart showing normalization processing related to an abnormal block. First, in order to search for each physical block registered as an abnormal block, the address of the registered physical block is extracted from the abnormal block table corrected by the processing shown in FIG. A block is specified (step S31). Next, the status information is extracted from the
[0029]
In view of the above characteristics related to status information, in the next step, status information and "AAAAA"hAND with "AAAA"h(Step S33). The logical product is "AAAAA".hIs equal to “”, data writing to the physical block to be searched has been completed, but data erasure of the previous used physical block related to the physical block has not been completed. The data of the previously used physical block specified by the address stored in the
[0030]
Next, the corresponding logical block is specified by referring to the logical block
[0031]
Next, it is determined whether or not the search has been completed for all physical blocks registered as abnormal blocks (step S37). If the search has not been completed for all physical blocks, the process returns to step S31 and the same processing is performed on the next physical block specified based on the abnormal block table. If the search is completed for all physical blocks, the process is terminated.
[0032]
As described above, according to the first embodiment, a new physical block that is in an erased state is allocated to a logical block that is a target of data rewriting, and data is written to the physical block. In a flash memory in which data is rewritten by erasing data of a previously used physical block associated with a block, a
[0033]
The status information includes “FFFF” indicating that the physical block is in the erased state.h"" Indicates that the data in the physical block to be written has been completed, but the data in the corresponding previous used physical block has not been erased.h"0000" indicates a state in which the writing of data to the physical block to be written is completed and the data of the corresponding previous used physical block has been erased.h", Even if data corruption occurs in the physical block, the status information is" FFFF "h", The physical block to be written may be erased, and the status information is" AAAAA ".h”So that the previously used physical block can be erased, and the status information is changed when the contents of the restoration process required when the system goes down for each status that occurs during the data rewrite operation changes. Therefore, the flash memory can be easily returned to the normal storage state by referring to the status information.
[0034]
Further, as the data rewrite progresses, the status information related to the physical block to be written becomes “FFFF”.h"," AAAAh"," 0000hTherefore, even if an abnormality occurs when the status information is changed due to a power failure or the like and the status information does not have a value that should be taken, the status information changes to constitute the status information. In view of the fact that the binary data relating to a predetermined bit of the bit string is changed from “1” to “0”, the status information in which an abnormality has occurred and “AAAAA”h”And evaluate the logical product to obtain status information“ FFFF ”.hTo AAAAh"When the system is changed to"hTo "0000"hIt is possible to determine whether a system failure has occurred when changing to "", and it is possible to detect the operating state of the flash memory in detail with a simple determination method, and to store the flash memory correctly and reliably. There exists an effect that it can return to a state.
[0035]
Note that the flash memory and the data rewriting method of the flash memory described in the first embodiment are not intended to limit the present invention, but are disclosed for the purpose of illustration. The technical scope of the present invention is defined by the description of the scope of claims, and various design changes can be made within the technical scope described in the scope of claims. For example, status information is “FFFFh"," AAAAh"," 0000hIt is not limited to "", but is changed by changing binary data related to one or more bits in the bit string representing the first status information indicating the erased state from "1" to "0" In the bit string representing the second status information, second status information indicating a state in which data writing to the physical block is completed but the data of the corresponding previous used physical block is not erased is configured. A state in which the data in the physical block to be written is completed by changing the binary data related to one or a plurality of bits from “1” to “0” and the data in the corresponding physical block before use is already erased If the third status information indicating the first status information is configured, an arbitrary bit is used as the first status information, the second status information, and the third status information. It is possible to set up.
[0036]
【The invention's effect】
As described above, according to the present invention, a physical block including a data area in which data is stored and a redundant area in which various management information and the like are stored is configured as a storage unit, and a logical block to be rewritten is a logical block. On the other hand, a new physical block that was in the erased state is allocated and data is written to the physical block, and data is rewritten by erasing the data of the previously used physical block that was previously associated with the logical block. In a nonvolatile memory, each redundant area stores a logical block information storage area for storing information for specifying a logical block corresponding to a physical block included in the redundant area, and information for specifying a corresponding previous use physical block. The physical block information storage area before use and the physical block containing the redundant area Status information storage area that stores status information that identifies the operating status of each stage that occurs when performing the data rewrite operation that is the target of data write. Even if an error occurs, the operation status of the physical block that was the target of writing at the time of system down can be detected by referring to the status information storage area, and the previous use physical block information storage area can be referenced. Since the previously used physical block related to the physical block can be specified, the physical block that may have been corrupted due to the operation state and the appropriate restoration process for the previously used physical block related to the physical block To restore the nonvolatile memory to a normal storage state. There is an effect that it is.
[0037]
According to the present invention, the status information storage area includes the first status information indicating that the physical block included in the status information storage area is in the erased state, and the physical block included in the status information storage area. Second status information indicating a state in which data writing has been completed but the data of the corresponding previous used physical block has not been erased, and data writing to the physical block included in the status information storage area has been completed And at least the third status information indicating the state in which the data of the corresponding previously used physical block has been erased is stored. When the content of the restoration process required in case of downtime changes, the status information Since There are adapted to be changed, an effect that can be easily returned to the non-volatile memory in the normal storage state by referring to the status information.
[0038]
According to the present invention, the first status information, the second status information, and the third status information are expressed by the same number of bits, and binary related to one or a plurality of bits in the bit string expressing the first status information. The second status information is configured by changing the data from “1” to “0”, and binary data related to one or a plurality of bits in the bit string expressing the second status information is changed from “1” to “0”. Since the third status information is configured by changing to, there was an abnormality that the status information did not have the value that should be originally taken due to a system failure due to a power failure or the like when changing the status information However, binary data related to one or more bits in the bit string constituting the status information is changed by the status information. Considering that it is implemented by changing from “1” to “0”, the logical product of the status information in which the abnormality has occurred and the bit string representing the second status information is calculated and the logical product is evaluated. Whether the system down occurred when changing the status information from the first status information to the second status information or when the status information was changed from the second status information to the third status information It is possible to determine whether it has occurred, it is possible to detect in detail the operation state of the nonvolatile memory by a simple determination method, and the nonvolatile memory can be quickly and surely restored to a normal storage state There is an effect.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a relationship between a logical block and a physical block related to a storage area of a nonvolatile memory.
FIG. 2 is a diagram showing a data structure related to management information stored in a physical block.
FIG. 3 is a flowchart showing a data rewrite operation in a nonvolatile memory.
FIG. 4 is a diagram illustrating a data change in a physical block when data is rewritten.
FIG. 5 is a flowchart showing a storage state normalizing method according to
FIG. 6 is a flowchart showing a search process for erased physical blocks in an abnormal block.
FIG. 7 is a flowchart showing normalization processing related to an abnormal block.
FIG. 8 is a block diagram illustrating a schematic configuration of a conventional electronic device including a flash memory.
[Explanation of symbols]
1 data area, 2 redundant area, 3 logical block address storage area (logical block information storage area), 4 previous use physical block address storage area (previous use physical block information storage area), 5 first error correction code storage area, 6 Status information storage area, 7 Second error correction code storage area
Claims (5)
各物理ブロックは、データが記憶されるデータ領域と、種々の管理情報等が記憶される冗長領域とを備え、
それぞれの前記冗長領域が、当該冗長領域の含まれる物理ブロックに対応する論理ブロックを特定する情報を記憶する論理ブロック情報記憶領域と、
対応する論理ブロックが1つ前に対応付けられていた物理ブロックである前使用物理ブロックを特定する情報を記憶する前使用物理ブロック情報記憶領域と、
当該冗長領域の含まれる物理ブロックをデータの書き込み対象としたデータ書き換え動作を実施する際に生起する各段階の動作状態を識別するステータス情報を記憶するステータス情報記憶領域とを有し、
上記ステータス情報記憶領域には、当該ステータス情報記憶領域の含まれる物理ブロックが消去状態にあることを示す第1のステータス情報と、当該ステータス情報記憶領域の含まれる物理ブロックへのデータの書き込みが完了してはいるが対応する前使用物理ブロックのデータが未消去である状態を示す第2のステータス情報と、当該ステータス情報記憶領域の含まれる物理ブロックへのデータの書き込みが完了するとともに対応する前使用物理ブロックのデータが消去済みである状態を示す第3のステータス情報とが少なくとも記憶され、
第1のステータス情報と第2のステータス情報と第3のステータス情報とが同じビット数で表現され、第1のステータス情報を表現するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで第2のステータス情報が構成され、第2のステータス情報を表現するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで第3のステータス情報が構成される
ことを特徴とする不揮発性メモリ。 In a nonvolatile memory configured with a physical block of a physical block address converted by referring to an address conversion table from a logical block address as a storage unit,
Each physical block includes a data area in which data is stored and a redundant area in which various management information is stored.
Each of the redundant areas stores a logical block information storage area for storing information specifying a logical block corresponding to a physical block included in the redundant area;
A previous use physical block information storage area for storing information for specifying a previous use physical block which is a physical block to which a corresponding logical block was associated one time before;
A status information storage area for storing status information for identifying an operation state of each stage that occurs when performing a data rewrite operation with a physical block included in the redundant area as a data write target ;
In the status information storage area, the first status information indicating that the physical block included in the status information storage area is in an erased state and the writing of data to the physical block included in the status information storage area are completed. However, the second status information indicating a state in which the data of the corresponding previously used physical block is not erased, and before the data writing to the physical block included in the status information storage area is completed At least third status information indicating a state in which the data of the used physical block has been erased;
The first status information, the second status information, and the third status information are expressed by the same number of bits, and binary data relating to one or a plurality of bits in the bit string expressing the first status information is changed from “1”. The second status information is configured by changing to “0”, and the binary data related to one or a plurality of bits in the bit string representing the second status information is changed from “1” to “0”. 3 status information is configured
A non-volatile memory characterized by that.
消去状態にある物理ブロックを検索してデータの書き込み対象となる物理ブロックを特定する第2のステップと、
論理ブロックと物理ブロックとを対応付けるアドレス変換テーブルを参照して、書き換え対象の論理ブロックに対応付けられている物理ブロックである前使用物理ブロックを特定する第3のステップと、
書き込み対象の物理ブロックにデータを書き込む第4のステップと、
前使用物理ブロックのデータを消去する第5のステップと、
書き換え対象の論理ブロックに書き込み対象の物理ブロックを対応付けるようにアドレス変換テーブルを更新する第6のステップとを有し、
書き込み対象の物理ブロックについては、当初消去状態にあることを示す第1のステータス情報が設定され、第4のステップの処理が終了した後にデータの書き込みが完了したことを示す第2のステータス情報が設定され、第5のステップの処理が終了した後に前使用物理ブロックのデータの消去が完了したことを示す第3のステータス情報が設定され、
第1のステータス情報と第2のステータス情報と第3のステータス情報とが同じビット数で表現され、第1のステータス情報を表現するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで第2のステータス情報が構成され、第2のステータス情報を表現するビット列における1または複数のビットに係るバイナリデータを“1”から“0”へ変更することで第3のステータス情報が構成されることを特徴とする不揮発性メモリのデータ書き換え方法。 The physical block of the physical block address converted by referring to the address conversion table from the logical block address is configured as a storage unit, and each physical block stores a data area in which data is stored, various management information, and the like. a that redundant area, each of the redundant area, the logical block information storage area for storing information for identifying the logical block corresponding to the physical block including the corresponding redundant area, the corresponding logical block before one A data rewrite operation is performed with a pre-used physical block information storage area for storing information identifying the previously used physical block that is the associated physical block and a physical block included in the redundant area as a data write target. Status information that stores status information that identifies the operating state of each stage that occurs And a storage area, the above-mentioned status information area, and the first status information indicating that the physical block containing the information concerning the status storage area is in the erased state, a physical block containing the information concerning the status storage area The second status information indicating that the data of the corresponding previous used physical block has not yet been erased, and the writing of data to the physical block included in the status information storage area. Is completed and at least third status information indicating a state in which the data of the corresponding previously used physical block has been erased is stored, and the first status information, the second status information, and the third status information include One or more bits in the bit string expressed by the same number of bits and representing the first status information The second status information is configured by changing the binary data from “1” to “0”, and the binary data related to one or a plurality of bits in the bit string representing the second status information is changed from “1” to “0”. A method of rewriting data in a nonvolatile memory in which the third status information is configured by changing to 0 ″ ,
A second step of searching for a physical block in an erased state to identify a physical block to which data is to be written;
A third step of referring to an address conversion table associating a logical block with a physical block and identifying a previous use physical block that is a physical block associated with the logical block to be rewritten;
A fourth step of writing data to the physical block to be written;
A fifth step of erasing the previously used physical block data;
And a sixth step of updating the address translation table so as to associate the physical block to be written with the logical block to be rewritten,
For the physical block to be written, first status information indicating that it is initially in an erased state is set, and second status information indicating that data writing has been completed after the processing of the fourth step is completed. Third status information indicating that the erasure of the data of the previously used physical block is completed after the completion of the process of the fifth step is set;
The first status information, the second status information, and the third status information are expressed by the same number of bits, and binary data relating to one or a plurality of bits in the bit string expressing the first status information is changed from “1”. The second status information is configured by changing to “0”, and the binary data related to one or a plurality of bits in the bit string representing the second status information is changed from “1” to “0”. 3. A method for rewriting data in a nonvolatile memory, wherein the status information of 3 is configured.
上記読み出したステータス情報に基づいて、当該物理ブロックに記憶されているデータが消去状態にあるべきか否かを判定し、Based on the read status information, it is determined whether the data stored in the physical block should be in an erased state,
上記読み出したステータス情報が、当該物理ブロックに記憶されているデータが消去状態にあるべきことを示している場合には、当該物理ブロックのデータを消去し、If the read status information indicates that the data stored in the physical block should be in an erased state, erase the data in the physical block,
また、上記読み出したステータス情報が、当該物理ブロックに記憶されているデータが消去状態にあるべきことを示していない場合には、当該物理ブロックへのデータの書き込みは完了しているが当該物理ブロックに係る前使用物理ブロックのデータ消去が完了していない可能性があるか否かを判定し、前使用物理ブロックのデータ消去が完了していない可能性がある場合には、前使用物理ブロックのデータを消去するとともに、当該物理ブロックのステータス情報記憶領域に前使用物理ブロックのデータが消去済みである状態を示すステータス情報を書き込み、検索対象となっている物理ブロックの論理ブロックアドレス記憶領域を参照して対応する論理ブロックを特定して、アドレス変換テーブルにおいて当該論理ブロックに対応する物理ブロックとして検索対象となっている物理ブロックを登録し、In addition, when the read status information does not indicate that the data stored in the physical block should be in an erased state, writing of data to the physical block is completed, but the physical block It is determined whether there is a possibility that the data erasure of the previous use physical block related to the previous use physical block has not been completed. In addition to erasing data, write status information indicating that the data of the previous used physical block has been erased to the status information storage area of the physical block, and refer to the logical block address storage area of the physical block being searched The corresponding logical block is identified and the address translation table corresponds to the logical block. Register the physical block that is to be searched for as a block,
上記読み出したステータス情報が、当該物理ブロックへのデータの書き込みは完了しているが当該物理ブロックに係る前使用物理ブロックのデータ消去が完了していない可能性がないことを示している場合には、上記読み出したステータス情報が、当該物理ブロックのステータス情報記憶領域に前使用物理ブロックのデータが消去済みである状態を示している否かを判定し、When the read status information indicates that data writing to the physical block has been completed but there is no possibility that data erasure of the previous physical block related to the physical block has not been completed. Determining whether or not the read status information indicates a state in which the data of the previously used physical block has been erased in the status information storage area of the physical block;
上記読み出したステータス情報が、当該物理ブロックのステータス情報記憶領域に前使用物理ブロックのデータが消去済みである状態を示している場合には、検索対象となっている物理ブロックの論理ブロックアドレス記憶領域3を参照して対応する論理ブロックを特定し、アドレス変換テーブルにおいて当該論理ブロックに対応する物理ブロックとして検索対象となっている物理ブロックを登録すし、If the read status information indicates that the data of the previous physical block has been erased in the status information storage area of the physical block, the logical block address storage area of the physical block to be searched 3, the corresponding logical block is identified, and the physical block to be searched is registered as the physical block corresponding to the logical block in the address conversion table.
さらに、上記読み出したステータス情報が、当該物理ブロックのステータス情報記憶領域に前使用物理ブロックのデータが消去済みである状態を示していない場合には、検索対象となっている物理ブロックが異常ブロックであると判定して、当該物理ブロックのアドレスを異常ブロックテーブルに登録するFurther, if the read status information does not indicate that the data of the previous used physical block has been erased in the status information storage area of the physical block, the physical block to be searched is an abnormal block. Determine that there is, and register the address of the physical block in the abnormal block table
ことを特徴とする請求項2記載の不揮発性メモリのデータ書き換え方法。The data rewriting method for a nonvolatile memory according to claim 2.
ステータス情報が消去処理の完了している前使用物理ブロックであることを示しているか否かを判定し、Determine whether the status information indicates that the previous used physical block has been erased,
上記ステータス情報が消去処理の完了している前使用物理ブロックであることを示している場合に、検索対象となっている物理ブロックに係るアドレスを異常ブロックテーブルから削除するWhen the status information indicates that the used physical block has been erased, the address related to the physical block to be searched is deleted from the abnormal block table.
ことを特徴とする請求項3記載の不揮発性メモリのデータ書き換え方法。The data rewriting method for a nonvolatile memory according to claim 3.
検索対象となっている物理ブロックの冗長領域からステータス情報を取り出して、当該ステータス情報に基づいて、検索対象となっている物理ブロックへのデータの書き込みは完了しているが当該物理ブロックに係る前使用物理ブロックのデータ消去は完了していない状態にあるか否かを判定し、Status information is extracted from the redundant area of the physical block to be searched, and writing of data to the physical block to be searched is completed based on the status information. Determine whether data erasure of the used physical block is in an incomplete state,
当該物理ブロックに係る前使用物理ブロックのデータ消去が完了している場合には、検索対象となっている物理ブロックのステータス情報記憶領域に前使用物理ブロックのデータを消去したことを示すステータス情報を書き込み、また、当該物理ブロックに係る前使用物理ブロックのデータ消去は完了していない状態にある場合には、前使用物理ブロックアドレス記憶領域に記憶されているアドレスにより特定される前使用物理ブロックのデータを消去し、検索対象となっている物理ブロックのステータス情報記憶領域に前使用物理ブロックのデータを消去したことを示すステータス情報を書き込むWhen the data erasure of the previous used physical block related to the physical block has been completed, status information indicating that the data of the previous used physical block has been erased is stored in the status information storage area of the physical block being searched. When writing or data erasure of the previous used physical block related to the physical block is not completed, the previous used physical block specified by the address stored in the previous used physical block address storage area Erasing data and writing status information indicating that the data of the previous physical block has been erased to the status information storage area of the physical block being searched
ことを特徴とする請求項4記載の不揮発性メモリのデータ書き換え方法。The data rewriting method for a nonvolatile memory according to claim 4.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001225015A JP3675375B2 (en) | 2001-07-25 | 2001-07-25 | Nonvolatile memory and data rewriting method of nonvolatile memory |
| CNB028147979A CN1255733C (en) | 2001-07-25 | 2002-07-19 | Non-volatile memory and non-volatile memory data rewriting method |
| US10/484,322 US7240178B2 (en) | 2001-07-25 | 2002-07-19 | Non-volatile memory and non-volatile memory data rewriting method |
| PCT/JP2002/007356 WO2003010671A1 (en) | 2001-07-25 | 2002-07-19 | Non-volatile memory and non-volatile memory data rewriting method |
| KR1020047000158A KR100877030B1 (en) | 2001-07-25 | 2002-07-19 | Nonvolatile Memory and Data Rewriting Method in Nonvolatile Memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001225015A JP3675375B2 (en) | 2001-07-25 | 2001-07-25 | Nonvolatile memory and data rewriting method of nonvolatile memory |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003036209A JP2003036209A (en) | 2003-02-07 |
| JP3675375B2 true JP3675375B2 (en) | 2005-07-27 |
Family
ID=19058078
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001225015A Expired - Fee Related JP3675375B2 (en) | 2001-07-25 | 2001-07-25 | Nonvolatile memory and data rewriting method of nonvolatile memory |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3675375B2 (en) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005190288A (en) * | 2003-12-26 | 2005-07-14 | Tdk Corp | Memory controller, flash memory system therewith, and method for controlling flash memory |
| US7299314B2 (en) * | 2003-12-31 | 2007-11-20 | Sandisk Corporation | Flash storage system with write/erase abort detection mechanism |
| KR100843543B1 (en) | 2006-10-25 | 2008-07-04 | 삼성전자주식회사 | System comprising flash memory device and data recovery method thereof |
| JP4888862B2 (en) * | 2006-11-10 | 2012-02-29 | 株式会社メガチップス | Memory management method |
| JP4535117B2 (en) | 2007-11-06 | 2010-09-01 | ソニー株式会社 | MEMORY DEVICE, MEMORY MANAGEMENT METHOD, AND PROGRAM |
| US9053809B2 (en) | 2011-11-09 | 2015-06-09 | Apple Inc. | Data protection from write failures in nonvolatile memory |
| JP6214390B2 (en) * | 2013-12-26 | 2017-10-18 | キヤノン株式会社 | MEMORY CONTROL DEVICE, MEMORY CONTROL METHOD, AND PROGRAM |
| JP2017021561A (en) * | 2015-07-10 | 2017-01-26 | ファナック株式会社 | Control device file system |
| CN111126586A (en) * | 2019-12-25 | 2020-05-08 | Oppo广东移动通信有限公司 | Data communication circuit, electronic device and data communication method |
-
2001
- 2001-07-25 JP JP2001225015A patent/JP3675375B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003036209A (en) | 2003-02-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7240178B2 (en) | Non-volatile memory and non-volatile memory data rewriting method | |
| JP4722839B2 (en) | MEMORY CONTROL CIRCUIT, NONVOLATILE MEMORY DEVICE, AND MEMORY CONTROL METHOD | |
| JP3937214B2 (en) | Storage device for recording error correction count | |
| JP4560408B2 (en) | Method for controlling nonvolatile memory device | |
| US6865658B2 (en) | Nonvolatile data management system using data segments and link information | |
| KR0128218B1 (en) | Nonvolatile memory with flash erase capability | |
| JP3233079B2 (en) | Data processing system and data processing method | |
| JP2846739B2 (en) | Method for safely updating EEPROM memory | |
| RU2269814C2 (en) | Method for reliable recording of pointer for circular memory | |
| CN114721602B (en) | Nor Flash rolling storage method and device based on FreeRTOS | |
| JP3675375B2 (en) | Nonvolatile memory and data rewriting method of nonvolatile memory | |
| US20080104361A1 (en) | Storage Device, Memory Managing Apparatus, Memory Managing Method, and Program | |
| JP4158526B2 (en) | Memory card and data writing method to memory | |
| CN114371816A (en) | Data storage method and electronic equipment | |
| CN111459708B (en) | Bad block processing method and device | |
| JP3808842B2 (en) | Storage device having rewritable nonvolatile memory and control method of nonvolatile memory for storage device | |
| JP3620478B2 (en) | Storage device, data processing system using the storage device, and data read method | |
| US7313648B2 (en) | Corruption tolerant method and system for deploying and modifying data in flash memory | |
| JP4266742B2 (en) | ELECTRONIC DEVICE WITH FLASH MEMORY, MEMORY DATA MANAGEMENT METHOD, AND PROGRAM | |
| US6654288B2 (en) | Method and device for backing up data in a memory module and memory module | |
| JP3769395B2 (en) | External storage device using non-volatile memory | |
| US7849279B2 (en) | Method for the secure updating data areas in non volatile memory, device to perform such a method | |
| US7353348B2 (en) | Nonvolatile memory and card reader provided with the same | |
| JPH07122087A (en) | EEPROM error check method | |
| CN119621437B (en) | Backup method for memory and firmware |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050118 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050322 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050412 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050425 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 3675375 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090513 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100513 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100513 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110513 Year of fee payment: 6 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120513 Year of fee payment: 7 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130513 Year of fee payment: 8 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |