JP7087013B2 - Memory system and non-volatile memory control method - Google Patents

Memory system and non-volatile memory control method Download PDF

Info

Publication number
JP7087013B2
JP7087013B2 JP2020038490A JP2020038490A JP7087013B2 JP 7087013 B2 JP7087013 B2 JP 7087013B2 JP 2020038490 A JP2020038490 A JP 2020038490A JP 2020038490 A JP2020038490 A JP 2020038490A JP 7087013 B2 JP7087013 B2 JP 7087013B2
Authority
JP
Japan
Prior art keywords
read
data
memory
voltage
search
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.)
Active
Application number
JP2020038490A
Other languages
Japanese (ja)
Other versions
JP2020102295A (en
Inventor
征平 浅見
敏克 檜田
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.)
Kioxia Corp
Original Assignee
Kioxia 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 Kioxia Corp filed Critical Kioxia Corp
Priority to JP2020038490A priority Critical patent/JP7087013B2/en
Publication of JP2020102295A publication Critical patent/JP2020102295A/en
Application granted granted Critical
Publication of JP7087013B2 publication Critical patent/JP7087013B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Description

本発明の実施形態は、メモリシステムおよび不揮発性メモリの制御方法に関する。 Embodiments of the present invention relate to a memory system and a method of controlling a non-volatile memory.

NAND型フラッシュメモリのような不揮発性メモリと、メモリコントローラと、を備えるメモリシステムおよび不揮発性メモリの制御方法が提供されている。 A memory system including a non-volatile memory such as a NAND flash memory and a memory controller, and a method for controlling the non-volatile memory are provided.

特表2012-513072号公報Special Table 2012-513702 Publication No. 特開2013-122804号公報Japanese Unexamined Patent Publication No. 2013-122804 米国特許第8848453号明細書US Pat. No. 8,884,453 特表2011-527067号公報Japanese Patent Publication No. 2011-527067 特表2010-533929号公報Special Table 2010-533929 Gazette

本発明が解決しようとする課題は、性能を向上させたメモリシステムおよび不揮発性メモリの制御方法を提供することである。 An object to be solved by the present invention is to provide a memory system with improved performance and a method for controlling a non-volatile memory.

上記課題を達成するために、それぞれがワード線とワード線に接続される複数のメモリセルとを備えデータ消去単位である複数のブロックを有する不揮発性メモリの、コントローラによる制御方法は、コントローラが不揮発性メモリに第2の探索を要求し、第2の探索において、不揮発性メモリは、第2の複数の読み出し電圧をそれぞれ用いて複数のメモリセルからデータを複数回読み出し、第2の複数の読み出し電圧を用いて複数のメモリセルから読み出した第2の複数のデータのそれぞれに含まれる第7の値の個数を算出し、第2の複数の読み出し電圧のうち隣り合う二つの読み出し電圧を用いて読み出した二つのデータのそれぞれに含まれる第7の値の個数の差分を、第2の複数のデータのそれぞれについて算出する。それぞれ算出した差分のうちの最小値が第8の値以下である場合、差分が最小となる読み出し電圧を第2の読み出し電圧と決定し、第2の読み出し電圧が探索できたことを示す応答をコントローラへ送信する。最小値が第8の値よりも大きい場合、第2の読み出し電圧を探索できなかったことを示す応答をコントローラへ送信する。コントローラは、第2の読み出し電圧を探索できなかったことを示す応答を不揮発性メモリから受信したことに応じて、第1の探索を実行する。第1の探索において、コントローラは、第1の複数の読み出し電圧をそれぞれ用いて複数のメモリセルからデータを複数回読み出し、第1の複数の読み出し電圧を用いて複数のメモリセルから読み出した第1の複数のデータのそれぞれに含まれる第6の値の個数を算出し、第1の複数の読み出し電圧のうち隣り合う二つの読み出し電圧を用いて読み出した二つのデータのそれぞれに含まれる第6の値の個数の差分を、第1の複数のデータのそれぞれについて算出する。それぞれ算出した差分のうち、差分が最小となる読み出し電圧を第1の読み出し電圧と決定する。コントローラは、第1の読み出し電圧と第2の基準電圧との差分である第1の差分を算出し、第1の差分が所定の第1の値以上の場合、複数のメモリセルが含まれるブロックに保存されるデータを別のブロックに保存する。
In order to achieve the above-mentioned problems, the controller controls a non-volatile memory having a word line and a plurality of memory cells connected to the word line and having a plurality of blocks which are data erasing units. A second search is requested from the sex memory, and in the second search, the non-volatile memory reads data from a plurality of memory cells a plurality of times using each of the second plurality of read voltages, and the second plurality of reads. The number of seventh values contained in each of the second plurality of data read from the plurality of memory cells using the voltage is calculated, and two adjacent read voltages out of the second plurality of read voltages are used. The difference in the number of the seventh values included in each of the two read data is calculated for each of the second plurality of data. When the minimum value of the calculated differences is equal to or less than the eighth value, the read voltage at which the difference is minimized is determined as the second read voltage, and a response indicating that the second read voltage can be searched is given. Send to the controller. If the minimum value is greater than the eighth value, a response indicating that the second read voltage could not be searched is sent to the controller. The controller performs the first search in response to receiving a response from the non-volatile memory indicating that the second read voltage could not be searched. In the first search, the controller reads data from the plurality of memory cells a plurality of times using each of the first plurality of read voltages, and reads data from the plurality of memory cells using the first plurality of read voltages. The number of the sixth value included in each of the plurality of data of the above is calculated, and the sixth value included in each of the two data read using the two adjacent read voltages out of the first plurality of read voltages. The difference in the number of values is calculated for each of the first plurality of data. Of the differences calculated for each, the read voltage at which the difference is the smallest is determined as the first read voltage. The controller calculates a first difference, which is the difference between the first read voltage and the second reference voltage, and when the first difference is equal to or greater than a predetermined first value, a block containing a plurality of memory cells. Save the data saved in to another block.

第1の実施形態に係るメモリシステムの構成例を示すブロック図。The block diagram which shows the configuration example of the memory system which concerns on 1st Embodiment. 第1の実施形態に係るメモリシステムが組み込まれたシステムを例示した図。The figure exemplifying the system which incorporated the memory system which concerns on 1st Embodiment. 第1の実施形態に係るメモリシステムが組み込まれたポータブルコンピュータを例示した図。The figure exemplifying the portable computer which incorporated the memory system which concerns on 1st Embodiment. 第1実施形態に係るメモリシステムの外観の一例を示す図。The figure which shows an example of the appearance of the memory system which concerns on 1st Embodiment. 第1の実施形態に係るメモリシステムのメモリチップのブロック図。The block diagram of the memory chip of the memory system which concerns on 1st Embodiment. 第1の実施形態に係るメモリシステムのメモリセルアレイの回路図。The circuit diagram of the memory cell array of the memory system which concerns on 1st Embodiment. 第1の実施形態に係るメモリシステムのメモリセルアレイの断面図。Sectional drawing of the memory cell array of the memory system which concerns on 1st Embodiment. 第1の実施形態に係るメモリシステムの不揮発性メモリに保持されるデータとセルトランジスタの閾値電圧との関係を示す図。The figure which shows the relationship between the data held in the non-volatile memory of the memory system which concerns on 1st Embodiment, and the threshold voltage of a cell transistor. 第1の実施形態に係るメモリシステムの不揮発性メモリが備えるメモリセルにおける閾値電圧のシフトを示す図。The figure which shows the shift of the threshold voltage in the memory cell included in the non-volatile memory of the memory system which concerns on 1st Embodiment. 読み出されたデータが“1”であるメモリセルの個数の差分データを示す図。The figure which shows the difference data of the number of memory cells which read data is "1". 第1の実施形態に係るメモリシステムの第1パラメータ情報の内容の一例を示す図。The figure which shows an example of the content of the 1st parameter information of the memory system which concerns on 1st Embodiment. 第1の実施形態に係るメモリシステムの第2パラメータ情報の内容の一例を示す図。The figure which shows an example of the content of the 2nd parameter information of the memory system which concerns on 1st Embodiment. 第1の実施形態に係るメモリシステムのパトロール処理のフローチャート。The flowchart of the patrol processing of the memory system which concerns on 1st Embodiment. 第1の実施形態に係るメモリシステムのメモリコントローラからメモリチップへ送信されるコマンドシーケンス例。An example of a command sequence transmitted from the memory controller of the memory system according to the first embodiment to the memory chip. 第1の実施形態に係るメモリシステムのパトロール処理の第1の変形例のフローチャート。The flowchart of the 1st modification of the patrol processing of the memory system which concerns on 1st Embodiment. 第1の実施形態に係るメモリシステムのパトロール処理の第2の変形例のフローチャート。The flowchart of the 2nd modification of the patrol processing of the memory system which concerns on 1st Embodiment. 第2の実施形態に係るメモリシステムのホスト装置2からの読み出し要求に対するデータ読み出し処理のフローチャート。The flowchart of the data read processing for the read request from the host apparatus 2 of the memory system which concerns on 2nd Embodiment. 第3の実施形態に係るメモリシステムのパトロール処理のフローチャート。The flowchart of the patrol processing of the memory system which concerns on 3rd Embodiment.

以下、発明を実施するための実施形態について図面を参照して説明する。 Hereinafter, embodiments for carrying out the invention will be described with reference to the drawings.

(第1の実施形態)
図1は、第1の実施形態に係るメモリシステムの構成例を示すブロック図である。メモリシステム1は、ホスト装置2と通信線で接続され、ホスト装置2の外部記憶装置として機能する。ホスト装置2は、例えば、パーソナルコンピュータなどの情報処理装置、携帯電話、撮像装置であってもよいし、タブレットコンピュータやスマートフォンなどの携帯端末であってもよいし、ゲーム機器であってもよいし、カーナビゲーションシステムなどの車載端末であってもよい。
(First Embodiment)
FIG. 1 is a block diagram showing a configuration example of a memory system according to the first embodiment. The memory system 1 is connected to the host device 2 by a communication line and functions as an external storage device of the host device 2. The host device 2 may be, for example, an information processing device such as a personal computer, a mobile phone, an image pickup device, a mobile terminal such as a tablet computer or a smartphone, or a game device. , It may be an in-vehicle terminal such as a car navigation system.

不揮発性メモリ100は、データを不揮発に記憶するメモリである。不揮発性メモリ100は、例えば、複数個のメモリチップであるメモリチップ#1 110-1、・・・、メモリチップ#N 110-Nを備える不揮発性半導体メモリである。なお、Nは任意の自然数である。 The non-volatile memory 100 is a memory that stores data non-volatilely. The non-volatile memory 100 is, for example, a non-volatile semiconductor memory including memory chips # 1 110-1, ..., And memory chips # N 110-N, which are a plurality of memory chips. N is an arbitrary natural number.

以下の説明において、複数のメモリチップ110-1、・・・、110-Nのうち1つを特定する必要がある場合は符号110-1、・・・、110-Nを使用するが、任意のメモリチップを指す場合や、あるメモリチップを他のメモリチップと区別しない場合は、符号110を使用する。 In the following description, when it is necessary to specify one of the plurality of memory chips 110-1, ..., 110-N, the reference numerals 110-1, ..., 110-N are used, but are optional. When referring to a memory chip of, or when one memory chip is not distinguished from another memory chip, reference numeral 110 is used.

メモリチップ110の各々は、例えば互いに独立して動作可能であり、その一例としてはNAND型フラッシュメモリチップである。NAND型フラッシュメモリでは、一般に、ページと呼ばれるデータ単位で、書き込みおよび読み出しが行われ、ブロックと呼ばれるデータ単位で消去が行われる。 Each of the memory chips 110 can operate independently of each other, for example, and one example thereof is a NAND flash memory chip. In NAND flash memory, writing and reading are generally performed in data units called pages, and erasing is performed in data units called blocks.

なお、不揮発性メモリ100としてNAND型フラッシュメモリを用いる例を説明するが、不揮発性メモリ100として3次元構造フラッシュメモリ、ReRAM(Resistance Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)等のNAND型フラッシュメモリ以外の記憶手段を用いてもよい。また、ここでは、記憶手段として半導体メモリを用いる例を説明するが、半導体メモリ以外の記憶手段を用いてもよい。 An example of using a NAND flash memory as the non-volatile memory 100 will be described. However, as the non-volatile memory 100, a NAND flash such as a three-dimensional structure flash memory, ReRAM (Resistance Random Access Memory), and FeRAM (Ferroelectric Random Access Memory) will be described. A storage means other than the memory may be used. Further, although an example in which a semiconductor memory is used as the storage means will be described here, a storage means other than the semiconductor memory may be used.

メモリシステム1は、メモリコントローラ200と不揮発性メモリ100が1つのパッケージとして構成されるメモリカードであってもよいし、SSD(Solid State Drive)であってもよい。 The memory system 1 may be a memory card in which the memory controller 200 and the non-volatile memory 100 are configured as one package, or may be an SSD (Solid State Drive).

メモリコントローラ200は、ホスト装置2からの書き込み要求に従って不揮発性メモリ100への書き込みを制御する。本実施形態において、要求とは、例えば、命令、コマンドである。また、ホスト装置2からの読み出し要求に従って不揮発性メモリ100からの読み出しを制御する。メモリコントローラはコントローラとも称される。 The memory controller 200 controls writing to the non-volatile memory 100 according to a write request from the host device 2. In this embodiment, the request is, for example, an instruction or a command. Further, the read from the non-volatile memory 100 is controlled according to the read request from the host device 2. A memory controller is also called a controller.

メモリコントローラ200は、ホストインターフェース(ホストI/F)210、制御部220、データバッファ230、符号化部/復号部(Encoder/Decoder)240およびメモリインタフェース(メモリI/F)250を備える。ホストI/F210、制御部220、データバッファ230、符号化部/復号部240およびメモリI/F250は、内部バス260で接続されている。 The memory controller 200 includes a host interface (host I / F) 210, a control unit 220, a data buffer 230, an encoding unit / decoding unit (Encoder / Decoder) 240, and a memory interface (memory I / F) 250. The host I / F 210, the control unit 220, the data buffer 230, the coding unit / decoding unit 240, and the memory I / F 250 are connected by an internal bus 260.

ホストI/F210は、ホスト装置2との間のインターフェース規格に従った処理を実施し、ホスト装置2から受信した要求、ユーザデータなどを内部バス260に出力する。また、ホストI/F210は、不揮発性メモリ100から読み出されたユーザデータ、制御部220からの応答などをホスト装置2へ送信する。なお、本実施の形態では、ホスト装置2からの書き込み要求で不揮発性メモリ100へ書き込まれたデータをユーザデータと呼ぶ。 The host I / F 210 performs processing according to the interface standard with the host device 2, and outputs requests, user data, etc. received from the host device 2 to the internal bus 260. Further, the host I / F 210 transmits the user data read from the non-volatile memory 100, the response from the control unit 220, and the like to the host device 2. In the present embodiment, the data written in the non-volatile memory 100 by the write request from the host device 2 is referred to as user data.

制御部220は、メモリシステム1の各構成要素を統括的に制御する。制御部220は、ハードウェアにより実現されてもよいし、CPU(Central Processing Unit)等のプロセッサがファームウェアを実行することにより実現されてもよい。後者の場合、例えば、プロセッサが、メモリシステム1が電源供給を受けたときに、図示しないROMに格納されているファームウェア(制御プログラム)をバッファ230または制御部220内の図示しないRAM上に読み出して所定の処理を実行することにより、制御部220の処理が実現される。ここで、プロセッサは、コアまたはプロセッサコアとも称される。 The control unit 220 comprehensively controls each component of the memory system 1. The control unit 220 may be realized by hardware, or may be realized by a processor such as a CPU (Central Processing Unit) executing firmware. In the latter case, for example, when the memory system 1 is powered, the processor reads the firmware (control program) stored in the ROM (not shown) onto the buffer 230 or the RAM (not shown) in the control unit 220. By executing a predetermined process, the process of the control unit 220 is realized. Here, the processor is also referred to as a core or a processor core.

制御部220は、ホスト装置2からホストI/F210経由で要求を受けた場合に、その命令に従った制御を行う。例えば、制御部220は、ホスト装置2からの要求に従って、不揮発性メモリ100へのユーザデータおよびパリティの書き込みをメモリI/F250へ指示する。また、制御部220は、ホスト装置2からの要求に従って、不揮発性メモリ100に対する命令をメモリI/F250へ指示する。 When the control unit 220 receives a request from the host device 2 via the host I / F 210, the control unit 220 performs control according to the command. For example, the control unit 220 instructs the memory I / F 250 to write the user data and the parity to the non-volatile memory 100 in accordance with the request from the host device 2. Further, the control unit 220 instructs the memory I / F 250 to give an instruction to the non-volatile memory 100 according to the request from the host device 2.

また、制御部220は、ホスト装置2から書き込み要求を受信した場合、書き込み要求で指定されたユーザデータをデータバッファ230に保存し、このユーザデータに対する不揮発性メモリ100上の格納領域(メモリ領域)を決定する。すなわち、制御部220は、ユーザデータの書込み先を決定し、管理する。ホスト装置2から受信したユーザデータの論理アドレスと当該ユーザデータが格納される不揮発性メモリ100上の格納領域を示す物理アドレスとの対応はアドレス変換テーブルとして格納される。 Further, when the control unit 220 receives the write request from the host device 2, the control unit 220 stores the user data specified in the write request in the data buffer 230, and stores the user data in the non-volatile memory 100 (memory area). To determine. That is, the control unit 220 determines and manages the writing destination of the user data. The correspondence between the logical address of the user data received from the host device 2 and the physical address indicating the storage area on the non-volatile memory 100 in which the user data is stored is stored as an address conversion table.

また、制御部220は、ホスト装置2から読み出し要求を受信した場合、読み出し要求により指定された論理アドレスを上述のアドレス変換テーブルを用いて物理アドレスに変換し、該物理アドレスからの読み出しをメモリI/F250へ指示する。 When the control unit 220 receives a read request from the host device 2, the control unit 220 converts the logical address specified by the read request into a physical address using the above-mentioned address translation table, and reads from the physical address in the memory I. Instruct / F250.

データバッファ230は、メモリコントローラ200がホスト装置2から受信したユーザデータを、不揮発性メモリ100へ記憶するまでの間、一時格納する。また、データバッファ230は、不揮発性メモリ100から読み出したユーザデータをホスト装置2へ送信するまでに一時格納する。データバッファ230は、例えば、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)などの汎用メモリで構成される。また、データバッファ230は、メモリコントローラ200内部に搭載されてもよく、メモリコントローラ200の外にメモリコントローラ200とは独立して搭載されてもよい。 The data buffer 230 temporarily stores the user data received from the host device 2 by the memory controller 200 until it is stored in the non-volatile memory 100. Further, the data buffer 230 temporarily stores the user data read from the non-volatile memory 100 until it is transmitted to the host device 2. The data buffer 230 is composed of, for example, a general-purpose memory such as a SRAM (Static Random Access Memory) or a DRAM (Dynamic Random Access Memory). Further, the data buffer 230 may be mounted inside the memory controller 200, or may be mounted outside the memory controller 200 independently of the memory controller 200.

また、制御部220は、アドレス変換テーブルを含む管理情報2201をデータバッファ230に保存する。制御部220は、所定のタイミングでデータバッファ230の管理情報2201を不揮発性メモリ100へ保存する。制御部220は、メモリシステム1の起動時に、不揮発性メモリ100の管理情報2201をデータバッファ230へ保存し、管理情報2201を変更する場合はデータバッファ230の管理情報2201を更新する。 Further, the control unit 220 stores the management information 2201 including the address translation table in the data buffer 230. The control unit 220 stores the management information 2201 of the data buffer 230 in the non-volatile memory 100 at a predetermined timing. The control unit 220 stores the management information 2201 of the non-volatile memory 100 in the data buffer 230 when the memory system 1 is started, and updates the management information 2201 of the data buffer 230 when the management information 2201 is changed.

符号化部/復号部240は、符号化回路241と復号回路242とを備える。符号化部/復号部はECC(Error Correcting Code)回路とも称される。符号化回路241は、データバッファ230に保持されたデータを符号化して、データと冗長部(パリティ)とを有する符号語を生成する。符号化回路241は、第1のデータ長のユーザデータを符号化(誤り訂正符号化)して第2のデータ長の符号語を生成する。符号化回路241が行う符号化では、例えば、BCH(Bose-Chaudhuri-Hocquenghem)符号、RS(Reed-Solomon)符号、LDPC(Low Density Parity Check)符号等を用いることができる。なお、符号化回路241が用いる誤り訂正符号はこれらに限定されない。復号回路242は、不揮発性メモリ100から読み出されたデータである符号語をメモリI/F250経由で取得し、取得した符号語を復号する。復号回路242は、復号時に誤り訂正に失敗した場合は、制御部220に誤り訂正失敗を通知する。 The coding unit / decoding unit 240 includes a coding circuit 241 and a decoding circuit 242. The coding unit / decoding unit is also referred to as an ECC (Error Correcting Code) circuit. The coding circuit 241 encodes the data held in the data buffer 230 to generate a code word having the data and a redundant portion (parity). The coding circuit 241 encodes the user data of the first data length (error correction coding) to generate a code word of the second data length. In the coding performed by the coding circuit 241, for example, a BCH (Bose-Chaudhuri-Hocquenghem) code, an RS (Reed-Solomon) code, an LDPC (Low Density Parity Check) code, or the like can be used. The error correction code used by the coding circuit 241 is not limited to these. The decoding circuit 242 acquires a codeword which is data read from the non-volatile memory 100 via the memory I / F 250, and decodes the acquired codeword. If the decoding circuit 242 fails in error correction during decoding, the decoding circuit 242 notifies the control unit 220 of the error correction failure.

メモリI/F250は、不揮発性メモリ110を制御する。メモリI/F250は、制御部220等の制御に従って符号化回路241から出力された符号語を不揮発性メモリ110に書き込む。また、メモリI/F250は、制御部220等の制御に従って不揮発性メモリ110からデータを読み出し、バッファ230経由で復号回路242に転送する。更にメモリI/F250は、制御部220等の制御に従って、不揮発性メモリ110に保存されているデータを消去する。 The memory I / F 250 controls the non-volatile memory 110. The memory I / F 250 writes the codeword output from the coding circuit 241 to the non-volatile memory 110 under the control of the control unit 220 and the like. Further, the memory I / F 250 reads data from the non-volatile memory 110 under the control of the control unit 220 and the like, and transfers the data to the decoding circuit 242 via the buffer 230. Further, the memory I / F 250 erases the data stored in the non-volatile memory 110 under the control of the control unit 220 and the like.

メモリI/F250は、バスを介して各メモリチップ110と接続される。バスは、各メモリチップ110がNAND型フラッシュメモリである例に基づくと、NANDバスであり、以下の記述および図はNANDバスの例に基づく。NANDバスは、信号CEn、CLE、ALE、WEn、REn、WPn、RY/BYn、DQ、DQS、およびDQSnを伝送する。本明細書において、信号の名称の末尾のnは、末尾のnの信号の反転論理を示し、信号がローレベルの場合にアサートされていることを意味する。 The memory I / F 250 is connected to each memory chip 110 via a bus. The bus is a NAND bus based on the example where each memory chip 110 is a NAND flash memory, and the following description and figure are based on the example of the NAND bus. The NAND bus transmits the signals Cen, CLE, ALE, WEen, REN, WPn, RY / BYn, DQ, DQS, and DQSn. As used herein, the trailing n in the name of the signal indicates the inversion logic of the trailing n signal, meaning that it is asserted when the signal is low level.

アサートされている信号CEnは、メモリチップ110をイネーブルにする。アサートされている信号CLEは、アサートされている信号CLEと並行してメモリチップ110へ流れる信号DQがコマンドであることをメモリチップ110に通知する。アサートされている信号ALEは、アサートされている信号ALEと並行してメモリチップ110へ流れる信号DQがアドレスであることをメモリチップ110に通知する。アサートされている信号WEnは、アサートされている信号WEnと並行してメモリチップ110へ流れる信号DQをメモリチップ110に取り込むことを指示する。アサートされている信号REnは、メモリチップ110に信号DQを出力することを指示する。アサートされている信号WPnは、データ書き込みおよび消去の禁止をメモリチップ110に指示する。信号RY/BYnは、メモリチップ110がレディ状態であるか、ビジー状態であるかを示し、ローレベルによってビジー状態を示す。メモリチップ110は、レディ状態においてメモリコントローラ200からの命令を受け付け、ビジー状態においてメモリコントローラ200からの命令を受け付けない。 The asserted signal CEn enables the memory chip 110. The asserted signal CLE notifies the memory chip 110 that the signal DQ flowing to the memory chip 110 in parallel with the asserted signal CLE is a command. The asserted signal ALE notifies the memory chip 110 that the signal DQ flowing to the memory chip 110 in parallel with the asserted signal ALE is an address. The asserted signal WEen indicates that the signal DQ flowing to the memory chip 110 in parallel with the asserted signal WEen is taken into the memory chip 110. The asserted signal REN indicates that the signal DQ is output to the memory chip 110. The asserted signal WPn instructs the memory chip 110 to prohibit data writing and erasing. The signal RY / BYn indicates whether the memory chip 110 is in the ready state or the busy state, and indicates the busy state by the low level. The memory chip 110 accepts an instruction from the memory controller 200 in the ready state and does not accept an instruction from the memory controller 200 in the busy state.

信号DQ(DQ0~DQ7)は、例えば8ビットの幅を有し、データの実体であり、コマンド(CMD)、メモリチップ110への書き込みデータまたはメモリチップ110からの読み出しデータ(DAT)、アドレス信号(ADD)、ステータスデータ(STA)等を含む。メモリチップ110からの読み出しデータは、単に読み出しデータと称される場合がある。メモリコントローラ200からメモリチップ110へ向かう信号DQSおよびDQSnは、信号DQを出力するタイミングをメモリチップ110に指示する。一方、メモリチップ110からメモリコントローラ200に向かう信号DQSおよびDQSnは、信号DQを出力するタイミングをメモリコントローラ200に通知する。 The signal DQ (DQ0 to DQ7) has a width of, for example, 8 bits and is an entity of data, such as a command (CMD), data written to the memory chip 110 or data read from the memory chip 110 (DAT), and an address signal. (ADD), status data (STA), etc. are included. The read data from the memory chip 110 may be simply referred to as read data. The signals DQS and DQSn from the memory controller 200 to the memory chip 110 indicate to the memory chip 110 when to output the signal DQ. On the other hand, the signals DQS and DQSn from the memory chip 110 to the memory controller 200 notify the memory controller 200 of the timing to output the signal DQ.

メモリシステム1は、メモリコントローラ200の温度を測定するためのセンサで、メモリコントローラ200の近傍に配置される温度センサ300を備えてもよい。この場合、メモリコントローラ200は、メモリコントローラ200と温度センサ300との間の通信インターフェースの機能を有する温度センサI/F270を備え、制御部220は、温度センサ300で測定された温度情報を、温度センサI/F270を介して取得するようにしてもよい。 The memory system 1 is a sensor for measuring the temperature of the memory controller 200, and may include a temperature sensor 300 arranged in the vicinity of the memory controller 200. In this case, the memory controller 200 includes a temperature sensor I / F270 having a function of a communication interface between the memory controller 200 and the temperature sensor 300, and the control unit 220 uses the temperature information measured by the temperature sensor 300 as the temperature. It may be acquired via the sensor I / F270.

図2及び図3は、メモリシステム1とホスト装置2が組み込まれたシステム3の例を示す。システム3は、電子機器の一例である。 2 and 3 show an example of a system 3 in which a memory system 1 and a host device 2 are incorporated. The system 3 is an example of an electronic device.

図2に示すように、メモリシステム1は、例えばサーバ等のシステム3内に記憶装置として組み込まれる。システム3は、メモリシステム1とメモリシステム1が装着されたホスト装置2とを含む。ホスト装置2は、例えば上方に開口した複数のコネクタ4を有する。コネクタ4は、例えば、スロットである。図2に示す例では、メモリシステム1は、基板400を含み、基板400に、不揮発性メモリ100とメモリコントローラ200が搭載される。複数のメモリシステム1は、ホスト装置2のコネクタ4に其々装着され、略鉛直方向に起立した姿勢で互いに並べて支持される。このような構成によれば、複数のメモリシステム1をコンパクトに纏めて実装可能であり、ホスト装置2の小型化を図ることができる。 As shown in FIG. 2, the memory system 1 is incorporated as a storage device in a system 3 such as a server. The system 3 includes a memory system 1 and a host device 2 to which the memory system 1 is mounted. The host device 2 has, for example, a plurality of connectors 4 that are open upward. The connector 4 is, for example, a slot. In the example shown in FIG. 2, the memory system 1 includes a substrate 400, and the non-volatile memory 100 and the memory controller 200 are mounted on the substrate 400. The plurality of memory systems 1 are attached to the connectors 4 of the host device 2 respectively, and are supported side by side in a posture of standing upright in a substantially vertical direction. According to such a configuration, a plurality of memory systems 1 can be compactly mounted, and the host device 2 can be miniaturized.

また、メモリシステム1は、例えばノートブック型ポータブルコンピュータやタブレット端末、その他デタッチャブルノートPC(personal computer)のような電子機器のストレージデバイスとして使用されるものでもよい。図3に示すように、メモリシステム1は、例えば、ホスト装置2に対応するポータブルコンピュータに実装される。ここでは、メモリシステム1を含むポータブルコンピュータ全体がシステム3となる。 Further, the memory system 1 may be used as a storage device for electronic devices such as notebook-type portable computers, tablet terminals, and other detachable notebook PCs (personal computers). As shown in FIG. 3, the memory system 1 is mounted on, for example, a portable computer corresponding to the host device 2. Here, the entire portable computer including the memory system 1 becomes the system 3.

ポータブルコンピュータは、本体301と、表示ユニット302と、を備える。表示ユニット302は、ディスプレイハウジング303と、このディスプレイハウジング303に収容された表示装置304と、を備える。 The portable computer includes a main body 301 and a display unit 302. The display unit 302 includes a display housing 303 and a display device 304 housed in the display housing 303.

本体301は、筐体305と、キーボード306と、ポインティングデバイスであるタッチパッド307と、を備える。筐体305は、メイン回路基板、ODD(Optical Disk Device)ユニット、カードスロット308など、を含む。 The main body 301 includes a housing 305, a keyboard 306, and a touch pad 307 which is a pointing device. The housing 305 includes a main circuit board, an ODD (Optical Disk Device) unit, a card slot 308, and the like.

カードスロット308は、筐体305の側面に設けられる。ユーザは、筐体305の外部から追加デバイス309をカードスロット308に挿入することが可能である。 The card slot 308 is provided on the side surface of the housing 305. The user can insert the additional device 309 into the card slot 308 from outside the housing 305.

メモリシステム1は、HDD(Hard disk drive)の置き換えとして、ポータブルコンピュータ内部に実装された状態で使用してもよいし、追加デバイス309として使用してもよい。 The memory system 1 may be used as a replacement for an HDD (Hard disk drive) in a state of being mounted inside a portable computer, or may be used as an additional device 309.

図4は、第1実施形態に係るメモリシステムの外観の一例を示す斜視図である。この例では、メモリシステム1は、基板400を含む。基板400には、メモリチップ110-1、110-2、110-3、110-4、110-5、110-6、110-7、110-8、ホストI/F210に含まれる接続部211、メモリコントローラ200、バッファ230としてのDRAM、および温度センサ300が搭載されてよいが、これに限定されない。 FIG. 4 is a perspective view showing an example of the appearance of the memory system according to the first embodiment. In this example, the memory system 1 includes a substrate 400. The board 400 includes memory chips 110-1, 110-2, 110-3, 110-4, 110-5, 110-6, 110-7, 110-8, and a connection portion 211 included in the host I / F 210. A memory controller 200, a DRAM as a buffer 230, and a temperature sensor 300 may be mounted, but are not limited thereto.

なお、ホストI/F210は、接続部211(端子部)を有し、図4に示すメモリシステム1では、接続部211はメモリコントローラ200の外にメモリコントローラ200と独立して搭載される。接続部211は、例えば複数の接続端子(金属端子)を有する。接続部211は、例えば、ホスト装置2のコネクタ4に差し込まれ、コネクタ4に電気的に接続される。ホストI/F210は、接続部211を介してホスト装置2との間で信号をやり取りする。 The host I / F 210 has a connection unit 211 (terminal unit), and in the memory system 1 shown in FIG. 4, the connection unit 211 is mounted independently of the memory controller 200 in addition to the memory controller 200. The connection portion 211 has, for example, a plurality of connection terminals (metal terminals). The connection portion 211 is, for example, inserted into the connector 4 of the host device 2 and electrically connected to the connector 4. The host I / F 210 exchanges signals with the host device 2 via the connection unit 211.

また、図4に示すメモリシステム1では、メモリチップ110は、他のメモリチップ110、メモリコントローラ200、バッファ230としてのDRAM、または温度センサ300と側面が任意の長さの間隙を介して向き合うように配置され、温度センサ300は、メモリコントローラ200、NANDメモリ110-1、・・・、110-8、バッファ230としてのDRAMに囲まれた位置に配置されているが、NANDメモリ110-1、110-2、110-3、110-4、110-5、110-6、110-7、110-8、ホストインターフェース210、メモリコントローラ200、バッファ230としてのDRAM、および温度センサ300の配置は一例であり、これに限定されない。 Further, in the memory system 1 shown in FIG. 4, the memory chip 110 faces the other memory chip 110, the memory controller 200, the DRAM as the buffer 230, or the temperature sensor 300 with the side surfaces facing each other through a gap of an arbitrary length. The temperature sensor 300 is arranged at a position surrounded by a memory controller 200, a NAND memory 110-1, ..., 110-8, and a DRAM as a buffer 230. The arrangement of 110-2, 110-3, 110-4, 110-5, 110-6, 110-7, 110-8, the host interface 210, the memory controller 200, the DRAM as the buffer 230, and the temperature sensor 300 is an example. And is not limited to this.

次に、上記メモリチップ110の構成について説明する。図5は、本実施形態に係るメモリチップ110のブロック図である。前述の通り、メモリチップ110は例えばNAND型フラッシュメモリチップであり、本実施態様では、メモリセルが半導体基板上方に三次元に積層された三次元積層型NAND型フラッシュメモリである。 Next, the configuration of the memory chip 110 will be described. FIG. 5 is a block diagram of the memory chip 110 according to the present embodiment. As described above, the memory chip 110 is, for example, a NAND flash memory chip, and in this embodiment, it is a three-dimensional stacked NAND flash memory in which memory cells are three-dimensionally stacked on a semiconductor substrate.

図5に示されるように、メモリチップ110は、メモリセルアレイ111、入出力回路112、入出力制御回路113、シーケンサ(制御回路)114、電圧生成回路115、ドライバ116、センスアンプ117、カラムデコーダ118、データラッチ119、およびロウデコーダ120、等の要素を含む。 As shown in FIG. 5, the memory chip 110 includes a memory cell array 111, an input / output circuit 112, an input / output control circuit 113, a sequencer (control circuit) 114, a voltage generation circuit 115, a driver 116, a sense amplifier 117, and a column decoder 118. , Data latch 119, row decoder 120, and the like.

メモリセルアレイ111は複数のブロック(BLK0、BLK1、…)を含む。ブロックは、例えばデータの消去単位であり、各ブロック中のデータは一括して消去される。1つのブロックより小さい単位(例えばブロックの半分)でデータが消去されてもよい。 The memory cell array 111 includes a plurality of blocks (BLK0, BLK1, ...). A block is, for example, a data erasing unit, and the data in each block is erased all at once. Data may be erased in units smaller than one block (eg, half a block).

各ブロックは複数のストリングユニットSU(SU0、SU1、…)の集合である。各ストリングユニットSUは複数のNANDストリング131の集合である。NANDストリング131は、複数のメモリセルトランジスタMTを含む。メモリセルアレイ111にはさらにワード線WL、ビット線BL、セルソース線CELSRC、および選択ゲート線SGDLならびにSGSL等の配線が設けられている。 Each block is a set of a plurality of string units SU (SU0, SU1, ...). Each string unit SU is a set of a plurality of NAND strings 131. The NAND string 131 includes a plurality of memory cell transistors MT. The memory cell array 111 is further provided with wiring such as a word line WL, a bit line BL, a cell source line CELSRC, and a selection gate line SGDL and SGSL.

入出力回路112は、信号DQを受け取り、または信号DQを送信する。入出力回路112は、また、データストローブ信号DQSならびにDQSnを送信する。 The input / output circuit 112 receives the signal DQ or transmits the signal DQ. The input / output circuit 112 also transmits the data strobe signals DQS and DQSn.

入出力制御回路113は、メモリコントローラ200から種々の制御信号を受け取り、制御信号に基づいて、入出力回路12を制御する。制御信号は、信号CEn、CLE、ALE、WEn、REn、WPn、およびデータストローブ信号DQSならびにDQSnを含む。 The input / output control circuit 113 receives various control signals from the memory controller 200, and controls the input / output circuit 12 based on the control signals. Control signals include signals Cen, CLE, ALE, Wen, REN, WPn, and data strobe signals DQS and DQSn.

シーケンサ114は、入出力回路112からコマンドおよびアドレス信号を受け取り、コマンドおよびアドレス信号に基づいて、電圧生成回路115、ドライバ116、センスアンプ117、カラムデコーダ118を制御する。シーケンサ114は、カウンタ114aおよびレジスタ114bを含む。 The sequencer 114 receives commands and address signals from the input / output circuit 112, and controls the voltage generation circuit 115, the driver 116, the sense amplifier 117, and the column decoder 118 based on the commands and address signals. The sequencer 114 includes a counter 114a and a register 114b.

電圧生成回路115は、メモリチップ110の外部から所定の数値データを受け取り、受け取った数値データから種々の電位(電圧)を生成する。所定の数値データは、例えば、デジタル値(DAC値)である。生成された電位は、ドライバ116およびセンスアンプ117等の要素に供給される。電圧生成回路115によって生成される電位は、例えば、ワード線WL、選択ゲート線SGDLおよびSGSL、ならびにソース線CELSRCに印加される電位を含む。種々の電位の印加により、種々の要素に電圧が印加される。ドライバ116は、電圧生成回路115によって生成された電位を受け取り、シーケンサ114の制御に従って、受け取られた電位のうちの選択されたものをロウデコーダ120に供給する。 The voltage generation circuit 115 receives predetermined numerical data from the outside of the memory chip 110, and generates various potentials (voltages) from the received numerical data. The predetermined numerical data is, for example, a digital value (DAC value). The generated potential is supplied to elements such as the driver 116 and the sense amplifier 117. The potential generated by the voltage generation circuit 115 includes, for example, the potential applied to the word line WL, the selective gate lines SGDL and SGSL, and the source line CELSRC. By applying various potentials, voltages are applied to various elements. The driver 116 receives the potential generated by the voltage generation circuit 115 and supplies a selected one of the received potentials to the row decoder 120 under the control of the sequencer 114.

ロウデコーダ120は、ドライバ116から種々の電位を受け取り、入出力回路112からアドレス信号を受け取り、受け取られたアドレス信号に基づいて1つのブロックを選択し、選択されたブロックにドライバ116からの電位を転送する。 The row decoder 120 receives various potentials from the driver 116, receives an address signal from the input / output circuit 112, selects one block based on the received address signal, and applies the potential from the driver 116 to the selected block. Forward.

センスアンプ117は、メモリセルトランジスタMTの状態をセンスし、センスされた状態に基づいて読み出しデータを生成し、また、書き込みデータをメモリセルトランジスタMTに転送する。 The sense amplifier 117 senses the state of the memory cell transistor MT, generates read data based on the sensed state, and transfers the write data to the memory cell transistor MT.

データラッチ119は、入出力回路112からの書き込みデータを保持し、書き込みデータをセンスアンプに供給する。また、データラッチ119は、センスアンプ117から読み出しデータを受け取り、カラムデコーダ118の制御に従って、読み出しデータを入出力回路112に供給する。カラムデコーダ118は、アドレス信号に基づいて、データラッチ119を制御する。 The data latch 119 holds the write data from the input / output circuit 112 and supplies the write data to the sense amplifier. Further, the data latch 119 receives the read data from the sense amplifier 117, and supplies the read data to the input / output circuit 112 under the control of the column decoder 118. The column decoder 118 controls the data latch 119 based on the address signal.

次に、上記メモリセルアレイ111の備えるブロックの構成について、図6を用いて説明する。図6は、ブロックの回路図である。 Next, the configuration of the block included in the memory cell array 111 will be described with reference to FIG. FIG. 6 is a circuit diagram of the block.

図示するように、ブロックは例えば4つのストリングユニットSU(SU0~SU3)を含む。また各々のストリングユニットSUは、複数のNANDストリング131を含む。 As shown, the block contains, for example, four string units SU (SU0-SU3). Further, each string unit SU includes a plurality of NAND strings 131.

NANDストリング131の各々は、例えば8個のメモリセルトランジスタMT(MT0~MT7)と、選択トランジスタST1、ST2とを含んでいる。メモリセルトランジスタMTは、制御ゲートと電荷蓄積層とを含む積層ゲートを備え、データを不揮発に保持する。なお、メモリセルトランジスタMTの個数は8個に限られず、16個や32個、64個、128個等であってもよく、その数は限定されるものではない。メモリセルトランジスタMTは、選択トランジスタST1、ST2間に、その電流経路が直列接続されるようにして配置されている。この直列接続の一端側のメモリセルトランジスタMT7の電流経路は選択トランジスタST1の電流経路の一端に接続され、他端側のメモリセルトランジスタMT0の電流経路は選択トランジスタST2の電流経路の一端に接続されている。 Each of the NAND strings 131 includes, for example, eight memory cell transistors MT (MT0 to MT7) and selection transistors ST1 and ST2. The memory cell transistor MT includes a laminated gate including a control gate and a charge storage layer, and holds data non-volatilely. The number of memory cell transistors MT is not limited to eight, and may be 16, 32, 64, 128, or the like, and the number is not limited. The memory cell transistor MT is arranged so that its current path is connected in series between the selection transistors ST1 and ST2. The current path of the memory cell transistor MT7 on one end side of this series connection is connected to one end of the current path of the selection transistor ST1, and the current path of the memory cell transistor MT0 on the other end side is connected to one end of the current path of the selection transistor ST2. ing.

ストリングユニットSU0~SU3の各々の選択トランジスタST1のゲートは、それぞれセレクトゲート線SGD0~SGD3に共通接続される。他方で、選択トランジスタST2のゲートは、複数のストリングユニット間で同一のセレクトゲート線SGSに共通接続される。また、同一のブロック0内にあるメモリセルトランジスタMT0~MT7の制御ゲートはそれぞれワード線WL0~WL7に共通接続される。 The gates of the selection transistors ST1 of the string units SU0 to SU3 are commonly connected to the select gate lines SGD0 to SGD3, respectively. On the other hand, the gate of the selection transistor ST2 is commonly connected to the same select gate line SGS among the plurality of string units. Further, the control gates of the memory cell transistors MT0 to MT7 in the same block 0 are commonly connected to the word lines WL0 to WL7, respectively.

すなわち、ワード線WL0~WL7及びセレクトゲート線SGSは同一ブロック内の複数のストリングユニットSU0~SU3間で共通に接続されているのに対し、セレクトゲート線SGDは、同一ブロック内であってもストリングユニットSU0~SU3毎に独立している。 That is, the word lines WL0 to WL7 and the select gate line SGS are commonly connected between a plurality of string units SU0 to SU3 in the same block, whereas the select gate line SGD is a string even in the same block. It is independent for each unit SU0 to SU3.

また、メモリセルアレイ111内でマトリクス状に配置されたNANDストリング131のうち、同一行にあるNANDストリング131の選択トランジスタST1の電流経路の他端は、いずれかのビット線BL(BL0~BL(L-1)、(L-1)は1以上の自然数)に共通接続される。すなわちビット線BLは、複数のブロック間でNANDストリング131を共通に接続する。また、選択トランジスタST2の電流経路の他端はソース線SLに共通に接続されている。ソース線SLは、例えば複数のブロック間でNANDストリング131を共通に接続する。 Further, among the NAND strings 131 arranged in a matrix in the memory cell array 111, the other end of the current path of the selection transistor ST1 of the NAND string 131 in the same row is one of the bit lines BL (BL0 to BL (L). -1) and (L-1) are commonly connected to 1 or more natural numbers). That is, the bit line BL commonly connects the NAND string 131 between the plurality of blocks. Further, the other end of the current path of the selection transistor ST2 is commonly connected to the source line SL. The source line SL commonly connects the NAND string 131 between, for example, a plurality of blocks.

前述の通り、同一のブロック内にあるメモリセルトランジスタMTのデータは、一括して消去される。これに対してデータの読み出し及び書き込みは、いずれかのブロックのいずれかのストリングユニットSUにおける、いずれかのワード線WLに共通に接続された複数のメモリセルトランジスタMTにつき、一括して行われる。メモリセルトランジスタMTが2値(1ビット)を記憶するメモリセルトランジスタMTの場合は、この一括して行われる単位が1ページに対応する。 As described above, the data of the memory cell transistor MT in the same block is erased all at once. On the other hand, reading and writing of data are collectively performed for a plurality of memory cell transistors MT commonly connected to any word line WL in any string unit SU of any block. In the case of the memory cell transistor MT in which the memory cell transistor MT stores two values (1 bit), the unit performed collectively corresponds to one page.

図7は、本実施形態に係るメモリセルアレイ111の一部領域の断面図である。図示するように、p型ウェル領域20上に複数のNANDストリング131が形成されている。すなわち、ウェル領域20上には、セレクトゲート線SGSとして機能する複数の配線層27、ワード線WLとして機能する複数の配線層23、及びセレクトゲート線SGDとして機能する複数の配線層25が形成されている。 FIG. 7 is a cross-sectional view of a part of the memory cell array 111 according to the present embodiment. As shown, a plurality of NAND strings 131 are formed on the p-type well region 20. That is, on the well region 20, a plurality of wiring layers 27 functioning as select gate line SGS, a plurality of wiring layers 23 functioning as word line WL, and a plurality of wiring layers 25 functioning as select gate line SGD are formed. ing.

そして、これらの配線層25、23、及び27を貫通してウェル領域20に達するメモリホール26が形成されている。メモリホール26の側面には、ブロック絶縁膜28、電荷蓄積層29(絶縁膜)、及びゲート絶縁膜30が順次形成され、更にメモリホール26内を導電膜31が埋め込んでいる。導電膜31は、NANDストリング131の電流経路として機能し、メモリセルトランジスタMT並びに選択トランジスタST1及びST2の動作時にチャネルが形成される領域である。 Then, a memory hole 26 that penetrates the wiring layers 25, 23, and 27 and reaches the well region 20 is formed. A block insulating film 28, a charge storage layer 29 (insulating film), and a gate insulating film 30 are sequentially formed on the side surface of the memory hole 26, and a conductive film 31 further embeds the inside of the memory hole 26. The conductive film 31 functions as a current path of the NAND string 131, and is a region in which a channel is formed during the operation of the memory cell transistor MT and the selection transistors ST1 and ST2.

配線層27は、例えば4層設けられ、セレクトゲート線SGS、及び選択トランジスタST2のゲート電極として機能する。最下層の配線層27及びゲート絶縁膜30は、p型ウェル領域20の表面内に形成されたn+型不純物拡散領域33の近傍まで設けられている。 The wiring layer 27 is provided with, for example, four layers, and functions as a gate electrode of the select gate wire SGS and the selection transistor ST2. The wiring layer 27 and the gate insulating film 30 of the lowermost layer are provided up to the vicinity of the n + type impurity diffusion region 33 formed in the surface of the p-type well region 20.

配線層23は、例えば8層設けられ、配線層27の上方に設けられている。配線層23はそれぞれ、対応するワード線WL及びメモリセルトランジスタMTの制御ゲート電極として機能する。 The wiring layer 23 is provided, for example, eight layers, and is provided above the wiring layer 27. The wiring layer 23 functions as a control gate electrode for the corresponding word line WL and the memory cell transistor MT, respectively.

配線層25は、例えば4層設けられ、配線層23の上方に設けられている。配線層25は、セレクトゲート線SGD、及び選択トランジスタST1のゲート電極として機能する。 The wiring layer 25 is provided, for example, four layers, and is provided above the wiring layer 23. The wiring layer 25 functions as a select gate wire SGD and a gate electrode of the selection transistor ST1.

以上の構成により、各NANDストリング131において、ウェル領域20上に選択トランジスタST2、複数のメモリセルトランジスタMT、及び選択トランジスタST1が順次積層されている。 With the above configuration, in each NAND string 131, the selection transistor ST2, the plurality of memory cell transistors MT, and the selection transistor ST1 are sequentially stacked on the well region 20.

なお、図7の例では選択トランジスタST1及びST2は、メモリセルトランジスタMTと同様に電荷蓄積層29を備えている。しかし選択トランジスタST1及びST2は、実質的にデータを保持するメモリセルとして機能するものでは無く、スイッチとして機能する。この際、選択トランジスタST1及びST2がオン/オフする閾値は、電荷蓄積層29に電荷を注入することによって制御されても良い。 In the example of FIG. 7, the selection transistors ST1 and ST2 include a charge storage layer 29 like the memory cell transistor MT. However, the selection transistors ST1 and ST2 do not substantially function as memory cells for holding data, but function as switches. At this time, the threshold value at which the selection transistors ST1 and ST2 are turned on / off may be controlled by injecting a charge into the charge storage layer 29.

導電膜31の上端には、ビット線BLとして機能する配線層32が形成される。ビット線BLは、センスアンプ117に接続される。 A wiring layer 32 that functions as a bit line BL is formed at the upper end of the conductive film 31. The bit line BL is connected to the sense amplifier 117.

更に、ウェル領域20の表面内には、n+型不純物拡散層33及びp+型不純物拡散層34が形成されている。拡散層33上にはコンタクトプラグ35が形成され、コンタクトプラグ35上には、ソース線SLとして機能する配線層36が形成される。ソース線SLは、図示しないソース線ドライバに接続される。また拡散層34上にはコンタクトプラグ37が形成され、コンタクトプラグ37上には、ウェル配線CPWELLとして機能する配線層38が形成される。ウェル配線CPWELLは、図示しないウェルドライバに接続される。配線層36及び38は、セレクトゲート線SGDよりも上層であり、且つ配線層32よりも下層のレイヤに形成されるが、この構造は一例であり、これに限定されない。 Further, an n + type impurity diffusion layer 33 and a p + type impurity diffusion layer 34 are formed on the surface of the well region 20. A contact plug 35 is formed on the diffusion layer 33, and a wiring layer 36 that functions as a source line SL is formed on the contact plug 35. The source line SL is connected to a source line driver (not shown). Further, a contact plug 37 is formed on the diffusion layer 34, and a wiring layer 38 that functions as a well wiring CPWELL is formed on the contact plug 37. The well wiring CPWELL is connected to a well driver (not shown). The wiring layers 36 and 38 are formed in a layer above the select gate line SGD and below the wiring layer 32, but this structure is an example and is not limited thereto.

以上の構成が、図7を記載した紙面の奥行き方向に複数配列されており、奥行き方向に並ぶ複数のNANDストリング131の集合によってストリングユニットSUが形成される。また、同一のストリングユニットSU内に含まれる複数のセレクトゲート線SGSとして機能する配線層27は、互いに共通に接続されている。つまり、隣接するNANDストリング131間のウェル領域20上にもゲート絶縁膜30が形成され、拡散層33に隣接する半導体層27及びゲート絶縁膜28は、拡散層33近傍まで形成される。 A plurality of the above configurations are arranged in the depth direction of the paper surface shown in FIG. 7, and the string unit SU is formed by a set of a plurality of NAND strings 131 arranged in the depth direction. Further, the wiring layers 27 that are included in the same string unit SU and function as a plurality of select gate line SGS are connected to each other in common. That is, the gate insulating film 30 is also formed on the well region 20 between the adjacent NAND strings 131, and the semiconductor layer 27 and the gate insulating film 28 adjacent to the diffusion layer 33 are formed up to the vicinity of the diffusion layer 33.

従って、選択トランジスタST2がオン状態とされる際には、そのチャネルはメモリセルトランジスタMT0と拡散層33とを電気的に接続する。また、ウェル配線CPWELLに電圧を印加することで、導電膜31に電位を与えることが出来る。 Therefore, when the selection transistor ST2 is turned on, the channel electrically connects the memory cell transistor MT0 and the diffusion layer 33. Further, by applying a voltage to the well wiring CPWELL, a potential can be applied to the conductive film 31.

なお、メモリセルアレイ111の構成についてはその他の構成であっても良い。すなわちメモリセルアレイ111の構成については、例えば、“三次元積層不揮発性半導体メモリ”という2009年3月19日に出願された米国特許出願12/407,403号に記載されている。また、“三次元積層不揮発性半導体メモリ”という2009年3月18日に出願された米国特許出願12/406,524号、“不揮発性半導体記憶装置及びその製造方法”という2010年3月25日に出願された米国特許出願12/679,991号“半導体メモリ及びその製造方法”という2009年3月23日に出願された米国特許出願12/532,030号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。 The configuration of the memory cell array 111 may be another configuration. That is, the configuration of the memory cell array 111 is described in, for example, US Patent Application No. 12 / 407, 403 filed on March 19, 2009, entitled "Three-dimensional laminated non-volatile semiconductor memory". In addition, US Patent Application No. 12 / 406,524, which was filed on March 18, 2009, "Three-dimensional laminated non-volatile semiconductor memory", and "Non-volatile semiconductor storage device and its manufacturing method", March 25, 2010. It is described in US Patent Application No. 12 / 679,991 "Semiconductor Memory and its Manufacturing Method" filed in US Patent Application No. 12 / 532,030 filed on March 23, 2009. These patent applications are incorporated herein by reference in their entirety.

次に、図8を参照して、メモリセルトランジスタMTについて説明する。メモリチップ110は、1つのメモリセルトランジスタMTにおいて1ビット以上のデータを保持することができる。図8は、例として、データ書き込みの結果、1メモリセルトランジスタ当たり3ビットのデータを保持するメモリセルトランジスタMTの閾値電圧の分布を示す。各メモリセルトランジスタMTの閾値電圧は、保持される3ビットデータに応じた値を有する。メモリセルトランジスタMT当たり3ビットの記憶の場合、各メモリセルトランジスタMTは、8つの閾値電圧のうちのいずれかを有し得る。8つの閾値電圧は、例えば、“111”データ、“110”データ、“100”データ、“000”データ、“010”データ、“011”データ、“001”データ、および“101”データをそれぞれ保持している状態である。8つの閾値電圧と3ビットデータとの組み合わせは、図8の例に限られない。 Next, the memory cell transistor MT will be described with reference to FIG. The memory chip 110 can hold one bit or more of data in one memory cell transistor MT. As an example, FIG. 8 shows the distribution of the threshold voltage of the memory cell transistor MT holding 3 bits of data per memory cell transistor as a result of data writing. The threshold voltage of each memory cell transistor MT has a value corresponding to the held 3-bit data. For storage of 3 bits per memory cell transistor MT, each memory cell transistor MT may have any of eight threshold voltages. The eight threshold voltages are, for example, "111" data, "110" data, "100" data, "000" data, "010" data, "011" data, "001" data, and "101" data, respectively. It is in a holding state. The combination of the eight threshold voltages and the 3-bit data is not limited to the example of FIG.

1つのセルユニットCUのメモリセルトランジスタMTのある同じ位置のビットのデータの組は、ページを構成する。1つのセルユニットCUのメモリセルトランジスタMTの最上位ビットのデータの組は、アッパーページを構成する。1つのメモリセルユニットCUのメモリセルトランジスタMTの中位ビットのデータの組は、ミドルページを構成する。1つのセルユニットCUのメモリセルトランジスタMTの最下位ビットのデータの組は、ロワーページを構成する。 A set of data of bits at the same position in the memory cell transistor MT of one cell unit CU constitutes a page. The set of data of the most significant bit of the memory cell transistor MT of one cell unit CU constitutes the upper page. The set of data of the middle bits of the memory cell transistor MT of one memory cell unit CU constitutes a middle page. The set of data of the least significant bits of the memory cell transistor MT of one cell unit CU constitutes a lower page.

ある同じ3ビットデータを保持する複数のメモリセルトランジスタMTであっても、メモリセルトランジスタMTの特性のばらつき等に起因して、互いに相違する閾値電圧を有し得る。このため、ある同じデータを保持する複数のトランジスタMTの閾値電圧は1つの分布を形成する。分布はEr、A、B、C、D、E、F、およびGレベルと称される。Aレベル中の閾値電圧は、Erレベル中の閾値電圧より高い。同様に、B、C、D、E、F、およびGレベル中の閾値電圧は、それぞれ、A、B、C、D、E、およびFレベル中の閾値電圧より高い。Erレベルは、消去状態のメモリセルトランジスタMTの閾値電圧の分布である。 Even a plurality of memory cell transistors MTs holding the same 3-bit data may have different threshold voltages due to variations in the characteristics of the memory cell transistors MT and the like. Therefore, the threshold voltages of the plurality of transistors MT holding the same data form one distribution. The distribution is referred to as Er, A, B, C, D, E, F, and G levels. The threshold voltage in the A level is higher than the threshold voltage in the Er level. Similarly, the threshold voltages in the B, C, D, E, F, and G levels are higher than the threshold voltages in the A, B, C, D, E, and F levels, respectively. The Er level is the distribution of the threshold voltage of the memory cell transistor MT in the erased state.

読み出し対象のメモリセルトランジスタMTによって保持されているデータの判別のために、当該メモリセルトランジスタMTの閾値電圧が属するレベルが判断される。レベルの判断のために、読み出し電圧VA、VB、VC、VD、VE、VF、およびVGが用いられる。以下、電圧VA、VB、VC、VD、VE、VF、およびVGを含め、レベルの判断ために読み出し対象のメモリセルトランジスタMTに印加されるある値の電圧は、読み出し電圧VCGRと称される場合がある。 In order to determine the data held by the memory cell transistor MT to be read, the level to which the threshold voltage of the memory cell transistor MT belongs is determined. Readout voltages VA, VB, VC, VD, VE, VF, and VG are used to determine the level. Hereinafter, the voltage of a certain value applied to the memory cell transistor MT to be read for level determination, including the voltages VA, VB, VC, VD, VE, VF, and VG, is referred to as a read voltage VCGR. There is.

読み出し対象のメモリセルトランジスタMTの閾値電圧がある読み出し電圧VCGRを超えているかが、このメモリセルトランジスタMTの閾値電圧が属するレベルの判定に用いられる。読み出し電圧VAは、ErレベルのメモリセルトランジスタMTが有する最高の閾値電圧より高く、BレベルのメモリセルトランジスタMTが有する最低の閾値電圧より低く、すなわちErレベルとAレベルとの間に位置する。同様に、読み出し電圧VB、VC、VD、VE、およびVFは、それぞれ、AレベルとBレベルの間、BレベルとCレベルの間、CレベルとDレベルの間、DレベルとEレベルの間、EレベルとFレベルの間、およびFレベルとGレベルの間に位置する。読み出し電圧VCGR以上の閾値電圧を有するメモリセルトランジスタMTは、制御ゲート電極において読み出し電圧VCGRを受け取ってもオフを維持する。一方、読み出し電圧VR未満の閾値電圧を有するメモリセルトランジスタMTは、制御ゲート電極において読み出し電圧VCGRを受け取っていると、オンしている。電圧VREADは、非読み出し対象のセルユニットCUのメモリセルトランジスタMTのワード線WLに印加され、いずれのレベルにあるメモリセルトランジスタMTの閾値電圧よりも高い。 Whether or not the threshold voltage of the memory cell transistor MT to be read exceeds a certain read voltage VCGR is used to determine the level to which the threshold voltage of the memory cell transistor MT belongs. The read voltage VA is higher than the highest threshold voltage of the Er level memory cell transistor MT and lower than the lowest threshold voltage of the B level memory cell transistor MT, that is, located between the Er level and the A level. Similarly, the read voltages VB, VC, VD, VE, and VF are between A and B levels, between B and C levels, between C and D levels, and between D and E levels, respectively. , E level and F level, and between F level and G level. The memory cell transistor MT having a threshold voltage equal to or higher than the read voltage VCGR keeps off even if the read voltage VCGR is received at the control gate electrode. On the other hand, the memory cell transistor MT having a threshold voltage lower than the read voltage VR is turned on when the read voltage VCGR is received at the control gate electrode. The voltage VREAD is applied to the word line WL of the memory cell transistor MT of the cell unit CU to be non-read, and is higher than the threshold voltage of the memory cell transistor MT at any level.

読み出し電圧VA、VB、VC、VD、VE、VF、およびVGは予め設定されており、より具体的には、読み出し電圧VA、VB、VC、VD、VE、VF、およびVGに対応する数値データ(DAC値)が予め設定されている。予め設定された数値データは、例えば25DAC、90DAC、140DAC、220DAC、300DAC、370DAC、420DACである。これらの数値データは、例えばメモリセルアレイ111のデータ領域に記憶されている。この数値データは、メモリチップ110のパワーオン時にメモリセルアレイ111から読み出され、例えば、レジスタ114bに転送される。メモリコントローラ200はメモリI/F250経由でこれらの数値データを取得し、保持してもよい。 Readout voltages VA, VB, VC, VF, VE, VF, and VG are preset, and more specifically, numerical data corresponding to readout voltages VA, VB, VC, VF, VE, VF, and VG. (DAC value) is set in advance. The preset numerical data is, for example, 25DAC, 90DAC, 140DAC, 220DAC, 300DAC, 370DAC, 420DAC. These numerical data are stored in, for example, the data area of the memory cell array 111. This numerical data is read from the memory cell array 111 when the memory chip 110 is powered on, and is transferred to, for example, the register 114b. The memory controller 200 may acquire and retain these numerical data via the memory I / F 250.

図9を用いて、メモリセルトランジスタMTの閾値電圧のシフトについて説明する。メモリセルトランジスタMTは、例えば書き込み後のプログラムディスターブ、及び読み出し後のリードディスターブの影響を受ける。この影響を受けると、メモリセルトランジスタMTの閾値電圧は、例えば図9に示すように負側にシフトする場合がある。 The shift of the threshold voltage of the memory cell transistor MT will be described with reference to FIG. The memory cell transistor MT is affected by, for example, a program disturb after writing and a read disturb after reading. Under this influence, the threshold voltage of the memory cell transistor MT may shift to the negative side, for example, as shown in FIG.

このとき、予め設定された読み出し電圧では、メモリセルトランジスタMTから正確にデータを読み出すことができなくなり、ビット誤り率が増加する場合がある。ここでビット誤り率は、読み出されたデータに含まれる誤りビットの割合を示している。 At this time, with the preset read voltage, data cannot be read accurately from the memory cell transistor MT, and the bit error rate may increase. Here, the bit error rate indicates the ratio of error bits contained in the read data.

そこで、メモリコントローラ200は、ビット誤り率が増加したページに対して、最適な読み出し電圧を特定するために、シフトリードやVthトラッキングを実行してもよい。 Therefore, the memory controller 200 may execute shift read or Vth tracking in order to specify the optimum read voltage for the page where the bit error rate has increased.

シフトリードは、メモリセルトランジスタMTの最適な読み出し電圧を探索するための読み出し動作であり、予め設定された読み出し電圧からシフトさせた電圧値を用いて行う読み出し動作である。 The shift read is a read operation for searching for the optimum read voltage of the memory cell transistor MT, and is a read operation performed by using a voltage value shifted from a preset read voltage.

シフトリードでは、読み出し電圧を一定量ずつ変化させ、各読み出し電圧を用いて不揮発性メモリ100からデータを読み出す。制御部220は、各閾値電圧分布に対応した予め設定された読み出し電圧を中心にした探索領域を設け、各読み出し電圧毎に不揮発性メモリ110に対して読み出し動作を実行する。そして、この探索領域内において、誤りビット数の最も少ない読み出し電圧に基づき、最適な読み出し電圧を決定する。 In the shift read, the read voltage is changed by a fixed amount, and data is read from the non-volatile memory 100 using each read voltage. The control unit 220 provides a search area centered on a preset read voltage corresponding to each threshold voltage distribution, and executes a read operation for the non-volatile memory 110 for each read voltage. Then, in this search region, the optimum read voltage is determined based on the read voltage having the smallest number of error bits.

Vthトラッキングも、メモリセルトランジスタMTの最適な読み出し電圧を探索するための不揮発性メモリ110に対する読み出し動作である。なお、メモリコントローラ200が実行するVthトラッキングは、第1のVthトラッキングとも称される。 Vth tracking is also a read operation for the non-volatile memory 110 for searching for the optimum read voltage of the memory cell transistor MT. The Vth tracking executed by the memory controller 200 is also referred to as a first Vth tracking.

第1のVthトラッキングでは、制御部220は、例えば、読み出し電圧範囲を所定の数に分け、各々の読み出し電圧を使用して読み出したデータを基にしてVth分布を求める。 In the first Vth tracking, the control unit 220 divides the read voltage range into predetermined numbers, for example, and obtains the Vth distribution based on the data read using each read voltage.

例えば、制御部220は、まず、ある読み出し電圧を所定のワード線に印加することによりデータを読み出し、読み出したデータに含まれる“1”の個数をカウントする。 For example, the control unit 220 first reads data by applying a certain read voltage to a predetermined word line, and counts the number of “1” contained in the read data.

例えば、制御部220は、次に、所定の電圧幅だけずらした読み出し電圧を当該所定のワード線に印加することによりデータを読み出し、読み出したデータに含まれる“1”の個数をカウントし、当該電圧幅をずらす前の読み出し電圧を使用したときにカウントされた“1”の個数との差分を求める。 For example, the control unit 220 then reads data by applying a read voltage shifted by a predetermined voltage width to the predetermined word line, counts the number of “1” contained in the read data, and counts the number of “1”. The difference from the number of "1" counted when the read voltage before shifting the voltage width is used is obtained.

例えば、制御部220は、この後、上記動作を所定回数繰り返すことで、横軸に読み出し電圧をプロットし縦軸に差分をプロットした場合に、図10に示すようなVth分布が得られる。なお、制御部220は、プロット後に所定のスムージング処理を行って図10に示すようなVth分布を得てもよい。 For example, the control unit 220 then repeats the above operation a predetermined number of times to obtain a Vth distribution as shown in FIG. 10 when the read voltage is plotted on the horizontal axis and the difference is plotted on the vertical axis. The control unit 220 may perform a predetermined smoothing process after plotting to obtain a Vth distribution as shown in FIG.

そして、例えば、制御部220は、図10に示すようなVth分布の谷、つまり、Vth分布において隣接する読み出し電圧でカウントされた“1”の個数の差分が最小となる読み出し電圧を求め、これをメモリセルトランジスタMTの最適な読み出し電圧として決定する。なお、メモリセルトランジスタMTは単にメモリセルとも称される。 Then, for example, the control unit 220 obtains a valley of the Vth distribution as shown in FIG. 10, that is, a read voltage that minimizes the difference between the numbers of "1" counted by the adjacent read voltages in the Vth distribution. Is determined as the optimum read voltage of the memory cell transistor MT. The memory cell transistor MT is also simply referred to as a memory cell.

次に、図11、図12を参照して、管理情報2201について説明する。管理情報2201は、さらに、第1パラメータ情報2202と、第2パラメータ情報2203と、を含んでよいが、これに限定されない。 Next, the management information 2201 will be described with reference to FIGS. 11 and 12. The management information 2201 may further include, but is not limited to, first parameter information 2202 and second parameter information 2203.

図11は、第1パラメータ情報2202の内容の一例を示す図である。図示するように、第1パラメータ情報2202は、ページの識別情報の一例であるページ番号に対し、各種の動作パラメータが対応付けられたテーブルである。動作パラメータは、例えば、そのページからデータを読み出す際に使用される読み出し電圧であるが、これに限られない。また、動作パラメータが読み出し電圧である場合、初期値として、予め設定された読み出し電圧値が設定されているが、制御部220は、例えば、シフトリードやVthトラッキングで決定された最適な読み出し電圧により動作パラメータを更新してもよい。また、制御部220は、予め設定された読み出し電圧値を読み出し電圧とは別に第1パラメータ情報2202に保存しておいてもよい。 FIG. 11 is a diagram showing an example of the contents of the first parameter information 2202. As shown in the figure, the first parameter information 2202 is a table in which various operation parameters are associated with a page number which is an example of page identification information. The operating parameter is, for example, a read voltage used when reading data from the page, but is not limited to this. When the operating parameter is the read voltage, a preset read voltage value is set as the initial value, but the control unit 220 uses, for example, an optimum read voltage determined by shift read or Vth tracking. The operating parameters may be updated. Further, the control unit 220 may store the preset read voltage value in the first parameter information 2202 separately from the read voltage.

図12は、第2パラメータ情報2203の内容の一例を示す図である。図示するように、第2パラメータ情報2203は、例えば、ページの識別情報の一例であるページ番号に対し、書き込み世代番号、書き込み時に温度センサ300から取得したメモリコントローラ220の温度などの温度情報、書き込みが行われてからの読み出し回数、消去回数、書き込み回数などのうち一部または全部を含む。 FIG. 12 is a diagram showing an example of the contents of the second parameter information 2203. As shown in the figure, the second parameter information 2203 includes, for example, a write generation number, temperature information such as the temperature of the memory controller 220 acquired from the temperature sensor 300 at the time of writing, and writing to the page number, which is an example of page identification information. Includes part or all of the number of reads, erases, writes, etc. since the process was performed.

第1パラメータ情報2202、第2パラメータ情報2203ともに、メモリチップ110ごと、ブロックごとに分類されたテーブルであってもよい。 Both the first parameter information 2202 and the second parameter information 2203 may be tables classified for each memory chip 110 and for each block.

書き込み世代番号は、データが書き込まれる順に関連する情報である。メモリシステム1は、あるブロックにデータを書き込み始めると、そのブロックの全てのページが書き込み済みとなるまで、そのブロックのページにデータを書き込むものとする。メモリシステム1は、例えば、あるブロックのページの書き込み順に書き込み世代番号「1」~「m」(mは2以上の自然数)を付与してもよいし、ブロックの各ページに共通して書き込み世代番号「m」を付与してもよい。 The write generation number is information related to the order in which the data is written. When the memory system 1 starts writing data to a block, the memory system 1 writes the data to the pages of the block until all the pages of the block have been written. For example, the memory system 1 may assign write generation numbers "1" to "m" (m is a natural number of 2 or more) in the writing order of the pages of a certain block, and the writing generation is common to each page of the block. The number "m" may be assigned.

そして、メモリシステム1は、例えば、別のブロックにデータを書き込む場合、当該別のブロックのページの書き込み順に書き込み世代番号「m+1」~「2m」を付与してもよいし、ブロックの各ページに共通して書き込み世代番号「2m」を付与してもよい。 Then, for example, when writing data to another block, the memory system 1 may assign write generation numbers "m + 1" to "2m" in the writing order of the pages of the other block, or each page of the block may be given a write generation number "m + 1" to "2m". The writing generation number "2m" may be assigned in common.

このように、書き込み世代番号は、書き込みが行われてからの経過時間が長くなる程、その値が小さくなる傾向を有する。書き込みの頻度は一様ではないため、書き込み世代番号の差が、そのまま経過時間の差に比例するものでは無いが、少なくとも書き込み世代番号が小さいページは、書き込み世代番号が大きいページに比して、書き込みからの経過時間が長いと言える。なお、書き込み世代番号に代えて、書き込みが行われてからの経過時間を保持するようにしてもよい。 As described above, the value of the writing generation number tends to become smaller as the elapsed time from the writing is increased. Since the frequency of writing is not uniform, the difference in write generation number is not directly proportional to the difference in elapsed time, but at least pages with a small write generation number are compared to pages with a large write generation number. It can be said that the elapsed time from writing is long. In addition, instead of the writing generation number, the elapsed time from the writing may be retained.

次に、第1の実施形態に係るメモリシステムの不揮発性メモリ100に格納されたデータに対するアクセス処理について説明する。 Next, the access process for the data stored in the non-volatile memory 100 of the memory system according to the first embodiment will be described.

第1の実施形態に係るメモリシステムでは、メモリシステム1がホスト装置2から読み出し要求、書き込み要求、データ消去要求、トリムコマンドのようなデータ削除要求等を受信した場合や、バックグラウンドでメモリコントローラ200が、ガベージコレクションや、リフレッシュや、ウェアレベリングや、パトロール処理等を実行する場合に、メモリコントローラ200は不揮発性メモリ100にアクセスする。 In the memory system according to the first embodiment, when the memory system 1 receives a read request, a write request, a data erase request, a data deletion request such as a trim command, or the like from the host device 2, the memory controller 200 is in the background. However, the memory controller 200 accesses the non-volatile memory 100 when performing garbage collection, refreshing, wear leveling, patrol processing, and the like.

ガベージコレクションは、コンパクションとも称される。不揮発性メモリ100は、データの消去単位とデータの読み書き単位が異なるため、不揮発性メモリ100の書き換えが進むと、無効データによって、ブロックが断片化され、このような断片化されたブロックが増えると、使用可能なブロックが少なくなる。ガベージコレクションは、使用可能なブロックを増加させるための処理で、例えば、有効データおよび無効データが含まれている複数のアクティブブロックから有効データを集めて、別のブロックに書き直し、フリーブロックを確保する処理を意味する。 Garbage collection is also known as compaction. Since the non-volatile memory 100 has a different data erasing unit and data read / write unit, as the rewriting of the non-volatile memory progresses, the blocks are fragmented by invalid data, and the number of such fragmented blocks increases. , Fewer blocks can be used. Garbage collection is a process for increasing the available blocks, for example, collecting valid data from multiple active blocks containing valid and invalid data, rewriting it into another block, and securing free blocks. Means processing.

アクティブブロックは、有効データが記録されているブロックを示す。フリーブロックは、有効データが記録されていないブロックを示す。フリーブロックは、消去した後、消去済みブロックとして再利用可能である。フリーブロックは、本実施形態では、有効データが記録されていない消去前のブロックと、消去済みブロックとの両方を含んでいる。有効データとは、論理アドレスと対応付けられているデータであり、無効データとは論理アドレスが対応付けられていないデータである。消去済みブロックは、データが書き込まれると、アクティブブロックとなる。 The active block indicates a block in which valid data is recorded. A free block indicates a block in which valid data is not recorded. Free blocks can be reused as erased blocks after being erased. In the present embodiment, the free block includes both the pre-erased block in which valid data is not recorded and the erased block. The valid data is the data associated with the logical address, and the invalid data is the data not associated with the logical address. The erased block becomes an active block when data is written.

リフレッシュは、あるブロック内のデータを別のブロックに書き直す処理である。メモリコントローラ200は、例えば、誤り訂正処理における訂正ビット数が増加する等のようにあるブロック内のデータの劣化を検出した場合に、当該ブロック内のデータを別のブロックに書き直すリフレッシュを実行する。 Refreshing is the process of rewriting the data in one block to another block. When the memory controller 200 detects deterioration of data in a certain block such as an increase in the number of correction bits in error correction processing, the memory controller 200 executes a refresh to rewrite the data in the block to another block.

ウェアレベリングは、例えば、書き換え回数や消去回数が多いブロックに記憶されているデータと、書き換え回数や消去回数の少ないブロックに記憶されているデータとを入れ替えることで、不揮発性メモリ100のブロックの書き換え回数を平準化する処理である。 Wear leveling rewrites a block of the non-volatile memory 100 by, for example, exchanging data stored in a block having a large number of rewrites or erasures with data stored in a block having a small number of rewrites or erasures. It is a process to level the number of times.

パトロール処理は、不揮発性メモリ100に記録済みのデータが媒体の劣化によって失われていないかをチェック、確認するための動作であり、ホスト装置1からの指示を受けることなくメモリシステム100が自主的に行う。 The patrol process is an operation for checking and confirming whether the data recorded in the non-volatile memory 100 is lost due to deterioration of the medium, and the memory system 100 voluntarily performs without receiving an instruction from the host device 1. To do.

パトロール処理は、エラーの増加したブロックを検出するために、例えば、不揮発性メモリ100に記憶されているデータを所定単位ずつ読み出し、当該読み出されたデータを復号回路242での誤り訂正結果に基づいてチェックする処理である。この実施形態では、所定単位は1セルユニットCUとするが、他の単位をパトロールリードの単位としてもよい。 In the patrol process, for example, in order to detect a block in which an error has increased, the data stored in the non-volatile memory 100 is read out in predetermined units, and the read data is read out based on the error correction result in the decoding circuit 242. It is a process to check. In this embodiment, the predetermined unit is one cell unit CU, but other units may be used as the patrol read unit.

このチェック処理では、例えば、読み出されたデータの誤りビット数を閾値と比較し、誤りビット数が閾値を越えたデータをリフレッシュの対象とする。例えば、制御部220は、あるセルユニットCUからの読み出しデータの誤りビット数が閾値を超えた場合に、そのセルユニットCUが含まれるブロック内のデータをリフレッシュの対象とする。つまり、制御部220は、誤りビット数が閾値を越えたセルユニットCUを含むブロックに記憶されているデータを、別のブロックに再記憶する。制御部220は、元のブロックに記憶されていたデータを無効化、つまり、元のブロックをフリーブロックとする。 In this check process, for example, the number of error bits of the read data is compared with the threshold value, and the data whose number of error bits exceeds the threshold value is targeted for refreshment. For example, when the number of error bits of the data read from a certain cell unit CU exceeds the threshold value, the control unit 220 refreshes the data in the block including the cell unit CU. That is, the control unit 220 re-stores the data stored in the block including the cell unit CU in which the number of error bits exceeds the threshold value in another block. The control unit 220 invalidates the data stored in the original block, that is, makes the original block a free block.

制御部220は、不揮発性メモリ100におけるアクティブブロックに対して、定期的にパトロール処理を実行する。制御部220は、全てのアクティブブロックに対するパトロール処理を、サイクルタイムTaの時間内に実行する。制御部220は、あるサイクルタイムTaの時間内に全てのアクティブブロックに対するパトロール処理を完了したら、続けてパトロール処理を行い、次のサイクルタイムTaの時間内に全てのアクティブブロックに対するパトロール処理を完了できるようにする。 The control unit 220 periodically executes a patrol process on the active block in the non-volatile memory 100. The control unit 220 executes patrol processing for all active blocks within the time of the cycle time Ta. When the control unit 220 completes the patrol processing for all active blocks within a certain cycle time Ta time, the control unit 220 can continuously perform the patrol processing and complete the patrol processing for all active blocks within the next cycle time Ta time. To do so.

サイクルタイムTaは、メモリシステム1がオンしている時間換算でカウントされ、例えば、10時間、100時間等の任意の時間単位で設定される。メモリシステム1が、パトロール処理実行中に、ホスト装置1から読み出し要求、書き込み要求等のコマンドを受信した場合、メモリコントローラ200は、ホスト装置1から受信したコマンドに対する処理をパトロール処理より優先させて実行する。 The cycle time Ta is counted in terms of time when the memory system 1 is on, and is set in any time unit such as 10 hours or 100 hours. When the memory system 1 receives a command such as a read request or a write request from the host device 1 while the patrol process is being executed, the memory controller 200 executes the process for the command received from the host device 1 in preference to the patrol process. do.

図13は、第1の実施形態に係るメモリシステムのパトロール処理のフローチャートである。図13のフローチャートでは、メモリコントローラ200が不揮発性メモリ100の所定のセルユニットCUをパトロールすることに決定した段階から説明を行う。 FIG. 13 is a flowchart of the patrol process of the memory system according to the first embodiment. In the flowchart of FIG. 13, the description will be made from the stage when the memory controller 200 decides to patrol the predetermined cell unit CU of the non-volatile memory 100.

本実施形態では、パトロール対象となるセルユニットCUを含むメモリチップ110がメモリチップ110-1であるとして説明する。 In the present embodiment, the memory chip 110 including the cell unit CU to be patrolled will be described as the memory chip 110-1.

制御部220は、メモリチップ110-1に対してパトロール対象のセルユニットCUに対するVthトラッキングをメモリI/F250経由で要求する(ステップ1301)。 The control unit 220 requests the memory chip 110-1 for Vth tracking for the cell unit CU to be patrolled via the memory I / F 250 (step 1301).

制御部220は、メモリチップ110-1に対してパトロール対象のセルユニットCUに対する読み出し電圧の最適値の探索を要求するために、メモリI/F250経由で、メモリチップ110-1に対してパトロール対象のセルユニットCUのVthトラッキングの実行を要求するコマンドを送信する。 The control unit 220 patrols the memory chip 110-1 via the memory I / F 250 in order to request the memory chip 110-1 to search for the optimum value of the read voltage for the cell unit CU to be patrol. Sends a command requesting the execution of Vth tracking of the cell unit CU of.

メモリチップ110-1は、メモリI/F250経由で制御部220から送信されたVthトラッキングの実行を要求するコマンドに対する応答として、Vthトラッキング結果(VD)をメモリI/F250経由で送信する。制御部220は、メモリチップ110-1から送信されたVthトラッキング結果(VD)をメモリI/F250経由で取得する。 The memory chip 110-1 transmits a Vth tracking result (VD) via the memory I / F 250 as a response to a command requesting execution of Vth tracking transmitted from the control unit 220 via the memory I / F 250. The control unit 220 acquires the Vth tracking result (VD) transmitted from the memory chip 110-1 via the memory I / F 250.

なお、このように、制御部220がメモリチップ110に対して所定のセルユニットCUのVthトラッキングの実行を要求し、メモリチップ110が所定のセルユニットCUのVthトラッキングを実行してメモリコントローラ200に対してVthトラッキング結果を出力し、制御部220がVthトラッキングの実行要求に対してメモリチップ110から出力されたVthトラッキング結果を取得することは、第2のVthトラッキングとも称される。 In this way, the control unit 220 requests the memory chip 110 to execute Vth tracking of the predetermined cell unit CU, and the memory chip 110 executes Vth tracking of the predetermined cell unit CU to the memory controller 200. On the other hand, outputting the Vth tracking result and acquiring the Vth tracking result output from the memory chip 110 in response to the Vth tracking execution request by the control unit 220 is also referred to as a second Vth tracking.

図14は、メモリチップ110に対してパトロール対象のセルユニットCUのVthトラッキングの実行を要求するために、メモリI/F250を経由してメモリコントローラ200からメモリチップ110へ送信される信号を示すコマンドシーケンスの例を示す。図14は、また、Vthトラッキングの要求に応答してメモリチップ110からメモリコントローラ200に流れる信号、および信号RY/BYnを示す。図14では、信号DQとして送信される信号と、メモリチップ110-1のレディ/ビジー状態を示すRY/BYn信号のみを示しており、その他の信号CEn、CLE、ALE、WEn、REn、WPn、DQS及びDQSnの図示を省略している。 FIG. 14 is a command showing a signal transmitted from the memory controller 200 to the memory chip 110 via the memory I / F 250 in order to request the memory chip 110 to execute Vth tracking of the cell unit CU to be patrol. An example of the sequence is shown. FIG. 14 also shows a signal flowing from the memory chip 110 to the memory controller 200 in response to a request for Vth tracking, and a signal RY / BYn. FIG. 14 shows only the signal transmitted as the signal DQ and the RY / BYn signal indicating the ready / busy state of the memory chip 110-1, and the other signals Cen, CLE, ALE, Wen, REN, WPn, The illustration of DQS and DQSn is omitted.

図14に示されるように、制御部220は、メモリI/F250経由で、コマンドXXhを送信する。コマンドXXhの送信の間、図示せぬ信号CLEがアサートされている。コマンドXXhは、例えばVthトラッキングの要求を指示するためのコマンドである。 As shown in FIG. 14, the control unit 220 transmits the command XXh via the memory I / F 250. During the transmission of command XXh, the signal CLE (not shown) is asserted. The command XXh is, for example, a command for instructing a request for Vth tracking.

制御部220は、メモリI/F250経由で、コマンドXXhに続いて、5サイクルに亘ってアドレス信号を送信する。アドレス信号は、不揮発性メモリ100の記憶領域のうちの、読み出し対象の領域を指定する。アドレス信号の送信の間、図示せぬ信号ALEがアサートされている。アドレス信号は、例えば第1および第2サイクルにおいてカラムアドレス信号CA(AD1およびAD2)を含む。カラムアドレス信号CAはカラムアドレスを含み、カラムアドレスは、指定されたページのうちの読み出し対象のカラムを指定する。アドレス信号は、例えば第3~第5サイクルにおいてロウアドレス信号RA(AD3~AD5)を含む。ロウアドレス信号RAは、ロウアドレス、すなわち選択ページを指定する。選択ページの記憶空間を提供するセルトランジスタMTを含んだセルユニットCUと接続されたワード線WLは、選択ワード線WLと称される。 The control unit 220 transmits an address signal over 5 cycles following the command XXh via the memory I / F 250. The address signal specifies an area to be read out of the storage area of the non-volatile memory 100. During the transmission of the address signal, the signal ALE (not shown) is asserted. The address signal includes, for example, the column address signals CA (AD1 and AD2) in the first and second cycles. The column address signal CA includes a column address, and the column address specifies the column to be read from the specified page. The address signal includes, for example, a low address signal RA (AD3 to AD5) in the third to fifth cycles. The row address signal RA specifies a row address, i.e., a selection page. The word line WL connected to the cell unit CU containing the cell transistor MT that provides the storage space for the selection page is referred to as the selection word line WL.

制御部220は、ロウアドレス信号RA(AD3~AD5)を送信した後、メモリI/F250経由で、メモリチップ110がVthトラッキングを実行するときの最小電圧値を指定する信号(DA1)を送信する。Vthトラッキングが開始されるときの最小電圧値は、例えば、DAC値で指定される。 After transmitting the row address signals RA (AD3 to AD5), the control unit 220 transmits a signal (DA1) that specifies the minimum voltage value when the memory chip 110 executes Vth tracking via the memory I / F 250. .. The minimum voltage value at which Vth tracking is started is specified by, for example, a DAC value.

メモリコントローラ200の制御部は、Vthトラッキングが実行されるときの最小電圧値を指定する信号(DA1)を送信した後、メモリI/F250経由で、メモリチップ110がVthトラッキングを実行する際に変化させる読み出し電圧を指定する信号(DA2)を送信する。変化させる読み出し電圧は、例えば、DAC値で指定される。 The control unit of the memory controller 200 changes when the memory chip 110 executes Vth tracking via the memory I / F 250 after transmitting a signal (DA1) that specifies the minimum voltage value when Vth tracking is executed. A signal (DA2) that specifies the read voltage to be generated is transmitted. The read voltage to be changed is specified by, for example, a DAC value.

メモリチップ110は、Vthトラッキングを実行する際に変化させる読み出し電圧を指定する信号(DA2)を受信すると、Vthトラッキングを実行する。メモリチップ110は、Vthトラッキングの実行の間、ビジー状態をメモリコントローラ200に通知する。 When the memory chip 110 receives a signal (DA2) that specifies a read voltage to be changed when executing Vth tracking, the memory chip 110 executes Vth tracking. The memory chip 110 notifies the memory controller 200 of the busy state during the execution of Vth tracking.

メモリチップ110は、メモリコントローラ200からメモリI/F250経由受信したカラムアドレス信号CA(AD1およびAD2)およびロウアドレス信号RA(AD3~AD5)で指定されたセルユニットCUに対して、メモリコントローラ200から受信した最小電圧値を指定する信号(DA1)と変化させる読み出し電圧を指定する信号(DA2)を使用してVthトラッキングを実行する。 The memory chip 110 receives from the memory controller 200 from the memory controller 200 with respect to the cell unit CU specified by the column address signals CA (AD1 and AD2) and the low address signals RA (AD3 to AD5) received from the memory controller 200 via the memory I / F250. Vth tracking is performed using the signal (DA1) that specifies the minimum received voltage value and the signal (DA2) that specifies the read voltage to be changed.

メモリチップ110は、第1のステップとして、Vthトラッキング対象のセルユニットCUの選択ワード線WLに対して最小電圧値に対応する読み出し電圧を印加することによりデータを読み出し、読み出したデータに含まれる“1”の個数をカウントする。 As a first step, the memory chip 110 reads data by applying a read voltage corresponding to the minimum voltage value to the selected word line WL of the cell unit CU to be Vth tracked, and is included in the read data. Count the number of 1 ”.

メモリチップ110は、第1のステップの後、第2のステップとして、選択ワード線WLに対して最小電圧値に対応する電圧に対して変化させる読み出し電圧に対応する電圧を加えた読み出し電圧を印加することによりデータを読み出し、読み出したデータに含まれる“1”の個数をカウントし、第1のステップにてカウントされた“1”の個数との差分を求める。 After the first step, the memory chip 110 applies a read voltage corresponding to the read voltage to be changed with respect to the voltage corresponding to the minimum voltage value to the selected word line WL as the second step. By doing so, the data is read, the number of "1" contained in the read data is counted, and the difference from the number of "1" counted in the first step is obtained.

メモリチップ110は、第2のステップの後、第3のステップとして、選択ワード線WLに対して第2のステップで使用した電圧に対して変化させる読み出し電圧に対応する電圧を加えた読み出し電圧を印加することによりデータを読み出し、読み出したデータに含まれる“1”の個数をカウントし、第2のステップにてカウントされた“1”の個数との差分を求める。 After the second step, the memory chip 110 adds a read voltage corresponding to the read voltage to be changed with respect to the voltage used in the second step to the selected word line WL as a third step. By applying the data, the data is read out, the number of "1" s included in the read data is counted, and the difference from the number of "1" s counted in the second step is obtained.

この後、メモリチップ110が上記第3のステップのような処理を所定回数繰り返すことで、横軸に読み出し電圧をプロットし縦軸に差分をプロットした場合に、図10と同様のグラフが得られる。なお、プロット後に所定のスムージング処理を行ってグラフ化してもよい。 After that, when the memory chip 110 repeats the process as in the third step a predetermined number of times to plot the read voltage on the horizontal axis and plot the difference on the vertical axis, the same graph as in FIG. 10 can be obtained. .. It should be noted that a predetermined smoothing process may be performed after plotting to form a graph.

メモリチップ110は、“1”の個数の差分が最小値となる読み出し電圧を最適な読み出し電圧として算出し、算出した最適な読み出し電圧をVthトラッキング結果(VD)とする。また、メモリチップ110は、グラフ化をした場合にグラフの底部(凹部)を見つけられない場合や複数個のグラフの底部を見つけられた場合には、最適な読み出し電圧を算出できなかったことを示す情報をVthトラッキング結果(VD)としてもよい。 The memory chip 110 calculates the read voltage at which the difference between the numbers of "1" is the minimum value as the optimum read voltage, and uses the calculated optimum read voltage as the Vth tracking result (VD). Further, the memory chip 110 could not calculate the optimum read voltage when the bottom (concave portion) of the graph could not be found or the bottom of a plurality of graphs could be found when graphing. The indicated information may be used as a Vth tracking result (VD).

また、メモリチップ110は、“1”の個数の差分の最小値が所定の個数よりも大きい場合には、最適な読み出し電圧を算出できなかったことを示す情報をVthトラッキング結果(VD)としてもよい。 Further, when the minimum value of the difference between the number of "1" is larger than the predetermined number, the memory chip 110 may use the information indicating that the optimum read voltage could not be calculated as the Vth tracking result (VD). good.

メモリコントローラ200は、図示せぬ信号REnを繰り返しアサートして、Vthトラッキング結果(VD)をメモリチップ110から出力させ、出力されたVthトラッキング結果(VD)メモリI/F250経由で取得する。 The memory controller 200 repeatedly asserts a signal REN (not shown), outputs a Vth tracking result (VD) from the memory chip 110, and acquires the output Vth tracking result (VD) via the memory I / F 250.

図14で説明したコマンドは、1つのメモリチップ110に対してのみ出力される。すなわち、例えば、メモリコントローラ200は、メモリI/F250経由で、メモリチップ110-1、・・・、メモリチップ110-Nそれぞれに対してVthトラッキング要求のコマンドを発行することにより、メモリコントローラ200はメモリチップ110-1、・・・、メモリチップ110-Nそれぞれに対して所定のセルユニットCUに対するVthトラッキングを要求できる。 The command described with reference to FIG. 14 is output to only one memory chip 110. That is, for example, the memory controller 200 issues a Vth tracking request command to each of the memory chips 110-1, ..., And the memory chips 110-N via the memory I / F 250, so that the memory controller 200 can be used. Vth tracking for a predetermined cell unit CU can be requested for each of the memory chips 110-1, ..., And the memory chips 110-N.

制御部220は、メモリI/F250経由でメモリチップ110-1から取得したVthトラッキング結果(VD)に基づいてメモリチップ110-1がVthトラッキングに成功したか、つまり、第2のVthトラッキングが成功したか、を判定する(ステップ1302)。 The control unit 220 has succeeded in Vth tracking of the memory chip 110-1 based on the Vth tracking result (VD) acquired from the memory chip 110-1 via the memory I / F 250, that is, the second Vth tracking has succeeded. It is determined whether or not it has been done (step 1302).

制御部220は、例えば、メモリチップ110-1から取得したVthトラッキング結果が、最適な読み出し電圧を算出できなかったことを示す情報では無い場合、メモリチップ110-1がVthトラッキングに成功した、と判定する。 The control unit 220 states that, for example, if the Vth tracking result acquired from the memory chip 110-1 is not information indicating that the optimum read voltage could not be calculated, the memory chip 110-1 succeeded in Vth tracking. judge.

制御部220は、メモリチップ110-1がVthトラッキングに成功したと判定する場合(ステップ1302:Yes)、メモリチップ110-1からVthトラッキング結果である最適な読み出し電圧を取得し、取得した読み出し電圧と予め定められた読み出し電圧との差分を求める(ステップ1303)。 When the control unit 220 determines that the memory chip 110-1 has succeeded in Vth tracking (step 1302: Yes), the control unit 220 acquires the optimum read voltage, which is the Vth tracking result, from the memory chip 110-1 and obtains the acquired read voltage. And the difference from the predetermined read voltage are obtained (step 1303).

メモリチップ110-1がメモリI/F250経由で送信するVthトラッキング結果である最適な読み出し電圧の情報は、V単位の電圧値であってもよく、DAC値のような所定の数値データであってもよい。 The information of the optimum read voltage, which is the Vth tracking result transmitted by the memory chip 110-1 via the memory I / F 250, may be a voltage value in V units, or may be predetermined numerical data such as a DAC value. May be good.

制御部220は、取得した読み出し電圧と予め定められた読み出し電圧との差分が所定の第1の値未満か判定し(ステップ1304)、所定の第1の値以上の場合(ステップ1304:No)、パトロール対象のセルユニットCUが含まれるブロックをリフレッシュする(ステップ1305)。 The control unit 220 determines whether the difference between the acquired read voltage and the predetermined read voltage is less than a predetermined first value (step 1304), and if it is equal to or more than a predetermined first value (step 1304: No). , Refresh the block containing the cell unit CU to be patrolled (step 1305).

制御部220は、メモリチップ110-1がVthトラッキングに成功したと判定しない場合(ステップ1302:No)、セルユニットCUに対して前述した第1のVthトラッキングまたは前述したシフトリードを行うことにより最適な読み出し電圧を取得する(ステップ1306)。 When the control unit 220 does not determine that the memory chip 110-1 has succeeded in Vth tracking (step 1302: No), the control unit 220 optimally performs the first Vth tracking described above or the shift read described above for the cell unit CU. Obtain a good read voltage (step 1306).

制御部220は、第1のVthトラッキングまたはシフトリードにより取得した最適な読み出し電圧と予め定められた読み出し電圧との差分を計算し(ステップ1307)、その差分が所定の第2の値未満か判定する(ステップ1308)。差分が所定の第2の値以上の場合(ステップ1308:No)、パトロール対象のセルユニットCUが含まれるブロックをリフレッシュする(ステップ1309)。なお、所定の第2の値は所定の第1の値と同じであってもよいし、異なる値であってもよい。 The control unit 220 calculates the difference between the optimum read voltage acquired by the first Vth tracking or shift read and the predetermined read voltage (step 1307), and determines whether the difference is less than a predetermined second value. (Step 1308). If the difference is greater than or equal to a predetermined second value (step 1308: No), the block containing the patrol target cell unit CU is refreshed (step 1309). The predetermined second value may be the same as or different from the predetermined first value.

なお、制御部220は、メモリコントローラ200が保持する読み出し電圧の情報、または、第1パラメータ情報2202の動作パラメータの情報、をステップ1306にて第1のVthトラッキングまたはシフトリードにより取得した読み出し電圧で更新してもよい。 The control unit 220 uses the read voltage acquired by the first Vth tracking or shift read in step 1306 for the read voltage information held by the memory controller 200 or the operation parameter information of the first parameter information 2202. You may update it.

図15は、第1の実施形態に係るメモリシステムのパトロール処理の第1の変形例のフローチャートである。図15のフローチャートにおいても、図13と同様に、メモリコントローラ200が不揮発性メモリ100の所定のセルユニットCUをパトロールすることに決定した段階から説明を行う。また、図15において、図13の構成と同一部分は同一符号で示す。 FIG. 15 is a flowchart of a first modification of the patrol processing of the memory system according to the first embodiment. Also in the flowchart of FIG. 15, the description will be made from the stage where the memory controller 200 decides to patrol the predetermined cell unit CU of the non-volatile memory 100, similarly to FIG. Further, in FIG. 15, the same parts as those in FIG. 13 are indicated by the same reference numerals.

制御部220は、第2のVthトラッキングにより取得した読み出し電圧と予め定められた読み出し電圧との差分が所定の第1の値未満か判定し(ステップ1304)、所定の第1の値以上の場合(ステップ1304:No)、第2のVthトラッキングにより取得した読み出し電圧を使用して、メモリI/F250経由で、セルユニットCUのデータを読み出す。(ステップ1501)。 The control unit 220 determines whether the difference between the read voltage acquired by the second Vth tracking and the predetermined read voltage is less than a predetermined first value (step 1304), and if it is equal to or more than a predetermined first value. (Step 1304: No), the read voltage acquired by the second Vth tracking is used to read the data of the cell unit CU via the memory I / F250. (Step 1501).

メモリコントローラ200は、読み出されたデータを復号する(ステップ1502)。制御部220は、読み出されたセルユニットCUのデータの復号を復号回路242に対して指示し、復号回路242は制御部220から指示されたデータを復号する。復号回路242は、復号結果を制御部220に対して出力する。すなわち、復号時に誤り訂正に成功した場合は復号されたデータを、復号時に誤り訂正に失敗した場合は誤り訂正失敗を制御部220に通知する。 The memory controller 200 decodes the read data (step 1502). The control unit 220 instructs the decoding circuit 242 to decode the read data of the cell unit CU, and the decoding circuit 242 decodes the data instructed by the control unit 220. The decoding circuit 242 outputs the decoding result to the control unit 220. That is, if the error correction is successful at the time of decoding, the decoded data is notified, and if the error correction fails at the time of decoding, the error correction failure is notified to the control unit 220.

制御部220は、復号回路242による読み出されたセルユニットCUのデータの復号において検出された誤りビット数が所定の第1のビット数未満か判定し(ステップ1503)、所定の第1のビット数以上の場合(ステップ1503:No)、パトロール対象のセルユニットCUが含まれるブロックをリフレッシュする(ステップ1504)。 The control unit 220 determines whether the number of error bits detected in decoding the data of the cell unit CU read by the decoding circuit 242 is less than the predetermined number of first bits (step 1503), and determines whether the number of error bits is less than the predetermined number of first bits (step 1503). If the number is greater than or equal to the number (step 1503: No), the block containing the cell unit CU to be patrolled is refreshed (step 1504).

図16は、第1の実施形態に係るメモリシステムのパトロール処理の第2の変形例のフローチャートである。図16のフローチャートにおいても、図13と同様に、メモリコントローラ200が不揮発性メモリ100の所定のセルユニットCUをパトロールすることに決定した段階から説明を行う。また、図16において、図13、図15の構成と同一部分は同一符号で示す。 FIG. 16 is a flowchart of a second modification of the patrol processing of the memory system according to the first embodiment. Also in the flowchart of FIG. 16, the description will be made from the stage where the memory controller 200 decides to patrol the predetermined cell unit CU of the non-volatile memory 100, similarly to FIG. Further, in FIG. 16, the same parts as those of FIGS. 13 and 15 are indicated by the same reference numerals.

制御部220は、メモリチップ110-1がVthトラッキングに成功しないと判定した場合(ステップ1302:No)にメモリコントローラ200が保持する読み出し電圧を使用して、メモリI/F250経由で、セルユニットCUのデータを読み出し(ステップ1601)、読み出したデータを復号する(ステップ1602)。制御部220は、読み出されたセルユニットCUのデータの復号を復号回路242に対して指示し、復号回路242は制御部220から指示されたデータを復号する。復号回路242は、復号結果を制御部220に対して出力する。すなわち、復号時に誤り訂正に成功した場合は復号されたデータを、復号時に誤り訂正に失敗した場合は誤り訂正失敗を制御部220に通知する。 The control unit 220 uses the read voltage held by the memory controller 200 when it is determined that the memory chip 110-1 does not succeed in Vth tracking (step 1302: No), and the cell unit CU is used via the memory I / F 250. Data is read (step 1601), and the read data is decoded (step 1602). The control unit 220 instructs the decoding circuit 242 to decode the read data of the cell unit CU, and the decoding circuit 242 decodes the data instructed by the control unit 220. The decoding circuit 242 outputs the decoding result to the control unit 220. That is, if the error correction is successful at the time of decoding, the decoded data is notified, and if the error correction fails at the time of decoding, the error correction failure is notified to the control unit 220.

制御部220は、復号回路242による読み出されたセルユニットCUのデータの復号において検出された誤りビット数が所定の第2のビット数未満か判定し(ステップ1603)、所定の第2のビット数以上の場合(ステップ1603:No)、セルユニットCUに対して、第1のVthトラッキングまたはシフトリードにより最適な読み出し電圧を取得する(ステップ1306)。制御部220は、取得した読み出し電圧とメモリコントローラ200が保持する読み出し電圧との差分を計算し(ステップ1307)、その差分が所定の第2の値未満か判定する(ステップ1308)。差分が所定の第2の値以上の場合(ステップ1308:No)、制御部220は、パトロール対象のセルユニットCUが含まれるブロックをリフレッシュする(ステップ1309)。 The control unit 220 determines whether the number of error bits detected in decoding the data of the cell unit CU read by the decoding circuit 242 is less than the predetermined number of second bits (step 1603), and determines whether the number of error bits is less than the predetermined number of second bits (step 1603). In the case of a number or more (step 1603: No), the optimum read voltage is acquired for the cell unit CU by the first Vth tracking or shift read (step 1306). The control unit 220 calculates the difference between the acquired read voltage and the read voltage held by the memory controller 200 (step 1307), and determines whether the difference is less than a predetermined second value (step 1308). When the difference is equal to or greater than a predetermined second value (step 1308: No), the control unit 220 refreshes the block including the cell unit CU to be patroled (step 1309).

上述した第1の実施形態によれば、メモリコントローラ200は、パトロール処理の際、第2のVthトラッキングにより取得した読み出し電圧と予め定められた読み出し電圧との差分に基づいてリフレッシュするかを決定する。 According to the first embodiment described above, the memory controller 200 determines whether to refresh based on the difference between the read voltage acquired by the second Vth tracking and the predetermined read voltage during the patrol process. ..

このため、第1の実施形態に係るメモリシステムでは、メモリコントローラ200は、第1のVthトラッキングやシフトリードをすること無く、メモリチップ110により実行される第2のVthトラッキングの結果を使用してパトロール処理を行うことができるため、メモリコントローラ200の処理負荷を減らすことができる。 Therefore, in the memory system according to the first embodiment, the memory controller 200 uses the result of the second Vth tracking executed by the memory chip 110 without performing the first Vth tracking or shift reading. Since the patrol process can be performed, the processing load of the memory controller 200 can be reduced.

また、第1の実施形態に係るメモリシステムでは、誤り訂正処理を実行すること無くリフレッシュするかを決定するため、パトロール処理の際のメモリコントローラ200の処理負荷を減らすことができる。メモリコントローラ200の処理負荷が減ることにより、メモリシステム1の性能が向上する。第1の実施形態に係るメモリシステムでは、パトロール処理の際のメモリコントローラ200の処理負荷が減ることにより、パトロール処理にかかる時間を短くでき、メモリコントローラ200の消費電力も減らすことができ、より短時間かつ低消費電力でパトロール処理を実行できる。 Further, in the memory system according to the first embodiment, since it is determined whether to refresh without executing the error correction processing, the processing load of the memory controller 200 at the time of the patrol processing can be reduced. By reducing the processing load of the memory controller 200, the performance of the memory system 1 is improved. In the memory system according to the first embodiment, the processing load of the memory controller 200 during the patrol processing is reduced, so that the time required for the patrol processing can be shortened, the power consumption of the memory controller 200 can also be reduced, and the time is shorter. Patrol processing can be executed in a short time and with low power consumption.

また、第1の実施形態によれば、メモリコントローラ200は、第2のVthトラッキングにより最適な読み出し電圧を取得できない場合には、メモリコントローラ200が第1のVthトラッキングやシフトリードにより取得した読み出し電圧と予め定められた読み出し電圧との差分に基づいてリフレッシュするかを決定する。この場合も、メモリコントローラ200は、誤り訂正処理を実行すること無くリフレッシュするかを決定するため、パトロール処理の際のメモリコントローラ200の処理負荷を減らすことができ、より短時間かつ低消費電力でパトロール処理を実行できる。 Further, according to the first embodiment, when the memory controller 200 cannot acquire the optimum read voltage by the second Vth tracking, the read voltage acquired by the memory controller 200 by the first Vth tracking or the shift read. Determines whether to refresh based on the difference between the voltage and the predetermined read voltage. Also in this case, since the memory controller 200 determines whether to refresh without executing the error correction processing, the processing load of the memory controller 200 during the patrol processing can be reduced, and the processing load of the memory controller 200 can be reduced in a shorter time and with lower power consumption. Patrol processing can be executed.

(第2の実施形態)
図17は、第2の実施形態に係るメモリシステムのホスト装置2からの読み出し要求に対する不揮発性メモリ100からのデータの読み出し処理のフローチャートである。図17において、図13の構成と同一部分は同一符号で示す。尚、本実施形態の説明において、第1実施形態と同様の構成および動作については、重複する説明を省略する。また、本実施形態におけるメモリシステム1の外観及び構成等は、図1乃至図12と同様とする。
(Second embodiment)
FIG. 17 is a flowchart of data read processing from the non-volatile memory 100 in response to a read request from the host device 2 of the memory system according to the second embodiment. In FIG. 17, the same parts as those in FIG. 13 are indicated by the same reference numerals. In the description of the present embodiment, duplicate description will be omitted for the same configuration and operation as those of the first embodiment. Further, the appearance, configuration, and the like of the memory system 1 in the present embodiment are the same as those in FIGS. 1 to 12.

図17のフローチャートは、ホスト装置2から読み出し要求を受け、要求のあったデータを不揮発性メモリ100から読み出し、読み出し結果をホスト装置2へ送信する処理を示している。 The flowchart of FIG. 17 shows a process of receiving a read request from the host device 2, reading the requested data from the non-volatile memory 100, and transmitting the read result to the host device 2.

ホスト装置2からの読み出し要求では、ホスト装置2がメモリシステム1に対して読み出したいデータの量やデータの読み出し位置を示したアドレス情報等が指定されている。メモリシステム1は、読み出し要求の受信が可能か否かを判断し、読み出し要求の受信が可能である場合に、ホスト装置2から読み出し要求を受信してもよい。図17のフローチャートではこの過程を省略し、読み出し要求の受信が可能であるとして、メモリシステム1のメモリコントローラ200がホスト装置2からホストI/F210経由で読み出し要求を受信した段階から説明を行う。 In the read request from the host device 2, the amount of data that the host device 2 wants to read from the memory system 1 and the address information indicating the data read position are specified. The memory system 1 may determine whether or not the read request can be received, and may receive the read request from the host device 2 when the read request can be received. In the flowchart of FIG. 17, this process is omitted, and it is assumed that the read request can be received, and the description will be made from the stage where the memory controller 200 of the memory system 1 receives the read request from the host device 2 via the host I / F 210.

メモリコントローラ200がホスト装置300から読み出しの指示を受け取ると、図17のフローが開始する。メモリコントローラ200は、ホストI/F210経由でホスト装置2から読み出し要求を受ける(ステップ1701)と、制御部220は、読み出し要求の対象となるデータの格納場所を特定するためにアドレス変換テーブルを使用して読み出し要求で指定されたアドレスである論理アドレスを物理アドレスに変換し、ホスト装置2からの読み出し要求を処理するためにどのメモリチップ110のどの物理アドレスへアクセスすればよいかを解決する(ステップ1702)。 When the memory controller 200 receives a read instruction from the host device 300, the flow of FIG. 17 starts. When the memory controller 200 receives a read request from the host device 2 via the host I / F 210 (step 1701), the control unit 220 uses the address conversion table to specify the storage location of the data subject to the read request. Then, the logical address, which is the address specified in the read request, is converted into a physical address, and which physical address of which memory chip 110 should be accessed in order to process the read request from the host device 2 is solved (). Step 1702).

本実施形態では、ホスト装置2からの読み出し要求で指定された論理アドレスに対するアクセス先のメモリチップ110がメモリチップ110-1であるとして説明する。 In the present embodiment, the memory chip 110 of the access destination to the logical address specified by the read request from the host device 2 will be described as the memory chip 110-1.

制御部220は、メモリチップ110-1からのデータ読み出しをメモリI/F250へ指示し、メモリI/F250経由でメモリチップ110-1からデータを読み出す(ステップ1703)。 The control unit 220 instructs the memory I / F 250 to read the data from the memory chip 110-1, and reads the data from the memory chip 110-1 via the memory I / F 250 (step 1703).

ここでの読み出しは、通常の読み出しであり、メモリコントローラ200は、第1パラメータ情報2202の動作パラメータを使用してメモリI/F250経由で、メモリチップ110-1からデータを読み出す。メモリチップ110-1は、入出力回路112にて読み出し指示を受け取ると、シーケンサ114が、電圧生成回路115、ドライバ116、センスアンプ117、カラムデコーダ118、およびロウデコーダ120を制御して、読み出し指示にて指定されたページからデータを読み出し、読み出されたデータは、入出力回路112によりメモリI/F250へ出力される。メモリコントローラ200は、メモリI/F250経由で読み出されたデータを受け取る。 The read here is a normal read, and the memory controller 200 reads data from the memory chip 110-1 via the memory I / F 250 using the operation parameter of the first parameter information 2202. When the memory chip 110-1 receives a read instruction in the input / output circuit 112, the sequencer 114 controls the voltage generation circuit 115, the driver 116, the sense amplifier 117, the column decoder 118, and the row decoder 120 to give a read instruction. Data is read from the page specified in the above, and the read data is output to the memory I / F 250 by the input / output circuit 112. The memory controller 200 receives the data read via the memory I / F 250.

次に、メモリコントローラ200は、メモリチップ110-1から読み出したデータを復号する(ステップ1704)。制御部220は、メモリチップ110-1からデータを読み出したデータの復号を復号回路242に対して指示し、復号回路242は制御部220から指示されたデータを復号する。復号回路242は、復号結果を制御部220に対して出力する。すなわち、復号時に誤り訂正に成功した場合は復号されたデータを、復号時に誤り訂正に失敗した場合は誤り訂正失敗を制御部220に通知する。 Next, the memory controller 200 decodes the data read from the memory chip 110-1 (step 1704). The control unit 220 instructs the decoding circuit 242 to decode the data read from the memory chip 110-1, and the decoding circuit 242 decodes the data instructed by the control unit 220. The decoding circuit 242 outputs the decoding result to the control unit 220. That is, if the error correction is successful at the time of decoding, the decoded data is notified, and if the error correction fails at the time of decoding, the error correction failure is notified to the control unit 220.

その後、制御部220は、誤り訂正に成功の場合(ステップ1705:Yes)、復号されたデータであるユーザデータをホストI/F210経由でホスト装置2へ送信する(ステップ1706)。 After that, if the error correction is successful (step 1705: Yes), the control unit 220 transmits the user data, which is the decoded data, to the host device 2 via the host I / F 210 (step 1706).

制御部220は、誤り訂正に成功しなかった場合(ステップ1705:No)、第2のVthトラッキングを実行する。すなわち、制御部220は、誤り訂正に成功しなかった場合(ステップ1705:No)、メモリチップ110-1からパトロール対象のセルユニットCUに対するVthトラッキング結果(VD)をメモリI/F250経由で取得する(ステップ1707)。ステップ1707での処理は、第1実施形態におけるVthトラッキングのメモリチップ110-1への要求および当該要求に対するメモリチップ110-1からのVthトラッキング結果(VD)の取得(ステップ1301)と同じである。 If the error correction is not successful (step 1705: No), the control unit 220 executes the second Vth tracking. That is, when the error correction is not successful (step 1705: No), the control unit 220 acquires the Vth tracking result (VD) for the cell unit CU to be patrol from the memory chip 110-1 via the memory I / F250. (Step 1707). The process in step 1707 is the same as the request for Vth tracking to the memory chip 110-1 and the acquisition of the Vth tracking result (VD) from the memory chip 110-1 for the request (step 1301) in the first embodiment. ..

制御部220は、メモリI/F250経由でメモリチップ110-1から取得したVthトラッキング結果(VD)に基づいて、メモリチップ110-1がVthトラッキングに成功したか、つまり、第2のVthトラッキングが成功したか、を判定する(ステップ1708)。ステップ1707での処理は、第1実施形態での、メモリチップ110-1がVthトラッキングに成功したか、つまり、第2のVthトラッキングが成功したか、の判定処理(ステップ1302)と同じである。 The control unit 220 determines whether the memory chip 110-1 succeeds in Vth tracking based on the Vth tracking result (VD) acquired from the memory chip 110-1 via the memory I / F 250, that is, the second Vth tracking is performed. It is determined whether it was successful (step 1708). The process in step 1707 is the same as the process for determining whether the memory chip 110-1 succeeded in Vth tracking, that is, whether the second Vth tracking was successful (step 1302) in the first embodiment. ..

制御部220は、メモリチップ110-1がVthトラッキングに成功したと判定する場合(ステップ1708:Yes)、メモリチップ110-1から出力されたVthトラッキング結果から読み出し電圧を取得し、取得した読み出し電圧を使用してメモリチップ110-1からデータを読み出す(ステップ1709)。 When the control unit 220 determines that the memory chip 110-1 has succeeded in Vth tracking (step 1708: Yes), the control unit 220 acquires a read voltage from the Vth tracking result output from the memory chip 110-1, and obtains the read voltage. Is used to read data from the memory chip 110-1 (step 1709).

次に、メモリコントローラ200は、ステップ1709にてメモリチップ110-1から読み出したデータを復号する(ステップ1710)。制御部220は、ステップ1709にてメモリチップ110-1からデータを読み出したデータの復号を復号回路242に対して指示し、復号回路242は制御部220から指示されたデータを復号する。復号回路242は、復号結果を制御部220に対して出力する。すなわち、復号時に誤り訂正に成功した場合は復号されたデータを、復号時に誤り訂正に失敗した場合は誤り訂正失敗を制御部220に通知する。 Next, the memory controller 200 decodes the data read from the memory chip 110-1 in step 1709 (step 1710). The control unit 220 instructs the decoding circuit 242 to decode the data read from the memory chip 110-1 in step 1709, and the decoding circuit 242 decodes the data instructed by the control unit 220. The decoding circuit 242 outputs the decoding result to the control unit 220. That is, if the error correction is successful at the time of decoding, the decoded data is notified, and if the error correction fails at the time of decoding, the error correction failure is notified to the control unit 220.

その後、制御部220は、誤り訂正に成功の場合(ステップ1711:Yes)、復号されたデータであるユーザデータをホストI/F210経由でホスト装置2へ送信する(ステップ1706)。 After that, if the error correction is successful (step 1711: Yes), the control unit 220 transmits the user data, which is the decoded data, to the host device 2 via the host I / F 210 (step 1706).

制御部220は、誤り訂正に成功しなかった場合(ステップ1711:No)、第1のVthトラッキングを実行する(ステップ1712)。 If the error correction is not successful (step 1711: No), the control unit 220 executes the first Vth tracking (step 1712).

制御部220は、第1のVthトラッキングで得られた読み出し電圧を使用して、メモリチップ110-1からのデータ読み出しをメモリI/F250へ指示し、メモリI/F250経由でメモリチップ110-1からデータを読み出す(ステップ1713)。 The control unit 220 uses the read voltage obtained in the first Vth tracking to instruct the memory I / F 250 to read data from the memory chip 110-1, and the memory chip 110-1 via the memory I / F 250. Read data from (step 1713).

次に、メモリコントローラ200は、メモリチップ110-1から読み出したデータを復号する(ステップ1714)。制御部220は、メモリチップ110-1からデータを読み出したデータの復号を復号回路242に対して指示し、復号回路242は制御部220から指示されたデータを復号する。復号回路242は、復号結果を制御部220に対して出力する。すなわち、復号時に誤り訂正に成功した場合は復号されたデータを、復号時に誤り訂正に失敗した場合は誤り訂正失敗を制御部220に通知する。 Next, the memory controller 200 decodes the data read from the memory chip 110-1 (step 1714). The control unit 220 instructs the decoding circuit 242 to decode the data read from the memory chip 110-1, and the decoding circuit 242 decodes the data instructed by the control unit 220. The decoding circuit 242 outputs the decoding result to the control unit 220. That is, if the error correction is successful at the time of decoding, the decoded data is notified, and if the error correction fails at the time of decoding, the error correction failure is notified to the control unit 220.

その後、制御部220は、誤り訂正に成功の場合は復号されたデータであるユーザデータを、復号回路242から誤り訂正失敗が通知された場合は読み出しエラーを、ホストI/F210経由でホスト装置2へ送信する(ステップ1706)。 After that, the control unit 220 reads the user data, which is the decoded data, when the error correction is successful, and reads the error when the decoding circuit 242 notifies the error correction failure, via the host I / F 210. (Step 1706).

本実施形態に係るメモリシステムでは、制御部220が、ステップ1712およびステップ1713の処理にて、第1のVthトラッキングを実行し、第1のVthトラッキングで得られた読み出し電圧を使用してメモリチップ110-1からデータを読み出しているが、代わりに、シフトリードを使用してメモリチップ110-1からデータを読み出すようにしてもよい。 In the memory system according to the present embodiment, the control unit 220 executes the first Vth tracking in the processes of steps 1712 and 1713, and uses the read voltage obtained in the first Vth tracking to use the memory chip. Although the data is read from 110-1, the shift read may be used instead to read the data from the memory chip 110-1.

上述した第2の実施形態によれば、メモリコントローラ200は、まず通常の読み出しを行い、通常の読み出しで得られたデータの誤り訂正に成功しなかった場合、第2のVthトラッキングを実行し、第2のVthトラッキングで取得した読み出し電圧を使用してメモリチップ110からデータを読み出す。 According to the second embodiment described above, the memory controller 200 first performs a normal read, and if the error correction of the data obtained by the normal read is not successful, the memory controller 200 executes the second Vth tracking. Data is read from the memory chip 110 using the read voltage acquired by the second Vth tracking.

このため、第2の実施形態では、メモリコントローラ200が通常の読み出しで得られたデータの誤り訂正が成功しなかった場合に、メモリコントローラ200が第1のVthトラッキングやシフトリードをすること無く、メモリチップ110により実行されたVthトラッキングによる結果を使用してデータ読み出しを行うことができ、メモリコントローラ200の処理負荷を減らすことができ、その結果メモリシステム1の性能が向上する。読み出し処理におけるメモリコントローラ200の処理負荷が減ることにより、メモリコントローラ200の消費電力も減らすことができ、より低消費電力で読み出し処理を実行できる。すなわち、第2の実施形態によれば、より少ない処理で、高い精度の読み出しを実現でき、低消費電力を図ることができる。 Therefore, in the second embodiment, when the memory controller 200 does not succeed in correcting the error of the data obtained by the normal read, the memory controller 200 does not perform the first Vth tracking or shift read. Data can be read using the result of Vth tracking executed by the memory chip 110, the processing load of the memory controller 200 can be reduced, and as a result, the performance of the memory system 1 is improved. By reducing the processing load of the memory controller 200 in the read process, the power consumption of the memory controller 200 can also be reduced, and the read process can be executed with lower power consumption. That is, according to the second embodiment, high-precision readout can be realized with less processing, and low power consumption can be achieved.

(第3の実施形態)
図18は、第3の実施形態に係るメモリシステムのパトロール処理のフローチャートである。図18において、図13の構成と同一部分は同一符号で示す。尚、本実施形態の説明において、第1実施形態と同様の構成および動作については、重複する説明を省略する。また、本実施形態におけるメモリシステム1の外観及び構成等は、図1乃至図12と同様とする。
(Third embodiment)
FIG. 18 is a flowchart of the patrol process of the memory system according to the third embodiment. In FIG. 18, the same parts as those in FIG. 13 are indicated by the same reference numerals. In the description of the present embodiment, duplicate description will be omitted for the same configuration and operation as those of the first embodiment. Further, the appearance, configuration, and the like of the memory system 1 in the present embodiment are the same as those in FIGS. 1 to 12.

図18のフローチャートでは、図13のフローチャートと同様に、メモリコントローラ200が不揮発性メモリ100の所定のセルユニットCUをパトロールすることに決定した段階から説明を行う。 In the flowchart of FIG. 18, the description will be made from the stage when the memory controller 200 decides to patrol the predetermined cell unit CU of the non-volatile memory 100, as in the flowchart of FIG.

本実施形態では、パトロール対象となるセルユニットCUを含むメモリチップ110がメモリチップ110-1であるとして説明する。 In the present embodiment, the memory chip 110 including the cell unit CU to be patrolled will be described as the memory chip 110-1.

第3の実施形態に係るメモリシステムが、第1の実施形態に係るメモリシステムと異なる点は、メモリコントローラ200が、アクセス先のセルユニットCUの消耗度が所定の消耗度以上の場合は、第2のVthトラッキングを実行させず、第1のVthトラッキングまたはシフトリードにより読み出し電圧を特定することにある。 The difference between the memory system according to the third embodiment and the memory system according to the first embodiment is that when the memory controller 200 consumes more than a predetermined degree of consumption of the cell unit CU of the access destination, the second embodiment is used. The purpose is to specify the read voltage by the first Vth tracking or shift read without executing the second Vth tracking.

制御部220は、メモリチップ110-1からパトロール対象のセルユニットCUに対する消耗度を算出し(ステップ1801)、算出された消耗度が所定の消耗度より小さいか判定する(ステップ1802)。 The control unit 220 calculates the degree of wear for the cell unit CU to be patrol from the memory chip 110-1 (step 1801), and determines whether the calculated degree of wear is smaller than the predetermined degree of wear (step 1802).

制御部220が消耗度を算出するにあたり、消耗度は、アクセス先のセルユニットCUの読み出し回数、書き込み回数、書き込み世代番号、アクセス先のセルユニットCUが含まれる消去回数等であってもよいし、これらを組み合わせた演算式により算出されてもよい。 When the control unit 220 calculates the degree of wear, the degree of wear may be the number of reads, the number of writes, the write generation number, the number of erases including the access destination cell unit CU, and the like. , These may be calculated by a calculation formula combining these.

制御部220は、第2パラメータ情報2203を参照することにより、アクセス先のセルユニットCUの読み出し回数、書き込み回数、書き込み世代番号、アクセス先のセルユニットCUが含まれる消去回数等を取得することができる。 By referring to the second parameter information 2203, the control unit 220 can acquire the read count, the write count, the write generation number, the erase count including the access destination cell unit CU, and the like. can.

制御部220は、例えば、アクセス先のセルユニットCUの読み出し回数が所定の読み出し回数より小さい場合や、アクセス先のセルユニットCUの書き込み回数が所定の読み出し回数より小さい場合や、アクセス先のセルユニットCUの書き込み世代番号が所定の番号より小さい場合や、アクセス先のセルユニットCUが含まれる消去回数が所定の消去回数より小さい場合に、算出された消耗度が所定の消耗度より小さいと判定するが、判定の方法はこれに限定されない。制御部220は、消耗度を演算式で算出し、算出された消耗度と所定の消耗度と比較することにより判定してもよい。 The control unit 220 may, for example, have an access-destination cell unit CU read less than a predetermined read count, an access-destination cell unit CU write a write count less than a predetermined read count, or an access-destination cell unit. When the write generation number of the CU is smaller than the predetermined number, or when the number of erasures including the cell unit CU of the access destination is smaller than the predetermined number of erasures, it is determined that the calculated consumption degree is smaller than the predetermined consumption degree. However, the determination method is not limited to this. The control unit 220 may determine the degree of wear by calculating the degree of wear by an arithmetic expression and comparing the calculated degree of wear with a predetermined degree of wear.

また、制御部220は、アクセス先のセルユニットCUの読み出し回数、書き込み回数、アクセス先のセルユニットCUが含まれる消去回数以外のデータを使用してアクセス先のセルユニットCUの消耗度を判断してもよい。制御部220は、例えば、アクセス先であるメモリチップ110-1に含まれるブロック全ての消去回数を合計した値でアクセス先のセルユニットCUの消耗度を算出し、算出された消耗度と所定の消耗度と比較することによりステップ1802の判定を実行してもよい。 Further, the control unit 220 determines the degree of wear of the access destination cell unit CU by using data other than the number of reads, the number of writes, and the number of erases including the access destination cell unit CU. You may. The control unit 220 calculates, for example, the consumption degree of the cell unit CU of the access destination by the total number of erasures of all the blocks included in the memory chip 110-1 which is the access destination, and the calculated consumption degree and a predetermined value. The determination in step 1802 may be performed by comparing with the degree of wear.

制御部220は、算出された消耗度が所定の消耗度より小さいと判定する場合(ステップ1802:Yes)、メモリチップ110-1からパトロール対象のセルユニットCUに対するVthトラッキング結果(VD)をメモリI/F250経由で取得し(ステップ1301)、以降は、第1の実施形態に係るメモリシステムと同様の処理を実行する。 When the control unit 220 determines that the calculated degree of wear is smaller than the predetermined degree of wear (step 1802: Yes), the control unit 220 stores the Vth tracking result (VD) from the memory chip 110-1 to the cell unit CU to be patroled in the memory I. It is acquired via / F250 (step 1301), and thereafter, the same processing as that of the memory system according to the first embodiment is executed.

制御部220は、算出された消耗度が所定の消耗度以上と判定する場合(ステップ1802:No)、パトロール対象のセルユニットCUに対して第1のVthトラッキングまたはシフトリードを行うことにより最適な読み出し電圧を取得し(ステップ1306)、第1のVthトラッキングまたはシフトリードにより取得した読み出し電圧と予め定められた読み出し電圧との差分を計算し(ステップ1307)、その差分が所定の第2の値未満か判定し(ステップ1308)、差分が所定の第2の値以上の場合(ステップ1308:No)はパトロール対象のセルユニットCUが含まれるブロックをリフレッシュする(ステップ1309)。 When the control unit 220 determines that the calculated degree of wear is equal to or higher than the predetermined degree of wear (step 1802: No), the control unit 220 optimally performs the first Vth tracking or shift read on the cell unit CU to be patrolled. The read voltage is acquired (step 1306), the difference between the read voltage acquired by the first Vth tracking or shift read and the predetermined read voltage is calculated (step 1307), and the difference is a predetermined second value. It is determined whether it is less than (step 1308), and if the difference is equal to or greater than a predetermined second value (step 1308: No), the block containing the cell unit CU to be patrol is refreshed (step 1309).

なお、本実施形態におけるメモリシステムのメモリコントローラ200では、算出された消耗度が所定の消耗度以上と判定する場合(ステップ1802:No)、または、メモリチップ110-1がVthトラッキングに成功したと判定しない場合(ステップ1302:No)において、第1のVthトラッキングまたはシフトリードにより取得した読み出し電圧と予め定められた読み出し電圧との差分を所定の第2の値と比較しているが、比較対象となる所定の第2の値は、各々の場合で別々の値としてもよい。 In the memory controller 200 of the memory system in the present embodiment, when it is determined that the calculated consumption degree is equal to or higher than the predetermined consumption degree (step 1802: No), or when the memory chip 110-1 succeeds in Vth tracking. When the determination is not made (step 1302: No), the difference between the read voltage acquired by the first Vth tracking or shift read and the predetermined read voltage is compared with the predetermined second value, but the comparison target. The predetermined second value is may be a different value in each case.

上述した第3の実施形態によれば、メモリシステム1において、第1の実施形態と同様に、メモリコントローラ200は、パトロール処理の際、メモリコントローラ200が第1のVthトラッキングやシフトリードをすること無く、第2のVthトラッキングによる結果を使用してデータ読み出しを行うことができ、メモリコントローラ200の処理負荷を減らすことができる。 According to the third embodiment described above, in the memory system 1, similarly to the first embodiment, the memory controller 200 performs the first Vth tracking and shift read during the patrol process. Data can be read out using the result of the second Vth tracking, and the processing load of the memory controller 200 can be reduced.

また、第1の実施形態と同様に、誤り訂正処理を実行すること無くリフレッシュするかを決定するため、パトロール処理の際のメモリコントローラ200の処理負荷を減らすことができる。パトロール処理の際のメモリコントローラ200の処理負荷を減らすことができる結果、メモリシステム1の性能が向上する。 Further, as in the first embodiment, since it is determined whether to refresh without executing the error correction processing, the processing load of the memory controller 200 at the time of the patrol processing can be reduced. As a result of reducing the processing load of the memory controller 200 during the patrol processing, the performance of the memory system 1 is improved.

また、第1の実施形態と同様に、パトロール処理の際のメモリコントローラ200の処理負荷が減ることにより、パトロール処理にかかる時間を短くでき、メモリコントローラ200の消費電力も減らすことができ、より短時間かつ低消費電力でパトロール処理を実行できる。 Further, as in the first embodiment, by reducing the processing load of the memory controller 200 during the patrol processing, the time required for the patrol processing can be shortened, and the power consumption of the memory controller 200 can also be reduced, which is shorter. Patrol processing can be executed in a short time and with low power consumption.

また、第3の実施形態によれば、メモリチップ110の疲弊がある程度進んでいる場合には、第2のVthトラッキングを実行しない。メモリチップ110の疲弊がある程度進んでいる場合には、第2のVthトラッキングが失敗する可能性、すなわち、メモリチップ110がVthトラッキングに失敗する可能性が高くなるため、メモリチップ110の疲弊がある程度進んでいる場合には、メモリコントローラ200は、第2のVthトラッキングをスキップすることで、より効率よくパトロール処理を実行することができる。 Further, according to the third embodiment, when the memory chip 110 is exhausted to some extent, the second Vth tracking is not executed. If the memory chip 110 is exhausted to some extent, the second Vth tracking may fail, that is, the memory chip 110 is likely to fail in Vth tracking, so that the memory chip 110 is exhausted to some extent. If it is advanced, the memory controller 200 can execute the patrol process more efficiently by skipping the second Vth tracking.

なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。 It should be noted that the present invention is not limited to the above-described embodiment, and it goes without saying that various modifications can be made without departing from the gist of the present invention.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他のさまざまな形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and variations thereof are included in the scope of the invention described in the claims and the equivalent scope thereof, as are included in the scope and gist of the invention.

1・・・メモリシステム
2・・・ホスト装置
3・・・システム
4・・・コネクタ
100・・・不揮発性メモリ
110・・・メモリチップ
200・・・メモリコントローラ
210・・・ホストI/F
220・・・制御部
230・・・データバッファ
240・・・符号化部/復号部
250・・・メモリI/F
260・・・内部バス
400・・・基板
1 ... Memory system 2 ... Host device 3 ... System 4 ... Connector 100 ... Non-volatile memory 110 ... Memory chip 200 ... Memory controller 210 ... Host I / F
220 ... Control unit 230 ... Data buffer 240 ... Encoding unit / Decoding unit 250 ... Memory I / F
260 ... Internal bus 400 ... Board

Claims (24)

それぞれがワード線と前記ワード線に接続される複数のメモリセルとを備えデータ消去単位である複数のブロックを有する不揮発性メモリの、コントローラによる制御方法であって、
前記コントローラは前記不揮発性メモリに第2の探索を要求し、前記第2の探索において、前記不揮発性メモリは、
第2の複数の読み出し電圧をそれぞれ用いて前記複数のメモリセルからデータを複数回読み出し、
前記第2の複数の読み出し電圧を用いて前記複数のメモリセルから読み出した第2の複数のデータのそれぞれに含まれる第7の値の個数を算出し、
前記第2の複数の読み出し電圧のうち隣り合う二つの読み出し電圧を用いて読み出した二つのデータのそれぞれに含まれる前記第7の値の個数の差分を、前記第2の複数のデータのそれぞれについて算出し、
前記それぞれ算出した差分のうちの最小値が第8の値以下である場合、前記差分が最小となる読み出し電圧を第2の読み出し電圧と決定し、前記第2の読み出し電圧が探索できたことを示す応答を前記コントローラへ送信し、
前記最小値が前記第8の値よりも大きい場合、前記第2の読み出し電圧を探索できなかったことを示す応答を前記コントローラへ送信し、
前記コントローラは、前記第2の読み出し電圧を探索できなかったことを示す前記応答を前記不揮発性メモリから受信したことに応じ、第1の探索を実行し、
前記第1の探索において、前記コントローラは、
第1の複数の読み出し電圧をそれぞれ用いて前記複数のメモリセルからデータを複数回読み出し、
前記第1の複数の読み出し電圧を用いて前記複数のメモリセルから読み出した第1の複数のデータのそれぞれに含まれる第6の値の個数を算出し、
前記第1の複数の読み出し電圧のうち隣り合う二つの読み出し電圧を用いて読み出した二つのデータのそれぞれに含まれる前記第6の値の個数の差分を、前記第1の複数のデータのそれぞれについて算出し、
前記それぞれ算出した差分のうち前記差分が最小となる読み出し電圧を第1の読み出し電圧と決定し、
前記第1の読み出し電圧と第2の基準電圧との差分である第1の差分を算出し、
前記第1の差分が所定の第1の値以上の場合、前記複数のメモリセルが含まれるブロックに保存されるデータを別のブロックに保存する、
制御方法。
It is a control method by a controller of a non-volatile memory having a word line and a plurality of memory cells connected to the word line and having a plurality of blocks which are data erasing units.
The controller requests the non-volatile memory to perform a second search, and in the second search, the non-volatile memory is used.
Data is read multiple times from the plurality of memory cells using each of the second plurality of read voltages.
Using the second plurality of read voltages, the number of seventh values included in each of the second plurality of data read from the plurality of memory cells is calculated.
The difference in the number of the seventh values included in each of the two data read using the two adjacent read voltages out of the second plurality of read voltages is obtained for each of the second plurality of data. Calculate and
When the minimum value of the differences calculated above is equal to or less than the eighth value, the read voltage at which the difference is minimized is determined to be the second read voltage, and the second read voltage can be searched. The indicated response is sent to the controller and
When the minimum value is larger than the eighth value, a response indicating that the second read voltage could not be searched is transmitted to the controller.
The controller performs the first search in response to receiving the response from the non-volatile memory indicating that the second read voltage could not be searched.
In the first search, the controller
Data is read multiple times from the plurality of memory cells using each of the first plurality of read voltages.
Using the first plurality of read voltages, the number of sixth values included in each of the first plurality of data read from the plurality of memory cells is calculated.
The difference in the number of the sixth values included in each of the two data read using the two adjacent read voltages out of the first plurality of read voltages is set for each of the first plurality of data. Calculate and
Of the differences calculated above, the read voltage at which the difference is the smallest is determined as the first read voltage.
The first difference, which is the difference between the first read voltage and the second reference voltage, is calculated.
When the first difference is equal to or greater than a predetermined first value, the data stored in the block containing the plurality of memory cells is stored in another block.
Control method.
前記第2の探索の要求に対して前記不揮発性メモリから受信した応答が前記第2の読み出し電圧を探索できたことを示す情報である場合、前記コントローラは前記第2の読み出し電圧を探索できたことを示す情報に基づいて、前記複数のメモリセルが含まれるブロックに保存されるデータを別のブロックに保存するかを判定する、
請求項1に記載の制御方法。
When the response received from the non-volatile memory to the second search request is information indicating that the second read voltage could be searched, the controller could search for the second read voltage. Based on the information indicating that, it is determined whether to save the data stored in the block containing the plurality of memory cells in another block.
The control method according to claim 1.
前記コントローラは、前記複数のブロックのそれぞれに含まれる前記複数のメモリセルに対して、所定時間内に、前記判定を行う、
請求項2に記載の制御方法。
The controller makes the determination for the plurality of memory cells included in each of the plurality of blocks within a predetermined time.
The control method according to claim 2.
前記第2の探索に対応する応答が前記第2の読み出し電圧を探索できたことを示す情報である場合、
前記コントローラは、前記第2の探索に対応する応答に含まれる前記第2の読み出し電圧と第3の基準電圧との差分である第2の差分を算出し、
前記第2の差分が所定の第2の値以上の場合、前記複数のメモリセルが含まれるブロックに保存されるデータを別のブロックに保存する、
請求項2または請求項3に記載の制御方法。
When the response corresponding to the second search is information indicating that the second read voltage could be searched.
The controller calculates a second difference, which is a difference between the second read voltage and the third reference voltage included in the response corresponding to the second search.
When the second difference is equal to or greater than a predetermined second value, the data stored in the block containing the plurality of memory cells is stored in another block.
The control method according to claim 2 or 3.
前記第2の探索に対応する応答が前記第2の読み出し電圧を探索できなかったことを示す情報である場合、
前記コントローラは、第4の基準電圧を使用して前記複数のメモリセルからデータを読み出し、
前記読み出したデータを復号した際、誤りビット数が第1の閾値以上である場合、前記第1の探索を実行する、
請求項1に記載の制御方法。
When the response corresponding to the second search is information indicating that the second read voltage could not be searched.
The controller reads data from the plurality of memory cells using a fourth reference voltage.
When the number of error bits is equal to or greater than the first threshold value when the read data is decoded, the first search is executed.
The control method according to claim 1.
前記コントローラは、前記複数のメモリセルの消耗度を算出し、前記算出した消耗度が所定の消耗度以上の場合、前記不揮発性メモリへ前記第2の探索を要求することなく前記第1の探索を実行する、
請求項1に記載の制御方法。
The controller calculates the degree of consumption of the plurality of memory cells, and when the calculated degree of consumption is equal to or higher than a predetermined degree of consumption, the first search is performed without requesting the non-volatile memory for the second search. To execute,
The control method according to claim 1.
前記算出した消耗度が前記所定の消耗度未満の場合、
前記コントローラは、前記不揮発性メモリに前記第2の探索を要求し、
前記第2の探索に対応する応答が前記第2の読み出し電圧を探索できたことを示す情報である場合、
探索された前記第2の読み出し電圧と第5の基準電圧との差分である第3の差分を算出し、
前記第3の差分が所定の第3の値以上の場合、前記複数のメモリセルが含まれるブロックに保存されるデータを別のブロックに保存する、
請求項6に記載の制御方法。
When the calculated degree of wear is less than the predetermined degree of wear
The controller requests the non-volatile memory for the second search.
When the response corresponding to the second search is information indicating that the second read voltage could be searched.
The third difference, which is the difference between the searched second read voltage and the fifth reference voltage, is calculated.
When the third difference is equal to or greater than a predetermined third value, the data stored in the block containing the plurality of memory cells is stored in another block.
The control method according to claim 6.
ホスト装置から読み出し命令を受信した場合に、
前記コントローラは、前記読み出し命令に対応するデータを前記不揮発性メモリから読み出し、前記読み出したデータである第1のデータを復号し、
前記第1のデータの復号に成功した場合は、前記復号された第1のデータを前記ホスト装置へ送信し、
前記第1のデータの復号に失敗した場合は、
前記コントローラは前記不揮発性メモリに前記第2の探索を要求し、
前記不揮発性メモリからの応答が前記第2の読み出し電圧を探索できたことを示す情報である場合、
前記コントローラは前記第2の読み出し電圧を探索できたことを示す情報に含まれる前記第2の読み出し電圧を使用して前記読み出し命令に対応するデータを前記不揮発性メモリから読み出し、
前記第2の読み出し電圧を使用して読み出したデータである第2のデータを復号し、
前記第2のデータの復号に成功した場合は、前記復号された第2のデータを前記ホスト装置へ送信する、
請求項1に記載の制御方法。
When a read command is received from the host device
The controller reads the data corresponding to the read instruction from the non-volatile memory, decodes the first data which is the read data, and decodes the first data.
If the decoding of the first data is successful, the decoded first data is transmitted to the host device, and the decrypted first data is transmitted to the host device.
If the decryption of the first data fails,
The controller requests the non-volatile memory for the second search.
When the response from the non-volatile memory is information indicating that the second read voltage could be searched for,
The controller reads the data corresponding to the read instruction from the non-volatile memory using the second read voltage included in the information indicating that the second read voltage could be searched.
Decoding the second data, which is the data read using the second read voltage,
If the decoding of the second data is successful, the decoded second data is transmitted to the host device.
The control method according to claim 1.
前記第2の探索に対応する応答が前記第2の読み出し電圧を探索できなかったことを示す情報である場合、
前記コントローラは、前記第1の探索を実行し、
前記ホスト装置からの前記読み出し命令に対応するデータを前記不揮発性メモリから読み出す際に使用する第6の基準電圧を、前記第1の探索によって探索された前記第1の読み出し電圧で更新する、
請求項8に記載の制御方法。
When the response corresponding to the second search is information indicating that the second read voltage could not be searched.
The controller performs the first search and
The sixth reference voltage used when reading the data corresponding to the read instruction from the host device from the non-volatile memory is updated with the first read voltage searched by the first search.
The control method according to claim 8.
前記第2の探索に対応する応答が前記第2の読み出し電圧を探索できなかったことを示す情報である場合、
前記コントローラは、前記第1の探索を実行し、
前記第1の探索によって探索された前記第1の読み出し電圧を使用して前記読み出し命令に対応するデータを前記不揮発性メモリから読み出し、
前記第1の読み出し電圧を使用して読み出されたデータである第3のデータを復号し、
前記第3のデータの復号に成功した場合は、前記復号された第3のデータを前記ホスト装置へ送信する、
請求項9に記載の制御方法。
When the response corresponding to the second search is information indicating that the second read voltage could not be searched.
The controller performs the first search and
Using the first read voltage searched by the first search, the data corresponding to the read instruction is read from the non-volatile memory.
Decoding the third data, which is the data read using the first read voltage,
If the decoding of the third data is successful, the decoded third data is transmitted to the host device.
The control method according to claim 9.
それぞれがワード線と前記ワード線に接続される複数のメモリセルとを備えデータ消去単位である複数のブロックを有する不揮発性メモリと、
前記不揮発性メモリを制御可能なコントローラと、
を備え、
前記コントローラは、前記複数のメモリセルに対する第2の読み出し電圧を前記不揮発性メモリに探索させるための第2の探索コマンドを前記不揮発性メモリに対して送信し、
前記第2の探索コマンドに応じて、前記不揮発性メモリは、
第2の複数の読み出し電圧をそれぞれ用いて前記複数のメモリセルからデータを複数回読み出し、
前記第2の複数の読み出し電圧を用いて前記複数のメモリセルから読み出した第2の複数のデータのそれぞれに含まれる第7の値の個数を算出し、
前記第2の複数の読み出し電圧のうち隣り合う二つの読み出し電圧を用いて読み出した二つのデータのそれぞれに含まれる前記第7の値の個数の差分を、前記第2の複数のデータのそれぞれについて算出し、
前記それぞれ算出した差分のうちの最小値が第8の値よりも大きい場合、前記第2の読み出し電圧を探索できなかったことを示す応答を前記コントローラへ送信し、
前記最小値が前記第8の値以下である場合、前記差分が最小となる読み出し電圧を前記第2の読み出し電圧と決定し、前記第2の読み出し電圧が探索できたことを示す応答を前記コントローラへ送信し、
前記コントローラは、前記第2の探索コマンドに対応する応答に含まれる前記第2の読み出し電圧と第3の基準電圧との差分である第2の差分を算出し、
前記第2の差分が所定の第2の値以上の場合、
前記第2の読み出し電圧を用いて前記複数のメモリセルからデータを読み出し、
前記データのうち、誤っているビットの数である第4の値と、所定の第5の値の比較に基づいて、前記複数のメモリセルが含まれるブロックに保存されるデータを別のブロックに保存するかを判定する、
メモリシステム。
A non-volatile memory having a word line and a plurality of memory cells connected to the word line, each having a plurality of blocks as a data erasing unit, and a non-volatile memory.
A controller that can control the non-volatile memory and
Equipped with
The controller transmits a second search command for causing the non-volatile memory to search the second read voltage for the plurality of memory cells to the non-volatile memory.
In response to the second search command, the non-volatile memory
Data is read multiple times from the plurality of memory cells using each of the second plurality of read voltages.
Using the second plurality of read voltages, the number of seventh values included in each of the second plurality of data read from the plurality of memory cells is calculated.
The difference in the number of the seventh values included in each of the two data read using the two adjacent read voltages out of the second plurality of read voltages is obtained for each of the second plurality of data. Calculate and
When the minimum value of the calculated differences is larger than the eighth value, a response indicating that the second read voltage could not be searched is transmitted to the controller.
When the minimum value is equal to or less than the eighth value, the read voltage at which the difference is minimized is determined as the second read voltage, and the controller responds indicating that the second read voltage can be searched. Send to
The controller calculates a second difference, which is a difference between the second read voltage and the third reference voltage included in the response corresponding to the second search command.
When the second difference is equal to or greater than the predetermined second value,
Data is read from the plurality of memory cells using the second read voltage,
Of the data, the data stored in the block containing the plurality of memory cells is placed in another block based on the comparison between the fourth value, which is the number of erroneous bits, and the predetermined fifth value. Determine if you want to save,
Memory system.
前記第2の差分が前記第2の値以上の場合、前記コントローラは、前記第2の探索コマンドに対応する応答に含まれる前記第2の読み出し電圧を用いて前記複数のメモリセルから読みだしたデータのうち、誤っているビットの数である前記第4の値が、前記第5の値以上の場合、前記複数のメモリセルが含まれるブロックに保存されるデータを前記別のブロックに保存する、
請求項11に記載のメモリシステム。
When the second difference is greater than or equal to the second value, the controller reads from the plurality of memory cells using the second read voltage included in the response corresponding to the second search command. When the fourth value, which is the number of erroneous bits, is equal to or greater than the fifth value, the data stored in the block including the plurality of memory cells is stored in the other block. ,
The memory system according to claim 11.
前記第2の探索コマンドは、第1の電圧と第2の電圧を指定し、
前記不揮発性メモリは、前記第2の読み出し電圧の探索を前記第1の電圧から開始し、
読み出し電圧を少なくとも前記第2の電圧分変化させて前記第2の読み出し電圧を探索する、
請求項11または請求項12に記載のメモリシステム。
The second search command specifies a first voltage and a second voltage.
The non-volatile memory starts the search for the second read voltage from the first voltage.
The second read voltage is searched for by changing the read voltage by at least the second voltage.
The memory system according to claim 11 or 12.
前記コントローラは、前記複数のブロックのそれぞれに含まれる前記複数のメモリセルに対して、所定時間内に前記判定を行う、請求項13に記載のメモリシステム。 The memory system according to claim 13, wherein the controller makes the determination within a predetermined time with respect to the plurality of memory cells included in each of the plurality of blocks. 前記第2の探索コマンドに対応する応答が前記第2の読み出し電圧を探索できなかったことを示す情報である場合、
前記コントローラは、第1の基準電圧から変化させて得られる複数の読み出し電圧を用いて前記複数のメモリセルからデータを読み出すことによって第1の読み出し電圧を探索する第1の探索を実行し、前記第1の読み出し電圧と第2の基準電圧との差分である第1の差分を算出し、
前記第1の差分が所定の第1の値以上の場合、前記複数のメモリセルが含まれるブロックに保存されるデータを別のブロックに保存する、
請求項13または請求項14に記載のメモリシステム。
When the response corresponding to the second search command is information indicating that the second read voltage could not be searched.
The controller executes a first search to search for a first read voltage by reading data from the plurality of memory cells using a plurality of read voltages obtained by changing from the first reference voltage. The first difference, which is the difference between the first read voltage and the second reference voltage, is calculated.
When the first difference is equal to or greater than a predetermined first value, the data stored in the block containing the plurality of memory cells is stored in another block.
13. The memory system according to claim 13.
前記コントローラは、
前記第1の探索において、第1の複数の読み出し電圧をそれぞれ用いて前記複数のメモリセルからデータを複数回読み出し、
前記第1の複数の読み出し電圧を用いて前記複数のメモリセルから読み出した第1の複数のデータのそれぞれに含まれる第6の値の個数を算出し、
前記第1の複数の読み出し電圧のうち隣り合う二つの読み出し電圧を用いて読み出した二つのデータのそれぞれに含まれる前記第6の値の個数の差分を、前記第1の複数のデータのそれぞれについて算出し、
前記それぞれ算出した差分のうち前記差分が最小となる読み出し電圧を前記第1の読み出し電圧と決定する、
請求項15に記載のメモリシステム。
The controller
In the first search, data is read a plurality of times from the plurality of memory cells using each of the first plurality of read voltages.
Using the first plurality of read voltages, the number of sixth values included in each of the first plurality of data read from the plurality of memory cells is calculated.
The difference in the number of the sixth values included in each of the two data read using the two adjacent read voltages out of the first plurality of read voltages is set for each of the first plurality of data. Calculate and
Of the differences calculated above, the read voltage at which the difference is the smallest is determined as the first read voltage.
The memory system according to claim 15.
前記第2の探索コマンドに対応する応答が前記第2の読み出し電圧を探索できなかったことを示す情報である場合、
前記コントローラは、第4の基準電圧を使用して前記複数のメモリセルからデータを読み出し、
前記読み出したデータを復号できなかった場合に、第1の基準電圧から変化させて得られる複数の読み出し電圧を用いて前記複数のメモリセルからデータを読み出すことによって第1の読み出し電圧を探索する第1の探索を実行する、
請求項11に記載のメモリシステム。
When the response corresponding to the second search command is information indicating that the second read voltage could not be searched.
The controller reads data from the plurality of memory cells using a fourth reference voltage.
When the read data cannot be decoded, the first read voltage is searched for by reading data from the plurality of memory cells using a plurality of read voltages obtained by changing from the first reference voltage. Perform a search for 1,
The memory system according to claim 11.
前記コントローラは前記複数のメモリセルの消耗度を算出し、
前記算出した消耗度が所定の消耗度未満の場合、前記不揮発性メモリに前記第2の探索コマンドを送信し、
前記算出した消耗度が前記所定の消耗度以上の場合、前記不揮発性メモリへ前記第2の探索コマンドを送信することなく、第1の基準電圧から変化させて得られる複数の読み出し電圧を用いて前記複数のメモリセルからデータを読み出すことによって第1の読み出し電圧を探索する第1の探索を実行する、
請求項11に記載のメモリシステム。
The controller calculates the degree of consumption of the plurality of memory cells, and the controller calculates the degree of consumption of the plurality of memory cells.
When the calculated degree of wear is less than the predetermined degree of wear, the second search command is transmitted to the non-volatile memory.
When the calculated consumption degree is equal to or higher than the predetermined consumption degree, a plurality of read voltages obtained by changing from the first reference voltage without transmitting the second search command to the non-volatile memory are used. The first search for searching the first read voltage by reading data from the plurality of memory cells is executed.
The memory system according to claim 11.
前記コントローラは前記複数のメモリセルが含まれるブロックの管理情報を保持し、前記管理情報から前記複数のメモリセルの消耗度を算出する、請求項18に記載のメモリシステム。 The memory system according to claim 18, wherein the controller holds management information of a block including the plurality of memory cells, and calculates the degree of consumption of the plurality of memory cells from the management information. 前記管理情報は前記複数のメモリセルが含まれるブロックの消去回数を含む、請求項19に記載のメモリシステム。 19. The memory system of claim 19, wherein the management information includes the number of times a block containing the plurality of memory cells is erased. それぞれがワード線と前記ワード線に接続される複数のメモリセルとを備えデータ消去単位である複数のブロックを有する不揮発性メモリと、
前記不揮発性メモリを制御可能なコントローラと、
を備え、
前記コントローラは前記複数のメモリセルの消耗度を算出し、
前記算出した消耗度が所定の消耗度未満の場合、
前記複数のメモリセルに対する第2の読み出し電圧を前記不揮発性メモリに探索させるための第2の探索コマンドを前記不揮発性メモリに対して送信し、
前記第2の探索コマンドに応じて、前記不揮発性メモリは、
第2の複数の読み出し電圧をそれぞれ用いて前記複数のメモリセルからデータを複数回読み出し、
前記第2の複数の読み出し電圧を用いて前記複数のメモリセルから読み出した第2の複数のデータのそれぞれに含まれる第7の値の個数を算出し、
前記第2の複数の読み出し電圧のうち隣り合う二つの読み出し電圧を用いて読み出した二つのデータのそれぞれに含まれる前記第7の値の個数の差分を、前記第2の複数のデータのそれぞれについて算出し、
前記それぞれ算出した差分のうち前記差分が最小となる読み出し電圧を前記第2の読み出し電圧と決定し、前記第2の読み出し電圧が探索できたことを示す応答を前記コントローラへ送信し、
前記コントローラは、前記第2の探索コマンドに対応する応答に含まれる前記第2の読み出し電圧と第3の基準電圧との差分である第2の差分を算出し、
前記第2の差分が第2の値以上の場合、前記複数のメモリセルが含まれるブロックに保存されるデータを別のブロックに保存し、
前記算出した消耗度が前記所定の消耗度以上の場合、前記不揮発性メモリへ前記第2の探索コマンドを送信することなく、第1の基準電圧から変化させて得られる複数の読み出し電圧を用いて前記複数のメモリセルからデータを読み出すことによって第1の読み出し電圧を探索する第1の探索を実行し、
前記第1の探索において、前記コントローラは、
第1の複数の読み出し電圧をそれぞれ用いて前記複数のメモリセルからデータを複数回読み出し、
前記第1の複数の読み出し電圧を用いて前記複数のメモリセルから読み出した第1の複数のデータのそれぞれに含まれる第6の値の個数を算出し、
前記第1の複数の読み出し電圧のうち隣り合う二つの読み出し電圧を用いて読み出した二つのデータのそれぞれに含まれる前記第6の値の個数の差分を、前記第1の複数のデータのそれぞれについて算出し、
前記それぞれ算出した差分のうち前記差分が最小となる読み出し電圧を前記第1の読み出し電圧と決定する、
メモリシステム。
A non-volatile memory having a word line and a plurality of memory cells connected to the word line, each having a plurality of blocks as a data erasing unit, and a non-volatile memory.
A controller that can control the non-volatile memory and
Equipped with
The controller calculates the degree of consumption of the plurality of memory cells, and the controller calculates the degree of consumption of the plurality of memory cells.
If the calculated degree of wear is less than the specified degree of wear
A second search command for causing the non-volatile memory to search for a second read voltage for the plurality of memory cells is transmitted to the non-volatile memory.
In response to the second search command, the non-volatile memory
Data is read multiple times from the plurality of memory cells using each of the second plurality of read voltages.
Using the second plurality of read voltages, the number of seventh values included in each of the second plurality of data read from the plurality of memory cells is calculated.
The difference in the number of the seventh values included in each of the two data read using the two adjacent read voltages out of the second plurality of read voltages is obtained for each of the second plurality of data. Calculate and
Of the differences calculated above, the read voltage at which the difference is the smallest is determined as the second read voltage, and a response indicating that the second read voltage has been searched is transmitted to the controller.
The controller calculates a second difference, which is a difference between the second read voltage and the third reference voltage included in the response corresponding to the second search command.
When the second difference is greater than or equal to the second value, the data stored in the block containing the plurality of memory cells is stored in another block.
When the calculated consumption degree is equal to or higher than the predetermined consumption degree, a plurality of read voltages obtained by changing from the first reference voltage without transmitting the second search command to the non-volatile memory are used. The first search for searching the first read voltage by reading data from the plurality of memory cells is executed.
In the first search, the controller
Data is read multiple times from the plurality of memory cells using each of the first plurality of read voltages.
Using the first plurality of read voltages, the number of sixth values included in each of the first plurality of data read from the plurality of memory cells is calculated.
The difference in the number of the sixth values included in each of the two data read using the two adjacent read voltages out of the first plurality of read voltages is set for each of the first plurality of data. Calculate and
Of the differences calculated above, the read voltage at which the difference is the smallest is determined as the first read voltage.
Memory system.
前記メモリシステムは、ホスト装置に接続可能であって、
前記コントローラは、前記ホスト装置から読み出し要求を受信した場合に、前記読み出し要求に対応するデータを前記不揮発性メモリから読み出し、
前記読み出したデータである第1のデータを復号し、
前記第1のデータの復号に成功した場合は、前記復号された第1のデータを前記ホスト装置へ送信し、
前記第1のデータの復号に失敗した場合は、
前記第2の探索コマンドを前記不揮発性メモリへ送信し、
前記第2の探索コマンドに対して前記不揮発性メモリから受信した応答が前記第2の読み出し電圧を探索できたことを示す情報である場合、
前記第2の探索コマンドに対応する応答に含まれる前記第2の読み出し電圧を使用して前記読み出し要求に対応するデータを前記不揮発性メモリから読み出し、
前記第2の読み出し電圧を使用して読み出したデータである第2のデータを復号し、
前記第2のデータの復号に成功した場合は、前記復号された第2のデータを前記ホスト装置へ送信する、
請求項11に記載のメモリシステム。
The memory system can be connected to the host device and
When the controller receives a read request from the host device, the controller reads the data corresponding to the read request from the non-volatile memory.
Decoding the first data, which is the read data,
If the decoding of the first data is successful, the decoded first data is transmitted to the host device, and the decrypted first data is transmitted to the host device.
If the decryption of the first data fails,
The second search command is transmitted to the non-volatile memory, and the second search command is transmitted to the non-volatile memory.
When the response received from the non-volatile memory to the second search command is information indicating that the second read voltage could be searched.
Using the second read voltage included in the response corresponding to the second search command, the data corresponding to the read request is read from the non-volatile memory.
Decoding the second data, which is the data read using the second read voltage,
If the decoding of the second data is successful, the decoded second data is transmitted to the host device.
The memory system according to claim 11.
前記コントローラは、前記第2の読み出し電圧を探索できなかったことを示す前記応答を前記不揮発性メモリから受信したことに応じ、第1の探索を実行し、
前記第1の探索において、前記コントローラは、第1の基準電圧から変化させて得られる第1の複数の読み出し電圧を用いて前記複数のメモリセルからデータを複数回読み出し、
前記第1の複数の読み出し電圧を用いて前記複数のメモリセルから読み出した第1の複数のデータのそれぞれに含まれる第6の値の個数を算出し、
前記第1の複数の読み出し電圧のうち隣り合う二つの読み出し電圧を用いて読み出した二つのデータのそれぞれに含まれる前記第6の値の個数の差分を、前記第1の複数のデータのそれぞれについて算出し、
前記それぞれ算出した差分のうち前記差分が最小となる読み出し電圧を第1の読み出し電圧と決定し、
前記第1の読み出し電圧を使用して読み出されたデータである第3のデータを復号し、
前記第3のデータの復号に成功した場合は、前記復号された第3のデータを前記ホスト装置へ送信する、
請求項22に記載のメモリシステム。
The controller performs the first search in response to receiving the response from the non-volatile memory indicating that the second read voltage could not be searched.
In the first search, the controller reads data from the plurality of memory cells a plurality of times using the first plurality of read voltages obtained by changing from the first reference voltage.
Using the first plurality of read voltages, the number of sixth values included in each of the first plurality of data read from the plurality of memory cells is calculated.
The difference in the number of the sixth values included in each of the two data read using the two adjacent read voltages out of the first plurality of read voltages is set for each of the first plurality of data. Calculate and
Of the differences calculated above, the read voltage at which the difference is the smallest is determined as the first read voltage.
Decoding the third data, which is the data read using the first read voltage,
If the decoding of the third data is successful, the decoded third data is transmitted to the host device.
The memory system according to claim 22.
前記コントローラは、前記読み出し要求に対応するデータを前記不揮発性メモリから読み出すための読み出し電圧を保持し、
前記保持されている読み出し電圧を前記第1の読み出し電圧で更新する、
請求項23に記載のメモリシステム。
The controller holds a read voltage for reading data corresponding to the read request from the non-volatile memory.
The held read voltage is updated with the first read voltage.
The memory system according to claim 23.
JP2020038490A 2020-03-06 2020-03-06 Memory system and non-volatile memory control method Active JP7087013B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020038490A JP7087013B2 (en) 2020-03-06 2020-03-06 Memory system and non-volatile memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020038490A JP7087013B2 (en) 2020-03-06 2020-03-06 Memory system and non-volatile memory control method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016191391A Division JP6674361B2 (en) 2016-09-29 2016-09-29 Memory system

Publications (2)

Publication Number Publication Date
JP2020102295A JP2020102295A (en) 2020-07-02
JP7087013B2 true JP7087013B2 (en) 2022-06-20

Family

ID=71139712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020038490A Active JP7087013B2 (en) 2020-03-06 2020-03-06 Memory system and non-volatile memory control method

Country Status (1)

Country Link
JP (1) JP7087013B2 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009016028A (en) 2007-06-28 2009-01-22 Samsung Electronics Co Ltd Non-volatile memory device and system including multi-level cell using modified read voltage, and method of operating the same
US20100157671A1 (en) 2008-12-18 2010-06-24 Nima Mokhlesi Data refresh for non-volatile storage
JP2012133832A (en) 2010-12-20 2012-07-12 Samsung Yokohama Research Institute Co Ltd Nonvolatile semiconductor memory device and read-out voltage detection method
JP2013080450A (en) 2011-09-22 2013-05-02 Toshiba Corp Memory device
JP2013125527A (en) 2011-12-16 2013-06-24 Toshiba Corp Semiconductor storage device, method of controlling semiconductor storage device, and control program
JP2014022037A (en) 2012-07-23 2014-02-03 Samsung Electronics Co Ltd Memory device, memory system and reading voltage control method for the memory device
JP2014086128A (en) 2012-10-25 2014-05-12 Samsung Electronics Co Ltd Memory system using regression analysis method, and reading method therefor
US20160260493A1 (en) 2015-03-04 2016-09-08 SK Hynix Inc. Semiconductor device including memory cells

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009016028A (en) 2007-06-28 2009-01-22 Samsung Electronics Co Ltd Non-volatile memory device and system including multi-level cell using modified read voltage, and method of operating the same
US20100157671A1 (en) 2008-12-18 2010-06-24 Nima Mokhlesi Data refresh for non-volatile storage
JP2012513072A (en) 2008-12-18 2012-06-07 サンディスク コーポレイション Data refresh for non-volatile storage
JP2012133832A (en) 2010-12-20 2012-07-12 Samsung Yokohama Research Institute Co Ltd Nonvolatile semiconductor memory device and read-out voltage detection method
JP2013080450A (en) 2011-09-22 2013-05-02 Toshiba Corp Memory device
JP2013125527A (en) 2011-12-16 2013-06-24 Toshiba Corp Semiconductor storage device, method of controlling semiconductor storage device, and control program
JP2014022037A (en) 2012-07-23 2014-02-03 Samsung Electronics Co Ltd Memory device, memory system and reading voltage control method for the memory device
JP2014086128A (en) 2012-10-25 2014-05-12 Samsung Electronics Co Ltd Memory system using regression analysis method, and reading method therefor
US20160260493A1 (en) 2015-03-04 2016-09-08 SK Hynix Inc. Semiconductor device including memory cells

Also Published As

Publication number Publication date
JP2020102295A (en) 2020-07-02

Similar Documents

Publication Publication Date Title
JP6674361B2 (en) Memory system
US11216337B2 (en) Memory system
US10324788B2 (en) Memory system
CN107403636B (en) Method for reading nonvolatile memory device
KR20170097267A (en) Data storage device including read voltage search unit
KR20120030816A (en) Flash memory and self interleaving method thereof
US10910068B2 (en) Memory system and nonvolatile memory
US11231874B2 (en) Memory system and storage system
JP2018055759A (en) Memory system
JP2020077443A (en) Memory system
US11682467B2 (en) Nonvolatile memory device, controller for controlling the same, storage device including the same, and reading method of the same
JP2021047721A (en) Memory system and method
KR20220056919A (en) Non-volatile memory device, controller for controlling the ame, storage device having the same, and reading method thereof
US20140289454A1 (en) Storage device and controller
KR20210105096A (en) Memory system and operating method thereof
JP7087013B2 (en) Memory system and non-volatile memory control method
US11941272B2 (en) Memory system and operating method of memory system
US11249838B2 (en) Memory system, memory controller, and method of operating memory controller
KR20230031425A (en) Memory system and operating method of memory system
CN111739573A (en) Memory system and operating method thereof
US11934701B2 (en) Storage controller determining distribution type, method of operating the same, and method of operating storage device including the same
US11507509B2 (en) Memory system, memory controller and method for operating memory system for determining whether to perform direct write based on reference write size
US20240143185A1 (en) Storage device writing data on the basis of temperatures of memory dies and method thereof
US11386000B2 (en) Memory system, memory controller and method for operating memory system in which different processors search for mapping information using different map search engines
US20220310168A1 (en) Operating method of storage controller using count value of direct memory access, storage device including storage controller, and operating method of storage device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220420

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220608

R151 Written notification of patent or utility model registration

Ref document number: 7087013

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151