JP2020035504A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2020035504A JP2020035504A JP2018161899A JP2018161899A JP2020035504A JP 2020035504 A JP2020035504 A JP 2020035504A JP 2018161899 A JP2018161899 A JP 2018161899A JP 2018161899 A JP2018161899 A JP 2018161899A JP 2020035504 A JP2020035504 A JP 2020035504A
- Authority
- JP
- Japan
- Prior art keywords
- word line
- read
- memory
- memory cell
- voltage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 335
- 238000009826 distribution Methods 0.000 claims abstract description 83
- 239000004065 semiconductor Substances 0.000 claims abstract description 45
- 230000004044 response Effects 0.000 claims abstract description 13
- 239000000758 substrate Substances 0.000 claims description 9
- 101100481703 Arabidopsis thaliana TMK2 gene Proteins 0.000 description 52
- 238000010586 diagram Methods 0.000 description 50
- 238000000034 method Methods 0.000 description 39
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 37
- 238000012937 correction Methods 0.000 description 28
- 230000000694 effects Effects 0.000 description 17
- 101000578349 Homo sapiens Nucleolar MIF4G domain-containing protein 1 Proteins 0.000 description 13
- 102100027969 Nucleolar MIF4G domain-containing protein 1 Human genes 0.000 description 13
- 238000003860 storage Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 12
- 238000012986 modification Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 230000008878 coupling Effects 0.000 description 10
- 238000010168 coupling process Methods 0.000 description 10
- 238000005859 coupling reaction Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 8
- 229910052710 silicon Inorganic materials 0.000 description 8
- 239000010703 silicon Substances 0.000 description 8
- 238000000926 separation method Methods 0.000 description 7
- 239000004020 conductor Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012886 linear function Methods 0.000 description 5
- 239000002184 metal Substances 0.000 description 5
- 101100015484 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GPA1 gene Proteins 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000009792 diffusion process Methods 0.000 description 4
- 101100479039 Caenorhabditis elegans aars-1 gene Proteins 0.000 description 3
- 101100423891 Caenorhabditis elegans qars-1 gene Proteins 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 229910052814 silicon oxide Inorganic materials 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000012535 impurity Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 2
- 229920005591 polysilicon Polymers 0.000 description 2
- 101150030352 Arsi gene Proteins 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 101100479031 Caenorhabditis elegans aars-2 gene Proteins 0.000 description 1
- 101150056203 SGS3 gene Proteins 0.000 description 1
- 101100067427 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FUS3 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 150000004767 nitrides Chemical class 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0466—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells with charge storage in an insulating layer, e.g. metal-nitride-oxide-silicon [MNOS], silicon-oxide-nitride-oxide-silicon [SONOS]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5648—Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/20—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
- H10B43/23—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
- H10B43/27—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/30—EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region
- H10B43/35—EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region with cell select transistors, e.g. NAND
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
- Non-Volatile Memory (AREA)
Abstract
【課題】動作信頼性を向上出来るメモリシステムを提供する。【解決手段】一実施形態のメモリシステムは、第1乃至第4ワード線にそれぞれ接続された第1乃至第4メモリセルを備える半導体メモリと、コントローラとを具備する。コントローラは、メモリセルの閾値分布の状態を確認するための第1命令と、第1命令に応答して得られた閾値分布の状態に基づく読み出し電圧を用いてメモリセルからデータを読み出すための第2命令とを発行可能である。コントローラは、第1ワード線を選択して第1命令を発行して第1読み出し電圧を得る第1動作(S100)と、第2ワード線を選択し、且つ読み出し電圧として第1読み出し電圧に基づく電圧を指定する第2命令を発行して、第2メモリセルからデータを読み出す第2動作(S105)とを実行する。【選択図】図16
Description
実施形態は、メモリシステムに関する。
メモリセルが三次元に配列された半導体メモリが知られている。
動作信頼性を向上出来るメモリシステムを提供する。
本実施形態のメモリシステムは、半導体基板の鉛直方向に順次設けられた第1乃至第4ワード線と、第1乃至第4ワード線にそれぞれ接続された第1乃至第4メモリセルとを備える半導体メモリと、半導体メモリを制御するコントローラとを具備する。コントローラは、メモリセルの閾値分布の状態を確認するための第1命令と、第1命令に応答して得られた閾値分布の状態に基づく読み出し電圧を用いてメモリセルからデータを読み出すための第2命令とを発行可能である。コントローラは、第1ワード線を選択して第1命令を発行して、第1メモリセルにつき得られた閾値分布の状態に基づく第1読み出し電圧を得る第1動作と、第2ワード線を選択し、且つ読み出し電圧として第1読み出し電圧に基づく電圧を指定する第2命令を発行して、第2メモリセルからデータを読み出す第2動作と、第3ワード線を選択して第1命令を発行して、第3メモリセルにつき得られた閾値分布の状態に基づく第2読み出し電圧を得る第3動作と、第4ワード線を選択し、且つ読み出し電圧として第2読み出し電圧に基づく電圧を指定する第2命令を発行して、第4メモリセルからデータを読み出す第4動作とを実行する。
以下、図面を参照して実施形態について説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。
1.第1実施形態
第1実施形態に係るメモリシステムについて説明する。以下では、半導体記憶装置としてNAND型フラッシュメモリを備えたメモリシステムを例に挙げて説明する。
第1実施形態に係るメモリシステムについて説明する。以下では、半導体記憶装置としてNAND型フラッシュメモリを備えたメモリシステムを例に挙げて説明する。
1.1 構成について
1.1.1 メモリシステムの全体構成について
まず、本実施形態に係るメモリシステムの大まかな全体構成について、図1を用いて説明する。
1.1.1 メモリシステムの全体構成について
まず、本実施形態に係るメモリシステムの大まかな全体構成について、図1を用いて説明する。
図示するようにメモリシステム1は、NAND型フラッシュメモリ100とコントローラ200とを備えている。NAND型フラッシュメモリ100とコントローラ200とは、例えばそれらの組み合わせにより一つの半導体装置を構成しても良く、その例としてはSDTMカードのようなメモリカードや、SSD(solid state drive)等が挙げられる。
NAND型フラッシュメモリ100は複数のメモリセルを備え、データを不揮発に記憶する。コントローラ200は、NANDバスによってNAND型フラッシュメモリ100に接続され、ホストバスによってホスト機器300に接続される。そしてコントローラ200は、NAND型フラッシュメモリ100を制御し、またホスト機器300から受信した命令に応答して、NAND型フラッシュメモリ100にアクセスする。ホスト機器300は、例えばデジタルカメラやパーソナルコンピュータ等であり、ホストバスは、例えばSDTMインターフェースに従ったバスである。NANDバスは、NANDインターフェースに従った信号の送受信を行う。
1.1.2 コントローラ200の構成について
引き続き図1を用いて、コントローラ200の構成の詳細について説明する。図1に示すようにコントローラ200は、ホストインターフェース回路210、内蔵メモリ(RAM)220、プロセッサ(CPU)230、バッファメモリ240、NANDインターフェース回路250、及びECC(Error Checking and Correcting)回路260を備えている。
引き続き図1を用いて、コントローラ200の構成の詳細について説明する。図1に示すようにコントローラ200は、ホストインターフェース回路210、内蔵メモリ(RAM)220、プロセッサ(CPU)230、バッファメモリ240、NANDインターフェース回路250、及びECC(Error Checking and Correcting)回路260を備えている。
ホストインターフェース回路210は、ホストバスを介してホスト機器300と接続され、ホスト機器300から受信した命令及びデータを、それぞれプロセッサ230及びバッファメモリ240に転送する。またプロセッサ230の命令に応答して、バッファメモリ240内のデータをホスト機器300へ転送する。
プロセッサ230は、コントローラ200全体の動作を制御する。例えばプロセッサ230は、ホスト機器300から読み出し命令を受信した際には、それに応答して、NANDインターフェース回路250に対して読み出しコマンドを発行する。書き込み及び消去の際も同様である。またプロセッサ230は、ウェアレベリング等、NAND型フラッシュメモリ100を管理するための様々な処理を実行する。
NANDインターフェース回路250は、NANDバスを介してNAND型フラッシュメモリ100と接続され、NAND型フラッシュメモリ100との通信を司る。そしてNANDインターフェース回路250は、プロセッサ230から受信した命令に基づき、種々の信号をNAND型フラッシュメモリ100へ送信し、またNAND型フラッシュメモリ100から受信する。
バッファメモリ240は、書き込みデータや読み出しデータを一時的に保持する。
内蔵メモリ220は、例えばDRAMやSRAM等の半導体メモリであり、プロセッサ230の作業領域として使用される。そして内蔵メモリ220は、NAND型フラッシュメモリ100を管理するためのファームウェアや、後述するシフトテーブルや履歴テーブル等の、各種の管理テーブル等を保持する。
ECC回路260は、NAND型フラッシュメモリ100に記憶されるデータに関する誤り検出及び誤り訂正処理を行う。すなわちECC回路260は、データの書き込み時には誤り訂正符号によって生成されたパリティビットを書き込みデータに付与し、データの読み出し時にはこれを復号する。
1.1.3 NAND型フラッシュメモリ100の構成について
次に、NAND型フラッシュメモリ100の構成について説明する。図1に示すようにNAND型フラッシュメモリ100は、メモリセルアレイ110、ロウデコーダ120、ドライバ回路130、センスアンプ140、アドレスレジスタ150、コマンドレジスタ160、及びシーケンサ170を備える。
次に、NAND型フラッシュメモリ100の構成について説明する。図1に示すようにNAND型フラッシュメモリ100は、メモリセルアレイ110、ロウデコーダ120、ドライバ回路130、センスアンプ140、アドレスレジスタ150、コマンドレジスタ160、及びシーケンサ170を備える。
メモリセルアレイ110は、ロウ及びカラムに対応付けられた複数の不揮発性のメモリセルを含む複数のブロックBLKを備えている。図1では一例として4つのブロックBLK0〜BLK3が図示されている。そしてメモリセルアレイ110は、コントローラ200から与えられたデータを記憶する。
ロウデコーダ120は、アドレスレジスタ150内のブロックアドレスBAに基づいてブロックBLK0〜BLK3のいずれかを選択し、更に選択したブロックBLKにおけるロウ方向を選択する。
ドライバ回路130は、アドレスレジスタ150内のページアドレスPAに基づいて、選択されたブロックBLKに対して、ロウデコーダ120を介して電圧を供給する。
センスアンプ140は、データの読み出し時には、メモリセルアレイ110から読み出されたデータをセンスし、必要な演算を行う。そして、このデータDATをコントローラ200に出力する。データの書き込み時には、コントローラ200から受信した書き込みデータDATを、メモリセルアレイ110に転送する。
アドレスレジスタ150は、コントローラ200から受信したアドレスADDを保持する。このアドレスADDには、前述のブロックアドレスBAとページアドレスPAとが含まれる。コマンドレジスタ160は、コントローラ200から受信したコマンドCMDを保持する。
シーケンサ170は、コマンドレジスタ160に保持されたコマンドCMDに基づき、NAND型フラッシュメモリ100全体の動作を制御する。
次に、上記ブロックBLKの構成について図2を用いて説明する。図示するように、ブロックBLKは例えば4つのストリングユニットSU(SU0〜SU3)を含む。また各々のストリングユニットSUは、複数のNANDストリング10を含む。
NANDストリング10の各々は、例えば96個のメモリセルトランジスタMT(MT0〜MT95)及び2個の選択トランジスタST1、ST2を含んでいる。メモリセルトランジスタMTは、制御ゲートと電荷蓄積層とを備え、データを不揮発に保持する。そしてメモリセルトランジスタMTは、選択トランジスタST1のソースと選択トランジスタST2のドレインとの間に直列接続されている。
なお、選択トランジスタST2とメモリセルトランジスタMT0との間、及び選択トランジスタST1とメモリセルトランジスタMT95との間にダミートランジスタが設けられてもよい。ダミートランジスタは、メモリセルトランジスタMTと同様に制御ゲートと電荷蓄積層を備える。しかし、ダミートランジスタはメモリセルトランジスタMTと異なり、データを保持するためのものではなく、NANDストリング10内においては単なる電流経路として機能する。すなわち、ダミートランジスタの閾値は、読み出し動作時や書き込み動作時に常にオン状態となるよう、低い値に設定されている。このダミートランジスタの閾値は、ダミートランジスタに対して書き込み動作を行い、電荷蓄積層内の電荷量を制御することによって、所定の値に設定できる。
ストリングユニットSU0〜SU3の各々における選択トランジスタST1のゲートは、それぞれセレクトゲート線SGD0〜SGD3に接続される。これに対してストリングユニットSU0〜SU3の各々における選択トランジスタST2のゲートは、例えばセレクトゲート線SGSに共通接続される。もちろん、ストリングユニット毎に異なるセレクトゲート線SGS0〜SGS3に接続されても良い。また、同一のブロックBLK内にあるメモリセルトランジスタMT0〜MT95の制御ゲートはそれぞれワード線WL0〜WL95に共通接続される。
また、メモリセルアレイ110内において同一列にあるNANDストリング10の選択トランジスタST1のドレインは、ビット線BL(BL0〜BL(L−1)、但し(L−1)は2以上の自然数)に共通接続される。すなわちビット線BLは、複数のブロックBLK間でNANDストリング10を共通に接続する。更に、複数の選択トランジスタST2のソースは、ソース線SLに共通に接続されている。
つまりストリングユニットSUは、異なるビット線BLに接続され、且つ同一のセレクトゲート線SGDに接続された複数のNANDストリング10を含む。またブロックBLKは、ワード線WLを共通にする複数のストリングユニットSUを含む。そしてメモリセルアレイ110は、ビット線BLを共通にする複数のブロックBLKを複数含む。
図3は、ブロックBLKの一部領域の断面図である。図示するように、p型ウェル領域20上に、複数のNANDストリング10が形成されている。すなわち、ウェル領域20上には、セレクトゲート線SGSとして機能する例えば3層の配線層27、ワード線WL0〜WL95として機能する96層の配線層23、及びセレクトゲート線SGDとして機能する例えば3層の配線層25が、順次積層されている。積層された配線層間には、図示せぬ絶縁膜が形成されている。
そして、これらの配線層25、23、27を貫通してウェル領域20に達するピラー状の導電体31が形成されている。導電体31の側面には、ゲート絶縁膜30、電荷蓄積層(絶縁膜)29、及びブロック絶縁膜28が順次形成され、これらによってメモリセルトランジスタMT並びに選択トランジスタST1及びST2が形成されている。導電体31はNANDストリング10の電流経路として機能し、各トランジスタのチャネルが形成される領域となる。そして導電体31の上端は、ビット線BLとして機能する金属配線層32に接続される。
ウェル領域20の表面領域内には、n+型不純物拡散層33が形成されている。拡散層33上にはコンタクトプラグ35が形成され、コンタクトプラグ35は、ソース線SLとして機能する金属配線層36に接続される。更に、ウェル領域20の表面領域内には、p+型不純物拡散層34が形成されている。拡散層34上にはコンタクトプラグ37が形成され、コンタクトプラグ37は、ウェル配線CPWELLとして機能する金属配線層38に接続される。ウェル配線CPWELLは、ウェル領域20を介して導電体31に電位を与えるための配線である。
以上の構成が、図3を記載した紙面の奥行き方向に複数配列されており、奥行き方向に並ぶ複数のNANDストリング10の集合によってストリングユニットSUが形成される。
本例では、1つのメモリセルトランジスタMTが例えば3ビットデータを保持可能である。この3ビットデータを、下位ビットからそれぞれlowerビット、middleビット、及びupperビットと呼ぶことにする。そして、同一のワード線に接続されたメモリセルの保持するlowerビットの集合をlowerページと呼び、middleビットの集合をmiddleページと呼び、upperビットの集合をupperページと呼ぶ。つまり、1本のワード線WLには3ページが割り当てられ、96本のワード線WLを含むブロックBLKは288ページ分の容量を有することになる。あるいは言い換えるならば、「ページ」とは、同一ワード線に接続されたメモリセルによって形成されるメモリ空間の一部、と定義することも出来る。データの書き込み及び読み出しは、このページ毎に行っても良い。
図4は、各メモリセルトランジスタMTの取り得るデータ、閾値分布、及び読み出し時に用いる電圧について示したダイアグラムである。
図示するようにメモリセルトランジスタMTは、閾値電圧に応じて8個の状態を取ることが出来る。この8個の状態を、閾値電圧の低いものから順に、“Er”状態、“A”状態、“B”状態、“C”状態、…及び“G”状態と呼ぶことにする。
“Er”状態のメモリセルトランジスタMTの閾値電圧は、電圧VA未満であり、データの消去状態に相当する。“A”状態のメモリセルトランジスタMTの閾値電圧は、電圧VA以上であり且つVB(>VA)未満である。“B”状態のメモリセルトランジスタMTの閾値電圧は、電圧VB以上であり且つVC(>VB)未満である。“C”状態のメモリセルトランジスタMTの閾値電圧は、電圧VC以上であり且つVD(>VC)未満である。“D”状態のメモリセルトランジスタMTの閾値電圧は、電圧VD以上であり且つVE(>VD)未満である。“E”状態のメモリセルトランジスタMTの閾値電圧は、電圧VE以上であり且つVF(>VE)未満である。“F”状態のメモリセルトランジスタMTの閾値電圧は、電圧VF以上であり且つVG(>VF)未満である。“G”状態のメモリセルトランジスタMTの閾値電圧は、電圧VG以上であり且つVREAD未満である。このように分布する8個の状態のうちで、“G”状態が、閾値電圧の最も高い状態である。なおVREADは、読み出し動作時において非選択ワード線に印加される電圧であり、保持データにかかわらずメモリセルトランジスタMTをオンさせる電圧である。
また上記閾値分布は、前述のlowerビット、middleビット、及びupperビットからなる3ビット(3ページ)データを書き込むことで実現される。すなわち、上記8つの状態と、lowerビット、middleビット、及びupperビットとの関係は、次の通りである。
“Er”状態:“111”(“upper/middle/lower”の順で表記)
“A”状態:“110”
“B”状態:“100”
“C”状態:“000”
“D”状態:“010”
“E”状態:“011”
“F”状態:“001”
“G”状態:“101”
このように、閾値分布において隣り合う2つの状態に対応するデータ間では、3ビットのうちの1ビットのみが変化する。
“Er”状態:“111”(“upper/middle/lower”の順で表記)
“A”状態:“110”
“B”状態:“100”
“C”状態:“000”
“D”状態:“010”
“E”状態:“011”
“F”状態:“001”
“G”状態:“101”
このように、閾値分布において隣り合う2つの状態に対応するデータ間では、3ビットのうちの1ビットのみが変化する。
従って、lowerビットを読み出す際には、lowerビットの値(“0” or “1”)が変化する境界に相当する電圧を用いれば良く、このことはmiddleビット及びupperビットでも同様である。
すなわち、図4に示すようにlowerページ読み出しは、“Er”状態と“A”状態とを区別する電圧VA、及び“D”状態と“E”状態とを区別する電圧VEを読み出し電圧として用いる。電圧VA及びVEを用いた読み出し動作を、それぞれ読み出し動作AR及びERと呼ぶ。
middleページ読み出しは、“A”状態と“B”状態とを区別する電圧VB、“C”状態と“D”状態とを区別する電圧VD、及び“E”状態と“F”状態との間の電圧VFを読み出し電圧として用いる。電圧VB、VD、及びVFを用いた読み出し動作を、それぞれ読み出し動作BR、DR、及びFRと呼ぶ。
そしてupperページ読み出しは、“B”状態と“C”状態とを区別する電圧VC、及び“F”状態と“G”状態とを区別する電圧VGを読み出し電圧として用いる。電圧VC及びVGを用いた読み出し動作を、それぞれ読み出し動作CR及びGRと呼ぶ。
また、データの消去はブロックBLK単位、またはブロックBLKよりも小さい単位で行うことが出来る。消去方法に関しては、例えば“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE”という2011年9月18日に出願された米国特許出願13/235,389号に記載されている。また、“NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE”という2010年1月27日に出願された米国特許出願12/694,690号に記載されている。更に、“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE AND DATA ERASE METHOD THEREOF”という2012年5月30日に出願された米国特許出願13/483,610号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
更に、メモリセルアレイ110の構成についてはその他の構成であっても良い。すなわちメモリセルアレイ110の構成については、例えば、“THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY”という2009年3月19日に出願された米国特許出願12/407,403号に記載されている。また、“THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY”という2009年3月18日に出願された米国特許出願12/406,524号、“NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE AND METHOD OF MANUFACTURING THE SAME”という2010年3月25日に出願された米国特許出願12/679,991号、及び“SEMICONDUCTOR MEMORY AND METHOD FOR MANUFACTURING SAME”という2009年3月23日に出願された米国特許出願12/532,030号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。または、例えば半導体基板上にロウデコーダ120やセンスアンプ140等の周辺回路が形成され、その上方にソース線SLが形成され、このソース線SL上に図3に示すNANDストリング10が形成される場合であってもよい。
1.1.4 シフトテーブルについて
次に、シフトテーブルについて説明する。前述の通りコントローラ200は、例えばメモリ220においてシフトテーブルを保持する。シフトテーブルの概念につき、図5を用いて説明する。図5はシフトテーブルの一例の概念図である。
次に、シフトテーブルについて説明する。前述の通りコントローラ200は、例えばメモリ220においてシフトテーブルを保持する。シフトテーブルの概念につき、図5を用いて説明する。図5はシフトテーブルの一例の概念図である。
図示するようにシフトテーブルは、複数(図5の例では12個)のエントリを有する。各エントリには、“1”〜“12”のインデックスが順番に割り当てられている。そして各エントリは、読み出し動作AR、BR、CR、…及びGRにおいて選択ワード線WLに印加される読み出し電圧のシフト量を示す情報が保持される。
このシフト量について説明する。すなわち、図4で説明した“Er”状態、“A”状態、…、及び“G”状態に対応する閾値分布は、互いに離隔している。従って、電圧VA、VB、…及びVGによって、各状態を区別することができる。しかし、この閾値分布は、隣接セルとの干渉に加えて、諸々の原因で発生する電荷蓄積層への電子のトラップやデトラップ(これらを干渉効果と呼ぶ)により、その分布幅が拡がる場合がある。例えば、データを書き込んだ後に時間が経過すると、隣接セルとの干渉により閾値分布が低電圧側にシフトする場合がある。このシフト量は、経過時間が長いほど大きく、また書き込み回数の多いブロックほど大きい。また、他のメモリセルトランジスタMTからデータが読み出される場合や、データが書き込まれる場合には、逆に閾値分布は高電圧側にシフトする場合がある。このシフト量は、ワード線WLに印加される電圧が大きく、また印加期間が長いほど大きい。
このように、干渉効果により閾値分布が変動すると、上記の電圧VA、VB、…及びVGではデータを正しく読み出せないことがある。すなわち、読み出しデータに含まれるエラービット数が、ECC回路260の訂正可能ビット数を超える。このような場合にコントローラ200は、読み出し電圧を電圧VA、VB、…及びVG(これをデフォルトの電圧と呼ぶ)からシフトさせて、再度データの読み出しを試みる。これをシフトリードと呼ぶ。この際のデフォルトの電圧からのシフト量ΔVを示す情報を保持しているのが、図5に示すシフトテーブルである。
本例におけるシフトテーブルでは、読み出し動作AR、BR、…及びGRのそれぞれにつき、シフト量ΔVAi、ΔVBi、…及びΔVGiが用意されている(iはインデックス、すなわち1〜12のいずれかの自然数であり、これらを区別しない場合にはΔVと総称する)。あるインデックスiに相当するシフト量ΔVAi、ΔVBi、…及びΔVGiは、全てが異なる値である場合であっても良いし、一部が同じ値を有する場合であっても良いし、全てが同じ値を有する場合であっても良い。これらのシフト量ΔVは、例えばコントローラ200によって適宜、適切な値に設定される。例えば、シフトテーブルの各インデックスに対応するシフト量ΔVは、コントローラ200により上書きされてもよいし、またコントローラ200によりインデックスが追加されてもよい。
また本例おけるシフトテーブルでは、例えばインデックスの値が小さいものほど、干渉効果の影響が小さい場合に対応する。すなわち、インデックス=1に対応するシフト量ΔV(すなわちΔVA1、ΔVB2、…及びΔVG1)は、干渉効果の影響が最も小さい場合に最適化されている。これに対してインデックス=12に対応するシフト量ΔV(すなわちΔVA12、ΔVB12、…及びΔVG12)は、干渉効果の影響が最も大きい場合に最適化されている。もちろん、シフトテーブルはこのような例に限らず、インデックスの順番は本例に限定されるものではない。
上記構成のシフトテーブルは、例えばNAND型フラッシュメモリ100のいずれかのブロックBLKに保持される。そして、例えばメモリシステム1への電源投入直後等に、コントローラ200によって読み出され、メモリ220等に保持される。またメモリシステム1への電源遮断時には、メモリ220内のシフトテーブルが例えばNAND型フラッシュメモリ100のいずれかのブロックBLKに書き込まれてもよい。しかし、シフトテーブルはNAND型フラッシュメモリ100のROMフューズ内に書き込まれ、出荷後にシフトテーブル自体は更新されない場合であってもよい。
1.1.5 履歴テーブルについて
コントローラ200は、更に履歴テーブルを保持する。履歴テーブルは、図5で説明したシフトテーブル内のシフト量のうち、ワード線WL0〜WL95に対していずれのシフト量を使用するかを示すテーブルである。履歴テーブルの2つの例を図6及び図7に示す。図6及び図7は履歴テーブルの概念図と共にシリコンピラー31の断面図を示し、図中におけるワード線WLの表記位置とシリコンピラー31の高さとが対応している。
コントローラ200は、更に履歴テーブルを保持する。履歴テーブルは、図5で説明したシフトテーブル内のシフト量のうち、ワード線WL0〜WL95に対していずれのシフト量を使用するかを示すテーブルである。履歴テーブルの2つの例を図6及び図7に示す。図6及び図7は履歴テーブルの概念図と共にシリコンピラー31の断面図を示し、図中におけるワード線WLの表記位置とシリコンピラー31の高さとが対応している。
<第1の例について>
まず、履歴テーブルの第1の例につき、図6を用いて説明する。図示するようにシリコンピラー31は、下層ほどその直径が小さくなる構造を有しており、下端における直径をW1とし、上端における直径をW2とすると、W2>W1なる関係がある。
まず、履歴テーブルの第1の例につき、図6を用いて説明する。図示するようにシリコンピラー31は、下層ほどその直径が小さくなる構造を有しており、下端における直径をW1とし、上端における直径をW2とすると、W2>W1なる関係がある。
履歴テーブルにおいては、複数のワード線WLがグループ化される。本例では、ワード線WLは12本ずつ順次グループ化され、このグループ毎にインデックスが割り当てられている。より具体的には、ワード線WL0〜WL11はワード線グループGP0に属し、ワード線WL12〜WL23はワード線グループGP1に属し、ワード線WL24〜WL35はワード線グループGP2に属し、以下同様であり、最後にワード線WL84〜WL95がワード線グループGP7に属する。
そして、ワード線グループGP0にはインデックス“5”が割り当てられている。これは、グループGP0に属するワード線WL0〜WL11のいずれかに読み出し電圧が印加される際には、デフォルトの値に対して、図5に示すシフトテーブルにおけるインデックス=“5”に対応するシフト量(ΔVA5、ΔVB5、…ΔVG5)が適用されることを意味する。同様にして、ワード線グループGP1にはインデックス“3”が割り当てられ、ワード線グループGP2にはインデックス“2”が割り当てられ、そしてワード線グループGP7にはインデックス“3”が割り当てられる。
履歴テーブルで指定されるシフト量は、例えばset featureコマンド等を用いて、コントローラ200によりNAND型フラッシュメモリ100に設定される。この点については、後述する1.2の項で説明する。
<第2の例について>
次に、履歴テーブルの第2の例につき図7を用いて説明する。第2の例は、第1の例と異なるグルーピングの仕方に関するものである。図示するように、シリコンピラー31の形状は第1の例と同様である。
次に、履歴テーブルの第2の例につき図7を用いて説明する。第2の例は、第1の例と異なるグルーピングの仕方に関するものである。図示するように、シリコンピラー31の形状は第1の例と同様である。
そして、ワード線WL0〜WL3がワード線グループGP0に属し、ワード線WL4〜WL25がワード線グループGP1に属し、ワード線WL26〜WL47がワード線グループGP2に属し、ワード線WL48〜WL69がワード線グループGP3に属する。更に、ワード線WL70〜WL91がワード線グループGP4に属し、ワード線WL92〜WL95がワード線グループGP5に属する。
すなわち、本例は第1の例と異なり、属するワード線WL本数がワード線グループGP間で異なる。具体的には、ワード線グループGP0及びGP5にはそれぞれ4本のワード線WLが割り当てられているのに対して、ワード線グループGP1〜GP4にはそれぞれ22本のワード線WLが割り当てられている。
このような割り当て方を用いる理由は、シリコンピラー31の上端部分(ワード線WL92〜WL95)及び下端部分(ワード線WL0〜WL3)に設けられるメモリセルトランジスタの特性が、その他の領域のメモリセルトランジスタの特性と比較的大きく異なる可能性が高いからである。従って本例では、特性が大きく変化すると思われる領域のワード線WLは細かくグループ化し、その他の領域のワード線WLは大まかにグループ化する。これにより、メモリセルトランジスタの特性の位置依存性に対応できる。
1.2 読み出し動作について
次に、本実施形態に係るデータの読み出し動作について、図8を参照して説明する。図8は、図7で説明したグルーピングにおいて、ワード線WL0〜WL95を順次選択する場合を示しており、且つNAND型フラッシュメモリ100に電源投入後に初めてワード線WL0〜WL95が選択される場合を示している。
次に、本実施形態に係るデータの読み出し動作について、図8を参照して説明する。図8は、図7で説明したグルーピングにおいて、ワード線WL0〜WL95を順次選択する場合を示しており、且つNAND型フラッシュメモリ100に電源投入後に初めてワード線WL0〜WL95が選択される場合を示している。
ホスト機器300からデータの要求を受信したコントローラ200の例えばプロセッサ230は、まずメモリ220に読み出されたシフトテーブルを参照する。これによりプロセッサ230は、各ブロックBLKの各ワード線WLに適用すべきシフト量を把握する。そしてコントローラ200はSet featureコマンドを発行して、把握したシフト量を、NAND型フラッシュメモリ100に設定する。
すなわち図8に示すように、まずワード線グループGP0につきset feature コマンドを発行する。set featureコマンドは、NAND型フラッシュメモリ100における電圧やタイミング等、種々の設定を変更可能なコマンドである。set featureのコマンドシーケンスは下記の通りである。
<XXh><ADD><D1><D2><D3><D4>
このコマンドシーケンスにおいて、“XXh”は設定変更の旨をNAND型フラッシュメモリ100に宣言するコマンドである。“ADD”は、NAND型フラッシュメモリ100において、set featureコマンドにより変更対象となる設定値を保持するレジスタを指定するアドレスである。その後、コントローラ200はデータを4サイクルにわたって送信する(データ“D1”〜“D4”)。このデータ“D1”〜“D4”が、グループGP0に適用すべきシフト量に関する情報を含む。図7の例であると、“D1”〜“D4”は、インデックス=“6”に相当するシフト量に関する情報を含む。
<XXh><ADD><D1><D2><D3><D4>
このコマンドシーケンスにおいて、“XXh”は設定変更の旨をNAND型フラッシュメモリ100に宣言するコマンドである。“ADD”は、NAND型フラッシュメモリ100において、set featureコマンドにより変更対象となる設定値を保持するレジスタを指定するアドレスである。その後、コントローラ200はデータを4サイクルにわたって送信する(データ“D1”〜“D4”)。このデータ“D1”〜“D4”が、グループGP0に適用すべきシフト量に関する情報を含む。図7の例であると、“D1”〜“D4”は、インデックス=“6”に相当するシフト量に関する情報を含む。
この結果、NAND型フラッシュメモリ100において指定されたレジスタには、図9Aに示す情報が保持される。図9Aはレジスタの概念図である。すなわち、レジスタは複数のエントリを有しており、図9Aの例では2つのエントリを有している。そして、このうちの1つのエントリに、ブロックBLK0のワード線グループGP0に対して読み出し動作AR、BR、…及びGRを行う際に用いるシフト量ΔVが保持される。以後、NAND型フラッシュメモリ100のドライバ130は、グループGP0が選択される際には、読み出し時におけるデフォルトの電圧VA、VB、…及びVGに対して、レジスタに保持されたシフト量ΔVを加えた値の電圧を読み出し電圧VCGRVとして、ロウデコーダ120を介して、選択ワード線WLに印加する。あるいは、図1において図示を省略した電圧発生回路は、レジスタ内の情報に従って電圧VCGRVを生成する。
引き続きコントローラ200は、図8に示すようにシフトリードコマンドを発行する。シフトリードのコマンドシーケンスは下記の通りである。
<ZZh><00h><ADD><ADD><ADD><ADD><ADD><30h>
このコマンドシーケンスにおいて、“ZZh”はシフトリードをNAND型フラッシュメモリ100に宣言するコマンドである。“00h”は、これからアドレスが送信される旨をNAND型フラッシュメモリ100へ通知するコマンドである。そして、5サイクルにわたって送信されるアドレス“ADD”により、読み出し対象のブロックBLK、ワード線WL、及びページが指定される。最初に指定されるアドレスは、本例の場合、ワード線WL0のlowerページである。そして、“30h”コマンドを受信することによりNAND型フラッシュメモリ100はビジー状態となり、メモリセルアレイ110からのデータの読み出しを実行する。前述の通りNAND型フラッシュメモリ100は、set featureコマンドにより指定されたシフト量ΔVだけシフトした読み出し電圧VCGRVを選択ワード線WLに印加する。例えばワード線WL0のlowerページが読み出される場合には、読み出し電圧VCGRVとして、(VA+ΔVA6)及び(VE+ΔVE6)が用いられる。
<ZZh><00h><ADD><ADD><ADD><ADD><ADD><30h>
このコマンドシーケンスにおいて、“ZZh”はシフトリードをNAND型フラッシュメモリ100に宣言するコマンドである。“00h”は、これからアドレスが送信される旨をNAND型フラッシュメモリ100へ通知するコマンドである。そして、5サイクルにわたって送信されるアドレス“ADD”により、読み出し対象のブロックBLK、ワード線WL、及びページが指定される。最初に指定されるアドレスは、本例の場合、ワード線WL0のlowerページである。そして、“30h”コマンドを受信することによりNAND型フラッシュメモリ100はビジー状態となり、メモリセルアレイ110からのデータの読み出しを実行する。前述の通りNAND型フラッシュメモリ100は、set featureコマンドにより指定されたシフト量ΔVだけシフトした読み出し電圧VCGRVを選択ワード線WLに印加する。例えばワード線WL0のlowerページが読み出される場合には、読み出し電圧VCGRVとして、(VA+ΔVA6)及び(VE+ΔVE6)が用いられる。
NAND型フラッシュメモリ100がビジー状態からレディ状態に復帰すると、コントローラ200は、データ出力コマンドを発行する。図8に示すようにデータ出力のためのコマンドシーケンスは下記の通りである。
<05h><ADD><ADD><ADD><ADD><ADD><E0h>
このコマンドシーケンスにおいて、“05h”はランダムデータ出力をNAND型フラッシュメモリ100に宣言するコマンドである。引き続き、例えば5サイクルにわたって送信されるアドレス“ADD”により、コントローラ200へ転送すべきデータに対応するカラムが指定される。そして、最後に“E0h”がNAND型フラッシュメモリ100に送信される。その後、コントローラ200がリードイネーブル信号/REをトグルさせると、NAND型フラッシュメモリ100は指定されたカラムから順番にデータをコントローラ200へ送信する。リードイネーブル信号/REは、コントローラ200からNAND型フラッシュメモリ100へ送信される信号であり、データの読み出し時にアサート(本例では“L”レベル)される信号である。このようにして、ワード線WL0のlowerページデータがコントローラ200に読み出される。
<05h><ADD><ADD><ADD><ADD><ADD><E0h>
このコマンドシーケンスにおいて、“05h”はランダムデータ出力をNAND型フラッシュメモリ100に宣言するコマンドである。引き続き、例えば5サイクルにわたって送信されるアドレス“ADD”により、コントローラ200へ転送すべきデータに対応するカラムが指定される。そして、最後に“E0h”がNAND型フラッシュメモリ100に送信される。その後、コントローラ200がリードイネーブル信号/REをトグルさせると、NAND型フラッシュメモリ100は指定されたカラムから順番にデータをコントローラ200へ送信する。リードイネーブル信号/REは、コントローラ200からNAND型フラッシュメモリ100へ送信される信号であり、データの読み出し時にアサート(本例では“L”レベル)される信号である。このようにして、ワード線WL0のlowerページデータがコントローラ200に読み出される。
引き続きコントローラ200は、シフトリードコマンドとデータ出力コマンドとを発行することで、ワード線WL0のmiddleページデータ及びupperページデータを読み出す。更に、ワード線WL1〜WL3についても同様のコマンドを発行し、ワード線WL1〜WL3のlowerページデータ、middleページデータ、及びupperページデータを読み出す。この期間、選択ワード線WLには、図9Aに示すシフト値の適用された読み出し電圧VCGRVが印加される。すなわち、ワード線WL0と同じワード線グループGP0に属するワード線WL1〜WL3を選択してデータを読み出す際には、set featureコマンドを発行する必要はない。
次にコントローラ200は、ワード線WL4のlowerページデータを読み出す。ワード線WL4は、ワード線グループGP1に属する。従ってコントローラ200は、図8に示すようにset featureコマンドを発行する。この結果、図9Bに示すように、図9Aに示したレジスタの次のエントリに、ワード線グループGP1に対して読み出し動作AR、BR、…及びGRを行う際に用いるシフト量ΔVが保持される。
その後の動作はグループGP0の場合と同様である。すなわち、上記動作がワード線グループGP2〜GP5についても行われる。但し、空きエントリがない場合には、いずれかのエントリにシフト量が上書きされる。この様子を図10Aに示す。図10Aでは、グループGP2についてのシフト量が、グループGP0についてのシフト量に上書きされる場合を示している。このように、エントリ数には限りがあるので、読み出しコマンドの発行の度に、レジスタ内のいずれかのエントリが更新される。
以上のように、例えば図10Aに示すレジスタ内に保持されたシフト量ΔVを用いて、メモリセルアレイ110からデータが読み出される。またコントローラ200は、各ワード線グループGPにつき、例えば読み出しデータに含まれるエラービット数等を基準に、シフト量が適切か否かを判断する。例えばコントローラ200は、エラービット数が規定値を超える場合等には、シフト量が適切でないと判断する。この場合、コントローラ200は、エラービット数が規定値を下回るシフト値を探索し、この探索結果に基づいて履歴テーブルの値を適切な値に更新する。またコントローラ200は、履歴テーブルにおいてシフト値が更新されたグループGPに再度アクセスする際には、set featureコマンドを発行して、レジスタ内のシフト量を適切な値に更新する。この様子を図10Bに示す。図10Bでは、ワード線グループGP2のシフト量ΔVが更新される例を示している。すなわち、コントローラ200において履歴テーブルのワード線グループGP2に対応するインデックスが“1”から“2”に更新される。これに伴い、図10Bに示すようにNAND型フラッシュメモリ100のレジスタ内のシフト量もΔVA1、ΔVB1、…ΔVG1からΔVA2、ΔVB2、…ΔVG2に更新される。
なお、一度生成された履歴テーブルは、NAND型フラッシュメモリ100(またはメモリシステム1)の電源切断時に、NAND型フラッシュメモリ100のいずれかのブロックBLKに書き込まれても良い。そして前述のシフトテーブルと同様に、例えばNAND型フラッシュメモリ100への電源投入直後に、NAND型フラッシュメモリ100のブロックBLKから履歴テーブルが読み出され、コントローラ200のメモリ220等に保持されても良い。また、ブロックBLKから読み出された履歴テーブルに応じて、例えばシーケンサ170が図10Aに示すようにレジスタを設定してもよい。
1.3 本実施形態に係る効果
本実施形態に係る構成であると、メモリシステム1の動作信頼性を向上できる。本効果につき、以下説明する。
本実施形態に係る構成であると、メモリシステム1の動作信頼性を向上できる。本効果につき、以下説明する。
図6及び図7で説明したように、本実施形態に係る履歴テーブルは、複数のワード線WLをグループ化している。そして、ワード線グループ毎にインデックスが割り当てられている。従って、ワード線1本毎にインデックスが割り当てられる場合に比べて、履歴テーブルの容量を削減できる。またメモリセルトランジスタMTは、その構造が似ていれば特性も似ていると考えられる。そして、特性に影響を与える構造の一つがメモリピラー31の形状である。そこで本実施形態では、対応するメモリピラー31の直径の大きさが近いメモリセルトランジスタMTをグループ化している(図6参照)。従って、ワード線WLをグループ化しても、適切なインデックスをワード線グループGPに割り当てることができる。
更に本実施形態で説明した図7の例では、ワード線WLを均等にグループ化するのではなく、メモリセルトランジスタMTの特性変化の程度に応じてグループ化する。より具体的には、特性の変化の程度が大きいと考えられる領域では、その他の領域よりも細かくワード線WLをグループ化している。これにより、ワード線グループGP毎に、より適切なインデックスを割り当てることができる。
以上のように、適切なインデックスを割り当てることにより、シフトリードにおいて適切な読み出し電圧VCGRVを選択ワード線WLに印加することが可能となる。その結果、データを読み出すために必要なシフトリード回数を低減し、データの読み出し信頼性を向上できる。
2.第2実施形態
次に、第2実施形態に係るメモリシステムについて説明する。本実施形態は、上記第1実施形態において、ホスト機器300からの読み出し要求によることなく、コントローラ200が読み出し命令を発行し、これに応答してNAND型フラッシュメモリ100がメモリセルアレイ110からデータを読み出す動作に関する。この読み出し動作を、以下では「パトロールリード」と呼ぶ。パトロールリードは、例えばメモリシステム1の空き時間に実行される。
次に、第2実施形態に係るメモリシステムについて説明する。本実施形態は、上記第1実施形態において、ホスト機器300からの読み出し要求によることなく、コントローラ200が読み出し命令を発行し、これに応答してNAND型フラッシュメモリ100がメモリセルアレイ110からデータを読み出す動作に関する。この読み出し動作を、以下では「パトロールリード」と呼ぶ。パトロールリードは、例えばメモリシステム1の空き時間に実行される。
2.1 パトロールリードについて
本実施形態に係るパトロールリードは、2種類の動作を含む。1つは通常のシフトリードである。すなわち、第1実施形態で説明したように、コントローラ200がシフトリード命令を発行し、NAND型フラッシュメモリ100は、set featureで設定された読み出し電圧VCGRVを選択ワード線WLに印加し、メモリセルアレイ110からデータが読み出される。但し、メモリセルアレイ110から読み出されたデータは、ホスト機器300へは送信されない。
本実施形態に係るパトロールリードは、2種類の動作を含む。1つは通常のシフトリードである。すなわち、第1実施形態で説明したように、コントローラ200がシフトリード命令を発行し、NAND型フラッシュメモリ100は、set featureで設定された読み出し電圧VCGRVを選択ワード線WLに印加し、メモリセルアレイ110からデータが読み出される。但し、メモリセルアレイ110から読み出されたデータは、ホスト機器300へは送信されない。
もう1つがトラッキング動作である。トラッキング動作は、隣り合う閾値分布が互いに重なる場合に、その交点を求め、得られた交点から適切な読み出し電圧、すなわちシフト量を算出するものである。または、交点の代わりに、読み出し電圧を変化させていった際に、ECCにおけるエラービット数が最小となる電圧、またはECCによるエラー訂正が可能となる電圧を探索するものである。以下では、交点を算出する場合を例にトラッキング動作につき簡単に説明する。
図11Aは、一例として“A”状態と“B”状態の閾値分布の様子を示している。図示するように、例えばデータの書き込み直後の閾値分布が図11A上図の通りであったとする。しかし、ディスターブ等により図11A下図のように、閾値分布の分布幅が拡がったとする。すると、電圧VBで読み出しを行うと、図11A下図の斜線部分の領域に相当するメモリセルトランジスタMTがエラービットとなる。そして、発生したエラービット数が、ECC回路260のエラー訂正可能ビット数を超えていれば、データを正しく読み出すことが困難となる。そこで、この2つの閾値分布が重なった交点の位置(電圧)を探索し、その近傍の電圧を適切な読み出し電圧VB’とする。これがトラッキング動作である。
トラッキング動作の詳細につき、図11Bを用いて説明する。図11Bは、読み出し電圧VCGRVに対するオンセル数(オン状態となるメモリセル数の累積値)と、これに対応した“A”状態の閾値分布と“B”状態の閾値分布を示すグラフである。
図11B上図に示すように、電圧VCGRVを上昇させていくと、“A”状態の中央値(最も分布確率の高い電圧)である電圧VmidAより僅かに小さい電圧でオンセル数が急激に増大し、dN/dVが最大となる(但し、Nはオンセル数で、Vは選択ワード線の電圧である)。更に電圧VCGRVを大きくしていくと、オンセル数の増加率は小さくなり、ある値において最小値となる。この電圧VCGRVにおける増加率は、“A”状態の閾値分布と“B”状態の閾値分布とが重ならない場合にはゼロとなる。他方で重なる場合には、ある一定のゼロでは無い最小値(>0)となる。そして更に電圧VCGRVを大きくしていくと、再びオンセル数の増加率が大きくなり、“B”状態の中央値である電圧VmidBより僅かに小さい電圧で再びdN/dVが最大となる。
上記のオンセル数の累積値の変化によって、図11B下図に示すような閾値分布を求めることが出来る。すなわち、dN/dVが最大値となる電圧より僅かに大きな電圧が、それぞれ“A”状態及び“B”状態の中央値となり、dN/dVが最小値となる電圧が、“A”状態と“B”状態との交点となる閾値分布が得られる。この交点の電圧、すなわち、オンセル数の累積値の増加率が最小となる電圧VCGRVが、見つけるべきVB’となる。
具体的には、コントローラ200は、通常の読み出しコマンドとは異なるテスト読み出しコマンドを発行する。するとNAND型フラッシュメモリ100は、1ページ分のデータを読み出し、オンセル数をカウントする。この動作を、電圧VCGRVをシフトさせつつ、複数回繰り返す。この様子を示しているのが図12である。図12上図は、電圧VCGRVに対するオンセル数(オン状態となるメモリセルの総数)を示し、図12下図は、ワード線WLの電圧を1ステップだけ変動させた際に初めてオンするメモリセル数を示すヒストグラムと、それによって得られる閾値分布を示す。
図示するように、まず、通常の読み出しコマンドが発行された際に使用される電圧VBから一定量だけシフトされた電圧VB1を用いて読み出し動作が行われる。このときのオンセル数をN1とする。次に、電圧VB1からΔVBだけプラス方向にシフトされた電圧VB2を用いて読み出し動作が行われる。この時のオンセル数をN2とする。すると、選択ワード線の電圧がVB1からVB2に上昇した際に新たにオンするメモリセル数は、(N2−N1)個である。引き続きコントローラ200は、電圧VB2からプラス方向にΔVBだけシフトされた電圧VB3を用いて読み出し動作を行う。このときのオンセル数をN3とする。すると、選択ワード線の電圧がVB2からVB3に上昇した際に新たにオンするメモリセル数は、(N3−N2)個である。そして、(N2−N1)>(N3−N2)であったとすれば、dN/dV=最小となる電圧は、少なくとも電圧VB2よりも高いと考えられる。従ってコントローラ200は、電圧V3から更にΔVBだけプラス方向にシフトされた電圧VB4を用いて読み出し動作を行う。このときのオンセル数がN4であり、(N4−N3)>(N3−N2)であったとすると、図12下図のようなヒストグラムが得られる。
以上の結果、図12下図に示すような閾値分布が推測され、この分布に基づいてコントローラ200は、電圧VB2とVB3との間が、図11で説明したdN/dV=最小となる位置であると推測し、電圧VB2とVB3の間の値を適切な読み出し電圧VB’に設定する。
上記のようにトラッキング動作において閾値分布の交点を探索する手段としては、例えばディストリビューションリードを用いる方法と、シフトリードトラッキングを用いる方法とがある。以下では、それぞれの方法につき、図13A、図13B、及び図13Cを用いて簡単に説明する。図13A及び図13Bはディストリビューションリード時に選択ワード線WLに印加される電圧VCGRVのタイミングチャートであり、図13Cはシフトリードトラッキング時に選択ワード線WLに印加される電圧VCGRVのタイミングチャートである。そして図13A、図13B、及び図13Cは、図12で説明した交点探索の場合に対応する。
まず図13Aの例について説明する。図13Aは、ディストリビューションリードを用いた1レベルトラッキングの例を示している。ディストリビューションリードは、通常の読み出し動作と異なり、ある電圧を選択ワード線WLに印加した際のオンセルをカウントする動作である。すなわち、通常の読み出しデータ(page-by-page readingの場合)では、データはページ毎に読み出され、図4の例であると、lowerページデータ、middleページデータ、及びupperページデータがそれぞれ読み出される。従って、lowerページデータを読み出す際には、選択ワード線WLには読み出し電圧VCGRVとして電圧VA及びVEが印加される。その他のページについても同様である。しかしディストリビューションリードの場合には、ページデータが読み出されるのではなく、ある電圧をVCGRVに用いた場合に、メモリセルトランジスタMTがオンしたか否かが判定されるに過ぎない。
図13Aの例であると、選択ワード線WLには、電圧VB1、VB2、VB3、及びVB4が順次印加されている。そして、各電圧が選択ワード線WLに印加された際にオン状態となったメモリセルトランジスタ数を、例えばシーケンサ170がカウントする。その結果、図12で説明したヒストグラムが得られ、“A”状態と“B”状態の閾値分布の交点が得られる。なお、図13Aでは電圧VCGRVが単調増加する場合が示されているが、オンセル数の増減の仕方によっては、単調増加に限定されるものではない。
また1レベルトラッキングの場合には、いずれか1つの交点が探索され、その他の交点は、探索された交点に基づいて推測される。すなわち図13Aの例であると、“A”状態と“B”状態の閾値分布の交点は、ディストリビューションリードによって実際に得られたオンセル数に基づいて探索される。しかし、その他の閾値分布の交点(すなわち“Er”状態と“A”状態の交点、“B”状態と“C”状態の交点、“C”状態と“D”状態の交点、…及び“F”状態と“G”状態の交点)は、“A”状態と“B”状態の閾値分布の交点に基づいて推測される。
これに対して、全て(または複数の)の交点を、ディストリビューションリードを用いて求める方法がフルレベルトラッキングである。そして図13Bがフルレベルトラッキングの場合を示している。
図示するように、図13Aで説明した動作が電圧VBだけでなくVA、VC、VD、…及びVGについても行われる。これにより、“Er”状態と“A”状態の交点、“A”状態と“B状態”の交点、“B”状態と“C”状態の交点、…及び“F”状態と“G”状態の交点が求められる。なお、図13Bでは単純化のために図13Aと同様、電圧VA、VB、VC、…及びVGのそれぞれが4段階に変化する場合を示しているが、フルレベルトラッキングの場合には、より精度良く交点を探索するために、ある電圧範囲内において、細かくステップアップ(またはステップダウン)されることが望ましい。
次に、シフトリードトラッキングについて説明する。シフトリードトラッキングでは、通常のページ読み出しと同様のシフトリードが、VCGRVの値を変えつつ繰り返し実行される。この様子を示しているのが図13Cである。図13Cは、lowerページデータを読み出す場合を示している。図示するように、まず読み出し動作AR1及びER1において、選択ワード線WLには電圧VA1及びVE1がそれぞれ印加され、lowerページデータが読み出される。引き続き、読み出し動作AR2及びER2において、選択ワード線WLに電圧VA2及びVE2が印加され、lowerページデータが読み出される。以下同様にして、読み出し動作AR4及びER4まで行われる。その後、“Er”状態と“A”状態の閾値分布の交点、及び“D”状態と“E”状態の閾値分布の交点が算出される。
図14Aは、各読み出し動作AR1/ER1〜AR4/ER4において、読み出し電圧VCGRVをVA1からVE4まで変化させた際の読み出しデータを示す。なお、図14A中における“TR”は、図13Cに示す動作の前に行われるテストリードを示す。テストリードでは、ページデータを読み出すための複数の読み出し電圧(図14Aの例では電圧VAとVE)の間の電圧であり、本例では例えば電圧VCである。この電圧VCを用いて得られるデータは、読み出し電圧VA1〜VA4で得られたデータと読み出し電圧VE1〜VE4で得られたデータとを区別するために用いられる。従って、電圧VA4とVE1との中間の電圧であることが好ましい。
図示するように、読み出し動作AR1/ER1では、メモリセルトランジスタの閾値電圧がVA1未満であると読み出しデータは“1”であり、閾値電圧がVA1以上且つVE1未満であると読み出しデータは“0”であり、閾値電圧がVE1以上であると読み出しデータは“1”である。また読み出し動作AR2/ER2では、メモリセルトランジスタの閾値電圧がVA2未満であると読み出しデータは“1”であり、閾値電圧がVA2以上且つVE2未満であると読み出しデータは“0”であり、閾値電圧がVE2以上であると読み出しデータは“1”である。以下同様であり、i回目(iは自然数)のシフトリードにおける読み出し動作ARi/ERiにおける読み出しデータは、メモリセルトランジスタの閾値電圧がVAi未満であるか、VEi以上であると“1”であり、閾値電圧がVAi以上且つVEi未満であると“0”である。
図14Aに示すような読み出しデータから、読み出し電圧をシフトさせた際のオンセル数の変化を求めるために、図14Bに示す分離データが用いられる。分離データARs1〜ARs4及びERs1〜ERs4は、テストリードTRで読み出されたデータと、読み出し動作AR/ERで読み出されたデータとに基づいて算出される。
本例であると、分離データARsi(iは自然数)は、テストリードTRで読み出されたデータと、読み出し動作ARi/ERiで読み出されたデータとの論理積演算によって算出される(ARs=TR AND (AR/ER))。また分離データERsi(iは自然数)は、テストリードTRで読み出されたデータの反転データと、読み出し動作ARi/ERiで読み出されたデータとの論理積演算によって算出される(ERs=/TR AND (AR/ER))。
この結果、図14Bに示すように、分離データARs1〜ARs4においては、電圧VA4以上の読み出し電圧に対応するデータが全て“0”とされ、電圧VEの変動による影響を取り除くことができる。すなわち、分離データARs1が“1”であるビット数をカウントすることで、閾値電圧がVA1未満であるメモリセルトランジスタ数が分かる。また分離データARs2が“1”であるビット数をカウントすることで、閾値電圧がVA1以上且つVA2未満であるメモリセルトランジスタ数が分かる。
分離データERs1〜ERs4も同様である。すなわち、分離データERs1〜ERs4においては、電圧VE1未満の読み出し電圧に対応するデータが全て“0”とされ、電圧VAの変動による影響を取り除くことができる。すなわち、分離データERs4が“1”であるビット数をカウントすることで、閾値電圧がVE4以上であるメモリセルトランジスタ数が分かる。また分離データERs3が“1”であるビット数をカウントすることで、閾値電圧がVE3以上且つVE4未満であるメモリセルトランジスタ数が分かる。
なお、分離データを得る方法は上記論理積演算に限らず、論理和演算など、種々の方法を用いることができる。またシフトリードトラッキングについては、例えば“SEMICONDUCTOR STORAGE DEVICE AND MEMORY SYSTEM”という2017年9月7日に出願された米国特許出願No. 15/697,737号に記載されている。本特許出願は、その全体が本願明細書において参照により援用されている。
2.2 ブロックBLK内のパトロールリードについて
次に、ブロックBLK内におけるパトロールリードの方法につき、図15を用いて説明する。図15は、各ストリングユニットSU0〜SU3におけるワード線WL0〜WL95に対するパトロールリードの内容を示すダイアグラムであり、空欄の箇所は通常シフトリードを行うことを意味する。
次に、ブロックBLK内におけるパトロールリードの方法につき、図15を用いて説明する。図15は、各ストリングユニットSU0〜SU3におけるワード線WL0〜WL95に対するパトロールリードの内容を示すダイアグラムであり、空欄の箇所は通常シフトリードを行うことを意味する。
本例であると、各ワード線グループGPにおいて、いずれかのストリングユニットSUのいずれかのワード線WLについてのみトラッキング動作が行われ、その他のワード線に対してはシフトリードが行われる。すなわち図15の例であると、ストリングユニットSU0において、各ワード線グループGP0〜GP7の先頭ワード線WL0、WL12、WL24、WL36、WL48、WL60、WL72、及びWL84に対してトラッキング動作が行われる。その他のワード線WL1〜WL11、WL13〜WL23、WL25〜WL35、WL37〜WL47、WL49〜WL59、WL61〜WL71、WL73〜WL83、及びWL85〜WL95に対しては、トラッキング動作は行われずにシフトリードが行われる。また、ストリングユニットSU0以外のSU1〜SU3の全ワード線WL0〜WL95に対しても、トラッキング動作は行われず、通常のシフトリードが行われる。
図16は、本実施形態に係るパトロールリードのフローチャートである。図16では、シフトリードトラッキングを用いてトラッキング動作を行う場合を例に挙げているが、ディストリビューションリードを用いる場合であってもよい。
図示するように、コントローラ200からテストコマンドを受信したNAND型フラッシュメモリ100では、まずシーケンサ170が、ストリングユニットSU0のワード線WL0を選択してトラッキング動作を実行する(ステップS100)。図16の例では、図13C、図14A、及び図14Bを用いて説明したシフトリードトラッキングが行われる。すなわち、ステップS100のトラッキング動作は、ワード線WL0のlowerページ、middleページ、及びupperページのそれぞれにつき行われる。また、本例におけるトラッキング動作は例えばオンチップトラッキング(on-chip tracking)であり、オンセル数のカウントやヒストグラムに基づく交点探索処理は、コントローラ200ではなくNAND型フラッシュメモリ100内(例えばシーケンサ170)で実行され得る。もちろん、交点探索処理がコントローラ200で行われる場合であってもよい。
そしてコントローラ200は、NAND型フラッシュメモリ100からlowerページ、middleページ、及びupperページにおける閾値分布の交点情報を受信し、例えばメモリ220内に保持される履歴テーブルを更新する(ステップS101)。すなわちプロセッサ230は、図5に示すシフトテーブルにおいて、NAND型フラッシュメモリ100から受信した交点情報に最も適したシフト量に対応するインデックスを選択する。そしてプロセッサ230は、例えば図6や図7で説明した履歴テーブルにおけるワード線グループGP0のインデックスを、選択したインデックスに更新する。
次にコントローラ200は、ストリングユニットSU0のワード線WL0に対するシフトリードをNAND型フラッシュメモリ100に命令する(ステップS102)。このステップS102では、例えば図8で説明したように、まずset featureコマンドによりNAND型フラッシュメモリ100のレジスタ内のシフト値が更新される。引き続き、コントローラ200はシフトリードコマンド及びデータ出力コマンドを発行する。これにより、更新されたシフト値を用いてメモリセルアレイ110から読み出されたデータがコントローラ200へ送信される。
なお、NAND型フラッシュメモリ100が、閾値分布の交点とシフト値との関係を有しており、ステップS101において例えばシーケンサ170がレジスタ内のシフト値を更新してもよい。この場合には、ステップS102においてset featureコマンドが発行される必要はない。
図17は、ステップS102において、シフトリードコマンドに応じてデータが読み出される際のブロックBLK0の回路図である。図示するようにシフトリード時には、ロウデコーダ120がセレクトゲート線SGD0及びSGSに電圧VSG(例えば4.3V)を転送する。電圧VSGは、選択トランジスタST1及びST2をオン状態にする電圧である。その他のセレクトゲート線SGD1〜SGD3には0Vが転送され、ストリングユニットSU1〜SU3の選択トランジスタST1はオフ状態となる。更にロウデコーダ120は、選択ワード線WL0に電圧VCGRVを転送する。この読み出し電圧VCGRVは、デフォルトの電圧から、ステップS101で更新されたインデックスに対応する値だけシフトされた電圧である。またロウデコーダ120は、その他の非選択ワード線WL1〜WL95に電圧VREADを転送する。電圧VREADは、保持データにかかわらずメモリセルトランジスタMTをオン状態にする電圧であり、例えば8.0V程度である。なお、選択ワード線に隣り合う非選択ワード線には電圧VREADKが印加されても良く、VREADK>VREADであり、例えば8.2V程度である。更に、ソース線SLは接地される。
また、センスアンプ140がビット線BLをプリチャージする。選択ワード線WL0に接続されたメモリセルトランジスタMTがオン状態となれば、ビット線BL0からソース線SLに電流が流れ、オフ状態であれば電流はほぼ流れない。このビット線BL0の電流または電圧をセンスアンプ140が検出して、読み出しデータが“0”であるか“1”であるかを判断する。
上記のようにして読み出された1ページ分のデータは、データ出力コマンドに応答して、NAND型フラッシュメモリ100からコントローラ200へ送信される。そしてECC回路260がエラーの検出及び訂正を行う(ステップS103)。その結果、エラーが検出され、且つそのエラーを訂正できなかった場合には(ステップS103、NO)、コントローラ200は、リフレッシュ動作をNAND型フラッシュメモリ100に命令する(ステップS104)。リフレッシュ動作時のブロックBLK0の様子を図18に示す。
図示するように、コントローラ200からリフレッシュ命令が受信されると、ロウデコーダ120は、ブロックBLK0の全ワード線WL0〜WL95に例えば電圧VREADを転送する。またロウデコーダ120は、ブロックBLK0の全セレクトゲート線SGD0〜SGD3及びSGSに電圧VSGを転送する。この結果、ブロックBLK0のストリングユニットSU0〜SU3の全メモリセルトランジスタMTには、電圧VREADによる電圧ストレスがかかり、その閾値電圧が高電圧側にシフトする。
このように、閾値電圧を高電圧側にシフトさせる動作がリフレッシュ動作である。NAND型フラッシュメモリでは、メモリセルトランジスタMTにデータが書き込まれた後、時間が経過するにつれてメモリセルトランジスタMTの閾値電圧が低下する場合がある。この理由は、例えば電荷蓄積層に注入した電子がメモリセルトランジスタ間の領域に移動して、メモリセルトランジスタMTの電荷蓄積層内の電子数が実質的に減少するからである(干渉効果)。従って、コントローラ200はリフレッシュ動作を行うことにより、干渉効果により低電圧側にシフトした閾値電圧を高電圧側に戻し、これによりステップS101で更新されたインデックスによるシフトリードの成功確率を向上させる。
なお、リフレッシュ動作の方法は図18に限定されず、メモリセルトランジスタMTに電圧ストレスを与えることができれば、その方法は問わない。例えば、セレクトゲート線SGD0に電圧VSGが印加される一方で、セレクトゲート線SGD1〜SGD3には0Vが印加されてもよい。または、リフレッシュ動作は、データの読み出し動作時と同様にいずれかの選択ワード線WLに電圧VCGRVが印加され、その他の非選択ワード線WLに電圧VREADが印加される場合であってもよい。または、図示せぬダミーワード線(例えばセレクトゲート線SGD、SGSとワード線WLとの間に設けられる)に電圧VCGRVが印加される場合であってもよい。
更にリフレッシュ動作は、上記のようにメモリセルトランジスタMTに電圧ストレスを印加する方法に限らない。例えばデータを別のブロックBLKにコピーすることであってもよい。具体的には、例えばブロックBLK0内のデータが読み出し対象であり、且つステップS103、S106、S109、またはS112でエラー訂正に失敗した場合、コントローラ200はステップS104、S107、S110、またはS113において、更に訂正能力の高い方法によりエラーを訂正する。一例としては、ステップS103、S106、S109、およびS112におけるエラー訂正が硬判定によるものであるのに対して、ステップS104、S107、S110、及びS113におけるエラー訂正が軟判定による場合である。または、ステップS104、S107、S110、及びS113におけるエラー訂正が、RAID(Redundant Arrays of inexpensive Disks)を利用した場合である。そしてコントローラ200は、エラーが訂正されたデータと共に、ブロックBLK0内の有効データ全てを、別の空きブロックBLK1にコピーする。そしてブロックBLK0内のデータを全て消去する。それまでブロックBLK0に割り当てられていた論理アドレスは、データのコピー先であるブロックBLK1に割り当てられる。リフレッシュ動作は、このような方法であってもよい。
コントローラ200は、上記のステップS102〜S104の処理を、lowerページ、middleページ、及びupperページに対して実行する。更にコントローラ200は、上記のステップS102〜S104と同様の処理を、ストリングユニットSU1、SU2、及びSU3のワード線WL0のlowerページ、middleページ、及びupperページに対して実行する(ステップS105〜S107、S108〜S110、S111〜S113)。この際に用いられる読み出し電圧VCGRVは、ステップS101で得られたインデックスに対応する。
更にコントローラ200は、上記のステップS102〜S113で説明した動作を、ストリングユニットSU0〜SU3の各々におけるワード線WL1〜WL11を順次選択して実行する(ステップS114)。この際に用いられる読み出し電圧VCGRVも、ステップS101で得られたインデックスに対応する。
以上のようにしてワード線グループGP0に関するパトロールリードが完了すると、メモリシステム1は、ワード線グループGP0に行った処理と同様の処理をワード線グループGP1〜GP7に対して実行する(ステップS115)。
すなわち、まずストリングユニットSU0のワード線WL12を選択してトラッキング動作が実行され(ステップS100)、ワード線グループGP1で使用されるインデックスが決定される(ステップS101)。その後は、ストリングユニットSU0〜SU3の各々におけるワード線WL12〜WL23につき、上記決定されたインデックスに対応する読み出し電圧VCGRVを用いてlowerページデータ、middleページデータ、及びupperページデータが読み出される。この際、必要に応じてリフレッシュ動作が行われる。以下、ワード線グループGP2〜GP7に対しても同様である。
2.3 通常のデータ読み出しについて
次に、通常のデータ読み出し方法について、図19を用いて簡単に説明する。図19は、ホスト機器300からの読み出し要求に従ってNAND型フラッシュメモリ100のあるブロックBLKからデータがコントローラ200に読み出される際の動作を示すフローチャートである。なお図19は、図16に示したパトロールリードとの違いが明確になるよう、処理の流れを簡略化して示している。
次に、通常のデータ読み出し方法について、図19を用いて簡単に説明する。図19は、ホスト機器300からの読み出し要求に従ってNAND型フラッシュメモリ100のあるブロックBLKからデータがコントローラ200に読み出される際の動作を示すフローチャートである。なお図19は、図16に示したパトロールリードとの違いが明確になるよう、処理の流れを簡略化して示している。
図示するように、ホスト機器300からの読み出し要求を受信したコントローラ200は、NAND型フラッシュメモリ100に対してシフトリードを命令する(ステップS120)。この際、例えばストリングユニットSU0のワード線WL0が選択される。ステップS120では、第1実施形態の図8で説明したように、シフトリードコマンドの前にset featureコマンドが発行されてもよい。そして、メモリセルアレイ110から読み出されたデータにつき、ECC回路260がエラー訂正を試みる(ステップS121)。エラー訂正に失敗した場合(ステップS121、NO)には、コントローラ200のプロセッサ230は、履歴テーブルにおけるワード線グループGP0のインデックスをインクリメントし、再度シフトリードをNAND型フラッシュメモリ100に命令する。但し、エラー訂正に失敗し(ステップS121、NO)、且つインデックス値が一定の基準値に達していた場合には、コントローラ200はNAND型フラッシュメモリ100にトラッキング動作を命令する(ステップS122)。トラッキング動作の詳細は、図11A、図11B、図12、図13A乃至図13C、並びに図14A及び図14Bを用いて説明したとおりである。そしてプロセッサ230は、トラッキング動作の結果に基づいて、履歴テーブルにおけるインデックスを適切な値に更新し、更新したインデックス値を用いたシフトリードをNAND型フラッシュメモリ100に命令する。
引き続きコントローラ200は、上記のステップS120〜S122の処理を、lowerページ、middleページ、及びupperページに対して実行する。その結果、コントローラ200は3ページ分のデータを得ることができる。更にコントローラ200は、上記のステップS120〜S122と同様の処理を、ストリングユニットSU1、SU2、及びSU3のワード線WL0のlowerページ、middleページ、及びupperページに対して実行する(ステップ123〜S125、S126〜S128、S129〜S131)。
更にコントローラ200は、上記のステップS120〜S131の処理を、ストリングユニットSU0〜SU3の各々におけるワード線WL1〜WL95を順次選択して実行する(ステップS132)。この際、第1実施形態で説明したように、履歴テーブルの更新はワード線毎ではなくワード線グループ毎に行われる。
2.4 本実施形態に係る効果
本実施形態によれば、履歴テーブルにおいて複数のワード線WLをグループ化すると共に、パトロールリード時にトラッキング動作を行っている。これにより、ホスト機器300からのアクセスがない期間に、各ワード線グループGPのインデックスを最適化できる。その結果、通常のデータの読み出し時において、シフトリードを何度も繰り返す事態が発生する可能性を低減できる。
本実施形態によれば、履歴テーブルにおいて複数のワード線WLをグループ化すると共に、パトロールリード時にトラッキング動作を行っている。これにより、ホスト機器300からのアクセスがない期間に、各ワード線グループGPのインデックスを最適化できる。その結果、通常のデータの読み出し時において、シフトリードを何度も繰り返す事態が発生する可能性を低減できる。
また本実施形態であると、パトロールリード時におけるトラッキング動作は、各ワード線グループGPにつき、いずれかのストリングユニットSUのいずれかのワード線WLに対して行われ、その他のワード線WLに対しては行われない。例えば図15の場合、ワード線グループGP0では、ストリングユニットSU0のワード線WL0に対してのみ、トラッキング動作が実行される。従って、NAND型フラッシュメモリ100における負荷の増大を最小限に抑制しつつ、上記効果を得ることができる。
なお上記実施形態では、図15に示すように、各ワード線グループGPの先頭のワード線(各ワード線グループGPにおいて最下層に位置するワード線)WL0、WL12、WL24、WL36、…WL84がトラッキング動作の対象とされている。しかし、トラッキング動作の対象となるワード線WLは適宜選択できる。図20は上記実施形態で説明した図15の変形例であり、各ワード線グループGPの中間のワード線(各ワード線グループGPにおいて最上層のワード線と最下層のワード線との間のちょうど中間に位置するワード線)WL5、WL17、WL29、WL41、…WL89がトラッキング動作の対象とされる例を示している。図21は図20に対応するパトロールリードのフローチャートである。図21に示すように、例えばワード線グループGP0に対してパトロールリードを行う際には、まずワード線WL5が選択されてトラッキング動作が実行される(ステップS116)。そして、このトラッキング動作の結果に基づいて、履歴テーブルにおけるワード線グループGP0のインデックスが更新される(ステップS101)。以降は、第1実施形態で説明したとおりである。
本例によれば、各ワード線グループGPにおいて、中間層に位置するワード線WLが選択されてトラッキング動作が行われる。つまり、各ワード線グループGPにおいて平均的な特性を有するメモリセルトランジスタMTに対してトラッキング動作が行われる。従って、各ワード線グループGPにおける最上層のメモリセルトランジスタMTと最下層のメモリセルトランジスタMTとの両方に適したシフト量を得ることができる。
また、上記実施形態では各ワード線グループGPにおいて、いずれか1つのストリングユニットSUにおけるいずれか1本のワード線WLを選択してトラッキング動作が行われる例を説明した。しかし、複数のストリングユニットSUにおいてトラッキング動作が行われても良いし、及び/または複数のワード線WLに対してトラッキング動作が行われても良い。すなわち、1つのワード線グループGPにおいて、複数回のトラッキング動作が異なるメモリセルトランジスタMTを対象に行われても良い。この場合には、より特性の劣化したメモリセルトランジスタMTのトラッキング結果、つまりより大きいインデックス値が優先して履歴テーブルに保持されてもよい。
3.第3実施形態
次に、第3実施形態に係るメモリシステムについて説明する。本実施形態は、上記第2実施形態で説明したパトロールリードにおいて、1つのワード線グループGPに対して複数回のトラッキング動作を行うと共に、その結果の平均値を履歴テーブルに保持させるものである。以下では、第1及び第2実施形態と異なる点についてのみ説明する。
次に、第3実施形態に係るメモリシステムについて説明する。本実施形態は、上記第2実施形態で説明したパトロールリードにおいて、1つのワード線グループGPに対して複数回のトラッキング動作を行うと共に、その結果の平均値を履歴テーブルに保持させるものである。以下では、第1及び第2実施形態と異なる点についてのみ説明する。
3.1 ブロックBLK内のパトロールリードについて
図22は、各ストリングユニットSU0〜SU3におけるワード線WL0〜WL95に対するパトロールリードの内容を示すダイアグラムであり、第2実施形態で説明した図15及び図20に対応する。
図22は、各ストリングユニットSU0〜SU3におけるワード線WL0〜WL95に対するパトロールリードの内容を示すダイアグラムであり、第2実施形態で説明した図15及び図20に対応する。
図示するように、本例に係る方法であると、各ワード線グループGPにおいて複数のストリングユニットSU0〜SU3でトラッキング動作が行われる。より具体的には、ストリングユニットSU0〜SU3の各々において、各ワード線グループGP0〜GP7の中間のワード線WL5、WL17、WL29、…WL89に接続されたメモリセルトランジスタMTがトラッキング動作の対象とされる。つまり、各ワード線グループGPにつき、4つのストリングユニットSU0〜SU3のそれぞれでトラッキング動作が行われる。その他のメモリセルトランジスタMTに対しては、第2実施形態と同様にシフトリードが行われ、トラッキング動作は行われない。
図23は、本実施形態に係るパトロールリードのフローチャートである。図示するように本実施形態に係るパトロールリードは、上記第2実施形態で説明した図21と下記の点で異なる。すなわち、
・ストリングユニットSU0だけでなくストリングユニットSU1〜SU3においても、ワード線WL5を対象にトラッキング動作が行われる(ステップS140〜S143)。すなわち、図21で説明したステップ116の処理が、ストリングユニットSU0〜SU4の各々において行われる。
・ステップS140〜S143で得られた、閾値分布の交点に対応する電圧の平均値が算出される(ステップS144)。平均値の算出は、コントローラ200の例えばプロセッサ230が行ってもよいし、NAND型フラッシュメモリ100のシーケンサ170が行ってもよい。
・ステップS101において、ステップS144で得られた平均値に基づいて履歴テーブルが更新される。
・ストリングユニットSU0〜SU4に対するトラッキング動作、このトラッキング動作で得られた電圧の平均値に基づく履歴テーブルの更新、及びシフトリードが、ワード線グループGP1〜GP7に対しても実行される(ステップS145)。
・ストリングユニットSU0だけでなくストリングユニットSU1〜SU3においても、ワード線WL5を対象にトラッキング動作が行われる(ステップS140〜S143)。すなわち、図21で説明したステップ116の処理が、ストリングユニットSU0〜SU4の各々において行われる。
・ステップS140〜S143で得られた、閾値分布の交点に対応する電圧の平均値が算出される(ステップS144)。平均値の算出は、コントローラ200の例えばプロセッサ230が行ってもよいし、NAND型フラッシュメモリ100のシーケンサ170が行ってもよい。
・ステップS101において、ステップS144で得られた平均値に基づいて履歴テーブルが更新される。
・ストリングユニットSU0〜SU4に対するトラッキング動作、このトラッキング動作で得られた電圧の平均値に基づく履歴テーブルの更新、及びシフトリードが、ワード線グループGP1〜GP7に対しても実行される(ステップS145)。
本実施形態に係る閾値分布の交点探索方法の一例につき、図24を用いて説明する。図24は、ステップS140〜S143で発見された閾値分布の交点を示すグラフであり、ストリングユニットSU0〜SU3のそれぞれにおいてワード線WL5のlowerページデータをトラッキング対象とした場合を例に示している。なお、図24に示すグラフは、例えば第1実施形態で図12を用いて説明したヒストグラムによって得られる。
図示するように、ストリングユニットSU0のトラッキング動作結果によれば、消去状態と“A”状態との交点に対応する電圧はVA0であり、“D”状態と“E”状態との交点に対応する電圧はVE0であったとする。またストリングユニットSU1のトラッキング動作結果によれば、消去状態と“A”状態との交点に対応する電圧はVA1(<VA0)であり、“D”状態と“E”状態との交点に対応する電圧はVE1(<VE0)であったとする。更に、ストリングユニットSU2のトラッキング動作結果によれば、消去状態と“A”状態との交点に対応する電圧はVA2(>VA1)であり、“D”状態と“E”状態との交点に対応する電圧はVE2(>VE1)であったとする。そして、ストリングユニットSU3のトラッキング動作結果によれば、消去状態と“A”状態との交点に対応する電圧はVA3(>VA2)であり、“D”状態と“E”状態との交点に対応する電圧はVE3(>VE2)であったとする。
すると、これらの電圧VA0〜VA3及びVE0〜VE3の情報を例えばNAND型フラッシュメモリ100はコントローラ200に送信する。そしてコントローラ200のプロセッサ230は、電圧VA0〜VA3の平均値VA’を、消去状態と“A”状態との交点に対応する電圧であると決定する。プロセッサ230は同様に、電圧VE0〜VE3の平均値VE’を、“D”状態と“E”状態との交点に対応する電圧であると決定する。
middleページ及びupperページについても同様の処理が行われ、平均値VB’、VC’、VD’、VF’、及びVG’が求められる。そしてプロセッサ230は、履歴テーブルにおけるインデックスを、これらの平均値VA’〜VE’に最も適した値に更新する。
3.2 本実施形態に係る効果
本実施形態によれば、各ワード線グループGPにおいて、複数のストリングユニットSUを対象にトラッキング動作が行われる。そして、各ストリングユニットSUで得られた閾値分布の交点に対応する電圧の平均値に基づいて、履歴テーブルのインデックスが決定される。すなわち、ストリングユニットSU間で特性の差があったとしても、各ストリングユニットSUで得られた結果を平均化することで、4つのストリングユニットSU0〜SU3のいずれにも適したインデックスが選択でき、メモリシステム1のデータ読み出し信頼性を向上できる。
本実施形態によれば、各ワード線グループGPにおいて、複数のストリングユニットSUを対象にトラッキング動作が行われる。そして、各ストリングユニットSUで得られた閾値分布の交点に対応する電圧の平均値に基づいて、履歴テーブルのインデックスが決定される。すなわち、ストリングユニットSU間で特性の差があったとしても、各ストリングユニットSUで得られた結果を平均化することで、4つのストリングユニットSU0〜SU3のいずれにも適したインデックスが選択でき、メモリシステム1のデータ読み出し信頼性を向上できる。
なお、図22及び図23の例では、各ストリングユニットSUにおいて1本のワード線WL5が選択される場合を例に説明した。しかし、平均値を得るために選択されるワード線WLはこれに限らず、複数のワード線WLが選択される場合であればよい。図25は、本実施形態の第1変形例に係るパトロールリードの内容を示すダイアグラムである。
図示するように本変形例は、図22において各ストリングユニットSUにつき、ワード線グループあたりのトラッキング動作対象を増やしたものである。すなわち、図示するように、各ストリングユニットSUにおいて、ワード線グループGPあたり3本のワード線WLが選択される。本例では、各ストリングユニットSU0〜SU3において、最下層に位置するワード線WL0、WL12、WL24、…WL84と、最上層に位置するワード線WL11、WL23、WL35、…WL95と、それらの中間に位置するワード線WL5、WL17、WL29、…WL89とが選択される。例えばワード線グループGP0では、ストリングユニットSU0〜SU3の各々において、ワード線WL0、WL5、及びWL11がトラッキング動作の対象とされる。よって、隣り合う閾値分布の1つの交点につき、互いに異なる領域で得られた12個の値が得られ、これらの値の平均値に基づいてインデックスが選択される。
図26は、図25で説明したパトロールリードのフローチャートである。図示するように本実施形態に係るパトロールリードは、上記第3実施形態で説明した図23において、ステップS150〜S153においてストリングユニットSU0〜SU3のワード線WL0に対してトラッキング動作が行われ、ステップS140〜S143においてストリングユニットSU0〜SU3のワード線WL5に対してトラッキング動作が行われ、ステップS154〜S157においてストリングユニットSU0〜SU3のワード線WL11に対してトラッキング動作が行われる。そしてステップS158において、ステップS150〜S157及びS140〜143で得られた結果の平均値が求められる。そしてステップS101では、ステップS158で得られた平均値に基づき、履歴テーブルのインデックスが決定される。この動作が、ワード線グループGP1〜GP7に対しても行われる。
図27は、本実施形態の第2変形例に係るパトロールリードの内容を示すダイアグラムである。図示するように本変形例では、各ストリングユニットSUにおいて12本全てのワード線WLが選択される。すなわち、ワード線グループGP0では、ストリングユニットSU0〜SU3の各々においてワード線WL0〜WL11がトラッキング動作の対象とされる。よって、隣り合う閾値分布の1つの交点につき、互いに異なる領域で得られた48個の値が得られ、これらの値の平均値に基づいてインデックスが選択される。
なお、トラッキング動作の対象となるワード線WLの組み合わせは上記に限らず、適宜選択できる。その際には、メモリセルトランジスタMTの特性が互いに大きく異なると思われる複数の領域を選択することが好ましい。なぜなら、このように選択することにより、ある特性に偏ったインデックスが選択されることを抑制できるからである。
4.第4実施形態
次に、第4実施形態に係るメモリシステムについて説明する。上記第1乃至第3実施形態では、同一のワード線グループGPに属するワード線WLを選択してデータを読む際には、同一のインデックスが適用され、同一の読み出し電圧VCGRVがワード線WLに印加される。この点、本実施形態では、上記第1乃至第3実施形態で得られたワード線グループGP毎のインデックスを用いて線形補正を行い、同一ワード線グループGP内であっても、各ワード線WLに互いに異なる適切な読み出し電圧VCGRVを印加するものである。以下では、第1乃至第3実施形態と異なる点についてのみ説明する。
次に、第4実施形態に係るメモリシステムについて説明する。上記第1乃至第3実施形態では、同一のワード線グループGPに属するワード線WLを選択してデータを読む際には、同一のインデックスが適用され、同一の読み出し電圧VCGRVがワード線WLに印加される。この点、本実施形態では、上記第1乃至第3実施形態で得られたワード線グループGP毎のインデックスを用いて線形補正を行い、同一ワード線グループGP内であっても、各ワード線WLに互いに異なる適切な読み出し電圧VCGRVを印加するものである。以下では、第1乃至第3実施形態と異なる点についてのみ説明する。
4.1 データの読み出し動作について
本実施形態に係るデータの読み出し動作につき、図28を用いて説明する。図28は、本実施形態に係るデータの読み出し時におけるコントローラ200の動作を示すフローチャートである。
本実施形態に係るデータの読み出し動作につき、図28を用いて説明する。図28は、本実施形態に係るデータの読み出し時におけるコントローラ200の動作を示すフローチャートである。
図示するようにコントローラ200は、データの読み出し要求をホスト機器300から受信する(ステップS160)。すると、コントローラ200の例えばプロセッサ230は、選択すべきワード線WLと、当該ワード線WLが属するワード線グループGPを確認する(ステップS161)。引き続きプロセッサ230は、履歴テーブルを参照して、当該ワード線グループGPに対応するインデックスと、別のワード線グループGPに対応するインデックスを読み出す(ステップS162)。この別のワード線グループGPは、読み出し対象ワード線を含むワード線グループGPに連続していることが好ましいが、それには限らない。そしてプロセッサ230は、読み出した複数のインデックスをDAC(Digital to Analog Converter)値に変換する(ステップS163)。
DAC値は、読み出し電圧VCGRVを示すデジタル値である。すなわちコントローラ200は、読み出し電圧VCGRVをアナログ値ではなく、DAC値で示されるデジタル値で取り扱う。インデックスがワード線グループ毎に用意されるので、DAC値もまた離散的な値となる。
引き続きプロセッサ230は、複数のDAC値に基づく線形補正により、選択すべきワード線WLに対応するDAC値を算出する(ステップS164)。すなわち、履歴テーブルにおいては同じワード線グループGPに属するワード線WLには同じインデックスが割り当てられるが、線形補正により、同じワード線グループGP内でもワード線毎に適切なDAC値を割り当てる。
そしてプロセッサ230は、選択ワード線WLに印加すべき電圧を指定するDAC値情報と共に、NAND型フラッシュメモリ100に対して読み出し命令を発行する(ステップS165)。またNAND型フラッシュメモリ100では、例えばシーケンサ170が、受信したDAC値に基づく読み出し電圧VCGRVを生成するよう電圧発生回路に命令し、当該電圧VCGRVが選択ワード線WLに印加される。
上記の線形補正につき、以下詳細に説明する。図29は、ワード線グループGPに対するDAC値(すなわちインデックス値)を示すグラフの一例である。図示するように、メモリセルトランジスタMTの閾値電圧は、例えばメモリピラー31の直径が小さいほど大きくなる。そしてトラッキング動作によって得られるDAC値は、上記の通りワード線グループGP毎の離散的な値である。しかし、図29に示すDAC値は、例えば一次関数で近似できる場合があり得る。この様子を図30に示す。図30は、図29において一次関数を用いた線形補正により得られた、各ワード線WLに適用されるDAC値を示すグラフであり、図30において太線で示されている。なお図30において細線で示したグラフは、上記第1乃至第3実施形態の例を示しており、同一のワード線グループGPに属する複数のワード線WLには同一のDAC値が適用される。これに対して本実施形態によれば、履歴テーブルに登録されたインデックス値に対応するDAC値を結ぶ一次関数に対応するDAC値が適用される。すなわち、デフォルトのDAC値からのシフト量ΔDACは、ΔDAC=α×ΔWLのように表現できる。
上記線形補正の具体例につき、図31A及び図31Bを用いて説明する。図31Aは、各ワード線グループGPにおいて、トラッキング動作の対象とされたワード線WLと、トラッキング動作の結果得られたインデックス値に対応するDAC値とを示す表である。
図示するように、図31Aの例であると、各ワード線グループGPにおける中間層に位置するワード線WL6、WL18、WL30、…及びWL90がトラッキング動作の対象とされる。そして、ワード線グループGP0に適用されるDAC値は“+3”であり、ワード線グループGP1に適用されるDAC値は“0”であり、ワード線グループGP2に適用されるDAC値は“−3”であり、ワード線グループGP7に適用されるDAC値は“−18”である。このような例において、ワード線WL10及びWL22からデータが読み出される場合につき、図31Bを用いて説明する。図31Bは、ワード線WLに対するDAC値を示すグラフである。
まず、ワード線WL10が選択される場合につき説明する。図31Bに示すように、線形補正を行うため、ワード線グループGP0のDAC値とワード線グループGP1のDAC値とが用いられる。つまり、トラッキング動作の対象とされたワード線WLの間に選択ワード線WLが挟まれるように、少なくとも2つのワード線グループGPが選択される(両端のワード線WL0〜WL5及びWL91〜WL95が選択ワード線である場合にはこれに限らない)。すると、ワード線WL18とWL6との間で、DAC値の変化は(0−3)=“−3”であるから、一次関数で近似した際の傾きは(−1/4)である。すると、ワード線WL10とWL6との間でワード線WLの本数の変化は(10−6)=“4”であるから、ワード線WL6のDAC値からの変化量ΔDAC1とすると、下記の関係が成り立つ。
(18−6):(3−0)=(10−6):ΔDAC1
よって、ΔDAC1=“1”となり、ワード線WL10に対応するDAC値は(3−1)=“2”と求められる。
(18−6):(3−0)=(10−6):ΔDAC1
よって、ΔDAC1=“1”となり、ワード線WL10に対応するDAC値は(3−1)=“2”と求められる。
ワード線WL22が選択される場合も同様である。この場合、図31Bに示すように、ワード線グループGP1のDAC値とワード線グループGP2のDAC値とを用いて線形補正が行われる。すると、ワード線WL18のDAC値からの変化量ΔDAC2とすると、下記の関係が成り立つ。
(30−18):(0−3)=(22−18):ΔDAC2
よって、ΔDAC1=“−1”となり、ワード線WL22に対応するDAC値は“−1”と求められる。
(30−18):(0−3)=(22−18):ΔDAC2
よって、ΔDAC1=“−1”となり、ワード線WL22に対応するDAC値は“−1”と求められる。
図32は、本実施形態に係るデータの読み出し時においてコントローラ200からNAND型フラッシュメモリ100へ送信されるコマンドシーケンスを示しており、ワード線WL0〜WL2からデータを読み出す例を示している。
図示するように、第1実施形態で説明した図8の場合と同様、あるワード線WLからデータを読み出す際には、コントローラ200はset featureコマンド、シフトリードコマンド、及びデータ出力コマンドを順次発行する。図8と異なる点は、図32に示すように、Set featureコマンドがワード線グループ毎ではなくワード線毎に発行される点である。すなわちコントローラ200は、図31A及び図31Bで説明した補正処理を行い、各ワード線WLに適切なDAC値を求める。従って、ワード線WL0からデータが読み出される際には、ワード線WL0に適切な読み出し電圧としてのDAC1がset featureコマンドによりNAND型フラッシュメモリ100に設定される。ワード線WL1及びWL2も同様であり、set featureコマンドによりDAC1及びDAC2がそれぞれNAND型フラッシュメモリ100に設定される。そしてこれらのDAC0〜DAC1には、互いに依存関係がある。より具体的には、DAC0〜DAC1の値は、ある一次関数に従った値となる。
なお、図31A及び図31Bで説明した補正処理は、lowerページ、middleページ、及びupperページのそれぞれについて行われる。従って、lowerページ、middleページ、及びupperページのそれぞれの読み出しにつき、図32に示すset featureコマンド、シフトリードコマンド、及びデータ出力コマンドが発行される。そして、ワード線WL0〜WL2のlowerページに適用されるDAC値が互いに依存関係を有し、またワード線WL0〜WL2のmiddleページに適用されるDAC値が互いに依存関係を有し、そしてワード線WL0〜WL2のupperページに適用されるDAC値が互いに依存関係を有する。
4.2 本実施形態に係る効果
本実施形態によれば、上記第1乃至第3実施形態と同様に、履歴テーブルにおいて複数のワード線WLがグループ化されている。そして、このワード線グループGP毎にインデックスが割り当てられる。
本実施形態によれば、上記第1乃至第3実施形態と同様に、履歴テーブルにおいて複数のワード線WLがグループ化されている。そして、このワード線グループGP毎にインデックスが割り当てられる。
その一方で、データを読み出す際には、複数のワード線グループGPについてのインデックス(DAC値)に基づく線形補正により、ワード線毎に用いるべきDAC値を算出し、この結果に基づく電圧VCGRVを選択ワード線WLに印加するよう、NAND型フラッシュメモリ100に命令する。従って、履歴テーブルに登録すべきインデックスを決定する際のトラッキング動作の対象とならなかったワード線WLに対しても、適切な読み出し電圧VCGRVを印加できる。
なお、上記実施形態ではトラッキング動作の対象とならなかった全ワード線WLにつき線形補正を行って、ワード線1本毎にDAC値を算出する例を説明した。例えばワード線WL5がトラッキング対象とされたワード線グループGP0に着目すると、ワード線WL0〜WL4及びWL6〜WL11についてのDAC値が線形補正によって算出される。しかし、必ずしもワード線1本毎にDAC値を算出する必要はない。例えば、線形補正によって得られるDAC値も、複数のワード線毎にグループ化してもよい。例えば上記の例の場合、ワード線WL0及びWL1には、線形補正により得られた同一のDAC値が適用され、ワード線WL2及びWL3には、線形補正により得られた別の同一のDAC値が適用され、ワード線WL4〜WL7にはトラッキング動作で得られた交点に対応するDAC値が適用される、という場合であってもよい。
すなわち、1つのワード線グループGPに着目した場合、履歴テーブルに登録されているインデックス値の数(N1=1)と、当該ワード線グループGPに属する複数のワード線WLに印加される電圧の種類(大きさ)の数(N2)を比較すると、第1乃至第3実施形態ではN2=N1であるのに対し、本実施形態ではN2>N1となる。
5.第5実施形態
次に、第5実施形態に係るメモリシステムについて説明する。本実施形態は、上記第1乃至第4実施形態において、パトロール動作時におけるブロックBLK、ワード線WL、ストリングユニットSU、及びページの選択順序に関するものである。以下では第1乃至第4実施形態と異なる点についてのみ説明する。
次に、第5実施形態に係るメモリシステムについて説明する。本実施形態は、上記第1乃至第4実施形態において、パトロール動作時におけるブロックBLK、ワード線WL、ストリングユニットSU、及びページの選択順序に関するものである。以下では第1乃至第4実施形態と異なる点についてのみ説明する。
5.1 パトロール動作の詳細について
本実施形態に係るパトロール動作につき、図33を用いて説明する。図33は、パトロール動作のフローチャートであり、ブロックBLKが4個、各ブロックBLKのストリングユニットSUが4個、各ストリングユニットSUのワード線WLが96本、メモリセルトランジスタMTの保持データが3ビット(lowerビット、middleビット、upperビット)の場合を示している。また図中では4つの変数i、j、k、lが用いられており、変数iはページを示し、i=1はlowerページ、i=2はmiddleページ、i=3はupperページである(すなわち、本実施形態及び後述する第6実施形態で用いられる変数iは、第1実施形態で説明したインデックスを示すものではなく、また第2実施形態で説明したシフトリード回数を示すものでもない)。また変数jはワード線WLの番号を示し、j=0〜95である(WL0〜WL95)。更にkはストリングユニットSUの番号を示し、k=0〜3である(SU0〜SU3)。そしてlはブロックBLKの番号を示し、l=0〜3である(BLK0〜BLK3)。また、図33におけるコントローラ200の処理は、基本的にプロセッサ230により実行される。
本実施形態に係るパトロール動作につき、図33を用いて説明する。図33は、パトロール動作のフローチャートであり、ブロックBLKが4個、各ブロックBLKのストリングユニットSUが4個、各ストリングユニットSUのワード線WLが96本、メモリセルトランジスタMTの保持データが3ビット(lowerビット、middleビット、upperビット)の場合を示している。また図中では4つの変数i、j、k、lが用いられており、変数iはページを示し、i=1はlowerページ、i=2はmiddleページ、i=3はupperページである(すなわち、本実施形態及び後述する第6実施形態で用いられる変数iは、第1実施形態で説明したインデックスを示すものではなく、また第2実施形態で説明したシフトリード回数を示すものでもない)。また変数jはワード線WLの番号を示し、j=0〜95である(WL0〜WL95)。更にkはストリングユニットSUの番号を示し、k=0〜3である(SU0〜SU3)。そしてlはブロックBLKの番号を示し、l=0〜3である(BLK0〜BLK3)。また、図33におけるコントローラ200の処理は、基本的にプロセッサ230により実行される。
図示するように、コントローラ200はまずlowerページ(i=0)、ワード線WL0(j=0)、ストリングユニットSU0(k=0)、及びブロックBLK0(l=0)を選択する(ステップS200〜S203)。そしてコントローラ200は、選択ワード線WLに対するシフトリードをNAND型フラッシュメモリ100に命令する(ステップS204)。
シフトリードで読み出されたデータにつきECC回路260がエラー訂正に失敗した場合(ステップS205、NO)、コントローラ200は履歴テーブルにおけるインデックスを更新するか、または第2実施形態の図16及び図18を用いて説明したリフレッシュ動作を実行する(ステップS206)。
ステップS205でECC回路260がエラー訂正に成功した場合(ステップS205、YES)、またはステップS206の後、ステップS204におけるシフトリード対象が最終ブロックBLK(l=3、すなわちBLK3)であったか否かを判断し(ステップS207)、最終ブロックBLK3でなかった場合には(ステップS207、NO)、次のブロックBLKを選択して(l=l+1、ステップS208)、ステップS204に戻る。すなわち、読み出し対象ページ、選択ワード線、及び選択ストリングユニットSUはそのままに、ブロックBLK0からBLK1、BLK2、及びBLK3に対して、順次シフトリードを繰り返す(ステップS215)。
シフトリード対象が最終ブロックBLK3であった場合には(ステップS207、YES)、コントローラ200はシフトリード対象が最終ストリングユニットSU(k=3、すなわちSU3)であったか否かを判断する(ステップS209)。そして最終ストリングユニットSU3でなければ(ステップS209、NO)、コントローラ200は次のストリングユニットSUを選択して(k=k+1、ステップS210)、ステップS203に戻る。すなわち、読み出し対象ページ及び選択ワード線はそのままに、選択ストリングユニットSUをインクリメントして、ブロックBLK0からBLK1、BLK2、及びBLK3につき、順次シフトリードを繰り返す(ステップS215)。
シフトリード対象が最終ストリングユニットSU3であった場合には(ステップS209、YES)、コントローラ200はシフトリード対象が最終ワード線WL(j=95、すなわちWL95)であったか否かを判断する(ステップS211)。そして最終ワード線WL95でなければ(ステップS211、NO)、コントローラ200は次のワード線WLを選択して(j=j+1、ステップS212)、ステップS202に戻る。すなわち、読み出し対象ページはそのままに、選択ワード線WLをインクリメントして、ブロックBLK0からBLK1、BLK2、及びBLK3のストリングユニットSU0〜SU3につき、順次シフトリードを繰り返す(ステップS215)。
シフトリード対象が最終ワード線WL95であった場合には(ステップS211、YES)、コントローラ200はシフトリード対象がupperページ(i=2)であったか否かを判断する(ステップS213)。そしてupperページでなければ(ステップS213、NO)、コントローラ200は次のページ、すなわちmiddleページ(i=1)を選択して(i=i+1、ステップS214)、ステップS201に戻る。すなわち、読み出し対象ページをインクリメントして、ブロックBLK0からBLK1、BLK2、及びBLK3のストリングユニットSU0〜SU3のワード線WL0〜WL95につき、順次シフトリードを繰り返す(ステップS215)。
そして、シフトリード対象がupperページ(i=2)であった場合には(ステップS213、YES)、再びステップS200に戻る。つまり、選択ブロックBLKをシフトさせながらのシフトリード(ステップS215)が、ストリングユニットSU0〜SU3の各々におけるワード線WL0〜WL95につき、lowerページ、middleページ、及びupperページを対象に行われる。従って、最終的には、全てのブロックBLK0〜BLK3における全てのストリングユニットSU0〜SU3の全てのワード線WL0〜WL95のlowerページ、middleページ、及びupperページに対してシフトリードが実行される。
5.2 具体例について
次に、本実施形態に係るページ選択順序の具体例につき、図34Aを用いて説明する。図34Aは、説明の簡単化のため、4つのブロックBLK0〜BLK3の各々が4つのストリングユニットSU0〜SU3を含み、また2つのワード線グループGP0、GP2を含み、各ワード線グループGPがそれぞれ2本のワード線の組(WL0及びWL1の組と、WL2及びWL3の組)を含む場合について示している。そして図34Aは、ブロックBLK0〜BLK3につき、各ストリングユニットSU0〜SU3の各ワード線WL0〜WL3に割り当てられた3ページが、どのような順番でシフトリード対象とされるかを示している。
次に、本実施形態に係るページ選択順序の具体例につき、図34Aを用いて説明する。図34Aは、説明の簡単化のため、4つのブロックBLK0〜BLK3の各々が4つのストリングユニットSU0〜SU3を含み、また2つのワード線グループGP0、GP2を含み、各ワード線グループGPがそれぞれ2本のワード線の組(WL0及びWL1の組と、WL2及びWL3の組)を含む場合について示している。そして図34Aは、ブロックBLK0〜BLK3につき、各ストリングユニットSU0〜SU3の各ワード線WL0〜WL3に割り当てられた3ページが、どのような順番でシフトリード対象とされるかを示している。
図34Aでは、ブロックBLK0を起点として、矢印の順でブロックBLKが選択される。そして、図中に記載した“1”〜“48”の数字が、選択される順番を示している。すなわち、あるブロックBLKで1回のシフトリードが行われると、次のブロックBLKでシフトリードが行われ、以後同様である。理解の助けのため、図34Aをフローチャートの形で示したのが図34Bである。図34Bのステップ170〜173の各々が、図33で説明したステップS204に相当する。
図示するように、まずブロックBLK0、ワード線WL0、lowerページ、及びストリングユニットSU0が選択されて、シフトリードが実行される(ステップS170−1)。次にブロックBLK1、ワード線WL0、lowerページ、及びストリングユニットSU0が選択されて、シフトリードが実行される(ステップS171−1)。引き続きブロックBLK2、ワード線WL0、lowerページ、及びストリングユニットSU0が選択されて、シフトリードが実行される(ステップS172−1)。そしてブロックBLK3、ワード線WL0、lowerページ、及びストリングユニットSU0が選択されて、シフトリードが実行される(ステップS173−1)。このように、選択ワード線WL及び選択ストリングユニットSUの番号、並びに選択ページが変わることなく、選択ブロックBLKの番号が“0”から“3”までインクリメントされる。この4ステップを第1のループLP1と呼ぶ。この第1のループLP1は、図33で説明したステップS215に相当する。そして、第1のループLP1に含まれるステップS170〜S173のsuffixが、図34Aの各ブロックBLKにおける“1”〜“48”までの数字に相当する。
よって、ステップS170−1〜S173−1の次には、ストリングユニットSUの番号がインクリメントされて、第1のループLP1が繰り返される。すなわち、まずブロックBLK0、ワード線WL0、lowerページ、及びストリングユニットSU1が選択されて、シフトリードが実行される(ステップS170−2)。次にブロックBLK1、ワード線WL0、lowerページ、及びストリングユニットSU1が選択されて、シフトリードが実行される(ステップS171−2)。引き続きブロックBLK2、ワード線WL0、lowerページ、及びストリングユニットSU1が選択されて、シフトリードが実行される(ステップS172−2)。そしてブロックBLK3、ワード線WL0、lowerページ、及びストリングユニットSU1が選択されて、シフトリードが実行される(ステップS173−2)。
その後も同様であり、5回目、9回目、及び13回目のループLP1では、選択ワード線WLの番号がインクリメントされる。すなわち、5回目のループLP1では、選択ワード線がWL0からWL1に変更される。9回目のループLP1では、選択ワード線がWL1からWL2に変更される。そして13回目のループLP1では、選択ワード線がWL2からWL3に変更される。
また、17回目及び33回目のループLP1では、選択ページが変更される。すなわち、17回目のループLP1では、選択ページがlowerページからmiddleページに変更される。33回目のループLP1では、選択ページがmiddleページからupperページに変更される。
そして、48回目のループLP1では、まずブロックBLK0、最終ワード線WL3、upperページ、及び最終ストリングユニットSU3が選択されて、シフトリードが実行される(ステップS170−48)。次にブロックBLK1、ワード線WL3、upperページ、及びストリングユニットSU3が選択されて、シフトリードが実行される(ステップS171−48)。引き続きブロックBLK2、ワード線WL3、upperページ、及びストリングユニットSU3が選択されて、シフトリードが実行される(ステップS172−48)。そしてブロックBLK3、ワード線WL3、upperページ、及びストリングユニットSU3が選択されて、シフトリードが実行される(ステップS173−48)。
以上のように、第1のループLP1が48回、繰り返される。この48回のループLP1の集合を、第2のループLP2と呼ぶ。この第2のループLP2が、図33で説明したステップS200〜S215に相当する。そしてコントローラ200は、特に他の処理を行う必要がない限り、第2のループLP2を繰り返す。また、第1のループLP1の各々は、期間T1以内に完了する。つまり、期間T1の間に、3つのブロックBLK0〜BLK3へのシフトリードアクセスが実行される。もちろん、図33で説明したステップS206のインデックス更新またはリフレッシュ動作が行われる場合であっても、1回のステップS215は期間T1の間に完了する。更に、第2のループLP2の各々は期間T2(>T1)以内に完了する。つまり、期間T2の間に、全てのブロックBLK0〜BLK3の全てのストリングユニットSU0〜SU3の全てのワード線WL0〜WL95のlowerページ、middleページ、及びupperページへのシフトリードアクセスが実行される。
次に、第1のループLP1実行時におけるメモリセルアレイ110の様子について説明する。図34Cは、1回目の第1のループLP1実行時におけるメモリセルアレイ110の回路図である。図中において太線で囲った領域が選択ブロックBLKであり、選択ブロックBLK内において斜線で示した領域が選択ストリングユニットSUであり、太線で示したワード線が選択ワード線WLである。
まず、図34Cの時刻t1において、ステップS170−1が実行される。すなわち、ブロックBLK0のワード線WL0が選択されて、lowerページに対するシフトリードが実行される。従って、ブロックBLK0のワード線WL0には、読み出し電圧VCGRVとして、読み出し動作AR及びERを実行するための電圧が印加され、その他のワード線WL1〜WL3には電圧VREADが印加される。また、ストリングユニットSU0を選択するために、セレクトゲート線SGD0には電圧VSGが印加され、SGD1〜SGD3には例えば0Vが印加される。また、非選択ブロックBLK1〜BLK3の全ワード線WL及び全セレクトゲート線SGDにも、例えば0Vが印加される。
ブロックBLK0におけるストリングユニットSU0のワード線WL0からlowerページデータが読み出されると、必要に応じてインデックスの更新またはリフレッシュが実行され、次の時刻t2においてステップS171−1が実行される。すなわち、ブロックBLK1のワード線WL0が選択されて、lowerページに対するシフトリードが実行される。従って、ブロックBLK1のワード線WL0には、読み出し電圧VCGRVとして、読み出し動作AR及びERを実行するための電圧が印加され、その他のワード線WL1〜WL3には電圧VREADが印加される。また、ストリングユニットSU0を選択するために、セレクトゲート線SGD0には電圧VSGが印加され、SGD1〜SGD3には例えば0Vが印加される。また、非選択ブロックBLK0、BLK2、及びBLK3の全ワード線WL及び全セレクトゲート線SGDにも、例えば0Vが印加される。
ブロックBLK1におけるストリングユニットSU0のワード線WL0からlowerページデータが読み出されると、必要に応じてインデックスの更新またはリフレッシュが実行され、次の時刻t3においてステップS172−1が実行される。すなわち、ブロックBLK2のワード線WL0が選択されて、lowerページに対するシフトリードが実行される。従って、ブロックBLK2のワード線WL0には、読み出し電圧VCGRVとして、読み出し動作AR及びERを実行するための電圧が印加され、その他のワード線WL1〜WL3には電圧VREADが印加される。また、ストリングユニットSU0を選択するために、セレクトゲート線SGD0には電圧VSGが印加され、SGD1〜SGD3には例えば0Vが印加される。また、非選択ブロックBLK0、BLK1、及びBLK3の全ワード線WL及び全セレクトゲート線SGDにも、例えば0Vが印加される。
ブロックBLK2におけるストリングユニットSU0のワード線WL0からlowerページデータが読み出されると、必要に応じてインデックスの更新またはリフレッシュが実行され、次の時刻t4においてステップS173−1が実行される。すなわち、ブロックBLK3のワード線WL0が選択されて、lowerページに対するシフトリードが実行される。従って、ブロックBLK3のワード線WL0には、読み出し電圧VCGRVとして、読み出し動作AR及びERを実行するための電圧が印加され、その他のワード線WL1〜WL3には電圧VREADが印加される。また、ストリングユニットSU0を選択するために、セレクトゲート線SGD0には電圧VSGが印加され、SGD1〜SGD3には例えば0Vが印加される。また、非選択ブロックBLK0〜BLK2の全ワード線WL及び全セレクトゲート線SGDにも、例えば0Vが印加される。
以上の時刻t1〜t4の期間において、ステップS170−1〜S173−1、すなわち1回目の第1のループLP1が完了する。引き続き、2回目の第1のループLP1(ステップS170−2〜173−2)が、時刻t5〜t8の期間に実行される。この様子を図34Dに示す。
図示するように、図34Cと異なる点は、各時刻t5〜t8においてストリングユニットSU1が選択される点である。すなわち、セレクトゲート線SGD1が選択される。その他は図34Cと同じである。
例えば時刻t5では、ステップS170−2が実行される。すなわち、ブロックBLK0のワード線WL0が選択されて、lowerページに対するシフトリードが実行される。この際、ストリングユニットSU1を選択するために、セレクトゲート線SGD1には電圧VSGが印加される。
次に時刻t6、t7、及びt8において、ステップS171−2、172−2、及び173−2がそれぞれ実行される。すなわち、ブロックBLK1〜BLK3のワード線WL0が選択されて、lowerページに対するシフトリードが実行される。この時刻t6〜t8においてもセレクトゲート線SGD1には電圧VSGが印加されて、ストリングユニットSU1が選択される。
以上のようにして、2回目の第1のループLP1が完了する。3回目以降の第1のループLP1も同様である。
5.3 本実施形態に係る効果
本実施形態によれば、メモリシステム1の動作信頼性を更に向上できる。本効果につき、以下説明する。
本実施形態によれば、メモリシステム1の動作信頼性を更に向上できる。本効果につき、以下説明する。
まず、本実施形態によれば、選択ブロックBLKをシフトさせながらパトロールリードが実行される。本例の場合、メモリセルアレイ110は4つのブロックBLK0〜BLK3を含み、この4つのブロックBLK0〜BLK3に順次アクセスされる。すなわち、最短の順序で、4つのブロックBLK0〜BLK3にアクセスされる。そして、この4つのブロックBLK0〜BLK3へのアクセスに要する総時間は、最長でも期間T1である。すなわち、メモリセルアレイ110に含まれる全てのブロックBLK0〜BLK3へのアクセスが、最長でもT1の周期で実行される。これにより、各ブロックBLKにおけるデータの読み出し信頼性を向上できる。
この理由は次のとおりである。すなわち、図3を用いて説明したような三次元積層型のNAND型フラッシュメモリであると、あるワード線WLからデータを読み出した際、読み出しアクセス対象とされたブロックBLK内のメモリセルトランジスタMTがカップリングの影響を受ける場合がある。従って、データの読み出し直後は、メモリセルアレイ110内において、カップリングの影響を受けたブロックBLKと、影響を受けていないブロックBLKとが混在する。この点、本実施形態によれば、短い周期で全ブロックBLK0〜BLK3へのパトロールリードを繰り返す。つまり、図34C及び図34Dを用いて説明したように、選択ブロックBLKにおいては、選択ストリングユニットSUであるか非選択ストリングユニットSUであるかにかかわらず、選択ワード線WLには電圧VCGRVが印加され、非選択ワード線WLには電圧VREADが印加される。従って、カップリングの影響が消失する前に、全ブロックBLKに対してパトロールリードが実行される。そのため、全ブロックBLKにおいて、メモリセルトランジスタMTは常にカップリングの影響を受けた状態にある。その結果、コントローラ200は、カップリングの影響が存在することを前提に読み出し条件を決定すればよく、カップリングの影響が消失した場合の条件を考慮する必要がない。よって、適切な条件下でのデータの読み出しが可能となり、読み出し動作信頼性を向上できる。
また本実施形態によれば、上記周期T1のパトロールリードを48回繰り返すことで、全ブロックBLKにおける全ストリングユニットSUの全ワード線WLに対応する全ページにアクセスできる。そして、この期間は最大で期間T2である。パトロールリードの役割は、上記説明したカップリングの影響を低減するだけでなく、例えばメモリセルトランジスタMTの物理的不良の発見にもある。そのためには、全ブロックBLKにおける全ストリングユニットSUの全ワード線WLに対応する全ページにアクセスして、どの領域がデータを正しく読むことができ、どの領域が正しく読むことができないかを知る必要がある。そこで本実施形態では、最短の48回のパトロールリードにより、全ブロックBLKにおける全ストリングユニットSUの全ワード線WLに対応する全ページへのアクセスを完了する。これにより、例えば突発的な物理的不良が発生した場合であっても、コントローラ200は早急に対応でき、読み出し動作信頼性を向上できる。なお、上記説明したカップリングの影響は一定期間が経過すれば消失してしまうため、非常に短い周期T1でブロックBLKへのアクセスを繰り返す必要があるが、これに比べれば物理的不良は頻繁に発生するものではないため、比較的長い周期T2で各ページへアクセスすればよい。
以上のように、本実施形態に係るパトロールリード順序によれば、各ブロックBLKにおいて短い周期でのアクセスを必要とするカップリング対策と、各ページにおいて比較的長い周期のアクセスでよい物理的不良検知とを両立することができる。
6.第6実施形態
次に、第6実施形態に係るメモリシステムについて説明する。本実施形態は、上記第5実施形態で説明したページ選択順序のバリエーションに関するものである。以下では、第5実施形態と異なる点についてのみ説明する。
次に、第6実施形態に係るメモリシステムについて説明する。本実施形態は、上記第5実施形態で説明したページ選択順序のバリエーションに関するものである。以下では、第5実施形態と異なる点についてのみ説明する。
6.1 第1の例
まず、本実施形態に係る第1の例について説明する。図35はパトロール動作のフローチャートであり、第5実施形態で説明した図33に対応する。すなわち図35は図33と同様に、ブロックBLKが4個、各ブロックBLKのストリングユニットSUが4個、各ストリングユニットSUのワード線WLが96本、メモリセルトランジスタMTの保持データが3ビットの場合を示している。また図中で使用される4つの変数i、j、k、lの意味も第5実施形態と同様である。本例は、上記第5実施形態において、選択ブロックBLKをシフトする度に、選択ワード線WLもシフトするものである。
まず、本実施形態に係る第1の例について説明する。図35はパトロール動作のフローチャートであり、第5実施形態で説明した図33に対応する。すなわち図35は図33と同様に、ブロックBLKが4個、各ブロックBLKのストリングユニットSUが4個、各ストリングユニットSUのワード線WLが96本、メモリセルトランジスタMTの保持データが3ビットの場合を示している。また図中で使用される4つの変数i、j、k、lの意味も第5実施形態と同様である。本例は、上記第5実施形態において、選択ブロックBLKをシフトする度に、選択ワード線WLもシフトするものである。
すなわち図35に示すように、ステップS200の後、コントローラ200は、第1のループLP1を実行する際にあたっての先頭ワード線WLを決定する。この先頭ワード線WLの番号を示す変数が、図35におけるnWLである。まずは、nWL=“0”とされ、ワード線WL0が選択される(ステップS220)。その後、ステップS202でストリングユニットSU0が選択され(k=“0”)、引き続きブロックBLK0が選択されると共に(l=“0”)、ワード線WLj(但しj=nWL)が選択される(ステップS221)。
そして、第1のループLP1が実行される(ステップS215)。本例に係る第1のループLP1が第5実施形態と異なる点は、ステップS208で次のブロックBLK(l+1)が選択されるだけでなく、更に次のワード線WLが選択される点である(j=j+1、ステップS212)。このように、ブロックBLK及びワード線WLがシフトされて、再度シフトリードが実行される(ステップS204)。
そして、シフトリード対象が最終ストリングユニットSU3でなければ、第5実施形態と同様に次のストリングユニットSUが選択されて(ステップS210)、ステップS221に戻る。
シフトリード対象が最終ストリングユニットSU3であった場合には(ステップS209、YES)、コントローラ200は、直前の第1のループLP1における先頭ワード線WLが最終ワード線(nWL=“95”、すなわちWL95)であったか否かを判断する(ステップS222)。そして最終ワード線WL95でなければ(ステップS222、NO)、コントローラ200は先頭ワード線として次のワード線WLを選択して(nWL=nWL+1、ステップS223)、ステップS202に戻る。このように、第1のループLP1の各々において先頭ワード線WLがシフトされるため、ステップS222では変数jが最終ワード線WLの番号(j=“95”)を超える場合がある。この場合には、変数jは先頭ワード線を示す“0”にリセットされて、“0”から再びインクリメントされる。
そして、ループLP1における先頭ワード線がWL95であった際には(ステップS222、YES)、ステップS213に進む。
次に、本例に係る具体例につき、図36Aを用いて説明する。図36Aは第5実施形態で説明した図34Aに対応し、図34Aと同じく4つのブロックBLK0〜BLK3の各々が4つのストリングユニットSU0〜SU3を含み、また2つのワード線グループGP0及びGP2を含み、各ワード線グループGPが2本のワード線の組(WL0及びWL1の組と、WL2及びWL3の組)を含む場合について示している。また、図36Bは図36Aに対応するフローチャートであり、図36Bの各ステップS170〜S173に付したsuffixは、図34A及び図34Bの順序に対応する。すなわち、例えばステップS171−5は、第5実施形態では5回目の第1のループLP1で実行されるステップS171であることを意味する。これは、図36Bにおける参照符号を図34Bにおける参照符号と比較することで、本実施形態と第5実施形態との差異を明確にするためである。
図36A及び図36Bに示すように、まずブロックBLK0、ワード線WL0、lowerページ、及びストリングユニットSU0が選択されて、シフトリードが実行される(ステップS170−1)。次に選択ブロック及び選択ワード線がそれぞれブロックBLK1及びワード線WL1にシフトされ、またlowerページ、及びストリングユニットSU0が選択されて、シフトリードが実行される(ステップS171−5)。引き続き、選択ブロック及び選択ワード線がそれぞれブロックBLK2及びワード線WL2にシフトされ、またlowerページ、及びストリングユニットSU0が選択されて、シフトリードが実行される(ステップS172−9)。そしてブロックBLK3、ワード線WL3、lowerページ、及びストリングユニットSU0が選択されて、シフトリードが実行される(ステップS173−13)。
このように、選択ストリングユニットSUの番号及び選択ページが変わることなく、選択ブロックBLKの番号が“0”から“3”までインクリメントされ、また選択ワード線WLが“0”から“3”にインクリメントされる。そして、この4ステップが最初の第1のループLP1を構成する。すなわち、この最初の第1のループLP1は、第5実施形態で説明した図34BにおけるステップS170−1、S171−5、S172−9、及びS173−13を含む。つまり、図36Bに記載されているステップS170〜S173のsuffixが、図34Aの各ブロックBLKにおける“1”〜“48”までの数字に相当する。
ステップS170−1、S171−5、S172−9、及びS173−13の次には、ストリングユニットSUの番号がインクリメントされて、第1のループLP1が繰り返される。すなわち、まずブロックBLK0、ワード線WL0、lowerページ、及びストリングユニットSU1が選択されて、シフトリードが実行される(ステップS170−2)。次にブロックBLK1、ワード線WL1、lowerページ、及びストリングユニットSU1が選択されて、シフトリードが実行される(ステップS171−6)。引き続きブロックBLK2、ワード線WL2、lowerページ、及びストリングユニットSU1が選択されて、シフトリードが実行される(ステップS172−10)。そしてブロックBLK3、ワード線WL3、lowerページ、及びストリングユニットSU1が選択されて、シフトリードが実行される(ステップS173−14)。
その後も同様であり、5回目、9回目、及び13回目のループLP1では、第1のループLP1における先頭ワード線WLの番号がインクリメントされる。すなわち、5回目のループLP1では、先頭ワード線がWL0からWL1に変更される。9回目のループLP1では、先頭ワード線がWL1からWL2に変更される。そして13回目のループLP1では、先頭ワード線がWL2からWL3に変更される。
また、17回目及び33回目のループLP1では、選択ページが変更される。すなわち、17回目のループLP1では、選択ページがlowerページからmiddleページに変更される。33回目のループLP1では、選択ページがmiddleページからupperページに変更される。この点は、第5実施形態と同様である。
そして、48回目のループLP1では、まずブロックBLK0、最終ワード線WL3、upperページ、及び最終ストリングユニットSU3が選択されて、シフトリードが実行される(ステップS170−48)。次にブロックBLK1、ワード線WL0、upperページ、及びストリングユニットSU3が選択されて、シフトリードが実行される(ステップS171−36)。引き続きブロックBLK2、ワード線WL1、upperページ、及びストリングユニットSU3が選択されて、シフトリードが実行される(ステップS172−40)。そしてブロックBLK3、ワード線WL2、upperページ、及びストリングユニットSU3が選択されて、シフトリードが実行される(ステップS173−44)。
以上のように、第1のループLP1が48回、繰り返されることにより、第2のループLP2が実行される。
次に、本例に係る第1のループLP1実行時におけるメモリセルアレイ110の様子について説明する。図36Cは、1回目の第1のループLP1実行時におけるメモリセルアレイ110の回路図である。
まず、図36Cの時刻t1において、ステップS170−1が実行される。すなわち、ブロックBLK0のワード線WL0が選択されて、lowerページに対するシフトリードが実行される。従って、ブロックBLK0のワード線WL0に読み出し電圧VCGRVが印加され、その他のワード線WL1〜WL3には電圧VREADが印加される。また、ストリングユニットSU0を選択するために、セレクトゲート線SGD0には電圧VSGが印加される。
ブロックBLK0におけるストリングユニットSU0のワード線WL0からlowerページデータが読み出されると、必要に応じてインデックスの更新またはリフレッシュが実行され、次の時刻t2においてステップS171−5が実行される。すなわち、ブロックBLK1のワード線WL1が選択されて、lowerページに対するシフトリードが実行される。従って、ブロックBLK1のワード線WL1には、読み出し電圧VCGRVが印加され、その他のワード線WL0、WL2、及びWL3には電圧VREADが印加される。また、ストリングユニットSU0を選択するために、セレクトゲート線SGD0には電圧VSGが印加される。
ブロックBLK1におけるストリングユニットSU0のワード線WL1からlowerページデータが読み出されると、必要に応じてインデックスの更新またはリフレッシュが実行され、次の時刻t3においてステップS172−9が実行される。すなわち、ブロックBLK2のワード線WL2が選択されて、lowerページに対するシフトリードが実行される。従って、ブロックBLK2のワード線WL2には読み出し電圧VCGRVが印加され、その他のワード線WL0、WL1、及びWL3には電圧VREADが印加される。また、ストリングユニットSU0を選択するために、セレクトゲート線SGD0は電圧VSGが印加される。
ブロックBLK2におけるストリングユニットSU0のワード線WL2からlowerページデータが読み出されると、必要に応じてインデックスの更新またはリフレッシュが実行され、次の時刻t4においてステップS173−13が実行される。すなわち、ブロックBLK3のワード線WL3が選択されて、lowerページに対するシフトリードが実行される。従って、ブロックBLK3のワード線WL3には、読み出し電圧VCGRVが印加され、その他のワード線WL0〜WL2には電圧VREADが印加される。また、ストリングユニットSU0を選択するために、セレクトゲート線SGD0には電圧VSGが印加される。
以上の時刻t1〜t4の期間において、ステップS170−1、S171−5、S172−9、及び173−13、すなわち1回目の第1のループLP1が完了する。引き続き、2回目の第1のループLP1(ステップS170−2、S171−6、S172−10、及び173−14)が、時刻t5〜t8の期間に実行される。この様子を図36Dに示す。
図示するように、図36Cと異なる点は、各時刻t5〜t8においてストリングユニットSU1が選択される点である。すなわち、セレクトゲート線SGD1が選択される。その他は図36Cと同じである。
以下、同様にして、3回目〜48回目の第1のループLP1が繰り返される。
6.2 第2の例
次に、本実施形態に係る第2の例について説明する。図37はパトロール動作のフローチャートであり、第1の例で説明した図35に対応する。本例が第1の例と異なる点は、いずれかの第1のループLP1において、いずれかのワード線WLを対象にトラッキング動作を行う点である。
次に、本実施形態に係る第2の例について説明する。図37はパトロール動作のフローチャートであり、第1の例で説明した図35に対応する。本例が第1の例と異なる点は、いずれかの第1のループLP1において、いずれかのワード線WLを対象にトラッキング動作を行う点である。
図37に示すように、ステップS221の後、コントローラ200は、履歴学習を行うか否かを判断する(ステップS230)。履歴学習とは、読み出し対象ページに対応する閾値分布の交点をトラッキング動作により求め、その結果に基づいて履歴テーブルを更新することである。履歴学習を行わなければ(ステップS230、NO)、コントローラ200はシフトリード命令を発行する(ステップS232)。この場合の動作は図35と全く同じである。
コントローラ200が履歴学習を行う(ステップS230、YES)、と決定すると、コントローラ200はNAND型フラッシュメモリ100に対してトラッキング動作を命令する(ステップS231)。トラッキング動作の詳細は第1実施形態で説明した通りである。そして、求められた交点に対応する電圧を用いてシフトリードを行う。その後はステップS205以降の動作が行われる。
図38は本例に係る具体例であり、第1の例で説明した図36Aに対応する。図36Aと異なる点は、図38において、斜線を付したパトロールリードにおいてトラッキング動作が行われる点である。
図38に示すように、本例におけるパトロールリード時におけるページの選択順序は第1の例と同じである。但し、下記においてトラッキング動作が行われる。
・最初の第1のループLP1:BLK0、SU0、WL0、lowerページ
・最初の第1のループLP1:BLK2、SU0、WL2、lowerページ
・5回目の第1のループLP1:BLK1、SU0、WL2、lowerページ
・5回目の第1のループLP1:BLK3、SU0、WL0、lowerページ
・9回目の第1のループLP1:BLK0、SU0、WL2、lowerページ
・9回目の第1のループLP1:BLK2、SU0、WL0、lowerページ
・13回目の第1のループLP1:BLK1、SU0、WL0、lowerページ
・13回目の第1のループLP1:BLK3、SU0、WL2、lowerページ
・17回目の第1のループLP1:BLK0、SU0、WL0、middleページ
・17回目の第1のループLP1:BLK2、SU0、WL2、middleページ
・21回目の第1のループLP1:BLK1、SU0、WL2、middleページ
・21回目の第1のループLP1:BLK3、SU0、WL0、middleページ
・25回目の第1のループLP1:BLK0、SU0、WL2、middleページ
・25回目の第1のループLP1:BLK2、SU0、WL0、middleページ
・29回目の第1のループLP1:BLK1、SU0、WL0、middleページ
・29回目の第1のループLP1:BLK3、SU0、WL2、middleページ
・33回目の第1のループLP1:BLK0、SU0、WL0、upperページ
・33回目の第1のループLP1:BLK2、SU0、WL2、upperページ
・37回目の第1のループLP1:BLK1、SU0、WL2、upperページ
・37回目の第1のループLP1:BLK3、SU0、WL0、upperページ
・41回目の第1のループLP1:BLK0、SU0、WL2、upperページ
・41回目の第1のループLP1:BLK2、SU0、WL0、upperページ
・45回目の第1のループLP1:BLK1、SU0、WL0、upperページ
・45回目の第1のループLP1:BLK3、SU0、WL2、upperページ
本例によれば、トラッキング動作を定期的に行うことで、履歴テーブルの精度を更に向上できる。
・最初の第1のループLP1:BLK0、SU0、WL0、lowerページ
・最初の第1のループLP1:BLK2、SU0、WL2、lowerページ
・5回目の第1のループLP1:BLK1、SU0、WL2、lowerページ
・5回目の第1のループLP1:BLK3、SU0、WL0、lowerページ
・9回目の第1のループLP1:BLK0、SU0、WL2、lowerページ
・9回目の第1のループLP1:BLK2、SU0、WL0、lowerページ
・13回目の第1のループLP1:BLK1、SU0、WL0、lowerページ
・13回目の第1のループLP1:BLK3、SU0、WL2、lowerページ
・17回目の第1のループLP1:BLK0、SU0、WL0、middleページ
・17回目の第1のループLP1:BLK2、SU0、WL2、middleページ
・21回目の第1のループLP1:BLK1、SU0、WL2、middleページ
・21回目の第1のループLP1:BLK3、SU0、WL0、middleページ
・25回目の第1のループLP1:BLK0、SU0、WL2、middleページ
・25回目の第1のループLP1:BLK2、SU0、WL0、middleページ
・29回目の第1のループLP1:BLK1、SU0、WL0、middleページ
・29回目の第1のループLP1:BLK3、SU0、WL2、middleページ
・33回目の第1のループLP1:BLK0、SU0、WL0、upperページ
・33回目の第1のループLP1:BLK2、SU0、WL2、upperページ
・37回目の第1のループLP1:BLK1、SU0、WL2、upperページ
・37回目の第1のループLP1:BLK3、SU0、WL0、upperページ
・41回目の第1のループLP1:BLK0、SU0、WL2、upperページ
・41回目の第1のループLP1:BLK2、SU0、WL0、upperページ
・45回目の第1のループLP1:BLK1、SU0、WL0、upperページ
・45回目の第1のループLP1:BLK3、SU0、WL2、upperページ
本例によれば、トラッキング動作を定期的に行うことで、履歴テーブルの精度を更に向上できる。
6.3 第3の例
次に、本実施形態に係る第3の例について説明する。本例は、上記第1の例と第2の例を組み合わせ、更に第1のループLP1内においてストリングユニットSUもシフトさせるものである。以下では、上記第1及び第2の例と異なる点について説明する。図39は第3の例に係るパトロール動作のフローチャートである。
次に、本実施形態に係る第3の例について説明する。本例は、上記第1の例と第2の例を組み合わせ、更に第1のループLP1内においてストリングユニットSUもシフトさせるものである。以下では、上記第1及び第2の例と異なる点について説明する。図39は第3の例に係るパトロール動作のフローチャートである。
図示するように、第2の例で説明した図37において、ステップS220の後、コントローラ200は、第1のループLP1を実行する際にあたっての先頭ストリングユニットSUを決定する(ステップS240)。この先頭ストリングユニットSUの番号を示す変数が、図39におけるnSUである。まずは、nSU=“0”とされ、ストリングユニットSU0が選択される。そして、ブロックBLK0が選択されると共に(l=“0”)、ワード線WLj(但しj=nWL)及びストリングユニットSUk(k=nSU)が選択される(ステップS241)。
そして、第1のループLP1が実行される(ステップS215)。本例に係る第1のループLP1が図37で説明した第2の例と異なる点は、ステップS208で次のブロックBLK(l+1)が選択され且つステップS212で次のワード線WLが選択されるだけでなく(j=j+1)、更に次のストリングユニットSUが選択される点である(k=k+1、ステップS210)。このように、ブロックBLK、ワード線WL、及びストリングユニットSUがシフトされて、再度シフトリードまたはトラッキング動作が実行される(ステップS232またはS231)。
引き続きコントローラ200は、直前の第1のループLP1における先頭ストリングユニットSUが最終ストリングユニットSU(nsu=“3”、すなわちSU3)であったか否かを判断する(ステップS242)。そして最終ストリングユニットSU3でなければ(ステップS242、NO)、コントローラ200は次のストリングユニットSUを先頭ストリングユニットSUに選択して(nsu=nsu+1、ステップS243)、ステップS241に戻る。このように、第1のループLP1の各々において先頭ストリングユニットSUもシフトされるため、ステップS210では変数kが最終ストリングユニットSUの番号(k=“3”)を超える場合がある。この場合には、変数kは先頭ストリングユニットを示す“0”にリセットされて、“0”から再びインクリメントされる。
その後は、第2の例において図39で説明したステップS222以降の処理が行われる。
図40Aは本例に係る具体例であり、図38と同様、図40Aにおいて斜線を付したパトロールリードにおいてトラッキング動作が行われる。また、図40Bは図40Aに対応するフローチャートであり、図40Bの太線の枠で示したステップにおいてトラッキング動作が行われる。
図40A及び図40Bに示すように、まずブロックBLK0、ワード線WL0、lowerページ、及びストリングユニットSU0が選択されて、シフトリードが実行される(ステップS170−1)。この際、トラッキング動作が行われ、lowerページに関する閾値電圧の交点、すなわち“Er”状態の閾値分布と“A”状態の閾値分布の交点、及び“D”状態の閾値分布と“E”状態の閾値分布の交点に対応する電圧が求められる。次に選択ブロック、選択ワード線、及び選択ストリングユニットがそれぞれブロックBLK1、ワード線WL1、及びSU1にシフトされ、lowerページに対するシフトリードが実行される(ステップS171−6)。引き続き、選択ブロック、選択ワード線、及び選択ストリングユニットがそれぞれブロックBLK2、ワード線WL2、及びストリングユニットSU2にシフトされ、lowerページに対するシフトリードが実行される(ステップS172−11)。そしてブロックBLK3、ワード線WL3、lowerページ、及びストリングユニットSU3が選択されて、シフトリードが実行される(ステップS173−16)。
このように選択ページはそのままに、選択ブロックBLKの番号が“0”から“3”までインクリメントされ、また選択ワード線WLが“0”から“3”にインクリメントされ、更に、選択ストリングユニットSUが“0”から“3”にインクリメントされる。そして、この4ステップが最初の第1のループLP1を構成する。すなわち、この最初の第1のループLP1は、第5実施形態で説明した図34BにおけるステップS170−1、S171−6、S172−11、及びS173−16を含む。
次に、先頭ストリングユニットSUの番号が“0”から“1”にインクリメントされて、第1のループLP1が繰り返される。すなわち、まずブロックBLK0、ワード線WL0、lowerページ、及びストリングユニットSU1が選択されて、シフトリードが実行される(ステップS170−2)。次にブロックBLK1、ワード線WL1、lowerページ、及びストリングユニットSU2が選択されて、シフトリードが実行される(ステップS171−7)。引き続きブロックBLK2、ワード線WL2、lowerページ、及びストリングユニットSU3が選択されて、シフトリードが実行される(ステップS172−12)。そしてブロックBLK3、ワード線WL3、lowerページ、及びストリングユニットSU0が選択されて、シフトリードが実行される(ステップS173−13)。
その後も同様であり、3回目及び4回目の第1のループLP1では、先頭ストリングユニットSUの番号がそれぞれ“2”及び“3”にインクリメントされる。また、5回目、9回目、及び13回目の第1のループLP1では、先頭ワード線WLの番号がそれぞれ“1”〜“3”にインクリメントされる。すなわち、5回目のループLP1では、先頭ワード線がWL0からWL1に変更される。9回目のループLP1では、先頭ワード線がWL1からWL2に変更される。そして13回目のループLP1では、先頭ワード線がWL2からWL3に変更される。そして、下記においてトラッキング動作が行われる。
・最初の第1のループLP1:BLK0、SU0、WL0、lowerページ
・3回目の第1のループLP1:BLK2、SU0、WL2、lowerページ
・6回目の第1のループLP1:BLK3、SU0、WL0、lowerページ
・8回目の第1のループLP1:BLK1、SU0、WL2、lowerページ
・9回目の第1のループLP1:BLK0、SU0、WL2、lowerページ
・11回目の第1のループLP1:BLK2、SU0、WL0、lowerページ
・14回目の第1のループLP1:BLK3、SU0、WL2、lowerページ
・16回目の第1のループLP1:BLK1、SU0、WL0、lowerページ
・17回目の第1のループLP1:BLK0、SU0、WL0、middleページ
・19回目の第1のループLP1:BLK2、SU0、WL2、middleページ
・22回目の第1のループLP1:BLK3、SU0、WL0、middleページ
・24回目の第1のループLP1:BLK1、SU0、WL2、middleページ
・25回目の第1のループLP1:BLK0、SU0、WL2、middleページ
・27回目の第1のループLP1:BLK2、SU0、WL0、middleページ
・30回目の第1のループLP1:BLK3、SU0、WL2、middleページ
・32回目の第1のループLP1:BLK1、SU0、WL0、middleページ
・33回目の第1のループLP1:BLK0、SU0、WL0、upperページ
・35回目の第1のループLP1:BLK2、SU0、WL2、upperページ
・38回目の第1のループLP1:BLK3、SU0、WL0、upperページ
・40回目の第1のループLP1:BLK1、SU0、WL2、upperページ
・41回目の第1のループLP1:BLK0、SU0、WL2、upperページ
・43回目の第1のループLP1:BLK2、SU0、WL0、upperページ
・46回目の第1のループLP1:BLK3、SU0、WL2、upperページ
・48回目の第1のループLP1:BLK1、SU0、WL0、upperページ
以上のように、第1のループLP1が48回、繰り返されることにより、第2のループLP2が実行される。
・最初の第1のループLP1:BLK0、SU0、WL0、lowerページ
・3回目の第1のループLP1:BLK2、SU0、WL2、lowerページ
・6回目の第1のループLP1:BLK3、SU0、WL0、lowerページ
・8回目の第1のループLP1:BLK1、SU0、WL2、lowerページ
・9回目の第1のループLP1:BLK0、SU0、WL2、lowerページ
・11回目の第1のループLP1:BLK2、SU0、WL0、lowerページ
・14回目の第1のループLP1:BLK3、SU0、WL2、lowerページ
・16回目の第1のループLP1:BLK1、SU0、WL0、lowerページ
・17回目の第1のループLP1:BLK0、SU0、WL0、middleページ
・19回目の第1のループLP1:BLK2、SU0、WL2、middleページ
・22回目の第1のループLP1:BLK3、SU0、WL0、middleページ
・24回目の第1のループLP1:BLK1、SU0、WL2、middleページ
・25回目の第1のループLP1:BLK0、SU0、WL2、middleページ
・27回目の第1のループLP1:BLK2、SU0、WL0、middleページ
・30回目の第1のループLP1:BLK3、SU0、WL2、middleページ
・32回目の第1のループLP1:BLK1、SU0、WL0、middleページ
・33回目の第1のループLP1:BLK0、SU0、WL0、upperページ
・35回目の第1のループLP1:BLK2、SU0、WL2、upperページ
・38回目の第1のループLP1:BLK3、SU0、WL0、upperページ
・40回目の第1のループLP1:BLK1、SU0、WL2、upperページ
・41回目の第1のループLP1:BLK0、SU0、WL2、upperページ
・43回目の第1のループLP1:BLK2、SU0、WL0、upperページ
・46回目の第1のループLP1:BLK3、SU0、WL2、upperページ
・48回目の第1のループLP1:BLK1、SU0、WL0、upperページ
以上のように、第1のループLP1が48回、繰り返されることにより、第2のループLP2が実行される。
次に、本例に係る第1のループLP1実行時におけるメモリセルアレイ110の様子について説明する。図40Cは、1回目の第1のループLP1実行時におけるメモリセルアレイ110の回路図である。
まず、図40Cの時刻t1において、ステップS170−1が実行される。すなわち、ブロックBLK0のワード線WL0が選択されて、lowerページに対するトラッキング動作が実行される。そして、トラッキング動作により得られたDAC値を用いてシフトリードが実行される。
次の時刻t2では、ステップS171−6が実行される。すなわち、ブロックBLK1のワード線WL1が選択されて、lowerページに対するシフトリードが実行される。従って、ブロックBLK1のワード線WL1には、読み出し電圧VCGRVが印加され、その他のワード線WL0、WL2、及びWL3には電圧VREADが印加される。また、ストリングユニットSU1を選択するために、セレクトゲート線SGD1には電圧VSGが印加される。
次の時刻t3では、ステップS172−11が実行される。すなわち、ブロックBLK2のワード線WL2が選択されて、lowerページに対するシフトリードが実行される。従って、ブロックBLK2のワード線WL2には読み出し電圧VCGRVが印加され、その他のワード線WL0、WL1、及びWL3には電圧VREADが印加される。また、ストリングユニットSU2を選択するために、セレクトゲート線SGD2には電圧VSGが印加される。
次の時刻t4では、ステップS173−16が実行される。すなわち、ブロックBLK3のワード線WL3が選択されて、lowerページに対するシフトリードが実行される。従って、ブロックBLK3のワード線WL3には、読み出し電圧VCGRVが印加され、その他のワード線WL0〜WL2には電圧VREADが印加される。また、ストリングユニットSU3を選択するために、セレクトゲート線SGD3には電圧VSGが印加される。
以上の時刻t1〜t4の期間において、ステップS170−1、S171−6、S172−11、及び173−16、すなわち1回目の第1のループLP1が完了する。引き続き、2回目の第1のループLP1(ステップS170−2、S171−7、S172−12、及び173−13)が、時刻t5〜t8の期間に実行される。この様子を図40Dに示す。
図示するように、図40Cと異なる点は、各時刻t5〜t8においてそれぞれストリングユニットSU1、SU2、SU3、及びSU0が選択される点である。すなわち、時刻t5、t6、t7、及びt8では、セレクトゲート線SGD1、SGD2、SGD3、及びSGD0がそれぞれ選択される。その他は図40Cと同じである。
以上の時刻t5〜t8の期間において、2回目の第1のループLP1が完了する。引き続き、3回目の第1のループLP1(ステップS170−3、S171−8、S172−9、及び173−14)が、時刻t9〜t12の期間に実行される。この様子を図40Eに示す。
図示するように、図40Dと異なる点は、各時刻t9〜t12においてそれぞれストリングユニットSU2、SU3、SU0、及びSU1が選択される点である。すなわち、時刻t9、t10、t11、及びt12では、セレクトゲート線SGD2、SGD3、SGD0、及びSGD1が選択される。その他は図40Dと同じである。
以上のように、第1のループLP1では、ブロックBLK及びワード線WLだけでなく、選択されるストリングユニットSUをシフトさせてもよい。
6.4 第4の例
次に、本実施形態に係る第4の例について説明する。本例は、上記第3の例において、第1のループLP1内においてストリングユニットSUの代わりにページをシフトさせるものである。以下では、上記第3の例と異なる点について説明する。図41は第4の例に係るパトロール動作のフローチャートである。
次に、本実施形態に係る第4の例について説明する。本例は、上記第3の例において、第1のループLP1内においてストリングユニットSUの代わりにページをシフトさせるものである。以下では、上記第3の例と異なる点について説明する。図41は第4の例に係るパトロール動作のフローチャートである。
図示するように、第3の例で説明した図39においてコントローラ200は、第1のループLP1を実行する際にあたっての先頭ページを決定する(ステップS250)。この先頭ページを示す変数が図41におけるnLMUであり、nLMU=“0”がlowerページに対応し、nLMU=“1”がmiddleページに対応し、nLMU=“2”がupperページに対応する。まずは、nLMU=“0”とされ、lowerページが選択される。
更にコントローラ200は、第3の例と同様にステップS220を実行し、第1のループLP1における先頭ワード線WLを決定する(nWL=“0”)。更にコントローラ200は、第1のループLP1の対象となるストリングユニットSU0(k=0)を選択する(ステップS202)。
そしてコントローラ200はブロックBLK0を選択すると共に(l=“0”)、ワード線WLj(但しj=nWL)及びページi(i=nLMU)を選択する(ステップS251)。
そして、第1のループLP1が実行される(ステップS215)。本例に係る第1のループLP1が図39で説明した第3の例と異なる点は、ステップS208で次のブロックBLK(l+1)が選択され且つステップS212で次のワード線WLが選択されるだけでなく(j=j+1)、更に次のページが選択される点である(i=i+1、ステップS214)。なお、第1のループLP1内においてストリングユニットSUの番号は変わらない。このように、ブロックBLK、ワード線WL、及び読み出し対象ページがシフトされて、再度シフトリードまたはトラッキング動作が実行される(ステップS232またはS231)。
引き続きコントローラ200は、直前の第1のループLP1の対象とされたストリングユニットSUが最終ストリングユニットSU(k=“3”、すなわちSU3)であったか否かを判断する(ステップS209)。そして最終ストリングユニットSU3でなければ(ステップS209、NO)、コントローラ200は次のストリングユニットSUを選択して(ステップS210)、ステップS251に戻る。
第1のループLP1の対象が最終ストリングユニットSU3であった場合には(ステップS209、YES)、コントローラ200は、直前の第1のループLP1における先頭ワード線が最終ワード線WL(nWL=“95”、すなわちWL95)であったか否かを判断する(ステップS222)。そして最終ワード線WL95でなければ(ステップS222、NO)、コントローラ200はステップS223の処理を実行する。また、最終ワード線WL95であった場合(ステップS222、YES)、コントローラ200は、直前の第1のループLP1における先頭ページがupperページ(nLMU=“2”)であったか否かを判断する(ステップS252)。そしてupperページでなければ(ステップS252、NO)、コントローラ200は次のページを選択し(nLMU=nLMU+1、ステップS253)、ステップS220に戻る。このように、第1のループLP1の各々において先頭ページがシフトされるため、ステップS214では変数iがupperページの番号(i=“2”)を超える場合がある。この場合には、変数iはlowerページを示す“0”にリセットされて、“0”から再びインクリメントされる。
そして、ループLP1における先頭ページがupperページであった際には(ステップS252、YES)、第2のループが終了する。
図42Aは本例に係る具体例であり、第1乃至第3の例で説明した図36A、図38A、図40Aに対応する。図42Aにおいても、斜線を付したパトロールリードにおいてトラッキング動作が行われる。また、図42Bは図42Aに対応するフローチャートであり、太線の枠で示したステップにおいてトラッキング動作が行われる。なお、図42A及び図42Bでは、説明の簡単化のために、第1乃至第3の例と異なりブロックBLKが3個(BLK0〜BLK2)である場合を例に説明する。その他は第1乃至第3の例と同じである。
図42A及び図42Bに示すように、まずブロックBLK0、ワード線WL0、lowerページ、及びストリングユニットSU0が選択されて、トラッキング動作及びシフトリードが実行される(ステップS170−1)。次に選択ブロック、選択ワード線、及び選択ページがそれぞれブロックBLK1、ワード線WL1、及びmiddleページにシフトされ、シフトリードが実行される(ステップS171−21)。引き続き、選択ブロック、選択ワード線、及び選択ページがそれぞれブロックBLK2、ワード線WL2、及びupperページにシフトされ、シフトリードが実行される(ステップS172−41)。このように、本例に係る第1のループLP1は3回のシフトリードを含み、これを48回繰り返すことにより第2のループLP2が完了する。
すなわち、次にコントローラ200は、ストリングユニットSUを“0”から“1”にインクリメントして、2回目の第1のループLP1を実行する(ステップS170−2、S171−22、及びS172−42)。すなわち、まずブロックBLK0、ワード線WL0、lowerページ、及びストリングユニットSU1が選択されて、シフトリードが実行される(ステップS170−2)。次にブロックBLK1、ワード線WL1、middleページ、及びストリングユニットSU1が選択されて、シフトリードが実行される(ステップS171−22)。引き続きブロックBLK2、ワード線WL2、upperページ、及びストリングユニットSU1が選択されて、シフトリードが実行される(ステップS172−42)。
その後も同様であり、第1のループLP1の各々では選択ストリングユニットSUは変わらずにブロックBLK、ワード線WL、及びページがシフトされる。そして第1のループLP1を繰り返す際に、ストリングユニットSUがシフトされる。
6.5 本実施形態に係る効果
上記第5実施形態で説明したパトロールリードは、本実施形態で説明した順序によるシフトリードで実施することもできる。なお、上記実施形態では例示を省略したが、第1のループLP1においてブロックBLKをシフトさせる際に、ワード線WL、ストリングユニットSU、及びページの全てをシフトさせてもよい。
上記第5実施形態で説明したパトロールリードは、本実施形態で説明した順序によるシフトリードで実施することもできる。なお、上記実施形態では例示を省略したが、第1のループLP1においてブロックBLKをシフトさせる際に、ワード線WL、ストリングユニットSU、及びページの全てをシフトさせてもよい。
また、第1のループLP1においてワード線、ストリングユニット、及びページをインクリメントすることにより、第1のループLP1で必要となるトラッキング回数を平準化できる。つまり、トラッキングが発生するタイミングの偏りを抑制し、第1のループLP1を実行するのに要する時間のばらつきを小さくできる。
7.変形例等
以上のように、上記実施形態に係るメモリシステム1は、半導体基板の鉛直方向に順次設けられた第1乃至第4ワード線と、第1乃至第4ワード線にそれぞれ接続された第1乃至第4メモリセルとを備える半導体メモリと、半導体メモリを制御するコントローラとを備える。コントローラは、メモリセルの閾値分布の状態を確認(tracking動作)するための第1命令(test命令)と、第1命令に応答して得られた閾値分布の状態に基づく読み出し電圧を用いてメモリセルからデータを読み出すための第2命令(shift read命令)とを発行可能である。またコントローラは、第1ワード線(WL0 in 図15)を選択して第1命令を発行して、第1メモリセルにつき得られた閾値分布の状態に基づく第1読み出し電圧を得る第1動作(S100 in 図16)と、第2ワード線(WL1-WL11 in 図15)を選択し、且つ読み出し電圧として第1読み出し電圧に基づく電圧を指定する第2命令を発行して、第2メモリセルからデータを読み出す第2動作(S105 in 図16)と、第3ワード線(WL12 in 図15)を選択して第1命令を発行して、第3メモリセルにつき得られた閾値分布の状態に基づく第2読み出し電圧を得る第3動作(S115 in 図16)と、第4ワード線(WL13-WL23 in 図15)を選択し、且つ読み出し電圧として第2読み出し電圧に基づく電圧を指定する第2命令を発行して、第4メモリセルからデータを読み出す第4動作(S115 in 図16)とを実行する。
以上のように、上記実施形態に係るメモリシステム1は、半導体基板の鉛直方向に順次設けられた第1乃至第4ワード線と、第1乃至第4ワード線にそれぞれ接続された第1乃至第4メモリセルとを備える半導体メモリと、半導体メモリを制御するコントローラとを備える。コントローラは、メモリセルの閾値分布の状態を確認(tracking動作)するための第1命令(test命令)と、第1命令に応答して得られた閾値分布の状態に基づく読み出し電圧を用いてメモリセルからデータを読み出すための第2命令(shift read命令)とを発行可能である。またコントローラは、第1ワード線(WL0 in 図15)を選択して第1命令を発行して、第1メモリセルにつき得られた閾値分布の状態に基づく第1読み出し電圧を得る第1動作(S100 in 図16)と、第2ワード線(WL1-WL11 in 図15)を選択し、且つ読み出し電圧として第1読み出し電圧に基づく電圧を指定する第2命令を発行して、第2メモリセルからデータを読み出す第2動作(S105 in 図16)と、第3ワード線(WL12 in 図15)を選択して第1命令を発行して、第3メモリセルにつき得られた閾値分布の状態に基づく第2読み出し電圧を得る第3動作(S115 in 図16)と、第4ワード線(WL13-WL23 in 図15)を選択し、且つ読み出し電圧として第2読み出し電圧に基づく電圧を指定する第2命令を発行して、第4メモリセルからデータを読み出す第4動作(S115 in 図16)とを実行する。
更に、上記実施形態に係るメモリシステム1は、半導体基板の鉛直方向に順次設けられた第1乃至第3ワード線と、第1乃至第3ワード線にそれぞれ接続された第1乃至第3メモリセルとを備える半導体メモリと、半導体メモリを制御するコントローラとを具備する。コントローラは、メモリセルの閾値分布の状態を確認(tracking動作)するための第1命令(test命令)と、第1命令に応答して得られた閾値分布の状態に基づく読み出し電圧を用いてメモリセルからデータを読み出すための第2命令(shift read命令)とを発行可能である。コントローラは、第1ワード線(WL6 in 図31A-B)を選択して前記第1命令を発行して、第1メモリセルにつき得られた閾値分布の状態に基づく第1読み出し電圧(+3 in 図31A)を得る第1動作と、第3ワード線(WL18 in 図31A-B)を選択して第1命令を発行して、第3メモリセルにつき得られた閾値分布の状態に基づく第2読み出し電圧(0 in 図31A)を得る第2動作と、第2ワード線(WL10 in 図31B)を選択し、且つ読み出し電圧として第3読み出し電圧(+2 in 図31B)を指定する第2命令を発行して、第2メモリセルからデータを読み出す第3動作とを実行する。そして、第2読み出し電圧は、前記第1読み出し電圧と前記第3読み出し電圧との間の値である。
更に、上記実施形態に係るメモリシステム1は、データを保持可能なメモリセルを複数備える半導体メモリと、半導体メモリを制御するコントローラとを具備する。半導体メモリは、複数の第1ワード線(WL0-WL3 of BLK0 in 図34A)を備え、それぞれにメモリセルが接続された第1ブロック(BLK0 in 図34A)と、複数の第2ワード線(WL0-WL3 of BLK1 in 図34A)を備え、それぞれにメモリセルが接続された第2ブロック(BLK1 in 図34A)とを備える。コントローラは、第1の周期(LP1 in 図34B)で第1ブロック(BLK0)と第2ブロック(BLK1)へのアクセスを繰り返す。更に第1の周期よりも大きい第2の周期(LP2 in 図34B)で第1ブロック内の複数の第1ワード線(WL0-WL3 of BLK0)と、第2ブロック内の前記複数の第2ワード線(WL0-WL3 of BLK1)へのアクセスを繰り返す。
本構成によれば、時間の経過に伴うメモリセルの閾値変動を補正し、これによりメモリシステム1の動作信頼性を向上できる。なお、上記で説明した実施形態は一例に過ぎず、種々の変形が可能である。
例えば、第1実施形態で説明したワード線のグルーピングは、図6や図7で説明したものに限らず、適宜変形できる。また図6及び図7では、シリコンピラー31が2つの層31−1及び31−2で形成される場合を例に説明したが、1つの層で形成されてもよいし、または3つ以上の層で形成されてもよい。また、上記実施形態では、最上層のワード線が先頭ワード線WL0であり、最下層のワード線が最終ワード線WL95である場合を例に説明した。しかし、この位置関係は逆であっても良い。すなわち、最下層のワード線が先頭ワード線WL0であり、最上層のワード線が最終ワード線WL95であってもよい。また、第2実施形態で説明したトラッキング動作は、図13A乃至図13C並びに図14A及び図14Bで説明した方法に限らず、閾値分布の交点を探索できる方法であればよい。またトラッキング動作は、閾値分布の交点そのものを見つける方法ではなく、例えばエラービット数が最小となる読み出し電圧を探索する方法であってもよく、閾値分布の状況を確認できる方法であれば限定されない。更に、上記実施形態で説明した履歴テーブルは物理ブロック毎に設けられても良いし、または論理ブロック毎に設けられても良い。物理ブロックBLKには、それぞれ固有のアドレスが割り当てられている。これを物理アドレスと呼ぶ。これに対してホスト機器300は、物理アドレスと異なる論理アドレスを用いてコントローラ200にアクセスする。この論理アドレスによって指定される物理ブロックBLKが論理ブロックであり、例えば複数の物理ブロックBLKの集合である。論理ブロックLBと物理ブロックBLKとの関係は、常に変化し得る。例えば、ある時点での論理ブロックLB0が、物理ブロックBLK0〜BLK3に対応していたとすると、その後のある時点では、論理ブロックLB0は別の物理ブロックBLK4〜BLK7に対応する。従ってコントローラ200の例えばバッファメモリ240は、論理アドレスと物理アドレスとの対応関係を、論理/物理アドレス変換テーブルとして保持する。
また第6実施形態では、パトロールリードにおけるページの選択順序のいくつかの例について説明した。しかし、ページの選択順序は第6実施形態で説明した場合に限定されず、その他の種々の順序で選択してもよい。すなわち、ある周期T1で第1のループLP1が実行され(すなわち全物理ブロックへアクセスされ)、別の周期T2で第2のループLP2が実行され(すなわち全物理ブロックの全ページへアクセスされ)、T1<T2であればよい。そして周期T1は、干渉効果の影響が消失するのに要する期間より短いことが好ましく、更には、全物理ブロックBLKにアクセスするための最短期間であることが好ましい。また上記実施形態では、シフトリードでの電圧シフト量をset featureコマンドでNAND型フラッシュメモリ100に設定する場合を例に説明したが(図8参照)、例えばシフトリードコマンド内で指定してもよい。更に上記実施形態では、メモリセルトランジスタMTの各々が3ビットデータを保持する場合を例に説明した。しかし、2ビットや4ビット以上のデータを保持する場合にも適用できる。
なお、本発明に関する各実施形態において、
(1)メモリセルが2ビットデータ(“Er”、“A”、“B”、及び“C”)を保持する場合に、Aレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば0V〜0.55Vの間である。これに限定されることなく、0.1V〜0.24V, 0.21V〜0.31V, 0.31V〜0.4V, 0.4V〜0.5V, 0.5V〜0.55Vいずれかの間にしてもよい。
Bレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば1.5V〜2.3Vの間である。これに限定されることなく、1.65V〜1.8V, 1.8V〜1.95V, 1.95V〜2.1V, 2.1V〜2.3Vいずれかの間にしてもよい。
Cレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば3.0V〜4.0Vの間である。これに限定されることなく、3.0V〜3.2V, 3.2V〜3.4V, 3.4V〜3.5V, 3.5V〜3.6V, 3.6V〜4.0Vいずれかの間にしてもよい。
読み出し動作の時間(tR)としては、例えば25μs〜38μs, 38μs〜70μs, 70μs〜80μsの間にしてもよい。
(2)書き込み動作は、プログラム動作とベリファイ動作を含む。書き込み動作では、
プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば13.7V〜14.3Vの間である。これに限定されることなく、例えば13.7V〜14.0V, 14.0V〜14.6Vいずれかの間としてもよい。
奇数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧を変えてもよい。
プログラム動作をISPP方式(Incremental Step Pulse Program)としたとき、ステップアップの電圧として、例えば0.5V程度が挙げられる。
非選択のワード線に印加される電圧としては、例えば6.0V〜7.3Vの間としてもよい。この場合に限定されることなく、例えば7.3V〜8.4Vの間としてもよく、6.0V以下としてもよい。
非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかで、印加するパス電圧を変えてもよい。
書き込み動作の時間(tProg)としては、例えば1700μs〜1800μs, 1800μs〜1900μs, 1900μs〜2000μsの間にしてもよい。
(3)消去動作では、
半導体基板上部に形成され、かつ、上記メモリセルが上方に配置されたウェルに最初に印加する電圧は、例えば12V〜13.6Vの間である。この場合に限定されることなく、例えば13.6V〜14.8V, 14.8V〜19.0V, 19.0〜19.8V, 19.8V〜21Vの間であってもよい。
消去動作の時間(tErase)としては、例えば3000μs〜4000μs, 4000μs〜5000μs, 4000μs〜9000μsの間にしてもよい。
(4)メモリセルの構造は、
半導体基板(シリコン基板)上に膜厚が4〜10nmのトンネル絶縁膜を介して配置された電荷蓄積層を有している。この電荷蓄積層は膜厚が2〜3nmのSiN、またはSiONなどの絶縁膜と膜厚が3〜8nmのポリシリコンとの積層構造にすることができる。また、ポリシリコンにはRuなどの金属が添加されていても良い。電荷蓄積層の上には絶縁膜を有している。この絶縁膜は、例えば、膜厚が3〜10nmの下層High−k膜と膜厚が3〜10nmの上層High−k膜に挟まれた膜厚が4〜10nmのシリコン酸化膜を有している。High−k膜はHfOなどが挙げられる。また、シリコン酸化膜の膜厚はHigh−k膜の膜厚よりも厚くすることができる。絶縁膜上には膜厚が3〜10nmの仕事関数調整用の材料を介して膜厚が30nm〜70nmの制御電極が形成されている。ここで仕事関数調整用の材料はTaOなどの金属酸化膜、TaNなどの金属窒化膜である。制御電極にはWなどを用いることができる。
また、メモリセル間にはエアギャップを形成することができる。
(1)メモリセルが2ビットデータ(“Er”、“A”、“B”、及び“C”)を保持する場合に、Aレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば0V〜0.55Vの間である。これに限定されることなく、0.1V〜0.24V, 0.21V〜0.31V, 0.31V〜0.4V, 0.4V〜0.5V, 0.5V〜0.55Vいずれかの間にしてもよい。
Bレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば1.5V〜2.3Vの間である。これに限定されることなく、1.65V〜1.8V, 1.8V〜1.95V, 1.95V〜2.1V, 2.1V〜2.3Vいずれかの間にしてもよい。
Cレベルの読み出し動作に選択されたワード線に印加される電圧は、例えば3.0V〜4.0Vの間である。これに限定されることなく、3.0V〜3.2V, 3.2V〜3.4V, 3.4V〜3.5V, 3.5V〜3.6V, 3.6V〜4.0Vいずれかの間にしてもよい。
読み出し動作の時間(tR)としては、例えば25μs〜38μs, 38μs〜70μs, 70μs〜80μsの間にしてもよい。
(2)書き込み動作は、プログラム動作とベリファイ動作を含む。書き込み動作では、
プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば13.7V〜14.3Vの間である。これに限定されることなく、例えば13.7V〜14.0V, 14.0V〜14.6Vいずれかの間としてもよい。
奇数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧を変えてもよい。
プログラム動作をISPP方式(Incremental Step Pulse Program)としたとき、ステップアップの電圧として、例えば0.5V程度が挙げられる。
非選択のワード線に印加される電圧としては、例えば6.0V〜7.3Vの間としてもよい。この場合に限定されることなく、例えば7.3V〜8.4Vの間としてもよく、6.0V以下としてもよい。
非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかで、印加するパス電圧を変えてもよい。
書き込み動作の時間(tProg)としては、例えば1700μs〜1800μs, 1800μs〜1900μs, 1900μs〜2000μsの間にしてもよい。
(3)消去動作では、
半導体基板上部に形成され、かつ、上記メモリセルが上方に配置されたウェルに最初に印加する電圧は、例えば12V〜13.6Vの間である。この場合に限定されることなく、例えば13.6V〜14.8V, 14.8V〜19.0V, 19.0〜19.8V, 19.8V〜21Vの間であってもよい。
消去動作の時間(tErase)としては、例えば3000μs〜4000μs, 4000μs〜5000μs, 4000μs〜9000μsの間にしてもよい。
(4)メモリセルの構造は、
半導体基板(シリコン基板)上に膜厚が4〜10nmのトンネル絶縁膜を介して配置された電荷蓄積層を有している。この電荷蓄積層は膜厚が2〜3nmのSiN、またはSiONなどの絶縁膜と膜厚が3〜8nmのポリシリコンとの積層構造にすることができる。また、ポリシリコンにはRuなどの金属が添加されていても良い。電荷蓄積層の上には絶縁膜を有している。この絶縁膜は、例えば、膜厚が3〜10nmの下層High−k膜と膜厚が3〜10nmの上層High−k膜に挟まれた膜厚が4〜10nmのシリコン酸化膜を有している。High−k膜はHfOなどが挙げられる。また、シリコン酸化膜の膜厚はHigh−k膜の膜厚よりも厚くすることができる。絶縁膜上には膜厚が3〜10nmの仕事関数調整用の材料を介して膜厚が30nm〜70nmの制御電極が形成されている。ここで仕事関数調整用の材料はTaOなどの金属酸化膜、TaNなどの金属窒化膜である。制御電極にはWなどを用いることができる。
また、メモリセル間にはエアギャップを形成することができる。
更に、上記実施形態では半導体記憶装置としてNAND型フラッシュメモリを例に説明したが、NAND型フラッシュメモリに限らず、その他の半導体メモリ全般に適用出来、更には半導体メモリ以外の種々の記憶装置に適用出来る。また、上記実施形態で説明したフローチャートは、その処理の順番を可能な限り入れ替えることが出来る。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…メモリシステム、100…NAND型フラッシュメモリ、110…メモリセルアレイ、120…ロウデコーダ、130…ドライバ回路、140…センスアンプ、150、160…レジスタ、170…シーケンサ、200…コントローラ、210、250…インターフェース回路、220、240…メモリ、230…プロセッサ、260…ECC回路、300…ホスト機器
Claims (18)
- 半導体基板の鉛直方向に順次設けられた第1ワード線、第2ワード線、第3ワード線、及び第4ワード線と、前記第1乃至第4ワード線にそれぞれ接続された第1メモリセル、第2メモリセル、第3メモリセル、及び第4メモリセルとを備える半導体メモリと、
前記半導体メモリを制御するコントローラと
を具備し、前記コントローラは、メモリセルの閾値分布の状態を確認するための第1命令と、前記第1命令に応答して得られた閾値分布の状態に基づく読み出し電圧を用いてメモリセルからデータを読み出すための第2命令とを発行可能であり、
前記コントローラは、前記第1ワード線を選択して前記第1命令を発行して、前記第1メモリセルにつき得られた閾値分布の状態に基づく第1読み出し電圧を得る第1動作と、
前記第2ワード線を選択し、且つ前記読み出し電圧として前記第1読み出し電圧に基づく電圧を指定する前記第2命令を発行して、前記第2メモリセルからデータを読み出す第2動作と、
前記第3ワード線を選択して前記第1命令を発行して、前記第3メモリセルにつき得られた閾値分布の状態に基づく第2読み出し電圧を得る第3動作と、
前記第4ワード線を選択し、且つ前記読み出し電圧として前記第2読み出し電圧に基づく電圧を指定する前記第2命令を発行して、前記第4メモリセルからデータを読み出す第4動作と
を実行する、メモリシステム。 - 前記半導体メモリは、第5ワード線及び第6ワード線と、前記第5及び第6ワード線にそれぞれ接続された第5メモリセル及び第6メモリセルとを更に備え、
前記第1ワード線は前記第2ワード線と前記第5ワード線との間に位置し、
前記第3ワード線は前記第4ワード線と前記第6ワード線との間に位置し、
前記コントローラは、前記第1動作の後、前記第5ワード線を選択し、且つ前記読み出し電圧として前記第1読み出し電圧に基づく電圧を指定する前記第2命令を発行して、前記第5メモリセルからデータを読み出す第5動作と、
前記第5動作の後に前記第2動作を実行する、請求項1記載のメモリシステム。 - 前記半導体メモリは、
第1セレクトゲート線と、
前記第1セレクトゲート線に接続された第1選択トランジスタと、
第1ビット線と
を更に備え、前記第1乃至第4メモリセルは直列接続され、前記第1選択トランジスタを介して前記第1ビット線に接続される、請求項1記載のメモリシステム。 - 前記半導体メモリは、
前記第1乃至第4ワード線にそれぞれ接続された第5メモリセル、第6メモリセル、第7メモリセル、及び第8メモリセルと、
第2セレクトゲート線と、
前記第2セレクトゲート線に接続された第2選択トランジスタと
を更に備え、前記第5乃至第8メモリセルは直列接続され、前記第2選択トランジスタを介して前記第1ビット線に接続され、
前記コントローラは、前記第1ワード線を選択し、且つ前記読み出し電圧として前記第1読み出し電圧に基づく電圧を指定する前記第2命令を発行して、前記第5メモリセルからデータを読み出す第5動作と、
前記第2ワード線を選択し、且つ前記読み出し電圧として前記第1読み出し電圧に基づく電圧を指定する前記第2命令を発行して、前記第6メモリセルからデータを読み出す第6動作と、
前記第3ワード線を選択し、且つ前記読み出し電圧として前記第2読み出し電圧に基づく電圧を指定する前記第2命令を発行して、前記第7メモリセルからデータを読み出す第7動作と、
前記第4ワード線を選択し、且つ前記読み出し電圧として前記第2読み出し電圧に基づく電圧を指定する前記第2命令を発行して、前記第8メモリセルからデータを読み出す第8動作と
を更に実行する、請求項3記載のメモリシステム。 - 前記半導体メモリは、前記第1乃至第4メモリセルを含む第1ブロックと、第2ブロックとを備え、前記第1ブロック内のデータ及び前記第2ブロック内のデータはそれぞれ一括して消去され、
前記第2動作と前記第4動作の少なくともいずれかにおいて、データの読み出しに失敗した場合、前記コントローラは第3命令を発行し、
前記第3命令に応答して前記半導体メモリは、前記第1ブロック内のデータを前記第2ブロックにコピーする、請求項1記載のメモリシステム。 - 前記半導体メモリは、第5ワード線と、前記第5ワード線に接続された第5メモリセルとを更に備え、
前記コントローラは、前記第5ワード線を選択して前記第1命令を発行して、前記第5メモリセルにつき得られた閾値分布の状態に基づく第3読み出し電圧を得る第5動作を更に実行し、
前記第2動作においては、前記第1読み出し電圧と前記第3読み出し電圧とに基づく電圧を前記読み出し電圧として指定する、請求項1記載のメモリシステム。 - 前記半導体メモリは、
第1セレクトゲート線及び第2セレクトゲート線と、
前記第1及び第2セレクトゲート線にそれぞれ接続された第1選択トランジスタ及び第2選択トランジスタと、
第1ビット線と
を更に備え、前記第1乃至第4メモリセルは直列接続され、前記第1選択トランジスタを介して前記第1ビット線に接続され、
前記第5メモリセルは、前記第2選択トランジスタを介して前記第1ビット線に接続され、
前記第1ワード線は前記第5ワード線に接続されている、請求項6記載のメモリシステム。 - 前記第5ワード線は、前記第1ワード線と前記第2ワード線との間に位置し、
前記第1乃至第5メモリセルは直列接続される、請求項6記載のメモリシステム。 - 半導体基板の鉛直方向に順次設けられた第1ワード線、第2ワード線、及び第3ワード線と、前記第1乃至第3ワード線にそれぞれ接続された第1メモリセル、第2メモリセル、及び第3メモリセルとを備える半導体メモリと、
前記半導体メモリを制御するコントローラと
を具備し、前記コントローラは、メモリセルの閾値分布の状態を確認するための第1命令と、前記第1命令に応答して得られた閾値分布の状態に基づく読み出し電圧を用いてメモリセルからデータを読み出すための第2命令とを発行可能であり、
前記コントローラは、前記第1ワード線を選択して前記第1命令を発行して、前記第1メモリセルにつき得られた閾値分布の状態に基づく第1読み出し電圧を得る第1動作と、
前記第3ワード線を選択して前記第1命令を発行して、前記第3メモリセルにつき得られた閾値分布の状態に基づく第2読み出し電圧を得る第2動作と、
前記第2ワード線を選択し、且つ前記読み出し電圧として第3読み出し電圧を指定する前記第2命令を発行して、前記第2メモリセルからデータを読み出す第3動作と
を実行し、前記第2読み出し電圧は、前記第1読み出し電圧と前記第3読み出し電圧との間の値である、メモリシステム。 - 前記コントローラは、前記第1乃至第3メモリセルからデータを読み出す際に、set featureコマンドにより、前記第1乃至第3ワード線に印加すべき電圧のシフト量を指定し、
前記第2ワード線についての前記シフト量は、前記第1ワード線についての前記シフト量と前記第3ワード線についての前記シフト量の間の大きさである、請求項9記載のメモリシステム。 - 前記コントローラは、前記第1読み出し電圧と前記第2読み出し電圧とに基づいて、前記第3読み出し電圧を算出する、請求項9記載のメモリシステム。
- データを保持可能なメモリセルを複数備える半導体メモリと、
前記半導体メモリを制御するコントローラと
を具備し、前記半導体メモリは、複数の第1ワード線を備え、それぞれにメモリセルが接続された第1ブロックと、複数の第2ワード線を備え、それぞれにメモリセルが接続された第2ブロックと
を備え、前記コントローラは、第1の周期で前記第1ブロックと前記第2ブロックへのアクセスを繰り返し、
前記第1の周期よりも大きい第2の周期で前記第1ブロック内の前記複数の第1ワード線と、前記第2ブロック内の前記複数の第2ワード線へのアクセスを繰り返す、メモリシステム。 - 前記コントローラは、前記第1の周期で前記第1及び第2ブロックにアクセスする際、選択ワード線、選択ストリングユニット、及び選択ページの少なくともいずれかをシフトさせる、請求項12記載のメモリシステム。
- 前記コントローラは、前記第1の周期で前記第1及び第2ブロックにアクセスする際、選択する先頭ワード線、先頭ストリングユニット、及び先頭ページの少なくともいずれかをシフトさせる、請求項12記載のメモリシステム。
- 前記第1の周期内でのアクセス対象は、前記第1ブロックにおける少なくとも1つのページ、及び前記第2ブロックにおける少なくとも1つのページ、であり、前記第1及び第2ブロックにおける他のページは、次回以降の前記第1の周期内でアクセスされる、請求項12記載のメモリシステム。
- 前記コントローラによる前記第1及び第2の周期による前記アクセスは、シフトリードまたはメモリセルの閾値分布を確認するための動作である、請求項12記載のメモリシステム。
- 前記半導体メモリは、複数の第3ワード線を備え、それぞれにメモリセルが接続された第3ブロックを備え、
前記第1ブロックに対する前記シフトリードに失敗した場合、前記コントローラは、前記第1ブロック内のデータを前記第3ブロックにコピーし、
前記第2ブロックに対する前記シフトリードに失敗した場合、前記コントローラは、前記第2ブロック内のデータを前記第3ブロックにコピーする、請求項16記載のメモリシステム。 - 第1及び第2の周期による前記アクセスにより前記メモリセルから読み出されたデータは、前記メモリシステムにアクセス可能なホスト機器へは送信されない、請求項12記載のメモリシステム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018161899A JP2020035504A (ja) | 2018-08-30 | 2018-08-30 | メモリシステム |
US16/297,789 US10910067B2 (en) | 2018-08-30 | 2019-03-11 | Memory system |
US17/131,400 US11222703B2 (en) | 2018-08-30 | 2020-12-22 | Memory system |
US17/568,336 US11763893B2 (en) | 2018-08-30 | 2022-01-04 | Memory system |
US18/362,221 US20240021250A1 (en) | 2018-08-30 | 2023-07-31 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018161899A JP2020035504A (ja) | 2018-08-30 | 2018-08-30 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020035504A true JP2020035504A (ja) | 2020-03-05 |
Family
ID=69641489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018161899A Pending JP2020035504A (ja) | 2018-08-30 | 2018-08-30 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (4) | US10910067B2 (ja) |
JP (1) | JP2020035504A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11424002B2 (en) | 2020-09-18 | 2022-08-23 | Kioxia Corporation | Memory system that includes a NAND flash memory and a memory controller |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9324398B2 (en) | 2013-02-04 | 2016-04-26 | Micron Technology, Inc. | Apparatuses and methods for targeted refreshing of memory |
US9047978B2 (en) | 2013-08-26 | 2015-06-02 | Micron Technology, Inc. | Apparatuses and methods for selective row refreshes |
JP2015219938A (ja) | 2014-05-21 | 2015-12-07 | マイクロン テクノロジー, インク. | 半導体装置 |
JP2017182854A (ja) | 2016-03-31 | 2017-10-05 | マイクロン テクノロジー, インク. | 半導体装置 |
US10580475B2 (en) | 2018-01-22 | 2020-03-03 | Micron Technology, Inc. | Apparatuses and methods for calculating row hammer refresh addresses in a semiconductor device |
US11152050B2 (en) | 2018-06-19 | 2021-10-19 | Micron Technology, Inc. | Apparatuses and methods for multiple row hammer refresh address sequences |
US10770127B2 (en) | 2019-02-06 | 2020-09-08 | Micron Technology, Inc. | Apparatuses and methods for managing row access counts |
US11043254B2 (en) | 2019-03-19 | 2021-06-22 | Micron Technology, Inc. | Semiconductor device having cam that stores address signals |
US11264096B2 (en) | 2019-05-14 | 2022-03-01 | Micron Technology, Inc. | Apparatuses, systems, and methods for a content addressable memory cell with latch and comparator circuits |
US11158364B2 (en) | 2019-05-31 | 2021-10-26 | Micron Technology, Inc. | Apparatuses and methods for tracking victim rows |
US11158373B2 (en) | 2019-06-11 | 2021-10-26 | Micron Technology, Inc. | Apparatuses, systems, and methods for determining extremum numerical values |
US10832792B1 (en) | 2019-07-01 | 2020-11-10 | Micron Technology, Inc. | Apparatuses and methods for adjusting victim data |
US11139015B2 (en) | 2019-07-01 | 2021-10-05 | Micron Technology, Inc. | Apparatuses and methods for monitoring word line accesses |
US11386946B2 (en) | 2019-07-16 | 2022-07-12 | Micron Technology, Inc. | Apparatuses and methods for tracking row accesses |
US10943636B1 (en) | 2019-08-20 | 2021-03-09 | Micron Technology, Inc. | Apparatuses and methods for analog row access tracking |
US10964378B2 (en) | 2019-08-22 | 2021-03-30 | Micron Technology, Inc. | Apparatus and method including analog accumulator for determining row access rate and target row address used for refresh operation |
US11200942B2 (en) | 2019-08-23 | 2021-12-14 | Micron Technology, Inc. | Apparatuses and methods for lossy row access counting |
JP2021047941A (ja) * | 2019-09-17 | 2021-03-25 | キオクシア株式会社 | メモリシステム及びメモリシステムの制御方法 |
JP2021071776A (ja) * | 2019-10-29 | 2021-05-06 | キオクシア株式会社 | メモリシステム |
US11222682B1 (en) | 2020-08-31 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for providing refresh addresses |
US11462291B2 (en) | 2020-11-23 | 2022-10-04 | Micron Technology, Inc. | Apparatuses and methods for tracking word line accesses |
US11482275B2 (en) | 2021-01-20 | 2022-10-25 | Micron Technology, Inc. | Apparatuses and methods for dynamically allocated aggressor detection |
US11600314B2 (en) | 2021-03-15 | 2023-03-07 | Micron Technology, Inc. | Apparatuses and methods for sketch circuits for refresh binning |
US11664063B2 (en) | 2021-08-12 | 2023-05-30 | Micron Technology, Inc. | Apparatuses and methods for countering memory attacks |
US11688451B2 (en) | 2021-11-29 | 2023-06-27 | Micron Technology, Inc. | Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking |
JP2023137685A (ja) * | 2022-03-18 | 2023-09-29 | キオクシア株式会社 | メモリシステム |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4945187B2 (ja) * | 2006-07-31 | 2012-06-06 | 株式会社東芝 | 半導体記憶装置 |
JP5142692B2 (ja) | 2007-12-11 | 2013-02-13 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP2009238874A (ja) | 2008-03-26 | 2009-10-15 | Toshiba Corp | 半導体メモリ及びその製造方法 |
JP5283960B2 (ja) | 2008-04-23 | 2013-09-04 | 株式会社東芝 | 三次元積層不揮発性半導体メモリ |
JP2009266944A (ja) | 2008-04-23 | 2009-11-12 | Toshiba Corp | 三次元積層不揮発性半導体メモリ |
US8737129B2 (en) * | 2008-11-14 | 2014-05-27 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and read method thereof |
KR101490426B1 (ko) * | 2008-11-14 | 2015-02-06 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 읽기 방법 |
JP2010199235A (ja) | 2009-02-24 | 2010-09-09 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP5197544B2 (ja) | 2009-10-05 | 2013-05-15 | 株式会社東芝 | メモリシステム |
JP2012027988A (ja) * | 2010-07-23 | 2012-02-09 | Toshiba Corp | 半導体記憶装置およびその制御方法 |
US8508995B2 (en) * | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
JP2012069205A (ja) | 2010-09-22 | 2012-04-05 | Toshiba Corp | 不揮発性半導体記憶装置 |
KR101727704B1 (ko) * | 2010-10-04 | 2017-04-18 | 삼성전자주식회사 | 리드 성능을 향상시킬 수 있는 리드 파라미터 변경 방법과 상기 방법을 수행할 수 있는 장치들 |
US9047955B2 (en) * | 2011-03-30 | 2015-06-02 | Stec, Inc. | Adjusting operating parameters for memory cells based on wordline address and cycle information |
JP2012252740A (ja) | 2011-06-02 | 2012-12-20 | Toshiba Corp | 不揮発性半導体記憶装置 |
US8898385B2 (en) | 2011-09-09 | 2014-11-25 | Lsi Corporation | Methods and structure for load balancing of background tasks between storage controllers in a clustered storage environment |
US20130173972A1 (en) | 2011-12-28 | 2013-07-04 | Robert Kubo | System and method for solid state disk flash plane failure detection |
KR102089532B1 (ko) * | 2013-02-06 | 2020-03-16 | 삼성전자주식회사 | 메모리 컨트롤러, 메모리 시스템 및 메모리 시스템의 동작 방법 |
TWI521513B (zh) * | 2013-06-28 | 2016-02-11 | 群聯電子股份有限公司 | 讀取電壓設定方法、控制電路與記憶體儲存裝置 |
US20150220394A1 (en) | 2014-02-03 | 2015-08-06 | Kabushiki Kaisha Toshiba | Memory system and method of controlling memory system |
KR102182804B1 (ko) * | 2014-07-29 | 2020-11-25 | 삼성전자주식회사 | 메모리 장치의 독출 방법 |
US9251892B1 (en) * | 2014-09-11 | 2016-02-02 | Kabushiki Kaisha Toshiba | Memory system and method of controlling nonvolatile memory |
JP2016162466A (ja) * | 2015-02-26 | 2016-09-05 | 株式会社東芝 | 半導体記憶装置及びメモリシステム |
TWI550612B (zh) * | 2015-03-23 | 2016-09-21 | 群聯電子股份有限公司 | 資料程式化方法、記憶體儲存裝置及記憶體控制電路單元 |
KR20170024307A (ko) * | 2015-08-25 | 2017-03-07 | 삼성전자주식회사 | 내장형 리프레쉬 콘트롤러 및 이를 포함하는 메모리 장치 |
KR102356072B1 (ko) * | 2015-09-10 | 2022-01-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
KR102620820B1 (ko) * | 2016-09-23 | 2024-01-03 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 독출 방법 |
CN109716187A (zh) | 2016-09-23 | 2019-05-03 | 住友电气工业株式会社 | 光连接器插芯及光连接器 |
JP6674361B2 (ja) * | 2016-09-29 | 2020-04-01 | キオクシア株式会社 | メモリシステム |
KR102699088B1 (ko) * | 2016-12-06 | 2024-08-26 | 삼성전자주식회사 | 해머 리프레쉬 동작을 수행하는 메모리 시스템 |
JP6783666B2 (ja) | 2017-01-05 | 2020-11-11 | キオクシア株式会社 | 半導体記憶装置及びメモリシステム |
KR102467291B1 (ko) * | 2017-12-22 | 2022-11-14 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법 |
KR102410924B1 (ko) * | 2018-05-14 | 2022-06-20 | 삼성전자주식회사 | 해머 리프레쉬 동작을 수행하는 리프레쉬 제어 회로, 메모리 장치 및 메모리 장치의 동작 방법 |
US10943637B2 (en) * | 2018-12-27 | 2021-03-09 | Micron Technology, Inc. | Apparatus with a row-hammer address latch mechanism |
JP7213712B2 (ja) * | 2019-02-14 | 2023-01-27 | キオクシア株式会社 | 不揮発性半導体記憶装置 |
-
2018
- 2018-08-30 JP JP2018161899A patent/JP2020035504A/ja active Pending
-
2019
- 2019-03-11 US US16/297,789 patent/US10910067B2/en active Active
-
2020
- 2020-12-22 US US17/131,400 patent/US11222703B2/en active Active
-
2022
- 2022-01-04 US US17/568,336 patent/US11763893B2/en active Active
-
2023
- 2023-07-31 US US18/362,221 patent/US20240021250A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11424002B2 (en) | 2020-09-18 | 2022-08-23 | Kioxia Corporation | Memory system that includes a NAND flash memory and a memory controller |
Also Published As
Publication number | Publication date |
---|---|
US20220130468A1 (en) | 2022-04-28 |
US10910067B2 (en) | 2021-02-02 |
US20200075106A1 (en) | 2020-03-05 |
US11222703B2 (en) | 2022-01-11 |
US20240021250A1 (en) | 2024-01-18 |
US11763893B2 (en) | 2023-09-19 |
US20210110875A1 (en) | 2021-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240021250A1 (en) | Memory system | |
US11561736B2 (en) | Memory system | |
US9514830B2 (en) | Non-volatile memory device, memory system including the same, and method of operating the same | |
US10665278B2 (en) | Controller and operating method thereof | |
US10978157B2 (en) | Memory system having semiconductor memory device that performs verify operations using various verify voltages | |
US20180217896A1 (en) | Memory system | |
US10860251B2 (en) | Semiconductor memory device | |
JP2019149219A (ja) | メモリシステム | |
JP2018037123A (ja) | 半導体記憶装置及びメモリシステム | |
JP2018028956A (ja) | 半導体記憶装置及びメモリシステム | |
US9548127B1 (en) | Memory system | |
JP2019053798A (ja) | 半導体記憶装置 | |
JP2020107376A (ja) | メモリシステム | |
JP2019040655A (ja) | メモリシステム | |
JP2021039810A (ja) | メモリシステム | |
TWI677872B (zh) | 記憶體系統及記憶體系統之控制方法 | |
US11817170B2 (en) | Storage controller determining error count, method of operating the same, and method of operating storage device including the same | |
US10297338B2 (en) | Memory system | |
JP2010160871A (ja) | 不揮発性半導体記憶装置 | |
JP2019160379A (ja) | 半導体記憶装置及びメモリシステム | |
US11694750B2 (en) | Memory system, memory device, and control method of memory system for generating information from a threshold voltage | |
JP7414669B2 (ja) | メモリシステム | |
JP2021047941A (ja) | メモリシステム及びメモリシステムの制御方法 |