JP2012243141A - Information processing device, control method of information processing device, and program - Google Patents

Information processing device, control method of information processing device, and program Download PDF

Info

Publication number
JP2012243141A
JP2012243141A JP2011113719A JP2011113719A JP2012243141A JP 2012243141 A JP2012243141 A JP 2012243141A JP 2011113719 A JP2011113719 A JP 2011113719A JP 2011113719 A JP2011113719 A JP 2011113719A JP 2012243141 A JP2012243141 A JP 2012243141A
Authority
JP
Japan
Prior art keywords
block
error
information processing
blocks
detected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011113719A
Other languages
Japanese (ja)
Inventor
Fumio Nakano
文男 中野
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 Casio Mobile Communications Ltd
Original Assignee
NEC Casio Mobile Communications Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Casio Mobile Communications Ltd filed Critical NEC Casio Mobile Communications Ltd
Priority to JP2011113719A priority Critical patent/JP2012243141A/en
Publication of JP2012243141A publication Critical patent/JP2012243141A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To execute an error correction of an error occurring caused by a secular change.SOLUTION: An information processing device according to the present invention includes: a storage section comprising a plurality of blocks for storing data and allowing to rewrite data of each of the plurality of blocks; and a processing section periodically executing, for each of the plurality of blocks, an error detection of data stored in the block, when detecting an error, executing the error correction of the detected error, and rewriting for the block of the data after the error correction.

Description

本発明は、データを格納する情報処理装置、情報処理装置の制御方法、および、プログラムに関する。   The present invention relates to an information processing apparatus that stores data, a control method for the information processing apparatus, and a program.

携帯電話、スマートフォンなどの情報処理装置は、一般に、プログラムを実行するCPU(Central Processing Unit)と、CPUが実行するプログラムなどのデータ(以下、プログラムデータと称する)を格納するメモリと、を有する。   Information processing apparatuses such as mobile phones and smartphones generally include a CPU (Central Processing Unit) that executes a program and a memory that stores data such as a program executed by the CPU (hereinafter referred to as program data).

近年、上述したメモリがRAM(Random Access Memory)およびNANDフラッシュメモリで構成される情報処理装置が主流となりつつある。このような情報処理装置においては、CPUは、RAMおよびNANDフラッシュメモリと接続され、NANDフラッシュメモリに格納されているプログラムデータを読み出し、読み出したプログラムデータをRAMに転送してプログラムを実行する。   In recent years, information processing apparatuses in which the above-described memory is composed of a RAM (Random Access Memory) and a NAND flash memory are becoming mainstream. In such an information processing apparatus, the CPU is connected to the RAM and the NAND flash memory, reads the program data stored in the NAND flash memory, transfers the read program data to the RAM, and executes the program.

一般に、NANDフラッシュメモリは、メモリセルの構造上、プログラムデータの読み出しを繰り返し行うと誤りが発生することがある。このプログラムデータの読み出しを繰り返し行うことにより誤りが発生する現象は、リードディスターブ現象と呼ばれる。プログラムデータに誤りがあると、CPUがプログラムを正しく実行できなくなることがある。   In general, in NAND flash memory, an error may occur when program data is repeatedly read due to the structure of a memory cell. A phenomenon in which an error occurs due to repeated reading of program data is called a read disturb phenomenon. If there is an error in the program data, the CPU may not be able to execute the program correctly.

そこで、一般に、NANDフラッシュメモリにおいては、プログラムデータとそのプログラムデータの誤り訂正を行うためのECC(Error Check and Correction)データとが対応つけて格納される。   Therefore, generally, in a NAND flash memory, program data and ECC (Error Check and Correction) data for performing error correction of the program data are stored in association with each other.

図9は、NANDフラッシュメモリの一般的なデータ構成を示す図である。   FIG. 9 is a diagram showing a general data configuration of the NAND flash memory.

図9に示すように、NANDフラッシュメモリは、プログラムデータを格納する領域Pとそのプログラムデータの誤り訂正を行うためのECCデータを格納する領域Eとからなるページをm個まとめたブロックを複数有する。このようなデータ構成とすることで、数ビットの誤りであれば、プログラムデータと同じページに格納されているECCデータを用いて誤り訂正を行うことができる。NANDフラッシュメモリにおいては、データの書込みはページ単位で行われ、格納されているデータの消去はブロック単位で行われる。なお、ECCデータを用いて誤り訂正を行うことができるビット数には上限がある。   As shown in FIG. 9, the NAND flash memory has a plurality of blocks in which m pages each composed of an area P for storing program data and an area E for storing ECC data for performing error correction of the program data are collected. . With such a data structure, if there is an error of several bits, error correction can be performed using ECC data stored on the same page as the program data. In the NAND flash memory, data is written in units of pages and stored data is erased in units of blocks. Note that there is an upper limit on the number of bits that can be corrected using ECC data.

特許文献1(特開2008−198310号公報)には、プログラムを実行するためにプログラムデータを読み出すとともに、そのプログラムデータの誤り検出を行い、誤りがあると誤り訂正を行った誤り訂正後のプログラムデータの、そのプログラムデータが格納されているブロックに対する再書込みを行う情報処理装置が開示されている。なお、再書込みとは、ブロックに格納されているプログラムデータを一時的に別の未使用ブロックに退避し、そのブロックに格納されているデータの消去後に元のプログラムデータ(誤り訂正後のデータ)をそのブロックに書き込むことである。この情報処理装置によれば、上述したリードディスターブ現象に起因するプログラムデータの誤りの誤り訂正を行い、誤りの無いリフレッシュされたプログラムデータをブロックに格納することができる。   Japanese Patent Laid-Open No. 2008-198310 discloses a program after error correction in which program data is read to execute a program, error of the program data is detected, and error correction is performed when there is an error. An information processing apparatus that rewrites data to a block in which program data is stored is disclosed. Note that rewriting means that program data stored in a block is temporarily saved in another unused block, and the original program data (data after error correction) is deleted after the data stored in the block is erased. Is written to the block. According to this information processing apparatus, it is possible to perform error correction of an error in program data caused by the above-described read disturb phenomenon, and to store refreshed program data having no error in a block.

特開2008−198310号公報JP 2008-198310 A

NANDフラッシュメモリにおいては、上述したリードディスターブ現象に起因する誤りのほかに、経年変化に起因する誤りも生じる。特許文献1に開示の情報処理装置においては、プログラムデータの読み出しを契機として誤り訂正が行われる。そのため、頻繁に読み出しが行われるプログラムデータについては、頻繁に誤り訂正も行われるのに対し、頻繁に読み出しが行われないプログラムデータについては、誤り訂正も長期間にわたって行われないことがある。長期間にわたって誤り訂正が行われないと、経年変化に起因して生じる誤りが蓄積し、ECCデータを用いて誤り訂正を行うことができるビット数の上限を超えてしまい、誤り訂正を行うことができなくなるおそれがある。   In the NAND flash memory, in addition to the error due to the read disturb phenomenon described above, an error due to secular change also occurs. In the information processing apparatus disclosed in Patent Document 1, error correction is performed in response to reading of program data. For this reason, program data that is frequently read is also frequently corrected, whereas program data that is not frequently read may not be corrected for a long period of time. If error correction is not performed over a long period of time, errors due to secular change accumulate, exceeding the upper limit of the number of bits that can be corrected using ECC data, and error correction may be performed. There is a risk that it will not be possible.

本発明の目的は、経年変化に起因して生じる誤りの誤り訂正を行うことができる情報処理装置、情報処理装置の制御方法、および、プログラムを提供することになる。   An object of the present invention is to provide an information processing apparatus, an information processing apparatus control method, and a program capable of correcting an error caused by aging.

上記目的を達成するために本発明の情報処理装置は、
データを格納する複数のブロックからなり、前記複数のブロックの各々に対するデータの再書込みが可能な記憶部と、
前記複数のブロックの各々について、該ブロックに格納されているデータの誤り検出を定期的に行い、誤りを検出すると、該検出した誤りの誤り訂正を行い、誤り訂正後のデータの前記ブロックに対する再書込みを行う処理部と、を有する。
In order to achieve the above object, the information processing apparatus of the present invention provides:
A plurality of blocks for storing data, and a storage unit capable of rewriting data for each of the plurality of blocks;
For each of the plurality of blocks, error detection of the data stored in the block is periodically performed. When an error is detected, error detection of the detected error is performed, and the error-corrected data is re-executed with respect to the block. And a processing unit that performs writing.

上記目的を達成するために本発明の情報処理装置の制御方法は、
情報処理装置の制御方法であって、
複数のブロックの各々にデータを格納し、
前記複数のブロックの各々について、該ブロックに格納されているデータの誤り検出を定期的に行い、誤りを検出すると、該検出した誤りの誤り訂正を行い、誤り訂正後のデータの前記ブロックに対する再書込みを行う。
In order to achieve the above object, a method for controlling an information processing apparatus of the present invention includes:
A method for controlling an information processing apparatus,
Store data in each of multiple blocks,
For each of the plurality of blocks, error detection of the data stored in the block is periodically performed. When an error is detected, error detection of the detected error is performed, and the error-corrected data is re-executed with respect to the block. Write.

上記目的を達成するために本発明のプログラムは、
情報処理装置に、
複数のブロックの各々にデータを格納する処理と、
前記複数のブロックの各々について、該ブロックに格納されているデータの誤り検出を定期的に行い、誤りを検出すると、該検出した誤りの誤り訂正を行い、誤り訂正後のデータの前記ブロックに対する再書込みを行う処理と、を実行させる。
In order to achieve the above object, the program of the present invention
In the information processing device,
A process of storing data in each of a plurality of blocks;
For each of the plurality of blocks, error detection of the data stored in the block is periodically performed. When an error is detected, error detection of the detected error is performed, and the error-corrected data is re-executed with respect to the block. And a process for performing writing.

本発明によれば、経年変化に起因して生じる誤りの誤り訂正を行うことができる。   According to the present invention, it is possible to perform error correction of errors caused by aging.

本発明の第1の実施形態の情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus of the 1st Embodiment of this invention. 図1に示す制御部の構成を示すブロック図である。It is a block diagram which shows the structure of the control part shown in FIG. 図2に示す制御部のチェックサム計算時の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of the checksum calculation of the control part shown in FIG. 図2に示すNANDフラッシュメモリが格納する管理テーブルの構成の一例を示す図である。FIG. 3 is a diagram showing an example of a configuration of a management table stored in the NAND flash memory shown in FIG. 2. 図2に示すNANDフラッシュメモリが格納する管理テーブルの状態の一例を示す図である。FIG. 3 is a diagram showing an example of a state of a management table stored in the NAND flash memory shown in FIG. 2. 図2に示す制御部の再書込み時の動作を示すフローチャートである。It is a flowchart which shows the operation | movement at the time of rewriting of the control part shown in FIG. 図2に示すNANDフラッシュメモリが格納する管理テーブルの状態の他の一例を示す図である。FIG. 3 is a diagram showing another example of the state of the management table stored in the NAND flash memory shown in FIG. 2. 本発明の第2の実施形態の情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus of the 2nd Embodiment of this invention. NANDフラッシュメモリのデータ構成を示す図である。It is a figure which shows the data structure of NAND flash memory.

以下に、本発明を実施するための形態について図面を参照して説明する。   EMBODIMENT OF THE INVENTION Below, the form for implementing this invention is demonstrated with reference to drawings.

(第1の実施形態)
図1は、本発明の第1の実施形態の情報処理装置100の構成を示すブロック図である。なお、図1においては、情報処理装置100が携帯電話である場合を例として説明するが、本発明はこれに限られるものではなく、情報処理装置100としては、スマートフォン、PDA(Personal Digital Assistants)、ポータブル音楽プレーヤー、電子手帳、パーソナルコンピュータ、トランシーバ、携帯型ゲーム機など種々のものがある。
(First embodiment)
FIG. 1 is a block diagram showing the configuration of the information processing apparatus 100 according to the first embodiment of this invention. In FIG. 1, a case where the information processing apparatus 100 is a mobile phone will be described as an example. However, the present invention is not limited to this, and the information processing apparatus 100 may be a smartphone, a PDA (Personal Digital Assistants). There are various types such as portable music players, electronic notebooks, personal computers, transceivers, and portable game machines.

図1に示す情報処理装置100は、アンテナ101と、送受信部102と、スピーカ103と、マイク104と、表示部105と、操作部106と、制御部107と、電源部108と、を有する。   An information processing apparatus 100 illustrated in FIG. 1 includes an antenna 101, a transmission / reception unit 102, a speaker 103, a microphone 104, a display unit 105, an operation unit 106, a control unit 107, and a power supply unit 108.

送受信部102は、制御部107の制御に従い、アンテナ101を介して電波を送受信する。   The transmission / reception unit 102 transmits / receives radio waves via the antenna 101 under the control of the control unit 107.

スピーカ103は、制御部107の制御に従い、音を出力する。   The speaker 103 outputs sound under the control of the control unit 107.

マイク104は、制御部107の制御に従い、周辺の音を集音し、音データを制御部107に出力する。   The microphone 104 collects peripheral sounds and outputs sound data to the control unit 107 under the control of the control unit 107.

表示部105は、制御部107の制御に従い、種々の映像を表示する。   The display unit 105 displays various videos under the control of the control unit 107.

操作部106は、ユーザーの操作入力に応じた信号を制御部107に出力する。なお、操作部106の具体例としては、タッチパネルなどがある。   The operation unit 106 outputs a signal corresponding to a user operation input to the control unit 107. A specific example of the operation unit 106 is a touch panel.

制御部107は、操作部106から出力される信号に応じて種々のプログラムを実行し、送受信部102、スピーカ103、マイク104、表示部105などを制御する。   The control unit 107 executes various programs in accordance with signals output from the operation unit 106, and controls the transmission / reception unit 102, the speaker 103, the microphone 104, the display unit 105, and the like.

電源部108は、上述した各部に電力を供給する。   The power supply unit 108 supplies power to each unit described above.

次に、制御部107の内部構成について説明する。   Next, the internal configuration of the control unit 107 will be described.

図2は、制御部107の構成を示すブロック図である。   FIG. 2 is a block diagram illustrating a configuration of the control unit 107.

図2に示す制御部107は、NANDフラッシュメモリ201と、CPU202と、RAM203と、を有する。CPU202は、処理部の一例である。   The control unit 107 illustrated in FIG. 2 includes a NAND flash memory 201, a CPU 202, and a RAM 203. The CPU 202 is an example of a processing unit.

NANDフラッシュメモリ201は、図9に示すように、プログラムデータを格納する領域Pとそのプログラムデータの誤り訂正を行うためのECCデータを格納するための領域Eとからなるページをm個まとめたブロックを複数有する。なお、ECCデータは、プログラムデータの書き込み時に計算され、そのプログラムデータと同じページの領域Eに書き込まれる。一般に、1つのページの容量は、領域Pおよび領域Eを合わせて2112バイトである。ECCデータを用いて誤り訂正を行う方式には、一例として、プログラムデータ512バイトに対して16ビットのECCデータを付加して1ビットの誤り訂正を行う方式や、4ビットの誤り訂正を行う方式などがある。また、プログラムデータの書込みはページ単位で行われ、格納されているプログラムデータの消去はブロック単位で行われ、各ブロックに対してはプログラムデータの再書込みが可能である。   As shown in FIG. 9, the NAND flash memory 201 is a block in which m pages each composed of an area P for storing program data and an area E for storing ECC data for error correction of the program data are collected. A plurality. The ECC data is calculated when the program data is written, and is written in the area E of the same page as the program data. In general, the capacity of one page is 2112 bytes including the area P and the area E. As an example of a method for performing error correction using ECC data, a method for performing error correction of 1 bit by adding 16-bit ECC data to 512 bytes of program data, or a method of performing error correction of 4 bits. and so on. Program data is written in units of pages, and stored program data is erased in units of blocks. Program data can be rewritten in each block.

また、NANDフラッシュメモリ201は、複数のブロックの各々について、そのブロックのブロック番号とそのブロックに格納されているプログラムデータの誤りビット数とを対応つけた管理テーブルを格納する。   Further, the NAND flash memory 201 stores, for each of a plurality of blocks, a management table in which the block number of the block is associated with the number of error bits of program data stored in the block.

CPU202は、NANDフラッシュメモリ201に格納されているプログラムデータを読み出し、RAM203に転送してプログラムを実行する。   The CPU 202 reads the program data stored in the NAND flash memory 201, transfers it to the RAM 203, and executes the program.

また、CPU202は、定期的に、NANDフラッシュメモリ201を構成する複数のブロックの各々について、そのブロックに含まれるページ毎に、そのページに格納されているプログラムデータのチェックサムを計算して誤り検出を行い、誤りを検出すると、そのプログラムデータと同じページに格納されているECCデータを用いて誤り訂正を行い、誤り訂正後のデータの再書込みを行う。   Further, the CPU 202 periodically detects an error by calculating a checksum of program data stored in each page included in the block for each of a plurality of blocks constituting the NAND flash memory 201. When an error is detected, error correction is performed using ECC data stored in the same page as the program data, and the data after error correction is rewritten.

RAM203は、CPUP202から転送されたプログラムデータを一時的に格納する。   The RAM 203 temporarily stores program data transferred from the CPUP 202.

次に、本実施形態の制御部107の動作について説明する。   Next, the operation of the control unit 107 of this embodiment will be described.

図3は、制御部107のチェックサムの計算時の動作を示すフローチャートである。   FIG. 3 is a flowchart showing the operation of the control unit 107 when calculating the checksum.

なお、以下では、ECCデータを用いたプログラムデータの誤り訂正能力は4ビットであるとする。   In the following, it is assumed that the error correction capability of program data using ECC data is 4 bits.

CPU202は、定期的に、NANDフラッシュメモリ201を構成する複数のブロックの各々について、そのブロックに含まれるページ毎に、そのページに格納されているプログラムデータのチェックサムを計算し(ステップS101)、計算結果に応じて、そのプログラムデータの誤りビット数を検出し、検出した誤りビット数をRAM203に一時的に格納させる。   The CPU 202 periodically calculates the checksum of the program data stored in the page for each page included in the block for each of the plurality of blocks constituting the NAND flash memory 201 (step S101). In accordance with the calculation result, the number of error bits of the program data is detected, and the detected number of error bits is temporarily stored in the RAM 203.

全てのブロックについて、各ブロックに含まれる全てのページに格納されているプログラムデータの誤りビット数の検出が終了すると、CPU202は、各ブロックにおけるプログラムデータの誤りビット数の合計を、そのブロックのブロック番号に対応させて管理テーブルに格納する(ステップS102)。   When the detection of the number of error bits of the program data stored in all pages included in each block is completed for all the blocks, the CPU 202 calculates the total number of error bits of the program data in each block. The number is stored in the management table in correspondence with the number (step S102).

図4は、管理テーブル401の構成の一例を示す図である。   FIG. 4 is a diagram illustrating an example of the configuration of the management table 401.

図4に示すように、NANDフラッシュメモリ201は、各ブロックのブロック番号と、そのブロックに格納されているプログラムデータの誤りビット数とを対応させた管理テーブル401を格納する。   As shown in FIG. 4, the NAND flash memory 201 stores a management table 401 in which the block number of each block is associated with the number of error bits of program data stored in the block.

なお、上述したように、CPU202は、定期的に、各ブロックに格納されているプログラムデータのチェックサムの計算を行い、誤りビット数の検出を行う。管理テーブル401においては、直近の誤りビット数の検出の結果(最新)に加えて、過去4回分の誤りビット数の検出の結果(+1〜+4)が格納される。   As described above, the CPU 202 periodically calculates the checksum of the program data stored in each block and detects the number of error bits. In the management table 401, in addition to the detection result (latest) of the most recent error bit number, the detection results (+1 to +4) of the past four error bit numbers are stored.

図4においては、例えば、ブロック番号M=0のブロックは、最新の(最後のチェックサムの計算を行った際の)誤りビット数が0であり、また、1回前から4回前のチャックサムの計算を行った際の誤りビット数も0であることを示す。また、例えば、ブロック番号M=100のブロックは、最新の(最後のチェックサムの計算を行った際の)誤りビット数が3であり、また、1回前から4回前のチェックサムの計算を行った際の誤りビット数が2であることを示す。   In FIG. 4, for example, the latest error bit number (when the last checksum is calculated) is 0 for the block with block number M = 0, and the chuck is 1 to 4 times before. It indicates that the number of error bits when the sum is calculated is also zero. Also, for example, the block with the block number M = 100 has the latest number of error bits (when the last checksum is calculated) of 3, and the calculation of the checksum four times before one time. Indicates that the number of error bits is 2.

再び、図3を参照すると、CPU202は、ブロック番号M=0とし(ステップS103)、図4に示す管理テーブル401において、ブロック番号Mに対応して格納されている誤りビット数が5回連続して4ビット以上であるか否かを判定する(ステップS104)。なお、上記の判定基準は一例であり、例えば、最新の誤りビット数が4ビット以上であるか否かなどを判定基準としてもよい。また、本実施形態においては、誤りビット数が5回連続して4ビット以上であるか否かを判定基準としているため、管理テーブルにおいては過去4回分の誤りビット数を格納することとしているが、判定基準に応じて管理テーブルが何回分の誤りビット数を格納するか変えてもよい。   Referring to FIG. 3 again, the CPU 202 sets the block number M = 0 (step S103), and the number of error bits stored corresponding to the block number M in the management table 401 shown in FIG. It is then determined whether or not it is 4 bits or more (step S104). Note that the above criterion is an example, and for example, whether or not the latest number of error bits is 4 bits or more may be used as the criterion. In the present embodiment, since the determination criterion is whether or not the number of error bits is 4 or more consecutively 5 times, the management table stores the number of error bits for the past 4 times. The number of error bits stored in the management table may be changed according to the determination criterion.

ブロック番号Mに対応して格納されている誤りビット数が5回連続して4ビット以上である場合には(ステップS104:Yes)、CPU202は、ブロック番号Mをグループ1に設定する(ステップS105)。   When the number of error bits stored corresponding to the block number M is 4 bits or more for 5 consecutive times (step S104: Yes), the CPU 202 sets the block number M to group 1 (step S105). ).

ブロック番号Mに対応して格納されている誤りビット数が5回連続して4ビット以上でない場合には(ステップS104:No)、CPU202は、ブロック番号Mに対応して格納されている最新の誤りビット数が3ビット以上であるか否かを判定する(ステップS106)。   When the number of error bits stored corresponding to the block number M is not 4 bits or more in succession 5 times (step S104: No), the CPU 202 updates the latest stored bit number corresponding to the block number M. It is determined whether or not the number of error bits is 3 bits or more (step S106).

ブロック番号Mに対応して格納されている最新の誤りビット数が3ビット以上である場合には(ステップS106:Yes)、CPU202は、ブロック番号Mをグループ2に設定する(ステップS107)。   When the latest number of error bits stored corresponding to the block number M is 3 bits or more (step S106: Yes), the CPU 202 sets the block number M to group 2 (step S107).

ブロック番号Mに対応して格納されている最新の誤りビット数が3ビット以上でない場合には(ステップS106:No)、CPU202は、ブロック番号Mに対応して格納されている最新の誤りビット数が2ビット以上であるか否かを判定する(ステップS108)。   When the latest error bit number stored corresponding to the block number M is not 3 bits or more (step S106: No), the CPU 202 determines the latest error bit number stored corresponding to the block number M. Is determined to be 2 bits or more (step S108).

ブロック番号Mに対応して格納されている最新の誤りビット数が2ビット以上である場合には(ステップS108:Yes)、CPU202は、ブロック番号Mをグループ3に設定する(ステップS109)。   When the latest number of error bits stored corresponding to the block number M is 2 bits or more (step S108: Yes), the CPU 202 sets the block number M to group 3 (step S109).

ブロック番号Mに対応して格納されている最新の誤りビット数が2ビット以上でない場合には(ステップS108:No)、CPU202は、ブロック番号Mに対応して格納されている最新の誤りビット数が1ビット以上であるか否かを判定する(ステップS110)。   When the latest error bit number stored corresponding to the block number M is not 2 bits or more (step S108: No), the CPU 202 determines the latest error bit number stored corresponding to the block number M. Is 1 bit or more (step S110).

ブロック番号Mに対応して格納されている最新の誤りビット数が1ビット以上である場合には(ステップS110:Yes)、CPU202は、ブロックMをグループ4に設定する(ステップS111)。   When the latest number of error bits stored corresponding to the block number M is 1 bit or more (step S110: Yes), the CPU 202 sets the block M to group 4 (step S111).

ブロック番号Mに対応して格納されている最新の誤りビット数が1ビット以上でない場合には(ステップS110:No)、CPU202は、ブロック番号Mのグループ分けを行わず、グループ番号M=M+1とし(ステップS112)、グループ番号Mが最終のブロック番号よりも大きいか否かを判定する(ステップS113)。   When the latest number of error bits stored corresponding to the block number M is not 1 bit or more (step S110: No), the CPU 202 does not perform grouping of the block number M, and sets the group number M = M + 1. (Step S112), it is determined whether or not the group number M is larger than the final block number (Step S113).

グループ番号Mが最終のブロック番号よりも大きくない場合には(ステップS113:No)、CPU202は、ステップS104の処理に戻る。   If the group number M is not greater than the final block number (step S113: No), the CPU 202 returns to the process of step S104.

グループ番号Mが最終のブロック番号よりも大きい場合には(ステップS113:Yes)、CPU202は、ブロック毎に設定したグループを各ブロックに対応させて管理テーブル401に格納する。   When the group number M is larger than the final block number (step S113: Yes), the CPU 202 stores the group set for each block in the management table 401 in association with each block.

なお、上述したように、本実施形態においては、ECCデータを用いたプログラムデータの誤り訂正能力は4ビットであるとする。したがって、プログラムデータの誤りビット数が5ビット以上になると誤り訂正を行うことができなくなるおそれがある。そこで、CPU202は、各ブロックの誤りビット数を常に監視しており、誤りビット数が5回連続して4ビット以上であるブロックを検出した時点で、図3に示す各ブロックのグループ分けを行う。   As described above, in this embodiment, it is assumed that the error correction capability of program data using ECC data is 4 bits. Therefore, if the number of error bits in the program data is 5 bits or more, there is a possibility that error correction cannot be performed. Therefore, the CPU 202 constantly monitors the number of error bits in each block, and performs grouping of the blocks shown in FIG. 3 when a block whose error bit number is 4 bits or more in succession is detected five times. .

図5は、グループ分け後の管理テーブル401の状態を示す図である。   FIG. 5 is a diagram showing the state of the management table 401 after grouping.

図5に示すように、NANDフラッシュメモリ201は、各ブロックのブロック番号と、そのブロック番号に対して設定したグループを示す情報とを対応させて格納する。ここで、例えば、ブロック1およびブロック3は、最新のビット誤り数が1であるので、図3に示すフローに従い、グループ4に分類される。また、ブロック100は、最新のビット誤り数が2であるので、図3に示すフローに従い、グループ3に分類される。また、ブロック101は、誤りビット数が5回連続して4ビット以上であるので、図3に示すフローに従い、グループ1に分類される。また、ブロック102は、最新のビット誤り数が2であるので、図3に示すフローに従い、グループ3に分類される。また、ブロック0およびブロック2は、最新の誤りビット数が0であるので、いずれのグループにも分類されない。   As shown in FIG. 5, the NAND flash memory 201 stores a block number of each block in association with information indicating a group set for the block number. Here, for example, block 1 and block 3 are classified into group 4 according to the flow shown in FIG. Further, since the latest number of bit errors is 2, the block 100 is classified into the group 3 according to the flow shown in FIG. Further, since the number of error bits in the block 101 is 5 or more consecutively 4 bits or more, the block 101 is classified into the group 1 according to the flow shown in FIG. Further, since the latest number of bit errors is 2, the block 102 is classified into the group 3 according to the flow shown in FIG. Further, since the latest number of error bits is 0, block 0 and block 2 are not classified into any group.

図6は、制御部107の再書込み時の動作を示すフローチャートである。   FIG. 6 is a flowchart showing the operation of the control unit 107 during rewriting.

図3に示すステップS114の処理の終了後、CPU202は、管理テーブル401に格納されている、ブロック番号とそのブロック番号に対して設定されたグループを示す情報とを読み出す(ステップS201)。   After the process of step S114 shown in FIG. 3 is completed, the CPU 202 reads the block number and information indicating the group set for the block number stored in the management table 401 (step S201).

次に、CPU202は、設定されたグループを示す情報に応じてブロック番号を並べなおす(ステップS202)。その結果、CPU202は、例えば、グループ1=ブロック番号101、グループ2=ブロック番号100、グループ3=ブロック番号102、グループ4=ブロック番号1、ブロック番号3というように、グループ毎に、そのグループに属するブロック番号を管理する。   Next, the CPU 202 rearranges the block numbers according to information indicating the set group (step S202). As a result, the CPU 202 assigns each group to the group, for example, group 1 = block number 101, group 2 = block number 100, group 3 = block number 102, group 4 = block number 1, and block number 3. Manage the block number to which it belongs.

次に、CPU202は、グループ1にブロック番号が属するブロックについて、誤りが検出されたプログラムデータの誤り訂正を行い、そのブロックに対する再書込みを行う(ステップS203)。ここで、上述したように、グループ1に属するブロックにおいては、4ビットのビット誤りが検出されているため、さらに誤りが発生すると、ECCデータを用いた誤り訂正能力を超え、誤り訂正ができなくなる。そこで、グループ1にブロック番号が属するブロックから優先的に再書込みを行うことで、ECCデータを用いた誤り訂正能力を超え、誤り訂正ができなくなるおそれを低減することができる。   Next, the CPU 202 performs error correction on the program data in which an error is detected for the block to which the block number belongs to group 1, and rewrites the block (step S203). Here, as described above, since a 4-bit bit error is detected in the blocks belonging to group 1, if an error further occurs, the error correction capability using ECC data is exceeded and error correction cannot be performed. . Thus, by rewriting preferentially from the block to which the block number belongs to group 1, it is possible to reduce the possibility that error correction capability using ECC data will be exceeded and error correction cannot be performed.

1つのブロックに対する再書込みが終了すると、CPU202は、グループ1にブロック番号が属する全てのブロックに対する再書込みが終了したか否かを判定する(ステップS204)。   When the rewriting for one block is completed, the CPU 202 determines whether or not the rewriting for all the blocks to which the block number belongs to group 1 is completed (step S204).

グループ1にブロック番号が属する全てのブロックに対する再書込みが終了していない場合には(ステップS204:No)、ステップS203の処理に戻り、再書込みが終了していないブロックに対する再書込みを行う。   If rewriting to all blocks to which the block number belongs to group 1 has not been completed (step S204: No), the processing returns to step S203, and rewriting is performed on the blocks for which rewriting has not ended.

グループ1にブロック番号が属する全てのブロックに対する再書込みが終了した場合には(ステップS204:Yes)、CPU202は、グループ1に属する全てのブロック番号に対応して格納されているブロック情報をクリアする(ステップS205)。なお、ブロック番号に対応して格納されているブロック情報をクリアするとは、そのブロック番号に対応して格納されている最新の誤りビット数を0にすることを示す。再書込みが終了したブロックのブロック番号に対応するブロック情報をクリアすることで、例えば、後述する再書込みの中断後に、再書込みを再開する場合に、管理テーブル401を参照し、再書込みを行っていないブロックを特定することができる。   When rewriting to all blocks to which block numbers belong to group 1 is completed (step S204: Yes), the CPU 202 clears block information stored corresponding to all block numbers belonging to group 1. (Step S205). Note that clearing the block information stored corresponding to the block number indicates that the latest number of error bits stored corresponding to the block number is set to zero. By clearing the block information corresponding to the block number of the block that has been rewritten, for example, when rewriting is resumed after interruption of rewriting described later, the rewriting is performed with reference to the management table 401. No blocks can be identified.

次に、CPU202は、再書込みの中断の要求があり、再書込みを中断する必要があるか否かを判定する(ステップS206)。なお、再書込みの中断の要求としては、例えば、操作部106を介して、優先順位の高い所定のプログラムの実行の要求などがある。   Next, the CPU 202 determines whether or not there is a rewrite interruption request and it is necessary to interrupt the rewrite (step S206). The rewrite interruption request includes, for example, a request to execute a predetermined program having a high priority via the operation unit 106.

再書込みを中断する必要がある場合には(ステップS206:Yes)、CPU202は、処理を終了する。   When it is necessary to interrupt rewriting (step S206: Yes), the CPU 202 ends the process.

再書込みを中断する必要がない場合には(ステップS206:No)、CPU202は、グループ2にブロック番号が属するブロックについて、誤りが検出されたプログラムデータの誤り訂正を行い、そのブロックに対する再書込みを行う(ステップS207)。ここで、上述したように、グループ2にブロック番号が属するブロックは、グループ3およびグループ4にブロック番号が属するブロックよりも誤りビット数が多いため、グループ3およびグループ4にブロック番号が属するブロックよりも優先的に再書込みを行う必要がある。   When it is not necessary to interrupt the rewrite (step S206: No), the CPU 202 performs error correction on the program data in which an error is detected for the block to which the block number belongs to group 2, and rewrites the block. This is performed (step S207). Here, as described above, the block to which the block number belongs to group 2 has a larger number of error bits than the block to which the block number belongs to group 3 and group 4, and therefore the block to which the block number belongs to group 3 and group 4 is larger. Needs to be rewritten preferentially.

1つのブロックに対する再書込みが終了すると、CPU202は、グループ2にブロック番号が属する全てのブロックに対する再書込みが終了したか否かを判定する(ステップS208)。   When the rewriting for one block is completed, the CPU 202 determines whether or not the rewriting for all the blocks to which the block number belongs to group 2 is completed (step S208).

グループ2にブロック番号が属する全てのブロックに対する再書込みが終了していない場合には(ステップS208:No)、ステップS207の処理に戻り、再書込みが終了していないブロックに対する再書込みを行う。   If rewriting for all blocks to which the block number belongs to group 2 has not been completed (step S208: No), the process returns to step S207, and rewriting is performed for the block for which rewriting has not been completed.

グループ2にブロック番号が属する全てのブロックに対する再書込みが終了した場合には(ステップS208:Yes)、CPU202は、グループ2に属する全てのブロック番号に対応して格納されているブロック情報をクリアする(ステップS209)。   When rewriting to all blocks to which the block number belongs to group 2 is completed (step S208: Yes), the CPU 202 clears the block information stored corresponding to all block numbers belonging to group 2. (Step S209).

次に、CPU202は、再書込みを中断する必要があるか否かを判定する(ステップS210)。   Next, the CPU 202 determines whether or not rewriting needs to be interrupted (step S210).

再書込みを中断する必要がある場合には(ステップS210:Yes)、CPU202は、処理を終了する。   When it is necessary to interrupt rewriting (step S210: Yes), the CPU 202 ends the process.

再書込みを中断する必要がない場合には(ステップS210:No)、CPU202は、グループ3にブロック番号が属するブロックについて、誤りが検出されたプログラムデータの誤り訂正を行い、そのブロックに対する再書込みを行う(ステップS211)。ここで、上述したように、グループ3にブロック番号が属するブロックは、グループ4にグループ番号が属するブロックよりも誤りビット数が多いため、グループ4にブロック番号が属するブロックよりも優先的に再書込みを行う必要がある。   When it is not necessary to interrupt the rewrite (step S210: No), the CPU 202 performs error correction on the program data in which an error is detected for the block to which the block number belongs to group 3, and rewrites the block. This is performed (step S211). Here, as described above, the block whose block number belongs to group 3 has a larger number of error bits than the block whose group number belongs to group 4, and therefore rewrites preferentially over the block whose block number belongs to group 4. Need to do.

1つのブロックに対する再書込みが終了すると、CPU202は、グループ3にブロック番号が属する全てのブロックに対する再書込みが終了したか否かを判定する(ステップS212)。   When the rewriting for one block is completed, the CPU 202 determines whether or not the rewriting for all the blocks to which the block number belongs to the group 3 is completed (step S212).

グループ3にブロック番号が属する全てのブロックに対する再書込みが終了していない場合には(ステップS212:No)、ステップS211の処理に戻り、再書込みが終了していないブロックに対する再書込みを行う。   If rewriting for all blocks to which the block number belongs to group 3 has not been completed (step S212: No), the process returns to step S211 to rewrite the block for which rewriting has not been completed.

グループ3にブロック番号が属する全てのブロックに対する再書込みが終了した場合には(ステップS212:Yes)、CPU202は、グループ3に属する全てのブロック番号に対応して格納されているブロック情報をクリアする(ステップS213)。   When rewriting to all blocks to which the block number belongs to group 3 is completed (step S212: Yes), the CPU 202 clears the block information stored corresponding to all block numbers belonging to group 3. (Step S213).

次に、CPU202は、再書込みを中断する必要があるか否かを判定する(ステップS214)。   Next, the CPU 202 determines whether or not rewriting needs to be interrupted (step S214).

再書込みを中断する必要がある場合には(ステップS214:Yes)、CPU202は、処理を終了する。   When the rewriting needs to be interrupted (step S214: Yes), the CPU 202 ends the process.

再書込みを中断する必要がない場合には(ステップS214:No)、CPU202は、グループ4にブロック番号が属するブロックについて、誤りが検出されたプログラムデータの誤り訂正を行い、そのブロックに対する再書込みを行う(ステップS215)。ここで、上述したように、グループ4にブロック番号が属するブロックは、グループ1からグループ3にブロック番号が属するブロックよりも誤りビット数が少なく、再書込みを行う必要性は低いため、グループ1からグループ4にブロック番号が属するブロックの中で最後に再書込みが行われる。   When it is not necessary to interrupt the rewrite (step S214: No), the CPU 202 performs error correction on the program data in which an error is detected for the block to which the block number belongs to group 4, and rewrites the block. This is performed (step S215). Here, as described above, since the block to which the block number belongs to group 4 has a smaller number of error bits than the block to which the block number belongs to group 1 to group 3, and the need for rewriting is low, Rewriting is performed at the end of the blocks to which the block numbers belong to group 4.

1つのブロックに対する再書込みが終了すると、CPU202は、グループ4にブロック番号が属する全てのブロックに対する再書込みが終了したか否かを判定する(ステップS216)。   When the rewriting for one block is completed, the CPU 202 determines whether or not the rewriting for all the blocks to which the block number belongs to the group 4 is completed (step S216).

グループ4にブロック番号が属する全てのブロックに対する再書込みが終了していない場合には(ステップS216:No)、ステップS215の処理に戻り、再書込みが終了していないブロックに対する再書込みを行う。   When rewriting to all blocks to which the block number belongs to group 4 has not been completed (step S216: No), the process returns to step S215, and rewriting is performed on the blocks for which rewriting has not been completed.

グループ4にブロック番号が属する全てのブロックに対する再書込みが終了した場合には(ステップS216:Yes)、CPU202は、グループ4に属する全てのブロック番号に対応して格納されているブロック情報をクリアして(ステップS217)、処理を終了する。   When rewriting to all the blocks to which the block number belongs to group 4 is completed (step S216: Yes), the CPU 202 clears the block information stored corresponding to all the block numbers belonging to group 4. (Step S217), and the process ends.

図7は、グループ4に属するブロック番号が属する全てのブロックに対する再書込みが終了した後に、チェックサムの計算が行われた際の管理テーブル401の状態を示す図である。   FIG. 7 is a diagram showing the state of the management table 401 when the checksum is calculated after rewriting to all the blocks to which the block numbers belonging to the group 4 belong is completed.

図7に示すように、誤りが検出されたブロックに対する再書込みが行われることで、各ブロックに格納されているプログラムデータに誤りが検出されなくなる。   As shown in FIG. 7, the error is not detected in the program data stored in each block by rewriting the block in which the error is detected.

このように本実施形態の情報処理装置100によれば、NANDフラッシュメモリ201を構成する複数のブロックの各々について、ブロックに格納されているプログラムデータの誤り検出を定期的に行い、誤りを検出すると誤り訂正を行い、誤り訂正後のプログラムデータをそのブロックに対して再書込みする。   As described above, according to the information processing apparatus 100 of the present embodiment, for each of a plurality of blocks constituting the NAND flash memory 201, error detection is periodically performed on program data stored in the block, and an error is detected. Error correction is performed, and the program data after error correction is rewritten to the block.

NANDフラッシュメモリ201を構成する複数のブロックの各々について、定期的に格納されているデータの誤り検出および誤り訂正を行うため、経年変化に起因して生じる誤りも検出し、訂正することができる。   Since each of a plurality of blocks constituting the NAND flash memory 201 periodically detects and corrects errors in the data stored therein, it is possible to detect and correct errors caused by secular changes.

また、本実施形態の情報処理装置100によれば、複数のブロックの各々について誤りビット数を検出し、検出した誤りビット数が多いブロックから順に再書込みを行うため、再書込みを中断しても、ECCデータを用いて誤りを訂正することができるビット数を超えて、プログラムデータに誤りが生じてしまう可能性を低減することができる。   Further, according to the information processing apparatus 100 of the present embodiment, the number of error bits is detected for each of a plurality of blocks, and rewriting is performed in order from the block with the largest number of detected error bits. The possibility that an error will occur in program data exceeding the number of bits that can be corrected using ECC data can be reduced.

(第2の実施形態)
図8は、本発明の第2の実施形態の情報処理装置800の構成を示すブロック図である。なお、本発明は、情報処理装置に格納されているデータの誤り訂正を如何に適切に行うかに関するものであるため、本発明に直接関係しない構成については記載を省略する。
(Second Embodiment)
FIG. 8 is a block diagram showing the configuration of the information processing apparatus 800 according to the second embodiment of this invention. Note that the present invention relates to how to properly perform error correction of data stored in the information processing apparatus, and therefore, description of configurations not directly related to the present invention is omitted.

図8に示す情報処理装置800は、記憶部801と、処理部802と、を有する。   An information processing apparatus 800 illustrated in FIG. 8 includes a storage unit 801 and a processing unit 802.

記憶部801は、データを格納するとともに、データの再書込みが可能なメモリである。なお、記憶部801の具体例としては、NANDフラッシュメモリがある。また、記憶部801は、図9に示すNANDフラッシュメモリの一般的なデータ構成と同様に、データを格納する所定の容量の複数のブロックからなる。   The storage unit 801 is a memory capable of storing data and rewriting data. A specific example of the storage unit 801 is a NAND flash memory. The storage unit 801 is composed of a plurality of blocks having a predetermined capacity for storing data, similarly to the general data configuration of the NAND flash memory shown in FIG.

処理部802は、記憶部801を構成する複数のブロックの各々について、そのブロックに格納されているデータの誤り検出を定期的に行い、検出した誤りの誤り訂正を行い、誤り訂正後のデータのそのブロックに対する再書込みを行う。   The processing unit 802 periodically performs error detection on the data stored in each of the plurality of blocks constituting the storage unit 801, performs error correction on the detected error, and performs error correction on the data after error correction. Rewrite the block.

このように本実施形態によれば、情報処理装置800は、記憶部801を構成する複数のブロックの各々について、ブロックに格納されているデータの誤り検出を定期的に行い、検出した誤りの誤り訂正を行い、誤り訂正後のデータのそのブロックに対する再書込みを行う。   As described above, according to the present embodiment, the information processing apparatus 800 periodically performs error detection on the data stored in the block for each of the plurality of blocks constituting the storage unit 801, and detects the error of the detected error. Correction is performed, and the data after error correction is rewritten to the block.

複数のブロックの各々について、定期的に格納されているデータの誤り検出を行うため、経年変化に起因する誤りについても、その誤りを検出し、訂正することができる。   For each of the plurality of blocks, the error of the data stored periodically is detected, so that the error caused by the secular change can be detected and corrected.

なお、本発明の情報処理装置において行われる方法は、コンピュータに実行させるためのプログラムに適用してもよい。また、そのプログラムを記憶媒体に格納することも可能であり、ネットワークを介して外部に提供することも可能である。   In addition, you may apply the method performed in the information processing apparatus of this invention to the program for making a computer perform. In addition, the program can be stored in a storage medium and can be provided to the outside via a network.

100,800 情報処理装置
101 アンテナ
102 送受信部
103 スピーカ
104 マイク
105 表示部
106 操作部
107 制御部
108 電源部
201 NANDフラッシュメモリ
202 CPU
203 RAM
401 管理テーブル
801 記憶部
802 処理部
DESCRIPTION OF SYMBOLS 100,800 Information processing apparatus 101 Antenna 102 Transmission / reception part 103 Speaker 104 Microphone 105 Display part 106 Operation part 107 Control part 108 Power supply part 201 NAND flash memory 202 CPU
203 RAM
401 management table 801 storage unit 802 processing unit

Claims (9)

データを格納する複数のブロックからなり、前記複数のブロックの各々に対するデータの再書込みが可能な記憶部と、
前記複数のブロックの各々について、該ブロックに格納されているデータの誤り検出を定期的に行い、誤りを検出すると、該検出した誤りの誤り訂正を行い、誤り訂正後のデータの前記ブロックに対する再書込みを行う処理部と、を有することを特徴とする情報処理装置。
A plurality of blocks for storing data, and a storage unit capable of rewriting data for each of the plurality of blocks;
For each of the plurality of blocks, error detection of the data stored in the block is periodically performed. When an error is detected, error detection of the detected error is performed, and the error-corrected data is re-executed with respect to the block. An information processing apparatus comprising: a processing unit that performs writing.
請求項1記載の情報処理装置において、
前記処理部は、前記複数のブロックの各々について、該ブロックに格納されているデータの誤り数を定期的に検出し、該検出した誤り数が多いブロックから順に再書込みを行うことを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
The processing unit periodically detects the number of errors in data stored in each of the plurality of blocks, and rewrites the blocks in descending order of the detected number of errors. Information processing device.
請求項2記載の情報処理装置において、
前記処理部は、前記検出した誤り数に応じて前記複数のブロックをグループ分けし、前記検出した誤り数が多いブロックが属するグループから順に、該グループに属するブロックに対する再書込みを行うことを特徴とする情報処理装置。
The information processing apparatus according to claim 2,
The processing unit divides the plurality of blocks according to the detected number of errors, and rewrites the blocks belonging to the group in order from the group to which the detected block having the highest number of errors belongs. Information processing apparatus.
請求項3記載の情報処理装置において、
前記ブロックに対する再書込みを行っている場合に再書込みの中断の要求が入力されると、前記ブロックが属するグループに属する全てのブロックに対する再書込みを行った後に、処理を中断することを特徴とする情報処理装置。
The information processing apparatus according to claim 3,
When a rewrite interruption request is input when rewriting to the block is performed, the process is interrupted after rewriting is performed on all blocks belonging to the group to which the block belongs. Information processing device.
情報処理装置の制御方法であって、
複数のブロックの各々にデータを格納し、
前記複数のブロックの各々について、該ブロックに格納されているデータの誤り検出を定期的に行い、誤りを検出すると、該検出した誤りの誤り訂正を行い、誤り訂正後のデータの前記ブロックに対する再書込みを行うことを特徴とする情報処理装置の制御方法。
A method for controlling an information processing apparatus,
Store data in each of multiple blocks,
For each of the plurality of blocks, error detection of the data stored in the block is periodically performed. When an error is detected, error detection of the detected error is performed, and the error-corrected data is re-executed with respect to the block. A method for controlling an information processing apparatus, wherein writing is performed.
請求項5記載の情報処理装置の制御方法において、
前記複数のブロックの各々について、該ブロックに格納されているデータの誤り数を定期的に検出し、該検出した誤り数が多いブロックから順に再書込みを行うことを特徴とする情報処理装置の制御方法。
The control method of the information processing apparatus according to claim 5,
Control of the information processing apparatus, wherein for each of the plurality of blocks, the number of errors in data stored in the block is periodically detected, and rewriting is performed in order from the block with the largest number of detected errors Method.
請求項6記載の情報処理装置の制御方法において、
前記検出した誤り数に応じて前記複数のブロックをグループ分けし、前記検出した誤り数が多いブロックが属するグループから順に、該グループに属するブロックに対する再書込みを行うことを特徴とする情報処理装置の制御方法。
The control method of the information processing apparatus according to claim 6,
An information processing apparatus comprising: grouping the plurality of blocks according to the detected number of errors; and rewriting the blocks belonging to the group in order from the group to which the block with the large number of detected errors belongs. Control method.
請求項7記載の情報処理装置の制御方法において、
前記ブロックに対する再書込みを行っている場合に再書込みの中断の要求が入力されると、前記ブロックが属するグループに属する全てのブロックに対する再書込みを行った後に、処理を中断することを特徴とする情報処理装置の制御方法。
In the control method of the information processing apparatus according to claim 7,
When a rewrite interruption request is input when rewriting to the block is performed, the process is interrupted after rewriting is performed on all blocks belonging to the group to which the block belongs. A method for controlling an information processing apparatus.
情報処理装置に、
複数のブロックの各々にデータを格納する処理と、
前記複数のブロックの各々について、該ブロックに格納されているデータの誤り検出を定期的に行い、誤りを検出すると、該検出した誤りの誤り訂正を行い、誤り訂正後のデータの前記ブロックに対する再書込みを行う処理と、を実行させるプログラム。
In the information processing device,
A process of storing data in each of a plurality of blocks;
For each of the plurality of blocks, error detection of the data stored in the block is periodically performed. When an error is detected, error detection of the detected error is performed, and the error-corrected data is re-executed with respect to the block. A program that executes a process of performing writing.
JP2011113719A 2011-05-20 2011-05-20 Information processing device, control method of information processing device, and program Withdrawn JP2012243141A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011113719A JP2012243141A (en) 2011-05-20 2011-05-20 Information processing device, control method of information processing device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011113719A JP2012243141A (en) 2011-05-20 2011-05-20 Information processing device, control method of information processing device, and program

Publications (1)

Publication Number Publication Date
JP2012243141A true JP2012243141A (en) 2012-12-10

Family

ID=47464773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011113719A Withdrawn JP2012243141A (en) 2011-05-20 2011-05-20 Information processing device, control method of information processing device, and program

Country Status (1)

Country Link
JP (1) JP2012243141A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014186266A (en) * 2013-03-25 2014-10-02 Goo Chemical Co Ltd Resin composition for solder resist and printed wiring board
CN109992443A (en) * 2019-03-06 2019-07-09 珠海妙存科技有限公司 A kind of nand flash memory data checking

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014186266A (en) * 2013-03-25 2014-10-02 Goo Chemical Co Ltd Resin composition for solder resist and printed wiring board
CN109992443A (en) * 2019-03-06 2019-07-09 珠海妙存科技有限公司 A kind of nand flash memory data checking
CN109992443B (en) * 2019-03-06 2023-03-10 珠海妙存科技有限公司 NAND flash memory data checking method

Similar Documents

Publication Publication Date Title
CN104572489B (en) Wear leveling method and device
KR101543245B1 (en) Error correcting device memory device and data processing system including the same
TWI479495B (en) Reading method, memory controller, and memory storage device
TWI436370B (en) Memory storage device, memory controller thereof, and method for generating log likelihood ratio thereof
JP5764392B2 (en) Memory controller
US8671330B2 (en) Storage device, electronic device, and data error correction method
JP5464528B2 (en) Method and apparatus for performing simultaneous read and write memory operations
US9933975B1 (en) Data transmission method, memory storage device and memory control circuit unit
US20150127882A1 (en) Read operation prior to retrieval of scatter gather list
WO2021232699A1 (en) Data reading method, apparatus and device, and readable storage medium
CN106415502A (en) Data storage method and device
JP6102515B2 (en) Information processing apparatus, control circuit, control program, and control method
CN107203436B (en) Method and device for data verification of Nand Flash
US9594629B2 (en) Data error correction from cached error correction information
US9652394B2 (en) System and method for managing a cache pool
CN102419734A (en) Method and device for storing data
TW202305598A (en) Method for managing memory buffer, memory control circuit unit and memory storage apparatus
JP2012243141A (en) Information processing device, control method of information processing device, and program
US10289334B2 (en) Valid data merging method, memory controller and memory storage apparatus
JP2011059907A (en) Terminal device, method of managing nonvolatile memory used therein, and program therefor
KR20170132483A (en) Method of operating memory device
CN113504880B (en) Memory buffer management method, memory control circuit unit and memory device
US10956261B2 (en) Volatile memory device and operating method thereof
US8429338B2 (en) Method and apparatus for emulating byte wise programmable functionality into sector wise erasable memory
CN113625935A (en) Method, device, equipment and storage medium for reducing read interference influence

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140805