JP2014092832A - Flash memory deterioration inspection device, deterioration inspection method, and deterioration inspection program - Google Patents

Flash memory deterioration inspection device, deterioration inspection method, and deterioration inspection program Download PDF

Info

Publication number
JP2014092832A
JP2014092832A JP2012241496A JP2012241496A JP2014092832A JP 2014092832 A JP2014092832 A JP 2014092832A JP 2012241496 A JP2012241496 A JP 2012241496A JP 2012241496 A JP2012241496 A JP 2012241496A JP 2014092832 A JP2014092832 A JP 2014092832A
Authority
JP
Japan
Prior art keywords
error
flash memory
threshold value
error check
block
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.)
Granted
Application number
JP2012241496A
Other languages
Japanese (ja)
Other versions
JP5483378B1 (en
Inventor
Hiroteru Hirata
宏輝 平田
Tamiki Fujigaki
民木 藤垣
Yasuharu Kama
康春 鎌
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.)
Toshiba Information Systems Japan Corp
Original Assignee
Toshiba Information Systems Japan 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 Toshiba Information Systems Japan Corp filed Critical Toshiba Information Systems Japan Corp
Priority to JP2012241496A priority Critical patent/JP5483378B1/en
Application granted granted Critical
Publication of JP5483378B1 publication Critical patent/JP5483378B1/en
Publication of JP2014092832A publication Critical patent/JP2014092832A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To efficiently patrol the entire flash memory without waste.SOLUTION: A flash memory deterioration inspection device comprises: an HW timer 22 that is timer means from which time information can be obtained; determination means 31 that obtains the time information from the HW timer 22 and determines a page for which error check is performed, by operation processing on the basis of the obtained time information; and processing means 32 that specifies the page which is determined by the determination means 31, reads stored data, and performs error check.

Description

この発明は、フラッシュメモリの劣化検査装置、劣化検査方法及劣化検査用プログラムに関するものである。   The present invention relates to a flash memory deterioration inspection apparatus, a deterioration inspection method, and a deterioration inspection program.

NAND型フラッシュメモリについては、以下の特性が知られている。NAND型フラッシュメモリでは、複数ブロックを有し、更に各ブロックに複数のページが含まれるという構造を採用している。消去についてはブロック単位で行われ、消去動作はP型半導体層に電圧をかけて浮遊ゲートから電子を引き抜くことで行われる。   The following characteristics are known for the NAND flash memory. The NAND flash memory has a structure in which a plurality of blocks are included and each block includes a plurality of pages. Erasing is performed in units of blocks, and the erasing operation is performed by applying a voltage to the P-type semiconductor layer and extracting electrons from the floating gate.

一方、情報の書き込みについては、量子トンネル効果により電子を浮遊ゲート内に注入することで行われる。この場合、回路基板であるN型半導体を接地電位にし、微小な電流によって制御ゲートに書き込み電圧を印加する。浮遊ゲート内に蓄積された電子が情報を記憶する。ここに、書き込みはページ単位で行われ、同一ページ内の全てのセルに対して、同時に制御ゲートに書き込み電圧を印加することで書き込み動作が行われる。   On the other hand, information is written by injecting electrons into the floating gate by the quantum tunnel effect. In this case, the N-type semiconductor that is the circuit board is set to the ground potential, and a write voltage is applied to the control gate by a minute current. Electrons stored in the floating gate store information. Here, writing is performed on a page-by-page basis, and a write operation is performed by simultaneously applying a write voltage to the control gates for all cells in the same page.

更に、読み出し動作は、ページ単位で行われる。選択しないセルの制御ゲートに電圧をかけ導通状態にする。選択したセルの浮遊ゲートに電子がある一定量ある場合にはソースとドレイン間に電流があまり流れず、この状態が”0”とされる。また、浮遊ゲートに電子がある一定量ない場合にはソースとドレイン間に電流が比較的流れ、この状態が”1”とされる。   Further, the read operation is performed in units of pages. A voltage is applied to the control gates of unselected cells to make them conductive. When there is a certain amount of electrons in the floating gate of the selected cell, current does not flow so much between the source and drain, and this state is set to “0”. Further, when there is no fixed amount of electrons in the floating gate, a current flows relatively between the source and the drain, and this state is set to “1”.

上記のように消去動作は複数ページを含むブロック単位でしか行えず、また、1動作では上書きができないために、消去してから書き込みを行う必要があるため、1ページの書き換えでも(SLC(Single-Level-Cell )の場合)一度1ブロック64ページ全ての内容をNAND型フラッシュメモリの外部に読み出して、一時的に保持しておき、1ブロック64ページ全てを消去する必要がある。NAND型フラッシュメモリの外部の記憶領域で必要な書き換えの加工処理を行ってから、その消去済みのブロックに改めて書き戻す動作が行われる。   As described above, the erasing operation can be performed only in units of blocks including a plurality of pages. Further, since overwriting cannot be performed in one operation, it is necessary to perform writing after erasing. In the case of -Level-Cell), it is necessary to once read the contents of all 64 pages of one block outside the NAND flash memory and temporarily store them, and erase all 64 pages of one block. After the necessary rewrite processing is performed in the external storage area of the NAND flash memory, an operation of rewriting the erased block is performed.

また、NAND型フラッシュメモリでは、その寿命について以下の通りの事項が知られている。まず、NAND型フラッシュメモリでは、書き換え可能回数に上限があるほか、記録内容の保持期間も有限(最大で10年から数十年)であり、劣化により書き込んだ情報はいつか失われる。また回路構造上、NOR型よりもNAND型の方が劣化が進みやすい。更に、データを常に記録するような用途で使用すると、特性上急激な劣化(不良ブロック)が発生し、製品寿命が著しく短くなることが予測されると言われている。   Further, the following items are known for the lifetime of the NAND flash memory. First, in the NAND flash memory, there is an upper limit on the number of rewritable times, and the retention period of recorded contents is finite (maximum 10 to several decades), and information written due to deterioration is lost sometime. In addition, the NAND type is more likely to deteriorate than the NOR type because of the circuit structure. Furthermore, it is said that when used for applications in which data is always recorded, abrupt deterioration (bad blocks) occurs due to characteristics, and the product life is expected to be significantly shortened.

一般的に、メモリセルに対する読み書きによってゲート酸化膜の劣化が進行すると電荷の蓄積量が当初の設計値とずれてしまい”0”と”1”の差異が判別できなくなることで寿命となるが、読み書きが全く行われないブロックでも近隣セルの動作に伴って電圧が加わるために、「読み出しディスターブ」(Read Disturb)と呼ばれる劣化が進行することも知られている。   In general, when the gate oxide film deteriorates by reading and writing to the memory cell, the charge accumulation amount deviates from the original design value, and the difference between “0” and “1” cannot be determined. It is also known that deterioration called “Read Disturb” proceeds because a voltage is applied with the operation of a neighboring cell even in a block in which reading and writing are not performed at all.

ここで、一つの例を挙げると、例えばデータ消去回数が0回のとき、データ破壊が始まる可能性が高い読み出し回数は、10万回程度であり、例えばデータ消去回数が6万回のとき、データ破壊が始まる可能性が高い読み出し回数は、1万回程度である。この関係をグラフ化すると図5の特性線Sの如くなる。   Here, as an example, for example, when the number of data erasures is 0, the number of read times that data destruction is likely to start is about 100,000 times. For example, when the number of data erasures is 60,000 times, The number of readings with a high possibility of starting data destruction is about 10,000 times. When this relationship is graphed, a characteristic line S in FIG. 5 is obtained.

上記に明らかな通り、NAND型フラッシュメモリではデータの書き換えおよび消去を繰り返すとセルが劣化し、データを書き込むことができなくなる。このため、特定のブロックのみにデータの書き込み消去が集中するとそのブロックだけ早く寿命を迎えてしまうが、寿命となった1ブロックを避けてフラッシュメモリを使用することも考えられているが、一般的に1ブロックの寿命で当該フラッシュメモリが寿命となるという使用例も多い。   As is apparent from the above, in the NAND flash memory, when data rewrite and erase are repeated, the cell deteriorates and data cannot be written. For this reason, if data writing / erasing is concentrated only on a specific block, the life of that block will be reached earlier, but it is also considered to use a flash memory avoiding one block that has reached the end of its life. In many cases, the flash memory has a lifetime of 1 block.

この現象を回避するために、ウェアレベリングという手法が用いられている。ウェアレベリングにはいくつかの手法があるが、NAND型フラッシュメモリを使った記憶媒体では、メモリチップ外部からのアドレス信号をチップ内部的に異なるアドレスに変換して、各ブロックの書き込み消去回数が平準化するようにする手法が広く用いられている。   In order to avoid this phenomenon, a technique called wear leveling is used. There are several methods for wear leveling, but in a storage medium using NAND flash memory, the address signal from the outside of the memory chip is converted into a different address inside the chip, and the number of write / erase times in each block is equalized. The technique of making it become is widely used.

上記の読み出しディスターブエラーの防止とbadブロック処理を効率的に行うことを目的として、フラッシュメモリデバイスにリフレッシュ管理テーブルを設け、物理ブロック毎のデータ読み出し回数、消去回数を随時記憶、更新する。データ読み出し回数が予め決定してなる閾値に至ったときに、該物理ブロックにフラグ“Low”を設定する。またデータ読み出し時にECCエラーが発見された物理ブロックにはフラグ“High”を設定する。そして適宜リフレッシュ管理テーブルをサーチし、フラグ“Low”のブロックはリフレッシュし、フラグ“High”のブロックはbadブロック処理を行うようにした記憶装置が知られている(特許文献1参照)。   In order to prevent the read disturb error and perform the bad block processing efficiently, a refresh management table is provided in the flash memory device, and the data read count and erase count for each physical block are stored and updated as needed. When the number of data read times reaches a predetermined threshold value, the flag “Low” is set in the physical block. Further, a flag “High” is set for a physical block in which an ECC error is found during data reading. A storage device is known in which a refresh management table is searched as appropriate, a block with a flag “Low” is refreshed, and a block with a flag “High” is subjected to bad block processing (see Patent Document 1).

特開2009−224013号公報JP 2009-2224013 A

しかしながら、上記の記憶装置では、処理がbadブロックを見つけ出すことが中心であり、必ずしも、各ブロックの書き込み消去回数が平準化することにはつながらないものである。また、劣化に対応して定期的にフラッシュメモリのページについて読み出しを行い、データの劣化状況を確認するパトロールと称される処理が行われるが、全領域の確認には多大な時間を要し、パトロールが許容される時間内に全領域の確認を行うことは困難である。   However, in the storage device described above, the process is centered on finding a bad block, and the number of write / erase times of each block does not necessarily equalize. In addition, a process called patrol is performed to read the flash memory page periodically corresponding to the deterioration and check the deterioration state of the data, but it takes a lot of time to check the entire area, It is difficult to confirm the entire area within the time when patrol is allowed.

本発明はこのようなフラッシュメモリに関する現状に鑑みてなされたもので、その目的は、フラッシュメモリ全体を無駄なく効率よくパトロールすることができ、データの信頼性を向上させることが可能なフラッシュメモリの劣化検査装置、劣化検査方法及び劣化検査用プログラムを提供することである。   The present invention has been made in view of the current situation regarding such a flash memory, and an object of the present invention is to provide a flash memory capable of efficiently patroling the entire flash memory without waste and improving data reliability. It is to provide a deterioration inspection apparatus, a deterioration inspection method, and a deterioration inspection program.

本発明に係るフラッシュメモリの劣化検査装置は、時刻情報を取り出し可能である計時手段と、計時手段から時刻情報を取り出し、得られた時刻情報に基づき演算加工によりエラーチェックを行うページを決定する決定手段と、決定手段により決定されたページを指定して、記憶されているデータを読み出しエラーチェックを行う処理手段と、を具備することを特徴とする。   The flash memory deterioration inspection apparatus according to the present invention is a time counting unit capable of extracting time information, and a time determination unit that extracts time information from the time measuring unit and determines a page on which error checking is performed based on the obtained time information. And a processing unit for designating a page determined by the determination unit and reading stored data and performing an error check.

本発明に係るフラッシュメモリの劣化検査装置は、処理手段は、決定手段により決定されたページをオフセット値として、各ブロックにおける前記オフセット値のページを順次指定して記憶されているデータを読み出しエラーチェックを行うことを特徴とする。   In the degradation inspection apparatus for flash memory according to the present invention, the processing means reads the stored data by sequentially designating the page of the offset value in each block, using the page determined by the determining means as an offset value. It is characterized by performing.

本発明に係るフラッシュメモリの劣化検査装置は、処理手段によるエラーチェックの際にエラービット数を求める計数手段を備え、処理手段は、計数手段により計数されたエラービット数と第1の閾値を比較し、エラービット数が第1の閾値より大きい場合には、当該エラーチェックに係るブロックに対するリフレッシュを行うことを特徴とする。   The degradation inspection apparatus for flash memory according to the present invention comprises counting means for determining the number of error bits when performing error checking by the processing means, and the processing means compares the number of error bits counted by the counting means with a first threshold value. However, when the number of error bits is larger than the first threshold, the block related to the error check is refreshed.

本発明に係るフラッシュメモリの劣化検査装置は、処理手段は、エラービット数が第1の閾値以下の場合には、計数手段により計数されたエラービット数と第1の閾値より小さい第2の閾値を比較し、エラービット数が第2の閾値より大きい場合には、当該エラーチェックに係るブロックにおける消去回数と読み出し回数とに基づき、当該エラーチェックに係るブロック内の全ページに対するエラーチェックを行うことを特徴とする。   In the degradation inspection apparatus for a flash memory according to the present invention, the processing means, when the number of error bits is equal to or less than the first threshold value, the number of error bits counted by the counting means and a second threshold value smaller than the first threshold value. If the number of error bits is larger than the second threshold, an error check is performed on all pages in the block related to the error check based on the erase count and the read count in the block related to the error check. It is characterized by.

本発明に係るフラッシュメモリの劣化検査方法は、時刻情報を取り出し可能である計時手段を参照し、該計時手段から時刻情報を取り出す時刻取出ステップと、得られた時刻情報に基づき演算加工によりエラーチェックを行うページを決定する決定ステップと、決定ステップにより決定されたページを指定して、記憶されているデータを読み出しエラーチェックを行う処理ステップと、を具備することを特徴とする。   The flash memory deterioration inspection method according to the present invention refers to a time measuring means capable of extracting time information, a time extracting step for extracting time information from the time measuring means, and an error check by arithmetic processing based on the obtained time information. A determination step for determining a page to be performed, and a processing step for specifying the page determined in the determination step and reading stored data and performing an error check.

本発明に係るフラッシュメモリの劣化検査方法は、処理ステップでは、決定ステップにより決定されたページをオフセット値として、各ブロックにおける前記オフセット値のページを順次指定して記憶されているデータを読み出しエラーチェックを行うことを特徴とする。   In the flash memory degradation inspection method according to the present invention, in the processing step, the page determined in the determination step is used as an offset value, and the stored data is read out by sequentially specifying the page of the offset value in each block. It is characterized by performing.

本発明に係るフラッシュメモリの劣化検査方法は、処理ステップによるエラーチェックの際にエラービット数を求める計数ステップを備え、処理ステップでは、計数ステップにより計数されたエラービット数と第1の閾値を比較し、エラービット数が第1の閾値より大きい場合には、当該エラーチェックに係るブロックに対するリフレッシュを行うことを特徴とする。   The degradation inspection method for a flash memory according to the present invention includes a counting step for obtaining the number of error bits at the time of an error check in a processing step, and the processing step compares the number of error bits counted in the counting step with a first threshold value. However, when the number of error bits is larger than the first threshold, the block related to the error check is refreshed.

本発明に係るフラッシュメモリの劣化検査方法は、処理ステップでは、エラービット数が第1の閾値以下の場合には、計数手段により計数されたエラービット数と第1の閾値より小さい第2の閾値を比較し、エラービット数が第2の閾値より大きい場合には、当該エラーチェックに係るブロックにおける消去回数と読み出し回数とに基づき、当該エラーチェックに係るブロック内の全ページに対するエラーチェックを行うことを特徴とする。   According to the flash memory degradation inspection method of the present invention, in the processing step, when the number of error bits is equal to or less than the first threshold, the number of error bits counted by the counting means and the second threshold smaller than the first threshold. If the number of error bits is larger than the second threshold, an error check is performed on all pages in the block related to the error check based on the erase count and the read count in the block related to the error check. It is characterized by.

本発明に係るフラッシュメモリの劣化検査用プログラムは、データが記憶されているフラッシュメモリに対しページを指定して、記憶されているデータを読み出しエラーチェックを行ってフラッシュメモリの劣化検査を行う装置に用いられるコンピュータを、時刻情報を取り出し可能である時計を参照して時刻情報を取り出し、得られた時刻情報に基づき演算加工によりエラーチェックを行うページを決定する決定手段、決定手段により決定されたページを指定して、記憶されているデータを読み出しエラーチェックを行う処理手段、として機能させることを特徴とする。   A program for inspecting deterioration of a flash memory according to the present invention is a device that designates a page for a flash memory in which data is stored, reads the stored data, performs error checking, and inspects the deterioration of the flash memory. The computer used is determined by referring to a clock from which time information can be extracted, time information is extracted, and a page determined by the determining means is determined based on the obtained time information, and a page on which error checking is performed by arithmetic processing. Is designated, and the stored data is read and error checking is performed, and the processing unit functions.

本発明に係るフラッシュメモリの劣化検査用プログラムでは、処理手段は、決定手段により決定されたページをオフセット値として、各ブロックにおける前記オフセット値のページを順次指定して記憶されているデータを読み出しエラーチェックを行うことを特徴とする。   In the program for inspecting deterioration of a flash memory according to the present invention, the processing means uses the page determined by the determining means as an offset value and reads out the stored data by sequentially specifying the page of the offset value in each block. It is characterized by performing a check.

本発明に係るフラッシュメモリの劣化検査用プログラムは、コンピュータを更に、処理手段によるエラーチェックの際にエラービット数を求める計数手段として機能させ、処理手段は、計数手段により計数されたエラービット数と第1の閾値を比較し、エラービット数が第1の閾値より大きい場合には、当該エラーチェックに係るブロックに対するリフレッシュを行うことを特徴とする。   The program for inspecting deterioration of a flash memory according to the present invention further causes the computer to function as counting means for obtaining the number of error bits when performing error checking by the processing means, and the processing means includes the number of error bits counted by the counting means. The first threshold value is compared, and if the number of error bits is larger than the first threshold value, the block related to the error check is refreshed.

本発明に係るフラッシュメモリの劣化検査用プログラムでは、処理手段は、エラービット数が第1の閾値以下の場合には、計数手段により計数されたエラービット数と第1の閾値より小さい第2の閾値を比較し、エラービット数が第2の閾値より大きい場合には、当該エラーチェックに係るブロックにおける消去回数と読み出し回数とに基づき、当該エラーチェックに係るブロック内の全ページに対するエラーチェックを行うことを特徴とする。   In the program for inspecting deterioration of a flash memory according to the present invention, when the number of error bits is equal to or less than the first threshold value, the processing means has a second error bit number counted by the counting means and a second value smaller than the first threshold value. When the threshold value is compared and the number of error bits is larger than the second threshold value, an error check is performed on all pages in the block related to the error check based on the erase count and the read count in the block related to the error check. It is characterized by that.

本発明では、計時手段から時刻情報を取り出し、得られた時刻情報に基づき演算加工によりエラーチェックを行うページを決定し、決定されたページを指定して、記憶されているデータを読み出しエラーチェックを行うので、ランダムなページが指定される確率が上がり、フラッシュメモリ全体を無駄なく効率よくパトロールすることができ、データの信頼性を向上させることが可能となる。   In the present invention, the time information is taken out from the time measuring means, the page to be checked for error is determined by arithmetic processing based on the obtained time information, the determined page is designated, the stored data is read, and the error check is performed. As a result, the probability that a random page is designated increases, and the entire flash memory can be patroled efficiently and efficiently, and the reliability of data can be improved.

本発明では、決定されたページをオフセット値として、各ブロックにおける前記オフセット値のページを順次指定して記憶されているデータを読み出しエラーチェックを行うので、最初に指定したページが存在するブロックの次には隣接するブロックの同ページのデータを読み出すようにパトロールを進めることができ、フラッシュメモリ全体を無駄なく効率よくパトロールすることが可能となる。   In the present invention, since the determined page is used as an offset value and the stored data is read by sequentially designating the page of the offset value in each block, the error check is performed. The patrol can proceed so as to read the data of the same page in the adjacent block, and the entire flash memory can be patroled efficiently without waste.

本発明では、エラーチェックの際にエラービット数を求め、計数されたエラービット数と第1の閾値を比較し、エラービット数が第1の閾値との大小に基づきリフレッシュ処理を行うので、ブロック内の全ページのデータをチェックすることなく、必要な場合にエラー修復が行われることになり、データの信頼性を向上させることが可能となる。   In the present invention, the number of error bits is obtained at the time of error checking, the counted number of error bits is compared with the first threshold value, and refresh processing is performed based on the magnitude of the error bit number with respect to the first threshold value. Error checking is performed when necessary without checking the data of all the pages, and the reliability of the data can be improved.

本発明では、計数されたエラービット数と第1の閾値より小さい第2の閾値を比較し、エラービット数が第2の閾値より大きい場合には、当該エラーチェックに係るブロックにおける消去回数と読み出し回数とに基づき、当該エラーチェックに係るブロック内の全ページに対するエラーチェックを行うので、ブロック内の全ページについてリフレッシュを行うほどまではエラーが生じていないが、全ページを検査する必要があることが想定できるときにきめ細かく、全ページのエラーチェックを行ってデータの信頼性向上を図ることができる。   In the present invention, the counted number of error bits is compared with a second threshold value that is smaller than the first threshold value, and when the error bit number is larger than the second threshold value, the erase count and reading in the block related to the error check are read. The error check is performed on all pages in the block related to the error check based on the number of times, so that no error has occurred until all the pages in the block are refreshed, but all pages need to be inspected. It is possible to improve the reliability of data by performing error checking on all pages in a detailed manner.

本発明の実施形態に係るフラッシュメモリの劣化検査装置を採用するコンピュータシステムの要部ブロック図。1 is a block diagram of a main part of a computer system employing a flash memory deterioration inspection apparatus according to an embodiment of the present invention. 本発明の実施形態に係るフラッシュメモリの劣化検査装置によるエラーチェック時のページ読み出しの手順を示す図。The figure which shows the procedure of the page reading at the time of the error check by the degradation inspection apparatus of the flash memory which concerns on embodiment of this invention. 本発明の実施形態に係るフラッシュメモリの劣化検査装置によるパトロール時のページ読み出しの動作を示すフローチャート。6 is a flowchart showing a page read operation during patrol by the flash memory deterioration inspection apparatus according to the embodiment of the present invention. 本発明の実施形態に係るフラッシュメモリの劣化検査装置によるパトロール時のページ読み出しの動作を示すフローチャート。6 is a flowchart showing a page read operation during patrol by the flash memory deterioration inspection apparatus according to the embodiment of the present invention. フラッシュメモリの読み出しと消去による劣化特性のグラフを示す図。The figure which shows the graph of the deterioration characteristic by reading and erase | elimination of flash memory.

以下添付図面を参照して本発明に係るフラッシュメモリの劣化検査装置、劣化検査方法及劣化検査用プログラムの実施形態を説明する。図1は、実施例に係るフラッシュメモリの劣化検査装置を採用するコンピュータシステムの一部である。このシステムは、ソフトウェア1とハードウェア2とにより構成されている。ソフトウェア1はプログラムが記憶される主メモリ或いは外部記憶装置に格納されており、主メモリに呼び出されてプロセッサにより実行される。   Embodiments of a flash memory deterioration inspection apparatus, a deterioration inspection method, and a deterioration inspection program according to the present invention will be described below with reference to the accompanying drawings. FIG. 1 is a part of a computer system that employs a flash memory deterioration inspection apparatus according to an embodiment. This system is composed of software 1 and hardware 2. The software 1 is stored in a main memory or an external storage device in which a program is stored, and is called by the main memory and executed by the processor.

ソフトウェア1には、ドライバを呼び出してフラッシュメモリへの書込み或いは読み出しを要求するデータアクセスソフトウェア(アプリケーションプログラム)11と、フラッシュメモリ用ドライバソフトウェア(以下、ドライバ)12とが含まれている。ドライバ12は、フラッシュメモリを制御するソフトウェアであり、アプリケーションプログラムからの要求に応じてデータの書込み或いは読み出しを行う他に、本発明に係るフラッシュメモリの劣化検査用プログラムの実施形態を構成し、データの信頼性を向上させる機能を有している。   The software 1 includes data access software (application program) 11 that calls a driver to request writing or reading to a flash memory, and flash memory driver software (hereinafter referred to as a driver) 12. The driver 12 is software for controlling the flash memory. In addition to writing or reading data in response to a request from the application program, the driver 12 constitutes an embodiment of a program for inspecting deterioration of the flash memory according to the present invention. It has a function to improve the reliability.

ハードウェア2は、ドライバ12を動作させると共に各部を統括制御するプロセッサ21を備えている。プロセッサ21には、時刻情報を取り出し可能である計時手段であるHW(ハードウェア)タイマ22、ドライバ12が動作する際に用いられる揮発性メモリ23、フラッシュメモリ25にアクセスするためのフラッシュメモリコントローラ24が接続されている。更に、フラッシュメモリコントローラ24には、制御対象であるフラッシュメモリ25が接続されている。   The hardware 2 includes a processor 21 that operates the driver 12 and performs overall control of each unit. The processor 21 includes an HW (hardware) timer 22 which is a time measuring means capable of extracting time information, a volatile memory 23 used when the driver 12 operates, and a flash memory controller 24 for accessing the flash memory 25. Is connected. Further, a flash memory 25 that is a control target is connected to the flash memory controller 24.

ドライバ12は、決定手段31、処理手段32、計数手段33を備える。決定手段31は、計時手段であるタイマから時刻情報を取り出し、得られた時刻情報に基づき演算加工によりエラーチェックを行うページを決定する。処理手段32は、決定手段31により決定されたページを指定して、記憶されているデータを読み出しエラーチェックを行う。ここに好適には、処理手段32は、決定手段31により決定されたページをオフセット値として、各ブロックにおける前記オフセット値のページを順次指定して記憶されているデータを読み出しエラーチェックを行う。   The driver 12 includes a determination unit 31, a processing unit 32, and a counting unit 33. The determining unit 31 extracts time information from a timer that is a time measuring unit, and determines a page on which an error check is performed by arithmetic processing based on the obtained time information. The processing means 32 designates the page determined by the determination means 31, reads the stored data, and performs an error check. Preferably, the processing unit 32 reads the stored data by sequentially designating the page of the offset value in each block using the page determined by the determining unit 31 as an offset value, and performs an error check.

計数手段33は適宜備える構成とすることができる。計数手段33は、処理手段32によるエラーチェックの際にエラービット数を求める。この場合、処理手段32は、計数手段33により計数されたエラービット数と第1の閾値Aを比較し、エラービット数が第1の閾値Aより大きい場合には、当該エラーチェックに係るブロックに対するリフレッシュを行う。ここに、エラーチェックは、ECC(Error Check & Correction)を採用することができる。   The counting means 33 can be configured appropriately. The counting unit 33 obtains the number of error bits when the processing unit 32 performs an error check. In this case, the processing means 32 compares the number of error bits counted by the counting means 33 with the first threshold A, and when the number of error bits is larger than the first threshold A, the block for the error check is processed. Perform a refresh. Here, ECC (Error Check & Correction) can be adopted for the error check.

更に好適には、処理手段32は、エラービット数が第1の閾値A以下の場合には、計数手段33により計数されたエラービット数と第1の閾値より小さい第2の閾値Bを比較し、エラービット数が第2の閾値Bより大きい場合には、当該エラーチェックに係るブロックにおける消去回数と読み出し回数とに基づき、当該エラーチェックに係るブロック内の全ページに対するエラーチェックを行う。各ブロックにおける消去回数と読み出し回数(ブロック内の全ページを読み出して、1回とする)は、ドライバ12が求めて、揮発性メモリ23に記憶しておくことができる。   More preferably, when the number of error bits is equal to or less than the first threshold A, the processing unit 32 compares the number of error bits counted by the counting unit 33 with a second threshold B that is smaller than the first threshold. If the number of error bits is larger than the second threshold value B, an error check is performed on all pages in the block related to the error check based on the erase count and read count in the block related to the error check. The number of times of erasure and the number of times of reading in each block (reading all the pages in the block to be once) can be obtained by the driver 12 and stored in the volatile memory 23.

フラッシュメモリ25については、例えば、図2に示すように、1〜nまでの複数ページを備えるブロックが複数ブロック集合して構成されたものである。ここでは、3ブロックが示されているが、フラッシュメモリ25の全体の容量が数Gバイトであり、各ブロックには、数十〜数百のページが含まれて構成される。以上の通りに構成されたコンピュータシステムにおいては、ドライバ12が図3、図4に示される通りのフローチャートに対応するプログラムを実行することにより、各手段として動作するので、このフローチャートに基づき動作を説明する。   For example, as shown in FIG. 2, the flash memory 25 is configured by a set of a plurality of blocks each including a plurality of pages 1 to n. Here, although three blocks are shown, the entire capacity of the flash memory 25 is several Gbytes, and each block includes tens to hundreds of pages. In the computer system configured as described above, the driver 12 operates as each unit by executing a program corresponding to the flowcharts shown in FIGS. 3 and 4, and the operation will be described based on this flowchart. To do.

所要時にフラッシュメモリの劣化検査用プログラム(劣化検査システム)が起動されると、図3のフローチャートがスタートとなり、HWタイマ22より時刻情報を取得する(S11)。次に、取得した時刻情報に基づきエラーチェックページのアドレス(物理アドレス)を演算加工して求める(S12)。演算加工としては、HWタイマ22が保持している時刻情報(ビット列)をXとして、フラッシュメモリの総ページ数より十分大きな値となるように、上記の情報Xの値を冪乗の値(m回の冪乗では、Xm)を生成し、この冪乗の値を上記総ページ数で除算して剰余を求め、この剰余をエラーチェックページの物理アドレスとする手法を挙げることができる。 When the flash memory deterioration inspection program (deterioration inspection system) is started when necessary, the flowchart of FIG. 3 starts, and time information is acquired from the HW timer 22 (S11). Next, the address (physical address) of the error check page is calculated and processed based on the acquired time information (S12). As the arithmetic processing, the time information (bit string) held by the HW timer 22 is set to X, and the value of the information X is set to a power value (m) so that the value is sufficiently larger than the total number of pages in the flash memory. In the power of times, X m ) is generated, and the power is divided by the total number of pages to obtain a remainder, and this remainder is used as the physical address of the error check page.

また、演算加工の他の手法としては、システム起動後の、ある一定回数のフラッシュメモリに対する各アクセス時の"HWタイマ22が保持している値"を全て乗算し、使用しているフラッシュメモリの総ページ数に対して十分大きな値を生成後、その値と総物理ページ数の除算の剰余を求めることで行うことも可能である。
更に第3の手法として、フラッシュメモリ制御ソフトウェアがフラッシュメモリに不定期に保存する管理情報に、保存時点でのハードウェアタイマ値を含め、常時、管理情報にひとつ、もしくは複数の タイマ値を保持する。
そして、システム起動時に、"ハードウェアタイマが保持している値"と"管理情報に保持しているタイマ値"を乗算し、使用しているフラッシュメモリの総ページ数に対して十分大きな値を生成後、その値と総物理ページ数の除算の剰余を求めることで行うことも可能である。
As another method of arithmetic processing, all the “values held by the HW timer 22” at each access to the flash memory a certain number of times after the system is started are multiplied to determine the flash memory used. It is also possible to generate a sufficiently large value with respect to the total number of pages and then obtain the remainder of the division of the value and the total number of physical pages.
Furthermore, as a third method, the management information that the flash memory control software stores in the flash memory irregularly includes the hardware timer value at the time of saving, and always holds one or more timer values in the management information. .
At system startup, multiply the "value held by the hardware timer" by the "timer value held in the management information" to give a value that is large enough for the total number of pages in the flash memory being used. It is also possible to obtain the remainder of the division of the value and the total number of physical pages after generation.

更に第4の手法として、システム起動時に、"ハードウェアタイマが保持している値"と"フラッシュメモリ制御ソフトウェアが保持している各ブロックのイレーズカウント(消去回数)を全て加算した値"を乗算し、使用しているフラッシュメモリの総ページ数に対して十分大きな値を生成後、その値と総物理ページ数の除算の剰余を求めることで行うことも可能である。
第5の手法として、システム起動時に、"ハードウェアタイマが保持している値"と"ハードウェア リアルタイムクロックが保持している値"を乗算し、使用しているフラッシュメモリの総ページ数に対して十分大きな値を生成後、その値と総物理ページ数の除算の剰余を求めることで行うことも可能である。
Furthermore, as a fourth method, at the time of system startup, "the value held by the hardware timer" and "the value obtained by adding all the erase counts (erase counts) of each block held by the flash memory control software" are multiplied. However, after generating a sufficiently large value with respect to the total number of pages of the flash memory being used, it is also possible to obtain the remainder of the division of the value and the total number of physical pages.
As a fifth method, at the time of system startup, "the value held by the hardware timer" and "the value held by the hardware real-time clock" are multiplied, and the total number of pages in the flash memory being used is calculated. Alternatively, after generating a sufficiently large value, the remainder of the division between the value and the total number of physical pages can be obtained.

上記ステップS12に続き、最初のブロックにおいてデータを読み出すべき物理アドレスと、オフセット値を求める(S13)。例えば、上記ステップS12において求められた値が「n+2」であれば、最初のブロックは第2番目の物理ブロックとなる。第2番目の物理ブロックにおいて物理アドレス「2(=(n+2)−n)」と、オフセット値として「2」が求められる。そこで、読み出し対象の最初のブロックである第2番目の物理ブロックにおける物理アドレス「2」からデータを読み出す(S14)。   Subsequent to step S12, the physical address from which data is to be read and the offset value are obtained in the first block (S13). For example, if the value obtained in step S12 is “n + 2”, the first block is the second physical block. In the second physical block, a physical address “2 (= (n + 2) −n)” and an offset value “2” are obtained. Therefore, data is read from the physical address “2” in the second physical block, which is the first block to be read (S14).

ステップS14に続き、読み出したデータを用いてエラーチェック処理を行うなどのデータ信頼性向上の処理(図4に詳細を示す処理)を行う(S15)。このように、劣化検査システムの起動の度に、HWタイマ22から取得した時刻情報に基づきエラーチェックページのアドレスを求めるので、システムの起動毎にランダムなページからのデータ読み出しが行われるようになり、ブロック全体の劣化状態を検査して把握することが可能である。ステップS15が終了すると、「i」を「i+1」にインクリメントする(S16)。   Subsequent to step S14, data reliability improvement processing (processing shown in detail in FIG. 4) such as error check processing is performed using the read data (S15). As described above, since the address of the error check page is obtained based on the time information acquired from the HW timer 22 every time the deterioration inspection system is activated, data is read from a random page every time the system is activated. It is possible to inspect and understand the deterioration state of the entire block. When step S15 ends, “i” is incremented to “i + 1” (S16).

ステップS16に続き、インクリメントされた「i」を参照して全ブロック数を超過したのかを検出し(S17)、超過していなければiブロックにおいてオフセット値の物理アドレスからデータを読み出し(S18)、ステップS15へ戻る。一方、ステップS17において、超過していることが検出されると、オフセット値を1インクリメントし(S19)ステップS14へ戻って処理を続ける。   Following step S16, it is detected whether the total number of blocks has been exceeded with reference to the incremented “i” (S17), and if not, data is read from the physical address of the offset value in the i block (S18), Return to step S15. On the other hand, if it is detected in step S17 that it has been exceeded, the offset value is incremented by 1 (S19), and the process returns to step S14 to continue the processing.

図2では、ステップS12の演算結果が「n+2」であったため、第2ブロックのアドレス「2」を第1回目の読み出しとし、次に第3ブロックのアドレス「2」を第2回目の読み出しとする。ここで、「i」を「i+1」にインクリメントすると、「i」が全ブロック数を超えるので、オフセット値を1インクリメントしたアドレス「3」を用いる。このため、先頭ブロックである第1ブロックのアドレス「3」を第3回目の読み出しとしている。先頭ブロックの次には最初に読み出したブロックである第2ブロックへ戻ると共に、アドレス「3」を第4回目の読み出しとし、次に第3ブロックのアドレス「3」を第5回目の読み出しする。ここで、「i」を「i+1」にインクリメントすると、「i」が全ブロック数を超えるので、オフセット値を1インクリメントしたアドレス「4」を用いる。声により、先頭ブロックである第1ブロックのアドレス「4」を第6回目の読み出しとしている。以下同様に各ブロックについて1ページずつデータの読み出しを行うと、次に移動するようにして処理を続ける。   In FIG. 2, since the calculation result of step S12 is “n + 2”, the address “2” of the second block is set as the first read, and then the address “2” of the third block is set as the second read. To do. Here, when “i” is incremented to “i + 1”, “i” exceeds the total number of blocks, so the address “3” obtained by incrementing the offset value by 1 is used. For this reason, the address “3” of the first block, which is the first block, is the third read. Next to the first block, the process returns to the second block which is the first read block, and the address “3” is read for the fourth time, and then the address “3” of the third block is read for the fifth time. Here, when “i” is incremented to “i + 1”, since “i” exceeds the total number of blocks, the address “4” obtained by incrementing the offset value by 1 is used. According to the voice, the address “4” of the first block, which is the first block, is read out for the sixth time. Similarly, when data is read out one page at a time for each block, the process continues to move to the next.

このように劣化検査システムの起動の度に、HWタイマ22から取得した時刻情報に基づき順次にリードするブロックのエラーチェックページのアドレスをオフセットとして求めるので、同じブロックについてのエラーチェック処理が何時までも続くことなく、全てブロックについてランダムなページからのデータ読み出しが行われ易くなり、フラッシュメモリ全体の劣化状態を検査して把握することが可能である。   Thus, each time the deterioration inspection system is activated, the address of the error check page of the block to be read sequentially is obtained as an offset based on the time information acquired from the HW timer 22, so that the error check process for the same block is always performed. Without continuing, it becomes easy to read data from random pages for all blocks, and it is possible to inspect and grasp the deterioration state of the entire flash memory.

次に、エラーチェック処理を行うなどのデータ信頼性向上の処理(ステップS15)を図4に示すフローチャートを用いて詳細に説明する。ステップS15においてエラーチェックを行った結果のエラービット数ESを求める(S21)。次に、予め設定してある第1の閾値Aと上記エラービット数ESを比較し(S22)、A<ESを検出する(S23)。このステップS23においてYESとなると、このエラーチェックを行ったページが属しているブロックの全ページをリフレッシュ対象としてリフレッシュを行い(S24)、ステップS16へ進むことになる。これにより、1ページのエラービット数ESが大きく、同じブロック内の他のページについてもエラーが生じていると予測できるときにエラーチェック無しに全体をリフレッシュしてデータの信頼性向上を図ることができる。   Next, data reliability improvement processing (step S15) such as error check processing will be described in detail with reference to the flowchart shown in FIG. In step S15, the error bit number ES as a result of the error check is obtained (S21). Next, the first threshold value A set in advance is compared with the number of error bits ES (S22), and A <ES is detected (S23). If “YES” is determined in this step S23, all the pages of the block to which the page subjected to the error check belongs are refreshed (S24), and the process proceeds to a step S16. As a result, when the number of error bits ES per page is large and it can be predicted that an error has occurred in other pages in the same block, the entire data can be refreshed without error check to improve data reliability. it can.

一方、ステップS23においてNOへ分岐した場合には、予め設定してある第2の閾値B(B<A)と上記エラービット数ESを比較し(S25)、B<ESを検出する(S26)。このステップS26においてYESとなると、ドライバ12が予め例えば揮発性メモリ23に蓄積しておいた当該ページが属しているブロックに関する消去回数と読み出し回数とを取得し、この回数について図5のグラフ上にプロットした場合に、図5に示される劣化閾値線THより上にあるかを検出し(S27)、上か否かの判定を行う(S28)。この結果、YESへ分岐すると当該ブロック内の全ページをエラーチェック対象としてエラーチェックする(S29)。このステップS29における各ページの処理は、図4のフローチャートにおけるステップS21〜S29を行うことができる。   On the other hand, when branching to NO in step S23, the preset second threshold B (B <A) is compared with the number of error bits ES (S25), and B <ES is detected (S26). . If YES in step S26, the driver 12 obtains the number of erases and the number of reads related to the block to which the page belongs, which is stored in advance in the volatile memory 23, for example, and this number is shown on the graph of FIG. When plotted, it is detected whether it is above the deterioration threshold line TH shown in FIG. 5 (S27), and it is determined whether it is above (S28). As a result, if the process branches to YES, all the pages in the block are subjected to error checking (S29). The processing of each page in step S29 can perform steps S21 to S29 in the flowchart of FIG.

これにより、ブロック内の全ページのリフレッシュを行うほどまではエラーが生じていないが、全ページを検査する必要があることが想定できるときにきめ細かく、全ページのエラーチェックを行ってデータの信頼性向上を図ることができる。なお、ステップS27では、図5に示される劣化閾値線TH上において、当該ページが属しているブロックに関する消去回数に対応する読み出し回数Rを求め、当該ページが属しているブロックに関する読み出し回数が上記読み出し回数Rより大であるかを検出するようにしても良い。   This ensures that all pages in the block are not refreshed enough to be refreshed, but when it can be assumed that all pages need to be inspected, all pages are checked for errors to ensure data reliability. Improvements can be made. In step S27, on the deterioration threshold line TH shown in FIG. 5, a read count R corresponding to the erase count for the block to which the page belongs is obtained, and the read count for the block to which the page belongs is calculated as the read count. You may make it detect whether it is larger than the frequency | count R. FIG.

1 ソフトウェア
2 ハードウェア
11 データアクセスソフトウェア
12 ドライバ
21 プロセッサ
22 HWタイマ
23 揮発性メモリ
24 フラッシュメモリコントローラ
25 フラッシュメモリ
31 決定手段
32 処理手段
33 計数手段
DESCRIPTION OF SYMBOLS 1 Software 2 Hardware 11 Data access software 12 Driver 21 Processor 22 HW timer 23 Volatile memory 24 Flash memory controller 25 Flash memory 31 Determination means 32 Processing means 33 Counting means

本発明に係るフラッシュメモリの劣化検査装置は、時刻情報を取り出し可能である計時手段と、計時手段から時刻情報を取り出し、得られた時刻情報に基づき演算加工によりエラーチェックを行うページを決定する決定手段と、決定手段により決定されたページを指定して、記憶されているデータを読み出しエラーチェックを行う処理手段と、前記処理手段によるエラーチェックの際にエラービット数を求める計数手段とを具備し、
処理手段は、計数手段により計数されたエラービット数と第1の閾値を比較し、エラービット数が第1の閾値より大きい場合には、当該エラーチェックに係るブロックに対するリフレッシュを行い、更に、処理手段は、エラービット数が第1の閾値以下の場合には、計数手段により計数されたエラービット数と第1の閾値より小さい第2の閾値を比較し、エラービット数が第2の閾値より大きい場合には、当該エラーチェックに係るブロックにおける消去回数と読み出し回数とに基づき、当該エラーチェックに係るブロック内の全ページに対するエラーチェックを行うことを特徴とする。
The flash memory deterioration inspection apparatus according to the present invention is a time counting unit capable of extracting time information, and a determination of determining a page on which error checking is performed by arithmetic processing based on the time information extracted from the time measuring unit. Means, a processing unit for designating a page determined by the determination unit, reading stored data and performing an error check, and a counting unit for obtaining the number of error bits at the time of the error check by the processing unit. ,
The processing means compares the number of error bits counted by the counting means with the first threshold value, and if the number of error bits is larger than the first threshold value, refreshes the block related to the error check, and further performs processing When the number of error bits is equal to or less than the first threshold, the means compares the number of error bits counted by the counting means with a second threshold smaller than the first threshold, and the number of error bits is less than the second threshold. If larger, the error check is performed on all pages in the block related to the error check based on the erase count and the read count in the block related to the error check .

本発明に係るフラッシュメモリの劣化検査方法は、時刻情報を取り出し可能である計時手段を参照し、該計時手段から時刻情報を取り出す時刻取出ステップと、得られた時刻情報に基づき演算加工によりエラーチェックを行うページを決定する決定ステップと、決定ステップにより決定されたページを指定して、記憶されているデータを読み出しエラーチェックを行う処理ステップと、前記処理ステップによるエラーチェックの際にエラービット数を求める計数ステップとを具備し、処理ステップでは、計数ステップにより計数されたエラービット数と第1の閾値を比較し、エラービット数が第1の閾値より大きい場合には、当該エラーチェックに係るブロックに対するリフレッシュを行い、更に、処理ステップでは、エラービット数が第1の閾値以下の場合には、計数ステップにより計数されたエラービット数と第1の閾値より小さい第2の閾値を比較し、エラービット数が第2の閾値より大きい場合には、当該エラーチェックに係るブロックにおける消去回数と読み出し回数とに基づき、当該エラーチェックに係るブロック内の全ページに対するエラーチェックを行うことを特徴とする。 The flash memory deterioration inspection method according to the present invention refers to a time measuring means capable of extracting time information, a time extracting step for extracting time information from the time measuring means, and an error check by arithmetic processing based on the obtained time information. A determination step for determining a page to be performed, a processing step for designating a page determined by the determination step, reading stored data and performing an error check, and an error bit number at the time of the error check by the processing step And a processing step compares the number of error bits counted in the counting step with a first threshold value, and if the number of error bits is greater than the first threshold value, the block relating to the error check In addition, in the processing step, the number of error bits is the first. When the number of error bits is less than the threshold, the number of error bits counted in the counting step is compared with a second threshold value that is smaller than the first threshold value. An error check is performed on all pages in the block related to the error check based on the erase count and the read count in the block .

本発明に係るフラッシュメモリの劣化検査用プログラムは、データが記憶されているフラッシュメモリに対しページを指定して、記憶されているデータを読み出しエラーチェックを行ってフラッシュメモリの劣化検査を行う装置に用いられるコンピュータを、時刻情報を取り出し可能である時計を参照して時刻情報を取り出し、得られた時刻情報に基づき演算加工によりエラーチェックを行うページを決定する決定手段、決定手段により決定されたページを指定して、記憶されているデータを読み出しエラーチェックを行う処理手段、前記処理手段によるエラーチェックの際にエラービット数を求める計数手段として機能させ、処理手段は、計数手段により計数されたエラービット数と第1の閾値を比較し、エラービット数が第1の閾値より大きい場合には、当該エラーチェックに係るブロックに対するリフレッシュを行い、更に、処理手段は、エラービット数が第1の閾値以下の場合には、計数手段により計数されたエラービット数と第1の閾値より小さい第2の閾値を比較し、エラービット数が第2の閾値より大きい場合には、当該エラーチェックに係るブロックにおける消去回数と読み出し回数とに基づき、当該エラーチェックに係るブロック内の全ページに対するエラーチェックを行うことを特徴とする。 A program for inspecting deterioration of a flash memory according to the present invention is a device that designates a page for a flash memory in which data is stored, reads the stored data, performs an error check, and inspects the deterioration of the flash memory. The computer used is determined by referring to a clock from which time information can be extracted, time information is extracted, and a page determined by the determining means is determined based on the obtained time information, and a page on which error checking is performed by arithmetic processing. And processing means for reading out stored data and performing error checking, and functioning as counting means for obtaining the number of error bits at the time of error checking by the processing means . The processing means counts the error counted by the counting means. Compare the number of bits with the first threshold, and the number of error bits is less than the first threshold If the error bit number is less than the first threshold value, the processing unit refreshes the block related to the error check. Further, when the error bit number is equal to or less than the first threshold value, the processing unit counts the error bit number counted by the counting unit and the first threshold value. When a smaller second threshold value is compared and the number of error bits is larger than the second threshold value, all pages in the block related to the error check are based on the erase count and read count in the block related to the error check. It is characterized by performing an error check on .

Claims (12)

時刻情報を取り出し可能である計時手段と、
計時手段から時刻情報を取り出し、得られた時刻情報に基づき演算加工によりエラーチェックを行うページを決定する決定手段と、
決定手段により決定されたページを指定して、記憶されているデータを読み出しエラーチェックを行う処理手段と、
を具備することを特徴とするフラッシュメモリの劣化検査装置。
A time measuring means capable of extracting time information;
Time determining means for taking out time information from the time measuring means, and determining means for determining a page for performing error check by arithmetic processing based on the obtained time information;
A processing unit for designating a page determined by the determination unit, reading stored data, and performing an error check;
A deterioration inspection apparatus for a flash memory, comprising:
処理手段は、決定手段により決定されたページをオフセット値として、各ブロックにおける前記オフセット値のページを順次指定して記憶されているデータを読み出しエラーチェックを行うことを特徴とする請求項1に記載のフラッシュメモリの劣化検査装置。   The processing means performs an error check by reading out stored data by sequentially specifying pages of the offset value in each block using the page determined by the determining means as an offset value. Flash memory deterioration inspection device. 処理手段によるエラーチェックの際にエラービット数を求める計数手段を備え、
処理手段は、計数手段により計数されたエラービット数と第1の閾値を比較し、エラービット数が第1の閾値より大きい場合には、当該エラーチェックに係るブロックに対するリフレッシュを行うことを特徴とする請求項1又は2に記載のフラッシュメモリの劣化検査装置。
A counting means for obtaining the number of error bits at the time of an error check by the processing means,
The processing means compares the number of error bits counted by the counting means with a first threshold value, and when the number of error bits is larger than the first threshold value, refreshes the block related to the error check. The deterioration inspection device for a flash memory according to claim 1 or 2.
処理手段は、エラービット数が第1の閾値以下の場合には、計数手段により計数されたエラービット数と第1の閾値より小さい第2の閾値を比較し、エラービット数が第2の閾値より大きい場合には、当該エラーチェックに係るブロックにおける消去回数と読み出し回数とに基づき、当該エラーチェックに係るブロック内の全ページに対するエラーチェックを行うことを特徴とする請求項3に記載のフラッシュメモリの劣化検査装置。   When the number of error bits is equal to or less than the first threshold value, the processing means compares the error bit number counted by the counting means with a second threshold value smaller than the first threshold value, and the error bit number is the second threshold value. 4. The flash memory according to claim 3, wherein if it is larger, an error check is performed on all pages in the block related to the error check based on the erase count and the read count in the block related to the error check. Deterioration inspection equipment. 時刻情報を取り出し可能である計時手段を参照し、該計時手段から時刻情報を取り出す時刻取出ステップと、
得られた時刻情報に基づき演算加工によりエラーチェックを行うページを決定する決定ステップと、
決定ステップにより決定されたページを指定して、記憶されているデータを読み出しエラーチェックを行う処理ステップと、
を具備することを特徴とするフラッシュメモリの劣化検査方法。
A time extraction step of referring to a time measuring means capable of extracting time information and extracting time information from the time measuring means;
A determination step for determining a page on which error checking is performed by arithmetic processing based on the obtained time information;
A processing step of designating a page determined by the determination step, reading stored data and performing an error check;
A method for inspecting deterioration of a flash memory, comprising:
処理ステップでは、決定ステップにより決定されたページをオフセット値として、各ブロックにおける前記オフセット値のページを順次指定して記憶されているデータを読み出しエラーチェックを行うことを特徴とする請求項5に記載のフラッシュメモリの劣化検査方法。   6. The processing step performs read error checking by sequentially specifying the pages of the offset value in each block and reading the stored data using the page determined in the determination step as an offset value. Flash memory deterioration inspection method. 処理ステップによるエラーチェックの際にエラービット数を求める計数ステップを備え、
処理ステップでは、計数ステップにより計数されたエラービット数と第1の閾値を比較し、エラービット数が第1の閾値より大きい場合には、当該エラーチェックに係るブロックに対するリフレッシュを行うことを特徴とする請求項5又は6に記載のフラッシュメモリの劣化検査方法。
It has a counting step for obtaining the number of error bits at the time of error checking by the processing step,
In the processing step, the number of error bits counted in the counting step is compared with a first threshold value, and if the number of error bits is larger than the first threshold value, the block related to the error check is refreshed. A method for inspecting deterioration of a flash memory according to claim 5 or 6.
処理ステップでは、エラービット数が第1の閾値以下の場合には、計数手段により計数されたエラービット数と第1の閾値より小さい第2の閾値を比較し、エラービット数が第2の閾値より大きい場合には、当該エラーチェックに係るブロックにおける消去回数と読み出し回数とに基づき、当該エラーチェックに係るブロック内の全ページに対するエラーチェックを行うことを特徴とする請求項7に記載のフラッシュメモリの劣化検査方法。   In the processing step, when the number of error bits is equal to or less than the first threshold value, the number of error bits counted by the counting means is compared with a second threshold value smaller than the first threshold value, and the error bit number is the second threshold value. 8. The flash memory according to claim 7, wherein if it is larger, an error check is performed on all pages in the block related to the error check based on the erase count and the read count in the block related to the error check. Degradation inspection method. データが記憶されているフラッシュメモリに対しページを指定して、記憶されているデータを読み出しエラーチェックを行ってフラッシュメモリの劣化検査を行う装置に用いられるコンピュータを、
時刻情報を取り出し可能である時計を参照して時刻情報を取り出し、得られた時刻情報に基づき演算加工によりエラーチェックを行うページを決定する決定手段、
決定手段により決定されたページを指定して、記憶されているデータを読み出しエラーチェックを行う処理手段、
として機能させることを特徴とするフラッシュメモリの劣化検査用プログラム。
A computer used in an apparatus for inspecting deterioration of a flash memory by designating a page for the flash memory in which data is stored, reading the stored data, performing an error check,
A determination unit that extracts time information with reference to a clock from which time information can be extracted, and determines a page on which error checking is performed by arithmetic processing based on the obtained time information;
A processing unit for designating a page determined by the determining unit and reading stored data and performing an error check;
A program for inspecting deterioration of a flash memory characterized by functioning as
処理手段は、決定手段により決定されたページをオフセット値として、各ブロックにおける前記オフセット値のページを順次指定して記憶されているデータを読み出しエラーチェックを行うことを特徴とする請求項9に記載のフラッシュメモリの劣化検査用プログラム。   10. The processing unit performs an error check by reading out stored data by sequentially specifying pages of the offset value in each block using the page determined by the determining unit as an offset value. Flash memory deterioration inspection program. コンピュータを更に、処理手段によるエラーチェックの際にエラービット数を求める計数手段として機能させ、
処理手段は、計数手段により計数されたエラービット数と第1の閾値を比較し、エラービット数が第1の閾値より大きい場合には、当該エラーチェックに係るブロックに対するリフレッシュを行うことを特徴とする請求項9又は10に記載のフラッシュメモリの劣化検査用プログラム。
The computer is further caused to function as a counting means for obtaining the number of error bits at the time of error checking by the processing means,
The processing means compares the number of error bits counted by the counting means with a first threshold value, and when the number of error bits is larger than the first threshold value, refreshes the block related to the error check. The program for inspecting deterioration of a flash memory according to claim 9 or 10.
処理手段は、エラービット数が第1の閾値以下の場合には、計数手段により計数されたエラービット数と第1の閾値より小さい第2の閾値を比較し、エラービット数が第2の閾値より大きい場合には、当該エラーチェックに係るブロックにおける消去回数と読み出し回数とに基づき、当該エラーチェックに係るブロック内の全ページに対するエラーチェックを行うことを特徴とする請求項11に記載のフラッシュメモリの劣化検査用プログラム。   When the number of error bits is equal to or less than the first threshold value, the processing means compares the error bit number counted by the counting means with a second threshold value smaller than the first threshold value, and the error bit number is the second threshold value. 12. The flash memory according to claim 11, wherein if it is larger, an error check is performed on all pages in the block related to the error check based on the erase count and the read count in the block related to the error check. Degradation inspection program.
JP2012241496A 2012-11-01 2012-11-01 Flash memory deterioration inspection device, deterioration inspection method, and deterioration inspection program Active JP5483378B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012241496A JP5483378B1 (en) 2012-11-01 2012-11-01 Flash memory deterioration inspection device, deterioration inspection method, and deterioration inspection program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012241496A JP5483378B1 (en) 2012-11-01 2012-11-01 Flash memory deterioration inspection device, deterioration inspection method, and deterioration inspection program

Publications (2)

Publication Number Publication Date
JP5483378B1 JP5483378B1 (en) 2014-05-07
JP2014092832A true JP2014092832A (en) 2014-05-19

Family

ID=50792107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012241496A Active JP5483378B1 (en) 2012-11-01 2012-11-01 Flash memory deterioration inspection device, deterioration inspection method, and deterioration inspection program

Country Status (1)

Country Link
JP (1) JP5483378B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018194948A (en) * 2017-05-15 2018-12-06 ラピスセミコンダクタ株式会社 Semiconductor memory device, memory controller and method of monitoring memory

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7074519B2 (en) 2018-03-19 2022-05-24 キオクシア株式会社 Memory system and memory control method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324954A (en) * 1993-05-14 1994-11-25 Yaskawa Electric Corp Eeprom check method
JP2008090778A (en) * 2006-10-05 2008-04-17 Matsushita Electric Ind Co Ltd Memory controller for nonvolatile memory, nonvolatile storage device, nonvolatile storage system, and control method of nonvolatile memory
JP2009129070A (en) * 2007-11-21 2009-06-11 Hitachi Ltd Control method for flash memory storage device, flash memory storage device using the method and storage system
JP2009205578A (en) * 2008-02-29 2009-09-10 Toshiba Corp Semiconductor storage device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324954A (en) * 1993-05-14 1994-11-25 Yaskawa Electric Corp Eeprom check method
JP2008090778A (en) * 2006-10-05 2008-04-17 Matsushita Electric Ind Co Ltd Memory controller for nonvolatile memory, nonvolatile storage device, nonvolatile storage system, and control method of nonvolatile memory
JP2009129070A (en) * 2007-11-21 2009-06-11 Hitachi Ltd Control method for flash memory storage device, flash memory storage device using the method and storage system
JP2009205578A (en) * 2008-02-29 2009-09-10 Toshiba Corp Semiconductor storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018194948A (en) * 2017-05-15 2018-12-06 ラピスセミコンダクタ株式会社 Semiconductor memory device, memory controller and method of monitoring memory

Also Published As

Publication number Publication date
JP5483378B1 (en) 2014-05-07

Similar Documents

Publication Publication Date Title
US10020072B2 (en) Detect developed bad blocks in non-volatile memory devices
US11275512B2 (en) Asynchronous power loss impacted data structure
US8458417B2 (en) Garbage collection in a storage device
US9146821B2 (en) Methods and systems for monitoring write operations of non-volatile memory
JP5112566B1 (en) Semiconductor memory device, nonvolatile semiconductor memory inspection method, and program
TWI566252B (en) Method of performing wear management in non-volatile memory devices
US11675411B2 (en) Dynamic P2L asynchronous power loss mitigation
KR20130087230A (en) Nonvolatile memory device, memory system having the same and block management method, programming method and erasing method thereof
US9881682B1 (en) Fine grained data retention monitoring in solid state drives
US10545810B2 (en) Method and apparatus for monitoring non-volatile memory read errors using background media scan
KR101028901B1 (en) Memory device, device and method for memory management
JP2013117840A (en) Memory access control device and method
KR20120062075A (en) Controller for memory and storage system includint the same, method for measuring life span of memory
CN104637536A (en) Flash memory device having efficient refresh operation
TWI490869B (en) Method and associated controller for flash memory
US8804436B1 (en) Method of partial refresh during erase operation
US9430339B1 (en) Method and apparatus for using wear-out blocks in nonvolatile memory
CN105489242B (en) Data storage device and method of operating the same
US9053011B2 (en) Selective protection of lower page data during upper page write
US11315650B2 (en) Memory system, memory controller, and method of operating memory system
JP5483378B1 (en) Flash memory deterioration inspection device, deterioration inspection method, and deterioration inspection program
US8612824B2 (en) Semiconductor memory device and controlling method
JP2017054173A (en) Memory management circuit, storage device, memory management method, and memory management program
CN110908825B (en) Data reading method and device, storage equipment and storage medium
US11216208B1 (en) Memory system, memory controller, and operation method of memory system

Legal Events

Date Code Title Description
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: 20140212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140212

R150 Certificate of patent or registration of utility model

Ref document number: 5483378

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250