JP3576625B2 - フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置 - Google Patents
フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置 Download PDFInfo
- Publication number
- JP3576625B2 JP3576625B2 JP4089495A JP4089495A JP3576625B2 JP 3576625 B2 JP3576625 B2 JP 3576625B2 JP 4089495 A JP4089495 A JP 4089495A JP 4089495 A JP4089495 A JP 4089495A JP 3576625 B2 JP3576625 B2 JP 3576625B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- page
- erase
- flash memory
- memory card
- 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 - Lifetime
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Read Only Memory (AREA)
Description
【産業上の利用分野】
この発明は、フラッシュEEPROMから構成されるコモンメモリと、カード属性情報を格納するアトリビュートメモリとを内蔵し、データ処理装置に着脱自在に装着されるフラッシュメモリカードのデータ管理方法、およびそのデータ管理方法を使用したデータ処理装置に関する。
【0002】
【従来の技術】
従来、パーソナルコンピュータやワークステーション等のデータ処理装置の外部記憶装置としては、通常、ハードディスク装置やフロッピーディスク装置などのディスク装置が用いられていた。
【0003】
最近では、それらディスク装置に代わる外部記憶装置として、フラッシュEEPROMを内蔵したフラッシュメモリカードが使用されるようになり、カード装着用のスロットが標準装備されたパーソナルコンピュータや、パーソナルコンピュータに外付けされて使用されるメモリカードリーダ/ライタなどの周辺装置も開発されている。
【0004】
フラッシュメモリカードは携帯性に富んでおり、またフロッピーディスクよりも大きな容量のファイルを取り扱う事ができる。このため、特にノートブック型のポータブルコンピュータ、PDA、電子スチルカメラなどの外部記憶装置として有効である。
【0005】
【発明が解決しようとする課題】
しかし、フラッシュメモリカードは、書き換え回数の制限という固有の問題を有しており、新たなメモリ技術の採用によって改良が続けられてはいるものの、外部記憶装置として使用する上では、データ記憶の信頼性の面で完全ではない。このため、フラッシュメモリカードにおいては、データのリード/ライトだけでなく、データの信頼性についてもソフトウェアで管理することが必要である。
【0006】
この発明はこのような点に鑑みてなされたものであり、フラッシュEEPROMのエラー発生状況に係る情報を効率良く管理できるようにして、フラッシュメモリカードの信頼性を十分に向上させることができるデータ管理方法およびそのデータ管理方法を使用したデータ処理装置を提供することを目的とする。
【0007】
【課題を解決するための手段および作用】
この発明は、データ記憶用の複数のブロックを有するフラッシュEEPROMを内蔵し、データ処理装置に着脱自在に装着されるフラッシュメモリカードのデータ管理方法において、前記各ブロックはページ毎にデータ記憶領域および冗長領域を有し、ブロックイレーズ処理が実行される度、該当するブロックのイレーズ回数をカウントアップし、そのカウントアップされたイレーズ回数の値が所定のしきい値を越えているか否かを検出するステップと、各ページに対するアクセス処理を実行する度、そのアクセス処理において発生されたエラー内容を示すページステータス情報を、該当するページの冗長領域に書き込むステップであって、前記イレーズ回数の値が所定のしきい値を越えていることが検出された際、イレーズ回数がイレーズ限界回数を越えたことを示すイレーズ回数オーバーフラグを前記ページステータス情報として該当するブロックの所定ページの冗長領域に書き込むステップとを具備することを特徴とする。
【0008】
このデータ管理方法によれば、フラッシュEEPROMが持つ冗長部を使用して、データの信頼性向上に必要なページステータス情報が管理される。ページステータス情報は、フラッシュEEPROMをアクセスした際に発生したエラーの内容を示すものであり、これによって各ページのデータ領域の現在の状態および過去のエラーの内容を認識することができるようになり、フラッシュメモリカードの信頼性を高めることができる。
【0009】
特に、各ぺージの冗長領域を使用してページステータス情報を管理しているので、アクセス対象のページの状態を即座に認識することができる。
ページステータス情報としては、ブロックイレーズ処理が実行される度、該当するブロックのイレーズ回数をカウントアップし、そのカウントアップされたイレーズ回数の値が所定のしきい値を越えているか否かを検出することで、イレーズ回数が所定の回数を越えたことを示すイレーズ回数オーバーフラグを管理することが好ましい。
【0010】
また、この発明は、データ記憶用の複数のブロックを有するデータブロック領域およびスペアブロックを有するスペアブロック領域とを含むフラッシュEEPROMを内蔵し、データ処理装置に着脱自在に装着されるフラッシュメモリカードのデータ管理方法において、前記各ブロックはページ毎にデータ記憶領域および冗長領域を有し、その冗長領域には、対応するページに対するアクセス処理において発生されたエラーの内容を管理するためのページステータス情報を記憶する領域が割り当てられており、ブロックイレーズ処理が実行される度、該当するブロックのイレーズ回数をカウントアップし、そのカウントアップされたイレーズ回数の値が所定のしきい値を越えているか否かを検出するイレーズ回数検出ステップと、イレーズ回数の値が所定のしきい値を越えていることが検出された際、イレーズ回数がイレーズ限界回数を越えたことを示すイレーズ回数オーバーフラグを、前記ページステータス情報の1つとして該当するブロックの所定ページの冗長領域に書き込むステップと、ページライト、ページリード、またはブロックイレーズ処理でエラーが発生された時、その処理をリトライするステップと、このリトライ処理が正常実行されない時、または前記イレーズ回数検出ステップによってイレーズ回数がしきい値を越えていることが検出された時に、該当するブロックを不良ブロックとし、その不良ブロックを前記スペアブロックによって代替するステップとを具備することを特徴とする。
【0011】
このデータ管理方法においては、イレーズ回数が所定のしきい値に達すると、リトライエラーの発生を引き起こすブロック不良が検出された場合と同様にして、スペアブロックを利用したブロック代替が行われる。
【0012】
この場合、そのブロックの所定ページの冗長領域にはイレーズ回数オーバーフラグが設定される。このため、そのイレーズ回数オーバーフラグを参照することにより、代替された原因がイレーズ回数オーバーによるものか否かを検出することができる。
【0013】
イレーズ回数オーバーが原因で不良ブロックとされたブロックは、実際には何等不良が発生されていない。したがって、例えば不良ブロック数が増え、代替対象のスペアブロックが不足した場合などには、イレーズ回数オーバーフラグがセットされている不良ブロックを検出し、それを正常なブロックとして利用するなどの運用形態をとることが可能となる。これにより、結果としてフラッシュメモリカードの寿命を延ばすことができる。
【0014】
また、イレーズ回数オーバーフラグに加え、発生したエラーに応じてプログラムエラーフラグ、イレーズエラーフラグ、ベリファイエラーフラグなどを冗長領域にセットすることが好ましい。これにより、ページの状態を管理することができるので、代替の原因をさらに詳しく調べることが可能となる。
【0015】
【実施例】
以下、図面を参照して、この発明の実施例を説明する。
図1には、この発明の一実施例に係るデータ管理方法によって制御されるフラッシュメモリカード11の構成とそのカード11をアクセス制御するポータブルパーソナルコンピュータのハードウェアおよびソフトウェア構成が示されている。
【0016】
フラッシュメモリカード11はJEIDA/PCMCIAに準拠した物理的および電気的仕様を持つPCカードであり、他のPCカード12と同様に、パーソナルコンピュータのPCカードホストアダプタ13が提供するカードスロットに取り外し自在に装着される。
【0017】
フラッシュメモリカード11の認識およびアクセスは、パーソナルコンピュータのシステムメモリにロードされて実行されるフラッシュメモリカードドライバ14、カードサービス15、ソケットサービス16、およびメモリテクノロジトライバ17などによって制御される。
【0018】
フラッシュメモリカードドライバ14は、フラッシュメモリカード11に対応したデバイスドライバプログラムであり、JEIDA/PCMCIAで規定されているクライアントドライバとして使用される。このフラッシュメモリカードドライバ14は、オペレーティングシステム18やアプリケーションプログラム19からのコマンドをフラッシュメモリカード11用のコマンド(ページライトコマンド、ページリードコマンド、ブロックイレーズコマンドなど)に変換して、フラッシュメモリカード11をアククセス制御する。
【0019】
また、フラッシュメモリカードドライバ14は、フラッシュメモリカード11の信頼性を向上させるために、フラッシュメモリカード11に対するアクセスで発生したエラー履歴の管理機能や、不良ブロックの代替機能などを有している。
【0020】
カードサービス15、ソケットサービス16、およびメモリテクノロジドライバ17は、それぞれJEIDA/PCMCIAによって規定されたドライバプログラム群であり、PCカードのリソース管理、PCカード認識などに利用される。
【0021】
フラッシュメモリカード11は、パーソナルコンピュータの2次記憶装置として利用されるPCカードであり、アトリビュートメモリ111と、コモンメモリ112を内蔵している。
【0022】
アトリビュートメモリ111は、EEPROMなどから構成される不揮発性メモリであり、ここにはカード属性情報が格納されている。カード属性情報は、コモンメモリ112のメモリの種類、メモリサイズ、アクセス速度等の情報と、フラッシュメモリカード11の用途(ディスクとして使用するか、メモリとして使用するかなど)に関する情報を含んでいる。
【0023】
さらに、このフラッシュメモリカード11においては、コモンメモリ112に使用されているNAND型フラッシュEEPROMのイレーズ限界回数を示す値もカード属性情報の1つとしてアトリビュートメモリ111に格納されている。
【0024】
コモンメモリ12は、パーソナルコンピュータから供給されるユーザデータなどを記憶するためのメモリデバイスであり、複数のNAND型フラッシュEEPROMから構成されている。
【0025】
NAND型フラッシュEEPROMにおいては、書き込みや消去を行う際に扱うデータ量に最低単位が定まっており、消去はブロック単位で実行され、データ書き込み、および読み出しはページ単位で実行される。
【0026】
この実施例では、NAND型フラッシュEEPROMとして、例えば、16MビットのNAND型フラッシュEEPROMが使用される場合を想定する。
この16MビットのNAND型フラッシュEEPROMは、図2に示されているように、メモリセルアレイ21とデータレジスタ22を備えている。メモリセルアレイ21は、8K行×264列×8ビットのメモリ構成を有し、512個のブロックに分割されている。データ消去はこのブロック単位で実行することができる。各ブロックは16ページ(行)から構成されており、各ページは、256バイトのデータ記憶領域と8バイトの冗長領域を備えている。
【0027】
データの書込みと読み出しは、256+8バイトのデータレジスタ22を介して、ページ単位(256+8バイト)で実行される。また、指定したページ内の冗長領域(8バイト)だけをリード/ライトアクセスすることもできる。
【0028】
図1のコモンメモリ12のデータ記憶空間は、多数のブロックを含むユーザデータ格納領域と、不良ブロック代替用のいくつかのスペアブロックを含むスペアブロック領域と、ブロック管理情報を記憶するブロックを含むブロック管理領域とに分割されている。
【0029】
ブロック管理情報は、データ書き込みや消去などを正常に実行することができない不良ブロックの物理ブロック番号(物理ブロックアドレス)を管理する不良ブロック管理テーブル、およびスペアブロックの物理ブロック番号毎にそれが代替する不良ブロックの物理ブロック番号(物理ブロックアドレス)を管理するスペアブロック管理テーブルなどを含んでいる。
【0030】
これら不良ブロック管理テーブルおよびスペアブロック管理テーブルの内容を書き換えることにより、不良ブロックをスペアブロックによって代替することができる。すなわち、エラー発生したブロックはその物理ブロック番号が不良ブロック管理テーブルに登録されることによって不良ブロックとして扱われる。アクセス対象のブロックが不良ブロックならば、スペアブロック管理テーブルが参照され、これによって代替先のスペアブロックが認識される。これによって、不良ブロックの代りに、スペアブロックがアクセスされる。
【0031】
また、コモンメモリ112においては、各ページの8バイトの冗長領域は、ページステータス情報などの管理データの格納に利用されている。この管理データは、フラッシュメモリカード11の信頼性を高めるために、前述のフラッシュメモリカードドライバ14によって管理されている。
【0032】
ページステータス情報は、対応するページに対するアクセスで発生したエラー内容を識別するための複数のフラグから構成されている。フラッシュメモリカードドライバ14は、各冗長領域のフラグを参照することにより、ページ単位でエラー発生履歴などを認識することができる。
【0033】
冗長領域を利用したコモンメモリ112のデータ管理はこの発明の特徴とする部分であり、以下、図3を参照して、コモンメモリ112上におけるユーザデータおよび管理データの記憶形式について具体的に説明する。
【0034】
1ページのデータ領域は256バイトであるので、フラッシュメモリカード11をフロッピーディスクまたはハードディスクとして使用する場合には、1セクタ分のユーザデータは図示のように連続する2ページに亙って記憶される。
【0035】
各ブロックの先頭ページ(ページ0)の8バイトの冗長領域には、次のような管理データが格納される。
ページデータ用LRC(2バイト)
イレーズカウンタ(4バイト)
イレーズカウンタ用LRC(1バイト)
ページステータス情報(1バイト)
ページデータ用LRCは、水平冗長検査(LRC)の手法を利用して、ページ0の256バイトのデータ領域に格納されたユーザデータ(セクタ0の上位256バイト)を計算することによって得られたエラー訂正符号である。
【0036】
このページデータ用LRCは、データライト時に作成され、データリード時に参照される。フラッシュメモリカードドライバ14は、その上位ソフトウェア(OS、アプリケーションプログラム)にデータを渡すときには、ページデータ用LRCを利用して、そのデータの有効性を確認する。
【0037】
イレーズカウンタは、対応するブロックの消去回数(データ書換え回数)を示すものであり、各ブロックの先頭ページにのみ書き込まれる。イレーズカウンタのデータ長は4バイトであり、最大で4G(ギガ)回数分を表記できる。このように大きなデータ長を確保したのは、これからのフラッシュメモリデバイス技術の進歩により、消去限界回数が増えていくことを考慮したためである。
【0038】
イレーズカウンタの値は、対応するブロックが消去される度に+1カウントアップされる。イレーズカウンタの値がアトリビュートメモリ111に格納されている消去限界回数を越えると、そのブロックをスペアブロックによって代替するための処理がフラッシュメモリカードドライバ14によって実行される。
【0039】
アトリビュートメモリ111に格納されている消去限界回数の値は、マージンを確保するために、フラッシュEEPROM自体の実際の消去限界回数よりも小さな値に設定されている。
【0040】
イレーズカウンタ用LRCは、その上位4バイトのイレーズカウンタから水平冗長検査(LRC)によって計算されたエラー訂正符号である。イレーズカウンタは、ブロック全体のデータ管理に影響を及ぼす重要なデータであり、イレーズカウンタ用LRCはそのイレーズカウンタの信頼性を担保するために使用される。
【0041】
ページステータス情報は対応するページの状態を示すものであり、その1バイト中の8ビットにそれぞれに意味を持たせることにより、対応するページの状態を8つのフラグによって表す。
【0042】
ページ1〜ページ16それぞれの冗長領域には、ページデータ用LRCとページステータス情報だけが格納され、イレーズカウンタおよびイレーズカウンタ用LRCは格納されない。
【0043】
次に、ページステータス情報の詳細を説明する。ページステータス情報は8つのフラグを持つことができるが、この実施例では、次の5つのフラグが定義されている。
【0044】
プログラムフラグ(b7)
イレーズ回数オーバーフラグ(b6)
b6=0(イレーズ回数がしきい値を超過)
ベリファイエラーフラグ(b2)
b2=0(リードベリファイエラー)
プログラムエラーフラグ(b1)
b1=0(プログラムエラー)
イレーズエラーフラグ(b0)
b0=0(イレーズエラー)
通常状態(工場出荷時も含む)においては、ページステータス情報の1バイトは、FFh(8ビットがすべて1)で表現される。以下、各フラグの説明を行う。
【0045】
プログラムフラグ(b7)は、対応するページにデータを書き込む場合にブロックイレーズを実行する必要があるか否かを判断するために使用されるものであり、対応するページを含むブロックが消去済で、そのページに対する書き込みがまだ実行されてない状態(プログラムフラグ=1)と、対応するページに対する書き込みが実行済みである状態(プログラムフラグ=0)のいずれかを示す。
【0046】
消去のみのコマンドが発行された直後か、初期状態である場合は、プログラムフラグは“1”である。この場合、書き込む際に再度消去する必要は無い。
イレーズ回数オーバーフラグ(b6)は、対応するページを含むブロックの消去回数がアトリビュートメモリ111に記録されている消去限界回数の値を超過しているか否かを示すフラグである。
【0047】
すなわち、フラッシュメモリカードデバイスドライバ14は、ブロックイレーズを実行する度に対応するイレーズカウンタの値を+1インクリメントし、そのインクリメントされたイレーズカウンタの値がアトリビュートメモリ111の消去限界回数を越えているか否かを調べる。越えていたならば、該当するブロックに含まれる全ページの冗長領域、またはそのブロックの先頭ページの冗長領域に、“0”のイレーズ回数オーバーフラグがセットされる。また、この場合には、そのブロックはその時点で劣化を起こして無くても不良ブロックとして扱われ、スペアブロックとの代替処理が行われる。フラッシュメモリカードデバイスドライバ14は、各不良ブロックのイレーズ回数オーバーフラグを参照することにより、実際にエラーを起こしているブロックか、イレーズ回数オーバーによって不良として扱われているブロックかを識別することができる。
【0048】
ベリファイエラーフラグ(b2)は、対応するページに対するページリード時に実行されるリードベリファイ作業でエラーが発生したか否かを示すフラグである。
【0049】
すなわち、フラッシュメモリカードデバイスドライバ14は、指定されたページからデータをリードした後、そのリードデータの正当性を対応するページデータLRCを利用して検証する。リードデータにエラーが検出されたならば、ベリファイエラーフラグが“0”にセットされる。この場合、ページリードはリトライされるが、リトライ処理で再度エラーが発生されると、そのページを含むブロックは不良ブロックとして扱われ、スペアブロックとの代替が行われる。ベリファイエラーが原因で代替された不良ブロックは、以降、使用されることはない。
【0050】
プログラムエラーフラグ(b1)は、対応するページに対するページライト(プログラム)実行後にそのライトデータの正当性を検証するために実行されるプログラムベリファイ作業でエラーが発生したか否かを示すフラグである。
【0051】
すなわち、フラッシュメモリカードデバイスドライバ14は、指定されたページにライトデータを書き込んだ後、そのページからデータを一旦リードして、ライトデータと比較する。不一致であれば、プログラムエラーフラグが“0”にセットされる。この場合、ページライトはリトライされるが、リトライ処理で再度エラーが発生されると、そのページを含むブロックは不良ブロックとして扱われ、スペアブロックと代替される。この代替処理では、不良ブロックの内容が読み出されてスペアブロックにコピーされた後、スペアブロックに対するライトデータの書き込みが実行される。プログラムエラーが原因で代替された不良ブロックは、以降、使用されることはない。
【0052】
イレーズエラーフラグ(b0)は、対応するページを含むブロックに対する消去動作が正常に実行されたか否かを示すフラグである。
すなわち、フラッシュメモリカードデバイスドライバ14は、指定されたブロックに対するイレーズ処理を実行した後、イレーズ処理が正常に実行されたか否かを調べる。イレーズが失敗した場合には、そのブロックに含まれる全ページの冗長領域、またはそのブロックの先頭ページの冗長領域に、“0”のイレーズエラーフラグがセットされる。この場合、ブロックイレーズ処理はリトライされるが、リトライ処理で再度エラーが発生されると、そのブロックは不良ブロックとして扱われ、スペアブロックと代替される。イレーズエラーが原因で代替された不良ブロックは、以降、使用されることはない。
【0053】
次に、図4〜図6のフローチャートを参照して、フラッシュメモリカードデバイスドライバ14によって実行されるページリード、ページライト、およびブロックイレーズ処理について説明する。
【0054】
まず、図4のフローチャートを参照して、OS18やアプリケーションプログラム19からリードコマンドが発行された場合に実行されるページリード処理の手順を説明する。
【0055】
OS18やアプリケーションプログラム19からリード要求コマンドを受け取ると、フラッシュメモリカードデバイスドライバ14は、ページリージコマンドを発行することによって、リード要求コマンドによって指定されたページに対するリードアクセスを開始し、そのページから256バイトのユーザデータと8バイトの管理データを同時にリードする(ステップS101)。
【0056】
この後、フラッシュメモリカードデバイスドライバ14は、リードされたページデータに含まれる256バイトのユーザデータに従ってLRCを計算し(ステップS102)、その計算されたLRCと、リードされたページデータに含まれるページデータ用LRCとの一致の有無に従ってページリードが成功したか否かを判断する(ステップS103)。
【0057】
計算されたLRCが、リードされたページデータに含まれるページデータ用LRCと一致したならば、ページリードが正常に実行されたことが確認され、リードされたページデータに含まれる256バイトのユーザデータが有効データとして、OS18やアプリケーションプログラム19に渡される。
【0058】
一方、不一致であれば、ページリードが失敗したと認識され、ベリファイエラーフラグが“0”にセットされた後、ページリードがリトライされる(ステップS105)。このリトライで再度リード処理のエラーが発生されると、フラッシュメモリカードデバイスドライバ14は、ブロック代替処理を行う(ステップS106)。
【0059】
このブロック代替処理では、スペアブロック管理テーブルが書き替えられ、エラー発生したブロックの物理ブロック番号が所定のスペアブロックに対応するエントリに登録される。この後、フラッシュメモリカードデバイスドライバ14は、エラー発生したブロックの物理ブロック番号を不良ブロック管理テーブルに登録してそれを不良ブロックにする(ステップS107)。
【0060】
これらステップS106,S107の処理により、以降は、不良ブロックを指定するブロック番号がスペアブロックのブロック番号に変換され、不良ブロックの代りに、スペアブロックがアクセスされることになる。なお、ステップS106とS107はどちらを先に実行しても良い。
【0061】
次に、図5のフローチャートを参照して、OS18やアプリケーションプログラム19からライトコマンドが発行された場合に実行されるページライト処理の手順を説明する。
【0062】
OS18やアプリケーションプログラム19からライト要求コマンドを受け取ると、フラッシュメモリカードデバイスドライバ14は、まず、冗長領域だけをリードする専用コマンドをフラッシュEEPROMに発行して、ライトアクセス対象のページから8バイトの管理データをリードする(ステップS201)。次いで、フラッシュメモリカードデバイスドライバ14は、リードした管理データに含まれるプログラムフラグを参照して、該当するページが消去済か否かを調べる(ステップS202)。
【0063】
該当するページが消去済で無い(プログラムフラグ=“1”)ならば、フラッシュメモリカードデバイスドライバ14は、ステップS205以降のページライト処理の実行に先だって、次の処理を行う。
【0064】
すなわち、フラッシュメモリカードデバイスドライバ14は、まず、ライト対象のページを含むブロックに対するイレーズ処理を実行し(ステップS203)、その後、ステップS201でリードした管理データに含まれるイレーズカウンタの値を+1カウントアップする(ステップS204)。
【0065】
このようにしてプログラム可能状態になると、フラッシュメモリカードデバイスドライバ14は、256バイトのライトデータからページデータ用LRCなどを計算によって求め、256バイトのライトデータと8バイトの管理データを含むページライトデータを生成する(ステップS205)。
【0066】
次に、フラッシュメモリカードデバイスドライバ14は、ページライトコマンドを発行してページライトデータのライトアクセスを実行し(ステップS206)、その後、書き込んだデータを即座にフラッシュEEPROMから読み出して、それをページライトデータと比較するライトベリファイを実行する(ステップS207)。
【0067】
リードデータとページライトデータが一致せず、ページライトが失敗したと判断されると、フラッシュメモリカードデバイスドライバ14は、プログラムエラーフラグを“0”にセットした後、ページライト処理をリトライする(ステップS209)。このリトライで再度ページライト処理のエラーが発生されると、フラッシュメモリカードデバイスドライバ14は、ブロック代替処理を行う(ステップS215)。
【0068】
このブロック代替処理では、まず、エラー発生したブロックの記憶内容がそれを代替するスペアブロックにコピーされた後、ライトデータがスペアブロックに書き込まれる。この後、スペアブロック管理テーブルが書き替えられて、エラー発生したブロックの物理ブロック番号がそれを代替するスペアブロックのエントリに登録される。この後、フラッシュメモリカードデバイスドライバ14は、エラー発生したブロックの物理ブロック番号を不良ブロック管理テーブルに登録してそれを不良ブロックにする(ステップS216)。
【0069】
これらステップS215,S216の処理により、以降は、不良ブロックの代りに、スペアブロックがアクセスされることになる。なお、ステップS106とS107はどちらを先に実行しても良い。
【0070】
リードデータとページライトデータが一致し、ページライトが成功したと判断された場合には(リトライ成功も含む)、フラッシュメモリカードデバイスドライバ14は、ステップS204でカウントアップされたイレーズカウンタの値がアトリビュートメモリ111の消去限界回数を越えたか否かを調べる(ステップS210)。消去限界回数を越えている場合には、フラッシュメモリカードデバイスドライバ14は、ブロック代替処理を行う(ステップS211)。
【0071】
このブロック代替処理では、まず、消去限界回数を越えたブロックの記憶内容がそれを代替するスペアブロックにコピーされた後、スペアブロックの先頭ページのイレーズカウンタの値が初期値(=0)に設定し直される。そして、スペアブロック管理テーブルが書き替えられて、消去限界回数を越えたブロックの物理ブロック番号がそれを代替するスペアブロックのエントリに登録される。
【0072】
この後、フラッシュメモリカードデバイスドライバ14は、エラー発生したブロックの物理ブロック番号を不良ブロック管理テーブルに登録してそれを不良ブロックにし(ステップS212)、次いで、不良ブロックの先頭ページに“0”のイレーズ回数オーバーフラグをセットする(ステップS213)。
【0073】
これらステップS212,S212の処理により、以降は、不良ブロックの代りに、スペアブロックがアクセスされることになる。また、ステップS213の処理により、不良ブロックにされた原因(代替の原因)がイレーズ回数オーバーによるものであることを、知ることができる。
【0074】
なお、ステップS211とS213はどちらを先に実行しても良い。また、ステップS210〜S213の処理は、ステップS202でプログラムフラグ=1であることが検出された場合には実行する必要はない。これは、プログラムフラグ=1ならば、イレーズカウンタのカウントアップは実行されないからである。
【0075】
次に、図6のフローチャートを参照して、OS18やアプリケーションプログラム19からイレーズコマンドが発行された場合に実行されるブロックイレーズ処理の手順を説明する。
【0076】
OS18やアプリケーションプログラム19からイレーズコマンドを受け取ると、フラッシュメモリカードデバイスドライバ14は、まず、冗長領域だけをリードする専用コマンドをフラッシュEEPROMに発行して、ブロックイレーズ対象の先頭ページから8バイトの管理データをリードする(ステップS301)。次いで、フラッシュメモリカードデバイスドライバ14は、リードした管理データに含まれるプログラムフラグを参照して、該当するページがプログラムされている状態か否かを調べる(ステップS302)。
【0077】
該当するページがプログラムされている(プログラムフラグ=“0”)ならば、フラッシュメモリカードデバイスドライバ14は、ブロックイレーズコマンドを発行して、イレーズ対象のブロックに対するイレーズ処理を実行し(ステップS303)、その後、ステップS301でリードした管理データに含まれるイレーズカウンタの値を+1カウントアップする(ステップS304)。
【0078】
次いで、フラッシュメモリカードデバイスドライバ14は、例えば、イレーズしたブロックの記憶データが初期値(各ビット=“1”)か否かを調べることなどにより、ブロックイレーズが正常に実行されたか否かを検出する(ステップS305)。
【0079】
ブロックイレーズが失敗したと判断されると、フラッシュメモリカードデバイスドライバ14は、イレーズ対象ブロックの先頭ページの冗長領域に“0”のイレーズフラグをセットした後、ブロックイレーズ処理をリトライする(ステップS306)。このリトライで再度ブロックイレーズ処理のエラーが発生されると、フラッシュメモリカードデバイスドライバ14は、ブロック代替処理を行う(ステップS312)。
【0080】
このブロック代替処理では、まず、スペアブロック管理テーブルが書き替えられて、エラー発生したブロックの物理ブロック番号がそれを代替するスペアブロックのエントリに登録される。この後、フラッシュメモリカードデバイスドライバ14は、エラー発生したブロックの物理ブロック番号を不良ブロック管理テーブルに登録してそれを不良ブロックにする(ステップS313)。
【0081】
これらステップS312,S313の処理により、以降は、不良ブロックの代りに、スペアブロックがアクセスされることになる。なお、ステップS312とS313はどちらを先に実行しても良い。
【0082】
ブロックイレーズが成功したと判断された場合には(リトライ成功も含む)、フラッシュメモリカードデバイスドライバ14は、ステップS304でカウントアップされたイレーズカウンタの値がアトリビュートメモリ111の消去限界回数を越えたか否かを調べる(ステップS307)。消去限界回数を越えている場合には、フラッシュメモリカードデバイスドライバ14は、ブロック代替処理を行う(ステップS308)。
【0083】
このブロック代替処理では、消去限界回数を越えたブロックの物理ブロック番号がそれを代替するスペアブロックのエントリに登録される。この後、フラッシュメモリカードデバイスドライバ14は、エラー発生したブロックの物理ブロック番号を不良ブロック管理テーブルに登録してそれを不良ブロックにし(ステップS309)、次いで、不良ブロックの先頭ページに“0”のイレーズ回数オーバーフラグをセットする(ステップS310)。
【0084】
これらステップS308,S309の処理により、以降は、不良ブロックの代りに、スペアブロックがアクセスされることになる。また、ステップS310の処理により、不良ブロックにされた原因(代替の原因)がイレーズ回数オーバーによるものであることを、知ることができる。なお、ステップS308とS309はどちらを先に実行しても良い。
【0085】
一方、ステップS307で消去限界回数を越えていないことが検出された場合には、フラッシュメモリカードデバイスドライバ14は、イレーズしたブロックの先頭ページに、ステップS304でカウントアップしたイレーズカウンタの値を書き込み、そして各ページのプログラムフラグを“1”にリセットとして終了する(ステップS311)。
【0086】
以上説明したように、この実施例においては、フラッシュEEPROMが持つ冗長部を使用して、データの信頼性向上に必要なページステータス情報が管理される。ページステータス情報は、フラッシュEEPROMをアクセスした際に発生したエラーの内容などを示すものであり、これによって各ページのデータ領域の現在の状態および過去のエラー履歴などを認識することができるようになり、フラッシュメモリカード11の信頼性を高めることができる。
【0087】
また、イレーズ回数が消去限界回数を越えると、ページライトリトライ、ページリードリトライ、またはブロックイレーズリトライのエラーを引き起こすブロック不良が発生された場合と同様にして、スペアブロックを利用したブロック代替が行われる。この場合、そのブロックの先頭ページの冗長領域にはイレーズ回数オーバーフラグが設定される。このため、そのイレーズ回数オーバフラグを参照することにより、代替された原因がイレーズ回数オーバーによるものか、あるいはプログラムエラー、リードベリファイエラー、イレーズエラーなど、他の原因によるものかを検出することができる。
【0088】
イレーズ回数オーバーが原因で不良ブロックとされたブロックは、実際には何等不良が発生されていない。したがって、例えば不良ブロック数が増え、代替対象のスペアブロックが不足した場合などには、イレーズ回数オーバフラグがセットされている不良ブロックを検出し、それを正常なブロックとして利用するなどの運用形態をとることが可能となる。これにより、結果としてフラッシュメモリカード11の寿命を延ばすことができる。
【0089】
なお、この実施例では、プログラムエラー、リードベリファイエラー、イレーズエラーのリトライで再度エラーが発生した時に直ぐに該当のブロックを不良ブロックにして代替処理を行ったが、リトライ回数を複数回に設定し、複数回リトライしても正常に処理が実行されない場合に代替処理を実行するようにしても良い。
【0090】
また、この実施例では、フラッシュEEPROM上のスペアブロック管理テーブル上に各スペアブロックの代替先を登録することによってブロック代替を実行したが、この代替処理は、フラッシュメモリカードドライバ14が論理ブロック番号と物理ブロック番号との対応関係を示すアドレス変換テーブルをメモリ上にに作成し、不良ブロックの物理ブロック番号をそれを代替するスペアブロックの物理ブロック番号に変更することによって行うこともできる。
【0091】
また、この実施例では各ページが256バイトのデータ領域と8バイトの冗長領域とから構成される16MビットタイプのフラッシュEEPROMを使用する場合を例示したが、例えば、各ページが512バイトのデータ領域と8バイトの冗長領域とから構成される32MビットタイプのフラッシュEEPROMを使用すれば、ページステータス情報を含む管理データは512バイトのセクタのステータスを示すことになるので、ページステータス情報を含む管理データを、セクタ単位でのデータ管理にさらに有効に利用することが可能となる。
【0092】
また、この実施例のデータ管理方法は、パーソナルコンピュータに限らず、フラッシュメモリカード11をアクセス制御できる装置であればPDAなど他の全てのデータ処理装置に適用することができる。
【0093】
さらに、この実施例ではフラッシュメモリカード11を制御するドライバ14にデータ管理機能を設けたが、フラッシュEEPROMとプロセッサとを内蔵するインテリジェントなフラッシュディスク装置を使用する場合には、そのフラッシュディスク装置自体に同様のデータ管理機能を持たせることもできる。
【0094】
【発明の効果】
以上説明したように、この発明によれば、フラッシュEEPROMのエラー発生状況に係る情報を効率良く管理できるようなり、フラッシュメモリカードの信頼性を十分に向上させることが可能となる。特に、各ぺージの冗長領域を使用してページステータス情報を管理しているので、アクセス対象のページの状態を即座に認識することができる。
【図面の簡単な説明】
【図1】この発明の一実施例に係るフラッシュメモリカードのデータ管理方法を使用したパーソナルコンピュータのハードウェアおよびソフトウェア構成を示すブロック図。
【図2】同実施例で使用されるフラッシュメモリカードに設けられたフラッシュEEPROMの回路構成を示す図。
【図3】同実施例で使用されるフラッシュメモリカードに格納される管理データのデータ構造を説明するための図。
【図4】同実施例のデータ管理方法が適用されたページリード処理の手順を説明するフローチャート。
【図5】同実施例のデータ管理方法が適用されたページライト処理の手順を説明するフローチャート。
【図6】同実施例のデータ管理方法が適用されたブロックイレーズ処理の手順を説明するフローチャート。
【符号の説明】
11…フラッシュメモリカード、12…他のPCカード、13…PCカードホストアダプタ、14…フラッシュメモリカードドライバ、15…カードサービス、16…ソケットサービス、17…メモリテクノロジドライバ、18…OS、10…アプリケーションプログラム。
Claims (8)
- データ記憶用の複数のブロックを有するフラッシュEEPROMを内蔵し、データ処理装置に着脱自在に装着されるフラッシュメモリカードのデータ管理方法において、
前記各ブロックはページ毎にデータ記憶領域および冗長領域を有し、
ブロックイレーズ処理が実行される度、該当するブロックのイレーズ回数をカウントアップし、そのカウントアップされたイレーズ回数の値が所定のしきい値を越えているか否かを検出するステップと、
各ページに対するアクセス処理を実行する度、そのアクセス処理において発生されたエラー内容を示すページステータス情報を、該当するページの冗長領域に書き込むステップであって、前記イレーズ回数の値が所定のしきい値を越えていることが検出された際、イレーズ回数がイレーズ限界回数を越えたことを示すイレーズ回数オーバーフラグを前記ページステータス情報として該当するブロックの所定ページの冗長領域に書き込むステップとを具備することを特徴とするフラッシュメモリカードのデータ管理方法。 - データ記憶用の複数のブロックを有するデータブロック領域およびスペアブロックを有するスペアブロック領域とを含むフラッシュEEPROMを内蔵し、データ処理装置に着脱自在に装着されるフラッシュメモリカードのデータ管理方法において、
前記各ブロックはページ毎にデータ記憶領域および冗長領域を有し、その冗長領域には、対応するページに対するアクセス処理において発生されたエラーの内容を管理するためのページステータス情報を記憶する領域が割り当てられており、
ブロックイレーズ処理が実行される度、該当するブロックのイレーズ回数をカウントアップし、そのカウントアップされたイレーズ回数の値が所定のしきい値を越えているか否かを検出するイレーズ回数検出ステップと、
イレーズ回数の値が所定のしきい値を越えていることが検出された際、イレーズ回数がイレーズ限界回数を越えたことを示すイレーズ回数オーバーフラグを、前記ページステータス情報の1つとして該当するブロックの所定ページの冗長領域に書き込むステップと、
ページライト、ページリード、またはブロックイレーズ処理でエラーが発生された時、その処理をリトライするステップと、
このリトライ処理が正常実行されない時、または前記イレーズ回数検出ステップによってイレーズ回数がしきい値を越えていることが検出された時に、該当するブロックを不良ブロックとし、その不良ブロックを前記スペアブロックによって代替するステップとを具備することを特徴とするフラッシュメモリカードのデータ管理方法。 - ページライト処理でエラーが発生した際、そのエラー発生を示すプログラムエラーフラグを、前記ページステータス情報の1つとして該当するページの冗長領域に書き込むステップをさらに具備することを特徴とする請求項2記載のフラッシュメモリカードのデータ管理方法。
- ブロックイレーズ処理でエラーが発生した際、そのエラー発生を示すイレーズエラーフラグを、前記ページステータス情報の1つとして該当する消去ブロックの所定ページの冗長領域に書き込むステップをさらに具備することを特徴とする請求項2記載のフラッシュメモリカードのデータ管理方法。
- リードベリファイ処理でエラーが発生した際、そのエラー発生を示すベリファイエラーフラグを、前記ページステータス情報の1つとして該当するページの冗長領域に書き込むステップをさらに具備することを特徴とする請求項2記載のフラッシュメモリカードのデータ管理方法。
- データ記憶用の複数のブロックを有するデータブロック領域およびスペアブロックを有するスペアブロック領域とを含むフラッシュEEPROMを内蔵し、データ処理装置に着脱自在に装着されるフラッシュメモリカードのデータ管理方法において、
前記各ブロックはページ毎にデータ記憶領域および冗長領域を有し、その冗長領域には 、対応するページに対するアクセス処理において発生されたエラーの内容を管理するためのページステータス情報を記憶する領域が割り当てられており、
ブロックイレーズ処理が実行される度、該当するブロックのイレーズ回数をカウントアップし、そのカウントアップされたイレーズ回数が所定の回数を越えているか否かを検出するイレーズ回数検出ステップと、
ページライト、ページリードベリファイ、またはブロックイレーズ処理でエラーが発生された時、それらエラーを示すプログラムエラーフラグ、ベリファイエラーフラグ、またはイレーズエラーフラグを前記ページステータス情報の1つとして該当するページの冗長領域に書き込むステップと、
ページライト、ページリードベリファイ、またはブロックイレーズ処理でエラーが発生された時、その処理をリトライするステップと、
このリトライ処理が正常実行されない時、または前記イレーズ回数検出ステップによってイレーズ回数が所定のイレーズ回数を越えていることが検出された時に、該当するブロックを不良ブロックとし、その不良ブロックを前記スペアブロックによって代替するステップと、
前記イレーズ回数検出ステップによってイレーズ回数が所定のイレーズ回数を越えていることが検出された時、イレーズ回数を越えたことを示すイレーズ回数オーバーフラグを、前記ページステータス情報の1つとして前記不良ブロックの所定ページの冗長領域に書き込むステップとを具備することを特徴とするフラッシュメモリカードのデータ管理方法。 - データ記憶用の複数のブロックを有するデータブロック領域とスペアブロックを有するスペアブロック領域とを含むフラッシュEEPROMを内蔵したフラッシュメモリカードが着脱自在に装着されるカードスロットを有し、そのフラッシュメモリカードをアクセス制御可能なデータ処理装置において、
前記フラッシュEEPROMの各ブロックはページ毎にデータ記憶領域および冗長領域を有し、その冗長領域には、対応するページに対するアクセス処理において発生されたエラーの内容を管理するためのページステータス情報を記憶する領域が割り当てられており、
上位プログラムからの要求に応じて、ページリード、ページライト、またはブロックイレーズを実行させるためのコマンドを前記フラッシュメモリカードに発行して、前記フラッシュメモリカードをアクセス制御する手段と、
ブロックイレーズのためのアクセス処理が実行される度、該当するブロックのイレーズ回数をカウントアップし、そのカウントアップされたイレーズ回数の値が所定のしきい値を越えているか否かを検出するイレーズ回数検出手段と、
イレーズ回数の値が所定のしきい値を越えていることが検出された際、イレーズ回数がイレーズ限界回数を越えたことを示すイレーズ回数オーバーフラグを、前記ページステータス情報の1つとして該当するブロックの所定ページの冗長領域に書き込む手段と、
ページライト、ページリード、またはブロックイレーズのためのアクセス処理でエラーが発生された時、その処理をリトライする手段と、
このリトライ処理が正常実行されない時、または前記イレーズ回数検出手段によってイレーズ回数がしきい値を越えていることが検出された時に、該当するブロックを不良ブロックとし、その不良ブロックを前記スペアブロックによって代替する手段とを具備することを特徴とするデータ処理装置。 - データ記憶用の複数のブロックを有するデータブロック領域とスペアブロックを有するスペアブロック領域とを含むフラッシュEEPROMを内蔵したフラッシュメモリカードが着脱自在に装着されるカードスロットを有し、そのフラッシュメモリカードをアクセス制御可能なデータ処理装置において、
前記各ブロックはページ毎にデータ記憶領域および冗長領域を有し、その冗長領域には、対応するページに対するアクセス処理において発生されたエラーの内容を管理するためのページステータス情報を記憶する領域が割り当てられており、
上位プログラムからの要求に応じて、ページリード、ページライト、またはブロックイレーズを実行させるためのコマンドを前記フラッシュメモリカードに発行して、前記フラッシュメモリカードをアクセス制御する手段と、
ブロックイレーズのためのアクセス処理が実行される度、該当するブロックのイレーズ回数をカウントアップし、そのカウントアップされたイレーズ回数が所定の回数を越えているか否かを検出するイレーズ回数検出手段と、
ページライト、ページリードベリファイ、またはブロックイレーズのアクセス処理でエラーが発生された時、それらエラーを示すプログラムエラーフラグ、ベリファイエラーフラグ、またはイレーズエラーフラグを前記ページステータス情報の1つとして該当するページの冗長領域に書き込む手段と、
ページライト、ページリードベリファイ、またはブロックイレーズのアクセス処理でエラーが発生された時、その処理をリトライする手段と、
このリトライ処理が正常実行されない時、または前記イレーズ回数検出手段によってイレーズ回数が所定のイレーズ回数を越えていることが検出された時に、該当するブロックを不良ブロックとし、その不良ブロックを前記スペアブロックによって代替する手段と、
前記イレーズ回数検出手段によってイレーズ回数が所定のイレーズ回数を越えていることが検出された時、イレーズ回数を越えたことを示すイレーズ回数オーバーフラグを、前記ページステータス情報の1つとして前記不良ブロックの所定ページの冗長領域に書き込む手段とを具備することを特徴とするデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4089495A JP3576625B2 (ja) | 1995-02-28 | 1995-02-28 | フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4089495A JP3576625B2 (ja) | 1995-02-28 | 1995-02-28 | フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08235028A JPH08235028A (ja) | 1996-09-13 |
JP3576625B2 true JP3576625B2 (ja) | 2004-10-13 |
Family
ID=12593225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4089495A Expired - Lifetime JP3576625B2 (ja) | 1995-02-28 | 1995-02-28 | フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3576625B2 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1185571A (ja) * | 1997-09-03 | 1999-03-30 | Nec Corp | フラッシュメモリへのログ格納方式 |
JP2990181B1 (ja) | 1998-09-28 | 1999-12-13 | 日本電気アイシーマイコンシステム株式会社 | フラッシュメモリ、フラッシュメモリを備えたマイクロコンピュータおよびフラッシュメモリへのプログラム格納方法 |
US7493437B1 (en) | 2000-07-06 | 2009-02-17 | Mcm Portfolio Llc | Flashtoaster for reading several types of flash memory cards with or without a PC |
US7252240B1 (en) | 2000-07-06 | 2007-08-07 | Onspec Electronics, Inc. | Memory module which includes a form factor connector |
US6832281B2 (en) | 2000-07-06 | 2004-12-14 | Onspec Electronic Inc. | Flashtoaster for reading several types of flash memory cards with or without a PC |
US7295443B2 (en) | 2000-07-06 | 2007-11-13 | Onspec Electronic, Inc. | Smartconnect universal flash media card adapters |
US7278051B2 (en) | 2000-07-06 | 2007-10-02 | Onspec Electronic, Inc. | Field-operable, stand-alone apparatus for media recovery and regeneration |
US6438638B1 (en) | 2000-07-06 | 2002-08-20 | Onspec Electronic, Inc. | Flashtoaster for reading several types of flash-memory cards with or without a PC |
US7162549B2 (en) * | 2001-10-29 | 2007-01-09 | Onspec Electronics, Inc. | Multimode controller for intelligent and “dumb” flash cards |
WO2004079575A1 (fr) * | 2003-03-04 | 2004-09-16 | Netac Technology Co., Ltd. | Procede de gestion de donnees pour support a memoire flash |
CN100377119C (zh) * | 2003-06-20 | 2008-03-26 | 深圳市朗科科技有限公司 | 闪存介质中数据保护方法 |
WO2005076203A1 (ja) * | 2004-02-03 | 2005-08-18 | Matsushita Electric Industrial Co., Ltd. | メモリカード及びデータ処理装置並びにメモリカードの制御方法及び設定方法 |
JP4734033B2 (ja) * | 2005-05-30 | 2011-07-27 | 株式会社東芝 | 記憶装置 |
JP4936271B2 (ja) | 2006-01-20 | 2012-05-23 | 株式会社メガチップス | 半導体記憶装置 |
JP5111122B2 (ja) * | 2008-01-11 | 2012-12-26 | 三菱電機株式会社 | データ読み取り装置及びデータ読み取り装置のデータ読み取り方法 |
JP2010518463A (ja) * | 2008-02-29 | 2010-05-27 | 株式会社東芝 | 情報処理装置及び不揮発性半導体メモリドライブ |
WO2009107286A1 (en) * | 2008-02-29 | 2009-09-03 | Kabushiki Kaisha Toshiba | Information processing apparatus and nonvolatile semiconductor memory drive |
US9086983B2 (en) | 2011-05-31 | 2015-07-21 | Micron Technology, Inc. | Apparatus and methods for providing data integrity |
JP2013171343A (ja) | 2012-02-17 | 2013-09-02 | Toshiba Corp | ストレージデバイス |
US9142300B2 (en) | 2013-09-03 | 2015-09-22 | Kabushiki Kaisha Toshiba | Memory system including nonvolatile memory |
JP6395143B2 (ja) * | 2014-03-31 | 2018-09-26 | 株式会社三共 | 遊技機、遊技機のリサイクル方法及びデータ書込装置 |
JP6231973B2 (ja) * | 2014-11-20 | 2017-11-15 | 株式会社三共 | 遊技機 |
-
1995
- 1995-02-28 JP JP4089495A patent/JP3576625B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH08235028A (ja) | 1996-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3576625B2 (ja) | フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置 | |
JP4110000B2 (ja) | 記憶装置 | |
US6977847B2 (en) | Detecting partially erased units in flash devices | |
US7295479B2 (en) | Apparatus and method for managing bad blocks in a flash memory | |
US5734816A (en) | Nonvolatile memory with flash erase capability | |
EP0619541B1 (en) | Information processing system with cached flash memory | |
JP5162535B2 (ja) | メモリシステムを利用する方法及びメモリシステム | |
JP5528782B2 (ja) | 停電後の不揮発性メモリの回復 | |
US6185134B1 (en) | Flash memory control method, flash memory system using the control method and flash memory device using the control method | |
JP4079506B2 (ja) | 不揮発性半導体メモリシステムの制御方法 | |
EP0686976B1 (en) | Data management system for programming-limited type semiconductor memory and IC memory card having the data management system | |
JP3472008B2 (ja) | フラッシュメモリ管理方法 | |
JP3233079B2 (ja) | データ処理システム及びデータ処理方法 | |
TWI447580B (zh) | 管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置 | |
JPH05282889A (ja) | 不揮発性半導体メモリ装置 | |
KR20040014971A (ko) | 비휘발성 메모리의 제어방법 | |
WO1998024028A1 (en) | Method and system for managing a flash memory mass storage system | |
JPH117505A (ja) | カード型記憶媒体 | |
TW201339835A (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN109685190B (zh) | 一种ic卡掉电保护方法及装置 | |
JP2004220068A (ja) | メモリカード及びメモリへのデータ書き込み方法 | |
EP2264602A1 (en) | Memory device for managing the recovery of a non volatile memory | |
JPH10161938A (ja) | ディスク制御装置 | |
JPH07141479A (ja) | Icメモリカードおよびそのicメモリカードを使用したファイル管理システム | |
JPH0729392A (ja) | 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20040706 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040708 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080716 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090716 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090716 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100716 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110716 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120716 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130716 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |