JP3212960B2 - フラッシュメモリを利用したデータ管理方法 - Google Patents

フラッシュメモリを利用したデータ管理方法

Info

Publication number
JP3212960B2
JP3212960B2 JP02744599A JP2744599A JP3212960B2 JP 3212960 B2 JP3212960 B2 JP 3212960B2 JP 02744599 A JP02744599 A JP 02744599A JP 2744599 A JP2744599 A JP 2744599A JP 3212960 B2 JP3212960 B2 JP 3212960B2
Authority
JP
Japan
Prior art keywords
data
block
storage area
information
area
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.)
Expired - Fee Related
Application number
JP02744599A
Other languages
English (en)
Other versions
JP2000222292A (ja
Inventor
立二 江原
Original Assignee
埼玉日本電気株式会社
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 埼玉日本電気株式会社 filed Critical 埼玉日本電気株式会社
Priority to JP02744599A priority Critical patent/JP3212960B2/ja
Publication of JP2000222292A publication Critical patent/JP2000222292A/ja
Application granted granted Critical
Publication of JP3212960B2 publication Critical patent/JP3212960B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フラッシュメモリ
を利用したデータ管理方法に関し、特にデータの書き換
え処理を効率よく行うことの可能なフラッシュメモリを
利用したデータ管理方法に関する。
【0002】
【従来の技術】従来の携帯電子機器の内の特に携帯電話
機では、電源供給源に電池を使用していることから電源
供給が無くなる可能性があるため、電話番号等の重要な
データを記憶するメモリには電源供給がない状態でもデ
ータ保持可能な不揮発性メモリであるEEPROMを使
用している。また、製品出荷サイクルの短縮による製品
開発短縮のため、プログラムを格納する不揮発性メモリ
としては、書き換え可能なフラッシュメモリを使用して
いる。携帯電子機器では、また、小型、軽量化に伴い個
々の部品の小型化や使用部品点数の削減が必要視されて
いる。
【0003】
【発明が解決しようとする課題】そこで、従来、EEP
ROMに格納していたデータを、プログラムを格納して
いたフラッシュメモリに格納することが出来れば、EE
PROMを削除することができ、小型軽量化を図ること
が可能になるが、フラッシュメモリは記憶素子の構造
上、いくつかの制約があり、次のような問題点がある。
【0004】その第1の問題点は、フラッシュメモリは
初期状態からでないとデータの書き込みができないた
め、先に書き込んだデータを書き換える場合は、一旦デ
ータを消去してからでないと行えない。このため、任意
番地のデータを任意に書き換えることは出来ない。消去
単位としては、バイト単位ではなく数10キロバイト〜
数百キロバイト単位のブロック単位かチップ単位であ
り、データ読み出し速度に比べてデータ書き込み速度あ
るいは消去速度は非常に時間を要し、特に、消去時間は
消去単位が大きいため時間を要してしまう。データの書
き換えを行うには、消去単位毎に書き換えたいデータを
どこかに一旦退避させた後にフラッシュメモリの消去を
行い初期状態に戻し、消去したくないデータを退避先か
ら前記初期状態にしたフラッシュメモリへ書き込み、そ
れから新しく書き込みたい部分に書き込む必要があるの
で、書き換えに時間を要してしまうことである。
【0005】第2の問題点は、データの書き込み中およ
び消去中はデータの読み出しが出来ないことである。そ
のため、従来、EEPROMに格納していたデータを単
純にフラッシュメモリに割り付けたのでは、データの書
き換え毎にデータの読み出しに制約が発生し、プログラ
ムを従来通り動作させるのが困難になることである。
【0006】第3の問題点は、携帯電話機等の携帯電子
機器ではその構造上、予期せず電池が外される場合があ
る一方で、データの書き込みおよび消去に時間を要すこ
とから、データの書き込み中および消去中に電源供給が
絶たれることが容易に考えられる。また、電源供給断後
に再度電源供給され動作する場合は、フラッシュメモリ
は書き込み中であったか消去中であったか状態を残さな
い。そのため、特に消去においては記憶素子が一斉に消
去される訳ではないため、一部のデータを確認しただけ
では消去単位全部が消去されたとの確認にならないの
で、正しく消去されたかを確認するためには消去単位全
部のデータを読み出す必要があり時間を要してしまうこ
とである。
【0007】そこで、本発明の目的は、前記第1、第
2、第3の問題点を解決することでデータの書き換え処
理に要する時間を短縮し、前記書き換え処理を効率よく
行うことの可能なフラッシュメモリを利用したデータ管
理方法を提供することにある。
【0008】
【課題を解決するための手段】本発明に係るフラッシュ
メモリを利用したデータ管理方法は、データ単位がデー
タエリアサイズの電源断の状態でも保持する必要のある
データを格納するデータ格納エリアを有したデータ格納
ブロックを、フラッシュメモリの消去単位であるブロッ
クで確保し、前記ブロック内において設定された、その
データ格納エリアごとの、当該データ格納エリアの状態
を示す情報および当該データ格納エリアへ格納された前
記データの情報と、前記ブロックごとの自ブロックおよ
び他ブロックの状態を示す情報とで前記データを管理
し、前記データの“書き換え”時に伴う初期状態への消
去処理を省略することを特徴とする。
【0009】本発明のフラッシュメモリを利用したデー
タ管理方法は、データ単位がデータエリアサイズの電源
断の状態でも保持する必要のあるデータを格納するデー
タ格納エリアを有したデータ格納ブロックを、フラッシ
ュメモリの消去単位であるブロックで確保し、前記各ブ
ロック内において設定された、そのデータ格納エリアご
とのデータ格納エリアの状態を示す情報および当該デー
タ格納エリアへ格納された前記データの情報と、前記ブ
ロックごとの自ブロックおよび他ブロックの状態を示す
情報とを用いて、データの“書き換え”時に伴う前記デ
ータの消去処理を不要にするデータ管理を行い、フラッ
シュメモリにおける前記データの“書き換え”に要する
時間を短縮し、前記データの書き換え処理について効率
化を図る。
【0010】
【発明の実施の形態】以下、本発明の実施の一形態につ
いて説明する。本実施の形態のフラッシュメモリを利用
したデータ管理方法は、プログラムの書き換え可能なメ
モリ、特にフラッシュメモリを持つ携帯電子機器に適用
して好適なものであり、データの書き換え処理を効率よ
く行い、前記プログラムと電源供給がなくても保持しな
くてはならないデータとを同一のフラッシュメモリ内に
格納したときに生じる前記プログラムの動作についての
制約を軽減し、また携帯電子機器に適用した場合に、前
記データを保持するのに必要であったEEPROMを削
除可能にして前記携帯電子機器の小型、軽量化を実現す
るものである。
【0011】なお、以下の説明では、フラッシュメモリ
を使用した携帯電子機器として携帯電話機を例にして説
明する。図1は、本実施の形態のデータ管理方法が適用
された携帯電話機の構成を示すブロック図である。この
プログラムの書き換え可能なフラッシュメモリを持つ携
帯電話機10は、図に示すようにCPU11、フラッシ
ュメモリ12、RAM13、制御部14、無線部15、
アンテナ16および電池17などで構成されている。
【0012】CPU11は、携帯電話機10の無線部1
5などを制御して図示してない基地局を介して通信を行
う他、各部の制御を行うものである。フラッシュメモリ
12は、1ブロックが数10キロバイト〜数百キロバイ
トであるブロック0からブロックnにブロック単位で区
切られており、プログラムと電源供給断時も保持しなけ
ればならないデータとを格納するものである。なお、フ
ラッシュメモリの参考文献としては、富士通製フラッシ
ュメモリ MBM29LV800Bのデータシートがあ
る。RAM13は、汎用的なデータの一時格納場所とし
て使用され書き込みと読み出しが行われ、電源供給がな
い場合は保持する必要がないため、揮発性メモリのSR
AMが使用される。
【0013】制御部14は、CPU11とともに図示し
てない基地局を介して通信を行うなど、携帯電話機とし
ての各部の制御を行うものである。無線部15は、無線
周波数により前記基地局との通信を行うためのものであ
る。アンテナ16は、前記基地局との間で無線周波数に
よる信号の送受を行うためのものである。電池17は、
携帯電話機10各部への電力供給を行うための電源とな
るものである。
【0014】携帯電話機10は、図示しない基地局とア
ンテナ16を介して通信を行うため、CPU11とフラ
ッシュメモリ12とRAM13と制御部14により無線
部15を制御し通信を行う。フラッシュメモリ12に
は、プログラムおよび電源供給断時も保持しなければな
らないデータを格納する。RAM13は、電源供給がな
い場合は保持する必要がない汎用的なデータの一時格納
場所として書き込みと読み出しが行われる。
【0015】図2は、この携帯電話機10におけるフラ
ッシュメモリ12の構成を示す説明図である。このフラ
ッシュメモリ12は、ブロック0からブロックnのよう
にブロック単位で区切られている。1ブロックは数10
キロバイト〜数百キロバイトである。フラッシュメモリ
12には、プログラムと電源供給断時も保持しなければ
ならないデータを格納するが、データを格納する領域と
しては、前記各ブロックごとにデータ格納ブロック2を
確保する。
【0016】一般にフラッシュメモリの記憶素子の構成
上、ブロック単位で消去し初期状態とした状態でないと
任意データを書き込めない。データの書き換え処理とし
て、書き換える前のデータを消去単位毎にどこかに一旦
退避させた後にこれを消去し、消去したくないデータを
退避先から書き込み、それから新しく書き込みたい部分
に書き込むステップを経る。このため書き込み処理に時
間を要することになる。そこで本実施の形態では、消去
処理を別にし、データ書き換え時はデータの書き込み処
理のみを行うこととし、データ書き換え処理を効率よく
行う。このために複数のデータ格納ブロック2をローテ
ーションで使用する。
【0017】本実施の形態では、データを格納するデー
タ領域として、フラッシュメモリ12の図2に示すブロ
ックn−2〜nの3ブロックを確保した場合について説
明する。フラッシュメモリ12のブロックn−1を拡大
したデータ格納ブロック2は、ブロック管理領域3とデ
ータ管理領域4とデータ格納エリア5で構成する。ブロ
ック管理領域3には、現ブロックが使用中か未使用か使
用済みか等の状態情報を格納する。更に、他のブロック
の消去状況を格納する。消去状況とは、消去中か消去完
了か等の情報である。
【0018】データ格納エリア5はデータを格納する領
域であり、複数の適当な均等サイズのデータエリアで構
成する。例えば、1データエリアのサイズを16バイト
とする。使用順序を図2に示すように(a)の順序でデ
ータエリアに番号をふり、その使用順序(a)に示す順
でデータエリアを使用していく。
【0019】データ管理領域4は、データ格納エリア5
のデータエリア数と同数のデータ管理テーブル20で構
成する。このデータ管理テーブル20は、フラッシュメ
モリの1データ単位サイズで構成する。例えば、D15
〜D0の16本のデータラインを持つフラッシュメモリ
12であれば、1アドレスに対するデータビット数は1
6ビットであるから1データ単位サイズは16ビットと
なる。ここでは、1データ単位サイズを16ビットとす
る。すなわち、1データ管理テーブルを16ビットとす
る。
【0020】また、データ管理領域4の中に示す数字は
データ管理テーブル20の番号である。そして使用順序
(b)の順序で番号を付け、その番号と同じ番号を持つ
データエリアと相対するものとする。例えば、データエ
リアmのデータ管理テーブル20につけられる番号は、
データ管理領域4内のmである。データ管理テーブル2
0には、データ格納エリア5に格納されているデータが
有効か無効か、書き込み中か等の管理情報と何のデータ
が格納されているかの情報を格納する。データエリアに
何のデータが格納されているかの情報としてデータ番号
を格納する。これは、予め、格納するデータの中で同じ
タイミングで書き換える等の同類のデータをデータエリ
アと同じデータ数毎にまとめ、そのデータ群に番号をふ
る。この番号をデータ管理テーブル20に格納すること
で、データエリアに何のデータが格納されたかの情報を
格納するものとする。また、データエリアおよびデータ
管理テーブル20を規則正しく並べることで、データ管
理テーブル20のアドレスからデータエリアの先頭アド
レスを簡単に算出できるようにして、必要とするデータ
の読み出しに時間を要することがないようにする。
【0021】ここで、データ管理テーブルについて図3
を用いて説明する。図3は、このデータ管理テーブルの
構成を示す説明図である。図3に示すデータ管理テーブ
ル20は、1データ単位が16ビットのフラッシュメモ
リ12の場合の例である。このデータ管理テーブル20
に示すようにビット単位で意味を持たせて管理する。ビ
ット単位で意味を持たせる理由は、フラッシュメモリ1
2の性質上から任意にデータを書き換えられないからで
ある。フラッシュメモリ12をビット単位で見ると、記
憶素子の構造上、初期状態と反対のデータに初期状態の
データの上書きは不可能であり、初期状態のデータにす
るためには消去が必要となるが、初期状態と同じデータ
に初期状態と反対のデータの上書きは可能であるので、
この性質を利用して、データ書き込み中とかデータエリ
アのデータが有効とかの情報をビット単位で変化させる
ことで管理できるようにする。
【0022】ブロック内のデータエリアの使用状態を格
納するデータ管理領域4を設けることにより、データエ
リアの状態の検索は、データ管理領域4のみ検索すれば
良いようにして、1ブロックの容量に左右されることな
く、データエリアの使用状態の把握を可能にして、必要
とするデータの検出を容易にする。
【0023】次に、図2に示すブロック管理領域3につ
いて図4を用いて説明する。図4は、このブロック管理
領域を示す説明図である。図4に示すブロック管理領域
30は、図1のブロック管理領域3と同じものである。
ブロック管理領域30は、図5に示す現ブロック使用有
無テーブル31と図6に示す各ブロックの消去状況テー
ブル32で構成する。
【0024】現ブロック使用有無テーブル31および各
ブロック消去状況テーブル32もデータ管理テーブル2
0同様にビット単位で意味を持たせて管理する。各テー
ブルは、フラッシュメモリの1データ単位サイズで構成
する。ここでは、データ管理テーブル20同様に1デー
タ単位サイズを16ビットとする。
【0025】プログラムの書き換え可能なメモリとして
フラッシュメモリを使用する場合、前述したように
(1)フラッシュメモリ12は、数キロバイトから数百
キロバイトのブロックに区切られており、記憶素子の構
成上、ブロック単位で消去し初期状態にした後でないと
任意データを書き込めず、データの書き込みに数百μ
秒、消去に秒単位の時間を要してしまうこと、(2)デ
ータの書き換え処理として、消去ブロック毎に書き換え
ようとするデータを待避先に一旦退避させた後に、その
ブロックを消去し、書き換えていないデータを前記退避
先から書き込み、それから新しく書き込みしたいデータ
を書き込むため前記処理に時間を要してしまうこと、
(3)フラッシュメモリ12をビット単位で見ると、記
憶素子の構造上、初期状態と反対のデータに初期状態の
データの“上書き”は不可能であり、初期状態のデータ
にするためには消去が必要となるが、初期状態と同じデ
ータに初期状態と反対のデータの“上書き”は可能であ
るという性質がある。
【0026】このため、以上の(1),(2),(3)
の観点から、図2に示すように、データ格納ブロック2
内にデータ管理のためのブロック管理領域3,データ管
理領域4とデータを格納するデータ格納エリア5を設け
る。そして、データ格納エリア5は複数の均等サイズの
データエリアで構成し、データエリアそれぞれに相対す
る図3のデータ管理テーブル20を図2に示すデータ管
理領域4に設ける。
【0027】そして、データの“書き換え”を行う場合
は、前記データエリアにデータを格納する他に、相対す
るデータ管理テーブル20にデータ格納有を示す情報と
何のデータかの情報を格納し、旧データが存在するデー
タエリアに相対するデータ管理テーブル20にはフラッ
シュメモリ12の性質を活用しデータ格納無しを示す情
報を上書きする。このように、最小限のデータ書き込み
処理のみでデータの“書き換え”が出来るような構成に
する。
【0028】また、データを格納するブロックを複数に
して、これをローテーションで使用する。ローテーショ
ンするブロックの中で有効とするブロックの識別は、各
ブロックに設けるブロック管理領域3(図3のブロック
管理領域30と同じ)内の図5に示す現ブロック使用有
無テーブル31により行う。ブロック内に有効なデータ
エリアが存在するときに、現ブロック使用有無テーブル
31に有効ブロックを表すデータを書き込み、有効なブ
ロックから消去可能なブロックへ変更する場合は、フラ
ッシュメモリ12の性質を活用し、現ブロック使用有無
テーブル31に消去可能ブロックを表すデータを“上書
き”する。このようにデータを格納するブロックをロー
テーションで使用する中で、各ブロックの有効か無効か
を管理することで、データ書き換え処理として、消去処
理を別にし、データ書き換え時にデータの書き込み処理
のみを行えばよいような構成にする。これらにより、書
き込み処理の効率の向上を図り、同一のフラッシュメモ
リに対し電源供給がなくても保持しなくてはならないデ
ータとプログラムの共存を可能にする。
【0029】また、ブロック内のデータエリアの使用状
態を格納するデータ管理領域4を設けることにより、デ
ータエリアの状態の検索は、データ管理領域4のみ検索
すれば良いことから、1ブロックの容量に左右されるこ
となく、データエリアの使用状態を把握することが出
来、必要とするデータを容易に検出できる構成にする。
また、データエリアおよびデータ管理テーブル20を規
則正しく並べることで、データ管理テーブルのアドレス
からデータエリアの先頭アドレスを簡単に算出できるた
め、必要とするデータの読み出しに要する時間の短縮化
を可能にし、フラッシュメモリのブロックの容量の違い
に容易に対応できる構成にする。
【0030】また、前述したように、携帯電子機器の構
造上、予期せず電池が外される場合があり、データの書
き込み中および消去中に電源供給が絶たれることが考え
られる。また、電源供給断後に再度電源供給され動作す
る場合は、フラッシュメモリは書き込み中であったか消
去中であったか状態を残さない。特に消去においては記
憶素子が一斉に消去される訳ではないため、一部のデー
タを確認しただけでは消去ブロック全部が消去されたと
の確認にならないので、正しく消去されたかを確認する
ためには消去ブロック全部のデータを読み出す必要があ
り時間を要することになる。そこで、フラッシュメモリ
12の性質を活用し、データエリアへのデータ書き込み
時は、データエリアへの書き込み前にデータ管理テーブ
ル20に書き込み開始を書き込み、データエリアへの書
き込み後は、書き込み完了を“上書き”する。ブロック
消去時は、消去対象ブロック以外のブロックのブロック
管理領域30内にある図6に示すブロック消去状況テー
ブル32にデータ書き込み時と同様にフラッシュメモリ
1の性質を活用して、消去前に消去開始を書き込み、消
去終了で消去完了を上書きする。
【0031】このようにデータ書き込みおよび消去のス
テータスを残すことで、データ書き込み中および消去中
の電源断やリセット発生による処理中断後にも容易に消
去完了有無等の確認が可能になるように構成する。
【0032】次に、動作について説明する。先ず、デー
タの“書き込み”について、図7,図8,図9に示すフ
ローチャートを用いて説明する。なお、ここでは記憶素
子の初期状態が‘1’のフラッシュメモリを例に説明す
る。また、図2に示すフラッシュメモリ12のブロック
n−2〜ブロックnをデータ格納ブロックとして、ブロ
ックn−2、ブロックn−1、ブロックn、ブロックn
−2の順でローテーションして使用するものとして説明
する。
【0033】先ず、データエリアへのデータの“書き込
み”に先立ち、フラッシュメモリ12における使用ブロ
ックの確定を行う。この使用ブロックの確定は、図4に
示す各ブロックのブロック管理領域30の図5に示す現
ブロック使用有無テーブル31を確認し“有効(使用
中)”に出来るブロックを検出する。この結果、“有効
(使用中)”に出来るブロックがない場合は、ブロック
のローテーションで、次に使用する未使用のブロックの
ブロック管理領域30の現ブロック使用有無テーブル3
1に“有効(使用中)”を書き込む(図7のステップS
10,ステップ11)。このとき、現ブロック使用有無
テーブル31の状態は、図7の(b)に示すように符号
40で示す現ブロック使用有無テーブルの状態から符号
41で示す現ブロック使用有無テーブルの状態となる。
一方、“有効(使用中)”に出来るブロックである場合
は、次のステップS11を省略する。
【0034】このようにして使用ブロックを確定した
後、次に、図9のフローチャートに示すように使用ブロ
ック内のデータ管理領域4を最若番データ管理テーブル
20から使用順序方向に確認していき未使用のデータエ
リアを検出する(ステップS30)。
【0035】次に、前記検出した未使用データエリアに
相対するデータ管理テーブル20に”書き込み開始”と
データエリアに格納するデータ番号を書き込む(ステッ
プS31)。このとき、データ管理テーブル20の状態
は、符号60で示すデータ管理テーブルから符号61で
示すデータ管理テーブルの状態となる。
【0036】次に、データエリアにデータを書き込む
(ステップS32)。データエリアへのデータの“書き
込み”が完了したならば(ステップS33)、データ管
理テーブル20に“有効(書込完了)”を書き込む(ス
テップS34)。このときのデータ管理テーブル20の
状態は、符号62で示すデータ管理テーブルの状態とな
る。
【0037】また、既に格納済みであったデータ番号の
データを更新するためにデータの“書き込み”を行なっ
た場合には、旧データが存在するデータエリアに相対す
るデータ管理テーブル20に“無効(使用済み)”を書
き込む(ステップS35)。このときの前記データ管理
テーブル20の状態は、符号63で示す旧データ管理テ
ーブルの状態となる。
【0038】なお、データエリアにデータ書き込み中に
書き込みエラーが発生したときは、データ管理テーブル
20のD13とD12を‘0’にし、そのデータエリア
書き込み時に書き込みエラーが発生した記録を残す。
【0039】現ブロックのデータエリアを全て使用して
しまった場合は、ローテーション順の次ブロックのデー
タエリアにデータを格納する。
【0040】これらを繰り返し、データの“書き込み”
および“書き換え”を行うことで、消去処理をせずにデ
ータの書き換えが可能になる。また、書き込むデータ単
位がデータエリアサイズであることから、データ書き換
え時、必要最小限のデータの書き込みで良く、書き込み
効率が向上する。
【0041】次に、“消去”について、図8および図1
0に示すフローチャートを用いて説明する。ブロックを
ローテーションで使用しているため、全データエリアを
使用したブロックは消去する必要がある。そのため、先
ず、全データエリアを使用しておりデータエリアに空き
がない状態かを判定し(ステップS20)、“データエ
リア空きなし”の状態であれば、消去する前に必要なデ
ータを前述の書き込み方法で次ブロックにコピーする。
但し、この処理は、データの書き込み処理に継続してや
る必要はない。コピーが完了すると全データエリアを使
用したブロックは、消去可能となるため現ブロック使用
有無テーブル31に“無効(使用済み)”を書き込む
(ステップS21)。このときの現ブロック使用有無テ
ーブル31の状態は、符号50で示す現ブロック使用有
無テーブルの状態から符号51で示す現ブロック使用有
無テーブルの状態になる。これにより、消去待ちブロッ
クとなるものとする。
【0042】ここで現在使用中のブロックをブロックn
とし、ブロックn−1のブロックを消去する場合を例に
説明する。図10のフローチャートに示すように、各ブ
ロックのブロック管理領域30の現ブロック使用有無テ
ーブル31を確認し、無効“使用済み”ブロックかの検
索を行う(ステップS40)。ブロックn−1が消去待
ちであるので、ブロックn内にあるブロック管理領域の
ブロックn−1の消去状況に“消去開始”を書き込む
(ステップS41)。このときのブロックn内にあるブ
ロックn−1の消去状況の状態は、符号70で示すブロ
ックn−1の消去状況から符号71で示すブロックn−
1の消去状況となる。次いで、ブロックn−1を消去す
る(ステップS42)。そして、消去完了を監視し(ス
テップS43)、消去が完了した場合は、ブロックn−
1の消去状況に消去終了を書き込む(ステップS4
4)。このときのブロックn−1の消去状況の状態は、
符号72で示すブロックn−1の消去状況となる。
【0043】なお、消去中にエラーが発生した時は、ブ
ロックn−1の消去状況のD13とD12を‘0’に
し、そのブロック消去中に消去エラーが発生した記録を
残す。消去処理もデータの書き込み処理に継続してやる
必要はない。これら各ステップを繰り返し、消去するこ
とで、データの“書き込み”とは別処理で消去処理を行
うことが出来る。
【0044】また、携帯電話機の構造上、予期せず電池
が外れされる場合があり、データの書き込み中および消
去中に電源供給が絶たれることが考えられるが、このよ
うな場合にはフラッシュメモリ12の性質を活用し、例
えば、ブロック消去時は、消去対象ブロック以外のブロ
ックのブロック管理領域30内にあるブロック消去状況
テーブル32にフラッシュメモリ12の性質を活用し
て、消去前に消去開始を書き込み、消去終了で消去終了
を上書きする。このようにデータの“書き込み”および
“消去”のステータスを残すことで、データ書き込み中
および消去中の電源断やリセット発生による処理中断後
にも容易に消去対象ブロックについて消去完了有無等を
確認することが可能となる。
【0045】以上のように、本実施の形態によれば、書
き込むデータ単位をデータエリアサイズとすることで、
変更のないデータを書き直す必要がないため、書き込み
処理に要する時間を短縮でき、同一メモリ内のプログラ
ムを動作させるための制約を軽減でき、携帯電話機等の
携帯電子機器に好適なフラッシュメモリを利用したデー
タ管理方法を提供できる効果がある。
【0046】また、書き込むデータ単位をデータエリア
サイズとし、フラッシュメモリ内の複数のブロックをデ
ータ領域としてローテーションで使用することで、デー
タ書き込み時に消去する必要を無くし、所望のタイミン
グで消去できるため、更にプログラムを動作させるため
の制約を軽減でき、携帯電話機等の携帯電子機器に好適
なフラッシュメモリを利用したデータ管理方法を提供で
きる効果がある。
【0047】また、データの書き込みおよび消去の前と
後の状態を、同じフラッシュメモリ内に格納することに
より、電源供給有無に左右されない不揮発性メモリにデ
ータの書き込み中および消去中であるかのステータスを
残すことが出来、データの書き込み中と消去中の中断お
よびリセット発生を簡単に把握することが出来、また電
源断後でもデータ書き込みおよび消去状態を簡単に把握
でき、携帯電話機等の携帯電子機器に好適なフラッシュ
メモリを利用したデータ管理方法を提供できる効果があ
る。
【0048】また、ブロック内のデータエリアの使用状
態を格納するデータ管理領域を設けることにより、デー
タエリアの状態の検索はデータ管理領域のみ検索すれば
良いことから、ブロックの容量に左右されることなく、
データエリアの状態を把握することが出来、必要とする
データを容易に検出できるフラッシュメモリを利用した
データ管理方法を提供できる効果がある。
【0049】また、データエリアおよびデータ管理テー
ブルを規則正しく並べることで、データ管理テーブルの
アドレスからデータエリアの先頭アドレスを簡単に算出
できるため、必要とするデータの読み出しに要する時間
を短縮でき、さらに、データエリアのサイズは、データ
管理テーブルのアドレスから簡単に算出でき、且つ、デ
ータ格納領域内のサイズ(例えば16バイト)であれば
良く、携帯電話機等の携帯電子機器に好適なフラッシュ
メモリを利用したデータ管理方法を提供できる効果があ
る。
【0050】また、フラッシュメモリ内のブロックの容
量の違いに容易に対応できるフラッシュメモリを利用し
たデータ管理方法を提供できる効果がある。
【0051】また、従来EEPROMに格納していたデ
ータをフラッシュメモリに取り込めるためEEPROM
を削除することが出来、携帯電話機等の携帯電子機器に
適用した場合にその小型化を実現できるフラッシュメモ
リを利用したデータ管理方法を提供できる効果がある。
【0052】前記実施の形態では、データ管理テーブル
20およびブロック管理領域3内のテーブルを16ビッ
トとした場合について説明したが、フラッシュメモリの
1アクセス単位が8ビットのものについては、各テーブ
ルを8ビットで構成することで同様の効果を得ることが
出来る。
【0053】1アクセス単位が8ビットの場合のデータ
管理テーブル80、現ブロック使用有無テーブル81、
ブロックnの消去状況テーブル82の例を図11に示
す。なお、1アクセス単位がそれ以外でも同様である。
前記実施の形態では、データ格納領域5のデータエリア
サイズを16ビットの場合について説明したが、このデ
ータ長はフラッシュメモリの1ブロックサイズ内で且つ
データ格納領域5内のサイズであれば良い。
【0054】また、前記実施の形態では、データ管理テ
ーブル20に管理フラグとデータ番号を格納する場合を
説明したが、管理フラグとデータ番号を分離させ、デー
タ番号のみを格納する領域を別に設けて管理する方法で
同様の効果を得ることが出来、管理できるデータ番号を
拡張できる効果がある。
【0055】また、前記実施の形態では、データを格納
するブロックを3ブロックとした場合を説明したが、こ
のブロック数が2つ以上であれば同様の効果が得られ
る。また、データを格納するブロックを1つとした場合
のデータ管理方法においても1ブロック内の構成は使用
できる。
【0056】また、前記実施の形態では、データ管理テ
ーブル20およびブロック管理領域3内の各テーブルを
ビット単位のフラグで構成する場合について説明した
が、このフラグをバイト単位で行なっても同様の効果を
得ることが出来る。データ管理テーブル20およびブロ
ック管理領域3内のデータ管理テーブル80、現ブロッ
ク使用有無テーブル81、ブロックnの消去状況テーブ
ル82をバイト単位で構成する場合の一例を図12に示
す。
【0057】また前記実施の形態では、フラッシュメモ
リ12内の1ブロックをブロック管理領域3、データ管
理領域4、データ格納エリア5で構成する場合を説明し
たが、フラッシュメモリ内の複数のブロックを1ブロッ
クとし、この1ブロックにブロック管理領域3、データ
管理領域4、データ格納エリア5を設け、この1ブロッ
クをローテーションで使用する構成であっても同様の効
果が得られる。
【0058】また、前記実施の形態では、フラッシュメ
モリ12にプログラムとデータを共存させるためのデー
タ管理方法を説明したが、フラッシュメモリ12にデー
タのみ格納する場合のデータ管理方法としても使用でき
る。
【0059】また、前記実施の形態では、プログラム書
き換え可能なメモリとしてフラッシュメモリの場合につ
いて説明したが、“書き込み”および“読み出し”のデ
ータ単位はバイトもしくはワードであり、消去する単位
がメモリによって区切られたブロック単位のメモリにお
いても同様の効果が得られる。
【0060】また、前記実施の形態では、記憶素子の構
成上、初期値が‘1’のフラッシュメモリの場合につい
て説明したが、異なる記憶素子で構成されるフラッシュ
メモリで初期値が‘0’の場合でもデータ管理テーブル
20およびブロック管理領域3の各テーブルに書き込む
値を‘1’(初期値が‘1’の場合に書き込む‘0’の
反転の値)とすることで同様の効果を得ることが出来
る。
【0061】また、前記実施の形態では、RAM13と
してSRAMを使用した場合として説明したが、RAM
は読み出し書き込みできる共通メモリであれば制限はな
い。
【0062】
【発明の効果】以上のように、本発明によれば、データ
単位がデータエリアサイズの電源断の状態でも保持する
必要のあるデータを格納するデータ格納エリアを有した
データ格納ブロックを、フラッシュメモリの消去単位で
あるブロックで確保し、前記各ブロック内において設定
された、そのデータ格納エリアごとのデータ格納エリア
の状態を示す情報および当該データ格納エリアへ格納さ
れた前記データの情報と、前記ブロックごとの自ブロッ
クおよび他ブロックの状態を示す情報とで前記データを
管理し、フラッシュメモリにおけるデータの“書き換
え”に伴う初期状態への消去処理をデータの“書き換
え”時に行う必要をなくすようにしたので、フラッシュ
メモリにおけるデータの“書き換え”に要する時間が短
縮でき、前記データの書き換え処理を効率よく行える効
果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態のデータ管理方法が適用さ
れた携帯電話機の構成を示すブロック図である。
【図2】本発明の実施の形態のデータ管理方法が適用さ
れた携帯電話機におけるフラッシュメモリの構成を示す
説明図である。
【図3】本発明の実施の形態のデータ管理方法が適用さ
れた携帯電話機におけるデータ管理テーブルの構成を示
す説明図である。
【図4】本発明の実施の形態のデータ管理方法が適用さ
れた携帯電話機におけるブロック管理領域を示す説明図
である。
【図5】本発明の実施の形態のデータ管理方法が適用さ
れた携帯電話機における現ブロック使用有無テーブルを
示す説明図である。
【図6】本発明の実施の形態のデータ管理方法が適用さ
れた携帯電話機におけるブロック消去状況テーブルを示
す説明図である。
【図7】本発明の実施の形態のデータ管理方法によるデ
ータの書き込みの際の動作を示すフローチャートであ
る。
【図8】本発明の実施の形態のデータ管理方法によるデ
ータの消去の際の動作を示すフローチャートである。
【図9】本発明の実施の形態のデータ管理方法によるデ
ータの書き込みの際の動作を示すフローチャートであ
る。
【図10】本発明の実施の形態のデータ管理方法による
データの消去の際の動作を示すフローチャートである。
【図11】本発明の他の実施の形態のデータ管理方法に
よる1アクセス単位が8ビットの場合のデータ管理テー
ブル、現ブロック使用有無テーブル、ブロックnの消去
状況テーブルの例を示す説明図である。
【図12】本発明の別の実施の形態のデータ管理方法に
よるデータ管理テーブル、現ブロック使用有無テーブ
ル、ブロックnの消去状況テーブルをバイト単位で構成
する場合の一例を示す説明図である。
【符号の説明】
2……データ格納ブロック、3,30……ブロック管理
領域、4……データ管理領域、5……データ格納エリ
ア、12……フラッシュメモリ、20……データ管理テ
ーブル、31……現ブロック使用有無テーブル(使用有
無テーブル)、32……ブロック消去状況テーブル(消
去状況テーブル)。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/16 G06F 12/00 G11C 16/06

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】データ単位がデータエリアサイズの電源断
    の状態でも保持する必要のあるデータを格納するデータ
    格納エリアを有したデータ格納ブロックを、フラッシュ
    メモリの消去単位であるブロックで確保し、 前記ブロック内において設定された、そのデータ格納エ
    リアごとの、当該データ格納エリアの状態を示す情報お
    よび当該データ格納エリアへ格納された前記データの情
    報と、前記ブロックごとの自ブロックおよび他ブロック
    の状態を示す情報とで前記データを管理し、 前記データ格納エリアの状態を示す情報および当該デー
    タ格納エリアへ格納されたデータの情報は、前記各デー
    タ格納エリアに対応したデータ管理テーブルに設定され
    る、データ格納エリアに対するデータの書込の開始/終
    了、データ格納エリアに対しデータについて格納“有
    り”か格納“無し”かについての格納されているデータ
    の有効/無効などをビット単位で示す情報、およびデー
    タの種類についてビット単位で示す情報であり、前記ブ
    ロックごとの自ブロックおよび他ブロックの状態を示す
    情報は、前記ブロックごとの使用有無テーブルに設定さ
    れる前記ブロックごとの前記データの格納に有効なデー
    タエリアが存在するか否かなどの使用の有無についての
    ビット単位の情報と、前記ブロックごとの消去状況テー
    ブルに設定される各ブロックごとの前記データの“消
    去”の開始/終了などについての消去状況などのビット
    単位の情報であり、 データ格納エリアにデータを格納するとともに、対応す
    るデータ管理テーブルにデータ格納“有り”を示す情報
    と前記データの種類を示す情報を格納し、旧データが存
    在するデータ格納エリアに対応するデータ管理テーブル
    にはデータ格納“無し”を示す情報を上書きすることで
    データの“書き換え”を行うことを特徴とするフラッシ
    ュメモリを利用したデータ管理方法。
  2. 【請求項2】データ単位がデータエリアサイズの電源断
    の状態でも保持する必要のあるデータを格納するデータ
    格納エリアを有したデータ格納ブロックを、フラッシュ
    メモリの消去単位であるブロックで確保し、 前記ブロック内において設定された、そのデータ格納エ
    リアごとの、当該データ格納エリアの状態を示す情報お
    よび当該データ格納エリアへ格納された前記デ ータの情
    報と、前記ブロックごとの自ブロックおよび他ブロック
    の状態を示す情報とで前記データを管理し、 前記データ格納エリアの状態を示す情報および当該デー
    タ格納エリアへ格納されたデータの情報は、前記各デー
    タ格納エリアに対応したデータ管理テーブルに設定され
    る、データ格納エリアに対するデータの書込の開始/終
    了、データ格納エリアに対しデータについて格納“有
    り”か格納“無し”かについての格納されているデータ
    の有効/無効などをビット単位で示す情報、およびデー
    タの種類についてビット単位で示す情報であり、前記ブ
    ロックごとの自ブロックおよび他ブロックの状態を示す
    情報は、前記ブロックごとの使用有無テーブルに設定さ
    れる前記ブロックごとの前記データの格納に有効なデー
    タエリアが存在するか否かなどの使用の有無についての
    ビット単位の情報と、前記ブロックごとの消去状況テー
    ブルに設定される各ブロックごとの前記データの“消
    去”の開始/終了などについての消去状況などのビット
    単位の情報であり、 使用有無テーブルに設定したブロックごとの使用の有無
    についての情報をもとに、データを格納する複数のブロ
    ックをローテーションで使用し、有効なデータ格納エリ
    アが存在するブロックの使用有無テーブルには該ブロッ
    クが有効であることを示す情報を書き込み、有効なブロ
    ックから消去可能なブロックへの変更は、当該ブロック
    の使用有無テーブルへ消去可能なブロックであることを
    表す情報を“上書き”し、フラッシュメモリの消去単位
    である複数のブロックを使用してデータの“書き換え”
    を行うことを特徴とするフラッシュメモリを利用したデ
    ータ管理方法。
  3. 【請求項3】前記データ管理テーブル、前記使用有無テ
    ーブル、および前記消去状況テーブルには、フラッシュ
    メモリの1データ単位サイズのビット単位で初期状態と
    同じデータに初期状態と反対のデータを上書きすること
    で各情報が設定されることを特徴とする請求項1又は2
    記載のフラッシュメモリを利用したデータ管理方法。
JP02744599A 1999-02-04 1999-02-04 フラッシュメモリを利用したデータ管理方法 Expired - Fee Related JP3212960B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02744599A JP3212960B2 (ja) 1999-02-04 1999-02-04 フラッシュメモリを利用したデータ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02744599A JP3212960B2 (ja) 1999-02-04 1999-02-04 フラッシュメモリを利用したデータ管理方法

Publications (2)

Publication Number Publication Date
JP2000222292A JP2000222292A (ja) 2000-08-11
JP3212960B2 true JP3212960B2 (ja) 2001-09-25

Family

ID=12221325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02744599A Expired - Fee Related JP3212960B2 (ja) 1999-02-04 1999-02-04 フラッシュメモリを利用したデータ管理方法

Country Status (1)

Country Link
JP (1) JP3212960B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3709338B2 (ja) 2000-11-22 2005-10-26 日本電気株式会社 携帯電話のユーザー設定情報管理方法とユーザー設定情報管理システム
JP4644967B2 (ja) * 2001-04-17 2011-03-09 株式会社デンソー 携帯情報端末装置
JP4654531B2 (ja) * 2001-04-20 2011-03-23 パナソニック電工株式会社 ブロック消去型記憶媒体の管理装置
CN100377119C (zh) * 2003-06-20 2008-03-26 深圳市朗科科技有限公司 闪存介质中数据保护方法
KR100591840B1 (ko) * 2003-12-26 2006-06-20 주식회사 팬택앤큐리텔 이동통신 단말기의 리소스 관리 시스템
JP2006155461A (ja) * 2004-12-01 2006-06-15 Sony Corp 情報処理装置、情報処理方法、並びにプログラム
JP4692806B2 (ja) * 2004-12-20 2011-06-01 アイシン精機株式会社 記憶手段の使用方法及びこれを用いた演算装置、制御プログラム
JP2006309526A (ja) * 2005-04-28 2006-11-09 Denso Corp 不揮発性メモリ制御装置及びそれを用いた自動車用ダイアグ管理システム
KR100876148B1 (ko) 2007-01-18 2008-12-26 한양대학교 산학협력단 플래시 메모리 관리장치 및 방법
KR100923990B1 (ko) 2007-02-13 2009-10-28 삼성전자주식회사 플래시 저장 장치의 특성을 기반으로 한 컴퓨팅 시스템
KR100922389B1 (ko) 2007-07-04 2009-10-19 삼성전자주식회사 플래시 메모리를 위한 색인 스킴
JP4536785B2 (ja) 2008-02-01 2010-09-01 富士通株式会社 情報処理装置、該情報処理装置で行われるデータ記憶を制御する制御部およびデータ記憶の制御方法
JP4712102B2 (ja) * 2009-05-26 2011-06-29 富士通株式会社 記憶装置、データ処理方法およびデータ処理プログラム
JP5520098B2 (ja) 2010-03-24 2014-06-11 スパンション エルエルシー データ処理方法、プログラムおよびシステム
JP2012093812A (ja) * 2010-10-25 2012-05-17 Clarion Co Ltd 電子機器、及び、電子機器の制御方法
JP2013003655A (ja) * 2011-06-13 2013-01-07 Denso Corp フラッシュメモリにデータの書き込みを行う制御装置
JP6142544B2 (ja) * 2013-01-22 2017-06-07 富士通株式会社 設定方法、通信システムおよび通信装置
JP2015225565A (ja) * 2014-05-29 2015-12-14 株式会社アドヴィックス 電子制御装置
JP7134142B2 (ja) * 2019-06-26 2022-09-09 株式会社デンソーテン 情報処理装置およびデータ管理方法

Also Published As

Publication number Publication date
JP2000222292A (ja) 2000-08-11

Similar Documents

Publication Publication Date Title
JP3212960B2 (ja) フラッシュメモリを利用したデータ管理方法
US20080250188A1 (en) Memory Controller, Nonvolatile Storage, Nonvolatile Storage System, and Memory Control Method
US6134151A (en) Space management for managing high capacity nonvolatile memory
JP4132086B2 (ja) フラッシュメモリ内のブロックにおける移動セクタ
JP4418439B2 (ja) 不揮発性記憶装置およびそのデータ書込み方法
US6839798B1 (en) Flash memory capable of storing frequently rewritten data
EP1729304A1 (en) Space management for managing high capacity nonvolatile memory
US20070276987A1 (en) Source and Shadow Wear-Leveling Method and Apparatus
JP2008508596A (ja) Nvramを使用するメモリ管理のためのシステム、方法、コンピュータ可読媒体、および装置
WO2002054247A1 (fr) Enregistreur de donnees et procede d'enregistrement de donnees dans une memoire flash
GB2374441A (en) Flash memory backup method and system suitable for a portable telephone
JP3421581B2 (ja) 不揮発性半導体メモリを用いた記憶装置
US20070005929A1 (en) Method, system, and article of manufacture for sector mapping in a flash device
JPH113287A (ja) 記憶装置およびそれに用いられる記憶領域管理方法
JP2009093528A (ja) メモリデータ管理装置
JP2008047155A (ja) 一括消去型不揮発性メモリおよび携帯電話
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
JP6040895B2 (ja) マイクロコンピュータ及び不揮発性メモリのブロック管理方法
KR100319254B1 (ko) 플레쉬 메모리를 이용한 비휘발성 데이터 영역 복구 방법
JP2001312891A (ja) 半導体メモリ装置
JP4019306B2 (ja) Eepromへの記録方法
JP3271935B2 (ja) 制御システム
JPH0817192A (ja) フラッシュメモリによる位置記憶方法
JP2014112419A (ja) 携帯端末装置、ソフトウェア更新方法、動作制御方法及びプログラム
JP7219813B2 (ja) 演算処理装置、車両制御装置及び更新方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070719

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080719

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090719

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100719

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100719

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100719

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110719

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110719

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120719

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120719

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130719

Year of fee payment: 12

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees