[go: up one dir, main page]

JP2008192054A - Semiconductor memory system - Google Patents

Semiconductor memory system Download PDF

Info

Publication number
JP2008192054A
JP2008192054A JP2007028170A JP2007028170A JP2008192054A JP 2008192054 A JP2008192054 A JP 2008192054A JP 2007028170 A JP2007028170 A JP 2007028170A JP 2007028170 A JP2007028170 A JP 2007028170A JP 2008192054 A JP2008192054 A JP 2008192054A
Authority
JP
Japan
Prior art keywords
error correction
correction code
semiconductor memory
data
error
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
JP2007028170A
Other languages
Japanese (ja)
Other versions
JP4925301B2 (en
Inventor
Takashi Oshikiri
崇 押切
Masashi Yamamoto
真佐史 山本
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.)
MegaChips Corp
Original Assignee
MegaChips LSI Solutions Inc
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 MegaChips LSI Solutions Inc filed Critical MegaChips LSI Solutions Inc
Priority to JP2007028170A priority Critical patent/JP4925301B2/en
Publication of JP2008192054A publication Critical patent/JP2008192054A/en
Application granted granted Critical
Publication of JP4925301B2 publication Critical patent/JP4925301B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technique for enabling a semiconductor memory system, to output a correct data while a status of written data is changed unintensionally by repeating readout of the data from a non-volatile semiconductor memory. <P>SOLUTION: A first ECC51 is added to data of each page of a memory at an initial stage. An error detection is performed by using the first ECC51 when a memory controller has started to read data. If an error is detected, the error is corrected by utilizing a first error correction algorithm and a corrected data is sent to a host system. The memory controller, then, generates a second ECC52 for the corrected data by utilizing a second error correction algorithm with a higher error correction performance than that of the first error correction algorithm. The controller stores the second ECC52 in the memory by replacing the first ECC51. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、フラッシュメモリなどの再書き込み可能な不揮発性半導体メモリから正しいデータを取得するための技術に関する。詳しくは、フラッシュメモリからデータが繰り返し読み出されることにより、データが意図せず書き換えられる現象に対しても、正しくデータを供給する技術に関する。   The present invention relates to a technique for acquiring correct data from a rewritable nonvolatile semiconductor memory such as a flash memory. More specifically, the present invention relates to a technique for correctly supplying data against a phenomenon that data is unintentionally rewritten by repeatedly reading data from a flash memory.

不揮発性メモリの中でも、NANDフラッシュメモリは、単純な回路構成による高集積化や製造コスト減、ユーザによる書き込みの容易化を図ることを可能とするため、SDメモリカードなどに大量に採用されている。   Among non-volatile memories, NAND flash memories are used in large quantities in SD memory cards and the like in order to enable high integration, simple manufacturing cost reduction, and easy writing by users. .

最近では、NANDフラッシュメモリは、ゲーム機などにも採用されている。NANDフラッシュメモリがゲーム機などで使用される際には、書き込みは発生せず、連続的な読み出しが発生する。すなわち、NANDフラッシュメモリがROMとして採用されることが多くなりつつある。   Recently, NAND flash memory has been adopted in game machines and the like. When the NAND flash memory is used in a game machine or the like, writing does not occur and continuous reading occurs. That is, a NAND flash memory is increasingly used as a ROM.

しかし、ゲーム機などでは、特定のプログラムが繰り返し読み出されることが多いため、プログラムが意図せず書き換えられる可能性が指摘され始めている。このような現象は“Read Disturb”現象と呼ばれており、本現象が発生するメカニズムについて、以下に簡単に説明する。   However, in game machines and the like, since a specific program is often read repeatedly, it has begun to be pointed out that the program may be rewritten unintentionally. Such a phenomenon is called a “Read Disturb” phenomenon, and a mechanism in which this phenomenon occurs will be briefly described below.

図11は、NANDフラッシュメモリの模式図である。NANDフラッシュメモリは、格子状に配線されたビット線41とワード線42、43、44、メモリセル52、53、選択トランジスタ54などから構成されている。   FIG. 11 is a schematic diagram of a NAND flash memory. The NAND flash memory includes bit lines 41 and word lines 42, 43, 44, memory cells 52, 53, selection transistors 54, and the like wired in a lattice pattern.

メモリセル52が格納する二値データ(“0”または“1”)を読み出す場合を考える。この場合、メモリセル52は選択セル52、メモリセル53は非選択セル53と呼ばれている。まず、選択トランジスタ54により、選択セル52が属するビット線41が指定される。次に、選択セル52が属するワード線42に対して、低ゲート電圧V(Low)=0Vが印加される。そして、非選択セル53が属するワード線43に対して、高ゲート電圧V(High)〜5Vが印加される。このとき、非選択セル53は微弱な書き込み状態にあるため、非選択セル53のフローティングゲートに電子がトラップされ、蓄積される。すなわち、選択セル52が格納する二値データが繰り返し読み出されると、非選択セル53の閾値電圧がシフトして、非選択セル53が格納している二値データが、“1”から“0”に意図せず書き換えられる可能性がある。   Consider a case where binary data (“0” or “1”) stored in the memory cell 52 is read. In this case, the memory cell 52 is called a selected cell 52 and the memory cell 53 is called a non-selected cell 53. First, the bit line 41 to which the selected cell 52 belongs is specified by the selection transistor 54. Next, a low gate voltage V (Low) = 0 V is applied to the word line 42 to which the selected cell 52 belongs. Then, a high gate voltage V (High) to 5 V is applied to the word line 43 to which the non-selected cell 53 belongs. At this time, since the non-selected cell 53 is in a weak write state, electrons are trapped and accumulated in the floating gate of the non-selected cell 53. That is, when the binary data stored in the selected cell 52 is repeatedly read, the threshold voltage of the non-selected cell 53 shifts, and the binary data stored in the non-selected cell 53 changes from “1” to “0”. May be rewritten unintentionally.

もっとも、非選択セル53が格納している二値データが意図せず書き換えられたとしても、データが新たに書き込まれる前に一括して消去される際に、非選択セル53の機能を回復させることができる。しかし、書き込みは発生せず、連続的な読み出しが発生する場合には、非選択セル53の機能を回復させることができなくなる。   However, even if the binary data stored in the non-selected cell 53 is unintentionally rewritten, the function of the non-selected cell 53 is restored when the data is erased collectively before being newly written. be able to. However, when writing does not occur and continuous reading occurs, the function of the non-selected cell 53 cannot be recovered.

以上に説明した“Read Disturb”現象を回避する手段を提供する文献として、以下の特許文献が挙げられる。   The following patent documents can be cited as documents providing means for avoiding the “Read Disturb” phenomenon described above.

米国特許出願公開第2005/0210184号明細書US Patent Application Publication No. 2005/0210184

上述の特許文献は、メモリセル内部の制御方法により、“Read Disturb”現象を回避する手段を提供するものである。しかし、ここで開示されている方法は、特定のセル構造を有するメモリに対して適用可能な方法であり、他のセル構造に適用可能なものではない。つまり、メモリのセル構造に依存することなく、“Read Disturb”現象を回避できる方策ではない。   The above-mentioned patent document provides means for avoiding the “Read Disturb” phenomenon by a control method inside a memory cell. However, the method disclosed herein is a method applicable to a memory having a specific cell structure, and is not applicable to other cell structures. That is, it is not a measure that can avoid the “Read Disturb” phenomenon without depending on the cell structure of the memory.

そこで、本発明は前記問題点に鑑み、メモリのセル構造に制約を受けることなく、様々なタイプの不揮発性メモリにおいても、“Read Disturb”現象の発生する可能性のあるメモリから正しいデータを読み出すための技術を提供することを目的とする。   Therefore, in view of the above problems, the present invention reads out correct data from a memory in which a “Read Disturb” phenomenon may occur even in various types of non-volatile memories without being restricted by the cell structure of the memory. It aims at providing the technique for.

上記課題を解決するため、請求項1記載の発明は、第1のエラー訂正コードあるいは第1のエラー訂正コードより訂正能力の高い第2のエラー訂正コードが付加されたデータが格納される再書き込み可能な不揮発性半導体メモリと、前記不揮発性半導体メモリに対するアクセスを制御するメモリコントローラと、を備え、前記メモリコントローラは、第1のエラー訂正コードおよび第2のエラー訂正コードを利用した誤り訂正処理を実行することが可能であり、前記メモリコントローラは、前記不揮発性半導体メモリから読み出したデータに対して、第1のエラー訂正コードあるいは第2のエラー訂正コードを利用して誤り訂正処理を実行する手段、を備えることを特徴とする。   In order to solve the above-mentioned problem, the invention according to claim 1 is characterized in that the first error correction code or the data to which the second error correction code having a higher correction capability than the first error correction code is stored is rewritten. And a memory controller that controls access to the nonvolatile semiconductor memory, the memory controller performing error correction processing using the first error correction code and the second error correction code The memory controller can execute the error correction process on the data read from the nonvolatile semiconductor memory by using the first error correction code or the second error correction code. It is characterized by providing.

請求項2記載の発明は、データが格納される再書き込み可能な不揮発性半導体メモリと、前記不揮発性半導体メモリに格納されたデータを訂正するための第1のエラー訂正コードあるいは第1のエラー訂正コードより訂正能力の高い第2のエラー訂正コードが格納される訂正コード記憶手段と、前記不揮発性半導体メモリに対するアクセスを制御するメモリコントローラと、を備え、前記メモリコントローラは、第1のエラー訂正コードおよび第2のエラー訂正コードを利用した誤り訂正処理を実行することが可能であり、前記メモリコントローラは、前記不揮発性半導体メモリから読み出したデータに対して、第1のエラー訂正コードあるいは第2のエラー訂正コードを利用して誤り訂正処理を実行する手段、を備えることを特徴とする。   The invention described in claim 2 is a rewritable nonvolatile semiconductor memory in which data is stored, and a first error correction code or a first error correction for correcting the data stored in the nonvolatile semiconductor memory. Correction code storage means for storing a second error correction code having a higher correction capability than the code, and a memory controller for controlling access to the nonvolatile semiconductor memory, wherein the memory controller includes the first error correction code. And the error correction process using the second error correction code can be executed, and the memory controller performs the first error correction code or the second error correction on the data read from the nonvolatile semiconductor memory. Means for executing an error correction process using an error correction code.

請求項3記載の発明は、請求項1に記載の半導体メモリシステムにおいて、前記メモリコントローラは、さらに、データに対して第1のエラー訂正コードを利用して誤り訂正を行った後、読み出しデータに係る第2のエラー訂正コードを生成し、前記不揮発性半導体メモリに、生成した第2のエラー訂正コードを格納するエラー訂正コード格納手段、を備えることを特徴とする。   According to a third aspect of the present invention, in the semiconductor memory system according to the first aspect, the memory controller further performs error correction on the data using the first error correction code, and then converts the data into read data. An error correction code storage unit that generates the second error correction code and stores the generated second error correction code in the nonvolatile semiconductor memory is provided.

請求項4記載の発明は、請求項2に記載の半導体メモリシステムにおいて、前記メモリコントローラは、さらに、データに対して第1のエラー訂正コードを利用して誤り訂正を行った後、読み出しデータに係る第2のエラー訂正コードを生成し、前記訂正コード記憶手段に、生成した第2のエラー訂正コードを格納するエラー訂正コード格納手段、を備えることを特徴とする。   According to a fourth aspect of the present invention, in the semiconductor memory system according to the second aspect, the memory controller further performs error correction on the data using the first error correction code, and then converts the data into read data. An error correction code storage unit that generates the second error correction code and stores the generated second error correction code in the correction code storage unit is provided.

請求項5記載の発明は、請求項3または請求項4に記載の半導体メモリシステムにおいて、前記訂正コード格納手段は、読み出しデータに関してエラーが発生したとき、エラービットの数が所定の閾値を超えている場合に、第2のエラー訂正コードを格納することを特徴とする。   According to a fifth aspect of the present invention, in the semiconductor memory system according to the third or fourth aspect, when the error relating to the read data is generated, the correction code storage means has a number of error bits exceeding a predetermined threshold value. The second error correction code is stored.

請求項6記載の発明は、請求項3または請求項4に記載の半導体メモリシステムにおいて、前記訂正コード格納手段は、読み出しデータに関してエラーが発生したとき、エラービットの数に関わらず、第2のエラー訂正コードを格納することを特徴とする。   According to a sixth aspect of the present invention, in the semiconductor memory system according to the third or fourth aspect, the correction code storage means is configured so that when an error occurs with respect to read data, the second code is stored regardless of the number of error bits. An error correction code is stored.

請求項7記載の発明は、請求項1に記載の半導体メモリシステムにおいて、前記メモリコントローラは、さらに、前記不揮発性半導体メモリからからデータを読み出したとき、その領域の読み出し回数が、所定の回数を超えていた場合は、読み出しデータに係る第2のエラー訂正コードを生成し、前記不揮発性半導体メモリに、生成した第2のエラー訂正コードを格納するエラー訂正コード格納手段、を備えることを特徴とする。   According to a seventh aspect of the present invention, in the semiconductor memory system according to the first aspect, when the memory controller further reads data from the non-volatile semiconductor memory, the number of times of reading the area is a predetermined number of times. A second error correction code related to the read data is generated when the error is exceeded, and error correction code storage means for storing the generated second error correction code in the nonvolatile semiconductor memory is provided. To do.

請求項8記載の発明は、請求項2に記載の半導体メモリシステムにおいて、前記メモリコントローラは、さらに、前記不揮発性半導体メモリからからデータを読み出したとき、その領域の読み出し回数が、所定の回数を超えていた場合は、読み出しデータに係る第2のエラー訂正コードを生成し、前記訂正コード記憶手段に、生成した第2のエラー訂正コードを格納するエラー訂正コード格納手段、を備えることを特徴とする。   According to an eighth aspect of the present invention, in the semiconductor memory system according to the second aspect, when the memory controller further reads data from the non-volatile semiconductor memory, the number of times the area is read is a predetermined number of times. If it exceeds, an error correction code storage means for generating a second error correction code related to the read data and storing the generated second error correction code in the correction code storage means, To do.

請求項9記載の発明は、請求項1に記載の半導体メモリシステムにおいて、前記不揮発性半導体メモリには、各記憶領域のデータについて第1のエラー訂正コードを使用するのか、第2のエラー訂正コードを使用するのかを指定する指定情報が記憶されていることを特徴とする。   According to a ninth aspect of the present invention, in the semiconductor memory system according to the first aspect, the first error correction code is used for the data in each storage area in the nonvolatile semiconductor memory, or the second error correction code is used. It is characterized in that designation information for designating whether to use is stored.

請求項10記載の発明は、請求項2に記載の半導体メモリシステムにおいて、前記訂正コード記憶手段には、各記憶領域のデータについて第1のエラー訂正コードを使用するのか、第2のエラー訂正コードを使用するのかを指定する指定情報が記憶されていることを特徴とする。   According to a tenth aspect of the present invention, in the semiconductor memory system according to the second aspect, the correction code storage means uses a first error correction code for data in each storage area, or a second error correction code. It is characterized in that designation information for designating whether to use is stored.

請求項11記載の発明は、請求項9または請求項10に記載の半導体メモリシステムにおいて、前記訂正コード格納手段は、第2のエラー訂正コードを格納した後、前記指定情報についても、第2のエラー訂正コードを指定する情報に書き換えることを特徴とする。   According to an eleventh aspect of the present invention, in the semiconductor memory system according to the ninth or tenth aspect of the present invention, the correction code storage means stores the second error correction code, and then stores the specified information with respect to the second information. It is characterized by rewriting the information to specify an error correction code.

請求項12記載の発明は、第1のエラー訂正コードおよび第1のエラー訂正コードより訂正能力の高い第2のエラー訂正コードが付加されたデータが格納される再書き込み可能な前記不揮発性半導体メモリと、前記不揮発性半導体メモリに対するアクセスを制御するメモリコントローラと、を備え、前記不揮発性半導体メモリには、各記憶領域のデータについて第1のエラー訂正コードが適用されているのか、第2のエラー訂正コードが適用されているのかを指定する指定情報が記憶されており、前記メモリコントローラは、第1のエラー訂正コードおよび第2のエラー訂正コードを利用した誤り訂正処理を実行することが可能であり、前記メモリコントローラは、前記不揮発性半導体メモリから読み出したデータに対して、前記指定情報で指定されている第1のエラー訂正コードあるいは第2のエラー訂正コードを利用して誤り訂正処理を実行する手段、を備えることを特徴とする。   The invention according to claim 12 is the rewritable nonvolatile semiconductor memory in which the first error correction code and the data to which the second error correction code having higher correction capability than the first error correction code is added are stored. And a memory controller that controls access to the non-volatile semiconductor memory, wherein the first error correction code is applied to the data in each storage area in the non-volatile semiconductor memory, or a second error Specification information for specifying whether a correction code is applied is stored, and the memory controller can execute an error correction process using the first error correction code and the second error correction code. The memory controller uses the designation information for data read from the nonvolatile semiconductor memory. Utilizing the first error correction code or the second error correction code that is a constant, characterized in that it comprises, means for performing an error correction process.

請求項13記載の発明は、データが格納される再書き込み可能な不揮発性半導体メモリと、前記不揮発性半導体メモリに格納されたデータを訂正するための第1のエラー訂正コードおよび第1のエラー訂正コードより訂正能力の高い第2のエラー訂正コードが格納される訂正コード記憶手段と、前記不揮発性半導体メモリに対するアクセスを制御するメモリコントローラと、を備え、前記訂正コード記憶手段には、各記憶領域のデータについて第1のエラー訂正コードが適用されているのか、第2のエラー訂正コードが適用されているのかを指定する指定情報が記憶されており、前記メモリコントローラは、第1のエラー訂正コードおよび第2のエラー訂正コードを利用した誤り訂正処理を実行することが可能であり、前記メモリコントローラは、前記不揮発性半導体メモリから読み出したデータに対して、前記指定情報で指定されている第1のエラー訂正コードあるいは第2のエラー訂正コードを利用して誤り訂正処理を実行する手段、を備えることを特徴とする。   The invention according to claim 13 is a rewritable nonvolatile semiconductor memory in which data is stored, a first error correction code and a first error correction for correcting the data stored in the nonvolatile semiconductor memory. A correction code storage means for storing a second error correction code having a higher correction capability than the code; and a memory controller for controlling access to the nonvolatile semiconductor memory. Specification information for specifying whether the first error correction code or the second error correction code is applied to the data is stored, and the memory controller stores the first error correction code. And an error correction process using the second error correction code, and the memory controller Comprises means for executing an error correction process on the data read from the nonvolatile semiconductor memory using the first error correction code or the second error correction code specified by the specification information. It is characterized by that.

請求項14記載の発明は、請求項12または請求項13に記載の半導体メモリシステムにおいて、さらに、読み出しデータに対して第1のエラー訂正コードを利用して誤り訂正を行った後、当該読み出しデータに関して第2のエラー訂正コードが適用されるよう前記指定情報を書き換える指定情報変更手段、を備えることを特徴とする。   According to the fourteenth aspect of the present invention, in the semiconductor memory system according to the twelfth or thirteenth aspect, after the error correction is further performed on the read data using the first error correction code, the read data And a designated information changing means for rewriting the designated information so that the second error correction code is applied.

請求項15記載の発明は、請求項14に記載の半導体メモリシステムにおいて、前記指定情報変更手段は、読み出しデータに関してエラーが発生した場合であって、エラービットの数が所定の閾値を超えている場合に、前記指定情報を書き換えることを特徴とする。   According to a fifteenth aspect of the present invention, in the semiconductor memory system according to the fourteenth aspect, the designation information changing means is a case where an error occurs with respect to read data, and the number of error bits exceeds a predetermined threshold value. In this case, the designation information is rewritten.

請求項16記載の発明は、請求項14に記載の半導体メモリシステムにおいて、前記指定情報変更手段は、読み出しデータに関してエラーが発生した場合、エラービットの数に関わらず、前記指定情報を書き換えることを特徴とする。   According to a sixteenth aspect of the present invention, in the semiconductor memory system according to the fourteenth aspect, the designation information changing means rewrites the designation information regardless of the number of error bits when an error occurs in the read data. Features.

請求項17記載の発明は、請求項12または請求項13に記載の半導体メモリシステムにおいて、前記メモリコントローラは、さらに、前記不揮発性半導体メモリからデータを読み出したとき、その領域の読み出し回数が、所定の回数を超えていた場合は、当該読み出しデータに関して第2のエラー訂正コードが適用されるよう前記指定情報を書き換える指定情報変更手段、を備えることを特徴とする。   According to a seventeenth aspect of the present invention, in the semiconductor memory system according to the twelfth or thirteenth aspect, when the memory controller further reads data from the non-volatile semiconductor memory, the number of times the area is read is predetermined. When the number of times exceeds the specified number of times, there is provided specification information changing means for rewriting the specification information so that the second error correction code is applied to the read data.

請求項18記載の発明は、請求項1、請求項2、請求項12および請求項13のいずれかに記載の半導体メモリシステムにおいて、前記不揮発性半導体メモリに記憶されるデータの中で、読み出しアクセスが多数発生すると想定されたデータに関しては、第2のエラー訂正コードが使用されることを特徴とする。   The invention according to claim 18 is the semiconductor memory system according to any one of claims 1, 2, 12, and 13, wherein read access is performed among data stored in the nonvolatile semiconductor memory. For data that is assumed to occur in large numbers, the second error correction code is used.

請求項19記載の発明は、請求項1、請求項2、請求項12および請求項13のいずれかに記載の半導体メモリシステムにおいて、前記不揮発性半導体メモリの記憶領域の中で、読み出しエラーが発生すると想定された記憶領域に格納されるデータに関しては、第2のエラー訂正コードが使用されることを特徴とする。   According to a nineteenth aspect of the present invention, in the semiconductor memory system according to any one of the first, second, twelfth and thirteenth aspects, a read error occurs in the storage area of the nonvolatile semiconductor memory. The second error correction code is used for the data stored in the assumed storage area.

請求項20記載の発明は、請求項1、請求項2、請求項12および請求項13のいずれかに記載の半導体メモリシステムにおいて、前記不揮発性半導体メモリに記憶されるデータの中で、重要度の高いデータに関しては、第2のエラー訂正コードが使用されることを特徴とする。   According to a twentieth aspect of the present invention, in the semiconductor memory system according to any one of the first, second, twelfth, and thirteenth aspects, the importance degree among the data stored in the nonvolatile semiconductor memory For high data, the second error correction code is used.

本発明のメモリシステムは、再書き込み可能な不揮発性半導体メモリを備える。そして、不揮発性半導体メモリに記憶されるデータには、第1のエラー訂正コードあるいは第1のエラー訂正コードより訂正能力の高い第2のエラー訂正コードが付加されている。これにより、条件に応じて、処理能力が低いが処理負荷の低いエラー訂正と、訂正能力が高いが処理負荷が大きいエラー訂正を使い分けることが可能である。   The memory system of the present invention includes a rewritable nonvolatile semiconductor memory. The data stored in the nonvolatile semiconductor memory is added with the first error correction code or the second error correction code having a higher correction capability than the first error correction code. Thus, depending on conditions, it is possible to selectively use error correction with low processing capability but low processing load and error correction with high correction capability but high processing load.

また、本発明によれば、第1のエラー訂正コードによりエラー訂正を行った後、第2のエラー訂正コードを格納する。これにより、初期段階では処理負荷の小さいエラー訂正を行って高速な読み出しを行い、“Read Disturb”現象が発生した場合には、より訂正能力の高い第2のエラー訂正コードにより、正しいデータに訂正して出力可能である。   According to the present invention, the second error correction code is stored after error correction using the first error correction code. Thus, in the initial stage, error correction with a small processing load is performed and high-speed reading is performed, and when the “Read Disturb” phenomenon occurs, the data is corrected to the correct data by the second error correction code having higher correction capability. Can be output.

また、不揮発性半導体メモリに記憶されるデータには、第1のエラー訂正コードおよび第1のエラー訂正コードより訂正能力の高い第2のエラー訂正コードが付加されている。これにより、条件に応じて、処理負荷の低いエラー訂正と、訂正能力の高いエラー訂正を使い分けることが可能である。   In addition, the first error correction code and the second error correction code having a higher correction capability than the first error correction code are added to the data stored in the nonvolatile semiconductor memory. Thereby, according to conditions, it is possible to selectively use error correction with a low processing load and error correction with a high correction capability.

{第1の実施の形態}
以下、図面を参照しつつ本発明の実施の形態について説明する。図1は、本実施の形態に係る情報処理システムの機能ブロック図である。この情報処理システムは、ホストシステム1とメモリモジュール(メモリシステム)2とを備えて構成される。メモリモジュール2は、メモリコントローラ3とメモリ4とを備えている。
{First embodiment}
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a functional block diagram of the information processing system according to the present embodiment. This information processing system includes a host system 1 and a memory module (memory system) 2. The memory module 2 includes a memory controller 3 and a memory 4.

本実施の形態において、メモリ4は、再書き込み可能な不揮発性半導体メモリであるNANDフラッシュメモリを採用している。メモリコントローラ3は、メモリ4に対するデータの読み出しや書き込みを制御する。例えば、この情報処理システムは、ゲーム装置として機能する。この場合、ホストシステム1は、ゲーム装置本体を構成し、メモリモジュール2がゲームカートリッジを構成する。メモリモジュール2は、ホストシステム1に対して着脱自在なタイプであってもよいし、ホストシステム1を構成する装置に内蔵されるタイプであってもよい。   In the present embodiment, the memory 4 employs a NAND flash memory that is a rewritable nonvolatile semiconductor memory. The memory controller 3 controls reading and writing of data with respect to the memory 4. For example, this information processing system functions as a game device. In this case, the host system 1 constitutes a game apparatus body, and the memory module 2 constitutes a game cartridge. The memory module 2 may be a type that is detachable from the host system 1 or may be a type that is built in an apparatus that constitutes the host system 1.

図に示すように、メモリコントローラ3は、インタフェース31、アドレスデコーダ部32、エラー訂正部33を備えている。インタフェース31は、ホストシステム1から出力された読み出しや書き込みのコマンドを入力する入力インタフェースとして、また、メモリ4から出力された読み出しデータをホストシステム1に対して出力する出力インタフェースとして機能する。あるいは、インタフェース31は、ホストシステム1から出力された書き込みデータを入力する入力インタフェースとして機能する。   As shown in the figure, the memory controller 3 includes an interface 31, an address decoder unit 32, and an error correction unit 33. The interface 31 functions as an input interface for inputting read and write commands output from the host system 1 and as an output interface for outputting read data output from the memory 4 to the host system 1. Alternatively, the interface 31 functions as an input interface for inputting write data output from the host system 1.

アドレスデコーダ部32は、インタフェース31を介して入力した読み出しコマンドや書き込みコマンドから、読み出しアドレスや書き込みアドレスを取得する。メモリ4に対して読み出しアドレスが出力されると、メモリ4からは、その読み出しアドレスに対応する記憶データが読み出されるのである。また、メモリ4に対して書き込みアドレスとデータが与えられると、メモリ4に対するデータの書き込み処理が実行される。   The address decoder unit 32 acquires a read address and a write address from a read command and a write command input via the interface 31. When a read address is output to the memory 4, the memory data corresponding to the read address is read from the memory 4. When a write address and data are given to the memory 4, a data write process for the memory 4 is executed.

ここで、本実施の形態におけるメモリモジュール2は、書き込み可能なNANDフラッシュメモリを採用しているが、上述したように、ゲームカートリッジなど、読み出しを主な目的とするメモリとして利用される。つまり、ホストシステム1から次々に出力される読み出しコマンドに応答して、指定された読み出しアドレスのデータを読み出す処理が繰り返し実行されるのである。ホストシステム1は、メモリ4から読み出されたデータを入力し、様々な処理を実行する。   Here, the memory module 2 in the present embodiment employs a writable NAND flash memory. However, as described above, the memory module 2 is used as a memory mainly for reading, such as a game cartridge. That is, in response to the read commands sequentially output from the host system 1, the process of reading the data at the designated read address is repeatedly executed. The host system 1 inputs data read from the memory 4 and executes various processes.

このように、本実施の形態においては、メモリ4に記憶されたデータの読み出し処理が繰り返し多数行われる可能性がある。そして、このようなケースにおいて、上述したように、意図せずして記憶データが書き換わる現象、つまり、“Read Disturb”現象が発生する可能性がある。そして、本実施の形態のメモリモジュール2は、この“Read Disturb”現象が発生した場合でも、エラー訂正によって、正しいデータをホストシステム1に供給可能とするための機能を備えている。   As described above, in the present embodiment, there is a possibility that many reading processes of data stored in the memory 4 are repeatedly performed. In such a case, as described above, there is a possibility that a phenomenon in which stored data is rewritten unintentionally, that is, a “Read Disturb” phenomenon occurs. The memory module 2 according to the present embodiment has a function for enabling correct data to be supplied to the host system 1 by error correction even when the “Read Disturb” phenomenon occurs.

図2は、メモリ4の記憶領域を示す図である。メモリ4は、図に示すように、複数のページによって管理されている。本実施の形態において、メモリ4の各ページは、NANDフラッシュメモリにおける読み出しおよび書き込み単位に対応している。つまり、メモリ4は、ページ単位でデータの読み出しおよび書き込みを可能としている。これに対して、メモリ4に対しては、複数のページからなるブロック単位で消去が可能となっている。   FIG. 2 is a diagram showing a storage area of the memory 4. As shown in the figure, the memory 4 is managed by a plurality of pages. In the present embodiment, each page of the memory 4 corresponds to a read / write unit in the NAND flash memory. That is, the memory 4 can read and write data in units of pages. On the other hand, the memory 4 can be erased in units of blocks composed of a plurality of pages.

そして、図に示すように、メモリ4の各ページは、実体的なデータが格納されるデータ領域41と、実体的なデータに付随した情報が格納される冗長領域42とを備えて構成されている。データ領域41には、たとえば、ゲームプログラムが格納される。   As shown in the figure, each page of the memory 4 includes a data area 41 in which substantial data is stored, and a redundant area 42 in which information associated with the substantial data is stored. Yes. In the data area 41, for example, a game program is stored.

図3および図4は、冗長領域42に格納されている情報の一部を示す図である。冗長領域42には、エラー訂正コード(ECC:Error Correcting Code)に関する情報が記録されている。本実施の形態において、各ページに記憶されるデータには、第1ECC51あるいは第2ECC52のいずれかのエラー訂正コードが付加されるのである。メモリモジュール2が供給される初期段階においては、各ページに記憶されるデータには、第1ECC51が付加されている。そして、後で説明する条件、処理によって、第1ECC51が第2ECC52に書き換えられるのである。   3 and 4 are diagrams showing a part of the information stored in the redundant area 42. FIG. In the redundant area 42, information related to an error correcting code (ECC) is recorded. In the present embodiment, the error correction code of either the first ECC 51 or the second ECC 52 is added to the data stored in each page. At the initial stage when the memory module 2 is supplied, the first ECC 51 is added to the data stored in each page. Then, the first ECC 51 is rewritten to the second ECC 52 under conditions and processing described later.

第2ECC52は、第1ECC51よりも誤り訂正能力の高い符号である。言い換えると、第2ECC52を利用するエラー訂正アルゴリズム(第2エラー訂正アルゴリズムとする。)は、第1ECC51を利用するエラー訂正アルゴリズム(第1エラー訂正アルゴリズムとする。)よりも誤り訂正能力の高いアルゴリズムである。たとえば、第1ECC51を利用するエラー訂正アルゴリズムは、4ビットまでのエラーを検出可能であり、且つ、2ビットまでのエラーを訂正可能なエラー訂正アルゴリズムである。これに対して、第2ECC52を利用するエラー訂正アルゴリズムは、たとえば、8ビットまでのエラーを検出可能であり、且つ、6ビットまでのエラーを訂正可能なアルゴリズムである。このため、一般には、第2ECC52のビット長は、第1ECC51のビット長より大きい。また、第1エラー訂正アルゴリズムは、第2エラー訂正アルゴリズムと比べて処理負荷の小さいアルゴリズムである。   The second ECC 52 is a code having a higher error correction capability than the first ECC 51. In other words, the error correction algorithm using the second ECC 52 (referred to as the second error correction algorithm) is an algorithm having a higher error correction capability than the error correction algorithm using the first ECC 51 (referred to as the first error correction algorithm). is there. For example, the error correction algorithm using the first ECC 51 is an error correction algorithm capable of detecting an error of up to 4 bits and correcting an error of up to 2 bits. On the other hand, the error correction algorithm using the second ECC 52 is an algorithm capable of detecting an error of up to 8 bits and correcting an error of up to 6 bits, for example. For this reason, generally, the bit length of the second ECC 52 is larger than the bit length of the first ECC 51. Further, the first error correction algorithm is an algorithm with a smaller processing load than the second error correction algorithm.

ECC指定情報50は、冗長領域42に格納されているエラー訂正コードの種別を指定する情報である。つまり、冗長領域42に、第1ECC51が格納されているのか、あるいは、第2ECC52が格納されているのかを指定する情報である。図3は、データ領域41に格納されたデータに対して第1ECC51が付加されている場合の冗長領域42を示している。この場合、ECC指定情報50には、冗長領域42に第1ECC51が格納されていることを示す情報が記録されている。図4は、データ領域41に格納されたデータに対して第2ECC52が付加されている場合の冗長領域42を示している。この場合、ECC指定情報50には、冗長領域42に第2ECC52が格納されていることを示す情報が記録されている。   The ECC designation information 50 is information for designating the type of error correction code stored in the redundant area 42. That is, this is information for designating whether the first ECC 51 or the second ECC 52 is stored in the redundant area 42. FIG. 3 shows the redundant area 42 when the first ECC 51 is added to the data stored in the data area 41. In this case, in the ECC designation information 50, information indicating that the first ECC 51 is stored in the redundant area 42 is recorded. FIG. 4 shows the redundant area 42 when the second ECC 52 is added to the data stored in the data area 41. In this case, information indicating that the second ECC 52 is stored in the redundant area 42 is recorded in the ECC designation information 50.

なお、本実施の形態においては、エラー訂正コードおよびECC指定情報50が、冗長領域42に格納されているが、これらのデータが、データ領域41内に格納されていてもよい。あるいは、エラー訂正コードおよびECC指定情報50が、メモリ4以外の記憶手段に格納されていてもよい。   In the present embodiment, the error correction code and the ECC designation information 50 are stored in the redundant area 42, but these data may be stored in the data area 41. Alternatively, the error correction code and the ECC designation information 50 may be stored in a storage unit other than the memory 4.

エラー訂正部33は、各ページに格納されているデータを読み出し、誤り検出を行う。そして、データエラーを検出した場合には、誤り訂正を行う。具体的には、エラー訂正部33は、ECC指定情報50において、第1ECC51が指定されている場合には、冗長領域42から第1ECC51を読み出し、第1エラー訂正アルゴリズムを利用して、データの誤り検出を行う。そして、データエラーを検出した場合には、第1エラー訂正アルゴリズムを利用して、データの誤り訂正を行うのである。また、エラー訂正部33は、ECC指定情報50において、第2ECC52が指定されている場合には、冗長領域42から第2ECC52を読み出し、第2エラー訂正アルゴリズムを利用して、データの誤り検出を行う。そして、データエラーを検出した場合には、第2エラー訂正アルゴリズムを利用して、データの誤り訂正を行うのである。そして、第1あるいは第2のエラー訂正アルゴリズムによって訂正されたデータは、インタフェース31を介してホストシステム1に出力されるのである。   The error correction unit 33 reads data stored in each page and performs error detection. If a data error is detected, error correction is performed. Specifically, when the first ECC 51 is designated in the ECC designation information 50, the error correction unit 33 reads the first ECC 51 from the redundant area 42, and uses the first error correction algorithm to correct the data error. Perform detection. When a data error is detected, data error correction is performed using the first error correction algorithm. Further, when the second ECC 52 is designated in the ECC designation information 50, the error correction unit 33 reads the second ECC 52 from the redundant area 42 and performs data error detection using the second error correction algorithm. . When a data error is detected, data error correction is performed using the second error correction algorithm. Then, the data corrected by the first or second error correction algorithm is output to the host system 1 via the interface 31.

以上の構成に基づいて実行される本実施の形態における誤り訂正処理の内容について、図5のフローチャートを参照しながら説明する。   The contents of the error correction processing in the present embodiment executed based on the above configuration will be described with reference to the flowchart of FIG.

まず、メモリコントローラ3が、メモリ4の指定したページのデータを読み出す(ステップS11)。このとき、データ領域41に格納されたデータと合わせて、冗長領域42に格納されているECC指定情報50やエラー訂正コード(第1ECC51あるいは第2ECC52)も読み出される。   First, the memory controller 3 reads data of a specified page in the memory 4 (step S11). At this time, together with the data stored in the data area 41, the ECC designation information 50 and the error correction code (first ECC 51 or second ECC 52) stored in the redundant area 42 are also read.

誤り訂正部33は、ECC指定情報50を参照する(ステップS12)。そして、ECC指定情報50において、第1ECC51が指定されている場合には、第1エラー訂正アルゴリズムに従い、読み出した第1ECC51を用いて、読み出しデータのエラーを検出し、エラーを検出した場合には、エラー訂正を行う(ステップS13)。そして、エラー訂正後のデータをホストシステム1に出力する。なお、第1エラー訂正アルゴリズムによって、エラーを検出しなかった場合には、そのまま読み出しデータをホストシステム1に出力するが、その処理についてはフローチャートにおいて省略している。   The error correction unit 33 refers to the ECC designation information 50 (step S12). When the first ECC 51 is designated in the ECC designation information 50, an error in the read data is detected using the read first ECC 51 according to the first error correction algorithm, and when an error is detected, Error correction is performed (step S13). Then, the data after error correction is output to the host system 1. If no error is detected by the first error correction algorithm, the read data is output to the host system 1 as it is, but this process is omitted in the flowchart.

次に、エラー訂正部33は、エラービット数が閾値を超えているかどうかを判定する(ステップS14)。エラー訂正部33は、図示せぬ記憶部に、エラービット数の閾値データを格納している。たとえば、第1エラー訂正アルゴリズムが、2ビットまでのエラーを訂正可能である場合、閾値を1ビット等と設定する例が考えられる。   Next, the error correction unit 33 determines whether or not the number of error bits exceeds the threshold (step S14). The error correction unit 33 stores threshold data of the number of error bits in a storage unit (not shown). For example, when the first error correction algorithm can correct an error of up to 2 bits, an example in which the threshold is set to 1 bit or the like can be considered.

そして、検出したエラービット数が閾値を超えている場合(たとえば、閾値を1ビットと設定している場合であって、エラービット数が2ビットである場合など)には、エラー訂正部33は、第2エラー訂正アルゴリズムを用いて、訂正したデータに対する第2ECC52を生成する(ステップS15)。次に、生成した第2ECC52を、読み出したデータの冗長領域42に記録する(ステップS16)。このとき、既に格納されていた第1ECC51は消去されて、新たに生成した第2ECC52が格納される。さらに、エラー訂正部33は、ECC指定情報50の書き換えを行う(ステップS17)。つまり、ECC指定情報50で指定されるECC種別が第2ECC52となるように、当該情報を更新するのである。このようにして、図3で示す状態の冗長領域42が、図4で示す状態の冗長領域42に書き換えられるのである。   When the detected number of error bits exceeds the threshold (for example, when the threshold is set to 1 bit and the number of error bits is 2 bits), the error correction unit 33 Then, the second ECC 52 for the corrected data is generated using the second error correction algorithm (step S15). Next, the generated second ECC 52 is recorded in the redundant area 42 of the read data (step S16). At this time, the first ECC 51 that has already been stored is deleted, and the newly generated second ECC 52 is stored. Further, the error correction unit 33 rewrites the ECC designation information 50 (step S17). That is, the information is updated so that the ECC type designated by the ECC designation information 50 becomes the second ECC 52. In this manner, the redundant area 42 shown in FIG. 3 is rewritten to the redundant area 42 shown in FIG.

なお、本実施の形態においては、第1ECC51を第2ECC52に置き換える場合を説明したが、第1ECC51は、そのまま格納しておき、第2ECC52を冗長領域42内の別の領域(エラー訂正コードがデータ領域41や別の記憶手段に格納されている場合にあっては、それら記憶手段内の別の領域)に格納するようにしてもよい。そして、この場合であって、第2ECC52が指定されるようECC指定情報50の書き換えを行うことにより、どちらのエラー訂正コードが適用されるかが特定されるのである。   In this embodiment, the case where the first ECC 51 is replaced with the second ECC 52 has been described. However, the first ECC 51 is stored as it is, and the second ECC 52 is stored in another area in the redundant area 42 (the error correction code is stored in the data area). 41 or other storage means, it may be stored in another area in the storage means). In this case, it is specified which error correction code is applied by rewriting the ECC designation information 50 so that the second ECC 52 is designated.

また、ステップS14において、エラービット数が閾値を超えていないと判定された場合には、そのまま処理を終了する。つまり、読み出しデータに対するエラー訂正アルゴリズムは、そのまま第1エラー訂正アルゴリズムが利用されるのである。   If it is determined in step S14 that the number of error bits does not exceed the threshold value, the process ends as it is. That is, as the error correction algorithm for the read data, the first error correction algorithm is used as it is.

一方、ステップS12において、第2ECC52が指定されていると判定された場合、第2エラー訂正アルゴリズムに従い、読み出した第2ECC52を用いて、読み出しデータのエラーを検出し、エラーを検出した場合には、エラー訂正を行う(ステップS18)。そして、エラー訂正後のデータをホストシステム1に出力する。なお、第2エラー訂正アルゴリズムによって、エラーを検出しなかった場合には、そのまま読み出しデータをホストシステム1に出力するが、その処理についてはフローチャートにおいて省略している。   On the other hand, if it is determined in step S12 that the second ECC 52 is designated, an error in the read data is detected using the read second ECC 52 according to the second error correction algorithm, and if an error is detected, Error correction is performed (step S18). Then, the data after error correction is output to the host system 1. If no error is detected by the second error correction algorithm, the read data is output to the host system 1 as it is, but this process is omitted in the flowchart.

このように、本実施の形態によれば、メモリ4の冗長領域42には、第1ECC51と第2ECC52のいずれかが格納されている。そして、初期段階においては、各ページのデータに対して第1ECC51が格納されている。そして、検出したエラービット数が所定の閾値を超えていた場合には、第1ECC51よりもエラー訂正能力の高い第2ECCを生成し、第1ECC51に代えて第2ECC52を冗長領域42に格納するのである。   Thus, according to the present embodiment, one of the first ECC 51 and the second ECC 52 is stored in the redundant area 42 of the memory 4. In the initial stage, the first ECC 51 is stored for the data of each page. If the detected number of error bits exceeds a predetermined threshold, a second ECC having a higher error correction capability than the first ECC 51 is generated, and the second ECC 52 is stored in the redundant area 42 instead of the first ECC 51. .

これにより、初期段階は、処理負荷の小さい第1エラー訂正アルゴリズムを利用し、エラーが所定の閾値を超えた時点から、エラー訂正能力の高い第2エラー訂正アルゴリズムを利用することが可能である。したがって、初期段階においては、処理負荷の小さいエラー訂正により高速な読み出しを行い、“Read Disturb”現象が発生し、読み出しデータにエラーが発生した場合にも、よりエラー訂正能力の高いエラー訂正アルゴリズムを利用し、正しく訂正されたデータをホストシステムに供給可能である。   Thereby, in the initial stage, it is possible to use the first error correction algorithm with a low processing load and use the second error correction algorithm having a high error correction capability from the time when the error exceeds a predetermined threshold. Therefore, in the initial stage, high-speed reading is performed by error correction with a small processing load, and even when the “Read Disturb” phenomenon occurs and an error occurs in the read data, an error correction algorithm with higher error correction capability is used. It can be used to supply correct corrected data to the host system.

なお、本実施の形態においては、2種類の訂正能力の異なるエラー訂正アルゴリズムを利用することとしたが、3種類以上の訂正能力の異なるエラー訂正アルゴリズムを利用するようにしてもよい。そして、エラービット数と閾値とを比較し、閾値を超えた時点で、次々に、より高い訂正能力のエラー訂正アルゴリズムに切り替えていくようにすることが可能である。   In this embodiment, two types of error correction algorithms having different correction capabilities are used. However, three or more types of error correction algorithms having different correction capabilities may be used. Then, it is possible to compare the number of error bits with a threshold value and switch to an error correction algorithm having a higher correction capability one after another when the threshold value is exceeded.

{第2の実施の形態}
次に、本発明の第2の実施の形態について説明する。図6は、第2の実施の形態に係るエラー訂正処理のフローチャートである。なお、第2の実施の形態における情報処理システムの構成は、図1で示したものと同様である。また、冗長領域42に格納される情報も、図3および図4で示したものと同様である。
{Second Embodiment}
Next, a second embodiment of the present invention will be described. FIG. 6 is a flowchart of error correction processing according to the second embodiment. Note that the configuration of the information processing system in the second embodiment is the same as that shown in FIG. The information stored in the redundant area 42 is the same as that shown in FIGS.

ステップS21〜ステップS23は、第1の実施の形態におけるステップS11〜ステップS13と同様である。つまり、読み出したデータについて、エラーが検出された場合には、第1エラー訂正アルゴリズムを用いてエラー訂正処理を行う。第1エラー訂正アルゴリズムによって、エラーを検出しなかった場合には、そのまま読み出しデータをホストシステム1に出力するが、その処理についてはフローチャートにおいて省略している。   Steps S21 to S23 are the same as steps S11 to S13 in the first embodiment. That is, when an error is detected for the read data, error correction processing is performed using the first error correction algorithm. If no error is detected by the first error correction algorithm, the read data is output to the host system 1 as it is, but this process is omitted in the flowchart.

第1の実施の形態においては、ステップS14において、エラービット数と閾値との比較を行った。これに対して、第2の実施の形態においては、閾値との比較を行うことなく、第2エラー訂正アルゴリズムへの移行処理を行う。つまり、第1エラー訂正アルゴリズムが設定されている状態で、1ビットでもエラーが発生した場合には、第2エラー訂正アルゴリズムへの移行を行うのである。   In the first embodiment, in step S14, the number of error bits is compared with a threshold value. On the other hand, in the second embodiment, the shift process to the second error correction algorithm is performed without comparing with the threshold value. That is, when an error occurs even with one bit in a state where the first error correction algorithm is set, the transition to the second error correction algorithm is performed.

ステップS24〜ステップS26は、第1の実施の形態におけるステップS15〜ステップS17と同様である。第2エラー訂正アルゴリズムに基づいて第2ECC52を生成し、冗長領域42内に、第1ECC51に代えて第2ECC52を格納するのである。また、ECC指定情報50によって第2ECC52が指定されるように、当該情報を書き換えるのである。   Steps S24 to S26 are the same as steps S15 to S17 in the first embodiment. The second ECC 52 is generated based on the second error correction algorithm, and the second ECC 52 is stored in the redundant area 42 instead of the first ECC 51. Further, the information is rewritten so that the second ECC 52 is designated by the ECC designation information 50.

第1の実施の形態と同様、第1ECC51は、そのまま格納しておき、第2ECC52を冗長領域42内の別の領域(エラー訂正コードがデータ領域41や別の記憶手段に格納されている場合にあっては、それら記憶手段内の別の領域)に格納するようにしてもよい。そして、この場合であって、第2ECC52が指定されるようECC指定情報50の書き換えを行うことにより、どちらのエラー訂正コードが適用されるかが特定されるのである。   As in the first embodiment, the first ECC 51 is stored as it is, and the second ECC 52 is stored in another area in the redundant area 42 (when the error correction code is stored in the data area 41 or another storage means). In this case, it may be stored in another area in the storage means. In this case, it is specified which error correction code is applied by rewriting the ECC designation information 50 so that the second ECC 52 is designated.

第2エラー訂正アルゴリズムに移行した後のステップS27も、第1の実施の形態におけるステップS18と同様である。つまり、エラーが発生した場合には、エラー訂正能力の高い第2エラー訂正アルゴリズムを利用してエラー訂正が行われる。第2エラー訂正アルゴリズムによって、エラーを検出しなかった場合には、そのまま読み出しデータをホストシステム1に出力するが、その処理についてはフローチャートにおいて省略している。   Step S27 after the transition to the second error correction algorithm is the same as step S18 in the first embodiment. That is, when an error occurs, error correction is performed using a second error correction algorithm having a high error correction capability. If no error is detected by the second error correction algorithm, the read data is output to the host system 1 as it is, but this process is omitted in the flowchart.

これにより、“Read Disturb”現象が発生し、読み出しデータにエラーが発生した場合にも、よりエラー訂正能力の高いエラー訂正アルゴリズムを利用し、正しく訂正されたデータをホストシステムに供給可能である。   As a result, even when the “Read Disturb” phenomenon occurs and an error occurs in the read data, it is possible to use the error correction algorithm with higher error correction capability to supply the corrected data to the host system.

なお、この実施の形態においても、エラー訂正コードおよびECC指定情報50が、データ領域41内に格納されていてもよい。あるいは、エラー訂正コードおよびECC指定情報50が、メモリ4以外の記憶手段に格納されていてもよい。   In this embodiment, the error correction code and the ECC designation information 50 may be stored in the data area 41. Alternatively, the error correction code and the ECC designation information 50 may be stored in a storage unit other than the memory 4.

{第3の実施の形態}
次に、本発明の第3の実施の形態について説明する。図7は、第3の実施の形態に係るメモリ4における冗長領域42を示す図である。図8は、第3の実施の形態に係るエラー訂正処理のフローチャートである。なお、情報処理システムの構成は、図1で示したものと同様である。
{Third embodiment}
Next, a third embodiment of the present invention will be described. FIG. 7 is a diagram showing the redundant area 42 in the memory 4 according to the third embodiment. FIG. 8 is a flowchart of error correction processing according to the third embodiment. The configuration of the information processing system is the same as that shown in FIG.

図7に示すように、冗長領域42には、第1ECC51と第2ECC52の両方が格納されている。つまり、初期段階から、各ページのデータには、第1ECC51と第2ECC52とが用意され、いずれのECCについても、冗長領域42に格納するようにしているのである。ただし、ECC指定情報50において、初期段階では、第1ECC51が指定されている。そして、後で説明する条件、処理によって、ECC指定情報50が書き換えられ、ECC指定情報50により第2ECC52が指定されることになる。   As shown in FIG. 7, both the first ECC 51 and the second ECC 52 are stored in the redundant area 42. That is, from the initial stage, the first ECC 51 and the second ECC 52 are prepared for the data of each page, and both ECCs are stored in the redundant area 42. However, in the ECC designation information 50, the first ECC 51 is designated at the initial stage. Then, the ECC designation information 50 is rewritten by conditions and processing described later, and the second ECC 52 is designated by the ECC designation information 50.

したがって、エラー訂正部33は、ECC指定情報50を参照し、第1ECC51が指定されている場合には、冗長領域42から読み出した第1ECC51を利用してエラー訂正を行い、ECC指定情報50により第2ECC52が指定されている場合には、冗長領域42から読み出した第2ECC52を利用してエラー訂正を行うのである。   Therefore, the error correction unit 33 refers to the ECC designation information 50, and when the first ECC 51 is designated, the error correction unit 33 performs error correction using the first ECC 51 read from the redundant area 42, and the ECC designation information 50 uses the first ECC 51. When 2ECC 52 is designated, error correction is performed using the second ECC 52 read from the redundant area 42.

なお、この実施の形態においても、エラー訂正コードおよびECC指定情報50が、冗長領域42に格納されているが、これらのデータが、データ領域41内に格納されていてもよい。あるいは、エラー訂正コードおよびECC指定情報50が、メモリ4以外の記憶手段に格納されていてもよい。   In this embodiment, the error correction code and the ECC designation information 50 are stored in the redundant area 42. However, these data may be stored in the data area 41. Alternatively, the error correction code and the ECC designation information 50 may be stored in a storage unit other than the memory 4.

図8を参照する。まず、メモリコントローラ3が、メモリ4の指定したページのデータを読み出す(ステップS31)。このとき、データ領域41に格納されたデータと合わせて、冗長領域42に格納されているECC指定情報50やエラー訂正コード(第1ECC51および第2ECC52)も読み出される。なお、ECC指定情報50に指定された情報に基づいて、第1ECC51および第2ECC52のうち、必要な情報のみを読み出すようにしてもよい。   Please refer to FIG. First, the memory controller 3 reads the data of the designated page in the memory 4 (step S31). At this time, together with the data stored in the data area 41, the ECC designation information 50 and the error correction code (first ECC 51 and second ECC 52) stored in the redundant area 42 are also read. Note that only necessary information may be read out from the first ECC 51 and the second ECC 52 based on the information designated in the ECC designation information 50.

次に、エラー訂正部33は、ECC指定情報50を参照する(ステップS32)。そして、ECC指定情報50において、第1ECC51が指定されている場合には、第1エラー訂正アルゴリズムに従い、読み出した第1ECC51を用いて、読み出しデータのエラーを検出し、エラーを検出した場合には、エラー訂正を行う(ステップS33)。そして、エラー訂正後のデータをホストシステム1に出力する。なお、第1エラー訂正アルゴリズムによって、エラーを検出しなかった場合には、そのまま読み出しデータをホストシステム1に出力するが、その処理についてはフローチャートにおいて省略している。   Next, the error correction unit 33 refers to the ECC designation information 50 (step S32). When the first ECC 51 is designated in the ECC designation information 50, an error in the read data is detected using the read first ECC 51 according to the first error correction algorithm, and when an error is detected, Error correction is performed (step S33). Then, the data after error correction is output to the host system 1. If no error is detected by the first error correction algorithm, the read data is output to the host system 1 as it is, but this process is omitted in the flowchart.

次に、エラー訂正部33は、エラービット数が閾値を超えているかどうかを判定する(ステップS34)。エラー訂正部33は、図示せぬ記憶部に、エラービット数の閾値データを格納している。第1の実施の形態で例示した場合と同様、たとえば、第1エラー訂正アルゴリズムが、2ビットまでのエラーを訂正可能である場合、閾値を1ビットと設定する例が考えられる。   Next, the error correction unit 33 determines whether or not the number of error bits exceeds the threshold (step S34). The error correction unit 33 stores threshold data of the number of error bits in a storage unit (not shown). Similar to the case illustrated in the first embodiment, for example, when the first error correction algorithm can correct an error of up to 2 bits, an example in which the threshold is set to 1 bit can be considered.

そして、検出したエラービット数が閾値を超えている場合には、エラー訂正部33は、ECC指定情報50の書き換えを行う(ステップS35)。つまり、ECC指定情報50によって第2ECC52が指定されるように、当該情報を更新するのである。   If the number of detected error bits exceeds the threshold value, the error correction unit 33 rewrites the ECC designation information 50 (step S35). That is, the information is updated so that the second ECC 52 is designated by the ECC designation information 50.

また、ステップS34において、エラービット数が閾値を超えていないと判定された場合には、そのまま処理を終了する。つまり、読み出しデータに対するエラー訂正アルゴリズムは、そのまま第1エラー訂正アルゴリズムが利用されるのである。   If it is determined in step S34 that the number of error bits does not exceed the threshold value, the process ends as it is. That is, as the error correction algorithm for the read data, the first error correction algorithm is used as it is.

一方、ステップS32において、第2ECC52が指定されていると判定された場合、第2エラー訂正アルゴリズムに従い、読み出した第2ECC52を用いて、読み出しデータのエラーを検出し、エラーを検出した場合には、エラー訂正を行う(ステップS36)。そして、エラー訂正後のデータをホストシステム1に出力する。なお、第2エラー訂正アルゴリズムによって、エラーを検出しなかった場合には、そのまま読み出しデータをホストシステム1に出力するが、その処理についてはフローチャートにおいて省略している。   On the other hand, if it is determined in step S32 that the second ECC 52 is designated, an error in the read data is detected using the read second ECC 52 according to the second error correction algorithm, and if an error is detected, Error correction is performed (step S36). Then, the data after error correction is output to the host system 1. If no error is detected by the second error correction algorithm, the read data is output to the host system 1 as it is, but this process is omitted in the flowchart.

このように、本実施の形態によれば、メモリ4の冗長領域42には、第1ECC51および第2ECC52の両方の情報が格納されている。そして、初期段階においては、各ページのデータに対して第1ECC51が利用されるように、ECC指定情報50が設定されている。そして、検出したエラービット数が所定の閾値を超えていた場合には、第1ECC51よりもエラー訂正能力の高い第2ECC52を利用するように、ECC指定情報50を書き換えるのである。   Thus, according to the present embodiment, the redundant area 42 of the memory 4 stores information on both the first ECC 51 and the second ECC 52. In the initial stage, the ECC designation information 50 is set so that the first ECC 51 is used for the data of each page. When the number of detected error bits exceeds a predetermined threshold, the ECC designation information 50 is rewritten so as to use the second ECC 52 having a higher error correction capability than the first ECC 51.

これにより、初期段階は、処理負荷の小さい第1エラー訂正アルゴリズムを利用し、エラーが所定の閾値を超えた時点から、エラー訂正能力の高い第2エラー訂正アルゴリズムを利用することが可能である。したがって、初期段階においては、処理負荷の小さいエラー訂正により高速な読み出しを行い、“Read Disturb”現象が発生し、読み出しデータにエラーが発生した場合にも、よりエラー訂正能力の高いエラー訂正アルゴリズムを利用し、正しく訂正されたデータをホストシステム1に供給可能である。また、この実施の形態においては、あらかじめ、第1ECC51と第2ECC52が生成されてメモリ4内に格納されているので、第2エラー訂正アルゴリズムに移行する場合にも、第2ECC52を生成する処理を行う必要がない。   Thereby, in the initial stage, it is possible to use the first error correction algorithm with a low processing load and use the second error correction algorithm having a high error correction capability from the time when the error exceeds a predetermined threshold. Therefore, in the initial stage, high-speed reading is performed by error correction with a small processing load, and even when the “Read Disturb” phenomenon occurs and an error occurs in the read data, an error correction algorithm with higher error correction capability is used. It is possible to supply the host system 1 with correctly corrected data. Further, in this embodiment, since the first ECC 51 and the second ECC 52 are generated and stored in the memory 4 in advance, the process of generating the second ECC 52 is performed even when shifting to the second error correction algorithm. There is no need.

なお、本実施の形態においては、2種類の訂正能力の異なるエラー訂正アルゴリズムを利用することとしたが、3種類以上の訂正能力の異なるエラー訂正アルゴリズムを利用するようにしてもよい。そして、エラービット数と閾値とを比較し、閾値を超えた時点で、次々に、より高い訂正能力のエラー訂正アルゴリズムに切り替えていくようにすることができる。   In this embodiment, two types of error correction algorithms having different correction capabilities are used. However, three or more types of error correction algorithms having different correction capabilities may be used. Then, the number of error bits and the threshold value are compared, and when the threshold value is exceeded, it is possible to switch to an error correction algorithm having a higher correction capability one after another.

{第4の実施の形態}
次に、本発明の第4の実施の形態について説明する。図9は、第4の実施の形態に係るエラー訂正処理のフローチャートである。なお、第4の実施の形態における情報処理システムの構成は、図1で示したものと同様である。また、冗長領域42に格納される情報については、第3の実施の形態における図7で示したものと同様である。
{Fourth embodiment}
Next, a fourth embodiment of the present invention will be described. FIG. 9 is a flowchart of error correction processing according to the fourth embodiment. The configuration of the information processing system in the fourth embodiment is the same as that shown in FIG. Further, the information stored in the redundant area 42 is the same as that shown in FIG. 7 in the third embodiment.

ステップS41〜ステップS43は、第3の実施の形態におけるステップS31〜ステップS33と同様である。つまり、読み出したデータについて、エラーが検出された場合には、第1エラー訂正アルゴリズムを用いてエラー訂正処理を行う。第1エラー訂正アルゴリズムによって、エラーを検出しなかった場合には、そのまま読み出しデータをホストシステム1に出力するが、その処理についてはフローチャートにおいて省略している。   Steps S41 to S43 are the same as steps S31 to S33 in the third embodiment. That is, when an error is detected for the read data, error correction processing is performed using the first error correction algorithm. If no error is detected by the first error correction algorithm, the read data is output to the host system 1 as it is, but this process is omitted in the flowchart.

第3の実施の形態においては、ステップS34において、エラービット数と閾値との比較を行った。これに対して、第4の実施の形態においては、閾値との比較を行うことなく、第2エラー訂正アルゴリズムへの移行処理を行う。つまり、第1エラー訂正アルゴリズムが設定されている状態で、1ビットでもエラーが発生した場合には、第2エラー訂正アルゴリズムへの移行を行うのである。   In the third embodiment, the number of error bits is compared with a threshold value in step S34. On the other hand, in the fourth embodiment, the transition process to the second error correction algorithm is performed without comparing with the threshold value. That is, when an error occurs even with one bit in a state where the first error correction algorithm is set, the transition to the second error correction algorithm is performed.

ステップS44は、第3の実施の形態におけるステップS35と同様である。エラー訂正部33は、ECC指定情報50が第2ECC52を指定するよう情報を書き換えるのである。   Step S44 is the same as step S35 in the third embodiment. The error correction unit 33 rewrites the information so that the ECC designation information 50 designates the second ECC 52.

第2エラー訂正アルゴリズムに移行した後のステップS45も、第3の実施の形態におけるステップS36と同様である。つまり、エラーが発生した場合には、エラー訂正能力の高い第2エラー訂正アルゴリズムを利用してエラー訂正が行われる。第2エラー訂正アルゴリズムによって、エラーを検出しなかった場合には、そのまま読み出しデータをホストシステム1に出力するが、その処理についてはフローチャートにおいて省略している。   Step S45 after the transition to the second error correction algorithm is the same as step S36 in the third embodiment. That is, when an error occurs, error correction is performed using a second error correction algorithm having a high error correction capability. If no error is detected by the second error correction algorithm, the read data is output to the host system 1 as it is, but this process is omitted in the flowchart.

これにより、“Read Disturb”現象が発生し、読み出しデータにエラーが発生した場合にも、よりエラー訂正能力の高いエラー訂正アルゴリズムを利用し、正しく訂正されたデータをホストシステム1に供給可能である。   As a result, even when the “Read Disturb” phenomenon occurs and an error occurs in the read data, it is possible to use the error correction algorithm with higher error correction capability to supply the corrected data to the host system 1. .

なお、この実施の形態においても、エラー訂正コードおよびECC指定情報50が、データ領域41内に格納されていてもよい。あるいは、エラー訂正コードおよびECC指定情報50が、メモリ4以外の記憶手段に格納されていてもよい。   In this embodiment, the error correction code and the ECC designation information 50 may be stored in the data area 41. Alternatively, the error correction code and the ECC designation information 50 may be stored in a storage unit other than the memory 4.

{第5の実施の形態}
第1〜第4の実施の形態においては、初期段階においては、第1エラー訂正アルゴリズムを利用し、エラーが発生した後に、より訂正能力の高い第2エラー訂正アルゴリズムを利用しようというものであった。
{Fifth embodiment}
In the first to fourth embodiments, in the initial stage, the first error correction algorithm is used, and after an error occurs, the second error correction algorithm having a higher correction capability is used. .

これに対して、第5の実施の形態においては、固定的に、特定のデータあるいは特定の領域について、訂正能力の高い第2エラー訂正アルゴリズムを利用するものである。   On the other hand, in the fifth embodiment, the second error correction algorithm having a high correction capability is used for specific data or a specific area in a fixed manner.

図10は、第5の実施の形態に係るメモリ4を示す図である。冗長領域42は、第1の実施の形態における図3および図4と同様、第1ECC51あるいは第2ECC52が格納されることになる。図10においては、冗長領域42にいずれのECCが格納されているかを示している。   FIG. 10 is a diagram illustrating the memory 4 according to the fifth embodiment. The redundant area 42 stores the first ECC 51 or the second ECC 52 as in FIGS. 3 and 4 in the first embodiment. FIG. 10 shows which ECC is stored in the redundant area 42.

この図の例では、ページ0、ページ1、ページ2などの領域については、冗長領域42に第1ECC51が格納されている。そして、ページ50およびページ51については、冗長領域42に、第2ECC52が格納されている。そして、ページ0、ページ1、ページ2などについては、初期段階から固定的に、第1エラー訂正アルゴリズムが利用され、ページ50、ページ51については、初期段階から固定的に、第2エラー訂正アルゴリズムが利用されるのである。   In the example of this figure, the first ECC 51 is stored in the redundant area 42 for areas such as page 0, page 1, and page 2. For the page 50 and the page 51, the second ECC 52 is stored in the redundant area. For page 0, page 1, page 2, etc., the first error correction algorithm is used fixed from the initial stage, and for page 50, page 51, the second error correction algorithm is fixed from the initial stage. Is used.

たとえば、プログラムやデータの特性上、予め繰り返し読み出される可能性が高いと想定されるデータに関しては、第2ECC52を付加するようにすれば、効果的である。あるいは、メモリ4の物理的構造上、“Read Disturb”現象が発生し易いと想定されるページ領域については、第2ECC52を冗長領域42に格納すれば効果的である。   For example, it is effective to add the second ECC 52 for data that is likely to be read repeatedly in advance due to the characteristics of the program and data. Alternatively, for the page area where the “Read Disturb” phenomenon is likely to occur due to the physical structure of the memory 4, it is effective to store the second ECC 52 in the redundant area 42.

また、重要度の高いデータに関しては、第2ECCを付加するようにすれば、効果的である。重要度の高いデータとは、エラーが発生した場合に、アプリケーションなどの実行を妨げるデータである。あるいは、重要度の高いデータとは、エラーが発生した場合に、アプリケーションの実行に大きな影響を及ぼすデータである。たとえば、プログラム本体などが該当する。たとえば、アプリケーションプログラムによっては、画像データや音声データにエラーが発生しても、アプリケーションの実行には大きな影響を与えないが、プログラム本体にエラーが発生すると、実行が不可能になる。このような場合に、プログラム本体を重要度の高いデータとして扱うのである。   For data with high importance, it is effective to add the second ECC. High importance data is data that hinders the execution of an application or the like when an error occurs. Alternatively, highly important data is data that greatly affects the execution of an application when an error occurs. For example, the program main body is applicable. For example, depending on the application program, even if an error occurs in image data or audio data, the execution of the application is not greatly affected. In such a case, the program body is handled as highly important data.

このように、“Read Disturb”現象が発生しやすい領域、あるいは重要度の高いデータが格納される領域を特定し、当該領域のみについて、エラー訂正能力の高いECCを利用することで、冗長符号の無駄をなくすことができる。また、その他の領域については、処理負荷の小さいエラー訂正アルゴリズムを固定的に利用するので、高速な読み出しを行うことが可能である。   As described above, an area where the “Read Disturb” phenomenon is likely to occur or an area where highly important data is stored is specified, and an ECC having a high error correction capability is used only for the area, so that the redundant code can be generated. Waste can be eliminated. For other areas, an error correction algorithm with a small processing load is fixedly used, so that high-speed reading can be performed.

あるいは、冗長領域42に、第1ECC51と第2ECC52の両方が格納されていてもよい。この場合にも、たとえば、プログラムやデータの特性上、予め繰り返し読み出される可能性が高いと想定されるデータに関しては、ECC指定情報50により、第2ECC52が指定されるように設定するのである。あるいは、メモリ4の物理的構造上、“Read Disturb”現象が発生し易いと想定されるページ領域については、ECC指定情報50により、第2ECC52が指定されるように設定するのである。同様に、重要度の高いデータに関しては、ECC指定情報50により、第2ECC52が指定されるように設定するのである。   Alternatively, both the first ECC 51 and the second ECC 52 may be stored in the redundant area 42. Also in this case, for example, for data that is highly likely to be repeatedly read in advance due to the characteristics of the program and data, the second ECC 52 is set by the ECC designation information 50. Alternatively, the page area where the “Read Disturb” phenomenon is likely to occur due to the physical structure of the memory 4 is set so that the second ECC 52 is designated by the ECC designation information 50. Similarly, for data with high importance, setting is made so that the second ECC 52 is designated by the ECC designation information 50.

この実施の形態においても、エラー訂正コードおよびECC指定情報50が、冗長領域42に格納されているが、これらのデータが、データ領域41内に格納されていてもよい。あるいは、エラー訂正コードおよびECC指定情報50が、メモリ4以外の記憶手段に格納されていてもよい。   Also in this embodiment, the error correction code and the ECC designation information 50 are stored in the redundant area 42, but these data may be stored in the data area 41. Alternatively, the error correction code and the ECC designation information 50 may be stored in a storage unit other than the memory 4.

また、上記の各実施の形態で説明したエラー訂正方法を複合的に利用するようにしてもよい。たとえば、第1の実施の形態と第5の実施の形態を複合的に利用する方法が考えられる。具体的には、特定の領域については、初期段階から第2ECC52を格納する第5の実施の形態を適用させ、その他の領域については、エラーの発生に応じて第1ECC51から第2ECC52への書き換えを行う第1の実施の形態を適用させるのである。   Further, the error correction methods described in the above embodiments may be used in combination. For example, a method of using the first embodiment and the fifth embodiment in combination is conceivable. Specifically, the fifth embodiment in which the second ECC 52 is stored from the initial stage is applied to a specific area, and rewriting from the first ECC 51 to the second ECC 52 is performed for other areas in response to the occurrence of an error. The first embodiment to be performed is applied.

{第6の実施の形態}
第1の実施の形態および第2の実施の形態においては、エラービット数が所定の閾値を超えたとき、あるいはエラーが発生したときに、第2ECC52を生成して、冗長領域42等に格納するようにした。この他の実施の形態として、読み出し回数に応じて第2ECC52を生成するようにしてもよい。
{Sixth embodiment}
In the first embodiment and the second embodiment, when the number of error bits exceeds a predetermined threshold value or when an error occurs, the second ECC 52 is generated and stored in the redundancy area 42 or the like. I did it. As another embodiment, the second ECC 52 may be generated according to the number of times of reading.

つまり、メモリコントローラ3は、メモリ4の各記憶領域(例えばページ単位)の読み出し回数をカウントするのである。そして、読み出し回数が所定の閾値を超えた領域に格納されているデータについては、第2ECC52を生成して、冗長領域42等に格納するのである。そして、ECC指定情報50を書き換えて、第2ECC52が適用されるようにするのである。   That is, the memory controller 3 counts the number of readings of each storage area (for example, page unit) of the memory 4. For data stored in an area where the number of readings exceeds a predetermined threshold, the second ECC 52 is generated and stored in the redundant area 42 or the like. Then, the ECC designation information 50 is rewritten so that the second ECC 52 is applied.

{第7の実施の形態}
第3の実施の形態および第4の実施の形態においては、エラービット数が所定の閾値を超えたとき、あるいはエラーが発生したときに、第2ECC52を指定するよう、ECC指定情報50を書き換えるようにした。この他の実施の形態として、読み出し回数に応じてECC指定情報50を書き換えるようにしてもよい。
{Seventh embodiment}
In the third embodiment and the fourth embodiment, the ECC designation information 50 is rewritten so as to designate the second ECC 52 when the number of error bits exceeds a predetermined threshold or when an error occurs. I made it. As another embodiment, the ECC designation information 50 may be rewritten according to the number of times of reading.

つまり、メモリコントローラ3は、メモリ4の各記憶領域(例えばページ単位)の読み出し回数をカウントするのである。そして、読み出し回数が所定の閾値を超えた領域に格納されているデータについては、第2ECC52を指定するようECC指定情報50を書き換えるのである。   That is, the memory controller 3 counts the number of readings of each storage area (for example, page unit) of the memory 4. The ECC designation information 50 is rewritten so that the second ECC 52 is designated for data stored in an area where the number of readings exceeds a predetermined threshold.

{変形例}
上記第1、第2、第6の実施の形態においては、第2ECC52を生成して格納したときに、ECC指定情報50を書き換えるようにした。しかし、第2ECC52を生成した直後に、ECC指定情報50を書き換える以外に、別のタイミングで書き換えるようにしてもよい。
{Modifications}
In the first, second, and sixth embodiments, the ECC designation information 50 is rewritten when the second ECC 52 is generated and stored. However, immediately after the second ECC 52 is generated, the ECC designation information 50 may be rewritten at another timing in addition to rewriting.

たとえば、アプリケーションの実行中にはECC指定情報50を書き換えることは行わず、電源OFF時のアプリケーションに関するバックアップ中に書き換えを行う。あるいは、一定周期、アイドル中(アプリケーションによるメモリアクセスがないタイミング)、スリープ中、充電中、電源ON時などに書き換えを行うようにしてもよい。   For example, the ECC designation information 50 is not rewritten during execution of the application, but is rewritten during backup related to the application when the power is turned off. Alternatively, rewriting may be performed during a certain period, idle (timing when there is no memory access by an application), during sleep, during charging, or when the power is turned on.

ただし、電源ON時や、充電中にECC指定情報50を書き換える場合は、一度電源がOFFされるので、書き換えるECC指定情報50に関する情報を、一旦、別の不揮発性メモリに記憶しておくようにすればよい。   However, when the ECC designation information 50 is rewritten when the power is turned on or during charging, the power is turned off once, so that information related to the ECC designation information 50 to be rewritten is temporarily stored in another nonvolatile memory. do it.

また、上記第3、第4、第7の実施の形態においては、エラービット数が閾値を超えているとき、エラーが発生したとき、または、読み出し回数が所定の閾値を超えているときに、ECC指定情報50を書き換えるようにした。しかし、これら条件に適合すると判定された直後ではなく、別のタイミングでECC指定情報50を書き換えるようにしてもよい。   In the third, fourth, and seventh embodiments, when the number of error bits exceeds a threshold, when an error occurs, or when the number of readings exceeds a predetermined threshold, The ECC designation information 50 was rewritten. However, the ECC designation information 50 may be rewritten at another timing instead of immediately after it is determined that these conditions are met.

たとえば、電源OFF時のアプリケーションに関するバックアップ中、一定周期、アイドル中、スリープ中、充電中、電源ON時などに書き換えを行うようにしてもよい。   For example, rewriting may be performed during backup related to an application when the power is turned off, during a certain period, during idling, during sleep, during charging, or when the power is turned on.

ただし、電源ON時や、充電中にECC指定情報50を書き換える場合は、一度電源がOFFされるので、書き換えるECC指定情報50に関する情報を、一旦、別の不揮発性メモリに記憶しておくようにすればよい。   However, when the ECC designation information 50 is rewritten when the power is turned on or during charging, the power is turned off once, so that information related to the ECC designation information 50 to be rewritten is temporarily stored in another nonvolatile memory. do it.

実施の形態に係る情報処理システムのブロック図である。1 is a block diagram of an information processing system according to an embodiment. メモリの記憶領域を示す図である。It is a figure which shows the storage area of memory. 冗長領域を示す図である。It is a figure which shows a redundant area. 冗長領域を示す図である。It is a figure which shows a redundant area. 第1の実施の形態に係るエラー訂正処理のフローチャートである。It is a flowchart of the error correction process which concerns on 1st Embodiment. 第2の実施の形態に係るエラー訂正処理のフローチャートである。It is a flowchart of the error correction process which concerns on 2nd Embodiment. 冗長領域を示す図である。It is a figure which shows a redundant area. 第3の実施の形態に係るエラー訂正処理のフローチャートである。It is a flowchart of the error correction process which concerns on 3rd Embodiment. 第4の実施の形態に係るエラー訂正処理のフローチャートである。It is a flowchart of the error correction process which concerns on 4th Embodiment. 第5の実施の形態に係るメモリに格納されたECCを示す図である。It is a figure which shows ECC stored in the memory which concerns on 5th Embodiment. “Read Disturb”現象の発生動作を示す図である。It is a figure which shows generation | occurrence | production operation | movement of a "Read Disturb" phenomenon.

符号の説明Explanation of symbols

1 ホストシステム
2 メモリモジュール
3 メモリコントローラ
4 メモリ
41 データ領域
42 冗長領域
50 ECC指定情報
51 第1ECC
52 第2ECC
1 Host system 2 Memory module 3 Memory controller 4 Memory 41 Data area 42 Redundant area 50 ECC designation information 51 First ECC
52 2nd ECC

Claims (20)

第1のエラー訂正コードあるいは第1のエラー訂正コードより訂正能力の高い第2のエラー訂正コードが付加されたデータが格納される再書き込み可能な不揮発性半導体メモリと、
前記不揮発性半導体メモリに対するアクセスを制御するメモリコントローラと、
を備え、
前記メモリコントローラは、第1のエラー訂正コードおよび第2のエラー訂正コードを利用した誤り訂正処理を実行することが可能であり、
前記メモリコントローラは、
前記不揮発性半導体メモリから読み出したデータに対して、第1のエラー訂正コードあるいは第2のエラー訂正コードを利用して誤り訂正処理を実行する手段、
を備えることを特徴とする半導体メモリシステム。
A rewritable nonvolatile semiconductor memory storing data to which the first error correction code or the second error correction code having higher correction capability than the first error correction code is stored;
A memory controller for controlling access to the nonvolatile semiconductor memory;
With
The memory controller can execute an error correction process using the first error correction code and the second error correction code,
The memory controller is
Means for performing error correction processing on the data read from the nonvolatile semiconductor memory using the first error correction code or the second error correction code;
A semiconductor memory system comprising:
データが格納される再書き込み可能な不揮発性半導体メモリと、
前記不揮発性半導体メモリに格納されたデータを訂正するための第1のエラー訂正コードあるいは第1のエラー訂正コードより訂正能力の高い第2のエラー訂正コードが格納される訂正コード記憶手段と、
前記不揮発性半導体メモリに対するアクセスを制御するメモリコントローラと、
を備え、
前記メモリコントローラは、第1のエラー訂正コードおよび第2のエラー訂正コードを利用した誤り訂正処理を実行することが可能であり、
前記メモリコントローラは、
前記不揮発性半導体メモリから読み出したデータに対して、第1のエラー訂正コードあるいは第2のエラー訂正コードを利用して誤り訂正処理を実行する手段、
を備えることを特徴とする半導体メモリシステム。
A rewritable nonvolatile semiconductor memory in which data is stored;
Correction code storage means for storing a first error correction code for correcting data stored in the nonvolatile semiconductor memory or a second error correction code having a higher correction capability than the first error correction code;
A memory controller for controlling access to the nonvolatile semiconductor memory;
With
The memory controller can execute an error correction process using the first error correction code and the second error correction code,
The memory controller is
Means for performing error correction processing on the data read from the nonvolatile semiconductor memory using the first error correction code or the second error correction code;
A semiconductor memory system comprising:
請求項1に記載の半導体メモリシステムにおいて、
前記メモリコントローラは、さらに、
データに対して第1のエラー訂正コードを利用して誤り訂正を行った後、読み出しデータに係る第2のエラー訂正コードを生成し、前記不揮発性半導体メモリに、生成した第2のエラー訂正コードを格納するエラー訂正コード格納手段、
を備えることを特徴とする半導体メモリシステム。
The semiconductor memory system according to claim 1,
The memory controller further includes:
After performing error correction on the data using the first error correction code, a second error correction code related to the read data is generated, and the generated second error correction code is stored in the nonvolatile semiconductor memory. Error correction code storage means for storing,
A semiconductor memory system comprising:
請求項2に記載の半導体メモリシステムにおいて、
前記メモリコントローラは、さらに、
データに対して第1のエラー訂正コードを利用して誤り訂正を行った後、読み出しデータに係る第2のエラー訂正コードを生成し、前記訂正コード記憶手段に、生成した第2のエラー訂正コードを格納するエラー訂正コード格納手段、
を備えることを特徴とする半導体メモリシステム。
The semiconductor memory system according to claim 2.
The memory controller further includes:
After error correction is performed on the data using the first error correction code, a second error correction code related to the read data is generated, and the generated second error correction code is stored in the correction code storage means. Error correction code storage means for storing
A semiconductor memory system comprising:
請求項3または請求項4に記載の半導体メモリシステムにおいて、
前記訂正コード格納手段は、読み出しデータに関してエラーが発生したとき、エラービットの数が所定の閾値を超えている場合に、第2のエラー訂正コードを格納することを特徴とする半導体メモリシステム。
The semiconductor memory system according to claim 3 or 4,
The correction code storage means stores a second error correction code when an error occurs in the read data and the number of error bits exceeds a predetermined threshold.
請求項3または請求項4に記載の半導体メモリシステムにおいて、
前記訂正コード格納手段は、読み出しデータに関してエラーが発生したとき、エラービットの数に関わらず、第2のエラー訂正コードを格納することを特徴とする半導体メモリシステム。
The semiconductor memory system according to claim 3 or 4,
The correction code storage means stores a second error correction code regardless of the number of error bits when an error occurs in the read data.
請求項1に記載の半導体メモリシステムにおいて、
前記メモリコントローラは、さらに、
前記不揮発性半導体メモリからからデータを読み出したとき、その領域の読み出し回数が、所定の回数を超えていた場合は、読み出しデータに係る第2のエラー訂正コードを生成し、前記不揮発性半導体メモリに、生成した第2のエラー訂正コードを格納するエラー訂正コード格納手段、
を備えることを特徴とする半導体メモリシステム。
The semiconductor memory system according to claim 1,
The memory controller further includes:
When data is read from the nonvolatile semiconductor memory, if the number of times the area has been read exceeds a predetermined number, a second error correction code related to the read data is generated, and the nonvolatile semiconductor memory Error correction code storage means for storing the generated second error correction code,
A semiconductor memory system comprising:
請求項2に記載の半導体メモリシステムにおいて、
前記メモリコントローラは、さらに、
前記不揮発性半導体メモリからからデータを読み出したとき、その領域の読み出し回数が、所定の回数を超えていた場合は、読み出しデータに係る第2のエラー訂正コードを生成し、前記訂正コード記憶手段に、生成した第2のエラー訂正コードを格納するエラー訂正コード格納手段、
を備えることを特徴とする半導体メモリシステム。
The semiconductor memory system according to claim 2.
The memory controller further includes:
When data is read from the nonvolatile semiconductor memory, if the number of times the area has been read exceeds a predetermined number, a second error correction code related to the read data is generated and stored in the correction code storage means Error correction code storage means for storing the generated second error correction code,
A semiconductor memory system comprising:
請求項1に記載の半導体メモリシステムにおいて、
前記不揮発性半導体メモリには、各記憶領域のデータについて第1のエラー訂正コードを使用するのか、第2のエラー訂正コードを使用するのかを指定する指定情報が記憶されていることを特徴とする半導体メモリシステム。
The semiconductor memory system according to claim 1,
The nonvolatile semiconductor memory stores designation information for designating whether to use a first error correction code or a second error correction code for data in each storage area. Semiconductor memory system.
請求項2に記載の半導体メモリシステムにおいて、
前記訂正コード記憶手段には、各記憶領域のデータについて第1のエラー訂正コードを使用するのか、第2のエラー訂正コードを使用するのかを指定する指定情報が記憶されていることを特徴とする半導体メモリシステム。
The semiconductor memory system according to claim 2.
The correction code storage means stores designation information for designating whether to use a first error correction code or a second error correction code for data in each storage area. Semiconductor memory system.
請求項9または請求項10に記載の半導体メモリシステムにおいて、
前記訂正コード格納手段は、第2のエラー訂正コードを格納した後、前記指定情報についても、第2のエラー訂正コードを指定する情報に書き換えることを特徴とする半導体メモリシステム。
The semiconductor memory system according to claim 9 or 10,
The correction code storage means stores the second error correction code, and then rewrites the designation information to information designating the second error correction code.
第1のエラー訂正コードおよび第1のエラー訂正コードより訂正能力の高い第2のエラー訂正コードが付加されたデータが格納される再書き込み可能な前記不揮発性半導体メモリと、
前記不揮発性半導体メモリに対するアクセスを制御するメモリコントローラと、
を備え、
前記不揮発性半導体メモリには、各記憶領域のデータについて第1のエラー訂正コードが適用されているのか、第2のエラー訂正コードが適用されているのかを指定する指定情報が記憶されており、
前記メモリコントローラは、第1のエラー訂正コードおよび第2のエラー訂正コードを利用した誤り訂正処理を実行することが可能であり、
前記メモリコントローラは、
前記不揮発性半導体メモリから読み出したデータに対して、前記指定情報で指定されている第1のエラー訂正コードあるいは第2のエラー訂正コードを利用して誤り訂正処理を実行する手段、
を備えることを特徴とする半導体メモリシステム。
The rewritable nonvolatile semiconductor memory in which data to which a first error correction code and a second error correction code having a higher correction capability than the first error correction code are added is stored;
A memory controller for controlling access to the nonvolatile semiconductor memory;
With
In the nonvolatile semiconductor memory, designation information for designating whether the first error correction code is applied to the data in each storage area or the second error correction code is applied is stored.
The memory controller can execute an error correction process using the first error correction code and the second error correction code,
The memory controller is
Means for executing an error correction process on the data read from the nonvolatile semiconductor memory using the first error correction code or the second error correction code specified by the specification information;
A semiconductor memory system comprising:
データが格納される再書き込み可能な不揮発性半導体メモリと、
前記不揮発性半導体メモリに格納されたデータを訂正するための第1のエラー訂正コードおよび第1のエラー訂正コードより訂正能力の高い第2のエラー訂正コードが格納される訂正コード記憶手段と、
前記不揮発性半導体メモリに対するアクセスを制御するメモリコントローラと、
を備え、
前記訂正コード記憶手段には、各記憶領域のデータについて第1のエラー訂正コードが適用されているのか、第2のエラー訂正コードが適用されているのかを指定する指定情報が記憶されており、
前記メモリコントローラは、第1のエラー訂正コードおよび第2のエラー訂正コードを利用した誤り訂正処理を実行することが可能であり、
前記メモリコントローラは、
前記不揮発性半導体メモリから読み出したデータに対して、前記指定情報で指定されている第1のエラー訂正コードあるいは第2のエラー訂正コードを利用して誤り訂正処理を実行する手段、
を備えることを特徴とする半導体メモリシステム。
A rewritable nonvolatile semiconductor memory in which data is stored;
Correction code storage means for storing a first error correction code for correcting data stored in the nonvolatile semiconductor memory and a second error correction code having a higher correction capability than the first error correction code;
A memory controller for controlling access to the nonvolatile semiconductor memory;
With
The correction code storage means stores designation information for designating whether the first error correction code or the second error correction code is applied to the data in each storage area,
The memory controller can execute an error correction process using the first error correction code and the second error correction code,
The memory controller is
Means for executing an error correction process on the data read from the nonvolatile semiconductor memory using the first error correction code or the second error correction code specified by the specification information;
A semiconductor memory system comprising:
請求項12または請求項13に記載の半導体メモリシステムにおいて、さらに、
読み出しデータに対して第1のエラー訂正コードを利用して誤り訂正を行った後、当該読み出しデータに関して第2のエラー訂正コードが適用されるよう前記指定情報を書き換える指定情報変更手段、
を備えることを特徴とする半導体メモリシステム。
14. The semiconductor memory system according to claim 12, further comprising:
Designation information changing means for rewriting the designation information so that the second error correction code is applied to the read data after performing error correction on the read data using the first error correction code;
A semiconductor memory system comprising:
請求項14に記載の半導体メモリシステムにおいて、
前記指定情報変更手段は、読み出しデータに関してエラーが発生した場合であって、エラービットの数が所定の閾値を超えている場合に、前記指定情報を書き換えることを特徴とする半導体メモリシステム。
15. The semiconductor memory system according to claim 14, wherein
The specified information changing means rewrites the specified information when an error occurs with respect to read data and the number of error bits exceeds a predetermined threshold.
請求項14に記載の半導体メモリシステムにおいて、
前記指定情報変更手段は、読み出しデータに関してエラーが発生した場合、エラービットの数に関わらず、前記指定情報を書き換えることを特徴とする半導体メモリシステム。
15. The semiconductor memory system according to claim 14, wherein
The specified information changing means rewrites the specified information regardless of the number of error bits when an error occurs in the read data.
請求項12または請求項13に記載の半導体メモリシステムにおいて、
前記メモリコントローラは、さらに、
前記不揮発性半導体メモリからデータを読み出したとき、その領域の読み出し回数が、所定の回数を超えていた場合は、当該読み出しデータに関して第2のエラー訂正コードが適用されるよう前記指定情報を書き換える指定情報変更手段、
を備えることを特徴とする半導体メモリシステム。
The semiconductor memory system according to claim 12 or 13,
The memory controller further includes:
When the data is read from the non-volatile semiconductor memory, if the number of times the area has been read exceeds a predetermined number, the designation information is rewritten so that the second error correction code is applied to the read data. Information change means,
A semiconductor memory system comprising:
請求項1、請求項2、請求項12および請求項13のいずれかに記載の半導体メモリシステムにおいて、
前記不揮発性半導体メモリに記憶されるデータの中で、読み出しアクセスが多数発生すると想定されたデータに関しては、第2のエラー訂正コードが使用されることを特徴とする半導体メモリシステム。
The semiconductor memory system according to any one of claims 1, 2, 12, and 13,
2. A semiconductor memory system, wherein a second error correction code is used for data that is assumed to have a large number of read accesses among data stored in the nonvolatile semiconductor memory.
請求項1、請求項2、請求項12および請求項13のいずれかに記載の半導体メモリシステムにおいて、
前記不揮発性半導体メモリの記憶領域の中で、読み出しエラーが発生すると想定された記憶領域に格納されるデータに関しては、第2のエラー訂正コードが使用されることを特徴とする半導体メモリシステム。
The semiconductor memory system according to any one of claims 1, 2, 12, and 13,
A semiconductor memory system, wherein a second error correction code is used for data stored in a storage area in which a read error is assumed to occur in the storage area of the nonvolatile semiconductor memory.
請求項1、請求項2、請求項12および請求項13のいずれかに記載の半導体メモリシステムにおいて、
前記不揮発性半導体メモリに記憶されるデータの中で、重要度の高いデータに関しては、第2のエラー訂正コードが使用されることを特徴とする半導体メモリシステム。
The semiconductor memory system according to any one of claims 1, 2, 12, and 13,
A semiconductor memory system characterized in that a second error correction code is used for data of high importance among data stored in the nonvolatile semiconductor memory.
JP2007028170A 2007-02-07 2007-02-07 Semiconductor memory system Expired - Fee Related JP4925301B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007028170A JP4925301B2 (en) 2007-02-07 2007-02-07 Semiconductor memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007028170A JP4925301B2 (en) 2007-02-07 2007-02-07 Semiconductor memory system

Publications (2)

Publication Number Publication Date
JP2008192054A true JP2008192054A (en) 2008-08-21
JP4925301B2 JP4925301B2 (en) 2012-04-25

Family

ID=39752077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007028170A Expired - Fee Related JP4925301B2 (en) 2007-02-07 2007-02-07 Semiconductor memory system

Country Status (1)

Country Link
JP (1) JP4925301B2 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042911A (en) * 2007-08-07 2009-02-26 Mega Chips Corp Memory access system
JP2010237822A (en) * 2009-03-30 2010-10-21 Toshiba Corp Memory controller and semiconductor memory device
JP2011081776A (en) * 2009-09-11 2011-04-21 Sony Corp Nonvolatile memory apparatus, memory controller, and memory system
JP2011233207A (en) * 2010-04-28 2011-11-17 Univ Of Tokyo Data input/output control device and semiconductor memory system
JP2012094132A (en) * 2010-10-01 2012-05-17 Siglead Inc Non-volatile semiconductor memory device and data error correction method
JP2012198878A (en) * 2011-03-21 2012-10-18 Denso Corp Refresh operation start method and system for semiconductor nonvolatile memory device
JP2013003656A (en) * 2011-06-13 2013-01-07 Mega Chips Corp Memory controller
US8423878B2 (en) 2009-05-28 2013-04-16 Samsung Electronics Co., Ltd. Memory controller and memory system including the same having interface controllers generating parity bits
JP2013546039A (en) * 2010-09-29 2013-12-26 インターナショナル・ビジネス・マシーンズ・コーポレーション Decoding in solid state memory devices
JP2016066236A (en) * 2014-09-25 2016-04-28 日立オートモティブシステムズ株式会社 Embedded control unit
JP2017027440A (en) * 2015-07-24 2017-02-02 ソニー株式会社 Encoding device, memory system, communication system, and encoding method
JP2018525736A (en) * 2015-07-28 2018-09-06 華為技術有限公司Huawei Technologies Co.,Ltd. Dynamic coding algorithm for intelligent coding memory system
KR20180123426A (en) * 2017-05-08 2018-11-16 삼성전자주식회사 Coding mechanism including morphable ecc encoder/decoder for dimm over ddr channel, and method of thereof
JP2019057055A (en) * 2017-09-20 2019-04-11 東芝メモリ株式会社 Memory system
US10437480B2 (en) 2015-12-01 2019-10-08 Futurewei Technologies, Inc. Intelligent coded memory architecture with enhanced access scheduler
CN114360623A (en) * 2021-12-27 2022-04-15 海光信息技术股份有限公司 Method for memory error correction, memory controller and computer system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116386708A (en) 2022-01-03 2023-07-04 三星电子株式会社 Storage device and method of operation thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187248A (en) * 1992-12-16 1994-07-08 Nec Corp Data error detection and correction control circuit
JPH0816488A (en) * 1994-06-29 1996-01-19 Nec Corp Electronic disk device
JP2004164634A (en) * 2002-10-28 2004-06-10 Sandisk Corp Hybrid implementation for error correction code in non-volatile memory systems
JP2005216301A (en) * 2004-01-29 2005-08-11 Hewlett-Packard Development Co Lp System constituting solid storage device with error correction code, and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187248A (en) * 1992-12-16 1994-07-08 Nec Corp Data error detection and correction control circuit
JPH0816488A (en) * 1994-06-29 1996-01-19 Nec Corp Electronic disk device
JP2004164634A (en) * 2002-10-28 2004-06-10 Sandisk Corp Hybrid implementation for error correction code in non-volatile memory systems
JP2005216301A (en) * 2004-01-29 2005-08-11 Hewlett-Packard Development Co Lp System constituting solid storage device with error correction code, and method

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042911A (en) * 2007-08-07 2009-02-26 Mega Chips Corp Memory access system
JP2010237822A (en) * 2009-03-30 2010-10-21 Toshiba Corp Memory controller and semiconductor memory device
US8423878B2 (en) 2009-05-28 2013-04-16 Samsung Electronics Co., Ltd. Memory controller and memory system including the same having interface controllers generating parity bits
JP2011081776A (en) * 2009-09-11 2011-04-21 Sony Corp Nonvolatile memory apparatus, memory controller, and memory system
US8438457B2 (en) 2009-09-11 2013-05-07 Sony Corporation Nonvolatile memory apparatus, memory controller, and memory system
JP2011233207A (en) * 2010-04-28 2011-11-17 Univ Of Tokyo Data input/output control device and semiconductor memory system
JP2013546039A (en) * 2010-09-29 2013-12-26 インターナショナル・ビジネス・マシーンズ・コーポレーション Decoding in solid state memory devices
US9176814B2 (en) 2010-09-29 2015-11-03 International Business Machines Corporation Decoding in solid state memory devices
JP2012094132A (en) * 2010-10-01 2012-05-17 Siglead Inc Non-volatile semiconductor memory device and data error correction method
JP2012198878A (en) * 2011-03-21 2012-10-18 Denso Corp Refresh operation start method and system for semiconductor nonvolatile memory device
JP2013003656A (en) * 2011-06-13 2013-01-07 Mega Chips Corp Memory controller
US9817711B2 (en) 2011-06-13 2017-11-14 Megachips Corporation Memory controller
US8949690B2 (en) 2011-06-13 2015-02-03 Megachips Corporation Memory controller
JP2016066236A (en) * 2014-09-25 2016-04-28 日立オートモティブシステムズ株式会社 Embedded control unit
JP2017027440A (en) * 2015-07-24 2017-02-02 ソニー株式会社 Encoding device, memory system, communication system, and encoding method
JP2018525736A (en) * 2015-07-28 2018-09-06 華為技術有限公司Huawei Technologies Co.,Ltd. Dynamic coding algorithm for intelligent coding memory system
US10437480B2 (en) 2015-12-01 2019-10-08 Futurewei Technologies, Inc. Intelligent coded memory architecture with enhanced access scheduler
KR20180123426A (en) * 2017-05-08 2018-11-16 삼성전자주식회사 Coding mechanism including morphable ecc encoder/decoder for dimm over ddr channel, and method of thereof
JP2018190416A (en) * 2017-05-08 2018-11-29 三星電子株式会社Samsung Electronics Co.,Ltd. Coding mechanism and method
KR102421048B1 (en) 2017-05-08 2022-07-14 삼성전자주식회사 Coding mechanism including morphable ecc encoder/decoder for dimm over ddr channel, and method of thereof
JP7231989B2 (en) 2017-05-08 2023-03-02 三星電子株式会社 Coding mechanism and method
JP2019057055A (en) * 2017-09-20 2019-04-11 東芝メモリ株式会社 Memory system
US11336305B2 (en) 2017-09-20 2022-05-17 Kioxia Corporation Memory system
CN114360623A (en) * 2021-12-27 2022-04-15 海光信息技术股份有限公司 Method for memory error correction, memory controller and computer system

Also Published As

Publication number Publication date
JP4925301B2 (en) 2012-04-25

Similar Documents

Publication Publication Date Title
JP4925301B2 (en) Semiconductor memory system
JP5137002B2 (en) Memory controller
JP5661227B2 (en) Memory controller
US8452913B2 (en) Semiconductor memory device and method of processing data for erase operation of semiconductor memory device
JP5028577B2 (en) Memory control method and memory system
JP5162763B2 (en) Memory access system
US20180114570A1 (en) Data Storage Device and Data Writing Method Thereof
JP2008198310A (en) Method for repairing bit error and information processing system
JP6744950B1 (en) Semiconductor device and continuous reading method
JPWO2009004674A1 (en) Storage device, disk device, write determination method, control device
JP5592478B2 (en) Nonvolatile storage device and memory controller
JP2020086739A (en) Memory controller and flash memory system including the same
KR100967026B1 (en) Non volatile memory device and cache reading method thereof
JP2008251154A (en) Nonvolatile semiconductor memory device
JP4177360B2 (en) Memory controller, flash memory system, and flash memory control method
JP2007004868A (en) Semiconductor memory device and semiconductor memory device control method
JP4544167B2 (en) Memory controller and flash memory system
JP4661369B2 (en) Memory controller
JP4501881B2 (en) Memory controller and flash memory system
JP2007094639A (en) Memory controller and flash memory system
JP4818453B1 (en) Electronic device and data reading method
JP2005292925A (en) Memory controller, flash memory system, and control method for flash memory
US20110228605A1 (en) Nonvolatile memory
JP2006221743A (en) Memory system and method for writing semiconductor memory device
JP4655034B2 (en) Memory controller, flash memory system, and flash memory control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090323

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20090323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111011

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111202

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120203

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

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4925301

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees