JP3919261B2 - メモリ制御装置およびメモリアクセス方法 - Google Patents
メモリ制御装置およびメモリアクセス方法 Download PDFInfo
- Publication number
- JP3919261B2 JP3919261B2 JP20234096A JP20234096A JP3919261B2 JP 3919261 B2 JP3919261 B2 JP 3919261B2 JP 20234096 A JP20234096 A JP 20234096A JP 20234096 A JP20234096 A JP 20234096A JP 3919261 B2 JP3919261 B2 JP 3919261B2
- Authority
- JP
- Japan
- Prior art keywords
- sector
- block
- data
- garbage collection
- storage medium
- 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
Links
Images
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Description
【発明の属する技術分野】
本発明は、所定単位で記憶された情報を消去可能な記憶媒体に対するアクセスを制御するメモリ制御装置およびメモリ制御方法に関するものである。
【0002】
【従来の技術】
従来、所定単位で記憶された情報を消去可能な記憶媒体、例えばフラッシュROM等が種々の情報処理装置に搭載されている。
【0003】
該フラッシュROMは、あるまとまった消去単位、例えば64Kバイト等といった大きな単位での消去(フラッシュ)が可能な不揮発性メモリである。これを、ファイルシステムの支配下の記録メディアとして使用できるサービスを提供するドライバが従来から存在している。
【0004】
図9は、この種のフラッシュROMのデータ構造を説明する図である。以下、構成および動作について説明する。なお、フラッシュROMは、システム中に複数搭載されており、消去単位をイレーズブロックEBとする。
【0005】
この図に示すように、フラッシュROM1000は、複数のイレーズブロックEB1〜EBNによって構成され、各イレーズブロックEB1〜EBNは、さらに消去回数カウンタECと複数のセクタによって構成され、消去回数カウンタECは、イレーズブロックを消去した回数をカウントするために用いる部分であり、セクタは管理領域として論理セクタ番号を表すセクタ番号SNとセクタが有効利用されているかどうかを表す「使用中」を示す管理フラグWRE、「使用済み」を示す管理フラグWREとデータ領域DATAから構成されている。
【0006】
フラッシュROM1000は、上書きできないため、各セクタの書き換えは、論理セクタを移動させることで行っている。
【0007】
図10は、図9に示したフラッシュROM1000の各セクタの書き換えを説明する概念図であり、(a)が書き換え前の状態に対応し、(b)が書き換え後に対応する。
【0008】
例えばセクタ番号SNが「8」に格納されたデータを書き換える場合、セクタ番号SN「8」がファイルの一部として利用されていて、その内容を変更した場合には、未使用のセクタ(図10の(a)の斜線セクタ域)を検索し、その場所を新たなセクタ番号SN「8」のデータ管理セクタとして、図10の(b)に示すようにセクタ番号とデータを格納し、管理フラグWREを「書込み中」にする。
【0009】
そして、以前セクタ番号「8」のセクタ域の管理フラグWREDを「使用済み」にすると、書き換え処理が終了する。
【0010】
このような処理手順に従って論理セクタの書き換えを実行してゆくことにより、いずれフラッシュROM100の殆どの領域を「使用済セクタ」になってしまう。
【0011】
そこで、あるタイミングでフラッシュROM1000を一旦消去して、「使用済セクタ」を「未使用セクタ」へ戻す処理、すなわち、ガーベージコレクションを行う必要がある。
【0012】
一般的なフラッシュROMのシステムでは、上述したようなイレーズブロックが複数含まれている。また、通常、消去回数にはある保証の上限があるため、システムに含まれる各イレーズブロックの消去回数を均一するように、消去するイレーズブロックを選定することが望ましい。
【0013】
そこで、従来から、消去の回数カウンタ(上記消去回数カウンタECによる)を使用した消去回数分散処理が実行されている。
【0014】
具体的には、フラッシュROMを備えるシステムでは、あらかじめ消去回数カウンタECを保持しておき、消去する度にカウンタを「1」つインクリメントする。そして、消去するタイミングが到達した時に、消去対象のイレーズブロックの中から、一番消去回数の少ないブロックを選んで消去するようにしている。
【0015】
また、残り容量が極端に少なくなると、ガーベージコレクションが多発してシステムのパフォーマンスが極端に落ちてしまう。これに対して、従来より、総論理セクタ分を格納できるイレーズブロック数よりも「1」つだけ余分にイレーズブロックを対比ブロックとして用意して、そのような事態を避けることができるように構成されている。
【0016】
【発明が解決しようとする課題】
しかしながら、上記ガーベージコレクションは、通常データのコピーやイレーズブロックの消去等時間の係る処理である。
【0017】
このため、システムの初期化やシャットダウン等の際に、ファイルの読み書きが発生してガーベージコレクションが起こると、例えばイベント処理ルーチンに各種のイベントが溜りすぎる等システムの運営に不具合を生じさせてしまうという問題点があった。
【0018】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、ガーベージコレクションの発生を制限できるとともに、ガーベージコレクションに使用する退避ブロックを、ガーベージコレクションが禁止された状態では、データ書き込みに利用できるので、ガーベージコレクションが許可された状態と禁止された状態とで、同一ブロックを効率よく利用できる仕組みを提供することである。
【0019】
【課題を解決するための手段】
本発明に係るメモリ制御装置は、以下の特徴的構成を備える。
それぞれが複数の書き換え可能なセクタを含むブロックを複数備える記憶媒体の各ブロックに対するデータ書き換えを制御するメモリ制御装置において、前記記憶媒体中で第1のブロック中の使用中状態のセクタ内のデータを第2のブロック中のデータ未使用状態のセクタに複写し、該第1のブロック中の使用中状態のセクタ内のデータを破棄してデータ未使用状態のセクタに遷移させるガーベージコレクションの許可または禁止を設定する管理フラグを記憶する記憶手段と、前記記憶手段に記憶された前記管理フラグの状態を判定して、前記記憶媒体の各ブロックに対するメモリアクセスを制御する制御手段とを有し、前記記憶媒体は、ガーベージコレクションの際に使用中状態のセクタ内のデータを退避させるための退避ブロックを少なくとも1つ備え、前記制御手段は、前記管理フラグが許可状態の場合に、前記退避ブロックを用いたガーベージコレクションを許可し、前記管理フラグが禁止状態の場合に、前記退避ブロックに対するデータ書込みを許可することを特徴とする。
【0020】
本発明に係るメモリアクセス方法は、以下の特徴的構成を備える。
それぞれが複数の書き換え可能なセクタを含むブロックを複数備える記憶媒体の各ブロックに対するデータ書き換えを制御するメモリアクセス方法において、
前記記憶媒体中で第1のブロック中の使用中状態のセクタ内のデータを第2のブロック中のデータ未使用状態のセクタに複写し、該第1のブロック中の使用中状態のセクタ内のデータを破棄してデータ未使用状態のセクタに遷移させるガーベージコレクションの許可または禁止を設定する管理フラグを設定する設定工程と、該設定された前記管理フラグの状態を判定して前記記憶媒体の各セクタに対するメモリアクセスを禁止または許可する処理工程とを有し、前記記憶媒体は、ガーベージコレクションの際に使用中状態のセクタ内のデータを退避させるための退避ブロックを少なくとも1つ備え、前記処理工程では、前記管理フラグが許可状態の場合に、前記退避ブロックを用いたガーベージコレクションを許可し、前記管理フラグが禁止状態の場合に、前記退避ブロックに対するデータ書込みを許可することを特徴とする。
【0024】
本発明に係る第6の発明は、前記記録媒体は、フラッシュROMとするものである。
【0025】
本発明に係る第7の発明は、複数の書き換え可能なセクタを複数ブロック備える記憶媒体の各ブロックに対するデータ書き換えを制御するメモリアクセス方法において、前記記憶媒体中で使用中状態のセクタ内のデータをデータ未使用状態のセクタに複写し、該使用中状態のセクタ内のデータを破棄してデータ未使用状態のセクタに遷移させるメモリアクセスの許可または禁止を設定する管理フラグを設定する設定工程と、該設定された前記管理フラグの状態を判定して前記記憶媒体の各セクタに対する前記メモリアクセスを禁止または許可する処理工程とを有するものである。
【0026】
【発明の実施の形態】
図1は、本発明の第1実施形態を示すメモリ制御装置を適用可能な画像処理システムの一例を示すブロック図であり、例えば電子カメラシステム(ディジタルカメラ)に対応する。
【0027】
図において、1はレンズで、所定のフォーカス制御部等により焦点制御が実行されて被写体とのピントを自動調整される機能が付加されている。2はCCDユニットで、レンズ1を通過した光を電気信号(アナログ信号)として出力する。3はA/Dコンバータで、CCDユニット2から出力されるアナログ信号をディジタル信号に変換する。4はSSGユニットで、CCDユニット2およびA/Dコンバータ3に同期信号を供給する。5はCPUで、OS等のシステムプログラムが格納されたROM13および外部記憶媒体17に記憶された各種アプリケーションプログラムを実行してシステムバス上の各デバイスのアクセスを総括的に制御する。
【0028】
6は信号処理アクセラレータで、信号処理処理(映像モード,文字原稿モード等に基づく画像処理を含む)を高速化処理する。7は電池で、DC−DCコンバータ8の電源として機能する。DC−DCコンバータ8は、システム全体へ電源を供給する。9は電源コントローラユニットで、DC−DCコンバータ8を制御する。10はマイクロコンピュータで、パネル操作,表示装置,電源のコントロールを行う。11は表示装置で、ユーザへの情報を表示する。12はコントロールパネルで、ユーザが直接操作可能なレリーズスイッチを含む。
【0029】
16はPCMCIAカード用のカードインタフェースで、ATAハードディスク等の外部記録媒体17とのデータ書込み/データ読み込みを行う。なお、外部記録媒体17は、所定のモードに応じて異なる枚数の映像情報を記憶することができる。
【0030】
18は拡張バスインタフェースで、PC通信異端19を介して例えばウインドウズ,マッキントッシュ(それぞれ商品名)等のパーソナルコンピュータ(PC)22とのデータアクセスを可能とする。これにより、撮像された静止画の画像情報または外部記録媒体17に記憶された画像情報をパーソナルコンピュータ22のアプリケーションにより自在に編集処理可能に構成されている。20はDMACで、DRAM14へのアクセス制御する。21はストロボで、光量を検知して自動発光制御される。なお、外部記憶媒体17が装着されていない場合でも、撮像された画像情報を画像ファイルとしてフラッシュROM15上に記憶することができる。以下、カメラ撮影時の動作について説明する。
【0031】
コントロールパネル12のレリーズスイッチをユーザが押下すると、CPU5がその押下状態を検出して、ROM13に記憶された撮影シーケンスを開始する。SSG4がCCDユニット2およびA/Dコンバータ3に対して駆動クロックを供給してCCDユニット2内の、例えば57万画素のCCDを駆動する。
【0032】
CCDユニット2から出力されるアナログ信号は、A/Dコンバータ3でディジタル信号へ変換され、DMAC20によりDRAM14へDMA転送される。1フレーム分のDMA転送が終了した時点で、CPU5は、信号処理シーケンスを開始する。
【0033】
すなわち、フラッシュROM15から信号処理プログラムを主記憶領域(DRAM14上)に読み出して実行する。主記憶領域上のデータを信号処理アクセラレータ6へ転送して信号処理を行う。なお、信号処理アクセラレータ6は、信号処理の全てを行うわけではなく、CPU5で行う処理のうち、特に時間のかかる処理を補助する演算を担い、CPU5の処理ソフトウエアと連携して動作する。
【0034】
信号処理の一部または全部が終了すると、画像ファイルとしてフラッシュROM15へ記録される。この時記録するファイルフォーマットが圧縮処理を必要とするのであれば圧縮も行う。
【0035】
図2は、図1に示したフラッシュROM15に記録される画像ファイルシステムの階層構造を示す概念図であり、例えば階層L1〜L4で構成される場合に対応する。
【0036】
図において、最上位の階層L1はユーザアプリケーションで、カメラ内部で起動するソフトウエアであり、ファイルをファイル名でオープンして読書きした後クローズする。階層L2は、ファイルシステムAPI層で、ユーザアプリケーションからファンクションコールによって呼び出される。該階層L2がドライブ名とファイルシステムを関連付けて管理している。各ドライブ毎にファイルシステムアーキテクチャー層(階層L3)をマウントするように構成しているため、複数のファイルシステムアーキテクチャー(例えばFAT,HP−FS,NFS,NT−FS等)を混在させることが可能となっている。なお、ファイルシステムアーキテクチャー層が実際のファイル管理を行う部分である。最下位の階層L4がブロックデバイス層である。
【0037】
ファイルシステムアーキテクチャー層がブロックデバイス層の提供するサービスを利用してファイル入出力を実現している。なお、ブロックデバイス層では、データを512バイト等のセクタという単位で管理している。該ブロックデバイス層でデバイス毎の入出力制御の違いと、ヘッドやシリンダ等のパラメータの違いを吸収している。これにより、同時に複数の種類のデバイスを混在させたカメラシステムを構築することができる。
【0038】
なお、本実施形態におけるシステムでは、フラッシュROM15のブロックデバイスがファイルシステムへ提供するサービスは(1)〜(5)である。
【0039】
(1)は論理的なセクタ番号で指定したセクタからのデータ読み出しサービス、(2)は論理的なセクタ番号で指定したセクタへのデータ書き込みサービス、(3)は論理的なセクタ番号で指定したセクタを解放するサービス、(4)はガーベージコレクションを禁止するサービス、(5)はガーベージコレクションを許可するサービスである。以下、上記(4),(5)について詳述する。
【0040】
ガーベージコレクションを禁止すると、例えばシステムの殆どの論理セクタを使用している時などに未使用セクタがなくなり、それ以上書き込めなくなる可能性がある。
【0041】
そこで、システム中のイレーズブロックを少なくとも1つ予約ブロックとして、ガーベージコレクション禁止時には、この予約ブロックに書き込む。本実施形態ではガーベージコレクションの際の使用中セクタの移動のための退避ブロックと上記予約ブロックを同一ブロックとして実現している。
【0042】
以下、本実施形態と第1〜第6の発明の各手段との対応及びその作用について図1等を参照して説明する。
【0043】
第1,第6の発明は、複数の書き換え可能なセクタを複数ブロック備える記憶媒体の各ブロックに対するデータ書き換えを制御するメモリ制御装置において、前記記憶媒体中で使用中状態のセクタ内のデータをデータ未使用状態のセクタに複写し、該使用中状態のセクタ内のデータを破棄してデータ未使用状態のセクタに遷移させるメモリアクセスの許可または禁止を設定する管理フラグを記憶する記憶手段(DRAM14)と、前記記憶手段に記憶された前記管理フラグの状態を判定して前記記憶媒体の各ブロックに対する前記メモリアクセスを制御する制御手段(CPU5がROM13,RAM14等に記憶された制御プログラムを実行して制御する)とを有し、フラッシュROM15中で使用中状態のセクタ内のデータをデータ未使用状態のセクタに複写し、該使用中状態のセクタ内のデータを破棄してデータ未使用状態のセクタに遷移させるメモリアクセスの許可または禁止を設定する管理フラグを記憶するDRAM14に記憶された前記管理フラグの状態を判定してCPU5がフラッシュROM15の各セクタに対する前記メモリアクセスを制御するので、フラッシュROM15の使用状態に応じて頻発するガーベージコレクションの発生を有効に制限することができる。
【0044】
第2,第3の発明は、フラッシュROM15は、前記管理フラグが禁止状態の場合に前記メモリアクセスを実行可能とする予約ブロックを少なくとも1つ有するので、ガーベージコレクションが禁止されて、書き換えが要求されるセクタを獲得できない状況が発生しても、予約ブロックを使用してデータ更新処理を実行してシステムのデータを正常に保持させることができる。
【0045】
第4の発明は、フラッシュROM15は、使用中状態のセクタ内のデータを消去するために、該データを退避させるための退避ブロックを少なくとも1つ有するので、ガーベージコレクション実行時に、対象となるセクタのデータを一括して退避させて短時間にガーベージコレクションを完了することができる。
【0046】
第5の発明は、CPU5がフラッシュROM15内の前記予約ブロックと前記退避ブロックとを同一ブロックとして管理とするので、同一ブロックを予約ブロックまたは退避ブロックとして効率よく共有することができる。
【0047】
以下、図3に示すフローチャートを参照してガーベージコレクションの禁止処理について説明する。
【0048】
図3は、図1に示したフラッシュROM15に設定されるイレーズブロックに対するガーベージコレクション禁止処理手順を示すフローチャートである。なお、(1)はステップを示す。
【0049】
ガーベージコレクション禁止処理が開始されると、ガーベージコレクションフラグを「禁止」に設定して(1)、処理を終了する。
【0050】
なお、本実施形態では、ユーザアプリケーションの実行状態応じて任意のタイミングで、例えばDRAM14のフラグエリアに確保されるガーベージコレクションフラグを禁止に設定するものとする。
【0051】
図4は、図2に示したフラッシュROM15のブロックデバイスによるサービス処理手順の一例を示すフローチャートであり、例えば論理セクタの書き込みサービス処理に対応する。(1)〜(12)は各ステップを示す。
【0052】
先ず、オペレーティングシステム(OS)の持つセマフォを使用して論理セクタをロックする(1)。なお、セクタが既に他のタスクによってロックされている場合、他のタスクによってロック解除されるのを待つ。他のタスクによってロック解除された後でロックを行う。また、ロックされたセクタは、ステップ(9)でロック解除されるまでの間、自タスクによって占有することができる。
【0053】
次いで。ステップ(2)で有効なデータが記録されているかどうかを記憶管理テーブルのN番を参照して判断し、有効なデータが記録されていると判断した場合には、ステップ(3)でそれまで有効なデータとして記録されていたフラッシュROM(または主記憶)のデータを破棄して、ステップ(4)以降へ進む。
【0054】
一方、ステップ(2)で有効なデータが記録されていないと判断した場合には、ステップ(4)で記憶領域を獲得して、正常に記憶領域を獲得できたかどうかを判断し、フラッシュROMに記録場所等がない場合には、獲得に失敗し、ステップ(5)でガーベージコレクションフラグを評価し、ガーベージコレクションフラグが「許可」である場合には、ステップ(12)へ進み、セクタのロックを解除し、異常復帰する。
【0055】
一方、ステップ(5)でガーベージコレクションフラグが「禁止」と評価された場合には、ステップ(6)へ進み、退避ブロックへデータを書き込んでステップ(8)以降へ進む。
【0056】
一方、ステップ(4)で、記録領域の獲得に成功した場合には、ステップ(7)でフラッシュROMの領域へデータを書き込む。そして、ステップ(8)で、記憶場所管理テーブルを更新する。これにより、記録したフラッシュROM(または主記憶)へのポインタが代入される。次いで、ステップ(9)で、論理セクタのロックを解除する。なお、破線で示すステップ実行期間中は、当該論理セクタを占有できる。
【0057】
次いで、ステップ(10)で記憶効率を評価し、記憶効率が悪化していると評価した場合には、ステップ(11)へ進み、ガーベージコレクションを実行して、処理を復帰する。
【0058】
一方、ステップ(10)で記憶効率が悪化していないと評価した場合には、そのまま処理を復帰する。
【0059】
図5は、図4に示した記憶効率の評価手順の一例を示すフローチャートである。なお、(1),(2)は各ステップを示す。
【0060】
先ず、ステップ(1)でガーベージコレクションフラグが「禁止」であるか「許可」であるかを調べ、禁止であれば処理を復帰する。
【0061】
一方、ステップ(1)でガーベージコレクションフラグが「許可」であれば、ステップ(2)で未使用セクタカウンタの値と使用済セクタカウンタの値とを比較し(2)、使用済セクタカウンタの値が未使用セクタカウンタの値に対して同じか上回った時、上位プログラムに対して記憶効率の悪化をレポートする。
【0062】
一方、ステップ(2)で、使用済セクタカウンタの値が未使用セクタカウンタの値に対して下回った時、正常復帰する。
【0063】
図6は、図2に示したフラッシュROM15のブロックデバイスによるサービス処理手順の一例を示すフローチャートであり、例えば論理セクタの解放サービス処理に対応する。(1)〜(6)は各ステップを示す。
【0064】
先ず、ステップ(1)でイレーズブロックのNセクタをロックする。これにより、自タスクで論理セクタを占有できる。ステップ(2)でNセクタに記憶されているデータを破棄するステップ(3)で、記憶場所管理テーブルへ「不在」を代入する。そして、ステップ(4)で論理セクタのロックを解除し、ステップ(5)で上記と同様の記憶効率の評価を行い、記憶効率が悪化していると評価した場合には、ステップ(6)へ進み、ガーベージコレクションを実行して、処理を復帰する。
【0065】
一方、ステップ(5)で記憶効率が悪化していないと評価した場合には、そのまま処理を復帰する。
【0066】
図7は、図2に示したフラッシュROM15のブロックデバイスによるサービス処理手順の一例を示すフローチャートであり、例えばガーベージコレクションを許可するサービス処理に対応する。(1)〜(5)は各ステップを示す。
【0067】
先ず、ステップ(1)でガーベージコレクションフラグを「許可」にするステップ(2)でフラッシュROMへのアクセスをロックする。そして、ステップ(3)で後述する手順に従って退避ブロックが正常かどうかを判定し、退避ブロックが正常ならば、ステップ(4)でフラッシュROMへのアクセスロックを解除して、復帰する。
【0068】
一方、ステップ(3)で、退避ブロックが異常であると報告された場合には、ステップ(5)でガーベージコレクションを実行して、ステップ(4)へ戻る。
【0069】
図8は、図7に示した退避ブロックの検査処理手順の一例を示すフローチャートである。なお、(1)はステップを示す。
【0070】
先ず、ステップ(1)で、退避ブロック内の使用中セクタの数が「0」であるかどうか、すなわち、使用中セクタカウンタの値が「0」かどうかを判定し、YESならば処理を復帰し、NOならば図7のステップ(5)へ進み、退避ブロック異常処理、すなわち、ガーベージコレクションを実行する。
【0071】
以下、本実施形態と第7の発明の各工程との対応及びその作用について図3,図4等を参照して説明する。
【0072】
第7の発明は、複数の書き換え可能なセクタを複数ブロック備える記憶媒体(フラッシュROM15)の各ブロックに対するデータ書き換えを制御するメモリアクセス方法において、前記記憶媒体中で使用中状態のセクタ内のデータをデータ未使用状態のセクタに複写し、該使用中状態のセクタ内のデータを破棄してデータ未使用状態のセクタに遷移させるメモリアクセスの許可または禁止を設定する管理フラグを設定する設定工程(図3のステップ(1))と、該設定された前記管理フラグの状態を判定して前記記憶媒体の各セクタに対する前記メモリアクセスを禁止または許可する処理工程(図4のステップ(5))とをCPU5がROM13,DRAM14等に記憶された制御プログラムを実行して、記憶媒体の使用状態に応じて頻発するガーベージコレクションの発生を有効に制限することができる。
【0073】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても、本発明の目的が達成されることは言うまでもない。
【0074】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0075】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROM,EEPROM等を用いることができる。
【0076】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0077】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0078】
【発明の効果】
以上説明したように、本発明によれば、ガーベージコレクションの発生を制限できるとともに、ガーベージコレクションに使用する退避ブロックを、ガーベージコレクションが禁止された状態では、データ書き込みに利用できるので、ガーベージコレクションが許可された状態と禁止された状態とで、同一ブロックを効率よく利用できる。
【図面の簡単な説明】
【図1】本発明の第1実施形態を示すメモリ制御装置を適用可能な画像処理システムの一例を示すブロック図である。
【図2】図1に示したフラッシュROMに記録される画像ファイルシステムの階層構造を示す概念図である。
【図3】図1に示したフラッシュROMに設定されるイレーズブロックに対するガーベージコレクション禁止処理手順を示すフローチャートである。
【図4】図2に示したフラッシュROMのブロックデバイスによるサービス処理手順の一例を示すフローチャートである。
【図5】図4に示した記憶効率の評価手順の一例を示すフローチャートである。
【図6】図2に示したフラッシュROMのブロックデバイスによるサービス処理手順の一例を示すフローチャートである。
【図7】図2に示したフラッシュROMのブロックデバイスによるサービス処理手順の一例を示すフローチャートである。
【図8】図7に示した退避ブロックの検査処理手順の一例を示すフローチャートである。
【図9】この種のフラッシュROMのデータ構造を説明する図である。
【図10】図9に示したフラッシュROMの各セクタの書き換えを説明する概念図である。
【符号の説明】
5 CPU
13 ROM
15 フラッシュROM
Claims (3)
- それぞれが複数の書き換え可能なセクタを含むブロックを複数備える記憶媒体の各ブロックに対するデータ書き換えを制御するメモリ制御装置において、
前記記憶媒体中で第1のブロック中の使用中状態のセクタ内のデータを第2のブロック中のデータ未使用状態のセクタに複写し、該第1のブロック中の使用中状態のセクタ内のデータを破棄してデータ未使用状態のセクタに遷移させるガーベージコレクションの許可または禁止を設定する管理フラグを記憶する記憶手段と、
前記記憶手段に記憶された前記管理フラグの状態を判定して、前記記憶媒体の各ブロックに対するメモリアクセスを制御する制御手段とを有し、
前記記憶媒体は、ガーベージコレクションの際に使用中状態のセクタ内のデータを退避させるための退避ブロックを少なくとも1つ備え、
前記制御手段は、前記管理フラグが許可状態の場合に、前記退避ブロックを用いたガーベージコレクションを許可し、前記管理フラグが禁止状態の場合に、前記退避ブロックに対するデータ書込みを許可することを特徴とするメモリ制御装置。 - 前記記録媒体は、フラッシュROMであることを特徴とする請求項1に記載のメモリ制御装置。
- それぞれが複数の書き換え可能なセクタを含むブロックを複数備える記憶媒体の各ブロックに対するデータ書き換えを制御するメモリアクセス方法において、
前記記憶媒体中で第1のブロック中の使用中状態のセクタ内のデータを第2のブロック中のデータ未使用状態のセクタに複写し、該第1のブロック中の使用中状態のセクタ内のデータを破棄してデータ未使用状態のセクタに遷移させるガーベージコレクションの許可または禁止を設定する管理フラグを設定する設定工程と、
該設定された前記管理フラグの状態を判定して前記記憶媒体の各セクタに対するメモリアクセスを禁止または許可する処理工程とを有し、
前記記憶媒体は、ガーベージコレクションの際に使用中状態のセクタ内のデータを退避させるための退避ブロックを少なくとも1つ備え、
前記処理工程では、前記管理フラグが許可状態の場合に、前記退避ブロックを用いたガーベージコレクションを許可し、前記管理フラグが禁止状態の場合に、前記退避ブロックに対するデータ書込みを許可することを特徴とするメモリアクセス方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20234096A JP3919261B2 (ja) | 1996-07-31 | 1996-07-31 | メモリ制御装置およびメモリアクセス方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20234096A JP3919261B2 (ja) | 1996-07-31 | 1996-07-31 | メモリ制御装置およびメモリアクセス方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1050084A JPH1050084A (ja) | 1998-02-20 |
JP3919261B2 true JP3919261B2 (ja) | 2007-05-23 |
Family
ID=16455926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20234096A Expired - Fee Related JP3919261B2 (ja) | 1996-07-31 | 1996-07-31 | メモリ制御装置およびメモリアクセス方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3919261B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
JP4794530B2 (ja) * | 2007-10-26 | 2011-10-19 | ルネサスエレクトロニクス株式会社 | 半導体装置および携帯電話 |
JP5332800B2 (ja) * | 2009-03-26 | 2013-11-06 | 株式会社デンソー | 記憶装置 |
US8966203B2 (en) * | 2013-01-04 | 2015-02-24 | Microsoft Corporation | Shared and managed memory unified access |
-
1996
- 1996-07-31 JP JP20234096A patent/JP3919261B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1050084A (ja) | 1998-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6470413B1 (en) | Information processing apparatus and method in which an executable file in an incorporated memory is loaded and executed at startup | |
US6604168B2 (en) | Flash eeprom management using ratio of used to unused sectors | |
JP3544610B2 (ja) | メモリ装置 | |
US7388792B2 (en) | Memory management device and memory device | |
JP4268396B2 (ja) | 1回プログラム可能な不揮発性メモリデバイスのファイル管理 | |
JP4390846B2 (ja) | 非同期イベントの事後データ収集用ループ化ファイル構造を備えたコンピュータ・ファイル・システム | |
JPH11161563A (ja) | データの記憶および再生方法 | |
CN110427158B (zh) | 固态硬盘的写入方法及固态硬盘 | |
JP3776493B2 (ja) | 画像記録装置 | |
US20050278480A1 (en) | Method of writing data into flash memory | |
US7620994B2 (en) | Data recording system and data access method | |
KR20110088566A (ko) | 메모리 장치 및 그 제어 방법 | |
JPH03224045A (ja) | データ保全方式 | |
JP3919261B2 (ja) | メモリ制御装置およびメモリアクセス方法 | |
JPH0997139A (ja) | フラッシュrom管理方法及び装置及びコンピュータ制御装置 | |
JP2006228138A (ja) | 半導体記憶装置、記憶制御方法および情報機器 | |
JP2003076604A (ja) | フラッシュメモリのログ情報収集方式および方法 | |
US6750908B1 (en) | Image processing apparatus using recording medium which needs data erasing processing before recording of data | |
JPH06222985A (ja) | メモリ制御装置 | |
US20080181064A1 (en) | Content processing apparatus | |
JP3727983B2 (ja) | 電子カメラ | |
JP2000330850A (ja) | フラッシュメモリ制御方法 | |
JP3832933B2 (ja) | 情報処理装置およびその方法、オペレーティングシステム、記憶媒体 | |
JP3507121B2 (ja) | 記録装置及び記録ユニット | |
JP2005085081A (ja) | 不揮発性半導体メモリを記録媒体とするデータ記録装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060829 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060912 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061113 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070213 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100223 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110223 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120223 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130223 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140223 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |