JPS62283497A - メモリ書き込み制御方法 - Google Patents
メモリ書き込み制御方法Info
- Publication number
- JPS62283497A JPS62283497A JP61124732A JP12473286A JPS62283497A JP S62283497 A JPS62283497 A JP S62283497A JP 61124732 A JP61124732 A JP 61124732A JP 12473286 A JP12473286 A JP 12473286A JP S62283497 A JPS62283497 A JP S62283497A
- Authority
- JP
- Japan
- Prior art keywords
- block
- area
- data
- file
- 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.)
- Granted
Links
- 238000007726 management method Methods 0.000 claims description 3
- 230000002401 inhibitory effect Effects 0.000 claims 1
- 230000002035 prolonged effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 102100033993 Heterogeneous nuclear ribonucleoprotein L-like Human genes 0.000 description 1
- 101100071255 Homo sapiens HNRNPLL gene Proteins 0.000 description 1
- 101000610551 Homo sapiens Prominin-1 Proteins 0.000 description 1
- 102100040120 Prominin-1 Human genes 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Landscapes
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
3、発明の詳細な説明
〔産業上の利用分野〕
この発明は、電気的消去可脂なプログラマブルリードオ
ンリメモリの書き込み回数の管理方式に関するものであ
る。
ンリメモリの書き込み回数の管理方式に関するものであ
る。
従来のE E P ROM (Electrical
Eresablaand Programmable
ROM)は、容量も少なく、また書き込むために必要な
外部回路が多かった。さらに、チップ内のすべてのデー
タを消去するモードしか有していなかった。最近は、容
量も大きくなるとともに、外部回路も殆ど必要なく C
’P Uのアドレスバス、データバスに結線できるよう
になり、またEEFROM内の1/ヘイトのデータのみ
の消去もol能となってきた。以上の改良により、使用
LI的によっては、従来のランダムアクセスメモリ(R
AM)で構成していた機能の置換が可能となった。
Eresablaand Programmable
ROM)は、容量も少なく、また書き込むために必要な
外部回路が多かった。さらに、チップ内のすべてのデー
タを消去するモードしか有していなかった。最近は、容
量も大きくなるとともに、外部回路も殆ど必要なく C
’P Uのアドレスバス、データバスに結線できるよう
になり、またEEFROM内の1/ヘイトのデータのみ
の消去もol能となってきた。以上の改良により、使用
LI的によっては、従来のランダムアクセスメモリ(R
AM)で構成していた機能の置換が可能となった。
例えば、従来の小型パソコン、日本語ワープロで作成し
たプログラムや文章、外字等を保存しておくためにメモ
リカードと云うものがある。これは、必要なときにパソ
コン、日本語ワープロ等(7)本体に差し込んでプログ
ラムや文育を記憶させ、本体から引き抜いても、そのデ
ータを記憶しているように、メモリカード内にはRAM
と電池が搭・11されていた。そこで、メモリカードを
EEFROMで構成することにより、電池を無くするこ
とができると考えられた。
たプログラムや文章、外字等を保存しておくためにメモ
リカードと云うものがある。これは、必要なときにパソ
コン、日本語ワープロ等(7)本体に差し込んでプログ
ラムや文育を記憶させ、本体から引き抜いても、そのデ
ータを記憶しているように、メモリカード内にはRAM
と電池が搭・11されていた。そこで、メモリカードを
EEFROMで構成することにより、電池を無くするこ
とができると考えられた。
ところが、EEFROMでは従来のRAMのように自由
に何度も書き換えられない制約があり。
に何度も書き換えられない制約があり。
すなわち、あらかじめ設定される書き込み回数を越えて
、メモリカードへの書き込みを行なうことにより、記憶
しているはずのデータを消失させてしまう等の問題点が
あった。またEEFROMに書き込まれたデータのうち
、頻繁に書き換えられるデータと書き換え頻度の少ない
データとが存在し、書き換え頻度の高いデータの書き換
え回数が所定値を越えると、EEFROMへの書き換え
が可能にも関わらず書き換え不俺となる問題点があった
・ この発明は、上記の問題点を解消するためになされたも
ので、EEFROMに書き込まれるデータの消失を防止
するとともに、EEFROMへの君き込み回数を平均化
させるとともに、EEFROM上の書き換え頻度を平均
化して、EEFROMへの書き換え寿命を延命できるプ
ログラマブルリードオンリメモリの書き込み回数管理方
式を得ることを[1的とする。
、メモリカードへの書き込みを行なうことにより、記憶
しているはずのデータを消失させてしまう等の問題点が
あった。またEEFROMに書き込まれたデータのうち
、頻繁に書き換えられるデータと書き換え頻度の少ない
データとが存在し、書き換え頻度の高いデータの書き換
え回数が所定値を越えると、EEFROMへの書き換え
が可能にも関わらず書き換え不俺となる問題点があった
・ この発明は、上記の問題点を解消するためになされたも
ので、EEFROMに書き込まれるデータの消失を防止
するとともに、EEFROMへの君き込み回数を平均化
させるとともに、EEFROM上の書き換え頻度を平均
化して、EEFROMへの書き換え寿命を延命できるプ
ログラマブルリードオンリメモリの書き込み回数管理方
式を得ることを[1的とする。
この発明に係るプログラマブルリードオンリメモリの書
き込み回数管理方式は、記憶領域を複数のブロックに分
割し、各ブロック毎に書き込み回数を記憶し、あらかじ
め設定される書き込み回数を越えたブロックへの書き込
みを抑止させる。
き込み回数管理方式は、記憶領域を複数のブロックに分
割し、各ブロック毎に書き込み回数を記憶し、あらかじ
め設定される書き込み回数を越えたブロックへの書き込
みを抑止させる。
この発明においては、記憶領域を各ブロック毎に書き込
み回数を記憶しておき、この書き込み回数があらかじめ
設定される書き込み回数を越えたら、そのブロックへの
書き込みを抑止させる。
み回数を記憶しておき、この書き込み回数があらかじめ
設定される書き込み回数を越えたら、そのブロックへの
書き込みを抑止させる。
第1図(a)はこの発明の一実施例を示すプログラマブ
ルリードオンリメモリへの書き込み回数管理方式を説明
する模式図であり、1はEEFROMで、例えば書き込
み容量が32798バイト×8ビツトで、書き込み回数
が1万回に設定しである。EEPROMIは、ポインタ
ブロック1aおよび予備ポインタブロック5PBI〜5
PB50より構成される。ポインタブロック1aは4ア
ドレス(各1バイト)で構成され、10〜l」番地の2
バイトで、書き換え回数WCNT、例えばr1388+
6Jを記憶している。またポインタブロック1aの「2
」番地の1バイトは、ディレクトリDB、例えばro1
+6Jを記憶している。さらに、ポインタブロック1a
のr3J番地の1バイトは、未使用のスタートブロック
番号O5B、例えばr33+6Jを記憶している。また
ポインタブロック1aのr4J番地の1バイトは、未使
用のエンドブロック番号OEB、例えばr8A+6Jを
記憶している。
ルリードオンリメモリへの書き込み回数管理方式を説明
する模式図であり、1はEEFROMで、例えば書き込
み容量が32798バイト×8ビツトで、書き込み回数
が1万回に設定しである。EEPROMIは、ポインタ
ブロック1aおよび予備ポインタブロック5PBI〜5
PB50より構成される。ポインタブロック1aは4ア
ドレス(各1バイト)で構成され、10〜l」番地の2
バイトで、書き換え回数WCNT、例えばr1388+
6Jを記憶している。またポインタブロック1aの「2
」番地の1バイトは、ディレクトリDB、例えばro1
+6Jを記憶している。さらに、ポインタブロック1a
のr3J番地の1バイトは、未使用のスタートブロック
番号O5B、例えばr33+6Jを記憶している。また
ポインタブロック1aのr4J番地の1バイトは、未使
用のエンドブロック番号OEB、例えばr8A+6Jを
記憶している。
第1図(b)はこの発明の装置構成の一例、を説明する
ブロック図であり、11はCPUで、ROM11a
、RAMI lbを有し、ROM11aに格納された第
6図に示すフローに準じたプログラムに応じて各部を制
御する。12は入力手段で、データ書き込み装置13に
セットされるEEFROMIへのデータ書き込みおよび
データ消去を指示する。なお、CPU11にはデータの
転送を行うアキュムレータACC、BCCを有している
。
ブロック図であり、11はCPUで、ROM11a
、RAMI lbを有し、ROM11aに格納された第
6図に示すフローに準じたプログラムに応じて各部を制
御する。12は入力手段で、データ書き込み装置13に
セットされるEEFROMIへのデータ書き込みおよび
データ消去を指示する。なお、CPU11にはデータの
転送を行うアキュムレータACC、BCCを有している
。
第2図は第1図(a)に示すEEPROMI(7)構造
を示す模式図であり、21はブロック番号であり、例え
ば127(P4のブロー/ ’) B L OCK l
〜BLOCK127に分割されている。各ブロックは
、例えば256バイトで構成され、先頭の2バイトで、
そのブロックが更新された回数、すなわち、後述する更
新回数が記憶されている。次に続く253バイトは記憶
データDATAが記憶されており、最後の1バイトは、
記憶データDATAがこのブロックに留まるか、または
他のブロックに及ぶかどうかを示す継続ブロックエリア
CBがあり、他のブロックに記憶データDATAが及ぶ
場合は、!IS続ブロックエリアCBには継続するブロ
ック番号が記憶され、他のブロックに記憶データDAT
Aが及ばない場合は、継続ブロックエリアCBにはrF
FHJが記憶されている。
を示す模式図であり、21はブロック番号であり、例え
ば127(P4のブロー/ ’) B L OCK l
〜BLOCK127に分割されている。各ブロックは
、例えば256バイトで構成され、先頭の2バイトで、
そのブロックが更新された回数、すなわち、後述する更
新回数が記憶されている。次に続く253バイトは記憶
データDATAが記憶されており、最後の1バイトは、
記憶データDATAがこのブロックに留まるか、または
他のブロックに及ぶかどうかを示す継続ブロックエリア
CBがあり、他のブロックに記憶データDATAが及ぶ
場合は、!IS続ブロックエリアCBには継続するブロ
ック番号が記憶され、他のブロックに記憶データDAT
Aが及ばない場合は、継続ブロックエリアCBにはrF
FHJが記憶されている。
第3図は第2図に示す各ディレクトリブロック構造を説
明する模式図であり、30は前記ディレクトリDBに指
示されるディレクトリブロック、31は前記ディレクト
リブロック3oの更新カウンタで、例えば2バイトで構
成される。32はファイル領域で、各ファイル名が12
バイトで記憶される。33はスタートブロック番号エリ
ア(SB)で、例えば1バイトで構成され、ファイルの
スタートブロック番号が記憶されている。34はエンド
ブロック番号エリア(E B)で、例えば1バイトで構
成され、ファイルのエンドブロック番号が記憶されてい
る。35はチェーンブロックエリア(CB)で、ディレ
クトリブロック30に継続するディレクトリブロックの
有無を記憶する。
明する模式図であり、30は前記ディレクトリDBに指
示されるディレクトリブロック、31は前記ディレクト
リブロック3oの更新カウンタで、例えば2バイトで構
成される。32はファイル領域で、各ファイル名が12
バイトで記憶される。33はスタートブロック番号エリ
ア(SB)で、例えば1バイトで構成され、ファイルの
スタートブロック番号が記憶されている。34はエンド
ブロック番号エリア(E B)で、例えば1バイトで構
成され、ファイルのエンドブロック番号が記憶されてい
る。35はチェーンブロックエリア(CB)で、ディレ
クトリブロック30に継続するディレクトリブロックの
有無を記憶する。
例えばチェーンブロックエリア35がrFF+6jとな
る。なお、ディレクトリブロック3oは、例えば18個
のファイル領域32で構成される。
る。なお、ディレクトリブロック3oは、例えば18個
のファイル領域32で構成される。
次に第1図(a)および第3図を参照しなからEEFR
OMIの構造について説明する。
OMIの構造について説明する。
第1図(a)に示すようにポインタブロック1aの書き
換え回数WCNTに、例えばr138816Jが記憶さ
れているとすると、5000回の更新が行われたことを
示し、またディレクトリDBにはro1+6Jが記憶さ
れているので、ディレクトリDBに指示されるディレク
トリブロック3oのブロック番号が「lJで、そのディ
レクトリブロック30の更新カウンタ31には、r14
2F16Jが記憶されている。これは、このディレクト
リブロック30を5167回更新したことを示し、ファ
イル領域32のファイル(F i L e)1 (ファ
イル名)はスタートブロック番号エリア33がrO21
6Jで、エンドブロック番号エリア34がr05+6J
となっているため、ブロックBL、○CK2から始ま
り、ブロックBLOCK5で絡ることになる。またファ
イル領域32のファイル2は、スタートブロック番号エ
リア33が1OA16」で、エンドブロック番号エリア
34がlOF+6j となっているため、ブロックBL
OCKIOから始まり、ブロックBLOCK15で終る
ことになる。さらに、ファイル領域32のファイル3(
ファイル名)は、スタートブロック番号エリア33がr
15B、Jで、エンドブロック番号エリア34がf18
+6J となっているため、ブロックBLOCK21か
ら始まり、ブロー/ ’7 B L OCK24で終る
ことになる。またファイル領域32のファイル3の次に
W F F +6Jが書かれているので、このファイル
領域32はファイル3で終了していることになる。
換え回数WCNTに、例えばr138816Jが記憶さ
れているとすると、5000回の更新が行われたことを
示し、またディレクトリDBにはro1+6Jが記憶さ
れているので、ディレクトリDBに指示されるディレク
トリブロック3oのブロック番号が「lJで、そのディ
レクトリブロック30の更新カウンタ31には、r14
2F16Jが記憶されている。これは、このディレクト
リブロック30を5167回更新したことを示し、ファ
イル領域32のファイル(F i L e)1 (ファ
イル名)はスタートブロック番号エリア33がrO21
6Jで、エンドブロック番号エリア34がr05+6J
となっているため、ブロックBL、○CK2から始ま
り、ブロックBLOCK5で絡ることになる。またファ
イル領域32のファイル2は、スタートブロック番号エ
リア33が1OA16」で、エンドブロック番号エリア
34がlOF+6j となっているため、ブロックBL
OCKIOから始まり、ブロックBLOCK15で終る
ことになる。さらに、ファイル領域32のファイル3(
ファイル名)は、スタートブロック番号エリア33がr
15B、Jで、エンドブロック番号エリア34がf18
+6J となっているため、ブロックBLOCK21か
ら始まり、ブロー/ ’7 B L OCK24で終る
ことになる。またファイル領域32のファイル3の次に
W F F +6Jが書かれているので、このファイル
領域32はファイル3で終了していることになる。
第4図は未使用のEEPROMIの状!Eを説明する模
式図であり、第1図(a)、第3図と同一のものには同
じ符号を付している。
式図であり、第1図(a)、第3図と同一のものには同
じ符号を付している。
この図から分かるように、未使用のEEFROMlのポ
インタブロック1aの書き換え回数wcNTfr< r
Oo 0116J 、ディレクトリDBが「。
インタブロック1aの書き換え回数wcNTfr< r
Oo 0116J 、ディレクトリDBが「。
1+bJ、未使用のスタートブロック番号O3Bがf0
2+6J、未使用のエンドブロック番号OEBがr7A
16Jがそれぞれポインタブロック1aの0番地から4
番地にそれぞれ記憶されている。これにより、ディレク
トリDBに指示されるブロックBLOCKIを参照する
と、更新カウンタ31にrOOO116Jが書き込まれ
ているとともに、ファイル領域32のファイル1にrF
F+6Jが書き込まれており、さらに、チェーンブロッ
クエリア35にrFF16Jが書き込まれており、EE
FROMIが未使用状態であることを示している。
2+6J、未使用のエンドブロック番号OEBがr7A
16Jがそれぞれポインタブロック1aの0番地から4
番地にそれぞれ記憶されている。これにより、ディレク
トリDBに指示されるブロックBLOCKIを参照する
と、更新カウンタ31にrOOO116Jが書き込まれ
ているとともに、ファイル領域32のファイル1にrF
F+6Jが書き込まれており、さらに、チェーンブロッ
クエリア35にrFF16Jが書き込まれており、EE
FROMIが未使用状態であることを示している。
さらに、ポインタブロック1aのスタートブロック番号
O5Bおよびエンドブロック番号OEHニハf 021
6J 、 r 7 F +6J カソレソFL書キ
込マれている。すなわち、ブロックBLOCK2〜12
7には先頭の2バイトに]’0OO1+aJが書き込ま
れ、最終の1バイトに各後続のブロックの継続を示すチ
ェーンブロックエリア35には、ブロックBLOCK2
〜126に対してr03〜7F+6Jが書き込まれ、ブ
ロックB L OCK 127 (7)チェーンブロッ
クエリア35にはrFFJが書き込まれている。このよ
うに、各ブロックB LOCK2〜127は1つのチェ
イン構造となる。
O5Bおよびエンドブロック番号OEHニハf 021
6J 、 r 7 F +6J カソレソFL書キ
込マれている。すなわち、ブロックBLOCK2〜12
7には先頭の2バイトに]’0OO1+aJが書き込ま
れ、最終の1バイトに各後続のブロックの継続を示すチ
ェーンブロックエリア35には、ブロックBLOCK2
〜126に対してr03〜7F+6Jが書き込まれ、ブ
ロックB L OCK 127 (7)チェーンブロッ
クエリア35にはrFFJが書き込まれている。このよ
うに、各ブロックB LOCK2〜127は1つのチェ
イン構造となる。
次に第3図、第5図(a)、(b)を参照しながらEE
PROMlへの書き込み動作を説明する。
PROMlへの書き込み動作を説明する。
:55図(a)、(b)はEEPRoMlへの書き込み
動作を説明する模式図であり、第1図(a)、第3図と
同一のものには同じ符号を付している。なお、書き込み
直前は、第3図に示す状態であったものとする。
動作を説明する模式図であり、第1図(a)、第3図と
同一のものには同じ符号を付している。なお、書き込み
直前は、第3図に示す状態であったものとする。
まず、各ブロックBLOCKのファイル領域32の先頭
がr OO+bJのところを探し当てる。
がr OO+bJのところを探し当てる。
第3図の場合は、ファイル2とファイル3との間にro
o+6Jがあり、そこにファイル4という名前を12バ
イトで書き込み、ポインタブロック1aの未使用ブロッ
クのスタートブロック番号O3Bを参照して、スタート
ブロック番号O3Hの指示するブロックBLOCK、す
なわちr57+6jの先頭の2バイト情報、すなわち、
更新カウンタ31をrlJ インクリメントし、その加
算値が、例えば1万回を越えているようであれば、ファ
イル4のチェーンブロックエリア35が示すプロ、りB
LOCKに対して同様の操作を行い、更新カウンタ31
が1万回以下のブロックBLOCKを探し忠てて、その
ブロックBLOCKの番号をポインタブロック1aのス
タートブロック番号O5Hに書き込むとともに、ファイ
ル4のデータをプロy’)BLOCKB7 (253バ
イト)ニ書き込み、ブロックBLOCK87に溢れるよ
うであれば、ブロックBLOCK87のチェーンブロッ
クエリア35の指示するブロックBLOCKの更新カウ
ンタ31をrlJ インクリメントして加算値が、例え
ば1万回を越えているかどうかを調べ、指示されるブロ
ックBLOCKの更新カウンタ31が1万回を越えるよ
うであれば、更新回数が1万回以下のブロックBLOC
Kを探し当て、そのブロックBLOCKの番号を直前に
どき込んだブロックBLOCKのチェーンブロックエリ
ア35に書き込む。このようにして、データのどき込み
が行われ、更新回数が1万回を越えるブロックBLOC
Kが排除されて行く。そして、書き込みデータがなくな
るまで同様の操作を行い、最後に書き込んだブロックB
LOCKのチェーンブロックエリア35に記憶されてい
た内容を新しい未使用のスタートブロック番号O5Hに
古さ換え、ポインタブロック1aの書き換え回数WCN
TをrlJ インクリメントしてf138916jとな
り、最後にデータを書き込んだブロックB LoCKの
チェーンブロックエリア35をrFF+6Jにする。そ
して、ディレクトリブロック30の最終ブロック番号を
記憶するエンドブロック番号エリア34に最後のデータ
を書き込んだブロックBLOCKの番号を書き込むとと
もに、更新カウンタ31をrlJ インクリメントする
と、第5図(b)に示されるように、更新カウンタ31
が11430+6J となり、ファイル4のスタートブ
ロック番号エリア33がr33+bJで、エンドブロッ
ク番号エリア34がr37+6Jとなる。
o+6Jがあり、そこにファイル4という名前を12バ
イトで書き込み、ポインタブロック1aの未使用ブロッ
クのスタートブロック番号O3Bを参照して、スタート
ブロック番号O3Hの指示するブロックBLOCK、す
なわちr57+6jの先頭の2バイト情報、すなわち、
更新カウンタ31をrlJ インクリメントし、その加
算値が、例えば1万回を越えているようであれば、ファ
イル4のチェーンブロックエリア35が示すプロ、りB
LOCKに対して同様の操作を行い、更新カウンタ31
が1万回以下のブロックBLOCKを探し忠てて、その
ブロックBLOCKの番号をポインタブロック1aのス
タートブロック番号O5Hに書き込むとともに、ファイ
ル4のデータをプロy’)BLOCKB7 (253バ
イト)ニ書き込み、ブロックBLOCK87に溢れるよ
うであれば、ブロックBLOCK87のチェーンブロッ
クエリア35の指示するブロックBLOCKの更新カウ
ンタ31をrlJ インクリメントして加算値が、例え
ば1万回を越えているかどうかを調べ、指示されるブロ
ックBLOCKの更新カウンタ31が1万回を越えるよ
うであれば、更新回数が1万回以下のブロックBLOC
Kを探し当て、そのブロックBLOCKの番号を直前に
どき込んだブロックBLOCKのチェーンブロックエリ
ア35に書き込む。このようにして、データのどき込み
が行われ、更新回数が1万回を越えるブロックBLOC
Kが排除されて行く。そして、書き込みデータがなくな
るまで同様の操作を行い、最後に書き込んだブロックB
LOCKのチェーンブロックエリア35に記憶されてい
た内容を新しい未使用のスタートブロック番号O5Hに
古さ換え、ポインタブロック1aの書き換え回数WCN
TをrlJ インクリメントしてf138916jとな
り、最後にデータを書き込んだブロックB LoCKの
チェーンブロックエリア35をrFF+6Jにする。そ
して、ディレクトリブロック30の最終ブロック番号を
記憶するエンドブロック番号エリア34に最後のデータ
を書き込んだブロックBLOCKの番号を書き込むとと
もに、更新カウンタ31をrlJ インクリメントする
と、第5図(b)に示されるように、更新カウンタ31
が11430+6J となり、ファイル4のスタートブ
ロック番号エリア33がr33+bJで、エンドブロッ
ク番号エリア34がr37+6Jとなる。
次に第5図(a)、(b)を参照しなからEEPROM
Iに書き込まれているファイル1の削除動作について説
明する。
Iに書き込まれているファイル1の削除動作について説
明する。
ディレクトリブロック30となるブロックBLOCK
1よりファイル1を探し、ファイル領域32の先頭の2
バイトを「00+6Jとする0次いで、ディレクトリブ
ロック30の更新カウンタ31をrlJ インクリメン
トし、ファイル1のスタートブロック番号エリア33と
エンドブロック番5)エリア34のデータを参照して、
ポインタブロック1aのエンドブロックOEBが指示す
るブロックのチェーンブロックエリア35の内容(削除
直前まではrFFI6Jであった)をスタートブロック
番号エリア33の内容に変更し、このブロックの更新カ
ウンタ31を「1」インクリメントする。すなわち、未
使用ブロックの最後に今削除したファイル4を接続する
わけである。このようにして、更新カウンタ31を進め
ながら何度もファイルの更新、削除を実行して行イうち
に、更新カウンタ31が1万回に接近する。
1よりファイル1を探し、ファイル領域32の先頭の2
バイトを「00+6Jとする0次いで、ディレクトリブ
ロック30の更新カウンタ31をrlJ インクリメン
トし、ファイル1のスタートブロック番号エリア33と
エンドブロック番5)エリア34のデータを参照して、
ポインタブロック1aのエンドブロックOEBが指示す
るブロックのチェーンブロックエリア35の内容(削除
直前まではrFFI6Jであった)をスタートブロック
番号エリア33の内容に変更し、このブロックの更新カ
ウンタ31を「1」インクリメントする。すなわち、未
使用ブロックの最後に今削除したファイル4を接続する
わけである。このようにして、更新カウンタ31を進め
ながら何度もファイルの更新、削除を実行して行イうち
に、更新カウンタ31が1万回に接近する。
次に更新カウンタ31が1万回に到達した場合のアクセ
ス処理について説明する。
ス処理について説明する。
まず、ポインタブロック1aのスタートブロック番号O
3Bの内容が示しているブロックBLOCKのチェーン
ブロックエリア35の内容を新規のスタートブロック番
号OSBとする。次いで、このブロック直前のディレク
トリブロック30の更新カウンタ31の情報以外の内容
を転送する。
3Bの内容が示しているブロックBLOCKのチェーン
ブロックエリア35の内容を新規のスタートブロック番
号OSBとする。次いで、このブロック直前のディレク
トリブロック30の更新カウンタ31の情報以外の内容
を転送する。
そして、ポインタブロック1aのディレクトリDBに新
規のディレクトリブロック番号を書き込み、ポインタブ
ロック1aの書き換え回数WCNTおよび更新カウンタ
3]を「1」インクリメントする。
規のディレクトリブロック番号を書き込み、ポインタブ
ロック1aの書き換え回数WCNTおよび更新カウンタ
3]を「1」インクリメントする。
一方、ポインタブロック1aの書き換え回数WCNTは
1万回を越えた場合は、予備ポインタブロック5PBI
〜5PB50のうち一番近い予備ポインタブロックへ書
き換え回数WCNTの情報以外のデータを転送し、新規
のポインタブロックの書き換え回数WCNT (000
016)をrlJインクリメントしてroo01++、
Jに設定する。
1万回を越えた場合は、予備ポインタブロック5PBI
〜5PB50のうち一番近い予備ポインタブロックへ書
き換え回数WCNTの情報以外のデータを転送し、新規
のポインタブロックの書き換え回数WCNT (000
016)をrlJインクリメントしてroo01++、
Jに設定する。
この場合、破棄されたポインタブロック1aの書き換え
回数WCNTは1万回以上となり、新のポインタブロー
2り1aの書き換え回数WCNTは1万回以下となる。
回数WCNTは1万回以上となり、新のポインタブロー
2り1aの書き換え回数WCNTは1万回以下となる。
このようにして、カウンタブロック30およびポインタ
ブロック1aの書き込み削除を管理する。また削除され
たファイルが使用していたブロックは未使用ブロックの
一番最後に回される。これは、未使用ブロックの使用回
数を平均化するためである。
ブロック1aの書き込み削除を管理する。また削除され
たファイルが使用していたブロックは未使用ブロックの
一番最後に回される。これは、未使用ブロックの使用回
数を平均化するためである。
第6図は第1図(a)に示したEEFROMIのデータ
書き込み制御動作を説明するためのフローチャートであ
る。なお、(1)〜(18)は各ステップを示す。
書き込み制御動作を説明するためのフローチャートであ
る。なお、(1)〜(18)は各ステップを示す。
まず、ディレクトリブロック30の空エリアを探して、
新規のファイル名を書き込む(1)。次いで、未使用の
スタートブロック番号OSBをCPU11のアキュムレ
ータACCに記憶させる(2)。アキュムレータACC
が指示するブロックの書き換え回数WCNTを+1更新
する(3)。ここで、書き換え回数WCNTが1000
0を越えたかどうかを判断しく4)、YESならばアキ
ュムレータACCの指示するブロックの継続ブロックエ
リアCBを7キユムレータACCに記憶しく5)、ステ
ップ(3)に戻り、Noならばディレクトリブロック3
0のスタートブロック番号エリア(SB)33にアキュ
ムレータACCの内容を書き込む(6)。次いで、アキ
ュムレータACCが指示するブロックのデータエリアに
データを書き込む(7)。ここで、書き込みデータがア
キュムレータACCが指示するブロックの容量が235
バイトを越えるかどうかを判断しく8)、’YESなら
ばアキュムレータACCが指示するブロックの継続ブロ
ックエリアCBをアキュムレータBCCに記憶させる(
9)。次いで、アキュムレータBCCが指示するブロッ
クの書き換え回数WCNTを+1更新する(10)。次
いで、書き換え回数WCNTが10000を越えたかど
うかを判断しく11)、YESならばアキュムレータB
CCの指示するブロックの継続ブロックエリアCBを記
憶させ(12)、ステップ(10)に戻り、Noならば
アキュムレータACCが指示するブロックのjt!続ブ
ロックエリアCBにアキュムレータBCCの内容を書き
込み(13)、 ステップ(7)に戻る。
新規のファイル名を書き込む(1)。次いで、未使用の
スタートブロック番号OSBをCPU11のアキュムレ
ータACCに記憶させる(2)。アキュムレータACC
が指示するブロックの書き換え回数WCNTを+1更新
する(3)。ここで、書き換え回数WCNTが1000
0を越えたかどうかを判断しく4)、YESならばアキ
ュムレータACCの指示するブロックの継続ブロックエ
リアCBを7キユムレータACCに記憶しく5)、ステ
ップ(3)に戻り、Noならばディレクトリブロック3
0のスタートブロック番号エリア(SB)33にアキュ
ムレータACCの内容を書き込む(6)。次いで、アキ
ュムレータACCが指示するブロックのデータエリアに
データを書き込む(7)。ここで、書き込みデータがア
キュムレータACCが指示するブロックの容量が235
バイトを越えるかどうかを判断しく8)、’YESなら
ばアキュムレータACCが指示するブロックの継続ブロ
ックエリアCBをアキュムレータBCCに記憶させる(
9)。次いで、アキュムレータBCCが指示するブロッ
クの書き換え回数WCNTを+1更新する(10)。次
いで、書き換え回数WCNTが10000を越えたかど
うかを判断しく11)、YESならばアキュムレータB
CCの指示するブロックの継続ブロックエリアCBを記
憶させ(12)、ステップ(10)に戻り、Noならば
アキュムレータACCが指示するブロックのjt!続ブ
ロックエリアCBにアキュムレータBCCの内容を書き
込み(13)、 ステップ(7)に戻る。
一方、ステップ(8)の判断でNOの場合は、アキュム
レータACCが指示する継続ブロックエリアCBを未使
用のスタートブロック番号OSBに書き込む(14)。
レータACCが指示する継続ブロックエリアCBを未使
用のスタートブロック番号OSBに書き込む(14)。
次いで、ポインタブロック1aの書き換え回数WCNT
を+1更新する(15)。次いで、アキュムレータAC
Cが指示するブロックの虞続ブロンクエリアCBへr
F F 16Jを書き込む(16)。そして、ディレク
トリブロック3oの新フアイル位置のエンドブロック番
号エリア34ヘアキユムレータACCの内容を書き込む
(17)。次いで、ディレクトリブロック30の書き換
え回数WCNTを更新する(18)。
を+1更新する(15)。次いで、アキュムレータAC
Cが指示するブロックの虞続ブロンクエリアCBへr
F F 16Jを書き込む(16)。そして、ディレク
トリブロック3oの新フアイル位置のエンドブロック番
号エリア34ヘアキユムレータACCの内容を書き込む
(17)。次いで、ディレクトリブロック30の書き換
え回数WCNTを更新する(18)。
以上説明したように、この発明は記憶領域を複数のブロ
ックに分割し、各ブロンク毎に書き込み回数を記憶し、
あらかじめ設定される書き込み回数を越えたブロックへ
の書き込みを抑止させるようにしたので、EEFROM
にSき込まれるデータの消失を未然に防げるとともに、
不要になったブロックを未使用ブロックの最後尾に接続
するようにしたので、各ブロックの書き込み回数を平均
化できる利点を右する。
ックに分割し、各ブロンク毎に書き込み回数を記憶し、
あらかじめ設定される書き込み回数を越えたブロックへ
の書き込みを抑止させるようにしたので、EEFROM
にSき込まれるデータの消失を未然に防げるとともに、
不要になったブロックを未使用ブロックの最後尾に接続
するようにしたので、各ブロックの書き込み回数を平均
化できる利点を右する。
第1図(a)はこの発明の一実施例を示すプログラマブ
ルリードオンリメモリへのどき込み回数管理方式を説明
する模式図、第1図(b)はこの発明の装置構成の一例
を説明するブロック図、第2図は第1図(a)に示すE
EFROMの構造を示す模式図、第3図は第2図に示す
各ディレクトリブロック構造を説明する模式図、第4図
は未使用のEEPROM状態を説明する模式図、第5図
(a)、(b)はEEPROMへの書き込み動作を説明
する模式図、第6図は第1図(a)に示したEEFRO
Mのデータ書き込み動作を説明するためのフローチャー
トである。 図中、1はEEPROM、1aはポインタブロック、2
1はブロック番号、30はディレクトリブロック、31
は更新カウンタ、32はファイル領域、33はスタート
ブロック番号エリア、34はエンドブロック番号エリア
、35はチェーンブロックエリアである。 7″、−ゝ′(二・・ 第1図(a) 工 第1図(b) 第2図 第3図 第5図 (a)
ルリードオンリメモリへのどき込み回数管理方式を説明
する模式図、第1図(b)はこの発明の装置構成の一例
を説明するブロック図、第2図は第1図(a)に示すE
EFROMの構造を示す模式図、第3図は第2図に示す
各ディレクトリブロック構造を説明する模式図、第4図
は未使用のEEPROM状態を説明する模式図、第5図
(a)、(b)はEEPROMへの書き込み動作を説明
する模式図、第6図は第1図(a)に示したEEFRO
Mのデータ書き込み動作を説明するためのフローチャー
トである。 図中、1はEEPROM、1aはポインタブロック、2
1はブロック番号、30はディレクトリブロック、31
は更新カウンタ、32はファイル領域、33はスタート
ブロック番号エリア、34はエンドブロック番号エリア
、35はチェーンブロックエリアである。 7″、−ゝ′(二・・ 第1図(a) 工 第1図(b) 第2図 第3図 第5図 (a)
Claims (1)
- 記憶領域に書き込まれた情報を電気的に消去可能なプロ
グラマブルリードオンリメモリにおいて、前記記憶領域
を複数のブロックに分割し、各ブロック毎に書き込み回
数を記憶し、あらかじめ設定される書き込み回数を越え
たブロックへの書き込みを抑止させることを特徴とする
プログラマブルリードオンリメモリの書き込み回数管理
方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12473286A JPH07109717B2 (ja) | 1986-05-31 | 1986-05-31 | メモリ書き込み制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12473286A JPH07109717B2 (ja) | 1986-05-31 | 1986-05-31 | メモリ書き込み制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62283497A true JPS62283497A (ja) | 1987-12-09 |
JPH07109717B2 JPH07109717B2 (ja) | 1995-11-22 |
Family
ID=14892737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12473286A Expired - Lifetime JPH07109717B2 (ja) | 1986-05-31 | 1986-05-31 | メモリ書き込み制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07109717B2 (ja) |
Cited By (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03214498A (ja) * | 1990-01-19 | 1991-09-19 | Toshiba Corp | 半導体メモリシステム |
JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
US5268870A (en) * | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
EP0589597A2 (en) * | 1992-09-22 | 1994-03-30 | International Business Machines Corporation | Flash non-volatile memory |
WO1994023369A1 (en) * | 1993-03-26 | 1994-10-13 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
US5388083A (en) * | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
WO1995010083A1 (en) * | 1993-10-04 | 1995-04-13 | Cirrus Logic, Inc. | Flash memory with reduced erasing and overwriting |
US5500742A (en) * | 1992-06-12 | 1996-03-19 | Ricoh Company, Ltd. | Control unit of flash memory and facsimile machine using such control unit |
US5544119A (en) * | 1992-10-30 | 1996-08-06 | Intel Corporation | Method for assuring that an erase process for a memory array has been properly completed |
US5592669A (en) * | 1990-12-31 | 1997-01-07 | Intel Corporation | File structure for a non-volatile block-erasable semiconductor flash memory |
US5600821A (en) * | 1993-07-28 | 1997-02-04 | National Semiconductor Corporation | Distributed directory for information stored on audio quality memory devices |
US5602987A (en) * | 1989-04-13 | 1997-02-11 | Sandisk Corporation | Flash EEprom system |
US5630093A (en) * | 1990-12-31 | 1997-05-13 | Intel Corporation | Disk emulation for a non-volatile semiconductor memory utilizing a mapping table |
US5802551A (en) * | 1993-10-01 | 1998-09-01 | Fujitsu Limited | Method and apparatus for controlling the writing and erasing of information in a memory device |
US5838614A (en) * | 1995-07-31 | 1998-11-17 | Lexar Microsystems, Inc. | Identification and verification of a sector within a block of mass storage flash memory |
US5845313A (en) * | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US5907856A (en) * | 1995-07-31 | 1999-05-25 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US5930815A (en) * | 1995-07-31 | 1999-07-27 | Lexar Media, Inc. | Moving sequential sectors within a block of information in a flash memory mass storage architecture |
US5928370A (en) * | 1997-02-05 | 1999-07-27 | Lexar Media, Inc. | Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure |
US5963480A (en) * | 1988-06-08 | 1999-10-05 | Harari; Eliyahou | Highly compact EPROM and flash EEPROM devices |
US5963474A (en) * | 1998-05-11 | 1999-10-05 | Fujitsu Limited | Secondary storage device using nonvolatile semiconductor memory |
US6034897A (en) * | 1999-04-01 | 2000-03-07 | Lexar Media, Inc. | Space management for managing high capacity nonvolatile memory |
US6040997A (en) * | 1998-03-25 | 2000-03-21 | Lexar Media, Inc. | Flash memory leveling architecture having no external latch |
US6076137A (en) * | 1997-12-11 | 2000-06-13 | Lexar Media, Inc. | Method and apparatus for storing location identification information within non-volatile memory devices |
US6081447A (en) * | 1991-09-13 | 2000-06-27 | Western Digital Corporation | Wear leveling techniques for flash EEPROM systems |
US6122195A (en) * | 1997-03-31 | 2000-09-19 | Lexar Media, Inc. | Method and apparatus for decreasing block write operation times performed on nonvolatile memory |
US6125435A (en) * | 1995-09-13 | 2000-09-26 | Lexar Media, Inc. | Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory |
US6141249A (en) * | 1999-04-01 | 2000-10-31 | Lexar Media, Inc. | Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time |
US6172906B1 (en) | 1995-07-31 | 2001-01-09 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US6262918B1 (en) | 1999-04-01 | 2001-07-17 | Lexar Media, Inc. | Space management for managing high capacity nonvolatile memory |
US6374337B1 (en) | 1998-11-17 | 2002-04-16 | Lexar Media, Inc. | Data pipelining method and apparatus for memory control circuit |
US6411546B1 (en) | 1997-03-31 | 2002-06-25 | Lexar Media, Inc. | Nonvolatile memory using flexible erasing methods and method and system for using same |
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 |
US6462992B2 (en) | 1989-04-13 | 2002-10-08 | Sandisk Corporation | Flash EEprom system |
US6567307B1 (en) | 2000-07-21 | 2003-05-20 | Lexar Media, Inc. | Block management for mass storage |
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US6757800B1 (en) | 1995-07-31 | 2004-06-29 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US6801979B1 (en) | 1995-07-31 | 2004-10-05 | Lexar Media, Inc. | Method and apparatus for memory control circuit |
US6813678B1 (en) | 1998-01-22 | 2004-11-02 | Lexar Media, Inc. | Flash memory system |
US6831865B2 (en) | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
US6898662B2 (en) | 2001-09-28 | 2005-05-24 | Lexar Media, Inc. | Memory system sectors |
US6973531B1 (en) | 2002-10-28 | 2005-12-06 | Sandisk Corporation | Tracking the most frequently erased blocks in non-volatile memory systems |
US6985992B1 (en) | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
US7032087B1 (en) | 2003-10-28 | 2006-04-18 | Sandisk Corporation | Erase count differential table within a non-volatile memory system |
US7035967B2 (en) | 2002-10-28 | 2006-04-25 | Sandisk Corporation | Maintaining an average erase count in a non-volatile storage system |
US7039788B1 (en) | 2002-10-28 | 2006-05-02 | Sandisk Corporation | Method and apparatus for splitting a logical block |
US7089349B2 (en) | 2003-10-28 | 2006-08-08 | Sandisk Corporation | Internal maintenance schedule request for non-volatile memory system |
US7096313B1 (en) | 2002-10-28 | 2006-08-22 | Sandisk Corporation | Tracking the least frequently erased blocks in non-volatile memory systems |
US7103732B1 (en) | 2002-10-28 | 2006-09-05 | Sandisk Corporation | Method and apparatus for managing an erase count block |
US7120729B2 (en) | 2002-10-28 | 2006-10-10 | Sandisk Corporation | Automated wear leveling in non-volatile storage systems |
US7171536B2 (en) | 2002-10-28 | 2007-01-30 | Sandisk Corporation | Unusable block management within a non-volatile memory system |
US7174440B2 (en) | 2002-10-28 | 2007-02-06 | Sandisk Corporation | Method and apparatus for performing block caching in a non-volatile memory system |
US7181611B2 (en) | 2002-10-28 | 2007-02-20 | Sandisk Corporation | Power management block for use in a non-volatile memory system |
US7188228B1 (en) | 2003-10-01 | 2007-03-06 | Sandisk Corporation | Hybrid mapping implementation within a non-volatile memory system |
US7234036B1 (en) | 2002-10-28 | 2007-06-19 | Sandisk Corporation | Method and apparatus for resolving physical blocks associated with a common logical block |
US7254668B1 (en) | 2002-10-28 | 2007-08-07 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
JP2008282429A (ja) * | 1992-01-29 | 2008-11-20 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
US7526599B2 (en) | 2002-10-28 | 2009-04-28 | Sandisk Corporation | Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system |
US7559004B1 (en) | 2003-10-01 | 2009-07-07 | Sandisk Corporation | Dynamic redundant area configuration in a non-volatile memory system |
JP2011028793A (ja) * | 2009-07-22 | 2011-02-10 | Toshiba Corp | 半導体記憶装置 |
US8106631B2 (en) | 2007-02-14 | 2012-01-31 | Denso Corporation | Charge control device for batteries |
US8412879B2 (en) | 2002-10-28 | 2013-04-02 | Sandisk Technologies Inc. | Hybrid implementation for error correction codes within a non-volatile memory system |
US8694722B2 (en) | 2001-09-28 | 2014-04-08 | Micron Technology, Inc. | Memory systems |
US8706990B2 (en) | 2003-10-28 | 2014-04-22 | Sandisk Technologies Inc. | Adaptive internal table backup for non-volatile memory system |
US8910017B2 (en) | 2012-07-02 | 2014-12-09 | Sandisk Technologies Inc. | Flash memory with random partition |
US9032134B2 (en) | 2001-09-28 | 2015-05-12 | Micron Technology, Inc. | Methods of operating a memory system that include outputting a data pattern from a sector allocation table to a host if a logical sector is indicated as being erased |
US9213606B2 (en) | 2002-02-22 | 2015-12-15 | Micron Technology, Inc. | Image rescue |
US9576154B2 (en) | 2004-04-30 | 2017-02-21 | Micron Technology, Inc. | Methods of operating storage systems including using a key to determine whether a password can be changed |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58215794A (ja) * | 1982-06-08 | 1983-12-15 | Toshiba Corp | 不揮発性メモリ装置 |
JPS60212900A (ja) * | 1984-04-09 | 1985-10-25 | Nec Corp | 半導体固定記憶装置 |
-
1986
- 1986-05-31 JP JP12473286A patent/JPH07109717B2/ja not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58215794A (ja) * | 1982-06-08 | 1983-12-15 | Toshiba Corp | 不揮発性メモリ装置 |
JPS60212900A (ja) * | 1984-04-09 | 1985-10-25 | Nec Corp | 半導体固定記憶装置 |
Cited By (119)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544118A (en) * | 1988-06-08 | 1996-08-06 | Harari; Eliyahou | Flash EEPROM system cell array with defect management including an error correction scheme |
US5568439A (en) * | 1988-06-08 | 1996-10-22 | Harari; Eliyahou | Flash EEPROM system which maintains individual memory block cycle counts |
US5963480A (en) * | 1988-06-08 | 1999-10-05 | Harari; Eliyahou | Highly compact EPROM and flash EEPROM devices |
US5835415A (en) * | 1988-06-08 | 1998-11-10 | Harari; Eliyahou | Flash EEPROM memory systems and methods of using them |
US5583812A (en) * | 1988-06-08 | 1996-12-10 | Harari; Eliyahou | Flash EEPROM system cell array with more than two storage states per memory cell |
US5642312A (en) * | 1988-06-08 | 1997-06-24 | Harari; Eliyahou | Flash EEPROM system cell array with more than two storage states per memory cell |
US5909390A (en) * | 1988-06-08 | 1999-06-01 | Harari; Eliyahou | Techniques of programming and erasing an array of multi-state flash EEPROM cells including comparing the states of the cells to desired values |
US5434825A (en) * | 1988-06-08 | 1995-07-18 | Harari; Eliyahou | Flash EEPROM system cell array with more than two storage states per memory cell |
US5268870A (en) * | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
US5712819A (en) * | 1988-06-08 | 1998-01-27 | Harari; Eliyahou | Flash EEPROM system with storage of sector characteristic information within the sector |
US5862081A (en) * | 1988-06-08 | 1999-01-19 | Harari; Eliyahou | Multi-state flash EEPROM system with defect management including an error correction scheme |
US5999446A (en) * | 1989-04-13 | 1999-12-07 | Sandisk Corporation | Multi-state flash EEprom system with selective multi-sector erase |
US7460399B1 (en) | 1989-04-13 | 2008-12-02 | Sandisk Corporation | Flash EEprom system |
US6462992B2 (en) | 1989-04-13 | 2002-10-08 | Sandisk Corporation | Flash EEprom system |
US6373747B1 (en) | 1989-04-13 | 2002-04-16 | Sandisk Corporation | Flash EEprom system |
US5719808A (en) * | 1989-04-13 | 1998-02-17 | Sandisk Corporation | Flash EEPROM system |
US5602987A (en) * | 1989-04-13 | 1997-02-11 | Sandisk Corporation | Flash EEprom system |
US5936971A (en) * | 1989-04-13 | 1999-08-10 | Sandisk Corporation | Multi-state flash EEprom system with cache memory |
JPH03214498A (ja) * | 1990-01-19 | 1991-09-19 | Toshiba Corp | 半導体メモリシステム |
US5592669A (en) * | 1990-12-31 | 1997-01-07 | Intel Corporation | File structure for a non-volatile block-erasable semiconductor flash memory |
US5630093A (en) * | 1990-12-31 | 1997-05-13 | Intel Corporation | Disk emulation for a non-volatile semiconductor memory utilizing a mapping table |
JPH0527924A (ja) * | 1991-07-12 | 1993-02-05 | Internatl Business Mach Corp <Ibm> | 半導体メモリを用いた外部記憶システム及びその制御方法 |
US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US6850443B2 (en) | 1991-09-13 | 2005-02-01 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US7353325B2 (en) | 1991-09-13 | 2008-04-01 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US6081447A (en) * | 1991-09-13 | 2000-06-27 | Western Digital Corporation | Wear leveling techniques for flash EEPROM systems |
US6594183B1 (en) | 1991-09-13 | 2003-07-15 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
JP2010049713A (ja) * | 1992-01-29 | 2010-03-04 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2011103137A (ja) * | 1992-01-29 | 2011-05-26 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2008282429A (ja) * | 1992-01-29 | 2008-11-20 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2009146458A (ja) * | 1992-01-29 | 2009-07-02 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2011222051A (ja) * | 1992-01-29 | 2011-11-04 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2010049714A (ja) * | 1992-01-29 | 2010-03-04 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
JP2010049712A (ja) * | 1992-01-29 | 2010-03-04 | Microsoft Corp | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム |
US5500742A (en) * | 1992-06-12 | 1996-03-19 | Ricoh Company, Ltd. | Control unit of flash memory and facsimile machine using such control unit |
EP0589597A2 (en) * | 1992-09-22 | 1994-03-30 | International Business Machines Corporation | Flash non-volatile memory |
EP0589597A3 (en) * | 1992-09-22 | 1995-08-09 | Ibm | Non-volatile Flash memory. |
US5544119A (en) * | 1992-10-30 | 1996-08-06 | Intel Corporation | Method for assuring that an erase process for a memory array has been properly completed |
US5479638A (en) * | 1993-03-26 | 1995-12-26 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporation wear leveling technique |
US5388083A (en) * | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
WO1994023369A1 (en) * | 1993-03-26 | 1994-10-13 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
US5600821A (en) * | 1993-07-28 | 1997-02-04 | National Semiconductor Corporation | Distributed directory for information stored on audio quality memory devices |
US5983312A (en) * | 1993-10-01 | 1999-11-09 | Fujitsu Limited | Simultaneously writing to and erasing two commonly numbered sectors |
US6584579B1 (en) | 1993-10-01 | 2003-06-24 | Fujitsu Limited | Method of writing, erasing, and controlling memory for memory device |
US6125424A (en) * | 1993-10-01 | 2000-09-26 | Fujitsu Limited | Method of writing, erasing, and controlling memory and memory device having erasing and moving components |
US5802551A (en) * | 1993-10-01 | 1998-09-01 | Fujitsu Limited | Method and apparatus for controlling the writing and erasing of information in a memory device |
US6766409B2 (en) | 1993-10-01 | 2004-07-20 | Fujitsu Limited | Method of writing, erasing, and controlling memory for memory device |
US7257666B2 (en) | 1993-10-01 | 2007-08-14 | Fujitsu Limited | Method of writing, erasing, and controlling memory for memory device |
US6161163A (en) * | 1993-10-01 | 2000-12-12 | Fujitsu Limited | Method of writing, erasing, and controlling memory for memory device |
WO1995010083A1 (en) * | 1993-10-04 | 1995-04-13 | Cirrus Logic, Inc. | Flash memory with reduced erasing and overwriting |
US6912618B2 (en) | 1995-07-31 | 2005-06-28 | Lexar Media, Inc. | Direct logical block addressing flash memory mass storage architecture |
US6801979B1 (en) | 1995-07-31 | 2004-10-05 | Lexar Media, Inc. | Method and apparatus for memory control circuit |
US6223308B1 (en) | 1995-07-31 | 2001-04-24 | Lexar Media, Inc. | Identification and verification of a sector within a block of mass STO rage flash memory |
US5907856A (en) * | 1995-07-31 | 1999-05-25 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US6172906B1 (en) | 1995-07-31 | 2001-01-09 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US5845313A (en) * | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US6393513B2 (en) | 1995-07-31 | 2002-05-21 | Lexar Media, Inc. | Identification and verification of a sector within a block of mass storage flash memory |
US5838614A (en) * | 1995-07-31 | 1998-11-17 | Lexar Microsystems, Inc. | Identification and verification of a sector within a block of mass storage flash memory |
US6145051A (en) * | 1995-07-31 | 2000-11-07 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US6757800B1 (en) | 1995-07-31 | 2004-06-29 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US9026721B2 (en) | 1995-07-31 | 2015-05-05 | Micron Technology, Inc. | Managing defective areas of memory |
US6128695A (en) * | 1995-07-31 | 2000-10-03 | Lexar Media, Inc. | Identification and verification of a sector within a block of mass storage flash memory |
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US5930815A (en) * | 1995-07-31 | 1999-07-27 | Lexar Media, Inc. | Moving sequential sectors within a block of information in a flash memory mass storage architecture |
US6115785A (en) * | 1995-07-31 | 2000-09-05 | Lexar Media, Inc. | Direct logical block addressing flash memory mass storage architecture |
US6125435A (en) * | 1995-09-13 | 2000-09-26 | Lexar Media, Inc. | Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory |
US5928370A (en) * | 1997-02-05 | 1999-07-27 | Lexar Media, Inc. | Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure |
US6411546B1 (en) | 1997-03-31 | 2002-06-25 | Lexar Media, Inc. | Nonvolatile memory using flexible erasing methods and method and system for using same |
US6587382B1 (en) | 1997-03-31 | 2003-07-01 | Lexar Media, Inc. | Nonvolatile memory using flexible erasing methods and method and system for using same |
US6122195A (en) * | 1997-03-31 | 2000-09-19 | Lexar Media, Inc. | Method and apparatus for decreasing block write operation times performed on nonvolatile memory |
US6327639B1 (en) | 1997-12-11 | 2001-12-04 | Lexar Media, Inc. | Method and apparatus for storing location identification information within non-volatile memory devices |
US6076137A (en) * | 1997-12-11 | 2000-06-13 | Lexar Media, Inc. | Method and apparatus for storing location identification information within non-volatile memory devices |
US6813678B1 (en) | 1998-01-22 | 2004-11-02 | Lexar Media, Inc. | Flash memory system |
US6040997A (en) * | 1998-03-25 | 2000-03-21 | Lexar Media, Inc. | Flash memory leveling architecture having no external latch |
US5963474A (en) * | 1998-05-11 | 1999-10-05 | Fujitsu Limited | Secondary storage device using nonvolatile semiconductor memory |
US6374337B1 (en) | 1998-11-17 | 2002-04-16 | Lexar Media, Inc. | Data pipelining method and apparatus for memory control circuit |
US6034897A (en) * | 1999-04-01 | 2000-03-07 | Lexar Media, Inc. | Space management for managing high capacity nonvolatile memory |
US6262918B1 (en) | 1999-04-01 | 2001-07-17 | Lexar Media, Inc. | Space management for managing high capacity nonvolatile memory |
US6141249A (en) * | 1999-04-01 | 2000-10-31 | Lexar Media, Inc. | Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time |
US6134151A (en) * | 1999-04-01 | 2000-10-17 | Lexar Media, Inc. | Space management for managing high capacity nonvolatile memory |
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 |
US6760255B2 (en) | 2000-02-17 | 2004-07-06 | Sandisk Corporation | Flash EEPROM system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6580638B2 (en) | 2000-02-17 | 2003-06-17 | Sandisk Corporation | Flash EEPROM system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6996008B2 (en) | 2000-02-17 | 2006-02-07 | Sandisk Corporation | Flash EEPROM system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6567307B1 (en) | 2000-07-21 | 2003-05-20 | Lexar Media, Inc. | Block management for mass storage |
US6898662B2 (en) | 2001-09-28 | 2005-05-24 | Lexar Media, Inc. | Memory system sectors |
US8694722B2 (en) | 2001-09-28 | 2014-04-08 | Micron Technology, Inc. | Memory systems |
US9489301B2 (en) | 2001-09-28 | 2016-11-08 | Micron Technology, Inc. | Memory systems |
US9032134B2 (en) | 2001-09-28 | 2015-05-12 | Micron Technology, Inc. | Methods of operating a memory system that include outputting a data pattern from a sector allocation table to a host if a logical sector is indicated as being erased |
US9213606B2 (en) | 2002-02-22 | 2015-12-15 | Micron Technology, Inc. | Image rescue |
US7039788B1 (en) | 2002-10-28 | 2006-05-02 | Sandisk Corporation | Method and apparatus for splitting a logical block |
US7171536B2 (en) | 2002-10-28 | 2007-01-30 | Sandisk Corporation | Unusable block management within a non-volatile memory system |
US7287118B2 (en) | 2002-10-28 | 2007-10-23 | Sandisk Corporation | Maintaining an average erase count in a non-volatile storage system |
US7234036B1 (en) | 2002-10-28 | 2007-06-19 | Sandisk Corporation | Method and apparatus for resolving physical blocks associated with a common logical block |
US6831865B2 (en) | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
US7181611B2 (en) | 2002-10-28 | 2007-02-20 | Sandisk Corporation | Power management block for use in a non-volatile memory system |
US7526599B2 (en) | 2002-10-28 | 2009-04-28 | Sandisk Corporation | Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system |
US7174440B2 (en) | 2002-10-28 | 2007-02-06 | Sandisk Corporation | Method and apparatus for performing block caching in a non-volatile memory system |
US7254668B1 (en) | 2002-10-28 | 2007-08-07 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
US8412879B2 (en) | 2002-10-28 | 2013-04-02 | Sandisk Technologies Inc. | Hybrid implementation for error correction codes within a non-volatile memory system |
US7120729B2 (en) | 2002-10-28 | 2006-10-10 | Sandisk Corporation | Automated wear leveling in non-volatile storage systems |
US7103732B1 (en) | 2002-10-28 | 2006-09-05 | Sandisk Corporation | Method and apparatus for managing an erase count block |
US6973531B1 (en) | 2002-10-28 | 2005-12-06 | Sandisk Corporation | Tracking the most frequently erased blocks in non-volatile memory systems |
US7809962B2 (en) | 2002-10-28 | 2010-10-05 | Sandisk Corporation | Power management block for use in a non-volatile memory system |
US6985992B1 (en) | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
US7096313B1 (en) | 2002-10-28 | 2006-08-22 | Sandisk Corporation | Tracking the least frequently erased blocks in non-volatile memory systems |
US7035967B2 (en) | 2002-10-28 | 2006-04-25 | Sandisk Corporation | Maintaining an average erase count in a non-volatile storage system |
US7559004B1 (en) | 2003-10-01 | 2009-07-07 | Sandisk Corporation | Dynamic redundant area configuration in a non-volatile memory system |
US7702880B2 (en) | 2003-10-01 | 2010-04-20 | Sandisk Corporation | Hybrid mapping implementation within a non-volatile memory system |
US7188228B1 (en) | 2003-10-01 | 2007-03-06 | Sandisk Corporation | Hybrid mapping implementation within a non-volatile memory system |
US7089349B2 (en) | 2003-10-28 | 2006-08-08 | Sandisk Corporation | Internal maintenance schedule request for non-volatile memory system |
US8706990B2 (en) | 2003-10-28 | 2014-04-22 | Sandisk Technologies Inc. | Adaptive internal table backup for non-volatile memory system |
US7032087B1 (en) | 2003-10-28 | 2006-04-18 | Sandisk Corporation | Erase count differential table within a non-volatile memory system |
US9576154B2 (en) | 2004-04-30 | 2017-02-21 | Micron Technology, Inc. | Methods of operating storage systems including using a key to determine whether a password can be changed |
US10049207B2 (en) | 2004-04-30 | 2018-08-14 | Micron Technology, Inc. | Methods of operating storage systems including encrypting a key salt |
US8106631B2 (en) | 2007-02-14 | 2012-01-31 | Denso Corporation | Charge control device for batteries |
US8687420B2 (en) | 2009-07-22 | 2014-04-01 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device |
JP2011028793A (ja) * | 2009-07-22 | 2011-02-10 | Toshiba Corp | 半導体記憶装置 |
US8910017B2 (en) | 2012-07-02 | 2014-12-09 | Sandisk Technologies Inc. | Flash memory with random partition |
Also Published As
Publication number | Publication date |
---|---|
JPH07109717B2 (ja) | 1995-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62283497A (ja) | メモリ書き込み制御方法 | |
JP2685173B2 (ja) | メモリ書き込み制御方法 | |
US6871259B2 (en) | File system including non-volatile semiconductor memory device having a plurality of banks | |
US5682497A (en) | Managing file structures for a flash memory file system in a computer | |
US5890188A (en) | Nonvolatile semiconductor memory device having means for selective transfer of memory block contents and for chaining together unused memory blocks | |
EP0544252A2 (en) | Data management system for programming-limited type semiconductor memory and IC memory card having the data management system | |
JP3898305B2 (ja) | 半導体記憶装置、半導体記憶装置の制御装置及び制御方法 | |
US5937434A (en) | Method of managing a symmetrically blocked nonvolatile memory having a bifurcated storage architecture | |
JP4031190B2 (ja) | メモリカード、不揮発性メモリ、不揮発性メモリのデータ書き込み方法及びデータ書き込み装置 | |
US8046530B2 (en) | Process and method for erase strategy in solid state disks | |
US20040085849A1 (en) | Flash memory, and flash memory access method and apparatus | |
US20010042158A1 (en) | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture | |
MX2007001185A (es) | Sistemas, metodos, medio legible por computadora y aparato para el manejo de memoria utilizando una memoria de acceso aleatorio no volatil. | |
JPH07105691A (ja) | 記憶装置の書き込み/消去および管理方法 | |
JPH08328762A (ja) | 半導体ディスク装置及びそのメモリ管理方法 | |
US6675278B1 (en) | Method and apparatus for managing memory | |
US6581133B1 (en) | Reclaiming memory from deleted applications | |
CN109918024B (zh) | 存储管理方法、装置、单片机设备和可读存储介质 | |
KR20070006502A (ko) | 데이터 저장장치, 데이터 저장방법, 및 그 기록매체 | |
JP3793868B2 (ja) | フラッシュメモリ管理装置及び記録媒体 | |
JPH113287A (ja) | 記憶装置およびそれに用いられる記憶領域管理方法 | |
JPS61227300A (ja) | 電気的に変更可能なromへの書込み方法 | |
JP2749752B2 (ja) | メモリの書き込み制御装置 | |
KR100319254B1 (ko) | 플레쉬 메모리를 이용한 비휘발성 데이터 영역 복구 방법 | |
JP2758284B2 (ja) | 電気的に書き込み消去可能な不揮発性メモリを備えたカウンタ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |