JP2010160816A - Control method of semiconductor memory device - Google Patents

Control method of semiconductor memory device Download PDF

Info

Publication number
JP2010160816A
JP2010160816A JP2010074959A JP2010074959A JP2010160816A JP 2010160816 A JP2010160816 A JP 2010160816A JP 2010074959 A JP2010074959 A JP 2010074959A JP 2010074959 A JP2010074959 A JP 2010074959A JP 2010160816 A JP2010160816 A JP 2010160816A
Authority
JP
Japan
Prior art keywords
block
data
monitoring
errors
semiconductor memory
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.)
Pending
Application number
JP2010074959A
Other languages
Japanese (ja)
Inventor
Toshikatsu Hida
敏克 檜田
Shinichi Sugano
伸一 菅野
Hirokuni Yano
浩邦 矢野
Kazuya Kitsunai
和也 橘内
Shigehiro Asano
滋博 浅野
Junji Yano
純二 矢野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2010074959A priority Critical patent/JP2010160816A/en
Publication of JP2010160816A publication Critical patent/JP2010160816A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a control method of a semiconductor memory device capable of performing efficient refresh processing. <P>SOLUTION: The control method of the semiconductor memory device provided with a nonvolatile memory which stores data in blocks as unit of data erasure, includes: a first process of selecting a monitoring object block from among the blocks to monitor the number of errors of the data stored in the monitoring object block; and a second process of refreshing the monitoring object block in which the number of errors of the data is equal to or more than a predetermined threshold. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、半導体記憶装置の制御方法に関するものであり、例えばNAND型フラッシュメモリを備えた半導体記憶装置のリフレッシュ方法に関するものである。   The present invention relates to a method for controlling a semiconductor memory device, for example, a refresh method for a semiconductor memory device provided with a NAND flash memory.

NAND型フラッシュメモリは電源供給を停止しても情報が保持可能である不揮発性メモリであり、他の不揮発性メモリよりもビット単価で優れているため大きく普及している。しかし、NAND型フラッシュメモリでは、大容量化および高集積化に伴って、書き込んだデータの経年変化や読み出し処理に伴うデータ破損であるリードディスターブの影響が顕著化しており、保存したデータが劣化して記憶したデータを正しく再生できなくなる可能性が高まる、という問題が存在する。   A NAND flash memory is a non-volatile memory that can retain information even when power supply is stopped, and is widely used because it is superior in bit unit price to other non-volatile memories. However, with NAND flash memory, with the increase in capacity and integration, the influence of read disturb, which is data corruption due to aging of the written data and data read processing, has become prominent, and the stored data deteriorates. There is a problem that the possibility that the stored data cannot be correctly reproduced increases.

経年変化は、時間経過と共に、電荷を蓄積したフローティングゲートから次第に電荷が抜けることでデータに誤りが生じる現象である。また、リードディスターブは、データを読み出したメモリセルに隣接したメモリセルのフローティングゲートに微量な電荷が蓄えられることによって、記憶したデータに誤りが生じる現象である。   The secular change is a phenomenon in which an error occurs in data due to the gradual removal of charges from the floating gate that accumulates charges over time. Read disturb is a phenomenon in which stored data has an error when a small amount of charge is stored in a floating gate of a memory cell adjacent to a memory cell from which data is read.

経年変化とリードディスターブの問題は、発生したデータの誤りを訂正する誤り訂正符号(Error Correcting Code)を用いることで正しいデータを復元することが可能である。しかし、NAND型フラッシュメモリ上のデータは誤ったままであるため、経年変化とリードディスターブがさらに進むことで、誤り訂正符号の訂正能力以上の誤りが発生した場合には、正しいデータを復元することができない。   The problem of aging and read disturb can be restored by using an error correcting code that corrects an error in the generated data. However, since the data on the NAND flash memory remains in error, the aging and read disturb further advance, and if an error exceeding the correction capability of the error correction code occurs, the correct data can be restored. Can not.

そこで、記憶してあるデータを読み出して誤り訂正を行った後に再びNAND型フラッシュメモリへ書き直すリフレッシュ処理を行うことで、NAND型フラッシュメモリ上へ記憶したデータが完全に破壊されることを防ぎ、データ保持期間を増加させることができる。   Therefore, the data stored in the NAND flash memory is prevented from being completely destroyed by performing a refresh process in which the stored data is read and error correction is performed and then the data is rewritten to the NAND flash memory. The retention period can be increased.

このようなリフレッシュ処理を行うことでNAND型フラッシュメモリ上へ記憶したデータのデータ保持期間を増加させる方法としては、例えば、NAND型フラッシュメモリからの読み出し回数などを計測して規定の読み出し量に達した場合にリフレッシュ処理を実行する方法や、誤り数が増加した時にリフレッシュ処理を行う方法などが考えられる(たとえば、特許文献1参照)。   As a method of increasing the data retention period of the data stored on the NAND flash memory by performing such refresh processing, for example, the number of times of reading from the NAND flash memory is measured and the prescribed read amount is reached. In such a case, a method of executing the refresh process or a method of performing the refresh process when the number of errors increases can be considered (for example, see Patent Document 1).

しかしながら、NAND型フラッシュメモリでは、書き換え回数が少ないメモリセルではデータの誤りが発生しにくく、一定の決まった時間経過に伴って一律にデータの誤りが増加するわけではない。同様にNAND型フラッシュメモリでは、規定回数の読み出しを行うとデータの誤りが必ず増加するわけではない。したがって、実際のデータ破損状況を反映せずに読み出し回数などを利用して一律にリフレッシュ処理を行うことにより、データ破損の確率は減少するものの、不必要にリフレッシュ処理を行うことになる。   However, in a NAND flash memory, a data error is unlikely to occur in a memory cell with a small number of rewrites, and the data error does not increase uniformly with the passage of a fixed time. Similarly, in a NAND flash memory, data errors do not necessarily increase when a predetermined number of reads are performed. Therefore, the refresh process is performed unnecessarily, although the probability of data corruption is reduced by performing the refresh process uniformly using the number of readings without reflecting the actual data corruption situation.

そして、NAND型フラッシュメモリは書き換え回数に制限のあるデバイスであるため、不必要なリフレッシュ処理を行うことで、NAND型フラッシュメモリの寿命を縮めるという問題がある。   Since the NAND flash memory is a device with a limited number of rewrites, there is a problem that the life of the NAND flash memory is shortened by performing unnecessary refresh processing.

一方で、データの破損状況を監視してリフレッシュ処理を行おうとすると、監視のためのメモリセル読み出し自体が誤り訂正処理を必要とするなど、計算量や電力消費が大きくなる、という問題がある。   On the other hand, when trying to perform refresh processing while monitoring the data corruption status, there is a problem that the amount of calculation and power consumption increase, for example, reading memory cells for monitoring itself requires error correction processing.

特開2004−326867号公報JP 2004-326867 A

本発明は、効率の良いリフレッシュ処理を行うことが可能な半導体記憶装置の制御方法を提供する。   The present invention provides a method for controlling a semiconductor memory device capable of performing an efficient refresh process.

本願発明の一態様によれば、データ消去の単位であるブロックにデータを記憶する不揮発性メモリを備えた半導体記憶装置の制御方法であって、前記ブロックのうちから監視対象ブロックを選択し、前記監視対象ブロックに記憶されたデータの誤り数を監視する第1工程と、前記データの誤り数が所定の閾値以上である監視対象ブロックに対してリフレッシュを行う第2工程と、を含むことを特徴とする半導体記憶装置の制御方法が提供される。   According to one aspect of the present invention, there is provided a method for controlling a semiconductor memory device including a nonvolatile memory that stores data in a block that is a unit of data erasing, wherein a monitoring target block is selected from the blocks, and A first step of monitoring the number of errors in the data stored in the monitoring target block; and a second step of refreshing the monitoring target block in which the number of data errors is equal to or greater than a predetermined threshold. A method for controlling a semiconductor memory device is provided.

本発明によれば、効率の良いリフレッシュ処理を行うことが可能な半導体記憶装置の制御方法を提供できる。   According to the present invention, it is possible to provide a method for controlling a semiconductor memory device capable of performing an efficient refresh process.

この発明の一実施形態に従った半導体記憶装置の概略構成を示す図である。1 is a diagram showing a schematic configuration of a semiconductor memory device according to an embodiment of the present invention. この発明の一実施形態に従った半導体記憶装置の第1のテーブルの構成を説明するための図である。It is a figure for demonstrating the structure of the 1st table of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の監視対象ブロックの選択処理を説明するためのフローチャートである。It is a flowchart for demonstrating the selection process of the monitoring object block of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の第1のテーブルへの監視対象ブロックの登録処理を説明するためのフローチャートである。It is a flowchart for demonstrating the registration process of the monitoring object block to the 1st table of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の第1のテーブルへのブロックの登録処理を説明するためのフローチャートである。It is a flowchart for demonstrating the registration process of the block to the 1st table of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の第1のテーブルへ登録したブロックに対する誤り数の監視処理を説明するためのフローチャートである。It is a flowchart for demonstrating the monitoring process of the number of errors with respect to the block registered into the 1st table of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の第1のテーブルからのリフレッシュ処理したブロックの削除処理を説明するためのフローチャートである。It is a flowchart for demonstrating the deletion process of the refreshed block from the 1st table of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の第2のテーブルの構成を説明するための図である。It is a figure for demonstrating the structure of the 2nd table of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の監視対象ブロックの選択処理を説明するためのフローチャートである。It is a flowchart for demonstrating the selection process of the monitoring object block of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の第3のテーブルの構成を説明するための図である。It is a figure for demonstrating the structure of the 3rd table of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の監視対象ブロックの選択処理を説明するためのフローチャートである。It is a flowchart for demonstrating the selection process of the monitoring object block of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の第4のテーブルの構成を説明するための図である。It is a figure for demonstrating the structure of the 4th table of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の監視対象ブロックの選択処理を説明するためのフローチャートである。It is a flowchart for demonstrating the selection process of the monitoring object block of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の第5のテーブルの構成を説明するための図である。It is a figure for demonstrating the structure of the 5th table of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の第1のテーブルへの監視対象ブロックの登録処理を説明するためのフローチャートである。It is a flowchart for demonstrating the registration process of the monitoring object block to the 1st table of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の第6のテーブルの構成を説明するための図である。It is a figure for demonstrating the structure of the 6th table of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の第1のテーブルから誤り数の監視対象外ブロックを削除する処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process which deletes the non-monitoring target block of an error count from the 1st table of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の第7のテーブルの構成を説明するための図である。It is a figure for demonstrating the structure of the 7th table of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施形態に従った半導体記憶装置の第1のテーブルへ登録した監視対象ブロックに対する誤り数の監視処理を説明するためのフローチャートである。It is a flowchart for demonstrating the monitoring process of the number of errors with respect to the monitoring object block registered into the 1st table of the semiconductor memory device according to one Embodiment of this invention. この発明の一実施例にかかるSSDの構成を示す図である。It is a figure which shows the structure of SSD concerning one Example of this invention. この発明の一実施例にかかるドライブ制御回路の構成を示す図である。It is a figure which shows the structure of the drive control circuit concerning one Example of this invention. この発明の一実施例にかかるプロセッサの構成を示す図である。It is a figure which shows the structure of the processor concerning one Example of this invention. この発明の一実施例にかかるSSDを搭載したポータブルコンピュータの一例を示す斜視図である。It is a perspective view which shows an example of the portable computer carrying SSD concerning one Example of this invention.

以下に添付図面を参照して、この発明にかかる半導体記憶装置の制御方法の実施の形態を詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。   Exemplary embodiments of a method for controlling a semiconductor memory device according to the present invention will be explained below in detail with reference to the accompanying drawings. In addition, this invention is not limited to the following description, In the range which does not deviate from the summary of this invention, it can change suitably.

(第1の実施の形態)
図1は、本発明の第1の実施の形態にかかる半導体記憶装置1の概略構成を示す図である。なお、図1に示す半導体記憶装置1は、本発明の一実施形態であり、この構成に限定されるものではない。
(First embodiment)
FIG. 1 is a diagram showing a schematic configuration of a semiconductor memory device 1 according to a first embodiment of the present invention. The semiconductor memory device 1 shown in FIG. 1 is an embodiment of the present invention and is not limited to this configuration.

第1の実施の形態にかかる半導体記憶装置1は、制御部3とNAND型フラッシュメモリ10とから構成される。制御部3は、プログラムの実行を行う中央演算処理装置(CPU)4と、データやプログラムなどを記憶するRAM5、半導体記憶装置1に接続されるホスト機器2との通信を行うホストインターフェース(I/F)6、タイマー7、NAND型フラッシュメモリ10とのデータ転送を制御するNAND インターフェース(I/F)8と、これらの各構成部を通信可能に接続するバス9と、を備える。また、NAND型フラッシュメモリ10は、データ消去の単位であるブロックを複数配列して構成されている。   The semiconductor memory device 1 according to the first embodiment includes a control unit 3 and a NAND flash memory 10. The control unit 3 is a host interface (I / I) that communicates with a central processing unit (CPU) 4 that executes programs, a RAM 5 that stores data, programs, and the like, and a host device 2 that is connected to the semiconductor storage device 1. F) 6, a timer 7, a NAND interface (I / F) 8 that controls data transfer with the NAND flash memory 10, and a bus 9 that communicably connects these components. The NAND flash memory 10 is configured by arranging a plurality of blocks which are units of data erasure.

半導体記憶装置1は、ホストI/F6を介してホスト機器2と通信し、ホスト機器2の要求に応じて該ホスト機器2と半導体記憶装置1間のデータ転送を行う。ホスト機器2からの要求の解釈や半導体記憶装置1自体の制御は、制御部3の内部のRAM5に記憶したプログラムをCPU4が解釈することで実現する。また、ホスト機器2から供給されるデータは、NAND型フラッシュメモリ10上へ記憶し、制御部3はホスト機器2とNAND型フラッシュメモリ10間のデータ転送を仲介する。   The semiconductor memory device 1 communicates with the host device 2 via the host I / F 6 and performs data transfer between the host device 2 and the semiconductor memory device 1 in response to a request from the host device 2. The interpretation of the request from the host device 2 and the control of the semiconductor memory device 1 itself are realized by the CPU 4 interpreting the program stored in the RAM 5 inside the control unit 3. Data supplied from the host device 2 is stored on the NAND flash memory 10, and the control unit 3 mediates data transfer between the host device 2 and the NAND flash memory 10.

半導体記憶装置1内部の制御部3は、ホストI/F6を介してホスト機器2と通信を行い、制御部3内部のRAM5とホスト機器2間のデータ転送を行う。ホスト機器2から転送されたデータは、制御部3内部のRAM5へ一時的に蓄え、規定のタイミングでNAND I/F8を解してNAND型フラッシュメモリ10へ書き込みを行う。また、ホスト機器2からの読み出し要求に際しては、制御部3ではCPU4の指示に従ってNAND型フラッシュメモリ10からデータを読み出し、制御部3内部のRAM5へ記憶する。そして、制御部3は、RAM5上に記憶したデータをホストI/F6を通じてホスト機器2へ転送する。   The control unit 3 inside the semiconductor memory device 1 communicates with the host device 2 via the host I / F 6 and transfers data between the RAM 5 inside the control unit 3 and the host device 2. The data transferred from the host device 2 is temporarily stored in the RAM 5 inside the control unit 3, and is written to the NAND flash memory 10 through the NAND I / F 8 at a specified timing. In response to a read request from the host device 2, the control unit 3 reads data from the NAND flash memory 10 in accordance with an instruction from the CPU 4 and stores it in the RAM 5 inside the control unit 3. Then, the control unit 3 transfers the data stored on the RAM 5 to the host device 2 through the host I / F 6.

NAND型フラッシュメモリ10へのデータの書き込みと読み出しの際に使用するNAND I/F8は、その内部に誤り訂正回路として誤り訂正部21と誤り数検出部22とを有する。誤り訂正部は、NAND型フラッシュメモリ10内の任意のブロックから読み出したデータの誤りを訂正する機能を有する。誤り数検出部22は、誤り訂正部21で訂正した誤り数を検出する機能を有する。誤り訂正部21が付加する誤り訂正符号の訂正能力は2ビット以上とし、ここでは8ビットの誤り訂正能力があることとして説明を行うが、本発明はこの誤り訂正能力に限定されるものではない。   The NAND I / F 8 used for writing and reading data to the NAND flash memory 10 includes an error correction unit 21 and an error number detection unit 22 as error correction circuits. The error correction unit has a function of correcting an error in data read from an arbitrary block in the NAND flash memory 10. The error number detection unit 22 has a function of detecting the number of errors corrected by the error correction unit 21. The correction capability of the error correction code added by the error correction unit 21 is assumed to be 2 bits or more, and here it will be described as having an 8-bit error correction capability, but the present invention is not limited to this error correction capability. .

RAM5上のデータをNAND型フラッシュメモリ10へ書き込む際には、誤り訂正部21が、書き込むデータの誤り訂正符号を計算し、データと共にNAND型フラッシュメモリ10上へ書き込みを行う。また、NAND型フラッシュメモリ10からのデータの読み出しに際しては、NAND型フラッシュメモリ10から読み出したデータと、該データと共にNAND型フラッシュメモリ10へ記憶している誤り訂正符号を利用して、誤り訂正部21が読み出したデータの誤りを訂正する。そして、誤り訂正を行った際には、誤り数検出部22が、訂正した誤りの数を検出して自誤り数検出部22へ記憶する。なお、ここでは、訂正した誤りの数を誤り数検出部22へ記憶することとしているが、記憶する場所はこれに限定されるものではない。   When writing data on the RAM 5 to the NAND flash memory 10, the error correction unit 21 calculates an error correction code for the data to be written and writes the data together with the data on the NAND flash memory 10. Further, when reading data from the NAND flash memory 10, an error correction unit is obtained by using data read from the NAND flash memory 10 and an error correction code stored in the NAND flash memory 10 together with the data. 21 corrects an error in the read data. When error correction is performed, the error number detection unit 22 detects the number of corrected errors and stores it in the own error number detection unit 22. Here, the number of corrected errors is stored in the error number detection unit 22, but the storage location is not limited to this.

また、誤り訂正部21において誤り訂正を行った場合には、NAND I/F8がCPU4へ割り込みを行うことにより、NAND型フラッシュメモリ10に記憶されているデータに誤りが発生した旨を通知する。そしてCPU4は、NAND I/F8の誤り数検出部22へアクセスし、発生した誤り数を取得する。   When the error correction unit 21 performs error correction, the NAND I / F 8 interrupts the CPU 4 to notify the data stored in the NAND flash memory 10 that an error has occurred. Then, the CPU 4 accesses the error number detection unit 22 of the NAND I / F 8 and acquires the number of errors that have occurred.

タイマー7は、任意の時間を設定すると内部で時間を計測し、設定された時間が経過した後にCPU4へ割り込みを発生する。CPU4は、タイマー7からの割り込みにより、設定した時間が経過したことを知ることができる。   When an arbitrary time is set, the timer 7 measures the time internally, and generates an interrupt to the CPU 4 after the set time has elapsed. The CPU 4 can know from the interruption from the timer 7 that the set time has elapsed.

NAND型フラッシュメモリ10には、ホスト機器2から供給されるデータと、該データから誤り訂正部21が算出した誤り訂正符号と、を合わせて記憶する。   The NAND flash memory 10 stores the data supplied from the host device 2 and the error correction code calculated by the error correction unit 21 from the data.

RAM5上には、近い将来にリフレッシュ処理が必要なブロックの情報を記憶するテーブルである第1のテーブル31(請求項の第1のテーブルに対応)が構成されている。図2は、第1のテーブル31の構成を説明するための図である。第1のテーブル31は、複数のエントリから構成され、各エントリにはNAND型フラッシュメモリ10上のブロックの番号を登録する。第1のテーブル31へのアクセスはエントリの番号で行い、各エントリに格納されているブロックが、記憶したデータの誤り数を監視する監視対象となるブロック(以下、監視対象ブロックと呼ぶ)になる。   On the RAM 5, a first table 31 (corresponding to the first table in the claims) is configured that stores information on blocks that need to be refreshed in the near future. FIG. 2 is a diagram for explaining the configuration of the first table 31. The first table 31 is composed of a plurality of entries, and a block number on the NAND flash memory 10 is registered in each entry. Access to the first table 31 is performed using the entry number, and the block stored in each entry becomes a monitoring target block (hereinafter referred to as a monitoring target block) for monitoring the number of errors in the stored data. .

また、RAM5上には、第2のテーブル32(請求項の第2のテーブルに対応)、第3のテーブル33(請求項の第3のテーブルに対応)、第4のテーブル34(請求項の第4のテーブルに対応)、第5のテーブル35(請求項の第5のテーブルに対応)、第6のテーブル36(請求項の第6のテーブルに対応)および第7のテーブル37(請求項の第7のテーブルに対応)が構成されている。第2のテーブル32〜第7のテーブル37については後述する。   Further, on the RAM 5, a second table 32 (corresponding to the second table in the claims), a third table 33 (corresponding to the third table in the claims), a fourth table 34 (in the claims) Corresponding to the fourth table), fifth table 35 (corresponding to the fifth table of claims), sixth table 36 (corresponding to the sixth table of claims) and seventh table 37 (claim) Corresponding to the seventh table). The second table 32 to the seventh table 37 will be described later.

本実施の形態では、ホスト機器2からの要求に従ってNAND型フラッシュメモリ10から読み出したデータに誤りが生じた場合、図3に示す流れに沿って、データに誤りが発生したブロックの誤り数を監視するかどうかを決定する。図3は、第1の実施の形態における監視対象ブロックの選択処理を説明するためのフローチャートである。   In the present embodiment, when an error occurs in the data read from the NAND flash memory 10 in accordance with a request from the host device 2, the number of errors in the block in which an error has occurred in the data is monitored according to the flow shown in FIG. Decide if you want to. FIG. 3 is a flowchart for explaining monitoring target block selection processing according to the first embodiment.

まず、CPU4が、NAND型フラッシュメモリ10上のブロックからデータを読み出すと、誤り訂正部21が読み出したデータの誤りを訂正し、訂正した誤りの数を誤り数検出部22が検出して自誤り数検出部22へ記憶する。CPU4は、誤り数検出部22へアクセスし、読み出したデータに発生した誤り数を取得し、確認する(ステップS101)。そして、CPU4は、誤り数が第1の閾値以上であるか否かを確認する(ステップS102)。第1の閾値は、監視対象とするブロックを選択するための誤り数の閾値であり、ここでは、例えば2ビットの誤り数を第1の閾値(請求項の第1の閾値に対応)とする。   First, when the CPU 4 reads data from a block on the NAND flash memory 10, the error correction unit 21 corrects the error in the read data, and the error number detection unit 22 detects the number of corrected errors, and the own error is detected. The number is stored in the number detector 22. The CPU 4 accesses the error number detection unit 22, acquires the number of errors that occurred in the read data, and confirms it (step S101). Then, the CPU 4 confirms whether or not the number of errors is greater than or equal to the first threshold (step S102). The first threshold is an error count threshold for selecting a block to be monitored. Here, for example, the 2-bit error count is set as the first threshold (corresponding to the first threshold in the claims). .

NAND型フラッシュメモリ10上のブロックから読み出したデータに発生している誤り数が第1の閾値以上(2ビット以上)である場合は(ステップS102肯定)、経年変化やリードディスターブの影響でさらにデータの誤り数が増加して誤り訂正符号の訂正能力以上の誤りが発生する可能性がある。このため、CPU4は、誤りが発生したブロック(NAND型フラッシュメモリ10から読み出したデータが記憶されているブロック)を、監視対象ブロックとして選択し、第1のテーブル31へ登録する(ステップS103)。   If the number of errors occurring in the data read from the block on the NAND flash memory 10 is greater than or equal to the first threshold (2 bits or more) (Yes at step S102), the data is further affected by aging or read disturb. There is a possibility that an error exceeding the correction capability of the error correction code may occur due to an increase in the number of errors. For this reason, the CPU 4 selects a block in which an error has occurred (a block in which data read from the NAND flash memory 10 is stored) as a monitoring target block and registers it in the first table 31 (step S103).

また、NAND型フラッシュメモリ10から読み出したデータに発生している誤り数が第1の閾値未満(2ビット未満)である場合は(ステップS102否定)、第1のテーブル31への登録を行わずに処理を終了する。   If the number of errors occurring in the data read from the NAND flash memory 10 is less than the first threshold value (less than 2 bits) (No at step S102), the registration to the first table 31 is not performed. The process ends.

第1のテーブル31へ登録したブロックは、記憶しているデータの誤り数が多い状態にあり、経年変化やリードディスターブの影響で誤り数がさらに増加する可能性が高い。このため、CPU4は、第1のテーブル31へ登録したブロックのデータを定期的にNAND型フラッシュメモリ10から読み出して誤り数を確認し、データの誤り数の増加具合を監視する。そして、CPU4は、記憶しているデータに発生した誤り数が規定の数を超えたブロックに対してリフレッシュ処理を実行する。   The block registered in the first table 31 is in a state where the number of errors in the stored data is large, and there is a high possibility that the number of errors will further increase due to aging and read disturb. Therefore, the CPU 4 periodically reads out the data of the block registered in the first table 31 from the NAND flash memory 10 to check the number of errors, and monitors the increase in the number of data errors. Then, the CPU 4 performs a refresh process on the block in which the number of errors that have occurred in the stored data exceeds a specified number.

なお、ホスト機器2から要求されたデータについてのみ、NAND型フラッシュメモリ10からのデータの読み出し処理のたびに誤り数を検査する場合には、NAND型フラッシュメモリ10に記憶されていながら読み出しがほとんどないブロックに記憶されたデータの経年変化を検出することができない。このため、電源投入時や数ヶ月に一回の間隔など、任意のタイミングでNAND型フラッシュメモリ10の第1のテーブルの全領域のデータを読み出して、誤り数を確認することが好ましい。これにより、読み出しがほとんどないブロックに記憶されたデータに対しても誤り数の増加具合を監視することができる。   Note that only the data requested by the host device 2 is read out while being stored in the NAND flash memory 10 when the number of errors is inspected each time data is read from the NAND flash memory 10. Unable to detect aging of data stored in block. For this reason, it is preferable to check the number of errors by reading data in the entire area of the first table of the NAND flash memory 10 at an arbitrary timing such as when the power is turned on or once every several months. As a result, it is possible to monitor the increase in the number of errors even for data stored in a block that is hardly read.

図4は、監視対象ブロックがすでに第1のテーブル31に登録済みかどうかをチェックする処理を説明するためのフローチャートである。まず、CPU4は第1のテーブル31のN番目(Nは、第1のテーブル31におけるエントリ番号)のエントリに記録された内容を確認し(ステップS111)、N番目のエントリのブロックが監視対象ブロックと同一のブロックであるか否かを判断し、監視対象ブロックと同一のブロックが第1のテーブル31に記録されているかどうかを探す(ステップS112)。   FIG. 4 is a flowchart for explaining processing for checking whether or not the monitoring target block has already been registered in the first table 31. First, the CPU 4 confirms the contents recorded in the Nth entry (N is the entry number in the first table 31) of the first table 31 (step S111), and the block of the Nth entry is the block to be monitored. It is determined whether the same block as the monitoring target block is recorded in the first table 31 (step S112).

N番目のエントリのブロックが監視対象ブロックと同一のブロックである場合には(ステップS112肯定)、CPU4は処理を終了する。また、N番目のエントリのブロックが監視対象ブロックと同一のブロックでない場合には(ステップS112否定)、CPU4はN番目のエントリが最後のエントリかどうかを確認する(ステップS113)。N番目のエントリが最後のエントリでない場合は(ステップS113否定)、ステップS111に戻ってエントリ番号を1だけインクリメントする。また、N番目のエントリが最後のエントリである場合は(ステップS113肯定)、CPU4は処理を終了する。   When the block of the Nth entry is the same block as the monitoring target block (Yes at step S112), the CPU 4 ends the process. If the block of the Nth entry is not the same block as the monitoring target block (No at Step S112), the CPU 4 checks whether the Nth entry is the last entry (Step S113). If the Nth entry is not the last entry (No at Step S113), the process returns to Step S111 and increments the entry number by one. If the Nth entry is the last entry (Yes at step S113), the CPU 4 ends the process.

ここで、新たに監視対象ブロックに選択したブロックが第1のテーブル31に未登録である場合には、図5のフローチャートに示すように第1のテーブル31に監視対象ブロックを登録する。図5は、第1のテーブル31へ監視対象ブロックを登録するための処理を説明するためのフローチャートである。   Here, when the block newly selected as the monitoring target block is not registered in the first table 31, the monitoring target block is registered in the first table 31 as shown in the flowchart of FIG. FIG. 5 is a flowchart for explaining the process for registering the monitoring target block in the first table 31.

まず、CPU4は、第1のテーブル31のN番目(Nは、第1のテーブル31におけるエントリ番号)のエントリを確認し(ステップS121)、空きエントリであるか否かを判断する(ステップS122)。空きエントリである場合は(ステップS122肯定)、CPU4は監視対象ブロックを該空きエントリに登録して(ステップS126)、処理を終了する。   First, the CPU 4 confirms the Nth entry (N is the entry number in the first table 31) in the first table 31 (step S121), and determines whether or not it is an empty entry (step S122). . If it is a vacant entry (Yes at step S122), the CPU 4 registers the monitoring target block in the vacant entry (step S126) and ends the process.

また、N番目のエントリが空きエントリでない場合は(ステップS122否定)、CPU4は、N番目のエントリが最後のエントリかどうかを確認する(ステップS123)。N番目のエントリが最後のエントリでない場合は(ステップS123否定)、ステップS121に戻ってエントリ番号を1だけインクリメントする。また、N番目のエントリが最後のエントリである場合は(ステップS123肯定)、CPU4は、第1のテーブル31に登録されているブロックに対して強制的にリフレッシュ処理を実行して、第1のテーブル31に空きエントリを作成する(ステップS124)。リフレッシュ処理したブロックのデータは誤り数が削減されるため、CPU4は、第1のテーブル31上から該ブロックを削除する。そして、CPU4は、その空きエントリへ新たな監視対象ブロックを登録し(ステップS125)、処理を終了する。   If the Nth entry is not an empty entry (No at Step S122), the CPU 4 checks whether the Nth entry is the last entry (Step S123). If the Nth entry is not the last entry (No at step S123), the process returns to step S121 to increment the entry number by one. If the Nth entry is the last entry (Yes at step S123), the CPU 4 forcibly executes a refresh process on the block registered in the first table 31, An empty entry is created in the table 31 (step S124). Since the number of errors is reduced in the refreshed block data, the CPU 4 deletes the block from the first table 31. Then, the CPU 4 registers a new monitoring target block in the empty entry (step S125), and ends the process.

つぎに、第1のテーブル31へ登録したブロックに対するデータの誤り数の監視方法について説明する。誤り数の監視はCPU4が制御部3内のタイマー7へ監視間隔の時間を設定し、タイマー7からの割り込みが発生するたびに、図6のフローチャートに示す方法で行う。図6は、第1のテーブル31へ登録したブロックに対する誤り数の監視処理を説明するためのフローチャートである。   Next, a method for monitoring the number of data errors for blocks registered in the first table 31 will be described. The number of errors is monitored by the method shown in the flowchart of FIG. 6 every time the CPU 4 sets a monitoring interval to the timer 7 in the control unit 3 and an interrupt from the timer 7 occurs. FIG. 6 is a flowchart for explaining the monitoring process of the number of errors for the block registered in the first table 31.

まず、CPU4は、第1のテーブル31のN番目(Nは、第1のテーブル31におけるエントリ番号)のエントリを確認し(ステップS131)、該エントリにブロックが登録済みであるか否かを判断する(ステップS132)。ブロックが登録済みでない場合は(ステップS132否定)、該エントリが最後のエントリかどうかを確認する(ステップS136)。最後のエントリでない場合は(ステップS136否定)、ステップS131に戻ってエントリ番号を1だけインクリメントする。最後のエントリである場合は(ステップS136肯定)、CPU4は誤り数の監視処理を終了する。   First, the CPU 4 confirms an Nth entry (N is an entry number in the first table 31) in the first table 31 (step S131), and determines whether or not a block has been registered in the entry. (Step S132). If the block is not registered (No at Step S132), it is confirmed whether or not the entry is the last entry (Step S136). If it is not the last entry (No at Step S136), the process returns to Step S131 to increment the entry number by 1. If it is the last entry (Yes at step S136), the CPU 4 ends the error number monitoring process.

ステップS132に戻って、ブロックが登録済みである場合は(ステップS132肯定)、CPU4はN番目のエントリに登録してあるブロックのデータをNAND型フラッシュメモリ10から制御部3内のRAM5上へ読み出す。次に、誤り訂正部21が読み出したデータの誤りを訂正し、訂正した誤りの数を誤り数検出部22が検出して自誤り数検出部22へ記憶する。CPU4は誤り数検出部22へアクセスし、読み出したデータに発生した誤り数を取得し、確認する(ステップS133)。そして、CPU4は読み出したデータの誤り数が第2の閾値(請求項の第2の閾値に対応)以上であるか否かを判断する(ステップS134)。第2の閾値は、所定の方法でデータを書き直す(リフレッシュ)ブロックを選択するための誤り数の閾値であり、ここでは、例えば4ビットの誤り数を第2の閾値とする。また、第2の閾値は、誤り訂正符号の訂正能力を考慮して設定する。   Returning to step S132, if the block has been registered (Yes at step S132), the CPU 4 reads the data of the block registered in the Nth entry from the NAND flash memory 10 onto the RAM 5 in the control unit 3. . Next, the error of the data read by the error correction unit 21 is corrected, and the number of corrected errors is detected by the error number detection unit 22 and stored in the own error number detection unit 22. The CPU 4 accesses the error number detection unit 22 to acquire and check the number of errors that have occurred in the read data (step S133). Then, the CPU 4 determines whether or not the number of errors in the read data is equal to or greater than a second threshold (corresponding to the second threshold in the claims) (step S134). The second threshold value is a threshold value for the number of errors for selecting a block for which data is rewritten (refreshed) by a predetermined method. Here, for example, a 4-bit error number is used as the second threshold value. The second threshold is set in consideration of the correction capability of the error correction code.

誤り数が第2の閾値未満(4ビット未満)である場合は(ステップS134否定)、CPU4は、N番目のエントリが最後のエントリかどうかを確認する(ステップS136)。N番目のエントリが最後のエントリでない場合は(ステップS136否定)、ステップS131に戻ってエントリ番号を1だけインクリメントする。また、N番目のエントリが最後のエントリである場合は(ステップS136肯定)、CPU4は誤り数の監視処理を終了する。   When the number of errors is less than the second threshold (less than 4 bits) (No at Step S134), the CPU 4 checks whether or not the Nth entry is the last entry (Step S136). If the Nth entry is not the last entry (No at step S136), the process returns to step S131 to increment the entry number by one. If the Nth entry is the last entry (Yes at step S136), the CPU 4 ends the error number monitoring process.

ステップS134に戻って、誤り数が第2の閾値以上(4ビット以上)である場合は(ステップS134肯定)、CPU4はN番目のエントリに登録してあるブロックのリフレッシュを実行する(ステップS135)。そして、CPU4は、N番目のエントリが最後のエントリかどうかを確認する(ステップS136)。N番目のエントリが最後のエントリでない場合は(ステップS136否定)、ステップS131に戻ってエントリ番号を1だけインクリメントする。N番目のエントリが最後のエントリである場合は(ステップS136肯定)、CPU4は誤り数の監視処理を終了する。   Returning to step S134, if the number of errors is greater than or equal to the second threshold (4 bits or more) (Yes at step S134), the CPU 4 performs a refresh of the block registered in the Nth entry (step S135). . Then, the CPU 4 confirms whether or not the Nth entry is the last entry (step S136). If the Nth entry is not the last entry (No at step S136), the process returns to step S131 to increment the entry number by one. When the Nth entry is the last entry (Yes at Step S136), the CPU 4 ends the error number monitoring process.

また、本実施の形態では、第1のテーブル31へ監視対象ブロックを登録するための誤り数の閾値(第1の閾値)よりも、第1のテーブル31に登録してある監視対象ブロックをリフレッシュするための誤り数の閾値(第2の閾値)が大きくなる。これは、誤り数が少ないブロックは監視の対象とし、誤り数が多いブロックはデータを復元できなくなる可能性があるためリフレッシュを行うためである。   Further, in the present embodiment, the monitoring target block registered in the first table 31 is refreshed rather than the error count threshold (first threshold) for registering the monitoring target block in the first table 31. The threshold value (second threshold value) for the number of errors to be increased. This is because a block with a small number of errors is to be monitored, and a block with a large number of errors may be unable to restore data, so refreshing is performed.

ブロックのリフレッシュ処理を行うには、まずリフレッシュ対象のブロックのデータをNAND型フラッシュメモリ10から制御部3内のRAM5上へ全て読み出し、NAND型フラッシュメモリ10上のブロックの消去を実行する。そして、ブロックの消去が完了した後にRAM5内へ退避した全データを消去したブロックに書き込む。リフレッシュ処理したブロックのデータは誤り数が削減されるため、図7のフローチャートに示す方法で第1のテーブル31上から該ブロックを削除し、監視対象ブロックから除外する。図7は、リフレッシュ処理したブロックの第1のテーブル31上からの削除処理を説明するためのフローチャートである。   In order to perform the block refresh process, first, all the data of the block to be refreshed is read from the NAND flash memory 10 onto the RAM 5 in the control unit 3, and the block on the NAND flash memory 10 is erased. Then, after the block erase is completed, all the data saved in the RAM 5 is written to the erased block. Since the number of errors is reduced in the refreshed block data, the block is deleted from the first table 31 by the method shown in the flowchart of FIG. 7 and excluded from the monitoring target block. FIG. 7 is a flowchart for explaining the deletion processing of the refreshed block from the first table 31.

まず、CPU4は、第1のテーブル31のN番目(Nは、第1のテーブル31におけるエントリ番号)のエントリを確認し(ステップS141)、登録されているブロックが対象ブロック、すなわちリフレッシュ処理したブロックか否かを判断する(ステップS142)。対象ブロックでない場合は(ステップS142否定)、該エントリが最後のエントリかどうかを確認する(ステップS144)。最後のエントリでない場合は(ステップS144否定)、ステップS141に戻ってエントリ番号を1だけインクリメントする。最後のエントリである場合は(ステップS144肯定)、CPU4は処理を終了する。   First, the CPU 4 confirms the Nth entry (N is the entry number in the first table 31) in the first table 31 (step S141), and the registered block is a target block, that is, a block subjected to refresh processing. Whether or not (step S142). If it is not the target block (No at Step S142), it is confirmed whether or not the entry is the last entry (Step S144). If it is not the last entry (No at Step S144), the process returns to Step S141 to increment the entry number by 1. If it is the last entry (Yes at step S144), the CPU 4 ends the process.

ステップS142に戻って、登録されているブロックが対象ブロックである場合は(ステップS142肯定)、CPU4はN番目のエントリに登録されているブロックを第1のテーブル31から削除し(ステップS143)、処理を終了する。なお、もともとデータが書き込まれていたブロックへ対してデータを書き直さずに他の空いているブロックへデータを書き直してもよい。   Returning to Step S142, if the registered block is the target block (Yes at Step S142), the CPU 4 deletes the block registered in the Nth entry from the first table 31 (Step S143), The process ends. Note that the data may be rewritten to another free block without rewriting the data to the block in which the data was originally written.

上述したように、第1の実施の形態にかかる半導体記憶装置1によれば、経年変化やリードディスターブの影響で近い将来にリフレッシュ処理が必要であるデータが記憶されたNAND型フラッシュメモリ10上のブロックを、ブロックに記憶したデータに発生した誤り数に基づいて選び出し、データの誤り数を監視する監視対象ブロックとして第1のテーブル31へ登録する。そして、第1のテーブル31に登録したブロックのデータを定期的に読み出して誤り数を検査し、データに発生した誤り数が規定の数を超えた場合にリフレッシュ処理を実行する。このようにして、ブロックのリフレッシュ処理までの期間を誤り訂正符号の訂正能力の範囲内で延ばすことでリフレッシュ処理の回数を削減し、NAND型フラッシュメモリ10の書き換え回数を抑制することができる。これにより、記憶したデータの経年変化による劣化やリードディスターブによる劣化に起因したデータ破損を少ない回数のリフレッシュ処理により確実に防止するとともに、リフレッシュ処理における処理量や電力消費が抑制された半導体記憶装置を実現することができる。   As described above, according to the semiconductor memory device 1 according to the first embodiment, the data on the NAND flash memory 10 in which data that needs to be refreshed in the near future is stored due to the influence of secular change and read disturb. A block is selected based on the number of errors occurring in the data stored in the block, and is registered in the first table 31 as a monitoring target block for monitoring the number of data errors. Then, the block data registered in the first table 31 is periodically read to check the number of errors, and when the number of errors occurring in the data exceeds a specified number, refresh processing is executed. In this way, the number of times of refresh processing can be reduced by extending the period until the block refresh processing within the range of the correction capability of the error correction code, and the number of times of rewriting of the NAND flash memory 10 can be suppressed. As a result, it is possible to reliably prevent data damage caused by deterioration of stored data due to aging or read disturb by a small number of refresh processes, and to reduce the amount of processing and power consumption in the refresh process. Can be realized.

また、第1の実施の形態にかかる半導体記憶装置1によれば、第1のテーブル31へ監視対象ブロックを登録するための誤り数の閾値(第1の閾値)よりも、第1のテーブル31に登録されている監視対象ブロックをリフレッシュするための誤り数の閾値(第2の閾値)が大きく設定される。これにより、監視対象ブロックのうち誤り数が多いブロックのリフレッシュ処理を行うことで、データを復元できなくなることを防止することができる。   Further, according to the semiconductor memory device 1 according to the first embodiment, the first table 31 is more than the threshold value (first threshold value) of the number of errors for registering the monitoring target block in the first table 31. The threshold value of the number of errors (second threshold value) for refreshing the monitoring target block registered in (1) is set large. As a result, it is possible to prevent data from being unable to be restored by performing a refresh process on a block having a large number of errors among the monitoring target blocks.

(第2の実施の形態)
第2の実施の形態では、図1の半導体記憶装置1においてNAND型フラッシュメモリ10のブロックに記憶したデータの読み出し量に基づいて監視対象ブロックを選択する場合について説明する。第2の実施の形態が第1の実施の形態と異なる点は、監視対象ブロックを登録する方法であり、それ以外は第1の実施の形態の場合と同じである。
(Second Embodiment)
In the second embodiment, a case will be described in which the monitoring target block is selected based on the read amount of data stored in the block of the NAND flash memory 10 in the semiconductor memory device 1 of FIG. The second embodiment is different from the first embodiment in a method for registering a monitoring target block, and the other points are the same as those in the first embodiment.

図8は、第2のテーブル32の構成を説明するための図である。第2のテーブル32は、NAND型フラッシュメモリ10上のブロックのデータの読み出し量を記憶する管理テーブルであり、RAM5上に構成されている。第2のテーブル32には、NAND型フラッシュメモリ10上のブロックの番号と、該ブロックから読み出されたデータの読み出し量と、が記憶される。   FIG. 8 is a diagram for explaining the configuration of the second table 32. The second table 32 is a management table that stores the amount of data read from the block on the NAND flash memory 10, and is configured on the RAM 5. The second table 32 stores a block number on the NAND flash memory 10 and a read amount of data read from the block.

CPU4は、NAND型フラッシュメモリ10上のブロックからデータを読み出すたびに、データの読み出し量をページ数でカウントし、第2のテーブル32に記憶させ、また更新する。また、第2のテーブル32に記憶された読み出し量は、NAND型フラッシュメモリ10上のブロックにデータが記憶されてからの読み出し量であり、ブロックのデータを消去するたびに値がクリアされる。なお、データの読み出し量には、データ量の積算量や読み出し回数を用いることができる。   Each time the CPU 4 reads data from the block on the NAND flash memory 10, the CPU 4 counts the amount of data read by the number of pages, stores it in the second table 32, and updates it. The read amount stored in the second table 32 is the read amount after data is stored in the block on the NAND flash memory 10, and the value is cleared each time the data in the block is erased. It should be noted that an integrated amount of data and the number of times of reading can be used as the data reading amount.

本実施の形態では、ホスト機器2の要求に従ったNAND型フラッシュメモリ10からのデータの読み出し処理時に、図9に示す流れに沿って、誤りが発生したブロックを監視するかどうかを決定する。図9は、第2の実施の形態における監視対象ブロックの選択処理を説明するためのフローチャートである。   In the present embodiment, at the time of data read processing from the NAND flash memory 10 in accordance with a request from the host device 2, it is determined whether or not to monitor a block in which an error has occurred in accordance with the flow shown in FIG. FIG. 9 is a flowchart for explaining monitoring target block selection processing according to the second embodiment.

まず、ホスト機器2の要求に従ったNAND型フラッシュメモリ10のブロックからのデータの読み出し処理時に、CPU4は第2のテーブル32において該ブロックのデータの読み出し量を更新する(ステップS151)。そして、CPU4は、更新したデータの読み出し量が第3の閾値(請求項の第3の閾値に対応)以上であるか否かを確認する(ステップS152)。第3の閾値は、監視対象とするブロックを選択するための、ブロックからのデータ読み出し量の閾値であり、ここでは、例えば10^10ページの読み出し量を第3の閾値とする。   First, when reading data from a block of the NAND flash memory 10 in accordance with a request from the host device 2, the CPU 4 updates the data read amount of the block in the second table 32 (step S151). Then, the CPU 4 checks whether or not the read amount of the updated data is greater than or equal to the third threshold (corresponding to the third threshold in the claims) (step S152). The third threshold value is a threshold value for the amount of data read from the block for selecting the block to be monitored. Here, for example, the read amount for 10 ^ 10 pages is set as the third threshold value.

ブロックのデータの読み出し量が第3の閾値以上である場合は(ステップS152肯定)、経年変化やリードディスターブの影響で誤り数が増加して誤り訂正符号の訂正能力以上の誤りが発生する可能性がある。このため、CPU4は、データを読み出したこのブロックを監視対象ブロックとして第1のテーブル31へ登録する(ステップS153)。また、ブロックのデータの読み出し量が第3の閾値未満である場合は(ステップS152否定)、第1のテーブル31への登録を行わずに処理を終了する。なお、第1のテーブル31へ登録したブロックの誤り数の監視は、第1の実施の形態の場合と同様であるため、ここでは詳細な説明は省略する。   If the amount of data read from the block is greater than or equal to the third threshold value (Yes at step S152), the number of errors may increase due to aging or read disturb, and an error exceeding the correction capability of the error correction code may occur. There is. Therefore, the CPU 4 registers the block from which the data has been read out as a monitoring target block in the first table 31 (step S153). If the amount of data read from the block is less than the third threshold (No at step S152), the process ends without performing registration in the first table 31. Note that the monitoring of the number of errors in the block registered in the first table 31 is the same as that in the first embodiment, and a detailed description thereof will be omitted here.

上述したように、第2の実施の形態にかかる半導体記憶装置1によれば、経年変化やリードディスターブの影響で近い将来にリフレッシュ処理が必要であるデータが記憶されたNAND型フラッシュメモリ10上のブロックを、ブロックに記憶したデータの読み出し量に基づいて選び出し、データの誤り数を監視する監視対象ブロックとして第1のテーブル31へ登録する。そして、第1のテーブル31に登録したブロックのデータを定期的に読み出して誤り数を検査し、データに発生した誤り数が規定の数を超えた場合にリフレッシュ処理を実行する。このようにして、ブロックのリフレッシュ処理までの期間を誤り訂正符号の訂正能力の範囲内で延ばすことでリフレッシュ処理の回数を削減し、NAND型フラッシュメモリ10の書き換え回数を抑制することができる。これにより、記憶したデータの経年変化による劣化やリードディスターブによる劣化に起因したデータ破損を少ない回数のリフレッシュ処理により確実に防止するとともに、リフレッシュ処理における処理量や電力消費が抑制された半導体記憶装置を実現することができる。   As described above, according to the semiconductor memory device 1 according to the second embodiment, the data on the NAND flash memory 10 in which data that needs to be refreshed in the near future is stored due to aging and read disturb. A block is selected based on the read amount of data stored in the block, and is registered in the first table 31 as a monitoring target block for monitoring the number of data errors. Then, the block data registered in the first table 31 is periodically read to check the number of errors, and when the number of errors occurring in the data exceeds a specified number, refresh processing is executed. In this way, the number of times of refresh processing can be reduced by extending the period until the block refresh processing within the range of the correction capability of the error correction code, and the number of times of rewriting of the NAND flash memory 10 can be suppressed. As a result, it is possible to reliably prevent data damage caused by deterioration of stored data due to aging or read disturb by a small number of refresh processes, and to reduce the amount of processing and power consumption in the refresh process. Can be realized.

(第3の実施の形態)
第3の実施の形態では、図1の半導体記憶装置1においてNAND型フラッシュメモリ10上のブロックへのデータの書き込み時刻に基づいて監視対象ブロックを選択する場合について説明する。第3の実施の形態が第1の実施の形態と異なる点は、監視対象ブロックを登録する方法であり、それ以外は第1の実施の形態の場合と同じである。
(Third embodiment)
In the third embodiment, a case will be described in which the monitoring target block is selected based on the data write time to the block on the NAND flash memory 10 in the semiconductor memory device 1 of FIG. The third embodiment is different from the first embodiment in a method for registering a monitoring target block, and the other points are the same as those in the first embodiment.

図10は、第3のテーブル33の構成を説明するための図である。第3のテーブル33は、NAND型フラッシュメモリ10上のブロックへのデータの書き込み時刻を記憶する管理テーブルであり、RAM5上に構成されている。第3のテーブル33には、NAND型フラッシュメモリ10上のブロックの番号と、該ブロックへのデータの書き込み時刻と、が記憶される。   FIG. 10 is a diagram for explaining the configuration of the third table 33. The third table 33 is a management table that stores data write times to blocks on the NAND flash memory 10, and is configured on the RAM 5. The third table 33 stores the block number on the NAND flash memory 10 and the data write time to the block.

CPU4は、NAND型フラッシュメモリ10上のブロックにデータを書き込む際に、書き込み時刻を第3のテーブル33に記憶させる。また、第3のテーブル33に記憶された書き込み時刻は、NAND型フラッシュメモリ10上のブロックのデータを消去するたびに値がクリアされる。なお、第3のテーブル33に記憶する書き込み時刻は、半導体記憶装置1の動作時間の他、NAND型フラッシュメモリ10の総消去回数などを利用して、書き込みを実行した時点と現在との時間的な差分が分かればよい。   When the CPU 4 writes data to the block on the NAND flash memory 10, the CPU 4 stores the write time in the third table 33. The value of the writing time stored in the third table 33 is cleared every time the block data on the NAND flash memory 10 is erased. Note that the write time stored in the third table 33 is the time between the time when the write is executed and the current time using the total erase count of the NAND flash memory 10 in addition to the operation time of the semiconductor memory device 1. We just need to know the difference.

本実施の形態では、ホスト機器2の要求に従ったNAND型フラッシュメモリ10のブロックからのデータの読み出し処理時に、図11に示す流れに沿ってブロックへのデータの書き込み時刻からの経過時間を計測し、誤り数を監視するブロックを決定する。図11は、第3の実施の形態における監視対象ブロックの選択処理を説明するためのフローチャートである。   In the present embodiment, at the time of data read processing from the block of the NAND flash memory 10 according to the request of the host device 2, the elapsed time from the data write time to the block is measured along the flow shown in FIG. Then, the block for monitoring the number of errors is determined. FIG. 11 is a flowchart for explaining monitoring target block selection processing according to the third embodiment.

まず、ホスト機器2の要求に従ったNAND型フラッシュメモリ10からのデータの読み出し処理時に、CPU4はデータを読み出す対象のブロックへの最終の書き込み時刻であって第3のテーブル33に記憶された書き込み時刻と現時刻との差、すなわちデータを読み出す対象のブロックへの書き込み時刻からの経過時間を算出する(ステップS161)。そして、CPU4は、ブロックへの書き込み時刻からの経過時間が第4の閾値(請求項の第4の閾値に対応)以上であるか否かを確認する(ステップS162)。第4の閾値は、監視対象とするブロックを選択するための、ブロックへの書き込み時刻からの経過時間の閾値であり、ここでは、例えば一ヶ月を第4の閾値とする。   First, when data is read from the NAND flash memory 10 in accordance with a request from the host device 2, the CPU 4 writes the last write time to the target block from which data is read and stored in the third table 33. The difference between the time and the current time, that is, the elapsed time from the write time to the block from which data is read is calculated (step S161). Then, the CPU 4 checks whether or not the elapsed time from the writing time to the block is equal to or greater than a fourth threshold (corresponding to the fourth threshold in the claims) (step S162). The fourth threshold value is a threshold value of the elapsed time from the writing time to the block for selecting the block to be monitored, and here, for example, one month is set as the fourth threshold value.

ブロックへの書き込み時刻からの経過時間が第4の閾値以上である場合は(ステップS162肯定)、経年変化やリードディスターブの影響で誤り数が増加して誤り訂正符号の訂正能力以上の誤りが発生する可能性がある。このため、CPU4は、データを読み出したこのブロックを監視対象ブロックとして第1のテーブル31へ登録する(ステップS163)。また、ブロックへの書き込み時刻からの経過時間が第4の閾値未満である場合は(ステップS162否定)、第1のテーブル31への登録を行わずに処理を終了する。なお、第1のテーブル31へ登録したブロックの誤り数の監視は、第1の実施の形態の場合と同様であるため、ここでは詳細な説明は省略する。   If the elapsed time from the writing time to the block is equal to or greater than the fourth threshold (Yes at step S162), the number of errors increases due to aging or read disturb, and an error exceeding the correction capability of the error correction code occurs. there's a possibility that. Therefore, the CPU 4 registers the block from which the data has been read out as the monitoring target block in the first table 31 (step S163). If the elapsed time from the writing time to the block is less than the fourth threshold (No at step S162), the process ends without performing registration in the first table 31. Note that the monitoring of the number of errors in the block registered in the first table 31 is the same as that in the first embodiment, and a detailed description thereof will be omitted here.

なお、ホスト機器2から要求されたデータについてのみ、NAND型フラッシュメモリ10からのデータの読み出し処理のたびにブロックへの書き込み時刻からの経過時間を検査する場合には、NAND型フラッシュメモリ10に記憶されていながら読み出しがほとんどないブロックに記憶されたデータの経年変化を検出することができない。このため、電源投入時や数ヶ月に一回の間隔など、任意のタイミングでNAND型フラッシュメモリ10の第1のテーブルの全領域のデータを読み出して、ブロックへの書き込み時刻からの経過時間を確認することが好ましい。これにより、読み出しがほとんどないブロックに記憶されたデータに対しても誤り数の増加具合を監視することができる。   Note that only the data requested from the host device 2 is stored in the NAND flash memory 10 when the elapsed time from the write time to the block is checked every time the data is read from the NAND flash memory 10. However, it is impossible to detect a secular change of data stored in a block that is hardly read. For this reason, the data of the entire area of the first table of the NAND flash memory 10 is read at an arbitrary timing such as when the power is turned on or once every several months, and the elapsed time from the writing time to the block is confirmed. It is preferable to do. As a result, it is possible to monitor the increase in the number of errors even for data stored in a block that is hardly read.

上述したように、第3の実施の形態にかかる半導体記憶装置1によれば、経年変化やリードディスターブの影響で近い将来にリフレッシュ処理が必要であるデータが記憶されたNAND型フラッシュメモリ10上のブロックを、ブロックへの最終書き込み時刻からの経過時間に基づいて選び出し、データの誤り数を監視する監視対象ブロックとして第1のテーブル31へ登録する。そして、第1のテーブル31に登録したブロックのデータを定期的に読み出して誤り数を検査し、データに発生した誤り数が規定の数を超えた場合にリフレッシュ処理を実行する。このようにして、ブロックのリフレッシュ処理までの期間を誤り訂正符号の訂正能力の範囲内で延ばすことでリフレッシュ処理の回数を削減し、NAND型フラッシュメモリ10の書き換え回数を抑制することができる。これにより、記憶したデータの経年変化による劣化やリードディスターブによる劣化に起因したデータ破損を少ない回数のリフレッシュ処理により確実に防止するとともに、リフレッシュ処理における処理量や電力消費が抑制された半導体記憶装置を実現することができる。   As described above, according to the semiconductor memory device 1 according to the third embodiment, the data on the NAND flash memory 10 in which data that needs to be refreshed in the near future due to the influence of secular change or read disturb is stored. A block is selected based on the elapsed time from the last write time to the block, and is registered in the first table 31 as a monitoring target block for monitoring the number of data errors. Then, the block data registered in the first table 31 is periodically read to check the number of errors, and when the number of errors occurring in the data exceeds a specified number, refresh processing is executed. In this way, the number of times of refresh processing can be reduced by extending the period until the block refresh processing within the range of the correction capability of the error correction code, and the number of times of rewriting of the NAND flash memory 10 can be suppressed. As a result, it is possible to reliably prevent data damage caused by deterioration of stored data due to aging or read disturb by a small number of refresh processes, and to reduce the amount of processing and power consumption in the refresh process. Can be realized.

(第4の実施の形態)
第4の実施の形態では、図1の半導体記憶装置1においてNAND型フラッシュメモリ10上のブロックへのデータの書き込み順序に基づいて監視対象ブロックを選択する場合について説明する。第4の実施の形態が第1の実施の形態と異なる点は、監視対象ブロックを登録する方法であり、それ以外は第1の実施の形態の場合と同じである。
(Fourth embodiment)
In the fourth embodiment, a case will be described in which the monitoring target block is selected based on the order of data writing to the block on the NAND flash memory 10 in the semiconductor memory device 1 of FIG. The fourth embodiment is different from the first embodiment in the method of registering the monitoring target block, and the other points are the same as those in the first embodiment.

図12は、第4のテーブル34の構成を説明するための図である。第4のテーブル34は、NAND型フラッシュメモリ10上のブロックへのデータの書き込み順序を記憶する管理テーブルであり、RAM5上に構成されている。第4のテーブル34には、NAND型フラッシュメモリ10上のブロックの番号と、NAND型フラッシュメモリ10上への書き込み順序番号と、が記憶される。   FIG. 12 is a diagram for explaining the configuration of the fourth table 34. The fourth table 34 is a management table that stores the order in which data is written to blocks on the NAND flash memory 10, and is configured on the RAM 5. The fourth table 34 stores a block number on the NAND flash memory 10 and a write order number on the NAND flash memory 10.

CPU4は、ホスト機器2の要求に従ってNAND型フラッシュメモリ10上のブロックにデータを書き込む際に、NAND型フラッシュメモリ10上への書き込み順序番号を第4のテーブル34に記憶、更新させる。なお、第4のテーブル34はリンク構造などで実現し、書き込み処理毎に書き込み順序番号を更新しても処理が多くならないようにすることが好ましい。これにより、CPU4の処理負担の軽減および処理時間の短縮が図れる。   When the CPU 4 writes data to a block on the NAND flash memory 10 in accordance with a request from the host device 2, the CPU 4 stores and updates the write sequence number on the NAND flash memory 10 in the fourth table 34. Note that the fourth table 34 is preferably realized by a link structure or the like so that the processing does not increase even when the write sequence number is updated for each write process. As a result, the processing load on the CPU 4 can be reduced and the processing time can be shortened.

本実施の形態では、ホスト機器2の要求に従ったNAND型フラッシュメモリ10のブロックへのデータの書き込み処理時に、図13に示す流れに沿ってNAND型フラッシュメモリ10へのブロックの書き込み順序番号を記憶、更新し、この書き込み順序番号に基づいて、誤り数を監視するブロックを決定する。図13は、第4の実施の形態における監視対象ブロックの選択処理を説明するためのフローチャートである。   In the present embodiment, at the time of data write processing to the block of the NAND flash memory 10 according to the request of the host device 2, the block write order number to the NAND flash memory 10 is set according to the flow shown in FIG. Based on the write sequence number, the block for monitoring the number of errors is determined. FIG. 13 is a flowchart for explaining monitoring target block selection processing according to the fourth embodiment.

まず、ホスト機器2の要求に従ったNAND型フラッシュメモリ10上のブロックへのデータの書き込み処理時に、CPU4は第4のテーブル34における書き込み順序番号を記憶、更新する(ステップS171)。そして、CPU4は第4のテーブル34のN番目(Nは、第4のテーブル34における書き込み順序番号)の書き込み順序番号に対応するブロックを確認し(ステップS172)、書き込み順序番号が第5の閾値(請求項の第5の閾値に対応)以下、すなわち第5の閾値よりも古いブロックであるか否かを確認する(ステップS173)。第5の閾値は、監視対象とするブロックを選択するための書き込み順序の閾値であり、ここでは、例えば書き込み順序番号が古い(小さい)ブロックから10個を第5の閾値とする。   First, when data is written into a block on the NAND flash memory 10 in accordance with a request from the host device 2, the CPU 4 stores and updates the write order number in the fourth table 34 (step S171). Then, the CPU 4 confirms the block corresponding to the Nth writing order number (N is the writing order number in the fourth table 34) of the fourth table 34 (step S172), and the writing order number is the fifth threshold value. (Corresponding to the fifth threshold value in the claims) The following is confirmed, that is, whether the block is older than the fifth threshold value (step S173). The fifth threshold value is a write order threshold value for selecting a block to be monitored. Here, for example, 10 blocks from the oldest (smaller) write order number are used as the fifth threshold value.

書き込み順序番号が第5の閾値以下、すなわち第5の閾値よりも古いブロックである場合は(ステップS173肯定)、経年変化やリードディスターブの影響で誤り数が増加して誤り訂正符号の訂正能力以上の誤りが発生する可能性がある。このため、CPU4はブロックが第1のテーブル31に登録済みであるか否かを判断する(ステップS174)。ブロックが第1のテーブル31に登録済みでない場合は(ステップS174否定)、CPU4はこのブロックを監視対象ブロックとして第1のテーブル31へ登録する(ステップS175)。すなわち、CPU4は第5の閾値以上過去に書き込んだブロックを監視対象ブロックとして第1のテーブル31へ登録し、データの誤り数の検査対象とする。   If the write sequence number is less than or equal to the fifth threshold value, that is, the block is older than the fifth threshold value (Yes at step S173), the number of errors increases due to the influence of secular change or read disturb and exceeds the correction capability of the error correction code. May occur. Therefore, the CPU 4 determines whether or not the block has been registered in the first table 31 (step S174). If the block has not been registered in the first table 31 (No in step S174), the CPU 4 registers this block in the first table 31 as a monitoring target block (step S175). That is, the CPU 4 registers a block written in the past more than the fifth threshold as a monitoring target block in the first table 31, and sets it as an inspection target of the number of data errors.

ステップS174に戻って、ブロックが第1のテーブル31に登録済みである場合は(ステップS174肯定)、CPU4はN番目の書き込み順序番号が最後の書き込み順序番号かどうかを確認する(ステップS176)。最後の書き込み順序番号でない場合は(ステップS176否定)、ステップS172に戻って書き込み順序番号を1だけインクリメントする。最後の書き込み順序番号である場合は(ステップS176肯定)、CPU4は処理を終了する。   Returning to step S174, if the block has already been registered in the first table 31 (Yes at step S174), the CPU 4 checks whether or not the Nth write sequence number is the last write sequence number (step S176). If it is not the last writing order number (No at Step S176), the process returns to Step S172 and increments the writing order number by 1. If it is the last writing order number (Yes at step S176), the CPU 4 ends the process.

ステップS173に戻って、書き込み順序番号が第5の閾値以下でない、すなわち第5の閾値よりも新しいブロックである場合は(ステップS173否定)、CPU4はN番目の書き込み順序番号が最後の書き込み順序番号かどうかを確認する(ステップS176)。最後の書き込み順序番号でない場合は(ステップS176否定)、ステップS172に戻って書き込み順序番号を1だけインクリメントする。最後の書き込み順序番号である場合は(ステップS176肯定)、CPU4は処理を終了する。なお、第1のテーブル31へ登録したブロックの誤り数の監視は、第1の実施の形態の場合と同様であるため、ここでは詳細な説明は省略する。   Returning to step S173, if the write sequence number is not less than or equal to the fifth threshold value, that is, if the block is newer than the fifth threshold value (No at step S173), the CPU 4 determines that the Nth write sequence number is the last write sequence number. Whether or not (step S176). If it is not the last writing order number (No at Step S176), the process returns to Step S172 and increments the writing order number by 1. If it is the last writing order number (Yes at step S176), the CPU 4 ends the process. Note that the monitoring of the number of errors in the block registered in the first table 31 is the same as that in the first embodiment, and a detailed description thereof will be omitted here.

上述したように、第4の実施の形態にかかる半導体記憶装置1によれば、経年変化やリードディスターブの影響で近い将来にリフレッシュ処理が必要であるデータが記憶されたNAND型フラッシュメモリ10上のブロックを、NAND型フラッシュメモリ10上のブロックへのデータの書き込み順序に基づいて選び出し、データの誤り数を監視する監視対象ブロックとして第1のテーブル31へ登録する。そして、第1のテーブル31に登録したブロックのデータを定期的に読み出して誤り数を検査し、データに発生した誤り数が規定の数を超えた場合にリフレッシュ処理を実行する。このようにして、ブロックのリフレッシュ処理までの期間を誤り訂正符号の訂正能力の範囲内で延ばすことでリフレッシュ処理の回数を削減し、NAND型フラッシュメモリ10の書き換え回数を抑制することができる。これにより、記憶したデータの経年変化による劣化やリードディスターブによる劣化に起因したデータ破損を少ない回数のリフレッシュ処理により確実に防止するとともに、リフレッシュ処理における処理量や電力消費が抑制された半導体記憶装置を実現することができる。   As described above, according to the semiconductor memory device 1 of the fourth embodiment, the data on the NAND flash memory 10 in which data that needs to be refreshed in the near future due to the influence of secular change and read disturb is stored. A block is selected based on the order of data writing to the block on the NAND flash memory 10, and is registered in the first table 31 as a monitoring target block for monitoring the number of data errors. Then, the block data registered in the first table 31 is periodically read to check the number of errors, and when the number of errors occurring in the data exceeds a specified number, refresh processing is executed. In this way, the number of times of refresh processing can be reduced by extending the period until the block refresh processing within the range of the correction capability of the error correction code, and the number of times of rewriting of the NAND flash memory 10 can be suppressed. As a result, it is possible to reliably prevent data damage caused by deterioration of stored data due to aging or read disturb by a small number of refresh processes, and to reduce the amount of processing and power consumption in the refresh process. Can be realized.

(第5の実施の形態)
第5の実施の形態では、第1の実施の形態〜第4の実施の形態の半導体記憶装置1において、第1のテーブル31へ監視対象ブロックを登録する際に空きエントリが無い場合の処理について説明する。
(Fifth embodiment)
In the fifth embodiment, in the semiconductor memory device 1 of the first to fourth embodiments, a process when there is no empty entry when registering a monitoring target block in the first table 31 is performed. explain.

図14は、第5のテーブル35の構成を説明するための図である。第5のテーブル35は、第1のテーブル31へ登録した監視対象ブロックの登録順序を記憶する管理テーブルであり、RAM5上に構成されている。第5のテーブル35には、第1のテーブル31へ登録した監視対象ブロックの番号と、該監視対象ブロックを第1のテーブル31へ登録した順序番号(登録順序番号)と、が記憶される。   FIG. 14 is a diagram for explaining the configuration of the fifth table 35. The fifth table 35 is a management table that stores the registration order of the monitoring target blocks registered in the first table 31, and is configured on the RAM 5. The fifth table 35 stores the number of the monitoring target block registered in the first table 31 and the order number (registration order number) in which the monitoring target block is registered in the first table 31.

第1のテーブル31への監視対象ブロックの登録においては、第1のテーブル31でのエントリ番号が若い順に、登録が早い監視対象ブロックが格納される。本実施の形態では、CPU4は監視対象ブロックを第1のテーブル31へブロックを登録するたびにその監視対象ブロックの番号を第5のテーブル35へ登録する。また、第5のテーブル35では、CPU4が第1のテーブル31に対して監視対象ブロックの登録または削除を行うたびに登録順序番号を更新するため、リンクリストなどで実現することが好ましい。これにより、CPU4の処理負担の軽減および処理時間の短縮が図れる。   In registering the monitoring target block in the first table 31, the monitoring target blocks that are registered earlier are stored in ascending order of entry numbers in the first table 31. In this embodiment, the CPU 4 registers the number of the monitoring target block in the fifth table 35 every time the monitoring target block is registered in the first table 31. Further, in the fifth table 35, since the registration sequence number is updated every time the CPU 4 registers or deletes the monitoring target block in the first table 31, it is preferably realized by a link list or the like. As a result, the processing load on the CPU 4 can be reduced and the processing time can be shortened.

以下、第1のテーブル31へ監視対象ブロックを登録する際に空きエントリが無い場合における、第1のテーブル31への監視対象ブロックの登録処理について図15を参照して説明する。図15は、第5の実施の形態における第1のテーブル31への監視対象ブロックの登録処理を説明するためのフローチャートである。   Hereinafter, the registration processing of the monitoring target block in the first table 31 when there is no empty entry when registering the monitoring target block in the first table 31 will be described with reference to FIG. FIG. 15 is a flowchart for explaining the monitoring target block registration process in the first table 31 according to the fifth embodiment.

まず、第1のテーブル31への監視対象ブロックの登録処理時に、CPU4は第5のテーブル35に登録されている登録ブロック数が第6の閾値(請求項の第6の閾値に対応)未満であるか否かを確認する(ステップS181)。ここで、第6の閾値は、第1のテーブル31へ登録できる最大のブロック数であり、且つ第5のテーブル35へ登録できる最大のブロック数である。したがって、第5のテーブル35に登録されている登録ブロック数が第6の閾値未満であるということは、第1のテーブル31に空きエントリがあることを意味し、第5のテーブル35に登録されている登録ブロック数が第6の閾値未満でないということは、第1のテーブル31に空きエントリが無いことを意味する。   First, during the process of registering the monitoring target block in the first table 31, the CPU 4 has the number of registered blocks registered in the fifth table 35 less than the sixth threshold (corresponding to the sixth threshold in the claims). It is confirmed whether or not there is (step S181). Here, the sixth threshold is the maximum number of blocks that can be registered in the first table 31 and the maximum number of blocks that can be registered in the fifth table 35. Therefore, the fact that the number of registered blocks registered in the fifth table 35 is less than the sixth threshold means that there is an empty entry in the first table 31 and is registered in the fifth table 35. That the number of registered blocks is not less than the sixth threshold means that there is no empty entry in the first table 31.

第5のテーブル35に登録されている登録ブロック数が第6の閾値未満である場合、すなわち第1のテーブル31に空きエントリがある場合は(ステップS181肯定)、CPU4は第1のテーブル31の空きエントリへ監視対象ブロックを登録し(ステップS184)、さらに第5のテーブル35に該ブロックの番号を登録して処理を終了する。   When the number of registered blocks registered in the fifth table 35 is less than the sixth threshold, that is, when there is an empty entry in the first table 31 (Yes in step S181), the CPU 4 The monitoring target block is registered in the empty entry (step S184), and the number of the block is registered in the fifth table 35, and the process ends.

また、第5のテーブル35に登録されている登録ブロック数が第6の閾値未満でない場合(第1のテーブル31に空きエントリが無い場合)は(ステップS181否定)、CPU4は第5のテーブル35を参照し、第5のテーブル35における登録順序番号が先頭のブロックのリフレッシュ処理を実行する(ステップS182)。すなわち、第1のテーブル31および第5のテーブル35へ登録した順番が最も早いブロックのリフレッシュ処理を行う。   When the number of registered blocks registered in the fifth table 35 is not less than the sixth threshold (when there is no empty entry in the first table 31) (No in step S181), the CPU 4 determines that the fifth table 35 , The refresh process is executed for the block with the registration order number in the fifth table 35 (step S182). That is, the refresh process is performed on the block with the earliest order of registration in the first table 31 and the fifth table 35.

そして、CPU4はリフレッシュ処理を実行したブロックを第1のテーブル31と第5のテーブル35から削除する(ステップS183)。その後、第1のテーブル31の空きエントリに対して新しい監視対象ブロックの登録を行う。また、CPU4は第5のテーブル35の登録順序番号を更新し、第1のテーブル31の空きエントリに登録した監視対象ブロックを第5のテーブル35に登録する(ステップS184)。   Then, the CPU 4 deletes the block on which the refresh process has been executed from the first table 31 and the fifth table 35 (step S183). Thereafter, a new monitoring target block is registered for the empty entry in the first table 31. Further, the CPU 4 updates the registration sequence number of the fifth table 35 and registers the monitoring target block registered in the empty entry of the first table 31 in the fifth table 35 (step S184).

上述したように、第5の実施の形態にかかる半導体記憶装置1によれば、第1のテーブル31の空きエントリを管理することにより、第1のテーブル31へ新たな監視対象ブロックを登録する際に空きエントリが無い場合においても、該監視対象ブロックの登録処理を可能とし、データの誤り数を監視する監視対象ブロックを管理することができる。   As described above, according to the semiconductor memory device 1 according to the fifth embodiment, when a new monitored block is registered in the first table 31 by managing the empty entries in the first table 31. Even when there is no empty entry, the monitoring target block can be registered, and the monitoring target block for monitoring the number of data errors can be managed.

(第6の実施の形態)
第6の実施の形態では、第1の実施の形態〜第5の実施の形態の半導体記憶装置1において、データの誤り数の監視対象外になったブロックを第1のテーブル31から削除する場合の処理について説明する。
(Sixth embodiment)
In the sixth embodiment, in the semiconductor memory device 1 according to the first to fifth embodiments, a block that is not subject to monitoring of the number of data errors is deleted from the first table 31. The process will be described.

図16は、第6のテーブル36の構成を説明するための図である。第6のテーブル36は、保持すべきデータが記憶されていないNAND型フラッシュメモリ10上のブロックを記憶する管理テーブルであり、RAM5上に構成されている。第6のテーブル36は、複数のエントリから構成され、各エントリにはNAND型フラッシュメモリ10上のブロックの番号のうち、保持すべきデータが記憶されていないブロックの番号を登録する。第6のテーブル36へのアクセスはエントリの番号で行う。   FIG. 16 is a diagram for explaining the configuration of the sixth table 36. The sixth table 36 is a management table that stores blocks on the NAND flash memory 10 in which data to be held is not stored, and is configured on the RAM 5. The sixth table 36 is composed of a plurality of entries, and among the numbers of blocks on the NAND flash memory 10, the numbers of blocks in which data to be held are not stored are registered in each entry. Access to the sixth table 36 is performed using the entry number.

CPU4は、保持すべきデータが記憶されていないブロックの番号の情報を第6のテーブル36から取得することで、そのブロックに新たなデータを書き込むことができ、また保持すべきデータが存在しなくなったブロックの番号を第6のテーブル36へ登録する。なお、保持すべきデータが存在しなくなる状況は、主に新しいデータを書き込む場合に発生する。例えば、NAND型フラッシュメモリ10のブロック1にアドレスAのデータXが記録してある場合において、ホスト機器2からアドレスAのデータXをデータYへ書き換える際に別のブロック(例えばブロック100)へアドレスAのデータYを書き込む制御を行う制御方式では、ブロック1に保存してあるアドレスAの過去のデータXは保持すべきデータではなくなる。   The CPU 4 acquires information on the number of the block in which the data to be held is not stored from the sixth table 36, so that new data can be written to the block, and there is no data to be held. The block number is registered in the sixth table 36. Note that the situation where there is no data to be stored mainly occurs when new data is written. For example, when the data X at the address A is recorded in the block 1 of the NAND flash memory 10, when the data X at the address A is rewritten from the host device 2 to the data Y, the address is transferred to another block (for example, the block 100). In the control method of performing the control of writing the data Y of A, the past data X of the address A stored in the block 1 is not data to be held.

以下、データの誤り数の監視対象外になった監視対象ブロックを第1のテーブル31から削除する場合の処理について図17を参照して説明する。図17は、第6の実施の形態において第1のテーブル31から誤り数の監視対象外ブロックを削除する処理を説明するためのフローチャートである。   In the following, a process for deleting a monitoring target block that is not monitored for the number of data errors from the first table 31 will be described with reference to FIG. FIG. 17 is a flowchart for explaining processing for deleting an error count non-monitoring block from the first table 31 in the sixth embodiment.

まず、CPU4は、保持すべきデータが存在しなくなったブロックが発生した際に、第1のテーブル31のN番目(Nは、第1のテーブル31におけるエントリ番号)のエントリを確認し(ステップS191)、登録されているブロックが対象ブロック(保持すべきデータが存在しなくなった監視対象外ブロック)であるか否かを判断する(ステップS192)。対象ブロックでない場合は(ステップS192否定)、該エントリが最後のエントリかどうかを確認する(ステップS193)。   First, the CPU 4 checks the Nth entry (N is the entry number in the first table 31) of the first table 31 when a block in which data to be held no longer exists (step S191). ), It is determined whether or not the registered block is a target block (a non-monitoring target block in which data to be held no longer exists) (step S192). If it is not the target block (No at Step S192), it is confirmed whether or not the entry is the last entry (Step S193).

ここで、最後のエントリでない場合は(ステップS193否定)、ステップS191に戻ってエントリ番号を1だけインクリメントする。最後のエントリである場合は(ステップS193肯定)、CPU4は処理を終了する。   If it is not the last entry (No at Step S193), the process returns to Step S191 and increments the entry number by one. If it is the last entry (Yes at step S193), the CPU 4 ends the process.

ステップS192に戻って、対象ブロックである場合は(ステップS192肯定)、CPU4は該ブロックの第1のテーブル31上からの削除処理を実行し、該ブロックの番号を第6のテーブル36に登録して処理を終了する(ステップS194)。なお、第6のテーブル36へ登録するブロックは、保持すべきデータを記憶していないためリフレッシュ処理を行う必要がない。   Returning to step S192, if the block is the target block (Yes in step S192), the CPU 4 executes the deletion process of the block from the first table 31 and registers the block number in the sixth table 36. The process is terminated (step S194). Note that the block to be registered in the sixth table 36 does not store the data to be held, and therefore does not need to be refreshed.

上述したように、第6の実施の形態にかかる半導体記憶装置1によれば、データが記憶されているNAND型フラッシュメモリ10上のブロックに新しいデータを書き込む場合等において保持すべきデータが存在しなくなった監視対象外ブロックが発生した際に第1のテーブル31から該監視対象外ブロックを確実に削除して、第1のテーブル31の空きエントリを管理することができる。   As described above, according to the semiconductor memory device 1 of the sixth embodiment, there is data to be held when writing new data to a block on the NAND flash memory 10 in which data is stored. When a non-monitoring target block that has disappeared occurs, the non-monitoring target block can be surely deleted from the first table 31 to manage empty entries in the first table 31.

(第7の実施の形態)
第7の実施の形態では、第1の実施の形態〜第6の実施の形態の半導体記憶装置1において、第1のテーブル31に登録された監視対象ブロックを監視する方法について説明する。
(Seventh embodiment)
In the seventh embodiment, a method of monitoring a monitoring target block registered in the first table 31 in the semiconductor memory device 1 of the first to sixth embodiments will be described.

図18は、第7のテーブル37の構成を説明するための図である。第7のテーブル37は、第1のテーブル31に登録されたNAND型フラッシュメモリ10上のブロックの誤り数を記憶する管理テーブルであり、RAM5上に構成されている。第7のテーブル37は複数のエントリから構成され、各エントリには第1のテーブル31に登録されたブロックの番号と、該ブロックに記憶したデータで検出した誤り数を登録する。第7のテーブル37へのアクセスはエントリの番号で行う。第7のテーブル37に登録される誤り数は、誤り数の監視を実行するたびに値を更新する。   FIG. 18 is a diagram for explaining the configuration of the seventh table 37. The seventh table 37 is a management table for storing the number of block errors on the NAND flash memory 10 registered in the first table 31, and is configured on the RAM 5. The seventh table 37 is composed of a plurality of entries. In each entry, the block number registered in the first table 31 and the number of errors detected in the data stored in the block are registered. Access to the seventh table 37 is performed using the entry number. The number of errors registered in the seventh table 37 is updated each time the number of errors is monitored.

以下、第1のテーブル31へ登録した監視対象ブロックに対するデータの誤り数の監視方法について図19を参照して説明する。図19は、第1のテーブル31へ登録した監視対象ブロックに対する誤り数の監視処理を説明するためのフローチャートである。   Hereinafter, a method for monitoring the number of data errors for the monitoring target block registered in the first table 31 will be described with reference to FIG. FIG. 19 is a flowchart for explaining the monitoring processing of the number of errors for the monitoring target block registered in the first table 31.

第1のテーブル31へ登録した監視対象ブロックに対するデータの誤り数の監視は、CPU4が制御部3内のタイマー7へ監視間隔の時間を設定し、タイマー7からの割り込みが発生するたびに行う。タイマー7は、CPU4が監視間隔の時間を設定すると内部で時間を計測し、設定された時間が経過した後にCPU4へ割り込みを発生する。   The monitoring of the number of data errors for the monitoring target block registered in the first table 31 is performed each time the CPU 4 sets a monitoring interval to the timer 7 in the control unit 3 and an interrupt from the timer 7 occurs. The timer 7 measures time internally when the CPU 4 sets the monitoring interval time, and generates an interrupt to the CPU 4 after the set time has elapsed.

タイマー7からの割り込みが発生すると、CPU4は、第7のテーブル37のN番目(Nは、第7のテーブル37におけるエントリ番号)のエントリを確認し(ステップS201)、該エントリにブロックが登録済みであるか否かを判断する(ステップS202)。ブロックが登録済みでない場合は(ステップS202否定)、該エントリが最後のエントリかどうかを確認する(ステップS206)。N番目のエントリが最後のエントリでない場合は(ステップS206否定)、ステップS201に戻ってエントリ番号を1だけインクリメントする。また、N番目のエントリが最後のエントリである場合は(ステップS206肯定)、CPU4は誤り数の監視処理を終了する。   When an interrupt from the timer 7 occurs, the CPU 4 confirms the Nth entry (N is the entry number in the seventh table 37) in the seventh table 37 (step S201), and the block has already been registered in the entry. It is determined whether or not (step S202). When the block is not registered (No at Step S202), it is confirmed whether or not the entry is the last entry (Step S206). If the Nth entry is not the last entry (No at Step S206), the process returns to Step S201 and increments the entry number by one. If the Nth entry is the last entry (Yes at Step S206), the CPU 4 ends the error number monitoring process.

ステップS202に戻って、ブロックが登録済みである場合は(ステップS202肯定)、CPU4は第7のテーブル37に登録してある該ブロックの誤り数(ビット数)を確認し(ステップS203)、該誤り数が第7の閾値(請求項の第7の閾値に対応)以上であるか否かを判断する(ステップS204)。第7の閾値は、監視対象ブロックのうち、誤り数の検出処理を行うブロックを選択するための閾値であり、ここでは、例えば4ビットの誤り数を第7の閾値とする。   Returning to step S202, if the block has been registered (Yes at step S202), the CPU 4 checks the number of errors (number of bits) of the block registered in the seventh table 37 (step S203). It is determined whether or not the number of errors is equal to or greater than a seventh threshold (corresponding to a seventh threshold in claims) (step S204). The seventh threshold value is a threshold value for selecting a block to be subjected to error number detection processing from among the monitoring target blocks, and here, for example, a 4-bit error number is set as the seventh threshold value.

誤り数が第7の閾値未満(4ビット未満)である場合は(ステップS204否定)、CPU4は、N番目のエントリが最後のエントリかどうかを確認する(ステップS206)。N番目のエントリが最後のエントリでない場合は(ステップS206否定)、ステップS201に戻ってエントリ番号を1だけインクリメントする。N番目のエントリが最後のエントリである場合は(ステップS206肯定)、CPU4は、誤り数の監視処理を終了する。   When the number of errors is less than the seventh threshold (less than 4 bits) (No at Step S204), the CPU 4 checks whether or not the Nth entry is the last entry (Step S206). If the Nth entry is not the last entry (No at Step S206), the process returns to Step S201 and increments the entry number by one. When the Nth entry is the last entry (Yes at Step S206), the CPU 4 ends the error number monitoring process.

ステップS204に戻って、誤り数が第7の閾値以上(4ビット以上)である場合は(ステップS204肯定)、CPU4は、該ブロックのデータをNAND型フラッシュメモリ10から制御部3内のRAM5上へ読み出し、このデータの誤り数の検出処理を実行し(ステップS205)、検出した誤り数で第7のテーブル37を更新する。そして、ここで検出した誤り数に基づいて、第1の実施の形態の図6により説明したリフレッシュ処理が行われる。   Returning to step S204, if the number of errors is equal to or greater than the seventh threshold (4 bits or greater) (Yes in step S204), the CPU 4 transfers the data of the block from the NAND flash memory 10 to the RAM 5 in the control unit 3. The error number detection process of this data is executed (step S205), and the seventh table 37 is updated with the detected error number. Then, based on the number of errors detected here, the refresh process described with reference to FIG. 6 of the first embodiment is performed.

つぎに、CPU4は、N番目のエントリが最後のエントリかどうかを確認する(ステップS206)。N番目のエントリが最後のエントリでない場合は(ステップS206否定)、ステップS201に戻ってエントリ番号を1だけインクリメントする。また、N番目のエントリが最後のエントリである場合は(ステップS206肯定)、CPU4は誤り数の監視処理を終了する。   Next, the CPU 4 checks whether or not the Nth entry is the last entry (step S206). If the Nth entry is not the last entry (No at Step S206), the process returns to Step S201 and increments the entry number by one. If the Nth entry is the last entry (Yes at Step S206), the CPU 4 ends the error number monitoring process.

また、上記の第7の閾値は、誤り数の検出処理を行うたびに設定値が引き下げられ、次第に誤り数が少ないブロックの誤り数検出も行われやすいようにする。これにより、誤り数が多いブロックは誤り数の検出を短い周期で毎回行い、誤り数が少ないブロックは長い周期で誤り数の検出を行うことができる。そして、第7の閾値は、所定の規定値まで下げた後に再び元の値へ戻される。   In addition, the seventh threshold value is set so that the set value is lowered every time the number of errors is detected, and the number of errors of a block with a small number of errors is gradually detected. Thereby, a block with a large number of errors can detect the number of errors every time with a short period, and a block with a small number of errors can detect the number of errors with a long period. Then, the seventh threshold value is returned to the original value again after being lowered to a predetermined specified value.

上述したように、第7の実施の形態にかかる半導体記憶装置1によれば、第1のテーブル31に登録した監視対象ブロックに対して、第7のテーブル37に登録した誤り数に基づいて新たに監視対象ブロックの誤り数の検出処理を行うかどうかの判断を行う。そして、誤り数が多いブロックは誤り数の検出を短い周期で行い、誤り数が少ないブロックは誤り数の検出を長い周期で行う。これにより、第7のテーブル37に登録された誤り数に基づいて第1のテーブル31へ登録された監視対象ブロックの監視間隔を変更し、第1のテーブル31に登録した監視対象ブロックの中でも、より近い将来にリフレッシュ処理が必要になる可能性が高いブロックのデータの誤り数を確実に監視しつつ、誤り数を監視する回数を削減することができ、誤り数の監視に要する計算量や電力消費を抑制することができる。   As described above, according to the semiconductor memory device 1 according to the seventh embodiment, the monitoring target block registered in the first table 31 is updated based on the number of errors registered in the seventh table 37. Next, it is determined whether or not to detect the number of errors in the monitoring target block. A block with a large number of errors is detected with a short period, and a block with a small number of errors is detected with a long period. Thereby, based on the number of errors registered in the seventh table 37, the monitoring interval of the monitoring target block registered in the first table 31 is changed, and among the monitoring target blocks registered in the first table 31, The number of error monitoring can be reduced while reliably monitoring the number of data errors in blocks that are likely to require refresh processing in the near future. Consumption can be suppressed.

(第8の実施の形態)
第8の実施の形態では、第7の実施の形態における誤り数の監視の周期について説明する。第8の実施の形態では、第1のテーブル31に登録された監視対象ブロックに対する監視において、誤り数が少ないブロックの監視周期(タイマー7へ設定する監視間隔時間)に上限を設ける。
(Eighth embodiment)
In the eighth embodiment, the monitoring period of the number of errors in the seventh embodiment will be described. In the eighth embodiment, in monitoring the monitoring target block registered in the first table 31, an upper limit is set for the monitoring cycle (monitoring interval time set in the timer 7) of the block with a small number of errors.

ここで、監視周期の上限はブロックに記憶されたデータに第1の閾値を超えた誤りが発生してから、該ブロックのデータの誤りが誤り訂正部21の誤り訂正能力の上限に達するまでの時間よりも短く設定される。また、この監視周期は、予め半導体記憶装置1の誤り発生状況や環境温度の範囲等の諸条件から予測した時間を設定してもよい。   Here, the upper limit of the monitoring cycle is from when an error exceeding the first threshold occurs in the data stored in the block until the error of the data in the block reaches the upper limit of the error correction capability of the error correction unit 21. It is set shorter than the time. In addition, the monitoring period may be set to a time predicted in advance from various conditions such as an error occurrence state of the semiconductor memory device 1 and an environmental temperature range.

上述したように誤り数が少ないブロックの監視周期について上限を設けることにより、第1のテーブル31に登録されたブロックが、誤り数が少ないために長い期間誤り数の監視がされないためにデータの誤りが誤り訂正部21の誤り訂正能力を超え、正しいデータを復元できなくなることを防止することができる。   As described above, by setting an upper limit for the monitoring period of a block with a small number of errors, the block registered in the first table 31 has a small number of errors, so that the number of errors is not monitored for a long period. Can be prevented from exceeding the error correction capability of the error correction unit 21 and failing to restore correct data.

なお、上述した第1の実施の形態〜第8の実施の形態における機能は、任意に取捨選択して任意の組み合わせで使用可能である。   The functions in the first to eighth embodiments described above can be arbitrarily selected and used in any combination.

[実施例]
上記各実施の形態の半導体記憶装置1をSSD(Solid State Drive)として構成した場合の実施例について説明する。図20は、SSD100の構成を示すブロック図である。
[Example]
An example where the semiconductor memory device 1 of each of the above embodiments is configured as an SSD (Solid State Drive) will be described. FIG. 20 is a block diagram showing the configuration of the SSD 100. As shown in FIG.

SSD100は、データ保存用の複数のNAND型フラッシュメモリ(NANDメモリ)10、データ転送用または作業領域用のDRAM101、これらを制御するドライブ制御回路102、及び電源回路103を備えている。ドライブ制御回路102は、SSD100の外部に設けられる状態表示用LEDを制御するための制御信号を出力する。   The SSD 100 includes a plurality of NAND flash memories (NAND memories) 10 for data storage, a DRAM 101 for data transfer or work area, a drive control circuit 102 for controlling these, and a power supply circuit 103. The drive control circuit 102 outputs a control signal for controlling a status display LED provided outside the SSD 100.

SSD100は、ATAインターフェース(ATA I/F)を介して、パーソナルコンピュータ等のホスト装置との間でデータを送受信する。また、SSD100は、RS232Cインターフェース(RS232C I/F)を介して、デバッグ用機器との間でデータを送受信する。   The SSD 100 transmits / receives data to / from a host device such as a personal computer via an ATA interface (ATA I / F). Further, the SSD 100 transmits / receives data to / from the debugging device via the RS232C interface (RS232C I / F).

電源回路103は、外部電源を受け、この外部電源を用いて複数の内部電源を生成する。これらの内部電源は、SSD100内の各部に供給される。また、電源回路103は、外部電源の立ち上がりまたは立ち下りを検知して、パワーオンリセット信号を生成する。パワーオンリセット信号は、ドライブ制御回路102に送られる。   The power supply circuit 103 receives an external power supply and generates a plurality of internal power supplies using the external power supply. These internal power supplies are supplied to each unit in the SSD 100. Further, the power supply circuit 103 detects the rise or fall of the external power supply and generates a power-on reset signal. The power-on reset signal is sent to the drive control circuit 102.

図21は、ドライブ制御回路102の構成を示すブロック図である。ドライブ制御回路102は、データアクセス用バス104、第1の回路制御用バス105、及び第2の回路制御用バス106を備えている。   FIG. 21 is a block diagram showing a configuration of the drive control circuit 102. The drive control circuit 102 includes a data access bus 104, a first circuit control bus 105, and a second circuit control bus 106.

第1の回路制御用バス105には、ドライブ制御回路102全体を制御するプロセッサ107が接続されている。また、第1の回路制御用バス105には、各管理プログラム(FW:firmware)のブート用プログラムが格納されたブートROM108がROMコントローラ109を介して接続されている。また、第1の回路制御用バス105には、電源回路103からのパワーオンリセット信号を受けて、リセット信号及びクロック信号を各部に供給するクロックコントローラ110が接続されている。   A processor 107 that controls the entire drive control circuit 102 is connected to the first circuit control bus 105. A boot ROM 108 storing a boot program for each management program (FW: firmware) is connected to the first circuit control bus 105 via a ROM controller 109. The first circuit control bus 105 is connected to a clock controller 110 that receives a power-on reset signal from the power supply circuit 103 and supplies a reset signal and a clock signal to each unit.

第2の回路制御用バス106は、第1の回路制御用バス105に接続されている。第2の回路制御用バス106には、状態表示用LEDにステータス表示用信号を供給するパラレルIO(PIO)回路111、RS232Cインターフェースを制御するシリアルIO(SIO)回路112が接続されている。   The second circuit control bus 106 is connected to the first circuit control bus 105. Connected to the second circuit control bus 106 are a parallel IO (PIO) circuit 111 that supplies a status display signal to the status display LED and a serial IO (SIO) circuit 112 that controls the RS232C interface.

ATAインターフェースコントローラ(ATAコントローラ)113、第1のECC(Error Check and Correct)回路114、NANDコントローラ115、及びDRAMコントローラ119は、データアクセス用バス104と第1の回路制御用バス105との両方に接続されている。ATAコントローラ113は、ATAインターフェースを介してホスト装置との間でデータを送受信する。データアクセス用バス104には、データ作業領域として使用されるSRAM120がSRAMコントローラ121を介して接続されている。   An ATA interface controller (ATA controller) 113, a first ECC (Error Check and Correct) circuit 114, a NAND controller 115, and a DRAM controller 119 are provided on both the data access bus 104 and the first circuit control bus 105. It is connected. The ATA controller 113 transmits and receives data to and from the host device via the ATA interface. An SRAM 120 used as a data work area is connected to the data access bus 104 via an SRAM controller 121.

NANDコントローラ115は、4つのNANDメモリ10とのインターフェース処理を行うNAND I/F118、第2のECC回路117、及びNANDメモリ−DRAM間のアクセス制御を行うDMA転送制御用DMAコントローラ116を備えている。   The NAND controller 115 includes a NAND I / F 118 that performs interface processing with the four NAND memories 10, a second ECC circuit 117, and a DMA controller for DMA transfer control 116 that performs access control between the NAND memory and the DRAM. .

図22は、プロセッサ107の構成を示すブロック図である。プロセッサ107は、データ管理部122、ATAコマンド処理部123、セキュリティ管理部124、ブートローダ125、初期化管理部126、デバッグサポート部127を備えている。   FIG. 22 is a block diagram showing the configuration of the processor 107. The processor 107 includes a data management unit 122, an ATA command processing unit 123, a security management unit 124, a boot loader 125, an initialization management unit 126, and a debug support unit 127.

データ管理部122は、NANDコントローラ115、第1のECC回路114を介して、NANDメモリ−DRAM間のデータ転送、NANDチップに関する各種機能を制御する。   The data management unit 122 controls data transfer between the NAND memory and the DRAM and various functions related to the NAND chip via the NAND controller 115 and the first ECC circuit 114.

ATAコマンド処理部123は、ATAコントローラ113、及びDRAMコントローラ119を介して、データ管理部122と協動してデータ転送処理を行う。セキュリティ管理部124は、データ管理部122及びATAコマンド処理部123と協動して各種のセキュリティ情報を管理する。ブートローダ125は、パワーオン時、各管理プログラム(FW)をNANDメモリ10からSRAM120にロードする。   The ATA command processing unit 123 performs data transfer processing in cooperation with the data management unit 122 via the ATA controller 113 and the DRAM controller 119. The security management unit 124 manages various types of security information in cooperation with the data management unit 122 and the ATA command processing unit 123. The boot loader 125 loads each management program (FW) from the NAND memory 10 to the SRAM 120 when the power is turned on.

初期化管理部126は、ドライブ制御回路102内の各コントローラ/回路の初期化を行う。デバッグサポート部127は、外部からRS232Cインターフェースを介して供給されたデバッグ用データを処理する。   The initialization manager 126 initializes each controller / circuit in the drive control circuit 102. The debug support unit 127 processes debug data supplied from the outside via the RS232C interface.

図23は、SSD100を搭載したポータブルコンピュータ200の一例を示す斜視図である。ポータブルコンピュータ200は、本体201と、表示ユニット202とを備えている。表示ユニット202は、ディスプレイハウジング203と、このディスプレイハウジング203に収容された表示装置204とを備えている。   FIG. 23 is a perspective view showing an example of a portable computer 200 on which the SSD 100 is mounted. The portable computer 200 includes a main body 201 and a display unit 202. The display unit 202 includes a display housing 203 and a display device 204 accommodated in the display housing 203.

本体201は、筐体205と、キーボード206と、ポインティングデバイスであるタッチパッド207とを備えている。筐体205内部には、メイン回路基板、ODDユニット(Optical Disk Device)、カードスロット、SSD100等が収容されている。   The main body 201 includes a housing 205, a keyboard 206, and a touch pad 207 that is a pointing device. A housing 205 accommodates a main circuit board, an ODD unit (Optical Disk Device), a card slot, an SSD 100, and the like.

カードスロットは、筐体205の周壁に隣接して設けられている。周壁には、カードスロットに対向する開口部208が設けられている。ユーザは、この開口部208を通じて筐体205の外部から追加デバイスをカードスロットに挿抜することが可能である。   The card slot is provided adjacent to the peripheral wall of the housing 205. An opening 208 facing the card slot is provided on the peripheral wall. The user can insert / remove an additional device into / from the card slot from the outside of the housing 205 through the opening 208.

SSD100は、従来のHDDの置き換えとして、ポータブルコンピュータ200内部に実装された状態として使用してもよいし、ポータブルコンピュータ200が備えるカードスロットに挿入した状態で、追加デバイスとして使用してもよい。   The SSD 100 may be used as a state of being mounted inside the portable computer 200 as a replacement for a conventional HDD, or may be used as an additional device while being inserted into a card slot included in the portable computer 200.

なお、上記各実施の形態の半導体記憶装置1は、SSDに限らず、例えば、SDTMカードに代表されるメモリカードとして構成することも可能である。半導体記憶装置1をメモリカードとして構成する場合、ポータブルコンピュータに限らず、携帯電話、PDA、デジタルスチルカメラ、デジタルビデオカメラ等、各種電子機器に対して適用可能である。 The semiconductor memory device 1 of each of the above embodiments is not limited to an SSD, and can be configured as a memory card represented by an SD TM card, for example. When the semiconductor memory device 1 is configured as a memory card, it is applicable not only to portable computers but also to various electronic devices such as mobile phones, PDAs, digital still cameras, and digital video cameras.

1 半導体記憶装置、2 ホスト機器、3 制御部、4 CPU、5 RAM、6 ホストインターフェース(I/F)、7 タイマー、8 NAND インターフェース(I/F)、9 バス、10 NAND型フラッシュメモリ、21 誤り訂正部、22 誤り数検出部、31 第1のテーブル、32 第2のテーブル、33 第3のテーブル、34 第4のテーブル、35 第5のテーブル、36 第6のテーブル、37 第7のテーブル。   DESCRIPTION OF SYMBOLS 1 Semiconductor memory device, 2 Host apparatus, 3 Control part, 4 CPU, 5 RAM, 6 Host interface (I / F), 7 Timer, 8 NAND interface (I / F), 9 Bus, 10 NAND flash memory, 21 Error correction unit, 22 Error number detection unit, 31 1st table, 32 2nd table, 33 3rd table, 34 4th table, 35 5th table, 36 6th table, 37 7th table table.

Claims (22)

データ消去の単位であるブロックにデータを記憶する不揮発性メモリを備えた半導体記憶装置の制御方法であって、
前記ブロックのうちから監視対象ブロックを選択し、前記監視対象ブロックに記憶されたデータの誤り数を監視する第1工程と、
前記データの誤り数が所定の閾値以上である監視対象ブロックに対してリフレッシュを行う第2工程と、
を含むことを特徴とする半導体記憶装置の制御方法。
A method for controlling a semiconductor memory device including a nonvolatile memory for storing data in a block which is a unit of data erasing,
A first step of selecting a monitoring target block from among the blocks, and monitoring the number of errors in data stored in the monitoring target block;
A second step of refreshing the monitored block in which the number of data errors is equal to or greater than a predetermined threshold;
A method for controlling a semiconductor memory device, comprising:
前記第1工程は、
前記ブロックから読み出したデータの誤りを訂正する誤り訂正工程と、
前記誤り訂正工程で訂正したデータの誤り数を検出する誤り数検出工程と、
前記誤り数が所定の第1の閾値以上であるブロックをデータの誤り数を監視する監視対象ブロックとし、このブロックのデータを所定の間隔で読み出す監視工程と、
を含み、
前記第2工程は、
前記誤り数が前記第1の閾値よりも大きい所定の第2の閾値以上である前記監視対象ブロックに対してリフレッシュを行うこと、
を特徴とする請求項1に記載の半導体記憶装置の制御方法。
The first step includes
An error correction step of correcting an error in data read from the block;
An error number detection step of detecting the number of errors in the data corrected in the error correction step;
A monitoring step in which a block in which the number of errors is equal to or greater than a predetermined first threshold is set as a monitoring target block for monitoring the number of data errors, and data in this block is read at a predetermined interval;
Including
The second step includes
Refreshing the monitored block whose number of errors is greater than or equal to a predetermined second threshold greater than the first threshold;
The method of controlling a semiconductor memory device according to claim 1.
前記監視対象ブロックのブロック番号を第1のテーブルに登録する工程を更に有し、
前記監視工程では、前記第1のテーブルを参照して前記監視対象ブロックのデータの誤り数を検出して監視すること、
を特徴とする請求項2に記載の半導体記憶装置の制御方法。
Registering the block number of the monitored block in the first table;
In the monitoring step, referring to the first table, detecting and monitoring the number of errors in the data of the monitoring target block;
The method of controlling a semiconductor memory device according to claim 2.
リフレッシュが行われた前記監視対象ブロックの番号を前記第1のテーブルから消去する工程を更に有すること、
を特徴とする請求項3に記載の半導体記憶装置の制御方法。
Erasing the number of the monitored block that has been refreshed from the first table;
The method of controlling a semiconductor memory device according to claim 3.
前記第1工程は、
前記ブロックから読み出したデータの誤りを訂正する誤り訂正工程と、
前記誤り訂正工程で訂正したデータの誤り数を検出する誤り数検出工程と、
前記ブロックから読み出したデータの読み出し量を検出するデータ読み出し量検出工程と、
前記データの読み出し量が所定の第3の閾値以上であるブロックをデータの誤り数を監視する監視対象ブロックとし、このブロックのデータを所定の間隔で読み出す監視工程と、
を含み、
前記第2工程は、
前記誤り数が所定の第2の閾値以上である前記監視対象ブロックのリフレッシュを行うこと、
を特徴とする請求項1に記載の半導体記憶装置の制御方法。
The first step includes
An error correction step of correcting an error in data read from the block;
An error number detection step of detecting the number of errors in the data corrected in the error correction step;
A data read amount detection step of detecting a read amount of data read from the block;
A monitoring step in which a block whose data read amount is equal to or larger than a predetermined third threshold is set as a monitoring target block for monitoring the number of data errors, and the data of this block is read at a predetermined interval;
Including
The second step includes
Refreshing the monitored block whose error count is greater than or equal to a predetermined second threshold;
The method of controlling a semiconductor memory device according to claim 1.
前記監視対象ブロックのブロック番号を第1のテーブルに登録する工程を更に有し、
前記監視工程では、前記第1のテーブルを参照して前記監視対象ブロックのデータの誤り数を検出して監視すること、
を特徴とする請求項5に記載の半導体記憶装置の制御方法。
Registering the block number of the monitored block in the first table;
In the monitoring step, referring to the first table, detecting and monitoring the number of errors in the data of the monitoring target block;
The method of controlling a semiconductor memory device according to claim 5.
リフレッシュが行われた前記監視対象ブロックの番号を前記第1のテーブルから消去する工程を更に有すること、
を特徴とする請求項6に記載の半導体記憶装置の制御方法。
Erasing the number of the monitored block that has been refreshed from the first table;
The method of controlling a semiconductor memory device according to claim 6.
前記データの読み出し量を第2のテーブルに登録する工程を更に有し、
前記監視工程では、前記第2のテーブルを参照して前記ブロックを前記監視対象ブロックとして前記第1のテーブルに登録すること、
を特徴とする請求項6に記載の半導体記憶装置の制御方法。
Registering the read amount of the data in a second table;
In the monitoring step, referring to the second table, registering the block as the monitoring target block in the first table;
The method of controlling a semiconductor memory device according to claim 6.
前記第1工程は、
前記ブロックから読み出したデータの誤りを訂正する誤り訂正工程と、
前記誤り訂正工程で訂正したデータの誤り数を検出する誤り数検出工程と、
前記ブロックへデータを書き込んでからの経過時間を検出する書き込み時刻検出工程と、
前記経過時間が所定の第4の閾値以上であるブロックをデータの誤り数を監視する監視対象ブロックとし、このブロックのデータを所定の間隔で読み出す監視工程と、
を含み、
前記第2工程は、
前記誤り数が所定の第2の閾値以上である前記監視対象ブロックのリフレッシュを行うこと、
を特徴とする請求項1に記載の半導体記憶装置の制御方法。
The first step includes
An error correction step of correcting an error in data read from the block;
An error number detection step of detecting the number of errors in the data corrected in the error correction step;
A write time detection step for detecting an elapsed time since data was written to the block;
A monitoring step of setting a block whose elapsed time is equal to or greater than a predetermined fourth threshold as a monitoring target block for monitoring the number of data errors, and reading data of the block at a predetermined interval;
Including
The second step includes
Refreshing the monitored block whose error count is greater than or equal to a predetermined second threshold;
The method of controlling a semiconductor memory device according to claim 1.
前記監視対象ブロックのブロック番号を第1のテーブルに登録する工程を更に有し、
前記監視工程では、前記第1のテーブルを参照して前記監視対象ブロックのデータの誤り数を検出して監視すること、
を特徴とする請求項9に記載の半導体記憶装置の制御方法。
Registering the block number of the monitored block in the first table;
In the monitoring step, referring to the first table, detecting and monitoring the number of errors in the data of the monitoring target block;
The method of controlling a semiconductor memory device according to claim 9.
リフレッシュが行われた前記監視対象ブロックの番号を前記第1のテーブルから消去する工程を更に有すること、
を特徴とする請求項10に記載の半導体記憶装置の制御方法。
Erasing the number of the monitored block that has been refreshed from the first table;
The method of controlling a semiconductor memory device according to claim 10.
前記ブロックへのデータの書き込み時刻を第3のテーブルに登録する工程を更に有し、
前記監視工程では、前記第3のテーブルを参照して前記経過時間を取得して前記ブロックを前記監視対象ブロックとして前記第1のテーブルに登録すること、
を特徴とする請求項10に記載の半導体記憶装置の制御方法。
Registering the time of writing data to the block in a third table;
In the monitoring step, referring to the third table, obtaining the elapsed time and registering the block as the monitoring target block in the first table;
The method of controlling a semiconductor memory device according to claim 10.
前記第1工程は、
前記ブロックから読み出したデータの誤りを訂正する誤り訂正工程と、
前記誤り訂正手段で訂正したデータの誤り数を検出する誤り数検出工程と、
前記不揮発性メモリ上のブロックにデータを書き込んだ書き込み順序を検出する書き込み順序検出工程と、
前記書き込み順序が所定の第5の閾値以下であるブロックをデータの誤り数を監視する監視対象ブロックとし、このブロックのデータを所定の間隔で読み出す監視工程と、
を含み、
前記第2工程は、
前記誤り数が所定の第2の閾値以上である前記監視対象ブロックのリフレッシュを行うこと、
を特徴とする請求項1に記載の半導体記憶装置の制御方法。
The first step includes
An error correction step of correcting an error in data read from the block;
An error number detection step of detecting the number of errors in the data corrected by the error correction means;
A writing order detection step of detecting a writing order in which data is written to the block on the nonvolatile memory;
A monitoring step in which a block whose write order is equal to or less than a predetermined fifth threshold is a monitoring target block for monitoring the number of data errors, and data in this block is read at a predetermined interval;
Including
The second step includes
Refreshing the monitored block whose error count is greater than or equal to a predetermined second threshold;
The method of controlling a semiconductor memory device according to claim 1.
前記監視対象ブロックのブロック番号を第1のテーブルに登録する工程を更に有し、
前記監視工程では、前記第1のテーブルを参照して前記監視対象ブロックのデータの誤り数を検出して監視すること、
を特徴とする請求項13に記載の半導体記憶装置の制御方法。
Registering the block number of the monitored block in the first table;
In the monitoring step, referring to the first table, detecting and monitoring the number of errors in the data of the monitoring target block;
The method of controlling a semiconductor memory device according to claim 13.
リフレッシュが行われた前記監視対象ブロックの番号を前記第1のテーブルから消去する工程を更に有すること、
を特徴とする請求項14に記載の半導体記憶装置の制御方法。
Erasing the number of the monitored block that has been refreshed from the first table;
The method of controlling a semiconductor memory device according to claim 14.
前記書き込み順序を第4のテーブルに登録する工程を更に有し、
前記監視工程では、前記第4のテーブルを参照して前記ブロックを前記監視対象ブロックとして前記第1のテーブルに登録すること、
を特徴とする請求項14に記載の半導体記憶装置の制御方法。
Registering the writing order in a fourth table;
In the monitoring step, referring to the fourth table, registering the block as the monitoring target block in the first table;
The method of controlling a semiconductor memory device according to claim 14.
前記第1のテーブルへの前記監視対象ブロックの登録順序を第5のテーブルに登録する工程を更に有し、
前記リフレッシュ工程では、前記第5のテーブルへの前記監視対象ブロックの登録数が所定の第6の閾値に達した場合に、前記第5のテーブルにおいて予め決められた登録順序の前記監視対象ブロックのリフレッシュを行うこと、
を特徴とする請求項3に記載の半導体記憶装置の制御方法。
Registering the monitoring target block registration order in the first table in a fifth table;
In the refresh step, when the number of registered monitoring target blocks in the fifth table reaches a predetermined sixth threshold, the monitoring target blocks in the registration order determined in advance in the fifth table are stored. Doing a refresh,
The method of controlling a semiconductor memory device according to claim 3.
前記リフレッシュ工程では、前記監視対象ブロックのうち前記登録順序の古い監視対象ブロックから先にリフレッシュを行うこと、
を特徴とする請求項17に記載の半導体記憶装置の制御方法。
In the refresh step, refreshing from the monitoring target block with the oldest registration order among the monitoring target blocks,
The method of controlling a semiconductor memory device according to claim 17.
保持すべきデータが記憶されていない前記ブロックの番号を第6のテーブルに登録する工程を更に有し、
前記監視工程では、前記第6のテーブルへ登録された前記ブロックの番号を前記第1のテーブルから消去すること、
を特徴とする請求項3に記載の半導体記憶装置の制御方法。
Registering the number of the block in which data to be held is not stored in a sixth table;
In the monitoring step, deleting the block number registered in the sixth table from the first table;
The method of controlling a semiconductor memory device according to claim 3.
前記第1のテーブルへ登録された前記監視対象ブロックの番号および該監視対象ブロックに記憶したデータで検出された誤り数を第7のテーブルに登録する工程を更に有し、
前記監視工程では、前記第7のテーブルに登録された誤り数に基づいて、前記第1のテーブルへ登録された前記監視対象ブロックについて前記所定の間隔を変更すること、
を特徴とする請求項3に記載の半導体記憶装置の制御方法。
Registering in the seventh table the number of the monitored block registered in the first table and the number of errors detected in the data stored in the monitored block;
In the monitoring step, based on the number of errors registered in the seventh table, changing the predetermined interval for the monitoring target block registered in the first table;
The method of controlling a semiconductor memory device according to claim 3.
前記監視工程では、前記第7のテーブルへ登録された前記監視対象ブロックのうち、誤り数が多い前記監視対象ブロックについては誤り数が少ない前記監視対象ブロックよりも前記所定の間隔を短くすること、
を特徴とする請求項20に記載の半導体記憶装置の制御方法。
In the monitoring step, among the monitoring target blocks registered in the seventh table, the monitoring target block having a large number of errors is made shorter than the monitoring target block having a small number of errors,
The method of controlling a semiconductor memory device according to claim 20.
前記所定の間隔は、前記監視対象ブロックに記憶されたデータに前記第1の閾値を超えた誤りが発生してから、該監視対象ブロックのデータの誤りが前記誤り訂正手段の誤り訂正能力の上限に達するまでの時間よりも短いこと、
を特徴とする請求項21に記載の半導体記憶装置の制御方法。
The predetermined interval is the upper limit of the error correction capability of the error correction means after the error exceeding the first threshold has occurred in the data stored in the monitoring target block. Shorter than the time to reach
The method of controlling a semiconductor memory device according to claim 21.
JP2010074959A 2010-03-29 2010-03-29 Control method of semiconductor memory device Pending JP2010160816A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010074959A JP2010160816A (en) 2010-03-29 2010-03-29 Control method of semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010074959A JP2010160816A (en) 2010-03-29 2010-03-29 Control method of semiconductor memory device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008049193A Division JP4489127B2 (en) 2008-02-29 2008-02-29 Semiconductor memory device

Publications (1)

Publication Number Publication Date
JP2010160816A true JP2010160816A (en) 2010-07-22

Family

ID=42577885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010074959A Pending JP2010160816A (en) 2010-03-29 2010-03-29 Control method of semiconductor memory device

Country Status (1)

Country Link
JP (1) JP2010160816A (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014505941A (en) * 2011-04-28 2014-03-06 株式会社日立製作所 Semiconductor memory device and method for controlling semiconductor memory device
US8830743B2 (en) 2011-04-15 2014-09-09 Samsung Electronics Co., Ltd. Method of operating memory controller, memory controller, memory device and memory system
JP2014235499A (en) * 2013-05-31 2014-12-15 ラピスセミコンダクタ株式会社 Control device and control method for semiconductor memory
US8918699B2 (en) 2012-07-31 2014-12-23 Kabushiki Kaisha Toshiba Non-volatile semiconductor storage apparatus
JP2015032316A (en) * 2013-08-06 2015-02-16 慧榮科技股▲分▼有限公司 Data storage device and data maintenance method
US9043675B2 (en) 2012-02-17 2015-05-26 Kabushiki Kaisha Toshiba Storage device
JP2015148859A (en) * 2014-02-05 2015-08-20 コニカミノルタ株式会社 Information processing device and start control program, and start control method
JP2016081258A (en) * 2014-10-15 2016-05-16 株式会社メガチップス Semiconductor memory device
US9361201B2 (en) 2012-08-07 2016-06-07 Kabushiki Kaisha Toshiba Memory system and memory controller
JP2017058870A (en) * 2015-09-15 2017-03-23 ラピスセミコンダクタ株式会社 Memory control device and memory control method
JP2019114320A (en) * 2017-12-22 2019-07-11 三星電子株式会社Samsung Electronics Co.,Ltd. Nonvolatile memory device, method of operating nonvolatile memory, and storage device
CN112506420A (en) * 2019-09-16 2021-03-16 伊姆西Ip控股有限责任公司 Method, apparatus and article of manufacture for managing scrubbing operations in a storage system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08279295A (en) * 1995-04-05 1996-10-22 Toshiba Corp Storage system including nonvolatile semiconductor memory
JP2003058432A (en) * 2001-08-09 2003-02-28 Hitachi Ltd Memory card and memory controller
JP2004326867A (en) * 2003-04-22 2004-11-18 Toshiba Corp Data storage system
JP2009224013A (en) * 2007-12-27 2009-10-01 Hagiwara Sys-Com:Kk Storage device, system, and game machine loading this system
JP4489127B2 (en) * 2008-02-29 2010-06-23 株式会社東芝 Semiconductor memory device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08279295A (en) * 1995-04-05 1996-10-22 Toshiba Corp Storage system including nonvolatile semiconductor memory
JP2003058432A (en) * 2001-08-09 2003-02-28 Hitachi Ltd Memory card and memory controller
JP2004326867A (en) * 2003-04-22 2004-11-18 Toshiba Corp Data storage system
JP2009224013A (en) * 2007-12-27 2009-10-01 Hagiwara Sys-Com:Kk Storage device, system, and game machine loading this system
JP4489127B2 (en) * 2008-02-29 2010-06-23 株式会社東芝 Semiconductor memory device

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8830743B2 (en) 2011-04-15 2014-09-09 Samsung Electronics Co., Ltd. Method of operating memory controller, memory controller, memory device and memory system
JP2014505941A (en) * 2011-04-28 2014-03-06 株式会社日立製作所 Semiconductor memory device and method for controlling semiconductor memory device
US9043675B2 (en) 2012-02-17 2015-05-26 Kabushiki Kaisha Toshiba Storage device
US8918699B2 (en) 2012-07-31 2014-12-23 Kabushiki Kaisha Toshiba Non-volatile semiconductor storage apparatus
US9940192B2 (en) 2012-07-31 2018-04-10 Toshiba Memory Corporation Non-volatile semiconductor storage apparatus
US9361201B2 (en) 2012-08-07 2016-06-07 Kabushiki Kaisha Toshiba Memory system and memory controller
JP2014235499A (en) * 2013-05-31 2014-12-15 ラピスセミコンダクタ株式会社 Control device and control method for semiconductor memory
US9368226B2 (en) 2013-08-06 2016-06-14 Silicon Motion, Inc. Data storage device and method for restricting access thereof
JP2015032316A (en) * 2013-08-06 2015-02-16 慧榮科技股▲分▼有限公司 Data storage device and data maintenance method
JP2015148859A (en) * 2014-02-05 2015-08-20 コニカミノルタ株式会社 Information processing device and start control program, and start control method
JP2016081258A (en) * 2014-10-15 2016-05-16 株式会社メガチップス Semiconductor memory device
JP2017058870A (en) * 2015-09-15 2017-03-23 ラピスセミコンダクタ株式会社 Memory control device and memory control method
JP2019114320A (en) * 2017-12-22 2019-07-11 三星電子株式会社Samsung Electronics Co.,Ltd. Nonvolatile memory device, method of operating nonvolatile memory, and storage device
JP7232628B2 (en) 2017-12-22 2023-03-03 三星電子株式会社 Non-volatile memory device, method of operating non-volatile memory device, and storage device
CN112506420A (en) * 2019-09-16 2021-03-16 伊姆西Ip控股有限责任公司 Method, apparatus and article of manufacture for managing scrubbing operations in a storage system

Similar Documents

Publication Publication Date Title
JP4489127B2 (en) Semiconductor memory device
JP2010160816A (en) Control method of semiconductor memory device
US8656086B2 (en) System and method for autonomous NAND refresh
TWI515742B (en) Memory systems and methods of detecting distribution of unstable memory cells
US20090193058A1 (en) System and method for providing copyback data integrity in a non-volatile memory system
TWI436369B (en) Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same
TW201330234A (en) Semiconductor storage device, nonvolatile semiconductor memory test method, and medium
KR102179829B1 (en) Storage system managing run-time bad cells
JP2013047913A (en) Information processor, control method of the same, control tool and host device
JP5815388B2 (en) Memory access control apparatus and method
JP5668163B2 (en) Information processing device
JP5535383B2 (en) Host device and control tool
JP6190488B2 (en) Information recording system
JP6403130B2 (en) Information recording system
US11593242B2 (en) Method of operating storage device for improving reliability, storage device performing the same and method of operating storage using the same
JP2019008814A (en) Semiconductor memory device
JP2015084241A (en) Information processing device
JP2021177401A (en) Information processing device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20120522

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121204