JPH0817191A - メモリ管理エリア制御方法 - Google Patents
メモリ管理エリア制御方法Info
- Publication number
- JPH0817191A JPH0817191A JP16866494A JP16866494A JPH0817191A JP H0817191 A JPH0817191 A JP H0817191A JP 16866494 A JP16866494 A JP 16866494A JP 16866494 A JP16866494 A JP 16866494A JP H0817191 A JPH0817191 A JP H0817191A
- Authority
- JP
- Japan
- Prior art keywords
- area
- data
- data address
- address
- written
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000007726 management method Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 5
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
(57)【要約】
【目的】 フラシュメモリのINDEXエリアのイレー
ス動作中に電源停止の障害が発生しても、最後に書き込
んだデータアドレスを確実に保全することができ、また
電源立上時に最後に書き込んだデータアドレスを正確に
取得して次に書き込みできるアドレスを得ることができ
るメモリ管理エリア制御方法を提供する。 【構成】 終了分割INDEXエリアサーチ手段11で
終了コードが付された分割INDEXエリアを検出し、
そのエリア以降の最後尾フラグを最後尾フラグサーチ手
段12で検出し、検出したフラグの直前に書き込まれた
データアドレスをフラシュメモリ40のデータエリア4
2に最終的に書き込まれたアドレスとして取得し、分割
INDEXエリアにデータアドレスを書き込んで当該エ
リアが一杯になるとそのエリアに終了コードを付加して
一つ前のエリアをイレース手段33でイレースするメモ
リ管理制御方法である。
ス動作中に電源停止の障害が発生しても、最後に書き込
んだデータアドレスを確実に保全することができ、また
電源立上時に最後に書き込んだデータアドレスを正確に
取得して次に書き込みできるアドレスを得ることができ
るメモリ管理エリア制御方法を提供する。 【構成】 終了分割INDEXエリアサーチ手段11で
終了コードが付された分割INDEXエリアを検出し、
そのエリア以降の最後尾フラグを最後尾フラグサーチ手
段12で検出し、検出したフラグの直前に書き込まれた
データアドレスをフラシュメモリ40のデータエリア4
2に最終的に書き込まれたアドレスとして取得し、分割
INDEXエリアにデータアドレスを書き込んで当該エ
リアが一杯になるとそのエリアに終了コードを付加して
一つ前のエリアをイレース手段33でイレースするメモ
リ管理制御方法である。
Description
【0001】
【産業上の利用分野】本発明は、フラシュメモリの終了
時のデータアドレスを保全するメモリ管理エリア制御方
法に係り、特にメモリ管理エリアをイレース中に電源停
止等の障害が発生しても終了時のデータアドレスを確実
に保全できるメモリ管理エリア制御方法に関する。
時のデータアドレスを保全するメモリ管理エリア制御方
法に係り、特にメモリ管理エリアをイレース中に電源停
止等の障害が発生しても終了時のデータアドレスを確実
に保全できるメモリ管理エリア制御方法に関する。
【0002】
【従来の技術】従来、書き換え可能なメモリとしてフラ
シュメモリが知られており、フラシュメモリの終了時の
データが書き込まれているデータアドレスをメモリ管理
エリアで管理するようになっていた。フラシュメモリに
おけるメモリ管理エリア制御方法について図5を使って
説明する。図5は、従来のフラシュメモリのメモリ管理
エリア(INDEXエリア)制御方法を説明するための
概略説明図である。
シュメモリが知られており、フラシュメモリの終了時の
データが書き込まれているデータアドレスをメモリ管理
エリアで管理するようになっていた。フラシュメモリに
おけるメモリ管理エリア制御方法について図5を使って
説明する。図5は、従来のフラシュメモリのメモリ管理
エリア(INDEXエリア)制御方法を説明するための
概略説明図である。
【0003】図5に示すように、従来のフラシュメモリ
は、複数のブロックに分割されており、その中で、例え
ば、ブロック1がINDEXエリアに割り当てられ、ブ
ロック2〜ブロックNがデータエリアに割り当てられて
いた。
は、複数のブロックに分割されており、その中で、例え
ば、ブロック1がINDEXエリアに割り当てられ、ブ
ロック2〜ブロックNがデータエリアに割り当てられて
いた。
【0004】ここで、ブロック1のINDEXエリア
は、ブロック2〜ブロックNのデータエリアにおけるデ
ータが書き込まれたアドレス(データアドレス)を格納
しておくエリアであり、特に前回終了した時にデータが
書き込まれたデータアドレスを電源立上時に参照して次
にアクセス(データを書込むことが)可能なデータアド
レスを取得するようになっている。また、ブロック2〜
ブロックNのデータエリアは、データの読み書きが行わ
れるエリアである。
は、ブロック2〜ブロックNのデータエリアにおけるデ
ータが書き込まれたアドレス(データアドレス)を格納
しておくエリアであり、特に前回終了した時にデータが
書き込まれたデータアドレスを電源立上時に参照して次
にアクセス(データを書込むことが)可能なデータアド
レスを取得するようになっている。また、ブロック2〜
ブロックNのデータエリアは、データの読み書きが行わ
れるエリアである。
【0005】次に、従来のINDEXエリアの制御方法
について図6を使って説明する。図6は、従来のIND
EXエリアの制御方法を示すフローチャート図である。
図6に示すように、制御処理が開始されると、ブロック
1のINDEXエリア内のアクセスされたデータアドレ
スをサーチし、次にアクセス可能なデータアドレスを取
得する(101)。そして、ブロック2〜ブロックNに
おけるデータエリアでのアクセス処理が実行されて(1
02)、データが書き込まれた最後のデータアドレスを
INDEXエリアに書き込みを試みる(103)。
について図6を使って説明する。図6は、従来のIND
EXエリアの制御方法を示すフローチャート図である。
図6に示すように、制御処理が開始されると、ブロック
1のINDEXエリア内のアクセスされたデータアドレ
スをサーチし、次にアクセス可能なデータアドレスを取
得する(101)。そして、ブロック2〜ブロックNに
おけるデータエリアでのアクセス処理が実行されて(1
02)、データが書き込まれた最後のデータアドレスを
INDEXエリアに書き込みを試みる(103)。
【0006】処理103でINDEXエリアがいっぱい
でデータアドレスを書き込むことができるかどうかの判
断が為され(104)、いっぱいでなければデータアド
レスをINDEXエリアに書き込み(105)、処理1
02に戻り、いっぱいであればINDEXエリアのイレ
ース(消去)処理を行う(106)。そして、イレース
が終了したかどうかの判断が為され(107)、イレー
スが終了していなければ処理106に戻り、イレースが
終了したならイレースされたINDEXエリアの先頭に
データアドレスを書き込み(108)、処理102に戻
る。
でデータアドレスを書き込むことができるかどうかの判
断が為され(104)、いっぱいでなければデータアド
レスをINDEXエリアに書き込み(105)、処理1
02に戻り、いっぱいであればINDEXエリアのイレ
ース(消去)処理を行う(106)。そして、イレース
が終了したかどうかの判断が為され(107)、イレー
スが終了していなければ処理106に戻り、イレースが
終了したならイレースされたINDEXエリアの先頭に
データアドレスを書き込み(108)、処理102に戻
る。
【0007】ここで、イレース処理とは、INDEXエ
リアにデータアドレスを逐次書き込んでいくとINDE
Xエリアがいっぱいになってしまった時に、最後にデー
タエリアにデータが書き込まれたデータアドレスを残し
て他のデータアドレスを消去してしまう処理のことであ
る。
リアにデータアドレスを逐次書き込んでいくとINDE
Xエリアがいっぱいになってしまった時に、最後にデー
タエリアにデータが書き込まれたデータアドレスを残し
て他のデータアドレスを消去してしまう処理のことであ
る。
【0008】具体的には、最後にアクセスした(書込ん
だ)データのデータアドレスをINDEXエリアに書込
む際にINDEXエリアがいっぱいかどうかを判断し、
いっぱいであればまずINDEXエリアを消去(イレー
ス)し、次にイレースしたINDEXエリアの先頭にデ
ータアドレスを書込む処理を行うものである。
だ)データのデータアドレスをINDEXエリアに書込
む際にINDEXエリアがいっぱいかどうかを判断し、
いっぱいであればまずINDEXエリアを消去(イレー
ス)し、次にイレースしたINDEXエリアの先頭にデ
ータアドレスを書込む処理を行うものである。
【0009】また、従来のフラシュメモリでは、通常の
電源立上時に、INDEXエリアから最後にアクセスさ
れたデータアドレスをサーチするのにまだデータアドレ
スが書き込まれていない箇所をサーチしてその直前に書
き込まれているデータアドレスを読み取って次に書き込
むアドレスを取得するようになっている。
電源立上時に、INDEXエリアから最後にアクセスさ
れたデータアドレスをサーチするのにまだデータアドレ
スが書き込まれていない箇所をサーチしてその直前に書
き込まれているデータアドレスを読み取って次に書き込
むアドレスを取得するようになっている。
【0010】具体的には、データアドレスがまだ書き込
まれていない箇所はオール1であるあるので、データア
ドレス4byte(32bit)の内、最初の2byt
e(16bit)がオール1(FFH)をINDEXエ
リアでサーチし、発見されたFFHの直前のデータアド
レスを読み取り、次にアクセス(書込み)できるアドレ
スを取得するものである。
まれていない箇所はオール1であるあるので、データア
ドレス4byte(32bit)の内、最初の2byt
e(16bit)がオール1(FFH)をINDEXエ
リアでサーチし、発見されたFFHの直前のデータアド
レスを読み取り、次にアクセス(書込み)できるアドレ
スを取得するものである。
【0011】
【発明が解決しようとする課題】しかしながら、上記従
来のフラシュメモリにおけるINDEXエリア(管理エ
リア)制御方法では、INDEXエリアのイレース動作
中に電源停止等の障害が発生した場合に、INDEXエ
リア内のデータアドレスが全て消去されてしまうか、ま
たは不安定状態になってしまい、その後の電源立上時に
データアドレスを失っているためにフラッメモリにアク
セスすることができず、またアクセスできたとしてもデ
ータ読み出しがおかしくなって、フラシュメモリの信頼
性を低下させるという問題点があった。
来のフラシュメモリにおけるINDEXエリア(管理エ
リア)制御方法では、INDEXエリアのイレース動作
中に電源停止等の障害が発生した場合に、INDEXエ
リア内のデータアドレスが全て消去されてしまうか、ま
たは不安定状態になってしまい、その後の電源立上時に
データアドレスを失っているためにフラッメモリにアク
セスすることができず、またアクセスできたとしてもデ
ータ読み出しがおかしくなって、フラシュメモリの信頼
性を低下させるという問題点があった。
【0012】また、上記従来のINDEXエリア制御方
法では、通常の電源立上時に、INDEXエリア内のF
FHをサーチするようになっているので、データアドレ
スとしてFFHを含むアドレスが本当にある場合には、
そのFFHをまだ書き込まれていない箇所であると誤っ
てしまうことになり、次に書き込むことができるアドレ
スを正常に取得できず、やはりフラシュメモリの信頼性
を低下させるという問題点があった。
法では、通常の電源立上時に、INDEXエリア内のF
FHをサーチするようになっているので、データアドレ
スとしてFFHを含むアドレスが本当にある場合には、
そのFFHをまだ書き込まれていない箇所であると誤っ
てしまうことになり、次に書き込むことができるアドレ
スを正常に取得できず、やはりフラシュメモリの信頼性
を低下させるという問題点があった。
【0013】本発明は上記実情に鑑みて為されたもの
で、フラシュメモリのINDEXエリア(管理エリア)
のイレース動作中に電源停止の障害が発生しても、最後
に書き込んだデータアドレスを確実に保全することがで
き、また電源立上時に最後に書き込んだデータアドレス
を正確に取得して次に書込みできるアドレスを得ること
ができるメモリ管理エリア制御方法を提供することを目
的とする。
で、フラシュメモリのINDEXエリア(管理エリア)
のイレース動作中に電源停止の障害が発生しても、最後
に書き込んだデータアドレスを確実に保全することがで
き、また電源立上時に最後に書き込んだデータアドレス
を正確に取得して次に書込みできるアドレスを得ること
ができるメモリ管理エリア制御方法を提供することを目
的とする。
【0014】
【課題を解決するための手段】上記従来例の問題点を解
決するための請求項1記載の発明は、複数ブロックに分
割されたメモリ管理エリアの制御方法であって、前記メ
モリ管理エリアに終了時のデータアドレスを書き込んだ
際に、前記データアドレスの直後に特定フラグを付加す
るよう試み、当該書き込んだブロック内に前記特定フラ
グを付加する余裕があれば前記特定フラグを付加し、前
記ブロック内に前記特定フラグを付加する余裕がなけれ
ば次のブロックの先頭に前記データアドレスを書き込
み、更に前記データアドレスの直後に前記特定フラグを
付加し、前記データアドレスが最初に書き込まれたブロ
ックの最後に終了コードを付加し、前記データアドレス
が最初に書き込まれたブロックの一つ前のブロックをイ
レースすることを特徴としている。
決するための請求項1記載の発明は、複数ブロックに分
割されたメモリ管理エリアの制御方法であって、前記メ
モリ管理エリアに終了時のデータアドレスを書き込んだ
際に、前記データアドレスの直後に特定フラグを付加す
るよう試み、当該書き込んだブロック内に前記特定フラ
グを付加する余裕があれば前記特定フラグを付加し、前
記ブロック内に前記特定フラグを付加する余裕がなけれ
ば次のブロックの先頭に前記データアドレスを書き込
み、更に前記データアドレスの直後に前記特定フラグを
付加し、前記データアドレスが最初に書き込まれたブロ
ックの最後に終了コードを付加し、前記データアドレス
が最初に書き込まれたブロックの一つ前のブロックをイ
レースすることを特徴としている。
【0015】上記従来例の問題点を解決するための請求
項2記載の発明は、請求項1記載のメモリ管理エリア制
御方法によって特定フラグが付加されたメモリ管理エリ
アの制御方法であって、電源立上時に終了コードを検索
し、更に前記終了コードから前記特定フラグを検索し、
前記特定フラグの直前に書き込まれているデータアドレ
スから次にアクセスするデータアドレスを取得すること
を特徴としている。
項2記載の発明は、請求項1記載のメモリ管理エリア制
御方法によって特定フラグが付加されたメモリ管理エリ
アの制御方法であって、電源立上時に終了コードを検索
し、更に前記終了コードから前記特定フラグを検索し、
前記特定フラグの直前に書き込まれているデータアドレ
スから次にアクセスするデータアドレスを取得すること
を特徴としている。
【0016】
【作用】請求項1記載の発明によれば、メモリ管理エリ
アが複数のブロックに分割されており、終了時のデータ
アドレスをメモリ管理エリアに書き込んだ後に、そのデ
ータアドレスの直後に特定フラグを付加する処理を行う
が、データアドレスを書き込んだブロックに特定フラグ
を書き込む余裕がなければ次のブロックの先頭にデータ
アドレスを書き込んで特定フラグを付加し、そしてデー
タアドレスが最初に書き込まれたブロックの最後に終了
コードを付加し、更にデータアドレスを最初に書き込ん
だブロックの一つ前のブロックをイレースするメモリ管
理エリア制御方法としているので、メモリ管理エリアの
ブロックのイレース時に電源停止等の障害が発生して
も、終了時のデータアドレスを保全することができる。
アが複数のブロックに分割されており、終了時のデータ
アドレスをメモリ管理エリアに書き込んだ後に、そのデ
ータアドレスの直後に特定フラグを付加する処理を行う
が、データアドレスを書き込んだブロックに特定フラグ
を書き込む余裕がなければ次のブロックの先頭にデータ
アドレスを書き込んで特定フラグを付加し、そしてデー
タアドレスが最初に書き込まれたブロックの最後に終了
コードを付加し、更にデータアドレスを最初に書き込ん
だブロックの一つ前のブロックをイレースするメモリ管
理エリア制御方法としているので、メモリ管理エリアの
ブロックのイレース時に電源停止等の障害が発生して
も、終了時のデータアドレスを保全することができる。
【0017】請求項2記載の発明によれば、請求項1記
載のメモリ管理エリア制御方法で処理されたメモリ管理
エリアを有するメモリについて、電源立上時には、まず
終了コードを検索し、更に終了コードから特定フラグを
検索し、特定フラグの直前に書き込まれたデータアドレ
スから次にアクセスするデータアドレスを取得するメモ
リ管理エリア制御方法としているので、電源立上時に保
全されたデータアドレスから次にアクセスするデータア
ドレスを容易に取得することができる。
載のメモリ管理エリア制御方法で処理されたメモリ管理
エリアを有するメモリについて、電源立上時には、まず
終了コードを検索し、更に終了コードから特定フラグを
検索し、特定フラグの直前に書き込まれたデータアドレ
スから次にアクセスするデータアドレスを取得するメモ
リ管理エリア制御方法としているので、電源立上時に保
全されたデータアドレスから次にアクセスするデータア
ドレスを容易に取得することができる。
【0018】
【実施例】本発明の一実施例について図面を参照しなが
ら説明する。図1は、本発明の一実施例に係るフラッシ
ュメモリのメモリ管理エリア(INDEXエリア)制御
方法を説明するための概略説明図である。図1に示すよ
うに、本実施例のフラッシュメモリは、従来と同様に複
数のブロックに分割されている。そして、本実施例の特
徴部分として、INDEXエリアを複数のエリアに分割
し、分割されたINDEXエリア(以降、分割INDE
Xエリアと呼ぶ)を各ブロック(ブロック1〜ブロック
N)の先頭部分に設けている。
ら説明する。図1は、本発明の一実施例に係るフラッシ
ュメモリのメモリ管理エリア(INDEXエリア)制御
方法を説明するための概略説明図である。図1に示すよ
うに、本実施例のフラッシュメモリは、従来と同様に複
数のブロックに分割されている。そして、本実施例の特
徴部分として、INDEXエリアを複数のエリアに分割
し、分割されたINDEXエリア(以降、分割INDE
Xエリアと呼ぶ)を各ブロック(ブロック1〜ブロック
N)の先頭部分に設けている。
【0019】ここで、INDEXエリアは、従来と同様
にフラッシュメモリ内のデータエリアにおいてデータの
書き込みが終了した時点のアドレス(データアドレス)
を格納しておくエリアであり、特に前回データ書き込み
終了時のデータアドレスを電源立上時に参照して、次に
アクセス(データを書込むことが)可能なデータアドレ
スを取得するようになっている。尚、各ブロックの先頭
部分に設けられた分割INDEXエリアをINDEXエ
リア1〜INDEXエリアNと呼ぶことにする。また、
INDEXエリアは初期状態においてオール”1”に初
期化されている。
にフラッシュメモリ内のデータエリアにおいてデータの
書き込みが終了した時点のアドレス(データアドレス)
を格納しておくエリアであり、特に前回データ書き込み
終了時のデータアドレスを電源立上時に参照して、次に
アクセス(データを書込むことが)可能なデータアドレ
スを取得するようになっている。尚、各ブロックの先頭
部分に設けられた分割INDEXエリアをINDEXエ
リア1〜INDEXエリアNと呼ぶことにする。また、
INDEXエリアは初期状態においてオール”1”に初
期化されている。
【0020】そして、本実施例のINDEXエリアの制
御方法において、データエリアへのデータ書き込み処理
終了後の制御方法は、データ書き込み終了時のデータア
ドレスをINDEXエリアに格納し、続いて本実施例の
特徴部分である最後尾フラグをデータアドレスの直後に
付加する。そして、次にデータエリアへのデータの書き
込みが終了すると、前回INDEXエリアに最後尾フラ
グを書き込んだ位置に次のデータアドレスを上書きし、
続いて最後尾フラグを付加するようになっている。
御方法において、データエリアへのデータ書き込み処理
終了後の制御方法は、データ書き込み終了時のデータア
ドレスをINDEXエリアに格納し、続いて本実施例の
特徴部分である最後尾フラグをデータアドレスの直後に
付加する。そして、次にデータエリアへのデータの書き
込みが終了すると、前回INDEXエリアに最後尾フラ
グを書き込んだ位置に次のデータアドレスを上書きし、
続いて最後尾フラグを付加するようになっている。
【0021】ここで、最後尾フラグは、INDEXエリ
アに順次データアドレスを書き込んで行った最後尾を示
すフラグで、予め決められた1〜8bitの任意の長さ
を持つ全ビット”1”を除く任意のビット列である。全
ビット”1”を除く理由は、INDEXエリアの初期状
態及びイレース完了状態が全ビット”1”であり、後の
処理で最後尾フラグを検出できなくなるのを防ぐためで
ある。
アに順次データアドレスを書き込んで行った最後尾を示
すフラグで、予め決められた1〜8bitの任意の長さ
を持つ全ビット”1”を除く任意のビット列である。全
ビット”1”を除く理由は、INDEXエリアの初期状
態及びイレース完了状態が全ビット”1”であり、後の
処理で最後尾フラグを検出できなくなるのを防ぐためで
ある。
【0022】そして上記の処理を繰り返し、あるIND
EXエリア(i) がいっぱいになると、本実施例の特徴的
な処理として、次のブロックのINDEXエリア(i+1)
に書き込み位置を移動してデータアドレス及び最後尾フ
ラグを書き込んでから、INDEXエリア(i) の最後に
終了コードを書き込み、1つ前のブロックのINDEX
エリア(i-1) をイレースするようになっている。
EXエリア(i) がいっぱいになると、本実施例の特徴的
な処理として、次のブロックのINDEXエリア(i+1)
に書き込み位置を移動してデータアドレス及び最後尾フ
ラグを書き込んでから、INDEXエリア(i) の最後に
終了コードを書き込み、1つ前のブロックのINDEX
エリア(i-1) をイレースするようになっている。
【0023】ここで、終了コードは、INDEXエリア
内にデータアドレスが書き込まれていっぱいになり、書
き込みが終了したことを示すコードで、予め決められた
1byteの長さを持つ全ビット”1”を除く任意のビ
ット列である。全ビット”1”を除く理由は、INDE
Xエリアの初期状態及びイレース完了状態が全ビット”
1”であり、後の処理で終了コードを検出できなくなる
のを防ぐためである。
内にデータアドレスが書き込まれていっぱいになり、書
き込みが終了したことを示すコードで、予め決められた
1byteの長さを持つ全ビット”1”を除く任意のビ
ット列である。全ビット”1”を除く理由は、INDE
Xエリアの初期状態及びイレース完了状態が全ビット”
1”であり、後の処理で終了コードを検出できなくなる
のを防ぐためである。
【0024】また、通常の電源立上時には、前回データ
エリアで最後にデータが書き込まれたアドレス位置の次
から今回のデータを書き始めるために、まずデータエリ
アで最後にデータが書き込まれたデータアドレスを分割
INDEXエリアからサーチして、次のデータ書き込み
アドレスを特定してから、データエリアへのデータの書
き込み処理を行い、それに続いて上述したデータエリア
へのデータ書き込み処理終了後の制御方法として、デー
タアドレスをINDEXエリアに書き込み、続いて最後
尾フラグを付加するようになっている。
エリアで最後にデータが書き込まれたアドレス位置の次
から今回のデータを書き始めるために、まずデータエリ
アで最後にデータが書き込まれたデータアドレスを分割
INDEXエリアからサーチして、次のデータ書き込み
アドレスを特定してから、データエリアへのデータの書
き込み処理を行い、それに続いて上述したデータエリア
へのデータ書き込み処理終了後の制御方法として、デー
タアドレスをINDEXエリアに書き込み、続いて最後
尾フラグを付加するようになっている。
【0025】ここで、最後にデータが書き込まれたデー
タアドレスのサーチは、具体的には、終了コードが格納
されている分割INDEXエリアをサーチし、更にサー
チした分割INDEXエリアから順に最後尾フラグをサ
ーチし、最後尾フラグの直前に格納されているデータア
ドレスを読み込むと、これがデータエリアにおいて最後
にデータが書き込まれたデータアドレスである。
タアドレスのサーチは、具体的には、終了コードが格納
されている分割INDEXエリアをサーチし、更にサー
チした分割INDEXエリアから順に最後尾フラグをサ
ーチし、最後尾フラグの直前に格納されているデータア
ドレスを読み込むと、これがデータエリアにおいて最後
にデータが書き込まれたデータアドレスである。
【0026】一方、INDEXエリアのイレース処理中
に不正に装置の電源をOFFし、イレース処理が正常に
終了しない状態から電源の再立上を行った場合は、上記
の通常の電源再立上の処理中で最後尾フラグがサーチで
きない可能性があり、その場合には、メモリが不定状態
になっていると判断して、イレース処理が完了していな
い分割INDEXエリアをすべてイレースしてメモリ全
体を初期状態にしてから、データエリアへのデータの書
き込み、及びINDEXエリアへのデータアドレスの書
き込みを行うようになっている。
に不正に装置の電源をOFFし、イレース処理が正常に
終了しない状態から電源の再立上を行った場合は、上記
の通常の電源再立上の処理中で最後尾フラグがサーチで
きない可能性があり、その場合には、メモリが不定状態
になっていると判断して、イレース処理が完了していな
い分割INDEXエリアをすべてイレースしてメモリ全
体を初期状態にしてから、データエリアへのデータの書
き込み、及びINDEXエリアへのデータアドレスの書
き込みを行うようになっている。
【0027】次に、本実施例のメモリ管理方法を実現す
る手段について、図2を用いて説明する。図2は、本実
施例のメモリ管理方法を実現する手段の機能構成ブロッ
ク図である。本実施例のメモリ管理方法を実現する手段
は、図2に示すように、データエリアにおける最後のデ
ータアドレスをサーチする最終データアドレスサーチ手
段10と、データエリアにデータの書き込みを行うデー
タエリア書き込み手段20と、データエリアにおいて最
後に書き込まれたデータアドレスをINDEXエリアに
書き込む制御を行うデータアドレス書き込み制御手段3
0と、フラッシュメモリ40と、データエリアにおける
データ書き込みアドレスを記憶するデータアドレスエリ
ア51と、INDEXエリアにおけるデータアドレス書
き込みアドレス(INDEXアドレス)を記憶するIN
DEXアドレスエリア52とから構成されている。
る手段について、図2を用いて説明する。図2は、本実
施例のメモリ管理方法を実現する手段の機能構成ブロッ
ク図である。本実施例のメモリ管理方法を実現する手段
は、図2に示すように、データエリアにおける最後のデ
ータアドレスをサーチする最終データアドレスサーチ手
段10と、データエリアにデータの書き込みを行うデー
タエリア書き込み手段20と、データエリアにおいて最
後に書き込まれたデータアドレスをINDEXエリアに
書き込む制御を行うデータアドレス書き込み制御手段3
0と、フラッシュメモリ40と、データエリアにおける
データ書き込みアドレスを記憶するデータアドレスエリ
ア51と、INDEXエリアにおけるデータアドレス書
き込みアドレス(INDEXアドレス)を記憶するIN
DEXアドレスエリア52とから構成されている。
【0028】そして、最終データアドレスサーチ手段1
0の内部は、書き込みが終了した分割INDEXエリア
をサーチする終了分割INDEXエリアサーチ手段11
と、最後尾フラグをサーチする最後尾フラグサーチ手段
12と、分割INDEXエリアをイレースするイレース
手段13と、書き込みが終了した分割INDEXエリア
の番号をストックする終了分割INDEXエリア番号ス
トックエリア14とから構成されている。
0の内部は、書き込みが終了した分割INDEXエリア
をサーチする終了分割INDEXエリアサーチ手段11
と、最後尾フラグをサーチする最後尾フラグサーチ手段
12と、分割INDEXエリアをイレースするイレース
手段13と、書き込みが終了した分割INDEXエリア
の番号をストックする終了分割INDEXエリア番号ス
トックエリア14とから構成されている。
【0029】また、データアドレス書き込み制御手段3
0の内部は、INDEXエリアに実際にデータアドレス
を書き込むデータアドレス書き込み手段31と、ある分
割INDEXエリアがいっぱいになり次の分割INDE
Xエリアに切り換える分割INDEXエリア切換手段3
2と、不要になった1つ前の分割INDEXエリアをイ
レースするイレース手段33とから構成されている。
0の内部は、INDEXエリアに実際にデータアドレス
を書き込むデータアドレス書き込み手段31と、ある分
割INDEXエリアがいっぱいになり次の分割INDE
Xエリアに切り換える分割INDEXエリア切換手段3
2と、不要になった1つ前の分割INDEXエリアをイ
レースするイレース手段33とから構成されている。
【0030】次に、各部の構成について具体的に説明す
る。フラッシュメモリ40は、複数のブロック(ブロッ
ク1〜ブロックN)に分割されており、各ブロックがデ
ータエリア42と、データエリア42におけるデータが
書き込まれたアドレス(データアドレス)を格納してお
くINDEXエリア41とに分かれている。
る。フラッシュメモリ40は、複数のブロック(ブロッ
ク1〜ブロックN)に分割されており、各ブロックがデ
ータエリア42と、データエリア42におけるデータが
書き込まれたアドレス(データアドレス)を格納してお
くINDEXエリア41とに分かれている。
【0031】データアドレスエリア51は、フラッシュ
メモリ40のデータエリア42においてデータを書き込
むアドレスを記憶するエリアである。また、INDEX
アドレスエリア52は、フラッシュメモリ40のIND
EXエリア41においてデータアドレスを書き込むアド
レス(INDEXアドレス)を記憶するエリアである。
メモリ40のデータエリア42においてデータを書き込
むアドレスを記憶するエリアである。また、INDEX
アドレスエリア52は、フラッシュメモリ40のIND
EXエリア41においてデータアドレスを書き込むアド
レス(INDEXアドレス)を記憶するエリアである。
【0032】終了分割INDEXエリア番号ストックエ
リア14は、書き込みが終了した分割INDEXエリア
の番号をストックするエリアで、具体的には、終了分割
INDEXエリアサーチ手段11が分割INDEXエリ
アの最後に終了コードを保持する分割INDEXエリア
番号をサーチして格納するようになっている。
リア14は、書き込みが終了した分割INDEXエリア
の番号をストックするエリアで、具体的には、終了分割
INDEXエリアサーチ手段11が分割INDEXエリ
アの最後に終了コードを保持する分割INDEXエリア
番号をサーチして格納するようになっている。
【0033】終了分割INDEXエリアサーチ手段11
は、データアドレスが書き込まれていっぱいになり書き
込みが終了した分割INDEXエリアをサーチし、更に
フラッシュメモリ40が初期状態であるかを判断する手
段である。
は、データアドレスが書き込まれていっぱいになり書き
込みが終了した分割INDEXエリアをサーチし、更に
フラッシュメモリ40が初期状態であるかを判断する手
段である。
【0034】具体的には、まず分割INDEXエリア1
から順に最後の分割INDEXエリアまで、分割IND
EXエリアの最後に終了コードを保持しているかを調
べ、終了コードを保持している分割INDEXエリアの
番号を終了分割INDEXエリア番号ストックエリア1
4にストックするようになっている。ここで、終了分割
INDEXエリアサーチ手段11は、書き込みが終了し
た(終了コードを保持する)分割INDEXエリアをサ
ーチするためにカウンタを備えており、図3で後述する
ように変数iを用いるものである。
から順に最後の分割INDEXエリアまで、分割IND
EXエリアの最後に終了コードを保持しているかを調
べ、終了コードを保持している分割INDEXエリアの
番号を終了分割INDEXエリア番号ストックエリア1
4にストックするようになっている。ここで、終了分割
INDEXエリアサーチ手段11は、書き込みが終了し
た(終了コードを保持する)分割INDEXエリアをサ
ーチするためにカウンタを備えており、図3で後述する
ように変数iを用いるものである。
【0035】そして、次に行うフラッシュメモリ40が
初期状態であるかの判断は、終了分割INDEXエリア
番号ストックエリア14に、番号が1つも格納されず、
かつ1番目の分割INDEXエリアの最初のアドレスデ
ータが初期状態、つまりオール”1”であった場合にフ
ラッシュメモリ40が初期状態であると判断して、次の
データエリア書き込み手段20の処理に移るようになっ
ている。
初期状態であるかの判断は、終了分割INDEXエリア
番号ストックエリア14に、番号が1つも格納されず、
かつ1番目の分割INDEXエリアの最初のアドレスデ
ータが初期状態、つまりオール”1”であった場合にフ
ラッシュメモリ40が初期状態であると判断して、次の
データエリア書き込み手段20の処理に移るようになっ
ている。
【0036】最後尾フラグサーチ手段12は、最後尾フ
ラグをサーチする手段で、具体的には、終了コードを保
持する分割INDEXエリア、つまりは終了分割IND
EXエリア番号ストックエリア14にストックされた番
号の分割INDEXエリアから順に、最後尾フラグをサ
ーチし、最後尾フラグを検出したなら、最後尾フラグの
直前に格納されているデータアドレスを読み込んでデー
タアドレスエリア51に格納するものである。
ラグをサーチする手段で、具体的には、終了コードを保
持する分割INDEXエリア、つまりは終了分割IND
EXエリア番号ストックエリア14にストックされた番
号の分割INDEXエリアから順に、最後尾フラグをサ
ーチし、最後尾フラグを検出したなら、最後尾フラグの
直前に格納されているデータアドレスを読み込んでデー
タアドレスエリア51に格納するものである。
【0037】ここで、最後尾フラグサーチ手段12は、
終了コードを保持する分割INDEXエリアから順に、
最後尾フラグをサーチするためにカウンタを備えてお
り、図3で後述するように変数jを用いるものである。
終了コードを保持する分割INDEXエリアから順に、
最後尾フラグをサーチするためにカウンタを備えてお
り、図3で後述するように変数jを用いるものである。
【0038】また、最後尾フラグのサーチとは、分割I
NDEXエリアの先頭から順にデータアドレス4byt
e(32bit)の内、最初の1〜8bitが予め決め
られた最後尾フラグのビット列と一致するかを判定して
いく処理である。尚、INDEXエリア41におけるア
クセスアドレスをINDEXアドレスエリア52に順次
設定しながら最後尾フラグをサーチすることにより、最
後尾フラグ検出時のINDEXアドレスエリア52の値
が、INDEXエリア41における次のアドレスデータ
書き込みアドレスとなる。
NDEXエリアの先頭から順にデータアドレス4byt
e(32bit)の内、最初の1〜8bitが予め決め
られた最後尾フラグのビット列と一致するかを判定して
いく処理である。尚、INDEXエリア41におけるア
クセスアドレスをINDEXアドレスエリア52に順次
設定しながら最後尾フラグをサーチすることにより、最
後尾フラグ検出時のINDEXアドレスエリア52の値
が、INDEXエリア41における次のアドレスデータ
書き込みアドレスとなる。
【0039】一方、終了コードを保持する分割INDE
Xエリアから順に最後尾フラグをサーチし、最終的にい
ずれの分割INDEXエリアにおいても最後尾フラグが
検出できなかった場合は、イレース手段13で終了分割
INDEXエリア番号ストックエリア14にストックさ
れた番号の分割INDEXエリアをイレースする。つま
り、終了コードを保持する分割INDEXエリアが存在
するにもかかわらず、最後尾フラグが検出できなかった
ということは、何等かのトラブルでフラッシュメモリ4
0が不定状態になっていると考えられるので、終了コー
ドを保持する分割INDEXエリアをイレースしてフラ
ッシュメモリ全体を初期化してから次のデータエリア書
き込み手段20の処理に移るものである。
Xエリアから順に最後尾フラグをサーチし、最終的にい
ずれの分割INDEXエリアにおいても最後尾フラグが
検出できなかった場合は、イレース手段13で終了分割
INDEXエリア番号ストックエリア14にストックさ
れた番号の分割INDEXエリアをイレースする。つま
り、終了コードを保持する分割INDEXエリアが存在
するにもかかわらず、最後尾フラグが検出できなかった
ということは、何等かのトラブルでフラッシュメモリ4
0が不定状態になっていると考えられるので、終了コー
ドを保持する分割INDEXエリアをイレースしてフラ
ッシュメモリ全体を初期化してから次のデータエリア書
き込み手段20の処理に移るものである。
【0040】そして、イレース手段13は、最後尾フラ
グサーチ手段12で、フラッシュメモリ40が不定状態
になったとされた場合に、終了分割INDEXエリア番
号ストックエリア14にストックされた番号の分割IN
DEXエリアに対してイレース処理を施す手段である。
ここで、イレース処理とは、対象となる分割INDEX
エリア内の全ビットに”1”を格納し、初期状態にする
処理のことである。
グサーチ手段12で、フラッシュメモリ40が不定状態
になったとされた場合に、終了分割INDEXエリア番
号ストックエリア14にストックされた番号の分割IN
DEXエリアに対してイレース処理を施す手段である。
ここで、イレース処理とは、対象となる分割INDEX
エリア内の全ビットに”1”を格納し、初期状態にする
処理のことである。
【0041】そして、データエリア書き込み手段20
は、データエリアにデータを書き込む手段であり、具体
的には、データアドレスエリア51の値にメモリのアク
セス単位として、例えば4(byte)を加算し、デー
タエリア42において加算した値のアドレスからデータ
を書き込むようにしている。
は、データエリアにデータを書き込む手段であり、具体
的には、データアドレスエリア51の値にメモリのアク
セス単位として、例えば4(byte)を加算し、デー
タエリア42において加算した値のアドレスからデータ
を書き込むようにしている。
【0042】また、データアドレス書き込み手段31
は、データエリア42へのデータ書き込みが終了した時
点で、最後にデータアドレスエリア51に書き込まれた
アドレスをデータアドレスとしてINDEXエリア41
に書き込み、また最後尾フラグをINDEXエリア41
に書き込む手段である。具体的には、データアドレスエ
リア51からデータアドレスを読み込み、その値をIN
DEXアドレスエリア52に記憶されているアドレス位
置から書き込み、続いて最後尾フラグの書き込みを試
み、書き込み中の分割INDEXエリアがいっぱいで最
後尾フラグが書き込めない場合に、分割INDEXエリ
ア切換手段32を起動するようになっている。
は、データエリア42へのデータ書き込みが終了した時
点で、最後にデータアドレスエリア51に書き込まれた
アドレスをデータアドレスとしてINDEXエリア41
に書き込み、また最後尾フラグをINDEXエリア41
に書き込む手段である。具体的には、データアドレスエ
リア51からデータアドレスを読み込み、その値をIN
DEXアドレスエリア52に記憶されているアドレス位
置から書き込み、続いて最後尾フラグの書き込みを試
み、書き込み中の分割INDEXエリアがいっぱいで最
後尾フラグが書き込めない場合に、分割INDEXエリ
ア切換手段32を起動するようになっている。
【0043】尚、データアドレス書き込み手段31にお
いてINDEXエリア41にデータアドレスを書き込ん
だなら、INDEXアドレスエリア52の値にメモリの
アクセス単位として、例えば4(byte)を加算し、
INDEXアドレスエリア52が次にアドレスデータを
書き込むアドレスを示すようにしている。
いてINDEXエリア41にデータアドレスを書き込ん
だなら、INDEXアドレスエリア52の値にメモリの
アクセス単位として、例えば4(byte)を加算し、
INDEXアドレスエリア52が次にアドレスデータを
書き込むアドレスを示すようにしている。
【0044】そして、分割INDEXエリア切換手段3
2は、データアドレス書き込み手段31において、書き
込み中の分割INDEXエリアがいっぱいで最後尾フラ
グが書き込めない場合に起動され、次の分割INDEX
エリアに切り換える手段で、具体的には、INDEXア
ドレスエリア52の値を次の分割INDEXエリアのア
ドレスに切り換え、データアドレスエリア51からデー
タアドレスを読み込み、その値をINDEXアドレスエ
リア52に記憶されているアドレス位置から書き込み、
続いて最後尾フラグの書き込み、いっぱいになった分割
INDEXエリアの最後に終了コードを書き込むように
なっている。
2は、データアドレス書き込み手段31において、書き
込み中の分割INDEXエリアがいっぱいで最後尾フラ
グが書き込めない場合に起動され、次の分割INDEX
エリアに切り換える手段で、具体的には、INDEXア
ドレスエリア52の値を次の分割INDEXエリアのア
ドレスに切り換え、データアドレスエリア51からデー
タアドレスを読み込み、その値をINDEXアドレスエ
リア52に記憶されているアドレス位置から書き込み、
続いて最後尾フラグの書き込み、いっぱいになった分割
INDEXエリアの最後に終了コードを書き込むように
なっている。
【0045】そして、イレース手段33は、データアド
レス書き込み手段31でいっぱいになったことが判明し
た分割INDEXエリアの1つ前の分割INDEXエリ
アに対してイレース処理を施す手段である。
レス書き込み手段31でいっぱいになったことが判明し
た分割INDEXエリアの1つ前の分割INDEXエリ
アに対してイレース処理を施す手段である。
【0046】次に、本実施例のINDEXエリアの制御
方法について図3、図4を使って説明する。図3は、本
実施例のINDEXエリアの制御方法の前半部分を示す
フローチャート図であり、図4は、本実施例のINDE
Xエリアの制御方法の後半部分を示すフローチャート図
であり、図3の(A)と図4の(A)とが続いているも
のである。尚、図3において、変数iは終了コードをサ
ーチする分割INDEX番号を示す変数であり、変数j
は最後尾フラグをサーチする分割INDEX番号を示す
変数である。
方法について図3、図4を使って説明する。図3は、本
実施例のINDEXエリアの制御方法の前半部分を示す
フローチャート図であり、図4は、本実施例のINDE
Xエリアの制御方法の後半部分を示すフローチャート図
であり、図3の(A)と図4の(A)とが続いているも
のである。尚、図3において、変数iは終了コードをサ
ーチする分割INDEX番号を示す変数であり、変数j
は最後尾フラグをサーチする分割INDEX番号を示す
変数である。
【0047】図3に示すように、制御処理が開始される
と、終了分割INDEXエリアサーチ手段11の動作と
して、まず変数iに0を代入し(200)、次に変数i
に1を加算して(202)、変数iの値がNより大きい
か、つまり最後の分割INDEXエリアまでサーチした
か判断し(204)、iの値がNより大きくない場合
は、i番の分割INDEXエリアの最後が終了コードで
あるか判断し(206)、終了コードでない場合は、処
理202に戻って、次の分割INDEXエリアのサーチ
を行う。
と、終了分割INDEXエリアサーチ手段11の動作と
して、まず変数iに0を代入し(200)、次に変数i
に1を加算して(202)、変数iの値がNより大きい
か、つまり最後の分割INDEXエリアまでサーチした
か判断し(204)、iの値がNより大きくない場合
は、i番の分割INDEXエリアの最後が終了コードで
あるか判断し(206)、終了コードでない場合は、処
理202に戻って、次の分割INDEXエリアのサーチ
を行う。
【0048】一方、処理206においてi番目の分割I
NDEXエリアの最後が終了コードの場合は、分割IN
DEXエリア番号を終了分割INDEXエリア番号スト
ックエリア14にストックして(208)、処理202
に戻り、次の分割INDEXエリアにおける終了コード
のサーチを行う。ここで、処理208の分割INDEX
エリア番号のストックとは、変数iの値を終了分割IN
DEX番号ストックエリア14に格納することである。
NDEXエリアの最後が終了コードの場合は、分割IN
DEXエリア番号を終了分割INDEXエリア番号スト
ックエリア14にストックして(208)、処理202
に戻り、次の分割INDEXエリアにおける終了コード
のサーチを行う。ここで、処理208の分割INDEX
エリア番号のストックとは、変数iの値を終了分割IN
DEX番号ストックエリア14に格納することである。
【0049】また、処理204においてiの値がNより
大きい場合は、全分割INDEXエリアにおける終了コ
ードのサーチが終了したので、処理210に飛び、フラ
ッシュメモリ40が初期状態であるかを判断し(21
0)、初期状態であった場合は、(A)に飛んで図4の
処理に移る。ここで、フラッシュメモリ40が初期状態
であるかは、終了分割INDEXエリアサーチ手段11
で判断が為されるもので、具体的には、終了分割IND
EXエリア番号ストックエリア14に番号が1つも格納
されず、かつ1番目の分割INDEXエリアの最初のア
ドレスデータが初期状態、つまりオール”1”であった
場合にフラッシュメモリ40が初期状態と判断するもの
である。
大きい場合は、全分割INDEXエリアにおける終了コ
ードのサーチが終了したので、処理210に飛び、フラ
ッシュメモリ40が初期状態であるかを判断し(21
0)、初期状態であった場合は、(A)に飛んで図4の
処理に移る。ここで、フラッシュメモリ40が初期状態
であるかは、終了分割INDEXエリアサーチ手段11
で判断が為されるもので、具体的には、終了分割IND
EXエリア番号ストックエリア14に番号が1つも格納
されず、かつ1番目の分割INDEXエリアの最初のア
ドレスデータが初期状態、つまりオール”1”であった
場合にフラッシュメモリ40が初期状態と判断するもの
である。
【0050】処理210において、フラッシュメモリ4
0が初期状態でなかった場合に、終了分割INDEXエ
リア番号ストックエリア14に番号が格納されたか判断
し(212)、番号が格納されてない場合は、1番目の
分割INDEXエリアで最後尾フラグをサーチし(21
4)、最後尾フラグがあったか判断し(216)、最後
尾フラグがなかった場合は、フラッシュメモリが不定状
態にあるとして1番目の分割INDEXエリアをイレー
ス処理して(218)、(A)に飛んで図4の処理に移
る。
0が初期状態でなかった場合に、終了分割INDEXエ
リア番号ストックエリア14に番号が格納されたか判断
し(212)、番号が格納されてない場合は、1番目の
分割INDEXエリアで最後尾フラグをサーチし(21
4)、最後尾フラグがあったか判断し(216)、最後
尾フラグがなかった場合は、フラッシュメモリが不定状
態にあるとして1番目の分割INDEXエリアをイレー
ス処理して(218)、(A)に飛んで図4の処理に移
る。
【0051】一方、処理216において、最後尾フラグ
があった場合は、最後尾フラグ直前のデータアドレスを
データアドレスエリア51に格納して(228)、
(A)に飛んで図4の処理に移る。
があった場合は、最後尾フラグ直前のデータアドレスを
データアドレスエリア51に格納して(228)、
(A)に飛んで図4の処理に移る。
【0052】また、処理212において、終了分割IN
DEXエリア番号ストックエリア14に番号が格納され
た場合は、変数jに終了分割INDEXエリア番号スト
ックエリア14に格納された最初の番号を代入し(22
0)、j番の分割INDEXエリアで最後尾フラグをサ
ーチし(222)、最後尾フラグがあったか判断し(2
24)、最後尾フラグがあった場合は、処理228に飛
ぶ。
DEXエリア番号ストックエリア14に番号が格納され
た場合は、変数jに終了分割INDEXエリア番号スト
ックエリア14に格納された最初の番号を代入し(22
0)、j番の分割INDEXエリアで最後尾フラグをサ
ーチし(222)、最後尾フラグがあったか判断し(2
24)、最後尾フラグがあった場合は、処理228に飛
ぶ。
【0053】一方、処理224において最後尾フラグが
なかった場合は、全ての分割INDEXエリアに対する
最後尾フラグのサーチを終了したか判断し(230)、
最後尾フラグのサーチが終了していないなら変数jを次
の分割INDEXエリア番号に設定して(232)、処
理222に戻る。ここで、処理232の変数jを次の分
割INDEXエリア番号に設定する処理は、変数jに1
を加算し、その結果変数jの値が分割INDEXエリア
番号の最大値Nより大きくなった場合は、1を設定する
ものである。また、処理230における、全ての分割I
NDEXエリアに対する最後尾フラグのサーチを終了し
たかの判断は、変数jの値が最後尾フラグのサーチを開
始した分割INDEXエリア番号から1を除算した値に
なった場合を終了とするようになっている。
なかった場合は、全ての分割INDEXエリアに対する
最後尾フラグのサーチを終了したか判断し(230)、
最後尾フラグのサーチが終了していないなら変数jを次
の分割INDEXエリア番号に設定して(232)、処
理222に戻る。ここで、処理232の変数jを次の分
割INDEXエリア番号に設定する処理は、変数jに1
を加算し、その結果変数jの値が分割INDEXエリア
番号の最大値Nより大きくなった場合は、1を設定する
ものである。また、処理230における、全ての分割I
NDEXエリアに対する最後尾フラグのサーチを終了し
たかの判断は、変数jの値が最後尾フラグのサーチを開
始した分割INDEXエリア番号から1を除算した値に
なった場合を終了とするようになっている。
【0054】また、処理230において全ての分割IN
DEXエリアで最後尾フラグのサーチが終了したなら、
フラッシュメモリ40が不定状態にあるとして終了分割
INDEXエリア番号ストックエリア14に格納された
番号の分割INDEXエリアをイレース処理して(23
4)、(A)に飛んで図4の処理に移る。
DEXエリアで最後尾フラグのサーチが終了したなら、
フラッシュメモリ40が不定状態にあるとして終了分割
INDEXエリア番号ストックエリア14に格納された
番号の分割INDEXエリアをイレース処理して(23
4)、(A)に飛んで図4の処理に移る。
【0055】つぎに、図4に示すように、図3の(A)
から続いて、データエリア書き込み手段20の動作とし
て、データエリア42へのデータの書き込み処理を行い
(240)、次に、データアドレス書き込み手段31の
動作として、INDEXエリア41へデータアドレスを
書き込み(250)、続いてINDEXエリア41へ最
後尾フラグの書き込みを試み(252)、書き込もうと
した分割INDEXエリアがいっぱいで最後尾フラグが
書き込めなかったかどうか判断し(254)、いっぱい
でない場合は、処理240に戻る。
から続いて、データエリア書き込み手段20の動作とし
て、データエリア42へのデータの書き込み処理を行い
(240)、次に、データアドレス書き込み手段31の
動作として、INDEXエリア41へデータアドレスを
書き込み(250)、続いてINDEXエリア41へ最
後尾フラグの書き込みを試み(252)、書き込もうと
した分割INDEXエリアがいっぱいで最後尾フラグが
書き込めなかったかどうか判断し(254)、いっぱい
でない場合は、処理240に戻る。
【0056】一方、処理254において、書き込もうと
した分割INDEXエリアがいっぱいの場合は、分割I
NDEXエリア切換手段32の動作として、INDEX
アドレスエリア52に次の分割INDEXエリアの先頭
アドレスを設定して、データアドレスを次の分割IND
EXエリア書き込み(260)、続いて最後尾フラグを
書き込み(262)、いっぱいになった分割INDEX
エリアの最後に終了コードを書き込み(264)、イレ
ース手段33の動作として、いっぱいになった分割IN
DEXエリアの1つ前の分割INDEXエリアをイレー
ス処理し(270)、処理240に戻る。
した分割INDEXエリアがいっぱいの場合は、分割I
NDEXエリア切換手段32の動作として、INDEX
アドレスエリア52に次の分割INDEXエリアの先頭
アドレスを設定して、データアドレスを次の分割IND
EXエリア書き込み(260)、続いて最後尾フラグを
書き込み(262)、いっぱいになった分割INDEX
エリアの最後に終了コードを書き込み(264)、イレ
ース手段33の動作として、いっぱいになった分割IN
DEXエリアの1つ前の分割INDEXエリアをイレー
ス処理し(270)、処理240に戻る。
【0057】なお、本実施例のメモリ管理エリア制御方
法では、終了コードが保持されている分割INDEXエ
リアから順に最後尾フラグをサーチするようにしている
が、終了コードが保持されている分割INDEXエリア
の次の分割INDEXエリアから最後尾フラグのサーチ
を始めるようにすることも考えられる。この場合、終了
コードを保持する分割INDEXエリアの次の分割IN
DEXエリアに最後尾フラグが存在する確立が高いた
め、最後尾フラグを効率的にサーチできるものである。
法では、終了コードが保持されている分割INDEXエ
リアから順に最後尾フラグをサーチするようにしている
が、終了コードが保持されている分割INDEXエリア
の次の分割INDEXエリアから最後尾フラグのサーチ
を始めるようにすることも考えられる。この場合、終了
コードを保持する分割INDEXエリアの次の分割IN
DEXエリアに最後尾フラグが存在する確立が高いた
め、最後尾フラグを効率的にサーチできるものである。
【0058】本実施例のINDEXエリア制御方法によ
れば、INDEXエリア41が複数の分割INDEXエ
リアに分割されており、INDEXエリア41にデータ
エリア42におけるデータ書き込み終了時のデータアド
レスを書き込んだ後に、最後尾フラグを付加する処理を
行うが、データアドレスを書き込んだ分割INDEXエ
リアに最後尾フラグを書き込む余裕がなければ次の分割
INDEXエリアの先頭にデータアドレスを書き込んで
最後尾フラグを付加し、そしてデータアドレスが最初に
書き込まれた分割INDEXエリアの最後に終了コード
を付加し、更にデータアドレスを最初に書き込んだ分割
INDEXエリアの一つ前の分割INDEXエリアをイ
レースするので、INDEXエリア41の分割INDE
Xエリアのイレース時に電源停止等の障害が発生して
も、終了時のデータアドレスを保全することができる効
果がある。
れば、INDEXエリア41が複数の分割INDEXエ
リアに分割されており、INDEXエリア41にデータ
エリア42におけるデータ書き込み終了時のデータアド
レスを書き込んだ後に、最後尾フラグを付加する処理を
行うが、データアドレスを書き込んだ分割INDEXエ
リアに最後尾フラグを書き込む余裕がなければ次の分割
INDEXエリアの先頭にデータアドレスを書き込んで
最後尾フラグを付加し、そしてデータアドレスが最初に
書き込まれた分割INDEXエリアの最後に終了コード
を付加し、更にデータアドレスを最初に書き込んだ分割
INDEXエリアの一つ前の分割INDEXエリアをイ
レースするので、INDEXエリア41の分割INDE
Xエリアのイレース時に電源停止等の障害が発生して
も、終了時のデータアドレスを保全することができる効
果がある。
【0059】また、本実施例のINDEXエリア制御方
法によれば、電源立上時には、まず終了コードを検索し
て終了コードを保持する分割INDEXエリアを特定
し、更に特定された分割INDEXエリアから順に最後
尾フラグを検索し、最後尾フラグの直前に書き込まれた
データアドレスからデータエリア42において次にアク
セスするデータアドレスを取得するようにしているの
で、電源立上時に保全されたデータアドレスから次にア
クセスするデータアドレスを容易に取得することができ
る効果がある。
法によれば、電源立上時には、まず終了コードを検索し
て終了コードを保持する分割INDEXエリアを特定
し、更に特定された分割INDEXエリアから順に最後
尾フラグを検索し、最後尾フラグの直前に書き込まれた
データアドレスからデータエリア42において次にアク
セスするデータアドレスを取得するようにしているの
で、電源立上時に保全されたデータアドレスから次にア
クセスするデータアドレスを容易に取得することができ
る効果がある。
【0060】
【発明の効果】請求項1記載の発明によれば、メモリ管
理エリアが複数のブロックに分割されており、終了時の
データアドレスをメモリ管理エリアに書き込んだ後に、
そのデータアドレスの直後に特定フラグを付加する処理
を行うが、データアドレスを書き込んだブロックに特定
フラグを書き込む余裕がなければ次のブロックの先頭に
データアドレスを書き込んで特定フラグを付加し、そし
てデータアドレスが最初に書き込まれたブロックの最後
に終了コードを付加し、更にデータアドレスを最初に書
き込んだブロックの一つ前のブロックをイレースするメ
モリ管理エリア制御方法としているので、メモリ管理エ
リアのブロックのイレース時に電源停止等の障害が発生
しても、終了時のデータアドレスを保全することができ
る。
理エリアが複数のブロックに分割されており、終了時の
データアドレスをメモリ管理エリアに書き込んだ後に、
そのデータアドレスの直後に特定フラグを付加する処理
を行うが、データアドレスを書き込んだブロックに特定
フラグを書き込む余裕がなければ次のブロックの先頭に
データアドレスを書き込んで特定フラグを付加し、そし
てデータアドレスが最初に書き込まれたブロックの最後
に終了コードを付加し、更にデータアドレスを最初に書
き込んだブロックの一つ前のブロックをイレースするメ
モリ管理エリア制御方法としているので、メモリ管理エ
リアのブロックのイレース時に電源停止等の障害が発生
しても、終了時のデータアドレスを保全することができ
る。
【0061】請求項2記載の発明によれば、請求項1記
載のメモリ管理エリア制御方法で処理されたメモリ管理
エリアを有するメモリについて、電源立上時には、まず
終了コードを検索し、更に終了コードから特定フラグを
検索し、特定フラグの直前に書き込まれたデータアドレ
スから次にアクセスするデータアドレスを取得するメモ
リ管理エリア制御方法としているので、電源立上時に保
全されたデータアドレスから次にアクセスするデータア
ドレスを容易に取得することができる。
載のメモリ管理エリア制御方法で処理されたメモリ管理
エリアを有するメモリについて、電源立上時には、まず
終了コードを検索し、更に終了コードから特定フラグを
検索し、特定フラグの直前に書き込まれたデータアドレ
スから次にアクセスするデータアドレスを取得するメモ
リ管理エリア制御方法としているので、電源立上時に保
全されたデータアドレスから次にアクセスするデータア
ドレスを容易に取得することができる。
【図1】本発明の一実施例に係るフラッシュメモリのメ
モリ管理エリア(INDEXエリア)制御方法を説明す
るための概略説明図である。
モリ管理エリア(INDEXエリア)制御方法を説明す
るための概略説明図である。
【図2】本実施例のメモリ管理方法を実現する手段の機
能構成ブロック図である。
能構成ブロック図である。
【図3】本実施例のINDEXエリアの制御方法の前半
部分を示すフローチャート図である。
部分を示すフローチャート図である。
【図4】本実施例のINDEXエリアの制御方法の後半
部分を示すフローチャート図である。
部分を示すフローチャート図である。
【図5】従来のフラシュメモリのメモリ管理エリア(I
NDEXエリア)制御方法を説明するための概略説明図
である。
NDEXエリア)制御方法を説明するための概略説明図
である。
【図6】従来のINDEXエリアの制御方法を示すフロ
ーチャート図である。
ーチャート図である。
10…最終データアドレスサーチ手段、 11…終了分
割INDEXエリアサーチ手段、 12…最後尾フラグ
サーチ手段、 13…イレース手段、 14…終了分割
INDEXエリア番号ストックエリア、 20…データ
エリア書き込み手段、 30…データアドレス書き込み
制御手段、 31…データアドレス書き込み手段、 3
2…分割INDEXエリア切換手段、 33…イレース
手段、40…FLASHメモリ、 41…INDEXエ
リア、 42…データエリア、51…データアドレスエ
リア、 52…INDEXアドレスエリア
割INDEXエリアサーチ手段、 12…最後尾フラグ
サーチ手段、 13…イレース手段、 14…終了分割
INDEXエリア番号ストックエリア、 20…データ
エリア書き込み手段、 30…データアドレス書き込み
制御手段、 31…データアドレス書き込み手段、 3
2…分割INDEXエリア切換手段、 33…イレース
手段、40…FLASHメモリ、 41…INDEXエ
リア、 42…データエリア、51…データアドレスエ
リア、 52…INDEXアドレスエリア
Claims (2)
- 【請求項1】 複数ブロックに分割されたメモリ管理エ
リアの制御方法であって、前記メモリ管理エリアに終了
時のデータアドレスを書き込んだ際に、前記データアド
レスの直後に特定フラグを付加するよう試み、当該書き
込んだブロック内に前記特定フラグを付加する余裕があ
れば前記特定フラグを付加し、前記ブロック内に前記特
定フラグを付加する余裕がなければ次のブロックの先頭
に前記データアドレスを書き込み、更に前記データアド
レスの直後に前記特定フラグを付加し、前記データアド
レスが最初に書き込まれたブロックの最後に終了コード
を付加し、前記データアドレスが最初に書き込まれたブ
ロックの一つ前のブロックをイレースすることを特徴と
するメモリ管理エリア制御方法。 - 【請求項2】 請求項1記載のメモリ管理エリア制御方
法によって特定フラグが付加されたメモリ管理エリアの
制御方法であって、電源立上時に終了コードを検索し、
更に前記終了コードから前記特定フラグを検索し、前記
特定フラグの直前に書き込まれているデータアドレスか
ら次にアクセスするデータアドレスを取得することを特
徴とするメモリ管理エリア制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16866494A JPH0817191A (ja) | 1994-06-29 | 1994-06-29 | メモリ管理エリア制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16866494A JPH0817191A (ja) | 1994-06-29 | 1994-06-29 | メモリ管理エリア制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0817191A true JPH0817191A (ja) | 1996-01-19 |
Family
ID=15872216
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16866494A Pending JPH0817191A (ja) | 1994-06-29 | 1994-06-29 | メモリ管理エリア制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0817191A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000293440A (ja) * | 1999-03-17 | 2000-10-20 | Robert Bosch Gmbh | 制御装置のメモリ機能保護方法及び制御装置 |
-
1994
- 1994-06-29 JP JP16866494A patent/JPH0817191A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000293440A (ja) * | 1999-03-17 | 2000-10-20 | Robert Bosch Gmbh | 制御装置のメモリ機能保護方法及び制御装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102890656B (zh) | 提高flash使用寿命的方法 | |
| US20170139839A1 (en) | Data storage device and data maintenance method thereof | |
| US7725646B2 (en) | Method of using a flash memory for a circular buffer | |
| US6839798B1 (en) | Flash memory capable of storing frequently rewritten data | |
| KR20010109336A (ko) | 비휘발성 메모리내의 코드/데이터 경계를 조정가능하게하는 장치 및 방법 | |
| JP3212960B2 (ja) | フラッシュメモリを利用したデータ管理方法 | |
| CN112397128B (zh) | 一种Flash存储器的控制方法和装置 | |
| CN112347002A (zh) | flash数据的保存方法、系统、计算机设备及存储介质 | |
| CN114089915B (zh) | 基于flash存储器的文件追加写操作方法及装置 | |
| KR20010037155A (ko) | 플래시 파일 시스템 | |
| CN111324549B (zh) | 一种存储器及其控制方法和装置 | |
| KR101826778B1 (ko) | 플래쉬 라이프 사이클 및 성능 개선을 고려한 eeprom 에뮬레이션 구현 방법 | |
| KR100704618B1 (ko) | 플래시 메모리의 데이터 복구 장치 및 방법 | |
| JP2008033801A (ja) | メモリデータ管理装置 | |
| JPH0817191A (ja) | メモリ管理エリア制御方法 | |
| JP2003036209A (ja) | 不揮発性メモリ並びに不揮発性メモリのデータ書き換え方法 | |
| CN117746951A (zh) | 一种模拟eeprom的电路设计方法 | |
| CN112908390B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
| CN110427161B (zh) | 一种用于串行闪存的数据存储方法 | |
| CN113793634A (zh) | 一种适用于Nor Flash数据存储的磨损均衡方法及存储设备 | |
| JP2008084184A (ja) | メモリコントローラ | |
| JP3978720B2 (ja) | データ記憶方法 | |
| KR100521155B1 (ko) | 플래시 메모리의 정보기록장치 및 그 방법 | |
| JP2003203007A (ja) | 携帯電話機のメモリの不揮発エリア管理方法 | |
| JP3863479B2 (ja) | Icカード |