JP3313576B2 - Memory access control method and device - Google Patents

Memory access control method and device

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
Japanese (ja)
Other versions
JPH09293025A (en
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/en
Publication of JPH09293025A publication Critical patent/JPH09293025A/en
Application granted granted Critical
Publication of JP3313576B2 publication Critical patent/JP3313576B2/en
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

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、記憶素子の性質か
らアクセス回数に制限のある不揮発性メモリ(例えば、
フラッシュメモリ等)に好適なメモリアクセス制御方法
及び装置に係り、特に、停電発生時のデータ信頼性を維
持しつつそのような不揮発性メモリの寿命増大に寄与す
るメモリアクセス制御方法及び装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a nonvolatile memory (for example,
More particularly, the present invention relates to a memory access control method and apparatus suitable for a flash memory, etc., and more particularly to a memory access control method and apparatus that contributes to an increase in the life of such a non-volatile memory while maintaining data reliability in the event of a power failure.

【0002】[0002]

【従来の技術】不揮発性メモリであるフラッシュメモリ
は、その記憶素子の電気的な性質からアクセス回数に制
限があることが知られている。殊に、フラッシュメモリ
の記憶領域を複数の物理ブロックからなるデータ記憶領
域とそのデータ記憶領域の使用状況を管理するデータ管
理情報記憶領域とにフォーマッティングして使用するペ
ージメモリ方式での使用にあっては、データ記憶領域に
比べてデータ管理領域のアクセス頻度が高いことから、
データ管理領域を構成する記憶素子の消耗によりメモリ
寿命が短いという問題がある。
2. Description of the Related Art It is known that a flash memory, which is a non-volatile memory, has a limited number of accesses due to the electrical properties of its storage elements. In particular, in the use of a page memory system in which a storage area of a flash memory is formatted and used as a data storage area composed of a plurality of physical blocks and a data management information storage area for managing the use status of the data storage area. Since the access frequency of the data management area is higher than that of the data storage area,
There is a problem that the memory life is short due to the consumption of storage elements constituting the data management area.

【0003】かかる問題の対策としては、フラッシュメ
モリの使用に先立ち、当該フラッシュメモリのデータ管
理情報記憶領域の内容を、アクセス回数に実用上制限の
ない素子で構成されるワークメモリ(通常構造の半導体
SRAM、DRAM等の揮発性メモリで構成されるのが
普通である)上に複写し、メモリの使用中にあってはこ
のワークメモリ上のデータ管理情報にアクセスしてそれ
を逐次更新し、メモリの使用完了後或いは使用中適当な
時点で間欠的に、ワークメモリ上のデータ管理情報の内
容で前記フラッシュメモリ上のデータ管理情報の内容を
書き替える間欠書替方式が考えられる。
As a countermeasure against such a problem, prior to use of a flash memory, the contents of a data management information storage area of the flash memory are changed to a work memory (a semiconductor having a normal structure) having elements whose access count is not practically limited. It is usually composed of a volatile memory such as an SRAM or a DRAM), and when the memory is in use, the data management information on the work memory is accessed and updated successively. An intermittent rewriting method is conceivable in which the content of the data management information on the flash memory is rewritten with the content of the data management information on the work memory intermittently after the completion of use or at an appropriate time during use.

【0004】このようなデータ管理情報の間欠書替方式
によれば、データの書き込み、読み出し、消去等に関し
ては、フラッシュメモリ上のデータ記憶領域に対する直
接アクセスにより行われるものの、それに伴うデータ管
理情報の高頻度な逐次更新については、ワークメモリ上
の管理情報記憶領域に対するアクセスを介しての言わば
間接アクセスにより行われるため、フラッシュメモリ上
のデータ管理情報記憶領域に対するアクセス頻度が低下
してフラッシュメモリの寿命が増大する。
According to such an intermittent rewriting method of data management information, data writing, reading, erasing, and the like are performed by direct access to a data storage area on a flash memory. Frequent sequential updating is performed by indirect access through access to the management information storage area on the work memory. Therefore, the frequency of access to the data management information storage area on the flash memory is reduced, and the life of the flash memory is reduced. Increase.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、上述の
間欠書替方式にあっては、フラッシュメモリ上のデータ
の内容並びにワークメモリ上のデータ管理情報の内容に
ついては逐次に更新されてゆくものの、フラッシュメモ
リ上のデータ管理情報の内容については間欠的にしか更
新されないため、その間にシステム電源電圧の停電や電
圧低下等が起こってワークメモリ上のデータ管理情報の
内容が消失してしまうと、フラッシュメモリ上において
はデータの内容とデータ管理情報の内容とが不整合のま
ま残される事態が発生して、フラッシュメモリが使用不
能に陥るという問題がある。殊に、この問題は、フラッ
シュメモリをPDA等の小型携帯用電子機器のユーザデ
ータ格納用メモリとして使用した場合等に顕著なものと
なる。すなわち、この種の小型携帯用電子機器にあって
は、サイズ並びに重量上の制約により大容量バッテリの
搭載が困難なことから使用中に電池切れを起こす可能性
が高く、また使用中に誤って落下させた場合の衝撃等に
よりバッテリの接触不良による停電を起こす可能性も高
い。このような電池切れや停電のたびに、フラッシュメ
モリ内においてデータとデータ管理情報とに不整合が生
じて、読み出しデータに関する信頼性が失われるとすれ
ば、製品として実用に供し得ない。
However, in the above-mentioned intermittent rewriting method, although the contents of data in the flash memory and the contents of data management information in the work memory are updated sequentially, the flash memory is not updated. The contents of the data management information on the memory are updated only intermittently.If the data management information on the work memory is lost due to a power outage or voltage drop of the system power supply during that time, the flash memory In the above, there is a problem that the content of the data and the content of the data management information are left in an inconsistent state, and the flash memory becomes unusable. In particular, this problem becomes remarkable when the flash memory is used as a memory for storing user data of a small portable electronic device such as a PDA. In other words, in this type of small portable electronic device, it is difficult to mount a large capacity battery due to size and weight restrictions, so there is a high possibility that the battery will run out during use. There is a high possibility that a power failure due to poor contact with the battery due to an impact when dropped or the like may occur. If the data and the data management information are inconsistent in the flash memory every time such a battery exhaustion or a power failure occurs and the reliability of the read data is lost, it cannot be put to practical use as a product.

【0006】この発明は、以上の問題点に鑑みてなされ
たものであり、その目的とするところは、記憶素子の性
質からアクセス回数に制限のある不揮発性メモリを、そ
の規定アクセス回数の元で最大限に活用することがで
き、しかも電源電圧の低下や停電が発生しても、その後
に当該不揮発性メモリから読み出されるデータの信頼性
を保証できるようにしたメモリアクセス方法及び装置を
提供することにある。
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and an object of the present invention is to provide a nonvolatile memory having a limited number of accesses due to the nature of a storage element under the prescribed number of accesses. Provided is a memory access method and device which can be used to the maximum extent and which can guarantee the reliability of data read from the nonvolatile memory thereafter even if a power supply voltage drops or a power failure occurs. It is in.

【0007】[0007]

【課題を解決するための手段】この出願の請求項1に記
載の発明は、記憶素子の性質からアクセス回数に制限の
ある不揮発性メモリに対するメモリアクセスを制御する
ための方法であって、前記不揮発性メモリの使用開始に
先立ち、前記不揮発性メモリ内に記憶されたデータ管理
情報を、アクセス回数に実用上制限のない揮発性メモリ
上に複写して最新状態表示用のデータ管理情報とし、さ
らに、前記データ管理情報を構成する物理ブロック状態
フラグ群とブロックマッピング情報とのうちで、物理ブ
ロック状態フラグ群を前記揮発性メモリ上に別に一組複
写保存して初期状態表示用の物理ブロック状態フラグ群
とする前処理ステップと、与えられたメモリアクセス要
求が消去要求若しくは書き込み要求のいずれかであるこ
とを判定するアクセス要求種別判定ステップと、前記記
憶されたブロックマッピング情報に基づいて、前記メモ
リアクセス要求で指定された論理ブロックにマッピング
された物理ブロックを求めるアクセス対象物理ブロック
検索ステップと、前記保存された初期状態表示用の物理
ブロック状態フラグ群を参照して、前記検索されたアク
セス対象物理ブロックが使用中であることを判定するブ
ロック使用状態判定ステップと、前記初期状態表示用の
物理ブロック状態フラグ群と前記最新状態表示用の物理
ブロック状態フラグ群とを参照して、初期状態において
空き状態にありかつ最新状態においても空き状態である
物理ブロックを検索する空き物理ブロック検索ステップ
と、前記要求種別判定ステップによりメモリアクセス要
求が消去要求であると判定されかつ前記アクセス対象物
理ブロック検索ステップにより検索されたアクセス対象
物理ブロックが前記ブロック使用状態判定ステップによ
り使用中と判定されたときには、当該アクセス対象物理
ブロックの最新状態表示用物理ブロック状態フラグを不
使用中に変更し、前記不揮発性メモリの当該アクセス対
象物理ブロックに対する消去処理を回避し、かつ前記ブ
ロックマッピング情報において当該アクセス対象物理ブ
ロックに関するブロックマッピングを切り離す消去要求
実行ステップと、前記要求種別判定ステップによりアク
セス要求が書き込み要求であると判定されかつ前記アク
セス対象物理ブロック検索ステップにより検索されたア
クセス対象物理ブロックが前記ブロック使用状態判定ス
テップにより使用中と判定されたときには、当該アクセ
ス対象物理ブロックの最新状態表示用物理ブロック状態
フラグを不使用中に変更し、前記不揮発性メモリ内の当
該アクセス対象物理ブロックに対する書き込み処理を回
避し、その代わりに、当該書き込み要求にかかるデータ
を前記不揮発性メモリ内の前記空き物理ブロック検索ス
テップにて検索された空き物理ブロックに書き込み、か
つ前記ブロックマッピング情報において当該アクセス対
象物理ブロックに関するブロックマッピングを切り離し
新たにブロックマッピングを張り直す書き込み要求実行
ステップと、所定のデータ管理情報更新要求が到来する
のに応答して、前記揮発性メモリに記憶された最新状態
表示用のデータ管理情報の内容にて前記不揮発性メモリ
内のデータ管理情報の内容を更新するデータ管理情報更
新ステップと、を具備することを特徴とするメモリアク
セス制御方法にある。
According to a first aspect of the present invention, there is provided a method for controlling a memory access to a nonvolatile memory having a limited number of accesses due to the nature of a storage element, the method comprising: Prior to the start of use of the volatile memory, the data management information stored in the non-volatile memory is copied to a volatile memory having practically no limitation on the number of accesses to obtain data management information for displaying the latest state, Of the physical block status flags and block mapping information constituting the data management information, the physical block status flags are separately copied and stored on the volatile memory as a set, and the physical block status flags for initial status display are stored. And an action for determining that the given memory access request is either an erase request or a write request. A request for determining a physical block mapped to the logical block specified by the memory access request based on the stored block mapping information; and A block use state determination step of referring to a display physical block state flag group to determine that the searched access target physical block is in use; and a physical block state flag group for initial state display, Referring to the latest state display physical block state flag group, an empty physical block search step for searching for a physical block that is empty in the initial state and also empty in the latest state, and the request type determination step The memory access request is determined to be an erase request; and When the access target physical block retrieved by the access target physical block retrieval step is determined to be in use by the block use state determination step, the latest state display physical block state flag of the access target physical block is not used. An erase request executing step of changing the non-volatile memory to the erasure target physical block in the non-volatile memory, and separating the block mapping related to the access target physical block in the block mapping information; Is determined to be a write request, and the access target physical block retrieved in the access target physical block retrieval step is determined to be in use by the block use state determination step, The physical block status flag for displaying the latest status of the target physical block is changed to “not in use” to avoid the write process for the physical block to be accessed in the non-volatile memory. A write request execution step of writing in the free physical block searched in the free physical block search step in the non-volatile memory and separating the block mapping related to the physical block to be accessed in the block mapping information and rebuilding a new block mapping In response to the arrival of the predetermined data management information update request, the content of the data management information in the non-volatile memory is changed based on the content of the data management information for displaying the latest status stored in the volatile memory. A data management information update step to be updated; In the memory access control method characterized by Bei.

【0008】また、この出願の請求項2に記載の発明
は、記憶素子の性質からアクセス回数に制限のある不揮
発性メモリに対するメモリアクセスを制御するための装
置であって、前記不揮発性メモリの使用開始に先立ち、
前記不揮発性メモリ内に記憶されたデータ管理情報を、
アクセス回数に実用上制限のない揮発性メモリ上に複写
して最新状態表示用のデータ管理情報とし、さらに、前
記データ管理情報を構成する物理ブロック状態フラグ群
とブロックマッピング情報とのうちで、物理ブロック状
態フラグ群を前記揮発性メモリ上に別に一組複写保存し
て初期状態表示用の物理ブロック状態フラグ群とする前
処理手段と、与えられたメモリアクセス要求が消去要求
若しくは書き込み要求のいずれかであることを判定する
アクセス要求種別判定手段と、前記記憶されたブロック
マッピング情報に基づいて、前記メモリアクセス要求で
指定された論理ブロックにマッピングされた物理ブロッ
クを求めるアクセス対象物理ブロック検索手段と、前記
保存された初期状態表示用の物理ブロック状態フラグ群
を参照して、前記検索されたアクセス対象物理ブロック
が使用中であることを判定するブロック使用状態判定手
段と、前記初期状態表示用の物理ブロック状態フラグ群
と前記最新状態表示用の物理ブロック状態フラグ群とを
参照して、初期状態において空き状態にありかつ最新状
態においても空き状態である物理ブロックを検索する空
き物理ブロック検索手段と、前記要求種別判定手段によ
りメモリアクセス要求が消去要求であると判定されかつ
前記アクセス対象物理ブロック検索手段により検索され
たアクセス対象物理ブロックが前記ブロック使用状態判
定手段により使用中と判定されたときには、当該アクセ
ス対象物理ブロックの最新状態表示用物理ブロック状態
フラグを不使用中に変更し、前記不揮発性メモリの当該
アクセス対象物理ブロックに対する消去処理を回避し、
かつ前記ブロックマッピング情報において当該アクセス
対象物理ブロックに関するブロックマッピングを切り離
す消去要求実行手段と、前記要求種別判定手段によりア
クセス要求が書き込み要求であると判定されかつ前記ア
クセス対象物理ブロック検索手段により検索されたアク
セス対象物理ブロックが前記ブロック使用状態判定手段
により使用中と判定されたときには、当該アクセス対象
物理ブロックの最新状態表示用物理ブロック状態フラグ
を不使用中に変更し、前記不揮発性メモリ内の当該アク
セス対象物理ブロックに対する書き込み処理を回避し、
その代わりに、当該書き込み要求にかかるデータを前記
不揮発性メモリ内の前記空き物理ブロック検索手段にて
検索された空き物理ブロックに書き込み、かつ前記ブロ
ックマッピング情報において当該アクセス対象物理ブロ
ックに関するブロックマッピングを切り離し新たにブロ
ックマッピングを張り直す書き込み要求実行手段と、所
定のデータ管理情報更新要求が到来するのに応答して、
前記揮発性メモリに記憶された最新状態表示用のデータ
管理情報の内容にて前記不揮発性メモリ内のデータ管理
情報の内容を更新するデータ管理情報更新手段と、を具
備することを特徴とするメモリアクセス制御装置にあ
る。
According to a second aspect of the present invention, there is provided an apparatus for controlling memory access to a non-volatile memory whose number of accesses is limited due to the nature of a storage element. Before starting,
Data management information stored in the nonvolatile memory,
The number of accesses is copied onto a volatile memory that has no practical limit, and is used as data management information for displaying the latest status. Further, among the physical block status flags and the block mapping information that constitute the data management information, Preprocessing means for separately storing a set of block status flags on the volatile memory to make a physical block status flag group for displaying an initial status; and providing a given memory access request either an erase request or a write request. Access request type determining means for determining that the physical block mapped to the logical block specified in the memory access request based on the stored block mapping information, With reference to the stored initial state display physical block status flag group, The block use state determining means for determining that the searched physical block to be accessed is in use, and the physical block state flags for initial state display and the physical block state flags for latest state display are referred to. An empty physical block searching means for searching for a physical block that is empty in the initial state and empty even in the latest state, and the request type determining means determines that the memory access request is an erasure request and When the access target physical block searched by the target physical block search unit is determined to be in use by the block use state determination unit, the latest state display physical block state flag of the access target physical block is changed to unused. For the physical block to be accessed in the nonvolatile memory. To avoid processed,
And an erasure request execution unit that separates the block mapping related to the access target physical block in the block mapping information, and the access type is determined to be a write request by the request type determination unit, and is searched by the access target physical block search unit. When the access target physical block is determined to be in use by the block use state determination unit, the latest status display physical block status flag of the access target physical block is changed to non-use, and the access in the nonvolatile memory is changed. Avoid write processing to the target physical block,
Instead, the data related to the write request is written to the free physical block searched by the free physical block search means in the nonvolatile memory, and the block mapping related to the access target physical block is separated in the block mapping information. In response to the arrival of a predetermined data management information update request,
A data management information updating unit that updates the content of the data management information in the nonvolatile memory with the content of the data management information for displaying the latest state stored in the volatile memory. Access control device.

【0009】ここで、請求項1若しくは請求項2の発明
において、『記憶素子の性質』とは、アクセス回数の増
加に伴って素子寿命の低下を招く原因となる物理的乃至
化学的性質等であり、具体的には半導体構造に基づく電
荷の蓄積形態、配線素材の耐性等の種々の原因に起因す
るものが存在するであろう。
Here, in the first or second aspect of the present invention, the “characteristics of the storage element” refers to physical or chemical properties that cause a reduction in the life of the element as the number of accesses increases. In particular, there may be those caused by various causes such as the form of charge accumulation based on the semiconductor structure and the resistance of the wiring material.

【0010】また、『前処理ステップ』の起動条件とし
ては、電源投入、アプリケーションやBIOSからの起
動コマンドの到来等のような種々の形態を採用すること
ができるであろう。なお、この発明の性質上、『データ
管理情報』としては、少なくとも物理ブロック状態フラ
グ群とブロックマッピング情報とが含まれていれば足り
るものであるが、この発明の及ぶ範囲としては、それ以
外の情報が含まれている場合を積極的に排除するもので
はない。また、初期状態表示用の物理ブロック状態フラ
グ群を敢えてアクセス回数に制限のない揮発性メモリ
(いわゆるシステムメモリ)内に記憶保存させるのは、
この記憶保存されたフラグ群の内容を読みとることで、
その都度実際にアクセス回数に制限のある不揮発性メモ
リの内容を読み取らずとも直ちに初期状態の確認ができ
るようにするためである。換言すれば、初期状態確認の
ためにその都度に不揮発性メモリをアクセスすれば、そ
の読み取りのためのアクセスによっても不揮発性メモリ
(例えば、フラッシュメモリの場合に顕著である)の寿
命を低下させることとなるからである。なお、『物理ブ
ロック状態フラグ群』とは、不揮発性メモリのデータ記
憶領域内の各物理ブロックのそれぞれが使用状態若しく
は不使用状態のいずれにあるかを表示する個々の状態フ
ラグの集合のことを意味している。また、『初期状態』
とは、メモリの使用開始時点の状態、或いは使用開始後
における最新のデータ管理情報更新時点の状態を意味し
ている。
Various conditions such as power-on, arrival of a start command from an application or BIOS, and the like can be adopted as the start condition of the “pre-processing step”. In addition, due to the nature of the present invention, it is sufficient that the “data management information” includes at least the physical block status flag group and the block mapping information. However, the scope of the present invention includes other data. It does not exclude cases where information is included. In addition, storing the physical block status flag group for displaying the initial status in a volatile memory (a so-called system memory) having no limit on the number of accesses is purposely performed.
By reading the contents of this stored flag group,
This is so that the initial state can be immediately confirmed without actually reading the contents of the non-volatile memory whose number of accesses is limited. In other words, if the non-volatile memory is accessed each time for checking the initial state, the life of the non-volatile memory (for example, remarkable in the case of a flash memory) is reduced even by the access for reading. This is because The “physical block status flag group” refers to a set of individual status flags indicating whether each physical block in the data storage area of the nonvolatile memory is in the used state or the unused state. Means. Also, "Initial state"
"" Means the state at the time of starting use of the memory or the state at the time of updating the latest data management information after the start of use.

【0011】また、『アクセス要求種別判別』の意味
は、これにより不揮発性メモリ(例えば、フラッシュメ
モリ)のデータ記憶領域内のいずれかの物理ブロックに
おいてデータ変更の可能性が生ずることを予期すること
にある。なお、ここで、『いずれかである』には、後述
する消去要求実行や書き込み要求実行との関係から、消
去要求若しくは書き込み要求のいずれであるかを認識す
る作用も含まれることは、当業者であれば容易に理解さ
れるであろう。
[0011] The meaning of "identification of access request type" is to expect that the possibility of data change in any physical block in a data storage area of a nonvolatile memory (for example, a flash memory) will occur. It is in. It should be noted that “any one” here includes an operation of recognizing whether the request is an erase request or a write request from the relationship with execution of an erase request or write request described later. It will be easily understood.

【0012】また、『アクセス対象物理ブロック検索』
で使用されるブロックマッピング情報とは、アクセス要
求で指定され論理ブロックと不揮発性メモリ上の物理ブ
ロックとの結合関係を規定する情報であり、例えば両者
の関係を規定するテーブルにより構成することができ
る。この結合関係は、任意にマッピング或いはマッピン
グ解除(切り離し)することができる。
[0012] Also, "search for physical block to be accessed"
The block mapping information used in (1) is information that specifies a connection relationship between a logical block specified by an access request and a physical block on a non-volatile memory, and can be configured by, for example, a table that defines the relationship between the two. . This connection relationship can be arbitrarily mapped or unmapped (disconnected).

【0013】また、前述のように、『ブロック使用状態
の判定』は、揮発性メモリ内に保存された初期状態表示
用の物理ブロック状態フラグ群を参照して行うことによ
り、不揮発性メモリの内容を参照することによるメモリ
消耗の虞がない。
Further, as described above, the "judgment of the block use state" is performed by referring to a group of physical block state flags for displaying the initial state stored in the volatile memory, thereby obtaining the contents of the nonvolatile memory. There is no risk of memory consumption by referring to.

【0014】また、『空き物理ブロック検索』の意味
は、初期状態においてもかつ最新状態においても空き状
態にある物理ブロックを探すことにあり、これらが複数
見つかった場合には、一定の法則によりその中の一つを
自動選択する機能を有するであろうことは、当業者であ
れば容易に理解されるであろう。
[0014] The meaning of "free physical block search" is to search for a physical block that is free in both the initial state and the latest state. It will be readily understood by those skilled in the art that there will be a function of automatically selecting one of them.

【0015】また、『消去要求実行』の意味は、消去要
求にかかる論理ブロックにマッピングされた物理ブロッ
クが実際に使用中の場合には、当該物理ブロックのデー
タを実際には消去せずに、揮発性メモリ上の物理ブロッ
ク状態フラグ上でのみ仮想的に消去することである。こ
れにより、消去要求が到来しても、不揮発性メモリ上に
おいてデータとデータ管理情報との間に不整合が生ずる
ことはない。しかも、その際に論理ブロックと物理ブロ
ックとのマッピングは切り離されてしまうから、その
後、当該論理ブロックに対する読み出し要求が到来して
消去されたはずのデータが誤って読み出されることはな
い。
The meaning of "execution of erasure request" means that when a physical block mapped to a logical block according to an erasure request is actually in use, the data of the physical block is not actually erased. This is to virtually erase only on the physical block status flag in the volatile memory. As a result, even when an erasure request arrives, no inconsistency occurs between data and data management information on the nonvolatile memory. In addition, at this time, the mapping between the logical block and the physical block is cut off, so that the data that should have been erased due to the arrival of a read request for the logical block is not erroneously read.

【0016】また、『書き込み要求実行』の意味は、書
き込み要求にかかる論理ブロックにマッピングされた物
理ブロックが実際に使用中の場合には、当該物理ブロッ
クのデータを実際には上書き消去せずに、揮発性メモリ
上の物理ブロック状態フラグ上でのみ仮想的に上書き消
去する一方、書き込み要求にかかるデータについては、
初期状態並びに最新状態においても空いていた物理ブロ
ックに書き込むことである。これにより、書き込み要求
が到来しても、不揮発性メモリ上においてデータとデー
タ管理情報との間に不整合が生ずることはない。しか
も、その際にそれまでの論理ブロックと物理ブロックと
のマッピングは切り離されてしまう一方、実際に書き込
まれた物理ブロックと論理ブロックとの間には新たにマ
ッピングが張られるため、その後、当該論理ブロックに
対する読み出し要求が到来してた場合には、上書きされ
たデータが正常に読み出され、上書き消去されたはずの
データが誤って読み出されることはない。
[0016] The term "execute write request" means that when a physical block mapped to a logical block for a write request is actually in use, the data of the physical block is not overwritten and erased. , While virtually overwriting and erasing only the physical block status flag on the volatile memory,
That is, writing to a physical block that is free even in the initial state and the latest state. Thus, even when a write request arrives, no inconsistency occurs between data and data management information on the nonvolatile memory. In addition, at this time, the mapping between the logical block and the physical block up to that point is separated, while a new mapping is established between the actually written physical block and the logical block. When a read request for a block arrives, the overwritten data is normally read, and the data that should have been overwritten and erased is not erroneously read.

【0017】さらに、『データ管理情報更新』の意味
は、不揮発性メモリのデータ管理情報の内容をそのデー
タ記憶領域の最新の状態に整合させることにある。ここ
で、データ管理情報更新要求は、アプリケーションプロ
グラムから与えるようにしてもよいし、アプリケーショ
ンプログラムより階層的に下位の手段(例えば、BIO
S等)からあたえるようにしてもよい。また、データ管
理情報更新要求を与えるタイミングについては、一定周
期でサイクリックに与える場合、アプリケーションプロ
グラムやBIOS等から任意のタイミングで与える場
合、オペレータからの指令により任意のタイミングで与
える場合などのように種々の態様をとることができる。
さらに、データ管理情報更新要求の付与周期はそれが適
用される電子機器の利用態様(例えば、書き込み頻度或
いは消去頻度)や予想される停電頻度等に合わせて適宜
に決定すればよいと考えられる。
Further, "data management information update" means to match the contents of the data management information in the nonvolatile memory with the latest state of the data storage area. Here, the data management information update request may be given from an application program, or means hierarchically lower than the application program (for example, BIO).
S, etc.). The data management information update request is given at a certain cycle cyclically, at an arbitrary timing from an application program, a BIOS, or the like, at an arbitrary timing according to an instruction from an operator, or the like. Various aspects can be taken.
Further, it is conceivable that the period of application of the data management information update request may be appropriately determined according to the usage mode (for example, the writing frequency or erasing frequency) of the electronic device to which the request is applied, the expected power failure frequency, and the like.

【0018】なお、以上の請求項の記載では、上記の書
き込み要求実行の結果新たにマッピングされた論理ブロ
ックに関する次回以降の消去要求或いは書き込み要求が
到来した場合については、当業者にとって当然のことと
して規定していない。念のために付言すれば、この場合
には初期状態におけるデータ記憶領域の状態に変更を来
さないことは明らかであるから、通常通りの消去処理或
いは書き込み処理を行えばよいと考えられる。また、そ
れまでマッピングされていない新たな論理ブロックに関
する書き込み要求が到来した場合も同様であって、この
場合にも新たにマッピングされる物理ブロックは初期状
態におけるデータ記憶領域の状態に変更を来さないこと
は明らかであるから、通常通りの書き込み処理を行えば
よいと考えられる。さらに、いずれかの論理ブロックに
関する読み出し要求が到来した場合にも、初期状態にお
けるデータ記憶領域の状態に変更を来さないことは明ら
かであるから、通常通りの書き込み処理を行えばよいと
考えられる。
It should be noted that, in the description of the above claims, it will be obvious to those skilled in the art that a subsequent erase or write request for a newly mapped logical block arrives as a result of the execution of the write request. Not regulated. It should be noted that, in this case, it is clear that the state of the data storage area in the initial state is not changed in this case, and it is considered that the erasing process or the writing process should be performed as usual. The same applies to a case where a write request for a new logical block that has not been mapped has arrived. In this case, the state of the newly mapped physical block changes to the state of the data storage area in the initial state. Since it is clear that there is no writing process, it is considered that the writing process should be performed as usual. Further, even when a read request for any of the logical blocks arrives, it is clear that the state of the data storage area in the initial state is not changed, and it is considered that the normal write processing may be performed. .

【0019】そして、請求項1若しくは請求項2に記載
の発明によれば、論理ブロック上においては、書き込み
処理、読み出し処理、消去処理を支障なく行うことがで
きる一方、物理ブロック上においては前回のデータ管理
状況更新時の内容がそのまま次回のデータ管理状況更新
時まで保持されて、データとデータ管理情報との整合性
が保たれるため、その間に停電が発生した場合には、前
回の更新時以降蓄積されたデータについては消失するも
のの、前回の更新時に既に存在したデータについては正
常に読み出すことが可能となり、データの消失を最小限
にとどめつつ不揮発性メモリからの読み出しデータの信
頼性を保証できる。しかも、揮発性メモリ(ワークメモ
リ)上のデータ管理情報については逐次更新させつつ
も、不揮発性メモリ(フラッシュメモリ等)上のデータ
管理情報については間欠的にしか更新されないから、記
憶素子の性質からアクセス回数に制限のある不揮発性メ
モリを、その規定アクセス回数の元で最大限に活用する
ことができる。
According to the first or second aspect of the present invention, the write processing, the read processing, and the erasure processing can be performed without any trouble on the logical block, while the previous processing can be performed on the physical block. The contents at the time of updating the data management status are retained as they are until the next data management status update, and the consistency between the data and the data management information is maintained. Although the stored data will be lost thereafter, the data already existing at the time of the previous update can be read normally, ensuring the reliability of the data read from the non-volatile memory while minimizing data loss. it can. Moreover, while the data management information on the volatile memory (work memory) is updated sequentially, the data management information on the nonvolatile memory (flash memory, etc.) is updated only intermittently. A non-volatile memory having a limited number of accesses can be used to the maximum extent under the prescribed number of accesses.

【0020】[0020]

【発明の実施の形態】以下、この発明の好ましい実施の
形態につき、添付図面を参照して詳細に説明する。前述
したように、本発明にかかるメモリアクセス制御方法及
び装置の効果は、例えばフラッシュメモリをPDA等の
小型携帯用電子機器のユーザデータ格納用メモリとして
使用した場合等に顕著なものとなると考えられる。すな
わち、この種の小型携帯用電子機器にあっては、サイズ
並びに重量の制約により大容量バッテリの搭載が困難な
ことから使用中に電池切れを起こす可能性が高く、また
使用中に誤って落下させた場合の衝撃等によるバッテリ
の接触不良により停電を起こす可能性も高い。このよう
な電池切れや停電のたびに、フラッシュメモリ内におい
てデータとデータ管理情報とに不整合が生じて、読み出
しデータに関する信頼性が失われるとすれば、製品とし
て実用に供し得ない。かかる問題は本発明の適用によ
り、次のように解決される。
Preferred embodiments of the present invention will be described below in detail with reference to the accompanying drawings. As described above, the effect of the memory access control method and device according to the present invention is considered to be remarkable when, for example, a flash memory is used as a memory for storing user data of a small portable electronic device such as a PDA. . That is, in this type of small portable electronic device, it is difficult to mount a large-capacity battery due to size and weight restrictions, so there is a high possibility that the battery will run out during use. In this case, there is a high possibility that a power failure will occur due to poor contact of the battery due to an impact or the like. If the data and the data management information are inconsistent in the flash memory every time such a battery exhaustion or a power failure occurs and the reliability of the read data is lost, it cannot be put to practical use as a product. Such a problem is solved as follows by applying the present invention.

【0021】本発明が適用された小型携帯用電子機器の
ハードウェア構成を図1のブロック図により概略的に説
明する。同図に示されるように、この種の小型携帯用電
子機器は、ユーザとの間でデータのやりとりを行うため
のマンマシンインタフェース部(最近の例では、ペンタ
ッチ式の入力パッド等が多く使用されている)100
と、例えば電話帳、スケジュール等と言ったユーザデー
タを格納するためのユーザデータメモリ200と、機器
の各種の動作を実現するためのシステムプログラムを格
納するためのシステムプログラムメモリ300と、シス
テムプログラムの実行に際するワークエリア等として使
用されるワークメモリ400と、機器の動作機能を実現
するためのCPU500とから概略構成されており、こ
れらの機器構成要素は周知のようにアドレスバス、デー
タバス、コントロールバス等からなるシステムバス60
0により相互に結ばれている。尚、この種のストアード
プログラム式制御装置の基本的な構成並びに動作は、当
業者にとっては周知であるから、これ以上の説明は省略
する。
The hardware configuration of a small portable electronic device to which the present invention is applied will be schematically described with reference to the block diagram of FIG. As shown in FIG. 1, a small-sized portable electronic device of this type includes a man-machine interface unit for exchanging data with a user (in recent examples, a pen-touch type input pad or the like is often used). 100)
A user data memory 200 for storing user data such as a telephone directory, a schedule, etc .; a system program memory 300 for storing a system program for realizing various operations of the device; A work memory 400 used as a work area or the like at the time of execution and a CPU 500 for realizing the operation function of the device are schematically constituted. These device components are an address bus, a data bus, System bus 60 including a control bus and the like
They are interconnected by 0. The basic configuration and operation of this type of stored program type control device are well known to those skilled in the art, and thus further description is omitted.

【0022】ユーザデータメモリ200としては、記憶
素子の性質からアクセス回数に制限のある不揮発性メモ
リである書き替え可能なフラッシュメモリが使用されて
おり、これにより電源スイッチがオフされた後にあって
も、ユーザデータについては保存されるようになされて
いる。これに対して、ワークメモリ400としては、揮
発性素子である書き替え可能な通常半導体構造のDRA
MやSRAM等が使用されている。そのため、電源スイ
ッチがオンとされて何らかの操作が行われている状態に
おいて、バッテリ切れや落下衝撃によるバッテリの接続
不良等を原因とする停電が発生すると、ワークメモリ4
00の記憶内容は消失する虞がある。
As the user data memory 200, a rewritable flash memory, which is a non-volatile memory having a limited number of accesses due to the nature of the storage element, is used, so that even after the power switch is turned off. The user data is stored. On the other hand, the work memory 400 is a DRA having a rewritable normal semiconductor structure, which is a volatile element.
M, SRAM and the like are used. Therefore, in the state where the power switch is turned on and some operation is being performed, if a power failure occurs due to a battery connection failure due to a battery exhaustion or a drop impact, the work memory 4
00 may be lost.

【0023】図6に示されるように、ユーザデータメモ
リ200の記憶領域には、物理ブロック群B01〜B0
nを構成する記憶領域と、物理ブロック状態フラグ群F
01〜F0nを格納するための記憶領域と、ブロックマ
ッピング情報MAP0を格納するための記憶領域とがあ
らかじめフォーマッティングされている。
As shown in FIG. 6, the storage area of the user data memory 200 stores physical block groups B01 to B0.
n and a physical block status flag group F
A storage area for storing 01 to F0n and a storage area for storing block mapping information MAP0 are formatted in advance.

【0024】物理ブロック群B01〜B0nを構成する
個々の物理ブロックは、ユーザデータを構成する個々の
論理ブロックを格納するためのものであり、そのサイズ
は例えば互いに同一であって、しかも論理ブロックのサ
イズとも同一とされている。そして、アクセス要求と共
に順次に到来するユーザデータの各論理ブロックは、後
に詳細に説明するように、物理ブロック群B01〜B0
nのいずれかに割り当てて格納されることとなる。
The individual physical blocks constituting the physical block groups B01 to B0n are for storing the individual logical blocks constituting the user data, and have the same size, for example, and have the same size as the logical blocks. The size is the same. Each logical block of the user data that sequentially arrives with the access request includes physical block groups B01 to B0, as described later in detail.
n to be stored.

【0025】物理ブロック状態フラグ群F01〜F0n
を構成する個々の物理ブロック状態フラグは、上述の物
理ブロック群B01〜B0nを構成する個々の物理ブロ
ックと一対一に対応しており、各々の物理ブロックが使
用中であるか或いは不使用中であるかを表示している。
この物理ブロック状態フラグ群F01〜F0nは不揮発
性であるから、電源投入直後の物理ブロック群B01〜
B0nの使用状況確認は、上記物理ブロック状態フラグ
群F01〜F0nの内容を参照することにより行われ
る。ブロックマッピング情報MAP0とは、物理ブロッ
クと論理ブロックとの結合関係、すなわち物理ブロック
群B01〜B0nを構成する各物理ブロックにどの論理
ブロックが格納されているかを示す情報である。このブ
ロックマッピング情報MAP0についても不揮発性であ
るから、電源投入直後の物理ブロック群B01〜B0n
の記憶ブロック確認(どの論理ブロックが格納されてい
るか)は、上記ブロックマッピング情報MAP0を参照
することにより行われる。
Physical block status flag group F01 to F0n
Are associated one-to-one with the individual physical blocks constituting the above-described physical block groups B01 to B0n, and each physical block is in use or unused. Is displayed.
Since the physical block status flag groups F01 to F0n are nonvolatile, the physical block group B01 to B0
The usage status of B0n is confirmed by referring to the contents of the physical block status flag groups F01 to F0n. The block mapping information MAP0 is information indicating a connection relationship between a physical block and a logical block, that is, which logical block is stored in each physical block constituting the physical block groups B01 to B0n. Since this block mapping information MAP0 is also nonvolatile, the physical block groups B01 to B0n immediately after the power is turned on.
Is confirmed by referring to the block mapping information MAP0.

【0026】なお、以下の説明では、上述の物理ブロッ
ク状態フラグ群F01〜F0nとブロックマッピング情
報MAP0とを合わせて、『データ管理情報』と称する
こととする。
In the following description, the physical block status flag groups F01 to F0n and the block mapping information MAP0 are collectively referred to as "data management information".

【0027】このデータ管理情報の参照(読み取り)並
びに更新(読み取り並びに書き込み)は、ビット処理等
の必要性から、データ管理情報が記憶された一連の記憶
領域に対する一括読み取り乃至書き込み処理により行わ
れる。そのため、物理ブロック状態フラグ群F01〜F
0n並びにブロックマッピング情報MAP0が格納され
たデータ管理情報記憶領域に対するアクセス頻度は、物
理ブロック群B01〜B0nを構成するデータ記憶領域
に対するアクセス頻度に比べて格段に高くなる。そのた
め、データ管理情報の参照並びに更新のために、その都
度、直接にユーザデータメモリ200を構成するフラッ
シュメモリにアクセスするとすれば、データ管理情報記
憶領域の消耗が激しく、データ記憶領域よりも先にデー
タ管理領域だけがその寿命に達してしまい、結果とし
て、フラッシュメモリ全体としての寿命を短くしてしま
う。
The reference (reading) and updating (reading and writing) of the data management information are performed by batch reading or writing processing to a series of storage areas storing the data management information because of the necessity of bit processing or the like. Therefore, physical block status flag groups F01 to F01
0n and the frequency of access to the data management information storage area storing the block mapping information MAP0 is significantly higher than the frequency of access to the data storage areas constituting the physical block groups B01 to B0n. Therefore, if the flash memory constituting the user data memory 200 is directly accessed each time to refer to and update the data management information, the data management information storage area is greatly consumed, and the data management area is earlier consumed than the data storage area. Only the data management area reaches its life, and as a result, the life of the entire flash memory is shortened.

【0028】そこで、この発明では、以下に説明するよ
うに、ユーザデータメモリ200内のデータ管理情報を
ワークメモリ400に複写して、データ管理情報の逐次
的な参照並びに更新のためには、その複写されたワーク
メモリ400内のデータ管理情報にアクセスする一方、
適当なタイミングにてワークメモリ400内のデータ管
理情報の内容にてユーザデータメモリ200内のデータ
管理情報を間欠的に更新すると言う手法を採用すること
により、フラッシュメモリの寿命低下の問題を解決して
いる。加えて、ワークメモリ400内のデータ管理情報
にアクセスしつつユーザデータメモリ200のデータ記
憶領域の内容を消去若しくは書き替えている間には、ユ
ーザデータメモリ200内においてデータとデータ管理
情報との間に不整合が生ずることを防止して、不意の停
電が起きても、停電回復時にあっては、前回のデータ管
理情報更新時に遡って、ユーザデータメモリ200の継
続使用が可能となるように配慮している。
Therefore, according to the present invention, as described below, the data management information in the user data memory 200 is copied to the work memory 400, and the data management information is sequentially referenced and updated in order to sequentially update the data management information. While accessing the data management information in the copied work memory 400,
By adopting a method of intermittently updating the data management information in the user data memory 200 with the contents of the data management information in the work memory 400 at an appropriate timing, the problem of shortening the life of the flash memory is solved. ing. In addition, while erasing or rewriting the contents of the data storage area of the user data memory 200 while accessing the data management information in the work memory 400, the data between the data and the data management information in the user data memory 200 may be lost. In order to prevent the occurrence of inconsistency in the user data memory 200, even if an unexpected power outage occurs, the user data memory 200 can be used continuously at the time of power outage recovery, going back to the previous update of the data management information. are doing.

【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の消
耗を回避するためである。
That is, as shown in the general flowchart of FIG. 2 showing the software configuration (configuration of the system program) of the present invention, when the power is turned on to use this apparatus, the user data memory 200 is turned on.
As a pre-process prior to the start of the use of, the physical block status flag groups F01 to F01 configuring the data management information stored in the user data memory (flash memory) 200
F0n and the contents of the block mapping information MAP0 are stored in the work memory 400 as shown in FIG.
The data is copied into the memory and stored as initial values of the latest status display physical block status flag groups F11 to F1n and as initial values of the latest status display block mapping information MAP1 (steps 201 and 202). At this time, the contents of the physical block status flag groups F01 to F0n are further copied and stored in the work memory 400, and stored as the physical block status flag groups F21 to F2n for initial state display ( Step 20
3). The provision of the physical block state flag groups F21 to F2n for displaying the initial state prevents the user data memory 200 from being consumed by directly accessing the user data memory (flash memory) 200 for checking the initial state. That's why.

【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として記憶される。
Thereafter, the present apparatus is in a state of waiting for the arrival of an access request and the arrival of a data management information update request (NO in steps 204 and 205). In this state, if any access request arrives (step 204 YES), the request type is determined (step 206), and the result of the determination is an erase request, a write request,
Depending on which of the read requests is, an erase request execution process (step 207), a write request execution process (step 208), and a read request execution process (step 20)
9) is performed. Thus, while maintaining consistency between the data in the user memory 200 and the data management information, the data management information in the work memory 400 is sequentially accessed, and the erasing process, the writing process, and
A read process will be performed. During this period, for example, when a data management information update request issued by the application program arrives (step 205 YES), FIG.
As shown in (b), the data management information (the physical block status flag groups F11 to F1n and the block mapping information MAP1) in the work memory 400 that has been successively updated up to that point indicates that the user data memory 200 has Data management information (physical block status flag group F01 to
F0n and the block mapping information MAP0) are rewritten (steps 210 and 211), whereby the actual update processing of the data management information in the user data memory 200 is completed. Thereafter, the contents of the physical block state flag groups F01 to F0n immediately after the update are copied into the work memory 400 again (step 203), and the physical block state flag group F21 for displaying a new initial state is displayed.
FF2n.

【0031】以上の図2のゼネラルフローチャートに示
される本発明の構成によれば、ワークメモリ400内の
データ管理情報に関してはデータアクセスの毎に逐次更
新されるのに対して、ユーザデータメモリ(フラッシュ
メモリ)200内のデータ管理情報に関してはデータ管
理情報更新要求に応答して間欠的にしか更新されないた
め、その分だけユーザデータメモリ200を構成するフ
ラッシュメモリに対するアクセス頻度が低下することに
より、消耗程度も軽減されて、フラッシュメモリの寿命
増大に寄与することとなる。
According to the configuration of the present invention shown in the general flowchart of FIG. 2, the data management information in the work memory 400 is sequentially updated every data access, while the user data memory (flash Since the data management information in the memory 200 is updated only intermittently in response to the data management information update request, the frequency of access to the flash memory constituting the user data memory 200 is reduced by that amount, thereby reducing the degree of consumption. Is also reduced, which contributes to an increase in the life of the flash memory.

【0032】次に、消去処理、書き込み処理、並びに、
読み出し処理を正常に行わせつつも、ユーザデータメモ
リ200内においてデータとデータ管理情報との整合性
が保持されることに着目しつつ、それぞれの処理内容を
詳細に説明する。
Next, an erasing process, a writing process, and
The details of each processing will be described in detail while paying attention to the fact that the consistency between the data and the data management information is maintained in the user data memory 200 while the reading processing is normally performed.

【0033】消去要求実行処理(ステップ207)の詳
細を図3のフローチャートを参照して説明する。同図に
おいて、処理が開始されると、ワークメモリ400内の
ブロックマッピング情報MAP1に基づいて、消去要求
で指定された論理ブロックにマッピングされた物理ブロ
ックB0kが検索される(ステップ301)。ここで、
消去要求で指定された論理ブロックにマッピングされた
物理ブロックB0kが見つからない場合には(ステップ
302NO)、所定のエラー処理が行われる。これに対
して、そのような物理ブロックB0kが見つかると(ス
テップ302YES)、次いで、ワークメモリ400内
の初期状態表示用の物理ブロック状態フラグ群F21〜
F2nを参照することにより、当該検索された物理ブロ
ックB0kの初期状態(最新のデータ管理情報更新時の
状態)における使用状況がチェックされる(ステップ3
03)。
The details of the erase request execution process (step 207) will be described with reference to the flowchart of FIG. In the figure, when the process is started, a physical block B0k mapped to the logical block specified by the erase request is searched based on the block mapping information MAP1 in the work memory 400 (step 301). here,
If the physical block B0k mapped to the logical block specified by the erasure request is not found (step 302 NO), a predetermined error process is performed. On the other hand, if such a physical block B0k is found (step 302 YES), then, the physical block status flag group F21 to F21 for displaying the initial status in the work memory 400 is displayed.
By referring to F2n, the use state of the searched physical block B0k in the initial state (state at the time of updating the latest data management information) is checked (step 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)の更新を行うことができ
る。
Here, if it is not in use, the data stored in the physical block B0k has been accumulated since the last update of the data management information and did not exist at the time of the last update of the data management information. This means that even if a power failure occurs after the data is deleted and the data management information cannot be updated, the data (B01 to B0n) and the data management information ( F01 to F0n, MAP0). Therefore, when it is determined that the physical block B0k is not in use (NO in step 304), the data of the physical block B0k is deleted (step 305), and the physical block state flag F1k for displaying the latest state corresponding to the physical block B0k is set to an invalid state. This is changed during use (step 306), and furthermore, the mapping of the physical block B0k in the block mapping information MAP1 is cut off to disable access to the physical block (step 307), and the process ends. In this way, even if a power failure occurs and the data management information cannot be updated, the data that did not exist at the time of the previous update was deleted.
In the above, there is no possibility that inconsistency occurs between the data (B01 to B0n) and the data management information (F01 to F0n, MAP0). After that, when a data management information update request arrives, the contents of the data management information (F11 to F1n, MAP1) on the work memory match the data contents (B01 to B0n) on the data storage area. Therefore, it is possible to update the data management information (F01 to F0n, MAP0) in the user data memory 200 while utilizing the result of the successive data update.

【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を新規ブロック格納用の
空き物理ブロックの候補として供することができる。
On the other hand, if it is in use, it means that the data stored in the physical block B0k already existed at the time of the previous update of the data management information. If it is impossible to update the data management information due to a power failure, there is a mismatch between the data (B01 to B0n) and the data management information (F01 to F0n, MAP0) on the user data memory 200. May occur. Therefore, when it is determined that the physical block B0k is in use (YES in step 304), the physical block state flag F1k for displaying the latest state corresponding to the physical block B0k is not used without erasing the data of the physical block B0k. Change during (step 30
6) Further, after the mapping of the physical block B0k in the block mapping information MAP1 is separated (step 307), the processing is terminated. In this way, if a power failure occurs and the data management information (F01 to F01)
0n, MAP0) cannot be updated, since the data existing at the time of the previous update is not deleted, the data (B01 to B0n) and the data management information (F01 to F0) are stored in the user data memory 200.
n, MAP0). On the other hand, although the data of the physical block B0k is stored without being erased, since the access to the physical block is performed based on the block mapping information MAP1 on the work memory 400, the data which should have been erased is erroneously read. There is no danger. After that, when a data management information update request arrives, the mapping information MAP0 relating to the physical block B0k is separated from the user data memory 200, and the physical block state flag F0k is not used. Thereafter, when a write request for a new logical block arrives, the physical block B0k can be used as a candidate for a free physical block for storing a new block, although the previous data is stored. .

【0036】次に、書き込み要求実行処理(ステップ2
08)の詳細を図4のフローチャートを参照して説明す
る。同図において、処理が開始されると、ワークメモリ
400内のブロックマッピング情報MAP1に基づい
て、書き込み要求で指定された論理ブロックにマッピン
グされた物理ブロックB0kが検索される(ステップ4
01)。ここで、そのような物理ブロックが見つかると
(ステップ402YES)、次いで、ワークメモリ40
0内の初期状態表示用の物理ブロック状態フラグ群F2
1〜F2nを参照することにより、当該検索された物理
ブロックB0kの初期状態(最新のデータ管理情報更新
時の状態)における使用状況がチェックされる(ステッ
プ403)。
Next, a write request execution process (step 2)
08) will be described in detail with reference to the flowchart of FIG. In the figure, when the processing is started, a physical block B0k mapped to the logical block specified by the write request is searched based on the block mapping information MAP1 in the work memory 400 (step 4).
01). Here, if such a physical block is found (step 402 YES), then the work memory 40
Physical block status flag group F2 for initial status display in 0
By referring to 1 to F2n, the use state of the searched physical block B0k in the initial state (state at the time of updating the latest data management information) is checked (step 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)の更新を行うことができる。
Here, if it is not in use, it means that the data stored in the physical block B0k did not exist at the time of the last update of the data management information. Even if a power failure occurs and the data management information (F01 to F0n, MAP0) cannot be updated, the data (B01 to B0n) and the data management information (F0) remain on the user data memory 200.
01 to F0n, MAP0). Therefore, when it is determined that the physical block B0k is not being used (NO in Step 404), the data of the physical block B0k is overwritten with new data (Step 40).
5) The physical block status flag F1k for displaying the latest status corresponding to the physical block B0k is changed to “in use” (step 406), and the process ends. In this case, if a power failure occurs and the data management information (F01 to F0)
Even if the update of (n, MAP0) becomes impossible, the data that did not exist at the time of the previous update was overwritten and erased, so the data (B01 to B0n) and the data management information ( F01-
F0n, MAP0).
On the other hand, when a data management information update request arrives thereafter, the data management information (F11 to F1
n, MAP1) matches the data contents (B01 to B0n) in the data storage area, so that the data management information (F01) in the user data memory 200 can be utilized while utilizing the results of the data successively updated up to that time. ~ F0
n, MAP0) can be updated.

【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を新規ブロック格納用の空き物理ブロ
ックの候補として供することができる。
On the other hand, if it is being used, it means that the data stored in the physical block B0k already existed at the time of the previous update of the data management information. If a power failure occurs and the data management information cannot be updated, the data (B01 to B0) are stored in the user data memory 200.
n) and data management information (F01 to F0n, MAP0) may be inconsistent. Therefore, if it is determined that the physical block B0k is in use (YES in step 404), the data of the physical block B0k is not overwritten and erased.
First, the physical block state flag F1k for displaying the latest state corresponding to the physical block B0k is changed to “not in use” (step 407), and furthermore, the mapping of the physical block B0k in the block mapping information MAP1 is separated to be performed. Is disabled (step 408). Next, by referring to the contents of the physical block status flag groups F11 to F1n for displaying the latest status and the physical block status flag groups F21 to F2n for displaying the initial status, the physical block status flags are currently unused and are not used even in the initial status. The physical block in the state is searched as a free physical block B0j (step 409),
The block mapping information MAP1 is updated by mapping the logical block related to the write request to the free physical block B0j (step 410), and then data is written to the free physical block B0j (step 411). ), The corresponding physical block status flag F1j in the latest status display physical block status flag group F10 to F1n is changed to “in use” (step 4).
12), end the process. In this way, even if a power failure occurs and the data management information cannot be updated, the data (B01) on the user data memory 200 is not deleted because the data existing at the time of the previous update is not deleted. -B0n) and data management information (F01-
F0n, MAP0).
On the other hand, although the data of the physical block B0k is stored without being erased, the access to the physical blocks B01 to B0n is performed based on the block mapping information MAP1 on the work memory 400. Of the logical block that should have been originally written in the physical block B0k can be normally read from the newly mapped physical block B0j. still,
Thereafter, when a data management information update request arrives,
Also in the block mapping information MAP0 on the user data memory 200, the mapping separation for the physical block B0k and the new mapping for the physical block B0j are performed, and the physical block state flag F0k is not used. When a write request for a new logical block arrives, the physical block B0k can be used as a candidate for a free physical block for storing a new block although the previous data is stored.

【0039】なお、書き込み要求で指定される論理ブロ
ックに対応する物理ブロックが見つからない場合には
(ステップ402NO)、新規な論理ブロックに関する
書き込み要求であると認識し、この場合には、最新状態
表示用の物理ブロック状態フラグ群F11〜F1n並び
に初期状態表示用の物理ブロック状態フラグ群F21〜
F2nの内容を参照することにより、現在不使用状態に
ありかつ初期状態においても不使用状態であった物理ブ
ロックを空き物理ブロックB0jとして検索し(ステッ
プ413)、当該書き込み要求にかかる論理ブロックを
この空き物理ブロックB0jにマッピングするようにし
てブロックマッピング情報MAP1を更新し(ステップ
414)、続いて、この空き物理ブロックB0jに対し
てデータの書き込みを行い(ステップ405)、最新状
態表示用物理ブロック状態フラグ群F10〜F1n中の
該当物理ブロック状態フラグF1jを使用中に変更して
(ステップ406)、処理を終了する。
If the physical block corresponding to the logical block specified by the write request is not found (step 402 NO), it is recognized as a write request for a new logical block, and in this case, the latest state display Physical block status flag groups F11 to F1n and physical block status flag groups F21 to F21 for initial status display
By referring to the contents of F2n, a physical block that is currently in an unused state and is also in an unused state in the initial state is searched as a free physical block B0j (step 413), and the logical block associated with the write request is searched for in this state. The block mapping information MAP1 is updated so as to map to the free physical block B0j (step 414), and then data is written to the free physical block B0j (step 405), and the latest state display physical block state The corresponding physical block status flag F1j in the flag groups F10 to F1n is changed to “in use” (step 406), and the process ends.

【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からデ
ータが誤って読み出されることはない。
Next, a read request execution process (step 2)
09) will be briefly described with reference to the flowchart in FIG. In the figure, when the processing is started, a physical block B0k mapped to the logical block specified by the read request is searched based on the block mapping information MAP1 on the work memory 400 (step 501). Here, if the physical block B0k mapped to the logical block specified by the read request is not found (step 502 NO), a predetermined error process is performed. On the other hand, when such a physical block B0k is found (step 502 YES), data is read from the physical block B0k (step 503). Thus, the physical block group B01
-B0n are all read from the work memory 4
Since the process is performed based on the contents of the block mapping information MAP1 on the E.00, the erase request execution process (step 207) and the write request execution process (step 20) described above.
8) Even if the physical block B0k is left without being erased or overwritten and erased as long as the mapping is canceled in the block mapping information MAP1 on the work memory 400, data from such a physical block B0k is incorrect. Will not be read.

【0041】なお、以上説明した本発明では、先に説明
した消去要求実行処理(ステップ207)や書き込み要
求実行処理(ステップ208)等で消去若しくは上書き
消去されずに残された使用不能の物理ブロックB0kの
存在により、実際に使用可能な物理ブロック数が幾分減
少するが、現行の製品によればこの種のフラッシュメモ
リの容量は1M〜2Mバイトもあるのに対して、この種
の小型携帯用電子機器にて取り扱われるユーザデータ量
は一般にそれに比べて十分に小さいことに加え、それら
使用不能な物理ブロックについてもデータ管理情報の更
新の毎に再び使用可能状態に回復するため、データ管理
情報の更新周期を適切に設計する限り、実用上は問題が
ないと考えられる。
In the present invention described above, the unusable physical blocks left without being erased or overwritten by the erase request execution processing (step 207) and the write request execution processing (step 208) described above are used. Although the number of physical blocks that can actually be used is somewhat reduced due to the presence of B0k, the capacity of this type of flash memory is as large as 1 to 2 Mbytes according to current products, whereas this type of small-sized In general, the amount of user data handled by the electronic device is sufficiently smaller than that, and the unusable physical blocks are restored to a usable state each time the data management information is updated. It is considered that there is no problem in practical use as long as the update period is appropriately designed.

【0042】[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が設定されている。
FIG. 7 to FIG. 9 show a preferred embodiment of the present invention.
This will be described with reference to FIG. In this embodiment, five physical blocks B01 to B01 are stored in the user data memory 200.
05 is set, and the memory 200
Contains five physical block status flags F01 to F05.
In addition, block mapping information MAP0 that can be mapped to five physical blocks is set. In the work memory 400, five physical block status flags F11 to F15 for displaying the latest status and block mapping information MAP1 that can be mapped to the five physical blocks are set. Further, the work memory 40
In 0, five physical block state flags F21 to F25 for displaying an initial state (a state at the time of turning on the power or updating the previous data management information) are set.

【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については、いずれの論理ブロックにも結合され
ないようにしてマッピングが解除されている。
As commonly shown in FIGS. 7 to 9, in the initial state of this embodiment, three physical blocks B01, B02, and B04 are in use (shown by oblique lines in the drawings). It is assumed that two physical blocks B03 and B05 are not used (indicated by white outlines in the figure). Logical blocks B11, B12, and B13 are mapped to the physical blocks B01, B02, and B04, respectively.
Correspondingly, in the block mapping information MAP0, physical block B01 and logical block B11, physical block B02 and logical block B12, physical block B
01 and the logical block B11 are mapped. On the other hand, physical block B03,
For B05, the mapping is released so as not to be linked to any logical block.

【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について
も、完全に一致している。
Preprocessing (Steps 201, 202, 20)
The state immediately after 3) is shown in FIG. As shown in the figure, immediately after the preprocessing, the user data memory 20
Of course, the contents of the physical blocks B01 to B05 in 0 completely coincide with the contents of the data management information (F01 to F05, MAP0). Also, the user data memory 20
0 and the contents of the block mapping information MAP1 in the work memory 400 completely match. Further, the physical block status flags F01 to F01 to
F05 and the physical block status flags F11 to F15 for displaying the latest status in the work memory 400 and the physical block status flags F21 to F25 for displaying the initial status are completely the same.

【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は空の状態と同等に取り扱わ
れ、任意のデータの上書きが許容される。
FIG. 8 shows a state immediately after the erasure request execution processing (step 207). It is now assumed that an erasure request for the logical block B12 has arrived following the preprocessing. At this time, referring to the latest state display block mapping information MAP1 in FIG.
Is mapped to the physical block B02 (see the arrow A in FIG. 7). Referring to the physical block state flag F22 for displaying the initial state in FIG. 7, it can be seen that the physical block B02 was in use in the initial state (see the position of arrow B in FIG. 7). In this case, the logical block B12 stored in the physical block B02 is not erased (see the arrow A in FIG. 8). Further, the physical block status flag F12 for displaying the latest status is changed to “not in use” (see the position of arrow B in FIG. 8). Further, in the block mapping information MAP1 for displaying the latest state, the physical block B
02 and the logical block B12 are released (see the arrow C in FIG. 8). Therefore, despite the arrival of the erasure request, the data (B01 to B05) in the user data memory 200 and the data management information (F01 to
F05, MAP0), the power failure occurs, and the storage information (F11 to F15,
Even if F21 to F25, MAP1) disappear, access to the user data memory 200 (erasing, writing, reading) will not be hindered. On the other hand, even if a read request for the logical block B12 arrives to read the data that should have been erased by mistake, the mapping for the logical block B12 in the block mapping information MAP1 for displaying the latest state has already been released. It is not determined that an error has occurred, and the contents of the logical block B12 stored in the physical block B02 are not erroneously read. When the data management information update request arrives, the physical block status flag group F0 in the user data memory 200 is stored in the physical block status flag groups F11 to F15 for displaying the latest status and the contents of the block mapping information MAP1.
1 to F05 and the contents of the block mapping information MAP0 are rewritten. Then, the contents of the physical block state flag groups F21 to F25 for displaying the initial state are changed to the physical block state flag groups F01 to F0 of the user data memory 200.
After being updated with the content of No. 5, the data stored in the physical block B02 (the logical block B12) is changed by changing the content of the physical block status flag F22 for displaying the initial status to unused. Is no longer valid, the physical block B02 is treated as if it were empty, and overwriting of arbitrary data is allowed.

【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は空の状態と同等に取り扱われ、任意のデータの
上書きが許容されることとなる。
Write request execution processing (step 208)
FIG. 9 shows the state immediately after. Now, temporarily, following the pre-processing,
It is assumed that a write request for the logical block B12 has arrived. At this time, referring to the latest state display block mapping information MAP1 in FIG. 7, it can be seen that the logical block B12 is mapped to the physical block B02 (see the arrow A in FIG. 7). Referring to the physical block state flag F22 for displaying the initial state in FIG. 7, it can be seen that the physical block B02 was in use in the initial state (see the position of arrow B in FIG. 7). In this case, the logical block B12 stored in the physical block B02
Is not overwritten (see arrow A in FIG. 9).
Also, the physical block status flag F12 for displaying the latest status
Is changed during non-use (see the arrow B in FIG. 9). Furthermore, block mapping information MAP1 for displaying the latest state
Then, the mapping between the physical block B02 and the logical block B12 is released (see the arrow C in FIG. 9). In addition, the latest status display physical block status flag group F11
To F15 and the physical block state flag groups F21 to F25 for displaying the initial state, the physical block B03 is obtained as the physical block which is in the unused state in the latest state and was also in the unused state in the initial state. Then, the data corresponding to the logical block B12 is written to the obtained free physical block B03 (see the position of arrow D in FIG. 9). Accordingly, the content of the latest status display physical block status flag F13 is changed to “in use”, and at the same time, in the latest status display block mapping information MAP1, a block is set to connect the physical block B03 and the logical block B12. The mapping is established (see the arrow F in FIG. 9). Therefore, despite the overwrite request for the physical block B02, the data (B01 to B05) in the user data memory 200 and the data management information (F01 to F01)
05, MAP0) is maintained. for that reason,
When a power failure occurs, the information stored in the work memory 400 (F11
~ F15, F21 to F25, MAP1) disappear,
Access to the user data memory 200 (erasing, writing, reading) does not hinder. On the other hand, the logical block B1
2, the logical block B1 of the latest state display block mapping information MAP1
2 is mapped to physical block B03,
The latest contents of the logical block B12 stored in the physical block B03 are normally read, and the contents of the logical block B12 stored in the physical block B02 which should have been overwritten and erased are not erroneously read. When a data management information update request arrives, the user data memory 200 is updated with the contents of the latest state display physical block state flags F11 to F15 and the block mapping information MAP1.
The contents of the physical block status flag groups F01 to F05 and the block mapping information MAP0 are rewritten,
Then, the physical block status flag group F for displaying the initial status is displayed.
After the contents of 21 to F25 are updated with the contents of the physical block state flag groups F01 to F05 of the user data memory 200, the contents of the physical block state flags F22 for displaying the initial state are changed to unused. As a result, the data (logical block B12) stored in the physical block B02 is no longer determined to be invalid, the physical block B02 is treated as if it were empty, and overwriting of arbitrary data is permitted. .

【0047】[0047]

【発明の効果】以上の説明から明らかなように、本発明
によれば、記憶素子の性質からアクセス回数に制限のあ
る不揮発性メモリを、その規定アクセス回数の元で最大
限に活用することができ、しかも電源電圧の低下や停電
が発生しても、その後に当該不揮発性メモリから読み出
されるデータの信頼性を損ねることがない。
As is apparent from the above description, according to the present invention, a non-volatile memory having a limited number of accesses due to the nature of the storage element can be used to the maximum extent under the prescribed number of accesses. In addition, even if the power supply voltage decreases or a power failure occurs, the reliability of data read from the nonvolatile memory thereafter is not impaired.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明が適用された小型携帯用電子機器のハー
ドウェア構成を概略的に示すブロック図である。
FIG. 1 is a block diagram schematically showing a hardware configuration of a small portable electronic device to which the present invention is applied.

【図2】本発明が適用された小型携帯用電子機器のソフ
トウェア構成を示すゼネラルフローチャートである。
FIG. 2 is a general flowchart showing a software configuration of a small portable electronic device to which the present invention is applied.

【図3】同ゼネラルフローチャートにおける消去要求実
行処理の詳細を示すフローチャートである。
FIG. 3 is a flowchart showing details of an erasure request execution process in the general flowchart.

【図4】同ゼネラルフローチャートにおける書き込み要
求実行処理の詳細を示すフローチャートである。
FIG. 4 is a flowchart showing details of a write request execution process in the general flowchart.

【図5】同ゼネラルフローチャートにおける読み出し要
求実行処理の詳細を示すフローチャートである。
FIG. 5 is a flowchart showing details of a read request execution process in the general flowchart.

【図6】前処理並びにデータ管理情報更新処理の実行に
伴うデータの流れを説明するためのメモリマップであ
る。
FIG. 6 is a memory map for explaining a data flow accompanying execution of preprocessing and data management information updating processing.

【図7】前処理実行直後におけるワークメモリ並びにユ
ーザデータメモリの内容を示すメモリマップである。
FIG. 7 is a memory map showing contents of a work memory and a user data memory immediately after execution of preprocessing.

【図8】消去要求実行直後におけるワークメモリ並びに
ユーザデータメモリの内容を示すメモリマップである。
FIG. 8 is a memory map showing contents of a work memory and a user data memory immediately after execution of an erase request.

【図9】書き込み要求実行直後におけるワークメモリ並
びにユーザデータメモリの内容を示すメモリマップであ
る。
FIG. 9 is a memory map showing contents of a work memory and a user data memory immediately after execution of a write request.

【符号の説明】[Explanation of symbols]

100 マンマシンインタフェース 200 ユーザデータメモリ 300 システムプログラムメモリ 400 ワークメモリ 500 CPU 600 システムバス Reference Signs List 100 Man-machine interface 200 User data memory 300 System program memory 400 Work memory 500 CPU 600 System bus

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 記憶素子の性質からアクセス回数に制限
のある不揮発性メモリに対するメモリアクセスを制御す
るための方法であって、 前記不揮発性メモリの使用開始に先立ち、前記不揮発性
メモリ内に記憶されたデータ管理情報を、アクセス回数
に実用上制限のない揮発性メモリ上に複写して最新状態
表示用のデータ管理情報とし、さらに、前記データ管理
情報を構成する物理ブロック状態フラグ群とブロックマ
ッピング情報とのうちで、物理ブロック状態フラグ群を
前記揮発性メモリ上に別に一組複写保存して初期状態表
示用の物理ブロック状態フラグ群とする前処理ステップ
と、 与えられたメモリアクセス要求が消去要求若しくは書き
込み要求のいずれかであることを判定するアクセス要求
種別判定ステップと、 前記記憶されたブロックマッピング情報に基づいて、前
記メモリアクセス要求で指定された論理ブロックにマッ
ピングされた物理ブロックを求めるアクセス対象物理ブ
ロック検索ステップと、 前記保存された初期状態表示用の物理ブロック状態フラ
グ群を参照して、前記検索されたアクセス対象物理ブロ
ックが使用中であることを判定するブロック使用状態判
定ステップと、 前記初期状態保存用の物理ブロック状態フラグ群と前記
最新状態表示用の物理ブロック状態フラグ群とを参照し
て、初期状態において空き状態にありかつ最新状態にお
いても空き状態である物理ブロックを検索する空き物理
ブロック検索ステップと、 前記要求種別判定ステップによりメモリアクセス要求が
消去要求であると判定されかつ前記アクセス対象物理ブ
ロック検索ステップにより検索されたアクセス対象物理
ブロックが前記ブロック使用状態判定ステップにより使
用中と判定されたときには、当該アクセス対象物理ブロ
ックの最新状態表示用物理ブロック状態フラグを不使用
中に変更し、前記不揮発性メモリの当該アクセス対象物
理ブロックに対する消去処理を回避し、かつ前記ブロッ
クマッピング情報において当該アクセス対象物理ブロッ
クに関するブロックマッピングを切り離す消去要求実行
ステップと、 前記要求種別判定ステップによりアクセス要求が書き込
み要求であると判定されかつ前記アクセス対象物理ブロ
ック検索ステップにより検索されたアクセス対象物理ブ
ロックが前記ブロック使用状態判定ステップにより使用
中と判定されたときには、当該アクセス対象物理ブロッ
クの最新状態表示用物理ブロック状態フラグを不使用中
に変更し、前記不揮発性メモリ内の当該アクセス対象物
理ブロックに対する書き込み処理を回避し、その代わり
に、当該書き込み要求にかかるデータを前記不揮発性メ
モリ内の前記空き物理ブロック検索ステップにて検索さ
れた空き物理ブロックに書き込み、かつ前記ブロックマ
ッピング情報において当該アクセス対象物理ブロックに
関するブロックマッピングを切り離し新たにブロックマ
ッピングを張り直す書き込み要求実行ステップと、 所定のデータ管理情報更新要求が到来するのに応答し
て、前記揮発性メモリに記憶された最新状態表示用のデ
ータ管理情報の内容にて前記不揮発性メモリ内のデータ
管理情報の内容を更新するデータ管理情報更新ステップ
と、 を具備することを特徴とするメモリアクセス制御方法。
1. A method for controlling memory access to a non-volatile memory having a limited number of accesses due to the nature of a storage element, the method comprising: storing data in the non-volatile memory prior to starting use of the non-volatile memory; The data management information is copied to a volatile memory having practically no limit on the number of accesses to obtain data management information for displaying the latest status, and further, a physical block status flag group and block mapping information constituting the data management information A preprocessing step of separately copying and storing a set of physical block status flags on the volatile memory to make a set of physical block status flags for initial status display; and Or an access request type determining step of determining whether the request is a write request, An access target physical block searching step for obtaining a physical block mapped to the logical block specified in the memory access request based on the mapping information, and referring to the stored physical block state flag group for initial state display. A block use state determination step of determining that the searched access target physical block is in use; a physical block state flag group for storing the initial state and a physical block state flag group for displaying the latest state. Referring to, an empty physical block search step for searching for a physical block that is empty in the initial state and also empty in the latest state, and the memory access request is determined to be an erase request by the request type determination step. And the access target physical block search step When the searched physical block to be accessed is determined to be in use by the block use state determination step, the latest state display physical block state flag of the physical block to be accessed is changed to non-use, and the non-volatile memory of the nonvolatile memory is changed. An erasure request execution step of avoiding erasure processing on the access target physical block and separating block mapping of the access target physical block in the block mapping information; and the request type determination step determines that the access request is a write request. When the access target physical block searched in the access target physical block search step is determined to be in use by the block use state determination step, the latest state display physical block of the access target physical block is determined. The status flag is changed to “not in use” to avoid a write process for the physical block to be accessed in the nonvolatile memory. Instead, the data related to the write request is searched for the free physical block in the nonvolatile memory. A write request execution step of writing to the free physical block found in the step and separating the block mapping relating to the access target physical block in the block mapping information and rebuilding a new block mapping; and a predetermined data management information update request arrives A data management information updating step of updating the content of the data management information in the nonvolatile memory with the content of the data management information for displaying the latest state stored in the volatile memory in response to the Memory access control method characterized by Law.
【請求項2】 記憶素子の性質からアクセス回数に制限
のある不揮発性メモリに対するメモリアクセスを制御す
るための装置であって、 前記不揮発性メモリの使用開始に先立ち、前記不揮発性
メモリ内に記憶されたデータ管理情報を、アクセス回数
に実用上制限のない揮発性メモリ上に複写して最新状態
表示用のデータ管理情報とし、さらに、前記データ管理
情報を構成する物理ブロック状態フラグ群とブロックマ
ッピング情報とのうちで、物理ブロック状態フラグ群を
前記揮発性メモリ上に別に一組複写保存して初期状態表
示用の物理ブロック状態フラグ群とする前処理手段と、 与えられたメモリアクセス要求が消去要求若しくは書き
込み要求のいずれかであることを判定するアクセス要求
種別判定手段と、 前記記憶されたブロックマッピング情報に基づいて、前
記メモリアクセス要求で指定された論理ブロックにマッ
ピングされた物理ブロックを求めるアクセス対象物理ブ
ロック検索手段と、 前記保存された初期状態表示用の物理ブロック状態フラ
グ群を参照して、前記検索されたアクセス対象物理ブロ
ックが使用中であることを判定するブロック使用状態判
定手段と、 前記初期状態表示用の物理ブロック状態フラグ群と前記
最新状態表示用の物理ブロック状態フラグ群とを参照し
て、初期状態において空き状態にありかつ最新状態にお
いても空き状態である物理ブロックを検索する空き物理
ブロック検索手段と、 前記要求種別判定手段によりメモリアクセス要求が消去
要求であると判定されかつ前記アクセス対象物理ブロッ
ク検索手段により検索されたアクセス対象物理ブロック
が前記ブロック使用状態判定手段により使用中と判定さ
れたときには、当該アクセス対象物理ブロックの最新状
態表示用物理ブロック状態フラグを不使用中に変更し、
前記不揮発性メモリの当該アクセス対象物理ブロックに
対する消去処理を回避し、かつ前記ブロックマッピング
情報において当該アクセス対象物理ブロックに関するブ
ロックマッピングを切り離す消去要求実行手段と、 前記要求種別判定手段によりアクセス要求が書き込み要
求であると判定されかつ前記アクセス対象物理ブロック
検索手段により検索されたアクセス対象物理ブロックが
前記ブロック使用状態判定手段により使用中と判定され
たときには、当該アクセス対象物理ブロックの最新状態
表示用物理ブロック状態フラグを不使用中に変更し、前
記不揮発性メモリ内の当該アクセス対象物理ブロックに
対する書き込み処理を回避し、その代わりに、当該書き
込み要求にかかるデータを前記不揮発性メモリ内の前記
空き物理ブロック検索手段にて検索された空き物理ブロ
ックに書き込み、かつ前記ブロックマッピング情報にお
いて当該アクセス対象物理ブロックに関するブロックマ
ッピングを切り離し新たにブロックマッピングを張り直
す書き込み要求実行手段と、 所定のデータ管理情報更新要求が到来するのに応答し
て、前記揮発性メモリに記憶された最新状態表示用のデ
ータ管理情報の内容にて前記不揮発性メモリ内のデータ
管理情報の内容を更新するデータ管理情報更新手段と、 を具備することを特徴とするメモリアクセス制御装置。
2. An apparatus for controlling memory access to a non-volatile memory whose number of accesses is limited due to the nature of a storage element, wherein the device is stored in the non-volatile memory prior to starting use of the non-volatile memory. The data management information is copied to a volatile memory having practically no limit on the number of accesses to obtain data management information for displaying the latest status, and further, a physical block status flag group and block mapping information constituting the data management information A preprocessing means for separately storing a set of physical block status flags on the volatile memory to obtain a set of physical block status flags for displaying an initial status; and Access request type determining means for determining whether the request is a write request or a write request; Access target physical block searching means for obtaining a physical block mapped to the logical block specified in the memory access request based on the switching information, and referring to the stored physical block status flag group for displaying the initial status. A block use state determining unit that determines that the searched access target physical block is in use; and a physical block state flag group for initial state display and a physical block state flag group for latest state display. Referencing, a free physical block search means for searching for a physical block that is free in the initial state and free even in the latest state, and the request type determination means determines that the memory access request is an erase request, and The access target physical block searched by the access target physical block search unit. Tsu when the click is determined to be in use by the block use state determining means changes the physical block status flag for the latest status of the access target physical block in the non-use,
An erasing request execution unit that avoids an erasing process for the physical block to be accessed in the nonvolatile memory and separates a block mapping related to the physical block to be accessed in the block mapping information; When the access target physical block searched by the access target physical block search unit is determined to be in use by the block use state determination unit, the latest state display physical block state of the access target physical block is determined. The flag is changed to unused so as to avoid the writing process for the physical block to be accessed in the nonvolatile memory, and instead, the data relating to the write request is searched for the free physical block in the nonvolatile memory. A write request execution means for writing to the free physical block searched by the means and for separating the block mapping relating to the physical block to be accessed in the block mapping information and rebuilding a new block mapping; and a predetermined data management information update request arrives Data management information updating means for updating the content of the data management information in the nonvolatile memory with the content of the data management information for displaying the latest state stored in the volatile memory in response to the A memory access control device.
JP13104496A 1996-04-25 1996-04-25 Memory access control method and device Expired - Fee Related JP3313576B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13104496A JP3313576B2 (en) 1996-04-25 1996-04-25 Memory access control method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13104496A JP3313576B2 (en) 1996-04-25 1996-04-25 Memory access control method and device

Publications (2)

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

Family

ID=15048709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13104496A Expired - Fee Related JP3313576B2 (en) 1996-04-25 1996-04-25 Memory access control method and device

Country Status (1)

Country Link
JP (1) JP3313576B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100809320B1 (en) 2006-09-27 2008-03-05 삼성전자주식회사 Apparatus and method for managing mapping information of non-volatile memory supporting separated cell type
KR100843543B1 (en) * 2006-10-25 2008-07-04 삼성전자주식회사 System comprising flash memory device and data recovery method thereof
US11257543B2 (en) * 2019-06-25 2022-02-22 Stmicroelectronics International N.V. Memory management device, system and method
CN114217744A (en) * 2021-12-14 2022-03-22 山东产研鲲云人工智能研究院有限公司 EFUSE storage content distribution method and device using shadow register

Also Published As

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

Similar Documents

Publication Publication Date Title
US5682497A (en) Managing file structures for a flash memory file system in a computer
KR100843543B1 (en) System comprising flash memory device and data recovery method thereof
USRE45222E1 (en) Method of writing of writing to a flash memory including data blocks and log blocks, using a logical address having a block address portion and page identifying portion, a block address table and a page table
US8041884B2 (en) Controller for non-volatile memories and methods of operating the memory controller
JP3485938B2 (en) Nonvolatile semiconductor memory device
JP3544610B2 (en) Memory device
US7925821B2 (en) Nonvolatile semiconductor storage device and method of managing the same
JPH117505A (en) Card type storage medium
JPH06274409A (en) Batch erasure-type nonvolatile memory
JP4046877B2 (en) Batch erase nonvolatile memory and mobile phone
JPH07146820A (en) Control method for flash memory and information processor using the same
JP2005242897A (en) Flash disk drive
JPH11126488A (en) Method and device for storing and controlling data of external memory using plural flash memories
KR20090117926A (en) Memory system
EP3627328A1 (en) Storage device and operating method of storage device
JP2008077221A (en) Vehicular control device
JP2004303238A (en) Flash memory access device and method
JP3544476B2 (en) Creating a memory management table
JP5183662B2 (en) Memory control device and memory control method
US11960748B2 (en) SSD supporting read-only mode after PLP backup failure
JP3313576B2 (en) Memory access control method and device
JPH11328982A (en) Data management system for flash memory
JP2002278850A (en) Semiconductor device
JPH11272569A (en) Data restoration system for outer storage device using flash memory
JPH113287A (en) Storage device and storage area management method used for the device

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