JP2000250820A - 不揮発性メモリへのデータ保存方法 - Google Patents

不揮発性メモリへのデータ保存方法

Info

Publication number
JP2000250820A
JP2000250820A JP2000041485A JP2000041485A JP2000250820A JP 2000250820 A JP2000250820 A JP 2000250820A JP 2000041485 A JP2000041485 A JP 2000041485A JP 2000041485 A JP2000041485 A JP 2000041485A JP 2000250820 A JP2000250820 A JP 2000250820A
Authority
JP
Japan
Prior art keywords
memory
memory segment
value
data
volatile 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.)
Pending
Application number
JP2000041485A
Other languages
English (en)
Inventor
Joel B Larner
ジョエル・ビー・ラーナー
Michael J O'brien
マイケル・ジェイ・オブライエン
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2000250820A publication Critical patent/JP2000250820A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Abstract

(57)【要約】 【課題】消去可能で追記書き込み可能な不揮発性メモリ
へ可変データを記憶する。 【解決手段】セグメント化された少なくとも2つのフラ
ッシュメモリセグメント106,108,110を使用
する。1つのメモリセグメント106の使用可能領域が
ほとんどないときまたはそのメモリセグメント106に
誤りあるときに、最新の値が新メモリセグメント108
に書き込まれる。初期化をしている間、関係する全変数
が既定値と共にRAM104に書き込まれる。使用中の
フラッシュメモリセグメント108は、最古のエントリ
から最新のエントリまで逐次読み出され、フラッシュメ
モリ108からの値はRAM104の値を上書きするた
めに使用される。RAM104は全ての変数に対する最
新値を保持する。新メモリセグメント108が書き込ま
れる場合、その新メモリセグメント108はRAM10
4からの値を使用して書き込まれる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的にはコンピ
ュータ・プロセッサによるシステムの不揮発性メモリへ
のデータ保存方法に係り、更に詳細には、可変情報(cha
nging information)を不揮発性メモリに記憶する不揮発
性メモリデータへの保存方法に関する。
【0002】
【従来の技術】コンピュータシステムは、一般に、ラン
ダムアクセスメモリ(Random Access Memory;以下、RA
Mと称す)にデータを記憶する。RAM内の記憶領域(me
mory location)を速やかに上書きすることができる。一
般に、RAMは揮発性である。このことは、電力が供給
されなくなると全情報が消去されることを意味する。歴
史的に、コンピュータ・プロセッサによるシステムにお
ける不変ソフトウェア(ファームウェアと称される)
は、度々、不揮発性で消去不能な読取り専用メモリ(Re
ad Only Memory;以下、ROMと称す)に記憶されてい
た。そのため、ソフトウェアの変更が必要となった場合
はROMを交換していた。近年では、プログラム可能ま
たは消去可能な様々な不揮発性メモリ技術が開発されて
いる。一般に、消去可能な不揮発性メモリデバイスは、
ファームウェアを更新するために交換する必要がない。
それら消去可能な不揮発性メモリデバイスには、プログ
ラム可能読取り専用メモリ(Programmable Read Only Me
mory;以下、PROMと称す)およびフラッシュメモリ
と称される電気的に消去可能なプログラム可能読取り専
用メモリ(Electrically Erasable Programmable Read
Only Memory;以下、EEPROMと称す)が含まれる。
フラッシュメモリチップは、電気的に消去可能であり、
消去された各記憶領域に一度だけ書き込むことができ
る。1つの記憶領域の内容を変えるためには、全チップ
(または、いくつかのバージョンでは、チップの多くの
メモリセグメントあるいはブロック)を消去する必要が
あり、その内容を再書き込みする必要がある。
【0003】いくつかの情報は時間が経つにつれて変化
するため、不揮発性メモリに記憶する必要がある。例え
ば、電子機械的なコンピュータ周辺装置は、予防保守の
ために電力の供給時間を追跡(track)する必要がある。
一般的な取り組みは、毎時間ごとに、電源投入(power-o
n)データを更新することである。電源投入情報を不揮発
性メモリに記憶しなければならない。一般的な取り組み
方法の一つとして、システム電力がオフになっても、低
電力スタティックRAMに電力の供給を維持するための
電池をシステムが備えることによって、データをスタテ
ィックRAMに記憶する方法がある。
【0004】
【発明が解決しようとする課題】しかし、この方法は比
較的高価であり、その信頼性はバッテリの充電および電
力切替え回路(power switch over circuitry)の保全性
に依存している。
【0005】このため、可変データ(changing data)の
不揮発性記憶に対する必要性が大きくなってきている。
【0006】本発明は、上記事情にかんがみてなされた
ものであり、消去可能で追記書き込み可能な不揮発性メ
モリへの可変データの記憶を目的とする。
【0007】
【課題を解決するための手段】不揮発性の追記書き込み
可能なメモリ(write-once memory)が可変データの記憶
のために使用される。実施例ではセグメント化されたフ
ラッシュメモリが使用されるが、個々のメモリセグメン
トは消去可能である。少なくとも2つのメモリセグメン
トが使用される。1つのメモリセグメントの使用可能領
域がほとんどない(nearly full)ときまたはそのメモリ
セグメントに誤りあるときに、最新の値が新メモリセグ
メントに書き込まれる。初期化をしている間、関係する
全変数が既定値(default value)と共にRAMに書き込
まれる。使用中のフラッシュメモリセグメントは、最古
のエントリから最新のエントリまで逐次読み出され、フ
ラッシュメモリからの値はRAMの値(または値に対す
るポインタ)を上書きするために使用される。RAMは
全ての変数に対する最新値を保持する(または指定す
る)。新メモリセグメントが書き込まれる場合、その新
メモリセグメントはRAMからの値を使用して書き込ま
れる。この方法により、情報の各記憶項目に対する最新
(現行)値が特定され、新しいデータの追加・古いデー
タの削除が行われ、メモリセグメントの使用可能領域が
ないときに作動が開始され、停電時からの回復が可能と
なる。
【0008】
【発明の実施の形態】図1は、本発明に係るプロセッサ
によるシステムを示すブロック図である。プロセッサ1
00はファームウェア102によって制御され、ファー
ムウェア102はROM内に保持されていてもよい。さ
らに、そのシステムは揮発性RAM104を使用する。
さらに、そのシステムは不揮発性メモリ(106,10
8,110)を使用する。本発明の特定の実施例では、
セグメント化(あるいはブロック化)されたフラッシュ
メモリが使用される。各記憶領域は一度だけ書き込むこ
とができるが、全てのメモリセグメント(segment)また
はメモリブロック(block)を消去できる。すなわち、消
去できる最小の部分は、セグメント化されたフラッシュ
メモリのメモリセグメント106、メモリセグメント1
08またはメモリセグメント110である。他の種類の
消去可能な不揮発性の追記書き込み可能メモリ(erasabl
e, non-volatile, write-once memory)も同様に使用す
ることができる。以下の記載の中で、「消去値(erased
value)」という表現は、消去後に、不揮発性メモリセグ
メント内の記憶領域に記憶されるどのような値をも意味
する。特定の実施例においては、不揮発性メモリセグメ
ントが消去される場合、各記憶領域はFFFF hex
に設定される。
【0009】可変パラメータの記憶に対する消去可能で
追記書き込み可能(write-once)なセグメント化されたメ
モリの使用は、以下のような問題の解決を必要とする。
【0010】情報の各記憶項目に対する最新(現在)値
の確認 新しいデータの追加と古いデータの削除に対する対処 メモリセグメントの使用可能領域がない場合の備え 停電時への備え(一つのメモリセグメントから他のメモ
リセグメントヘのデータ転送中またはデータ書き込み中
に電力の供給が切れても、データが失なわれないように
するため) 本発明はこれらの問題をすべて解決し、以下に説明され
るように、付加的な特徴を提供する。
【0011】実施例においては、メモリ管理の便宜上、
記憶されるべき情報の各項目は、パラメータと呼ばれる
データ構造にパッケージされる。ここでパラメータはデ
ータの識別,データ長および実際のデータから構成され
る。実施例では、各パラメータはパラメータIDを有し
ている。パラメータIDは情報の項目を識別し、情報の
項目の長さを指定する。メモリにおいて、特定されたデ
ータはパラメータIDの直後に続く。実施例では、パラ
メータIDは1つの16ビット・ワードであり、パラメ
ータID内の2つの最上位ビットは、以下のように、3
つのIDクラスの内の1つを指定する。 00 16ビットデータ領域 01 32ビットデータ領域 10 (次ワードが長さを指定する)可変長データ領域
【0012】本発明の実施例において、本発明は、取り
外し可能な記憶媒体を有するマスメモリ・ドライブ機構
(mass-memory drive mechanism)で使用される。不揮発
性メモリに記憶する該当データの例として、(製造時に
決定される)ドライブ・シリアルナンバー,製造日,ド
ライブの電源が投入されていた時間数,媒体がドライブ
にロードされた回数(ロードカウント)およびドライブ
の寿命の間に読み出されまたは書き込まれたデータの量
(リードカウント(read counter))を含む。これらの種
類のデータは、保守または予備保守のために使用され
る。ドライブがしばらくの間使用された後、関連したパ
ラメータを記憶するために使用される不揮発性メモリの
セグメントは、以下の表1のように表現される。
【0013】
【表1】
【0014】表1において、ロードカウントおよびリー
ドカウントパラメータは、それらが最初に不揮発性メモ
リセグメントに書き込まれた後、新しい情報により更新
されている。実施例では、記憶されるパラメータはファ
ームウェアにコード化される。初期化の間、ファームウ
ェアは各パラメータ用の揮発性RAMへのエントリを作
成し、各パラメータに既定値を割り当てる。それから、
ファームウェアは、各パラメータの値を読み出し、その
値をRAMに上書きしながら、不揮発性メモリセグメン
トを最初から読み出す。パラメータの新しい値がわかる
と、RAM内の前のパラメータの値は置き換えられる。
不揮発性メモリセグメントを通じてこのプログレッシブ
・ウォークを実行することにより、RAMにおける最終
結果の情報は全パラメータについて最新値となる。実施
例では、FFFF hexの消去値はパラメータIDに
対して有効ではないので、パラメータIDが必要となる
FFFF値に初期ファームウェアが遭遇(encounter)す
るとき、ファームウェアはそれが記憶された最終情報に
到達したことを認識する。
【0015】ファームウェアは、各パラメータ用に既知
の記憶領域を予約(reserve)しておくことが好ましい。
ファームウェアは、通常、コンパイル・コードでの変数
参照(variable reference)によって処理されるように、
各データ項目用の既知の固定領域(fixed location)を参
照することができる。更に、これにより、各パラメータ
の現在の領域を発見するための参照探索(reference loo
k-up)の必要が無いので、パラメータに対する速い読み
出しアクセスが提供される。しかし、RAM内の記憶領
域が望ましい場合、不揮発性メモリの最新の記憶領域に
対するポインタをRAM内に記憶してもよい。この場
合、アクセスは遅くなるが、度々変化するパラメータお
よびRAMの容量を大量に使用する長大なパラメータに
対しては許容される。揮発性メモリにおけるデータ構造
は、不揮発性メモリにおけるデータ構造と同じであるか
もしれないし、違うかもしれない。唯一つの要求は、フ
ァームウェアはこれら全てのパラメータに対するRAM
の記憶領域を知っている必要があることである。このこ
とは、直接コンパイルされた参照(direct compiled ref
erence)またはルックアップテーブル/ハッシュテーブ
ル(lookup/hash table)によって成される。
【0016】更新されたパラメータ値は不揮発性メモリ
セグメントに追加されるため、結局、メモリセグメント
の使用可能領域がなくなる。本発明の実施例では、1つ
のメモリセグメントの使用可能領域がなくなる場合(ま
たは所定のしきい値に到達する場合もしくはパラメータ
更新動作中に電源故障のためにパラメータに誤りがある
場合)、RAMに記憶されているように、パラメータの
最新値が未使用の不揮発性メモリセグメントにコピーさ
れる。以前使用されていたメモリセグメントは、そのと
き消去してもよい。システムは可変パラメータのために
2つのメモリセグメントを予約しておき、2つのメモリ
セグメント間で交互に使用してもよい。代替として、シ
ステムは、他のメモリセグメント選択アルゴリズムを使
用してもよい。その場合、揮発性RAMからコピーする
ために1つの未使用メモリセグメントが利用可能である
ことだけが要件となる。
【0017】不揮発性メモリセグメントに連続してアク
セスした後、揮発性RAM内の各パラメータはその最新
値(既定値または不揮発性メモリからの最新値)を有す
ることになる。パラメータが更新される毎に、または新
メモリセグメントが書き込まれる毎に、その最新値を持
つパラメータが不揮発性メモリに書き込まれる。同様
に、パラメータがファームウェアの新バージョンで消去
されている場合、そのファームウェアは消去されたパラ
メータのためにRAM記憶領域を割り当てることはな
く、そのパラメータは不揮発性メモリから揮発性メモリ
ヘコピーされない。新しい不揮発性メモリセグメントに
書き込まれる場合、消去されたパラメータは新しい不揮
発性メモリセグメントに書き込まれない。結果として、
ファームウェアが更新された場合および新パラメータが
追加または消去された場合、それらは自動的に不揮発性
メモリのパラメータに追加され、または不揮発性メモリ
のパラメータから消去される。
【0018】最初のメモリセグメントは新メモリセグメ
ントが書き込まれるまで消去されない。新メモリセグメ
ントの書き込み中に、電力の供給が切れると、その新メ
モリセグメントは不良状態となる。したがって、2つの
メモリセグメントが初期化の間にパラメータデータを含
んでいる場合と、システムは、2つのメモリセグメント
のどちらが有効であり、最新であるかを判断する方法を
備える必要がある。同様に、値が不揮発性メモリに書き
込まれている間に電力が失われる場合、その新メモリセ
グメントは不良状態になる。本発明に係る方法は、図2
から図5に示すように、不揮発性メモリにパラメータを
書き込んでいる最中における電力損失(power loss)から
の回復および新メモリセグメントの書き込みの最中にお
ける電力損失からの回復を提供する。
【0019】図2から図5は、本発明に係る可変データ
を記憶するために消去可能な不揮発性メモリを使用する
方法を示すフローチャートである。図2は製造期間中ま
たはシステムを初めて起動するときに起きる初期状態の
設定を示すフローチャートである。2つのメモリセグメ
ントを可変データの不揮発性メモリにおける使用のため
に指定する(ステップ200)。第1のメモリセグメン
トは使用可能領域がなくなるまで使用され、その後、第
2のメモリセグメントが使用される。2つのメモリセグ
メントは、(システムを2つのメモリセグメント間で後
方(back)および前方(forth)に切り替えて)可変データ
の不揮発性記憶に割り当ててもよいし、または使用され
る少なくとも2つのメモリセグメントを確認するために
他のアルゴリズムを使用してもよい。両方のメモリセグ
メントは最初に消去されるべきである。使用される第1
メモリセグメントの第1ワード(first word)に順序番号
(sequence number)を書き込む(ステップ202)。以
下に説明するように、新メモリセグメントが使用される
毎に、順序番号がインクリメントされ、新メモリセグメ
ントの第1ワードとして書き込まれる。
【0020】図3は、システム電力が供給されるときま
たはハードリセット後に実行されるプロセッサの初期化
プロセスの一部を示すフローチャートである。ファーム
ウェアはこれらの全てのパラメータに対するRAM記憶
領域を指定し、RAM内に値を持つ各パラメータ(いく
つかの可変長パラメータに対してはRAMは不揮発性メ
モリ内の記憶領域へのポインタを含むこともある)に対
するRAM内の既定値を書き込む(ステップ204)。
指定されたメモリセグメントそれぞれの第1ワードを読
み出す(ステップ206)。そして、正確に、1つのメ
モリセグメントが順序番号を含むかどうか(唯1つのメ
モリセグメントが消去値に等しくない第1ワードの値を
持つかどうか)を判断する(ステップ208)。両方の
メモリセグメントの第1ワードが消去値であるかを判断
する(ステップ210)。両方のメモリセグメントの第
1ワードが消去値である場合、エラー状態が生じる(ス
テップ212)。両方のメモリセグメントが1つの順序
番号を持っている(各メモリセグメントの第1ワードが
消去値でない)場合、そのメモリセグメントの1つの書
き込み中に電力の供給が失われていたのかもしれない。
この場合、メモリセグメントの最小(lowest)の順序番号
が選択される(ステップ214)。これは、最小の順序
番号を持つメモリセグメントはまだ有効なデータを持
ち、他のメモリセグメントは誤っていると仮定してい
る。そして、パラメータが現在使用されているメモリセ
グメントから順次読み出され、RAM内の値が上書きさ
れる(ステップ216)。
【0021】図4は、システム電力が供給されるときま
たはハードリセット後に実行されるプロセッサの初期化
プロセスの一部を示すフローチャートである。図4にお
いて、他のメモリセグメントが完全に消去されているか
を判断する(ステップ218)。不使用のメモリセグメ
ントが消去されていない(第1ワードが消去値でない)
場合、そのメモリセグメントが早期に書き込まれてお
り、書き込み中に停電になったことが想定される。した
がって、そのメモリセグメントを消去する(ステップ2
20)。そして、メモリセグメントの切替えプロセスを
再び開始する(ステップ226)。メモリセグメントを
切替える時間を判断し(ステップ222)、メモリセグ
メントの使用可能領域がなくなっている場合、メモリセ
グメントの切替えプロセスを開始する(ステップ22
6)。メモリセグメントの切替時間の判断(ステップ2
22)は、使用されていたメモリセグメントの割合(per
centage)のように所定のしきい値であってもよい。ま
た、他のパラメータを記憶するための領域がないことに
よって単純に判断されてもよい。
【0022】パラメータが不揮発性メモリに記憶される
とき、その値が最初に記憶され、そして、パラメータI
Dが記憶される。結果として、パラメータの記憶中に電
力供給が失われると、パラメータIDの記憶領域は消去
値を有し、このパラメータIDの記憶領域を越えて(bey
ond)記憶された消去値以外のデータが存在する。第1の
消去値を越えた記憶領域が、また消去値に等しいかを調
べるためにチェックし、メモリセグメントが誤っている
かを判断する(ステップ224)。消去値に等しくない
第1の消去値を越えた記憶領域が存在しない場合、電力
は最後のパラメータの書き込み中に失われた可能性があ
る。消去値に等しくない第1の消去値を越えた記憶領域
が存在する場合、そのメモリセグメントは誤っている。
すなわち、メモリセグメントIDがなくては、データの
期待される長さおよび有効性を判断する方法が存在しな
い。したがって、新しいメモリセグメントは全パラメー
タに対して最後の既知の値で書き込まれる(ステップ2
26)。
【0023】図5は、メモリセグメントの切り替え(ス
テップ226)(図4)を示すフローチャートである。
まず、順序番号をインクリメントする(ステップ22
8)。新しい順序番号を新メモリセグメントの第1ワー
ドに書き込む(ステップ230)。書き込みポインタを
そのメモリセグメントの第2ワードを指定するために設
定する(ステップ232)。特定の実施例では、使用さ
れている消去可能な不揮発性メモリは読み出しモードま
たは書き込みモードに設定される(place)が、同時に両
方のモードに設定されることはない。可変長パラメータ
がRAMにコピーされない場合、不揮発性メモリから可
変長データを読み出すことおよび可変長データを新メモ
リセグメントに書き込むことは、読み出しモードおよび
書き込みモードの間で、そのメモリを前方へおよび後方
へ切り替えることを要求する。したがって、RAMに正
常にコピーされていない全パラメータをRAMにコピー
する(ステップ234)。RAM内の全パラメータを書
き込みポインタで開始する新メモリセグメントにコピー
する(ステップ236)。書き込みポインタが新パラメ
ータ値を書き込むために位置付けられる(ステップ23
8)。その後、安全のため古いメモリセグメントを消去
する(ステップ240)。
【0024】順序番号はFFFF hexから0000
hexまでを含む(wrap)ことができる。FFFFは消去
値であるので無効な順序番号である。つまり、FFFF
および0000は、順序番号をインクリメントおよび書
き込むとき(図5おけるステップ228およびステップ
230)および2つのメモリセグメント内の古い方を選
択するとき(図3におけるステップ214)にチェック
されなければならない特別な例である。
【0025】他に考慮すべき点は、全てのメモリセグメ
ントが使用可能であるかどうかということである。製造
試験の過程で、不揮発性メモリの少なくとも1つの記憶
領域に欠陥があることが判断されるかもしれない。ある
いは、製品寿命の間にメモリセグメント内の少なくとも
1つの記憶領域が故障するかもしれない。部分的に動作
するメモリセグメントはまだ使用可能である。ユーザー
は、欠陥のある記憶領域に到達するまで書き込むこと、
最後の欠陥記憶領域を越えて書き込みを開始することま
たは欠陥記憶領域の周りに地図を作る(mapping)ことが
できる。不揮発性メモリに記憶される1つのパラメータ
は、特定のメモリセグメントに対する既知の欠陥記憶領
域のマップである。メモリセグメントヘの書き込み、メ
モリセグメントからの読み出し、メモリセグメントの切
り替えタイミングの判断は、すべて、欠陥記憶領域を識
別するパラメータを考慮に入れなければならない。フラ
ッシュメモリの欠陥取扱いの例として、米国特許第5,
200,959がある。
【0026】以上の本実施形態の説明は、本発明を制限
するものではない。請求項は、先行技術によって制限さ
れない限り、本発明の代替可能な実施例を含むよう解釈
されるような意図をもって作成されている。
【0027】以下に、本発明の実施の形態を要約する。 1. 消去可能であるが上書き不能な不揮発性メモリ
(106,108,110)にデータを保存する方法で
あって、(a)前記データ用の揮発性メモリ内の記憶領
域を定義するステップ(204)と、(b)前記データ
が変化するとき、前記揮発性メモリ内にデータを上書き
し、前記不揮発性メモリの第1消去可能部分に前記デー
タの新しいバージョンを書き込むステップと、(c)前
記不揮発性メモリの前記第1部分がほとんどフルかどう
かを判断するステップ(222)と、(d)前記不揮発
性メモリの前記第1部分がほとんどフルであると判断さ
れたとき、前記揮発性メモリから前記不揮発性メモリの
第2消去可能部分に前記データをコピーするステップ
(234)と、を有する不揮発性メモリへのデータ保存
方法。
【0028】2.ステップ(a)の後に、(al)前記
揮発性メモリ内のデータに既定値を割り当てるステップ
(204)と、(a2)前記不揮発性メモリから前記デ
ータを読み出すステップ(216)と、(a3)前記揮
発性メモリからの値を、前記不揮発性メモリから読み出
した値で上書きするステップと、を更に有する上記1に
記載の不揮発性メモリへのデータ保存方法。
【0029】3. ステップ(a)の後に、(al)前
記不揮発性メモリの2つの消去可能部分の両方が前記デ
ータを保持するかを判断するステップ(210)と、
(a2)前記ステップ(al)で特定された前記2つの
消去可能部分のうち1つが最初に書き込まれたかを判断
し(214)、ステップ(b)で使用する第1消去可能
部分として指定するステップと、を更に有する上記1に
記載の不揮発性メモリへのデータ保存方法
【0030】4. ステップ(b)が、(bl)前記不
揮発性メモリの前記第1消去可能部分の記憶領域を識別
領域として指定するステップと、(b2)前記識別領域
の後に、前記不揮発性メモリの前記第1消去可能部分に
前記データを書き込むステップと、(b3)前記データ
に対応する識別を前記識別領域に書き込むステップと、
を更に有する上記1に記載の不揮発性メモリへのデータ
保存方法
【0031】
【発明の効果】以上の説明から明らかなように、本発明
によると、消去可能で追記書き込み可能な不揮発性メモ
リへ可変データを記憶することができる。
【図面の簡単な説明】
【図1】本発明に係るプロセッサによるシステムを示す
ブロック図である。
【図2】本発明に係る初期状態の設定を示す方法を示す
フローチャートである。
【図3】システム電力が供給されるときまたはハードリ
セット後、に実行されるプロセッサの初期化プロセスを
示すフローチャートである。
【図4】システム電力が供給されるときまたはハードリ
セット後、に実行されるプロセッサの初期化プロセスを
示すフローチャートである。
【図5】システム電力が供給されるときまたはハードリ
セット後、に実行されるプロセッサの初期化プロセスを
示すフローチャートである。
【符号の説明】
100 プロセッサ 102 ファームウェア 104 RAM 106,108,110 メモリセグメント
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイケル・ジェイ・オブライエン アメリカ合衆国 コロラド州,ラブラン ド,ダブリュ・18ティーエイチ・ストリー ト 2306

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 消去可能であるが上書き不能な不揮発性
    メモリ(106,108,110)にデータを保存する
    方法であって、(a)前記データ用の揮発性メモリ内の
    記憶領域を定義するステップ(204)と、(b)前記
    データが変化するとき、前記揮発性メモリ内にデータを
    上書きし、前記不揮発性メモリの第1消去可能部分に前
    記データの新しいバージョンを書き込むステップと、
    (c)前記不揮発性メモリの前記第1部分がほとんどフ
    ルかどうかを判断するステップ(222)と、(d)前
    記不揮発性メモリの前記第1部分がほとんどフルである
    と判断されたとき、前記揮発性メモリから前記不揮発性
    メモリの第2消去可能部分に前記データをコピーするス
    テップ(234)と、を有することを特徴とする不揮発
    性メモリへのデータ保存方法。
JP2000041485A 1999-02-26 2000-02-18 不揮発性メモリへのデータ保存方法 Pending JP2000250820A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/258,582 US6104638A (en) 1999-02-26 1999-02-26 Use of erasable non-volatile memory for storage of changing information
US09/258582 1999-02-26

Publications (1)

Publication Number Publication Date
JP2000250820A true JP2000250820A (ja) 2000-09-14

Family

ID=22981204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000041485A Pending JP2000250820A (ja) 1999-02-26 2000-02-18 不揮発性メモリへのデータ保存方法

Country Status (5)

Country Link
US (1) US6104638A (ja)
EP (1) EP1031929A3 (ja)
JP (1) JP2000250820A (ja)
KR (1) KR100377301B1 (ja)
TW (1) TW446950B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008537192A (ja) * 2005-01-31 2008-09-11 サンディスク アイエル リミテッド フラッシュメモリ内でコピー操作を管理する方法
JP2011222048A (ja) * 2011-08-08 2011-11-04 Furuno Electric Co Ltd 情報処理装置及び情報処理プログラム

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6449683B1 (en) * 1999-12-14 2002-09-10 Intel Corporation Using non-volatile memory for power management in a computer
US6442067B1 (en) * 2000-05-23 2002-08-27 Compaq Information Technologies Group, L.P. Recovery ROM for array controllers
JP2001331327A (ja) * 2000-05-24 2001-11-30 Matsushita Electric Ind Co Ltd 電子機器
JP2001356925A (ja) * 2000-06-12 2001-12-26 Nec Corp 携帯電話機
US6658438B1 (en) * 2000-08-14 2003-12-02 Matrix Semiconductor, Inc. Method for deleting stored digital data from write-once memory device
US20020048203A1 (en) * 2000-10-19 2002-04-25 Findling Patrick M. Extending total write cycles of non-volatile memory for rolling codes
JP3709338B2 (ja) * 2000-11-22 2005-10-26 日本電気株式会社 携帯電話のユーザー設定情報管理方法とユーザー設定情報管理システム
KR100365725B1 (ko) * 2000-12-27 2002-12-26 한국전자통신연구원 플래시 메모리를 이용한 파일 시스템에서 등급별 지움정책 및 오류 복구 방법
EP1286267B1 (en) * 2001-08-17 2017-08-16 Sony Deutschland GmbH Mobile communication device and memory management method
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
US20050036387A1 (en) * 2002-04-24 2005-02-17 Seal Brian K. Method of using flash memory for storing metering data
KR100520172B1 (ko) * 2002-06-03 2005-10-10 삼성전자주식회사 개인 정보 단말기에서 데이터 보존 장치 및 방법
DE10227255B4 (de) * 2002-06-19 2008-06-26 Hyperstone Gmbh Verfahren zur Wiederherstellung von Verwaltungsdatensätzen eines blockweise löschbaren Speichers
US6941411B2 (en) * 2002-08-21 2005-09-06 Micron Technology, Inc. Non-contiguous address erasable blocks and command in flash memory
KR100490603B1 (ko) * 2002-12-06 2005-05-27 (주) 라모스테크놀러지 플래시 메모리 동작 제어 방법 및 장치
US6925523B2 (en) * 2003-03-03 2005-08-02 Agilent Technologies, Inc. Managing monotonically increasing counter values to minimize impact on non-volatile storage
KR100848315B1 (ko) * 2005-12-08 2008-07-24 한국전자통신연구원 이중 저널링을 이용한 데이터 저장 공간 확보 방법
WO2007066909A1 (en) * 2005-12-08 2007-06-14 Electronics And Telecommunications Research Institute Method for guarantying data storing space using dual journaling
US20080282024A1 (en) * 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations in storage devices based on flash memories
US7882301B2 (en) * 2007-05-09 2011-02-01 Stmicroelectronics S.R.L. Wear leveling in storage devices based on flash memories and related circuit, system, and method
US7991942B2 (en) 2007-05-09 2011-08-02 Stmicroelectronics S.R.L. Memory block compaction method, circuit, and system in storage devices based on flash memories
US8041883B2 (en) 2007-05-09 2011-10-18 Stmicroelectronics S.R.L. Restoring storage devices based on flash memories and related circuit, system, and method
US7743203B2 (en) * 2007-05-11 2010-06-22 Spansion Llc Managing flash memory based upon usage history
DE102007026693A1 (de) 2007-06-08 2008-12-11 Robert Bosch Gmbh Verfahren und Vorrichtung zum Umorganisieren von Daten in einem Speichersystem, insbesondere für Steuergeräte in Kraftfahrzeugen
WO2009026946A1 (en) 2007-08-29 2009-03-05 Lifescan Scotland Limited A data management system and method
US7917803B2 (en) * 2008-06-17 2011-03-29 Seagate Technology Llc Data conflict resolution for solid-state memory devices
JP2010020586A (ja) * 2008-07-11 2010-01-28 Nec Electronics Corp データ処理装置
US7872929B2 (en) * 2009-04-28 2011-01-18 Lsi Corporation Accessing memory cells in a memory circuit
US8863198B2 (en) 2012-08-17 2014-10-14 Flextronics Ap, Llc Television having silos that animate content source searching and selection
US20160119675A1 (en) 2012-09-06 2016-04-28 Flextronics Ap, Llc Programming user behavior reporting
US11368760B2 (en) 2012-08-17 2022-06-21 Flextronics Ap, Llc Applications generating statistics for user behavior
WO2014092812A1 (en) * 2012-12-13 2014-06-19 Flextronics Ap, Llc Report database intelligent television
KR20160042224A (ko) * 2014-10-07 2016-04-19 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9569641B2 (en) 2015-03-24 2017-02-14 Nxp Usa, Inc. Data processing system with temperature monitoring for security
US10420928B2 (en) 2015-12-14 2019-09-24 Medtronic, Inc. Implantable medical device having a scheme for managing storage of data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61201356A (ja) * 1985-03-01 1986-09-06 Nippon Telegr & Teleph Corp <Ntt> 記憶装置
JPH10133940A (ja) * 1996-09-30 1998-05-22 Nokia Mobile Phones Ltd メモリ装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4752871A (en) * 1985-09-30 1988-06-21 Motorola, Inc. Single-chip microcomputer having a program register for controlling two EEPROM arrays
US4931997A (en) * 1987-03-16 1990-06-05 Hitachi Ltd. Semiconductor memory having storage buffer to save control data during bulk erase
US5210854A (en) * 1989-06-14 1993-05-11 Digital Equipment Corporation System for updating program stored in eeprom by storing new version into new location and updating second transfer vector to contain starting address of new version
US5200959A (en) * 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
FR2666425A1 (fr) * 1990-08-31 1992-03-06 Gemplus Card Int Procede et dispositif de mise a jour d'informations dans une memoire et leur utilisation dans les cartes a memoire.
US5303198A (en) * 1990-09-28 1994-04-12 Fuji Photo Film Co., Ltd. Method of recording data in memory card having EEPROM and memory card system using the same
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
US5596738A (en) * 1992-01-31 1997-01-21 Teac Corporation Peripheral device control system using changeable firmware in a single flash memory
JP2856621B2 (ja) * 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5566335A (en) * 1993-03-16 1996-10-15 Hewlett-Packard Company Method and apparatus for firmware upgrades in embedded systems
US5818755A (en) * 1996-10-16 1998-10-06 Fujitsu Limited Storage apparatus having a nonvolatile storage device capable of retaining data after an incomplete write operation and method of accessing same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61201356A (ja) * 1985-03-01 1986-09-06 Nippon Telegr & Teleph Corp <Ntt> 記憶装置
JPH10133940A (ja) * 1996-09-30 1998-05-22 Nokia Mobile Phones Ltd メモリ装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008537192A (ja) * 2005-01-31 2008-09-11 サンディスク アイエル リミテッド フラッシュメモリ内でコピー操作を管理する方法
JP2011222048A (ja) * 2011-08-08 2011-11-04 Furuno Electric Co Ltd 情報処理装置及び情報処理プログラム

Also Published As

Publication number Publication date
TW446950B (en) 2001-07-21
KR100377301B1 (ko) 2003-03-26
KR20000062616A (ko) 2000-10-25
EP1031929A2 (en) 2000-08-30
EP1031929A3 (en) 2002-10-02
US6104638A (en) 2000-08-15

Similar Documents

Publication Publication Date Title
JP2000250820A (ja) 不揮発性メモリへのデータ保存方法
US6513095B1 (en) File system with assured integrity incorporating semiconductor memory device
US6038636A (en) Method and apparatus for reclaiming and defragmenting a flash memory device
US6865658B2 (en) Nonvolatile data management system using data segments and link information
KR100493732B1 (ko) 비휘발성 메모리내의 코드/데이터 경계를 조정가능하게하는 장치 및 방법
JP4132086B2 (ja) フラッシュメモリ内のブロックにおける移動セクタ
EP2058737B1 (en) Non-volatile memory device, memory management method, and program
JP4268396B2 (ja) 1回プログラム可能な不揮発性メモリデバイスのファイル管理
US6839823B1 (en) Increased reliability of data stored on flash memory in applications sensitive to power-loss
JP4588431B2 (ja) 頻繁にアクセスされたセクタの動作による不揮発性メモリに対するより速い書込み動作
US8386695B2 (en) Methods and apparatus for writing data to non-volatile memory
KR100849446B1 (ko) 기억 장치, 메모리 관리 장치, 메모리 관리 방법, 및 컴퓨터-판독가능한 기록 매체
US7904637B2 (en) Information processing apparatus, lifetime monitoring method and program for monitoring lifetime of storage device including flash memory
JPH11161563A (ja) データの記憶および再生方法
KR20020009564A (ko) 메모리 시스템
JP4301301B2 (ja) 不揮発性半導体記憶装置およびその管理方法
JP2008033801A (ja) メモリデータ管理装置
US6687815B1 (en) Method and apparatus for storing non-volatile configuration information
JPH10320984A (ja) 記憶装置
JP2006085342A (ja) メモリ制御装置、メモリ制御方法、プログラム
US20050149493A1 (en) Data recording apparatus and data recording method
JP4826232B2 (ja) 情報処理装置およびブートプログラムの書き換え方法
JP3826115B2 (ja) 記憶装置、メモリ管理方法及びプログラム
JP3313576B2 (ja) メモリアクセス制御方法及び装置
JP4019306B2 (ja) Eepromへの記録方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040206

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040430

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050419

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060425