説明

不揮発性メモリ管理用のファイルシステム

【課題】FCB領域における過度のデータ消去を不要として当該FCB領域の破壊を防止し、不揮発性メモリの製品寿命を延ばす。
【解決手段】フラッシュROM1を制御するCPU2は、フラッシュROMを構成する複数のブロックB1〜B100のうち第1番目のブロックB1の第1のFCB領域11が有する所定の番地にそれぞれ割り当てられるデータ領域10が有する所定の番地の値、複数のブロックにそれぞれ割り当てられる第1番目のブロックの第2のFCB領域12が有する所定の番地の値を、4ビットを16進法により表記した16種類「0〜F」の値のうち「8」、「C」、「E」、「F」の4つの値で表し、「F」→「E」→「C」→「8」の順番で書き換える。また、第1、2のFCB領域のうち少なくとも第1のFCB領域は、複数のブロック毎に分割して配置する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フラッシュROM等の不揮発性メモリへのデータ書き込み情報の管理を行う管理用のファイルシステムに係り、特に、過度なデータ消去が防止された不揮発性メモリ管理用のファイルシステムに関する。
【背景技術】
【0002】
従来から、玄関子機で呼出ボタンが操作されたときカメラからの玄関の映像を録画ユニットの外出ボタンの操作により録画ユニットの不揮発性メモリに録画し、録画ユニットの再生ボタンの操作により録画ユニットに録画されていた玄関の映像を親機のモニタで再生するテレビドアホン装置が開示されている(例えば、特許文献1を参照。)。この装置によれば、呼出ボタンの操作を行った来訪者の画像を確実に録画できるようにして、来訪者の識別を容易にできる。
【0003】
このような不揮発性メモリを構成する例えば、フラッシュROMへのデータ書き込み又はデータ消去は、CPUのようなハードウェアの使用によるプログラム制御で可能であるものの、通常、データ消去の回数には制限があり、メーカー保証値としては、例えば、10万回とされている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−94977号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、フラッシュROMのデータ領域毎の書き込み状況については、特別なデータ領域であるFCB(File Control Block)領域を使用して管理する必要があり、このFCB領域は当該フラッシュROM内の特定の場所に設けられるものであって、データ領域へのデータの書き込み毎にFCB領域のみの消去や書き込みが行われるため、前述のような消去回数の制限に伴いFCB領域が破壊される虞があり、ゆえに、フラッシュROM全体が使用できなくなる難点があった。
【0006】
本発明は、この難点を解消するためになされたもので、FCB領域における過度のデータ消去を不要として当該FCB領域の破壊を防止し、不揮発性メモリの製品寿命を延ばすことができる不揮発性メモリ管理用のファイルシステムを提供することを目的としている。
【課題を解決するための手段】
【0007】
前述の目的を達成するため、本発明の第1の態様である不揮発性メモリ管理用のファイルシステムは、所定のデータ容量のブロックを複数有する不揮発性メモリと、不揮発性メモリを制御するためのCPUとを備える不揮発性メモリ管理用のファイルシステムにおいて、CPUは、複数のブロックのうち第1番目のブロックの第1のFCB領域が有する所定の番地にそれぞれ割り当てられるデータ領域が有する所定の番地の値、複数のブロックにそれぞれ割り当てられる第1番目のブロックの第2のFCB領域が有する所定の番地の値を、4ビットを16進法により表記した16種類「0〜F」の値のうち「8」、「C」、「E」、「F」の4つの値で表し、「F」→「E」→「C」→「8」の順番で書き換えるものである。
【0008】
また、本発明の第2の態様である不揮発性メモリ管理用のファイルシステムは、本発明の第1の態様において、「8」、「C」、「E」、「F」それぞれの値を、「データ領域の所定の番地が使用不可である」、「データ領域の所定の番地が一杯である」、「データ領域の所定の番地に既にデータが書き込まれている」、「データ領域の所定の番地にデータが書き込まれていない」に割り当てるものである。
【0009】
また、本発明の第3の態様である不揮発性メモリ管理用のファイルシステムは、所定のデータ容量のブロックを複数有する不揮発性メモリと、不揮発性メモリを制御するためのCPUとを備える不揮発性メモリ管理用のファイルシステムにおいて、不揮発性メモリは、ブロック毎に所定の範囲の番地を有するデータ領域と、データ領域の書き込み状況を所定の範囲の番地に割り当てて管理するための第1のFCB領域と、ブロック毎の書き込み状況を所定の範囲の番地に割り当てて管理するための第2のFCB領域とを有し、第1、2のFCB領域のうち少なくとも第1のFCB領域は、複数のブロック毎に分割して配置されるものである。
【発明の効果】
【0010】
本発明の不揮発性メモリ管理用のファイルシステムによれば、CPUの制御により不揮発性メモリを制御するにあたって、不揮発性メモリを構成する複数のブロック毎に、データ領域と第1、第2のFCB領域のうち少なくとも第1のFCB領域とが分割して配置されており、第1番目のブロックの第1のFCB領域が有する所定の番地にそれぞれ割り当てられるデータ領域が有する所定の番地の値、第1番目のブロックの第2のFCB領域が有する所定の番地の値を、4ビットを16進法により表記した16種類「0〜F」の値のうち「8:データ領域の所定の番地が使用不可である」、「C:データ領域の所定の番地が一杯である」、「E:データ領域の所定の番地に既にデータが書き込まれている」、「F:データ領域の所定の番地にデータが書き込まれていない」の4つの値で表し、「F(1111)」→「E(1110)」→「C(1100)」→「8(1000)」の順番で書き換えることができる。また、不揮発性メモリの特性としては、内部のそれぞれのビットを「0」→「1」に変更するときにはデータ消去となり前述の回数制限が懸念されるが、内部のそれぞれのビットを「1」→「0」に変更するときには前述の回数制限をう受けることはない。これにより、FCB領域における過度のデータ消去が不要となるため、当該FCB領域の破壊を防止でき、ゆえに、不揮発性メモリの製品寿命を延ばすことができる。
【図面の簡単な説明】
【0011】
【図1】図1は、本発明の実施例による不揮発性メモリ管理用のファイルシステムの構成を示すシステム説明図である。
【発明を実施するための形態】
【0012】
以下、本発明の不揮発性メモリ管理用のファイルシステムを適用した実施の形態例について、図面を参照して説明する。
【0013】
図1は、本発明の実施例による不揮発性メモリ管理用のファイルシステムの構成を示すシステム説明図である。このシステムは、所定のデータ容量のブロックを複数有する、ここでは、1ブロック50000byteの当該ブロックを100個(以下、第1番目のブロックB1〜第100番目のブロックB100という。)有する不揮発性メモリを構成するフラッシュROM1と、フラッシュROM1を制御、例えば、データ書き込みやデータ消去を行うためのCPU2とを備えている。
【0014】
このフラッシュROM1は、第1番目のブロックB1〜第100番目のブロックB100の計100個の複数のブロック毎に所定の範囲の番地、ここでは、「1000〜50999」の番地を有するデータ領域10と、複数のブロック毎にデータ領域10の書き込み状況を所定の範囲の番地、ここでは、「0〜499」の番地に割り当てて管理するための第1のFCB領域11とを有し、また、第1番目のブロックB1には複数のブロックである第1番目のブロックB1〜第100番目のブロックB100毎の書き込み状況を所定の範囲の番地、ここでは、「700〜800」の番地に割り当てて管理するための第2のFCB領域12を有している。
【0015】
このような構成の不揮発性メモリ管理用のファイルシステムにおいて、CPU2は、フラッシュROM1を構成する第1番目のブロックB1〜第100番目のブロックB100のうち、第1番目のブロックB1の第1のFCB領域11が有する「0」番地と同ブロックB1のデータ領域10が有する「1000〜1099」番地とを対応させ、「0」番地の値について、4ビットを16進法により表記した16種類の「0〜F」の値のうち「8」、「C」、「E」、「F」の値のみを使用して、「F」→「E」→「C」→「8」の順番で記録する。
【0016】
ここで、4ビットを16進法により表記した16種類の「0〜F」の値とは、前述のデータ書き込み、データ消去をそれぞれ示す2個の数字「1」、「0」のような2進法による表記を16進法で表記したものであり、2進法による表記において「1000」で表される「8」は「データ領域10の所定の番地が使用不可である」ことを、同様な2進法による表記において「1100」で表される「C」は「データ領域10の所定の番地が一杯である」ことを、同様な2進法による表記において「1110」で表される「E」は「データ領域10の所定の番地に既にデータが書き込まれている」ことを、同様な2進法による表記において「1111」で表される「F」は「データ領域10の所定の番地にデータが書き込まれていない」ことが、それぞれ割り当てられるものとする。
【0017】
したがって、CPU2は、前述のようにフラッシュROM1を構成する第1番目のブロックB1の第1のFCB領域11が有する「0」番地と同ブロックB1のデータ領域10が有する「1000〜1099」番地とを対応させるにあたり、この「0」番地の値が「F」であるならば「1000〜1099」番地には「データが書き込まれていない」と判別することができ、「0」番地の値が「E」であるならば「1000〜1099」番地には「データが既に書き込まれている」、「0」番地の値が「C」であるならば「1000〜1099」番地は「空き容量がなく一杯である」、「0」番地の値が「8」であるならば「1000〜1099」番地は「使用不可である」のように、「0」番地の値を検索することができる。
【0018】
なお、前述のような検索動作を繰り返すことにより、CPU2は、フラッシュROM1を構成する第1番目のブロックB1の第1のFCB領域11が有する「1、2、3、・・・498、499」番地と同ブロックB1のデータ領域10が有する「1100〜1199、1200〜1299、1300〜1399、・・・50800〜50899、50900〜50999」番地とをそれぞれ対応させ、「1、2、3、・・・498、499」番地の値を検索することにより、同一ブロックB1内の「0〜499」の500番地分の値を検索することができる。
【0019】
また、CPU2は、フラッシュROM1を構成する第1番目のブロックB1〜第100番目のブロックB100のうち、第1番目のブロックB1の第2のFCB領域12が有する「700〜800」番地の先頭の番地である「700」番地を第1番目のブロックB1に、2番目の番地である「701」番地を第2番目のブロックB2に、3番目の番地である「702」番地を第3番目のブロックB3、・・・のように、ブロックB1〜B100の計100個の当該ブロックに第2のFCB領域12が有する「700〜799」番地をそれぞれ対応させることができ、この「700〜799」番地の値についても前述と同様な検索手段を用いて、それぞれの番地の値が「F」であるならば「データが書き込まれていない」、「E」であるならば「データが既に書き込まれている」、「C」であるならば「空き容量がなく一杯である」、「8」であるならば「使用不可である」のように、「F」→「E」→「C」→「8」の順番で記録することにより、第1番目のブロックB1〜第100番目のブロックB100の計100個の当該ブロックが使用可能な状態となる。
【0020】
次に、第1番目のブロックB1〜第100番目のブロックB100の計100個の当該ブロックが使用可能な状態なフラッシュROM1に対して、例えば、データ長が100byteで固定されたデータの書き込み又はその消去をCPU2の制御により行う場合の具体的な動作について説明する。
【0021】
データ全てが消去されている例えば、初回起動時又はリセット起動時においてデータ書き込みを行うにあたり、1回目(初回)のデータ書き込み作業としてCPU2は、フラッシュROM1を構成する第1番目のブロックB1の第2のFCB領域12が有する「700〜799」番地の値について「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「700」番地の値が、データ全てが消去されていることに起因して「F」と判別されるため、その値を「E」に書き換え、第1番目のブロックB1(を構成するデータ領域10)をデータ書き込み中に設定する。
【0022】
この後、CPU2は、フラッシュROM1を構成する第1番目のブロックB1の第1のFCB領域11が有する「0〜499」番地の値についても、「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「0」番地の値が、データ全てが消去されていることに起因して「F」と判別され、また、データ領域10が有する「1000〜1099」番地の領域の大きさが書き込もうとしているデータ長に一致するため、その値を「C」に書き換え、データ領域10が有する「1000〜1099」番地にそれぞれ、(データ長が100byteで固定された)データを書き込むことができる。
【0023】
次に、2回目のデータ書き込み作業としてCPU2は、フラッシュROM1を構成する第1番目のブロックB1の第2のFCB領域12が有する「700〜799」番地の値について「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「700」番地の値が前述の1回目の書き込み作業に起因して「E」と判別される。
【0024】
また、CPU2は、フラッシュROM1を構成する第1番目のブロックB1の第2のFCB領域12が有する「0〜499」番地の値についても、「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「0」番地の値が、前述の1回目の書き込み作業に起因して「C」であり、「1」番地の値が、データ全てが消去されていることに起因して「F」と判別されるため、その値を「C」に書き換え、データ領域10が有する「1100〜1199」番地にそれぞれ、(データ長が100byteで固定された)データを書き込むことができる。
【0025】
なお、CPU2は、前述のようなデータ書き込み作業を、フラッシュROM1を構成する第1番目のブロックB1に対して繰り返して行うことができ、500回目のデータ書き込み作業を行うにあたっては、第2のFCB領域12が有する「700〜799」番地の値について「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「700」番地の値が499回目の書き込み作業に起因して「E」と判別される。
【0026】
また、CPU2は、フラッシュROM1を構成する第1番目のブロックB1の第2のFCB領域12が有する「0〜499」番地の値についても、「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「498」番地の値が、499回目の書き込み作業に起因して「C」であり、「499」番地の値が、データ全てが消去されていることに起因して「F」と判別されるため、その値を「C」に書き換え、データ領域10が有する「50900〜50999」番地にそれぞれ、(データ長が100byteで固定された)データを書き込むことができる。
【0027】
さらに、CPU2は、前述のような1回目〜500回目までのデータ書き込み作業を完了させた後、500回目の書き込み作業に起因して第1番目のブロックB1に空き容量がなく一杯であるために追加書き込みができないことから、その旨の指示としてフラッシュROM1を構成する第1番目のブロックB1の第2のFCB領域12が有する「700」番地の値についてその値を「C」に書き換えるとともに、「701」番地の値を「E」とし、第2番目のブロックB2内のデータを全て消去し、「F」とする。
【0028】
次に、501回目のデータ書き込み作業としてCPU2は、フラッシュROM1を構成する第1番目のブロックB1の第2のFCB領域12が有する「700〜799」番地の値について「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「701」番地の値が前述の500回目の書き込み作業に起因して「E」と判別される。
【0029】
この後、CPU2は、フラッシュROM1を構成する第2番目のブロックB2の第1のFCB領域11が有する「0〜499」番地の値についても、「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「0」番地の値が、データ全てが消去されていることに起因して「F」と判別されるため、その値を「C」に書き換え、データ領域10が有する「1000〜1099」番地にそれぞれ、(データ長が100byteで固定された)データを書き込むことができる。
【0030】
なお、CPU2は、前述のようなデータ書き込み作業を、フラッシュROM1を構成する第2番目のブロックB2に対しては501回目〜1000回目の当該作業まで、第3番目のブロックB3に対しては1001回目〜1500回目の当該作業まで、・・・第100番目のブロックB100に対しては49501回目〜50000回目の当該作業までのように、繰り返して行うことができる。
【0031】
これにより、(データ長が100byteで固定された)50000個のデータが、フラッシュROM1を構成する第1番目のブロックB1〜第100番目のブロックB100のデータ領域10にそれぞれデータが書き込まれると、全てのブロックB1〜B100が満杯となる。これを検出したCPU2は、ブロックB1の第2のFCB領域12が有する「800」番地に「0」を書き込むことにより、データの書き込み作業が、第1番目のブロックB1〜第100番目のブロックB100まで一巡したことを示すことができる。
【0032】
この後、50001回目のデータ書き込み作業としてCPU2は、フラッシュROM1を構成する第1番目のブロックB1の第2のFCB領域12が有する「700〜799」番地の値について「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「700〜799」番地の値が全て「C」であるとため、「800」番地の値を検索する。「800」番地の値が「0」であると判別されると、過去のデータを上書きする必要があるため、第1番目のブロックB1内のデータを全て消去して「F」に書き換えた後、「700」番地の値を「E」に書き換え、第1番目のブロックB1(を構成するデータ領域10)をデータ書き込み中に設定する。
【0033】
また、CPU2は、フラッシュROM1を構成する第1番目のブロックB1の第1のFCB領域11が有する「0〜499」番地の値についても、「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「0」番地の値が、データ全てが消去されていることに起因して「F」と判別されるため、その値を「E」に書き換え、データ領域10が有する「1000〜1099」番地にそれぞれ、(データ長が100byteで固定された)データを書き込むことができる。
【0034】
なお、50002回目以降のデータ書き込み作業については、CPU2の制御により前述の1回目〜499回目等と同様な工程で行われるものであるため、具体的な説明は省略するものとする。
【0035】
また、データ書き込み作業を行った際に当該データに書き込みエラーが発生した場合、例えば、第1番目のブロックB1の2回目の書き込みである「1100〜1199」番地でエラーが発生した場合には、「1100〜1199」番地に対応する第1番目のブロックB1の第1のFCB領域11が有する「1」番地の値を「8」に書き換え、当該番地のデータ異常を記録するとともに、「0〜499」番地の値についても、再び「F」又は「E」が記録されているものを先頭から順に検索し、新たにデータを書き込む番地を検索することができる。
【0036】
前述までの説明から明らかなように、フラッシュROM1を構成する第1番目のブロックB1〜第100番目のブロックB100のうち当該ブロックに係る消去動作は、50000回のデータ書き込み作業のうち1回のみ行われるものであって、第1、第2のFCB領域11、12(のうち少なくとも第1のFCB領域11)における過度のデータ消去が不要となるため、当該FCB領域の破壊を防止でき、ゆえに、フラッシュROM1の製品寿命を延ばすことができる。
【0037】
本発明の不揮発性メモリ管理用のファイルシステムにおいては、特定の実施の形態をもって説明してきたが、この形態に限定されるものでなく、本発明の効果を奏する限り、これまで知られた如何なる構成の当該システム、例えば、フラッシュROM1以外の不揮発性メモリを適用した当該システムであっても採用できるということはいうまでもないことである。
【0038】
また、本願発明のフラッシュROM1以外の不揮発性メモリを適用するにあたって、そのメモリを構成する所定のデータ容量のブロックの数や、ブロック毎のデータ領域10、第1、第2のFCB領域11、12がそれぞれ有する所定の番地については、当該メモリの規格に対応させて適宜に変更可能なものであり、データの書き込みが可能な回数(作業回数)についても変動するものである。
【0039】
さらに、本願発明においては、フラッシュROM1を構成する第1番目のブロックB1〜第100番目のブロックB100の配置構成として、第1、第2のFCB領域11、12のうち第1のFCB領域11のみをブロック毎に分割して配置させたが、この態様に限定されるものではない。例えば、第1、第2のFCB領域11、12をそれぞれ、ブロック毎に分割して配置することもできる。
【符号の説明】
【0040】
1……フラッシュROM(不揮発性メモリ)
B1〜B100……第1番目のブロック〜第100番目のブロック(複数のブロック)
10……データ領域
11……第1のFCB領域
12……第2のFCB領域
2……CPU

【特許請求の範囲】
【請求項1】
所定のデータ容量のブロックを複数有する不揮発性メモリと、前記不揮発性メモリを制御するためのCPUとを備える不揮発性メモリ管理用のファイルシステムにおいて、
前記CPUは、前記複数のブロックのうち第1番目のブロックの第1のFCB領域が有する所定の番地にそれぞれ割り当てられる前記データ領域が有する所定の番地の値、前記複数のブロックにそれぞれ割り当てられる前記第1番目のブロックの第2のFCB領域が有する所定の番地の値を、4ビットを16進法により表記した16種類「0〜F」の値のうち「8」、「C」、「E」、「F」の4つの値で表し、「F」→「E」→「C」→「8」の順番で書き換えることを特徴とする不揮発性メモリ管理用のファイルシステム。
【請求項2】
前記「8」、「C」、「E」、「F」それぞれの値を、「前記データ領域の所定の番地が使用不可である」、「前記データ領域の所定の番地が一杯である」、「前記データ領域の所定の番地に既にデータが書き込まれている」、「前記データ領域の所定の番地にデータが書き込まれていない」に割り当てることを特徴とする請求項1記載の不揮発性メモリ管理用のファイルシステム。
【請求項3】
所定のデータ容量のブロックを複数有する不揮発性メモリと、前記不揮発性メモリを制御するためのCPUとを備える不揮発性メモリ管理用のファイルシステムにおいて、
前記不揮発性メモリは、前記ブロック毎に所定の範囲の番地を有するデータ領域と、前記データ領域の書き込み状況を所定の範囲の番地に割り当てて管理するための第1のFCB領域と、前記ブロック毎の書き込み状況を所定の範囲の番地に割り当てて管理するための第2のFCB領域とを有し、
前記第1、2のFCB領域のうち少なくとも第1のFCB領域は、前記複数のブロック毎に分割して配置されることを特徴とする不揮発性メモリ管理用のファイルシステム。

【図1】
image rotate


【公開番号】特開2012−181577(P2012−181577A)
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願番号】特願2011−42236(P2011−42236)
【出願日】平成23年2月28日(2011.2.28)
【出願人】(000100908)アイホン株式会社 (777)
【Fターム(参考)】