JP4105179B2 - Data management method - Google Patents

Data management method Download PDF

Info

Publication number
JP4105179B2
JP4105179B2 JP2005152870A JP2005152870A JP4105179B2 JP 4105179 B2 JP4105179 B2 JP 4105179B2 JP 2005152870 A JP2005152870 A JP 2005152870A JP 2005152870 A JP2005152870 A JP 2005152870A JP 4105179 B2 JP4105179 B2 JP 4105179B2
Authority
JP
Japan
Prior art keywords
data
written
buffer
address
flag
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.)
Active
Application number
JP2005152870A
Other languages
Japanese (ja)
Other versions
JP2006331025A (en
Inventor
信子 細谷
昌伸 野尻
嘉典 松尾
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.)
NTT Electronics Corp
Nippon Telegraph and Telephone Corp
Original Assignee
NTT Electronics Corp
Nippon Telegraph and Telephone Corp
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 NTT Electronics Corp, Nippon Telegraph and Telephone Corp filed Critical NTT Electronics Corp
Priority to JP2005152870A priority Critical patent/JP4105179B2/en
Publication of JP2006331025A publication Critical patent/JP2006331025A/en
Application granted granted Critical
Publication of JP4105179B2 publication Critical patent/JP4105179B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、フラッシュメモリのデータ管理方法に関し、特に、データの更新回数によらず最新データヘのアクセス時間をほぼ一定にすることができるデータ管理方法に関するものである。   The present invention relates to a data management method for a flash memory, and more particularly to a data management method capable of making the access time to the latest data almost constant regardless of the number of data updates.

データを記録する媒体としてフラッシュメモリがある。フラッシュメモリには、一般に、消去されている状態の論理値は1、書き込まれている場合の論理値は0と記載される。   There is a flash memory as a medium for recording data. In a flash memory, generally, a logical value in an erased state is described as 1, and a logical value when written is described as 0.

データを更新する際には、一旦消去(0→1)し、書き込み(1→0)を行なう必要がある。しかし、消去には書き込みの100倍以上の時間を要するため、データを消去してから新たに書き込む作業には時間がかかる。   When updating data, it is necessary to erase (0 → 1) and write (1 → 0) once. However, since erasing requires 100 times or more time of writing, it takes time to newly write data after erasing data.

そこで、データを更新する際に古いデータの消去を伴わない技術が提案されている(例えば、特許文献1又は特許文献2)。この技術においては、データを更新した際に古いデータに「次の物理アドレス部」を添付し、「次の物理アドレス部」が示す箇所に更新データを書き込む。再度更新する場合はその処理を繰り返す。また、読み出し時には、「次の物理アドレス部」に記載されているアドレスを最初から追跡していくことで最新のデータを見つけ、データの読み出しを行なう。これにより、データの変更時にデータ消去を伴わなくなるため、変更時間を短縮することができる。   Therefore, a technique that does not erase old data when updating data has been proposed (for example, Patent Document 1 or Patent Document 2). In this technique, when data is updated, the “next physical address portion” is attached to the old data, and the update data is written in the location indicated by the “next physical address portion”. When updating again, the process is repeated. Further, at the time of reading, the latest data is found by tracing the address described in the “next physical address portion” from the beginning, and the data is read. As a result, data change is not accompanied when data is changed, and the change time can be shortened.

特開2002−196976号公報JP 2002-196976 A 特開2003−122646号公報JP 2003-122646 A

しかし、従来技術では、データを更新する度に追跡すべきアドレスの数が増えるため、最新データヘのアクセスに時間がかかるという問題があった。   However, the conventional technique has a problem that it takes time to access the latest data because the number of addresses to be tracked increases every time data is updated.

本発明は、上述のような課題を解決するためになされたもので、その目的は、フラッシュメモリにおいてデータの更新回数によらず最新データヘのアクセス時間をほぼ一定にすることができるデータ管理方法を得るものである。   The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a data management method capable of making the access time to the latest data almost constant regardless of the number of data updates in the flash memory. To get.

本発明に係るデータ管理方法は、フラッシュメモリ内に複数個のバッファーを配列状に並べ、データを書き込む際は、複数個のバッファーの先頭のバッファーから順番に、書き込むべきデータを書き込み、書き込むべきデータを書き込んだバッファーの次のバッファーに、データを書き込んだバッファーの全アドレスを順番に書き込み、古いデータを新たなデータに書き換える際は、書き込み済みのバッファー群の次にある空きバッファーに新たなデータを書き込み、新たなデータを書き込んだバッファーの次のバッファーに、書き換え前のデータを書き込んだバッファーの全アドレスのうち古いデータを書き込んだバッファーのアドレスを新たなデータを書き込んだバッファーのアドレスに置き換えて、読み出すべきデータを書き込んだバッファーの全アドレスを順番に書き込む。本発明のその他の特徴は以下に明らかにする。 In the data management method according to the present invention, when a plurality of buffers are arranged in an array in a flash memory and data is written, the data to be written is written in order from the first buffer of the plurality of buffers, and the data to be written When writing all the addresses of the buffer where the data was written in order to the next buffer of the buffer where the data was written, and rewriting the old data with new data, the new data is stored in the empty buffer next to the written buffer group. In the buffer next to the buffer where the new data was written, the address of the buffer where the old data was written out of all the addresses of the buffer where the data before rewriting was written is replaced with the address of the buffer where the new data was written, The bar to which the data to be read is written Write all address of fur in order. Other features of the present invention will become apparent below.

本発明により、読み出すべきデータの全アドレスは書き込み済みのバッファー群の端に常にあることになるため、フラッシュメモリにおいてデータの更新回数によらず最新データヘのアクセス時間をほぼ一定にすることができる。   According to the present invention, since all addresses of data to be read are always at the end of the written buffer group, the access time to the latest data can be made almost constant regardless of the number of data updates in the flash memory.

実施の形態1.
以下、本発明の実施の形態1に係るデータ管理方法について図1を参照しながら説明する。
Embodiment 1 FIG.
Hereinafter, the data management method according to the first embodiment of the present invention will be described with reference to FIG.

まず、フラッシュメモリ内に、図1(a)に示すように、書き込みが可能な領域であるバッファーA,B,C・・・を複数個、配列状に並べて設ける。次に、1個のデータを書き込む場合は、例えば、アドレスαにあるバッファーAにデータ1を書き込む。そして、次のバッファーBの1番目の書込場所にアドレスαを書き込む。これにより、読み出し時には、バッファーBにアクセスすることによりアドレスαに書き込んでいるデータ1を読み出すことができる。   First, as shown in FIG. 1A, a plurality of buffers A, B, C,... That are writable areas are arranged in an array in the flash memory. Next, when writing one piece of data, for example, data 1 is written to the buffer A at the address α. Then, the address α is written in the first write location of the next buffer B. Thereby, at the time of reading, the data 1 written in the address α can be read by accessing the buffer B.

また、複数個のデータを書き込む場合は、複数個のバッファーの先頭のバッファーから順番に、書き込むべきデータを1個のバッファーにつき1個ずつ書き込む。書き込むべきデータのサイズが1つのバッファーサイズよりも大きい場合は、1個のデータを複数個のバッファーに書き込むことも可能である。この場合は、書き込んだデータの先頭のアドレスを書き込めばよい。ただし、既にアドレスを書き込んだバッファーが他にあれば、そこから全アドレスをコピーして書き込む。例えば、図1(b)に示すように、アドレスαのバッファーAにデータ1、アドレスβのバッファーBにデータ2を書き込む。そして、次のバッファーCの1番目の書込場所にアドレスαを書き込み、2番目の書込場所にアドレスβを書き込む。   When writing a plurality of data, the data to be written is written one by one for each buffer in order from the top buffer of the plurality of buffers. When the size of data to be written is larger than one buffer size, it is possible to write one data in a plurality of buffers. In this case, the start address of the written data may be written. However, if there are other buffers where addresses have already been written, all addresses are copied and written from there. For example, as shown in FIG. 1B, data 1 is written into buffer A at address α and data 2 is written into buffer B at address β. Then, the address α is written in the first writing location of the next buffer C, and the address β is written in the second writing location.

このように複数個のデータを書き込む場合は、次のバッファーに、データを書き込んだバッファーの全アドレスを順番に書き込む。これにより、データを読み出す際に、アドレスを書き込んだバッファーにアクセスすることにより、目的のデータを読み出すことができる。   When writing a plurality of data in this way, all addresses of the buffer in which the data is written are sequentially written in the next buffer. Thus, when data is read, the target data can be read by accessing the buffer in which the address is written.

次に、バッファーAに書き込まれた古いデータ1を新たなデータ11に書き換える場合について説明する。まず、図1(c)に示すように、書き込み済みのバッファー群A〜Cの次にある空きバッファーDに新たなデータ11を書き込む。そして、更に次のバッファーEに、読み出すべきデータを書き込んだバッファーの全アドレスを順番に書き込む。   Next, a case where old data 1 written in the buffer A is rewritten with new data 11 will be described. First, as shown in FIG. 1C, new data 11 is written in the empty buffer D next to the written buffer group A to C. Further, all the addresses of the buffer in which the data to be read are written are sequentially written in the next buffer E.

その際、古いデータ1を書き込んだバッファーAのアドレスαの書込場所(1番目)に、新たなデータ11を書き込んだバッファーDのアドレスγを替わりに書き込む。これにより、データ11がデータ1に書き換えられたことを判断することができる。   At that time, the address γ of the buffer D to which the new data 11 is written is written instead of the write location (first) of the address α of the buffer A to which the old data 1 has been written. Thereby, it can be determined that the data 11 is rewritten to the data 1.

また、データが新しくなっていないデータ2については、バッファーCの2番目の書込場所に書き込んであるアドレスβをバッファーEの2番目の書込場所にそのままコピーする。   For data 2 whose data is not new, the address β written in the second writing location of the buffer C is copied as it is to the second writing location of the buffer E.

これにより、読み出すべきデータの全アドレスは書き込み済みのバッファー群の端に常にあることになるため、フラッシュメモリにおいてデータの更新回数によらず最新データヘのアクセス時間をほぼ一定にすることができる。   As a result, since all addresses of data to be read are always at the end of the written buffer group, the access time to the latest data can be made substantially constant regardless of the number of data updates in the flash memory.

実施の形態2.
以下、本発明の実施の形態2に係るデータ管理方法について図面を参照しながら説明する。
Embodiment 2. FIG.
Hereinafter, a data management method according to Embodiment 2 of the present invention will be described with reference to the drawings.

まず、図2に示すように、複数個のバッファーA,B,C・・・と同数の複数個のフラッグa,b,c・・・を一定のサイズで設け、複数個のフラッグを複数個のバッファーと1対1で対応させる。そして、各フラッグに、対応するバッファーの状態が分かる値を入れる。少なくとも何れかのフラッグに、読み出すべきデータの全アドレスが書き込まれたバッファーの場所を示す値を入れる。   First, as shown in FIG. 2, the same number of flags a, b, c... As the plurality of buffers A, B, C. 1-to-1 correspondence with these buffers. Then, a value indicating the state of the corresponding buffer is entered in each flag. In at least one of the flags, a value indicating the location of the buffer in which all addresses of data to be read are written is entered.

また、書き込み時や読み出し時にフラッグの値を検索する際に二分探索を行う。これによって、更新回数が多くなっても、最新データヘのアクセス時間がほぼ一定となる。   A binary search is performed when searching for the flag value at the time of writing or reading. As a result, even when the number of updates increases, the access time to the latest data becomes substantially constant.

データを書き込む際の流れについて図3を参照しながら説明する。ただし、フラッグは2ビットとし、対応するバッファーに書き込みされていない状態のフラッグの値を「11」(未使用)とし、バッファーにデータが書き込まれている状態のフラッグの値を「10」(使用済)とし、バッファーにアドレスが書き込まれている状態のフラッグの値を「00」(アドレス格納済)とする。   A flow when data is written will be described with reference to FIG. However, the flag is 2 bits, the value of the flag that is not written in the corresponding buffer is “11” (unused), and the value of the flag that is written in the buffer is “10” (used) The flag value in the state where the address is written in the buffer is “00” (address stored).

まず、フラッグを二分探索し、書き込み可能なバッファーに対応するフラッグを検索する。ここでは、探索条件を「未使用で、先頭にあるフラッグ」とする。図3(a)に示すようにフラッグaが「11」(未使用)の場合、フラッグaに対応するバッファーAは書き込みが可能である。   First, a binary search is performed for a flag, and a flag corresponding to a writable buffer is searched. Here, the search condition is “unused flag at the top”. As shown in FIG. 3A, when the flag a is “11” (unused), the buffer A corresponding to the flag a can be written.

次に、図3(b)に示すように、フラッグaを「11」から「10」に変更する。そして、図3(c)に示すように、フラッグaに対応するバッファーA(アドレスα)にデータを書き込む。1つのバッファーに書き込むデータの数は1個なので、複数のデータを書き込む場合には、次のバッファーに同様の手順でデータを書き込む。ここでは、フラッグbを「11」から「10」にし、バッファーB(アドレスβ)にデータ2を書き込む。   Next, as shown in FIG. 3B, the flag a is changed from “11” to “10”. Then, as shown in FIG. 3C, data is written into the buffer A (address α) corresponding to the flag a. Since the number of data to be written in one buffer is one, when writing a plurality of data, the data is written in the same procedure in the next buffer. Here, the flag b is changed from “11” to “10”, and data 2 is written to the buffer B (address β).

全てのデータが書き込まれた後に、データが書き込まれたバッファーの次のバッファーにアドレスを書き込む。ここでは、フラッグcを「11」から「10」にした後、データ1を書き込んだバッファーA、データ2を書き込んだバッファーBのそれぞれのアドレスα、βを、バッファーCに順番に書き込む。このとき、各アドレスは、バッファーCのどこに書き込まれたかが分かるようにする。ここでは、図3(d)に示すように、アドレスαをバッファーCの1番目の書込場所に書き込み、アドレスβをバッファーCの2番目の書込場所に書き込む。全てのアドレスの書き込みが終わった後に、図3(e)に示すように、フラッグcを「10」から「00」にして、バッファーCにアドレスが書き込まれていることを表示する。   After all the data has been written, the address is written in the buffer next to the buffer in which the data has been written. Here, after the flag c is changed from “11” to “10”, the addresses α and β of the buffer A in which the data 1 is written and the buffer B in which the data 2 is written are sequentially written in the buffer C. At this time, it is made clear where each address is written in the buffer C. Here, as shown in FIG. 3D, the address α is written to the first writing location of the buffer C, and the address β is written to the second writing location of the buffer C. After all addresses have been written, the flag c is changed from “10” to “00” as shown in FIG. 3E to indicate that the address has been written to the buffer C.

次に、古いデータを新たなデータに書き換える際の流れについて図4を参照しながら説明する。まず、書き換え前は、図4(a)に示すように、バッファーA(アドレスα)にデータ1が書き込まれ、バッファーB(アドレスβ)にデータ2が書き込まれ、バッファーCの1番目にアドレスα、2番目にアドレスβが書き込まれている。そして、バッファーAに書き込まれた古いデータ1を新たなデータ11に書き換えるには以下のようにする。   Next, the flow when rewriting old data to new data will be described with reference to FIG. First, before rewriting, as shown in FIG. 4A, data 1 is written to the buffer A (address α), data 2 is written to the buffer B (address β), and the first address α in the buffer C is written. Second, the address β is written. The old data 1 written in the buffer A is rewritten to new data 11 as follows.

まず、書き込み時と同様に二分探索を行ない、書き込み可能なバッファーに対応しているフラッグを検索する(ここではフラッグd)。そして、図4(b)に示すように、フラッグdの値を「11」から「10」にして、対応するバッファーD(アドレスγ)にデータ11を書き込む。   First, a binary search is performed in the same manner as in writing to search for a flag corresponding to a writable buffer (here, flag d). Then, as shown in FIG. 4B, the value of the flag d is changed from “11” to “10”, and the data 11 is written to the corresponding buffer D (address γ).

次に、図4(c)に示すように、データの書き込み後、次のバッファーEに対応するフラッグeを「11」から「10」にする。そして、バッファーEの1番目の書込場所にアドレスγを書き込み、2番目の書込場所にアドレスβを書き込む。即ち、バッファーCにおいてアドレスαを書き込んでいた書込場所(1番目)にアドレスγを書き込む。また、書き換えられていないバッファーBのアドレスβは、バッファーEにおいても、バッファーCにおいてアドレスが書き込まれた書込場所(2番目)に書き込む。その後、図4(d)に示すように、フラッグeの値を「10」から「00」に変更し、アドレスを書き込んでいることを表示する。   Next, as shown in FIG. 4C, after data is written, the flag e corresponding to the next buffer E is changed from “11” to “10”. Then, the address γ is written in the first writing location of the buffer E, and the address β is written in the second writing location. That is, the address γ is written in the write location (first) where the address α was written in the buffer C. Further, the address β of the buffer B that has not been rewritten is written to the write location (second) where the address is written in the buffer C also in the buffer E. Thereafter, as shown in FIG. 4D, the value of the flag e is changed from “10” to “00” to indicate that the address is written.

次に、データを読み出す際の流れについて図5を参照しながら説明する。フラッシュメモリには、図5(a)に示すように、バッファーA(アドレスα)にデータ1、バッファーB(アドレスβ)にデータ2、バッファーCにアドレスαとアドレスβ、バッファーD(アドレスγ)にデータ1を書き換えたデータ11、バッファーEにアドレスγとアドレスβが書き込まれている。   Next, a flow when data is read will be described with reference to FIG. As shown in FIG. 5A, the flash memory has data 1 in buffer A (address α), data 2 in buffer B (address β), address α and address β in buffer C, and buffer D (address γ). The data 11 in which the data 1 is rewritten, and the address γ and the address β are written in the buffer E.

データの書き込みと同様に、フラッグを二分探索し、書き込み可能なフラッグを検索する。ここでは、図5(b)に示すように、フラッグfが未使用で先頭にあるフラッグである。そこで、フラッグeから先頭に向かってフラッグの値が「00」であるフラッグを1つずつ検索する。そして、図5(c)に示すように、値が「00」のフラッグeに対応するバッファーEに書き込んであるアドレスγとアドレスβにアクセスすることで、最新データのデータ11とデータ2を読み出す。   Similar to the writing of data, the flag is searched in half and a writable flag is searched. Here, as shown in FIG. 5B, the flag f is an unused flag at the head. Therefore, the flags whose flag value is “00” are searched one by one from the flag e toward the head. Then, as shown in FIG. 5C, the latest data data 11 and data 2 are read by accessing the address γ and the address β written in the buffer E corresponding to the flag e having the value “00”. .

これにより、実施の形態1と同様に、読み出すべきデータの全アドレスは書き込み済みのバッファー群の端に常にあることになるため、フラッシュメモリにおいてデータの更新回数によらず最新データヘのアクセス時間をほぼ一定にすることができる。また、フラッグの値を検索する際に二分探索を行うことにより、検索時間はフラッグの値の場所によらず一定時間内に収まる。   As a result, as in the first embodiment, since all addresses of data to be read are always at the end of the written buffer group, the access time to the latest data is almost the same regardless of the number of data updates in the flash memory. Can be constant. Further, by performing a binary search when searching for the flag value, the search time is within a certain time regardless of the location of the flag value.

具体的には、1kのバイナリーデータの読み出しに要する時間は、従来技術では55.4msだったのに対し、本発明では17.4msに短縮することができる。また、1kのバイナリーデータの書き込みに要する時間は、従来技術では575.4msだったのに対し、本発明では49.2msに短縮することができる。   Specifically, the time required to read 1k binary data is 55.4 ms in the prior art, but can be reduced to 17.4 ms in the present invention. The time required for writing 1k binary data is 575.4 ms in the prior art, but can be reduced to 49.2 ms in the present invention.

なお、フラッグは、フラッシュメモリの中に設置するのに限らず、フラッシュメモリ外に設置してもよい。この場合、書き込み処理の完了後に、フラッシュメモリ外にあるフラッグをフラッシュメモリ内に書き写すことによって、バッファーをどこまで使用したのか、という情報を継続的に保持することができる。また、フラッグの状態は2ビットで表示する必要はなく、3段階の状態が表示できればよい。   The flag is not limited to being installed in the flash memory, but may be installed outside the flash memory. In this case, after completion of the writing process, information indicating how far the buffer has been used can be held continuously by copying the flag outside the flash memory into the flash memory. Further, the flag state does not need to be displayed with 2 bits, and it is only necessary to display a three-stage state.

実施の形態3.
実施の形態1及び2では、データが書き込まれているバッファーのアドレスを参照することによって、最新のデータが書き込まれているバッファーにアクセスしていた。これに対し、実施の形態3では、図6に示すように、バッファーGにアドレスεとアドレスζを書き込む。このアドレスεにはアドレスαとアドレスβが書き込まれ、アドレスζにはアドレスγとアドレスδが書き込まれている。即ち、読み出すべきデータのアドレスが書き込まれたバッファーC,Fのアドレスε,ζをバッファーGに書き込む。これにより、更に多くのデータを参照することができる。
Embodiment 3 FIG.
In the first and second embodiments, the buffer in which the latest data is written is accessed by referring to the address of the buffer in which the data is written. On the other hand, in the third embodiment, the address ε and the address ζ are written in the buffer G as shown in FIG. An address α and an address β are written in the address ε, and an address γ and an address δ are written in the address ζ. That is, the addresses ε and ζ of the buffers C and F in which the addresses of data to be read are written are written in the buffer G. Thereby, more data can be referred.

なお、図6では、フラッグcとフラッグfの値を「10」としていている。これはバッファーCとFに情報をアドレス情報としてではなく通常の情報として書き込んだ場合である。一方、バッファーCとFに情報をアドレス情報として書き込む場合は、対応するフラッグの値を「00」とする。この場合、バッファーに書き込むアドレス情報にアドレスの階層情報を含めることで、アドレス情報が上位層なのか、下位層なのかが分かるようにすればよい。   In FIG. 6, the values of the flag c and the flag f are “10”. This is the case where information is written in the buffers C and F as normal information, not as address information. On the other hand, when information is written in the buffers C and F as address information, the value of the corresponding flag is set to “00”. In this case, the address information to be written in the buffer may include the address hierarchy information so that the address information is an upper layer or a lower layer.

本発明の実施の形態1に係るデータ管理方法を説明するための図である。It is a figure for demonstrating the data management method which concerns on Embodiment 1 of this invention. 本発明の実施の形態2に係るデータ管理方法で用いるバッファー及びフラッグを示す図である。It is a figure which shows the buffer and flag which are used with the data management method which concerns on Embodiment 2 of this invention. 本発明の実施の形態2に係るデータ管理方法におけるデータを書き込む際の流れを説明するための図である。It is a figure for demonstrating the flow at the time of writing the data in the data management method which concerns on Embodiment 2 of this invention. 本発明の実施の形態2に係るデータ管理方法における古いデータを新たなデータに書き換える際の流れを説明するための図である。It is a figure for demonstrating the flow at the time of rewriting the old data by new data in the data management method concerning Embodiment 2 of this invention. 本発明の実施の形態2に係るデータ管理方法におけるデータを読み出す際の流れを説明するための図である。It is a figure for demonstrating the flow at the time of reading the data in the data management method which concerns on Embodiment 2 of this invention. 本発明の実施の形態3に係るデータ管理方法を説明するための図である。It is a figure for demonstrating the data management method which concerns on Embodiment 3 of this invention.

Claims (3)

フラッシュメモリ内に複数個のバッファーを配列状に並べ、
データを書き込む際は、前記複数個のバッファーの先頭のバッファーから順番に、書き込むべきデータを書き込み、前記書き込むべきデータを書き込んだバッファーの次のバッファーに、前記データを書き込んだバッファーの全アドレスを順番に書き込み、
古いデータを新たなデータに書き換える際は、書き込み済みのバッファー群の次にある空きバッファーに前記新たなデータを書き込み、前記新たなデータを書き込んだバッファーの次のバッファーに、書き換え前の前記データを書き込んだバッファーの全アドレスのうち前記古いデータを書き込んだバッファーのアドレスを前記新たなデータを書き込んだバッファーのアドレスに置き換えて、読み出すべきデータを書き込んだバッファーの全アドレスを順番に書き込むことを特徴とするデータ管理方法。
Arrange multiple buffers in the flash memory in an array,
When writing data, the data to be written is written in order from the first buffer of the plurality of buffers, and all addresses of the buffer to which the data has been written are sequentially written to the buffer next to the buffer to which the data to be written is written. Write on the
When rewriting the old data to the new data, writing the new data to a free buffer in the following written buffer group, the next buffer of the buffer is written to the new data, the data before rewriting The address of the buffer in which the old data is written is replaced with the address of the buffer in which the new data is written out of all the addresses in the written buffer, and all addresses of the buffer in which the data to be read are written are sequentially written. Data management method.
前記複数個のバッファーと同数の複数個のフラッグを一定のサイズで設け、
前記複数個のフラッグを前記複数個のバッファーと1対1で対応させ、
前記複数個のフラッグの何れかに、読み出すべきデータの全アドレスが書き込まれたバッファーの場所を示す値を入れることを特徴とする請求項1に記載のデータ管理方法。
The same number of flags as the plurality of buffers are provided in a certain size,
The plurality of flags correspond to the plurality of buffers on a one-to-one basis,
2. The data management method according to claim 1, wherein a value indicating a location of a buffer in which all addresses of data to be read are written is placed in any of the plurality of flags.
前記フラッグの値を検索する際に二分探索を行うことを特徴とする請求項2に記載のデータ管理方法。   The data management method according to claim 2, wherein a binary search is performed when searching for the value of the flag.
JP2005152870A 2005-05-25 2005-05-25 Data management method Active JP4105179B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005152870A JP4105179B2 (en) 2005-05-25 2005-05-25 Data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005152870A JP4105179B2 (en) 2005-05-25 2005-05-25 Data management method

Publications (2)

Publication Number Publication Date
JP2006331025A JP2006331025A (en) 2006-12-07
JP4105179B2 true JP4105179B2 (en) 2008-06-25

Family

ID=37552659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005152870A Active JP4105179B2 (en) 2005-05-25 2005-05-25 Data management method

Country Status (1)

Country Link
JP (1) JP4105179B2 (en)

Also Published As

Publication number Publication date
JP2006331025A (en) 2006-12-07

Similar Documents

Publication Publication Date Title
TWI470429B (en) Memory device and memory access method
JP4948793B2 (en) Flash memory system including bad block manager
KR100871027B1 (en) Data recorder and method for recording data in flash memory
US6871259B2 (en) File system including non-volatile semiconductor memory device having a plurality of banks
KR100292011B1 (en) Flash file means
JP4356686B2 (en) Memory device and memory control method
US20090089484A1 (en) Data protection method for power failure and controller using the same
US8296503B2 (en) Data updating and recovering methods for a non-volatile memory array
JP2006294061A (en) Memory management
US20110238908A1 (en) Disc device
US7610436B2 (en) Semiconductor device having flash memory with a data length table
KR100370893B1 (en) Flash memory unit and control method of flash memory
JP2008090519A (en) Storage device
JP5570406B2 (en) Memory controller and data recording apparatus
TWI450271B (en) Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof
KR20050079991A (en) An efficient wear-leveling scheme for flash memory(k-leveling)
JP4235646B2 (en) Memory controller and flash memory system
CN117555478A (en) Flash memory-based EEPROM (electrically erasable programmable read-Only memory) simulation read-write method
JP4105179B2 (en) Data management method
JP4468342B2 (en) Data management method
JP3646679B2 (en) Non-volatile memory data rewrite method
JP2007505416A (en) Managing defective blocks in flash memory
KR100654343B1 (en) Memory device and error correction method using flash memory
JP4000124B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP2004206615A (en) Storage device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080229

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: 20080325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080326

R150 Certificate of patent or registration of utility model

Ref document number: 4105179

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140404

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350