JP2013168173A - Memory controller - Google Patents
Memory controller Download PDFInfo
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 257
- 238000001514 detection method Methods 0.000 claims abstract description 119
- 230000004044 response Effects 0.000 claims description 6
- 238000000034 method Methods 0.000 abstract description 52
- 238000010586 diagram Methods 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000012447 hatching Effects 0.000 description 2
- 238000009792 diffusion process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Images
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
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
メモリセル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
このとき、非選択セル53は微弱な書き込み状態にあるため、非選択セル53のフローティングゲートに電子がトラップされ蓄積される。すなわち、選択セル52が格納する二値データが繰り返し読み出されることにより、非選択セル53の閾値電圧がシフトして、非選択セル53が格納する二値データが“1”から“0”に意図せず書き換えられる可能性がある。
At this time, since the non-selected
もっとも、非選択セル53が格納する二値データが意図せず書き換えられたとしても、データが新たに書き込まれる前に一括して消去される際に、非選択セル53の機能を回復させることができる。しかし、書き込みは発生せず連続的な読み出しが発生する場合には、非選択セル53の機能を回復させることができない。
However, even if the binary data stored in the non-selected
特許文献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”現象を回避できる方策ではない。
そこで、本発明は前記問題点に鑑み、不揮発性メモリからデータが繰り返し読み出されることにより、データが意図せず書き換えられる可能性を回避または低減する技術を提供することを目的とする。 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
請求項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.
{第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
ホストシステム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
メモリコントローラ2は、ホストシステム1からの要求を受けて、メモリセルアレイ31への読み出しアクセス、書き込みアクセスなどを行なう。また、メモリコントローラ2は、メモリセルアレイ31への読み出しアクセス、書き込みアクセスなどが行なわれていないことを判断したときに、メモリセルアレイ31に対するエラー検出処理を行ない、メモリセルアレイ31でのエラー情報を保存する。そして、メモリコントローラ2は、ホストシステム1からの要求を受けて、メモリセルアレイ31でのエラー情報をホストシステム1に通知する。
In response to a request from the host system 1, the
メモリ3は、メモリセルアレイ31において、ホストシステム1が処理するデータを格納する。本実施の形態に係るメモリ3として、SLC(Single−Level Cell)方式、または、MLC(Multi−Level Cell)方式のNANDフラッシュメモリを使用することが可能である。もっとも、読み出しアドレスにおいて格納されるデータが繰り返し読み出されるときに、非読み出しアドレスにおいて格納されるデータが意図せず書き換えられる可能性がある不揮発性メモリにおいて、本実施の形態を実施することが可能である。
The
ホストシステム1は、CPU11、アクセスコントローラ12などから構成されている。CPU11は、読み出しコマンド、書き込みコマンドおよびStatus Readコマンドなどを、アクセスコントローラ12にセットする。アクセスコントローラ12は、CPU11からのコマンド発行命令を受けて、読み出しコマンド、書き込みコマンドおよびStatus Readコマンドなどを、メモリコントローラ2に出力する。
The host system 1 includes a
メモリコントローラ2は、ホストインターフェース21、コマンド解析部22、メモリアクセス制御部23、出力バッファ部24、スキャン制御部25、エラー検出部26、エラー情報保存部27、メモリインターフェース28などから構成されている。
The
ホストインターフェース21は、ホストシステム1とメモリコントローラ2の間で、コマンドおよびデータをやりとりするためのインターフェースである。
The
コマンド解析部22は、コマンドをホストシステム1から入力して、そのコマンドが読み出しコマンド、書き込みコマンドまたはStatus Readコマンドなどのうちいずれかを判別する。
The
メモリアクセス制御部23は、読み出しコマンド、書き込みコマンドなどをコマンド解析部22から入力して、メモリセルアレイ31への読み出しアクセス、書き込みアクセスなどを行なう。また、メモリアクセス制御部23は、メモリセルアレイ31への読み出しアクセス、書き込みアクセスなどが行なわれていないことを判断したときに、メモリセルアレイ31に対するエラー検出処理を後述するスキャン制御部25に要求する。
The memory
メモリアクセス制御部23は、後述する出力バッファ部24が読み出しデータをホストシステム1に出力していることを確認することにより、メモリセルアレイ31への読み出しアクセスが行なわれていないことを判断する。また、メモリアクセス制御部23は、出力バッファ部24が書き込みデータをメモリ3に出力していないことを確認することにより、メモリセルアレイ31への書き込みアクセスが行なわれていないことを判断する。
The memory
出力バッファ部24は、読み出しデータをメモリ3から入力して一時的に格納する。そして、出力バッファ部24は、読み出しデータをホストシステム1に出力する。また、出力バッファ部24は、書き込みデータをホストシステム1から入力して一時的に格納する。そして、出力バッファ部24は、書き込みデータをメモリ3に出力する。
The
スキャン制御部25は、メモリアクセス制御部23からの要求を受けて、エラー検出対象であるスキャンアドレスをメモリ3に対して指定する。また、スキャン制御部25は、Status Readコマンドをコマンド解析部22から入力して、メモリセルアレイ31でのエラー情報をホストシステム1に通知する。
In response to a request from the memory
スキャン制御部25は、エラー検出対象であるスキャンアドレスを指定するときに、全メモリセルアレイ領域のうち、エラー検出を行なうアドレスを選択する。スキャン制御部25がエラー検出を行なうアドレスを選択する方法については、図2から図6までを用いて後述する。
When the
エラー検出部26は、エラー検出対象であるスキャンデータをメモリ3から入力する。そして、エラー検出部26は、スキャンデータについてエラー検出を行なう。エラー情報保存部27は、スキャンデータについてエラー情報を保存する。
The
メモリインターフェース28は、メモリコントローラ2とメモリ3の間で、アドレスおよびデータをやりとりするためのインターフェースである。
The
メモリアクセス制御部23は、ホストシステム1から要求された読み出しアドレス、書き込みアドレスなどを出力する。スキャン制御部25は、メモリセルアレイ領域のうち選択したスキャンアドレスを出力する。
The memory
メモリコントローラ2は、メモリアクセス制御部23によるメモリセルアレイ31への読み出しアクセス、書き込みアクセスなど、および、スキャン制御部25によるスキャンデータの取得を異なる期間に独立して行なう。これにより、メモリコントローラ2は、メモリセルアレイ31へのアクセスおよびスキャンデータの取得を同時に行なうことなく、“Read Disturb”現象が進行することを未然に防止できる。
The
<エラー検出におけるスキャン方法>
次に、スキャン制御部25がエラー検出を行なうアドレスを選択する方法について、図2から図6までを用いて説明する。まず、スキャン制御部25がスキャン開始アドレスからスキャンを行なう方法について説明する。次に、スキャン制御部25がスキャン開始アドレスを選択する方法について説明する。
<Scanning method for error detection>
Next, a method for selecting an address at which the
図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
図2においては、スキャン制御部25は、メモリアクセス制御部23から動作要求を受けたときに、スキャン開始アドレス311を選択する。そして、スキャン制御部25は、メモリアクセス制御部23から停止要求を受けるまで、スキャン開始アドレス311からのアドレスインクリメントを実行する。
In FIG. 2, the
スキャン制御部25は、メモリアクセス制御部23から停止要求を受けたときに、アドレスインクリメントを中断する。そして、スキャン制御部25は、次回にメモリアクセス制御部23から動作要求を受けたときに、アドレスインクリメントが中断されたスキャンアドレスから、アドレスインクリメントを再開する。さらに、スキャン制御部25は、次回にメモリアクセス制御部23から停止要求を受けたときに、アドレスインクリメントを中断する。
When receiving a stop request from the memory
スキャン制御部25は、以上に説明した方法により、以後もスキャンアドレスを選択する。すなわち、スキャン制御部25がメモリアクセス制御部23から動作要求を受けたときに、各回のアドレススキャンが行なわれる。そして、複数回のアドレススキャンを通して、スキャン開始アドレス311から連続するスキャンアドレス311Sが選択される。
The
スキャン制御部25は、メモリアクセス制御部23から動作要求を受けたときに最初にスキャンアドレスを選択するにあたり、前回にメモリアクセス制御部23から動作要求を受けたときに最後に選択したスキャンアドレスを認識する必要がある。そのため、前回にメモリアクセス制御部23から動作要求を受けたときに最後に選択されたスキャンアドレスを記憶する手段を、スキャン制御部25またはメモリコントローラ2の他の構成要素などが備えるようにすればよい。
When the
図3においては、スキャン制御部25は、メモリアクセス制御部23から動作要求を受けたときに、スキャン開始アドレス312を選択する。そして、スキャン制御部25は、メモリアクセス制御部23から停止要求を受けるまで、スキャン開始アドレス312からのアドレスインクリメントを実行して、スキャンアドレス312Sを選択する。
In FIG. 3, the
スキャン制御部25は、メモリアクセス制御部23から停止要求を受けたときに、アドレスインクリメントを中止する。そして、スキャン制御部25は、次回にメモリアクセス制御部23から動作要求を受けたときに、スキャン開始アドレス313を選択する。そして、スキャン制御部25は、次回にメモリアクセス制御部23から停止要求を受けるまで、スキャン開始アドレス313からのアドレスインクリメントを実行して、スキャンアドレス313Sを選択する。
When receiving a stop request from the memory
スキャン制御部25は、以上に説明した方法により、以後もスキャンアドレスを選択する。すなわち、スキャン制御部25がメモリアクセス制御部23から動作要求を受けたときに、各回のアドレススキャンが行なわれる。そして、各回のアドレススキャンにおいて、各スキャン開始アドレスから連続するスキャンアドレスが選択される。図3の場合には図2の場合とは異なり、複数回のアドレススキャンを通して、単一のスキャン開始アドレスから連続するスキャンアドレスが選択されるわけではない。
The
図4においては、スキャン制御部25は、メモリアクセス制御部23から動作要求を受けたときに、スキャン開始アドレス314を選択する。そして、スキャン制御部25は、次回および次々回にメモリアクセス制御部23から動作要求を受けたときに、それぞれ、スキャン開始アドレス315、316を選択する。
In FIG. 4, the
スキャン制御部25は、以上に説明した方法により、以後もスキャンアドレスを選択する。すなわち、スキャン制御部25がメモリアクセス制御部23から動作要求を受けたときに、各回のアドレススキャンが行なわれる。そして、各回のアドレススキャンにおいて、各スキャン開始アドレスのみが選択される。もっとも、各回のアドレススキャンにおいて、複数のスキャン開始アドレスが選択されてもよい。図4の場合には図2および図3の場合とは異なり、各回のアドレススキャンにおいて、各スキャン開始アドレスから連続するスキャンアドレスが選択されるわけではない。
The
図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
図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
スキャン制御部25が乱数発生によりスキャン開始アドレスを選択する方法について説明する。スキャン制御部25は、スキャン開始アドレスとして、何番目のブロックのうち何番目のページなどを選択するかを、乱数発生により決定する。そのため、複数回のアドレススキャンにより、メモリセルアレイ31の広範囲の領域について、エラー検出を行なうことができる。
A method by which the
ここで、ホストシステム1が発生させた乱数を用いて、スキャン制御部25がスキャン開始アドレスを選択してもよい。この場合には、ホストシステム1は、メモリコントローラ2に、コマンドおよび乱数を出力すればよい。ホストシステム1は、重要データが格納されるアドレスなどを認識しているならば、その重要データが格納されるアドレスなどから乱数発生によりスキャン開始アドレスを選択してもよい。また、ホストシステム1が出力したコマンドを用いて、スキャン制御部25がスキャン開始アドレスを選択してもよい。この場合には、スキャン制御部25は、コマンドのビット列を用いて、乱数を発生させればよい。
Here, the
スキャン制御部25がスキャン開始アドレスとして、エラーが発生する可能性が高いアドレスを選択する方法について説明する。このエラーには、“Read Disturb”現象によるエラーが含まれる。図5は、SLC方式のNANDフラッシュメモリにおける“Read Disturb”現象を示す図である。図6は、MLC方式のNANDフラッシュメモリにおける“Read Disturb”現象を示す図である。
A method in which the
図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
メモリコントローラ2がページ321Pに対して読み出しアクセスするときには、ブロック321のうちページ321P以外のページを構成する非選択セルが微弱な書き込み状態にある。すなわち、ブロック321のうちページ321P以外のページにおいて、“Read Disturb”現象が発生する可能性がある。“Read Disturb”現象が発生する様子を、ブロック321において四角印を用いて仮想的に示している。
When the
メモリコントローラ2がページ322P、323Pに対して読み出しアクセスするときには、それぞれ、ブロック322、323のうちページ322P、323P以外のページにおいて、“Read Disturb”現象が発生する可能性がある。“Read Disturb”現象が発生する様子を、ブロック322、323において、それぞれ、丸印、三角印を用いて仮想的に示している。
When the
ページ321Pへの読み出しアクセスが終了したときに、読み出しアドレスであるページ321Pのみならず、読み出しアドレス以外のブロック321をも、スキャン制御部25はスキャン開始アドレスとして選択できる。スキャン制御部25がこのようにスキャン開始アドレスを選択するにあたり、スキャン制御部25はメモリアクセス制御部23から読み出しアドレスを通知されるようにすればよい。
When the read access to the
図6においては、MLC方式のメモリセルアレイ33は、ブロック331、332、333などの複数のブロックから構成されている。また、ブロック332は、斜線を施したページ332Pなどの複数のページから構成されている。
In FIG. 6, the MLC memory cell array 33 includes a plurality of blocks such as
メモリコントローラ2がページ332Pに対して読み出しアクセスするときには、ブロック332のうちページ332P以外のページ、および、ブロック332以外の関連ブロックにおいて、“Read Disturb”現象が発生する可能性がある。図6においては、ブロック332以外の関連ブロックとして、ブロック331、333が記載されている。“Read Disturb”現象が発生する様子を、ブロック331、332、333において、それぞれ、四角印、丸印、三角印を用いて仮想的に示している。
When the
ページ332Pへの読み出しアクセスが終了したときに、読み出しアドレスであるページ332Pのみならず、読み出しアドレス以外のブロック331、332、333をも、スキャン制御部25はスキャン開始アドレスとして選択できる。図6の場合も図5の場合と同様に、スキャン制御部25はメモリアクセス制御部23から読み出しアドレスを通知されるようにすればよい。また、“Read Disturb”現象が読み出しブロック以外の関連ブロックに拡散する可能性があることを示す拡散テーブルを、スキャン制御部25またはメモリコントローラ2の他の構成要素などが備えるようにすればよい。
When the read access to the
スキャン制御部25がスキャン開始アドレスとして、エラーが過去に発生したアドレスを選択する方法について説明する。このエラーには、“Read Disturb”現象によるエラーが含まれる。エラーが過去に発生したアドレスについての情報を、スキャン制御部25はエラー情報保存部27などから取得すればよい。そして、エラーが過去に最も頻繁に発生したアドレスなどを、スキャン制御部25はスキャン開始アドレスとして選択すればよい。
A method in which the
スキャン制御部25がスキャン開始アドレスとして、重要データが格納されるアドレスを選択する方法について説明する。重要データが格納されるアドレスについての情報を、スキャン制御部25またはメモリコントローラ2の他の構成要素などが備えるようにすればよい。そして、最も重要であると想定されるデータが格納されるアドレスなどを、スキャン制御部25はスキャン開始アドレスとして選択すればよい。
A method in which the
以上に説明したように、スキャン制御部25がスキャン開始アドレスからスキャンを行なう方法として、図2から図4までに説明した3種類の方法などがあげられる。また、スキャン制御部25がスキャン開始アドレスを選択する方法として、直前に説明した4種類の方法などがあげられる。そのため、スキャン制御部25がエラー検出を行なうアドレスを選択する方法として、12種類の方法などがあげられる。これらの12種類の方法などは、目的に応じて使い分けることができる。
As described above, the
たとえば、スキャン制御部25が乱数発生によりスキャン開始アドレスを選択して、図2の方法によりアドレススキャンを行なうときには、読み出しアドレスに限定されない広範囲の領域について、簡易にエラー検出を行なうことができる。また、スキャン制御部25がスキャン開始アドレスとして、重要データが格納されるアドレスを選択して、図4の方法によりアドレススキャンを行なうときには、重要データが格納されるアドレスについて、集中的にエラー検出を行なうことができる。
For example, when the
<処理の流れ>
次に、処理の流れについて以下に示す順序で説明する:(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
CPU11は、読み出しコマンドまたはStatus Readコマンドを、アクセスコントローラ12にセットする(ステップS11)。そして、CPU11は、読み出しコマンドまたはStatus Readコマンドの発行命令を、アクセスコントローラ12に出力する(ステップS12)。コマンド解析部22は、ホストシステム1からホストインターフェース21を介して、読み出しコマンドまたはStatus Readコマンドを入力する(ステップS13)。
The
コマンド解析部22は、読み出しコマンドを入力したと判断すれば、読み出しコマンドをメモリアクセス制御部23に出力する(ステップS14における「読み出しコマンド」)。また、コマンド解析部22は、Status Readコマンドを入力したと判断すれば、Status Readコマンドをスキャン制御部25に出力する(ステップS14における「Status Readコマンド」)。
When determining that the read command has been input, the
まず、コマンド解析部22が読み出しコマンドを入力した場合について説明する(ステップS14における「読み出しコマンド」)。メモリアクセス制御部23は、読み出しコマンドをデコードして、読み出しアドレスを抽出する(ステップS21)。そして、メモリアクセス制御部23は、メモリインターフェース28を介してメモリ3に、読み出しアドレスを出力する(ステップS22)。
First, a case where the
出力バッファ部24は、メモリ3からメモリインターフェース28を介して、読み出しデータを入力する(ステップS23)。そして、出力バッファ部24は、ホストインターフェース21を介してホストシステム1に、読み出しデータを出力する(ステップS24)。CPU11は、アクセスコントローラ12から読み出しデータを入力して(ステップS25)、読み出しデータを処理する。
The
メモリアクセス制御部23は、出力バッファ部24がホストシステム1に読み出しデータを出力しているかどうかを、出力監視線により監視している。出力バッファ部24がホストシステム1に読み出しデータを出力しているときには、メモリセルアレイ31への読み出しアクセスは行なわれていない。メモリアクセス制御部23は、出力バッファ部24がホストシステム1に読み出しデータを出力していることを確認したときに、スキャン制御部25に動作要求を行なう。スキャン制御部25は、メモリアクセス制御部23からの動作要求を受けて、スキャン制御を開始する(ステップS41)。
The memory
もっとも、出力バッファ部24がホストシステム1に読み出しデータを出力しているときであっても、スキャン制御部25がエラー検出スキャンを行なうための時間を確保できないことがある。たとえば、ホストシステム1が一連の流れとして連続して出力する読み出しコマンドを、メモリアクセス制御部23が入力する場合である。この場合には、メモリアクセス制御部23は読み出しコマンドが連続して出力されるものであると判断することにより、スキャン制御部25に動作要求を行なわないようにすればよい。
However, even when the
ここで、スキャン制御部25がスキャン制御を行なう場合として、出力バッファ部24がホストシステム1に読み出しデータを出力している場合のほかに、以下に掲げる場合などがある。まず、出力バッファ部24がメモリ3に書き込みデータを出力していない場合がある。この場合には、メモリアクセス制御部23は、出力バッファ部24がメモリ3に書き込みデータを出力していないことを確認したときに、スキャン制御部25に動作要求を行なう。
Here, the
次に、ホストシステム1がメモリコントローラ2に、メモリセルアレイ31への読み出しアクセス、書き込みアクセスなどを要求していない場合がある。また、ホストシステム1の電源がオンまたはオフにされる場合がある。さらに、ホストシステム1がメモリコントローラ2に、メモリセルアレイ31以外のバックアップデバイスなどへのアクセスを要求している場合がある。これらの場合であっても、メモリコントローラ2がCPU11を監視するCPU監視部を備えることにより、CPU監視部はスキャン制御部25に動作要求を行なう。
Next, the host system 1 may not request the
スキャン制御部25は、図2から図6を用いて説明した、エラー検出を行なうアドレスを選択する方法により、スキャンアドレスを生成する(ステップS42)。また、スキャン制御部25は、スキャンアドレスを一時的に格納する。そして、スキャン制御部25は、メモリインターフェース28を介してメモリ3に、スキャンアドレスを出力する(ステップS43)。
The
エラー検出部26は、メモリ3からメモリインターフェース28を介して、エラー検出対象であるスキャンデータを入力する(ステップS44)。そして、エラー検出部26は、スキャンデータについてエラー検出を行なう(ステップS45)。ここで、エラー検出部26は、スキャン制御部25にエラー情報を通知する。
The
スキャン制御部25は、スキャンデータについてエラーが検出されなければ、一時的に格納したスキャンアドレスを消去する。
If no error is detected in the scan data, the
スキャン制御部25は、スキャンデータについてエラーが検出されたならば、一時的に格納したスキャンアドレスについてエラーが検出された旨を、エラー情報保存部27に通知する(ステップS46)。そして、スキャン制御部25は、一時的に格納したスキャンアドレスを消去する。
If an error is detected in the scan data, the
次に、コマンド解析部22がStatus Readコマンドを入力した場合について説明する(ステップS14における「Status Readコマンド」)。スキャン制御部25は、エラー情報保存部27からエラー情報を取得する。そして、スキャン制御部25は、ホストインターフェース21を介してホストシステム1に、エラー情報としてのStatusデータを出力する(ステップS31)。CPU11は、アクセスコントローラ12からStatusデータを入力して(ステップS32)、その後のエラー訂正に備える。
Next, a case where the
ここで、ホストシステム1がメモリコントローラ2にStatus Readコマンドを出力する場合として、以下に掲げる場合などがある。まず、ホストシステム1において周期的なトリガが発生する場合がある。次に、ホストシステム1の電源がオンまたはオフにされる場合がある。さらに、ホストシステム1が読み出しコマンドを出力した回数が所定回数を超えた場合がある。
Here, there are cases where the host system 1 outputs a Status Read command to the
また、スキャン制御部25は、エラー検出部26からエラー情報を通知されたことを、ホストシステム1に割り込みを発生させて通知してもよい。ホストシステム1は、Status Readコマンドをスキャン制御部25に出力することにより、エラー情報としてのStatusデータを入力できる。また、ホストシステム1がStatusデータを入力するときに、スキャン制御部25を介する入力ではなく、エラー情報保存部27からの直接的な入力であってもよい。
Further, the
さらに、スキャン制御部25、エラー検出部26、エラー情報保存部27は、ホストシステム1に配置されていてもよい。この場合には、ホストシステム1は、読み出しコマンド、書き込みコマンドをメモリコントローラ2に出力していないときなどに、スキャン制御部25においてスキャンアドレスをメモリコントローラ2に出力する。そして、ホストシステム1は、エラー検出部26においてスキャンデータについてエラー検出を行ない、エラー情報保存部27においてエラー情報を保存する。
Furthermore, the
{第2の実施の形態}
第1の実施の形態においては、エラー検出部26は、スキャンアドレスにおいて格納されるデータについて、エラー検出を行なう。そして、ホストシステム1は、スキャンアドレスにおいて格納されるデータについて、エラー情報を取得する。第2の実施の形態においては、エラー検出部26は、スキャンアドレスおよび読み出しアドレスにおいて格納されるデータについて、エラー検出を行なう。ホストシステム1は、スキャンアドレスおよび読み出しアドレスにおいて格納されるデータについて、エラー情報を取得する。
{Second Embodiment}
In the first embodiment, the
まず、図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
エラー検出部26は、スキャンデータのみならず、読み出しデータをもメモリ3から入力する。エラー検出部26は、スキャンデータおよび読み出しデータについて、エラー検出を行なう。エラー検出部26は、スキャンデータおよび読み出しデータについてのエラー情報をスキャン制御部25に通知する。スキャン制御部25は、スキャンデータおよび読み出しデータについてのエラー情報をエラー情報保存部27に保存する。
The
次に、図10を用いて、メモリコントローラ2が読み出しデータについてエラーを検出する処理の流れについて説明する。CPU11が読み出しコマンドをアクセスコントローラ12にセットしてから(ステップS11)、メモリアクセス制御部23が読み出しアドレスを抽出するまで(ステップS21)の処理の流れは、第1の実施の形態と同様である。
Next, a flow of processing in which the
第1の実施の形態においては、メモリアクセス制御部23は、読み出しアドレスをメモリ3のみに出力する(ステップS22)。しかし、第2の実施の形態においては、メモリアクセス制御部23は、読み出しアドレスをメモリ3のみならず(ステップS22)、スキャン制御部25にも出力する。スキャン制御部25は、読み出しアドレスをメモリアクセス制御部23から入力して、一時的に格納する。
In the first embodiment, the memory
出力バッファ部24が読み出しデータを入力してから(ステップS23)、CPU11が読み出しデータをアクセスコントローラ12から入力するまで(ステップS25)の処理の流れは、第1の実施の形態と同様である。
The process flow from when the
エラー検出部26は、読み出しデータをメモリ3から入力する(ステップS51)。エラー検出部26は、読み出しデータについてエラー検出を行なう(ステップS52)。エラー検出部26は、読み出しデータについてのエラー情報をスキャン制御部25に通知する。
The
スキャン制御部25は、読み出しデータについてエラーが検出されなければ、一時的に格納した読み出しアドレスを消去する。
If no error is detected in the read data, the
スキャン制御部25は、読み出しデータについてエラーが検出されたならば、一時的に格納した読み出しアドレスについてエラーが検出された旨を、エラー情報保存部27に通知する(ステップS53)。そして、スキャン制御部25は、一時的に格納した読み出しアドレスを消去する。
If an error is detected in the read data, the
スキャン制御部25がスキャン制御を開始してから(ステップS41)、スキャン制御部25がスキャンアドレスについてエラーが検出された旨をエラー情報保存部27に通知するまで(ステップS46)の処理の流れは、第1の実施の形態と同様である。CPU11がStatus Readコマンドをアクセスコントローラ12にセットしてから(ステップS11)、CPU11がStatusデータをアクセスコントローラ12から入力するまで(ステップS32)の処理の流れは、第1の実施の形態と同様である。
The flow of processing from when the
ホストシステム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
1 ホストシステム
2 メモリコントローラ
3 メモリ
11 CPU
12 アクセスコントローラ
21 ホストインターフェース
22 コマンド解析部
23 メモリアクセス制御部
24 出力バッファ部
25 スキャン制御部
26 エラー検出部
27 エラー情報保存部
28 メモリインターフェース
31 メモリセルアレイ
1
12
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.
読み出しアドレスについてエラー検出を行なう読み出しアドレスエラー検出手段、
を備えることを特徴とするメモリコントローラ。 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:
前記選択アドレスエラー検出手段は、
あるエラー検出タイミングにおいてエラー検出開始アドレスを選択するとともに、前記あるエラー検出タイミングおよびその後のエラー検出タイミングにおいて、前記エラー検出開始アドレスに関連するアドレスについてエラー検出を行なう手段、
を含むことを特徴とするメモリコントローラ。 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:
前記選択アドレスエラー検出手段は、
エラー検出タイミングが到来するごとにエラー検出開始アドレスを選択するとともに、前記エラー検出タイミングにおいて、前記エラー検出開始アドレスに関連するアドレスについてエラー検出を行なう手段、
を含むことを特徴とするメモリコントローラ。 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:
前記選択アドレスエラー検出手段は、
エラー検出タイミングが到来するごとにエラー検出開始アドレスを選択し、前記エラー検出開始アドレスについてエラー検出を行なう手段、
を含むことを特徴とするメモリコントローラ。 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:
前記エラー検出開始アドレスは、
乱数発生により決定されるアドレス、
を含むことを特徴とするメモリコントローラ。 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:
前記エラー検出開始アドレスは、
読み出しアクセスによりエラーが発生する可能性が高いと想定されるアドレス、
を含むことを特徴とするメモリコントローラ。 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:
前記エラー検出開始アドレスは、
読み出しアクセスによりエラーが発生したアドレス、
を含むことを特徴とするメモリコントローラ。 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:
前記エラー検出開始アドレスは、
重要度が高いと想定されるアドレス、
を含むことを特徴とするメモリコントローラ。 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:
前記アクセス判断手段は、
前記メモリセルアレイに書き込みデータが出力されているかどうかを判断する手段、
を含むことを特徴とするメモリコントローラ。 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:
前記アクセス判断手段は、
前記ホストシステムからアクセスを要求されているかどうかを判断する手段、
を含むことを特徴とするメモリコントローラ。 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:
前記アクセス判断手段は、
前記ホストシステムの電源状態が切り替えられたかどうかを判断する手段、
を含むことを特徴とするメモリコントローラ。 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:
前記ホストシステムからエラー検出情報を要求されて、前記ホストシステムにエラー検出情報を通知するエラー通知手段、
を備えることを特徴とするメモリコントローラ。 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:
前記エラー通知手段は、
エラー検出情報を保存する情報保存手段と、
前記ホストシステムからエラー検出情報を要求されて、前記情報保存手段により保存されたエラー検出情報を前記ホストシステムに通知する手段と、
を含むことを特徴とするメモリコントローラ。 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:
前記エラー通知手段は、
前記メモリセルアレイについてエラーが発生したことを検出したときに、前記ホストシステムがエラー検出情報を要求するための割り込みを発生させる手段、
を含むことを特徴とするメモリコントローラ。 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:
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)
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)
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)
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)
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 |
-
2007
- 2007-09-12 JP JP2007236847A patent/JP5602984B2/en active Active
-
2013
- 2013-04-26 JP JP2013094045A patent/JP5521087B2/en active Active
Patent Citations (5)
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)
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 |