JP2013168173A - Memory controller - Google Patents

Memory controller Download PDF

Info

Publication number
JP2013168173A
JP2013168173A JP2013094045A JP2013094045A JP2013168173A JP 2013168173 A JP2013168173 A JP 2013168173A JP 2013094045 A JP2013094045 A JP 2013094045A JP 2013094045 A JP2013094045 A JP 2013094045A JP 2013168173 A JP2013168173 A JP 2013168173A
Authority
JP
Japan
Prior art keywords
error detection
address
memory controller
memory
scan
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
JP2013094045A
Other languages
Japanese (ja)
Other versions
JP5521087B2 (en
Inventor
Masayuki Imagawa
雅之 今川
Tetsuo Koto
哲生 古都
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 Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2013094045A priority Critical patent/JP5521087B2/en
Publication of JP2013168173A publication Critical patent/JP2013168173A/en
Application granted granted Critical
Publication of JP5521087B2 publication Critical patent/JP5521087B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide technique to avoid or reduce possibility of unintended rewriting of data, due to repeated readout of data from a nonvolatile memory.SOLUTION: A memory controller 2 widely performs error detection about non-readout addresses except readout addresses in all the memory cell array areas. Thus, by performing the error detection about an address at which error occurs without readout access, it is possible to detect occurrence of the error at the address. Accordingly, it is possible to prevent "read disturb phenomenon" in which repeated readout access to a readout address may probably cause the error at a non-readout address except the readout address.

Description

本発明は、不揮発性メモリからデータが繰り返し読み出されることにより、データが意図せず書き換えられる可能性を回避または低減する技術に関する。   The present invention relates to a technique for avoiding or reducing the possibility that data is unintentionally rewritten by repeatedly reading data from a nonvolatile memory.

不揮発性メモリの中でも、NANDフラッシュメモリは、単純な回路構成による高集積化および製造コスト減、ユーザによる書き込みの容易化を図ることができるため、SDメモリカードなどに大量に採用されている。   Among non-volatile memories, NAND flash memories are used in large quantities in SD memory cards and the like because they can be highly integrated and reduced in manufacturing cost by a simple circuit configuration, and can be easily written 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, NAND flash memories are increasingly being used like 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 the 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が印加される。   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.

このとき、非選択セル53は微弱な書き込み状態にあるため、非選択セル53のフローティングゲートに電子がトラップされ蓄積される。すなわち、選択セル52が格納する二値データが繰り返し読み出されることにより、非選択セル53の閾値電圧がシフトして、非選択セル53が格納する二値データが“1”から“0”に意図せず書き換えられる可能性がある。   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, by repeatedly reading the binary data stored in the selected cell 52, the threshold voltage of the non-selected cell 53 is shifted, and the binary data stored in the non-selected cell 53 is intentionally changed from “1” to “0”. There is a possibility of rewriting without.

もっとも、非選択セル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 can be restored when the data is erased all at once before being newly written. it can. However, when continuous reading occurs without writing, the function of the non-selected cell 53 cannot be recovered.

米国特許出願公開第2005/0210184号明細書US Patent Application Publication No. 2005/0210184 特開平8−129510号公報JP-A-8-129510

特許文献1は、メモリセル内部の制御方法により、“Read Disturb”現象を回避する手段を提供する。しかし、ここで開示されている方法は、特定のセル構造を有するメモリに対して適用可能な方法であり、他のセル構造に適用可能な方法ではない。つまり、メモリのセル構造に依存することなく、“Read Disturb”現象を回避できる方策ではない。   Patent Document 1 provides a means for avoiding a “Read Disturb” phenomenon by a control method inside a memory cell. However, the method disclosed here is a method applicable to a memory having a specific cell structure, and is not a method 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.

特許文献2は、エラー検出を行なう手段を提供する。しかし、ここで開示されている方法は、読み出しアドレスについてのみエラー検出を行なう方法であり、読み出しアドレス以外の非読み出しアドレスについてもエラー検出を行なう方法ではない。つまり、エラーが発生したアドレスについて読み出しアクセスが行なわれるまで、そのアドレスにおいてエラーが発生したことが検出されないため、“Read Disturb”現象を回避できる方策ではない。   Patent Document 2 provides a means for performing error detection. However, the method disclosed herein is a method of detecting an error only for a read address, and is not a method of detecting an error for a non-read address other than the read address. In other words, it is not a measure that can avoid the “Read Disturb” phenomenon, because it is not detected that an error has occurred at that address until a read access is made to the address where the error has occurred.

そこで、本発明は前記問題点に鑑み、不揮発性メモリからデータが繰り返し読み出されることにより、データが意図せず書き換えられる可能性を回避または低減する技術を提供することを目的とする。   Accordingly, an object of the present invention is to provide a technique for avoiding or reducing the possibility that data is unintentionally rewritten by repeatedly reading data from a nonvolatile memory.

上記課題を解決するため、請求項1記載の発明は、ホストシステムからのメモリアクセスの要求に応じて、メモリセルアレイにアクセスを行なうメモリコントローラであって、前記メモリセルアレイにアクセスが行なわれているかどうかを判断するアクセス判断手段と、前記メモリセルアレイにアクセスが行なわれていないタイミングにおいて、所定のアルゴリズムを用いて選択されたアドレスについてエラー検出を行なう選択アドレスエラー検出手段と、を備え、前記アクセス判断手段は、前記ホストシステムの要求に応じて前記メモリセルアレイから読み出されたデータが前記ホストシステムに出力されている場合、前記メモリセルアレイにアクセスが行われていないと判断することを特徴とする。   In order to solve the above-described problem, the invention described in claim 1 is a memory controller that accesses a memory cell array in response to a memory access request from a host system, and whether or not the memory cell array is accessed. And an access determination means for detecting an error for an address selected using a predetermined algorithm at a timing when the memory cell array is not accessed. Is characterized in that if the data read from the memory cell array in response to a request from the host system is output to the host system, it is determined that the memory cell array is not accessed.

請求項2記載の発明は、請求項1に記載のメモリコントローラにおいて、さらに、読み出しアドレスについてエラー検出を行なう読み出しアドレスエラー検出手段、を備えることを特徴とする。   According to a second aspect of the present invention, the memory controller according to the first aspect further comprises read address error detecting means for detecting an error for the read address.

請求項3記載の発明は、請求項1または請求項2に記載のメモリコントローラにおいて、前記選択アドレスエラー検出手段は、あるエラー検出タイミングにおいてエラー検出開始アドレスを選択するとともに、前記あるエラー検出タイミングおよびその後のエラー検出タイミングにおいて、前記エラー検出開始アドレスに関連するアドレスについてエラー検出を行なう手段、を含むことを特徴とする。   According to a third aspect of the present invention, in the memory controller according to the first or second aspect, the selected address error detection means selects an error detection start address at a certain error detection timing, and the certain error detection timing and Means for performing error detection on an address related to the error detection start address at a subsequent error detection timing.

請求項4記載の発明は、請求項1または請求項2に記載のメモリコントローラにおいて、前記選択アドレスエラー検出手段は、エラー検出タイミングが到来するごとにエラー検出開始アドレスを選択するとともに、前記エラー検出タイミングにおいて、前記エラー検出開始アドレスに関連するアドレスについてエラー検出を行なう手段、を含むことを特徴とする。   According to a fourth aspect of the present invention, in the memory controller according to the first or second aspect, the selection address error detection means selects an error detection start address every time an error detection timing arrives, and the error detection Means for performing error detection on an address related to the error detection start address at the timing.

請求項5記載の発明は、請求項1または請求項2に記載のメモリコントローラにおいて、前記選択アドレスエラー検出手段は、エラー検出タイミングが到来するごとにエラー検出開始アドレスを選択し、前記エラー検出開始アドレスについてエラー検出を行なう手段、を含むことを特徴とする。   According to a fifth aspect of the present invention, in the memory controller according to the first or second aspect, the selection address error detection means selects an error detection start address each time an error detection timing arrives, and the error detection start Means for performing error detection on the address.

請求項6記載の発明は、請求項3ないし請求項5のいずれかに記載のメモリコントローラにおいて、前記エラー検出開始アドレスは、乱数発生により決定されるアドレス、を含むことを特徴とする。   According to a sixth aspect of the present invention, in the memory controller according to any one of the third to fifth aspects, the error detection start address includes an address determined by random number generation.

請求項7記載の発明は、請求項3ないし請求項5のいずれかに記載のメモリコントローラにおいて、前記エラー検出開始アドレスは、読み出しアクセスによりエラーが発生する可能性が高いと想定されるアドレス、を含むことを特徴とする。   According to a seventh aspect of the present invention, in the memory controller according to any one of the third to fifth aspects, the error detection start address is an address that is likely to cause an error due to a read access. It is characterized by including.

請求項8記載の発明は、請求項3ないし請求項5のいずれかに記載のメモリコントローラにおいて、前記エラー検出開始アドレスは、読み出しアクセスによりエラーが発生したアドレス、を含むことを特徴とする。   According to an eighth aspect of the present invention, in the memory controller according to any of the third to fifth aspects, the error detection start address includes an address where an error has occurred due to a read access.

請求項9記載の発明は、請求項3ないし請求項5のいずれかに記載のメモリコントローラにおいて、前記エラー検出開始アドレスは、重要度が高いと想定されるアドレス、を含むことを特徴とする。   According to a ninth aspect of the present invention, in the memory controller according to any one of the third to fifth aspects, the error detection start address includes an address assumed to have a high importance.

請求項10記載の発明は、請求項1ないし請求項9のいずれかに記載のメモリコントローラにおいて、前記アクセス判断手段は、前記メモリセルアレイに書き込みデータが出力されているかどうかを判断する手段、を含むことを特徴とする。   According to a tenth aspect of the present invention, in the memory controller according to any one of the first to ninth aspects, the access determining means includes means for determining whether or not write data is output to the memory cell array. It is characterized by that.

請求項11記載の発明は、請求項1ないし請求項9のいずれかに記載のメモリコントローラにおいて、前記アクセス判断手段は、前記ホストシステムからアクセスを要求されているかどうかを判断する手段、を含むことを特徴とする。   The invention according to claim 11 is the memory controller according to any one of claims 1 to 9, wherein the access determining means includes means for determining whether or not access is requested from the host system. It is characterized by.

請求項12記載の発明は、請求項1ないし請求項9のいずれかに記載のメモリコントローラにおいて、前記アクセス判断手段は、前記ホストシステムの電源状態が切り替えられたかどうかを判断する手段、を含むことを特徴とする。   According to a twelfth aspect of the present invention, in the memory controller according to any one of the first to ninth aspects, the access determining means includes means for determining whether or not the power state of the host system has been switched. It is characterized by.

請求項13記載の発明は、請求項1ないし請求項12のいずれかに記載のメモリコントローラにおいて、さらに、前記ホストシステムからエラー検出情報を要求されて、前記ホストシステムにエラー検出情報を通知するエラー通知手段、を備えることを特徴とする。   According to a thirteenth aspect of the present invention, in the memory controller according to any one of the first to twelfth aspects, an error that further requests error detection information from the host system and notifies the host system of the error detection information. A notification means.

請求項14記載の発明は、請求項13に記載のメモリコントローラにおいて、前記エラー通知手段は、エラー検出情報を保存する情報保存手段と、前記ホストシステムからエラー検出情報を要求されて、前記情報保存手段により保存されたエラー検出情報を前記ホストシステムに通知する手段と、を含むことを特徴とする。   According to a fourteenth aspect of the present invention, in the memory controller according to the thirteenth aspect, the error notification means is an information storage means for storing error detection information and the error detection information is requested from the host system, and the information storage is performed. Means for notifying the host system of error detection information stored by the means.

請求項15記載の発明は、請求項13に記載のメモリコントローラにおいて、前記エラー通知手段は、前記メモリセルアレイについてエラーが発生したことを検出したときに、前記ホストシステムがエラー検出情報を要求するための割り込みを発生させる手段、を含むことを特徴とする。   According to a fifteenth aspect of the present invention, in the memory controller according to the thirteenth aspect, when the error notification means detects that an error has occurred in the memory cell array, the host system requests error detection information. Means for generating an interrupt.

本発明に係るメモリコントローラは、読み出しアドレスについてのみエラー検出を行なうのではなく、読み出しアドレス以外の非読み出しアドレスについてもエラー検出を行なう。そのため、あるアドレスにおいてエラーが発生したとしても、そのアドレスについて読み出しアクセスが行なわれるまでもなくエラー検出が行なわれることにより、そのアドレスにおいてエラーが発生したことが検出される。   The memory controller according to the present invention performs error detection not only for the read address but also for non-read addresses other than the read address. Therefore, even if an error occurs at a certain address, it is detected that an error has occurred at that address by performing error detection without performing read access for that address.

本発明に係るメモリコントローラは、読み出しアドレスおよび非読みだしアドレスを含む全メモリセルアレイ領域についてエラー検出を行なうため、その後のエラー訂正により“Read Disturb”現象が進行することを未然に防止できる。   Since the memory controller according to the present invention performs error detection for all memory cell array regions including the read address and the non-read address, it is possible to prevent the “Read Disturb” phenomenon from proceeding due to subsequent error correction.

メモリシステムの構成要素を示すブロック図である。It is a block diagram which shows the component of a memory system. メモリセルアレイにおけるエラー検出スキャンを示す図である。It is a figure which shows the error detection scan in a memory cell array. メモリセルアレイにおけるエラー検出スキャンを示す図である。It is a figure which shows the error detection scan in a memory cell array. メモリセルアレイにおけるエラー検出スキャンを示す図である。It is a figure which shows the error detection scan in a memory cell array. SLC方式のNANDフラッシュメモリにおける“Read Disturb”現象を示す図である。FIG. 5 is a diagram illustrating a “Read Disturb” phenomenon in an SLC NAND flash memory. MLC方式のNANDフラッシュメモリにおける“Read Disturb”現象を示す図である。FIG. 5 is a diagram illustrating a “Read Disturb” phenomenon in an MLC NAND flash memory. ホストシステムがデータを取得する処理の流れを示す図である。It is a figure which shows the flow of a process in which a host system acquires data. メモリコントローラがエラーを検出する処理の流れを示す図である。It is a figure which shows the flow of a process in which a memory controller detects an error. メモリシステムの構成要素を示すブロック図である。It is a block diagram which shows the component of a memory system. メモリコントローラがエラーを検出する処理の流れを示す図である。It is a figure which shows the flow of a process in which a memory controller detects an error. NANDフラッシュメモリの模式図である。1 is a schematic diagram of a NAND flash memory.

{第1の実施の形態}
<メモリシステムの構成要素>
以下、図面を参照しつつ、第1の実施の形態について説明する。“Read Disturb”現象においては、読み出しアドレスが格納するデータが繰り返し読み出されるときに、読み出しアドレス以外の非読み出しアドレスが格納するデータが意図せず書き換えられる可能性がある。しかし、本実施の形態に係るメモリコントローラは、読み出しアドレスおよび非読み出しアドレスを含む全メモリセルアレイ領域についてエラー検出を行なうため、その後のエラー訂正により“Read Disturb”現象が進行することを未然に防止できる。
{First embodiment}
<Components of the memory system>
Hereinafter, the first embodiment will be described with reference to the drawings. In the “Read Disturb” phenomenon, when data stored in a read address is repeatedly read, data stored in a non-read address other than the read address may be rewritten unintentionally. However, since the memory controller according to the present embodiment performs error detection for all the memory cell array regions including the read address and the non-read address, it is possible to prevent the “Read Disturb” phenomenon from proceeding by subsequent error correction. .

もっとも、メモリコントローラは、メモリセルアレイに対して読み出しアクセス、書き込みアクセスなどが行なわれているときには、メモリセルアレイに対してエラー検出を行なうことができない。そこで、メモリコントローラは、メモリセルアレイに対して読み出しアクセス、書き込みアクセスなどが行なわれていないことを判断したときに、メモリセルアレイに対してエラー検出を行なう。   However, the memory controller cannot perform error detection on the memory cell array when read access, write access, or the like is performed on the memory cell array. Therefore, the memory controller performs error detection on the memory cell array when it is determined that read access, write access, or the like is not performed on the memory cell array.

しかし、メモリコントローラが全メモリセルアレイ領域について一度にエラー検出を行なうための時間は、読み出しアクセス、書き込みアクセスなどが終了してから次に開始するまでの時間より長いことが通常である。そこで、メモリコントローラは、メモリセルアレイに対して読み出しアクセス、書き込みアクセスなどが行なわれていないことを判断したときに、全メモリセルアレイ領域のうち選択したアドレスについてエラー検出を行なう。   However, the time for the memory controller to perform error detection at once for all memory cell array areas is usually longer than the time from the end of read access, write access, etc. to the next start. Therefore, when the memory controller determines that no read access, write access, or the like has been performed on the memory cell array, the memory controller performs error detection on selected addresses in all memory cell array regions.

図1は、本実施の形態に係るメモリシステムの構成要素を示すブロック図である。メモリシステムはたとえば情報処理装置などであり、ホストシステム1、メモリコントローラ2、メモリ3などから構成されている。図1においては、メモリセルアレイに対して読み出しアクセスが行なわれる場合を示している。   FIG. 1 is a block diagram showing components of the memory system according to the present embodiment. The memory system is, for example, an information processing apparatus, and includes a host system 1, a memory controller 2, a memory 3, and the like. FIG. 1 shows a case where read access is performed to the memory cell array.

ホストシステム1は、メモリ3の構成要素であるメモリセルアレイ31への読み出しアクセス、書き込みアクセスなどをメモリコントローラ2に要求するために、読み出しコマンド、書き込みコマンドなどをメモリコントローラ2に出力する。また、ホストシステム1は、メモリセルアレイ31でのエラー情報をメモリコントローラ2から取得するために、Status Readコマンドをメモリコントローラ2に出力する。   The host system 1 outputs a read command, a write command, and the like to the memory controller 2 in order to request the memory controller 2 for read access, write access, and the like to the memory cell array 31 that is a component of the memory 3. In addition, the host system 1 outputs a Status Read command to the memory controller 2 in order to acquire error information in the memory cell array 31 from the memory controller 2.

メモリコントローラ2は、ホストシステム1からの要求を受けて、メモリセルアレイ31への読み出しアクセス、書き込みアクセスなどを行なう。また、メモリコントローラ2は、メモリセルアレイ31への読み出しアクセス、書き込みアクセスなどが行なわれていないことを判断したときに、メモリセルアレイ31に対するエラー検出処理を行ない、メモリセルアレイ31でのエラー情報を保存する。そして、メモリコントローラ2は、ホストシステム1からの要求を受けて、メモリセルアレイ31でのエラー情報をホストシステム1に通知する。   In response to a request from the host system 1, the memory controller 2 performs read access, write access, and the like to the memory cell array 31. Further, when the memory controller 2 determines that read access, write access, or the like is not performed on the memory cell array 31, the memory controller 2 performs error detection processing on the memory cell array 31, and stores error information in the memory cell array 31. . The memory controller 2 receives a request from the host system 1 and notifies the host system 1 of error information in the memory cell array 31.

メモリ3は、メモリセルアレイ31において、ホストシステム1が処理するデータを格納する。本実施の形態に係るメモリ3として、SLC(Single−Level Cell)方式、または、MLC(Multi−Level Cell)方式のNANDフラッシュメモリを使用することが可能である。もっとも、読み出しアドレスにおいて格納されるデータが繰り返し読み出されるときに、非読み出しアドレスにおいて格納されるデータが意図せず書き換えられる可能性がある不揮発性メモリにおいて、本実施の形態を実施することが可能である。   The memory 3 stores data to be processed by the host system 1 in the memory cell array 31. As the memory 3 according to the present embodiment, a single-level cell (SLC) type or a multi-level cell (MLC) type NAND flash memory can be used. However, it is possible to implement this embodiment in a non-volatile memory where data stored at non-read addresses may be rewritten unintentionally when data stored at read addresses is repeatedly read. is there.

ホストシステム1は、CPU11、アクセスコントローラ12などから構成されている。CPU11は、読み出しコマンド、書き込みコマンドおよびStatus Readコマンドなどを、アクセスコントローラ12にセットする。アクセスコントローラ12は、CPU11からのコマンド発行命令を受けて、読み出しコマンド、書き込みコマンドおよびStatus Readコマンドなどを、メモリコントローラ2に出力する。   The host system 1 includes a CPU 11, an access controller 12, and the like. The CPU 11 sets a read command, a write command, a Status Read command, and the like in the access controller 12. The access controller 12 receives a command issuance instruction from the CPU 11 and outputs a read command, a write command, a Status Read command, and the like to the memory controller 2.

メモリコントローラ2は、ホストインターフェース21、コマンド解析部22、メモリアクセス制御部23、出力バッファ部24、スキャン制御部25、エラー検出部26、エラー情報保存部27、メモリインターフェース28などから構成されている。   The memory controller 2 includes a host interface 21, a command analysis unit 22, a memory access control unit 23, an output buffer unit 24, a scan control unit 25, an error detection unit 26, an error information storage unit 27, a memory interface 28, and the like. .

ホストインターフェース21は、ホストシステム1とメモリコントローラ2の間で、コマンドおよびデータをやりとりするためのインターフェースである。   The host interface 21 is an interface for exchanging commands and data between the host system 1 and the memory controller 2.

コマンド解析部22は、コマンドをホストシステム1から入力して、そのコマンドが読み出しコマンド、書き込みコマンドまたはStatus Readコマンドなどのうちいずれかを判別する。   The command analysis unit 22 inputs a command from the host system 1 and determines whether the command is a read command, a write command, or a Status Read command.

メモリアクセス制御部23は、読み出しコマンド、書き込みコマンドなどをコマンド解析部22から入力して、メモリセルアレイ31への読み出しアクセス、書き込みアクセスなどを行なう。また、メモリアクセス制御部23は、メモリセルアレイ31への読み出しアクセス、書き込みアクセスなどが行なわれていないことを判断したときに、メモリセルアレイ31に対するエラー検出処理を後述するスキャン制御部25に要求する。   The memory access control unit 23 inputs a read command, a write command, and the like from the command analysis unit 22 and performs read access, write access, and the like to the memory cell array 31. In addition, when the memory access control unit 23 determines that read access or write access to the memory cell array 31 is not performed, the memory access control unit 23 requests an error detection process for the memory cell array 31 to be described later.

メモリアクセス制御部23は、後述する出力バッファ部24が読み出しデータをホストシステム1に出力していることを確認することにより、メモリセルアレイ31への読み出しアクセスが行なわれていないことを判断する。また、メモリアクセス制御部23は、出力バッファ部24が書き込みデータをメモリ3に出力していないことを確認することにより、メモリセルアレイ31への書き込みアクセスが行なわれていないことを判断する。   The memory access control unit 23 determines that read access to the memory cell array 31 is not performed by confirming that an output buffer unit 24 described later outputs read data to the host system 1. Further, the memory access control unit 23 determines that the write access to the memory cell array 31 is not performed by confirming that the output buffer unit 24 does not output the write data to the memory 3.

出力バッファ部24は、読み出しデータをメモリ3から入力して一時的に格納する。そして、出力バッファ部24は、読み出しデータをホストシステム1に出力する。また、出力バッファ部24は、書き込みデータをホストシステム1から入力して一時的に格納する。そして、出力バッファ部24は、書き込みデータをメモリ3に出力する。   The output buffer unit 24 receives read data from the memory 3 and temporarily stores it. Then, the output buffer unit 24 outputs the read data to the host system 1. The output buffer unit 24 receives write data from the host system 1 and temporarily stores it. Then, the output buffer unit 24 outputs the write data to the memory 3.

スキャン制御部25は、メモリアクセス制御部23からの要求を受けて、エラー検出対象であるスキャンアドレスをメモリ3に対して指定する。また、スキャン制御部25は、Status Readコマンドをコマンド解析部22から入力して、メモリセルアレイ31でのエラー情報をホストシステム1に通知する。   In response to a request from the memory access control unit 23, the scan control unit 25 specifies a scan address that is an error detection target for the memory 3. In addition, the scan control unit 25 inputs a Status Read command from the command analysis unit 22 and notifies the host system 1 of error information in the memory cell array 31.

スキャン制御部25は、エラー検出対象であるスキャンアドレスを指定するときに、全メモリセルアレイ領域のうち、エラー検出を行なうアドレスを選択する。スキャン制御部25がエラー検出を行なうアドレスを選択する方法については、図2から図6までを用いて後述する。   When the scan control unit 25 designates a scan address that is an error detection target, the scan control unit 25 selects an address for error detection in all the memory cell array regions. A method for selecting an address at which the scan control unit 25 performs error detection will be described later with reference to FIGS.

エラー検出部26は、エラー検出対象であるスキャンデータをメモリ3から入力する。そして、エラー検出部26は、スキャンデータについてエラー検出を行なう。エラー情報保存部27は、スキャンデータについてエラー情報を保存する。   The error detection unit 26 inputs scan data that is an error detection target from the memory 3. Then, the error detection unit 26 performs error detection on the scan data. The error information storage unit 27 stores error information for the scan data.

メモリインターフェース28は、メモリコントローラ2とメモリ3の間で、アドレスおよびデータをやりとりするためのインターフェースである。   The memory interface 28 is an interface for exchanging addresses and data between the memory controller 2 and the memory 3.

メモリアクセス制御部23は、ホストシステム1から要求された読み出しアドレス、書き込みアドレスなどを出力する。スキャン制御部25は、メモリセルアレイ領域のうち選択したスキャンアドレスを出力する。   The memory access control unit 23 outputs a read address, a write address, etc. requested from the host system 1. The scan control unit 25 outputs a scan address selected from the memory cell array region.

メモリコントローラ2は、メモリアクセス制御部23によるメモリセルアレイ31への読み出しアクセス、書き込みアクセスなど、および、スキャン制御部25によるスキャンデータの取得を異なる期間に独立して行なう。これにより、メモリコントローラ2は、メモリセルアレイ31へのアクセスおよびスキャンデータの取得を同時に行なうことなく、“Read Disturb”現象が進行することを未然に防止できる。   The memory controller 2 performs read access and write access to the memory cell array 31 by the memory access control unit 23 and acquisition of scan data by the scan control unit 25 independently in different periods. As a result, the memory controller 2 can prevent the “Read Disturb” phenomenon from proceeding without simultaneously accessing the memory cell array 31 and acquiring the scan data.

<エラー検出におけるスキャン方法>
次に、スキャン制御部25がエラー検出を行なうアドレスを選択する方法について、図2から図6までを用いて説明する。まず、スキャン制御部25がスキャン開始アドレスからスキャンを行なう方法について説明する。次に、スキャン制御部25がスキャン開始アドレスを選択する方法について説明する。
<Scanning method for error detection>
Next, a method for selecting an address at which the scan control unit 25 performs error detection will be described with reference to FIGS. First, a method in which the scan control unit 25 performs scanning from the scan start address will be described. Next, a method in which the scan control unit 25 selects a scan start address will be described.

図2から図4までは、メモリセルアレイ31におけるエラー検出スキャンを示す図である。図2から図4までにおいて、スキャン開始アドレス311ないし316は、網掛を用いて示されている。また、図2および図3において、スキャン開始アドレス以外のスキャンアドレス311Sないし313Sは、斜線を用いて示されている。すなわち、図2から図4までに示したエラー検出におけるスキャン方法は互いに異なる。スキャン開始アドレスおよびスキャンアドレスは、メモリセルアレイ31のページ単位、ブロック単位、1ブロックの所定等分単位など、どのような単位で選択されてもよい。   2 to 4 are diagrams showing error detection scans in the memory cell array 31. FIG. 2 to 4, the scan start addresses 311 to 316 are indicated by hatching. In FIG. 2 and FIG. 3, the scan addresses 311S to 313S other than the scan start address are indicated by hatching. That is, the scanning methods in error detection shown in FIGS. 2 to 4 are different from each other. The scan start address and the scan address may be selected in any unit such as a page unit of the memory cell array 31, a block unit, or a predetermined equal unit of one block.

図2においては、スキャン制御部25は、メモリアクセス制御部23から動作要求を受けたときに、スキャン開始アドレス311を選択する。そして、スキャン制御部25は、メモリアクセス制御部23から停止要求を受けるまで、スキャン開始アドレス311からのアドレスインクリメントを実行する。   In FIG. 2, the scan control unit 25 selects the scan start address 311 when receiving an operation request from the memory access control unit 23. Then, the scan control unit 25 executes address increment from the scan start address 311 until a stop request is received from the memory access control unit 23.

スキャン制御部25は、メモリアクセス制御部23から停止要求を受けたときに、アドレスインクリメントを中断する。そして、スキャン制御部25は、次回にメモリアクセス制御部23から動作要求を受けたときに、アドレスインクリメントが中断されたスキャンアドレスから、アドレスインクリメントを再開する。さらに、スキャン制御部25は、次回にメモリアクセス制御部23から停止要求を受けたときに、アドレスインクリメントを中断する。   When receiving a stop request from the memory access control unit 23, the scan control unit 25 interrupts the address increment. Then, when the scan control unit 25 receives an operation request from the memory access control unit 23 next time, the scan control unit 25 resumes the address increment from the scan address where the address increment is interrupted. Further, the scan control unit 25 interrupts the address increment when it receives a stop request from the memory access control unit 23 next time.

スキャン制御部25は、以上に説明した方法により、以後もスキャンアドレスを選択する。すなわち、スキャン制御部25がメモリアクセス制御部23から動作要求を受けたときに、各回のアドレススキャンが行なわれる。そして、複数回のアドレススキャンを通して、スキャン開始アドレス311から連続するスキャンアドレス311Sが選択される。   The scan control unit 25 selects a scan address thereafter by the method described above. That is, when the scan control unit 25 receives an operation request from the memory access control unit 23, each address scan is performed. Then, a continuous scan address 311S is selected from the scan start address 311 through a plurality of address scans.

スキャン制御部25は、メモリアクセス制御部23から動作要求を受けたときに最初にスキャンアドレスを選択するにあたり、前回にメモリアクセス制御部23から動作要求を受けたときに最後に選択したスキャンアドレスを認識する必要がある。そのため、前回にメモリアクセス制御部23から動作要求を受けたときに最後に選択されたスキャンアドレスを記憶する手段を、スキャン制御部25またはメモリコントローラ2の他の構成要素などが備えるようにすればよい。   When the scan control unit 25 first selects a scan address when receiving an operation request from the memory access control unit 23, the scan control unit 25 selects the scan address selected last when the operation request was received from the memory access control unit 23 last time. Need to recognize. Therefore, if the scan control unit 25 or other components of the memory controller 2 have a means for storing the scan address selected last when the operation request was received from the memory access control unit 23 last time. Good.

図3においては、スキャン制御部25は、メモリアクセス制御部23から動作要求を受けたときに、スキャン開始アドレス312を選択する。そして、スキャン制御部25は、メモリアクセス制御部23から停止要求を受けるまで、スキャン開始アドレス312からのアドレスインクリメントを実行して、スキャンアドレス312Sを選択する。   In FIG. 3, the scan control unit 25 selects the scan start address 312 when receiving an operation request from the memory access control unit 23. Then, the scan control unit 25 performs an address increment from the scan start address 312 until a stop request is received from the memory access control unit 23, and selects the scan address 312S.

スキャン制御部25は、メモリアクセス制御部23から停止要求を受けたときに、アドレスインクリメントを中止する。そして、スキャン制御部25は、次回にメモリアクセス制御部23から動作要求を受けたときに、スキャン開始アドレス313を選択する。そして、スキャン制御部25は、次回にメモリアクセス制御部23から停止要求を受けるまで、スキャン開始アドレス313からのアドレスインクリメントを実行して、スキャンアドレス313Sを選択する。   When receiving a stop request from the memory access control unit 23, the scan control unit 25 stops address increment. The scan control unit 25 selects the scan start address 313 when receiving an operation request from the memory access control unit 23 next time. Then, the scan control unit 25 performs the address increment from the scan start address 313 until the next stop request is received from the memory access control unit 23, and selects the scan address 313S.

スキャン制御部25は、以上に説明した方法により、以後もスキャンアドレスを選択する。すなわち、スキャン制御部25がメモリアクセス制御部23から動作要求を受けたときに、各回のアドレススキャンが行なわれる。そして、各回のアドレススキャンにおいて、各スキャン開始アドレスから連続するスキャンアドレスが選択される。図3の場合には図2の場合とは異なり、複数回のアドレススキャンを通して、単一のスキャン開始アドレスから連続するスキャンアドレスが選択されるわけではない。   The scan control unit 25 selects a scan address thereafter by the method described above. That is, when the scan control unit 25 receives an operation request from the memory access control unit 23, each address scan is performed. In each address scan, successive scan addresses are selected from each scan start address. In the case of FIG. 3, unlike the case of FIG. 2, a continuous scan address is not selected from a single scan start address through a plurality of address scans.

図4においては、スキャン制御部25は、メモリアクセス制御部23から動作要求を受けたときに、スキャン開始アドレス314を選択する。そして、スキャン制御部25は、次回および次々回にメモリアクセス制御部23から動作要求を受けたときに、それぞれ、スキャン開始アドレス315、316を選択する。   In FIG. 4, the scan control unit 25 selects the scan start address 314 when receiving an operation request from the memory access control unit 23. Then, the scan control unit 25 selects the scan start addresses 315 and 316 when receiving an operation request from the memory access control unit 23 at the next time and the next time.

スキャン制御部25は、以上に説明した方法により、以後もスキャンアドレスを選択する。すなわち、スキャン制御部25がメモリアクセス制御部23から動作要求を受けたときに、各回のアドレススキャンが行なわれる。そして、各回のアドレススキャンにおいて、各スキャン開始アドレスのみが選択される。もっとも、各回のアドレススキャンにおいて、複数のスキャン開始アドレスが選択されてもよい。図4の場合には図2および図3の場合とは異なり、各回のアドレススキャンにおいて、各スキャン開始アドレスから連続するスキャンアドレスが選択されるわけではない。   The scan control unit 25 selects a scan address thereafter by the method described above. That is, when the scan control unit 25 receives an operation request from the memory access control unit 23, each address scan is performed. In each address scan, only each scan start address is selected. However, a plurality of scan start addresses may be selected in each address scan. In the case of FIG. 4, unlike the cases of FIGS. 2 and 3, in each address scan, a continuous scan address is not selected from each scan start address.

図2から図4までにおいて、複数回のアドレススキャンにより、全メモリセルアレイ領域のうち、読み出しアドレスに限定されない広範囲の領域について、エラー検出を行なうことができる。また、スキャン開始アドレスから連続するスキャンアドレスを選択する方法として、アドレスインクリメントによる方法のみならず、アドレスデクリメントによる方法などがあげられる。   2 to 4, error detection can be performed for a wide range of areas not limited to read addresses in all memory cell array areas by multiple address scans. Further, as a method for selecting a continuous scan address from the scan start address, not only a method by address increment but also a method by address decrement can be mentioned.

さらに、スキャン開始アドレスから連続するスキャンアドレスを選択する方法を一般化した方法として、スキャン開始アドレスに関連するスキャンアドレスを選択する方法も利用できる。すなわち、スキャン開始アドレスを選択した後に、そのスキャン開始アドレスと所定の規則に基づいて、スキャンアドレスを選択する。たとえば、メモリセルアレイ31のページ単位でスキャン開始アドレスおよびスキャンアドレスが選択されるときに、スキャン開始ページから数ページごとにスキャンページを選択する方法がある。また、スキャン開始ページとして1ブロック目の1ページ目を選択したときに、スキャンページとして2ブロック目の1ページ目、3ブロック目の1ページ目、を選択する方法がある。   Furthermore, as a generalized method of selecting a continuous scan address from the scan start address, a method of selecting a scan address related to the scan start address can also be used. That is, after selecting the scan start address, the scan address is selected based on the scan start address and a predetermined rule. For example, when a scan start address and a scan address are selected for each page of the memory cell array 31, there is a method of selecting a scan page every several pages from the scan start page. Further, there is a method of selecting the first page of the second block and the first page of the third block as the scan page when the first page of the first block is selected as the scan start page.

図2から図4までに示したエラー検出におけるスキャン方法を併用することもできる。たとえば、メモリシステムの電源がオンにされてからオフにされるまで、最初は図2の方法を使用して、次に図3の方法を使用して、最後に図4の方法を使用することもできる。   The scanning method in error detection shown in FIGS. 2 to 4 can be used in combination. For example, using the method of FIG. 2 first, then using the method of FIG. 3, and finally using the method of FIG. 4 until the memory system is powered on and then turned off. You can also.

次に、スキャン制御部25がスキャン開始アドレスを選択する方法について説明する。本実施の形態においては、スキャン開始アドレスとして、以下のアドレスがあげられる:(1)乱数発生により選択されるアドレス、(2)エラーが発生する可能性が高いアドレス、(3)エラーが過去に発生したアドレス、(4)重要データが格納されるアドレス。   Next, a method in which the scan control unit 25 selects a scan start address will be described. In the present embodiment, the following addresses can be given as scan start addresses: (1) an address selected by random number generation, (2) an address at which an error is likely to occur, and (3) an error in the past. The generated address, (4) the address where important data is stored.

スキャン制御部25が乱数発生によりスキャン開始アドレスを選択する方法について説明する。スキャン制御部25は、スキャン開始アドレスとして、何番目のブロックのうち何番目のページなどを選択するかを、乱数発生により決定する。そのため、複数回のアドレススキャンにより、メモリセルアレイ31の広範囲の領域について、エラー検出を行なうことができる。   A method by which the scan control unit 25 selects a scan start address by generating a random number will be described. The scan control unit 25 determines, by random number generation, what page of which block is selected as the scan start address. Therefore, error detection can be performed for a wide area of the memory cell array 31 by multiple address scans.

ここで、ホストシステム1が発生させた乱数を用いて、スキャン制御部25がスキャン開始アドレスを選択してもよい。この場合には、ホストシステム1は、メモリコントローラ2に、コマンドおよび乱数を出力すればよい。ホストシステム1は、重要データが格納されるアドレスなどを認識しているならば、その重要データが格納されるアドレスなどから乱数発生によりスキャン開始アドレスを選択してもよい。また、ホストシステム1が出力したコマンドを用いて、スキャン制御部25がスキャン開始アドレスを選択してもよい。この場合には、スキャン制御部25は、コマンドのビット列を用いて、乱数を発生させればよい。   Here, the scan control unit 25 may select a scan start address using a random number generated by the host system 1. In this case, the host system 1 may output a command and a random number to the memory controller 2. If the host system 1 recognizes the address where the important data is stored, the host system 1 may select the scan start address by generating a random number from the address where the important data is stored. Further, the scan control unit 25 may select a scan start address using a command output from the host system 1. In this case, the scan control unit 25 may generate a random number using the command bit string.

スキャン制御部25がスキャン開始アドレスとして、エラーが発生する可能性が高いアドレスを選択する方法について説明する。このエラーには、“Read Disturb”現象によるエラーが含まれる。図5は、SLC方式のNANDフラッシュメモリにおける“Read Disturb”現象を示す図である。図6は、MLC方式のNANDフラッシュメモリにおける“Read Disturb”現象を示す図である。   A method in which the scan control unit 25 selects an address that is highly likely to cause an error as the scan start address will be described. This error includes an error due to a “Read Disturb” phenomenon. FIG. 5 is a diagram illustrating the “Read Disturb” phenomenon in the SLC NAND flash memory. FIG. 6 is a diagram illustrating the “Read Disturb” phenomenon in an MLC NAND flash memory.

図5においては、SLC方式のメモリセルアレイ32は、ブロック321、322、323などの複数のブロックから構成されている。また、ブロック321、322、323は、それぞれ、斜線を施したページ321P、322P、323Pなどの複数のページから構成されている。   In FIG. 5, the SLC memory cell array 32 includes a plurality of blocks such as blocks 321, 322, and 323. Each of the blocks 321, 322, and 323 includes a plurality of pages such as hatched pages 321P, 322P, and 323P.

メモリコントローラ2がページ321Pに対して読み出しアクセスするときには、ブロック321のうちページ321P以外のページを構成する非選択セルが微弱な書き込み状態にある。すなわち、ブロック321のうちページ321P以外のページにおいて、“Read Disturb”現象が発生する可能性がある。“Read Disturb”現象が発生する様子を、ブロック321において四角印を用いて仮想的に示している。   When the memory controller 2 performs read access to the page 321P, unselected cells constituting pages other than the page 321P in the block 321 are in a weakly written state. That is, the “Read Disturb” phenomenon may occur in pages other than the page 321P in the block 321. A state where the “Read Disturb” phenomenon occurs is virtually shown by using a square mark in a block 321.

メモリコントローラ2がページ322P、323Pに対して読み出しアクセスするときには、それぞれ、ブロック322、323のうちページ322P、323P以外のページにおいて、“Read Disturb”現象が発生する可能性がある。“Read Disturb”現象が発生する様子を、ブロック322、323において、それぞれ、丸印、三角印を用いて仮想的に示している。   When the memory controller 2 performs read access to the pages 322P and 323P, a “Read Disturb” phenomenon may occur in pages other than the pages 322P and 323P in the blocks 322 and 323, respectively. A state in which the “Read Disturb” phenomenon occurs is virtually shown using circles and triangles in blocks 322 and 323, respectively.

ページ321Pへの読み出しアクセスが終了したときに、読み出しアドレスであるページ321Pのみならず、読み出しアドレス以外のブロック321をも、スキャン制御部25はスキャン開始アドレスとして選択できる。スキャン制御部25がこのようにスキャン開始アドレスを選択するにあたり、スキャン制御部25はメモリアクセス制御部23から読み出しアドレスを通知されるようにすればよい。   When the read access to the page 321P is completed, the scan control unit 25 can select not only the page 321P as the read address but also the block 321 other than the read address as the scan start address. When the scan control unit 25 selects the scan start address in this way, the scan control unit 25 may be notified of the read address from the memory access control unit 23.

図6においては、MLC方式のメモリセルアレイ33は、ブロック331、332、333などの複数のブロックから構成されている。また、ブロック332は、斜線を施したページ332Pなどの複数のページから構成されている。   In FIG. 6, the MLC memory cell array 33 includes a plurality of blocks such as blocks 331, 332, and 333. The block 332 includes a plurality of pages such as a hatched page 332P.

メモリコントローラ2がページ332Pに対して読み出しアクセスするときには、ブロック332のうちページ332P以外のページ、および、ブロック332以外の関連ブロックにおいて、“Read Disturb”現象が発生する可能性がある。図6においては、ブロック332以外の関連ブロックとして、ブロック331、333が記載されている。“Read Disturb”現象が発生する様子を、ブロック331、332、333において、それぞれ、四角印、丸印、三角印を用いて仮想的に示している。   When the memory controller 2 performs read access to the page 332P, the “Read Disturb” phenomenon may occur in a page other than the page 332P in the block 332 and a related block other than the block 332. In FIG. 6, blocks 331 and 333 are described as related blocks other than the block 332. The appearance of the “Read Disturb” phenomenon is virtually shown using square marks, circle marks, and triangle marks in blocks 331, 332, and 333, respectively.

ページ332Pへの読み出しアクセスが終了したときに、読み出しアドレスであるページ332Pのみならず、読み出しアドレス以外のブロック331、332、333をも、スキャン制御部25はスキャン開始アドレスとして選択できる。図6の場合も図5の場合と同様に、スキャン制御部25はメモリアクセス制御部23から読み出しアドレスを通知されるようにすればよい。また、“Read Disturb”現象が読み出しブロック以外の関連ブロックに拡散する可能性があることを示す拡散テーブルを、スキャン制御部25またはメモリコントローラ2の他の構成要素などが備えるようにすればよい。   When the read access to the page 332P is completed, the scan control unit 25 can select not only the page 332P that is the read address but also the blocks 331, 332, and 333 other than the read address as the scan start address. In the case of FIG. 6 as well, as in the case of FIG. 5, the scan control unit 25 may be notified of the read address from the memory access control unit 23. The scan control unit 25 or other components of the memory controller 2 may be provided with a diffusion table indicating that the “Read Disturb” phenomenon may be diffused to related blocks other than the read block.

スキャン制御部25がスキャン開始アドレスとして、エラーが過去に発生したアドレスを選択する方法について説明する。このエラーには、“Read Disturb”現象によるエラーが含まれる。エラーが過去に発生したアドレスについての情報を、スキャン制御部25はエラー情報保存部27などから取得すればよい。そして、エラーが過去に最も頻繁に発生したアドレスなどを、スキャン制御部25はスキャン開始アドレスとして選択すればよい。   A method in which the scan control unit 25 selects an address where an error has occurred in the past as a scan start address will be described. This error includes an error due to a “Read Disturb” phenomenon. The scan control unit 25 may acquire information about addresses where errors have occurred in the past from the error information storage unit 27 or the like. Then, the scan control unit 25 may select an address or the like where an error has occurred most frequently in the past as a scan start address.

スキャン制御部25がスキャン開始アドレスとして、重要データが格納されるアドレスを選択する方法について説明する。重要データが格納されるアドレスについての情報を、スキャン制御部25またはメモリコントローラ2の他の構成要素などが備えるようにすればよい。そして、最も重要であると想定されるデータが格納されるアドレスなどを、スキャン制御部25はスキャン開始アドレスとして選択すればよい。   A method in which the scan control unit 25 selects an address where important data is stored as a scan start address will be described. Information regarding the address where the important data is stored may be provided in the scan control unit 25 or other components of the memory controller 2. Then, the scan control unit 25 may select an address at which data that is assumed to be most important is stored as a scan start address.

以上に説明したように、スキャン制御部25がスキャン開始アドレスからスキャンを行なう方法として、図2から図4までに説明した3種類の方法などがあげられる。また、スキャン制御部25がスキャン開始アドレスを選択する方法として、直前に説明した4種類の方法などがあげられる。そのため、スキャン制御部25がエラー検出を行なうアドレスを選択する方法として、12種類の方法などがあげられる。これらの12種類の方法などは、目的に応じて使い分けることができる。   As described above, the scan control unit 25 performs scanning from the scan start address by the three methods described with reference to FIGS. Further, as the method by which the scan control unit 25 selects the scan start address, there are the four types of methods described immediately above. For this reason, there are twelve types of methods by which the scan control unit 25 selects an address for error detection. These 12 kinds of methods can be used properly according to the purpose.

たとえば、スキャン制御部25が乱数発生によりスキャン開始アドレスを選択して、図2の方法によりアドレススキャンを行なうときには、読み出しアドレスに限定されない広範囲の領域について、簡易にエラー検出を行なうことができる。また、スキャン制御部25がスキャン開始アドレスとして、重要データが格納されるアドレスを選択して、図4の方法によりアドレススキャンを行なうときには、重要データが格納されるアドレスについて、集中的にエラー検出を行なうことができる。   For example, when the scan control unit 25 selects a scan start address by generating a random number and performs an address scan by the method shown in FIG. 2, error detection can be easily performed for a wide area not limited to the read address. Further, when the scan control unit 25 selects an address where important data is stored as a scan start address and performs an address scan by the method of FIG. 4, error detection is concentrated on the address where the important data is stored. Can be done.

<処理の流れ>
次に、処理の流れについて以下に示す順序で説明する:(1)コマンド発行、(2)データ取得、(3)エラー検出、(4)エラー通知。図7は、ホストシステム1がデータを取得する処理の流れを示す図である。図8は、メモリコントローラ2がエラーを検出する処理の流れを示す図である。以下に示す処理の流れは、メモリセルアレイ31に対して読み出しアクセスが行なわれる場合についての処理の流れである。しかし、ほぼ同様な処理の流れは、メモリセルアレイ31に対して書き込みアクセスなどが行なわれる場合においても実行できる。
<Process flow>
Next, the processing flow will be described in the following order: (1) command issue, (2) data acquisition, (3) error detection, and (4) error notification. FIG. 7 is a diagram showing a flow of processing in which the host system 1 acquires data. FIG. 8 is a diagram showing a flow of processing in which the memory controller 2 detects an error. The process flow shown below is a process flow when the memory cell array 31 is read-accessed. However, a substantially similar processing flow can be executed even when write access or the like is performed on the memory cell array 31.

CPU11は、読み出しコマンドまたはStatus Readコマンドを、アクセスコントローラ12にセットする(ステップS11)。そして、CPU11は、読み出しコマンドまたはStatus Readコマンドの発行命令を、アクセスコントローラ12に出力する(ステップS12)。コマンド解析部22は、ホストシステム1からホストインターフェース21を介して、読み出しコマンドまたはStatus Readコマンドを入力する(ステップS13)。   The CPU 11 sets a read command or a Status Read command in the access controller 12 (step S11). Then, the CPU 11 outputs a read command or a Status Read command issuance instruction to the access controller 12 (step S12). The command analysis unit 22 inputs a read command or a Status Read command from the host system 1 via the host interface 21 (step S13).

コマンド解析部22は、読み出しコマンドを入力したと判断すれば、読み出しコマンドをメモリアクセス制御部23に出力する(ステップS14における「読み出しコマンド」)。また、コマンド解析部22は、Status Readコマンドを入力したと判断すれば、Status Readコマンドをスキャン制御部25に出力する(ステップS14における「Status Readコマンド」)。   When determining that the read command has been input, the command analysis unit 22 outputs the read command to the memory access control unit 23 (“read command” in step S14). If the command analysis unit 22 determines that the Status Read command has been input, it outputs the Status Read command to the scan control unit 25 (“Status Read command” in step S14).

まず、コマンド解析部22が読み出しコマンドを入力した場合について説明する(ステップS14における「読み出しコマンド」)。メモリアクセス制御部23は、読み出しコマンドをデコードして、読み出しアドレスを抽出する(ステップS21)。そして、メモリアクセス制御部23は、メモリインターフェース28を介してメモリ3に、読み出しアドレスを出力する(ステップS22)。   First, a case where the command analysis unit 22 inputs a read command will be described (“read command” in step S14). The memory access control unit 23 decodes the read command and extracts a read address (step S21). Then, the memory access control unit 23 outputs a read address to the memory 3 via the memory interface 28 (step S22).

出力バッファ部24は、メモリ3からメモリインターフェース28を介して、読み出しデータを入力する(ステップS23)。そして、出力バッファ部24は、ホストインターフェース21を介してホストシステム1に、読み出しデータを出力する(ステップS24)。CPU11は、アクセスコントローラ12から読み出しデータを入力して(ステップS25)、読み出しデータを処理する。   The output buffer unit 24 inputs read data from the memory 3 via the memory interface 28 (step S23). Then, the output buffer unit 24 outputs read data to the host system 1 via the host interface 21 (step S24). The CPU 11 inputs read data from the access controller 12 (step S25) and processes the read data.

メモリアクセス制御部23は、出力バッファ部24がホストシステム1に読み出しデータを出力しているかどうかを、出力監視線により監視している。出力バッファ部24がホストシステム1に読み出しデータを出力しているときには、メモリセルアレイ31への読み出しアクセスは行なわれていない。メモリアクセス制御部23は、出力バッファ部24がホストシステム1に読み出しデータを出力していることを確認したときに、スキャン制御部25に動作要求を行なう。スキャン制御部25は、メモリアクセス制御部23からの動作要求を受けて、スキャン制御を開始する(ステップS41)。   The memory access control unit 23 monitors whether or not the output buffer unit 24 is outputting read data to the host system 1 using an output monitoring line. When the output buffer unit 24 outputs read data to the host system 1, read access to the memory cell array 31 is not performed. The memory access control unit 23 makes an operation request to the scan control unit 25 when it is confirmed that the output buffer unit 24 outputs read data to the host system 1. Upon receiving an operation request from the memory access control unit 23, the scan control unit 25 starts scan control (step S41).

もっとも、出力バッファ部24がホストシステム1に読み出しデータを出力しているときであっても、スキャン制御部25がエラー検出スキャンを行なうための時間を確保できないことがある。たとえば、ホストシステム1が一連の流れとして連続して出力する読み出しコマンドを、メモリアクセス制御部23が入力する場合である。この場合には、メモリアクセス制御部23は読み出しコマンドが連続して出力されるものであると判断することにより、スキャン制御部25に動作要求を行なわないようにすればよい。   However, even when the output buffer unit 24 is outputting read data to the host system 1, there may be a case where the scan control unit 25 cannot secure a time for performing the error detection scan. For example, this is a case where the memory access control unit 23 inputs a read command that the host system 1 continuously outputs as a series of flows. In this case, the memory access control unit 23 may determine that the read command is to be continuously output so that no operation request is issued to the scan control unit 25.

ここで、スキャン制御部25がスキャン制御を行なう場合として、出力バッファ部24がホストシステム1に読み出しデータを出力している場合のほかに、以下に掲げる場合などがある。まず、出力バッファ部24がメモリ3に書き込みデータを出力していない場合がある。この場合には、メモリアクセス制御部23は、出力バッファ部24がメモリ3に書き込みデータを出力していないことを確認したときに、スキャン制御部25に動作要求を行なう。   Here, the scan control unit 25 performs the scan control in addition to the case where the output buffer unit 24 outputs read data to the host system 1 and the following cases. First, the output buffer unit 24 may not output write data to the memory 3. In this case, the memory access control unit 23 makes an operation request to the scan control unit 25 when it is confirmed that the output buffer unit 24 does not output write data to the memory 3.

次に、ホストシステム1がメモリコントローラ2に、メモリセルアレイ31への読み出しアクセス、書き込みアクセスなどを要求していない場合がある。また、ホストシステム1の電源がオンまたはオフにされる場合がある。さらに、ホストシステム1がメモリコントローラ2に、メモリセルアレイ31以外のバックアップデバイスなどへのアクセスを要求している場合がある。これらの場合であっても、メモリコントローラ2がCPU11を監視するCPU監視部を備えることにより、CPU監視部はスキャン制御部25に動作要求を行なう。   Next, the host system 1 may not request the memory controller 2 for read access or write access to the memory cell array 31. Further, the host system 1 may be turned on or off. Further, the host system 1 may request the memory controller 2 to access a backup device other than the memory cell array 31. Even in these cases, since the memory controller 2 includes a CPU monitoring unit that monitors the CPU 11, the CPU monitoring unit makes an operation request to the scan control unit 25.

スキャン制御部25は、図2から図6を用いて説明した、エラー検出を行なうアドレスを選択する方法により、スキャンアドレスを生成する(ステップS42)。また、スキャン制御部25は、スキャンアドレスを一時的に格納する。そして、スキャン制御部25は、メモリインターフェース28を介してメモリ3に、スキャンアドレスを出力する(ステップS43)。   The scan control unit 25 generates a scan address by the method for selecting an address for error detection described with reference to FIGS. 2 to 6 (step S42). Further, the scan control unit 25 temporarily stores the scan address. Then, the scan control unit 25 outputs a scan address to the memory 3 via the memory interface 28 (step S43).

エラー検出部26は、メモリ3からメモリインターフェース28を介して、エラー検出対象であるスキャンデータを入力する(ステップS44)。そして、エラー検出部26は、スキャンデータについてエラー検出を行なう(ステップS45)。ここで、エラー検出部26は、スキャン制御部25にエラー情報を通知する。   The error detection unit 26 inputs scan data that is an error detection target from the memory 3 via the memory interface 28 (step S44). Then, the error detection unit 26 performs error detection on the scan data (step S45). Here, the error detection unit 26 notifies the scan control unit 25 of error information.

スキャン制御部25は、スキャンデータについてエラーが検出されなければ、一時的に格納したスキャンアドレスを消去する。   If no error is detected in the scan data, the scan control unit 25 erases the temporarily stored scan address.

スキャン制御部25は、スキャンデータについてエラーが検出されたならば、一時的に格納したスキャンアドレスについてエラーが検出された旨を、エラー情報保存部27に通知する(ステップS46)。そして、スキャン制御部25は、一時的に格納したスキャンアドレスを消去する。   If an error is detected in the scan data, the scan control unit 25 notifies the error information storage unit 27 that an error has been detected in the temporarily stored scan address (step S46). Then, the scan control unit 25 erases the temporarily stored scan address.

次に、コマンド解析部22がStatus Readコマンドを入力した場合について説明する(ステップS14における「Status Readコマンド」)。スキャン制御部25は、エラー情報保存部27からエラー情報を取得する。そして、スキャン制御部25は、ホストインターフェース21を介してホストシステム1に、エラー情報としてのStatusデータを出力する(ステップS31)。CPU11は、アクセスコントローラ12からStatusデータを入力して(ステップS32)、その後のエラー訂正に備える。   Next, a case where the command analysis unit 22 inputs a Status Read command will be described (“Status Read command” in step S14). The scan control unit 25 acquires error information from the error information storage unit 27. Then, the scan control unit 25 outputs Status data as error information to the host system 1 via the host interface 21 (step S31). The CPU 11 inputs Status data from the access controller 12 (step S32), and prepares for subsequent error correction.

ここで、ホストシステム1がメモリコントローラ2にStatus Readコマンドを出力する場合として、以下に掲げる場合などがある。まず、ホストシステム1において周期的なトリガが発生する場合がある。次に、ホストシステム1の電源がオンまたはオフにされる場合がある。さらに、ホストシステム1が読み出しコマンドを出力した回数が所定回数を超えた場合がある。   Here, there are cases where the host system 1 outputs a Status Read command to the memory controller 2 as follows. First, a periodic trigger may occur in the host system 1. Next, the host system 1 may be turned on or off. Furthermore, the number of times that the host system 1 outputs a read command may exceed a predetermined number.

また、スキャン制御部25は、エラー検出部26からエラー情報を通知されたことを、ホストシステム1に割り込みを発生させて通知してもよい。ホストシステム1は、Status Readコマンドをスキャン制御部25に出力することにより、エラー情報としてのStatusデータを入力できる。また、ホストシステム1がStatusデータを入力するときに、スキャン制御部25を介する入力ではなく、エラー情報保存部27からの直接的な入力であってもよい。   Further, the scan control unit 25 may notify the host system 1 by generating an interrupt that the error information has been notified from the error detection unit 26. The host system 1 can input Status data as error information by outputting a Status Read command to the scan control unit 25. Further, when the host system 1 inputs the status data, it may be input directly from the error information storage unit 27 instead of input via the scan control unit 25.

さらに、スキャン制御部25、エラー検出部26、エラー情報保存部27は、ホストシステム1に配置されていてもよい。この場合には、ホストシステム1は、読み出しコマンド、書き込みコマンドをメモリコントローラ2に出力していないときなどに、スキャン制御部25においてスキャンアドレスをメモリコントローラ2に出力する。そして、ホストシステム1は、エラー検出部26においてスキャンデータについてエラー検出を行ない、エラー情報保存部27においてエラー情報を保存する。   Furthermore, the scan control unit 25, the error detection unit 26, and the error information storage unit 27 may be arranged in the host system 1. In this case, the host system 1 outputs the scan address to the memory controller 2 in the scan control unit 25 when the read command and the write command are not output to the memory controller 2. In the host system 1, the error detection unit 26 performs error detection on the scan data, and the error information storage unit 27 stores the error information.

{第2の実施の形態}
第1の実施の形態においては、エラー検出部26は、スキャンアドレスにおいて格納されるデータについて、エラー検出を行なう。そして、ホストシステム1は、スキャンアドレスにおいて格納されるデータについて、エラー情報を取得する。第2の実施の形態においては、エラー検出部26は、スキャンアドレスおよび読み出しアドレスにおいて格納されるデータについて、エラー検出を行なう。ホストシステム1は、スキャンアドレスおよび読み出しアドレスにおいて格納されるデータについて、エラー情報を取得する。
{Second Embodiment}
In the first embodiment, the error detection unit 26 performs error detection on the data stored at the scan address. Then, the host system 1 acquires error information for the data stored at the scan address. In the second embodiment, the error detection unit 26 performs error detection on the data stored at the scan address and the read address. The host system 1 acquires error information for the data stored at the scan address and the read address.

まず、図9を用いて、第2の実施の形態に係るメモリシステムについて説明する。特に、図1で示した第1の実施の形態に係るメモリシステム、および、図9で示した第2の実施の形態に係るメモリシステムの相違点について説明する。   First, a memory system according to the second embodiment will be described with reference to FIG. In particular, differences between the memory system according to the first embodiment shown in FIG. 1 and the memory system according to the second embodiment shown in FIG. 9 will be described.

メモリアクセス制御部23は、読み出しアドレスをメモリ3のみならず、スキャン制御部25にも出力する。スキャン制御部25は、読み出しアドレスをメモリアクセス制御部23から入力して、一時的に格納する。第2の実施の形態においても、第1の実施の形態と同様に、スキャン制御部25は、スキャンアドレスを自身において選択して、一時的に格納する。   The memory access control unit 23 outputs the read address not only to the memory 3 but also to the scan control unit 25. The scan control unit 25 receives the read address from the memory access control unit 23 and temporarily stores it. Also in the second embodiment, similarly to the first embodiment, the scan control unit 25 selects a scan address by itself and temporarily stores it.

エラー検出部26は、スキャンデータのみならず、読み出しデータをもメモリ3から入力する。エラー検出部26は、スキャンデータおよび読み出しデータについて、エラー検出を行なう。エラー検出部26は、スキャンデータおよび読み出しデータについてのエラー情報をスキャン制御部25に通知する。スキャン制御部25は、スキャンデータおよび読み出しデータについてのエラー情報をエラー情報保存部27に保存する。   The error detection unit 26 inputs not only scan data but also read data from the memory 3. The error detection unit 26 performs error detection on scan data and read data. The error detection unit 26 notifies the scan control unit 25 of error information regarding the scan data and the read data. The scan control unit 25 stores error information about the scan data and read data in the error information storage unit 27.

次に、図10を用いて、メモリコントローラ2が読み出しデータについてエラーを検出する処理の流れについて説明する。CPU11が読み出しコマンドをアクセスコントローラ12にセットしてから(ステップS11)、メモリアクセス制御部23が読み出しアドレスを抽出するまで(ステップS21)の処理の流れは、第1の実施の形態と同様である。   Next, a flow of processing in which the memory controller 2 detects an error in the read data will be described with reference to FIG. The processing flow from when the CPU 11 sets the read command to the access controller 12 (step S11) until the memory access control unit 23 extracts the read address (step S21) is the same as that of the first embodiment. .

第1の実施の形態においては、メモリアクセス制御部23は、読み出しアドレスをメモリ3のみに出力する(ステップS22)。しかし、第2の実施の形態においては、メモリアクセス制御部23は、読み出しアドレスをメモリ3のみならず(ステップS22)、スキャン制御部25にも出力する。スキャン制御部25は、読み出しアドレスをメモリアクセス制御部23から入力して、一時的に格納する。   In the first embodiment, the memory access control unit 23 outputs the read address only to the memory 3 (step S22). However, in the second embodiment, the memory access control unit 23 outputs the read address not only to the memory 3 (step S22) but also to the scan control unit 25. The scan control unit 25 receives the read address from the memory access control unit 23 and temporarily stores it.

出力バッファ部24が読み出しデータを入力してから(ステップS23)、CPU11が読み出しデータをアクセスコントローラ12から入力するまで(ステップS25)の処理の流れは、第1の実施の形態と同様である。   The process flow from when the output buffer unit 24 inputs read data (step S23) to when the CPU 11 inputs read data from the access controller 12 (step S25) is the same as that of the first embodiment.

エラー検出部26は、読み出しデータをメモリ3から入力する(ステップS51)。エラー検出部26は、読み出しデータについてエラー検出を行なう(ステップS52)。エラー検出部26は、読み出しデータについてのエラー情報をスキャン制御部25に通知する。   The error detection unit 26 inputs read data from the memory 3 (step S51). The error detection unit 26 performs error detection on the read data (step S52). The error detection unit 26 notifies the scan control unit 25 of error information regarding the read data.

スキャン制御部25は、読み出しデータについてエラーが検出されなければ、一時的に格納した読み出しアドレスを消去する。   If no error is detected in the read data, the scan control unit 25 erases the temporarily stored read address.

スキャン制御部25は、読み出しデータについてエラーが検出されたならば、一時的に格納した読み出しアドレスについてエラーが検出された旨を、エラー情報保存部27に通知する(ステップS53)。そして、スキャン制御部25は、一時的に格納した読み出しアドレスを消去する。   If an error is detected in the read data, the scan control unit 25 notifies the error information storage unit 27 that an error has been detected in the temporarily stored read address (step S53). Then, the scan control unit 25 erases the temporarily stored read address.

スキャン制御部25がスキャン制御を開始してから(ステップS41)、スキャン制御部25がスキャンアドレスについてエラーが検出された旨をエラー情報保存部27に通知するまで(ステップS46)の処理の流れは、第1の実施の形態と同様である。CPU11がStatus Readコマンドをアクセスコントローラ12にセットしてから(ステップS11)、CPU11がStatusデータをアクセスコントローラ12から入力するまで(ステップS32)の処理の流れは、第1の実施の形態と同様である。   The flow of processing from when the scan control unit 25 starts scan control (step S41) until the scan control unit 25 notifies the error information storage unit 27 that an error has been detected for the scan address (step S46). This is the same as in the first embodiment. The processing flow from when the CPU 11 sets the Status Read command to the access controller 12 (step S11) until the CPU 11 inputs the status data from the access controller 12 (step S32) is the same as in the first embodiment. is there.

ホストシステム1は、スキャンアドレスおよび読み出しアドレスにおいて格納されるデータについてのエラー情報を、単一のエラー情報保存部27から取得できる。ホストシステム1は、このエラー情報に基づいて、その後のエラー訂正に備えることができる。   The host system 1 can acquire error information about data stored at the scan address and the read address from the single error information storage unit 27. The host system 1 can prepare for subsequent error correction based on the error information.

1 ホストシステム
2 メモリコントローラ
3 メモリ
11 CPU
12 アクセスコントローラ
21 ホストインターフェース
22 コマンド解析部
23 メモリアクセス制御部
24 出力バッファ部
25 スキャン制御部
26 エラー検出部
27 エラー情報保存部
28 メモリインターフェース
31 メモリセルアレイ
1 Host system 2 Memory controller 3 Memory 11 CPU
12 Access controller 21 Host interface 22 Command analysis unit 23 Memory access control unit 24 Output buffer unit 25 Scan control unit 26 Error detection unit 27 Error information storage unit 28 Memory interface 31 Memory cell array

Claims (15)

ホストシステムからのメモリアクセスの要求に応じて、メモリセルアレイにアクセスを行なうメモリコントローラであって、
前記メモリセルアレイにアクセスが行なわれているかどうかを判断するアクセス判断手段と、
前記メモリセルアレイにアクセスが行なわれていないタイミングにおいて、所定のアルゴリズムを用いて選択されたアドレスについてエラー検出を行なう選択アドレスエラー検出手段と、
を備え、
前記アクセス判断手段は、前記ホストシステムの要求に応じて前記メモリセルアレイから読み出されたデータが前記ホストシステムに出力されている場合、前記メモリセルアレイにアクセスが行われていないと判断することを特徴とするメモリコントローラ。
A memory controller that accesses a memory cell array in response to a memory access request from a host system,
Access determining means for determining whether or not the memory cell array is being accessed;
A selection address error detection means for detecting an error for an address selected using a predetermined algorithm at a timing when the memory cell array is not accessed;
With
The access determining unit determines that the memory cell array is not accessed when data read from the memory cell array in response to a request from the host system is output to the host system. And memory controller.
請求項1に記載のメモリコントローラにおいて、さらに、
読み出しアドレスについてエラー検出を行なう読み出しアドレスエラー検出手段、
を備えることを特徴とするメモリコントローラ。
The memory controller of claim 1, further comprising:
Read address error detection means for performing error detection on the read address;
A memory controller comprising:
請求項1または請求項2に記載のメモリコントローラにおいて、
前記選択アドレスエラー検出手段は、
あるエラー検出タイミングにおいてエラー検出開始アドレスを選択するとともに、前記あるエラー検出タイミングおよびその後のエラー検出タイミングにおいて、前記エラー検出開始アドレスに関連するアドレスについてエラー検出を行なう手段、
を含むことを特徴とするメモリコントローラ。
The memory controller according to claim 1 or 2,
The selection address error detection means includes:
Means for selecting an error detection start address at a certain error detection timing and performing error detection on an address related to the error detection start address at the certain error detection timing and the subsequent error detection timing;
A memory controller comprising:
請求項1または請求項2に記載のメモリコントローラにおいて、
前記選択アドレスエラー検出手段は、
エラー検出タイミングが到来するごとにエラー検出開始アドレスを選択するとともに、前記エラー検出タイミングにおいて、前記エラー検出開始アドレスに関連するアドレスについてエラー検出を行なう手段、
を含むことを特徴とするメモリコントローラ。
The memory controller according to claim 1 or 2,
The selection address error detection means includes:
Means for selecting an error detection start address each time an error detection timing arrives, and performing error detection on an address related to the error detection start address at the error detection timing;
A memory controller comprising:
請求項1または請求項2に記載のメモリコントローラにおいて、
前記選択アドレスエラー検出手段は、
エラー検出タイミングが到来するごとにエラー検出開始アドレスを選択し、前記エラー検出開始アドレスについてエラー検出を行なう手段、
を含むことを特徴とするメモリコントローラ。
The memory controller according to claim 1 or 2,
The selection address error detection means includes:
Means for selecting an error detection start address each time an error detection timing arrives, and performing error detection on the error detection start address;
A memory controller comprising:
請求項3ないし請求項5のいずれかに記載のメモリコントローラにおいて、
前記エラー検出開始アドレスは、
乱数発生により決定されるアドレス、
を含むことを特徴とするメモリコントローラ。
The memory controller according to any one of claims 3 to 5,
The error detection start address is
An address determined by random number generation,
A memory controller comprising:
請求項3ないし請求項5のいずれかに記載のメモリコントローラにおいて、
前記エラー検出開始アドレスは、
読み出しアクセスによりエラーが発生する可能性が高いと想定されるアドレス、
を含むことを特徴とするメモリコントローラ。
The memory controller according to any one of claims 3 to 5,
The error detection start address is
Addresses that are likely to cause errors due to read access,
A memory controller comprising:
請求項3ないし請求項5のいずれかに記載のメモリコントローラにおいて、
前記エラー検出開始アドレスは、
読み出しアクセスによりエラーが発生したアドレス、
を含むことを特徴とするメモリコントローラ。
The memory controller according to any one of claims 3 to 5,
The error detection start address is
The address where the error occurred due to read access,
A memory controller comprising:
請求項3ないし請求項5のいずれかに記載のメモリコントローラにおいて、
前記エラー検出開始アドレスは、
重要度が高いと想定されるアドレス、
を含むことを特徴とするメモリコントローラ。
The memory controller according to any one of claims 3 to 5,
The error detection start address is
An address that is assumed to be of high importance,
A memory controller comprising:
請求項1ないし請求項9のいずれかに記載のメモリコントローラにおいて、
前記アクセス判断手段は、
前記メモリセルアレイに書き込みデータが出力されているかどうかを判断する手段、
を含むことを特徴とするメモリコントローラ。
The memory controller according to any one of claims 1 to 9,
The access determination means includes
Means for determining whether write data is output to the memory cell array;
A memory controller comprising:
請求項1ないし請求項9のいずれかに記載のメモリコントローラにおいて、
前記アクセス判断手段は、
前記ホストシステムからアクセスを要求されているかどうかを判断する手段、
を含むことを特徴とするメモリコントローラ。
The memory controller according to any one of claims 1 to 9,
The access determination means includes
Means for determining whether access is requested by the host system;
A memory controller comprising:
請求項1ないし請求項9のいずれかに記載のメモリコントローラにおいて、
前記アクセス判断手段は、
前記ホストシステムの電源状態が切り替えられたかどうかを判断する手段、
を含むことを特徴とするメモリコントローラ。
The memory controller according to any one of claims 1 to 9,
The access determination means includes
Means for determining whether the power state of the host system has been switched;
A memory controller comprising:
請求項1ないし請求項12のいずれかに記載のメモリコントローラにおいて、さらに、
前記ホストシステムからエラー検出情報を要求されて、前記ホストシステムにエラー検出情報を通知するエラー通知手段、
を備えることを特徴とするメモリコントローラ。
The memory controller according to any one of claims 1 to 12, further comprising:
Error notification means for requesting error detection information from the host system and notifying the host system of error detection information;
A memory controller comprising:
請求項13に記載のメモリコントローラにおいて、
前記エラー通知手段は、
エラー検出情報を保存する情報保存手段と、
前記ホストシステムからエラー検出情報を要求されて、前記情報保存手段により保存されたエラー検出情報を前記ホストシステムに通知する手段と、
を含むことを特徴とするメモリコントローラ。
The memory controller of claim 13.
The error notification means includes
Information storage means for storing error detection information;
Means for requesting error detection information from the host system and notifying the host system of error detection information stored by the information storage means;
A memory controller comprising:
請求項13に記載のメモリコントローラにおいて、
前記エラー通知手段は、
前記メモリセルアレイについてエラーが発生したことを検出したときに、前記ホストシステムがエラー検出情報を要求するための割り込みを発生させる手段、
を含むことを特徴とするメモリコントローラ。
The memory controller of claim 13.
The error notification means includes
Means for generating an interrupt for requesting error detection information by the host system when detecting that an error has occurred in the memory cell array;
A memory controller comprising:
JP2013094045A 2007-06-21 2013-04-26 Memory controller Active JP5521087B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013094045A JP5521087B2 (en) 2007-06-21 2013-04-26 Memory controller

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007163423 2007-06-21
JP2007163423 2007-06-21
JP2013094045A JP5521087B2 (en) 2007-06-21 2013-04-26 Memory controller

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007236847A Division JP5602984B2 (en) 2007-06-21 2007-09-12 Memory controller

Publications (2)

Publication Number Publication Date
JP2013168173A true JP2013168173A (en) 2013-08-29
JP5521087B2 JP5521087B2 (en) 2014-06-11

Family

ID=40398009

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007236847A Active JP5602984B2 (en) 2007-06-21 2007-09-12 Memory controller
JP2013094045A Active JP5521087B2 (en) 2007-06-21 2013-04-26 Memory controller

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2007236847A Active JP5602984B2 (en) 2007-06-21 2007-09-12 Memory controller

Country Status (1)

Country Link
JP (2) JP5602984B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7512136B2 (en) 2020-09-10 2024-07-08 キオクシア株式会社 Memory system and information processing system

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5815388B2 (en) 2011-12-02 2015-11-17 株式会社メガチップス Memory access control apparatus and method
JP5883284B2 (en) * 2011-12-13 2016-03-09 ラピスセミコンダクタ株式会社 Semiconductor memory control device and control method
JP6133591B2 (en) * 2012-12-21 2017-05-24 株式会社メガチップス Semiconductor memory device and computer system
JP6448254B2 (en) * 2014-08-19 2019-01-09 ラピスセミコンダクタ株式会社 Memory control device and memory control method
JP2016118815A (en) * 2014-12-18 2016-06-30 パナソニックIpマネジメント株式会社 Nonvolatile memory device
JP6723863B2 (en) 2016-08-01 2020-07-15 オリンパス株式会社 Embedded system, photography equipment and refresh method
CN112542199B (en) * 2020-12-30 2024-04-12 芯天下技术股份有限公司 Method, circuit, storage medium and terminal for detecting flash memory error

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546493A (en) * 1991-08-13 1993-02-26 Nec Corp Memory diagnostic device
JPH0667917A (en) * 1992-08-14 1994-03-11 Nec Corp Diagnostic system for memory access controller
JPH08129629A (en) * 1994-11-02 1996-05-21 Dainippon Printing Co Ltd Information recording medium with memory check function
JP2000322330A (en) * 1999-05-07 2000-11-24 Nec Corp Failure diagnosing circuit for storage device
JP2003234000A (en) * 2002-02-08 2003-08-22 Matsushita Electric Ind Co Ltd Semiconductor integrated circuit device, ic card, and test device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628265A (en) * 1992-07-09 1994-02-04 Fujitsu Ltd Memory circuit with check function
JPH1125006A (en) * 1997-06-27 1999-01-29 Fuji Xerox Co Ltd Memory tester

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546493A (en) * 1991-08-13 1993-02-26 Nec Corp Memory diagnostic device
JPH0667917A (en) * 1992-08-14 1994-03-11 Nec Corp Diagnostic system for memory access controller
JPH08129629A (en) * 1994-11-02 1996-05-21 Dainippon Printing Co Ltd Information recording medium with memory check function
JP2000322330A (en) * 1999-05-07 2000-11-24 Nec Corp Failure diagnosing circuit for storage device
JP2003234000A (en) * 2002-02-08 2003-08-22 Matsushita Electric Ind Co Ltd Semiconductor integrated circuit device, ic card, and test device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7512136B2 (en) 2020-09-10 2024-07-08 キオクシア株式会社 Memory system and information processing system

Also Published As

Publication number Publication date
JP5521087B2 (en) 2014-06-11
JP2009026285A (en) 2009-02-05
JP5602984B2 (en) 2014-10-08

Similar Documents

Publication Publication Date Title
JP5521087B2 (en) Memory controller
TWI408686B (en) Programming a memory device to increase data reliability
US7877668B2 (en) Memory access system
KR102114234B1 (en) Data storing system and operating method thereof
US20150127887A1 (en) Data storage system and operating method thereof
JP6081878B2 (en) Retention logic for non-volatile memory
KR20150029402A (en) Data storing system and operating method thereof
KR20150045747A (en) Data storing system and operating method thereof
KR20110040472A (en) Nonvolatile memory device, method of operating the same and memory system including the same
KR102513505B1 (en) Nonvolatile memory device, operating method of data storage device having the same
US11630726B2 (en) Memory system and operating method thereof
US8504897B2 (en) Memory controller
KR20220032268A (en) Memory system and operating method of memory system
US10713105B2 (en) Operating method of memory controller, storage device including the same, and operating method of storage device
KR102117929B1 (en) Data storing system and operating method thereof
JP2006338083A (en) Memory controller
KR102708947B1 (en) Memory system, memory controller, and memory device
KR20200101884A (en) Data storing system and operating method thereof
KR20210071314A (en) Memory system, memory controller, and operating method thereof
KR20090098530A (en) Nonvolatile memory device and read method thereof
CN114296631B (en) Memory system and method of operating the same
JP6267497B2 (en) Semiconductor memory control device and unstable memory region detection method
US11404137B1 (en) Memory system and operating method of memory system
JP6708762B1 (en) Semiconductor memory device
US10186324B2 (en) Nonvolatile memory device, memory system including thereof and operating method thereof

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140407

R150 Certificate of patent or registration of utility model

Ref document number: 5521087

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250