JP2671860B2 - フラッシュメモリ用ファイルシステム - Google Patents
フラッシュメモリ用ファイルシステムInfo
- Publication number
- JP2671860B2 JP2671860B2 JP9581995A JP9581995A JP2671860B2 JP 2671860 B2 JP2671860 B2 JP 2671860B2 JP 9581995 A JP9581995 A JP 9581995A JP 9581995 A JP9581995 A JP 9581995A JP 2671860 B2 JP2671860 B2 JP 2671860B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- physical block
- physical
- alternative
- flash memory
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
【0001】
【産業上の利用分野】本発明は、たとえばデータ交換機
等において、フラッシュメモリにデータの書き込み読み
出しを行うフラッシュメモリ用ファイルシステムに関す
る。
等において、フラッシュメモリにデータの書き込み読み
出しを行うフラッシュメモリ用ファイルシステムに関す
る。
【0002】
【従来の技術】従来、フラッシュメモリを記憶媒体とし
て使用するファイルシステムでは、フラッシュメモリに
形成した複数の物理ブロックと、これらにそれぞれ対応
する論理ブロックとの間でのファイルの読み出し・書き
込み動作を、フラッシュメモリ読み書きドライバを介し
て次のように行っていた。
て使用するファイルシステムでは、フラッシュメモリに
形成した複数の物理ブロックと、これらにそれぞれ対応
する論理ブロックとの間でのファイルの読み出し・書き
込み動作を、フラッシュメモリ読み書きドライバを介し
て次のように行っていた。
【0003】ファイルシステム本体は、自らの管理下に
ある論理ブロック内のデータの読み書きを行う際、アプ
リケーションソフトによって指定された論理ブロックと
該論理ブロック内オフセットを算出し、これらのデータ
をもとにして、フラッシュメモリ読み書きドライバに読
み出しや書き込みの要求を行う。
ある論理ブロック内のデータの読み書きを行う際、アプ
リケーションソフトによって指定された論理ブロックと
該論理ブロック内オフセットを算出し、これらのデータ
をもとにして、フラッシュメモリ読み書きドライバに読
み出しや書き込みの要求を行う。
【0004】フラッシュメモリ読み書きドライバは、指
定された論理ブロックと該論理ブロック内オフセット
を、論理ブロックとフラッシュメモリの物理ブロックと
の対応関係を記述した対応テーブルを参照して物理ブロ
ックに変換する。そして、対応する物理ブロックと該物
理ブロック内オフセットを求め、その物理ブロックに論
理ブロックの内容の読み書きを行う。
定された論理ブロックと該論理ブロック内オフセット
を、論理ブロックとフラッシュメモリの物理ブロックと
の対応関係を記述した対応テーブルを参照して物理ブロ
ックに変換する。そして、対応する物理ブロックと該物
理ブロック内オフセットを求め、その物理ブロックに論
理ブロックの内容の読み書きを行う。
【0005】
【発明が解決しようとする課題】ところで、フラッシュ
メモリは、各物理ブロックに対してデータを正常に書き
込みできる書き替え回数に制限がある。
メモリは、各物理ブロックに対してデータを正常に書き
込みできる書き替え回数に制限がある。
【0006】しかしながら、上記従来のフラッシュメモ
リ用ファイルシステムでは、上記書き替え制限回数を考
慮したものではないため、特定の物理ブロックに対して
ファイルの書き込みが集中して該物理ブロックへの書き
込み発生回数が書き替え制限回数を越えるようなときに
は、ファイルシステムそのものが突然使用できなくなる
という欠点がある。なお、書き替え制限回数は、物理ブ
ロックに対してファイルの書き込みを正常に行える回数
の上限値のことである。
リ用ファイルシステムでは、上記書き替え制限回数を考
慮したものではないため、特定の物理ブロックに対して
ファイルの書き込みが集中して該物理ブロックへの書き
込み発生回数が書き替え制限回数を越えるようなときに
は、ファイルシステムそのものが突然使用できなくなる
という欠点がある。なお、書き替え制限回数は、物理ブ
ロックに対してファイルの書き込みを正常に行える回数
の上限値のことである。
【0007】また、ファイルシステムそのものが突然使
用できなくなる前に、フラッシュメモリを交換すればよ
いが、従来のファイルシステムではその交換時期を知る
こともできない。
用できなくなる前に、フラッシュメモリを交換すればよ
いが、従来のファイルシステムではその交換時期を知る
こともできない。
【0008】そこで本発明は、ファイルシステムが突然
使用できなくなることを防止するとともに、フラッシュ
メモリ自体の交換時期を判断できるフラッシュメモリ用
ファイルシステムの提供を目的としている。
使用できなくなることを防止するとともに、フラッシュ
メモリ自体の交換時期を判断できるフラッシュメモリ用
ファイルシステムの提供を目的としている。
【0009】
【課題を解決するための手段】本発明のフラッシュメモ
リ用ファイルシステムは、フラッシュメモリの物理ブロ
ック毎の書き込み発生回数を計数する物理ブロック書き
替えカウンタと、書き込み発生の度に物理ブロック書き
替えカウンタをインクリメントするとともに、そのカウ
ント値が書き込みを正常に行える書き替え保証回数を越
えるかどうかを判断する判断手段と、そのカウント値が
書き替え保証回数を越える場合には、物理ブロックに代
わる未使用の代替物理ブロックを、それに対応する論理
ブロックの使用状況から索出する索出手段6と、代替物
理ブロック数を計数する代替ブロックカウンタと、索出
手段により未使用の代替ブロックが索出されたとき、書
き込み発生回数が書き替え保証回数を越える物理ブロッ
クの内容を当該代替物理ブロックにコピーするととも
に、そのコピー元の物理ブロックへの書き込みを行わな
いように、対応テーブルに記述されている上記対応関係
を書き換え、更に代替ブロックカウンタをインクリメン
トする書換え手段とを有する。なお、書き替え保証回数
とは、書き替え制限回数以下であって、正常に書き込み
できることが保証される回数を意味する。
リ用ファイルシステムは、フラッシュメモリの物理ブロ
ック毎の書き込み発生回数を計数する物理ブロック書き
替えカウンタと、書き込み発生の度に物理ブロック書き
替えカウンタをインクリメントするとともに、そのカウ
ント値が書き込みを正常に行える書き替え保証回数を越
えるかどうかを判断する判断手段と、そのカウント値が
書き替え保証回数を越える場合には、物理ブロックに代
わる未使用の代替物理ブロックを、それに対応する論理
ブロックの使用状況から索出する索出手段6と、代替物
理ブロック数を計数する代替ブロックカウンタと、索出
手段により未使用の代替ブロックが索出されたとき、書
き込み発生回数が書き替え保証回数を越える物理ブロッ
クの内容を当該代替物理ブロックにコピーするととも
に、そのコピー元の物理ブロックへの書き込みを行わな
いように、対応テーブルに記述されている上記対応関係
を書き換え、更に代替ブロックカウンタをインクリメン
トする書換え手段とを有する。なお、書き替え保証回数
とは、書き替え制限回数以下であって、正常に書き込み
できることが保証される回数を意味する。
【0010】
【作用】本発明の作用は次の通りである。フラッシュメ
モリの物理ブロックに書き込みが発生すると、その書き
込み発生回数が各物理ブロック毎に物理ブロック書き替
えカウンタで計数されるとともに、そのカウント値が書
き込みを正常に行える書き替え保証回数を越えるかどう
かが判断される。
モリの物理ブロックに書き込みが発生すると、その書き
込み発生回数が各物理ブロック毎に物理ブロック書き替
えカウンタで計数されるとともに、そのカウント値が書
き込みを正常に行える書き替え保証回数を越えるかどう
かが判断される。
【0011】この判断の結果、上記カウント値が書き替
え保証回数を越える場合には、その物理ブロックに代わ
る未使用の代替物理ブロックが索出される。
え保証回数を越える場合には、その物理ブロックに代わ
る未使用の代替物理ブロックが索出される。
【0012】そして、代替ブロックカウンタがインクリ
メントされるとともに、上記書き込み発生回数が書き替
え保証回数を越える物理ブロックの記述内容が代替物理
ブロックにコピーされる。また、その物理ブロックへの
書き込みを行わないように、対応テーブルに記述されて
いる上記対応関係が書き換えられる。
メントされるとともに、上記書き込み発生回数が書き替
え保証回数を越える物理ブロックの記述内容が代替物理
ブロックにコピーされる。また、その物理ブロックへの
書き込みを行わないように、対応テーブルに記述されて
いる上記対応関係が書き換えられる。
【0013】
【実施例】本発明について図面を参照して説明する。図
1は、本発明の一実施例としてのフラッシュメモリ用フ
ァイルシステムの構成を示すブロック図である。
1は、本発明の一実施例としてのフラッシュメモリ用フ
ァイルシステムの構成を示すブロック図である。
【0014】本ファイルシステムは、CPU(Central
Processing Unit )Aと、メインメモリBと、不揮発性
読み書きメモリCと、フラッシュメモリDとを有してお
り、これらが共通のバスライン1を介して接続されてい
る。
Processing Unit )Aと、メインメモリBと、不揮発性
読み書きメモリCと、フラッシュメモリDとを有してお
り、これらが共通のバスライン1を介して接続されてい
る。
【0015】フラッシュメモリDは、図2に示すよう
に、その記憶領域が第1物理ブロックから第n物理ブロ
ックまでのn個の物理ブロックに区分されており、これ
らの各物理ブロックに、それぞれm個の論理ブロックが
対応している。
に、その記憶領域が第1物理ブロックから第n物理ブロ
ックまでのn個の物理ブロックに区分されており、これ
らの各物理ブロックに、それぞれm個の論理ブロックが
対応している。
【0016】なお、(n−1)*m+1〜(n−1)*
m+mは、第n物理ブロックに対応する論理ブロックの
数を表すとともに、それらの論理ブロックの番号を示し
ている。
m+mは、第n物理ブロックに対応する論理ブロックの
数を表すとともに、それらの論理ブロックの番号を示し
ている。
【0017】不揮発性読み書きメモリCは、たとえばバ
ックアップされたRAM(Random Access Memory)等で
あり、これには、上記物理ブロックと論理ブロックとの
対応関係を記述した物理ブロック論理ブロック対応テー
ブル(以下、対応テーブルという)2と、各物理ブロッ
ク毎の書き込み発生回数を計数する物理ブロック書替え
カウンタEと、代替ブロックカウンタ3とが記憶されて
いる。
ックアップされたRAM(Random Access Memory)等で
あり、これには、上記物理ブロックと論理ブロックとの
対応関係を記述した物理ブロック論理ブロック対応テー
ブル(以下、対応テーブルという)2と、各物理ブロッ
ク毎の書き込み発生回数を計数する物理ブロック書替え
カウンタEと、代替ブロックカウンタ3とが記憶されて
いる。
【0018】物理ブロック書替えカウンタEは、第1物
理ブロックから第n物理ブロックに対応してカウンタメ
モリE1〜Enが設けられており、これにより、各物理
ブロックの書き込み発生回数を計数するものである。
理ブロックから第n物理ブロックに対応してカウンタメ
モリE1〜Enが設けられており、これにより、各物理
ブロックの書き込み発生回数を計数するものである。
【0019】代替ブロックカウンタ3は、書き替え保証
回数を越えることとなる物理ブロックに代わる代替物理
ブロックの数を計数するものである。また、全体の物理
ブロック数nと、上記代替物理ブロックの計数値を参照
することで、使用可能な残りの物理ブロックの数を求め
ることができ、フラッシュメモリD自体の交換時期の判
断基準ともなる。
回数を越えることとなる物理ブロックに代わる代替物理
ブロックの数を計数するものである。また、全体の物理
ブロック数nと、上記代替物理ブロックの計数値を参照
することで、使用可能な残りの物理ブロックの数を求め
ることができ、フラッシュメモリD自体の交換時期の判
断基準ともなる。
【0020】メインメモリBには、プログラムであるフ
ァイルシステム本体4と、フラッシュメモリ読み書きド
ライバ5と、代替物理ブロック作成手段6とが記憶され
ている。
ァイルシステム本体4と、フラッシュメモリ読み書きド
ライバ5と、代替物理ブロック作成手段6とが記憶され
ている。
【0021】ファイルシステム本体4は、アプリケーシ
ョンソフトからの要求に基づき、必要な論理ブロック及
び当該論理ブロック内オフセットを算出して、フラッシ
ュメモリ読み書きドライバ5に読み出し・書き込みを依
頼する機能を有している。
ョンソフトからの要求に基づき、必要な論理ブロック及
び当該論理ブロック内オフセットを算出して、フラッシ
ュメモリ読み書きドライバ5に読み出し・書き込みを依
頼する機能を有している。
【0022】なお、ファイルシステム本体4は、ファイ
ルを作成する時、論理ブロック番号の小さい方から使用
するようにしている。従って、論理ブロックに対応する
物理ブロックも番号の小さい方から使用することにな
る。
ルを作成する時、論理ブロック番号の小さい方から使用
するようにしている。従って、論理ブロックに対応する
物理ブロックも番号の小さい方から使用することにな
る。
【0023】フラッシュメモリ読み書きドライバ5は、
次の機能を有している。 ファイルシステム本体4によって算出した論理ブロッ
ク及び当該論理ブロック内オフセットに基づいて上記不
揮発性メモリCに記憶されている対応テーブル2を参照
し、論理ブロック及び該論理ブロック内オフセットに対
応する物理ブロック及び該物理ブロック内オフセットを
求めるとともに、それらの物理ブロックに対して読み出
し・書き込みを行う機能。
次の機能を有している。 ファイルシステム本体4によって算出した論理ブロッ
ク及び当該論理ブロック内オフセットに基づいて上記不
揮発性メモリCに記憶されている対応テーブル2を参照
し、論理ブロック及び該論理ブロック内オフセットに対
応する物理ブロック及び該物理ブロック内オフセットを
求めるとともに、それらの物理ブロックに対して読み出
し・書き込みを行う機能。
【0024】各物理ブロック毎の書き込み発生の度
に、上記物理ブロック書替えカウンタEをインクリメン
トして書き込み発生回数を計数し、かつ、この書き込み
発生回数が書き替え保証回数を越えたかどうかを判断す
る判断手段としての機能。
に、上記物理ブロック書替えカウンタEをインクリメン
トして書き込み発生回数を計数し、かつ、この書き込み
発生回数が書き替え保証回数を越えたかどうかを判断す
る判断手段としての機能。
【0025】書き込み発生回数が書き替え保証回数を
越えたときには、その旨を後述する代替物理ブロック作
成手段6に通知する機能。
越えたときには、その旨を後述する代替物理ブロック作
成手段6に通知する機能。
【0026】代替物理ブロック作成手段6は、次の機能
を有している。 書き込み発生回数が書き替え保証回数を越える場合に
は、その物理ブロックに代わる未使用の代替物理ブロッ
クを索出する索出手段としての機能。
を有している。 書き込み発生回数が書き替え保証回数を越える場合に
は、その物理ブロックに代わる未使用の代替物理ブロッ
クを索出する索出手段としての機能。
【0027】未使用の代替物理ブロックは、たとえば該
代替物理ブロックのファイルアロケーションテーブル
(File Allocation Table )等を参照し、あるいは該代
替物理ブロックに対応している論理ブロックの使用状況
を確認することで未使用か否かを確認できる。
代替物理ブロックのファイルアロケーションテーブル
(File Allocation Table )等を参照し、あるいは該代
替物理ブロックに対応している論理ブロックの使用状況
を確認することで未使用か否かを確認できる。
【0028】書き込み発生回数が書き替え保証回数を
越える物理ブロックの記述内容を代替物理ブロックにコ
ピーするとともに、それ以後、その物理ブロックへの書
き込みを行わないように、対応テーブル2に記述されて
いる上記対応関係を書き換える書換え手段としての機
能。
越える物理ブロックの記述内容を代替物理ブロックにコ
ピーするとともに、それ以後、その物理ブロックへの書
き込みを行わないように、対応テーブル2に記述されて
いる上記対応関係を書き換える書換え手段としての機
能。
【0029】次に、上記システムの一連の動作につい
て、図3〜5を参照して説明する。アプリケーションソ
フトウェアは、ファイルにデータを書き込む場合、ファ
イルシステム本体4にファイルの書き込みを依頼する。
て、図3〜5を参照して説明する。アプリケーションソ
フトウェアは、ファイルにデータを書き込む場合、ファ
イルシステム本体4にファイルの書き込みを依頼する。
【0030】ファイルシステム本体4は、指定されたフ
ァイルから自分の管理している論理ブロックを決定し、
論理ブロック内の何処に書き込むか論理ブロック内オフ
セットを算出した後、書き込むべきデータと論理ブロッ
クと論理ブロック内オフセットをフラッシュメモリ読み
書きドライバ5に渡すことで、書き込みの依頼をする。
ァイルから自分の管理している論理ブロックを決定し、
論理ブロック内の何処に書き込むか論理ブロック内オフ
セットを算出した後、書き込むべきデータと論理ブロッ
クと論理ブロック内オフセットをフラッシュメモリ読み
書きドライバ5に渡すことで、書き込みの依頼をする。
【0031】上記フラッシュメモリ読み書きドライバ5
の処理動作は、次のようになる。 ステップ1(図中、S1と略記する。以下同様):対応
テーブル2を参照して、論理ブロック及び該論理ブロッ
ク内オフセットで特定される論理ブロック及び該論理ブ
ロック内書き込みアドレスを求め、さらに、これらに対
応する物理ブロック及び該物理ブロック内書き込みアド
レスを求める。
の処理動作は、次のようになる。 ステップ1(図中、S1と略記する。以下同様):対応
テーブル2を参照して、論理ブロック及び該論理ブロッ
ク内オフセットで特定される論理ブロック及び該論理ブ
ロック内書き込みアドレスを求め、さらに、これらに対
応する物理ブロック及び該物理ブロック内書き込みアド
レスを求める。
【0032】ステップ2:書き込みの発生した物理ブロ
ックの書き込み発生回数が、書き替え保証回数以下であ
るかどうかを判断し、書き替え保証回数以下であればス
テップ3に進み、書き替え保証回数を越えるときにはス
テップ6に進む。
ックの書き込み発生回数が、書き替え保証回数以下であ
るかどうかを判断し、書き替え保証回数以下であればス
テップ3に進み、書き替え保証回数を越えるときにはス
テップ6に進む。
【0033】ステップ3:上記物理ブロックに対応する
物理ブロック書替えカウンタのカウンタメモリをインク
リメントする。
物理ブロック書替えカウンタのカウンタメモリをインク
リメントする。
【0034】ステップ4:その物理ブロックのブロック
内書き込みアドレスに指定データを書き込む。 ステップ5:書き込みとして処理を終了する。
内書き込みアドレスに指定データを書き込む。 ステップ5:書き込みとして処理を終了する。
【0035】ステップ6:後述する代替物理ブロック作
成手段6を呼び出して、代替処理を行う。
成手段6を呼び出して、代替処理を行う。
【0036】ステップ7:代替処理が成功であればステ
ップ1に戻り、失敗であればステップ8に進む。 ステップ8:書き込みエラーとして終了する。
ップ1に戻り、失敗であればステップ8に進む。 ステップ8:書き込みエラーとして終了する。
【0037】上記ステップ6における代替物理ブロック
作成手段6の処理動作は、次のようになる。 ステップ9:未使用の代替物理ブロックを索出する。
作成手段6の処理動作は、次のようになる。 ステップ9:未使用の代替物理ブロックを索出する。
【0038】ステップ10:代替物理ブロックが見つか
ればステップ11に進む。また、見つからなければステ
ップ16に進み、代替処理失敗として処理を終了する。
ればステップ11に進む。また、見つからなければステ
ップ16に進み、代替処理失敗として処理を終了する。
【0039】ステップ11:その代替物理ブロックに対
応している論理ブロックの使用状況をファイルシステム
本体4に問い合わせる。
応している論理ブロックの使用状況をファイルシステム
本体4に問い合わせる。
【0040】ステップ12:その代替物理ブロックに対
応している論理ブロックが使用されていなければステッ
プ13に進む。また、使用されていればステップ1に戻
って、次の代替物理ブロックを見つける。
応している論理ブロックが使用されていなければステッ
プ13に進む。また、使用されていればステップ1に戻
って、次の代替物理ブロックを見つける。
【0041】ステップ13:対応テーブル2を書き替え
る。 対応テーブル2の書き替え処理の具体例としては、次の
ようになる。たとえば、第1物理ブロック〜第n物理ブ
ロックの書き込み発生回数がすべて書き替え保証回数以
下であった場合には、図2に示すように、第1物理ブロ
ックから第n物理ブロックにそれぞれm個の論理ブロッ
クが対応し、これにより第n物理ブロックには論理ブロ
ック(n−1)*m+1〜(n−1)*m+mが対応し
ている。
る。 対応テーブル2の書き替え処理の具体例としては、次の
ようになる。たとえば、第1物理ブロック〜第n物理ブ
ロックの書き込み発生回数がすべて書き替え保証回数以
下であった場合には、図2に示すように、第1物理ブロ
ックから第n物理ブロックにそれぞれm個の論理ブロッ
クが対応し、これにより第n物理ブロックには論理ブロ
ック(n−1)*m+1〜(n−1)*m+mが対応し
ている。
【0042】そして、度重なる書き替えの結果、たとえ
ば上記第1物理ブロックの書き込み発生回数が書き替え
保証回数を越えることになったときに、論理ブロック
(n−1)*m+1〜(n−1)*m+mが未使用であ
る場合、いままで第1物理ブロックに対応していた論理
ブロック1〜mを、第n物理ブロックに対応させるとと
もに、それまで第n物理ブロックに対応していた論理ブ
ロック(n−1)*m+1〜(n−1)*m+mに対応
する物理ブロックを無しとして、対応テーブル2の記述
内容を書き替える。
ば上記第1物理ブロックの書き込み発生回数が書き替え
保証回数を越えることになったときに、論理ブロック
(n−1)*m+1〜(n−1)*m+mが未使用であ
る場合、いままで第1物理ブロックに対応していた論理
ブロック1〜mを、第n物理ブロックに対応させるとと
もに、それまで第n物理ブロックに対応していた論理ブ
ロック(n−1)*m+1〜(n−1)*m+mに対応
する物理ブロックを無しとして、対応テーブル2の記述
内容を書き替える。
【0043】ステップ14:代替ブロックカウンタ3を
インクリメントする。 ステップ15:代替処理成功として処理を終了する。
インクリメントする。 ステップ15:代替処理成功として処理を終了する。
【0044】なお、本発明は前述した実施例に限るもの
ではなく、その要旨の範囲内で様々に変形実施が可能で
ある。
ではなく、その要旨の範囲内で様々に変形実施が可能で
ある。
【0045】
【発明の効果】本発明によれば、書き込み回数が書き替
え制限回数になる前に、その物理ブロックに代えて他の
未使用の物理ブロックを使用できるので、ファイルシス
テムが突然使用できなくなることを防止することができ
る。
え制限回数になる前に、その物理ブロックに代えて他の
未使用の物理ブロックを使用できるので、ファイルシス
テムが突然使用できなくなることを防止することができ
る。
【0046】また、全体の物理ブロック数が既知である
ので、代替物理ブロックの計数値、すなわち、使用不可
能となった物理ブロック数を参照することで、使用可能
な残りの物理ブロック数を明らかにすることができ、こ
れにより、フラッシュメモリの交換時期を予想すること
ができる。
ので、代替物理ブロックの計数値、すなわち、使用不可
能となった物理ブロック数を参照することで、使用可能
な残りの物理ブロック数を明らかにすることができ、こ
れにより、フラッシュメモリの交換時期を予想すること
ができる。
【図1】本発明フラッシュメモリ用ファイルシステムの
一実施例の構成を示すブロック図である。
一実施例の構成を示すブロック図である。
【図2】全ての物理ブロックの書き込み発生回数が、書
き替え保証回数以下であるときの、論理ブロックと物理
ブロックの対応関係を示す説明図である。
き替え保証回数以下であるときの、論理ブロックと物理
ブロックの対応関係を示す説明図である。
【図3】代替物理ブロックとして、第n物理ブロックを
論理ブロック1〜mに対応された状態を示す説明図であ
る。
論理ブロック1〜mに対応された状態を示す説明図であ
る。
【図4】フラッシュメモリ書込みドライバの処理動作を
示すフローチャートである。
示すフローチャートである。
【図5】代替物理ブロック作成手段の処理動作を示すフ
ローチャートである。
ローチャートである。
2 対応テーブル 3 代替ブロックカウンタ 5 フラッシュメモリ読み書きドライバ(判断手
段) 6 代替物理ブロック作成手段(索出手段、書換
え手段) D フラッシュメモリ E 物理ブロック書き替えカウンタ
段) 6 代替物理ブロック作成手段(索出手段、書換
え手段) D フラッシュメモリ E 物理ブロック書き替えカウンタ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G11C 29/00 303 G11C 17/00 309F (56)参考文献 特開 平7−105691(JP,A) 特開 平6−95955(JP,A) 特開 平4−317149(JP,A) 特開 平7−56780(JP,A) 特開 平7−36759(JP,A) 米国特許5388083(US,A) 米国特許5404485(US,A) 「日経エレクトロニクス」NO.547 (1992−2−17)
Claims (1)
- 【請求項1】 記憶領域が複数の物理ブロックに区分さ
れているフラッシュメモリを有し、その各物理ブロック
とこれらに対応する論理ブロックとの対応関係を記述し
た対応テーブルを参照して、上記各物理ブロックに論理
ブロックの内容を書き込むフラッシュメモリ用ファイル
システムにおいて、物理ブロック毎の書き込み発生回数
を計数する物理ブロック書き替えカウンタと、書き込み
発生の度に上記物理ブロック書き替えカウンタをインク
リメントするとともに、そのカウント値が書き込みを正
常に行える書き替え保証回数を越えるかどうかを判断す
る判断手段と、上記カウント値が書き替え保証回数を越
える場合には、上記物理ブロックに代わる未使用の代替
物理ブロックを、それに対応する論理ブロックの使用状
況から索出する索出手段と、代替物理ブロック数を計数
する代替ブロックカウンタと、上記索出手段により未使
用の代替ブロックが索出されたとき、上記書き込み発生
回数が書き替え保証回数を越える物理ブロックの内容を
当該代替物理ブロックにコピーするとともに、そのコピ
ー元の物理ブロックへの書き込みを行わないように、対
応テーブルに記述されている上記対応関係を書き換え、
更に上記代替ブロックカウンタをインクリメントする書
換え手段とを設けたことを特徴とするフラッシュメモリ
用ファイルシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9581995A JP2671860B2 (ja) | 1995-03-30 | 1995-03-30 | フラッシュメモリ用ファイルシステム |
US08/621,506 US5633824A (en) | 1995-03-30 | 1996-03-25 | File system for flash memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9581995A JP2671860B2 (ja) | 1995-03-30 | 1995-03-30 | フラッシュメモリ用ファイルシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08272664A JPH08272664A (ja) | 1996-10-18 |
JP2671860B2 true JP2671860B2 (ja) | 1997-11-05 |
Family
ID=14148028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9581995A Expired - Lifetime JP2671860B2 (ja) | 1995-03-30 | 1995-03-30 | フラッシュメモリ用ファイルシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US5633824A (ja) |
JP (1) | JP2671860B2 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3507132B2 (ja) * | 1994-06-29 | 2004-03-15 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
US5745418A (en) * | 1996-11-25 | 1998-04-28 | Macronix International Co., Ltd. | Flash memory mass storage system |
JP2001014870A (ja) * | 1999-06-29 | 2001-01-19 | Nec Corp | フラッシュメモリ搭載マイクロコンピュータ及び書き換え回数管理方法 |
US6426893B1 (en) | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
CN1305100C (zh) * | 2001-07-26 | 2007-03-14 | 皇家菲利浦电子有限公司 | 测量扫描电子显微镜的性能的方法 |
US7246268B2 (en) * | 2002-01-16 | 2007-07-17 | Sandisk Corporation | Method and apparatus for dynamic degradation detection |
JP4073799B2 (ja) * | 2003-02-07 | 2008-04-09 | 株式会社ルネサステクノロジ | メモリシステム |
US7702935B2 (en) * | 2006-01-25 | 2010-04-20 | Apple Inc. | Reporting flash memory operating voltages |
US7861122B2 (en) * | 2006-01-27 | 2010-12-28 | Apple Inc. | Monitoring health of non-volatile memory |
US7966355B2 (en) * | 2007-02-13 | 2011-06-21 | Modu Ltd. | Interface for extending functionality of memory cards |
US20080288712A1 (en) * | 2007-04-25 | 2008-11-20 | Cornwell Michael J | Accessing metadata with an external host |
US7913032B1 (en) | 2007-04-25 | 2011-03-22 | Apple Inc. | Initiating memory wear leveling |
US9280466B2 (en) | 2008-09-09 | 2016-03-08 | Kabushiki Kaisha Toshiba | Information processing device including memory management device managing access from processor to memory and memory management method |
JP2010123009A (ja) * | 2008-11-21 | 2010-06-03 | Kyocera Mita Corp | 情報管理装置および情報管理方法 |
TW201025002A (en) * | 2008-12-26 | 2010-07-01 | Asmedia Technology Inc | Method of writing data into flash memory based on file system |
CN101533670B (zh) * | 2009-04-23 | 2012-05-02 | 北京握奇数据***有限公司 | 实现存储设备损耗均衡的方法及存储设备 |
JP2011186554A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
JP2011186555A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
JP2011186562A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
JP2011186561A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置 |
CN102135942B (zh) * | 2010-12-31 | 2013-04-24 | 北京握奇数据***有限公司 | 一种存储设备中实现损耗均衡的方法及存储设备 |
CN103064792A (zh) * | 2012-12-26 | 2013-04-24 | 北京创毅讯联科技股份有限公司 | 数据写入方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5388083A (en) | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
US5404485A (en) | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5065364A (en) * | 1989-09-15 | 1991-11-12 | Intel Corporation | Apparatus for providing block erasing in a flash EPROM |
JPH04328394A (ja) * | 1991-04-26 | 1992-11-17 | Fujitsu Ltd | ファイル記憶用メモリ |
JPH05173871A (ja) * | 1991-12-25 | 1993-07-13 | Ricoh Co Ltd | メモリカードファイル管理方法 |
-
1995
- 1995-03-30 JP JP9581995A patent/JP2671860B2/ja not_active Expired - Lifetime
-
1996
- 1996-03-25 US US08/621,506 patent/US5633824A/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404485A (en) | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
US5388083A (en) | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
Non-Patent Citations (1)
Title |
---|
「日経エレクトロニクス」NO.547(1992−2−17) |
Also Published As
Publication number | Publication date |
---|---|
JPH08272664A (ja) | 1996-10-18 |
US5633824A (en) | 1997-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2671860B2 (ja) | フラッシュメモリ用ファイルシステム | |
US6381176B1 (en) | Method of driving remapping in flash memory and flash memory architecture suitable therefor | |
TWI703438B (zh) | 映射表更新方法 | |
US6839823B1 (en) | Increased reliability of data stored on flash memory in applications sensitive to power-loss | |
JP3078946B2 (ja) | 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置 | |
US6865658B2 (en) | Nonvolatile data management system using data segments and link information | |
EP0544252B1 (en) | Data management system for programming-limited type semiconductor memory and IC memory card having the data management system | |
US5832493A (en) | Flash file management system | |
USRE45222E1 (en) | Method of writing of writing to a flash memory including data blocks and log blocks, using a logical address having a block address portion and page identifying portion, a block address table and a page table | |
US20080120488A1 (en) | Apparatus and method of managing nonvolatile memory | |
US20010023472A1 (en) | Data storage control method and apparatus for external storage device using a plurality of flash memories | |
JP4046877B2 (ja) | 一括消去型不揮発性メモリおよび携帯電話 | |
JP2846739B2 (ja) | Eepromメモリの安全更新方法 | |
JP2003532222A (ja) | 記憶媒体上のデータ管理のための方法、システム、及びコンピュータプログラム | |
CN114237984A (zh) | 异常掉电下Trim数据的恢复方法、***及固态硬盘 | |
CN112988611A (zh) | 非易失性存储器的数据写入方法、终端和可读存储介质 | |
JP4158526B2 (ja) | メモリカード及びメモリへのデータ書き込み方法 | |
JP4242245B2 (ja) | フラッシュrom制御装置 | |
CN116540950B (zh) | 一种存储器件及其写入数据的控制方法 | |
JP3808842B2 (ja) | 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法 | |
CN113703671B (zh) | 一种数据块擦除方法及相关装置 | |
JP3303011B2 (ja) | 半導体メモリ装置 | |
JP2003050747A (ja) | 不揮発性メモリのデータ書き換え方法 | |
US20220164135A1 (en) | Apparatus, method and computer program for managing memory page updates within non-volatile memory | |
JPH02165354A (ja) | 補助記憶装置 |