JP2012181577A - File system for managing non-volatile memory - Google Patents

File system for managing non-volatile memory Download PDF

Info

Publication number
JP2012181577A
JP2012181577A JP2011042236A JP2011042236A JP2012181577A JP 2012181577 A JP2012181577 A JP 2012181577A JP 2011042236 A JP2011042236 A JP 2011042236A JP 2011042236 A JP2011042236 A JP 2011042236A JP 2012181577 A JP2012181577 A JP 2012181577A
Authority
JP
Japan
Prior art keywords
area
data
fcb
block
nonvolatile memory
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.)
Withdrawn
Application number
JP2011042236A
Other languages
Japanese (ja)
Inventor
Tomohide Tsutsumi
智英 堤
Shinji Okada
真二 岡田
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.)
Aiphone Co Ltd
Original Assignee
Aiphone 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 Aiphone Co Ltd filed Critical Aiphone Co Ltd
Priority to JP2011042236A priority Critical patent/JP2012181577A/en
Publication of JP2012181577A publication Critical patent/JP2012181577A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To extend a product life of a non-volatile memory by eliminating the necessity of deleting excessive data in a FCB area for preventing the FCB area from being damaged.SOLUTION: A CPU 2 controlling a flash ROM 1 rewrites values of predetermined addresses possessed by a data area 10 that are to be assigned to respective addresses possessed by a first FCB area 11 of a first block B1 among a plurality of blocks B1 to B100 configuring the flash ROM 1, and values of predetermined addresses possessed by a second FCB area 12 of the first block B1 that are to be assigned to each of the plurality of blocks, by representing the values in four values "8","C","E", and "F" among the 16 types of values "0 to F" representing 4 bits in hexadecimal notation, and putting the values in order of "F" → "E" → "C" → "8". Also, at least the first FCB area between the first and second FCB areas is arranged by dividing the first FCB area into a plurality of blocks.

Description

本発明は、フラッシュROM等の不揮発性メモリへのデータ書き込み情報の管理を行う管理用のファイルシステムに係り、特に、過度なデータ消去が防止された不揮発性メモリ管理用のファイルシステムに関する。   The present invention relates to a management file system for managing data write information to a nonvolatile memory such as a flash ROM, and more particularly to a nonvolatile memory management file system in which excessive data erasure is prevented.

従来から、玄関子機で呼出ボタンが操作されたときカメラからの玄関の映像を録画ユニットの外出ボタンの操作により録画ユニットの不揮発性メモリに録画し、録画ユニットの再生ボタンの操作により録画ユニットに録画されていた玄関の映像を親機のモニタで再生するテレビドアホン装置が開示されている(例えば、特許文献1を参照。)。この装置によれば、呼出ボタンの操作を行った来訪者の画像を確実に録画できるようにして、来訪者の識別を容易にできる。   Conventionally, when the call button is operated on the entrance cordless handset, the video of the entrance from the camera is recorded in the non-volatile memory of the recording unit by operating the go-out button of the recording unit, and recorded on the recording unit by operating the playback button of the recording unit. There has been disclosed a television door phone device that reproduces a recorded video of an entrance on a monitor of a master unit (see, for example, Patent Document 1). According to this apparatus, it is possible to reliably record the image of the visitor who has operated the call button, and to easily identify the visitor.

このような不揮発性メモリを構成する例えば、フラッシュROMへのデータ書き込み又はデータ消去は、CPUのようなハードウェアの使用によるプログラム制御で可能であるものの、通常、データ消去の回数には制限があり、メーカー保証値としては、例えば、10万回とされている。   For example, data writing or data erasing to the flash ROM that constitutes such a nonvolatile memory can be performed by program control by using hardware such as a CPU, but normally, the number of data erasing is limited. The manufacturer guaranteed value is, for example, 100,000 times.

特開2001−94977号公報JP 2001-94977 A

しかしながら、フラッシュROMのデータ領域毎の書き込み状況については、特別なデータ領域であるFCB(File Control Block)領域を使用して管理する必要があり、このFCB領域は当該フラッシュROM内の特定の場所に設けられるものであって、データ領域へのデータの書き込み毎にFCB領域のみの消去や書き込みが行われるため、前述のような消去回数の制限に伴いFCB領域が破壊される虞があり、ゆえに、フラッシュROM全体が使用できなくなる難点があった。   However, the writing status for each data area of the flash ROM must be managed using a special data area, FCB (File Control Block) area, and this FCB area is located at a specific location in the flash ROM. Since only the FCB area is erased or written every time data is written to the data area, the FCB area may be destroyed due to the limitation on the number of erasures as described above. There was a problem that the entire flash ROM could not be used.

本発明は、この難点を解消するためになされたもので、FCB領域における過度のデータ消去を不要として当該FCB領域の破壊を防止し、不揮発性メモリの製品寿命を延ばすことができる不揮発性メモリ管理用のファイルシステムを提供することを目的としている。   The present invention has been made in order to solve this problem, and is a nonvolatile memory management capable of preventing the destruction of the FCB area by eliminating excessive data erasure in the FCB area and extending the product life of the nonvolatile memory. It aims to provide a file system for use.

前述の目的を達成するため、本発明の第1の態様である不揮発性メモリ管理用のファイルシステムは、所定のデータ容量のブロックを複数有する不揮発性メモリと、不揮発性メモリを制御するためのCPUとを備える不揮発性メモリ管理用のファイルシステムにおいて、CPUは、複数のブロックのうち第1番目のブロックの第1のFCB領域が有する所定の番地にそれぞれ割り当てられるデータ領域が有する所定の番地の値、複数のブロックにそれぞれ割り当てられる第1番目のブロックの第2のFCB領域が有する所定の番地の値を、4ビットを16進法により表記した16種類「0〜F」の値のうち「8」、「C」、「E」、「F」の4つの値で表し、「F」→「E」→「C」→「8」の順番で書き換えるものである。   To achieve the above object, a nonvolatile memory management file system according to a first aspect of the present invention includes a nonvolatile memory having a plurality of blocks having a predetermined data capacity, and a CPU for controlling the nonvolatile memory. In the file system for non-volatile memory management comprising the CPU, the CPU has a predetermined address value of a data area allocated to a predetermined address of the first FCB area of the first block among the plurality of blocks. The value of the predetermined address included in the second FCB area of the first block allocated to each of the plurality of blocks is expressed as “8” among the 16 types “0 to F” of four types expressed in hexadecimal. ”,“ C ”,“ E ”, and“ F ”, which are rewritten in the order of“ F ”→“ E ”→“ C ”→“ 8 ”.

また、本発明の第2の態様である不揮発性メモリ管理用のファイルシステムは、本発明の第1の態様において、「8」、「C」、「E」、「F」それぞれの値を、「データ領域の所定の番地が使用不可である」、「データ領域の所定の番地が一杯である」、「データ領域の所定の番地に既にデータが書き込まれている」、「データ領域の所定の番地にデータが書き込まれていない」に割り当てるものである。   The nonvolatile memory management file system according to the second aspect of the present invention provides the values of “8”, “C”, “E”, and “F” in the first aspect of the present invention, “The specified address in the data area is unusable”, “The specified address in the data area is full”, “Data is already written in the specified address in the data area”, “The specified address in the data area The data is assigned to “no data written to the address”.

また、本発明の第3の態様である不揮発性メモリ管理用のファイルシステムは、所定のデータ容量のブロックを複数有する不揮発性メモリと、不揮発性メモリを制御するためのCPUとを備える不揮発性メモリ管理用のファイルシステムにおいて、不揮発性メモリは、ブロック毎に所定の範囲の番地を有するデータ領域と、データ領域の書き込み状況を所定の範囲の番地に割り当てて管理するための第1のFCB領域と、ブロック毎の書き込み状況を所定の範囲の番地に割り当てて管理するための第2のFCB領域とを有し、第1、2のFCB領域のうち少なくとも第1のFCB領域は、複数のブロック毎に分割して配置されるものである。   A non-volatile memory management file system according to a third aspect of the present invention includes a non-volatile memory having a plurality of blocks having a predetermined data capacity, and a CPU for controlling the non-volatile memory. In the management file system, the nonvolatile memory includes a data area having a predetermined range of addresses for each block, and a first FCB area for allocating and managing the write status of the data area to the predetermined range of addresses. And a second FCB area for managing the write status of each block by assigning it to a predetermined range of addresses, and at least the first FCB area of the first and second FCB areas is for each of a plurality of blocks. It is divided and arranged.

本発明の不揮発性メモリ管理用のファイルシステムによれば、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領域の破壊を防止でき、ゆえに、不揮発性メモリの製品寿命を延ばすことができる。   According to the nonvolatile memory management file system of the present invention, when the nonvolatile memory is controlled by the control of the CPU, the data area and the first and second FCB areas are divided into a plurality of blocks constituting the nonvolatile memory. At least the first FCB area is divided and the value of the predetermined address included in the data area respectively assigned to the predetermined address included in the first FCB area of the first block, the first The value of the predetermined address of the second FCB area of the th block is “8: The predetermined address of the data area is unusable among 16 types of values“ 0 to F ”in which 4 bits are expressed in hexadecimal. "C: The predetermined address in the data area is full", "E: Data is already written in the predetermined address in the data area", "F: In the predetermined address in the data area" Expressed in four values over data is not written, "it can be rewritten in the order of" F (1111) "→" E (1110) "→" C (1100) "→" 8 (1000) ". Further, as a characteristic of the nonvolatile memory, when each internal bit is changed from “0” to “1”, data erasure occurs and there is a concern about the above-mentioned number of times limitation. However, each internal bit is changed from “1” to “1”. When changing to “0”, the above-mentioned number of times is not limited. This eliminates the need for excessive data erasure in the FCB area, so that the destruction of the FCB area can be prevented, and therefore the product life of the nonvolatile memory can be extended.

図1は、本発明の実施例による不揮発性メモリ管理用のファイルシステムの構成を示すシステム説明図である。FIG. 1 is a system explanatory diagram showing the configuration of a file system for nonvolatile memory management according to an embodiment of the present invention.

以下、本発明の不揮発性メモリ管理用のファイルシステムを適用した実施の形態例について、図面を参照して説明する。   Embodiments to which a file system for managing nonvolatile memory according to the present invention is applied will be described below with reference to the drawings.

図1は、本発明の実施例による不揮発性メモリ管理用のファイルシステムの構成を示すシステム説明図である。このシステムは、所定のデータ容量のブロックを複数有する、ここでは、1ブロック50000byteの当該ブロックを100個(以下、第1番目のブロックB1〜第100番目のブロックB100という。)有する不揮発性メモリを構成するフラッシュROM1と、フラッシュROM1を制御、例えば、データ書き込みやデータ消去を行うためのCPU2とを備えている。   FIG. 1 is a system explanatory diagram showing the configuration of a file system for nonvolatile memory management according to an embodiment of the present invention. This system has a plurality of blocks having a predetermined data capacity, and here, a non-volatile memory having 100 blocks of 150,000 bytes (hereinafter referred to as the first block B1 to the 100th block B100). A flash ROM 1 is provided, and a CPU 2 is provided for controlling the flash ROM 1, for example, for writing and erasing data.

このフラッシュ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を有している。   The flash ROM 1 includes a data area 10 having a predetermined range of addresses for each of a plurality of 100 blocks from the first block B1 to the 100th block B100, in this case, “1000-50999”. The first FCB area 11 for allocating and managing the write status of the data area 10 for each block in a predetermined range of addresses, here, addresses “0 to 499”, and In the first block B1, the write status for each of the first block B1 to the 100th block B100, which is a plurality of blocks, is assigned to a predetermined range of addresses, in this case, addresses "700 to 800" for management. The second FCB area 12 is provided.

このような構成の不揮発性メモリ管理用のファイルシステムにおいて、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」の順番で記録する。   In the nonvolatile memory management file system having such a configuration, the CPU 2 includes the first FCB of the first block B1 among the first block B1 to the 100th block B100 constituting the flash ROM 1. The address “0” in the area 11 is associated with the addresses “1000 to 1099” in the data area 10 of the same block B 1, and the value of the address “0” is 16 types of “4” expressed in hexadecimal. Using only the values of “8”, “C”, “E”, “F” among the values of “0 to F”, recording is performed in the order of “F” → “E” → “C” → “8”. To do.

ここで、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の所定の番地にデータが書き込まれていない」ことが、それぞれ割り当てられるものとする。   Here, the 16 types of “0 to F” values in which 4 bits are expressed in hexadecimal are 2 values such as two numbers “1” and “0” respectively indicating data writing and data erasing described above. Notation in hexadecimal notation is expressed in hexadecimal notation, and “8” represented by “1000” in binary notation is the same as “predetermined address of data area 10 is unusable” “C” represented by “1100” in the binary notation indicates that “the predetermined address of the data area 10 is full”, and “1110” represented by “1110” in the similar binary notation. “E” indicates that “data has already been written at a predetermined address in the data area 10”, and “F” represented by “1111” in “same binary notation” indicates “a predetermined address in the data area 10 No data has been written to It shall be assigned respectively.

したがって、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」番地の値を検索することができる。   Therefore, as described above, the CPU 2 has the “0” address included in the first FCB area 11 of the first block B1 constituting the flash ROM 1 and the “1000-1099” addresses included in the data area 10 of the block B1. When the value of the address “0” is “F”, it can be determined that “data is not written” at addresses “1000 to 1099”, and the value of the address “0” is If it is “E”, “data is already written” at addresses “1000 to 1099”, and if the value of “0” is “C”, addresses “1000 to 1099” have “free space”. If the value of the address "0" is "8", the value of the address "0" can be searched such that the addresses "1000 to 1099" are "unusable".

なお、前述のような検索動作を繰り返すことにより、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番地分の値を検索することができる。   By repeating the search operation as described above, the CPU 2 has “1, 2, 3,... 498, 499” included in the first FCB area 11 of the first block B1 constituting the flash ROM 1. The addresses “1100 to 1199, 1200 to 1299, 1300 to 1399,... 50800 to 50899, 50900 to 50999” included in the data area 10 of the same block B 1 are associated with each other, “1, 2, 3,. ... 498, 499 ”by searching for the value, 500 values of“ 0-499 ”in the same block B1 can be searched.

また、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個の当該ブロックが使用可能な状態となる。   Further, the CPU 2 is the first of the addresses “700 to 800” included in the second FCB area 12 of the first block B1 among the first block B1 to the 100th block B100 constituting the flash ROM 1. The address “700” is assigned to the first block B1, the second address “701” is assigned to the second block B2, and the third address “702” is assigned to the third block B1. Like block B3,..., “700 to 799” in the second FCB area 12 can correspond to a total of 100 blocks B1 to B100, respectively. As for the address value, the same retrieval means as described above is used. If the address value is “F”, “data has not been written”, and if “E”, “data has already been written. “F” → “E” → “C”, such as “Filled in”, “C”, “Full with no free space”, “8”, “Unusable”. By recording in the order of “→” 8, a total of 100 blocks from the first block B1 to the 100th block B100 can be used.

次に、第1番目のブロックB1〜第100番目のブロックB100の計100個の当該ブロックが使用可能な状態なフラッシュROM1に対して、例えば、データ長が100byteで固定されたデータの書き込み又はその消去をCPU2の制御により行う場合の具体的な動作について説明する。   Next, for example, writing data whose data length is fixed at 100 bytes to the flash ROM 1 in which a total of 100 blocks from the first block B1 to the 100th block B100 can be used or its A specific operation when erasing is performed under the control of the CPU 2 will be described.

データ全てが消去されている例えば、初回起動時又はリセット起動時においてデータ書き込みを行うにあたり、1回目(初回)のデータ書き込み作業としてCPU2は、フラッシュROM1を構成する第1番目のブロックB1の第2のFCB領域12が有する「700〜799」番地の値について「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「700」番地の値が、データ全てが消去されていることに起因して「F」と判別されるため、その値を「E」に書き換え、第1番目のブロックB1(を構成するデータ領域10)をデータ書き込み中に設定する。   For example, when data is written at the first activation or reset activation, the CPU 2 performs the first (first) data writing operation in the first block B1 of the first block B1 constituting the flash ROM 1. For the values of addresses “700 to 799” in the FCB area 12, those in which “F” or “E” is recorded are searched in order from the top. Here, since the value at address “700” is determined to be “F” because all the data has been erased, the value is rewritten to “E”, and the first block B 1 ( The data area 10) to be set is set during data writing.

この後、CPU2は、フラッシュROM1を構成する第1番目のブロックB1の第1のFCB領域11が有する「0〜499」番地の値についても、「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「0」番地の値が、データ全てが消去されていることに起因して「F」と判別され、また、データ領域10が有する「1000〜1099」番地の領域の大きさが書き込もうとしているデータ長に一致するため、その値を「C」に書き換え、データ領域10が有する「1000〜1099」番地にそれぞれ、(データ長が100byteで固定された)データを書き込むことができる。   Thereafter, the CPU 2 records “F” or “E” for the value of the address “0 to 499” included in the first FCB area 11 of the first block B1 constituting the flash ROM 1. Search in order from the top. Here, the value of the address “0” is determined as “F” because all the data has been erased, and the size of the area of “1000 to 1099” included in the data area 10 is also written. Since the data length matches the data length that is about to be written, the value can be rewritten to “C”, and data (data length fixed at 100 bytes) can be written in addresses “1000 to 1099” of the data area 10.

次に、2回目のデータ書き込み作業としてCPU2は、フラッシュROM1を構成する第1番目のブロックB1の第2のFCB領域12が有する「700〜799」番地の値について「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「700」番地の値が前述の1回目の書き込み作業に起因して「E」と判別される。   Next, as the second data writing operation, the CPU 2 sets “F” or “E” for the value of the addresses “700 to 799” included in the second FCB area 12 of the first block B1 constituting the flash ROM 1. Search the recorded items in order from the top. Here, the value of address “700” is determined as “E” due to the first writing operation described above.

また、CPU2は、フラッシュROM1を構成する第1番目のブロックB1の第2のFCB領域12が有する「0〜499」番地の値についても、「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「0」番地の値が、前述の1回目の書き込み作業に起因して「C」であり、「1」番地の値が、データ全てが消去されていることに起因して「F」と判別されるため、その値を「C」に書き換え、データ領域10が有する「1100〜1199」番地にそれぞれ、(データ長が100byteで固定された)データを書き込むことができる。   Further, the CPU 2 records “F” or “E” for the value of the addresses “0 to 499” included in the second FCB area 12 of the first block B1 constituting the flash ROM 1. Search from the top in order. Here, the value of the address “0” is “C” due to the first writing operation described above, and the value of the address “1” is “F” because all the data has been erased. Therefore, the value can be rewritten to “C”, and data (data length is fixed at 100 bytes) can be written in addresses “1100 to 1199” of the data area 10, respectively.

なお、CPU2は、前述のようなデータ書き込み作業を、フラッシュROM1を構成する第1番目のブロックB1に対して繰り返して行うことができ、500回目のデータ書き込み作業を行うにあたっては、第2のFCB領域12が有する「700〜799」番地の値について「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「700」番地の値が499回目の書き込み作業に起因して「E」と判別される。   Note that the CPU 2 can repeatedly perform the above-described data writing operation on the first block B1 constituting the flash ROM 1, and when performing the 500th data writing operation, the second FCB. With respect to the values of addresses “700 to 799” in the area 12, the ones in which “F” or “E” is recorded are searched in order from the top. Here, the value of “700” is determined as “E” due to the 499th writing operation.

また、CPU2は、フラッシュROM1を構成する第1番目のブロックB1の第2のFCB領域12が有する「0〜499」番地の値についても、「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「498」番地の値が、499回目の書き込み作業に起因して「C」であり、「499」番地の値が、データ全てが消去されていることに起因して「F」と判別されるため、その値を「C」に書き換え、データ領域10が有する「50900〜50999」番地にそれぞれ、(データ長が100byteで固定された)データを書き込むことができる。   Further, the CPU 2 records “F” or “E” for the value of the addresses “0 to 499” included in the second FCB area 12 of the first block B1 constituting the flash ROM 1. Search from the top in order. Here, the value of the “498” address is “C” due to the 499th writing operation, and the value of the “499” address is “F” because all the data has been erased. Therefore, the value can be rewritten to “C”, and data (data length is fixed at 100 bytes) can be written in addresses “50900 to 50999” of the data area 10, respectively.

さらに、CPU2は、前述のような1回目〜500回目までのデータ書き込み作業を完了させた後、500回目の書き込み作業に起因して第1番目のブロックB1に空き容量がなく一杯であるために追加書き込みができないことから、その旨の指示としてフラッシュROM1を構成する第1番目のブロックB1の第2のFCB領域12が有する「700」番地の値についてその値を「C」に書き換えるとともに、「701」番地の値を「E」とし、第2番目のブロックB2内のデータを全て消去し、「F」とする。   Furthermore, after completing the first to 500th data writing operations as described above, the CPU 2 is full because the first block B1 has no free space due to the 500th writing operation. Since additional writing cannot be performed, the value “700” in the second FCB area 12 of the first block B1 constituting the flash ROM 1 is rewritten to “C” as an instruction to that effect, and “ The value of the address “701” is set to “E”, and all data in the second block B2 are erased and set to “F”.

次に、501回目のデータ書き込み作業としてCPU2は、フラッシュROM1を構成する第1番目のブロックB1の第2のFCB領域12が有する「700〜799」番地の値について「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「701」番地の値が前述の500回目の書き込み作業に起因して「E」と判別される。   Next, as the data write operation for the first time, the CPU 2 sets “F” or “E” for the value of the addresses “700 to 799” in the second FCB area 12 of the first block B1 constituting the flash ROM 1. Search the recorded items in order from the top. Here, the value of the address “701” is determined as “E” due to the 500th writing operation described above.

この後、CPU2は、フラッシュROM1を構成する第2番目のブロックB2の第1のFCB領域11が有する「0〜499」番地の値についても、「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「0」番地の値が、データ全てが消去されていることに起因して「F」と判別されるため、その値を「C」に書き換え、データ領域10が有する「1000〜1099」番地にそれぞれ、(データ長が100byteで固定された)データを書き込むことができる。   Thereafter, the CPU 2 records “F” or “E” for the value of the address “0 to 499” included in the first FCB area 11 of the second block B 2 constituting the flash ROM 1. Search in order from the top. Here, since the value of the address “0” is determined as “F” because all the data is erased, the value is rewritten to “C”, and “1000 to 1099” that the data area 10 has. The data (the data length is fixed at 100 bytes) can be written in each address.

なお、CPU2は、前述のようなデータ書き込み作業を、フラッシュROM1を構成する第2番目のブロックB2に対しては501回目〜1000回目の当該作業まで、第3番目のブロックB3に対しては1001回目〜1500回目の当該作業まで、・・・第100番目のブロックB100に対しては49501回目〜50000回目の当該作業までのように、繰り返して行うことができる。   The CPU 2 performs the data writing operation as described above for the second block B2 constituting the flash ROM 1 from the 501st to the 1000th operation, and for the third block B3, 1001. From the first operation to the 1500th operation, it can be repeated for the 100th block B100, such as from the 49501th operation to the 50000th operation.

これにより、(データ長が100byteで固定された)50000個のデータが、フラッシュROM1を構成する第1番目のブロックB1〜第100番目のブロックB100のデータ領域10にそれぞれデータが書き込まれると、全てのブロックB1〜B100が満杯となる。これを検出したCPU2は、ブロックB1の第2のFCB領域12が有する「800」番地に「0」を書き込むことにより、データの書き込み作業が、第1番目のブロックB1〜第100番目のブロックB100まで一巡したことを示すことができる。   As a result, when 50000 pieces of data (with a data length fixed at 100 bytes) are written in the data area 10 of the first block B1 to the 100th block B100 constituting the flash ROM 1, all of them are written. Blocks B1 to B100 become full. The CPU 2 that has detected this writes “0” to the “800” address of the second FCB area 12 of the block B1, so that the data writing operation is performed from the first block B1 to the 100th block B100. It can be shown that it has made a round.

この後、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)をデータ書き込み中に設定する。   Thereafter, as the data write operation for the 50001th time, the CPU 2 sets “F” or “E” for the value of the address “700 to 799” in the second FCB area 12 of the first block B1 constituting the flash ROM 1. Search the recorded items in order from the top. Here, since all the values of the addresses “700 to 799” are “C”, the value of the address “800” is searched. If it is determined that the value of “800” is “0”, the past data needs to be overwritten. Therefore, after all the data in the first block B1 is erased and rewritten to “F” , The value of the address “700” is rewritten to “E”, and the first block B1 (the data area 10 constituting the first block B1) is set during data writing.

また、CPU2は、フラッシュROM1を構成する第1番目のブロックB1の第1のFCB領域11が有する「0〜499」番地の値についても、「F」又は「E」が記録されているものを先頭から順に検索する。ここでは、「0」番地の値が、データ全てが消去されていることに起因して「F」と判別されるため、その値を「E」に書き換え、データ領域10が有する「1000〜1099」番地にそれぞれ、(データ長が100byteで固定された)データを書き込むことができる。   In addition, the CPU 2 records “F” or “E” for the value of the addresses “0 to 499” included in the first FCB area 11 of the first block B1 constituting the flash ROM 1. Search from the top in order. Here, since the value of the address “0” is determined as “F” because all the data is erased, the value is rewritten to “E”, and “1000 to 1099” that the data area 10 has. The data (the data length is fixed at 100 bytes) can be written in each address.

なお、50002回目以降のデータ書き込み作業については、CPU2の制御により前述の1回目〜499回目等と同様な工程で行われるものであるため、具体的な説明は省略するものとする。   Note that the data writing operation after the 5000th time is performed in the same process as the first to 499th times described above under the control of the CPU 2, and a specific description thereof will be omitted.

また、データ書き込み作業を行った際に当該データに書き込みエラーが発生した場合、例えば、第1番目のブロックB1の2回目の書き込みである「1100〜1199」番地でエラーが発生した場合には、「1100〜1199」番地に対応する第1番目のブロックB1の第1のFCB領域11が有する「1」番地の値を「8」に書き換え、当該番地のデータ異常を記録するとともに、「0〜499」番地の値についても、再び「F」又は「E」が記録されているものを先頭から順に検索し、新たにデータを書き込む番地を検索することができる。   Further, when a write error occurs in the data when the data write operation is performed, for example, when an error occurs at the address “1100 to 1199” which is the second write of the first block B1, The value of the address “1” in the first FCB area 11 of the first block B1 corresponding to the address “1100 to 1199” is rewritten to “8”, and the data abnormality at the address is recorded. As for the value of the address 499, the addresses where “F” or “E” are recorded can be searched again in order from the top, and the address where data is newly written can be searched.

前述までの説明から明らかなように、フラッシュROM1を構成する第1番目のブロックB1〜第100番目のブロックB100のうち当該ブロックに係る消去動作は、50000回のデータ書き込み作業のうち1回のみ行われるものであって、第1、第2のFCB領域11、12(のうち少なくとも第1のFCB領域11)における過度のデータ消去が不要となるため、当該FCB領域の破壊を防止でき、ゆえに、フラッシュROM1の製品寿命を延ばすことができる。   As is clear from the above description, the erasing operation related to the block among the first block B1 to the 100th block B100 constituting the flash ROM 1 is performed only once out of 50000 data writing operations. Since excessive data erasure in the first and second FCB areas 11 and 12 (at least the first FCB area 11) is not necessary, the destruction of the FCB area can be prevented. The product life of the flash ROM 1 can be extended.

本発明の不揮発性メモリ管理用のファイルシステムにおいては、特定の実施の形態をもって説明してきたが、この形態に限定されるものでなく、本発明の効果を奏する限り、これまで知られた如何なる構成の当該システム、例えば、フラッシュROM1以外の不揮発性メモリを適用した当該システムであっても採用できるということはいうまでもないことである。   The non-volatile memory management file system of the present invention has been described with a specific embodiment. However, the present invention is not limited to this embodiment, and any configuration known so far as long as the effect of the present invention is achieved. It goes without saying that this system, for example, a system to which a nonvolatile memory other than the flash ROM 1 is applied can also be adopted.

また、本願発明のフラッシュROM1以外の不揮発性メモリを適用するにあたって、そのメモリを構成する所定のデータ容量のブロックの数や、ブロック毎のデータ領域10、第1、第2のFCB領域11、12がそれぞれ有する所定の番地については、当該メモリの規格に対応させて適宜に変更可能なものであり、データの書き込みが可能な回数(作業回数)についても変動するものである。   Further, when a nonvolatile memory other than the flash ROM 1 of the present invention is applied, the number of blocks having a predetermined data capacity constituting the memory, the data area 10 for each block, the first and second FCB areas 11, 12 Each of the predetermined addresses that can be changed can be changed as appropriate in accordance with the standard of the memory, and the number of times data can be written (the number of operations) varies.

さらに、本願発明においては、フラッシュROM1を構成する第1番目のブロックB1〜第100番目のブロックB100の配置構成として、第1、第2のFCB領域11、12のうち第1のFCB領域11のみをブロック毎に分割して配置させたが、この態様に限定されるものではない。例えば、第1、第2のFCB領域11、12をそれぞれ、ブロック毎に分割して配置することもできる。   Further, in the present invention, only the first FCB area 11 among the first and second FCB areas 11 and 12 is arranged as the arrangement of the first block B1 to the 100th block B100 constituting the flash ROM 1. However, the present invention is not limited to this mode. For example, the first and second FCB areas 11 and 12 can be divided and arranged for each block.

1……フラッシュROM(不揮発性メモリ)
B1〜B100……第1番目のブロック〜第100番目のブロック(複数のブロック)
10……データ領域
11……第1のFCB領域
12……第2のFCB領域
2……CPU
1. Flash ROM (nonvolatile memory)
B1 to B100 ... 1st block to 100th block (plural blocks)
10 ... Data area 11 ... First FCB area 12 ... Second FCB area 2 ... CPU

Claims (3)

所定のデータ容量のブロックを複数有する不揮発性メモリと、前記不揮発性メモリを制御するためのCPUとを備える不揮発性メモリ管理用のファイルシステムにおいて、
前記CPUは、前記複数のブロックのうち第1番目のブロックの第1のFCB領域が有する所定の番地にそれぞれ割り当てられる前記データ領域が有する所定の番地の値、前記複数のブロックにそれぞれ割り当てられる前記第1番目のブロックの第2のFCB領域が有する所定の番地の値を、4ビットを16進法により表記した16種類「0〜F」の値のうち「8」、「C」、「E」、「F」の4つの値で表し、「F」→「E」→「C」→「8」の順番で書き換えることを特徴とする不揮発性メモリ管理用のファイルシステム。
In a nonvolatile memory management file system comprising a nonvolatile memory having a plurality of blocks of a predetermined data capacity, and a CPU for controlling the nonvolatile memory,
The CPU allocates a value of a predetermined address included in the data area allocated to a predetermined address included in a first FCB area of a first block of the plurality of blocks, and is allocated to the plurality of blocks, respectively. The value of the predetermined address included in the second FCB area of the first block is set to “8”, “C”, “E” among 16 types of “0 to F” values represented by 4 bits in hexadecimal notation. ”And“ F ”, and a file system for nonvolatile memory management, wherein the file system is rewritten in the order of“ F ”→“ E ”→“ C ”→“ 8 ”.
前記「8」、「C」、「E」、「F」それぞれの値を、「前記データ領域の所定の番地が使用不可である」、「前記データ領域の所定の番地が一杯である」、「前記データ領域の所定の番地に既にデータが書き込まれている」、「前記データ領域の所定の番地にデータが書き込まれていない」に割り当てることを特徴とする請求項1記載の不揮発性メモリ管理用のファイルシステム。   The values of “8”, “C”, “E”, and “F” are set to “a predetermined address in the data area is unusable”, “a predetermined address in the data area is full”, 2. The nonvolatile memory management according to claim 1, wherein the data is assigned to “data is already written at a predetermined address in the data area” and “data is not written at a predetermined address in the data area”. File system. 所定のデータ容量のブロックを複数有する不揮発性メモリと、前記不揮発性メモリを制御するためのCPUとを備える不揮発性メモリ管理用のファイルシステムにおいて、
前記不揮発性メモリは、前記ブロック毎に所定の範囲の番地を有するデータ領域と、前記データ領域の書き込み状況を所定の範囲の番地に割り当てて管理するための第1のFCB領域と、前記ブロック毎の書き込み状況を所定の範囲の番地に割り当てて管理するための第2のFCB領域とを有し、
前記第1、2のFCB領域のうち少なくとも第1のFCB領域は、前記複数のブロック毎に分割して配置されることを特徴とする不揮発性メモリ管理用のファイルシステム。
In a nonvolatile memory management file system comprising a nonvolatile memory having a plurality of blocks of a predetermined data capacity, and a CPU for controlling the nonvolatile memory,
The nonvolatile memory includes a data area having a predetermined range of addresses for each block, a first FCB area for allocating and managing a write status of the data area to a predetermined range of addresses, and the block And a second FCB area for managing the write status of addresses in a predetermined range of addresses,
A file system for nonvolatile memory management, wherein at least a first FCB area of the first and second FCB areas is divided and arranged for each of the plurality of blocks.
JP2011042236A 2011-02-28 2011-02-28 File system for managing non-volatile memory Withdrawn JP2012181577A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011042236A JP2012181577A (en) 2011-02-28 2011-02-28 File system for managing non-volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011042236A JP2012181577A (en) 2011-02-28 2011-02-28 File system for managing non-volatile memory

Publications (1)

Publication Number Publication Date
JP2012181577A true JP2012181577A (en) 2012-09-20

Family

ID=47012745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011042236A Withdrawn JP2012181577A (en) 2011-02-28 2011-02-28 File system for managing non-volatile memory

Country Status (1)

Country Link
JP (1) JP2012181577A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792070B2 (en) 2013-03-18 2017-10-17 Fujitsu Ten Limited Data storage device, method of storing data, and on-vehicle control apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792070B2 (en) 2013-03-18 2017-10-17 Fujitsu Ten Limited Data storage device, method of storing data, and on-vehicle control apparatus

Similar Documents

Publication Publication Date Title
US20100077135A1 (en) Memory wear leveling method, system and device
WO2009096180A1 (en) Memory controller, nonvolatile storage device, and nonvolatile storage system
CN110764691B (en) Data storage device and non-volatile memory control method
JP2008112445A (en) Apparatus and method for managing nonvolatile memory
JP2007094900A (en) Access apparatus
JP5180957B2 (en) Memory controller, semiconductor recording device, and rewrite count notification method
JP4737223B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4235646B2 (en) Memory controller and flash memory system
JP5555489B2 (en) Formatting device, formatting method and program
TWI413984B (en) Flash memory apparatus and updating method
JP2012181577A (en) File system for managing non-volatile memory
JP4434171B2 (en) Memory controller and flash memory system
JP5395163B2 (en) Memory management device and memory area setting method
JP2007199828A (en) Nonvolatile storage device and address management method
CN103389943A (en) Control device, storage device, and storage control method
JP4818453B1 (en) Electronic device and data reading method
JP2010256944A (en) Device, program and method for maintaining nand type flash memory
JP2008251063A (en) Storage device
JP4888333B2 (en) Flash disk device
JP7435470B2 (en) Information processing device, information processing method, and information processing program
JP2007219793A (en) Writing method of flash memory
JP2009271848A (en) File system and data management method
KR101247574B1 (en) Method, device and data structure for data storage on memory devices
JP2009134514A (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
JP2008097526A (en) Data management method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140513