[go: up one dir, main page]

JP2001331382A - 不揮発性メモリの管理方法および管理装置 - Google Patents

不揮発性メモリの管理方法および管理装置

Info

Publication number
JP2001331382A
JP2001331382A JP2000147172A JP2000147172A JP2001331382A JP 2001331382 A JP2001331382 A JP 2001331382A JP 2000147172 A JP2000147172 A JP 2000147172A JP 2000147172 A JP2000147172 A JP 2000147172A JP 2001331382 A JP2001331382 A JP 2001331382A
Authority
JP
Japan
Prior art keywords
user data
data array
area
information
array
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
JP2000147172A
Other languages
English (en)
Inventor
Akihiko Yamazaki
明彦 山崎
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2000147172A priority Critical patent/JP2001331382A/ja
Publication of JP2001331382A publication Critical patent/JP2001331382A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

(57)【要約】 【課題】データ更新時の電源断などで書込みエラーが発
生しても、正常な格納データを読み出せ、エラーを復旧
させ継続使用可能な不揮発性メモリの管理方法を提供す
る。 【解決手段】ユーザデータ領域にユーザデータを書込み
(702)、書き込み成功で(703)、ユーザデータ
配列参照情報が示すユーザデータ配列を読出し(70
4)、妥当性確認情報演算書込み処理を実行して書込み
データと読出しデータを照合し(705)、一致の場合
(706)、ユーザデータ配列参照情報の数だけユーザ
データ配列に書込み完了か判定し(708)、ノーでi
に1を加えてユーザデータ領域書込み処理(702)か
ら再度実行する。データの妥当性判定(706)で一致
しないと新しいユーザデータ配列に変更してエラー復旧
を行い、ユーザデータ領域への書込み(702)から再
度実行し継続使用する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、不揮発性メモリの
書き込みを行う際のデータエラーに対する信頼性を向上
させる不揮発性メモリの管理方法および管理装置に関す
る。
【0002】
【従来の技術】従来、マイクロプロセッサを搭載したシ
ステムにおいて、電源断後再起動した場合に前回使用し
ていたデータを継続して使用する必要があるシステムで
は、1次電池あるいは2次電池を用いたメモリバックア
ップ回路を付加したRAMが不揮発性メモリとして広く
用いられてきた。
【0003】このような電池を用いたメモリバックアッ
プ回路と揮発性のRAMを用いて不揮発性メモリを実現
する方法は比較的簡単に実現可能である。システムのメ
インメモリに前述のRAMを用いた不揮発性メモリを用
い、このRAMのアドレスを揮発性メモリ領域と不揮発
性メモリ領域に分割して管理することで1つのデバイス
を揮発性メモリと不揮発性メモリの両方として使用する
ことができ、コストパフォーマンスの点で優れた使用方
式であると言える。しかし、電池電圧が低下すると保持
されているデータが損なわれるのでバックアップに使用
される電池の電圧の低下には細心の注意を払う必要があ
った。
【0004】これに対し電池によるメモリバックアップ
回路が不要な不揮発性メモリデバイスを用いた不揮発性
メモリの実現方法がある。これは主にFLASH−RO
MまたはEEPROMを用いる方法で、電池によるデー
タバックアップなしでデータを長期間保存することはで
きるが、スタティックRAM等の揮発性メモリと比較し
て書込み処理にある程度の時間が必要で、書込み処理中
に電源断などが発生すると書込みエラーが発生する場合
がある。またメモリデバイスの書込み回数に寿命があ
り、頻繁に書込みを行うシステムでは、データの書込み
時にエラーが発生することがあった。
【0005】また、従来、この種のメモリ制御方法とし
ては、特開平8−138019号公報および図9に記載
のメモリ制御方法が知られている。すなわち、図9に示
すメモリカードからデータを再生する方法においては、
記録された貯蔵単位のうちから1つを選択処理901
し、貯蔵単位属性テーブルを参照して選択された貯蔵単
位の開始貯蔵領域の順番情報を読出処理902し、貯蔵
領域テーブルを参照して読出された順番に対応する使用
情報を読出して次の貯蔵領域の順番を読出す方式によ
り、前記選択された貯蔵単位の読出し終了情報が読出さ
れるまで読出し続ける処理903−905を実行する。
読出された貯蔵領域の順番情報の読出された順番に応じ
て前記データ領域の対応する貯蔵領域からのデータ読出
し処理906を実行する。このメモリ制御方法によれ
ば、不揮発性メモリを用いたメモリカードの記録処理中
に書込みエラーが無いか読出しチェックを行うようにし
ている。
【0006】このメモリ制御方法を用いれば、記録のと
きにエラーを検出した場合、他のブロックを割り当てて
再書込みを行うようにしており、記録時にデータが失わ
れることはない。しかし、この方法では、再生時にエラ
ーを検出することはできず、エラーを修復することはで
きなかった。
【0007】
【発明が解決しようとする課題】しかしながら、上記従
来のメモリ技術においては、不揮発性メモリへの書込み
データと共にこの書込みデータのチェックサムデータを
付加し、エラーを検出する方法は実用化されていたが、
この場合はエラーが検出されたことを使用者に通知して
システムの修理を促したりたり、予め用意していた初期
設定値を使用してシステムの運用を続けたりする範囲に
留められていた。すなわち、書込みデータとともにチェ
ックサムなどのエラー検出用のデータを合わせて記録す
ることにより、エラーの有無を確認して使用者に通知す
るシステムは存在するが、エラーを訂正し修復してシス
テムを継続使用するということはできないという問題が
あった。
【0008】本発明は、上記従来の問題を解決するため
になされたもので、EEPROM等の不揮発性メモリを
使用したシステムにおいて、データ更新時の電源断など
による書込み失敗、デバイスの故障、または書込み寿命
などの原因により書込みエラーが発生した場合でも、正
常な格納データを読み出すことができ、さらにエラーを
復旧させ、継続して不揮発性メモリを使用可能にする不
揮発性メモリの管理方法および管理装置を提供するもの
である。
【0009】
【課題を解決するための手段】本発明における不揮発性
メモリの管理方法は、ユーザデータを格納する不揮発性
メモリの全データ領域を再書込み許可データ領域と再書
込み禁止データ領域とに区分し、前記再書込み許可デー
タ領域には内容の変更を行うデータを格納し、前記再書
込み禁止データ領域には内容の変更を行わないデータを
格納するという構成を有している。この構成により、マ
イクロプロセッサを使用したシステムのハードウェアに
搭載されたEEPROM等の不揮発性メモリにデータを
格納する際に、格納されるデータの性質によってエラー
復旧のために必要な付加データの種別を分け、再書込み
を行うデータについてのみエラー復旧のためのデータ配
列構造を備えることにより不揮発性メモリの使用量を減
少させ、データの管理を容易にすることができる。
【0010】本発明における不揮発性メモリの管理方法
は、前記再書き込み許可データ領域がそれぞれ配列要素
を有する複数のユーザデータ配列で構成され、前記ユー
ザデータ配列にはユーザデータ領域と妥当性確認情報格
納領域および書込みエラー発生検出回数格納領域を有す
る管理情報領域とを設け、前記ユーザデータ領域には任
意に使用するデータを格納し、前記妥当性確認情報格納
領域は前記ユーザデータ領域の内容の妥当性を確認する
妥当性確認情報を格納し、前記書込みエラー発生検出回
数格納領域は同一のデータ領域に対する書込みエラーの
発生回数を格納するという構成を有している。この構成
により、不揮発性メモリに格納する再書込みを行うユー
ザデータと、その内容の妥当性を確認するためのチェッ
クサムデータおよび書込みエラー発生検出回数をグルー
プ化して一組にまとめ、このデータグループを配列要素
としてユーザデータ配列に複数格納することによりユー
ザデータ配列内でデータエラーの原因となるデータの検
出を容易にしてデータエラー検出時には他のユーザデー
タ配列のデータを読み出すというデータ救済の手段を提
供し、不揮発性メモリに格納したユーザーデータの信頼
性を高め、また頻繁にデータエラーが発生するユーザデ
ータ配列の領域の検出し、ユーザデータ配列の領域を代
替することで、データエラーによるデータ消失の可能性
を低下させることができる。
【0011】本発明における不揮発性メモリの管理方法
は、前記再書き込み許可データ領域に複数のユーザデー
タ配列参照情報を設け、前記ユーザデータ配列領域の各
ユーザデータ配列を指し示す指定情報をそれぞれ重複せ
ずに対応する前記ユーザデータ配列参照情報に記録する
という構成を有している。この構成により、配列要素を
格納した複数のユーザデータ配列を参照するために各ユ
ーザデータ配列を指し示すアドレスまたは番号といった
ユーザデータ配列参照情報を格納したポインタを複数用
いることにより現在使用中のユーザデータ配列を明確に
指し示し、合わせてエラー検出により使用不能になった
ユーザデータ配列を再利用しないように管理することが
できる。
【0012】本発明における不揮発性メモリの管理方法
は、前記ユーザデータ配列参照情報が指し示すユーザデ
ータ配列の内容の妥当性を判定し、妥当性の確証が得ら
れない場合には他のユーザデータ配列参照情報が指し示
すユーザデータ配列の配列要素の内容の妥当性を判定
し、妥当性の確証が得られたユーザデータ配列のデータ
を出力するよう制御するという構成を有している。この
構成により、現在使用中のユーザデータ配列のデータの
妥当性を検証し、データエラーを検出した場合の制御方
法を提供するもので、複数のユーザデータ配列のうちの
1つについてエラーを検出した場合でも、他のユーザデ
ータ配列のデータの妥当性が確認できたときはそのデー
タを出力することにより、エラーを検出した場合であっ
ても、正常なユーザデータが取得可能で装置を通常状態
同様に継続して稼動することができる。
【0013】本発明における不揮発性メモリの管理方法
は、前記ユーザデータ配列参照情報が指し示すユーザデ
ータ配列の妥当性を判定し、妥当性の確証が得られない
場合には、そのユーザデータ配列に対する書込みまたは
読出し機能を検証し、機能検証したユーザデータ配列に
対する書込みまたは読出し機能が正常であると判定され
た場合はそのユーザデータ配列を継続使用し、書込みま
たは読出し機能が不良であると判定された場合には、そ
のユーザデータ配列を指し示すユーザデータ配列参照情
報を更新し、更新されたユーザデータ配列参照情報が指
し示すユーザデータ配列を使用するようエラー復旧処理
を行うという構成を有している。この構成により、ユー
ザデータ配列のデータにエラーを検出した場合の復旧処
理で、該当するユーザデータ配列に対してテストパター
ンの書込みおよび読出しテストを行い再使用が可能か判
定し、再使用が不可能であれば次に使用可能なユーザデ
ータ配列に制御を移し、必要なユーザデータ配列を確保
することができる。
【0014】本発明における不揮発性メモリの管理方法
は、前記ユーザデータ配列参照情報が完全な初期化また
は工場出荷時にそれぞれ重複しない昇順または降順のユ
ーザデータ配列指定情報に初期化し、前記ユーザデータ
配列に再書き込み不可能なエラーを検出した後の復旧時
には、昇順の場合は現在使用されている複数の指定情報
のうち最も大きい指定情報の次の指定情報に更新し、降
順の場合は現在使用されている複数の指定情報のうち最
も小さい指定情報の次の指定情報に更新するという構成
を有している。この構成により、ユーザデータ配列にエ
ラーを検出した場合に、次に使用可能なユーザデータ配
列を決定するアルゴリズムであり、ユーザデータ配列毎
に過剰な付加情報をつけることなく簡単な方法でユーザ
データ配列を決定し、および管理することができる。
【0015】本発明における不揮発性メモリの管理方法
は、前記ユーザデータ配列参照情報の指定情報が対応す
るユーザデータ配列の順位に対応して初期化され、書き
込み動作途上の電源遮断後に復帰した場合、前記ユーザ
データ配列参照情報が指し示すユーザデータ配列の内容
と対応する妥当性確認情報とを判定することにより、書
き込み動作の途上で電源が遮断された瞬間に更新中だっ
たユーザデータ配列を特定し、エラー復旧処理を行うと
いう構成を有している。この構成により、不揮発性メモ
リの書込み更新途中で電源断が発生した場合の電源復旧
後に電源断が発生した時に書込み中だったユーザデータ
配列を特定することが可能で、電源復旧後、ユーザデー
タ配列の更新を有効にするか、あるいは以前の状態に復
旧させるか判断を行い、併せて書込み途中の状態にある
ユーザデータ配列を復旧させることができる。
【0016】本発明における不揮発性メモリの管理方法
は、前記ユーザデータ配列参照情報が指し示す現在使用
中のユーザデータ配列の妥当性の確証が得られずに、不
揮発性メモリの機能検証が行われる度に前記ユーザデー
タ配列のエラー発生検出回数情報を更新し、同一ユーザ
データ配列について所定の回数以上の機能検証を実施し
た場合は、現在使用しているユーザデータ配列を指し示
すユーザデータ配列参照情報を変更し、それに対応する
新しいユーザデータ配列を使用するという構成を有して
いる。この構成により、特定のユーザデータ配列にエラ
ーを検出した場合にそのユーザデータ配列の再利用を行
うか否かを判定するアルゴリズムを実装し、該当するユ
ーザデータ配列に対して行うテストパターンの書込みお
よび読出しテストの実施回数が予め規定した回数を越え
た場合にこのユーザデータ配列の信頼性が低下している
と判断し、このユーザデータ配列の使用を取りやめ、別
なユーザデータ配列へユーザーのデータを格納すること
により、データ内容の信頼性を高めることができる。
【0017】本発明における不揮発性メモリの管理装置
は、ユーザデータを格納する不揮発性メモリと、前記不
揮発性メモリに対しデータの読出しおよび書き込みを制
御する制御手段とからなり、前記制御手段により前記不
揮発性メモリに対し請求項1ないし8のいずれかに記載
の不揮発性メモリの管理方法を実行し、稼動中にデータ
エラーを検出したときに、そのデータエラーを回避して
正常に動作を継続するという構成を有している。この構
成により、不揮発性メモリにデータエラーを検出した場
合でも、通常状態同様に継続稼動可能でかつ、不揮発性
メモリが記憶するデータの内容の信頼性を高めることが
できるという作用を有する。
【0018】
【発明の実施の形態】以下、図1ないし図8に基づき、
本発明の第1ないし第7の実施の形態を詳細に説明す
る。 (第1の実施の形態)まず、図1を参照して、本発明の
第1の実施の形態における不揮発性メモリの管理方法お
よび管理装置について説明する。図1に示す不揮発性メ
モリの管理装置(情報処理装置)は、装置全体を制御す
るマイクロプロセッサ(CPU)101と、プログラム
実行に必要なデータを記憶するRAM102と、プログ
ラム等を記憶するROM103と、不揮発性を必要とす
るデータを記憶する不揮発性メモリ104と、入力デー
タをインタフェースする入力インタフェース105と、
データを入力する情報入力手段106と、出力データを
インタフェースする出力インタフェース107と、デー
タを出力する情報出力手段108と、データバス109
とにより構成される。
【0019】次に、図1を参照して、本発明の第1の実
施の形態における不揮発性メモリの管理装置の情報処理
装置としての全体的動作を説明する。この不揮発性メモ
リの管理装置は、マイクロプロセッサ101の制御の下
に行われる。すなわち、電源を投入すると、マイクロプ
ロセッサ101のリセットが解除され、マイクロプロセ
ッサ101はデータバス109を介して接続されている
ROM103に格納されているアプリケーションプログ
ラムを実行する。実行に際して必要なデータ領域をRA
M102に確保し、アプリケーションプログラム実行時
に必要なユーザデータの記録再生にEEPROM等の不
揮発性メモリ104を使用する。アプリケーションプロ
グラムの実行時には入力インタフェース105を介して
接続された情報入力手段106から入力された情報を処
理し、出力インタフェース107を介して接続された情
報出力手段108から処理結果を出力する。
【0020】次に、図2を参照して、不揮発性メモリ1
04のメモリマップを説明する。不揮発性メモリ104
はメモリマップの上で2つの領域に区分されており、格
納するデータはその用途によりそれぞれの領域に格納す
る。システム固有の番号や、システムの調整データ、ユ
ーザが設定する情報の初期値等、工場出荷時に設定して
出荷後ユーザが変更しないデータは再書込み禁止データ
領域201へ格納され、ユーザが設定する情報や、日
付、システムの運用の際に生成されシステム終了時や不
慮の電源断の時にも保存する必要がある記録データは、
再書込み許可データ領域202へ格納される。
【0021】以上説明したように、本発明の第1の実施
の形態における不揮発性メモリの管理装置は、不揮発性
メモリを、再書込みを行うデータ領域と再書込みを行わ
ないデータ領域とに分離して管理することにより、大規
模なデータエラー対策が必要なデータ領域の数を絞り、
エラー対策が不要なデータまでデータエラー対策をする
ことなく、不揮発性メモリの使用量を減少させ、データ
の管理を容易にすることができる。
【0022】(第2の実施の形態)次に、図3を参照し
て、本発明の第2の実施の形態における不揮発性メモリ
104の再書込み許可領域のメモリマップを説明する。
図3に示す不揮発性メモリ104の再書込み許可データ
領域202は、ユーザデータ配列領域301とそのユー
ザデータ配列を参照するユーザデータ配列参照情報領域
302とから構成される。ユーザデータ配列領域301
はその配列要素として複数のユーザデータ配列303を
有し、各々のユーザデータ配列
〔0〕〜〔n〕はそれぞ
れ同じ構造とされる。また、ユーザデータ配列参照情報
領域302はその配列要素として複数のユーザデータ配
列参照情報304を格納するポインタを有し、各々のユ
ーザデータ配列参照情報
〔0〕〜〔2〕はそれぞれ同様
の構造である。
【0023】次に、図3を参照して、本発明の第2の実
施の形態における不揮発性メモリ104の再書込み許可
領域の動作を説明する。完全な初期化時や工場出荷時に
それぞれユーザが使用するユーザデータ配列303を、
各ユーザデータ配列303のアドレスまたは番号等の指
定情報を用いて、重複せず一意に指し示す値に初期化す
る。例えば、ユーザデータ配列を番号で指定し、かつ番
号を昇順に管理する場合、それぞれのユーザデータ配列
参照情報304は、ユーザデータ配列参照情報
〔0〕=
0、ユーザデータ配列参照情報〔1〕=1、ユーザデー
タ配列参照情報〔2〕=2、のように初期化する。
【0024】また、このユーザデータ配列参照情報の値
を変更し、使用するユーザデータ配列303の番号を変
更することにより、ユーザデータ配列領域301上の配
置アドレスを変更し、書込み不能に陥ったアドレスを避
けて新しい配置アドレスに変更することができる。変更
または更新する場合には、その番号を全てのユーザデー
タ配列参照情報304に割当られている最高の番号より
1つ大きい番号に変更することによりユーザデータ配列
参照情報304の値の変更を完了する。
【0025】ユーザデータ配列参照情報304の最高の
値より小さい値で、かつどのユーザデータ配列参照情報
でも使用していない番号に対応するユーザデータ配列
は、書き込みエラーによる使用不能のユーザデータ配列
として管理される。
【0026】以上説明したように、本発明の第2の実施
の形態における不揮発性メモリの再書込み許可領域は、
再書込みを行うユーザデータを格納する領域を配列化し
てユーザデータ配列として多数備え、使用中のユーザデ
ータ配列を番号またはアドレスで指定することにより、
使用中のユーザデータ配列が書込み不能に陥った場合で
も、そのユーザデータ配列を避けて新しいユーザデータ
配列に変更することにより、書込みエラーを復旧し、書
込み不能領域の管理を容易にすることができる。
【0027】(第3の実施の形態)次に、図4を参照し
て、本発明の第3の実施の形態における不揮発性メモリ
104のユーザデータ配列(図3の303)のメモリマ
ップを説明する。ユーザデータ配列領域301の配列要
素の1つであるユーザデータ配列401(図3の30
3)は、ユーザデータ領域402と、管理情報領域40
3とを有し、さらに管理情報領域403は、ユーザデー
タ領域402のチェックサムデータを格納する妥当性確
認情報格納領域404と、書込みエラー発生検出回数格
納領域405とを有する。
【0028】次に、図4を参照して、本発明の第3の実
施の形態における不揮発性メモリ104のユーザデータ
配列の動作を説明する。ユーザデータ領域402には、
使用者が任意に使用するデータを格納する。そのデータ
を格納する際に書込みデータの妥当性を確認するための
チェックサムデータを算出し、管理情報領域403の構
成要素である妥当性確認情報格納領域404にそのチェ
ックサムデータを格納する。
【0029】また、データ書込み時にエラーを検出し、
エラーを検出した領域に対してメモリチェックを実行
し、そのメモリチェックでもデータ書込みエラーを検出
した場合、その度にエラー発生検出回数格納領域405
の値を1つ増加して格納する書込みエラー発生検出回数
加算手段(図示せず)を設けて、書込みエラー発生回数
が所定の値以上になった場合には、他のユーザデータ領
域402に書込むよう動作する(詳細は後述する)。
【0030】以上説明したように、本発明の第3の実施
の形態における不揮発性メモリのユーザデータ配列は、
ユーザデータの妥当性を確認するチェックサムデータを
格納し、このチェックサムデータと、データ読出し時に
ユーザデータ領域から計算したチェックサムデータとを
比較することにより、ユーザデータの内容の妥当性を確
認するユーザデータ妥当性確認手段と、併せて、書込み
エラー発生検出回数を加算して格納管理することによ
り、ユーザデータ領域の信頼性を向上する書込みエラー
発生検出回数加算手段とを提供することができる。
【0031】(第4の実施の形態)次に、図5を参照し
て、本発明の第4の実施の形態における不揮発性メモリ
104の初期化方法について説明する。図5に示す第4
の実施の形態における不揮発性メモリ104の初期化手
順は、書込み禁止領域メモリチェック・初期化処理50
1と、書込み禁止データ領域メモリチェック処理の結果
判定処理502と、書込み禁止データ領域書込処理50
3と、ユーザデータ配列参照情報メモリチェック・初期
化処理504と、ユーザデータ配列参照情報メモリチェ
ック処理の結果判定処理505と、ユーザデータ配列参
照情報初期値設定処理506と、ユーザデータ配列領域
初期化処理507と、ユーザデータ配列管理処理508
とにより構成される。
【0032】次に、図5を参照して、本発明の第4の実
施の形態における不揮発性メモリの初期化動作を説明す
る。まず、再書込み禁止データ領域201のメモリチェ
ック・初期化処理501により不揮発性メモリ104の
再書込み禁止データ領域201の全ての領域にテストパ
ターンを書込み、その後読出す動作を行い書込みデータ
と読出しデータを照合する。次に、再書込み禁止データ
領域201の全ての記録内容をクリアし、先程のデータ
照合結果を通知する。再書込み禁止データ領域201の
メモリチェック処理の結果判定処理502では、前のデ
ータ照合結果を判定し、データエラーを検出した場合に
はシステムエラーを通知し、システムの稼動を停止す
る。データ照合結果が正常終了の場合は、書込み禁止デ
ータ領域201の書込処理503を実行し、システム固
有のID番号など、製品出荷後書き換えを行わないデー
タを再書込み禁止データ領域に書込む。
【0033】次に、ユーザデータ配列参照情報領域30
2のメモリチェック・初期化処理504を実行し、ユー
ザデータ配列303を参照するユーザデータ配列参照情
報304を格納する領域にテストパターンを書込み、そ
の後読出し動作を行い、書込みデータと読出しデータと
を照合する。次に、ユーザデータ配列参照情報304を
クリアし、先程のデータ照合結果を通知する。
【0034】次に、ユーザデータ配列参照情報領域30
2のメモリチェック処理の結果の判定処理505では、
上記のデータ照合結果を判定し、データエラーを検出し
た場合にはシステムエラーを通知し、システムの稼動を
停止する。データ照合結果が正常終了の場合は、ユーザ
データ配列参照情報304にそれぞれ重複しない初期値
を書込むユーザデータ配列参照情報304の初期値設定
処理506を実行する。
【0035】次に、ユーザデータ配列領域301を初期
化するユーザデータ配列領域初期化処理507を実行
し、ユーザデータ配列領域301に初期値を書込む。続
いてユーザデータ配列初期値設定処理508を実行し、
それぞれのユーザデータ配列303に初期値を設定す
る。
【0036】以上説明したように、本発明の第4の実施
の形態における不揮発性メモリの初期化方法は、不揮発
性メモリの初期化を行い初期値を書込むことができる。
またユーザデータ配列参照情報に初期値を設定し、デー
タ読出しを行うユーザデータ配列を指定するとともに、
書込みエラーから復旧するための新しいユーザデータ配
列を指定するに必要な初期値を提供することができる。
【0037】(第5の実施の形態)次に、図6を参照し
て、本発明の第5の実施の形態における不揮発性メモリ
104のエラー検出時の復旧処理について説明する。第
5の実施の形態におけるユーザデータ配列管理処理手順
は、エラーチェック中フラグリセット処理601と、エ
ラー発生検出回数判定処理602と、ユーザデータ配列
先頭アドレス計算処理603と、テストデータ書込み処
理604と、不揮発性メモリ状態判定処理605と、ユ
ーザデータ配列データベリファイ処理606と、ベリフ
ァイ結果判定処理607と、エラーチェック中フラグ判
定処理608と、書込みエラー発生検出回数加算処理6
09と、エラーチェック中フラグセット610処理と、
ユーザデータ配列領域容量チェック処理611と、ユー
ザデータ配列参照情報更新処理612とにより構成され
る。
【0038】次に、図6を参照して、本発明の第5の実
施の形態における不揮発性メモリ104のエラー検出時
の復旧処理の動作を説明する。まず、エラーチェック中
フラグリセット処理601を実行し、エラーチェック中
フラグをリセットする。続いて、エラー発生検出回数判
定処理602実行し、現在指定されているユーザデータ
配列303の書込みエラー発生検出回数が指定した値を
超えていないかどうか判定する。指定値を超えていない
場合は、ユーザデータ配列先頭アドレス計算処理603
を実行して、指定されたユーザデータ配列303の先頭
アドレスを計算する。
【0039】次に、テストデータ書込み処理604を実
行して指定されたユーザデータ配列303にテストデー
タを書込み、続いて不揮発性メモリ状態判定処理605
を実行し、不揮発性メモリ104の制御レジスタ(図示
せず)のデータ書込み結果を判定する。書込みに成功し
ていれば、ユーザデータ配列データベリファイ(検証)
処理606を実行し、書込みデータと読出しデータとが
一致するか検証する。次に、ベリファイ結果判定処理6
07を実行して、書込みデータと読出しデータとの一致
が確認できた場合は、このユーザデータ配列管理処理を
終了する。しかし、書込みデータと読出しデータとの一
致が確認できなかった場合は、エラーチェック中フラグ
判定処理608を実行する。また、上記の不揮発性メモ
リ状態判定処理605の実行の結果、不揮発性メモリ1
04へのデータ書込みに失敗していると判定された場合
も、同様にエラーチェック中フラグ判定処理608を実
行する。
【0040】エラーチェック中フラグ判定処理608に
よりエラーチェック中フラグの値を判定し、このフラグ
がセットされている場合は、書込みエラー検出が2回以
上連続して発生した場合であり、書込みエラー発生検出
回数加算処理609を実行して指定したユーザデータ配
列303の書込みエラー発生検出回数を1つ加算する。
それ以外の場合は書込みエラー検出が1回のみで、書込
みエラー発生検出回数の加算は行わない。この場合は、
不揮発性メモリ104の異常ではなく、書込み中の電源
断などに起因するエラーの場合もある。
【0041】次に、エラーチェック中フラグのセット処
理610を実行し、書込みエラー検出が1回あったこと
を記憶する。再び処理手順の先頭に戻り、エラー発生検
出回数判定処理602を実行して、エラーがなくなるま
で繰り返し実行する。ただし、現在指定されているユー
ザデータ配列303の書込みエラー発生検出回数が指定
した値を超えた場合は、現在使用中のユーザデータ配列
303の信頼性が低いと判断し、新しいユーザデータ配
列303を割当てる。
【0042】新しいユーザデータ配列303の割当て
は、まず、ユーザデータ配列領域容量チェック処理61
1を実行し、未使用のユーザデータ配列303があるか
調べる。未使用のユーザデータ配列303がある場合
は、ユーザデータ配列参照情報更新処理612を実行
し、現在使用中のユーザデータ配列参照情報の設定値の
うち、最も大きい設定値より1つ大きい値を新しい設定
値として対応する新しいユーザデータ配列303に割当
てる。なお、ユーザデータ配列参照情報の初期設定値が
昇順の場合は、現在最も大きいアドレスまたは番号の次
のユーザデータ配列303を割当て、降順の場合は現在
最も小さいアドレスまたは番号の次のユーザデータ配列
303を割当てるよう更新する。また、未使用のユーザ
データ配列303がない場合は、新たなユーザデータ配
列を割当てることができないため、システムエラーを通
知してシステムの稼動を停止する。
【0043】以上説明したように、本発明の第5の実施
の形態における不揮発性メモリのエラー検出時の復旧処
理方法は、指定したユーザデータ配列へのデータ書込み
エラーを検出した場合に、不揮発性メモリの機能チェッ
クを行い、その配列の動作に異常がなければ再度その配
列を使用し、異常を検出した場合には、新しい配列を割
当てることができるメモリ管理機能を実行することがで
きる。
【0044】(第6の実施の形態)次に、図7を参照し
て、本発明の第6の実施の形態における不揮発性メモリ
104のユーザデータ書込み処理について説明する。第
6の実施の形態におけるユーザデータ書込み処理手順
は、ユーザデータ配列参照情報インデックスiの初期値
設定処理701と、ユーザデータ領域書込み処理702
と、不揮発性メモリ104の状態判定処理703と、ユ
ーザデータ領域読出し処理704と、妥当性確認情報演
算書込み処理705と、妥当性判定処理706と、ユー
ザデータ配列管理処理707と、ユーザデータ配列参照
情報インデックスiの判定処理708と、ユーザデータ
配列参照情報インデックスiの加算処理709とにより
構成される。
【0045】次に、図7を参照して、本発明の第6の実
施の形態における不揮発性メモリ104のユーザデータ
書込み処理の動作を説明する。まず、ユーザデータ配列
参照情報インデックスiの初期値設定処理701で、ユ
ーザデータ配列参照情報インデックスiに初期値0を設
定する。次のユーザデータ領域書込み処理702で、ユ
ーザデータ配列参照情報インデックスiで指定したユー
ザデータ配列参照情報304が指し示すユーザデータ配
列303を構成するユーザデータ領域402にユーザデ
ータを書込む。なお、ここで、iは書き込むべきユーザ
データ配列303の数である。
【0046】それに続く不揮発性メモリ状態判定処理7
03では、不揮発性メモリ104の制御レジスタ(図示
せず)のデータ書込み結果を判定し、書込みに成功して
いれば、ユーザデータ配列参照情報インデックスiの指
し示すユーザデータ領域402を読出すユーザデータ領
域読出し処理704と妥当性確認情報演算書込み処理7
05を実行し、書込みデータと読出しデータが一致する
か照合する。次に妥当性判定処理706で、書込みデー
タと読出しデータの内容が一致していると判定された場
合は、ユーザデータ配列参照情報インデックスi判定処
理708でユーザデータ配列参照情報304がインデッ
クスiの数だけユーザデータ配列303に書込みを完了
したか判定し、完了している場合はこの処理を終了す
る。まだ書込むべきユーザデータ配列303が残されて
いる場合には、ユーザデータ配列参照情報インデックス
i加算処理709でインデックスiに1を加えてユーザ
データ領域書込み処理702から再度実行する。
【0047】また、妥当性判定処理706で、書込みデ
ータと読出しデータの内容が不一致を検出した場合は、
本発明の第5の実施の形態において説明したように、ユ
ーザデータ配列303を新しいユーザデータ配列303
に変更する等ユーザデータ配列管理処理707を実行
し、エラー復旧を行った後、ユーザデータ領域書込み処
理702から再度実行する。
【0048】以上説明したように、本発明の第6の実施
の形態における不揮発性メモリのユーザデータ書込み処
理方法は、任意のデータをユーザデータ領域に書込み、
確かに書込めたことを確認し、書込みエラーを検出した
場合にはエラー復旧を行い、確実なデータ書込み動作を
提供することができる。
【0049】(第7の実施の形態)次に、図8を参照し
て、本発明の第7の実施の形態における不揮発性メモリ
104のユーザデータ読出し処理について説明する。第
7の実施の形態におけるユーザデータ読出し処理手順
は、ユーザデータ配列参照情報インデックスiの初期値
設定処理801と、ユーザデータ配列読出し処理802
と、妥当性判定処理803と、ユーザデータ配列参照情
報インデックスi加算処理804と、ユーザデータ配列
読出し回数判定処理805と、ユーザデータ領域初期値
設定処理806と、リードエラー通知処理807と、ユ
ーザデータリカバー終了判定処理808と、ユーザデー
タ配列管理処理809と、ユーザデータリカバー処理8
10と、ユーザデータ配列参照情報インデックスi減算
処理811とから構成される。
【0050】次に、図8を参照して、本発明の第7の実
施の形態における不揮発性メモリ104のユーザデータ
読出し処理の動作を説明する。まず、ユーザデータ配列
参照情報インデックスiの初期値設定処理801で、ユ
ーザデータ配列参照情報インデックスiに初期値0を設
定する。ユーザデータ配列読出し処理802で、ユーザ
データ配列参照情報インデックスiで指定されたユーザ
データ配列参照情報304が指し示すユーザデータ配列
303を構成するユーザデータ配列情報を読出し、併せ
ててユーザデータ配列情報の妥当性確認情報を計算す
る。なお、ここで、iは読み出し回数である。
【0051】それに続く妥当性判定処理803で、読出
したデータから計算した妥当性確認情報と、ユーザデー
タ配列303内にある妥当性確認情報の値とが一致する
かどうか照合し、照合結果が不一致の場合は、ユーザデ
ータ配列参照情報インデックスi加算処理804でイン
デックス値に1を加算し、ユーザデータ配列読出し回数
判定処理805で、ユーザデータ配列参照情報304の
数を超えていなければ、ユーザデータ配列読出し処理8
02から再び実行して、次に読み出すべきユーザデータ
配列303からデータを読出す。しかし、インデックス
iがユーザデータ配列参照情報304の数を超えている
場合は、正しいユーザデータ配列303を保存している
ユーザデータ配列303が存在しないと判定し、ユーザ
データ領域初期値設定処理806で、予め不揮発性メモ
リ104の再書込み禁止領域などに記憶しておいたデフ
ォルトデータ列をユーザデータ配列303に設定すると
共にリードエラー通知処理807を実行して、ユーザデ
ータ配列303の読出しに失敗し、暫定処置でデフォル
ト値を設定したことを外部に通知する。引続き、後述す
るように、ユーザデータリカバー終了判定処理808を
実行する。
【0052】上記妥当性判定処理803で、読出したデ
ータから計算した妥当性確認情報と、ユーザデータ配列
内にある妥当性確認情報との値が一致した場合も、同様
にユーザデータリカバー終了判定処理808を実行す
る。すなわち、ユーザデータ配列参照情報インデックス
iが0であればエラーを検出したユーザデータ配列が1
つもないと判断し、ユーザデータ配列のリカバーを行わ
ずこの処理を終了する。しかし、ユーザデータ配列参照
情報インデックスiが1であればエラーを検出したユー
ザデータ配列が1つ以上あると判断し、第5の実施の形
態におけるものと同様なユーザデータ配列管理処理80
9を実行し、エラー復旧を行った後、ユーザデータリカ
バー処理810で、正常に読出したユーザデータ列、ま
たはデフォルトデータ列を書込む。
【0053】これらの処理を実行した後、ユーザデータ
配列参照情報インデックスiの減算処理811でユーザ
データ配列参照情報インデックスiを減算し、ユーザデ
ータリカバー終了判定処理808から再度実行し、エラ
ーが発生した全てのユーザデータ配列303のデータリ
カバーを完了後、この処理を終了する。
【0054】以上説明したように、本発明の第7の実施
の形態における不揮発性メモリのユーザデータ読出し処
理方法は、ユーザデータ情報の妥当性の判定を行い、デ
ータエラーを検出した場合でも、他のユーザデータ配列
からデータを読出し、正常なユーザデータ列を読出すこ
とができる。また、データ書込み中の電源断などで不揮
発性メモリへの書込みにエラー発生の場合も既に書込み
済みのデータを読み出し、または更新前のデータを読出
し、さらに書込みにエラーを検出したユーザデータ配列
を復旧させることが可能で、確実なデータ読出し動作を
提供することができる。
【0055】
【発明の効果】本発明における不揮発性メモリの管理方
法および管理装置は、上記のように構成され、データ更
新時の電源断などによる書込み失敗やデバイスの故障や
書込み寿命などの原因によるエラーを検出した場合で
も、格納データを読み出すことができ、さらにエラーを
復旧させ、継続して不揮発性メモリを使用可能にするこ
とができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における不揮発性メ
モリの管理装置のブロック図、
【図2】図1に示す不揮発性メモリのメモリマップを示
す図、
【図3】本発明の第2の実施の形態における不揮発性メ
モリの再書込み許可領域のメモリマップを示す図、
【図4】本発明の第3の実施の形態における不揮発性メ
モリのユーザデータ配列のメモリマップを示す図、
【図5】本発明の第4の実施の形態における不揮発性メ
モリ104の初期化方法を示すフローチャート、
【図6】本発明の第5の実施の形態における不揮発性メ
モリのユーザデータ配列管理処理を示すフローチャー
ト、
【図7】本発明の第6の実施の形態における不揮発性メ
モリのユーザデータ書込み処理を示すフローチャート、
【図8】本発明の第7の実施の形態における不揮発性メ
モリのユーザデータ読出し処理を示すフローチャート、
【図9】従来技術における不揮発性メモリのデータ読出
し処理を示すフローチャート。
【符号の説明】
101 マイクロプロセッサ(CPU) 102 RAM 103 ROM 104 不揮発性メモリ 105 入力インタフェース 106 情報入力手段 107 出力インタフェース 108 情報出力手段 109 データバス 201 再書込み禁止データ領域 202 再書込み許可データ領域 301 ユーザデータ配列領域 302 ユーザデータ配列参照情報領域 303 ユーザデータ配列(配列要素)
〔0〕〜〔n〕 304 ユーザデータ配列参照情報
〔0〕〜〔2〕 401 ユーザデータ配列 402 ユーザデータ領域 403 管理情報領域 404 妥当性確認情報格納領域 405 書込みエラー発生検出回数格納領域

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】ユーザデータを格納する不揮発性メモリの
    全データ領域を再書込み許可データ領域と再書込み禁止
    データ領域とに区分し、前記再書込み許可データ領域に
    は内容の変更を行うデータを格納し、前記再書込み禁止
    データ領域には内容の変更を行わないデータを格納する
    ことを特徴とする不揮発性メモリの管理方法。
  2. 【請求項2】前記再書き込み許可データ領域がそれぞれ
    配列要素を有する複数のユーザデータ配列で構成され、
    前記ユーザデータ配列にはユーザデータ領域と妥当性確
    認情報格納領域および書込みエラー発生検出回数格納領
    域を有する管理情報領域とを設け、前記ユーザデータ領
    域には任意に使用するデータを格納し、前記妥当性確認
    情報格納領域は前記ユーザデータ領域の内容の妥当性を
    確認する妥当性確認情報を格納し、前記書込みエラー発
    生検出回数格納領域は同一のデータ領域に対する書込み
    エラーの発生回数を格納することを特徴とする請求項1
    記載の不揮発性メモリの管理方法。
  3. 【請求項3】前記再書き込み許可データ領域に複数のユ
    ーザデータ配列参照情報を設け、前記ユーザデータ配列
    領域の各ユーザデータ配列を指し示す指定情報をそれぞ
    れ重複せずに対応する前記ユーザデータ配列参照情報に
    記録することを特徴とする請求項2記載の不揮発性メモ
    リの管理方法。
  4. 【請求項4】前記ユーザデータ配列参照情報が指し示す
    ユーザデータ配列の内容の妥当性を判定し、妥当性の確
    証が得られない場合には他のユーザデータ配列参照情報
    が指し示すユーザデータ配列の配列要素の内容の妥当性
    を判定し、妥当性の確証が得られたユーザデータ配列の
    データを出力するよう制御することを特徴とする請求項
    3記載の不揮発性メモリの管理方法。
  5. 【請求項5】前記ユーザデータ配列参照情報が指し示す
    ユーザデータ配列の妥当性を判定し、妥当性の確証が得
    られない場合には、そのユーザデータ配列に対する書込
    みまたは読出し機能を検証し、機能検証したユーザデー
    タ配列に対する書込みまたは読出し機能が正常であると
    判定された場合はそのユーザデータ配列を継続使用し、
    書込みまたは読出し機能が不良であると判定された場合
    には、そのユーザデータ配列を指し示すユーザデータ配
    列参照情報を更新し、更新されたユーザデータ配列参照
    情報が指し示すユーザデータ配列を使用するようエラー
    復旧処理を行うことを特徴とする請求項3記載の不揮発
    性メモリの管理方法。
  6. 【請求項6】前記ユーザデータ配列参照情報は完全な初
    期化または工場出荷時にそれぞれ重複しない昇順または
    降順のユーザデータ配列指定情報に初期化し、前記ユー
    ザデータ配列に再書き込み不可能なエラーを検出した後
    の復旧時には、昇順の場合は現在使用されている複数の
    指定情報のうち最も大きい指定情報の次の指定情報に更
    新し、降順の場合は現在使用されている複数の指定情報
    のうち最も小さい指定情報の次の指定情報に更新するこ
    とを特徴とする請求項3ないし5のいずれかに記載の不
    揮発性メモリの管理方法。
  7. 【請求項7】前記ユーザデータ配列参照情報の指定情報
    は対応するユーザデータ配列の順位に対応して初期化さ
    れ、書き込み動作途上の電源遮断後に復帰した場合、前
    記ユーザデータ配列参照情報が指し示すユーザデータ配
    列の内容と対応する妥当性確認情報とを判定することに
    より、書き込み動作の途上で電源が遮断された瞬間に更
    新中だったユーザデータ配列を特定し、エラー復旧処理
    を行うことを特徴とする請求項3記載の不揮発性メモリ
    の管理方法。
  8. 【請求項8】前記ユーザデータ配列参照情報が指し示す
    現在使用中のユーザデータ配列の妥当性の確証が得られ
    ずに、不揮発性メモリの機能検証が行われる度に前記ユ
    ーザデータ配列のエラー発生検出回数情報を更新し、同
    一ユーザデータ配列について所定の回数以上の機能検証
    を実施した場合は、現在使用しているユーザデータ配列
    を指し示すユーザデータ配列参照情報を変更し、それに
    対応する新しいユーザデータ配列を使用することを特徴
    とする請求項5記載の不揮発性メモリの管理方法。
  9. 【請求項9】ユーザデータを格納する不揮発性メモリ
    と、前記不揮発性メモリに対しデータの読出しおよび書
    き込みを制御する制御手段とからなり、前記制御手段に
    より前記不揮発性メモリに対し請求項1ないし8のいず
    れかに記載の不揮発性メモリの管理方法を実行し、稼動
    中にデータエラーを検出したときに、そのデータエラー
    を回避して正常に動作を継続するようにしたことを特徴
    とする不揮発性メモリの管理装置。
JP2000147172A 2000-05-19 2000-05-19 不揮発性メモリの管理方法および管理装置 Pending JP2001331382A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000147172A JP2001331382A (ja) 2000-05-19 2000-05-19 不揮発性メモリの管理方法および管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000147172A JP2001331382A (ja) 2000-05-19 2000-05-19 不揮発性メモリの管理方法および管理装置

Publications (1)

Publication Number Publication Date
JP2001331382A true JP2001331382A (ja) 2001-11-30

Family

ID=18653386

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000147172A Pending JP2001331382A (ja) 2000-05-19 2000-05-19 不揮発性メモリの管理方法および管理装置

Country Status (1)

Country Link
JP (1) JP2001331382A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176200A (ja) * 2009-01-27 2010-08-12 Tokai Rika Co Ltd フラッシュメモリの動作保護装置及びフラッシュメモリの動作保護方法
CN102033785A (zh) * 2009-10-01 2011-04-27 三星电子株式会社 检测不稳定存储单元的分布的存储系统和方法
JP2014035729A (ja) * 2012-08-10 2014-02-24 Hitachi Automotive Systems Ltd 車両用制御装置
CN108288487A (zh) * 2017-01-09 2018-07-17 慧荣科技股份有限公司 数据储存装置及其数据维护方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176200A (ja) * 2009-01-27 2010-08-12 Tokai Rika Co Ltd フラッシュメモリの動作保護装置及びフラッシュメモリの動作保護方法
CN102033785A (zh) * 2009-10-01 2011-04-27 三星电子株式会社 检测不稳定存储单元的分布的存储系统和方法
US8122295B2 (en) 2009-10-01 2012-02-21 Samsung Electronics Co., Ltd. Memory systems and methods of detecting distribution of unstable memory cells
CN102033785B (zh) * 2009-10-01 2016-05-25 三星电子株式会社 检测不稳定存储单元的分布的存储系统和方法
JP2014035729A (ja) * 2012-08-10 2014-02-24 Hitachi Automotive Systems Ltd 車両用制御装置
CN108288487A (zh) * 2017-01-09 2018-07-17 慧荣科技股份有限公司 数据储存装置及其数据维护方法

Similar Documents

Publication Publication Date Title
US7197613B2 (en) Nonvolatile memory
US8527730B2 (en) Data updating method, memory system and memory device
US7903474B2 (en) Redundant purge for flash storage device
JP2846739B2 (ja) Eepromメモリの安全更新方法
JP2990181B1 (ja) フラッシュメモリ、フラッシュメモリを備えたマイクロコンピュータおよびフラッシュメモリへのプログラム格納方法
US8812910B2 (en) Pilot process method for system boot and associated apparatus
CN108646982B (zh) 一种基于ubifs的数据自动修复方法及装置
JP2002351685A (ja) 不揮発性メモリのデータ更新方法及び制御装置
CN111124739B (zh) 用于非易失性存储器的防撕除保护系统
KR101548452B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
CN114895845A (zh) 一种emmc数据存储的控制方法及嵌入式主板
JP2001331382A (ja) 不揮発性メモリの管理方法および管理装置
JP3675375B2 (ja) 不揮発性メモリ並びに不揮発性メモリのデータ書き換え方法
JP2004342112A (ja) エラーチェック訂正技法を用いて不揮発性メモリユニットのデータ保持損に応答する装置及び方法
JP2868001B1 (ja) ディスクアレイ装置制御方法およびディスクアレイ装置
JPH10302485A (ja) フラッシュ・メモリを有する情報処理装置
US20070101049A1 (en) Redundant purge for flash storage device
US20070088905A1 (en) System and method for purging a flash storage device
US20070274302A1 (en) Data Storage Device, Memory Managing Method, and Program
US7849279B2 (en) Method for the secure updating data areas in non volatile memory, device to perform such a method
TWI416319B (zh) 使用獨立磁碟備援陣列之電腦系統的開機方法
JPH07122087A (ja) Eepromエラーチェック方式
KR101545077B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
CN119621437B (zh) 一种存储器及固件的备份方法
US12353553B2 (en) Information processing apparatus and control method of the same