JP3313576B2 - メモリアクセス制御方法及び装置 - Google Patents

メモリアクセス制御方法及び装置

Info

Publication number
JP3313576B2
JP3313576B2 JP13104496A JP13104496A JP3313576B2 JP 3313576 B2 JP3313576 B2 JP 3313576B2 JP 13104496 A JP13104496 A JP 13104496A JP 13104496 A JP13104496 A JP 13104496A JP 3313576 B2 JP3313576 B2 JP 3313576B2
Authority
JP
Japan
Prior art keywords
physical block
block
memory
management information
data management
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
JP13104496A
Other languages
English (en)
Other versions
JPH09293025A (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 JP13104496A priority Critical patent/JP3313576B2/ja
Publication of JPH09293025A publication Critical patent/JPH09293025A/ja
Application granted granted Critical
Publication of JP3313576B2 publication Critical patent/JP3313576B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、記憶素子の性質か
らアクセス回数に制限のある不揮発性メモリ(例えば、
フラッシュメモリ等)に好適なメモリアクセス制御方法
及び装置に係り、特に、停電発生時のデータ信頼性を維
持しつつそのような不揮発性メモリの寿命増大に寄与す
るメモリアクセス制御方法及び装置に関する。
【0002】
【従来の技術】不揮発性メモリであるフラッシュメモリ
は、その記憶素子の電気的な性質からアクセス回数に制
限があることが知られている。殊に、フラッシュメモリ
の記憶領域を複数の物理ブロックからなるデータ記憶領
域とそのデータ記憶領域の使用状況を管理するデータ管
理情報記憶領域とにフォーマッティングして使用するペ
ージメモリ方式での使用にあっては、データ記憶領域に
比べてデータ管理領域のアクセス頻度が高いことから、
データ管理領域を構成する記憶素子の消耗によりメモリ
寿命が短いという問題がある。
【0003】かかる問題の対策としては、フラッシュメ
モリの使用に先立ち、当該フラッシュメモリのデータ管
理情報記憶領域の内容を、アクセス回数に実用上制限の
ない素子で構成されるワークメモリ(通常構造の半導体
SRAM、DRAM等の揮発性メモリで構成されるのが
普通である)上に複写し、メモリの使用中にあってはこ
のワークメモリ上のデータ管理情報にアクセスしてそれ
を逐次更新し、メモリの使用完了後或いは使用中適当な
時点で間欠的に、ワークメモリ上のデータ管理情報の内
容で前記フラッシュメモリ上のデータ管理情報の内容を
書き替える間欠書替方式が考えられる。
【0004】このようなデータ管理情報の間欠書替方式
によれば、データの書き込み、読み出し、消去等に関し
ては、フラッシュメモリ上のデータ記憶領域に対する直
接アクセスにより行われるものの、それに伴うデータ管
理情報の高頻度な逐次更新については、ワークメモリ上
の管理情報記憶領域に対するアクセスを介しての言わば
間接アクセスにより行われるため、フラッシュメモリ上
のデータ管理情報記憶領域に対するアクセス頻度が低下
してフラッシュメモリの寿命が増大する。
【0005】
【発明が解決しようとする課題】しかしながら、上述の
間欠書替方式にあっては、フラッシュメモリ上のデータ
の内容並びにワークメモリ上のデータ管理情報の内容に
ついては逐次に更新されてゆくものの、フラッシュメモ
リ上のデータ管理情報の内容については間欠的にしか更
新されないため、その間にシステム電源電圧の停電や電
圧低下等が起こってワークメモリ上のデータ管理情報の
内容が消失してしまうと、フラッシュメモリ上において
はデータの内容とデータ管理情報の内容とが不整合のま
ま残される事態が発生して、フラッシュメモリが使用不
能に陥るという問題がある。殊に、この問題は、フラッ
シュメモリをPDA等の小型携帯用電子機器のユーザデ
ータ格納用メモリとして使用した場合等に顕著なものと
なる。すなわち、この種の小型携帯用電子機器にあって
は、サイズ並びに重量上の制約により大容量バッテリの
搭載が困難なことから使用中に電池切れを起こす可能性
が高く、また使用中に誤って落下させた場合の衝撃等に
よりバッテリの接触不良による停電を起こす可能性も高
い。このような電池切れや停電のたびに、フラッシュメ
モリ内においてデータとデータ管理情報とに不整合が生
じて、読み出しデータに関する信頼性が失われるとすれ
ば、製品として実用に供し得ない。
【0006】この発明は、以上の問題点に鑑みてなされ
たものであり、その目的とするところは、記憶素子の性
質からアクセス回数に制限のある不揮発性メモリを、そ
の規定アクセス回数の元で最大限に活用することがで
き、しかも電源電圧の低下や停電が発生しても、その後
に当該不揮発性メモリから読み出されるデータの信頼性
を保証できるようにしたメモリアクセス方法及び装置を
提供することにある。
【0007】
【課題を解決するための手段】この出願の請求項1に記
載の発明は、記憶素子の性質からアクセス回数に制限の
ある不揮発性メモリに対するメモリアクセスを制御する
ための方法であって、前記不揮発性メモリの使用開始に
先立ち、前記不揮発性メモリ内に記憶されたデータ管理
情報を、アクセス回数に実用上制限のない揮発性メモリ
上に複写して最新状態表示用のデータ管理情報とし、さ
らに、前記データ管理情報を構成する物理ブロック状態
フラグ群とブロックマッピング情報とのうちで、物理ブ
ロック状態フラグ群を前記揮発性メモリ上に別に一組複
写保存して初期状態表示用の物理ブロック状態フラグ群
とする前処理ステップと、与えられたメモリアクセス要
求が消去要求若しくは書き込み要求のいずれかであるこ
とを判定するアクセス要求種別判定ステップと、前記記
憶されたブロックマッピング情報に基づいて、前記メモ
リアクセス要求で指定された論理ブロックにマッピング
された物理ブロックを求めるアクセス対象物理ブロック
検索ステップと、前記保存された初期状態表示用の物理
ブロック状態フラグ群を参照して、前記検索されたアク
セス対象物理ブロックが使用中であることを判定するブ
ロック使用状態判定ステップと、前記初期状態表示用の
物理ブロック状態フラグ群と前記最新状態表示用の物理
ブロック状態フラグ群とを参照して、初期状態において
空き状態にありかつ最新状態においても空き状態である
物理ブロックを検索する空き物理ブロック検索ステップ
と、前記要求種別判定ステップによりメモリアクセス要
求が消去要求であると判定されかつ前記アクセス対象物
理ブロック検索ステップにより検索されたアクセス対象
物理ブロックが前記ブロック使用状態判定ステップによ
り使用中と判定されたときには、当該アクセス対象物理
ブロックの最新状態表示用物理ブロック状態フラグを不
使用中に変更し、前記不揮発性メモリの当該アクセス対
象物理ブロックに対する消去処理を回避し、かつ前記ブ
ロックマッピング情報において当該アクセス対象物理ブ
ロックに関するブロックマッピングを切り離す消去要求
実行ステップと、前記要求種別判定ステップによりアク
セス要求が書き込み要求であると判定されかつ前記アク
セス対象物理ブロック検索ステップにより検索されたア
クセス対象物理ブロックが前記ブロック使用状態判定ス
テップにより使用中と判定されたときには、当該アクセ
ス対象物理ブロックの最新状態表示用物理ブロック状態
フラグを不使用中に変更し、前記不揮発性メモリ内の当
該アクセス対象物理ブロックに対する書き込み処理を回
避し、その代わりに、当該書き込み要求にかかるデータ
を前記不揮発性メモリ内の前記空き物理ブロック検索ス
テップにて検索された空き物理ブロックに書き込み、か
つ前記ブロックマッピング情報において当該アクセス対
象物理ブロックに関するブロックマッピングを切り離し
新たにブロックマッピングを張り直す書き込み要求実行
ステップと、所定のデータ管理情報更新要求が到来する
のに応答して、前記揮発性メモリに記憶された最新状態
表示用のデータ管理情報の内容にて前記不揮発性メモリ
内のデータ管理情報の内容を更新するデータ管理情報更
新ステップと、を具備することを特徴とするメモリアク
セス制御方法にある。
【0008】また、この出願の請求項2に記載の発明
は、記憶素子の性質からアクセス回数に制限のある不揮
発性メモリに対するメモリアクセスを制御するための装
置であって、前記不揮発性メモリの使用開始に先立ち、
前記不揮発性メモリ内に記憶されたデータ管理情報を、
アクセス回数に実用上制限のない揮発性メモリ上に複写
して最新状態表示用のデータ管理情報とし、さらに、前
記データ管理情報を構成する物理ブロック状態フラグ群
とブロックマッピング情報とのうちで、物理ブロック状
態フラグ群を前記揮発性メモリ上に別に一組複写保存し
て初期状態表示用の物理ブロック状態フラグ群とする前
処理手段と、与えられたメモリアクセス要求が消去要求
若しくは書き込み要求のいずれかであることを判定する
アクセス要求種別判定手段と、前記記憶されたブロック
マッピング情報に基づいて、前記メモリアクセス要求で
指定された論理ブロックにマッピングされた物理ブロッ
クを求めるアクセス対象物理ブロック検索手段と、前記
保存された初期状態表示用の物理ブロック状態フラグ群
を参照して、前記検索されたアクセス対象物理ブロック
が使用中であることを判定するブロック使用状態判定手
段と、前記初期状態表示用の物理ブロック状態フラグ群
と前記最新状態表示用の物理ブロック状態フラグ群とを
参照して、初期状態において空き状態にありかつ最新状
態においても空き状態である物理ブロックを検索する空
き物理ブロック検索手段と、前記要求種別判定手段によ
りメモリアクセス要求が消去要求であると判定されかつ
前記アクセス対象物理ブロック検索手段により検索され
たアクセス対象物理ブロックが前記ブロック使用状態判
定手段により使用中と判定されたときには、当該アクセ
ス対象物理ブロックの最新状態表示用物理ブロック状態
フラグを不使用中に変更し、前記不揮発性メモリの当該
アクセス対象物理ブロックに対する消去処理を回避し、
かつ前記ブロックマッピング情報において当該アクセス
対象物理ブロックに関するブロックマッピングを切り離
す消去要求実行手段と、前記要求種別判定手段によりア
クセス要求が書き込み要求であると判定されかつ前記ア
クセス対象物理ブロック検索手段により検索されたアク
セス対象物理ブロックが前記ブロック使用状態判定手段
により使用中と判定されたときには、当該アクセス対象
物理ブロックの最新状態表示用物理ブロック状態フラグ
を不使用中に変更し、前記不揮発性メモリ内の当該アク
セス対象物理ブロックに対する書き込み処理を回避し、
その代わりに、当該書き込み要求にかかるデータを前記
不揮発性メモリ内の前記空き物理ブロック検索手段にて
検索された空き物理ブロックに書き込み、かつ前記ブロ
ックマッピング情報において当該アクセス対象物理ブロ
ックに関するブロックマッピングを切り離し新たにブロ
ックマッピングを張り直す書き込み要求実行手段と、所
定のデータ管理情報更新要求が到来するのに応答して、
前記揮発性メモリに記憶された最新状態表示用のデータ
管理情報の内容にて前記不揮発性メモリ内のデータ管理
情報の内容を更新するデータ管理情報更新手段と、を具
備することを特徴とするメモリアクセス制御装置にあ
る。
【0009】ここで、請求項1若しくは請求項2の発明
において、『記憶素子の性質』とは、アクセス回数の増
加に伴って素子寿命の低下を招く原因となる物理的乃至
化学的性質等であり、具体的には半導体構造に基づく電
荷の蓄積形態、配線素材の耐性等の種々の原因に起因す
るものが存在するであろう。
【0010】また、『前処理ステップ』の起動条件とし
ては、電源投入、アプリケーションやBIOSからの起
動コマンドの到来等のような種々の形態を採用すること
ができるであろう。なお、この発明の性質上、『データ
管理情報』としては、少なくとも物理ブロック状態フラ
グ群とブロックマッピング情報とが含まれていれば足り
るものであるが、この発明の及ぶ範囲としては、それ以
外の情報が含まれている場合を積極的に排除するもので
はない。また、初期状態表示用の物理ブロック状態フラ
グ群を敢えてアクセス回数に制限のない揮発性メモリ
(いわゆるシステムメモリ)内に記憶保存させるのは、
この記憶保存されたフラグ群の内容を読みとることで、
その都度実際にアクセス回数に制限のある不揮発性メモ
リの内容を読み取らずとも直ちに初期状態の確認ができ
るようにするためである。換言すれば、初期状態確認の
ためにその都度に不揮発性メモリをアクセスすれば、そ
の読み取りのためのアクセスによっても不揮発性メモリ
(例えば、フラッシュメモリの場合に顕著である)の寿
命を低下させることとなるからである。なお、『物理ブ
ロック状態フラグ群』とは、不揮発性メモリのデータ記
憶領域内の各物理ブロックのそれぞれが使用状態若しく
は不使用状態のいずれにあるかを表示する個々の状態フ
ラグの集合のことを意味している。また、『初期状態』
とは、メモリの使用開始時点の状態、或いは使用開始後
における最新のデータ管理情報更新時点の状態を意味し
ている。
【0011】また、『アクセス要求種別判別』の意味
は、これにより不揮発性メモリ(例えば、フラッシュメ
モリ)のデータ記憶領域内のいずれかの物理ブロックに
おいてデータ変更の可能性が生ずることを予期すること
にある。なお、ここで、『いずれかである』には、後述
する消去要求実行や書き込み要求実行との関係から、消
去要求若しくは書き込み要求のいずれであるかを認識す
る作用も含まれることは、当業者であれば容易に理解さ
れるであろう。
【0012】また、『アクセス対象物理ブロック検索』
で使用されるブロックマッピング情報とは、アクセス要
求で指定され論理ブロックと不揮発性メモリ上の物理ブ
ロックとの結合関係を規定する情報であり、例えば両者
の関係を規定するテーブルにより構成することができ
る。この結合関係は、任意にマッピング或いはマッピン
グ解除(切り離し)することができる。
【0013】また、前述のように、『ブロック使用状態
の判定』は、揮発性メモリ内に保存された初期状態表示
用の物理ブロック状態フラグ群を参照して行うことによ
り、不揮発性メモリの内容を参照することによるメモリ
消耗の虞がない。
【0014】また、『空き物理ブロック検索』の意味
は、初期状態においてもかつ最新状態においても空き状
態にある物理ブロックを探すことにあり、これらが複数
見つかった場合には、一定の法則によりその中の一つを
自動選択する機能を有するであろうことは、当業者であ
れば容易に理解されるであろう。
【0015】また、『消去要求実行』の意味は、消去要
求にかかる論理ブロックにマッピングされた物理ブロッ
クが実際に使用中の場合には、当該物理ブロックのデー
タを実際には消去せずに、揮発性メモリ上の物理ブロッ
ク状態フラグ上でのみ仮想的に消去することである。こ
れにより、消去要求が到来しても、不揮発性メモリ上に
おいてデータとデータ管理情報との間に不整合が生ずる
ことはない。しかも、その際に論理ブロックと物理ブロ
ックとのマッピングは切り離されてしまうから、その
後、当該論理ブロックに対する読み出し要求が到来して
消去されたはずのデータが誤って読み出されることはな
い。
【0016】また、『書き込み要求実行』の意味は、書
き込み要求にかかる論理ブロックにマッピングされた物
理ブロックが実際に使用中の場合には、当該物理ブロッ
クのデータを実際には上書き消去せずに、揮発性メモリ
上の物理ブロック状態フラグ上でのみ仮想的に上書き消
去する一方、書き込み要求にかかるデータについては、
初期状態並びに最新状態においても空いていた物理ブロ
ックに書き込むことである。これにより、書き込み要求
が到来しても、不揮発性メモリ上においてデータとデー
タ管理情報との間に不整合が生ずることはない。しか
も、その際にそれまでの論理ブロックと物理ブロックと
のマッピングは切り離されてしまう一方、実際に書き込
まれた物理ブロックと論理ブロックとの間には新たにマ
ッピングが張られるため、その後、当該論理ブロックに
対する読み出し要求が到来してた場合には、上書きされ
たデータが正常に読み出され、上書き消去されたはずの
データが誤って読み出されることはない。
【0017】さらに、『データ管理情報更新』の意味
は、不揮発性メモリのデータ管理情報の内容をそのデー
タ記憶領域の最新の状態に整合させることにある。ここ
で、データ管理情報更新要求は、アプリケーションプロ
グラムから与えるようにしてもよいし、アプリケーショ
ンプログラムより階層的に下位の手段(例えば、BIO
S等)からあたえるようにしてもよい。また、データ管
理情報更新要求を与えるタイミングについては、一定周
期でサイクリックに与える場合、アプリケーションプロ
グラムやBIOS等から任意のタイミングで与える場
合、オペレータからの指令により任意のタイミングで与
える場合などのように種々の態様をとることができる。
さらに、データ管理情報更新要求の付与周期はそれが適
用される電子機器の利用態様(例えば、書き込み頻度或
いは消去頻度)や予想される停電頻度等に合わせて適宜
に決定すればよいと考えられる。
【0018】なお、以上の請求項の記載では、上記の書
き込み要求実行の結果新たにマッピングされた論理ブロ
ックに関する次回以降の消去要求或いは書き込み要求が
到来した場合については、当業者にとって当然のことと
して規定していない。念のために付言すれば、この場合
には初期状態におけるデータ記憶領域の状態に変更を来
さないことは明らかであるから、通常通りの消去処理或
いは書き込み処理を行えばよいと考えられる。また、そ
れまでマッピングされていない新たな論理ブロックに関
する書き込み要求が到来した場合も同様であって、この
場合にも新たにマッピングされる物理ブロックは初期状
態におけるデータ記憶領域の状態に変更を来さないこと
は明らかであるから、通常通りの書き込み処理を行えば
よいと考えられる。さらに、いずれかの論理ブロックに
関する読み出し要求が到来した場合にも、初期状態にお
けるデータ記憶領域の状態に変更を来さないことは明ら
かであるから、通常通りの書き込み処理を行えばよいと
考えられる。
【0019】そして、請求項1若しくは請求項2に記載
の発明によれば、論理ブロック上においては、書き込み
処理、読み出し処理、消去処理を支障なく行うことがで
きる一方、物理ブロック上においては前回のデータ管理
状況更新時の内容がそのまま次回のデータ管理状況更新
時まで保持されて、データとデータ管理情報との整合性
が保たれるため、その間に停電が発生した場合には、前
回の更新時以降蓄積されたデータについては消失するも
のの、前回の更新時に既に存在したデータについては正
常に読み出すことが可能となり、データの消失を最小限
にとどめつつ不揮発性メモリからの読み出しデータの信
頼性を保証できる。しかも、揮発性メモリ(ワークメモ
リ)上のデータ管理情報については逐次更新させつつ
も、不揮発性メモリ(フラッシュメモリ等)上のデータ
管理情報については間欠的にしか更新されないから、記
憶素子の性質からアクセス回数に制限のある不揮発性メ
モリを、その規定アクセス回数の元で最大限に活用する
ことができる。
【0020】
【発明の実施の形態】以下、この発明の好ましい実施の
形態につき、添付図面を参照して詳細に説明する。前述
したように、本発明にかかるメモリアクセス制御方法及
び装置の効果は、例えばフラッシュメモリをPDA等の
小型携帯用電子機器のユーザデータ格納用メモリとして
使用した場合等に顕著なものとなると考えられる。すな
わち、この種の小型携帯用電子機器にあっては、サイズ
並びに重量の制約により大容量バッテリの搭載が困難な
ことから使用中に電池切れを起こす可能性が高く、また
使用中に誤って落下させた場合の衝撃等によるバッテリ
の接触不良により停電を起こす可能性も高い。このよう
な電池切れや停電のたびに、フラッシュメモリ内におい
てデータとデータ管理情報とに不整合が生じて、読み出
しデータに関する信頼性が失われるとすれば、製品とし
て実用に供し得ない。かかる問題は本発明の適用によ
り、次のように解決される。
【0021】本発明が適用された小型携帯用電子機器の
ハードウェア構成を図1のブロック図により概略的に説
明する。同図に示されるように、この種の小型携帯用電
子機器は、ユーザとの間でデータのやりとりを行うため
のマンマシンインタフェース部(最近の例では、ペンタ
ッチ式の入力パッド等が多く使用されている)100
と、例えば電話帳、スケジュール等と言ったユーザデー
タを格納するためのユーザデータメモリ200と、機器
の各種の動作を実現するためのシステムプログラムを格
納するためのシステムプログラムメモリ300と、シス
テムプログラムの実行に際するワークエリア等として使
用されるワークメモリ400と、機器の動作機能を実現
するためのCPU500とから概略構成されており、こ
れらの機器構成要素は周知のようにアドレスバス、デー
タバス、コントロールバス等からなるシステムバス60
0により相互に結ばれている。尚、この種のストアード
プログラム式制御装置の基本的な構成並びに動作は、当
業者にとっては周知であるから、これ以上の説明は省略
する。
【0022】ユーザデータメモリ200としては、記憶
素子の性質からアクセス回数に制限のある不揮発性メモ
リである書き替え可能なフラッシュメモリが使用されて
おり、これにより電源スイッチがオフされた後にあって
も、ユーザデータについては保存されるようになされて
いる。これに対して、ワークメモリ400としては、揮
発性素子である書き替え可能な通常半導体構造のDRA
MやSRAM等が使用されている。そのため、電源スイ
ッチがオンとされて何らかの操作が行われている状態に
おいて、バッテリ切れや落下衝撃によるバッテリの接続
不良等を原因とする停電が発生すると、ワークメモリ4
00の記憶内容は消失する虞がある。
【0023】図6に示されるように、ユーザデータメモ
リ200の記憶領域には、物理ブロック群B01〜B0
nを構成する記憶領域と、物理ブロック状態フラグ群F
01〜F0nを格納するための記憶領域と、ブロックマ
ッピング情報MAP0を格納するための記憶領域とがあ
らかじめフォーマッティングされている。
【0024】物理ブロック群B01〜B0nを構成する
個々の物理ブロックは、ユーザデータを構成する個々の
論理ブロックを格納するためのものであり、そのサイズ
は例えば互いに同一であって、しかも論理ブロックのサ
イズとも同一とされている。そして、アクセス要求と共
に順次に到来するユーザデータの各論理ブロックは、後
に詳細に説明するように、物理ブロック群B01〜B0
nのいずれかに割り当てて格納されることとなる。
【0025】物理ブロック状態フラグ群F01〜F0n
を構成する個々の物理ブロック状態フラグは、上述の物
理ブロック群B01〜B0nを構成する個々の物理ブロ
ックと一対一に対応しており、各々の物理ブロックが使
用中であるか或いは不使用中であるかを表示している。
この物理ブロック状態フラグ群F01〜F0nは不揮発
性であるから、電源投入直後の物理ブロック群B01〜
B0nの使用状況確認は、上記物理ブロック状態フラグ
群F01〜F0nの内容を参照することにより行われ
る。ブロックマッピング情報MAP0とは、物理ブロッ
クと論理ブロックとの結合関係、すなわち物理ブロック
群B01〜B0nを構成する各物理ブロックにどの論理
ブロックが格納されているかを示す情報である。このブ
ロックマッピング情報MAP0についても不揮発性であ
るから、電源投入直後の物理ブロック群B01〜B0n
の記憶ブロック確認(どの論理ブロックが格納されてい
るか)は、上記ブロックマッピング情報MAP0を参照
することにより行われる。
【0026】なお、以下の説明では、上述の物理ブロッ
ク状態フラグ群F01〜F0nとブロックマッピング情
報MAP0とを合わせて、『データ管理情報』と称する
こととする。
【0027】このデータ管理情報の参照(読み取り)並
びに更新(読み取り並びに書き込み)は、ビット処理等
の必要性から、データ管理情報が記憶された一連の記憶
領域に対する一括読み取り乃至書き込み処理により行わ
れる。そのため、物理ブロック状態フラグ群F01〜F
0n並びにブロックマッピング情報MAP0が格納され
たデータ管理情報記憶領域に対するアクセス頻度は、物
理ブロック群B01〜B0nを構成するデータ記憶領域
に対するアクセス頻度に比べて格段に高くなる。そのた
め、データ管理情報の参照並びに更新のために、その都
度、直接にユーザデータメモリ200を構成するフラッ
シュメモリにアクセスするとすれば、データ管理情報記
憶領域の消耗が激しく、データ記憶領域よりも先にデー
タ管理領域だけがその寿命に達してしまい、結果とし
て、フラッシュメモリ全体としての寿命を短くしてしま
う。
【0028】そこで、この発明では、以下に説明するよ
うに、ユーザデータメモリ200内のデータ管理情報を
ワークメモリ400に複写して、データ管理情報の逐次
的な参照並びに更新のためには、その複写されたワーク
メモリ400内のデータ管理情報にアクセスする一方、
適当なタイミングにてワークメモリ400内のデータ管
理情報の内容にてユーザデータメモリ200内のデータ
管理情報を間欠的に更新すると言う手法を採用すること
により、フラッシュメモリの寿命低下の問題を解決して
いる。加えて、ワークメモリ400内のデータ管理情報
にアクセスしつつユーザデータメモリ200のデータ記
憶領域の内容を消去若しくは書き替えている間には、ユ
ーザデータメモリ200内においてデータとデータ管理
情報との間に不整合が生ずることを防止して、不意の停
電が起きても、停電回復時にあっては、前回のデータ管
理情報更新時に遡って、ユーザデータメモリ200の継
続使用が可能となるように配慮している。
【0029】すなわち、本発明全体のソフトウェア構成
(システムプログラムの構成)を表している図2のゼネ
ラルフローチャートに示されるように、本機器の使用の
ために電源が投入されると、ユーザデータメモリ200
の使用開始に先立つ前処理として、ユーザデータメモリ
(フラッシュメモリ)200内に保存されていたデータ
管理情報を構成する物理ブロック状態フラグ群F01〜
F0n並びにブロックマッピング情報MAP0の内容
は、図6(a)に示されるように、ワークメモリ400
内へと複写され、最新状態表示用の物理ブロック状態フ
ラグ群F11〜F1nの初期値として、並びに、最新状
態表示用のブロックマッピング情報MAP1の初期値と
して記憶される(ステップ201,202)。このと
き、物理ブロック状態フラグ群F01〜F0nの内容に
ついては、さらに、もう一組がワークメモリ400内へ
と複写保存され、初期状態表示用の物理ブロック状態フ
ラグ群F21〜F2nとして記憶される(ステップ20
3)。この初期状態表示用の物理ブロック状態フラグ群
F21〜F2nを設けたのは、初期状態確認のために直
接にユーザデータメモリ(フラッシュメモリ)200を
アクセスすることによるユーザデータメモリ200の消
耗を回避するためである。
【0030】以後、本装置にあっては、アクセス要求の
到来並びにデータ管理情報更新要求の到来を待機する状
態となる(ステップ204NO,205NO)。この状
態において、何らかのアクセス要求が到来すると(ステ
ップ204YES)、その要求種別が判定され(ステッ
プ206)、その判定結果が消去要求、書き込み要求、
読み出し要求のいずれであるかに応じて、消去要求実行
処理(ステップ207)、書き込み要求実行処理(ステ
ップ208)、読み出し要求実行処理(ステップ20
9)のいずれかが実行される。これにより、ユーザメモ
リ200内におけるデータとデータ管理情報との整合性
を保ちつつ、ワークメモリ400内のデータ管理情報に
逐次アクセスして、消去処理、書き込み処理、並びに、
読み出し処理を行うことになる。この間に、例えばアプ
リケーションプログラムが発行したデータ管理情報更新
要求が到来すると(ステップ205YES)、図6
(b)に示されるように、それまで逐次更新されてきた
ワークメモリ400内のデータ管理情報(物理ブロック
状態フラグ群F11〜F1n、並びに、ブロックマッピ
ング情報MAP1)にて、ユーザデータメモリ200内
のデータ管理情報(物理ブロック状態フラグ群F01〜
F0n、並びに、ブロックマッピング情報MAP0)は
書き替えられ(ステップ210,211)、これにより
ユーザデータメモリ200内におけるデータ管理情報の
実際の更新処理が完了する。以後、更新直後の物理ブロ
ック状態フラグ群F01〜F0nの内容は、再度、ワー
クメモリ400内へと複写され(ステップ203)、新
たな初期状態表示用の物理ブロック状態フラグ群F21
〜F2nとして記憶される。
【0031】以上の図2のゼネラルフローチャートに示
される本発明の構成によれば、ワークメモリ400内の
データ管理情報に関してはデータアクセスの毎に逐次更
新されるのに対して、ユーザデータメモリ(フラッシュ
メモリ)200内のデータ管理情報に関してはデータ管
理情報更新要求に応答して間欠的にしか更新されないた
め、その分だけユーザデータメモリ200を構成するフ
ラッシュメモリに対するアクセス頻度が低下することに
より、消耗程度も軽減されて、フラッシュメモリの寿命
増大に寄与することとなる。
【0032】次に、消去処理、書き込み処理、並びに、
読み出し処理を正常に行わせつつも、ユーザデータメモ
リ200内においてデータとデータ管理情報との整合性
が保持されることに着目しつつ、それぞれの処理内容を
詳細に説明する。
【0033】消去要求実行処理(ステップ207)の詳
細を図3のフローチャートを参照して説明する。同図に
おいて、処理が開始されると、ワークメモリ400内の
ブロックマッピング情報MAP1に基づいて、消去要求
で指定された論理ブロックにマッピングされた物理ブロ
ックB0kが検索される(ステップ301)。ここで、
消去要求で指定された論理ブロックにマッピングされた
物理ブロックB0kが見つからない場合には(ステップ
302NO)、所定のエラー処理が行われる。これに対
して、そのような物理ブロックB0kが見つかると(ス
テップ302YES)、次いで、ワークメモリ400内
の初期状態表示用の物理ブロック状態フラグ群F21〜
F2nを参照することにより、当該検索された物理ブロ
ックB0kの初期状態(最新のデータ管理情報更新時の
状態)における使用状況がチェックされる(ステップ3
03)。
【0034】ここで、使用中でないとすれば、その物理
ブロックB0kに記憶されているデータは前回のデータ
管理情報更新時以降に蓄積されものであって前回のデー
タ管理情報更新時には存在しなかったことを意味してお
り、これを消去したのちに仮に停電が発生してデータ管
理情報の更新が不可能となったとしても、ユーザデータ
メモリ200上においてデータ(B01〜B0n)とデ
ータ管理情報(F01〜F0n,MAP0)との間に不
整合が生ずる虞はない。そのため、使用中でないと判定
された場合には(ステップ304NO)、当該物理ブロ
ックB0kのデータを消去し(ステップ305)、当該
物理ブロックB0kに対応する最新状態表示用の物理ブ
ロック状態フラグF1kを不使用中に変更し(ステップ
306)、さらに、ブロックマッピング情報MAP1に
おける当該物理ブロックB0kのマッピングを切り離し
て当該物理ブロックへのアクセスを不能にした後(ステ
ップ307)、処理を終了する。このようにすれば、仮
に停電が発生してデータ管理情報の更新が不可能となっ
たとしても、元々前回の更新時には存在しなかったデー
タを消去したのであるから、ユーザデータメモリ200
上においてデータ(B01〜B0n)とデータ管理情報
(F01〜F0n,MAP0)との間に不整合が生ずる
虞はなくなる。尚、その後、データ管理情報更新要求が
到来した場合には、ワークメモリ上のデータ管理情報
(F11〜F1n,MAP1)の内容はデータ記憶領域
上のデータ内容(B01〜B0n)と一致しているので
あるから、それまでのデータ逐次更新結果を生かしつ
つ、ユーザデータメモリ200上おけるデータ管理情報
(F01〜F0n,MAP0)の更新を行うことができ
る。
【0035】これに対して、使用中であるとすれば、そ
の物理ブロックB0kに記憶されているデータは前回の
データ管理情報更新時には既に存在したことを意味して
おり、これを消去したのちに仮に停電が発生してデータ
管理情報の更新が不可能となったとすれば、ユーザデー
タメモリ200上においてデータ(B01〜B0n)と
データ管理情報(F01〜F0n,MAP0)との間に
不整合が生ずる虞がある。そのため、使用中であると判
定された場合には(ステップ304YES)、当該物理
ブロックB0kのデータを消去することなく、当該物理
ブロックB0kに対応する最新状態表示用の物理ブロッ
ク状態フラグF1kを不使用中に変更し(ステップ30
6)、さらに、ブロックマッピング情報MAP1におけ
る当該物理ブロックB0kのマッピングを切り離したの
ち(ステップ307)、処理を終了する。このようにす
れば、仮に停電が発生してデータ管理情報(F01〜F
0n,MAP0)の更新が不可能となったとしても、前
回の更新時に存在したデータについては消去されていな
いため、ユーザデータメモリ200上においてデータ
(B01〜B0n)とデータ管理情報(F01〜F0
n,MAP0)との間に不整合が生ずる虞はない。他
方、物理ブロックB0kのデータは消去されずに保存さ
れているものの、物理ブロックに対するアクセスはワー
クメモリ400上のブロックマッピング情報MAP1に
基づいて行われるため、消去されているはずのデータが
誤って読み出される虞はない。尚、その後、データ管理
情報更新要求が到来した場合には、ユーザデータメモリ
200上においても物理ブロックB0kに関するマッピ
ング情報MAP0の切り離しが行われ、また物理ブロッ
ク状態フラグF0kについては不使用とされるため、そ
の後に、新規論理ブロックに関する書き込み要求が到来
したような場合には、先のデータが保存されてはいるも
のの、当該物理ブロックB0kを新規ブロック格納用の
空き物理ブロックの候補として供することができる。
【0036】次に、書き込み要求実行処理(ステップ2
08)の詳細を図4のフローチャートを参照して説明す
る。同図において、処理が開始されると、ワークメモリ
400内のブロックマッピング情報MAP1に基づい
て、書き込み要求で指定された論理ブロックにマッピン
グされた物理ブロックB0kが検索される(ステップ4
01)。ここで、そのような物理ブロックが見つかると
(ステップ402YES)、次いで、ワークメモリ40
0内の初期状態表示用の物理ブロック状態フラグ群F2
1〜F2nを参照することにより、当該検索された物理
ブロックB0kの初期状態(最新のデータ管理情報更新
時の状態)における使用状況がチェックされる(ステッ
プ403)。
【0037】ここで、使用中でないとすれば、その物理
ブロックB0kに記憶されているデータは前回のデータ
管理情報更新時には存在しなかったことを意味してお
り、これを上書き消去したのちに仮に停電が発生してデ
ータ管理情報(F01〜F0n,MAP0)の更新が不
可能となったとしても、ユーザデータメモリ200上に
おいてデータ(B01〜B0n)とデータ管理情報(F
01〜F0n,MAP0)との間に不整合が生ずる虞は
ない。そのため、使用中でないと判定された場合には
(ステップ404NO)、当該物理ブロックB0kのデ
ータを新たなデータにより上書きし(ステップ40
5)、当該物理ブロックB0kに対応する最新状態表示
用の物理ブロック状態フラグF1kを使用中に変更して
(ステップ406)、処理を終了する。このようにすれ
ば、仮に停電が発生してデータ管理情報(F01〜F0
n,MAP0)の更新が不可能となったとしても、元々
前回の更新時には存在しなかったデータを上書き消去し
たのであるから、ユーザデータメモリ200上において
データ(B01〜B0n)とデータ管理情報(F01〜
F0n,MAP0)との間に不整合が生ずる虞はない。
他方、その後、データ管理情報更新要求が到来した場合
には、ワークメモリ上のデータ管理情報(F11〜F1
n,MAP1)の内容はデータ記憶領域上のデータ内容
(B01〜B0n)と一致しているのであるから、それ
までのデータ逐次更新結果を生かしつつ、ユーザデータ
メモリ200上おけるデータ管理情報(F01〜F0
n,MAP0)の更新を行うことができる。
【0038】これに対して、使用中であるとすれば、そ
の物理ブロックB0kに記憶されているデータは前回の
データ管理情報更新時には既に存在したことを意味して
おり、これを上書き消去したのちに仮に停電が発生して
データ管理情報の更新が不可能となったとすれば、ユー
ザデータメモリ200上においてデータ(B01〜B0
n)とデータ管理情報(F01〜F0n,MAP0)と
の不整合が生ずる虞がある。そのため、使用中であると
判定された場合には(ステップ404YES)、当該物
理ブロックB0kのデータを上書き消去することなく、
先ず、当該物理ブロックB0kに対応する最新状態表示
用の物理ブロック状態フラグF1kを不使用中に変更し
(ステップ407)、さらに、ブロックマッピング情報
MAP1における当該物理ブロックB0kのマッピング
を切り離して当該物理ブロックへのアクセスを不能とす
る(ステップ408)。次いで、最新状態表示用の物理
ブロック状態フラグ群F11〜F1n並びに初期状態表
示用の物理ブロック状態フラグ群F21〜F2nの内容
を参照することにより、現在不使用状態にありかつ初期
状態においても不使用状態であった物理ブロックを空き
物理ブロックB0jとして検索し(ステップ409)、
当該書き込み要求にかかる論理ブロックをこの空き物理
ブロックB0jにマッピングするようにしてブロックマ
ッピング情報MAP1を更新し(ステップ410)、続
いて、この空き物理ブロックB0jに対してデータの書
き込みを行い(ステップ411)、最新状態表示用物理
ブロック状態フラグ群F10〜F1n中の該当物理ブロ
ック状態フラグF1jを使用中に変更して(ステップ4
12)、処理を終了する。このようにすれば、仮に停電
が発生してデータ管理情報の更新が不可能となったとし
ても、前回の更新時に存在したデータについては消去さ
れていないため、ユーザデータメモリ200上において
データ(B01〜B0n)とデータ管理情報(F01〜
F0n,MAP0)との間に不整合が生ずる虞はない。
他方、物理ブロックB0kのデータは消去されずに保存
されてはいるものの、物理ブロックB01〜B0nに対
するアクセスはワークメモリ400上のブロックマッピ
ング情報MAP1に基づいて行われるため、消去されて
いるはずのデータが誤って読み出される虞はないことは
勿論のこと、本来物理ブロックB0kに書き込んだ筈の
論理ブロックのデータを、新たにマッピングされた物理
ブロックB0jから正常に読み出すことができる。尚、
その後、データ管理情報更新要求が到来した場合には、
ユーザデータメモリ200上のブロックマッピング情報
MAP0においても物理ブロックB0kに関するマッピ
ング切り離し並びに物理ブロックB0jに関する新たな
マッピングが行われ、併せて、物理ブロック状態フラグ
F0kについては不使用とされるため、その後に、新規
論理ブロックに関する書き込み要求が到来したような場
合には、先のデータが保存されてはいるものの、当該物
理ブロックB0kを新規ブロック格納用の空き物理ブロ
ックの候補として供することができる。
【0039】なお、書き込み要求で指定される論理ブロ
ックに対応する物理ブロックが見つからない場合には
(ステップ402NO)、新規な論理ブロックに関する
書き込み要求であると認識し、この場合には、最新状態
表示用の物理ブロック状態フラグ群F11〜F1n並び
に初期状態表示用の物理ブロック状態フラグ群F21〜
F2nの内容を参照することにより、現在不使用状態に
ありかつ初期状態においても不使用状態であった物理ブ
ロックを空き物理ブロックB0jとして検索し(ステッ
プ413)、当該書き込み要求にかかる論理ブロックを
この空き物理ブロックB0jにマッピングするようにし
てブロックマッピング情報MAP1を更新し(ステップ
414)、続いて、この空き物理ブロックB0jに対し
てデータの書き込みを行い(ステップ405)、最新状
態表示用物理ブロック状態フラグ群F10〜F1n中の
該当物理ブロック状態フラグF1jを使用中に変更して
(ステップ406)、処理を終了する。
【0040】次に、読み出し要求実行処理(ステップ2
09)についても図5のフローチャートを参照して簡単
に説明する。同図において、処理が開始されると、ワー
クメモリ400上のブロックマッピング情報MAP1に
基づいて、読み出し要求で指定された論理ブロックにマ
ッピングされた物理ブロックB0kが検索される(ステ
ップ501)。ここで、読み出し要求で指定された論理
ブロックにマッピングされた物理ブロックB0kが見つ
からない場合には(ステップ502NO)、所定のエラ
ー処理が行われる。これに対して、そのような物理ブロ
ックB0kが見つかると(ステップ502YES)、当
該物理ブロックB0kからのデータ読み出しが行われる
(ステップ503)。このように物理ブロック群B01
〜B0nからのデータ読み出しは、全てワークメモリ4
00上のブロックマッピング情報MAP1の内容に基づ
いて行われるため、先に説明した消去要求実行処理(ス
テップ207)や書き込み要求実行処理(ステップ20
8)等で消去若しくは上書き消去されずに残された物理
ブロックB0kであっても、ワークメモリ400上のブ
ロックマッピング情報MAP1においてマッピングを解
除しておく限り、そのような物理ブロックB0kからデ
ータが誤って読み出されることはない。
【0041】なお、以上説明した本発明では、先に説明
した消去要求実行処理(ステップ207)や書き込み要
求実行処理(ステップ208)等で消去若しくは上書き
消去されずに残された使用不能の物理ブロックB0kの
存在により、実際に使用可能な物理ブロック数が幾分減
少するが、現行の製品によればこの種のフラッシュメモ
リの容量は1M〜2Mバイトもあるのに対して、この種
の小型携帯用電子機器にて取り扱われるユーザデータ量
は一般にそれに比べて十分に小さいことに加え、それら
使用不能な物理ブロックについてもデータ管理情報の更
新の毎に再び使用可能状態に回復するため、データ管理
情報の更新周期を適切に設計する限り、実用上は問題が
ないと考えられる。
【0042】
【実施例】以下に、本発明の好適な実施例を図7〜図9
を参照して説明する。この実施例にあっては、ユーザデ
ータメモリ200内には5個の物理ブロックB01〜B
05が設定されており、これに合わせて同メモリ200
内には、5個の物理ブロック状態フラグF01〜F05
並びに5個の物理ブロックにマッピング可能なブロック
マッピング情報MAP0が設定されている。また、ワー
クメモリ400内には最新状態を表示するための5個の
物理ブロック状態フラグF11〜F15並びに5個の物
理ブロックにマッピング可能なブロックマッピング情報
MAP1が設定されている。さらに、ワークメモリ40
0内には初期状態(電源投入時若しくは前回のデータ管
理情報更新時の状態)を表示するための5個の物理ブロ
ック状態フラグF21〜F25が設定されている。
【0043】図7〜図9にて共通に示されているよう
に、この実施例の初期状態においては、3個の物理ブロ
ックB01,B02,B04が使用中(図中斜線にて示
す)、2個の物理ブロックB03,B05が不使用中
(図中白抜きにて示す)とされている。また、物理ブロ
ックB01,B02,B04のそれぞれには、論理ブロ
ックB11,B12,B13がマッピングされており、
これに対応してブロックマッピング情報MAP0におい
ては、物理ブロックB01と論理ブロックB11、物理
ブロックB02と論理ブロックB12、物理ブロックB
01と論理ブロックB11とが結合されるようにしてマ
ッピングが張られている。他方、物理ブロックB03,
B05については、いずれの論理ブロックにも結合され
ないようにしてマッピングが解除されている。
【0044】前処理(ステップ201,202,20
3)の直後の状態を図7に示す。同図に示されるよう
に、前処理の直後にあっては、ユーザデータメモリ20
0内における物理ブロックB01〜B05の内容とデー
タ管理情報(F01〜F05、MAP0)の内容とは勿
論完全に一致している。また、ユーザデータメモリ20
0内のブロックマッピング情報MAP0の内容とワーク
メモリ400内のブロックマッピング情報MAP1の内
容とについても完全に一致している。さらに、ユーザデ
ータメモリ200内の物理ブロック状態フラグF01〜
F05とワークメモリ400内の最新状態表示用の物理
ブロック状態フラグF11〜F15並びに初期状態表示
用の物理ブロック状態フラグF21〜F25について
も、完全に一致している。
【0045】消去要求実行処理(ステップ207)の直
後の状態を図8に示す。今仮に、前処理に続いて、論理
ブロックB12に関する消去要求が到来したものと想定
する。このとき、図7の最新状態表示用のブロックマッ
ピング情報MAP1を参照すると、論理ブロックB12
は物理ブロックB02にマッピングされていることがわ
かる(図7矢印A箇所参照)。また、図7の初期状態表
示用の物理ブロック状態フラグF22を参照すると、物
理ブロックB02は初期状態では使用中であったことが
わかる(図7矢印B箇所参照)。この場合、物理ブロッ
クB02に格納されていた論理ブロックB12は消去さ
れない(図8矢印A箇所参照)。また、最新状態表示用
の物理ブロック状態フラグF12は不使用中に変更され
る(図8矢印B箇所参照)。さらに、最新状態表示用の
ブロックマッピング情報MAP1では、物理ブロックB
02と論理ブロックB12とのマッピングが解除される
(図8矢印C箇所参照)。そのため、消去要求が到来し
たにも拘わらず、ユーザデータメモリ200内における
データ(B01〜B05)とデータ管理情報(F01〜
F05,MAP0)との整合性は維持され、停電が発生
してワークメモリ400の記憶情報(F11〜F15,
F21〜F25,MAP1)が消失しても、ユーザデー
タメモリ200に対するアクセス(消去、書き込み、読
み出し)に支障を来すことはない。他方、消去した筈の
データを誤って読み出そうとして論理ブロックB12に
関する読み出し要求が到来しても、最新状態表示用のブ
ロックマッピング情報MAP1の論理ブロックB12に
関するマッピングは既に解除されてしまっているためエ
ラーと判定され、物理ブロックB02に格納された論理
ブロックB12の内容が誤って読み出されることはな
い。尚、データ管理情報更新要求が到来して、最新状態
表示用の物理ブロック状態フラグ群F11〜F15並び
にブロックマッピング情報MAP1の内容にて、ユーザ
データメモリ200内の物理ブロック状態フラグ群F0
1〜F05並びにブロックマッピング情報MAP0の内
容が書き替えられ、その後、初期状態表示用の物理ブロ
ック状態フラグ群F21〜F25の内容がユーザデータ
メモリ200の物理ブロック状態フラグ群F01〜F0
5の内容にて更新された後にあっては、初期状態表示用
の物理ブロック状態フラグF22の内容が不使用中に変
更されることにより、物理ブロックB02に格納されて
いるデータ(論理ブロックB12)は最早無効と判断さ
れ、物理ブロックB02は空の状態と同等に取り扱わ
れ、任意のデータの上書きが許容される。
【0046】書き込み要求実行処理(ステップ208)
の直後の状態を図9に示す。今仮に、前処理に続いて、
論理ブロックB12に関する書き込み要求が到来したも
のと想定する。このとき、図7の最新状態表示用のブロ
ックマッピング情報MAP1を参照すると、論理ブロッ
クB12は物理ブロックB02にマッピングされている
ことがわかる(図7矢印A箇所参照)。また、図7の初
期状態表示用の物理ブロック状態フラグF22を参照す
ると、物理ブロックB02は初期状態では使用中であっ
たことがわかる(図7矢印B箇所参照)。この場合、物
理ブロックB02に格納されていた論理ブロックB12
に対する上書きは行われない(図9矢印A箇所参照)。
また、最新状態表示用の物理ブロック状態フラグF12
は不使用中に変更される(図9矢印B箇所参照)。さら
に、最新状態表示用のブロックマッピング情報MAP1
では、物理ブロックB02と論理ブロックB12とのマ
ッピングが解除される(図9矢印C箇所参照)。加え
て、最新状態表示用の物理ブロック状態フラグ群F11
〜F15並びに初期状態表示用の物理ブロック状態フラ
グ群F21〜F25を参照することにより、最新状態に
おいて不使用状態にありかつ初期状態においても不使用
状態にあった物理ブロックとして物理ブロックB03が
求められ、その求められた空き物理ブロックB03に対
して論理ブロックB12に相当するデータの書き込みが
行われる(図9矢印D箇所参照)。これに伴い、最新状
態表示用の物理ブロック状態フラグF13の内容は使用
中に変更され、併せて、最新状態表示用のブロックマッ
ピング情報MAP1においては物理ブロックB03と論
理ブロックB12とを結合すべくブロックマッピングが
張られることとなる(図9矢印F箇所参照)。そのた
め、物理ブロックB02に対する上書き要求が到来した
にも拘わらず、ユーザデータメモリ200内におけるデ
ータ(B01〜B05)とデータ管理情報(F01〜F
05,MAP0)との整合性は維持される。そのため、
停電が発生してワークメモリ400の記憶情報(F11
〜F15,F21〜F25,MAP1)が消失しても、
ユーザデータメモリ200に対するアクセス(消去、書
き込み、読み出し)に支障を来すことはない。他方、上
書きされたデータを読み出そうとして論理ブロックB1
2に関する読み出し要求が到来しても、最新状態表示用
のブロックマッピング情報MAP1の論理ブロックB1
2は物理ブロックB03にマッピングされているため、
物理ブロックB03に格納された論理ブロックB12の
最新の内容が正常に読み出され、物理ブロックB02に
格納された論理ブロックB12の上書き消去された筈の
内容が誤って読み出されることはない。尚、データ管理
情報更新要求が到来して、最新状態表示用の物理ブロッ
ク状態フラグ群F11〜F15並びにブロックマッピン
グ情報MAP1の内容にて、ユーザデータメモリ200
内の物理ブロック状態フラグ群F01〜F05並びにブ
ロックマッピング情報MAP0の内容が書き替えられ、
その後、初期状態表示用の物理ブロック状態フラグ群F
21〜F25の内容がユーザデータメモリ200の物理
ブロック状態フラグ群F01〜F05の内容にて更新さ
れた後にあっては、初期状態表示用の物理ブロック状態
フラグF22の内容が不使用中に変更されることによ
り、物理ブロックB02に格納されているデータ(論理
ブロックB12)は最早無効と判断され、物理ブロック
B02は空の状態と同等に取り扱われ、任意のデータの
上書きが許容されることとなる。
【0047】
【発明の効果】以上の説明から明らかなように、本発明
によれば、記憶素子の性質からアクセス回数に制限のあ
る不揮発性メモリを、その規定アクセス回数の元で最大
限に活用することができ、しかも電源電圧の低下や停電
が発生しても、その後に当該不揮発性メモリから読み出
されるデータの信頼性を損ねることがない。
【図面の簡単な説明】
【図1】本発明が適用された小型携帯用電子機器のハー
ドウェア構成を概略的に示すブロック図である。
【図2】本発明が適用された小型携帯用電子機器のソフ
トウェア構成を示すゼネラルフローチャートである。
【図3】同ゼネラルフローチャートにおける消去要求実
行処理の詳細を示すフローチャートである。
【図4】同ゼネラルフローチャートにおける書き込み要
求実行処理の詳細を示すフローチャートである。
【図5】同ゼネラルフローチャートにおける読み出し要
求実行処理の詳細を示すフローチャートである。
【図6】前処理並びにデータ管理情報更新処理の実行に
伴うデータの流れを説明するためのメモリマップであ
る。
【図7】前処理実行直後におけるワークメモリ並びにユ
ーザデータメモリの内容を示すメモリマップである。
【図8】消去要求実行直後におけるワークメモリ並びに
ユーザデータメモリの内容を示すメモリマップである。
【図9】書き込み要求実行直後におけるワークメモリ並
びにユーザデータメモリの内容を示すメモリマップであ
る。
【符号の説明】
100 マンマシンインタフェース 200 ユーザデータメモリ 300 システムプログラムメモリ 400 ワークメモリ 500 CPU 600 システムバス

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 記憶素子の性質からアクセス回数に制限
    のある不揮発性メモリに対するメモリアクセスを制御す
    るための方法であって、 前記不揮発性メモリの使用開始に先立ち、前記不揮発性
    メモリ内に記憶されたデータ管理情報を、アクセス回数
    に実用上制限のない揮発性メモリ上に複写して最新状態
    表示用のデータ管理情報とし、さらに、前記データ管理
    情報を構成する物理ブロック状態フラグ群とブロックマ
    ッピング情報とのうちで、物理ブロック状態フラグ群を
    前記揮発性メモリ上に別に一組複写保存して初期状態表
    示用の物理ブロック状態フラグ群とする前処理ステップ
    と、 与えられたメモリアクセス要求が消去要求若しくは書き
    込み要求のいずれかであることを判定するアクセス要求
    種別判定ステップと、 前記記憶されたブロックマッピング情報に基づいて、前
    記メモリアクセス要求で指定された論理ブロックにマッ
    ピングされた物理ブロックを求めるアクセス対象物理ブ
    ロック検索ステップと、 前記保存された初期状態表示用の物理ブロック状態フラ
    グ群を参照して、前記検索されたアクセス対象物理ブロ
    ックが使用中であることを判定するブロック使用状態判
    定ステップと、 前記初期状態保存用の物理ブロック状態フラグ群と前記
    最新状態表示用の物理ブロック状態フラグ群とを参照し
    て、初期状態において空き状態にありかつ最新状態にお
    いても空き状態である物理ブロックを検索する空き物理
    ブロック検索ステップと、 前記要求種別判定ステップによりメモリアクセス要求が
    消去要求であると判定されかつ前記アクセス対象物理ブ
    ロック検索ステップにより検索されたアクセス対象物理
    ブロックが前記ブロック使用状態判定ステップにより使
    用中と判定されたときには、当該アクセス対象物理ブロ
    ックの最新状態表示用物理ブロック状態フラグを不使用
    中に変更し、前記不揮発性メモリの当該アクセス対象物
    理ブロックに対する消去処理を回避し、かつ前記ブロッ
    クマッピング情報において当該アクセス対象物理ブロッ
    クに関するブロックマッピングを切り離す消去要求実行
    ステップと、 前記要求種別判定ステップによりアクセス要求が書き込
    み要求であると判定されかつ前記アクセス対象物理ブロ
    ック検索ステップにより検索されたアクセス対象物理ブ
    ロックが前記ブロック使用状態判定ステップにより使用
    中と判定されたときには、当該アクセス対象物理ブロッ
    クの最新状態表示用物理ブロック状態フラグを不使用中
    に変更し、前記不揮発性メモリ内の当該アクセス対象物
    理ブロックに対する書き込み処理を回避し、その代わり
    に、当該書き込み要求にかかるデータを前記不揮発性メ
    モリ内の前記空き物理ブロック検索ステップにて検索さ
    れた空き物理ブロックに書き込み、かつ前記ブロックマ
    ッピング情報において当該アクセス対象物理ブロックに
    関するブロックマッピングを切り離し新たにブロックマ
    ッピングを張り直す書き込み要求実行ステップと、 所定のデータ管理情報更新要求が到来するのに応答し
    て、前記揮発性メモリに記憶された最新状態表示用のデ
    ータ管理情報の内容にて前記不揮発性メモリ内のデータ
    管理情報の内容を更新するデータ管理情報更新ステップ
    と、 を具備することを特徴とするメモリアクセス制御方法。
  2. 【請求項2】 記憶素子の性質からアクセス回数に制限
    のある不揮発性メモリに対するメモリアクセスを制御す
    るための装置であって、 前記不揮発性メモリの使用開始に先立ち、前記不揮発性
    メモリ内に記憶されたデータ管理情報を、アクセス回数
    に実用上制限のない揮発性メモリ上に複写して最新状態
    表示用のデータ管理情報とし、さらに、前記データ管理
    情報を構成する物理ブロック状態フラグ群とブロックマ
    ッピング情報とのうちで、物理ブロック状態フラグ群を
    前記揮発性メモリ上に別に一組複写保存して初期状態表
    示用の物理ブロック状態フラグ群とする前処理手段と、 与えられたメモリアクセス要求が消去要求若しくは書き
    込み要求のいずれかであることを判定するアクセス要求
    種別判定手段と、 前記記憶されたブロックマッピング情報に基づいて、前
    記メモリアクセス要求で指定された論理ブロックにマッ
    ピングされた物理ブロックを求めるアクセス対象物理ブ
    ロック検索手段と、 前記保存された初期状態表示用の物理ブロック状態フラ
    グ群を参照して、前記検索されたアクセス対象物理ブロ
    ックが使用中であることを判定するブロック使用状態判
    定手段と、 前記初期状態表示用の物理ブロック状態フラグ群と前記
    最新状態表示用の物理ブロック状態フラグ群とを参照し
    て、初期状態において空き状態にありかつ最新状態にお
    いても空き状態である物理ブロックを検索する空き物理
    ブロック検索手段と、 前記要求種別判定手段によりメモリアクセス要求が消去
    要求であると判定されかつ前記アクセス対象物理ブロッ
    ク検索手段により検索されたアクセス対象物理ブロック
    が前記ブロック使用状態判定手段により使用中と判定さ
    れたときには、当該アクセス対象物理ブロックの最新状
    態表示用物理ブロック状態フラグを不使用中に変更し、
    前記不揮発性メモリの当該アクセス対象物理ブロックに
    対する消去処理を回避し、かつ前記ブロックマッピング
    情報において当該アクセス対象物理ブロックに関するブ
    ロックマッピングを切り離す消去要求実行手段と、 前記要求種別判定手段によりアクセス要求が書き込み要
    求であると判定されかつ前記アクセス対象物理ブロック
    検索手段により検索されたアクセス対象物理ブロックが
    前記ブロック使用状態判定手段により使用中と判定され
    たときには、当該アクセス対象物理ブロックの最新状態
    表示用物理ブロック状態フラグを不使用中に変更し、前
    記不揮発性メモリ内の当該アクセス対象物理ブロックに
    対する書き込み処理を回避し、その代わりに、当該書き
    込み要求にかかるデータを前記不揮発性メモリ内の前記
    空き物理ブロック検索手段にて検索された空き物理ブロ
    ックに書き込み、かつ前記ブロックマッピング情報にお
    いて当該アクセス対象物理ブロックに関するブロックマ
    ッピングを切り離し新たにブロックマッピングを張り直
    す書き込み要求実行手段と、 所定のデータ管理情報更新要求が到来するのに応答し
    て、前記揮発性メモリに記憶された最新状態表示用のデ
    ータ管理情報の内容にて前記不揮発性メモリ内のデータ
    管理情報の内容を更新するデータ管理情報更新手段と、 を具備することを特徴とするメモリアクセス制御装置。
JP13104496A 1996-04-25 1996-04-25 メモリアクセス制御方法及び装置 Expired - Fee Related JP3313576B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13104496A JP3313576B2 (ja) 1996-04-25 1996-04-25 メモリアクセス制御方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13104496A JP3313576B2 (ja) 1996-04-25 1996-04-25 メモリアクセス制御方法及び装置

Publications (2)

Publication Number Publication Date
JPH09293025A JPH09293025A (ja) 1997-11-11
JP3313576B2 true JP3313576B2 (ja) 2002-08-12

Family

ID=15048709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13104496A Expired - Fee Related JP3313576B2 (ja) 1996-04-25 1996-04-25 メモリアクセス制御方法及び装置

Country Status (1)

Country Link
JP (1) JP3313576B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100809320B1 (ko) 2006-09-27 2008-03-05 삼성전자주식회사 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법
KR100843543B1 (ko) * 2006-10-25 2008-07-04 삼성전자주식회사 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법
US11257543B2 (en) * 2019-06-25 2022-02-22 Stmicroelectronics International N.V. Memory management device, system and method
CN114217744A (zh) * 2021-12-14 2022-03-22 山东产研鲲云人工智能研究院有限公司 使用影子寄存器的efuse储存内容分发方法及设备

Also Published As

Publication number Publication date
JPH09293025A (ja) 1997-11-11

Similar Documents

Publication Publication Date Title
US5682497A (en) Managing file structures for a flash memory file system in a computer
KR100843543B1 (ko) 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법
USRE45577E1 (en) Method of writing to a flash memory including data blocks and log blocks
JP3485938B2 (ja) 不揮発性半導体メモリ装置
JP3544610B2 (ja) メモリ装置
KR101103110B1 (ko) 메모리 시스템
US20080270680A1 (en) Controller for Non-Volatile Memories and Methods of Operating the Memory Controller
US7925821B2 (en) Nonvolatile semiconductor storage device and method of managing the same
JPH117505A (ja) カード型記憶媒体
JP4046877B2 (ja) 一括消去型不揮発性メモリおよび携帯電話
JPH07146820A (ja) フラッシュメモリの制御方法及び、それを用いた情報処理装置
JP2005242897A (ja) フラッシュディスク装置
JPH11126488A (ja) フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置
EP3627328A1 (en) Storage device and operating method of storage device
JP2008077221A (ja) 車両用制御装置
JP2004303238A (ja) フラッシュメモリアクセス装置及び方法
JP3544476B2 (ja) メモリ管理テーブル作成方法
JP5183662B2 (ja) メモリ制御装置及びメモリ制御方法
US11960748B2 (en) SSD supporting read-only mode after PLP backup failure
JP3313576B2 (ja) メモリアクセス制御方法及び装置
JPH11328982A (ja) フラッシュメモリのデ―タ管理方式
JP2002278850A (ja) 半導体装置
JPH11272569A (ja) フラッシュメモリを使用した外部記憶装置のデータ回復方式
JPH113287A (ja) 記憶装置およびそれに用いられる記憶領域管理方法
JP4794530B2 (ja) 半導体装置および携帯電話

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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: 20090531

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100531

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110531

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110531

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120531

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120531

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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: 20120531

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130531

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20140531

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees