JPH08235880A - フラッシュメモリのメモリ管理方法 - Google Patents

フラッシュメモリのメモリ管理方法

Info

Publication number
JPH08235880A
JPH08235880A JP25542395A JP25542395A JPH08235880A JP H08235880 A JPH08235880 A JP H08235880A JP 25542395 A JP25542395 A JP 25542395A JP 25542395 A JP25542395 A JP 25542395A JP H08235880 A JPH08235880 A JP H08235880A
Authority
JP
Japan
Prior art keywords
block
segment
segments
marked
file
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.)
Pending
Application number
JP25542395A
Other languages
English (en)
Inventor
Dieter Kopp
ディター・コップ
Juergen Sienel
ユルゲン・ジーネル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel Lucent NV
Original Assignee
Alcatel NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from DE4442127A external-priority patent/DE4442127A1/de
Application filed by Alcatel NV filed Critical Alcatel NV
Publication of JPH08235880A publication Critical patent/JPH08235880A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/64Automatic arrangements for answering calls; Automatic arrangements for recording messages for absent subscribers; Arrangements for recording conversations
    • H04M1/65Recording arrangements for recording a message from the calling party
    • H04M1/6505Recording arrangements for recording a message from the calling party storing speech in digital form
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation
    • Y10S707/99957Garbage collection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【目的】使用可能な記憶場所の高い作業負荷をもたら
し、かつユーザに簡易なメモリ管理方法を提供する。 【構成】任意のセグメントで始まるファイル形式のデー
タをセグメント毎に記憶し、消去に対応するデータファ
イルをセグメント毎にマ−ク付けするステップと、各ブ
ロックの消去マーク付きセグメンの数、非マークの使用
セグメントの数および未使用セグメントの数が決定され
ることによって、フラッシュメモリの実際の使用率を決
定するステップと、前記使用率が閾値を越えた後にメモ
リ最適化を実行するステップとでなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フラッシュメモリ
構成素子のメモリ管理法に関する。
【0002】
【従来の技術】従来の技術からは、特にデジタル式留守
番電話への適用において、いわゆるフラッシュメモリが
公知である。フラッシュメモリは連続的な線形デ−タメ
モリである。例えばインテル社の公知のフラッシュメモ
リの場合には、サイズの異なる7つのブロックに分割さ
れた4Mビットメモリがある。AMD社のメモリは8つ
のブロックに分割されている。インテル社のフラッシュ
メモリは4つの同一の大きさのブロックに纏められる。
こうした2つのブロックでは、ブロック毎に消去するこ
としかできない。最大の記憶時間が約15分、分割が4
つのブロックであるとき、このことは、1個のブロック
当たり3分以上記憶されていることを意味する。従っ
て、1個のブロック全部を消去するためには、この3分
間に記憶されたすべてのメッセ−ジを消去しなければな
らない。
【0003】この場合の欠点は、すべてのメッセ−ジを
消去しなければならないこと、更に、ブロックのその時
々の新たな書込み及び消去がメモリの寿命を縮めてしま
うことである。通常のフラッシュメモリはブロック当た
り100.000回の書込み/消去サイクルという平均
寿命を有する。
【0004】
【発明が解決しようとする課題】本発明の課題は、使用
可能な記憶場所への高密度記憶が可能であるフラッシュ
メモリ管理方法を提供することである。
【0005】本発明の他の課題は、高密度記憶以外に
も、ユ−ザに簡便なフラッシュメモリ管理方法を提供す
ることである。
【0006】
【課題を解決するための手段】この発明によると、ブロ
ックに分割され、このブロックが複数のセグメントに更
に分割されているフラッシュメモリの管理方法であっ
て、任意のセグメントで始まるファイル形式のデータを
セグメント毎に記憶し、消去に対応するデータファイル
をセグメント毎にマ−ク付けするステップと、各ブロッ
クの消去マーク付きセグメンの数、非マークの使用セグ
メントの数および未使用セグメントの数が決定されるこ
とによって、フラッシュメモリの実際の使用率を決定す
るステップと、前記使用率が閾値を越えた後にメモリ最
適化を実行するステップとでなるフラッシュメモリ管理
方法が提供される。
【0007】この発明によると、ブロックに分割され、
該ブロックが複数のセグメントに更に分割されるフラッ
シュメモリを駆動するためのプログラムモジュ−ルであ
って、各ブロックの未使用セグメントの数、消去マーク
付き使用セグメントの数及び非マ−クの使用セグメント
の数により決まる、前記フラッシュメモリの許容使用率
を検出し、それからメモリ最適化を制御命令により実施
し、制御命令によって、ファイルで使用されているセグ
メントをシフトさせ、制御命令によって、残存の消去マ
−ク付き使用セグメントを消去し、または非マ−クの使
用セグメントを有しないブロックを検出し、それから検
出ブロックを制御命令によって消去し、または非マーク
の使用セグメントが最小数であるブロックを検出し、そ
れから検出ブロックを制御命令によって他のブロックの
未使用のセグメントへコピ−し、または非マークの使用
セグメントが最小数であるブロックを検出し、それから
検出ブロックを制御命令によってマーク付きセグメント
に一時記憶し、それから検出ブロックの消去後に再び再
構成し、または他の制御命令によりユ−ザに問合わせを
行ない、これによりユ−ザが消去すべきファイルにマ−
ク付けできることを特徴とするプログラムモジュ−ルが
提供される。
【0008】この発明によると、特に留守番電話におい
て音声のメッセ−ジを記憶するために使用されるプログ
ラムモジュールが提供される。
【0009】この発明によると、ブロックに分割し、該
ブロックが複数のセグメントに更に分割されているフラ
ッシュメモリの駆動方法であって、各ブロックの消去マ
−ク付き使用セグメントの数、非マ−クの使用セグメン
トの数および未使用のセグメントの数により決まる使用
率が閾値を越えた後に、非マークの使用セグメントが最
小数であるブロックを検出するステップと、この検出ブ
ロックの非マークの使用セグメントを論理演算によって
他のブロックの消去マーク付きセグメントに重ね書きす
るステップと、前記検出ブロックを消去できるステップ
とでなるフラッシュメモリ駆動方法が提供される。
【0010】この発明によると、論理演算は、非マーク
の使用セグメントのデ−タと消去マ−ク付きセグメント
のデ−タとの論理AND演算または論理OR演算によっ
て行い、非マークの使用セグメントのデータと他の消去
マーク付きセグメントのデータとを少なくとも終端基準
が満たされるまで論理演算する少なくとも1つの他の論
理演算を行い、終端基準は少なくとも1ビット値の繰り
返しが1ビット位置の1セグメントにおいて生じること
によって決定する。
【0011】本発明の利点は、すべてのブロックにおい
て書込み/消去サイクルが用いられるので、ブロックの
消去が最適化に直接的に影響する。
【0012】更に、本発明の利点は、メモリ内での再コ
ピ−よる最適化によって、使用中のメモリに新たなメッ
セ−ジを書き込むことができるための時間を非常に短く
保つことである。
【0013】
【発明の実施の形態】以下、図1を参照して本発明の実
施例を詳細に説明する。フラッシュメモリは複数のブロ
ックに分割されている。これらのブロックは更に多数の
セグメントに分割される。ファイルの形式のデ−タは、
本発明では、任意のセグメントで始まってセグメント毎
にフラッシュメモリに記憶される。これらの対応のファ
イルを消去するために、該ファイルにセグメント毎にマ
−クが付される。しかし、ブロック毎にしかファイルを
消去できない。
【0014】例として、以下に、4つのブロックに分割
されたフラッシュメモリにつて説明する。他の可能性と
しては、フラッシュメモリを8つのブロックに分割する
ことも、16のブロックに分割することも同様にでき
る。どれにするかは各々の半導体メ−カ次第である。こ
こに選択した、4つのブロックを有する例では、第1の
ステップでは、フラッシュメモリの実際の使用率を決め
る。この使用率は、各々のブロックのうちの、未使用セ
グメントの数、消去マ−ク付き使用セグメントの数及び
非マ−クの使用セグメントの数を決めることによって決
定できる。個々のブロックの使用率及び全部のフラッシ
ュメモリの使用率により、これらの使用率が閾値を越え
た後に、メモリの最適化が行われる。この場合、閾値
は、例えば調節可能な経験的に算出された値であり、使
用率に応じて異なった、すなわち可変の閾値を設定する
ことも考えられる。
【0015】メモリの使用率が閾値より上にあれば、メ
モリを最適化せよという要求がある。本発明の構成によ
ると、この最適化は、非マ−クの使用データファイルを
メモリのときどきの未使用端の方向にシフトすることに
よって行われる。すなわち、最初のブロックに残ってい
るマ−ク付けデータファイルをブロック毎に消去する。
データファイルをシフトできない場合には、ステップ4
において、非マ−クの使用セグメントが存在しない1つ
の完全なブロックがあるか否かが検出される。それか
ら、そのブロック全体が消去される。
【0016】完全に消去可能なフラッシュメモリ内にブ
ロックが全くない場合には、非マ−クの使用セグメント
が最小数であるブロックが検出される。1つのデータフ
ァイルに属する非マークの使用セグメントが他のブロッ
クの未使用領域にコピーされる(ステップ5)。それか
ら、予め検出したブロックが消去される。上述のケース
では、再コピーされるデータファイルが、未使用の領域
に完全に納められる、つまり全体として纏まっているこ
とが前提である。
【0017】セグメントを、他のブロックの未使用の領
域に再コピ−する可能性がない場合には、次のステップ
6において、非マークの使用セグメントが最小数である
ブロックが再度検出される。続いて、検出ブロックのこ
れらセグメントが他のブロックのマ−ク領域に一時記憶
される。その後、先の検出ブロックが完全に消去され、
一時記憶デ−タが完全に未使用のブロックに再び書き込
まれる。
【0018】本発明によると、4つのステップ3、4、
5、6のうちの1が記憶最適化のために実行される場
合、再度、使用率が決められ、閾値の比較が行なわれる
(ステップ1)。
【0019】前述のステップが実行されなく、最適化が
できない場合には、ユ−ザへの問合わせが新たなステッ
プ7において行なわれる。この場合、ユーザに消去のた
めに追加的にマ−ク付けされるべきデータファイルが問
い合わされる。問合わせに対して、ユ−ザが肯定的な回
答を与え、また消去可能なデータファイルを決定する
と、ユーザは再度ステップ1で続行し得る。ユ−ザが別
のセグメントを消去することを望まない場合には、中断
され、新たなデータファイルは記憶できない。
【0020】以下、図2を参照して、長い複数のセグメ
ントを有するデータファイルの実施例を説明する。各デ
ータファイルIの頭にはファイル見出しラベル0000
0があり、これらは例えば0で占められている。第2の
データファイルIIとしては、各データファイルの頭
に、セグメント見出しラベル例えば10000がある。
まだ、データファイルに属している第2のセグメントの
頭には、セグメント見出しラベル10000が二度設け
られる。このラベルは新たなセグメント毎にこのような
形態で作成される。新たなファイルIの頭のために、再
度、新たなファイル見出しラベル00000が設けられ
る。従って、存在するデータファイルがどの位の長さで
あるかは明らかである。
【0021】更に、他の領域IIIの領域のデータファ
イルの頭には、例えば、その終端まで現存データファイ
ルの全長が示されている。選択的には、データファイル
の事項の日付、年号及び時刻が取り込める。その後、記
憶すべきデ−タが1つまたは複数の残存領域に記憶され
る。それによって、どのセグメントが使用されているか
が明確に確定される。データファイルを消去するために
マ−ク付けされ、例えば、すべてのセグメント見出しラ
ベルIIに、同様に零、すなわち0000が挿入され
る。従って、そこにまだ記憶されているデ−タが消去可
能であることが明確に確定されている。セグメント見出
しラベルIIにおいては、デ−タのどの形態がそこに記
憶されているかがコードによって確定される。例えばP
CMデ−タ又はADPCMデ−タ等がコ−ド01000
又は00100によって表わされる。
【0022】以下に、フラッシュメモリを作動させるた
めのプログラムモジュ−ルを(図を参照することなく)
説明する。フラッシュメモリは同様にブロックに分割さ
れ、該ブロックは再度多数のセグメントに分割されてい
る。同様に、各ブロックの未使用セグメントの数、消去
用マ−ク付きの使用セグメントの数及び非マークの使用
セグメントの数によって決定されるフラッシュメモリの
許容使用率が検出される。次に、メモリの最適化が以下
の制御命令によって行なわれる。ある制御命令によっ
て、データファイルから使用セグメントをシフトするこ
とが指示され、他の制御命令によって、消去マ−ク付き
の残りの使用セグメントを有するブロックが消去され
る。これが実行できない場合には、非マ−クの使用セグ
メントが存在しないブロックが検出されなく、ある制御
命令により命令されると、ブロック全体が消去される。
このことが同様に不可能である場合には、非マ−クの使
用セグメントが最小数であるブロックが検出される。
【0023】このブロックは、他の制御命令によって指
示され、他のブロックのマ−ク付きセグメントに一時記
憶される。このブロックは消去され、消去後に、一時記
憶されたセグメントが再びブロック内で再構成される。
これが同様に実行されない場合には、マ−ク付き使用セ
グメントが最小数であるブロックが検出される。このと
き、制御命令によって、非マ−クの使用セグメントが再
コピ−される。しかし、これは、全データファイルをフ
リーメモリ領域に再コピ−できる場合のみに行える。こ
こでも、このような最適化が可能でない場合には、他の
制御命令によってユ−ザへの問合わせが行われる。この
問合わせの際には、ユ−ザは消去すべきファイルに追加
的にマ−クを付けることができる。
【0024】プログラムモジュ−ルの幅広い利用とし
て、例えば、音声のメッセ−ジを留守番電話に記憶する
ことが考えられる。例えば、ここで用いられるフラッシ
ュメモリによって、例えば、合計15分の時間まで、多
数のメッセ−ジを記憶することができる。この場合、し
ばしば、メッセ−ジを消去して、他のメッセ−ジを長期
間保存したいという願望もある。
【0025】以下、図3(a) を参照して1実施例を詳
細に説明する。ここに選択された例では、フラッシュメ
モリは4つのブロックA、B、C、Dを有する。消去可
能なセグメントのマ−ク付き領域は、図では、短い垂直
の線(||||)によって示されている。マ−ク付けさ
れてなく、新たに記憶されているセグメントは、長い水
平線によって示されている。本発明によると、同種類の
一連のファイルは(日付、時間のように)データファイ
ルの最初のセグメントの頭に設けられた付加情報の内容
によって判定される。
【0026】第1のブロックAには5つの異なったデー
タファイル1、2、3、4、5が記憶されている。第2
のブロックBには第5のデータファイル5の端のみが認
められる。例えばデータファイル2及び4が消去のため
にマ−ク付けされるとすれば(図3(a)、2´、4´
を参照)、データファイル3からデータファイル2が、
データファイル5からデータファイル3が発生される。
データファイルをΔtだけシフトしようとする場合に
は、非マ−クのデータファイル1、2、3が第4のブロ
ックDにおいてメモリの端へシフトされる。データファ
イルの特徴が既述のように変更される。5から3が、3
から2が発生し、1が残る。かくして、データファイル
1、2、3は、シフト後に、後ろから見て3、2、1の
順番で最後のブロックDに置かれる。第1のブロックA
のマ−ク付きデータファイルがこのブロック内おいて消
去される。従って、再度3つのフリーブロックがA、B
及びCを扱うための新たな記憶のためのものとなる。デ
ータファイルの形態での新たなメッセ−ジが再度ブロッ
クAに書き込まれる。
【0027】以下、図3(b)を参照して、全ブロック
の消去を説明する。種々のデータファイルが存在する。
ブロックAには5つのデータファイル2、3、4、5、
6がある。これらのうち、データファイル3は消去のた
めにマ−ク付けされる(3´)。ブロックBには2つの
データファイル5及び1があり、両者は消去のためにマ
−ク付けされている(5´、1´)。さらに、未使用ブ
ロックがある。ブロックDには、保存されるべきデータ
ファイル7、8が存在する。ブロックBが消去可能であ
ることが確定される。消去のために、例えば、ブロック
の未使用部分が同様にマ−クを付けされ、続いてそのブ
ロックが消去される。その後、Δtでは、ブロックA及
びDだけデ−タが存在する。この場合、2が1に、4が
2に、6が3に、7が4に、8が5に変わった。ブロッ
クB及びCはフリーとなる。
【0028】以下、図4(a)を参照して、データファ
イルを他のブロックにコピ−することを説明する。非マ
ークの使用セグメントが最小数であるブロックはどれで
あるかが検出される。この場合では、この条件当てはま
るブロックはブロックCである。このブロックCに存在
し、マ−ク付けされていないデータファイル7がブロッ
クBのフリー領域へ再コピ−される(番号付替えの後、
4)。ブロックCの残存領域は消去のためにマ−ク付け
され、(Δt)で、領域は再び完全にフリーとなる。
【0029】以下、図面4(b)を参照してデータファ
イルの一時記憶の1例を説明する。
【0030】ここにある例では、非マークの使用セグメ
ントが最小数であるブロックが同様に検出される。ここ
ではこのブロックにはブロックCが当て嵌まる。ブロッ
クの消去を実行できるように、(番号付替えの後)マ−
ク付けされていないデータファイル5を取り出そうとす
る試がなされる。データファイルが再コピーできる未使
用領域がもはや存在しない。従って、消去マ−ク付きデ
ータファイル2の領域にデータファイル5を一時記憶す
る試みがなされる。この試みが不十分であり、かくし
て、データファイルの残り部分は、例えばブロックBに
おいて、(3と5´の間の)未使用の領域及びマ−ク付
けされた領域5´に一時記憶される。その後、ブロック
が消去される。続いて(Δt)で、データファイル5が
現在の“空き”ブロックに再構成される。
【0031】上述した例は、一例にすぎず、完全さに対
する請求をするものではない。
【0032】次に、請求項13に従った発明を以下の例
を参照して説明する。
【0033】4つのブロックの各々の未使用セグメント
の数、消去マ−ク付きの使用セグメントの数及び非マ−
クの使用セグメントの数が決定されることによって、4
つのブロックに区分されるフラッシュメモリの使用率が
決められる。
【0034】使用率が閾値を越えると、非マークの使用
セグメントが最小数であるブロックが決定される。
【0035】他のステップでは、他のブロックの消去マ
−ク付きセグメントに重ね書きするために、非マークの
使用セグメントが組み合わされる。
【0036】次に、このような評価は、任意のデ−タを
選択した例に基づいて説明する。この例の基礎は、特に
音声デ−タの場合に0と1の均等分布が生じることにあ
る。
【0037】消去マ−ク付きセグメントが存在する他の
ブロックにおいては、デ−タがまだセグメントに書き込
まれていることを意味する。これに従って、これらのデ
−タは例えば以下のように16進表示及び2進表示で記
される。
【0038】 16進 2進 83 1000 0011 02 0000 0000 00 0000 0000 BA 1011 1010 57 0101 0111 1A 0001 1010 OF 0000 1111 ED 1110 1101 22 0010 0010 D5 1101 0101 D2 1101 0010 ・ ・ ・ ・ (表1) 非マ−クの使用セグメントのデ−タは、例えば 16進 2進 15 0001 0101 (表2) これらのデ−タを重ね書きすることが重要である。
【0039】以下、消去マ−ク付きデ−タが、論理演
算、例えばANDによって、非マークの使用デ−タと結
合される。
【0040】
【数1】 これによっても、デ−タはまだ完全に重ね書きされたの
ではない。何故ならば、0000 0001 は0001 0101 に対応
していないか、又は部分的にしか対応していなからであ
る。従って、完全に重ね書きできるまで、さらの論理演
算が必要である。
【0041】このため、消去マ−ク付きセグメントが存
在する次のデータに、新たな論理演算、ここでは同様に
ANDが使用される。
【0042】
【数2】 これは注釈なし。
【0043】更に、
【数3】 この結果、以下のようになる。
【0044】
【数4】 これは注釈しているが、式I、II及びIIIと共に、
0001 0101 の完全なデ−タにまだ対応していない。
【0045】更に、
【数5】 以下、表で、これまで重ね書きしたデ−タに関する概観
が示されている。この場合、左欄には、重ね書きすべき
デ−タがあり、中欄には、論理結合によって重ね書きさ
れたデ−タが示されている。2つの右欄は対応の16進
数で表記され、外側の右欄はまだコ−ド化されるべきデ
−タを表記している。
【0046】式(V)では、論理演算が 15 0001 010
1 を生成する。
【0047】
【表1】 しかし、既に01 0000 0001 が式(I) で重ね書きされ、
10 0001 0000 が式(V) で重ね書きされるので、ここで
は式(V) によって04 0000 0100 のみがプログラムされ
る。式(V)の数はここでは論理和演算又は減算によっ
て検出される。
【0048】更に、重ね書きが終了しているかを確定す
るために、終端基準を検出しなければならない。
【0049】終端基準は以下のようであろう。消去マ−
ク付きデ−タを有する前述の論理演算は次のようにな
る。
【0050】
【数6】 が成立する。
【0051】これを表5に記載された数値と比較すれ
ば、式 (VI)が式(IV)に対応することが確定さ
れる。これに応じて、少なくとも1つのビットポジショ
ンに新たに1があることを確定する。これが終端基準と
して用いられる。
【0052】他の例として、非マ−クの使用デ−タが例
えば以下のように表される。
【0053】 16進 2進 00 0000 0000 (表4) 消去マ−ク付きデ−タは例えば
【表2】 前述の論理演算に対応する論理演算において、00の各論
理演算が00まで実行される。このことから終端基準は拡
張されなければならない。
【0054】以下のことは確定される。
【0055】
【表3】 中欄のデ−タのビットポジション 0, 2 及び 3には、両
方の場合に1がそれぞれある。これに従って、1つ以上
のビットポジションが少なくとも2つの1を含むとき
は、この1は0を有するバイトを表わすので、終端基準
を確定することが確かめられる。
【0056】消去マ−ク付きデ−タ(表7を参照)と、
非マ−クの使用デ−タ(表8)とを有する他の例が以下
のように示される。
【0057】
【表4】 以下の表は論理演算の結果を示している。
【0058】
【表5】 式(VII) 及び (VIII) の2進数値は1を有するビットポ
ジションが一致していないおらず、このことから、終端
基準が満たされていないことが明らかになる。しかし、
式 (IX) と式 (VIII) との比較は再度ビットポジション
が一致することを示しているので、終端基準は再度満た
されている。
【0059】要約すると、表1からのデ−タは、重ね書
き後に以下のようになる。
【0060】
【表6】 ブロックを消去した後に、前述のように重ね書きされな
い非マークデータは好ましくは再度再構成される。消去
によって、新たなフリー記憶場所が生じ、新たに音声を
記録することができる。
【0061】
【発明の効果】本発明によると、すべてのブロックにお
いて書込み/消去サイクルが用いられるので、ブロック
の消去が最適化に直接的に影響する。更に、メモリ内で
の再コピ−よる最適化によって、使用中のメモリに新た
なメッセ−ジを書き込むための時間を非常に短く保つこ
とができる。
【図面の簡単な説明】
【図1】メモリ最適化のフローチャート図。
【図2】データファイルの略図。
【図3】(a)はデータファイルのシフトの例を示し、
(b)はすべてのブロックの消去の例を示す図。
【図4】(a)はデータファイルを他のブロックにコピ
−するための例を示し、(b)はデータファイルを一時
記憶する例を示す図。
【符号の説明】
1〜7…メモリ最適化のステップ、(I)…データファ
イル見出しラベル、(II)…セグメント見出しラベ
ル。

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 ブロックに分割され、このブロックが複
    数のセグメントに更に分割されているフラッシュメモリ
    の管理方法であって、 任意のセグメントで始まるファイル形式のデータをセグ
    メント毎に記憶し、消去に対応するデータファイルをセ
    グメント毎にマ−ク付けするステップと、 各ブロックの消去マーク付きセグメンの数、非マークの
    使用セグメントの数および未使用セグメントの数が決定
    されることによって、フラッシュメモリの実際の使用率
    を決定するステップと、 前記使用率が閾値を越えた後にメモリ最適化を実行する
    ステップと、 でなるフラッシュメモリ管理方法。
  2. 【請求項2】 メモリ最適化のために、非マークの使用
    ファイルを前記フラッシュメモリの未使用終端の方向に
    シフトし、前記ブロックに残存するマーク付きファイル
    をブロック単位で消去する請求項1に記載の方法。
  3. 【請求項3】 メモリ最適化のため、非マークの使用セ
    グメントが存在しないブロックを検出し、このブロック
    を消去する請求項1または2に記載の方法。
  4. 【請求項4】 メモリ最適化のため、非マークの使用セ
    グメントが最小数であるブロックを検出し、このブロッ
    クを他のブロックの未使用領域にコピーし、前記検出ブ
    ロックを消去する請求項1乃至3のいずれか1に記載の
    方法。
  5. 【請求項5】 メモリ最適化のため、非マークの使用セ
    グメントが最小数であるブッロクを検出し、このセグメ
    ントを他のブロックのマーク領域に一時記憶し、前記検
    出ブロックを消去し、前記一時記憶データを再構成する
    請求項1ないし4のいずれか1に記載の方法。
  6. 【請求項6】 使用率が閾値を越えた後にメモリ最適化
    が行なえない場合には、ユ−ザへの問合わせを行ない、
    それにより、ユ−ザが、追加的に消去マ−ク付けされる
    ファイルを指示できる請求項1ないし5のいずれか1に
    記載の方法。
  7. 【請求項7】 各ファイルの頭にファイル見出しラベル
    (I)及びセグメント見出しラベル(II)を定義し、
    さらに各ファイルに属するセグメントに2つのセグメン
    ト見出しラベルを定義する請求項1乃至6のいずれか1
    に記載の方法。
  8. 【請求項8】 前記ファイル見出しラベルは零で占めら
    れ、前記セグメント見出しラベルの領域について記憶デ
    −タの種類が特徴付けられる請求項7に記載の方法。
  9. 【請求項9】 前記マ−ク付きセグメントは前記セグメ
    ント見出しラベルの零によって特徴付けられる請求項8
    に記載の方法。
  10. 【請求項10】 同一種類のファイルを特徴付けるため
    に、付加情報をファイルの最初のセグメントの頭に挿入
    する請求項1に記載の方法。
  11. 【請求項11】 ブロックに分割され、該ブロックが複
    数のセグメントに更に分割されるフラッシュメモリを駆
    動するためのプログラムモジュ−ルであって、各ブロッ
    クの未使用セグメントの数、消去マーク付き使用セグメ
    ントの数及び非マ−クの使用セグメントの数により決ま
    る、前記フラッシュメモリの許容使用率を検出し、それ
    からメモリ最適化を制御命令により実施し、 制御命令によって、ファイルで使用されているセグメン
    トをシフトさせ、制御命令によって、残存の消去マ−ク
    付き使用セグメントを消去し、または非マ−クの使用セ
    グメントを有しないブロックを検出し、それから検出ブ
    ロックを制御命令によって消去し、または非マークの使
    用セグメントが最小数であるブロックを検出し、それか
    ら検出ブロックを制御命令によって他のブロックの未使
    用のセグメントへコピ−し、または非マークの使用セグ
    メントが最小数であるブロックを検出し、それから検出
    ブロックを制御命令によってマーク付きセグメントに一
    時記憶し、それから検出ブロックの消去後に再び再構成
    し、または他の制御命令によりユ−ザに問合わせを行な
    い、これによりユ−ザが消去すべきファイルにマ−ク付
    けできることを特徴とするプログラムモジュ−ル。
  12. 【請求項12】 特に留守番電話において音声のメッセ
    −ジを記憶するために使用される請求項11に記載のプ
    ログラムモジュール。
  13. 【請求項13】 ブロックに分割し、該ブロックが複数
    のセグメントに更に分割されているフラッシュメモリの
    駆動方法であって、 各ブロックの消去マ−ク付き使用セグメントの数、非マ
    −クの使用セグメントの数および未使用のセグメントの
    数により決まる使用率が閾値を越えた後に、非マークの
    使用セグメントが最小数であるブロックを検出するステ
    ップと、 この検出ブロックの非マークの使用セグメントを論理演
    算によって他のブロックの消去マーク付きセグメントに
    重ね書きするステップと、 前記検出ブロックを消去できるステップと、 でなるフラッシュメモリ駆動方法。
  14. 【請求項14】 前記論理演算は、非マークの使用セグ
    メントのデ−タと消去マ−ク付きセグメントのデ−タと
    の論理AND演算によって行なう請求項13に記載の方
    法。
  15. 【請求項15】 前記論理演算は、非マークの使用セグ
    メントのデ−タと消去マ−ク付きセグメントのデ−タと
    の論理OR演算によって行う請求項13に記載の方法。
  16. 【請求項16】 非マークの使用セグメントのデータと
    他の消去マーク付きセグメントのデータとを少なくとも
    終端基準が満たされるまで論理演算する少なくとも1つ
    の他の論理演算を行なう請求項14又は15に記載の方
    法。
  17. 【請求項17】 前記終端基準は少なくとも1ビット値
    の繰り返しが1ビット位置の1セグメントにおいて生じ
    ることによって決定する請求項16に記載の方法。
  18. 【請求項18】 先に検出され、消去されたブロックへ
    の新たなブロックの重ね書きデ−タを再度、再構成する
    請求項13乃至17のいずれか1に記載の方法。
  19. 【請求項19】 ブロックに分割され、該ブロックが複
    数のセグメントに更に分割されるフラッシュメモリを駆
    動するためのプログラムモジュ−ルであって、各ブロッ
    クの未使用セグメントの数、消去マーク付き使用セグメ
    ントの数及び非マ−クの使用セグメントの数により決ま
    る、前記フラッシュメモリの許容使用率を検出し、それ
    からメモリ最適化を制御命令により実施し、 制御命令によって、ファイルで使用されているセグメン
    トをシフトさせ、制御命令によって、残存の消去マ−ク
    付き使用セグメントを消去し、または非マ−クの使用セ
    グメントを有しないブロックを検出し、それから検出ブ
    ロックを制御命令によって消去し、または非マークの使
    用セグメントが最小数であるブロックを検出し、それか
    ら検出ブロックを制御命令によって他のブロックの未使
    用のセグメントへコピ−し、または非マークの使用セグ
    メントが最小数であるブロックを検出し、それから検出
    ブロックを制御命令によってマーク付きセグメントに一
    時記憶し、それから検出ブロックの消去後に再び再構成
    し、または非マークの使用セグメントが最小数であるブ
    ロックを検出し、それから論理演算において、新たなブ
    ロックの消去マーク付きセグメントに重ね書きし、また
    は他の制御命令によりユ−ザに問合わせを行ない、これ
    によりユ−ザが消去すべきファイルにマ−ク付けできる
    ことを特徴とするプログラムモジュ−ル。
JP25542395A 1994-09-30 1995-10-02 フラッシュメモリのメモリ管理方法 Pending JPH08235880A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE4435042 1994-09-30
DE4442127.3 1994-11-26
DE4442127A DE4442127A1 (de) 1994-09-30 1994-11-26 Verfahren zur Speicherverwaltung eines Flash-Speichers
DE4435042.2 1994-11-26

Publications (1)

Publication Number Publication Date
JPH08235880A true JPH08235880A (ja) 1996-09-13

Family

ID=25940649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25542395A Pending JPH08235880A (ja) 1994-09-30 1995-10-02 フラッシュメモリのメモリ管理方法

Country Status (5)

Country Link
US (1) US5933845A (ja)
EP (1) EP0704803B1 (ja)
JP (1) JPH08235880A (ja)
AT (1) ATE149709T1 (ja)
ES (1) ES2101584T3 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009266279A (ja) * 2008-04-23 2009-11-12 Internatl Business Mach Corp <Ibm> データを記録媒体に書き込む装置及び方法
JP2013030081A (ja) * 2011-07-29 2013-02-07 Toshiba Corp データ記憶装置、メモリ制御装置及びメモリ制御方法
US8930614B2 (en) 2011-07-29 2015-01-06 Kabushiki Kaisha Toshiba Data storage apparatus and method for compaction processing
KR101480424B1 (ko) * 2013-03-06 2015-01-13 서울시립대학교 산학협력단 하이브리드 플래시 메모리의 성능과 수명 최적화 장치 및 방법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860124A (en) * 1996-09-30 1999-01-12 Intel Corporation Method for performing a continuous over-write of a file in nonvolatile memory
JP3580982B2 (ja) * 1997-04-30 2004-10-27 パイオニア株式会社 情報記録方法及び装置
JP3766188B2 (ja) * 1997-08-22 2006-04-12 沖電気工業株式会社 論理フォーマット変換方法およびデータ保存媒体
DE19904573C2 (de) * 1999-02-04 2000-12-28 Siemens Ag Vorrichtung und Verfahren zum Speichern von Telefoneinträgen
GB2366014B (en) * 2000-08-19 2004-10-13 Ibm Free space collection in information storage systems
KR100365725B1 (ko) * 2000-12-27 2002-12-26 한국전자통신연구원 플래시 메모리를 이용한 파일 시스템에서 등급별 지움정책 및 오류 복구 방법
US7032090B2 (en) * 2003-04-08 2006-04-18 International Business Machines Corporation Method, system, and apparatus for releasing storage in a fast replication environment
US7069402B2 (en) * 2003-06-02 2006-06-27 International Business Machines Corporation Host-independent incremental backup method, apparatus, and system
US7441093B2 (en) * 2005-06-30 2008-10-21 Intel Corporation Segmentation management using a rolling window technique
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US8689193B2 (en) * 2006-11-01 2014-04-01 At&T Intellectual Property Ii, L.P. Method and apparatus for protecting a software application against a virus
KR102233808B1 (ko) * 2014-03-14 2021-03-30 삼성전자주식회사 저장 장치 및 그것의 테이블 관리 방법
KR102704776B1 (ko) * 2019-08-08 2024-09-10 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
CN112466371B (zh) * 2020-12-17 2022-09-09 宁波拓普集团股份有限公司 一种循环利用闪存模拟字节擦除功能的方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
DE4229710B4 (de) * 1991-09-09 2008-06-05 Samsung Electronics Co., Ltd. Digitales Audiodatenspeicherungssystem und damit ausgerüstetes digitales Audio-System
JP3229345B2 (ja) * 1991-09-11 2001-11-19 ローム株式会社 不揮発性icメモリ
IT1252261B (it) * 1991-11-15 1995-06-08 Alcatel Italia Metodo di aggiornamento di dati memorizzanti in locazioni di memoria di una unita' di memoria, in particolare di una memoria flash eprom
JP2610737B2 (ja) * 1991-12-20 1997-05-14 シャープ株式会社 記録再生装置
US5341339A (en) * 1992-10-30 1994-08-23 Intel Corporation Method for wear leveling in a flash EEPROM memory
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5473569A (en) * 1994-08-01 1995-12-05 Motorola, Inc. Method for operating a flash memory

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009266279A (ja) * 2008-04-23 2009-11-12 Internatl Business Mach Corp <Ibm> データを記録媒体に書き込む装置及び方法
US9122425B2 (en) 2008-04-23 2015-09-01 International Business Machines Corporation Apparatus and method for writing data to recording medium
US10353624B2 (en) 2008-04-23 2019-07-16 International Business Machines Corporation Apparatus and method for writing data to recording medium
JP2013030081A (ja) * 2011-07-29 2013-02-07 Toshiba Corp データ記憶装置、メモリ制御装置及びメモリ制御方法
US8930614B2 (en) 2011-07-29 2015-01-06 Kabushiki Kaisha Toshiba Data storage apparatus and method for compaction processing
KR101480424B1 (ko) * 2013-03-06 2015-01-13 서울시립대학교 산학협력단 하이브리드 플래시 메모리의 성능과 수명 최적화 장치 및 방법

Also Published As

Publication number Publication date
ATE149709T1 (de) 1997-03-15
ES2101584T3 (es) 1997-07-01
EP0704803B1 (de) 1997-03-05
US5933845A (en) 1999-08-03
EP0704803A1 (de) 1996-04-03

Similar Documents

Publication Publication Date Title
JPH08235880A (ja) フラッシュメモリのメモリ管理方法
EP1031980B1 (en) Recording method, managing method, and recording apparatus
KR100577380B1 (ko) 플래시 메모리와 그 제어 방법
RU2000104741A (ru) Способ записи, способ управления и устройство для записи
JP2009199625A (ja) メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法
US6256644B1 (en) Control system for storing data in accordance with predefined characteristics thereof
JPH09198852A (ja) 記憶装置
JP2007294097A (ja) 編集装置並びに再生装置および編集方法
US20070162707A1 (en) Information recording medium data processing apparatus and data recording method
JP2008077669A (ja) 記録方式
JPH11144478A (ja) 不揮発性半導体メモリの情報記憶方法および電子機器
US5500742A (en) Control unit of flash memory and facsimile machine using such control unit
JPH09128165A (ja) 固体記録再生装置
EP1081596A1 (en) File managing device and its method, and data recording/reproducing device and its method
US7032094B2 (en) Method of controlling flash memory
US6108289A (en) Optical disc recording apparatus for overwriting information on a previously recorded packet of an optical disc
JP2003173285A (ja) 情報記録方法及び情報記録再生装置
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
CN100557611C (zh) 一种文件的处理方法和装置
JP2008123314A (ja) 半導体記憶装置への情報記録方法及び情報記録システム
JP4178822B2 (ja) 記録方式
JP2007059053A (ja) マスメモリ内に記憶されたデータのセットに対し適応選択を行う方法及び装置
JP4098047B2 (ja) 記録装置、消去装置、再生装置、データ記録方法、データ消去方法、データ再生方法、プログラム、およびプログラムを記録した記録媒体
JP2004206615A (ja) 記憶装置
JP2001318824A (ja) フラッシュメモリのデータ管理方式およびそのプログラムを記録した記録媒体