JPH08101788A - Method and device for memory operation management - Google Patents

Method and device for memory operation management

Info

Publication number
JPH08101788A
JPH08101788A JP26175694A JP26175694A JPH08101788A JP H08101788 A JPH08101788 A JP H08101788A JP 26175694 A JP26175694 A JP 26175694A JP 26175694 A JP26175694 A JP 26175694A JP H08101788 A JPH08101788 A JP H08101788A
Authority
JP
Japan
Prior art keywords
erase operation
memory
data
flash memory
erase
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP26175694A
Other languages
Japanese (ja)
Inventor
Hirotsugu Kobayashi
洋次 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP26175694A priority Critical patent/JPH08101788A/en
Publication of JPH08101788A publication Critical patent/JPH08101788A/en
Pending legal-status Critical Current

Links

Landscapes

  • Read Only Memory (AREA)

Abstract

PURPOSE: To provide the method and device for memory operation management which manage the erase operation in a flash memory to shorten the end time of the erase operation. CONSTITUTION: A CPU 2 executes various program processings corresponding to various application programs and executes a flash memory write request processing program for the purpose of outputting a data write request command to a flash memory driver 3 at need in the middle of execution of various program processings and makes the flash memory driver 3 start the erase operation of the flash memory 4 and returns the processing right to a higher-order application program by issue of an erase command to advance the higher-order application program processing to the next step.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、フラッシュメモリの消
去動作の高速化を図るメモリ動作管理方法及びメモリ動
作管理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory operation management method and a memory operation management device for speeding up an erase operation of a flash memory.

【0002】[0002]

【従来の技術】従来、主記憶装置の補助記憶装置として
ハードディスク装置等のディスクシステムが一般に使用
されているが、アクセスする際の動作時間がかかるた
め、より高速に動作する補助記憶装置に対する要求が高
まっている。この要求に対応するため、DRAM(Dyna
mic Random Accesss Memory )、SRAM(Static Ra
n-dom Accesss Memory)やフラッシュメモリ等の半導体
メモリを利用した半導体ディスク装置が実用化されてい
る。
2. Description of the Related Art Conventionally, a disk system such as a hard disk device has been generally used as an auxiliary storage device of a main storage device. However, since it takes a long operation time to access, there is a demand for an auxiliary storage device that operates at a higher speed. It is rising. To meet this demand, DRAM (Dyna
mic Random Accesses Memory), SRAM (Static Ra
A semiconductor disk device using a semiconductor memory such as an n-dom access memory or a flash memory has been put into practical use.

【0003】特に、フラッシュメモリは、DRAMのよ
うにデータ保持のためのバッテリーバックアップが不要
で、かつDRAMより高集積化が可能であるため、大容
量を実現でき、ハードディスクやフロッピーディスク等
の代替も可能である。
In particular, a flash memory does not require a battery backup for holding data like a DRAM and can be highly integrated as compared with a DRAM, so that a large capacity can be realized and a hard disk or a floppy disk can be replaced. It is possible.

【0004】このフラッシュメモリへのデータ書込み要
求が発生した場合は、空き領域(データが書込まれてい
ない領域)があれば、所定のブロック単位で直ちに書込
み動作を実行することができるが、既にデータが書込ま
れていて上書きする場合は、一旦データが書込まれてい
る領域をブロック単位で消去動作を行った後、書込み動
作が行われる。
When a data write request to this flash memory occurs, if there is a free area (area in which data is not written), the write operation can be executed immediately in a predetermined block unit. When data has been written and is to be overwritten, the area where the data has been written is once erased in block units, and then the write operation is performed.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、このよ
うな従来の半導体ディスク装置としてのフラッシュメモ
リにあっては、データ書込み要求が発生して、既にデー
タが書込まれていて上書きする場合は、一旦データが書
込まれている領域をブロック単位で消去動作を行った
後、書込み動作が行われるようになっていたため、デー
タを消去する領域が大きい場合は、消去を終了するまで
に時間がかかり、データ書込み要求を発生した上位のプ
ログラム処理の中断時間を長引かせて、上位プログラム
の処理速度を低下させるという問題点があった。
However, in such a conventional flash memory as a semiconductor disk device, when a data write request occurs and data has already been written and is overwritten, Since the write operation was performed after performing the erase operation on the area where data was written in block units, if the area to erase data is large, it takes time to complete the erase operation. There is a problem in that the interruption time of the upper program processing that has generated the data write request is prolonged and the processing speed of the upper program is reduced.

【0006】本発明の課題は、フラッシュメモリにおけ
る消去動作を管理して消去動作の終了時間を短縮させる
メモリ動作管理方法及びメモリ動作管理装置を提供する
ことである。
An object of the present invention is to provide a memory operation management method and a memory operation management device for managing the erase operation in a flash memory and shortening the end time of the erase operation.

【0007】[0007]

【課題を解決するための手段】請求項1記載の発明は、
データ書込み要求に対して所定の記憶領域単位の消去動
作を必要とするメモリにおける消去動作の進行状態を管
理するメモリ動作管理方法において、前記記憶領域毎に
データの展開状態を管理するデータ管理情報を設定し、
上位のプログラム処理によりデータ書込み要求が発生す
ると、前記データ管理情報を参照して消去動作を必要と
する前記記憶領域を決定して消去動作を開始させ、当該
消去動作の開始とともに前記上位のプログラム処理に処
理権限を戻すとともに、前記消去動作を並行して実行さ
せ、当該情報の発行後は、前記消去動作の進行状態を定
期的に監視して消去動作管理情報を設定及び更新して、
前記メモリにおける消去動作の進行状態を管理するよう
にしたことを特徴としている。
According to the first aspect of the present invention,
In a memory operation management method for managing a progress state of an erase operation in a memory that requires an erase operation in units of a predetermined storage area in response to a data write request, data management information for managing a data expansion state for each storage area is provided. Set,
When a data write request is generated by the upper program processing, the data management information is referred to, the storage area that requires the erase operation is determined and the erase operation is started, and when the erase operation is started, the upper program processing is performed. The processing authority is returned to, the erase operation is executed in parallel, and after the information is issued, the progress status of the erase operation is regularly monitored to set and update the erase operation management information.
It is characterized in that the progress state of the erase operation in the memory is managed.

【0008】請求項2記載の発明は、データ書込み要求
に対して所定の記憶領域単位の消去動作を必要とするメ
モリにおける消去動作の進行状態を管理するメモリ動作
管理方法において、前記記憶領域毎にデータの展開状態
を管理するデータ管理情報を設定し、上位のプログラム
処理によりデータ書込み要求が発生すると、前記データ
管理情報を参照して消去動作を必要とする前記記憶領域
を決定して消去動作を開始させ、当該消去動作の開始と
ともに前記上位のプログラム処理に処理権限を戻すとと
もに、前記消去動作を並行して実行させ、前記上位のプ
ログラム処理の割り込み処理として前記消去動作開始後
の動作状態を定期的に監視させて消去動作管理情報を設
定及び更新し、前記メモリにおける消去動作の進行状態
を管理することを特徴としている。
According to a second aspect of the present invention, there is provided a memory operation management method for managing a progress state of an erase operation in a memory which requires an erase operation in units of a predetermined storage area in response to a data write request. When the data management information that manages the data expansion state is set and a data write request is generated by a higher-order program process, the data management information is referenced to determine the storage area that requires the erase operation, and the erase operation is performed. When the erase operation is started, the processing authority is returned to the upper program processing at the same time as the start of the erase operation, the erase operation is executed in parallel, and the operation state after the start of the erase operation is periodically performed as an interrupt process of the upper program processing. To monitor and set the update operation management information and manage the progress of the erase operation in the memory. It is a symptom.

【0009】請求項3記載の発明は、データ書込み要求
に対して所定の記憶領域単位の消去動作を必要とするメ
モリにおける消去動作の進行状態を管理するメモリ動作
管理装置において、前記記憶領域毎にデータの展開状態
を管理するデータ管理情報を格納するデータ管理情報記
憶手段と、前記消去動作を管理する消去動作管理情報を
格納する動作管理情報記憶手段と、上位のプログラム処
理によりデータ書込み要求が発生すると、前記データ管
理情報を参照して消去動作を必要とする前記記憶領域を
決定して消去動作を開始させるとともに、当該上位のプ
ログラム処理に処理権限を戻して、消去動作を並行して
実行させ、前記消去動作開始後の動作状態を定期的に監
視して前記動作管理情報記憶手段に消去動作管理情報を
設定及び更新するメモリ動作管理手段と、を具備したこ
とを特徴としている。
According to a third aspect of the present invention, in a memory operation management device for managing a progress state of an erase operation in a memory that requires an erase operation in units of a predetermined storage area in response to a data write request, each memory area is managed. A data management information storage unit that stores data management information that manages a data expansion state, an operation management information storage unit that stores the erase operation management information that manages the erase operation, and a data write request by a higher-order program process. Then, by referring to the data management information, the memory area requiring the erase operation is determined and the erase operation is started, and at the same time, the processing authority is returned to the higher-order program processing to execute the erase operation in parallel. , Periodically monitoring the operation state after the start of the erase operation, and setting and updating the erase operation management information in the operation management information storage means. It is characterized by comprising a memory operation management means.

【0010】また、この場合、請求項4に記載するよう
に、前記メモリ動作管理手段は、前記消去動作開始後の
動作状態の定期的な監視を前記上位のプログラム処理の
割り込み処理として実行することが有効である。
Further, in this case, as described in claim 4, the memory operation management means executes periodical monitoring of an operation state after the start of the erase operation as an interrupt processing of the upper program processing. Is effective.

【0011】[0011]

【作用】請求項1記載の発明によれば、データ書込み要
求に対して所定の記憶領域単位の消去動作を必要とする
メモリにおける消去動作の進行状態を管理するメモリ動
作管理方法において、前記記憶領域毎にデータの展開状
態を管理するデータ管理情報を設定し、上位のプログラ
ム処理によりデータ書込み要求が発生すると、前記デー
タ管理情報を参照して消去動作を必要とする前記記憶領
域を決定して消去動作を開始させ、当該消去動作の開始
とともに前記上位のプログラム処理に処理権限を戻すと
ともに、前記消去動作を並行して実行させ、当該情報の
発行後は、前記消去動作の進行状態を定期的に監視して
消去動作管理情報を設定及び更新して、前記メモリにお
ける消去動作の進行状態を管理する。
According to the first aspect of the present invention, in the memory operation management method for managing the progress state of an erase operation in a memory which requires an erase operation in units of a predetermined storage area in response to a data write request, the storage area Data management information for managing the expansion state of data is set for each, and when a data write request is generated by a higher-level program processing, the data management information is referred to determine the storage area that requires an erase operation and the data is erased. The operation is started, the processing authority is returned to the higher-order program processing at the start of the erase operation, the erase operation is executed in parallel, and after the issuance of the information, the progress status of the erase operation is periodically performed. The erase operation management information is monitored and set and updated to manage the progress of the erase operation in the memory.

【0012】したがって、上位プログラム処理実行中の
メモリにおける消去動作完了までの待ち時間を短縮する
ことができ、上位プログラム処理の高速化を図ることが
できる。
Therefore, it is possible to shorten the waiting time until the completion of the erasing operation in the memory during the execution of the upper program processing, and it is possible to speed up the upper program processing.

【0013】請求項2記載の発明によれば、データ書込
み要求に対して所定の記憶領域単位の消去動作を必要と
するメモリにおける消去動作の進行状態を管理するメモ
リ動作管理方法において、前記記憶領域毎にデータの展
開状態を管理するデータ管理情報を設定し、上位のプロ
グラム処理によりデータ書込み要求が発生すると、前記
データ管理情報を参照して消去動作を必要とする前記記
憶領域を決定して消去動作を開始させ、当該消去動作の
開始とともに前記上位のプログラム処理に処理権限を戻
すとともに、前記消去動作を並行して実行させ、前記上
位のプログラム処理の割り込み処理として前記消去動作
開始後の動作状態を定期的に監視させて消去動作管理情
報を設定及び更新し、前記メモリにおける消去動作の進
行状態を管理する。
According to a second aspect of the present invention, in the memory operation management method for managing the progress state of the erase operation in a memory that requires an erase operation in units of a predetermined storage area in response to a data write request, the storage area Data management information for managing the expansion state of data is set for each, and when a data write request is generated by a higher-level program processing, the data management information is referred to determine the storage area that requires an erase operation and the data is erased. When the erase operation is started, the operation authority is returned to the upper program processing at the same time as the start of the erase operation, the erase operation is executed in parallel, and the operation state after the erase operation is started as an interrupt processing of the upper program processing. Is regularly monitored to set and update the erase operation management information and manage the progress of the erase operation in the memory.

【0014】したがって、上位プログラム処理実行中の
メモリにおける消去動作完了までの待ち時間を短縮する
ことができるとともに、メモリにおける消去動作の進行
状態を上位プログラム側で確実に把握させて、上位プロ
グラム処理の高速化を図ることができる。
Therefore, it is possible to shorten the waiting time until the completion of the erasing operation in the memory during execution of the upper program processing, and to surely grasp the progress state of the erasing operation in the memory by the upper program side, so that the upper program processing The speed can be increased.

【0015】請求項3記載の発明によれば、データ書込
み要求に対して所定の記憶領域単位の消去動作を必要と
するメモリにおける消去動作の進行状態を管理するメモ
リ動作管理装置において、前記記憶領域毎にデータの展
開状態を管理するデータ管理情報をデータ管理情報記憶
手段に格納し、前記消去動作を管理する消去動作管理情
報を動作管理情報記憶手段に格納し、上位のプログラム
処理によりデータ書込み要求が発生すると、メモリ動作
管理手段により、前記データ管理情報を参照して消去動
作を必要とする前記記憶領域を決定して消去動作を開始
させるとともに、当該上位のプログラム処理に処理権限
を戻して、消去動作を並行して実行させ、前記消去動作
開始後の動作状態を定期的に監視して前記動作管理情報
記憶手段に消去動作管理情報を設定及び更新する。
According to a third aspect of the present invention, in the memory operation management device for managing the progress state of the erase operation in the memory which requires the erase operation in units of a predetermined storage area in response to the data write request, the storage area Data management information for managing the expansion state of data for each is stored in the data management information storage means, erasing operation management information for managing the erasing operation is stored in the operation management information storage means, and a data write request is made by a higher-order program process. When an error occurs, the memory operation management unit refers to the data management information to determine the storage area that needs the erase operation, starts the erase operation, and returns the processing authority to the higher-order program processing, The erasing operation is executed in parallel, the operating state after the erasing operation is started is regularly monitored, and the erasing operation is stored in the operation management information storage means. To set up and update the management information.

【0016】したがって、上位プログラム処理実行中の
メモリにおける消去動作完了までの待ち時間を短縮する
ことができ、上位プログラム処理の高速化を図るメモリ
動作管理装置を提供することができる。
Therefore, it is possible to shorten the waiting time until the completion of the erase operation in the memory during the execution of the upper program processing, and it is possible to provide the memory operation management device which accelerates the upper program processing.

【0017】請求項4記載の発明によれば、前記メモリ
動作管理手段は、前記消去動作開始後の動作状態の定期
的な監視を前記上位のプログラム処理の割り込み処理と
して実行するようにしたため、メモリにおける消去動作
の進行状態を上位プログラム側で確実に把握させること
ができる。
According to the fourth aspect of the present invention, the memory operation management means executes the periodical monitoring of the operation state after the start of the erase operation as the interrupt processing of the upper program processing. The progress state of the erasing operation can be surely grasped by the upper program side.

【0018】[0018]

【実施例】以下、図1〜図17を参照して実施例を詳細
に説明する。図1〜図17は、本発明をDOSシステム
によりフラッシュメモリを利用するコンピュータシステ
ムに適用した場合の一実施例を示す図である。まず、構
成を説明する。図1は、コンピュータシステム1のブロ
ック構成を示す図である。この図において、コンピュー
タシステム1は、CPU2、フラッシュメモリドライバ
3、フラッシュメモリ4、フラッシュメモリ管理用メモ
リ5、フラッシュメモリ電源6及びインターバルタイマ
ー7により構成されている。
EXAMPLES Examples will be described in detail below with reference to FIGS. 1 to 17 are diagrams showing an embodiment in which the present invention is applied to a computer system using a flash memory by a DOS system. First, the configuration will be described. FIG. 1 is a diagram showing a block configuration of a computer system 1. In this figure, a computer system 1 is composed of a CPU 2, a flash memory driver 3, a flash memory 4, a flash memory management memory 5, a flash memory power supply 6 and an interval timer 7.

【0019】CPU(Central Processing Unit )2
は、DOS(Disk Operating System)システムに基づ
いて動作する各種アプリケーションプログラムに応じた
各種プログラム処理を実行し、その各種プログラム処理
の実行中に必要に応じてフラッシュメモリドライバ3に
対してデータ書込み要求コマンドを出力するために、後
述するフラッシュメモリ書込み要求処理プログラムを実
行して、フラッシュメモリドライバ3によりフラッシュ
メモリ4に対する消去動作を開始させるとともに、消去
コマンドを発行することにより上位のアプリケーション
プログラムに処理権限を戻し、上位のアプリケーション
プログラム処理を次のステップに進行させる。
CPU (Central Processing Unit) 2
Executes various program processes according to various application programs operating based on a DOS (Disk Operating System) system, and issues a data write request command to the flash memory driver 3 as necessary during execution of the various program processes. In order to output, the flash memory write request processing program to be described later is executed, the flash memory driver 3 starts the erase operation for the flash memory 4, and the erase command is issued to give the processing authority to the upper application program. Then, the process of the upper application program is advanced to the next step.

【0020】また、CPU2は、消去動作を開始させた
後、インターバルタイマー7を起動させて、このインタ
ーバルタイマー7のタイムアップ毎に所定間隔で入力さ
れる割り込み要求により、後述するタイマー割り込み処
理を実行して、フラッシュメモリ4における消去動作の
進行状態をフラッシュメモリドライバ3によりチェック
させる。
After starting the erase operation, the CPU 2 activates the interval timer 7 and executes a timer interrupt process, which will be described later, in response to an interrupt request input at a predetermined interval each time the interval timer 7 times up. Then, the progress state of the erase operation in the flash memory 4 is checked by the flash memory driver 3.

【0021】フラッシュメモリドライバ3は、CPU2
において実行される上位の各種アプリケーションプログ
ラム処理により発生するデータ書込み要求コマンドが入
力されると、後述するダーティセクタのクリーンアップ
処理をフラッシュメモリ管理用メモリ5に設定する後述
する空きセクタ管理情報及びブロック消去情報を利用し
て実行する。
The flash memory driver 3 has a CPU 2
When a data write request command generated by various higher-order application program processes executed in step S6 is input, a dirty sector cleanup process, which will be described later, is set in the flash memory management memory 5, and free sector management information and a block erase process described later are performed. Execute using information.

【0022】すなわち、クリーンアップ処理に際してフ
ラッシュメモリドライバ3は、フラッシュメモリ4内を
ブロック単位で空きエリア(未使用エリア)かダーティ
エリア(上書不可で処理済不要データ格納エリア)かを
管理する空きセクタ管理情報(データ管理情報)及びブ
ロック消去情報をフラッシュメモリ管理用メモリ5に設
定及び更新することにより、フラッシュメモリ4内にデ
ータを書込む空き領域を再構成する消去動作を実行す
る。そして、この消去動作が終了した後、フラッシュメ
モリドライバ3は、書込み要求のあったフラッシュメモ
リ4内のセクタに対するデータ書込み動作を、後述する
フラッシュメモリ管理用メモリ5に格納されるアロケー
ションテーブル情報を参照して実行する。
That is, in the cleanup process, the flash memory driver 3 manages whether the flash memory 4 is a block-based empty area (unused area) or dirty area (overwriting impossible and processed unnecessary data storage area). By setting and updating sector management information (data management information) and block erase information in the flash memory management memory 5, an erase operation for reconfiguring an empty area in which data is written in the flash memory 4 is executed. Then, after this erase operation is completed, the flash memory driver 3 refers to the allocation table information stored in the flash memory management memory 5 described later for the data write operation to the sector in the flash memory 4 for which the write request is made. Then run.

【0023】また、フラッシュメモリドライバ3は、上
記CPU2によりフラッシュメモリ書込み要求処理によ
り入力されるタイマー起動コマンドをインターバルタイ
マー7に転送して、インターバルタイマー7を起動させ
る。そして、CPU2によりタイマー割り込み処理が実
行されると、フラッシュメモリ4に対して消去動作の進
行状態をチェックするコマンドを出力し、フラッシュメ
モリ4から応答されるステータス情報によりフラッシュ
メモリ管理用メモリ5に記憶されるブロック消去情報に
おける消去管理情報の設定を変更する。
The flash memory driver 3 also transfers the timer start command input by the CPU 2 in the flash memory write request process to the interval timer 7 to start the interval timer 7. When the CPU 2 executes the timer interrupt process, it outputs a command for checking the progress of the erase operation to the flash memory 4, and stores it in the flash memory management memory 5 according to the status information returned from the flash memory 4. Change the setting of the erase management information in the block erase information to be set.

【0024】さらに、フラッシュメモリドライバ3は、
消去動作を実行中に、CPU2からデータ読み込み要求
が入力された場合は、後述するフラッシュメモリ読み込
み要求処理を実行し、消去動作を中断させ、読み込み要
求があったデータの読み出し処理を行った後、消去動作
を再開させる。
Further, the flash memory driver 3 is
When a data read request is input from the CPU 2 during execution of the erase operation, a flash memory read request process described below is executed, the erase operation is interrupted, and the read process of the data requested to be read is performed. Restart the erase operation.

【0025】フラッシュメモリ4は、図2に示すよう
に、例えば、64kバイトの記憶容量を1単位とするバ
ンクNo.(バンク00〜バンク31)により分割され
た、実際にデータが書込まれるデータ記憶領域と、この
データ記憶領域に書込まれたデータ内容をバンクNo.
毎に管理するブロック管理情報を記憶する管理情報記憶
領域とを形成している。この管理情報記憶領域は、デー
タ記憶領域の各バンクNo.に対応する論理的なブロッ
クIDNo.(ID00〜ID31)が設定されて分割
されており、“ID00”の領域には、フラッシュメモ
リ4内全体の管理領域及びデータ領域を管理する情報が
記憶される。
As shown in FIG. 2, the flash memory 4 includes, for example, a bank No. having a storage capacity of 64 kbytes as one unit. The data storage area into which data is actually written, divided by (bank 00 to bank 31), and the data content written in this data storage area are stored in the bank number.
A management information storage area that stores block management information that is managed for each is formed. This management information storage area corresponds to each bank No. of the data storage area. Corresponding to the logical block ID No. (ID00 to ID31) are set and divided, and information for managing the entire management area and data area in the flash memory 4 is stored in the area "ID00".

【0026】また、図2において、管理情報記憶領域の
“ID01〜ID29”は、データ記憶領域にバンク単
位でデータを書込む際の空き領域を指定するバンクN
o.を記憶するデータ領域を形成し、図中に矢印で示す
ように、各データ領域のIDNo.にはバンクNo.が
動的に割り当てられる。さらに、管理情報記憶領域の
“ID30”には、DOSシステムに必要な管理情報
(例えば、ディレクトリ情報やFAT情報)を記憶する
DOS管理領域を形成し、“ID31”には、データ記
憶領域のバンク内にセクタ単位で空き領域を形成する際
に、必要なセクタのデータを退避させて、空きセクタを
含む新たなデータ記憶領域を再構成する消去用領域を形
成し、1ブロック分の記憶容量を有する。
In FIG. 2, "ID01 to ID29" in the management information storage area designates a bank N for designating an empty area when writing data in the data storage area in units of banks.
o. To form a data area for storing the ID No. of each data area, as indicated by an arrow in the figure. Bank No. Are dynamically assigned. Further, a "DOS management area" for storing management information (for example, directory information or FAT information) necessary for the DOS system is formed in "ID30" of the management information storage area, and a bank of the data storage area is formed in "ID31". When forming a vacant area in each sector, the data of the required sector is saved and an erasing area for reconfiguring a new data storage area including the vacant sector is formed, and the storage capacity for one block is increased. Have.

【0027】フラッシュメモリ管理用メモリ5は、図3
に示すように、ブロック消去情報を格納する。このブロ
ック消去情報は、フラッシュメモリ4内の消去動作を管
理するための管理情報であり、5バイト長で構成され、
先頭の1バイト部分に消去管理情報を記憶し、次の2バ
イト部分にブロックID情報(図2に示すブロックID
No.)を記憶し、次の2バイト部分にバンクNo.情
報(図2に示すバンクNo.位置情報)を記憶してい
る。消去管理情報は、その8ビット構成の各ビットを図
中に示すように設定しており、例えば、ビット0を高速
イレーズ実行要求設定用、ビット1を高速イレーズ実行
待ち設定用、ビット2を高速イレーズ実行中設定用、ビ
ット3を高速イレーズ実行中断要求設定用、ビット4を
高速イレーズID書込み要求設定用、ビット5は設定無
し、ビット6を通常イレーズ実行要求設定用、ビット7
をフォーマットイレーズ実行要求設定用としている。各
ビットとも“1”をセットした場合に、各動作及び要求
が進行中であることを示している。
The flash memory management memory 5 is shown in FIG.
Block erase information is stored as shown in FIG. The block erase information is management information for managing the erase operation in the flash memory 4, and has a 5-byte length.
Erase management information is stored in the first 1-byte portion, and block ID information (block ID shown in FIG. 2 is stored in the next 2-byte portion.
No. ) Is stored and the bank number. Information (bank No. position information shown in FIG. 2) is stored. In the erase management information, each bit of the 8-bit configuration is set as shown in the figure. For example, bit 0 is for high speed erase execution request setting, bit 1 is for high speed erase execution wait setting, and bit 2 is high speed. For setting during erase execution, bit 3 for setting high speed erase execution interrupt request, bit 4 for setting high speed erase ID write request, bit 5 not set, bit 6 for normal erase execution request setting, bit 7
Is for setting the format erase execution request. When each bit is set to "1", it indicates that each operation and request is in progress.

【0028】したがって、このブロック消去情報を、上
記フラッシュメモリドライバ3が消去動作の進行状態に
応じて変更することにより、消去動作の進行状態が管理
される。
Therefore, the flash memory driver 3 changes the block erase information in accordance with the progress of the erase operation, thereby managing the progress of the erase operation.

【0029】また、フラッシュメモリ管理用メモリ5に
は、図4に示すように、空きセクタ管理情報を格納す
る。この空きセクタ管理情報は、上記フラッシュメモリ
ドライバ3によりクリーンアップ処理が実行される際に
利用される管理情報であり、フラッシュメモリ4内の各
IDNo.と対応するIDNo.制御情報(ID00〜
ID32)を格納するように形成されている。各IDN
o.制御情報は、図中に示すように、5バイト長で構成
され、先頭の1バイト部分にはバンクNo.を、次の2
バイト部分には空きエリアカウント情報を、次の2バイ
ト分にはダーティエリアカウント情報を、リンクして記
憶している。
The flash memory management memory 5 also stores empty sector management information, as shown in FIG. The free sector management information is management information used when the flash memory driver 3 executes the cleanup processing, and each free sector management information is stored in the flash memory 4. Corresponding to the ID No. Control information (ID00-
ID 32) is stored. Each IDN
o. As shown in the figure, the control information has a 5-byte length, and the first 1-byte portion has a bank number. The next 2
Free area count information is linked to the byte portion and dirty area count information is linked and stored to the next two bytes.

【0030】ここで、空きエリアカウント情報とは、そ
のバンクNo.の領域中に空きセクタがいくつあるかを
示す情報であり、ダーティエリアカウント情報とは、そ
のバンクNo.の領域中にダーティセクタがいくつある
かを示す情報である。
Here, the empty area count information means the bank number. Is information indicating how many empty sectors are in the area, and the dirty area count information is the bank number. This is information indicating how many dirty sectors are in the area.

【0031】さらに、フラッシュメモリ管理用メモリ5
には、図5に示すように、アロケーションテーブル情報
を格納する。このアロケーションテーブル情報は、フラ
ッシュメモリ4内全体のデータ展開状態を管理する管理
情報であり、論理セクタ0〜n(n:最終セクタ)で分
割された情報格納領域を形成し、各情報格納領域には、
フラッシュメモリ4内のデータが書込まれているセクタ
位置を管理するエリアポインタNo.と、そのセクタ位
置を含むブロックIDをリンクさせて記憶する。具体的
には、図中に示すフラッシュメモリ4内に実際に格納さ
れているエリアポインタテーブル(リンクポインタN
o.及びブロックID)と、データ領域に展開されるデ
ータのリンク関係を示す情報(Nextリンクポインタ
及びブロックID)をコピーした情報を格納している。
Further, the flash memory management memory 5
In the table, allocation table information is stored as shown in FIG. This allocation table information is management information for managing the data expansion state of the entire flash memory 4, and forms an information storage area divided by logical sectors 0 to n (n: last sector), and is stored in each information storage area. Is
Area pointer No. for managing the sector position where the data in the flash memory 4 is written. And the block ID including the sector position is linked and stored. Specifically, the area pointer table (link pointer N that is actually stored in the flash memory 4 shown in FIG.
o. And block ID) and information obtained by copying the information (Next link pointer and block ID) indicating the link relationship of the data expanded in the data area are stored.

【0032】フラッシュメモリ電源6は、フラッシュメ
モリ4の消去動作に必要な駆動電圧Vppを供給する電源
であり、フラッシュメモリドライバ3から入力される電
源ON/OFF信号により駆動電圧Vppの供給と停止が
制御される。
The flash memory power supply 6 is a power supply for supplying the drive voltage Vpp necessary for the erasing operation of the flash memory 4, and the drive voltage Vpp is supplied or stopped by the power ON / OFF signal input from the flash memory driver 3. Controlled.

【0033】インターバルタイマー7は、CPU2に対
してタイマー割り込み処理を実行させる割込要求を出力
する間隔をタイミングを設定するタイマーであり、フラ
ッシュメモリドライバ3から入力されるタイマー起動コ
マンドにより起動される。
The interval timer 7 is a timer that sets a timing for outputting an interrupt request for causing the CPU 2 to execute a timer interrupt process, and is activated by a timer activation command input from the flash memory driver 3.

【0034】次に、動作を説明する。まず、上記CPU
2により実行されるフラッシュメモリ書込み要求処理に
ついて図6のフローチャートに基づいて説明する。CP
U2において、アプリケーションプログラム処理実行中
にフラッシュメモリ4への書込み要求が発生すると、フ
ラッシュメモリ書込み要求処理を開始し、フラッシュメ
モリ4に空きセクタが有るか否かをフラッシュメモリド
ライバ3を介してフラッシュメモリ管理用メモリ5に記
憶されている空きセクタ管理情報により判断し(ステッ
プS1)、空きセクタが有る場合は、指定されたセクタ
へのデータ書込みコマンドをフラッシュメモリドライバ
3に出力して、フラッシュメモリ4への書込み動作を開
始させる(ステップS2)。
Next, the operation will be described. First, the CPU
The flash memory write request processing executed by No. 2 will be described based on the flowchart of FIG. CP
In U2, when a write request to the flash memory 4 is generated during application program processing, the flash memory write request processing is started and it is determined whether or not there is a free sector in the flash memory 4 via the flash memory driver 3. Judging from the free sector management information stored in the management memory 5 (step S1), if there is a free sector, a data write command to the designated sector is output to the flash memory driver 3 and the flash memory 4 The write operation to is started (step S2).

【0035】次いで、その指定セクタのデータ書込みに
際して、その指定セクタのデータ消去が必要か否かをフ
ラッシュメモリ管理用メモリ5に記憶されているブロッ
ク消去情報に設定されている消去管理情報を参照して判
断する(ステップS3)。消去が必要ない場合は、本処
理を終了し、消去が必要ある場合は、電源ONコマンド
をフラッシュメモリドライバ3を介してフラッシュメモ
リ電源6に出力して、消去用駆動電圧Vppをフラッシュ
メモリ4に供給させて、消去動作を開始させる(ステッ
プS4)。
Then, at the time of writing data in the designated sector, whether or not the data in the designated sector needs to be erased is referred to by the erase management information set in the block erase information stored in the flash memory management memory 5. (Step S3). If erasing is not necessary, this process is terminated, and if erasing is necessary, a power ON command is output to the flash memory power supply 6 via the flash memory driver 3 to output the erasing drive voltage Vpp to the flash memory 4. Then, the erase operation is started (step S4).

【0036】そして、消去コマンドを発行し(ステップ
S5)、タイマー起動コマンドをフラッシュメモリドラ
イバ3を介してインターバルタイマー7に出力して、イ
ンターバルタイマー7を起動させて(ステップS6)、
本処理を終了する。
Then, an erase command is issued (step S5), a timer start command is output to the interval timer 7 via the flash memory driver 3, and the interval timer 7 is started (step S6).
This process ends.

【0037】また、ステップS1において空きセクタが
無いと判断した場合は、フラッシュメモリドライバ3に
よりダーティセクタのクリーンアップ処理を実行させる
(ステップS7)。
If it is determined in step S1 that there are no free sectors, the flash memory driver 3 executes a clean-up process for dirty sectors (step S7).

【0038】ここで、フラッシュメモリドライバ3によ
り実行されるダーティセクタのクリーンアップ処理につ
いて図7〜図10を参照して説明する。まず、クリーン
アップ処理を行う前に、指定セクタが含まれるブロック
IDNo.の状態をフラッシュメモリ管理用メモリ5に
記憶されている該当ブロックIDNo.の空きセクタ管
理情報、例えば、図7に示す空きセクタ管理情報を参照
してチェックする。この図7の空きセクタ管理情報は、
ブロックIDlの管理情報でデータ記憶領域のバンクN
o.mに対応し、空きエリアカウント情報が“0”(空
きセクタ無しを示す)で、ダーティエリアカウント情報
が“n”(ダーティエリアがn個)であることを示して
いる。
Now, the dirty sector cleanup processing executed by the flash memory driver 3 will be described with reference to FIGS. First, before performing the cleanup processing, the block ID No. Of the corresponding block ID No. stored in the flash memory management memory 5. The empty sector management information of, for example, the empty sector management information shown in FIG. The free sector management information in FIG. 7 is
The management information of the block IDl is the bank N of the data storage area.
o. Corresponding to m, the empty area count information is "0" (indicating that there is no empty sector) and the dirty area count information is "n" (n dirty areas).

【0039】このクリーンアップ処理を行う前のブロッ
クIDl内の具体的なデータ展開状態を図8に示す。こ
の図8において、先頭セクタには、ブロックIDl全体
のデータ展開状態を示すエリアポインタテーブルが記憶
されており、このエリアポインタテーブルでは、セクタ
Aから格納されるデータの開始ポインタと、セクタBか
ら格納されるデータの開始ポインタと、セクタCから格
納されるデータの開始ポインタがそれぞれ記憶されてい
る。
FIG. 8 shows a concrete data development state in the block ID1 before the cleanup process. In FIG. 8, an area pointer table indicating the data expansion state of the entire block IDl is stored in the head sector. In this area pointer table, the start pointer of the data stored in sector A and the area stored in sector B are stored. A start pointer of data to be stored and a start pointer of data to be stored from the sector C are stored.

【0040】そして、図中の斜線部分はダーティセクタ
(上書不可で処理済不要データ格納エリア)を示し、各
ダーティセクタの先頭部分には、開始ポインタを含むセ
クタA、セクタB、セクタCにそれぞれリンクするセク
タのリンクポインタが格納されており、図中では、セク
タAにリンクするデータを実線、セクタBにリンクする
データを一点鎖線、セクタCにリンクするデータを点線
でそれぞれ示している。なお、各セクタA、B、Cにリ
ンクするデータのうち図中に示す最終セクタのデータ
は、各セクタデータを利用した処理において最終に処理
された必要なデータであるため、消去の対象、すなわ
ち、ダーティセクタとならない。
The shaded area in the drawing indicates a dirty sector (a storage area for unprocessed unnecessary data that cannot be overwritten). At the beginning of each dirty sector, there are a sector A, a sector B, and a sector C including a start pointer. The link pointers of the sectors to be linked are stored. In the figure, the data linked to the sector A is shown by a solid line, the data linked to the sector B is shown by a chain line, and the data linked to the sector C is shown by a dotted line. Of the data linked to each sector A, B, and C, the data of the last sector shown in the figure is the data that has been finally processed in the process using each sector data, and therefore the data to be erased, that is, , Does not become a dirty sector.

【0041】このようなブロックIDlに対してクリー
ンアップ処理を実行すると、上記図2に示したフラッシ
ュメモリ4の管理情報記憶領域内のブロックID31の
消去用領域に図9に示すように、図8に示す最終セクタ
A、B、Cの必要データを詰めた状態で退避させるとと
もに、その退避したセクタの各開始ポインタデータを先
頭セクタにエリアポインタテーブルとして格納して、ブ
ロックIDlの内容を再構成することにより、図中に示
すようにバンクOに対応するnセクタ分の空き領域を形
成して、クリーンアップ処理を終了する。
When the cleanup process is executed for such a block IDl, as shown in FIG. 9, the erase area of the block ID31 in the management information storage area of the flash memory 4 shown in FIG. The necessary data of the last sectors A, B, and C shown in FIG. 2 are saved in a packed state, and each start pointer data of the saved sectors is stored in the first sector as an area pointer table to reconstruct the contents of the block IDl. As a result, as shown in the figure, an empty area for n sectors corresponding to the bank O is formed, and the cleanup process is completed.

【0042】以上のようにフラッシュメモリドライバ3
によるクリーンアップ処理を終了すると、再び、図6の
ステップS8に戻り、図10に示すように、ブロックI
D31の空きセクタ管理情報を設定して、その再構成し
た指定セクタの空き領域に対するデータ書込み要求コマ
ンドをフラッシュメモリドライバ3に出力し、フラッシ
ュメモリ4への書込み動作を開始させる(ステップS
9)。次いで、上記ステップS3以降の処理を実行す
る。
As described above, the flash memory driver 3
When the clean-up process by the process is finished, the process returns to step S8 of FIG. 6 again, and as shown in FIG.
The free sector management information of D31 is set, the data write request command for the free area of the reconfigured designated sector is output to the flash memory driver 3, and the write operation to the flash memory 4 is started (step S
9). Then, the processes in and after step S3 are executed.

【0043】次に、上記ステップS6におけるインター
バルタイマー7の起動により、そのインターバルタイマ
ー7から設定時間間隔で発生される割り込み要求コマン
ドがCPU2に出力される毎に、CPU2により実行さ
れるタイマー割込み処理について図11に示すフローチ
ャートに基づいて説明する。
Next, the timer interrupt processing executed by the CPU 2 each time the interrupt request command generated by the interval timer 7 at the set time interval is output to the CPU 2 by the activation of the interval timer 7 in step S6. This will be described based on the flowchart shown in FIG.

【0044】インターバルタイマー7から割り込み要求
コマンドが入力されると、タイマー割込み処理を開始
し、フラッシュメモリドライバ3を介してフラッシュメ
モリ4が消去動作中か否かを確認する(ステップS1
1)。消去動作中でない場合は、直ちに本処理を終了
し、消去動作中の場合は、フラッシュメモリ4の動作状
態を確認するためステータスリードコマンドをフラッシ
ュメモリドライバ4に出力して(ステップS12)、フ
ラッシュメモリドライバ4により戻されるステータスに
より消去動作が完了したか否かを判断する(ステップS
13)。消去動作が完了していない場合は、本処理を終
了し、消去動作が完了している場合は、フラッシュメモ
リドライバ3を介してフラッシュメモリ電源6に電源O
FF信号を出力して、消去用駆動電圧Vppのフラッシュ
メモリ4への供給を停止させる(ステップS14)。
When an interrupt request command is input from the interval timer 7, timer interrupt processing is started, and it is confirmed via the flash memory driver 3 whether or not the flash memory 4 is in the erase operation (step S1).
1). If the erasing operation is not in progress, this processing is immediately terminated, and if the erasing operation is in progress, a status read command is output to the flash memory driver 4 to confirm the operating state of the flash memory 4 (step S12), and the flash memory The status returned by the driver 4 determines whether or not the erase operation is completed (step S
13). If the erase operation has not been completed, this processing is terminated, and if the erase operation has been completed, the flash memory power supply 6 is powered on via the flash memory driver 3.
The FF signal is output to stop the supply of the erasing drive voltage Vpp to the flash memory 4 (step S14).

【0045】次いで、フラッシュメモリドライバ3を介
してインターバルタイマー7にタイマー停止コマンドを
出力して、インターバルタイマー7を停止させ(ステッ
プS15)、消去を完了したブロックのフラッシュメモ
リ管理用メモリ5に記憶されているブロック消去情報を
クリアして(ステップS16)、本処理を終了する。な
お、以上のタイマー割込み処理の処理時間は、メインの
アプリケーション処理時間に比べてμsecオーダーと
いう非常に短い時間で行われるため、CPU2における
アプリケーション処理時間を長引かせるという事態には
ならない。
Then, a timer stop command is output to the interval timer 7 via the flash memory driver 3 to stop the interval timer 7 (step S15), and is stored in the flash memory management memory 5 of the block for which erasing has been completed. The erased block information is cleared (step S16), and this processing ends. The processing time of the timer interrupt processing described above is performed in a very short time of the order of μsec compared to the main application processing time, and therefore the application processing time in the CPU 2 is not prolonged.

【0046】以上のフラッシュメモリ書込み要求処理及
びタイマー割込み処理によるCPU2とフラッシュメモ
リドライバ3によるフラッシュメモリ4に対する動作の
関係は図12に示すようになり、消去コマンド発生によ
りCPU2のアプリケーション処理とフラッシュメモリ
ドライバ3の管理のもとに実行される消去動作が並行し
て行われる。このため、CPU2では、書込み要求コマ
ンドを発生した後、フラッシュメモリ4の消去動作の完
了を待つ時間を短縮することができ、上位のアプリケー
ションプログラムによる処理時間を短縮することができ
る。その結果、CPU2で実行される上位のアプリケー
ションプログラム処理の高速化を図ることができる。
The relationship between the operations of the CPU 2 and the flash memory driver 3 with respect to the flash memory 4 by the above flash memory write request processing and timer interrupt processing is as shown in FIG. 12, and the application processing of the CPU 2 and the flash memory driver by the generation of the erase command. The erase operation executed under the control of No. 3 is performed in parallel. Therefore, the CPU 2 can reduce the time to wait for the completion of the erase operation of the flash memory 4 after the write request command is generated, and reduce the processing time by the upper application program. As a result, higher-speed application program processing executed by the CPU 2 can be speeded up.

【0047】次に、上記クリーンアップ処理が終了した
後に、図9に再構成された空きセクタに対して行われる
データ書込み処理について図13〜図16を参照して説
明する。図13は、上記図9のブロックIDl(バンク
O)に再構成された空きセクタにセクタAにリンクする
データとしてデータが書込まれた場合を示している。
Next, a data writing process performed on the empty sector reconstructed in FIG. 9 after the above cleanup process is completed will be described with reference to FIGS. 13 to 16. FIG. 13 shows a case where data is written as data to be linked to the sector A in the empty sector reconfigured in the block ID1 (bank O) of FIG.

【0048】この書込みの結果、図13では、書込み前
にセクタAの最終データであった部分がダーティセクタ
(図中の斜線部分)にされ、そのダーティセクタの先頭
にリンクポインタが設定される。そして、このブロック
IDlに対応してフラッシュメモリ管理用メモリ5に記
憶されている空きセクタ管理情報は、図14に示すよう
に変更される。すなわち、空きエリアカウントが“n”
から“n−1”に変更され、ダーティエリアカウントが
“0”から“1”に変更される。
As a result of this writing, in FIG. 13, the portion which was the final data of the sector A before writing is made a dirty sector (hatched portion in the drawing), and the link pointer is set at the head of the dirty sector. Then, the free sector management information stored in the flash memory management memory 5 corresponding to this block IDl is changed as shown in FIG. That is, the free area count is "n"
To "n-1" and the dirty area count is changed from "0" to "1".

【0049】そして、このデータ書込み終了後、クリー
ンアップ処理において消去用領域であるブロックID3
1に展開した内容を消去するため、フラッシュメモリ管
理用メモリ5に記憶されているブロック消去情報を、図
15に示すように設定する。この場合は、消去管理情報
として高速イレーズ実行要求をセット(図3に示したビ
ット0を“1”にセット)し、ブロックIDl及びバン
クNo.mをセットすることにより、上記消去動作に基
づくデータの消去処理を実行させて、ブロックID31
に展開した内容を消去させる。
After this data writing is completed, the block ID 3 which is the erasing area in the cleanup process.
In order to erase the contents expanded to 1, the block erase information stored in the flash memory management memory 5 is set as shown in FIG. In this case, the high speed erase execution request is set as the erase management information (bit 0 shown in FIG. 3 is set to "1"), and the block ID1 and the bank number. By setting m, the data erasing process based on the erasing operation is executed, and the block ID 31
Delete the contents expanded to.

【0050】このブロックID31における消去動作を
完了すると、ブロックID31の空きセクタ管理情報
は、図16に示す設定に変更される。すなわち、バンク
No.が“m”、空きエリアカウントが“0”、ダーテ
ィエリアカウントが“0”に、それぞれ変更される。
When the erase operation for the block ID 31 is completed, the free sector management information of the block ID 31 is changed to the setting shown in FIG. That is, the bank number. Is changed to "m", the empty area count is changed to "0", and the dirty area count is changed to "0".

【0051】次に、上記消去コマンド発行後、フラッシ
ュメモリ4において消去動作継続中に、上位のアプリケ
ーションプログラム処理からフラッシュメモリ4へのデ
ータ読込み要求が発生した場合に、フラッシュメモリド
ライバ3において実行されるフラッシュメモリ読込要求
処理について図17に示すフローチャートに基づいて説
明する。
Next, after issuing the erase command, if a data read request to the flash memory 4 is issued from a higher-order application program process while the erase operation is continuing in the flash memory 4, it is executed in the flash memory driver 3. The flash memory read request process will be described based on the flowchart shown in FIG.

【0052】上記消去コマンド発行後、フラッシュメモ
リ4において消去動作継続中に、CPU2の上位のアプ
リケーションプログラム処理からフラッシュメモリ4へ
のデータ読込み要求コマンドがフラッシュメモリドライ
バ3に入力されると、フラッシュメモリ読込要求処理を
開始し、フラッシュメモリ管理用メモリ5に記憶されて
いるブロック消去情報を参照して消去中か否かを判別す
る(ステップP1)。消去中でない場合は、ステップP
3に移行し、消去中である場合は、消去中断コマンドを
フラッシュメモリ4に発行して(ステップP2)、消去
動作を中断させる。
After the erase command is issued, when the data read request command to the flash memory 4 from the upper application program processing of the CPU 2 is input to the flash memory driver 3 while the erase operation is continuing in the flash memory 4, the flash memory read is performed. The request process is started, and it is determined whether or not erasing is in progress by referring to the block erasing information stored in the flash memory management memory 5 (step P1). If not erasing, step P
If it is in the process of erasing, the erase suspending command is issued to the flash memory 4 (step P2) to suspend the erase operation.

【0053】次いで、ステップP3でデータリード処理
を実行し、フラッシュメモリ4から指定セクタのデータ
を読み出すリードコマンドをフラッシュメモリ4に出力
し、フラッシュメモリ4から応答される指定セクタのデ
ータをCPU2に転送する。そして、データ読み出しを
終了すると、フラッシュメモリ4のステータスを読み出
すコマンドをフラッシュメモリ4に出力し、フラッシュ
メモリ4から応答されるステータスにより消去動作停止
中か否かを判断する(ステップP4)。消去動作が停止
中でない場合は、本処理を終了し、消去動作が停止中で
ある場合は、消去動作再開コマンドを発行して(ステッ
プP5)、フラッシュメモリ4における消去動作を再開
させて、本処理を終了する。
Then, in step P3, the data read processing is executed, the read command for reading the data of the designated sector from the flash memory 4 is output to the flash memory 4, and the data of the designated sector responded from the flash memory 4 is transferred to the CPU 2. To do. Then, when the data reading is completed, a command for reading the status of the flash memory 4 is output to the flash memory 4, and it is judged from the status returned from the flash memory 4 whether or not the erase operation is stopped (step P4). If the erase operation is not stopped, this processing is terminated. If the erase operation is stopped, an erase operation restart command is issued (step P5) to restart the erase operation in the flash memory 4 and execute the main operation. The process ends.

【0054】以上のフラッシュメモリドライバ3におい
てフラッシュメモリ読込要求処理を行うようにしたこと
により、消去コマンド発行後のアプリケーションプログ
ラム処理と消去動作が並行して行われている場合にも、
アプリケーションプログラム処理の読込み要求に応じた
消去動作の中断及び継続が可能になる。
By performing the flash memory read request process in the flash memory driver 3 as described above, even when the application program process after the erase command is issued and the erase operation are performed in parallel,
It becomes possible to suspend and continue the erase operation in response to the read request of the application program processing.

【0055】また、上記実施例では、消去コマンド発行
後のフラッシュメモリ4における消去動作の監視をCP
U2のタイマー割込み処理として実行させるようにした
ため、CPU2が上位のアプリケーションプログラム処
理を実行中であっても、CPU2側で確実にフラッシュ
メモリ4における消去動作の進行状態を把握させること
ができる。
Further, in the above embodiment, the monitoring of the erase operation in the flash memory 4 after issuing the erase command is performed by CP.
Since it is executed as the U2 timer interrupt process, the CPU 2 can surely grasp the progress state of the erase operation in the flash memory 4 even when the CPU 2 is executing the upper application program process.

【0056】[0056]

【発明の効果】請求項1記載の発明によれば、上位プロ
グラム処理実行中のメモリにおける消去動作完了までの
待ち時間を短縮することができ、上位プログラム処理の
高速化を図ることができる。
According to the first aspect of the present invention, it is possible to shorten the waiting time until the completion of the erase operation in the memory during the execution of the upper program processing, and it is possible to speed up the upper program processing.

【0057】請求項2記載の発明によれば、上位プログ
ラム処理実行中のメモリにおける消去動作完了までの待
ち時間を短縮することができるとともに、メモリにおけ
る消去動作の進行状態を上位プログラム側で確実に把握
させて、上位プログラム処理の高速化を図ることができ
る。
According to the second aspect of the present invention, the waiting time until the completion of the erase operation in the memory during the execution of the upper program processing can be shortened, and the progress of the erase operation in the memory can be surely performed on the upper program side. By grasping the information, it is possible to speed up the upper-level program processing.

【0058】請求項3記載の発明によれば、上位プログ
ラム処理実行中のメモリにおける消去動作完了までの待
ち時間を短縮することができ、上位プログラム処理の高
速化を図るメモリ動作管理装置を提供することができ
る。
According to the third aspect of the present invention, there is provided a memory operation management device capable of shortening the waiting time until the completion of the erase operation in the memory during the execution of the upper program processing and accelerating the upper program processing. be able to.

【0059】請求項4記載の発明によれば、メモリにお
ける消去動作の進行状態を上位プログラム側で確実に把
握させることができる。
According to the fourth aspect of the invention, the upper program side can surely grasp the progress state of the erase operation in the memory.

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

【図1】本発明を適用したコンピュータシステムの要部
ブロック構成図。
FIG. 1 is a block diagram of a main part of a computer system to which the present invention is applied.

【図2】図1のフラッシュメモリ内の構成を示す図。FIG. 2 is a diagram showing a configuration in the flash memory of FIG.

【図3】図1のフラッシュメモリ管理用メモリに記憶さ
れるブロック消去情報のデータ構成を示す図。
3 is a diagram showing a data structure of block erase information stored in a flash memory management memory shown in FIG. 1;

【図4】図1のフラッシュメモリ管理用メモリに記憶さ
れる空きセクタ管理情報のデータ構成を示す図。
FIG. 4 is a diagram showing a data structure of free sector management information stored in a flash memory management memory shown in FIG. 1;

【図5】図1のフラッシュメモリ管理用メモリに記憶さ
れるアローケーションテーブル情報のデータ構成を示す
図。
5 is a diagram showing a data structure of allocation table information stored in the flash memory management memory shown in FIG. 1;

【図6】図1のCPUにより実行されるフラッシュメモ
リ書込み要求処理のフローチャート。
FIG. 6 is a flowchart of flash memory write request processing executed by the CPU of FIG.

【図7】図6のクリーンアップ処理により設定される空
きセクタ管理情報の一例を示す図。
7 is a diagram showing an example of free sector management information set by the cleanup process of FIG. 6;

【図8】図7の空きセクタ管理情報に対応するフラッシ
ュメモリ内ブロック単位のデータ展開状態の一例を示す
図。
8 is a diagram showing an example of a data expansion state of a block unit in a flash memory corresponding to the free sector management information of FIG.

【図9】図6のクリーンアップ処理により図8のデータ
を図2の消去用領域に再構成して空きセクタを形成した
状態を示す図。
9 is a diagram showing a state in which the data of FIG. 8 is reconfigured in the erase area of FIG. 2 by the cleanup processing of FIG. 6 to form empty sectors.

【図10】図9のデータに対応する空きセクタ管理情報
の構成を示す図。
10 is a diagram showing a configuration of free sector management information corresponding to the data of FIG.

【図11】図1のCPUにより実行されるタイマー割込
み処理のフローチャート。
11 is a flowchart of timer interrupt processing executed by the CPU of FIG.

【図12】図1のCPUとフラッシュメモリドライバに
より実行されるフラッシュメモリ書込み要求処理とクリ
ーンアップ処理の動作関係を示す図。
12 is a diagram showing an operational relationship between a flash memory write request process and a cleanup process executed by the CPU and the flash memory driver of FIG.

【図13】図9のメモリの空きセクタにデータを書込ん
だ状態を示す図。
13 is a diagram showing a state in which data is written in an empty sector of the memory shown in FIG. 9.

【図14】図13のデータに対応する空きセクタ管理情
報の構成を示す図。
14 is a diagram showing a configuration of free sector management information corresponding to the data of FIG.

【図15】図9の消去用領域に展開したデータを消去す
る際のブロック消去情報の構成を示す図。
15 is a diagram showing the configuration of block erase information when erasing the data expanded in the erase area of FIG.

【図16】図15のブロック消去情報によりデータが消
去された後の消去領域に対応する空きセクタ管理情報の
構成を示す図。
16 is a diagram showing a configuration of free sector management information corresponding to an erase area after data is erased by the block erase information of FIG.

【図17】図1のフラッシュメモリドライバにより実行
されるフラッシュメモリ読込要求処理のフローチャー
ト。
17 is a flowchart of a flash memory read request process executed by the flash memory driver of FIG.

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

1 コンピュータシステム 2 CPU 3 フラッシュメモリドライバ 4 フラッシュメモリ 5 フラッシュメモリ管理用ドライバ 6 フラッシュメモリ電源 7 インターバルタイマー 1 Computer System 2 CPU 3 Flash Memory Driver 4 Flash Memory 5 Flash Memory Management Driver 6 Flash Memory Power Supply 7 Interval Timer

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】データ書込み要求に対して所定の記憶領域
単位の消去動作を必要とするメモリにおける消去動作の
進行状態を管理するメモリ動作管理方法において、 前記記憶領域毎にデータの展開状態を管理するデータ管
理情報を設定し、 上位のプログラム処理によりデータ書込み要求が発生す
ると、前記データ管理情報を参照して消去動作を必要と
する前記記憶領域を決定して消去動作を開始させ、 当該消去動作の開始とともに前記上位のプログラム処理
に処理権限を戻すとともに、前記消去動作を並行して実
行させ、 当該情報の発行後は、前記消去動作の進行状態を定期的
に監視して消去動作管理情報を設定及び更新して、 前記メモリにおける消去動作の進行状態を管理するよう
にしたことを特徴とするメモリ動作管理方法。
1. A memory operation management method for managing a progress status of an erase operation in a memory that requires an erase operation in units of a predetermined storage area in response to a data write request, wherein a developed state of data is managed for each storage area. When the data write request is generated by the higher-order program processing, the data management information is set, the memory area requiring the erase operation is determined, the erase operation is started, and the erase operation is performed. With the start of the operation, the processing authority is returned to the higher-order program processing, the erase operation is executed in parallel, and after the information is issued, the progress status of the erase operation is regularly monitored to display the erase operation management information. A memory operation management method, characterized in that setting and updating are performed to manage a progress state of an erase operation in the memory.
【請求項2】データ書込み要求に対して所定の記憶領域
単位の消去動作を必要とするメモリにおける消去動作の
進行状態を管理するメモリ動作管理方法において、 前記記憶領域毎にデータの展開状態を管理するデータ管
理情報を設定し、 上位のプログラム処理によりデータ書込み要求が発生す
ると、前記データ管理情報を参照して消去動作を必要と
する前記記憶領域を決定して消去動作を開始させ、 当該消去動作の開始とともに前記上位のプログラム処理
に処理権限を戻すとともに、前記消去動作を並行して実
行させ、 前記上位のプログラム処理の割り込み処理として前記消
去動作開始後の動作状態を定期的に監視させて消去動作
管理情報を設定及び更新し、 前記メモリにおける消去動作の進行状態を管理するよう
にしたことを特徴とするメモリ動作管理方法。
2. A memory operation management method for managing a progress status of an erase operation in a memory that requires an erase operation in units of a predetermined storage area in response to a data write request, wherein a developed state of data is managed for each storage area. When the data write request is generated by the higher-order program processing, the data management information is set, the memory area requiring the erase operation is determined, the erase operation is started, and the erase operation is performed. The processing authority is returned to the upper program processing at the same time as the start of the erase operation, the erase operation is executed in parallel, and the operation state after the start of the erase operation is periodically monitored as the interrupt processing of the upper program processing and erased. The operation management information is set and updated, and the progress of the erase operation in the memory is managed. Memory operation management method.
【請求項3】データ書込み要求に対して所定の記憶領域
単位の消去動作を必要とするメモリにおける消去動作の
進行状態を管理するメモリ動作管理装置において、 前記記憶領域毎にデータの展開状態を管理するデータ管
理情報を格納するデータ管理情報記憶手段と、 前記消去動作を管理する消去動作管理情報を格納する動
作管理情報記憶手段と、 上位のプログラム処理によりデータ書込み要求が発生す
ると、前記データ管理情報を参照して消去動作を必要と
する前記記憶領域を決定して消去動作を開始させるとと
もに、当該上位のプログラム処理に処理権限を戻して、
消去動作を並行して実行させ、前記消去動作開始後の動
作状態を定期的に監視して前記動作管理情報記憶手段に
消去動作管理情報を設定及び更新するメモリ動作管理手
段と、 を具備したことを特徴とするメモリ動作管理装置。
3. A memory operation management device for managing a progress status of an erase operation in a memory which requires an erase operation in units of a predetermined storage area in response to a data write request, wherein a developed state of data is managed for each storage area. Data management information storage means for storing data management information, operation management information storage means for storing erase operation management information for managing the erase operation, and the data management information when a data write request is generated by a higher-order program process. The erasing operation is started by determining the storage area that requires the erasing operation with reference to, and the processing authority is returned to the upper program processing,
Memory operation management means for executing the erase operation in parallel, periodically monitoring the operation state after the start of the erase operation, and setting and updating the erase operation management information in the operation management information storage means. And a memory operation management device.
【請求項4】前記メモリ動作管理手段は、前記消去動作
開始後の動作状態の定期的な監視を前記上位のプログラ
ム処理の割り込み処理として実行することを特徴とする
請求項3記載のメモリ動作管理装置。
4. The memory operation management unit according to claim 3, wherein the memory operation management unit executes periodical monitoring of an operation state after the start of the erase operation as an interrupt process of the upper program process. apparatus.
JP26175694A 1994-09-30 1994-09-30 Method and device for memory operation management Pending JPH08101788A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26175694A JPH08101788A (en) 1994-09-30 1994-09-30 Method and device for memory operation management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26175694A JPH08101788A (en) 1994-09-30 1994-09-30 Method and device for memory operation management

Publications (1)

Publication Number Publication Date
JPH08101788A true JPH08101788A (en) 1996-04-16

Family

ID=17366273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26175694A Pending JPH08101788A (en) 1994-09-30 1994-09-30 Method and device for memory operation management

Country Status (1)

Country Link
JP (1) JPH08101788A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377491B2 (en) 2000-03-06 2002-04-23 Fujitsu Limited Non-volatile memory for storing erase operation information
JP2007317078A (en) * 2006-05-29 2007-12-06 Matsushita Electric Ind Co Ltd Nonvolatile memory, memory controller, nonvolatile storage device, and nonvolatile storage system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377491B2 (en) 2000-03-06 2002-04-23 Fujitsu Limited Non-volatile memory for storing erase operation information
JP2007317078A (en) * 2006-05-29 2007-12-06 Matsushita Electric Ind Co Ltd Nonvolatile memory, memory controller, nonvolatile storage device, and nonvolatile storage system

Similar Documents

Publication Publication Date Title
JP2778786B2 (en) Data update / restoration processing method
KR100238925B1 (en) A recoverable disk control system with a non-volatile memory
JPH0644010A (en) Method and system for polling under sub-file in time zero-backup-copy-process
JPH08101788A (en) Method and device for memory operation management
JPH06149485A (en) Data completion guarantee processing method
JPH0789328B2 (en) Data processing device
JPS63140352A (en) Memory device for data base of on-line system
JP3313576B2 (en) Memory access control method and device
JP2846760B2 (en) Programmable controller
JPH064228A (en) Semiconductor disk device
JPS62269256A (en) Data storage system for semiconductor file
JPH0553732A (en) Dual disk system
JPH03257641A (en) Memory dump sampling system
JP3125634B2 (en) Electronic computer system
JPH0973372A (en) Method and device for storage control
JP3463696B2 (en) Online garbage collection processing method
JPH05151037A (en) Reorganization processing system for database in business processing
JPS63157238A (en) Computer
JP3009168B2 (en) Data processing device
JPS6349952A (en) Memory control system
JPH02161514A (en) Control processing system for idle storage block
JPH0552538B2 (en)
JPH08123725A (en) Write-back type cache system
JPH0346033A (en) Data transfer control method for inter-job
JP2002244935A (en) Storage managing device and storage managing method