JP2020047322A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2020047322A JP2020047322A JP2018172913A JP2018172913A JP2020047322A JP 2020047322 A JP2020047322 A JP 2020047322A JP 2018172913 A JP2018172913 A JP 2018172913A JP 2018172913 A JP2018172913 A JP 2018172913A JP 2020047322 A JP2020047322 A JP 2020047322A
- Authority
- JP
- Japan
- Prior art keywords
- read
- memory
- patrol
- word line
- memory system
- 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 643
- 239000004065 semiconductor Substances 0.000 claims abstract description 38
- 238000001514 detection method Methods 0.000 claims description 68
- 239000004020 conductor Substances 0.000 claims description 65
- 238000012937 correction Methods 0.000 claims description 48
- 230000007547 defect Effects 0.000 claims description 38
- 230000000149 penetrating effect Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 239000010410 layer Substances 0.000 description 69
- 238000012545 processing Methods 0.000 description 65
- 230000008859 change Effects 0.000 description 38
- 101001046426 Homo sapiens cGMP-dependent protein kinase 1 Proteins 0.000 description 22
- 102100022422 cGMP-dependent protein kinase 1 Human genes 0.000 description 22
- 238000009826 distribution Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 14
- 238000000034 method Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 12
- 230000004048 modification Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000012546 transfer Methods 0.000 description 10
- 230000014759 maintenance of location Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 7
- 101150097247 CRT1 gene Proteins 0.000 description 6
- 230000000052 comparative effect Effects 0.000 description 6
- 239000013256 coordination polymer Substances 0.000 description 5
- 238000005259 measurement Methods 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 239000003990 capacitor Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 2
- 101100481703 Arabidopsis thaliana TMK2 gene Proteins 0.000 description 2
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 230000012447 hatching Effects 0.000 description 2
- 239000011229 interlayer Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 208000011580 syndromic disease Diseases 0.000 description 2
- 101710186414 N-succinylglutamate 5-semialdehyde dehydrogenase Proteins 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- 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
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0658—Controller construction arrangements
-
- 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
-
- 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
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/025—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in signal lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/14—Word line organisation; Word line lay-out
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/1202—Word line control
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
- Non-Volatile Memory (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
【課題】データの信頼性を担保し、且つレイテンシを改善すること。【解決手段】実施形態のメモリシステムは、半導体メモリとメモリコントローラとを含む。半導体メモリは、直列に接続された複数のメモリセルと複数のメモリセルにそれぞれ接続された複数のワード線とを含む。メモリコントローラは、第1のパトロール期間と、第1のパトロール期間に続く第2のパトロール期間とのそれぞれにおいてパトロール動作を実行する。複数のワード線は、ワード線のアドレスに基づいて第1及び第2グループのいずれかに分類される。メモリコントローラは、第1のパトロール期間において複数のワード線をそれぞれ選択した複数のパトロール動作を実行する。メモリコントローラは、第2のパトロール期間において第1グループに含まれたワード線を選択したパトロール動作を実行し第2グループに含まれたワード線を選択したパトロール動作を省略する。【選択図】図25
Description
実施形態は、メモリシステムに関する。
データを不揮発に記憶することが可能なNAND型フラッシュメモリが知られている。
メモリシステムにおけるデータの信頼性を担保し、且つレイテンシを改善すること。
実施形態のメモリシステムは、半導体メモリとメモリコントローラとを含む。半導体メモリは、直列に接続された複数のメモリセルと、複数のメモリセルにそれぞれ接続された複数のワード線とを含む。メモリコントローラは、第1のパトロール期間と、第1のパトロール期間に続く第2のパトロール期間とのそれぞれにおいて、半導体メモリの読み出し動作を含むパトロール動作を実行する。複数のワード線は、ワード線のアドレスに基づいて第1グループ及び第2グループのいずれかに分類される。メモリコントローラは、第1サイクルのパトロール期間において、複数のワード線をそれぞれ選択した複数のパトロール動作を実行する。メモリコントローラは、第2サイクルのパトロール期間において、第1グループに含まれたワード線を選択したパトロール動作を実行し、第2グループに含まれたワード線を選択したパトロール動作を省略する。
以下に、実施形態について図面を参照して説明する。各実施形態は、発明の技術的思想を具体化するための装置や方法を例示している。図面は模式的又は概念的なものであり、各図面の寸法及び比率等は必ずしも現実のものと同一とは限らない。本発明の技術思想は、構成要素の形状、構造、配置等によって特定されるものではない。
以下の説明では、略同一の機能及び構成を有する構成要素に同一符号が付されている。参照符号を構成する文字の後の数字は、同じ文字を含んだ参照符号によって参照され且つ同様の構成を有する要素同士の区別に使用される。参照符号を構成する数字の後の文字は、同じ数字を含んだ参照符号によって参照され且つ同様の構成を有する要素同士の区別に使用される。同じ文字又は数字を含んだ参照符号で示される要素を相互に区別する必要がない場合、これらの要素は同じ文字又は数字のみを含んだ参照符号により参照される。
[1]第1実施形態
以下に、第1実施形態におけるメモリシステム1について説明する。
以下に、第1実施形態におけるメモリシステム1について説明する。
[1−1]構成
[1−1−1]メモリシステム1の全体構成について
第1実施形態に係るメモリシステム1は、例えばSSD(Solid State Drive)であり、
データを不揮発に保持することが出来る。メモリシステム1は、例えば外部のホスト機器2に接続され、ホスト機器2からの命令に応じて各種動作を実行し得る。
[1−1−1]メモリシステム1の全体構成について
第1実施形態に係るメモリシステム1は、例えばSSD(Solid State Drive)であり、
データを不揮発に保持することが出来る。メモリシステム1は、例えば外部のホスト機器2に接続され、ホスト機器2からの命令に応じて各種動作を実行し得る。
図1は、第1実施形態に係るメモリシステム1の構成例を示している。
図1に示すように、第1実施形態に係るメモリシステム1は、例えばNANDパッケージPKG0及びPKG1、メモリコントローラ20、並びにDRAM(Dynamic Random Access Memory)30を含んでいる。
NANDパッケージPKG0及びPKG1のそれぞれは、複数のNAND型フラッシュメモリを含んでいる。NANDパッケージPKGの構成の詳細については後述する。
メモリコントローラ20は、例えばSoC(System on Chip)である。メモリコントローラ20は、例えばホスト機器2からの命令に応答して、NANDパッケージPKG0及びPKG1のそれぞれに対して読み出し、書き込み、及び消去等を命令する。
メモリコントローラ20は、例えばCPU(Central Processing Unit)21、RAM(Random Access Memory)22、ホストインターフェイス回路23、ECC(Error Correction Code)回路24、温度センサ25、NANDインターフェイス回路26、及びDRAMインターフェイス回路27を含んでいる。
CPU21は、メモリコントローラ20全体の動作を制御する。例えば、CPU21は、ホスト機器2から受信した書き込み命令に応答して、書き込みコマンドを発行する。CPU21は、タイマ28のカウントに基づいてパトロール動作を実行することが出来る。パトロール動作の詳細については後述する。また、CPU21は、例えばウェアレベリング等、NANDパッケージPKGのメモリ空間を管理するための様々な処理を実行する。
RAM22は、例えばSRAM(Static Random Access Memory)等の揮発性メモリである。RAM22は、CPU21の作業領域として使用され、例えばNANDパッケージPKGを管理するためのファームウェアや各種管理テーブル等を保持する。管理テーブルは、例えば読み出し電圧の補正値が記録されるLUT(Look Up Table)を含んでいる。
ホストインターフェイス回路23は、ホストバスを介してホスト機器2と接続され、メモリコントローラ20及びホスト機器2間のデータ、コマンド、及びアドレスの転送を制御する。例えば、ホストインターフェイス回路23は、SATA(Serial Advanced Technology Attachment)、SAS(Serial Attached SCSI)、PCIe(PCI Express)(登録商標)等の通信インターフェイス規格をサポートし得る。
ECC回路24は、データのエラー訂正処理を実行する。書き込み動作時においてECC回路24は、ホスト機器2から受信した書き込みデータに基づいてパリティを生成し、生成したパリティを書き込みデータに付与する。読み出し動作時においてECC回路24は、NANDパッケージPKGから受信した読み出しデータに基づいてシンドロームを生成し、生成したシンドロームに基づいて読み出しデータのエラーを検出及び訂正する。
温度センサ25は、メモリシステム1のシステム温度を計測する。計測された温度は、例えばCPU21によって参照され、後述するパトロール動作において使用される。尚、温度センサ25は、メモリコントローラ20に含まれていなくても良く、メモリシステム1内においてメモリコントローラ20と外部接続されても良い。また、温度センサ25は、後述するNAND型フラッシュメモリ10に内蔵されていても良い。この場合にメモリコントローラ20は、NAND型フラッシュメモリ10にコマンドを入力することによって、NAND型フラッシュメモリ10から温度情報を取得することが出来る。
NANDインターフェイス回路26は、メモリコントローラ20及びNANDパッケージPKG間におけるデータ、コマンド、及びアドレスの転送を制御する。NANDインターフェイス回路26は、NANDインターフェイス規格をサポートしている。
DRAMインターフェイス回路27は、DRAM30に接続され、メモリコントローラ20とDRAM30との間の通信を司る。DRAMインターフェイス回路27は、DRAMインターフェイス規格をサポートしている。
タイマ28は、メモリシステム1の各種動作に関連する時間や、メモリセルにデータが書き込まれてからの経過時間を計測することが出来る。尚、タイマ28は、メモリコントローラ20に含まれていなくても良く、メモリシステム1内においてメモリコントローラ20と外部接続されても良い。
DRAM30は、データを一時的に記憶することが可能な揮発性メモリであり、メモリコントローラ20の外部記憶領域として使用される。例えば、DRAM30は、ホスト機器2から受信した書き込みデータを一時的に記憶する。DRAM30は、メモリコントローラ20に内蔵されても良い。
図2は、第1実施形態に係るメモリシステム1におけるNANDパッケージPKG0及びPKG1並びにNANDインターフェイス回路26の構成例を示している。
図2に示すように、NANDパッケージPKG0及びPKG1のそれぞれは、例えばNAND型フラッシュメモリ10A、10B、10C及び10Dを含んでいる。NANDインターフェイス回路26は、例えばチャネル制御回路CC0、CC1、CC2及びCC3を含んでいる。
NAND型フラッシュメモリ10は、データを不揮発に記憶することが出来る。NAND型フラッシュメモリ10の構成ついては後述する。
チャネル制御回路CC0〜CC3のそれぞれは、NANDインターフェイス規格をサポートしている。チャネル制御回路CC0〜CC3は、それぞれバスラインCh0〜Ch3に接続される。バスラインCh0〜Ch3のそれぞれは、NANDインターフェイス規格に基づいた信号の送受信に使用される。
また、バスラインCh0〜Ch3のそれぞれは、複数のNAND型フラッシュメモリ10に接続される。つまり、チャネル制御回路CC0〜CC3のそれぞれは、対応するバスラインChを介して、複数のNAND型フラッシュメモリ10に接続される。
具体的には、チャネル制御回路CC0は、バスラインCh0を介して、NANDパッケージPKG0内のNAND型フラッシュメモリ10A及び10Bに接続される。チャネル制御回路CC1は、バスラインCh1を介して、NANDパッケージPKG0内のNAND型フラッシュメモリ10C及び10Dに接続される。
チャネル制御回路CC2は、バスラインCh2を介して、NANDパッケージPKG1内のNAND型フラッシュメモリ10A及び10Bに接続される。チャネル制御回路CC3は、バスラインCh3を介して、NANDパッケージPKG1内のNAND型フラッシュメモリ10C及び10Dに接続される。
以上のように、各NANDパッケージPKGは、異なるチャネル制御回路CCに接続された複数のNAND型フラッシュメモリ10を含んでいる。例えば、共通のバスラインChに接続された複数のNAND型フラッシュメモリ10は、それぞれ異なるバンクBNKに割り当てられる。
バンクBNKは、例えば異なるバスラインChに接続されたNAND型フラッシュメモリ10の組で定義される。NANDパッケージPKG0及びPKG1の組は、例えばバンクBNK0及びBNK1を含んでいる。
例えば、バンクBNK0は、NANDパッケージPKG0内のNAND型フラッシュメモリ10A及び10Cと、NANDパッケージPKG0内のNAND型フラッシュメモリ10A及び10Cとを含んでいる。バンクBNK1は、NANDパッケージPKG0内のNAND型フラッシュメモリ10B及び10Dと、NANDパッケージPKG1内のNAND型フラッシュメモリ10B及び10Dとを含んでいる。
尚、以上で説明したメモリシステム1の構成はあくまで一例であり、これに限定されない。例えば、メモリシステム1が備えるNANDパッケージPKGの個数や揮発性メモリの個数は、それぞれ任意の個数に設計され得る。メモリシステム1は、DRAM30の替わりにその他の揮発性メモリを備えても良い。メモリコントローラ20の各機能は、専用のハードウェア回路によって実現されても良いし、CPU21がファームウェアを実行することによって実現されても良い。
また、NANDパッケージPKGが含むNAND型フラッシュメモリ10の個数は、任意の個数に設計され得る。各NANDパッケージPKGに接続されるチャネル制御回路CCの個数は、任意の個数に設計され得る。バンクBNKの個数は、各NANDパッケージPKGが含むNAND型フラッシュメモリ10の個数と、NANDパッケージPKGに接続されるチャネル制御回路CCの個数とに基づいて、適宜変更され得る。
[1−1−2]NAND型フラッシュメモリ10の構成について
図3は、第1実施形態に係るNAND型フラッシュメモリ10の構成例を示している。
図3は、第1実施形態に係るNAND型フラッシュメモリ10の構成例を示している。
図3に示すように、NAND型フラッシュメモリ10は、例えばメモリセルアレイ11、入出力回路12、レジスタ部13、ロジックコントローラ14、シーケンサ15、レディ/ビジー制御回路16、電圧生成回路17、ロウデコーダモジュール18、及びセンスアンプモジュール19を含んでいる。
メモリセルアレイ11は、ブロックBLK0〜BLKn(nは1以上の整数)を含んでいる。ブロックBLKは、データを不揮発に保持することが可能なメモリセルの集合であり、例えばデータの使用単位として使用される。各メモリセルは、1本のビット線BLと1本のワード線WLとに関連付けられる。
入出力回路12は、例えば8ビット幅の入出力信号I/O1〜I/O8をメモリコントローラ20との間で送受信する。入出力信号I/Oは、例えばデータDAT、アドレス情報ADD、コマンドCMD等を含み得る。
例えば、書き込み動作において入出力回路12は、メモリコントローラ20から受け取った書き込みデータDATをセンスアンプモジュール19に転送する。また、読み出し動作において入出力回路12は、センスアンプモジュール19から転送された読み出しデータDATをメモリコントローラ20に送信する。
レジスタ部13は、ステータスレジスタ13A、アドレスレジスタ13B、及びコマンドレジスタ13Cを含んでいる。
ステータスレジスタ13Aは、ステータス情報STSを保持する。ステータス情報STSは、NAND型フラッシュメモリ10のステータスや、読み出し動作に関するパラメータを含み得る。ステータス情報STSは、例えばシーケンサ15の制御に基づいて入出力回路12に転送され、その後メモリコントローラ20に出力される。
アドレスレジスタ13Bは、入出力回路12から転送されたアドレス情報ADDを保持する。アドレス情報ADDは、例えばブロックアドレス、ページアドレス、及びカラムアドレス等を含み得る。アドレス情報ADDは、例えばシーケンサ15の制御に基づいて電圧生成回路17、ロウデコーダモジュール18、及びセンスアンプモジュール19に転送される。
コマンドレジスタ13Cは、入出力回路12から転送されたコマンドCMDを保持する。コマンドCMDは、シーケンサ15によって参照される。
ロジックコントローラ14は、メモリコントローラ20から受信した制御信号に基づいて、入出力回路12及びシーケンサ15のそれぞれを制御する。このような制御信号としては、例えばチップイネーブル信号/CE、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトイネーブル信号/WE、リードイネーブル信号/RE、及びライトプロテクト信号/WPが使用される。
チップイネーブル信号/CEは、NAND型フラッシュメモリ10をイネーブルにするための信号である。コマンドラッチイネーブル信号CLEは、受け取った入出力信号I/OがコマンドCMDであることを入出力回路12に通知するための信号である。アドレスラッチイネーブル信号ALEは、受け取った入出力信号I/Oがアドレス情報ADDであることを入出力回路12に通知するための信号である。
ライトイネーブル信号/WEは、入出力信号I/Oの入力を入出力回路12に命令するための信号である。リードイネーブル/REは、入出力信号I/Oの出力を入出力回路12に命令する信号である。ライトプロテクト信号/WPは、電源のオンオフ時にNAND型フラッシュメモリ10を保護状態にするための信号である。
シーケンサ15は、NAND型フラッシュメモリ10全体の動作を制御する。例えば、シーケンサ15は、レジスタ部13に保持されたアドレス情報ADD及びコマンドCMDに基づいて電圧生成回路17、ロウデコーダモジュール18、センスアンプモジュール19等を制御して、各種動作を実行する。
レディ/ビジー制御回路16は、シーケンサ15の動作状態に基づいてレディ/ビジー信号RBnを生成する。レディ/ビジー信号RBnは、NAND型フラッシュメモリ10がメモリコントローラ20からの命令を受け付けるレディ状態であるか、命令を受け付けないビジー状態であるかを、メモリコントローラ20に通知するための信号である。
電圧生成回路17は、シーケンサ15の制御に基づいて所望の電圧を生成する。そして、電圧生成回路17は、生成した電圧をメモリセルアレイ11、ロウデコーダモジュール18、センスアンプモジュール19等に供給する。
ロウデコーダモジュール18は、メモリセルアレイ11に設けられたワード線等に接続される。例えば、ロウデコーダモジュール18は、ブロックアドレスに基づいて各種動作を実行するブロックBLKを選択する。そして、ロウデコーダモジュール18は、電圧生成回路17から供給された電圧を、選択したブロックBLK内の各種配線に転送する。
センスアンプモジュール19は、メモリセルアレイ11に設けられたビット線に接続される。読み出し動作においてセンスアンプモジュール19は、メモリセルアレイ11からデータDATを読み出し、読み出したデータDATを入出力回路12に転送する。書き込み動作時においてセンスアンプモジュール19は、入出力回路12から受け取ったデータDATに基づいて、ビット線に所望の電圧を印加する。
[1−1−3]メモリセルアレイ11の構成について
(メモリセルアレイ11の回路構成)
図4は、第1実施形態におけるNAND型フラッシュメモリの備えるメモリセルアレイ11の回路構成の一例であり、1つのブロックBLKを抽出して示している。
(メモリセルアレイ11の回路構成)
図4は、第1実施形態におけるNAND型フラッシュメモリの備えるメモリセルアレイ11の回路構成の一例であり、1つのブロックBLKを抽出して示している。
図4に示すように、ブロックBLKは、例えば4つのストリングユニットSU0〜SU3を含んでいる。各ストリングユニットSUは、複数のNANDストリングNSを含んでいる。
複数のNANDストリングNSは、ビット線BL0〜BLm(mは1以上の整数)にそれぞれ関連付けられている。各NANDストリングNSは、例えばメモリセルトランジスタMT0〜MT15、ダミートランジスタLDT及びUDT、並びに選択トランジスタST1及びST2を含んでいる。
メモリセルトランジスタMTは、制御ゲート及び電荷蓄積層を含み、データを不揮発に記憶する。ダミートランジスタLDT及びUDTのそれぞれは、例えばメモリセルトランジスタMTと同様の構成を有する。また、ダミートランジスタLDT及びUDTのそれぞれは、データの記憶に使用されない。選択トランジスタST1及びST2のそれぞれは、各種動作時におけるストリングユニットSUの選択に使用される。
各NANDストリングNSにおいて、選択トランジスタST1のドレインは、関連付けられたビット線BLに接続される。選択トランジスタST1のソースと、ダミートランジスタUDTのドレインとの間には、メモリセルトランジスタMT8〜MT15が直列接続される。ダミートランジスタUDTのソースは、ダミートランジスタLDTのドレインに接続される。ダミートランジスタLDTのソースと、選択トランジスタST2のドレインとの間には、メモリセルトランジスタMT0〜MT7が直列接続される。
同一のブロックBLKにおいて、ストリングユニットSU0〜SU3のそれぞれに含まれた選択トランジスタST1のゲートは、それぞれ選択ゲート線SGD0〜SGD3に共通接続される。メモリセルトランジスタMT0〜MT15のそれぞれの制御ゲートは、それぞれワード線WL0〜WL15に共通接続される。ダミートランジスタUDT及びLDTのそれぞれの制御ゲートは、それぞれダミーワード線UDWL及びLDWLに共通接続される。選択トランジスタST2のゲートは、選択ゲート線SGSに共通接続される。
ビット線BL0〜BLmには、それぞれ異なるカラムアドレスが割り当てられる。各ビット線BLは、複数のブロックBLK間で対応するNANDストリングNSの選択トランジスタST1に共通接続される。ワード線WL0〜WL15並びにダミーワード線UDWL及びLDWLのそれぞれは、ブロックBLK毎に設けられる。ソース線SLは、例えば複数のブロックBLK間で共有される。
1つのストリングユニットSU内で共通のワード線WLに接続された複数のメモリセルトランジスタMTの集合は、例えばセルユニットCUと称される。例えば、それぞれが1ビットデータを記憶するメモリセルトランジスタMTを含むセルユニットCUの記憶容量が、「1ページデータ」として定義される。セルユニットCUは、メモリセルトランジスタMTが記憶するデータのビット数に応じて、2ページデータ以上の記憶容量を有し得る。
尚、以上で説明したNAND型フラッシュメモリ10の構成はあくまで一例であり、これに限定されない。例えば、各NANDストリングNSが含むメモリセルトランジスタMT並びに選択トランジスタST1及びST2の個数は、それぞれ任意の個数に設計され得る。各ブロックBLKが含むストリングユニットSUの個数は、任意の個数に設計され得る。ダミートランジスタとして設定されるトランジスタの配置及び個数は、任意の配置及び個数に設計され得る。
(メモリセルアレイ11の構造)
以下に、第1実施形態におけるNAND型フラッシュメモリ10の備えるメモリセルアレイ11の構造の一例について説明する。
以下に、第1実施形態におけるNAND型フラッシュメモリ10の備えるメモリセルアレイ11の構造の一例について説明する。
尚、以下で参照される図面において、X方向はワード線WLの延伸方向に対応し、Y方向はビット線BLの延伸方向に対応し、Z方向はNAND型フラッシュメモリ10が形成される半導体基板40の表面に対する鉛直方向に対応している。
また、以下で参照される断面図では、図を見易くするために絶縁層(層間絶縁膜)、配線、コンタクト等の構成要素が適宜省略されている。また、平面図には、図を見易くするためにハッチングが適宜付加されている。平面図に付加されたハッチングは、ハッチングが付加された構成要素の素材や特性とは必ずしも関連していない。
図5は、第1実施形態におけるNAND型フラッシュメモリ10の備えるメモリセルアレイ11の平面レイアウトの一例であり、ストリングユニットSU0及びSU1のそれぞれに対応する構造体を抽出して示している。
図5に示すように、メモリセルアレイ11が形成される領域には、例えば複数のスリットSLTと、複数のストリングユニットSUと、複数のビット線BLとが含まれている。
複数のスリットSLTは、それぞれがX方向に延伸し、Y方向に配列している。Y方向に隣り合うスリットSLT間には、例えば1つのストリングユニットSUが配置される。
各ストリングユニットSUは、複数のメモリピラーMPを含んでいる。複数のメモリピラーMPは、例えばXY平面に広がった千鳥状に配置される。メモリピラーMPの各々は、例えば1つのNANDストリングNSとして機能する。
複数のビット線BLは、それぞれがY方向に延伸し、X方向に配列している。例えば、各ビット線BLは、ストリングユニットSU毎に少なくとも1つのメモリピラーMPと重なるように配置される。本例において、各メモリピラーMPには、2本のビット線BLが重なって配置されている。
メモリピラーMPに重なっている複数のビット線BLのうち1本のビット線BLと、当該メモリピラーMPとの間には、コンタクトCPが設けられる。そして、各メモリピラーMPは、コンタクトCPを介して対応するビット線BLと電気的に接続される。
図6は、図5のVI−VI線に沿った断面図であり、第1実施形態におけるNAND型フラッシュメモリ10の備えるメモリセルアレイ11の断面構造の一例を示している。
図6に示すように、メモリセルアレイ11が形成される領域には、例えば半導体基板40、導電体層41〜48、メモリピラーMP、及びコンタクトCPが含まれている。
具体的には、半導体基板40の上方に、絶縁層を介して導電体層41が設けられる。例えば導電体層41は、XY平面に沿って広がった板状に形成され、ソース線SLとして使用される。図示が省略されているが、半導体基板40と導電体層41との間の領域には、例えばセンスアンプモジュール19等の回路が設けられる。
導電体層41上には、XZ平面に沿って広がった複数のスリットSLTが、Y方向に配列している。スリットSLT内には、絶縁体が埋め込まれる。
導電体層41上且つ隣り合うスリットSLT間には、下層から順に、導電体層42、8個の導電体層43、導電体層44、導電体層45、8個の導電体層46、及び導電体層47が設けられる。これらの導電体層のうちZ方向に隣り合う導電体層は、層間絶縁膜を介して積層される。導電体層42〜47は、それぞれがXY平面に沿った板状に形成される。
導電体層42は、選択ゲート線SGSとして使用される。8個の導電体層43は、下層から順に、それぞれワード線WL0〜WL7として使用される。導電体層44及び45は、それぞれダミーワード線LDWL及びUDWLとして使用される。8個の導電体層46は、下層から順に、それぞれワード線WL8〜WL15として使用される。導電体層47は、選択ゲート線SGDとして使用される。
導電体層47の上方に、絶縁層を介して導電体層48が設けられる。例えば導電体層48は、Y方向に沿って延伸したライン状に形成され、ビット線BLとして使用される。つまり、図示せぬ領域において複数の導電体層48は、X方向に沿って配列している。
各メモリピラーMPは、Z方向に沿って延伸した柱状に形成され、例えば導電体層42〜47を貫通している。例えば、メモリピラーMPの上端は、導電体層47が設けられた層と導電体層48が設けられた層との間の層に含まれている。メモリピラーMPの下端は、導電体層41に接触している。
また、各メモリピラーMPは、Z方向に連結された複数の柱状部を含んでいる。具体的には、メモリピラーMPの構造は、下部ピラーLMP、上部ピラーUMP、及び接合部JTに分類され得る。
上部ピラーUMPは、下部ピラーLMPの上方に設けられる。下部ピラーLMPと上部ピラーUMPとの間は、例えば接合部JTを介して接合される。例えば、接合部JTの外径は、下部ピラーLMPと接合部JTとの接触部分の外径よりも大きく、上部ピラーUMPと接合部JTとの接触部分の外径よりも大きい。接合部JTが設けられている接合層のZ方向における間隔(導電体層44及び45間の間隔)は、隣り合う導電体層43の間隔よりも広く、且つ隣り合う導電体層46の間隔よりも広い。
以下に、メモリピラーMP内の詳細な構造について説明する。
図7は、図6のVII−VII線に沿った断面図であり、導電体層43を含む層におけるメモリピラーMP及びワード線WLの断面構造の一例を示している。
図7に示すように、メモリピラーMPは、例えば半導体部材50、トンネル酸化膜51、絶縁膜52、及びブロック絶縁膜53を含んでいる。
導電体層43を含む層において半導体部材50は、メモリピラーMPの中央部に設けられる。トンネル酸化膜51は、半導体部材50の側面を囲っている。絶縁膜52は、トンネル酸化膜51の側面を囲っている。ブロック絶縁膜53は、絶縁膜52の側面を囲っている。導電体層43は、ブロック絶縁膜53の側面を囲っている。
言い換えると、ブロック絶縁膜53は、メモリピラーMHを形成するメモリホールの内壁に設けられる。絶縁膜52は、ブロック絶縁膜53の内壁に設けられる。トンネル酸化膜51は、絶縁膜52の内壁に設けられる。半導体部材50は、トンネル酸化膜51の内壁に設けられる。
その他の部分におけるメモリピラーMPの断面構造は、例えば図7を用いて説明した断面構造と同様のため、説明を省略する。尚、メモリピラーMPにおいて、半導体部材50の内壁には、半導体部材50と異なる材料が含まれていても良い。
以上で説明したメモリピラーMPの構成では、例えばメモリピラーMPと導電体層42とが交差する部分が、選択トランジスタST2として機能する。メモリピラーMPと導電体層43とが交差する部分と、メモリピラーMPと導電体層46とが交差する部分とのそれぞれが、メモリセルトランジスタMTとして機能する。
メモリピラーMPと導電体層44とが交差する部分が、ダミートランジスタLDTとして機能する。メモリピラーMPと導電体層45とが交差する部分が、ダミートランジスタLDTとして機能する。メモリピラーMPと導電体層46とが交差する部分が、選択トランジスタST1として機能する。
つまり、半導体部材50は、メモリセルトランジスタMT、ダミートランジスタLDT及びUDT、並びに選択トランジスタST1及びST2のそれぞれのチャネルとして機能する。絶縁膜52は、メモリセルトランジスタMTの電荷蓄積層として機能する。
選択トランジスタST2、メモリセルトランジスタMT0〜MT7、及びダミートランジスタLDTのそれぞれは、下部ピラーLMPに対応して設けられる。選択トランジスタST1、メモリセルトランジスタMT8〜MT15、及びダミートランジスタUDTのそれぞれは、上部ピラーUMPに対応して設けられる。
図6に戻り、各メモリピラーMP内の半導体部材50上には、柱状のコンタクトCPが設けられる。コンタクトCPの上面には、1個の導電体層48、すなわち1本のビット線BLが接触している。尚、メモリピラーMPと導電体層48との間は、2つ以上のコンタクトを介して電気的に接続されても良いし、その他の配線を介して電気的に接続されても良い。
以上で説明したメモリセルアレイ11の構造の一例では、導電体層41上且つ隣り合うスリットSLT間の構造体が、1つのストリングユニットSUに対応している。これに限定されず、メモリセルアレイ11の構造は、その他の構造であっても良い。
例えば、隣り合うスリットSLT間に設けられるストリングユニットSUの個数は、任意の個数に設計され得る。図5に示されたメモリピラーMPの個数及び配置はあくまで一例であり、メモリピラーMPは任意の個数及び配置に設計され得る。各メモリピラーMPと重なるビット線BLの本数は、任意の本数に設計され得る。
各NANDストリングNSに含まれるメモリセルトランジスタMT、ダミートランジスタUDT及びLDT、並びに選択トランジスタST1及びST2のそれぞれは、任意の個数に設計され得る。
ワード線WL、ダミーワード線UDWL及びLDWL、並びに選択ゲート線SGD及びSGSの本数は、それぞれメモリセルトランジスタMT、ダミートランジスタUDT及びLDT、並びに選択トランジスタST1及びST2の個数に基づいて変更され得る。
選択ゲート線SGSには、複数層に設けられた導電体層42が割り当てられても良い。選択ゲート線SGDには、複数層に設けられた導電体層47が割り当てられても良い。メモリピラーMPは、導電体層47を貫通するピラーと、その他の導電体層42〜46を貫通するピラーとがZ方向に連結された構造であっても良い。
各メモリピラーMPは、接合部JTを有していなくても良い。各メモリピラーMPに接合部JTが形成されない場合、メモリピラーMP内の上部ピラーUMPと下部ピラーLMPとの間は、接合部JTを介さずに直接接続される。
最下層の導電体層43と、導電体層42との間には、ダミーワード線として使用される導電体層が含まれていても良い。同様に、最上層の導電体層46と、導電体層47との間には、ダミーワード線として使用される導電体層が含まれていても良い。
[1−1−4]ロウデコーダモジュール18の回路構成について
図8は、第1実施形態におけるNAND型フラッシュメモリ10の備えるロウデコーダモジュール18の回路構成の一例を示し、電圧生成回路17とメモリセルアレイ11との間の配線も併せて示している。
図8は、第1実施形態におけるNAND型フラッシュメモリ10の備えるロウデコーダモジュール18の回路構成の一例を示し、電圧生成回路17とメモリセルアレイ11との間の配線も併せて示している。
図8に示すように、ロウデコーダモジュール18は、例えばロウデコーダRD0〜RDnを含んでいる。ロウデコーダRD0〜RDnは、それぞれブロックBLK0〜BLKnに関連付けられている。
以下に、ブロックBLK0に対応するロウデコーダRD0に着目して、ロウデコーダRDの詳細な回路構成について説明する。尚、その他のロウデコーダRDの回路構成は、ロウデコーダRD0と同様であるため、説明を省略する。
ロウデコーダRDは、例えばブロックデコーダBD並びにトランジスタTR0〜TR22を含んでいる。
ブロックデコーダBDは、ブロックアドレスをデコードして、デコード結果に基づいて転送ゲート線TGに所定の電圧を印加する。転送ゲート線TGは、トランジスタTR0〜TR22のそれぞれのゲートに共通接続される。
トランジスタTR0〜TR22のそれぞれは、高耐圧のnチャネルMOSトランジスタである。トランジスタTRは、電圧生成回路17から配線された信号線と、ブロックBLK0に設けられた配線との間に接続される。
具体的には、トランジスタTR0のドレインは、信号線SGSDに接続される。トランジスタTR0のソースは、ブロックBLK0の選択ゲート線SGSに接続される。
トランジスタTR1〜TR8のそれぞれのドレインは、それぞれ信号線CG0〜CG7に接続される。トランジスタTR1〜TR8のそれぞれのソースは、ブロックBLK0に対応するワード線WL0〜WL7のそれぞれの一端にそれぞれ接続される。
トランジスタTR9のドレインは、信号線LCGDに接続される。トランジスタTR9のソースは、ダミーワード線LDWLに接続される。トランジスタTR10のドレインは、信号線UCGDに接続される。トランジスタTR10のソースは、ダミーワード線UDWLに接続される。
トランジスタTR11〜TR18のそれぞれのドレインは、それぞれ信号線CG8〜CG15に接続される。トランジスタTR11〜TR18のそれぞれのソースは、ブロックBLK0に対応するワード線WL8〜WL15のそれぞれの一端にそれぞれ接続される。
トランジスタTR19〜TR22のそれぞれのドレインは、それぞれ信号線SGDD0〜SGDD3に接続される。トランジスタTR19〜TR22のそれぞれのソースは、それぞれ選択ゲート線SGD0〜SGD3に接続される。
以上の構成により、ロウデコーダモジュール18は、各種動作を実行するブロックBLKを選択することが出来る。
具体的には、各種動作時において、選択されたブロックBLKに対応するブロックデコーダBDは、“H”レベルの電圧を転送ゲート線TGに印加し、非選択のブロックBLKに対応するブロックデコーダBDは、“L”レベルの電圧を転送ゲート線TGに印加する。
本明細書において、“H”レベルは、nチャネルMOSトランジスタがオン状態になり、pチャネルMOSトランジスタがオフ状態になる電圧に対応している。“L”レベルは、nチャネルMOSトランジスタがオフ状態になり、pチャネルMOSトランジスタがオン状態になる電圧に対応している。
例えば、ブロックBLK0が選択された場合、ロウデコーダRD0に含まれたトランジスタTR0〜TR22がオン状態になり、その他のロウデコーダRDに含まれたトランジスタTR0〜TR22がオフ状態になる。この場合、ブロックBLK0に設けられた各種配線と、対応する信号線との間の電流経路が形成され、他のブロックBLKに設けられた各種配線と、対応する信号線との間の電流経路が遮断される。
その結果、電圧生成回路17によって各信号線に印加された電圧が、ロウデコーダRD0を介して、選択されたブロックBLK0に設けられた各種配線に印加される。ロウデコーダモジュール18は、その他のブロックBLKが選択された場合についても同様に動作することが可能である。
尚、以上で説明したロウデコーダモジュール18の構成はあくまで一例であり、これに限定されない。例えば、ロウデコーダモジュール18が含むトランジスタTRの個数は、各ブロックBLKに設けられる配線の本数に基づいた個数に設計され得る。
[1−1−5]センスアンプモジュール19の回路構成について
図9は、第1実施形態におけるNAND型フラッシュメモリ10の備えるセンスアンプモジュール19の回路構成の一例を示している。
図9は、第1実施形態におけるNAND型フラッシュメモリ10の備えるセンスアンプモジュール19の回路構成の一例を示している。
図9に示すように、センスアンプモジュール19は、例えばセンスアンプユニットSAU0〜SAUmを含んでいる。センスアンプユニットSAU0〜SAUmは、それぞれビット線BL0〜BLmにそれぞれ関連付けられている。
各センスアンプユニットSAUは、例えばセンスアンプ部SA、並びにラッチ回路SDL、ADL、BDL及びXDLを含んでいる。センスアンプ部SA、並びにラッチ回路SDL、ADL、BDL及びXDLは、互いにデータを送受信可能なように接続される。
センスアンプ部SAは、例えば読み出し動作において、対応するビット線BLの電圧に基づいて、読み出しデータが“0”であるか“1”であるかを判定する。言い換えると、センスアンプ部SAは、対応するビット線BLに読み出されたデータをセンスして、選択されたメモリセルの記憶するデータを判定する。
ラッチ回路SDL、ADL、BDL及びXDLのそれぞれは、読み出しデータや書き込みデータ等を一時的に保持する。ラッチ回路XDLは、図示されない入出力回路に接続され、センスアンプユニットSAUと入出力回路との間のデータの入出力に使用され得る。
ラッチ回路XDLは、NAND型フラッシュメモリ10のキャッシュメモリとして使用され得る。例えば、NAND型フラッシュメモリ10は、ラッチ回路SDL、ADL及びBDLが使用中であったとしても、ラッチ回路XDLが空いていればレディ状態になることが出来る。
図10は、第1実施形態におけるNAND型フラッシュメモリ10の備えるセンスアンプモジュール19に含まれたセンスアンプユニットSAUの回路構成の一例を示している。
図10に示すように、センスアンプ部SAは、例えばトランジスタ60〜68、並びにキャパシタ69を含んでいる。ラッチ回路SDLは、例えばトランジスタ70及び71、並びにインバータ72及び73を含んでいる。
例えば、トランジスタ60は、pチャネルMOSトランジスタである。トランジスタ61〜68、70及び71のそれぞれは、nチャネルMOSトランジスタである。トランジスタ63は、高耐圧のnチャネルMOSトランジスタである。
トランジスタ60の一端は、電源線に接続される。トランジスタ60のゲートは、ラッチ回路SDLのノードINV(SDL)に接続される。トランジスタ60の一端に接続された電源線には、例えば電源電圧Vddが印加される。トランジスタ61の一端は、トランジスタ60の他端に接続される。トランジスタ61の他端はノードCOMに接続される。トランジスタ61のゲートには、制御信号BLXが入力される。
トランジスタ62の一端は、ノードCOMに接続される。トランジスタ62のゲートには、制御信号BLCが入力される。トランジスタ63の一端は、トランジスタ62の他端に接続される。トランジスタ63の他端は、対応するビット線BLに接続される。トランジスタ63のゲートには、制御信号BLSが入力される。
トランジスタ64の一端は、ノードCOMに接続される。トランジスタ64の他端は、ノードSRCに接続される。トランジスタ64のゲートは、ノードINV(SDL)に接続される。ノードSRCには、例えば接地電圧Vssが印加される。トランジスタ65の一端は、トランジスタ60の他端に接続される。トランジスタ65の他端は、ノードSENに接続される。トランジスタ65のゲートには、制御信号HLLが入力される。
トランジスタ66の一端は、ノードSENに接続される。トランジスタ66の他端は、ノードCOMに接続される。トランジスタ66のゲートには、制御信号XXLが入力される。トランジスタ67の一端は、接地される。トランジスタ67のゲートは、ノードSENに接続される。
トランジスタ68の一端は、トランジスタ67の他端に接続される。トランジスタ68の他端は、バスLBUSに接続される。トランジスタ68のゲートには、制御信号STBが入力される。キャパシタ69の一端は、ノードSENに接続される。キャパシタ69の他端には、クロックCLKが入力される。
ラッチ回路SDLにおいて、トランジスタ70及び71のそれぞれの一端は、バスLBUSに接続される。トランジスタ70及び71の他端は、それぞれノードINV及びLATに接続される。トランジスタ70及び71のゲートには、それぞれ制御信号STI及びSTLが入力される。インバータ72の入力ノードとインバータ73の出力ノードとのそれぞれは、ノードLATに接続される。インバータ72の出力ノードとインバータ73の入力ノードとのそれぞれは、ノードINVに接続される。
ラッチ回路ADL、BDL及びXDLの回路構成は、例えばラッチ回路SDLの回路構成と同様である。一方で、ラッチ回路ADLでは、トランジスタ70及び71のゲートにそれぞれ制御信号ATI及びATLが入力される。ラッチ回路BDL及びXDLのそれぞれにおいて、トランジスタ70及び71のそれぞれには、ラッチ回路SDLと異なる制御信号が入力される。また、ラッチ回路SDL、ADL、BDL及びXDLのそれぞれのノードINV及びLATは、それぞれ独立に設けられる。
以上で説明した制御信号BLX、BLC、BLS、HLL、XXL、STB、STI、STL、ATI及びATLのそれぞれは、例えばシーケンサ15によって生成される。例えば、シーケンサ15は、ラッチ回路SDL、ADL、BDL及びXDLを独立に制御することが出来る。
センスアンプ部SAがビット線BLに読み出されたデータを判定するタイミングは、シーケンサ15が制御信号STBがアサートするタイミングに基づいている。以下の説明において、「制御信号STBをアサートする」とは、シーケンサ15が制御信号STBを“L”レベルから“H”レベルに一時的に変化させることに対応している。
尚、以上で説明したセンスアンプモジュール19の構成はあくまで一例であり、これに限定されない。例えば、センスアンプモジュール19が含むラッチ回路の個数は、メモリセルトランジスタMTに記憶させるデータのビット数に基づいて適宜変更され得る。
センスアンプモジュール19の回路構成に依っては、「制御信号STBをアサートする」に対応する動作が、シーケンサ15が制御信号STBを“H”レベルから“L”レベルに一時的に変化させる動作に対応する場合もある。
[1−1−6]データの割り付けについて
図11は、第1実施形態係るメモリシステム1におけるメモリセルトランジスタMTの閾値分布、読み出し電圧、及びベリファイ電圧の一例を示している。図11に示された閾値分布において、縦軸はメモリセルトランジスタMTの個数に対応し、横軸はメモリセルトランジスタMTの閾値電圧に対応している。
図11は、第1実施形態係るメモリシステム1におけるメモリセルトランジスタMTの閾値分布、読み出し電圧、及びベリファイ電圧の一例を示している。図11に示された閾値分布において、縦軸はメモリセルトランジスタMTの個数に対応し、横軸はメモリセルトランジスタMTの閾値電圧に対応している。
図11に示すように、第1実施形態に係るメモリシステム1では、例えば1個のセルユニットCUに含まれた複数のメモリセルトランジスタMTの閾値電圧によって、8種類の閾値分布が形成され得る。
本明細書では、この8種類の閾値分布(書き込みレベル)を、閾値電圧の低い方から順に、“ER”レベル、“A”レベル、“B”レベル、“C”レベル、“D”レベル、“E”レベル、“F”レベル、“G”レベルと称する。
隣り合う閾値分布の間には、それぞれ読み出し動作で使用される読み出し電圧が設定される。例えば、“ER”レベルにおける最大の閾値電圧と、“A”レベルにおける最小の閾値電圧との間に、読み出し電圧ARが設定される。
同様に、“A”レベル及び“B”レベル間に、読み出し電圧BRが設定される。“B”レベル及び“C”レベル間に、読み出し電圧CRが設定される。“C”レベル及び“D”レベル間に、読み出し電圧DRが設定される。“D”レベル及び“E”レベル間に、読み出し電圧ERが設定される。“E”レベル及び“F”レベル間に、読み出し電圧FRが設定される。“F”レベル及び“G”レベル間に、読み出し電圧GRが設定される。
例えば、メモリセルトランジスタMTは、ゲートに読み出し電圧ARが印加されると、閾値電圧が“ER”レベルに分布している場合にオン状態になり、“A”レベル以上に分布している場合にオフ状態になる。
同様に、メモリセルトランジスタMTは、ゲートに読み出し電圧BRが印加されると、閾値電圧が“A”レベル以下に含まれる場合にオン状態になり、“B”レベル以上に含まれる場合にオフ状態になる。ゲートにその他の読み出し電圧が印加された場合においても、メモリセルトランジスタMTは、閾値電圧に応じて適宜オン状態又はオフ状態になる。
最も高い閾値分布よりも高い電圧には、読み出しパス電圧Vreadが設定される。具体的には、読み出しパス電圧Vreadは、例えば“G”レベルにおける最大の閾値電圧よりも高い電圧に設定される。メモリセルトランジスタMTは、ゲートに読み出しパス電圧Vreadが印加されると、記憶するデータに依らずにオン状態になる。
また、隣り合う閾値分布の間には、それぞれ書き込み動作で使用されるベリファイ電圧が設定される。具体的には、“A”レベル、“B”レベル、“C”レベル、“D”レベル、“E”レベル、“F”レベル及び“G”レベルに対応して、それぞれベリファイ電圧AV、BV、CV、DV、EV、FV及びGVが設定される。
例えば、ベリファイ電圧AVは、“ER”レベルにおける最大の閾値電圧と“A”レベルにおける最小の閾値電圧との間、且つ“A”レベルの近傍に設定される。ベリファイ電圧BVは、“A”レベルにおける最大の閾値電圧と“B”レベルにおける最小の閾値電圧との間、且つ“B”レベルの近傍に設定される。その他のベリファイ電圧も同様に、対応する書き込みレベルの近傍に設定される。つまり、ベリファイ電圧AV、BV、CV、DV、EV、FV及びGVは、それぞれ読み出し電圧AR、BR、CR、DR、ER、FR及びGRよりも高い電圧に設定される。
書き込み動作においてメモリシステム1は、あるデータを記憶させるメモリセルトランジスタMTの閾値電圧が当該データに対応するベリファイ電圧を超えたことを検知すると、当該メモリセルトランジスタMTのプログラムを完了する。
以上で説明された8種類のメモリセルトランジスタMTの閾値分布には、それぞれ異なる3ビットデータが割り当てられる。以下に、閾値分布に対するデータの割り付けの一例を羅列する。
“ER”レベル:“111(上位ビット/中位ビット/下位ビット)”データ
“A”レベル:“110”データ
“B”レベル:“100”データ
“C”レベル:“000”データ
“D”レベル:“010”データ
“E”レベル:“011”データ
“F”レベル:“001”データ
“G”レベル:“101”データ。
“A”レベル:“110”データ
“B”レベル:“100”データ
“C”レベル:“000”データ
“D”レベル:“010”データ
“E”レベル:“011”データ
“F”レベル:“001”データ
“G”レベル:“101”データ。
このようなデータの割り付けが適用された場合、下位ビットで構成される1ページデータ(下位ページデータ)は、読み出し電圧AR及びERを用いた読み出し処理によって確定する。中位ビットで構成される1ページデータ(中位ページデータ)は、読み出し電圧BR、DR及びFRを用いた読み出し処理によって確定する。上位ビットで構成される1ページデータ(上位ページデータ)は、読み出し電圧CR及びGRのそれぞれを用いた読み出し処理によって確定する。
つまり、下位ページデータ、中位ページデータ、及び上位ページデータは、それぞれ2種類、3種類、及び2種類の読み出し電圧を用いた読み出し処理によって確定する。このようなデータの割り付けは、例えば“2−3−2コード”と称される。本明細書では、メモリセルトランジスタMTのデータの割り付けに“2−3−2コード”が適用された場合を例に説明する。
[1−2]動作
次に、第1実施形態に係るメモリシステム1の動作について説明する。
次に、第1実施形態に係るメモリシステム1の動作について説明する。
第1実施形態に係るメモリシステム1は、ホスト機器2の指示に基づいた動作が実行されていない期間において、自発的にパトロール動作を実行する。パトロール動作は、トラッキングリードやシフトリードを用いて最適読み出し電圧を探索し、LUT上に補正値を記録する動作である。また、パトロール動作は、セルユニットCUに記憶されているデータが読み出せるかどうかを調べる不良検知という目的も有する。以下に、トラッキングリード、シフトリード、及びパトロール動作の詳細について順に説明する。
[1−2−1]トラッキングリードについて
読み出し電圧の初期値は、例えばセルユニットCUに含まれた複数のメモリセルトランジスタMTが理想的な閾値分布を形成している場合に、エラービット数が少なくなるように設定される。しかしながら、メモリセルトランジスタMTの閾値電圧は、書き込み動作の後に変化する可能性がある。
読み出し電圧の初期値は、例えばセルユニットCUに含まれた複数のメモリセルトランジスタMTが理想的な閾値分布を形成している場合に、エラービット数が少なくなるように設定される。しかしながら、メモリセルトランジスタMTの閾値電圧は、書き込み動作の後に変化する可能性がある。
そこで、第1実施形態に係るメモリシステム1は、閾値分布の谷を検出するためにトラッキングリードを実行する。第1実施形態に係るメモリシステム1が実行するトラッキングリードは、NAND型フラッシュメモリ10内部で実行される。
図12は、第1実施形態におけるNAND型フラッシュメモリ10のトラッキングリードにおいて使用される読み出し電圧と、隣り合う2つの閾値分布(“B”レベル及び“C”レベル)との一例を示している。図12において、実線は書き込み直後の閾値分布に対応し、破線は閾値電圧が変動した後の閾値分布に対応している。
図12に示すように、メモリセルトランジスタMTの閾値分布は、書き込み動作の直後に理想的に分布していたとしても、書き込み動作後に、時間経過による下降やリードディスターブ等による上昇が起こり得る。
また、書き込み及び消去のサイクルが繰り返されたメモリセルトランジスタMTでは、データの保持特性が劣化して閾値電圧の変動がより大きくなる場合がある。このような閾値電圧の変動が発生すると、予め設定された読み出し電圧を用いた読み出し動作ではエラービット数が多くなり、エラー訂正が困難になる可能性がある。
これに対して、第1実施形態におけるNAND型フラッシュメモリ10は、トラッキングリードを実行することによって最適な読み出し電圧を探索することが出来る。トラッキングリードでは、複数の読み出し電圧を用いた読み出し動作が実行され、エラービット数が最も少なくなる読み出し電圧が探索される。
例えば、読み出し電圧CRに対応するトラッキングリードでは、トラッキング電圧CRt1、CRt2、CRt3、CRt4及びCRt5をそれぞれ用いた読み出し動作が連続で実行される。このように、トラッキング電圧を用いて連続で実行される読み出し動作のことを、以下ではトラッキングと称する。
トラッキング電圧はそれぞれ任意の値に設定され、隣り合うトラッキング電圧との間隔(ステップアップ電圧)は例えば略一定に設定される。これらの電圧値の関係は、CRt1<CRt2<CRt3<CRt4<CRt5である。また、読み出し電圧の初期値との関係は、CRt1<CR<CRt5である。
その他の読み出し電圧に対応するトラッキングリードでは、読み出し電圧CRに対応するトラッキングリードと同様にトラッキング電圧が設定される。尚、トラッキングリードで使用されるトラッキング電圧の数は、読み出し電圧毎に異なっていても良く、任意の数に設定され得る。同様に、トラッキングリードにおけるステップアップ電圧は、読み出し電圧毎に異なっていても良く、任意の数値に設定され得る。
読み出し電圧CRに対応するトラッキングリードにおいて、トラッキング電圧CRt1、CRt2、CRt3、CRt4、及びCRt5をそれぞれ用いた読み出し動作が実行されると、シーケンサ15は、例えばメモリセルトランジスタMTのオンセル数に基づいて、“B”レベルの閾値分布と“C”レベルの閾値分布との間の谷部分を検出する。
そして、シーケンサ15は、検出した閾値分布の谷部分に基づいて、最適読み出し電圧を確定する。その後、シーケンサ15は、見積もった最適読み出し電圧を使用した読み出し動作を実行する。この読み出し動作では、例えばトラッキングリードに用いられたトラッキング電圧のうちの1つが最適読み出し電圧として使用される。
以下に、トラッキングリードに対応するコマンドシーケンスと、選択されたワード線WLに印加される電圧と、制御信号STBの動作とを説明する。
尚、以下の説明では、選択されたワード線WLのことを、選択ワード線WLselと称する。NAND型フラッシュメモリ10が動作を開始する前におけるレディビジー信号RBnは“H”レベル(レディ状態)であり、選択ワード線WLselの電圧はVssであり、制御信号STBは“L”レベルであるものと仮定する。
また、以下で説明される動作において、選択ワード線WLselには、電圧生成回路17及びロウデコーダモジュール18によって電圧が印加される。NAND型フラッシュメモリ10が受信したアドレス情報は、アドレスレジスタ13Bに保持される。NAND型フラッシュメモリ10が受信したコマンドは、コマンドレジスタ13Cに保持される。
図13は、第1実施形態に係るメモリシステム1におけるトラッキングリードの一例を示すタイミングチャートであり、上位ページの読み出し動作に対応するトラッキングリードの一例を示している。
図13に示すように、上位ページのトラッキングリードを実行する場合、メモリコントローラ20は、例えばコマンド“xxh”、コマンド“03h”、コマンド“00h”、5サイクルのアドレス情報“ADD”、及びコマンド“30h”を順にNAND型フラッシュメモリ10に送信する。
コマンド“xxh”は、トラッキングリードの実行をNAND型フラッシュメモリ10に指示するコマンドである。コマンド“03h”は、上位ページに対応する動作をNAND型フラッシュメモリ10に指示するコマンドである。
コマンド“00h”は、読み出し動作の実行をNAND型フラッシュメモリ10に指示するコマンドである。5サイクルのアドレス情報“ADD”は、動作対象のセルユニットCUに対応するアドレス情報であり、ブロックアドレス、カラムアドレス、ページアドレス等を含み得る。
コマンド“30h”は、直前に受信したコマンド及びアドレス等に基づいた読み出し動作の開始をNAND型フラッシュメモリ10に指示するコマンドである。NAND型フラッシュメモリ10は、コマンド“30h”を受信するとレディ状態からビジー状態(RBn=“L”レベル)に遷移して、シーケンサ15がトラッキングリードを開始する。
上位ページのトラッキングリードが開始すると、選択ワード線WLselには、例えば読み出し電圧CRに対応するトラッキング電圧CRt1、CRt2、CRt3、CRt4及びCRt5と、読み出し電圧GRに対応するトラッキング電圧GRt1、GRt2、GRt3、GRt4及びGRt5とが順に印加される。
また、シーケンサ15は、各トラッキング電圧が選択ワード線WLselに印加されている間に、それぞれ制御信号STBをアサートする。それから、シーケンサ15は、トラッキング電圧CRt1〜CRt5のそれぞれの読み出し結果に基づいて、読み出し電圧CRに対応する最適読み出し電圧CRcを見積もり、トラッキング電圧GRt1〜GRt5のそれぞれの読み出し結果に基づいて、読み出し電圧GRに対応する最適読み出し電圧GRcを見積もる。トラッキングリードによって得られた最適読み出し電圧に対応する補正値は、例えばステータスレジスタ13Aに保持される。
その後、選択ワード線WLselには、最適読み出し電圧CRc及びGRcが順に印加される。また、シーケンサ15は、最適読み出し電圧CRc及びGRcが選択ワード線WLselに印加されている間に、それぞれ制御信号STBをアサートする。
最適読み出し電圧CRcによる読み出し結果は、例えば各センスアンプユニットSAU内のラッチ回路ABLに保持される。その後、最適読み出し電圧GRcによる読み出し結果と、ラッチ回路ABLに保持された最適読み出し電圧CRcによる読み出し結果とに基づいて、上位ページの読み出しデータが演算される。そして、この演算結果は、例えば各センスアンプユニットSAU内のラッチ回路XDLに保持される。
このように、上位ページの読み出しデータが確定すると、シーケンサ15は上位ページのトラッキングリードを終了し、NAND型フラッシュメモリ10をビジー状態からレディ状態に遷移させる。
以上で説明したトラッキングリードにより得られた最適読み出し電圧を用いた読み出し結果は、メモリコントローラ20の指示に基づいて、メモリコントローラ20に出力され得る。また、トラッキングリードによって得られた最適読み出し電圧に対応する補正値は、メモリコントローラ20の指示に基づいてメモリコントローラ20に出力され、例えばRAM22内のLUT内に記録され得る。
尚、メモリシステム1は、中位及び下位ページのそれぞれのトラッキングリードについても、上位ページのトラッキングリードと同様に実行することが出来る。
下位ページのトラッキングリードでは、例えばコマンド“03h”の替わりにコマンド“01h”が使用される。コマンド“01h”は、下位ページに対応する動作をNAND型フラッシュメモリ10に指示するコマンドである。
中位ページのトラッキングリードでは、例えばコマンド“03h”の替わりにコマンド“02h”が使用される。コマンド“02h”は、中位ページに対応する動作をNAND型フラッシュメモリ10に指示するコマンドである。
また、下位ページ及び中位ページのそれぞれのトラッキングリードでは、使用されるトラッキング電圧及び読み出し電圧が適宜変更される。下位ページ及び中位ページのそれぞれのトラッキングリードにおけるその他の動作は、上位ページのトラッキングリードと同様のため、説明を省略する。
[1−2−2]シフトリードについて
第1実施形態に係るメモリシステム1では、トラッキングリードによって得られたトラッキング結果(最適読み出し電圧)を用いたシフトリードが実行される。
第1実施形態に係るメモリシステム1では、トラッキングリードによって得られたトラッキング結果(最適読み出し電圧)を用いたシフトリードが実行される。
シフトリードは、通常の読み出し動作に対して、使用する読み出し電圧を初期値からシフトさせた読み出し動作である。シフトリードにおける読み出し電圧のシフト量は、後述する設定変更動作によって事前に設定される。
図14は、第1実施形態に係るメモリシステム1におけるシフトリードの一例を示すタイミングチャートであり、上位ページの読み出し動作に対応するシフトリードの一例を示している。
図14に示すように、上位ページのシフトリードを実行する場合、メモリコントローラ20は、例えばコマンド“yyh”、コマンド“03h”、コマンド“00h”、5サイクルのアドレス情報“ADD”、及びコマンド“30h”を順にNAND型フラッシュメモリ10に送信する。
コマンド“yyh”は、シフトリードの実行をNAND型フラッシュメモリ10に指示するコマンドである。NAND型フラッシュメモリ10は、コマンド“30h”を受信するとレディ状態からビジー状態(RBn=“L”レベル)に遷移して、シーケンサ15がシフトリードを開始する。
上位ページのシフトリードが開始すると、最適読み出し電圧CRc及びGRcが順に印加される。また、シーケンサ15は、最適読み出し電圧CRc及びGRcが選択ワード線WLselに印加されている間に、それぞれ制御信号STBをアサートする。
例えば、最適読み出し電圧CRcによる読み出し結果は、例えば各センスアンプユニットSAU内のラッチ回路ABLに保持される。その後、最適読み出し電圧GRcによる読み出し結果と、ラッチ回路ABLに保持された最適読み出し電圧CRcによる読み出し結果とに基づいて上位ページの読み出しデータが演算される。そして、この演算結果は、例えば各センスアンプユニットSAU内のラッチ回路XDLに保持される。
このように、上位ページの読み出しデータが確定すると、シーケンサ15は上位ページのシフトリードを終了し、NAND型フラッシュメモリ10をビジー状態からレディ状態に遷移させる。
そして、シフトリードにより得られた最適読み出し電圧を用いた読み出し結果は、メモリコントローラ20の指示に基づいて、メモリコントローラ20に出力される。
尚、メモリシステム1は、中位及び下位ページにそれぞれ対応するシフトリードについても、上位ページのシフトリードと同様に実行することが出来る。
下位ページのシフトリードでは、例えばコマンド“03h”の替わりにコマンド“01h”が使用される。中位ページのシフトリードでは、例えばコマンド“03h”の替わりにコマンド“02h”が使用される。また、下位ページ及び中位ページのそれぞれのシフトリードでは、使用される最適読み出し電圧が適宜変更される。下位ページ及び中位ページのそれぞれのシフトリードにおけるその他の動作は、上位ページのシフトリードと同様のため、説明を省略する。
[1−2−3]パトロール動作について
第1実施形態に係るメモリシステム1は、ホスト機器2からの命令に基づいた動作を実行していない期間において、自発的にパトロール動作を実行する。つまり、第1実施形態に係るメモリシステム1は、バックグラウンド動作中に、ホスト機器2からの命令とは独立してパトロール動作を実行する。
第1実施形態に係るメモリシステム1は、ホスト機器2からの命令に基づいた動作を実行していない期間において、自発的にパトロール動作を実行する。つまり、第1実施形態に係るメモリシステム1は、バックグラウンド動作中に、ホスト機器2からの命令とは独立してパトロール動作を実行する。
パトロール動作は、メモリシステム1における読み出しエラーの低減と、不良が発生したブロックBLKの検出とに寄与し、例えば繰り返される所定の期間毎に、全てのブロックBLK内の全てのページを対象として実行される。言い換えると、各NAND型フラッシュメモリ10に含まれた全てのブロックBLK内の全てのページには、所定の期間毎に少なくとも1回のパトロール動作が実行される。
以下の説明では、このようにパトロール動作が実行される所定の期間のことを、パトロール期間と称する。パトロール期間は、タイマ28によって測定された時間に基づいて設定される。1サイクルのパトロール期間に対応する時間は、例えば1日である。これに限定されず、1サイクルに対応する時間は、任意の長さに設定され得る。
また、第1実施形態に係るメモリシステム1は、パトロール動作において、例えば履歴学習及び不良検知を実行する。
履歴学習は、パトロール動作の対象のページにおける最適読み出し電圧を確認する動作である。履歴学習では、例えばトラッキングリードが実行される。トラッキングリードによって得られた読み出し電圧の補正値(トラッキング結果)は、適宜メモリコントローラ20に転送される。
不良検知は、パトロール動作の対象のページに対応するデータを読み出すことが可能であるか否かを確認する動作である。不良検知では、例えばトラッキング結果を用いたシフトリードが実行される。シフトリードによって読み出されたデータは、メモリコントローラ20に転送され、ECC回路24によるエラー訂正処理が実行される。
不良検知において、読み出しデータのエラー訂正が可能であった場合、当該ページはデータを読み出すことが可能であると判断される。一方で、読み出しデータのエラー訂正が不可能であった場合、当該ページは不良ページであると判断される。例えば、パトロール動作が実行されたブロックBLKに不良ページが含まれていた場合、当該ブロックBLKに書き込まれたデータは、その他のブロックBLKに待避される。
以上のように、パトロール動作の目的は、履歴学習によって読み出し電圧の補正値を作成することと、不良検知によって物理故障の有無を確認することである。
履歴学習は、必ずしも全てのワード線WLに対して実行される必要は無く、任意で設定した代表のワード線WLに対して実行されていれば良い。一方で、不良検知は、例えば隣り合うワード線WL間のショート等の物理不良を検知することが目的であるため、全てのワード線WLに対して実行する必要がある。
(パトロール動作のコマンドシーケンス)
図15は、第1実施形態に係るメモリシステム1のパトロール動作におけるコマンドシーケンスの一例を示している。
図15は、第1実施形態に係るメモリシステム1のパトロール動作におけるコマンドシーケンスの一例を示している。
図15に示すように、例えばメモリシステム1は、パトロール動作を開始すると、まず履歴学習を実行する。履歴学習において、メモリシステム1は、まずトラッキングリードに関するパラメータの設定変更動作を実行する。この“パラメータ”は、各種動作時にシーケンサ15によって参照されるデータであり、例えばレジスタ部13に保持される。
設定変更動作において、メモリコントローラ20は、例えばコマンド“EFh”、アドレス“zzh”、並びにデータ“D1”、“D2”、“D3”及び“D4”を順にNAND型フラッシュメモリ10に送信する。
コマンド“EFh”は、設定変更動作の実行をNAND型フラッシュメモリ10に指示するコマンドである。アドレス“zzh”は、設定変更動作の対象となるパラメータを指定するアドレスを含んでいる。データ“D1”〜“D4”は、設定変更動作によって変更するパラメータを含んでいる。
NAND型フラッシュメモリ10は、データ“D4”を受信するとレディ状態からビジー状態に遷移する。すると、シーケンサ15は、受信したアドレス“zzh”及びデータ“D1”〜“D4”に基づいて、適宜パラメータを書き換える。パラメータの書き換えが終了すると、NAND型フラッシュメモリ10はビジー状態からレディ状態に遷移する。
本例においてメモリシステム1は、トラッキングリードを実行する前に、トラッキングリードの開始電圧を設定する設定変更動作と、トラッキングリードにおけるステップアップ電圧を設定する設定変更動作とを実行している。これに限定されず、トラッキングリードに関する設定変更動作は、適宜省略されても良い。
トラッキングリードに関するパラメータの設定変更動作が終了すると、メモリシステム1は、トラッキングリードを実行する。
トラッキングリードにおいて、メモリコントローラ20は、例えばコマンド“xxh”、コマンド“01h”、5サイクルのアドレス情報“ADD”、及びコマンド“30h”を順にNAND型フラッシュメモリ10に送信する。
NAND型フラッシュメモリ10は、コマンド“30h”を受信するとレディ状態からビジー状態に遷移し、図13を用いて説明したようにトラッキングリードを実行する。トラッキングリードが終了すると、NAND型フラッシュメモリ10はビジー状態からレディ状態に遷移する。図示された時間tTRは、当該トラッキングリードの処理時間に対応している。
トラッキングリードの実行が終了すると、メモリシステム1は、トラッキング結果の出力を実行する。
トラッキング結果の出力において、メモリコントローラ20は、例えばコマンド“B0h”及び“00h”をNAND型フラッシュメモリ10に送信する。コマンド“B0h”は、トラッキング結果の出力をNAND型フラッシュメモリ10に指示するコマンドである。
NAND型フラッシュメモリ10は、コマンド“00h”を受信すると、例えばステータスレジスタ13Aに保持されたトラッキング結果をメモリコントローラ20に出力する(“STSout”)。
メモリコントローラ20が受信したトラッキング結果は、例えばRAM22内のLUTに記録される。尚、トラッキング結果は、DRAM30に保持されても良く、メモリシステム1内のNANDパッケージPKG以外の領域に保持されていれば良い。
以上で説明した動作が、パトロール動作における履歴学習に対応している。トラッキング結果の出力が終了すると、メモリシステム1は、ホスト機器2の指示に基づいた動作を実行することが可能な状態になる(“割り込み可能”)。
このとき、メモリシステム1がホスト機器2の指示を受信していない場合、メモリシステム1は続けて不良検知(シフトリード)を実行する。一方で、メモリシステム1がホスト機器2の指示を受信している場合、メモリシステム1はホスト機器2の指示に基づいた動作を実行した後に不良検知を実行する。
尚、ホスト機器2の指示に基づいた動作が実行された場合、センスアンプユニットSAU内のラッチ回路XDLに保持された読み出し結果は破棄される。一方で、トラッキングリードによって得られた読み出し電圧の補正値は、例えばステータスレジスタ13A内に維持される。
不良検知において、メモリシステム1は、まずシフトリードに関するパラメータの設定変更動作を実行する。設定変更動作におけるコマンドシーケンスは、トラッキングリードに関するパラメータの設定変更動作と同様のため、説明を省略する。
この設定変更動作が実行されると、例えばメモリコントローラ20内のRAM22に保持されたトラッキング結果に基づいて、NAND型フラッシュメモリ10内のパラメータが適宜書き換えられる。これにより、NAND型フラッシュメモリ10において、シフトリード実行時の読み出し電圧が設定される。
シフトリードに関するパラメータの設定変更動作が終了すると、メモリシステム1は、シフトリードを実行する。
シフトリードにおいて、メモリコントローラ20は、例えばコマンド“yyh”、コマンド“01h”、5サイクルのアドレス情報“ADD”、及びコマンド“30h”を順にNAND型フラッシュメモリ10に送信する。
NAND型フラッシュメモリ10は、コマンド“30h”を受信するとレディ状態からビジー状態に遷移し、図14を用いて説明したようにシフトリードを実行する。シフトリードが終了すると、NAND型フラッシュメモリ10はビジー状態からレディ状態に遷移する。図示された時間tSRは、当該シフトリードの処理時間に対応している。時間tSRは、時間tTRよりも短い。
シフトリードの実行が終了すると、メモリシステム1は、読み出しデータの出力を実行する。第1実施形態において、この“読み出しデータ”は、シフトリードによって得られた、最適読み出し電圧による読み出し結果のことを示している。
読み出しデータの出力において、メモリコントローラ20は、例えばコマンド“05h”、5サイクルのアドレス情報“ADD”、及びコマンド“E0h”を順にNAND型フラッシュメモリ10に送信する。コマンド“05h”及び“E0h”は、読み出しデータの出力をNAND型フラッシュメモリ10に指示するコマンドである。
NAND型フラッシュメモリ10は、コマンド“E0h”を受信すると、例えばセンスアンプユニットSAU内のラッチ回路XDLに保持された読み出しデータを、メモリコントローラ20に出力する(“Dout”)。
メモリコントローラ20が読み出しデータを受信すると、ECC回路24によってエラー訂正処理が実行される。そして、エラー訂正処理の結果に基づいて、パトロール動作が実行されたページが読み出し可能であるか否かが判断される。
以上で説明した動作が、パトロール動作における不良検知に対応している。
第1実施形態に係るメモリシステム1は、以上のように履歴学習及び不良検知を実行することによって、ページ単位でパトロール動作を進行する。
尚、第1実施形態に係るメモリシステム1では、共通のバスラインChを使用するNAND型フラッシュメモリ10において、処理されるパトロール動作の処理単位(コマンドの処理単位)が設定され得る。以下に、第1実施形態に係るメモリシステム1において、パトロール動作の処理単位が異なる場合の動作の一例について例示する。
(パトロール動作の処理単位が1ページ/1BNKである場合)
図16は、第1実施形態に係るメモリシステム1におけるパトロール動作の処理順番の一例であり、各NAND型フラッシュメモリ10において処理されるパトロール動作の処理単位が1ページ/1BNKである場合について例示している。
図16は、第1実施形態に係るメモリシステム1におけるパトロール動作の処理順番の一例であり、各NAND型フラッシュメモリ10において処理されるパトロール動作の処理単位が1ページ/1BNKである場合について例示している。
本明細書において、“パトロール動作の処理単位が1ページ/1BNKであること”は、例えば共通のバスラインChを使用するNAND型フラッシュメモリ10において、パトロール動作が並列で実行されないことを示している。
図16に示すように、本例において、ブロックBLKx(xは0以上の整数)に対するパトロール動作は、例えば第1の期間、第2の期間、及び第3の期間に分類され得る。
各期間において示された数字は、パトロール動作の実行順番に対応している。同じ期間において履歴学習と不良検知とで同じ数字が示されている場合、これらの動作は例えば連続で実行されることを示している。図16に示された“L”、“M”、“H”は、それぞれ下位ページ、中位ページ、上位ページに対応している。
第1の期間、第2の期間、及び第3の期間のそれぞれにおいて、選択されたストリングユニットSU及びワード線WLの組では、異なるページが選択された履歴学習及び不良検知が実行される。
具体的には、第1の期間では、まずストリングユニットSU0及びワード線WL0が選択され、下位ページの履歴学習及び不良検知が実行される(第1の期間、“1”)。次に、ストリングユニットSU1及びワード線WL0が選択され、中位ページの履歴学習及び不良検知が実行される(第1の期間、“2”)。次に、ストリングユニットSU2及びワード線WL0が選択され、上位ページの履歴学習及び不良検知が実行される(第1の期間、“3”)。次に、ストリングユニットSU3及びワード線WL0が選択され、下位ページの履歴学習及び不良検知が実行される(第1の期間、“4”)。
次に、ワード線WL1が選択された履歴学習及び不良検知が実行される。このとき、ストリングユニットSU及びページは、ワード線WL0が選択された場合と同様の順番で選択される(第1の期間、“5”〜“8”)。
第1の期間において、ワード線WL1が選択された履歴学習及び不良検知が実行されると、続くパトロール動作では例えば履歴学習を省略しても良い。つまり、ワード線WL2が選択されたパトロール動作では、例えば不良検知のみが実行される(第1の期間、“9”〜“12”)。履歴学習が省略されたパトロール動作では、例えば同じブロックBLKで実行された他のワード線WLにおける履歴学習の結果を用いて不良検知が実行される。
第1の期間において、その他のワード線WLが選択されたパトロール動作が実行される順番は、例えばワード線WL2が選択されたパトロール動作と同様の順番で実行されるため、説明を省略する。
第2の期間では、まずストリングユニットSU0及びワード線WL0が選択され、中位ページの履歴学習及び不良検知が実行される(第2の期間、“1”)。次に、ストリングユニットSU1及びワード線WL0が選択され、上位ページの履歴学習及び不良検知が実行される(第2の期間、“2”)。次に、ストリングユニットSU2及びワード線WL0が選択され、下位ページの履歴学習及び不良検知が実行される(第2の期間、“3”)。次に、ストリングユニットSU3及びワード線WL0が選択され、中位ページの履歴学習及び不良検知が実行される(第2の期間、“4”)。
次に、ワード線WL1が選択された履歴学習及び不良検知が実行される。このとき、ストリングユニットSU及びページは、ワード線WL0が選択された場合と同様の順番で選択される(第2の期間、“5”〜“8”)。
第2の期間において、ワード線WL1が選択された履歴学習及び不良検知が実行されると、第1の期間と同様に、続くパトロール動作では例えば履歴学習を省略しても良い(第2の期間、“9”〜“12”)。
第2の期間において、その他のワード線WLが選択されたパトロール動作が実行される順番は、例えばワード線WL2が選択されたパトロール動作と同様の順番で実行されるため、説明を省略する。
第3の期間では、まずストリングユニットSU0及びワード線WL0が選択され、上位ページの履歴学習及び不良検知が実行される(第3の期間、“1”)。次に、ストリングユニットSU1及びワード線WL0が選択され、下位ページの履歴学習及び不良検知が実行される(第3の期間、“2”)。次に、ストリングユニットSU2及びワード線WL0が選択され、中位ページの履歴学習及び不良検知が実行される(第3の期間、“3”)。次に、ストリングユニットSU3及びワード線WL0が選択され、上位ページの履歴学習及び不良検知が実行される(第3の期間、“4”)。
次に、ワード線WL1が選択された履歴学習及び不良検知が実行される。このとき、ストリングユニットSU及びページは、ワード線WL0が選択された場合と同様の順番で選択される(第3の期間、“5”〜“8”)。
第3の期間において、ワード線WL1が選択された履歴学習及び不良検知が実行されると、第1の期間と同様に、続くパトロール動作における履歴学習を省略しても良い(第3の期間、“9”〜“12”)。第3の期間において、その他のワード線WLが選択されたパトロール動作が実行される順番は、例えばワード線WL2が選択されたパトロール動作と同様の順番で実行されるため、説明を省略する。
以上のように第1の期間〜第3の期間におけるパトロール動作が実行されることによって、第1実施形態に係るメモリシステム1では、ブロックBLKx内の全てのワード線WLにおける3ページ分のパトロール動作が実行され得る。
第1の期間〜第3の期間では、各ワード線WLが選択されたパトロール動作において、ページが選択される順番が異なっている。そして、本例では、第1の期間〜第3の期間のそれぞれにおいて、全領域(当該ブロックBLK内におけるワード線WLとストリングユニットSUの全ての組み合わせ)で少なくとも1回のパトロール動作が実行される。
以下に、共通のバスラインChに接続されたNAND型フラッシュメモリ10のそれぞれにおいて下位ページ、中位ページ、及び上位ページのそれぞれのパトロール動作が順に実行される場合における、パトロール動作の動作タイミングについて説明する。
図17は、第1実施形態において、パトロール動作の処理単位が1ページ/1BNKである場合における、パトロール動作の動作タイミングの一例を示している。
以下の説明で参照されるタイミングチャートにおいて、“BNK0”及び“BNK1”は、それぞれバンクBNK0及びBNK1に対応するNAND型フラッシュメモリ10における動作状態を示している。“Ch0”は、バスラインCh0を介して送受信されている信号を示している。
“TR(L)”、“TR(M)”、及び“TR(U)”は、それぞれ下位ページ、中位ページ、及び上位ページに対応するトラッキングリードの処理期間を示している。“SR(L)”、“SR(M)”、及び“SR(U)”は、それぞれ下位ページ、中位ページ、及び上位ページに対応するシフトリードの処理期間を示している。
以下のタイミングチャートの説明では、説明を簡略化するために、バンクBNK0に対応するNAND型フラッシュメモリ10のことを、“バンクBNK0”と称し、バンクBNK1に対応するNAND型フラッシュメモリ10のことを、“バンクBNK1”と称する。
また、メモリコントローラ20が各バンクBNKにコマンドを送信する動作と、各バンクBNKがメモリコントローラ20にデータ又はステータスを送信する動作とのそれぞれにおいて、バスラインCh0が使用されているものとする。
図17に示すように、メモリシステム1は、バンクBNK0に対応する動作と、バンクBNK1に対応する動作とを交互に実行する。
具体的には、まずメモリコントローラ20は、下位ページのトラッキングリードに対応するコマンドCMDをバンクBNK0に送信する。すると、バンクBNK0は、下位ページのトラッキングリードを実行し、続けてトラッキング結果STSoutをメモリコントローラ20に送信する(BNK0における下位ページの履歴学習)。
次に、メモリコントローラ20は、下位ページのトラッキングリードに対応するコマンドCMDをバンクBNK1に送信する。すると、バンクBNK1は、下位ページのトラッキングリードを実行し、続けてトラッキング結果STSoutをメモリコントローラ20に送信する(BNK1における下位ページの履歴学習)。
次に、メモリコントローラ20は、下位ページのシフトリードに対応するコマンドCMDをバンクBNK0に送信する。すると、バンクBNK0は、下位ページのシフトリードを実行し、続けて読み出しデータDoutをメモリコントローラ20に送信する(BNK0における下位ページの不良検知)。
次に、メモリコントローラ20は、下位ページのシフトリードに対応するコマンドCMDをバンクBNK1に送信する。すると、バンクBNK0は、下位ページのシフトリードを実行し、続けて読み出しデータDoutをメモリコントローラ20に送信する(BNK1における下位ページの不良検知)。
尚、第1実施形態においてパトロール動作の処理単位が1ページ/1BNKである場合、メモリコントローラ20は、シフトリードの終了時と、トラッキングリードの終了時とのそれぞれにおいて、ホスト機器2の指示に基づいた読み出し動作(以下、ホストリードと称する)を割り込ませることが出来る。
続けて、中位ページに対応するパトロール動作と、上位ページに対応するパトロール動作とが順に実行される。中位ページ及び上位ページに対応するパトロール動作のそれぞれの動作タイミングは、下位ページに対応するパトロール動作の動作タイミングと同様のため、説明を省略する。
(パトロール動作の処理単位が1WL/2BNKである場合)
図18は、第1実施形態に係るメモリシステム1におけるパトロール動作の処理順番の一例であり、各NAND型フラッシュメモリ10において処理されるパトロール動作の処理単位が1WL/2BNKである場合について例示している。
図18は、第1実施形態に係るメモリシステム1におけるパトロール動作の処理順番の一例であり、各NAND型フラッシュメモリ10において処理されるパトロール動作の処理単位が1WL/2BNKである場合について例示している。
本明細書において、“パトロール動作の処理単位が1WL/2BNKであること”は、共通のバスラインChを使用するNAND型フラッシュメモリ10において、パトロール動作が並列で実行されることを示している。
図18に示された数字は、連続で実行される下位ページ、中位ページ、上位ページのそれぞれのパトロール動作の組が実行される順番を示している。履歴学習と不良検知とで同じ数字が示されている場合、これらの動作は例えば連続で実行されることを示している。
図18に示すように、本例において、ブロックBLKxに対するパトロール動作は、例えば図16を用いて説明した一例のように、期間が分類されない。
そして、本例では、まずワード線WL0が選択され、ストリングユニットSU0〜SU3が順に選択された履歴学習及び不良検知が実行される(“1”〜“4”)。次に、ワード線WL1が選択され、ストリングユニットSU0〜SU3が順に選択された履歴学習及び不良検知が実行される(“5”〜“8”)。
ワード線WL1が選択された履歴学習及び不良検知が実行されると、続くパトロール動作では例えば履歴学習を省略しても良い。つまり、ワード線WL2が選択されたパトロール動作では、例えば不良検知のみが実行される(“9”〜“12”)。履歴学習が省略されたパトロール動作では、例えば同じブロックBLKで実行された履歴学習の結果を用いて不良検知が実行される。
本例において、その他のワード線WLが選択されたパトロール動作が実行される順番は、例えばワード線WL2が選択されたパトロール動作と同様の順番で実行されるため、説明を省略する。
以上のようにパトロール動作が実行されることによって、第1実施形態に係るメモリシステム1では、ブロックBLKx内の全てのワード線WLにおける3ページ分のパトロール動作が実行され得る。
以下に、共通のバスラインChに接続されたNAND型フラッシュメモリ10のそれぞれにおいて下位ページ、中位ページ、及び上位ページのパトロール動作が順に実行される場合における、パトロール動作の動作タイミングについて説明する。
図19は、第1実施形態において、パトロール動作の処理単位が1WL/2BNKである場合における、パトロール動作の動作タイミングの一例を示している。
図19に示すように、メモリシステム1は、バンクBNK0に対応する動作と、バンクBNK1に対応する動作とを適宜並列で実行する。
具体的には、まずメモリコントローラ20は、下位ページのトラッキングリードに対応するコマンドCMDを、バンクBNK0とバンクBNK1とに対して順に送信する。下位ページのトラッキングリードに対応するコマンドCMDを受信すると、バンクBNK0とバンクBNK1とのそれぞれは、下位ページのトラッキングリードを開始する。
このとき、バンクBNK0におけるトラッキングリードと、バンクBNK1におけるトラッキングリードとは、並列で実行され得る。そして、下位ページのトラッキングリードは、バンクBNK0、バンクBNK1の順に終了する。
下位ページのトラッキングリードが終了すると、バンクBNK0とバンクBNK1とのそれぞれは、メモリコントローラ20に対して順にトラッキング結果STSoutを送信する(BNK0及びBNK1のそれぞれにおける下位ページの履歴学習)。
次に、メモリシステム1は、バンクBNK0及びBNK1のそれぞれに対して、中位ページの履歴学習と、上位ページの履歴学習とを順に実行する。これらの動作タイミングは、下位ページの履歴学習と同様のため説明を省略する。
尚、第1実施形態においてパトロール動作の処理単位が1WL/2BNKである場合、履歴学習と不良検知は分離することが出来るため、メモリコントローラ20は、このタイミングでホストリードを割り込ませることが出来る。
下位ページ、中位ページ、及び上位ページのそれぞれの履歴学習が終了すると、メモリシステムは、下位ページのシフトリードに対応するコマンドCMDを、バンクBNK0とバンクBNK1とに対して順に送信する。
下位ページのシフトリードに対応するコマンドCMDを受信すると、バンクBNK0とバンクBNK1とのそれぞれは、下位ページのシフトリードを開始する。このとき、バンクBNK0におけるシフトリードと、バンクBNK1におけるシフトリードとは、並列で実行され得る。
バンクBNK0における下位ページのシフトリードが終了すると、メモリコントローラ20は、バンクBNK0に対して下位ページの読み出しデータDoutを出力させる(BNK0における下位ページの不良検知)。例えば、バンクBNK0が読み出しデータDoutを出力している間に、バンクBNK1における下位ページのシフトリードが終了する。
メモリコントローラ20は、バンクBNK0から下位ページの読み出しデータDoutを受信すると、中位ページのシフトリードに対応するコマンドCMDをバンクBNK0に送信し、バンクBNK0は中位ページのシフトリードを開始する。
そして、バンクBNK0が中位ページのシフトリードを実行している間に、メモリコントローラは、バンクBNK1に対して下位ページの読み出しデータDoutを出力させる(BNK1における下位ページの不良検知)。
例えば、バンクBNK1における下位ページの読み出しデータDoutの出力は、バンクBNK0が中位ページのシフトリードを実行している間に終了する。言い換えると、バンクBNK0における中位ページのシフトリードと、バンクBNK1における下位ページの読み出しデータDoutの出力とが、並列で実行され得る。
メモリコントローラ20は、バンクBNK1から下位ページの読み出しデータDoutを受信すると、中位ページのシフトリードに対応するコマンドCMDをバンクBNK1に送信し、バンクBNK1は中位ページのシフトリードを開始する。
例えば、バンクBNK1が中位ページのシフトリードを実行している間に、バンクBNK0における中位ページのシフトリードが終了する。言い換えると、バンクBNK1における中位ページのシフトリードと、バンクBNK0における中位ページの読み出しデータDoutの出力とが、並列で実行され得る。
バンクBNK0における中位ページのシフトリードが終了すると、メモリコントローラ20は、バンクBNK0に対して中位ページの読み出しデータDoutを出力させる(BNK0における中位ページの不良検知)。続けて、メモリコントローラ20は、上位ページのシフトリードに対応するコマンドCMDをバンクBNK0に送信し、バンクBNK0は上位ページのシフトリードを開始する。
以降も同様に、バンクBNK0におけるシフトリードとバンクBNK1における読み出しデータの出力とが適宜並列で実行され、バンクBNK1におけるシフトリードとバンクBNK0における読み出しデータの出力とが適宜並列で実行され得る。
尚、以上で説明したパトロール動作では、履歴学習と不良検知とが連続で実行される場合について例示されているが、これに限定されない。例えば、第1実施形態におけるパトロール動作において、履歴学習と不良検知とが分離して実行されても良い。この場合にメモリシステム1は、少なくともパトロール動作の対象のページに対して履歴学習を実行した後に、不良検知を実行していれば良い。
また、以上で説明したパトロール動作では、ワード線WL2以降の履歴学習が省略される場合について例示されているが、これに限定されない。第1実施形態におけるパトロール動作では、履歴学習が全てのワード線WLに対して実行されても良いし、履歴学習が省略されるワード線WLは任意に選択され得る。
[1−3]第1実施形態の効果
以上で説明した第1実施形態に係るメモリシステム1に依れば、記憶するデータの信頼性を担保することが出来、且つレイテンシを改善することが出来る。以下に、第1実施形態に係るメモリシステム1における効果の詳細について説明する。
以上で説明した第1実施形態に係るメモリシステム1に依れば、記憶するデータの信頼性を担保することが出来、且つレイテンシを改善することが出来る。以下に、第1実施形態に係るメモリシステム1における効果の詳細について説明する。
SSD(Solid State Drive)は、ホスト機器2の指示による読み出し動作(以下、ホストリードと称する)でエラー訂正が不可になると、例えばリトライリードを実行する。リトライリードには、Vthトラッキング等の復旧技術が適用され得る。
Vthトラッキングは、図13を用いて説明したようなトラッキング電圧による読み出し結果をメモリコントローラ20に送信し、精度の高い読み出し電圧の補正値を見積もる動作である。このため、リトライリードの処理時間は長くなる傾向があり、リトライリードが発生すると、顧客が求めるレイテンシ性能を満たすことが困難になる。
これに対して、データセンタ等で使用されるSSDでは、バックグラウンド動作中にパトロール動作が実行される。パトロール動作では、Vthトラッキングやシフトリードによってメモリセルの最適読み出し電圧が探索され、LUT上の補正値が更新される。
そして、SSDは、その後の読み出し動作において、LUT上で更新された補正値を用いた読み出し動作を実行する。つまり、パトロール動作によって作成された補正値の精度が高い程、SSDにおけるリトライリードの発生を抑制することが出来る。
しかしながら、Vthトラッキングは、補正値を高精度に作成することが出来る一方で、メモリコントローラ20とNAND型フラッシュメモリ10との間でのデータのやり取りが多くなり、バスを占有してしまうという懸念がある。その結果、バンクBNK間の並列処理数を多くすることが困難になり、レイテンシが増大してしまう。
また、大容量のSSDでは、1チャネルに割り当てられるチップ数が多くなる傾向があり、バックグラウンド動作におけるパトロール動作の制御方法が重要になっている。特に、SSDの信頼性を担保するためには、パトロール動作によるレイテンシの増加を抑制しつつ、高精度な読み出し電圧の補正値を作成する必要がある。
そこで、第1実施形態に係るメモリシステム1では、パトロール動作において、NAND型フラッシュメモリ10内で読み出し電圧の補正値を作成するトラッキングリードを実行する。第1実施形態におけるトラッキングリードは、Vthトラッキングのようなデータの出力が必要なく、バスを占有しないという利点がある。
これにより、第1実施形態に係るメモリシステム1は、バンクBNK間におけるパトロール動作の並列処理を多くすることが出来、メモリシステム1全体におけるパトロール動作の処理速度を速くすることが出来る。そして、第1実施形態に係るメモリシステム1では、パトロール動作が実行される時間が短くなる。
その結果、第1実施形態に係るメモリシステム1では、リトライリードの発生を抑制することが出来、且つホストリードとパトロール動作とが衝突する確率を下げることが出来る。つまり、第1実施形態に係るメモリシステム1は、データの信頼性を担保することが出来、且つレイテンシを改善することが出来る。
尚、以上の説明では、パトロール動作を並列で実行することの利点について述べたが、コマンドの処理単位に応じて最適なパトロール動作の処理単位は変化する。この点については、後述する第2実施形態の効果の項目において説明する。
[1−4]第1実施形態の変形例
第1実施形態では、履歴学習(トラッキングリード)及び不良検知(シフトリード)とのそれぞれにおいて、処理単位が同じである場合について例示されたが、これに限定されない。例えば、履歴学習における処理単位と、不良検知における処理単位とは異なっていても良い。
第1実施形態では、履歴学習(トラッキングリード)及び不良検知(シフトリード)とのそれぞれにおいて、処理単位が同じである場合について例示されたが、これに限定されない。例えば、履歴学習における処理単位と、不良検知における処理単位とは異なっていても良い。
以下に、第1実施形態の変形例に係るメモリシステム1におけるパトロール動作の動作タイミングの一例について説明する。第1実施形態の変形例では、履歴学習が並列で実行され、不良検知がページ単位で実行される。
図20は、第1実施形態の変形例において、履歴学習の処理単位が1ページ/2BNKであり、不良検知の処理単位が1ページ/1BNKである場合における、パトロール動作のタイミングチャートの一例を示している。
図20に示すように、メモリシステム1は、履歴学習においてバンクBNK0及びBNK1のそれぞれに対応する動作を適宜並列に実行し、不良学習においてバンクBNK0及びBNK1のそれぞれに対応する動作を逐次実行する。
具体的には、まずメモリコントローラ20は、図19を用いて説明した動作と同様に、下位ページのトラッキングリードを、バンクBNK0及びBNK1のそれぞれに対して実行させる。下位ページのトラッキングリードが終了すると、バンクBNK0とバンクBNK1とのそれぞれは、メモリコントローラ20に対して順にトラッキング結果STSoutを送信する(BNK0及びBNK1のそれぞれにおける下位ページの履歴学習)。
次に、メモリコントローラ20は、図17を用いて説明した動作と同様に、下位ページのシフトリードをバンクBNK0に対して実行させ、下位ページの読み出しデータDoutをメモリコントローラ20に出力させる(BNK0における下位ページの不良検知)。
次に、メモリコントローラ20は、図17を用いて説明した動作と同様に、下位ページのシフトリードをバンクBNK1に対して実行させ、下位ページの読み出しデータDoutをメモリコントローラ20に出力させる(BNK1における下位ページの不良検知)。
以降も同様に、メモリコントローラ20は、中位ページのトラッキングリードをバンクBNK0及びBNK1のそれぞれに対して並列で実行させ、中位ページのシフトリードをバンクBNK0及びBNK1のそれぞれに対して逐次実行させ、上位ページのトラッキングリードをバンクBNK0及びBNK1のそれぞれに対して並列で実行させ、上位ページのシフトリードをバンクBNK0及びBNK1のそれぞれに対して逐次実行させる。
尚、第1実施形態の変形例において、メモリコントローラ20は、履歴学習の2BNK動作終了時と、不良検知の1BNK動作終了時とのそれぞれに、ホストリードを割り込ませることが出来る。
第1実施形態の変形例に係るメモリシステム1は、以上のようにパトロール動作を実行することによって、パトロール動作における履歴学習の処理時間を短縮することが出来る。つまり、第1実施形態の変形例に係るメモリシステム1は、パトロール動作を高速化することが出来、レイテンシを改善することが出来る。
[2]第2実施形態
第2実施形態に係るメモリシステム1は、例えば第1実施形態に係るメモリシステム1と同じ構成を有する。そして、第2実施形態に係るメモリシステム1は、パトロール動作において、トラッキングリードによって得られた読み出し結果を用いた不良検知を実行する。以下に、第2実施形態に係るメモリシステム1について、第1実施形態と異なる点を説明する。
第2実施形態に係るメモリシステム1は、例えば第1実施形態に係るメモリシステム1と同じ構成を有する。そして、第2実施形態に係るメモリシステム1は、パトロール動作において、トラッキングリードによって得られた読み出し結果を用いた不良検知を実行する。以下に、第2実施形態に係るメモリシステム1について、第1実施形態と異なる点を説明する。
[2−1]パトロール動作について
(パトロール動作のコマンドシーケンス)
図21は、第1実施形態に係るメモリシステム1のパトロール動作におけるコマンドシーケンスの一例を示している。
(パトロール動作のコマンドシーケンス)
図21は、第1実施形態に係るメモリシステム1のパトロール動作におけるコマンドシーケンスの一例を示している。
図21に示すように、例えばメモリシステム1は、パトロール動作を開始すると、まず第1実施形態と同様に履歴学習を実行する。
具体的には、まずメモリシステム1は、トラッキングリードの開始電圧の設定に対応する設定変更動作と、トラッキングリードにおけるステップアップ電圧の設定に対応する設定変更動作とを適宜実行する。
トラッキングリードに関するパラメータの設定変更動作が終了すると、メモリシステム1は、トラッキングリードを実行する。設定変更動作とトラッキングリードとのそれぞれにおけるコマンドシーケンスは、第1実施形態と同様のため説明を省略する。
NAND型フラッシュメモリ10は、コマンド“30h”を受信するとレディ状態からビジー状態に遷移し、図13を用いて説明したようにトラッキングリードを実行する。トラッキングリードが終了すると、NAND型フラッシュメモリ10はビジー状態からレディ状態に遷移する。
トラッキングリードの実行が終了すると、メモリシステム1は、読み出しデータの出力を実行する。第1実施形態において、この“読み出しデータ”は、トラッキングリードによって得られた、最適読み出し電圧による読み出し結果のことを示している。
読み出しデータの出力におけるコマンドシーケンスは、第1実施形態と同様である。NAND型フラッシュメモリ10は、コマンド“E0h”を受信すると、例えばセンスアンプユニットSAU内のラッチ回路XDLに保持された読み出しデータを、メモリコントローラ20に出力する(“Dout”)。
メモリコントローラ20が読み出しデータを受信すると、ECC回路24によってエラー訂正処理が実行される。そして、エラー訂正処理の結果に基づいて、パトロール動作が実行されたページが読み出し可能であるか否かが判断される。
以上のように、第2実施形態に係るメモリシステム1は、パトロール動作において、トラッキングリードにおける読み出し結果を用いて不良検知を実行する。
(パトロール動作の処理単位が1ページ/1BNKである場合)
パトロール動作の処理単位が1ページ/1BNKである場合におけるパトロール動作の処理順番は、例えば第2実施形態と第1実施形態とで同様である。
パトロール動作の処理単位が1ページ/1BNKである場合におけるパトロール動作の処理順番は、例えば第2実施形態と第1実施形態とで同様である。
以下に、第2実施形態に係るメモリシステム1において、パトロール動作の処理単位が1ページ/1BNKである場合におけるパトロール動作の動作タイミングの一例について説明する。
図22は、第2実施形態において、パトロール動作の処理単位が1ページ/1BNKである場合における、パトロール動作のタイミングチャートの一例を示している。
図22に示すように、メモリシステム1は、バンクBNK0に対応する動作と、バンクBNK1に対応する動作とを交互に実行する。
具体的には、まずメモリコントローラ20は、下位ページのトラッキングリードに対応するコマンドCMDをバンクBNK0に送信する。すると、バンクBNK0は、下位ページのトラッキングリードを実行し、続けて下位ページの読み出しデータDoutをメモリコントローラ20に送信する(BNK0における下位ページのパトロール動作)。
次に、メモリコントローラ20は、下位ページのトラッキングリードに対応するコマンドCMDをバンクBNK1に送信する。すると、バンクBNK1は、下位ページのトラッキングリードを実行し、続けて下位ページの読み出しデータDoutをメモリコントローラ20に送信する(BNK1における下位ページのパトロール動作)。
尚、第2実施形態においてパトロール動作の処理単位が1ページ/1BNKである場合、メモリコントローラ20は、1BNK毎に実行されるトラッキングリードと読み出しデータの出力との組の終了後に、ホストリードを割り込ませることが出来る。
続けて、中位ページに対応するパトロール動作と、上位ページに対応するパトロール動作とが順に実行される。中位ページ及び上位ページに対応するパトロール動作のそれぞれの動作タイミングは、下位ページに対応するパトロール動作の動作タイミングと同様のため、説明を省略する。
(パトロール動作の処理単位が1WL/2BNKである場合)
パトロール動作の処理単位が1WL/2BNKである場合におけるパトロール動作の処理順番は、例えば第2実施形態と第1実施形態とで同様である。
パトロール動作の処理単位が1WL/2BNKである場合におけるパトロール動作の処理順番は、例えば第2実施形態と第1実施形態とで同様である。
以下に、第2実施形態に係るメモリシステム1において、パトロール動作の処理単位が1WL/2BNKである場合におけるパトロール動作の動作タイミングの一例について説明する。
図23は、第2実施形態において、パトロール動作の処理単位が1WL/2BNKである場合における、パトロール動作のタイミングチャートの一例を示している。
図23に示すように、メモリシステム1は、バンクBNK0に対応する動作と、バンクBNK1に対応する動作とを適宜並列で実行する。
具体的には、まずメモリコントローラ20は、下位ページのトラッキングリードに対応するコマンドCMDを、バンクBNK0とバンクBNK1とに対して順に送信する。下位ページのトラッキングリードに対応するコマンドCMDを受信すると、バンクBNK0とバンクBNK1とのそれぞれは、下位ページのトラッキングリードを開始する。
このとき、バンクBNK0におけるトラッキングリードと、バンクBNK1におけるトラッキングリードとは、並列で実行され得る。そして、下位ページのトラッキングリードは、バンクBNK0、バンクBNK1の順に終了する。
バンクBNK0において下位ページのトラッキングリードが終了すると、メモリコントローラ20は、バンクBNK0に対して下位ページの読み出しデータDoutを出力させる(BNK0における下位ページのパトロール動作)。
メモリコントローラ20は、バンクBNK0から下位ページの読み出しデータDoutを受信すると、中位ページのトラッキングリードに対応するコマンドCMDをバンクBNK0に送信し、バンクBNK0は中位ページのトラッキングリードを開始する。
バンクBNK0が中位ページのトラッキングリードを実行している間に、メモリコントローラは、バンクBNK1に対して下位ページの読み出しデータDoutを出力させる(BNK1における下位ページのパトロール動作)。
メモリコントローラ20は、バンクBNK1から下位ページの読み出しデータDoutを受信すると、中位ページのトラッキングリードに対応するコマンドCMDをバンクBNK1に送信し、バンクBNK1は中位ページのトラッキングリードを開始する。
以降も同様に、バンクBNK0におけるトラッキングリードとバンクBNK1における読み出しデータの出力とが適宜並列で実行され、バンクBNK1におけるトラッキングリードとバンクBNK0における読み出しデータの出力とが適宜並列で実行され得る。
尚、第2実施形態においてパトロール動作の処理単位が1WL/2BNKである場合、メモリコントローラ20は、1WL/2BNKの処理の全てが終了するまで、ホストリードを割り込ませることが出来ない。
[2−2]第2実施形態の効果
以上で説明したように、第2実施形態に係るメモリシステム1におけるパトロール動作では、トラッキングリードの読み出し結果を用いて不良検知を実行する。つまり、第2実施形態に係るメモリシステム1におけるパトロール動作では、履歴学習と不良検知とをNAND型フラッシュメモリ10の一回の動作で実行することが出来る。
以上で説明したように、第2実施形態に係るメモリシステム1におけるパトロール動作では、トラッキングリードの読み出し結果を用いて不良検知を実行する。つまり、第2実施形態に係るメモリシステム1におけるパトロール動作では、履歴学習と不良検知とをNAND型フラッシュメモリ10の一回の動作で実行することが出来る。
これにより、第2実施形態に係るメモリシステム1は、第1実施形態で説明したシフトリードを省略することが出来るため、パトロール動作全体の時間を短縮することが出来る。従って、第2実施形態に係るメモリシステム1は、第1実施形態よりもパトロール動作を高速化することが出来る。
以上で説明した第1実施形態と第2実施形態とでは第2実施形態の方が優位に見えるが、どちらの方が優位であるかはメモリシステム1におけるコマンドの処理単位に応じて変化する。
例えば、コマンドの処理単位が1WL/2BNK単位のように大きい場合、ホストリードとパトロール動作とが衝突すると、1WL/2BNK分のパトロール動作が終了するまでホストリードの命令が待たされる。
この場合、第1及び第2実施形態の両方共にバンクBNK間の並列動作が可能であることから、パトロール動作の処理時間は、追加でシフトリードを実行する第1実施形態の方が長くなる。しかしながら、コマンドの処理単位が大きい場合、履歴学習と不良検知を分離できないため、第2実施形態の方がホストリードとパトロール動画が衝突した際の待ち時間が長くなる傾向がある。
待ち時間を短くするためには、メモリシステム1におけるコマンドの処理単位を1ページ/1BNK単位のように小さくすることが考えられる。コマンドの処理単位が小さくなると、履歴学習及び不良検知がそれぞれ短時間で終了するため、レイテンシが改善する。
一方で、コマンドの処理単位が小さい場合に、第2実施形態に係るメモリシステム1では、ホストリードの割り込みによってトラッキングリードの読み出し結果が消えてしまう。つまり、第2実施形態に係るメモリシステム1では、バンクBNK間においてトラッキングリードを並列で実行することが出来ず、トラッキングリードの処理時間が長くなる。
これに対して、第1実施形態に係るメモリシステム1では、変形例で説明したように、履歴学習がバンクBNK間で並列処理され、不良検知がバンクBNK単位で処理され得る。その結果、第1実施形態に係るメモリシステム1は、処理時間の長いトラッキングリードを並列で処理することが出来るため、第2実施形態よりもトラッキングリードの処理時間を短くすることが出来る。
以上のように、メモリシステム1は、コマンドの処理単位を適宜変更し、且つ第1及び第2実施形態を適宜使い分けることによって、SSDの用途に応じた最適なパトロール動作を実行することが出来る。
[3]第3実施形態
第3実施形態に係るメモリシステム1は、例えば第1実施形態に係るメモリシステム1と同じ構成を有する。そして、第3実施形態に係るメモリシステム1は、各パトロール期間において、ワード線WLのアドレスに応じてパトロール動作が適宜間引かれる。以下に、第3実施形態に係るメモリシステム1について、第1及び第2実施形態と異なる点を説明する。
第3実施形態に係るメモリシステム1は、例えば第1実施形態に係るメモリシステム1と同じ構成を有する。そして、第3実施形態に係るメモリシステム1は、各パトロール期間において、ワード線WLのアドレスに応じてパトロール動作が適宜間引かれる。以下に、第3実施形態に係るメモリシステム1について、第1及び第2実施形態と異なる点を説明する。
[3−1]パトロール動作について
図24は、第3実施形態の比較例に係るメモリシステム1におけるパトロール動作の実施サイクルの一例を示している。
図24は、第3実施形態の比較例に係るメモリシステム1におけるパトロール動作の実施サイクルの一例を示している。
尚、以下の説明で参照されるタイミングチャートでは、所定の日から1週間分の期間が抽出されて示されている。パトロール動作の対象であるワード線WL及びブロックBLKのそれぞれが適宜省略されている。各項目内に示された縦棒は、パトロール動作を実施していることを示している。
また、パトロール動作の実施サイクルの説明において、メモリシステム1のパトロール期間は1日に設定されているものと仮定する。つまり、以下の説明では、例えば1日毎に、NAND型フラッシュメモリ10内の全てのブロックBLKに含まれた全てのワード線WLに対するパトロール動作が実行され得る。
図24に示すように、第3実施形態の比較例に係るメモリシステム1では、1サイクル目(“1day”)のパトロール期間において、まずブロックBLK0のワード線WL0〜WL15に対するパトロール動作が順に実施され、続けてブロックBLK1のワード線WL0〜WL15に対するパトロール動作が順に実施される。
以降も同様に、パトロール動作が実施されていないブロックBLKに対して順次パトロール動作が実施される。そして、第3実施形態の比較例に係るメモリシステム1では、2サイクル目(“2day”)以降のパトロール期間において、1サイクル目と同様にパトロール動作が実施される。
図25は、第3実施形態に係るメモリシステム1におけるパトロール動作の実施サイクルの一例を示している。
図25に示すように、第3実施形態に係るメモリシステム1では、1サイクル目(“1day”)のパトロール期間において、第3実施形態の比較例と同様に、まずブロックBLK0のワード線WL0〜WL15に対するパトロール動作が順に実施され、続けてブロックBLK1のワード線WL0〜WL15に対するパトロール動作が順に実施される。以降も同様に、パトロール動作が実施されていないブロックBLKに対して順次パトロール動作が実施される。
そして、第3実施形態に係るメモリシステム1では、例えば2サイクル目(“2day”)及び3サイクル目(“3day”)のパトロール期間のそれぞれにおいて、パトロール動作の対象である全てのワード線WLのうち、特定のワード線WL以外のワード線WLに対するパトロール動作が間引かれる。
この特定のワード線WLとしては、例えばNANDストリングNSの端部に位置するメモリセルトランジスタMTに対応するワード線WL0及びWL15と、メモリピラーMPの接合部JTに隣接するメモリセルトランジスタMTに対応するワード線WL7及びWL8とのそれぞれが設定される。
このような場合、2サイクル目及び3サイクル目のパトロール期間のそれぞれでは、ワード線WL1〜WL6、及びWL9〜WL14のそれぞれに対するパトロール動作が省略され、その他のワード線WLに対するパトロール動作が実施される。
そして、第3実施形態に係るメモリシステム1では、4サイクル目(“4day”)以降のパトロール期間において、1サイクル目〜3サイクル目と同様に、パトロール動作のサイクルが繰り返される。つまり、第3実施形態に係るメモリシステム1では、繰り返されるパトロール期間において、パトロール動作の間引きが行われるパトロール期間が適宜挿入される。
[3−2]第3実施形態の効果
メモリピラーMPがZ方向に連結された複数のピラーを有する場合、メモリセルトランジスタMTの記憶するデータの信頼性は、ワード線WLのアドレスに応じて異なることが推測され得る。
メモリピラーMPがZ方向に連結された複数のピラーを有する場合、メモリセルトランジスタMTの記憶するデータの信頼性は、ワード線WLのアドレスに応じて異なることが推測され得る。
例えば、NANDストリングNSの端部に対応するメモリセルトランジスタMTや、接合部JTに近接するメモリセルトランジスタMTは、その他の部分に配置されたメモリセルトランジスタMTよりも特性のばらつきが大きく、データの保持特性が劣っていることが推測され得る。
このような場合、パトロール動作を実施する効果は、NANDストリングNSの端部に対応する又は接合部JTに近接するメモリセルトランジスタMTの方が、その他の部分に配置されたメモリセルトランジスタMTよりも高くなると考えられる。
また、メモリシステム1の記憶容量が大きくなると、パトロール動作を実施する対象が多くなり、メモリシステム1がパトロール動作を実施している時間が長くなる。このような場合、ホストリードとパトロール動作とが衝突する可能性が高くなり、メモリシステム1のレイテンシが悪化する懸念がある。
そこで、第3実施形態に係るメモリシステム1では、繰り返されるパトロール期間に対して、パトロール動作が間引かれたパトロール期間が適宜挿入される。そして、パトロール動作が間引かれたパトロール期間では、パトロール動作を実施する効果の高いワード線WLに対して選択的にパトロール動作が実施される。
言い換えると、第3実施形態に係るメモリシステム1では、ワード線WLの信頼性に応じてパトロール動作の周期が最適化される。信頼性に応じてパトロール動作の周期が最適化されることによって、パトロール動作の間引き対象であるワード線WLにおいても、データの信頼性が維持される。
これにより、第3実施形態に係るメモリシステム1は、第3実施形態の比較例のように全てのワード線WLに対するパトロール動作が実行される場合と同様に、記憶するデータの信頼性を担保することが出来る。また、第3実施形態に係るメモリシステム1は、パトロール動作の処理量を低減することが出来るため、ホストリードとパトロール動作が衝突する確率を下げることが出来、レイテンシを改善することが出来る。
以上の説明では、1本のメモリピラーMPがZ方向に連結された複数のピラーを有する場合について例示したが、第3実施形態で説明した動作は、メモリピラーMPがその他の構造を有する場合においても適用することが可能である。第3実施形態におけるパトロール動作では、少なくともワード線WLの信頼性に応じてパトロール動作の周期が最適化されていれば良い。
[4]第4実施形態
第4実施形態に係るメモリシステム1は、例えば第1実施形態に係るメモリシステム1と同じ構成を有する。そして、第4実施形態に係るメモリシステム1は、ブロックBLKにデータが書き込まれてからの時間経過に応じてパトロール動作の実施頻度を変化させる。以下に、第4実施形態に係るメモリシステム1について、第1〜第3実施形態と異なる点を説明する。
第4実施形態に係るメモリシステム1は、例えば第1実施形態に係るメモリシステム1と同じ構成を有する。そして、第4実施形態に係るメモリシステム1は、ブロックBLKにデータが書き込まれてからの時間経過に応じてパトロール動作の実施頻度を変化させる。以下に、第4実施形態に係るメモリシステム1について、第1〜第3実施形態と異なる点を説明する。
[4−1]パトロール動作について
図26は、第4実施形態に係るメモリシステム1におけるメモリセルトランジスタMTの書き込み後の読み出し電圧の変化の一例を示している。図26に示されたグラフにおいて、縦軸は読み出し電圧の補正値(DAC値)に対応し、横軸はメモリセルトランジスタMTにデータが書き込まれた後の経過時間を示す保持時間に対応している。
図26は、第4実施形態に係るメモリシステム1におけるメモリセルトランジスタMTの書き込み後の読み出し電圧の変化の一例を示している。図26に示されたグラフにおいて、縦軸は読み出し電圧の補正値(DAC値)に対応し、横軸はメモリセルトランジスタMTにデータが書き込まれた後の経過時間を示す保持時間に対応している。
図26に示すように、各読み出し電圧は、メモリセルトランジスタMTにデータが書き込まれた後の経過時間(データの保持時間)に基づいて変化している。
具体的には、例えば書き込み直後における各読み出し電圧の変化量は、書き込み後から所定の時間経過後における各読み出し電圧の変化量よりも小さい。言い換えると、書き込み直後から暫くは読み出し電圧の変化量が大きく、ある程度時間が経過すると読み出し電圧の変化量が小さくなる。
そこで、第4実施形態に係るメモリシステム1は、データが書き込まれた後のパトロール動作の実施サイクルを、データが書き込まれてからの時間経過に応じて変更する。
図27は、第4実施形態に係るメモリシステム1におけるパトロール動作の実施サイクルの一例を示している。
以下の説明で参照されるタイミングチャートにおいて、各項目内に示された縦棒は、例えばブロックBLK内の全てのワード線WLに対してパトロール動作を実施していることを示している。また、図示されたブロックBLK0〜BLK7のそれぞれに対する書き込み動作は、同日に実行されたものと仮定する。そして、図示された期間は、各ブロックBLKにデータが書き込まれてからの経過日数にも対応している。
図27に示すように、第4実施形態に係るメモリシステム1では、1サイクル目(“1day”)のパトロール期間において、ブロックBLK0から順にパトロール動作が実施される。そして、1サイクル目と同様のパトロール動作が、2サイクル目(“2day”)、3サイクル目(“3day”)、5サイクル目(“5day”)、及び7サイクル目(“7day”)のそれぞれのパトロール期間においても実施される。
一方で、第4実施形態に係るメモリシステム1では、例えば4サイクル目(“4day”)及び6サイクル目(“6day”)のそれぞれのパトロール期間において、パトロール動作が省略される。つまり、書き込み直後から2日間は毎日パトロール動作が実施され、3日目以降は2日に1回パトロール動作が省略されている(“間引き対象サイクル”)。
尚、第4実施形態に係るメモリシステム1は、間引き対象サイクルを挿入する頻度を適宜変更することが可能である。間引き対象サイクルは、少なくとも書き込み直後から所定の回数のパトロール期間が繰り返された後に挿入される。また、間引き対象サイクルは、連続で挿入されても良い。
また、以上の説明では、繰り返されるパトロール期間に間引き対象サイクルが挿入される場合について例示したが、これに限定されない。例えば、第4実施形態で説明した動作では、パトロール動作が実行される周期が書き込み後の時間経過に応じて変化していると見なされても良い。この場合に、パトロール動作が実行される周期は、時間経過と共に長くなるように設定される。
[4−2]第4実施形態の効果
第4実施形態において図26を用いて説明したように、読み出し電圧の変化量は、時間経過と共に変化する。そして、読み出し電圧の変化量は、書き込み後が最も大きく、時間経過に応じて小さくなる。このような現象は、書き込み直後におけるメモリセルトランジスタMTの閾値電圧の低下が特に大きいことが原因で生じ得る。
第4実施形態において図26を用いて説明したように、読み出し電圧の変化量は、時間経過と共に変化する。そして、読み出し電圧の変化量は、書き込み後が最も大きく、時間経過に応じて小さくなる。このような現象は、書き込み直後におけるメモリセルトランジスタMTの閾値電圧の低下が特に大きいことが原因で生じ得る。
そこで、第4実施形態に係るメモリシステム1は、書き込み後の時間経過に応じて、パトロール動作が実行する周期を変化させる。言い換えると、第4実施形態に係るメモリシステム1は、メモリセルトランジスタMTのデータ保持特性の変化に応じて、適切な頻度でパトロール動作を実行する。
これにより、第4実施形態に係るメモリシステム1は、記憶するデータの信頼性を担保しつつ、パトロール動作の処理量を低減することが出来る。従って、第4実施形態に係るメモリシステム1は、ホストリードとパトロール動作が衝突する確率を下げることが出来、レイテンシを改善することが出来る。
[5]第5実施形態
第5実施形態に係るメモリシステム1は、例えば第1実施形態に係るメモリシステム1と同じ構成を有する。そして、第5実施形態に係るメモリシステム1は、ブロックBLKにデータが書き込まれてからの時間経過に応じて短縮パトロール動作を挿入する。以下に、第5実施形態に係るメモリシステム1について、第1〜第4実施形態と異なる点を説明する。
第5実施形態に係るメモリシステム1は、例えば第1実施形態に係るメモリシステム1と同じ構成を有する。そして、第5実施形態に係るメモリシステム1は、ブロックBLKにデータが書き込まれてからの時間経過に応じて短縮パトロール動作を挿入する。以下に、第5実施形態に係るメモリシステム1について、第1〜第4実施形態と異なる点を説明する。
[5−1]省略トラッキングリードについて
短縮パトロール動作においてメモリシステム1は、省略トラッキングリードを実行する。省略トラッキングリードでは、読み出し電圧の補正値を見積もるためのトラッキングが、例えば高い方の読み出し電圧に対してのみ実行される。そして、低い方の読み出し電圧に対応する読み出し電圧の補正値は、高い方の読み出し電圧における補正値から見積もられる。
短縮パトロール動作においてメモリシステム1は、省略トラッキングリードを実行する。省略トラッキングリードでは、読み出し電圧の補正値を見積もるためのトラッキングが、例えば高い方の読み出し電圧に対してのみ実行される。そして、低い方の読み出し電圧に対応する読み出し電圧の補正値は、高い方の読み出し電圧における補正値から見積もられる。
図28は、第5実施形態に係るメモリシステム1の省略トラッキングリードにおけるトラッキング対象レベルの一例を示している。
図28に示すように、本例において、読み出し対象が中位ページである場合、読み出し電圧FRに対応するトラッキングが実行され、読み出し電圧BR及びDRのそれぞれに対応するトラッキングが省略される。読み出し対象が上位ページである場合、読み出し電圧GRに対応するトラッキングが実行され、読み出し電圧CRに対応するトラッキングが省略される。
一方で、読み出し対象が下位ページである場合、例えば読み出し電圧AR及びERの両方に対してトラッキングが実行され得る。この理由は、最も低い書き込みレベルに対応する“A”レベルの閾値分布と、“ER”レベルの閾値分布との間は、読み出しエラーが発生し易いからである。つまり、省略トラッキングリードでは、最も低い書き込みレベルに対応する読み出し電圧を含むページでは、複数の読み出し電圧が使用され得る。
図29は、第5実施形態に係るメモリシステム1における省略トラッキングリードの一例を示すタイミングチャートであり、上位ページの読み出し動作に対応する省略トラッキングリードの一例を示している。
図29に示すように、上位ページの省略トラッキングリードを実行する場合、メモリコントローラ20は、例えばコマンド“xzh”、コマンド“03h”、コマンド“00h”、5サイクルのアドレス情報“ADD”、及びコマンド“30h”を順にNAND型フラッシュメモリ10に送信する。
コマンド“xzh”は、省略トラッキングリードの実行をNAND型フラッシュメモリ10に指示するコマンドである。NAND型フラッシュメモリ10は、コマンド“30h”を受信するとレディ状態からビジー状態に遷移して、シーケンサ15が省略トラッキングリードを開始する。
上位ページの省略トラッキングリードが開始すると、選択ワード線WLselには、例えば読み出し電圧GRに対応するトラッキング電圧GRt1、GRt2、GRt3、GRt4及びGRt5のそれぞれが順に印加される。
また、シーケンサ15は、各トラッキング電圧が選択ワード線WLselに印加されている間に、それぞれ制御信号STBをアサートする。それから、シーケンサ15は、トラッキング電圧GRt1〜GRt5のそれぞれの読み出し結果に基づいて最適読み出し電圧GRcを見積もる。さらに、シーケンサ15は、最適読み出し電圧GRcに基づいて最適読み出し電圧CRcを見積もる。
省略トラッキングリードによって得られた最適読み出し電圧に対応する補正値は、通常のトラッキングリードと同様に、例えばステータスレジスタ13Aに保持される。
その後、選択ワード線WLselには、最適読み出し電圧CRc及びGRcが順に印加される。これ以降の省略トラッキングリードの動作は、図13を用いて説明したトラッキングリードの動作と同様のため、説明を省略する。
尚、本例において、メモリシステム1は、その他のページの省略トラッキングリードについても、上位ページの省略トラッキングリードと同様に実行することが出来る。
例えば、中位ページのトラッキングリードでは、コマンド“03h”の替わりにコマンド“02h”が使用される。また、中位ページの省略トラッキングリードでは、使用されるトラッキング電圧及び読み出し電圧が適宜変更される。中位ページの省略トラッキングリードにおけるその他の動作は、上位ページの省略トラッキングリードと同様のため、説明を省略する。
[5−2]パトロール動作について
再び図26を参照して、メモリセルトランジスタMTにデータが書き込まれた後の経過時間(データの保持時間)に基づく各読み出し電圧の変化について説明する。
再び図26を参照して、メモリセルトランジスタMTにデータが書き込まれた後の経過時間(データの保持時間)に基づく各読み出し電圧の変化について説明する。
図26に示すように、各読み出し電圧の変化量は、読み出し電圧が低いグループと、読み出し電圧が高いグループとの間で大きく異なっている。
具体的には、例えば読み出し電圧BR、CR及びDRのそれぞれにおける読み出し電圧の変化量は、読み出し電圧ER、FR及びGRのそれぞれにおける読み出し電圧の変化量よりも小さい。言い換えると、読み出し電圧が高いグループ(読み出し電圧ER、FR及びGR)の方が、読み出し電圧が低いグループ(読み出し電圧BR、CR及びDR)よりも読み出し電圧の変化量が大きくなる傾向がある。
そこで、第5実施形態に係るメモリシステム1は、データが書き込まれてからの時間経過に応じて、省略トラッキングリードを用いた短縮パトロール動作を適宜挿入する。省略トラッキングリードでは、読み出し電圧の変化量の比較的大きい読み出し電圧に対するトラッキングが実行され、読み出し電圧の変化量の比較的小さい読み出し電圧に対するトラッキングが省略される。
図30は、第5実施形態に係るメモリシステム1におけるパトロール動作の実施サイクルの一例を示している。
図30に示すように、第5実施形態に係るメモリシステム1では、1サイクル目(“1day”)のパトロール期間において、ブロックBLK0から順にパトロール動作が実施される。そして、1サイクル目と同様のパトロール動作が、2サイクル目(“2day”)、4サイクル目(“4day”)、及び7サイクル目(“7day”)のそれぞれのパトロール期間においても実施される。
一方で、第5実施形態に係るメモリシステム1では、例えば3サイクル目(“4day”)、5サイクル目(“5day”)、及び6サイクル目(“6day”)のそれぞれのパトロール期間において、ブロックBLK0から順に短縮パトロール動作が実行される(“短縮対象サイクル”)。つまり、書き込み直後から2日間は通常のパトロール動作が実施され、3日目以降に適宜短縮パトロール動作が挿入されている。
尚、第5実施形態に係るメモリシステム1は、短縮対象サイクルを挿入する頻度を適宜変更することが可能である。短縮対象サイクルは、少なくとも書き込み直後から所定の回数のパトロール期間が繰り返された後に挿入される。また、短縮対象サイクルは、連続で挿入されても良い。
[5−3]第5実施形態の効果
第5実施形態において図26を用いて説明したように、読み出し電圧の変化量は、読み出し電圧毎に異なっている。そして、読み出し電圧の変化量は、読み出し電圧が高いほど大きくなる傾向がある。このような現象は、書き込み直後におけるメモリセルトランジスタMTの閾値電圧の低下が、閾値電圧が高いほど大きくなることが原因で生じ得る。
第5実施形態において図26を用いて説明したように、読み出し電圧の変化量は、読み出し電圧毎に異なっている。そして、読み出し電圧の変化量は、読み出し電圧が高いほど大きくなる傾向がある。このような現象は、書き込み直後におけるメモリセルトランジスタMTの閾値電圧の低下が、閾値電圧が高いほど大きくなることが原因で生じ得る。
そこで、第5実施形態に係るメモリシステム1は、書き込み後の時間経過に応じて、精度の高い通常のパトロール動作と、高速な短縮パトロール動作とを使い分ける。
具体的には、読み出し電圧の変化量が大きい期間、すなわち書き込み直後を含む所定の期間において、第5実施形態に係るメモリシステム1は、精度の高い通常のパトロール動作を実行する。一方で、読み出し電圧の変化量が小さい期間、すなわち所定の時間が経過した後において、第5実施形態に係るメモリシステム1は、適宜短縮パトロール動作を実行する。
短縮パトロール動作よって得られる読み出し電圧の補正値の精度は、通常のパトロール動作よりも劣っている。しかしながら、第5実施形態に係るメモリシステム1は、適宜通常のパトロール動作も実行するため、短縮パトロール動作においてトラッキングが省略された読み出し電圧に対応する補正値の精度も担保することが出来、読み出しデータの信頼性を維持することが出来る。
その結果、第5実施形態に係るメモリシステム1は、記憶するデータの信頼性を担保しつつ、パトロール動作の処理量を低減することが出来る。従って、第5実施形態に係るメモリシステム1は、ホストリードとパトロール動作が衝突した際の待ち時間を短縮することが出来、レイテンシを改善することが出来る。
[6]第6実施形態
第6実施形態に係るメモリシステム1は、例えば第1実施形態に係るメモリシステム1と同じ構成を有する。そして、第6実施形態に係るメモリシステム1は、ブロックBLKにデータが書き込まれてからの実行データ保持時間に応じて、選択的にパトロール動作を実行する。以下に、第6実施形態に係るメモリシステム1について、第1〜第5実施形態と異なる点を説明する。
第6実施形態に係るメモリシステム1は、例えば第1実施形態に係るメモリシステム1と同じ構成を有する。そして、第6実施形態に係るメモリシステム1は、ブロックBLKにデータが書き込まれてからの実行データ保持時間に応じて、選択的にパトロール動作を実行する。以下に、第6実施形態に係るメモリシステム1について、第1〜第5実施形態と異なる点を説明する。
[6−1]パトロール動作について
第6実施形態に係るメモリシステム1では、パトロール動作において、温度センサ25が測定したメモリシステム1のシステム温度、或いはNAND型フラッシュメモリ10から取得された温度情報が使用される。例えば、メモリコントローラ20のCPU21は、温度センサ25によるメモリシステム1のシステム温度の測定結果に基づいて、パトロール管理パラメータを更新する。
第6実施形態に係るメモリシステム1では、パトロール動作において、温度センサ25が測定したメモリシステム1のシステム温度、或いはNAND型フラッシュメモリ10から取得された温度情報が使用される。例えば、メモリコントローラ20のCPU21は、温度センサ25によるメモリシステム1のシステム温度の測定結果に基づいて、パトロール管理パラメータを更新する。
パトロール管理パラメータは、例えばRAM22に保持される。第6実施形態において、パトロール管理パラメータには、ブロックBLK毎の実効データ保持時間に関する情報が記録される。
実効データ保持時間とは、ブロックBLKにデータが書き込まれてから様々な温度状況下においてメモリシステム1が加熱された時間が、特定の温度状況下においてメモリシステム1が加熱された時間に換算された時間のことを示している。
実行データ保持時間は、例えばブロックBLKにデータが書き込まれてからの経過時間がタイマ28によって計測され、所定の周期毎の温度センサ25の測定結果に基づいて算出される。
特定の温度状況下における時間に換算する際の係数は、例えば各温度状況下においてメモリシステム1が加熱された場合に、読み出したデータのエラー訂正が不可能になる日数に基づいて設定される。以下では、この特定の温度が40℃に設定されたものと仮定して説明する。尚、実効データ保持時間の基準として使用される温度は、40℃に限定されず、適宜変更され得る。
図31は、第6実施形態に係るメモリシステム1におけるメモリセルトランジスタMTの書き込み後のデータ保持特性の温度依存性とパトロール基準との一例を示している。図31に示されたグラフにおいて、縦軸はデータが保持されてからの実効時間@40℃(Day)、すなわち40℃を基準とした実効データ保持時間に対応し、横軸はメモリセルトランジスタMTに対する加熱時間(Day)に対応している。
図31に示すように、実効データ保持時間は、メモリシステム1のシステム温度が高くなる程長くなる。
具体的には、例えば40℃のシステム温度でメモリシステム1が1日加熱された場合の実効時間が、1日として計算される。この場合、25℃のシステム温度でメモリシステム1が1日加熱された場合の実効時間は1日よりも短くなり、70℃のシステム温度でメモリシステム1が1日加熱された場合の実効時間は1日よりも長くなる。
そして、ブロックBLKに記憶されたデータの信頼性を維持することが可能な実効時間は、例えば1ヶ月に設定される。実効時間が1ヶ月を超えたブロックBLKでは、エラー訂正が困難になる可能性が想定され、パトロール動作を実行することが好ましい。
そこで、第6実施形態に係るメモリシステム1は、パトロール管理パラメータに記録された実効データ保持時間に基づいて、選択的にパトロール動作を実行する。
図32は、第6実施形態に係るメモリシステム1のパトロール動作におけるパトロール管理パラメータの一例を示している。
図32に示すように、第6実施形態におけるパトロール管理パラメータには、ブロックBLK毎の実効データ保持時間が記録される。パトロール管理パラメータに記録される実効データ保持時間は、逐次更新されても良いし、所定の間隔で更新されても良い。
第6実施形態に係るメモリシステム1は、実効データ保持時間が所定の基準を超えたブロックBLKを検知すると、当該ブロックBLKに対するパトロール動作を実行する。
パトロール動作の基準が“実効時間が1ヶ月を超えたこと”に設定された場合、本例ではブロックBLK5及びBLK6のそれぞれが当該基準を超えた状態になっている。つまり、メモリシステム1は、実効データ保持時間が1ヶ月を超えた時点で、ブロックBLK5及びBLK6のそれぞれに対してパトロール動作を実行する。
本例では、パトロール動作が実行された後において、実効データ保持時間が引き続き更新されている。この場合には、パトロール動作が実行された後に、再びパトロール動作の基準として設定された時間が経過すると、再びパトロール動作が実行される。パトロール管理パラメータにはパトロール動作の実行回数が記録されても良く、この実行回数とパトロール動作の基準とに基づいて、パトロール動作が実行され得る。
尚、パトロール動作が実行された後に、当該ブロックBLKに対応する実効データ保持時間がリセットされても良い。このような場合においても、第6実施形態に係るメモリシステム1は、ブロックBLK毎の実効データ保持時間に基づいて、選択的にパトロール動作を実行することが出来る。
[6−2]第6実施形態の効果
第6実施形態において図31を用いて説明したように、メモリセルトランジスタMTのデータ保持特性は、システム温度が高くなる程悪化し、システム温度が低くなるほど改善する傾向がある。
第6実施形態において図31を用いて説明したように、メモリセルトランジスタMTのデータ保持特性は、システム温度が高くなる程悪化し、システム温度が低くなるほど改善する傾向がある。
例えば、メモリシステム1のシステム温度が70℃である場合にデータの信頼性を維持する限界が1日であるメモリシステム1においても、40℃である場合には例えば1ヶ月データの信頼性を維持することが可能になる。
このため、メモリシステム1のシステム温度が高い場合には、パトロール動作の頻度は高い方が好ましい。一方で、メモリシステム1のシステム温度が低い場合には、パトロール動作の頻度は低くても問題は生じにくい。
そこで、第6実施形態に係るメモリシステム1は、システム温度に応じた実効データ保持時間に基づいて、パトロール動作が実行される頻度を変更する。
具体的には、第6実施形態に係るメモリシステム1では、温度センサ25の測定結果を適宜参照して、測定結果が例えば特定の温度状況下における実効データ保持時間に換算される。そして、第6実施形態に係るメモリシステムは、実効データ保持時間に対して所定の基準を設けて、当該基準に基づいて適切な頻度でパトロール動作を実行する。
これにより、第6実施形態に係るメモリシステム1は、記憶するデータの信頼性を担保しつつ、パトロール動作の処理量を低減することが出来る。従って、第6実施形態に係るメモリシステム1は、ホストリードとパトロール動作が衝突する確率を下げることが出来、レイテンシを改善することが出来る。
[7]第7実施形態
第7実施形態に係るメモリシステム1は、例えば第1実施形態に係るメモリシステム1と同じ構成を有する。そして、第7実施形態に係るメモリシステム1は、有効なデータを保持するブロックBLKをパトロール対象に設定して、選択的にパトロール動作を実行する。以下に、第7実施形態に係るメモリシステム1について、第1〜第6実施形態と異なる点を説明する。
第7実施形態に係るメモリシステム1は、例えば第1実施形態に係るメモリシステム1と同じ構成を有する。そして、第7実施形態に係るメモリシステム1は、有効なデータを保持するブロックBLKをパトロール対象に設定して、選択的にパトロール動作を実行する。以下に、第7実施形態に係るメモリシステム1について、第1〜第6実施形態と異なる点を説明する。
[7−1]パトロール動作について
図33は、第7実施形態に係るメモリシステム1のパトロール動作におけるパトロール管理パラメータの一例を示している。
図33は、第7実施形態に係るメモリシステム1のパトロール動作におけるパトロール管理パラメータの一例を示している。
図33に示すように、第7実施形態におけるパトロール管理パラメータには、例えばブロックBLK毎に有効データ領域フラグが記録される。有効データ領域フラグは、当該ブロックBLKに対して有効なデータが書き込まれているか否かを示している。
例えば、有効データ領域フラグが“TRUE”である場合、当該ブロックBLKには有効なデータが書き込まれていることを示している。一方で、有効データ領域フラグが“FALSE”である場合、当該ブロックBLKには無効なデータのみが書き込まれている、若しくは当該ブロックBLKが消去状態であることを示している。
そして、第7実施形態に係るメモリシステム1は、有効データ領域フラグに基づいてパトロール動作を実行する。
図34は、第7実施形態に係るメモリシステム1におけるパトロール動作の実施サイクルの一例を示している。本例では、ブロックBLK2、BLK3及びBLK4に対応する有効データ領域フラグが“TRUE”であり、その他のブロックBLKに対応する有効データ領域フラグが“FALSE”であるものと仮定する。
図34に示すように、第7実施形態に係るメモリシステム1では、各パトロール期間において、書き込み済みブロックBLKであるブロックBLK2、BLK3及びBLK4に対するパトロール動作が実行される。一方で、各パトロール期間において、有効データ領域フラグが“FALSE”であるその他のブロックBLKに対しては、パトロール動作が実行されない。
以上のように、第7実施形態に係るメモリシステム1は、有効データ領域フラグに基づいて、有効なデータが書き込まれているブロックBLKに対して選択的にパトロール動作が実行することが出来る。
尚、以上で説明した動作は、“メモリコントローラ20が、システム管理領域(例えばRAM22)から論物変換テーブルの読み出しを行い、有効なデータを保持するブロックに対して前記パトロール動作を実行し、上書きによって無効になったデータや消去済みのブロックに対するパトロール動作を省略する”とも言い換えることが可能である。
[7−2]第7実施形態の効果
メモリシステム1は、有効なデータを含むブロックBLKと、無効なデータのみを含むブロックBLKとが混在している。無効なデータのみを含むブロックBLKは、例えば書き込みが実行されていない消去状態のブロックBLKや、ガベージコレクション等におけるコピー元のブロックBLK等に対応している。
メモリシステム1は、有効なデータを含むブロックBLKと、無効なデータのみを含むブロックBLKとが混在している。無効なデータのみを含むブロックBLKは、例えば書き込みが実行されていない消去状態のブロックBLKや、ガベージコレクション等におけるコピー元のブロックBLK等に対応している。
有効なデータを含むブロックBLKには、読み出し動作が実行される。一方で、無効なデータのみを含むブロックBLKには、読み出し動作が実行されない。このため、無効なデータのみを含むブロックBLKに対するパトロール動作は、省略されても問題が生じ得ない。
そこで、第7実施形態に係るメモリシステム1は、有効なデータを含むブロックBLKに対して選択的にパトロール動作を実行し、無効なデータのみを含むブロックBLKに対するパトロール動作を省略する。
これにより、第7実施形態に係るメモリシステム1は、パトロール動作の処理量を低減することが出来る。従って、第7実施形態に係るメモリシステム1は、ホストリードとパトロール動作が衝突する確率を下げることが出来、レイテンシを改善することが出来る。
[8]その他の変形例等
実施形態のメモリシステム<例えば図1、1>は、半導体メモリとメモリコントローラとを含む。半導体メモリ<例えば図3、10>は、直列に接続された複数のメモリセルと、複数のメモリセルにそれぞれ接続された複数のワード線とを含む。メモリコントローラ<例えば図1、20>は、第1のパトロール期間と、第1のパトロール期間に続く第2のパトロール期間とのそれぞれにおいて、半導体メモリの読み出し動作を含むパトロール動作を実行する。複数のワード線は、ワード線のアドレスに基づいて第1グループ及び第2グループのいずれかに分類される。メモリコントローラは、第1のパトロール期間において、複数のワード線をそれぞれ選択した複数のパトロール動作を実行する。メモリコントローラは、第2のパトロール期間<例えば図25、間引き対象サイクル>において、第1グループに含まれたワード線を選択したパトロール動作を実行し、第2グループに含まれたワード線を選択したパトロール動作を省略する。これにより、実施形態のメモリシステムは、データの信頼性を担保し、且つレイテンシを改善することが出来る。
実施形態のメモリシステム<例えば図1、1>は、半導体メモリとメモリコントローラとを含む。半導体メモリ<例えば図3、10>は、直列に接続された複数のメモリセルと、複数のメモリセルにそれぞれ接続された複数のワード線とを含む。メモリコントローラ<例えば図1、20>は、第1のパトロール期間と、第1のパトロール期間に続く第2のパトロール期間とのそれぞれにおいて、半導体メモリの読み出し動作を含むパトロール動作を実行する。複数のワード線は、ワード線のアドレスに基づいて第1グループ及び第2グループのいずれかに分類される。メモリコントローラは、第1のパトロール期間において、複数のワード線をそれぞれ選択した複数のパトロール動作を実行する。メモリコントローラは、第2のパトロール期間<例えば図25、間引き対象サイクル>において、第1グループに含まれたワード線を選択したパトロール動作を実行し、第2グループに含まれたワード線を選択したパトロール動作を省略する。これにより、実施形態のメモリシステムは、データの信頼性を担保し、且つレイテンシを改善することが出来る。
上記実施形態は、適宜組み合わせることが可能である。例えば、第1又は第2実施形態に対して、第3〜第7実施形態のいずれかが適用されても良い。また、第3〜第7実施形態は、互いに組み合わせることが可能である。
上記実施形態において、メモリセルトランジスタMTのデータ割り付けは適宜変更され得る。例えば、メモリセルトランジスタMTに3ビットデータが記憶される場合に、2−3−2コード以外のデータの割り付けが適用されても良い。
上記実施形態では、1つのメモリセルトランジスタMTに3ビットデータが記憶される場合について例示したが、1つのメモリセルトランジスタMTには1ビット、2ビット、又は4ビット以上のデータが記憶されても良い。このような場合においても、メモリシステム1は、上記実施形態で説明した動作を実行することが出来る。
上記実施形態で説明したトラッキングリード、シフトリード、省略トラッキングリードのそれぞれにおいて、選択ワード線WLselに印加される電圧は、例えばロウデコーダモジュール18に電圧を転送する信号線CGの電圧と同様の電圧となる。
つまり、各種配線に印加される電圧や電圧が印加されている期間は、対応する信号線CGの電圧を調べることにより大まかに知ることが出来る。信号線CGの電圧からワード線WLの電圧を見積もる場合には、ロウデコーダRDに含まれたトランジスタTRによる電圧降下を考慮しても良い。この場合、ワード線WLの電圧は、対応する信号線CGに印加されている電圧よりもトランジスタTRの電圧降下の分だけ低くなる。
上記実施形態において、説明に使用されたコマンド“xxh”、“yyh”、“zzh”及び“zxh”のそれぞれは、任意のコマンドに置き換えることが可能である。
上記実施形態では、第1〜第3ページに対応する動作を指示するコマンドとして、それぞれコマンド“01h”〜“03h”を使用した場合を例に説明したが、これに限定されない。例えば、コマンド“01h”〜“03h”がその他のコマンドに置き換えられても良いし、アドレス情報ADDにページの情報を含ませることによって、これらのコマンドが省略されても良い。
上記実施形態では、メモリセルアレイ11に設けられたメモリセルトランジスタMTが三次元に積層された構造である場合を例に説明したが、これに限定されない。例えば、メモリセルアレイ11の構成は、メモリセルトランジスタMTが二次元に配置された平面NAND型フラッシュメモリであっても良い。このような場合においても、上記実施形態は実現することが可能であり、同様の効果を得ることが出来る。
上記実施形態におけるメモリセルアレイ11は、その他の構成であっても良い。その他のメモリセルアレイ11の構成については、例えば“三次元積層不揮発性半導体メモリ”という2009年3月19日に出願された米国特許出願12/407,403号、“三次元積層不揮発性半導体メモリ”という2009年3月18日に出願された米国特許出願12/406,524号、“不揮発性半導体記憶装置及びその製造方法”という2010年3月25日に出願された米国特許出願12/679,991号、“半導体メモリ及びその製造方法”という2009年3月23日に出願された米国特許出願12/532,030号にそれぞれ記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
本明細書において“接続”とは、電気的に接続されている事を示し、例えば間に別の素子を介することを除外しない。また、本明細書において“オフ状態”とは、対応するトランジスタのゲートに当該トランジスタの閾値電圧未満の電圧が印加されていることを示し、例えばトランジスタのリーク電流のような微少な電流が流れることを除外しない。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…メモリシステム、2…ホスト機器、10…NAND型フラッシュメモリ、11…メモリセルアレイ、12…入出力回路、13…レジスタ部、13A…ステータスレジスタ、13B…アドレスレジスタ、13C…コマンドレジスタ、14…ロジックコントローラ、15…シーケンサ、16…レディ/ビジー制御回路、17…電圧生成回路、18…ロウデコーダモジュール、19…センスアンプモジュール、20…メモリコントローラ、21…CPU、22…RAM、23…ホストインターフェイス回路、24…ECC回路、25…温度センサ、26…NANDインターフェイス回路、27…DRAMインターフェイス回路、28…タイマ、PKG…NANDパッケージ、BNK…バンク、BLK…ブロック、SU…ストリングユニット、CC…チャネル制御回路、RD…ロウデコーダ、SAU…センスアンプユニット、MT…メモリセルトランジスタ、ST1,ST2…選択トランジスタ、TR…トランジスタ、BL0…ビット線、WL…ワード線、SGD,SGS…選択ゲート線
Claims (18)
- 直列に接続された複数のメモリセルと、前記複数のメモリセルにそれぞれ接続された複数のワード線とを含む半導体メモリと、
第1のパトロール期間において前記半導体メモリの読み出し動作を含むパトロール動作を実行し、前記第1のパトロール期間に続く第2のパトロール期間において前記パトロール動作を実行するメモリコントローラと、
を備え、
前記複数のワード線のそれぞれは、ワード線のアドレスに基づいて第1グループ及び第2グループのいずれかに分類され、
前記メモリコントローラは、
前記第1のパトロール期間において、前記複数のワード線をそれぞれ選択した複数のパトロール動作を実行し、
前記第2のパトロール期間において、前記第1グループに含まれたワード線を選択したパトロール動作を実行し、前記第2グループに含まれたワード線を選択したパトロール動作を省略する、メモリシステム。 - 前記半導体メモリは、絶縁層を介して積層され、前記複数のワード線としてそれぞれ使用される複数の第1導電体層と、前記複数の第1導電体層を貫通し、第1柱状部と、前記第1柱状部の上方の第2柱状部とを含むピラーとをさらに含む、
請求項1に記載のメモリシステム。 - 前記第1柱状部が貫通する前記複数の第1導電体層のうち、前記第2柱状部に最も近い第1導電体層は第1ワード線として使用され、
前記第2柱状部が貫通する前記複数の第1導電体層のうち、前記第1柱状部に最も近い第1導電体層は第2ワード線として使用され、
前記第1ワード線と前記第2ワード線とは、前記第1グループに含まれる、
請求項2に記載のメモリシステム。 - 前記第1柱状部が貫通する前記複数の第1導電体層のうち、前記第2柱状部から最も離れた第1導電体層は第3ワード線として使用され、
前記第2柱状部が貫通する前記複数の第1導電体層のうち、前記第1柱状部から最も離れた第1導電体層は第4ワード線として使用され、
前記第3ワード線と前記第4ワード線とは、前記第1グループに含まれる、
請求項3に記載のメモリシステム。 - 前記第1柱状部が貫通する前記複数の第1導電体層のうち、前記第1ワード線として使用される第1導電体層と前記第3ワード線として使用される第1導電体層との間に配置された第1導電体層のうち1つの第1導電体層は、第5ワード線として使用され、
前記第2柱状部が貫通する前記複数の第1導電体層のうち、前記第2ワード線として使用される第1導電体層と前記第4ワード線として使用される第1導電体層との間に配置された第1導電体層のうち1つの第1導電体層は、第6ワード線として使用され、
前記第5ワード線と前記第6ワード線とは、前記第2グループに含まれる、
請求項4に記載のメモリシステム。 - 前記ピラーは、前記第1柱状部及び前記第2柱状部間の接合部をさらに含み、
前記第1柱状部と前記接合部との境界を含む層において、前記接合部の外径は前記第1柱状部の外径よりも大きく、
前記第2柱状部と前記接合部との境界を含む層において、前記接合部の外径は前記第2柱状部の外径よりも大きい、
請求項2乃至請求項5のいずれか一項に記載のメモリシステム。 - メモリセルと、前記メモリセルに接続されたワード線とを含む半導体メモリと、
前記半導体メモリの読み出し動作を含むパトロール動作を実行するメモリコントローラと、
を備え、
前記メモリコントローラは、前記ワード線を選択したパトロール動作を実行する頻度を、前記メモリセルにデータを書き込んだ後の経過時間に基づいて変化させる、
メモリシステム。 - 前記メモリコントローラは、前記メモリセルにデータを書き込まれた直後を含む第1期間と、前記第1期間と同じ長さ且つ前記第1期間の後の第2期間とのそれぞれにおいて、前記ワード線を選択した前記パトロール動作を実行し、
前記メモリコントローラが前記ワード線を選択した前記パトロール動作を実行する頻度は、前記第1期間よりも前記第2期間の方が高い、
請求項7に記載のメモリシステム。 - 前記メモリコントローラは、外部のホスト機器の命令とは独立して前記パトロール動作を実行する、
請求項1乃至請求項8のいずれか一項に記載のメモリシステム。 - 前記パトロール動作において前記メモリコントローラは、読み出し結果に基づいて、前記読み出し結果に対応するワード線に不良が発生しているか否かを判別する、
請求項1乃至請求項9のいずれか一項に記載のメモリシステム。 - 前記パトロール動作において前記半導体メモリは、複数回の読み出し動作の結果に基づいて、最適な読み出し電圧を探索する、
請求項1乃至請求項10のいずれか一項に記載のメモリシステム。 - 各々がメモリセルと前記メモリセルに接続されたワード線とを含み、共通のバスに接続された複数の半導体メモリと、
前記半導体メモリにおける読み出し電圧の補正値作成と前記ワード線の不良検知とを含むパトロール動作を、前記複数の半導体メモリに対して並列で実行することが可能なメモリコントローラと、
を備え、
前記補正値作成では、前記ワード線に複数種類の読み出し電圧が印加された後、前記複数種類の読み出し電圧による読み出し結果に基づいて読み出し電圧の補正値が見積もられ、
前記不良検知では、前記補正値が適用された読み出し動作の結果に基づいて、前記メモリコントローラが前記ワード線の不良の有無を判定し、
前記メモリコントローラは、前記不良検知を、前記補正値作成に続いて実行された読み出し動作の結果に基づいて実行する、或いは前記補正値作成と独立して実行された読み出し動作の結果に基づいて実行する、メモリシステム。 - 前記メモリコントローラは、前記補正値作成の後、前記半導体メモリから前記補正値を前記メモリコントローラに出力させ、前記出力された補正値を用いて、前記不良検知に対応する読み出し動作を前記半導体メモリに指示する、
請求項12に記載のメモリシステム。 - 前記メモリコントローラは、前記補正値作成の後、前記半導体メモリから前記補正値を前記メモリコントローラに出力させ、続けて前記補正値作成と連続で実行された前記読み出し動作の結果を前記メモリコントローラに出力させ、前記出力された読み出し結果を用いて前記不良検知を実行する、
請求項12に記載のメモリシステム。 - 前記メモリセルは、第1ビットを含む複数ビットのデータを記憶することが可能であり、前記第1ビットのデータは、第1読み出し電圧と前記第1読み出し電圧よりも高い第2読み出し電圧とを用いた読み出し動作により確定し、
前記メモリコントローラは、繰り返されるパトロール期間のそれぞれにおいて前記パトロール動作を実行し、
前記繰り返されるパトロール期間は、第1サイクル及び第2サイクルのいずれかに分類され、
前記メモリコントローラは、前記第1サイクル及び前記第2サイクルのパトロール期間のそれぞれにおいて、前記第1ビットを選択した前記補正値作成を前記半導体メモリに実行させ、
前記第1サイクルの前記補正値作成において前記ワード線には、前記第1読み出し電圧に対応する複数種類の読み出し電圧と、前記第2読み出し電圧に対応する複数種類の読み出し電圧とが順に印加され、
前記第2サイクルの前記補正値作成において前記ワード線には、前記第2読み出し電圧に対応する前記複数種類の読み出し電圧が印加され、前記第1読み出し電圧に対応する前記複数種類の読み出し電圧の印加が省略される、
請求項12乃至請求項14のいずれか一項に記載のメモリシステム。 - 前記メモリコントローラは、前記メモリセルにデータを書き込まれた直後を含む第1期間と、前記第1期間と同じ長さ且つ前記第1期間の後の第2期間とのそれぞれにおいて、前記ワード線を選択したパトロール動作を実行し、
前記第1期間において前記第2サイクルのパトロール期間が含まれる数は、前記第2期間において前記第2サイクルのパトロール期間が含まれる数よりも少ない、
請求項15に記載のメモリシステム。 - 温度センサをさらに備え、
前記メモリコントローラが前記ワード線を選択したパトロール動作を実行する頻度は、前記温度センサの測定温度が第1温度である時よりも、前記第1温度よりも高い第2温度である時の方が高い、
請求項12又は請求項16のいずれか一項に記載のメモリシステム。 - それぞれが複数の前記メモリセルを含む複数のブロックをさらに備え、
前記メモリコントローラは、システム管理領域から論物変換テーブルの読み出しを行い、有効なデータを保持するブロックに対して前記パトロール動作を実行し、上書きによって無効になったデータや消去済みのブロックに対するパトロール動作を省略する、
請求項12乃至請求項17のいずれか一項に記載のメモリシステム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018172913A JP2020047322A (ja) | 2018-09-14 | 2018-09-14 | メモリシステム |
US16/294,185 US11152075B2 (en) | 2018-09-14 | 2019-03-06 | Memory system |
US17/476,229 US11756642B2 (en) | 2018-09-14 | 2021-09-15 | Memory system |
US18/354,300 US20230360714A1 (en) | 2018-09-14 | 2023-07-18 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018172913A JP2020047322A (ja) | 2018-09-14 | 2018-09-14 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020047322A true JP2020047322A (ja) | 2020-03-26 |
Family
ID=69772993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018172913A Pending JP2020047322A (ja) | 2018-09-14 | 2018-09-14 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (3) | US11152075B2 (ja) |
JP (1) | JP2020047322A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022051340A (ja) * | 2020-09-18 | 2022-03-31 | キオクシア株式会社 | メモリシステム |
JP7512136B2 (ja) | 2020-09-10 | 2024-07-08 | キオクシア株式会社 | メモリシステム及び情報処理システム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11556257B2 (en) * | 2020-08-14 | 2023-01-17 | Micron Technology, Inc. | Selectable wear life indicator based on data retention |
KR20220037618A (ko) | 2020-09-18 | 2022-03-25 | 삼성전자주식회사 | 시간 분할 샘플링 페이지 버퍼를 이용하여 읽기 동작을 수행하는 스토리지 장치 |
KR20230015043A (ko) | 2021-07-22 | 2023-01-31 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 워드라인 결함 검출 방법 |
US11862226B2 (en) * | 2021-08-31 | 2024-01-02 | Micron Technology, Inc. | Systems and methods for pre-read scan of memory devices |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7577030B2 (en) * | 2007-01-17 | 2009-08-18 | Kabushiki Kaisha Toshiba | Semiconductor storage device |
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 | 三次元積層不揮発性半導体メモリ |
US8930778B2 (en) | 2012-11-15 | 2015-01-06 | Seagate Technology Llc | Read disturb effect determination |
US9685242B2 (en) * | 2014-03-11 | 2017-06-20 | Kabushiki Kaisha Toshiba | Memory system |
US9236139B1 (en) * | 2015-02-11 | 2016-01-12 | Sandisk Technologies Inc. | Reduced current program verify in non-volatile memory |
CN106653087A (zh) | 2015-10-28 | 2017-05-10 | 光宝电子(广州)有限公司 | 固态存储装置及其相关读取控制方法 |
JP2017224370A (ja) | 2016-06-15 | 2017-12-21 | 東芝メモリ株式会社 | 半導体記憶装置及びメモリシステム |
US10283215B2 (en) | 2016-07-28 | 2019-05-07 | Ip Gem Group, Llc | Nonvolatile memory system with background reference positioning and local reference positioning |
KR102687216B1 (ko) * | 2016-10-12 | 2024-07-22 | 삼성전자주식회사 | 비휘발성 메모리 장치의 리클레임 제어 방법, 상기 비휘발성 메모리 장치를 포함하는 저장 장치의 동작 방법 및 저장 장치 |
KR102389432B1 (ko) * | 2017-11-07 | 2022-04-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
US10698610B2 (en) * | 2018-02-23 | 2020-06-30 | Western Digital Technologies, Inc. | Storage system and method for performing high-speed read and write operations |
JP2020047337A (ja) * | 2018-09-18 | 2020-03-26 | キオクシア株式会社 | メモリシステム |
-
2018
- 2018-09-14 JP JP2018172913A patent/JP2020047322A/ja active Pending
-
2019
- 2019-03-06 US US16/294,185 patent/US11152075B2/en active Active
-
2021
- 2021-09-15 US US17/476,229 patent/US11756642B2/en active Active
-
2023
- 2023-07-18 US US18/354,300 patent/US20230360714A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7512136B2 (ja) | 2020-09-10 | 2024-07-08 | キオクシア株式会社 | メモリシステム及び情報処理システム |
JP2022051340A (ja) * | 2020-09-18 | 2022-03-31 | キオクシア株式会社 | メモリシステム |
Also Published As
Publication number | Publication date |
---|---|
US20230360714A1 (en) | 2023-11-09 |
US20200090779A1 (en) | 2020-03-19 |
US11756642B2 (en) | 2023-09-12 |
US11152075B2 (en) | 2021-10-19 |
US20220005537A1 (en) | 2022-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11756642B2 (en) | Memory system | |
US10573394B2 (en) | Memory system | |
CN110299169B (zh) | 半导体存储器及存储器系统 | |
US9576665B2 (en) | Semiconductor memory device and memory system | |
TWI604458B (zh) | Controller and memory system | |
US20150003156A1 (en) | Nand flash word line management | |
US20190074283A1 (en) | Memory system | |
CN106340324B (zh) | 半导体存储装置、其不良列救济方法及冗余信息设定方法 | |
JP6545631B2 (ja) | 不揮発性半導体記憶装置 | |
US10803954B2 (en) | Memory system | |
JP2019200826A (ja) | 半導体記憶装置 | |
JP2019040470A (ja) | メモリシステム | |
CN110660436B (zh) | 半导体存储装置及存储器控制器 | |
CN110675908A (zh) | 半导体存储装置 | |
US10622079B2 (en) | Memory device and memory system | |
JP2020027674A (ja) | 半導体メモリ | |
JP2019169205A (ja) | メモリシステム | |
JP2021131919A (ja) | 半導体記憶装置及びその読み出し方法 | |
JP2021039810A (ja) | メモリシステム | |
US11551756B2 (en) | Memory device | |
JP2017152066A (ja) | 不揮発性半導体記憶装置及びメモリシステム | |
JP2021101401A (ja) | 半導体記憶装置 |