JPH08101788A - メモリ動作管理方法及びメモリ動作管理装置 - Google Patents
メモリ動作管理方法及びメモリ動作管理装置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
Links
Landscapes
- Read Only Memory (AREA)
Abstract
(57)【要約】
【目的】 本発明は、フラッシュメモリにおける消去動
作を管理して消去動作の終了時間を短縮させるメモリ動
作管理方法及びメモリ動作管理装置を提供することであ
る。 【構成】 CPU2は、各種アプリケーションプログラ
ムに応じた各種プログラム処理を実行し、その各種プロ
グラム処理の実行中に必要に応じてフラッシュメモリド
ライバ3に対してデータ書込み要求コマンドを出力する
ために、フラッシュメモリ書込み要求処理プログラムを
実行して、フラッシュメモリドライバ3によりフラッシ
ュメモリ4に対する消去動作を開始させるとともに、消
去コマンドを発行することにより上位のアプリケーショ
ンプログラムに処理権限を戻し、上位のアプリケーショ
ンプログラム処理を次のステップに進行させる。
作を管理して消去動作の終了時間を短縮させるメモリ動
作管理方法及びメモリ動作管理装置を提供することであ
る。 【構成】 CPU2は、各種アプリケーションプログラ
ムに応じた各種プログラム処理を実行し、その各種プロ
グラム処理の実行中に必要に応じてフラッシュメモリド
ライバ3に対してデータ書込み要求コマンドを出力する
ために、フラッシュメモリ書込み要求処理プログラムを
実行して、フラッシュメモリドライバ3によりフラッシ
ュメモリ4に対する消去動作を開始させるとともに、消
去コマンドを発行することにより上位のアプリケーショ
ンプログラムに処理権限を戻し、上位のアプリケーショ
ンプログラム処理を次のステップに進行させる。
Description
【0001】
【産業上の利用分野】本発明は、フラッシュメモリの消
去動作の高速化を図るメモリ動作管理方法及びメモリ動
作管理装置に関する。
去動作の高速化を図るメモリ動作管理方法及びメモリ動
作管理装置に関する。
【0002】
【従来の技術】従来、主記憶装置の補助記憶装置として
ハードディスク装置等のディスクシステムが一般に使用
されているが、アクセスする際の動作時間がかかるた
め、より高速に動作する補助記憶装置に対する要求が高
まっている。この要求に対応するため、DRAM(Dyna
mic Random Accesss Memory )、SRAM(Static Ra
n-dom Accesss Memory)やフラッシュメモリ等の半導体
メモリを利用した半導体ディスク装置が実用化されてい
る。
ハードディスク装置等のディスクシステムが一般に使用
されているが、アクセスする際の動作時間がかかるた
め、より高速に動作する補助記憶装置に対する要求が高
まっている。この要求に対応するため、DRAM(Dyna
mic Random Accesss Memory )、SRAM(Static Ra
n-dom Accesss Memory)やフラッシュメモリ等の半導体
メモリを利用した半導体ディスク装置が実用化されてい
る。
【0003】特に、フラッシュメモリは、DRAMのよ
うにデータ保持のためのバッテリーバックアップが不要
で、かつDRAMより高集積化が可能であるため、大容
量を実現でき、ハードディスクやフロッピーディスク等
の代替も可能である。
うにデータ保持のためのバッテリーバックアップが不要
で、かつDRAMより高集積化が可能であるため、大容
量を実現でき、ハードディスクやフロッピーディスク等
の代替も可能である。
【0004】このフラッシュメモリへのデータ書込み要
求が発生した場合は、空き領域(データが書込まれてい
ない領域)があれば、所定のブロック単位で直ちに書込
み動作を実行することができるが、既にデータが書込ま
れていて上書きする場合は、一旦データが書込まれてい
る領域をブロック単位で消去動作を行った後、書込み動
作が行われる。
求が発生した場合は、空き領域(データが書込まれてい
ない領域)があれば、所定のブロック単位で直ちに書込
み動作を実行することができるが、既にデータが書込ま
れていて上書きする場合は、一旦データが書込まれてい
る領域をブロック単位で消去動作を行った後、書込み動
作が行われる。
【0005】
【発明が解決しようとする課題】しかしながら、このよ
うな従来の半導体ディスク装置としてのフラッシュメモ
リにあっては、データ書込み要求が発生して、既にデー
タが書込まれていて上書きする場合は、一旦データが書
込まれている領域をブロック単位で消去動作を行った
後、書込み動作が行われるようになっていたため、デー
タを消去する領域が大きい場合は、消去を終了するまで
に時間がかかり、データ書込み要求を発生した上位のプ
ログラム処理の中断時間を長引かせて、上位プログラム
の処理速度を低下させるという問題点があった。
うな従来の半導体ディスク装置としてのフラッシュメモ
リにあっては、データ書込み要求が発生して、既にデー
タが書込まれていて上書きする場合は、一旦データが書
込まれている領域をブロック単位で消去動作を行った
後、書込み動作が行われるようになっていたため、デー
タを消去する領域が大きい場合は、消去を終了するまで
に時間がかかり、データ書込み要求を発生した上位のプ
ログラム処理の中断時間を長引かせて、上位プログラム
の処理速度を低下させるという問題点があった。
【0006】本発明の課題は、フラッシュメモリにおけ
る消去動作を管理して消去動作の終了時間を短縮させる
メモリ動作管理方法及びメモリ動作管理装置を提供する
ことである。
る消去動作を管理して消去動作の終了時間を短縮させる
メモリ動作管理方法及びメモリ動作管理装置を提供する
ことである。
【0007】
【課題を解決するための手段】請求項1記載の発明は、
データ書込み要求に対して所定の記憶領域単位の消去動
作を必要とするメモリにおける消去動作の進行状態を管
理するメモリ動作管理方法において、前記記憶領域毎に
データの展開状態を管理するデータ管理情報を設定し、
上位のプログラム処理によりデータ書込み要求が発生す
ると、前記データ管理情報を参照して消去動作を必要と
する前記記憶領域を決定して消去動作を開始させ、当該
消去動作の開始とともに前記上位のプログラム処理に処
理権限を戻すとともに、前記消去動作を並行して実行さ
せ、当該情報の発行後は、前記消去動作の進行状態を定
期的に監視して消去動作管理情報を設定及び更新して、
前記メモリにおける消去動作の進行状態を管理するよう
にしたことを特徴としている。
データ書込み要求に対して所定の記憶領域単位の消去動
作を必要とするメモリにおける消去動作の進行状態を管
理するメモリ動作管理方法において、前記記憶領域毎に
データの展開状態を管理するデータ管理情報を設定し、
上位のプログラム処理によりデータ書込み要求が発生す
ると、前記データ管理情報を参照して消去動作を必要と
する前記記憶領域を決定して消去動作を開始させ、当該
消去動作の開始とともに前記上位のプログラム処理に処
理権限を戻すとともに、前記消去動作を並行して実行さ
せ、当該情報の発行後は、前記消去動作の進行状態を定
期的に監視して消去動作管理情報を設定及び更新して、
前記メモリにおける消去動作の進行状態を管理するよう
にしたことを特徴としている。
【0008】請求項2記載の発明は、データ書込み要求
に対して所定の記憶領域単位の消去動作を必要とするメ
モリにおける消去動作の進行状態を管理するメモリ動作
管理方法において、前記記憶領域毎にデータの展開状態
を管理するデータ管理情報を設定し、上位のプログラム
処理によりデータ書込み要求が発生すると、前記データ
管理情報を参照して消去動作を必要とする前記記憶領域
を決定して消去動作を開始させ、当該消去動作の開始と
ともに前記上位のプログラム処理に処理権限を戻すとと
もに、前記消去動作を並行して実行させ、前記上位のプ
ログラム処理の割り込み処理として前記消去動作開始後
の動作状態を定期的に監視させて消去動作管理情報を設
定及び更新し、前記メモリにおける消去動作の進行状態
を管理することを特徴としている。
に対して所定の記憶領域単位の消去動作を必要とするメ
モリにおける消去動作の進行状態を管理するメモリ動作
管理方法において、前記記憶領域毎にデータの展開状態
を管理するデータ管理情報を設定し、上位のプログラム
処理によりデータ書込み要求が発生すると、前記データ
管理情報を参照して消去動作を必要とする前記記憶領域
を決定して消去動作を開始させ、当該消去動作の開始と
ともに前記上位のプログラム処理に処理権限を戻すとと
もに、前記消去動作を並行して実行させ、前記上位のプ
ログラム処理の割り込み処理として前記消去動作開始後
の動作状態を定期的に監視させて消去動作管理情報を設
定及び更新し、前記メモリにおける消去動作の進行状態
を管理することを特徴としている。
【0009】請求項3記載の発明は、データ書込み要求
に対して所定の記憶領域単位の消去動作を必要とするメ
モリにおける消去動作の進行状態を管理するメモリ動作
管理装置において、前記記憶領域毎にデータの展開状態
を管理するデータ管理情報を格納するデータ管理情報記
憶手段と、前記消去動作を管理する消去動作管理情報を
格納する動作管理情報記憶手段と、上位のプログラム処
理によりデータ書込み要求が発生すると、前記データ管
理情報を参照して消去動作を必要とする前記記憶領域を
決定して消去動作を開始させるとともに、当該上位のプ
ログラム処理に処理権限を戻して、消去動作を並行して
実行させ、前記消去動作開始後の動作状態を定期的に監
視して前記動作管理情報記憶手段に消去動作管理情報を
設定及び更新するメモリ動作管理手段と、を具備したこ
とを特徴としている。
に対して所定の記憶領域単位の消去動作を必要とするメ
モリにおける消去動作の進行状態を管理するメモリ動作
管理装置において、前記記憶領域毎にデータの展開状態
を管理するデータ管理情報を格納するデータ管理情報記
憶手段と、前記消去動作を管理する消去動作管理情報を
格納する動作管理情報記憶手段と、上位のプログラム処
理によりデータ書込み要求が発生すると、前記データ管
理情報を参照して消去動作を必要とする前記記憶領域を
決定して消去動作を開始させるとともに、当該上位のプ
ログラム処理に処理権限を戻して、消去動作を並行して
実行させ、前記消去動作開始後の動作状態を定期的に監
視して前記動作管理情報記憶手段に消去動作管理情報を
設定及び更新するメモリ動作管理手段と、を具備したこ
とを特徴としている。
【0010】また、この場合、請求項4に記載するよう
に、前記メモリ動作管理手段は、前記消去動作開始後の
動作状態の定期的な監視を前記上位のプログラム処理の
割り込み処理として実行することが有効である。
に、前記メモリ動作管理手段は、前記消去動作開始後の
動作状態の定期的な監視を前記上位のプログラム処理の
割り込み処理として実行することが有効である。
【0011】
【作用】請求項1記載の発明によれば、データ書込み要
求に対して所定の記憶領域単位の消去動作を必要とする
メモリにおける消去動作の進行状態を管理するメモリ動
作管理方法において、前記記憶領域毎にデータの展開状
態を管理するデータ管理情報を設定し、上位のプログラ
ム処理によりデータ書込み要求が発生すると、前記デー
タ管理情報を参照して消去動作を必要とする前記記憶領
域を決定して消去動作を開始させ、当該消去動作の開始
とともに前記上位のプログラム処理に処理権限を戻すと
ともに、前記消去動作を並行して実行させ、当該情報の
発行後は、前記消去動作の進行状態を定期的に監視して
消去動作管理情報を設定及び更新して、前記メモリにお
ける消去動作の進行状態を管理する。
求に対して所定の記憶領域単位の消去動作を必要とする
メモリにおける消去動作の進行状態を管理するメモリ動
作管理方法において、前記記憶領域毎にデータの展開状
態を管理するデータ管理情報を設定し、上位のプログラ
ム処理によりデータ書込み要求が発生すると、前記デー
タ管理情報を参照して消去動作を必要とする前記記憶領
域を決定して消去動作を開始させ、当該消去動作の開始
とともに前記上位のプログラム処理に処理権限を戻すと
ともに、前記消去動作を並行して実行させ、当該情報の
発行後は、前記消去動作の進行状態を定期的に監視して
消去動作管理情報を設定及び更新して、前記メモリにお
ける消去動作の進行状態を管理する。
【0012】したがって、上位プログラム処理実行中の
メモリにおける消去動作完了までの待ち時間を短縮する
ことができ、上位プログラム処理の高速化を図ることが
できる。
メモリにおける消去動作完了までの待ち時間を短縮する
ことができ、上位プログラム処理の高速化を図ることが
できる。
【0013】請求項2記載の発明によれば、データ書込
み要求に対して所定の記憶領域単位の消去動作を必要と
するメモリにおける消去動作の進行状態を管理するメモ
リ動作管理方法において、前記記憶領域毎にデータの展
開状態を管理するデータ管理情報を設定し、上位のプロ
グラム処理によりデータ書込み要求が発生すると、前記
データ管理情報を参照して消去動作を必要とする前記記
憶領域を決定して消去動作を開始させ、当該消去動作の
開始とともに前記上位のプログラム処理に処理権限を戻
すとともに、前記消去動作を並行して実行させ、前記上
位のプログラム処理の割り込み処理として前記消去動作
開始後の動作状態を定期的に監視させて消去動作管理情
報を設定及び更新し、前記メモリにおける消去動作の進
行状態を管理する。
み要求に対して所定の記憶領域単位の消去動作を必要と
するメモリにおける消去動作の進行状態を管理するメモ
リ動作管理方法において、前記記憶領域毎にデータの展
開状態を管理するデータ管理情報を設定し、上位のプロ
グラム処理によりデータ書込み要求が発生すると、前記
データ管理情報を参照して消去動作を必要とする前記記
憶領域を決定して消去動作を開始させ、当該消去動作の
開始とともに前記上位のプログラム処理に処理権限を戻
すとともに、前記消去動作を並行して実行させ、前記上
位のプログラム処理の割り込み処理として前記消去動作
開始後の動作状態を定期的に監視させて消去動作管理情
報を設定及び更新し、前記メモリにおける消去動作の進
行状態を管理する。
【0014】したがって、上位プログラム処理実行中の
メモリにおける消去動作完了までの待ち時間を短縮する
ことができるとともに、メモリにおける消去動作の進行
状態を上位プログラム側で確実に把握させて、上位プロ
グラム処理の高速化を図ることができる。
メモリにおける消去動作完了までの待ち時間を短縮する
ことができるとともに、メモリにおける消去動作の進行
状態を上位プログラム側で確実に把握させて、上位プロ
グラム処理の高速化を図ることができる。
【0015】請求項3記載の発明によれば、データ書込
み要求に対して所定の記憶領域単位の消去動作を必要と
するメモリにおける消去動作の進行状態を管理するメモ
リ動作管理装置において、前記記憶領域毎にデータの展
開状態を管理するデータ管理情報をデータ管理情報記憶
手段に格納し、前記消去動作を管理する消去動作管理情
報を動作管理情報記憶手段に格納し、上位のプログラム
処理によりデータ書込み要求が発生すると、メモリ動作
管理手段により、前記データ管理情報を参照して消去動
作を必要とする前記記憶領域を決定して消去動作を開始
させるとともに、当該上位のプログラム処理に処理権限
を戻して、消去動作を並行して実行させ、前記消去動作
開始後の動作状態を定期的に監視して前記動作管理情報
記憶手段に消去動作管理情報を設定及び更新する。
み要求に対して所定の記憶領域単位の消去動作を必要と
するメモリにおける消去動作の進行状態を管理するメモ
リ動作管理装置において、前記記憶領域毎にデータの展
開状態を管理するデータ管理情報をデータ管理情報記憶
手段に格納し、前記消去動作を管理する消去動作管理情
報を動作管理情報記憶手段に格納し、上位のプログラム
処理によりデータ書込み要求が発生すると、メモリ動作
管理手段により、前記データ管理情報を参照して消去動
作を必要とする前記記憶領域を決定して消去動作を開始
させるとともに、当該上位のプログラム処理に処理権限
を戻して、消去動作を並行して実行させ、前記消去動作
開始後の動作状態を定期的に監視して前記動作管理情報
記憶手段に消去動作管理情報を設定及び更新する。
【0016】したがって、上位プログラム処理実行中の
メモリにおける消去動作完了までの待ち時間を短縮する
ことができ、上位プログラム処理の高速化を図るメモリ
動作管理装置を提供することができる。
メモリにおける消去動作完了までの待ち時間を短縮する
ことができ、上位プログラム処理の高速化を図るメモリ
動作管理装置を提供することができる。
【0017】請求項4記載の発明によれば、前記メモリ
動作管理手段は、前記消去動作開始後の動作状態の定期
的な監視を前記上位のプログラム処理の割り込み処理と
して実行するようにしたため、メモリにおける消去動作
の進行状態を上位プログラム側で確実に把握させること
ができる。
動作管理手段は、前記消去動作開始後の動作状態の定期
的な監視を前記上位のプログラム処理の割り込み処理と
して実行するようにしたため、メモリにおける消去動作
の進行状態を上位プログラム側で確実に把握させること
ができる。
【0018】
【実施例】以下、図1〜図17を参照して実施例を詳細
に説明する。図1〜図17は、本発明をDOSシステム
によりフラッシュメモリを利用するコンピュータシステ
ムに適用した場合の一実施例を示す図である。まず、構
成を説明する。図1は、コンピュータシステム1のブロ
ック構成を示す図である。この図において、コンピュー
タシステム1は、CPU2、フラッシュメモリドライバ
3、フラッシュメモリ4、フラッシュメモリ管理用メモ
リ5、フラッシュメモリ電源6及びインターバルタイマ
ー7により構成されている。
に説明する。図1〜図17は、本発明をDOSシステム
によりフラッシュメモリを利用するコンピュータシステ
ムに適用した場合の一実施例を示す図である。まず、構
成を説明する。図1は、コンピュータシステム1のブロ
ック構成を示す図である。この図において、コンピュー
タシステム1は、CPU2、フラッシュメモリドライバ
3、フラッシュメモリ4、フラッシュメモリ管理用メモ
リ5、フラッシュメモリ電源6及びインターバルタイマ
ー7により構成されている。
【0019】CPU(Central Processing Unit )2
は、DOS(Disk Operating System)システムに基づ
いて動作する各種アプリケーションプログラムに応じた
各種プログラム処理を実行し、その各種プログラム処理
の実行中に必要に応じてフラッシュメモリドライバ3に
対してデータ書込み要求コマンドを出力するために、後
述するフラッシュメモリ書込み要求処理プログラムを実
行して、フラッシュメモリドライバ3によりフラッシュ
メモリ4に対する消去動作を開始させるとともに、消去
コマンドを発行することにより上位のアプリケーション
プログラムに処理権限を戻し、上位のアプリケーション
プログラム処理を次のステップに進行させる。
は、DOS(Disk Operating System)システムに基づ
いて動作する各種アプリケーションプログラムに応じた
各種プログラム処理を実行し、その各種プログラム処理
の実行中に必要に応じてフラッシュメモリドライバ3に
対してデータ書込み要求コマンドを出力するために、後
述するフラッシュメモリ書込み要求処理プログラムを実
行して、フラッシュメモリドライバ3によりフラッシュ
メモリ4に対する消去動作を開始させるとともに、消去
コマンドを発行することにより上位のアプリケーション
プログラムに処理権限を戻し、上位のアプリケーション
プログラム処理を次のステップに進行させる。
【0020】また、CPU2は、消去動作を開始させた
後、インターバルタイマー7を起動させて、このインタ
ーバルタイマー7のタイムアップ毎に所定間隔で入力さ
れる割り込み要求により、後述するタイマー割り込み処
理を実行して、フラッシュメモリ4における消去動作の
進行状態をフラッシュメモリドライバ3によりチェック
させる。
後、インターバルタイマー7を起動させて、このインタ
ーバルタイマー7のタイムアップ毎に所定間隔で入力さ
れる割り込み要求により、後述するタイマー割り込み処
理を実行して、フラッシュメモリ4における消去動作の
進行状態をフラッシュメモリドライバ3によりチェック
させる。
【0021】フラッシュメモリドライバ3は、CPU2
において実行される上位の各種アプリケーションプログ
ラム処理により発生するデータ書込み要求コマンドが入
力されると、後述するダーティセクタのクリーンアップ
処理をフラッシュメモリ管理用メモリ5に設定する後述
する空きセクタ管理情報及びブロック消去情報を利用し
て実行する。
において実行される上位の各種アプリケーションプログ
ラム処理により発生するデータ書込み要求コマンドが入
力されると、後述するダーティセクタのクリーンアップ
処理をフラッシュメモリ管理用メモリ5に設定する後述
する空きセクタ管理情報及びブロック消去情報を利用し
て実行する。
【0022】すなわち、クリーンアップ処理に際してフ
ラッシュメモリドライバ3は、フラッシュメモリ4内を
ブロック単位で空きエリア(未使用エリア)かダーティ
エリア(上書不可で処理済不要データ格納エリア)かを
管理する空きセクタ管理情報(データ管理情報)及びブ
ロック消去情報をフラッシュメモリ管理用メモリ5に設
定及び更新することにより、フラッシュメモリ4内にデ
ータを書込む空き領域を再構成する消去動作を実行す
る。そして、この消去動作が終了した後、フラッシュメ
モリドライバ3は、書込み要求のあったフラッシュメモ
リ4内のセクタに対するデータ書込み動作を、後述する
フラッシュメモリ管理用メモリ5に格納されるアロケー
ションテーブル情報を参照して実行する。
ラッシュメモリドライバ3は、フラッシュメモリ4内を
ブロック単位で空きエリア(未使用エリア)かダーティ
エリア(上書不可で処理済不要データ格納エリア)かを
管理する空きセクタ管理情報(データ管理情報)及びブ
ロック消去情報をフラッシュメモリ管理用メモリ5に設
定及び更新することにより、フラッシュメモリ4内にデ
ータを書込む空き領域を再構成する消去動作を実行す
る。そして、この消去動作が終了した後、フラッシュメ
モリドライバ3は、書込み要求のあったフラッシュメモ
リ4内のセクタに対するデータ書込み動作を、後述する
フラッシュメモリ管理用メモリ5に格納されるアロケー
ションテーブル情報を参照して実行する。
【0023】また、フラッシュメモリドライバ3は、上
記CPU2によりフラッシュメモリ書込み要求処理によ
り入力されるタイマー起動コマンドをインターバルタイ
マー7に転送して、インターバルタイマー7を起動させ
る。そして、CPU2によりタイマー割り込み処理が実
行されると、フラッシュメモリ4に対して消去動作の進
行状態をチェックするコマンドを出力し、フラッシュメ
モリ4から応答されるステータス情報によりフラッシュ
メモリ管理用メモリ5に記憶されるブロック消去情報に
おける消去管理情報の設定を変更する。
記CPU2によりフラッシュメモリ書込み要求処理によ
り入力されるタイマー起動コマンドをインターバルタイ
マー7に転送して、インターバルタイマー7を起動させ
る。そして、CPU2によりタイマー割り込み処理が実
行されると、フラッシュメモリ4に対して消去動作の進
行状態をチェックするコマンドを出力し、フラッシュメ
モリ4から応答されるステータス情報によりフラッシュ
メモリ管理用メモリ5に記憶されるブロック消去情報に
おける消去管理情報の設定を変更する。
【0024】さらに、フラッシュメモリドライバ3は、
消去動作を実行中に、CPU2からデータ読み込み要求
が入力された場合は、後述するフラッシュメモリ読み込
み要求処理を実行し、消去動作を中断させ、読み込み要
求があったデータの読み出し処理を行った後、消去動作
を再開させる。
消去動作を実行中に、CPU2からデータ読み込み要求
が入力された場合は、後述するフラッシュメモリ読み込
み要求処理を実行し、消去動作を中断させ、読み込み要
求があったデータの読み出し処理を行った後、消去動作
を再開させる。
【0025】フラッシュメモリ4は、図2に示すよう
に、例えば、64kバイトの記憶容量を1単位とするバ
ンクNo.(バンク00〜バンク31)により分割され
た、実際にデータが書込まれるデータ記憶領域と、この
データ記憶領域に書込まれたデータ内容をバンクNo.
毎に管理するブロック管理情報を記憶する管理情報記憶
領域とを形成している。この管理情報記憶領域は、デー
タ記憶領域の各バンクNo.に対応する論理的なブロッ
クIDNo.(ID00〜ID31)が設定されて分割
されており、“ID00”の領域には、フラッシュメモ
リ4内全体の管理領域及びデータ領域を管理する情報が
記憶される。
に、例えば、64kバイトの記憶容量を1単位とするバ
ンクNo.(バンク00〜バンク31)により分割され
た、実際にデータが書込まれるデータ記憶領域と、この
データ記憶領域に書込まれたデータ内容をバンクNo.
毎に管理するブロック管理情報を記憶する管理情報記憶
領域とを形成している。この管理情報記憶領域は、デー
タ記憶領域の各バンクNo.に対応する論理的なブロッ
クIDNo.(ID00〜ID31)が設定されて分割
されており、“ID00”の領域には、フラッシュメモ
リ4内全体の管理領域及びデータ領域を管理する情報が
記憶される。
【0026】また、図2において、管理情報記憶領域の
“ID01〜ID29”は、データ記憶領域にバンク単
位でデータを書込む際の空き領域を指定するバンクN
o.を記憶するデータ領域を形成し、図中に矢印で示す
ように、各データ領域のIDNo.にはバンクNo.が
動的に割り当てられる。さらに、管理情報記憶領域の
“ID30”には、DOSシステムに必要な管理情報
(例えば、ディレクトリ情報やFAT情報)を記憶する
DOS管理領域を形成し、“ID31”には、データ記
憶領域のバンク内にセクタ単位で空き領域を形成する際
に、必要なセクタのデータを退避させて、空きセクタを
含む新たなデータ記憶領域を再構成する消去用領域を形
成し、1ブロック分の記憶容量を有する。
“ID01〜ID29”は、データ記憶領域にバンク単
位でデータを書込む際の空き領域を指定するバンクN
o.を記憶するデータ領域を形成し、図中に矢印で示す
ように、各データ領域のIDNo.にはバンクNo.が
動的に割り当てられる。さらに、管理情報記憶領域の
“ID30”には、DOSシステムに必要な管理情報
(例えば、ディレクトリ情報やFAT情報)を記憶する
DOS管理領域を形成し、“ID31”には、データ記
憶領域のバンク内にセクタ単位で空き領域を形成する際
に、必要なセクタのデータを退避させて、空きセクタを
含む新たなデータ記憶領域を再構成する消去用領域を形
成し、1ブロック分の記憶容量を有する。
【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”をセットした場合に、各動作及び要求
が進行中であることを示している。
に示すように、ブロック消去情報を格納する。このブロ
ック消去情報は、フラッシュメモリ4内の消去動作を管
理するための管理情報であり、5バイト長で構成され、
先頭の1バイト部分に消去管理情報を記憶し、次の2バ
イト部分にブロックID情報(図2に示すブロックID
No.)を記憶し、次の2バイト部分にバンクNo.情
報(図2に示すバンクNo.位置情報)を記憶してい
る。消去管理情報は、その8ビット構成の各ビットを図
中に示すように設定しており、例えば、ビット0を高速
イレーズ実行要求設定用、ビット1を高速イレーズ実行
待ち設定用、ビット2を高速イレーズ実行中設定用、ビ
ット3を高速イレーズ実行中断要求設定用、ビット4を
高速イレーズID書込み要求設定用、ビット5は設定無
し、ビット6を通常イレーズ実行要求設定用、ビット7
をフォーマットイレーズ実行要求設定用としている。各
ビットとも“1”をセットした場合に、各動作及び要求
が進行中であることを示している。
【0028】したがって、このブロック消去情報を、上
記フラッシュメモリドライバ3が消去動作の進行状態に
応じて変更することにより、消去動作の進行状態が管理
される。
記フラッシュメモリドライバ3が消去動作の進行状態に
応じて変更することにより、消去動作の進行状態が管理
される。
【0029】また、フラッシュメモリ管理用メモリ5に
は、図4に示すように、空きセクタ管理情報を格納す
る。この空きセクタ管理情報は、上記フラッシュメモリ
ドライバ3によりクリーンアップ処理が実行される際に
利用される管理情報であり、フラッシュメモリ4内の各
IDNo.と対応するIDNo.制御情報(ID00〜
ID32)を格納するように形成されている。各IDN
o.制御情報は、図中に示すように、5バイト長で構成
され、先頭の1バイト部分にはバンクNo.を、次の2
バイト部分には空きエリアカウント情報を、次の2バイ
ト分にはダーティエリアカウント情報を、リンクして記
憶している。
は、図4に示すように、空きセクタ管理情報を格納す
る。この空きセクタ管理情報は、上記フラッシュメモリ
ドライバ3によりクリーンアップ処理が実行される際に
利用される管理情報であり、フラッシュメモリ4内の各
IDNo.と対応するIDNo.制御情報(ID00〜
ID32)を格納するように形成されている。各IDN
o.制御情報は、図中に示すように、5バイト長で構成
され、先頭の1バイト部分にはバンクNo.を、次の2
バイト部分には空きエリアカウント情報を、次の2バイ
ト分にはダーティエリアカウント情報を、リンクして記
憶している。
【0030】ここで、空きエリアカウント情報とは、そ
のバンクNo.の領域中に空きセクタがいくつあるかを
示す情報であり、ダーティエリアカウント情報とは、そ
のバンクNo.の領域中にダーティセクタがいくつある
かを示す情報である。
のバンクNo.の領域中に空きセクタがいくつあるかを
示す情報であり、ダーティエリアカウント情報とは、そ
のバンクNo.の領域中にダーティセクタがいくつある
かを示す情報である。
【0031】さらに、フラッシュメモリ管理用メモリ5
には、図5に示すように、アロケーションテーブル情報
を格納する。このアロケーションテーブル情報は、フラ
ッシュメモリ4内全体のデータ展開状態を管理する管理
情報であり、論理セクタ0〜n(n:最終セクタ)で分
割された情報格納領域を形成し、各情報格納領域には、
フラッシュメモリ4内のデータが書込まれているセクタ
位置を管理するエリアポインタNo.と、そのセクタ位
置を含むブロックIDをリンクさせて記憶する。具体的
には、図中に示すフラッシュメモリ4内に実際に格納さ
れているエリアポインタテーブル(リンクポインタN
o.及びブロックID)と、データ領域に展開されるデ
ータのリンク関係を示す情報(Nextリンクポインタ
及びブロックID)をコピーした情報を格納している。
には、図5に示すように、アロケーションテーブル情報
を格納する。このアロケーションテーブル情報は、フラ
ッシュメモリ4内全体のデータ展開状態を管理する管理
情報であり、論理セクタ0〜n(n:最終セクタ)で分
割された情報格納領域を形成し、各情報格納領域には、
フラッシュメモリ4内のデータが書込まれているセクタ
位置を管理するエリアポインタNo.と、そのセクタ位
置を含むブロックIDをリンクさせて記憶する。具体的
には、図中に示すフラッシュメモリ4内に実際に格納さ
れているエリアポインタテーブル(リンクポインタN
o.及びブロックID)と、データ領域に展開されるデ
ータのリンク関係を示す情報(Nextリンクポインタ
及びブロックID)をコピーした情報を格納している。
【0032】フラッシュメモリ電源6は、フラッシュメ
モリ4の消去動作に必要な駆動電圧Vppを供給する電源
であり、フラッシュメモリドライバ3から入力される電
源ON/OFF信号により駆動電圧Vppの供給と停止が
制御される。
モリ4の消去動作に必要な駆動電圧Vppを供給する電源
であり、フラッシュメモリドライバ3から入力される電
源ON/OFF信号により駆動電圧Vppの供給と停止が
制御される。
【0033】インターバルタイマー7は、CPU2に対
してタイマー割り込み処理を実行させる割込要求を出力
する間隔をタイミングを設定するタイマーであり、フラ
ッシュメモリドライバ3から入力されるタイマー起動コ
マンドにより起動される。
してタイマー割り込み処理を実行させる割込要求を出力
する間隔をタイミングを設定するタイマーであり、フラ
ッシュメモリドライバ3から入力されるタイマー起動コ
マンドにより起動される。
【0034】次に、動作を説明する。まず、上記CPU
2により実行されるフラッシュメモリ書込み要求処理に
ついて図6のフローチャートに基づいて説明する。CP
U2において、アプリケーションプログラム処理実行中
にフラッシュメモリ4への書込み要求が発生すると、フ
ラッシュメモリ書込み要求処理を開始し、フラッシュメ
モリ4に空きセクタが有るか否かをフラッシュメモリド
ライバ3を介してフラッシュメモリ管理用メモリ5に記
憶されている空きセクタ管理情報により判断し(ステッ
プS1)、空きセクタが有る場合は、指定されたセクタ
へのデータ書込みコマンドをフラッシュメモリドライバ
3に出力して、フラッシュメモリ4への書込み動作を開
始させる(ステップS2)。
2により実行されるフラッシュメモリ書込み要求処理に
ついて図6のフローチャートに基づいて説明する。CP
U2において、アプリケーションプログラム処理実行中
にフラッシュメモリ4への書込み要求が発生すると、フ
ラッシュメモリ書込み要求処理を開始し、フラッシュメ
モリ4に空きセクタが有るか否かをフラッシュメモリド
ライバ3を介してフラッシュメモリ管理用メモリ5に記
憶されている空きセクタ管理情報により判断し(ステッ
プS1)、空きセクタが有る場合は、指定されたセクタ
へのデータ書込みコマンドをフラッシュメモリドライバ
3に出力して、フラッシュメモリ4への書込み動作を開
始させる(ステップS2)。
【0035】次いで、その指定セクタのデータ書込みに
際して、その指定セクタのデータ消去が必要か否かをフ
ラッシュメモリ管理用メモリ5に記憶されているブロッ
ク消去情報に設定されている消去管理情報を参照して判
断する(ステップS3)。消去が必要ない場合は、本処
理を終了し、消去が必要ある場合は、電源ONコマンド
をフラッシュメモリドライバ3を介してフラッシュメモ
リ電源6に出力して、消去用駆動電圧Vppをフラッシュ
メモリ4に供給させて、消去動作を開始させる(ステッ
プS4)。
際して、その指定セクタのデータ消去が必要か否かをフ
ラッシュメモリ管理用メモリ5に記憶されているブロッ
ク消去情報に設定されている消去管理情報を参照して判
断する(ステップS3)。消去が必要ない場合は、本処
理を終了し、消去が必要ある場合は、電源ONコマンド
をフラッシュメモリドライバ3を介してフラッシュメモ
リ電源6に出力して、消去用駆動電圧Vppをフラッシュ
メモリ4に供給させて、消去動作を開始させる(ステッ
プS4)。
【0036】そして、消去コマンドを発行し(ステップ
S5)、タイマー起動コマンドをフラッシュメモリドラ
イバ3を介してインターバルタイマー7に出力して、イ
ンターバルタイマー7を起動させて(ステップS6)、
本処理を終了する。
S5)、タイマー起動コマンドをフラッシュメモリドラ
イバ3を介してインターバルタイマー7に出力して、イ
ンターバルタイマー7を起動させて(ステップS6)、
本処理を終了する。
【0037】また、ステップS1において空きセクタが
無いと判断した場合は、フラッシュメモリドライバ3に
よりダーティセクタのクリーンアップ処理を実行させる
(ステップS7)。
無いと判断した場合は、フラッシュメモリドライバ3に
よりダーティセクタのクリーンアップ処理を実行させる
(ステップS7)。
【0038】ここで、フラッシュメモリドライバ3によ
り実行されるダーティセクタのクリーンアップ処理につ
いて図7〜図10を参照して説明する。まず、クリーン
アップ処理を行う前に、指定セクタが含まれるブロック
IDNo.の状態をフラッシュメモリ管理用メモリ5に
記憶されている該当ブロックIDNo.の空きセクタ管
理情報、例えば、図7に示す空きセクタ管理情報を参照
してチェックする。この図7の空きセクタ管理情報は、
ブロックIDlの管理情報でデータ記憶領域のバンクN
o.mに対応し、空きエリアカウント情報が“0”(空
きセクタ無しを示す)で、ダーティエリアカウント情報
が“n”(ダーティエリアがn個)であることを示して
いる。
り実行されるダーティセクタのクリーンアップ処理につ
いて図7〜図10を参照して説明する。まず、クリーン
アップ処理を行う前に、指定セクタが含まれるブロック
IDNo.の状態をフラッシュメモリ管理用メモリ5に
記憶されている該当ブロックIDNo.の空きセクタ管
理情報、例えば、図7に示す空きセクタ管理情報を参照
してチェックする。この図7の空きセクタ管理情報は、
ブロックIDlの管理情報でデータ記憶領域のバンクN
o.mに対応し、空きエリアカウント情報が“0”(空
きセクタ無しを示す)で、ダーティエリアカウント情報
が“n”(ダーティエリアがn個)であることを示して
いる。
【0039】このクリーンアップ処理を行う前のブロッ
クIDl内の具体的なデータ展開状態を図8に示す。こ
の図8において、先頭セクタには、ブロックIDl全体
のデータ展開状態を示すエリアポインタテーブルが記憶
されており、このエリアポインタテーブルでは、セクタ
Aから格納されるデータの開始ポインタと、セクタBか
ら格納されるデータの開始ポインタと、セクタCから格
納されるデータの開始ポインタがそれぞれ記憶されてい
る。
クIDl内の具体的なデータ展開状態を図8に示す。こ
の図8において、先頭セクタには、ブロックIDl全体
のデータ展開状態を示すエリアポインタテーブルが記憶
されており、このエリアポインタテーブルでは、セクタ
Aから格納されるデータの開始ポインタと、セクタBか
ら格納されるデータの開始ポインタと、セクタCから格
納されるデータの開始ポインタがそれぞれ記憶されてい
る。
【0040】そして、図中の斜線部分はダーティセクタ
(上書不可で処理済不要データ格納エリア)を示し、各
ダーティセクタの先頭部分には、開始ポインタを含むセ
クタA、セクタB、セクタCにそれぞれリンクするセク
タのリンクポインタが格納されており、図中では、セク
タAにリンクするデータを実線、セクタBにリンクする
データを一点鎖線、セクタCにリンクするデータを点線
でそれぞれ示している。なお、各セクタA、B、Cにリ
ンクするデータのうち図中に示す最終セクタのデータ
は、各セクタデータを利用した処理において最終に処理
された必要なデータであるため、消去の対象、すなわ
ち、ダーティセクタとならない。
(上書不可で処理済不要データ格納エリア)を示し、各
ダーティセクタの先頭部分には、開始ポインタを含むセ
クタA、セクタB、セクタCにそれぞれリンクするセク
タのリンクポインタが格納されており、図中では、セク
タAにリンクするデータを実線、セクタBにリンクする
データを一点鎖線、セクタCにリンクするデータを点線
でそれぞれ示している。なお、各セクタA、B、Cにリ
ンクするデータのうち図中に示す最終セクタのデータ
は、各セクタデータを利用した処理において最終に処理
された必要なデータであるため、消去の対象、すなわ
ち、ダーティセクタとならない。
【0041】このようなブロックIDlに対してクリー
ンアップ処理を実行すると、上記図2に示したフラッシ
ュメモリ4の管理情報記憶領域内のブロックID31の
消去用領域に図9に示すように、図8に示す最終セクタ
A、B、Cの必要データを詰めた状態で退避させるとと
もに、その退避したセクタの各開始ポインタデータを先
頭セクタにエリアポインタテーブルとして格納して、ブ
ロックIDlの内容を再構成することにより、図中に示
すようにバンクOに対応するnセクタ分の空き領域を形
成して、クリーンアップ処理を終了する。
ンアップ処理を実行すると、上記図2に示したフラッシ
ュメモリ4の管理情報記憶領域内のブロックID31の
消去用領域に図9に示すように、図8に示す最終セクタ
A、B、Cの必要データを詰めた状態で退避させるとと
もに、その退避したセクタの各開始ポインタデータを先
頭セクタにエリアポインタテーブルとして格納して、ブ
ロックIDlの内容を再構成することにより、図中に示
すようにバンクOに対応するnセクタ分の空き領域を形
成して、クリーンアップ処理を終了する。
【0042】以上のようにフラッシュメモリドライバ3
によるクリーンアップ処理を終了すると、再び、図6の
ステップS8に戻り、図10に示すように、ブロックI
D31の空きセクタ管理情報を設定して、その再構成し
た指定セクタの空き領域に対するデータ書込み要求コマ
ンドをフラッシュメモリドライバ3に出力し、フラッシ
ュメモリ4への書込み動作を開始させる(ステップS
9)。次いで、上記ステップS3以降の処理を実行す
る。
によるクリーンアップ処理を終了すると、再び、図6の
ステップS8に戻り、図10に示すように、ブロックI
D31の空きセクタ管理情報を設定して、その再構成し
た指定セクタの空き領域に対するデータ書込み要求コマ
ンドをフラッシュメモリドライバ3に出力し、フラッシ
ュメモリ4への書込み動作を開始させる(ステップS
9)。次いで、上記ステップS3以降の処理を実行す
る。
【0043】次に、上記ステップS6におけるインター
バルタイマー7の起動により、そのインターバルタイマ
ー7から設定時間間隔で発生される割り込み要求コマン
ドがCPU2に出力される毎に、CPU2により実行さ
れるタイマー割込み処理について図11に示すフローチ
ャートに基づいて説明する。
バルタイマー7の起動により、そのインターバルタイマ
ー7から設定時間間隔で発生される割り込み要求コマン
ドがCPU2に出力される毎に、CPU2により実行さ
れるタイマー割込み処理について図11に示すフローチ
ャートに基づいて説明する。
【0044】インターバルタイマー7から割り込み要求
コマンドが入力されると、タイマー割込み処理を開始
し、フラッシュメモリドライバ3を介してフラッシュメ
モリ4が消去動作中か否かを確認する(ステップS1
1)。消去動作中でない場合は、直ちに本処理を終了
し、消去動作中の場合は、フラッシュメモリ4の動作状
態を確認するためステータスリードコマンドをフラッシ
ュメモリドライバ4に出力して(ステップS12)、フ
ラッシュメモリドライバ4により戻されるステータスに
より消去動作が完了したか否かを判断する(ステップS
13)。消去動作が完了していない場合は、本処理を終
了し、消去動作が完了している場合は、フラッシュメモ
リドライバ3を介してフラッシュメモリ電源6に電源O
FF信号を出力して、消去用駆動電圧Vppのフラッシュ
メモリ4への供給を停止させる(ステップS14)。
コマンドが入力されると、タイマー割込み処理を開始
し、フラッシュメモリドライバ3を介してフラッシュメ
モリ4が消去動作中か否かを確認する(ステップS1
1)。消去動作中でない場合は、直ちに本処理を終了
し、消去動作中の場合は、フラッシュメモリ4の動作状
態を確認するためステータスリードコマンドをフラッシ
ュメモリドライバ4に出力して(ステップS12)、フ
ラッシュメモリドライバ4により戻されるステータスに
より消去動作が完了したか否かを判断する(ステップS
13)。消去動作が完了していない場合は、本処理を終
了し、消去動作が完了している場合は、フラッシュメモ
リドライバ3を介してフラッシュメモリ電源6に電源O
FF信号を出力して、消去用駆動電圧Vppのフラッシュ
メモリ4への供給を停止させる(ステップS14)。
【0045】次いで、フラッシュメモリドライバ3を介
してインターバルタイマー7にタイマー停止コマンドを
出力して、インターバルタイマー7を停止させ(ステッ
プS15)、消去を完了したブロックのフラッシュメモ
リ管理用メモリ5に記憶されているブロック消去情報を
クリアして(ステップS16)、本処理を終了する。な
お、以上のタイマー割込み処理の処理時間は、メインの
アプリケーション処理時間に比べてμsecオーダーと
いう非常に短い時間で行われるため、CPU2における
アプリケーション処理時間を長引かせるという事態には
ならない。
してインターバルタイマー7にタイマー停止コマンドを
出力して、インターバルタイマー7を停止させ(ステッ
プS15)、消去を完了したブロックのフラッシュメモ
リ管理用メモリ5に記憶されているブロック消去情報を
クリアして(ステップS16)、本処理を終了する。な
お、以上のタイマー割込み処理の処理時間は、メインの
アプリケーション処理時間に比べてμsecオーダーと
いう非常に短い時間で行われるため、CPU2における
アプリケーション処理時間を長引かせるという事態には
ならない。
【0046】以上のフラッシュメモリ書込み要求処理及
びタイマー割込み処理によるCPU2とフラッシュメモ
リドライバ3によるフラッシュメモリ4に対する動作の
関係は図12に示すようになり、消去コマンド発生によ
りCPU2のアプリケーション処理とフラッシュメモリ
ドライバ3の管理のもとに実行される消去動作が並行し
て行われる。このため、CPU2では、書込み要求コマ
ンドを発生した後、フラッシュメモリ4の消去動作の完
了を待つ時間を短縮することができ、上位のアプリケー
ションプログラムによる処理時間を短縮することができ
る。その結果、CPU2で実行される上位のアプリケー
ションプログラム処理の高速化を図ることができる。
びタイマー割込み処理によるCPU2とフラッシュメモ
リドライバ3によるフラッシュメモリ4に対する動作の
関係は図12に示すようになり、消去コマンド発生によ
りCPU2のアプリケーション処理とフラッシュメモリ
ドライバ3の管理のもとに実行される消去動作が並行し
て行われる。このため、CPU2では、書込み要求コマ
ンドを発生した後、フラッシュメモリ4の消去動作の完
了を待つ時間を短縮することができ、上位のアプリケー
ションプログラムによる処理時間を短縮することができ
る。その結果、CPU2で実行される上位のアプリケー
ションプログラム処理の高速化を図ることができる。
【0047】次に、上記クリーンアップ処理が終了した
後に、図9に再構成された空きセクタに対して行われる
データ書込み処理について図13〜図16を参照して説
明する。図13は、上記図9のブロックIDl(バンク
O)に再構成された空きセクタにセクタAにリンクする
データとしてデータが書込まれた場合を示している。
後に、図9に再構成された空きセクタに対して行われる
データ書込み処理について図13〜図16を参照して説
明する。図13は、上記図9のブロックIDl(バンク
O)に再構成された空きセクタにセクタAにリンクする
データとしてデータが書込まれた場合を示している。
【0048】この書込みの結果、図13では、書込み前
にセクタAの最終データであった部分がダーティセクタ
(図中の斜線部分)にされ、そのダーティセクタの先頭
にリンクポインタが設定される。そして、このブロック
IDlに対応してフラッシュメモリ管理用メモリ5に記
憶されている空きセクタ管理情報は、図14に示すよう
に変更される。すなわち、空きエリアカウントが“n”
から“n−1”に変更され、ダーティエリアカウントが
“0”から“1”に変更される。
にセクタAの最終データであった部分がダーティセクタ
(図中の斜線部分)にされ、そのダーティセクタの先頭
にリンクポインタが設定される。そして、このブロック
IDlに対応してフラッシュメモリ管理用メモリ5に記
憶されている空きセクタ管理情報は、図14に示すよう
に変更される。すなわち、空きエリアカウントが“n”
から“n−1”に変更され、ダーティエリアカウントが
“0”から“1”に変更される。
【0049】そして、このデータ書込み終了後、クリー
ンアップ処理において消去用領域であるブロックID3
1に展開した内容を消去するため、フラッシュメモリ管
理用メモリ5に記憶されているブロック消去情報を、図
15に示すように設定する。この場合は、消去管理情報
として高速イレーズ実行要求をセット(図3に示したビ
ット0を“1”にセット)し、ブロックIDl及びバン
クNo.mをセットすることにより、上記消去動作に基
づくデータの消去処理を実行させて、ブロックID31
に展開した内容を消去させる。
ンアップ処理において消去用領域であるブロックID3
1に展開した内容を消去するため、フラッシュメモリ管
理用メモリ5に記憶されているブロック消去情報を、図
15に示すように設定する。この場合は、消去管理情報
として高速イレーズ実行要求をセット(図3に示したビ
ット0を“1”にセット)し、ブロックIDl及びバン
クNo.mをセットすることにより、上記消去動作に基
づくデータの消去処理を実行させて、ブロックID31
に展開した内容を消去させる。
【0050】このブロックID31における消去動作を
完了すると、ブロックID31の空きセクタ管理情報
は、図16に示す設定に変更される。すなわち、バンク
No.が“m”、空きエリアカウントが“0”、ダーテ
ィエリアカウントが“0”に、それぞれ変更される。
完了すると、ブロックID31の空きセクタ管理情報
は、図16に示す設定に変更される。すなわち、バンク
No.が“m”、空きエリアカウントが“0”、ダーテ
ィエリアカウントが“0”に、それぞれ変更される。
【0051】次に、上記消去コマンド発行後、フラッシ
ュメモリ4において消去動作継続中に、上位のアプリケ
ーションプログラム処理からフラッシュメモリ4へのデ
ータ読込み要求が発生した場合に、フラッシュメモリド
ライバ3において実行されるフラッシュメモリ読込要求
処理について図17に示すフローチャートに基づいて説
明する。
ュメモリ4において消去動作継続中に、上位のアプリケ
ーションプログラム処理からフラッシュメモリ4へのデ
ータ読込み要求が発生した場合に、フラッシュメモリド
ライバ3において実行されるフラッシュメモリ読込要求
処理について図17に示すフローチャートに基づいて説
明する。
【0052】上記消去コマンド発行後、フラッシュメモ
リ4において消去動作継続中に、CPU2の上位のアプ
リケーションプログラム処理からフラッシュメモリ4へ
のデータ読込み要求コマンドがフラッシュメモリドライ
バ3に入力されると、フラッシュメモリ読込要求処理を
開始し、フラッシュメモリ管理用メモリ5に記憶されて
いるブロック消去情報を参照して消去中か否かを判別す
る(ステップP1)。消去中でない場合は、ステップP
3に移行し、消去中である場合は、消去中断コマンドを
フラッシュメモリ4に発行して(ステップP2)、消去
動作を中断させる。
リ4において消去動作継続中に、CPU2の上位のアプ
リケーションプログラム処理からフラッシュメモリ4へ
のデータ読込み要求コマンドがフラッシュメモリドライ
バ3に入力されると、フラッシュメモリ読込要求処理を
開始し、フラッシュメモリ管理用メモリ5に記憶されて
いるブロック消去情報を参照して消去中か否かを判別す
る(ステップP1)。消去中でない場合は、ステップP
3に移行し、消去中である場合は、消去中断コマンドを
フラッシュメモリ4に発行して(ステップP2)、消去
動作を中断させる。
【0053】次いで、ステップP3でデータリード処理
を実行し、フラッシュメモリ4から指定セクタのデータ
を読み出すリードコマンドをフラッシュメモリ4に出力
し、フラッシュメモリ4から応答される指定セクタのデ
ータをCPU2に転送する。そして、データ読み出しを
終了すると、フラッシュメモリ4のステータスを読み出
すコマンドをフラッシュメモリ4に出力し、フラッシュ
メモリ4から応答されるステータスにより消去動作停止
中か否かを判断する(ステップP4)。消去動作が停止
中でない場合は、本処理を終了し、消去動作が停止中で
ある場合は、消去動作再開コマンドを発行して(ステッ
プP5)、フラッシュメモリ4における消去動作を再開
させて、本処理を終了する。
を実行し、フラッシュメモリ4から指定セクタのデータ
を読み出すリードコマンドをフラッシュメモリ4に出力
し、フラッシュメモリ4から応答される指定セクタのデ
ータをCPU2に転送する。そして、データ読み出しを
終了すると、フラッシュメモリ4のステータスを読み出
すコマンドをフラッシュメモリ4に出力し、フラッシュ
メモリ4から応答されるステータスにより消去動作停止
中か否かを判断する(ステップP4)。消去動作が停止
中でない場合は、本処理を終了し、消去動作が停止中で
ある場合は、消去動作再開コマンドを発行して(ステッ
プP5)、フラッシュメモリ4における消去動作を再開
させて、本処理を終了する。
【0054】以上のフラッシュメモリドライバ3におい
てフラッシュメモリ読込要求処理を行うようにしたこと
により、消去コマンド発行後のアプリケーションプログ
ラム処理と消去動作が並行して行われている場合にも、
アプリケーションプログラム処理の読込み要求に応じた
消去動作の中断及び継続が可能になる。
てフラッシュメモリ読込要求処理を行うようにしたこと
により、消去コマンド発行後のアプリケーションプログ
ラム処理と消去動作が並行して行われている場合にも、
アプリケーションプログラム処理の読込み要求に応じた
消去動作の中断及び継続が可能になる。
【0055】また、上記実施例では、消去コマンド発行
後のフラッシュメモリ4における消去動作の監視をCP
U2のタイマー割込み処理として実行させるようにした
ため、CPU2が上位のアプリケーションプログラム処
理を実行中であっても、CPU2側で確実にフラッシュ
メモリ4における消去動作の進行状態を把握させること
ができる。
後のフラッシュメモリ4における消去動作の監視をCP
U2のタイマー割込み処理として実行させるようにした
ため、CPU2が上位のアプリケーションプログラム処
理を実行中であっても、CPU2側で確実にフラッシュ
メモリ4における消去動作の進行状態を把握させること
ができる。
【0056】
【発明の効果】請求項1記載の発明によれば、上位プロ
グラム処理実行中のメモリにおける消去動作完了までの
待ち時間を短縮することができ、上位プログラム処理の
高速化を図ることができる。
グラム処理実行中のメモリにおける消去動作完了までの
待ち時間を短縮することができ、上位プログラム処理の
高速化を図ることができる。
【0057】請求項2記載の発明によれば、上位プログ
ラム処理実行中のメモリにおける消去動作完了までの待
ち時間を短縮することができるとともに、メモリにおけ
る消去動作の進行状態を上位プログラム側で確実に把握
させて、上位プログラム処理の高速化を図ることができ
る。
ラム処理実行中のメモリにおける消去動作完了までの待
ち時間を短縮することができるとともに、メモリにおけ
る消去動作の進行状態を上位プログラム側で確実に把握
させて、上位プログラム処理の高速化を図ることができ
る。
【0058】請求項3記載の発明によれば、上位プログ
ラム処理実行中のメモリにおける消去動作完了までの待
ち時間を短縮することができ、上位プログラム処理の高
速化を図るメモリ動作管理装置を提供することができ
る。
ラム処理実行中のメモリにおける消去動作完了までの待
ち時間を短縮することができ、上位プログラム処理の高
速化を図るメモリ動作管理装置を提供することができ
る。
【0059】請求項4記載の発明によれば、メモリにお
ける消去動作の進行状態を上位プログラム側で確実に把
握させることができる。
ける消去動作の進行状態を上位プログラム側で確実に把
握させることができる。
【図1】本発明を適用したコンピュータシステムの要部
ブロック構成図。
ブロック構成図。
【図2】図1のフラッシュメモリ内の構成を示す図。
【図3】図1のフラッシュメモリ管理用メモリに記憶さ
れるブロック消去情報のデータ構成を示す図。
れるブロック消去情報のデータ構成を示す図。
【図4】図1のフラッシュメモリ管理用メモリに記憶さ
れる空きセクタ管理情報のデータ構成を示す図。
れる空きセクタ管理情報のデータ構成を示す図。
【図5】図1のフラッシュメモリ管理用メモリに記憶さ
れるアローケーションテーブル情報のデータ構成を示す
図。
れるアローケーションテーブル情報のデータ構成を示す
図。
【図6】図1のCPUにより実行されるフラッシュメモ
リ書込み要求処理のフローチャート。
リ書込み要求処理のフローチャート。
【図7】図6のクリーンアップ処理により設定される空
きセクタ管理情報の一例を示す図。
きセクタ管理情報の一例を示す図。
【図8】図7の空きセクタ管理情報に対応するフラッシ
ュメモリ内ブロック単位のデータ展開状態の一例を示す
図。
ュメモリ内ブロック単位のデータ展開状態の一例を示す
図。
【図9】図6のクリーンアップ処理により図8のデータ
を図2の消去用領域に再構成して空きセクタを形成した
状態を示す図。
を図2の消去用領域に再構成して空きセクタを形成した
状態を示す図。
【図10】図9のデータに対応する空きセクタ管理情報
の構成を示す図。
の構成を示す図。
【図11】図1のCPUにより実行されるタイマー割込
み処理のフローチャート。
み処理のフローチャート。
【図12】図1のCPUとフラッシュメモリドライバに
より実行されるフラッシュメモリ書込み要求処理とクリ
ーンアップ処理の動作関係を示す図。
より実行されるフラッシュメモリ書込み要求処理とクリ
ーンアップ処理の動作関係を示す図。
【図13】図9のメモリの空きセクタにデータを書込ん
だ状態を示す図。
だ状態を示す図。
【図14】図13のデータに対応する空きセクタ管理情
報の構成を示す図。
報の構成を示す図。
【図15】図9の消去用領域に展開したデータを消去す
る際のブロック消去情報の構成を示す図。
る際のブロック消去情報の構成を示す図。
【図16】図15のブロック消去情報によりデータが消
去された後の消去領域に対応する空きセクタ管理情報の
構成を示す図。
去された後の消去領域に対応する空きセクタ管理情報の
構成を示す図。
【図17】図1のフラッシュメモリドライバにより実行
されるフラッシュメモリ読込要求処理のフローチャー
ト。
されるフラッシュメモリ読込要求処理のフローチャー
ト。
1 コンピュータシステム 2 CPU 3 フラッシュメモリドライバ 4 フラッシュメモリ 5 フラッシュメモリ管理用ドライバ 6 フラッシュメモリ電源 7 インターバルタイマー
Claims (4)
- 【請求項1】データ書込み要求に対して所定の記憶領域
単位の消去動作を必要とするメモリにおける消去動作の
進行状態を管理するメモリ動作管理方法において、 前記記憶領域毎にデータの展開状態を管理するデータ管
理情報を設定し、 上位のプログラム処理によりデータ書込み要求が発生す
ると、前記データ管理情報を参照して消去動作を必要と
する前記記憶領域を決定して消去動作を開始させ、 当該消去動作の開始とともに前記上位のプログラム処理
に処理権限を戻すとともに、前記消去動作を並行して実
行させ、 当該情報の発行後は、前記消去動作の進行状態を定期的
に監視して消去動作管理情報を設定及び更新して、 前記メモリにおける消去動作の進行状態を管理するよう
にしたことを特徴とするメモリ動作管理方法。 - 【請求項2】データ書込み要求に対して所定の記憶領域
単位の消去動作を必要とするメモリにおける消去動作の
進行状態を管理するメモリ動作管理方法において、 前記記憶領域毎にデータの展開状態を管理するデータ管
理情報を設定し、 上位のプログラム処理によりデータ書込み要求が発生す
ると、前記データ管理情報を参照して消去動作を必要と
する前記記憶領域を決定して消去動作を開始させ、 当該消去動作の開始とともに前記上位のプログラム処理
に処理権限を戻すとともに、前記消去動作を並行して実
行させ、 前記上位のプログラム処理の割り込み処理として前記消
去動作開始後の動作状態を定期的に監視させて消去動作
管理情報を設定及び更新し、 前記メモリにおける消去動作の進行状態を管理するよう
にしたことを特徴とするメモリ動作管理方法。 - 【請求項3】データ書込み要求に対して所定の記憶領域
単位の消去動作を必要とするメモリにおける消去動作の
進行状態を管理するメモリ動作管理装置において、 前記記憶領域毎にデータの展開状態を管理するデータ管
理情報を格納するデータ管理情報記憶手段と、 前記消去動作を管理する消去動作管理情報を格納する動
作管理情報記憶手段と、 上位のプログラム処理によりデータ書込み要求が発生す
ると、前記データ管理情報を参照して消去動作を必要と
する前記記憶領域を決定して消去動作を開始させるとと
もに、当該上位のプログラム処理に処理権限を戻して、
消去動作を並行して実行させ、前記消去動作開始後の動
作状態を定期的に監視して前記動作管理情報記憶手段に
消去動作管理情報を設定及び更新するメモリ動作管理手
段と、 を具備したことを特徴とするメモリ動作管理装置。 - 【請求項4】前記メモリ動作管理手段は、前記消去動作
開始後の動作状態の定期的な監視を前記上位のプログラ
ム処理の割り込み処理として実行することを特徴とする
請求項3記載のメモリ動作管理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26175694A JPH08101788A (ja) | 1994-09-30 | 1994-09-30 | メモリ動作管理方法及びメモリ動作管理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26175694A JPH08101788A (ja) | 1994-09-30 | 1994-09-30 | メモリ動作管理方法及びメモリ動作管理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08101788A true JPH08101788A (ja) | 1996-04-16 |
Family
ID=17366273
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP26175694A Pending JPH08101788A (ja) | 1994-09-30 | 1994-09-30 | メモリ動作管理方法及びメモリ動作管理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08101788A (ja) |
Cited By (2)
| 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 (ja) * | 2006-05-29 | 2007-12-06 | Matsushita Electric Ind Co Ltd | 不揮発性メモリ、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
-
1994
- 1994-09-30 JP JP26175694A patent/JPH08101788A/ja active Pending
Cited By (2)
| 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 (ja) * | 2006-05-29 | 2007-12-06 | Matsushita Electric Ind Co Ltd | 不揮発性メモリ、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100238925B1 (ko) | 비휘발성 메모리를 갖는 복원 가능 디스크 제어 시스템 | |
| JP2778786B2 (ja) | データ更新・復元処理方式 | |
| JPH0291749A (ja) | 不揮発型半導体メモリ装置 | |
| JPH0683677A (ja) | データの増分タイム・ゼロ・バックアップ・コピーの方法及びシステム | |
| JPH0644010A (ja) | タイムゼロ・バックアップ・コピー・プロセスにおける副ファイル状態のポーリングのための方法およびシステム | |
| WO2000016199A1 (fr) | Procede permettant de realiser une table de gestion de memoire et dispositif de memoire | |
| JPH08101788A (ja) | メモリ動作管理方法及びメモリ動作管理装置 | |
| JPH06149485A (ja) | データ完結性保証処理方法 | |
| JPH0518143B2 (ja) | ||
| JPS63140352A (ja) | オンライン・システムのデ−タ・ベ−ス記憶装置 | |
| JP3313576B2 (ja) | メモリアクセス制御方法及び装置 | |
| JP2002082833A (ja) | 不揮発性キャッシュメモリを用いた高速データ書き込みシステム | |
| JP2713218B2 (ja) | チェックポイント/リスタート処理方式 | |
| JP2000057013A (ja) | トレース情報採取装置及びプログラムを記録した機械読み取り可能な記録媒体 | |
| JP3022011B2 (ja) | データバックアップシステム | |
| JPS62269256A (ja) | 半導体フアイルのデ−タ保存方式 | |
| JP3125634B2 (ja) | 電子計算機システム | |
| JP3037375B2 (ja) | ファイル圧縮処理方法 | |
| JPH03257641A (ja) | メモリダンプ採取方式 | |
| JPH0553732A (ja) | デユアルデイスクシステム | |
| JPH10312693A (ja) | 記憶装置 | |
| JPH05151037A (ja) | 業務処理中データベース再編成処理方式 | |
| JPH0816880B2 (ja) | データベースシステムおよびその処理方法 | |
| JPS62297948A (ja) | デ−タベ−スの障害回復方式 | |
| JP3009168B2 (ja) | データ処理装置 |