JP2002244935A - 記憶管理装置および記憶管理方法 - Google Patents

記憶管理装置および記憶管理方法

Info

Publication number
JP2002244935A
JP2002244935A JP2001043378A JP2001043378A JP2002244935A JP 2002244935 A JP2002244935 A JP 2002244935A JP 2001043378 A JP2001043378 A JP 2001043378A JP 2001043378 A JP2001043378 A JP 2001043378A JP 2002244935 A JP2002244935 A JP 2002244935A
Authority
JP
Japan
Prior art keywords
data
file
area
storage
column
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
JP2001043378A
Other languages
English (en)
Inventor
Taichi Ishizaka
太一 石阪
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2001043378A priority Critical patent/JP2002244935A/ja
Publication of JP2002244935A publication Critical patent/JP2002244935A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】 従来の記憶管理装置は、記憶手段としてEE
PROMを使用した場合には、コスト高となり、フラッ
シュメモリを使用した場合には、再書き込みに多くの時
間を必要とするという問題があった。さらに、ファイル
単位での処理ができないので、パソコン等で作成したプ
ログラムを修正した後に、記憶管理装置に組み込まなけ
ればならないという問題があった。 【解決手段】 記憶管理装置の記憶手段には、ファイル
名と、ファイル名に対応するデータと、前記データが最
新のものか否かを示すステータスとが関連付けられて記
憶されているものとした。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は,不揮発メモリへ
のデータの書込み等を制御する記憶管理装置、および記
憶管理方法に関するものであり、特に不揮発メモリおよ
びマイコンが組み込まれたマイコン組み込み機器に使用
されるものである。
【0002】
【従来の技術】従来のマイコン組み込み機器は、マイコ
ンが不揮発メモリ内の固定位置にデータを書き込む方式
を取っている。このような、マイコン組み込み機器に使
用される不揮発メモリとしては、EEPROMやフラッ
シュメモリー等が存在する。
【0003】次に、各メモリの構成と、書き換えの処理
について、図13のメモリ図に基づいて簡単に説明す
る。まず、EEPROMの場合には、任意の領域を指定
してデータの管理ができるので、メモリ内の固定位置に
データを書き込む方式を取っている場合には、一度書き
込んだデータをそのデータ領域のみ書き換えるというこ
とが可能となる。すなわち、図13(a)のように、1
00個のデータを保持していて、データ1のみを書き換
える場合,データ1の領域のみを指定して書き換えれば
よいので、処理を高速に行うことができる。しかし、E
EPROMは一般に高価であり、大容量のデータを必要
とする機器では、著しいコストアップを招いてしまう。
【0004】これに対して、フラッシュメモリはEEP
ROMに比較して、一般に安価である。しかし、フラッ
シュメモリの場合には、セクタという一定領域での管理
しかできないので、データの書き換えの際には、セクタ
を一度全て消去し、消去したセクタのデータのうち、書
き換え対象のデータ内容のみを変化させて消去したセク
タの全てのデータを再度書き込まなくてはならない。す
なわち、図13(b)のように、データ1からデータ5
0までがセクタ1、データ51からデータ100までが
セクタ2に保持されている状態で、データ1のみ書き換
える場合には、いったんデータ1〜データ50を他の記
憶手段に記憶させた後、セクタ1内のデータを全て消
去、その後、データ1の内容を変化させ、データ1〜デ
ータ50を全て書き込まなけれならなくなり、書き換え
処理に著しく多くの時間を要する。
【0005】
【発明が解決しようとする課題】このように、従来のマ
イコン組み込み機器では、EEPROMを使用した場合
には、コストが高くなり、また、フラッシュメモリを使
用した場合には、データ書き換え処理が遅くなるという
問題があった。
【0006】また、最近ではマイコン組み込み機器のプ
ログラムを、パソコンなどの汎用機器上でJava言語を使
用して開発することが多くなってきた。しかし、パソコ
ンではファイル単位でのデータ書き込みを行うのに対し
て、従来のマイコン組み込み機器ではメモリアドレスを
指定してデータ書き込みを行うので、パソコン上で作成
したソースコード中、ファイルの書き込み部分をマイコ
ン組み込み機器移植時にメモリアドレスを指定したデー
タ書き込みに変更しなければならず、せっかくパソコン
上で試験しても、再度、マイコン組み込み機器のハード
ウェアが完成するのを待ってソフトウェアの動作試験を
行わなければならず、ハードウェア・ソフトウェアの同
時開発が困難となり、開発期間が伸びるという問題があ
った。
【0007】さらに、従来のマイコン組み込み機器にお
いては、データ書き込み中に停電が発生してデータ書き
込み処理が異常終了した場合、まれなタイミングではあ
るが、データが失われるという問題があった。特にフラ
ッシュメモリのような、ある一定の領域全てを消去しな
ければ書き込めない不揮発メモリを使用している場合に
は、データ領域消去中に停電が発生すると、その領域の
全てのデータが消失してしまうことになる。
【0008】この発明は、上述の問題を解決するために
なされたものであり、第1の目的は、マイコン組み込み
機器において,フラッシュメモリに代表される安価な不
揮発メモリへのデータ書き換えを高速に行うことができ
る記憶管理装置・方法を提供することである。
【0009】また、第2の目的は、Java言語でプログラ
ミングを行ってもパソコン等の汎用機器と同様の動作が
できるように、不揮発メモリへのデータ書き込みをファ
イル方式で行うことができる記憶管理装置・方法を提供
することである。
【0010】さらに、第3の目的は、データ書き込み中
等のあらゆるタイミングにおいて、停電が発生した場合
でも、データが失われないような記憶管理装置・方法を
提供することである。
【0011】
【課題を解決するための手段】この発明における記憶管
理装置では、記憶手段にファイル名と、このファイル名
に対応するデータと、このデータが最新のものか否かを
示すステータスとが関連付けられて記憶されているもの
とした。
【0012】さらに、記憶手段は、不揮発メモリとし
た。
【0013】さらに、制御手段は、ファイル名を指定し
たデータ読み込み要求があった場合には、ファイル名と
最新を示すステータスとから読み込みデータを決定し、
記憶手段から読み込むものとした。
【0014】さらに、制御手段は、ファイル名を指定し
たデータの再書き込み要求があった場合には、既に記憶
手段に記憶されているファイル名に対応する最新を示す
ステータスを旧データを示すものに変更し、要求のあっ
たデータを、ファイル名と、データが最新のものを示す
ステータスとに関連付けて記憶するものとした。
【0015】さらに、制御手段は、記憶手段の整理要求
があった場合には、記憶手段から最新を示すステータス
に関連するデータを読み出し、記憶手段の内容を消去し
た後に、読み出したデータを、ファイル名と、データが
最新のものを示すステータスとに関連付けて記憶させる
ものとした。
【0016】また、この発明における、ファイル名欄
と、ファイル名に対応するデータが格納されたデータ格
納先を示すデータ格納先欄と、データのステータスを示
すファイルステータス欄とを関連付けているファイル管
理領域と、データ格納先と、データ格納先のステータス
を示すデータステータス欄とを関連付けているデータ管
理領域と、データを格納したデータエリアからなるデー
タ領域とを記憶した記憶手段のデータを管理する記憶管
理方法では、ファイル名を特定したデータ読み込み命令
を受ける第1のステップと、ファイル管理領域のファイ
ル名欄にファイル名が書き込まれており、さらに、ファ
イルステータス欄が「最新データ」となっているものを選
択する第2のステップと、選択されたファイルステータ
ス欄に対応するデータ格納先欄に書込まれたデータ格納
先に対応するデータエリアよりデータを読み込む第3の
ステップとを有するものとした。また、この発明におけ
る、
【0017】さらに、ファイル名を特定したデータ書き
込み命令を受ける第4のステップと、ファイル管理領域
からファイルステータス欄が「未使用」のものを選択し、
このファイルステータス欄を「書き込み中」とする第5の
ステップと、データ領域から未使用のデータエリアを選
択する第6のステップと、データエリアに対応するデー
タ格納先を「書き込み中」にされたファイルステータス欄
に対応するデータ格納先欄に書き込み、対応するファイ
ル名欄にファイル名を書き込む第7のステップと、デー
タ格納先に対応するデータステータス欄を「使用中」に
し、データエリアにデータを書き込む第8のステップ
と、ファイル名に対応したファイルステータス欄が「最
新データ」となっているものが存在した場合には、この
「最新データ」となっているファイルステータス欄を「旧
データ」にするとともに書き込み中にしたファイルステ
ータス欄を「最新データ」にし、ファイル名に対応したフ
ァイルステータス欄が「最新データ」となっているものが
存在しない場合には、書き込み中にしたファイルステー
タス欄に「最新データ」にする第9のステップとを有する
ものとした。
【0018】また、この発明における、データ整理ステ
ータス欄と、ファイル名欄と、ファイル名に対応するデ
ータが格納されたデータ格納先を示すデータ格納先欄
と、データのステータスを示すファイルステータス欄と
を関連付けている第1および第2のファイル管理領域
と、データ格納先と、データ格納先のステータスを示す
データステータス欄とを関連付けている第1および第2
のデータ管理領域と、データを格納したデータエリアか
らなる第1および第2のデータ領域とを記憶した第1の
記憶手段のデータを管理する記憶管理方法では、記憶手
段の整理命令を受ける第1のステップと、「最新データ」
となっている第1のファイル管理領域のファイルステー
タス欄に対応するファイル名欄、データ格納先欄、デー
タステータス欄、データを第2の記憶手段に保持する第
1のステップと、第1のファイル管理領域、第1のデー
タ管理領域、第1のデータ領域のデータを消去する第2
のステップと、第2の記憶手段のデータを展開して第1
のファイル管理領域、第1のデータ管理領域、第1のデ
ータ領域に書き込み、第1のファイル管理領域のデータ
整理ステータス欄を「通常状態」にする第3のステップ
と、第2のファイル管理領域、第2のデータ管理領域、
第2のデータ領域のデータを消去する第4のステップ
と、第1のファイル管理領域を第2のファイル管理領域
にコピーし、第1のデータ管理領域を第2のデータ管理
領域にコピーし、第1のデータ領域を第2のデータ領域
にコピーする第5のステップとを有するものとした。
【0019】
【発明の実施の形態】実施の形態1.図1は、この発明
の実施の形態1における記憶管理装置である、マイコン
組み込み機器の構成を示す構成図である。図1中、10
0はマイコン組み込み機器であり、各種制御を行うマイ
コン200と、不揮発メモリ300とから主に構成され
ている。さらに、マイコン200の内部には不揮発メモ
リ300への書き込み,読み込みといったアクセスを制
御する不揮発メモリアクセス制御部210が組み込まれ
ている。
【0020】次に、不揮発メモリ300の記憶構成につ
いて図2の記憶構成図に基づいて説明する。まず、不揮
発メモリ300は、ファイル管理領域310、データ管
理領域320、データ領域330の3領域から主に構成
されている。図2(a)は、ファイル管理領域310の
記憶構成を示す領域構成図であり、ファイル管理領域3
20のデータが整理中かどうかを示すデータ整理ステー
タス欄311と、記憶されたファイルを識別するための
ファイル名欄312と、このファイル名の状態を示すフ
ァイルステータス欄313と、ファイル名で示されるフ
ァイルのデータ格納先を示すデータ格納先欄314とか
らなっている。
【0021】なお、データ整理ステータス欄311は8
ビットで構成されており、保持されるステータスとして
は、初期状態(’FF’)、通常状態(’F
C’)、データ整理中(’F0’)の3つがある。ま
た、ファイルステータス欄313も2バイトで構成され
ており、保持されるステータスとしては、未使用(’
FF’)、書き込み中(’FC’)、最新デー
タ(’CC’)、旧データ移行中(’C0’)、旧
データ(’00’)の5つがある。なお、これらのステ
ータスのビット構成は、フラッシュメモリでは、データ
ビットを1→0にする方向での上書きは可能であるとの
特性を利用できるように定めたものであり、このように
定めることで、フラッシュメモリの同一アドレスにおけ
る複数回の書き込みを可能としている。
【0022】図2(b)は、データ管理領域320の記
憶構成を示す領域構成図であり、0000からシーケン
シャルにふられた番号321と、対応する領域の状態を
示すデータステータス欄322とからなっている。な
お、データステータス欄322は8ビットで構成されて
おり、保持されるステータスとしては、未使用(’F
F’)、使用中(’F0’)の2つがある。図2
(c)は、データ領域330の記憶構成を示す領域構成
図であり、実際のデータが格納される、ある一定のサイ
ズ毎に区切られた複数のデータエリア331からなって
いる。なお、データエリア331は、データ管理領域3
20の番号321に対応つけられており、データサイズ
と、データの内容が記憶されている。
【0023】図3は、実際にファイルが記憶された場合
を例として示す、ファイル管理領域310、データ管理
領域320、データ領域330の状態図である。
【0024】次に、この記憶管理装置におけるデータの
書き込み処理について、図4の書き込み処理フローチャ
ートに基づいて説明する。まず、マイコン200は、デ
ータの書き込みが発生した場合には、要求ファイル名と
データ内容を不揮発メモリアクセス制御部210へ通知
する(ステップ(以下、「S」とする)100)。
【0025】次に、不揮発メモリアクセス制御部210
は不揮発メモリ300のファイル管理領域310のファ
イルステータス欄313が[未使用(’FF’)]とな
っている行を検索し(S101)、ファイルステータス
欄313を[書き込み中(’FC’)]にし、ファイル
名欄312に通知された要求ファイル名を書き込む(S
102)。
【0026】次に、データ管理領域320のデータステ
ータス欄322が[未使用(’FF’)]となっている
行を検索し(S103)、検索したデータステータス欄
322の番号321をデータ格納先欄314に書き込ん
だ後(S104)、データステータス欄322を[使用
中(’F0’)]にし(S105)、そのデータ格納先
に対応するデータエリア331に通知されたデータ内容
を書き込む(S106)。なお、データサイズが1デー
タエリア内に収まらない場合は,使用するデータエリア
分に対応した複数のデータステータス欄322を[使用
中(’F0’)]にする。
【0027】データの書き込みが終了した後に、ファイ
ル管理領域310内を通知された要求ファイル名で検索
し、要求ファイル名と一致し、さらに、ファイルステー
タス欄313が[最新データ(’CC’)]となってい
る行が存在するか否かを判定する(S107)。S10
7で、存在しないと判定された場合には、S102で
[書き込み中(’FC’)]にしたファイルステータス
欄313を[最新データ(’CC’)]にする(S10
8)。また、S107で、存在すると判定した場合に
は、その行のファイルステータス欄313を[旧データ
移行中(’CC’)]に変更し(S109)、その後、
S102で[書き込み中(’FC’)]にしたファイル
ステータス欄313を[最新データ(’CC’)]に変
更し(S110)、その後、S109で[旧データ移行
中(’C0’)]としておいた行のファイルステータス
欄313を[旧データ(’00’)]にする(S11
1)。
【0028】なお、図4のフローチャートに従えば、例
えば、図3のFile_Cまで書き込んだ後に、File_Bを書き
換えしようとした場合、ファイル管理領域310内のフ
ァイルステータス欄313が[未使用(’FF’)]と
なっている行を検索してファイルステータス欄313を
[書き込み中(’FC’)]にし、ファイル名欄312
に[File_B]を書き込んだ後、データ管理領域320の
[未使用’(FF’)]となっている番号0004のデータ
ステータス欄322を[使用中(’F0’)]にし、番
号0004を[File_B]を書き込んだデータ格納先欄314
に書き込み、データエリア331にデータ内容を書き込
む。その後、前に記載されているFile_Bのファイルステ
ータス欄313を[旧データ移行中(’C0’)]に
し,新しく書き込んだファイルステータス欄313を
[最新データ(’CC’)]にし,[旧データ移行
中(’C0’)]としていたファイルステータス欄31
3を[旧データ(’00’)]に変更、最終的に図3の
ようなメモリ内容となる。
【0029】次に、この記憶管理装置におけるデータの
読み込み処理について、図5の読み込み処理フローチャ
ートに基づいて説明する。まず、マイコン200は,デ
ータの読み込みが発生した場合には、ファイル名を不揮
発メモリアクセス制御部210へ通知する(ステップ2
00)。
【0030】次に、不揮発メモリアクセス制御部210
はファイル管理領域310を通知されたファイル名で検
索し(S201)、ファイルステータス欄313が[最
新データ(’CC’)]となっている行のデータ格納先
欄314に保持されているデータステータスの番号に対
応するデータエリア331のデータを読み込む(S20
2)。なお、データエリア内に書き込まれたデータの先
頭にデータサイズを書き込んでおくことにより、複数デ
ータエリアをまたがったデータ等に関しても正常なサイ
ズで読み出すことが可能である。
【0031】なお、図5のフローチャートに従えば、例
えば、図3の状態でFile_A を読み込みたい場合は,ま
ずファイル管理領域310からファイルステータス欄3
13が[最新データ(’CC’)]、ファイル名欄31
2が[File_A]となっている行を検索し、検索したデー
タ格納先欄314に記載されている番号0000に対応する
データエリア331内のデータサイズを読み込み、デー
タサイズ分だけのデータを読み込む。図3の例ではデー
タエリアを2つ使用しているデータ1−1および1−2
を読み込むこととなる。
【0032】また、一度書き換えを行ったFile_Bを読み
込みたい場合も同様にしてファイルステータス欄313
が[最新データ(’CC’)]、ファイル名欄312が
[File_B]となっいる行を検索し、検索した行のデータ
格納先欄314に記載されている番号0004に対応するデ
ータエリア331内のデータ4を読み込むこととなる。
【0033】なお、図4の書き込み処理をした場合に
は、使用しない旧データがメモリ上に残ってしまい、不
揮発メモリ300の残容量が徐々に減って行き、放置し
ておくと、ついには書き込み不可となってしまう状態が
発生する。その為、ある時点で最新データのみを残し、
他を削除するメモリ整理処理が必要になってくる。この
メモリ整理処理について、図6のメモリ整理処理フロー
チャートに基づいて説明する。
【0034】まず、不揮発メモリアクセス制御部210
が、メモリ整理処理の開始を受け付ける(S300)。
なお、メモリ整理処理開始は、例えば時間設定でトリガ
ーをかけたり、不揮発メモリ300の空き具合を常時監
視し、一定値以下になった場合にトリガーをかけるよう
にしてもよい。次に、ファイル管理領域310のファイ
ルステータス欄313が[最新データ(’CC’)]とな
っているデータ内容のみを読み込んでDRAMなどの揮
発メモリ上に展開する(S301)
【0035】次に、データ整理ステータス欄311を
[データ整理中(’F0’)]にし(S302)、デー
タ領域330、データ管理領域320、ファイル管理領
域310の順番で内容を消去していく(S303)。従
って、この処理が終了した段階で、データ整理ステータ
ス欄311は、[初期状態(’FF’)]になっている。
次に、DRAMに保存しておいた最新データのみを再
度、ファイル管理領域310、データ管理領域320、
データ領域330に書き込み(S304)、[初期状態
(’FF’)]となっているデータ整理ステータス欄3
11を[通常状態(’FC’)]にする(S305)。
【0036】このように、この実施の形態では、データ
の書き換えを行う場合に、新しいデータを不揮発メモリ
に追加記憶させ、すでに記憶されている古いデータを消
去することなく読み出しの処理の対象としないようにし
ているので、データの書き換えを高速に行うことができ
る。
【0037】また、パソコンでのデータ保存方式に代表
されるような、ファイル名とデータ内容を指定するファ
イル形式でデータを書き込み、読み込みができるので、
パソコン上で作成したプログラムを直接動作させること
が可能となり、プログラム作成効率が向上する。
【0038】さらに、読み込みの対象とならない古いデ
ータを削除するデータ整理ができるので、不揮発メモリ
の残容量の減少により発生する書き込み不可を回避する
ことができる。
【0039】なお、この実施の形態では、ファイルステ
ータス欄、データステータス欄、データ管理ステータス
欄を8ビットで構成したが、特に8ビットである必要は
なく、ステータス部分の状態が変更できるように定めて
あればよい。
【0040】実施の形態2.例えば、データの書き込み
処理中や、データの整理処理中に停電などがあった場合
には、図4または図6の処理の途中で処理が中断し、以
降の処理が実行されない場合がありうる。実施の形態2
では、停電等の障害に対処する為に、同じデータを二重
に記憶させておく方法が取られている。図7は、この実
施の形態2における不揮発メモリのデータ構成を示す構
成図であり、第1のメモリ領域300aと第2のメモリ
領域300bの2つに区分されている。
【0041】なお、この2つのメモリ領域は全く同じ構
成であり、不揮発メモリアクセス制御部210が、書き
込み要求のあった同じデータをまず、第1のメモリ領域
300aに書き込み、次に、第2のメモリ領域300b
に書き込むという制御をしている。
【0042】さらに、第1のメモリ領域300aは、第
1のファイル管理領域310aと、第1のデータ管理領
域320aと、第1のデータ領域330aから構成され
ている。また、第2のメモリ領域300bは、第2のフ
ァイル管理領域310bと、第2のデータ管理領域32
0bと、第2のデータ領域330bから構成されてい
る。なお、ファイル管理領域、データ管理領域、データ
領域の構成は図2に記載のものと同様である。
【0043】次に、データの書き込み処理について、特
に、書き換え処理の場合の動作と、各段階でのファイル
管理領域、データ管理領域、データ領域の状態とを関係
つけながら、図8の処理フローチャートに基づいて説明
する。なお、図8では、File_Aのデータ内容をOldData
からNewDataに書き換える場合を示している。また、S
101〜S111での処理は、図4のフローチャートに
示したものと同様であるので、説明を省略する。
【0044】ここで、S100の後、S101が実行さ
れるが、この状態では、旧データ(以前に書込まれたFi
le_A)のファイルステータス欄は[最新データ(’C
C’)]、新データ(今回書き込むFile_A)は書き込ま
れていない状態となる。次に、S102が実行され、新
データのファイルステータス欄は[書き込み中(’F
C’)]の状態となる。なお、S103〜S106まで
は、旧データのファイルステータス欄313は[最新デ
ータ(’CC’)]、新データのファイルステータス欄
313は[書き込み中(’FC’)]の状態のままとな
る。次に、S109が実行され、旧データのファイルス
テータス欄313は[旧データ移行中(’CC’)]の状
態となる。次に、S110が実行され、新データのファ
イルステータス欄313は[最新データ(’CC’)]の
状態となる。次に、S111が実行され、旧データのフ
ァイルステータス欄313は[旧データ(’00’)]の
状態となる。次に、S101からS111までの処理を
第2のデータ領域300bに対しても行い(S11
3)、書き換え処理を終了する。
【0045】次に、データの整理処理について、特に、
整理処理の動作と、各段階での第1のデータ領域のデー
タ整理ステータス、各領域データの状態とを関係つけな
がら、図9の処理フローチャートに基づいて説明する。
なお、S301〜S304での処理は、図6のフローチ
ャートに示したものと同様であるので、説明を省略す
る。但し、ここでの整理処理は第1のメモリ領域300
aから始めるものとする。
【0046】ここで、S300の後、S301が実行さ
れるが、この状態では、第1のメモリ領域300aのデ
ータ管理ステータス欄311aは[通常状態(’F
C’)]、第2のメモリ領域300bのデータ管理ステ
ータス欄311bも[通常状態(’FC’)]である。次
に、S302が実行され、第1のメモリ領域300aの
データ管理ステータス欄311aは[データ整理中(’
F0’)]となる。次に、S303が実行され、第1の
メモリ領域300aのデータ管理ステータス欄311a
は[初期状態(’FF’)]となる。次に、S304が実
行されるが、この状態では、第1のメモリ領域300a
のデータ管理ステータス欄311aは[初期状態(’F
F’)]、第2のメモリ領域300bのデータ管理ステ
ータス欄311bも[通常状態(’FC’)]のままであ
る。
【0047】次に、第1のメモリ領域300aのデータ
管理ステータス欄311aが[通常状態(’FC’)]に
され、第2のメモリ領域300bのデータ管理ステータ
ス欄311bが[データ整理中(’F0’)]にされる
(S306)。
【0048】次に、S303と同様の方法で、第2のメ
モリ領域300bのデータをすべて消去され(S30
7)、第2のメモリ領域300bのデータ管理ステータ
ス欄311bは[初期状態(’FF’)]となる。
【0049】次に、第1のメモリ領域300a内のすべ
てのデータが第2のメモリ領域300bにコピーされ
(S308)、第2のメモリ領域300bのデータ管理
ステータス欄311bは[通常状態(’FC’)]となる
(S308)。
【0050】次に、二重記憶でのデータの読み込み処理
について、図10のフローチャートに基づいて説明す
る。まず、マイコン200は、データの読み込みが発生
した場合には、ファイル名を不揮発メモリアクセス制御
部210へ通知する(S200)。
【0051】次に、不揮発メモリアクセス制御部210
は、第1のファイル領域300aと第2のファイル領域
300bのどちらを読み込みの対象とするかを選択する
(S203)。具体的には、第1のメモリ領域300a
のデータ管理ステータス欄311aと、第2のメモリ領
域300bのデータ管理ステータス欄311bとを調
べ、通常状態となっている方を読み込みの対象とする。
また、両方は通常状態の場合には、第1のメモリ領域3
00aを選択する。
【0052】図11は、図9で示す各状態で停電等が発
生し、処理が停止した場合に、復旧後の読み込みでどの
メモリ領域を選択するかの関係を示したものである。4
00は、S302後、S303の処理で、第1のデータ
整理ステータス欄311が初期化されるまでに処理が停
止した場合であり、この時は、第2のメモリ領域300
bが選択される。401は、S303の処理で、第1の
データ整理ステータス欄311が初期化された後、S3
06で第1のデータ整理ステータス欄311が変更され
るまでに処理が停止した場合であり、この時は、第2の
メモリ領域300bが選択される。402は、S306
で第1のデータ整理ステータス欄311aが変更された
後、S307で第2のデータ整理ステータス欄311b
が初期化されるまでに処理が停止した場合であり、この
時は、第1のメモリ領域300aが選択される。403
は、S307で第2のデータ整理ステータス欄311b
が初期化された後、第1のメモリ領域300aのデータ
の第2のメモリ領域300bへのコピーが終了する前に
処理が停止した場合であり、この時は、第1のメモリ領
域300aが選択される。404は、通常の場合であ
り、この時は第1のメモリ領域300aが選択される。
【0053】次に、ファイル名に基づき、ファイル管理
領域310を検索して、読み込み要求のあったファイル
名と一致するファイル名312を有するものをすべて選
出する(S204)。次に、S204で選出したものか
ら、ファイルステータス欄313に基づき読み込み対象
を選択する(S205)。具体的には、ファイルステー
タス欄313が[最新データ(’CC’)]のものがあれ
ばそれを選択し、ない場合には、ファイルステータス欄
313が[書き込み中(’FC’)]のものを選択する。
【0054】図12は、図8で示す各状態で停電等が発
生し、処理が停止した場合に、復旧後の読み込みでどの
データを選択するかの関係を示したものである。500
は、S102で、ファイルステータス欄313を[書き
込み中(’FC’)]にする前までに処理が停止した場
合であり、この時は、すでにメモリ上に存在する旧デー
タが選択される。
【0055】501は、S102でファイルステータス
欄313を[書き込み中(’FC’)]にした後、S10
9で、旧データのファイルステータス欄313に[旧デ
ータ移行中(’C0’)]を書き込む前までに処理が停
止した場合であり、この時は、旧データが選択される。
502は、S109で、旧データのファイルステータス
欄313に[旧データ移行中(’C0’)]を書き込んだ
後、S110で新データのファイルステータス欄313
を[最新データ(’CC’)]にする前までに処理が停止
した場合であり、この時は、新データを選択する。な
お、この状態では、新データのデータ内容は全てデータ
領域330に記憶されているので、ファイルステータス
欄313が[最新データ(’CC’)]でなく[書き込み
中(’FC’)]であっても特に問題はない。503
は、S110で、新データのファイルステータス欄31
3を[最新データ(’CC’)]にした後、S111で旧
データのファイルステータス欄313を[旧データ(’
00’)]にする前までに処理が停止した場合であり、
この時は、新データを選択する。504は、通常の状態
であり、新データを選択する。
【0056】次に、選択したファイル管理領域310で
選択したファイルのデータ格納先欄311に基づいて、
データ領域330からデータを読み込む(S206)。
【0057】この実施の形態では、データ整理処理の途
中で処理停止したとしても、復旧後に正しいデータを読
み込むことができる。
【0058】また、データ書き換え処理の途中で処理停
止したとしても、復旧後に正しいデータを読み込むこと
ができる。
【0059】
【発明の効果】この発明は上述の様な構成であるので、
フラッシュメモリ等の記憶手段にも高速にデータの再書
き込みを行うことができ、また、パソコン等の汎用機器
に用いられているハードディスクと同様にファイル形式
でのデータ書き込みが可能となるので、プログラム開発
効率が向上する。さらに、データ書き込み中等のあらゆ
るタイミングにおいて、停電が発生した場合でも、デー
タの消失を防ぐことができる。
【図面の簡単な説明】
【図1】 この発明の実施の形態1における記憶管理装
置のブロック図である。
【図2】 この発明の実施の形態1における記憶管理装
置の記憶手段での記憶構成図である。
【図3】 記憶手段での記憶状況の一例を示す図であ
る。
【図4】 書き込み処理を示すフローチャートである。
【図5】 読み込み処理を示すフローチャートである。
【図6】 メモリ整理処理を示すフローチャートであ
る。
【図7】 この実施の形態2における記憶管理装置の記
憶手段での記憶構成図である。
【図8】 書き込み処理を示すフローチャートである。
【図9】 メモリ整理処理を示すフローチャートであ
る。
【図10】 読み込み処理を示すフローチャートであ
る。
【図11】 図9で示す各状態で停電等が発生し、処理
が停止した場合に、復旧後の読み込みでどのメモリ領域
を選択するかの関係を示した図である。
【図12】 図8で示す各状態で停電等が発生し、処理
が停止した場合に、復旧後の読み込みでどのデータを選
択するかの関係を示した図である。
【図13】 従来のマイコン組み込み機器でのメモリ構
成図である。
【符号の説明】
100 マイコン組み込み機器、 200 マイコン、
210 不揮発メモリアクセス制御部、 300 不揮
発メモリ、310 ファイル管理領域、 311 デー
タ整理ステータス欄、312 ファイル名欄、 313
ファイルステータス欄、314 データ格納先欄、
320 データ管理領域、321 番号、 322 デ
ータステータス欄、330 データ領域、 331 デ
ータエリア。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 データを記憶する記憶手段と、前記記憶
    手段を制御する制御手段とを有する記憶管理装置におい
    て、前記記憶手段には、ファイル名と、前記ファイル名
    に対応するデータと、前記データが最新のものか否かを
    示すステータスとが関連付けられて記憶されていること
    を特徴とする記憶管理装置。
  2. 【請求項2】 記憶手段は、不揮発メモリであることを
    特徴とする請求項1に記載の記憶管理装置。
  3. 【請求項3】 制御手段は、ファイル名を指定したデー
    タ読み込み要求があった場合には、前記ファイル名と最
    新を示すステータスとから読み込みデータを決定し、前
    記記憶手段から読み込むことを特徴とする請求項1また
    は2に記載の記憶管理装置。
  4. 【請求項4】 制御手段は、ファイル名を指定したデー
    タの再書き込み要求があった場合には、既に記憶手段に
    記憶されている前記ファイル名に対応する最新を示すス
    テータスを旧データを示すものに変更し、さらに、前記
    要求のあったデータを、前記ファイル名と、前記データ
    が最新のものを示すステータスとに関連付けて記憶する
    ことを特徴とする請求項1から3のいずれかに記載の記
    憶管理装置。
  5. 【請求項5】 制御手段は、記憶手段の整理要求があっ
    た場合には、前記記憶手段から最新を示すステータスに
    関連するデータを読み出し、記憶手段の内容を消去した
    後に、前記読み出したデータを、ファイル名と、前記デ
    ータが最新のものを示すステータスとに関連付けて記憶
    させることを特徴とする請求項1から4のいずれかに記
    載の記憶管理装置。
  6. 【請求項6】 ファイル名欄と、ファイル名に対応する
    データが格納されたデータ格納先を示すデータ格納先欄
    と、前記データのステータスを示すファイルステータス
    欄とを関連付けているファイル管理領域と、前記データ
    格納先と、前記データ格納先のステータスを示すデータ
    ステータス欄とを関連付けているデータ管理領域と、前
    記データを格納したデータエリアからなるデータ領域と
    を記憶した記憶手段のデータを管理する記憶管理方法に
    おいて、ファイル名を特定したデータ読み込み命令を受
    ける第1のステップと、前記ファイル管理領域のファイ
    ル名欄に前記ファイル名が書き込まれており、さらに、
    前記ファイルステータス欄が「最新データ」となっている
    ものを選択する第2のステップと、前記選択されたファ
    イルステータス欄に対応するデータ格納先欄に書込まれ
    たデータ格納先に対応するデータエリアよりデータを読
    み込む第3のステップとを有することを特徴とする記憶
    管理方法。
  7. 【請求項7】 ファイル名を特定したデータ書き込み命
    令を受ける第4のステップと、前記ファイル管理領域か
    らファイルステータス欄が「未使用」のものを選択し、こ
    のファイルステータス欄を「書き込み中」とする第5のス
    テップと、前記データ領域から未使用のデータエリアを
    選択する第6のステップと、前記データエリアに対応す
    るデータ格納先を前記「書き込み中」にされたファイルス
    テータス欄に対応するデータ格納先欄に書き込み、対応
    するファイル名欄に前記ファイル名を書き込む第7のス
    テップと、前記データ格納先に対応するデータステータ
    ス欄を「使用中」にし、データエリアにデータを書き込む
    第8のステップと、前記ファイル名に対応したファイル
    ステータス欄が「最新データ」となっているものが存在し
    た場合には、この「最新データ」となっているファイルス
    テータス欄を「旧データ」にするとともに前記書き込み中
    にしたファイルステータス欄を「最新データ」にし、前記
    ファイル名に対応したファイルステータス欄が「最新デ
    ータ」となっているものが存在しない場合には、前記書
    き込み中にしたファイルステータス欄を「最新データ」に
    する第9のステップとを有することを特徴とする請求項
    6に記載の記憶管理方法。
  8. 【請求項8】 データ整理ステータス欄と、ファイル名
    欄と、ファイル名に対応するデータが格納されたデータ
    格納先を示すデータ格納先欄と、前記データのステータ
    スを示すファイルステータス欄とを関連付けている第1
    および第2のファイル管理領域と、前記データ格納先
    と、前記データ格納先のステータスを示すデータステー
    タス欄とを関連付けている第1および第2のデータ管理
    領域と、前記データを格納したデータエリアからなる第
    1および第2のデータ領域とを記憶した第1の記憶手段
    のデータを管理する記憶管理方法において、前記第1の
    記憶手段の整理命令を受ける第1のステップと、「最新
    データ」となっている第1のファイル管理領域のファイ
    ルステータス欄に対応するファイル名欄、データ格納先
    欄、データステータス欄、データを第2の記憶手段に保
    持する第2のステップと、第1のファイル管理領域、第
    1のデータ管理領域、第1のデータ領域のデータを消去
    する第3のステップと、第2の記憶手段のデータを展開
    して第1のファイル管理領域、第1のデータ管理領域、
    第1のデータ領域に書き込み、第1のファイル管理領域
    のデータ整理ステータス欄を「通常状態」にする第4のス
    テップと、第2のファイル管理領域、第2のデータ管理
    領域、第2のデータ領域のデータを消去する第5のステ
    ップと、第1のファイル管理領域を第2のファイル管理
    領域にコピーし、第1のデータ管理領域を第2のデータ
    管理領域にコピーし、第1のデータ領域を第2のデータ
    領域にコピーする第6のステップとを有することを特徴
    とする記憶管理方法。
JP2001043378A 2001-02-20 2001-02-20 記憶管理装置および記憶管理方法 Pending JP2002244935A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001043378A JP2002244935A (ja) 2001-02-20 2001-02-20 記憶管理装置および記憶管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001043378A JP2002244935A (ja) 2001-02-20 2001-02-20 記憶管理装置および記憶管理方法

Publications (1)

Publication Number Publication Date
JP2002244935A true JP2002244935A (ja) 2002-08-30

Family

ID=18905550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001043378A Pending JP2002244935A (ja) 2001-02-20 2001-02-20 記憶管理装置および記憶管理方法

Country Status (1)

Country Link
JP (1) JP2002244935A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260468A (ja) * 2005-03-18 2006-09-28 Nec Electronics Corp 半導体装置
JP2017021561A (ja) * 2015-07-10 2017-01-26 ファナック株式会社 制御装置のファイルシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260468A (ja) * 2005-03-18 2006-09-28 Nec Electronics Corp 半導体装置
JP2017021561A (ja) * 2015-07-10 2017-01-26 ファナック株式会社 制御装置のファイルシステム

Similar Documents

Publication Publication Date Title
EP0686976B1 (en) Data management system for programming-limited type semiconductor memory and IC memory card having the data management system
JP3797649B2 (ja) 不揮発性半導体記憶装置
US6038636A (en) Method and apparatus for reclaiming and defragmenting a flash memory device
US5682497A (en) Managing file structures for a flash memory file system in a computer
JP4268396B2 (ja) 1回プログラム可能な不揮発性メモリデバイスのファイル管理
KR100370893B1 (ko) 일괄 소거형 비휘발성 메모리 장치
JP2005242897A (ja) フラッシュディスク装置
KR20040014971A (ko) 비휘발성 메모리의 제어방법
JP2001209543A (ja) フラッシュ・マイコンにおけるプログラム書き換え方法
JP2000250820A (ja) 不揮発性メモリへのデータ保存方法
US5907854A (en) Flash memory file system for writing data files without rewriting an entire volume
US20070136510A1 (en) Storage device, memory managing device, memory managing method, and program
JPWO2009004674A1 (ja) 記憶装置、ディスク装置、書込み判定方法、制御装置
JP2008123314A (ja) 半導体記憶装置への情報記録方法及び情報記録システム
US20050149493A1 (en) Data recording apparatus and data recording method
JP4794530B2 (ja) 半導体装置および携帯電話
JP4594944B2 (ja) メモリ制御装置
JP2002244935A (ja) 記憶管理装置および記憶管理方法
JP3271935B2 (ja) 制御システム
JP4580724B2 (ja) 不揮発性メモリの制御方法
JPH10289144A (ja) メモリの制御方法
JP3166659B2 (ja) 記憶装置
JPH0764831A (ja) データ記憶装置
JPH1139210A (ja) フラッシュメモリのメモリ制御装置
JP2009211152A (ja) 情報処理装置、メモリシステムおよびその制御方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040702