JP4572205B2 - Flash memory drive device, control method thereof, and program thereof - Google Patents

Flash memory drive device, control method thereof, and program thereof Download PDF

Info

Publication number
JP4572205B2
JP4572205B2 JP2007004526A JP2007004526A JP4572205B2 JP 4572205 B2 JP4572205 B2 JP 4572205B2 JP 2007004526 A JP2007004526 A JP 2007004526A JP 2007004526 A JP2007004526 A JP 2007004526A JP 4572205 B2 JP4572205 B2 JP 4572205B2
Authority
JP
Japan
Prior art keywords
flash memory
logical block
writing
block
drive device
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
Application number
JP2007004526A
Other languages
Japanese (ja)
Other versions
JP2008171246A (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.)
NEC Platforms Ltd
Original Assignee
NEC Infrontia 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 NEC Infrontia Corp filed Critical NEC Infrontia Corp
Priority to JP2007004526A priority Critical patent/JP4572205B2/en
Publication of JP2008171246A publication Critical patent/JP2008171246A/en
Application granted granted Critical
Publication of JP4572205B2 publication Critical patent/JP4572205B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、OSを格納し、該OSをブートするフラッシュメモリドライブ装置、その制御方法及びそのプログラムに関し、より詳細には、フラッシュメモリの書換回数の平準化に関する。   The present invention relates to a flash memory drive device that stores an OS and boots the OS, a control method thereof, and a program thereof, and more particularly to leveling of the number of rewrites of a flash memory.

従来、フラッシュメモリはブロックで単位消去・書き込みが行われるが、このブロックは、半導体製造時に先天的に不良セルが存在する場合があることと、後天的にも、書換寿命に到達したブロックが不良となることにより、書き込みができないブロック、すなわち不良ブロックが存在あるいは出現することが知られている。不良ブロックと論理ブロックは結びつけられないようにされており、論理ブロックからはいつも正常な論理ブロックが見えるようにしてある。   Conventionally, flash memory is erased and written in units of blocks, but there are cases where defective cells exist inherently at the time of semiconductor manufacturing, and blocks that have reached the rewrite life are defective. Thus, it is known that a block that cannot be written, that is, a defective block exists or appears. The bad block and the logical block are not connected to each other, and the normal logical block is always visible from the logical block.

上記背景もあり、フラッシュメモリの使い方としては、図2に示すように、ホストコンピュータから通知される、あるいは応答する論理ブロックに対して、実際のフラッシュメモリの物理ブロックを対応させた論理・物理変換テーブルを有し、消去・更新・追加が行われる度に、変換テーブルを更新するのが一般的であり、周知技術である。   With the above background, as shown in FIG. 2, the flash memory can be used in a logical / physical conversion in which the physical block of the actual flash memory is associated with the logical block notified or responding from the host computer. It is common to update a conversion table every time deletion / update / addition is performed.

つまり、ホストコンピュータ側から見るとフラッシュメモリの物理ブロックは、直接コントロールすることが出来ず、一切のコントロールはフラッシュメモリコントローラが行うことになる。   That is, when viewed from the host computer side, the physical block of the flash memory cannot be directly controlled, and all control is performed by the flash memory controller.

ここで、一般的なフラッシュメモリは、ブロック単位の書き込み可能回数が有限である。今、仮にそれを10万回と置く。書き込み回数が10万回付近に近づいたり、それをこえると、前述した不良ブロックとなる確率が著しく高くなる。そのため周知技術でのフラッシュメモリコントローラは、図3,図4に示すアルゴリズムにより、ブロックあたりの書換回数を分散化させている。   Here, a general flash memory has a finite number of writable times per block. Now put it as 100,000 times. If the number of times of writing approaches or exceeds about 100,000 times, the probability of becoming the above-described defective block is remarkably increased. For this reason, the flash memory controller in the well-known technique distributes the number of rewrites per block according to the algorithms shown in FIGS.

まず、図3を用いて説明する。ホストコンピュータより「データ A 更新」の命令をフラッシュメモリコントローラが受けると、データAが格納されている物理ブロックのデータを読み出す。次に、データAを更新後に格納する「空きブロック」を探す。この場合図5に示すように、空きブロックを探す方向を物理ブロックの降順方向という規則で動作するものとすると、物理ブロック2に対してデータAを更新して結果を書き写す。物理ブロック2への書き戻しが完了したら、不要になった物理ブロック1の元々のデータAを消去し、空き領域とする。   First, it demonstrates using FIG. When the flash memory controller receives a “data A update” command from the host computer, it reads the data of the physical block in which the data A is stored. Next, the “vacant block” for storing the data A after the update is searched. In this case, as shown in FIG. 5, assuming that the direction of searching for an empty block operates according to the rule of the descending order of the physical block, the data A is updated to the physical block 2 and the result is copied. When the writing back to the physical block 2 is completed, the original data A of the physical block 1 that is no longer needed is erased to make a free area.

この処理により、物理ブロック1と物理ブロック2の間で、書き込み回数が分散化されたことになる。   With this processing, the number of writes is distributed between the physical block 1 and the physical block 2.

次に図4を用いて説明を加える。ホストコンピュータより「データ C 更新」の命令をフラッシュメモリコントローラが受けると、データCが格納されている物理ブロックのデータを読み出す。次に、データAを更新後に格納する「空きブロック」を探す。この場合図5に示すように、空きブロックを探す方向を前述と同様に物理ブロックの降順方向という規則で動作するものとすると、物理ブロック5に対してデータCを更新して結果を書き写す。物理ブロック5への書き戻しが完了したら、不要になった物理ブロック4の元々のデータAを消去し、空き領域とする。   Next, a description will be added with reference to FIG. When the flash memory controller receives a “data C update” command from the host computer, it reads the data of the physical block in which the data C is stored. Next, the “vacant block” for storing the data A after the update is searched. In this case, as shown in FIG. 5, assuming that the direction of searching for an empty block operates according to the rule that the physical block descends in the same manner as described above, the data C is updated to the physical block 5 and the result is copied. When the writing back to the physical block 5 is completed, the original data A of the physical block 4 that is no longer needed is erased to make a free area.

この処理により、物理ブロック4と物理ブロック5の間で、書き込み回数が分散化されたことになる。   With this processing, the number of writes is distributed between the physical block 4 and the physical block 5.

上述の処理を繰り返すことにより、書き込みが特定の物理ブロックに集中することが防止される。すなわち、各物理ブロックについて書き込み回数の平準化が行われる。   By repeating the above processing, writing is prevented from being concentrated on a specific physical block. That is, the number of writes is leveled for each physical block.

しかし、ここで解決すべき技術的な課題がある。これを図4を用いて説明する。物理ブロック3に格納されたデータBに対して、ホストコンピュータよりなんら消去・更新命令が無い場合、このブロックは、書換回数平準化の対象とならない。   However, there is a technical problem to be solved here. This will be described with reference to FIG. If there is no erase / update command from the host computer for the data B stored in the physical block 3, this block is not subject to leveling of the number of rewrites.

更に、従来技術ではリードオンリーファイルが、原理上書換平準化の対象とはなっていなかった(例えば、特許文献1参照)。   Furthermore, in the prior art, a read-only file has not been a target for rewrite leveling in principle (see, for example, Patent Document 1).

また、図9、図10にはフラッシュメモリデバイス装置の中でOSが立ち上がるまでの遷移を示す。
図9では、ホストコンピュータの電源が投入されるとブートデバイスとなっているフラッシュメモリデバイス装置に対して、ファイルシステムの先頭にあるマスターブートレコードを読みに来る。ここで、フラッシュメモリがブートドライブであることが認識されると、図9で示すようにパーテンションブートレコードにジャンプし、OSローダを起動し、OSが立ち上がることになる。(例えば、特許文献2参照)OS起動後に、リードオンリーファイルの移動を試みようとしても、それは困難であった。
特開2000−285001号公報 特開2004−318871号公報
FIG. 9 and FIG. 10 show transitions until the OS starts up in the flash memory device.
In FIG. 9, when the power of the host computer is turned on, the master boot record at the head of the file system group is read for the flash memory device that is the boot device. If it is recognized that the flash memory is a boot drive, the program jumps to the partition boot record as shown in FIG. 9, starts the OS loader, and starts the OS. (For example, see Patent Document 2) Even if an attempt was made to move a read-only file after the OS was started, it was difficult.
JP 2000-285001 A JP 2004-318871 A

前述のように、一度OSが立ち上がってしまうと、OSやアプリケーションソフトウェアが走行してしまうため、フラッシュメモリデバイス装置内の個々のファイルがソフトウェアによって拘束されてしまう局面が生まれる。このため、リードオンリーファイルを移動する。つまり、一度読み込み、再び書き戻しを行うためには、OSやアプリケーションプログラムが排他制御されなくてはならない。これを実行することは、非常に困難である。   As described above, once the OS is started up, the OS and application software run, so that an individual file in the flash memory device is restricted by the software. For this reason, the read-only file is moved. That is, in order to read once and write back again, the OS and application program must be exclusively controlled. It is very difficult to do this.

よって、上述のように従来技術では、リードオンリーファイルが、原理上、書換平準化の対象とはなっていなかったが、これが、既存のフラッシュメモリドライブ装置の潜在的な問題点となる場合があった。   Therefore, as described above, in the conventional technology, the read-only file is not a target for rewrite leveling in principle, but this may be a potential problem of the existing flash memory drive device. It was.

この点を図6を用いて説明する。ファイル構成Bタイプで示されるファイルの構成は図6で示されるように、概ねリードオンリーファイルが50%、リライトファイル25%、空き領域25%の割合である。このとき書換回数平準化に供されるリライトファイル、及び空き領域が多く存在しているため、書換回数平準化の対象となる領域の占める割合が大きい。そのため、消去/ライト回数に対して、物理ブロックが有する消去/ライト回数寿命がそれ以下になるため、寿命課題は解決されている。
一方、図7で示されるファイル構成Bタイプの構成は、概ねリードオンリーファイルが70%、リライトファイル15%、空き領域15%の割合である。図6のファイル群構成Bタイプと比較してリライトファイルと空き領域の占める割合が少ない、すなわち、平準化の対象領域が少ない。このため、物理ブロックが有する消去/ライト回数寿命に対して、実際の消去/ライト回数が上回ってしまい、不良ブロックに到達してしまうことから装置として機能しない状態に至る。この状況に至る原因は、従来技術では、図3を用いて上記で説明したように、リードオンリーファイルが原理上、書換平準化の対象となっていないからである。
This point will be described with reference to FIG. As shown in FIG. 6, the file structure indicated by the file structure group B type is roughly a ratio of 50% for read-only files, 25% for rewrite files, and 25% for free areas. At this time, since there are many rewrite files used for leveling the number of rewrites and free areas, the ratio of the area to be leveled for the number of rewrites is large. For this reason, the lifetime of the physical block is less than the number of erase / write cycles, and the lifetime issue is solved.
On the other hand, the configuration of the file configuration group B type shown in FIG. 7 has a ratio of approximately 70% for read-only files, 15% for rewrite files, and 15% for free areas. Compared with the file group configuration type B in FIG. 6, the ratio of the rewrite file and the free area is small, that is, the leveling target area is small. For this reason, the actual erase / write frequency exceeds the erase / write frequency life of the physical block, and the defective block is reached, resulting in a state that does not function as a device. The reason for this situation is that, in the prior art, as described above with reference to FIG. 3, the read-only file is not a target for rewrite leveling in principle.

そこで、本発明はリードオンリーファイルを書換の対象とする事により、リードオンリーファイルを含めた全記憶領域を書換平準化の対象とし、フラッシュメモリドライブ装置の製品寿命を延長することを目的とする。   Therefore, the present invention aims to extend the product life of a flash memory drive device by making all storage areas including read-only files subject to rewrite leveling by making read-only files subject to rewriting.

本発明の第1の観点によれば、フラッシュメモリコントローラを備えるフラッシュメモリドライブ装置であって、ブート時にフラッシュメモリの各論理ブロックからデータを読み出し、読み出されたデータを該読み出されたデータが読み出された論理ブロックと同一の論理ブロックに書き戻す論理ブロック再書き込み手段と、前記論理ブロック書き込みによる書き込みの際に読み出し時とは異なった物理ブロックにデータを書き戻す物理ブロック変更手段と、を備え、前記再書き込み手段を複数回に分割して動作させることを特徴とするフラッシュメモリドライブ装置が提供される。
本発明の第2の観点によれば、フラッシュメモリコントローラを備えるフラッシュメモリドライブ装置であって、ブート時にフラッシュメモリの各論理ブロックからデータを読み出し、読み出されたデータを該読み出されたデータが読み出された論理ブロックと同一の論理ブロックに書き戻す論理ブロック再書き込み手段と、前記論理ブロック書き込みによる書き込みの際に読み出し時とは異なった物理ブロックにデータを書き戻す物理ブロック変更手段と、BIOSから日付情報を読み取る手段と、を備え、前記日付情報に基づいて前記再書き込み手段を定期的に動作させることを特徴とするフラッシュメモリドライブ装置が提供される。
According to a first aspect of the present invention , there is provided a flash memory drive device including a flash memory controller, which reads data from each logical block of the flash memory at the time of booting, and reads the read data into the read data. A logical block rewriting unit for writing back to the same logical block as the read logical block, and a physical block changing unit for writing back data to a physical block different from that at the time of reading when writing by the logical block writing. wherein the operated to divide the rewriting means to the multiple flash memory drive apparatus according to claim Rukoto is provided.
According to a second aspect of the present invention, there is provided a flash memory drive device including a flash memory controller, wherein data is read from each logical block of the flash memory at the time of booting, and the read data is A logical block rewriting means for writing back to the same logical block as the read logical block, a physical block changing means for writing data back to a physical block different from that at the time of reading when writing by the logical block writing, and a BIOS And a means for reading the date information from the memory, and the flash memory drive device is characterized in that the rewrite means is periodically operated based on the date information.

上記のフラッシュメモリドライブ装置において、上記論理データの再書き込み手段をOSローダ起動前に行うことによって、リードオンリーファイル又はリライトファイルであっても書き込み回数平準化手段の対象とすることを特徴とするようにしてもよい。   In the above flash memory drive device, the logical data rewrite means is performed before the OS loader is started, so that even the read-only file or the rewrite file is the target of the write count leveling means. It may be.

本発明によれば、内蔵されるフラッシュメモリ群中の一部の未使用領域を利用することが出来る。該未使用領域に「再書き込み処理」をプログラム記述しておくことで、ブートする際にこの処理が実施されることにより、リードオンリーファイルに対してもフラッシュメモリの書き換え回数の平準化を行うことが可能となる。   According to the present invention, some unused areas in the built-in flash memory group can be used. By programming the “rewrite process” in the unused area, this process is performed when booting, so that the number of flash memory rewrites can be leveled even for read-only files. Is possible.

次に、本発明の最良の形態について図面を用いて説明する。
[実施形態1]
まず、図1、図9、図10及び図11で構成を説明する。
Next, the best mode of the present invention will be described with reference to the drawings.
[Embodiment 1]
First, the configuration will be described with reference to FIG. 1, FIG. 9, FIG. 10, and FIG.

本発明のフラッシュメモリドライブ装置は、一般的に図1で示される。フラッシュメモリドライブ装置は内部にフラッシュメモリ群10とそれを制御するための、フラッシュメモリコントローラ20を備える。フラッシュメモリドライブ装置は、ホストコンピュータ30と図1に示したようにIDEバスなどを介して接続されており、本装置は、一般的なHDD(ハードディスクドライブ)と同様に、本装置がブートデバイスとなり、OS(オペレーティングシステム)が起動する仕組みである。   The flash memory drive apparatus of the present invention is generally shown in FIG. The flash memory drive device includes a flash memory group 10 and a flash memory controller 20 for controlling the flash memory group 10. The flash memory drive device is connected to the host computer 30 via an IDE bus or the like as shown in FIG. 1, and this device is a boot device like a general HDD (hard disk drive). , OS (Operating System) is started.

ここで、上述したように図9は周知技術であり、OSが立ち上がる流れを示している。一方、図10は、本発明であるフラッシュメモリにおけるリードオンリーファイルについても、書換回数を平準化する機能を実現する方法を示している。また、図11は、本発明を実現するための処理の流れを示している。図10、図11で示される本発明手段を用いることによりリードオンリーファイルを別ブロックに書き換えることを容易に行うことができる。以下その動作について説明する。   Here, as described above, FIG. 9 is a well-known technique, and shows the flow of OS startup. On the other hand, FIG. 10 shows a method for realizing the function of leveling the number of rewrites for the read-only file in the flash memory according to the present invention. FIG. 11 shows the flow of processing for realizing the present invention. By using the means of the present invention shown in FIGS. 10 and 11, it is possible to easily rewrite a read-only file into another block. The operation will be described below.

図10においてマスターブートレコードでブートドライブの認識が完了した後、パーティションブートレコードにジャンプする前に、「ブロック単位・再書き込み」実行プログラムが書かれている箇所にジャンプする。この領域は、元々未割り当て領域である部分を割り当てるため、該実行プログラムを割り当てた場合であってもなんら支障はない。   In FIG. 10, after the boot drive recognition is completed in the master boot record, before jumping to the partition boot record, the program jumps to the place where the “block unit / rewrite” execution program is written. Since this area is assigned a portion that is originally an unallocated area, there is no problem even if the execution program is assigned.

次に、この「ブロック単位・再書き込み」実行プログラムの処理内容について、図10,図11を用いて説明する。該実行プログラムが開始されると、開始論理ブロックSLBと論理終了ブロックELBがセットされる(S1)。このSLB及びELBは、図10のマスターブートレコードに格納されている。次に論理ブロックの先頭から順にブロック単位でデータを読み込み(S2)、その内容を全く保持したまま同一の論理ブロックにデータを書き戻す(S3)。ここで、前記、図2で示したように論理ブロックと物理ブロックは、変換テーブルに基づいて変換が行われる。この際、変換テーブルを更新しない場合は、特定の物理ブロックに書換が集中してしまい該物理ブロックの寿命が著しく低下してしまう。よって、これを防止するために、前記、図3で示したように、空きブロックに書き込みを行い、不要となった該物理ブロックのデータを消去し新たに空き領域とするという、書き込み回数分散化手段を本発明でも用いている。   Next, the processing content of the “block unit / rewrite” execution program will be described with reference to FIGS. When the execution program is started, a start logical block SLB and a logical end block ELB are set (S1). The SLB and ELB are stored in the master boot record of FIG. Next, data is read in block units in order from the top of the logical block (S2), and the data is written back to the same logical block while retaining its contents (S3). Here, as shown in FIG. 2, the logical block and the physical block are converted based on the conversion table. At this time, if the conversion table is not updated, rewriting concentrates on a specific physical block, and the life of the physical block is significantly reduced. Therefore, in order to prevent this, as shown in FIG. 3, the number of times of writing is distributed, in which data is written in an empty block and data in the physical block that is no longer needed is erased to make a new empty area. Means are also used in the present invention.

つまり、重要なのは論理ブロックとしては同一の部分に書き戻されるが、前記論理・物理変換テーブルに基づくことにより、物理ブロックとしては元々の物理ブロックと異なる部分に書き込まれるということである。   That is, what is important is that the logical block is written back in the same part, but based on the logical / physical conversion table, the physical block is written in a part different from the original physical block.

以上より、リードオンリーファイルであろうが、リライトファイルであろうが属性に制限されることなく、書換回数平準化のアルゴリズムに従うこととなる。   From the above, whether the read-only file or the rewrite file is not limited to the attribute, the rewrite frequency leveling algorithm is followed.

次に、前記、図2、図3で示した原理を実現するためにホストコンピュータから通知される、あるいは応答する論理ブロックに対して、実際のフラッシュメモリの物理ブロックを対応させた論理・物理変換テーブルのカウンタを一つ増加させ(S4)、同じ処理を終了論理ブロックELBに到達するまで繰り返す(S5)。   Next, in order to realize the principle shown in FIGS. 2 and 3, the logical / physical conversion in which the physical block of the actual flash memory is associated with the logical block notified or responding from the host computer. The counter of the table is incremented by one (S4), and the same processing is repeated until the end logical block ELB is reached (S5).

上記本発明手段を用いることにより、得られる効果を図8を用いて説明する。比較すると、図8(a)でリードオンリーファイルが書換回数平準化の対象とならなかった欠点に対して、本発明装置により、図8(b)で示すようにリードオンリーファイルも書換回数平準化の対象となり、消去/ライト回数は領域全体で平均化される。   The effect obtained by using the means of the present invention will be described with reference to FIG. In comparison, in contrast to the defect that the read-only file is not the target of the number of rewrites in FIG. 8A, the read-only file is also leveled as shown in FIG. The erase / write count is averaged over the entire area.

なお、図8(b)において、リライトファイル及び空き領域での消去/ライト回数がリードオンリーファイルより若干増えるのはOSが立ち上がった後に物理ブロックの書換が行われるためである。
[実施形態2]
本発明実施形態として第2に次が挙げられる。基本構成は実施形態1と同様である。
相違点として、実施形態1では、論理開始ブロックSLBから、論理終了ブロックELBまで、全ブロックに対して読み込み・再書き込みを行ったが、実施形態2では、毎回全領域に対して行わず、今回は偶数論理ブロック、再ブートした次回は、奇数論理ブロックと処理を分割して行う。
[実施形態3]
本発明実施形態として第3に次が挙げられる。基本構成は実施形態1と同様である。
相違点として、実施形態1では、論理開始ブロックSLBから、論理終了ブロックELBまで、全ブロックに対して読み込み・再書き込みを行ったが、実施形態3では、毎回全領域に対して行わず、今回は論理ブロックの前半、再ブートした次回は、論理ブロックの後半と処理を分割して行う。
[実施形態4]
本発明実施形態として第4に次が挙げられる。基本構成は実施形態1と同様である。
相違点として、実施形態1では、論理開始ブロックSLBから、論理終了ブロックELBまで、全ブロックに対して読み込み・再書き込みを行ったが、実施形態4では、毎回全領域に対して行わず、BIOS(Basic Input/Output System)から日付情報を読みとり、それに基づき処理を行うか否か設定することが考えられる。例えば毎月、1日にブートされた場合、処理を実行するが、他の日は実行しないと処理を分割して行う。
In FIG. 8B , the number of times of erasing / writing in the rewrite file and the empty area slightly increases as compared to the read-only file because the physical block is rewritten after the OS starts up.
[Embodiment 2]
Secondly, the embodiment of the present invention is as follows. The basic configuration is the same as that of the first embodiment.
As a difference, in the first embodiment, all blocks from the logical start block SLB to the logical end block ELB are read / rewritten. In the second embodiment, however, this is not performed every time. Is an even logical block, and the next time after rebooting, the process is divided into an odd logical block.
[Embodiment 3]
Thirdly, the following is mentioned as an embodiment of the present invention. The basic configuration is the same as that of the first embodiment.
As a difference, in the first embodiment, all blocks from the logical start block SLB to the logical end block ELB are read and rewritten. In the third embodiment, however, this is not performed every time. Is divided into the first half of the logical block and the second half after the reboot.
[Embodiment 4]
Fourthly, the embodiment of the present invention is as follows. The basic configuration is the same as that of the first embodiment.
As a difference, in the first embodiment, all blocks are read / rewritten from the logical start block SLB to the logical end block ELB, but in the fourth embodiment, the BIOS is not subjected to the entire area every time. (Basic Input / Ou tp ut System ) as read date information from, it is conceivable to set whether to perform processing based thereon. For example, when booted on the first day of every month, the process is executed, but if it is not executed on the other day, the process is divided.

上記、実施形態2至乃4の何れか一つの実施形態を採用することにより、書換回数平準化処理を分散することになり、これにより実施形態1と比較してOSの起動を迅速にすることも可能となる。   By adopting any one of the embodiments 2 to 4 described above, the rewrite count leveling process is distributed, thereby enabling the OS to be started more quickly than in the first embodiment. Is also possible.

以上より得られる、本発明第1の効果は、リードオンリーファイルを含む全領域が書換回数の平準化対象となり、結果としてフラッシュメモリの劣化レベルの均一化が図られ製品寿命を延長することができる点である。   From the above, the first effect of the present invention is that the entire area including the read-only file is the target of leveling of the number of rewrites, and as a result, the level of deterioration of the flash memory can be made uniform and the product life can be extended. Is a point.

第2の効果は、該書換回数の平準化処理をOSがブートする以前に実行されることにより、OSやアプリケーションソフトウェアに拘束されることなく円滑な処理が可能となることである。   The second effect is that smoothing processing can be performed without being restricted by the OS or application software by performing the leveling processing of the number of rewrites before the OS boots.

本発明の構成例を示す図である。It is a figure which shows the structural example of this invention. フラッシュメモリコントローラのメモリ管理方式の例を示す図である。It is a figure which shows the example of the memory management system of a flash memory controller. 書換回数の平準化アルゴリズムの例を示す図である。It is a figure which shows the example of the leveling algorithm of the rewrite frequency. 書換回数の平準化アルゴリズムの例を示す図である。It is a figure which shows the example of the leveling algorithm of the rewrite frequency. 空き物理ブロックのサーチ方向を示す図である。It is a figure which shows the search direction of an empty physical block. ファイルの構成と消去/ライト回数の関係を表す図である。It is a figure showing the relationship between the structure of a file, and the number of times of erasing / writing. ファイルの構成と消去/ライト回数の関係を表す図である。It is a figure showing the relationship between the structure of a file, and the number of times of erasing / writing. ファイルの構成と消去/ライト回数の関係を表す図である。It is a figure showing the relationship between the structure of a file, and the number of times of erasing / writing. ブートデバイスからOSが起動する仕組みを表す概念図である。It is a conceptual diagram showing the mechanism in which OS starts from a boot device. 本発明によりOS起動以前に再書き込み処理が実行されることを表す概念図である。It is a conceptual diagram showing that the rewriting process is performed before OS starting by this invention. 本発明によるブロック単位・再書き込みを表すフローチャートである。It is a flowchart showing the block unit and rewriting by this invention.

符号の説明Explanation of symbols

10 フラッシュメモリ群
20 フラッシュメモリコントローラ
30 ホストコンピュータ
10 Flash memory group 20 Flash memory controller 30 Host computer

Claims (10)

フラッシュメモリコントローラを備えるフラッシュメモリドライブ装置であって、
ブート時にフラッシュメモリの各論理ブロックからデータを読み出し、読み出されたデータを該読み出されたデータが読み出された論理ブロックと同一の論理ブロックに書き戻す論理ブロック再書き込み手段と、
前記論理ブロック書き込みによる書き込みの際に読み出し時とは異なった物理ブロックにデータを書き戻す物理ブロック変更手段と、
を備え
前記再書き込み手段を複数回に分割して動作させることを特徴とするフラッシュメモリドライブ装置。
A flash memory drive device comprising a flash memory controller,
Logical block rewriting means for reading data from each logical block of the flash memory at boot time and writing the read data back to the same logical block as the logical block from which the read data was read;
A physical block changing means for writing data back to a physical block different from that at the time of reading when writing by the logical block writing;
Equipped with a,
The flash memory drive apparatus according to claim Rukoto to operate by dividing the rewrite means a plurality of times.
フラッシュメモリコントローラを備えるフラッシュメモリドライブ装置であって、
ブート時にフラッシュメモリの各論理ブロックからデータを読み出し、読み出されたデータを該読み出されたデータが読み出された論理ブロックと同一の論理ブロックに書き戻す論理ブロック再書き込み手段と、
前記論理ブロック書き込みによる書き込みの際に読み出し時とは異なった物理ブロックにデータを書き戻す物理ブロック変更手段と、
BIOSから日付情報を読み取る手段と、
備え、
前記日付情報に基づいて前記再書き込み手段を定期的に動作させることを特徴とするフラッシュメモリドライブ装置。
A flash memory drive device comprising a flash memory controller,
Logical block rewriting means for reading data from each logical block of the flash memory at boot time and writing the read data back to the same logical block as the logical block from which the read data was read;
A physical block changing means for writing data back to a physical block different from that at the time of reading when writing by the logical block writing;
Means for reading date information from the BIOS ;
With
Flash memory drive apparatus according to claim and Turkey periodically operates the rewrite unit based on the date information.
請求項1又は2に記載のフラッシュメモリドライブ装置であって、
前記論理ブロック再書き込み手段と、前記物理ブロック変更手段とはOSローダ起動前に動作することを特徴とするフラッシュメモリドライブ装置。
The flash memory drive device according to claim 1 or 2 ,
The flash memory drive device, wherein the logical block rewriting unit and the physical block changing unit operate before starting an OS loader.
請求項1又は2に記載のフラッシュメモリドライブ装置であって、
前記物理ブロック変更手段は、
論理ブロックと物理ブロックとの対応関係を保持する変換テーブルに基づいて動作することを特徴とするフラッシュメモリドライブ装置。
The flash memory drive device according to claim 1 or 2 ,
The physical block changing means includes
A flash memory drive device that operates based on a conversion table that holds a correspondence relationship between a logical block and a physical block.
フラッシュメモリコントローラを備えるフラッシュメモリドライブ装置の制御方法であって、
ブート時にフラッシュメモリの各論理ブロックからデータを読み出し、読み出されたデータを該読み出されたデータが読み出された論理ブロックと同一の論理ブロックに書き戻す論理ブロック再書き込みステップと、
前記論理ブロック書き込みによる書き込みの際に読み出し時とは異なった物理ブロックにデータを書き戻す物理ブロック変更ステップと
を備え
前記再書き込みステップは複数回に分割して行われることを特徴とするフラッシュメモリドライブ装置の制御方法。
A method of controlling a flash memory drive device comprising a flash memory controller,
A logical block rewriting step of reading data from each logical block of the flash memory at the time of booting and writing the read data back to the same logical block as the logical block from which the read data was read;
A physical block changing step of writing data back to a physical block different from that at the time of reading when writing by the logical block writing ;
Equipped with a,
Control method of a flash memory drive apparatus according to claim Rukoto said rewriting step is performed by dividing into multiple times.
フラッシュメモリコントローラを備えるフラッシュメモリドライブ装置の制御方法であって、
ブート時にフラッシュメモリの各論理ブロックからデータを読み出し、読み出されたデータを該読み出されたデータが読み出された論理ブロックと同一の論理ブロックに書き戻す論理ブロック再書き込みステップと、
前記論理ブロック書き込みによる書き込みの際に読み出し時とは異なった物理ブロックにデータを書き戻す物理ブロック変更ステップと、
BIOSから日付情報を読み取るステップと、
備え、
前記日付情報に基づいて前記再書き込みステップを定期的に行うことを特徴とするフラッシュメモリドライブ装置の制御方法。
A method of controlling a flash memory drive device comprising a flash memory controller,
A logical block rewriting step of reading data from each logical block of the flash memory at the time of booting and writing the read data back to the same logical block as the logical block from which the read data was read;
A physical block changing step of writing data back to a physical block different from that at the time of reading when writing by the logical block writing;
Reading date information from the BIOS ;
With
Control method of a flash memory drive apparatus characterized that you perform periodically the rewrite step based on the date information.
請求項5又は6に記載のフラッシュメモリドライブ装置の制御方法であって、
前記論理ブロック再書き込みステップをOSローダ起動前に行うことを特徴とするフラッシュメモリドライブ装置の制御方法。
A method for controlling a flash memory drive device according to claim 5 or 6,
A control method of a flash memory drive device, wherein the logical block rewriting step is performed before starting an OS loader.
請求項5又は6に記載のフラッシュメモリドライブ装置の制御方法であって、
前記物理ブロック変更ステップは、
論理ブロックと物理ブロックとの対応関係を保持する変換テーブルに基づいて行うことを特徴とするフラッシュメモリドライブ装置の制御方法。
A method for controlling a flash memory drive device according to claim 5 or 6 ,
The physical block changing step includes:
A control method for a flash memory drive device, which is performed based on a conversion table that holds a correspondence relationship between a logical block and a physical block.
コンピュータに請求項5乃至8のいずれかの1項に記載の方法を行なわせるプログラム。 Help program to perform the method according to any one of claims 5 to 8 on a computer. 請求項のプログラムをフラッシュメモリの未割り当て領域に格納することを特徴とするフラッシュメモリドライブ装置。 10. A flash memory drive device, wherein the program of claim 9 is stored in an unallocated area of a flash memory.
JP2007004526A 2007-01-12 2007-01-12 Flash memory drive device, control method thereof, and program thereof Expired - Fee Related JP4572205B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007004526A JP4572205B2 (en) 2007-01-12 2007-01-12 Flash memory drive device, control method thereof, and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007004526A JP4572205B2 (en) 2007-01-12 2007-01-12 Flash memory drive device, control method thereof, and program thereof

Publications (2)

Publication Number Publication Date
JP2008171246A JP2008171246A (en) 2008-07-24
JP4572205B2 true JP4572205B2 (en) 2010-11-04

Family

ID=39699276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007004526A Expired - Fee Related JP4572205B2 (en) 2007-01-12 2007-01-12 Flash memory drive device, control method thereof, and program thereof

Country Status (1)

Country Link
JP (1) JP4572205B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141394B2 (en) * 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US9268487B2 (en) * 2014-03-24 2016-02-23 Western Digital Technologies, Inc. Method and apparatus for restricting writes to solid state memory when an end-of life condition is reached

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040176A (en) * 1996-07-25 1998-02-13 Canon Inc System and method for memory management of electronic equipment, and storage medium stored with memory management program that computer can read
JP2006209608A (en) * 2005-01-31 2006-08-10 Sony Corp Memory control device, memory control method, and program
JP2007280079A (en) * 2006-04-07 2007-10-25 Toshiba Tec Corp Information processor
JP2008097132A (en) * 2006-10-06 2008-04-24 Matsushita Electric Ind Co Ltd Memory controller, nonvolatile storage device, and nonvolatile storage system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040176A (en) * 1996-07-25 1998-02-13 Canon Inc System and method for memory management of electronic equipment, and storage medium stored with memory management program that computer can read
JP2006209608A (en) * 2005-01-31 2006-08-10 Sony Corp Memory control device, memory control method, and program
JP2007280079A (en) * 2006-04-07 2007-10-25 Toshiba Tec Corp Information processor
JP2008097132A (en) * 2006-10-06 2008-04-24 Matsushita Electric Ind Co Ltd Memory controller, nonvolatile storage device, and nonvolatile storage system

Also Published As

Publication number Publication date
JP2008171246A (en) 2008-07-24

Similar Documents

Publication Publication Date Title
US7783851B2 (en) Methods of reusing log blocks in non-volatile memories and related non-volatile memory devices
KR101121641B1 (en) Apparatus and method for controlling operation of system
JP5376983B2 (en) Memory system
US8510542B2 (en) Flash memory device having memory partitions and including an embedded general purpose operating system for booting a computing device
US7610465B2 (en) Method and related apparatus for data migration utilizing disk arrays
JP4828816B2 (en) Memory card, semiconductor device, and memory card control method
KR20040038712A (en) Power management block for use in a non-volatile memory system
JP4886866B2 (en) Method for speeding up access to main storage device and storage device system
JP4373943B2 (en) Memory controller, flash memory system, and flash memory control method
JP2001209543A (en) Program rewriting method for flash microcomputer
KR101102155B1 (en) Memory system
KR20090042039A (en) Data management method for nonvolatile memory device
KR20050015972A (en) Apparatus and method for controlling booting of computer system
US20190340083A1 (en) Configurable recovery states
JP6753257B2 (en) Information processing device, information processing system, information processing device control method and information processing device control program
JP2004295865A (en) Automatic booting system and automatic booting method
JPWO2009004674A1 (en) Storage device, disk device, write determination method, control device
JP2009301264A (en) Nand flash memory access device, nand flash memory access program and recording medium
KR20100121389A (en) Storage device based on a flash memory and user device including the same
JP4572205B2 (en) Flash memory drive device, control method thereof, and program thereof
KR20080066381A (en) Method for upgrading software
US10564894B2 (en) Free space pass-through
JP4826232B2 (en) Information processing apparatus and boot program rewriting method
KR20170037017A (en) Memory Upgrade System And Method
JP5520880B2 (en) Flash memory device

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100706

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100816

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

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4572205

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees